中\n _this.$set(_this.mescroll, 'downLoadType', _this.downLoadType);\n }, delay);\n };\n // 初始化wxs的数据\n this.wxsCall({\n type: 'setWxsProp'\n });\n }\n};\nvar _default = WxsMixin;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy9tZXNjcm9sbC11bmkvY29tcG9uZW50cy9tZXNjcm9sbC11bmkvd3hzL21peGlucy5qcyJdLCJuYW1lcyI6WyJXeHNNaXhpbiIsImRhdGEiLCJ3eHNQcm9wIiwib3B0RG93biIsInNjcm9sbFRvcCIsImJvZHlIZWlnaHQiLCJpc0Rvd25TY3JvbGxpbmciLCJpc1VwU2Nyb2xsaW5nIiwiaXNTY3JvbGxCb2R5IiwiaXNVcEJvdGgiLCJ0IiwiY2FsbFByb3AiLCJjYWxsVHlwZSIsIm1ldGhvZHMiLCJ3eHNDYWxsIiwibXNnIiwidHlwZSIsIm1lc2Nyb2xsIiwiZ2V0U2Nyb2xsVG9wIiwiZ2V0Qm9keUhlaWdodCIsIm9wdFVwIiwiaXNCb3RoIiwiRGF0ZSIsIm5vdyIsImRvd25Mb2FkVHlwZSIsIiRzZXQiLCJ0cmlnZ2VyRG93blNjcm9sbCIsImVuZERvd25TY3JvbGwiLCJ0cmlnZ2VyVXBTY3JvbGwiLCJtb3VudGVkIiwiYWZ0ZXJMb2FkaW5nIiwiYWZ0ZXJFbmREb3duU2Nyb2xsIiwiZGVsYXkiLCJiZWZvcmVFbmREZWxheSIsInNldFRpbWVvdXQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0EsSUFBTUEsUUFBUSxHQUFHO0VBQ2hCQyxJQUFJLGtCQUFHO0lBQ04sT0FBTztNQUNOO01BQ0FDLE9BQU8sRUFBRTtRQUNSQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBQUU7UUFDWkMsU0FBUyxFQUFDLENBQUM7UUFBRTtRQUNiQyxVQUFVLEVBQUMsQ0FBQztRQUFFO1FBQ2RDLGVBQWUsRUFBQyxLQUFLO1FBQUU7UUFDdkJDLGFBQWEsRUFBQyxLQUFLO1FBQUU7UUFDckJDLFlBQVksRUFBQyxJQUFJO1FBQUU7UUFDbkJDLFFBQVEsRUFBQyxJQUFJO1FBQUU7UUFDZkMsQ0FBQyxFQUFFLENBQUMsQ0FBQztNQUNOLENBQUM7O01BRUQ7TUFDQUMsUUFBUSxFQUFFO1FBQ1RDLFFBQVEsRUFBRSxFQUFFO1FBQUU7UUFDZEYsQ0FB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QUksQ0FBQ1IsUUFBUSxFQUFFLGNBQWMsRUFBRSxLQUFJLENBQUNPLFlBQVksQ0FBQztNQUM1RCxDQUFDLEVBQUVRLEtBQUssQ0FBQztJQUNWLENBQUM7SUFDRDtJQUNBLElBQUksQ0FBQ2xCLE9BQU8sQ0FBQztNQUFDRSxJQUFJLEVBQUU7SUFBWSxDQUFDLENBQUM7RUFFbkM7QUFDRCxDQUFDO0FBQUEsZUFFY2hCLFFBQVE7QUFBQSIsImZpbGUiOiI3MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIOWumuS5ieWcqHd4cyAo5ZCrcmVuZGVyanMpIOmAu+i+keWxgueahOaVsOaNruWSjOaWueazlSwg5LiO6KeG5Zu+5bGC55u45LqS6YCa5L+hXHJcbmNvbnN0IFd4c01peGluID0ge1xyXG5cdGRhdGEoKSB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHQvLyDkvKDlhaV3eHPop4blm77lsYLnmoTmlbDmja4gKOWTjeW6lOW8jylcclxuXHRcdFx0d3hzUHJvcDoge1xyXG5cdFx0XHRcdG9wdERvd246e30sIC8vIOS4i+aLieWIt+aWsOeahOmFjee9rlxyXG5cdFx0XHRcdHNjcm9sbFRvcDowLCAvLyDmu5rliqjmnaHnmoTot53nprtcclxuXHRcdFx0XHRib2R5SGVpZ2h0OjAsIC8vIGJvZHnnmoTpq5jluqZcclxuXHRcdFx0XHRpc0Rvd25TY3JvbGxpbmc6ZmFsc2UsIC8vIOaYr+WQpuato+WcqOS4i+aLieWIt+aWsOS4rVxyXG5cdFx0XHRcdGlzVXBTY3JvbGxpbmc6ZmFsc2UsIC8vIOaYr+WQpuato+WcqOS4iuaLieWKoOi9veS4rVxyXG5cdFx0XHRcdGlzU2Nyb2xsQm9keTp0cnVlLCAvLyDmmK/lkKbkuLptZXNjcm9sbC1ib2R55rua5YqoXHJcblx0XHRcdFx0aXNVcEJvdGg6dHJ1ZSwgLy8g5LiK5ouJ5Yqg6L295pe2LOaYr+WQpuWQjOaXtuWPr+S7peS4i+aLieWIt+aWsFxyXG5cdFx0XHRcdHQ6IDAgLy8g5pWw5o2u5pu05paw55qE5qCH6K6wICjlj6rmnInmlbDmja7mm7TmlrDkuoYs5omN5Lya6Kem5Y+Rd3hz55qET2JzZXJ2ZXIpXHJcblx0XHRcdH0sXHJcblx0XHRcdFxyXG5cdFx0XHQvLyDmoIforrDosIPnlKh3eHPop4blm77lsYLnmoTmlrnms5VcclxuXHRcdFx0Y2FsbFByb3A6IHtcclxuXHRcdFx0XHRjYWxsVHlwZTogJycsIC8vIOaWueazleWQjVxyXG5cdFx0XHRcdHQ6IDAgLy8g5pWw5o2u5pu05paw55qE5qCH6K6wICjlj6rmnInmlbDmja7mm7TmlrDkuoYs5omN5Lya6Kem5Y+Rd3hz55qET2JzZXJ2ZXIpXHJcblx0XHRcdH0sXHJcblx0XHRcdFxyXG5cdFx0XHQvLyDkuI3nlKh3eHPnmoTlubPlj7Dkvb/nlKjmraTlpITnmoR3eHNCaXrlr7nosaEs5oq55bmzd3hz55qE5YaZ5rOVICjlvq7kv6HlsI/nqIvluo/lkoxBUFDkvb/nlKjnmoR3eHNCaXrlr7nosaHmmK8uL3d4cy93eHMud3hzKVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cdFx0XHRcclxuXHRcdFx0Ly8g5LiN55SocmVuZGVyanPnmoTlubPlj7Dkvb/nlKjmraTlpITnmoRyZW5kZXJCaXrlr7nosaEs5oq55bmzcmVuZGVyanPnmoTlhpnms5UgKGFwcCDlkowgaDUg5L2/55So55qEcmVuZGVyQml65a+56LGh5pivLi93eHMvcmVuZGVyanMuanMpXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHRcdH1cclxuXHR9LFxyXG5cdG1ldGhvZHM6IHtcclxuXHRcdC8vIHd4c+inhuWbvuWxguiwg+eUqOmAu+i+keWxgueahOWbnuiwg1xyXG5cdFx0d3hzQ2FsbChtc2cpe1xyXG5cdFx0XHRpZihtc2cudHlwZSA9PT0gJ3NldFd4c1Byb3AnKXtcclxuXHRcdFx0XHQvLyDmm7TmlrB3eHNQcm9w5pWw5o2uICjlgLzmlLnlj5jmiY3op6blj5Hmm7TmlrApXHJcblx0XHRcdFx0dGhpcy53eHNQcm9wID0ge1xyXG5cdFx0XHRcdFx0b3B0RG93bjogdGhpcy5tZXNjcm9sbC5vcHREb3duLFxyXG5cdFx0XHRcdFx0c2Nyb2xsVG9wOiB0aGlzLm1lc2Nyb2xsLmdldFNjcm9sbFRvcCgpLFxyXG5cdFx0XHRcdFx0Ym9keUhlaWdodDogdGhpcy5tZXNjcm9sbC5nZXRCb2R5SGVpZ2h0KCksXHJcblx0XHRcdFx0XHRpc0Rvd25TY3JvbGxpbmc6IHRoaXMubWVzY3JvbGwuaXNEb3duU2Nyb2xsaW5nLFxyXG5cdFx0XHRcdFx0aXNVcFNjcm9sbGluZzogdGhpcy5tZXNjcm9sbC5pc1VwU2Nyb2xsaW5nLFxyXG5cdFx0XHRcdFx0aXNVcEJvdGg6IHRoaXMubWVzY3JvbGwub3B0VXAuaXNCb3RoLFxyXG5cdFx0XHRcdFx0aXNTY3JvbGxCb2R5OnRoaXMubWVzY3JvbGwuaXNTY3JvbGxCb2R5LFxyXG5cdFx0XHRcdFx0dDogRGF0ZS5ub3coKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fWVsc2UgaWYobXNnLnR5cGUgPT09ICdzZXRMb2FkVHlwZScpe1xyXG5cdFx0XHRcdC8vIOiuvue9rmluT2Zmc2V0LG91dE9mZnNldOeahOeKtuaAgVxyXG5cdFx0XHRcdHRoaXMuZG93bkxvYWRUeXBlID0gbXNnLmRvd25Mb2FkVHlwZVxyXG5cdFx0XHRcdC8vIOeKtuaAgeaMgui9veWIsG1lc2Nyb2xs5a+56LGhLCDku6Xkvr/lnKjlhbbku5bnu4Tku7bkuK3kvb/nlKgsIOavlOWmgjxtZS12aWRlbz7kuK1cclxuXHRcdFx0XHR0aGlzLiRzZXQodGhpcy5tZXNjcm9sbCwgJ2Rvd25Mb2FkVHlwZScsIHRoaXMuZG93bkxvYWRUeXBlKVxyXG5cdFx0XHRcdC8vIOmHjee9ruaYr+WQpuWKoOi9veaIkOWKn+eahOeKtuaAgVxyXG5cdFx0XHRcdHRoaXMuJHNldCh0aGlzLm1lc2Nyb2xsLCAnaXNEb3duRW5kU3VjY2VzcycsIG51bGwpXHJcblx0XHRcdH1lbHNlIGlmKG1zZy50eXBlID09PSAndHJpZ2dlckRvd25TY3JvbGwnKXtcclxuXHRcdFx0XHQvLyDkuLvliqjop6blj5HkuIvmi4nliLfmlrBcclxuXHRcdFx0XHR0aGlzLm1lc2Nyb2xsLnRyaWdnZXJEb3duU2Nyb2xsKCk7XHJcblx0XHRcdH1lbHNlIGlmKG1zZy50eXBlID09PSAnZW5kRG93blNjcm9sbCcpe1xyXG5cdFx0XHRcdC8vIOe7k+adn+S4i+aLieWIt+aWsFxyXG5cdFx0XHRcdHRoaXMubWVzY3JvbGwuZW5kRG93blNjcm9sbCgpO1xyXG5cdFx0XHR9ZWxzZSBpZihtc2cudHlwZSA9PT0gJ3RyaWdnZXJVcFNjcm9sbCcpe1xyXG5cdFx0XHRcdC8vIOS4u+WKqOinpuWPkeS4iuaLieWKoOi9vVxyXG5cdFx0XHRcdHRoaXMubWVzY3JvbGwudHJpZ2dlclVwU2Nyb2xsKHRydWUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSxcclxuXHRtb3VudGVkKCkge1xyXG5cclxuXHRcdC8vIOmFjee9ruS4u+WKqOinpuWPkXd4c+aYvuekuuWKoOi9vei/m+W6pueahOWbnuiwg1xyXG5cdFx0dGhpcy5tZXNjcm9sbC5vcHREb3duLmFmdGVyTG9hZGluZyA9ICgpPT57XHJcblx0XHRcdHRoaXMuY2FsbFByb3AgPSB7Y2FsbFR5cGU6IFwic2hvd0xvYWRpbmdcIiwgdDogRGF0ZS5ub3coKX0gLy8g6Kem5Y+Rd3hz55qE5pa55rOVICjlgLzmlLnlj5jmiY3op6blj5Hmm7TmlrApXHJcblx0XHR9XHJcblx0XHQvLyDphY3nva7kuLvliqjop6blj5F3eHPpmpDol4/liqDovb3ov5vluqbnmoTlm57osINcclxuXHRcdHRoaXMubWVzY3JvbGwub3B0RG93bi5hZnRlckVuZERvd25TY3JvbGwgPSAoKT0+e1xyXG5cdFx0XHR0aGlzLmNhbGxQcm9wID0ge2NhbGxUeXBlOiBcImVuZERvd25TY3JvbGxcIiwgdDogRGF0ZS5ub3coKX0gLy8g6Kem5Y+Rd3hz55qE5pa55rOVICjlgLzmlLnlj5jmiY3op6blj5Hmm7TmlrApXHJcblx0XHRcdGxldCBkZWxheSA9IDMwMCArICh0aGlzLm1lc2Nyb2xsLm9wdERvd24uYmVmb3JlRW5kRGVsYXkgfHwgMClcclxuXHRcdFx0c2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRcdGlmKHRoaXMuZG93bkxvYWRUeXBlID09PSA0IHx8IHRoaXMuZG93bkxvYWRUeXBlID09PSAwKXtcclxuXHRcdFx0XHRcdHRoaXMuY2FsbFByb3AgPSB7Y2FsbFR5cGU6IFwiY2xlYXJUcmFuc2Zvcm1cIiwgdDogRGF0ZS5ub3coKX0gLy8g6Kem5Y+Rd3hz55qE5pa55rOVICjlgLzmlLnlj5jmiY3op6blj5Hmm7TmlrApXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC8vIOeKtuaAgeaMgui9veWIsG1lc2Nyb2xs5a+56LGhLCDku6Xkvr/lnKjlhbbku5bnu4Tku7bkuK3kvb/nlKgsIOavlOWmgjxtZS12aWRlbz7kuK1cclxuXHRcdFx0XHR0aGlzLiRzZXQodGhpcy5tZXNjcm9sbCwgJ2Rvd25Mb2FkVHlwZScsIHRoaXMuZG93bkxvYWRUeXBlKVxyXG5cdFx0XHR9LCBkZWxheSlcclxuXHRcdH1cclxuXHRcdC8vIOWIneWni+WMlnd4c+eahOaVsOaNrlxyXG5cdFx0dGhpcy53eHNDYWxsKHt0eXBlOiAnc2V0V3hzUHJvcCd9KVxyXG5cclxuXHR9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IFd4c01peGluO1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///70\n");
/***/ }),
/* 71 */
/*!*****************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/mescroll-uni/components/mescroll-uni/mescroll-i18n.js ***!
\*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n// 国际化工具类\nvar mescrollI18n = {\n // 默认语言\n def: \"zh\",\n // 获取当前语言类型\n getType: function getType() {\n return uni.getStorageSync(\"mescroll-i18n\") || this.def;\n },\n // 设置当前语言类型\n setType: function setType(type) {\n uni.setStorageSync(\"mescroll-i18n\", type);\n }\n};\nvar _default = mescrollI18n;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy9tZXNjcm9sbC11bmkvY29tcG9uZW50cy9tZXNjcm9sbC11bmkvbWVzY3JvbGwtaTE4bi5qcyJdLCJuYW1lcyI6WyJtZXNjcm9sbEkxOG4iLCJkZWYiLCJnZXRUeXBlIiwidW5pIiwiZ2V0U3RvcmFnZVN5bmMiLCJzZXRUeXBlIiwidHlwZSIsInNldFN0b3JhZ2VTeW5jIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBLElBQU1BLFlBQVksR0FBRztFQUNwQjtFQUNBQyxHQUFHLEVBQUUsSUFBSTtFQUNUO0VBQ0FDLE9BQU8scUJBQUU7SUFDUixPQUFPQyxHQUFHLENBQUNDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUNILEdBQUc7RUFDdkQsQ0FBQztFQUNEO0VBQ0FJLE9BQU8sbUJBQUNDLElBQUksRUFBQztJQUNaSCxHQUFHLENBQUNJLGNBQWMsQ0FBQyxlQUFlLEVBQUVELElBQUksQ0FBQztFQUMxQztBQUNELENBQUM7QUFBQSxlQUVjTixZQUFZO0FBQUEiLCJmaWxlIjoiNzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDlm73pmYXljJblt6XlhbfnsbtcclxuY29uc3QgbWVzY3JvbGxJMThuID0ge1xyXG5cdC8vIOm7mOiupOivreiogFxyXG5cdGRlZjogXCJ6aFwiLFxyXG5cdC8vIOiOt+WPluW9k+WJjeivreiogOexu+Wei1xyXG5cdGdldFR5cGUoKXtcclxuXHRcdHJldHVybiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJtZXNjcm9sbC1pMThuXCIpIHx8IHRoaXMuZGVmXHJcblx0fSxcclxuXHQvLyDorr7nva7lvZPliY3or63oqIDnsbvlnotcclxuXHRzZXRUeXBlKHR5cGUpe1xyXG5cdFx0dW5pLnNldFN0b3JhZ2VTeW5jKFwibWVzY3JvbGwtaTE4blwiLCB0eXBlKVxyXG5cdH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgbWVzY3JvbGxJMThuXHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///71\n");
/***/ }),
/* 72 */
/*!*******************************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/mescroll-uni/components/mescroll-diy/xinlang/mescroll-uni-option.js ***!
\*******************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n// 全局配置\n// mescroll-body 和 mescroll-uni 通用\nvar GlobalOption = {\n down: {\n // 其他down的配置参数也可以写,这里只展示了常用的配置:\n offset: 80,\n // 在列表顶部,下拉大于80px,松手即可触发下拉刷新的回调\n native: false // 是否使用系统自带的下拉刷新; 默认false; 仅在mescroll-body生效 (值为true时,还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例)\n },\n\n up: {\n // 其他up的配置参数也可以写,这里只展示了常用的配置:\n offset: 150,\n // 距底部多远时,触发upCallback,仅mescroll-uni生效 ( mescroll-body配置的是pages.json的 onReachBottomDistance )\n toTop: {\n // 回到顶部按钮,需配置src才显示\n src: \"https://www.mescroll.com/img/mescroll-totop.png\",\n // 图片路径 (建议放入static目录, 如 /static/img/mescroll-totop.png )\n offset: 1000,\n // 列表滚动多少距离才显示回到顶部按钮,默认1000px\n right: 20,\n // 到右边的距离, 默认20 (支持\"20rpx\", \"20px\", \"20%\"格式的值, 纯数字则默认单位rpx)\n bottom: 120,\n // 到底部的距离, 默认120 (支持\"20rpx\", \"20px\", \"20%\"格式的值, 纯数字则默认单位rpx)\n width: 72 // 回到顶部图标的宽度, 默认72 (支持\"20rpx\", \"20px\", \"20%\"格式的值, 纯数字则默认单位rpx)\n },\n\n empty: {\n use: true,\n // 是否显示空布局\n icon: \"https://www.mescroll.com/img/mescroll-empty.png\" // 图标路径 (建议放入static目录, 如 /static/img/mescroll-empty.png )\n }\n },\n\n // 国际化配置\n i18n: {\n // 中文\n zh: {\n down: {\n textInOffset: '下拉刷新',\n // 下拉的距离在offset范围内的提示文本\n textOutOffset: '释放更新',\n // 下拉的距离大于offset范围的提示文本\n textLoading: '加载中 ...',\n // 加载中的提示文本\n textSuccess: '加载成功',\n // 加载成功的文本\n textErr: '加载失败' // 加载失败的文本\n },\n\n up: {\n textLoading: '加载中 ...',\n // 加载中的提示文本\n textNoMore: '-- END --',\n // 没有更多数据的提示文本\n empty: {\n tip: '~ 空空如也 ~' // 空提示\n }\n }\n },\n\n // 英文\n en: {\n down: {\n textInOffset: 'drop down refresh',\n textOutOffset: 'release updates',\n textLoading: 'loading ...',\n textSuccess: 'loaded successfully',\n textErr: 'loading failed'\n },\n up: {\n textLoading: 'loading ...',\n textNoMore: '-- END --',\n empty: {\n tip: '~ absolutely empty ~'\n }\n }\n }\n }\n};\nvar _default = GlobalOption;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy9tZXNjcm9sbC11bmkvY29tcG9uZW50cy9tZXNjcm9sbC1kaXkveGlubGFuZy9tZXNjcm9sbC11bmktb3B0aW9uLmpzIl0sIm5hbWVzIjpbIkdsb2JhbE9wdGlvbiIsImRvd24iLCJvZmZzZXQiLCJuYXRpdmUiLCJ1cCIsInRvVG9wIiwic3JjIiwicmlnaHQiLCJib3R0b20iLCJ3aWR0aCIsImVtcHR5IiwidXNlIiwiaWNvbiIsImkxOG4iLCJ6aCIsInRleHRJbk9mZnNldCIsInRleHRPdXRPZmZzZXQiLCJ0ZXh0TG9hZGluZyIsInRleHRTdWNjZXNzIiwidGV4dEVyciIsInRleHROb01vcmUiLCJ0aXAiLCJlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBLElBQU1BLFlBQVksR0FBRztFQUNwQkMsSUFBSSxFQUFFO0lBQ0w7SUFDQUMsTUFBTSxFQUFFLEVBQUU7SUFBRTtJQUNaQyxNQUFNLEVBQUUsS0FBSyxDQUFDO0VBQ2YsQ0FBQzs7RUFDREMsRUFBRSxFQUFFO0lBQ0g7SUFDQUYsTUFBTSxFQUFFLEdBQUc7SUFBRTtJQUNiRyxLQUFLLEVBQUU7TUFDTjtNQUNBQyxHQUFHLEVBQUUsaURBQWlEO01BQUU7TUFDeERKLE1BQU0sRUFBRSxJQUFJO01BQUU7TUFDZEssS0FBSyxFQUFFLEVBQUU7TUFBRTtNQUNYQyxNQUFNLEVBQUUsR0FBRztNQUFFO01BQ2JDLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDWCxDQUFDOztJQUNEQyxLQUFLLEVBQUU7TUFDTkMsR0FBRyxFQUFFLElBQUk7TUFBRTtNQUNYQyxJQUFJLEVBQUUsaURBQWlELENBQUM7SUFDekQ7RUFDRCxDQUFDOztFQUNEO0VBQ0FDLElBQUksRUFBRTtJQUNMO0lBQ0FDLEVBQUUsRUFBRTtNQUNIYixJQUFJLEVBQUU7UUFDTGMsWUFBWSxFQUFFLE1BQU07UUFBRTtRQUN0QkMsYUFBYSxFQUFFLE1BQU07UUFBRTtRQUN2QkMsV0FBVyxFQUFFLFNBQVM7UUFBRTtRQUN4QkMsV0FBVyxFQUFFLE1BQU07UUFBRTtRQUNyQkMsT0FBTyxFQUFFLE1BQU0sQ0FBRTtNQUNsQixDQUFDOztNQUNEZixFQUFFLEVBQUU7UUFDSGEsV0FBVyxFQUFFLFNBQVM7UUFBRTtRQUN4QkcsVUFBVSxFQUFFLFdBQVc7UUFBRTtRQUN6QlYsS0FBSyxFQUFFO1VBQ05XLEdBQUcsRUFBRSxVQUFVLENBQUM7UUFDakI7TUFDRDtJQUNELENBQUM7O0lBQ0Q7SUFDQUMsRUFBRSxFQUFFO01BQ0hyQixJQUFJLEVBQUU7UUFDTGMsWUFBWSxFQUFFLG1CQUFtQjtRQUNqQ0MsYUFBYSxFQUFFLGlCQUFpQjtRQUNoQ0MsV0FBVyxFQUFFLGFBQWE7UUFDMUJDLFdBQVcsRUFBRSxxQkFBcUI7UUFDbENDLE9BQU8sRUFBRTtNQUNWLENBQUM7TUFDRGYsRUFBRSxFQUFFO1FBQ0hhLFdBQVcsRUFBRSxhQUFhO1FBQzFCRyxVQUFVLEVBQUUsV0FBVztRQUN2QlYsS0FBSyxFQUFFO1VBQ05XLEdBQUcsRUFBRTtRQUNOO01BQ0Q7SUFDRDtFQUNEO0FBQ0QsQ0FBQztBQUFBLGVBRWNyQixZQUFZO0FBQUEiLCJmaWxlIjoiNzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDlhajlsYDphY3nva5cclxuLy8gbWVzY3JvbGwtYm9keSDlkowgbWVzY3JvbGwtdW5pIOmAmueUqFxyXG5jb25zdCBHbG9iYWxPcHRpb24gPSB7XHJcblx0ZG93bjoge1xyXG5cdFx0Ly8g5YW25LuWZG93bueahOmFjee9ruWPguaVsOS5n+WPr+S7peWGmSzov5nph4zlj6rlsZXnpLrkuobluLjnlKjnmoTphY3nva46XHJcblx0XHRvZmZzZXQ6IDgwLCAvLyDlnKjliJfooajpobbpg6gs5LiL5ouJ5aSn5LqOODBweCzmnb7miYvljbPlj6/op6blj5HkuIvmi4nliLfmlrDnmoTlm57osINcclxuXHRcdG5hdGl2ZTogZmFsc2UgLy8g5piv5ZCm5L2/55So57O757uf6Ieq5bim55qE5LiL5ouJ5Yi35pawOyDpu5jorqRmYWxzZTsg5LuF5ZyobWVzY3JvbGwtYm9keeeUn+aViCAo5YC85Li6dHJ1ZeaXtizov5jpnIDlnKhwYWdlc+mFjee9rmVuYWJsZVB1bGxEb3duUmVmcmVzaDp0cnVlO+ivpuivt+WPguiAg21lc2Nyb2xsLW5hdGl2ZeeahOahiOS+iylcclxuXHR9LFxyXG5cdHVwOiB7XHJcblx0XHQvLyDlhbbku5Z1cOeahOmFjee9ruWPguaVsOS5n+WPr+S7peWGmSzov5nph4zlj6rlsZXnpLrkuobluLjnlKjnmoTphY3nva46XHJcblx0XHRvZmZzZXQ6IDE1MCwgLy8g6Led5bqV6YOo5aSa6L+c5pe2LOinpuWPkXVwQ2FsbGJhY2ss5LuFbWVzY3JvbGwtdW5p55Sf5pWIICggbWVzY3JvbGwtYm9keemFjee9rueahOaYr3BhZ2VzLmpzb27nmoQgb25SZWFjaEJvdHRvbURpc3RhbmNlIClcclxuXHRcdHRvVG9wOiB7XHJcblx0XHRcdC8vIOWbnuWIsOmhtumDqOaMiemSrizpnIDphY3nva5zcmPmiY3mmL7npLpcclxuXHRcdFx0c3JjOiBcImh0dHBzOi8vd3d3Lm1lc2Nyb2xsLmNvbS9pbWcvbWVzY3JvbGwtdG90b3AucG5nXCIsIC8vIOWbvueJh+i3r+W+hCAo5bu66K6u5pS+5YWlc3RhdGlj55uu5b2VLCDlpoIgL3N0YXRpYy9pbWcvbWVzY3JvbGwtdG90b3AucG5nIClcclxuXHRcdFx0b2Zmc2V0OiAxMDAwLCAvLyDliJfooajmu5rliqjlpJrlsJHot53nprvmiY3mmL7npLrlm57liLDpobbpg6jmjInpkq4s6buY6K6kMTAwMHB4XHJcblx0XHRcdHJpZ2h0OiAyMCwgLy8g5Yiw5Y+z6L6555qE6Led56a7LCDpu5jorqQyMCAo5pSv5oyBXCIyMHJweFwiLCBcIjIwcHhcIiwgXCIyMCVcIuagvOW8j+eahOWAvCwg57qv5pWw5a2X5YiZ6buY6K6k5Y2V5L2NcnB4KVxyXG5cdFx0XHRib3R0b206IDEyMCwgLy8g5Yiw5bqV6YOo55qE6Led56a7LCDpu5jorqQxMjAgKOaUr+aMgVwiMjBycHhcIiwgXCIyMHB4XCIsIFwiMjAlXCLmoLzlvI/nmoTlgLwsIOe6r+aVsOWtl+WImem7mOiupOWNleS9jXJweClcclxuXHRcdFx0d2lkdGg6IDcyIC8vIOWbnuWIsOmhtumDqOWbvuagh+eahOWuveW6piwg6buY6K6kNzIgKOaUr+aMgVwiMjBycHhcIiwgXCIyMHB4XCIsIFwiMjAlXCLmoLzlvI/nmoTlgLwsIOe6r+aVsOWtl+WImem7mOiupOWNleS9jXJweClcclxuXHRcdH0sXHJcblx0XHRlbXB0eToge1xyXG5cdFx0XHR1c2U6IHRydWUsIC8vIOaYr+WQpuaYvuekuuepuuW4g+WxgFxyXG5cdFx0XHRpY29uOiBcImh0dHBzOi8vd3d3Lm1lc2Nyb2xsLmNvbS9pbWcvbWVzY3JvbGwtZW1wdHkucG5nXCIgLy8g5Zu+5qCH6Lev5b6EICjlu7rorq7mlL7lhaVzdGF0aWPnm67lvZUsIOWmgiAvc3RhdGljL2ltZy9tZXNjcm9sbC1lbXB0eS5wbmcgKVxyXG5cdFx0fVxyXG5cdH0sXHJcblx0Ly8g5Zu96ZmF5YyW6YWN572uXHJcblx0aTE4bjoge1xyXG5cdFx0Ly8g5Lit5paHXHJcblx0XHR6aDoge1xyXG5cdFx0XHRkb3duOiB7XHJcblx0XHRcdFx0dGV4dEluT2Zmc2V0OiAn5LiL5ouJ5Yi35pawJywgLy8g5LiL5ouJ55qE6Led56a75Zyob2Zmc2V06IyD5Zu05YaF55qE5o+Q56S65paH5pysXHJcblx0XHRcdFx0dGV4dE91dE9mZnNldDogJ+mHiuaUvuabtOaWsCcsIC8vIOS4i+aLieeahOi3neemu+Wkp+S6jm9mZnNldOiMg+WbtOeahOaPkOekuuaWh+acrFxyXG5cdFx0XHRcdHRleHRMb2FkaW5nOiAn5Yqg6L295LitIC4uLicsIC8vIOWKoOi9veS4reeahOaPkOekuuaWh+acrFxyXG5cdFx0XHRcdHRleHRTdWNjZXNzOiAn5Yqg6L295oiQ5YqfJywgLy8g5Yqg6L295oiQ5Yqf55qE5paH5pysXHJcblx0XHRcdFx0dGV4dEVycjogJ+WKoOi9veWksei0pScsIC8vIOWKoOi9veWksei0peeahOaWh+acrFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR1cDoge1xyXG5cdFx0XHRcdHRleHRMb2FkaW5nOiAn5Yqg6L295LitIC4uLicsIC8vIOWKoOi9veS4reeahOaPkOekuuaWh+acrFxyXG5cdFx0XHRcdHRleHROb01vcmU6ICctLSBFTkQgLS0nLCAvLyDmsqHmnInmm7TlpJrmlbDmja7nmoTmj5DnpLrmlofmnKxcclxuXHRcdFx0XHRlbXB0eToge1xyXG5cdFx0XHRcdFx0dGlwOiAnfiDnqbrnqbrlpoLkuZ8gficgLy8g56m65o+Q56S6XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0Ly8g6Iux5paHXHJcblx0XHRlbjoge1xyXG5cdFx0XHRkb3duOiB7XHJcblx0XHRcdFx0dGV4dEluT2Zmc2V0OiAnZHJvcCBkb3duIHJlZnJlc2gnLFxyXG5cdFx0XHRcdHRleHRPdXRPZmZzZXQ6ICdyZWxlYXNlIHVwZGF0ZXMnLFxyXG5cdFx0XHRcdHRleHRMb2FkaW5nOiAnbG9hZGluZyAuLi4nLFxyXG5cdFx0XHRcdHRleHRTdWNjZXNzOiAnbG9hZGVkIHN1Y2Nlc3NmdWxseScsXHJcblx0XHRcdFx0dGV4dEVycjogJ2xvYWRpbmcgZmFpbGVkJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHR1cDoge1xyXG5cdFx0XHRcdHRleHRMb2FkaW5nOiAnbG9hZGluZyAuLi4nLFxyXG5cdFx0XHRcdHRleHROb01vcmU6ICctLSBFTkQgLS0nLFxyXG5cdFx0XHRcdGVtcHR5OiB7XHJcblx0XHRcdFx0XHR0aXA6ICd+IGFic29sdXRlbHkgZW1wdHkgfidcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IEdsb2JhbE9wdGlvblxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///72\n");
/***/ }),
/* 73 */
/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/mescroll-uni/components/mescroll-uni/wxs/wxs.wxs?vue&type=custom&index=0&blockType=script&issuerPath=E%3A%5C2023%5C8%5CMT_APP%5Ccomponents%5Cmescroll-uni%5Ccomponents%5Cmescroll-diy%5Cxinlang%5Cmescroll-uni.vue&module=wxsBiz&lang=wxs ***!
\*****************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_filter_loader_index_js_wxs_wxs_vue_type_custom_index_0_blockType_script_issuerPath_E_3A_5C2023_5C8_5CMT_APP_5Ccomponents_5Cmescroll_uni_5Ccomponents_5Cmescroll_diy_5Cxinlang_5Cmescroll_uni_vue_module_wxsBiz_lang_wxs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-filter-loader!./wxs.wxs?vue&type=custom&index=0&blockType=script&issuerPath=E%3A%5C2023%5C8%5CMT_APP%5Ccomponents%5Cmescroll-uni%5Ccomponents%5Cmescroll-diy%5Cxinlang%5Cmescroll-uni.vue&module=wxsBiz&lang=wxs */ 74);\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_filter_loader_index_js_wxs_wxs_vue_type_custom_index_0_blockType_script_issuerPath_E_3A_5C2023_5C8_5CMT_APP_5Ccomponents_5Cmescroll_uni_5Ccomponents_5Cmescroll_diy_5Cxinlang_5Cmescroll_uni_vue_module_wxsBiz_lang_wxs__WEBPACK_IMPORTED_MODULE_0__[\"default\"]); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQSx3Q0FBc1YsQ0FBZ0IsNFpBQUcsRUFBQyIsImZpbGUiOiI3My5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1maWx0ZXItbG9hZGVyXFxcXGluZGV4LmpzIS4vd3hzLnd4cz92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9c2NyaXB0Jmlzc3VlclBhdGg9RSUzQSU1QzIwMjMlNUM4JTVDTVRfQVBQJTVDY29tcG9uZW50cyU1Q21lc2Nyb2xsLXVuaSU1Q2NvbXBvbmVudHMlNUNtZXNjcm9sbC1kaXklNUN4aW5sYW5nJTVDbWVzY3JvbGwtdW5pLnZ1ZSZtb2R1bGU9d3hzQml6Jmxhbmc9d3hzXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1maWx0ZXItbG9hZGVyXFxcXGluZGV4LmpzIS4vd3hzLnd4cz92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9c2NyaXB0Jmlzc3VlclBhdGg9RSUzQSU1QzIwMjMlNUM4JTVDTVRfQVBQJTVDY29tcG9uZW50cyU1Q21lc2Nyb2xsLXVuaSU1Q2NvbXBvbmVudHMlNUNtZXNjcm9sbC1kaXklNUN4aW5sYW5nJTVDbWVzY3JvbGwtdW5pLnZ1ZSZtb2R1bGU9d3hzQml6Jmxhbmc9d3hzXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///73\n");
/***/ }),
/* 74 */
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-filter-loader!E:/2023/8/MT_APP/components/mescroll-uni/components/mescroll-uni/wxs/wxs.wxs?vue&type=custom&index=0&blockType=script&issuerPath=E%3A%5C2023%5C8%5CMT_APP%5Ccomponents%5Cmescroll-uni%5Ccomponents%5Cmescroll-diy%5Cxinlang%5Cmescroll-uni.vue&module=wxsBiz&lang=wxs ***!
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (Component) {\n (Component.options.wxs||(Component.options.wxs={}))['wxsBiz'] = (function(module){\n // 使用wxs处理交互动画, 提高性能, 同时避免小程序bounce对下拉刷新的影响\r\n// https://uniapp.dcloud.io/frame?id=wxs\r\n// https://developers.weixin.qq.com/miniprogram/dev/framework/view/interactive-animation.html \r\n\r\n// 模拟mescroll实例, 与mescroll.js的写法尽量保持一致\r\nvar me = {}\r\n\r\n// ------ 自定义下拉刷新动画 start ------\r\n\r\n/* 下拉过程中的回调,滑动过程一直在执行 (rate<1为inOffset; rate>1为outOffset) */\r\nme.onMoving = function (ins, rate, downHight){\r\n\tins.requestAnimationFrame(function () {\r\n\t\tins.selectComponent('.mescroll-wxs-content').setStyle({\r\n\t\t\t'will-change': 'transform', // 可解决下拉过程中, image和swiper脱离文档流的问题\r\n\t\t\t'transform': 'translateY(' + downHight + 'px)',\r\n\t\t\t'transition': ''\r\n\t\t})\r\n\t\t// 环形进度条\r\n\t\tvar progress = ins.selectComponent('.mescroll-wxs-progress')\r\n\t\tprogress && progress.setStyle({transform: 'rotate(' + 360 * rate + 'deg)'})\r\n\t})\r\n}\r\n\r\n/* 显示下拉刷新进度 */\r\nme.showLoading = function (ins){\r\n\tme.downHight = me.optDown.offset\r\n\tins.requestAnimationFrame(function () {\r\n\t\tins.selectComponent('.mescroll-wxs-content').setStyle({\r\n\t\t\t'will-change': 'auto',\r\n\t\t\t'transform': 'translateY(' + me.downHight + 'px)',\r\n\t\t\t'transition': 'transform 300ms'\r\n\t\t})\r\n\t})\r\n}\r\n\r\n/* 结束下拉 */\r\nme.endDownScroll = function (ins){\r\n\tme.downHight = 0;\r\n\tme.isDownScrolling = false;\r\n\tins.requestAnimationFrame(function () {\r\n\t\tins.selectComponent('.mescroll-wxs-content').setStyle({\r\n\t\t\t'will-change': 'auto',\r\n\t\t\t'transform': 'translateY(0)', // 不可以写空串,否则scroll-view渲染不完整 (延时350ms会调clearTransform置空)\r\n\t\t\t'transition': 'transform 300ms'\r\n\t\t})\r\n\t})\r\n}\r\n\r\n/* 结束下拉动画执行完毕后, 清除transform和transition, 避免对列表内容样式造成影响, 如: h5的list-msg示例下拉进度条漏出来等 */\r\nme.clearTransform = function (ins){\r\n\tins.requestAnimationFrame(function () {\r\n\t\tins.selectComponent('.mescroll-wxs-content').setStyle({\r\n\t\t\t'will-change': '',\r\n\t\t\t'transform': '',\r\n\t\t\t'transition': ''\r\n\t\t})\r\n\t})\r\n}\r\n\r\n// ------ 自定义下拉刷新动画 end ------\r\n\r\n/**\r\n * 监听逻辑层数据的变化 (实时更新数据)\r\n */\r\nfunction propObserver(wxsProp) {\r\n\tme.optDown = wxsProp.optDown\r\n\tme.scrollTop = wxsProp.scrollTop\r\n\tme.bodyHeight = wxsProp.bodyHeight\r\n\tme.isDownScrolling = wxsProp.isDownScrolling\r\n\tme.isUpScrolling = wxsProp.isUpScrolling\r\n\tme.isUpBoth = wxsProp.isUpBoth\r\n\tme.isScrollBody = wxsProp.isScrollBody\r\n\tme.startTop = wxsProp.scrollTop // 及时更新touchstart触发的startTop, 避免scroll-view快速惯性滚动到顶部取值不准确\r\n}\r\n\r\n/**\r\n * 监听逻辑层数据的变化 (调用wxs的方法)\r\n */\r\nfunction callObserver(callProp, oldValue, ins) {\r\n\tif (me.disabled()) return;\r\n\tif(callProp.callType){\r\n\t\t// 逻辑层(App Service)的style已失效,需在视图层(Webview)设置style\r\n\t\tif(callProp.callType === 'showLoading'){\r\n\t\t\tme.showLoading(ins)\r\n\t\t}else if(callProp.callType === 'endDownScroll'){\r\n\t\t\tme.endDownScroll(ins)\r\n\t\t}else if(callProp.callType === 'clearTransform'){\r\n\t\t\tme.clearTransform(ins)\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * touch事件\r\n */\r\nfunction touchstartEvent(e, ins) {\r\n\tme.downHight = 0; // 下拉的距离\r\n\tme.startPoint = me.getPoint(e); // 记录起点\r\n\tme.startTop = me.getScrollTop(); // 记录此时的滚动条位置\r\n\tme.startAngle = 0; // 初始角度\r\n\tme.lastPoint = me.startPoint; // 重置上次move的点\r\n\tme.maxTouchmoveY = me.getBodyHeight() - me.optDown.bottomOffset; // 手指触摸的最大范围(写在touchstart避免body获取高度为0的情况)\r\n\tme.inTouchend = false; // 标记不是touchend\r\n\t\r\n\tme.callMethod(ins, {type: 'setWxsProp'}) // 同步更新wxsProp的数据 (小程序是异步的,可能touchmove先执行,才到propObserver; h5和app是同步)\r\n}\r\n\r\nfunction touchmoveEvent(e, ins) {\r\n\tvar isPrevent = true // false表示不往上冒泡,相当于调用了同时调用了stopPropagation和preventDefault (对小程序生效, h5和app无效)\r\n\t\r\n\tif (me.disabled()) return isPrevent;\r\n\t\r\n\tvar scrollTop = me.getScrollTop(); // 当前滚动条的距离\r\n\tvar curPoint = me.getPoint(e); // 当前点\r\n\t\r\n\tvar moveY = curPoint.y - me.startPoint.y; // 和起点比,移动的距离,大于0向下拉,小于0向上拉\r\n\t\r\n\t// 向下拉 && 在顶部\r\n\t// mescroll-body,直接判定在顶部即可\r\n\t// scroll-view在滚动时不会触发touchmove,当触顶/底/左/右时,才会触发touchmove\r\n\t// scroll-view滚动到顶部时,scrollTop不一定为0,也有可能大于0; 在iOS的APP中scrollTop可能为负数,不一定和startTop相等\r\n\tif (moveY > 0 && (\r\n\t\t\t(me.isScrollBody && scrollTop <= 0)\r\n\t\t\t||\r\n\t\t\t(!me.isScrollBody && (scrollTop <= 0 || (scrollTop <= me.optDown.startTop && scrollTop === me.startTop)) )\r\n\t\t)) {\r\n\t\t// 可下拉的条件\r\n\t\tif (!me.inTouchend && !me.isDownScrolling && !me.optDown.isLock && (!me.isUpScrolling || (me.isUpScrolling &&\r\n\t\t\t\tme.isUpBoth))) {\r\n\t\r\n\t\t\t// 下拉的角度是否在配置的范围内\r\n\t\t\tif(!me.startAngle) me.startAngle = me.getAngle(me.lastPoint, curPoint); // 两点之间的角度,区间 [0,90]\r\n\t\t\tif (me.startAngle < me.optDown.minAngle) return isPrevent; // 如果小于配置的角度,则不往下执行下拉刷新\r\n\t\r\n\t\t\t// 如果手指的位置超过配置的距离,则提前结束下拉,避免Webview嵌套导致touchend无法触发\r\n\t\t\tif (me.maxTouchmoveY > 0 && curPoint.y >= me.maxTouchmoveY) {\r\n\t\t\t\tme.inTouchend = true; // 标记执行touchend\r\n\t\t\t\ttouchendEvent(e, ins); // 提前触发touchend\r\n\t\t\t\treturn isPrevent;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tisPrevent = false // 小程序是return false\r\n\t\r\n\t\t\tvar diff = curPoint.y - me.lastPoint.y; // 和上次比,移动的距离 (大于0向下,小于0向上)\r\n\t\r\n\t\t\t// 下拉距离 < 指定距离\r\n\t\t\tif (me.downHight < me.optDown.offset) {\r\n\t\t\t\tif (me.movetype !== 1) {\r\n\t\t\t\t\tme.movetype = 1; // 加入标记,保证只执行一次\r\n\t\t\t\t\t// me.optDown.inOffset && me.optDown.inOffset(me); // 进入指定距离范围内那一刻的回调,只执行一次\r\n\t\t\t\t\tme.callMethod(ins, {type: 'setLoadType', downLoadType: 1})\r\n\t\t\t\t\tme.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来\r\n\t\t\t\t}\r\n\t\t\t\tme.downHight += diff * me.optDown.inOffsetRate; // 越往下,高度变化越小\r\n\t\r\n\t\t\t\t// 指定距离 <= 下拉距离\r\n\t\t\t} else {\r\n\t\t\t\tif (me.movetype !== 2) {\r\n\t\t\t\t\tme.movetype = 2; // 加入标记,保证只执行一次\r\n\t\t\t\t\t// me.optDown.outOffset && me.optDown.outOffset(me); // 下拉超过指定距离那一刻的回调,只执行一次\r\n\t\t\t\t\tme.callMethod(ins, {type: 'setLoadType', downLoadType: 2})\r\n\t\t\t\t\tme.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来\r\n\t\t\t\t}\r\n\t\t\t\tif (diff > 0) { // 向下拉\r\n\t\t\t\t\tme.downHight += diff * me.optDown.outOffsetRate; // 越往下,高度变化越小\r\n\t\t\t\t} else { // 向上收\r\n\t\t\t\t\tme.downHight += diff; // 向上收回高度,则向上滑多少收多少高度\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tme.downHight = Math.round(me.downHight) // 取整\r\n\t\t\tvar rate = me.downHight / me.optDown.offset; // 下拉区域当前高度与指定距离的比值\r\n\t\t\t// me.optDown.onMoving && me.optDown.onMoving(me, rate, me.downHight); // 下拉过程中的回调,一直在执行\r\n\t\t\tme.onMoving(ins, rate, me.downHight)\r\n\t\t}\r\n\t}\r\n\t\r\n\tme.lastPoint = curPoint; // 记录本次移动的点\r\n\t\r\n\treturn isPrevent // false表示不往上冒泡,相当于调用了同时调用了stopPropagation和preventDefault (对小程序生效, h5和app无效)\r\n}\r\n\r\nfunction touchendEvent(e, ins) {\r\n\t// 如果下拉区域高度已改变,则需重置回来\r\n\tif (me.isMoveDown) {\r\n\t\tif (me.downHight >= me.optDown.offset) {\r\n\t\t\t// 符合触发刷新的条件\r\n\t\t\tme.downHight = me.optDown.offset; // 更新下拉区域高度\r\n\t\t\t// me.triggerDownScroll();\r\n\t\t\tme.callMethod(ins, {type: 'triggerDownScroll'})\r\n\t\t} else {\r\n\t\t\t// 不符合的话 则重置\r\n\t\t\tme.downHight = 0;\r\n\t\t\t// me.optDown.endDownScroll && me.optDown.endDownScroll(me);\r\n\t\t\tme.callMethod(ins, {type: 'endDownScroll'})\r\n\t\t}\r\n\t\tme.movetype = 0;\r\n\t\tme.isMoveDown = false;\r\n\t} else if (!me.isScrollBody && me.getScrollTop() === me.startTop) { // scroll-view到顶/左/右/底的滑动事件\r\n\t\tvar isScrollUp = me.getPoint(e).y - me.startPoint.y < 0; // 和起点比,移动的距离,大于0向下拉,小于0向上拉\r\n\t\t// 上滑\r\n\t\tif (isScrollUp) {\r\n\t\t\t// 需检查滑动的角度\r\n\t\t\tvar angle = me.getAngle(me.getPoint(e), me.startPoint); // 两点之间的角度,区间 [0,90]\r\n\t\t\tif (angle > 80) {\r\n\t\t\t\t// 检查并触发上拉\r\n\t\t\t\t// me.triggerUpScroll(true);\r\n\t\t\t\tme.callMethod(ins, {type: 'triggerUpScroll'})\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tme.callMethod(ins, {type: 'setWxsProp'}) // 同步更新wxsProp的数据 (小程序是异步的,可能touchmove先执行,才到propObserver; h5和app是同步)\r\n}\r\n\r\n/* 是否禁用下拉刷新 */\r\nme.disabled = function(){\r\n\treturn !me.optDown || !me.optDown.use || me.optDown.native\r\n}\r\n\r\n/* 根据点击滑动事件获取第一个手指的坐标 */\r\nme.getPoint = function(e) {\r\n\tif (!e) {\r\n\t\treturn {x: 0,y: 0}\r\n\t}\r\n\tif (e.touches && e.touches[0]) {\r\n\t\treturn {x: e.touches[0].pageX,y: e.touches[0].pageY}\r\n\t} else if (e.changedTouches && e.changedTouches[0]) {\r\n\t\treturn {x: e.changedTouches[0].pageX,y: e.changedTouches[0].pageY}\r\n\t} else {\r\n\t\treturn {x: e.clientX,y: e.clientY}\r\n\t}\r\n}\r\n\r\n/* 计算两点之间的角度: 区间 [0,90]*/\r\nme.getAngle = function (p1, p2) {\r\n\tvar x = Math.abs(p1.x - p2.x);\r\n\tvar y = Math.abs(p1.y - p2.y);\r\n\tvar z = Math.sqrt(x * x + y * y);\r\n\tvar angle = 0;\r\n\tif (z !== 0) {\r\n\t\tangle = Math.asin(y / z) / Math.PI * 180;\r\n\t}\r\n\treturn angle\r\n}\r\n\r\n/* 获取滚动条的位置 */\r\nme.getScrollTop = function() {\r\n\treturn me.scrollTop || 0\r\n}\r\n\r\n/* 获取body的高度 */\r\nme.getBodyHeight = function() {\r\n\treturn me.bodyHeight || 0;\r\n}\r\n\r\n/* 调用逻辑层的方法 */\r\nme.callMethod = function(ins, param) {\r\n\tif(ins) ins.callMethod('wxsCall', param)\r\n}\r\n\r\n/* 导出模块 */\r\nmodule.exports = {\r\n\tpropObserver: propObserver,\r\n\tcallObserver: callObserver,\r\n\ttouchstartEvent: touchstartEvent,\r\n\ttouchmoveEvent: touchmoveEvent,\r\n\ttouchendEvent: touchendEvent\r\n}\n return module.exports\n })({exports:{}});\n });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFDQSxRQUFRLEdBQUcsV0FBVztBQUN0QixNIiwiZmlsZSI6Ijc0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKENvbXBvbmVudCkge1xuICAgICAgIChDb21wb25lbnQub3B0aW9ucy53eHN8fChDb21wb25lbnQub3B0aW9ucy53eHM9e30pKVsnd3hzQml6J10gPSAoZnVuY3Rpb24obW9kdWxlKXtcbiAgICAgICAvLyDkvb/nlKh3eHPlpITnkIbkuqTkupLliqjnlLssIOaPkOmrmOaAp+iDvSwg5ZCM5pe26YG/5YWN5bCP56iL5bqPYm91bmNl5a+55LiL5ouJ5Yi35paw55qE5b2x5ZONXHJcbi8vIGh0dHBzOi8vdW5pYXBwLmRjbG91ZC5pby9mcmFtZT9pZD13eHNcclxuLy8gaHR0cHM6Ly9kZXZlbG9wZXJzLndlaXhpbi5xcS5jb20vbWluaXByb2dyYW0vZGV2L2ZyYW1ld29yay92aWV3L2ludGVyYWN0aXZlLWFuaW1hdGlvbi5odG1sIFxyXG5cclxuLy8g5qih5oufbWVzY3JvbGzlrp7kvossIOS4jm1lc2Nyb2xsLmpz55qE5YaZ5rOV5bC96YeP5L+d5oyB5LiA6Ie0XHJcbnZhciBtZSA9IHt9XHJcblxyXG4vLyAtLS0tLS0g6Ieq5a6a5LmJ5LiL5ouJ5Yi35paw5Yqo55S7IHN0YXJ0IC0tLS0tLVxyXG5cclxuLyog5LiL5ouJ6L+H56iL5Lit55qE5Zue6LCDLOa7keWKqOi/h+eoi+S4gOebtOWcqOaJp+ihjCAocmF0ZTwx5Li6aW5PZmZzZXQ7IHJhdGU+MeS4um91dE9mZnNldCkgKi9cclxubWUub25Nb3ZpbmcgPSBmdW5jdGlvbiAoaW5zLCByYXRlLCBkb3duSGlnaHQpe1xyXG5cdGlucy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gKCkge1xyXG5cdFx0aW5zLnNlbGVjdENvbXBvbmVudCgnLm1lc2Nyb2xsLXd4cy1jb250ZW50Jykuc2V0U3R5bGUoe1xyXG5cdFx0XHQnd2lsbC1jaGFuZ2UnOiAndHJhbnNmb3JtJywgLy8g5Y+v6Kej5Yaz5LiL5ouJ6L+H56iL5LitLCBpbWFnZeWSjHN3aXBlcuiEseemu+aWh+aho+a1geeahOmXrumimFxyXG5cdFx0XHQndHJhbnNmb3JtJzogJ3RyYW5zbGF0ZVkoJyArIGRvd25IaWdodCArICdweCknLFxyXG5cdFx0XHQndHJhbnNpdGlvbic6ICcnXHJcblx0XHR9KVxyXG5cdFx0Ly8g546v5b2i6L+b5bqm5p2hXHJcblx0XHR2YXIgcHJvZ3Jlc3MgPSBpbnMuc2VsZWN0Q29tcG9uZW50KCcubWVzY3JvbGwtd3hzLXByb2dyZXNzJylcclxuXHRcdHByb2dyZXNzICYmIHByb2dyZXNzLnNldFN0eWxlKHt0cmFuc2Zvcm06ICdyb3RhdGUoJyArIDM2MCAqIHJhdGUgKyAnZGVnKSd9KVxyXG5cdH0pXHJcbn1cclxuXHJcbi8qIOaYvuekuuS4i+aLieWIt+aWsOi/m+W6piAqL1xyXG5tZS5zaG93TG9hZGluZyA9IGZ1bmN0aW9uIChpbnMpe1xyXG5cdG1lLmRvd25IaWdodCA9IG1lLm9wdERvd24ub2Zmc2V0XHJcblx0aW5zLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7XHJcblx0XHRpbnMuc2VsZWN0Q29tcG9uZW50KCcubWVzY3JvbGwtd3hzLWNvbnRlbnQnKS5zZXRTdHlsZSh7XHJcblx0XHRcdCd3aWxsLWNoYW5nZSc6ICdhdXRvJyxcclxuXHRcdFx0J3RyYW5zZm9ybSc6ICd0cmFuc2xhdGVZKCcgKyBtZS5kb3duSGlnaHQgKyAncHgpJyxcclxuXHRcdFx0J3RyYW5zaXRpb24nOiAndHJhbnNmb3JtIDMwMG1zJ1xyXG5cdFx0fSlcclxuXHR9KVxyXG59XHJcblxyXG4vKiDnu5PmnZ/kuIvmi4kgKi9cclxubWUuZW5kRG93blNjcm9sbCA9IGZ1bmN0aW9uIChpbnMpe1xyXG5cdG1lLmRvd25IaWdodCA9IDA7XHJcblx0bWUuaXNEb3duU2Nyb2xsaW5nID0gZmFsc2U7XHJcblx0aW5zLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7XHJcblx0XHRpbnMuc2VsZWN0Q29tcG9uZW50KCcubWVzY3JvbGwtd3hzLWNvbnRlbnQnKS5zZXRTdHlsZSh7XHJcblx0XHRcdCd3aWxsLWNoYW5nZSc6ICdhdXRvJyxcclxuXHRcdFx0J3RyYW5zZm9ybSc6ICd0cmFuc2xhdGVZKDApJywgLy8g5LiN5Y+v5Lul5YaZ56m65LiyLOWQpuWImXNjcm9sbC12aWV35riy5p+T5LiN5a6M5pW0ICjlu7bml7YzNTBtc+S8muiwg2NsZWFyVHJhbnNmb3Jt572u56m6KVxyXG5cdFx0XHQndHJhbnNpdGlvbic6ICd0cmFuc2Zvcm0gMzAwbXMnXHJcblx0XHR9KVxyXG5cdH0pXHJcbn1cclxuXHJcbi8qIOe7k+adn+S4i+aLieWKqOeUu+aJp+ihjOWujOavleWQjiwg5riF6ZmkdHJhbnNmb3Jt5ZKMdHJhbnNpdGlvbiwg6YG/5YWN5a+55YiX6KGo5YaF5a655qC35byP6YCg5oiQ5b2x5ZONLCDlpoI6IGg155qEbGlzdC1tc2fnpLrkvovkuIvmi4nov5vluqbmnaHmvI/lh7rmnaXnrYkgKi9cclxubWUuY2xlYXJUcmFuc2Zvcm0gPSBmdW5jdGlvbiAoaW5zKXtcclxuXHRpbnMucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uICgpIHtcclxuXHRcdGlucy5zZWxlY3RDb21wb25lbnQoJy5tZXNjcm9sbC13eHMtY29udGVudCcpLnNldFN0eWxlKHtcclxuXHRcdFx0J3dpbGwtY2hhbmdlJzogJycsXHJcblx0XHRcdCd0cmFuc2Zvcm0nOiAnJyxcclxuXHRcdFx0J3RyYW5zaXRpb24nOiAnJ1xyXG5cdFx0fSlcclxuXHR9KVxyXG59XHJcblxyXG4vLyAtLS0tLS0g6Ieq5a6a5LmJ5LiL5ouJ5Yi35paw5Yqo55S7IGVuZCAtLS0tLS1cclxuXHJcbi8qKlxyXG4gKiDnm5HlkKzpgLvovpHlsYLmlbDmja7nmoTlj5jljJYgKOWunuaXtuabtOaWsOaVsOaNrilcclxuICovXHJcbmZ1bmN0aW9uIHByb3BPYnNlcnZlcih3eHNQcm9wKSB7XHJcblx0bWUub3B0RG93biA9IHd4c1Byb3Aub3B0RG93blxyXG5cdG1lLnNjcm9sbFRvcCA9IHd4c1Byb3Auc2Nyb2xsVG9wXHJcblx0bWUuYm9keUhlaWdodCA9IHd4c1Byb3AuYm9keUhlaWdodFxyXG5cdG1lLmlzRG93blNjcm9sbGluZyA9IHd4c1Byb3AuaXNEb3duU2Nyb2xsaW5nXHJcblx0bWUuaXNVcFNjcm9sbGluZyA9IHd4c1Byb3AuaXNVcFNjcm9sbGluZ1xyXG5cdG1lLmlzVXBCb3RoID0gd3hzUHJvcC5pc1VwQm90aFxyXG5cdG1lLmlzU2Nyb2xsQm9keSA9IHd4c1Byb3AuaXNTY3JvbGxCb2R5XHJcblx0bWUuc3RhcnRUb3AgPSB3eHNQcm9wLnNjcm9sbFRvcCAvLyDlj4rml7bmm7TmlrB0b3VjaHN0YXJ06Kem5Y+R55qEc3RhcnRUb3AsIOmBv+WFjXNjcm9sbC12aWV35b+r6YCf5oOv5oCn5rua5Yqo5Yiw6aG26YOo5Y+W5YC85LiN5YeG56GuXHJcbn1cclxuXHJcbi8qKlxyXG4gKiDnm5HlkKzpgLvovpHlsYLmlbDmja7nmoTlj5jljJYgKOiwg+eUqHd4c+eahOaWueazlSlcclxuICovXHJcbmZ1bmN0aW9uIGNhbGxPYnNlcnZlcihjYWxsUHJvcCwgb2xkVmFsdWUsIGlucykge1xyXG5cdGlmIChtZS5kaXNhYmxlZCgpKSByZXR1cm47XHJcblx0aWYoY2FsbFByb3AuY2FsbFR5cGUpe1xyXG5cdFx0Ly8g6YC76L6R5bGC77yIQXBwIFNlcnZpY2XvvInnmoRzdHlsZeW3suWkseaViCzpnIDlnKjop4blm77lsYLvvIhXZWJ2aWV377yJ6K6+572uc3R5bGVcclxuXHRcdGlmKGNhbGxQcm9wLmNhbGxUeXBlID09PSAnc2hvd0xvYWRpbmcnKXtcclxuXHRcdFx0bWUuc2hvd0xvYWRpbmcoaW5zKVxyXG5cdFx0fWVsc2UgaWYoY2FsbFByb3AuY2FsbFR5cGUgPT09ICdlbmREb3duU2Nyb2xsJyl7XHJcblx0XHRcdG1lLmVuZERvd25TY3JvbGwoaW5zKVxyXG5cdFx0fWVsc2UgaWYoY2FsbFByb3AuY2FsbFR5cGUgPT09ICdjbGVhclRyYW5zZm9ybScpe1xyXG5cdFx0XHRtZS5jbGVhclRyYW5zZm9ybShpbnMpXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogdG91Y2jkuovku7ZcclxuICovXHJcbmZ1bmN0aW9uIHRvdWNoc3RhcnRFdmVudChlLCBpbnMpIHtcclxuXHRtZS5kb3duSGlnaHQgPSAwOyAvLyDkuIvmi4nnmoTot53nprtcclxuXHRtZS5zdGFydFBvaW50ID0gbWUuZ2V0UG9pbnQoZSk7IC8vIOiusOW9lei1t+eCuVxyXG5cdG1lLnN0YXJ0VG9wID0gbWUuZ2V0U2Nyb2xsVG9wKCk7IC8vIOiusOW9leatpOaXtueahOa7muWKqOadoeS9jee9rlxyXG5cdG1lLnN0YXJ0QW5nbGUgPSAwOyAvLyDliJ3lp4vop5LluqZcclxuXHRtZS5sYXN0UG9pbnQgPSBtZS5zdGFydFBvaW50OyAvLyDph43nva7kuIrmrKFtb3Zl55qE54K5XHJcblx0bWUubWF4VG91Y2htb3ZlWSA9IG1lLmdldEJvZHlIZWlnaHQoKSAtIG1lLm9wdERvd24uYm90dG9tT2Zmc2V0OyAvLyDmiYvmjIfop6bmkbjnmoTmnIDlpKfojIPlm7Qo5YaZ5ZyodG91Y2hzdGFydOmBv+WFjWJvZHnojrflj5bpq5jluqbkuLow55qE5oOF5Ya1KVxyXG5cdG1lLmluVG91Y2hlbmQgPSBmYWxzZTsgLy8g5qCH6K6w5LiN5pivdG91Y2hlbmRcclxuXHRcclxuXHRtZS5jYWxsTWV0aG9kKGlucywge3R5cGU6ICdzZXRXeHNQcm9wJ30pIC8vIOWQjOatpeabtOaWsHd4c1Byb3DnmoTmlbDmja4gKOWwj+eoi+W6j+aYr+W8guatpeeahCzlj6/og710b3VjaG1vdmXlhYjmiafooYws5omN5YiwcHJvcE9ic2VydmVyOyBoNeWSjGFwcOaYr+WQjOatpSlcclxufVxyXG5cclxuZnVuY3Rpb24gdG91Y2htb3ZlRXZlbnQoZSwgaW5zKSB7XHJcblx0dmFyIGlzUHJldmVudCA9IHRydWUgLy8gZmFsc2XooajnpLrkuI3lvoDkuIrlhpLms6HvvIznm7jlvZPkuo7osIPnlKjkuoblkIzml7bosIPnlKjkuoZzdG9wUHJvcGFnYXRpb27lkoxwcmV2ZW50RGVmYXVsdCAo5a+55bCP56iL5bqP55Sf5pWILCBoNeWSjGFwcOaXoOaViClcclxuXHRcclxuXHRpZiAobWUuZGlzYWJsZWQoKSkgcmV0dXJuIGlzUHJldmVudDtcclxuXHRcclxuXHR2YXIgc2Nyb2xsVG9wID0gbWUuZ2V0U2Nyb2xsVG9wKCk7IC8vIOW9k+WJjea7muWKqOadoeeahOi3neemu1xyXG5cdHZhciBjdXJQb2ludCA9IG1lLmdldFBvaW50KGUpOyAvLyDlvZPliY3ngrlcclxuXHRcclxuXHR2YXIgbW92ZVkgPSBjdXJQb2ludC55IC0gbWUuc3RhcnRQb2ludC55OyAvLyDlkozotbfngrnmr5Qs56e75Yqo55qE6Led56a7LOWkp+S6jjDlkJHkuIvmi4ks5bCP5LqOMOWQkeS4iuaLiVxyXG5cdFxyXG5cdC8vIOWQkeS4i+aLiSAmJiDlnKjpobbpg6hcclxuXHQvLyBtZXNjcm9sbC1ib2R5LOebtOaOpeWIpOWumuWcqOmhtumDqOWNs+WPr1xyXG5cdC8vIHNjcm9sbC12aWV35Zyo5rua5Yqo5pe25LiN5Lya6Kem5Y+RdG91Y2htb3ZlLOW9k+inpumhti/lupUv5bemL+WPs+aXtizmiY3kvJrop6blj5F0b3VjaG1vdmVcclxuXHQvLyBzY3JvbGwtdmlld+a7muWKqOWIsOmhtumDqOaXtixzY3JvbGxUb3DkuI3kuIDlrprkuLowLOS5n+acieWPr+iDveWkp+S6jjA7IOWcqGlPU+eahEFQUOS4rXNjcm9sbFRvcOWPr+iDveS4uui0n+aVsCzkuI3kuIDlrprlkoxzdGFydFRvcOebuOetiVxyXG5cdGlmIChtb3ZlWSA+IDAgJiYgKFxyXG5cdFx0XHQobWUuaXNTY3JvbGxCb2R5ICYmIHNjcm9sbFRvcCA8PSAwKVxyXG5cdFx0XHR8fFxyXG5cdFx0XHQoIW1lLmlzU2Nyb2xsQm9keSAmJiAoc2Nyb2xsVG9wIDw9IDAgfHwgKHNjcm9sbFRvcCA8PSBtZS5vcHREb3duLnN0YXJ0VG9wICYmIHNjcm9sbFRvcCA9PT0gbWUuc3RhcnRUb3ApKSApXHJcblx0XHQpKSB7XHJcblx0XHQvLyDlj6/kuIvmi4nnmoTmnaHku7ZcclxuXHRcdGlmICghbWUuaW5Ub3VjaGVuZCAmJiAhbWUuaXNEb3duU2Nyb2xsaW5nICYmICFtZS5vcHREb3duLmlzTG9jayAmJiAoIW1lLmlzVXBTY3JvbGxpbmcgfHwgKG1lLmlzVXBTY3JvbGxpbmcgJiZcclxuXHRcdFx0XHRtZS5pc1VwQm90aCkpKSB7XHJcblx0XHJcblx0XHRcdC8vIOS4i+aLieeahOinkuW6puaYr+WQpuWcqOmFjee9rueahOiMg+WbtOWGhVxyXG5cdFx0XHRpZighbWUuc3RhcnRBbmdsZSkgbWUuc3RhcnRBbmdsZSA9IG1lLmdldEFuZ2xlKG1lLmxhc3RQb2ludCwgY3VyUG9pbnQpOyAvLyDkuKTngrnkuYvpl7TnmoTop5LluqYs5Yy66Ze0IFswLDkwXVxyXG5cdFx0XHRpZiAobWUuc3RhcnRBbmdsZSA8IG1lLm9wdERvd24ubWluQW5nbGUpIHJldHVybiBpc1ByZXZlbnQ7IC8vIOWmguaenOWwj+S6jumFjee9rueahOinkuW6pizliJnkuI3lvoDkuIvmiafooYzkuIvmi4nliLfmlrBcclxuXHRcclxuXHRcdFx0Ly8g5aaC5p6c5omL5oyH55qE5L2N572u6LaF6L+H6YWN572u55qE6Led56a7LOWImeaPkOWJjee7k+adn+S4i+aLiSzpgb/lhY1XZWJ2aWV35bWM5aWX5a+86Ie0dG91Y2hlbmTml6Dms5Xop6blj5FcclxuXHRcdFx0aWYgKG1lLm1heFRvdWNobW92ZVkgPiAwICYmIGN1clBvaW50LnkgPj0gbWUubWF4VG91Y2htb3ZlWSkge1xyXG5cdFx0XHRcdG1lLmluVG91Y2hlbmQgPSB0cnVlOyAvLyDmoIforrDmiafooYx0b3VjaGVuZFxyXG5cdFx0XHRcdHRvdWNoZW5kRXZlbnQoZSwgaW5zKTsgLy8g5o+Q5YmN6Kem5Y+RdG91Y2hlbmRcclxuXHRcdFx0XHRyZXR1cm4gaXNQcmV2ZW50O1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRpc1ByZXZlbnQgPSBmYWxzZSAvLyDlsI/nqIvluo/mmK9yZXR1cm4gZmFsc2VcclxuXHRcclxuXHRcdFx0dmFyIGRpZmYgPSBjdXJQb2ludC55IC0gbWUubGFzdFBvaW50Lnk7IC8vIOWSjOS4iuasoeavlCznp7vliqjnmoTot53nprsgKOWkp+S6jjDlkJHkuIss5bCP5LqOMOWQkeS4iilcclxuXHRcclxuXHRcdFx0Ly8g5LiL5ouJ6Led56a7ICA8IOaMh+Wumui3neemu1xyXG5cdFx0XHRpZiAobWUuZG93bkhpZ2h0IDwgbWUub3B0RG93bi5vZmZzZXQpIHtcclxuXHRcdFx0XHRpZiAobWUubW92ZXR5cGUgIT09IDEpIHtcclxuXHRcdFx0XHRcdG1lLm1vdmV0eXBlID0gMTsgLy8g5Yqg5YWl5qCH6K6wLOS/neivgeWPquaJp+ihjOS4gOasoVxyXG5cdFx0XHRcdFx0Ly8gbWUub3B0RG93bi5pbk9mZnNldCAmJiBtZS5vcHREb3duLmluT2Zmc2V0KG1lKTsgLy8g6L+b5YWl5oyH5a6a6Led56a76IyD5Zu05YaF6YKj5LiA5Yi755qE5Zue6LCDLOWPquaJp+ihjOS4gOasoVxyXG5cdFx0XHRcdFx0bWUuY2FsbE1ldGhvZChpbnMsIHt0eXBlOiAnc2V0TG9hZFR5cGUnLCBkb3duTG9hZFR5cGU6IDF9KVxyXG5cdFx0XHRcdFx0bWUuaXNNb3ZlRG93biA9IHRydWU7IC8vIOagh+iusOS4i+aLieWMuuWfn+mrmOW6puaUueWPmCzlnKh0b3VjaGVuZOmHjee9ruWbnuadpVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRtZS5kb3duSGlnaHQgKz0gZGlmZiAqIG1lLm9wdERvd24uaW5PZmZzZXRSYXRlOyAvLyDotorlvoDkuIss6auY5bqm5Y+Y5YyW6LaK5bCPXHJcblx0XHJcblx0XHRcdFx0Ly8g5oyH5a6a6Led56a7ICA8PSDkuIvmi4not53nprtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRpZiAobWUubW92ZXR5cGUgIT09IDIpIHtcclxuXHRcdFx0XHRcdG1lLm1vdmV0eXBlID0gMjsgLy8g5Yqg5YWl5qCH6K6wLOS/neivgeWPquaJp+ihjOS4gOasoVxyXG5cdFx0XHRcdFx0Ly8gbWUub3B0RG93bi5vdXRPZmZzZXQgJiYgbWUub3B0RG93bi5vdXRPZmZzZXQobWUpOyAvLyDkuIvmi4notoXov4fmjIflrprot53nprvpgqPkuIDliLvnmoTlm57osIMs5Y+q5omn6KGM5LiA5qyhXHJcblx0XHRcdFx0XHRtZS5jYWxsTWV0aG9kKGlucywge3R5cGU6ICdzZXRMb2FkVHlwZScsIGRvd25Mb2FkVHlwZTogMn0pXHJcblx0XHRcdFx0XHRtZS5pc01vdmVEb3duID0gdHJ1ZTsgLy8g5qCH6K6w5LiL5ouJ5Yy65Z+f6auY5bqm5pS55Y+YLOWcqHRvdWNoZW5k6YeN572u5Zue5p2lXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChkaWZmID4gMCkgeyAvLyDlkJHkuIvmi4lcclxuXHRcdFx0XHRcdG1lLmRvd25IaWdodCArPSBkaWZmICogbWUub3B0RG93bi5vdXRPZmZzZXRSYXRlOyAvLyDotorlvoDkuIss6auY5bqm5Y+Y5YyW6LaK5bCPXHJcblx0XHRcdFx0fSBlbHNlIHsgLy8g5ZCR5LiK5pS2XHJcblx0XHRcdFx0XHRtZS5kb3duSGlnaHQgKz0gZGlmZjsgLy8g5ZCR5LiK5pS25Zue6auY5bqmLOWImeWQkeS4iua7keWkmuWwkeaUtuWkmuWwkemrmOW6plxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0bWUuZG93bkhpZ2h0ID0gTWF0aC5yb3VuZChtZS5kb3duSGlnaHQpIC8vIOWPluaVtFxyXG5cdFx0XHR2YXIgcmF0ZSA9IG1lLmRvd25IaWdodCAvIG1lLm9wdERvd24ub2Zmc2V0OyAvLyDkuIvmi4nljLrln5/lvZPliY3pq5jluqbkuI7mjIflrprot53nprvnmoTmr5TlgLxcclxuXHRcdFx0Ly8gbWUub3B0RG93bi5vbk1vdmluZyAmJiBtZS5vcHREb3duLm9uTW92aW5nKG1lLCByYXRlLCBtZS5kb3duSGlnaHQpOyAvLyDkuIvmi4nov4fnqIvkuK3nmoTlm57osIMs5LiA55u05Zyo5omn6KGMXHJcblx0XHRcdG1lLm9uTW92aW5nKGlucywgcmF0ZSwgbWUuZG93bkhpZ2h0KVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHRtZS5sYXN0UG9pbnQgPSBjdXJQb2ludDsgLy8g6K6w5b2V5pys5qyh56e75Yqo55qE54K5XHJcblx0XHJcblx0cmV0dXJuIGlzUHJldmVudCAvLyBmYWxzZeihqOekuuS4jeW+gOS4iuWGkuazoe+8jOebuOW9k+S6juiwg+eUqOS6huWQjOaXtuiwg+eUqOS6hnN0b3BQcm9wYWdhdGlvbuWSjHByZXZlbnREZWZhdWx0ICjlr7nlsI/nqIvluo/nlJ/mlYgsIGg15ZKMYXBw5peg5pWIKVxyXG59XHJcblxyXG5mdW5jdGlvbiB0b3VjaGVuZEV2ZW50KGUsIGlucykge1xyXG5cdC8vIOWmguaenOS4i+aLieWMuuWfn+mrmOW6puW3suaUueWPmCzliJnpnIDph43nva7lm57mnaVcclxuXHRpZiAobWUuaXNNb3ZlRG93bikge1xyXG5cdFx0aWYgKG1lLmRvd25IaWdodCA+PSBtZS5vcHREb3duLm9mZnNldCkge1xyXG5cdFx0XHQvLyDnrKblkIjop6blj5HliLfmlrDnmoTmnaHku7ZcclxuXHRcdFx0bWUuZG93bkhpZ2h0ID0gbWUub3B0RG93bi5vZmZzZXQ7IC8vIOabtOaWsOS4i+aLieWMuuWfn+mrmOW6plxyXG5cdFx0XHQvLyBtZS50cmlnZ2VyRG93blNjcm9sbCgpO1xyXG5cdFx0XHRtZS5jYWxsTWV0aG9kKGlucywge3R5cGU6ICd0cmlnZ2VyRG93blNjcm9sbCd9KVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Ly8g5LiN56ym5ZCI55qE6K+dIOWImemHjee9rlxyXG5cdFx0XHRtZS5kb3duSGlnaHQgPSAwO1xyXG5cdFx0XHQvLyBtZS5vcHREb3duLmVuZERvd25TY3JvbGwgJiYgbWUub3B0RG93bi5lbmREb3duU2Nyb2xsKG1lKTtcclxuXHRcdFx0bWUuY2FsbE1ldGhvZChpbnMsIHt0eXBlOiAnZW5kRG93blNjcm9sbCd9KVxyXG5cdFx0fVxyXG5cdFx0bWUubW92ZXR5cGUgPSAwO1xyXG5cdFx0bWUuaXNNb3ZlRG93biA9IGZhbHNlO1xyXG5cdH0gZWxzZSBpZiAoIW1lLmlzU2Nyb2xsQm9keSAmJiBtZS5nZXRTY3JvbGxUb3AoKSA9PT0gbWUuc3RhcnRUb3ApIHsgLy8gc2Nyb2xsLXZpZXfliLDpobYv5bemL+WPsy/lupXnmoTmu5Hliqjkuovku7ZcclxuXHRcdHZhciBpc1Njcm9sbFVwID0gbWUuZ2V0UG9pbnQoZSkueSAtIG1lLnN0YXJ0UG9pbnQueSA8IDA7IC8vIOWSjOi1t+eCueavlCznp7vliqjnmoTot53nprss5aSn5LqOMOWQkeS4i+aLiSzlsI/kuo4w5ZCR5LiK5ouJXHJcblx0XHQvLyDkuIrmu5FcclxuXHRcdGlmIChpc1Njcm9sbFVwKSB7XHJcblx0XHRcdC8vIOmcgOajgOafpea7keWKqOeahOinkuW6plxyXG5cdFx0XHR2YXIgYW5nbGUgPSBtZS5nZXRBbmdsZShtZS5nZXRQb2ludChlKSwgbWUuc3RhcnRQb2ludCk7IC8vIOS4pOeCueS5i+mXtOeahOinkuW6pizljLrpl7QgWzAsOTBdXHJcblx0XHRcdGlmIChhbmdsZSA+IDgwKSB7XHJcblx0XHRcdFx0Ly8g5qOA5p+l5bm26Kem5Y+R5LiK5ouJXHJcblx0XHRcdFx0Ly8gbWUudHJpZ2dlclVwU2Nyb2xsKHRydWUpO1xyXG5cdFx0XHRcdG1lLmNhbGxNZXRob2QoaW5zLCB7dHlwZTogJ3RyaWdnZXJVcFNjcm9sbCd9KVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdG1lLmNhbGxNZXRob2QoaW5zLCB7dHlwZTogJ3NldFd4c1Byb3AnfSkgLy8g5ZCM5q2l5pu05pawd3hzUHJvcOeahOaVsOaNriAo5bCP56iL5bqP5piv5byC5q2l55qELOWPr+iDvXRvdWNobW92ZeWFiOaJp+ihjCzmiY3liLBwcm9wT2JzZXJ2ZXI7IGg15ZKMYXBw5piv5ZCM5q2lKVxyXG59XHJcblxyXG4vKiDmmK/lkKbnpoHnlKjkuIvmi4nliLfmlrAgKi9cclxubWUuZGlzYWJsZWQgPSBmdW5jdGlvbigpe1xyXG5cdHJldHVybiAhbWUub3B0RG93biB8fCAhbWUub3B0RG93bi51c2UgfHwgbWUub3B0RG93bi5uYXRpdmVcclxufVxyXG5cclxuLyog5qC55o2u54K55Ye75ruR5Yqo5LqL5Lu26I635Y+W56ys5LiA5Liq5omL5oyH55qE5Z2Q5qCHICovXHJcbm1lLmdldFBvaW50ID0gZnVuY3Rpb24oZSkge1xyXG5cdGlmICghZSkge1xyXG5cdFx0cmV0dXJuIHt4OiAwLHk6IDB9XHJcblx0fVxyXG5cdGlmIChlLnRvdWNoZXMgJiYgZS50b3VjaGVzWzBdKSB7XHJcblx0XHRyZXR1cm4ge3g6IGUudG91Y2hlc1swXS5wYWdlWCx5OiBlLnRvdWNoZXNbMF0ucGFnZVl9XHJcblx0fSBlbHNlIGlmIChlLmNoYW5nZWRUb3VjaGVzICYmIGUuY2hhbmdlZFRvdWNoZXNbMF0pIHtcclxuXHRcdHJldHVybiB7eDogZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWCx5OiBlLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VZfVxyXG5cdH0gZWxzZSB7XHJcblx0XHRyZXR1cm4ge3g6IGUuY2xpZW50WCx5OiBlLmNsaWVudFl9XHJcblx0fVxyXG59XHJcblxyXG4vKiDorqHnrpfkuKTngrnkuYvpl7TnmoTop5LluqY6IOWMuumXtCBbMCw5MF0qL1xyXG5tZS5nZXRBbmdsZSA9IGZ1bmN0aW9uIChwMSwgcDIpIHtcclxuXHR2YXIgeCA9IE1hdGguYWJzKHAxLnggLSBwMi54KTtcclxuXHR2YXIgeSA9IE1hdGguYWJzKHAxLnkgLSBwMi55KTtcclxuXHR2YXIgeiA9IE1hdGguc3FydCh4ICogeCArIHkgKiB5KTtcclxuXHR2YXIgYW5nbGUgPSAwO1xyXG5cdGlmICh6ICE9PSAwKSB7XHJcblx0XHRhbmdsZSA9IE1hdGguYXNpbih5IC8geikgLyBNYXRoLlBJICogMTgwO1xyXG5cdH1cclxuXHRyZXR1cm4gYW5nbGVcclxufVxyXG5cclxuLyog6I635Y+W5rua5Yqo5p2h55qE5L2N572uICovXHJcbm1lLmdldFNjcm9sbFRvcCA9IGZ1bmN0aW9uKCkge1xyXG5cdHJldHVybiBtZS5zY3JvbGxUb3AgfHwgMFxyXG59XHJcblxyXG4vKiDojrflj5Zib2R555qE6auY5bqmICovXHJcbm1lLmdldEJvZHlIZWlnaHQgPSBmdW5jdGlvbigpIHtcclxuXHRyZXR1cm4gbWUuYm9keUhlaWdodCB8fCAwO1xyXG59XHJcblxyXG4vKiDosIPnlKjpgLvovpHlsYLnmoTmlrnms5UgKi9cclxubWUuY2FsbE1ldGhvZCA9IGZ1bmN0aW9uKGlucywgcGFyYW0pIHtcclxuXHRpZihpbnMpIGlucy5jYWxsTWV0aG9kKCd3eHNDYWxsJywgcGFyYW0pXHJcbn1cclxuXHJcbi8qIOWvvOWHuuaooeWdlyAqL1xyXG5tb2R1bGUuZXhwb3J0cyA9IHtcclxuXHRwcm9wT2JzZXJ2ZXI6IHByb3BPYnNlcnZlcixcclxuXHRjYWxsT2JzZXJ2ZXI6IGNhbGxPYnNlcnZlcixcclxuXHR0b3VjaHN0YXJ0RXZlbnQ6IHRvdWNoc3RhcnRFdmVudCxcclxuXHR0b3VjaG1vdmVFdmVudDogdG91Y2htb3ZlRXZlbnQsXHJcblx0dG91Y2hlbmRFdmVudDogdG91Y2hlbmRFdmVudFxyXG59XG4gICAgICAgcmV0dXJuIG1vZHVsZS5leHBvcnRzXG4gICAgICAgfSkoe2V4cG9ydHM6e319KTtcbiAgICAgfSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///74\n");
/***/ }),
/* 75 */
/*!*****************************************************!*\
!*** E:/2023/8/MT_APP/debug/GenerateTestUserSig.js ***!
\*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nvar _libGenerateTestUsersigEsMin = _interopRequireDefault(__webpack_require__(/*! ./lib-generate-test-usersig-es.min.js */ 76));\n/**\r\n * 腾讯云 SDKAppId,需要替换为您自己账号下的 SDKAppId。\r\n *\r\n * 进入腾讯云实时音视频[控制台](https://console.cloud.tencent.com/rav ) 创建应用,即可看到 SDKAppId,\r\n * 它是腾讯云用于区分客户的唯一标识。\r\n */\n\nvar SDKAPPID = 1400752232;\n/**\r\n * 签名过期时间,建议不要设置的过短\r\n * \r\n * 时间单位:秒\r\n * 默认时间:7 x 24 x 60 x 60 = 604800 = 7 天\r\n */\n\nvar EXPIRETIME = 604800;\n/**\r\n * 计算签名用的加密密钥,获取步骤如下:\r\n *\r\n * step1. 进入腾讯云实时音视频[控制台](https://console.cloud.tencent.com/rav ),如果还没有应用就创建一个,\r\n * step2. 单击“应用配置”进入基础配置页面,并进一步找到“帐号体系集成”部分。\r\n * step3. 点击“查看密钥”按钮,就可以看到计算 UserSig 使用的加密的密钥了,请将其拷贝并复制到如下的变量中\r\n *\r\n * 注意:该方案仅适用于调试Demo,正式上线前请将 UserSig 计算代码和密钥迁移到您的后台服务器上,以避免加密密钥泄露导致的流量盗用。\r\n * 文档:https://cloud.tencent.com/document/product/647/17275#Server\r\n */\n\nvar SECRETKEY = '6219db695ec3d334d2812e16fb26366f71f045348b02abfcb7459538fc6dc96c';\n/*\r\n * Module: GenerateTestUserSig\r\n *\r\n * Function: 用于生成测试用的 UserSig,UserSig 是腾讯云为其云服务设计的一种安全保护签名。\r\n * 其计算方法是对 SDKAppID、UserID 和 EXPIRETIME 进行加密,加密算法为 HMAC-SHA256。\r\n *\r\n * Attention: 请不要将如下代码发布到您的线上正式版本的 App 中,原因如下:\r\n *\r\n * 本文件中的代码虽然能够正确计算出 UserSig,但仅适合快速调通 SDK 的基本功能,不适合线上产品,\r\n * 这是因为客户端代码中的 SECRETKEY 很容易被反编译逆向破解,尤其是 Web 端的代码被破解的难度几乎为零。\r\n * 一旦您的密钥泄露,攻击者就可以计算出正确的 UserSig 来盗用您的腾讯云流量。\r\n *\r\n * 正确的做法是将 UserSig 的计算代码和加密密钥放在您的业务服务器上,然后由 App 按需向您的服务器获取实时算出的 UserSig。\r\n * 由于破解服务器的成本要高于破解客户端 App,所以服务器计算的方案能够更好地保护您的加密密钥。\r\n *\r\n * Reference:https://cloud.tencent.com/document/product/647/17275#Server\r\n */\n\nfunction genTestUserSig(userID) {\n var generator = new _libGenerateTestUsersigEsMin.default(SDKAPPID, SECRETKEY, EXPIRETIME);\n var userSig = generator.genTestUserSig(userID);\n return {\n sdkAppID: SDKAPPID,\n userSig: userSig\n };\n}\nmodule.exports = {\n genTestUserSig: genTestUserSig\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vZGVidWcvR2VuZXJhdGVUZXN0VXNlclNpZy5qcyJdLCJuYW1lcyI6WyJTREtBUFBJRCIsIkVYUElSRVRJTUUiLCJTRUNSRVRLRVkiLCJnZW5UZXN0VXNlclNpZyIsInVzZXJJRCIsImdlbmVyYXRvciIsIkxpYkdlbmVyYXRlVGVzdFVzZXJTaWciLCJ1c2VyU2lnIiwic2RrQXBwSUQiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFNQSxRQUFRLEdBQUcsVUFBVTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBTUMsVUFBVSxHQUFHLE1BQU07QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBTUMsU0FBUyxHQUFHLGtFQUFrRTtBQUNwRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVNDLGNBQWMsQ0FBQ0MsTUFBTSxFQUFFO0VBQzlCLElBQU1DLFNBQVMsR0FBRyxJQUFJQyxvQ0FBc0IsQ0FBQ04sUUFBUSxFQUFFRSxTQUFTLEVBQUVELFVBQVUsQ0FBQztFQUM3RSxJQUFNTSxPQUFPLEdBQUdGLFNBQVMsQ0FBQ0YsY0FBYyxDQUFDQyxNQUFNLENBQUM7RUFDaEQsT0FBTztJQUNMSSxRQUFRLEVBQUVSLFFBQVE7SUFDbEJPLE9BQU8sRUFBUEE7RUFDRixDQUFDO0FBQ0g7QUFFQUUsTUFBTSxDQUFDQyxPQUFPLEdBQUc7RUFDZlAsY0FBYyxFQUFkQTtBQUNGLENBQUMiLCJmaWxlIjoiNzUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGliR2VuZXJhdGVUZXN0VXNlclNpZyBmcm9tICcuL2xpYi1nZW5lcmF0ZS10ZXN0LXVzZXJzaWctZXMubWluLmpzJztcclxuLyoqXHJcbiAqIOiFvuiur+S6kSBTREtBcHBJZO+8jOmcgOimgeabv+aNouS4uuaCqOiHquW3sei0puWPt+S4i+eahCBTREtBcHBJZOOAglxyXG4gKlxyXG4gKiDov5vlhaXohb7orq/kupHlrp7ml7bpn7Pop4bpopFb5o6n5Yi25Y+wXShodHRwczovL2NvbnNvbGUuY2xvdWQudGVuY2VudC5jb20vcmF2ICkg5Yib5bu65bqU55So77yM5Y2z5Y+v55yL5YiwIFNES0FwcElk77yMXHJcbiAqIOWug+aYr+iFvuiur+S6keeUqOS6juWMuuWIhuWuouaIt+eahOWUr+S4gOagh+ivhuOAglxyXG4gKi9cclxuXHJcbmNvbnN0IFNES0FQUElEID0gMTQwMDc1MjIzMjtcclxuLyoqXHJcbiAqIOetvuWQjei/h+acn+aXtumXtO+8jOW7uuiuruS4jeimgeiuvue9rueahOi/h+efrVxyXG4gKiA8cD5cclxuICog5pe26Ze05Y2V5L2N77ya56eSXHJcbiAqIOm7mOiupOaXtumXtO+8mjcgeCAyNCB4IDYwIHggNjAgPSA2MDQ4MDAgPSA3IOWkqVxyXG4gKi9cclxuXHJcbmNvbnN0IEVYUElSRVRJTUUgPSA2MDQ4MDA7XHJcbi8qKlxyXG4gKiDorqHnrpfnrb7lkI3nlKjnmoTliqDlr4blr4bpkqXvvIzojrflj5bmraXpqqTlpoLkuIvvvJpcclxuICpcclxuICogc3RlcDEuIOi/m+WFpeiFvuiur+S6keWunuaXtumfs+inhumikVvmjqfliLblj7BdKGh0dHBzOi8vY29uc29sZS5jbG91ZC50ZW5jZW50LmNvbS9yYXYgKe+8jOWmguaenOi/mOayoeacieW6lOeUqOWwseWIm+W7uuS4gOS4qu+8jFxyXG4gKiBzdGVwMi4g5Y2V5Ye74oCc5bqU55So6YWN572u4oCd6L+b5YWl5Z+656GA6YWN572u6aG16Z2i77yM5bm26L+b5LiA5q2l5om+5Yiw4oCc5biQ5Y+35L2T57O76ZuG5oiQ4oCd6YOo5YiG44CCXHJcbiAqIHN0ZXAzLiDngrnlh7vigJzmn6XnnIvlr4bpkqXigJ3mjInpkq7vvIzlsLHlj6/ku6XnnIvliLDorqHnrpcgVXNlclNpZyDkvb/nlKjnmoTliqDlr4bnmoTlr4bpkqXkuobvvIzor7flsIblhbbmi7fotJ3lubblpI3liLbliLDlpoLkuIvnmoTlj5jph4/kuK1cclxuICpcclxuICog5rOo5oSP77ya6K+l5pa55qGI5LuF6YCC55So5LqO6LCD6K+VRGVtb++8jOato+W8j+S4iue6v+WJjeivt+WwhiBVc2VyU2lnIOiuoeeul+S7o+eggeWSjOWvhumSpei/geenu+WIsOaCqOeahOWQjuWPsOacjeWKoeWZqOS4iu+8jOS7pemBv+WFjeWKoOWvhuWvhumSpeazhOmcsuWvvOiHtOeahOa1gemHj+ebl+eUqOOAglxyXG4gKiDmlofmoaPvvJpodHRwczovL2Nsb3VkLnRlbmNlbnQuY29tL2RvY3VtZW50L3Byb2R1Y3QvNjQ3LzE3Mjc1I1NlcnZlclxyXG4gKi9cclxuXHJcbmNvbnN0IFNFQ1JFVEtFWSA9ICc2MjE5ZGI2OTVlYzNkMzM0ZDI4MTJlMTZmYjI2MzY2ZjcxZjA0NTM0OGIwMmFiZmNiNzQ1OTUzOGZjNmRjOTZjJztcclxuLypcclxuICogTW9kdWxlOiAgIEdlbmVyYXRlVGVzdFVzZXJTaWdcclxuICpcclxuICogRnVuY3Rpb246IOeUqOS6jueUn+aIkOa1i+ivleeUqOeahCBVc2VyU2ln77yMVXNlclNpZyDmmK/ohb7orq/kupHkuLrlhbbkupHmnI3liqHorr7orqHnmoTkuIDnp43lronlhajkv53miqTnrb7lkI3jgIJcclxuICogICAgICAgICAgIOWFtuiuoeeul+aWueazleaYr+WvuSBTREtBcHBJROOAgVVzZXJJRCDlkowgRVhQSVJFVElNRSDov5vooYzliqDlr4bvvIzliqDlr4bnrpfms5XkuLogSE1BQy1TSEEyNTbjgIJcclxuICpcclxuICogQXR0ZW50aW9uOiDor7fkuI3opoHlsIblpoLkuIvku6PnoIHlj5HluIPliLDmgqjnmoTnur/kuIrmraPlvI/niYjmnKznmoQgQXBwIOS4re+8jOWOn+WboOWmguS4i++8mlxyXG4gKlxyXG4gKiAgICAgICAgICAgIOacrOaWh+S7tuS4reeahOS7o+eggeiZveeEtuiDveWkn+ato+ehruiuoeeul+WHuiBVc2VyU2ln77yM5L2G5LuF6YCC5ZCI5b+r6YCf6LCD6YCaIFNESyDnmoTln7rmnKzlip/og73vvIzkuI3pgILlkIjnur/kuIrkuqflk4HvvIxcclxuICogICAgICAgICAgICDov5nmmK/lm6DkuLrlrqLmiLfnq6/ku6PnoIHkuK3nmoQgU0VDUkVUS0VZIOW+iOWuueaYk+iiq+WPjee8luivkemAhuWQkeegtOino++8jOWwpOWFtuaYryBXZWIg56uv55qE5Luj56CB6KKr56C06Kej55qE6Zq+5bqm5Yeg5LmO5Li66Zu244CCXHJcbiAqICAgICAgICAgICAg5LiA5pem5oKo55qE5a+G6ZKl5rOE6Zyy77yM5pS75Ye76ICF5bCx5Y+v5Lul6K6h566X5Ye65q2j56Gu55qEIFVzZXJTaWcg5p2l55uX55So5oKo55qE6IW+6K6v5LqR5rWB6YeP44CCXHJcbiAqXHJcbiAqICAgICAgICAgICAg5q2j56Gu55qE5YGa5rOV5piv5bCGIFVzZXJTaWcg55qE6K6h566X5Luj56CB5ZKM5Yqg5a+G5a+G6ZKl5pS+5Zyo5oKo55qE5Lia5Yqh5pyN5Yqh5Zmo5LiK77yM54S25ZCO55SxIEFwcCDmjInpnIDlkJHmgqjnmoTmnI3liqHlmajojrflj5blrp7ml7bnrpflh7rnmoQgVXNlclNpZ+OAglxyXG4gKiAgICAgICAgICAgIOeUseS6juegtOino+acjeWKoeWZqOeahOaIkOacrOimgemrmOS6juegtOino+WuouaIt+erryBBcHDvvIzmiYDku6XmnI3liqHlmajorqHnrpfnmoTmlrnmoYjog73lpJ/mm7Tlpb3lnLDkv53miqTmgqjnmoTliqDlr4blr4bpkqXjgIJcclxuICpcclxuICogUmVmZXJlbmNl77yaaHR0cHM6Ly9jbG91ZC50ZW5jZW50LmNvbS9kb2N1bWVudC9wcm9kdWN0LzY0Ny8xNzI3NSNTZXJ2ZXJcclxuICovXHJcblxyXG5mdW5jdGlvbiBnZW5UZXN0VXNlclNpZyh1c2VySUQpIHtcclxuICBjb25zdCBnZW5lcmF0b3IgPSBuZXcgTGliR2VuZXJhdGVUZXN0VXNlclNpZyhTREtBUFBJRCwgU0VDUkVUS0VZLCBFWFBJUkVUSU1FKTtcclxuICBjb25zdCB1c2VyU2lnID0gZ2VuZXJhdG9yLmdlblRlc3RVc2VyU2lnKHVzZXJJRCk7XHJcbiAgcmV0dXJuIHtcclxuICAgIHNka0FwcElEOiBTREtBUFBJRCxcclxuICAgIHVzZXJTaWdcclxuICB9O1xyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IHtcclxuICBnZW5UZXN0VXNlclNpZ1xyXG59O1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///75\n");
/***/ }),
/* 76 */
/*!******************************************************************!*\
!*** E:/2023/8/MT_APP/debug/lib-generate-test-usersig-es.min.js ***!
\******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(global, __f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 78));\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 79));\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 4));\n/*eslint-disable*/\nvar e = \"undefined\" != typeof global ? global : \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {},\n t = [],\n r = [],\n n = \"undefined\" != typeof Uint8Array ? Uint8Array : Array,\n i = !1;\nfunction o() {\n i = !0;\n for (var e = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", n = 0, o = e.length; n < o; ++n) {\n t[n] = e[n], r[e.charCodeAt(n)] = n;\n }\n r[\"-\".charCodeAt(0)] = 62, r[\"_\".charCodeAt(0)] = 63;\n}\nfunction a(e, r, n) {\n for (var i, o, a = [], s = r; s < n; s += 3) {\n i = (e[s] << 16) + (e[s + 1] << 8) + e[s + 2], a.push(t[(o = i) >> 18 & 63] + t[o >> 12 & 63] + t[o >> 6 & 63] + t[63 & o]);\n }\n return a.join(\"\");\n}\nfunction s(e) {\n var r;\n i || o();\n for (var n = e.length, s = n % 3, h = \"\", l = [], f = 0, c = n - s; f < c; f += 16383) {\n l.push(a(e, f, f + 16383 > c ? c : f + 16383));\n }\n return 1 === s ? (r = e[n - 1], h += t[r >> 2], h += t[r << 4 & 63], h += \"==\") : 2 === s && (r = (e[n - 2] << 8) + e[n - 1], h += t[r >> 10], h += t[r >> 4 & 63], h += t[r << 2 & 63], h += \"=\"), l.push(h), l.join(\"\");\n}\nfunction h(e, t, r, n, i) {\n var o,\n a,\n s = 8 * i - n - 1,\n h = (1 << s) - 1,\n l = h >> 1,\n f = -7,\n c = r ? i - 1 : 0,\n u = r ? -1 : 1,\n d = e[t + c];\n for (c += u, o = d & (1 << -f) - 1, d >>= -f, f += s; f > 0; o = 256 * o + e[t + c], c += u, f -= 8) {\n ;\n }\n for (a = o & (1 << -f) - 1, o >>= -f, f += n; f > 0; a = 256 * a + e[t + c], c += u, f -= 8) {\n ;\n }\n if (0 === o) o = 1 - l;else {\n if (o === h) return a ? NaN : 1 / 0 * (d ? -1 : 1);\n a += Math.pow(2, n), o -= l;\n }\n return (d ? -1 : 1) * a * Math.pow(2, o - n);\n}\nfunction l(e, t, r, n, i, o) {\n var a,\n s,\n h,\n l = 8 * o - i - 1,\n f = (1 << l) - 1,\n c = f >> 1,\n u = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0,\n d = n ? 0 : o - 1,\n p = n ? 1 : -1,\n _ = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;\n for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (s = isNaN(t) ? 1 : 0, a = f) : (a = Math.floor(Math.log(t) / Math.LN2), t * (h = Math.pow(2, -a)) < 1 && (a--, h *= 2), (t += a + c >= 1 ? u / h : u * Math.pow(2, 1 - c)) * h >= 2 && (a++, h /= 2), a + c >= f ? (s = 0, a = f) : a + c >= 1 ? (s = (t * h - 1) * Math.pow(2, i), a += c) : (s = t * Math.pow(2, c - 1) * Math.pow(2, i), a = 0)); i >= 8; e[r + d] = 255 & s, d += p, s /= 256, i -= 8) {\n ;\n }\n for (a = a << i | s, l += i; l > 0; e[r + d] = 255 & a, d += p, a /= 256, l -= 8) {\n ;\n }\n e[r + d - p] |= 128 * _;\n}\nvar f = {}.toString,\n c = Array.isArray || function (e) {\n return \"[object Array]\" == f.call(e);\n };\nfunction u() {\n return p.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;\n}\nfunction d(e, t) {\n if (u() < t) throw new RangeError(\"Invalid typed array length\");\n return p.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t)).__proto__ = p.prototype : (null === e && (e = new p(t)), e.length = t), e;\n}\nfunction p(e, t, r) {\n if (!(p.TYPED_ARRAY_SUPPORT || this instanceof p)) return new p(e, t, r);\n if (\"number\" == typeof e) {\n if (\"string\" == typeof t) throw new Error(\"If encoding is specified then the first argument must be a string\");\n return v(this, e);\n }\n return _(this, e, t, r);\n}\nfunction _(e, t, r, n) {\n if (\"number\" == typeof t) throw new TypeError('\"value\" argument must not be a number');\n return \"undefined\" != typeof ArrayBuffer && t instanceof ArrayBuffer ? function (e, t, r, n) {\n if (t.byteLength, r < 0 || t.byteLength < r) throw new RangeError(\"'offset' is out of bounds\");\n if (t.byteLength < r + (n || 0)) throw new RangeError(\"'length' is out of bounds\");\n t = void 0 === r && void 0 === n ? new Uint8Array(t) : void 0 === n ? new Uint8Array(t, r) : new Uint8Array(t, r, n);\n p.TYPED_ARRAY_SUPPORT ? (e = t).__proto__ = p.prototype : e = w(e, t);\n return e;\n }(e, t, r, n) : \"string\" == typeof t ? function (e, t, r) {\n \"string\" == typeof r && \"\" !== r || (r = \"utf8\");\n if (!p.isEncoding(r)) throw new TypeError('\"encoding\" must be a valid string encoding');\n var n = 0 | m(t, r),\n i = (e = d(e, n)).write(t, r);\n i !== n && (e = e.slice(0, i));\n return e;\n }(e, t, r) : function (e, t) {\n if (y(t)) {\n var r = 0 | b(t.length);\n return 0 === (e = d(e, r)).length ? e : (t.copy(e, 0, 0, r), e);\n }\n if (t) {\n if (\"undefined\" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || \"length\" in t) return \"number\" != typeof t.length || (n = t.length) != n ? d(e, 0) : w(e, t);\n if (\"Buffer\" === t.type && c(t.data)) return w(e, t.data);\n }\n var n;\n throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\");\n }(e, t);\n}\nfunction g(e) {\n if (\"number\" != typeof e) throw new TypeError('\"size\" argument must be a number');\n if (e < 0) throw new RangeError('\"size\" argument must not be negative');\n}\nfunction v(e, t) {\n if (g(t), e = d(e, t < 0 ? 0 : 0 | b(t)), !p.TYPED_ARRAY_SUPPORT) for (var r = 0; r < t; ++r) {\n e[r] = 0;\n }\n return e;\n}\nfunction w(e, t) {\n var r = t.length < 0 ? 0 : 0 | b(t.length);\n e = d(e, r);\n for (var n = 0; n < r; n += 1) {\n e[n] = 255 & t[n];\n }\n return e;\n}\nfunction b(e) {\n if (e >= u()) throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\" + u().toString(16) + \" bytes\");\n return 0 | e;\n}\nfunction y(e) {\n return !(null == e || !e._isBuffer);\n}\nfunction m(e, t) {\n if (y(e)) return e.length;\n if (\"undefined\" != typeof ArrayBuffer && \"function\" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength;\n \"string\" != typeof e && (e = \"\" + e);\n var r = e.length;\n if (0 === r) return 0;\n for (var n = !1;;) {\n switch (t) {\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return r;\n case \"utf8\":\n case \"utf-8\":\n case void 0:\n return q(e).length;\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return 2 * r;\n case \"hex\":\n return r >>> 1;\n case \"base64\":\n return V(e).length;\n default:\n if (n) return q(e).length;\n t = (\"\" + t).toLowerCase(), n = !0;\n }\n }\n}\nfunction k(e, t, r) {\n var n = !1;\n if ((void 0 === t || t < 0) && (t = 0), t > this.length) return \"\";\n if ((void 0 === r || r > this.length) && (r = this.length), r <= 0) return \"\";\n if ((r >>>= 0) <= (t >>>= 0)) return \"\";\n for (e || (e = \"utf8\");;) {\n switch (e) {\n case \"hex\":\n return O(this, t, r);\n case \"utf8\":\n case \"utf-8\":\n return C(this, t, r);\n case \"ascii\":\n return I(this, t, r);\n case \"latin1\":\n case \"binary\":\n return P(this, t, r);\n case \"base64\":\n return M(this, t, r);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return U(this, t, r);\n default:\n if (n) throw new TypeError(\"Unknown encoding: \" + e);\n e = (e + \"\").toLowerCase(), n = !0;\n }\n }\n}\nfunction E(e, t, r) {\n var n = e[t];\n e[t] = e[r], e[r] = n;\n}\nfunction S(e, t, r, n, i) {\n if (0 === e.length) return -1;\n if (\"string\" == typeof r ? (n = r, r = 0) : r > 2147483647 ? r = 2147483647 : r < -2147483648 && (r = -2147483648), r = +r, isNaN(r) && (r = i ? 0 : e.length - 1), r < 0 && (r = e.length + r), r >= e.length) {\n if (i) return -1;\n r = e.length - 1;\n } else if (r < 0) {\n if (!i) return -1;\n r = 0;\n }\n if (\"string\" == typeof t && (t = p.from(t, n)), y(t)) return 0 === t.length ? -1 : x(e, t, r, n, i);\n if (\"number\" == typeof t) return t &= 255, p.TYPED_ARRAY_SUPPORT && \"function\" == typeof Uint8Array.prototype.indexOf ? i ? Uint8Array.prototype.indexOf.call(e, t, r) : Uint8Array.prototype.lastIndexOf.call(e, t, r) : x(e, [t], r, n, i);\n throw new TypeError(\"val must be string, number or Buffer\");\n}\nfunction x(e, t, r, n, i) {\n var o,\n a = 1,\n s = e.length,\n h = t.length;\n if (void 0 !== n && (\"ucs2\" === (n = String(n).toLowerCase()) || \"ucs-2\" === n || \"utf16le\" === n || \"utf-16le\" === n)) {\n if (e.length < 2 || t.length < 2) return -1;\n a = 2, s /= 2, h /= 2, r /= 2;\n }\n function l(e, t) {\n return 1 === a ? e[t] : e.readUInt16BE(t * a);\n }\n if (i) {\n var f = -1;\n for (o = r; o < s; o++) {\n if (l(e, o) === l(t, -1 === f ? 0 : o - f)) {\n if (-1 === f && (f = o), o - f + 1 === h) return f * a;\n } else -1 !== f && (o -= o - f), f = -1;\n }\n } else for (r + h > s && (r = s - h), o = r; o >= 0; o--) {\n for (var c = !0, u = 0; u < h; u++) {\n if (l(e, o + u) !== l(t, u)) {\n c = !1;\n break;\n }\n }\n if (c) return o;\n }\n return -1;\n}\nfunction R(e, t, r, n) {\n r = Number(r) || 0;\n var i = e.length - r;\n n ? (n = Number(n)) > i && (n = i) : n = i;\n var o = t.length;\n if (o % 2 != 0) throw new TypeError(\"Invalid hex string\");\n n > o / 2 && (n = o / 2);\n for (var a = 0; a < n; ++a) {\n var s = parseInt(t.substr(2 * a, 2), 16);\n if (isNaN(s)) return a;\n e[r + a] = s;\n }\n return a;\n}\nfunction A(e, t, r, n) {\n return G(q(t, e.length - r), e, r, n);\n}\nfunction B(e, t, r, n) {\n return G(function (e) {\n for (var t = [], r = 0; r < e.length; ++r) {\n t.push(255 & e.charCodeAt(r));\n }\n return t;\n }(t), e, r, n);\n}\nfunction z(e, t, r, n) {\n return B(e, t, r, n);\n}\nfunction L(e, t, r, n) {\n return G(V(t), e, r, n);\n}\nfunction T(e, t, r, n) {\n return G(function (e, t) {\n for (var r, n, i, o = [], a = 0; a < e.length && !((t -= 2) < 0); ++a) {\n r = e.charCodeAt(a), n = r >> 8, i = r % 256, o.push(i), o.push(n);\n }\n return o;\n }(t, e.length - r), e, r, n);\n}\nfunction M(e, t, r) {\n return 0 === t && r === e.length ? s(e) : s(e.slice(t, r));\n}\nfunction C(e, t, r) {\n r = Math.min(e.length, r);\n for (var n = [], i = t; i < r;) {\n var o,\n a,\n s,\n h,\n l = e[i],\n f = null,\n c = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1;\n if (i + c <= r) switch (c) {\n case 1:\n l < 128 && (f = l);\n break;\n case 2:\n 128 == (192 & (o = e[i + 1])) && (h = (31 & l) << 6 | 63 & o) > 127 && (f = h);\n break;\n case 3:\n o = e[i + 1], a = e[i + 2], 128 == (192 & o) && 128 == (192 & a) && (h = (15 & l) << 12 | (63 & o) << 6 | 63 & a) > 2047 && (h < 55296 || h > 57343) && (f = h);\n break;\n case 4:\n o = e[i + 1], a = e[i + 2], s = e[i + 3], 128 == (192 & o) && 128 == (192 & a) && 128 == (192 & s) && (h = (15 & l) << 18 | (63 & o) << 12 | (63 & a) << 6 | 63 & s) > 65535 && h < 1114112 && (f = h);\n }\n null === f ? (f = 65533, c = 1) : f > 65535 && (f -= 65536, n.push(f >>> 10 & 1023 | 55296), f = 56320 | 1023 & f), n.push(f), i += c;\n }\n return function (e) {\n var t = e.length;\n if (t <= D) return String.fromCharCode.apply(String, e);\n var r = \"\",\n n = 0;\n for (; n < t;) {\n r += String.fromCharCode.apply(String, e.slice(n, n += D));\n }\n return r;\n }(n);\n}\np.TYPED_ARRAY_SUPPORT = void 0 === e.TYPED_ARRAY_SUPPORT || e.TYPED_ARRAY_SUPPORT, p.poolSize = 8192, p._augment = function (e) {\n return e.__proto__ = p.prototype, e;\n}, p.from = function (e, t, r) {\n return _(null, e, t, r);\n}, p.TYPED_ARRAY_SUPPORT && (p.prototype.__proto__ = Uint8Array.prototype, p.__proto__ = Uint8Array), p.alloc = function (e, t, r) {\n return function (e, t, r, n) {\n return g(t), t <= 0 ? d(e, t) : void 0 !== r ? \"string\" == typeof n ? d(e, t).fill(r, n) : d(e, t).fill(r) : d(e, t);\n }(null, e, t, r);\n}, p.allocUnsafe = function (e) {\n return v(null, e);\n}, p.allocUnsafeSlow = function (e) {\n return v(null, e);\n}, p.isBuffer = $, p.compare = function (e, t) {\n if (!y(e) || !y(t)) throw new TypeError(\"Arguments must be Buffers\");\n if (e === t) return 0;\n for (var r = e.length, n = t.length, i = 0, o = Math.min(r, n); i < o; ++i) {\n if (e[i] !== t[i]) {\n r = e[i], n = t[i];\n break;\n }\n }\n return r < n ? -1 : n < r ? 1 : 0;\n}, p.isEncoding = function (e) {\n switch (String(e).toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return !0;\n default:\n return !1;\n }\n}, p.concat = function (e, t) {\n if (!c(e)) throw new TypeError('\"list\" argument must be an Array of Buffers');\n if (0 === e.length) return p.alloc(0);\n var r;\n if (void 0 === t) for (t = 0, r = 0; r < e.length; ++r) {\n t += e[r].length;\n }\n var n = p.allocUnsafe(t),\n i = 0;\n for (r = 0; r < e.length; ++r) {\n var o = e[r];\n if (!y(o)) throw new TypeError('\"list\" argument must be an Array of Buffers');\n o.copy(n, i), i += o.length;\n }\n return n;\n}, p.byteLength = m, p.prototype._isBuffer = !0, p.prototype.swap16 = function () {\n var e = this.length;\n if (e % 2 != 0) throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n for (var t = 0; t < e; t += 2) {\n E(this, t, t + 1);\n }\n return this;\n}, p.prototype.swap32 = function () {\n var e = this.length;\n if (e % 4 != 0) throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n for (var t = 0; t < e; t += 4) {\n E(this, t, t + 3), E(this, t + 1, t + 2);\n }\n return this;\n}, p.prototype.swap64 = function () {\n var e = this.length;\n if (e % 8 != 0) throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n for (var t = 0; t < e; t += 8) {\n E(this, t, t + 7), E(this, t + 1, t + 6), E(this, t + 2, t + 5), E(this, t + 3, t + 4);\n }\n return this;\n}, p.prototype.toString = function () {\n var e = 0 | this.length;\n return 0 === e ? \"\" : 0 === arguments.length ? C(this, 0, e) : k.apply(this, arguments);\n}, p.prototype.equals = function (e) {\n if (!y(e)) throw new TypeError(\"Argument must be a Buffer\");\n return this === e || 0 === p.compare(this, e);\n}, p.prototype.inspect = function () {\n var e = \"\";\n return this.length > 0 && (e = this.toString(\"hex\", 0, 50).match(/.{2}/g).join(\" \"), this.length > 50 && (e += \" ... \")), \"\";\n}, p.prototype.compare = function (e, t, r, n, i) {\n if (!y(e)) throw new TypeError(\"Argument must be a Buffer\");\n if (void 0 === t && (t = 0), void 0 === r && (r = e ? e.length : 0), void 0 === n && (n = 0), void 0 === i && (i = this.length), t < 0 || r > e.length || n < 0 || i > this.length) throw new RangeError(\"out of range index\");\n if (n >= i && t >= r) return 0;\n if (n >= i) return -1;\n if (t >= r) return 1;\n if (this === e) return 0;\n for (var o = (i >>>= 0) - (n >>>= 0), a = (r >>>= 0) - (t >>>= 0), s = Math.min(o, a), h = this.slice(n, i), l = e.slice(t, r), f = 0; f < s; ++f) {\n if (h[f] !== l[f]) {\n o = h[f], a = l[f];\n break;\n }\n }\n return o < a ? -1 : a < o ? 1 : 0;\n}, p.prototype.includes = function (e, t, r) {\n return -1 !== this.indexOf(e, t, r);\n}, p.prototype.indexOf = function (e, t, r) {\n return S(this, e, t, r, !0);\n}, p.prototype.lastIndexOf = function (e, t, r) {\n return S(this, e, t, r, !1);\n}, p.prototype.write = function (e, t, r, n) {\n if (void 0 === t) n = \"utf8\", r = this.length, t = 0;else if (void 0 === r && \"string\" == typeof t) n = t, r = this.length, t = 0;else {\n if (!isFinite(t)) throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");\n t |= 0, isFinite(r) ? (r |= 0, void 0 === n && (n = \"utf8\")) : (n = r, r = void 0);\n }\n var i = this.length - t;\n if ((void 0 === r || r > i) && (r = i), e.length > 0 && (r < 0 || t < 0) || t > this.length) throw new RangeError(\"Attempt to write outside buffer bounds\");\n n || (n = \"utf8\");\n for (var o = !1;;) {\n switch (n) {\n case \"hex\":\n return R(this, e, t, r);\n case \"utf8\":\n case \"utf-8\":\n return A(this, e, t, r);\n case \"ascii\":\n return B(this, e, t, r);\n case \"latin1\":\n case \"binary\":\n return z(this, e, t, r);\n case \"base64\":\n return L(this, e, t, r);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return T(this, e, t, r);\n default:\n if (o) throw new TypeError(\"Unknown encoding: \" + n);\n n = (\"\" + n).toLowerCase(), o = !0;\n }\n }\n}, p.prototype.toJSON = function () {\n return {\n type: \"Buffer\",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n};\nvar D = 4096;\nfunction I(e, t, r) {\n var n = \"\";\n r = Math.min(e.length, r);\n for (var i = t; i < r; ++i) {\n n += String.fromCharCode(127 & e[i]);\n }\n return n;\n}\nfunction P(e, t, r) {\n var n = \"\";\n r = Math.min(e.length, r);\n for (var i = t; i < r; ++i) {\n n += String.fromCharCode(e[i]);\n }\n return n;\n}\nfunction O(e, t, r) {\n var n = e.length;\n (!t || t < 0) && (t = 0), (!r || r < 0 || r > n) && (r = n);\n for (var i = \"\", o = t; o < r; ++o) {\n i += X(e[o]);\n }\n return i;\n}\nfunction U(e, t, r) {\n for (var n = e.slice(t, r), i = \"\", o = 0; o < n.length; o += 2) {\n i += String.fromCharCode(n[o] + 256 * n[o + 1]);\n }\n return i;\n}\nfunction H(e, t, r) {\n if (e % 1 != 0 || e < 0) throw new RangeError(\"offset is not uint\");\n if (e + t > r) throw new RangeError(\"Trying to access beyond buffer length\");\n}\nfunction F(e, t, r, n, i, o) {\n if (!y(e)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (t > i || t < o) throw new RangeError('\"value\" argument is out of bounds');\n if (r + n > e.length) throw new RangeError(\"Index out of range\");\n}\nfunction N(e, t, r, n) {\n t < 0 && (t = 65535 + t + 1);\n for (var i = 0, o = Math.min(e.length - r, 2); i < o; ++i) {\n e[r + i] = (t & 255 << 8 * (n ? i : 1 - i)) >>> 8 * (n ? i : 1 - i);\n }\n}\nfunction Z(e, t, r, n) {\n t < 0 && (t = 4294967295 + t + 1);\n for (var i = 0, o = Math.min(e.length - r, 4); i < o; ++i) {\n e[r + i] = t >>> 8 * (n ? i : 3 - i) & 255;\n }\n}\nfunction j(e, t, r, n, i, o) {\n if (r + n > e.length) throw new RangeError(\"Index out of range\");\n if (r < 0) throw new RangeError(\"Index out of range\");\n}\nfunction W(e, t, r, n, i) {\n return i || j(e, 0, r, 4), l(e, t, r, n, 23, 4), r + 4;\n}\nfunction Y(e, t, r, n, i) {\n return i || j(e, 0, r, 8), l(e, t, r, n, 52, 8), r + 8;\n}\np.prototype.slice = function (e, t) {\n var r,\n n = this.length;\n if ((e = ~~e) < 0 ? (e += n) < 0 && (e = 0) : e > n && (e = n), (t = void 0 === t ? n : ~~t) < 0 ? (t += n) < 0 && (t = 0) : t > n && (t = n), t < e && (t = e), p.TYPED_ARRAY_SUPPORT) (r = this.subarray(e, t)).__proto__ = p.prototype;else {\n var i = t - e;\n r = new p(i, void 0);\n for (var o = 0; o < i; ++o) {\n r[o] = this[o + e];\n }\n }\n return r;\n}, p.prototype.readUIntLE = function (e, t, r) {\n e |= 0, t |= 0, r || H(e, t, this.length);\n for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256);) {\n n += this[e + o] * i;\n }\n return n;\n}, p.prototype.readUIntBE = function (e, t, r) {\n e |= 0, t |= 0, r || H(e, t, this.length);\n for (var n = this[e + --t], i = 1; t > 0 && (i *= 256);) {\n n += this[e + --t] * i;\n }\n return n;\n}, p.prototype.readUInt8 = function (e, t) {\n return t || H(e, 1, this.length), this[e];\n}, p.prototype.readUInt16LE = function (e, t) {\n return t || H(e, 2, this.length), this[e] | this[e + 1] << 8;\n}, p.prototype.readUInt16BE = function (e, t) {\n return t || H(e, 2, this.length), this[e] << 8 | this[e + 1];\n}, p.prototype.readUInt32LE = function (e, t) {\n return t || H(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3];\n}, p.prototype.readUInt32BE = function (e, t) {\n return t || H(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]);\n}, p.prototype.readIntLE = function (e, t, r) {\n e |= 0, t |= 0, r || H(e, t, this.length);\n for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256);) {\n n += this[e + o] * i;\n }\n return n >= (i *= 128) && (n -= Math.pow(2, 8 * t)), n;\n}, p.prototype.readIntBE = function (e, t, r) {\n e |= 0, t |= 0, r || H(e, t, this.length);\n for (var n = t, i = 1, o = this[e + --n]; n > 0 && (i *= 256);) {\n o += this[e + --n] * i;\n }\n return o >= (i *= 128) && (o -= Math.pow(2, 8 * t)), o;\n}, p.prototype.readInt8 = function (e, t) {\n return t || H(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e];\n}, p.prototype.readInt16LE = function (e, t) {\n t || H(e, 2, this.length);\n var r = this[e] | this[e + 1] << 8;\n return 32768 & r ? 4294901760 | r : r;\n}, p.prototype.readInt16BE = function (e, t) {\n t || H(e, 2, this.length);\n var r = this[e + 1] | this[e] << 8;\n return 32768 & r ? 4294901760 | r : r;\n}, p.prototype.readInt32LE = function (e, t) {\n return t || H(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24;\n}, p.prototype.readInt32BE = function (e, t) {\n return t || H(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3];\n}, p.prototype.readFloatLE = function (e, t) {\n return t || H(e, 4, this.length), h(this, e, !0, 23, 4);\n}, p.prototype.readFloatBE = function (e, t) {\n return t || H(e, 4, this.length), h(this, e, !1, 23, 4);\n}, p.prototype.readDoubleLE = function (e, t) {\n return t || H(e, 8, this.length), h(this, e, !0, 52, 8);\n}, p.prototype.readDoubleBE = function (e, t) {\n return t || H(e, 8, this.length), h(this, e, !1, 52, 8);\n}, p.prototype.writeUIntLE = function (e, t, r, n) {\n (e = +e, t |= 0, r |= 0, n) || F(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);\n var i = 1,\n o = 0;\n for (this[t] = 255 & e; ++o < r && (i *= 256);) {\n this[t + o] = e / i & 255;\n }\n return t + r;\n}, p.prototype.writeUIntBE = function (e, t, r, n) {\n (e = +e, t |= 0, r |= 0, n) || F(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);\n var i = r - 1,\n o = 1;\n for (this[t + i] = 255 & e; --i >= 0 && (o *= 256);) {\n this[t + i] = e / o & 255;\n }\n return t + r;\n}, p.prototype.writeUInt8 = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 1, 255, 0), p.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), this[t] = 255 & e, t + 1;\n}, p.prototype.writeUInt16LE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 2, 65535, 0), p.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : N(this, e, t, !0), t + 2;\n}, p.prototype.writeUInt16BE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 2, 65535, 0), p.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : N(this, e, t, !1), t + 2;\n}, p.prototype.writeUInt32LE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 4, 4294967295, 0), p.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : Z(this, e, t, !0), t + 4;\n}, p.prototype.writeUInt32BE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 4, 4294967295, 0), p.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : Z(this, e, t, !1), t + 4;\n}, p.prototype.writeIntLE = function (e, t, r, n) {\n if (e = +e, t |= 0, !n) {\n var i = Math.pow(2, 8 * r - 1);\n F(this, e, t, r, i - 1, -i);\n }\n var o = 0,\n a = 1,\n s = 0;\n for (this[t] = 255 & e; ++o < r && (a *= 256);) {\n e < 0 && 0 === s && 0 !== this[t + o - 1] && (s = 1), this[t + o] = (e / a >> 0) - s & 255;\n }\n return t + r;\n}, p.prototype.writeIntBE = function (e, t, r, n) {\n if (e = +e, t |= 0, !n) {\n var i = Math.pow(2, 8 * r - 1);\n F(this, e, t, r, i - 1, -i);\n }\n var o = r - 1,\n a = 1,\n s = 0;\n for (this[t + o] = 255 & e; --o >= 0 && (a *= 256);) {\n e < 0 && 0 === s && 0 !== this[t + o + 1] && (s = 1), this[t + o] = (e / a >> 0) - s & 255;\n }\n return t + r;\n}, p.prototype.writeInt8 = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 1, 127, -128), p.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), e < 0 && (e = 255 + e + 1), this[t] = 255 & e, t + 1;\n}, p.prototype.writeInt16LE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 2, 32767, -32768), p.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : N(this, e, t, !0), t + 2;\n}, p.prototype.writeInt16BE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 2, 32767, -32768), p.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : N(this, e, t, !1), t + 2;\n}, p.prototype.writeInt32LE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 4, 2147483647, -2147483648), p.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : Z(this, e, t, !0), t + 4;\n}, p.prototype.writeInt32BE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), p.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : Z(this, e, t, !1), t + 4;\n}, p.prototype.writeFloatLE = function (e, t, r) {\n return W(this, e, t, !0, r);\n}, p.prototype.writeFloatBE = function (e, t, r) {\n return W(this, e, t, !1, r);\n}, p.prototype.writeDoubleLE = function (e, t, r) {\n return Y(this, e, t, !0, r);\n}, p.prototype.writeDoubleBE = function (e, t, r) {\n return Y(this, e, t, !1, r);\n}, p.prototype.copy = function (e, t, r, n) {\n if (r || (r = 0), n || 0 === n || (n = this.length), t >= e.length && (t = e.length), t || (t = 0), n > 0 && n < r && (n = r), n === r) return 0;\n if (0 === e.length || 0 === this.length) return 0;\n if (t < 0) throw new RangeError(\"targetStart out of bounds\");\n if (r < 0 || r >= this.length) throw new RangeError(\"sourceStart out of bounds\");\n if (n < 0) throw new RangeError(\"sourceEnd out of bounds\");\n n > this.length && (n = this.length), e.length - t < n - r && (n = e.length - t + r);\n var i,\n o = n - r;\n if (this === e && r < t && t < n) for (i = o - 1; i >= 0; --i) {\n e[i + t] = this[i + r];\n } else if (o < 1e3 || !p.TYPED_ARRAY_SUPPORT) for (i = 0; i < o; ++i) {\n e[i + t] = this[i + r];\n } else Uint8Array.prototype.set.call(e, this.subarray(r, r + o), t);\n return o;\n}, p.prototype.fill = function (e, t, r, n) {\n if (\"string\" == typeof e) {\n if (\"string\" == typeof t ? (n = t, t = 0, r = this.length) : \"string\" == typeof r && (n = r, r = this.length), 1 === e.length) {\n var i = e.charCodeAt(0);\n i < 256 && (e = i);\n }\n if (void 0 !== n && \"string\" != typeof n) throw new TypeError(\"encoding must be a string\");\n if (\"string\" == typeof n && !p.isEncoding(n)) throw new TypeError(\"Unknown encoding: \" + n);\n } else \"number\" == typeof e && (e &= 255);\n if (t < 0 || this.length < t || this.length < r) throw new RangeError(\"Out of range index\");\n if (r <= t) return this;\n var o;\n if (t >>>= 0, r = void 0 === r ? this.length : r >>> 0, e || (e = 0), \"number\" == typeof e) for (o = t; o < r; ++o) {\n this[o] = e;\n } else {\n var a = y(e) ? e : q(new p(e, n).toString()),\n s = a.length;\n for (o = 0; o < r - t; ++o) {\n this[o + t] = a[o % s];\n }\n }\n return this;\n};\nvar K = /[^+\\/0-9A-Za-z-_]/g;\nfunction X(e) {\n return e < 16 ? \"0\" + e.toString(16) : e.toString(16);\n}\nfunction q(e, t) {\n var r;\n t = t || 1 / 0;\n for (var n = e.length, i = null, o = [], a = 0; a < n; ++a) {\n if ((r = e.charCodeAt(a)) > 55295 && r < 57344) {\n if (!i) {\n if (r > 56319) {\n (t -= 3) > -1 && o.push(239, 191, 189);\n continue;\n }\n if (a + 1 === n) {\n (t -= 3) > -1 && o.push(239, 191, 189);\n continue;\n }\n i = r;\n continue;\n }\n if (r < 56320) {\n (t -= 3) > -1 && o.push(239, 191, 189), i = r;\n continue;\n }\n r = 65536 + (i - 55296 << 10 | r - 56320);\n } else i && (t -= 3) > -1 && o.push(239, 191, 189);\n if (i = null, r < 128) {\n if ((t -= 1) < 0) break;\n o.push(r);\n } else if (r < 2048) {\n if ((t -= 2) < 0) break;\n o.push(r >> 6 | 192, 63 & r | 128);\n } else if (r < 65536) {\n if ((t -= 3) < 0) break;\n o.push(r >> 12 | 224, r >> 6 & 63 | 128, 63 & r | 128);\n } else {\n if (!(r < 1114112)) throw new Error(\"Invalid code point\");\n if ((t -= 4) < 0) break;\n o.push(r >> 18 | 240, r >> 12 & 63 | 128, r >> 6 & 63 | 128, 63 & r | 128);\n }\n }\n return o;\n}\nfunction V(e) {\n return function (e) {\n var t, a, s, h, l, f;\n i || o();\n var c = e.length;\n if (c % 4 > 0) throw new Error(\"Invalid string. Length must be a multiple of 4\");\n l = \"=\" === e[c - 2] ? 2 : \"=\" === e[c - 1] ? 1 : 0, f = new n(3 * c / 4 - l), s = l > 0 ? c - 4 : c;\n var u = 0;\n for (t = 0, a = 0; t < s; t += 4, a += 3) {\n h = r[e.charCodeAt(t)] << 18 | r[e.charCodeAt(t + 1)] << 12 | r[e.charCodeAt(t + 2)] << 6 | r[e.charCodeAt(t + 3)], f[u++] = h >> 16 & 255, f[u++] = h >> 8 & 255, f[u++] = 255 & h;\n }\n return 2 === l ? (h = r[e.charCodeAt(t)] << 2 | r[e.charCodeAt(t + 1)] >> 4, f[u++] = 255 & h) : 1 === l && (h = r[e.charCodeAt(t)] << 10 | r[e.charCodeAt(t + 1)] << 4 | r[e.charCodeAt(t + 2)] >> 2, f[u++] = h >> 8 & 255, f[u++] = 255 & h), f;\n }(function (e) {\n if ((e = function (e) {\n return e.trim ? e.trim() : e.replace(/^\\s+|\\s+$/g, \"\");\n }(e).replace(K, \"\")).length < 2) return \"\";\n for (; e.length % 4 != 0;) {\n e += \"=\";\n }\n return e;\n }(e));\n}\nfunction G(e, t, r, n) {\n for (var i = 0; i < n && !(i + r >= t.length || i >= e.length); ++i) {\n t[i + r] = e[i];\n }\n return i;\n}\nfunction $(e) {\n return null != e && (!!e._isBuffer || J(e) || function (e) {\n return \"function\" == typeof e.readFloatLE && \"function\" == typeof e.slice && J(e.slice(0, 0));\n }(e));\n}\nfunction J(e) {\n return !!e.constructor && \"function\" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e);\n}\n\"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self && self;\nfunction Q(e, t) {\n return e(t = {\n exports: {}\n }, t.exports), t.exports;\n}\nvar ee = Q(function (e, t) {\n var r;\n e.exports = (r = r || function (e, t) {\n var r = Object.create || function () {\n function e() {}\n return function (t) {\n var r;\n return e.prototype = t, r = new e(), e.prototype = null, r;\n };\n }(),\n n = {},\n i = n.lib = {},\n o = i.Base = {\n extend: function extend(e) {\n var t = r(this);\n return e && t.mixIn(e), t.hasOwnProperty(\"init\") && this.init !== t.init || (t.init = function () {\n t.$super.init.apply(this, arguments);\n }), t.init.prototype = t, t.$super = this, t;\n },\n create: function create() {\n var e = this.extend();\n return e.init.apply(e, arguments), e;\n },\n init: function init() {},\n mixIn: function mixIn(e) {\n for (var t in e) {\n e.hasOwnProperty(t) && (this[t] = e[t]);\n }\n e.hasOwnProperty(\"toString\") && (this.toString = e.toString);\n },\n clone: function clone() {\n return this.init.prototype.extend(this);\n }\n },\n a = i.WordArray = o.extend({\n init: function init(e, t) {\n e = this.words = e || [], this.sigBytes = null != t ? t : 4 * e.length;\n },\n toString: function toString(e) {\n return (e || h).stringify(this);\n },\n concat: function concat(e) {\n var t = this.words,\n r = e.words,\n n = this.sigBytes,\n i = e.sigBytes;\n if (this.clamp(), n % 4) for (var o = 0; o < i; o++) {\n var a = r[o >>> 2] >>> 24 - o % 4 * 8 & 255;\n t[n + o >>> 2] |= a << 24 - (n + o) % 4 * 8;\n } else for (var o = 0; o < i; o += 4) {\n t[n + o >>> 2] = r[o >>> 2];\n }\n return this.sigBytes += i, this;\n },\n clamp: function clamp() {\n var t = this.words,\n r = this.sigBytes;\n t[r >>> 2] &= 4294967295 << 32 - r % 4 * 8, t.length = e.ceil(r / 4);\n },\n clone: function clone() {\n var e = o.clone.call(this);\n return e.words = this.words.slice(0), e;\n },\n random: function random(t) {\n for (var r, n = [], i = function i(t) {\n var t = t,\n r = 987654321,\n n = 4294967295;\n return function () {\n var i = ((r = 36969 * (65535 & r) + (r >> 16) & n) << 16) + (t = 18e3 * (65535 & t) + (t >> 16) & n) & n;\n return i /= 4294967296, (i += .5) * (e.random() > .5 ? 1 : -1);\n };\n }, o = 0; o < t; o += 4) {\n var s = i(4294967296 * (r || e.random()));\n r = 987654071 * s(), n.push(4294967296 * s() | 0);\n }\n return new a.init(n, t);\n }\n }),\n s = n.enc = {},\n h = s.Hex = {\n stringify: function stringify(e) {\n for (var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i++) {\n var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 255;\n n.push((o >>> 4).toString(16)), n.push((15 & o).toString(16));\n }\n return n.join(\"\");\n },\n parse: function parse(e) {\n for (var t = e.length, r = [], n = 0; n < t; n += 2) {\n r[n >>> 3] |= parseInt(e.substr(n, 2), 16) << 24 - n % 8 * 4;\n }\n return new a.init(r, t / 2);\n }\n },\n l = s.Latin1 = {\n stringify: function stringify(e) {\n for (var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i++) {\n var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 255;\n n.push(String.fromCharCode(o));\n }\n return n.join(\"\");\n },\n parse: function parse(e) {\n for (var t = e.length, r = [], n = 0; n < t; n++) {\n r[n >>> 2] |= (255 & e.charCodeAt(n)) << 24 - n % 4 * 8;\n }\n return new a.init(r, t);\n }\n },\n f = s.Utf8 = {\n stringify: function stringify(e) {\n try {\n return decodeURIComponent(escape(l.stringify(e)));\n } catch (e) {\n throw new Error(\"Malformed UTF-8 data\");\n }\n },\n parse: function parse(e) {\n return l.parse(unescape(encodeURIComponent(e)));\n }\n },\n c = i.BufferedBlockAlgorithm = o.extend({\n reset: function reset() {\n this._data = new a.init(), this._nDataBytes = 0;\n },\n _append: function _append(e) {\n \"string\" == typeof e && (e = f.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes;\n },\n _process: function _process(t) {\n var r = this._data,\n n = r.words,\n i = r.sigBytes,\n o = this.blockSize,\n s = 4 * o,\n h = i / s,\n l = (h = t ? e.ceil(h) : e.max((0 | h) - this._minBufferSize, 0)) * o,\n f = e.min(4 * l, i);\n if (l) {\n for (var c = 0; c < l; c += o) {\n this._doProcessBlock(n, c);\n }\n var u = n.splice(0, l);\n r.sigBytes -= f;\n }\n return new a.init(u, f);\n },\n clone: function clone() {\n var e = o.clone.call(this);\n return e._data = this._data.clone(), e;\n },\n _minBufferSize: 0\n }),\n u = (i.Hasher = c.extend({\n cfg: o.extend(),\n init: function init(e) {\n this.cfg = this.cfg.extend(e), this.reset();\n },\n reset: function reset() {\n c.reset.call(this), this._doReset();\n },\n update: function update(e) {\n return this._append(e), this._process(), this;\n },\n finalize: function finalize(e) {\n e && this._append(e);\n var t = this._doFinalize();\n return t;\n },\n blockSize: 16,\n _createHelper: function _createHelper(e) {\n return function (t, r) {\n return new e.init(r).finalize(t);\n };\n },\n _createHmacHelper: function _createHmacHelper(e) {\n return function (t, r) {\n return new u.HMAC.init(e, r).finalize(t);\n };\n }\n }), n.algo = {});\n return n;\n }(Math), r);\n }),\n te = (Q(function (e, t) {\n var r, n, i, o, a, s;\n e.exports = (i = (n = r = ee).lib, o = i.Base, a = i.WordArray, (s = n.x64 = {}).Word = o.extend({\n init: function init(e, t) {\n this.high = e, this.low = t;\n }\n }), s.WordArray = o.extend({\n init: function init(e, t) {\n e = this.words = e || [], this.sigBytes = null != t ? t : 8 * e.length;\n },\n toX32: function toX32() {\n for (var e = this.words, t = e.length, r = [], n = 0; n < t; n++) {\n var i = e[n];\n r.push(i.high), r.push(i.low);\n }\n return a.create(r, this.sigBytes);\n },\n clone: function clone() {\n for (var e = o.clone.call(this), t = e.words = this.words.slice(0), r = t.length, n = 0; n < r; n++) {\n t[n] = t[n].clone();\n }\n return e;\n }\n }), r);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n if (\"function\" == typeof ArrayBuffer) {\n var e = r.lib.WordArray,\n t = e.init;\n (e.init = function (e) {\n if (e instanceof ArrayBuffer && (e = new Uint8Array(e)), (e instanceof Int8Array || \"undefined\" != typeof Uint8ClampedArray && e instanceof Uint8ClampedArray || e instanceof Int16Array || e instanceof Uint16Array || e instanceof Int32Array || e instanceof Uint32Array || e instanceof Float32Array || e instanceof Float64Array) && (e = new Uint8Array(e.buffer, e.byteOffset, e.byteLength)), e instanceof Uint8Array) {\n for (var r = e.byteLength, n = [], i = 0; i < r; i++) {\n n[i >>> 2] |= e[i] << 24 - i % 4 * 8;\n }\n t.call(this, n, r);\n } else t.apply(this, arguments);\n }).prototype = e;\n }\n }(), r.lib.WordArray);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib.WordArray,\n n = e.enc;\n function i(e) {\n return e << 8 & 4278255360 | e >>> 8 & 16711935;\n }\n n.Utf16 = n.Utf16BE = {\n stringify: function stringify(e) {\n for (var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i += 2) {\n var o = t[i >>> 2] >>> 16 - i % 4 * 8 & 65535;\n n.push(String.fromCharCode(o));\n }\n return n.join(\"\");\n },\n parse: function parse(e) {\n for (var r = e.length, n = [], i = 0; i < r; i++) {\n n[i >>> 1] |= e.charCodeAt(i) << 16 - i % 2 * 16;\n }\n return t.create(n, 2 * r);\n }\n }, n.Utf16LE = {\n stringify: function stringify(e) {\n for (var t = e.words, r = e.sigBytes, n = [], o = 0; o < r; o += 2) {\n var a = i(t[o >>> 2] >>> 16 - o % 4 * 8 & 65535);\n n.push(String.fromCharCode(a));\n }\n return n.join(\"\");\n },\n parse: function parse(e) {\n for (var r = e.length, n = [], o = 0; o < r; o++) {\n n[o >>> 1] |= i(e.charCodeAt(o) << 16 - o % 2 * 16);\n }\n return t.create(n, 2 * r);\n }\n };\n }(), r.enc.Utf16);\n }), Q(function (e, t) {\n var r, n, i;\n e.exports = (i = (n = r = ee).lib.WordArray, n.enc.Base64 = {\n stringify: function stringify(e) {\n var t = e.words,\n r = e.sigBytes,\n n = this._map;\n e.clamp();\n for (var i = [], o = 0; o < r; o += 3) {\n for (var a = (t[o >>> 2] >>> 24 - o % 4 * 8 & 255) << 16 | (t[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255) << 8 | t[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, s = 0; s < 4 && o + .75 * s < r; s++) {\n i.push(n.charAt(a >>> 6 * (3 - s) & 63));\n }\n }\n var h = n.charAt(64);\n if (h) for (; i.length % 4;) {\n i.push(h);\n }\n return i.join(\"\");\n },\n parse: function parse(e) {\n var t = e.length,\n r = this._map,\n n = this._reverseMap;\n if (!n) {\n n = this._reverseMap = [];\n for (var o = 0; o < r.length; o++) {\n n[r.charCodeAt(o)] = o;\n }\n }\n var a = r.charAt(64);\n if (a) {\n var s = e.indexOf(a);\n -1 !== s && (t = s);\n }\n return function (e, t, r) {\n for (var n = [], o = 0, a = 0; a < t; a++) {\n if (a % 4) {\n var s = r[e.charCodeAt(a - 1)] << a % 4 * 2,\n h = r[e.charCodeAt(a)] >>> 6 - a % 4 * 2;\n n[o >>> 2] |= (s | h) << 24 - o % 4 * 8, o++;\n }\n }\n return i.create(n, o);\n }(e, t, n);\n },\n _map: \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"\n }, r.enc.Base64);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function (e) {\n var t = r,\n n = t.lib,\n i = n.WordArray,\n o = n.Hasher,\n a = t.algo,\n s = [];\n !function () {\n for (var t = 0; t < 64; t++) {\n s[t] = 4294967296 * e.abs(e.sin(t + 1)) | 0;\n }\n }();\n var h = a.MD5 = o.extend({\n _doReset: function _doReset() {\n this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878]);\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n for (var r = 0; r < 16; r++) {\n var n = t + r,\n i = e[n];\n e[n] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8);\n }\n var o = this._hash.words,\n a = e[t + 0],\n h = e[t + 1],\n d = e[t + 2],\n p = e[t + 3],\n _ = e[t + 4],\n g = e[t + 5],\n v = e[t + 6],\n w = e[t + 7],\n b = e[t + 8],\n y = e[t + 9],\n m = e[t + 10],\n k = e[t + 11],\n E = e[t + 12],\n S = e[t + 13],\n x = e[t + 14],\n R = e[t + 15],\n A = o[0],\n B = o[1],\n z = o[2],\n L = o[3];\n A = l(A, B, z, L, a, 7, s[0]), L = l(L, A, B, z, h, 12, s[1]), z = l(z, L, A, B, d, 17, s[2]), B = l(B, z, L, A, p, 22, s[3]), A = l(A, B, z, L, _, 7, s[4]), L = l(L, A, B, z, g, 12, s[5]), z = l(z, L, A, B, v, 17, s[6]), B = l(B, z, L, A, w, 22, s[7]), A = l(A, B, z, L, b, 7, s[8]), L = l(L, A, B, z, y, 12, s[9]), z = l(z, L, A, B, m, 17, s[10]), B = l(B, z, L, A, k, 22, s[11]), A = l(A, B, z, L, E, 7, s[12]), L = l(L, A, B, z, S, 12, s[13]), z = l(z, L, A, B, x, 17, s[14]), A = f(A, B = l(B, z, L, A, R, 22, s[15]), z, L, h, 5, s[16]), L = f(L, A, B, z, v, 9, s[17]), z = f(z, L, A, B, k, 14, s[18]), B = f(B, z, L, A, a, 20, s[19]), A = f(A, B, z, L, g, 5, s[20]), L = f(L, A, B, z, m, 9, s[21]), z = f(z, L, A, B, R, 14, s[22]), B = f(B, z, L, A, _, 20, s[23]), A = f(A, B, z, L, y, 5, s[24]), L = f(L, A, B, z, x, 9, s[25]), z = f(z, L, A, B, p, 14, s[26]), B = f(B, z, L, A, b, 20, s[27]), A = f(A, B, z, L, S, 5, s[28]), L = f(L, A, B, z, d, 9, s[29]), z = f(z, L, A, B, w, 14, s[30]), A = c(A, B = f(B, z, L, A, E, 20, s[31]), z, L, g, 4, s[32]), L = c(L, A, B, z, b, 11, s[33]), z = c(z, L, A, B, k, 16, s[34]), B = c(B, z, L, A, x, 23, s[35]), A = c(A, B, z, L, h, 4, s[36]), L = c(L, A, B, z, _, 11, s[37]), z = c(z, L, A, B, w, 16, s[38]), B = c(B, z, L, A, m, 23, s[39]), A = c(A, B, z, L, S, 4, s[40]), L = c(L, A, B, z, a, 11, s[41]), z = c(z, L, A, B, p, 16, s[42]), B = c(B, z, L, A, v, 23, s[43]), A = c(A, B, z, L, y, 4, s[44]), L = c(L, A, B, z, E, 11, s[45]), z = c(z, L, A, B, R, 16, s[46]), A = u(A, B = c(B, z, L, A, d, 23, s[47]), z, L, a, 6, s[48]), L = u(L, A, B, z, w, 10, s[49]), z = u(z, L, A, B, x, 15, s[50]), B = u(B, z, L, A, g, 21, s[51]), A = u(A, B, z, L, E, 6, s[52]), L = u(L, A, B, z, p, 10, s[53]), z = u(z, L, A, B, m, 15, s[54]), B = u(B, z, L, A, h, 21, s[55]), A = u(A, B, z, L, b, 6, s[56]), L = u(L, A, B, z, R, 10, s[57]), z = u(z, L, A, B, v, 15, s[58]), B = u(B, z, L, A, S, 21, s[59]), A = u(A, B, z, L, _, 6, s[60]), L = u(L, A, B, z, k, 10, s[61]), z = u(z, L, A, B, d, 15, s[62]), B = u(B, z, L, A, y, 21, s[63]), o[0] = o[0] + A | 0, o[1] = o[1] + B | 0, o[2] = o[2] + z | 0, o[3] = o[3] + L | 0;\n },\n _doFinalize: function _doFinalize() {\n var t = this._data,\n r = t.words,\n n = 8 * this._nDataBytes,\n i = 8 * t.sigBytes;\n r[i >>> 5] |= 128 << 24 - i % 32;\n var o = e.floor(n / 4294967296),\n a = n;\n r[15 + (i + 64 >>> 9 << 4)] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), r[14 + (i + 64 >>> 9 << 4)] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), t.sigBytes = 4 * (r.length + 1), this._process();\n for (var s = this._hash, h = s.words, l = 0; l < 4; l++) {\n var f = h[l];\n h[l] = 16711935 & (f << 8 | f >>> 24) | 4278255360 & (f << 24 | f >>> 8);\n }\n return s;\n },\n clone: function clone() {\n var e = o.clone.call(this);\n return e._hash = this._hash.clone(), e;\n }\n });\n function l(e, t, r, n, i, o, a) {\n var s = e + (t & r | ~t & n) + i + a;\n return (s << o | s >>> 32 - o) + t;\n }\n function f(e, t, r, n, i, o, a) {\n var s = e + (t & n | r & ~n) + i + a;\n return (s << o | s >>> 32 - o) + t;\n }\n function c(e, t, r, n, i, o, a) {\n var s = e + (t ^ r ^ n) + i + a;\n return (s << o | s >>> 32 - o) + t;\n }\n function u(e, t, r, n, i, o, a) {\n var s = e + (r ^ (t | ~n)) + i + a;\n return (s << o | s >>> 32 - o) + t;\n }\n t.MD5 = o._createHelper(h), t.HmacMD5 = o._createHmacHelper(h);\n }(Math), r.MD5);\n }), Q(function (e, t) {\n var r, n, i, o, a, s, h, l;\n e.exports = (i = (n = r = ee).lib, o = i.WordArray, a = i.Hasher, s = n.algo, h = [], l = s.SHA1 = a.extend({\n _doReset: function _doReset() {\n this._hash = new o.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n for (var r = this._hash.words, n = r[0], i = r[1], o = r[2], a = r[3], s = r[4], l = 0; l < 80; l++) {\n if (l < 16) h[l] = 0 | e[t + l];else {\n var f = h[l - 3] ^ h[l - 8] ^ h[l - 14] ^ h[l - 16];\n h[l] = f << 1 | f >>> 31;\n }\n var c = (n << 5 | n >>> 27) + s + h[l];\n c += l < 20 ? 1518500249 + (i & o | ~i & a) : l < 40 ? 1859775393 + (i ^ o ^ a) : l < 60 ? (i & o | i & a | o & a) - 1894007588 : (i ^ o ^ a) - 899497514, s = a, a = o, o = i << 30 | i >>> 2, i = n, n = c;\n }\n r[0] = r[0] + n | 0, r[1] = r[1] + i | 0, r[2] = r[2] + o | 0, r[3] = r[3] + a | 0, r[4] = r[4] + s | 0;\n },\n _doFinalize: function _doFinalize() {\n var e = this._data,\n t = e.words,\n r = 8 * this._nDataBytes,\n n = 8 * e.sigBytes;\n return t[n >>> 5] |= 128 << 24 - n % 32, t[14 + (n + 64 >>> 9 << 4)] = Math.floor(r / 4294967296), t[15 + (n + 64 >>> 9 << 4)] = r, e.sigBytes = 4 * t.length, this._process(), this._hash;\n },\n clone: function clone() {\n var e = a.clone.call(this);\n return e._hash = this._hash.clone(), e;\n }\n }), n.SHA1 = a._createHelper(l), n.HmacSHA1 = a._createHmacHelper(l), r.SHA1);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function (e) {\n var t = r,\n n = t.lib,\n i = n.WordArray,\n o = n.Hasher,\n a = t.algo,\n s = [],\n h = [];\n !function () {\n function t(t) {\n for (var r = e.sqrt(t), n = 2; n <= r; n++) {\n if (!(t % n)) return !1;\n }\n return !0;\n }\n function r(e) {\n return 4294967296 * (e - (0 | e)) | 0;\n }\n for (var n = 2, i = 0; i < 64;) {\n t(n) && (i < 8 && (s[i] = r(e.pow(n, .5))), h[i] = r(e.pow(n, 1 / 3)), i++), n++;\n }\n }();\n var l = [],\n f = a.SHA256 = o.extend({\n _doReset: function _doReset() {\n this._hash = new i.init(s.slice(0));\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n for (var r = this._hash.words, n = r[0], i = r[1], o = r[2], a = r[3], s = r[4], f = r[5], c = r[6], u = r[7], d = 0; d < 64; d++) {\n if (d < 16) l[d] = 0 | e[t + d];else {\n var p = l[d - 15],\n _ = (p << 25 | p >>> 7) ^ (p << 14 | p >>> 18) ^ p >>> 3,\n g = l[d - 2],\n v = (g << 15 | g >>> 17) ^ (g << 13 | g >>> 19) ^ g >>> 10;\n l[d] = _ + l[d - 7] + v + l[d - 16];\n }\n var w = n & i ^ n & o ^ i & o,\n b = (n << 30 | n >>> 2) ^ (n << 19 | n >>> 13) ^ (n << 10 | n >>> 22),\n y = u + ((s << 26 | s >>> 6) ^ (s << 21 | s >>> 11) ^ (s << 7 | s >>> 25)) + (s & f ^ ~s & c) + h[d] + l[d];\n u = c, c = f, f = s, s = a + y | 0, a = o, o = i, i = n, n = y + (b + w) | 0;\n }\n r[0] = r[0] + n | 0, r[1] = r[1] + i | 0, r[2] = r[2] + o | 0, r[3] = r[3] + a | 0, r[4] = r[4] + s | 0, r[5] = r[5] + f | 0, r[6] = r[6] + c | 0, r[7] = r[7] + u | 0;\n },\n _doFinalize: function _doFinalize() {\n var t = this._data,\n r = t.words,\n n = 8 * this._nDataBytes,\n i = 8 * t.sigBytes;\n return r[i >>> 5] |= 128 << 24 - i % 32, r[14 + (i + 64 >>> 9 << 4)] = e.floor(n / 4294967296), r[15 + (i + 64 >>> 9 << 4)] = n, t.sigBytes = 4 * r.length, this._process(), this._hash;\n },\n clone: function clone() {\n var e = o.clone.call(this);\n return e._hash = this._hash.clone(), e;\n }\n });\n t.SHA256 = o._createHelper(f), t.HmacSHA256 = o._createHmacHelper(f);\n }(Math), r.SHA256);\n }), Q(function (e, t) {\n var r, n, i, o, a, s;\n e.exports = (i = (n = r = ee).lib.WordArray, o = n.algo, a = o.SHA256, s = o.SHA224 = a.extend({\n _doReset: function _doReset() {\n this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]);\n },\n _doFinalize: function _doFinalize() {\n var e = a._doFinalize.call(this);\n return e.sigBytes -= 4, e;\n }\n }), n.SHA224 = a._createHelper(s), n.HmacSHA224 = a._createHmacHelper(s), r.SHA224);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib.Hasher,\n n = e.x64,\n i = n.Word,\n o = n.WordArray,\n a = e.algo;\n function s() {\n return i.create.apply(i, arguments);\n }\n var h = [s(1116352408, 3609767458), s(1899447441, 602891725), s(3049323471, 3964484399), s(3921009573, 2173295548), s(961987163, 4081628472), s(1508970993, 3053834265), s(2453635748, 2937671579), s(2870763221, 3664609560), s(3624381080, 2734883394), s(310598401, 1164996542), s(607225278, 1323610764), s(1426881987, 3590304994), s(1925078388, 4068182383), s(2162078206, 991336113), s(2614888103, 633803317), s(3248222580, 3479774868), s(3835390401, 2666613458), s(4022224774, 944711139), s(264347078, 2341262773), s(604807628, 2007800933), s(770255983, 1495990901), s(1249150122, 1856431235), s(1555081692, 3175218132), s(1996064986, 2198950837), s(2554220882, 3999719339), s(2821834349, 766784016), s(2952996808, 2566594879), s(3210313671, 3203337956), s(3336571891, 1034457026), s(3584528711, 2466948901), s(113926993, 3758326383), s(338241895, 168717936), s(666307205, 1188179964), s(773529912, 1546045734), s(1294757372, 1522805485), s(1396182291, 2643833823), s(1695183700, 2343527390), s(1986661051, 1014477480), s(2177026350, 1206759142), s(2456956037, 344077627), s(2730485921, 1290863460), s(2820302411, 3158454273), s(3259730800, 3505952657), s(3345764771, 106217008), s(3516065817, 3606008344), s(3600352804, 1432725776), s(4094571909, 1467031594), s(275423344, 851169720), s(430227734, 3100823752), s(506948616, 1363258195), s(659060556, 3750685593), s(883997877, 3785050280), s(958139571, 3318307427), s(1322822218, 3812723403), s(1537002063, 2003034995), s(1747873779, 3602036899), s(1955562222, 1575990012), s(2024104815, 1125592928), s(2227730452, 2716904306), s(2361852424, 442776044), s(2428436474, 593698344), s(2756734187, 3733110249), s(3204031479, 2999351573), s(3329325298, 3815920427), s(3391569614, 3928383900), s(3515267271, 566280711), s(3940187606, 3454069534), s(4118630271, 4000239992), s(116418474, 1914138554), s(174292421, 2731055270), s(289380356, 3203993006), s(460393269, 320620315), s(685471733, 587496836), s(852142971, 1086792851), s(1017036298, 365543100), s(1126000580, 2618297676), s(1288033470, 3409855158), s(1501505948, 4234509866), s(1607167915, 987167468), s(1816402316, 1246189591)],\n l = [];\n !function () {\n for (var e = 0; e < 80; e++) {\n l[e] = s();\n }\n }();\n var f = a.SHA512 = t.extend({\n _doReset: function _doReset() {\n this._hash = new o.init([new i.init(1779033703, 4089235720), new i.init(3144134277, 2227873595), new i.init(1013904242, 4271175723), new i.init(2773480762, 1595750129), new i.init(1359893119, 2917565137), new i.init(2600822924, 725511199), new i.init(528734635, 4215389547), new i.init(1541459225, 327033209)]);\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n for (var r = this._hash.words, n = r[0], i = r[1], o = r[2], a = r[3], s = r[4], f = r[5], c = r[6], u = r[7], d = n.high, p = n.low, _ = i.high, g = i.low, v = o.high, w = o.low, b = a.high, y = a.low, m = s.high, k = s.low, E = f.high, S = f.low, x = c.high, R = c.low, A = u.high, B = u.low, z = d, L = p, T = _, M = g, C = v, D = w, I = b, P = y, O = m, U = k, H = E, F = S, N = x, Z = R, j = A, W = B, Y = 0; Y < 80; Y++) {\n var K = l[Y];\n if (Y < 16) var X = K.high = 0 | e[t + 2 * Y],\n q = K.low = 0 | e[t + 2 * Y + 1];else {\n var V = l[Y - 15],\n G = V.high,\n $ = V.low,\n J = (G >>> 1 | $ << 31) ^ (G >>> 8 | $ << 24) ^ G >>> 7,\n Q = ($ >>> 1 | G << 31) ^ ($ >>> 8 | G << 24) ^ ($ >>> 7 | G << 25),\n ee = l[Y - 2],\n te = ee.high,\n re = ee.low,\n ne = (te >>> 19 | re << 13) ^ (te << 3 | re >>> 29) ^ te >>> 6,\n ie = (re >>> 19 | te << 13) ^ (re << 3 | te >>> 29) ^ (re >>> 6 | te << 26),\n oe = l[Y - 7],\n ae = oe.high,\n se = oe.low,\n he = l[Y - 16],\n le = he.high,\n fe = he.low;\n X = (X = (X = J + ae + ((q = Q + se) >>> 0 < Q >>> 0 ? 1 : 0)) + ne + ((q += ie) >>> 0 < ie >>> 0 ? 1 : 0)) + le + ((q += fe) >>> 0 < fe >>> 0 ? 1 : 0), K.high = X, K.low = q;\n }\n var ce,\n ue = O & H ^ ~O & N,\n de = U & F ^ ~U & Z,\n pe = z & T ^ z & C ^ T & C,\n _e = L & M ^ L & D ^ M & D,\n ge = (z >>> 28 | L << 4) ^ (z << 30 | L >>> 2) ^ (z << 25 | L >>> 7),\n ve = (L >>> 28 | z << 4) ^ (L << 30 | z >>> 2) ^ (L << 25 | z >>> 7),\n we = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9),\n be = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9),\n ye = h[Y],\n me = ye.high,\n ke = ye.low,\n Ee = j + we + ((ce = W + be) >>> 0 < W >>> 0 ? 1 : 0),\n Se = ve + _e;\n j = N, W = Z, N = H, Z = F, H = O, F = U, O = I + (Ee = (Ee = (Ee = Ee + ue + ((ce += de) >>> 0 < de >>> 0 ? 1 : 0)) + me + ((ce += ke) >>> 0 < ke >>> 0 ? 1 : 0)) + X + ((ce += q) >>> 0 < q >>> 0 ? 1 : 0)) + ((U = P + ce | 0) >>> 0 < P >>> 0 ? 1 : 0) | 0, I = C, P = D, C = T, D = M, T = z, M = L, z = Ee + (ge + pe + (Se >>> 0 < ve >>> 0 ? 1 : 0)) + ((L = ce + Se | 0) >>> 0 < ce >>> 0 ? 1 : 0) | 0;\n }\n p = n.low = p + L, n.high = d + z + (p >>> 0 < L >>> 0 ? 1 : 0), g = i.low = g + M, i.high = _ + T + (g >>> 0 < M >>> 0 ? 1 : 0), w = o.low = w + D, o.high = v + C + (w >>> 0 < D >>> 0 ? 1 : 0), y = a.low = y + P, a.high = b + I + (y >>> 0 < P >>> 0 ? 1 : 0), k = s.low = k + U, s.high = m + O + (k >>> 0 < U >>> 0 ? 1 : 0), S = f.low = S + F, f.high = E + H + (S >>> 0 < F >>> 0 ? 1 : 0), R = c.low = R + Z, c.high = x + N + (R >>> 0 < Z >>> 0 ? 1 : 0), B = u.low = B + W, u.high = A + j + (B >>> 0 < W >>> 0 ? 1 : 0);\n },\n _doFinalize: function _doFinalize() {\n var e = this._data,\n t = e.words,\n r = 8 * this._nDataBytes,\n n = 8 * e.sigBytes;\n return t[n >>> 5] |= 128 << 24 - n % 32, t[30 + (n + 128 >>> 10 << 5)] = Math.floor(r / 4294967296), t[31 + (n + 128 >>> 10 << 5)] = r, e.sigBytes = 4 * t.length, this._process(), this._hash.toX32();\n },\n clone: function clone() {\n var e = t.clone.call(this);\n return e._hash = this._hash.clone(), e;\n },\n blockSize: 32\n });\n e.SHA512 = t._createHelper(f), e.HmacSHA512 = t._createHmacHelper(f);\n }(), r.SHA512);\n }), Q(function (e, t) {\n var r, n, i, o, a, s, h, l;\n e.exports = (i = (n = r = ee).x64, o = i.Word, a = i.WordArray, s = n.algo, h = s.SHA512, l = s.SHA384 = h.extend({\n _doReset: function _doReset() {\n this._hash = new a.init([new o.init(3418070365, 3238371032), new o.init(1654270250, 914150663), new o.init(2438529370, 812702999), new o.init(355462360, 4144912697), new o.init(1731405415, 4290775857), new o.init(2394180231, 1750603025), new o.init(3675008525, 1694076839), new o.init(1203062813, 3204075428)]);\n },\n _doFinalize: function _doFinalize() {\n var e = h._doFinalize.call(this);\n return e.sigBytes -= 16, e;\n }\n }), n.SHA384 = h._createHelper(l), n.HmacSHA384 = h._createHmacHelper(l), r.SHA384);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function (e) {\n var t = r,\n n = t.lib,\n i = n.WordArray,\n o = n.Hasher,\n a = t.x64.Word,\n s = t.algo,\n h = [],\n l = [],\n f = [];\n !function () {\n for (var e = 1, t = 0, r = 0; r < 24; r++) {\n h[e + 5 * t] = (r + 1) * (r + 2) / 2 % 64;\n var n = (2 * e + 3 * t) % 5;\n e = t % 5, t = n;\n }\n for (e = 0; e < 5; e++) {\n for (t = 0; t < 5; t++) {\n l[e + 5 * t] = t + (2 * e + 3 * t) % 5 * 5;\n }\n }\n for (var i = 1, o = 0; o < 24; o++) {\n for (var s = 0, c = 0, u = 0; u < 7; u++) {\n if (1 & i) {\n var d = (1 << u) - 1;\n d < 32 ? c ^= 1 << d : s ^= 1 << d - 32;\n }\n 128 & i ? i = i << 1 ^ 113 : i <<= 1;\n }\n f[o] = a.create(s, c);\n }\n }();\n var c = [];\n !function () {\n for (var e = 0; e < 25; e++) {\n c[e] = a.create();\n }\n }();\n var u = s.SHA3 = o.extend({\n cfg: o.cfg.extend({\n outputLength: 512\n }),\n _doReset: function _doReset() {\n for (var e = this._state = [], t = 0; t < 25; t++) {\n e[t] = new a.init();\n }\n this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n for (var r = this._state, n = this.blockSize / 2, i = 0; i < n; i++) {\n var o = e[t + 2 * i],\n a = e[t + 2 * i + 1];\n o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), a = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), (B = r[i]).high ^= a, B.low ^= o;\n }\n for (var s = 0; s < 24; s++) {\n for (var u = 0; u < 5; u++) {\n for (var d = 0, p = 0, _ = 0; _ < 5; _++) {\n d ^= (B = r[u + 5 * _]).high, p ^= B.low;\n }\n var g = c[u];\n g.high = d, g.low = p;\n }\n for (u = 0; u < 5; u++) {\n var v = c[(u + 4) % 5],\n w = c[(u + 1) % 5],\n b = w.high,\n y = w.low;\n for (d = v.high ^ (b << 1 | y >>> 31), p = v.low ^ (y << 1 | b >>> 31), _ = 0; _ < 5; _++) {\n (B = r[u + 5 * _]).high ^= d, B.low ^= p;\n }\n }\n for (var m = 1; m < 25; m++) {\n var k = (B = r[m]).high,\n E = B.low,\n S = h[m];\n S < 32 ? (d = k << S | E >>> 32 - S, p = E << S | k >>> 32 - S) : (d = E << S - 32 | k >>> 64 - S, p = k << S - 32 | E >>> 64 - S);\n var x = c[l[m]];\n x.high = d, x.low = p;\n }\n var R = c[0],\n A = r[0];\n for (R.high = A.high, R.low = A.low, u = 0; u < 5; u++) {\n for (_ = 0; _ < 5; _++) {\n var B = r[m = u + 5 * _],\n z = c[m],\n L = c[(u + 1) % 5 + 5 * _],\n T = c[(u + 2) % 5 + 5 * _];\n B.high = z.high ^ ~L.high & T.high, B.low = z.low ^ ~L.low & T.low;\n }\n }\n B = r[0];\n var M = f[s];\n B.high ^= M.high, B.low ^= M.low;\n }\n },\n _doFinalize: function _doFinalize() {\n var t = this._data,\n r = t.words,\n n = (this._nDataBytes, 8 * t.sigBytes),\n o = 32 * this.blockSize;\n r[n >>> 5] |= 1 << 24 - n % 32, r[(e.ceil((n + 1) / o) * o >>> 5) - 1] |= 128, t.sigBytes = 4 * r.length, this._process();\n for (var a = this._state, s = this.cfg.outputLength / 8, h = s / 8, l = [], f = 0; f < h; f++) {\n var c = a[f],\n u = c.high,\n d = c.low;\n u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), l.push(d), l.push(u);\n }\n return new i.init(l, s);\n },\n clone: function clone() {\n for (var e = o.clone.call(this), t = e._state = this._state.slice(0), r = 0; r < 25; r++) {\n t[r] = t[r].clone();\n }\n return e;\n }\n });\n t.SHA3 = o._createHelper(u), t.HmacSHA3 = o._createHmacHelper(u);\n }(Math), r.SHA3);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function (e) {\n var t = r,\n n = t.lib,\n i = n.WordArray,\n o = n.Hasher,\n a = t.algo,\n s = i.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]),\n h = i.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]),\n l = i.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]),\n f = i.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]),\n c = i.create([0, 1518500249, 1859775393, 2400959708, 2840853838]),\n u = i.create([1352829926, 1548603684, 1836072691, 2053994217, 0]),\n d = a.RIPEMD160 = o.extend({\n _doReset: function _doReset() {\n this._hash = i.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n for (var r = 0; r < 16; r++) {\n var n = t + r,\n i = e[n];\n e[n] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8);\n }\n var o,\n a,\n d,\n y,\n m,\n k,\n E,\n S,\n x,\n R,\n A,\n B = this._hash.words,\n z = c.words,\n L = u.words,\n T = s.words,\n M = h.words,\n C = l.words,\n D = f.words;\n for (k = o = B[0], E = a = B[1], S = d = B[2], x = y = B[3], R = m = B[4], r = 0; r < 80; r += 1) {\n A = o + e[t + T[r]] | 0, A += r < 16 ? p(a, d, y) + z[0] : r < 32 ? _(a, d, y) + z[1] : r < 48 ? g(a, d, y) + z[2] : r < 64 ? v(a, d, y) + z[3] : w(a, d, y) + z[4], A = (A = b(A |= 0, C[r])) + m | 0, o = m, m = y, y = b(d, 10), d = a, a = A, A = k + e[t + M[r]] | 0, A += r < 16 ? w(E, S, x) + L[0] : r < 32 ? v(E, S, x) + L[1] : r < 48 ? g(E, S, x) + L[2] : r < 64 ? _(E, S, x) + L[3] : p(E, S, x) + L[4], A = (A = b(A |= 0, D[r])) + R | 0, k = R, R = x, x = b(S, 10), S = E, E = A;\n }\n A = B[1] + d + x | 0, B[1] = B[2] + y + R | 0, B[2] = B[3] + m + k | 0, B[3] = B[4] + o + E | 0, B[4] = B[0] + a + S | 0, B[0] = A;\n },\n _doFinalize: function _doFinalize() {\n var e = this._data,\n t = e.words,\n r = 8 * this._nDataBytes,\n n = 8 * e.sigBytes;\n t[n >>> 5] |= 128 << 24 - n % 32, t[14 + (n + 64 >>> 9 << 4)] = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8), e.sigBytes = 4 * (t.length + 1), this._process();\n for (var i = this._hash, o = i.words, a = 0; a < 5; a++) {\n var s = o[a];\n o[a] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8);\n }\n return i;\n },\n clone: function clone() {\n var e = o.clone.call(this);\n return e._hash = this._hash.clone(), e;\n }\n });\n function p(e, t, r) {\n return e ^ t ^ r;\n }\n function _(e, t, r) {\n return e & t | ~e & r;\n }\n function g(e, t, r) {\n return (e | ~t) ^ r;\n }\n function v(e, t, r) {\n return e & r | t & ~r;\n }\n function w(e, t, r) {\n return e ^ (t | ~r);\n }\n function b(e, t) {\n return e << t | e >>> 32 - t;\n }\n t.RIPEMD160 = o._createHelper(d), t.HmacRIPEMD160 = o._createHmacHelper(d);\n }(), r.RIPEMD160);\n }), Q(function (e, t) {\n var r, n, i, o, a, s;\n e.exports = (n = (r = ee).lib, i = n.Base, o = r.enc, a = o.Utf8, s = r.algo, void (s.HMAC = i.extend({\n init: function init(e, t) {\n e = this._hasher = new e.init(), \"string\" == typeof t && (t = a.parse(t));\n var r = e.blockSize,\n n = 4 * r;\n t.sigBytes > n && (t = e.finalize(t)), t.clamp();\n for (var i = this._oKey = t.clone(), o = this._iKey = t.clone(), s = i.words, h = o.words, l = 0; l < r; l++) {\n s[l] ^= 1549556828, h[l] ^= 909522486;\n }\n i.sigBytes = o.sigBytes = n, this.reset();\n },\n reset: function reset() {\n var e = this._hasher;\n e.reset(), e.update(this._iKey);\n },\n update: function update(e) {\n return this._hasher.update(e), this;\n },\n finalize: function finalize(e) {\n var t = this._hasher,\n r = t.finalize(e);\n t.reset();\n var n = t.finalize(this._oKey.clone().concat(r));\n return n;\n }\n })));\n }), Q(function (e, t) {\n var r, n, i, o, a, s, h, l, f;\n e.exports = (i = (n = r = ee).lib, o = i.Base, a = i.WordArray, s = n.algo, h = s.SHA1, l = s.HMAC, f = s.PBKDF2 = o.extend({\n cfg: o.extend({\n keySize: 4,\n hasher: h,\n iterations: 1\n }),\n init: function init(e) {\n this.cfg = this.cfg.extend(e);\n },\n compute: function compute(e, t) {\n for (var r = this.cfg, n = l.create(r.hasher, e), i = a.create(), o = a.create([1]), s = i.words, h = o.words, f = r.keySize, c = r.iterations; s.length < f;) {\n var u = n.update(t).finalize(o);\n n.reset();\n for (var d = u.words, p = d.length, _ = u, g = 1; g < c; g++) {\n _ = n.finalize(_), n.reset();\n for (var v = _.words, w = 0; w < p; w++) {\n d[w] ^= v[w];\n }\n }\n i.concat(u), h[0]++;\n }\n return i.sigBytes = 4 * f, i;\n }\n }), n.PBKDF2 = function (e, t, r) {\n return f.create(r).compute(e, t);\n }, r.PBKDF2);\n }), Q(function (e, t) {\n var r, n, i, o, a, s, h, l;\n e.exports = (i = (n = r = ee).lib, o = i.Base, a = i.WordArray, s = n.algo, h = s.MD5, l = s.EvpKDF = o.extend({\n cfg: o.extend({\n keySize: 4,\n hasher: h,\n iterations: 1\n }),\n init: function init(e) {\n this.cfg = this.cfg.extend(e);\n },\n compute: function compute(e, t) {\n for (var r = this.cfg, n = r.hasher.create(), i = a.create(), o = i.words, s = r.keySize, h = r.iterations; o.length < s;) {\n l && n.update(l);\n var l = n.update(e).finalize(t);\n n.reset();\n for (var f = 1; f < h; f++) {\n l = n.finalize(l), n.reset();\n }\n i.concat(l);\n }\n return i.sigBytes = 4 * s, i;\n }\n }), n.EvpKDF = function (e, t, r) {\n return l.create(r).compute(e, t);\n }, r.EvpKDF);\n }), Q(function (e, t) {\n var r, n, i, o, a, s, h, l, f, c, u, d, p, _, g, v, w, b, y, m, k, E, S, x;\n e.exports = void ((r = ee).lib.Cipher || (i = r, o = i.lib, a = o.Base, s = o.WordArray, h = o.BufferedBlockAlgorithm, l = i.enc, l.Utf8, f = l.Base64, c = i.algo, u = c.EvpKDF, d = o.Cipher = h.extend({\n cfg: a.extend(),\n createEncryptor: function createEncryptor(e, t) {\n return this.create(this._ENC_XFORM_MODE, e, t);\n },\n createDecryptor: function createDecryptor(e, t) {\n return this.create(this._DEC_XFORM_MODE, e, t);\n },\n init: function init(e, t, r) {\n this.cfg = this.cfg.extend(r), this._xformMode = e, this._key = t, this.reset();\n },\n reset: function reset() {\n h.reset.call(this), this._doReset();\n },\n process: function process(e) {\n return this._append(e), this._process();\n },\n finalize: function finalize(e) {\n e && this._append(e);\n var t = this._doFinalize();\n return t;\n },\n keySize: 4,\n ivSize: 4,\n _ENC_XFORM_MODE: 1,\n _DEC_XFORM_MODE: 2,\n _createHelper: function () {\n function e(e) {\n return \"string\" == typeof e ? x : k;\n }\n return function (t) {\n return {\n encrypt: function encrypt(r, n, i) {\n return e(n).encrypt(t, r, n, i);\n },\n decrypt: function decrypt(r, n, i) {\n return e(n).decrypt(t, r, n, i);\n }\n };\n };\n }()\n }), o.StreamCipher = d.extend({\n _doFinalize: function _doFinalize() {\n var e = this._process(!0);\n return e;\n },\n blockSize: 1\n }), p = i.mode = {}, _ = o.BlockCipherMode = a.extend({\n createEncryptor: function createEncryptor(e, t) {\n return this.Encryptor.create(e, t);\n },\n createDecryptor: function createDecryptor(e, t) {\n return this.Decryptor.create(e, t);\n },\n init: function init(e, t) {\n this._cipher = e, this._iv = t;\n }\n }), g = p.CBC = function () {\n var e = _.extend();\n function t(e, t, r) {\n var i = this._iv;\n if (i) {\n var o = i;\n this._iv = n;\n } else var o = this._prevBlock;\n for (var a = 0; a < r; a++) {\n e[t + a] ^= o[a];\n }\n }\n return e.Encryptor = e.extend({\n processBlock: function processBlock(e, r) {\n var n = this._cipher,\n i = n.blockSize;\n t.call(this, e, r, i), n.encryptBlock(e, r), this._prevBlock = e.slice(r, r + i);\n }\n }), e.Decryptor = e.extend({\n processBlock: function processBlock(e, r) {\n var n = this._cipher,\n i = n.blockSize,\n o = e.slice(r, r + i);\n n.decryptBlock(e, r), t.call(this, e, r, i), this._prevBlock = o;\n }\n }), e;\n }(), v = i.pad = {}, w = v.Pkcs7 = {\n pad: function pad(e, t) {\n for (var r = 4 * t, n = r - e.sigBytes % r, i = n << 24 | n << 16 | n << 8 | n, o = [], a = 0; a < n; a += 4) {\n o.push(i);\n }\n var h = s.create(o, n);\n e.concat(h);\n },\n unpad: function unpad(e) {\n var t = 255 & e.words[e.sigBytes - 1 >>> 2];\n e.sigBytes -= t;\n }\n }, o.BlockCipher = d.extend({\n cfg: d.cfg.extend({\n mode: g,\n padding: w\n }),\n reset: function reset() {\n d.reset.call(this);\n var e = this.cfg,\n t = e.iv,\n r = e.mode;\n if (this._xformMode == this._ENC_XFORM_MODE) var n = r.createEncryptor;else {\n var n = r.createDecryptor;\n this._minBufferSize = 1;\n }\n this._mode && this._mode.__creator == n ? this._mode.init(this, t && t.words) : (this._mode = n.call(r, this, t && t.words), this._mode.__creator = n);\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n this._mode.processBlock(e, t);\n },\n _doFinalize: function _doFinalize() {\n var e = this.cfg.padding;\n if (this._xformMode == this._ENC_XFORM_MODE) {\n e.pad(this._data, this.blockSize);\n var t = this._process(!0);\n } else {\n var t = this._process(!0);\n e.unpad(t);\n }\n return t;\n },\n blockSize: 4\n }), b = o.CipherParams = a.extend({\n init: function init(e) {\n this.mixIn(e);\n },\n toString: function toString(e) {\n return (e || this.formatter).stringify(this);\n }\n }), y = i.format = {}, m = y.OpenSSL = {\n stringify: function stringify(e) {\n var t = e.ciphertext,\n r = e.salt;\n if (r) var n = s.create([1398893684, 1701076831]).concat(r).concat(t);else var n = t;\n return n.toString(f);\n },\n parse: function parse(e) {\n var t = f.parse(e),\n r = t.words;\n if (1398893684 == r[0] && 1701076831 == r[1]) {\n var n = s.create(r.slice(2, 4));\n r.splice(0, 4), t.sigBytes -= 16;\n }\n return b.create({\n ciphertext: t,\n salt: n\n });\n }\n }, k = o.SerializableCipher = a.extend({\n cfg: a.extend({\n format: m\n }),\n encrypt: function encrypt(e, t, r, n) {\n n = this.cfg.extend(n);\n var i = e.createEncryptor(r, n),\n o = i.finalize(t),\n a = i.cfg;\n return b.create({\n ciphertext: o,\n key: r,\n iv: a.iv,\n algorithm: e,\n mode: a.mode,\n padding: a.padding,\n blockSize: e.blockSize,\n formatter: n.format\n });\n },\n decrypt: function decrypt(e, t, r, n) {\n n = this.cfg.extend(n), t = this._parse(t, n.format);\n var i = e.createDecryptor(r, n).finalize(t.ciphertext);\n return i;\n },\n _parse: function _parse(e, t) {\n return \"string\" == typeof e ? t.parse(e, this) : e;\n }\n }), E = i.kdf = {}, S = E.OpenSSL = {\n execute: function execute(e, t, r, n) {\n n || (n = s.random(8));\n var i = u.create({\n keySize: t + r\n }).compute(e, n),\n o = s.create(i.words.slice(t), 4 * r);\n return i.sigBytes = 4 * t, b.create({\n key: i,\n iv: o,\n salt: n\n });\n }\n }, x = o.PasswordBasedCipher = k.extend({\n cfg: k.cfg.extend({\n kdf: S\n }),\n encrypt: function encrypt(e, t, r, n) {\n var i = (n = this.cfg.extend(n)).kdf.execute(r, e.keySize, e.ivSize);\n n.iv = i.iv;\n var o = k.encrypt.call(this, e, t, i.key, n);\n return o.mixIn(i), o;\n },\n decrypt: function decrypt(e, t, r, n) {\n n = this.cfg.extend(n), t = this._parse(t, n.format);\n var i = n.kdf.execute(r, e.keySize, e.ivSize, t.salt);\n n.iv = i.iv;\n var o = k.decrypt.call(this, e, t, i.key, n);\n return o;\n }\n })));\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).mode.CFB = function () {\n var e = r.lib.BlockCipherMode.extend();\n function t(e, t, r, n) {\n var i = this._iv;\n if (i) {\n var o = i.slice(0);\n this._iv = void 0;\n } else o = this._prevBlock;\n n.encryptBlock(o, 0);\n for (var a = 0; a < r; a++) {\n e[t + a] ^= o[a];\n }\n }\n return e.Encryptor = e.extend({\n processBlock: function processBlock(e, r) {\n var n = this._cipher,\n i = n.blockSize;\n t.call(this, e, r, i, n), this._prevBlock = e.slice(r, r + i);\n }\n }), e.Decryptor = e.extend({\n processBlock: function processBlock(e, r) {\n var n = this._cipher,\n i = n.blockSize,\n o = e.slice(r, r + i);\n t.call(this, e, r, i, n), this._prevBlock = o;\n }\n }), e;\n }(), r.mode.CFB);\n }), Q(function (e, t) {\n var r, n, i;\n e.exports = ((r = ee).mode.CTR = (n = r.lib.BlockCipherMode.extend(), i = n.Encryptor = n.extend({\n processBlock: function processBlock(e, t) {\n var r = this._cipher,\n n = r.blockSize,\n i = this._iv,\n o = this._counter;\n i && (o = this._counter = i.slice(0), this._iv = void 0);\n var a = o.slice(0);\n r.encryptBlock(a, 0), o[n - 1] = o[n - 1] + 1 | 0;\n for (var s = 0; s < n; s++) {\n e[t + s] ^= a[s];\n }\n }\n }), n.Decryptor = i, n), r.mode.CTR);\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).mode.CTRGladman = function () {\n var e = r.lib.BlockCipherMode.extend();\n function t(e) {\n if (255 == (e >> 24 & 255)) {\n var t = e >> 16 & 255,\n r = e >> 8 & 255,\n n = 255 & e;\n 255 === t ? (t = 0, 255 === r ? (r = 0, 255 === n ? n = 0 : ++n) : ++r) : ++t, e = 0, e += t << 16, e += r << 8, e += n;\n } else e += 1 << 24;\n return e;\n }\n var n = e.Encryptor = e.extend({\n processBlock: function processBlock(e, r) {\n var n = this._cipher,\n i = n.blockSize,\n o = this._iv,\n a = this._counter;\n o && (a = this._counter = o.slice(0), this._iv = void 0), function (e) {\n 0 === (e[0] = t(e[0])) && (e[1] = t(e[1]));\n }(a);\n var s = a.slice(0);\n n.encryptBlock(s, 0);\n for (var h = 0; h < i; h++) {\n e[r + h] ^= s[h];\n }\n }\n });\n return e.Decryptor = n, e;\n }(), r.mode.CTRGladman);\n }), Q(function (e, t) {\n var r, n, i;\n e.exports = ((r = ee).mode.OFB = (n = r.lib.BlockCipherMode.extend(), i = n.Encryptor = n.extend({\n processBlock: function processBlock(e, t) {\n var r = this._cipher,\n n = r.blockSize,\n i = this._iv,\n o = this._keystream;\n i && (o = this._keystream = i.slice(0), this._iv = void 0), r.encryptBlock(o, 0);\n for (var a = 0; a < n; a++) {\n e[t + a] ^= o[a];\n }\n }\n }), n.Decryptor = i, n), r.mode.OFB);\n }), Q(function (e, t) {\n var r, n;\n e.exports = ((r = ee).mode.ECB = ((n = r.lib.BlockCipherMode.extend()).Encryptor = n.extend({\n processBlock: function processBlock(e, t) {\n this._cipher.encryptBlock(e, t);\n }\n }), n.Decryptor = n.extend({\n processBlock: function processBlock(e, t) {\n this._cipher.decryptBlock(e, t);\n }\n }), n), r.mode.ECB);\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).pad.AnsiX923 = {\n pad: function pad(e, t) {\n var r = e.sigBytes,\n n = 4 * t,\n i = n - r % n,\n o = r + i - 1;\n e.clamp(), e.words[o >>> 2] |= i << 24 - o % 4 * 8, e.sigBytes += i;\n },\n unpad: function unpad(e) {\n var t = 255 & e.words[e.sigBytes - 1 >>> 2];\n e.sigBytes -= t;\n }\n }, r.pad.Ansix923);\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).pad.Iso10126 = {\n pad: function pad(e, t) {\n var n = 4 * t,\n i = n - e.sigBytes % n;\n e.concat(r.lib.WordArray.random(i - 1)).concat(r.lib.WordArray.create([i << 24], 1));\n },\n unpad: function unpad(e) {\n var t = 255 & e.words[e.sigBytes - 1 >>> 2];\n e.sigBytes -= t;\n }\n }, r.pad.Iso10126);\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).pad.Iso97971 = {\n pad: function pad(e, t) {\n e.concat(r.lib.WordArray.create([2147483648], 1)), r.pad.ZeroPadding.pad(e, t);\n },\n unpad: function unpad(e) {\n r.pad.ZeroPadding.unpad(e), e.sigBytes--;\n }\n }, r.pad.Iso97971);\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).pad.ZeroPadding = {\n pad: function pad(e, t) {\n var r = 4 * t;\n e.clamp(), e.sigBytes += r - (e.sigBytes % r || r);\n },\n unpad: function unpad(e) {\n for (var t = e.words, r = e.sigBytes - 1; !(t[r >>> 2] >>> 24 - r % 4 * 8 & 255);) {\n r--;\n }\n e.sigBytes = r + 1;\n }\n }, r.pad.ZeroPadding);\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).pad.NoPadding = {\n pad: function pad() {},\n unpad: function unpad() {}\n }, r.pad.NoPadding);\n }), Q(function (e, t) {\n var r, n, i, o;\n e.exports = (i = (n = r = ee).lib.CipherParams, o = n.enc.Hex, n.format.Hex = {\n stringify: function stringify(e) {\n return e.ciphertext.toString(o);\n },\n parse: function parse(e) {\n var t = o.parse(e);\n return i.create({\n ciphertext: t\n });\n }\n }, r.format.Hex);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib.BlockCipher,\n n = e.algo,\n i = [],\n o = [],\n a = [],\n s = [],\n h = [],\n l = [],\n f = [],\n c = [],\n u = [],\n d = [];\n !function () {\n for (var e = [], t = 0; t < 256; t++) {\n e[t] = t < 128 ? t << 1 : t << 1 ^ 283;\n }\n var r = 0,\n n = 0;\n for (t = 0; t < 256; t++) {\n var p = n ^ n << 1 ^ n << 2 ^ n << 3 ^ n << 4;\n p = p >>> 8 ^ 255 & p ^ 99, i[r] = p, o[p] = r;\n var _ = e[r],\n g = e[_],\n v = e[g],\n w = 257 * e[p] ^ 16843008 * p;\n a[r] = w << 24 | w >>> 8, s[r] = w << 16 | w >>> 16, h[r] = w << 8 | w >>> 24, l[r] = w, w = 16843009 * v ^ 65537 * g ^ 257 * _ ^ 16843008 * r, f[p] = w << 24 | w >>> 8, c[p] = w << 16 | w >>> 16, u[p] = w << 8 | w >>> 24, d[p] = w, r ? (r = _ ^ e[e[e[v ^ _]]], n ^= e[e[n]]) : r = n = 1;\n }\n }();\n var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54],\n _ = n.AES = t.extend({\n _doReset: function _doReset() {\n if (!this._nRounds || this._keyPriorReset !== this._key) {\n for (var e = this._keyPriorReset = this._key, t = e.words, r = e.sigBytes / 4, n = 4 * ((this._nRounds = r + 6) + 1), o = this._keySchedule = [], a = 0; a < n; a++) {\n if (a < r) o[a] = t[a];else {\n var s = o[a - 1];\n a % r ? r > 6 && a % r == 4 && (s = i[s >>> 24] << 24 | i[s >>> 16 & 255] << 16 | i[s >>> 8 & 255] << 8 | i[255 & s]) : (s = i[(s = s << 8 | s >>> 24) >>> 24] << 24 | i[s >>> 16 & 255] << 16 | i[s >>> 8 & 255] << 8 | i[255 & s], s ^= p[a / r | 0] << 24), o[a] = o[a - r] ^ s;\n }\n }\n for (var h = this._invKeySchedule = [], l = 0; l < n; l++) {\n a = n - l, s = l % 4 ? o[a] : o[a - 4], h[l] = l < 4 || a <= 4 ? s : f[i[s >>> 24]] ^ c[i[s >>> 16 & 255]] ^ u[i[s >>> 8 & 255]] ^ d[i[255 & s]];\n }\n }\n },\n encryptBlock: function encryptBlock(e, t) {\n this._doCryptBlock(e, t, this._keySchedule, a, s, h, l, i);\n },\n decryptBlock: function decryptBlock(e, t) {\n var r = e[t + 1];\n e[t + 1] = e[t + 3], e[t + 3] = r, this._doCryptBlock(e, t, this._invKeySchedule, f, c, u, d, o), r = e[t + 1], e[t + 1] = e[t + 3], e[t + 3] = r;\n },\n _doCryptBlock: function _doCryptBlock(e, t, r, n, i, o, a, s) {\n for (var h = this._nRounds, l = e[t] ^ r[0], f = e[t + 1] ^ r[1], c = e[t + 2] ^ r[2], u = e[t + 3] ^ r[3], d = 4, p = 1; p < h; p++) {\n var _ = n[l >>> 24] ^ i[f >>> 16 & 255] ^ o[c >>> 8 & 255] ^ a[255 & u] ^ r[d++],\n g = n[f >>> 24] ^ i[c >>> 16 & 255] ^ o[u >>> 8 & 255] ^ a[255 & l] ^ r[d++],\n v = n[c >>> 24] ^ i[u >>> 16 & 255] ^ o[l >>> 8 & 255] ^ a[255 & f] ^ r[d++],\n w = n[u >>> 24] ^ i[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ a[255 & c] ^ r[d++];\n l = _, f = g, c = v, u = w;\n }\n _ = (s[l >>> 24] << 24 | s[f >>> 16 & 255] << 16 | s[c >>> 8 & 255] << 8 | s[255 & u]) ^ r[d++], g = (s[f >>> 24] << 24 | s[c >>> 16 & 255] << 16 | s[u >>> 8 & 255] << 8 | s[255 & l]) ^ r[d++], v = (s[c >>> 24] << 24 | s[u >>> 16 & 255] << 16 | s[l >>> 8 & 255] << 8 | s[255 & f]) ^ r[d++], w = (s[u >>> 24] << 24 | s[l >>> 16 & 255] << 16 | s[f >>> 8 & 255] << 8 | s[255 & c]) ^ r[d++], e[t] = _, e[t + 1] = g, e[t + 2] = v, e[t + 3] = w;\n },\n keySize: 8\n });\n e.AES = t._createHelper(_);\n }(), r.AES);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib,\n n = t.WordArray,\n i = t.BlockCipher,\n o = e.algo,\n a = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4],\n s = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32],\n h = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28],\n l = [{\n 0: 8421888,\n 268435456: 32768,\n 536870912: 8421378,\n 805306368: 2,\n 1073741824: 512,\n 1342177280: 8421890,\n 1610612736: 8389122,\n 1879048192: 8388608,\n 2147483648: 514,\n 2415919104: 8389120,\n 2684354560: 33280,\n 2952790016: 8421376,\n 3221225472: 32770,\n 3489660928: 8388610,\n 3758096384: 0,\n 4026531840: 33282,\n 134217728: 0,\n 402653184: 8421890,\n 671088640: 33282,\n 939524096: 32768,\n 1207959552: 8421888,\n 1476395008: 512,\n 1744830464: 8421378,\n 2013265920: 2,\n 2281701376: 8389120,\n 2550136832: 33280,\n 2818572288: 8421376,\n 3087007744: 8389122,\n 3355443200: 8388610,\n 3623878656: 32770,\n 3892314112: 514,\n 4160749568: 8388608,\n 1: 32768,\n 268435457: 2,\n 536870913: 8421888,\n 805306369: 8388608,\n 1073741825: 8421378,\n 1342177281: 33280,\n 1610612737: 512,\n 1879048193: 8389122,\n 2147483649: 8421890,\n 2415919105: 8421376,\n 2684354561: 8388610,\n 2952790017: 33282,\n 3221225473: 514,\n 3489660929: 8389120,\n 3758096385: 32770,\n 4026531841: 0,\n 134217729: 8421890,\n 402653185: 8421376,\n 671088641: 8388608,\n 939524097: 512,\n 1207959553: 32768,\n 1476395009: 8388610,\n 1744830465: 2,\n 2013265921: 33282,\n 2281701377: 32770,\n 2550136833: 8389122,\n 2818572289: 514,\n 3087007745: 8421888,\n 3355443201: 8389120,\n 3623878657: 0,\n 3892314113: 33280,\n 4160749569: 8421378\n }, {\n 0: 1074282512,\n 16777216: 16384,\n 33554432: 524288,\n 50331648: 1074266128,\n 67108864: 1073741840,\n 83886080: 1074282496,\n 100663296: 1073758208,\n 117440512: 16,\n 134217728: 540672,\n 150994944: 1073758224,\n 167772160: 1073741824,\n 184549376: 540688,\n 201326592: 524304,\n 218103808: 0,\n 234881024: 16400,\n 251658240: 1074266112,\n 8388608: 1073758208,\n 25165824: 540688,\n 41943040: 16,\n 58720256: 1073758224,\n 75497472: 1074282512,\n 92274688: 1073741824,\n 109051904: 524288,\n 125829120: 1074266128,\n 142606336: 524304,\n 159383552: 0,\n 176160768: 16384,\n 192937984: 1074266112,\n 209715200: 1073741840,\n 226492416: 540672,\n 243269632: 1074282496,\n 260046848: 16400,\n 268435456: 0,\n 285212672: 1074266128,\n 301989888: 1073758224,\n 318767104: 1074282496,\n 335544320: 1074266112,\n 352321536: 16,\n 369098752: 540688,\n 385875968: 16384,\n 402653184: 16400,\n 419430400: 524288,\n 436207616: 524304,\n 452984832: 1073741840,\n 469762048: 540672,\n 486539264: 1073758208,\n 503316480: 1073741824,\n 520093696: 1074282512,\n 276824064: 540688,\n 293601280: 524288,\n 310378496: 1074266112,\n 327155712: 16384,\n 343932928: 1073758208,\n 360710144: 1074282512,\n 377487360: 16,\n 394264576: 1073741824,\n 411041792: 1074282496,\n 427819008: 1073741840,\n 444596224: 1073758224,\n 461373440: 524304,\n 478150656: 0,\n 494927872: 16400,\n 511705088: 1074266128,\n 528482304: 540672\n }, {\n 0: 260,\n 1048576: 0,\n 2097152: 67109120,\n 3145728: 65796,\n 4194304: 65540,\n 5242880: 67108868,\n 6291456: 67174660,\n 7340032: 67174400,\n 8388608: 67108864,\n 9437184: 67174656,\n 10485760: 65792,\n 11534336: 67174404,\n 12582912: 67109124,\n 13631488: 65536,\n 14680064: 4,\n 15728640: 256,\n 524288: 67174656,\n 1572864: 67174404,\n 2621440: 0,\n 3670016: 67109120,\n 4718592: 67108868,\n 5767168: 65536,\n 6815744: 65540,\n 7864320: 260,\n 8912896: 4,\n 9961472: 256,\n 11010048: 67174400,\n 12058624: 65796,\n 13107200: 65792,\n 14155776: 67109124,\n 15204352: 67174660,\n 16252928: 67108864,\n 16777216: 67174656,\n 17825792: 65540,\n 18874368: 65536,\n 19922944: 67109120,\n 20971520: 256,\n 22020096: 67174660,\n 23068672: 67108868,\n 24117248: 0,\n 25165824: 67109124,\n 26214400: 67108864,\n 27262976: 4,\n 28311552: 65792,\n 29360128: 67174400,\n 30408704: 260,\n 31457280: 65796,\n 32505856: 67174404,\n 17301504: 67108864,\n 18350080: 260,\n 19398656: 67174656,\n 20447232: 0,\n 21495808: 65540,\n 22544384: 67109120,\n 23592960: 256,\n 24641536: 67174404,\n 25690112: 65536,\n 26738688: 67174660,\n 27787264: 65796,\n 28835840: 67108868,\n 29884416: 67109124,\n 30932992: 67174400,\n 31981568: 4,\n 33030144: 65792\n }, {\n 0: 2151682048,\n 65536: 2147487808,\n 131072: 4198464,\n 196608: 2151677952,\n 262144: 0,\n 327680: 4198400,\n 393216: 2147483712,\n 458752: 4194368,\n 524288: 2147483648,\n 589824: 4194304,\n 655360: 64,\n 720896: 2147487744,\n 786432: 2151678016,\n 851968: 4160,\n 917504: 4096,\n 983040: 2151682112,\n 32768: 2147487808,\n 98304: 64,\n 163840: 2151678016,\n 229376: 2147487744,\n 294912: 4198400,\n 360448: 2151682112,\n 425984: 0,\n 491520: 2151677952,\n 557056: 4096,\n 622592: 2151682048,\n 688128: 4194304,\n 753664: 4160,\n 819200: 2147483648,\n 884736: 4194368,\n 950272: 4198464,\n 1015808: 2147483712,\n 1048576: 4194368,\n 1114112: 4198400,\n 1179648: 2147483712,\n 1245184: 0,\n 1310720: 4160,\n 1376256: 2151678016,\n 1441792: 2151682048,\n 1507328: 2147487808,\n 1572864: 2151682112,\n 1638400: 2147483648,\n 1703936: 2151677952,\n 1769472: 4198464,\n 1835008: 2147487744,\n 1900544: 4194304,\n 1966080: 64,\n 2031616: 4096,\n 1081344: 2151677952,\n 1146880: 2151682112,\n 1212416: 0,\n 1277952: 4198400,\n 1343488: 4194368,\n 1409024: 2147483648,\n 1474560: 2147487808,\n 1540096: 64,\n 1605632: 2147483712,\n 1671168: 4096,\n 1736704: 2147487744,\n 1802240: 2151678016,\n 1867776: 4160,\n 1933312: 2151682048,\n 1998848: 4194304,\n 2064384: 4198464\n }, {\n 0: 128,\n 4096: 17039360,\n 8192: 262144,\n 12288: 536870912,\n 16384: 537133184,\n 20480: 16777344,\n 24576: 553648256,\n 28672: 262272,\n 32768: 16777216,\n 36864: 537133056,\n 40960: 536871040,\n 45056: 553910400,\n 49152: 553910272,\n 53248: 0,\n 57344: 17039488,\n 61440: 553648128,\n 2048: 17039488,\n 6144: 553648256,\n 10240: 128,\n 14336: 17039360,\n 18432: 262144,\n 22528: 537133184,\n 26624: 553910272,\n 30720: 536870912,\n 34816: 537133056,\n 38912: 0,\n 43008: 553910400,\n 47104: 16777344,\n 51200: 536871040,\n 55296: 553648128,\n 59392: 16777216,\n 63488: 262272,\n 65536: 262144,\n 69632: 128,\n 73728: 536870912,\n 77824: 553648256,\n 81920: 16777344,\n 86016: 553910272,\n 90112: 537133184,\n 94208: 16777216,\n 98304: 553910400,\n 102400: 553648128,\n 106496: 17039360,\n 110592: 537133056,\n 114688: 262272,\n 118784: 536871040,\n 122880: 0,\n 126976: 17039488,\n 67584: 553648256,\n 71680: 16777216,\n 75776: 17039360,\n 79872: 537133184,\n 83968: 536870912,\n 88064: 17039488,\n 92160: 128,\n 96256: 553910272,\n 100352: 262272,\n 104448: 553910400,\n 108544: 0,\n 112640: 553648128,\n 116736: 16777344,\n 120832: 262144,\n 124928: 537133056,\n 129024: 536871040\n }, {\n 0: 268435464,\n 256: 8192,\n 512: 270532608,\n 768: 270540808,\n 1024: 268443648,\n 1280: 2097152,\n 1536: 2097160,\n 1792: 268435456,\n 2048: 0,\n 2304: 268443656,\n 2560: 2105344,\n 2816: 8,\n 3072: 270532616,\n 3328: 2105352,\n 3584: 8200,\n 3840: 270540800,\n 128: 270532608,\n 384: 270540808,\n 640: 8,\n 896: 2097152,\n 1152: 2105352,\n 1408: 268435464,\n 1664: 268443648,\n 1920: 8200,\n 2176: 2097160,\n 2432: 8192,\n 2688: 268443656,\n 2944: 270532616,\n 3200: 0,\n 3456: 270540800,\n 3712: 2105344,\n 3968: 268435456,\n 4096: 268443648,\n 4352: 270532616,\n 4608: 270540808,\n 4864: 8200,\n 5120: 2097152,\n 5376: 268435456,\n 5632: 268435464,\n 5888: 2105344,\n 6144: 2105352,\n 6400: 0,\n 6656: 8,\n 6912: 270532608,\n 7168: 8192,\n 7424: 268443656,\n 7680: 270540800,\n 7936: 2097160,\n 4224: 8,\n 4480: 2105344,\n 4736: 2097152,\n 4992: 268435464,\n 5248: 268443648,\n 5504: 8200,\n 5760: 270540808,\n 6016: 270532608,\n 6272: 270540800,\n 6528: 270532616,\n 6784: 8192,\n 7040: 2105352,\n 7296: 2097160,\n 7552: 0,\n 7808: 268435456,\n 8064: 268443656\n }, {\n 0: 1048576,\n 16: 33555457,\n 32: 1024,\n 48: 1049601,\n 64: 34604033,\n 80: 0,\n 96: 1,\n 112: 34603009,\n 128: 33555456,\n 144: 1048577,\n 160: 33554433,\n 176: 34604032,\n 192: 34603008,\n 208: 1025,\n 224: 1049600,\n 240: 33554432,\n 8: 34603009,\n 24: 0,\n 40: 33555457,\n 56: 34604032,\n 72: 1048576,\n 88: 33554433,\n 104: 33554432,\n 120: 1025,\n 136: 1049601,\n 152: 33555456,\n 168: 34603008,\n 184: 1048577,\n 200: 1024,\n 216: 34604033,\n 232: 1,\n 248: 1049600,\n 256: 33554432,\n 272: 1048576,\n 288: 33555457,\n 304: 34603009,\n 320: 1048577,\n 336: 33555456,\n 352: 34604032,\n 368: 1049601,\n 384: 1025,\n 400: 34604033,\n 416: 1049600,\n 432: 1,\n 448: 0,\n 464: 34603008,\n 480: 33554433,\n 496: 1024,\n 264: 1049600,\n 280: 33555457,\n 296: 34603009,\n 312: 1,\n 328: 33554432,\n 344: 1048576,\n 360: 1025,\n 376: 34604032,\n 392: 33554433,\n 408: 34603008,\n 424: 0,\n 440: 34604033,\n 456: 1049601,\n 472: 1024,\n 488: 33555456,\n 504: 1048577\n }, {\n 0: 134219808,\n 1: 131072,\n 2: 134217728,\n 3: 32,\n 4: 131104,\n 5: 134350880,\n 6: 134350848,\n 7: 2048,\n 8: 134348800,\n 9: 134219776,\n 10: 133120,\n 11: 134348832,\n 12: 2080,\n 13: 0,\n 14: 134217760,\n 15: 133152,\n 2147483648: 2048,\n 2147483649: 134350880,\n 2147483650: 134219808,\n 2147483651: 134217728,\n 2147483652: 134348800,\n 2147483653: 133120,\n 2147483654: 133152,\n 2147483655: 32,\n 2147483656: 134217760,\n 2147483657: 2080,\n 2147483658: 131104,\n 2147483659: 134350848,\n 2147483660: 0,\n 2147483661: 134348832,\n 2147483662: 134219776,\n 2147483663: 131072,\n 16: 133152,\n 17: 134350848,\n 18: 32,\n 19: 2048,\n 20: 134219776,\n 21: 134217760,\n 22: 134348832,\n 23: 131072,\n 24: 0,\n 25: 131104,\n 26: 134348800,\n 27: 134219808,\n 28: 134350880,\n 29: 133120,\n 30: 2080,\n 31: 134217728,\n 2147483664: 131072,\n 2147483665: 2048,\n 2147483666: 134348832,\n 2147483667: 133152,\n 2147483668: 32,\n 2147483669: 134348800,\n 2147483670: 134217728,\n 2147483671: 134219808,\n 2147483672: 134350880,\n 2147483673: 134217760,\n 2147483674: 134219776,\n 2147483675: 0,\n 2147483676: 133120,\n 2147483677: 2080,\n 2147483678: 131104,\n 2147483679: 134350848\n }],\n f = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679],\n c = o.DES = i.extend({\n _doReset: function _doReset() {\n for (var e = this._key.words, t = [], r = 0; r < 56; r++) {\n var n = a[r] - 1;\n t[r] = e[n >>> 5] >>> 31 - n % 32 & 1;\n }\n for (var i = this._subKeys = [], o = 0; o < 16; o++) {\n var l = i[o] = [],\n f = h[o];\n for (r = 0; r < 24; r++) {\n l[r / 6 | 0] |= t[(s[r] - 1 + f) % 28] << 31 - r % 6, l[4 + (r / 6 | 0)] |= t[28 + (s[r + 24] - 1 + f) % 28] << 31 - r % 6;\n }\n for (l[0] = l[0] << 1 | l[0] >>> 31, r = 1; r < 7; r++) {\n l[r] = l[r] >>> 4 * (r - 1) + 3;\n }\n l[7] = l[7] << 5 | l[7] >>> 27;\n }\n var c = this._invSubKeys = [];\n for (r = 0; r < 16; r++) {\n c[r] = i[15 - r];\n }\n },\n encryptBlock: function encryptBlock(e, t) {\n this._doCryptBlock(e, t, this._subKeys);\n },\n decryptBlock: function decryptBlock(e, t) {\n this._doCryptBlock(e, t, this._invSubKeys);\n },\n _doCryptBlock: function _doCryptBlock(e, t, r) {\n this._lBlock = e[t], this._rBlock = e[t + 1], u.call(this, 4, 252645135), u.call(this, 16, 65535), d.call(this, 2, 858993459), d.call(this, 8, 16711935), u.call(this, 1, 1431655765);\n for (var n = 0; n < 16; n++) {\n for (var i = r[n], o = this._lBlock, a = this._rBlock, s = 0, h = 0; h < 8; h++) {\n s |= l[h][((a ^ i[h]) & f[h]) >>> 0];\n }\n this._lBlock = a, this._rBlock = o ^ s;\n }\n var c = this._lBlock;\n this._lBlock = this._rBlock, this._rBlock = c, u.call(this, 1, 1431655765), d.call(this, 8, 16711935), d.call(this, 2, 858993459), u.call(this, 16, 65535), u.call(this, 4, 252645135), e[t] = this._lBlock, e[t + 1] = this._rBlock;\n },\n keySize: 2,\n ivSize: 2,\n blockSize: 2\n });\n function u(e, t) {\n var r = (this._lBlock >>> e ^ this._rBlock) & t;\n this._rBlock ^= r, this._lBlock ^= r << e;\n }\n function d(e, t) {\n var r = (this._rBlock >>> e ^ this._lBlock) & t;\n this._lBlock ^= r, this._rBlock ^= r << e;\n }\n e.DES = i._createHelper(c);\n var p = o.TripleDES = i.extend({\n _doReset: function _doReset() {\n var e = this._key.words;\n this._des1 = c.createEncryptor(n.create(e.slice(0, 2))), this._des2 = c.createEncryptor(n.create(e.slice(2, 4))), this._des3 = c.createEncryptor(n.create(e.slice(4, 6)));\n },\n encryptBlock: function encryptBlock(e, t) {\n this._des1.encryptBlock(e, t), this._des2.decryptBlock(e, t), this._des3.encryptBlock(e, t);\n },\n decryptBlock: function decryptBlock(e, t) {\n this._des3.decryptBlock(e, t), this._des2.encryptBlock(e, t), this._des1.decryptBlock(e, t);\n },\n keySize: 6,\n ivSize: 2,\n blockSize: 2\n });\n e.TripleDES = i._createHelper(p);\n }(), r.TripleDES);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib.StreamCipher,\n n = e.algo,\n i = n.RC4 = t.extend({\n _doReset: function _doReset() {\n for (var e = this._key, t = e.words, r = e.sigBytes, n = this._S = [], i = 0; i < 256; i++) {\n n[i] = i;\n }\n i = 0;\n for (var o = 0; i < 256; i++) {\n var a = i % r,\n s = t[a >>> 2] >>> 24 - a % 4 * 8 & 255;\n o = (o + n[i] + s) % 256;\n var h = n[i];\n n[i] = n[o], n[o] = h;\n }\n this._i = this._j = 0;\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n e[t] ^= o.call(this);\n },\n keySize: 8,\n ivSize: 0\n });\n function o() {\n for (var e = this._S, t = this._i, r = this._j, n = 0, i = 0; i < 4; i++) {\n r = (r + e[t = (t + 1) % 256]) % 256;\n var o = e[t];\n e[t] = e[r], e[r] = o, n |= e[(e[t] + e[r]) % 256] << 24 - 8 * i;\n }\n return this._i = t, this._j = r, n;\n }\n e.RC4 = t._createHelper(i);\n var a = n.RC4Drop = i.extend({\n cfg: i.cfg.extend({\n drop: 192\n }),\n _doReset: function _doReset() {\n i._doReset.call(this);\n for (var e = this.cfg.drop; e > 0; e--) {\n o.call(this);\n }\n }\n });\n e.RC4Drop = t._createHelper(a);\n }(), r.RC4);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib.StreamCipher,\n n = e.algo,\n i = [],\n o = [],\n a = [],\n s = n.Rabbit = t.extend({\n _doReset: function _doReset() {\n for (var e = this._key.words, t = this.cfg.iv, r = 0; r < 4; r++) {\n e[r] = 16711935 & (e[r] << 8 | e[r] >>> 24) | 4278255360 & (e[r] << 24 | e[r] >>> 8);\n }\n var n = this._X = [e[0], e[3] << 16 | e[2] >>> 16, e[1], e[0] << 16 | e[3] >>> 16, e[2], e[1] << 16 | e[0] >>> 16, e[3], e[2] << 16 | e[1] >>> 16],\n i = this._C = [e[2] << 16 | e[2] >>> 16, 4294901760 & e[0] | 65535 & e[1], e[3] << 16 | e[3] >>> 16, 4294901760 & e[1] | 65535 & e[2], e[0] << 16 | e[0] >>> 16, 4294901760 & e[2] | 65535 & e[3], e[1] << 16 | e[1] >>> 16, 4294901760 & e[3] | 65535 & e[0]];\n for (this._b = 0, r = 0; r < 4; r++) {\n h.call(this);\n }\n for (r = 0; r < 8; r++) {\n i[r] ^= n[r + 4 & 7];\n }\n if (t) {\n var o = t.words,\n a = o[0],\n s = o[1],\n l = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8),\n f = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8),\n c = l >>> 16 | 4294901760 & f,\n u = f << 16 | 65535 & l;\n for (i[0] ^= l, i[1] ^= c, i[2] ^= f, i[3] ^= u, i[4] ^= l, i[5] ^= c, i[6] ^= f, i[7] ^= u, r = 0; r < 4; r++) {\n h.call(this);\n }\n }\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n var r = this._X;\n h.call(this), i[0] = r[0] ^ r[5] >>> 16 ^ r[3] << 16, i[1] = r[2] ^ r[7] >>> 16 ^ r[5] << 16, i[2] = r[4] ^ r[1] >>> 16 ^ r[7] << 16, i[3] = r[6] ^ r[3] >>> 16 ^ r[1] << 16;\n for (var n = 0; n < 4; n++) {\n i[n] = 16711935 & (i[n] << 8 | i[n] >>> 24) | 4278255360 & (i[n] << 24 | i[n] >>> 8), e[t + n] ^= i[n];\n }\n },\n blockSize: 4,\n ivSize: 2\n });\n function h() {\n for (var e = this._X, t = this._C, r = 0; r < 8; r++) {\n o[r] = t[r];\n }\n for (t[0] = t[0] + 1295307597 + this._b | 0, t[1] = t[1] + 3545052371 + (t[0] >>> 0 < o[0] >>> 0 ? 1 : 0) | 0, t[2] = t[2] + 886263092 + (t[1] >>> 0 < o[1] >>> 0 ? 1 : 0) | 0, t[3] = t[3] + 1295307597 + (t[2] >>> 0 < o[2] >>> 0 ? 1 : 0) | 0, t[4] = t[4] + 3545052371 + (t[3] >>> 0 < o[3] >>> 0 ? 1 : 0) | 0, t[5] = t[5] + 886263092 + (t[4] >>> 0 < o[4] >>> 0 ? 1 : 0) | 0, t[6] = t[6] + 1295307597 + (t[5] >>> 0 < o[5] >>> 0 ? 1 : 0) | 0, t[7] = t[7] + 3545052371 + (t[6] >>> 0 < o[6] >>> 0 ? 1 : 0) | 0, this._b = t[7] >>> 0 < o[7] >>> 0 ? 1 : 0, r = 0; r < 8; r++) {\n var n = e[r] + t[r],\n i = 65535 & n,\n s = n >>> 16,\n h = ((i * i >>> 17) + i * s >>> 15) + s * s,\n l = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0);\n a[r] = h ^ l;\n }\n e[0] = a[0] + (a[7] << 16 | a[7] >>> 16) + (a[6] << 16 | a[6] >>> 16) | 0, e[1] = a[1] + (a[0] << 8 | a[0] >>> 24) + a[7] | 0, e[2] = a[2] + (a[1] << 16 | a[1] >>> 16) + (a[0] << 16 | a[0] >>> 16) | 0, e[3] = a[3] + (a[2] << 8 | a[2] >>> 24) + a[1] | 0, e[4] = a[4] + (a[3] << 16 | a[3] >>> 16) + (a[2] << 16 | a[2] >>> 16) | 0, e[5] = a[5] + (a[4] << 8 | a[4] >>> 24) + a[3] | 0, e[6] = a[6] + (a[5] << 16 | a[5] >>> 16) + (a[4] << 16 | a[4] >>> 16) | 0, e[7] = a[7] + (a[6] << 8 | a[6] >>> 24) + a[5] | 0;\n }\n e.Rabbit = t._createHelper(s);\n }(), r.Rabbit);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib.StreamCipher,\n n = e.algo,\n i = [],\n o = [],\n a = [],\n s = n.RabbitLegacy = t.extend({\n _doReset: function _doReset() {\n var e = this._key.words,\n t = this.cfg.iv,\n r = this._X = [e[0], e[3] << 16 | e[2] >>> 16, e[1], e[0] << 16 | e[3] >>> 16, e[2], e[1] << 16 | e[0] >>> 16, e[3], e[2] << 16 | e[1] >>> 16],\n n = this._C = [e[2] << 16 | e[2] >>> 16, 4294901760 & e[0] | 65535 & e[1], e[3] << 16 | e[3] >>> 16, 4294901760 & e[1] | 65535 & e[2], e[0] << 16 | e[0] >>> 16, 4294901760 & e[2] | 65535 & e[3], e[1] << 16 | e[1] >>> 16, 4294901760 & e[3] | 65535 & e[0]];\n this._b = 0;\n for (var i = 0; i < 4; i++) {\n h.call(this);\n }\n for (i = 0; i < 8; i++) {\n n[i] ^= r[i + 4 & 7];\n }\n if (t) {\n var o = t.words,\n a = o[0],\n s = o[1],\n l = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8),\n f = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8),\n c = l >>> 16 | 4294901760 & f,\n u = f << 16 | 65535 & l;\n for (n[0] ^= l, n[1] ^= c, n[2] ^= f, n[3] ^= u, n[4] ^= l, n[5] ^= c, n[6] ^= f, n[7] ^= u, i = 0; i < 4; i++) {\n h.call(this);\n }\n }\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n var r = this._X;\n h.call(this), i[0] = r[0] ^ r[5] >>> 16 ^ r[3] << 16, i[1] = r[2] ^ r[7] >>> 16 ^ r[5] << 16, i[2] = r[4] ^ r[1] >>> 16 ^ r[7] << 16, i[3] = r[6] ^ r[3] >>> 16 ^ r[1] << 16;\n for (var n = 0; n < 4; n++) {\n i[n] = 16711935 & (i[n] << 8 | i[n] >>> 24) | 4278255360 & (i[n] << 24 | i[n] >>> 8), e[t + n] ^= i[n];\n }\n },\n blockSize: 4,\n ivSize: 2\n });\n function h() {\n for (var e = this._X, t = this._C, r = 0; r < 8; r++) {\n o[r] = t[r];\n }\n for (t[0] = t[0] + 1295307597 + this._b | 0, t[1] = t[1] + 3545052371 + (t[0] >>> 0 < o[0] >>> 0 ? 1 : 0) | 0, t[2] = t[2] + 886263092 + (t[1] >>> 0 < o[1] >>> 0 ? 1 : 0) | 0, t[3] = t[3] + 1295307597 + (t[2] >>> 0 < o[2] >>> 0 ? 1 : 0) | 0, t[4] = t[4] + 3545052371 + (t[3] >>> 0 < o[3] >>> 0 ? 1 : 0) | 0, t[5] = t[5] + 886263092 + (t[4] >>> 0 < o[4] >>> 0 ? 1 : 0) | 0, t[6] = t[6] + 1295307597 + (t[5] >>> 0 < o[5] >>> 0 ? 1 : 0) | 0, t[7] = t[7] + 3545052371 + (t[6] >>> 0 < o[6] >>> 0 ? 1 : 0) | 0, this._b = t[7] >>> 0 < o[7] >>> 0 ? 1 : 0, r = 0; r < 8; r++) {\n var n = e[r] + t[r],\n i = 65535 & n,\n s = n >>> 16,\n h = ((i * i >>> 17) + i * s >>> 15) + s * s,\n l = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0);\n a[r] = h ^ l;\n }\n e[0] = a[0] + (a[7] << 16 | a[7] >>> 16) + (a[6] << 16 | a[6] >>> 16) | 0, e[1] = a[1] + (a[0] << 8 | a[0] >>> 24) + a[7] | 0, e[2] = a[2] + (a[1] << 16 | a[1] >>> 16) + (a[0] << 16 | a[0] >>> 16) | 0, e[3] = a[3] + (a[2] << 8 | a[2] >>> 24) + a[1] | 0, e[4] = a[4] + (a[3] << 16 | a[3] >>> 16) + (a[2] << 16 | a[2] >>> 16) | 0, e[5] = a[5] + (a[4] << 8 | a[4] >>> 24) + a[3] | 0, e[6] = a[6] + (a[5] << 16 | a[5] >>> 16) + (a[4] << 16 | a[4] >>> 16) | 0, e[7] = a[7] + (a[6] << 8 | a[6] >>> 24) + a[5] | 0;\n }\n e.RabbitLegacy = t._createHelper(s);\n }(), r.RabbitLegacy);\n }), Q(function (e, t) {\n e.exports = ee;\n }));\nfunction re() {\n throw new Error(\"setTimeout has not been defined\");\n}\nfunction ne() {\n throw new Error(\"clearTimeout has not been defined\");\n}\nvar ie = re,\n oe = ne;\nfunction ae(e) {\n if (ie === setTimeout) return setTimeout(e, 0);\n if ((ie === re || !ie) && setTimeout) return ie = setTimeout, setTimeout(e, 0);\n try {\n return ie(e, 0);\n } catch (t) {\n try {\n return ie.call(null, e, 0);\n } catch (t) {\n return ie.call(this, e, 0);\n }\n }\n}\n\"function\" == typeof e.setTimeout && (ie = setTimeout), \"function\" == typeof e.clearTimeout && (oe = clearTimeout);\nvar se,\n he = [],\n le = !1,\n fe = -1;\nfunction ce() {\n le && se && (le = !1, se.length ? he = se.concat(he) : fe = -1, he.length && ue());\n}\nfunction ue() {\n if (!le) {\n var e = ae(ce);\n le = !0;\n for (var t = he.length; t;) {\n for (se = he, he = []; ++fe < t;) {\n se && se[fe].run();\n }\n fe = -1, t = he.length;\n }\n se = null, le = !1, function (e) {\n if (oe === clearTimeout) return clearTimeout(e);\n if ((oe === ne || !oe) && clearTimeout) return oe = clearTimeout, clearTimeout(e);\n try {\n oe(e);\n } catch (t) {\n try {\n return oe.call(null, e);\n } catch (t) {\n return oe.call(this, e);\n }\n }\n }(e);\n }\n}\nfunction de(e) {\n var t = new Array(arguments.length - 1);\n if (arguments.length > 1) for (var r = 1; r < arguments.length; r++) {\n t[r - 1] = arguments[r];\n }\n he.push(new pe(e, t)), 1 !== he.length || le || ae(ue);\n}\nfunction pe(e, t) {\n this.fun = e, this.array = t;\n}\npe.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nvar _e = e.performance || {};\n_e.now || _e.mozNow || _e.msNow || _e.oNow || _e.webkitNow;\nfunction ge() {}\nfunction ve() {\n ve.init.call(this);\n}\nfunction we(e) {\n return void 0 === e._maxListeners ? ve.defaultMaxListeners : e._maxListeners;\n}\nfunction be(e, t, r) {\n if (t) e.call(r);else for (var n = e.length, i = Ae(e, n), o = 0; o < n; ++o) {\n i[o].call(r);\n }\n}\nfunction ye(e, t, r, n) {\n if (t) e.call(r, n);else for (var i = e.length, o = Ae(e, i), a = 0; a < i; ++a) {\n o[a].call(r, n);\n }\n}\nfunction me(e, t, r, n, i) {\n if (t) e.call(r, n, i);else for (var o = e.length, a = Ae(e, o), s = 0; s < o; ++s) {\n a[s].call(r, n, i);\n }\n}\nfunction ke(e, t, r, n, i, o) {\n if (t) e.call(r, n, i, o);else for (var a = e.length, s = Ae(e, a), h = 0; h < a; ++h) {\n s[h].call(r, n, i, o);\n }\n}\nfunction Ee(e, t, r, n) {\n if (t) e.apply(r, n);else for (var i = e.length, o = Ae(e, i), a = 0; a < i; ++a) {\n o[a].apply(r, n);\n }\n}\nfunction Se(e, t, r, n) {\n var i, o, a, s;\n if (\"function\" != typeof r) throw new TypeError('\"listener\" argument must be a function');\n if ((o = e._events) ? (o.newListener && (e.emit(\"newListener\", t, r.listener ? r.listener : r), o = e._events), a = o[t]) : (o = e._events = new ge(), e._eventsCount = 0), a) {\n if (\"function\" == typeof a ? a = o[t] = n ? [r, a] : [a, r] : n ? a.unshift(r) : a.push(r), !a.warned && (i = we(e)) && i > 0 && a.length > i) {\n a.warned = !0;\n var h = new Error(\"Possible EventEmitter memory leak detected. \" + a.length + \" \" + t + \" listeners added. Use emitter.setMaxListeners() to increase limit\");\n h.name = \"MaxListenersExceededWarning\", h.emitter = e, h.type = t, h.count = a.length, s = h, \"function\" == typeof console.warn ? __f__(\"warn\", s, \" at debug/lib-generate-test-usersig-es.min.js:3130\") : __f__(\"log\", s, \" at debug/lib-generate-test-usersig-es.min.js:3130\");\n }\n } else a = o[t] = r, ++e._eventsCount;\n return e;\n}\nfunction xe(e, t, r) {\n var n = !1;\n function i() {\n e.removeListener(t, i), n || (n = !0, r.apply(e, arguments));\n }\n return i.listener = r, i;\n}\nfunction Re(e) {\n var t = this._events;\n if (t) {\n var r = t[e];\n if (\"function\" == typeof r) return 1;\n if (r) return r.length;\n }\n return 0;\n}\nfunction Ae(e, t) {\n for (var r = new Array(t); t--;) {\n r[t] = e[t];\n }\n return r;\n}\nge.prototype = Object.create(null), ve.EventEmitter = ve, ve.usingDomains = !1, ve.prototype.domain = void 0, ve.prototype._events = void 0, ve.prototype._maxListeners = void 0, ve.defaultMaxListeners = 10, ve.init = function () {\n this.domain = null, ve.usingDomains && (void 0).active && (void 0).Domain, this._events && this._events !== Object.getPrototypeOf(this)._events || (this._events = new ge(), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;\n}, ve.prototype.setMaxListeners = function (e) {\n if (\"number\" != typeof e || e < 0 || isNaN(e)) throw new TypeError('\"n\" argument must be a positive number');\n return this._maxListeners = e, this;\n}, ve.prototype.getMaxListeners = function () {\n return we(this);\n}, ve.prototype.emit = function (e) {\n var t,\n r,\n n,\n i,\n o,\n a,\n s,\n h = \"error\" === e;\n if (a = this._events) h = h && null == a.error;else if (!h) return !1;\n if (s = this.domain, h) {\n if (t = arguments[1], !s) {\n if (t instanceof Error) throw t;\n var l = new Error('Uncaught, unspecified \"error\" event. (' + t + \")\");\n throw l.context = t, l;\n }\n return t || (t = new Error('Uncaught, unspecified \"error\" event')), t.domainEmitter = this, t.domain = s, t.domainThrown = !1, s.emit(\"error\", t), !1;\n }\n if (!(r = a[e])) return !1;\n var f = \"function\" == typeof r;\n switch (n = arguments.length) {\n case 1:\n be(r, f, this);\n break;\n case 2:\n ye(r, f, this, arguments[1]);\n break;\n case 3:\n me(r, f, this, arguments[1], arguments[2]);\n break;\n case 4:\n ke(r, f, this, arguments[1], arguments[2], arguments[3]);\n break;\n default:\n for (i = new Array(n - 1), o = 1; o < n; o++) {\n i[o - 1] = arguments[o];\n }\n Ee(r, f, this, i);\n }\n return !0;\n}, ve.prototype.addListener = function (e, t) {\n return Se(this, e, t, !1);\n}, ve.prototype.on = ve.prototype.addListener, ve.prototype.prependListener = function (e, t) {\n return Se(this, e, t, !0);\n}, ve.prototype.once = function (e, t) {\n if (\"function\" != typeof t) throw new TypeError('\"listener\" argument must be a function');\n return this.on(e, xe(this, e, t)), this;\n}, ve.prototype.prependOnceListener = function (e, t) {\n if (\"function\" != typeof t) throw new TypeError('\"listener\" argument must be a function');\n return this.prependListener(e, xe(this, e, t)), this;\n}, ve.prototype.removeListener = function (e, t) {\n var r, n, i, o, a;\n if (\"function\" != typeof t) throw new TypeError('\"listener\" argument must be a function');\n if (!(n = this._events)) return this;\n if (!(r = n[e])) return this;\n if (r === t || r.listener && r.listener === t) 0 == --this._eventsCount ? this._events = new ge() : (delete n[e], n.removeListener && this.emit(\"removeListener\", e, r.listener || t));else if (\"function\" != typeof r) {\n for (i = -1, o = r.length; o-- > 0;) {\n if (r[o] === t || r[o].listener && r[o].listener === t) {\n a = r[o].listener, i = o;\n break;\n }\n }\n if (i < 0) return this;\n if (1 === r.length) {\n if (r[0] = void 0, 0 == --this._eventsCount) return this._events = new ge(), this;\n delete n[e];\n } else !function (e, t) {\n for (var r = t, n = r + 1, i = e.length; n < i; r += 1, n += 1) {\n e[r] = e[n];\n }\n e.pop();\n }(r, i);\n n.removeListener && this.emit(\"removeListener\", e, a || t);\n }\n return this;\n}, ve.prototype.removeAllListeners = function (e) {\n var t, r;\n if (!(r = this._events)) return this;\n if (!r.removeListener) return 0 === arguments.length ? (this._events = new ge(), this._eventsCount = 0) : r[e] && (0 == --this._eventsCount ? this._events = new ge() : delete r[e]), this;\n if (0 === arguments.length) {\n for (var n, i = Object.keys(r), o = 0; o < i.length; ++o) {\n \"removeListener\" !== (n = i[o]) && this.removeAllListeners(n);\n }\n return this.removeAllListeners(\"removeListener\"), this._events = new ge(), this._eventsCount = 0, this;\n }\n if (\"function\" == typeof (t = r[e])) this.removeListener(e, t);else if (t) do {\n this.removeListener(e, t[t.length - 1]);\n } while (t[0]);\n return this;\n}, ve.prototype.listeners = function (e) {\n var t,\n r = this._events;\n return r && (t = r[e]) ? \"function\" == typeof t ? [t.listener || t] : function (e) {\n for (var t = new Array(e.length), r = 0; r < t.length; ++r) {\n t[r] = e[r].listener || e[r];\n }\n return t;\n }(t) : [];\n}, ve.listenerCount = function (e, t) {\n return \"function\" == typeof e.listenerCount ? e.listenerCount(t) : Re.call(e, t);\n}, ve.prototype.listenerCount = Re, ve.prototype.eventNames = function () {\n return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];\n};\nvar Be = \"function\" == typeof Object.create ? function (e, t) {\n e.super_ = t, e.prototype = Object.create(t.prototype, {\n constructor: {\n value: e,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n } : function (e, t) {\n e.super_ = t;\n var r = function r() {};\n r.prototype = t.prototype, e.prototype = new r(), e.prototype.constructor = e;\n },\n ze = /%[sdj%]/g;\nfunction Le(e) {\n if (!Ze(e)) {\n for (var t = [], r = 0; r < arguments.length; r++) {\n t.push(De(arguments[r]));\n }\n return t.join(\" \");\n }\n r = 1;\n for (var n = arguments, i = n.length, o = String(e).replace(ze, function (e) {\n if (\"%%\" === e) return \"%\";\n if (r >= i) return e;\n switch (e) {\n case \"%s\":\n return String(n[r++]);\n case \"%d\":\n return Number(n[r++]);\n case \"%j\":\n try {\n return JSON.stringify(n[r++]);\n } catch (e) {\n return \"[Circular]\";\n }\n default:\n return e;\n }\n }), a = n[r]; r < i; a = n[++r]) {\n Ne(a) || !Ye(a) ? o += \" \" + a : o += \" \" + De(a);\n }\n return o;\n}\nfunction Te(t, r) {\n if (je(e.process)) return function () {\n return Te(t, r).apply(this, arguments);\n };\n var n = !1;\n return function () {\n return n || (__f__(\"error\", r, \" at debug/lib-generate-test-usersig-es.min.js:3342\"), n = !0), t.apply(this, arguments);\n };\n}\nvar Me,\n Ce = {};\nfunction De(e, t) {\n var r = {\n seen: [],\n stylize: Pe\n };\n return arguments.length >= 3 && (r.depth = arguments[2]), arguments.length >= 4 && (r.colors = arguments[3]), Fe(t) ? r.showHidden = t : t && function (e, t) {\n if (!t || !Ye(t)) return e;\n var r = Object.keys(t),\n n = r.length;\n for (; n--;) {\n e[r[n]] = t[r[n]];\n }\n }(r, t), je(r.showHidden) && (r.showHidden = !1), je(r.depth) && (r.depth = 2), je(r.colors) && (r.colors = !1), je(r.customInspect) && (r.customInspect = !0), r.colors && (r.stylize = Ie), Oe(r, e, r.depth);\n}\nfunction Ie(e, t) {\n var r = De.styles[t];\n return r ? \"\u001b[\" + De.colors[r][0] + \"m\" + e + \"\u001b[\" + De.colors[r][1] + \"m\" : e;\n}\nfunction Pe(e, t) {\n return e;\n}\nfunction Oe(e, t, r) {\n if (e.customInspect && t && qe(t.inspect) && t.inspect !== De && (!t.constructor || t.constructor.prototype !== t)) {\n var n = t.inspect(r, e);\n return Ze(n) || (n = Oe(e, n, r)), n;\n }\n var i = function (e, t) {\n if (je(t)) return e.stylize(\"undefined\", \"undefined\");\n if (Ze(t)) {\n var r = \"'\" + JSON.stringify(t).replace(/^\"|\"$/g, \"\").replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"') + \"'\";\n return e.stylize(r, \"string\");\n }\n if (n = t, \"number\" == typeof n) return e.stylize(\"\" + t, \"number\");\n var n;\n if (Fe(t)) return e.stylize(\"\" + t, \"boolean\");\n if (Ne(t)) return e.stylize(\"null\", \"null\");\n }(e, t);\n if (i) return i;\n var o = Object.keys(t),\n a = function (e) {\n var t = {};\n return e.forEach(function (e, r) {\n t[e] = !0;\n }), t;\n }(o);\n if (e.showHidden && (o = Object.getOwnPropertyNames(t)), Xe(t) && (o.indexOf(\"message\") >= 0 || o.indexOf(\"description\") >= 0)) return Ue(t);\n if (0 === o.length) {\n if (qe(t)) {\n var s = t.name ? \": \" + t.name : \"\";\n return e.stylize(\"[Function\" + s + \"]\", \"special\");\n }\n if (We(t)) return e.stylize(RegExp.prototype.toString.call(t), \"regexp\");\n if (Ke(t)) return e.stylize(Date.prototype.toString.call(t), \"date\");\n if (Xe(t)) return Ue(t);\n }\n var h,\n l,\n f = \"\",\n c = !1,\n u = [\"{\", \"}\"];\n (h = t, Array.isArray(h) && (c = !0, u = [\"[\", \"]\"]), qe(t)) && (f = \" [Function\" + (t.name ? \": \" + t.name : \"\") + \"]\");\n return We(t) && (f = \" \" + RegExp.prototype.toString.call(t)), Ke(t) && (f = \" \" + Date.prototype.toUTCString.call(t)), Xe(t) && (f = \" \" + Ue(t)), 0 !== o.length || c && 0 != t.length ? r < 0 ? We(t) ? e.stylize(RegExp.prototype.toString.call(t), \"regexp\") : e.stylize(\"[Object]\", \"special\") : (e.seen.push(t), l = c ? function (e, t, r, n, i) {\n for (var o = [], a = 0, s = t.length; a < s; ++a) {\n Ge(t, String(a)) ? o.push(He(e, t, r, n, String(a), !0)) : o.push(\"\");\n }\n return i.forEach(function (i) {\n i.match(/^\\d+$/) || o.push(He(e, t, r, n, i, !0));\n }), o;\n }(e, t, r, a, o) : o.map(function (n) {\n return He(e, t, r, a, n, c);\n }), e.seen.pop(), function (e, t, r) {\n if (e.reduce(function (e, t) {\n return t.indexOf(\"\\n\"), e + t.replace(/\\u001b\\[\\d\\d?m/g, \"\").length + 1;\n }, 0) > 60) return r[0] + (\"\" === t ? \"\" : t + \"\\n \") + \" \" + e.join(\",\\n \") + \" \" + r[1];\n return r[0] + t + \" \" + e.join(\", \") + \" \" + r[1];\n }(l, f, u)) : u[0] + f + u[1];\n}\nfunction Ue(e) {\n return \"[\" + Error.prototype.toString.call(e) + \"]\";\n}\nfunction He(e, t, r, n, i, o) {\n var a, s, h;\n if ((h = Object.getOwnPropertyDescriptor(t, i) || {\n value: t[i]\n }).get ? s = h.set ? e.stylize(\"[Getter/Setter]\", \"special\") : e.stylize(\"[Getter]\", \"special\") : h.set && (s = e.stylize(\"[Setter]\", \"special\")), Ge(n, i) || (a = \"[\" + i + \"]\"), s || (e.seen.indexOf(h.value) < 0 ? (s = Ne(r) ? Oe(e, h.value, null) : Oe(e, h.value, r - 1)).indexOf(\"\\n\") > -1 && (s = o ? s.split(\"\\n\").map(function (e) {\n return \" \" + e;\n }).join(\"\\n\").substr(2) : \"\\n\" + s.split(\"\\n\").map(function (e) {\n return \" \" + e;\n }).join(\"\\n\")) : s = e.stylize(\"[Circular]\", \"special\")), je(a)) {\n if (o && i.match(/^\\d+$/)) return s;\n (a = JSON.stringify(\"\" + i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/) ? (a = a.substr(1, a.length - 2), a = e.stylize(a, \"name\")) : (a = a.replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\"), a = e.stylize(a, \"string\"));\n }\n return a + \": \" + s;\n}\nfunction Fe(e) {\n return \"boolean\" == typeof e;\n}\nfunction Ne(e) {\n return null === e;\n}\nfunction Ze(e) {\n return \"string\" == typeof e;\n}\nfunction je(e) {\n return void 0 === e;\n}\nfunction We(e) {\n return Ye(e) && \"[object RegExp]\" === Ve(e);\n}\nfunction Ye(e) {\n return \"object\" == (0, _typeof2.default)(e) && null !== e;\n}\nfunction Ke(e) {\n return Ye(e) && \"[object Date]\" === Ve(e);\n}\nfunction Xe(e) {\n return Ye(e) && (\"[object Error]\" === Ve(e) || e instanceof Error);\n}\nfunction qe(e) {\n return \"function\" == typeof e;\n}\nfunction Ve(e) {\n return Object.prototype.toString.call(e);\n}\nfunction Ge(e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n}\nfunction $e() {\n this.head = null, this.tail = null, this.length = 0;\n}\nDe.colors = {\n bold: [1, 22],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n white: [37, 39],\n grey: [90, 39],\n black: [30, 39],\n blue: [34, 39],\n cyan: [36, 39],\n green: [32, 39],\n magenta: [35, 39],\n red: [31, 39],\n yellow: [33, 39]\n}, De.styles = {\n special: \"cyan\",\n number: \"yellow\",\n boolean: \"yellow\",\n undefined: \"grey\",\n null: \"bold\",\n string: \"green\",\n date: \"magenta\",\n regexp: \"red\"\n}, $e.prototype.push = function (e) {\n var t = {\n data: e,\n next: null\n };\n this.length > 0 ? this.tail.next = t : this.head = t, this.tail = t, ++this.length;\n}, $e.prototype.unshift = function (e) {\n var t = {\n data: e,\n next: this.head\n };\n 0 === this.length && (this.tail = t), this.head = t, ++this.length;\n}, $e.prototype.shift = function () {\n if (0 !== this.length) {\n var e = this.head.data;\n return 1 === this.length ? this.head = this.tail = null : this.head = this.head.next, --this.length, e;\n }\n}, $e.prototype.clear = function () {\n this.head = this.tail = null, this.length = 0;\n}, $e.prototype.join = function (e) {\n if (0 === this.length) return \"\";\n for (var t = this.head, r = \"\" + t.data; t = t.next;) {\n r += e + t.data;\n }\n return r;\n}, $e.prototype.concat = function (e) {\n if (0 === this.length) return p.alloc(0);\n if (1 === this.length) return this.head.data;\n for (var t = p.allocUnsafe(e >>> 0), r = this.head, n = 0; r;) {\n r.data.copy(t, n), n += r.data.length, r = r.next;\n }\n return t;\n};\nvar Je = p.isEncoding || function (e) {\n switch (e && e.toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n case \"raw\":\n return !0;\n default:\n return !1;\n }\n};\nfunction Qe(e) {\n switch (this.encoding = (e || \"utf8\").toLowerCase().replace(/[-_]/, \"\"), function (e) {\n if (e && !Je(e)) throw new Error(\"Unknown encoding: \" + e);\n }(e), this.encoding) {\n case \"utf8\":\n this.surrogateSize = 3;\n break;\n case \"ucs2\":\n case \"utf16le\":\n this.surrogateSize = 2, this.detectIncompleteChar = tt;\n break;\n case \"base64\":\n this.surrogateSize = 3, this.detectIncompleteChar = rt;\n break;\n default:\n return void (this.write = et);\n }\n this.charBuffer = new p(6), this.charReceived = 0, this.charLength = 0;\n}\nfunction et(e) {\n return e.toString(this.encoding);\n}\nfunction tt(e) {\n this.charReceived = e.length % 2, this.charLength = this.charReceived ? 2 : 0;\n}\nfunction rt(e) {\n this.charReceived = e.length % 3, this.charLength = this.charReceived ? 3 : 0;\n}\nQe.prototype.write = function (e) {\n for (var t = \"\"; this.charLength;) {\n var r = e.length >= this.charLength - this.charReceived ? this.charLength - this.charReceived : e.length;\n if (e.copy(this.charBuffer, this.charReceived, 0, r), this.charReceived += r, this.charReceived < this.charLength) return \"\";\n if (e = e.slice(r, e.length), !((i = (t = this.charBuffer.slice(0, this.charLength).toString(this.encoding)).charCodeAt(t.length - 1)) >= 55296 && i <= 56319)) {\n if (this.charReceived = this.charLength = 0, 0 === e.length) return t;\n break;\n }\n this.charLength += this.surrogateSize, t = \"\";\n }\n this.detectIncompleteChar(e);\n var n = e.length;\n this.charLength && (e.copy(this.charBuffer, 0, e.length - this.charReceived, n), n -= this.charReceived);\n var i;\n n = (t += e.toString(this.encoding, 0, n)).length - 1;\n if ((i = t.charCodeAt(n)) >= 55296 && i <= 56319) {\n var o = this.surrogateSize;\n return this.charLength += o, this.charReceived += o, this.charBuffer.copy(this.charBuffer, o, 0, o), e.copy(this.charBuffer, 0, 0, o), t.substring(0, n);\n }\n return t;\n}, Qe.prototype.detectIncompleteChar = function (e) {\n for (var t = e.length >= 3 ? 3 : e.length; t > 0; t--) {\n var r = e[e.length - t];\n if (1 == t && r >> 5 == 6) {\n this.charLength = 2;\n break;\n }\n if (t <= 2 && r >> 4 == 14) {\n this.charLength = 3;\n break;\n }\n if (t <= 3 && r >> 3 == 30) {\n this.charLength = 4;\n break;\n }\n }\n this.charReceived = t;\n}, Qe.prototype.end = function (e) {\n var t = \"\";\n if (e && e.length && (t = this.write(e)), this.charReceived) {\n var r = this.charReceived,\n n = this.charBuffer,\n i = this.encoding;\n t += n.slice(0, r).toString(i);\n }\n return t;\n}, ot.ReadableState = it;\nvar nt = function (e) {\n je(Me) && (Me = \"\"), e = e.toUpperCase(), Ce[e] || (new RegExp(\"\\\\b\" + e + \"\\\\b\", \"i\").test(Me) ? Ce[e] = function () {\n var t = Le.apply(null, arguments);\n __f__(\"error\", \"%s %d: %s\", e, 0, t, \" at debug/lib-generate-test-usersig-es.min.js:3681\");\n } : Ce[e] = function () {});\n return Ce[e];\n}(\"stream\");\nfunction it(e, t) {\n e = e || {}, this.objectMode = !!e.objectMode, t instanceof Ct && (this.objectMode = this.objectMode || !!e.readableObjectMode);\n var r = e.highWaterMark,\n n = this.objectMode ? 16 : 16384;\n this.highWaterMark = r || 0 === r ? r : n, this.highWaterMark = ~~this.highWaterMark, this.buffer = new $e(), this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.defaultEncoding = e.defaultEncoding || \"utf8\", this.ranOut = !1, this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, e.encoding && (this.decoder = new Qe(e.encoding), this.encoding = e.encoding);\n}\nfunction ot(e) {\n if (!(this instanceof ot)) return new ot(e);\n this._readableState = new it(e, this), this.readable = !0, e && \"function\" == typeof e.read && (this._read = e.read), ve.call(this);\n}\nfunction at(e, t, r, n, i) {\n var o = function (e, t) {\n var r = null;\n $(t) || \"string\" == typeof t || null == t || e.objectMode || (r = new TypeError(\"Invalid non-string/buffer chunk\"));\n return r;\n }(t, r);\n if (o) e.emit(\"error\", o);else if (null === r) t.reading = !1, function (e, t) {\n if (t.ended) return;\n if (t.decoder) {\n var r = t.decoder.end();\n r && r.length && (t.buffer.push(r), t.length += t.objectMode ? 1 : r.length);\n }\n t.ended = !0, lt(e);\n }(e, t);else if (t.objectMode || r && r.length > 0) {\n if (t.ended && !i) {\n var a = new Error(\"stream.push() after EOF\");\n e.emit(\"error\", a);\n } else if (t.endEmitted && i) {\n var s = new Error(\"stream.unshift() after end event\");\n e.emit(\"error\", s);\n } else {\n var h;\n !t.decoder || i || n || (r = t.decoder.write(r), h = !t.objectMode && 0 === r.length), i || (t.reading = !1), h || (t.flowing && 0 === t.length && !t.sync ? (e.emit(\"data\", r), e.read(0)) : (t.length += t.objectMode ? 1 : r.length, i ? t.buffer.unshift(r) : t.buffer.push(r), t.needReadable && lt(e))), function (e, t) {\n t.readingMore || (t.readingMore = !0, de(ct, e, t));\n }(e, t);\n }\n } else i || (t.reading = !1);\n return function (e) {\n return !e.ended && (e.needReadable || e.length < e.highWaterMark || 0 === e.length);\n }(t);\n}\nBe(ot, ve), ot.prototype.push = function (e, t) {\n var r = this._readableState;\n return r.objectMode || \"string\" != typeof e || (t = t || r.defaultEncoding) !== r.encoding && (e = p.from(e, t), t = \"\"), at(this, r, e, t, !1);\n}, ot.prototype.unshift = function (e) {\n return at(this, this._readableState, e, \"\", !0);\n}, ot.prototype.isPaused = function () {\n return !1 === this._readableState.flowing;\n}, ot.prototype.setEncoding = function (e) {\n return this._readableState.decoder = new Qe(e), this._readableState.encoding = e, this;\n};\nvar st = 8388608;\nfunction ht(e, t) {\n return e <= 0 || 0 === t.length && t.ended ? 0 : t.objectMode ? 1 : e != e ? t.flowing && t.length ? t.buffer.head.data.length : t.length : (e > t.highWaterMark && (t.highWaterMark = function (e) {\n return e >= st ? e = st : (e--, e |= e >>> 1, e |= e >>> 2, e |= e >>> 4, e |= e >>> 8, e |= e >>> 16, e++), e;\n }(e)), e <= t.length ? e : t.ended ? t.length : (t.needReadable = !0, 0));\n}\nfunction lt(e) {\n var t = e._readableState;\n t.needReadable = !1, t.emittedReadable || (nt(\"emitReadable\", t.flowing), t.emittedReadable = !0, t.sync ? de(ft, e) : ft(e));\n}\nfunction ft(e) {\n nt(\"emit readable\"), e.emit(\"readable\"), pt(e);\n}\nfunction ct(e, t) {\n for (var r = t.length; !t.reading && !t.flowing && !t.ended && t.length < t.highWaterMark && (nt(\"maybeReadMore read 0\"), e.read(0), r !== t.length);) {\n r = t.length;\n }\n t.readingMore = !1;\n}\nfunction ut(e) {\n nt(\"readable nexttick read 0\"), e.read(0);\n}\nfunction dt(e, t) {\n t.reading || (nt(\"resume read 0\"), e.read(0)), t.resumeScheduled = !1, t.awaitDrain = 0, e.emit(\"resume\"), pt(e), t.flowing && !t.reading && e.read(0);\n}\nfunction pt(e) {\n var t = e._readableState;\n for (nt(\"flow\", t.flowing); t.flowing && null !== e.read();) {\n ;\n }\n}\nfunction _t(e, t) {\n return 0 === t.length ? null : (t.objectMode ? r = t.buffer.shift() : !e || e >= t.length ? (r = t.decoder ? t.buffer.join(\"\") : 1 === t.buffer.length ? t.buffer.head.data : t.buffer.concat(t.length), t.buffer.clear()) : r = function (e, t, r) {\n var n;\n e < t.head.data.length ? (n = t.head.data.slice(0, e), t.head.data = t.head.data.slice(e)) : n = e === t.head.data.length ? t.shift() : r ? function (e, t) {\n var r = t.head,\n n = 1,\n i = r.data;\n e -= i.length;\n for (; r = r.next;) {\n var o = r.data,\n a = e > o.length ? o.length : e;\n if (a === o.length ? i += o : i += o.slice(0, e), 0 === (e -= a)) {\n a === o.length ? (++n, r.next ? t.head = r.next : t.head = t.tail = null) : (t.head = r, r.data = o.slice(a));\n break;\n }\n ++n;\n }\n return t.length -= n, i;\n }(e, t) : function (e, t) {\n var r = p.allocUnsafe(e),\n n = t.head,\n i = 1;\n n.data.copy(r), e -= n.data.length;\n for (; n = n.next;) {\n var o = n.data,\n a = e > o.length ? o.length : e;\n if (o.copy(r, r.length - e, 0, a), 0 === (e -= a)) {\n a === o.length ? (++i, n.next ? t.head = n.next : t.head = t.tail = null) : (t.head = n, n.data = o.slice(a));\n break;\n }\n ++i;\n }\n return t.length -= i, r;\n }(e, t);\n return n;\n }(e, t.buffer, t.decoder), r);\n var r;\n}\nfunction gt(e) {\n var t = e._readableState;\n if (t.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n t.endEmitted || (t.ended = !0, de(vt, t, e));\n}\nfunction vt(e, t) {\n e.endEmitted || 0 !== e.length || (e.endEmitted = !0, t.readable = !1, t.emit(\"end\"));\n}\nfunction wt(e, t) {\n for (var r = 0, n = e.length; r < n; r++) {\n if (e[r] === t) return r;\n }\n return -1;\n}\nfunction bt() {}\nfunction yt(e, t, r) {\n this.chunk = e, this.encoding = t, this.callback = r, this.next = null;\n}\nfunction mt(e, t) {\n Object.defineProperty(this, \"buffer\", {\n get: Te(function () {\n return this.getBuffer();\n }, \"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\")\n }), e = e || {}, this.objectMode = !!e.objectMode, t instanceof Ct && (this.objectMode = this.objectMode || !!e.writableObjectMode);\n var r = e.highWaterMark,\n n = this.objectMode ? 16 : 16384;\n this.highWaterMark = r || 0 === r ? r : n, this.highWaterMark = ~~this.highWaterMark, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1;\n var i = !1 === e.decodeStrings;\n this.decodeStrings = !i, this.defaultEncoding = e.defaultEncoding || \"utf8\", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function (e) {\n !function (e, t) {\n var r = e._writableState,\n n = r.sync,\n i = r.writecb;\n if (function (e) {\n e.writing = !1, e.writecb = null, e.length -= e.writelen, e.writelen = 0;\n }(r), t) !function (e, t, r, n, i) {\n --t.pendingcb, r ? de(i, n) : i(n);\n e._writableState.errorEmitted = !0, e.emit(\"error\", n);\n }(e, r, n, t, i);else {\n var o = Rt(r);\n o || r.corked || r.bufferProcessing || !r.bufferedRequest || xt(e, r), n ? de(St, e, r, o, i) : St(e, r, o, i);\n }\n }(t, e);\n }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.bufferedRequestCount = 0, this.corkedRequestsFree = new zt(this);\n}\nfunction kt(e) {\n if (!(this instanceof kt || this instanceof Ct)) return new kt(e);\n this._writableState = new mt(e, this), this.writable = !0, e && (\"function\" == typeof e.write && (this._write = e.write), \"function\" == typeof e.writev && (this._writev = e.writev)), ve.call(this);\n}\nfunction Et(e, t, r, n, i, o, a) {\n t.writelen = n, t.writecb = a, t.writing = !0, t.sync = !0, r ? e._writev(i, t.onwrite) : e._write(i, o, t.onwrite), t.sync = !1;\n}\nfunction St(e, t, r, n) {\n r || function (e, t) {\n 0 === t.length && t.needDrain && (t.needDrain = !1, e.emit(\"drain\"));\n }(e, t), t.pendingcb--, n(), Bt(e, t);\n}\nfunction xt(e, t) {\n t.bufferProcessing = !0;\n var r = t.bufferedRequest;\n if (e._writev && r && r.next) {\n var n = t.bufferedRequestCount,\n i = new Array(n),\n o = t.corkedRequestsFree;\n o.entry = r;\n for (var a = 0; r;) {\n i[a] = r, r = r.next, a += 1;\n }\n Et(e, t, !0, t.length, i, \"\", o.finish), t.pendingcb++, t.lastBufferedRequest = null, o.next ? (t.corkedRequestsFree = o.next, o.next = null) : t.corkedRequestsFree = new zt(t);\n } else {\n for (; r;) {\n var s = r.chunk,\n h = r.encoding,\n l = r.callback;\n if (Et(e, t, !1, t.objectMode ? 1 : s.length, s, h, l), r = r.next, t.writing) break;\n }\n null === r && (t.lastBufferedRequest = null);\n }\n t.bufferedRequestCount = 0, t.bufferedRequest = r, t.bufferProcessing = !1;\n}\nfunction Rt(e) {\n return e.ending && 0 === e.length && null === e.bufferedRequest && !e.finished && !e.writing;\n}\nfunction At(e, t) {\n t.prefinished || (t.prefinished = !0, e.emit(\"prefinish\"));\n}\nfunction Bt(e, t) {\n var r = Rt(t);\n return r && (0 === t.pendingcb ? (At(e, t), t.finished = !0, e.emit(\"finish\")) : At(e, t)), r;\n}\nfunction zt(e) {\n var t = this;\n this.next = null, this.entry = null, this.finish = function (r) {\n var n = t.entry;\n for (t.entry = null; n;) {\n var i = n.callback;\n e.pendingcb--, i(r), n = n.next;\n }\n e.corkedRequestsFree ? e.corkedRequestsFree.next = t : e.corkedRequestsFree = t;\n };\n}\not.prototype.read = function (e) {\n nt(\"read\", e), e = parseInt(e, 10);\n var t = this._readableState,\n r = e;\n if (0 !== e && (t.emittedReadable = !1), 0 === e && t.needReadable && (t.length >= t.highWaterMark || t.ended)) return nt(\"read: emitReadable\", t.length, t.ended), 0 === t.length && t.ended ? gt(this) : lt(this), null;\n if (0 === (e = ht(e, t)) && t.ended) return 0 === t.length && gt(this), null;\n var n,\n i = t.needReadable;\n return nt(\"need readable\", i), (0 === t.length || t.length - e < t.highWaterMark) && nt(\"length less than watermark\", i = !0), t.ended || t.reading ? nt(\"reading or ended\", i = !1) : i && (nt(\"do read\"), t.reading = !0, t.sync = !0, 0 === t.length && (t.needReadable = !0), this._read(t.highWaterMark), t.sync = !1, t.reading || (e = ht(r, t))), null === (n = e > 0 ? _t(e, t) : null) ? (t.needReadable = !0, e = 0) : t.length -= e, 0 === t.length && (t.ended || (t.needReadable = !0), r !== e && t.ended && gt(this)), null !== n && this.emit(\"data\", n), n;\n}, ot.prototype._read = function (e) {\n this.emit(\"error\", new Error(\"not implemented\"));\n}, ot.prototype.pipe = function (e, t) {\n var r = this,\n n = this._readableState;\n switch (n.pipesCount) {\n case 0:\n n.pipes = e;\n break;\n case 1:\n n.pipes = [n.pipes, e];\n break;\n default:\n n.pipes.push(e);\n }\n n.pipesCount += 1, nt(\"pipe count=%d opts=%j\", n.pipesCount, t);\n var i = !t || !1 !== t.end ? a : l;\n function o(e) {\n nt(\"onunpipe\"), e === r && l();\n }\n function a() {\n nt(\"onend\"), e.end();\n }\n n.endEmitted ? de(i) : r.once(\"end\", i), e.on(\"unpipe\", o);\n var s = function (e) {\n return function () {\n var t = e._readableState;\n nt(\"pipeOnDrain\", t.awaitDrain), t.awaitDrain && t.awaitDrain--, 0 === t.awaitDrain && e.listeners(\"data\").length && (t.flowing = !0, pt(e));\n };\n }(r);\n e.on(\"drain\", s);\n var h = !1;\n function l() {\n nt(\"cleanup\"), e.removeListener(\"close\", d), e.removeListener(\"finish\", p), e.removeListener(\"drain\", s), e.removeListener(\"error\", u), e.removeListener(\"unpipe\", o), r.removeListener(\"end\", a), r.removeListener(\"end\", l), r.removeListener(\"data\", c), h = !0, !n.awaitDrain || e._writableState && !e._writableState.needDrain || s();\n }\n var f = !1;\n function c(t) {\n nt(\"ondata\"), f = !1, !1 !== e.write(t) || f || ((1 === n.pipesCount && n.pipes === e || n.pipesCount > 1 && -1 !== wt(n.pipes, e)) && !h && (nt(\"false write response, pause\", r._readableState.awaitDrain), r._readableState.awaitDrain++, f = !0), r.pause());\n }\n function u(t) {\n var r;\n nt(\"onerror\", t), _(), e.removeListener(\"error\", u), 0 === (r = \"error\", e.listeners(r).length) && e.emit(\"error\", t);\n }\n function d() {\n e.removeListener(\"finish\", p), _();\n }\n function p() {\n nt(\"onfinish\"), e.removeListener(\"close\", d), _();\n }\n function _() {\n nt(\"unpipe\"), r.unpipe(e);\n }\n return r.on(\"data\", c), function (e, t, r) {\n if (\"function\" == typeof e.prependListener) return e.prependListener(t, r);\n e._events && e._events[t] ? Array.isArray(e._events[t]) ? e._events[t].unshift(r) : e._events[t] = [r, e._events[t]] : e.on(t, r);\n }(e, \"error\", u), e.once(\"close\", d), e.once(\"finish\", p), e.emit(\"pipe\", r), n.flowing || (nt(\"pipe resume\"), r.resume()), e;\n}, ot.prototype.unpipe = function (e) {\n var t = this._readableState;\n if (0 === t.pipesCount) return this;\n if (1 === t.pipesCount) return e && e !== t.pipes ? this : (e || (e = t.pipes), t.pipes = null, t.pipesCount = 0, t.flowing = !1, e && e.emit(\"unpipe\", this), this);\n if (!e) {\n var r = t.pipes,\n n = t.pipesCount;\n t.pipes = null, t.pipesCount = 0, t.flowing = !1;\n for (var i = 0; i < n; i++) {\n r[i].emit(\"unpipe\", this);\n }\n return this;\n }\n var o = wt(t.pipes, e);\n return -1 === o ? this : (t.pipes.splice(o, 1), t.pipesCount -= 1, 1 === t.pipesCount && (t.pipes = t.pipes[0]), e.emit(\"unpipe\", this), this);\n}, ot.prototype.on = function (e, t) {\n var r = ve.prototype.on.call(this, e, t);\n if (\"data\" === e) !1 !== this._readableState.flowing && this.resume();else if (\"readable\" === e) {\n var n = this._readableState;\n n.endEmitted || n.readableListening || (n.readableListening = n.needReadable = !0, n.emittedReadable = !1, n.reading ? n.length && lt(this) : de(ut, this));\n }\n return r;\n}, ot.prototype.addListener = ot.prototype.on, ot.prototype.resume = function () {\n var e = this._readableState;\n return e.flowing || (nt(\"resume\"), e.flowing = !0, function (e, t) {\n t.resumeScheduled || (t.resumeScheduled = !0, de(dt, e, t));\n }(this, e)), this;\n}, ot.prototype.pause = function () {\n return nt(\"call pause flowing=%j\", this._readableState.flowing), !1 !== this._readableState.flowing && (nt(\"pause\"), this._readableState.flowing = !1, this.emit(\"pause\")), this;\n}, ot.prototype.wrap = function (e) {\n var t = this._readableState,\n r = !1,\n n = this;\n for (var i in e.on(\"end\", function () {\n if (nt(\"wrapped end\"), t.decoder && !t.ended) {\n var e = t.decoder.end();\n e && e.length && n.push(e);\n }\n n.push(null);\n }), e.on(\"data\", function (i) {\n (nt(\"wrapped data\"), t.decoder && (i = t.decoder.write(i)), t.objectMode && null == i) || (t.objectMode || i && i.length) && (n.push(i) || (r = !0, e.pause()));\n }), e) {\n void 0 === this[i] && \"function\" == typeof e[i] && (this[i] = function (t) {\n return function () {\n return e[t].apply(e, arguments);\n };\n }(i));\n }\n return function (e, t) {\n for (var r = 0, n = e.length; r < n; r++) {\n t(e[r], r);\n }\n }([\"error\", \"close\", \"destroy\", \"pause\", \"resume\"], function (t) {\n e.on(t, n.emit.bind(n, t));\n }), n._read = function (t) {\n nt(\"wrapped _read\", t), r && (r = !1, e.resume());\n }, n;\n}, ot._fromList = _t, kt.WritableState = mt, Be(kt, ve), mt.prototype.getBuffer = function () {\n for (var e = this.bufferedRequest, t = []; e;) {\n t.push(e), e = e.next;\n }\n return t;\n}, kt.prototype.pipe = function () {\n this.emit(\"error\", new Error(\"Cannot pipe, not readable\"));\n}, kt.prototype.write = function (e, t, r) {\n var n = this._writableState,\n i = !1;\n return \"function\" == typeof t && (r = t, t = null), p.isBuffer(e) ? t = \"buffer\" : t || (t = n.defaultEncoding), \"function\" != typeof r && (r = bt), n.ended ? function (e, t) {\n var r = new Error(\"write after end\");\n e.emit(\"error\", r), de(t, r);\n }(this, r) : function (e, t, r, n) {\n var i = !0,\n o = !1;\n return null === r ? o = new TypeError(\"May not write null values to stream\") : p.isBuffer(r) || \"string\" == typeof r || void 0 === r || t.objectMode || (o = new TypeError(\"Invalid non-string/buffer chunk\")), o && (e.emit(\"error\", o), de(n, o), i = !1), i;\n }(this, n, e, r) && (n.pendingcb++, i = function (e, t, r, n, i) {\n r = function (e, t, r) {\n return e.objectMode || !1 === e.decodeStrings || \"string\" != typeof t || (t = p.from(t, r)), t;\n }(t, r, n), p.isBuffer(r) && (n = \"buffer\");\n var o = t.objectMode ? 1 : r.length;\n t.length += o;\n var a = t.length < t.highWaterMark;\n a || (t.needDrain = !0);\n if (t.writing || t.corked) {\n var s = t.lastBufferedRequest;\n t.lastBufferedRequest = new yt(r, n, i), s ? s.next = t.lastBufferedRequest : t.bufferedRequest = t.lastBufferedRequest, t.bufferedRequestCount += 1;\n } else Et(e, t, !1, o, r, n, i);\n return a;\n }(this, n, e, t, r)), i;\n}, kt.prototype.cork = function () {\n this._writableState.corked++;\n}, kt.prototype.uncork = function () {\n var e = this._writableState;\n e.corked && (e.corked--, e.writing || e.corked || e.finished || e.bufferProcessing || !e.bufferedRequest || xt(this, e));\n}, kt.prototype.setDefaultEncoding = function (e) {\n if (\"string\" == typeof e && (e = e.toLowerCase()), !([\"hex\", \"utf8\", \"utf-8\", \"ascii\", \"binary\", \"base64\", \"ucs2\", \"ucs-2\", \"utf16le\", \"utf-16le\", \"raw\"].indexOf((e + \"\").toLowerCase()) > -1)) throw new TypeError(\"Unknown encoding: \" + e);\n return this._writableState.defaultEncoding = e, this;\n}, kt.prototype._write = function (e, t, r) {\n r(new Error(\"not implemented\"));\n}, kt.prototype._writev = null, kt.prototype.end = function (e, t, r) {\n var n = this._writableState;\n \"function\" == typeof e ? (r = e, e = null, t = null) : \"function\" == typeof t && (r = t, t = null), null != e && this.write(e, t), n.corked && (n.corked = 1, this.uncork()), n.ending || n.finished || function (e, t, r) {\n t.ending = !0, Bt(e, t), r && (t.finished ? de(r) : e.once(\"finish\", r));\n t.ended = !0, e.writable = !1;\n }(this, n, r);\n}, Be(Ct, ot);\nfor (var Lt = Object.keys(kt.prototype), Tt = 0; Tt < Lt.length; Tt++) {\n var Mt = Lt[Tt];\n Ct.prototype[Mt] || (Ct.prototype[Mt] = kt.prototype[Mt]);\n}\nfunction Ct(e) {\n if (!(this instanceof Ct)) return new Ct(e);\n ot.call(this, e), kt.call(this, e), e && !1 === e.readable && (this.readable = !1), e && !1 === e.writable && (this.writable = !1), this.allowHalfOpen = !0, e && !1 === e.allowHalfOpen && (this.allowHalfOpen = !1), this.once(\"end\", Dt);\n}\nfunction Dt() {\n this.allowHalfOpen || this._writableState.ended || de(It, this);\n}\nfunction It(e) {\n e.end();\n}\nfunction Pt(e) {\n this.afterTransform = function (t, r) {\n return function (e, t, r) {\n var n = e._transformState;\n n.transforming = !1;\n var i = n.writecb;\n if (!i) return e.emit(\"error\", new Error(\"no writecb in Transform class\"));\n n.writechunk = null, n.writecb = null, null != r && e.push(r);\n i(t);\n var o = e._readableState;\n o.reading = !1, (o.needReadable || o.length < o.highWaterMark) && e._read(o.highWaterMark);\n }(e, t, r);\n }, this.needTransform = !1, this.transforming = !1, this.writecb = null, this.writechunk = null, this.writeencoding = null;\n}\nfunction Ot(e) {\n if (!(this instanceof Ot)) return new Ot(e);\n Ct.call(this, e), this._transformState = new Pt(this);\n var t = this;\n this._readableState.needReadable = !0, this._readableState.sync = !1, e && (\"function\" == typeof e.transform && (this._transform = e.transform), \"function\" == typeof e.flush && (this._flush = e.flush)), this.once(\"prefinish\", function () {\n \"function\" == typeof this._flush ? this._flush(function (e) {\n Ut(t, e);\n }) : Ut(t);\n });\n}\nfunction Ut(e, t) {\n if (t) return e.emit(\"error\", t);\n var r = e._writableState,\n n = e._transformState;\n if (r.length) throw new Error(\"Calling transform done when ws.length != 0\");\n if (n.transforming) throw new Error(\"Calling transform done when still transforming\");\n return e.push(null);\n}\nfunction Ht(e) {\n if (!(this instanceof Ht)) return new Ht(e);\n Ot.call(this, e);\n}\nfunction Ft() {\n ve.call(this);\n}\nBe(Ot, Ct), Ot.prototype.push = function (e, t) {\n return this._transformState.needTransform = !1, Ct.prototype.push.call(this, e, t);\n}, Ot.prototype._transform = function (e, t, r) {\n throw new Error(\"Not implemented\");\n}, Ot.prototype._write = function (e, t, r) {\n var n = this._transformState;\n if (n.writecb = r, n.writechunk = e, n.writeencoding = t, !n.transforming) {\n var i = this._readableState;\n (n.needTransform || i.needReadable || i.length < i.highWaterMark) && this._read(i.highWaterMark);\n }\n}, Ot.prototype._read = function (e) {\n var t = this._transformState;\n null !== t.writechunk && t.writecb && !t.transforming ? (t.transforming = !0, this._transform(t.writechunk, t.writeencoding, t.afterTransform)) : t.needTransform = !0;\n}, Be(Ht, Ot), Ht.prototype._transform = function (e, t, r) {\n r(null, e);\n}, Be(Ft, ve), Ft.Readable = ot, Ft.Writable = kt, Ft.Duplex = Ct, Ft.Transform = Ot, Ft.PassThrough = Ht, Ft.Stream = Ft, Ft.prototype.pipe = function (e, t) {\n var r = this;\n function n(t) {\n e.writable && !1 === e.write(t) && r.pause && r.pause();\n }\n function i() {\n r.readable && r.resume && r.resume();\n }\n r.on(\"data\", n), e.on(\"drain\", i), e._isStdio || t && !1 === t.end || (r.on(\"end\", a), r.on(\"close\", s));\n var o = !1;\n function a() {\n o || (o = !0, e.end());\n }\n function s() {\n o || (o = !0, \"function\" == typeof e.destroy && e.destroy());\n }\n function h(e) {\n if (l(), 0 === ve.listenerCount(this, \"error\")) throw e;\n }\n function l() {\n r.removeListener(\"data\", n), e.removeListener(\"drain\", i), r.removeListener(\"end\", a), r.removeListener(\"close\", s), r.removeListener(\"error\", h), e.removeListener(\"error\", h), r.removeListener(\"end\", l), r.removeListener(\"close\", l), e.removeListener(\"close\", l);\n }\n return r.on(\"error\", h), e.on(\"error\", h), r.on(\"end\", l), r.on(\"close\", l), e.on(\"close\", l), e.emit(\"pipe\", r), e;\n};\nvar Nt = {\n 2: \"need dictionary\",\n 1: \"stream end\",\n 0: \"\",\n \"-1\": \"file error\",\n \"-2\": \"stream error\",\n \"-3\": \"data error\",\n \"-4\": \"insufficient memory\",\n \"-5\": \"buffer error\",\n \"-6\": \"incompatible version\"\n};\nfunction Zt() {\n this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = \"\", this.state = null, this.data_type = 2, this.adler = 0;\n}\nfunction jt(e, t, r, n, i) {\n if (t.subarray && e.subarray) e.set(t.subarray(r, r + n), i);else for (var o = 0; o < n; o++) {\n e[i + o] = t[r + o];\n }\n}\nvar Wt = Uint8Array,\n Yt = Uint16Array,\n Kt = Int32Array,\n Xt = 4,\n qt = 0,\n Vt = 1,\n Gt = 2;\nfunction $t(e) {\n for (var t = e.length; --t >= 0;) {\n e[t] = 0;\n }\n}\nvar Jt = 0,\n Qt = 1,\n er = 2,\n tr = 29,\n rr = 256,\n nr = rr + 1 + tr,\n ir = 30,\n or = 19,\n ar = 2 * nr + 1,\n sr = 15,\n hr = 16,\n lr = 7,\n fr = 256,\n cr = 16,\n ur = 17,\n dr = 18,\n pr = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0],\n _r = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13],\n gr = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7],\n vr = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15],\n wr = new Array(2 * (nr + 2));\n$t(wr);\nvar br = new Array(2 * ir);\n$t(br);\nvar yr = new Array(512);\n$t(yr);\nvar mr = new Array(256);\n$t(mr);\nvar kr = new Array(tr);\n$t(kr);\nvar Er,\n Sr,\n xr,\n Rr = new Array(ir);\nfunction Ar(e, t, r, n, i) {\n this.static_tree = e, this.extra_bits = t, this.extra_base = r, this.elems = n, this.max_length = i, this.has_stree = e && e.length;\n}\nfunction Br(e, t) {\n this.dyn_tree = e, this.max_code = 0, this.stat_desc = t;\n}\nfunction zr(e) {\n return e < 256 ? yr[e] : yr[256 + (e >>> 7)];\n}\nfunction Lr(e, t) {\n e.pending_buf[e.pending++] = 255 & t, e.pending_buf[e.pending++] = t >>> 8 & 255;\n}\nfunction Tr(e, t, r) {\n e.bi_valid > hr - r ? (e.bi_buf |= t << e.bi_valid & 65535, Lr(e, e.bi_buf), e.bi_buf = t >> hr - e.bi_valid, e.bi_valid += r - hr) : (e.bi_buf |= t << e.bi_valid & 65535, e.bi_valid += r);\n}\nfunction Mr(e, t, r) {\n Tr(e, r[2 * t], r[2 * t + 1]);\n}\nfunction Cr(e, t) {\n var r = 0;\n do {\n r |= 1 & e, e >>>= 1, r <<= 1;\n } while (--t > 0);\n return r >>> 1;\n}\nfunction Dr(e, t, r) {\n var n,\n i,\n o = new Array(sr + 1),\n a = 0;\n for (n = 1; n <= sr; n++) {\n o[n] = a = a + r[n - 1] << 1;\n }\n for (i = 0; i <= t; i++) {\n var s = e[2 * i + 1];\n 0 !== s && (e[2 * i] = Cr(o[s]++, s));\n }\n}\nfunction Ir(e) {\n var t;\n for (t = 0; t < nr; t++) {\n e.dyn_ltree[2 * t] = 0;\n }\n for (t = 0; t < ir; t++) {\n e.dyn_dtree[2 * t] = 0;\n }\n for (t = 0; t < or; t++) {\n e.bl_tree[2 * t] = 0;\n }\n e.dyn_ltree[2 * fr] = 1, e.opt_len = e.static_len = 0, e.last_lit = e.matches = 0;\n}\nfunction Pr(e) {\n e.bi_valid > 8 ? Lr(e, e.bi_buf) : e.bi_valid > 0 && (e.pending_buf[e.pending++] = e.bi_buf), e.bi_buf = 0, e.bi_valid = 0;\n}\nfunction Or(e, t, r, n) {\n var i = 2 * t,\n o = 2 * r;\n return e[i] < e[o] || e[i] === e[o] && n[t] <= n[r];\n}\nfunction Ur(e, t, r) {\n for (var n = e.heap[r], i = r << 1; i <= e.heap_len && (i < e.heap_len && Or(t, e.heap[i + 1], e.heap[i], e.depth) && i++, !Or(t, n, e.heap[i], e.depth));) {\n e.heap[r] = e.heap[i], r = i, i <<= 1;\n }\n e.heap[r] = n;\n}\nfunction Hr(e, t, r) {\n var n,\n i,\n o,\n a,\n s = 0;\n if (0 !== e.last_lit) do {\n n = e.pending_buf[e.d_buf + 2 * s] << 8 | e.pending_buf[e.d_buf + 2 * s + 1], i = e.pending_buf[e.l_buf + s], s++, 0 === n ? Mr(e, i, t) : (Mr(e, (o = mr[i]) + rr + 1, t), 0 !== (a = pr[o]) && Tr(e, i -= kr[o], a), Mr(e, o = zr(--n), r), 0 !== (a = _r[o]) && Tr(e, n -= Rr[o], a));\n } while (s < e.last_lit);\n Mr(e, fr, t);\n}\nfunction Fr(e, t) {\n var r,\n n,\n i,\n o = t.dyn_tree,\n a = t.stat_desc.static_tree,\n s = t.stat_desc.has_stree,\n h = t.stat_desc.elems,\n l = -1;\n for (e.heap_len = 0, e.heap_max = ar, r = 0; r < h; r++) {\n 0 !== o[2 * r] ? (e.heap[++e.heap_len] = l = r, e.depth[r] = 0) : o[2 * r + 1] = 0;\n }\n for (; e.heap_len < 2;) {\n o[2 * (i = e.heap[++e.heap_len] = l < 2 ? ++l : 0)] = 1, e.depth[i] = 0, e.opt_len--, s && (e.static_len -= a[2 * i + 1]);\n }\n for (t.max_code = l, r = e.heap_len >> 1; r >= 1; r--) {\n Ur(e, o, r);\n }\n i = h;\n do {\n r = e.heap[1], e.heap[1] = e.heap[e.heap_len--], Ur(e, o, 1), n = e.heap[1], e.heap[--e.heap_max] = r, e.heap[--e.heap_max] = n, o[2 * i] = o[2 * r] + o[2 * n], e.depth[i] = (e.depth[r] >= e.depth[n] ? e.depth[r] : e.depth[n]) + 1, o[2 * r + 1] = o[2 * n + 1] = i, e.heap[1] = i++, Ur(e, o, 1);\n } while (e.heap_len >= 2);\n e.heap[--e.heap_max] = e.heap[1], function (e, t) {\n var r,\n n,\n i,\n o,\n a,\n s,\n h = t.dyn_tree,\n l = t.max_code,\n f = t.stat_desc.static_tree,\n c = t.stat_desc.has_stree,\n u = t.stat_desc.extra_bits,\n d = t.stat_desc.extra_base,\n p = t.stat_desc.max_length,\n _ = 0;\n for (o = 0; o <= sr; o++) {\n e.bl_count[o] = 0;\n }\n for (h[2 * e.heap[e.heap_max] + 1] = 0, r = e.heap_max + 1; r < ar; r++) {\n (o = h[2 * h[2 * (n = e.heap[r]) + 1] + 1] + 1) > p && (o = p, _++), h[2 * n + 1] = o, n > l || (e.bl_count[o]++, a = 0, n >= d && (a = u[n - d]), s = h[2 * n], e.opt_len += s * (o + a), c && (e.static_len += s * (f[2 * n + 1] + a)));\n }\n if (0 !== _) {\n do {\n for (o = p - 1; 0 === e.bl_count[o];) {\n o--;\n }\n e.bl_count[o]--, e.bl_count[o + 1] += 2, e.bl_count[p]--, _ -= 2;\n } while (_ > 0);\n for (o = p; 0 !== o; o--) {\n for (n = e.bl_count[o]; 0 !== n;) {\n (i = e.heap[--r]) > l || (h[2 * i + 1] !== o && (e.opt_len += (o - h[2 * i + 1]) * h[2 * i], h[2 * i + 1] = o), n--);\n }\n }\n }\n }(e, t), Dr(o, l, e.bl_count);\n}\nfunction Nr(e, t, r) {\n var n,\n i,\n o = -1,\n a = t[1],\n s = 0,\n h = 7,\n l = 4;\n for (0 === a && (h = 138, l = 3), t[2 * (r + 1) + 1] = 65535, n = 0; n <= r; n++) {\n i = a, a = t[2 * (n + 1) + 1], ++s < h && i === a || (s < l ? e.bl_tree[2 * i] += s : 0 !== i ? (i !== o && e.bl_tree[2 * i]++, e.bl_tree[2 * cr]++) : s <= 10 ? e.bl_tree[2 * ur]++ : e.bl_tree[2 * dr]++, s = 0, o = i, 0 === a ? (h = 138, l = 3) : i === a ? (h = 6, l = 3) : (h = 7, l = 4));\n }\n}\nfunction Zr(e, t, r) {\n var n,\n i,\n o = -1,\n a = t[1],\n s = 0,\n h = 7,\n l = 4;\n for (0 === a && (h = 138, l = 3), n = 0; n <= r; n++) {\n if (i = a, a = t[2 * (n + 1) + 1], !(++s < h && i === a)) {\n if (s < l) do {\n Mr(e, i, e.bl_tree);\n } while (0 != --s);else 0 !== i ? (i !== o && (Mr(e, i, e.bl_tree), s--), Mr(e, cr, e.bl_tree), Tr(e, s - 3, 2)) : s <= 10 ? (Mr(e, ur, e.bl_tree), Tr(e, s - 3, 3)) : (Mr(e, dr, e.bl_tree), Tr(e, s - 11, 7));\n s = 0, o = i, 0 === a ? (h = 138, l = 3) : i === a ? (h = 6, l = 3) : (h = 7, l = 4);\n }\n }\n}\n$t(Rr);\nvar jr = !1;\nfunction Wr(e) {\n jr || (!function () {\n var e,\n t,\n r,\n n,\n i,\n o = new Array(sr + 1);\n for (r = 0, n = 0; n < tr - 1; n++) {\n for (kr[n] = r, e = 0; e < 1 << pr[n]; e++) {\n mr[r++] = n;\n }\n }\n for (mr[r - 1] = n, i = 0, n = 0; n < 16; n++) {\n for (Rr[n] = i, e = 0; e < 1 << _r[n]; e++) {\n yr[i++] = n;\n }\n }\n for (i >>= 7; n < ir; n++) {\n for (Rr[n] = i << 7, e = 0; e < 1 << _r[n] - 7; e++) {\n yr[256 + i++] = n;\n }\n }\n for (t = 0; t <= sr; t++) {\n o[t] = 0;\n }\n for (e = 0; e <= 143;) {\n wr[2 * e + 1] = 8, e++, o[8]++;\n }\n for (; e <= 255;) {\n wr[2 * e + 1] = 9, e++, o[9]++;\n }\n for (; e <= 279;) {\n wr[2 * e + 1] = 7, e++, o[7]++;\n }\n for (; e <= 287;) {\n wr[2 * e + 1] = 8, e++, o[8]++;\n }\n for (Dr(wr, nr + 1, o), e = 0; e < ir; e++) {\n br[2 * e + 1] = 5, br[2 * e] = Cr(e, 5);\n }\n Er = new Ar(wr, pr, rr + 1, nr, sr), Sr = new Ar(br, _r, 0, ir, sr), xr = new Ar(new Array(0), gr, 0, or, lr);\n }(), jr = !0), e.l_desc = new Br(e.dyn_ltree, Er), e.d_desc = new Br(e.dyn_dtree, Sr), e.bl_desc = new Br(e.bl_tree, xr), e.bi_buf = 0, e.bi_valid = 0, Ir(e);\n}\nfunction Yr(e, t, r, n) {\n Tr(e, (Jt << 1) + (n ? 1 : 0), 3), function (e, t, r, n) {\n Pr(e), n && (Lr(e, r), Lr(e, ~r)), jt(e.pending_buf, e.window, t, r, e.pending), e.pending += r;\n }(e, t, r, !0);\n}\nfunction Kr(e) {\n Tr(e, Qt << 1, 3), Mr(e, fr, wr), function (e) {\n 16 === e.bi_valid ? (Lr(e, e.bi_buf), e.bi_buf = 0, e.bi_valid = 0) : e.bi_valid >= 8 && (e.pending_buf[e.pending++] = 255 & e.bi_buf, e.bi_buf >>= 8, e.bi_valid -= 8);\n }(e);\n}\nfunction Xr(e, t, r, n) {\n var i,\n o,\n a = 0;\n e.level > 0 ? (e.strm.data_type === Gt && (e.strm.data_type = function (e) {\n var t,\n r = 4093624447;\n for (t = 0; t <= 31; t++, r >>>= 1) {\n if (1 & r && 0 !== e.dyn_ltree[2 * t]) return qt;\n }\n if (0 !== e.dyn_ltree[18] || 0 !== e.dyn_ltree[20] || 0 !== e.dyn_ltree[26]) return Vt;\n for (t = 32; t < rr; t++) {\n if (0 !== e.dyn_ltree[2 * t]) return Vt;\n }\n return qt;\n }(e)), Fr(e, e.l_desc), Fr(e, e.d_desc), a = function (e) {\n var t;\n for (Nr(e, e.dyn_ltree, e.l_desc.max_code), Nr(e, e.dyn_dtree, e.d_desc.max_code), Fr(e, e.bl_desc), t = or - 1; t >= 3 && 0 === e.bl_tree[2 * vr[t] + 1]; t--) {\n ;\n }\n return e.opt_len += 3 * (t + 1) + 5 + 5 + 4, t;\n }(e), i = e.opt_len + 3 + 7 >>> 3, (o = e.static_len + 3 + 7 >>> 3) <= i && (i = o)) : i = o = r + 5, r + 4 <= i && -1 !== t ? Yr(e, t, r, n) : e.strategy === Xt || o === i ? (Tr(e, (Qt << 1) + (n ? 1 : 0), 3), Hr(e, wr, br)) : (Tr(e, (er << 1) + (n ? 1 : 0), 3), function (e, t, r, n) {\n var i;\n for (Tr(e, t - 257, 5), Tr(e, r - 1, 5), Tr(e, n - 4, 4), i = 0; i < n; i++) {\n Tr(e, e.bl_tree[2 * vr[i] + 1], 3);\n }\n Zr(e, e.dyn_ltree, t - 1), Zr(e, e.dyn_dtree, r - 1);\n }(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, a + 1), Hr(e, e.dyn_ltree, e.dyn_dtree)), Ir(e), n && Pr(e);\n}\nfunction qr(e, t, r) {\n return e.pending_buf[e.d_buf + 2 * e.last_lit] = t >>> 8 & 255, e.pending_buf[e.d_buf + 2 * e.last_lit + 1] = 255 & t, e.pending_buf[e.l_buf + e.last_lit] = 255 & r, e.last_lit++, 0 === t ? e.dyn_ltree[2 * r]++ : (e.matches++, t--, e.dyn_ltree[2 * (mr[r] + rr + 1)]++, e.dyn_dtree[2 * zr(t)]++), e.last_lit === e.lit_bufsize - 1;\n}\nfunction Vr(e, t, r, n) {\n for (var i = 65535 & e | 0, o = e >>> 16 & 65535 | 0, a = 0; 0 !== r;) {\n r -= a = r > 2e3 ? 2e3 : r;\n do {\n o = o + (i = i + t[n++] | 0) | 0;\n } while (--a);\n i %= 65521, o %= 65521;\n }\n return i | o << 16 | 0;\n}\nvar Gr = function () {\n for (var e, t = [], r = 0; r < 256; r++) {\n e = r;\n for (var n = 0; n < 8; n++) {\n e = 1 & e ? 3988292384 ^ e >>> 1 : e >>> 1;\n }\n t[r] = e;\n }\n return t;\n}();\nfunction $r(e, t, r, n) {\n var i = Gr,\n o = n + r;\n e ^= -1;\n for (var a = n; a < o; a++) {\n e = e >>> 8 ^ i[255 & (e ^ t[a])];\n }\n return -1 ^ e;\n}\nvar Jr,\n Qr = 0,\n en = 1,\n tn = 3,\n rn = 4,\n nn = 5,\n on = 0,\n an = 1,\n sn = -2,\n hn = -3,\n ln = -5,\n fn = -1,\n cn = 1,\n un = 2,\n dn = 3,\n pn = 4,\n _n = 2,\n gn = 8,\n vn = 9,\n wn = 286,\n bn = 30,\n yn = 19,\n mn = 2 * wn + 1,\n kn = 15,\n En = 3,\n Sn = 258,\n xn = Sn + En + 1,\n Rn = 32,\n An = 42,\n Bn = 69,\n zn = 73,\n Ln = 91,\n Tn = 103,\n Mn = 113,\n Cn = 666,\n Dn = 1,\n In = 2,\n Pn = 3,\n On = 4,\n Un = 3;\nfunction Hn(e, t) {\n return e.msg = Nt[t], t;\n}\nfunction Fn(e) {\n return (e << 1) - (e > 4 ? 9 : 0);\n}\nfunction Nn(e) {\n for (var t = e.length; --t >= 0;) {\n e[t] = 0;\n }\n}\nfunction Zn(e) {\n var t = e.state,\n r = t.pending;\n r > e.avail_out && (r = e.avail_out), 0 !== r && (jt(e.output, t.pending_buf, t.pending_out, r, e.next_out), e.next_out += r, t.pending_out += r, e.total_out += r, e.avail_out -= r, t.pending -= r, 0 === t.pending && (t.pending_out = 0));\n}\nfunction jn(e, t) {\n Xr(e, e.block_start >= 0 ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, Zn(e.strm);\n}\nfunction Wn(e, t) {\n e.pending_buf[e.pending++] = t;\n}\nfunction Yn(e, t) {\n e.pending_buf[e.pending++] = t >>> 8 & 255, e.pending_buf[e.pending++] = 255 & t;\n}\nfunction Kn(e, t) {\n var r,\n n,\n i = e.max_chain_length,\n o = e.strstart,\n a = e.prev_length,\n s = e.nice_match,\n h = e.strstart > e.w_size - xn ? e.strstart - (e.w_size - xn) : 0,\n l = e.window,\n f = e.w_mask,\n c = e.prev,\n u = e.strstart + Sn,\n d = l[o + a - 1],\n p = l[o + a];\n e.prev_length >= e.good_match && (i >>= 2), s > e.lookahead && (s = e.lookahead);\n do {\n if (l[(r = t) + a] === p && l[r + a - 1] === d && l[r] === l[o] && l[++r] === l[o + 1]) {\n o += 2, r++;\n do {} while (l[++o] === l[++r] && l[++o] === l[++r] && l[++o] === l[++r] && l[++o] === l[++r] && l[++o] === l[++r] && l[++o] === l[++r] && l[++o] === l[++r] && l[++o] === l[++r] && o < u);\n if (n = Sn - (u - o), o = u - Sn, n > a) {\n if (e.match_start = t, a = n, n >= s) break;\n d = l[o + a - 1], p = l[o + a];\n }\n }\n } while ((t = c[t & f]) > h && 0 != --i);\n return a <= e.lookahead ? a : e.lookahead;\n}\nfunction Xn(e) {\n var t,\n r,\n n,\n i,\n o,\n a,\n s,\n h,\n l,\n f,\n c = e.w_size;\n do {\n if (i = e.window_size - e.lookahead - e.strstart, e.strstart >= c + (c - xn)) {\n jt(e.window, e.window, c, c, 0), e.match_start -= c, e.strstart -= c, e.block_start -= c, t = r = e.hash_size;\n do {\n n = e.head[--t], e.head[t] = n >= c ? n - c : 0;\n } while (--r);\n t = r = c;\n do {\n n = e.prev[--t], e.prev[t] = n >= c ? n - c : 0;\n } while (--r);\n i += c;\n }\n if (0 === e.strm.avail_in) break;\n if (a = e.strm, s = e.window, h = e.strstart + e.lookahead, l = i, f = void 0, (f = a.avail_in) > l && (f = l), r = 0 === f ? 0 : (a.avail_in -= f, jt(s, a.input, a.next_in, f, h), 1 === a.state.wrap ? a.adler = Vr(a.adler, s, f, h) : 2 === a.state.wrap && (a.adler = $r(a.adler, s, f, h)), a.next_in += f, a.total_in += f, f), e.lookahead += r, e.lookahead + e.insert >= En) for (o = e.strstart - e.insert, e.ins_h = e.window[o], e.ins_h = (e.ins_h << e.hash_shift ^ e.window[o + 1]) & e.hash_mask; e.insert && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[o + En - 1]) & e.hash_mask, e.prev[o & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = o, o++, e.insert--, !(e.lookahead + e.insert < En));) {\n ;\n }\n } while (e.lookahead < xn && 0 !== e.strm.avail_in);\n}\nfunction qn(e, t) {\n for (var r, n;;) {\n if (e.lookahead < xn) {\n if (Xn(e), e.lookahead < xn && t === Qr) return Dn;\n if (0 === e.lookahead) break;\n }\n if (r = 0, e.lookahead >= En && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + En - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), 0 !== r && e.strstart - r <= e.w_size - xn && (e.match_length = Kn(e, r)), e.match_length >= En) {\n if (n = qr(e, e.strstart - e.match_start, e.match_length - En), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= En) {\n e.match_length--;\n do {\n e.strstart++, e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + En - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart;\n } while (0 != --e.match_length);\n e.strstart++;\n } else e.strstart += e.match_length, e.match_length = 0, e.ins_h = e.window[e.strstart], e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + 1]) & e.hash_mask;\n } else n = qr(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++;\n if (n && (jn(e, !1), 0 === e.strm.avail_out)) return Dn;\n }\n return e.insert = e.strstart < En - 1 ? e.strstart : En - 1, t === rn ? (jn(e, !0), 0 === e.strm.avail_out ? Pn : On) : e.last_lit && (jn(e, !1), 0 === e.strm.avail_out) ? Dn : In;\n}\nfunction Vn(e, t) {\n for (var r, n, i;;) {\n if (e.lookahead < xn) {\n if (Xn(e), e.lookahead < xn && t === Qr) return Dn;\n if (0 === e.lookahead) break;\n }\n if (r = 0, e.lookahead >= En && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + En - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), e.prev_length = e.match_length, e.prev_match = e.match_start, e.match_length = En - 1, 0 !== r && e.prev_length < e.max_lazy_match && e.strstart - r <= e.w_size - xn && (e.match_length = Kn(e, r), e.match_length <= 5 && (e.strategy === cn || e.match_length === En && e.strstart - e.match_start > 4096) && (e.match_length = En - 1)), e.prev_length >= En && e.match_length <= e.prev_length) {\n i = e.strstart + e.lookahead - En, n = qr(e, e.strstart - 1 - e.prev_match, e.prev_length - En), e.lookahead -= e.prev_length - 1, e.prev_length -= 2;\n do {\n ++e.strstart <= i && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + En - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart);\n } while (0 != --e.prev_length);\n if (e.match_available = 0, e.match_length = En - 1, e.strstart++, n && (jn(e, !1), 0 === e.strm.avail_out)) return Dn;\n } else if (e.match_available) {\n if ((n = qr(e, 0, e.window[e.strstart - 1])) && jn(e, !1), e.strstart++, e.lookahead--, 0 === e.strm.avail_out) return Dn;\n } else e.match_available = 1, e.strstart++, e.lookahead--;\n }\n return e.match_available && (n = qr(e, 0, e.window[e.strstart - 1]), e.match_available = 0), e.insert = e.strstart < En - 1 ? e.strstart : En - 1, t === rn ? (jn(e, !0), 0 === e.strm.avail_out ? Pn : On) : e.last_lit && (jn(e, !1), 0 === e.strm.avail_out) ? Dn : In;\n}\nfunction Gn(e, t, r, n, i) {\n this.good_length = e, this.max_lazy = t, this.nice_length = r, this.max_chain = n, this.func = i;\n}\nfunction $n() {\n this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = gn, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new Yt(2 * mn), this.dyn_dtree = new Yt(2 * (2 * bn + 1)), this.bl_tree = new Yt(2 * (2 * yn + 1)), Nn(this.dyn_ltree), Nn(this.dyn_dtree), Nn(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new Yt(kn + 1), this.heap = new Yt(2 * wn + 1), Nn(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new Yt(2 * wn + 1), Nn(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;\n}\nfunction Jn(e) {\n var t,\n r = function (e) {\n var t;\n return e && e.state ? (e.total_in = e.total_out = 0, e.data_type = _n, (t = e.state).pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap ? An : Mn, e.adler = 2 === t.wrap ? 0 : 1, t.last_flush = Qr, Wr(t), on) : Hn(e, sn);\n }(e);\n return r === on && ((t = e.state).window_size = 2 * t.w_size, Nn(t.head), t.max_lazy_match = Jr[t.level].max_lazy, t.good_match = Jr[t.level].good_length, t.nice_match = Jr[t.level].nice_length, t.max_chain_length = Jr[t.level].max_chain, t.strstart = 0, t.block_start = 0, t.lookahead = 0, t.insert = 0, t.match_length = t.prev_length = En - 1, t.match_available = 0, t.ins_h = 0), r;\n}\nfunction Qn(e, t) {\n var r, n, i, o;\n if (!e || !e.state || t > nn || t < 0) return e ? Hn(e, sn) : sn;\n if (n = e.state, !e.output || !e.input && 0 !== e.avail_in || n.status === Cn && t !== rn) return Hn(e, 0 === e.avail_out ? ln : sn);\n if (n.strm = e, r = n.last_flush, n.last_flush = t, n.status === An) if (2 === n.wrap) e.adler = 0, Wn(n, 31), Wn(n, 139), Wn(n, 8), n.gzhead ? (Wn(n, (n.gzhead.text ? 1 : 0) + (n.gzhead.hcrc ? 2 : 0) + (n.gzhead.extra ? 4 : 0) + (n.gzhead.name ? 8 : 0) + (n.gzhead.comment ? 16 : 0)), Wn(n, 255 & n.gzhead.time), Wn(n, n.gzhead.time >> 8 & 255), Wn(n, n.gzhead.time >> 16 & 255), Wn(n, n.gzhead.time >> 24 & 255), Wn(n, 9 === n.level ? 2 : n.strategy >= un || n.level < 2 ? 4 : 0), Wn(n, 255 & n.gzhead.os), n.gzhead.extra && n.gzhead.extra.length && (Wn(n, 255 & n.gzhead.extra.length), Wn(n, n.gzhead.extra.length >> 8 & 255)), n.gzhead.hcrc && (e.adler = $r(e.adler, n.pending_buf, n.pending, 0)), n.gzindex = 0, n.status = Bn) : (Wn(n, 0), Wn(n, 0), Wn(n, 0), Wn(n, 0), Wn(n, 0), Wn(n, 9 === n.level ? 2 : n.strategy >= un || n.level < 2 ? 4 : 0), Wn(n, Un), n.status = Mn);else {\n var a = gn + (n.w_bits - 8 << 4) << 8;\n a |= (n.strategy >= un || n.level < 2 ? 0 : n.level < 6 ? 1 : 6 === n.level ? 2 : 3) << 6, 0 !== n.strstart && (a |= Rn), a += 31 - a % 31, n.status = Mn, Yn(n, a), 0 !== n.strstart && (Yn(n, e.adler >>> 16), Yn(n, 65535 & e.adler)), e.adler = 1;\n }\n if (n.status === Bn) if (n.gzhead.extra) {\n for (i = n.pending; n.gzindex < (65535 & n.gzhead.extra.length) && (n.pending !== n.pending_buf_size || (n.gzhead.hcrc && n.pending > i && (e.adler = $r(e.adler, n.pending_buf, n.pending - i, i)), Zn(e), i = n.pending, n.pending !== n.pending_buf_size));) {\n Wn(n, 255 & n.gzhead.extra[n.gzindex]), n.gzindex++;\n }\n n.gzhead.hcrc && n.pending > i && (e.adler = $r(e.adler, n.pending_buf, n.pending - i, i)), n.gzindex === n.gzhead.extra.length && (n.gzindex = 0, n.status = zn);\n } else n.status = zn;\n if (n.status === zn) if (n.gzhead.name) {\n i = n.pending;\n do {\n if (n.pending === n.pending_buf_size && (n.gzhead.hcrc && n.pending > i && (e.adler = $r(e.adler, n.pending_buf, n.pending - i, i)), Zn(e), i = n.pending, n.pending === n.pending_buf_size)) {\n o = 1;\n break;\n }\n o = n.gzindex < n.gzhead.name.length ? 255 & n.gzhead.name.charCodeAt(n.gzindex++) : 0, Wn(n, o);\n } while (0 !== o);\n n.gzhead.hcrc && n.pending > i && (e.adler = $r(e.adler, n.pending_buf, n.pending - i, i)), 0 === o && (n.gzindex = 0, n.status = Ln);\n } else n.status = Ln;\n if (n.status === Ln) if (n.gzhead.comment) {\n i = n.pending;\n do {\n if (n.pending === n.pending_buf_size && (n.gzhead.hcrc && n.pending > i && (e.adler = $r(e.adler, n.pending_buf, n.pending - i, i)), Zn(e), i = n.pending, n.pending === n.pending_buf_size)) {\n o = 1;\n break;\n }\n o = n.gzindex < n.gzhead.comment.length ? 255 & n.gzhead.comment.charCodeAt(n.gzindex++) : 0, Wn(n, o);\n } while (0 !== o);\n n.gzhead.hcrc && n.pending > i && (e.adler = $r(e.adler, n.pending_buf, n.pending - i, i)), 0 === o && (n.status = Tn);\n } else n.status = Tn;\n if (n.status === Tn && (n.gzhead.hcrc ? (n.pending + 2 > n.pending_buf_size && Zn(e), n.pending + 2 <= n.pending_buf_size && (Wn(n, 255 & e.adler), Wn(n, e.adler >> 8 & 255), e.adler = 0, n.status = Mn)) : n.status = Mn), 0 !== n.pending) {\n if (Zn(e), 0 === e.avail_out) return n.last_flush = -1, on;\n } else if (0 === e.avail_in && Fn(t) <= Fn(r) && t !== rn) return Hn(e, ln);\n if (n.status === Cn && 0 !== e.avail_in) return Hn(e, ln);\n if (0 !== e.avail_in || 0 !== n.lookahead || t !== Qr && n.status !== Cn) {\n var s = n.strategy === un ? function (e, t) {\n for (var r;;) {\n if (0 === e.lookahead && (Xn(e), 0 === e.lookahead)) {\n if (t === Qr) return Dn;\n break;\n }\n if (e.match_length = 0, r = qr(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, r && (jn(e, !1), 0 === e.strm.avail_out)) return Dn;\n }\n return e.insert = 0, t === rn ? (jn(e, !0), 0 === e.strm.avail_out ? Pn : On) : e.last_lit && (jn(e, !1), 0 === e.strm.avail_out) ? Dn : In;\n }(n, t) : n.strategy === dn ? function (e, t) {\n for (var r, n, i, o, a = e.window;;) {\n if (e.lookahead <= Sn) {\n if (Xn(e), e.lookahead <= Sn && t === Qr) return Dn;\n if (0 === e.lookahead) break;\n }\n if (e.match_length = 0, e.lookahead >= En && e.strstart > 0 && (n = a[i = e.strstart - 1]) === a[++i] && n === a[++i] && n === a[++i]) {\n o = e.strstart + Sn;\n do {} while (n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && i < o);\n e.match_length = Sn - (o - i), e.match_length > e.lookahead && (e.match_length = e.lookahead);\n }\n if (e.match_length >= En ? (r = qr(e, 1, e.match_length - En), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (r = qr(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), r && (jn(e, !1), 0 === e.strm.avail_out)) return Dn;\n }\n return e.insert = 0, t === rn ? (jn(e, !0), 0 === e.strm.avail_out ? Pn : On) : e.last_lit && (jn(e, !1), 0 === e.strm.avail_out) ? Dn : In;\n }(n, t) : Jr[n.level].func(n, t);\n if (s !== Pn && s !== On || (n.status = Cn), s === Dn || s === Pn) return 0 === e.avail_out && (n.last_flush = -1), on;\n if (s === In && (t === en ? Kr(n) : t !== nn && (Yr(n, 0, 0, !1), t === tn && (Nn(n.head), 0 === n.lookahead && (n.strstart = 0, n.block_start = 0, n.insert = 0))), Zn(e), 0 === e.avail_out)) return n.last_flush = -1, on;\n }\n return t !== rn ? on : n.wrap <= 0 ? an : (2 === n.wrap ? (Wn(n, 255 & e.adler), Wn(n, e.adler >> 8 & 255), Wn(n, e.adler >> 16 & 255), Wn(n, e.adler >> 24 & 255), Wn(n, 255 & e.total_in), Wn(n, e.total_in >> 8 & 255), Wn(n, e.total_in >> 16 & 255), Wn(n, e.total_in >> 24 & 255)) : (Yn(n, e.adler >>> 16), Yn(n, 65535 & e.adler)), Zn(e), n.wrap > 0 && (n.wrap = -n.wrap), 0 !== n.pending ? on : an);\n}\nJr = [new Gn(0, 0, 0, 0, function (e, t) {\n var r = 65535;\n for (r > e.pending_buf_size - 5 && (r = e.pending_buf_size - 5);;) {\n if (e.lookahead <= 1) {\n if (Xn(e), 0 === e.lookahead && t === Qr) return Dn;\n if (0 === e.lookahead) break;\n }\n e.strstart += e.lookahead, e.lookahead = 0;\n var n = e.block_start + r;\n if ((0 === e.strstart || e.strstart >= n) && (e.lookahead = e.strstart - n, e.strstart = n, jn(e, !1), 0 === e.strm.avail_out)) return Dn;\n if (e.strstart - e.block_start >= e.w_size - xn && (jn(e, !1), 0 === e.strm.avail_out)) return Dn;\n }\n return e.insert = 0, t === rn ? (jn(e, !0), 0 === e.strm.avail_out ? Pn : On) : (e.strstart > e.block_start && (jn(e, !1), e.strm.avail_out), Dn);\n}), new Gn(4, 4, 8, 4, qn), new Gn(4, 5, 16, 8, qn), new Gn(4, 6, 32, 32, qn), new Gn(4, 4, 16, 16, Vn), new Gn(8, 16, 32, 32, Vn), new Gn(8, 16, 128, 128, Vn), new Gn(8, 32, 128, 256, Vn), new Gn(32, 128, 258, 1024, Vn), new Gn(32, 258, 258, 4096, Vn)];\nvar ei = 30,\n ti = 12;\nfunction ri(e, t) {\n var r, n, i, o, a, s, h, l, f, c, u, d, p, _, g, v, w, b, y, m, k, E, S, x, R;\n r = e.state, n = e.next_in, x = e.input, i = n + (e.avail_in - 5), o = e.next_out, R = e.output, a = o - (t - e.avail_out), s = o + (e.avail_out - 257), h = r.dmax, l = r.wsize, f = r.whave, c = r.wnext, u = r.window, d = r.hold, p = r.bits, _ = r.lencode, g = r.distcode, v = (1 << r.lenbits) - 1, w = (1 << r.distbits) - 1;\n e: do {\n p < 15 && (d += x[n++] << p, p += 8, d += x[n++] << p, p += 8), b = _[d & v];\n t: for (;;) {\n if (d >>>= y = b >>> 24, p -= y, 0 === (y = b >>> 16 & 255)) R[o++] = 65535 & b;else {\n if (!(16 & y)) {\n if (0 == (64 & y)) {\n b = _[(65535 & b) + (d & (1 << y) - 1)];\n continue t;\n }\n if (32 & y) {\n r.mode = ti;\n break e;\n }\n e.msg = \"invalid literal/length code\", r.mode = ei;\n break e;\n }\n m = 65535 & b, (y &= 15) && (p < y && (d += x[n++] << p, p += 8), m += d & (1 << y) - 1, d >>>= y, p -= y), p < 15 && (d += x[n++] << p, p += 8, d += x[n++] << p, p += 8), b = g[d & w];\n r: for (;;) {\n if (d >>>= y = b >>> 24, p -= y, !(16 & (y = b >>> 16 & 255))) {\n if (0 == (64 & y)) {\n b = g[(65535 & b) + (d & (1 << y) - 1)];\n continue r;\n }\n e.msg = \"invalid distance code\", r.mode = ei;\n break e;\n }\n if (k = 65535 & b, p < (y &= 15) && (d += x[n++] << p, (p += 8) < y && (d += x[n++] << p, p += 8)), (k += d & (1 << y) - 1) > h) {\n e.msg = \"invalid distance too far back\", r.mode = ei;\n break e;\n }\n if (d >>>= y, p -= y, k > (y = o - a)) {\n if ((y = k - y) > f && r.sane) {\n e.msg = \"invalid distance too far back\", r.mode = ei;\n break e;\n }\n if (E = 0, S = u, 0 === c) {\n if (E += l - y, y < m) {\n m -= y;\n do {\n R[o++] = u[E++];\n } while (--y);\n E = o - k, S = R;\n }\n } else if (c < y) {\n if (E += l + c - y, (y -= c) < m) {\n m -= y;\n do {\n R[o++] = u[E++];\n } while (--y);\n if (E = 0, c < m) {\n m -= y = c;\n do {\n R[o++] = u[E++];\n } while (--y);\n E = o - k, S = R;\n }\n }\n } else if (E += c - y, y < m) {\n m -= y;\n do {\n R[o++] = u[E++];\n } while (--y);\n E = o - k, S = R;\n }\n for (; m > 2;) {\n R[o++] = S[E++], R[o++] = S[E++], R[o++] = S[E++], m -= 3;\n }\n m && (R[o++] = S[E++], m > 1 && (R[o++] = S[E++]));\n } else {\n E = o - k;\n do {\n R[o++] = R[E++], R[o++] = R[E++], R[o++] = R[E++], m -= 3;\n } while (m > 2);\n m && (R[o++] = R[E++], m > 1 && (R[o++] = R[E++]));\n }\n break;\n }\n }\n break;\n }\n } while (n < i && o < s);\n n -= m = p >> 3, d &= (1 << (p -= m << 3)) - 1, e.next_in = n, e.next_out = o, e.avail_in = n < i ? i - n + 5 : 5 - (n - i), e.avail_out = o < s ? s - o + 257 : 257 - (o - s), r.hold = d, r.bits = p;\n}\nvar ni = 15,\n ii = 852,\n oi = 592,\n ai = 0,\n si = 1,\n hi = 2,\n li = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0],\n fi = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78],\n ci = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0],\n ui = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64];\nfunction di(e, t, r, n, i, o, a, s) {\n var h,\n l,\n f,\n c,\n u,\n d,\n p,\n _,\n g,\n v = s.bits,\n w = 0,\n b = 0,\n y = 0,\n m = 0,\n k = 0,\n E = 0,\n S = 0,\n x = 0,\n R = 0,\n A = 0,\n B = null,\n z = 0,\n L = new Yt(ni + 1),\n T = new Yt(ni + 1),\n M = null,\n C = 0;\n for (w = 0; w <= ni; w++) {\n L[w] = 0;\n }\n for (b = 0; b < n; b++) {\n L[t[r + b]]++;\n }\n for (k = v, m = ni; m >= 1 && 0 === L[m]; m--) {\n ;\n }\n if (k > m && (k = m), 0 === m) return i[o++] = 20971520, i[o++] = 20971520, s.bits = 1, 0;\n for (y = 1; y < m && 0 === L[y]; y++) {\n ;\n }\n for (k < y && (k = y), x = 1, w = 1; w <= ni; w++) {\n if (x <<= 1, (x -= L[w]) < 0) return -1;\n }\n if (x > 0 && (e === ai || 1 !== m)) return -1;\n for (T[1] = 0, w = 1; w < ni; w++) {\n T[w + 1] = T[w] + L[w];\n }\n for (b = 0; b < n; b++) {\n 0 !== t[r + b] && (a[T[t[r + b]]++] = b);\n }\n if (e === ai ? (B = M = a, d = 19) : e === si ? (B = li, z -= 257, M = fi, C -= 257, d = 256) : (B = ci, M = ui, d = -1), A = 0, b = 0, w = y, u = o, E = k, S = 0, f = -1, c = (R = 1 << k) - 1, e === si && R > ii || e === hi && R > oi) return 1;\n for (;;) {\n p = w - S, a[b] < d ? (_ = 0, g = a[b]) : a[b] > d ? (_ = M[C + a[b]], g = B[z + a[b]]) : (_ = 96, g = 0), h = 1 << w - S, y = l = 1 << E;\n do {\n i[u + (A >> S) + (l -= h)] = p << 24 | _ << 16 | g | 0;\n } while (0 !== l);\n for (h = 1 << w - 1; A & h;) {\n h >>= 1;\n }\n if (0 !== h ? (A &= h - 1, A += h) : A = 0, b++, 0 == --L[w]) {\n if (w === m) break;\n w = t[r + a[b]];\n }\n if (w > k && (A & c) !== f) {\n for (0 === S && (S = k), u += y, x = 1 << (E = w - S); E + S < m && !((x -= L[E + S]) <= 0);) {\n E++, x <<= 1;\n }\n if (R += 1 << E, e === si && R > ii || e === hi && R > oi) return 1;\n i[f = A & c] = k << 24 | E << 16 | u - o | 0;\n }\n }\n return 0 !== A && (i[u + A] = w - S << 24 | 64 << 16 | 0), s.bits = k, 0;\n}\nvar pi = 0,\n _i = 1,\n gi = 2,\n vi = 4,\n wi = 5,\n bi = 6,\n yi = 0,\n mi = 1,\n ki = 2,\n Ei = -2,\n Si = -3,\n xi = -4,\n Ri = -5,\n Ai = 8,\n Bi = 1,\n zi = 2,\n Li = 3,\n Ti = 4,\n Mi = 5,\n Ci = 6,\n Di = 7,\n Ii = 8,\n Pi = 9,\n Oi = 10,\n Ui = 11,\n Hi = 12,\n Fi = 13,\n Ni = 14,\n Zi = 15,\n ji = 16,\n Wi = 17,\n Yi = 18,\n Ki = 19,\n Xi = 20,\n qi = 21,\n Vi = 22,\n Gi = 23,\n $i = 24,\n Ji = 25,\n Qi = 26,\n eo = 27,\n to = 28,\n ro = 29,\n no = 30,\n io = 31,\n oo = 32,\n ao = 852,\n so = 592;\nfunction ho(e) {\n return (e >>> 24 & 255) + (e >>> 8 & 65280) + ((65280 & e) << 8) + ((255 & e) << 24);\n}\nfunction lo() {\n this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Yt(320), this.work = new Yt(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;\n}\nfunction fo(e) {\n var t;\n return e && e.state ? ((t = e.state).wsize = 0, t.whave = 0, t.wnext = 0, function (e) {\n var t;\n return e && e.state ? (t = e.state, e.total_in = e.total_out = t.total = 0, e.msg = \"\", t.wrap && (e.adler = 1 & t.wrap), t.mode = Bi, t.last = 0, t.havedict = 0, t.dmax = 32768, t.head = null, t.hold = 0, t.bits = 0, t.lencode = t.lendyn = new Kt(ao), t.distcode = t.distdyn = new Kt(so), t.sane = 1, t.back = -1, yi) : Ei;\n }(e)) : Ei;\n}\nfunction co(e, t) {\n var r, n;\n return e ? (n = new lo(), e.state = n, n.window = null, (r = function (e, t) {\n var r, n;\n return e && e.state ? (n = e.state, t < 0 ? (r = 0, t = -t) : (r = 1 + (t >> 4), t < 48 && (t &= 15)), t && (t < 8 || t > 15) ? Ei : (null !== n.window && n.wbits !== t && (n.window = null), n.wrap = r, n.wbits = t, fo(e))) : Ei;\n }(e, t)) !== yi && (e.state = null), r) : Ei;\n}\nvar uo,\n po,\n _o = !0;\nfunction go(e) {\n if (_o) {\n var t;\n for (uo = new Kt(512), po = new Kt(32), t = 0; t < 144;) {\n e.lens[t++] = 8;\n }\n for (; t < 256;) {\n e.lens[t++] = 9;\n }\n for (; t < 280;) {\n e.lens[t++] = 7;\n }\n for (; t < 288;) {\n e.lens[t++] = 8;\n }\n for (di(_i, e.lens, 0, 288, uo, 0, e.work, {\n bits: 9\n }), t = 0; t < 32;) {\n e.lens[t++] = 5;\n }\n di(gi, e.lens, 0, 32, po, 0, e.work, {\n bits: 5\n }), _o = !1;\n }\n e.lencode = uo, e.lenbits = 9, e.distcode = po, e.distbits = 5;\n}\nfunction vo(e, t) {\n var r,\n n,\n i,\n o,\n a,\n s,\n h,\n l,\n f,\n c,\n u,\n d,\n p,\n _,\n g,\n v,\n w,\n b,\n y,\n m,\n k,\n E,\n S,\n x,\n R = 0,\n A = new Wt(4),\n B = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n if (!e || !e.state || !e.output || !e.input && 0 !== e.avail_in) return Ei;\n (r = e.state).mode === Hi && (r.mode = Fi), a = e.next_out, i = e.output, h = e.avail_out, o = e.next_in, n = e.input, s = e.avail_in, l = r.hold, f = r.bits, c = s, u = h, E = yi;\n e: for (;;) {\n switch (r.mode) {\n case Bi:\n if (0 === r.wrap) {\n r.mode = Fi;\n break;\n }\n for (; f < 16;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (2 & r.wrap && 35615 === l) {\n r.check = 0, A[0] = 255 & l, A[1] = l >>> 8 & 255, r.check = $r(r.check, A, 2, 0), l = 0, f = 0, r.mode = zi;\n break;\n }\n if (r.flags = 0, r.head && (r.head.done = !1), !(1 & r.wrap) || (((255 & l) << 8) + (l >> 8)) % 31) {\n e.msg = \"incorrect header check\", r.mode = no;\n break;\n }\n if ((15 & l) !== Ai) {\n e.msg = \"unknown compression method\", r.mode = no;\n break;\n }\n if (f -= 4, k = 8 + (15 & (l >>>= 4)), 0 === r.wbits) r.wbits = k;else if (k > r.wbits) {\n e.msg = \"invalid window size\", r.mode = no;\n break;\n }\n r.dmax = 1 << k, e.adler = r.check = 1, r.mode = 512 & l ? Oi : Hi, l = 0, f = 0;\n break;\n case zi:\n for (; f < 16;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (r.flags = l, (255 & r.flags) !== Ai) {\n e.msg = \"unknown compression method\", r.mode = no;\n break;\n }\n if (57344 & r.flags) {\n e.msg = \"unknown header flags set\", r.mode = no;\n break;\n }\n r.head && (r.head.text = l >> 8 & 1), 512 & r.flags && (A[0] = 255 & l, A[1] = l >>> 8 & 255, r.check = $r(r.check, A, 2, 0)), l = 0, f = 0, r.mode = Li;\n case Li:\n for (; f < 32;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n r.head && (r.head.time = l), 512 & r.flags && (A[0] = 255 & l, A[1] = l >>> 8 & 255, A[2] = l >>> 16 & 255, A[3] = l >>> 24 & 255, r.check = $r(r.check, A, 4, 0)), l = 0, f = 0, r.mode = Ti;\n case Ti:\n for (; f < 16;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n r.head && (r.head.xflags = 255 & l, r.head.os = l >> 8), 512 & r.flags && (A[0] = 255 & l, A[1] = l >>> 8 & 255, r.check = $r(r.check, A, 2, 0)), l = 0, f = 0, r.mode = Mi;\n case Mi:\n if (1024 & r.flags) {\n for (; f < 16;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n r.length = l, r.head && (r.head.extra_len = l), 512 & r.flags && (A[0] = 255 & l, A[1] = l >>> 8 & 255, r.check = $r(r.check, A, 2, 0)), l = 0, f = 0;\n } else r.head && (r.head.extra = null);\n r.mode = Ci;\n case Ci:\n if (1024 & r.flags && ((d = r.length) > s && (d = s), d && (r.head && (k = r.head.extra_len - r.length, r.head.extra || (r.head.extra = new Array(r.head.extra_len)), jt(r.head.extra, n, o, d, k)), 512 & r.flags && (r.check = $r(r.check, n, d, o)), s -= d, o += d, r.length -= d), r.length)) break e;\n r.length = 0, r.mode = Di;\n case Di:\n if (2048 & r.flags) {\n if (0 === s) break e;\n d = 0;\n do {\n k = n[o + d++], r.head && k && r.length < 65536 && (r.head.name += String.fromCharCode(k));\n } while (k && d < s);\n if (512 & r.flags && (r.check = $r(r.check, n, d, o)), s -= d, o += d, k) break e;\n } else r.head && (r.head.name = null);\n r.length = 0, r.mode = Ii;\n case Ii:\n if (4096 & r.flags) {\n if (0 === s) break e;\n d = 0;\n do {\n k = n[o + d++], r.head && k && r.length < 65536 && (r.head.comment += String.fromCharCode(k));\n } while (k && d < s);\n if (512 & r.flags && (r.check = $r(r.check, n, d, o)), s -= d, o += d, k) break e;\n } else r.head && (r.head.comment = null);\n r.mode = Pi;\n case Pi:\n if (512 & r.flags) {\n for (; f < 16;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (l !== (65535 & r.check)) {\n e.msg = \"header crc mismatch\", r.mode = no;\n break;\n }\n l = 0, f = 0;\n }\n r.head && (r.head.hcrc = r.flags >> 9 & 1, r.head.done = !0), e.adler = r.check = 0, r.mode = Hi;\n break;\n case Oi:\n for (; f < 32;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n e.adler = r.check = ho(l), l = 0, f = 0, r.mode = Ui;\n case Ui:\n if (0 === r.havedict) return e.next_out = a, e.avail_out = h, e.next_in = o, e.avail_in = s, r.hold = l, r.bits = f, ki;\n e.adler = r.check = 1, r.mode = Hi;\n case Hi:\n if (t === wi || t === bi) break e;\n case Fi:\n if (r.last) {\n l >>>= 7 & f, f -= 7 & f, r.mode = eo;\n break;\n }\n for (; f < 3;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n switch (r.last = 1 & l, f -= 1, 3 & (l >>>= 1)) {\n case 0:\n r.mode = Ni;\n break;\n case 1:\n if (go(r), r.mode = Xi, t === bi) {\n l >>>= 2, f -= 2;\n break e;\n }\n break;\n case 2:\n r.mode = Wi;\n break;\n case 3:\n e.msg = \"invalid block type\", r.mode = no;\n }\n l >>>= 2, f -= 2;\n break;\n case Ni:\n for (l >>>= 7 & f, f -= 7 & f; f < 32;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if ((65535 & l) != (l >>> 16 ^ 65535)) {\n e.msg = \"invalid stored block lengths\", r.mode = no;\n break;\n }\n if (r.length = 65535 & l, l = 0, f = 0, r.mode = Zi, t === bi) break e;\n case Zi:\n r.mode = ji;\n case ji:\n if (d = r.length) {\n if (d > s && (d = s), d > h && (d = h), 0 === d) break e;\n jt(i, n, o, d, a), s -= d, o += d, h -= d, a += d, r.length -= d;\n break;\n }\n r.mode = Hi;\n break;\n case Wi:\n for (; f < 14;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (r.nlen = 257 + (31 & l), l >>>= 5, f -= 5, r.ndist = 1 + (31 & l), l >>>= 5, f -= 5, r.ncode = 4 + (15 & l), l >>>= 4, f -= 4, r.nlen > 286 || r.ndist > 30) {\n e.msg = \"too many length or distance symbols\", r.mode = no;\n break;\n }\n r.have = 0, r.mode = Yi;\n case Yi:\n for (; r.have < r.ncode;) {\n for (; f < 3;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n r.lens[B[r.have++]] = 7 & l, l >>>= 3, f -= 3;\n }\n for (; r.have < 19;) {\n r.lens[B[r.have++]] = 0;\n }\n if (r.lencode = r.lendyn, r.lenbits = 7, S = {\n bits: r.lenbits\n }, E = di(pi, r.lens, 0, 19, r.lencode, 0, r.work, S), r.lenbits = S.bits, E) {\n e.msg = \"invalid code lengths set\", r.mode = no;\n break;\n }\n r.have = 0, r.mode = Ki;\n case Ki:\n for (; r.have < r.nlen + r.ndist;) {\n for (; v = (R = r.lencode[l & (1 << r.lenbits) - 1]) >>> 16 & 255, w = 65535 & R, !((g = R >>> 24) <= f);) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (w < 16) l >>>= g, f -= g, r.lens[r.have++] = w;else {\n if (16 === w) {\n for (x = g + 2; f < x;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (l >>>= g, f -= g, 0 === r.have) {\n e.msg = \"invalid bit length repeat\", r.mode = no;\n break;\n }\n k = r.lens[r.have - 1], d = 3 + (3 & l), l >>>= 2, f -= 2;\n } else if (17 === w) {\n for (x = g + 3; f < x;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n f -= g, k = 0, d = 3 + (7 & (l >>>= g)), l >>>= 3, f -= 3;\n } else {\n for (x = g + 7; f < x;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n f -= g, k = 0, d = 11 + (127 & (l >>>= g)), l >>>= 7, f -= 7;\n }\n if (r.have + d > r.nlen + r.ndist) {\n e.msg = \"invalid bit length repeat\", r.mode = no;\n break;\n }\n for (; d--;) {\n r.lens[r.have++] = k;\n }\n }\n }\n if (r.mode === no) break;\n if (0 === r.lens[256]) {\n e.msg = \"invalid code -- missing end-of-block\", r.mode = no;\n break;\n }\n if (r.lenbits = 9, S = {\n bits: r.lenbits\n }, E = di(_i, r.lens, 0, r.nlen, r.lencode, 0, r.work, S), r.lenbits = S.bits, E) {\n e.msg = \"invalid literal/lengths set\", r.mode = no;\n break;\n }\n if (r.distbits = 6, r.distcode = r.distdyn, S = {\n bits: r.distbits\n }, E = di(gi, r.lens, r.nlen, r.ndist, r.distcode, 0, r.work, S), r.distbits = S.bits, E) {\n e.msg = \"invalid distances set\", r.mode = no;\n break;\n }\n if (r.mode = Xi, t === bi) break e;\n case Xi:\n r.mode = qi;\n case qi:\n if (s >= 6 && h >= 258) {\n e.next_out = a, e.avail_out = h, e.next_in = o, e.avail_in = s, r.hold = l, r.bits = f, ri(e, u), a = e.next_out, i = e.output, h = e.avail_out, o = e.next_in, n = e.input, s = e.avail_in, l = r.hold, f = r.bits, r.mode === Hi && (r.back = -1);\n break;\n }\n for (r.back = 0; v = (R = r.lencode[l & (1 << r.lenbits) - 1]) >>> 16 & 255, w = 65535 & R, !((g = R >>> 24) <= f);) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (v && 0 == (240 & v)) {\n for (b = g, y = v, m = w; v = (R = r.lencode[m + ((l & (1 << b + y) - 1) >> b)]) >>> 16 & 255, w = 65535 & R, !(b + (g = R >>> 24) <= f);) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n l >>>= b, f -= b, r.back += b;\n }\n if (l >>>= g, f -= g, r.back += g, r.length = w, 0 === v) {\n r.mode = Qi;\n break;\n }\n if (32 & v) {\n r.back = -1, r.mode = Hi;\n break;\n }\n if (64 & v) {\n e.msg = \"invalid literal/length code\", r.mode = no;\n break;\n }\n r.extra = 15 & v, r.mode = Vi;\n case Vi:\n if (r.extra) {\n for (x = r.extra; f < x;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n r.length += l & (1 << r.extra) - 1, l >>>= r.extra, f -= r.extra, r.back += r.extra;\n }\n r.was = r.length, r.mode = Gi;\n case Gi:\n for (; v = (R = r.distcode[l & (1 << r.distbits) - 1]) >>> 16 & 255, w = 65535 & R, !((g = R >>> 24) <= f);) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (0 == (240 & v)) {\n for (b = g, y = v, m = w; v = (R = r.distcode[m + ((l & (1 << b + y) - 1) >> b)]) >>> 16 & 255, w = 65535 & R, !(b + (g = R >>> 24) <= f);) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n l >>>= b, f -= b, r.back += b;\n }\n if (l >>>= g, f -= g, r.back += g, 64 & v) {\n e.msg = \"invalid distance code\", r.mode = no;\n break;\n }\n r.offset = w, r.extra = 15 & v, r.mode = $i;\n case $i:\n if (r.extra) {\n for (x = r.extra; f < x;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n r.offset += l & (1 << r.extra) - 1, l >>>= r.extra, f -= r.extra, r.back += r.extra;\n }\n if (r.offset > r.dmax) {\n e.msg = \"invalid distance too far back\", r.mode = no;\n break;\n }\n r.mode = Ji;\n case Ji:\n if (0 === h) break e;\n if (d = u - h, r.offset > d) {\n if ((d = r.offset - d) > r.whave && r.sane) {\n e.msg = \"invalid distance too far back\", r.mode = no;\n break;\n }\n d > r.wnext ? (d -= r.wnext, p = r.wsize - d) : p = r.wnext - d, d > r.length && (d = r.length), _ = r.window;\n } else _ = i, p = a - r.offset, d = r.length;\n d > h && (d = h), h -= d, r.length -= d;\n do {\n i[a++] = _[p++];\n } while (--d);\n 0 === r.length && (r.mode = qi);\n break;\n case Qi:\n if (0 === h) break e;\n i[a++] = r.length, h--, r.mode = qi;\n break;\n case eo:\n if (r.wrap) {\n for (; f < 32;) {\n if (0 === s) break e;\n s--, l |= n[o++] << f, f += 8;\n }\n if (u -= h, e.total_out += u, r.total += u, u && (e.adler = r.check = r.flags ? $r(r.check, i, u, a - u) : Vr(r.check, i, u, a - u)), u = h, (r.flags ? l : ho(l)) !== r.check) {\n e.msg = \"incorrect data check\", r.mode = no;\n break;\n }\n l = 0, f = 0;\n }\n r.mode = to;\n case to:\n if (r.wrap && r.flags) {\n for (; f < 32;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (l !== (4294967295 & r.total)) {\n e.msg = \"incorrect length check\", r.mode = no;\n break;\n }\n l = 0, f = 0;\n }\n r.mode = ro;\n case ro:\n E = mi;\n break e;\n case no:\n E = Si;\n break e;\n case io:\n return xi;\n case oo:\n default:\n return Ei;\n }\n }\n return e.next_out = a, e.avail_out = h, e.next_in = o, e.avail_in = s, r.hold = l, r.bits = f, (r.wsize || u !== e.avail_out && r.mode < no && (r.mode < eo || t !== vi)) && function (e, t, r, n) {\n var i,\n o = e.state;\n null === o.window && (o.wsize = 1 << o.wbits, o.wnext = 0, o.whave = 0, o.window = new Wt(o.wsize)), n >= o.wsize ? (jt(o.window, t, r - o.wsize, o.wsize, 0), o.wnext = 0, o.whave = o.wsize) : ((i = o.wsize - o.wnext) > n && (i = n), jt(o.window, t, r - n, i, o.wnext), (n -= i) ? (jt(o.window, t, r - n, n, 0), o.wnext = n, o.whave = o.wsize) : (o.wnext += i, o.wnext === o.wsize && (o.wnext = 0), o.whave < o.wsize && (o.whave += i)));\n }(e, e.output, e.next_out, u - e.avail_out), c -= e.avail_in, u -= e.avail_out, e.total_in += c, e.total_out += u, r.total += u, r.wrap && u && (e.adler = r.check = r.flags ? $r(r.check, i, u, e.next_out - u) : Vr(r.check, i, u, e.next_out - u)), e.data_type = r.bits + (r.last ? 64 : 0) + (r.mode === Hi ? 128 : 0) + (r.mode === Xi || r.mode === Zi ? 256 : 0), (0 === c && 0 === u || t === vi) && E === yi && (E = Ri), E;\n}\nvar wo,\n bo = 1,\n yo = 7;\nfunction mo(e) {\n if (e < bo || e > yo) throw new TypeError(\"Bad argument\");\n this.mode = e, this.init_done = !1, this.write_in_progress = !1, this.pending_close = !1, this.windowBits = 0, this.level = 0, this.memLevel = 0, this.strategy = 0, this.dictionary = null;\n}\nfunction ko(e, t) {\n for (var r = 0; r < e.length; r++) {\n this[t + r] = e[r];\n }\n}\nmo.prototype.init = function (e, t, r, n, i) {\n var o;\n switch (this.windowBits = e, this.level = t, this.memLevel = r, this.strategy = n, 3 !== this.mode && 4 !== this.mode || (this.windowBits += 16), this.mode === yo && (this.windowBits += 32), 5 !== this.mode && 6 !== this.mode || (this.windowBits = -this.windowBits), this.strm = new Zt(), this.mode) {\n case bo:\n case 3:\n case 5:\n o = function (e, t, r, n, i, o) {\n if (!e) return sn;\n var a = 1;\n if (t === fn && (t = 6), n < 0 ? (a = 0, n = -n) : n > 15 && (a = 2, n -= 16), i < 1 || i > vn || r !== gn || n < 8 || n > 15 || t < 0 || t > 9 || o < 0 || o > pn) return Hn(e, sn);\n 8 === n && (n = 9);\n var s = new $n();\n return e.state = s, s.strm = e, s.wrap = a, s.gzhead = null, s.w_bits = n, s.w_size = 1 << s.w_bits, s.w_mask = s.w_size - 1, s.hash_bits = i + 7, s.hash_size = 1 << s.hash_bits, s.hash_mask = s.hash_size - 1, s.hash_shift = ~~((s.hash_bits + En - 1) / En), s.window = new Wt(2 * s.w_size), s.head = new Yt(s.hash_size), s.prev = new Yt(s.w_size), s.lit_bufsize = 1 << i + 6, s.pending_buf_size = 4 * s.lit_bufsize, s.pending_buf = new Wt(s.pending_buf_size), s.d_buf = 1 * s.lit_bufsize, s.l_buf = 3 * s.lit_bufsize, s.level = t, s.strategy = o, s.method = r, Jn(e);\n }(this.strm, this.level, 8, this.windowBits, this.memLevel, this.strategy);\n break;\n case 2:\n case 4:\n case 6:\n case yo:\n o = co(this.strm, this.windowBits);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n 0 === o ? (this.write_in_progress = !1, this.init_done = !0) : this._error(o);\n}, mo.prototype.params = function () {\n throw new Error(\"deflateParams Not supported\");\n}, mo.prototype._writeCheck = function () {\n if (!this.init_done) throw new Error(\"write before init\");\n if (0 === this.mode) throw new Error(\"already finalized\");\n if (this.write_in_progress) throw new Error(\"write already in progress\");\n if (this.pending_close) throw new Error(\"close is pending\");\n}, mo.prototype.write = function (e, t, r, n, i, o, a) {\n this._writeCheck(), this.write_in_progress = !0;\n var s = this;\n return de(function () {\n s.write_in_progress = !1;\n var h = s._write(e, t, r, n, i, o, a);\n s.callback(h[0], h[1]), s.pending_close && s.close();\n }), this;\n}, mo.prototype.writeSync = function (e, t, r, n, i, o, a) {\n return this._writeCheck(), this._write(e, t, r, n, i, o, a);\n}, mo.prototype._write = function (e, t, r, n, i, o, a) {\n if (this.write_in_progress = !0, 0 !== e && 1 !== e && 2 !== e && 3 !== e && 4 !== e && 5 !== e) throw new Error(\"Invalid flush value\");\n null == t && (t = new p(0), n = 0, r = 0), i._set ? i.set = i._set : i.set = ko;\n var s,\n h = this.strm;\n switch (h.avail_in = n, h.input = t, h.next_in = r, h.avail_out = a, h.output = i, h.next_out = o, this.mode) {\n case bo:\n case 3:\n case 5:\n s = Qn(h, e);\n break;\n case yo:\n case 2:\n case 4:\n case 6:\n s = vo(h, e);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n return 1 !== s && 0 !== s && this._error(s), this.write_in_progress = !1, [h.avail_in, h.avail_out];\n}, mo.prototype.close = function () {\n this.write_in_progress ? this.pending_close = !0 : (this.pending_close = !1, this.mode === bo || 3 === this.mode || 5 === this.mode ? function (e) {\n var t;\n e && e.state && ((t = e.state.status) !== An && t !== Bn && t !== zn && t !== Ln && t !== Tn && t !== Mn && t !== Cn ? Hn(e, sn) : (e.state = null, t === Mn && Hn(e, hn)));\n }(this.strm) : function (e) {\n if (!e || !e.state) return Ei;\n var t = e.state;\n t.window && (t.window = null), e.state = null;\n }(this.strm), this.mode = 0);\n}, mo.prototype.reset = function () {\n switch (this.mode) {\n case bo:\n case 5:\n wo = Jn(this.strm);\n break;\n case 2:\n case 6:\n wo = fo(this.strm);\n }\n 0 !== wo && this._error(wo);\n}, mo.prototype._error = function (e) {\n this.onerror(Nt[e] + \": \" + this.strm.msg, e), this.write_in_progress = !1, this.pending_close && this.close();\n};\nvar Eo = Object.freeze({\n NONE: 0,\n DEFLATE: bo,\n INFLATE: 2,\n GZIP: 3,\n GUNZIP: 4,\n DEFLATERAW: 5,\n INFLATERAW: 6,\n UNZIP: yo,\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n Z_BUF_ERROR: -5,\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n Z_BINARY: 0,\n Z_TEXT: 1,\n Z_UNKNOWN: 2,\n Z_DEFLATED: 8,\n Zlib: mo\n});\nvar So = {};\nObject.keys(Eo).forEach(function (e) {\n So[e] = Eo[e];\n}), So.Z_MIN_WINDOWBITS = 8, So.Z_MAX_WINDOWBITS = 15, So.Z_DEFAULT_WINDOWBITS = 15, So.Z_MIN_CHUNK = 64, So.Z_MAX_CHUNK = 1 / 0, So.Z_DEFAULT_CHUNK = 16384, So.Z_MIN_MEMLEVEL = 1, So.Z_MAX_MEMLEVEL = 9, So.Z_DEFAULT_MEMLEVEL = 8, So.Z_MIN_LEVEL = -1, So.Z_MAX_LEVEL = 9, So.Z_DEFAULT_LEVEL = So.Z_DEFAULT_COMPRESSION;\nvar xo = {\n Z_OK: So.Z_OK,\n Z_STREAM_END: So.Z_STREAM_END,\n Z_NEED_DICT: So.Z_NEED_DICT,\n Z_ERRNO: So.Z_ERRNO,\n Z_STREAM_ERROR: So.Z_STREAM_ERROR,\n Z_DATA_ERROR: So.Z_DATA_ERROR,\n Z_MEM_ERROR: So.Z_MEM_ERROR,\n Z_BUF_ERROR: So.Z_BUF_ERROR,\n Z_VERSION_ERROR: So.Z_VERSION_ERROR\n};\nfunction Ro(e, t, r) {\n var n = [],\n i = 0;\n function o() {\n for (var t; null !== (t = e.read());) {\n n.push(t), i += t.length;\n }\n e.once(\"readable\", o);\n }\n function a() {\n var t = p.concat(n, i);\n n = [], r(null, t), e.close();\n }\n e.on(\"error\", function (t) {\n e.removeListener(\"end\", a), e.removeListener(\"readable\", o), r(t);\n }), e.on(\"end\", a), e.end(t), o();\n}\nfunction Ao(e, t) {\n if (\"string\" == typeof t && (t = new p(t)), !$(t)) throw new TypeError(\"Not a string or buffer\");\n var r = So.Z_FINISH;\n return e._processChunk(t, r);\n}\nfunction Bo(e) {\n if (!(this instanceof Bo)) return new Bo(e);\n Io.call(this, e, So.DEFLATE);\n}\nfunction zo(e) {\n if (!(this instanceof zo)) return new zo(e);\n Io.call(this, e, So.INFLATE);\n}\nfunction Lo(e) {\n if (!(this instanceof Lo)) return new Lo(e);\n Io.call(this, e, So.GZIP);\n}\nfunction To(e) {\n if (!(this instanceof To)) return new To(e);\n Io.call(this, e, So.GUNZIP);\n}\nfunction Mo(e) {\n if (!(this instanceof Mo)) return new Mo(e);\n Io.call(this, e, So.DEFLATERAW);\n}\nfunction Co(e) {\n if (!(this instanceof Co)) return new Co(e);\n Io.call(this, e, So.INFLATERAW);\n}\nfunction Do(e) {\n if (!(this instanceof Do)) return new Do(e);\n Io.call(this, e, So.UNZIP);\n}\nfunction Io(e, t) {\n if (this._opts = e = e || {}, this._chunkSize = e.chunkSize || So.Z_DEFAULT_CHUNK, Ot.call(this, e), e.flush && e.flush !== So.Z_NO_FLUSH && e.flush !== So.Z_PARTIAL_FLUSH && e.flush !== So.Z_SYNC_FLUSH && e.flush !== So.Z_FULL_FLUSH && e.flush !== So.Z_FINISH && e.flush !== So.Z_BLOCK) throw new Error(\"Invalid flush flag: \" + e.flush);\n if (this._flushFlag = e.flush || So.Z_NO_FLUSH, e.chunkSize && (e.chunkSize < So.Z_MIN_CHUNK || e.chunkSize > So.Z_MAX_CHUNK)) throw new Error(\"Invalid chunk size: \" + e.chunkSize);\n if (e.windowBits && (e.windowBits < So.Z_MIN_WINDOWBITS || e.windowBits > So.Z_MAX_WINDOWBITS)) throw new Error(\"Invalid windowBits: \" + e.windowBits);\n if (e.level && (e.level < So.Z_MIN_LEVEL || e.level > So.Z_MAX_LEVEL)) throw new Error(\"Invalid compression level: \" + e.level);\n if (e.memLevel && (e.memLevel < So.Z_MIN_MEMLEVEL || e.memLevel > So.Z_MAX_MEMLEVEL)) throw new Error(\"Invalid memLevel: \" + e.memLevel);\n if (e.strategy && e.strategy != So.Z_FILTERED && e.strategy != So.Z_HUFFMAN_ONLY && e.strategy != So.Z_RLE && e.strategy != So.Z_FIXED && e.strategy != So.Z_DEFAULT_STRATEGY) throw new Error(\"Invalid strategy: \" + e.strategy);\n if (e.dictionary && !$(e.dictionary)) throw new Error(\"Invalid dictionary: it should be a Buffer instance\");\n this._binding = new So.Zlib(t);\n var r = this;\n this._hadError = !1, this._binding.onerror = function (e, t) {\n r._binding = null, r._hadError = !0;\n var n = new Error(e);\n n.errno = t, n.code = So.codes[t], r.emit(\"error\", n);\n };\n var n = So.Z_DEFAULT_COMPRESSION;\n \"number\" == typeof e.level && (n = e.level);\n var i = So.Z_DEFAULT_STRATEGY;\n \"number\" == typeof e.strategy && (i = e.strategy), this._binding.init(e.windowBits || So.Z_DEFAULT_WINDOWBITS, n, e.memLevel || So.Z_DEFAULT_MEMLEVEL, i, e.dictionary), this._buffer = new p(this._chunkSize), this._offset = 0, this._closed = !1, this._level = n, this._strategy = i, this.once(\"end\", this.close);\n}\nObject.keys(xo).forEach(function (e) {\n xo[xo[e]] = e;\n}), Be(Io, Ot), Io.prototype.params = function (e, t, r) {\n if (e < So.Z_MIN_LEVEL || e > So.Z_MAX_LEVEL) throw new RangeError(\"Invalid compression level: \" + e);\n if (t != So.Z_FILTERED && t != So.Z_HUFFMAN_ONLY && t != So.Z_RLE && t != So.Z_FIXED && t != So.Z_DEFAULT_STRATEGY) throw new TypeError(\"Invalid strategy: \" + t);\n if (this._level !== e || this._strategy !== t) {\n var n = this;\n this.flush(So.Z_SYNC_FLUSH, function () {\n n._binding.params(e, t), n._hadError || (n._level = e, n._strategy = t, r && r());\n });\n } else de(r);\n}, Io.prototype.reset = function () {\n return this._binding.reset();\n}, Io.prototype._flush = function (e) {\n this._transform(new p(0), \"\", e);\n}, Io.prototype.flush = function (e, t) {\n var r = this._writableState;\n if ((\"function\" == typeof e || void 0 === e && !t) && (t = e, e = So.Z_FULL_FLUSH), r.ended) t && de(t);else if (r.ending) t && this.once(\"end\", t);else if (r.needDrain) {\n var n = this;\n this.once(\"drain\", function () {\n n.flush(t);\n });\n } else this._flushFlag = e, this.write(new p(0), \"\", t);\n}, Io.prototype.close = function (e) {\n if (e && de(e), !this._closed) {\n this._closed = !0, this._binding.close();\n var t = this;\n de(function () {\n t.emit(\"close\");\n });\n }\n}, Io.prototype._transform = function (e, t, r) {\n var n,\n i = this._writableState,\n o = (i.ending || i.ended) && (!e || i.length === e.length);\n if (null === !e && !$(e)) return r(new Error(\"invalid input\"));\n o ? n = So.Z_FINISH : (n = this._flushFlag, e.length >= i.length && (this._flushFlag = this._opts.flush || So.Z_NO_FLUSH)), this._processChunk(e, n, r);\n}, Io.prototype._processChunk = function (e, t, r) {\n var n = e && e.length,\n i = this._chunkSize - this._offset,\n o = 0,\n a = this,\n s = \"function\" == typeof r;\n if (!s) {\n var h,\n l = [],\n f = 0;\n this.on(\"error\", function (e) {\n h = e;\n });\n do {\n var c = this._binding.writeSync(t, e, o, n, this._buffer, this._offset, i);\n } while (!this._hadError && _(c[0], c[1]));\n if (this._hadError) throw h;\n var u = p.concat(l, f);\n return this.close(), u;\n }\n var d = this._binding.write(t, e, o, n, this._buffer, this._offset, i);\n function _(h, c) {\n if (!a._hadError) {\n var u = i - c;\n if (function (e, t) {\n if (!e) throw new Error(t);\n }(u >= 0, \"have should not go down\"), u > 0) {\n var d = a._buffer.slice(a._offset, a._offset + u);\n a._offset += u, s ? a.push(d) : (l.push(d), f += d.length);\n }\n if ((0 === c || a._offset >= a._chunkSize) && (i = a._chunkSize, a._offset = 0, a._buffer = new p(a._chunkSize)), 0 === c) {\n if (o += n - h, n = h, !s) return !0;\n var g = a._binding.write(t, e, o, n, a._buffer, a._offset, a._chunkSize);\n return g.callback = _, void (g.buffer = e);\n }\n if (!s) return !1;\n r();\n }\n }\n d.buffer = e, d.callback = _;\n}, Be(Bo, Io), Be(zo, Io), Be(Lo, Io), Be(To, Io), Be(Mo, Io), Be(Co, Io), Be(Do, Io);\nvar Po = {\n codes: xo,\n createDeflate: function createDeflate(e) {\n return new Bo(e);\n },\n createInflate: function createInflate(e) {\n return new zo(e);\n },\n createDeflateRaw: function createDeflateRaw(e) {\n return new Mo(e);\n },\n createInflateRaw: function createInflateRaw(e) {\n return new Co(e);\n },\n createGzip: function createGzip(e) {\n return new Lo(e);\n },\n createGunzip: function createGunzip(e) {\n return new To(e);\n },\n createUnzip: function createUnzip(e) {\n return new Do(e);\n },\n deflate: function deflate(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new Bo(t), e, r);\n },\n deflateSync: function deflateSync(e, t) {\n return Ao(new Bo(t), e);\n },\n gzip: function gzip(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new Lo(t), e, r);\n },\n gzipSync: function gzipSync(e, t) {\n return Ao(new Lo(t), e);\n },\n deflateRaw: function deflateRaw(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new Mo(t), e, r);\n },\n deflateRawSync: function deflateRawSync(e, t) {\n return Ao(new Mo(t), e);\n },\n unzip: function unzip(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new Do(t), e, r);\n },\n unzipSync: function unzipSync(e, t) {\n return Ao(new Do(t), e);\n },\n inflate: function inflate(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new zo(t), e, r);\n },\n inflateSync: function inflateSync(e, t) {\n return Ao(new zo(t), e);\n },\n gunzip: function gunzip(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new To(t), e, r);\n },\n gunzipSync: function gunzipSync(e, t) {\n return Ao(new To(t), e);\n },\n inflateRaw: function inflateRaw(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new Co(t), e, r);\n },\n inflateRawSync: function inflateRawSync(e, t) {\n return Ao(new Co(t), e);\n },\n Deflate: Bo,\n Inflate: zo,\n Gzip: Lo,\n Gunzip: To,\n DeflateRaw: Mo,\n InflateRaw: Co,\n Unzip: Do,\n Zlib: Io\n};\nvar _default = /*#__PURE__*/function () {\n function _default(e, t, r) {\n (0, _classCallCheck2.default)(this, _default);\n this.SDKAPPID = e, this.EXPIRETIME = r, this.PRIVATEKEY = t;\n }\n (0, _createClass2.default)(_default, [{\n key: \"genTestUserSig\",\n value: function genTestUserSig(e) {\n return this._isNumber(this.SDKAPPID) ? this._isString(this.PRIVATEKEY) ? this._isString(e) ? this._isNumber(this.EXPIRETIME) ? (__f__(\"log\", \"sdkAppID=\" + this.SDKAPPID + \" key=\" + this.PRIVATEKEY + \" userID=\" + e + \" expire=\" + this.EXPIRETIME, \" at debug/lib-generate-test-usersig-es.min.js:6138\"), this.genSigWithUserbuf(e, this.EXPIRETIME, null)) : (__f__(\"error\", \"expireTime must be a number\", \" at debug/lib-generate-test-usersig-es.min.js:6138\"), \"\") : (__f__(\"error\", \"userID must be a string\", \" at debug/lib-generate-test-usersig-es.min.js:6138\"), \"\") : (__f__(\"error\", \"privateKey must be a string\", \" at debug/lib-generate-test-usersig-es.min.js:6138\"), \"\") : (__f__(\"error\", \"sdkAppID must be a number\", \" at debug/lib-generate-test-usersig-es.min.js:6138\"), \"\");\n }\n }, {\n key: \"newBuffer\",\n value: function newBuffer(e, t) {\n return p.from ? p.from(e, t) : new p(e, t);\n }\n }, {\n key: \"unescape\",\n value: function unescape(e) {\n return e.replace(/_/g, \"=\").replace(/\\-/g, \"/\").replace(/\\*/g, \"+\");\n }\n }, {\n key: \"escape\",\n value: function escape(e) {\n return e.replace(/\\+/g, \"*\").replace(/\\//g, \"-\").replace(/=/g, \"_\");\n }\n }, {\n key: \"encode\",\n value: function encode(e) {\n return this.escape(this.newBuffer(e).toString(\"base64\"));\n }\n }, {\n key: \"decode\",\n value: function decode(e) {\n return this.newBuffer(this.unescape(e), \"base64\");\n }\n }, {\n key: \"base64encode\",\n value: function base64encode(e) {\n return this.newBuffer(e).toString(\"base64\");\n }\n }, {\n key: \"base64decode\",\n value: function base64decode(e) {\n return this.newBuffer(e, \"base64\").toString();\n }\n }, {\n key: \"_hmacsha256\",\n value: function _hmacsha256(e, t, r, n) {\n var i = \"TLS.identifier:\" + e + \"\\n\";\n i += \"TLS.sdkappid:\" + this.SDKAPPID + \"\\n\", i += \"TLS.time:\" + t + \"\\n\", i += \"TLS.expire:\" + r + \"\\n\", null != n && (i += \"TLS.userbuf:\" + n + \"\\n\");\n var o = te.HmacSHA256(i, this.PRIVATEKEY);\n return te.enc.Base64.stringify(o);\n }\n }, {\n key: \"_utc\",\n value: function _utc() {\n return Math.round(Date.now() / 1e3);\n }\n }, {\n key: \"_isNumber\",\n value: function _isNumber(e) {\n return null !== e && (\"number\" == typeof e && !isNaN(e - 0) || \"object\" == (0, _typeof2.default)(e) && e.constructor === Number);\n }\n }, {\n key: \"_isString\",\n value: function _isString(e) {\n return \"string\" == typeof e;\n }\n }, {\n key: \"genSigWithUserbuf\",\n value: function genSigWithUserbuf(e, t, r) {\n var n = this._utc(),\n i = {\n \"TLS.ver\": \"2.0\",\n \"TLS.identifier\": e,\n \"TLS.sdkappid\": this.SDKAPPID,\n \"TLS.time\": n,\n \"TLS.expire\": t\n },\n o = \"\";\n if (null != r) {\n var _a = this.base64encode(r);\n i[\"TLS.userbuf\"] = _a, o = this._hmacsha256(e, n, t, _a);\n } else o = this._hmacsha256(e, n, t, null);\n i[\"TLS.sig\"] = o;\n var a = JSON.stringify(i),\n s = Po.deflateSync(this.newBuffer(a)).toString(\"base64\"),\n h = this.escape(s);\n return __f__(\"log\", \"ret=\" + h, \" at debug/lib-generate-test-usersig-es.min.js:6208\"), h;\n }\n }, {\n key: \"validate\",\n value: function validate(e) {\n var t = this.decode(e),\n r = Po.inflateSync(t);\n __f__(\"log\", \"validate ret=\" + r, \" at debug/lib-generate-test-usersig-es.min.js:6214\");\n }\n }]);\n return _default;\n}();\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! (webpack)/buildin/global.js */ 77), __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 33)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vZGVidWcvbGliLWdlbmVyYXRlLXRlc3QtdXNlcnNpZy1lcy5taW4uanMiXSwibmFtZXMiOlsiZSIsImdsb2JhbCIsInNlbGYiLCJ3aW5kb3ciLCJ0IiwiciIsIm4iLCJVaW50OEFycmF5IiwiQXJyYXkiLCJpIiwibyIsImxlbmd0aCIsImNoYXJDb2RlQXQiLCJhIiwicyIsInB1c2giLCJqb2luIiwiaCIsImwiLCJmIiwiYyIsInUiLCJkIiwiTmFOIiwiTWF0aCIsInBvdyIsInAiLCJfIiwiYWJzIiwiaXNOYU4iLCJmbG9vciIsImxvZyIsIkxOMiIsInRvU3RyaW5nIiwiaXNBcnJheSIsImNhbGwiLCJUWVBFRF9BUlJBWV9TVVBQT1JUIiwiUmFuZ2VFcnJvciIsIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsIkVycm9yIiwidiIsIlR5cGVFcnJvciIsIkFycmF5QnVmZmVyIiwiYnl0ZUxlbmd0aCIsInciLCJpc0VuY29kaW5nIiwibSIsIndyaXRlIiwic2xpY2UiLCJ5IiwiYiIsImNvcHkiLCJidWZmZXIiLCJ0eXBlIiwiZGF0YSIsImciLCJfaXNCdWZmZXIiLCJpc1ZpZXciLCJxIiwiViIsInRvTG93ZXJDYXNlIiwiayIsIk8iLCJDIiwiSSIsIlAiLCJNIiwiVSIsIkUiLCJTIiwiZnJvbSIsIngiLCJpbmRleE9mIiwibGFzdEluZGV4T2YiLCJTdHJpbmciLCJyZWFkVUludDE2QkUiLCJSIiwiTnVtYmVyIiwicGFyc2VJbnQiLCJzdWJzdHIiLCJBIiwiRyIsIkIiLCJ6IiwiTCIsIlQiLCJtaW4iLCJEIiwiZnJvbUNoYXJDb2RlIiwiYXBwbHkiLCJwb29sU2l6ZSIsIl9hdWdtZW50IiwiYWxsb2MiLCJmaWxsIiwiYWxsb2NVbnNhZmUiLCJhbGxvY1Vuc2FmZVNsb3ciLCJpc0J1ZmZlciIsIiQiLCJjb21wYXJlIiwiY29uY2F0Iiwic3dhcDE2Iiwic3dhcDMyIiwic3dhcDY0IiwiYXJndW1lbnRzIiwiZXF1YWxzIiwiaW5zcGVjdCIsIm1hdGNoIiwiaW5jbHVkZXMiLCJpc0Zpbml0ZSIsInRvSlNPTiIsIl9hcnIiLCJYIiwiSCIsIkYiLCJOIiwiWiIsImoiLCJXIiwiWSIsInN1YmFycmF5IiwicmVhZFVJbnRMRSIsInJlYWRVSW50QkUiLCJyZWFkVUludDgiLCJyZWFkVUludDE2TEUiLCJyZWFkVUludDMyTEUiLCJyZWFkVUludDMyQkUiLCJyZWFkSW50TEUiLCJyZWFkSW50QkUiLCJyZWFkSW50OCIsInJlYWRJbnQxNkxFIiwicmVhZEludDE2QkUiLCJyZWFkSW50MzJMRSIsInJlYWRJbnQzMkJFIiwicmVhZEZsb2F0TEUiLCJyZWFkRmxvYXRCRSIsInJlYWREb3VibGVMRSIsInJlYWREb3VibGVCRSIsIndyaXRlVUludExFIiwid3JpdGVVSW50QkUiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVVSW50MTZMRSIsIndyaXRlVUludDE2QkUiLCJ3cml0ZVVJbnQzMkxFIiwid3JpdGVVSW50MzJCRSIsIndyaXRlSW50TEUiLCJ3cml0ZUludEJFIiwid3JpdGVJbnQ4Iiwid3JpdGVJbnQxNkxFIiwid3JpdGVJbnQxNkJFIiwid3JpdGVJbnQzMkxFIiwid3JpdGVJbnQzMkJFIiwid3JpdGVGbG9hdExFIiwid3JpdGVGbG9hdEJFIiwid3JpdGVEb3VibGVMRSIsIndyaXRlRG91YmxlQkUiLCJzZXQiLCJLIiwidHJpbSIsInJlcGxhY2UiLCJKIiwiY29uc3RydWN0b3IiLCJnbG9iYWxUaGlzIiwiUSIsImV4cG9ydHMiLCJlZSIsIk9iamVjdCIsImNyZWF0ZSIsImxpYiIsIkJhc2UiLCJleHRlbmQiLCJtaXhJbiIsImhhc093blByb3BlcnR5IiwiaW5pdCIsIiRzdXBlciIsImNsb25lIiwiV29yZEFycmF5Iiwid29yZHMiLCJzaWdCeXRlcyIsInN0cmluZ2lmeSIsImNsYW1wIiwiY2VpbCIsInJhbmRvbSIsImVuYyIsIkhleCIsInBhcnNlIiwiTGF0aW4xIiwiVXRmOCIsImRlY29kZVVSSUNvbXBvbmVudCIsImVzY2FwZSIsInVuZXNjYXBlIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiQnVmZmVyZWRCbG9ja0FsZ29yaXRobSIsInJlc2V0IiwiX2RhdGEiLCJfbkRhdGFCeXRlcyIsIl9hcHBlbmQiLCJfcHJvY2VzcyIsImJsb2NrU2l6ZSIsIm1heCIsIl9taW5CdWZmZXJTaXplIiwiX2RvUHJvY2Vzc0Jsb2NrIiwic3BsaWNlIiwiSGFzaGVyIiwiY2ZnIiwiX2RvUmVzZXQiLCJ1cGRhdGUiLCJmaW5hbGl6ZSIsIl9kb0ZpbmFsaXplIiwiX2NyZWF0ZUhlbHBlciIsIl9jcmVhdGVIbWFjSGVscGVyIiwiSE1BQyIsImFsZ28iLCJ0ZSIsIng2NCIsIldvcmQiLCJoaWdoIiwibG93IiwidG9YMzIiLCJJbnQ4QXJyYXkiLCJVaW50OENsYW1wZWRBcnJheSIsIkludDE2QXJyYXkiLCJVaW50MTZBcnJheSIsIkludDMyQXJyYXkiLCJVaW50MzJBcnJheSIsIkZsb2F0MzJBcnJheSIsIkZsb2F0NjRBcnJheSIsImJ5dGVPZmZzZXQiLCJVdGYxNiIsIlV0ZjE2QkUiLCJVdGYxNkxFIiwiQmFzZTY0IiwiX21hcCIsImNoYXJBdCIsIl9yZXZlcnNlTWFwIiwic2luIiwiTUQ1IiwiX2hhc2giLCJIbWFjTUQ1IiwiU0hBMSIsIkhtYWNTSEExIiwic3FydCIsIlNIQTI1NiIsIkhtYWNTSEEyNTYiLCJTSEEyMjQiLCJIbWFjU0hBMjI0IiwiU0hBNTEyIiwicmUiLCJuZSIsImllIiwib2UiLCJhZSIsInNlIiwiaGUiLCJsZSIsImZlIiwiY2UiLCJ1ZSIsImRlIiwicGUiLCJfZSIsImdlIiwidmUiLCJ3ZSIsImJlIiwieWUiLCJtZSIsImtlIiwiRWUiLCJTZSIsIkhtYWNTSEE1MTIiLCJTSEEzODQiLCJIbWFjU0hBMzg0IiwiU0hBMyIsIm91dHB1dExlbmd0aCIsIl9zdGF0ZSIsIkhtYWNTSEEzIiwiUklQRU1EMTYwIiwiSG1hY1JJUEVNRDE2MCIsIl9oYXNoZXIiLCJfb0tleSIsIl9pS2V5IiwiUEJLREYyIiwia2V5U2l6ZSIsImhhc2hlciIsIml0ZXJhdGlvbnMiLCJjb21wdXRlIiwiRXZwS0RGIiwiQ2lwaGVyIiwiY3JlYXRlRW5jcnlwdG9yIiwiX0VOQ19YRk9STV9NT0RFIiwiY3JlYXRlRGVjcnlwdG9yIiwiX0RFQ19YRk9STV9NT0RFIiwiX3hmb3JtTW9kZSIsIl9rZXkiLCJwcm9jZXNzIiwiaXZTaXplIiwiZW5jcnlwdCIsImRlY3J5cHQiLCJTdHJlYW1DaXBoZXIiLCJtb2RlIiwiQmxvY2tDaXBoZXJNb2RlIiwiRW5jcnlwdG9yIiwiRGVjcnlwdG9yIiwiX2NpcGhlciIsIl9pdiIsIkNCQyIsIl9wcmV2QmxvY2siLCJwcm9jZXNzQmxvY2siLCJlbmNyeXB0QmxvY2siLCJkZWNyeXB0QmxvY2siLCJwYWQiLCJQa2NzNyIsInVucGFkIiwiQmxvY2tDaXBoZXIiLCJwYWRkaW5nIiwiaXYiLCJfbW9kZSIsIl9fY3JlYXRvciIsIkNpcGhlclBhcmFtcyIsImZvcm1hdHRlciIsImZvcm1hdCIsIk9wZW5TU0wiLCJjaXBoZXJ0ZXh0Iiwic2FsdCIsIlNlcmlhbGl6YWJsZUNpcGhlciIsImtleSIsImFsZ29yaXRobSIsIl9wYXJzZSIsImtkZiIsImV4ZWN1dGUiLCJQYXNzd29yZEJhc2VkQ2lwaGVyIiwiQ0ZCIiwiQ1RSIiwiX2NvdW50ZXIiLCJDVFJHbGFkbWFuIiwiT0ZCIiwiX2tleXN0cmVhbSIsIkVDQiIsIkFuc2lYOTIzIiwiQW5zaXg5MjMiLCJJc28xMDEyNiIsIklzbzk3OTcxIiwiWmVyb1BhZGRpbmciLCJOb1BhZGRpbmciLCJBRVMiLCJfblJvdW5kcyIsIl9rZXlQcmlvclJlc2V0IiwiX2tleVNjaGVkdWxlIiwiX2ludktleVNjaGVkdWxlIiwiX2RvQ3J5cHRCbG9jayIsIkRFUyIsIl9zdWJLZXlzIiwiX2ludlN1YktleXMiLCJfbEJsb2NrIiwiX3JCbG9jayIsIlRyaXBsZURFUyIsIl9kZXMxIiwiX2RlczIiLCJfZGVzMyIsIlJDNCIsIl9TIiwiX2kiLCJfaiIsIlJDNERyb3AiLCJkcm9wIiwiUmFiYml0IiwiX1giLCJfQyIsIl9iIiwiUmFiYml0TGVnYWN5Iiwic2V0VGltZW91dCIsImNsZWFyVGltZW91dCIsInJ1biIsImZ1biIsImFycmF5IiwicGVyZm9ybWFuY2UiLCJub3ciLCJtb3pOb3ciLCJtc05vdyIsIm9Ob3ciLCJ3ZWJraXROb3ciLCJfbWF4TGlzdGVuZXJzIiwiZGVmYXVsdE1heExpc3RlbmVycyIsIkFlIiwiX2V2ZW50cyIsIm5ld0xpc3RlbmVyIiwiZW1pdCIsImxpc3RlbmVyIiwiX2V2ZW50c0NvdW50IiwidW5zaGlmdCIsIndhcm5lZCIsIm5hbWUiLCJlbWl0dGVyIiwiY291bnQiLCJjb25zb2xlIiwid2FybiIsInhlIiwicmVtb3ZlTGlzdGVuZXIiLCJSZSIsIkV2ZW50RW1pdHRlciIsInVzaW5nRG9tYWlucyIsImRvbWFpbiIsImFjdGl2ZSIsIkRvbWFpbiIsImdldFByb3RvdHlwZU9mIiwic2V0TWF4TGlzdGVuZXJzIiwiZ2V0TWF4TGlzdGVuZXJzIiwiZXJyb3IiLCJjb250ZXh0IiwiZG9tYWluRW1pdHRlciIsImRvbWFpblRocm93biIsImFkZExpc3RlbmVyIiwib24iLCJwcmVwZW5kTGlzdGVuZXIiLCJvbmNlIiwicHJlcGVuZE9uY2VMaXN0ZW5lciIsInBvcCIsInJlbW92ZUFsbExpc3RlbmVycyIsImtleXMiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lckNvdW50IiwiZXZlbnROYW1lcyIsIlJlZmxlY3QiLCJvd25LZXlzIiwiQmUiLCJzdXBlcl8iLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImNvbmZpZ3VyYWJsZSIsInplIiwiTGUiLCJaZSIsIkRlIiwiSlNPTiIsIk5lIiwiWWUiLCJUZSIsImplIiwiTWUiLCJDZSIsInNlZW4iLCJzdHlsaXplIiwiUGUiLCJkZXB0aCIsImNvbG9ycyIsIkZlIiwic2hvd0hpZGRlbiIsImN1c3RvbUluc3BlY3QiLCJJZSIsIk9lIiwic3R5bGVzIiwicWUiLCJmb3JFYWNoIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsIlhlIiwiVWUiLCJXZSIsIlJlZ0V4cCIsIktlIiwiRGF0ZSIsInRvVVRDU3RyaW5nIiwiR2UiLCJIZSIsIm1hcCIsInJlZHVjZSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImdldCIsInNwbGl0IiwiVmUiLCIkZSIsImhlYWQiLCJ0YWlsIiwiYm9sZCIsIml0YWxpYyIsInVuZGVybGluZSIsImludmVyc2UiLCJ3aGl0ZSIsImdyZXkiLCJibGFjayIsImJsdWUiLCJjeWFuIiwiZ3JlZW4iLCJtYWdlbnRhIiwicmVkIiwieWVsbG93Iiwic3BlY2lhbCIsIm51bWJlciIsImJvb2xlYW4iLCJ1bmRlZmluZWQiLCJudWxsIiwic3RyaW5nIiwiZGF0ZSIsInJlZ2V4cCIsIm5leHQiLCJzaGlmdCIsImNsZWFyIiwiSmUiLCJRZSIsImVuY29kaW5nIiwic3Vycm9nYXRlU2l6ZSIsImRldGVjdEluY29tcGxldGVDaGFyIiwidHQiLCJydCIsImV0IiwiY2hhckJ1ZmZlciIsImNoYXJSZWNlaXZlZCIsImNoYXJMZW5ndGgiLCJzdWJzdHJpbmciLCJlbmQiLCJvdCIsIlJlYWRhYmxlU3RhdGUiLCJpdCIsIm50IiwidG9VcHBlckNhc2UiLCJ0ZXN0Iiwib2JqZWN0TW9kZSIsIkN0IiwicmVhZGFibGVPYmplY3RNb2RlIiwiaGlnaFdhdGVyTWFyayIsInBpcGVzIiwicGlwZXNDb3VudCIsImZsb3dpbmciLCJlbmRlZCIsImVuZEVtaXR0ZWQiLCJyZWFkaW5nIiwic3luYyIsIm5lZWRSZWFkYWJsZSIsImVtaXR0ZWRSZWFkYWJsZSIsInJlYWRhYmxlTGlzdGVuaW5nIiwicmVzdW1lU2NoZWR1bGVkIiwiZGVmYXVsdEVuY29kaW5nIiwicmFuT3V0IiwiYXdhaXREcmFpbiIsInJlYWRpbmdNb3JlIiwiZGVjb2RlciIsIl9yZWFkYWJsZVN0YXRlIiwicmVhZGFibGUiLCJyZWFkIiwiX3JlYWQiLCJhdCIsImx0IiwiY3QiLCJpc1BhdXNlZCIsInNldEVuY29kaW5nIiwic3QiLCJodCIsImZ0IiwicHQiLCJ1dCIsImR0IiwiX3QiLCJndCIsInZ0Iiwid3QiLCJidCIsInl0IiwiY2h1bmsiLCJjYWxsYmFjayIsIm10IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRCdWZmZXIiLCJ3cml0YWJsZU9iamVjdE1vZGUiLCJuZWVkRHJhaW4iLCJlbmRpbmciLCJmaW5pc2hlZCIsImRlY29kZVN0cmluZ3MiLCJ3cml0aW5nIiwiY29ya2VkIiwiYnVmZmVyUHJvY2Vzc2luZyIsIm9ud3JpdGUiLCJfd3JpdGFibGVTdGF0ZSIsIndyaXRlY2IiLCJ3cml0ZWxlbiIsInBlbmRpbmdjYiIsImVycm9yRW1pdHRlZCIsIlJ0IiwiYnVmZmVyZWRSZXF1ZXN0IiwieHQiLCJTdCIsImxhc3RCdWZmZXJlZFJlcXVlc3QiLCJwcmVmaW5pc2hlZCIsImJ1ZmZlcmVkUmVxdWVzdENvdW50IiwiY29ya2VkUmVxdWVzdHNGcmVlIiwienQiLCJrdCIsIl93cml0ZSIsIndyaXRldiIsIl93cml0ZXYiLCJFdCIsIkJ0IiwiZW50cnkiLCJmaW5pc2giLCJBdCIsInBpcGUiLCJwYXVzZSIsInVucGlwZSIsInJlc3VtZSIsIndyYXAiLCJiaW5kIiwiX2Zyb21MaXN0IiwiV3JpdGFibGVTdGF0ZSIsImNvcmsiLCJ1bmNvcmsiLCJzZXREZWZhdWx0RW5jb2RpbmciLCJMdCIsIlR0IiwiTXQiLCJhbGxvd0hhbGZPcGVuIiwiRHQiLCJJdCIsIlB0IiwiYWZ0ZXJUcmFuc2Zvcm0iLCJfdHJhbnNmb3JtU3RhdGUiLCJ0cmFuc2Zvcm1pbmciLCJ3cml0ZWNodW5rIiwibmVlZFRyYW5zZm9ybSIsIndyaXRlZW5jb2RpbmciLCJPdCIsInRyYW5zZm9ybSIsIl90cmFuc2Zvcm0iLCJmbHVzaCIsIl9mbHVzaCIsIlV0IiwiSHQiLCJGdCIsIlJlYWRhYmxlIiwiV3JpdGFibGUiLCJEdXBsZXgiLCJUcmFuc2Zvcm0iLCJQYXNzVGhyb3VnaCIsIlN0cmVhbSIsIl9pc1N0ZGlvIiwiZGVzdHJveSIsIk50IiwiWnQiLCJpbnB1dCIsIm5leHRfaW4iLCJhdmFpbF9pbiIsInRvdGFsX2luIiwib3V0cHV0IiwibmV4dF9vdXQiLCJhdmFpbF9vdXQiLCJ0b3RhbF9vdXQiLCJtc2ciLCJzdGF0ZSIsImRhdGFfdHlwZSIsImFkbGVyIiwianQiLCJXdCIsIll0IiwiS3QiLCJYdCIsInF0IiwiVnQiLCJHdCIsIiR0IiwiSnQiLCJRdCIsImVyIiwidHIiLCJyciIsIm5yIiwiaXIiLCJvciIsImFyIiwic3IiLCJociIsImxyIiwiZnIiLCJjciIsInVyIiwiZHIiLCJwciIsIl9yIiwiZ3IiLCJ2ciIsIndyIiwiYnIiLCJ5ciIsIm1yIiwia3IiLCJFciIsIlNyIiwieHIiLCJSciIsIkFyIiwic3RhdGljX3RyZWUiLCJleHRyYV9iaXRzIiwiZXh0cmFfYmFzZSIsImVsZW1zIiwibWF4X2xlbmd0aCIsImhhc19zdHJlZSIsIkJyIiwiZHluX3RyZWUiLCJtYXhfY29kZSIsInN0YXRfZGVzYyIsInpyIiwiTHIiLCJwZW5kaW5nX2J1ZiIsInBlbmRpbmciLCJUciIsImJpX3ZhbGlkIiwiYmlfYnVmIiwiTXIiLCJDciIsIkRyIiwiSXIiLCJkeW5fbHRyZWUiLCJkeW5fZHRyZWUiLCJibF90cmVlIiwib3B0X2xlbiIsInN0YXRpY19sZW4iLCJsYXN0X2xpdCIsIm1hdGNoZXMiLCJQciIsIk9yIiwiVXIiLCJoZWFwIiwiaGVhcF9sZW4iLCJIciIsImRfYnVmIiwibF9idWYiLCJGciIsImhlYXBfbWF4IiwiYmxfY291bnQiLCJOciIsIlpyIiwianIiLCJXciIsImxfZGVzYyIsImRfZGVzYyIsImJsX2Rlc2MiLCJZciIsIktyIiwiWHIiLCJsZXZlbCIsInN0cm0iLCJzdHJhdGVneSIsInFyIiwibGl0X2J1ZnNpemUiLCJWciIsIkdyIiwiJHIiLCJKciIsIlFyIiwiZW4iLCJ0biIsInJuIiwibm4iLCJhbiIsInNuIiwiaG4iLCJsbiIsImZuIiwiY24iLCJ1biIsImRuIiwicG4iLCJfbiIsImduIiwidm4iLCJ3biIsImJuIiwieW4iLCJtbiIsImtuIiwiRW4iLCJTbiIsInhuIiwiUm4iLCJBbiIsIkJuIiwiem4iLCJMbiIsIlRuIiwiTW4iLCJDbiIsIkRuIiwiSW4iLCJQbiIsIk9uIiwiVW4iLCJIbiIsIkZuIiwiTm4iLCJabiIsInBlbmRpbmdfb3V0Iiwiam4iLCJibG9ja19zdGFydCIsInN0cnN0YXJ0IiwiV24iLCJZbiIsIktuIiwibWF4X2NoYWluX2xlbmd0aCIsInByZXZfbGVuZ3RoIiwibmljZV9tYXRjaCIsIndfc2l6ZSIsIndfbWFzayIsInByZXYiLCJnb29kX21hdGNoIiwibG9va2FoZWFkIiwibWF0Y2hfc3RhcnQiLCJYbiIsIndpbmRvd19zaXplIiwiaGFzaF9zaXplIiwiaW5zZXJ0IiwiaW5zX2giLCJoYXNoX3NoaWZ0IiwiaGFzaF9tYXNrIiwicW4iLCJtYXRjaF9sZW5ndGgiLCJtYXhfbGF6eV9tYXRjaCIsIlZuIiwicHJldl9tYXRjaCIsIm1hdGNoX2F2YWlsYWJsZSIsIkduIiwiZ29vZF9sZW5ndGgiLCJtYXhfbGF6eSIsIm5pY2VfbGVuZ3RoIiwibWF4X2NoYWluIiwiZnVuYyIsIiRuIiwic3RhdHVzIiwicGVuZGluZ19idWZfc2l6ZSIsImd6aGVhZCIsImd6aW5kZXgiLCJtZXRob2QiLCJsYXN0X2ZsdXNoIiwid19iaXRzIiwiaGFzaF9iaXRzIiwiSm4iLCJRbiIsInRleHQiLCJoY3JjIiwiZXh0cmEiLCJjb21tZW50IiwidGltZSIsIm9zIiwiZWkiLCJ0aSIsInJpIiwiZG1heCIsIndzaXplIiwid2hhdmUiLCJ3bmV4dCIsImhvbGQiLCJiaXRzIiwibGVuY29kZSIsImRpc3Rjb2RlIiwibGVuYml0cyIsImRpc3RiaXRzIiwic2FuZSIsIm5pIiwiaWkiLCJvaSIsImFpIiwic2kiLCJoaSIsImxpIiwiZmkiLCJjaSIsInVpIiwiZGkiLCJwaSIsImdpIiwidmkiLCJ3aSIsImJpIiwieWkiLCJtaSIsImtpIiwiRWkiLCJTaSIsInhpIiwiUmkiLCJBaSIsIkJpIiwiemkiLCJMaSIsIlRpIiwiTWkiLCJDaSIsIkRpIiwiSWkiLCJQaSIsIk9pIiwiVWkiLCJIaSIsIkZpIiwiTmkiLCJaaSIsImppIiwiV2kiLCJZaSIsIktpIiwiWGkiLCJxaSIsIlZpIiwiR2kiLCIkaSIsIkppIiwiUWkiLCJlbyIsInRvIiwicm8iLCJubyIsImlvIiwib28iLCJhbyIsInNvIiwiaG8iLCJsbyIsImxhc3QiLCJoYXZlZGljdCIsImZsYWdzIiwiY2hlY2siLCJ0b3RhbCIsIndiaXRzIiwib2Zmc2V0IiwibmNvZGUiLCJubGVuIiwibmRpc3QiLCJoYXZlIiwibGVucyIsIndvcmsiLCJsZW5keW4iLCJkaXN0ZHluIiwiYmFjayIsIndhcyIsImZvIiwiY28iLCJ1byIsInBvIiwiX28iLCJnbyIsInZvIiwiZG9uZSIsInhmbGFncyIsImV4dHJhX2xlbiIsIndvIiwiYm8iLCJ5byIsIm1vIiwiaW5pdF9kb25lIiwid3JpdGVfaW5fcHJvZ3Jlc3MiLCJwZW5kaW5nX2Nsb3NlIiwid2luZG93Qml0cyIsIm1lbUxldmVsIiwiZGljdGlvbmFyeSIsImtvIiwiX2Vycm9yIiwicGFyYW1zIiwiX3dyaXRlQ2hlY2siLCJjbG9zZSIsIndyaXRlU3luYyIsIl9zZXQiLCJvbmVycm9yIiwiRW8iLCJmcmVlemUiLCJOT05FIiwiREVGTEFURSIsIklORkxBVEUiLCJHWklQIiwiR1VOWklQIiwiREVGTEFURVJBVyIsIklORkxBVEVSQVciLCJVTlpJUCIsIlpfTk9fRkxVU0giLCJaX1BBUlRJQUxfRkxVU0giLCJaX1NZTkNfRkxVU0giLCJaX0ZVTExfRkxVU0giLCJaX0ZJTklTSCIsIlpfQkxPQ0siLCJaX1RSRUVTIiwiWl9PSyIsIlpfU1RSRUFNX0VORCIsIlpfTkVFRF9ESUNUIiwiWl9FUlJOTyIsIlpfU1RSRUFNX0VSUk9SIiwiWl9EQVRBX0VSUk9SIiwiWl9CVUZfRVJST1IiLCJaX05PX0NPTVBSRVNTSU9OIiwiWl9CRVNUX1NQRUVEIiwiWl9CRVNUX0NPTVBSRVNTSU9OIiwiWl9ERUZBVUxUX0NPTVBSRVNTSU9OIiwiWl9GSUxURVJFRCIsIlpfSFVGRk1BTl9PTkxZIiwiWl9STEUiLCJaX0ZJWEVEIiwiWl9ERUZBVUxUX1NUUkFURUdZIiwiWl9CSU5BUlkiLCJaX1RFWFQiLCJaX1VOS05PV04iLCJaX0RFRkxBVEVEIiwiWmxpYiIsIlNvIiwiWl9NSU5fV0lORE9XQklUUyIsIlpfTUFYX1dJTkRPV0JJVFMiLCJaX0RFRkFVTFRfV0lORE9XQklUUyIsIlpfTUlOX0NIVU5LIiwiWl9NQVhfQ0hVTksiLCJaX0RFRkFVTFRfQ0hVTksiLCJaX01JTl9NRU1MRVZFTCIsIlpfTUFYX01FTUxFVkVMIiwiWl9ERUZBVUxUX01FTUxFVkVMIiwiWl9NSU5fTEVWRUwiLCJaX01BWF9MRVZFTCIsIlpfREVGQVVMVF9MRVZFTCIsInhvIiwiWl9NRU1fRVJST1IiLCJaX1ZFUlNJT05fRVJST1IiLCJSbyIsIkFvIiwiX3Byb2Nlc3NDaHVuayIsIkJvIiwiSW8iLCJ6byIsIkxvIiwiVG8iLCJNbyIsIkNvIiwiRG8iLCJfb3B0cyIsIl9jaHVua1NpemUiLCJjaHVua1NpemUiLCJfZmx1c2hGbGFnIiwiX2JpbmRpbmciLCJfaGFkRXJyb3IiLCJlcnJubyIsImNvZGUiLCJjb2RlcyIsIl9idWZmZXIiLCJfb2Zmc2V0IiwiX2Nsb3NlZCIsIl9sZXZlbCIsIl9zdHJhdGVneSIsIlBvIiwiY3JlYXRlRGVmbGF0ZSIsImNyZWF0ZUluZmxhdGUiLCJjcmVhdGVEZWZsYXRlUmF3IiwiY3JlYXRlSW5mbGF0ZVJhdyIsImNyZWF0ZUd6aXAiLCJjcmVhdGVHdW56aXAiLCJjcmVhdGVVbnppcCIsImRlZmxhdGUiLCJkZWZsYXRlU3luYyIsImd6aXAiLCJnemlwU3luYyIsImRlZmxhdGVSYXciLCJkZWZsYXRlUmF3U3luYyIsInVuemlwIiwidW56aXBTeW5jIiwiaW5mbGF0ZSIsImluZmxhdGVTeW5jIiwiZ3VuemlwIiwiZ3VuemlwU3luYyIsImluZmxhdGVSYXciLCJpbmZsYXRlUmF3U3luYyIsIkRlZmxhdGUiLCJJbmZsYXRlIiwiR3ppcCIsIkd1bnppcCIsIkRlZmxhdGVSYXciLCJJbmZsYXRlUmF3IiwiVW56aXAiLCJTREtBUFBJRCIsIkVYUElSRVRJTUUiLCJQUklWQVRFS0VZIiwiX2lzTnVtYmVyIiwiX2lzU3RyaW5nIiwiZ2VuU2lnV2l0aFVzZXJidWYiLCJu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QUM7RUFFdEksT0FBTyxDQUFDLEtBQUtMLENBQUMsSUFBSVQsQ0FBQyxHQUFHTCxDQUFDLENBQUNNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRVcsQ0FBQyxJQUFJYixDQUFDLENBQUNDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRVksQ0FBQyxJQUFJYixDQUFDLENBQUNDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUVZLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLSCxDQUFDLEtBQUtULENBQUMsR0FBRyxDQUFDTCxDQUFDLENBQUNNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUlOLENBQUMsQ0FBQ00sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFVyxDQUFDLElBQUliLENBQUMsQ0FBQ0MsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFWSxDQUFDLElBQUliLENBQUMsQ0FBQ0MsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRVksQ0FBQyxJQUFJYixDQUFDLENBQUNDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUVZLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRUMsQ0FBQyxDQUFDSCxJQUFJLENBQUNFLENBQUMsQ0FBQyxFQUFFQyxDQUFDLENBQUNGLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDM047QUFFQSxTQUFTQyxDQUFDLENBQUNqQixDQUFDLEVBQUVJLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVHLENBQUMsRUFBRTtFQUN4QixJQUFJQyxDQUFDO0lBQ0RHLENBQUM7SUFDREMsQ0FBQyxHQUFHLENBQUMsR0FBR0wsQ0FBQyxHQUFHSCxDQUFDLEdBQUcsQ0FBQztJQUNqQlcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJSCxDQUFDLElBQUksQ0FBQztJQUNoQkksQ0FBQyxHQUFHRCxDQUFDLElBQUksQ0FBQztJQUNWRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ05DLENBQUMsR0FBR2YsQ0FBQyxHQUFHSSxDQUFDLEdBQUcs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QUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUNRLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBR0MsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUdSLENBQUMsSUFBSSxHQUFHLEtBQUtTLENBQUMsR0FBR0YsQ0FBQyxDQUFDO1FBQzlFO01BRUYsS0FBSyxDQUFDO1FBQ0pQLENBQUMsR0FBR1YsQ0FBQyxDQUFDUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUVJLENBQUMsR0FBR2IsQ0FBQyxDQUFDUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEdBQUcsR0FBR0MsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLEdBQUcsR0FBR0csQ0FBQyxDQUFDLElBQUksQ0FBQ0ksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHUixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBR0csQ0FBQyxJQUFJLElBQUksS0FBS0ksQ0FBQyxHQUFHLEtBQUssSUFBSUEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLRSxDQUFDLEdBQUdGLENBQUMsQ0FBQztRQUMvSjtNQUVGLEtBQUssQ0FBQztRQUNKUCxDQUFDLEdBQUdWLENBQUMsQ0FBQ1MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFSSxDQUFDLEdBQUdiLENBQUMsQ0FBQ1MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFSyxDQUFDLEdBQUdkLENBQUMsQ0FBQ1MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxHQUFHLEdBQUdDLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxHQUFHLEdBQUdHLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxHQUFHLEdBQUdDLENBQUMsQ0FBQyxJQUFJLENBQUNHLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBR0MsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBR1IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FB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Q0FBQyxDQUFDLENBQUMsQ0FBQztZQUNSeUUsQ0FBQyxHQUFHekUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNSMEUsQ0FBQyxHQUFHMUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNSMkUsQ0FBQyxHQUFHM0UsQ0FBQyxDQUFDLENBQUMsQ0FBQztVQUNadUUsQ0FBQyxHQUFHL0QsQ0FBQyxDQUFDK0QsQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFeEUsQ0FBQyxFQUFFLENBQUMsRUFBRUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUV1RSxDQUFDLEdBQUduRSxDQUFDLENBQUNtRSxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUVuRSxDQUFDLEVBQUUsRUFBRSxFQUFFSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRXNFLENBQUMsR0FBR2xFLENBQUMsQ0FBQ2tFLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRTdELENBQUMsRUFBRSxFQUFFLEVBQUVSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFcUUsQ0FBQyxHQUFHakUsQ0FBQyxDQUFDaUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRUosQ0FBQyxFQUFFdkQsQ0FBQyxFQUFFLEVBQUUsRUFBRVosQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVtRSxDQUFDLEdBQUcvRCxDQUFDLENBQUMrRCxDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUUxRCxDQUFDLEVBQUUsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRXVFLENBQUMsR0FBR25FLENBQUMsQ0FBQ21FLENBQUMsRUFBRUosQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRTVCLENBQUMsRUFBRSxFQUFFLEVBQUUxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRXNFLENBQUMsR0FBR2xFLENBQUMsQ0FBQ2tFLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRTFDLENBQUMsRUFBRSxFQUFFLEVBQUUzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRXFFLENBQUMsR0FBR2pFLENBQUMsQ0FBQ2lFLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRXBDLENBQUMsRUFBRSxFQUFFLEVBQUUvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRW1FLENBQUMsR0FBRy9ELENBQUMsQ0FBQytELENBQUMsRUFBRUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRWxDLENBQUMsRUFBRSxDQUFDLEVBQUVyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRXVFLENBQUMsR0FBR25FLENBQUMsQ0FBQ21FLENBQUMsRUFBRUosQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRWxDLENBQUMsRUFBRSxFQUFFLEVBQUVwQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRXNFLENBQUMsR0FBR2xFLENBQUMsQ0FBQ2tFLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRXBDLENBQUMsRUFBRSxFQUFFLEVBQUVqQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXFFLENBQUMsR0FBR2pFLENBQUMsQ0FBQ2lFLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRW5CLENBQUMsRUFBRSxFQUFFLEVBQUVoRCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRW1FLENBQUMsR0FBRy9ELENBQUMsQ0FBQytELENBQUMsRUFBRUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRWhCLENBQUMsRUFBRSxDQUFDLEVBQUV2RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXVFLENBQUMsR0FBR25FLENBQUMsQ0FBQ21FLENBQUMsRUFBRUosQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRWQsQ0FBQyxFQUFFLEVBQUUsRUFBRXhELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFc0UsQ0FBQyxHQUFHbEUsQ0FBQyxDQUFDa0UsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFWCxDQUFDLEVBQUUsRUFBRSxFQUFFMUQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVtRSxDQUFDLEdBQUc5RCxDQUFDLENBQUM4RCxDQUFDLEVBQUVFLENBQUMsR0FBR2pFLENBQUMsQ0FBQ2lFLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRUosQ0FBQyxFQUFFLEVBQUUsRUFBRS9ELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFc0UsQ0FBQyxFQUFFQyxDQUFDLEVBQUVwRSxDQUFDLEVBQUUsQ0FBQyxFQUFFSCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXVFLENBQUMsR0FBR2xFLENBQUMsQ0FBQ2tFLENBQUMsRUFBRUosQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRTNDLENBQUMsRUFBRSxDQUFDLEVBQUUzQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXNFLENBQUMsR0FBR2pFLENBQUMsQ0FBQ2lFLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRXJCLENBQUMsRUFBRSxFQUFFLEVBQUVoRCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXFFLENBQUMsR0FBR2hFLENBQUMsQ0FBQ2dFLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRXBFLENBQUMsRUFBRSxFQUFFLEVBQUVDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFbUUsQ0FBQyxHQUFHOUQsQ0FBQyxDQUFDOEQsQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFN0IsQ0FBQyxFQUFFLENBQUMsRUFBRTFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFdUUsQ0FBQyxHQUFHbEUsQ0FBQyxDQUFDa0UsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFckMsQ0FBQyxFQUFFLENBQUMsRUFBRWpDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFc0UsQ0FBQyxHQUFHakUsQ0FBQyxDQUFDaUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFTixDQUFDLEVBQUUsRUFBRSxFQUFFL0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVxRSxDQUFDLEdBQUdoRSxDQUFDLENBQUNnRSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUV0RCxDQUFDLEVBQUUsRUFBRSxFQUFFYixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRW1FLENBQUMsR0FBRzlELENBQUMsQ0FBQzhELENBQUMsRUFBRUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRW5DLENBQUMsRUFBRSxDQUFDLEVBQUVwQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXVFLENBQUMsR0FBR2xFLENBQUMsQ0FBQ2tFLENBQUMsRUFBRUosQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRVosQ0FBQyxFQUFFLENBQUMsRUFBRTFELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFc0UsQ0FBQyxHQUFHakUsQ0FBQyxDQUFDaUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFekQsQ0FBQyxFQUFFLEVBQUUsRUFBRVosQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVxRSxDQUFDLEdBQUdoRSxDQUFDLENBQUNnRSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUU5QixDQUFDLEVBQUUsRUFBRSxFQUFFckMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVtRSxDQUFDLEdBQUc5RCxDQUFDLENBQUM4RCxDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVmLENBQUMsRUFBRSxDQUFDLEVBQUV4RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXVFLENBQUMsR0FBR2xFLENBQUMsQ0FBQ2tFLENBQUMsRUFBRUosQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRTlELENBQUMsRUFBRSxDQUFDLEVBQUVSLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFc0UsQ0FBQyxHQUFHakUsQ0FBQyxDQUFDaUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFdEMsQ0FBQyxFQUFFLEVBQUUsRUFBRS9CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFbUUsQ0FBQyxHQUFHN0QsQ0FBQyxDQUFDNkQsQ0FBQyxFQUFFRSxDQUFDLEdBQUdoRSxDQUFDLENBQUNnRSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVaLENBQUMsRUFBRSxFQUFFLEVBQUV2RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXNFLENBQUMsRUFBRUMsQ0FBQyxFQUFFN0IsQ0FBQyxFQUFFLENBQUMsRUFBRTFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFdUUsQ0FBQyxHQUFHakUsQ0FBQyxDQUFDaUUsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFakMsQ0FBQyxFQUFFLEVBQUUsRUFBRXJDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFc0UsQ0FBQyxHQUFHaEUsQ0FBQyxDQUFDZ0UsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFckIsQ0FBQyxFQUFFLEVBQUUsRUFBRWhELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFcUUsQ0FBQyxHQUFHL0QsQ0FBQyxDQUFDK0QsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRUosQ0FBQyxFQUFFVCxDQUFDLEVBQUUsRUFBRSxFQUFFMUQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVtRSxDQUFDLEdBQUc3RCxDQUFDLENBQUM2RCxDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVwRSxDQUFDLEVBQUUsQ0FBQyxFQUFFSCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXVFLENBQUMsR0FBR2pFLENBQUMsQ0FBQ2lFLENBQUMsRUFBRUosQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRXpELENBQUMsRUFBRSxFQUFFLEVBQUViLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFc0UsQ0FBQyxHQUFHaEUsQ0FBQyxDQUFDZ0UsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFdEMsQ0FBQyxFQUFFLEVBQUUsRUFBRS9CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFcUUsQ0FBQyxHQUFHL0QsQ0FBQyxDQUFDK0QsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRUosQ0FBQyxFQUFFbEMsQ0FBQyxFQUFFLEVBQUUsRUFBRWpDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFbUUsQ0FBQyxHQUFHN0QsQ0FBQyxDQUFDNkQsQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFZixDQUFDLEVBQUUsQ0FBQyxFQUFFeEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUV1RSxDQUFDLEdBQUdqRSxDQUFDLENBQUNpRSxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUV2RSxDQUFDLEVBQUUsRUFBRSxFQUFFQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXNFLENBQUMsR0FBR2hFLENBQUMsQ0FBQ2dFLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRXpELENBQUMsRUFBRSxFQUFFLEVBQUVaLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFcUUsQ0FBQyxHQUFHL0QsQ0FBQyxDQUFDK0QsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRUosQ0FBQyxFQUFFeEMsQ0FBQyxFQUFFLEVBQUUsRUFBRTNCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFbUUsQ0FBQyxHQUFHN0QsQ0FBQyxDQUFDNkQsQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFbkMsQ0FBQyxFQUFFLENBQUMsRUFBRXBDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFdUUsQ0FBQyxHQUFHakUsQ0FBQyxDQUFDaUUsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFZixDQUFDLEVBQUUsRUFBRSxFQUFFdkQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVzRSxDQUFDLEdBQUdoRSxDQUFDLENBQUNnRSxDQUFDLEVBQUVDLENBQUMsRUFBRUosQ0FBQyxFQUFFRSxDQUFDLEVBQUVOLENBQUMsRUFBRSxFQUFFLEVBQUUvRCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRW1FLENBQUMsR0FBRzVELENBQUMsQ0FBQzRELENBQUMsRUFBRUUsQ0FBQyxHQUFHL0QsQ0FBQyxDQUFDK0QsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRUosQ0FBQyxFQUFFM0QsQ0FBQyxFQUFFLEVBQUUsRUFBRVIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVzRSxDQUFDLEVBQUVDLENBQUMsRUFBRXhFLENBQUMsRUFBRSxDQUFDLEVBQUVDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFdUUsQ0FBQyxHQUFHaEUsQ0FBQyxDQUFDZ0UsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFdkMsQ0FBQyxFQUFFLEVBQUUsRUFBRS9CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFc0UsQ0FBQyxHQUFHL0QsQ0FBQyxDQUFDK0QsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFWCxDQUFDLEVBQUUsRUFBRSxFQUFFMUQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVxRSxDQUFDLEdBQUc5RCxDQUFDLENBQUM4RCxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUV6QixDQUFDLEVBQUUsRUFBRSxFQUFFMUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVtRSxDQUFDLEdBQUc1RCxDQUFDLENBQUM0RCxDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoQixDQUFDLEVBQUUsQ0FBQyxFQUFFdkQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUV1RSxDQUFDLEdBQUdoRSxDQUFDLENBQUNnRSxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUUxRCxDQUFDLEVBQUUsRUFBRSxFQUFFWixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXNFLENBQUMsR0FBRy9ELENBQUMsQ0FBQytELENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRXBDLENBQUMsRUFBRSxFQUFFLEVBQUVqQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXFFLENBQUMsR0FBRzlELENBQUMsQ0FBQzhELENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRWhFLENBQUMsRUFBRSxFQUFFLEVBQUVILENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFbUUsQ0FBQyxHQUFHNUQsQ0FBQyxDQUFDNEQsQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFbEMsQ0FBQyxFQUFFLENBQUMsRUFBRXJDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFdUUsQ0FBQyxHQUFHaEUsQ0FBQyxDQUFDZ0UsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFUCxDQUFDLEVBQUUsRUFBRSxFQUFFL0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVzRSxDQUFDLEdBQUcvRCxDQUFDLENBQUMrRCxDQUFDLEVBQUVDLENBQUMsRUFBRUosQ0FBQyxFQUFFRSxDQUFDLEVBQUUxQyxDQUFDLEVBQUUsRUFBRSxFQUFFM0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVxRSxDQUFDLEdBQUc5RCxDQUFDLENBQUM4RCxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVYLENBQUMsRUFBRSxFQUFFLEVBQUV4RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRW1FLENBQUMsR0FBRzVELENBQUMsQ0FBQzRELENBQUMsRUFBRUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRTFELENBQUMsRUFBRSxDQUFDLEVBQUViLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFdUUsQ0FBQyxHQUFHaEUsQ0FBQyxDQUFDZ0UsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFdEIsQ0FBQyxFQUFFLEVBQUUsRUFBRWhELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFc0UsQ0FBQyxHQUFHL0QsQ0FBQyxDQUFDK0QsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFN0QsQ0FBQyxFQUFFLEVBQUUsRUFBRVIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVxRSxDQUFDLEdBQUc5RCxDQUFDLENBQUM4RCxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUUvQixDQUFDLEVBQUUsRUFBRSxFQUFFcEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVKLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHdUUsQ0FBQyxHQUFHLENBQUMsRUFBRXZFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHeUUsQ0FBQyxHQUFHLENBQUMsRUFBRXpFLENB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QyxFQUFFSyxDQUFDLEdBQUdMLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRVEsQ0FBQyxHQUFHUixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVTLENBQUMsR0FBR1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFYSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsRUFBRSxFQUFFQSxDQUFDLEVBQUUsRUFBRTtVQUNuRyxJQUFJQSxDQUFDLEdBQUcsRUFBRSxFQUFFRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBR2xCLENBQUMsQ0FBQ0ksQ0FBQyxHQUFHYyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ25DLElBQUlDLENBQUMsR0FBR0YsQ0FBQyxDQUFDQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUdELENBQUMsQ0FBQ0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHRCxDQUFDLENBQUNDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBR0QsQ0FBQyxDQUFDQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ25ERCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHQyxDQUFDLElBQUksQ0FBQyxHQUFHQSxDQUFDLEtBQUssRUFBRTtVQUMxQjtVQUNBLElBQUlDLENBQUMsR0FBRyxDQUFDZCxDQUFDLElBQUksQ0FBQyxHQUFHQSxDQUFDLEtBQUssRUFBRSxJQUFJUSxDQUFDLEdBQUdHLENBQUMsQ0FBQ0MsQ0FBQyxDQUFDO1VBQ3RDRSxDQUFDLElBQUlGLENBQUMsR0FBRyxFQUFFLEdBQUcsVUFBVSxJQUFJVCxDQUFDLEdBQUdDLENBQUMsR0FBRyxDQUFDRCxDQUFDLEdBQUdJLENBQUMsQ0FBQyxHQUFHSyxDQUFDLEdBQUcsRUFBRSxHQUFHLFVBQVUsSUFBSVQsQ0FBQyxHQUFHQyxDQUFDLEdBQUdHLENBQUMsQ0FBQyxHQUFHSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUNULENBQUMsR0FBR0MsQ0FBQyxHQUFHRCxDQUFDLEdBQUdJLENBQUMsR0FBR0gsQ0FBQyxHQUFHRyxDQUFDLElBQUksVUFBVSxH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VSxFQUFFLFNBQVMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsVUFB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RSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNVJ0SixDQUFDLEdBQUdSLENBQUMsQ0FBQzhKLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1UnJKLENBQUMsR0FBR1QsQ0FBQyxDQUFDOEosTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RTcEosQ0FBQyxHQUFHVixDQUFDLENBQUM4SixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUs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QyxDQUFDLENBQUMsRUFBRWMsQ0FBQyxHQUFHbkIsQ0FBQyxDQUFDSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUdDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRWUsQ0FBQyxHQUFHcEIsQ0FBQyxDQUFDSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUdDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRWdCLENBQUMsR0FBR3JCLENBQUMsQ0FBQ0ksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVpQixDQUFDLEdBQUcsQ0FBQyxFQUFFSSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdULENBQUMsRUFBRVMsQ0FBQyxFQUFFLEVBQUU7Y0FDcEksSUFBSUMsQ0FBQyxHQUFHckIsQ0FBQyxDQUFDWSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUdULENBQUMsQ0FBQ1UsQ0FBQyxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBR1QsQ0FBQyxDQUFDVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHUCxDQUFDLENBQUMsR0FBRyxHQUFHUSxDQUFDLENBQUMsR0FBR2hCLENBQUMsQ0FBQ2lCLENBQUMsRUFBRSxDQUFDO2dCQUM1RWtDLENBQUMsR0FBR2xELENBQUMsQ0FBQ2EsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHVixDQUFDLENBQUNXLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUdWLENBQUMsQ0FBQ1csQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBR1IsQ0FBQyxDQUFDLEdBQUcsR0FBR0ssQ0FBQyxDQUFDLEdBQUdiLENBQUMsQ0FBQ2lCLENBQUMsRUFBRSxDQUFDO2dCQUM1RW1CLENBQUMsR0FBR25DLENBQUMsQ0FBQ2MsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHWCxDQUFDLENBQUNZLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUdYLENBQUMsQ0FBQ1EsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFH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QUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzVMRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDL0RDLENBQUMsR0FBRyxDQUFDO1VBQ1AsQ0FBQyxFQUFFLE9BQU87VUFDVixTQUFTLEVBQUUsS0FBSztVQUNoQixTQUFTLEVBQUUsT0FBTztVQUNsQixTQUFTLEVBQUUsQ0FBQztVQUNaLFVBQVUsRUFBRSxHQUFHO1VBQ2YsVUFBVSxFQUFFLE9BQU87VUFDbkIsVUFBVSxFQUFFLE9BQU87VUFDbkIsVUFBVSxFQUFFLE9BQU87VUFDbkIsVUFBVSxFQUFFLEdBQUc7VUFDZixVQUFVLEVBQUUsT0FBTztVQUNuQixVQUFVLEVBQUUsS0FBSztVQUNqQixVQUFVLEVBQUUsT0FBTztVQUNuQixVQUFVLEVBQUUsS0FBSztVQUNqQixVQUFV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Q2QsSUFBSSxFQUFFLFNBQVM7VUFDZixLQUFLLEVBQUUsR0FBRztVQUNWLEtBQUssRUFBRSxRQUFRO1VBQ2YsS0FBSyxFQUFFLE1BQU07VUFDYixLQUFLLEVBQUUsU0FBUztVQUNoQixLQUFLLEVBQUUsU0FBUztVQUNoQixLQUFLLEVBQUUsU0FBUztVQUNoQixLQUFLLEVBQUUsU0FBUztVQUNoQixLQUFLLEVBQUUsQ0FBQztVQUNSLEtBQUssRUFBRSxTQUFTO1VBQ2hCLEtBQUssRUFBRSxRQUFRO1VBQ2YsS0FBSyxFQUFFLFNBQVM7VUFDaEIsS0FBSyxFQUFFLFNBQVM7VUFDaEIsS0FBSyxFQUFFLFFBQVE7VUFDZixLQUFLLEVBQUUsTUFBTTtVQUNiLEtBQUssRUFBRSxNQUFNO1VBQ2IsS0FBSyxFQUFFLEdBQUc7VUFDVixLQUFLLEVBQUUsU0FBUztVQUNoQixLQUFLLEVBQUUsU0FBUztVQUNoQixLQUFLLEVBQUUsUUFBUTtVQUNmLEtBQUssRUFBRSxTQUFTO1VBQ2hCLEtBQUssRUFBRSxTQUFTO1VBQ2hCLEtBQUssRUFBRSxRQUFRO1VBQ2YsS0FBSyxFQUFFLFNBQVM7VUFDaEIsTUFBTSxFQUFFLFNBQVM7VUFDakIsTUFBTSxFQUFFLFFBQVE7VUFDaEIsTUFBTSxFQUFFLFNBQVM7VUFDakIsTUFBTSxFQUFFLE1BQU07VUFDZCxNQUFNLEVBQUUsU0FBUztVQUNqQixNQUFNLEVBQUUsQ0FBQztVQUNULE1BQU0sRUFBRSxRQUFRO1VBQ2hCLEtBQUssRUFBRSxTQUFTO1VBQ2hCLEtBQUssRUFBRSxRQUFRO1VBQ2YsS0FBSyxFQUFFLFFBQVE7VUFDZixLQUFLLEVBQUUsU0FBUztVQUNoQixLQUFLLEVBQUUsU0FBUztVQUNoQixLQUFLLEVBQUUsUUFBUTtVQUNmLEtBQUssRUFBRSxHQUFHO1VBQ1YsS0FBSyxFQUFFLFNBQVM7VUFDaEIsTUFBTSxFQUFFLE1BQU07VUFDZCxNQUFNLEVBQUUsU0FBUztVQUNqQixNQUFNLEVBQUUsQ0FBQztVQUNULE1BQU0sRUFBRSxTQUFTO1VBQ2pCLE1BQU0sRUFBRSxRQUFR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QUMsRUFBRSxTQUFTO1VBQ1osQ0FBQyxFQUFFLEVBQUU7VUFDTCxDQUFDLEVBQUUsTUFBTTtVQUNULENBQUMsRUFBRSxTQUFTO1VBQ1osQ0FBQyxFQUFFLFNBQVM7VUFDWixDQUFDLEVBQUUsSUFBSTtVQUNQLENBQUMsRUFBRSxTQUFTO1VBQ1osQ0FBQyxFQUFFLFNBQVM7VUFDWixFQUFFLEVBQUUsTUFBTTtVQUNWLEVBQUUsRUFBRSxTQUFTO1VBQ2IsRUFBRSxFQUFFLElBQUk7VUFDUixFQUFFLEVBQUUsQ0FBQztVQUNMLEVBQUUsRUFBRSxTQUFTO1VBQ2IsRUFBRSxFQUFFLE1BQU07VUFDVixVQUFVLEVBQUUsSUFBSTtVQUNoQixVQUFVLEVBQUUsU0FBUztVQUNyQixVQUFVLEVBQUUsU0FBUztVQUNyQixVQUFVLEVBQUUsU0FBUztVQUNyQixVQUFVLEVBQUUsU0FBUztVQUNyQixVQUFVLEVBQUUsTUFBTTtVQUNsQixVQUFVLEVBQUUsTUFBTTtVQUNsQixVQUFVLEVBQUUsRUFBRTtVQUNkLFVBQVUsRUFBRSxTQUFTO1VBQ3JCLFVBQVUsRUFBRSxJQUFJO1VBQ2hCLFVBQVUsRUFBRSxNQUFNO1VBQ2xCLFVBQVUsRUFBRSxTQUFTO1VBQ3JCLFVBQVUsRUFBRSxDQUFDO1VBQ2IsVUFBVSxFQUFFLFNBQVM7VUFDckIsVUFBVSxFQUFFLFNBQVM7VUFDckIsVUFBVSxFQUFFLE1BQU07VUFDbEIsRUFBRSxFQUFFLE1BQU07VUFDVixFQUFFLEVBQUUsU0FBUztVQUNiLEVBQUUsRUFBRSxFQUFFO1VBQ04sRUFBRSxFQUFFLElBQUk7VUFDUixFQUFFLEVBQUUsU0FBUztVQUNiLEVBQUUsRUFBRSxTQUFTO1VBQ2IsRUFBRSxFQUFFLFNBQVM7VUFDYixFQUFFLEVBQUUsTUFBTTtVQUNWLEVBQUUsRUFBRSxDQUFDO1VBQ0wsRUFBRSxFQUFFLE1BQU07VUFDVixFQUFFLEVBQUUsU0FBUztVQUNiLEVBQUUsRUFBRSxTQUFTO1VBQ2IsRUFBRSxFQUFFLFNBQVM7VUFDYixFQUFFLEVBQUUsTUFBTTtVQUNWLEVBQUUsRUFB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LENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUVBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztjQUM5SVMsQ0FBQyxHQUFHLElBQUksQ0FBQ3VXLEVBQUUsR0FBRyxDQUFDaFgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVsUSxLQUFLLElBQUksQ0FBQ2lYLEVBQUUsR0FBRyxDQUFDLEVBQUU1VyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEVBQUU7Y0FBRVksQ0FBQyxDQUFDa0IsSUFBSSxDQUFDLElBQUksQ0FBQztZQUFDO1lBRWxELEtBQUs5QixDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEVBQUU7Y0FBRUksQ0FBQyxDQUFDSixDQUFDLENBQUMsSUFBSUMsQ0FBQyxDQUFDRCxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUFDO1lBRTdDLElBQUlELENBQUMsRUFBRTtjQUNMLElBQUlNLENBQUMsR0FBR04sQ0FBQyxDQUFDNkssS0FBSztnQkFDWHBLLENBQUMsR0FBR0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDUkksQ0FBQyxHQUFHSixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNSUSxDQUFDLEdBQUcsUUFBUSxJQUFJTCxDQUFDLElBQUksQ0FBQyxHQUFHQSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsVUFBVSxJQUFJQSxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyRU0sQ0FBQyxHQUFHLFFBQVEsSUFBSUwsQ0FBQyxJQUFJLENBQUMsR0FBR0EsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLFVBQVUsSUFBSUEsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckVNLENBQUMsR0FBR0YsQ0FBQyxLQUFLLEVBQUUsR0FBRyxVQUFVLEdBQUdDLENBQUM7Z0JBQzdCRSxDQUFDLEdBQUdGLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxHQUFHRCxDQUFDO2NBRTNCLEtBQUtULENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSVMsQ0FBQyxFQUFFVCxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUlXLENBQUMsRUFBRVgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJVSxDQUFDLEVBQUVWLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSVksQ0FBQyxFQUFFWixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUlTLENBQUMsRUFBRVQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJVyxDQUFDLEVBQUVYLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSVUsQ0FBQyxFQUFFVixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUlZLENBQUMsRUFBRWhCLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsRUFBRTtnQkFBRVksQ0FBQyxDQUFDa0IsSUFBSSxDQUFDLElBQUksQ0FBQztjQUFDO1lBQy9IO1VBQ0YsQ0FBQztVQUNEc0ssZUFBZSxFQUFFLHlCQUFVek0sQ0FBQyxFQUFFSSxDQUFDLEVBQUU7WUFDL0IsSUFBSUMsQ0FBQyxHQUFHLElBQUksQ0FBQzBXLEVBQUU7WUFDZjlWLENBQUMsQ0FBQ2tCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTFCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdKLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHSixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUVJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtZQUU1SyxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsRUFBRTtjQUFFRyxDQUFDLENBQUNILENBQUMsQ0FBQyxHQUFHLFFBQVEsSUFBSUcsQ0FBQyxDQUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUdHLENBQUMsQ0FBQ0gsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsVUFBVSxJQUFJRyxDQUFDLENBQUNILENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0csQ0FBQyxDQUFDSCxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRU4sQ0FBQyxDQUFDSSxDQUFDLEdBQUdFLENBQUMsQ0FBQyxJQUFJRyxDQUFDLENBQUNILENBQUMsQ0FBQztZQUFDO1VBQ3JJLENBQUM7VUFDRGdNLFNBQVMsRUFBRSxDQUFDO1VBQ1prRyxNQUFNLEVBQUU7UUFDVixDQUFDLENBQUM7TUFFRixTQUFTdlIsQ0FBQyxHQUFHO1FBQ1gsS0FBSyxJQUFJakIsQ0FBQyxHQUFHLElBQUksQ0FBQytXLEVBQUUsRUFBRTNXLENBQUMsR0FBRyxJQUFJLENBQUM0VyxFQUFFLEVBQUUzVyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEVBQUU7VUFBRUssQ0FBQyxDQUFDTCxDQUFDLENBQUMsR0FBR0QsQ0FBQyxDQUFDQyxDQUFDLENBQUM7UUFBQztRQUVsRSxLQUFLRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDNlcsRUFBRSxHQUFHLENBQUMsRUFBRTdXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBR00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFTixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUdNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRU4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUVOLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBR00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFTixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUdNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRU4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUVOLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBR00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQ3VXLEVBQUUsR0FBRzdXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUdNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRUwsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxFQUFFLEVBQUU7VUFDcmpCLElBQUlDLENBQUMsR0FBR04sQ0FBQyxDQUFDSyxDQUFDLENBQUMsR0FBR0QsQ0FBQyxDQUFDQyxDQUFDLENBQUM7WUFDZkksQ0FBQyxHQUFHLEtBQUssR0FBR0gsQ0FBQztZQUNiUSxDQUFDLEdBQUdSLENBQUMsS0FBSyxFQUFFO1lBQ1pXLENBQUMsR0FBRyxDQUFDLENBQUNSLENBQUMsR0FBR0EsQ0FBQyxLQUFLLEVBQUUsSUFBSUEsQ0FBQyxHQUFHSyxDQUFDLEtBQUssRUFBRSxJQUFJQSxDQUFDLEdBQUdBLENBQUM7WUFDM0NJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHWixDQUFDLElBQUlBLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUdBLENBQUMsSUFBSUEsQ0FBQyxHQUFHLENBQUMsQ0FBQztVQUMxRE8sQ0FBQyxDQUFDUixDQUFDLENBQUMsR0FBR1ksQ0FBQyxHQUFHQyxDQUFDO1FBQ2Q7UUFFQWxCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUViLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUViLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUViLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUViLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUViLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FB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QUFFLEVBQUUzVyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEVBQUU7VUFBRUssQ0FBQyxDQUFDTCxDQUFDLENBQUMsR0FBR0QsQ0FBQyxDQUFDQyxDQUFDLENBQUM7UUFBQztRQUVsRSxLQUFLRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDNlcsRUFBRSxHQUFHLENBQUMsRUFBRTdXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBR00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFTixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUdNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRU4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUVOLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBR00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFTixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUdNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRU4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUVOLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBR00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQ3VXLEVBQUUsR0FBRzdXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUdNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRUwsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxFQUFFLEVBQUU7VUFDcmpCLElBQUlDLENBQUMsR0FBR04sQ0FBQyxDQUFDSyxDQUFDLENBQUMsR0FBR0QsQ0FBQyxDQUFDQyxDQUFDLENBQUM7WUFDZkksQ0FBQyxHQUFHLEtBQUssR0FBR0gsQ0FBQztZQUNiUSxDQUFDLEdBQUdSLENBQUMsS0FBSyxFQUFFO1lBQ1pXLENBQUMsR0FBRyxDQUFDLENBQUNSLENBQUMsR0FBR0EsQ0FBQyxLQUFLLEVBQUUsSUFBSUEsQ0FBQyxHQUFHSyxDQUFDLEtBQUssRUFBRSxJQUFJQSxDQUFDLEdBQUdBLENBQUM7WUFDM0NJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHWixDQUFDLElBQUlBLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUdBLENBQUMsSUFBSUEsQ0FBQyxHQUFHLENBQUMsQ0FBQztVQUMxRE8sQ0FBQyxDQUFDUixDQUFDLENBQUMsR0FBR1ksQ0FBQyxHQUFHQyxDQUFDO1FBQ2Q7UUFFQWxCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUViLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUViLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUViLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUViLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUViLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUViLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUViLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR2EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO01BQzVmO01BRUFiLENBQUMsQ0FBQ2tYLFlBQVksR0FBRzlXLENBQUMsQ0FBQzZNLGFBQWEsQ0FBQ25NLENBQUMsQ0FBQztJQUNyQyxD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LEVBQUU7RUFDUEMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUM1RkMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7RUFDdkdDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUM5REMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVB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LEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7RUFDaklDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDekpDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUs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RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEdBQUc7RUFDUkMsRUFBRSxHQUFHLEdBQUc7QUFFWixTQUFTQyxFQUFFLENBQUNoNUIsQ0FBQyxFQUFFO0VBQ2IsT0FBTyxDQUFDQSxDQUFDLEtBQUssRUFBRSxHQUFHLEdBQUcsS0FBS0EsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBR0EsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHQSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3RGO0FBRUEsU0FBU2k1QixFQUFFLEdBQUc7RUFDWixJQUFJLENBQUNybUIsSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUNzbUIsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQzNULElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDNFQsUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQ0MsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUN6RSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQzBFLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQzliLElBQUksR0FBRyxJQUFJLEVBQUUsSUFBSSxDQUFDK2IsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMzRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQ0MsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUNDLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDMzBCLE1BQU0sR0FBRyxJQUFJLEVBQUUsSUFBSSxDQUFDNDBCLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQ3IwQixNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQzY0QixNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQ3BGLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDYSxPQUFPLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FBQ0MsUUFBUSxHQUFHLElBQUksRUFBRSxJQUFJLENBQUNDLE9BQU8sR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQ3FFLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQ0MsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUNDLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDN2EsSUFBSSxHQUFHLElBQUksRUFBRSxJQUFJLENBQUM4YSxJQUFJLEdBQUcsSUFBSWxSLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUNtUixJQUFJLEdBQUcsSUFBSW5SLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUNvUixNQUFNLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FBQ0MsT0FBTyxHQUFHLElBQUksRUFBRSxJQUFJLENBQUMzRSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQzRFLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDQyxHQUFHLEdBQUcsQ0FBQztBQUM5bEI7QUFFQSxTQUFTQyxFQUFFLENBQUNuNkIsQ0FBQyxFQUFFO0VBQ2IsSUFBSUksQ0FBQztFQUNMLE9BQU9KLENBQUMsSUFBSUEsQ0FBQyxDQUFDc29CLEtBQUssSUFBSSxDQUFDbG9CLENBQUMsR0FBR0osQ0FBQyxDQUFDc29CLEtBQUssRUFBRXNNLEtBQUssR0FBRyxDQUFDLEVBQUV4MEIsQ0FBQyxDQUFDeTBCLEtBQUssR0FBRyxDQUFDLEVBQUV6MEIsQ0FBQyxDQUFDMDBCLEtBQUssR0FBRyxDQUFDLEVBQUUsVUFBVTkwQixDQUFDLEVBQUU7SUFDckYsSUFBSUksQ0FBQztJQUNMLE9BQU9KLENBQUMsSUFBSUEsQ0FBQyxDQUFDc29CLEtBQUssSUFBSWxvQixDQUFDLEdBQUdKLENBQUMsQ0FBQ3NvQixLQUFLLEVBQUV0b0IsQ0FBQyxDQUFDZ29CLFFBQVEsR0FBR2hvQixDQUFDLENBQUNvb0IsU0FBUyxHQUFHaG9CLENBQUMsQ0FBQ2s1QixLQUFLLEdBQUcsQ0FBQyxFQUFFdDVCLENBQUMsQ0FBQ3FvQixHQUFHLEdBQUcsRUFBRSxFQUFFam9CLENBQUMsQ0FBQ21sQixJQUFJLEtBQUt2bEIsQ0FBQyxDQUFDd29CLEtBQUssR0FBRyxDQUFDLEdBQUdwb0IsQ0FBQyxDQUFDbWxCLElBQUksQ0FBQyxFQUFFbmxCLENBQUMsQ0FBQ3dTLElBQUksR0FBR2trQixFQUFFLEVBQUUxMkIsQ0FBQyxDQUFDODRCLElBQUksR0FBRyxDQUFDLEVBQUU5NEIsQ0FBQyxDQUFDKzRCLFFBQVEsR0FBRyxDQUFDLEVBQUUvNEIsQ0FBQyxDQUFDdTBCLElBQUksR0FBRyxLQUFLLEVBQUV2MEIsQ0FBQyxDQUFDb2QsSUFBSSxHQUFHLElBQUksRUFBRXBkLENBQUMsQ0FBQzIwQixJQUFJLEdBQUcsQ0FBQyxFQUFFMzBCLENBQUMsQ0FBQzQwQixJQUFJLEdBQUcsQ0FBQyxFQUFFNTBCLENBQUMsQ0FBQzYwQixPQUFPLEdBQUc3MEIsQ0FBQyxDQUFDMjVCLE1BQU0sR0FBRyxJQUFJblIsRUFBRSxDQUFDa1EsRUFBRSxDQUFDLEVBQUUxNEIsQ0FBQyxDQUFDODBCLFFBQVEsR0FBRzkwQixDQUFDLENBQUM0NUIsT0FBTyxHQUFHLElBQUlwUixFQUFFLENBQUNtUSxFQUFFLENBQUMsRUFBRTM0QixDQUFDLENBQUNpMUIsSUFBSSxHQUFHLENBQUMsRUFBRWoxQixDQUFDLENBQUM2NUIsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFM0QsRUFBRSxJQUFJRyxFQUFFO0VBQ3JVLENBQUMsQ0FBQ3oyQixDQUFDLENBQUMsSUFBSXkyQixFQUFFO0FBQ1o7QUFFQSxTQUFTMkQsRUFBRSxDQUFDcDZCLENBQUMsRUFBRUksQ0FBQyxFQUFFO0VBQ2hCLElBQUlDLENBQUMsRUFBRUMsQ0FBQztFQUNSLE9BQU9OLENBQUMsSUFBSU0sQ0FBQyxHQUFHLElBQUkyNEIsRUFBRSxFQUFFLEVBQUVqNUIsQ0FBQyxDQUFDc29CLEtBQUssR0FBR2hvQixDQUFDLEVBQUVBLENBQUMsQ0FBQ0gsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDRSxDQUFDLEdBQUcsVUFBVUwsQ0FBQyxFQUFFSSxDQUFDLEVBQUU7SUFDM0UsSUFBSUMsQ0FBQyxFQUFFQyxDQUFDO0lBQ1IsT0FBT04sQ0FBQyxJQUFJQSxDQUFDLENBQUNzb0IsS0FBSyxJQUFJaG9CLENBQUMsR0FBR04sQ0FBQyxDQUFDc29CLEtBQUssRUFBRWxvQixDQUFDLEdBQUcsQ0FBQyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFRCxDQUFDLEdBQUcsQ0FBQ0EsQ0FBQyxLQUFLQyxDQUFDLEdBQUcsQ0FBQyxJQUFJRCxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUVBLENBQUMsR0FBRyxFQUFFLEtBQUtBLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFQSxDQUFDLEtBQUtBLENBQUMsR0FBRyxDQUFDLElBQUlBLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBR3EyQixFQUFFLElBQUksSUFBSSxLQUFLbjJCLENBQUMsQ0FBQ0gsTUFBTSxJQUFJRyxDQUFDLENBQUNpNUIsS0FBSyxLQUFLbjVCLENBQUMsS0FBS0UsQ0FBQyxDQUFDSCxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUVHLENBQUMsQ0FBQ2lsQixJQUFJLEdBQUdsbEIsQ0FBQyxFQUFFQyxDQUFDLENBQUNpNUIsS0FBSyxHQUFHbjVCLENBQUMsRUFBRSs1QixFQUFFLENBQUNuNkIsQ0FBQyxDQUFDLENBQUMsSUFBSXkyQixFQUFFO0VBQ3RPLENBQUMsQ0FBQ3oyQixDQUFDLEVBQUVJLENBQUMsQ0FBQyxNQUFNazJCLEVBQUUsS0FBS3QyQixDQUFDLENBQUNzb0IsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFam9CLENBQUMsSUFBSW8yQixFQUFFO0FBQzlDO0FBRUEsSUFBSTRELEVBQUU7RUFDRkMsRUFBRTtFQUNGQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRVgsU0FBU0MsRUFBRSxDQUFDeDZCLENBQUMsRUFBRTtFQUNiLElBQUl1NkIsRUFBRSxFQUFFO0lBQ04sSUFBSW42QixDQUFDO0lBRUwsS0FBS2k2QixFQUFFLEdBQUcsSUFBSXpSLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRTBSLEVBQUUsR0FBRyxJQUFJMVIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFeG9CLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBRyxHQUFHO01BQUdKLENBQUMsQ0FBQzY1QixJQUFJLENBQUN6NUIsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQUM7SUFFekUsT0FBT0EsQ0FBQyxHQUFHLEdBQUc7TUFBR0osQ0FBQyxDQUFDNjVCLElBQUksQ0FBQ3o1QixDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUM7SUFBQztJQUVqQyxPQUFPQSxDQUFDLEdBQUcsR0FBRztNQUFHSixDQUFDLENBQUM2NUIsSUFBSSxDQUFDejVCLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztJQUFDO0lBRWpDLE9BQU9BLENBQUMsR0FBRyxHQUFHO01BQUdKLENBQUMsQ0FBQzY1QixJQUFJLENBQUN6NUIsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQUM7SUFFakMsS0FBSzQxQixFQUFFLENBQUN0ZixFQUFFLEVBQUUxVyxDQUFDLENBQUM2NUIsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUVRLEVBQUUsRUFBRSxDQUFDLEVBQUVyNkIsQ0FBQyxDQUFDODVCLElBQUksRUFBRTtNQUN6QzlFLElBQUksRUFBRTtJQUNSLENBQUMsQ0FBQyxFQUFFNTBCLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBRyxFQUFFO01BQUdKLENBQUMsQ0FBQzY1QixJQUFJLENBQUN6NUIsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQUM7SUFFcEM0MUIsRUFBRSxDQUFDRSxFQUFFLEVBQUVsMkIsQ0FBQyxDQUFDNjVCLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFUyxFQUFFLEVBQUUsQ0FBQyxFQUFFdDZCLENBQUMsQ0FBQzg1QixJQUFJLEVBQUU7TUFDbkM5RSxJQUFJLEVBQUU7SUFDUixDQUFDLENBQUMsRUFBRXVGLEVBQUUsR0FBRyxDQUFDLENBQUM7RUFDYjtFQUVBdjZCLENBQUMsQ0FBQ2kxQixPQUFPLEdBQUdvRixFQUFFLEVBQUVyNkIsQ0FBQyxDQUFDbTFCLE9BQU8sR0FBRyxDQUFDLEVBQUVuMUIsQ0FBQyxDQUFDazFCLFFBQVEsR0FBR29GLEVBQUUsRUFBRXQ2QixDQUFDLENBQUNvMUIsUUFBUSxHQUFHLENBQUM7QUFDaEU7QUFFQSxTQUFTcUYsRUFBRSxDQUFDejZCLENBQUMsRUFBRUksQ0FBQyxFQUFFO0VBQ2hCLElBQUlDLENBQUM7SUFDREMsQ0FBQztJQUNERyxDQUFDO0lBQ0RDLENBQUM7SUFDREcsQ0FBQztJQUNEQyxDQUFDO0lBQ0RHLENBQUM7SUFDREMsQ0FBQztJQUNEQyxDQUFDO0lBQ0RDLENBQUM7SUFDREMsQ0FBQztJQUNEQyxDQUFDO0lBQ0RJLENBQUM7SUFDREMsQ0FBQztJQUNENkIsQ0FBQztJQUNEZixDQUFDO0lBQ0RJLENBQUM7SUFDRE0sQ0FBQztJQUNERCxDQUFDO0lBQ0RILENBQUM7SUFDRGUsQ0FBQztJQUNETyxDQUFDO0lBQ0RDLENBQUM7SUFDREUsQ0FBQztJQUNESyxDQUFDLEdBQUcsQ0FBQztJQUNMSSxDQUFDLEdBQUcsSUFBSXlqQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2J2akIsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRTFFLElBQUksQ0FBQ25GLENBQUMsSUFBSSxDQUFDQSxDQUFDLENBQUNzb0IsS0FBSyxJQUFJLENBQUN0b0IsQ0FBQyxDQUFDaW9CLE1BQU0sSUFBSSxDQUFDam9CLENBQUMsQ0FBQzZuQixLQUFLLElBQUksQ0FBQyxLQUFLN25CLENBQUMsQ0FBQytuQixRQUFRLEVBQUUsT0FBTzBPLEVBQUU7RUFDMUUsQ0FBQ3AyQixDQUFDLEdBQUdMLENBQUMsQ0FBQ3NvQixLQUFLLEVBQUUxVixJQUFJLEtBQUs2a0IsRUFBRSxLQUFLcDNCLENBQUMsQ0FBQ3VTLElBQUksR0FBRzhrQixFQUFFLENBQUMsRUFBRTcyQixDQUFDLEdBQUdiLENBQUMsQ0FBQ2tvQixRQUFRLEVBQUV6bkIsQ0FBQyxHQUFHVCxDQUFDLENBQUNpb0IsTUFBTSxFQUFFaG5CLENBQUMsR0FBR2pCLENBQUMsQ0FBQ21vQixTQUFTLEVBQUV6bkIsQ0FBQyxHQUFHVixDQUFDLENBQUM4bkIsT0FBTyxFQUFFeG5CLENBQUMsR0FBR04sQ0FBQyxDQUFDNm5CLEtBQUssRUFBRS9tQixDQUFDLEdBQUdkLENBQUMsQ0FBQytuQixRQUFRLEVBQUU3bUIsQ0FBQyxHQUFHYixDQUFDLENBQUMwMEIsSUFBSSxFQUFFNXpCLENBQUMsR0FBR2QsQ0FBQyxDQUFDMjBCLElBQUksRUFBRTV6QixDQUFDLEdBQUdOLENBQUMsRUFBRU8sQ0FBQyxHQUFHSixDQUFDLEVBQUVvRCxDQUFDLEdBQUdpeUIsRUFBRTtFQUVuTHQyQixDQUFDLEVBQUU7SUFBUyxRQUFRSyxDQUFDLENBQUN1UyxJQUFJO01BQ3hCLEtBQUtra0IsRUFBRTtRQUNMLElBQUksQ0FBQyxLQUFLejJCLENBQUMsQ0FBQ2tsQixJQUFJLEVBQUU7VUFDaEJsbEIsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHOGtCLEVBQUU7VUFDWDtRQUNGO1FBRUEsT0FBT3YyQixDQUFDLEdBQUcsRUFBRSxHQUFHO1VBQ2QsSUFBSSxDQUFDLEtBQUtMLENBQUMsRUFBRSxNQUFNZCxDQUFDO1VBQ3BCYyxDQUFDLEVBQUUsRUFBRUksQ0FBQyxJQUFJWixDQUFDLENBQUNJLENBQUMsRUFBRSxDQUFDLElBQUlTLENBQUMsRUFBRUEsQ0FBQyxJQUFJLENBQUM7UUFDL0I7UUFFQSxJQUFJLENBQUMsR0FBR2QsQ0FBQyxDQUFDa2xCLElBQUksSUFBSSxLQUFLLEtBQUtya0IsQ0FBQyxFQUFFO1VBQzdCYixDQUFDLENBQUNnNUIsS0FBSyxHQUFHLENBQUMsRUFBRXAwQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHL0QsQ0FBQyxFQUFFK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHL0QsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUViLENBQUMsQ0FBQ2c1QixLQUFLLEdBQUc3SyxFQUFFLENBQUNudUIsQ0FBQyxDQUFDZzVCLEtBQUssRUFBRXAwQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFL0QsQ0FBQyxHQUFHLENBQUMsRUFBRUMsQ0FBQyxHQUFHLENBQUMsRUFBRWQsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHbWtCLEVBQUU7VUFDNUc7UUFDRjtRQUVBLElBQUkxMkIsQ0FBQyxDQUFDKzRCLEtBQUssR0FBRyxDQUFDLEVBQUUvNEIsQ0FBQyxDQUFDbWQsSUFBSSxLQUFLbmQsQ0FBQyxDQUFDbWQsSUFBSSxDQUFDa2QsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUdyNkIsQ0FBQyxDQUFDa2xCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBR3JrQixDQUFDLEtBQUssQ0FBQyxLQUFLQSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1VBQ2xHbEIsQ0FBQyxDQUFDcW9CLEdBQUcsR0FBRyx3QkFBd0IsRUFBRWhvQixDQUFDLENBQUN1UyxJQUFJLEdBQUcrbEIsRUFBRTtVQUM3QztRQUNGO1FBRUEsSUFBSSxDQUFDLEVBQUUsR0FBR3ozQixDQUFDLE1BQU0yMUIsRUFBRSxFQUFFO1VBQ25CNzJCLENBQUMsQ0FBQ3FvQixHQUFHLEdBQUcsNEJBQTRCLEVBQUVob0IsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHK2xCLEVBQUU7VUFDakQ7UUFDRjtRQUVBLElBQUl4M0IsQ0FBQyxJQUFJLENBQUMsRUFBRTJDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJNUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLYixDQUFDLENBQUNrNUIsS0FBSyxFQUFFbDVCLENBQUMsQ0FBQ2s1QixLQUFLLEdBQUd6MUIsQ0FBQyxDQUFDLEtBQUssSUFBSUEsQ0FBQyxHQUFHekQsQ0FBQyxDQUFDazVCLEtBQUssRUFBRTtVQUN0RnY1QixDQUFDLENBQUNxb0IsR0FBRyxHQUFHLHFCQUFxQixFQUFFaG9CLENBQUMsQ0FBQ3VTLElBQUksR0FBRytsQixFQUFFO1VBQzFDO1FBQ0Y7UUFDQXQ0QixDQUFDLENBQUNzMEIsSUFBSSxHQUFHLENBQUMsSUFBSTd3QixDQUFDLEVBQUU5RCxDQUFDLENBQUN3b0IsS0FBSyxHQUFHbm9CLENBQUMsQ0FBQ2c1QixLQUFLLEdBQUcsQ0FBQyxFQUFFaDVCLENBQUMsQ0FBQ3VTLElBQUksR0FBRyxHQUFHLEdBQUcxUixDQUFDLEdBQUdxMkIsRUFBRSxHQUFHRSxFQUFFLEVBQUV2MkIsQ0FBQyxHQUFHLENBQUMsRUFBRUMsQ0FBQyxHQUFHLENBQUM7UUFDaEY7TUFFRixLQUFLNDFCLEVBQUU7UUFDTCxPQUFPNTFCLENBQUMsR0FBRyxFQUFFLEdBQUc7VUFDZCxJQUFJLENBQUMsS0FBS0wsQ0FBQyxFQUFFLE1BQU1kLENBQUM7VUFDcEJjLENBQUMsRUFBRSxFQUFFSSxDQUFDLElBQUlaLENBQUMsQ0FBQ0ksQ0FBQyxFQUFFLENBQUMsSUFBSVMsQ0FBQyxFQUFFQSxDQUFDLElBQUksQ0FBQztRQUMvQjtRQUVBLElBQUlkLENBQUMsQ0FBQys0QixLQUFLLEdBQUdsNEIsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHYixDQUFDLENBQUMrNEIsS0FBSyxNQUFNdkMsRUFBRSxFQUFFO1VBQ3ZDNzJCLENBQUMsQ0FBQ3FvQixHQUFHLEdBQUcsNEJBQTRCLEVBQUVob0IsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHK2xCLEVBQUU7VUFDakQ7UUFDRjtRQUVBLElBQUksS0FBSyxHQUFHdDRCLENBQUMsQ0FBQys0QixLQUFLLEVBQUU7VUFDbkJwNUIsQ0FBQyxDQUFDcW9CLEdBQUcsR0FBRywwQkFBMEIsRUFBRWhvQixDQUFDLENBQUN1UyxJQUFJLEdBQUcrbEIsRUFBRTtVQUMvQztRQUNGO1FBRUF0NEIsQ0FBQyxDQUFDbWQsSUFBSSxLQUFLbmQsQ0FBQyxDQUFDbWQsSUFBSSxDQUFDMFcsSUFBSSxHQUFHaHpCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHYixDQUFDLENBQUMrNEIsS0FBSyxLQUFLbjBCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcvRCxDQUFDLEVBQUUrRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcvRCxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRWIsQ0FBQyxDQUFDZzVCLEtBQUssR0FBRzdLLEVBQUUsQ0FBQ251QixDQUFDLENBQUNnNUIsS0FBSyxFQUFFcDBCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRS9ELENBQUMsR0FBRyxDQUFDLEVBQUVDLENBQUMsR0FBRyxDQUFDLEVBQUVkLENBQUMsQ0FBQ3VTLElBQUksR0FBR29rQixFQUFFO01BRTFKLEtBQUtBLEVBQUU7UUFDTCxPQUFPNzFCLENBQUMsR0FBRyxFQUFFLEdBQUc7VUFDZCxJQUFJLENBQUMsS0FBS0wsQ0FBQyxFQUFFLE1BQU1kLENBQUM7VUFDcEJjLENBQUMsRUFBRSxFQUFFSSxDQUFDLElBQUlaLENBQUMsQ0FBQ0ksQ0FBQyxFQUFFLENBQUMsSUFBSVMsQ0FBQyxFQUFFQSxDQUFDLElBQUksQ0FBQztRQUMvQjtRQUVBZCxDQUFDLENBQUNtZCxJQUFJLEtBQUtuZCxDQUFDLENBQUNtZCxJQUFJLENBQUM4VyxJQUFJLEdBQUdwekIsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHYixDQUFDLENBQUMrNEIsS0FBSyxLQUFLbjBCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcvRCxDQUFDLEVBQUUrRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcvRCxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRStELENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRy9ELENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxFQUFFK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHL0QsQ0FBQyxLQUFLLEVBQUUsR0FBRyxHQUFHLEVBQUViLENBQUMsQ0FBQ2c1QixLQUFLLEdBQUc3SyxFQUFFLENBQUNudUIsQ0FBQyxDQUFDZzVCLEtBQUssRUFBRXAwQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUvRCxDQUFDLEdBQUcsQ0FBQyxFQUFFQyxDQUFDLEdBQUcsQ0FBQyxFQUFFZCxDQUFDLENBQUN1UyxJQUFJLEdBQUdxa0IsRUFBRTtNQUUvTCxLQUFLQSxFQUFFO1FBQ0wsT0FBTzkxQixDQUFDLEdBQUcsRUFBRSxHQUFHO1VBQ2QsSUFBSSxDQUFDLEtBQUtMLENBQUMsRUFBRSxNQUFNZCxDQUFDO1VBQ3BCYyxDQUFDLEVBQUUsRUFBRUksQ0FBQyxJQUFJWixDQUFDLENBQUNJLENBQUMsRUFBRSxDQUFDLElBQUlTLENBQUMsRUFBRUEsQ0FBQyxJQUFJLENBQUM7UUFDL0I7UUFFQWQsQ0FBQyxDQUFDbWQsSUFBSSxLQUFLbmQsQ0FBQyxDQUFDbWQsSUFBSSxDQUFDbWQsTUFBTSxHQUFHLEdBQUcsR0FBR3o1QixDQUFDLEVBQUViLENBQUMsQ0FBQ21kLElBQUksQ0FBQytXLEVBQUUsR0FBR3J6QixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHYixDQUFDLENBQUMrNEIsS0FBSyxLQUFLbjBCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcvRCxDQUFDLEVBQUUrRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcvRCxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRWIsQ0FBQyxDQUFDZzVCLEtBQUssR0FBRzdLLEVBQUUsQ0FBQ251QixDQUFDLENBQUNnNUIsS0FBSyxFQUFFcDBCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRS9ELENBQUMsR0FBRyxDQUFDLEVBQUVDLENBQUMsR0FBRyxDQUFDLEVBQUVkLENBQUMsQ0FBQ3VTLElBQUksR0FBR3NrQixFQUFFO01BRTdLLEtBQUtBLEVBQUU7UUFDTCxJQUFJLElBQUksR0FBRzcyQixDQUFDLENBQUMrNEIsS0FBSyxFQUFFO1VBQ2xCLE9BQU9qNEIsQ0FBQyxHQUFHLEVBQUUsR0FBRztZQUNkLElBQUksQ0FBQyxLQUFLTCxDQUFDLEVBQUUsTUFBTWQsQ0FBQztZQUNwQmMsQ0FBQyxFQUFFLEVBQUVJLENBQUMsSUFBSVosQ0FBQyxDQUFDSSxDQUFDLEVBQUUsQ0FBQyxJQUFJUyxDQUFDLEVBQUVBLENBQUMsSUFBSSxDQUFDO1VBQy9CO1VBRUFkLENBQUMsQ0FBQ00sTUFBTSxHQUFHTyxDQUFDLEVBQUViLENBQUMsQ0FBQ21kLElBQUksS0FBS25kLENBQUMsQ0FBQ21kLElBQUksQ0FBQ29kLFNBQVMsR0FBRzE1QixDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUdiLENBQUMsQ0FBQys0QixLQUFLLEtBQUtuMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRy9ELENBQUMsRUFBRStELENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRy9ELENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxFQUFFYixDQUFDLENBQUNnNUIsS0FBSyxHQUFHN0ssRUFBRSxDQUFDbnVCLENBQUMsQ0FBQ2c1QixLQUFLLEVBQUVwMEIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFL0QsQ0FBQyxHQUFHLENBQUMsRUFBRUMsQ0FBQyxHQUFHLENBQUM7UUFDdkosQ0FBQyxNQUFNZCxDQUFDLENBQUNtZCxJQUFJLEtBQUtuZCxDQUFDLENBQUNtZCxJQUFJLENBQUM0VyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRXRDL3pCLENBQUMsQ0FBQ3VTLElBQUksR0FBR3VrQixFQUFFO01BRWIsS0FBS0EsRUFBRTtRQUNMLElBQUksSUFBSSxHQUFHOTJCLENBQUMsQ0FBQys0QixLQUFLLEtBQUssQ0FBQzkzQixDQUFDLEdBQUdqQixDQUFDLENBQUNNLE1BQU0sSUFBSUcsQ0FBQyxLQUFLUSxDQUFDLEdBQUdSLENBQUMsQ0FBQyxFQUFFUSxDQUFDLEtBQUtqQixDQUFDLENBQUNtZCxJQUFJLEtBQUsxWixDQUFDLEdBQUd6RCxDQUFDLENBQUNtZCxJQUFJLENBQUNvZCxTQUFTLEdBQUd2NkIsQ0FBQyxDQUFDTSxNQUFNLEVBQUVOLENBQUMsQ0FBQ21kLElBQUksQ0FBQzRXLEtBQUssS0FBSy96QixDQUFDLENBQUNtZCxJQUFJLENBQUM0VyxLQUFLLEdBQUcsSUFBSTV6QixLQUFLLENBQUNILENBQUMsQ0FBQ21kLElBQUksQ0FBQ29kLFNBQVMsQ0FBQyxDQUFDLEVBQUVuUyxFQUFFLENBQUNwb0IsQ0FBQyxDQUFDbWQsSUFBSSxDQUFDNFcsS0FBSyxFQUFFOXpCLENBQUMsRUFBRUksQ0FBQyxFQUFFWSxDQUFDLEVBQUV3QyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBR3pELENBQUMsQ0FBQys0QixLQUFLLEtBQUsvNEIsQ0FBQyxDQUFDZzVCLEtBQUssR0FBRzdLLEVBQUUsQ0FBQ251QixDQUFDLENBQUNnNUIsS0FBSyxFQUFFLzRCLENBQUMsRUFBRWdCLENBQUMsRUFBRVosQ0FBQyxDQUFDLENBQUMsRUFBRUksQ0FBQyxJQUFJUSxDQUFDLEVBQUVaLENBQUMsSUFBSVksQ0FBQyxFQUFFakIsQ0FBQyxDQUFDTSxNQUFNLElBQUlXLENBQUMsQ0FBQyxFQUFFakIsQ0FBQyxDQUFDTSxNQUFNLENBQUMsRUFBRSxNQUFNWCxDQUFDO1FBQzFTSyxDQUFDLENBQUNNLE1BQU0sR0FBRyxDQUFDLEVBQUVOLENBQUMsQ0FBQ3VTLElBQUksR0FBR3drQixFQUFFO01BRTNCLEtBQUtBLEVBQUU7UUFDTCxJQUFJLElBQUksR0FBRy8yQixDQUFDLENBQUMrNEIsS0FBSyxFQUFFO1VBQ2xCLElBQUksQ0FBQyxLQUFLdDRCLENBQUMsRUFBRSxNQUFNZCxDQUFDO1VBQ3BCc0IsQ0FBQyxHQUFHLENBQUM7VUFFTCxHQUFHO1lBQ0R3QyxDQUFDLEdBQUd4RCxDQUFDLENBQUNJLENBQUMsR0FBR1ksQ0FBQyxFQUFFLENBQUMsRUFBRWpCLENBQUMsQ0FBQ21kLElBQUksSUFBSTFaLENBQUMsSUFBSXpELENBQUMsQ0FBQ00sTUFBTSxHQUFHLEtBQUssS0FBS04sQ0FBQyxDQUFDbWQsSUFBSSxDQUFDaEYsSUFBSSxJQUFJN1QsTUFBTSxDQUFDYyxZQUFZLENBQUMzQixDQUFDLENBQUMsQ0FBQztVQUM1RixDQUFDLFFBQVFBLENBQUMsSUFBSXhDLENBQUMsR0FBR1IsQ0FBQztVQUVuQixJQUFJLEdBQUcsR0FBR1QsQ0FBQyxDQUFDKzRCLEtBQUssS0FBSy80QixDQUFDLENBQUNnNUIsS0FBSyxHQUFHN0ssRUFBRSxDQUFDbnVCLENBQUMsQ0FBQ2c1QixLQUFLLEVBQUUvNEIsQ0FBQyxFQUFFZ0IsQ0FBQyxFQUFFWixDQUFDLENBQUMsQ0FBQyxFQUFFSSxDQUFDLElBQUlRLENBQUMsRUFBRVosQ0FBQyxJQUFJWSxDQUFDLEVBQUV3QyxDQUFDLEVBQUUsTUFBTTlELENBQUM7UUFDbkYsQ0FBQyxNQUFNSyxDQUFDLENBQUNtZCxJQUFJLEtBQUtuZCxDQUFDLENBQUNtZCxJQUFJLENBQUNoRixJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRXJDblksQ0FBQyxDQUFDTSxNQUFNLEdBQUcsQ0FBQyxFQUFFTixDQUFDLENBQUN1UyxJQUFJLEdBQUd5a0IsRUFBRTtNQUUzQixLQUFLQSxFQUFFO1FBQ0wsSUFBSSxJQUFJLEdBQUdoM0IsQ0FBQyxDQUFDKzRCLEtBQUssRUFBRTtVQUNsQixJQUFJLENBQUMsS0FBS3Q0QixDQUFDLEVBQUUsTUFBTWQsQ0FBQztVQUNwQnNCLENBQUMsR0FBRyxDQUFDO1VBRUwsR0FBRztZQUNEd0MsQ0FBQyxHQUFHeEQsQ0FBQyxDQUFDSSxDQUFDLEdBQUdZLENBQUMsRUFBRSxDQUFDLEVBQUVqQixDQUFDLENBQUNtZCxJQUFJLElBQUkxWixDQUFDLElBQUl6RCxDQUFDLENBQUNNLE1BQU0sR0FBRyxLQUFLLEtBQUtOLENBQUMsQ0FBQ21kLElBQUksQ0FBQzZXLE9BQU8sSUFBSTF2QixNQUFNLENBQUNjLFlBQVksQ0FBQzNCLENBQUMsQ0FBQyxDQUFDO1VBQy9GLENBQUMsUUFBUUEsQ0FBQyxJQUFJeEMsQ0FBQyxHQUFHUixDQUFDO1VBRW5CLElBQUksR0FBRyxHQUFHVCxDQUFDLENBQUMrNEIsS0FBSyxLQUFLLzRCLENBQUMsQ0FBQ2c1QixLQUFLLEdBQUc3SyxFQUFFLENBQUNudUIsQ0FBQyxDQUFDZzVCLEtBQUssRUFBRS80QixDQUFDLEVBQUVnQixDQUFDLEVBQUVaLENBQUMsQ0FBQyxDQUFDLEVBQUVJLENBQUMsSUFBSVEsQ0FBQyxFQUFFWixDQUFDLElBQUlZLENBQUMsRUFBRXdDLENBQUMsRUFBRSxNQUFNOUQsQ0FBQztRQUNuRixDQUFDLE1BQU1LLENBQUMsQ0FBQ21kLElBQUksS0FBS25kLENBQUMsQ0FBQ21kLElBQUksQ0FBQzZXLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFeENoMEIsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHMGtCLEVBQUU7TUFFYixLQUFLQSxFQUFFO1FBQ0wsSUFBSSxHQUFHLEdBQUdqM0IsQ0FBQyxDQUFDKzRCLEtBQUssRUFBRTtVQUNqQixPQUFPajRCLENBQUMsR0FBRyxFQUFFLEdBQUc7WUFDZCxJQUFJLENBQUMsS0FBS0wsQ0FBQyxFQUFFLE1BQU1kLENBQUM7WUFDcEJjLENBQUMsRUFBRSxFQUFFSSxDQUFDLElBQUlaLENBQUMsQ0FBQ0ksQ0FBQyxFQUFFLENBQUMsSUFBSVMsQ0FBQyxFQUFFQSxDQUFDLElBQUksQ0FBQztVQUMvQjtVQUVBLElBQUlELENBQUMsTUFBTSxLQUFLLEdBQUdiLENBQUMsQ0FBQ2c1QixLQUFLLENBQUMsRUFBRTtZQUMzQnI1QixDQUFDLENBQUNxb0IsR0FBRyxHQUFHLHFCQUFxQixFQUFFaG9CLENBQUMsQ0FBQ3VTLElBQUksR0FBRytsQixFQUFFO1lBQzFDO1VBQ0Y7VUFFQXozQixDQUFDLEdBQUcsQ0FBQyxFQUFFQyxDQUFDLEdBQUcsQ0FBQztRQUNkO1FBRUFkLENBQUMsQ0FBQ21kLElBQUksS0FBS25kLENBQUMsQ0FBQ21kLElBQUksQ0FBQzJXLElBQUksR0FBRzl6QixDQUFDLENBQUMrNEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUvNEIsQ0FBQyxDQUFDbWQsSUFBSSxDQUFDa2QsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUxNkIsQ0FBQyxDQUFDd29CLEtBQUssR0FBR25vQixDQUFDLENBQUNnNUIsS0FBSyxHQUFHLENBQUMsRUFBRWg1QixDQUFDLENBQUN1UyxJQUFJLEdBQUc2a0IsRUFBRTtRQUNoRztNQUVGLEtBQUtGLEVBQUU7UUFDTCxPQUFPcDJCLENBQUMsR0FBRyxFQUFFLEdBQUc7VUFDZCxJQUFJLENBQUMsS0FBS0wsQ0FBQyxFQUFFLE1BQU1kLENBQUM7VUFDcEJjLENBQUMsRUFBRSxFQUFFSSxDQUFDLElBQUlaLENBQUMsQ0FBQ0ksQ0FBQyxFQUFFLENBQUMsSUFBSVMsQ0FBQyxFQUFFQSxDQUFDLElBQUksQ0FBQztRQUMvQjtRQUVBbkIsQ0FBQyxDQUFDd29CLEtBQUssR0FBR25vQixDQUFDLENBQUNnNUIsS0FBSyxHQUFHTCxFQUFFLENBQUM5M0IsQ0FBQyxDQUFDLEVBQUVBLENBQUMsR0FBRyxDQUFDLEVBQUVDLENBQUMsR0FBRyxDQUFDLEVBQUVkLENBQUMsQ0FBQ3VTLElBQUksR0FBRzRrQixFQUFFO01BRXRELEtBQUtBLEVBQUU7UUFDTCxJQUFJLENBQUMsS0FBS24zQixDQUFDLENBQUM4NEIsUUFBUSxFQUFFLE9BQU9uNUIsQ0FBQyxDQUFDa29CLFFBQVEsR0FBR3JuQixDQUFDLEVBQUViLENBQUMsQ0FBQ21vQixTQUFTLEdBQUdsbkIsQ0FBQyxFQUFFakIsQ0FBQyxDQUFDOG5CLE9BQU8sR0FBR3BuQixDQUFDLEVBQUVWLENBQUMsQ0FBQytuQixRQUFRLEdBQUdqbkIsQ0FBQyxFQUFFVCxDQUFDLENBQUMwMEIsSUFBSSxHQUFHN3pCLENBQUMsRUFBRWIsQ0FBQyxDQUFDMjBCLElBQUksR0FBRzd6QixDQUFDLEVBQUVxMUIsRUFBRTtRQUN2SHgyQixDQUFDLENBQUN3b0IsS0FBSyxHQUFHbm9CLENBQUMsQ0FBQ2c1QixLQUFLLEdBQUcsQ0FBQyxFQUFFaDVCLENBQUMsQ0FBQ3VTLElBQUksR0FBRzZrQixFQUFFO01BRXBDLEtBQUtBLEVBQUU7UUFDTCxJQUFJcjNCLENBQUMsS0FBS2cyQixFQUFFLElBQUloMkIsQ0FBQyxLQUFLaTJCLEVBQUUsRUFBRSxNQUFNcjJCLENBQUM7TUFFbkMsS0FBSzAzQixFQUFFO1FBQ0wsSUFBSXIzQixDQUFDLENBQUM2NEIsSUFBSSxFQUFFO1VBQ1ZoNEIsQ0FBQyxNQUFNLENBQUMsR0FBR0MsQ0FBQyxFQUFFQSxDQUFDLElBQUksQ0FBQyxHQUFHQSxDQUFDLEVBQUVkLENBQUMsQ0FBQ3VTLElBQUksR0FBRzRsQixFQUFFO1VBQ3JDO1FBQ0Y7UUFFQSxPQUFPcjNCLENBQUMsR0FBRyxDQUFDLEdBQUc7VUFDYixJQUFJLENBQUMsS0FBS0wsQ0FBQyxFQUFFLE1BQU1kLENBQUM7VUFDcEJjLENBQUMsRUFBRSxFQUFFSSxDQUFDLElBQUlaLENBQUMsQ0FBQ0ksQ0FBQyxFQUFFLENBQUMsSUFBSVMsQ0FBQyxFQUFFQSxDQUFDLElBQUksQ0FBQztRQUMvQjtRQUVBLFFBQVFkLENBQUMsQ0FBQzY0QixJQUFJLEdBQUcsQ0FBQyxHQUFHaDRCLENBQUMsRUFBRUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUlELENBQUMsTUFBTSxDQUFDLENBQUM7VUFDNUMsS0FBSyxDQUFDO1lBQ0piLENBQUMsQ0FBQ3VTLElBQUksR0FBRytrQixFQUFFO1lBQ1g7VUFFRixLQUFLLENBQUM7WUFDSixJQUFJNkMsRUFBRSxDQUFDbjZCLENBQUMsQ0FBQyxFQUFFQSxDQUFDLENBQUN1UyxJQUFJLEdBQUdxbEIsRUFBRSxFQUFFNzNCLENBQUMsS0FBS2kyQixFQUFFLEVBQUU7Y0FDaENuMUIsQ0FBQyxNQUFNLENBQUMsRUFBRUMsQ0FBQyxJQUFJLENBQUM7Y0FDaEIsTUFBTW5CLENBQUM7WUFDVDtZQUVBO1VBRUYsS0FBSyxDQUFDO1lBQ0pLLENBQUMsQ0FBQ3VTLElBQUksR0FBR2tsQixFQUFFO1lBQ1g7VUFFRixLQUFLLENBQUM7WUFDSjkzQixDQUFDLENBQUNxb0IsR0FBRyxHQUFHLG9CQUFvQixFQUFFaG9CLENBQUMsQ0FBQ3VTLElBQUksR0FBRytsQixFQUFFO1FBQUM7UUFHOUN6M0IsQ0FBQyxNQUFNLENBQUMsRUFBRUMsQ0FBQyxJQUFJLENBQUM7UUFDaEI7TUFFRixLQUFLdzJCLEVBQUU7UUFDTCxLQUFLejJCLENBQUMsTUFBTSxDQUFDLEdBQUdDLENBQUMsRUFBRUEsQ0FBQyxJQUFJLENBQUMsR0FBR0EsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsRUFBRSxHQUFHO1VBQ3RDLElBQUksQ0FBQyxLQUFLTCxDQUFDLEVBQUUsTUFBTWQsQ0FBQztVQUNwQmMsQ0FBQyxFQUFFLEVBQUVJLENBQUMsSUFBSVosQ0FBQyxDQUFDSSxDQUFDLEVBQUUsQ0FBQyxJQUFJUyxDQUFDLEVBQUVBLENBQUMsSUFBSSxDQUFDO1FBQy9CO1FBRUEsSUFBSSxDQUFDLEtBQUssR0FBR0QsQ0FBQyxNQUFNQSxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFO1VBQ3JDbEIsQ0FBQyxDQUFDcW9CLEdBQUcsR0FBRyw4QkFBOEIsRUFBRWhvQixDQUFDLENBQUN1UyxJQUFJLEdBQUcrbEIsRUFBRTtVQUNuRDtRQUNGO1FBRUEsSUFBSXQ0QixDQUFDLENBQUNNLE1BQU0sR0FBRyxLQUFLLEdBQUdPLENBQUMsRUFBRUEsQ0FBQyxHQUFHLENBQUMsRUFBRUMsQ0FBQyxHQUFHLENBQUMsRUFBRWQsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHZ2xCLEVBQUUsRUFBRXgzQixDQUFDLEtBQUtpMkIsRUFBRSxFQUFFLE1BQU1yMkIsQ0FBQztNQUV4RSxLQUFLNDNCLEVBQUU7UUFDTHYzQixDQUFDLENBQUN1UyxJQUFJLEdBQUdpbEIsRUFBRTtNQUViLEtBQUtBLEVBQUU7UUFDTCxJQUFJdjJCLENBQUMsR0FBR2pCLENBQUMsQ0FBQ00sTUFBTSxFQUFFO1VBQ2hCLElBQUlXLENBQUMsR0FBR1IsQ0FBQyxLQUFLUSxDQUFDLEdBQUdSLENBQUMsQ0FBQyxFQUFFUSxDQUFDLEdBQUdMLENBQUMsS0FBS0ssQ0FBQyxHQUFHTCxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUtLLENBQUMsRUFBRSxNQUFNdEIsQ0FBQztVQUN4RHlvQixFQUFFLENBQUNob0IsQ0FBQyxFQUFFSCxDQUFDLEVBQUVJLENBQUMsRUFBRVksQ0FBQyxFQUFFVCxDQUFDLENBQUMsRUFBRUMsQ0FBQyxJQUFJUSxDQUFDLEVBQUVaLENBQUMsSUFBSVksQ0FBQyxFQUFFTCxDQUFDLElBQUlLLENBQUMsRUFBRVQsQ0FBQyxJQUFJUyxDQUFDLEVBQUVqQixDQUFDLENBQUNNLE1BQU0sSUFBSVcsQ0FBQztVQUNoRTtRQUNGO1FBRUFqQixDQUFDLENBQUN1UyxJQUFJLEdBQUc2a0IsRUFBRTtRQUNYO01BRUYsS0FBS0ssRUFBRTtRQUNMLE9BQU8zMkIsQ0FBQyxHQUFHLEVBQUUsR0FBRztVQUNkLElBQUksQ0FBQyxLQUFLTCxDQUFDLEVBQUUsTUFBTWQsQ0FBQztVQUNwQmMsQ0FBQyxFQUFFLEVBQUVJLENBQUMsSUFBSVosQ0FBQyxDQUFDSSxDQUFDLEVBQUUsQ0FBQyxJQUFJUyxDQUFDLEVBQUVBLENBQUMsSUFBSSxDQUFDO1FBQy9CO1FBRUEsSUFBSWQsQ0FBQyxDQUFDcTVCLElBQUksR0FBRyxHQUFHLElBQUksRUFBRSxHQUFHeDRCLENBQUMsQ0FBQyxFQUFFQSxDQUFDLE1BQU0sQ0FBQyxFQUFFQyxDQUFDLElBQUksQ0FBQyxFQUFFZCxDQUFDLENBQUNzNUIsS0FBSyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUd6NEIsQ0FBQyxDQUFDLEVBQUVBLENBQUMsTUFBTSxDQUFDLEVBQUVDLENBQUMsSUFBSSxDQUFDLEVBQUVkLENBQUMsQ0FBQ281QixLQUFLLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBR3Y0QixDQUFDLENBQUMsRUFBRUEsQ0FBQyxNQUFNLENBQUMsRUFBRUMsQ0FBQyxJQUFJLENBQUMsRUFBRWQsQ0FBQyxDQUFDcTVCLElBQUksR0FBRyxHQUFHLElBQUlyNUIsQ0FBQyxDQUFDczVCLEtBQUssR0FBRyxFQUFFLEVBQUU7VUFDL0ozNUIsQ0FBQyxDQUFDcW9CLEdBQUcsR0FBRyxxQ0FBcUMsRUFBRWhvQixDQUFDLENBQUN1UyxJQUFJLEdBQUcrbEIsRUFBRTtVQUMxRDtRQUNGO1FBRUF0NEIsQ0FBQyxDQUFDdTVCLElBQUksR0FBRyxDQUFDLEVBQUV2NUIsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHbWxCLEVBQUU7TUFFekIsS0FBS0EsRUFBRTtRQUNMLE9BQU8xM0IsQ0FBQyxDQUFDdTVCLElBQUksR0FBR3Y1QixDQUFDLENBQUNvNUIsS0FBSyxHQUFHO1VBQ3hCLE9BQU90NEIsQ0FBQyxHQUFHLENBQUMsR0FBRztZQUNiLElBQUksQ0FBQyxLQUFLTCxDQUFDLEVBQUUsTUFBTWQsQ0FBQztZQUNwQmMsQ0FBQyxFQUFFLEVBQUVJLENBQUMsSUFBSVosQ0FBQyxDQUFDSSxDQUFDLEVBQUUsQ0FBQyxJQUFJUyxDQUFDLEVBQUVBLENBQUMsSUFBSSxDQUFDO1VBQy9CO1VBRUFkLENBQUMsQ0FBQ3c1QixJQUFJLENBQUMxMEIsQ0FBQyxDQUFDOUUsQ0FBQyxDQUFDdTVCLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcxNEIsQ0FBQyxFQUFFQSxDQUFDLE1BQU0sQ0FBQyxFQUFFQyxDQUFDLElBQUksQ0FBQztRQUMvQztRQUVBLE9BQU9kLENBQUMsQ0FBQ3U1QixJQUFJLEdBQUcsRUFBRTtVQUFHdjVCLENBQUMsQ0FBQ3c1QixJQUFJLENBQUMxMEIsQ0FBQyxDQUFDOUUsQ0FBQyxDQUFDdTVCLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQUM7UUFFN0MsSUFBSXY1QixDQUFDLENBQUM0MEIsT0FBTyxHQUFHNTBCLENBQUMsQ0FBQzA1QixNQUFNLEVBQUUxNUIsQ0FBQyxDQUFDODBCLE9BQU8sR0FBRyxDQUFDLEVBQUU3d0IsQ0FBQyxHQUFHO1VBQzNDMHdCLElBQUksRUFBRTMwQixDQUFDLENBQUM4MEI7UUFDVixDQUFDLEVBQUU5d0IsQ0FBQyxHQUFHMnhCLEVBQUUsQ0FBQ0MsRUFBRSxFQUFFNTFCLENBQUMsQ0FBQ3c1QixJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRXg1QixDQUFDLENBQUM0MEIsT0FBTyxFQUFFLENBQUMsRUFBRTUwQixDQUFDLENBQUN5NUIsSUFBSSxFQUFFeDFCLENBQUMsQ0FBQyxFQUFFakUsQ0FBQyxDQUFDODBCLE9BQU8sR0FBRzd3QixDQUFDLENBQUMwd0IsSUFBSSxFQUFFM3dCLENBQUMsRUFBRTtVQUM1RXJFLENBQUMsQ0FBQ3FvQixHQUFHLEdBQUcsMEJBQTBCLEVBQUVob0IsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHK2xCLEVBQUU7VUFDL0M7UUFDRjtRQUVBdDRCLENBQUMsQ0FBQ3U1QixJQUFJLEdBQUcsQ0FBQyxFQUFFdjVCLENBQUMsQ0FBQ3VTLElBQUksR0FBR29sQixFQUFFO01BRXpCLEtBQUtBLEVBQUU7UUFDTCxPQUFPMzNCLENBQUMsQ0FBQ3U1QixJQUFJLEdBQUd2NUIsQ0FBQyxDQUFDcTVCLElBQUksR0FBR3I1QixDQUFDLENBQUNzNUIsS0FBSyxHQUFHO1VBQ2pDLE9BQU9sM0IsQ0FBQyxHQUFHLENBQUNvQyxDQUFDLEdBQUd4RSxDQUFDLENBQUM0MEIsT0FBTyxDQUFDL3pCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSWIsQ0FBQyxDQUFDODBCLE9BQU8sSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFdHlCLENBQUMsR0FBRyxLQUFLLEdBQUdnQyxDQUFDLEVBQUUsRUFBRSxDQUFDckIsQ0FBQyxHQUFHcUIsQ0FBQyxLQUFLLEVBQUUsS0FBSzFELENBQUMsQ0FBQyxHQUFHO1lBQ3pHLElBQUksQ0FBQyxLQUFLTCxDQUFDLEVBQUUsTUFBTWQsQ0FBQztZQUNwQmMsQ0FBQyxFQUFFLEVBQUVJLENBQUMsSUFBSVosQ0FBQyxDQUFDSSxDQUFDLEVBQUUsQ0FBQyxJQUFJUyxDQUFDLEVBQUVBLENBQUMsSUFBSSxDQUFDO1VBQy9CO1VBRUEsSUFBSTBCLENBQUMsR0FBRyxFQUFFLEVBQUUzQixDQUFDLE1BQU1zQyxDQUFDLEVBQUVyQyxDQUFDLElBQUlxQyxDQUFDLEVBQUVuRCxDQUFDLENBQUN3NUIsSUFBSSxDQUFDeDVCLENBQUMsQ0FBQ3U1QixJQUFJLEVBQUUsQ0FBQyxHQUFHLzJCLENBQUMsQ0FBQyxLQUFLO1lBQ3RELElBQUksRUFBRSxLQUFLQSxDQUFDLEVBQUU7Y0FDWixLQUFLMkIsQ0FBQyxHQUFHaEIsQ0FBQyxHQUFHLENBQUMsRUFBRXJDLENBQUMsR0FBR3FELENBQUMsR0FBRztnQkFDdEIsSUFBSSxDQUFDLEtBQUsxRCxDQUFDLEVBQUUsTUFBTWQsQ0FBQztnQkFDcEJjLENBQUMsRUFBRSxFQUFFSSxDQUFDLElBQUlaLENBQUMsQ0FBQ0ksQ0FBQyxFQUFFLENBQUMsSUFBSVMsQ0FBQyxFQUFFQSxDQUFDLElBQUksQ0FBQztjQUMvQjtjQUVBLElBQUlELENBQUMsTUFBTXNDLENBQUMsRUFBRXJDLENBQUMsSUFBSXFDLENBQUMsRUFBRSxDQUFDLEtBQUtuRCxDQUFDLENBQUN1NUIsSUFBSSxFQUFFO2dCQUNsQzU1QixDQUFDLENBQUNxb0IsR0FBRyxHQUFHLDJCQUEyQixFQUFFaG9CLENBQUMsQ0FBQ3VTLElBQUksR0FBRytsQixFQUFFO2dCQUNoRDtjQUNGO2NBRUE3MEIsQ0FBQyxHQUFHekQsQ0FBQyxDQUFDdzVCLElBQUksQ0FBQ3g1QixDQUFDLENBQUN1NUIsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFdDRCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHSixDQUFDLENBQUMsRUFBRUEsQ0FBQyxNQUFNLENBQUMsRUFBRUMsQ0FBQyxJQUFJLENBQUM7WUFDM0QsQ0FBQyxNQUFNLElBQUksRUFBRSxLQUFLMEIsQ0FBQyxFQUFFO2NBQ25CLEtBQUsyQixDQUFDLEdBQUdoQixDQUFDLEdBQUcsQ0FBQyxFQUFFckMsQ0FBQyxHQUFHcUQsQ0FBQyxHQUFHO2dCQUN0QixJQUFJLENBQUMsS0FBSzFELENBQUMsRUFBRSxNQUFNZCxDQUFDO2dCQUNwQmMsQ0FBQyxFQUFFLEVBQUVJLENBQUMsSUFBSVosQ0FBQyxDQUFDSSxDQUFDLEVBQUUsQ0FBQyxJQUFJUyxDQUFDLEVBQUVBLENBQUMsSUFBSSxDQUFDO2NBQy9CO2NBRUFBLENBQUMsSUFBSXFDLENBQUMsRUFBRU0sQ0FBQyxHQUFHLENBQUMsRUFBRXhDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJSixDQUFDLE1BQU1zQyxDQUFDLENBQUMsQ0FBQyxFQUFFdEMsQ0FBQyxNQUFNLENBQUMsRUFBRUMsQ0FBQyxJQUFJLENBQUM7WUFDM0QsQ0FBQyxNQUFNO2NBQ0wsS0FBS3FELENBQUMsR0FBR2hCLENBQUMsR0FBRyxDQUFDLEVBQUVyQyxDQUFDLEdBQUdxRCxDQUFDLEdBQUc7Z0JBQ3RCLElBQUksQ0FBQyxLQUFLMUQsQ0FBQyxFQUFFLE1BQU1kLENBQUM7Z0JBQ3BCYyxDQUFDLEVBQUUsRUFBRUksQ0FBQyxJQUFJWixDQUFDLENBQUNJLENBQUMsRUFBRSxDQUFDLElBQUlTLENBQUMsRUFBRUEsQ0FBQyxJQUFJLENBQUM7Y0FDL0I7Y0FFQUEsQ0FBQyxJQUFJcUMsQ0FBQyxFQUFFTSxDQUFDLEdBQUcsQ0FBQyxFQUFFeEMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxHQUFHLElBQUlKLENBQUMsTUFBTXNDLENBQUMsQ0FBQyxDQUFDLEVBQUV0QyxDQUFDLE1BQU0sQ0FBQyxFQUFFQyxDQUFDLElBQUksQ0FBQztZQUM5RDtZQUVBLElBQUlkLENBQUMsQ0FBQ3U1QixJQUFJLEdBQUd0NEIsQ0FBQyxHQUFHakIsQ0FBQyxDQUFDcTVCLElBQUksR0FBR3I1QixDQUFDLENBQUNzNUIsS0FBSyxFQUFFO2NBQ2pDMzVCLENBQUMsQ0FBQ3FvQixHQUFHLEdBQUcsMkJBQTJCLEVBQUVob0IsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHK2xCLEVBQUU7Y0FDaEQ7WUFDRjtZQUVBLE9BQU9yM0IsQ0FBQyxFQUFFO2NBQUdqQixDQUFDLENBQUN3NUIsSUFBSSxDQUFDeDVCLENBQUMsQ0FBQ3U1QixJQUFJLEVBQUUsQ0FBQyxHQUFHOTFCLENBQUM7WUFBQztVQUNwQztRQUNGO1FBRUEsSUFBSXpELENBQUMsQ0FBQ3VTLElBQUksS0FBSytsQixFQUFFLEVBQUU7UUFFbkIsSUFBSSxDQUFDLEtBQUt0NEIsQ0FBQyxDQUFDdzVCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtVQUNyQjc1QixDQUFDLENBQUNxb0IsR0FBRyxHQUFHLHNDQUFzQyxFQUFFaG9CLENBQUMsQ0FBQ3VTLElBQUksR0FBRytsQixFQUFFO1VBQzNEO1FBQ0Y7UUFFQSxJQUFJdDRCLENBQUMsQ0FBQzgwQixPQUFPLEdBQUcsQ0FBQyxFQUFFN3dCLENBQUMsR0FBRztVQUNyQjB3QixJQUFJLEVBQUUzMEIsQ0FBQyxDQUFDODBCO1FBQ1YsQ0FBQyxFQUFFOXdCLENBQUMsR0FBRzJ4QixFQUFFLENBQUN0ZixFQUFFLEVBQUVyVyxDQUFDLENBQUN3NUIsSUFBSSxFQUFFLENBQUMsRUFBRXg1QixDQUFDLENBQUNxNUIsSUFBSSxFQUFFcjVCLENBQUMsQ0FBQzQwQixPQUFPLEVBQUUsQ0FBQyxFQUFFNTBCLENBQUMsQ0FBQ3k1QixJQUFJLEVBQUV4MUIsQ0FBQyxDQUFDLEVBQUVqRSxDQUFDLENBQUM4MEIsT0FBTyxHQUFHN3dCLENBQUMsQ0FBQzB3QixJQUFJLEVBQUUzd0IsQ0FBQyxFQUFFO1VBQ2hGckUsQ0FBQyxDQUFDcW9CLEdBQUcsR0FBRyw2QkFBNkIsRUFBRWhvQixDQUFDLENBQUN1UyxJQUFJLEdBQUcrbEIsRUFBRTtVQUNsRDtRQUNGO1FBRUEsSUFBSXQ0QixDQUFDLENBQUMrMEIsUUFBUSxHQUFHLENBQUMsRUFBRS8wQixDQUFDLENBQUM2MEIsUUFBUSxHQUFHNzBCLENBQUMsQ0FBQzI1QixPQUFPLEVBQUUxMUIsQ0FBQyxHQUFHO1VBQzlDMHdCLElBQUksRUFBRTMwQixDQUFDLENBQUMrMEI7UUFDVixDQUFDLEVBQUUvd0IsQ0FBQyxHQUFHMnhCLEVBQUUsQ0FBQ0UsRUFBRSxFQUFFNzFCLENBQUMsQ0FBQ3c1QixJQUFJLEVBQUV4NUIsQ0FBQyxDQUFDcTVCLElBQUksRUFBRXI1QixDQUFDLENBQUNzNUIsS0FBSyxFQUFFdDVCLENBQUMsQ0FBQzYwQixRQUFRLEVBQUUsQ0FBQyxFQUFFNzBCLENBQUMsQ0FBQ3k1QixJQUFJLEVBQUV4MUIsQ0FBQyxDQUFDLEVBQUVqRSxDQUFDLENBQUMrMEIsUUFBUSxHQUFHOXdCLENBQUMsQ0FBQzB3QixJQUFJLEVBQUUzd0IsQ0FBQyxFQUFFO1VBQ3hGckUsQ0FBQyxDQUFDcW9CLEdBQUcsR0FBRyx1QkFBdUIsRUFBRWhvQixDQUFDLENBQUN1UyxJQUFJLEdBQUcrbEIsRUFBRTtVQUM1QztRQUNGO1FBRUEsSUFBSXQ0QixDQUFDLENBQUN1UyxJQUFJLEdBQUdxbEIsRUFBRSxFQUFFNzNCLENBQUMsS0FBS2kyQixFQUFFLEVBQUUsTUFBTXIyQixDQUFDO01BRXBDLEtBQUtpNEIsRUFBRTtRQUNMNTNCLENBQUMsQ0FBQ3VTLElBQUksR0FBR3NsQixFQUFFO01BRWIsS0FBS0EsRUFBRTtRQUNMLElBQUlwM0IsQ0FBQyxJQUFJLENBQUMsSUFBSUcsQ0FBQyxJQUFJLEdBQUcsRUFBRTtVQUN0QmpCLENBQUMsQ0FBQ2tvQixRQUFRLEdBQUdybkIsQ0FBQyxFQUFFYixDQUFDLENBQUNtb0IsU0FBUyxHQUFHbG5CLENBQUMsRUFBRWpCLENBQUMsQ0FBQzhuQixPQUFPLEdBQUdwbkIsQ0FBQyxFQUFFVixDQUFDLENBQUMrbkIsUUFBUSxHQUFHam5CLENBQUMsRUFBRVQsQ0FBQyxDQUFDMDBCLElBQUksR0FBRzd6QixDQUFDLEVBQUViLENBQUMsQ0FBQzIwQixJQUFJLEdBQUc3ekIsQ0FBQyxFQUFFdXpCLEVBQUUsQ0FBQzEwQixDQUFDLEVBQUVxQixDQUFDLENBQUMsRUFBRVIsQ0FBQyxHQUFHYixDQUFDLENBQUNrb0IsUUFBUSxFQUFFem5CLENBQUMsR0FBR1QsQ0FBQyxDQUFDaW9CLE1BQU0sRUFBRWhuQixDQUFDLEdBQUdqQixDQUFDLENBQUNtb0IsU0FBUyxFQUFFem5CLENBQUMsR0FBR1YsQ0FBQyxDQUFDOG5CLE9BQU8sRUFBRXhuQixDQUFDLEdBQUdOLENBQUMsQ0FBQzZuQixLQUFLLEVBQUUvbUIsQ0FBQyxHQUFHZCxDQUFDLENBQUMrbkIsUUFBUSxFQUFFN21CLENBQUMsR0FBR2IsQ0FBQyxDQUFDMDBCLElBQUksRUFBRTV6QixDQUFDLEdBQUdkLENBQUMsQ0FBQzIwQixJQUFJLEVBQUUzMEIsQ0FBQyxDQUFDdVMsSUFBSSxLQUFLNmtCLEVBQUUsS0FBS3AzQixDQUFDLENBQUM0NUIsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO1VBQ25QO1FBQ0Y7UUFFQSxLQUFLNTVCLENBQUMsQ0FBQzQ1QixJQUFJLEdBQUcsQ0FBQyxFQUFFeDNCLENBQUMsR0FBRyxDQUFDb0MsQ0FBQyxHQUFHeEUsQ0FBQyxDQUFDNDBCLE9BQU8sQ0FBQy96QixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUliLENBQUMsQ0FBQzgwQixPQUFPLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsRUFBRXR5QixDQUFDLEdBQUcsS0FBSyxHQUFHZ0MsQ0FBQyxFQUFFLEVBQUUsQ0FBQ3JCLENBQUMsR0FBR3FCLENBQUMsS0FBSyxFQUFFLEtBQUsxRCxDQUFDLENBQUMsR0FBRztVQUNuSCxJQUFJLENBQUMsS0FBS0wsQ0FBQyxFQUFFLE1BQU1kLENBQUM7VUFDcEJjLENBQUMsRUFBRSxFQUFFSSxDQUFDLElBQUlaLENBQUMsQ0FBQ0ksQ0FBQyxFQUFFLENBQUMsSUFBSVMsQ0FBQyxFQUFFQSxDQUFDLElBQUksQ0FBQztRQUMvQjtRQUVBLElBQUlzQixDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBR0EsQ0FBQyxDQUFDLEVBQUU7VUFDdkIsS0FBS1UsQ0FBQyxHQUFHSyxDQUFDLEVBQUVOLENBQUMsR0FBR1QsQ0FBQyxFQUFFTSxDQUFDLEdBQUdGLENBQUMsRUFBRUosQ0FBQyxHQUFHLENBQUNvQyxDQUFDLEdBQUd4RSxDQUFDLENBQUM0MEIsT0FBTyxDQUFDbHlCLENBQUMsSUFBSSxDQUFDN0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJaUMsQ0FBQyxHQUFHRCxDQUFDLElBQUksQ0FBQyxLQUFLQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEVBQUVOLENBQUMsR0FBRyxLQUFLLEdBQUdnQyxDQUFDLEVBQUUsRUFBRTFCLENBQUMsSUFBSUssQ0FBQyxHQUFHcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJMUQsQ0FBQyxDQUFDLEdBQUc7WUFDekksSUFBSSxDQUFDLEtBQUtMLENBQUMsRUFBRSxNQUFNZCxDQUFDO1lBQ3BCYyxDQUFDLEVBQUUsRUFBRUksQ0FBQyxJQUFJWixDQUFDLENBQUNJLENBQUMsRUFBRSxDQUFDLElBQUlTLENBQUMsRUFBRUEsQ0FBQyxJQUFJLENBQUM7VUFDL0I7VUFFQUQsQ0FBQyxNQUFNaUMsQ0FBQyxFQUFFaEMsQ0FBQyxJQUFJZ0MsQ0FBQyxFQUFFOUMsQ0FBQyxDQUFDNDVCLElBQUksSUFBSTkyQixDQUFDO1FBQy9CO1FBRUEsSUFBSWpDLENBQUMsTUFBTXNDLENBQUMsRUFBRXJDLENBQUMsSUFBSXFDLENBQUMsRUFBRW5ELENBQUMsQ0FBQzQ1QixJQUFJLElBQUl6MkIsQ0FBQyxFQUFFbkQsQ0FBQyxDQUFDTSxNQUFNLEdBQUdrQyxDQUFDLEVBQUUsQ0FBQyxLQUFLSixDQUFDLEVBQUU7VUFDeERwQyxDQUFDLENBQUN1UyxJQUFJLEdBQUcybEIsRUFBRTtVQUNYO1FBQ0Y7UUFFQSxJQUFJLEVBQUUsR0FBRzkxQixDQUFDLEVBQUU7VUFDVnBDLENBQUMsQ0FBQzQ1QixJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU1NUIsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHNmtCLEVBQUU7VUFDeEI7UUFDRjtRQUVBLElBQUksRUFBRSxHQUFHaDFCLENBQUMsRUFBRTtVQUNWekMsQ0FBQyxDQUFDcW9CLEdBQUcsR0FBRyw2QkFBNkIsRUFBRWhvQixDQUFDLENBQUN1UyxJQUFJLEdBQUcrbEIsRUFBRTtVQUNsRDtRQUNGO1FBRUF0NEIsQ0FBQyxDQUFDK3pCLEtBQUssR0FBRyxFQUFFLEdBQUczeEIsQ0FBQyxFQUFFcEMsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHdWxCLEVBQUU7TUFFL0IsS0FBS0EsRUFBRTtRQUNMLElBQUk5M0IsQ0FBQyxDQUFDK3pCLEtBQUssRUFBRTtVQUNYLEtBQUs1dkIsQ0FBQyxHQUFHbkUsQ0FBQyxDQUFDK3pCLEtBQUssRUFBRWp6QixDQUFDLEdBQUdxRCxDQUFDLEdBQUc7WUFDeEIsSUFBSSxDQUFDLEtBQUsxRCxDQUFDLEVBQUUsTUFBTWQsQ0FBQztZQUNwQmMsQ0FBQyxFQUFFLEVBQUVJLENBQUMsSUFBSVosQ0FBQyxDQUFDSSxDQUFDLEVBQUUsQ0FBQyxJQUFJUyxDQUFDLEVBQUVBLENBQUMsSUFBSSxDQUFDO1VBQy9CO1VBRUFkLENBQUMsQ0FBQ00sTUFBTSxJQUFJTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUliLENBQUMsQ0FBQyt6QixLQUFLLElBQUksQ0FBQyxFQUFFbHpCLENBQUMsTUFBTWIsQ0FBQyxDQUFDK3pCLEtBQUssRUFBRWp6QixDQUFDLElBQUlkLENBQUMsQ0FBQyt6QixLQUFLLEVBQUUvekIsQ0FBQyxDQUFDNDVCLElBQUksSUFBSTU1QixDQUFDLENBQUMrekIsS0FBSztRQUNyRjtRQUVBL3pCLENBQUMsQ0FBQzY1QixHQUFHLEdBQUc3NUIsQ0FBQyxDQUFDTSxNQUFNLEVBQUVOLENBQUMsQ0FBQ3VTLElBQUksR0FBR3dsQixFQUFFO01BRS9CLEtBQUtBLEVBQUU7UUFDTCxPQUFPMzFCLENBQUMsR0FBRyxDQUFDb0MsQ0FBQyxHQUFHeEUsQ0FBQyxDQUFDNjBCLFFBQVEsQ0FBQ2gwQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUliLENBQUMsQ0FBQyswQixRQUFRLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsRUFBRXZ5QixDQUFDLEdBQUcsS0FBSyxHQUFHZ0MsQ0FBQyxFQUFFLEVBQUUsQ0FBQ3JCLENBQUMsR0FBR3FCLENBQUMsS0FBSyxFQUFFLEtBQUsxRCxDQUFDLENBQUMsR0FBRztVQUMzRyxJQUFJLENBQUMsS0FBS0wsQ0FBQyxFQUFFLE1BQU1kLENBQUM7VUFDcEJjLENBQUMsRUFBRSxFQUFFSSxDQUFDLElBQUlaLENBQUMsQ0FBQ0ksQ0FBQyxFQUFFLENBQUMsSUFBSVMsQ0FBQyxFQUFFQSxDQUFDLElBQUksQ0FBQztRQUMvQjtRQUVBLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBR3NCLENBQUMsQ0FBQyxFQUFFO1VBQ2xCLEtBQUtVLENBQUMsR0FBR0ssQ0FBQyxFQUFFTixDQUFDLEdBQUdULENBQUMsRUFBRU0sQ0FBQyxHQUFHRixDQUFDLEVBQUVKLENBQUMsR0FBRyxDQUFDb0MsQ0FBQyxHQUFHeEUsQ0FBQyxDQUFDNjBCLFFBQVEsQ0FBQ255QixDQUFDLElBQUksQ0FBQzdCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSWlDLENBQUMsR0FBR0QsQ0FBQyxJQUFJLENBQUMsS0FBS0MsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFTixDQUFDLEdBQUcsS0FBSyxHQUFHZ0MsQ0FBQyxFQUFFLEVBQUUxQixDQUFDLElBQUlLLENBQUMsR0FBR3FCLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSTFELENBQUMsQ0FBQyxHQUFHO1lBQzFJLElBQUksQ0FBQyxLQUFLTCxDQUFDLEVBQUUsTUFBTWQsQ0FBQztZQUNwQmMsQ0FBQyxFQUFFLEVBQUVJLENBQUMsSUFBSVosQ0FBQyxDQUFDSSxDQUFDLEVBQUUsQ0FBQyxJQUFJUyxDQUFDLEVBQUVBLENBQUMsSUFBSSxDQUFDO1VBQy9CO1VBRUFELENBQUMsTUFBTWlDLENBQUMsRUFBRWhDLENBQUMsSUFBSWdDLENBQUMsRUFBRTlDLENBQUMsQ0FBQzQ1QixJQUFJLElBQUk5MkIsQ0FBQztRQUMvQjtRQUVBLElBQUlqQyxDQUFDLE1BQU1zQyxDQUFDLEVBQUVyQyxDQUFDLElBQUlxQyxDQUFDLEVBQUVuRCxDQUFDLENBQUM0NUIsSUFBSSxJQUFJejJCLENBQUMsRUFBRSxFQUFFLEdBQUdmLENBQUMsRUFBRTtVQUN6Q3pDLENBQUMsQ0FBQ3FvQixHQUFHLEdBQUcsdUJBQXVCLEVBQUVob0IsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHK2xCLEVBQUU7VUFDNUM7UUFDRjtRQUVBdDRCLENBQUMsQ0FBQ201QixNQUFNLEdBQUczMkIsQ0FBQyxFQUFFeEMsQ0FBQyxDQUFDK3pCLEtBQUssR0FBRyxFQUFFLEdBQUczeEIsQ0FBQyxFQUFFcEMsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHeWxCLEVBQUU7TUFFN0MsS0FBS0EsRUFBRTtRQUNMLElBQUloNEIsQ0FBQyxDQUFDK3pCLEtBQUssRUFBRTtVQUNYLEtBQUs1dkIsQ0FBQyxHQUFHbkUsQ0FBQyxDQUFDK3pCLEtBQUssRUFBRWp6QixDQUFDLEdBQUdxRCxDQUFDLEdBQUc7WUFDeEIsSUFBSSxDQUFDLEtBQUsxRCxDQUFDLEVBQUUsTUFBTWQsQ0FBQztZQUNwQmMsQ0FBQyxFQUFFLEVBQUVJLENBQUMsSUFBSVosQ0FBQyxDQUFDSSxDQUFDLEVBQUUsQ0FBQyxJQUFJUyxDQUFDLEVBQUVBLENBQUMsSUFBSSxDQUFDO1VBQy9CO1VBRUFkLENBQUMsQ0FBQ201QixNQUFNLElBQUl0NEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJYixDQUFDLENBQUMrekIsS0FBSyxJQUFJLENBQUMsRUFBRWx6QixDQUFDLE1BQU1iLENBQUMsQ0FBQyt6QixLQUFLLEVBQUVqekIsQ0FBQyxJQUFJZCxDQUFDLENBQUMrekIsS0FBSyxFQUFFL3pCLENBQUMsQ0FBQzQ1QixJQUFJLElBQUk1NUIsQ0FBQyxDQUFDK3pCLEtBQUs7UUFDckY7UUFFQSxJQUFJL3pCLENBQUMsQ0FBQ201QixNQUFNLEdBQUduNUIsQ0FBQyxDQUFDczBCLElBQUksRUFBRTtVQUNyQjMwQixDQUFDLENBQUNxb0IsR0FBRyxHQUFHLCtCQUErQixFQUFFaG9CLENBQUMsQ0FBQ3VTLElBQUksR0FBRytsQixFQUFFO1VBQ3BEO1FBQ0Y7UUFFQXQ0QixDQUFDLENBQUN1UyxJQUFJLEdBQUcwbEIsRUFBRTtNQUViLEtBQUtBLEVBQUU7UUFDTCxJQUFJLENBQUMsS0FBS3IzQixDQUFDLEVBQUUsTUFBTWpCLENBQUM7UUFFcEIsSUFBSXNCLENBQUMsR0FBR0QsQ0FBQyxHQUFHSixDQUFDLEVBQUVaLENBQUMsQ0FBQ201QixNQUFNLEdBQUdsNEIsQ0FBQyxFQUFFO1VBQzNCLElBQUksQ0FBQ0EsQ0FBQyxHQUFHakIsQ0FBQyxDQUFDbTVCLE1BQU0sR0FBR2w0QixDQUFDLElBQUlqQixDQUFDLENBQUN3MEIsS0FBSyxJQUFJeDBCLENBQUMsQ0FBQ2cxQixJQUFJLEVBQUU7WUFDMUNyMUIsQ0FBQyxDQUFDcW9CLEdBQUcsR0FBRywrQkFBK0IsRUFBRWhvQixDQUFDLENBQUN1UyxJQUFJLEdBQUcrbEIsRUFBRTtZQUNwRDtVQUNGO1VBRUFyM0IsQ0FBQyxHQUFHakIsQ0FBQyxDQUFDeTBCLEtBQUssSUFBSXh6QixDQUFDLElBQUlqQixDQUFDLENBQUN5MEIsS0FBSyxFQUFFcHpCLENBQUMsR0FBR3JCLENBQUMsQ0FBQ3UwQixLQUFLLEdBQUd0ekIsQ0FBQyxJQUFJSSxDQUFDLEdBQUdyQixDQUFDLENBQUN5MEIsS0FBSyxHQUFHeHpCLENBQUMsRUFBRUEsQ0FBQyxHQUFHakIsQ0FBQyxDQUFDTSxNQUFNLEtBQUtXLENBQUMsR0FBR2pCLENBQUMsQ0FBQ00sTUFBTSxDQUFDLEVBQUVnQixDQUFDLEdBQUd0QixDQUFDLENBQUNGLE1BQU07UUFDL0csQ0FBQyxNQUFNd0IsQ0FBQyxHQUFHbEIsQ0FBQyxFQUFFaUIsQ0FBQyxHQUFHYixDQUFDLEdBQUdSLENBQUMsQ0FBQ201QixNQUFNLEVBQUVsNEIsQ0FBQyxHQUFHakIsQ0FBQyxDQUFDTSxNQUFNO1FBRTVDVyxDQUFDLEdBQUdMLENBQUMsS0FBS0ssQ0FBQyxHQUFHTCxDQUFDLENBQUMsRUFBRUEsQ0FBQyxJQUFJSyxDQUFDLEVBQUVqQixDQUFDLENBQUNNLE1BQU0sSUFBSVcsQ0FBQztRQUV2QyxHQUFHO1VBQ0RiLENBQUMsQ0FBQ0ksQ0FBQyxFQUFFLENBQUMsR0FBR2MsQ0FBQyxDQUFDRCxDQUFDLEVBQUUsQ0FBQztRQUNqQixDQUFDLFFBQVEsRUFBRUosQ0FBQztRQUVaLENBQUMsS0FBS2pCLENBQUMsQ0FBQ00sTUFBTSxLQUFLTixDQUFDLENBQUN1UyxJQUFJLEdBQUdzbEIsRUFBRSxDQUFDO1FBQy9CO01BRUYsS0FBS0ssRUFBRTtRQUNMLElBQUksQ0FBQyxLQUFLdDNCLENBQUMsRUFBRSxNQUFNakIsQ0FBQztRQUNwQlMsQ0FBQyxDQUFDSSxDQUFDLEVBQUUsQ0FBQyxHQUFHUixDQUFDLENBQUNNLE1BQU0sRUFBRU0sQ0FBQyxFQUFFLEVBQUVaLENBQUMsQ0FBQ3VTLElBQUksR0FBR3NsQixFQUFFO1FBQ25DO01BRUYsS0FBS00sRUFBRTtRQUNMLElBQUluNEIsQ0FBQyxDQUFDa2xCLElBQUksRUFBRTtVQUNWLE9BQU9wa0IsQ0FBQyxHQUFHLEVBQUUsR0FBRztZQUNkLElBQUksQ0FBQyxLQUFLTCxDQUFDLEVBQUUsTUFBTWQsQ0FBQztZQUNwQmMsQ0FBQyxFQUFFLEVBQUVJLENBQUMsSUFBSVosQ0FBQyxDQUFDSSxDQUFDLEVBQUUsQ0FBQyxJQUFJUyxDQUFDLEVBQUVBLENBQUMsSUFBSSxDQUFDO1VBQy9CO1VBRUEsSUFBSUUsQ0FBQyxJQUFJSixDQUFDLEVBQUVqQixDQUFDLENBQUNvb0IsU0FBUyxJQUFJL21CLENBQUMsRUFBRWhCLENBQUMsQ0FBQ2k1QixLQUFLLElBQUlqNEIsQ0FBQyxFQUFFQSxDQUFDLEtBQUtyQixDQUFDLENBQUN3b0IsS0FBSyxHQUFHbm9CLENBQUMsQ0FBQ2c1QixLQUFLLEdBQUdoNUIsQ0FBQyxDQUFDKzRCLEtBQUssR0FBRzVLLEVBQUUsQ0FBQ251QixDQUFDLENBQUNnNUIsS0FBSyxFQUFFNTRCLENBQUMsRUFBRVksQ0FBQyxFQUFFUixDQUFDLEdBQUdRLENBQUMsQ0FBQyxHQUFHaXRCLEVBQUUsQ0FBQ2p1QixDQUFDLENBQUNnNUIsS0FBSyxFQUFFNTRCLENBQUMsRUFBRVksQ0FBQyxFQUFFUixDQUFDLEdBQUdRLENBQUMsQ0FBQyxDQUFDLEVBQUVBLENBQUMsR0FBR0osQ0FBQyxFQUFFLENBQUNaLENBQUMsQ0FBQys0QixLQUFLLEdBQUdsNEIsQ0FBQyxHQUFHODNCLEVBQUUsQ0FBQzkzQixDQUFDLENBQUMsTUFBTWIsQ0FBQyxDQUFDZzVCLEtBQUssRUFBRTtZQUM5S3I1QixDQUFDLENBQUNxb0IsR0FBRyxHQUFHLHNCQUFzQixFQUFFaG9CLENBQUMsQ0FBQ3VTLElBQUksR0FBRytsQixFQUFFO1lBQzNDO1VBQ0Y7VUFFQXozQixDQUFDLEdBQUcsQ0FBQyxFQUFFQyxDQUFDLEdBQUcsQ0FBQztRQUNkO1FBRUFkLENBQUMsQ0FBQ3VTLElBQUksR0FBRzZsQixFQUFFO01BRWIsS0FBS0EsRUFBRTtRQUNMLElBQUlwNEIsQ0FBQyxDQUFDa2xCLElBQUksSUFBSWxsQixDQUFDLENBQUMrNEIsS0FBSyxFQUFFO1VBQ3JCLE9BQU9qNEIsQ0FBQyxHQUFHLEVBQUUsR0FBRztZQUNkLElBQUksQ0FBQyxLQUFLTCxDQUFDLEVBQUUsTUFBTWQsQ0FBQztZQUNwQmMsQ0FBQyxFQUFFLEVBQUVJLENBQUMsSUFBSVosQ0FBQyxDQUFDSSxDQUFDLEVBQUUsQ0FBQyxJQUFJUyxDQUFDLEVBQUVBLENBQUMsSUFBSSxDQUFDO1VBQy9CO1VBRUEsSUFBSUQsQ0FBQyxNQUFNLFVBQVUsR0FBR2IsQ0FBQyxDQUFDaTVCLEtBQUssQ0FBQyxFQUFFO1lBQ2hDdDVCLENBQUMsQ0FBQ3FvQixHQUFHLEdBQUcsd0JBQXdCLEVBQUVob0IsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHK2xCLEVBQUU7WUFDN0M7VUFDRjtVQUVBejNCLENBQUMsR0FBRyxDQUFDLEVBQUVDLENBQUMsR0FBRyxDQUFDO1FBQ2Q7UUFFQWQsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHOGxCLEVBQUU7TUFFYixLQUFLQSxFQUFFO1FBQ0xyMEIsQ0FBQyxHQUFHa3lCLEVBQUU7UUFDTixNQUFNdjJCLENBQUM7TUFFVCxLQUFLMjRCLEVBQUU7UUFDTHQwQixDQUFDLEdBQUdxeUIsRUFBRTtRQUNOLE1BQU0xMkIsQ0FBQztNQUVULEtBQUs0NEIsRUFBRTtRQUNMLE9BQU9qQyxFQUFFO01BRVgsS0FBS2tDLEVBQUU7TUFDUDtRQUNFLE9BQU9wQyxFQUFFO0lBQUM7RUFDYjtFQUVELE9BQU96MkIsQ0FBQyxDQUFDa29CLFFBQVEsR0FBR3JuQixDQUFDLEVBQUViLENBQUMsQ0FBQ21vQixTQUFTLEdBQUdsbkIsQ0FBQyxFQUFFakIsQ0FBQyxDQUFDOG5CLE9BQU8sR0FBR3BuQixDQUFDLEVBQUVWLENBQUMsQ0FBQytuQixRQUFRLEdBQUdqbkIsQ0FBQyxFQUFFVCxDQUFDLENBQUMwMEIsSUFBSSxHQUFHN3pCLENBQUMsRUFBRWIsQ0FBQyxDQUFDMjBCLElBQUksR0FBRzd6QixDQUFDLEVBQUUsQ0FBQ2QsQ0FBQyxDQUFDdTBCLEtBQUssSUFBSXZ6QixDQUFDLEtBQUtyQixDQUFDLENBQUNtb0IsU0FBUyxJQUFJOW5CLENBQUMsQ0FBQ3VTLElBQUksR0FBRytsQixFQUFFLEtBQUt0NEIsQ0FBQyxDQUFDdVMsSUFBSSxHQUFHNGxCLEVBQUUsSUFBSXA0QixDQUFDLEtBQUsrMUIsRUFBRSxDQUFDLEtBQUssVUFBVW4yQixDQUFDLEVBQUVJLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7SUFDak0sSUFBSUcsQ0FBQztNQUNEQyxDQUFDLEdBQUdWLENBQUMsQ0FBQ3NvQixLQUFLO0lBQ2YsSUFBSSxLQUFLNW5CLENBQUMsQ0FBQ1AsTUFBTSxLQUFLTyxDQUFDLENBQUNrMEIsS0FBSyxHQUFHLENBQUMsSUFBSWwwQixDQUFDLENBQUM2NEIsS0FBSyxFQUFFNzRCLENBQUMsQ0FBQ28wQixLQUFLLEdBQUcsQ0FBQyxFQUFFcDBCLENBQUMsQ0FBQ20wQixLQUFLLEdBQUcsQ0FBQyxFQUFFbjBCLENBQUMsQ0FBQ1AsTUFBTSxHQUFHLElBQUl1b0IsRUFBRSxDQUFDaG9CLENBQUMsQ0FBQ2swQixLQUFLLENBQUMsQ0FBQyxFQUFFdDBCLENBQUMsSUFBSUksQ0FBQyxDQUFDazBCLEtBQUssSUFBSW5NLEVBQUUsQ0FBQy9uQixDQUFDLENBQUNQLE1BQU0sRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEdBQUdLLENBQUMsQ0FBQ2swQixLQUFLLEVBQUVsMEIsQ0FBQyxDQUFDazBCLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRWwwQixDQUFDLENBQUNvMEIsS0FBSyxHQUFHLENBQUMsRUFBRXAwQixDQUFDLENBQUNtMEIsS0FBSyxHQUFHbjBCLENBQUMsQ0FBQ2swQixLQUFLLEtBQUssQ0FBQ24wQixDQUFDLEdBQUdDLENBQUMsQ0FBQ2swQixLQUFLLEdBQUdsMEIsQ0FBQyxDQUFDbzBCLEtBQUssSUFBSXgwQixDQUFDLEtBQUtHLENBQUMsR0FBR0gsQ0FBQyxDQUFDLEVBQUVtb0IsRUFBRSxDQUFDL25CLENBQUMsQ0FBQ1AsTUFBTSxFQUFFQyxDQUFDLEVBQUVDLENBQUMsR0FBR0MsQ0FBQyxFQUFFRyxDQUFDLEVBQUVDLENBQUMsQ0FBQ28wQixLQUFLLENBQUMsRUFBRSxDQUFDeDBCLENBQUMsSUFBSUcsQ0FBQyxLQUFLZ29CLEVBQUUsQ0FBQy9uQixDQUFDLENBQUNQLE1BQU0sRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEdBQUdDLENBQUMsRUFBRUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFSSxDQUFDLENBQUNvMEIsS0FBSyxHQUFHeDBCLENBQUMsRUFBRUksQ0FBQyxDQUFDbTBCLEtBQUssR0FBR24wQixDQUFDLENBQUNrMEIsS0FBSyxLQUFLbDBCLENBQUMsQ0FBQ28wQixLQUFLLElBQUlyMEIsQ0FBQyxFQUFFQyxDQUFDLENBQUNvMEIsS0FBSyxLQUFLcDBCLENBQUMsQ0FBQ2swQixLQUFLLEtBQUtsMEIsQ0FBQyxDQUFDbzBCLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRXAwQixDQUFDLENBQUNtMEIsS0FBSyxHQUFHbjBCLENBQUMsQ0FBQ2swQixLQUFLLEtBQUtsMEIsQ0FBQyxDQUFDbTBCLEtBQUssSUFBSXAwQixDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ3RiLENBQUMsQ0FBQ1QsQ0FBQyxFQUFFQSxDQUFDLENBQUNpb0IsTUFBTSxFQUFFam9CLENBQUMsQ0FBQ2tvQixRQUFRLEVBQUU3bUIsQ0FBQyxHQUFHckIsQ0FBQyxDQUFDbW9CLFNBQVMsQ0FBQyxFQUFFL21CLENBQUMsSUFBSXBCLENBQUMsQ0FBQytuQixRQUFRLEVBQUUxbUIsQ0FBQyxJQUFJckIsQ0FBQyxDQUFDbW9CLFNBQVMsRUFBRW5vQixDQUFDLENBQUNnb0IsUUFBUSxJQUFJNW1CLENBQUMsRUFBRXBCLENBQUMsQ0FBQ29vQixTQUFTLElBQUkvbUIsQ0FBQyxFQUFFaEIsQ0FBQyxDQUFDaTVCLEtBQUssSUFBSWo0QixDQUFDLEVBQUVoQixDQUFDLENBQUNrbEIsSUFBSSxJQUFJbGtCLENBQUMsS0FBS3JCLENBQUMsQ0FBQ3dvQixLQUFLLEdBQUdub0IsQ0FBQyxDQUFDZzVCLEtBQUssR0FBR2g1QixDQUFDLENBQUMrNEIsS0FBSyxHQUFHNUssRUFBRSxDQUFDbnVCLENBQUMsQ0FBQ2c1QixLQUFLLEVBQUU1NEIsQ0FBQyxFQUFFWSxDQUFDLEVBQUVyQixDQUFDLENBQUNrb0IsUUFBUSxHQUFHN21CLENBQUMsQ0FBQyxHQUFHaXRCLEVBQUUsQ0FBQ2p1QixDQUFDLENBQUNnNUIsS0FBSyxFQUFFNTRCLENBQUMsRUFBRVksQ0FBQyxFQUFFckIsQ0FBQyxDQUFDa29CLFFBQVEsR0FBRzdtQixDQUFDLENBQUMsQ0FBQyxFQUFFckIsQ0FBQyxDQUFDdW9CLFNBQVMsR0FBR2xvQixDQUFDLENBQUMyMEIsSUFBSSxJQUFJMzBCLENBQUMsQ0FBQzY0QixJQUFJLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJNzRCLENBQUMsQ0FBQ3VTLElBQUksS0FBSzZrQixFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJcDNCLENBQUMsQ0FBQ3VTLElBQUksS0FBS3FsQixFQUFFLElBQUk1M0IsQ0FBQyxDQUFDdVMsSUFBSSxLQUFLZ2xCLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUt4MkIsQ0FBQyxJQUFJLENBQUMsS0FBS0MsQ0FBQyxJQUFJakIsQ0FBQyxLQUFLKzFCLEVBQUUsS0FBSzl4QixDQUFDLEtBQUtpeUIsRUFBRSxLQUFLanlCLENBQUMsR0FBR3V5QixFQUFFLENBQUMsRUFBRXZ5QixDQUFDO0FBQ3ZhO0FBRUEsSUFBSXcyQixFQUFFO0VBQ0ZDLEVBQUUsR0FBRyxDQUFDO0VBQ05DLEVBQUUsR0FBRyxDQUFDO0FBRVYsU0FBU0MsRUFBRSxDQUFDaDdCLENBQUMsRUFBRTtFQUNiLElBQUlBLENBQUMsR0FBRzg2QixFQUFFLElBQUk5NkIsQ0FBQyxHQUFHKzZCLEVBQUUsRUFBRSxNQUFNLElBQUlyNEIsU0FBUyxDQUFDLGNBQWMsQ0FBQztFQUN6RCxJQUFJLENBQUNrUSxJQUFJLEdBQUc1UyxDQUFDLEVBQUUsSUFBSSxDQUFDaTdCLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUNDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQ0MsYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQ0MsVUFBVSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUNuTixLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQ29OLFFBQVEsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDbE4sUUFBUSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUNtTixVQUFVLEdBQUcsSUFBSTtBQUM3TDtBQUVBLFNBQVNDLEVBQUUsQ0FBQ3Y3QixDQUFDLEVBQUVJLENBQUMsRUFBRTtFQUNoQixLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR0wsQ0FBQyxDQUFDVyxNQUFNLEVBQUVOLENBQUMsRUFBRTtJQUFFLElBQUksQ0FBQ0QsQ0FBQyxHQUFHQyxDQUFDLENBQUMsR0FBR0wsQ0FBQyxDQUFDSyxDQUFDLENBQUM7RUFBQztBQUN4RDtBQUVBMjZCLEVBQUUsQ0FBQ3o0QixTQUFTLENBQUNzSSxJQUFJLEdBQUcsVUFBVTdLLENBQUMsRUFBRUksQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRUcsQ0FBQyxFQUFFO0VBQzNDLElBQUlDLENBQUM7RUFFTCxRQUFRLElBQUksQ0FBQzA2QixVQUFVLEdBQUdwN0IsQ0FBQyxFQUFFLElBQUksQ0FBQ2l1QixLQUFLLEdBQUc3dEIsQ0FBQyxFQUFFLElBQUksQ0FBQ2k3QixRQUFRLEdBQUdoN0IsQ0FBQyxFQUFFLElBQUksQ0FBQzh0QixRQUFRLEdBQUc3dEIsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUNzUyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQ0EsSUFBSSxLQUFLLElBQUksQ0FBQ3dvQixVQUFVLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDeG9CLElBQUksS0FBS21vQixFQUFFLEtBQUssSUFBSSxDQUFDSyxVQUFVLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQ3hvQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQ0EsSUFBSSxLQUFLLElBQUksQ0FBQ3dvQixVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUNBLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQ2xOLElBQUksR0FBRyxJQUFJdEcsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDaFYsSUFBSTtJQUN4UyxLQUFLa29CLEVBQUU7SUFDUCxLQUFLLENBQUM7SUFDTixLQUFLLENBQUM7TUFDSnA2QixDQUFDLEdBQUcsVUFBVVYsQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFRyxDQUFDLEVBQUVDLENBQUMsRUFBRTtRQUM5QixJQUFJLENBQUNWLENBQUMsRUFBRSxPQUFPZ3ZCLEVBQUU7UUFDakIsSUFBSW51QixDQUFDLEdBQUcsQ0FBQztRQUNULElBQUlULENBQUMsS0FBSyt1QixFQUFFLEtBQUsvdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFRSxDQUFDLEdBQUcsQ0FBQyxJQUFJTyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUcsQ0FBQ0EsQ0FBQyxJQUFJQSxDQUFDLEdBQUcsRUFBRSxLQUFLTyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUVHLENBQUMsR0FBRyxDQUFDLElBQUlBLENBQUMsR0FBR2l2QixFQUFFLElBQUlydkIsQ0FBQyxLQUFLb3ZCLEVBQUUsSUFBSW52QixDQUFDLEdBQUcsQ0FBQyxJQUFJQSxDQUFDLEdBQUcsRUFBRSxJQUFJRixDQUFDLEdBQUcsQ0FBQyxJQUFJQSxDQUFDLEdBQUcsQ0FBQyxJQUFJTSxDQUFDLEdBQUcsQ0FBQyxJQUFJQSxDQUFDLEdBQUc2dUIsRUFBRSxFQUFFLE9BQU95QixFQUFFLENBQUNoeEIsQ0FBQyxFQUFFZ3ZCLEVBQUUsQ0FBQztRQUNwTCxDQUFDLEtBQUsxdUIsQ0FBQyxLQUFLQSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUlRLENBQUMsR0FBRyxJQUFJeXlCLEVBQUUsRUFBRTtRQUNoQixPQUFPdnpCLENBQUMsQ0FBQ3NvQixLQUFLLEdBQUd4bkIsQ0FBQyxFQUFFQSxDQUFDLENBQUNvdEIsSUFBSSxHQUFHbHVCLENBQUMsRUFBRWMsQ0FBQyxDQUFDeWtCLElBQUksR0FBRzFrQixDQUFDLEVBQUVDLENBQUMsQ0FBQzR5QixNQUFNLEdBQUcsSUFBSSxFQUFFNXlCLENBQUMsQ0FBQ2d6QixNQUFNLEdBQUd4ekIsQ0FBQyxFQUFFUSxDQUFDLENBQUNneEIsTUFBTSxHQUFHLENBQUMsSUFBSWh4QixDQUFDLENBQUNnekIsTUFBTSxFQUFFaHpCLENBQUMsQ0FBQ2l4QixNQUFNLEdBQUdqeEIsQ0FBQyxDQUFDZ3hCLE1BQU0sR0FBRyxDQUFDLEVBQUVoeEIsQ0FBQyxDQUFDaXpCLFNBQVMsR0FBR3R6QixDQUFDLEdBQUcsQ0FBQyxFQUFFSyxDQUFDLENBQUN3eEIsU0FBUyxHQUFHLENBQUMsSUFBSXh4QixDQUFDLENBQUNpekIsU0FBUyxFQUFFanpCLENBQUMsQ0FBQzR4QixTQUFTLEdBQUc1eEIsQ0FBQyxDQUFDd3hCLFNBQVMsR0FBRyxDQUFDLEVBQUV4eEIsQ0FBQyxDQUFDMnhCLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQzN4QixDQUFDLENBQUNpekIsU0FBUyxHQUFHL0QsRUFBRSxHQUFHLENBQUMsSUFBSUEsRUFBRSxDQUFDLEVBQUVsdkIsQ0FBQyxDQUFDWCxNQUFNLEdBQUcsSUFBSXVvQixFQUFFLENBQUMsQ0FBQyxHQUFHNW5CLENBQUMsQ0FBQ2d4QixNQUFNLENBQUMsRUFBRWh4QixDQUFDLENBQUMwYyxJQUFJLEdBQUcsSUFBSW1MLEVBQUUsQ0FBQzduQixDQUFDLENBQUN3eEIsU0FBUyxDQUFDLEVBQUV4eEIsQ0FBQyxDQUFDa3hCLElBQUksR0FBRyxJQUFJckosRUFBRSxDQUFDN25CLENBQUMsQ0FBQ2d4QixNQUFNLENBQUMsRUFBRWh4QixDQUFDLENBQUN1dEIsV0FBVyxHQUFHLENBQUMsSUFBSTV0QixDQUFDLEdBQUcsQ0FBQyxFQUFFSyxDQUFDLENBQUMyeUIsZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHM3lCLENBQUMsQ0FBQ3V0QixXQUFXLEVBQUV2dEIsQ0FBQyxDQUFDOHFCLFdBQVcsR0FBRyxJQUFJbEQsRUFBRSxDQUFDNW5CLENBQUMsQ0FBQzJ5QixnQkFBZ0IsQ0FBQyxFQUFFM3lCLENBQUMsQ0FBQ29zQixLQUFLLEdBQUcsQ0FBQyxHQUFHcHNCLENBQUMsQ0FBQ3V0QixXQUFXLEVBQUV2dEIsQ0FBQyxDQUFDcXNCLEtBQUssR0FBRyxDQUFDLEdBQUdyc0IsQ0FBQyxDQUFDdXRCLFdBQVcsRUFBRXZ0QixDQUFDLENBQUNtdEIsS0FBSyxHQUFHN3RCLENBQUMsRUFBRVUsQ0FBQyxDQUFDcXRCLFFBQVEsR0FBR3p0QixDQUFDLEVBQUVJLENBQUMsQ0FBQzh5QixNQUFNLEdBQUd2ekIsQ0FBQyxFQUFFMnpCLEVBQUUsQ0FBQ2gwQixDQUFDLENBQUM7TUFDeGpCLENBQUMsQ0FBQyxJQUFJLENBQUNrdUIsSUFBSSxFQUFFLElBQUksQ0FBQ0QsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUNtTixVQUFVLEVBQUUsSUFBSSxDQUFDQyxRQUFRLEVBQUUsSUFBSSxDQUFDbE4sUUFBUSxDQUFDO01BRTFFO0lBRUYsS0FBSyxDQUFDO0lBQ04sS0FBSyxDQUFDO0lBQ04sS0FBSyxDQUFDO0lBQ04sS0FBSzRNLEVBQUU7TUFDTHI2QixDQUFDLEdBQUcwNUIsRUFBRSxDQUFDLElBQUksQ0FBQ2xNLElBQUksRUFBRSxJQUFJLENBQUNrTixVQUFVLENBQUM7TUFDbEM7SUFFRjtNQUNFLE1BQU0sSUFBSTU0QixLQUFLLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQ29RLElBQUksQ0FBQztFQUFDO0VBR2pELENBQUMsS0FBS2xTLENBQUMsSUFBSSxJQUFJLENBQUN3NkIsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDRCxTQUFTLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDTyxNQUFNLENBQUM5NkIsQ0FBQyxDQUFDO0FBQy9FLENBQUMsRUFBRXM2QixFQUFFLENBQUN6NEIsU0FBUyxDQUFDazVCLE1BQU0sR0FBRyxZQUFZO0VBQ25DLE1BQU0sSUFBSWo1QixLQUFLLENBQUMsNkJBQTZCLENBQUM7QUFDaEQsQ0FBQyxFQUFFdzRCLEVBQUUsQ0FBQ3o0QixTQUFTLENBQUNtNUIsV0FBVyxHQUFHLFlBQVk7RUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQ1QsU0FBUyxFQUFFLE1BQU0sSUFBSXo0QixLQUFLLENBQUMsbUJBQW1CLENBQUM7RUFDekQsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDb1EsSUFBSSxFQUFFLE1BQU0sSUFBSXBRLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztFQUN6RCxJQUFJLElBQUksQ0FBQzA0QixpQkFBaUIsRUFBRSxNQUFNLElBQUkxNEIsS0FBSyxDQUFDLDJCQUEyQixDQUFDO0VBQ3hFLElBQUksSUFBSSxDQUFDMjRCLGFBQWEsRUFBRSxNQUFNLElBQUkzNEIsS0FBSyxDQUFDLGtCQUFrQixDQUFDO0FBQzdELENBQUMsRUFBRXc0QixFQUFFLENBQUN6NEIsU0FBUyxDQUFDUyxLQUFLLEdBQUcsVUFBVWhELENBQUMsRUFBRUksQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRUcsQ0FBQyxFQUFFQyxDQUFDLEVBQUVHLENBQUMsRUFBRTtFQUNyRCxJQUFJLENBQUM2NkIsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDUixpQkFBaUIsR0FBRyxDQUFDLENBQUM7RUFDL0MsSUFBSXA2QixDQUFDLEdBQUcsSUFBSTtFQUNaLE9BQU9vUCxFQUFFLENBQUMsWUFBWTtJQUNwQnBQLENBQUMsQ0FBQ282QixpQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFFeEIsSUFBSWo2QixDQUFDLEdBQUdILENBQUMsQ0FBQzZqQixNQUFNLENBQUMza0IsQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFRyxDQUFDLEVBQUVDLENBQUMsRUFBRUcsQ0FBQyxDQUFDO0lBRXJDQyxDQUFDLENBQUNpaUIsUUFBUSxDQUFDOWhCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVILENBQUMsQ0FBQ3E2QixhQUFhLElBQUlyNkIsQ0FBQyxDQUFDNjZCLEtBQUssRUFBRTtFQUN0RCxDQUFDLENBQUMsRUFBRSxJQUFJO0FBQ1YsQ0FBQyxFQUFFWCxFQUFFLENBQUN6NEIsU0FBUyxDQUFDcTVCLFNBQVMsR0FBRyxVQUFVNTdCLENBQUMsRUFBRUksQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRUcsQ0FBQyxFQUFFQyxDQUFDLEVBQUVHLENBQUMsRUFBRTtFQUN6RCxPQUFPLElBQUksQ0FBQzY2QixXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMvVyxNQUFNLENBQUMza0IsQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFRyxDQUFDLEVBQUVDLENBQUMsRUFBRUcsQ0FBQyxDQUFDO0FBQzdELENBQUMsRUFBRW02QixFQUFFLENBQUN6NEIsU0FBUyxDQUFDb2lCLE1BQU0sR0FBRyxVQUFVM2tCLENBQUMsRUFBRUksQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRUcsQ0FBQyxFQUFFQyxDQUFDLEVBQUVHLENBQUMsRUFBRTtFQUN0RCxJQUFJLElBQUksQ0FBQ3E2QixpQkFBaUIsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUtsN0IsQ0FBQyxJQUFJLENBQUMsS0FBS0EsQ0FBQyxJQUFJLENBQUMsS0FBS0EsQ0FBQyxJQUFJLENBQUMsS0FBS0EsQ0FBQyxJQUFJLENBQUMsS0FBS0EsQ0FBQyxJQUFJLENBQUMsS0FBS0EsQ0FBQyxFQUFFLE1BQU0sSUFBSXdDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQztFQUN2SSxJQUFJLElBQUlwQyxDQUFDLEtBQUtBLENBQUMsR0FBRyxJQUFJc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFcEIsQ0FBQyxHQUFHLENBQUMsRUFBRUQsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFSSxDQUFDLENBQUNvN0IsSUFBSSxHQUFHcDdCLENBQUMsQ0FBQ21KLEdBQUcsR0FBR25KLENBQUMsQ0FBQ283QixJQUFJLEdBQUdwN0IsQ0FBQyxDQUFDbUosR0FBRyxHQUFHMnhCLEVBQUU7RUFDL0UsSUFBSXo2QixDQUFDO0lBQ0RHLENBQUMsR0FBRyxJQUFJLENBQUNpdEIsSUFBSTtFQUVqQixRQUFRanRCLENBQUMsQ0FBQzhtQixRQUFRLEdBQUd6bkIsQ0FBQyxFQUFFVyxDQUFDLENBQUM0bUIsS0FBSyxHQUFHem5CLENBQUMsRUFBRWEsQ0FBQyxDQUFDNm1CLE9BQU8sR0FBR3puQixDQUFDLEVBQUVZLENBQUMsQ0FBQ2tuQixTQUFTLEdBQUd0bkIsQ0FBQyxFQUFFSSxDQUFDLENBQUNnbkIsTUFBTSxHQUFHeG5CLENBQUMsRUFBRVEsQ0FBQyxDQUFDaW5CLFFBQVEsR0FBR3huQixDQUFDLEVBQUUsSUFBSSxDQUFDa1MsSUFBSTtJQUMxRyxLQUFLa29CLEVBQUU7SUFDUCxLQUFLLENBQUM7SUFDTixLQUFLLENBQUM7TUFDSmg2QixDQUFDLEdBQUdtekIsRUFBRSxDQUFDaHpCLENBQUMsRUFBRWpCLENBQUMsQ0FBQztNQUNaO0lBRUYsS0FBSys2QixFQUFFO0lBQ1AsS0FBSyxDQUFDO0lBQ04sS0FBSyxDQUFDO0lBQ04sS0FBSyxDQUFDO01BQ0pqNkIsQ0FBQyxHQUFHMjVCLEVBQUUsQ0FBQ3g1QixDQUFDLEVBQUVqQixDQUFDLENBQUM7TUFDWjtJQUVGO01BQ0UsTUFBTSxJQUFJd0MsS0FBSyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUNvUSxJQUFJLENBQUM7RUFBQztFQUdqRCxPQUFPLENBQUMsS0FBSzlSLENBQUMsSUFBSSxDQUFDLEtBQUtBLENBQUMsSUFBSSxJQUFJLENBQUMwNkIsTUFBTSxDQUFDMTZCLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQ282QixpQkFBaUIsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDajZCLENBQUMsQ0FBQzhtQixRQUFRLEVBQUU5bUIsQ0FBQyxDQUFDa25CLFNBQVMsQ0FBQztBQUNyRyxDQUFDLEVBQUU2UyxFQUFFLENBQUN6NEIsU0FBUyxDQUFDbzVCLEtBQUssR0FBRyxZQUFZO0VBQ2xDLElBQUksQ0FBQ1QsaUJBQWlCLEdBQUcsSUFBSSxDQUFDQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDQSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDdm9CLElBQUksS0FBS2tvQixFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQ2xvQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQ0EsSUFBSSxHQUFHLFVBQVU1UyxDQUFDLEVBQUU7SUFDakosSUFBSUksQ0FBQztJQUNMSixDQUFDLElBQUlBLENBQUMsQ0FBQ3NvQixLQUFLLEtBQUssQ0FBQ2xvQixDQUFDLEdBQUdKLENBQUMsQ0FBQ3NvQixLQUFLLENBQUNrTCxNQUFNLE1BQU1wRCxFQUFFLElBQUlod0IsQ0FBQyxLQUFLaXdCLEVBQUUsSUFBSWp3QixDQUFDLEtBQUtrd0IsRUFBRSxJQUFJbHdCLENBQUMsS0FBS213QixFQUFFLElBQUlud0IsQ0FBQyxLQUFLb3dCLEVBQUUsSUFBSXB3QixDQUFDLEtBQUtxd0IsRUFBRSxJQUFJcndCLENBQUMsS0FBS3N3QixFQUFFLEdBQUdNLEVBQUUsQ0FBQ2h4QixDQUFDLEVBQUVndkIsRUFBRSxDQUFDLElBQUlodkIsQ0FBQyxDQUFDc29CLEtBQUssR0FBRyxJQUFJLEVBQUVsb0IsQ0FBQyxLQUFLcXdCLEVBQUUsSUFBSU8sRUFBRSxDQUFDaHhCLENBQUMsRUFBRWl2QixFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQzdLLENBQUMsQ0FBQyxJQUFJLENBQUNmLElBQUksQ0FBQyxHQUFHLFVBQVVsdUIsQ0FBQyxFQUFFO0lBQzFCLElBQUksQ0FBQ0EsQ0FBQyxJQUFJLENBQUNBLENBQUMsQ0FBQ3NvQixLQUFLLEVBQUUsT0FBT21PLEVBQUU7SUFDN0IsSUFBSXIyQixDQUFDLEdBQUdKLENBQUMsQ0FBQ3NvQixLQUFLO0lBQ2Zsb0IsQ0FBQyxDQUFDRCxNQUFNLEtBQUtDLENBQUMsQ0FBQ0QsTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFSCxDQUFDLENBQUNzb0IsS0FBSyxHQUFHLElBQUk7RUFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQzRGLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQ3RiLElBQUksR0FBRyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxFQUFFb29CLEVBQUUsQ0FBQ3o0QixTQUFTLENBQUMwSixLQUFLLEdBQUcsWUFBWTtFQUNsQyxRQUFRLElBQUksQ0FBQzJHLElBQUk7SUFDZixLQUFLa29CLEVBQUU7SUFDUCxLQUFLLENBQUM7TUFDSkQsRUFBRSxHQUFHN0csRUFBRSxDQUFDLElBQUksQ0FBQzlGLElBQUksQ0FBQztNQUNsQjtJQUVGLEtBQUssQ0FBQztJQUNOLEtBQUssQ0FBQztNQUNKMk0sRUFBRSxHQUFHVixFQUFFLENBQUMsSUFBSSxDQUFDak0sSUFBSSxDQUFDO0VBQUM7RUFHdkIsQ0FBQyxLQUFLMk0sRUFBRSxJQUFJLElBQUksQ0FBQ1csTUFBTSxDQUFDWCxFQUFFLENBQUM7QUFDN0IsQ0FBQyxFQUFFRyxFQUFFLENBQUN6NEIsU0FBUyxDQUFDaTVCLE1BQU0sR0FBRyxVQUFVeDdCLENBQUMsRUFBRTtFQUNwQyxJQUFJLENBQUM4N0IsT0FBTyxDQUFDblUsRUFBRSxDQUFDM25CLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUNrdUIsSUFBSSxDQUFDN0YsR0FBRyxFQUFFcm9CLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQ2s3QixpQkFBaUIsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUNDLGFBQWEsSUFBSSxJQUFJLENBQUNRLEtBQUssRUFBRTtBQUNoSCxDQUFDO0FBQ0QsSUFBSUksRUFBRSxHQUFHenhCLE1BQU0sQ0FBQzB4QixNQUFNLENBQUM7RUFDckJDLElBQUksRUFBRSxDQUFDO0VBQ1BDLE9BQU8sRUFBRXBCLEVBQUU7RUFDWHFCLE9BQU8sRUFBRSxDQUFDO0VBQ1ZDLElBQUksRUFBRSxDQUFDO0VBQ1BDLE1BQU0sRUFBRSxDQUFDO0VBQ1RDLFVBQVUsRUFBRSxDQUFDO0VBQ2JDLFVBQVUsRUFBRSxDQUFDO0VBQ2JDLEtBQUssRUFBRXpCLEVBQUU7RUFDVDBCLFVBQVUsRUFBRSxDQUFDO0VBQ2JDLGVBQWUsRUFBRSxDQUFDO0VBQ2xCQyxZQUFZLEVBQUUsQ0FBQztFQUNmQyxZQUFZLEVBQUUsQ0FBQztFQUNmQyxRQUFRLEVBQUUsQ0FBQztFQUNYQyxPQUFPLEVBQUUsQ0FBQztFQUNWQyxPQUFPLEVBQUUsQ0FBQztFQUNWQyxJQUFJLEVBQUUsQ0FBQztFQUNQQyxZQUFZLEVBQUUsQ0FBQztFQUNmQyxXQUFXLEVBQUUsQ0FBQztFQUNkQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0VBQ1hDLGNBQWMsRUFBRSxDQUFDLENBQUM7RUFDbEJDLFlBQVksRUFBRSxDQUFDLENBQUM7RUFDaEJDLFdBQVcsRUFBRSxDQUFDLENBQUM7RUFDZkMsZ0JBQWdCLEVBQUUsQ0FBQztFQUNuQkMsWUFBWSxFQUFFLENBQUM7RUFDZkMsa0JBQWtCLEVBQUUsQ0FBQztFQUNyQkMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0VBQ3pCQyxVQUFVLEVBQUUsQ0FBQztFQUNiQyxjQUFjLEVBQUUsQ0FBQztFQUNqQkMsS0FBSyxFQUFFLENBQUM7RUFDUkMsT0FBTyxFQUFFLENBQUM7RUFDVkMsa0JBQWtCLEVBQUUsQ0FBQztFQUNyQkMsUUFBUSxFQUFFLENBQUM7RUFDWEMsTUFBTSxFQUFFLENBQUM7RUFDVEMsU0FBUyxFQUFFLENBQUM7RUFDWkMsVUFBVSxFQUFFLENBQUM7RUFDYkMsSUFBSSxFQUFFcEQ7QUFDUixDQUFDLENBQUM7QUFDRixJQUFJcUQsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNYL3pCLE1BQU0sQ0FBQzZQLElBQUksQ0FBQzRoQixFQUFFLENBQUMsQ0FBQ3pmLE9BQU8sQ0FBQyxVQUFVdGMsQ0FBQyxFQUFFO0VBQ25DcStCLEVBQUUsQ0FBQ3IrQixDQUFDLENBQUMsR0FBRys3QixFQUFFLENBQUMvN0IsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLEVBQUVxK0IsRUFBRSxDQUFDQyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUVELEVBQUUsQ0FBQ0UsZ0JBQWdCLEdBQUcsRUFBRSxFQUFFRixFQUFFLENBQUNHLG9CQUFvQixHQUFHLEVBQUUsRUFBRUgsRUFBRSxDQUFDSSxXQUFXLEdBQUcsRUFBRSxFQUFFSixFQUFFLENBQUNLLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFTCxFQUFFLENBQUNNLGVBQWUsR0FBRyxLQUFLLEVBQUVOLEVBQUUsQ0FBQ08sY0FBYyxHQUFHLENBQUMsRUFBRVAsRUFBRSxDQUFDUSxjQUFjLEdBQUcsQ0FBQyxFQUFFUixFQUFFLENBQUNTLGtCQUFrQixHQUFHLENBQUMsRUFBRVQsRUFBRSxDQUFDVSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEVBQUVWLEVBQUUsQ0FBQ1csV0FBVyxHQUFHLENBQUMsRUFBRVgsRUFBRSxDQUFDWSxlQUFlLEdBQUdaLEVBQUUsQ0FBQ1gscUJBQXFCO0FBQzdULElBQUl3QixFQUFFLEdBQUc7RUFDUGxDLElBQUksRUFBRXFCLEVBQUUsQ0FBQ3JCLElBQUk7RUFDYkMsWUFBWSxFQUFFb0IsRUFBRSxDQUFDcEIsWUFBWTtFQUM3QkMsV0FBVyxFQUFFbUIsRUFBRSxDQUFDbkIsV0FBVztFQUMzQkMsT0FBTyxFQUFFa0IsRUFBRSxDQUFDbEIsT0FBTztFQUNuQkMsY0FBYyxFQUFFaUIsRUFBRSxDQUFDakIsY0FBYztFQUNqQ0MsWUFBWSxFQUFFZ0IsRUFBRSxDQUFDaEIsWUFBWTtFQUM3QjhCLFdBQVcsRUFBRWQsRUFBRSxDQUFDYyxXQUFXO0VBQzNCN0IsV0FBVyxFQUFFZSxFQUFFLENBQUNmLFdBQVc7RUFDM0I4QixlQUFlLEVBQUVmLEVBQUUsQ0FBQ2U7QUFDdEIsQ0FBQztBQUVELFNBQVNDLEVBQUUsQ0FBQ3IvQixDQUFDLEVBQUVJLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ25CLElBQUlDLENBQUMsR0FBRyxFQUFFO0lBQ05HLENBQUMsR0FBRyxDQUFDO0VBRVQsU0FBU0MsQ0FBQyxHQUFHO0lBQ1gsS0FBSyxJQUFJTixDQUFDLEVBQUUsSUFBSSxNQUFNQSxDQUFDLEdBQUdKLENBQUMsQ0FBQzJoQixJQUFJLEVBQUUsQ0FBQztNQUFHcmhCLENBQUMsQ0FBQ1MsSUFBSSxDQUFDWCxDQUFDLENBQUMsRUFBRUssQ0FBQyxJQUFJTCxDQUFDLENBQUNPLE1BQU07SUFBQztJQUUvRFgsQ0FBQyxDQUFDK1osSUFBSSxDQUFDLFVBQVUsRUFBRXJaLENBQUMsQ0FBQztFQUN2QjtFQUVBLFNBQVNHLENBQUMsR0FBRztJQUNYLElBQUlULENBQUMsR0FBR3NCLENBQUMsQ0FBQzBFLE1BQU0sQ0FBQzlGLENBQUMsRUFBRUcsQ0FBQyxDQUFDO0lBQ3RCSCxDQUFDLEdBQUcsRUFBRSxFQUFFRCxDQUFDLENBQUMsSUFBSSxFQUFFRCxDQUFDLENBQUMsRUFBRUosQ0FBQyxDQUFDMjdCLEtBQUssRUFBRTtFQUMvQjtFQUVBMzdCLENBQUMsQ0FBQzZaLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVXpaLENBQUMsRUFBRTtJQUN6QkosQ0FBQyxDQUFDOFksY0FBYyxDQUFDLEtBQUssRUFBRWpZLENBQUMsQ0FBQyxFQUFFYixDQUFDLENBQUM4WSxjQUFjLENBQUMsVUFBVSxFQUFFcFksQ0FBQyxDQUFDLEVBQUVMLENBQUMsQ0FBQ0QsQ0FBQyxDQUFDO0VBQ25FLENBQUMsQ0FBQyxFQUFFSixDQUFDLENBQUM2WixFQUFFLENBQUMsS0FBSyxFQUFFaFosQ0FBQyxDQUFDLEVBQUViLENBQUMsQ0FBQzhmLEdBQUcsQ0FBQzFmLENBQUMsQ0FBQyxFQUFFTSxDQUFDLEVBQUU7QUFDbkM7QUFFQSxTQUFTNCtCLEVBQUUsQ0FBQ3QvQixDQUFDLEVBQUVJLENBQUMsRUFBRTtFQUNoQixJQUFJLFFBQVEsSUFBSSxPQUFPQSxDQUFDLEtBQUtBLENBQUMsR0FBRyxJQUFJc0IsQ0FBQyxDQUFDdEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDOEYsQ0FBQyxDQUFDOUYsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFJc0MsU0FBUyxDQUFDLHdCQUF3QixDQUFDO0VBQ2hHLElBQUlyQyxDQUFDLEdBQUdnK0IsRUFBRSxDQUFDeEIsUUFBUTtFQUNuQixPQUFPNzhCLENBQUMsQ0FBQ3UvQixhQUFhLENBQUNuL0IsQ0FBQyxFQUFFQyxDQUFDLENBQUM7QUFDOUI7QUFFQSxTQUFTbS9CLEVBQUUsQ0FBQ3gvQixDQUFDLEVBQUU7RUFDYixJQUFJLEVBQUUsSUFBSSxZQUFZdy9CLEVBQUUsQ0FBQyxFQUFFLE9BQU8sSUFBSUEsRUFBRSxDQUFDeC9CLENBQUMsQ0FBQztFQUMzQ3kvQixFQUFFLENBQUN0OUIsSUFBSSxDQUFDLElBQUksRUFBRW5DLENBQUMsRUFBRXErQixFQUFFLENBQUNuQyxPQUFPLENBQUM7QUFDOUI7QUFFQSxTQUFTd0QsRUFBRSxDQUFDMS9CLENBQUMsRUFBRTtFQUNiLElBQUksRUFBRSxJQUFJLFlBQVkwL0IsRUFBRSxDQUFDLEVBQUUsT0FBTyxJQUFJQSxFQUFFLENBQUMxL0IsQ0FBQyxDQUFDO0VBQzNDeS9CLEVBQUUsQ0FBQ3Q5QixJQUFJLENBQUMsSUFBSSxFQUFFbkMsQ0FBQyxFQUFFcStCLEVBQUUsQ0FBQ2xDLE9BQU8sQ0FBQztBQUM5QjtBQUVBLFNBQVN3RCxFQUFFLENBQUMzL0IsQ0FBQyxFQUFFO0VBQ2IsSUFBSSxFQUFFLElBQUksWUFBWTIvQixFQUFFLENBQUMsRUFBRSxPQUFPLElBQUlBLEVBQUUsQ0FBQzMvQixDQUFDLENBQUM7RUFDM0N5L0IsRUFBRSxDQUFDdDlCLElBQUksQ0FBQyxJQUFJLEVBQUVuQyxDQUFDLEVBQUVxK0IsRUFBRSxDQUFDakMsSUFBSSxDQUFDO0FBQzNCO0FBRUEsU0FBU3dELEVBQUUsQ0FBQzUvQixDQUFDLEVBQUU7RUFDYixJQUFJLEVBQUUsSUFBSSxZQUFZNC9CLEVBQUUsQ0FBQyxFQUFFLE9BQU8sSUFBSUEsRUFBRSxDQUFDNS9CLENBQUMsQ0FBQztFQUMzQ3kvQixFQUFFLENBQUN0OUIsSUFBSSxDQUFDLElBQUksRUFBRW5DLENBQUMsRUFBRXErQixFQUFFLENBQUNoQyxNQUFNLENBQUM7QUFDN0I7QUFFQSxTQUFTd0QsRUFBRSxDQUFDNy9CLENBQUMsRUFBRTtFQUNiLElBQUksRUFBRSxJQUFJLFlBQVk2L0IsRUFBRSxDQUFDLEVBQUUsT0FBTyxJQUFJQSxFQUFFLENBQUM3L0IsQ0FBQyxDQUFDO0VBQzNDeS9CLEVBQUUsQ0FBQ3Q5QixJQUFJLENBQUMsSUFBSSxFQUFFbkMsQ0FBQyxFQUFFcStCLEVBQUUsQ0FBQy9CLFVBQVUsQ0FBQztBQUNqQztBQUVBLFNBQVN3RCxFQUFFLENBQUM5L0IsQ0FBQyxFQUFFO0VBQ2IsSUFBSSxFQUFFLElBQUksWUFBWTgvQixFQUFFLENBQUMsRUFBRSxPQUFPLElBQUlBLEVBQUUsQ0FBQzkvQixDQUFDLENBQUM7RUFDM0N5L0IsRUFBRSxDQUFDdDlCLElBQUksQ0FBQyxJQUFJLEVBQUVuQyxDQUFDLEVBQUVxK0IsRUFBRSxDQUFDOUIsVUFBVSxDQUFDO0FBQ2pDO0FBRUEsU0FBU3dELEVBQUUsQ0FBQy8vQixDQUFDLEVBQUU7RUFDYixJQUFJLEVBQUUsSUFBSSxZQUFZKy9CLEVBQUUsQ0FBQyxFQUFFLE9BQU8sSUFBSUEsRUFBRSxDQUFDLy9CLENBQUMsQ0FBQztFQUMzQ3kvQixFQUFFLENBQUN0OUIsSUFBSSxDQUFDLElBQUksRUFBRW5DLENBQUMsRUFBRXErQixFQUFFLENBQUM3QixLQUFLLENBQUM7QUFDNUI7QUFFQSxTQUFTaUQsRUFBRSxDQUFDei9CLENBQUMsRUFBRUksQ0FBQyxFQUFFO0VBQ2hCLElBQUksSUFBSSxDQUFDNC9CLEtBQUssR0FBR2hnQyxDQUFDLEdBQUdBLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUNpZ0MsVUFBVSxHQUFHamdDLENBQUMsQ0FBQ2tnQyxTQUFTLElBQUk3QixFQUFFLENBQUNNLGVBQWUsRUFBRWhZLEVBQUUsQ0FBQ3hrQixJQUFJLENBQUMsSUFBSSxFQUFFbkMsQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQzhtQixLQUFLLElBQUk5bUIsQ0FBQyxDQUFDOG1CLEtBQUssS0FBS3VYLEVBQUUsQ0FBQzVCLFVBQVUsSUFBSXo4QixDQUFDLENBQUM4bUIsS0FBSyxLQUFLdVgsRUFBRSxDQUFDM0IsZUFBZSxJQUFJMThCLENBQUMsQ0FBQzhtQixLQUFLLEtBQUt1WCxFQUFFLENBQUMxQixZQUFZLElBQUkzOEIsQ0FBQyxDQUFDOG1CLEtBQUssS0FBS3VYLEVBQUUsQ0FBQ3pCLFlBQVksSUFBSTU4QixDQUFDLENBQUM4bUIsS0FBSyxLQUFLdVgsRUFBRSxDQUFDeEIsUUFBUSxJQUFJNzhCLENBQUMsQ0FBQzhtQixLQUFLLEtBQUt1WCxFQUFFLENBQUN2QixPQUFPLEVBQUUsTUFBTSxJQUFJdDZCLEtBQUssQ0FBQyxzQkFBc0IsR0FBR3hDLENBQUMsQ0FBQzhtQixLQUFLLENBQUM7RUFDalYsSUFBSSxJQUFJLENBQUNxWixVQUFVLEdBQUduZ0MsQ0FBQyxDQUFDOG1CLEtBQUssSUFBSXVYLEVBQUUsQ0FBQzVCLFVBQVUsRUFBRXo4QixDQUFDLENBQUNrZ0MsU0FBUyxLQUFLbGdDLENBQUMsQ0FBQ2tnQyxTQUFTLEdBQUc3QixFQUFFLENBQUNJLFdBQVcsSUFBSXorQixDQUFDLENBQUNrZ0MsU0FBUyxHQUFHN0IsRUFBRSxDQUFDSyxXQUFXLENBQUMsRUFBRSxNQUFNLElBQUlsOEIsS0FBSyxDQUFDLHNCQUFzQixHQUFHeEMsQ0FBQyxDQUFDa2dDLFNBQVMsQ0FBQztFQUNwTCxJQUFJbGdDLENBQUMsQ0FBQ283QixVQUFVLEtBQUtwN0IsQ0FBQyxDQUFDbzdCLFVBQVUsR0FBR2lELEVBQUUsQ0FBQ0MsZ0JBQWdCLElBQUl0K0IsQ0FBQyxDQUFDbzdCLFVBQVUsR0FBR2lELEVBQUUsQ0FBQ0UsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLElBQUkvN0IsS0FBSyxDQUFDLHNCQUFzQixHQUFHeEMsQ0FBQyxDQUFDbzdCLFVBQVUsQ0FBQztFQUN0SixJQUFJcDdCLENBQUMsQ0FBQ2l1QixLQUFLLEtBQUtqdUIsQ0FBQyxDQUFDaXVCLEtBQUssR0FBR29RLEVBQUUsQ0FBQ1UsV0FBVyxJQUFJLytCLENBQUMsQ0FBQ2l1QixLQUFLLEdBQUdvUSxFQUFFLENBQUNXLFdBQVcsQ0FBQyxFQUFFLE1BQU0sSUFBSXg4QixLQUFLLENBQUMsNkJBQTZCLEdBQUd4QyxDQUFDLENBQUNpdUIsS0FBSyxDQUFDO0VBQy9ILElBQUlqdUIsQ0FBQyxDQUFDcTdCLFFBQVEsS0FBS3I3QixDQUFDLENBQUNxN0IsUUFBUSxHQUFHZ0QsRUFBRSxDQUFDTyxjQUFjLElBQUk1K0IsQ0FBQyxDQUFDcTdCLFFBQVEsR0FBR2dELEVBQUUsQ0FBQ1EsY0FBYyxDQUFDLEVBQUUsTUFBTSxJQUFJcjhCLEtBQUssQ0FBQyxvQkFBb0IsR0FBR3hDLENBQUMsQ0FBQ3E3QixRQUFRLENBQUM7RUFDeEksSUFBSXI3QixDQUFDLENBQUNtdUIsUUFBUSxJQUFJbnVCLENBQUMsQ0FBQ211QixRQUFRLElBQUlrUSxFQUFFLENBQUNWLFVBQVUsSUFBSTM5QixDQUFDLENBQUNtdUIsUUFBUSxJQUFJa1EsRUFBRSxDQUFDVCxjQUFjLElBQUk1OUIsQ0FBQyxDQUFDbXVCLFFBQVEsSUFBSWtRLEVBQUUsQ0FBQ1IsS0FBSyxJQUFJNzlCLENBQUMsQ0FBQ211QixRQUFRLElBQUlrUSxFQUFFLENBQUNQLE9BQU8sSUFBSTk5QixDQUFDLENBQUNtdUIsUUFBUSxJQUFJa1EsRUFBRSxDQUFDTixrQkFBa0IsRUFBRSxNQUFNLElBQUl2N0IsS0FBSyxDQUFDLG9CQUFvQixHQUFHeEMsQ0FBQyxDQUFDbXVCLFFBQVEsQ0FBQztFQUNqTyxJQUFJbnVCLENBQUMsQ0FBQ3M3QixVQUFVLElBQUksQ0FBQ3AxQixDQUFDLENBQUNsRyxDQUFDLENBQUNzN0IsVUFBVSxDQUFDLEVBQUUsTUFBTSxJQUFJOTRCLEtBQUssQ0FBQyxvREFBb0QsQ0FBQztFQUMzRyxJQUFJLENBQUM0OUIsUUFBUSxHQUFHLElBQUkvQixFQUFFLENBQUNELElBQUksQ0FBQ2grQixDQUFDLENBQUM7RUFDOUIsSUFBSUMsQ0FBQyxHQUFHLElBQUk7RUFDWixJQUFJLENBQUNnZ0MsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQ0QsUUFBUSxDQUFDdEUsT0FBTyxHQUFHLFVBQVU5N0IsQ0FBQyxFQUFFSSxDQUFDLEVBQUU7SUFDM0RDLENBQUMsQ0FBQysvQixRQUFRLEdBQUcsSUFBSSxFQUFFLy9CLENBQUMsQ0FBQ2dnQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLElBQUkvL0IsQ0FBQyxHQUFHLElBQUlrQyxLQUFLLENBQUN4QyxDQUFDLENBQUM7SUFDcEJNLENBQUMsQ0FBQ2dnQyxLQUFLLEdBQUdsZ0MsQ0FBQyxFQUFFRSxDQUFDLENBQUNpZ0MsSUFBSSxHQUFHbEMsRUFBRSxDQUFDbUMsS0FBSyxDQUFDcGdDLENBQUMsQ0FBQyxFQUFFQyxDQUFDLENBQUM4WCxJQUFJLENBQUMsT0FBTyxFQUFFN1gsQ0FBQyxDQUFDO0VBQ3ZELENBQUM7RUFDRCxJQUFJQSxDQUFDLEdBQUcrOUIsRUFBRSxDQUFDWCxxQkFBcUI7RUFDaEMsUUFBUSxJQUFJLE9BQU8xOUIsQ0FBQyxDQUFDaXVCLEtBQUssS0FBSzN0QixDQUFDLEdBQUdOLENBQUMsQ0FBQ2l1QixLQUFLLENBQUM7RUFDM0MsSUFBSXh0QixDQUFDLEdBQUc0OUIsRUFBRSxDQUFDTixrQkFBa0I7RUFDN0IsUUFBUSxJQUFJLE9BQU8vOUIsQ0FBQyxDQUFDbXVCLFFBQVEsS0FBSzF0QixDQUFDLEdBQUdULENBQUMsQ0FBQ211QixRQUFRLENBQUMsRUFBRSxJQUFJLENBQUNpUyxRQUFRLENBQUN2MUIsSUFBSSxDQUFDN0ssQ0FBQyxDQUFDbzdCLFVBQVUsSUFBSWlELEVBQUUsQ0FBQ0csb0JBQW9CLEVBQUVsK0IsQ0FBQyxFQUFFTixDQUFDLENBQUNxN0IsUUFBUSxJQUFJZ0QsRUFBRSxDQUFDUyxrQkFBa0IsRUFBRXIrQixDQUFDLEVBQUVULENBQUMsQ0FBQ3M3QixVQUFVLENBQUMsRUFBRSxJQUFJLENBQUNtRixPQUFPLEdBQUcsSUFBSS8rQixDQUFDLENBQUMsSUFBSSxDQUFDdStCLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQ1MsT0FBTyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUNDLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUNDLE1BQU0sR0FBR3RnQyxDQUFDLEVBQUUsSUFBSSxDQUFDdWdDLFNBQVMsR0FBR3BnQyxDQUFDLEVBQUUsSUFBSSxDQUFDc1osSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM0aEIsS0FBSyxDQUFDO0FBQ3hUO0FBRUFyeEIsTUFBTSxDQUFDNlAsSUFBSSxDQUFDK2tCLEVBQUUsQ0FBQyxDQUFDNWlCLE9BQU8sQ0FBQyxVQUFVdGMsQ0FBQyxFQUFFO0VBQ25Day9CLEVBQUUsQ0FBQ0EsRUFBRSxDQUFDbC9CLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUM7QUFDZixDQUFDLENBQUMsRUFBRXlhLEVBQUUsQ0FBQ2dsQixFQUFFLEVBQUU5WSxFQUFFLENBQUMsRUFBRThZLEVBQUUsQ0FBQ2w5QixTQUFTLENBQUNrNUIsTUFBTSxHQUFHLFVBQVV6N0IsQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUN2RCxJQUFJTCxDQUFDLEdBQUdxK0IsRUFBRSxDQUFDVSxXQUFXLElBQUkvK0IsQ0FBQyxHQUFHcStCLEVBQUUsQ0FBQ1csV0FBVyxFQUFFLE1BQU0sSUFBSTM4QixVQUFVLENBQUMsNkJBQTZCLEdBQUdyQyxDQUFDLENBQUM7RUFDckcsSUFBSUksQ0FBQyxJQUFJaStCLEVBQUUsQ0FBQ1YsVUFBVSxJQUFJdjlCLENBQUMsSUFBSWkrQixFQUFFLENBQUNULGNBQWMsSUFBSXg5QixDQUFDLElBQUlpK0IsRUFBRSxDQUFDUixLQUFLLElBQUl6OUIsQ0FBQyxJQUFJaStCLEVBQUUsQ0FBQ1AsT0FBTyxJQUFJMTlCLENBQUMsSUFBSWkrQixFQUFFLENBQUNOLGtCQUFrQixFQUFFLE1BQU0sSUFBSXI3QixTQUFTLENBQUMsb0JBQW9CLEdBQUd0QyxDQUFDLENBQUM7RUFFakssSUFBSSxJQUFJLENBQUN3Z0MsTUFBTSxLQUFLNWdDLENBQUMsSUFBSSxJQUFJLENBQUM2Z0MsU0FBUyxLQUFLemdDLENBQUMsRUFBRTtJQUM3QyxJQUFJRSxDQUFDLEdBQUcsSUFBSTtJQUNaLElBQUksQ0FBQ3dtQixLQUFLLENBQUN1WCxFQUFFLENBQUMxQixZQUFZLEVBQUUsWUFBWTtNQUN0Q3I4QixDQUFDLENBQUM4L0IsUUFBUSxDQUFDM0UsTUFBTSxDQUFDejdCLENBQUMsRUFBRUksQ0FBQyxDQUFDLEVBQUVFLENBQUMsQ0FBQysvQixTQUFTLEtBQUsvL0IsQ0FBQyxDQUFDc2dDLE1BQU0sR0FBRzVnQyxDQUFDLEVBQUVNLENBQUMsQ0FBQ3VnQyxTQUFTLEdBQUd6Z0MsQ0FBQyxFQUFFQyxDQUFDLElBQUlBLENBQUMsRUFBRSxDQUFDO0lBQ25GLENBQUMsQ0FBQztFQUNKLENBQUMsTUFBTTZQLEVBQUUsQ0FBQzdQLENBQUMsQ0FBQztBQUNkLENBQUMsRUFBRW8vQixFQUFFLENBQUNsOUIsU0FBUyxDQUFDMEosS0FBSyxHQUFHLFlBQVk7RUFDbEMsT0FBTyxJQUFJLENBQUNtMEIsUUFBUSxDQUFDbjBCLEtBQUssRUFBRTtBQUM5QixDQUFDLEVBQUV3ekIsRUFBRSxDQUFDbDlCLFNBQVMsQ0FBQ3drQixNQUFNLEdBQUcsVUFBVS9tQixDQUFDLEVBQUU7RUFDcEMsSUFBSSxDQUFDNm1CLFVBQVUsQ0FBQyxJQUFJbmxCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUxQixDQUFDLENBQUM7QUFDbEMsQ0FBQyxFQUFFeS9CLEVBQUUsQ0FBQ2w5QixTQUFTLENBQUN1a0IsS0FBSyxHQUFHLFVBQVU5bUIsQ0FBQyxFQUFFSSxDQUFDLEVBQUU7RUFDdEMsSUFBSUMsQ0FBQyxHQUFHLElBQUksQ0FBQ3VqQixjQUFjO0VBQzNCLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTzVqQixDQUFDLElBQUksS0FBSyxDQUFDLEtBQUtBLENBQUMsSUFBSSxDQUFDSSxDQUFDLE1BQU1BLENBQUMsR0FBR0osQ0FBQyxFQUFFQSxDQUFDLEdBQUdxK0IsRUFBRSxDQUFDekIsWUFBWSxDQUFDLEVBQUV2OEIsQ0FBQyxDQUFDdWdCLEtBQUssRUFBRXhnQixDQUFDLElBQUk4UCxFQUFFLENBQUM5UCxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUlDLENBQUMsQ0FBQ2dqQixNQUFNLEVBQUVqakIsQ0FBQyxJQUFJLElBQUksQ0FBQzJaLElBQUksQ0FBQyxLQUFLLEVBQUUzWixDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUlDLENBQUMsQ0FBQytpQixTQUFTLEVBQUU7SUFDeEssSUFBSTlpQixDQUFDLEdBQUcsSUFBSTtJQUNaLElBQUksQ0FBQ3laLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWTtNQUM3QnpaLENBQUMsQ0FBQ3dtQixLQUFLLENBQUMxbUIsQ0FBQyxDQUFDO0lBQ1osQ0FBQyxDQUFDO0VBQ0osQ0FBQyxNQUFNLElBQUksQ0FBQysvQixVQUFVLEdBQUduZ0MsQ0FBQyxFQUFFLElBQUksQ0FBQ2dELEtBQUssQ0FBQyxJQUFJdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRXRCLENBQUMsQ0FBQztBQUN6RCxDQUFDLEVBQUVxL0IsRUFBRSxDQUFDbDlCLFNBQVMsQ0FBQ281QixLQUFLLEdBQUcsVUFBVTM3QixDQUFDLEVBQUU7RUFDbkMsSUFBSUEsQ0FBQyxJQUFJa1EsRUFBRSxDQUFDbFEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMyZ0MsT0FBTyxFQUFFO0lBQzdCLElBQUksQ0FBQ0EsT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQ1AsUUFBUSxDQUFDekUsS0FBSyxFQUFFO0lBQ3hDLElBQUl2N0IsQ0FBQyxHQUFHLElBQUk7SUFDWjhQLEVBQUUsQ0FBQyxZQUFZO01BQ2I5UCxDQUFDLENBQUMrWCxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2pCLENBQUMsQ0FBQztFQUNKO0FBQ0YsQ0FBQyxFQUFFc25CLEVBQUUsQ0FBQ2w5QixTQUFTLENBQUNza0IsVUFBVSxHQUFHLFVBQVU3bUIsQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUM5QyxJQUFJQyxDQUFDO0lBQ0RHLENBQUMsR0FBRyxJQUFJLENBQUNtakIsY0FBYztJQUN2QmxqQixDQUFDLEdBQUcsQ0FBQ0QsQ0FBQyxDQUFDNGlCLE1BQU0sSUFBSTVpQixDQUFDLENBQUNtZ0IsS0FBSyxNQUFNLENBQUM1Z0IsQ0FBQyxJQUFJUyxDQUFDLENBQUNFLE1BQU0sS0FBS1gsQ0FBQyxDQUFDVyxNQUFNLENBQUM7RUFDOUQsSUFBSSxJQUFJLEtBQUssQ0FBQ1gsQ0FBQyxJQUFJLENBQUNrRyxDQUFDLENBQUNsRyxDQUFDLENBQUMsRUFBRSxPQUFPSyxDQUFDLENBQUMsSUFBSW1DLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztFQUM5RDlCLENBQUMsR0FBR0osQ0FBQyxHQUFHKzlCLEVBQUUsQ0FBQ3hCLFFBQVEsSUFBSXY4QixDQUFDLEdBQUcsSUFBSSxDQUFDNi9CLFVBQVUsRUFBRW5nQyxDQUFDLENBQUNXLE1BQU0sSUFBSUYsQ0FBQyxDQUFDRSxNQUFNLEtBQUssSUFBSSxDQUFDdy9CLFVBQVUsR0FBRyxJQUFJLENBQUNILEtBQUssQ0FBQ2xaLEtBQUssSUFBSXVYLEVBQUUsQ0FBQzVCLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDOEMsYUFBYSxDQUFDdi9CLENBQUMsRUFBRU0sQ0FBQyxFQUFFRCxDQUFDLENBQUM7QUFDekosQ0FBQyxFQUFFby9CLEVBQUUsQ0FBQ2w5QixTQUFTLENBQUNnOUIsYUFBYSxHQUFHLFVBQVV2L0IsQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNqRCxJQUFJQyxDQUFDLEdBQUdOLENBQUMsSUFBSUEsQ0FBQyxDQUFDVyxNQUFNO0lBQ2pCRixDQUFDLEdBQUcsSUFBSSxDQUFDdy9CLFVBQVUsR0FBRyxJQUFJLENBQUNTLE9BQU87SUFDbENoZ0MsQ0FBQyxHQUFHLENBQUM7SUFDTEcsQ0FBQyxHQUFHLElBQUk7SUFDUkMsQ0FBQyxHQUFHLFVBQVUsSUFBSSxPQUFPVCxDQUFDO0VBRTlCLElBQUksQ0FBQ1MsQ0FBQyxFQUFFO0lBQ04sSUFBSUcsQ0FBQztNQUNEQyxDQUFDLEdBQUcsRUFBRTtNQUNOQyxDQUFDLEdBQUcsQ0FBQztJQUNULElBQUksQ0FBQzBZLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVTdaLENBQUMsRUFBRTtNQUM1QmlCLENBQUMsR0FBR2pCLENBQUM7SUFDUCxDQUFDLENBQUM7SUFFRixHQUFHO01BQ0QsSUFBSW9CLENBQUMsR0FBRyxJQUFJLENBQUNnL0IsUUFBUSxDQUFDeEUsU0FBUyxDQUFDeDdCLENBQUMsRUFBRUosQ0FBQyxFQUFFVSxDQUFDLEVBQUVKLENBQUMsRUFBRSxJQUFJLENBQUNtZ0MsT0FBTyxFQUFFLElBQUksQ0FBQ0MsT0FBTyxFQUFFamdDLENBQUMsQ0FBQztJQUM1RSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM0L0IsU0FBUyxJQUFJMStCLENBQUMsQ0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFekMsSUFBSSxJQUFJLENBQUNpL0IsU0FBUyxFQUFFLE1BQU1wL0IsQ0FBQztJQUMzQixJQUFJSSxDQUFDLEdBQUdLLENBQUMsQ0FBQzBFLE1BQU0sQ0FBQ2xGLENBQUMsRUFBRUMsQ0FBQyxDQUFDO0lBQ3RCLE9BQU8sSUFBSSxDQUFDdzZCLEtBQUssRUFBRSxFQUFFdDZCLENBQUM7RUFDeEI7RUFFQSxJQUFJQyxDQUFDLEdBQUcsSUFBSSxDQUFDOCtCLFFBQVEsQ0FBQ3A5QixLQUFLLENBQUM1QyxDQUFDLEVBQUVKLENBQUMsRUFBRVUsQ0FBQyxFQUFFSixDQUFDLEVBQUUsSUFBSSxDQUFDbWdDLE9BQU8sRUFBRSxJQUFJLENBQUNDLE9BQU8sRUFBRWpnQyxDQUFDLENBQUM7RUFFdEUsU0FBU2tCLENBQUMsQ0FBQ1YsQ0FBQyxFQUFFRyxDQUFDLEVBQUU7SUFDZixJQUFJLENBQUNQLENBQUMsQ0FBQ3cvQixTQUFTLEVBQUU7TUFDaEIsSUFBSWgvQixDQUFDLEdBQUdaLENBQUMsR0FBR1csQ0FBQztNQUViLElBQUksVUFBVXBCLENBQUMsRUFBRUksQ0FBQyxFQUFFO1FBQ2xCLElBQUksQ0FBQ0osQ0FBQyxFQUFFLE1BQU0sSUFBSXdDLEtBQUssQ0FBQ3BDLENBQUMsQ0FBQztNQUM1QixDQUFDLENBQUNpQixDQUFDLElBQUksQ0FBQyxFQUFFLHlCQUF5QixDQUFDLEVBQUVBLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDM0MsSUFBSUMsQ0FBQyxHQUFHVCxDQUFDLENBQUM0L0IsT0FBTyxDQUFDeDlCLEtBQUssQ0FBQ3BDLENBQUMsQ0FBQzYvQixPQUFPLEVBQUU3L0IsQ0FBQyxDQUFDNi9CLE9BQU8sR0FBR3IvQixDQUFDLENBQUM7UUFFakRSLENBQUMsQ0FBQzYvQixPQUFPLElBQUlyL0IsQ0FBQyxFQUFFUCxDQUFDLEdBQUdELENBQUMsQ0FBQ0UsSUFBSSxDQUFDTyxDQUFDLENBQUMsSUFBSUosQ0FBQyxDQUFDSCxJQUFJLENBQUNPLENBQUMsQ0FBQyxFQUFFSCxDQUFDLElBQUlHLENBQUMsQ0FBQ1gsTUFBTSxDQUFDO01BQzVEO01BRUEsSUFBSSxDQUFDLENBQUMsS0FBS1MsQ0FBQyxJQUFJUCxDQUFDLENBQUM2L0IsT0FBTyxJQUFJNy9CLENBQUMsQ0FBQ28vQixVQUFVLE1BQU14L0IsQ0FBQyxHQUFHSSxDQUFDLENBQUNvL0IsVUFBVSxFQUFFcC9CLENBQUMsQ0FBQzYvQixPQUFPLEdBQUcsQ0FBQyxFQUFFNy9CLENBQUMsQ0FBQzQvQixPQUFPLEdBQUcsSUFBSS8rQixDQUFDLENBQUNiLENBQUMsQ0FBQ28vQixVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSzcrQixDQUFDLEVBQUU7UUFDekgsSUFBSVYsQ0FBQyxJQUFJSixDQUFDLEdBQUdXLENBQUMsRUFBRVgsQ0FBQyxHQUFHVyxDQUFDLEVBQUUsQ0FBQ0gsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBDLElBQUkwQyxDQUFDLEdBQUczQyxDQUFDLENBQUN1L0IsUUFBUSxDQUFDcDlCLEtBQUssQ0FBQzVDLENBQUMsRUFBRUosQ0FBQyxFQUFFVSxDQUFDLEVBQUVKLENBQUMsRUFBRU8sQ0FBQyxDQUFDNC9CLE9BQU8sRUFBRTUvQixDQUFDLENBQUM2L0IsT0FBTyxFQUFFNy9CLENBQUMsQ0FBQ28vQixVQUFVLENBQUM7UUFFeEUsT0FBT3o4QixDQUFDLENBQUN1ZixRQUFRLEdBQUdwaEIsQ0FBQyxFQUFFLE1BQU02QixDQUFDLENBQUNILE1BQU0sR0FBR3JELENBQUMsQ0FBQztNQUM1QztNQUVBLElBQUksQ0FBQ2MsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO01BQ2pCVCxDQUFDLEVBQUU7SUFDTDtFQUNGO0VBRUFpQixDQUFDLENBQUMrQixNQUFNLEdBQUdyRCxDQUFDLEVBQUVzQixDQUFDLENBQUN5aEIsUUFBUSxHQUFHcGhCLENBQUM7QUFDOUIsQ0FBQyxFQUFFOFksRUFBRSxDQUFDK2tCLEVBQUUsRUFBRUMsRUFBRSxDQUFDLEVBQUVobEIsRUFBRSxDQUFDaWxCLEVBQUUsRUFBRUQsRUFBRSxDQUFDLEVBQUVobEIsRUFBRSxDQUFDa2xCLEVBQUUsRUFBRUYsRUFBRSxDQUFDLEVBQUVobEIsRUFBRSxDQUFDbWxCLEVBQUUsRUFBRUgsRUFBRSxDQUFDLEVBQUVobEIsRUFBRSxDQUFDb2xCLEVBQUUsRUFBRUosRUFBRSxDQUFDLEVBQUVobEIsRUFBRSxDQUFDcWxCLEVBQUUsRUFBRUwsRUFBRSxDQUFDLEVBQUVobEIsRUFBRSxDQUFDc2xCLEVBQUUsRUFBRU4sRUFBRSxDQUFDO0FBQ3JGLElBQUlxQixFQUFFLEdBQUc7RUFDUE4sS0FBSyxFQUFFdEIsRUFBRTtFQUNUNkIsYUFBYSxFQUFFLHVCQUFVL2dDLENBQUMsRUFBRTtJQUMxQixPQUFPLElBQUl3L0IsRUFBRSxDQUFDeC9CLENBQUMsQ0FBQztFQUNsQixDQUFDO0VBQ0RnaEMsYUFBYSxFQUFFLHVCQUFVaGhDLENBQUMsRUFBRTtJQUMxQixPQUFPLElBQUkwL0IsRUFBRSxDQUFDMS9CLENBQUMsQ0FBQztFQUNsQixDQUFDO0VBQ0RpaEMsZ0JBQWdCLEVBQUUsMEJBQVVqaEMsQ0FBQyxFQUFFO0lBQzdCLE9BQU8sSUFBSTYvQixFQUFFLENBQUM3L0IsQ0FBQyxDQUFDO0VBQ2xCLENBQUM7RUFDRGtoQyxnQkFBZ0IsRUFBRSwwQkFBVWxoQyxDQUFDLEVBQUU7SUFDN0IsT0FBTyxJQUFJOC9CLEVBQUUsQ0FBQzkvQixDQUFDLENBQUM7RUFDbEIsQ0FBQztFQUNEbWhDLFVBQVUsRUFBRSxvQkFBVW5oQyxDQUFDLEVBQUU7SUFDdkIsT0FBTyxJQUFJMi9CLEVBQUUsQ0FBQzMvQixDQUFDLENBQUM7RUFDbEIsQ0FBQztFQUNEb2hDLFlBQVksRUFBRSxzQkFBVXBoQyxDQUFDLEVBQUU7SUFDekIsT0FBTyxJQUFJNC9CLEVBQUUsQ0FBQzUvQixDQUFDLENBQUM7RUFDbEIsQ0FBQztFQUNEcWhDLFdBQVcsRUFBRSxxQkFBVXJoQyxDQUFDLEVBQUU7SUFDeEIsT0FBTyxJQUFJKy9CLEVBQUUsQ0FBQy8vQixDQUFDLENBQUM7RUFDbEIsQ0FBQztFQUNEc2hDLE9BQU8sRUFBRSxpQkFBVXRoQyxDQUFDLEVBQUVJLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0lBQzFCLE9BQU8sVUFBVSxJQUFJLE9BQU9ELENBQUMsS0FBS0MsQ0FBQyxHQUFHRCxDQUFDLEVBQUVBLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFaS9CLEVBQUUsQ0FBQyxJQUFJRyxFQUFFLENBQUNwL0IsQ0FBQyxDQUFDLEVBQUVKLENBQUMsRUFBRUssQ0FBQyxDQUFDO0VBQ3ZFLENBQUM7RUFDRGtoQyxXQUFXLEVBQUUscUJBQVV2aEMsQ0FBQyxFQUFFSSxDQUFDLEVBQUU7SUFDM0IsT0FBT2svQixFQUFFLENBQUMsSUFBSUUsRUFBRSxDQUFDcC9CLENBQUMsQ0FBQyxFQUFFSixDQUFDLENBQUM7RUFDekIsQ0FBQztFQUNEd2hDLElBQUksRUFBRSxjQUFVeGhDLENBQUMsRUFBRUksQ0FBQyxFQUFFQyxDQUFDLEVBQUU7SUFDdkIsT0FBTyxVQUFVLElBQUksT0FBT0QsQ0FBQyxLQUFLQyxDQUFDLEdBQUdELENBQUMsRUFBRUEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUVpL0IsRUFBRSxDQUFDLElBQUlNLEVBQUUsQ0FBQ3YvQixDQUFDLENBQUMsRUFBRUosQ0FBQyxFQUFFSyxDQUFDLENBQUM7RUFDdkUsQ0FBQztFQUNEb2hDLFFBQVEsRUFBRSxrQkFBVXpoQyxDQUFDLEVBQUVJLENBQUMsRUFBRTtJQUN4QixPQUFPay9CLEVBQUUsQ0FBQyxJQUFJSyxFQUFFLENBQUN2L0IsQ0FBQyxDQUFDLEVBQUVKLENBQUMsQ0FBQztFQUN6QixDQUFDO0VBQ0QwaEMsVUFBVSxFQUFFLG9CQUFVMWhDLENBQUMsRUFBRUksQ0FBQyxFQUFFQyxDQUFDLEVBQUU7SUFDN0IsT0FBTyxVQUFVLElBQUksT0FBT0QsQ0FBQyxLQUFLQyxDQUFDLEdBQUdELENBQUMsRUFBRUEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUVpL0IsRUFBRSxDQUFDLElBQUlRLEVBQUUsQ0FBQ3ovQixDQUFDLENBQUMsRUFBRUosQ0FBQyxFQUFFSyxDQUFDLENBQUM7RUFDdkUsQ0FBQztFQUNEc2hDLGNBQWMsRUFBRSx3QkFBVTNoQyxDQUFDLEVBQUVJLENBQUMsRUFBRTtJQUM5QixPQUFPay9CLEVBQUUsQ0FBQyxJQUFJTyxFQUFFLENBQUN6L0IsQ0FBQyxDQUFDLEVBQUVKLENBQUMsQ0FBQztFQUN6QixDQUFDO0VBQ0Q0aEMsS0FBSyxFQUFFLGVBQVU1aEMsQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRTtJQUN4QixPQUFPLFVBQVUsSUFBSSxPQUFPRCxDQUFDLEtBQUtDLENBQUMsR0FBR0QsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRWkvQixFQUFFLENBQUMsSUFBSVUsRUFBRSxDQUFDMy9CLENBQUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVLLENBQUMsQ0FBQztFQUN2RSxDQUFDO0VBQ0R3aEMsU0FBUyxFQUFFLG1CQUFVN2hDLENBQUMsRUFBRUksQ0FBQyxFQUFFO0lBQ3pCLE9BQU9rL0IsRUFBRSxDQUFDLElBQUlTLEVBQUUsQ0FBQzMvQixDQUFDLENBQUMsRUFBRUosQ0FBQyxDQUFDO0VBQ3pCLENBQUM7RUFDRDhoQyxPQUFPLEVBQUUsaUJBQVU5aEMsQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRTtJQUMxQixPQUFPLFVBQVUsSUFBSSxPQUFPRCxDQUFDLEtBQUtDLENBQUMsR0FBR0QsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRWkvQixFQUFFLENBQUMsSUFBSUssRUFBRSxDQUFDdC9CLENBQUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVLLENBQUMsQ0FBQztFQUN2RSxDQUFDO0VBQ0QwaEMsV0FBVyxFQUFFLHFCQUFVL2hDLENBQUMsRUFBRUksQ0FBQyxFQUFFO0lBQzNCLE9BQU9rL0IsRUFBRSxDQUFDLElBQUlJLEVBQUUsQ0FBQ3QvQixDQUFDLENBQUMsRUFBRUosQ0FBQyxDQUFDO0VBQ3pCLENBQUM7RUFDRGdpQyxNQUFNLEVBQUUsZ0JBQVVoaUMsQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRTtJQUN6QixPQUFPLFVBQVUsSUFBSSxPQUFPRCxDQUFDLEtBQUtDLENBQUMsR0FBR0QsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRWkvQixFQUFFLENBQUMsSUFBSU8sRUFBRSxDQUFDeC9CLENBQUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVLLENBQUMsQ0FBQztFQUN2RSxDQUFDO0VBQ0Q0aEMsVUFBVSxFQUFFLG9CQUFVamlDLENBQUMsRUFBRUksQ0FBQyxFQUFFO0lBQzFCLE9BQU9rL0IsRUFBRSxDQUFDLElBQUlNLEVBQUUsQ0FBQ3gvQixDQUFDLENBQUMsRUFBRUosQ0FBQyxDQUFDO0VBQ3pCLENBQUM7RUFDRGtpQyxVQUFVLEVBQUUsb0JBQVVsaUMsQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRTtJQUM3QixPQUFPLFVBQVUsSUFBSSxPQUFPRCxDQUFDLEtBQUtDLENBQUMsR0FBR0QsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRWkvQixFQUFFLENBQUMsSUFBSVMsRUFBRSxDQUFDMS9CLENBQUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVLLENBQUMsQ0FBQztFQUN2RSxDQUFDO0VBQ0Q4aEMsY0FBYyxFQUFFLHdCQUFVbmlDLENBQUMsRUFBRUksQ0FBQyxFQUFFO0lBQzlCLE9BQU9rL0IsRUFBRSxDQUFDLElBQUlRLEVBQUUsQ0FBQzEvQixDQUFDLENBQUMsRUFBRUosQ0FBQyxDQUFDO0VBQ3pCLENBQUM7RUFDRG9pQyxPQUFPLEVBQUU1QyxFQUFFO0VBQ1g2QyxPQUFPLEVBQUUzQyxFQUFFO0VBQ1g0QyxJQUFJLEVBQUUzQyxFQUFFO0VBQ1I0QyxNQUFNLEVBQUUzQyxFQUFFO0VBQ1Y0QyxVQUFVLEVBQUUzQyxFQUFFO0VBQ2Q0QyxVQUFVLEVBQUUzQyxFQUFFO0VBQ2Q0QyxLQUFLLEVBQUUzQyxFQUFFO0VBQ1QzQixJQUFJLEVBQUVxQjtBQUNSLENBQUM7QUFBQztFQUVBLGtCQUFZei9CLENBQUMsRUFBRUksQ0FBQyxFQUFFQyxDQUFDLEVBQUU7SUFBQTtJQUNuQixJQUFJLENBQUNzaUMsUUFBUSxHQUFHM2lDLENBQUMsRUFBRSxJQUFJLENBQUM0aUMsVUFBVSxHQUFHdmlDLENBQUMsRUFBRSxJQUFJLENBQUN3aUMsVUFBVSxHQUFHemlDLENBQUM7RUFDN0Q7RUFBQztJQUFBO0lBQUEsT0FFRCx3QkFBZUosQ0FBQyxFQUFFO01BQ2hCLE9BQU8sSUFBSSxDQUFDOGlDLFNBQVMsQ0FBQyxJQUFJLENBQUNILFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQ0ksU0FBUyxDQUFDLElBQUksQ0FBQ0YsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDRSxTQUFTLENBQUMvaUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDOGlDLFNBQVMsQ0FBQyxJQUFJLENBQUNGLFVBQVUsQ0FBQyxJQUFJLGFBQVksV0FBVyxHQUFHLElBQUksQ0FBQ0QsUUFBUSxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUNFLFVBQVUsR0FBRyxVQUFVLEdBQUc3aUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUM0aUMsVUFBVSx5REFBRyxJQUFJLENBQUNJLGlCQUFpQixDQUFDaGpDLENBQUMsRUFBRSxJQUFJLENBQUM0aUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLGVBQWMsNkJBQTZCLHlEQUFHLEVBQUUsQ0FBQyxJQUFJLGVBQWMseUJBQXlCLHlEQUFHLEVBQUUsQ0FBQyxJQUFJLGVBQWMsNkJBQTZCLHlEQUFHLEVBQUUsQ0FBQyxJQUFJLGVBQWMsMkJBQTJCLHlEQUFHLEVBQUUsQ0FBQztJQUN2ZjtFQUFDO0lBQUE7SUFBQSxPQUVELG1CQUFVNWlDLENBQUMsRUFBRUksQ0FBQyxFQUFFO01BQ2QsT0FBT3NCLENBQUMsQ0FBQzZDLElBQUksR0FBRzdDLENBQUMsQ0FBQzZDLElBQUksQ0FBQ3ZFLENBQUMsRUFBRUksQ0FBQyxDQUFDLEdBQUcsSUFBSXNCLENBQUMsQ0FBQzFCLENBQUMsRUFBRUksQ0FBQyxDQUFDO0lBQzVDO0VBQUM7SUFBQTtJQUFBLE9BRUQsa0JBQVNKLENBQUMsRUFBRTtNQUNWLE9BQU9BLENBQUMsQ0FBQytKLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUNBLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUNBLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO0lBQ3JFO0VBQUM7SUFBQTtJQUFBLE9BRUQsZ0JBQU8vSixDQUFDLEVBQUU7TUFDUixPQUFPQSxDQUFDLENBQUMrSixPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDQSxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDQSxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztJQUNyRTtFQUFDO0lBQUE7SUFBQSxPQUVELGdCQUFPL0osQ0FBQyxFQUFFO01BQ1IsT0FBTyxJQUFJLENBQUM2TCxNQUFNLENBQUMsSUFBSSxDQUFDbzNCLFNBQVMsQ0FBQ2pqQyxDQUFDLENBQUMsQ0FBQ2lDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxRDtFQUFDO0lBQUE7SUFBQSxPQUVELGdCQUFPakMsQ0FBQyxFQUFFO01BQ1IsT0FBTyxJQUFJLENBQUNpakMsU0FBUyxDQUFDLElBQUksQ0FBQ24zQixRQUFRLENBQUM5TCxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUM7SUFDbkQ7RUFBQztJQUFBO0lBQUEsT0FFRCxzQkFBYUEsQ0FBQyxFQUFFO01BQ2QsT0FBTyxJQUFJLENBQUNpakMsU0FBUyxDQUFDampDLENBQUMsQ0FBQyxDQUFDaUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUM3QztFQUFDO0lBQUE7SUFBQSxPQUVELHNCQUFhakMsQ0FBQyxFQUFFO01BQ2QsT0FBTyxJQUFJLENBQUNpakMsU0FBUyxDQUFDampDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQ2lDLFFBQVEsRUFBRTtJQUMvQztFQUFDO0lBQUE7SUFBQSxPQUVELHFCQUFZakMsQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO01BQ3RCLElBQUlHLENBQUMsR0FBRyxpQkFBaUIsR0FBR1QsQ0FBQyxHQUFHLElBQUk7TUFDcENTLENBQUMsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDa2lDLFFBQVEsR0FBRyxJQUFJLEVBQUVsaUMsQ0FBQyxJQUFJLFdBQVcsR0FBR0wsQ0FBQyxHQUFHLElBQUksRUFBRUssQ0FBQyxJQUFJLGFBQWEsR0FBR0osQ0FBQyxHQUFHLElBQUksRUFBRSxJQUFJLElBQUlDLENBQUMsS0FBS0csQ0FBQyxJQUFJLGNBQWMsR0FBR0gsQ0FBQyxHQUFHLElBQUksQ0FBQztNQUN0SixJQUFJSSxDQUFDLEdBQUcyTSxFQUFFLENBQUM4QixVQUFVLENBQUMxTyxDQUFDLEVBQUUsSUFBSSxDQUFDb2lDLFVBQVUsQ0FBQztNQUN6QyxPQUFPeDFCLEVBQUUsQ0FBQzlCLEdBQUcsQ0FBQ2dELE1BQU0sQ0FBQ3BELFNBQVMsQ0FBQ3pLLENBQUMsQ0FBQztJQUNuQztFQUFDO0lBQUE7SUFBQSxPQUVELGdCQUFPO01BQ0wsT0FBT2MsSUFBSSxDQUFDMGhDLEtBQUssQ0FBQ3JtQixJQUFJLENBQUNwRixHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUM7SUFDckM7RUFBQztJQUFBO0lBQUEsT0FFRCxtQkFBVXpYLENBQUMsRUFBRTtNQUNYLE9BQU8sSUFBSSxLQUFLQSxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU9BLENBQUMsSUFBSSxDQUFDNkIsS0FBSyxDQUFDN0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLFFBQVEsMEJBQVdBLENBQUMsS0FBSUEsQ0FBQyxDQUFDaUssV0FBVyxLQUFLbkYsTUFBTSxDQUFDO0lBQ2xIO0VBQUM7SUFBQTtJQUFBLE9BRUQsbUJBQVU5RSxDQUFDLEVBQUU7TUFDWCxPQUFPLFFBQVEsSUFBSSxPQUFPQSxDQUFDO0lBQzdCO0VBQUM7SUFBQTtJQUFBLE9BRUQsMkJBQWtCQSxDQUFDLEVBQUVJLENBQUMsRUFBRUMsQ0FBQyxFQUFFO01BQ3pCLElBQUlDLENBQUMsR0FBRyxJQUFJLENBQUM2aUMsSUFBSSxFQUFFO1FBQ2YxaUMsQ0FBQyxHQUFHO1VBQ04sU0FBUyxFQUFFLEtBQUs7VUFDaEIsZ0JBQWdCLEVBQUVULENBQUM7VUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBQzJpQyxRQUFRO1VBQzdCLFVBQVUsRUFBRXJpQyxDQUFDO1VBQ2IsWUFBWSxFQUFFRjtRQUNoQixDQUFDO1FBQ0dNLENBQUMsR0FBRyxFQUFFO01BRVYsSUFBSSxJQUFJLElBQUlMLENBQUMsRUFBRTtRQUNiLElBQUlRLEVBQUMsR0FBRyxJQUFJLENBQUN1aUMsWUFBWSxDQUFDL2lDLENBQUMsQ0FBQztRQUM1QkksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHSSxFQUFDLEVBQUVILENBQUMsR0FBRyxJQUFJLENBQUMyaUMsV0FBVyxDQUFDcmpDLENBQUMsRUFBRU0sQ0FBQyxFQUFFRixDQUFDLEVBQUVTLEVBQUMsQ0FBQztNQUN4RCxDQUFDLE1BQU1ILENBQUMsR0FBRyxJQUFJLENBQUMyaUMsV0FBVyxDQUFDcmpDLENBQUMsRUFBRU0sQ0FBQyxFQUFFRixDQUFDLEVBQUUsSUFBSSxDQUFDO01BRTFDSyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUdDLENBQUM7TUFDaEIsSUFBSUcsQ0FBQyxHQUFHc2EsSUFBSSxDQUFDaFEsU0FBUyxDQUFDMUssQ0FBQyxDQUFDO1FBQ3JCSyxDQUFDLEdBQUdnZ0MsRUFBRSxDQUFDUyxXQUFXLENBQUMsSUFBSSxDQUFDMEIsU0FBUyxDQUFDcGlDLENBQUMsQ0FBQyxDQUFDLENBQUNvQixRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ3hEaEIsQ0FBQyxHQUFHLElBQUksQ0FBQzRLLE1BQU0sQ0FBQy9LLENBQUMsQ0FBQztNQUN0QixPQUFPLGFBQVksTUFBTSxHQUFHRyxDQUFDLHlEQUFHQSxDQUFDO0lBQ25DO0VBQUM7SUFBQTtJQUFBLE9BRUQsa0JBQVNqQixDQUFDLEVBQUU7TUFDVixJQUFJSSxDQUFDLEdBQUcsSUFBSSxDQUFDa2pDLE1BQU0sQ0FBQ3RqQyxDQUFDLENBQUM7UUFDbEJLLENBQUMsR0FBR3lnQyxFQUFFLENBQUNpQixXQUFXLENBQUMzaEMsQ0FBQyxDQUFDO01BQ3pCLGFBQVksZUFBZSxHQUFHQyxDQUFDO0lBQ2pDO0VBQUM7RUFBQTtBQUFBO0FBQUEsMkIiLCJmaWxlIjoiNzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKmVzbGludC1kaXNhYmxlKi9cclxudmFyIGUgPSBcInVuZGVmaW5lZFwiICE9IHR5cGVvZiBnbG9iYWwgPyBnbG9iYWwgOiBcInVuZGVmaW5lZFwiICE9IHR5cGVvZiBzZWxmID8gc2VsZiA6IFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIHdpbmRvdyA/IHdpbmRvdyA6IHt9LFxyXG4gICAgdCA9IFtdLFxyXG4gICAgciA9IFtdLFxyXG4gICAgbiA9IFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIFVpbnQ4QXJyYXkgPyBVaW50OEFycmF5IDogQXJyYXksXHJcbiAgICBpID0gITE7XHJcblxyXG5mdW5jdGlvbiBvKCkge1xyXG4gIGkgPSAhMDtcclxuXHJcbiAgZm9yICh2YXIgZSA9IFwiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrL1wiLCBuID0gMCwgbyA9IGUubGVuZ3RoOyBuIDwgbzsgKytuKSB0W25dID0gZVtuXSwgcltlLmNoYXJDb2RlQXQobildID0gbjtcclxuXHJcbiAgcltcIi1cIi5jaGFyQ29kZUF0KDApXSA9IDYyLCByW1wiX1wiLmNoYXJDb2RlQXQoMCldID0gNjM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGEoZSwgciwgbikge1xyXG4gIGZvciAodmFyIGksIG8sIGEgPSBbXSwgcyA9IHI7IHMgPCBuOyBzICs9IDMpIGkgPSAoZVtzXSA8PCAxNikgKyAoZVtzICsgMV0gPDwgOCkgKyBlW3MgKyAyXSwgYS5wdXNoKHRbKG8gPSBpKSA+PiAxOCAmIDYzXSArIHRbbyA+PiAxMiAmIDYzXSArIHRbbyA+PiA2ICYgNjNdICsgdFs2MyAmIG9dKTtcclxuXHJcbiAgcmV0dXJuIGEuam9pbihcIlwiKTtcclxufVxyXG5cclxuZnVuY3Rpb24gcyhlKSB7XHJcbiAgdmFyIHI7XHJcbiAgaSB8fCBvKCk7XHJcblxyXG4gIGZvciAodmFyIG4gPSBlLmxlbmd0aCwgcyA9IG4gJSAzLCBoID0gXCJcIiwgbCA9IFtdLCBmID0gMCwgYyA9IG4gLSBzOyBmIDwgYzsgZiArPSAxNjM4MykgbC5wdXNoKGEoZSwgZiwgZiArIDE2MzgzID4gYyA/IGMgOiBmICsgMTYzODMpKTtcclxuXHJcbiAgcmV0dXJuIDEgPT09IHMgPyAociA9IGVbbiAtIDFdLCBoICs9IHRbciA+PiAyXSwgaCArPSB0W3IgPDwgNCAmIDYzXSwgaCArPSBcIj09XCIpIDogMiA9PT0gcyAmJiAociA9IChlW24gLSAyXSA8PCA4KSArIGVbbiAtIDFdLCBoICs9IHRbciA+PiAxMF0sIGggKz0gdFtyID4+IDQgJiA2M10sIGggKz0gdFtyIDw8IDIgJiA2M10sIGggKz0gXCI9XCIpLCBsLnB1c2goaCksIGwuam9pbihcIlwiKTtcclxufVxyXG5cclxuZnVuY3Rpb24gaChlLCB0LCByLCBuLCBpKSB7XHJcbiAgdmFyIG8sXHJcbiAgICAgIGEsXHJcbiAgICAgIHMgPSA4ICogaSAtIG4gLSAxLFxyXG4gICAgICBoID0gKDEgPDwgcykgLSAxLFxyXG4gICAgICBsID0gaCA+PiAxLFxyXG4gICAgICBmID0gLTcsXHJcbiAgICAgIGMgPSByID8gaSAtIDEgOiAwLFxyXG4gICAgICB1ID0gciA/IC0xIDogMSxcclxuICAgICAgZCA9IGVbdCArIGNdO1xyXG5cclxuICBmb3IgKGMgKz0gdSwgbyA9IGQgJiAoMSA8PCAtZikgLSAxLCBkID4+PSAtZiwgZiArPSBzOyBmID4gMDsgbyA9IDI1NiAqIG8gKyBlW3QgKyBjXSwgYyArPSB1LCBmIC09IDgpO1xyXG5cclxuICBmb3IgKGEgPSBvICYgKDEgPDwgLWYpIC0gMSwgbyA+Pj0gLWYsIGYgKz0gbjsgZiA+IDA7IGEgPSAyNTYgKiBhICsgZVt0ICsgY10sIGMgKz0gdSwgZiAtPSA4KTtcclxuXHJcbiAgaWYgKDAgPT09IG8pIG8gPSAxIC0gbDtlbHNlIHtcclxuICAgIGlmIChvID09PSBoKSByZXR1cm4gYSA/IE5hTiA6IDEgLyAwICogKGQgPyAtMSA6IDEpO1xyXG4gICAgYSArPSBNYXRoLnBvdygyLCBuKSwgbyAtPSBsO1xyXG4gIH1cclxuICByZXR1cm4gKGQgPyAtMSA6IDEpICogYSAqIE1hdGgucG93KDIsIG8gLSBuKTtcclxufVxyXG5cclxuZnVuY3Rpb24gbChlLCB0LCByLCBuLCBpLCBvKSB7XHJcbiAgdmFyIGEsXHJcbiAgICAgIHMsXHJcbiAgICAgIGgsXHJcbiAgICAgIGwgPSA4ICogbyAtIGkgLSAxLFxyXG4gICAgICBmID0gKDEgPDwgbCkgLSAxLFxyXG4gICAgICBjID0gZiA+PiAxLFxyXG4gICAgICB1ID0gMjMgPT09IGkgPyBNYXRoLnBvdygyLCAtMjQpIC0gTWF0aC5wb3coMiwgLTc3KSA6IDAsXHJcbiAgICAgIGQgPSBuID8gMCA6IG8gLSAxLFxyXG4gICAgICBwID0gbiA/IDEgOiAtMSxcclxuICAgICAgXyA9IHQgPCAwIHx8IDAgPT09IHQgJiYgMSAvIHQgPCAwID8gMSA6IDA7XHJcblxyXG4gIGZvciAodCA9IE1hdGguYWJzKHQpLCBpc05hTih0KSB8fCB0ID09PSAxIC8gMCA/IChzID0gaXNOYU4odCkgPyAxIDogMCwgYSA9IGYpIDogKGEgPSBNYXRoLmZsb29yKE1hdGgubG9nKHQpIC8gTWF0aC5MTjIpLCB0ICogKGggPSBNYXRoLnBvdygyLCAtYSkpIDwgMSAmJiAoYS0tLCBoICo9IDIpLCAodCArPSBhICsgYyA+PSAxID8gdSAvIGggOiB1ICogTWF0aC5wb3coMiwgMSAtIGMpKSAqIGggPj0gMiAmJiAoYSsrLCBoIC89IDIpLCBhICsgYyA+PSBmID8gKHMgPSAwLCBhID0gZikgOiBhICsgYyA+PSAxID8gKHMgPSAodCAqIGggLSAxKSAqIE1hdGgucG93KDIsIGkpLCBhICs9IGMpIDogKHMgPSB0ICogTWF0aC5wb3coMiwgYyAtIDEpICogTWF0aC5wb3coMiwgaSksIGEgPSAwKSk7IGkgPj0gODsgZVtyICsgZF0gPSAyNTUgJiBzLCBkICs9IHAsIHMgLz0gMjU2LCBpIC09IDgpO1xyXG5cclxuICBmb3IgKGEgPSBhIDw8IGkgfCBzLCBsICs9IGk7IGwgPiAwOyBlW3IgKyBkXSA9IDI1NSAmIGEsIGQgKz0gcCwgYSAvPSAyNTYsIGwgLT0gOCk7XHJcblxyXG4gIGVbciArIGQgLSBwXSB8PSAxMjggKiBfO1xyXG59XHJcblxyXG52YXIgZiA9IHt9LnRvU3RyaW5nLFxyXG4gICAgYyA9IEFycmF5LmlzQXJyYXkgfHwgZnVuY3Rpb24gKGUpIHtcclxuICByZXR1cm4gXCJbb2JqZWN0IEFycmF5XVwiID09IGYuY2FsbChlKTtcclxufTtcclxuXHJcbmZ1bmN0aW9uIHUoKSB7XHJcbiAgcmV0dXJuIHAuVFlQRURfQVJSQVlfU1VQUE9SVCA/IDIxNDc0ODM2NDcgOiAxMDczNzQxODIzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBkKGUsIHQpIHtcclxuICBpZiAodSgpIDwgdCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIHR5cGVkIGFycmF5IGxlbmd0aFwiKTtcclxuICByZXR1cm4gcC5UWVBFRF9BUlJBWV9TVVBQT1JUID8gKGUgPSBuZXcgVWludDhBcnJheSh0KSkuX19wcm90b19fID0gcC5wcm90b3R5cGUgOiAobnVsbCA9PT0gZSAmJiAoZSA9IG5ldyBwKHQpKSwgZS5sZW5ndGggPSB0KSwgZTtcclxufVxyXG5cclxuZnVuY3Rpb24gcChlLCB0LCByKSB7XHJcbiAgaWYgKCEocC5UWVBFRF9BUlJBWV9TVVBQT1JUIHx8IHRoaXMgaW5zdGFuY2VvZiBwKSkgcmV0dXJuIG5ldyBwKGUsIHQsIHIpO1xyXG5cclxuICBpZiAoXCJudW1iZXJcIiA9PSB0eXBlb2YgZSkge1xyXG4gICAgaWYgKFwic3RyaW5nXCIgPT0gdHlwZW9mIHQpIHRocm93IG5ldyBFcnJvcihcIklmIGVuY29kaW5nIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nXCIpO1xyXG4gICAgcmV0dXJuIHYodGhpcywgZSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gXyh0aGlzLCBlLCB0LCByKTtcclxufVxyXG5cclxuZnVuY3Rpb24gXyhlLCB0LCByLCBuKSB7XHJcbiAgaWYgKFwibnVtYmVyXCIgPT0gdHlwZW9mIHQpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1widmFsdWVcIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpO1xyXG4gIHJldHVybiBcInVuZGVmaW5lZFwiICE9IHR5cGVvZiBBcnJheUJ1ZmZlciAmJiB0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIgPyBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xyXG4gICAgaWYgKHQuYnl0ZUxlbmd0aCwgciA8IDAgfHwgdC5ieXRlTGVuZ3RoIDwgcikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCInb2Zmc2V0JyBpcyBvdXQgb2YgYm91bmRzXCIpO1xyXG4gICAgaWYgKHQuYnl0ZUxlbmd0aCA8IHIgKyAobiB8fCAwKSkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCInbGVuZ3RoJyBpcyBvdXQgb2YgYm91bmRzXCIpO1xyXG4gICAgdCA9IHZvaWQgMCA9PT0gciAmJiB2b2lkIDAgPT09IG4gPyBuZXcgVWludDhBcnJheSh0KSA6IHZvaWQgMCA9PT0gbiA/IG5ldyBVaW50OEFycmF5KHQsIHIpIDogbmV3IFVpbnQ4QXJyYXkodCwgciwgbik7XHJcbiAgICBwLlRZUEVEX0FSUkFZX1NVUFBPUlQgPyAoZSA9IHQpLl9fcHJvdG9fXyA9IHAucHJvdG90eXBlIDogZSA9IHcoZSwgdCk7XHJcbiAgICByZXR1cm4gZTtcclxuICB9KGUsIHQsIHIsIG4pIDogXCJzdHJpbmdcIiA9PSB0eXBlb2YgdCA/IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgICBcInN0cmluZ1wiID09IHR5cGVvZiByICYmIFwiXCIgIT09IHIgfHwgKHIgPSBcInV0ZjhcIik7XHJcbiAgICBpZiAoIXAuaXNFbmNvZGluZyhyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJlbmNvZGluZ1wiIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcgZW5jb2RpbmcnKTtcclxuICAgIHZhciBuID0gMCB8IG0odCwgciksXHJcbiAgICAgICAgaSA9IChlID0gZChlLCBuKSkud3JpdGUodCwgcik7XHJcbiAgICBpICE9PSBuICYmIChlID0gZS5zbGljZSgwLCBpKSk7XHJcbiAgICByZXR1cm4gZTtcclxuICB9KGUsIHQsIHIpIDogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIGlmICh5KHQpKSB7XHJcbiAgICAgIHZhciByID0gMCB8IGIodC5sZW5ndGgpO1xyXG4gICAgICByZXR1cm4gMCA9PT0gKGUgPSBkKGUsIHIpKS5sZW5ndGggPyBlIDogKHQuY29weShlLCAwLCAwLCByKSwgZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHQpIHtcclxuICAgICAgaWYgKFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIEFycmF5QnVmZmVyICYmIHQuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIgfHwgXCJsZW5ndGhcIiBpbiB0KSByZXR1cm4gXCJudW1iZXJcIiAhPSB0eXBlb2YgdC5sZW5ndGggfHwgKG4gPSB0Lmxlbmd0aCkgIT0gbiA/IGQoZSwgMCkgOiB3KGUsIHQpO1xyXG4gICAgICBpZiAoXCJCdWZmZXJcIiA9PT0gdC50eXBlICYmIGModC5kYXRhKSkgcmV0dXJuIHcoZSwgdC5kYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICB2YXIgbjtcclxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJGaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgYXJyYXktbGlrZSBvYmplY3QuXCIpO1xyXG4gIH0oZSwgdCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGcoZSkge1xyXG4gIGlmIChcIm51bWJlclwiICE9IHR5cGVvZiBlKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdcInNpemVcIiBhcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJyk7XHJcbiAgaWYgKGUgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXCJzaXplXCIgYXJndW1lbnQgbXVzdCBub3QgYmUgbmVnYXRpdmUnKTtcclxufVxyXG5cclxuZnVuY3Rpb24gdihlLCB0KSB7XHJcbiAgaWYgKGcodCksIGUgPSBkKGUsIHQgPCAwID8gMCA6IDAgfCBiKHQpKSwgIXAuVFlQRURfQVJSQVlfU1VQUE9SVCkgZm9yICh2YXIgciA9IDA7IHIgPCB0OyArK3IpIGVbcl0gPSAwO1xyXG4gIHJldHVybiBlO1xyXG59XHJcblxyXG5mdW5jdGlvbiB3KGUsIHQpIHtcclxuICB2YXIgciA9IHQubGVuZ3RoIDwgMCA/IDAgOiAwIHwgYih0Lmxlbmd0aCk7XHJcbiAgZSA9IGQoZSwgcik7XHJcblxyXG4gIGZvciAodmFyIG4gPSAwOyBuIDwgcjsgbiArPSAxKSBlW25dID0gMjU1ICYgdFtuXTtcclxuXHJcbiAgcmV0dXJuIGU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGIoZSkge1xyXG4gIGlmIChlID49IHUoKSkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJBdHRlbXB0IHRvIGFsbG9jYXRlIEJ1ZmZlciBsYXJnZXIgdGhhbiBtYXhpbXVtIHNpemU6IDB4XCIgKyB1KCkudG9TdHJpbmcoMTYpICsgXCIgYnl0ZXNcIik7XHJcbiAgcmV0dXJuIDAgfCBlO1xyXG59XHJcblxyXG5mdW5jdGlvbiB5KGUpIHtcclxuICByZXR1cm4gIShudWxsID09IGUgfHwgIWUuX2lzQnVmZmVyKTtcclxufVxyXG5cclxuZnVuY3Rpb24gbShlLCB0KSB7XHJcbiAgaWYgKHkoZSkpIHJldHVybiBlLmxlbmd0aDtcclxuICBpZiAoXCJ1bmRlZmluZWRcIiAhPSB0eXBlb2YgQXJyYXlCdWZmZXIgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXcgJiYgKEFycmF5QnVmZmVyLmlzVmlldyhlKSB8fCBlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKSByZXR1cm4gZS5ieXRlTGVuZ3RoO1xyXG4gIFwic3RyaW5nXCIgIT0gdHlwZW9mIGUgJiYgKGUgPSBcIlwiICsgZSk7XHJcbiAgdmFyIHIgPSBlLmxlbmd0aDtcclxuICBpZiAoMCA9PT0gcikgcmV0dXJuIDA7XHJcblxyXG4gIGZvciAodmFyIG4gPSAhMTs7KSBzd2l0Y2ggKHQpIHtcclxuICAgIGNhc2UgXCJhc2NpaVwiOlxyXG4gICAgY2FzZSBcImxhdGluMVwiOlxyXG4gICAgY2FzZSBcImJpbmFyeVwiOlxyXG4gICAgICByZXR1cm4gcjtcclxuXHJcbiAgICBjYXNlIFwidXRmOFwiOlxyXG4gICAgY2FzZSBcInV0Zi04XCI6XHJcbiAgICBjYXNlIHZvaWQgMDpcclxuICAgICAgcmV0dXJuIHEoZSkubGVuZ3RoO1xyXG5cclxuICAgIGNhc2UgXCJ1Y3MyXCI6XHJcbiAgICBjYXNlIFwidWNzLTJcIjpcclxuICAgIGNhc2UgXCJ1dGYxNmxlXCI6XHJcbiAgICBjYXNlIFwidXRmLTE2bGVcIjpcclxuICAgICAgcmV0dXJuIDIgKiByO1xyXG5cclxuICAgIGNhc2UgXCJoZXhcIjpcclxuICAgICAgcmV0dXJuIHIgPj4+IDE7XHJcblxyXG4gICAgY2FzZSBcImJhc2U2NFwiOlxyXG4gICAgICByZXR1cm4gVihlKS5sZW5ndGg7XHJcblxyXG4gICAgZGVmYXVsdDpcclxuICAgICAgaWYgKG4pIHJldHVybiBxKGUpLmxlbmd0aDtcclxuICAgICAgdCA9IChcIlwiICsgdCkudG9Mb3dlckNhc2UoKSwgbiA9ICEwO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gayhlLCB0LCByKSB7XHJcbiAgdmFyIG4gPSAhMTtcclxuICBpZiAoKHZvaWQgMCA9PT0gdCB8fCB0IDwgMCkgJiYgKHQgPSAwKSwgdCA+IHRoaXMubGVuZ3RoKSByZXR1cm4gXCJcIjtcclxuICBpZiAoKHZvaWQgMCA9PT0gciB8fCByID4gdGhpcy5sZW5ndGgpICYmIChyID0gdGhpcy5sZW5ndGgpLCByIDw9IDApIHJldHVybiBcIlwiO1xyXG4gIGlmICgociA+Pj49IDApIDw9ICh0ID4+Pj0gMCkpIHJldHVybiBcIlwiO1xyXG5cclxuICBmb3IgKGUgfHwgKGUgPSBcInV0ZjhcIik7Oykgc3dpdGNoIChlKSB7XHJcbiAgICBjYXNlIFwiaGV4XCI6XHJcbiAgICAgIHJldHVybiBPKHRoaXMsIHQsIHIpO1xyXG5cclxuICAgIGNhc2UgXCJ1dGY4XCI6XHJcbiAgICBjYXNlIFwidXRmLThcIjpcclxuICAgICAgcmV0dXJuIEModGhpcywgdCwgcik7XHJcblxyXG4gICAgY2FzZSBcImFzY2lpXCI6XHJcbiAgICAgIHJldHVybiBJKHRoaXMsIHQsIHIpO1xyXG5cclxuICAgIGNhc2UgXCJsYXRpbjFcIjpcclxuICAgIGNhc2UgXCJiaW5hcnlcIjpcclxuICAgICAgcmV0dXJuIFAodGhpcywgdCwgcik7XHJcblxyXG4gICAgY2FzZSBcImJhc2U2NFwiOlxyXG4gICAgICByZXR1cm4gTSh0aGlzLCB0LCByKTtcclxuXHJcbiAgICBjYXNlIFwidWNzMlwiOlxyXG4gICAgY2FzZSBcInVjcy0yXCI6XHJcbiAgICBjYXNlIFwidXRmMTZsZVwiOlxyXG4gICAgY2FzZSBcInV0Zi0xNmxlXCI6XHJcbiAgICAgIHJldHVybiBVKHRoaXMsIHQsIHIpO1xyXG5cclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIGlmIChuKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIgKyBlKTtcclxuICAgICAgZSA9IChlICsgXCJcIikudG9Mb3dlckNhc2UoKSwgbiA9ICEwO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gRShlLCB0LCByKSB7XHJcbiAgdmFyIG4gPSBlW3RdO1xyXG4gIGVbdF0gPSBlW3JdLCBlW3JdID0gbjtcclxufVxyXG5cclxuZnVuY3Rpb24gUyhlLCB0LCByLCBuLCBpKSB7XHJcbiAgaWYgKDAgPT09IGUubGVuZ3RoKSByZXR1cm4gLTE7XHJcblxyXG4gIGlmIChcInN0cmluZ1wiID09IHR5cGVvZiByID8gKG4gPSByLCByID0gMCkgOiByID4gMjE0NzQ4MzY0NyA/IHIgPSAyMTQ3NDgzNjQ3IDogciA8IC0yMTQ3NDgzNjQ4ICYmIChyID0gLTIxNDc0ODM2NDgpLCByID0gK3IsIGlzTmFOKHIpICYmIChyID0gaSA/IDAgOiBlLmxlbmd0aCAtIDEpLCByIDwgMCAmJiAociA9IGUubGVuZ3RoICsgciksIHIgPj0gZS5sZW5ndGgpIHtcclxuICAgIGlmIChpKSByZXR1cm4gLTE7XHJcbiAgICByID0gZS5sZW5ndGggLSAxO1xyXG4gIH0gZWxzZSBpZiAociA8IDApIHtcclxuICAgIGlmICghaSkgcmV0dXJuIC0xO1xyXG4gICAgciA9IDA7XHJcbiAgfVxyXG5cclxuICBpZiAoXCJzdHJpbmdcIiA9PSB0eXBlb2YgdCAmJiAodCA9IHAuZnJvbSh0LCBuKSksIHkodCkpIHJldHVybiAwID09PSB0Lmxlbmd0aCA/IC0xIDogeChlLCB0LCByLCBuLCBpKTtcclxuICBpZiAoXCJudW1iZXJcIiA9PSB0eXBlb2YgdCkgcmV0dXJuIHQgJj0gMjU1LCBwLlRZUEVEX0FSUkFZX1NVUFBPUlQgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mID8gaSA/IFVpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChlLCB0LCByKSA6IFVpbnQ4QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZSwgdCwgcikgOiB4KGUsIFt0XSwgciwgbiwgaSk7XHJcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcInZhbCBtdXN0IGJlIHN0cmluZywgbnVtYmVyIG9yIEJ1ZmZlclwiKTtcclxufVxyXG5cclxuZnVuY3Rpb24geChlLCB0LCByLCBuLCBpKSB7XHJcbiAgdmFyIG8sXHJcbiAgICAgIGEgPSAxLFxyXG4gICAgICBzID0gZS5sZW5ndGgsXHJcbiAgICAgIGggPSB0Lmxlbmd0aDtcclxuXHJcbiAgaWYgKHZvaWQgMCAhPT0gbiAmJiAoXCJ1Y3MyXCIgPT09IChuID0gU3RyaW5nKG4pLnRvTG93ZXJDYXNlKCkpIHx8IFwidWNzLTJcIiA9PT0gbiB8fCBcInV0ZjE2bGVcIiA9PT0gbiB8fCBcInV0Zi0xNmxlXCIgPT09IG4pKSB7XHJcbiAgICBpZiAoZS5sZW5ndGggPCAyIHx8IHQubGVuZ3RoIDwgMikgcmV0dXJuIC0xO1xyXG4gICAgYSA9IDIsIHMgLz0gMiwgaCAvPSAyLCByIC89IDI7XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBsKGUsIHQpIHtcclxuICAgIHJldHVybiAxID09PSBhID8gZVt0XSA6IGUucmVhZFVJbnQxNkJFKHQgKiBhKTtcclxuICB9XHJcblxyXG4gIGlmIChpKSB7XHJcbiAgICB2YXIgZiA9IC0xO1xyXG5cclxuICAgIGZvciAobyA9IHI7IG8gPCBzOyBvKyspIGlmIChsKGUsIG8pID09PSBsKHQsIC0xID09PSBmID8gMCA6IG8gLSBmKSkge1xyXG4gICAgICBpZiAoLTEgPT09IGYgJiYgKGYgPSBvKSwgbyAtIGYgKyAxID09PSBoKSByZXR1cm4gZiAqIGE7XHJcbiAgICB9IGVsc2UgLTEgIT09IGYgJiYgKG8gLT0gbyAtIGYpLCBmID0gLTE7XHJcbiAgfSBlbHNlIGZvciAociArIGggPiBzICYmIChyID0gcyAtIGgpLCBvID0gcjsgbyA+PSAwOyBvLS0pIHtcclxuICAgIGZvciAodmFyIGMgPSAhMCwgdSA9IDA7IHUgPCBoOyB1KyspIGlmIChsKGUsIG8gKyB1KSAhPT0gbCh0LCB1KSkge1xyXG4gICAgICBjID0gITE7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjKSByZXR1cm4gbztcclxuICB9XHJcblxyXG4gIHJldHVybiAtMTtcclxufVxyXG5cclxuZnVuY3Rpb24gUihlLCB0LCByLCBuKSB7XHJcbiAgciA9IE51bWJlcihyKSB8fCAwO1xyXG4gIHZhciBpID0gZS5sZW5ndGggLSByO1xyXG4gIG4gPyAobiA9IE51bWJlcihuKSkgPiBpICYmIChuID0gaSkgOiBuID0gaTtcclxuICB2YXIgbyA9IHQubGVuZ3RoO1xyXG4gIGlmIChvICUgMiAhPSAwKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBoZXggc3RyaW5nXCIpO1xyXG4gIG4gPiBvIC8gMiAmJiAobiA9IG8gLyAyKTtcclxuXHJcbiAgZm9yICh2YXIgYSA9IDA7IGEgPCBuOyArK2EpIHtcclxuICAgIHZhciBzID0gcGFyc2VJbnQodC5zdWJzdHIoMiAqIGEsIDIpLCAxNik7XHJcbiAgICBpZiAoaXNOYU4ocykpIHJldHVybiBhO1xyXG4gICAgZVtyICsgYV0gPSBzO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGE7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEEoZSwgdCwgciwgbikge1xyXG4gIHJldHVybiBHKHEodCwgZS5sZW5ndGggLSByKSwgZSwgciwgbik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEIoZSwgdCwgciwgbikge1xyXG4gIHJldHVybiBHKGZ1bmN0aW9uIChlKSB7XHJcbiAgICBmb3IgKHZhciB0ID0gW10sIHIgPSAwOyByIDwgZS5sZW5ndGg7ICsrcikgdC5wdXNoKDI1NSAmIGUuY2hhckNvZGVBdChyKSk7XHJcblxyXG4gICAgcmV0dXJuIHQ7XHJcbiAgfSh0KSwgZSwgciwgbik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHooZSwgdCwgciwgbikge1xyXG4gIHJldHVybiBCKGUsIHQsIHIsIG4pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBMKGUsIHQsIHIsIG4pIHtcclxuICByZXR1cm4gRyhWKHQpLCBlLCByLCBuKTtcclxufVxyXG5cclxuZnVuY3Rpb24gVChlLCB0LCByLCBuKSB7XHJcbiAgcmV0dXJuIEcoZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIGZvciAodmFyIHIsIG4sIGksIG8gPSBbXSwgYSA9IDA7IGEgPCBlLmxlbmd0aCAmJiAhKCh0IC09IDIpIDwgMCk7ICsrYSkgciA9IGUuY2hhckNvZGVBdChhKSwgbiA9IHIgPj4gOCwgaSA9IHIgJSAyNTYsIG8ucHVzaChpKSwgby5wdXNoKG4pO1xyXG5cclxuICAgIHJldHVybiBvO1xyXG4gIH0odCwgZS5sZW5ndGggLSByKSwgZSwgciwgbik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIE0oZSwgdCwgcikge1xyXG4gIHJldHVybiAwID09PSB0ICYmIHIgPT09IGUubGVuZ3RoID8gcyhlKSA6IHMoZS5zbGljZSh0LCByKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEMoZSwgdCwgcikge1xyXG4gIHIgPSBNYXRoLm1pbihlLmxlbmd0aCwgcik7XHJcblxyXG4gIGZvciAodmFyIG4gPSBbXSwgaSA9IHQ7IGkgPCByOykge1xyXG4gICAgdmFyIG8sXHJcbiAgICAgICAgYSxcclxuICAgICAgICBzLFxyXG4gICAgICAgIGgsXHJcbiAgICAgICAgbCA9IGVbaV0sXHJcbiAgICAgICAgZiA9IG51bGwsXHJcbiAgICAgICAgYyA9IGwgPiAyMzkgPyA0IDogbCA+IDIyMyA/IDMgOiBsID4gMTkxID8gMiA6IDE7XHJcbiAgICBpZiAoaSArIGMgPD0gcikgc3dpdGNoIChjKSB7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICBsIDwgMTI4ICYmIChmID0gbCk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgMTI4ID09ICgxOTIgJiAobyA9IGVbaSArIDFdKSkgJiYgKGggPSAoMzEgJiBsKSA8PCA2IHwgNjMgJiBvKSA+IDEyNyAmJiAoZiA9IGgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAzOlxyXG4gICAgICAgIG8gPSBlW2kgKyAxXSwgYSA9IGVbaSArIDJdLCAxMjggPT0gKDE5MiAmIG8pICYmIDEyOCA9PSAoMTkyICYgYSkgJiYgKGggPSAoMTUgJiBsKSA8PCAxMiB8ICg2MyAmIG8pIDw8IDYgfCA2MyAmIGEpID4gMjA0NyAmJiAoaCA8IDU1Mjk2IHx8IGggPiA1NzM0MykgJiYgKGYgPSBoKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICBvID0gZVtpICsgMV0sIGEgPSBlW2kgKyAyXSwgcyA9IGVbaSArIDNdLCAxMjggPT0gKDE5MiAmIG8pICYmIDEyOCA9PSAoMTkyICYgYSkgJiYgMTI4ID09ICgxOTIgJiBzKSAmJiAoaCA9ICgxNSAmIGwpIDw8IDE4IHwgKDYzICYgbykgPDwgMTIgfCAoNjMgJiBhKSA8PCA2IHwgNjMgJiBzKSA+IDY1NTM1ICYmIGggPCAxMTE0MTEyICYmIChmID0gaCk7XHJcbiAgICB9XHJcbiAgICBudWxsID09PSBmID8gKGYgPSA2NTUzMywgYyA9IDEpIDogZiA+IDY1NTM1ICYmIChmIC09IDY1NTM2LCBuLnB1c2goZiA+Pj4gMTAgJiAxMDIzIHwgNTUyOTYpLCBmID0gNTYzMjAgfCAxMDIzICYgZiksIG4ucHVzaChmKSwgaSArPSBjO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZ1bmN0aW9uIChlKSB7XHJcbiAgICB2YXIgdCA9IGUubGVuZ3RoO1xyXG4gICAgaWYgKHQgPD0gRCkgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLCBlKTtcclxuICAgIHZhciByID0gXCJcIixcclxuICAgICAgICBuID0gMDtcclxuXHJcbiAgICBmb3IgKDsgbiA8IHQ7KSByICs9IFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLCBlLnNsaWNlKG4sIG4gKz0gRCkpO1xyXG5cclxuICAgIHJldHVybiByO1xyXG4gIH0obik7XHJcbn1cclxuXHJcbnAuVFlQRURfQVJSQVlfU1VQUE9SVCA9IHZvaWQgMCA9PT0gZS5UWVBFRF9BUlJBWV9TVVBQT1JUIHx8IGUuVFlQRURfQVJSQVlfU1VQUE9SVCwgcC5wb29sU2l6ZSA9IDgxOTIsIHAuX2F1Z21lbnQgPSBmdW5jdGlvbiAoZSkge1xyXG4gIHJldHVybiBlLl9fcHJvdG9fXyA9IHAucHJvdG90eXBlLCBlO1xyXG59LCBwLmZyb20gPSBmdW5jdGlvbiAoZSwgdCwgcikge1xyXG4gIHJldHVybiBfKG51bGwsIGUsIHQsIHIpO1xyXG59LCBwLlRZUEVEX0FSUkFZX1NVUFBPUlQgJiYgKHAucHJvdG90eXBlLl9fcHJvdG9fXyA9IFVpbnQ4QXJyYXkucHJvdG90eXBlLCBwLl9fcHJvdG9fXyA9IFVpbnQ4QXJyYXkpLCBwLmFsbG9jID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICByZXR1cm4gZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcclxuICAgIHJldHVybiBnKHQpLCB0IDw9IDAgPyBkKGUsIHQpIDogdm9pZCAwICE9PSByID8gXCJzdHJpbmdcIiA9PSB0eXBlb2YgbiA/IGQoZSwgdCkuZmlsbChyLCBuKSA6IGQoZSwgdCkuZmlsbChyKSA6IGQoZSwgdCk7XHJcbiAgfShudWxsLCBlLCB0LCByKTtcclxufSwgcC5hbGxvY1Vuc2FmZSA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgcmV0dXJuIHYobnVsbCwgZSk7XHJcbn0sIHAuYWxsb2NVbnNhZmVTbG93ID0gZnVuY3Rpb24gKGUpIHtcclxuICByZXR1cm4gdihudWxsLCBlKTtcclxufSwgcC5pc0J1ZmZlciA9ICQsIHAuY29tcGFyZSA9IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgaWYgKCF5KGUpIHx8ICF5KHQpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnRzIG11c3QgYmUgQnVmZmVyc1wiKTtcclxuICBpZiAoZSA9PT0gdCkgcmV0dXJuIDA7XHJcblxyXG4gIGZvciAodmFyIHIgPSBlLmxlbmd0aCwgbiA9IHQubGVuZ3RoLCBpID0gMCwgbyA9IE1hdGgubWluKHIsIG4pOyBpIDwgbzsgKytpKSBpZiAoZVtpXSAhPT0gdFtpXSkge1xyXG4gICAgciA9IGVbaV0sIG4gPSB0W2ldO1xyXG4gICAgYnJlYWs7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gciA8IG4gPyAtMSA6IG4gPCByID8gMSA6IDA7XHJcbn0sIHAuaXNFbmNvZGluZyA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgc3dpdGNoIChTdHJpbmcoZSkudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgY2FzZSBcImhleFwiOlxyXG4gICAgY2FzZSBcInV0ZjhcIjpcclxuICAgIGNhc2UgXCJ1dGYtOFwiOlxyXG4gICAgY2FzZSBcImFzY2lpXCI6XHJcbiAgICBjYXNlIFwibGF0aW4xXCI6XHJcbiAgICBjYXNlIFwiYmluYXJ5XCI6XHJcbiAgICBjYXNlIFwiYmFzZTY0XCI6XHJcbiAgICBjYXNlIFwidWNzMlwiOlxyXG4gICAgY2FzZSBcInVjcy0yXCI6XHJcbiAgICBjYXNlIFwidXRmMTZsZVwiOlxyXG4gICAgY2FzZSBcInV0Zi0xNmxlXCI6XHJcbiAgICAgIHJldHVybiAhMDtcclxuXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gITE7XHJcbiAgfVxyXG59LCBwLmNvbmNhdCA9IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgaWYgKCFjKGUpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImxpc3RcIiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtcclxuICBpZiAoMCA9PT0gZS5sZW5ndGgpIHJldHVybiBwLmFsbG9jKDApO1xyXG4gIHZhciByO1xyXG4gIGlmICh2b2lkIDAgPT09IHQpIGZvciAodCA9IDAsIHIgPSAwOyByIDwgZS5sZW5ndGg7ICsrcikgdCArPSBlW3JdLmxlbmd0aDtcclxuICB2YXIgbiA9IHAuYWxsb2NVbnNhZmUodCksXHJcbiAgICAgIGkgPSAwO1xyXG5cclxuICBmb3IgKHIgPSAwOyByIDwgZS5sZW5ndGg7ICsrcikge1xyXG4gICAgdmFyIG8gPSBlW3JdO1xyXG4gICAgaWYgKCF5KG8pKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImxpc3RcIiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtcclxuICAgIG8uY29weShuLCBpKSwgaSArPSBvLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHJldHVybiBuO1xyXG59LCBwLmJ5dGVMZW5ndGggPSBtLCBwLnByb3RvdHlwZS5faXNCdWZmZXIgPSAhMCwgcC5wcm90b3R5cGUuc3dhcDE2ID0gZnVuY3Rpb24gKCkge1xyXG4gIHZhciBlID0gdGhpcy5sZW5ndGg7XHJcbiAgaWYgKGUgJSAyICE9IDApIHRocm93IG5ldyBSYW5nZUVycm9yKFwiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDE2LWJpdHNcIik7XHJcblxyXG4gIGZvciAodmFyIHQgPSAwOyB0IDwgZTsgdCArPSAyKSBFKHRoaXMsIHQsIHQgKyAxKTtcclxuXHJcbiAgcmV0dXJuIHRoaXM7XHJcbn0sIHAucHJvdG90eXBlLnN3YXAzMiA9IGZ1bmN0aW9uICgpIHtcclxuICB2YXIgZSA9IHRoaXMubGVuZ3RoO1xyXG4gIGlmIChlICUgNCAhPSAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMi1iaXRzXCIpO1xyXG5cclxuICBmb3IgKHZhciB0ID0gMDsgdCA8IGU7IHQgKz0gNCkgRSh0aGlzLCB0LCB0ICsgMyksIEUodGhpcywgdCArIDEsIHQgKyAyKTtcclxuXHJcbiAgcmV0dXJuIHRoaXM7XHJcbn0sIHAucHJvdG90eXBlLnN3YXA2NCA9IGZ1bmN0aW9uICgpIHtcclxuICB2YXIgZSA9IHRoaXMubGVuZ3RoO1xyXG4gIGlmIChlICUgOCAhPSAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA2NC1iaXRzXCIpO1xyXG5cclxuICBmb3IgKHZhciB0ID0gMDsgdCA8IGU7IHQgKz0gOCkgRSh0aGlzLCB0LCB0ICsgNyksIEUodGhpcywgdCArIDEsIHQgKyA2KSwgRSh0aGlzLCB0ICsgMiwgdCArIDUpLCBFKHRoaXMsIHQgKyAzLCB0ICsgNCk7XHJcblxyXG4gIHJldHVybiB0aGlzO1xyXG59LCBwLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHtcclxuICB2YXIgZSA9IDAgfCB0aGlzLmxlbmd0aDtcclxuICByZXR1cm4gMCA9PT0gZSA/IFwiXCIgOiAwID09PSBhcmd1bWVudHMubGVuZ3RoID8gQyh0aGlzLCAwLCBlKSA6IGsuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufSwgcC5wcm90b3R5cGUuZXF1YWxzID0gZnVuY3Rpb24gKGUpIHtcclxuICBpZiAoIXkoZSkpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyXCIpO1xyXG4gIHJldHVybiB0aGlzID09PSBlIHx8IDAgPT09IHAuY29tcGFyZSh0aGlzLCBlKTtcclxufSwgcC5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uICgpIHtcclxuICB2YXIgZSA9IFwiXCI7XHJcbiAgcmV0dXJuIHRoaXMubGVuZ3RoID4gMCAmJiAoZSA9IHRoaXMudG9TdHJpbmcoXCJoZXhcIiwgMCwgNTApLm1hdGNoKC8uezJ9L2cpLmpvaW4oXCIgXCIpLCB0aGlzLmxlbmd0aCA+IDUwICYmIChlICs9IFwiIC4uLiBcIikpLCBcIjxCdWZmZXIgXCIgKyBlICsgXCI+XCI7XHJcbn0sIHAucHJvdG90eXBlLmNvbXBhcmUgPSBmdW5jdGlvbiAoZSwgdCwgciwgbiwgaSkge1xyXG4gIGlmICgheShlKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXJcIik7XHJcbiAgaWYgKHZvaWQgMCA9PT0gdCAmJiAodCA9IDApLCB2b2lkIDAgPT09IHIgJiYgKHIgPSBlID8gZS5sZW5ndGggOiAwKSwgdm9pZCAwID09PSBuICYmIChuID0gMCksIHZvaWQgMCA9PT0gaSAmJiAoaSA9IHRoaXMubGVuZ3RoKSwgdCA8IDAgfHwgciA+IGUubGVuZ3RoIHx8IG4gPCAwIHx8IGkgPiB0aGlzLmxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJvdXQgb2YgcmFuZ2UgaW5kZXhcIik7XHJcbiAgaWYgKG4gPj0gaSAmJiB0ID49IHIpIHJldHVybiAwO1xyXG4gIGlmIChuID49IGkpIHJldHVybiAtMTtcclxuICBpZiAodCA+PSByKSByZXR1cm4gMTtcclxuICBpZiAodGhpcyA9PT0gZSkgcmV0dXJuIDA7XHJcblxyXG4gIGZvciAodmFyIG8gPSAoaSA+Pj49IDApIC0gKG4gPj4+PSAwKSwgYSA9IChyID4+Pj0gMCkgLSAodCA+Pj49IDApLCBzID0gTWF0aC5taW4obywgYSksIGggPSB0aGlzLnNsaWNlKG4sIGkpLCBsID0gZS5zbGljZSh0LCByKSwgZiA9IDA7IGYgPCBzOyArK2YpIGlmIChoW2ZdICE9PSBsW2ZdKSB7XHJcbiAgICBvID0gaFtmXSwgYSA9IGxbZl07XHJcbiAgICBicmVhaztcclxuICB9XHJcblxyXG4gIHJldHVybiBvIDwgYSA/IC0xIDogYSA8IG8gPyAxIDogMDtcclxufSwgcC5wcm90b3R5cGUuaW5jbHVkZXMgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xyXG4gIHJldHVybiAtMSAhPT0gdGhpcy5pbmRleE9mKGUsIHQsIHIpO1xyXG59LCBwLnByb3RvdHlwZS5pbmRleE9mID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICByZXR1cm4gUyh0aGlzLCBlLCB0LCByLCAhMCk7XHJcbn0sIHAucHJvdG90eXBlLmxhc3RJbmRleE9mID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICByZXR1cm4gUyh0aGlzLCBlLCB0LCByLCAhMSk7XHJcbn0sIHAucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcclxuICBpZiAodm9pZCAwID09PSB0KSBuID0gXCJ1dGY4XCIsIHIgPSB0aGlzLmxlbmd0aCwgdCA9IDA7ZWxzZSBpZiAodm9pZCAwID09PSByICYmIFwic3RyaW5nXCIgPT0gdHlwZW9mIHQpIG4gPSB0LCByID0gdGhpcy5sZW5ndGgsIHQgPSAwO2Vsc2Uge1xyXG4gICAgaWYgKCFpc0Zpbml0ZSh0KSkgdGhyb3cgbmV3IEVycm9yKFwiQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWRcIik7XHJcbiAgICB0IHw9IDAsIGlzRmluaXRlKHIpID8gKHIgfD0gMCwgdm9pZCAwID09PSBuICYmIChuID0gXCJ1dGY4XCIpKSA6IChuID0gciwgciA9IHZvaWQgMCk7XHJcbiAgfVxyXG4gIHZhciBpID0gdGhpcy5sZW5ndGggLSB0O1xyXG4gIGlmICgodm9pZCAwID09PSByIHx8IHIgPiBpKSAmJiAociA9IGkpLCBlLmxlbmd0aCA+IDAgJiYgKHIgPCAwIHx8IHQgPCAwKSB8fCB0ID4gdGhpcy5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKFwiQXR0ZW1wdCB0byB3cml0ZSBvdXRzaWRlIGJ1ZmZlciBib3VuZHNcIik7XHJcbiAgbiB8fCAobiA9IFwidXRmOFwiKTtcclxuXHJcbiAgZm9yICh2YXIgbyA9ICExOzspIHN3aXRjaCAobikge1xyXG4gICAgY2FzZSBcImhleFwiOlxyXG4gICAgICByZXR1cm4gUih0aGlzLCBlLCB0LCByKTtcclxuXHJcbiAgICBjYXNlIFwidXRmOFwiOlxyXG4gICAgY2FzZSBcInV0Zi04XCI6XHJcbiAgICAgIHJldHVybiBBKHRoaXMsIGUsIHQsIHIpO1xyXG5cclxuICAgIGNhc2UgXCJhc2NpaVwiOlxyXG4gICAgICByZXR1cm4gQih0aGlzLCBlLCB0LCByKTtcclxuXHJcbiAgICBjYXNlIFwibGF0aW4xXCI6XHJcbiAgICBjYXNlIFwiYmluYXJ5XCI6XHJcbiAgICAgIHJldHVybiB6KHRoaXMsIGUsIHQsIHIpO1xyXG5cclxuICAgIGNhc2UgXCJiYXNlNjRcIjpcclxuICAgICAgcmV0dXJuIEwodGhpcywgZSwgdCwgcik7XHJcblxyXG4gICAgY2FzZSBcInVjczJcIjpcclxuICAgIGNhc2UgXCJ1Y3MtMlwiOlxyXG4gICAgY2FzZSBcInV0ZjE2bGVcIjpcclxuICAgIGNhc2UgXCJ1dGYtMTZsZVwiOlxyXG4gICAgICByZXR1cm4gVCh0aGlzLCBlLCB0LCByKTtcclxuXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICBpZiAobykgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gZW5jb2Rpbmc6IFwiICsgbik7XHJcbiAgICAgIG4gPSAoXCJcIiArIG4pLnRvTG93ZXJDYXNlKCksIG8gPSAhMDtcclxuICB9XHJcbn0sIHAucHJvdG90eXBlLnRvSlNPTiA9IGZ1bmN0aW9uICgpIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZTogXCJCdWZmZXJcIixcclxuICAgIGRhdGE6IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuX2FyciB8fCB0aGlzLCAwKVxyXG4gIH07XHJcbn07XHJcbnZhciBEID0gNDA5NjtcclxuXHJcbmZ1bmN0aW9uIEkoZSwgdCwgcikge1xyXG4gIHZhciBuID0gXCJcIjtcclxuICByID0gTWF0aC5taW4oZS5sZW5ndGgsIHIpO1xyXG5cclxuICBmb3IgKHZhciBpID0gdDsgaSA8IHI7ICsraSkgbiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDEyNyAmIGVbaV0pO1xyXG5cclxuICByZXR1cm4gbjtcclxufVxyXG5cclxuZnVuY3Rpb24gUChlLCB0LCByKSB7XHJcbiAgdmFyIG4gPSBcIlwiO1xyXG4gIHIgPSBNYXRoLm1pbihlLmxlbmd0aCwgcik7XHJcblxyXG4gIGZvciAodmFyIGkgPSB0OyBpIDwgcjsgKytpKSBuICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoZVtpXSk7XHJcblxyXG4gIHJldHVybiBuO1xyXG59XHJcblxyXG5mdW5jdGlvbiBPKGUsIHQsIHIpIHtcclxuICB2YXIgbiA9IGUubGVuZ3RoO1xyXG4gICghdCB8fCB0IDwgMCkgJiYgKHQgPSAwKSwgKCFyIHx8IHIgPCAwIHx8IHIgPiBuKSAmJiAociA9IG4pO1xyXG5cclxuICBmb3IgKHZhciBpID0gXCJcIiwgbyA9IHQ7IG8gPCByOyArK28pIGkgKz0gWChlW29dKTtcclxuXHJcbiAgcmV0dXJuIGk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFUoZSwgdCwgcikge1xyXG4gIGZvciAodmFyIG4gPSBlLnNsaWNlKHQsIHIpLCBpID0gXCJcIiwgbyA9IDA7IG8gPCBuLmxlbmd0aDsgbyArPSAyKSBpICs9IFN0cmluZy5mcm9tQ2hhckNvZGUobltvXSArIDI1NiAqIG5bbyArIDFdKTtcclxuXHJcbiAgcmV0dXJuIGk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEgoZSwgdCwgcikge1xyXG4gIGlmIChlICUgMSAhPSAwIHx8IGUgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIm9mZnNldCBpcyBub3QgdWludFwiKTtcclxuICBpZiAoZSArIHQgPiByKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIlRyeWluZyB0byBhY2Nlc3MgYmV5b25kIGJ1ZmZlciBsZW5ndGhcIik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEYoZSwgdCwgciwgbiwgaSwgbykge1xyXG4gIGlmICgheShlKSkgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJidWZmZXJcIiBhcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIGluc3RhbmNlJyk7XHJcbiAgaWYgKHQgPiBpIHx8IHQgPCBvKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXCJ2YWx1ZVwiIGFyZ3VtZW50IGlzIG91dCBvZiBib3VuZHMnKTtcclxuICBpZiAociArIG4gPiBlLmxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbmRleCBvdXQgb2YgcmFuZ2VcIik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIE4oZSwgdCwgciwgbikge1xyXG4gIHQgPCAwICYmICh0ID0gNjU1MzUgKyB0ICsgMSk7XHJcblxyXG4gIGZvciAodmFyIGkgPSAwLCBvID0gTWF0aC5taW4oZS5sZW5ndGggLSByLCAyKTsgaSA8IG87ICsraSkgZVtyICsgaV0gPSAodCAmIDI1NSA8PCA4ICogKG4gPyBpIDogMSAtIGkpKSA+Pj4gOCAqIChuID8gaSA6IDEgLSBpKTtcclxufVxyXG5cclxuZnVuY3Rpb24gWihlLCB0LCByLCBuKSB7XHJcbiAgdCA8IDAgJiYgKHQgPSA0Mjk0OTY3Mjk1ICsgdCArIDEpO1xyXG5cclxuICBmb3IgKHZhciBpID0gMCwgbyA9IE1hdGgubWluKGUubGVuZ3RoIC0gciwgNCk7IGkgPCBvOyArK2kpIGVbciArIGldID0gdCA+Pj4gOCAqIChuID8gaSA6IDMgLSBpKSAmIDI1NTtcclxufVxyXG5cclxuZnVuY3Rpb24gaihlLCB0LCByLCBuLCBpLCBvKSB7XHJcbiAgaWYgKHIgKyBuID4gZS5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKFwiSW5kZXggb3V0IG9mIHJhbmdlXCIpO1xyXG4gIGlmIChyIDwgMCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbmRleCBvdXQgb2YgcmFuZ2VcIik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFcoZSwgdCwgciwgbiwgaSkge1xyXG4gIHJldHVybiBpIHx8IGooZSwgMCwgciwgNCksIGwoZSwgdCwgciwgbiwgMjMsIDQpLCByICsgNDtcclxufVxyXG5cclxuZnVuY3Rpb24gWShlLCB0LCByLCBuLCBpKSB7XHJcbiAgcmV0dXJuIGkgfHwgaihlLCAwLCByLCA4KSwgbChlLCB0LCByLCBuLCA1MiwgOCksIHIgKyA4O1xyXG59XHJcblxyXG5wLnByb3RvdHlwZS5zbGljZSA9IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHIsXHJcbiAgICAgIG4gPSB0aGlzLmxlbmd0aDtcclxuICBpZiAoKGUgPSB+fmUpIDwgMCA/IChlICs9IG4pIDwgMCAmJiAoZSA9IDApIDogZSA+IG4gJiYgKGUgPSBuKSwgKHQgPSB2b2lkIDAgPT09IHQgPyBuIDogfn50KSA8IDAgPyAodCArPSBuKSA8IDAgJiYgKHQgPSAwKSA6IHQgPiBuICYmICh0ID0gbiksIHQgPCBlICYmICh0ID0gZSksIHAuVFlQRURfQVJSQVlfU1VQUE9SVCkgKHIgPSB0aGlzLnN1YmFycmF5KGUsIHQpKS5fX3Byb3RvX18gPSBwLnByb3RvdHlwZTtlbHNlIHtcclxuICAgIHZhciBpID0gdCAtIGU7XHJcbiAgICByID0gbmV3IHAoaSwgdm9pZCAwKTtcclxuXHJcbiAgICBmb3IgKHZhciBvID0gMDsgbyA8IGk7ICsrbykgcltvXSA9IHRoaXNbbyArIGVdO1xyXG4gIH1cclxuICByZXR1cm4gcjtcclxufSwgcC5wcm90b3R5cGUucmVhZFVJbnRMRSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgZSB8PSAwLCB0IHw9IDAsIHIgfHwgSChlLCB0LCB0aGlzLmxlbmd0aCk7XHJcblxyXG4gIGZvciAodmFyIG4gPSB0aGlzW2VdLCBpID0gMSwgbyA9IDA7ICsrbyA8IHQgJiYgKGkgKj0gMjU2KTspIG4gKz0gdGhpc1tlICsgb10gKiBpO1xyXG5cclxuICByZXR1cm4gbjtcclxufSwgcC5wcm90b3R5cGUucmVhZFVJbnRCRSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgZSB8PSAwLCB0IHw9IDAsIHIgfHwgSChlLCB0LCB0aGlzLmxlbmd0aCk7XHJcblxyXG4gIGZvciAodmFyIG4gPSB0aGlzW2UgKyAtLXRdLCBpID0gMTsgdCA+IDAgJiYgKGkgKj0gMjU2KTspIG4gKz0gdGhpc1tlICsgLS10XSAqIGk7XHJcblxyXG4gIHJldHVybiBuO1xyXG59LCBwLnByb3RvdHlwZS5yZWFkVUludDggPSBmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHJldHVybiB0IHx8IEgoZSwgMSwgdGhpcy5sZW5ndGgpLCB0aGlzW2VdO1xyXG59LCBwLnByb3RvdHlwZS5yZWFkVUludDE2TEUgPSBmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHJldHVybiB0IHx8IEgoZSwgMiwgdGhpcy5sZW5ndGgpLCB0aGlzW2VdIHwgdGhpc1tlICsgMV0gPDwgODtcclxufSwgcC5wcm90b3R5cGUucmVhZFVJbnQxNkJFID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICByZXR1cm4gdCB8fCBIKGUsIDIsIHRoaXMubGVuZ3RoKSwgdGhpc1tlXSA8PCA4IHwgdGhpc1tlICsgMV07XHJcbn0sIHAucHJvdG90eXBlLnJlYWRVSW50MzJMRSA9IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgcmV0dXJuIHQgfHwgSChlLCA0LCB0aGlzLmxlbmd0aCksICh0aGlzW2VdIHwgdGhpc1tlICsgMV0gPDwgOCB8IHRoaXNbZSArIDJdIDw8IDE2KSArIDE2Nzc3MjE2ICogdGhpc1tlICsgM107XHJcbn0sIHAucHJvdG90eXBlLnJlYWRVSW50MzJCRSA9IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgcmV0dXJuIHQgfHwgSChlLCA0LCB0aGlzLmxlbmd0aCksIDE2Nzc3MjE2ICogdGhpc1tlXSArICh0aGlzW2UgKyAxXSA8PCAxNiB8IHRoaXNbZSArIDJdIDw8IDggfCB0aGlzW2UgKyAzXSk7XHJcbn0sIHAucHJvdG90eXBlLnJlYWRJbnRMRSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgZSB8PSAwLCB0IHw9IDAsIHIgfHwgSChlLCB0LCB0aGlzLmxlbmd0aCk7XHJcblxyXG4gIGZvciAodmFyIG4gPSB0aGlzW2VdLCBpID0gMSwgbyA9IDA7ICsrbyA8IHQgJiYgKGkgKj0gMjU2KTspIG4gKz0gdGhpc1tlICsgb10gKiBpO1xyXG5cclxuICByZXR1cm4gbiA+PSAoaSAqPSAxMjgpICYmIChuIC09IE1hdGgucG93KDIsIDggKiB0KSksIG47XHJcbn0sIHAucHJvdG90eXBlLnJlYWRJbnRCRSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgZSB8PSAwLCB0IHw9IDAsIHIgfHwgSChlLCB0LCB0aGlzLmxlbmd0aCk7XHJcblxyXG4gIGZvciAodmFyIG4gPSB0LCBpID0gMSwgbyA9IHRoaXNbZSArIC0tbl07IG4gPiAwICYmIChpICo9IDI1Nik7KSBvICs9IHRoaXNbZSArIC0tbl0gKiBpO1xyXG5cclxuICByZXR1cm4gbyA+PSAoaSAqPSAxMjgpICYmIChvIC09IE1hdGgucG93KDIsIDggKiB0KSksIG87XHJcbn0sIHAucHJvdG90eXBlLnJlYWRJbnQ4ID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICByZXR1cm4gdCB8fCBIKGUsIDEsIHRoaXMubGVuZ3RoKSwgMTI4ICYgdGhpc1tlXSA/IC0xICogKDI1NSAtIHRoaXNbZV0gKyAxKSA6IHRoaXNbZV07XHJcbn0sIHAucHJvdG90eXBlLnJlYWRJbnQxNkxFID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICB0IHx8IEgoZSwgMiwgdGhpcy5sZW5ndGgpO1xyXG4gIHZhciByID0gdGhpc1tlXSB8IHRoaXNbZSArIDFdIDw8IDg7XHJcbiAgcmV0dXJuIDMyNzY4ICYgciA/IDQyOTQ5MDE3NjAgfCByIDogcjtcclxufSwgcC5wcm90b3R5cGUucmVhZEludDE2QkUgPSBmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHQgfHwgSChlLCAyLCB0aGlzLmxlbmd0aCk7XHJcbiAgdmFyIHIgPSB0aGlzW2UgKyAxXSB8IHRoaXNbZV0gPDwgODtcclxuICByZXR1cm4gMzI3NjggJiByID8gNDI5NDkwMTc2MCB8IHIgOiByO1xyXG59LCBwLnByb3RvdHlwZS5yZWFkSW50MzJMRSA9IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgcmV0dXJuIHQgfHwgSChlLCA0LCB0aGlzLmxlbmd0aCksIHRoaXNbZV0gfCB0aGlzW2UgKyAxXSA8PCA4IHwgdGhpc1tlICsgMl0gPDwgMTYgfCB0aGlzW2UgKyAzXSA8PCAyNDtcclxufSwgcC5wcm90b3R5cGUucmVhZEludDMyQkUgPSBmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHJldHVybiB0IHx8IEgoZSwgNCwgdGhpcy5sZW5ndGgpLCB0aGlzW2VdIDw8IDI0IHwgdGhpc1tlICsgMV0gPDwgMTYgfCB0aGlzW2UgKyAyXSA8PCA4IHwgdGhpc1tlICsgM107XHJcbn0sIHAucHJvdG90eXBlLnJlYWRGbG9hdExFID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICByZXR1cm4gdCB8fCBIKGUsIDQsIHRoaXMubGVuZ3RoKSwgaCh0aGlzLCBlLCAhMCwgMjMsIDQpO1xyXG59LCBwLnByb3RvdHlwZS5yZWFkRmxvYXRCRSA9IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgcmV0dXJuIHQgfHwgSChlLCA0LCB0aGlzLmxlbmd0aCksIGgodGhpcywgZSwgITEsIDIzLCA0KTtcclxufSwgcC5wcm90b3R5cGUucmVhZERvdWJsZUxFID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICByZXR1cm4gdCB8fCBIKGUsIDgsIHRoaXMubGVuZ3RoKSwgaCh0aGlzLCBlLCAhMCwgNTIsIDgpO1xyXG59LCBwLnByb3RvdHlwZS5yZWFkRG91YmxlQkUgPSBmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHJldHVybiB0IHx8IEgoZSwgOCwgdGhpcy5sZW5ndGgpLCBoKHRoaXMsIGUsICExLCA1MiwgOCk7XHJcbn0sIHAucHJvdG90eXBlLndyaXRlVUludExFID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcclxuICAoZSA9ICtlLCB0IHw9IDAsIHIgfD0gMCwgbikgfHwgRih0aGlzLCBlLCB0LCByLCBNYXRoLnBvdygyLCA4ICogcikgLSAxLCAwKTtcclxuICB2YXIgaSA9IDEsXHJcbiAgICAgIG8gPSAwO1xyXG5cclxuICBmb3IgKHRoaXNbdF0gPSAyNTUgJiBlOyArK28gPCByICYmIChpICo9IDI1Nik7KSB0aGlzW3QgKyBvXSA9IGUgLyBpICYgMjU1O1xyXG5cclxuICByZXR1cm4gdCArIHI7XHJcbn0sIHAucHJvdG90eXBlLndyaXRlVUludEJFID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcclxuICAoZSA9ICtlLCB0IHw9IDAsIHIgfD0gMCwgbikgfHwgRih0aGlzLCBlLCB0LCByLCBNYXRoLnBvdygyLCA4ICogcikgLSAxLCAwKTtcclxuICB2YXIgaSA9IHIgLSAxLFxyXG4gICAgICBvID0gMTtcclxuXHJcbiAgZm9yICh0aGlzW3QgKyBpXSA9IDI1NSAmIGU7IC0taSA+PSAwICYmIChvICo9IDI1Nik7KSB0aGlzW3QgKyBpXSA9IGUgLyBvICYgMjU1O1xyXG5cclxuICByZXR1cm4gdCArIHI7XHJcbn0sIHAucHJvdG90eXBlLndyaXRlVUludDggPSBmdW5jdGlvbiAoZSwgdCwgcikge1xyXG4gIHJldHVybiBlID0gK2UsIHQgfD0gMCwgciB8fCBGKHRoaXMsIGUsIHQsIDEsIDI1NSwgMCksIHAuVFlQRURfQVJSQVlfU1VQUE9SVCB8fCAoZSA9IE1hdGguZmxvb3IoZSkpLCB0aGlzW3RdID0gMjU1ICYgZSwgdCArIDE7XHJcbn0sIHAucHJvdG90eXBlLndyaXRlVUludDE2TEUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xyXG4gIHJldHVybiBlID0gK2UsIHQgfD0gMCwgciB8fCBGKHRoaXMsIGUsIHQsIDIsIDY1NTM1LCAwKSwgcC5UWVBFRF9BUlJBWV9TVVBQT1JUID8gKHRoaXNbdF0gPSAyNTUgJiBlLCB0aGlzW3QgKyAxXSA9IGUgPj4+IDgpIDogTih0aGlzLCBlLCB0LCAhMCksIHQgKyAyO1xyXG59LCBwLnByb3RvdHlwZS53cml0ZVVJbnQxNkJFID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICByZXR1cm4gZSA9ICtlLCB0IHw9IDAsIHIgfHwgRih0aGlzLCBlLCB0LCAyLCA2NTUzNSwgMCksIHAuVFlQRURfQVJSQVlfU1VQUE9SVCA/ICh0aGlzW3RdID0gZSA+Pj4gOCwgdGhpc1t0ICsgMV0gPSAyNTUgJiBlKSA6IE4odGhpcywgZSwgdCwgITEpLCB0ICsgMjtcclxufSwgcC5wcm90b3R5cGUud3JpdGVVSW50MzJMRSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgcmV0dXJuIGUgPSArZSwgdCB8PSAwLCByIHx8IEYodGhpcywgZSwgdCwgNCwgNDI5NDk2NzI5NSwgMCksIHAuVFlQRURfQVJSQVlfU1VQUE9SVCA/ICh0aGlzW3QgKyAzXSA9IGUgPj4+IDI0LCB0aGlzW3QgKyAyXSA9IGUgPj4+IDE2LCB0aGlzW3QgKyAxXSA9IGUgPj4+IDgsIHRoaXNbdF0gPSAyNTUgJiBlKSA6IFoodGhpcywgZSwgdCwgITApLCB0ICsgNDtcclxufSwgcC5wcm90b3R5cGUud3JpdGVVSW50MzJCRSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgcmV0dXJuIGUgPSArZSwgdCB8PSAwLCByIHx8IEYodGhpcywgZSwgdCwgNCwgNDI5NDk2NzI5NSwgMCksIHAuVFlQRURfQVJSQVlfU1VQUE9SVCA/ICh0aGlzW3RdID0gZSA+Pj4gMjQsIHRoaXNbdCArIDFdID0gZSA+Pj4gMTYsIHRoaXNbdCArIDJdID0gZSA+Pj4gOCwgdGhpc1t0ICsgM10gPSAyNTUgJiBlKSA6IFoodGhpcywgZSwgdCwgITEpLCB0ICsgNDtcclxufSwgcC5wcm90b3R5cGUud3JpdGVJbnRMRSA9IGZ1bmN0aW9uIChlLCB0LCByLCBuKSB7XHJcbiAgaWYgKGUgPSArZSwgdCB8PSAwLCAhbikge1xyXG4gICAgdmFyIGkgPSBNYXRoLnBvdygyLCA4ICogciAtIDEpO1xyXG4gICAgRih0aGlzLCBlLCB0LCByLCBpIC0gMSwgLWkpO1xyXG4gIH1cclxuXHJcbiAgdmFyIG8gPSAwLFxyXG4gICAgICBhID0gMSxcclxuICAgICAgcyA9IDA7XHJcblxyXG4gIGZvciAodGhpc1t0XSA9IDI1NSAmIGU7ICsrbyA8IHIgJiYgKGEgKj0gMjU2KTspIGUgPCAwICYmIDAgPT09IHMgJiYgMCAhPT0gdGhpc1t0ICsgbyAtIDFdICYmIChzID0gMSksIHRoaXNbdCArIG9dID0gKGUgLyBhID4+IDApIC0gcyAmIDI1NTtcclxuXHJcbiAgcmV0dXJuIHQgKyByO1xyXG59LCBwLnByb3RvdHlwZS53cml0ZUludEJFID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcclxuICBpZiAoZSA9ICtlLCB0IHw9IDAsICFuKSB7XHJcbiAgICB2YXIgaSA9IE1hdGgucG93KDIsIDggKiByIC0gMSk7XHJcbiAgICBGKHRoaXMsIGUsIHQsIHIsIGkgLSAxLCAtaSk7XHJcbiAgfVxyXG5cclxuICB2YXIgbyA9IHIgLSAxLFxyXG4gICAgICBhID0gMSxcclxuICAgICAgcyA9IDA7XHJcblxyXG4gIGZvciAodGhpc1t0ICsgb10gPSAyNTUgJiBlOyAtLW8gPj0gMCAmJiAoYSAqPSAyNTYpOykgZSA8IDAgJiYgMCA9PT0gcyAmJiAwICE9PSB0aGlzW3QgKyBvICsgMV0gJiYgKHMgPSAxKSwgdGhpc1t0ICsgb10gPSAoZSAvIGEgPj4gMCkgLSBzICYgMjU1O1xyXG5cclxuICByZXR1cm4gdCArIHI7XHJcbn0sIHAucHJvdG90eXBlLndyaXRlSW50OCA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgcmV0dXJuIGUgPSArZSwgdCB8PSAwLCByIHx8IEYodGhpcywgZSwgdCwgMSwgMTI3LCAtMTI4KSwgcC5UWVBFRF9BUlJBWV9TVVBQT1JUIHx8IChlID0gTWF0aC5mbG9vcihlKSksIGUgPCAwICYmIChlID0gMjU1ICsgZSArIDEpLCB0aGlzW3RdID0gMjU1ICYgZSwgdCArIDE7XHJcbn0sIHAucHJvdG90eXBlLndyaXRlSW50MTZMRSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgcmV0dXJuIGUgPSArZSwgdCB8PSAwLCByIHx8IEYodGhpcywgZSwgdCwgMiwgMzI3NjcsIC0zMjc2OCksIHAuVFlQRURfQVJSQVlfU1VQUE9SVCA/ICh0aGlzW3RdID0gMjU1ICYgZSwgdGhpc1t0ICsgMV0gPSBlID4+PiA4KSA6IE4odGhpcywgZSwgdCwgITApLCB0ICsgMjtcclxufSwgcC5wcm90b3R5cGUud3JpdGVJbnQxNkJFID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICByZXR1cm4gZSA9ICtlLCB0IHw9IDAsIHIgfHwgRih0aGlzLCBlLCB0LCAyLCAzMjc2NywgLTMyNzY4KSwgcC5UWVBFRF9BUlJBWV9TVVBQT1JUID8gKHRoaXNbdF0gPSBlID4+PiA4LCB0aGlzW3QgKyAxXSA9IDI1NSAmIGUpIDogTih0aGlzLCBlLCB0LCAhMSksIHQgKyAyO1xyXG59LCBwLnByb3RvdHlwZS53cml0ZUludDMyTEUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xyXG4gIHJldHVybiBlID0gK2UsIHQgfD0gMCwgciB8fCBGKHRoaXMsIGUsIHQsIDQsIDIxNDc0ODM2NDcsIC0yMTQ3NDgzNjQ4KSwgcC5UWVBFRF9BUlJBWV9TVVBQT1JUID8gKHRoaXNbdF0gPSAyNTUgJiBlLCB0aGlzW3QgKyAxXSA9IGUgPj4+IDgsIHRoaXNbdCArIDJdID0gZSA+Pj4gMTYsIHRoaXNbdCArIDNdID0gZSA+Pj4gMjQpIDogWih0aGlzLCBlLCB0LCAhMCksIHQgKyA0O1xyXG59LCBwLnByb3RvdHlwZS53cml0ZUludDMyQkUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xyXG4gIHJldHVybiBlID0gK2UsIHQgfD0gMCwgciB8fCBGKHRoaXMsIGUsIHQsIDQsIDIxNDc0ODM2NDcsIC0yMTQ3NDgzNjQ4KSwgZSA8IDAgJiYgKGUgPSA0Mjk0OTY3Mjk1ICsgZSArIDEpLCBwLlRZUEVEX0FSUkFZX1NVUFBPUlQgPyAodGhpc1t0XSA9IGUgPj4+IDI0LCB0aGlzW3QgKyAxXSA9IGUgPj4+IDE2LCB0aGlzW3QgKyAyXSA9IGUgPj4+IDgsIHRoaXNbdCArIDNdID0gMjU1ICYgZSkgOiBaKHRoaXMsIGUsIHQsICExKSwgdCArIDQ7XHJcbn0sIHAucHJvdG90eXBlLndyaXRlRmxvYXRMRSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgcmV0dXJuIFcodGhpcywgZSwgdCwgITAsIHIpO1xyXG59LCBwLnByb3RvdHlwZS53cml0ZUZsb2F0QkUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xyXG4gIHJldHVybiBXKHRoaXMsIGUsIHQsICExLCByKTtcclxufSwgcC5wcm90b3R5cGUud3JpdGVEb3VibGVMRSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgcmV0dXJuIFkodGhpcywgZSwgdCwgITAsIHIpO1xyXG59LCBwLnByb3RvdHlwZS53cml0ZURvdWJsZUJFID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICByZXR1cm4gWSh0aGlzLCBlLCB0LCAhMSwgcik7XHJcbn0sIHAucHJvdG90eXBlLmNvcHkgPSBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xyXG4gIGlmIChyIHx8IChyID0gMCksIG4gfHwgMCA9PT0gbiB8fCAobiA9IHRoaXMubGVuZ3RoKSwgdCA+PSBlLmxlbmd0aCAmJiAodCA9IGUubGVuZ3RoKSwgdCB8fCAodCA9IDApLCBuID4gMCAmJiBuIDwgciAmJiAobiA9IHIpLCBuID09PSByKSByZXR1cm4gMDtcclxuICBpZiAoMCA9PT0gZS5sZW5ndGggfHwgMCA9PT0gdGhpcy5sZW5ndGgpIHJldHVybiAwO1xyXG4gIGlmICh0IDwgMCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJ0YXJnZXRTdGFydCBvdXQgb2YgYm91bmRzXCIpO1xyXG4gIGlmIChyIDwgMCB8fCByID49IHRoaXMubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcInNvdXJjZVN0YXJ0IG91dCBvZiBib3VuZHNcIik7XHJcbiAgaWYgKG4gPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcInNvdXJjZUVuZCBvdXQgb2YgYm91bmRzXCIpO1xyXG4gIG4gPiB0aGlzLmxlbmd0aCAmJiAobiA9IHRoaXMubGVuZ3RoKSwgZS5sZW5ndGggLSB0IDwgbiAtIHIgJiYgKG4gPSBlLmxlbmd0aCAtIHQgKyByKTtcclxuICB2YXIgaSxcclxuICAgICAgbyA9IG4gLSByO1xyXG4gIGlmICh0aGlzID09PSBlICYmIHIgPCB0ICYmIHQgPCBuKSBmb3IgKGkgPSBvIC0gMTsgaSA+PSAwOyAtLWkpIGVbaSArIHRdID0gdGhpc1tpICsgcl07ZWxzZSBpZiAobyA8IDFlMyB8fCAhcC5UWVBFRF9BUlJBWV9TVVBQT1JUKSBmb3IgKGkgPSAwOyBpIDwgbzsgKytpKSBlW2kgKyB0XSA9IHRoaXNbaSArIHJdO2Vsc2UgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwoZSwgdGhpcy5zdWJhcnJheShyLCByICsgbyksIHQpO1xyXG4gIHJldHVybiBvO1xyXG59LCBwLnByb3RvdHlwZS5maWxsID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcclxuICBpZiAoXCJzdHJpbmdcIiA9PSB0eXBlb2YgZSkge1xyXG4gICAgaWYgKFwic3RyaW5nXCIgPT0gdHlwZW9mIHQgPyAobiA9IHQsIHQgPSAwLCByID0gdGhpcy5sZW5ndGgpIDogXCJzdHJpbmdcIiA9PSB0eXBlb2YgciAmJiAobiA9IHIsIHIgPSB0aGlzLmxlbmd0aCksIDEgPT09IGUubGVuZ3RoKSB7XHJcbiAgICAgIHZhciBpID0gZS5jaGFyQ29kZUF0KDApO1xyXG4gICAgICBpIDwgMjU2ICYmIChlID0gaSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHZvaWQgMCAhPT0gbiAmJiBcInN0cmluZ1wiICE9IHR5cGVvZiBuKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZ1wiKTtcclxuICAgIGlmIChcInN0cmluZ1wiID09IHR5cGVvZiBuICYmICFwLmlzRW5jb2RpbmcobikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGVuY29kaW5nOiBcIiArIG4pO1xyXG4gIH0gZWxzZSBcIm51bWJlclwiID09IHR5cGVvZiBlICYmIChlICY9IDI1NSk7XHJcblxyXG4gIGlmICh0IDwgMCB8fCB0aGlzLmxlbmd0aCA8IHQgfHwgdGhpcy5sZW5ndGggPCByKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk91dCBvZiByYW5nZSBpbmRleFwiKTtcclxuICBpZiAociA8PSB0KSByZXR1cm4gdGhpcztcclxuICB2YXIgbztcclxuICBpZiAodCA+Pj49IDAsIHIgPSB2b2lkIDAgPT09IHIgPyB0aGlzLmxlbmd0aCA6IHIgPj4+IDAsIGUgfHwgKGUgPSAwKSwgXCJudW1iZXJcIiA9PSB0eXBlb2YgZSkgZm9yIChvID0gdDsgbyA8IHI7ICsrbykgdGhpc1tvXSA9IGU7ZWxzZSB7XHJcbiAgICB2YXIgYSA9IHkoZSkgPyBlIDogcShuZXcgcChlLCBuKS50b1N0cmluZygpKSxcclxuICAgICAgICBzID0gYS5sZW5ndGg7XHJcblxyXG4gICAgZm9yIChvID0gMDsgbyA8IHIgLSB0OyArK28pIHRoaXNbbyArIHRdID0gYVtvICUgc107XHJcbiAgfVxyXG4gIHJldHVybiB0aGlzO1xyXG59O1xyXG52YXIgSyA9IC9bXitcXC8wLTlBLVphLXotX10vZztcclxuXHJcbmZ1bmN0aW9uIFgoZSkge1xyXG4gIHJldHVybiBlIDwgMTYgPyBcIjBcIiArIGUudG9TdHJpbmcoMTYpIDogZS50b1N0cmluZygxNik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHEoZSwgdCkge1xyXG4gIHZhciByO1xyXG4gIHQgPSB0IHx8IDEgLyAwO1xyXG5cclxuICBmb3IgKHZhciBuID0gZS5sZW5ndGgsIGkgPSBudWxsLCBvID0gW10sIGEgPSAwOyBhIDwgbjsgKythKSB7XHJcbiAgICBpZiAoKHIgPSBlLmNoYXJDb2RlQXQoYSkpID4gNTUyOTUgJiYgciA8IDU3MzQ0KSB7XHJcbiAgICAgIGlmICghaSkge1xyXG4gICAgICAgIGlmIChyID4gNTYzMTkpIHtcclxuICAgICAgICAgICh0IC09IDMpID4gLTEgJiYgby5wdXNoKDIzOSwgMTkxLCAxODkpO1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoYSArIDEgPT09IG4pIHtcclxuICAgICAgICAgICh0IC09IDMpID4gLTEgJiYgby5wdXNoKDIzOSwgMTkxLCAxODkpO1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpID0gcjtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHIgPCA1NjMyMCkge1xyXG4gICAgICAgICh0IC09IDMpID4gLTEgJiYgby5wdXNoKDIzOSwgMTkxLCAxODkpLCBpID0gcjtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgciA9IDY1NTM2ICsgKGkgLSA1NTI5NiA8PCAxMCB8IHIgLSA1NjMyMCk7XHJcbiAgICB9IGVsc2UgaSAmJiAodCAtPSAzKSA+IC0xICYmIG8ucHVzaCgyMzksIDE5MSwgMTg5KTtcclxuXHJcbiAgICBpZiAoaSA9IG51bGwsIHIgPCAxMjgpIHtcclxuICAgICAgaWYgKCh0IC09IDEpIDwgMCkgYnJlYWs7XHJcbiAgICAgIG8ucHVzaChyKTtcclxuICAgIH0gZWxzZSBpZiAociA8IDIwNDgpIHtcclxuICAgICAgaWYgKCh0IC09IDIpIDwgMCkgYnJlYWs7XHJcbiAgICAgIG8ucHVzaChyID4+IDYgfCAxOTIsIDYzICYgciB8IDEyOCk7XHJcbiAgICB9IGVsc2UgaWYgKHIgPCA2NTUzNikge1xyXG4gICAgICBpZiAoKHQgLT0gMykgPCAwKSBicmVhaztcclxuICAgICAgby5wdXNoKHIgPj4gMTIgfCAyMjQsIHIgPj4gNiAmIDYzIHwgMTI4LCA2MyAmIHIgfCAxMjgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKCEociA8IDExMTQxMTIpKSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGNvZGUgcG9pbnRcIik7XHJcbiAgICAgIGlmICgodCAtPSA0KSA8IDApIGJyZWFrO1xyXG4gICAgICBvLnB1c2gociA+PiAxOCB8IDI0MCwgciA+PiAxMiAmIDYzIHwgMTI4LCByID4+IDYgJiA2MyB8IDEyOCwgNjMgJiByIHwgMTI4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBvO1xyXG59XHJcblxyXG5mdW5jdGlvbiBWKGUpIHtcclxuICByZXR1cm4gZnVuY3Rpb24gKGUpIHtcclxuICAgIHZhciB0LCBhLCBzLCBoLCBsLCBmO1xyXG4gICAgaSB8fCBvKCk7XHJcbiAgICB2YXIgYyA9IGUubGVuZ3RoO1xyXG4gICAgaWYgKGMgJSA0ID4gMCkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNFwiKTtcclxuICAgIGwgPSBcIj1cIiA9PT0gZVtjIC0gMl0gPyAyIDogXCI9XCIgPT09IGVbYyAtIDFdID8gMSA6IDAsIGYgPSBuZXcgbigzICogYyAvIDQgLSBsKSwgcyA9IGwgPiAwID8gYyAtIDQgOiBjO1xyXG4gICAgdmFyIHUgPSAwO1xyXG5cclxuICAgIGZvciAodCA9IDAsIGEgPSAwOyB0IDwgczsgdCArPSA0LCBhICs9IDMpIGggPSByW2UuY2hhckNvZGVBdCh0KV0gPDwgMTggfCByW2UuY2hhckNvZGVBdCh0ICsgMSldIDw8IDEyIHwgcltlLmNoYXJDb2RlQXQodCArIDIpXSA8PCA2IHwgcltlLmNoYXJDb2RlQXQodCArIDMpXSwgZlt1KytdID0gaCA+PiAxNiAmIDI1NSwgZlt1KytdID0gaCA+PiA4ICYgMjU1LCBmW3UrK10gPSAyNTUgJiBoO1xyXG5cclxuICAgIHJldHVybiAyID09PSBsID8gKGggPSByW2UuY2hhckNvZGVBdCh0KV0gPDwgMiB8IHJbZS5jaGFyQ29kZUF0KHQgKyAxKV0gPj4gNCwgZlt1KytdID0gMjU1ICYgaCkgOiAxID09PSBsICYmIChoID0gcltlLmNoYXJDb2RlQXQodCldIDw8IDEwIHwgcltlLmNoYXJDb2RlQXQodCArIDEpXSA8PCA0IHwgcltlLmNoYXJDb2RlQXQodCArIDIpXSA+PiAyLCBmW3UrK10gPSBoID4+IDggJiAyNTUsIGZbdSsrXSA9IDI1NSAmIGgpLCBmO1xyXG4gIH0oZnVuY3Rpb24gKGUpIHtcclxuICAgIGlmICgoZSA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgIHJldHVybiBlLnRyaW0gPyBlLnRyaW0oKSA6IGUucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgXCJcIik7XHJcbiAgICB9KGUpLnJlcGxhY2UoSywgXCJcIikpLmxlbmd0aCA8IDIpIHJldHVybiBcIlwiO1xyXG5cclxuICAgIGZvciAoOyBlLmxlbmd0aCAlIDQgIT0gMDspIGUgKz0gXCI9XCI7XHJcblxyXG4gICAgcmV0dXJuIGU7XHJcbiAgfShlKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEcoZSwgdCwgciwgbikge1xyXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbiAmJiAhKGkgKyByID49IHQubGVuZ3RoIHx8IGkgPj0gZS5sZW5ndGgpOyArK2kpIHRbaSArIHJdID0gZVtpXTtcclxuXHJcbiAgcmV0dXJuIGk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uICQoZSkge1xyXG4gIHJldHVybiBudWxsICE9IGUgJiYgKCEhZS5faXNCdWZmZXIgfHwgSihlKSB8fCBmdW5jdGlvbiAoZSkge1xyXG4gICAgcmV0dXJuIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZS5yZWFkRmxvYXRMRSAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIGUuc2xpY2UgJiYgSihlLnNsaWNlKDAsIDApKTtcclxuICB9KGUpKTtcclxufVxyXG5cclxuZnVuY3Rpb24gSihlKSB7XHJcbiAgcmV0dXJuICEhZS5jb25zdHJ1Y3RvciAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIGUuY29uc3RydWN0b3IuaXNCdWZmZXIgJiYgZS5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihlKTtcclxufVxyXG5cclxuXCJ1bmRlZmluZWRcIiAhPSB0eXBlb2YgZ2xvYmFsVGhpcyA/IGdsb2JhbFRoaXMgOiBcInVuZGVmaW5lZFwiICE9IHR5cGVvZiB3aW5kb3cgPyB3aW5kb3cgOiBcInVuZGVmaW5lZFwiICE9IHR5cGVvZiBnbG9iYWwgPyBnbG9iYWwgOiBcInVuZGVmaW5lZFwiICE9IHR5cGVvZiBzZWxmICYmIHNlbGY7XHJcblxyXG5mdW5jdGlvbiBRKGUsIHQpIHtcclxuICByZXR1cm4gZSh0ID0ge1xyXG4gICAgZXhwb3J0czoge31cclxuICB9LCB0LmV4cG9ydHMpLCB0LmV4cG9ydHM7XHJcbn1cclxuXHJcbnZhciBlZSA9IFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgcjtcclxuICBlLmV4cG9ydHMgPSAociA9IHIgfHwgZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIHZhciByID0gT2JqZWN0LmNyZWF0ZSB8fCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGZ1bmN0aW9uIGUoKSB7fVxyXG5cclxuICAgICAgcmV0dXJuIGZ1bmN0aW9uICh0KSB7XHJcbiAgICAgICAgdmFyIHI7XHJcbiAgICAgICAgcmV0dXJuIGUucHJvdG90eXBlID0gdCwgciA9IG5ldyBlKCksIGUucHJvdG90eXBlID0gbnVsbCwgcjtcclxuICAgICAgfTtcclxuICAgIH0oKSxcclxuICAgICAgICBuID0ge30sXHJcbiAgICAgICAgaSA9IG4ubGliID0ge30sXHJcbiAgICAgICAgbyA9IGkuQmFzZSA9IHtcclxuICAgICAgZXh0ZW5kOiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIHZhciB0ID0gcih0aGlzKTtcclxuICAgICAgICByZXR1cm4gZSAmJiB0Lm1peEluKGUpLCB0Lmhhc093blByb3BlcnR5KFwiaW5pdFwiKSAmJiB0aGlzLmluaXQgIT09IHQuaW5pdCB8fCAodC5pbml0ID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgdC4kc3VwZXIuaW5pdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG4gICAgICAgIH0pLCB0LmluaXQucHJvdG90eXBlID0gdCwgdC4kc3VwZXIgPSB0aGlzLCB0O1xyXG4gICAgICB9LFxyXG4gICAgICBjcmVhdGU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgZSA9IHRoaXMuZXh0ZW5kKCk7XHJcbiAgICAgICAgcmV0dXJuIGUuaW5pdC5hcHBseShlLCBhcmd1bWVudHMpLCBlO1xyXG4gICAgICB9LFxyXG4gICAgICBpbml0OiBmdW5jdGlvbiAoKSB7fSxcclxuICAgICAgbWl4SW46IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgZm9yICh2YXIgdCBpbiBlKSBlLmhhc093blByb3BlcnR5KHQpICYmICh0aGlzW3RdID0gZVt0XSk7XHJcblxyXG4gICAgICAgIGUuaGFzT3duUHJvcGVydHkoXCJ0b1N0cmluZ1wiKSAmJiAodGhpcy50b1N0cmluZyA9IGUudG9TdHJpbmcpO1xyXG4gICAgICB9LFxyXG4gICAgICBjbG9uZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmluaXQucHJvdG90eXBlLmV4dGVuZCh0aGlzKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgICAgICBhID0gaS5Xb3JkQXJyYXkgPSBvLmV4dGVuZCh7XHJcbiAgICAgIGluaXQ6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgICAgZSA9IHRoaXMud29yZHMgPSBlIHx8IFtdLCB0aGlzLnNpZ0J5dGVzID0gbnVsbCAhPSB0ID8gdCA6IDQgKiBlLmxlbmd0aDtcclxuICAgICAgfSxcclxuICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgcmV0dXJuIChlIHx8IGgpLnN0cmluZ2lmeSh0aGlzKTtcclxuICAgICAgfSxcclxuICAgICAgY29uY2F0OiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIHZhciB0ID0gdGhpcy53b3JkcyxcclxuICAgICAgICAgICAgciA9IGUud29yZHMsXHJcbiAgICAgICAgICAgIG4gPSB0aGlzLnNpZ0J5dGVzLFxyXG4gICAgICAgICAgICBpID0gZS5zaWdCeXRlcztcclxuICAgICAgICBpZiAodGhpcy5jbGFtcCgpLCBuICUgNCkgZm9yICh2YXIgbyA9IDA7IG8gPCBpOyBvKyspIHtcclxuICAgICAgICAgIHZhciBhID0gcltvID4+PiAyXSA+Pj4gMjQgLSBvICUgNCAqIDggJiAyNTU7XHJcbiAgICAgICAgICB0W24gKyBvID4+PiAyXSB8PSBhIDw8IDI0IC0gKG4gKyBvKSAlIDQgKiA4O1xyXG4gICAgICAgIH0gZWxzZSBmb3IgKHZhciBvID0gMDsgbyA8IGk7IG8gKz0gNCkgdFtuICsgbyA+Pj4gMl0gPSByW28gPj4+IDJdO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNpZ0J5dGVzICs9IGksIHRoaXM7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNsYW1wOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHQgPSB0aGlzLndvcmRzLFxyXG4gICAgICAgICAgICByID0gdGhpcy5zaWdCeXRlcztcclxuICAgICAgICB0W3IgPj4+IDJdICY9IDQyOTQ5NjcyOTUgPDwgMzIgLSByICUgNCAqIDgsIHQubGVuZ3RoID0gZS5jZWlsKHIgLyA0KTtcclxuICAgICAgfSxcclxuICAgICAgY2xvbmU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgZSA9IG8uY2xvbmUuY2FsbCh0aGlzKTtcclxuICAgICAgICByZXR1cm4gZS53b3JkcyA9IHRoaXMud29yZHMuc2xpY2UoMCksIGU7XHJcbiAgICAgIH0sXHJcbiAgICAgIHJhbmRvbTogZnVuY3Rpb24gKHQpIHtcclxuICAgICAgICBmb3IgKHZhciByLCBuID0gW10sIGkgPSBmdW5jdGlvbiAodCkge1xyXG4gICAgICAgICAgdmFyIHQgPSB0LFxyXG4gICAgICAgICAgICAgIHIgPSA5ODc2NTQzMjEsXHJcbiAgICAgICAgICAgICAgbiA9IDQyOTQ5NjcyOTU7XHJcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgaSA9ICgociA9IDM2OTY5ICogKDY1NTM1ICYgcikgKyAociA+PiAxNikgJiBuKSA8PCAxNikgKyAodCA9IDE4ZTMgKiAoNjU1MzUgJiB0KSArICh0ID4+IDE2KSAmIG4pICYgbjtcclxuICAgICAgICAgICAgcmV0dXJuIGkgLz0gNDI5NDk2NzI5NiwgKGkgKz0gLjUpICogKGUucmFuZG9tKCkgPiAuNSA/IDEgOiAtMSk7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0sIG8gPSAwOyBvIDwgdDsgbyArPSA0KSB7XHJcbiAgICAgICAgICB2YXIgcyA9IGkoNDI5NDk2NzI5NiAqIChyIHx8IGUucmFuZG9tKCkpKTtcclxuICAgICAgICAgIHIgPSA5ODc2NTQwNzEgKiBzKCksIG4ucHVzaCg0Mjk0OTY3Mjk2ICogcygpIHwgMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmV3IGEuaW5pdChuLCB0KTtcclxuICAgICAgfVxyXG4gICAgfSksXHJcbiAgICAgICAgcyA9IG4uZW5jID0ge30sXHJcbiAgICAgICAgaCA9IHMuSGV4ID0ge1xyXG4gICAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgZm9yICh2YXIgdCA9IGUud29yZHMsIHIgPSBlLnNpZ0J5dGVzLCBuID0gW10sIGkgPSAwOyBpIDwgcjsgaSsrKSB7XHJcbiAgICAgICAgICB2YXIgbyA9IHRbaSA+Pj4gMl0gPj4+IDI0IC0gaSAlIDQgKiA4ICYgMjU1O1xyXG4gICAgICAgICAgbi5wdXNoKChvID4+PiA0KS50b1N0cmluZygxNikpLCBuLnB1c2goKDE1ICYgbykudG9TdHJpbmcoMTYpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuLmpvaW4oXCJcIik7XHJcbiAgICAgIH0sXHJcbiAgICAgIHBhcnNlOiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIGZvciAodmFyIHQgPSBlLmxlbmd0aCwgciA9IFtdLCBuID0gMDsgbiA8IHQ7IG4gKz0gMikgcltuID4+PiAzXSB8PSBwYXJzZUludChlLnN1YnN0cihuLCAyKSwgMTYpIDw8IDI0IC0gbiAlIDggKiA0O1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3IGEuaW5pdChyLCB0IC8gMik7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAgICAgbCA9IHMuTGF0aW4xID0ge1xyXG4gICAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgZm9yICh2YXIgdCA9IGUud29yZHMsIHIgPSBlLnNpZ0J5dGVzLCBuID0gW10sIGkgPSAwOyBpIDwgcjsgaSsrKSB7XHJcbiAgICAgICAgICB2YXIgbyA9IHRbaSA+Pj4gMl0gPj4+IDI0IC0gaSAlIDQgKiA4ICYgMjU1O1xyXG4gICAgICAgICAgbi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUobykpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG4uam9pbihcIlwiKTtcclxuICAgICAgfSxcclxuICAgICAgcGFyc2U6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgZm9yICh2YXIgdCA9IGUubGVuZ3RoLCByID0gW10sIG4gPSAwOyBuIDwgdDsgbisrKSByW24gPj4+IDJdIHw9ICgyNTUgJiBlLmNoYXJDb2RlQXQobikpIDw8IDI0IC0gbiAlIDQgKiA4O1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3IGEuaW5pdChyLCB0KTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgICAgICBmID0gcy5VdGY4ID0ge1xyXG4gICAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGwuc3RyaW5naWZ5KGUpKSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWFsZm9ybWVkIFVURi04IGRhdGFcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBwYXJzZTogZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICByZXR1cm4gbC5wYXJzZSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoZSkpKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgICAgICBjID0gaS5CdWZmZXJlZEJsb2NrQWxnb3JpdGhtID0gby5leHRlbmQoe1xyXG4gICAgICByZXNldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX2RhdGEgPSBuZXcgYS5pbml0KCksIHRoaXMuX25EYXRhQnl0ZXMgPSAwO1xyXG4gICAgICB9LFxyXG4gICAgICBfYXBwZW5kOiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIFwic3RyaW5nXCIgPT0gdHlwZW9mIGUgJiYgKGUgPSBmLnBhcnNlKGUpKSwgdGhpcy5fZGF0YS5jb25jYXQoZSksIHRoaXMuX25EYXRhQnl0ZXMgKz0gZS5zaWdCeXRlcztcclxuICAgICAgfSxcclxuICAgICAgX3Byb2Nlc3M6IGZ1bmN0aW9uICh0KSB7XHJcbiAgICAgICAgdmFyIHIgPSB0aGlzLl9kYXRhLFxyXG4gICAgICAgICAgICBuID0gci53b3JkcyxcclxuICAgICAgICAgICAgaSA9IHIuc2lnQnl0ZXMsXHJcbiAgICAgICAgICAgIG8gPSB0aGlzLmJsb2NrU2l6ZSxcclxuICAgICAgICAgICAgcyA9IDQgKiBvLFxyXG4gICAgICAgICAgICBoID0gaSAvIHMsXHJcbiAgICAgICAgICAgIGwgPSAoaCA9IHQgPyBlLmNlaWwoaCkgOiBlLm1heCgoMCB8IGgpIC0gdGhpcy5fbWluQnVmZmVyU2l6ZSwgMCkpICogbyxcclxuICAgICAgICAgICAgZiA9IGUubWluKDQgKiBsLCBpKTtcclxuXHJcbiAgICAgICAgaWYgKGwpIHtcclxuICAgICAgICAgIGZvciAodmFyIGMgPSAwOyBjIDwgbDsgYyArPSBvKSB0aGlzLl9kb1Byb2Nlc3NCbG9jayhuLCBjKTtcclxuXHJcbiAgICAgICAgICB2YXIgdSA9IG4uc3BsaWNlKDAsIGwpO1xyXG4gICAgICAgICAgci5zaWdCeXRlcyAtPSBmO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBhLmluaXQodSwgZik7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNsb25lOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIGUgPSBvLmNsb25lLmNhbGwodGhpcyk7XHJcbiAgICAgICAgcmV0dXJuIGUuX2RhdGEgPSB0aGlzLl9kYXRhLmNsb25lKCksIGU7XHJcbiAgICAgIH0sXHJcbiAgICAgIF9taW5CdWZmZXJTaXplOiAwXHJcbiAgICB9KSxcclxuICAgICAgICB1ID0gKGkuSGFzaGVyID0gYy5leHRlbmQoe1xyXG4gICAgICBjZmc6IG8uZXh0ZW5kKCksXHJcbiAgICAgIGluaXQ6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgdGhpcy5jZmcgPSB0aGlzLmNmZy5leHRlbmQoZSksIHRoaXMucmVzZXQoKTtcclxuICAgICAgfSxcclxuICAgICAgcmVzZXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBjLnJlc2V0LmNhbGwodGhpcyksIHRoaXMuX2RvUmVzZXQoKTtcclxuICAgICAgfSxcclxuICAgICAgdXBkYXRlOiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBlbmQoZSksIHRoaXMuX3Byb2Nlc3MoKSwgdGhpcztcclxuICAgICAgfSxcclxuICAgICAgZmluYWxpemU6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgZSAmJiB0aGlzLl9hcHBlbmQoZSk7XHJcblxyXG4gICAgICAgIHZhciB0ID0gdGhpcy5fZG9GaW5hbGl6ZSgpO1xyXG5cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgICAgfSxcclxuICAgICAgYmxvY2tTaXplOiAxNixcclxuICAgICAgX2NyZWF0ZUhlbHBlcjogZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHQsIHIpIHtcclxuICAgICAgICAgIHJldHVybiBuZXcgZS5pbml0KHIpLmZpbmFsaXplKHQpO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH0sXHJcbiAgICAgIF9jcmVhdGVIbWFjSGVscGVyOiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodCwgcikge1xyXG4gICAgICAgICAgcmV0dXJuIG5ldyB1LkhNQUMuaW5pdChlLCByKS5maW5hbGl6ZSh0KTtcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9KSwgbi5hbGdvID0ge30pO1xyXG5cclxuICAgIHJldHVybiBuO1xyXG4gIH0oTWF0aCksIHIpO1xyXG59KSxcclxuICAgIHRlID0gKFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgciwgbiwgaSwgbywgYSwgcztcclxuICBlLmV4cG9ydHMgPSAoaSA9IChuID0gciA9IGVlKS5saWIsIG8gPSBpLkJhc2UsIGEgPSBpLldvcmRBcnJheSwgKHMgPSBuLng2NCA9IHt9KS5Xb3JkID0gby5leHRlbmQoe1xyXG4gICAgaW5pdDogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgdGhpcy5oaWdoID0gZSwgdGhpcy5sb3cgPSB0O1xyXG4gICAgfVxyXG4gIH0pLCBzLldvcmRBcnJheSA9IG8uZXh0ZW5kKHtcclxuICAgIGluaXQ6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgIGUgPSB0aGlzLndvcmRzID0gZSB8fCBbXSwgdGhpcy5zaWdCeXRlcyA9IG51bGwgIT0gdCA/IHQgOiA4ICogZS5sZW5ndGg7XHJcbiAgICB9LFxyXG4gICAgdG9YMzI6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgZm9yICh2YXIgZSA9IHRoaXMud29yZHMsIHQgPSBlLmxlbmd0aCwgciA9IFtdLCBuID0gMDsgbiA8IHQ7IG4rKykge1xyXG4gICAgICAgIHZhciBpID0gZVtuXTtcclxuICAgICAgICByLnB1c2goaS5oaWdoKSwgci5wdXNoKGkubG93KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIGEuY3JlYXRlKHIsIHRoaXMuc2lnQnl0ZXMpO1xyXG4gICAgfSxcclxuICAgIGNsb25lOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGZvciAodmFyIGUgPSBvLmNsb25lLmNhbGwodGhpcyksIHQgPSBlLndvcmRzID0gdGhpcy53b3Jkcy5zbGljZSgwKSwgciA9IHQubGVuZ3RoLCBuID0gMDsgbiA8IHI7IG4rKykgdFtuXSA9IHRbbl0uY2xvbmUoKTtcclxuXHJcbiAgICAgIHJldHVybiBlO1xyXG4gICAgfVxyXG4gIH0pLCByKTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgcjtcclxuICBlLmV4cG9ydHMgPSAociA9IGVlLCBmdW5jdGlvbiAoKSB7XHJcbiAgICBpZiAoXCJmdW5jdGlvblwiID09IHR5cGVvZiBBcnJheUJ1ZmZlcikge1xyXG4gICAgICB2YXIgZSA9IHIubGliLldvcmRBcnJheSxcclxuICAgICAgICAgIHQgPSBlLmluaXQ7XHJcbiAgICAgIChlLmluaXQgPSBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIGlmIChlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIgJiYgKGUgPSBuZXcgVWludDhBcnJheShlKSksIChlIGluc3RhbmNlb2YgSW50OEFycmF5IHx8IFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIFVpbnQ4Q2xhbXBlZEFycmF5ICYmIGUgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSB8fCBlIGluc3RhbmNlb2YgSW50MTZBcnJheSB8fCBlIGluc3RhbmNlb2YgVWludDE2QXJyYXkgfHwgZSBpbnN0YW5jZW9mIEludDMyQXJyYXkgfHwgZSBpbnN0YW5jZW9mIFVpbnQzMkFycmF5IHx8IGUgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXkgfHwgZSBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheSkgJiYgKGUgPSBuZXcgVWludDhBcnJheShlLmJ1ZmZlciwgZS5ieXRlT2Zmc2V0LCBlLmJ5dGVMZW5ndGgpKSwgZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcclxuICAgICAgICAgIGZvciAodmFyIHIgPSBlLmJ5dGVMZW5ndGgsIG4gPSBbXSwgaSA9IDA7IGkgPCByOyBpKyspIG5baSA+Pj4gMl0gfD0gZVtpXSA8PCAyNCAtIGkgJSA0ICogODtcclxuXHJcbiAgICAgICAgICB0LmNhbGwodGhpcywgbiwgcik7XHJcbiAgICAgICAgfSBlbHNlIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgICAgfSkucHJvdG90eXBlID0gZTtcclxuICAgIH1cclxuICB9KCksIHIubGliLldvcmRBcnJheSk7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHI7XHJcbiAgZS5leHBvcnRzID0gKHIgPSBlZSwgZnVuY3Rpb24gKCkge1xyXG4gICAgdmFyIGUgPSByLFxyXG4gICAgICAgIHQgPSBlLmxpYi5Xb3JkQXJyYXksXHJcbiAgICAgICAgbiA9IGUuZW5jO1xyXG5cclxuICAgIGZ1bmN0aW9uIGkoZSkge1xyXG4gICAgICByZXR1cm4gZSA8PCA4ICYgNDI3ODI1NTM2MCB8IGUgPj4+IDggJiAxNjcxMTkzNTtcclxuICAgIH1cclxuXHJcbiAgICBuLlV0ZjE2ID0gbi5VdGYxNkJFID0ge1xyXG4gICAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgZm9yICh2YXIgdCA9IGUud29yZHMsIHIgPSBlLnNpZ0J5dGVzLCBuID0gW10sIGkgPSAwOyBpIDwgcjsgaSArPSAyKSB7XHJcbiAgICAgICAgICB2YXIgbyA9IHRbaSA+Pj4gMl0gPj4+IDE2IC0gaSAlIDQgKiA4ICYgNjU1MzU7XHJcbiAgICAgICAgICBuLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShvKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbi5qb2luKFwiXCIpO1xyXG4gICAgICB9LFxyXG4gICAgICBwYXJzZTogZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICBmb3IgKHZhciByID0gZS5sZW5ndGgsIG4gPSBbXSwgaSA9IDA7IGkgPCByOyBpKyspIG5baSA+Pj4gMV0gfD0gZS5jaGFyQ29kZUF0KGkpIDw8IDE2IC0gaSAlIDIgKiAxNjtcclxuXHJcbiAgICAgICAgcmV0dXJuIHQuY3JlYXRlKG4sIDIgKiByKTtcclxuICAgICAgfVxyXG4gICAgfSwgbi5VdGYxNkxFID0ge1xyXG4gICAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgZm9yICh2YXIgdCA9IGUud29yZHMsIHIgPSBlLnNpZ0J5dGVzLCBuID0gW10sIG8gPSAwOyBvIDwgcjsgbyArPSAyKSB7XHJcbiAgICAgICAgICB2YXIgYSA9IGkodFtvID4+PiAyXSA+Pj4gMTYgLSBvICUgNCAqIDggJiA2NTUzNSk7XHJcbiAgICAgICAgICBuLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShhKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbi5qb2luKFwiXCIpO1xyXG4gICAgICB9LFxyXG4gICAgICBwYXJzZTogZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICBmb3IgKHZhciByID0gZS5sZW5ndGgsIG4gPSBbXSwgbyA9IDA7IG8gPCByOyBvKyspIG5bbyA+Pj4gMV0gfD0gaShlLmNoYXJDb2RlQXQobykgPDwgMTYgLSBvICUgMiAqIDE2KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHQuY3JlYXRlKG4sIDIgKiByKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9KCksIHIuZW5jLlV0ZjE2KTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgciwgbiwgaTtcclxuICBlLmV4cG9ydHMgPSAoaSA9IChuID0gciA9IGVlKS5saWIuV29yZEFycmF5LCBuLmVuYy5CYXNlNjQgPSB7XHJcbiAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgIHZhciB0ID0gZS53b3JkcyxcclxuICAgICAgICAgIHIgPSBlLnNpZ0J5dGVzLFxyXG4gICAgICAgICAgbiA9IHRoaXMuX21hcDtcclxuICAgICAgZS5jbGFtcCgpO1xyXG5cclxuICAgICAgZm9yICh2YXIgaSA9IFtdLCBvID0gMDsgbyA8IHI7IG8gKz0gMykgZm9yICh2YXIgYSA9ICh0W28gPj4+IDJdID4+PiAyNCAtIG8gJSA0ICogOCAmIDI1NSkgPDwgMTYgfCAodFtvICsgMSA+Pj4gMl0gPj4+IDI0IC0gKG8gKyAxKSAlIDQgKiA4ICYgMjU1KSA8PCA4IHwgdFtvICsgMiA+Pj4gMl0gPj4+IDI0IC0gKG8gKyAyKSAlIDQgKiA4ICYgMjU1LCBzID0gMDsgcyA8IDQgJiYgbyArIC43NSAqIHMgPCByOyBzKyspIGkucHVzaChuLmNoYXJBdChhID4+PiA2ICogKDMgLSBzKSAmIDYzKSk7XHJcblxyXG4gICAgICB2YXIgaCA9IG4uY2hhckF0KDY0KTtcclxuICAgICAgaWYgKGgpIGZvciAoOyBpLmxlbmd0aCAlIDQ7KSBpLnB1c2goaCk7XHJcbiAgICAgIHJldHVybiBpLmpvaW4oXCJcIik7XHJcbiAgICB9LFxyXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgIHZhciB0ID0gZS5sZW5ndGgsXHJcbiAgICAgICAgICByID0gdGhpcy5fbWFwLFxyXG4gICAgICAgICAgbiA9IHRoaXMuX3JldmVyc2VNYXA7XHJcblxyXG4gICAgICBpZiAoIW4pIHtcclxuICAgICAgICBuID0gdGhpcy5fcmV2ZXJzZU1hcCA9IFtdO1xyXG5cclxuICAgICAgICBmb3IgKHZhciBvID0gMDsgbyA8IHIubGVuZ3RoOyBvKyspIG5bci5jaGFyQ29kZUF0KG8pXSA9IG87XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHZhciBhID0gci5jaGFyQXQoNjQpO1xyXG5cclxuICAgICAgaWYgKGEpIHtcclxuICAgICAgICB2YXIgcyA9IGUuaW5kZXhPZihhKTtcclxuICAgICAgICAtMSAhPT0gcyAmJiAodCA9IHMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICAgICAgICBmb3IgKHZhciBuID0gW10sIG8gPSAwLCBhID0gMDsgYSA8IHQ7IGErKykgaWYgKGEgJSA0KSB7XHJcbiAgICAgICAgICB2YXIgcyA9IHJbZS5jaGFyQ29kZUF0KGEgLSAxKV0gPDwgYSAlIDQgKiAyLFxyXG4gICAgICAgICAgICAgIGggPSByW2UuY2hhckNvZGVBdChhKV0gPj4+IDYgLSBhICUgNCAqIDI7XHJcbiAgICAgICAgICBuW28gPj4+IDJdIHw9IChzIHwgaCkgPDwgMjQgLSBvICUgNCAqIDgsIG8rKztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBpLmNyZWF0ZShuLCBvKTtcclxuICAgICAgfShlLCB0LCBuKTtcclxuICAgIH0sXHJcbiAgICBfbWFwOiBcIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89XCJcclxuICB9LCByLmVuYy5CYXNlNjQpO1xyXG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHZhciByO1xyXG4gIGUuZXhwb3J0cyA9IChyID0gZWUsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICB2YXIgdCA9IHIsXHJcbiAgICAgICAgbiA9IHQubGliLFxyXG4gICAgICAgIGkgPSBuLldvcmRBcnJheSxcclxuICAgICAgICBvID0gbi5IYXNoZXIsXHJcbiAgICAgICAgYSA9IHQuYWxnbyxcclxuICAgICAgICBzID0gW107XHJcbiAgICAhZnVuY3Rpb24gKCkge1xyXG4gICAgICBmb3IgKHZhciB0ID0gMDsgdCA8IDY0OyB0KyspIHNbdF0gPSA0Mjk0OTY3Mjk2ICogZS5hYnMoZS5zaW4odCArIDEpKSB8IDA7XHJcbiAgICB9KCk7XHJcbiAgICB2YXIgaCA9IGEuTUQ1ID0gby5leHRlbmQoe1xyXG4gICAgICBfZG9SZXNldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX2hhc2ggPSBuZXcgaS5pbml0KFsxNzMyNTg0MTkzLCA0MDIzMjMzNDE3LCAyNTYyMzgzMTAyLCAyNzE3MzM4NzhdKTtcclxuICAgICAgfSxcclxuICAgICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICAgIGZvciAodmFyIHIgPSAwOyByIDwgMTY7IHIrKykge1xyXG4gICAgICAgICAgdmFyIG4gPSB0ICsgcixcclxuICAgICAgICAgICAgICBpID0gZVtuXTtcclxuICAgICAgICAgIGVbbl0gPSAxNjcxMTkzNSAmIChpIDw8IDggfCBpID4+PiAyNCkgfCA0Mjc4MjU1MzYwICYgKGkgPDwgMjQgfCBpID4+PiA4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHZhciBvID0gdGhpcy5faGFzaC53b3JkcyxcclxuICAgICAgICAgICAgYSA9IGVbdCArIDBdLFxyXG4gICAgICAgICAgICBoID0gZVt0ICsgMV0sXHJcbiAgICAgICAgICAgIGQgPSBlW3QgKyAyXSxcclxuICAgICAgICAgICAgcCA9IGVbdCArIDNdLFxyXG4gICAgICAgICAgICBfID0gZVt0ICsgNF0sXHJcbiAgICAgICAgICAgIGcgPSBlW3QgKyA1XSxcclxuICAgICAgICAgICAgdiA9IGVbdCArIDZdLFxyXG4gICAgICAgICAgICB3ID0gZVt0ICsgN10sXHJcbiAgICAgICAgICAgIGIgPSBlW3QgKyA4XSxcclxuICAgICAgICAgICAgeSA9IGVbdCArIDldLFxyXG4gICAgICAgICAgICBtID0gZVt0ICsgMTBdLFxyXG4gICAgICAgICAgICBrID0gZVt0ICsgMTFdLFxyXG4gICAgICAgICAgICBFID0gZVt0ICsgMTJdLFxyXG4gICAgICAgICAgICBTID0gZVt0ICsgMTNdLFxyXG4gICAgICAgICAgICB4ID0gZVt0ICsgMTRdLFxyXG4gICAgICAgICAgICBSID0gZVt0ICsgMTVdLFxyXG4gICAgICAgICAgICBBID0gb1swXSxcclxuICAgICAgICAgICAgQiA9IG9bMV0sXHJcbiAgICAgICAgICAgIHogPSBvWzJdLFxyXG4gICAgICAgICAgICBMID0gb1szXTtcclxuICAgICAgICBBID0gbChBLCBCLCB6LCBMLCBhLCA3LCBzWzBdKSwgTCA9IGwoTCwgQSwgQiwgeiwgaCwgMTIsIHNbMV0pLCB6ID0gbCh6LCBMLCBBLCBCLCBkLCAxNywgc1syXSksIEIgPSBsKEIsIHosIEwsIEEsIHAsIDIyLCBzWzNdKSwgQSA9IGwoQSwgQiwgeiwgTCwgXywgNywgc1s0XSksIEwgPSBsKEwsIEEsIEIsIHosIGcsIDEyLCBzWzVdKSwgeiA9IGwoeiwgTCwgQSwgQiwgdiwgMTcsIHNbNl0pLCBCID0gbChCLCB6LCBMLCBBLCB3LCAyMiwgc1s3XSksIEEgPSBsKEEsIEIsIHosIEwsIGIsIDcsIHNbOF0pLCBMID0gbChMLCBBLCBCLCB6LCB5LCAxMiwgc1s5XSksIHogPSBsKHosIEwsIEEsIEIsIG0sIDE3LCBzWzEwXSksIEIgPSBsKEIsIHosIEwsIEEsIGssIDIyLCBzWzExXSksIEEgPSBsKEEsIEIsIHosIEwsIEUsIDcsIHNbMTJdKSwgTCA9IGwoTCwgQSwgQiwgeiwgUywgMTIsIHNbMTNdKSwgeiA9IGwoeiwgTCwgQSwgQiwgeCwgMTcsIHNbMTRdKSwgQSA9IGYoQSwgQiA9IGwoQiwgeiwgTCwgQSwgUiwgMjIsIHNbMTVdKSwgeiwgTCwgaCwgNSwgc1sxNl0pLCBMID0gZihMLCBBLCBCLCB6LCB2LCA5LCBzWzE3XSksIHogPSBmKHosIEwsIEEsIEIsIGssIDE0LCBzWzE4XSksIEIgPSBmKEIsIHosIEwsIEEsIGEsIDIwLCBzWzE5XSksIEEgPSBmKEEsIEIsIHosIEwsIGcsIDUsIHNbMjBdKSwgTCA9IGYoTCwgQSwgQiwgeiwgbSwgOSwgc1syMV0pLCB6ID0gZih6LCBMLCBBLCBCLCBSLCAxNCwgc1syMl0pLCBCID0gZihCLCB6LCBMLCBBLCBfLCAyMCwgc1syM10pLCBBID0gZihBLCBCLCB6LCBMLCB5LCA1LCBzWzI0XSksIEwgPSBmKEwsIEEsIEIsIHosIHgsIDksIHNbMjVdKSwgeiA9IGYoeiwgTCwgQSwgQiwgcCwgMTQsIHNbMjZdKSwgQiA9IGYoQiwgeiwgTCwgQSwgYiwgMjAsIHNbMjddKSwgQSA9IGYoQSwgQiwgeiwgTCwgUywgNSwgc1syOF0pLCBMID0gZihMLCBBLCBCLCB6LCBkLCA5LCBzWzI5XSksIHogPSBmKHosIEwsIEEsIEIsIHcsIDE0LCBzWzMwXSksIEEgPSBjKEEsIEIgPSBmKEIsIHosIEwsIEEsIEUsIDIwLCBzWzMxXSksIHosIEwsIGcsIDQsIHNbMzJdKSwgTCA9IGMoTCwgQSwgQiwgeiwgYiwgMTEsIHNbMzNdKSwgeiA9IGMoeiwgTCwgQSwgQiwgaywgMTYsIHNbMzRdKSwgQiA9IGMoQiwgeiwgTCwgQSwgeCwgMjMsIHNbMzVdKSwgQSA9IGMoQSwgQiwgeiwgTCwgaCwgNCwgc1szNl0pLCBMID0gYyhMLCBBLCBCLCB6LCBfLCAxMSwgc1szN10pLCB6ID0gYyh6LCBMLCBBLCBCLCB3LCAxNiwgc1szOF0pLCBCID0gYyhCLCB6LCBMLCBBLCBtLCAyMywgc1szOV0pLCBBID0gYyhBLCBCLCB6LCBMLCBTLCA0LCBzWzQwXSksIEwgPSBjKEwsIEEsIEIsIHosIGEsIDExLCBzWzQxXSksIHogPSBjKHosIEwsIEEsIEIsIHAsIDE2LCBzWzQyXSksIEIgPSBjKEIsIHosIEwsIEEsIHYsIDIzLCBzWzQzXSksIEEgPSBjKEEsIEIsIHosIEwsIHksIDQsIHNbNDRdKSwgTCA9IGMoTCwgQSwgQiwgeiwgRSwgMTEsIHNbNDVdKSwgeiA9IGMoeiwgTCwgQSwgQiwgUiwgMTYsIHNbNDZdKSwgQSA9IHUoQSwgQiA9IGMoQiwgeiwgTCwgQSwgZCwgMjMsIHNbNDddKSwgeiwgTCwgYSwgNiwgc1s0OF0pLCBMID0gdShMLCBBLCBCLCB6LCB3LCAxMCwgc1s0OV0pLCB6ID0gdSh6LCBMLCBBLCBCLCB4LCAxNSwgc1s1MF0pLCBCID0gdShCLCB6LCBMLCBBLCBnLCAyMSwgc1s1MV0pLCBBID0gdShBLCBCLCB6LCBMLCBFLCA2LCBzWzUyXSksIEwgPSB1KEwsIEEsIEIsIHosIHAsIDEwLCBzWzUzXSksIHogPSB1KHosIEwsIEEsIEIsIG0sIDE1LCBzWzU0XSksIEIgPSB1KEIsIHosIEwsIEEsIGgsIDIxLCBzWzU1XSksIEEgPSB1KEEsIEIsIHosIEwsIGIsIDYsIHNbNTZdKSwgTCA9IHUoTCwgQSwgQiwgeiwgUiwgMTAsIHNbNTddKSwgeiA9IHUoeiwgTCwgQSwgQiwgdiwgMTUsIHNbNThdKSwgQiA9IHUoQiwgeiwgTCwgQSwgUywgMjEsIHNbNTldKSwgQSA9IHUoQSwgQiwgeiwgTCwgXywgNiwgc1s2MF0pLCBMID0gdShMLCBBLCBCLCB6LCBrLCAxMCwgc1s2MV0pLCB6ID0gdSh6LCBMLCBBLCBCLCBkLCAxNSwgc1s2Ml0pLCBCID0gdShCLCB6LCBMLCBBLCB5LCAyMSwgc1s2M10pLCBvWzBdID0gb1swXSArIEEgfCAwLCBvWzFdID0gb1sxXSArIEIgfCAwLCBvWzJdID0gb1syXSArIHogfCAwLCBvWzNdID0gb1szXSArIEwgfCAwO1xyXG4gICAgICB9LFxyXG4gICAgICBfZG9GaW5hbGl6ZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciB0ID0gdGhpcy5fZGF0YSxcclxuICAgICAgICAgICAgciA9IHQud29yZHMsXHJcbiAgICAgICAgICAgIG4gPSA4ICogdGhpcy5fbkRhdGFCeXRlcyxcclxuICAgICAgICAgICAgaSA9IDggKiB0LnNpZ0J5dGVzO1xyXG4gICAgICAgIHJbaSA+Pj4gNV0gfD0gMTI4IDw8IDI0IC0gaSAlIDMyO1xyXG4gICAgICAgIHZhciBvID0gZS5mbG9vcihuIC8gNDI5NDk2NzI5NiksXHJcbiAgICAgICAgICAgIGEgPSBuO1xyXG4gICAgICAgIHJbMTUgKyAoaSArIDY0ID4+PiA5IDw8IDQpXSA9IDE2NzExOTM1ICYgKG8gPDwgOCB8IG8gPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAobyA8PCAyNCB8IG8gPj4+IDgpLCByWzE0ICsgKGkgKyA2NCA+Pj4gOSA8PCA0KV0gPSAxNjcxMTkzNSAmIChhIDw8IDggfCBhID4+PiAyNCkgfCA0Mjc4MjU1MzYwICYgKGEgPDwgMjQgfCBhID4+PiA4KSwgdC5zaWdCeXRlcyA9IDQgKiAoci5sZW5ndGggKyAxKSwgdGhpcy5fcHJvY2VzcygpO1xyXG5cclxuICAgICAgICBmb3IgKHZhciBzID0gdGhpcy5faGFzaCwgaCA9IHMud29yZHMsIGwgPSAwOyBsIDwgNDsgbCsrKSB7XHJcbiAgICAgICAgICB2YXIgZiA9IGhbbF07XHJcbiAgICAgICAgICBoW2xdID0gMTY3MTE5MzUgJiAoZiA8PCA4IHwgZiA+Pj4gMjQpIHwgNDI3ODI1NTM2MCAmIChmIDw8IDI0IHwgZiA+Pj4gOCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcztcclxuICAgICAgfSxcclxuICAgICAgY2xvbmU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgZSA9IG8uY2xvbmUuY2FsbCh0aGlzKTtcclxuICAgICAgICByZXR1cm4gZS5faGFzaCA9IHRoaXMuX2hhc2guY2xvbmUoKSwgZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgZnVuY3Rpb24gbChlLCB0LCByLCBuLCBpLCBvLCBhKSB7XHJcbiAgICAgIHZhciBzID0gZSArICh0ICYgciB8IH50ICYgbikgKyBpICsgYTtcclxuICAgICAgcmV0dXJuIChzIDw8IG8gfCBzID4+PiAzMiAtIG8pICsgdDtcclxuICAgIH1cclxuXHJcbiAgICBmdW5jdGlvbiBmKGUsIHQsIHIsIG4sIGksIG8sIGEpIHtcclxuICAgICAgdmFyIHMgPSBlICsgKHQgJiBuIHwgciAmIH5uKSArIGkgKyBhO1xyXG4gICAgICByZXR1cm4gKHMgPDwgbyB8IHMgPj4+IDMyIC0gbykgKyB0O1xyXG4gICAgfVxyXG5cclxuICAgIGZ1bmN0aW9uIGMoZSwgdCwgciwgbiwgaSwgbywgYSkge1xyXG4gICAgICB2YXIgcyA9IGUgKyAodCBeIHIgXiBuKSArIGkgKyBhO1xyXG4gICAgICByZXR1cm4gKHMgPDwgbyB8IHMgPj4+IDMyIC0gbykgKyB0O1xyXG4gICAgfVxyXG5cclxuICAgIGZ1bmN0aW9uIHUoZSwgdCwgciwgbiwgaSwgbywgYSkge1xyXG4gICAgICB2YXIgcyA9IGUgKyAociBeICh0IHwgfm4pKSArIGkgKyBhO1xyXG4gICAgICByZXR1cm4gKHMgPDwgbyB8IHMgPj4+IDMyIC0gbykgKyB0O1xyXG4gICAgfVxyXG5cclxuICAgIHQuTUQ1ID0gby5fY3JlYXRlSGVscGVyKGgpLCB0LkhtYWNNRDUgPSBvLl9jcmVhdGVIbWFjSGVscGVyKGgpO1xyXG4gIH0oTWF0aCksIHIuTUQ1KTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgciwgbiwgaSwgbywgYSwgcywgaCwgbDtcclxuICBlLmV4cG9ydHMgPSAoaSA9IChuID0gciA9IGVlKS5saWIsIG8gPSBpLldvcmRBcnJheSwgYSA9IGkuSGFzaGVyLCBzID0gbi5hbGdvLCBoID0gW10sIGwgPSBzLlNIQTEgPSBhLmV4dGVuZCh7XHJcbiAgICBfZG9SZXNldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICB0aGlzLl9oYXNoID0gbmV3IG8uaW5pdChbMTczMjU4NDE5MywgNDAyMzIzMzQxNywgMjU2MjM4MzEwMiwgMjcxNzMzODc4LCAzMjg1Mzc3NTIwXSk7XHJcbiAgICB9LFxyXG4gICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICBmb3IgKHZhciByID0gdGhpcy5faGFzaC53b3JkcywgbiA9IHJbMF0sIGkgPSByWzFdLCBvID0gclsyXSwgYSA9IHJbM10sIHMgPSByWzRdLCBsID0gMDsgbCA8IDgwOyBsKyspIHtcclxuICAgICAgICBpZiAobCA8IDE2KSBoW2xdID0gMCB8IGVbdCArIGxdO2Vsc2Uge1xyXG4gICAgICAgICAgdmFyIGYgPSBoW2wgLSAzXSBeIGhbbCAtIDhdIF4gaFtsIC0gMTRdIF4gaFtsIC0gMTZdO1xyXG4gICAgICAgICAgaFtsXSA9IGYgPDwgMSB8IGYgPj4+IDMxO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgYyA9IChuIDw8IDUgfCBuID4+PiAyNykgKyBzICsgaFtsXTtcclxuICAgICAgICBjICs9IGwgPCAyMCA/IDE1MTg1MDAyNDkgKyAoaSAmIG8gfCB+aSAmIGEpIDogbCA8IDQwID8gMTg1OTc3NTM5MyArIChpIF4gbyBeIGEpIDogbCA8IDYwID8gKGkgJiBvIHwgaSAmIGEgfCBvICYgYSkgLSAxODk0MDA3NTg4IDogKGkgXiBvIF4gYSkgLSA4OTk0OTc1MTQsIHMgPSBhLCBhID0gbywgbyA9IGkgPDwgMzAgfCBpID4+PiAyLCBpID0gbiwgbiA9IGM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJbMF0gPSByWzBdICsgbiB8IDAsIHJbMV0gPSByWzFdICsgaSB8IDAsIHJbMl0gPSByWzJdICsgbyB8IDAsIHJbM10gPSByWzNdICsgYSB8IDAsIHJbNF0gPSByWzRdICsgcyB8IDA7XHJcbiAgICB9LFxyXG4gICAgX2RvRmluYWxpemU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgdmFyIGUgPSB0aGlzLl9kYXRhLFxyXG4gICAgICAgICAgdCA9IGUud29yZHMsXHJcbiAgICAgICAgICByID0gOCAqIHRoaXMuX25EYXRhQnl0ZXMsXHJcbiAgICAgICAgICBuID0gOCAqIGUuc2lnQnl0ZXM7XHJcbiAgICAgIHJldHVybiB0W24gPj4+IDVdIHw9IDEyOCA8PCAyNCAtIG4gJSAzMiwgdFsxNCArIChuICsgNjQgPj4+IDkgPDwgNCldID0gTWF0aC5mbG9vcihyIC8gNDI5NDk2NzI5NiksIHRbMTUgKyAobiArIDY0ID4+PiA5IDw8IDQpXSA9IHIsIGUuc2lnQnl0ZXMgPSA0ICogdC5sZW5ndGgsIHRoaXMuX3Byb2Nlc3MoKSwgdGhpcy5faGFzaDtcclxuICAgIH0sXHJcbiAgICBjbG9uZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICB2YXIgZSA9IGEuY2xvbmUuY2FsbCh0aGlzKTtcclxuICAgICAgcmV0dXJuIGUuX2hhc2ggPSB0aGlzLl9oYXNoLmNsb25lKCksIGU7XHJcbiAgICB9XHJcbiAgfSksIG4uU0hBMSA9IGEuX2NyZWF0ZUhlbHBlcihsKSwgbi5IbWFjU0hBMSA9IGEuX2NyZWF0ZUhtYWNIZWxwZXIobCksIHIuU0hBMSk7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHI7XHJcbiAgZS5leHBvcnRzID0gKHIgPSBlZSwgZnVuY3Rpb24gKGUpIHtcclxuICAgIHZhciB0ID0gcixcclxuICAgICAgICBuID0gdC5saWIsXHJcbiAgICAgICAgaSA9IG4uV29yZEFycmF5LFxyXG4gICAgICAgIG8gPSBuLkhhc2hlcixcclxuICAgICAgICBhID0gdC5hbGdvLFxyXG4gICAgICAgIHMgPSBbXSxcclxuICAgICAgICBoID0gW107XHJcbiAgICAhZnVuY3Rpb24gKCkge1xyXG4gICAgICBmdW5jdGlvbiB0KHQpIHtcclxuICAgICAgICBmb3IgKHZhciByID0gZS5zcXJ0KHQpLCBuID0gMjsgbiA8PSByOyBuKyspIGlmICghKHQgJSBuKSkgcmV0dXJuICExO1xyXG5cclxuICAgICAgICByZXR1cm4gITA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZ1bmN0aW9uIHIoZSkge1xyXG4gICAgICAgIHJldHVybiA0Mjk0OTY3Mjk2ICogKGUgLSAoMCB8IGUpKSB8IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvciAodmFyIG4gPSAyLCBpID0gMDsgaSA8IDY0OykgdChuKSAmJiAoaSA8IDggJiYgKHNbaV0gPSByKGUucG93KG4sIC41KSkpLCBoW2ldID0gcihlLnBvdyhuLCAxIC8gMykpLCBpKyspLCBuKys7XHJcbiAgICB9KCk7XHJcbiAgICB2YXIgbCA9IFtdLFxyXG4gICAgICAgIGYgPSBhLlNIQTI1NiA9IG8uZXh0ZW5kKHtcclxuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLl9oYXNoID0gbmV3IGkuaW5pdChzLnNsaWNlKDApKTtcclxuICAgICAgfSxcclxuICAgICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICAgIGZvciAodmFyIHIgPSB0aGlzLl9oYXNoLndvcmRzLCBuID0gclswXSwgaSA9IHJbMV0sIG8gPSByWzJdLCBhID0gclszXSwgcyA9IHJbNF0sIGYgPSByWzVdLCBjID0gcls2XSwgdSA9IHJbN10sIGQgPSAwOyBkIDwgNjQ7IGQrKykge1xyXG4gICAgICAgICAgaWYgKGQgPCAxNikgbFtkXSA9IDAgfCBlW3QgKyBkXTtlbHNlIHtcclxuICAgICAgICAgICAgdmFyIHAgPSBsW2QgLSAxNV0sXHJcbiAgICAgICAgICAgICAgICBfID0gKHAgPDwgMjUgfCBwID4+PiA3KSBeIChwIDw8IDE0IHwgcCA+Pj4gMTgpIF4gcCA+Pj4gMyxcclxuICAgICAgICAgICAgICAgIGcgPSBsW2QgLSAyXSxcclxuICAgICAgICAgICAgICAgIHYgPSAoZyA8PCAxNSB8IGcgPj4+IDE3KSBeIChnIDw8IDEzIHwgZyA+Pj4gMTkpIF4gZyA+Pj4gMTA7XHJcblxyXG4gICAgICAgICAgICBsW2RdID0gXyArIGxbZCAtIDddICsgdiArIGxbZCAtIDE2XTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHZhciB3ID0gbiAmIGkgXiBuICYgbyBeIGkgJiBvLFxyXG4gICAgICAgICAgICAgIGIgPSAobiA8PCAzMCB8IG4gPj4+IDIpIF4gKG4gPDwgMTkgfCBuID4+PiAxMykgXiAobiA8PCAxMCB8IG4gPj4+IDIyKSxcclxuICAgICAgICAgICAgICB5ID0gdSArICgocyA8PCAyNiB8IHMgPj4+IDYpIF4gKHMgPDwgMjEgfCBzID4+PiAxMSkgXiAocyA8PCA3IHwgcyA+Pj4gMjUpKSArIChzICYgZiBeIH5zICYgYykgKyBoW2RdICsgbFtkXTtcclxuICAgICAgICAgIHUgPSBjLCBjID0gZiwgZiA9IHMsIHMgPSBhICsgeSB8IDAsIGEgPSBvLCBvID0gaSwgaSA9IG4sIG4gPSB5ICsgKGIgKyB3KSB8IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByWzBdID0gclswXSArIG4gfCAwLCByWzFdID0gclsxXSArIGkgfCAwLCByWzJdID0gclsyXSArIG8gfCAwLCByWzNdID0gclszXSArIGEgfCAwLCByWzRdID0gcls0XSArIHMgfCAwLCByWzVdID0gcls1XSArIGYgfCAwLCByWzZdID0gcls2XSArIGMgfCAwLCByWzddID0gcls3XSArIHUgfCAwO1xyXG4gICAgICB9LFxyXG4gICAgICBfZG9GaW5hbGl6ZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciB0ID0gdGhpcy5fZGF0YSxcclxuICAgICAgICAgICAgciA9IHQud29yZHMsXHJcbiAgICAgICAgICAgIG4gPSA4ICogdGhpcy5fbkRhdGFCeXRlcyxcclxuICAgICAgICAgICAgaSA9IDggKiB0LnNpZ0J5dGVzO1xyXG4gICAgICAgIHJldHVybiByW2kgPj4+IDVdIHw9IDEyOCA8PCAyNCAtIGkgJSAzMiwgclsxNCArIChpICsgNjQgPj4+IDkgPDwgNCldID0gZS5mbG9vcihuIC8gNDI5NDk2NzI5NiksIHJbMTUgKyAoaSArIDY0ID4+PiA5IDw8IDQpXSA9IG4sIHQuc2lnQnl0ZXMgPSA0ICogci5sZW5ndGgsIHRoaXMuX3Byb2Nlc3MoKSwgdGhpcy5faGFzaDtcclxuICAgICAgfSxcclxuICAgICAgY2xvbmU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgZSA9IG8uY2xvbmUuY2FsbCh0aGlzKTtcclxuICAgICAgICByZXR1cm4gZS5faGFzaCA9IHRoaXMuX2hhc2guY2xvbmUoKSwgZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0LlNIQTI1NiA9IG8uX2NyZWF0ZUhlbHBlcihmKSwgdC5IbWFjU0hBMjU2ID0gby5fY3JlYXRlSG1hY0hlbHBlcihmKTtcclxuICB9KE1hdGgpLCByLlNIQTI1Nik7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHIsIG4sIGksIG8sIGEsIHM7XHJcbiAgZS5leHBvcnRzID0gKGkgPSAobiA9IHIgPSBlZSkubGliLldvcmRBcnJheSwgbyA9IG4uYWxnbywgYSA9IG8uU0hBMjU2LCBzID0gby5TSEEyMjQgPSBhLmV4dGVuZCh7XHJcbiAgICBfZG9SZXNldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICB0aGlzLl9oYXNoID0gbmV3IGkuaW5pdChbMzIzODM3MTAzMiwgOTE0MTUwNjYzLCA4MTI3MDI5OTksIDQxNDQ5MTI2OTcsIDQyOTA3NzU4NTcsIDE3NTA2MDMwMjUsIDE2OTQwNzY4MzksIDMyMDQwNzU0MjhdKTtcclxuICAgIH0sXHJcbiAgICBfZG9GaW5hbGl6ZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICB2YXIgZSA9IGEuX2RvRmluYWxpemUuY2FsbCh0aGlzKTtcclxuXHJcbiAgICAgIHJldHVybiBlLnNpZ0J5dGVzIC09IDQsIGU7XHJcbiAgICB9XHJcbiAgfSksIG4uU0hBMjI0ID0gYS5fY3JlYXRlSGVscGVyKHMpLCBuLkhtYWNTSEEyMjQgPSBhLl9jcmVhdGVIbWFjSGVscGVyKHMpLCByLlNIQTIyNCk7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHI7XHJcbiAgZS5leHBvcnRzID0gKHIgPSBlZSwgZnVuY3Rpb24gKCkge1xyXG4gICAgdmFyIGUgPSByLFxyXG4gICAgICAgIHQgPSBlLmxpYi5IYXNoZXIsXHJcbiAgICAgICAgbiA9IGUueDY0LFxyXG4gICAgICAgIGkgPSBuLldvcmQsXHJcbiAgICAgICAgbyA9IG4uV29yZEFycmF5LFxyXG4gICAgICAgIGEgPSBlLmFsZ287XHJcblxyXG4gICAgZnVuY3Rpb24gcygpIHtcclxuICAgICAgcmV0dXJuIGkuY3JlYXRlLmFwcGx5KGksIGFyZ3VtZW50cyk7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGggPSBbcygxMTE2MzUyNDA4LCAzNjA5NzY3NDU4KSwgcygxODk5NDQ3NDQxLCA2MDI4OTE3MjUpLCBzKDMwNDkzMjM0NzEsIDM5NjQ0ODQzOTkpLCBzKDM5MjEwMDk1NzMsIDIxNzMyOTU1NDgpLCBzKDk2MTk4NzE2MywgNDA4MTYyODQ3MiksIHMoMTUwODk3MDk5MywgMzA1MzgzNDI2NSksIHMoMjQ1MzYzNTc0OCwgMjkzNzY3MTU3OSksIHMoMjg3MDc2MzIyMSwgMzY2NDYwOTU2MCksIHMoMzYyNDM4MTA4MCwgMjczNDg4MzM5NCksIHMoMzEwNTk4NDAxLCAxMTY0OTk2NTQyKSwgcyg2MDcyMjUyNzgsIDEzMjM2MTA3NjQpLCBzKDE0MjY4ODE5ODcsIDM1OTAzMDQ5OTQpLCBzKDE5MjUwNzgzODgsIDQwNjgxODIzODMpLCBzKDIxNjIwNzgyMDYsIDk5MTMzNjExMyksIHMoMjYxNDg4ODEwMywgNjMzODAzMzE3KSwgcygzMjQ4MjIyNTgwLCAzNDc5Nzc0ODY4KSwgcygzODM1MzkwNDAxLCAyNjY2NjEzNDU4KSwgcyg0MDIyMjI0Nzc0LCA5NDQ3MTExMzkpLCBzKDI2NDM0NzA3OCwgMjM0MTI2Mjc3MyksIHMoNjA0ODA3NjI4LCAyMDA3ODAwOTMzKSwgcyg3NzAyNTU5ODMsIDE0OTU5OTA5MDEpLCBzKDEyNDkxNTAxMjIsIDE4NTY0MzEyMzUpLCBzKDE1NTUwODE2OTIsIDMxNzUyMTgxMzIpLCBzKDE5OTYwNjQ5ODYsIDIxOTg5NTA4MzcpLCBzKDI1NTQyMjA4ODIsIDM5OTk3MTkzMzkpLCBzKDI4MjE4MzQzNDksIDc2Njc4NDAxNiksIHMoMjk1Mjk5NjgwOCwgMjU2NjU5NDg3OSksIHMoMzIxMDMxMzY3MSwgMzIwMzMzNzk1NiksIHMoMzMzNjU3MTg5MSwgMTAzNDQ1NzAyNiksIHMoMzU4NDUyODcxMSwgMjQ2Njk0ODkwMSksIHMoMTEzOTI2OTkzLCAzNzU4MzI2MzgzKSwgcygzMzgyNDE4OTUsIDE2ODcxNzkzNiksIHMoNjY2MzA3MjA1LCAxMTg4MTc5OTY0KSwgcyg3NzM1Mjk5MTIsIDE1NDYwNDU3MzQpLCBzKDEyOTQ3NTczNzIsIDE1MjI4MDU0ODUpLCBzKDEzOTYxODIyOTEsIDI2NDM4MzM4MjMpLCBzKDE2OTUxODM3MDAsIDIzNDM1MjczOTApLCBzKDE5ODY2NjEwNTEsIDEwMTQ0Nzc0ODApLCBzKDIxNzcwMjYzNTAsIDEyMDY3NTkxNDIpLCBzKDI0NTY5NTYwMzcsIDM0NDA3NzYyNyksIHMoMjczMDQ4NTkyMSwgMTI5MDg2MzQ2MCksIHMoMjgyMDMwMjQxMSwgMzE1ODQ1NDI3MyksIHMoMzI1OTczMDgwMCwgMzUwNTk1MjY1NyksIHMoMzM0NTc2NDc3MSwgMTA2MjE3MDA4KSwgcygzNTE2MDY1ODE3LCAzNjA2MDA4MzQ0KSwgcygzNjAwMzUyODA0LCAxNDMyNzI1Nzc2KSwgcyg0MDk0NTcxOTA5LCAxNDY3MDMxNTk0KSwgcygyNzU0MjMzNDQsIDg1MTE2OTcyMCksIHMoNDMwMjI3NzM0LCAzMTAwODIzNzUyKSwgcyg1MDY5NDg2MTYsIDEzNjMyNTgxOTUpLCBzKDY1OTA2MDU1NiwgMzc1MDY4NTU5MyksIHMoODgzOTk3ODc3LCAzNzg1MDUwMjgwKSwgcyg5NTgxMzk1NzEsIDMzMTgzMDc0MjcpLCBzKDEzMjI4MjIyMTgsIDM4MTI3MjM0MDMpLCBzKDE1MzcwMDIwNjMsIDIwMDMwMzQ5OTUpLCBzKDE3NDc4NzM3NzksIDM2MDIwMzY4OTkpLCBzKDE5NTU1NjIyMjIsIDE1NzU5OTAwMTIpLCBzKDIwMjQxMDQ4MTUsIDExMjU1OTI5MjgpLCBzKDIyMjc3MzA0NTIsIDI3MTY5MDQzMDYpLCBzKDIzNjE4NTI0MjQsIDQ0Mjc3NjA0NCksIHMoMjQyODQzNjQ3NCwgNTkzNjk4MzQ0KSwgcygyNzU2NzM0MTg3LCAzNzMzMTEwMjQ5KSwgcygzMjA0MDMxNDc5LCAyOTk5MzUxNTczKSwgcygzMzI5MzI1Mjk4LCAzODE1OTIwNDI3KSwgcygzMzkxNTY5NjE0LCAzOTI4MzgzOTAwKSwgcygzNTE1MjY3MjcxLCA1NjYyODA3MTEpLCBzKDM5NDAxODc2MDYsIDM0NTQwNjk1MzQpLCBzKDQxMTg2MzAyNzEsIDQwMDAyMzk5OTIpLCBzKDExNjQxODQ3NCwgMTkxNDEzODU1NCksIHMoMTc0MjkyNDIxLCAyNzMxMDU1MjcwKSwgcygyODkzODAzNTYsIDMyMDM5OTMwMDYpLCBzKDQ2MDM5MzI2OSwgMzIwNjIwMzE1KSwgcyg2ODU0NzE3MzMsIDU4NzQ5NjgzNiksIHMoODUyMTQyOTcxLCAxMDg2NzkyODUxKSwgcygxMDE3MDM2Mjk4LCAzNjU1NDMxMDApLCBzKDExMjYwMDA1ODAsIDI2MTgyOTc2NzYpLCBzKDEyODgwMzM0NzAsIDM0MDk4NTUxNTgpLCBzKDE1MDE1MDU5NDgsIDQyMzQ1MDk4NjYpLCBzKDE2MDcxNjc5MTUsIDk4NzE2NzQ2OCksIHMoMTgxNjQwMjMxNiwgMTI0NjE4OTU5MSldLFxyXG4gICAgICAgIGwgPSBbXTtcclxuICAgICFmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGZvciAodmFyIGUgPSAwOyBlIDwgODA7IGUrKykgbFtlXSA9IHMoKTtcclxuICAgIH0oKTtcclxuICAgIHZhciBmID0gYS5TSEE1MTIgPSB0LmV4dGVuZCh7XHJcbiAgICAgIF9kb1Jlc2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5faGFzaCA9IG5ldyBvLmluaXQoW25ldyBpLmluaXQoMTc3OTAzMzcwMywgNDA4OTIzNTcyMCksIG5ldyBpLmluaXQoMzE0NDEzNDI3NywgMjIyNzg3MzU5NSksIG5ldyBpLmluaXQoMTAxMzkwNDI0MiwgNDI3MTE3NTcyMyksIG5ldyBpLmluaXQoMjc3MzQ4MDc2MiwgMTU5NTc1MDEyOSksIG5ldyBpLmluaXQoMTM1OTg5MzExOSwgMjkxNzU2NTEzNyksIG5ldyBpLmluaXQoMjYwMDgyMjkyNCwgNzI1NTExMTk5KSwgbmV3IGkuaW5pdCg1Mjg3MzQ2MzUsIDQyMTUzODk1NDcpLCBuZXcgaS5pbml0KDE1NDE0NTkyMjUsIDMyNzAzMzIwOSldKTtcclxuICAgICAgfSxcclxuICAgICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICAgIGZvciAodmFyIHIgPSB0aGlzLl9oYXNoLndvcmRzLCBuID0gclswXSwgaSA9IHJbMV0sIG8gPSByWzJdLCBhID0gclszXSwgcyA9IHJbNF0sIGYgPSByWzVdLCBjID0gcls2XSwgdSA9IHJbN10sIGQgPSBuLmhpZ2gsIHAgPSBuLmxvdywgXyA9IGkuaGlnaCwgZyA9IGkubG93LCB2ID0gby5oaWdoLCB3ID0gby5sb3csIGIgPSBhLmhpZ2gsIHkgPSBhLmxvdywgbSA9IHMuaGlnaCwgayA9IHMubG93LCBFID0gZi5oaWdoLCBTID0gZi5sb3csIHggPSBjLmhpZ2gsIFIgPSBjLmxvdywgQSA9IHUuaGlnaCwgQiA9IHUubG93LCB6ID0gZCwgTCA9IHAsIFQgPSBfLCBNID0gZywgQyA9IHYsIEQgPSB3LCBJID0gYiwgUCA9IHksIE8gPSBtLCBVID0gaywgSCA9IEUsIEYgPSBTLCBOID0geCwgWiA9IFIsIGogPSBBLCBXID0gQiwgWSA9IDA7IFkgPCA4MDsgWSsrKSB7XHJcbiAgICAgICAgICB2YXIgSyA9IGxbWV07XHJcbiAgICAgICAgICBpZiAoWSA8IDE2KSB2YXIgWCA9IEsuaGlnaCA9IDAgfCBlW3QgKyAyICogWV0sXHJcbiAgICAgICAgICAgICAgcSA9IEsubG93ID0gMCB8IGVbdCArIDIgKiBZICsgMV07ZWxzZSB7XHJcbiAgICAgICAgICAgIHZhciBWID0gbFtZIC0gMTVdLFxyXG4gICAgICAgICAgICAgICAgRyA9IFYuaGlnaCxcclxuICAgICAgICAgICAgICAgICQgPSBWLmxvdyxcclxuICAgICAgICAgICAgICAgIEogPSAoRyA+Pj4gMSB8ICQgPDwgMzEpIF4gKEcgPj4+IDggfCAkIDw8IDI0KSBeIEcgPj4+IDcsXHJcbiAgICAgICAgICAgICAgICBRID0gKCQgPj4+IDEgfCBHIDw8IDMxKSBeICgkID4+PiA4IHwgRyA8PCAyNCkgXiAoJCA+Pj4gNyB8IEcgPDwgMjUpLFxyXG4gICAgICAgICAgICAgICAgZWUgPSBsW1kgLSAyXSxcclxuICAgICAgICAgICAgICAgIHRlID0gZWUuaGlnaCxcclxuICAgICAgICAgICAgICAgIHJlID0gZWUubG93LFxyXG4gICAgICAgICAgICAgICAgbmUgPSAodGUgPj4+IDE5IHwgcmUgPDwgMTMpIF4gKHRlIDw8IDMgfCByZSA+Pj4gMjkpIF4gdGUgPj4+IDYsXHJcbiAgICAgICAgICAgICAgICBpZSA9IChyZSA+Pj4gMTkgfCB0ZSA8PCAxMykgXiAocmUgPDwgMyB8IHRlID4+PiAyOSkgXiAocmUgPj4+IDYgfCB0ZSA8PCAyNiksXHJcbiAgICAgICAgICAgICAgICBvZSA9IGxbWSAtIDddLFxyXG4gICAgICAgICAgICAgICAgYWUgPSBvZS5oaWdoLFxyXG4gICAgICAgICAgICAgICAgc2UgPSBvZS5sb3csXHJcbiAgICAgICAgICAgICAgICBoZSA9IGxbWSAtIDE2XSxcclxuICAgICAgICAgICAgICAgIGxlID0gaGUuaGlnaCxcclxuICAgICAgICAgICAgICAgIGZlID0gaGUubG93O1xyXG4gICAgICAgICAgICBYID0gKFggPSAoWCA9IEogKyBhZSArICgocSA9IFEgKyBzZSkgPj4+IDAgPCBRID4+PiAwID8gMSA6IDApKSArIG5lICsgKChxICs9IGllKSA+Pj4gMCA8IGllID4+PiAwID8gMSA6IDApKSArIGxlICsgKChxICs9IGZlKSA+Pj4gMCA8IGZlID4+PiAwID8gMSA6IDApLCBLLmhpZ2ggPSBYLCBLLmxvdyA9IHE7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdmFyIGNlLFxyXG4gICAgICAgICAgICAgIHVlID0gTyAmIEggXiB+TyAmIE4sXHJcbiAgICAgICAgICAgICAgZGUgPSBVICYgRiBeIH5VICYgWixcclxuICAgICAgICAgICAgICBwZSA9IHogJiBUIF4geiAmIEMgXiBUICYgQyxcclxuICAgICAgICAgICAgICBfZSA9IEwgJiBNIF4gTCAmIEQgXiBNICYgRCxcclxuICAgICAgICAgICAgICBnZSA9ICh6ID4+PiAyOCB8IEwgPDwgNCkgXiAoeiA8PCAzMCB8IEwgPj4+IDIpIF4gKHogPDwgMjUgfCBMID4+PiA3KSxcclxuICAgICAgICAgICAgICB2ZSA9IChMID4+PiAyOCB8IHogPDwgNCkgXiAoTCA8PCAzMCB8IHogPj4+IDIpIF4gKEwgPDwgMjUgfCB6ID4+PiA3KSxcclxuICAgICAgICAgICAgICB3ZSA9IChPID4+PiAxNCB8IFUgPDwgMTgpIF4gKE8gPj4+IDE4IHwgVSA8PCAxNCkgXiAoTyA8PCAyMyB8IFUgPj4+IDkpLFxyXG4gICAgICAgICAgICAgIGJlID0gKFUgPj4+IDE0IHwgTyA8PCAxOCkgXiAoVSA+Pj4gMTggfCBPIDw8IDE0KSBeIChVIDw8IDIzIHwgTyA+Pj4gOSksXHJcbiAgICAgICAgICAgICAgeWUgPSBoW1ldLFxyXG4gICAgICAgICAgICAgIG1lID0geWUuaGlnaCxcclxuICAgICAgICAgICAgICBrZSA9IHllLmxvdyxcclxuICAgICAgICAgICAgICBFZSA9IGogKyB3ZSArICgoY2UgPSBXICsgYmUpID4+PiAwIDwgVyA+Pj4gMCA/IDEgOiAwKSxcclxuICAgICAgICAgICAgICBTZSA9IHZlICsgX2U7XHJcblxyXG4gICAgICAgICAgaiA9IE4sIFcgPSBaLCBOID0gSCwgWiA9IEYsIEggPSBPLCBGID0gVSwgTyA9IEkgKyAoRWUgPSAoRWUgPSAoRWUgPSBFZSArIHVlICsgKChjZSArPSBkZSkgPj4+IDAgPCBkZSA+Pj4gMCA/IDEgOiAwKSkgKyBtZSArICgoY2UgKz0ga2UpID4+PiAwIDwga2UgPj4+IDAgPyAxIDogMCkpICsgWCArICgoY2UgKz0gcSkgPj4+IDAgPCBxID4+PiAwID8gMSA6IDApKSArICgoVSA9IFAgKyBjZSB8IDApID4+PiAwIDwgUCA+Pj4gMCA/IDEgOiAwKSB8IDAsIEkgPSBDLCBQID0gRCwgQyA9IFQsIEQgPSBNLCBUID0geiwgTSA9IEwsIHogPSBFZSArIChnZSArIHBlICsgKFNlID4+PiAwIDwgdmUgPj4+IDAgPyAxIDogMCkpICsgKChMID0gY2UgKyBTZSB8IDApID4+PiAwIDwgY2UgPj4+IDAgPyAxIDogMCkgfCAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCA9IG4ubG93ID0gcCArIEwsIG4uaGlnaCA9IGQgKyB6ICsgKHAgPj4+IDAgPCBMID4+PiAwID8gMSA6IDApLCBnID0gaS5sb3cgPSBnICsgTSwgaS5oaWdoID0gXyArIFQgKyAoZyA+Pj4gMCA8IE0gPj4+IDAgPyAxIDogMCksIHcgPSBvLmxvdyA9IHcgKyBELCBvLmhpZ2ggPSB2ICsgQyArICh3ID4+PiAwIDwgRCA+Pj4gMCA/IDEgOiAwKSwgeSA9IGEubG93ID0geSArIFAsIGEuaGlnaCA9IGIgKyBJICsgKHkgPj4+IDAgPCBQID4+PiAwID8gMSA6IDApLCBrID0gcy5sb3cgPSBrICsgVSwgcy5oaWdoID0gbSArIE8gKyAoayA+Pj4gMCA8IFUgPj4+IDAgPyAxIDogMCksIFMgPSBmLmxvdyA9IFMgKyBGLCBmLmhpZ2ggPSBFICsgSCArIChTID4+PiAwIDwgRiA+Pj4gMCA/IDEgOiAwKSwgUiA9IGMubG93ID0gUiArIFosIGMuaGlnaCA9IHggKyBOICsgKFIgPj4+IDAgPCBaID4+PiAwID8gMSA6IDApLCBCID0gdS5sb3cgPSBCICsgVywgdS5oaWdoID0gQSArIGogKyAoQiA+Pj4gMCA8IFcgPj4+IDAgPyAxIDogMCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIF9kb0ZpbmFsaXplOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIGUgPSB0aGlzLl9kYXRhLFxyXG4gICAgICAgICAgICB0ID0gZS53b3JkcyxcclxuICAgICAgICAgICAgciA9IDggKiB0aGlzLl9uRGF0YUJ5dGVzLFxyXG4gICAgICAgICAgICBuID0gOCAqIGUuc2lnQnl0ZXM7XHJcbiAgICAgICAgcmV0dXJuIHRbbiA+Pj4gNV0gfD0gMTI4IDw8IDI0IC0gbiAlIDMyLCB0WzMwICsgKG4gKyAxMjggPj4+IDEwIDw8IDUpXSA9IE1hdGguZmxvb3IociAvIDQyOTQ5NjcyOTYpLCB0WzMxICsgKG4gKyAxMjggPj4+IDEwIDw8IDUpXSA9IHIsIGUuc2lnQnl0ZXMgPSA0ICogdC5sZW5ndGgsIHRoaXMuX3Byb2Nlc3MoKSwgdGhpcy5faGFzaC50b1gzMigpO1xyXG4gICAgICB9LFxyXG4gICAgICBjbG9uZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBlID0gdC5jbG9uZS5jYWxsKHRoaXMpO1xyXG4gICAgICAgIHJldHVybiBlLl9oYXNoID0gdGhpcy5faGFzaC5jbG9uZSgpLCBlO1xyXG4gICAgICB9LFxyXG4gICAgICBibG9ja1NpemU6IDMyXHJcbiAgICB9KTtcclxuICAgIGUuU0hBNTEyID0gdC5fY3JlYXRlSGVscGVyKGYpLCBlLkhtYWNTSEE1MTIgPSB0Ll9jcmVhdGVIbWFjSGVscGVyKGYpO1xyXG4gIH0oKSwgci5TSEE1MTIpO1xyXG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHZhciByLCBuLCBpLCBvLCBhLCBzLCBoLCBsO1xyXG4gIGUuZXhwb3J0cyA9IChpID0gKG4gPSByID0gZWUpLng2NCwgbyA9IGkuV29yZCwgYSA9IGkuV29yZEFycmF5LCBzID0gbi5hbGdvLCBoID0gcy5TSEE1MTIsIGwgPSBzLlNIQTM4NCA9IGguZXh0ZW5kKHtcclxuICAgIF9kb1Jlc2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIHRoaXMuX2hhc2ggPSBuZXcgYS5pbml0KFtuZXcgby5pbml0KDM0MTgwNzAzNjUsIDMyMzgzNzEwMzIpLCBuZXcgby5pbml0KDE2NTQyNzAyNTAsIDkxNDE1MDY2MyksIG5ldyBvLmluaXQoMjQzODUyOTM3MCwgODEyNzAyOTk5KSwgbmV3IG8uaW5pdCgzNTU0NjIzNjAsIDQxNDQ5MTI2OTcpLCBuZXcgby5pbml0KDE3MzE0MDU0MTUsIDQyOTA3NzU4NTcpLCBuZXcgby5pbml0KDIzOTQxODAyMzEsIDE3NTA2MDMwMjUpLCBuZXcgby5pbml0KDM2NzUwMDg1MjUsIDE2OTQwNzY4MzkpLCBuZXcgby5pbml0KDEyMDMwNjI4MTMsIDMyMDQwNzU0MjgpXSk7XHJcbiAgICB9LFxyXG4gICAgX2RvRmluYWxpemU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgdmFyIGUgPSBoLl9kb0ZpbmFsaXplLmNhbGwodGhpcyk7XHJcblxyXG4gICAgICByZXR1cm4gZS5zaWdCeXRlcyAtPSAxNiwgZTtcclxuICAgIH1cclxuICB9KSwgbi5TSEEzODQgPSBoLl9jcmVhdGVIZWxwZXIobCksIG4uSG1hY1NIQTM4NCA9IGguX2NyZWF0ZUhtYWNIZWxwZXIobCksIHIuU0hBMzg0KTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgcjtcclxuICBlLmV4cG9ydHMgPSAociA9IGVlLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgdmFyIHQgPSByLFxyXG4gICAgICAgIG4gPSB0LmxpYixcclxuICAgICAgICBpID0gbi5Xb3JkQXJyYXksXHJcbiAgICAgICAgbyA9IG4uSGFzaGVyLFxyXG4gICAgICAgIGEgPSB0Lng2NC5Xb3JkLFxyXG4gICAgICAgIHMgPSB0LmFsZ28sXHJcbiAgICAgICAgaCA9IFtdLFxyXG4gICAgICAgIGwgPSBbXSxcclxuICAgICAgICBmID0gW107XHJcbiAgICAhZnVuY3Rpb24gKCkge1xyXG4gICAgICBmb3IgKHZhciBlID0gMSwgdCA9IDAsIHIgPSAwOyByIDwgMjQ7IHIrKykge1xyXG4gICAgICAgIGhbZSArIDUgKiB0XSA9IChyICsgMSkgKiAociArIDIpIC8gMiAlIDY0O1xyXG4gICAgICAgIHZhciBuID0gKDIgKiBlICsgMyAqIHQpICUgNTtcclxuICAgICAgICBlID0gdCAlIDUsIHQgPSBuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3IgKGUgPSAwOyBlIDwgNTsgZSsrKSBmb3IgKHQgPSAwOyB0IDwgNTsgdCsrKSBsW2UgKyA1ICogdF0gPSB0ICsgKDIgKiBlICsgMyAqIHQpICUgNSAqIDU7XHJcblxyXG4gICAgICBmb3IgKHZhciBpID0gMSwgbyA9IDA7IG8gPCAyNDsgbysrKSB7XHJcbiAgICAgICAgZm9yICh2YXIgcyA9IDAsIGMgPSAwLCB1ID0gMDsgdSA8IDc7IHUrKykge1xyXG4gICAgICAgICAgaWYgKDEgJiBpKSB7XHJcbiAgICAgICAgICAgIHZhciBkID0gKDEgPDwgdSkgLSAxO1xyXG4gICAgICAgICAgICBkIDwgMzIgPyBjIF49IDEgPDwgZCA6IHMgXj0gMSA8PCBkIC0gMzI7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgMTI4ICYgaSA/IGkgPSBpIDw8IDEgXiAxMTMgOiBpIDw8PSAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZltvXSA9IGEuY3JlYXRlKHMsIGMpO1xyXG4gICAgICB9XHJcbiAgICB9KCk7XHJcbiAgICB2YXIgYyA9IFtdO1xyXG4gICAgIWZ1bmN0aW9uICgpIHtcclxuICAgICAgZm9yICh2YXIgZSA9IDA7IGUgPCAyNTsgZSsrKSBjW2VdID0gYS5jcmVhdGUoKTtcclxuICAgIH0oKTtcclxuICAgIHZhciB1ID0gcy5TSEEzID0gby5leHRlbmQoe1xyXG4gICAgICBjZmc6IG8uY2ZnLmV4dGVuZCh7XHJcbiAgICAgICAgb3V0cHV0TGVuZ3RoOiA1MTJcclxuICAgICAgfSksXHJcbiAgICAgIF9kb1Jlc2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgZm9yICh2YXIgZSA9IHRoaXMuX3N0YXRlID0gW10sIHQgPSAwOyB0IDwgMjU7IHQrKykgZVt0XSA9IG5ldyBhLmluaXQoKTtcclxuXHJcbiAgICAgICAgdGhpcy5ibG9ja1NpemUgPSAoMTYwMCAtIDIgKiB0aGlzLmNmZy5vdXRwdXRMZW5ndGgpIC8gMzI7XHJcbiAgICAgIH0sXHJcbiAgICAgIF9kb1Byb2Nlc3NCbG9jazogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgICBmb3IgKHZhciByID0gdGhpcy5fc3RhdGUsIG4gPSB0aGlzLmJsb2NrU2l6ZSAvIDIsIGkgPSAwOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICB2YXIgbyA9IGVbdCArIDIgKiBpXSxcclxuICAgICAgICAgICAgICBhID0gZVt0ICsgMiAqIGkgKyAxXTtcclxuICAgICAgICAgIG8gPSAxNjcxMTkzNSAmIChvIDw8IDggfCBvID4+PiAyNCkgfCA0Mjc4MjU1MzYwICYgKG8gPDwgMjQgfCBvID4+PiA4KSwgYSA9IDE2NzExOTM1ICYgKGEgPDwgOCB8IGEgPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAoYSA8PCAyNCB8IGEgPj4+IDgpLCAoQiA9IHJbaV0pLmhpZ2ggXj0gYSwgQi5sb3cgXj0gbztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAodmFyIHMgPSAwOyBzIDwgMjQ7IHMrKykge1xyXG4gICAgICAgICAgZm9yICh2YXIgdSA9IDA7IHUgPCA1OyB1KyspIHtcclxuICAgICAgICAgICAgZm9yICh2YXIgZCA9IDAsIHAgPSAwLCBfID0gMDsgXyA8IDU7IF8rKykgZCBePSAoQiA9IHJbdSArIDUgKiBfXSkuaGlnaCwgcCBePSBCLmxvdztcclxuXHJcbiAgICAgICAgICAgIHZhciBnID0gY1t1XTtcclxuICAgICAgICAgICAgZy5oaWdoID0gZCwgZy5sb3cgPSBwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGZvciAodSA9IDA7IHUgPCA1OyB1KyspIHtcclxuICAgICAgICAgICAgdmFyIHYgPSBjWyh1ICsgNCkgJSA1XSxcclxuICAgICAgICAgICAgICAgIHcgPSBjWyh1ICsgMSkgJSA1XSxcclxuICAgICAgICAgICAgICAgIGIgPSB3LmhpZ2gsXHJcbiAgICAgICAgICAgICAgICB5ID0gdy5sb3c7XHJcblxyXG4gICAgICAgICAgICBmb3IgKGQgPSB2LmhpZ2ggXiAoYiA8PCAxIHwgeSA+Pj4gMzEpLCBwID0gdi5sb3cgXiAoeSA8PCAxIHwgYiA+Pj4gMzEpLCBfID0gMDsgXyA8IDU7IF8rKykgKEIgPSByW3UgKyA1ICogX10pLmhpZ2ggXj0gZCwgQi5sb3cgXj0gcDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBmb3IgKHZhciBtID0gMTsgbSA8IDI1OyBtKyspIHtcclxuICAgICAgICAgICAgdmFyIGsgPSAoQiA9IHJbbV0pLmhpZ2gsXHJcbiAgICAgICAgICAgICAgICBFID0gQi5sb3csXHJcbiAgICAgICAgICAgICAgICBTID0gaFttXTtcclxuICAgICAgICAgICAgUyA8IDMyID8gKGQgPSBrIDw8IFMgfCBFID4+PiAzMiAtIFMsIHAgPSBFIDw8IFMgfCBrID4+PiAzMiAtIFMpIDogKGQgPSBFIDw8IFMgLSAzMiB8IGsgPj4+IDY0IC0gUywgcCA9IGsgPDwgUyAtIDMyIHwgRSA+Pj4gNjQgLSBTKTtcclxuICAgICAgICAgICAgdmFyIHggPSBjW2xbbV1dO1xyXG4gICAgICAgICAgICB4LmhpZ2ggPSBkLCB4LmxvdyA9IHA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdmFyIFIgPSBjWzBdLFxyXG4gICAgICAgICAgICAgIEEgPSByWzBdO1xyXG5cclxuICAgICAgICAgIGZvciAoUi5oaWdoID0gQS5oaWdoLCBSLmxvdyA9IEEubG93LCB1ID0gMDsgdSA8IDU7IHUrKykgZm9yIChfID0gMDsgXyA8IDU7IF8rKykge1xyXG4gICAgICAgICAgICB2YXIgQiA9IHJbbSA9IHUgKyA1ICogX10sXHJcbiAgICAgICAgICAgICAgICB6ID0gY1ttXSxcclxuICAgICAgICAgICAgICAgIEwgPSBjWyh1ICsgMSkgJSA1ICsgNSAqIF9dLFxyXG4gICAgICAgICAgICAgICAgVCA9IGNbKHUgKyAyKSAlIDUgKyA1ICogX107XHJcbiAgICAgICAgICAgIEIuaGlnaCA9IHouaGlnaCBeIH5MLmhpZ2ggJiBULmhpZ2gsIEIubG93ID0gei5sb3cgXiB+TC5sb3cgJiBULmxvdztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBCID0gclswXTtcclxuICAgICAgICAgIHZhciBNID0gZltzXTtcclxuICAgICAgICAgIEIuaGlnaCBePSBNLmhpZ2gsIEIubG93IF49IE0ubG93O1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgX2RvRmluYWxpemU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgdCA9IHRoaXMuX2RhdGEsXHJcbiAgICAgICAgICAgIHIgPSB0LndvcmRzLFxyXG4gICAgICAgICAgICBuID0gKHRoaXMuX25EYXRhQnl0ZXMsIDggKiB0LnNpZ0J5dGVzKSxcclxuICAgICAgICAgICAgbyA9IDMyICogdGhpcy5ibG9ja1NpemU7XHJcbiAgICAgICAgcltuID4+PiA1XSB8PSAxIDw8IDI0IC0gbiAlIDMyLCByWyhlLmNlaWwoKG4gKyAxKSAvIG8pICogbyA+Pj4gNSkgLSAxXSB8PSAxMjgsIHQuc2lnQnl0ZXMgPSA0ICogci5sZW5ndGgsIHRoaXMuX3Byb2Nlc3MoKTtcclxuXHJcbiAgICAgICAgZm9yICh2YXIgYSA9IHRoaXMuX3N0YXRlLCBzID0gdGhpcy5jZmcub3V0cHV0TGVuZ3RoIC8gOCwgaCA9IHMgLyA4LCBsID0gW10sIGYgPSAwOyBmIDwgaDsgZisrKSB7XHJcbiAgICAgICAgICB2YXIgYyA9IGFbZl0sXHJcbiAgICAgICAgICAgICAgdSA9IGMuaGlnaCxcclxuICAgICAgICAgICAgICBkID0gYy5sb3c7XHJcbiAgICAgICAgICB1ID0gMTY3MTE5MzUgJiAodSA8PCA4IHwgdSA+Pj4gMjQpIHwgNDI3ODI1NTM2MCAmICh1IDw8IDI0IHwgdSA+Pj4gOCksIGQgPSAxNjcxMTkzNSAmIChkIDw8IDggfCBkID4+PiAyNCkgfCA0Mjc4MjU1MzYwICYgKGQgPDwgMjQgfCBkID4+PiA4KSwgbC5wdXNoKGQpLCBsLnB1c2godSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmV3IGkuaW5pdChsLCBzKTtcclxuICAgICAgfSxcclxuICAgICAgY2xvbmU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBmb3IgKHZhciBlID0gby5jbG9uZS5jYWxsKHRoaXMpLCB0ID0gZS5fc3RhdGUgPSB0aGlzLl9zdGF0ZS5zbGljZSgwKSwgciA9IDA7IHIgPCAyNTsgcisrKSB0W3JdID0gdFtyXS5jbG9uZSgpO1xyXG5cclxuICAgICAgICByZXR1cm4gZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0LlNIQTMgPSBvLl9jcmVhdGVIZWxwZXIodSksIHQuSG1hY1NIQTMgPSBvLl9jcmVhdGVIbWFjSGVscGVyKHUpO1xyXG4gIH0oTWF0aCksIHIuU0hBMyk7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHI7XHJcbiAgZS5leHBvcnRzID0gKHIgPSBlZSwgZnVuY3Rpb24gKGUpIHtcclxuICAgIHZhciB0ID0gcixcclxuICAgICAgICBuID0gdC5saWIsXHJcbiAgICAgICAgaSA9IG4uV29yZEFycmF5LFxyXG4gICAgICAgIG8gPSBuLkhhc2hlcixcclxuICAgICAgICBhID0gdC5hbGdvLFxyXG4gICAgICAgIHMgPSBpLmNyZWF0ZShbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgNywgNCwgMTMsIDEsIDEwLCA2LCAxNSwgMywgMTIsIDAsIDksIDUsIDIsIDE0LCAxMSwgOCwgMywgMTAsIDE0LCA0LCA5LCAxNSwgOCwgMSwgMiwgNywgMCwgNiwgMTMsIDExLCA1LCAxMiwgMSwgOSwgMTEsIDEwLCAwLCA4LCAxMiwgNCwgMTMsIDMsIDcsIDE1LCAxNCwgNSwgNiwgMiwgNCwgMCwgNSwgOSwgNywgMTIsIDIsIDEwLCAxNCwgMSwgMywgOCwgMTEsIDYsIDE1LCAxM10pLFxyXG4gICAgICAgIGggPSBpLmNyZWF0ZShbNSwgMTQsIDcsIDAsIDksIDIsIDExLCA0LCAxMywgNiwgMTUsIDgsIDEsIDEwLCAzLCAxMiwgNiwgMTEsIDMsIDcsIDAsIDEzLCA1LCAxMCwgMTQsIDE1LCA4LCAxMiwgNCwgOSwgMSwgMiwgMTUsIDUsIDEsIDMsIDcsIDE0LCA2LCA5LCAxMSwgOCwgMTIsIDIsIDEwLCAwLCA0LCAxMywgOCwgNiwgNCwgMSwgMywgMTEsIDE1LCAwLCA1LCAxMiwgMiwgMTMsIDksIDcsIDEwLCAxNCwgMTIsIDE1LCAxMCwgNCwgMSwgNSwgOCwgNywgNiwgMiwgMTMsIDE0LCAwLCAzLCA5LCAxMV0pLFxyXG4gICAgICAgIGwgPSBpLmNyZWF0ZShbMTEsIDE0LCAxNSwgMTIsIDUsIDgsIDcsIDksIDExLCAxMywgMTQsIDE1LCA2LCA3LCA5LCA4LCA3LCA2LCA4LCAxMywgMTEsIDksIDcsIDE1LCA3LCAxMiwgMTUsIDksIDExLCA3LCAxMywgMTIsIDExLCAxMywgNiwgNywgMTQsIDksIDEzLCAxNSwgMTQsIDgsIDEzLCA2LCA1LCAxMiwgNywgNSwgMTEsIDEyLCAxNCwgMTUsIDE0LCAxNSwgOSwgOCwgOSwgMTQsIDUsIDYsIDgsIDYsIDUsIDEyLCA5LCAxNSwgNSwgMTEsIDYsIDgsIDEzLCAxMiwgNSwgMTIsIDEzLCAxNCwgMTEsIDgsIDUsIDZdKSxcclxuICAgICAgICBmID0gaS5jcmVhdGUoWzgsIDksIDksIDExLCAxMywgMTUsIDE1LCA1LCA3LCA3LCA4LCAxMSwgMTQsIDE0LCAxMiwgNiwgOSwgMTMsIDE1LCA3LCAxMiwgOCwgOSwgMTEsIDcsIDcsIDEyLCA3LCA2LCAxNSwgMTMsIDExLCA5LCA3LCAxNSwgMTEsIDgsIDYsIDYsIDE0LCAxMiwgMTMsIDUsIDE0LCAxMywgMTMsIDcsIDUsIDE1LCA1LCA4LCAxMSwgMTQsIDE0LCA2LCAxNCwgNiwgOSwgMTIsIDksIDEyLCA1LCAxNSwgOCwgOCwgNSwgMTIsIDksIDEyLCA1LCAxNCwgNiwgOCwgMTMsIDYsIDUsIDE1LCAxMywgMTEsIDExXSksXHJcbiAgICAgICAgYyA9IGkuY3JlYXRlKFswLCAxNTE4NTAwMjQ5LCAxODU5Nzc1MzkzLCAyNDAwOTU5NzA4LCAyODQwODUzODM4XSksXHJcbiAgICAgICAgdSA9IGkuY3JlYXRlKFsxMzUyODI5OTI2LCAxNTQ4NjAzNjg0LCAxODM2MDcyNjkxLCAyMDUzOTk0MjE3LCAwXSksXHJcbiAgICAgICAgZCA9IGEuUklQRU1EMTYwID0gby5leHRlbmQoe1xyXG4gICAgICBfZG9SZXNldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX2hhc2ggPSBpLmNyZWF0ZShbMTczMjU4NDE5MywgNDAyMzIzMzQxNywgMjU2MjM4MzEwMiwgMjcxNzMzODc4LCAzMjg1Mzc3NTIwXSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIF9kb1Byb2Nlc3NCbG9jazogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgICBmb3IgKHZhciByID0gMDsgciA8IDE2OyByKyspIHtcclxuICAgICAgICAgIHZhciBuID0gdCArIHIsXHJcbiAgICAgICAgICAgICAgaSA9IGVbbl07XHJcbiAgICAgICAgICBlW25dID0gMTY3MTE5MzUgJiAoaSA8PCA4IHwgaSA+Pj4gMjQpIHwgNDI3ODI1NTM2MCAmIChpIDw8IDI0IHwgaSA+Pj4gOCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgbyxcclxuICAgICAgICAgICAgYSxcclxuICAgICAgICAgICAgZCxcclxuICAgICAgICAgICAgeSxcclxuICAgICAgICAgICAgbSxcclxuICAgICAgICAgICAgayxcclxuICAgICAgICAgICAgRSxcclxuICAgICAgICAgICAgUyxcclxuICAgICAgICAgICAgeCxcclxuICAgICAgICAgICAgUixcclxuICAgICAgICAgICAgQSxcclxuICAgICAgICAgICAgQiA9IHRoaXMuX2hhc2gud29yZHMsXHJcbiAgICAgICAgICAgIHogPSBjLndvcmRzLFxyXG4gICAgICAgICAgICBMID0gdS53b3JkcyxcclxuICAgICAgICAgICAgVCA9IHMud29yZHMsXHJcbiAgICAgICAgICAgIE0gPSBoLndvcmRzLFxyXG4gICAgICAgICAgICBDID0gbC53b3JkcyxcclxuICAgICAgICAgICAgRCA9IGYud29yZHM7XHJcblxyXG4gICAgICAgIGZvciAoayA9IG8gPSBCWzBdLCBFID0gYSA9IEJbMV0sIFMgPSBkID0gQlsyXSwgeCA9IHkgPSBCWzNdLCBSID0gbSA9IEJbNF0sIHIgPSAwOyByIDwgODA7IHIgKz0gMSkgQSA9IG8gKyBlW3QgKyBUW3JdXSB8IDAsIEEgKz0gciA8IDE2ID8gcChhLCBkLCB5KSArIHpbMF0gOiByIDwgMzIgPyBfKGEsIGQsIHkpICsgelsxXSA6IHIgPCA0OCA/IGcoYSwgZCwgeSkgKyB6WzJdIDogciA8IDY0ID8gdihhLCBkLCB5KSArIHpbM10gOiB3KGEsIGQsIHkpICsgels0XSwgQSA9IChBID0gYihBIHw9IDAsIENbcl0pKSArIG0gfCAwLCBvID0gbSwgbSA9IHksIHkgPSBiKGQsIDEwKSwgZCA9IGEsIGEgPSBBLCBBID0gayArIGVbdCArIE1bcl1dIHwgMCwgQSArPSByIDwgMTYgPyB3KEUsIFMsIHgpICsgTFswXSA6IHIgPCAzMiA/IHYoRSwgUywgeCkgKyBMWzFdIDogciA8IDQ4ID8gZyhFLCBTLCB4KSArIExbMl0gOiByIDwgNjQgPyBfKEUsIFMsIHgpICsgTFszXSA6IHAoRSwgUywgeCkgKyBMWzRdLCBBID0gKEEgPSBiKEEgfD0gMCwgRFtyXSkpICsgUiB8IDAsIGsgPSBSLCBSID0geCwgeCA9IGIoUywgMTApLCBTID0gRSwgRSA9IEE7XHJcblxyXG4gICAgICAgIEEgPSBCWzFdICsgZCArIHggfCAwLCBCWzFdID0gQlsyXSArIHkgKyBSIHwgMCwgQlsyXSA9IEJbM10gKyBtICsgayB8IDAsIEJbM10gPSBCWzRdICsgbyArIEUgfCAwLCBCWzRdID0gQlswXSArIGEgKyBTIHwgMCwgQlswXSA9IEE7XHJcbiAgICAgIH0sXHJcbiAgICAgIF9kb0ZpbmFsaXplOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIGUgPSB0aGlzLl9kYXRhLFxyXG4gICAgICAgICAgICB0ID0gZS53b3JkcyxcclxuICAgICAgICAgICAgciA9IDggKiB0aGlzLl9uRGF0YUJ5dGVzLFxyXG4gICAgICAgICAgICBuID0gOCAqIGUuc2lnQnl0ZXM7XHJcbiAgICAgICAgdFtuID4+PiA1XSB8PSAxMjggPDwgMjQgLSBuICUgMzIsIHRbMTQgKyAobiArIDY0ID4+PiA5IDw8IDQpXSA9IDE2NzExOTM1ICYgKHIgPDwgOCB8IHIgPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAociA8PCAyNCB8IHIgPj4+IDgpLCBlLnNpZ0J5dGVzID0gNCAqICh0Lmxlbmd0aCArIDEpLCB0aGlzLl9wcm9jZXNzKCk7XHJcblxyXG4gICAgICAgIGZvciAodmFyIGkgPSB0aGlzLl9oYXNoLCBvID0gaS53b3JkcywgYSA9IDA7IGEgPCA1OyBhKyspIHtcclxuICAgICAgICAgIHZhciBzID0gb1thXTtcclxuICAgICAgICAgIG9bYV0gPSAxNjcxMTkzNSAmIChzIDw8IDggfCBzID4+PiAyNCkgfCA0Mjc4MjU1MzYwICYgKHMgPDwgMjQgfCBzID4+PiA4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBpO1xyXG4gICAgICB9LFxyXG4gICAgICBjbG9uZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBlID0gby5jbG9uZS5jYWxsKHRoaXMpO1xyXG4gICAgICAgIHJldHVybiBlLl9oYXNoID0gdGhpcy5faGFzaC5jbG9uZSgpLCBlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBmdW5jdGlvbiBwKGUsIHQsIHIpIHtcclxuICAgICAgcmV0dXJuIGUgXiB0IF4gcjtcclxuICAgIH1cclxuXHJcbiAgICBmdW5jdGlvbiBfKGUsIHQsIHIpIHtcclxuICAgICAgcmV0dXJuIGUgJiB0IHwgfmUgJiByO1xyXG4gICAgfVxyXG5cclxuICAgIGZ1bmN0aW9uIGcoZSwgdCwgcikge1xyXG4gICAgICByZXR1cm4gKGUgfCB+dCkgXiByO1xyXG4gICAgfVxyXG5cclxuICAgIGZ1bmN0aW9uIHYoZSwgdCwgcikge1xyXG4gICAgICByZXR1cm4gZSAmIHIgfCB0ICYgfnI7XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gdyhlLCB0LCByKSB7XHJcbiAgICAgIHJldHVybiBlIF4gKHQgfCB+cik7XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gYihlLCB0KSB7XHJcbiAgICAgIHJldHVybiBlIDw8IHQgfCBlID4+PiAzMiAtIHQ7XHJcbiAgICB9XHJcblxyXG4gICAgdC5SSVBFTUQxNjAgPSBvLl9jcmVhdGVIZWxwZXIoZCksIHQuSG1hY1JJUEVNRDE2MCA9IG8uX2NyZWF0ZUhtYWNIZWxwZXIoZCk7XHJcbiAgfSgpLCByLlJJUEVNRDE2MCk7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHIsIG4sIGksIG8sIGEsIHM7XHJcbiAgZS5leHBvcnRzID0gKG4gPSAociA9IGVlKS5saWIsIGkgPSBuLkJhc2UsIG8gPSByLmVuYywgYSA9IG8uVXRmOCwgcyA9IHIuYWxnbywgdm9pZCAocy5ITUFDID0gaS5leHRlbmQoe1xyXG4gICAgaW5pdDogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgZSA9IHRoaXMuX2hhc2hlciA9IG5ldyBlLmluaXQoKSwgXCJzdHJpbmdcIiA9PSB0eXBlb2YgdCAmJiAodCA9IGEucGFyc2UodCkpO1xyXG4gICAgICB2YXIgciA9IGUuYmxvY2tTaXplLFxyXG4gICAgICAgICAgbiA9IDQgKiByO1xyXG4gICAgICB0LnNpZ0J5dGVzID4gbiAmJiAodCA9IGUuZmluYWxpemUodCkpLCB0LmNsYW1wKCk7XHJcblxyXG4gICAgICBmb3IgKHZhciBpID0gdGhpcy5fb0tleSA9IHQuY2xvbmUoKSwgbyA9IHRoaXMuX2lLZXkgPSB0LmNsb25lKCksIHMgPSBpLndvcmRzLCBoID0gby53b3JkcywgbCA9IDA7IGwgPCByOyBsKyspIHNbbF0gXj0gMTU0OTU1NjgyOCwgaFtsXSBePSA5MDk1MjI0ODY7XHJcblxyXG4gICAgICBpLnNpZ0J5dGVzID0gby5zaWdCeXRlcyA9IG4sIHRoaXMucmVzZXQoKTtcclxuICAgIH0sXHJcbiAgICByZXNldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICB2YXIgZSA9IHRoaXMuX2hhc2hlcjtcclxuICAgICAgZS5yZXNldCgpLCBlLnVwZGF0ZSh0aGlzLl9pS2V5KTtcclxuICAgIH0sXHJcbiAgICB1cGRhdGU6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9oYXNoZXIudXBkYXRlKGUpLCB0aGlzO1xyXG4gICAgfSxcclxuICAgIGZpbmFsaXplOiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICB2YXIgdCA9IHRoaXMuX2hhc2hlcixcclxuICAgICAgICAgIHIgPSB0LmZpbmFsaXplKGUpO1xyXG4gICAgICB0LnJlc2V0KCk7XHJcbiAgICAgIHZhciBuID0gdC5maW5hbGl6ZSh0aGlzLl9vS2V5LmNsb25lKCkuY29uY2F0KHIpKTtcclxuICAgICAgcmV0dXJuIG47XHJcbiAgICB9XHJcbiAgfSkpKTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgciwgbiwgaSwgbywgYSwgcywgaCwgbCwgZjtcclxuICBlLmV4cG9ydHMgPSAoaSA9IChuID0gciA9IGVlKS5saWIsIG8gPSBpLkJhc2UsIGEgPSBpLldvcmRBcnJheSwgcyA9IG4uYWxnbywgaCA9IHMuU0hBMSwgbCA9IHMuSE1BQywgZiA9IHMuUEJLREYyID0gby5leHRlbmQoe1xyXG4gICAgY2ZnOiBvLmV4dGVuZCh7XHJcbiAgICAgIGtleVNpemU6IDQsXHJcbiAgICAgIGhhc2hlcjogaCxcclxuICAgICAgaXRlcmF0aW9uczogMVxyXG4gICAgfSksXHJcbiAgICBpbml0OiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICB0aGlzLmNmZyA9IHRoaXMuY2ZnLmV4dGVuZChlKTtcclxuICAgIH0sXHJcbiAgICBjb21wdXRlOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICBmb3IgKHZhciByID0gdGhpcy5jZmcsIG4gPSBsLmNyZWF0ZShyLmhhc2hlciwgZSksIGkgPSBhLmNyZWF0ZSgpLCBvID0gYS5jcmVhdGUoWzFdKSwgcyA9IGkud29yZHMsIGggPSBvLndvcmRzLCBmID0gci5rZXlTaXplLCBjID0gci5pdGVyYXRpb25zOyBzLmxlbmd0aCA8IGY7KSB7XHJcbiAgICAgICAgdmFyIHUgPSBuLnVwZGF0ZSh0KS5maW5hbGl6ZShvKTtcclxuICAgICAgICBuLnJlc2V0KCk7XHJcblxyXG4gICAgICAgIGZvciAodmFyIGQgPSB1LndvcmRzLCBwID0gZC5sZW5ndGgsIF8gPSB1LCBnID0gMTsgZyA8IGM7IGcrKykge1xyXG4gICAgICAgICAgXyA9IG4uZmluYWxpemUoXyksIG4ucmVzZXQoKTtcclxuXHJcbiAgICAgICAgICBmb3IgKHZhciB2ID0gXy53b3JkcywgdyA9IDA7IHcgPCBwOyB3KyspIGRbd10gXj0gdlt3XTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGkuY29uY2F0KHUpLCBoWzBdKys7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBpLnNpZ0J5dGVzID0gNCAqIGYsIGk7XHJcbiAgICB9XHJcbiAgfSksIG4uUEJLREYyID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICAgIHJldHVybiBmLmNyZWF0ZShyKS5jb21wdXRlKGUsIHQpO1xyXG4gIH0sIHIuUEJLREYyKTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgciwgbiwgaSwgbywgYSwgcywgaCwgbDtcclxuICBlLmV4cG9ydHMgPSAoaSA9IChuID0gciA9IGVlKS5saWIsIG8gPSBpLkJhc2UsIGEgPSBpLldvcmRBcnJheSwgcyA9IG4uYWxnbywgaCA9IHMuTUQ1LCBsID0gcy5FdnBLREYgPSBvLmV4dGVuZCh7XHJcbiAgICBjZmc6IG8uZXh0ZW5kKHtcclxuICAgICAga2V5U2l6ZTogNCxcclxuICAgICAgaGFzaGVyOiBoLFxyXG4gICAgICBpdGVyYXRpb25zOiAxXHJcbiAgICB9KSxcclxuICAgIGluaXQ6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgIHRoaXMuY2ZnID0gdGhpcy5jZmcuZXh0ZW5kKGUpO1xyXG4gICAgfSxcclxuICAgIGNvbXB1dGU6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgIGZvciAodmFyIHIgPSB0aGlzLmNmZywgbiA9IHIuaGFzaGVyLmNyZWF0ZSgpLCBpID0gYS5jcmVhdGUoKSwgbyA9IGkud29yZHMsIHMgPSByLmtleVNpemUsIGggPSByLml0ZXJhdGlvbnM7IG8ubGVuZ3RoIDwgczspIHtcclxuICAgICAgICBsICYmIG4udXBkYXRlKGwpO1xyXG4gICAgICAgIHZhciBsID0gbi51cGRhdGUoZSkuZmluYWxpemUodCk7XHJcbiAgICAgICAgbi5yZXNldCgpO1xyXG5cclxuICAgICAgICBmb3IgKHZhciBmID0gMTsgZiA8IGg7IGYrKykgbCA9IG4uZmluYWxpemUobCksIG4ucmVzZXQoKTtcclxuXHJcbiAgICAgICAgaS5jb25jYXQobCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBpLnNpZ0J5dGVzID0gNCAqIHMsIGk7XHJcbiAgICB9XHJcbiAgfSksIG4uRXZwS0RGID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICAgIHJldHVybiBsLmNyZWF0ZShyKS5jb21wdXRlKGUsIHQpO1xyXG4gIH0sIHIuRXZwS0RGKTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgciwgbiwgaSwgbywgYSwgcywgaCwgbCwgZiwgYywgdSwgZCwgcCwgXywgZywgdiwgdywgYiwgeSwgbSwgaywgRSwgUywgeDtcclxuXHJcbiAgZS5leHBvcnRzID0gdm9pZCAoKHIgPSBlZSkubGliLkNpcGhlciB8fCAoaSA9IHIsIG8gPSBpLmxpYiwgYSA9IG8uQmFzZSwgcyA9IG8uV29yZEFycmF5LCBoID0gby5CdWZmZXJlZEJsb2NrQWxnb3JpdGhtLCBsID0gaS5lbmMsIGwuVXRmOCwgZiA9IGwuQmFzZTY0LCBjID0gaS5hbGdvLCB1ID0gYy5FdnBLREYsIGQgPSBvLkNpcGhlciA9IGguZXh0ZW5kKHtcclxuICAgIGNmZzogYS5leHRlbmQoKSxcclxuICAgIGNyZWF0ZUVuY3J5cHRvcjogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuX0VOQ19YRk9STV9NT0RFLCBlLCB0KTtcclxuICAgIH0sXHJcbiAgICBjcmVhdGVEZWNyeXB0b3I6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0aGlzLl9ERUNfWEZPUk1fTU9ERSwgZSwgdCk7XHJcbiAgICB9LFxyXG4gICAgaW5pdDogZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICAgICAgdGhpcy5jZmcgPSB0aGlzLmNmZy5leHRlbmQociksIHRoaXMuX3hmb3JtTW9kZSA9IGUsIHRoaXMuX2tleSA9IHQsIHRoaXMucmVzZXQoKTtcclxuICAgIH0sXHJcbiAgICByZXNldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICBoLnJlc2V0LmNhbGwodGhpcyksIHRoaXMuX2RvUmVzZXQoKTtcclxuICAgIH0sXHJcbiAgICBwcm9jZXNzOiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYXBwZW5kKGUpLCB0aGlzLl9wcm9jZXNzKCk7XHJcbiAgICB9LFxyXG4gICAgZmluYWxpemU6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgIGUgJiYgdGhpcy5fYXBwZW5kKGUpO1xyXG5cclxuICAgICAgdmFyIHQgPSB0aGlzLl9kb0ZpbmFsaXplKCk7XHJcblxyXG4gICAgICByZXR1cm4gdDtcclxuICAgIH0sXHJcbiAgICBrZXlTaXplOiA0LFxyXG4gICAgaXZTaXplOiA0LFxyXG4gICAgX0VOQ19YRk9STV9NT0RFOiAxLFxyXG4gICAgX0RFQ19YRk9STV9NT0RFOiAyLFxyXG4gICAgX2NyZWF0ZUhlbHBlcjogZnVuY3Rpb24gKCkge1xyXG4gICAgICBmdW5jdGlvbiBlKGUpIHtcclxuICAgICAgICByZXR1cm4gXCJzdHJpbmdcIiA9PSB0eXBlb2YgZSA/IHggOiBrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gZnVuY3Rpb24gKHQpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgZW5jcnlwdDogZnVuY3Rpb24gKHIsIG4sIGkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGUobikuZW5jcnlwdCh0LCByLCBuLCBpKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkZWNyeXB0OiBmdW5jdGlvbiAociwgbiwgaSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZShuKS5kZWNyeXB0KHQsIHIsIG4sIGkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH07XHJcbiAgICB9KClcclxuICB9KSwgby5TdHJlYW1DaXBoZXIgPSBkLmV4dGVuZCh7XHJcbiAgICBfZG9GaW5hbGl6ZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICB2YXIgZSA9IHRoaXMuX3Byb2Nlc3MoITApO1xyXG5cclxuICAgICAgcmV0dXJuIGU7XHJcbiAgICB9LFxyXG4gICAgYmxvY2tTaXplOiAxXHJcbiAgfSksIHAgPSBpLm1vZGUgPSB7fSwgXyA9IG8uQmxvY2tDaXBoZXJNb2RlID0gYS5leHRlbmQoe1xyXG4gICAgY3JlYXRlRW5jcnlwdG9yOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5FbmNyeXB0b3IuY3JlYXRlKGUsIHQpO1xyXG4gICAgfSxcclxuICAgIGNyZWF0ZURlY3J5cHRvcjogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuRGVjcnlwdG9yLmNyZWF0ZShlLCB0KTtcclxuICAgIH0sXHJcbiAgICBpbml0OiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICB0aGlzLl9jaXBoZXIgPSBlLCB0aGlzLl9pdiA9IHQ7XHJcbiAgICB9XHJcbiAgfSksIGcgPSBwLkNCQyA9IGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBlID0gXy5leHRlbmQoKTtcclxuXHJcbiAgICBmdW5jdGlvbiB0KGUsIHQsIHIpIHtcclxuICAgICAgdmFyIGkgPSB0aGlzLl9pdjtcclxuXHJcbiAgICAgIGlmIChpKSB7XHJcbiAgICAgICAgdmFyIG8gPSBpO1xyXG4gICAgICAgIHRoaXMuX2l2ID0gbjtcclxuICAgICAgfSBlbHNlIHZhciBvID0gdGhpcy5fcHJldkJsb2NrO1xyXG5cclxuICAgICAgZm9yICh2YXIgYSA9IDA7IGEgPCByOyBhKyspIGVbdCArIGFdIF49IG9bYV07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGUuRW5jcnlwdG9yID0gZS5leHRlbmQoe1xyXG4gICAgICBwcm9jZXNzQmxvY2s6IGZ1bmN0aW9uIChlLCByKSB7XHJcbiAgICAgICAgdmFyIG4gPSB0aGlzLl9jaXBoZXIsXHJcbiAgICAgICAgICAgIGkgPSBuLmJsb2NrU2l6ZTtcclxuICAgICAgICB0LmNhbGwodGhpcywgZSwgciwgaSksIG4uZW5jcnlwdEJsb2NrKGUsIHIpLCB0aGlzLl9wcmV2QmxvY2sgPSBlLnNsaWNlKHIsIHIgKyBpKTtcclxuICAgICAgfVxyXG4gICAgfSksIGUuRGVjcnlwdG9yID0gZS5leHRlbmQoe1xyXG4gICAgICBwcm9jZXNzQmxvY2s6IGZ1bmN0aW9uIChlLCByKSB7XHJcbiAgICAgICAgdmFyIG4gPSB0aGlzLl9jaXBoZXIsXHJcbiAgICAgICAgICAgIGkgPSBuLmJsb2NrU2l6ZSxcclxuICAgICAgICAgICAgbyA9IGUuc2xpY2UociwgciArIGkpO1xyXG4gICAgICAgIG4uZGVjcnlwdEJsb2NrKGUsIHIpLCB0LmNhbGwodGhpcywgZSwgciwgaSksIHRoaXMuX3ByZXZCbG9jayA9IG87XHJcbiAgICAgIH1cclxuICAgIH0pLCBlO1xyXG4gIH0oKSwgdiA9IGkucGFkID0ge30sIHcgPSB2LlBrY3M3ID0ge1xyXG4gICAgcGFkOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICBmb3IgKHZhciByID0gNCAqIHQsIG4gPSByIC0gZS5zaWdCeXRlcyAlIHIsIGkgPSBuIDw8IDI0IHwgbiA8PCAxNiB8IG4gPDwgOCB8IG4sIG8gPSBbXSwgYSA9IDA7IGEgPCBuOyBhICs9IDQpIG8ucHVzaChpKTtcclxuXHJcbiAgICAgIHZhciBoID0gcy5jcmVhdGUobywgbik7XHJcbiAgICAgIGUuY29uY2F0KGgpO1xyXG4gICAgfSxcclxuICAgIHVucGFkOiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICB2YXIgdCA9IDI1NSAmIGUud29yZHNbZS5zaWdCeXRlcyAtIDEgPj4+IDJdO1xyXG4gICAgICBlLnNpZ0J5dGVzIC09IHQ7XHJcbiAgICB9XHJcbiAgfSwgby5CbG9ja0NpcGhlciA9IGQuZXh0ZW5kKHtcclxuICAgIGNmZzogZC5jZmcuZXh0ZW5kKHtcclxuICAgICAgbW9kZTogZyxcclxuICAgICAgcGFkZGluZzogd1xyXG4gICAgfSksXHJcbiAgICByZXNldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICBkLnJlc2V0LmNhbGwodGhpcyk7XHJcbiAgICAgIHZhciBlID0gdGhpcy5jZmcsXHJcbiAgICAgICAgICB0ID0gZS5pdixcclxuICAgICAgICAgIHIgPSBlLm1vZGU7XHJcbiAgICAgIGlmICh0aGlzLl94Zm9ybU1vZGUgPT0gdGhpcy5fRU5DX1hGT1JNX01PREUpIHZhciBuID0gci5jcmVhdGVFbmNyeXB0b3I7ZWxzZSB7XHJcbiAgICAgICAgdmFyIG4gPSByLmNyZWF0ZURlY3J5cHRvcjtcclxuICAgICAgICB0aGlzLl9taW5CdWZmZXJTaXplID0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9tb2RlICYmIHRoaXMuX21vZGUuX19jcmVhdG9yID09IG4gPyB0aGlzLl9tb2RlLmluaXQodGhpcywgdCAmJiB0LndvcmRzKSA6ICh0aGlzLl9tb2RlID0gbi5jYWxsKHIsIHRoaXMsIHQgJiYgdC53b3JkcyksIHRoaXMuX21vZGUuX19jcmVhdG9yID0gbik7XHJcbiAgICB9LFxyXG4gICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICB0aGlzLl9tb2RlLnByb2Nlc3NCbG9jayhlLCB0KTtcclxuICAgIH0sXHJcbiAgICBfZG9GaW5hbGl6ZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICB2YXIgZSA9IHRoaXMuY2ZnLnBhZGRpbmc7XHJcblxyXG4gICAgICBpZiAodGhpcy5feGZvcm1Nb2RlID09IHRoaXMuX0VOQ19YRk9STV9NT0RFKSB7XHJcbiAgICAgICAgZS5wYWQodGhpcy5fZGF0YSwgdGhpcy5ibG9ja1NpemUpO1xyXG5cclxuICAgICAgICB2YXIgdCA9IHRoaXMuX3Byb2Nlc3MoITApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHZhciB0ID0gdGhpcy5fcHJvY2VzcyghMCk7XHJcblxyXG4gICAgICAgIGUudW5wYWQodCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0O1xyXG4gICAgfSxcclxuICAgIGJsb2NrU2l6ZTogNFxyXG4gIH0pLCBiID0gby5DaXBoZXJQYXJhbXMgPSBhLmV4dGVuZCh7XHJcbiAgICBpbml0OiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICB0aGlzLm1peEluKGUpO1xyXG4gICAgfSxcclxuICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICByZXR1cm4gKGUgfHwgdGhpcy5mb3JtYXR0ZXIpLnN0cmluZ2lmeSh0aGlzKTtcclxuICAgIH1cclxuICB9KSwgeSA9IGkuZm9ybWF0ID0ge30sIG0gPSB5Lk9wZW5TU0wgPSB7XHJcbiAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgIHZhciB0ID0gZS5jaXBoZXJ0ZXh0LFxyXG4gICAgICAgICAgciA9IGUuc2FsdDtcclxuICAgICAgaWYgKHIpIHZhciBuID0gcy5jcmVhdGUoWzEzOTg4OTM2ODQsIDE3MDEwNzY4MzFdKS5jb25jYXQocikuY29uY2F0KHQpO2Vsc2UgdmFyIG4gPSB0O1xyXG4gICAgICByZXR1cm4gbi50b1N0cmluZyhmKTtcclxuICAgIH0sXHJcbiAgICBwYXJzZTogZnVuY3Rpb24gKGUpIHtcclxuICAgICAgdmFyIHQgPSBmLnBhcnNlKGUpLFxyXG4gICAgICAgICAgciA9IHQud29yZHM7XHJcblxyXG4gICAgICBpZiAoMTM5ODg5MzY4NCA9PSByWzBdICYmIDE3MDEwNzY4MzEgPT0gclsxXSkge1xyXG4gICAgICAgIHZhciBuID0gcy5jcmVhdGUoci5zbGljZSgyLCA0KSk7XHJcbiAgICAgICAgci5zcGxpY2UoMCwgNCksIHQuc2lnQnl0ZXMgLT0gMTY7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBiLmNyZWF0ZSh7XHJcbiAgICAgICAgY2lwaGVydGV4dDogdCxcclxuICAgICAgICBzYWx0OiBuXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH0sIGsgPSBvLlNlcmlhbGl6YWJsZUNpcGhlciA9IGEuZXh0ZW5kKHtcclxuICAgIGNmZzogYS5leHRlbmQoe1xyXG4gICAgICBmb3JtYXQ6IG1cclxuICAgIH0pLFxyXG4gICAgZW5jcnlwdDogZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcclxuICAgICAgbiA9IHRoaXMuY2ZnLmV4dGVuZChuKTtcclxuICAgICAgdmFyIGkgPSBlLmNyZWF0ZUVuY3J5cHRvcihyLCBuKSxcclxuICAgICAgICAgIG8gPSBpLmZpbmFsaXplKHQpLFxyXG4gICAgICAgICAgYSA9IGkuY2ZnO1xyXG4gICAgICByZXR1cm4gYi5jcmVhdGUoe1xyXG4gICAgICAgIGNpcGhlcnRleHQ6IG8sXHJcbiAgICAgICAga2V5OiByLFxyXG4gICAgICAgIGl2OiBhLml2LFxyXG4gICAgICAgIGFsZ29yaXRobTogZSxcclxuICAgICAgICBtb2RlOiBhLm1vZGUsXHJcbiAgICAgICAgcGFkZGluZzogYS5wYWRkaW5nLFxyXG4gICAgICAgIGJsb2NrU2l6ZTogZS5ibG9ja1NpemUsXHJcbiAgICAgICAgZm9ybWF0dGVyOiBuLmZvcm1hdFxyXG4gICAgICB9KTtcclxuICAgIH0sXHJcbiAgICBkZWNyeXB0OiBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xyXG4gICAgICBuID0gdGhpcy5jZmcuZXh0ZW5kKG4pLCB0ID0gdGhpcy5fcGFyc2UodCwgbi5mb3JtYXQpO1xyXG4gICAgICB2YXIgaSA9IGUuY3JlYXRlRGVjcnlwdG9yKHIsIG4pLmZpbmFsaXplKHQuY2lwaGVydGV4dCk7XHJcbiAgICAgIHJldHVybiBpO1xyXG4gICAgfSxcclxuICAgIF9wYXJzZTogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgcmV0dXJuIFwic3RyaW5nXCIgPT0gdHlwZW9mIGUgPyB0LnBhcnNlKGUsIHRoaXMpIDogZTtcclxuICAgIH1cclxuICB9KSwgRSA9IGkua2RmID0ge30sIFMgPSBFLk9wZW5TU0wgPSB7XHJcbiAgICBleGVjdXRlOiBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xyXG4gICAgICBuIHx8IChuID0gcy5yYW5kb20oOCkpO1xyXG4gICAgICB2YXIgaSA9IHUuY3JlYXRlKHtcclxuICAgICAgICBrZXlTaXplOiB0ICsgclxyXG4gICAgICB9KS5jb21wdXRlKGUsIG4pLFxyXG4gICAgICAgICAgbyA9IHMuY3JlYXRlKGkud29yZHMuc2xpY2UodCksIDQgKiByKTtcclxuICAgICAgcmV0dXJuIGkuc2lnQnl0ZXMgPSA0ICogdCwgYi5jcmVhdGUoe1xyXG4gICAgICAgIGtleTogaSxcclxuICAgICAgICBpdjogbyxcclxuICAgICAgICBzYWx0OiBuXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH0sIHggPSBvLlBhc3N3b3JkQmFzZWRDaXBoZXIgPSBrLmV4dGVuZCh7XHJcbiAgICBjZmc6IGsuY2ZnLmV4dGVuZCh7XHJcbiAgICAgIGtkZjogU1xyXG4gICAgfSksXHJcbiAgICBlbmNyeXB0OiBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xyXG4gICAgICB2YXIgaSA9IChuID0gdGhpcy5jZmcuZXh0ZW5kKG4pKS5rZGYuZXhlY3V0ZShyLCBlLmtleVNpemUsIGUuaXZTaXplKTtcclxuICAgICAgbi5pdiA9IGkuaXY7XHJcbiAgICAgIHZhciBvID0gay5lbmNyeXB0LmNhbGwodGhpcywgZSwgdCwgaS5rZXksIG4pO1xyXG4gICAgICByZXR1cm4gby5taXhJbihpKSwgbztcclxuICAgIH0sXHJcbiAgICBkZWNyeXB0OiBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xyXG4gICAgICBuID0gdGhpcy5jZmcuZXh0ZW5kKG4pLCB0ID0gdGhpcy5fcGFyc2UodCwgbi5mb3JtYXQpO1xyXG4gICAgICB2YXIgaSA9IG4ua2RmLmV4ZWN1dGUociwgZS5rZXlTaXplLCBlLml2U2l6ZSwgdC5zYWx0KTtcclxuICAgICAgbi5pdiA9IGkuaXY7XHJcbiAgICAgIHZhciBvID0gay5kZWNyeXB0LmNhbGwodGhpcywgZSwgdCwgaS5rZXksIG4pO1xyXG4gICAgICByZXR1cm4gbztcclxuICAgIH1cclxuICB9KSkpO1xyXG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHZhciByO1xyXG4gIGUuZXhwb3J0cyA9ICgociA9IGVlKS5tb2RlLkNGQiA9IGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBlID0gci5saWIuQmxvY2tDaXBoZXJNb2RlLmV4dGVuZCgpO1xyXG5cclxuICAgIGZ1bmN0aW9uIHQoZSwgdCwgciwgbikge1xyXG4gICAgICB2YXIgaSA9IHRoaXMuX2l2O1xyXG5cclxuICAgICAgaWYgKGkpIHtcclxuICAgICAgICB2YXIgbyA9IGkuc2xpY2UoMCk7XHJcbiAgICAgICAgdGhpcy5faXYgPSB2b2lkIDA7XHJcbiAgICAgIH0gZWxzZSBvID0gdGhpcy5fcHJldkJsb2NrO1xyXG5cclxuICAgICAgbi5lbmNyeXB0QmxvY2sobywgMCk7XHJcblxyXG4gICAgICBmb3IgKHZhciBhID0gMDsgYSA8IHI7IGErKykgZVt0ICsgYV0gXj0gb1thXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZS5FbmNyeXB0b3IgPSBlLmV4dGVuZCh7XHJcbiAgICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24gKGUsIHIpIHtcclxuICAgICAgICB2YXIgbiA9IHRoaXMuX2NpcGhlcixcclxuICAgICAgICAgICAgaSA9IG4uYmxvY2tTaXplO1xyXG4gICAgICAgIHQuY2FsbCh0aGlzLCBlLCByLCBpLCBuKSwgdGhpcy5fcHJldkJsb2NrID0gZS5zbGljZShyLCByICsgaSk7XHJcbiAgICAgIH1cclxuICAgIH0pLCBlLkRlY3J5cHRvciA9IGUuZXh0ZW5kKHtcclxuICAgICAgcHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgcikge1xyXG4gICAgICAgIHZhciBuID0gdGhpcy5fY2lwaGVyLFxyXG4gICAgICAgICAgICBpID0gbi5ibG9ja1NpemUsXHJcbiAgICAgICAgICAgIG8gPSBlLnNsaWNlKHIsIHIgKyBpKTtcclxuICAgICAgICB0LmNhbGwodGhpcywgZSwgciwgaSwgbiksIHRoaXMuX3ByZXZCbG9jayA9IG87XHJcbiAgICAgIH1cclxuICAgIH0pLCBlO1xyXG4gIH0oKSwgci5tb2RlLkNGQik7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHIsIG4sIGk7XHJcbiAgZS5leHBvcnRzID0gKChyID0gZWUpLm1vZGUuQ1RSID0gKG4gPSByLmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCksIGkgPSBuLkVuY3J5cHRvciA9IG4uZXh0ZW5kKHtcclxuICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgdmFyIHIgPSB0aGlzLl9jaXBoZXIsXHJcbiAgICAgICAgICBuID0gci5ibG9ja1NpemUsXHJcbiAgICAgICAgICBpID0gdGhpcy5faXYsXHJcbiAgICAgICAgICBvID0gdGhpcy5fY291bnRlcjtcclxuICAgICAgaSAmJiAobyA9IHRoaXMuX2NvdW50ZXIgPSBpLnNsaWNlKDApLCB0aGlzLl9pdiA9IHZvaWQgMCk7XHJcbiAgICAgIHZhciBhID0gby5zbGljZSgwKTtcclxuICAgICAgci5lbmNyeXB0QmxvY2soYSwgMCksIG9bbiAtIDFdID0gb1tuIC0gMV0gKyAxIHwgMDtcclxuXHJcbiAgICAgIGZvciAodmFyIHMgPSAwOyBzIDwgbjsgcysrKSBlW3QgKyBzXSBePSBhW3NdO1xyXG4gICAgfVxyXG4gIH0pLCBuLkRlY3J5cHRvciA9IGksIG4pLCByLm1vZGUuQ1RSKTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgcjtcclxuICBlLmV4cG9ydHMgPSAoKHIgPSBlZSkubW9kZS5DVFJHbGFkbWFuID0gZnVuY3Rpb24gKCkge1xyXG4gICAgdmFyIGUgPSByLmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCk7XHJcblxyXG4gICAgZnVuY3Rpb24gdChlKSB7XHJcbiAgICAgIGlmICgyNTUgPT0gKGUgPj4gMjQgJiAyNTUpKSB7XHJcbiAgICAgICAgdmFyIHQgPSBlID4+IDE2ICYgMjU1LFxyXG4gICAgICAgICAgICByID0gZSA+PiA4ICYgMjU1LFxyXG4gICAgICAgICAgICBuID0gMjU1ICYgZTtcclxuICAgICAgICAyNTUgPT09IHQgPyAodCA9IDAsIDI1NSA9PT0gciA/IChyID0gMCwgMjU1ID09PSBuID8gbiA9IDAgOiArK24pIDogKytyKSA6ICsrdCwgZSA9IDAsIGUgKz0gdCA8PCAxNiwgZSArPSByIDw8IDgsIGUgKz0gbjtcclxuICAgICAgfSBlbHNlIGUgKz0gMSA8PCAyNDtcclxuXHJcbiAgICAgIHJldHVybiBlO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciBuID0gZS5FbmNyeXB0b3IgPSBlLmV4dGVuZCh7XHJcbiAgICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24gKGUsIHIpIHtcclxuICAgICAgICB2YXIgbiA9IHRoaXMuX2NpcGhlcixcclxuICAgICAgICAgICAgaSA9IG4uYmxvY2tTaXplLFxyXG4gICAgICAgICAgICBvID0gdGhpcy5faXYsXHJcbiAgICAgICAgICAgIGEgPSB0aGlzLl9jb3VudGVyO1xyXG4gICAgICAgIG8gJiYgKGEgPSB0aGlzLl9jb3VudGVyID0gby5zbGljZSgwKSwgdGhpcy5faXYgPSB2b2lkIDApLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgMCA9PT0gKGVbMF0gPSB0KGVbMF0pKSAmJiAoZVsxXSA9IHQoZVsxXSkpO1xyXG4gICAgICAgIH0oYSk7XHJcbiAgICAgICAgdmFyIHMgPSBhLnNsaWNlKDApO1xyXG4gICAgICAgIG4uZW5jcnlwdEJsb2NrKHMsIDApO1xyXG5cclxuICAgICAgICBmb3IgKHZhciBoID0gMDsgaCA8IGk7IGgrKykgZVtyICsgaF0gXj0gc1toXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZS5EZWNyeXB0b3IgPSBuLCBlO1xyXG4gIH0oKSwgci5tb2RlLkNUUkdsYWRtYW4pO1xyXG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHZhciByLCBuLCBpO1xyXG4gIGUuZXhwb3J0cyA9ICgociA9IGVlKS5tb2RlLk9GQiA9IChuID0gci5saWIuQmxvY2tDaXBoZXJNb2RlLmV4dGVuZCgpLCBpID0gbi5FbmNyeXB0b3IgPSBuLmV4dGVuZCh7XHJcbiAgICBwcm9jZXNzQmxvY2s6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgIHZhciByID0gdGhpcy5fY2lwaGVyLFxyXG4gICAgICAgICAgbiA9IHIuYmxvY2tTaXplLFxyXG4gICAgICAgICAgaSA9IHRoaXMuX2l2LFxyXG4gICAgICAgICAgbyA9IHRoaXMuX2tleXN0cmVhbTtcclxuICAgICAgaSAmJiAobyA9IHRoaXMuX2tleXN0cmVhbSA9IGkuc2xpY2UoMCksIHRoaXMuX2l2ID0gdm9pZCAwKSwgci5lbmNyeXB0QmxvY2sobywgMCk7XHJcblxyXG4gICAgICBmb3IgKHZhciBhID0gMDsgYSA8IG47IGErKykgZVt0ICsgYV0gXj0gb1thXTtcclxuICAgIH1cclxuICB9KSwgbi5EZWNyeXB0b3IgPSBpLCBuKSwgci5tb2RlLk9GQik7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHIsIG47XHJcbiAgZS5leHBvcnRzID0gKChyID0gZWUpLm1vZGUuRUNCID0gKChuID0gci5saWIuQmxvY2tDaXBoZXJNb2RlLmV4dGVuZCgpKS5FbmNyeXB0b3IgPSBuLmV4dGVuZCh7XHJcbiAgICBwcm9jZXNzQmxvY2s6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgIHRoaXMuX2NpcGhlci5lbmNyeXB0QmxvY2soZSwgdCk7XHJcbiAgICB9XHJcbiAgfSksIG4uRGVjcnlwdG9yID0gbi5leHRlbmQoe1xyXG4gICAgcHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICB0aGlzLl9jaXBoZXIuZGVjcnlwdEJsb2NrKGUsIHQpO1xyXG4gICAgfVxyXG4gIH0pLCBuKSwgci5tb2RlLkVDQik7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHI7XHJcbiAgZS5leHBvcnRzID0gKChyID0gZWUpLnBhZC5BbnNpWDkyMyA9IHtcclxuICAgIHBhZDogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgdmFyIHIgPSBlLnNpZ0J5dGVzLFxyXG4gICAgICAgICAgbiA9IDQgKiB0LFxyXG4gICAgICAgICAgaSA9IG4gLSByICUgbixcclxuICAgICAgICAgIG8gPSByICsgaSAtIDE7XHJcbiAgICAgIGUuY2xhbXAoKSwgZS53b3Jkc1tvID4+PiAyXSB8PSBpIDw8IDI0IC0gbyAlIDQgKiA4LCBlLnNpZ0J5dGVzICs9IGk7XHJcbiAgICB9LFxyXG4gICAgdW5wYWQ6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgIHZhciB0ID0gMjU1ICYgZS53b3Jkc1tlLnNpZ0J5dGVzIC0gMSA+Pj4gMl07XHJcbiAgICAgIGUuc2lnQnl0ZXMgLT0gdDtcclxuICAgIH1cclxuICB9LCByLnBhZC5BbnNpeDkyMyk7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHI7XHJcbiAgZS5leHBvcnRzID0gKChyID0gZWUpLnBhZC5Jc28xMDEyNiA9IHtcclxuICAgIHBhZDogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgdmFyIG4gPSA0ICogdCxcclxuICAgICAgICAgIGkgPSBuIC0gZS5zaWdCeXRlcyAlIG47XHJcbiAgICAgIGUuY29uY2F0KHIubGliLldvcmRBcnJheS5yYW5kb20oaSAtIDEpKS5jb25jYXQoci5saWIuV29yZEFycmF5LmNyZWF0ZShbaSA8PCAyNF0sIDEpKTtcclxuICAgIH0sXHJcbiAgICB1bnBhZDogZnVuY3Rpb24gKGUpIHtcclxuICAgICAgdmFyIHQgPSAyNTUgJiBlLndvcmRzW2Uuc2lnQnl0ZXMgLSAxID4+PiAyXTtcclxuICAgICAgZS5zaWdCeXRlcyAtPSB0O1xyXG4gICAgfVxyXG4gIH0sIHIucGFkLklzbzEwMTI2KTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgcjtcclxuICBlLmV4cG9ydHMgPSAoKHIgPSBlZSkucGFkLklzbzk3OTcxID0ge1xyXG4gICAgcGFkOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICBlLmNvbmNhdChyLmxpYi5Xb3JkQXJyYXkuY3JlYXRlKFsyMTQ3NDgzNjQ4XSwgMSkpLCByLnBhZC5aZXJvUGFkZGluZy5wYWQoZSwgdCk7XHJcbiAgICB9LFxyXG4gICAgdW5wYWQ6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgIHIucGFkLlplcm9QYWRkaW5nLnVucGFkKGUpLCBlLnNpZ0J5dGVzLS07XHJcbiAgICB9XHJcbiAgfSwgci5wYWQuSXNvOTc5NzEpO1xyXG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHZhciByO1xyXG4gIGUuZXhwb3J0cyA9ICgociA9IGVlKS5wYWQuWmVyb1BhZGRpbmcgPSB7XHJcbiAgICBwYWQ6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgIHZhciByID0gNCAqIHQ7XHJcbiAgICAgIGUuY2xhbXAoKSwgZS5zaWdCeXRlcyArPSByIC0gKGUuc2lnQnl0ZXMgJSByIHx8IHIpO1xyXG4gICAgfSxcclxuICAgIHVucGFkOiBmdW5jdGlvbiAoZSkge1xyXG4gICAgICBmb3IgKHZhciB0ID0gZS53b3JkcywgciA9IGUuc2lnQnl0ZXMgLSAxOyAhKHRbciA+Pj4gMl0gPj4+IDI0IC0gciAlIDQgKiA4ICYgMjU1KTspIHItLTtcclxuXHJcbiAgICAgIGUuc2lnQnl0ZXMgPSByICsgMTtcclxuICAgIH1cclxuICB9LCByLnBhZC5aZXJvUGFkZGluZyk7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHI7XHJcbiAgZS5leHBvcnRzID0gKChyID0gZWUpLnBhZC5Ob1BhZGRpbmcgPSB7XHJcbiAgICBwYWQ6IGZ1bmN0aW9uICgpIHt9LFxyXG4gICAgdW5wYWQ6IGZ1bmN0aW9uICgpIHt9XHJcbiAgfSwgci5wYWQuTm9QYWRkaW5nKTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgciwgbiwgaSwgbztcclxuICBlLmV4cG9ydHMgPSAoaSA9IChuID0gciA9IGVlKS5saWIuQ2lwaGVyUGFyYW1zLCBvID0gbi5lbmMuSGV4LCBuLmZvcm1hdC5IZXggPSB7XHJcbiAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgIHJldHVybiBlLmNpcGhlcnRleHQudG9TdHJpbmcobyk7XHJcbiAgICB9LFxyXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgIHZhciB0ID0gby5wYXJzZShlKTtcclxuICAgICAgcmV0dXJuIGkuY3JlYXRlKHtcclxuICAgICAgICBjaXBoZXJ0ZXh0OiB0XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH0sIHIuZm9ybWF0LkhleCk7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHI7XHJcbiAgZS5leHBvcnRzID0gKHIgPSBlZSwgZnVuY3Rpb24gKCkge1xyXG4gICAgdmFyIGUgPSByLFxyXG4gICAgICAgIHQgPSBlLmxpYi5CbG9ja0NpcGhlcixcclxuICAgICAgICBuID0gZS5hbGdvLFxyXG4gICAgICAgIGkgPSBbXSxcclxuICAgICAgICBvID0gW10sXHJcbiAgICAgICAgYSA9IFtdLFxyXG4gICAgICAgIHMgPSBbXSxcclxuICAgICAgICBoID0gW10sXHJcbiAgICAgICAgbCA9IFtdLFxyXG4gICAgICAgIGYgPSBbXSxcclxuICAgICAgICBjID0gW10sXHJcbiAgICAgICAgdSA9IFtdLFxyXG4gICAgICAgIGQgPSBbXTtcclxuICAgICFmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGZvciAodmFyIGUgPSBbXSwgdCA9IDA7IHQgPCAyNTY7IHQrKykgZVt0XSA9IHQgPCAxMjggPyB0IDw8IDEgOiB0IDw8IDEgXiAyODM7XHJcblxyXG4gICAgICB2YXIgciA9IDAsXHJcbiAgICAgICAgICBuID0gMDtcclxuXHJcbiAgICAgIGZvciAodCA9IDA7IHQgPCAyNTY7IHQrKykge1xyXG4gICAgICAgIHZhciBwID0gbiBeIG4gPDwgMSBeIG4gPDwgMiBeIG4gPDwgMyBeIG4gPDwgNDtcclxuICAgICAgICBwID0gcCA+Pj4gOCBeIDI1NSAmIHAgXiA5OSwgaVtyXSA9IHAsIG9bcF0gPSByO1xyXG4gICAgICAgIHZhciBfID0gZVtyXSxcclxuICAgICAgICAgICAgZyA9IGVbX10sXHJcbiAgICAgICAgICAgIHYgPSBlW2ddLFxyXG4gICAgICAgICAgICB3ID0gMjU3ICogZVtwXSBeIDE2ODQzMDA4ICogcDtcclxuICAgICAgICBhW3JdID0gdyA8PCAyNCB8IHcgPj4+IDgsIHNbcl0gPSB3IDw8IDE2IHwgdyA+Pj4gMTYsIGhbcl0gPSB3IDw8IDggfCB3ID4+PiAyNCwgbFtyXSA9IHcsIHcgPSAxNjg0MzAwOSAqIHYgXiA2NTUzNyAqIGcgXiAyNTcgKiBfIF4gMTY4NDMwMDggKiByLCBmW3BdID0gdyA8PCAyNCB8IHcgPj4+IDgsIGNbcF0gPSB3IDw8IDE2IHwgdyA+Pj4gMTYsIHVbcF0gPSB3IDw8IDggfCB3ID4+PiAyNCwgZFtwXSA9IHcsIHIgPyAociA9IF8gXiBlW2VbZVt2IF4gX11dXSwgbiBePSBlW2Vbbl1dKSA6IHIgPSBuID0gMTtcclxuICAgICAgfVxyXG4gICAgfSgpO1xyXG5cclxuICAgIHZhciBwID0gWzAsIDEsIDIsIDQsIDgsIDE2LCAzMiwgNjQsIDEyOCwgMjcsIDU0XSxcclxuICAgICAgICBfID0gbi5BRVMgPSB0LmV4dGVuZCh7XHJcbiAgICAgIF9kb1Jlc2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9uUm91bmRzIHx8IHRoaXMuX2tleVByaW9yUmVzZXQgIT09IHRoaXMuX2tleSkge1xyXG4gICAgICAgICAgZm9yICh2YXIgZSA9IHRoaXMuX2tleVByaW9yUmVzZXQgPSB0aGlzLl9rZXksIHQgPSBlLndvcmRzLCByID0gZS5zaWdCeXRlcyAvIDQsIG4gPSA0ICogKCh0aGlzLl9uUm91bmRzID0gciArIDYpICsgMSksIG8gPSB0aGlzLl9rZXlTY2hlZHVsZSA9IFtdLCBhID0gMDsgYSA8IG47IGErKykgaWYgKGEgPCByKSBvW2FdID0gdFthXTtlbHNlIHtcclxuICAgICAgICAgICAgdmFyIHMgPSBvW2EgLSAxXTtcclxuICAgICAgICAgICAgYSAlIHIgPyByID4gNiAmJiBhICUgciA9PSA0ICYmIChzID0gaVtzID4+PiAyNF0gPDwgMjQgfCBpW3MgPj4+IDE2ICYgMjU1XSA8PCAxNiB8IGlbcyA+Pj4gOCAmIDI1NV0gPDwgOCB8IGlbMjU1ICYgc10pIDogKHMgPSBpWyhzID0gcyA8PCA4IHwgcyA+Pj4gMjQpID4+PiAyNF0gPDwgMjQgfCBpW3MgPj4+IDE2ICYgMjU1XSA8PCAxNiB8IGlbcyA+Pj4gOCAmIDI1NV0gPDwgOCB8IGlbMjU1ICYgc10sIHMgXj0gcFthIC8gciB8IDBdIDw8IDI0KSwgb1thXSA9IG9bYSAtIHJdIF4gcztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBmb3IgKHZhciBoID0gdGhpcy5faW52S2V5U2NoZWR1bGUgPSBbXSwgbCA9IDA7IGwgPCBuOyBsKyspIGEgPSBuIC0gbCwgcyA9IGwgJSA0ID8gb1thXSA6IG9bYSAtIDRdLCBoW2xdID0gbCA8IDQgfHwgYSA8PSA0ID8gcyA6IGZbaVtzID4+PiAyNF1dIF4gY1tpW3MgPj4+IDE2ICYgMjU1XV0gXiB1W2lbcyA+Pj4gOCAmIDI1NV1dIF4gZFtpWzI1NSAmIHNdXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVuY3J5cHRCbG9jazogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgICB0aGlzLl9kb0NyeXB0QmxvY2soZSwgdCwgdGhpcy5fa2V5U2NoZWR1bGUsIGEsIHMsIGgsIGwsIGkpO1xyXG4gICAgICB9LFxyXG4gICAgICBkZWNyeXB0QmxvY2s6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgICAgdmFyIHIgPSBlW3QgKyAxXTtcclxuICAgICAgICBlW3QgKyAxXSA9IGVbdCArIDNdLCBlW3QgKyAzXSA9IHIsIHRoaXMuX2RvQ3J5cHRCbG9jayhlLCB0LCB0aGlzLl9pbnZLZXlTY2hlZHVsZSwgZiwgYywgdSwgZCwgbyksIHIgPSBlW3QgKyAxXSwgZVt0ICsgMV0gPSBlW3QgKyAzXSwgZVt0ICsgM10gPSByO1xyXG4gICAgICB9LFxyXG4gICAgICBfZG9DcnlwdEJsb2NrOiBmdW5jdGlvbiAoZSwgdCwgciwgbiwgaSwgbywgYSwgcykge1xyXG4gICAgICAgIGZvciAodmFyIGggPSB0aGlzLl9uUm91bmRzLCBsID0gZVt0XSBeIHJbMF0sIGYgPSBlW3QgKyAxXSBeIHJbMV0sIGMgPSBlW3QgKyAyXSBeIHJbMl0sIHUgPSBlW3QgKyAzXSBeIHJbM10sIGQgPSA0LCBwID0gMTsgcCA8IGg7IHArKykge1xyXG4gICAgICAgICAgdmFyIF8gPSBuW2wgPj4+IDI0XSBeIGlbZiA+Pj4gMTYgJiAyNTVdIF4gb1tjID4+PiA4ICYgMjU1XSBeIGFbMjU1ICYgdV0gXiByW2QrK10sXHJcbiAgICAgICAgICAgICAgZyA9IG5bZiA+Pj4gMjRdIF4gaVtjID4+PiAxNiAmIDI1NV0gXiBvW3UgPj4+IDggJiAyNTVdIF4gYVsyNTUgJiBsXSBeIHJbZCsrXSxcclxuICAgICAgICAgICAgICB2ID0gbltjID4+PiAyNF0gXiBpW3UgPj4+IDE2ICYgMjU1XSBeIG9bbCA+Pj4gOCAmIDI1NV0gXiBhWzI1NSAmIGZdIF4gcltkKytdLFxyXG4gICAgICAgICAgICAgIHcgPSBuW3UgPj4+IDI0XSBeIGlbbCA+Pj4gMTYgJiAyNTVdIF4gb1tmID4+PiA4ICYgMjU1XSBeIGFbMjU1ICYgY10gXiByW2QrK107XHJcblxyXG4gICAgICAgICAgbCA9IF8sIGYgPSBnLCBjID0gdiwgdSA9IHc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBfID0gKHNbbCA+Pj4gMjRdIDw8IDI0IHwgc1tmID4+PiAxNiAmIDI1NV0gPDwgMTYgfCBzW2MgPj4+IDggJiAyNTVdIDw8IDggfCBzWzI1NSAmIHVdKSBeIHJbZCsrXSwgZyA9IChzW2YgPj4+IDI0XSA8PCAyNCB8IHNbYyA+Pj4gMTYgJiAyNTVdIDw8IDE2IHwgc1t1ID4+PiA4ICYgMjU1XSA8PCA4IHwgc1syNTUgJiBsXSkgXiByW2QrK10sIHYgPSAoc1tjID4+PiAyNF0gPDwgMjQgfCBzW3UgPj4+IDE2ICYgMjU1XSA8PCAxNiB8IHNbbCA+Pj4gOCAmIDI1NV0gPDwgOCB8IHNbMjU1ICYgZl0pIF4gcltkKytdLCB3ID0gKHNbdSA+Pj4gMjRdIDw8IDI0IHwgc1tsID4+PiAxNiAmIDI1NV0gPDwgMTYgfCBzW2YgPj4+IDggJiAyNTVdIDw8IDggfCBzWzI1NSAmIGNdKSBeIHJbZCsrXSwgZVt0XSA9IF8sIGVbdCArIDFdID0gZywgZVt0ICsgMl0gPSB2LCBlW3QgKyAzXSA9IHc7XHJcbiAgICAgIH0sXHJcbiAgICAgIGtleVNpemU6IDhcclxuICAgIH0pO1xyXG5cclxuICAgIGUuQUVTID0gdC5fY3JlYXRlSGVscGVyKF8pO1xyXG4gIH0oKSwgci5BRVMpO1xyXG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHZhciByO1xyXG4gIGUuZXhwb3J0cyA9IChyID0gZWUsIGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBlID0gcixcclxuICAgICAgICB0ID0gZS5saWIsXHJcbiAgICAgICAgbiA9IHQuV29yZEFycmF5LFxyXG4gICAgICAgIGkgPSB0LkJsb2NrQ2lwaGVyLFxyXG4gICAgICAgIG8gPSBlLmFsZ28sXHJcbiAgICAgICAgYSA9IFs1NywgNDksIDQxLCAzMywgMjUsIDE3LCA5LCAxLCA1OCwgNTAsIDQyLCAzNCwgMjYsIDE4LCAxMCwgMiwgNTksIDUxLCA0MywgMzUsIDI3LCAxOSwgMTEsIDMsIDYwLCA1MiwgNDQsIDM2LCA2MywgNTUsIDQ3LCAzOSwgMzEsIDIzLCAxNSwgNywgNjIsIDU0LCA0NiwgMzgsIDMwLCAyMiwgMTQsIDYsIDYxLCA1MywgNDUsIDM3LCAyOSwgMjEsIDEzLCA1LCAyOCwgMjAsIDEyLCA0XSxcclxuICAgICAgICBzID0gWzE0LCAxNywgMTEsIDI0LCAxLCA1LCAzLCAyOCwgMTUsIDYsIDIxLCAxMCwgMjMsIDE5LCAxMiwgNCwgMjYsIDgsIDE2LCA3LCAyNywgMjAsIDEzLCAyLCA0MSwgNTIsIDMxLCAzNywgNDcsIDU1LCAzMCwgNDAsIDUxLCA0NSwgMzMsIDQ4LCA0NCwgNDksIDM5LCA1NiwgMzQsIDUzLCA0NiwgNDIsIDUwLCAzNiwgMjksIDMyXSxcclxuICAgICAgICBoID0gWzEsIDIsIDQsIDYsIDgsIDEwLCAxMiwgMTQsIDE1LCAxNywgMTksIDIxLCAyMywgMjUsIDI3LCAyOF0sXHJcbiAgICAgICAgbCA9IFt7XHJcbiAgICAgIDA6IDg0MjE4ODgsXHJcbiAgICAgIDI2ODQzNTQ1NjogMzI3NjgsXHJcbiAgICAgIDUzNjg3MDkxMjogODQyMTM3OCxcclxuICAgICAgODA1MzA2MzY4OiAyLFxyXG4gICAgICAxMDczNzQxODI0OiA1MTIsXHJcbiAgICAgIDEzNDIxNzcyODA6IDg0MjE4OTAsXHJcbiAgICAgIDE2MTA2MTI3MzY6IDgzODkxMjIsXHJcbiAgICAgIDE4NzkwNDgxOTI6IDgzODg2MDgsXHJcbiAgICAgIDIxNDc0ODM2NDg6IDUxNCxcclxuICAgICAgMjQxNTkxOTEwNDogODM4OTEyMCxcclxuICAgICAgMjY4NDM1NDU2MDogMzMyODAsXHJcbiAgICAgIDI5NTI3OTAwMTY6IDg0MjEzNzYsXHJcbiAgICAgIDMyMjEyMjU0NzI6IDMyNzcwLFxyXG4gICAgICAzNDg5NjYwOTI4OiA4Mzg4NjEwLFxyXG4gICAgICAzNzU4MDk2Mzg0OiAwLFxyXG4gICAgICA0MDI2NTMxODQwOiAzMzI4MixcclxuICAgICAgMTM0MjE3NzI4OiAwLFxyXG4gICAgICA0MDI2NTMxODQ6IDg0MjE4OTAsXHJcbiAgICAgIDY3MTA4ODY0MDogMzMyODIsXHJcbiAgICAgIDkzOTUyNDA5NjogMzI3NjgsXHJcbiAgICAgIDEyMDc5NTk1NTI6IDg0MjE4ODgsXHJcbiAgICAgIDE0NzYzOTUwMDg6IDUxMixcclxuICAgICAgMTc0NDgzMDQ2NDogODQyMTM3OCxcclxuICAgICAgMjAxMzI2NTkyMDogMixcclxuICAgICAgMjI4MTcwMTM3NjogODM4OTEyMCxcclxuICAgICAgMjU1MDEzNjgzMjogMzMyODAsXHJcbiAgICAgIDI4MTg1NzIyODg6IDg0MjEzNzYsXHJcbiAgICAgIDMwODcwMDc3NDQ6IDgzODkxMjIsXHJcbiAgICAgIDMzNTU0NDMyMDA6IDgzODg2MTAsXHJcbiAgICAgIDM2MjM4Nzg2NTY6IDMyNzcwLFxyXG4gICAgICAzODkyMzE0MTEyOiA1MTQsXHJcbiAgICAgIDQxNjA3NDk1Njg6IDgzODg2MDgsXHJcbiAgICAgIDE6IDMyNzY4LFxyXG4gICAgICAyNjg0MzU0NTc6IDIsXHJcbiAgICAgIDUzNjg3MDkxMzogODQyMTg4OCxcclxuICAgICAgODA1MzA2MzY5OiA4Mzg4NjA4LFxyXG4gICAgICAxMDczNzQxODI1OiA4NDIxMzc4LFxyXG4gICAgICAxMzQyMTc3MjgxOiAzMzI4MCxcclxuICAgICAgMTYxMDYxMjczNzogNTEyLFxyXG4gICAgICAxODc5MDQ4MTkzOiA4Mzg5MTIyLFxyXG4gICAgICAyMTQ3NDgzNjQ5OiA4NDIxODkwLFxyXG4gICAgICAyNDE1OTE5MTA1OiA4NDIxMzc2LFxyXG4gICAgICAyNjg0MzU0NTYxOiA4Mzg4NjEwLFxyXG4gICAgICAyOTUyNzkwMDE3OiAzMzI4MixcclxuICAgICAgMzIyMTIyNTQ3MzogNTE0LFxyXG4gICAgICAzNDg5NjYwOTI5OiA4Mzg5MTIwLFxyXG4gICAgICAzNzU4MDk2Mzg1OiAzMjc3MCxcclxuICAgICAgNDAyNjUzMTg0MTogMCxcclxuICAgICAgMTM0MjE3NzI5OiA4NDIxODkwLFxyXG4gICAgICA0MDI2NTMxODU6IDg0MjEzNzYsXHJcbiAgICAgIDY3MTA4ODY0MTogODM4ODYwOCxcclxuICAgICAgOTM5NTI0MDk3OiA1MTIsXHJcbiAgICAgIDEyMDc5NTk1NTM6IDMyNzY4LFxyXG4gICAgICAxNDc2Mzk1MDA5OiA4Mzg4NjEwLFxyXG4gICAgICAxNzQ0ODMwNDY1OiAyLFxyXG4gICAgICAyMDEzMjY1OTIxOiAzMzI4MixcclxuICAgICAgMjI4MTcwMTM3NzogMzI3NzAsXHJcbiAgICAgIDI1NTAxMzY4MzM6IDgzODkxMjIsXHJcbiAgICAgIDI4MTg1NzIyODk6IDUxNCxcclxuICAgICAgMzA4NzAwNzc0NTogODQyMTg4OCxcclxuICAgICAgMzM1NTQ0MzIwMTogODM4OTEyMCxcclxuICAgICAgMzYyMzg3ODY1NzogMCxcclxuICAgICAgMzg5MjMxNDExMzogMzMyODAsXHJcbiAgICAgIDQxNjA3NDk1Njk6IDg0MjEzNzhcclxuICAgIH0sIHtcclxuICAgICAgMDogMTA3NDI4MjUxMixcclxuICAgICAgMTY3NzcyMTY6IDE2Mzg0LFxyXG4gICAgICAzMzU1NDQzMjogNTI0Mjg4LFxyXG4gICAgICA1MDMzMTY0ODogMTA3NDI2NjEyOCxcclxuICAgICAgNjcxMDg4NjQ6IDEwNzM3NDE4NDAsXHJcbiAgICAgIDgzODg2MDgwOiAxMDc0MjgyNDk2LFxyXG4gICAgICAxMDA2NjMyOTY6IDEwNzM3NTgyMDgsXHJcbiAgICAgIDExNzQ0MDUxMjogMTYsXHJcbiAgICAgIDEzNDIxNzcyODogNTQwNjcyLFxyXG4gICAgICAxNTA5OTQ5NDQ6IDEwNzM3NTgyMjQsXHJcbiAgICAgIDE2Nzc3MjE2MDogMTA3Mzc0MTgyNCxcclxuICAgICAgMTg0NTQ5Mzc2OiA1NDA2ODgsXHJcbiAgICAgIDIwMTMyNjU5MjogNTI0MzA0LFxyXG4gICAgICAyMTgxMDM4MDg6IDAsXHJcbiAgICAgIDIzNDg4MTAyNDogMTY0MDAsXHJcbiAgICAgIDI1MTY1ODI0MDogMTA3NDI2NjExMixcclxuICAgICAgODM4ODYwODogMTA3Mzc1ODIwOCxcclxuICAgICAgMjUxNjU4MjQ6IDU0MDY4OCxcclxuICAgICAgNDE5NDMwNDA6IDE2LFxyXG4gICAgICA1ODcyMDI1NjogMTA3Mzc1ODIyNCxcclxuICAgICAgNzU0OTc0NzI6IDEwNzQyODI1MTIsXHJcbiAgICAgIDkyMjc0Njg4OiAxMDczNzQxODI0LFxyXG4gICAgICAxMDkwNTE5MDQ6IDUyNDI4OCxcclxuICAgICAgMTI1ODI5MTIwOiAxMDc0MjY2MTI4LFxyXG4gICAgICAxNDI2MDYzMzY6IDUyNDMwNCxcclxuICAgICAgMTU5MzgzNTUyOiAwLFxyXG4gICAgICAxNzYxNjA3Njg6IDE2Mzg0LFxyXG4gICAgICAxOTI5Mzc5ODQ6IDEwNzQyNjYxMTIsXHJcbiAgICAgIDIwOTcxNTIwMDogMTA3Mzc0MTg0MCxcclxuICAgICAgMjI2NDkyNDE2OiA1NDA2NzIsXHJcbiAgICAgIDI0MzI2OTYzMjogMTA3NDI4MjQ5NixcclxuICAgICAgMjYwMDQ2ODQ4OiAxNjQwMCxcclxuICAgICAgMjY4NDM1NDU2OiAwLFxyXG4gICAgICAyODUyMTI2NzI6IDEwNzQyNjYxMjgsXHJcbiAgICAgIDMwMTk4OTg4ODogMTA3Mzc1ODIyNCxcclxuICAgICAgMzE4NzY3MTA0OiAxMDc0MjgyNDk2LFxyXG4gICAgICAzMzU1NDQzMjA6IDEwNzQyNjYxMTIsXHJcbiAgICAgIDM1MjMyMTUzNjogMTYsXHJcbiAgICAgIDM2OTA5ODc1MjogNTQwNjg4LFxyXG4gICAgICAzODU4NzU5Njg6IDE2Mzg0LFxyXG4gICAgICA0MDI2NTMxODQ6IDE2NDAwLFxyXG4gICAgICA0MTk0MzA0MDA6IDUyNDI4OCxcclxuICAgICAgNDM2MjA3NjE2OiA1MjQzMDQsXHJcbiAgICAgIDQ1Mjk4NDgzMjogMTA3Mzc0MTg0MCxcclxuICAgICAgNDY5NzYyMDQ4OiA1NDA2NzIsXHJcbiAgICAgIDQ4NjUzOTI2NDogMTA3Mzc1ODIwOCxcclxuICAgICAgNTAzMzE2NDgwOiAxMDczNzQxODI0LFxyXG4gICAgICA1MjAwOTM2OTY6IDEwNzQyODI1MTIsXHJcbiAgICAgIDI3NjgyNDA2NDogNTQwNjg4LFxyXG4gICAgICAyOTM2MDEyODA6IDUyNDI4OCxcclxuICAgICAgMzEwMzc4NDk2OiAxMDc0MjY2MTEyLFxyXG4gICAgICAzMjcxNTU3MTI6IDE2Mzg0LFxyXG4gICAgICAzNDM5MzI5Mjg6IDEwNzM3NTgyMDgsXHJcbiAgICAgIDM2MDcxMDE0NDogMTA3NDI4MjUxMixcclxuICAgICAgMzc3NDg3MzYwOiAxNixcclxuICAgICAgMzk0MjY0NTc2OiAxMDczNzQxODI0LFxyXG4gICAgICA0MTEwNDE3OTI6IDEwNzQyODI0OTYsXHJcbiAgICAgIDQyNzgxOTAwODogMTA3Mzc0MTg0MCxcclxuICAgICAgNDQ0NTk2MjI0OiAxMDczNzU4MjI0LFxyXG4gICAgICA0NjEzNzM0NDA6IDUyNDMwNCxcclxuICAgICAgNDc4MTUwNjU2OiAwLFxyXG4gICAgICA0OTQ5Mjc4NzI6IDE2NDAwLFxyXG4gICAgICA1MTE3MDUwODg6IDEwNzQyNjYxMjgsXHJcbiAgICAgIDUyODQ4MjMwNDogNTQwNjcyXHJcbiAgICB9LCB7XHJcbiAgICAgIDA6IDI2MCxcclxuICAgICAgMTA0ODU3NjogMCxcclxuICAgICAgMjA5NzE1MjogNjcxMDkxMjAsXHJcbiAgICAgIDMxNDU3Mjg6IDY1Nzk2LFxyXG4gICAgICA0MTk0MzA0OiA2NTU0MCxcclxuICAgICAgNTI0Mjg4MDogNjcxMDg4NjgsXHJcbiAgICAgIDYyOTE0NTY6IDY3MTc0NjYwLFxyXG4gICAgICA3MzQwMDMyOiA2NzE3NDQwMCxcclxuICAgICAgODM4ODYwODogNjcxMDg4NjQsXHJcbiAgICAgIDk0MzcxODQ6IDY3MTc0NjU2LFxyXG4gICAgICAxMDQ4NTc2MDogNjU3OTIsXHJcbiAgICAgIDExNTM0MzM2OiA2NzE3NDQwNCxcclxuICAgICAgMTI1ODI5MTI6IDY3MTA5MTI0LFxyXG4gICAgICAxMzYzMTQ4ODogNjU1MzYsXHJcbiAgICAgIDE0NjgwMDY0OiA0LFxyXG4gICAgICAxNTcyODY0MDogMjU2LFxyXG4gICAgICA1MjQyODg6IDY3MTc0NjU2LFxyXG4gICAgICAxNTcyODY0OiA2NzE3NDQwNCxcclxuICAgICAgMjYyMTQ0MDogMCxcclxuICAgICAgMzY3MDAxNjogNjcxMDkxMjAsXHJcbiAgICAgIDQ3MTg1OTI6IDY3MTA4ODY4LFxyXG4gICAgICA1NzY3MTY4OiA2NTUzNixcclxuICAgICAgNjgxNTc0NDogNjU1NDAsXHJcbiAgICAgIDc4NjQzMjA6IDI2MCxcclxuICAgICAgODkxMjg5NjogNCxcclxuICAgICAgOTk2MTQ3MjogMjU2LFxyXG4gICAgICAxMTAxMDA0ODogNjcxNzQ0MDAsXHJcbiAgICAgIDEyMDU4NjI0OiA2NTc5NixcclxuICAgICAgMTMxMDcyMDA6IDY1NzkyLFxyXG4gICAgICAxNDE1NTc3NjogNjcxMDkxMjQsXHJcbiAgICAgIDE1MjA0MzUyOiA2NzE3NDY2MCxcclxuICAgICAgMTYyNTI5Mjg6IDY3MTA4ODY0LFxyXG4gICAgICAxNjc3NzIxNjogNjcxNzQ2NTYsXHJcbiAgICAgIDE3ODI1NzkyOiA2NTU0MCxcclxuICAgICAgMTg4NzQzNjg6IDY1NTM2LFxyXG4gICAgICAxOTkyMjk0NDogNjcxMDkxMjAsXHJcbiAgICAgIDIwOTcxNTIwOiAyNTYsXHJcbiAgICAgIDIyMDIwMDk2OiA2NzE3NDY2MCxcclxuICAgICAgMjMwNjg2NzI6IDY3MTA4ODY4LFxyXG4gICAgICAyNDExNzI0ODogMCxcclxuICAgICAgMjUxNjU4MjQ6IDY3MTA5MTI0LFxyXG4gICAgICAyNjIxNDQwMDogNjcxMDg4NjQsXHJcbiAgICAgIDI3MjYyOTc2OiA0LFxyXG4gICAgICAyODMxMTU1MjogNjU3OTIsXHJcbiAgICAgIDI5MzYwMTI4OiA2NzE3NDQwMCxcclxuICAgICAgMzA0MDg3MDQ6IDI2MCxcclxuICAgICAgMzE0NTcyODA6IDY1Nzk2LFxyXG4gICAgICAzMjUwNTg1NjogNjcxNzQ0MDQsXHJcbiAgICAgIDE3MzAxNTA0OiA2NzEwODg2NCxcclxuICAgICAgMTgzNTAwODA6IDI2MCxcclxuICAgICAgMTkzOTg2NTY6IDY3MTc0NjU2LFxyXG4gICAgICAyMDQ0NzIzMjogMCxcclxuICAgICAgMjE0OTU4MDg6IDY1NTQwLFxyXG4gICAgICAyMjU0NDM4NDogNjcxMDkxMjAsXHJcbiAgICAgIDIzNTkyOTYwOiAyNTYsXHJcbiAgICAgIDI0NjQxNTM2OiA2NzE3NDQwNCxcclxuICAgICAgMjU2OTAxMTI6IDY1NTM2LFxyXG4gICAgICAyNjczODY4ODogNjcxNzQ2NjAsXHJcbiAgICAgIDI3Nzg3MjY0OiA2NTc5NixcclxuICAgICAgMjg4MzU4NDA6IDY3MTA4ODY4LFxyXG4gICAgICAyOTg4NDQxNjogNjcxMDkxMjQsXHJcbiAgICAgIDMwOTMyOTkyOiA2NzE3NDQwMCxcclxuICAgICAgMzE5ODE1Njg6IDQsXHJcbiAgICAgIDMzMDMwMTQ0OiA2NTc5MlxyXG4gICAgfSwge1xyXG4gICAgICAwOiAyMTUxNjgyMDQ4LFxyXG4gICAgICA2NTUzNjogMjE0NzQ4NzgwOCxcclxuICAgICAgMTMxMDcyOiA0MTk4NDY0LFxyXG4gICAgICAxOTY2MDg6IDIxNTE2Nzc5NTIsXHJcbiAgICAgIDI2MjE0NDogMCxcclxuICAgICAgMzI3NjgwOiA0MTk4NDAwLFxyXG4gICAgICAzOTMyMTY6IDIxNDc0ODM3MTIsXHJcbiAgICAgIDQ1ODc1MjogNDE5NDM2OCxcclxuICAgICAgNTI0Mjg4OiAyMTQ3NDgzNjQ4LFxyXG4gICAgICA1ODk4MjQ6IDQxOTQzMDQsXHJcbiAgICAgIDY1NTM2MDogNjQsXHJcbiAgICAgIDcyMDg5NjogMjE0NzQ4Nzc0NCxcclxuICAgICAgNzg2NDMyOiAyMTUxNjc4MDE2LFxyXG4gICAgICA4NTE5Njg6IDQxNjAsXHJcbiAgICAgIDkxNzUwNDogNDA5NixcclxuICAgICAgOTgzMDQwOiAyMTUxNjgyMTEyLFxyXG4gICAgICAzMjc2ODogMjE0NzQ4NzgwOCxcclxuICAgICAgOTgzMDQ6IDY0LFxyXG4gICAgICAxNjM4NDA6IDIxNTE2NzgwMTYsXHJcbiAgICAgIDIyOTM3NjogMjE0NzQ4Nzc0NCxcclxuICAgICAgMjk0OTEyOiA0MTk4NDAwLFxyXG4gICAgICAzNjA0NDg6IDIxNTE2ODIxMTIsXHJcbiAgICAgIDQyNTk4NDogMCxcclxuICAgICAgNDkxNTIwOiAyMTUxNjc3OTUyLFxyXG4gICAgICA1NTcwNTY6IDQwOTYsXHJcbiAgICAgIDYyMjU5MjogMjE1MTY4MjA0OCxcclxuICAgICAgNjg4MTI4OiA0MTk0MzA0LFxyXG4gICAgICA3NTM2NjQ6IDQxNjAsXHJcbiAgICAgIDgxOTIwMDogMjE0NzQ4MzY0OCxcclxuICAgICAgODg0NzM2OiA0MTk0MzY4LFxyXG4gICAgICA5NTAyNzI6IDQxOTg0NjQsXHJcbiAgICAgIDEwMTU4MDg6IDIxNDc0ODM3MTIsXHJcbiAgICAgIDEwNDg1NzY6IDQxOTQzNjgsXHJcbiAgICAgIDExMTQxMTI6IDQxOTg0MDAsXHJcbiAgICAgIDExNzk2NDg6IDIxNDc0ODM3MTIsXHJcbiAgICAgIDEyNDUxODQ6IDAsXHJcbiAgICAgIDEzMTA3MjA6IDQxNjAsXHJcbiAgICAgIDEzNzYyNTY6IDIxNTE2NzgwMTYsXHJcbiAgICAgIDE0NDE3OTI6IDIxNTE2ODIwNDgsXHJcbiAgICAgIDE1MDczMjg6IDIxNDc0ODc4MDgsXHJcbiAgICAgIDE1NzI4NjQ6IDIxNTE2ODIxMTIsXHJcbiAgICAgIDE2Mzg0MDA6IDIxNDc0ODM2NDgsXHJcbiAgICAgIDE3MDM5MzY6IDIxNTE2Nzc5NTIsXHJcbiAgICAgIDE3Njk0NzI6IDQxOTg0NjQsXHJcbiAgICAgIDE4MzUwMDg6IDIxNDc0ODc3NDQsXHJcbiAgICAgIDE5MDA1NDQ6IDQxOTQzMDQsXHJcbiAgICAgIDE5NjYwODA6IDY0LFxyXG4gICAgICAyMDMxNjE2OiA0MDk2LFxyXG4gICAgICAxMDgxMzQ0OiAyMTUxNjc3OTUyLFxyXG4gICAgICAxMTQ2ODgwOiAyMTUxNjgyMTEyLFxyXG4gICAgICAxMjEyNDE2OiAwLFxyXG4gICAgICAxMjc3OTUyOiA0MTk4NDAwLFxyXG4gICAgICAxMzQzNDg4OiA0MTk0MzY4LFxyXG4gICAgICAxNDA5MDI0OiAyMTQ3NDgzNjQ4LFxyXG4gICAgICAxNDc0NTYwOiAyMTQ3NDg3ODA4LFxyXG4gICAgICAxNTQwMDk2OiA2NCxcclxuICAgICAgMTYwNTYzMjogMjE0NzQ4MzcxMixcclxuICAgICAgMTY3MTE2ODogNDA5NixcclxuICAgICAgMTczNjcwNDogMjE0NzQ4Nzc0NCxcclxuICAgICAgMTgwMjI0MDogMjE1MTY3ODAxNixcclxuICAgICAgMTg2Nzc3NjogNDE2MCxcclxuICAgICAgMTkzMzMxMjogMjE1MTY4MjA0OCxcclxuICAgICAgMTk5ODg0ODogNDE5NDMwNCxcclxuICAgICAgMjA2NDM4NDogNDE5ODQ2NFxyXG4gICAgfSwge1xyXG4gICAgICAwOiAxMjgsXHJcbiAgICAgIDQwOTY6IDE3MDM5MzYwLFxyXG4gICAgICA4MTkyOiAyNjIxNDQsXHJcbiAgICAgIDEyMjg4OiA1MzY4NzA5MTIsXHJcbiAgICAgIDE2Mzg0OiA1MzcxMzMxODQsXHJcbiAgICAgIDIwNDgwOiAxNjc3NzM0NCxcclxuICAgICAgMjQ1NzY6IDU1MzY0ODI1NixcclxuICAgICAgMjg2NzI6IDI2MjI3MixcclxuICAgICAgMzI3Njg6IDE2Nzc3MjE2LFxyXG4gICAgICAzNjg2NDogNTM3MTMzMDU2LFxyXG4gICAgICA0MDk2MDogNTM2ODcxMDQwLFxyXG4gICAgICA0NTA1NjogNTUzOTEwNDAwLFxyXG4gICAgICA0OTE1MjogNTUzOTEwMjcyLFxyXG4gICAgICA1MzI0ODogMCxcclxuICAgICAgNTczNDQ6IDE3MDM5NDg4LFxyXG4gICAgICA2MTQ0MDogNTUzNjQ4MTI4LFxyXG4gICAgICAyMDQ4OiAxNzAzOTQ4OCxcclxuICAgICAgNjE0NDogNTUzNjQ4MjU2LFxyXG4gICAgICAxMDI0MDogMTI4LFxyXG4gICAgICAxNDMzNjogMTcwMzkzNjAsXHJcbiAgICAgIDE4NDMyOiAyNjIxNDQsXHJcbiAgICAgIDIyNTI4OiA1MzcxMzMxODQsXHJcbiAgICAgIDI2NjI0OiA1NTM5MTAyNzIsXHJcbiAgICAgIDMwNzIwOiA1MzY4NzA5MTIsXHJcbiAgICAgIDM0ODE2OiA1MzcxMzMwNTYsXHJcbiAgICAgIDM4OTEyOiAwLFxyXG4gICAgICA0MzAwODogNTUzOTEwNDAwLFxyXG4gICAgICA0NzEwNDogMTY3NzczNDQsXHJcbiAgICAgIDUxMjAwOiA1MzY4NzEwNDAsXHJcbiAgICAgIDU1Mjk2OiA1NTM2NDgxMjgsXHJcbiAgICAgIDU5MzkyOiAxNjc3NzIxNixcclxuICAgICAgNjM0ODg6IDI2MjI3MixcclxuICAgICAgNjU1MzY6IDI2MjE0NCxcclxuICAgICAgNjk2MzI6IDEyOCxcclxuICAgICAgNzM3Mjg6IDUzNjg3MDkxMixcclxuICAgICAgNzc4MjQ6IDU1MzY0ODI1NixcclxuICAgICAgODE5MjA6IDE2Nzc3MzQ0LFxyXG4gICAgICA4NjAxNjogNTUzOTEwMjcyLFxyXG4gICAgICA5MDExMjogNTM3MTMzMTg0LFxyXG4gICAgICA5NDIwODogMTY3NzcyMTYsXHJcbiAgICAgIDk4MzA0OiA1NTM5MTA0MDAsXHJcbiAgICAgIDEwMjQwMDogNTUzNjQ4MTI4LFxyXG4gICAgICAxMDY0OTY6IDE3MDM5MzYwLFxyXG4gICAgICAxMTA1OTI6IDUzNzEzMzA1NixcclxuICAgICAgMTE0Njg4OiAyNjIyNzIsXHJcbiAgICAgIDExODc4NDogNTM2ODcxMDQwLFxyXG4gICAgICAxMjI4ODA6IDAsXHJcbiAgICAgIDEyNjk3NjogMTcwMzk0ODgsXHJcbiAgICAgIDY3NTg0OiA1NTM2NDgyNTYsXHJcbiAgICAgIDcxNjgwOiAxNjc3NzIxNixcclxuICAgICAgNzU3NzY6IDE3MDM5MzYwLFxyXG4gICAgICA3OTg3MjogNTM3MTMzMTg0LFxyXG4gICAgICA4Mzk2ODogNTM2ODcwOTEyLFxyXG4gICAgICA4ODA2NDogMTcwMzk0ODgsXHJcbiAgICAgIDkyMTYwOiAxMjgsXHJcbiAgICAgIDk2MjU2OiA1NTM5MTAyNzIsXHJcbiAgICAgIDEwMDM1MjogMjYyMjcyLFxyXG4gICAgICAxMDQ0NDg6IDU1MzkxMDQwMCxcclxuICAgICAgMTA4NTQ0OiAwLFxyXG4gICAgICAxMTI2NDA6IDU1MzY0ODEyOCxcclxuICAgICAgMTE2NzM2OiAxNjc3NzM0NCxcclxuICAgICAgMTIwODMyOiAyNjIxNDQsXHJcbiAgICAgIDEyNDkyODogNTM3MTMzMDU2LFxyXG4gICAgICAxMjkwMjQ6IDUzNjg3MTA0MFxyXG4gICAgfSwge1xyXG4gICAgICAwOiAyNjg0MzU0NjQsXHJcbiAgICAgIDI1NjogODE5MixcclxuICAgICAgNTEyOiAyNzA1MzI2MDgsXHJcbiAgICAgIDc2ODogMjcwNTQwODA4LFxyXG4gICAgICAxMDI0OiAyNjg0NDM2NDgsXHJcbiAgICAgIDEyODA6IDIwOTcxNTIsXHJcbiAgICAgIDE1MzY6IDIwOTcxNjAsXHJcbiAgICAgIDE3OTI6IDI2ODQzNTQ1NixcclxuICAgICAgMjA0ODogMCxcclxuICAgICAgMjMwNDogMjY4NDQzNjU2LFxyXG4gICAgICAyNTYwOiAyMTA1MzQ0LFxyXG4gICAgICAyODE2OiA4LFxyXG4gICAgICAzMDcyOiAyNzA1MzI2MTYsXHJcbiAgICAgIDMzMjg6IDIxMDUzNTIsXHJcbiAgICAgIDM1ODQ6IDgyMDAsXHJcbiAgICAgIDM4NDA6IDI3MDU0MDgwMCxcclxuICAgICAgMTI4OiAyNzA1MzI2MDgsXHJcbiAgICAgIDM4NDogMjcwNTQwODA4LFxyXG4gICAgICA2NDA6IDgsXHJcbiAgICAgIDg5NjogMjA5NzE1MixcclxuICAgICAgMTE1MjogMjEwNTM1MixcclxuICAgICAgMTQwODogMjY4NDM1NDY0LFxyXG4gICAgICAxNjY0OiAyNjg0NDM2NDgsXHJcbiAgICAgIDE5MjA6IDgyMDAsXHJcbiAgICAgIDIxNzY6IDIwOTcxNjAsXHJcbiAgICAgIDI0MzI6IDgxOTIsXHJcbiAgICAgIDI2ODg6IDI2ODQ0MzY1NixcclxuICAgICAgMjk0NDogMjcwNTMyNjE2LFxyXG4gICAgICAzMjAwOiAwLFxyXG4gICAgICAzNDU2OiAyNzA1NDA4MDAsXHJcbiAgICAgIDM3MTI6IDIxMDUzNDQsXHJcbiAgICAgIDM5Njg6IDI2ODQzNTQ1NixcclxuICAgICAgNDA5NjogMjY4NDQzNjQ4LFxyXG4gICAgICA0MzUyOiAyNzA1MzI2MTYsXHJcbiAgICAgIDQ2MDg6IDI3MDU0MDgwOCxcclxuICAgICAgNDg2NDogODIwMCxcclxuICAgICAgNTEyMDogMjA5NzE1MixcclxuICAgICAgNTM3NjogMjY4NDM1NDU2LFxyXG4gICAgICA1NjMyOiAyNjg0MzU0NjQsXHJcbiAgICAgIDU4ODg6IDIxMDUzNDQsXHJcbiAgICAgIDYxNDQ6IDIxMDUzNTIsXHJcbiAgICAgIDY0MDA6IDAsXHJcbiAgICAgIDY2NTY6IDgsXHJcbiAgICAgIDY5MTI6IDI3MDUzMjYwOCxcclxuICAgICAgNzE2ODogODE5MixcclxuICAgICAgNzQyNDogMjY4NDQzNjU2LFxyXG4gICAgICA3NjgwOiAyNzA1NDA4MDAsXHJcbiAgICAgIDc5MzY6IDIwOTcxNjAsXHJcbiAgICAgIDQyMjQ6IDgsXHJcbiAgICAgIDQ0ODA6IDIxMDUzNDQsXHJcbiAgICAgIDQ3MzY6IDIwOTcxNTIsXHJcbiAgICAgIDQ5OTI6IDI2ODQzNTQ2NCxcclxuICAgICAgNTI0ODogMjY4NDQzNjQ4LFxyXG4gICAgICA1NTA0OiA4MjAwLFxyXG4gICAgICA1NzYwOiAyNzA1NDA4MDgsXHJcbiAgICAgIDYwMTY6IDI3MDUzMjYwOCxcclxuICAgICAgNjI3MjogMjcwNTQwODAwLFxyXG4gICAgICA2NTI4OiAyNzA1MzI2MTYsXHJcbiAgICAgIDY3ODQ6IDgxOTIsXHJcbiAgICAgIDcwNDA6IDIxMDUzNTIsXHJcbiAgICAgIDcyOTY6IDIwOTcxNjAsXHJcbiAgICAgIDc1NTI6IDAsXHJcbiAgICAgIDc4MDg6IDI2ODQzNTQ1NixcclxuICAgICAgODA2NDogMjY4NDQzNjU2XHJcbiAgICB9LCB7XHJcbiAgICAgIDA6IDEwNDg1NzYsXHJcbiAgICAgIDE2OiAzMzU1NTQ1NyxcclxuICAgICAgMzI6IDEwMjQsXHJcbiAgICAgIDQ4OiAxMDQ5NjAxLFxyXG4gICAgICA2NDogMzQ2MDQwMzMsXHJcbiAgICAgIDgwOiAwLFxyXG4gICAgICA5NjogMSxcclxuICAgICAgMTEyOiAzNDYwMzAwOSxcclxuICAgICAgMTI4OiAzMzU1NTQ1NixcclxuICAgICAgMTQ0OiAxMDQ4NTc3LFxyXG4gICAgICAxNjA6IDMzNTU0NDMzLFxyXG4gICAgICAxNzY6IDM0NjA0MDMyLFxyXG4gICAgICAxOTI6IDM0NjAzMDA4LFxyXG4gICAgICAyMDg6IDEwMjUsXHJcbiAgICAgIDIyNDogMTA0OTYwMCxcclxuICAgICAgMjQwOiAzMzU1NDQzMixcclxuICAgICAgODogMzQ2MDMwMDksXHJcbiAgICAgIDI0OiAwLFxyXG4gICAgICA0MDogMzM1NTU0NTcsXHJcbiAgICAgIDU2OiAzNDYwNDAzMixcclxuICAgICAgNzI6IDEwNDg1NzYsXHJcbiAgICAgIDg4OiAzMzU1NDQzMyxcclxuICAgICAgMTA0OiAzMzU1NDQzMixcclxuICAgICAgMTIwOiAxMDI1LFxyXG4gICAgICAxMzY6IDEwNDk2MDEsXHJcbiAgICAgIDE1MjogMzM1NTU0NTYsXHJcbiAgICAgIDE2ODogMzQ2MDMwMDgsXHJcbiAgICAgIDE4NDogMTA0ODU3NyxcclxuICAgICAgMjAwOiAxMDI0LFxyXG4gICAgICAyMTY6IDM0NjA0MDMzLFxyXG4gICAgICAyMzI6IDEsXHJcbiAgICAgIDI0ODogMTA0OTYwMCxcclxuICAgICAgMjU2OiAzMzU1NDQzMixcclxuICAgICAgMjcyOiAxMDQ4NTc2LFxyXG4gICAgICAyODg6IDMzNTU1NDU3LFxyXG4gICAgICAzMDQ6IDM0NjAzMDA5LFxyXG4gICAgICAzMjA6IDEwNDg1NzcsXHJcbiAgICAgIDMzNjogMzM1NTU0NTYsXHJcbiAgICAgIDM1MjogMzQ2MDQwMzIsXHJcbiAgICAgIDM2ODogMTA0OTYwMSxcclxuICAgICAgMzg0OiAxMDI1LFxyXG4gICAgICA0MDA6IDM0NjA0MDMzLFxyXG4gICAgICA0MTY6IDEwNDk2MDAsXHJcbiAgICAgIDQzMjogMSxcclxuICAgICAgNDQ4OiAwLFxyXG4gICAgICA0NjQ6IDM0NjAzMDA4LFxyXG4gICAgICA0ODA6IDMzNTU0NDMzLFxyXG4gICAgICA0OTY6IDEwMjQsXHJcbiAgICAgIDI2NDogMTA0OTYwMCxcclxuICAgICAgMjgwOiAzMzU1NTQ1NyxcclxuICAgICAgMjk2OiAzNDYwMzAwOSxcclxuICAgICAgMzEyOiAxLFxyXG4gICAgICAzMjg6IDMzNTU0NDMyLFxyXG4gICAgICAzNDQ6IDEwNDg1NzYsXHJcbiAgICAgIDM2MDogMTAyNSxcclxuICAgICAgMzc2OiAzNDYwNDAzMixcclxuICAgICAgMzkyOiAzMzU1NDQzMyxcclxuICAgICAgNDA4OiAzNDYwMzAwOCxcclxuICAgICAgNDI0OiAwLFxyXG4gICAgICA0NDA6IDM0NjA0MDMzLFxyXG4gICAgICA0NTY6IDEwNDk2MDEsXHJcbiAgICAgIDQ3MjogMTAyNCxcclxuICAgICAgNDg4OiAzMzU1NTQ1NixcclxuICAgICAgNTA0OiAxMDQ4NTc3XHJcbiAgICB9LCB7XHJcbiAgICAgIDA6IDEzNDIxOTgwOCxcclxuICAgICAgMTogMTMxMDcyLFxyXG4gICAgICAyOiAxMzQyMTc3MjgsXHJcbiAgICAgIDM6IDMyLFxyXG4gICAgICA0OiAxMzExMDQsXHJcbiAgICAgIDU6IDEzNDM1MDg4MCxcclxuICAgICAgNjogMTM0MzUwODQ4LFxyXG4gICAgICA3OiAyMDQ4LFxyXG4gICAgICA4OiAxMzQzNDg4MDAsXHJcbiAgICAgIDk6IDEzNDIxOTc3NixcclxuICAgICAgMTA6IDEzMzEyMCxcclxuICAgICAgMTE6IDEzNDM0ODgzMixcclxuICAgICAgMTI6IDIwODAsXHJcbiAgICAgIDEzOiAwLFxyXG4gICAgICAxNDogMTM0MjE3NzYwLFxyXG4gICAgICAxNTogMTMzMTUyLFxyXG4gICAgICAyMTQ3NDgzNjQ4OiAyMDQ4LFxyXG4gICAgICAyMTQ3NDgzNjQ5OiAxMzQzNTA4ODAsXHJcbiAgICAgIDIxNDc0ODM2NTA6IDEzNDIxOTgwOCxcclxuICAgICAgMjE0NzQ4MzY1MTogMTM0MjE3NzI4LFxyXG4gICAgICAyMTQ3NDgzNjUyOiAxMzQzNDg4MDAsXHJcbiAgICAgIDIxNDc0ODM2NTM6IDEzMzEyMCxcclxuICAgICAgMjE0NzQ4MzY1NDogMTMzMTUyLFxyXG4gICAgICAyMTQ3NDgzNjU1OiAzMixcclxuICAgICAgMjE0NzQ4MzY1NjogMTM0MjE3NzYwLFxyXG4gICAgICAyMTQ3NDgzNjU3OiAyMDgwLFxyXG4gICAgICAyMTQ3NDgzNjU4OiAxMzExMDQsXHJcbiAgICAgIDIxNDc0ODM2NTk6IDEzNDM1MDg0OCxcclxuICAgICAgMjE0NzQ4MzY2MDogMCxcclxuICAgICAgMjE0NzQ4MzY2MTogMTM0MzQ4ODMyLFxyXG4gICAgICAyMTQ3NDgzNjYyOiAxMzQyMTk3NzYsXHJcbiAgICAgIDIxNDc0ODM2NjM6IDEzMTA3MixcclxuICAgICAgMTY6IDEzMzE1MixcclxuICAgICAgMTc6IDEzNDM1MDg0OCxcclxuICAgICAgMTg6IDMyLFxyXG4gICAgICAxOTogMjA0OCxcclxuICAgICAgMjA6IDEzNDIxOTc3NixcclxuICAgICAgMjE6IDEzNDIxNzc2MCxcclxuICAgICAgMjI6IDEzNDM0ODgzMixcclxuICAgICAgMjM6IDEzMTA3MixcclxuICAgICAgMjQ6IDAsXHJcbiAgICAgIDI1OiAxMzExMDQsXHJcbiAgICAgIDI2OiAxMzQzNDg4MDAsXHJcbiAgICAgIDI3OiAxMzQyMTk4MDgsXHJcbiAgICAgIDI4OiAxMzQzNTA4ODAsXHJcbiAgICAgIDI5OiAxMzMxMjAsXHJcbiAgICAgIDMwOiAyMDgwLFxyXG4gICAgICAzMTogMTM0MjE3NzI4LFxyXG4gICAgICAyMTQ3NDgzNjY0OiAxMzEwNzIsXHJcbiAgICAgIDIxNDc0ODM2NjU6IDIwNDgsXHJcbiAgICAgIDIxNDc0ODM2NjY6IDEzNDM0ODgzMixcclxuICAgICAgMjE0NzQ4MzY2NzogMTMzMTUyLFxyXG4gICAgICAyMTQ3NDgzNjY4OiAzMixcclxuICAgICAgMjE0NzQ4MzY2OTogMTM0MzQ4ODAwLFxyXG4gICAgICAyMTQ3NDgzNjcwOiAxMzQyMTc3MjgsXHJcbiAgICAgIDIxNDc0ODM2NzE6IDEzNDIxOTgwOCxcclxuICAgICAgMjE0NzQ4MzY3MjogMTM0MzUwODgwLFxyXG4gICAgICAyMTQ3NDgzNjczOiAxMzQyMTc3NjAsXHJcbiAgICAgIDIxNDc0ODM2NzQ6IDEzNDIxOTc3NixcclxuICAgICAgMjE0NzQ4MzY3NTogMCxcclxuICAgICAgMjE0NzQ4MzY3NjogMTMzMTIwLFxyXG4gICAgICAyMTQ3NDgzNjc3OiAyMDgwLFxyXG4gICAgICAyMTQ3NDgzNjc4OiAxMzExMDQsXHJcbiAgICAgIDIxNDc0ODM2Nzk6IDEzNDM1MDg0OFxyXG4gICAgfV0sXHJcbiAgICAgICAgZiA9IFs0MTYwNzQ5NTY5LCA1Mjg0ODIzMDQsIDMzMDMwMTQ0LCAyMDY0Mzg0LCAxMjkwMjQsIDgwNjQsIDUwNCwgMjE0NzQ4MzY3OV0sXHJcbiAgICAgICAgYyA9IG8uREVTID0gaS5leHRlbmQoe1xyXG4gICAgICBfZG9SZXNldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGZvciAodmFyIGUgPSB0aGlzLl9rZXkud29yZHMsIHQgPSBbXSwgciA9IDA7IHIgPCA1NjsgcisrKSB7XHJcbiAgICAgICAgICB2YXIgbiA9IGFbcl0gLSAxO1xyXG4gICAgICAgICAgdFtyXSA9IGVbbiA+Pj4gNV0gPj4+IDMxIC0gbiAlIDMyICYgMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAodmFyIGkgPSB0aGlzLl9zdWJLZXlzID0gW10sIG8gPSAwOyBvIDwgMTY7IG8rKykge1xyXG4gICAgICAgICAgdmFyIGwgPSBpW29dID0gW10sXHJcbiAgICAgICAgICAgICAgZiA9IGhbb107XHJcblxyXG4gICAgICAgICAgZm9yIChyID0gMDsgciA8IDI0OyByKyspIGxbciAvIDYgfCAwXSB8PSB0WyhzW3JdIC0gMSArIGYpICUgMjhdIDw8IDMxIC0gciAlIDYsIGxbNCArIChyIC8gNiB8IDApXSB8PSB0WzI4ICsgKHNbciArIDI0XSAtIDEgKyBmKSAlIDI4XSA8PCAzMSAtIHIgJSA2O1xyXG5cclxuICAgICAgICAgIGZvciAobFswXSA9IGxbMF0gPDwgMSB8IGxbMF0gPj4+IDMxLCByID0gMTsgciA8IDc7IHIrKykgbFtyXSA9IGxbcl0gPj4+IDQgKiAociAtIDEpICsgMztcclxuXHJcbiAgICAgICAgICBsWzddID0gbFs3XSA8PCA1IHwgbFs3XSA+Pj4gMjc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgYyA9IHRoaXMuX2ludlN1YktleXMgPSBbXTtcclxuXHJcbiAgICAgICAgZm9yIChyID0gMDsgciA8IDE2OyByKyspIGNbcl0gPSBpWzE1IC0gcl07XHJcbiAgICAgIH0sXHJcbiAgICAgIGVuY3J5cHRCbG9jazogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgICB0aGlzLl9kb0NyeXB0QmxvY2soZSwgdCwgdGhpcy5fc3ViS2V5cyk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGRlY3J5cHRCbG9jazogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgICB0aGlzLl9kb0NyeXB0QmxvY2soZSwgdCwgdGhpcy5faW52U3ViS2V5cyk7XHJcbiAgICAgIH0sXHJcbiAgICAgIF9kb0NyeXB0QmxvY2s6IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgICAgICAgdGhpcy5fbEJsb2NrID0gZVt0XSwgdGhpcy5fckJsb2NrID0gZVt0ICsgMV0sIHUuY2FsbCh0aGlzLCA0LCAyNTI2NDUxMzUpLCB1LmNhbGwodGhpcywgMTYsIDY1NTM1KSwgZC5jYWxsKHRoaXMsIDIsIDg1ODk5MzQ1OSksIGQuY2FsbCh0aGlzLCA4LCAxNjcxMTkzNSksIHUuY2FsbCh0aGlzLCAxLCAxNDMxNjU1NzY1KTtcclxuXHJcbiAgICAgICAgZm9yICh2YXIgbiA9IDA7IG4gPCAxNjsgbisrKSB7XHJcbiAgICAgICAgICBmb3IgKHZhciBpID0gcltuXSwgbyA9IHRoaXMuX2xCbG9jaywgYSA9IHRoaXMuX3JCbG9jaywgcyA9IDAsIGggPSAwOyBoIDwgODsgaCsrKSBzIHw9IGxbaF1bKChhIF4gaVtoXSkgJiBmW2hdKSA+Pj4gMF07XHJcblxyXG4gICAgICAgICAgdGhpcy5fbEJsb2NrID0gYSwgdGhpcy5fckJsb2NrID0gbyBeIHM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgYyA9IHRoaXMuX2xCbG9jaztcclxuICAgICAgICB0aGlzLl9sQmxvY2sgPSB0aGlzLl9yQmxvY2ssIHRoaXMuX3JCbG9jayA9IGMsIHUuY2FsbCh0aGlzLCAxLCAxNDMxNjU1NzY1KSwgZC5jYWxsKHRoaXMsIDgsIDE2NzExOTM1KSwgZC5jYWxsKHRoaXMsIDIsIDg1ODk5MzQ1OSksIHUuY2FsbCh0aGlzLCAxNiwgNjU1MzUpLCB1LmNhbGwodGhpcywgNCwgMjUyNjQ1MTM1KSwgZVt0XSA9IHRoaXMuX2xCbG9jaywgZVt0ICsgMV0gPSB0aGlzLl9yQmxvY2s7XHJcbiAgICAgIH0sXHJcbiAgICAgIGtleVNpemU6IDIsXHJcbiAgICAgIGl2U2l6ZTogMixcclxuICAgICAgYmxvY2tTaXplOiAyXHJcbiAgICB9KTtcclxuXHJcbiAgICBmdW5jdGlvbiB1KGUsIHQpIHtcclxuICAgICAgdmFyIHIgPSAodGhpcy5fbEJsb2NrID4+PiBlIF4gdGhpcy5fckJsb2NrKSAmIHQ7XHJcbiAgICAgIHRoaXMuX3JCbG9jayBePSByLCB0aGlzLl9sQmxvY2sgXj0gciA8PCBlO1xyXG4gICAgfVxyXG5cclxuICAgIGZ1bmN0aW9uIGQoZSwgdCkge1xyXG4gICAgICB2YXIgciA9ICh0aGlzLl9yQmxvY2sgPj4+IGUgXiB0aGlzLl9sQmxvY2spICYgdDtcclxuICAgICAgdGhpcy5fbEJsb2NrIF49IHIsIHRoaXMuX3JCbG9jayBePSByIDw8IGU7XHJcbiAgICB9XHJcblxyXG4gICAgZS5ERVMgPSBpLl9jcmVhdGVIZWxwZXIoYyk7XHJcbiAgICB2YXIgcCA9IG8uVHJpcGxlREVTID0gaS5leHRlbmQoe1xyXG4gICAgICBfZG9SZXNldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBlID0gdGhpcy5fa2V5LndvcmRzO1xyXG4gICAgICAgIHRoaXMuX2RlczEgPSBjLmNyZWF0ZUVuY3J5cHRvcihuLmNyZWF0ZShlLnNsaWNlKDAsIDIpKSksIHRoaXMuX2RlczIgPSBjLmNyZWF0ZUVuY3J5cHRvcihuLmNyZWF0ZShlLnNsaWNlKDIsIDQpKSksIHRoaXMuX2RlczMgPSBjLmNyZWF0ZUVuY3J5cHRvcihuLmNyZWF0ZShlLnNsaWNlKDQsIDYpKSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVuY3J5cHRCbG9jazogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgICB0aGlzLl9kZXMxLmVuY3J5cHRCbG9jayhlLCB0KSwgdGhpcy5fZGVzMi5kZWNyeXB0QmxvY2soZSwgdCksIHRoaXMuX2RlczMuZW5jcnlwdEJsb2NrKGUsIHQpO1xyXG4gICAgICB9LFxyXG4gICAgICBkZWNyeXB0QmxvY2s6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgICAgdGhpcy5fZGVzMy5kZWNyeXB0QmxvY2soZSwgdCksIHRoaXMuX2RlczIuZW5jcnlwdEJsb2NrKGUsIHQpLCB0aGlzLl9kZXMxLmRlY3J5cHRCbG9jayhlLCB0KTtcclxuICAgICAgfSxcclxuICAgICAga2V5U2l6ZTogNixcclxuICAgICAgaXZTaXplOiAyLFxyXG4gICAgICBibG9ja1NpemU6IDJcclxuICAgIH0pO1xyXG4gICAgZS5UcmlwbGVERVMgPSBpLl9jcmVhdGVIZWxwZXIocCk7XHJcbiAgfSgpLCByLlRyaXBsZURFUyk7XHJcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHI7XHJcbiAgZS5leHBvcnRzID0gKHIgPSBlZSwgZnVuY3Rpb24gKCkge1xyXG4gICAgdmFyIGUgPSByLFxyXG4gICAgICAgIHQgPSBlLmxpYi5TdHJlYW1DaXBoZXIsXHJcbiAgICAgICAgbiA9IGUuYWxnbyxcclxuICAgICAgICBpID0gbi5SQzQgPSB0LmV4dGVuZCh7XHJcbiAgICAgIF9kb1Jlc2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgZm9yICh2YXIgZSA9IHRoaXMuX2tleSwgdCA9IGUud29yZHMsIHIgPSBlLnNpZ0J5dGVzLCBuID0gdGhpcy5fUyA9IFtdLCBpID0gMDsgaSA8IDI1NjsgaSsrKSBuW2ldID0gaTtcclxuXHJcbiAgICAgICAgaSA9IDA7XHJcblxyXG4gICAgICAgIGZvciAodmFyIG8gPSAwOyBpIDwgMjU2OyBpKyspIHtcclxuICAgICAgICAgIHZhciBhID0gaSAlIHIsXHJcbiAgICAgICAgICAgICAgcyA9IHRbYSA+Pj4gMl0gPj4+IDI0IC0gYSAlIDQgKiA4ICYgMjU1O1xyXG4gICAgICAgICAgbyA9IChvICsgbltpXSArIHMpICUgMjU2O1xyXG4gICAgICAgICAgdmFyIGggPSBuW2ldO1xyXG4gICAgICAgICAgbltpXSA9IG5bb10sIG5bb10gPSBoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5faSA9IHRoaXMuX2ogPSAwO1xyXG4gICAgICB9LFxyXG4gICAgICBfZG9Qcm9jZXNzQmxvY2s6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgICAgZVt0XSBePSBvLmNhbGwodGhpcyk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGtleVNpemU6IDgsXHJcbiAgICAgIGl2U2l6ZTogMFxyXG4gICAgfSk7XHJcblxyXG4gICAgZnVuY3Rpb24gbygpIHtcclxuICAgICAgZm9yICh2YXIgZSA9IHRoaXMuX1MsIHQgPSB0aGlzLl9pLCByID0gdGhpcy5faiwgbiA9IDAsIGkgPSAwOyBpIDwgNDsgaSsrKSB7XHJcbiAgICAgICAgciA9IChyICsgZVt0ID0gKHQgKyAxKSAlIDI1Nl0pICUgMjU2O1xyXG4gICAgICAgIHZhciBvID0gZVt0XTtcclxuICAgICAgICBlW3RdID0gZVtyXSwgZVtyXSA9IG8sIG4gfD0gZVsoZVt0XSArIGVbcl0pICUgMjU2XSA8PCAyNCAtIDggKiBpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5faSA9IHQsIHRoaXMuX2ogPSByLCBuO1xyXG4gICAgfVxyXG5cclxuICAgIGUuUkM0ID0gdC5fY3JlYXRlSGVscGVyKGkpO1xyXG4gICAgdmFyIGEgPSBuLlJDNERyb3AgPSBpLmV4dGVuZCh7XHJcbiAgICAgIGNmZzogaS5jZmcuZXh0ZW5kKHtcclxuICAgICAgICBkcm9wOiAxOTJcclxuICAgICAgfSksXHJcbiAgICAgIF9kb1Jlc2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgaS5fZG9SZXNldC5jYWxsKHRoaXMpO1xyXG5cclxuICAgICAgICBmb3IgKHZhciBlID0gdGhpcy5jZmcuZHJvcDsgZSA+IDA7IGUtLSkgby5jYWxsKHRoaXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGUuUkM0RHJvcCA9IHQuX2NyZWF0ZUhlbHBlcihhKTtcclxuICB9KCksIHIuUkM0KTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgcjtcclxuICBlLmV4cG9ydHMgPSAociA9IGVlLCBmdW5jdGlvbiAoKSB7XHJcbiAgICB2YXIgZSA9IHIsXHJcbiAgICAgICAgdCA9IGUubGliLlN0cmVhbUNpcGhlcixcclxuICAgICAgICBuID0gZS5hbGdvLFxyXG4gICAgICAgIGkgPSBbXSxcclxuICAgICAgICBvID0gW10sXHJcbiAgICAgICAgYSA9IFtdLFxyXG4gICAgICAgIHMgPSBuLlJhYmJpdCA9IHQuZXh0ZW5kKHtcclxuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBmb3IgKHZhciBlID0gdGhpcy5fa2V5LndvcmRzLCB0ID0gdGhpcy5jZmcuaXYsIHIgPSAwOyByIDwgNDsgcisrKSBlW3JdID0gMTY3MTE5MzUgJiAoZVtyXSA8PCA4IHwgZVtyXSA+Pj4gMjQpIHwgNDI3ODI1NTM2MCAmIChlW3JdIDw8IDI0IHwgZVtyXSA+Pj4gOCk7XHJcblxyXG4gICAgICAgIHZhciBuID0gdGhpcy5fWCA9IFtlWzBdLCBlWzNdIDw8IDE2IHwgZVsyXSA+Pj4gMTYsIGVbMV0sIGVbMF0gPDwgMTYgfCBlWzNdID4+PiAxNiwgZVsyXSwgZVsxXSA8PCAxNiB8IGVbMF0gPj4+IDE2LCBlWzNdLCBlWzJdIDw8IDE2IHwgZVsxXSA+Pj4gMTZdLFxyXG4gICAgICAgICAgICBpID0gdGhpcy5fQyA9IFtlWzJdIDw8IDE2IHwgZVsyXSA+Pj4gMTYsIDQyOTQ5MDE3NjAgJiBlWzBdIHwgNjU1MzUgJiBlWzFdLCBlWzNdIDw8IDE2IHwgZVszXSA+Pj4gMTYsIDQyOTQ5MDE3NjAgJiBlWzFdIHwgNjU1MzUgJiBlWzJdLCBlWzBdIDw8IDE2IHwgZVswXSA+Pj4gMTYsIDQyOTQ5MDE3NjAgJiBlWzJdIHwgNjU1MzUgJiBlWzNdLCBlWzFdIDw8IDE2IHwgZVsxXSA+Pj4gMTYsIDQyOTQ5MDE3NjAgJiBlWzNdIHwgNjU1MzUgJiBlWzBdXTtcclxuXHJcbiAgICAgICAgZm9yICh0aGlzLl9iID0gMCwgciA9IDA7IHIgPCA0OyByKyspIGguY2FsbCh0aGlzKTtcclxuXHJcbiAgICAgICAgZm9yIChyID0gMDsgciA8IDg7IHIrKykgaVtyXSBePSBuW3IgKyA0ICYgN107XHJcblxyXG4gICAgICAgIGlmICh0KSB7XHJcbiAgICAgICAgICB2YXIgbyA9IHQud29yZHMsXHJcbiAgICAgICAgICAgICAgYSA9IG9bMF0sXHJcbiAgICAgICAgICAgICAgcyA9IG9bMV0sXHJcbiAgICAgICAgICAgICAgbCA9IDE2NzExOTM1ICYgKGEgPDwgOCB8IGEgPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAoYSA8PCAyNCB8IGEgPj4+IDgpLFxyXG4gICAgICAgICAgICAgIGYgPSAxNjcxMTkzNSAmIChzIDw8IDggfCBzID4+PiAyNCkgfCA0Mjc4MjU1MzYwICYgKHMgPDwgMjQgfCBzID4+PiA4KSxcclxuICAgICAgICAgICAgICBjID0gbCA+Pj4gMTYgfCA0Mjk0OTAxNzYwICYgZixcclxuICAgICAgICAgICAgICB1ID0gZiA8PCAxNiB8IDY1NTM1ICYgbDtcclxuXHJcbiAgICAgICAgICBmb3IgKGlbMF0gXj0gbCwgaVsxXSBePSBjLCBpWzJdIF49IGYsIGlbM10gXj0gdSwgaVs0XSBePSBsLCBpWzVdIF49IGMsIGlbNl0gXj0gZiwgaVs3XSBePSB1LCByID0gMDsgciA8IDQ7IHIrKykgaC5jYWxsKHRoaXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICAgIHZhciByID0gdGhpcy5fWDtcclxuICAgICAgICBoLmNhbGwodGhpcyksIGlbMF0gPSByWzBdIF4gcls1XSA+Pj4gMTYgXiByWzNdIDw8IDE2LCBpWzFdID0gclsyXSBeIHJbN10gPj4+IDE2IF4gcls1XSA8PCAxNiwgaVsyXSA9IHJbNF0gXiByWzFdID4+PiAxNiBeIHJbN10gPDwgMTYsIGlbM10gPSByWzZdIF4gclszXSA+Pj4gMTYgXiByWzFdIDw8IDE2O1xyXG5cclxuICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IDQ7IG4rKykgaVtuXSA9IDE2NzExOTM1ICYgKGlbbl0gPDwgOCB8IGlbbl0gPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAoaVtuXSA8PCAyNCB8IGlbbl0gPj4+IDgpLCBlW3QgKyBuXSBePSBpW25dO1xyXG4gICAgICB9LFxyXG4gICAgICBibG9ja1NpemU6IDQsXHJcbiAgICAgIGl2U2l6ZTogMlxyXG4gICAgfSk7XHJcblxyXG4gICAgZnVuY3Rpb24gaCgpIHtcclxuICAgICAgZm9yICh2YXIgZSA9IHRoaXMuX1gsIHQgPSB0aGlzLl9DLCByID0gMDsgciA8IDg7IHIrKykgb1tyXSA9IHRbcl07XHJcblxyXG4gICAgICBmb3IgKHRbMF0gPSB0WzBdICsgMTI5NTMwNzU5NyArIHRoaXMuX2IgfCAwLCB0WzFdID0gdFsxXSArIDM1NDUwNTIzNzEgKyAodFswXSA+Pj4gMCA8IG9bMF0gPj4+IDAgPyAxIDogMCkgfCAwLCB0WzJdID0gdFsyXSArIDg4NjI2MzA5MiArICh0WzFdID4+PiAwIDwgb1sxXSA+Pj4gMCA/IDEgOiAwKSB8IDAsIHRbM10gPSB0WzNdICsgMTI5NTMwNzU5NyArICh0WzJdID4+PiAwIDwgb1syXSA+Pj4gMCA/IDEgOiAwKSB8IDAsIHRbNF0gPSB0WzRdICsgMzU0NTA1MjM3MSArICh0WzNdID4+PiAwIDwgb1szXSA+Pj4gMCA/IDEgOiAwKSB8IDAsIHRbNV0gPSB0WzVdICsgODg2MjYzMDkyICsgKHRbNF0gPj4+IDAgPCBvWzRdID4+PiAwID8gMSA6IDApIHwgMCwgdFs2XSA9IHRbNl0gKyAxMjk1MzA3NTk3ICsgKHRbNV0gPj4+IDAgPCBvWzVdID4+PiAwID8gMSA6IDApIHwgMCwgdFs3XSA9IHRbN10gKyAzNTQ1MDUyMzcxICsgKHRbNl0gPj4+IDAgPCBvWzZdID4+PiAwID8gMSA6IDApIHwgMCwgdGhpcy5fYiA9IHRbN10gPj4+IDAgPCBvWzddID4+PiAwID8gMSA6IDAsIHIgPSAwOyByIDwgODsgcisrKSB7XHJcbiAgICAgICAgdmFyIG4gPSBlW3JdICsgdFtyXSxcclxuICAgICAgICAgICAgaSA9IDY1NTM1ICYgbixcclxuICAgICAgICAgICAgcyA9IG4gPj4+IDE2LFxyXG4gICAgICAgICAgICBoID0gKChpICogaSA+Pj4gMTcpICsgaSAqIHMgPj4+IDE1KSArIHMgKiBzLFxyXG4gICAgICAgICAgICBsID0gKCg0Mjk0OTAxNzYwICYgbikgKiBuIHwgMCkgKyAoKDY1NTM1ICYgbikgKiBuIHwgMCk7XHJcbiAgICAgICAgYVtyXSA9IGggXiBsO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBlWzBdID0gYVswXSArIChhWzddIDw8IDE2IHwgYVs3XSA+Pj4gMTYpICsgKGFbNl0gPDwgMTYgfCBhWzZdID4+PiAxNikgfCAwLCBlWzFdID0gYVsxXSArIChhWzBdIDw8IDggfCBhWzBdID4+PiAyNCkgKyBhWzddIHwgMCwgZVsyXSA9IGFbMl0gKyAoYVsxXSA8PCAxNiB8IGFbMV0gPj4+IDE2KSArIChhWzBdIDw8IDE2IHwgYVswXSA+Pj4gMTYpIHwgMCwgZVszXSA9IGFbM10gKyAoYVsyXSA8PCA4IHwgYVsyXSA+Pj4gMjQpICsgYVsxXSB8IDAsIGVbNF0gPSBhWzRdICsgKGFbM10gPDwgMTYgfCBhWzNdID4+PiAxNikgKyAoYVsyXSA8PCAxNiB8IGFbMl0gPj4+IDE2KSB8IDAsIGVbNV0gPSBhWzVdICsgKGFbNF0gPDwgOCB8IGFbNF0gPj4+IDI0KSArIGFbM10gfCAwLCBlWzZdID0gYVs2XSArIChhWzVdIDw8IDE2IHwgYVs1XSA+Pj4gMTYpICsgKGFbNF0gPDwgMTYgfCBhWzRdID4+PiAxNikgfCAwLCBlWzddID0gYVs3XSArIChhWzZdIDw8IDggfCBhWzZdID4+PiAyNCkgKyBhWzVdIHwgMDtcclxuICAgIH1cclxuXHJcbiAgICBlLlJhYmJpdCA9IHQuX2NyZWF0ZUhlbHBlcihzKTtcclxuICB9KCksIHIuUmFiYml0KTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgcjtcclxuICBlLmV4cG9ydHMgPSAociA9IGVlLCBmdW5jdGlvbiAoKSB7XHJcbiAgICB2YXIgZSA9IHIsXHJcbiAgICAgICAgdCA9IGUubGliLlN0cmVhbUNpcGhlcixcclxuICAgICAgICBuID0gZS5hbGdvLFxyXG4gICAgICAgIGkgPSBbXSxcclxuICAgICAgICBvID0gW10sXHJcbiAgICAgICAgYSA9IFtdLFxyXG4gICAgICAgIHMgPSBuLlJhYmJpdExlZ2FjeSA9IHQuZXh0ZW5kKHtcclxuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgZSA9IHRoaXMuX2tleS53b3JkcyxcclxuICAgICAgICAgICAgdCA9IHRoaXMuY2ZnLml2LFxyXG4gICAgICAgICAgICByID0gdGhpcy5fWCA9IFtlWzBdLCBlWzNdIDw8IDE2IHwgZVsyXSA+Pj4gMTYsIGVbMV0sIGVbMF0gPDwgMTYgfCBlWzNdID4+PiAxNiwgZVsyXSwgZVsxXSA8PCAxNiB8IGVbMF0gPj4+IDE2LCBlWzNdLCBlWzJdIDw8IDE2IHwgZVsxXSA+Pj4gMTZdLFxyXG4gICAgICAgICAgICBuID0gdGhpcy5fQyA9IFtlWzJdIDw8IDE2IHwgZVsyXSA+Pj4gMTYsIDQyOTQ5MDE3NjAgJiBlWzBdIHwgNjU1MzUgJiBlWzFdLCBlWzNdIDw8IDE2IHwgZVszXSA+Pj4gMTYsIDQyOTQ5MDE3NjAgJiBlWzFdIHwgNjU1MzUgJiBlWzJdLCBlWzBdIDw8IDE2IHwgZVswXSA+Pj4gMTYsIDQyOTQ5MDE3NjAgJiBlWzJdIHwgNjU1MzUgJiBlWzNdLCBlWzFdIDw8IDE2IHwgZVsxXSA+Pj4gMTYsIDQyOTQ5MDE3NjAgJiBlWzNdIHwgNjU1MzUgJiBlWzBdXTtcclxuICAgICAgICB0aGlzLl9iID0gMDtcclxuXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIGguY2FsbCh0aGlzKTtcclxuXHJcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IDg7IGkrKykgbltpXSBePSByW2kgKyA0ICYgN107XHJcblxyXG4gICAgICAgIGlmICh0KSB7XHJcbiAgICAgICAgICB2YXIgbyA9IHQud29yZHMsXHJcbiAgICAgICAgICAgICAgYSA9IG9bMF0sXHJcbiAgICAgICAgICAgICAgcyA9IG9bMV0sXHJcbiAgICAgICAgICAgICAgbCA9IDE2NzExOTM1ICYgKGEgPDwgOCB8IGEgPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAoYSA8PCAyNCB8IGEgPj4+IDgpLFxyXG4gICAgICAgICAgICAgIGYgPSAxNjcxMTkzNSAmIChzIDw8IDggfCBzID4+PiAyNCkgfCA0Mjc4MjU1MzYwICYgKHMgPDwgMjQgfCBzID4+PiA4KSxcclxuICAgICAgICAgICAgICBjID0gbCA+Pj4gMTYgfCA0Mjk0OTAxNzYwICYgZixcclxuICAgICAgICAgICAgICB1ID0gZiA8PCAxNiB8IDY1NTM1ICYgbDtcclxuXHJcbiAgICAgICAgICBmb3IgKG5bMF0gXj0gbCwgblsxXSBePSBjLCBuWzJdIF49IGYsIG5bM10gXj0gdSwgbls0XSBePSBsLCBuWzVdIF49IGMsIG5bNl0gXj0gZiwgbls3XSBePSB1LCBpID0gMDsgaSA8IDQ7IGkrKykgaC5jYWxsKHRoaXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICAgIHZhciByID0gdGhpcy5fWDtcclxuICAgICAgICBoLmNhbGwodGhpcyksIGlbMF0gPSByWzBdIF4gcls1XSA+Pj4gMTYgXiByWzNdIDw8IDE2LCBpWzFdID0gclsyXSBeIHJbN10gPj4+IDE2IF4gcls1XSA8PCAxNiwgaVsyXSA9IHJbNF0gXiByWzFdID4+PiAxNiBeIHJbN10gPDwgMTYsIGlbM10gPSByWzZdIF4gclszXSA+Pj4gMTYgXiByWzFdIDw8IDE2O1xyXG5cclxuICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IDQ7IG4rKykgaVtuXSA9IDE2NzExOTM1ICYgKGlbbl0gPDwgOCB8IGlbbl0gPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAoaVtuXSA8PCAyNCB8IGlbbl0gPj4+IDgpLCBlW3QgKyBuXSBePSBpW25dO1xyXG4gICAgICB9LFxyXG4gICAgICBibG9ja1NpemU6IDQsXHJcbiAgICAgIGl2U2l6ZTogMlxyXG4gICAgfSk7XHJcblxyXG4gICAgZnVuY3Rpb24gaCgpIHtcclxuICAgICAgZm9yICh2YXIgZSA9IHRoaXMuX1gsIHQgPSB0aGlzLl9DLCByID0gMDsgciA8IDg7IHIrKykgb1tyXSA9IHRbcl07XHJcblxyXG4gICAgICBmb3IgKHRbMF0gPSB0WzBdICsgMTI5NTMwNzU5NyArIHRoaXMuX2IgfCAwLCB0WzFdID0gdFsxXSArIDM1NDUwNTIzNzEgKyAodFswXSA+Pj4gMCA8IG9bMF0gPj4+IDAgPyAxIDogMCkgfCAwLCB0WzJdID0gdFsyXSArIDg4NjI2MzA5MiArICh0WzFdID4+PiAwIDwgb1sxXSA+Pj4gMCA/IDEgOiAwKSB8IDAsIHRbM10gPSB0WzNdICsgMTI5NTMwNzU5NyArICh0WzJdID4+PiAwIDwgb1syXSA+Pj4gMCA/IDEgOiAwKSB8IDAsIHRbNF0gPSB0WzRdICsgMzU0NTA1MjM3MSArICh0WzNdID4+PiAwIDwgb1szXSA+Pj4gMCA/IDEgOiAwKSB8IDAsIHRbNV0gPSB0WzVdICsgODg2MjYzMDkyICsgKHRbNF0gPj4+IDAgPCBvWzRdID4+PiAwID8gMSA6IDApIHwgMCwgdFs2XSA9IHRbNl0gKyAxMjk1MzA3NTk3ICsgKHRbNV0gPj4+IDAgPCBvWzVdID4+PiAwID8gMSA6IDApIHwgMCwgdFs3XSA9IHRbN10gKyAzNTQ1MDUyMzcxICsgKHRbNl0gPj4+IDAgPCBvWzZdID4+PiAwID8gMSA6IDApIHwgMCwgdGhpcy5fYiA9IHRbN10gPj4+IDAgPCBvWzddID4+PiAwID8gMSA6IDAsIHIgPSAwOyByIDwgODsgcisrKSB7XHJcbiAgICAgICAgdmFyIG4gPSBlW3JdICsgdFtyXSxcclxuICAgICAgICAgICAgaSA9IDY1NTM1ICYgbixcclxuICAgICAgICAgICAgcyA9IG4gPj4+IDE2LFxyXG4gICAgICAgICAgICBoID0gKChpICogaSA+Pj4gMTcpICsgaSAqIHMgPj4+IDE1KSArIHMgKiBzLFxyXG4gICAgICAgICAgICBsID0gKCg0Mjk0OTAxNzYwICYgbikgKiBuIHwgMCkgKyAoKDY1NTM1ICYgbikgKiBuIHwgMCk7XHJcbiAgICAgICAgYVtyXSA9IGggXiBsO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBlWzBdID0gYVswXSArIChhWzddIDw8IDE2IHwgYVs3XSA+Pj4gMTYpICsgKGFbNl0gPDwgMTYgfCBhWzZdID4+PiAxNikgfCAwLCBlWzFdID0gYVsxXSArIChhWzBdIDw8IDggfCBhWzBdID4+PiAyNCkgKyBhWzddIHwgMCwgZVsyXSA9IGFbMl0gKyAoYVsxXSA8PCAxNiB8IGFbMV0gPj4+IDE2KSArIChhWzBdIDw8IDE2IHwgYVswXSA+Pj4gMTYpIHwgMCwgZVszXSA9IGFbM10gKyAoYVsyXSA8PCA4IHwgYVsyXSA+Pj4gMjQpICsgYVsxXSB8IDAsIGVbNF0gPSBhWzRdICsgKGFbM10gPDwgMTYgfCBhWzNdID4+PiAxNikgKyAoYVsyXSA8PCAxNiB8IGFbMl0gPj4+IDE2KSB8IDAsIGVbNV0gPSBhWzVdICsgKGFbNF0gPDwgOCB8IGFbNF0gPj4+IDI0KSArIGFbM10gfCAwLCBlWzZdID0gYVs2XSArIChhWzVdIDw8IDE2IHwgYVs1XSA+Pj4gMTYpICsgKGFbNF0gPDwgMTYgfCBhWzRdID4+PiAxNikgfCAwLCBlWzddID0gYVs3XSArIChhWzZdIDw8IDggfCBhWzZdID4+PiAyNCkgKyBhWzVdIHwgMDtcclxuICAgIH1cclxuXHJcbiAgICBlLlJhYmJpdExlZ2FjeSA9IHQuX2NyZWF0ZUhlbHBlcihzKTtcclxuICB9KCksIHIuUmFiYml0TGVnYWN5KTtcclxufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcclxuICBlLmV4cG9ydHMgPSBlZTtcclxufSkpO1xyXG5cclxuZnVuY3Rpb24gcmUoKSB7XHJcbiAgdGhyb3cgbmV3IEVycm9yKFwic2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZFwiKTtcclxufVxyXG5cclxuZnVuY3Rpb24gbmUoKSB7XHJcbiAgdGhyb3cgbmV3IEVycm9yKFwiY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkXCIpO1xyXG59XHJcblxyXG52YXIgaWUgPSByZSxcclxuICAgIG9lID0gbmU7XHJcblxyXG5mdW5jdGlvbiBhZShlKSB7XHJcbiAgaWYgKGllID09PSBzZXRUaW1lb3V0KSByZXR1cm4gc2V0VGltZW91dChlLCAwKTtcclxuICBpZiAoKGllID09PSByZSB8fCAhaWUpICYmIHNldFRpbWVvdXQpIHJldHVybiBpZSA9IHNldFRpbWVvdXQsIHNldFRpbWVvdXQoZSwgMCk7XHJcblxyXG4gIHRyeSB7XHJcbiAgICByZXR1cm4gaWUoZSwgMCk7XHJcbiAgfSBjYXRjaCAodCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIGllLmNhbGwobnVsbCwgZSwgMCk7XHJcbiAgICB9IGNhdGNoICh0KSB7XHJcbiAgICAgIHJldHVybiBpZS5jYWxsKHRoaXMsIGUsIDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLnNldFRpbWVvdXQgJiYgKGllID0gc2V0VGltZW91dCksIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZS5jbGVhclRpbWVvdXQgJiYgKG9lID0gY2xlYXJUaW1lb3V0KTtcclxudmFyIHNlLFxyXG4gICAgaGUgPSBbXSxcclxuICAgIGxlID0gITEsXHJcbiAgICBmZSA9IC0xO1xyXG5cclxuZnVuY3Rpb24gY2UoKSB7XHJcbiAgbGUgJiYgc2UgJiYgKGxlID0gITEsIHNlLmxlbmd0aCA/IGhlID0gc2UuY29uY2F0KGhlKSA6IGZlID0gLTEsIGhlLmxlbmd0aCAmJiB1ZSgpKTtcclxufVxyXG5cclxuZnVuY3Rpb24gdWUoKSB7XHJcbiAgaWYgKCFsZSkge1xyXG4gICAgdmFyIGUgPSBhZShjZSk7XHJcbiAgICBsZSA9ICEwO1xyXG5cclxuICAgIGZvciAodmFyIHQgPSBoZS5sZW5ndGg7IHQ7KSB7XHJcbiAgICAgIGZvciAoc2UgPSBoZSwgaGUgPSBbXTsgKytmZSA8IHQ7KSBzZSAmJiBzZVtmZV0ucnVuKCk7XHJcblxyXG4gICAgICBmZSA9IC0xLCB0ID0gaGUubGVuZ3RoO1xyXG4gICAgfVxyXG5cclxuICAgIHNlID0gbnVsbCwgbGUgPSAhMSwgZnVuY3Rpb24gKGUpIHtcclxuICAgICAgaWYgKG9lID09PSBjbGVhclRpbWVvdXQpIHJldHVybiBjbGVhclRpbWVvdXQoZSk7XHJcbiAgICAgIGlmICgob2UgPT09IG5lIHx8ICFvZSkgJiYgY2xlYXJUaW1lb3V0KSByZXR1cm4gb2UgPSBjbGVhclRpbWVvdXQsIGNsZWFyVGltZW91dChlKTtcclxuXHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgb2UoZSk7XHJcbiAgICAgIH0gY2F0Y2ggKHQpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgcmV0dXJuIG9lLmNhbGwobnVsbCwgZSk7XHJcbiAgICAgICAgfSBjYXRjaCAodCkge1xyXG4gICAgICAgICAgcmV0dXJuIG9lLmNhbGwodGhpcywgZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KGUpO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZGUoZSkge1xyXG4gIHZhciB0ID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGggLSAxKTtcclxuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIGZvciAodmFyIHIgPSAxOyByIDwgYXJndW1lbnRzLmxlbmd0aDsgcisrKSB0W3IgLSAxXSA9IGFyZ3VtZW50c1tyXTtcclxuICBoZS5wdXNoKG5ldyBwZShlLCB0KSksIDEgIT09IGhlLmxlbmd0aCB8fCBsZSB8fCBhZSh1ZSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBlKGUsIHQpIHtcclxuICB0aGlzLmZ1biA9IGUsIHRoaXMuYXJyYXkgPSB0O1xyXG59XHJcblxyXG5wZS5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24gKCkge1xyXG4gIHRoaXMuZnVuLmFwcGx5KG51bGwsIHRoaXMuYXJyYXkpO1xyXG59O1xyXG5cclxudmFyIF9lID0gZS5wZXJmb3JtYW5jZSB8fCB7fTtcclxuXHJcbl9lLm5vdyB8fCBfZS5tb3pOb3cgfHwgX2UubXNOb3cgfHwgX2Uub05vdyB8fCBfZS53ZWJraXROb3c7XHJcblxyXG5mdW5jdGlvbiBnZSgpIHt9XHJcblxyXG5mdW5jdGlvbiB2ZSgpIHtcclxuICB2ZS5pbml0LmNhbGwodGhpcyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHdlKGUpIHtcclxuICByZXR1cm4gdm9pZCAwID09PSBlLl9tYXhMaXN0ZW5lcnMgPyB2ZS5kZWZhdWx0TWF4TGlzdGVuZXJzIDogZS5fbWF4TGlzdGVuZXJzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBiZShlLCB0LCByKSB7XHJcbiAgaWYgKHQpIGUuY2FsbChyKTtlbHNlIGZvciAodmFyIG4gPSBlLmxlbmd0aCwgaSA9IEFlKGUsIG4pLCBvID0gMDsgbyA8IG47ICsrbykgaVtvXS5jYWxsKHIpO1xyXG59XHJcblxyXG5mdW5jdGlvbiB5ZShlLCB0LCByLCBuKSB7XHJcbiAgaWYgKHQpIGUuY2FsbChyLCBuKTtlbHNlIGZvciAodmFyIGkgPSBlLmxlbmd0aCwgbyA9IEFlKGUsIGkpLCBhID0gMDsgYSA8IGk7ICsrYSkgb1thXS5jYWxsKHIsIG4pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBtZShlLCB0LCByLCBuLCBpKSB7XHJcbiAgaWYgKHQpIGUuY2FsbChyLCBuLCBpKTtlbHNlIGZvciAodmFyIG8gPSBlLmxlbmd0aCwgYSA9IEFlKGUsIG8pLCBzID0gMDsgcyA8IG87ICsrcykgYVtzXS5jYWxsKHIsIG4sIGkpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBrZShlLCB0LCByLCBuLCBpLCBvKSB7XHJcbiAgaWYgKHQpIGUuY2FsbChyLCBuLCBpLCBvKTtlbHNlIGZvciAodmFyIGEgPSBlLmxlbmd0aCwgcyA9IEFlKGUsIGEpLCBoID0gMDsgaCA8IGE7ICsraCkgc1toXS5jYWxsKHIsIG4sIGksIG8pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBFZShlLCB0LCByLCBuKSB7XHJcbiAgaWYgKHQpIGUuYXBwbHkociwgbik7ZWxzZSBmb3IgKHZhciBpID0gZS5sZW5ndGgsIG8gPSBBZShlLCBpKSwgYSA9IDA7IGEgPCBpOyArK2EpIG9bYV0uYXBwbHkociwgbik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFNlKGUsIHQsIHIsIG4pIHtcclxuICB2YXIgaSwgbywgYSwgcztcclxuICBpZiAoXCJmdW5jdGlvblwiICE9IHR5cGVvZiByKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImxpc3RlbmVyXCIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7XHJcblxyXG4gIGlmICgobyA9IGUuX2V2ZW50cykgPyAoby5uZXdMaXN0ZW5lciAmJiAoZS5lbWl0KFwibmV3TGlzdGVuZXJcIiwgdCwgci5saXN0ZW5lciA/IHIubGlzdGVuZXIgOiByKSwgbyA9IGUuX2V2ZW50cyksIGEgPSBvW3RdKSA6IChvID0gZS5fZXZlbnRzID0gbmV3IGdlKCksIGUuX2V2ZW50c0NvdW50ID0gMCksIGEpIHtcclxuICAgIGlmIChcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIGEgPyBhID0gb1t0XSA9IG4gPyBbciwgYV0gOiBbYSwgcl0gOiBuID8gYS51bnNoaWZ0KHIpIDogYS5wdXNoKHIpLCAhYS53YXJuZWQgJiYgKGkgPSB3ZShlKSkgJiYgaSA+IDAgJiYgYS5sZW5ndGggPiBpKSB7XHJcbiAgICAgIGEud2FybmVkID0gITA7XHJcbiAgICAgIHZhciBoID0gbmV3IEVycm9yKFwiUG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiBcIiArIGEubGVuZ3RoICsgXCIgXCIgKyB0ICsgXCIgbGlzdGVuZXJzIGFkZGVkLiBVc2UgZW1pdHRlci5zZXRNYXhMaXN0ZW5lcnMoKSB0byBpbmNyZWFzZSBsaW1pdFwiKTtcclxuICAgICAgaC5uYW1lID0gXCJNYXhMaXN0ZW5lcnNFeGNlZWRlZFdhcm5pbmdcIiwgaC5lbWl0dGVyID0gZSwgaC50eXBlID0gdCwgaC5jb3VudCA9IGEubGVuZ3RoLCBzID0gaCwgXCJmdW5jdGlvblwiID09IHR5cGVvZiBjb25zb2xlLndhcm4gPyBjb25zb2xlLndhcm4ocykgOiBjb25zb2xlLmxvZyhzKTtcclxuICAgIH1cclxuICB9IGVsc2UgYSA9IG9bdF0gPSByLCArK2UuX2V2ZW50c0NvdW50O1xyXG5cclxuICByZXR1cm4gZTtcclxufVxyXG5cclxuZnVuY3Rpb24geGUoZSwgdCwgcikge1xyXG4gIHZhciBuID0gITE7XHJcblxyXG4gIGZ1bmN0aW9uIGkoKSB7XHJcbiAgICBlLnJlbW92ZUxpc3RlbmVyKHQsIGkpLCBuIHx8IChuID0gITAsIHIuYXBwbHkoZSwgYXJndW1lbnRzKSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gaS5saXN0ZW5lciA9IHIsIGk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFJlKGUpIHtcclxuICB2YXIgdCA9IHRoaXMuX2V2ZW50cztcclxuXHJcbiAgaWYgKHQpIHtcclxuICAgIHZhciByID0gdFtlXTtcclxuICAgIGlmIChcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIHIpIHJldHVybiAxO1xyXG4gICAgaWYgKHIpIHJldHVybiByLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHJldHVybiAwO1xyXG59XHJcblxyXG5mdW5jdGlvbiBBZShlLCB0KSB7XHJcbiAgZm9yICh2YXIgciA9IG5ldyBBcnJheSh0KTsgdC0tOykgclt0XSA9IGVbdF07XHJcblxyXG4gIHJldHVybiByO1xyXG59XHJcblxyXG5nZS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKG51bGwpLCB2ZS5FdmVudEVtaXR0ZXIgPSB2ZSwgdmUudXNpbmdEb21haW5zID0gITEsIHZlLnByb3RvdHlwZS5kb21haW4gPSB2b2lkIDAsIHZlLnByb3RvdHlwZS5fZXZlbnRzID0gdm9pZCAwLCB2ZS5wcm90b3R5cGUuX21heExpc3RlbmVycyA9IHZvaWQgMCwgdmUuZGVmYXVsdE1heExpc3RlbmVycyA9IDEwLCB2ZS5pbml0ID0gZnVuY3Rpb24gKCkge1xyXG4gIHRoaXMuZG9tYWluID0gbnVsbCwgdmUudXNpbmdEb21haW5zICYmICh2b2lkIDApLmFjdGl2ZSAmJiAodm9pZCAwKS5Eb21haW4sIHRoaXMuX2V2ZW50cyAmJiB0aGlzLl9ldmVudHMgIT09IE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKS5fZXZlbnRzIHx8ICh0aGlzLl9ldmVudHMgPSBuZXcgZ2UoKSwgdGhpcy5fZXZlbnRzQ291bnQgPSAwKSwgdGhpcy5fbWF4TGlzdGVuZXJzID0gdGhpcy5fbWF4TGlzdGVuZXJzIHx8IHZvaWQgMDtcclxufSwgdmUucHJvdG90eXBlLnNldE1heExpc3RlbmVycyA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgaWYgKFwibnVtYmVyXCIgIT0gdHlwZW9mIGUgfHwgZSA8IDAgfHwgaXNOYU4oZSkpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wiblwiIGFyZ3VtZW50IG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXInKTtcclxuICByZXR1cm4gdGhpcy5fbWF4TGlzdGVuZXJzID0gZSwgdGhpcztcclxufSwgdmUucHJvdG90eXBlLmdldE1heExpc3RlbmVycyA9IGZ1bmN0aW9uICgpIHtcclxuICByZXR1cm4gd2UodGhpcyk7XHJcbn0sIHZlLnByb3RvdHlwZS5lbWl0ID0gZnVuY3Rpb24gKGUpIHtcclxuICB2YXIgdCxcclxuICAgICAgcixcclxuICAgICAgbixcclxuICAgICAgaSxcclxuICAgICAgbyxcclxuICAgICAgYSxcclxuICAgICAgcyxcclxuICAgICAgaCA9IFwiZXJyb3JcIiA9PT0gZTtcclxuICBpZiAoYSA9IHRoaXMuX2V2ZW50cykgaCA9IGggJiYgbnVsbCA9PSBhLmVycm9yO2Vsc2UgaWYgKCFoKSByZXR1cm4gITE7XHJcblxyXG4gIGlmIChzID0gdGhpcy5kb21haW4sIGgpIHtcclxuICAgIGlmICh0ID0gYXJndW1lbnRzWzFdLCAhcykge1xyXG4gICAgICBpZiAodCBpbnN0YW5jZW9mIEVycm9yKSB0aHJvdyB0O1xyXG4gICAgICB2YXIgbCA9IG5ldyBFcnJvcignVW5jYXVnaHQsIHVuc3BlY2lmaWVkIFwiZXJyb3JcIiBldmVudC4gKCcgKyB0ICsgXCIpXCIpO1xyXG4gICAgICB0aHJvdyBsLmNvbnRleHQgPSB0LCBsO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0IHx8ICh0ID0gbmV3IEVycm9yKCdVbmNhdWdodCwgdW5zcGVjaWZpZWQgXCJlcnJvclwiIGV2ZW50JykpLCB0LmRvbWFpbkVtaXR0ZXIgPSB0aGlzLCB0LmRvbWFpbiA9IHMsIHQuZG9tYWluVGhyb3duID0gITEsIHMuZW1pdChcImVycm9yXCIsIHQpLCAhMTtcclxuICB9XHJcblxyXG4gIGlmICghKHIgPSBhW2VdKSkgcmV0dXJuICExO1xyXG4gIHZhciBmID0gXCJmdW5jdGlvblwiID09IHR5cGVvZiByO1xyXG5cclxuICBzd2l0Y2ggKG4gPSBhcmd1bWVudHMubGVuZ3RoKSB7XHJcbiAgICBjYXNlIDE6XHJcbiAgICAgIGJlKHIsIGYsIHRoaXMpO1xyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBjYXNlIDI6XHJcbiAgICAgIHllKHIsIGYsIHRoaXMsIGFyZ3VtZW50c1sxXSk7XHJcbiAgICAgIGJyZWFrO1xyXG5cclxuICAgIGNhc2UgMzpcclxuICAgICAgbWUociwgZiwgdGhpcywgYXJndW1lbnRzWzFdLCBhcmd1bWVudHNbMl0pO1xyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBjYXNlIDQ6XHJcbiAgICAgIGtlKHIsIGYsIHRoaXMsIGFyZ3VtZW50c1sxXSwgYXJndW1lbnRzWzJdLCBhcmd1bWVudHNbM10pO1xyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICBmb3IgKGkgPSBuZXcgQXJyYXkobiAtIDEpLCBvID0gMTsgbyA8IG47IG8rKykgaVtvIC0gMV0gPSBhcmd1bWVudHNbb107XHJcblxyXG4gICAgICBFZShyLCBmLCB0aGlzLCBpKTtcclxuICB9XHJcblxyXG4gIHJldHVybiAhMDtcclxufSwgdmUucHJvdG90eXBlLmFkZExpc3RlbmVyID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICByZXR1cm4gU2UodGhpcywgZSwgdCwgITEpO1xyXG59LCB2ZS5wcm90b3R5cGUub24gPSB2ZS5wcm90b3R5cGUuYWRkTGlzdGVuZXIsIHZlLnByb3RvdHlwZS5wcmVwZW5kTGlzdGVuZXIgPSBmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHJldHVybiBTZSh0aGlzLCBlLCB0LCAhMCk7XHJcbn0sIHZlLnByb3RvdHlwZS5vbmNlID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICBpZiAoXCJmdW5jdGlvblwiICE9IHR5cGVvZiB0KSB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImxpc3RlbmVyXCIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7XHJcbiAgcmV0dXJuIHRoaXMub24oZSwgeGUodGhpcywgZSwgdCkpLCB0aGlzO1xyXG59LCB2ZS5wcm90b3R5cGUucHJlcGVuZE9uY2VMaXN0ZW5lciA9IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgdCkgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJsaXN0ZW5lclwiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO1xyXG4gIHJldHVybiB0aGlzLnByZXBlbmRMaXN0ZW5lcihlLCB4ZSh0aGlzLCBlLCB0KSksIHRoaXM7XHJcbn0sIHZlLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lciA9IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHIsIG4sIGksIG8sIGE7XHJcbiAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgdCkgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJsaXN0ZW5lclwiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO1xyXG4gIGlmICghKG4gPSB0aGlzLl9ldmVudHMpKSByZXR1cm4gdGhpcztcclxuICBpZiAoIShyID0gbltlXSkpIHJldHVybiB0aGlzO1xyXG4gIGlmIChyID09PSB0IHx8IHIubGlzdGVuZXIgJiYgci5saXN0ZW5lciA9PT0gdCkgMCA9PSAtLXRoaXMuX2V2ZW50c0NvdW50ID8gdGhpcy5fZXZlbnRzID0gbmV3IGdlKCkgOiAoZGVsZXRlIG5bZV0sIG4ucmVtb3ZlTGlzdGVuZXIgJiYgdGhpcy5lbWl0KFwicmVtb3ZlTGlzdGVuZXJcIiwgZSwgci5saXN0ZW5lciB8fCB0KSk7ZWxzZSBpZiAoXCJmdW5jdGlvblwiICE9IHR5cGVvZiByKSB7XHJcbiAgICBmb3IgKGkgPSAtMSwgbyA9IHIubGVuZ3RoOyBvLS0gPiAwOykgaWYgKHJbb10gPT09IHQgfHwgcltvXS5saXN0ZW5lciAmJiByW29dLmxpc3RlbmVyID09PSB0KSB7XHJcbiAgICAgIGEgPSByW29dLmxpc3RlbmVyLCBpID0gbztcclxuICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGkgPCAwKSByZXR1cm4gdGhpcztcclxuXHJcbiAgICBpZiAoMSA9PT0gci5sZW5ndGgpIHtcclxuICAgICAgaWYgKHJbMF0gPSB2b2lkIDAsIDAgPT0gLS10aGlzLl9ldmVudHNDb3VudCkgcmV0dXJuIHRoaXMuX2V2ZW50cyA9IG5ldyBnZSgpLCB0aGlzO1xyXG4gICAgICBkZWxldGUgbltlXTtcclxuICAgIH0gZWxzZSAhZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgZm9yICh2YXIgciA9IHQsIG4gPSByICsgMSwgaSA9IGUubGVuZ3RoOyBuIDwgaTsgciArPSAxLCBuICs9IDEpIGVbcl0gPSBlW25dO1xyXG5cclxuICAgICAgZS5wb3AoKTtcclxuICAgIH0ociwgaSk7XHJcblxyXG4gICAgbi5yZW1vdmVMaXN0ZW5lciAmJiB0aGlzLmVtaXQoXCJyZW1vdmVMaXN0ZW5lclwiLCBlLCBhIHx8IHQpO1xyXG4gIH1cclxuICByZXR1cm4gdGhpcztcclxufSwgdmUucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycyA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgdmFyIHQsIHI7XHJcbiAgaWYgKCEociA9IHRoaXMuX2V2ZW50cykpIHJldHVybiB0aGlzO1xyXG4gIGlmICghci5yZW1vdmVMaXN0ZW5lcikgcmV0dXJuIDAgPT09IGFyZ3VtZW50cy5sZW5ndGggPyAodGhpcy5fZXZlbnRzID0gbmV3IGdlKCksIHRoaXMuX2V2ZW50c0NvdW50ID0gMCkgOiByW2VdICYmICgwID09IC0tdGhpcy5fZXZlbnRzQ291bnQgPyB0aGlzLl9ldmVudHMgPSBuZXcgZ2UoKSA6IGRlbGV0ZSByW2VdKSwgdGhpcztcclxuXHJcbiAgaWYgKDAgPT09IGFyZ3VtZW50cy5sZW5ndGgpIHtcclxuICAgIGZvciAodmFyIG4sIGkgPSBPYmplY3Qua2V5cyhyKSwgbyA9IDA7IG8gPCBpLmxlbmd0aDsgKytvKSBcInJlbW92ZUxpc3RlbmVyXCIgIT09IChuID0gaVtvXSkgJiYgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMobik7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKFwicmVtb3ZlTGlzdGVuZXJcIiksIHRoaXMuX2V2ZW50cyA9IG5ldyBnZSgpLCB0aGlzLl9ldmVudHNDb3VudCA9IDAsIHRoaXM7XHJcbiAgfVxyXG5cclxuICBpZiAoXCJmdW5jdGlvblwiID09IHR5cGVvZiAodCA9IHJbZV0pKSB0aGlzLnJlbW92ZUxpc3RlbmVyKGUsIHQpO2Vsc2UgaWYgKHQpIGRvIHtcclxuICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIoZSwgdFt0Lmxlbmd0aCAtIDFdKTtcclxuICB9IHdoaWxlICh0WzBdKTtcclxuICByZXR1cm4gdGhpcztcclxufSwgdmUucHJvdG90eXBlLmxpc3RlbmVycyA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgdmFyIHQsXHJcbiAgICAgIHIgPSB0aGlzLl9ldmVudHM7XHJcbiAgcmV0dXJuIHIgJiYgKHQgPSByW2VdKSA/IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgdCA/IFt0Lmxpc3RlbmVyIHx8IHRdIDogZnVuY3Rpb24gKGUpIHtcclxuICAgIGZvciAodmFyIHQgPSBuZXcgQXJyYXkoZS5sZW5ndGgpLCByID0gMDsgciA8IHQubGVuZ3RoOyArK3IpIHRbcl0gPSBlW3JdLmxpc3RlbmVyIHx8IGVbcl07XHJcblxyXG4gICAgcmV0dXJuIHQ7XHJcbiAgfSh0KSA6IFtdO1xyXG59LCB2ZS5saXN0ZW5lckNvdW50ID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICByZXR1cm4gXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLmxpc3RlbmVyQ291bnQgPyBlLmxpc3RlbmVyQ291bnQodCkgOiBSZS5jYWxsKGUsIHQpO1xyXG59LCB2ZS5wcm90b3R5cGUubGlzdGVuZXJDb3VudCA9IFJlLCB2ZS5wcm90b3R5cGUuZXZlbnROYW1lcyA9IGZ1bmN0aW9uICgpIHtcclxuICByZXR1cm4gdGhpcy5fZXZlbnRzQ291bnQgPiAwID8gUmVmbGVjdC5vd25LZXlzKHRoaXMuX2V2ZW50cykgOiBbXTtcclxufTtcclxudmFyIEJlID0gXCJmdW5jdGlvblwiID09IHR5cGVvZiBPYmplY3QuY3JlYXRlID8gZnVuY3Rpb24gKGUsIHQpIHtcclxuICBlLnN1cGVyXyA9IHQsIGUucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSh0LnByb3RvdHlwZSwge1xyXG4gICAgY29uc3RydWN0b3I6IHtcclxuICAgICAgdmFsdWU6IGUsXHJcbiAgICAgIGVudW1lcmFibGU6ICExLFxyXG4gICAgICB3cml0YWJsZTogITAsXHJcbiAgICAgIGNvbmZpZ3VyYWJsZTogITBcclxuICAgIH1cclxuICB9KTtcclxufSA6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgZS5zdXBlcl8gPSB0O1xyXG5cclxuICB2YXIgciA9IGZ1bmN0aW9uICgpIHt9O1xyXG5cclxuICByLnByb3RvdHlwZSA9IHQucHJvdG90eXBlLCBlLnByb3RvdHlwZSA9IG5ldyByKCksIGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZTtcclxufSxcclxuICAgIHplID0gLyVbc2RqJV0vZztcclxuXHJcbmZ1bmN0aW9uIExlKGUpIHtcclxuICBpZiAoIVplKGUpKSB7XHJcbiAgICBmb3IgKHZhciB0ID0gW10sIHIgPSAwOyByIDwgYXJndW1lbnRzLmxlbmd0aDsgcisrKSB0LnB1c2goRGUoYXJndW1lbnRzW3JdKSk7XHJcblxyXG4gICAgcmV0dXJuIHQuam9pbihcIiBcIik7XHJcbiAgfVxyXG5cclxuICByID0gMTtcclxuXHJcbiAgZm9yICh2YXIgbiA9IGFyZ3VtZW50cywgaSA9IG4ubGVuZ3RoLCBvID0gU3RyaW5nKGUpLnJlcGxhY2UoemUsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICBpZiAoXCIlJVwiID09PSBlKSByZXR1cm4gXCIlXCI7XHJcbiAgICBpZiAociA+PSBpKSByZXR1cm4gZTtcclxuXHJcbiAgICBzd2l0Y2ggKGUpIHtcclxuICAgICAgY2FzZSBcIiVzXCI6XHJcbiAgICAgICAgcmV0dXJuIFN0cmluZyhuW3IrK10pO1xyXG5cclxuICAgICAgY2FzZSBcIiVkXCI6XHJcbiAgICAgICAgcmV0dXJuIE51bWJlcihuW3IrK10pO1xyXG5cclxuICAgICAgY2FzZSBcIiVqXCI6XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShuW3IrK10pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgIHJldHVybiBcIltDaXJjdWxhcl1cIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBlO1xyXG4gICAgfVxyXG4gIH0pLCBhID0gbltyXTsgciA8IGk7IGEgPSBuWysrcl0pIE5lKGEpIHx8ICFZZShhKSA/IG8gKz0gXCIgXCIgKyBhIDogbyArPSBcIiBcIiArIERlKGEpO1xyXG5cclxuICByZXR1cm4gbztcclxufVxyXG5cclxuZnVuY3Rpb24gVGUodCwgcikge1xyXG4gIGlmIChqZShlLnByb2Nlc3MpKSByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgcmV0dXJuIFRlKHQsIHIpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgfTtcclxuICB2YXIgbiA9ICExO1xyXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XHJcbiAgICByZXR1cm4gbiB8fCAoY29uc29sZS5lcnJvcihyKSwgbiA9ICEwKSwgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG4gIH07XHJcbn1cclxuXHJcbnZhciBNZSxcclxuICAgIENlID0ge307XHJcblxyXG5mdW5jdGlvbiBEZShlLCB0KSB7XHJcbiAgdmFyIHIgPSB7XHJcbiAgICBzZWVuOiBbXSxcclxuICAgIHN0eWxpemU6IFBlXHJcbiAgfTtcclxuICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA+PSAzICYmIChyLmRlcHRoID0gYXJndW1lbnRzWzJdKSwgYXJndW1lbnRzLmxlbmd0aCA+PSA0ICYmIChyLmNvbG9ycyA9IGFyZ3VtZW50c1szXSksIEZlKHQpID8gci5zaG93SGlkZGVuID0gdCA6IHQgJiYgZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIGlmICghdCB8fCAhWWUodCkpIHJldHVybiBlO1xyXG4gICAgdmFyIHIgPSBPYmplY3Qua2V5cyh0KSxcclxuICAgICAgICBuID0gci5sZW5ndGg7XHJcblxyXG4gICAgZm9yICg7IG4tLTspIGVbcltuXV0gPSB0W3Jbbl1dO1xyXG4gIH0ociwgdCksIGplKHIuc2hvd0hpZGRlbikgJiYgKHIuc2hvd0hpZGRlbiA9ICExKSwgamUoci5kZXB0aCkgJiYgKHIuZGVwdGggPSAyKSwgamUoci5jb2xvcnMpICYmIChyLmNvbG9ycyA9ICExKSwgamUoci5jdXN0b21JbnNwZWN0KSAmJiAoci5jdXN0b21JbnNwZWN0ID0gITApLCByLmNvbG9ycyAmJiAoci5zdHlsaXplID0gSWUpLCBPZShyLCBlLCByLmRlcHRoKTtcclxufVxyXG5cclxuZnVuY3Rpb24gSWUoZSwgdCkge1xyXG4gIHZhciByID0gRGUuc3R5bGVzW3RdO1xyXG4gIHJldHVybiByID8gXCJcdTAwMWJbXCIgKyBEZS5jb2xvcnNbcl1bMF0gKyBcIm1cIiArIGUgKyBcIlx1MDAxYltcIiArIERlLmNvbG9yc1tyXVsxXSArIFwibVwiIDogZTtcclxufVxyXG5cclxuZnVuY3Rpb24gUGUoZSwgdCkge1xyXG4gIHJldHVybiBlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBPZShlLCB0LCByKSB7XHJcbiAgaWYgKGUuY3VzdG9tSW5zcGVjdCAmJiB0ICYmIHFlKHQuaW5zcGVjdCkgJiYgdC5pbnNwZWN0ICE9PSBEZSAmJiAoIXQuY29uc3RydWN0b3IgfHwgdC5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09IHQpKSB7XHJcbiAgICB2YXIgbiA9IHQuaW5zcGVjdChyLCBlKTtcclxuICAgIHJldHVybiBaZShuKSB8fCAobiA9IE9lKGUsIG4sIHIpKSwgbjtcclxuICB9XHJcblxyXG4gIHZhciBpID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIGlmIChqZSh0KSkgcmV0dXJuIGUuc3R5bGl6ZShcInVuZGVmaW5lZFwiLCBcInVuZGVmaW5lZFwiKTtcclxuXHJcbiAgICBpZiAoWmUodCkpIHtcclxuICAgICAgdmFyIHIgPSBcIidcIiArIEpTT04uc3RyaW5naWZ5KHQpLnJlcGxhY2UoL15cInxcIiQvZywgXCJcIikucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpLnJlcGxhY2UoL1xcXFxcIi9nLCAnXCInKSArIFwiJ1wiO1xyXG4gICAgICByZXR1cm4gZS5zdHlsaXplKHIsIFwic3RyaW5nXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChuID0gdCwgXCJudW1iZXJcIiA9PSB0eXBlb2YgbikgcmV0dXJuIGUuc3R5bGl6ZShcIlwiICsgdCwgXCJudW1iZXJcIik7XHJcbiAgICB2YXIgbjtcclxuICAgIGlmIChGZSh0KSkgcmV0dXJuIGUuc3R5bGl6ZShcIlwiICsgdCwgXCJib29sZWFuXCIpO1xyXG4gICAgaWYgKE5lKHQpKSByZXR1cm4gZS5zdHlsaXplKFwibnVsbFwiLCBcIm51bGxcIik7XHJcbiAgfShlLCB0KTtcclxuXHJcbiAgaWYgKGkpIHJldHVybiBpO1xyXG5cclxuICB2YXIgbyA9IE9iamVjdC5rZXlzKHQpLFxyXG4gICAgICBhID0gZnVuY3Rpb24gKGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICByZXR1cm4gZS5mb3JFYWNoKGZ1bmN0aW9uIChlLCByKSB7XHJcbiAgICAgIHRbZV0gPSAhMDtcclxuICAgIH0pLCB0O1xyXG4gIH0obyk7XHJcblxyXG4gIGlmIChlLnNob3dIaWRkZW4gJiYgKG8gPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KSksIFhlKHQpICYmIChvLmluZGV4T2YoXCJtZXNzYWdlXCIpID49IDAgfHwgby5pbmRleE9mKFwiZGVzY3JpcHRpb25cIikgPj0gMCkpIHJldHVybiBVZSh0KTtcclxuXHJcbiAgaWYgKDAgPT09IG8ubGVuZ3RoKSB7XHJcbiAgICBpZiAocWUodCkpIHtcclxuICAgICAgdmFyIHMgPSB0Lm5hbWUgPyBcIjogXCIgKyB0Lm5hbWUgOiBcIlwiO1xyXG4gICAgICByZXR1cm4gZS5zdHlsaXplKFwiW0Z1bmN0aW9uXCIgKyBzICsgXCJdXCIsIFwic3BlY2lhbFwiKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoV2UodCkpIHJldHVybiBlLnN0eWxpemUoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLCBcInJlZ2V4cFwiKTtcclxuICAgIGlmIChLZSh0KSkgcmV0dXJuIGUuc3R5bGl6ZShEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLCBcImRhdGVcIik7XHJcbiAgICBpZiAoWGUodCkpIHJldHVybiBVZSh0KTtcclxuICB9XHJcblxyXG4gIHZhciBoLFxyXG4gICAgICBsLFxyXG4gICAgICBmID0gXCJcIixcclxuICAgICAgYyA9ICExLFxyXG4gICAgICB1ID0gW1wie1wiLCBcIn1cIl07XHJcbiAgKGggPSB0LCBBcnJheS5pc0FycmF5KGgpICYmIChjID0gITAsIHUgPSBbXCJbXCIsIFwiXVwiXSksIHFlKHQpKSAmJiAoZiA9IFwiIFtGdW5jdGlvblwiICsgKHQubmFtZSA/IFwiOiBcIiArIHQubmFtZSA6IFwiXCIpICsgXCJdXCIpO1xyXG4gIHJldHVybiBXZSh0KSAmJiAoZiA9IFwiIFwiICsgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpKSwgS2UodCkgJiYgKGYgPSBcIiBcIiArIERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmNhbGwodCkpLCBYZSh0KSAmJiAoZiA9IFwiIFwiICsgVWUodCkpLCAwICE9PSBvLmxlbmd0aCB8fCBjICYmIDAgIT0gdC5sZW5ndGggPyByIDwgMCA/IFdlKHQpID8gZS5zdHlsaXplKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSwgXCJyZWdleHBcIikgOiBlLnN0eWxpemUoXCJbT2JqZWN0XVwiLCBcInNwZWNpYWxcIikgOiAoZS5zZWVuLnB1c2godCksIGwgPSBjID8gZnVuY3Rpb24gKGUsIHQsIHIsIG4sIGkpIHtcclxuICAgIGZvciAodmFyIG8gPSBbXSwgYSA9IDAsIHMgPSB0Lmxlbmd0aDsgYSA8IHM7ICsrYSkgR2UodCwgU3RyaW5nKGEpKSA/IG8ucHVzaChIZShlLCB0LCByLCBuLCBTdHJpbmcoYSksICEwKSkgOiBvLnB1c2goXCJcIik7XHJcblxyXG4gICAgcmV0dXJuIGkuZm9yRWFjaChmdW5jdGlvbiAoaSkge1xyXG4gICAgICBpLm1hdGNoKC9eXFxkKyQvKSB8fCBvLnB1c2goSGUoZSwgdCwgciwgbiwgaSwgITApKTtcclxuICAgIH0pLCBvO1xyXG4gIH0oZSwgdCwgciwgYSwgbykgOiBvLm1hcChmdW5jdGlvbiAobikge1xyXG4gICAgcmV0dXJuIEhlKGUsIHQsIHIsIGEsIG4sIGMpO1xyXG4gIH0pLCBlLnNlZW4ucG9wKCksIGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgICBpZiAoZS5yZWR1Y2UoZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgcmV0dXJuIHQuaW5kZXhPZihcIlxcblwiKSwgZSArIHQucmVwbGFjZSgvXFx1MDAxYlxcW1xcZFxcZD9tL2csIFwiXCIpLmxlbmd0aCArIDE7XHJcbiAgICB9LCAwKSA+IDYwKSByZXR1cm4gclswXSArIChcIlwiID09PSB0ID8gXCJcIiA6IHQgKyBcIlxcbiBcIikgKyBcIiBcIiArIGUuam9pbihcIixcXG4gIFwiKSArIFwiIFwiICsgclsxXTtcclxuICAgIHJldHVybiByWzBdICsgdCArIFwiIFwiICsgZS5qb2luKFwiLCBcIikgKyBcIiBcIiArIHJbMV07XHJcbiAgfShsLCBmLCB1KSkgOiB1WzBdICsgZiArIHVbMV07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFVlKGUpIHtcclxuICByZXR1cm4gXCJbXCIgKyBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSArIFwiXVwiO1xyXG59XHJcblxyXG5mdW5jdGlvbiBIZShlLCB0LCByLCBuLCBpLCBvKSB7XHJcbiAgdmFyIGEsIHMsIGg7XHJcblxyXG4gIGlmICgoaCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCwgaSkgfHwge1xyXG4gICAgdmFsdWU6IHRbaV1cclxuICB9KS5nZXQgPyBzID0gaC5zZXQgPyBlLnN0eWxpemUoXCJbR2V0dGVyL1NldHRlcl1cIiwgXCJzcGVjaWFsXCIpIDogZS5zdHlsaXplKFwiW0dldHRlcl1cIiwgXCJzcGVjaWFsXCIpIDogaC5zZXQgJiYgKHMgPSBlLnN0eWxpemUoXCJbU2V0dGVyXVwiLCBcInNwZWNpYWxcIikpLCBHZShuLCBpKSB8fCAoYSA9IFwiW1wiICsgaSArIFwiXVwiKSwgcyB8fCAoZS5zZWVuLmluZGV4T2YoaC52YWx1ZSkgPCAwID8gKHMgPSBOZShyKSA/IE9lKGUsIGgudmFsdWUsIG51bGwpIDogT2UoZSwgaC52YWx1ZSwgciAtIDEpKS5pbmRleE9mKFwiXFxuXCIpID4gLTEgJiYgKHMgPSBvID8gcy5zcGxpdChcIlxcblwiKS5tYXAoZnVuY3Rpb24gKGUpIHtcclxuICAgIHJldHVybiBcIiAgXCIgKyBlO1xyXG4gIH0pLmpvaW4oXCJcXG5cIikuc3Vic3RyKDIpIDogXCJcXG5cIiArIHMuc3BsaXQoXCJcXG5cIikubWFwKGZ1bmN0aW9uIChlKSB7XHJcbiAgICByZXR1cm4gXCIgICBcIiArIGU7XHJcbiAgfSkuam9pbihcIlxcblwiKSkgOiBzID0gZS5zdHlsaXplKFwiW0NpcmN1bGFyXVwiLCBcInNwZWNpYWxcIikpLCBqZShhKSkge1xyXG4gICAgaWYgKG8gJiYgaS5tYXRjaCgvXlxcZCskLykpIHJldHVybiBzO1xyXG4gICAgKGEgPSBKU09OLnN0cmluZ2lmeShcIlwiICsgaSkpLm1hdGNoKC9eXCIoW2EtekEtWl9dW2EtekEtWl8wLTldKilcIiQvKSA/IChhID0gYS5zdWJzdHIoMSwgYS5sZW5ndGggLSAyKSwgYSA9IGUuc3R5bGl6ZShhLCBcIm5hbWVcIikpIDogKGEgPSBhLnJlcGxhY2UoLycvZywgXCJcXFxcJ1wiKS5yZXBsYWNlKC9cXFxcXCIvZywgJ1wiJykucmVwbGFjZSgvKF5cInxcIiQpL2csIFwiJ1wiKSwgYSA9IGUuc3R5bGl6ZShhLCBcInN0cmluZ1wiKSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gYSArIFwiOiBcIiArIHM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEZlKGUpIHtcclxuICByZXR1cm4gXCJib29sZWFuXCIgPT0gdHlwZW9mIGU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIE5lKGUpIHtcclxuICByZXR1cm4gbnVsbCA9PT0gZTtcclxufVxyXG5cclxuZnVuY3Rpb24gWmUoZSkge1xyXG4gIHJldHVybiBcInN0cmluZ1wiID09IHR5cGVvZiBlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBqZShlKSB7XHJcbiAgcmV0dXJuIHZvaWQgMCA9PT0gZTtcclxufVxyXG5cclxuZnVuY3Rpb24gV2UoZSkge1xyXG4gIHJldHVybiBZZShlKSAmJiBcIltvYmplY3QgUmVnRXhwXVwiID09PSBWZShlKTtcclxufVxyXG5cclxuZnVuY3Rpb24gWWUoZSkge1xyXG4gIHJldHVybiBcIm9iamVjdFwiID09IHR5cGVvZiBlICYmIG51bGwgIT09IGU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEtlKGUpIHtcclxuICByZXR1cm4gWWUoZSkgJiYgXCJbb2JqZWN0IERhdGVdXCIgPT09IFZlKGUpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBYZShlKSB7XHJcbiAgcmV0dXJuIFllKGUpICYmIChcIltvYmplY3QgRXJyb3JdXCIgPT09IFZlKGUpIHx8IGUgaW5zdGFuY2VvZiBFcnJvcik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHFlKGUpIHtcclxuICByZXR1cm4gXCJmdW5jdGlvblwiID09IHR5cGVvZiBlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBWZShlKSB7XHJcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKTtcclxufVxyXG5cclxuZnVuY3Rpb24gR2UoZSwgdCkge1xyXG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwgdCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uICRlKCkge1xyXG4gIHRoaXMuaGVhZCA9IG51bGwsIHRoaXMudGFpbCA9IG51bGwsIHRoaXMubGVuZ3RoID0gMDtcclxufVxyXG5cclxuRGUuY29sb3JzID0ge1xyXG4gIGJvbGQ6IFsxLCAyMl0sXHJcbiAgaXRhbGljOiBbMywgMjNdLFxyXG4gIHVuZGVybGluZTogWzQsIDI0XSxcclxuICBpbnZlcnNlOiBbNywgMjddLFxyXG4gIHdoaXRlOiBbMzcsIDM5XSxcclxuICBncmV5OiBbOTAsIDM5XSxcclxuICBibGFjazogWzMwLCAzOV0sXHJcbiAgYmx1ZTogWzM0LCAzOV0sXHJcbiAgY3lhbjogWzM2LCAzOV0sXHJcbiAgZ3JlZW46IFszMiwgMzldLFxyXG4gIG1hZ2VudGE6IFszNSwgMzldLFxyXG4gIHJlZDogWzMxLCAzOV0sXHJcbiAgeWVsbG93OiBbMzMsIDM5XVxyXG59LCBEZS5zdHlsZXMgPSB7XHJcbiAgc3BlY2lhbDogXCJjeWFuXCIsXHJcbiAgbnVtYmVyOiBcInllbGxvd1wiLFxyXG4gIGJvb2xlYW46IFwieWVsbG93XCIsXHJcbiAgdW5kZWZpbmVkOiBcImdyZXlcIixcclxuICBudWxsOiBcImJvbGRcIixcclxuICBzdHJpbmc6IFwiZ3JlZW5cIixcclxuICBkYXRlOiBcIm1hZ2VudGFcIixcclxuICByZWdleHA6IFwicmVkXCJcclxufSwgJGUucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAoZSkge1xyXG4gIHZhciB0ID0ge1xyXG4gICAgZGF0YTogZSxcclxuICAgIG5leHQ6IG51bGxcclxuICB9O1xyXG4gIHRoaXMubGVuZ3RoID4gMCA/IHRoaXMudGFpbC5uZXh0ID0gdCA6IHRoaXMuaGVhZCA9IHQsIHRoaXMudGFpbCA9IHQsICsrdGhpcy5sZW5ndGg7XHJcbn0sICRlLnByb3RvdHlwZS51bnNoaWZ0ID0gZnVuY3Rpb24gKGUpIHtcclxuICB2YXIgdCA9IHtcclxuICAgIGRhdGE6IGUsXHJcbiAgICBuZXh0OiB0aGlzLmhlYWRcclxuICB9O1xyXG4gIDAgPT09IHRoaXMubGVuZ3RoICYmICh0aGlzLnRhaWwgPSB0KSwgdGhpcy5oZWFkID0gdCwgKyt0aGlzLmxlbmd0aDtcclxufSwgJGUucHJvdG90eXBlLnNoaWZ0ID0gZnVuY3Rpb24gKCkge1xyXG4gIGlmICgwICE9PSB0aGlzLmxlbmd0aCkge1xyXG4gICAgdmFyIGUgPSB0aGlzLmhlYWQuZGF0YTtcclxuICAgIHJldHVybiAxID09PSB0aGlzLmxlbmd0aCA/IHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGwgOiB0aGlzLmhlYWQgPSB0aGlzLmhlYWQubmV4dCwgLS10aGlzLmxlbmd0aCwgZTtcclxuICB9XHJcbn0sICRlLnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uICgpIHtcclxuICB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsLCB0aGlzLmxlbmd0aCA9IDA7XHJcbn0sICRlLnByb3RvdHlwZS5qb2luID0gZnVuY3Rpb24gKGUpIHtcclxuICBpZiAoMCA9PT0gdGhpcy5sZW5ndGgpIHJldHVybiBcIlwiO1xyXG5cclxuICBmb3IgKHZhciB0ID0gdGhpcy5oZWFkLCByID0gXCJcIiArIHQuZGF0YTsgdCA9IHQubmV4dDspIHIgKz0gZSArIHQuZGF0YTtcclxuXHJcbiAgcmV0dXJuIHI7XHJcbn0sICRlLnByb3RvdHlwZS5jb25jYXQgPSBmdW5jdGlvbiAoZSkge1xyXG4gIGlmICgwID09PSB0aGlzLmxlbmd0aCkgcmV0dXJuIHAuYWxsb2MoMCk7XHJcbiAgaWYgKDEgPT09IHRoaXMubGVuZ3RoKSByZXR1cm4gdGhpcy5oZWFkLmRhdGE7XHJcblxyXG4gIGZvciAodmFyIHQgPSBwLmFsbG9jVW5zYWZlKGUgPj4+IDApLCByID0gdGhpcy5oZWFkLCBuID0gMDsgcjspIHIuZGF0YS5jb3B5KHQsIG4pLCBuICs9IHIuZGF0YS5sZW5ndGgsIHIgPSByLm5leHQ7XHJcblxyXG4gIHJldHVybiB0O1xyXG59O1xyXG5cclxudmFyIEplID0gcC5pc0VuY29kaW5nIHx8IGZ1bmN0aW9uIChlKSB7XHJcbiAgc3dpdGNoIChlICYmIGUudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgY2FzZSBcImhleFwiOlxyXG4gICAgY2FzZSBcInV0ZjhcIjpcclxuICAgIGNhc2UgXCJ1dGYtOFwiOlxyXG4gICAgY2FzZSBcImFzY2lpXCI6XHJcbiAgICBjYXNlIFwiYmluYXJ5XCI6XHJcbiAgICBjYXNlIFwiYmFzZTY0XCI6XHJcbiAgICBjYXNlIFwidWNzMlwiOlxyXG4gICAgY2FzZSBcInVjcy0yXCI6XHJcbiAgICBjYXNlIFwidXRmMTZsZVwiOlxyXG4gICAgY2FzZSBcInV0Zi0xNmxlXCI6XHJcbiAgICBjYXNlIFwicmF3XCI6XHJcbiAgICAgIHJldHVybiAhMDtcclxuXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gITE7XHJcbiAgfVxyXG59O1xyXG5cclxuZnVuY3Rpb24gUWUoZSkge1xyXG4gIHN3aXRjaCAodGhpcy5lbmNvZGluZyA9IChlIHx8IFwidXRmOFwiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1stX10vLCBcIlwiKSwgZnVuY3Rpb24gKGUpIHtcclxuICAgIGlmIChlICYmICFKZShlKSkgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIgKyBlKTtcclxuICB9KGUpLCB0aGlzLmVuY29kaW5nKSB7XHJcbiAgICBjYXNlIFwidXRmOFwiOlxyXG4gICAgICB0aGlzLnN1cnJvZ2F0ZVNpemUgPSAzO1xyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBjYXNlIFwidWNzMlwiOlxyXG4gICAgY2FzZSBcInV0ZjE2bGVcIjpcclxuICAgICAgdGhpcy5zdXJyb2dhdGVTaXplID0gMiwgdGhpcy5kZXRlY3RJbmNvbXBsZXRlQ2hhciA9IHR0O1xyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBjYXNlIFwiYmFzZTY0XCI6XHJcbiAgICAgIHRoaXMuc3Vycm9nYXRlU2l6ZSA9IDMsIHRoaXMuZGV0ZWN0SW5jb21wbGV0ZUNoYXIgPSBydDtcclxuICAgICAgYnJlYWs7XHJcblxyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIHZvaWQgKHRoaXMud3JpdGUgPSBldCk7XHJcbiAgfVxyXG5cclxuICB0aGlzLmNoYXJCdWZmZXIgPSBuZXcgcCg2KSwgdGhpcy5jaGFyUmVjZWl2ZWQgPSAwLCB0aGlzLmNoYXJMZW5ndGggPSAwO1xyXG59XHJcblxyXG5mdW5jdGlvbiBldChlKSB7XHJcbiAgcmV0dXJuIGUudG9TdHJpbmcodGhpcy5lbmNvZGluZyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHR0KGUpIHtcclxuICB0aGlzLmNoYXJSZWNlaXZlZCA9IGUubGVuZ3RoICUgMiwgdGhpcy5jaGFyTGVuZ3RoID0gdGhpcy5jaGFyUmVjZWl2ZWQgPyAyIDogMDtcclxufVxyXG5cclxuZnVuY3Rpb24gcnQoZSkge1xyXG4gIHRoaXMuY2hhclJlY2VpdmVkID0gZS5sZW5ndGggJSAzLCB0aGlzLmNoYXJMZW5ndGggPSB0aGlzLmNoYXJSZWNlaXZlZCA/IDMgOiAwO1xyXG59XHJcblxyXG5RZS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoZSkge1xyXG4gIGZvciAodmFyIHQgPSBcIlwiOyB0aGlzLmNoYXJMZW5ndGg7KSB7XHJcbiAgICB2YXIgciA9IGUubGVuZ3RoID49IHRoaXMuY2hhckxlbmd0aCAtIHRoaXMuY2hhclJlY2VpdmVkID8gdGhpcy5jaGFyTGVuZ3RoIC0gdGhpcy5jaGFyUmVjZWl2ZWQgOiBlLmxlbmd0aDtcclxuICAgIGlmIChlLmNvcHkodGhpcy5jaGFyQnVmZmVyLCB0aGlzLmNoYXJSZWNlaXZlZCwgMCwgciksIHRoaXMuY2hhclJlY2VpdmVkICs9IHIsIHRoaXMuY2hhclJlY2VpdmVkIDwgdGhpcy5jaGFyTGVuZ3RoKSByZXR1cm4gXCJcIjtcclxuXHJcbiAgICBpZiAoZSA9IGUuc2xpY2UociwgZS5sZW5ndGgpLCAhKChpID0gKHQgPSB0aGlzLmNoYXJCdWZmZXIuc2xpY2UoMCwgdGhpcy5jaGFyTGVuZ3RoKS50b1N0cmluZyh0aGlzLmVuY29kaW5nKSkuY2hhckNvZGVBdCh0Lmxlbmd0aCAtIDEpKSA+PSA1NTI5NiAmJiBpIDw9IDU2MzE5KSkge1xyXG4gICAgICBpZiAodGhpcy5jaGFyUmVjZWl2ZWQgPSB0aGlzLmNoYXJMZW5ndGggPSAwLCAwID09PSBlLmxlbmd0aCkgcmV0dXJuIHQ7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2hhckxlbmd0aCArPSB0aGlzLnN1cnJvZ2F0ZVNpemUsIHQgPSBcIlwiO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5kZXRlY3RJbmNvbXBsZXRlQ2hhcihlKTtcclxuICB2YXIgbiA9IGUubGVuZ3RoO1xyXG4gIHRoaXMuY2hhckxlbmd0aCAmJiAoZS5jb3B5KHRoaXMuY2hhckJ1ZmZlciwgMCwgZS5sZW5ndGggLSB0aGlzLmNoYXJSZWNlaXZlZCwgbiksIG4gLT0gdGhpcy5jaGFyUmVjZWl2ZWQpO1xyXG4gIHZhciBpO1xyXG4gIG4gPSAodCArPSBlLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsIDAsIG4pKS5sZW5ndGggLSAxO1xyXG5cclxuICBpZiAoKGkgPSB0LmNoYXJDb2RlQXQobikpID49IDU1Mjk2ICYmIGkgPD0gNTYzMTkpIHtcclxuICAgIHZhciBvID0gdGhpcy5zdXJyb2dhdGVTaXplO1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhckxlbmd0aCArPSBvLCB0aGlzLmNoYXJSZWNlaXZlZCArPSBvLCB0aGlzLmNoYXJCdWZmZXIuY29weSh0aGlzLmNoYXJCdWZmZXIsIG8sIDAsIG8pLCBlLmNvcHkodGhpcy5jaGFyQnVmZmVyLCAwLCAwLCBvKSwgdC5zdWJzdHJpbmcoMCwgbik7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdDtcclxufSwgUWUucHJvdG90eXBlLmRldGVjdEluY29tcGxldGVDaGFyID0gZnVuY3Rpb24gKGUpIHtcclxuICBmb3IgKHZhciB0ID0gZS5sZW5ndGggPj0gMyA/IDMgOiBlLmxlbmd0aDsgdCA+IDA7IHQtLSkge1xyXG4gICAgdmFyIHIgPSBlW2UubGVuZ3RoIC0gdF07XHJcblxyXG4gICAgaWYgKDEgPT0gdCAmJiByID4+IDUgPT0gNikge1xyXG4gICAgICB0aGlzLmNoYXJMZW5ndGggPSAyO1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodCA8PSAyICYmIHIgPj4gNCA9PSAxNCkge1xyXG4gICAgICB0aGlzLmNoYXJMZW5ndGggPSAzO1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodCA8PSAzICYmIHIgPj4gMyA9PSAzMCkge1xyXG4gICAgICB0aGlzLmNoYXJMZW5ndGggPSA0O1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRoaXMuY2hhclJlY2VpdmVkID0gdDtcclxufSwgUWUucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgdmFyIHQgPSBcIlwiO1xyXG5cclxuICBpZiAoZSAmJiBlLmxlbmd0aCAmJiAodCA9IHRoaXMud3JpdGUoZSkpLCB0aGlzLmNoYXJSZWNlaXZlZCkge1xyXG4gICAgdmFyIHIgPSB0aGlzLmNoYXJSZWNlaXZlZCxcclxuICAgICAgICBuID0gdGhpcy5jaGFyQnVmZmVyLFxyXG4gICAgICAgIGkgPSB0aGlzLmVuY29kaW5nO1xyXG4gICAgdCArPSBuLnNsaWNlKDAsIHIpLnRvU3RyaW5nKGkpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHQ7XHJcbn0sIG90LlJlYWRhYmxlU3RhdGUgPSBpdDtcclxuXHJcbnZhciBudCA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgamUoTWUpICYmIChNZSA9IFwiXCIpLCBlID0gZS50b1VwcGVyQ2FzZSgpLCBDZVtlXSB8fCAobmV3IFJlZ0V4cChcIlxcXFxiXCIgKyBlICsgXCJcXFxcYlwiLCBcImlcIikudGVzdChNZSkgPyBDZVtlXSA9IGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciB0ID0gTGUuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcclxuICAgIGNvbnNvbGUuZXJyb3IoXCIlcyAlZDogJXNcIiwgZSwgMCwgdCk7XHJcbiAgfSA6IENlW2VdID0gZnVuY3Rpb24gKCkge30pO1xyXG4gIHJldHVybiBDZVtlXTtcclxufShcInN0cmVhbVwiKTtcclxuXHJcbmZ1bmN0aW9uIGl0KGUsIHQpIHtcclxuICBlID0gZSB8fCB7fSwgdGhpcy5vYmplY3RNb2RlID0gISFlLm9iamVjdE1vZGUsIHQgaW5zdGFuY2VvZiBDdCAmJiAodGhpcy5vYmplY3RNb2RlID0gdGhpcy5vYmplY3RNb2RlIHx8ICEhZS5yZWFkYWJsZU9iamVjdE1vZGUpO1xyXG4gIHZhciByID0gZS5oaWdoV2F0ZXJNYXJrLFxyXG4gICAgICBuID0gdGhpcy5vYmplY3RNb2RlID8gMTYgOiAxNjM4NDtcclxuICB0aGlzLmhpZ2hXYXRlck1hcmsgPSByIHx8IDAgPT09IHIgPyByIDogbiwgdGhpcy5oaWdoV2F0ZXJNYXJrID0gfn50aGlzLmhpZ2hXYXRlck1hcmssIHRoaXMuYnVmZmVyID0gbmV3ICRlKCksIHRoaXMubGVuZ3RoID0gMCwgdGhpcy5waXBlcyA9IG51bGwsIHRoaXMucGlwZXNDb3VudCA9IDAsIHRoaXMuZmxvd2luZyA9IG51bGwsIHRoaXMuZW5kZWQgPSAhMSwgdGhpcy5lbmRFbWl0dGVkID0gITEsIHRoaXMucmVhZGluZyA9ICExLCB0aGlzLnN5bmMgPSAhMCwgdGhpcy5uZWVkUmVhZGFibGUgPSAhMSwgdGhpcy5lbWl0dGVkUmVhZGFibGUgPSAhMSwgdGhpcy5yZWFkYWJsZUxpc3RlbmluZyA9ICExLCB0aGlzLnJlc3VtZVNjaGVkdWxlZCA9ICExLCB0aGlzLmRlZmF1bHRFbmNvZGluZyA9IGUuZGVmYXVsdEVuY29kaW5nIHx8IFwidXRmOFwiLCB0aGlzLnJhbk91dCA9ICExLCB0aGlzLmF3YWl0RHJhaW4gPSAwLCB0aGlzLnJlYWRpbmdNb3JlID0gITEsIHRoaXMuZGVjb2RlciA9IG51bGwsIHRoaXMuZW5jb2RpbmcgPSBudWxsLCBlLmVuY29kaW5nICYmICh0aGlzLmRlY29kZXIgPSBuZXcgUWUoZS5lbmNvZGluZyksIHRoaXMuZW5jb2RpbmcgPSBlLmVuY29kaW5nKTtcclxufVxyXG5cclxuZnVuY3Rpb24gb3QoZSkge1xyXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBvdCkpIHJldHVybiBuZXcgb3QoZSk7XHJcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZSA9IG5ldyBpdChlLCB0aGlzKSwgdGhpcy5yZWFkYWJsZSA9ICEwLCBlICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZS5yZWFkICYmICh0aGlzLl9yZWFkID0gZS5yZWFkKSwgdmUuY2FsbCh0aGlzKTtcclxufVxyXG5cclxuZnVuY3Rpb24gYXQoZSwgdCwgciwgbiwgaSkge1xyXG4gIHZhciBvID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIHZhciByID0gbnVsbDtcclxuICAgICQodCkgfHwgXCJzdHJpbmdcIiA9PSB0eXBlb2YgdCB8fCBudWxsID09IHQgfHwgZS5vYmplY3RNb2RlIHx8IChyID0gbmV3IFR5cGVFcnJvcihcIkludmFsaWQgbm9uLXN0cmluZy9idWZmZXIgY2h1bmtcIikpO1xyXG4gICAgcmV0dXJuIHI7XHJcbiAgfSh0LCByKTtcclxuXHJcbiAgaWYgKG8pIGUuZW1pdChcImVycm9yXCIsIG8pO2Vsc2UgaWYgKG51bGwgPT09IHIpIHQucmVhZGluZyA9ICExLCBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgaWYgKHQuZW5kZWQpIHJldHVybjtcclxuXHJcbiAgICBpZiAodC5kZWNvZGVyKSB7XHJcbiAgICAgIHZhciByID0gdC5kZWNvZGVyLmVuZCgpO1xyXG4gICAgICByICYmIHIubGVuZ3RoICYmICh0LmJ1ZmZlci5wdXNoKHIpLCB0Lmxlbmd0aCArPSB0Lm9iamVjdE1vZGUgPyAxIDogci5sZW5ndGgpO1xyXG4gICAgfVxyXG5cclxuICAgIHQuZW5kZWQgPSAhMCwgbHQoZSk7XHJcbiAgfShlLCB0KTtlbHNlIGlmICh0Lm9iamVjdE1vZGUgfHwgciAmJiByLmxlbmd0aCA+IDApIHtcclxuICAgIGlmICh0LmVuZGVkICYmICFpKSB7XHJcbiAgICAgIHZhciBhID0gbmV3IEVycm9yKFwic3RyZWFtLnB1c2goKSBhZnRlciBFT0ZcIik7XHJcbiAgICAgIGUuZW1pdChcImVycm9yXCIsIGEpO1xyXG4gICAgfSBlbHNlIGlmICh0LmVuZEVtaXR0ZWQgJiYgaSkge1xyXG4gICAgICB2YXIgcyA9IG5ldyBFcnJvcihcInN0cmVhbS51bnNoaWZ0KCkgYWZ0ZXIgZW5kIGV2ZW50XCIpO1xyXG4gICAgICBlLmVtaXQoXCJlcnJvclwiLCBzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHZhciBoO1xyXG4gICAgICAhdC5kZWNvZGVyIHx8IGkgfHwgbiB8fCAociA9IHQuZGVjb2Rlci53cml0ZShyKSwgaCA9ICF0Lm9iamVjdE1vZGUgJiYgMCA9PT0gci5sZW5ndGgpLCBpIHx8ICh0LnJlYWRpbmcgPSAhMSksIGggfHwgKHQuZmxvd2luZyAmJiAwID09PSB0Lmxlbmd0aCAmJiAhdC5zeW5jID8gKGUuZW1pdChcImRhdGFcIiwgciksIGUucmVhZCgwKSkgOiAodC5sZW5ndGggKz0gdC5vYmplY3RNb2RlID8gMSA6IHIubGVuZ3RoLCBpID8gdC5idWZmZXIudW5zaGlmdChyKSA6IHQuYnVmZmVyLnB1c2gociksIHQubmVlZFJlYWRhYmxlICYmIGx0KGUpKSksIGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgICAgdC5yZWFkaW5nTW9yZSB8fCAodC5yZWFkaW5nTW9yZSA9ICEwLCBkZShjdCwgZSwgdCkpO1xyXG4gICAgICB9KGUsIHQpO1xyXG4gICAgfVxyXG4gIH0gZWxzZSBpIHx8ICh0LnJlYWRpbmcgPSAhMSk7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIChlKSB7XHJcbiAgICByZXR1cm4gIWUuZW5kZWQgJiYgKGUubmVlZFJlYWRhYmxlIHx8IGUubGVuZ3RoIDwgZS5oaWdoV2F0ZXJNYXJrIHx8IDAgPT09IGUubGVuZ3RoKTtcclxuICB9KHQpO1xyXG59XHJcblxyXG5CZShvdCwgdmUpLCBvdC5wcm90b3R5cGUucHVzaCA9IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHIgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xyXG4gIHJldHVybiByLm9iamVjdE1vZGUgfHwgXCJzdHJpbmdcIiAhPSB0eXBlb2YgZSB8fCAodCA9IHQgfHwgci5kZWZhdWx0RW5jb2RpbmcpICE9PSByLmVuY29kaW5nICYmIChlID0gcC5mcm9tKGUsIHQpLCB0ID0gXCJcIiksIGF0KHRoaXMsIHIsIGUsIHQsICExKTtcclxufSwgb3QucHJvdG90eXBlLnVuc2hpZnQgPSBmdW5jdGlvbiAoZSkge1xyXG4gIHJldHVybiBhdCh0aGlzLCB0aGlzLl9yZWFkYWJsZVN0YXRlLCBlLCBcIlwiLCAhMCk7XHJcbn0sIG90LnByb3RvdHlwZS5pc1BhdXNlZCA9IGZ1bmN0aW9uICgpIHtcclxuICByZXR1cm4gITEgPT09IHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZztcclxufSwgb3QucHJvdG90eXBlLnNldEVuY29kaW5nID0gZnVuY3Rpb24gKGUpIHtcclxuICByZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyID0gbmV3IFFlKGUpLCB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nID0gZSwgdGhpcztcclxufTtcclxudmFyIHN0ID0gODM4ODYwODtcclxuXHJcbmZ1bmN0aW9uIGh0KGUsIHQpIHtcclxuICByZXR1cm4gZSA8PSAwIHx8IDAgPT09IHQubGVuZ3RoICYmIHQuZW5kZWQgPyAwIDogdC5vYmplY3RNb2RlID8gMSA6IGUgIT0gZSA/IHQuZmxvd2luZyAmJiB0Lmxlbmd0aCA/IHQuYnVmZmVyLmhlYWQuZGF0YS5sZW5ndGggOiB0Lmxlbmd0aCA6IChlID4gdC5oaWdoV2F0ZXJNYXJrICYmICh0LmhpZ2hXYXRlck1hcmsgPSBmdW5jdGlvbiAoZSkge1xyXG4gICAgcmV0dXJuIGUgPj0gc3QgPyBlID0gc3QgOiAoZS0tLCBlIHw9IGUgPj4+IDEsIGUgfD0gZSA+Pj4gMiwgZSB8PSBlID4+PiA0LCBlIHw9IGUgPj4+IDgsIGUgfD0gZSA+Pj4gMTYsIGUrKyksIGU7XHJcbiAgfShlKSksIGUgPD0gdC5sZW5ndGggPyBlIDogdC5lbmRlZCA/IHQubGVuZ3RoIDogKHQubmVlZFJlYWRhYmxlID0gITAsIDApKTtcclxufVxyXG5cclxuZnVuY3Rpb24gbHQoZSkge1xyXG4gIHZhciB0ID0gZS5fcmVhZGFibGVTdGF0ZTtcclxuICB0Lm5lZWRSZWFkYWJsZSA9ICExLCB0LmVtaXR0ZWRSZWFkYWJsZSB8fCAobnQoXCJlbWl0UmVhZGFibGVcIiwgdC5mbG93aW5nKSwgdC5lbWl0dGVkUmVhZGFibGUgPSAhMCwgdC5zeW5jID8gZGUoZnQsIGUpIDogZnQoZSkpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmdChlKSB7XHJcbiAgbnQoXCJlbWl0IHJlYWRhYmxlXCIpLCBlLmVtaXQoXCJyZWFkYWJsZVwiKSwgcHQoZSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGN0KGUsIHQpIHtcclxuICBmb3IgKHZhciByID0gdC5sZW5ndGg7ICF0LnJlYWRpbmcgJiYgIXQuZmxvd2luZyAmJiAhdC5lbmRlZCAmJiB0Lmxlbmd0aCA8IHQuaGlnaFdhdGVyTWFyayAmJiAobnQoXCJtYXliZVJlYWRNb3JlIHJlYWQgMFwiKSwgZS5yZWFkKDApLCByICE9PSB0Lmxlbmd0aCk7KSByID0gdC5sZW5ndGg7XHJcblxyXG4gIHQucmVhZGluZ01vcmUgPSAhMTtcclxufVxyXG5cclxuZnVuY3Rpb24gdXQoZSkge1xyXG4gIG50KFwicmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwXCIpLCBlLnJlYWQoMCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGR0KGUsIHQpIHtcclxuICB0LnJlYWRpbmcgfHwgKG50KFwicmVzdW1lIHJlYWQgMFwiKSwgZS5yZWFkKDApKSwgdC5yZXN1bWVTY2hlZHVsZWQgPSAhMSwgdC5hd2FpdERyYWluID0gMCwgZS5lbWl0KFwicmVzdW1lXCIpLCBwdChlKSwgdC5mbG93aW5nICYmICF0LnJlYWRpbmcgJiYgZS5yZWFkKDApO1xyXG59XHJcblxyXG5mdW5jdGlvbiBwdChlKSB7XHJcbiAgdmFyIHQgPSBlLl9yZWFkYWJsZVN0YXRlO1xyXG5cclxuICBmb3IgKG50KFwiZmxvd1wiLCB0LmZsb3dpbmcpOyB0LmZsb3dpbmcgJiYgbnVsbCAhPT0gZS5yZWFkKCk7KTtcclxufVxyXG5cclxuZnVuY3Rpb24gX3QoZSwgdCkge1xyXG4gIHJldHVybiAwID09PSB0Lmxlbmd0aCA/IG51bGwgOiAodC5vYmplY3RNb2RlID8gciA9IHQuYnVmZmVyLnNoaWZ0KCkgOiAhZSB8fCBlID49IHQubGVuZ3RoID8gKHIgPSB0LmRlY29kZXIgPyB0LmJ1ZmZlci5qb2luKFwiXCIpIDogMSA9PT0gdC5idWZmZXIubGVuZ3RoID8gdC5idWZmZXIuaGVhZC5kYXRhIDogdC5idWZmZXIuY29uY2F0KHQubGVuZ3RoKSwgdC5idWZmZXIuY2xlYXIoKSkgOiByID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICAgIHZhciBuO1xyXG4gICAgZSA8IHQuaGVhZC5kYXRhLmxlbmd0aCA/IChuID0gdC5oZWFkLmRhdGEuc2xpY2UoMCwgZSksIHQuaGVhZC5kYXRhID0gdC5oZWFkLmRhdGEuc2xpY2UoZSkpIDogbiA9IGUgPT09IHQuaGVhZC5kYXRhLmxlbmd0aCA/IHQuc2hpZnQoKSA6IHIgPyBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICB2YXIgciA9IHQuaGVhZCxcclxuICAgICAgICAgIG4gPSAxLFxyXG4gICAgICAgICAgaSA9IHIuZGF0YTtcclxuICAgICAgZSAtPSBpLmxlbmd0aDtcclxuXHJcbiAgICAgIGZvciAoOyByID0gci5uZXh0Oykge1xyXG4gICAgICAgIHZhciBvID0gci5kYXRhLFxyXG4gICAgICAgICAgICBhID0gZSA+IG8ubGVuZ3RoID8gby5sZW5ndGggOiBlO1xyXG5cclxuICAgICAgICBpZiAoYSA9PT0gby5sZW5ndGggPyBpICs9IG8gOiBpICs9IG8uc2xpY2UoMCwgZSksIDAgPT09IChlIC09IGEpKSB7XHJcbiAgICAgICAgICBhID09PSBvLmxlbmd0aCA/ICgrK24sIHIubmV4dCA/IHQuaGVhZCA9IHIubmV4dCA6IHQuaGVhZCA9IHQudGFpbCA9IG51bGwpIDogKHQuaGVhZCA9IHIsIHIuZGF0YSA9IG8uc2xpY2UoYSkpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICArK247XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0Lmxlbmd0aCAtPSBuLCBpO1xyXG4gICAgfShlLCB0KSA6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgIHZhciByID0gcC5hbGxvY1Vuc2FmZShlKSxcclxuICAgICAgICAgIG4gPSB0LmhlYWQsXHJcbiAgICAgICAgICBpID0gMTtcclxuICAgICAgbi5kYXRhLmNvcHkociksIGUgLT0gbi5kYXRhLmxlbmd0aDtcclxuXHJcbiAgICAgIGZvciAoOyBuID0gbi5uZXh0Oykge1xyXG4gICAgICAgIHZhciBvID0gbi5kYXRhLFxyXG4gICAgICAgICAgICBhID0gZSA+IG8ubGVuZ3RoID8gby5sZW5ndGggOiBlO1xyXG5cclxuICAgICAgICBpZiAoby5jb3B5KHIsIHIubGVuZ3RoIC0gZSwgMCwgYSksIDAgPT09IChlIC09IGEpKSB7XHJcbiAgICAgICAgICBhID09PSBvLmxlbmd0aCA/ICgrK2ksIG4ubmV4dCA/IHQuaGVhZCA9IG4ubmV4dCA6IHQuaGVhZCA9IHQudGFpbCA9IG51bGwpIDogKHQuaGVhZCA9IG4sIG4uZGF0YSA9IG8uc2xpY2UoYSkpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICArK2k7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0Lmxlbmd0aCAtPSBpLCByO1xyXG4gICAgfShlLCB0KTtcclxuICAgIHJldHVybiBuO1xyXG4gIH0oZSwgdC5idWZmZXIsIHQuZGVjb2RlciksIHIpO1xyXG4gIHZhciByO1xyXG59XHJcblxyXG5mdW5jdGlvbiBndChlKSB7XHJcbiAgdmFyIHQgPSBlLl9yZWFkYWJsZVN0YXRlO1xyXG4gIGlmICh0Lmxlbmd0aCA+IDApIHRocm93IG5ldyBFcnJvcignXCJlbmRSZWFkYWJsZSgpXCIgY2FsbGVkIG9uIG5vbi1lbXB0eSBzdHJlYW0nKTtcclxuICB0LmVuZEVtaXR0ZWQgfHwgKHQuZW5kZWQgPSAhMCwgZGUodnQsIHQsIGUpKTtcclxufVxyXG5cclxuZnVuY3Rpb24gdnQoZSwgdCkge1xyXG4gIGUuZW5kRW1pdHRlZCB8fCAwICE9PSBlLmxlbmd0aCB8fCAoZS5lbmRFbWl0dGVkID0gITAsIHQucmVhZGFibGUgPSAhMSwgdC5lbWl0KFwiZW5kXCIpKTtcclxufVxyXG5cclxuZnVuY3Rpb24gd3QoZSwgdCkge1xyXG4gIGZvciAodmFyIHIgPSAwLCBuID0gZS5sZW5ndGg7IHIgPCBuOyByKyspIGlmIChlW3JdID09PSB0KSByZXR1cm4gcjtcclxuXHJcbiAgcmV0dXJuIC0xO1xyXG59XHJcblxyXG5mdW5jdGlvbiBidCgpIHt9XHJcblxyXG5mdW5jdGlvbiB5dChlLCB0LCByKSB7XHJcbiAgdGhpcy5jaHVuayA9IGUsIHRoaXMuZW5jb2RpbmcgPSB0LCB0aGlzLmNhbGxiYWNrID0gciwgdGhpcy5uZXh0ID0gbnVsbDtcclxufVxyXG5cclxuZnVuY3Rpb24gbXQoZSwgdCkge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImJ1ZmZlclwiLCB7XHJcbiAgICBnZXQ6IFRlKGZ1bmN0aW9uICgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0QnVmZmVyKCk7XHJcbiAgICB9LCBcIl93cml0YWJsZVN0YXRlLmJ1ZmZlciBpcyBkZXByZWNhdGVkLiBVc2UgX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyIGluc3RlYWQuXCIpXHJcbiAgfSksIGUgPSBlIHx8IHt9LCB0aGlzLm9iamVjdE1vZGUgPSAhIWUub2JqZWN0TW9kZSwgdCBpbnN0YW5jZW9mIEN0ICYmICh0aGlzLm9iamVjdE1vZGUgPSB0aGlzLm9iamVjdE1vZGUgfHwgISFlLndyaXRhYmxlT2JqZWN0TW9kZSk7XHJcbiAgdmFyIHIgPSBlLmhpZ2hXYXRlck1hcmssXHJcbiAgICAgIG4gPSB0aGlzLm9iamVjdE1vZGUgPyAxNiA6IDE2Mzg0O1xyXG4gIHRoaXMuaGlnaFdhdGVyTWFyayA9IHIgfHwgMCA9PT0gciA/IHIgOiBuLCB0aGlzLmhpZ2hXYXRlck1hcmsgPSB+fnRoaXMuaGlnaFdhdGVyTWFyaywgdGhpcy5uZWVkRHJhaW4gPSAhMSwgdGhpcy5lbmRpbmcgPSAhMSwgdGhpcy5lbmRlZCA9ICExLCB0aGlzLmZpbmlzaGVkID0gITE7XHJcbiAgdmFyIGkgPSAhMSA9PT0gZS5kZWNvZGVTdHJpbmdzO1xyXG4gIHRoaXMuZGVjb2RlU3RyaW5ncyA9ICFpLCB0aGlzLmRlZmF1bHRFbmNvZGluZyA9IGUuZGVmYXVsdEVuY29kaW5nIHx8IFwidXRmOFwiLCB0aGlzLmxlbmd0aCA9IDAsIHRoaXMud3JpdGluZyA9ICExLCB0aGlzLmNvcmtlZCA9IDAsIHRoaXMuc3luYyA9ICEwLCB0aGlzLmJ1ZmZlclByb2Nlc3NpbmcgPSAhMSwgdGhpcy5vbndyaXRlID0gZnVuY3Rpb24gKGUpIHtcclxuICAgICFmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICB2YXIgciA9IGUuX3dyaXRhYmxlU3RhdGUsXHJcbiAgICAgICAgICBuID0gci5zeW5jLFxyXG4gICAgICAgICAgaSA9IHIud3JpdGVjYjtcclxuICAgICAgaWYgKGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgZS53cml0aW5nID0gITEsIGUud3JpdGVjYiA9IG51bGwsIGUubGVuZ3RoIC09IGUud3JpdGVsZW4sIGUud3JpdGVsZW4gPSAwO1xyXG4gICAgICB9KHIpLCB0KSAhZnVuY3Rpb24gKGUsIHQsIHIsIG4sIGkpIHtcclxuICAgICAgICAtLXQucGVuZGluZ2NiLCByID8gZGUoaSwgbikgOiBpKG4pO1xyXG4gICAgICAgIGUuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gITAsIGUuZW1pdChcImVycm9yXCIsIG4pO1xyXG4gICAgICB9KGUsIHIsIG4sIHQsIGkpO2Vsc2Uge1xyXG4gICAgICAgIHZhciBvID0gUnQocik7XHJcbiAgICAgICAgbyB8fCByLmNvcmtlZCB8fCByLmJ1ZmZlclByb2Nlc3NpbmcgfHwgIXIuYnVmZmVyZWRSZXF1ZXN0IHx8IHh0KGUsIHIpLCBuID8gZGUoU3QsIGUsIHIsIG8sIGkpIDogU3QoZSwgciwgbywgaSk7XHJcbiAgICAgIH1cclxuICAgIH0odCwgZSk7XHJcbiAgfSwgdGhpcy53cml0ZWNiID0gbnVsbCwgdGhpcy53cml0ZWxlbiA9IDAsIHRoaXMuYnVmZmVyZWRSZXF1ZXN0ID0gbnVsbCwgdGhpcy5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbCwgdGhpcy5wZW5kaW5nY2IgPSAwLCB0aGlzLnByZWZpbmlzaGVkID0gITEsIHRoaXMuZXJyb3JFbWl0dGVkID0gITEsIHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQgPSAwLCB0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZSA9IG5ldyB6dCh0aGlzKTtcclxufVxyXG5cclxuZnVuY3Rpb24ga3QoZSkge1xyXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBrdCB8fCB0aGlzIGluc3RhbmNlb2YgQ3QpKSByZXR1cm4gbmV3IGt0KGUpO1xyXG4gIHRoaXMuX3dyaXRhYmxlU3RhdGUgPSBuZXcgbXQoZSwgdGhpcyksIHRoaXMud3JpdGFibGUgPSAhMCwgZSAmJiAoXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLndyaXRlICYmICh0aGlzLl93cml0ZSA9IGUud3JpdGUpLCBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIGUud3JpdGV2ICYmICh0aGlzLl93cml0ZXYgPSBlLndyaXRldikpLCB2ZS5jYWxsKHRoaXMpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBFdChlLCB0LCByLCBuLCBpLCBvLCBhKSB7XHJcbiAgdC53cml0ZWxlbiA9IG4sIHQud3JpdGVjYiA9IGEsIHQud3JpdGluZyA9ICEwLCB0LnN5bmMgPSAhMCwgciA/IGUuX3dyaXRldihpLCB0Lm9ud3JpdGUpIDogZS5fd3JpdGUoaSwgbywgdC5vbndyaXRlKSwgdC5zeW5jID0gITE7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFN0KGUsIHQsIHIsIG4pIHtcclxuICByIHx8IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAwID09PSB0Lmxlbmd0aCAmJiB0Lm5lZWREcmFpbiAmJiAodC5uZWVkRHJhaW4gPSAhMSwgZS5lbWl0KFwiZHJhaW5cIikpO1xyXG4gIH0oZSwgdCksIHQucGVuZGluZ2NiLS0sIG4oKSwgQnQoZSwgdCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHh0KGUsIHQpIHtcclxuICB0LmJ1ZmZlclByb2Nlc3NpbmcgPSAhMDtcclxuICB2YXIgciA9IHQuYnVmZmVyZWRSZXF1ZXN0O1xyXG5cclxuICBpZiAoZS5fd3JpdGV2ICYmIHIgJiYgci5uZXh0KSB7XHJcbiAgICB2YXIgbiA9IHQuYnVmZmVyZWRSZXF1ZXN0Q291bnQsXHJcbiAgICAgICAgaSA9IG5ldyBBcnJheShuKSxcclxuICAgICAgICBvID0gdC5jb3JrZWRSZXF1ZXN0c0ZyZWU7XHJcbiAgICBvLmVudHJ5ID0gcjtcclxuXHJcbiAgICBmb3IgKHZhciBhID0gMDsgcjspIGlbYV0gPSByLCByID0gci5uZXh0LCBhICs9IDE7XHJcblxyXG4gICAgRXQoZSwgdCwgITAsIHQubGVuZ3RoLCBpLCBcIlwiLCBvLmZpbmlzaCksIHQucGVuZGluZ2NiKyssIHQubGFzdEJ1ZmZlcmVkUmVxdWVzdCA9IG51bGwsIG8ubmV4dCA/ICh0LmNvcmtlZFJlcXVlc3RzRnJlZSA9IG8ubmV4dCwgby5uZXh0ID0gbnVsbCkgOiB0LmNvcmtlZFJlcXVlc3RzRnJlZSA9IG5ldyB6dCh0KTtcclxuICB9IGVsc2Uge1xyXG4gICAgZm9yICg7IHI7KSB7XHJcbiAgICAgIHZhciBzID0gci5jaHVuayxcclxuICAgICAgICAgIGggPSByLmVuY29kaW5nLFxyXG4gICAgICAgICAgbCA9IHIuY2FsbGJhY2s7XHJcbiAgICAgIGlmIChFdChlLCB0LCAhMSwgdC5vYmplY3RNb2RlID8gMSA6IHMubGVuZ3RoLCBzLCBoLCBsKSwgciA9IHIubmV4dCwgdC53cml0aW5nKSBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBudWxsID09PSByICYmICh0Lmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsKTtcclxuICB9XHJcblxyXG4gIHQuYnVmZmVyZWRSZXF1ZXN0Q291bnQgPSAwLCB0LmJ1ZmZlcmVkUmVxdWVzdCA9IHIsIHQuYnVmZmVyUHJvY2Vzc2luZyA9ICExO1xyXG59XHJcblxyXG5mdW5jdGlvbiBSdChlKSB7XHJcbiAgcmV0dXJuIGUuZW5kaW5nICYmIDAgPT09IGUubGVuZ3RoICYmIG51bGwgPT09IGUuYnVmZmVyZWRSZXF1ZXN0ICYmICFlLmZpbmlzaGVkICYmICFlLndyaXRpbmc7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEF0KGUsIHQpIHtcclxuICB0LnByZWZpbmlzaGVkIHx8ICh0LnByZWZpbmlzaGVkID0gITAsIGUuZW1pdChcInByZWZpbmlzaFwiKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEJ0KGUsIHQpIHtcclxuICB2YXIgciA9IFJ0KHQpO1xyXG4gIHJldHVybiByICYmICgwID09PSB0LnBlbmRpbmdjYiA/IChBdChlLCB0KSwgdC5maW5pc2hlZCA9ICEwLCBlLmVtaXQoXCJmaW5pc2hcIikpIDogQXQoZSwgdCkpLCByO1xyXG59XHJcblxyXG5mdW5jdGlvbiB6dChlKSB7XHJcbiAgdmFyIHQgPSB0aGlzO1xyXG4gIHRoaXMubmV4dCA9IG51bGwsIHRoaXMuZW50cnkgPSBudWxsLCB0aGlzLmZpbmlzaCA9IGZ1bmN0aW9uIChyKSB7XHJcbiAgICB2YXIgbiA9IHQuZW50cnk7XHJcblxyXG4gICAgZm9yICh0LmVudHJ5ID0gbnVsbDsgbjspIHtcclxuICAgICAgdmFyIGkgPSBuLmNhbGxiYWNrO1xyXG4gICAgICBlLnBlbmRpbmdjYi0tLCBpKHIpLCBuID0gbi5uZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIGUuY29ya2VkUmVxdWVzdHNGcmVlID8gZS5jb3JrZWRSZXF1ZXN0c0ZyZWUubmV4dCA9IHQgOiBlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IHQ7XHJcbiAgfTtcclxufVxyXG5cclxub3QucHJvdG90eXBlLnJlYWQgPSBmdW5jdGlvbiAoZSkge1xyXG4gIG50KFwicmVhZFwiLCBlKSwgZSA9IHBhcnNlSW50KGUsIDEwKTtcclxuICB2YXIgdCA9IHRoaXMuX3JlYWRhYmxlU3RhdGUsXHJcbiAgICAgIHIgPSBlO1xyXG4gIGlmICgwICE9PSBlICYmICh0LmVtaXR0ZWRSZWFkYWJsZSA9ICExKSwgMCA9PT0gZSAmJiB0Lm5lZWRSZWFkYWJsZSAmJiAodC5sZW5ndGggPj0gdC5oaWdoV2F0ZXJNYXJrIHx8IHQuZW5kZWQpKSByZXR1cm4gbnQoXCJyZWFkOiBlbWl0UmVhZGFibGVcIiwgdC5sZW5ndGgsIHQuZW5kZWQpLCAwID09PSB0Lmxlbmd0aCAmJiB0LmVuZGVkID8gZ3QodGhpcykgOiBsdCh0aGlzKSwgbnVsbDtcclxuICBpZiAoMCA9PT0gKGUgPSBodChlLCB0KSkgJiYgdC5lbmRlZCkgcmV0dXJuIDAgPT09IHQubGVuZ3RoICYmIGd0KHRoaXMpLCBudWxsO1xyXG4gIHZhciBuLFxyXG4gICAgICBpID0gdC5uZWVkUmVhZGFibGU7XHJcbiAgcmV0dXJuIG50KFwibmVlZCByZWFkYWJsZVwiLCBpKSwgKDAgPT09IHQubGVuZ3RoIHx8IHQubGVuZ3RoIC0gZSA8IHQuaGlnaFdhdGVyTWFyaykgJiYgbnQoXCJsZW5ndGggbGVzcyB0aGFuIHdhdGVybWFya1wiLCBpID0gITApLCB0LmVuZGVkIHx8IHQucmVhZGluZyA/IG50KFwicmVhZGluZyBvciBlbmRlZFwiLCBpID0gITEpIDogaSAmJiAobnQoXCJkbyByZWFkXCIpLCB0LnJlYWRpbmcgPSAhMCwgdC5zeW5jID0gITAsIDAgPT09IHQubGVuZ3RoICYmICh0Lm5lZWRSZWFkYWJsZSA9ICEwKSwgdGhpcy5fcmVhZCh0LmhpZ2hXYXRlck1hcmspLCB0LnN5bmMgPSAhMSwgdC5yZWFkaW5nIHx8IChlID0gaHQociwgdCkpKSwgbnVsbCA9PT0gKG4gPSBlID4gMCA/IF90KGUsIHQpIDogbnVsbCkgPyAodC5uZWVkUmVhZGFibGUgPSAhMCwgZSA9IDApIDogdC5sZW5ndGggLT0gZSwgMCA9PT0gdC5sZW5ndGggJiYgKHQuZW5kZWQgfHwgKHQubmVlZFJlYWRhYmxlID0gITApLCByICE9PSBlICYmIHQuZW5kZWQgJiYgZ3QodGhpcykpLCBudWxsICE9PSBuICYmIHRoaXMuZW1pdChcImRhdGFcIiwgbiksIG47XHJcbn0sIG90LnByb3RvdHlwZS5fcmVhZCA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgdGhpcy5lbWl0KFwiZXJyb3JcIiwgbmV3IEVycm9yKFwibm90IGltcGxlbWVudGVkXCIpKTtcclxufSwgb3QucHJvdG90eXBlLnBpcGUgPSBmdW5jdGlvbiAoZSwgdCkge1xyXG4gIHZhciByID0gdGhpcyxcclxuICAgICAgbiA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XHJcblxyXG4gIHN3aXRjaCAobi5waXBlc0NvdW50KSB7XHJcbiAgICBjYXNlIDA6XHJcbiAgICAgIG4ucGlwZXMgPSBlO1xyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBjYXNlIDE6XHJcbiAgICAgIG4ucGlwZXMgPSBbbi5waXBlcywgZV07XHJcbiAgICAgIGJyZWFrO1xyXG5cclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIG4ucGlwZXMucHVzaChlKTtcclxuICB9XHJcblxyXG4gIG4ucGlwZXNDb3VudCArPSAxLCBudChcInBpcGUgY291bnQ9JWQgb3B0cz0lalwiLCBuLnBpcGVzQ291bnQsIHQpO1xyXG4gIHZhciBpID0gIXQgfHwgITEgIT09IHQuZW5kID8gYSA6IGw7XHJcblxyXG4gIGZ1bmN0aW9uIG8oZSkge1xyXG4gICAgbnQoXCJvbnVucGlwZVwiKSwgZSA9PT0gciAmJiBsKCk7XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBhKCkge1xyXG4gICAgbnQoXCJvbmVuZFwiKSwgZS5lbmQoKTtcclxuICB9XHJcblxyXG4gIG4uZW5kRW1pdHRlZCA/IGRlKGkpIDogci5vbmNlKFwiZW5kXCIsIGkpLCBlLm9uKFwidW5waXBlXCIsIG8pO1xyXG5cclxuICB2YXIgcyA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgICB2YXIgdCA9IGUuX3JlYWRhYmxlU3RhdGU7XHJcbiAgICAgIG50KFwicGlwZU9uRHJhaW5cIiwgdC5hd2FpdERyYWluKSwgdC5hd2FpdERyYWluICYmIHQuYXdhaXREcmFpbi0tLCAwID09PSB0LmF3YWl0RHJhaW4gJiYgZS5saXN0ZW5lcnMoXCJkYXRhXCIpLmxlbmd0aCAmJiAodC5mbG93aW5nID0gITAsIHB0KGUpKTtcclxuICAgIH07XHJcbiAgfShyKTtcclxuXHJcbiAgZS5vbihcImRyYWluXCIsIHMpO1xyXG4gIHZhciBoID0gITE7XHJcblxyXG4gIGZ1bmN0aW9uIGwoKSB7XHJcbiAgICBudChcImNsZWFudXBcIiksIGUucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLCBkKSwgZS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLCBwKSwgZS5yZW1vdmVMaXN0ZW5lcihcImRyYWluXCIsIHMpLCBlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIiwgdSksIGUucmVtb3ZlTGlzdGVuZXIoXCJ1bnBpcGVcIiwgbyksIHIucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIiwgYSksIHIucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIiwgbCksIHIucmVtb3ZlTGlzdGVuZXIoXCJkYXRhXCIsIGMpLCBoID0gITAsICFuLmF3YWl0RHJhaW4gfHwgZS5fd3JpdGFibGVTdGF0ZSAmJiAhZS5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW4gfHwgcygpO1xyXG4gIH1cclxuXHJcbiAgdmFyIGYgPSAhMTtcclxuXHJcbiAgZnVuY3Rpb24gYyh0KSB7XHJcbiAgICBudChcIm9uZGF0YVwiKSwgZiA9ICExLCAhMSAhPT0gZS53cml0ZSh0KSB8fCBmIHx8ICgoMSA9PT0gbi5waXBlc0NvdW50ICYmIG4ucGlwZXMgPT09IGUgfHwgbi5waXBlc0NvdW50ID4gMSAmJiAtMSAhPT0gd3Qobi5waXBlcywgZSkpICYmICFoICYmIChudChcImZhbHNlIHdyaXRlIHJlc3BvbnNlLCBwYXVzZVwiLCByLl9yZWFkYWJsZVN0YXRlLmF3YWl0RHJhaW4pLCByLl9yZWFkYWJsZVN0YXRlLmF3YWl0RHJhaW4rKywgZiA9ICEwKSwgci5wYXVzZSgpKTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIHUodCkge1xyXG4gICAgdmFyIHI7XHJcbiAgICBudChcIm9uZXJyb3JcIiwgdCksIF8oKSwgZS5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsIHUpLCAwID09PSAociA9IFwiZXJyb3JcIiwgZS5saXN0ZW5lcnMocikubGVuZ3RoKSAmJiBlLmVtaXQoXCJlcnJvclwiLCB0KTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIGQoKSB7XHJcbiAgICBlLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIsIHApLCBfKCk7XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBwKCkge1xyXG4gICAgbnQoXCJvbmZpbmlzaFwiKSwgZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsIGQpLCBfKCk7XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBfKCkge1xyXG4gICAgbnQoXCJ1bnBpcGVcIiksIHIudW5waXBlKGUpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHIub24oXCJkYXRhXCIsIGMpLCBmdW5jdGlvbiAoZSwgdCwgcikge1xyXG4gICAgaWYgKFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZS5wcmVwZW5kTGlzdGVuZXIpIHJldHVybiBlLnByZXBlbmRMaXN0ZW5lcih0LCByKTtcclxuICAgIGUuX2V2ZW50cyAmJiBlLl9ldmVudHNbdF0gPyBBcnJheS5pc0FycmF5KGUuX2V2ZW50c1t0XSkgPyBlLl9ldmVudHNbdF0udW5zaGlmdChyKSA6IGUuX2V2ZW50c1t0XSA9IFtyLCBlLl9ldmVudHNbdF1dIDogZS5vbih0LCByKTtcclxuICB9KGUsIFwiZXJyb3JcIiwgdSksIGUub25jZShcImNsb3NlXCIsIGQpLCBlLm9uY2UoXCJmaW5pc2hcIiwgcCksIGUuZW1pdChcInBpcGVcIiwgciksIG4uZmxvd2luZyB8fCAobnQoXCJwaXBlIHJlc3VtZVwiKSwgci5yZXN1bWUoKSksIGU7XHJcbn0sIG90LnByb3RvdHlwZS51bnBpcGUgPSBmdW5jdGlvbiAoZSkge1xyXG4gIHZhciB0ID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcclxuICBpZiAoMCA9PT0gdC5waXBlc0NvdW50KSByZXR1cm4gdGhpcztcclxuICBpZiAoMSA9PT0gdC5waXBlc0NvdW50KSByZXR1cm4gZSAmJiBlICE9PSB0LnBpcGVzID8gdGhpcyA6IChlIHx8IChlID0gdC5waXBlcyksIHQucGlwZXMgPSBudWxsLCB0LnBpcGVzQ291bnQgPSAwLCB0LmZsb3dpbmcgPSAhMSwgZSAmJiBlLmVtaXQoXCJ1bnBpcGVcIiwgdGhpcyksIHRoaXMpO1xyXG5cclxuICBpZiAoIWUpIHtcclxuICAgIHZhciByID0gdC5waXBlcyxcclxuICAgICAgICBuID0gdC5waXBlc0NvdW50O1xyXG4gICAgdC5waXBlcyA9IG51bGwsIHQucGlwZXNDb3VudCA9IDAsIHQuZmxvd2luZyA9ICExO1xyXG5cclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgaSsrKSByW2ldLmVtaXQoXCJ1bnBpcGVcIiwgdGhpcyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICB2YXIgbyA9IHd0KHQucGlwZXMsIGUpO1xyXG4gIHJldHVybiAtMSA9PT0gbyA/IHRoaXMgOiAodC5waXBlcy5zcGxpY2UobywgMSksIHQucGlwZXNDb3VudCAtPSAxLCAxID09PSB0LnBpcGVzQ291bnQgJiYgKHQucGlwZXMgPSB0LnBpcGVzWzBdKSwgZS5lbWl0KFwidW5waXBlXCIsIHRoaXMpLCB0aGlzKTtcclxufSwgb3QucHJvdG90eXBlLm9uID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgciA9IHZlLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsIGUsIHQpO1xyXG4gIGlmIChcImRhdGFcIiA9PT0gZSkgITEgIT09IHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyAmJiB0aGlzLnJlc3VtZSgpO2Vsc2UgaWYgKFwicmVhZGFibGVcIiA9PT0gZSkge1xyXG4gICAgdmFyIG4gPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xyXG4gICAgbi5lbmRFbWl0dGVkIHx8IG4ucmVhZGFibGVMaXN0ZW5pbmcgfHwgKG4ucmVhZGFibGVMaXN0ZW5pbmcgPSBuLm5lZWRSZWFkYWJsZSA9ICEwLCBuLmVtaXR0ZWRSZWFkYWJsZSA9ICExLCBuLnJlYWRpbmcgPyBuLmxlbmd0aCAmJiBsdCh0aGlzKSA6IGRlKHV0LCB0aGlzKSk7XHJcbiAgfVxyXG4gIHJldHVybiByO1xyXG59LCBvdC5wcm90b3R5cGUuYWRkTGlzdGVuZXIgPSBvdC5wcm90b3R5cGUub24sIG90LnByb3RvdHlwZS5yZXN1bWUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgdmFyIGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xyXG4gIHJldHVybiBlLmZsb3dpbmcgfHwgKG50KFwicmVzdW1lXCIpLCBlLmZsb3dpbmcgPSAhMCwgZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIHQucmVzdW1lU2NoZWR1bGVkIHx8ICh0LnJlc3VtZVNjaGVkdWxlZCA9ICEwLCBkZShkdCwgZSwgdCkpO1xyXG4gIH0odGhpcywgZSkpLCB0aGlzO1xyXG59LCBvdC5wcm90b3R5cGUucGF1c2UgPSBmdW5jdGlvbiAoKSB7XHJcbiAgcmV0dXJuIG50KFwiY2FsbCBwYXVzZSBmbG93aW5nPSVqXCIsIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyksICExICE9PSB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgJiYgKG50KFwicGF1c2VcIiksIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyA9ICExLCB0aGlzLmVtaXQoXCJwYXVzZVwiKSksIHRoaXM7XHJcbn0sIG90LnByb3RvdHlwZS53cmFwID0gZnVuY3Rpb24gKGUpIHtcclxuICB2YXIgdCA9IHRoaXMuX3JlYWRhYmxlU3RhdGUsXHJcbiAgICAgIHIgPSAhMSxcclxuICAgICAgbiA9IHRoaXM7XHJcblxyXG4gIGZvciAodmFyIGkgaW4gZS5vbihcImVuZFwiLCBmdW5jdGlvbiAoKSB7XHJcbiAgICBpZiAobnQoXCJ3cmFwcGVkIGVuZFwiKSwgdC5kZWNvZGVyICYmICF0LmVuZGVkKSB7XHJcbiAgICAgIHZhciBlID0gdC5kZWNvZGVyLmVuZCgpO1xyXG4gICAgICBlICYmIGUubGVuZ3RoICYmIG4ucHVzaChlKTtcclxuICAgIH1cclxuXHJcbiAgICBuLnB1c2gobnVsbCk7XHJcbiAgfSksIGUub24oXCJkYXRhXCIsIGZ1bmN0aW9uIChpKSB7XHJcbiAgICAobnQoXCJ3cmFwcGVkIGRhdGFcIiksIHQuZGVjb2RlciAmJiAoaSA9IHQuZGVjb2Rlci53cml0ZShpKSksIHQub2JqZWN0TW9kZSAmJiBudWxsID09IGkpIHx8ICh0Lm9iamVjdE1vZGUgfHwgaSAmJiBpLmxlbmd0aCkgJiYgKG4ucHVzaChpKSB8fCAociA9ICEwLCBlLnBhdXNlKCkpKTtcclxuICB9KSwgZSkgdm9pZCAwID09PSB0aGlzW2ldICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZVtpXSAmJiAodGhpc1tpXSA9IGZ1bmN0aW9uICh0KSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgICByZXR1cm4gZVt0XS5hcHBseShlLCBhcmd1bWVudHMpO1xyXG4gICAgfTtcclxuICB9KGkpKTtcclxuXHJcbiAgcmV0dXJuIGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICBmb3IgKHZhciByID0gMCwgbiA9IGUubGVuZ3RoOyByIDwgbjsgcisrKSB0KGVbcl0sIHIpO1xyXG4gIH0oW1wiZXJyb3JcIiwgXCJjbG9zZVwiLCBcImRlc3Ryb3lcIiwgXCJwYXVzZVwiLCBcInJlc3VtZVwiXSwgZnVuY3Rpb24gKHQpIHtcclxuICAgIGUub24odCwgbi5lbWl0LmJpbmQobiwgdCkpO1xyXG4gIH0pLCBuLl9yZWFkID0gZnVuY3Rpb24gKHQpIHtcclxuICAgIG50KFwid3JhcHBlZCBfcmVhZFwiLCB0KSwgciAmJiAociA9ICExLCBlLnJlc3VtZSgpKTtcclxuICB9LCBuO1xyXG59LCBvdC5fZnJvbUxpc3QgPSBfdCwga3QuV3JpdGFibGVTdGF0ZSA9IG10LCBCZShrdCwgdmUpLCBtdC5wcm90b3R5cGUuZ2V0QnVmZmVyID0gZnVuY3Rpb24gKCkge1xyXG4gIGZvciAodmFyIGUgPSB0aGlzLmJ1ZmZlcmVkUmVxdWVzdCwgdCA9IFtdOyBlOykgdC5wdXNoKGUpLCBlID0gZS5uZXh0O1xyXG5cclxuICByZXR1cm4gdDtcclxufSwga3QucHJvdG90eXBlLnBpcGUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgdGhpcy5lbWl0KFwiZXJyb3JcIiwgbmV3IEVycm9yKFwiQ2Fubm90IHBpcGUsIG5vdCByZWFkYWJsZVwiKSk7XHJcbn0sIGt0LnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgdmFyIG4gPSB0aGlzLl93cml0YWJsZVN0YXRlLFxyXG4gICAgICBpID0gITE7XHJcbiAgcmV0dXJuIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgdCAmJiAociA9IHQsIHQgPSBudWxsKSwgcC5pc0J1ZmZlcihlKSA/IHQgPSBcImJ1ZmZlclwiIDogdCB8fCAodCA9IG4uZGVmYXVsdEVuY29kaW5nKSwgXCJmdW5jdGlvblwiICE9IHR5cGVvZiByICYmIChyID0gYnQpLCBuLmVuZGVkID8gZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIHZhciByID0gbmV3IEVycm9yKFwid3JpdGUgYWZ0ZXIgZW5kXCIpO1xyXG4gICAgZS5lbWl0KFwiZXJyb3JcIiwgciksIGRlKHQsIHIpO1xyXG4gIH0odGhpcywgcikgOiBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xyXG4gICAgdmFyIGkgPSAhMCxcclxuICAgICAgICBvID0gITE7XHJcbiAgICByZXR1cm4gbnVsbCA9PT0gciA/IG8gPSBuZXcgVHlwZUVycm9yKFwiTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW1cIikgOiBwLmlzQnVmZmVyKHIpIHx8IFwic3RyaW5nXCIgPT0gdHlwZW9mIHIgfHwgdm9pZCAwID09PSByIHx8IHQub2JqZWN0TW9kZSB8fCAobyA9IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIG5vbi1zdHJpbmcvYnVmZmVyIGNodW5rXCIpKSwgbyAmJiAoZS5lbWl0KFwiZXJyb3JcIiwgbyksIGRlKG4sIG8pLCBpID0gITEpLCBpO1xyXG4gIH0odGhpcywgbiwgZSwgcikgJiYgKG4ucGVuZGluZ2NiKyssIGkgPSBmdW5jdGlvbiAoZSwgdCwgciwgbiwgaSkge1xyXG4gICAgciA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgICAgIHJldHVybiBlLm9iamVjdE1vZGUgfHwgITEgPT09IGUuZGVjb2RlU3RyaW5ncyB8fCBcInN0cmluZ1wiICE9IHR5cGVvZiB0IHx8ICh0ID0gcC5mcm9tKHQsIHIpKSwgdDtcclxuICAgIH0odCwgciwgbiksIHAuaXNCdWZmZXIocikgJiYgKG4gPSBcImJ1ZmZlclwiKTtcclxuICAgIHZhciBvID0gdC5vYmplY3RNb2RlID8gMSA6IHIubGVuZ3RoO1xyXG4gICAgdC5sZW5ndGggKz0gbztcclxuICAgIHZhciBhID0gdC5sZW5ndGggPCB0LmhpZ2hXYXRlck1hcms7XHJcbiAgICBhIHx8ICh0Lm5lZWREcmFpbiA9ICEwKTtcclxuXHJcbiAgICBpZiAodC53cml0aW5nIHx8IHQuY29ya2VkKSB7XHJcbiAgICAgIHZhciBzID0gdC5sYXN0QnVmZmVyZWRSZXF1ZXN0O1xyXG4gICAgICB0Lmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBuZXcgeXQociwgbiwgaSksIHMgPyBzLm5leHQgPSB0Lmxhc3RCdWZmZXJlZFJlcXVlc3QgOiB0LmJ1ZmZlcmVkUmVxdWVzdCA9IHQubGFzdEJ1ZmZlcmVkUmVxdWVzdCwgdC5idWZmZXJlZFJlcXVlc3RDb3VudCArPSAxO1xyXG4gICAgfSBlbHNlIEV0KGUsIHQsICExLCBvLCByLCBuLCBpKTtcclxuXHJcbiAgICByZXR1cm4gYTtcclxuICB9KHRoaXMsIG4sIGUsIHQsIHIpKSwgaTtcclxufSwga3QucHJvdG90eXBlLmNvcmsgPSBmdW5jdGlvbiAoKSB7XHJcbiAgdGhpcy5fd3JpdGFibGVTdGF0ZS5jb3JrZWQrKztcclxufSwga3QucHJvdG90eXBlLnVuY29yayA9IGZ1bmN0aW9uICgpIHtcclxuICB2YXIgZSA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XHJcbiAgZS5jb3JrZWQgJiYgKGUuY29ya2VkLS0sIGUud3JpdGluZyB8fCBlLmNvcmtlZCB8fCBlLmZpbmlzaGVkIHx8IGUuYnVmZmVyUHJvY2Vzc2luZyB8fCAhZS5idWZmZXJlZFJlcXVlc3QgfHwgeHQodGhpcywgZSkpO1xyXG59LCBrdC5wcm90b3R5cGUuc2V0RGVmYXVsdEVuY29kaW5nID0gZnVuY3Rpb24gKGUpIHtcclxuICBpZiAoXCJzdHJpbmdcIiA9PSB0eXBlb2YgZSAmJiAoZSA9IGUudG9Mb3dlckNhc2UoKSksICEoW1wiaGV4XCIsIFwidXRmOFwiLCBcInV0Zi04XCIsIFwiYXNjaWlcIiwgXCJiaW5hcnlcIiwgXCJiYXNlNjRcIiwgXCJ1Y3MyXCIsIFwidWNzLTJcIiwgXCJ1dGYxNmxlXCIsIFwidXRmLTE2bGVcIiwgXCJyYXdcIl0uaW5kZXhPZigoZSArIFwiXCIpLnRvTG93ZXJDYXNlKCkpID4gLTEpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIgKyBlKTtcclxuICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2RpbmcgPSBlLCB0aGlzO1xyXG59LCBrdC5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICByKG5ldyBFcnJvcihcIm5vdCBpbXBsZW1lbnRlZFwiKSk7XHJcbn0sIGt0LnByb3RvdHlwZS5fd3JpdGV2ID0gbnVsbCwga3QucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgdmFyIG4gPSB0aGlzLl93cml0YWJsZVN0YXRlO1xyXG4gIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZSA/IChyID0gZSwgZSA9IG51bGwsIHQgPSBudWxsKSA6IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgdCAmJiAociA9IHQsIHQgPSBudWxsKSwgbnVsbCAhPSBlICYmIHRoaXMud3JpdGUoZSwgdCksIG4uY29ya2VkICYmIChuLmNvcmtlZCA9IDEsIHRoaXMudW5jb3JrKCkpLCBuLmVuZGluZyB8fCBuLmZpbmlzaGVkIHx8IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgICB0LmVuZGluZyA9ICEwLCBCdChlLCB0KSwgciAmJiAodC5maW5pc2hlZCA/IGRlKHIpIDogZS5vbmNlKFwiZmluaXNoXCIsIHIpKTtcclxuICAgIHQuZW5kZWQgPSAhMCwgZS53cml0YWJsZSA9ICExO1xyXG4gIH0odGhpcywgbiwgcik7XHJcbn0sIEJlKEN0LCBvdCk7XHJcblxyXG5mb3IgKHZhciBMdCA9IE9iamVjdC5rZXlzKGt0LnByb3RvdHlwZSksIFR0ID0gMDsgVHQgPCBMdC5sZW5ndGg7IFR0KyspIHtcclxuICB2YXIgTXQgPSBMdFtUdF07XHJcbiAgQ3QucHJvdG90eXBlW010XSB8fCAoQ3QucHJvdG90eXBlW010XSA9IGt0LnByb3RvdHlwZVtNdF0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBDdChlKSB7XHJcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIEN0KSkgcmV0dXJuIG5ldyBDdChlKTtcclxuICBvdC5jYWxsKHRoaXMsIGUpLCBrdC5jYWxsKHRoaXMsIGUpLCBlICYmICExID09PSBlLnJlYWRhYmxlICYmICh0aGlzLnJlYWRhYmxlID0gITEpLCBlICYmICExID09PSBlLndyaXRhYmxlICYmICh0aGlzLndyaXRhYmxlID0gITEpLCB0aGlzLmFsbG93SGFsZk9wZW4gPSAhMCwgZSAmJiAhMSA9PT0gZS5hbGxvd0hhbGZPcGVuICYmICh0aGlzLmFsbG93SGFsZk9wZW4gPSAhMSksIHRoaXMub25jZShcImVuZFwiLCBEdCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIER0KCkge1xyXG4gIHRoaXMuYWxsb3dIYWxmT3BlbiB8fCB0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkIHx8IGRlKEl0LCB0aGlzKTtcclxufVxyXG5cclxuZnVuY3Rpb24gSXQoZSkge1xyXG4gIGUuZW5kKCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFB0KGUpIHtcclxuICB0aGlzLmFmdGVyVHJhbnNmb3JtID0gZnVuY3Rpb24gKHQsIHIpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAoZSwgdCwgcikge1xyXG4gICAgICB2YXIgbiA9IGUuX3RyYW5zZm9ybVN0YXRlO1xyXG4gICAgICBuLnRyYW5zZm9ybWluZyA9ICExO1xyXG4gICAgICB2YXIgaSA9IG4ud3JpdGVjYjtcclxuICAgICAgaWYgKCFpKSByZXR1cm4gZS5lbWl0KFwiZXJyb3JcIiwgbmV3IEVycm9yKFwibm8gd3JpdGVjYiBpbiBUcmFuc2Zvcm0gY2xhc3NcIikpO1xyXG4gICAgICBuLndyaXRlY2h1bmsgPSBudWxsLCBuLndyaXRlY2IgPSBudWxsLCBudWxsICE9IHIgJiYgZS5wdXNoKHIpO1xyXG4gICAgICBpKHQpO1xyXG4gICAgICB2YXIgbyA9IGUuX3JlYWRhYmxlU3RhdGU7XHJcbiAgICAgIG8ucmVhZGluZyA9ICExLCAoby5uZWVkUmVhZGFibGUgfHwgby5sZW5ndGggPCBvLmhpZ2hXYXRlck1hcmspICYmIGUuX3JlYWQoby5oaWdoV2F0ZXJNYXJrKTtcclxuICAgIH0oZSwgdCwgcik7XHJcbiAgfSwgdGhpcy5uZWVkVHJhbnNmb3JtID0gITEsIHRoaXMudHJhbnNmb3JtaW5nID0gITEsIHRoaXMud3JpdGVjYiA9IG51bGwsIHRoaXMud3JpdGVjaHVuayA9IG51bGwsIHRoaXMud3JpdGVlbmNvZGluZyA9IG51bGw7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIE90KGUpIHtcclxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgT3QpKSByZXR1cm4gbmV3IE90KGUpO1xyXG4gIEN0LmNhbGwodGhpcywgZSksIHRoaXMuX3RyYW5zZm9ybVN0YXRlID0gbmV3IFB0KHRoaXMpO1xyXG4gIHZhciB0ID0gdGhpcztcclxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLm5lZWRSZWFkYWJsZSA9ICEwLCB0aGlzLl9yZWFkYWJsZVN0YXRlLnN5bmMgPSAhMSwgZSAmJiAoXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLnRyYW5zZm9ybSAmJiAodGhpcy5fdHJhbnNmb3JtID0gZS50cmFuc2Zvcm0pLCBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIGUuZmx1c2ggJiYgKHRoaXMuX2ZsdXNoID0gZS5mbHVzaCkpLCB0aGlzLm9uY2UoXCJwcmVmaW5pc2hcIiwgZnVuY3Rpb24gKCkge1xyXG4gICAgXCJmdW5jdGlvblwiID09IHR5cGVvZiB0aGlzLl9mbHVzaCA/IHRoaXMuX2ZsdXNoKGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgIFV0KHQsIGUpO1xyXG4gICAgfSkgOiBVdCh0KTtcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gVXQoZSwgdCkge1xyXG4gIGlmICh0KSByZXR1cm4gZS5lbWl0KFwiZXJyb3JcIiwgdCk7XHJcbiAgdmFyIHIgPSBlLl93cml0YWJsZVN0YXRlLFxyXG4gICAgICBuID0gZS5fdHJhbnNmb3JtU3RhdGU7XHJcbiAgaWYgKHIubGVuZ3RoKSB0aHJvdyBuZXcgRXJyb3IoXCJDYWxsaW5nIHRyYW5zZm9ybSBkb25lIHdoZW4gd3MubGVuZ3RoICE9IDBcIik7XHJcbiAgaWYgKG4udHJhbnNmb3JtaW5nKSB0aHJvdyBuZXcgRXJyb3IoXCJDYWxsaW5nIHRyYW5zZm9ybSBkb25lIHdoZW4gc3RpbGwgdHJhbnNmb3JtaW5nXCIpO1xyXG4gIHJldHVybiBlLnB1c2gobnVsbCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEh0KGUpIHtcclxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgSHQpKSByZXR1cm4gbmV3IEh0KGUpO1xyXG4gIE90LmNhbGwodGhpcywgZSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEZ0KCkge1xyXG4gIHZlLmNhbGwodGhpcyk7XHJcbn1cclxuXHJcbkJlKE90LCBDdCksIE90LnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICByZXR1cm4gdGhpcy5fdHJhbnNmb3JtU3RhdGUubmVlZFRyYW5zZm9ybSA9ICExLCBDdC5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsIGUsIHQpO1xyXG59LCBPdC5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpO1xyXG59LCBPdC5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICB2YXIgbiA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xyXG5cclxuICBpZiAobi53cml0ZWNiID0gciwgbi53cml0ZWNodW5rID0gZSwgbi53cml0ZWVuY29kaW5nID0gdCwgIW4udHJhbnNmb3JtaW5nKSB7XHJcbiAgICB2YXIgaSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XHJcbiAgICAobi5uZWVkVHJhbnNmb3JtIHx8IGkubmVlZFJlYWRhYmxlIHx8IGkubGVuZ3RoIDwgaS5oaWdoV2F0ZXJNYXJrKSAmJiB0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayk7XHJcbiAgfVxyXG59LCBPdC5wcm90b3R5cGUuX3JlYWQgPSBmdW5jdGlvbiAoZSkge1xyXG4gIHZhciB0ID0gdGhpcy5fdHJhbnNmb3JtU3RhdGU7XHJcbiAgbnVsbCAhPT0gdC53cml0ZWNodW5rICYmIHQud3JpdGVjYiAmJiAhdC50cmFuc2Zvcm1pbmcgPyAodC50cmFuc2Zvcm1pbmcgPSAhMCwgdGhpcy5fdHJhbnNmb3JtKHQud3JpdGVjaHVuaywgdC53cml0ZWVuY29kaW5nLCB0LmFmdGVyVHJhbnNmb3JtKSkgOiB0Lm5lZWRUcmFuc2Zvcm0gPSAhMDtcclxufSwgQmUoSHQsIE90KSwgSHQucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoZSwgdCwgcikge1xyXG4gIHIobnVsbCwgZSk7XHJcbn0sIEJlKEZ0LCB2ZSksIEZ0LlJlYWRhYmxlID0gb3QsIEZ0LldyaXRhYmxlID0ga3QsIEZ0LkR1cGxleCA9IEN0LCBGdC5UcmFuc2Zvcm0gPSBPdCwgRnQuUGFzc1Rocm91Z2ggPSBIdCwgRnQuU3RyZWFtID0gRnQsIEZ0LnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgciA9IHRoaXM7XHJcblxyXG4gIGZ1bmN0aW9uIG4odCkge1xyXG4gICAgZS53cml0YWJsZSAmJiAhMSA9PT0gZS53cml0ZSh0KSAmJiByLnBhdXNlICYmIHIucGF1c2UoKTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIGkoKSB7XHJcbiAgICByLnJlYWRhYmxlICYmIHIucmVzdW1lICYmIHIucmVzdW1lKCk7XHJcbiAgfVxyXG5cclxuICByLm9uKFwiZGF0YVwiLCBuKSwgZS5vbihcImRyYWluXCIsIGkpLCBlLl9pc1N0ZGlvIHx8IHQgJiYgITEgPT09IHQuZW5kIHx8IChyLm9uKFwiZW5kXCIsIGEpLCByLm9uKFwiY2xvc2VcIiwgcykpO1xyXG4gIHZhciBvID0gITE7XHJcblxyXG4gIGZ1bmN0aW9uIGEoKSB7XHJcbiAgICBvIHx8IChvID0gITAsIGUuZW5kKCkpO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gcygpIHtcclxuICAgIG8gfHwgKG8gPSAhMCwgXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLmRlc3Ryb3kgJiYgZS5kZXN0cm95KCkpO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gaChlKSB7XHJcbiAgICBpZiAobCgpLCAwID09PSB2ZS5saXN0ZW5lckNvdW50KHRoaXMsIFwiZXJyb3JcIikpIHRocm93IGU7XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBsKCkge1xyXG4gICAgci5yZW1vdmVMaXN0ZW5lcihcImRhdGFcIiwgbiksIGUucmVtb3ZlTGlzdGVuZXIoXCJkcmFpblwiLCBpKSwgci5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLCBhKSwgci5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsIHMpLCByLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIiwgaCksIGUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLCBoKSwgci5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLCBsKSwgci5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsIGwpLCBlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIiwgbCk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gci5vbihcImVycm9yXCIsIGgpLCBlLm9uKFwiZXJyb3JcIiwgaCksIHIub24oXCJlbmRcIiwgbCksIHIub24oXCJjbG9zZVwiLCBsKSwgZS5vbihcImNsb3NlXCIsIGwpLCBlLmVtaXQoXCJwaXBlXCIsIHIpLCBlO1xyXG59O1xyXG52YXIgTnQgPSB7XHJcbiAgMjogXCJuZWVkIGRpY3Rpb25hcnlcIixcclxuICAxOiBcInN0cmVhbSBlbmRcIixcclxuICAwOiBcIlwiLFxyXG4gIFwiLTFcIjogXCJmaWxlIGVycm9yXCIsXHJcbiAgXCItMlwiOiBcInN0cmVhbSBlcnJvclwiLFxyXG4gIFwiLTNcIjogXCJkYXRhIGVycm9yXCIsXHJcbiAgXCItNFwiOiBcImluc3VmZmljaWVudCBtZW1vcnlcIixcclxuICBcIi01XCI6IFwiYnVmZmVyIGVycm9yXCIsXHJcbiAgXCItNlwiOiBcImluY29tcGF0aWJsZSB2ZXJzaW9uXCJcclxufTtcclxuXHJcbmZ1bmN0aW9uIFp0KCkge1xyXG4gIHRoaXMuaW5wdXQgPSBudWxsLCB0aGlzLm5leHRfaW4gPSAwLCB0aGlzLmF2YWlsX2luID0gMCwgdGhpcy50b3RhbF9pbiA9IDAsIHRoaXMub3V0cHV0ID0gbnVsbCwgdGhpcy5uZXh0X291dCA9IDAsIHRoaXMuYXZhaWxfb3V0ID0gMCwgdGhpcy50b3RhbF9vdXQgPSAwLCB0aGlzLm1zZyA9IFwiXCIsIHRoaXMuc3RhdGUgPSBudWxsLCB0aGlzLmRhdGFfdHlwZSA9IDIsIHRoaXMuYWRsZXIgPSAwO1xyXG59XHJcblxyXG5mdW5jdGlvbiBqdChlLCB0LCByLCBuLCBpKSB7XHJcbiAgaWYgKHQuc3ViYXJyYXkgJiYgZS5zdWJhcnJheSkgZS5zZXQodC5zdWJhcnJheShyLCByICsgbiksIGkpO2Vsc2UgZm9yICh2YXIgbyA9IDA7IG8gPCBuOyBvKyspIGVbaSArIG9dID0gdFtyICsgb107XHJcbn1cclxuXHJcbnZhciBXdCA9IFVpbnQ4QXJyYXksXHJcbiAgICBZdCA9IFVpbnQxNkFycmF5LFxyXG4gICAgS3QgPSBJbnQzMkFycmF5LFxyXG4gICAgWHQgPSA0LFxyXG4gICAgcXQgPSAwLFxyXG4gICAgVnQgPSAxLFxyXG4gICAgR3QgPSAyO1xyXG5cclxuZnVuY3Rpb24gJHQoZSkge1xyXG4gIGZvciAodmFyIHQgPSBlLmxlbmd0aDsgLS10ID49IDA7KSBlW3RdID0gMDtcclxufVxyXG5cclxudmFyIEp0ID0gMCxcclxuICAgIFF0ID0gMSxcclxuICAgIGVyID0gMixcclxuICAgIHRyID0gMjksXHJcbiAgICByciA9IDI1NixcclxuICAgIG5yID0gcnIgKyAxICsgdHIsXHJcbiAgICBpciA9IDMwLFxyXG4gICAgb3IgPSAxOSxcclxuICAgIGFyID0gMiAqIG5yICsgMSxcclxuICAgIHNyID0gMTUsXHJcbiAgICBociA9IDE2LFxyXG4gICAgbHIgPSA3LFxyXG4gICAgZnIgPSAyNTYsXHJcbiAgICBjciA9IDE2LFxyXG4gICAgdXIgPSAxNyxcclxuICAgIGRyID0gMTgsXHJcbiAgICBwciA9IFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAyLCAyLCAyLCAyLCAzLCAzLCAzLCAzLCA0LCA0LCA0LCA0LCA1LCA1LCA1LCA1LCAwXSxcclxuICAgIF9yID0gWzAsIDAsIDAsIDAsIDEsIDEsIDIsIDIsIDMsIDMsIDQsIDQsIDUsIDUsIDYsIDYsIDcsIDcsIDgsIDgsIDksIDksIDEwLCAxMCwgMTEsIDExLCAxMiwgMTIsIDEzLCAxM10sXHJcbiAgICBnciA9IFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyLCAzLCA3XSxcclxuICAgIHZyID0gWzE2LCAxNywgMTgsIDAsIDgsIDcsIDksIDYsIDEwLCA1LCAxMSwgNCwgMTIsIDMsIDEzLCAyLCAxNCwgMSwgMTVdLFxyXG4gICAgd3IgPSBuZXcgQXJyYXkoMiAqIChuciArIDIpKTtcclxuJHQod3IpO1xyXG52YXIgYnIgPSBuZXcgQXJyYXkoMiAqIGlyKTtcclxuJHQoYnIpO1xyXG52YXIgeXIgPSBuZXcgQXJyYXkoNTEyKTtcclxuJHQoeXIpO1xyXG52YXIgbXIgPSBuZXcgQXJyYXkoMjU2KTtcclxuJHQobXIpO1xyXG52YXIga3IgPSBuZXcgQXJyYXkodHIpO1xyXG4kdChrcik7XHJcbnZhciBFcixcclxuICAgIFNyLFxyXG4gICAgeHIsXHJcbiAgICBSciA9IG5ldyBBcnJheShpcik7XHJcblxyXG5mdW5jdGlvbiBBcihlLCB0LCByLCBuLCBpKSB7XHJcbiAgdGhpcy5zdGF0aWNfdHJlZSA9IGUsIHRoaXMuZXh0cmFfYml0cyA9IHQsIHRoaXMuZXh0cmFfYmFzZSA9IHIsIHRoaXMuZWxlbXMgPSBuLCB0aGlzLm1heF9sZW5ndGggPSBpLCB0aGlzLmhhc19zdHJlZSA9IGUgJiYgZS5sZW5ndGg7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEJyKGUsIHQpIHtcclxuICB0aGlzLmR5bl90cmVlID0gZSwgdGhpcy5tYXhfY29kZSA9IDAsIHRoaXMuc3RhdF9kZXNjID0gdDtcclxufVxyXG5cclxuZnVuY3Rpb24genIoZSkge1xyXG4gIHJldHVybiBlIDwgMjU2ID8geXJbZV0gOiB5clsyNTYgKyAoZSA+Pj4gNyldO1xyXG59XHJcblxyXG5mdW5jdGlvbiBMcihlLCB0KSB7XHJcbiAgZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK10gPSAyNTUgJiB0LCBlLnBlbmRpbmdfYnVmW2UucGVuZGluZysrXSA9IHQgPj4+IDggJiAyNTU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFRyKGUsIHQsIHIpIHtcclxuICBlLmJpX3ZhbGlkID4gaHIgLSByID8gKGUuYmlfYnVmIHw9IHQgPDwgZS5iaV92YWxpZCAmIDY1NTM1LCBMcihlLCBlLmJpX2J1ZiksIGUuYmlfYnVmID0gdCA+PiBociAtIGUuYmlfdmFsaWQsIGUuYmlfdmFsaWQgKz0gciAtIGhyKSA6IChlLmJpX2J1ZiB8PSB0IDw8IGUuYmlfdmFsaWQgJiA2NTUzNSwgZS5iaV92YWxpZCArPSByKTtcclxufVxyXG5cclxuZnVuY3Rpb24gTXIoZSwgdCwgcikge1xyXG4gIFRyKGUsIHJbMiAqIHRdLCByWzIgKiB0ICsgMV0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBDcihlLCB0KSB7XHJcbiAgdmFyIHIgPSAwO1xyXG5cclxuICBkbyB7XHJcbiAgICByIHw9IDEgJiBlLCBlID4+Pj0gMSwgciA8PD0gMTtcclxuICB9IHdoaWxlICgtLXQgPiAwKTtcclxuXHJcbiAgcmV0dXJuIHIgPj4+IDE7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIERyKGUsIHQsIHIpIHtcclxuICB2YXIgbixcclxuICAgICAgaSxcclxuICAgICAgbyA9IG5ldyBBcnJheShzciArIDEpLFxyXG4gICAgICBhID0gMDtcclxuXHJcbiAgZm9yIChuID0gMTsgbiA8PSBzcjsgbisrKSBvW25dID0gYSA9IGEgKyByW24gLSAxXSA8PCAxO1xyXG5cclxuICBmb3IgKGkgPSAwOyBpIDw9IHQ7IGkrKykge1xyXG4gICAgdmFyIHMgPSBlWzIgKiBpICsgMV07XHJcbiAgICAwICE9PSBzICYmIChlWzIgKiBpXSA9IENyKG9bc10rKywgcykpO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gSXIoZSkge1xyXG4gIHZhciB0O1xyXG5cclxuICBmb3IgKHQgPSAwOyB0IDwgbnI7IHQrKykgZS5keW5fbHRyZWVbMiAqIHRdID0gMDtcclxuXHJcbiAgZm9yICh0ID0gMDsgdCA8IGlyOyB0KyspIGUuZHluX2R0cmVlWzIgKiB0XSA9IDA7XHJcblxyXG4gIGZvciAodCA9IDA7IHQgPCBvcjsgdCsrKSBlLmJsX3RyZWVbMiAqIHRdID0gMDtcclxuXHJcbiAgZS5keW5fbHRyZWVbMiAqIGZyXSA9IDEsIGUub3B0X2xlbiA9IGUuc3RhdGljX2xlbiA9IDAsIGUubGFzdF9saXQgPSBlLm1hdGNoZXMgPSAwO1xyXG59XHJcblxyXG5mdW5jdGlvbiBQcihlKSB7XHJcbiAgZS5iaV92YWxpZCA+IDggPyBMcihlLCBlLmJpX2J1ZikgOiBlLmJpX3ZhbGlkID4gMCAmJiAoZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK10gPSBlLmJpX2J1ZiksIGUuYmlfYnVmID0gMCwgZS5iaV92YWxpZCA9IDA7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIE9yKGUsIHQsIHIsIG4pIHtcclxuICB2YXIgaSA9IDIgKiB0LFxyXG4gICAgICBvID0gMiAqIHI7XHJcbiAgcmV0dXJuIGVbaV0gPCBlW29dIHx8IGVbaV0gPT09IGVbb10gJiYgblt0XSA8PSBuW3JdO1xyXG59XHJcblxyXG5mdW5jdGlvbiBVcihlLCB0LCByKSB7XHJcbiAgZm9yICh2YXIgbiA9IGUuaGVhcFtyXSwgaSA9IHIgPDwgMTsgaSA8PSBlLmhlYXBfbGVuICYmIChpIDwgZS5oZWFwX2xlbiAmJiBPcih0LCBlLmhlYXBbaSArIDFdLCBlLmhlYXBbaV0sIGUuZGVwdGgpICYmIGkrKywgIU9yKHQsIG4sIGUuaGVhcFtpXSwgZS5kZXB0aCkpOykgZS5oZWFwW3JdID0gZS5oZWFwW2ldLCByID0gaSwgaSA8PD0gMTtcclxuXHJcbiAgZS5oZWFwW3JdID0gbjtcclxufVxyXG5cclxuZnVuY3Rpb24gSHIoZSwgdCwgcikge1xyXG4gIHZhciBuLFxyXG4gICAgICBpLFxyXG4gICAgICBvLFxyXG4gICAgICBhLFxyXG4gICAgICBzID0gMDtcclxuICBpZiAoMCAhPT0gZS5sYXN0X2xpdCkgZG8ge1xyXG4gICAgbiA9IGUucGVuZGluZ19idWZbZS5kX2J1ZiArIDIgKiBzXSA8PCA4IHwgZS5wZW5kaW5nX2J1ZltlLmRfYnVmICsgMiAqIHMgKyAxXSwgaSA9IGUucGVuZGluZ19idWZbZS5sX2J1ZiArIHNdLCBzKyssIDAgPT09IG4gPyBNcihlLCBpLCB0KSA6IChNcihlLCAobyA9IG1yW2ldKSArIHJyICsgMSwgdCksIDAgIT09IChhID0gcHJbb10pICYmIFRyKGUsIGkgLT0ga3Jbb10sIGEpLCBNcihlLCBvID0genIoLS1uKSwgciksIDAgIT09IChhID0gX3Jbb10pICYmIFRyKGUsIG4gLT0gUnJbb10sIGEpKTtcclxuICB9IHdoaWxlIChzIDwgZS5sYXN0X2xpdCk7XHJcbiAgTXIoZSwgZnIsIHQpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBGcihlLCB0KSB7XHJcbiAgdmFyIHIsXHJcbiAgICAgIG4sXHJcbiAgICAgIGksXHJcbiAgICAgIG8gPSB0LmR5bl90cmVlLFxyXG4gICAgICBhID0gdC5zdGF0X2Rlc2Muc3RhdGljX3RyZWUsXHJcbiAgICAgIHMgPSB0LnN0YXRfZGVzYy5oYXNfc3RyZWUsXHJcbiAgICAgIGggPSB0LnN0YXRfZGVzYy5lbGVtcyxcclxuICAgICAgbCA9IC0xO1xyXG5cclxuICBmb3IgKGUuaGVhcF9sZW4gPSAwLCBlLmhlYXBfbWF4ID0gYXIsIHIgPSAwOyByIDwgaDsgcisrKSAwICE9PSBvWzIgKiByXSA/IChlLmhlYXBbKytlLmhlYXBfbGVuXSA9IGwgPSByLCBlLmRlcHRoW3JdID0gMCkgOiBvWzIgKiByICsgMV0gPSAwO1xyXG5cclxuICBmb3IgKDsgZS5oZWFwX2xlbiA8IDI7KSBvWzIgKiAoaSA9IGUuaGVhcFsrK2UuaGVhcF9sZW5dID0gbCA8IDIgPyArK2wgOiAwKV0gPSAxLCBlLmRlcHRoW2ldID0gMCwgZS5vcHRfbGVuLS0sIHMgJiYgKGUuc3RhdGljX2xlbiAtPSBhWzIgKiBpICsgMV0pO1xyXG5cclxuICBmb3IgKHQubWF4X2NvZGUgPSBsLCByID0gZS5oZWFwX2xlbiA+PiAxOyByID49IDE7IHItLSkgVXIoZSwgbywgcik7XHJcblxyXG4gIGkgPSBoO1xyXG5cclxuICBkbyB7XHJcbiAgICByID0gZS5oZWFwWzFdLCBlLmhlYXBbMV0gPSBlLmhlYXBbZS5oZWFwX2xlbi0tXSwgVXIoZSwgbywgMSksIG4gPSBlLmhlYXBbMV0sIGUuaGVhcFstLWUuaGVhcF9tYXhdID0gciwgZS5oZWFwWy0tZS5oZWFwX21heF0gPSBuLCBvWzIgKiBpXSA9IG9bMiAqIHJdICsgb1syICogbl0sIGUuZGVwdGhbaV0gPSAoZS5kZXB0aFtyXSA+PSBlLmRlcHRoW25dID8gZS5kZXB0aFtyXSA6IGUuZGVwdGhbbl0pICsgMSwgb1syICogciArIDFdID0gb1syICogbiArIDFdID0gaSwgZS5oZWFwWzFdID0gaSsrLCBVcihlLCBvLCAxKTtcclxuICB9IHdoaWxlIChlLmhlYXBfbGVuID49IDIpO1xyXG5cclxuICBlLmhlYXBbLS1lLmhlYXBfbWF4XSA9IGUuaGVhcFsxXSwgZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIHZhciByLFxyXG4gICAgICAgIG4sXHJcbiAgICAgICAgaSxcclxuICAgICAgICBvLFxyXG4gICAgICAgIGEsXHJcbiAgICAgICAgcyxcclxuICAgICAgICBoID0gdC5keW5fdHJlZSxcclxuICAgICAgICBsID0gdC5tYXhfY29kZSxcclxuICAgICAgICBmID0gdC5zdGF0X2Rlc2Muc3RhdGljX3RyZWUsXHJcbiAgICAgICAgYyA9IHQuc3RhdF9kZXNjLmhhc19zdHJlZSxcclxuICAgICAgICB1ID0gdC5zdGF0X2Rlc2MuZXh0cmFfYml0cyxcclxuICAgICAgICBkID0gdC5zdGF0X2Rlc2MuZXh0cmFfYmFzZSxcclxuICAgICAgICBwID0gdC5zdGF0X2Rlc2MubWF4X2xlbmd0aCxcclxuICAgICAgICBfID0gMDtcclxuXHJcbiAgICBmb3IgKG8gPSAwOyBvIDw9IHNyOyBvKyspIGUuYmxfY291bnRbb10gPSAwO1xyXG5cclxuICAgIGZvciAoaFsyICogZS5oZWFwW2UuaGVhcF9tYXhdICsgMV0gPSAwLCByID0gZS5oZWFwX21heCArIDE7IHIgPCBhcjsgcisrKSAobyA9IGhbMiAqIGhbMiAqIChuID0gZS5oZWFwW3JdKSArIDFdICsgMV0gKyAxKSA+IHAgJiYgKG8gPSBwLCBfKyspLCBoWzIgKiBuICsgMV0gPSBvLCBuID4gbCB8fCAoZS5ibF9jb3VudFtvXSsrLCBhID0gMCwgbiA+PSBkICYmIChhID0gdVtuIC0gZF0pLCBzID0gaFsyICogbl0sIGUub3B0X2xlbiArPSBzICogKG8gKyBhKSwgYyAmJiAoZS5zdGF0aWNfbGVuICs9IHMgKiAoZlsyICogbiArIDFdICsgYSkpKTtcclxuXHJcbiAgICBpZiAoMCAhPT0gXykge1xyXG4gICAgICBkbyB7XHJcbiAgICAgICAgZm9yIChvID0gcCAtIDE7IDAgPT09IGUuYmxfY291bnRbb107KSBvLS07XHJcblxyXG4gICAgICAgIGUuYmxfY291bnRbb10tLSwgZS5ibF9jb3VudFtvICsgMV0gKz0gMiwgZS5ibF9jb3VudFtwXS0tLCBfIC09IDI7XHJcbiAgICAgIH0gd2hpbGUgKF8gPiAwKTtcclxuXHJcbiAgICAgIGZvciAobyA9IHA7IDAgIT09IG87IG8tLSkgZm9yIChuID0gZS5ibF9jb3VudFtvXTsgMCAhPT0gbjspIChpID0gZS5oZWFwWy0tcl0pID4gbCB8fCAoaFsyICogaSArIDFdICE9PSBvICYmIChlLm9wdF9sZW4gKz0gKG8gLSBoWzIgKiBpICsgMV0pICogaFsyICogaV0sIGhbMiAqIGkgKyAxXSA9IG8pLCBuLS0pO1xyXG4gICAgfVxyXG4gIH0oZSwgdCksIERyKG8sIGwsIGUuYmxfY291bnQpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBOcihlLCB0LCByKSB7XHJcbiAgdmFyIG4sXHJcbiAgICAgIGksXHJcbiAgICAgIG8gPSAtMSxcclxuICAgICAgYSA9IHRbMV0sXHJcbiAgICAgIHMgPSAwLFxyXG4gICAgICBoID0gNyxcclxuICAgICAgbCA9IDQ7XHJcblxyXG4gIGZvciAoMCA9PT0gYSAmJiAoaCA9IDEzOCwgbCA9IDMpLCB0WzIgKiAociArIDEpICsgMV0gPSA2NTUzNSwgbiA9IDA7IG4gPD0gcjsgbisrKSBpID0gYSwgYSA9IHRbMiAqIChuICsgMSkgKyAxXSwgKytzIDwgaCAmJiBpID09PSBhIHx8IChzIDwgbCA/IGUuYmxfdHJlZVsyICogaV0gKz0gcyA6IDAgIT09IGkgPyAoaSAhPT0gbyAmJiBlLmJsX3RyZWVbMiAqIGldKyssIGUuYmxfdHJlZVsyICogY3JdKyspIDogcyA8PSAxMCA/IGUuYmxfdHJlZVsyICogdXJdKysgOiBlLmJsX3RyZWVbMiAqIGRyXSsrLCBzID0gMCwgbyA9IGksIDAgPT09IGEgPyAoaCA9IDEzOCwgbCA9IDMpIDogaSA9PT0gYSA/IChoID0gNiwgbCA9IDMpIDogKGggPSA3LCBsID0gNCkpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBacihlLCB0LCByKSB7XHJcbiAgdmFyIG4sXHJcbiAgICAgIGksXHJcbiAgICAgIG8gPSAtMSxcclxuICAgICAgYSA9IHRbMV0sXHJcbiAgICAgIHMgPSAwLFxyXG4gICAgICBoID0gNyxcclxuICAgICAgbCA9IDQ7XHJcblxyXG4gIGZvciAoMCA9PT0gYSAmJiAoaCA9IDEzOCwgbCA9IDMpLCBuID0gMDsgbiA8PSByOyBuKyspIGlmIChpID0gYSwgYSA9IHRbMiAqIChuICsgMSkgKyAxXSwgISgrK3MgPCBoICYmIGkgPT09IGEpKSB7XHJcbiAgICBpZiAocyA8IGwpIGRvIHtcclxuICAgICAgTXIoZSwgaSwgZS5ibF90cmVlKTtcclxuICAgIH0gd2hpbGUgKDAgIT0gLS1zKTtlbHNlIDAgIT09IGkgPyAoaSAhPT0gbyAmJiAoTXIoZSwgaSwgZS5ibF90cmVlKSwgcy0tKSwgTXIoZSwgY3IsIGUuYmxfdHJlZSksIFRyKGUsIHMgLSAzLCAyKSkgOiBzIDw9IDEwID8gKE1yKGUsIHVyLCBlLmJsX3RyZWUpLCBUcihlLCBzIC0gMywgMykpIDogKE1yKGUsIGRyLCBlLmJsX3RyZWUpLCBUcihlLCBzIC0gMTEsIDcpKTtcclxuICAgIHMgPSAwLCBvID0gaSwgMCA9PT0gYSA/IChoID0gMTM4LCBsID0gMykgOiBpID09PSBhID8gKGggPSA2LCBsID0gMykgOiAoaCA9IDcsIGwgPSA0KTtcclxuICB9XHJcbn1cclxuXHJcbiR0KFJyKTtcclxudmFyIGpyID0gITE7XHJcblxyXG5mdW5jdGlvbiBXcihlKSB7XHJcbiAganIgfHwgKCFmdW5jdGlvbiAoKSB7XHJcbiAgICB2YXIgZSxcclxuICAgICAgICB0LFxyXG4gICAgICAgIHIsXHJcbiAgICAgICAgbixcclxuICAgICAgICBpLFxyXG4gICAgICAgIG8gPSBuZXcgQXJyYXkoc3IgKyAxKTtcclxuXHJcbiAgICBmb3IgKHIgPSAwLCBuID0gMDsgbiA8IHRyIC0gMTsgbisrKSBmb3IgKGtyW25dID0gciwgZSA9IDA7IGUgPCAxIDw8IHByW25dOyBlKyspIG1yW3IrK10gPSBuO1xyXG5cclxuICAgIGZvciAobXJbciAtIDFdID0gbiwgaSA9IDAsIG4gPSAwOyBuIDwgMTY7IG4rKykgZm9yIChScltuXSA9IGksIGUgPSAwOyBlIDwgMSA8PCBfcltuXTsgZSsrKSB5cltpKytdID0gbjtcclxuXHJcbiAgICBmb3IgKGkgPj49IDc7IG4gPCBpcjsgbisrKSBmb3IgKFJyW25dID0gaSA8PCA3LCBlID0gMDsgZSA8IDEgPDwgX3Jbbl0gLSA3OyBlKyspIHlyWzI1NiArIGkrK10gPSBuO1xyXG5cclxuICAgIGZvciAodCA9IDA7IHQgPD0gc3I7IHQrKykgb1t0XSA9IDA7XHJcblxyXG4gICAgZm9yIChlID0gMDsgZSA8PSAxNDM7KSB3clsyICogZSArIDFdID0gOCwgZSsrLCBvWzhdKys7XHJcblxyXG4gICAgZm9yICg7IGUgPD0gMjU1Oykgd3JbMiAqIGUgKyAxXSA9IDksIGUrKywgb1s5XSsrO1xyXG5cclxuICAgIGZvciAoOyBlIDw9IDI3OTspIHdyWzIgKiBlICsgMV0gPSA3LCBlKyssIG9bN10rKztcclxuXHJcbiAgICBmb3IgKDsgZSA8PSAyODc7KSB3clsyICogZSArIDFdID0gOCwgZSsrLCBvWzhdKys7XHJcblxyXG4gICAgZm9yIChEcih3ciwgbnIgKyAxLCBvKSwgZSA9IDA7IGUgPCBpcjsgZSsrKSBiclsyICogZSArIDFdID0gNSwgYnJbMiAqIGVdID0gQ3IoZSwgNSk7XHJcblxyXG4gICAgRXIgPSBuZXcgQXIod3IsIHByLCByciArIDEsIG5yLCBzciksIFNyID0gbmV3IEFyKGJyLCBfciwgMCwgaXIsIHNyKSwgeHIgPSBuZXcgQXIobmV3IEFycmF5KDApLCBnciwgMCwgb3IsIGxyKTtcclxuICB9KCksIGpyID0gITApLCBlLmxfZGVzYyA9IG5ldyBCcihlLmR5bl9sdHJlZSwgRXIpLCBlLmRfZGVzYyA9IG5ldyBCcihlLmR5bl9kdHJlZSwgU3IpLCBlLmJsX2Rlc2MgPSBuZXcgQnIoZS5ibF90cmVlLCB4ciksIGUuYmlfYnVmID0gMCwgZS5iaV92YWxpZCA9IDAsIElyKGUpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBZcihlLCB0LCByLCBuKSB7XHJcbiAgVHIoZSwgKEp0IDw8IDEpICsgKG4gPyAxIDogMCksIDMpLCBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xyXG4gICAgUHIoZSksIG4gJiYgKExyKGUsIHIpLCBMcihlLCB+cikpLCBqdChlLnBlbmRpbmdfYnVmLCBlLndpbmRvdywgdCwgciwgZS5wZW5kaW5nKSwgZS5wZW5kaW5nICs9IHI7XHJcbiAgfShlLCB0LCByLCAhMCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEtyKGUpIHtcclxuICBUcihlLCBRdCA8PCAxLCAzKSwgTXIoZSwgZnIsIHdyKSwgZnVuY3Rpb24gKGUpIHtcclxuICAgIDE2ID09PSBlLmJpX3ZhbGlkID8gKExyKGUsIGUuYmlfYnVmKSwgZS5iaV9idWYgPSAwLCBlLmJpX3ZhbGlkID0gMCkgOiBlLmJpX3ZhbGlkID49IDggJiYgKGUucGVuZGluZ19idWZbZS5wZW5kaW5nKytdID0gMjU1ICYgZS5iaV9idWYsIGUuYmlfYnVmID4+PSA4LCBlLmJpX3ZhbGlkIC09IDgpO1xyXG4gIH0oZSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFhyKGUsIHQsIHIsIG4pIHtcclxuICB2YXIgaSxcclxuICAgICAgbyxcclxuICAgICAgYSA9IDA7XHJcbiAgZS5sZXZlbCA+IDAgPyAoZS5zdHJtLmRhdGFfdHlwZSA9PT0gR3QgJiYgKGUuc3RybS5kYXRhX3R5cGUgPSBmdW5jdGlvbiAoZSkge1xyXG4gICAgdmFyIHQsXHJcbiAgICAgICAgciA9IDQwOTM2MjQ0NDc7XHJcblxyXG4gICAgZm9yICh0ID0gMDsgdCA8PSAzMTsgdCsrLCByID4+Pj0gMSkgaWYgKDEgJiByICYmIDAgIT09IGUuZHluX2x0cmVlWzIgKiB0XSkgcmV0dXJuIHF0O1xyXG5cclxuICAgIGlmICgwICE9PSBlLmR5bl9sdHJlZVsxOF0gfHwgMCAhPT0gZS5keW5fbHRyZWVbMjBdIHx8IDAgIT09IGUuZHluX2x0cmVlWzI2XSkgcmV0dXJuIFZ0O1xyXG5cclxuICAgIGZvciAodCA9IDMyOyB0IDwgcnI7IHQrKykgaWYgKDAgIT09IGUuZHluX2x0cmVlWzIgKiB0XSkgcmV0dXJuIFZ0O1xyXG5cclxuICAgIHJldHVybiBxdDtcclxuICB9KGUpKSwgRnIoZSwgZS5sX2Rlc2MpLCBGcihlLCBlLmRfZGVzYyksIGEgPSBmdW5jdGlvbiAoZSkge1xyXG4gICAgdmFyIHQ7XHJcblxyXG4gICAgZm9yIChOcihlLCBlLmR5bl9sdHJlZSwgZS5sX2Rlc2MubWF4X2NvZGUpLCBOcihlLCBlLmR5bl9kdHJlZSwgZS5kX2Rlc2MubWF4X2NvZGUpLCBGcihlLCBlLmJsX2Rlc2MpLCB0ID0gb3IgLSAxOyB0ID49IDMgJiYgMCA9PT0gZS5ibF90cmVlWzIgKiB2clt0XSArIDFdOyB0LS0pO1xyXG5cclxuICAgIHJldHVybiBlLm9wdF9sZW4gKz0gMyAqICh0ICsgMSkgKyA1ICsgNSArIDQsIHQ7XHJcbiAgfShlKSwgaSA9IGUub3B0X2xlbiArIDMgKyA3ID4+PiAzLCAobyA9IGUuc3RhdGljX2xlbiArIDMgKyA3ID4+PiAzKSA8PSBpICYmIChpID0gbykpIDogaSA9IG8gPSByICsgNSwgciArIDQgPD0gaSAmJiAtMSAhPT0gdCA/IFlyKGUsIHQsIHIsIG4pIDogZS5zdHJhdGVneSA9PT0gWHQgfHwgbyA9PT0gaSA/IChUcihlLCAoUXQgPDwgMSkgKyAobiA/IDEgOiAwKSwgMyksIEhyKGUsIHdyLCBicikpIDogKFRyKGUsIChlciA8PCAxKSArIChuID8gMSA6IDApLCAzKSwgZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcclxuICAgIHZhciBpO1xyXG5cclxuICAgIGZvciAoVHIoZSwgdCAtIDI1NywgNSksIFRyKGUsIHIgLSAxLCA1KSwgVHIoZSwgbiAtIDQsIDQpLCBpID0gMDsgaSA8IG47IGkrKykgVHIoZSwgZS5ibF90cmVlWzIgKiB2cltpXSArIDFdLCAzKTtcclxuXHJcbiAgICBacihlLCBlLmR5bl9sdHJlZSwgdCAtIDEpLCBacihlLCBlLmR5bl9kdHJlZSwgciAtIDEpO1xyXG4gIH0oZSwgZS5sX2Rlc2MubWF4X2NvZGUgKyAxLCBlLmRfZGVzYy5tYXhfY29kZSArIDEsIGEgKyAxKSwgSHIoZSwgZS5keW5fbHRyZWUsIGUuZHluX2R0cmVlKSksIElyKGUpLCBuICYmIFByKGUpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBxcihlLCB0LCByKSB7XHJcbiAgcmV0dXJuIGUucGVuZGluZ19idWZbZS5kX2J1ZiArIDIgKiBlLmxhc3RfbGl0XSA9IHQgPj4+IDggJiAyNTUsIGUucGVuZGluZ19idWZbZS5kX2J1ZiArIDIgKiBlLmxhc3RfbGl0ICsgMV0gPSAyNTUgJiB0LCBlLnBlbmRpbmdfYnVmW2UubF9idWYgKyBlLmxhc3RfbGl0XSA9IDI1NSAmIHIsIGUubGFzdF9saXQrKywgMCA9PT0gdCA/IGUuZHluX2x0cmVlWzIgKiByXSsrIDogKGUubWF0Y2hlcysrLCB0LS0sIGUuZHluX2x0cmVlWzIgKiAobXJbcl0gKyByciArIDEpXSsrLCBlLmR5bl9kdHJlZVsyICogenIodCldKyspLCBlLmxhc3RfbGl0ID09PSBlLmxpdF9idWZzaXplIC0gMTtcclxufVxyXG5cclxuZnVuY3Rpb24gVnIoZSwgdCwgciwgbikge1xyXG4gIGZvciAodmFyIGkgPSA2NTUzNSAmIGUgfCAwLCBvID0gZSA+Pj4gMTYgJiA2NTUzNSB8IDAsIGEgPSAwOyAwICE9PSByOykge1xyXG4gICAgciAtPSBhID0gciA+IDJlMyA/IDJlMyA6IHI7XHJcblxyXG4gICAgZG8ge1xyXG4gICAgICBvID0gbyArIChpID0gaSArIHRbbisrXSB8IDApIHwgMDtcclxuICAgIH0gd2hpbGUgKC0tYSk7XHJcblxyXG4gICAgaSAlPSA2NTUyMSwgbyAlPSA2NTUyMTtcclxuICB9XHJcblxyXG4gIHJldHVybiBpIHwgbyA8PCAxNiB8IDA7XHJcbn1cclxuXHJcbnZhciBHciA9IGZ1bmN0aW9uICgpIHtcclxuICBmb3IgKHZhciBlLCB0ID0gW10sIHIgPSAwOyByIDwgMjU2OyByKyspIHtcclxuICAgIGUgPSByO1xyXG5cclxuICAgIGZvciAodmFyIG4gPSAwOyBuIDwgODsgbisrKSBlID0gMSAmIGUgPyAzOTg4MjkyMzg0IF4gZSA+Pj4gMSA6IGUgPj4+IDE7XHJcblxyXG4gICAgdFtyXSA9IGU7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdDtcclxufSgpO1xyXG5cclxuZnVuY3Rpb24gJHIoZSwgdCwgciwgbikge1xyXG4gIHZhciBpID0gR3IsXHJcbiAgICAgIG8gPSBuICsgcjtcclxuICBlIF49IC0xO1xyXG5cclxuICBmb3IgKHZhciBhID0gbjsgYSA8IG87IGErKykgZSA9IGUgPj4+IDggXiBpWzI1NSAmIChlIF4gdFthXSldO1xyXG5cclxuICByZXR1cm4gLTEgXiBlO1xyXG59XHJcblxyXG52YXIgSnIsXHJcbiAgICBRciA9IDAsXHJcbiAgICBlbiA9IDEsXHJcbiAgICB0biA9IDMsXHJcbiAgICBybiA9IDQsXHJcbiAgICBubiA9IDUsXHJcbiAgICBvbiA9IDAsXHJcbiAgICBhbiA9IDEsXHJcbiAgICBzbiA9IC0yLFxyXG4gICAgaG4gPSAtMyxcclxuICAgIGxuID0gLTUsXHJcbiAgICBmbiA9IC0xLFxyXG4gICAgY24gPSAxLFxyXG4gICAgdW4gPSAyLFxyXG4gICAgZG4gPSAzLFxyXG4gICAgcG4gPSA0LFxyXG4gICAgX24gPSAyLFxyXG4gICAgZ24gPSA4LFxyXG4gICAgdm4gPSA5LFxyXG4gICAgd24gPSAyODYsXHJcbiAgICBibiA9IDMwLFxyXG4gICAgeW4gPSAxOSxcclxuICAgIG1uID0gMiAqIHduICsgMSxcclxuICAgIGtuID0gMTUsXHJcbiAgICBFbiA9IDMsXHJcbiAgICBTbiA9IDI1OCxcclxuICAgIHhuID0gU24gKyBFbiArIDEsXHJcbiAgICBSbiA9IDMyLFxyXG4gICAgQW4gPSA0MixcclxuICAgIEJuID0gNjksXHJcbiAgICB6biA9IDczLFxyXG4gICAgTG4gPSA5MSxcclxuICAgIFRuID0gMTAzLFxyXG4gICAgTW4gPSAxMTMsXHJcbiAgICBDbiA9IDY2NixcclxuICAgIERuID0gMSxcclxuICAgIEluID0gMixcclxuICAgIFBuID0gMyxcclxuICAgIE9uID0gNCxcclxuICAgIFVuID0gMztcclxuXHJcbmZ1bmN0aW9uIEhuKGUsIHQpIHtcclxuICByZXR1cm4gZS5tc2cgPSBOdFt0XSwgdDtcclxufVxyXG5cclxuZnVuY3Rpb24gRm4oZSkge1xyXG4gIHJldHVybiAoZSA8PCAxKSAtIChlID4gNCA/IDkgOiAwKTtcclxufVxyXG5cclxuZnVuY3Rpb24gTm4oZSkge1xyXG4gIGZvciAodmFyIHQgPSBlLmxlbmd0aDsgLS10ID49IDA7KSBlW3RdID0gMDtcclxufVxyXG5cclxuZnVuY3Rpb24gWm4oZSkge1xyXG4gIHZhciB0ID0gZS5zdGF0ZSxcclxuICAgICAgciA9IHQucGVuZGluZztcclxuICByID4gZS5hdmFpbF9vdXQgJiYgKHIgPSBlLmF2YWlsX291dCksIDAgIT09IHIgJiYgKGp0KGUub3V0cHV0LCB0LnBlbmRpbmdfYnVmLCB0LnBlbmRpbmdfb3V0LCByLCBlLm5leHRfb3V0KSwgZS5uZXh0X291dCArPSByLCB0LnBlbmRpbmdfb3V0ICs9IHIsIGUudG90YWxfb3V0ICs9IHIsIGUuYXZhaWxfb3V0IC09IHIsIHQucGVuZGluZyAtPSByLCAwID09PSB0LnBlbmRpbmcgJiYgKHQucGVuZGluZ19vdXQgPSAwKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGpuKGUsIHQpIHtcclxuICBYcihlLCBlLmJsb2NrX3N0YXJ0ID49IDAgPyBlLmJsb2NrX3N0YXJ0IDogLTEsIGUuc3Ryc3RhcnQgLSBlLmJsb2NrX3N0YXJ0LCB0KSwgZS5ibG9ja19zdGFydCA9IGUuc3Ryc3RhcnQsIFpuKGUuc3RybSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFduKGUsIHQpIHtcclxuICBlLnBlbmRpbmdfYnVmW2UucGVuZGluZysrXSA9IHQ7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFluKGUsIHQpIHtcclxuICBlLnBlbmRpbmdfYnVmW2UucGVuZGluZysrXSA9IHQgPj4+IDggJiAyNTUsIGUucGVuZGluZ19idWZbZS5wZW5kaW5nKytdID0gMjU1ICYgdDtcclxufVxyXG5cclxuZnVuY3Rpb24gS24oZSwgdCkge1xyXG4gIHZhciByLFxyXG4gICAgICBuLFxyXG4gICAgICBpID0gZS5tYXhfY2hhaW5fbGVuZ3RoLFxyXG4gICAgICBvID0gZS5zdHJzdGFydCxcclxuICAgICAgYSA9IGUucHJldl9sZW5ndGgsXHJcbiAgICAgIHMgPSBlLm5pY2VfbWF0Y2gsXHJcbiAgICAgIGggPSBlLnN0cnN0YXJ0ID4gZS53X3NpemUgLSB4biA/IGUuc3Ryc3RhcnQgLSAoZS53X3NpemUgLSB4bikgOiAwLFxyXG4gICAgICBsID0gZS53aW5kb3csXHJcbiAgICAgIGYgPSBlLndfbWFzayxcclxuICAgICAgYyA9IGUucHJldixcclxuICAgICAgdSA9IGUuc3Ryc3RhcnQgKyBTbixcclxuICAgICAgZCA9IGxbbyArIGEgLSAxXSxcclxuICAgICAgcCA9IGxbbyArIGFdO1xyXG4gIGUucHJldl9sZW5ndGggPj0gZS5nb29kX21hdGNoICYmIChpID4+PSAyKSwgcyA+IGUubG9va2FoZWFkICYmIChzID0gZS5sb29rYWhlYWQpO1xyXG5cclxuICBkbyB7XHJcbiAgICBpZiAobFsociA9IHQpICsgYV0gPT09IHAgJiYgbFtyICsgYSAtIDFdID09PSBkICYmIGxbcl0gPT09IGxbb10gJiYgbFsrK3JdID09PSBsW28gKyAxXSkge1xyXG4gICAgICBvICs9IDIsIHIrKztcclxuXHJcbiAgICAgIGRvIHt9IHdoaWxlIChsWysrb10gPT09IGxbKytyXSAmJiBsWysrb10gPT09IGxbKytyXSAmJiBsWysrb10gPT09IGxbKytyXSAmJiBsWysrb10gPT09IGxbKytyXSAmJiBsWysrb10gPT09IGxbKytyXSAmJiBsWysrb10gPT09IGxbKytyXSAmJiBsWysrb10gPT09IGxbKytyXSAmJiBsWysrb10gPT09IGxbKytyXSAmJiBvIDwgdSk7XHJcblxyXG4gICAgICBpZiAobiA9IFNuIC0gKHUgLSBvKSwgbyA9IHUgLSBTbiwgbiA+IGEpIHtcclxuICAgICAgICBpZiAoZS5tYXRjaF9zdGFydCA9IHQsIGEgPSBuLCBuID49IHMpIGJyZWFrO1xyXG4gICAgICAgIGQgPSBsW28gKyBhIC0gMV0sIHAgPSBsW28gKyBhXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gd2hpbGUgKCh0ID0gY1t0ICYgZl0pID4gaCAmJiAwICE9IC0taSk7XHJcblxyXG4gIHJldHVybiBhIDw9IGUubG9va2FoZWFkID8gYSA6IGUubG9va2FoZWFkO1xyXG59XHJcblxyXG5mdW5jdGlvbiBYbihlKSB7XHJcbiAgdmFyIHQsXHJcbiAgICAgIHIsXHJcbiAgICAgIG4sXHJcbiAgICAgIGksXHJcbiAgICAgIG8sXHJcbiAgICAgIGEsXHJcbiAgICAgIHMsXHJcbiAgICAgIGgsXHJcbiAgICAgIGwsXHJcbiAgICAgIGYsXHJcbiAgICAgIGMgPSBlLndfc2l6ZTtcclxuXHJcbiAgZG8ge1xyXG4gICAgaWYgKGkgPSBlLndpbmRvd19zaXplIC0gZS5sb29rYWhlYWQgLSBlLnN0cnN0YXJ0LCBlLnN0cnN0YXJ0ID49IGMgKyAoYyAtIHhuKSkge1xyXG4gICAgICBqdChlLndpbmRvdywgZS53aW5kb3csIGMsIGMsIDApLCBlLm1hdGNoX3N0YXJ0IC09IGMsIGUuc3Ryc3RhcnQgLT0gYywgZS5ibG9ja19zdGFydCAtPSBjLCB0ID0gciA9IGUuaGFzaF9zaXplO1xyXG5cclxuICAgICAgZG8ge1xyXG4gICAgICAgIG4gPSBlLmhlYWRbLS10XSwgZS5oZWFkW3RdID0gbiA+PSBjID8gbiAtIGMgOiAwO1xyXG4gICAgICB9IHdoaWxlICgtLXIpO1xyXG5cclxuICAgICAgdCA9IHIgPSBjO1xyXG5cclxuICAgICAgZG8ge1xyXG4gICAgICAgIG4gPSBlLnByZXZbLS10XSwgZS5wcmV2W3RdID0gbiA+PSBjID8gbiAtIGMgOiAwO1xyXG4gICAgICB9IHdoaWxlICgtLXIpO1xyXG5cclxuICAgICAgaSArPSBjO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICgwID09PSBlLnN0cm0uYXZhaWxfaW4pIGJyZWFrO1xyXG4gICAgaWYgKGEgPSBlLnN0cm0sIHMgPSBlLndpbmRvdywgaCA9IGUuc3Ryc3RhcnQgKyBlLmxvb2thaGVhZCwgbCA9IGksIGYgPSB2b2lkIDAsIChmID0gYS5hdmFpbF9pbikgPiBsICYmIChmID0gbCksIHIgPSAwID09PSBmID8gMCA6IChhLmF2YWlsX2luIC09IGYsIGp0KHMsIGEuaW5wdXQsIGEubmV4dF9pbiwgZiwgaCksIDEgPT09IGEuc3RhdGUud3JhcCA/IGEuYWRsZXIgPSBWcihhLmFkbGVyLCBzLCBmLCBoKSA6IDIgPT09IGEuc3RhdGUud3JhcCAmJiAoYS5hZGxlciA9ICRyKGEuYWRsZXIsIHMsIGYsIGgpKSwgYS5uZXh0X2luICs9IGYsIGEudG90YWxfaW4gKz0gZiwgZiksIGUubG9va2FoZWFkICs9IHIsIGUubG9va2FoZWFkICsgZS5pbnNlcnQgPj0gRW4pIGZvciAobyA9IGUuc3Ryc3RhcnQgLSBlLmluc2VydCwgZS5pbnNfaCA9IGUud2luZG93W29dLCBlLmluc19oID0gKGUuaW5zX2ggPDwgZS5oYXNoX3NoaWZ0IF4gZS53aW5kb3dbbyArIDFdKSAmIGUuaGFzaF9tYXNrOyBlLmluc2VydCAmJiAoZS5pbnNfaCA9IChlLmluc19oIDw8IGUuaGFzaF9zaGlmdCBeIGUud2luZG93W28gKyBFbiAtIDFdKSAmIGUuaGFzaF9tYXNrLCBlLnByZXZbbyAmIGUud19tYXNrXSA9IGUuaGVhZFtlLmluc19oXSwgZS5oZWFkW2UuaW5zX2hdID0gbywgbysrLCBlLmluc2VydC0tLCAhKGUubG9va2FoZWFkICsgZS5pbnNlcnQgPCBFbikpOyk7XHJcbiAgfSB3aGlsZSAoZS5sb29rYWhlYWQgPCB4biAmJiAwICE9PSBlLnN0cm0uYXZhaWxfaW4pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBxbihlLCB0KSB7XHJcbiAgZm9yICh2YXIgciwgbjs7KSB7XHJcbiAgICBpZiAoZS5sb29rYWhlYWQgPCB4bikge1xyXG4gICAgICBpZiAoWG4oZSksIGUubG9va2FoZWFkIDwgeG4gJiYgdCA9PT0gUXIpIHJldHVybiBEbjtcclxuICAgICAgaWYgKDAgPT09IGUubG9va2FoZWFkKSBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBpZiAociA9IDAsIGUubG9va2FoZWFkID49IEVuICYmIChlLmluc19oID0gKGUuaW5zX2ggPDwgZS5oYXNoX3NoaWZ0IF4gZS53aW5kb3dbZS5zdHJzdGFydCArIEVuIC0gMV0pICYgZS5oYXNoX21hc2ssIHIgPSBlLnByZXZbZS5zdHJzdGFydCAmIGUud19tYXNrXSA9IGUuaGVhZFtlLmluc19oXSwgZS5oZWFkW2UuaW5zX2hdID0gZS5zdHJzdGFydCksIDAgIT09IHIgJiYgZS5zdHJzdGFydCAtIHIgPD0gZS53X3NpemUgLSB4biAmJiAoZS5tYXRjaF9sZW5ndGggPSBLbihlLCByKSksIGUubWF0Y2hfbGVuZ3RoID49IEVuKSB7XHJcbiAgICAgIGlmIChuID0gcXIoZSwgZS5zdHJzdGFydCAtIGUubWF0Y2hfc3RhcnQsIGUubWF0Y2hfbGVuZ3RoIC0gRW4pLCBlLmxvb2thaGVhZCAtPSBlLm1hdGNoX2xlbmd0aCwgZS5tYXRjaF9sZW5ndGggPD0gZS5tYXhfbGF6eV9tYXRjaCAmJiBlLmxvb2thaGVhZCA+PSBFbikge1xyXG4gICAgICAgIGUubWF0Y2hfbGVuZ3RoLS07XHJcblxyXG4gICAgICAgIGRvIHtcclxuICAgICAgICAgIGUuc3Ryc3RhcnQrKywgZS5pbnNfaCA9IChlLmluc19oIDw8IGUuaGFzaF9zaGlmdCBeIGUud2luZG93W2Uuc3Ryc3RhcnQgKyBFbiAtIDFdKSAmIGUuaGFzaF9tYXNrLCByID0gZS5wcmV2W2Uuc3Ryc3RhcnQgJiBlLndfbWFza10gPSBlLmhlYWRbZS5pbnNfaF0sIGUuaGVhZFtlLmluc19oXSA9IGUuc3Ryc3RhcnQ7XHJcbiAgICAgICAgfSB3aGlsZSAoMCAhPSAtLWUubWF0Y2hfbGVuZ3RoKTtcclxuXHJcbiAgICAgICAgZS5zdHJzdGFydCsrO1xyXG4gICAgICB9IGVsc2UgZS5zdHJzdGFydCArPSBlLm1hdGNoX2xlbmd0aCwgZS5tYXRjaF9sZW5ndGggPSAwLCBlLmluc19oID0gZS53aW5kb3dbZS5zdHJzdGFydF0sIGUuaW5zX2ggPSAoZS5pbnNfaCA8PCBlLmhhc2hfc2hpZnQgXiBlLndpbmRvd1tlLnN0cnN0YXJ0ICsgMV0pICYgZS5oYXNoX21hc2s7XHJcbiAgICB9IGVsc2UgbiA9IHFyKGUsIDAsIGUud2luZG93W2Uuc3Ryc3RhcnRdKSwgZS5sb29rYWhlYWQtLSwgZS5zdHJzdGFydCsrO1xyXG4gICAgaWYgKG4gJiYgKGpuKGUsICExKSwgMCA9PT0gZS5zdHJtLmF2YWlsX291dCkpIHJldHVybiBEbjtcclxuICB9XHJcblxyXG4gIHJldHVybiBlLmluc2VydCA9IGUuc3Ryc3RhcnQgPCBFbiAtIDEgPyBlLnN0cnN0YXJ0IDogRW4gLSAxLCB0ID09PSBybiA/IChqbihlLCAhMCksIDAgPT09IGUuc3RybS5hdmFpbF9vdXQgPyBQbiA6IE9uKSA6IGUubGFzdF9saXQgJiYgKGpuKGUsICExKSwgMCA9PT0gZS5zdHJtLmF2YWlsX291dCkgPyBEbiA6IEluO1xyXG59XHJcblxyXG5mdW5jdGlvbiBWbihlLCB0KSB7XHJcbiAgZm9yICh2YXIgciwgbiwgaTs7KSB7XHJcbiAgICBpZiAoZS5sb29rYWhlYWQgPCB4bikge1xyXG4gICAgICBpZiAoWG4oZSksIGUubG9va2FoZWFkIDwgeG4gJiYgdCA9PT0gUXIpIHJldHVybiBEbjtcclxuICAgICAgaWYgKDAgPT09IGUubG9va2FoZWFkKSBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBpZiAociA9IDAsIGUubG9va2FoZWFkID49IEVuICYmIChlLmluc19oID0gKGUuaW5zX2ggPDwgZS5oYXNoX3NoaWZ0IF4gZS53aW5kb3dbZS5zdHJzdGFydCArIEVuIC0gMV0pICYgZS5oYXNoX21hc2ssIHIgPSBlLnByZXZbZS5zdHJzdGFydCAmIGUud19tYXNrXSA9IGUuaGVhZFtlLmluc19oXSwgZS5oZWFkW2UuaW5zX2hdID0gZS5zdHJzdGFydCksIGUucHJldl9sZW5ndGggPSBlLm1hdGNoX2xlbmd0aCwgZS5wcmV2X21hdGNoID0gZS5tYXRjaF9zdGFydCwgZS5tYXRjaF9sZW5ndGggPSBFbiAtIDEsIDAgIT09IHIgJiYgZS5wcmV2X2xlbmd0aCA8IGUubWF4X2xhenlfbWF0Y2ggJiYgZS5zdHJzdGFydCAtIHIgPD0gZS53X3NpemUgLSB4biAmJiAoZS5tYXRjaF9sZW5ndGggPSBLbihlLCByKSwgZS5tYXRjaF9sZW5ndGggPD0gNSAmJiAoZS5zdHJhdGVneSA9PT0gY24gfHwgZS5tYXRjaF9sZW5ndGggPT09IEVuICYmIGUuc3Ryc3RhcnQgLSBlLm1hdGNoX3N0YXJ0ID4gNDA5NikgJiYgKGUubWF0Y2hfbGVuZ3RoID0gRW4gLSAxKSksIGUucHJldl9sZW5ndGggPj0gRW4gJiYgZS5tYXRjaF9sZW5ndGggPD0gZS5wcmV2X2xlbmd0aCkge1xyXG4gICAgICBpID0gZS5zdHJzdGFydCArIGUubG9va2FoZWFkIC0gRW4sIG4gPSBxcihlLCBlLnN0cnN0YXJ0IC0gMSAtIGUucHJldl9tYXRjaCwgZS5wcmV2X2xlbmd0aCAtIEVuKSwgZS5sb29rYWhlYWQgLT0gZS5wcmV2X2xlbmd0aCAtIDEsIGUucHJldl9sZW5ndGggLT0gMjtcclxuXHJcbiAgICAgIGRvIHtcclxuICAgICAgICArK2Uuc3Ryc3RhcnQgPD0gaSAmJiAoZS5pbnNfaCA9IChlLmluc19oIDw8IGUuaGFzaF9zaGlmdCBeIGUud2luZG93W2Uuc3Ryc3RhcnQgKyBFbiAtIDFdKSAmIGUuaGFzaF9tYXNrLCByID0gZS5wcmV2W2Uuc3Ryc3RhcnQgJiBlLndfbWFza10gPSBlLmhlYWRbZS5pbnNfaF0sIGUuaGVhZFtlLmluc19oXSA9IGUuc3Ryc3RhcnQpO1xyXG4gICAgICB9IHdoaWxlICgwICE9IC0tZS5wcmV2X2xlbmd0aCk7XHJcblxyXG4gICAgICBpZiAoZS5tYXRjaF9hdmFpbGFibGUgPSAwLCBlLm1hdGNoX2xlbmd0aCA9IEVuIC0gMSwgZS5zdHJzdGFydCsrLCBuICYmIChqbihlLCAhMSksIDAgPT09IGUuc3RybS5hdmFpbF9vdXQpKSByZXR1cm4gRG47XHJcbiAgICB9IGVsc2UgaWYgKGUubWF0Y2hfYXZhaWxhYmxlKSB7XHJcbiAgICAgIGlmICgobiA9IHFyKGUsIDAsIGUud2luZG93W2Uuc3Ryc3RhcnQgLSAxXSkpICYmIGpuKGUsICExKSwgZS5zdHJzdGFydCsrLCBlLmxvb2thaGVhZC0tLCAwID09PSBlLnN0cm0uYXZhaWxfb3V0KSByZXR1cm4gRG47XHJcbiAgICB9IGVsc2UgZS5tYXRjaF9hdmFpbGFibGUgPSAxLCBlLnN0cnN0YXJ0KyssIGUubG9va2FoZWFkLS07XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZS5tYXRjaF9hdmFpbGFibGUgJiYgKG4gPSBxcihlLCAwLCBlLndpbmRvd1tlLnN0cnN0YXJ0IC0gMV0pLCBlLm1hdGNoX2F2YWlsYWJsZSA9IDApLCBlLmluc2VydCA9IGUuc3Ryc3RhcnQgPCBFbiAtIDEgPyBlLnN0cnN0YXJ0IDogRW4gLSAxLCB0ID09PSBybiA/IChqbihlLCAhMCksIDAgPT09IGUuc3RybS5hdmFpbF9vdXQgPyBQbiA6IE9uKSA6IGUubGFzdF9saXQgJiYgKGpuKGUsICExKSwgMCA9PT0gZS5zdHJtLmF2YWlsX291dCkgPyBEbiA6IEluO1xyXG59XHJcblxyXG5mdW5jdGlvbiBHbihlLCB0LCByLCBuLCBpKSB7XHJcbiAgdGhpcy5nb29kX2xlbmd0aCA9IGUsIHRoaXMubWF4X2xhenkgPSB0LCB0aGlzLm5pY2VfbGVuZ3RoID0gciwgdGhpcy5tYXhfY2hhaW4gPSBuLCB0aGlzLmZ1bmMgPSBpO1xyXG59XHJcblxyXG5mdW5jdGlvbiAkbigpIHtcclxuICB0aGlzLnN0cm0gPSBudWxsLCB0aGlzLnN0YXR1cyA9IDAsIHRoaXMucGVuZGluZ19idWYgPSBudWxsLCB0aGlzLnBlbmRpbmdfYnVmX3NpemUgPSAwLCB0aGlzLnBlbmRpbmdfb3V0ID0gMCwgdGhpcy5wZW5kaW5nID0gMCwgdGhpcy53cmFwID0gMCwgdGhpcy5nemhlYWQgPSBudWxsLCB0aGlzLmd6aW5kZXggPSAwLCB0aGlzLm1ldGhvZCA9IGduLCB0aGlzLmxhc3RfZmx1c2ggPSAtMSwgdGhpcy53X3NpemUgPSAwLCB0aGlzLndfYml0cyA9IDAsIHRoaXMud19tYXNrID0gMCwgdGhpcy53aW5kb3cgPSBudWxsLCB0aGlzLndpbmRvd19zaXplID0gMCwgdGhpcy5wcmV2ID0gbnVsbCwgdGhpcy5oZWFkID0gbnVsbCwgdGhpcy5pbnNfaCA9IDAsIHRoaXMuaGFzaF9zaXplID0gMCwgdGhpcy5oYXNoX2JpdHMgPSAwLCB0aGlzLmhhc2hfbWFzayA9IDAsIHRoaXMuaGFzaF9zaGlmdCA9IDAsIHRoaXMuYmxvY2tfc3RhcnQgPSAwLCB0aGlzLm1hdGNoX2xlbmd0aCA9IDAsIHRoaXMucHJldl9tYXRjaCA9IDAsIHRoaXMubWF0Y2hfYXZhaWxhYmxlID0gMCwgdGhpcy5zdHJzdGFydCA9IDAsIHRoaXMubWF0Y2hfc3RhcnQgPSAwLCB0aGlzLmxvb2thaGVhZCA9IDAsIHRoaXMucHJldl9sZW5ndGggPSAwLCB0aGlzLm1heF9jaGFpbl9sZW5ndGggPSAwLCB0aGlzLm1heF9sYXp5X21hdGNoID0gMCwgdGhpcy5sZXZlbCA9IDAsIHRoaXMuc3RyYXRlZ3kgPSAwLCB0aGlzLmdvb2RfbWF0Y2ggPSAwLCB0aGlzLm5pY2VfbWF0Y2ggPSAwLCB0aGlzLmR5bl9sdHJlZSA9IG5ldyBZdCgyICogbW4pLCB0aGlzLmR5bl9kdHJlZSA9IG5ldyBZdCgyICogKDIgKiBibiArIDEpKSwgdGhpcy5ibF90cmVlID0gbmV3IFl0KDIgKiAoMiAqIHluICsgMSkpLCBObih0aGlzLmR5bl9sdHJlZSksIE5uKHRoaXMuZHluX2R0cmVlKSwgTm4odGhpcy5ibF90cmVlKSwgdGhpcy5sX2Rlc2MgPSBudWxsLCB0aGlzLmRfZGVzYyA9IG51bGwsIHRoaXMuYmxfZGVzYyA9IG51bGwsIHRoaXMuYmxfY291bnQgPSBuZXcgWXQoa24gKyAxKSwgdGhpcy5oZWFwID0gbmV3IFl0KDIgKiB3biArIDEpLCBObih0aGlzLmhlYXApLCB0aGlzLmhlYXBfbGVuID0gMCwgdGhpcy5oZWFwX21heCA9IDAsIHRoaXMuZGVwdGggPSBuZXcgWXQoMiAqIHduICsgMSksIE5uKHRoaXMuZGVwdGgpLCB0aGlzLmxfYnVmID0gMCwgdGhpcy5saXRfYnVmc2l6ZSA9IDAsIHRoaXMubGFzdF9saXQgPSAwLCB0aGlzLmRfYnVmID0gMCwgdGhpcy5vcHRfbGVuID0gMCwgdGhpcy5zdGF0aWNfbGVuID0gMCwgdGhpcy5tYXRjaGVzID0gMCwgdGhpcy5pbnNlcnQgPSAwLCB0aGlzLmJpX2J1ZiA9IDAsIHRoaXMuYmlfdmFsaWQgPSAwO1xyXG59XHJcblxyXG5mdW5jdGlvbiBKbihlKSB7XHJcbiAgdmFyIHQsXHJcbiAgICAgIHIgPSBmdW5jdGlvbiAoZSkge1xyXG4gICAgdmFyIHQ7XHJcbiAgICByZXR1cm4gZSAmJiBlLnN0YXRlID8gKGUudG90YWxfaW4gPSBlLnRvdGFsX291dCA9IDAsIGUuZGF0YV90eXBlID0gX24sICh0ID0gZS5zdGF0ZSkucGVuZGluZyA9IDAsIHQucGVuZGluZ19vdXQgPSAwLCB0LndyYXAgPCAwICYmICh0LndyYXAgPSAtdC53cmFwKSwgdC5zdGF0dXMgPSB0LndyYXAgPyBBbiA6IE1uLCBlLmFkbGVyID0gMiA9PT0gdC53cmFwID8gMCA6IDEsIHQubGFzdF9mbHVzaCA9IFFyLCBXcih0KSwgb24pIDogSG4oZSwgc24pO1xyXG4gIH0oZSk7XHJcblxyXG4gIHJldHVybiByID09PSBvbiAmJiAoKHQgPSBlLnN0YXRlKS53aW5kb3dfc2l6ZSA9IDIgKiB0Lndfc2l6ZSwgTm4odC5oZWFkKSwgdC5tYXhfbGF6eV9tYXRjaCA9IEpyW3QubGV2ZWxdLm1heF9sYXp5LCB0Lmdvb2RfbWF0Y2ggPSBKclt0LmxldmVsXS5nb29kX2xlbmd0aCwgdC5uaWNlX21hdGNoID0gSnJbdC5sZXZlbF0ubmljZV9sZW5ndGgsIHQubWF4X2NoYWluX2xlbmd0aCA9IEpyW3QubGV2ZWxdLm1heF9jaGFpbiwgdC5zdHJzdGFydCA9IDAsIHQuYmxvY2tfc3RhcnQgPSAwLCB0Lmxvb2thaGVhZCA9IDAsIHQuaW5zZXJ0ID0gMCwgdC5tYXRjaF9sZW5ndGggPSB0LnByZXZfbGVuZ3RoID0gRW4gLSAxLCB0Lm1hdGNoX2F2YWlsYWJsZSA9IDAsIHQuaW5zX2ggPSAwKSwgcjtcclxufVxyXG5cclxuZnVuY3Rpb24gUW4oZSwgdCkge1xyXG4gIHZhciByLCBuLCBpLCBvO1xyXG4gIGlmICghZSB8fCAhZS5zdGF0ZSB8fCB0ID4gbm4gfHwgdCA8IDApIHJldHVybiBlID8gSG4oZSwgc24pIDogc247XHJcbiAgaWYgKG4gPSBlLnN0YXRlLCAhZS5vdXRwdXQgfHwgIWUuaW5wdXQgJiYgMCAhPT0gZS5hdmFpbF9pbiB8fCBuLnN0YXR1cyA9PT0gQ24gJiYgdCAhPT0gcm4pIHJldHVybiBIbihlLCAwID09PSBlLmF2YWlsX291dCA/IGxuIDogc24pO1xyXG4gIGlmIChuLnN0cm0gPSBlLCByID0gbi5sYXN0X2ZsdXNoLCBuLmxhc3RfZmx1c2ggPSB0LCBuLnN0YXR1cyA9PT0gQW4pIGlmICgyID09PSBuLndyYXApIGUuYWRsZXIgPSAwLCBXbihuLCAzMSksIFduKG4sIDEzOSksIFduKG4sIDgpLCBuLmd6aGVhZCA/IChXbihuLCAobi5nemhlYWQudGV4dCA/IDEgOiAwKSArIChuLmd6aGVhZC5oY3JjID8gMiA6IDApICsgKG4uZ3poZWFkLmV4dHJhID8gNCA6IDApICsgKG4uZ3poZWFkLm5hbWUgPyA4IDogMCkgKyAobi5nemhlYWQuY29tbWVudCA/IDE2IDogMCkpLCBXbihuLCAyNTUgJiBuLmd6aGVhZC50aW1lKSwgV24obiwgbi5nemhlYWQudGltZSA+PiA4ICYgMjU1KSwgV24obiwgbi5nemhlYWQudGltZSA+PiAxNiAmIDI1NSksIFduKG4sIG4uZ3poZWFkLnRpbWUgPj4gMjQgJiAyNTUpLCBXbihuLCA5ID09PSBuLmxldmVsID8gMiA6IG4uc3RyYXRlZ3kgPj0gdW4gfHwgbi5sZXZlbCA8IDIgPyA0IDogMCksIFduKG4sIDI1NSAmIG4uZ3poZWFkLm9zKSwgbi5nemhlYWQuZXh0cmEgJiYgbi5nemhlYWQuZXh0cmEubGVuZ3RoICYmIChXbihuLCAyNTUgJiBuLmd6aGVhZC5leHRyYS5sZW5ndGgpLCBXbihuLCBuLmd6aGVhZC5leHRyYS5sZW5ndGggPj4gOCAmIDI1NSkpLCBuLmd6aGVhZC5oY3JjICYmIChlLmFkbGVyID0gJHIoZS5hZGxlciwgbi5wZW5kaW5nX2J1Ziwgbi5wZW5kaW5nLCAwKSksIG4uZ3ppbmRleCA9IDAsIG4uc3RhdHVzID0gQm4pIDogKFduKG4sIDApLCBXbihuLCAwKSwgV24obiwgMCksIFduKG4sIDApLCBXbihuLCAwKSwgV24obiwgOSA9PT0gbi5sZXZlbCA/IDIgOiBuLnN0cmF0ZWd5ID49IHVuIHx8IG4ubGV2ZWwgPCAyID8gNCA6IDApLCBXbihuLCBVbiksIG4uc3RhdHVzID0gTW4pO2Vsc2Uge1xyXG4gICAgdmFyIGEgPSBnbiArIChuLndfYml0cyAtIDggPDwgNCkgPDwgODtcclxuICAgIGEgfD0gKG4uc3RyYXRlZ3kgPj0gdW4gfHwgbi5sZXZlbCA8IDIgPyAwIDogbi5sZXZlbCA8IDYgPyAxIDogNiA9PT0gbi5sZXZlbCA/IDIgOiAzKSA8PCA2LCAwICE9PSBuLnN0cnN0YXJ0ICYmIChhIHw9IFJuKSwgYSArPSAzMSAtIGEgJSAzMSwgbi5zdGF0dXMgPSBNbiwgWW4obiwgYSksIDAgIT09IG4uc3Ryc3RhcnQgJiYgKFluKG4sIGUuYWRsZXIgPj4+IDE2KSwgWW4obiwgNjU1MzUgJiBlLmFkbGVyKSksIGUuYWRsZXIgPSAxO1xyXG4gIH1cclxuICBpZiAobi5zdGF0dXMgPT09IEJuKSBpZiAobi5nemhlYWQuZXh0cmEpIHtcclxuICAgIGZvciAoaSA9IG4ucGVuZGluZzsgbi5nemluZGV4IDwgKDY1NTM1ICYgbi5nemhlYWQuZXh0cmEubGVuZ3RoKSAmJiAobi5wZW5kaW5nICE9PSBuLnBlbmRpbmdfYnVmX3NpemUgfHwgKG4uZ3poZWFkLmhjcmMgJiYgbi5wZW5kaW5nID4gaSAmJiAoZS5hZGxlciA9ICRyKGUuYWRsZXIsIG4ucGVuZGluZ19idWYsIG4ucGVuZGluZyAtIGksIGkpKSwgWm4oZSksIGkgPSBuLnBlbmRpbmcsIG4ucGVuZGluZyAhPT0gbi5wZW5kaW5nX2J1Zl9zaXplKSk7KSBXbihuLCAyNTUgJiBuLmd6aGVhZC5leHRyYVtuLmd6aW5kZXhdKSwgbi5nemluZGV4Kys7XHJcblxyXG4gICAgbi5nemhlYWQuaGNyYyAmJiBuLnBlbmRpbmcgPiBpICYmIChlLmFkbGVyID0gJHIoZS5hZGxlciwgbi5wZW5kaW5nX2J1Ziwgbi5wZW5kaW5nIC0gaSwgaSkpLCBuLmd6aW5kZXggPT09IG4uZ3poZWFkLmV4dHJhLmxlbmd0aCAmJiAobi5nemluZGV4ID0gMCwgbi5zdGF0dXMgPSB6bik7XHJcbiAgfSBlbHNlIG4uc3RhdHVzID0gem47XHJcbiAgaWYgKG4uc3RhdHVzID09PSB6bikgaWYgKG4uZ3poZWFkLm5hbWUpIHtcclxuICAgIGkgPSBuLnBlbmRpbmc7XHJcblxyXG4gICAgZG8ge1xyXG4gICAgICBpZiAobi5wZW5kaW5nID09PSBuLnBlbmRpbmdfYnVmX3NpemUgJiYgKG4uZ3poZWFkLmhjcmMgJiYgbi5wZW5kaW5nID4gaSAmJiAoZS5hZGxlciA9ICRyKGUuYWRsZXIsIG4ucGVuZGluZ19idWYsIG4ucGVuZGluZyAtIGksIGkpKSwgWm4oZSksIGkgPSBuLnBlbmRpbmcsIG4ucGVuZGluZyA9PT0gbi5wZW5kaW5nX2J1Zl9zaXplKSkge1xyXG4gICAgICAgIG8gPSAxO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBvID0gbi5nemluZGV4IDwgbi5nemhlYWQubmFtZS5sZW5ndGggPyAyNTUgJiBuLmd6aGVhZC5uYW1lLmNoYXJDb2RlQXQobi5nemluZGV4KyspIDogMCwgV24obiwgbyk7XHJcbiAgICB9IHdoaWxlICgwICE9PSBvKTtcclxuXHJcbiAgICBuLmd6aGVhZC5oY3JjICYmIG4ucGVuZGluZyA+IGkgJiYgKGUuYWRsZXIgPSAkcihlLmFkbGVyLCBuLnBlbmRpbmdfYnVmLCBuLnBlbmRpbmcgLSBpLCBpKSksIDAgPT09IG8gJiYgKG4uZ3ppbmRleCA9IDAsIG4uc3RhdHVzID0gTG4pO1xyXG4gIH0gZWxzZSBuLnN0YXR1cyA9IExuO1xyXG4gIGlmIChuLnN0YXR1cyA9PT0gTG4pIGlmIChuLmd6aGVhZC5jb21tZW50KSB7XHJcbiAgICBpID0gbi5wZW5kaW5nO1xyXG5cclxuICAgIGRvIHtcclxuICAgICAgaWYgKG4ucGVuZGluZyA9PT0gbi5wZW5kaW5nX2J1Zl9zaXplICYmIChuLmd6aGVhZC5oY3JjICYmIG4ucGVuZGluZyA+IGkgJiYgKGUuYWRsZXIgPSAkcihlLmFkbGVyLCBuLnBlbmRpbmdfYnVmLCBuLnBlbmRpbmcgLSBpLCBpKSksIFpuKGUpLCBpID0gbi5wZW5kaW5nLCBuLnBlbmRpbmcgPT09IG4ucGVuZGluZ19idWZfc2l6ZSkpIHtcclxuICAgICAgICBvID0gMTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgbyA9IG4uZ3ppbmRleCA8IG4uZ3poZWFkLmNvbW1lbnQubGVuZ3RoID8gMjU1ICYgbi5nemhlYWQuY29tbWVudC5jaGFyQ29kZUF0KG4uZ3ppbmRleCsrKSA6IDAsIFduKG4sIG8pO1xyXG4gICAgfSB3aGlsZSAoMCAhPT0gbyk7XHJcblxyXG4gICAgbi5nemhlYWQuaGNyYyAmJiBuLnBlbmRpbmcgPiBpICYmIChlLmFkbGVyID0gJHIoZS5hZGxlciwgbi5wZW5kaW5nX2J1Ziwgbi5wZW5kaW5nIC0gaSwgaSkpLCAwID09PSBvICYmIChuLnN0YXR1cyA9IFRuKTtcclxuICB9IGVsc2Ugbi5zdGF0dXMgPSBUbjtcclxuXHJcbiAgaWYgKG4uc3RhdHVzID09PSBUbiAmJiAobi5nemhlYWQuaGNyYyA/IChuLnBlbmRpbmcgKyAyID4gbi5wZW5kaW5nX2J1Zl9zaXplICYmIFpuKGUpLCBuLnBlbmRpbmcgKyAyIDw9IG4ucGVuZGluZ19idWZfc2l6ZSAmJiAoV24obiwgMjU1ICYgZS5hZGxlciksIFduKG4sIGUuYWRsZXIgPj4gOCAmIDI1NSksIGUuYWRsZXIgPSAwLCBuLnN0YXR1cyA9IE1uKSkgOiBuLnN0YXR1cyA9IE1uKSwgMCAhPT0gbi5wZW5kaW5nKSB7XHJcbiAgICBpZiAoWm4oZSksIDAgPT09IGUuYXZhaWxfb3V0KSByZXR1cm4gbi5sYXN0X2ZsdXNoID0gLTEsIG9uO1xyXG4gIH0gZWxzZSBpZiAoMCA9PT0gZS5hdmFpbF9pbiAmJiBGbih0KSA8PSBGbihyKSAmJiB0ICE9PSBybikgcmV0dXJuIEhuKGUsIGxuKTtcclxuXHJcbiAgaWYgKG4uc3RhdHVzID09PSBDbiAmJiAwICE9PSBlLmF2YWlsX2luKSByZXR1cm4gSG4oZSwgbG4pO1xyXG5cclxuICBpZiAoMCAhPT0gZS5hdmFpbF9pbiB8fCAwICE9PSBuLmxvb2thaGVhZCB8fCB0ICE9PSBRciAmJiBuLnN0YXR1cyAhPT0gQ24pIHtcclxuICAgIHZhciBzID0gbi5zdHJhdGVneSA9PT0gdW4gPyBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgICBmb3IgKHZhciByOzspIHtcclxuICAgICAgICBpZiAoMCA9PT0gZS5sb29rYWhlYWQgJiYgKFhuKGUpLCAwID09PSBlLmxvb2thaGVhZCkpIHtcclxuICAgICAgICAgIGlmICh0ID09PSBRcikgcmV0dXJuIERuO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZS5tYXRjaF9sZW5ndGggPSAwLCByID0gcXIoZSwgMCwgZS53aW5kb3dbZS5zdHJzdGFydF0pLCBlLmxvb2thaGVhZC0tLCBlLnN0cnN0YXJ0KyssIHIgJiYgKGpuKGUsICExKSwgMCA9PT0gZS5zdHJtLmF2YWlsX291dCkpIHJldHVybiBEbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIGUuaW5zZXJ0ID0gMCwgdCA9PT0gcm4gPyAoam4oZSwgITApLCAwID09PSBlLnN0cm0uYXZhaWxfb3V0ID8gUG4gOiBPbikgOiBlLmxhc3RfbGl0ICYmIChqbihlLCAhMSksIDAgPT09IGUuc3RybS5hdmFpbF9vdXQpID8gRG4gOiBJbjtcclxuICAgIH0obiwgdCkgOiBuLnN0cmF0ZWd5ID09PSBkbiA/IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICAgIGZvciAodmFyIHIsIG4sIGksIG8sIGEgPSBlLndpbmRvdzs7KSB7XHJcbiAgICAgICAgaWYgKGUubG9va2FoZWFkIDw9IFNuKSB7XHJcbiAgICAgICAgICBpZiAoWG4oZSksIGUubG9va2FoZWFkIDw9IFNuICYmIHQgPT09IFFyKSByZXR1cm4gRG47XHJcbiAgICAgICAgICBpZiAoMCA9PT0gZS5sb29rYWhlYWQpIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGUubWF0Y2hfbGVuZ3RoID0gMCwgZS5sb29rYWhlYWQgPj0gRW4gJiYgZS5zdHJzdGFydCA+IDAgJiYgKG4gPSBhW2kgPSBlLnN0cnN0YXJ0IC0gMV0pID09PSBhWysraV0gJiYgbiA9PT0gYVsrK2ldICYmIG4gPT09IGFbKytpXSkge1xyXG4gICAgICAgICAgbyA9IGUuc3Ryc3RhcnQgKyBTbjtcclxuXHJcbiAgICAgICAgICBkbyB7fSB3aGlsZSAobiA9PT0gYVsrK2ldICYmIG4gPT09IGFbKytpXSAmJiBuID09PSBhWysraV0gJiYgbiA9PT0gYVsrK2ldICYmIG4gPT09IGFbKytpXSAmJiBuID09PSBhWysraV0gJiYgbiA9PT0gYVsrK2ldICYmIG4gPT09IGFbKytpXSAmJiBpIDwgbyk7XHJcblxyXG4gICAgICAgICAgZS5tYXRjaF9sZW5ndGggPSBTbiAtIChvIC0gaSksIGUubWF0Y2hfbGVuZ3RoID4gZS5sb29rYWhlYWQgJiYgKGUubWF0Y2hfbGVuZ3RoID0gZS5sb29rYWhlYWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGUubWF0Y2hfbGVuZ3RoID49IEVuID8gKHIgPSBxcihlLCAxLCBlLm1hdGNoX2xlbmd0aCAtIEVuKSwgZS5sb29rYWhlYWQgLT0gZS5tYXRjaF9sZW5ndGgsIGUuc3Ryc3RhcnQgKz0gZS5tYXRjaF9sZW5ndGgsIGUubWF0Y2hfbGVuZ3RoID0gMCkgOiAociA9IHFyKGUsIDAsIGUud2luZG93W2Uuc3Ryc3RhcnRdKSwgZS5sb29rYWhlYWQtLSwgZS5zdHJzdGFydCsrKSwgciAmJiAoam4oZSwgITEpLCAwID09PSBlLnN0cm0uYXZhaWxfb3V0KSkgcmV0dXJuIERuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gZS5pbnNlcnQgPSAwLCB0ID09PSBybiA/IChqbihlLCAhMCksIDAgPT09IGUuc3RybS5hdmFpbF9vdXQgPyBQbiA6IE9uKSA6IGUubGFzdF9saXQgJiYgKGpuKGUsICExKSwgMCA9PT0gZS5zdHJtLmF2YWlsX291dCkgPyBEbiA6IEluO1xyXG4gICAgfShuLCB0KSA6IEpyW24ubGV2ZWxdLmZ1bmMobiwgdCk7XHJcbiAgICBpZiAocyAhPT0gUG4gJiYgcyAhPT0gT24gfHwgKG4uc3RhdHVzID0gQ24pLCBzID09PSBEbiB8fCBzID09PSBQbikgcmV0dXJuIDAgPT09IGUuYXZhaWxfb3V0ICYmIChuLmxhc3RfZmx1c2ggPSAtMSksIG9uO1xyXG4gICAgaWYgKHMgPT09IEluICYmICh0ID09PSBlbiA/IEtyKG4pIDogdCAhPT0gbm4gJiYgKFlyKG4sIDAsIDAsICExKSwgdCA9PT0gdG4gJiYgKE5uKG4uaGVhZCksIDAgPT09IG4ubG9va2FoZWFkICYmIChuLnN0cnN0YXJ0ID0gMCwgbi5ibG9ja19zdGFydCA9IDAsIG4uaW5zZXJ0ID0gMCkpKSwgWm4oZSksIDAgPT09IGUuYXZhaWxfb3V0KSkgcmV0dXJuIG4ubGFzdF9mbHVzaCA9IC0xLCBvbjtcclxuICB9XHJcblxyXG4gIHJldHVybiB0ICE9PSBybiA/IG9uIDogbi53cmFwIDw9IDAgPyBhbiA6ICgyID09PSBuLndyYXAgPyAoV24obiwgMjU1ICYgZS5hZGxlciksIFduKG4sIGUuYWRsZXIgPj4gOCAmIDI1NSksIFduKG4sIGUuYWRsZXIgPj4gMTYgJiAyNTUpLCBXbihuLCBlLmFkbGVyID4+IDI0ICYgMjU1KSwgV24obiwgMjU1ICYgZS50b3RhbF9pbiksIFduKG4sIGUudG90YWxfaW4gPj4gOCAmIDI1NSksIFduKG4sIGUudG90YWxfaW4gPj4gMTYgJiAyNTUpLCBXbihuLCBlLnRvdGFsX2luID4+IDI0ICYgMjU1KSkgOiAoWW4obiwgZS5hZGxlciA+Pj4gMTYpLCBZbihuLCA2NTUzNSAmIGUuYWRsZXIpKSwgWm4oZSksIG4ud3JhcCA+IDAgJiYgKG4ud3JhcCA9IC1uLndyYXApLCAwICE9PSBuLnBlbmRpbmcgPyBvbiA6IGFuKTtcclxufVxyXG5cclxuSnIgPSBbbmV3IEduKDAsIDAsIDAsIDAsIGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgdmFyIHIgPSA2NTUzNTtcclxuXHJcbiAgZm9yIChyID4gZS5wZW5kaW5nX2J1Zl9zaXplIC0gNSAmJiAociA9IGUucGVuZGluZ19idWZfc2l6ZSAtIDUpOzspIHtcclxuICAgIGlmIChlLmxvb2thaGVhZCA8PSAxKSB7XHJcbiAgICAgIGlmIChYbihlKSwgMCA9PT0gZS5sb29rYWhlYWQgJiYgdCA9PT0gUXIpIHJldHVybiBEbjtcclxuICAgICAgaWYgKDAgPT09IGUubG9va2FoZWFkKSBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBlLnN0cnN0YXJ0ICs9IGUubG9va2FoZWFkLCBlLmxvb2thaGVhZCA9IDA7XHJcbiAgICB2YXIgbiA9IGUuYmxvY2tfc3RhcnQgKyByO1xyXG4gICAgaWYgKCgwID09PSBlLnN0cnN0YXJ0IHx8IGUuc3Ryc3RhcnQgPj0gbikgJiYgKGUubG9va2FoZWFkID0gZS5zdHJzdGFydCAtIG4sIGUuc3Ryc3RhcnQgPSBuLCBqbihlLCAhMSksIDAgPT09IGUuc3RybS5hdmFpbF9vdXQpKSByZXR1cm4gRG47XHJcbiAgICBpZiAoZS5zdHJzdGFydCAtIGUuYmxvY2tfc3RhcnQgPj0gZS53X3NpemUgLSB4biAmJiAoam4oZSwgITEpLCAwID09PSBlLnN0cm0uYXZhaWxfb3V0KSkgcmV0dXJuIERuO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGUuaW5zZXJ0ID0gMCwgdCA9PT0gcm4gPyAoam4oZSwgITApLCAwID09PSBlLnN0cm0uYXZhaWxfb3V0ID8gUG4gOiBPbikgOiAoZS5zdHJzdGFydCA+IGUuYmxvY2tfc3RhcnQgJiYgKGpuKGUsICExKSwgZS5zdHJtLmF2YWlsX291dCksIERuKTtcclxufSksIG5ldyBHbig0LCA0LCA4LCA0LCBxbiksIG5ldyBHbig0LCA1LCAxNiwgOCwgcW4pLCBuZXcgR24oNCwgNiwgMzIsIDMyLCBxbiksIG5ldyBHbig0LCA0LCAxNiwgMTYsIFZuKSwgbmV3IEduKDgsIDE2LCAzMiwgMzIsIFZuKSwgbmV3IEduKDgsIDE2LCAxMjgsIDEyOCwgVm4pLCBuZXcgR24oOCwgMzIsIDEyOCwgMjU2LCBWbiksIG5ldyBHbigzMiwgMTI4LCAyNTgsIDEwMjQsIFZuKSwgbmV3IEduKDMyLCAyNTgsIDI1OCwgNDA5NiwgVm4pXTtcclxudmFyIGVpID0gMzAsXHJcbiAgICB0aSA9IDEyO1xyXG5cclxuZnVuY3Rpb24gcmkoZSwgdCkge1xyXG4gIHZhciByLCBuLCBpLCBvLCBhLCBzLCBoLCBsLCBmLCBjLCB1LCBkLCBwLCBfLCBnLCB2LCB3LCBiLCB5LCBtLCBrLCBFLCBTLCB4LCBSO1xyXG5cclxuICByID0gZS5zdGF0ZSwgbiA9IGUubmV4dF9pbiwgeCA9IGUuaW5wdXQsIGkgPSBuICsgKGUuYXZhaWxfaW4gLSA1KSwgbyA9IGUubmV4dF9vdXQsIFIgPSBlLm91dHB1dCwgYSA9IG8gLSAodCAtIGUuYXZhaWxfb3V0KSwgcyA9IG8gKyAoZS5hdmFpbF9vdXQgLSAyNTcpLCBoID0gci5kbWF4LCBsID0gci53c2l6ZSwgZiA9IHIud2hhdmUsIGMgPSByLnduZXh0LCB1ID0gci53aW5kb3csIGQgPSByLmhvbGQsIHAgPSByLmJpdHMsIF8gPSByLmxlbmNvZGUsIGcgPSByLmRpc3Rjb2RlLCB2ID0gKDEgPDwgci5sZW5iaXRzKSAtIDEsIHcgPSAoMSA8PCByLmRpc3RiaXRzKSAtIDE7XHJcblxyXG4gIGU6IGRvIHtcclxuICAgIHAgPCAxNSAmJiAoZCArPSB4W24rK10gPDwgcCwgcCArPSA4LCBkICs9IHhbbisrXSA8PCBwLCBwICs9IDgpLCBiID0gX1tkICYgdl07XHJcblxyXG4gICAgdDogZm9yICg7Oykge1xyXG4gICAgICBpZiAoZCA+Pj49IHkgPSBiID4+PiAyNCwgcCAtPSB5LCAwID09PSAoeSA9IGIgPj4+IDE2ICYgMjU1KSkgUltvKytdID0gNjU1MzUgJiBiO2Vsc2Uge1xyXG4gICAgICAgIGlmICghKDE2ICYgeSkpIHtcclxuICAgICAgICAgIGlmICgwID09ICg2NCAmIHkpKSB7XHJcbiAgICAgICAgICAgIGIgPSBfWyg2NTUzNSAmIGIpICsgKGQgJiAoMSA8PCB5KSAtIDEpXTtcclxuICAgICAgICAgICAgY29udGludWUgdDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoMzIgJiB5KSB7XHJcbiAgICAgICAgICAgIHIubW9kZSA9IHRpO1xyXG4gICAgICAgICAgICBicmVhayBlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGUubXNnID0gXCJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGVcIiwgci5tb2RlID0gZWk7XHJcbiAgICAgICAgICBicmVhayBlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbSA9IDY1NTM1ICYgYiwgKHkgJj0gMTUpICYmIChwIDwgeSAmJiAoZCArPSB4W24rK10gPDwgcCwgcCArPSA4KSwgbSArPSBkICYgKDEgPDwgeSkgLSAxLCBkID4+Pj0geSwgcCAtPSB5KSwgcCA8IDE1ICYmIChkICs9IHhbbisrXSA8PCBwLCBwICs9IDgsIGQgKz0geFtuKytdIDw8IHAsIHAgKz0gOCksIGIgPSBnW2QgJiB3XTtcclxuXHJcbiAgICAgICAgcjogZm9yICg7Oykge1xyXG4gICAgICAgICAgaWYgKGQgPj4+PSB5ID0gYiA+Pj4gMjQsIHAgLT0geSwgISgxNiAmICh5ID0gYiA+Pj4gMTYgJiAyNTUpKSkge1xyXG4gICAgICAgICAgICBpZiAoMCA9PSAoNjQgJiB5KSkge1xyXG4gICAgICAgICAgICAgIGIgPSBnWyg2NTUzNSAmIGIpICsgKGQgJiAoMSA8PCB5KSAtIDEpXTtcclxuICAgICAgICAgICAgICBjb250aW51ZSByO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBkaXN0YW5jZSBjb2RlXCIsIHIubW9kZSA9IGVpO1xyXG4gICAgICAgICAgICBicmVhayBlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChrID0gNjU1MzUgJiBiLCBwIDwgKHkgJj0gMTUpICYmIChkICs9IHhbbisrXSA8PCBwLCAocCArPSA4KSA8IHkgJiYgKGQgKz0geFtuKytdIDw8IHAsIHAgKz0gOCkpLCAoayArPSBkICYgKDEgPDwgeSkgLSAxKSA+IGgpIHtcclxuICAgICAgICAgICAgZS5tc2cgPSBcImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrXCIsIHIubW9kZSA9IGVpO1xyXG4gICAgICAgICAgICBicmVhayBlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChkID4+Pj0geSwgcCAtPSB5LCBrID4gKHkgPSBvIC0gYSkpIHtcclxuICAgICAgICAgICAgaWYgKCh5ID0gayAtIHkpID4gZiAmJiByLnNhbmUpIHtcclxuICAgICAgICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2tcIiwgci5tb2RlID0gZWk7XHJcbiAgICAgICAgICAgICAgYnJlYWsgZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKEUgPSAwLCBTID0gdSwgMCA9PT0gYykge1xyXG4gICAgICAgICAgICAgIGlmIChFICs9IGwgLSB5LCB5IDwgbSkge1xyXG4gICAgICAgICAgICAgICAgbSAtPSB5O1xyXG5cclxuICAgICAgICAgICAgICAgIGRvIHtcclxuICAgICAgICAgICAgICAgICAgUltvKytdID0gdVtFKytdO1xyXG4gICAgICAgICAgICAgICAgfSB3aGlsZSAoLS15KTtcclxuXHJcbiAgICAgICAgICAgICAgICBFID0gbyAtIGssIFMgPSBSO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmIChjIDwgeSkge1xyXG4gICAgICAgICAgICAgIGlmIChFICs9IGwgKyBjIC0geSwgKHkgLT0gYykgPCBtKSB7XHJcbiAgICAgICAgICAgICAgICBtIC09IHk7XHJcblxyXG4gICAgICAgICAgICAgICAgZG8ge1xyXG4gICAgICAgICAgICAgICAgICBSW28rK10gPSB1W0UrK107XHJcbiAgICAgICAgICAgICAgICB9IHdoaWxlICgtLXkpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChFID0gMCwgYyA8IG0pIHtcclxuICAgICAgICAgICAgICAgICAgbSAtPSB5ID0gYztcclxuXHJcbiAgICAgICAgICAgICAgICAgIGRvIHtcclxuICAgICAgICAgICAgICAgICAgICBSW28rK10gPSB1W0UrK107XHJcbiAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKC0teSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICBFID0gbyAtIGssIFMgPSBSO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmIChFICs9IGMgLSB5LCB5IDwgbSkge1xyXG4gICAgICAgICAgICAgIG0gLT0geTtcclxuXHJcbiAgICAgICAgICAgICAgZG8ge1xyXG4gICAgICAgICAgICAgICAgUltvKytdID0gdVtFKytdO1xyXG4gICAgICAgICAgICAgIH0gd2hpbGUgKC0teSk7XHJcblxyXG4gICAgICAgICAgICAgIEUgPSBvIC0gaywgUyA9IFI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGZvciAoOyBtID4gMjspIFJbbysrXSA9IFNbRSsrXSwgUltvKytdID0gU1tFKytdLCBSW28rK10gPSBTW0UrK10sIG0gLT0gMztcclxuXHJcbiAgICAgICAgICAgIG0gJiYgKFJbbysrXSA9IFNbRSsrXSwgbSA+IDEgJiYgKFJbbysrXSA9IFNbRSsrXSkpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgRSA9IG8gLSBrO1xyXG5cclxuICAgICAgICAgICAgZG8ge1xyXG4gICAgICAgICAgICAgIFJbbysrXSA9IFJbRSsrXSwgUltvKytdID0gUltFKytdLCBSW28rK10gPSBSW0UrK10sIG0gLT0gMztcclxuICAgICAgICAgICAgfSB3aGlsZSAobSA+IDIpO1xyXG5cclxuICAgICAgICAgICAgbSAmJiAoUltvKytdID0gUltFKytdLCBtID4gMSAmJiAoUltvKytdID0gUltFKytdKSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH0gd2hpbGUgKG4gPCBpICYmIG8gPCBzKTtcclxuXHJcbiAgbiAtPSBtID0gcCA+PiAzLCBkICY9ICgxIDw8IChwIC09IG0gPDwgMykpIC0gMSwgZS5uZXh0X2luID0gbiwgZS5uZXh0X291dCA9IG8sIGUuYXZhaWxfaW4gPSBuIDwgaSA/IGkgLSBuICsgNSA6IDUgLSAobiAtIGkpLCBlLmF2YWlsX291dCA9IG8gPCBzID8gcyAtIG8gKyAyNTcgOiAyNTcgLSAobyAtIHMpLCByLmhvbGQgPSBkLCByLmJpdHMgPSBwO1xyXG59XHJcblxyXG52YXIgbmkgPSAxNSxcclxuICAgIGlpID0gODUyLFxyXG4gICAgb2kgPSA1OTIsXHJcbiAgICBhaSA9IDAsXHJcbiAgICBzaSA9IDEsXHJcbiAgICBoaSA9IDIsXHJcbiAgICBsaSA9IFszLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEzLCAxNSwgMTcsIDE5LCAyMywgMjcsIDMxLCAzNSwgNDMsIDUxLCA1OSwgNjcsIDgzLCA5OSwgMTE1LCAxMzEsIDE2MywgMTk1LCAyMjcsIDI1OCwgMCwgMF0sXHJcbiAgICBmaSA9IFsxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE3LCAxNywgMTcsIDE3LCAxOCwgMTgsIDE4LCAxOCwgMTksIDE5LCAxOSwgMTksIDIwLCAyMCwgMjAsIDIwLCAyMSwgMjEsIDIxLCAyMSwgMTYsIDcyLCA3OF0sXHJcbiAgICBjaSA9IFsxLCAyLCAzLCA0LCA1LCA3LCA5LCAxMywgMTcsIDI1LCAzMywgNDksIDY1LCA5NywgMTI5LCAxOTMsIDI1NywgMzg1LCA1MTMsIDc2OSwgMTAyNSwgMTUzNywgMjA0OSwgMzA3MywgNDA5NywgNjE0NSwgODE5MywgMTIyODksIDE2Mzg1LCAyNDU3NywgMCwgMF0sXHJcbiAgICB1aSA9IFsxNiwgMTYsIDE2LCAxNiwgMTcsIDE3LCAxOCwgMTgsIDE5LCAxOSwgMjAsIDIwLCAyMSwgMjEsIDIyLCAyMiwgMjMsIDIzLCAyNCwgMjQsIDI1LCAyNSwgMjYsIDI2LCAyNywgMjcsIDI4LCAyOCwgMjksIDI5LCA2NCwgNjRdO1xyXG5cclxuZnVuY3Rpb24gZGkoZSwgdCwgciwgbiwgaSwgbywgYSwgcykge1xyXG4gIHZhciBoLFxyXG4gICAgICBsLFxyXG4gICAgICBmLFxyXG4gICAgICBjLFxyXG4gICAgICB1LFxyXG4gICAgICBkLFxyXG4gICAgICBwLFxyXG4gICAgICBfLFxyXG4gICAgICBnLFxyXG4gICAgICB2ID0gcy5iaXRzLFxyXG4gICAgICB3ID0gMCxcclxuICAgICAgYiA9IDAsXHJcbiAgICAgIHkgPSAwLFxyXG4gICAgICBtID0gMCxcclxuICAgICAgayA9IDAsXHJcbiAgICAgIEUgPSAwLFxyXG4gICAgICBTID0gMCxcclxuICAgICAgeCA9IDAsXHJcbiAgICAgIFIgPSAwLFxyXG4gICAgICBBID0gMCxcclxuICAgICAgQiA9IG51bGwsXHJcbiAgICAgIHogPSAwLFxyXG4gICAgICBMID0gbmV3IFl0KG5pICsgMSksXHJcbiAgICAgIFQgPSBuZXcgWXQobmkgKyAxKSxcclxuICAgICAgTSA9IG51bGwsXHJcbiAgICAgIEMgPSAwO1xyXG5cclxuICBmb3IgKHcgPSAwOyB3IDw9IG5pOyB3KyspIExbd10gPSAwO1xyXG5cclxuICBmb3IgKGIgPSAwOyBiIDwgbjsgYisrKSBMW3RbciArIGJdXSsrO1xyXG5cclxuICBmb3IgKGsgPSB2LCBtID0gbmk7IG0gPj0gMSAmJiAwID09PSBMW21dOyBtLS0pO1xyXG5cclxuICBpZiAoayA+IG0gJiYgKGsgPSBtKSwgMCA9PT0gbSkgcmV0dXJuIGlbbysrXSA9IDIwOTcxNTIwLCBpW28rK10gPSAyMDk3MTUyMCwgcy5iaXRzID0gMSwgMDtcclxuXHJcbiAgZm9yICh5ID0gMTsgeSA8IG0gJiYgMCA9PT0gTFt5XTsgeSsrKTtcclxuXHJcbiAgZm9yIChrIDwgeSAmJiAoayA9IHkpLCB4ID0gMSwgdyA9IDE7IHcgPD0gbmk7IHcrKykgaWYgKHggPDw9IDEsICh4IC09IExbd10pIDwgMCkgcmV0dXJuIC0xO1xyXG5cclxuICBpZiAoeCA+IDAgJiYgKGUgPT09IGFpIHx8IDEgIT09IG0pKSByZXR1cm4gLTE7XHJcblxyXG4gIGZvciAoVFsxXSA9IDAsIHcgPSAxOyB3IDwgbmk7IHcrKykgVFt3ICsgMV0gPSBUW3ddICsgTFt3XTtcclxuXHJcbiAgZm9yIChiID0gMDsgYiA8IG47IGIrKykgMCAhPT0gdFtyICsgYl0gJiYgKGFbVFt0W3IgKyBiXV0rK10gPSBiKTtcclxuXHJcbiAgaWYgKGUgPT09IGFpID8gKEIgPSBNID0gYSwgZCA9IDE5KSA6IGUgPT09IHNpID8gKEIgPSBsaSwgeiAtPSAyNTcsIE0gPSBmaSwgQyAtPSAyNTcsIGQgPSAyNTYpIDogKEIgPSBjaSwgTSA9IHVpLCBkID0gLTEpLCBBID0gMCwgYiA9IDAsIHcgPSB5LCB1ID0gbywgRSA9IGssIFMgPSAwLCBmID0gLTEsIGMgPSAoUiA9IDEgPDwgaykgLSAxLCBlID09PSBzaSAmJiBSID4gaWkgfHwgZSA9PT0gaGkgJiYgUiA+IG9pKSByZXR1cm4gMTtcclxuXHJcbiAgZm9yICg7Oykge1xyXG4gICAgcCA9IHcgLSBTLCBhW2JdIDwgZCA/IChfID0gMCwgZyA9IGFbYl0pIDogYVtiXSA+IGQgPyAoXyA9IE1bQyArIGFbYl1dLCBnID0gQlt6ICsgYVtiXV0pIDogKF8gPSA5NiwgZyA9IDApLCBoID0gMSA8PCB3IC0gUywgeSA9IGwgPSAxIDw8IEU7XHJcblxyXG4gICAgZG8ge1xyXG4gICAgICBpW3UgKyAoQSA+PiBTKSArIChsIC09IGgpXSA9IHAgPDwgMjQgfCBfIDw8IDE2IHwgZyB8IDA7XHJcbiAgICB9IHdoaWxlICgwICE9PSBsKTtcclxuXHJcbiAgICBmb3IgKGggPSAxIDw8IHcgLSAxOyBBICYgaDspIGggPj49IDE7XHJcblxyXG4gICAgaWYgKDAgIT09IGggPyAoQSAmPSBoIC0gMSwgQSArPSBoKSA6IEEgPSAwLCBiKyssIDAgPT0gLS1MW3ddKSB7XHJcbiAgICAgIGlmICh3ID09PSBtKSBicmVhaztcclxuICAgICAgdyA9IHRbciArIGFbYl1dO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh3ID4gayAmJiAoQSAmIGMpICE9PSBmKSB7XHJcbiAgICAgIGZvciAoMCA9PT0gUyAmJiAoUyA9IGspLCB1ICs9IHksIHggPSAxIDw8IChFID0gdyAtIFMpOyBFICsgUyA8IG0gJiYgISgoeCAtPSBMW0UgKyBTXSkgPD0gMCk7KSBFKyssIHggPDw9IDE7XHJcblxyXG4gICAgICBpZiAoUiArPSAxIDw8IEUsIGUgPT09IHNpICYmIFIgPiBpaSB8fCBlID09PSBoaSAmJiBSID4gb2kpIHJldHVybiAxO1xyXG4gICAgICBpW2YgPSBBICYgY10gPSBrIDw8IDI0IHwgRSA8PCAxNiB8IHUgLSBvIHwgMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiAwICE9PSBBICYmIChpW3UgKyBBXSA9IHcgLSBTIDw8IDI0IHwgNjQgPDwgMTYgfCAwKSwgcy5iaXRzID0gaywgMDtcclxufVxyXG5cclxudmFyIHBpID0gMCxcclxuICAgIF9pID0gMSxcclxuICAgIGdpID0gMixcclxuICAgIHZpID0gNCxcclxuICAgIHdpID0gNSxcclxuICAgIGJpID0gNixcclxuICAgIHlpID0gMCxcclxuICAgIG1pID0gMSxcclxuICAgIGtpID0gMixcclxuICAgIEVpID0gLTIsXHJcbiAgICBTaSA9IC0zLFxyXG4gICAgeGkgPSAtNCxcclxuICAgIFJpID0gLTUsXHJcbiAgICBBaSA9IDgsXHJcbiAgICBCaSA9IDEsXHJcbiAgICB6aSA9IDIsXHJcbiAgICBMaSA9IDMsXHJcbiAgICBUaSA9IDQsXHJcbiAgICBNaSA9IDUsXHJcbiAgICBDaSA9IDYsXHJcbiAgICBEaSA9IDcsXHJcbiAgICBJaSA9IDgsXHJcbiAgICBQaSA9IDksXHJcbiAgICBPaSA9IDEwLFxyXG4gICAgVWkgPSAxMSxcclxuICAgIEhpID0gMTIsXHJcbiAgICBGaSA9IDEzLFxyXG4gICAgTmkgPSAxNCxcclxuICAgIFppID0gMTUsXHJcbiAgICBqaSA9IDE2LFxyXG4gICAgV2kgPSAxNyxcclxuICAgIFlpID0gMTgsXHJcbiAgICBLaSA9IDE5LFxyXG4gICAgWGkgPSAyMCxcclxuICAgIHFpID0gMjEsXHJcbiAgICBWaSA9IDIyLFxyXG4gICAgR2kgPSAyMyxcclxuICAgICRpID0gMjQsXHJcbiAgICBKaSA9IDI1LFxyXG4gICAgUWkgPSAyNixcclxuICAgIGVvID0gMjcsXHJcbiAgICB0byA9IDI4LFxyXG4gICAgcm8gPSAyOSxcclxuICAgIG5vID0gMzAsXHJcbiAgICBpbyA9IDMxLFxyXG4gICAgb28gPSAzMixcclxuICAgIGFvID0gODUyLFxyXG4gICAgc28gPSA1OTI7XHJcblxyXG5mdW5jdGlvbiBobyhlKSB7XHJcbiAgcmV0dXJuIChlID4+PiAyNCAmIDI1NSkgKyAoZSA+Pj4gOCAmIDY1MjgwKSArICgoNjUyODAgJiBlKSA8PCA4KSArICgoMjU1ICYgZSkgPDwgMjQpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBsbygpIHtcclxuICB0aGlzLm1vZGUgPSAwLCB0aGlzLmxhc3QgPSAhMSwgdGhpcy53cmFwID0gMCwgdGhpcy5oYXZlZGljdCA9ICExLCB0aGlzLmZsYWdzID0gMCwgdGhpcy5kbWF4ID0gMCwgdGhpcy5jaGVjayA9IDAsIHRoaXMudG90YWwgPSAwLCB0aGlzLmhlYWQgPSBudWxsLCB0aGlzLndiaXRzID0gMCwgdGhpcy53c2l6ZSA9IDAsIHRoaXMud2hhdmUgPSAwLCB0aGlzLnduZXh0ID0gMCwgdGhpcy53aW5kb3cgPSBudWxsLCB0aGlzLmhvbGQgPSAwLCB0aGlzLmJpdHMgPSAwLCB0aGlzLmxlbmd0aCA9IDAsIHRoaXMub2Zmc2V0ID0gMCwgdGhpcy5leHRyYSA9IDAsIHRoaXMubGVuY29kZSA9IG51bGwsIHRoaXMuZGlzdGNvZGUgPSBudWxsLCB0aGlzLmxlbmJpdHMgPSAwLCB0aGlzLmRpc3RiaXRzID0gMCwgdGhpcy5uY29kZSA9IDAsIHRoaXMubmxlbiA9IDAsIHRoaXMubmRpc3QgPSAwLCB0aGlzLmhhdmUgPSAwLCB0aGlzLm5leHQgPSBudWxsLCB0aGlzLmxlbnMgPSBuZXcgWXQoMzIwKSwgdGhpcy53b3JrID0gbmV3IFl0KDI4OCksIHRoaXMubGVuZHluID0gbnVsbCwgdGhpcy5kaXN0ZHluID0gbnVsbCwgdGhpcy5zYW5lID0gMCwgdGhpcy5iYWNrID0gMCwgdGhpcy53YXMgPSAwO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmbyhlKSB7XHJcbiAgdmFyIHQ7XHJcbiAgcmV0dXJuIGUgJiYgZS5zdGF0ZSA/ICgodCA9IGUuc3RhdGUpLndzaXplID0gMCwgdC53aGF2ZSA9IDAsIHQud25leHQgPSAwLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgdmFyIHQ7XHJcbiAgICByZXR1cm4gZSAmJiBlLnN0YXRlID8gKHQgPSBlLnN0YXRlLCBlLnRvdGFsX2luID0gZS50b3RhbF9vdXQgPSB0LnRvdGFsID0gMCwgZS5tc2cgPSBcIlwiLCB0LndyYXAgJiYgKGUuYWRsZXIgPSAxICYgdC53cmFwKSwgdC5tb2RlID0gQmksIHQubGFzdCA9IDAsIHQuaGF2ZWRpY3QgPSAwLCB0LmRtYXggPSAzMjc2OCwgdC5oZWFkID0gbnVsbCwgdC5ob2xkID0gMCwgdC5iaXRzID0gMCwgdC5sZW5jb2RlID0gdC5sZW5keW4gPSBuZXcgS3QoYW8pLCB0LmRpc3Rjb2RlID0gdC5kaXN0ZHluID0gbmV3IEt0KHNvKSwgdC5zYW5lID0gMSwgdC5iYWNrID0gLTEsIHlpKSA6IEVpO1xyXG4gIH0oZSkpIDogRWk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNvKGUsIHQpIHtcclxuICB2YXIgciwgbjtcclxuICByZXR1cm4gZSA/IChuID0gbmV3IGxvKCksIGUuc3RhdGUgPSBuLCBuLndpbmRvdyA9IG51bGwsIChyID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIHZhciByLCBuO1xyXG4gICAgcmV0dXJuIGUgJiYgZS5zdGF0ZSA/IChuID0gZS5zdGF0ZSwgdCA8IDAgPyAociA9IDAsIHQgPSAtdCkgOiAociA9IDEgKyAodCA+PiA0KSwgdCA8IDQ4ICYmICh0ICY9IDE1KSksIHQgJiYgKHQgPCA4IHx8IHQgPiAxNSkgPyBFaSA6IChudWxsICE9PSBuLndpbmRvdyAmJiBuLndiaXRzICE9PSB0ICYmIChuLndpbmRvdyA9IG51bGwpLCBuLndyYXAgPSByLCBuLndiaXRzID0gdCwgZm8oZSkpKSA6IEVpO1xyXG4gIH0oZSwgdCkpICE9PSB5aSAmJiAoZS5zdGF0ZSA9IG51bGwpLCByKSA6IEVpO1xyXG59XHJcblxyXG52YXIgdW8sXHJcbiAgICBwbyxcclxuICAgIF9vID0gITA7XHJcblxyXG5mdW5jdGlvbiBnbyhlKSB7XHJcbiAgaWYgKF9vKSB7XHJcbiAgICB2YXIgdDtcclxuXHJcbiAgICBmb3IgKHVvID0gbmV3IEt0KDUxMiksIHBvID0gbmV3IEt0KDMyKSwgdCA9IDA7IHQgPCAxNDQ7KSBlLmxlbnNbdCsrXSA9IDg7XHJcblxyXG4gICAgZm9yICg7IHQgPCAyNTY7KSBlLmxlbnNbdCsrXSA9IDk7XHJcblxyXG4gICAgZm9yICg7IHQgPCAyODA7KSBlLmxlbnNbdCsrXSA9IDc7XHJcblxyXG4gICAgZm9yICg7IHQgPCAyODg7KSBlLmxlbnNbdCsrXSA9IDg7XHJcblxyXG4gICAgZm9yIChkaShfaSwgZS5sZW5zLCAwLCAyODgsIHVvLCAwLCBlLndvcmssIHtcclxuICAgICAgYml0czogOVxyXG4gICAgfSksIHQgPSAwOyB0IDwgMzI7KSBlLmxlbnNbdCsrXSA9IDU7XHJcblxyXG4gICAgZGkoZ2ksIGUubGVucywgMCwgMzIsIHBvLCAwLCBlLndvcmssIHtcclxuICAgICAgYml0czogNVxyXG4gICAgfSksIF9vID0gITE7XHJcbiAgfVxyXG5cclxuICBlLmxlbmNvZGUgPSB1bywgZS5sZW5iaXRzID0gOSwgZS5kaXN0Y29kZSA9IHBvLCBlLmRpc3RiaXRzID0gNTtcclxufVxyXG5cclxuZnVuY3Rpb24gdm8oZSwgdCkge1xyXG4gIHZhciByLFxyXG4gICAgICBuLFxyXG4gICAgICBpLFxyXG4gICAgICBvLFxyXG4gICAgICBhLFxyXG4gICAgICBzLFxyXG4gICAgICBoLFxyXG4gICAgICBsLFxyXG4gICAgICBmLFxyXG4gICAgICBjLFxyXG4gICAgICB1LFxyXG4gICAgICBkLFxyXG4gICAgICBwLFxyXG4gICAgICBfLFxyXG4gICAgICBnLFxyXG4gICAgICB2LFxyXG4gICAgICB3LFxyXG4gICAgICBiLFxyXG4gICAgICB5LFxyXG4gICAgICBtLFxyXG4gICAgICBrLFxyXG4gICAgICBFLFxyXG4gICAgICBTLFxyXG4gICAgICB4LFxyXG4gICAgICBSID0gMCxcclxuICAgICAgQSA9IG5ldyBXdCg0KSxcclxuICAgICAgQiA9IFsxNiwgMTcsIDE4LCAwLCA4LCA3LCA5LCA2LCAxMCwgNSwgMTEsIDQsIDEyLCAzLCAxMywgMiwgMTQsIDEsIDE1XTtcclxuXHJcbiAgaWYgKCFlIHx8ICFlLnN0YXRlIHx8ICFlLm91dHB1dCB8fCAhZS5pbnB1dCAmJiAwICE9PSBlLmF2YWlsX2luKSByZXR1cm4gRWk7XHJcbiAgKHIgPSBlLnN0YXRlKS5tb2RlID09PSBIaSAmJiAoci5tb2RlID0gRmkpLCBhID0gZS5uZXh0X291dCwgaSA9IGUub3V0cHV0LCBoID0gZS5hdmFpbF9vdXQsIG8gPSBlLm5leHRfaW4sIG4gPSBlLmlucHV0LCBzID0gZS5hdmFpbF9pbiwgbCA9IHIuaG9sZCwgZiA9IHIuYml0cywgYyA9IHMsIHUgPSBoLCBFID0geWk7XHJcblxyXG4gIGU6IGZvciAoOzspIHN3aXRjaCAoci5tb2RlKSB7XHJcbiAgICBjYXNlIEJpOlxyXG4gICAgICBpZiAoMCA9PT0gci53cmFwKSB7XHJcbiAgICAgICAgci5tb2RlID0gRmk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvciAoOyBmIDwgMTY7KSB7XHJcbiAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XHJcbiAgICAgICAgcy0tLCBsICs9IG5bbysrXSA8PCBmLCBmICs9IDg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICgyICYgci53cmFwICYmIDM1NjE1ID09PSBsKSB7XHJcbiAgICAgICAgci5jaGVjayA9IDAsIEFbMF0gPSAyNTUgJiBsLCBBWzFdID0gbCA+Pj4gOCAmIDI1NSwgci5jaGVjayA9ICRyKHIuY2hlY2ssIEEsIDIsIDApLCBsID0gMCwgZiA9IDAsIHIubW9kZSA9IHppO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoci5mbGFncyA9IDAsIHIuaGVhZCAmJiAoci5oZWFkLmRvbmUgPSAhMSksICEoMSAmIHIud3JhcCkgfHwgKCgoMjU1ICYgbCkgPDwgOCkgKyAobCA+PiA4KSkgJSAzMSkge1xyXG4gICAgICAgIGUubXNnID0gXCJpbmNvcnJlY3QgaGVhZGVyIGNoZWNrXCIsIHIubW9kZSA9IG5vO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoKDE1ICYgbCkgIT09IEFpKSB7XHJcbiAgICAgICAgZS5tc2cgPSBcInVua25vd24gY29tcHJlc3Npb24gbWV0aG9kXCIsIHIubW9kZSA9IG5vO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZiAtPSA0LCBrID0gOCArICgxNSAmIChsID4+Pj0gNCkpLCAwID09PSByLndiaXRzKSByLndiaXRzID0gaztlbHNlIGlmIChrID4gci53Yml0cykge1xyXG4gICAgICAgIGUubXNnID0gXCJpbnZhbGlkIHdpbmRvdyBzaXplXCIsIHIubW9kZSA9IG5vO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIHIuZG1heCA9IDEgPDwgaywgZS5hZGxlciA9IHIuY2hlY2sgPSAxLCByLm1vZGUgPSA1MTIgJiBsID8gT2kgOiBIaSwgbCA9IDAsIGYgPSAwO1xyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBjYXNlIHppOlxyXG4gICAgICBmb3IgKDsgZiA8IDE2Oykge1xyXG4gICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xyXG4gICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoci5mbGFncyA9IGwsICgyNTUgJiByLmZsYWdzKSAhPT0gQWkpIHtcclxuICAgICAgICBlLm1zZyA9IFwidW5rbm93biBjb21wcmVzc2lvbiBtZXRob2RcIiwgci5tb2RlID0gbm87XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICg1NzM0NCAmIHIuZmxhZ3MpIHtcclxuICAgICAgICBlLm1zZyA9IFwidW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0XCIsIHIubW9kZSA9IG5vO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByLmhlYWQgJiYgKHIuaGVhZC50ZXh0ID0gbCA+PiA4ICYgMSksIDUxMiAmIHIuZmxhZ3MgJiYgKEFbMF0gPSAyNTUgJiBsLCBBWzFdID0gbCA+Pj4gOCAmIDI1NSwgci5jaGVjayA9ICRyKHIuY2hlY2ssIEEsIDIsIDApKSwgbCA9IDAsIGYgPSAwLCByLm1vZGUgPSBMaTtcclxuXHJcbiAgICBjYXNlIExpOlxyXG4gICAgICBmb3IgKDsgZiA8IDMyOykge1xyXG4gICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xyXG4gICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICByLmhlYWQgJiYgKHIuaGVhZC50aW1lID0gbCksIDUxMiAmIHIuZmxhZ3MgJiYgKEFbMF0gPSAyNTUgJiBsLCBBWzFdID0gbCA+Pj4gOCAmIDI1NSwgQVsyXSA9IGwgPj4+IDE2ICYgMjU1LCBBWzNdID0gbCA+Pj4gMjQgJiAyNTUsIHIuY2hlY2sgPSAkcihyLmNoZWNrLCBBLCA0LCAwKSksIGwgPSAwLCBmID0gMCwgci5tb2RlID0gVGk7XHJcblxyXG4gICAgY2FzZSBUaTpcclxuICAgICAgZm9yICg7IGYgPCAxNjspIHtcclxuICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcclxuICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcclxuICAgICAgfVxyXG5cclxuICAgICAgci5oZWFkICYmIChyLmhlYWQueGZsYWdzID0gMjU1ICYgbCwgci5oZWFkLm9zID0gbCA+PiA4KSwgNTEyICYgci5mbGFncyAmJiAoQVswXSA9IDI1NSAmIGwsIEFbMV0gPSBsID4+PiA4ICYgMjU1LCByLmNoZWNrID0gJHIoci5jaGVjaywgQSwgMiwgMCkpLCBsID0gMCwgZiA9IDAsIHIubW9kZSA9IE1pO1xyXG5cclxuICAgIGNhc2UgTWk6XHJcbiAgICAgIGlmICgxMDI0ICYgci5mbGFncykge1xyXG4gICAgICAgIGZvciAoOyBmIDwgMTY7KSB7XHJcbiAgICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcclxuICAgICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgci5sZW5ndGggPSBsLCByLmhlYWQgJiYgKHIuaGVhZC5leHRyYV9sZW4gPSBsKSwgNTEyICYgci5mbGFncyAmJiAoQVswXSA9IDI1NSAmIGwsIEFbMV0gPSBsID4+PiA4ICYgMjU1LCByLmNoZWNrID0gJHIoci5jaGVjaywgQSwgMiwgMCkpLCBsID0gMCwgZiA9IDA7XHJcbiAgICAgIH0gZWxzZSByLmhlYWQgJiYgKHIuaGVhZC5leHRyYSA9IG51bGwpO1xyXG5cclxuICAgICAgci5tb2RlID0gQ2k7XHJcblxyXG4gICAgY2FzZSBDaTpcclxuICAgICAgaWYgKDEwMjQgJiByLmZsYWdzICYmICgoZCA9IHIubGVuZ3RoKSA+IHMgJiYgKGQgPSBzKSwgZCAmJiAoci5oZWFkICYmIChrID0gci5oZWFkLmV4dHJhX2xlbiAtIHIubGVuZ3RoLCByLmhlYWQuZXh0cmEgfHwgKHIuaGVhZC5leHRyYSA9IG5ldyBBcnJheShyLmhlYWQuZXh0cmFfbGVuKSksIGp0KHIuaGVhZC5leHRyYSwgbiwgbywgZCwgaykpLCA1MTIgJiByLmZsYWdzICYmIChyLmNoZWNrID0gJHIoci5jaGVjaywgbiwgZCwgbykpLCBzIC09IGQsIG8gKz0gZCwgci5sZW5ndGggLT0gZCksIHIubGVuZ3RoKSkgYnJlYWsgZTtcclxuICAgICAgci5sZW5ndGggPSAwLCByLm1vZGUgPSBEaTtcclxuXHJcbiAgICBjYXNlIERpOlxyXG4gICAgICBpZiAoMjA0OCAmIHIuZmxhZ3MpIHtcclxuICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcclxuICAgICAgICBkID0gMDtcclxuXHJcbiAgICAgICAgZG8ge1xyXG4gICAgICAgICAgayA9IG5bbyArIGQrK10sIHIuaGVhZCAmJiBrICYmIHIubGVuZ3RoIDwgNjU1MzYgJiYgKHIuaGVhZC5uYW1lICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaykpO1xyXG4gICAgICAgIH0gd2hpbGUgKGsgJiYgZCA8IHMpO1xyXG5cclxuICAgICAgICBpZiAoNTEyICYgci5mbGFncyAmJiAoci5jaGVjayA9ICRyKHIuY2hlY2ssIG4sIGQsIG8pKSwgcyAtPSBkLCBvICs9IGQsIGspIGJyZWFrIGU7XHJcbiAgICAgIH0gZWxzZSByLmhlYWQgJiYgKHIuaGVhZC5uYW1lID0gbnVsbCk7XHJcblxyXG4gICAgICByLmxlbmd0aCA9IDAsIHIubW9kZSA9IElpO1xyXG5cclxuICAgIGNhc2UgSWk6XHJcbiAgICAgIGlmICg0MDk2ICYgci5mbGFncykge1xyXG4gICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xyXG4gICAgICAgIGQgPSAwO1xyXG5cclxuICAgICAgICBkbyB7XHJcbiAgICAgICAgICBrID0gbltvICsgZCsrXSwgci5oZWFkICYmIGsgJiYgci5sZW5ndGggPCA2NTUzNiAmJiAoci5oZWFkLmNvbW1lbnQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShrKSk7XHJcbiAgICAgICAgfSB3aGlsZSAoayAmJiBkIDwgcyk7XHJcblxyXG4gICAgICAgIGlmICg1MTIgJiByLmZsYWdzICYmIChyLmNoZWNrID0gJHIoci5jaGVjaywgbiwgZCwgbykpLCBzIC09IGQsIG8gKz0gZCwgaykgYnJlYWsgZTtcclxuICAgICAgfSBlbHNlIHIuaGVhZCAmJiAoci5oZWFkLmNvbW1lbnQgPSBudWxsKTtcclxuXHJcbiAgICAgIHIubW9kZSA9IFBpO1xyXG5cclxuICAgIGNhc2UgUGk6XHJcbiAgICAgIGlmICg1MTIgJiByLmZsYWdzKSB7XHJcbiAgICAgICAgZm9yICg7IGYgPCAxNjspIHtcclxuICAgICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xyXG4gICAgICAgICAgcy0tLCBsICs9IG5bbysrXSA8PCBmLCBmICs9IDg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAobCAhPT0gKDY1NTM1ICYgci5jaGVjaykpIHtcclxuICAgICAgICAgIGUubXNnID0gXCJoZWFkZXIgY3JjIG1pc21hdGNoXCIsIHIubW9kZSA9IG5vO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsID0gMCwgZiA9IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHIuaGVhZCAmJiAoci5oZWFkLmhjcmMgPSByLmZsYWdzID4+IDkgJiAxLCByLmhlYWQuZG9uZSA9ICEwKSwgZS5hZGxlciA9IHIuY2hlY2sgPSAwLCByLm1vZGUgPSBIaTtcclxuICAgICAgYnJlYWs7XHJcblxyXG4gICAgY2FzZSBPaTpcclxuICAgICAgZm9yICg7IGYgPCAzMjspIHtcclxuICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcclxuICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcclxuICAgICAgfVxyXG5cclxuICAgICAgZS5hZGxlciA9IHIuY2hlY2sgPSBobyhsKSwgbCA9IDAsIGYgPSAwLCByLm1vZGUgPSBVaTtcclxuXHJcbiAgICBjYXNlIFVpOlxyXG4gICAgICBpZiAoMCA9PT0gci5oYXZlZGljdCkgcmV0dXJuIGUubmV4dF9vdXQgPSBhLCBlLmF2YWlsX291dCA9IGgsIGUubmV4dF9pbiA9IG8sIGUuYXZhaWxfaW4gPSBzLCByLmhvbGQgPSBsLCByLmJpdHMgPSBmLCBraTtcclxuICAgICAgZS5hZGxlciA9IHIuY2hlY2sgPSAxLCByLm1vZGUgPSBIaTtcclxuXHJcbiAgICBjYXNlIEhpOlxyXG4gICAgICBpZiAodCA9PT0gd2kgfHwgdCA9PT0gYmkpIGJyZWFrIGU7XHJcblxyXG4gICAgY2FzZSBGaTpcclxuICAgICAgaWYgKHIubGFzdCkge1xyXG4gICAgICAgIGwgPj4+PSA3ICYgZiwgZiAtPSA3ICYgZiwgci5tb2RlID0gZW87XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvciAoOyBmIDwgMzspIHtcclxuICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcclxuICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcclxuICAgICAgfVxyXG5cclxuICAgICAgc3dpdGNoIChyLmxhc3QgPSAxICYgbCwgZiAtPSAxLCAzICYgKGwgPj4+PSAxKSkge1xyXG4gICAgICAgIGNhc2UgMDpcclxuICAgICAgICAgIHIubW9kZSA9IE5pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgMTpcclxuICAgICAgICAgIGlmIChnbyhyKSwgci5tb2RlID0gWGksIHQgPT09IGJpKSB7XHJcbiAgICAgICAgICAgIGwgPj4+PSAyLCBmIC09IDI7XHJcbiAgICAgICAgICAgIGJyZWFrIGU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgMjpcclxuICAgICAgICAgIHIubW9kZSA9IFdpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgMzpcclxuICAgICAgICAgIGUubXNnID0gXCJpbnZhbGlkIGJsb2NrIHR5cGVcIiwgci5tb2RlID0gbm87XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGwgPj4+PSAyLCBmIC09IDI7XHJcbiAgICAgIGJyZWFrO1xyXG5cclxuICAgIGNhc2UgTmk6XHJcbiAgICAgIGZvciAobCA+Pj49IDcgJiBmLCBmIC09IDcgJiBmOyBmIDwgMzI7KSB7XHJcbiAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XHJcbiAgICAgICAgcy0tLCBsICs9IG5bbysrXSA8PCBmLCBmICs9IDg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICgoNjU1MzUgJiBsKSAhPSAobCA+Pj4gMTYgXiA2NTUzNSkpIHtcclxuICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3Roc1wiLCByLm1vZGUgPSBubztcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHIubGVuZ3RoID0gNjU1MzUgJiBsLCBsID0gMCwgZiA9IDAsIHIubW9kZSA9IFppLCB0ID09PSBiaSkgYnJlYWsgZTtcclxuXHJcbiAgICBjYXNlIFppOlxyXG4gICAgICByLm1vZGUgPSBqaTtcclxuXHJcbiAgICBjYXNlIGppOlxyXG4gICAgICBpZiAoZCA9IHIubGVuZ3RoKSB7XHJcbiAgICAgICAgaWYgKGQgPiBzICYmIChkID0gcyksIGQgPiBoICYmIChkID0gaCksIDAgPT09IGQpIGJyZWFrIGU7XHJcbiAgICAgICAganQoaSwgbiwgbywgZCwgYSksIHMgLT0gZCwgbyArPSBkLCBoIC09IGQsIGEgKz0gZCwgci5sZW5ndGggLT0gZDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgci5tb2RlID0gSGk7XHJcbiAgICAgIGJyZWFrO1xyXG5cclxuICAgIGNhc2UgV2k6XHJcbiAgICAgIGZvciAoOyBmIDwgMTQ7KSB7XHJcbiAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XHJcbiAgICAgICAgcy0tLCBsICs9IG5bbysrXSA8PCBmLCBmICs9IDg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChyLm5sZW4gPSAyNTcgKyAoMzEgJiBsKSwgbCA+Pj49IDUsIGYgLT0gNSwgci5uZGlzdCA9IDEgKyAoMzEgJiBsKSwgbCA+Pj49IDUsIGYgLT0gNSwgci5uY29kZSA9IDQgKyAoMTUgJiBsKSwgbCA+Pj49IDQsIGYgLT0gNCwgci5ubGVuID4gMjg2IHx8IHIubmRpc3QgPiAzMCkge1xyXG4gICAgICAgIGUubXNnID0gXCJ0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9sc1wiLCByLm1vZGUgPSBubztcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgci5oYXZlID0gMCwgci5tb2RlID0gWWk7XHJcblxyXG4gICAgY2FzZSBZaTpcclxuICAgICAgZm9yICg7IHIuaGF2ZSA8IHIubmNvZGU7KSB7XHJcbiAgICAgICAgZm9yICg7IGYgPCAzOykge1xyXG4gICAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XHJcbiAgICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHIubGVuc1tCW3IuaGF2ZSsrXV0gPSA3ICYgbCwgbCA+Pj49IDMsIGYgLT0gMztcclxuICAgICAgfVxyXG5cclxuICAgICAgZm9yICg7IHIuaGF2ZSA8IDE5Oykgci5sZW5zW0Jbci5oYXZlKytdXSA9IDA7XHJcblxyXG4gICAgICBpZiAoci5sZW5jb2RlID0gci5sZW5keW4sIHIubGVuYml0cyA9IDcsIFMgPSB7XHJcbiAgICAgICAgYml0czogci5sZW5iaXRzXHJcbiAgICAgIH0sIEUgPSBkaShwaSwgci5sZW5zLCAwLCAxOSwgci5sZW5jb2RlLCAwLCByLndvcmssIFMpLCByLmxlbmJpdHMgPSBTLmJpdHMsIEUpIHtcclxuICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0XCIsIHIubW9kZSA9IG5vO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByLmhhdmUgPSAwLCByLm1vZGUgPSBLaTtcclxuXHJcbiAgICBjYXNlIEtpOlxyXG4gICAgICBmb3IgKDsgci5oYXZlIDwgci5ubGVuICsgci5uZGlzdDspIHtcclxuICAgICAgICBmb3IgKDsgdiA9IChSID0gci5sZW5jb2RlW2wgJiAoMSA8PCByLmxlbmJpdHMpIC0gMV0pID4+PiAxNiAmIDI1NSwgdyA9IDY1NTM1ICYgUiwgISgoZyA9IFIgPj4+IDI0KSA8PSBmKTspIHtcclxuICAgICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xyXG4gICAgICAgICAgcy0tLCBsICs9IG5bbysrXSA8PCBmLCBmICs9IDg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodyA8IDE2KSBsID4+Pj0gZywgZiAtPSBnLCByLmxlbnNbci5oYXZlKytdID0gdztlbHNlIHtcclxuICAgICAgICAgIGlmICgxNiA9PT0gdykge1xyXG4gICAgICAgICAgICBmb3IgKHggPSBnICsgMjsgZiA8IHg7KSB7XHJcbiAgICAgICAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XHJcbiAgICAgICAgICAgICAgcy0tLCBsICs9IG5bbysrXSA8PCBmLCBmICs9IDg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChsID4+Pj0gZywgZiAtPSBnLCAwID09PSByLmhhdmUpIHtcclxuICAgICAgICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdFwiLCByLm1vZGUgPSBubztcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgayA9IHIubGVuc1tyLmhhdmUgLSAxXSwgZCA9IDMgKyAoMyAmIGwpLCBsID4+Pj0gMiwgZiAtPSAyO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICgxNyA9PT0gdykge1xyXG4gICAgICAgICAgICBmb3IgKHggPSBnICsgMzsgZiA8IHg7KSB7XHJcbiAgICAgICAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XHJcbiAgICAgICAgICAgICAgcy0tLCBsICs9IG5bbysrXSA8PCBmLCBmICs9IDg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGYgLT0gZywgayA9IDAsIGQgPSAzICsgKDcgJiAobCA+Pj49IGcpKSwgbCA+Pj49IDMsIGYgLT0gMztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvciAoeCA9IGcgKyA3OyBmIDwgeDspIHtcclxuICAgICAgICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcclxuICAgICAgICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZiAtPSBnLCBrID0gMCwgZCA9IDExICsgKDEyNyAmIChsID4+Pj0gZykpLCBsID4+Pj0gNywgZiAtPSA3O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChyLmhhdmUgKyBkID4gci5ubGVuICsgci5uZGlzdCkge1xyXG4gICAgICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdFwiLCByLm1vZGUgPSBubztcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgZm9yICg7IGQtLTspIHIubGVuc1tyLmhhdmUrK10gPSBrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHIubW9kZSA9PT0gbm8pIGJyZWFrO1xyXG5cclxuICAgICAgaWYgKDAgPT09IHIubGVuc1syNTZdKSB7XHJcbiAgICAgICAgZS5tc2cgPSBcImludmFsaWQgY29kZSAtLSBtaXNzaW5nIGVuZC1vZi1ibG9ja1wiLCByLm1vZGUgPSBubztcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHIubGVuYml0cyA9IDksIFMgPSB7XHJcbiAgICAgICAgYml0czogci5sZW5iaXRzXHJcbiAgICAgIH0sIEUgPSBkaShfaSwgci5sZW5zLCAwLCByLm5sZW4sIHIubGVuY29kZSwgMCwgci53b3JrLCBTKSwgci5sZW5iaXRzID0gUy5iaXRzLCBFKSB7XHJcbiAgICAgICAgZS5tc2cgPSBcImludmFsaWQgbGl0ZXJhbC9sZW5ndGhzIHNldFwiLCByLm1vZGUgPSBubztcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHIuZGlzdGJpdHMgPSA2LCByLmRpc3Rjb2RlID0gci5kaXN0ZHluLCBTID0ge1xyXG4gICAgICAgIGJpdHM6IHIuZGlzdGJpdHNcclxuICAgICAgfSwgRSA9IGRpKGdpLCByLmxlbnMsIHIubmxlbiwgci5uZGlzdCwgci5kaXN0Y29kZSwgMCwgci53b3JrLCBTKSwgci5kaXN0Yml0cyA9IFMuYml0cywgRSkge1xyXG4gICAgICAgIGUubXNnID0gXCJpbnZhbGlkIGRpc3RhbmNlcyBzZXRcIiwgci5tb2RlID0gbm87XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChyLm1vZGUgPSBYaSwgdCA9PT0gYmkpIGJyZWFrIGU7XHJcblxyXG4gICAgY2FzZSBYaTpcclxuICAgICAgci5tb2RlID0gcWk7XHJcblxyXG4gICAgY2FzZSBxaTpcclxuICAgICAgaWYgKHMgPj0gNiAmJiBoID49IDI1OCkge1xyXG4gICAgICAgIGUubmV4dF9vdXQgPSBhLCBlLmF2YWlsX291dCA9IGgsIGUubmV4dF9pbiA9IG8sIGUuYXZhaWxfaW4gPSBzLCByLmhvbGQgPSBsLCByLmJpdHMgPSBmLCByaShlLCB1KSwgYSA9IGUubmV4dF9vdXQsIGkgPSBlLm91dHB1dCwgaCA9IGUuYXZhaWxfb3V0LCBvID0gZS5uZXh0X2luLCBuID0gZS5pbnB1dCwgcyA9IGUuYXZhaWxfaW4sIGwgPSByLmhvbGQsIGYgPSByLmJpdHMsIHIubW9kZSA9PT0gSGkgJiYgKHIuYmFjayA9IC0xKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgZm9yIChyLmJhY2sgPSAwOyB2ID0gKFIgPSByLmxlbmNvZGVbbCAmICgxIDw8IHIubGVuYml0cykgLSAxXSkgPj4+IDE2ICYgMjU1LCB3ID0gNjU1MzUgJiBSLCAhKChnID0gUiA+Pj4gMjQpIDw9IGYpOykge1xyXG4gICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xyXG4gICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodiAmJiAwID09ICgyNDAgJiB2KSkge1xyXG4gICAgICAgIGZvciAoYiA9IGcsIHkgPSB2LCBtID0gdzsgdiA9IChSID0gci5sZW5jb2RlW20gKyAoKGwgJiAoMSA8PCBiICsgeSkgLSAxKSA+PiBiKV0pID4+PiAxNiAmIDI1NSwgdyA9IDY1NTM1ICYgUiwgIShiICsgKGcgPSBSID4+PiAyNCkgPD0gZik7KSB7XHJcbiAgICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcclxuICAgICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbCA+Pj49IGIsIGYgLT0gYiwgci5iYWNrICs9IGI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChsID4+Pj0gZywgZiAtPSBnLCByLmJhY2sgKz0gZywgci5sZW5ndGggPSB3LCAwID09PSB2KSB7XHJcbiAgICAgICAgci5tb2RlID0gUWk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICgzMiAmIHYpIHtcclxuICAgICAgICByLmJhY2sgPSAtMSwgci5tb2RlID0gSGk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICg2NCAmIHYpIHtcclxuICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlXCIsIHIubW9kZSA9IG5vO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByLmV4dHJhID0gMTUgJiB2LCByLm1vZGUgPSBWaTtcclxuXHJcbiAgICBjYXNlIFZpOlxyXG4gICAgICBpZiAoci5leHRyYSkge1xyXG4gICAgICAgIGZvciAoeCA9IHIuZXh0cmE7IGYgPCB4Oykge1xyXG4gICAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XHJcbiAgICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHIubGVuZ3RoICs9IGwgJiAoMSA8PCByLmV4dHJhKSAtIDEsIGwgPj4+PSByLmV4dHJhLCBmIC09IHIuZXh0cmEsIHIuYmFjayArPSByLmV4dHJhO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByLndhcyA9IHIubGVuZ3RoLCByLm1vZGUgPSBHaTtcclxuXHJcbiAgICBjYXNlIEdpOlxyXG4gICAgICBmb3IgKDsgdiA9IChSID0gci5kaXN0Y29kZVtsICYgKDEgPDwgci5kaXN0Yml0cykgLSAxXSkgPj4+IDE2ICYgMjU1LCB3ID0gNjU1MzUgJiBSLCAhKChnID0gUiA+Pj4gMjQpIDw9IGYpOykge1xyXG4gICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xyXG4gICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoMCA9PSAoMjQwICYgdikpIHtcclxuICAgICAgICBmb3IgKGIgPSBnLCB5ID0gdiwgbSA9IHc7IHYgPSAoUiA9IHIuZGlzdGNvZGVbbSArICgobCAmICgxIDw8IGIgKyB5KSAtIDEpID4+IGIpXSkgPj4+IDE2ICYgMjU1LCB3ID0gNjU1MzUgJiBSLCAhKGIgKyAoZyA9IFIgPj4+IDI0KSA8PSBmKTspIHtcclxuICAgICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xyXG4gICAgICAgICAgcy0tLCBsICs9IG5bbysrXSA8PCBmLCBmICs9IDg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsID4+Pj0gYiwgZiAtPSBiLCByLmJhY2sgKz0gYjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGwgPj4+PSBnLCBmIC09IGcsIHIuYmFjayArPSBnLCA2NCAmIHYpIHtcclxuICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBkaXN0YW5jZSBjb2RlXCIsIHIubW9kZSA9IG5vO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByLm9mZnNldCA9IHcsIHIuZXh0cmEgPSAxNSAmIHYsIHIubW9kZSA9ICRpO1xyXG5cclxuICAgIGNhc2UgJGk6XHJcbiAgICAgIGlmIChyLmV4dHJhKSB7XHJcbiAgICAgICAgZm9yICh4ID0gci5leHRyYTsgZiA8IHg7KSB7XHJcbiAgICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcclxuICAgICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgci5vZmZzZXQgKz0gbCAmICgxIDw8IHIuZXh0cmEpIC0gMSwgbCA+Pj49IHIuZXh0cmEsIGYgLT0gci5leHRyYSwgci5iYWNrICs9IHIuZXh0cmE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChyLm9mZnNldCA+IHIuZG1heCkge1xyXG4gICAgICAgIGUubXNnID0gXCJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFja1wiLCByLm1vZGUgPSBubztcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG5cclxuICAgICAgci5tb2RlID0gSmk7XHJcblxyXG4gICAgY2FzZSBKaTpcclxuICAgICAgaWYgKDAgPT09IGgpIGJyZWFrIGU7XHJcblxyXG4gICAgICBpZiAoZCA9IHUgLSBoLCByLm9mZnNldCA+IGQpIHtcclxuICAgICAgICBpZiAoKGQgPSByLm9mZnNldCAtIGQpID4gci53aGF2ZSAmJiByLnNhbmUpIHtcclxuICAgICAgICAgIGUubXNnID0gXCJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFja1wiLCByLm1vZGUgPSBubztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZCA+IHIud25leHQgPyAoZCAtPSByLnduZXh0LCBwID0gci53c2l6ZSAtIGQpIDogcCA9IHIud25leHQgLSBkLCBkID4gci5sZW5ndGggJiYgKGQgPSByLmxlbmd0aCksIF8gPSByLndpbmRvdztcclxuICAgICAgfSBlbHNlIF8gPSBpLCBwID0gYSAtIHIub2Zmc2V0LCBkID0gci5sZW5ndGg7XHJcblxyXG4gICAgICBkID4gaCAmJiAoZCA9IGgpLCBoIC09IGQsIHIubGVuZ3RoIC09IGQ7XHJcblxyXG4gICAgICBkbyB7XHJcbiAgICAgICAgaVthKytdID0gX1twKytdO1xyXG4gICAgICB9IHdoaWxlICgtLWQpO1xyXG5cclxuICAgICAgMCA9PT0gci5sZW5ndGggJiYgKHIubW9kZSA9IHFpKTtcclxuICAgICAgYnJlYWs7XHJcblxyXG4gICAgY2FzZSBRaTpcclxuICAgICAgaWYgKDAgPT09IGgpIGJyZWFrIGU7XHJcbiAgICAgIGlbYSsrXSA9IHIubGVuZ3RoLCBoLS0sIHIubW9kZSA9IHFpO1xyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBjYXNlIGVvOlxyXG4gICAgICBpZiAoci53cmFwKSB7XHJcbiAgICAgICAgZm9yICg7IGYgPCAzMjspIHtcclxuICAgICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xyXG4gICAgICAgICAgcy0tLCBsIHw9IG5bbysrXSA8PCBmLCBmICs9IDg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodSAtPSBoLCBlLnRvdGFsX291dCArPSB1LCByLnRvdGFsICs9IHUsIHUgJiYgKGUuYWRsZXIgPSByLmNoZWNrID0gci5mbGFncyA/ICRyKHIuY2hlY2ssIGksIHUsIGEgLSB1KSA6IFZyKHIuY2hlY2ssIGksIHUsIGEgLSB1KSksIHUgPSBoLCAoci5mbGFncyA/IGwgOiBobyhsKSkgIT09IHIuY2hlY2spIHtcclxuICAgICAgICAgIGUubXNnID0gXCJpbmNvcnJlY3QgZGF0YSBjaGVja1wiLCByLm1vZGUgPSBubztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbCA9IDAsIGYgPSAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByLm1vZGUgPSB0bztcclxuXHJcbiAgICBjYXNlIHRvOlxyXG4gICAgICBpZiAoci53cmFwICYmIHIuZmxhZ3MpIHtcclxuICAgICAgICBmb3IgKDsgZiA8IDMyOykge1xyXG4gICAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XHJcbiAgICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChsICE9PSAoNDI5NDk2NzI5NSAmIHIudG90YWwpKSB7XHJcbiAgICAgICAgICBlLm1zZyA9IFwiaW5jb3JyZWN0IGxlbmd0aCBjaGVja1wiLCByLm1vZGUgPSBubztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbCA9IDAsIGYgPSAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByLm1vZGUgPSBybztcclxuXHJcbiAgICBjYXNlIHJvOlxyXG4gICAgICBFID0gbWk7XHJcbiAgICAgIGJyZWFrIGU7XHJcblxyXG4gICAgY2FzZSBubzpcclxuICAgICAgRSA9IFNpO1xyXG4gICAgICBicmVhayBlO1xyXG5cclxuICAgIGNhc2UgaW86XHJcbiAgICAgIHJldHVybiB4aTtcclxuXHJcbiAgICBjYXNlIG9vOlxyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIEVpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGUubmV4dF9vdXQgPSBhLCBlLmF2YWlsX291dCA9IGgsIGUubmV4dF9pbiA9IG8sIGUuYXZhaWxfaW4gPSBzLCByLmhvbGQgPSBsLCByLmJpdHMgPSBmLCAoci53c2l6ZSB8fCB1ICE9PSBlLmF2YWlsX291dCAmJiByLm1vZGUgPCBubyAmJiAoci5tb2RlIDwgZW8gfHwgdCAhPT0gdmkpKSAmJiBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xyXG4gICAgdmFyIGksXHJcbiAgICAgICAgbyA9IGUuc3RhdGU7XHJcbiAgICBudWxsID09PSBvLndpbmRvdyAmJiAoby53c2l6ZSA9IDEgPDwgby53Yml0cywgby53bmV4dCA9IDAsIG8ud2hhdmUgPSAwLCBvLndpbmRvdyA9IG5ldyBXdChvLndzaXplKSksIG4gPj0gby53c2l6ZSA/IChqdChvLndpbmRvdywgdCwgciAtIG8ud3NpemUsIG8ud3NpemUsIDApLCBvLnduZXh0ID0gMCwgby53aGF2ZSA9IG8ud3NpemUpIDogKChpID0gby53c2l6ZSAtIG8ud25leHQpID4gbiAmJiAoaSA9IG4pLCBqdChvLndpbmRvdywgdCwgciAtIG4sIGksIG8ud25leHQpLCAobiAtPSBpKSA/IChqdChvLndpbmRvdywgdCwgciAtIG4sIG4sIDApLCBvLnduZXh0ID0gbiwgby53aGF2ZSA9IG8ud3NpemUpIDogKG8ud25leHQgKz0gaSwgby53bmV4dCA9PT0gby53c2l6ZSAmJiAoby53bmV4dCA9IDApLCBvLndoYXZlIDwgby53c2l6ZSAmJiAoby53aGF2ZSArPSBpKSkpO1xyXG4gIH0oZSwgZS5vdXRwdXQsIGUubmV4dF9vdXQsIHUgLSBlLmF2YWlsX291dCksIGMgLT0gZS5hdmFpbF9pbiwgdSAtPSBlLmF2YWlsX291dCwgZS50b3RhbF9pbiArPSBjLCBlLnRvdGFsX291dCArPSB1LCByLnRvdGFsICs9IHUsIHIud3JhcCAmJiB1ICYmIChlLmFkbGVyID0gci5jaGVjayA9IHIuZmxhZ3MgPyAkcihyLmNoZWNrLCBpLCB1LCBlLm5leHRfb3V0IC0gdSkgOiBWcihyLmNoZWNrLCBpLCB1LCBlLm5leHRfb3V0IC0gdSkpLCBlLmRhdGFfdHlwZSA9IHIuYml0cyArIChyLmxhc3QgPyA2NCA6IDApICsgKHIubW9kZSA9PT0gSGkgPyAxMjggOiAwKSArIChyLm1vZGUgPT09IFhpIHx8IHIubW9kZSA9PT0gWmkgPyAyNTYgOiAwKSwgKDAgPT09IGMgJiYgMCA9PT0gdSB8fCB0ID09PSB2aSkgJiYgRSA9PT0geWkgJiYgKEUgPSBSaSksIEU7XHJcbn1cclxuXHJcbnZhciB3byxcclxuICAgIGJvID0gMSxcclxuICAgIHlvID0gNztcclxuXHJcbmZ1bmN0aW9uIG1vKGUpIHtcclxuICBpZiAoZSA8IGJvIHx8IGUgPiB5bykgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkJhZCBhcmd1bWVudFwiKTtcclxuICB0aGlzLm1vZGUgPSBlLCB0aGlzLmluaXRfZG9uZSA9ICExLCB0aGlzLndyaXRlX2luX3Byb2dyZXNzID0gITEsIHRoaXMucGVuZGluZ19jbG9zZSA9ICExLCB0aGlzLndpbmRvd0JpdHMgPSAwLCB0aGlzLmxldmVsID0gMCwgdGhpcy5tZW1MZXZlbCA9IDAsIHRoaXMuc3RyYXRlZ3kgPSAwLCB0aGlzLmRpY3Rpb25hcnkgPSBudWxsO1xyXG59XHJcblxyXG5mdW5jdGlvbiBrbyhlLCB0KSB7XHJcbiAgZm9yICh2YXIgciA9IDA7IHIgPCBlLmxlbmd0aDsgcisrKSB0aGlzW3QgKyByXSA9IGVbcl07XHJcbn1cclxuXHJcbm1vLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4sIGkpIHtcclxuICB2YXIgbztcclxuXHJcbiAgc3dpdGNoICh0aGlzLndpbmRvd0JpdHMgPSBlLCB0aGlzLmxldmVsID0gdCwgdGhpcy5tZW1MZXZlbCA9IHIsIHRoaXMuc3RyYXRlZ3kgPSBuLCAzICE9PSB0aGlzLm1vZGUgJiYgNCAhPT0gdGhpcy5tb2RlIHx8ICh0aGlzLndpbmRvd0JpdHMgKz0gMTYpLCB0aGlzLm1vZGUgPT09IHlvICYmICh0aGlzLndpbmRvd0JpdHMgKz0gMzIpLCA1ICE9PSB0aGlzLm1vZGUgJiYgNiAhPT0gdGhpcy5tb2RlIHx8ICh0aGlzLndpbmRvd0JpdHMgPSAtdGhpcy53aW5kb3dCaXRzKSwgdGhpcy5zdHJtID0gbmV3IFp0KCksIHRoaXMubW9kZSkge1xyXG4gICAgY2FzZSBibzpcclxuICAgIGNhc2UgMzpcclxuICAgIGNhc2UgNTpcclxuICAgICAgbyA9IGZ1bmN0aW9uIChlLCB0LCByLCBuLCBpLCBvKSB7XHJcbiAgICAgICAgaWYgKCFlKSByZXR1cm4gc247XHJcbiAgICAgICAgdmFyIGEgPSAxO1xyXG4gICAgICAgIGlmICh0ID09PSBmbiAmJiAodCA9IDYpLCBuIDwgMCA/IChhID0gMCwgbiA9IC1uKSA6IG4gPiAxNSAmJiAoYSA9IDIsIG4gLT0gMTYpLCBpIDwgMSB8fCBpID4gdm4gfHwgciAhPT0gZ24gfHwgbiA8IDggfHwgbiA+IDE1IHx8IHQgPCAwIHx8IHQgPiA5IHx8IG8gPCAwIHx8IG8gPiBwbikgcmV0dXJuIEhuKGUsIHNuKTtcclxuICAgICAgICA4ID09PSBuICYmIChuID0gOSk7XHJcbiAgICAgICAgdmFyIHMgPSBuZXcgJG4oKTtcclxuICAgICAgICByZXR1cm4gZS5zdGF0ZSA9IHMsIHMuc3RybSA9IGUsIHMud3JhcCA9IGEsIHMuZ3poZWFkID0gbnVsbCwgcy53X2JpdHMgPSBuLCBzLndfc2l6ZSA9IDEgPDwgcy53X2JpdHMsIHMud19tYXNrID0gcy53X3NpemUgLSAxLCBzLmhhc2hfYml0cyA9IGkgKyA3LCBzLmhhc2hfc2l6ZSA9IDEgPDwgcy5oYXNoX2JpdHMsIHMuaGFzaF9tYXNrID0gcy5oYXNoX3NpemUgLSAxLCBzLmhhc2hfc2hpZnQgPSB+figocy5oYXNoX2JpdHMgKyBFbiAtIDEpIC8gRW4pLCBzLndpbmRvdyA9IG5ldyBXdCgyICogcy53X3NpemUpLCBzLmhlYWQgPSBuZXcgWXQocy5oYXNoX3NpemUpLCBzLnByZXYgPSBuZXcgWXQocy53X3NpemUpLCBzLmxpdF9idWZzaXplID0gMSA8PCBpICsgNiwgcy5wZW5kaW5nX2J1Zl9zaXplID0gNCAqIHMubGl0X2J1ZnNpemUsIHMucGVuZGluZ19idWYgPSBuZXcgV3Qocy5wZW5kaW5nX2J1Zl9zaXplKSwgcy5kX2J1ZiA9IDEgKiBzLmxpdF9idWZzaXplLCBzLmxfYnVmID0gMyAqIHMubGl0X2J1ZnNpemUsIHMubGV2ZWwgPSB0LCBzLnN0cmF0ZWd5ID0gbywgcy5tZXRob2QgPSByLCBKbihlKTtcclxuICAgICAgfSh0aGlzLnN0cm0sIHRoaXMubGV2ZWwsIDgsIHRoaXMud2luZG93Qml0cywgdGhpcy5tZW1MZXZlbCwgdGhpcy5zdHJhdGVneSk7XHJcblxyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBjYXNlIDI6XHJcbiAgICBjYXNlIDQ6XHJcbiAgICBjYXNlIDY6XHJcbiAgICBjYXNlIHlvOlxyXG4gICAgICBvID0gY28odGhpcy5zdHJtLCB0aGlzLndpbmRvd0JpdHMpO1xyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIG1vZGUgXCIgKyB0aGlzLm1vZGUpO1xyXG4gIH1cclxuXHJcbiAgMCA9PT0gbyA/ICh0aGlzLndyaXRlX2luX3Byb2dyZXNzID0gITEsIHRoaXMuaW5pdF9kb25lID0gITApIDogdGhpcy5fZXJyb3Iobyk7XHJcbn0sIG1vLnByb3RvdHlwZS5wYXJhbXMgPSBmdW5jdGlvbiAoKSB7XHJcbiAgdGhyb3cgbmV3IEVycm9yKFwiZGVmbGF0ZVBhcmFtcyBOb3Qgc3VwcG9ydGVkXCIpO1xyXG59LCBtby5wcm90b3R5cGUuX3dyaXRlQ2hlY2sgPSBmdW5jdGlvbiAoKSB7XHJcbiAgaWYgKCF0aGlzLmluaXRfZG9uZSkgdGhyb3cgbmV3IEVycm9yKFwid3JpdGUgYmVmb3JlIGluaXRcIik7XHJcbiAgaWYgKDAgPT09IHRoaXMubW9kZSkgdGhyb3cgbmV3IEVycm9yKFwiYWxyZWFkeSBmaW5hbGl6ZWRcIik7XHJcbiAgaWYgKHRoaXMud3JpdGVfaW5fcHJvZ3Jlc3MpIHRocm93IG5ldyBFcnJvcihcIndyaXRlIGFscmVhZHkgaW4gcHJvZ3Jlc3NcIik7XHJcbiAgaWYgKHRoaXMucGVuZGluZ19jbG9zZSkgdGhyb3cgbmV3IEVycm9yKFwiY2xvc2UgaXMgcGVuZGluZ1wiKTtcclxufSwgbW8ucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4sIGksIG8sIGEpIHtcclxuICB0aGlzLl93cml0ZUNoZWNrKCksIHRoaXMud3JpdGVfaW5fcHJvZ3Jlc3MgPSAhMDtcclxuICB2YXIgcyA9IHRoaXM7XHJcbiAgcmV0dXJuIGRlKGZ1bmN0aW9uICgpIHtcclxuICAgIHMud3JpdGVfaW5fcHJvZ3Jlc3MgPSAhMTtcclxuXHJcbiAgICB2YXIgaCA9IHMuX3dyaXRlKGUsIHQsIHIsIG4sIGksIG8sIGEpO1xyXG5cclxuICAgIHMuY2FsbGJhY2soaFswXSwgaFsxXSksIHMucGVuZGluZ19jbG9zZSAmJiBzLmNsb3NlKCk7XHJcbiAgfSksIHRoaXM7XHJcbn0sIG1vLnByb3RvdHlwZS53cml0ZVN5bmMgPSBmdW5jdGlvbiAoZSwgdCwgciwgbiwgaSwgbywgYSkge1xyXG4gIHJldHVybiB0aGlzLl93cml0ZUNoZWNrKCksIHRoaXMuX3dyaXRlKGUsIHQsIHIsIG4sIGksIG8sIGEpO1xyXG59LCBtby5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4sIGksIG8sIGEpIHtcclxuICBpZiAodGhpcy53cml0ZV9pbl9wcm9ncmVzcyA9ICEwLCAwICE9PSBlICYmIDEgIT09IGUgJiYgMiAhPT0gZSAmJiAzICE9PSBlICYmIDQgIT09IGUgJiYgNSAhPT0gZSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBmbHVzaCB2YWx1ZVwiKTtcclxuICBudWxsID09IHQgJiYgKHQgPSBuZXcgcCgwKSwgbiA9IDAsIHIgPSAwKSwgaS5fc2V0ID8gaS5zZXQgPSBpLl9zZXQgOiBpLnNldCA9IGtvO1xyXG4gIHZhciBzLFxyXG4gICAgICBoID0gdGhpcy5zdHJtO1xyXG5cclxuICBzd2l0Y2ggKGguYXZhaWxfaW4gPSBuLCBoLmlucHV0ID0gdCwgaC5uZXh0X2luID0gciwgaC5hdmFpbF9vdXQgPSBhLCBoLm91dHB1dCA9IGksIGgubmV4dF9vdXQgPSBvLCB0aGlzLm1vZGUpIHtcclxuICAgIGNhc2UgYm86XHJcbiAgICBjYXNlIDM6XHJcbiAgICBjYXNlIDU6XHJcbiAgICAgIHMgPSBRbihoLCBlKTtcclxuICAgICAgYnJlYWs7XHJcblxyXG4gICAgY2FzZSB5bzpcclxuICAgIGNhc2UgMjpcclxuICAgIGNhc2UgNDpcclxuICAgIGNhc2UgNjpcclxuICAgICAgcyA9IHZvKGgsIGUpO1xyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIG1vZGUgXCIgKyB0aGlzLm1vZGUpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIDEgIT09IHMgJiYgMCAhPT0gcyAmJiB0aGlzLl9lcnJvcihzKSwgdGhpcy53cml0ZV9pbl9wcm9ncmVzcyA9ICExLCBbaC5hdmFpbF9pbiwgaC5hdmFpbF9vdXRdO1xyXG59LCBtby5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbiAoKSB7XHJcbiAgdGhpcy53cml0ZV9pbl9wcm9ncmVzcyA/IHRoaXMucGVuZGluZ19jbG9zZSA9ICEwIDogKHRoaXMucGVuZGluZ19jbG9zZSA9ICExLCB0aGlzLm1vZGUgPT09IGJvIHx8IDMgPT09IHRoaXMubW9kZSB8fCA1ID09PSB0aGlzLm1vZGUgPyBmdW5jdGlvbiAoZSkge1xyXG4gICAgdmFyIHQ7XHJcbiAgICBlICYmIGUuc3RhdGUgJiYgKCh0ID0gZS5zdGF0ZS5zdGF0dXMpICE9PSBBbiAmJiB0ICE9PSBCbiAmJiB0ICE9PSB6biAmJiB0ICE9PSBMbiAmJiB0ICE9PSBUbiAmJiB0ICE9PSBNbiAmJiB0ICE9PSBDbiA/IEhuKGUsIHNuKSA6IChlLnN0YXRlID0gbnVsbCwgdCA9PT0gTW4gJiYgSG4oZSwgaG4pKSk7XHJcbiAgfSh0aGlzLnN0cm0pIDogZnVuY3Rpb24gKGUpIHtcclxuICAgIGlmICghZSB8fCAhZS5zdGF0ZSkgcmV0dXJuIEVpO1xyXG4gICAgdmFyIHQgPSBlLnN0YXRlO1xyXG4gICAgdC53aW5kb3cgJiYgKHQud2luZG93ID0gbnVsbCksIGUuc3RhdGUgPSBudWxsO1xyXG4gIH0odGhpcy5zdHJtKSwgdGhpcy5tb2RlID0gMCk7XHJcbn0sIG1vLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uICgpIHtcclxuICBzd2l0Y2ggKHRoaXMubW9kZSkge1xyXG4gICAgY2FzZSBibzpcclxuICAgIGNhc2UgNTpcclxuICAgICAgd28gPSBKbih0aGlzLnN0cm0pO1xyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBjYXNlIDI6XHJcbiAgICBjYXNlIDY6XHJcbiAgICAgIHdvID0gZm8odGhpcy5zdHJtKTtcclxuICB9XHJcblxyXG4gIDAgIT09IHdvICYmIHRoaXMuX2Vycm9yKHdvKTtcclxufSwgbW8ucHJvdG90eXBlLl9lcnJvciA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgdGhpcy5vbmVycm9yKE50W2VdICsgXCI6IFwiICsgdGhpcy5zdHJtLm1zZywgZSksIHRoaXMud3JpdGVfaW5fcHJvZ3Jlc3MgPSAhMSwgdGhpcy5wZW5kaW5nX2Nsb3NlICYmIHRoaXMuY2xvc2UoKTtcclxufTtcclxudmFyIEVvID0gT2JqZWN0LmZyZWV6ZSh7XHJcbiAgTk9ORTogMCxcclxuICBERUZMQVRFOiBibyxcclxuICBJTkZMQVRFOiAyLFxyXG4gIEdaSVA6IDMsXHJcbiAgR1VOWklQOiA0LFxyXG4gIERFRkxBVEVSQVc6IDUsXHJcbiAgSU5GTEFURVJBVzogNixcclxuICBVTlpJUDogeW8sXHJcbiAgWl9OT19GTFVTSDogMCxcclxuICBaX1BBUlRJQUxfRkxVU0g6IDEsXHJcbiAgWl9TWU5DX0ZMVVNIOiAyLFxyXG4gIFpfRlVMTF9GTFVTSDogMyxcclxuICBaX0ZJTklTSDogNCxcclxuICBaX0JMT0NLOiA1LFxyXG4gIFpfVFJFRVM6IDYsXHJcbiAgWl9PSzogMCxcclxuICBaX1NUUkVBTV9FTkQ6IDEsXHJcbiAgWl9ORUVEX0RJQ1Q6IDIsXHJcbiAgWl9FUlJOTzogLTEsXHJcbiAgWl9TVFJFQU1fRVJST1I6IC0yLFxyXG4gIFpfREFUQV9FUlJPUjogLTMsXHJcbiAgWl9CVUZfRVJST1I6IC01LFxyXG4gIFpfTk9fQ09NUFJFU1NJT046IDAsXHJcbiAgWl9CRVNUX1NQRUVEOiAxLFxyXG4gIFpfQkVTVF9DT01QUkVTU0lPTjogOSxcclxuICBaX0RFRkFVTFRfQ09NUFJFU1NJT046IC0xLFxyXG4gIFpfRklMVEVSRUQ6IDEsXHJcbiAgWl9IVUZGTUFOX09OTFk6IDIsXHJcbiAgWl9STEU6IDMsXHJcbiAgWl9GSVhFRDogNCxcclxuICBaX0RFRkFVTFRfU1RSQVRFR1k6IDAsXHJcbiAgWl9CSU5BUlk6IDAsXHJcbiAgWl9URVhUOiAxLFxyXG4gIFpfVU5LTk9XTjogMixcclxuICBaX0RFRkxBVEVEOiA4LFxyXG4gIFpsaWI6IG1vXHJcbn0pO1xyXG52YXIgU28gPSB7fTtcclxuT2JqZWN0LmtleXMoRW8pLmZvckVhY2goZnVuY3Rpb24gKGUpIHtcclxuICBTb1tlXSA9IEVvW2VdO1xyXG59KSwgU28uWl9NSU5fV0lORE9XQklUUyA9IDgsIFNvLlpfTUFYX1dJTkRPV0JJVFMgPSAxNSwgU28uWl9ERUZBVUxUX1dJTkRPV0JJVFMgPSAxNSwgU28uWl9NSU5fQ0hVTksgPSA2NCwgU28uWl9NQVhfQ0hVTksgPSAxIC8gMCwgU28uWl9ERUZBVUxUX0NIVU5LID0gMTYzODQsIFNvLlpfTUlOX01FTUxFVkVMID0gMSwgU28uWl9NQVhfTUVNTEVWRUwgPSA5LCBTby5aX0RFRkFVTFRfTUVNTEVWRUwgPSA4LCBTby5aX01JTl9MRVZFTCA9IC0xLCBTby5aX01BWF9MRVZFTCA9IDksIFNvLlpfREVGQVVMVF9MRVZFTCA9IFNvLlpfREVGQVVMVF9DT01QUkVTU0lPTjtcclxudmFyIHhvID0ge1xyXG4gIFpfT0s6IFNvLlpfT0ssXHJcbiAgWl9TVFJFQU1fRU5EOiBTby5aX1NUUkVBTV9FTkQsXHJcbiAgWl9ORUVEX0RJQ1Q6IFNvLlpfTkVFRF9ESUNULFxyXG4gIFpfRVJSTk86IFNvLlpfRVJSTk8sXHJcbiAgWl9TVFJFQU1fRVJST1I6IFNvLlpfU1RSRUFNX0VSUk9SLFxyXG4gIFpfREFUQV9FUlJPUjogU28uWl9EQVRBX0VSUk9SLFxyXG4gIFpfTUVNX0VSUk9SOiBTby5aX01FTV9FUlJPUixcclxuICBaX0JVRl9FUlJPUjogU28uWl9CVUZfRVJST1IsXHJcbiAgWl9WRVJTSU9OX0VSUk9SOiBTby5aX1ZFUlNJT05fRVJST1JcclxufTtcclxuXHJcbmZ1bmN0aW9uIFJvKGUsIHQsIHIpIHtcclxuICB2YXIgbiA9IFtdLFxyXG4gICAgICBpID0gMDtcclxuXHJcbiAgZnVuY3Rpb24gbygpIHtcclxuICAgIGZvciAodmFyIHQ7IG51bGwgIT09ICh0ID0gZS5yZWFkKCkpOykgbi5wdXNoKHQpLCBpICs9IHQubGVuZ3RoO1xyXG5cclxuICAgIGUub25jZShcInJlYWRhYmxlXCIsIG8pO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gYSgpIHtcclxuICAgIHZhciB0ID0gcC5jb25jYXQobiwgaSk7XHJcbiAgICBuID0gW10sIHIobnVsbCwgdCksIGUuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIGUub24oXCJlcnJvclwiLCBmdW5jdGlvbiAodCkge1xyXG4gICAgZS5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLCBhKSwgZS5yZW1vdmVMaXN0ZW5lcihcInJlYWRhYmxlXCIsIG8pLCByKHQpO1xyXG4gIH0pLCBlLm9uKFwiZW5kXCIsIGEpLCBlLmVuZCh0KSwgbygpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBBbyhlLCB0KSB7XHJcbiAgaWYgKFwic3RyaW5nXCIgPT0gdHlwZW9mIHQgJiYgKHQgPSBuZXcgcCh0KSksICEkKHQpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTm90IGEgc3RyaW5nIG9yIGJ1ZmZlclwiKTtcclxuICB2YXIgciA9IFNvLlpfRklOSVNIO1xyXG4gIHJldHVybiBlLl9wcm9jZXNzQ2h1bmsodCwgcik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEJvKGUpIHtcclxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgQm8pKSByZXR1cm4gbmV3IEJvKGUpO1xyXG4gIElvLmNhbGwodGhpcywgZSwgU28uREVGTEFURSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHpvKGUpIHtcclxuICBpZiAoISh0aGlzIGluc3RhbmNlb2Ygem8pKSByZXR1cm4gbmV3IHpvKGUpO1xyXG4gIElvLmNhbGwodGhpcywgZSwgU28uSU5GTEFURSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIExvKGUpIHtcclxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgTG8pKSByZXR1cm4gbmV3IExvKGUpO1xyXG4gIElvLmNhbGwodGhpcywgZSwgU28uR1pJUCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFRvKGUpIHtcclxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgVG8pKSByZXR1cm4gbmV3IFRvKGUpO1xyXG4gIElvLmNhbGwodGhpcywgZSwgU28uR1VOWklQKTtcclxufVxyXG5cclxuZnVuY3Rpb24gTW8oZSkge1xyXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBNbykpIHJldHVybiBuZXcgTW8oZSk7XHJcbiAgSW8uY2FsbCh0aGlzLCBlLCBTby5ERUZMQVRFUkFXKTtcclxufVxyXG5cclxuZnVuY3Rpb24gQ28oZSkge1xyXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBDbykpIHJldHVybiBuZXcgQ28oZSk7XHJcbiAgSW8uY2FsbCh0aGlzLCBlLCBTby5JTkZMQVRFUkFXKTtcclxufVxyXG5cclxuZnVuY3Rpb24gRG8oZSkge1xyXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBEbykpIHJldHVybiBuZXcgRG8oZSk7XHJcbiAgSW8uY2FsbCh0aGlzLCBlLCBTby5VTlpJUCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIElvKGUsIHQpIHtcclxuICBpZiAodGhpcy5fb3B0cyA9IGUgPSBlIHx8IHt9LCB0aGlzLl9jaHVua1NpemUgPSBlLmNodW5rU2l6ZSB8fCBTby5aX0RFRkFVTFRfQ0hVTkssIE90LmNhbGwodGhpcywgZSksIGUuZmx1c2ggJiYgZS5mbHVzaCAhPT0gU28uWl9OT19GTFVTSCAmJiBlLmZsdXNoICE9PSBTby5aX1BBUlRJQUxfRkxVU0ggJiYgZS5mbHVzaCAhPT0gU28uWl9TWU5DX0ZMVVNIICYmIGUuZmx1c2ggIT09IFNvLlpfRlVMTF9GTFVTSCAmJiBlLmZsdXNoICE9PSBTby5aX0ZJTklTSCAmJiBlLmZsdXNoICE9PSBTby5aX0JMT0NLKSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGZsdXNoIGZsYWc6IFwiICsgZS5mbHVzaCk7XHJcbiAgaWYgKHRoaXMuX2ZsdXNoRmxhZyA9IGUuZmx1c2ggfHwgU28uWl9OT19GTFVTSCwgZS5jaHVua1NpemUgJiYgKGUuY2h1bmtTaXplIDwgU28uWl9NSU5fQ0hVTksgfHwgZS5jaHVua1NpemUgPiBTby5aX01BWF9DSFVOSykpIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgY2h1bmsgc2l6ZTogXCIgKyBlLmNodW5rU2l6ZSk7XHJcbiAgaWYgKGUud2luZG93Qml0cyAmJiAoZS53aW5kb3dCaXRzIDwgU28uWl9NSU5fV0lORE9XQklUUyB8fCBlLndpbmRvd0JpdHMgPiBTby5aX01BWF9XSU5ET1dCSVRTKSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB3aW5kb3dCaXRzOiBcIiArIGUud2luZG93Qml0cyk7XHJcbiAgaWYgKGUubGV2ZWwgJiYgKGUubGV2ZWwgPCBTby5aX01JTl9MRVZFTCB8fCBlLmxldmVsID4gU28uWl9NQVhfTEVWRUwpKSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGNvbXByZXNzaW9uIGxldmVsOiBcIiArIGUubGV2ZWwpO1xyXG4gIGlmIChlLm1lbUxldmVsICYmIChlLm1lbUxldmVsIDwgU28uWl9NSU5fTUVNTEVWRUwgfHwgZS5tZW1MZXZlbCA+IFNvLlpfTUFYX01FTUxFVkVMKSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBtZW1MZXZlbDogXCIgKyBlLm1lbUxldmVsKTtcclxuICBpZiAoZS5zdHJhdGVneSAmJiBlLnN0cmF0ZWd5ICE9IFNvLlpfRklMVEVSRUQgJiYgZS5zdHJhdGVneSAhPSBTby5aX0hVRkZNQU5fT05MWSAmJiBlLnN0cmF0ZWd5ICE9IFNvLlpfUkxFICYmIGUuc3RyYXRlZ3kgIT0gU28uWl9GSVhFRCAmJiBlLnN0cmF0ZWd5ICE9IFNvLlpfREVGQVVMVF9TVFJBVEVHWSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzdHJhdGVneTogXCIgKyBlLnN0cmF0ZWd5KTtcclxuICBpZiAoZS5kaWN0aW9uYXJ5ICYmICEkKGUuZGljdGlvbmFyeSkpIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZGljdGlvbmFyeTogaXQgc2hvdWxkIGJlIGEgQnVmZmVyIGluc3RhbmNlXCIpO1xyXG4gIHRoaXMuX2JpbmRpbmcgPSBuZXcgU28uWmxpYih0KTtcclxuICB2YXIgciA9IHRoaXM7XHJcbiAgdGhpcy5faGFkRXJyb3IgPSAhMSwgdGhpcy5fYmluZGluZy5vbmVycm9yID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIHIuX2JpbmRpbmcgPSBudWxsLCByLl9oYWRFcnJvciA9ICEwO1xyXG4gICAgdmFyIG4gPSBuZXcgRXJyb3IoZSk7XHJcbiAgICBuLmVycm5vID0gdCwgbi5jb2RlID0gU28uY29kZXNbdF0sIHIuZW1pdChcImVycm9yXCIsIG4pO1xyXG4gIH07XHJcbiAgdmFyIG4gPSBTby5aX0RFRkFVTFRfQ09NUFJFU1NJT047XHJcbiAgXCJudW1iZXJcIiA9PSB0eXBlb2YgZS5sZXZlbCAmJiAobiA9IGUubGV2ZWwpO1xyXG4gIHZhciBpID0gU28uWl9ERUZBVUxUX1NUUkFURUdZO1xyXG4gIFwibnVtYmVyXCIgPT0gdHlwZW9mIGUuc3RyYXRlZ3kgJiYgKGkgPSBlLnN0cmF0ZWd5KSwgdGhpcy5fYmluZGluZy5pbml0KGUud2luZG93Qml0cyB8fCBTby5aX0RFRkFVTFRfV0lORE9XQklUUywgbiwgZS5tZW1MZXZlbCB8fCBTby5aX0RFRkFVTFRfTUVNTEVWRUwsIGksIGUuZGljdGlvbmFyeSksIHRoaXMuX2J1ZmZlciA9IG5ldyBwKHRoaXMuX2NodW5rU2l6ZSksIHRoaXMuX29mZnNldCA9IDAsIHRoaXMuX2Nsb3NlZCA9ICExLCB0aGlzLl9sZXZlbCA9IG4sIHRoaXMuX3N0cmF0ZWd5ID0gaSwgdGhpcy5vbmNlKFwiZW5kXCIsIHRoaXMuY2xvc2UpO1xyXG59XHJcblxyXG5PYmplY3Qua2V5cyh4bykuZm9yRWFjaChmdW5jdGlvbiAoZSkge1xyXG4gIHhvW3hvW2VdXSA9IGU7XHJcbn0pLCBCZShJbywgT3QpLCBJby5wcm90b3R5cGUucGFyYW1zID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICBpZiAoZSA8IFNvLlpfTUlOX0xFVkVMIHx8IGUgPiBTby5aX01BWF9MRVZFTCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIGNvbXByZXNzaW9uIGxldmVsOiBcIiArIGUpO1xyXG4gIGlmICh0ICE9IFNvLlpfRklMVEVSRUQgJiYgdCAhPSBTby5aX0hVRkZNQU5fT05MWSAmJiB0ICE9IFNvLlpfUkxFICYmIHQgIT0gU28uWl9GSVhFRCAmJiB0ICE9IFNvLlpfREVGQVVMVF9TVFJBVEVHWSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgc3RyYXRlZ3k6IFwiICsgdCk7XHJcblxyXG4gIGlmICh0aGlzLl9sZXZlbCAhPT0gZSB8fCB0aGlzLl9zdHJhdGVneSAhPT0gdCkge1xyXG4gICAgdmFyIG4gPSB0aGlzO1xyXG4gICAgdGhpcy5mbHVzaChTby5aX1NZTkNfRkxVU0gsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgbi5fYmluZGluZy5wYXJhbXMoZSwgdCksIG4uX2hhZEVycm9yIHx8IChuLl9sZXZlbCA9IGUsIG4uX3N0cmF0ZWd5ID0gdCwgciAmJiByKCkpO1xyXG4gICAgfSk7XHJcbiAgfSBlbHNlIGRlKHIpO1xyXG59LCBJby5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgcmV0dXJuIHRoaXMuX2JpbmRpbmcucmVzZXQoKTtcclxufSwgSW8ucHJvdG90eXBlLl9mbHVzaCA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgdGhpcy5fdHJhbnNmb3JtKG5ldyBwKDApLCBcIlwiLCBlKTtcclxufSwgSW8ucHJvdG90eXBlLmZsdXNoID0gZnVuY3Rpb24gKGUsIHQpIHtcclxuICB2YXIgciA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XHJcbiAgaWYgKChcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIGUgfHwgdm9pZCAwID09PSBlICYmICF0KSAmJiAodCA9IGUsIGUgPSBTby5aX0ZVTExfRkxVU0gpLCByLmVuZGVkKSB0ICYmIGRlKHQpO2Vsc2UgaWYgKHIuZW5kaW5nKSB0ICYmIHRoaXMub25jZShcImVuZFwiLCB0KTtlbHNlIGlmIChyLm5lZWREcmFpbikge1xyXG4gICAgdmFyIG4gPSB0aGlzO1xyXG4gICAgdGhpcy5vbmNlKFwiZHJhaW5cIiwgZnVuY3Rpb24gKCkge1xyXG4gICAgICBuLmZsdXNoKHQpO1xyXG4gICAgfSk7XHJcbiAgfSBlbHNlIHRoaXMuX2ZsdXNoRmxhZyA9IGUsIHRoaXMud3JpdGUobmV3IHAoMCksIFwiXCIsIHQpO1xyXG59LCBJby5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbiAoZSkge1xyXG4gIGlmIChlICYmIGRlKGUpLCAhdGhpcy5fY2xvc2VkKSB7XHJcbiAgICB0aGlzLl9jbG9zZWQgPSAhMCwgdGhpcy5fYmluZGluZy5jbG9zZSgpO1xyXG4gICAgdmFyIHQgPSB0aGlzO1xyXG4gICAgZGUoZnVuY3Rpb24gKCkge1xyXG4gICAgICB0LmVtaXQoXCJjbG9zZVwiKTtcclxuICAgIH0pO1xyXG4gIH1cclxufSwgSW8ucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoZSwgdCwgcikge1xyXG4gIHZhciBuLFxyXG4gICAgICBpID0gdGhpcy5fd3JpdGFibGVTdGF0ZSxcclxuICAgICAgbyA9IChpLmVuZGluZyB8fCBpLmVuZGVkKSAmJiAoIWUgfHwgaS5sZW5ndGggPT09IGUubGVuZ3RoKTtcclxuICBpZiAobnVsbCA9PT0gIWUgJiYgISQoZSkpIHJldHVybiByKG5ldyBFcnJvcihcImludmFsaWQgaW5wdXRcIikpO1xyXG4gIG8gPyBuID0gU28uWl9GSU5JU0ggOiAobiA9IHRoaXMuX2ZsdXNoRmxhZywgZS5sZW5ndGggPj0gaS5sZW5ndGggJiYgKHRoaXMuX2ZsdXNoRmxhZyA9IHRoaXMuX29wdHMuZmx1c2ggfHwgU28uWl9OT19GTFVTSCkpLCB0aGlzLl9wcm9jZXNzQ2h1bmsoZSwgbiwgcik7XHJcbn0sIElvLnByb3RvdHlwZS5fcHJvY2Vzc0NodW5rID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICB2YXIgbiA9IGUgJiYgZS5sZW5ndGgsXHJcbiAgICAgIGkgPSB0aGlzLl9jaHVua1NpemUgLSB0aGlzLl9vZmZzZXQsXHJcbiAgICAgIG8gPSAwLFxyXG4gICAgICBhID0gdGhpcyxcclxuICAgICAgcyA9IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgcjtcclxuXHJcbiAgaWYgKCFzKSB7XHJcbiAgICB2YXIgaCxcclxuICAgICAgICBsID0gW10sXHJcbiAgICAgICAgZiA9IDA7XHJcbiAgICB0aGlzLm9uKFwiZXJyb3JcIiwgZnVuY3Rpb24gKGUpIHtcclxuICAgICAgaCA9IGU7XHJcbiAgICB9KTtcclxuXHJcbiAgICBkbyB7XHJcbiAgICAgIHZhciBjID0gdGhpcy5fYmluZGluZy53cml0ZVN5bmModCwgZSwgbywgbiwgdGhpcy5fYnVmZmVyLCB0aGlzLl9vZmZzZXQsIGkpO1xyXG4gICAgfSB3aGlsZSAoIXRoaXMuX2hhZEVycm9yICYmIF8oY1swXSwgY1sxXSkpO1xyXG5cclxuICAgIGlmICh0aGlzLl9oYWRFcnJvcikgdGhyb3cgaDtcclxuICAgIHZhciB1ID0gcC5jb25jYXQobCwgZik7XHJcbiAgICByZXR1cm4gdGhpcy5jbG9zZSgpLCB1O1xyXG4gIH1cclxuXHJcbiAgdmFyIGQgPSB0aGlzLl9iaW5kaW5nLndyaXRlKHQsIGUsIG8sIG4sIHRoaXMuX2J1ZmZlciwgdGhpcy5fb2Zmc2V0LCBpKTtcclxuXHJcbiAgZnVuY3Rpb24gXyhoLCBjKSB7XHJcbiAgICBpZiAoIWEuX2hhZEVycm9yKSB7XHJcbiAgICAgIHZhciB1ID0gaSAtIGM7XHJcblxyXG4gICAgICBpZiAoZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgICAgICBpZiAoIWUpIHRocm93IG5ldyBFcnJvcih0KTtcclxuICAgICAgfSh1ID49IDAsIFwiaGF2ZSBzaG91bGQgbm90IGdvIGRvd25cIiksIHUgPiAwKSB7XHJcbiAgICAgICAgdmFyIGQgPSBhLl9idWZmZXIuc2xpY2UoYS5fb2Zmc2V0LCBhLl9vZmZzZXQgKyB1KTtcclxuXHJcbiAgICAgICAgYS5fb2Zmc2V0ICs9IHUsIHMgPyBhLnB1c2goZCkgOiAobC5wdXNoKGQpLCBmICs9IGQubGVuZ3RoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCgwID09PSBjIHx8IGEuX29mZnNldCA+PSBhLl9jaHVua1NpemUpICYmIChpID0gYS5fY2h1bmtTaXplLCBhLl9vZmZzZXQgPSAwLCBhLl9idWZmZXIgPSBuZXcgcChhLl9jaHVua1NpemUpKSwgMCA9PT0gYykge1xyXG4gICAgICAgIGlmIChvICs9IG4gLSBoLCBuID0gaCwgIXMpIHJldHVybiAhMDtcclxuXHJcbiAgICAgICAgdmFyIGcgPSBhLl9iaW5kaW5nLndyaXRlKHQsIGUsIG8sIG4sIGEuX2J1ZmZlciwgYS5fb2Zmc2V0LCBhLl9jaHVua1NpemUpO1xyXG5cclxuICAgICAgICByZXR1cm4gZy5jYWxsYmFjayA9IF8sIHZvaWQgKGcuYnVmZmVyID0gZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghcykgcmV0dXJuICExO1xyXG4gICAgICByKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkLmJ1ZmZlciA9IGUsIGQuY2FsbGJhY2sgPSBfO1xyXG59LCBCZShCbywgSW8pLCBCZSh6bywgSW8pLCBCZShMbywgSW8pLCBCZShUbywgSW8pLCBCZShNbywgSW8pLCBCZShDbywgSW8pLCBCZShEbywgSW8pO1xyXG52YXIgUG8gPSB7XHJcbiAgY29kZXM6IHhvLFxyXG4gIGNyZWF0ZURlZmxhdGU6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICByZXR1cm4gbmV3IEJvKGUpO1xyXG4gIH0sXHJcbiAgY3JlYXRlSW5mbGF0ZTogZnVuY3Rpb24gKGUpIHtcclxuICAgIHJldHVybiBuZXcgem8oZSk7XHJcbiAgfSxcclxuICBjcmVhdGVEZWZsYXRlUmF3OiBmdW5jdGlvbiAoZSkge1xyXG4gICAgcmV0dXJuIG5ldyBNbyhlKTtcclxuICB9LFxyXG4gIGNyZWF0ZUluZmxhdGVSYXc6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICByZXR1cm4gbmV3IENvKGUpO1xyXG4gIH0sXHJcbiAgY3JlYXRlR3ppcDogZnVuY3Rpb24gKGUpIHtcclxuICAgIHJldHVybiBuZXcgTG8oZSk7XHJcbiAgfSxcclxuICBjcmVhdGVHdW56aXA6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICByZXR1cm4gbmV3IFRvKGUpO1xyXG4gIH0sXHJcbiAgY3JlYXRlVW56aXA6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICByZXR1cm4gbmV3IERvKGUpO1xyXG4gIH0sXHJcbiAgZGVmbGF0ZTogZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICAgIHJldHVybiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIHQgJiYgKHIgPSB0LCB0ID0ge30pLCBSbyhuZXcgQm8odCksIGUsIHIpO1xyXG4gIH0sXHJcbiAgZGVmbGF0ZVN5bmM6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICByZXR1cm4gQW8obmV3IEJvKHQpLCBlKTtcclxuICB9LFxyXG4gIGd6aXA6IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgICByZXR1cm4gXCJmdW5jdGlvblwiID09IHR5cGVvZiB0ICYmIChyID0gdCwgdCA9IHt9KSwgUm8obmV3IExvKHQpLCBlLCByKTtcclxuICB9LFxyXG4gIGd6aXBTeW5jOiBmdW5jdGlvbiAoZSwgdCkge1xyXG4gICAgcmV0dXJuIEFvKG5ldyBMbyh0KSwgZSk7XHJcbiAgfSxcclxuICBkZWZsYXRlUmF3OiBmdW5jdGlvbiAoZSwgdCwgcikge1xyXG4gICAgcmV0dXJuIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgdCAmJiAociA9IHQsIHQgPSB7fSksIFJvKG5ldyBNbyh0KSwgZSwgcik7XHJcbiAgfSxcclxuICBkZWZsYXRlUmF3U3luYzogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIHJldHVybiBBbyhuZXcgTW8odCksIGUpO1xyXG4gIH0sXHJcbiAgdW56aXA6IGZ1bmN0aW9uIChlLCB0LCByKSB7XHJcbiAgICByZXR1cm4gXCJmdW5jdGlvblwiID09IHR5cGVvZiB0ICYmIChyID0gdCwgdCA9IHt9KSwgUm8obmV3IERvKHQpLCBlLCByKTtcclxuICB9LFxyXG4gIHVuemlwU3luYzogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIHJldHVybiBBbyhuZXcgRG8odCksIGUpO1xyXG4gIH0sXHJcbiAgaW5mbGF0ZTogZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICAgIHJldHVybiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIHQgJiYgKHIgPSB0LCB0ID0ge30pLCBSbyhuZXcgem8odCksIGUsIHIpO1xyXG4gIH0sXHJcbiAgaW5mbGF0ZVN5bmM6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICByZXR1cm4gQW8obmV3IHpvKHQpLCBlKTtcclxuICB9LFxyXG4gIGd1bnppcDogZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICAgIHJldHVybiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIHQgJiYgKHIgPSB0LCB0ID0ge30pLCBSbyhuZXcgVG8odCksIGUsIHIpO1xyXG4gIH0sXHJcbiAgZ3VuemlwU3luYzogZnVuY3Rpb24gKGUsIHQpIHtcclxuICAgIHJldHVybiBBbyhuZXcgVG8odCksIGUpO1xyXG4gIH0sXHJcbiAgaW5mbGF0ZVJhdzogZnVuY3Rpb24gKGUsIHQsIHIpIHtcclxuICAgIHJldHVybiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIHQgJiYgKHIgPSB0LCB0ID0ge30pLCBSbyhuZXcgQ28odCksIGUsIHIpO1xyXG4gIH0sXHJcbiAgaW5mbGF0ZVJhd1N5bmM6IGZ1bmN0aW9uIChlLCB0KSB7XHJcbiAgICByZXR1cm4gQW8obmV3IENvKHQpLCBlKTtcclxuICB9LFxyXG4gIERlZmxhdGU6IEJvLFxyXG4gIEluZmxhdGU6IHpvLFxyXG4gIEd6aXA6IExvLFxyXG4gIEd1bnppcDogVG8sXHJcbiAgRGVmbGF0ZVJhdzogTW8sXHJcbiAgSW5mbGF0ZVJhdzogQ28sXHJcbiAgVW56aXA6IERvLFxyXG4gIFpsaWI6IElvXHJcbn07XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIHtcclxuICBjb25zdHJ1Y3RvcihlLCB0LCByKSB7XHJcbiAgICB0aGlzLlNES0FQUElEID0gZSwgdGhpcy5FWFBJUkVUSU1FID0gciwgdGhpcy5QUklWQVRFS0VZID0gdDtcclxuICB9XHJcblxyXG4gIGdlblRlc3RVc2VyU2lnKGUpIHtcclxuICAgIHJldHVybiB0aGlzLl9pc051bWJlcih0aGlzLlNES0FQUElEKSA/IHRoaXMuX2lzU3RyaW5nKHRoaXMuUFJJVkFURUtFWSkgPyB0aGlzLl9pc1N0cmluZyhlKSA/IHRoaXMuX2lzTnVtYmVyKHRoaXMuRVhQSVJFVElNRSkgPyAoY29uc29sZS5sb2coXCJzZGtBcHBJRD1cIiArIHRoaXMuU0RLQVBQSUQgKyBcIiBrZXk9XCIgKyB0aGlzLlBSSVZBVEVLRVkgKyBcIiB1c2VySUQ9XCIgKyBlICsgXCIgZXhwaXJlPVwiICsgdGhpcy5FWFBJUkVUSU1FKSwgdGhpcy5nZW5TaWdXaXRoVXNlcmJ1ZihlLCB0aGlzLkVYUElSRVRJTUUsIG51bGwpKSA6IChjb25zb2xlLmVycm9yKFwiZXhwaXJlVGltZSBtdXN0IGJlIGEgbnVtYmVyXCIpLCBcIlwiKSA6IChjb25zb2xlLmVycm9yKFwidXNlcklEIG11c3QgYmUgYSBzdHJpbmdcIiksIFwiXCIpIDogKGNvbnNvbGUuZXJyb3IoXCJwcml2YXRlS2V5IG11c3QgYmUgYSBzdHJpbmdcIiksIFwiXCIpIDogKGNvbnNvbGUuZXJyb3IoXCJzZGtBcHBJRCBtdXN0IGJlIGEgbnVtYmVyXCIpLCBcIlwiKTtcclxuICB9XHJcblxyXG4gIG5ld0J1ZmZlcihlLCB0KSB7XHJcbiAgICByZXR1cm4gcC5mcm9tID8gcC5mcm9tKGUsIHQpIDogbmV3IHAoZSwgdCk7XHJcbiAgfVxyXG5cclxuICB1bmVzY2FwZShlKSB7XHJcbiAgICByZXR1cm4gZS5yZXBsYWNlKC9fL2csIFwiPVwiKS5yZXBsYWNlKC9cXC0vZywgXCIvXCIpLnJlcGxhY2UoL1xcKi9nLCBcIitcIik7XHJcbiAgfVxyXG5cclxuICBlc2NhcGUoZSkge1xyXG4gICAgcmV0dXJuIGUucmVwbGFjZSgvXFwrL2csIFwiKlwiKS5yZXBsYWNlKC9cXC8vZywgXCItXCIpLnJlcGxhY2UoLz0vZywgXCJfXCIpO1xyXG4gIH1cclxuXHJcbiAgZW5jb2RlKGUpIHtcclxuICAgIHJldHVybiB0aGlzLmVzY2FwZSh0aGlzLm5ld0J1ZmZlcihlKS50b1N0cmluZyhcImJhc2U2NFwiKSk7XHJcbiAgfVxyXG5cclxuICBkZWNvZGUoZSkge1xyXG4gICAgcmV0dXJuIHRoaXMubmV3QnVmZmVyKHRoaXMudW5lc2NhcGUoZSksIFwiYmFzZTY0XCIpO1xyXG4gIH1cclxuXHJcbiAgYmFzZTY0ZW5jb2RlKGUpIHtcclxuICAgIHJldHVybiB0aGlzLm5ld0J1ZmZlcihlKS50b1N0cmluZyhcImJhc2U2NFwiKTtcclxuICB9XHJcblxyXG4gIGJhc2U2NGRlY29kZShlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5uZXdCdWZmZXIoZSwgXCJiYXNlNjRcIikudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIF9obWFjc2hhMjU2KGUsIHQsIHIsIG4pIHtcclxuICAgIGxldCBpID0gXCJUTFMuaWRlbnRpZmllcjpcIiArIGUgKyBcIlxcblwiO1xyXG4gICAgaSArPSBcIlRMUy5zZGthcHBpZDpcIiArIHRoaXMuU0RLQVBQSUQgKyBcIlxcblwiLCBpICs9IFwiVExTLnRpbWU6XCIgKyB0ICsgXCJcXG5cIiwgaSArPSBcIlRMUy5leHBpcmU6XCIgKyByICsgXCJcXG5cIiwgbnVsbCAhPSBuICYmIChpICs9IFwiVExTLnVzZXJidWY6XCIgKyBuICsgXCJcXG5cIik7XHJcbiAgICBsZXQgbyA9IHRlLkhtYWNTSEEyNTYoaSwgdGhpcy5QUklWQVRFS0VZKTtcclxuICAgIHJldHVybiB0ZS5lbmMuQmFzZTY0LnN0cmluZ2lmeShvKTtcclxuICB9XHJcblxyXG4gIF91dGMoKSB7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZChEYXRlLm5vdygpIC8gMWUzKTtcclxuICB9XHJcblxyXG4gIF9pc051bWJlcihlKSB7XHJcbiAgICByZXR1cm4gbnVsbCAhPT0gZSAmJiAoXCJudW1iZXJcIiA9PSB0eXBlb2YgZSAmJiAhaXNOYU4oZSAtIDApIHx8IFwib2JqZWN0XCIgPT0gdHlwZW9mIGUgJiYgZS5jb25zdHJ1Y3RvciA9PT0gTnVtYmVyKTtcclxuICB9XHJcblxyXG4gIF9pc1N0cmluZyhlKSB7XHJcbiAgICByZXR1cm4gXCJzdHJpbmdcIiA9PSB0eXBlb2YgZTtcclxuICB9XHJcblxyXG4gIGdlblNpZ1dpdGhVc2VyYnVmKGUsIHQsIHIpIHtcclxuICAgIGxldCBuID0gdGhpcy5fdXRjKCksXHJcbiAgICAgICAgaSA9IHtcclxuICAgICAgXCJUTFMudmVyXCI6IFwiMi4wXCIsXHJcbiAgICAgIFwiVExTLmlkZW50aWZpZXJcIjogZSxcclxuICAgICAgXCJUTFMuc2RrYXBwaWRcIjogdGhpcy5TREtBUFBJRCxcclxuICAgICAgXCJUTFMudGltZVwiOiBuLFxyXG4gICAgICBcIlRMUy5leHBpcmVcIjogdFxyXG4gICAgfSxcclxuICAgICAgICBvID0gXCJcIjtcclxuXHJcbiAgICBpZiAobnVsbCAhPSByKSB7XHJcbiAgICAgIGxldCBhID0gdGhpcy5iYXNlNjRlbmNvZGUocik7XHJcbiAgICAgIGlbXCJUTFMudXNlcmJ1ZlwiXSA9IGEsIG8gPSB0aGlzLl9obWFjc2hhMjU2KGUsIG4sIHQsIGEpO1xyXG4gICAgfSBlbHNlIG8gPSB0aGlzLl9obWFjc2hhMjU2KGUsIG4sIHQsIG51bGwpO1xyXG5cclxuICAgIGlbXCJUTFMuc2lnXCJdID0gbztcclxuICAgIGxldCBhID0gSlNPTi5zdHJpbmdpZnkoaSksXHJcbiAgICAgICAgcyA9IFBvLmRlZmxhdGVTeW5jKHRoaXMubmV3QnVmZmVyKGEpKS50b1N0cmluZyhcImJhc2U2NFwiKSxcclxuICAgICAgICBoID0gdGhpcy5lc2NhcGUocyk7XHJcbiAgICByZXR1cm4gY29uc29sZS5sb2coXCJyZXQ9XCIgKyBoKSwgaDtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGUpIHtcclxuICAgIGxldCB0ID0gdGhpcy5kZWNvZGUoZSksXHJcbiAgICAgICAgciA9IFBvLmluZmxhdGVTeW5jKHQpO1xyXG4gICAgY29uc29sZS5sb2coXCJ2YWxpZGF0ZSByZXQ9XCIgKyByKTtcclxuICB9XHJcblxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///76\n");
/***/ }),
/* 77 */
/*!***********************************!*\
!*** (webpack)/buildin/global.js ***!
\***********************************/
/*! no static exports found */
/***/ (function(module, exports) {
var g;
// This works in non-strict mode
g = (function() {
return this;
})();
try {
// This works if eval is allowed (see CSP)
g = g || new Function("return this")();
} catch (e) {
// This works if the window reference is available
if (typeof window === "object") g = window;
}
// g can still be undefined, but nothing to do about it...
// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}
module.exports = g;
/***/ }),
/* 78 */
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 79 */
/*!************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/createClass.js ***!
\************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 3);
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
Object.defineProperty(Constructor, "prototype", {
writable: false
});
return Constructor;
}
module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 80 */
/*!***********************************************************!*\
!*** E:/2023/8/MT_APP/pages/chat/message.vue?mpType=page ***!
\***********************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _message_vue_vue_type_template_id_92a5e5ce_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./message.vue?vue&type=template&id=92a5e5ce&mpType=page */ 81);\n/* harmony import */ var _message_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./message.vue?vue&type=script&lang=js&mpType=page */ 111);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _message_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _message_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _message_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _message_vue_vue_type_template_id_92a5e5ce_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _message_vue_vue_type_template_id_92a5e5ce_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _message_vue_vue_type_template_id_92a5e5ce_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/chat/message.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBK0g7QUFDL0g7QUFDc0U7QUFDTDs7O0FBR2pFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHdGQUFNO0FBQ1IsRUFBRSw2RkFBTTtBQUNSLEVBQUUsc0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsaUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiODAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL21lc3NhZ2UudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTkyYTVlNWNlJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9tZXNzYWdlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9tZXNzYWdlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL2NoYXQvbWVzc2FnZS52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///80\n");
/***/ }),
/* 81 */
/*!*****************************************************************************************!*\
!*** E:/2023/8/MT_APP/pages/chat/message.vue?vue&type=template&id=92a5e5ce&mpType=page ***!
\*****************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_message_vue_vue_type_template_id_92a5e5ce_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./message.vue?vue&type=template&id=92a5e5ce&mpType=page */ 82);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_message_vue_vue_type_template_id_92a5e5ce_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_message_vue_vue_type_template_id_92a5e5ce_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_message_vue_vue_type_template_id_92a5e5ce_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_message_vue_vue_type_template_id_92a5e5ce_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 82 */
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/pages/chat/message.vue?vue&type=template&id=92a5e5ce&mpType=page ***!
\*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
try {
components = {
uniPopup: __webpack_require__(/*! @/components/uni-popup/uni-popup.vue */ 83).default,
nkSelectFile: __webpack_require__(/*! @/components/nk-select-file/nk-select-file.vue */ 95)
.default,
}
} catch (e) {
if (
e.message.indexOf("Cannot find module") !== -1 &&
e.message.indexOf(".vue") !== -1
) {
console.error(e.message)
console.error("1. 排查组件名称拼写是否正确")
console.error(
"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom"
)
console.error(
"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件"
)
} else {
throw e
}
}
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"view",
{
staticClass: _vm._$s(0, "sc", "page"),
style: _vm._$s(0, "s", {
overflow: "hidden",
"--custom-font-size": _vm.custom_font_size + "px",
}),
attrs: { _i: 0 },
},
[
_c("serving-view", {
ref: "serving",
attrs: {
list_id: _vm.list_id,
show: _vm.showServing,
state: _vm.servingState,
_i: 1,
},
on: {
setState: _vm.setSeringState,
closeServing: function ($event) {
_vm.showServing = false
},
},
}),
_c(
"view",
{ staticClass: _vm._$s(2, "sc", "page-content"), attrs: { _i: 2 } },
[
_vm._$s(3, "i", _vm.msgList.type == 1)
? _c(
"view",
{
staticClass: _vm._$s(3, "sc", "gong-gao-content"),
attrs: { _i: 3 },
},
[
_c(
"view",
{
staticClass: _vm._$s(4, "sc", "member-image-logo"),
attrs: { _i: 4 },
},
[
_vm._l(
_vm._$s(5, "f", { forItems: _vm.memberPhotos }),
function (item, i, $20, $30) {
return _c(
"view",
{
key: _vm._$s(5, "f", { forIndex: $20, key: i }),
staticClass: _vm._$s(
"5-" + $30,
"sc",
"member-content"
),
attrs: { _i: "5-" + $30 },
},
[
_c("image", {
staticClass: _vm._$s(
"6-" + $30,
"sc",
"img-logo"
),
attrs: {
src: _vm._$s(
"6-" + $30,
"a-src",
_vm.staticPhoto + item.photo
),
_i: "6-" + $30,
},
on: {
click: function ($event) {
return _vm.toUserDetail(item)
},
},
}),
]
)
}
),
_vm._$s(7, "i", _vm.memberPhotos.length >= 5)
? _c(
"view",
{
staticClass: _vm._$s(7, "sc", "jiazai"),
attrs: { _i: 7 },
on: { click: _vm.group_info },
},
[_c("image", { attrs: { _i: 8 } })]
)
: _vm._e(),
],
2
),
0
? undefined
: _vm._e(),
]
)
: _vm._e(),
_c(
"view",
{ staticClass: _vm._$s(12, "sc", "content"), attrs: { _i: 12 } },
[
_c(
"scroll-view",
{
staticClass: _vm._$s(13, "sc", "msg-list"),
style: _vm._$s(13, "s", { height: _vm.scrollHeight }),
attrs: {
"scroll-with-animation": _vm._$s(
13,
"a-scroll-with-animation",
_vm.scrollAnimation
),
"scroll-into-view": _vm._$s(
13,
"a-scroll-into-view",
_vm.scrollToView
),
id: "scrollview",
"scroll-top": _vm._$s(13, "a-scroll-top", _vm.scrollTop),
_i: 13,
},
on: {
scrolltoupper: _vm.loadHistory,
scroll: _vm.scrollEven,
touchstart: function ($event) {
return _vm.hideDrawer(3)
},
},
},
[
_vm._$s(14, "i", _vm.noMore && !_vm.isHistoryLoading)
? _c("uni-load-more", {
attrs: { status: "noMore", _i: 14 },
})
: _vm._e(),
_vm._l(
_vm._$s(15, "f", { forItems: _vm.msgList.list }),
function (row, index, $21, $31) {
return _c(
"view",
{
key: _vm._$s(15, "f", { forIndex: $21, key: index }),
staticClass: _vm._$s("15-" + $31, "sc", "row"),
attrs: {
id: _vm._$s(
"15-" + $31,
"a-id",
"msg" + row.msg.id
),
_i: "15-" + $31,
},
},
[
_vm._$s("16-" + $31, "i", row.type == 1)
? [
_c(
"view",
{
class: _vm._$s("17-" + $31, "c", [
"system",
_vm.msgList.type == 1 && index == 0
? "sys"
: "",
]),
style: _vm._$s("17-" + $31, "s", {
padding: "10upx 0",
marginBottom: "10upx",
}),
attrs: { _i: "17-" + $31 },
},
[
_vm._$s(
"18-" + $31,
"i",
row.msg.type == 0 &&
row.msg.content &&
row.msg.content.text
)
? _c(
"view",
{
staticClass: _vm._$s(
"18-" + $31,
"sc",
"text"
),
attrs: { _i: "18-" + $31 },
},
[
_vm._v(
_vm._$s(
"18-" + $31,
"t0-0",
_vm._s(row.msg.content.text)
)
),
]
)
: _vm._e(),
_vm._$s("19-" + $31, "i", row.msg.type == 5)
? _c(
"view",
{
staticClass: _vm._$s(
"19-" + $31,
"sc",
"red-envelope"
),
attrs: { _i: "19-" + $31 },
},
[
_c("image", {
attrs: { _i: "20-" + $31 },
}),
_vm._$s(
"21-" + $31,
"i",
row.msg.content.rid_user_id ==
_vm.my_data.id &&
row.msg.content.user_id ==
_vm.my_data.id
)
? void 0
: _vm._$s(
"22-" + $31,
"e",
row.msg.content.rid_user_id !=
_vm.my_data.id &&
row.msg.content.user_id ==
_vm.my_data.id
)
? [
_vm._v(
_vm._$s(
"22-" + $31,
"t0-0",
_vm._s(
row.msg.content
.rid_nickname
)
)
),
]
: _vm._$s(
"23-" + $31,
"e",
row.msg.content.rid_user_id ==
_vm.my_data.id &&
row.msg.content.user_id !=
_vm.my_data.id
)
? [
_vm._v(
_vm._$s(
"23-" + $31,
"t0-0",
_vm._s(
row.msg.content.nickname
)
)
),
]
: [
_vm._v(
_vm._$s(
"24-" + $31,
"t0-0",
_vm._s(
row.msg.content.nickname
)
) +
_vm._$s(
"24-" + $31,
"t0-1",
_vm._s(
row.msg.content
.rid_nickname
)
)
),
],
_c("text", {
attrs: { _i: "25-" + $31 },
on: {
click: function ($event) {
return _vm.toDetails(
row.msg.content.rid
)
},
},
}),
],
2
)
: _vm._e(),
]
),
]
: _vm._e(),
_vm._$s(
"26-" + $31,
"i",
row.type == 0 &&
(index == 0 ||
row.msg.time -
_vm.msgList.list[index - 1].msg.time >
300)
)
? [
_c(
"view",
{
staticClass: _vm._$s(
"27-" + $31,
"sc",
"system"
),
attrs: { _i: "27-" + $31 },
},
[
_c(
"view",
{
staticClass: _vm._$s(
"28-" + $31,
"sc",
"text"
),
attrs: { _i: "28-" + $31 },
},
[
_vm._v(
_vm._$s(
"28-" + $31,
"t0-0",
_vm._s(
_vm.timestampFormat(
row.msg.time + ""
)
)
)
),
]
),
]
),
]
: _vm._e(),
_vm._$s("29-" + $31, "i", row.type == 0)
? [
_vm._$s(
"30-" + $31,
"i",
row.msg.user_info.uid == _vm.my_data.id
)
? _c(
"view",
{
staticClass: _vm._$s(
"30-" + $31,
"sc",
"my"
),
attrs: { _i: "30-" + $31 },
},
[
_c(
"view",
{
staticClass: _vm._$s(
"31-" + $31,
"sc",
"left"
),
attrs: {
id: _vm._$s(
"31-" + $31,
"a-id",
row.msg.id
),
_i: "31-" + $31,
},
on: {
longpress: function ($event) {
return _vm.msgAction(
row.msg.id + "",
row.msg.user_info.uid + "",
row.msg.content,
row.msg.type
)
},
},
},
[
_vm._$s(
"32-" + $31,
"i",
row.msg.time <= _vm.nowReadTime
)
? _c("image", {
attrs: { _i: "32-" + $31 },
})
: _c("image", {
attrs: { _i: "33-" + $31 },
}),
_vm._$s(
"34-" + $31,
"i",
row.msg.type == 0 &&
!_vm.isImage(
row.msg.content.text
)
)
? _c(
"view",
{
staticClass: _vm._$s(
"34-" + $31,
"sc",
"bubble"
),
attrs: { _i: "34-" + $31 },
},
[
_c("rich-text", {
attrs: {
nodes: _vm._$s(
"35-" + $31,
"a-nodes",
row.msg.content.text
? _vm.getHtml(
row.msg.content
.text
)
: " "
),
_i: "35-" + $31,
},
}),
]
)
: _vm._e(),
_vm._$s(
"36-" + $31,
"i",
row.msg.type == 0 &&
_vm.isImage(
row.msg.content.text
)
)
? _c(
"view",
{
staticClass: _vm._$s(
"36-" + $31,
"sc",
"bubble"
),
attrs: { _i: "36-" + $31 },
on: {
click: function ($event) {
return _vm.showPic2(
row.msg.content.text
)
},
},
},
[
_c("image", {
style: _vm._$s(
"37-" + $31,
"s",
{
width: "200px",
height: "200px",
}
),
attrs: {
src: _vm._$s(
"37-" + $31,
"a-src",
row.msg.content.text
),
_i: "37-" + $31,
},
}),
]
)
: _vm._e(),
_vm._$s(
"38-" + $31,
"i",
row.msg.type == 1
)
? _c(
"view",
{
staticClass: _vm._$s(
"38-" + $31,
"sc",
"bubble voice"
),
class: _vm._$s(
"38-" + $31,
"c",
_vm.playMsgid ==
row.msg.id
? "play"
: ""
),
attrs: { _i: "38-" + $31 },
on: {
click: function ($event) {
return _vm.playVoice(
row.msg
)
},
},
},
[
_c(
"view",
{
staticClass: _vm._$s(
"39-" + $31,
"sc",
"length"
),
attrs: {
_i: "39-" + $31,
},
},
[
_vm._v(
_vm._$s(
"39-" + $31,
"t0-0",
_vm._s(
row.msg.content
.length
)
)
),
]
),
_c("view", {
staticClass: _vm._$s(
"40-" + $31,
"sc",
"icon my-voice"
),
attrs: {
_i: "40-" + $31,
},
}),
]
)
: _vm._e(),
_vm._$s(
"41-" + $31,
"i",
row.msg.type == 2
)
? _c(
"view",
{
staticClass: _vm._$s(
"41-" + $31,
"sc",
"bubble img"
),
attrs: { _i: "41-" + $31 },
on: {
click: function ($event) {
return _vm.showPic1(
row.msg
)
},
},
},
[
_c("image", {
style: _vm._$s(
"42-" + $31,
"s",
{
width:
row.msg.content.w +
"px",
height:
row.msg.content.h +
"px",
}
),
attrs: {
src: _vm._$s(
"42-" + $31,
"a-src",
_vm.staticPath +
_vm.list_id +
"/" +
row.msg.content.url
),
_i: "42-" + $31,
},
}),
]
)
: _vm._e(),
_vm._$s(
"43-" + $31,
"i",
row.msg.type == 3
)
? _c(
"view",
{
staticClass: _vm._$s(
"43-" + $31,
"sc",
"bubble img"
),
attrs: { _i: "43-" + $31 },
},
[
_c("image", {
attrs: {
src: _vm._$s(
"44-" + $31,
"a-src",
_vm.staticPath +
row.msg.content
.full_movie
),
_i: "44-" + $31,
},
}),
_c("image", {
staticClass: _vm._$s(
"45-" + $31,
"sc",
"bubble-bofang"
),
attrs: {
_i: "45-" + $31,
},
on: {
click: function (
$event
) {
return _vm.autoVideo(
row.msg
)
},
},
}),
]
)
: _vm._e(),
_vm._$s(
"46-" + $31,
"i",
row.msg.type == 5
)
? _c(
"view",
{
staticClass: _vm._$s(
"46-" + $31,
"sc",
"bubble red-envelope"
),
attrs: { _i: "46-" + $31 },
on: {
click: function ($event) {
return _vm.openRedEnvelope(
row.msg,
index
)
},
},
},
[
_c("image", {
style: _vm._$s(
"47-" + $31,
"s",
{
opacity:
_vm.receive_list.indexOf(
row.msg.content
.rid
) < 0
? 1
: 0.6,
}
),
attrs: {
_i: "47-" + $31,
},
}),
_c(
"view",
{
staticClass: _vm._$s(
"48-" + $31,
"sc",
"tis"
),
attrs: {
_i: "48-" + $31,
},
},
[
_vm._v(
_vm._$s(
"48-" + $31,
"t0-0",
_vm._s(
_vm.receive_list.indexOf(
row.msg.content
.rid
) < 0
? "恭喜发财,大吉大利"
: "已领取"
)
)
),
]
),
_c(
"view",
{
staticClass: _vm._$s(
"49-" + $31,
"sc",
"blessing"
),
attrs: {
_i: "49-" + $31,
},
},
[
_c(
"view",
{
staticClass:
_vm._$s(
"50-" + $31,
"sc",
"info"
),
attrs: {
_i: "50-" + $31,
},
},
[
_vm._v(
_vm._$s(
"50-" + $31,
"t0-0",
_vm._s(
row.msg
.content
.blessing
)
)
),
]
),
_c("view", {
staticClass: _vm._$s(
"51-" + $31,
"sc",
"has-get-red"
),
attrs: {
_i: "51-" + $31,
},
}),
]
),
]
)
: _vm._e(),
_vm._$s(
"52-" + $31,
"i",
row.msg.type == 6
)
? _c(
"view",
{
staticClass: _vm._$s(
"52-" + $31,
"sc",
"bubble"
),
attrs: { _i: "52-" + $31 },
},
[
_c("view", [
_vm._v(
_vm._$s(
"53-" + $31,
"t0-0",
_vm._s(
row.msg.content.text
)
)
),
]),
_c("text", {
staticClass: _vm._$s(
"54-" + $31,
"sc",
"iconfont-im"
),
attrs: {
_i: "54-" + $31,
},
}),
]
)
: _vm._e(),
_vm._$s(
"55-" + $31,
"i",
row.msg.type == 7
)
? _c(
"view",
{
staticClass: _vm._$s(
"55-" + $31,
"sc",
"bubble"
),
attrs: { _i: "55-" + $31 },
},
[
_c("view", [
_vm._v(
_vm._$s(
"56-" + $31,
"t0-0",
_vm._s(
row.msg.content.text
)
)
),
]),
_c("text", {
staticClass: _vm._$s(
"57-" + $31,
"sc",
"iconfonts"
),
attrs: {
_i: "57-" + $31,
},
}),
]
)
: _vm._e(),
_vm._$s(
"58-" + $31,
"i",
row.msg.type == 8
)
? _c(
"view",
{
staticClass: _vm._$s(
"58-" + $31,
"sc",
"send-card"
),
attrs: { _i: "58-" + $31 },
on: {
click: function ($event) {
return _vm.getCard(
row.msg
)
},
},
},
[
_c(
"view",
{
staticClass: _vm._$s(
"59-" + $31,
"sc",
"send-card-content"
),
attrs: {
_i: "59-" + $31,
},
},
[
_c("image", {
attrs: {
src: _vm._$s(
"60-" + $31,
"a-src",
_vm.staticPhoto +
row.msg.content
.face
),
_i: "60-" + $31,
},
}),
_c("text", [
_vm._v(
_vm._$s(
"61-" + $31,
"t0-0",
_vm._s(
row.msg.content
.nickname
)
)
),
]),
]
),
_c(
"view",
{
staticClass: _vm._$s(
"62-" + $31,
"sc",
"send-card-content-text"
),
attrs: {
_i: "62-" + $31,
},
},
[_c("text")]
),
]
)
: _vm._e(),
_vm._$s(
"64-" + $31,
"i",
row.msg.type == 9
)
? _c(
"view",
{
staticClass: _vm._$s(
"64-" + $31,
"sc",
"bubble img"
),
attrs: { _i: "64-" + $31 },
},
[
_c("image", {
attrs: {
_i: "65-" + $31,
},
}),
]
)
: _vm._e(),
_vm._$s(
"66-" + $31,
"i",
row.msg.type == 10
)
? _c(
"view",
{
staticClass: _vm._$s(
"66-" + $31,
"sc",
"bubble"
),
attrs: { _i: "66-" + $31 },
on: {
click: function ($event) {
return _vm.openMap(
row.msg.content
)
},
},
},
[
_c(
"view",
{
staticClass: _vm._$s(
"67-" + $31,
"sc",
"address-flex"
),
attrs: {
_i: "67-" + $31,
},
},
[
_c(
"view",
{
staticClass:
_vm._$s(
"68-" + $31,
"sc",
"address-name"
),
attrs: {
_i: "68-" + $31,
},
},
[
_c("text", [
_vm._v(
_vm._$s(
"69-" + $31,
"t0-0",
_vm._s(
row.msg
.content &&
row.msg
.content
.name
)
)
),
]),
_c(
"text",
{
staticClass:
_vm._$s(
"70-" + $31,
"sc",
"text-gray"
),
attrs: {
_i:
"70-" + $31,
},
},
[
_vm._v(
_vm._$s(
"70-" + $31,
"t0-0",
_vm._s(
row.msg
.content &&
row.msg
.content
.address
)
)
),
]
),
]
),
_c("image", {
staticClass: _vm._$s(
"71-" + $31,
"sc",
"fun-icon"
),
attrs: {
src: _vm._$s(
"71-" + $31,
"a-src",
__webpack_require__(/*! ../../static/theme/default/position.png */ 100)
),
_i: "71-" + $31,
},
}),
]
),
]
)
: _vm._e(),
_vm._$s(
"72-" + $31,
"i",
row.msg.type == 11
)
? _c(
"view",
{
staticClass: _vm._$s(
"72-" + $31,
"sc",
"bubble"
),
attrs: { _i: "72-" + $31 },
on: {
click: function ($event) {
return _vm.downFile(
_vm.staticPath +
_vm.list_id +
"/" +
row.msg.content.url
)
},
},
},
[
_c(
"view",
{
staticClass: _vm._$s(
"73-" + $31,
"sc",
"address-flex"
),
attrs: {
_i: "73-" + $31,
},
},
[
_c(
"view",
{
staticClass:
_vm._$s(
"74-" + $31,
"sc",
"address-name"
),
attrs: {
_i: "74-" + $31,
},
},
[
_c("text", [
_vm._v(
_vm._$s(
"75-" + $31,
"t0-0",
_vm._s(
row.msg
.content &&
row.msg
.content
.name
)
)
),
]),
_c(
"text",
{
staticClass:
_vm._$s(
"76-" + $31,
"sc",
"text-gray"
),
attrs: {
_i:
"76-" + $31,
},
},
[
_vm._v(
_vm._$s(
"76-" + $31,
"t0-0",
_vm._s(
row.msg
.content &&
row.msg
.content
.length
)
)
),
]
),
]
),
_c("image", {
staticClass: _vm._$s(
"77-" + $31,
"sc",
"fun-icon"
),
attrs: {
src: _vm._$s(
"77-" + $31,
"a-src",
__webpack_require__(/*! ../../static/theme/default/file.png */ 101)
),
_i: "77-" + $31,
},
}),
]
),
]
)
: _vm._e(),
]
),
_c(
"view",
{
staticClass: _vm._$s(
"78-" + $31,
"sc",
"right"
),
attrs: { _i: "78-" + $31 },
on: {
click: function ($event) {
return _vm.goDetails(
row.msg.user_info.uid,
row
)
},
},
},
[
_c("image", {
attrs: {
src: _vm._$s(
"79-" + $31,
"a-src",
row.msg.is_niming == 1
? "/static/theme/default/my/niming.png"
: _vm.myPhoto
),
_i: "79-" + $31,
},
on: { error: _vm.imageError2 },
}),
]
),
]
)
: _vm._e(),
_vm._$s(
"80-" + $31,
"i",
row.msg.user_info.uid != _vm.my_data.id
)
? _c(
"view",
{
staticClass: _vm._$s(
"80-" + $31,
"sc",
"other"
),
attrs: { _i: "80-" + $31 },
},
[
_c(
"view",
{
staticClass: _vm._$s(
"81-" + $31,
"sc",
"left"
),
attrs: { _i: "81-" + $31 },
},
[
_c("image", {
staticClass: _vm._$s(
"82-" + $31,
"sc",
"u-logo"
),
attrs: {
src: _vm._$s(
"82-" + $31,
"a-src",
row.msg.is_niming == 1
? "/static/theme/default/my/niming.png"
: _vm.staticPhoto +
row.msg.user_info.face
),
"data-id": _vm._$s(
"82-" + $31,
"a-data-id",
index
),
_i: "82-" + $31,
},
on: {
error: _vm.imageError,
longpress: function ($event) {
return _vm.showAction(row)
},
click: function ($event) {
return _vm.goDetails(
row.msg.user_info.uid,
row
)
},
},
}),
_vm._$s(
"83-" + $31,
"i",
row.showAction
)
? _c(
"view",
{
staticClass: _vm._$s(
"83-" + $31,
"sc",
"action"
),
attrs: { _i: "83-" + $31 },
},
[
_c("view", {
staticClass: _vm._$s(
"84-" + $31,
"sc",
"action-item"
),
attrs: {
_i: "84-" + $31,
},
on: {
click: function (
$event
) {
return _vm.addFriendChat(
row
)
},
},
}),
_c("view", {
staticClass: _vm._$s(
"85-" + $31,
"sc",
"action-line"
),
attrs: {
_i: "85-" + $31,
},
}),
_c("view", {
staticClass: _vm._$s(
"86-" + $31,
"sc",
"action-item"
),
attrs: {
_i: "86-" + $31,
},
on: {
click: function (
$event
) {
return _vm.selectMember(
row
)
},
},
}),
_c("view", {
staticClass: _vm._$s(
"87-" + $31,
"sc",
"action-line"
),
attrs: {
_i: "87-" + $31,
},
}),
_c("view", {
staticClass: _vm._$s(
"88-" + $31,
"sc",
"action-item"
),
attrs: {
_i: "88-" + $31,
},
on: {
click: function (
$event
) {
return _vm.selectRemoveMember(
row
)
},
},
}),
]
)
: _vm._e(),
]
),
_c(
"view",
{
staticClass: _vm._$s(
"89-" + $31,
"sc",
"right"
),
attrs: { _i: "89-" + $31 },
on: {
longpress: function ($event) {
return _vm.msgAction(
row.msg.id + "",
row.msg.user_info.uid + "",
row.msg.content,
row.msg.type
)
},
},
},
[
_c(
"view",
{
staticClass: _vm._$s(
"90-" + $31,
"sc",
"username"
),
attrs: { _i: "90-" + $31 },
},
[
_c(
"view",
{
staticClass: _vm._$s(
"91-" + $31,
"sc",
"name"
),
attrs: { _i: "91-" + $31 },
},
[
_vm._v(
_vm._$s(
"91-" + $31,
"t0-0",
_vm._s(
row.msg.user_info.name
)
)
),
]
),
]
),
_vm._$s(
"92-" + $31,
"i",
row.msg.type == 0 &&
!_vm.isImage(
row.msg.content.text
)
)
? _c(
"view",
{
staticClass: _vm._$s(
"92-" + $31,
"sc",
"bubble"
),
attrs: { _i: "92-" + $31 },
},
[
_c("rich-text", {
attrs: {
nodes: _vm._$s(
"93-" + $31,
"a-nodes",
row.msg.content.text
? _vm.getHtml(
row.msg.content
.text
)
: " "
),
_i: "93-" + $31,
},
}),
]
)
: _vm._e(),
_vm._$s(
"94-" + $31,
"i",
row.msg.type == 0 &&
_vm.isImage(
row.msg.content.text
)
)
? _c(
"view",
{
staticClass: _vm._$s(
"94-" + $31,
"sc",
"bubble"
),
attrs: { _i: "94-" + $31 },
on: {
click: function ($event) {
return _vm.showPic2(
row.msg.content.text
)
},
},
},
[
_c("image", {
style: _vm._$s(
"95-" + $31,
"s",
{
width: "200px",
height: "auto",
}
),
attrs: {
src: _vm._$s(
"95-" + $31,
"a-src",
row.msg.content.text
),
_i: "95-" + $31,
},
}),
]
)
: _vm._e(),
_vm._$s(
"96-" + $31,
"i",
row.msg.type == 1
)
? _c(
"view",
{
staticClass: _vm._$s(
"96-" + $31,
"sc",
"bubble voice"
),
class: _vm._$s(
"96-" + $31,
"c",
_vm.playMsgid ==
row.msg.id
? "play"
: ""
),
attrs: { _i: "96-" + $31 },
on: {
click: function ($event) {
return _vm.playVoice(
row.msg
)
},
},
},
[
_c("view", {
staticClass: _vm._$s(
"97-" + $31,
"sc",
"icon other-voice"
),
attrs: {
_i: "97-" + $31,
},
}),
_c(
"view",
{
staticClass: _vm._$s(
"98-" + $31,
"sc",
"length"
),
attrs: {
_i: "98-" + $31,
},
},
[
_vm._v(
_vm._$s(
"98-" + $31,
"t0-0",
_vm._s(
row.msg.content
.length
)
)
),
]
),
]
)
: _vm._e(),
_vm._$s(
"99-" + $31,
"i",
row.msg.type == 2
)
? _c(
"view",
{
staticClass: _vm._$s(
"99-" + $31,
"sc",
"bubble img"
),
attrs: { _i: "99-" + $31 },
on: {
click: function ($event) {
return _vm.showPic1(
row.msg
)
},
},
},
[
_c("image", {
style: _vm._$s(
"100-" + $31,
"s",
{
width:
row.msg.content.w +
"px",
height:
row.msg.content.h +
"px",
}
),
attrs: {
src: _vm._$s(
"100-" + $31,
"a-src",
_vm.staticPath +
_vm.list_id +
"/" +
row.msg.content.url
),
_i: "100-" + $31,
},
}),
]
)
: _vm._e(),
_vm._$s(
"101-" + $31,
"i",
row.msg.type == 3
)
? _c(
"view",
{
staticClass: _vm._$s(
"101-" + $31,
"sc",
"bubble img"
),
attrs: { _i: "101-" + $31 },
},
[
_c("image", {
attrs: {
src: _vm._$s(
"102-" + $31,
"a-src",
_vm.staticPath +
row.msg.content
.full_movie
),
_i: "102-" + $31,
},
}),
_c("image", {
staticClass: _vm._$s(
"103-" + $31,
"sc",
"bubble-bofang-left"
),
attrs: {
_i: "103-" + $31,
},
on: {
click: function (
$event
) {
return _vm.autoVideo(
row.msg
)
},
},
}),
]
)
: _vm._e(),
_vm._$s(
"104-" + $31,
"i",
row.msg.type == 5
)
? _c(
"view",
{
staticClass: _vm._$s(
"104-" + $31,
"sc",
"bubble red-envelope"
),
attrs: { _i: "104-" + $31 },
on: {
click: function ($event) {
return _vm.openRedEnvelope(
row.msg,
index
)
},
},
},
[
_c("image", {
style: _vm._$s(
"105-" + $31,
"s",
{
opacity:
_vm.receive_list.indexOf(
row.msg.content
.rid
) < 0
? 1
: 0.6,
}
),
attrs: {
_i: "105-" + $31,
},
}),
_c(
"view",
{
staticClass: _vm._$s(
"106-" + $31,
"sc",
"tis"
),
attrs: {
_i: "106-" + $31,
},
},
[
_vm._v(
_vm._$s(
"106-" + $31,
"t0-0",
_vm._s(
_vm.receive_list.indexOf(
row.msg.content
.rid
) < 0
? "恭喜发财,大吉大利"
: "已领取"
)
)
),
]
),
_c(
"view",
{
staticClass: _vm._$s(
"107-" + $31,
"sc",
"blessing"
),
attrs: {
_i: "107-" + $31,
},
},
[
_c(
"view",
{
staticClass:
_vm._$s(
"108-" + $31,
"sc",
"info"
),
attrs: {
_i: "108-" + $31,
},
},
[
_vm._v(
_vm._$s(
"108-" + $31,
"t0-0",
_vm._s(
row.msg
.content
.blessing
)
)
),
]
),
_c("view", {
staticClass: _vm._$s(
"109-" + $31,
"sc",
"has-get-red"
),
attrs: {
_i: "109-" + $31,
},
}),
]
),
]
)
: _vm._e(),
_vm._$s(
"110-" + $31,
"i",
row.msg.type == 6
)
? _c(
"view",
{
staticClass: _vm._$s(
"110-" + $31,
"sc",
"bubble"
),
attrs: { _i: "110-" + $31 },
},
[
_c("text", {
staticClass: _vm._$s(
"111-" + $31,
"sc",
"iconfont-im"
),
attrs: {
_i: "111-" + $31,
},
}),
_vm._v(
_vm._$s(
"110-" + $31,
"t1-0",
_vm._s(
row.msg.content.text
)
)
),
]
)
: _vm._e(),
_vm._$s(
"112-" + $31,
"i",
row.msg.type == 7
)
? _c(
"view",
{
staticClass: _vm._$s(
"112-" + $31,
"sc",
"bubble"
),
attrs: { _i: "112-" + $31 },
},
[
_c("text", {
staticClass: _vm._$s(
"113-" + $31,
"sc",
"iconfonts"
),
attrs: {
_i: "113-" + $31,
},
}),
_vm._v(
_vm._$s(
"112-" + $31,
"t1-0",
_vm._s(
row.msg.content.text
)
)
),
]
)
: _vm._e(),
_vm._$s(
"114-" + $31,
"i",
row.msg.type == 8
)
? _c(
"view",
{
staticClass: _vm._$s(
"114-" + $31,
"sc",
"send-card"
),
attrs: { _i: "114-" + $31 },
on: {
click: function ($event) {
return _vm.getCard(
row.msg
)
},
},
},
[
_c(
"view",
{
staticClass: _vm._$s(
"115-" + $31,
"sc",
"send-card-content"
),
attrs: {
_i: "115-" + $31,
},
},
[
_c("image", {
attrs: {
src: _vm._$s(
"116-" + $31,
"a-src",
_vm.staticPhoto +
row.msg.content
.face
),
_i: "116-" + $31,
},
}),
_c("text", [
_vm._v(
_vm._$s(
"117-" + $31,
"t0-0",
_vm._s(
row.msg.content
.nickname
)
)
),
]),
]
),
_c(
"view",
{
staticClass: _vm._$s(
"118-" + $31,
"sc",
"send-card-content-text"
),
attrs: {
_i: "118-" + $31,
},
},
[_c("text")]
),
]
)
: _vm._e(),
_vm._$s(
"120-" + $31,
"i",
row.msg.type == 9
)
? _c(
"view",
{
staticClass: _vm._$s(
"120-" + $31,
"sc",
"bubble img"
),
attrs: { _i: "120-" + $31 },
on: {
click: function ($event) {
return _vm.showPic(
row.msg
)
},
},
},
[
_c("image", {
attrs: {
_i: "121-" + $31,
},
}),
]
)
: _vm._e(),
_vm._$s(
"122-" + $31,
"i",
row.msg.type == 10
)
? _c(
"view",
{
staticClass: _vm._$s(
"122-" + $31,
"sc",
"bubble"
),
attrs: { _i: "122-" + $31 },
on: {
click: function ($event) {
return _vm.openMap(
row.msg.content
)
},
},
},
[
_c(
"view",
{
staticClass: _vm._$s(
"123-" + $31,
"sc",
"address-flex"
),
attrs: {
_i: "123-" + $31,
},
},
[
_c(
"view",
{
staticClass:
_vm._$s(
"124-" + $31,
"sc",
"address-name"
),
attrs: {
_i: "124-" + $31,
},
},
[
_c("text", [
_vm._v(
_vm._$s(
"125-" + $31,
"t0-0",
_vm._s(
row.msg
.content &&
row.msg
.content
.name
)
)
),
]),
_c(
"text",
{
staticClass:
_vm._$s(
"126-" +
$31,
"sc",
"text-gray"
),
attrs: {
_i:
"126-" +
$31,
},
},
[
_vm._v(
_vm._$s(
"126-" +
$31,
"t0-0",
_vm._s(
row.msg
.content &&
row.msg
.content
.address
)
)
),
]
),
]
),
_c("image", {
staticClass: _vm._$s(
"127-" + $31,
"sc",
"fun-icon"
),
attrs: {
src: _vm._$s(
"127-" + $31,
"a-src",
__webpack_require__(/*! ../../static/theme/default/position.png */ 100)
),
_i: "127-" + $31,
},
}),
]
),
]
)
: _vm._e(),
_vm._$s(
"128-" + $31,
"i",
row.msg.type == 11
)
? _c(
"view",
{
staticClass: _vm._$s(
"128-" + $31,
"sc",
"bubble"
),
attrs: { _i: "128-" + $31 },
on: {
click: function ($event) {
return _vm.downFile(
_vm.staticPath +
_vm.list_id +
"/" +
row.msg.content.url
)
},
},
},
[
_c(
"view",
{
staticClass: _vm._$s(
"129-" + $31,
"sc",
"address-flex"
),
attrs: {
_i: "129-" + $31,
},
},
[
_c(
"view",
{
staticClass:
_vm._$s(
"130-" + $31,
"sc",
"address-name"
),
attrs: {
_i: "130-" + $31,
},
},
[
_c("text", [
_vm._v(
_vm._$s(
"131-" + $31,
"t0-0",
_vm._s(
row.msg
.content &&
row.msg
.content
.name
)
)
),
]),
_c(
"text",
{
staticClass:
_vm._$s(
"132-" +
$31,
"sc",
"text-gray"
),
attrs: {
_i:
"132-" +
$31,
},
},
[
_vm._v(
_vm._$s(
"132-" +
$31,
"t0-0",
_vm._s(
row.msg
.content &&
row.msg
.content
.length
)
)
),
]
),
]
),
_c("image", {
staticClass: _vm._$s(
"133-" + $31,
"sc",
"fun-icon"
),
attrs: {
src: _vm._$s(
"133-" + $31,
"a-src",
__webpack_require__(/*! ../../static/theme/default/file.png */ 101)
),
_i: "133-" + $31,
},
}),
]
),
]
)
: _vm._e(),
]
),
]
)
: _vm._e(),
]
: _vm._e(),
],
2
)
}
),
],
2
),
]
),
_c(
"view",
{
staticClass: _vm._$s(134, "sc", "popup-layer"),
class: _vm._$s(134, "c", _vm.popupLayerClass),
attrs: { _i: 134 },
on: {
touchmove: function ($event) {
$event.stopPropagation()
$event.preventDefault()
return _vm.discard($event)
},
},
},
[
_c(
"swiper",
{
staticClass: _vm._$s(135, "sc", "emoji-swiper"),
class: _vm._$s(135, "c", { hidden: _vm.hideEmoji }),
attrs: { _i: 135 },
},
_vm._l(
_vm._$s(136, "f", { forItems: _vm.emojiList }),
function (page, pid, $22, $32) {
return _c(
"swiper-item",
{ key: _vm._$s(136, "f", { forIndex: $22, key: pid }) },
_vm._l(
_vm._$s(137 + "-" + $32, "f", { forItems: page }),
function (em, eid, $23, $33) {
return _c(
"view",
{
key: _vm._$s(137 + "-" + $32, "f", {
forIndex: $23,
key: eid,
}),
attrs: { _i: "137-" + $32 + "-" + $33 },
on: {
click: function ($event) {
return _vm.addEmoji(em)
},
},
},
[
_c("image", {
attrs: {
src: _vm._$s(
"138-" + $32 + "-" + $33,
"a-src",
"/static/img/emoji/" + em.url
),
_i: "138-" + $32 + "-" + $33,
},
}),
]
)
}
),
0
)
}
),
0
),
_c(
"swiper",
{
staticClass: _vm._$s(139, "sc", "more-layer"),
class: _vm._$s(139, "c", {
hidden: _vm.hideMore || !_vm.hideEmoji,
}),
attrs: { _i: 139 },
},
[
_c("swiper-item", [
_c(
"view",
{
staticClass: _vm._$s(141, "sc", "list"),
attrs: { _i: 141 },
},
[
_c(
"view",
{
staticClass: _vm._$s(142, "sc", "list-box"),
attrs: { _i: 142 },
on: { click: _vm.chooseImage },
},
[
_c("image", {
staticClass: _vm._$s(143, "sc", "fun-icon"),
attrs: {
src: _vm._$s(
143,
"a-src",
__webpack_require__(/*! ../../static/theme/default/Image.png */ 102)
),
_i: 143,
},
}),
_c("view", {
staticClass: _vm._$s(144, "sc", "tool_text"),
attrs: { _i: 144 },
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(145, "sc", "list-box"),
attrs: { _i: 145 },
on: { click: _vm.camera },
},
[
_c("image", {
staticClass: _vm._$s(146, "sc", "fun-icon"),
attrs: {
src: _vm._$s(
146,
"a-src",
__webpack_require__(/*! ../../static/theme/default/shooting_icon.png */ 103)
),
_i: 146,
},
}),
_c("view", {
staticClass: _vm._$s(147, "sc", "tool_text"),
attrs: { _i: 147 },
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(148, "sc", "list-box"),
attrs: { _i: 148 },
on: { click: _vm.video },
},
[
_c("image", {
staticClass: _vm._$s(149, "sc", "fun-icon"),
attrs: {
src: _vm._$s(
149,
"a-src",
__webpack_require__(/*! ../../static/theme/default/message/video.png */ 104)
),
_i: 149,
},
}),
_c("view", {
staticClass: _vm._$s(150, "sc", "tool_text"),
attrs: { _i: 150 },
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(151, "sc", "list-box"),
attrs: { _i: 151 },
on: { click: _vm.handRedEnvelopes },
},
[
_c("image", {
staticClass: _vm._$s(152, "sc", "fun-icon"),
attrs: {
src: _vm._$s(
152,
"a-src",
__webpack_require__(/*! ../../static/theme/default/envelope_icon.png */ 105)
),
_i: 152,
},
}),
_c("view", {
staticClass: _vm._$s(153, "sc", "tool_text"),
attrs: { _i: 153 },
}),
]
),
]
),
_c(
"view",
{
staticClass: _vm._$s(154, "sc", "list"),
attrs: { _i: 154 },
},
[
_c(
"view",
{
staticClass: _vm._$s(155, "sc", "list-box"),
attrs: { _i: 155 },
on: { click: _vm.chooseChuo },
},
[
_c("image", {
staticClass: _vm._$s(156, "sc", "fun-icon"),
attrs: {
src: _vm._$s(
156,
"a-src",
__webpack_require__(/*! ../../static/theme/default/tool_icon.png */ 106)
),
_i: 156,
},
}),
_c("view", {
staticClass: _vm._$s(157, "sc", "tool_text"),
attrs: { _i: 157 },
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(158, "sc", "list-box"),
attrs: { _i: 158 },
on: { click: _vm.sendPos },
},
[
_c("image", {
staticClass: _vm._$s(159, "sc", "fun-icon"),
attrs: {
src: _vm._$s(
159,
"a-src",
__webpack_require__(/*! ../../static/theme/default/location_icon.png */ 107)
),
_i: 159,
},
}),
_c("view", {
staticClass: _vm._$s(160, "sc", "tool_text2"),
attrs: { _i: 160 },
}),
]
),
_vm._$s(161, "i", _vm.msgList.type == 1 && 0)
? _c(
"view",
{
staticClass: _vm._$s(161, "sc", "list-box"),
attrs: { _i: 161 },
on: {
click: function ($event) {
return _vm.sayCall()
},
},
},
[
_c("text", {
staticClass: _vm._$s(
162,
"sc",
"iconfont-im icon-niming"
),
attrs: { _i: 162 },
}),
_c(
"view",
{
staticClass: _vm._$s(
163,
"sc",
"tool_text"
),
attrs: { _i: 163 },
},
[
_vm._v(
_vm._$s(
163,
"t0-0",
_vm._s(_vm.niming_msg)
)
),
]
),
]
)
: _vm._e(),
_vm._$s(164, "i", _vm.msgList.type == 1 && _vm.is_main)
? _c(
"view",
{
staticClass: _vm._$s(164, "sc", "list-box"),
attrs: { _i: 164 },
on: { click: _vm.zhendong },
},
[
_c("view", {
staticClass: _vm._$s(
165,
"sc",
"iconfont-im icon-zhendong"
),
attrs: { _i: 165 },
}),
_c("view", {
staticClass: _vm._$s(166, "sc", "tool_text2"),
attrs: { _i: 166 },
}),
]
)
: _vm._e(),
_vm._$s(
167,
"i",
_vm.msgList.type == 1 &&
_vm.vendor_status &&
_vm.is_main
)
? _c(
"view",
{
staticClass: _vm._$s(167, "sc", "list-box"),
attrs: { _i: 167 },
on: {
click: function ($event) {
return _vm.showQiang()
},
},
},
[
_c("text", {
staticClass: _vm._$s(
168,
"sc",
"iconfont-im icon-qiang"
),
attrs: { _i: 168 },
}),
_c("view", {
staticClass: _vm._$s(169, "sc", "tool_text"),
attrs: { _i: 169 },
}),
]
)
: _vm._e(),
_c(
"view",
{
staticClass: _vm._$s(170, "sc", "list-box"),
attrs: { _i: 170 },
on: { click: _vm.chooseCard },
},
[
_c("image", {
staticClass: _vm._$s(171, "sc", "fun-icon"),
attrs: {
src: _vm._$s(
171,
"a-src",
__webpack_require__(/*! ../../static/theme/default/contact_icon.png */ 108)
),
_i: 171,
},
}),
_c("view", {
staticClass: _vm._$s(172, "sc", "tool_text2"),
attrs: { _i: 172 },
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(173, "sc", "list-box"),
attrs: { _i: 173 },
on: { click: _vm.chooseLike },
},
[
_c("image", {
staticClass: _vm._$s(174, "sc", "fun-icon"),
attrs: {
src: _vm._$s(
174,
"a-src",
__webpack_require__(/*! ../../static/theme/default/collection_icon.png */ 109)
),
_i: 174,
},
}),
_c("view", {
staticClass: _vm._$s(175, "sc", "tool_text"),
attrs: { _i: 175 },
}),
]
),
]
),
]),
_c("swiper-item", [
_c(
"view",
{
staticClass: _vm._$s(177, "sc", "list"),
attrs: { _i: 177 },
},
[
_c(
"view",
{
staticClass: _vm._$s(178, "sc", "list-box"),
attrs: { _i: 178 },
on: { click: _vm.chooseFile },
},
[
_c("image", {
staticClass: _vm._$s(179, "sc", "fun-icon"),
attrs: {
src: _vm._$s(
179,
"a-src",
__webpack_require__(/*! ../../static/theme/default/file_icon.png */ 110)
),
_i: 179,
},
}),
_c("view", {
staticClass: _vm._$s(180, "sc", "tool_text"),
attrs: { _i: 180 },
}),
]
),
]
),
]),
]
),
]
),
_vm._$s(181, "i", _vm.msgList.is_msg)
? _c(
"view",
{
staticClass: _vm._$s(181, "sc", "input-box"),
attrs: { _i: 181 },
},
[_c("view")]
)
: _c(
"view",
{
staticClass: _vm._$s(183, "sc", "input-box"),
class: _vm._$s(183, "c", _vm.popupLayerClass),
attrs: { _i: 183 },
},
[
_c(
"view",
{
staticClass: _vm._$s(184, "sc", "voice"),
attrs: { _i: 184 },
},
[
_c("view", {
staticClass: _vm._$s(185, "sc", "icon"),
class: _vm._$s(
185,
"c",
_vm.isVoice ? "jianpan" : "yuyin"
),
attrs: { _i: 185 },
on: { click: _vm.switchVoice },
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(186, "sc", "textbox"),
attrs: { _i: 186 },
},
[
_c(
"view",
{
staticClass: _vm._$s(187, "sc", "voice-mode"),
class: _vm._$s(187, "c", [
_vm.isVoice ? "" : "hidden",
_vm.recording ? "recording" : "",
]),
attrs: { _i: 187 },
on: {
touchstart: _vm.voiceBegin,
touchmove: function ($event) {
$event.stopPropagation()
$event.preventDefault()
return _vm.voiceIng($event)
},
touchend: _vm.voiceEnd,
touchcancel: _vm.voiceCancel,
},
},
[_vm._v(_vm._$s(187, "t0-0", _vm._s(_vm.voiceTis)))]
),
_c(
"view",
{
staticClass: _vm._$s(188, "sc", "text-mode"),
class: _vm._$s(188, "c", _vm.isVoice ? "hidden" : ""),
attrs: { _i: 188 },
},
[
_c(
"view",
{
staticClass: _vm._$s(189, "sc", "box"),
attrs: { _i: 189 },
},
[
_c("textarea", {
attrs: {
value: _vm._$s(190, "a-value", _vm.textMsg),
maxlength: _vm._$s(190, "a-maxlength", -1),
_i: 190,
},
on: {
confirm: _vm.sendText,
input: _vm.inputText,
focus: _vm.textareaFocus,
},
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(191, "sc", "em"),
attrs: { _i: 191 },
on: { click: _vm.chooseEmoji },
},
[
_c("view", {
staticClass: _vm._$s(
192,
"sc",
"icon biaoqing"
),
attrs: { _i: 192 },
}),
]
),
]
),
]
),
_c(
"view",
{
class: _vm._$s(193, "c", _vm.iconShow),
attrs: { _i: 193 },
on: { click: _vm.showMore },
},
[
_c("view", {
staticClass: _vm._$s(194, "sc", "icon add"),
attrs: { _i: 194 },
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(195, "sc", "send"),
class: _vm._$s(195, "c", _vm.sendMsgClass),
attrs: { _i: 195 },
on: { click: _vm.sendText },
},
[
_c("view", {
staticClass: _vm._$s(196, "sc", "btn"),
attrs: { _i: 196 },
}),
]
),
]
),
]
),
_c(
"view",
{
directives: [
{
name: "show",
rawName: "v-show",
value: _vm._$s(197, "v-show", _vm.showVedio),
expression: "_$s(197,'v-show',showVedio)",
},
],
staticClass: _vm._$s(197, "sc", "showVedio"),
attrs: { _i: 197 },
},
[
_c(
"video",
{
attrs: {
id: "myVideo",
src: _vm._$s(198, "a-src", _vm.videoPath),
_i: 198,
},
on: { error: _vm.videoErrorCallback },
},
[
_c("cover-image", {
staticClass: _vm._$s(199, "sc", "cloneBut"),
attrs: { _i: 199 },
on: {
click: function ($event) {
_vm.showVedio = false
},
},
}),
]
),
]
),
_c(
"view",
{
staticClass: _vm._$s(200, "sc", "record"),
class: _vm._$s(200, "c", _vm.recording ? "" : "hidden"),
attrs: { _i: 200 },
},
[
_c(
"view",
{
staticClass: _vm._$s(201, "sc", "ing"),
class: _vm._$s(201, "c", _vm.willStop ? "hidden" : ""),
attrs: { _i: 201 },
},
[
_c("view", {
staticClass: _vm._$s(202, "sc", "icon luyin2"),
attrs: { _i: 202 },
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(203, "sc", "cancel"),
class: _vm._$s(203, "c", _vm.willStop ? "" : "hidden"),
attrs: { _i: 203 },
},
[
_c("view", {
staticClass: _vm._$s(204, "sc", "icon chehui"),
attrs: { _i: 204 },
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(205, "sc", "tis"),
class: _vm._$s(205, "c", _vm.willStop ? "change" : ""),
attrs: { _i: 205 },
},
[_vm._v(_vm._$s(205, "t0-0", _vm._s(_vm.recordTis)))]
),
]
),
_c(
"view",
{
staticClass: _vm._$s(206, "sc", "windows"),
class: _vm._$s(206, "c", _vm.windowsState),
attrs: { _i: 206 },
},
[
_c("view", {
staticClass: _vm._$s(207, "sc", "mask"),
attrs: { _i: 207 },
on: {
touchmove: function ($event) {
$event.stopPropagation()
$event.preventDefault()
return _vm.discard($event)
},
click: _vm.closeRedEnvelope,
},
}),
_c(
"view",
{
staticClass: _vm._$s(208, "sc", "layer"),
attrs: { _i: 208 },
on: {
touchmove: function ($event) {
$event.stopPropagation()
$event.preventDefault()
return _vm.discard($event)
},
},
},
[
_c(
"view",
{
staticClass: _vm._$s(209, "sc", "open-redenvelope"),
attrs: { _i: 209 },
},
[
_c(
"view",
{
staticClass: _vm._$s(210, "sc", "top"),
attrs: { _i: 210 },
},
[
_c(
"view",
{
staticClass: _vm._$s(211, "sc", "close-btn"),
attrs: { _i: 211 },
},
[
_c("view", {
staticClass: _vm._$s(212, "sc", "icon close"),
attrs: { _i: 212 },
on: { click: _vm.closeRedEnvelope },
}),
]
),
_c("image", {
attrs: {
src: _vm._$s(
213,
"a-src",
_vm.staticPhoto + _vm.redenvelopeData.face
),
_i: 213,
},
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(214, "sc", "from"),
attrs: { _i: 214 },
},
[
_vm._v(
_vm._$s(214, "t0-0", _vm._s(_vm.redenvelopeData.from))
),
]
),
_c(
"view",
{
staticClass: _vm._$s(215, "sc", "blessing"),
attrs: { _i: 215 },
},
[
_vm._v(
_vm._$s(
215,
"t0-0",
_vm._s(_vm.redenvelopeData.blessing)
)
),
]
),
_c(
"view",
{
staticClass: _vm._$s(216, "sc", "money"),
attrs: { _i: 216 },
on: {
click: function ($event) {
return _vm.openRed(_vm.redenvelopeData)
},
},
},
[
_c("image", {
class: _vm._$s(217, "c", _vm.luckbtn),
attrs: { _i: 217 },
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(218, "sc", "showDetails"),
attrs: { _i: 218 },
on: {
click: function ($event) {
return _vm.toDetails(_vm.redenvelopeData.rid)
},
},
},
[
_c("view", {
staticClass: _vm._$s(219, "sc", "icon to"),
attrs: { _i: 219 },
}),
]
),
]
),
]
),
]
),
_c(
"uni-popup",
{
ref: "popup2",
attrs: {
show: _vm.videPoup,
position: "bottom",
mode: "666",
_i: 220,
},
},
[
_c(
"view",
{
staticClass: _vm._$s(221, "sc", "video-but-view"),
attrs: { _i: 221 },
},
[
_c("button", {
staticClass: _vm._$s(222, "sc", "video-but"),
attrs: {
loading: _vm._$s(222, "a-loading", _vm.videoLoading),
_i: 222,
},
on: {
click: function ($event) {
return _vm.videoBut("video")
},
},
}),
_c("button", {
staticClass: _vm._$s(223, "sc", "video-but"),
attrs: {
loading: _vm._$s(223, "a-loading", _vm.voiceLoading),
_i: 223,
},
on: {
click: function ($event) {
return _vm.videoBut("voice")
},
},
}),
_c("button", {
attrs: { _i: 224 },
on: {
click: function ($event) {
_vm.videPoup = false
},
},
}),
]
),
]
),
_c(
"uni-popup",
{ ref: "popup", attrs: { type: "confirm", _i: 225 } },
[
_c("uni-popup-confirm", {
attrs: { title: "温馨提示", content: _vm.popuMsg, _i: 226 },
on: { confirm: _vm.confirm },
}),
],
1
),
_c(
"uni-popup",
{ ref: "qiang", attrs: { type: "qiang", _i: 227 } },
[
_c("uni-popup-qiang", {
attrs: {
title: "开启发包",
status: _vm.miaoqiang + "",
content: _vm.popuMsg,
_i: 228,
},
on: { confirm: _vm.goQiang },
}),
],
1
),
_c("nk-select-file", {
attrs: { _i: 229 },
on: { confirm: _vm.uploadAFile },
model: {
value: _vm._$s(229, "v-model", _vm.showUploadFile),
callback: function ($$v) {
_vm.showUploadFile = $$v
},
expression: "showUploadFile",
},
}),
_c(
"uni-popup",
{ ref: "popup_friends", attrs: { type: "bottom", _i: 230 } },
[
_c(
"view",
{
staticClass: _vm._$s(231, "sc", "popup_friends"),
style: _vm._$s(231, "s", { height: _vm.popHeight + "px" }),
attrs: { _i: 231 },
},
[
_c("view", {
staticClass: _vm._$s(232, "sc", "popup_friends-top"),
attrs: { _i: 232 },
}),
_c("select-friend", {
attrs: { list_id: _vm.list_id, _i: 233 },
on: { close: _vm.closeFriends },
}),
],
1
),
]
),
],
1
)
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 83 */
/*!***********************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-popup/uni-popup.vue ***!
\***********************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _uni_popup_vue_vue_type_template_id_7da806a4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./uni-popup.vue?vue&type=template&id=7da806a4& */ 84);\n/* harmony import */ var _uni_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uni-popup.vue?vue&type=script&lang=js& */ 91);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _uni_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _uni_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _uni_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _uni_popup_vue_vue_type_template_id_7da806a4___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _uni_popup_vue_vue_type_template_id_7da806a4___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _uni_popup_vue_vue_type_template_id_7da806a4___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"components/uni-popup/uni-popup.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBc0g7QUFDdEg7QUFDNkQ7QUFDTDs7O0FBR3hEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLCtFQUFNO0FBQ1IsRUFBRSxvRkFBTTtBQUNSLEVBQUUsNkZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsd0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiODMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL3VuaS1wb3B1cC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9N2RhODA2YTQmXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi91bmktcG9wdXAudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi91bmktcG9wdXAudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcImNvbXBvbmVudHMvdW5pLXBvcHVwL3VuaS1wb3B1cC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///83\n");
/***/ }),
/* 84 */
/*!******************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-popup/uni-popup.vue?vue&type=template&id=7da806a4& ***!
\******************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_vue_vue_type_template_id_7da806a4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-popup.vue?vue&type=template&id=7da806a4& */ 85);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_vue_vue_type_template_id_7da806a4___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_vue_vue_type_template_id_7da806a4___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_vue_vue_type_template_id_7da806a4___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_vue_vue_type_template_id_7da806a4___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 85 */
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/uni-popup/uni-popup.vue?vue&type=template&id=7da806a4& ***!
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
try {
components = {
uniTransition: __webpack_require__(/*! @/components/uni-transition/uni-transition.vue */ 86)
.default,
}
} catch (e) {
if (
e.message.indexOf("Cannot find module") !== -1 &&
e.message.indexOf(".vue") !== -1
) {
console.error(e.message)
console.error("1. 排查组件名称拼写是否正确")
console.error(
"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom"
)
console.error(
"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件"
)
} else {
throw e
}
}
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _vm._$s(0, "i", _vm.showPopup)
? _c(
"view",
{
staticClass: _vm._$s(0, "sc", "uni-popup"),
class: _vm._$s(0, "c", [_vm.popupstyle]),
attrs: { _i: 0 },
on: {
touchmove: function ($event) {
$event.stopPropagation()
$event.preventDefault()
return _vm.clear($event)
},
},
},
[
_vm._$s(1, "i", _vm.maskShow)
? _c("uni-transition", {
attrs: {
"mode-class": ["fade"],
styles: _vm.maskClass,
duration: _vm.duration,
show: _vm.showTrans,
_i: 1,
},
on: { click: _vm.onTap },
})
: _vm._e(),
_c(
"uni-transition",
{
attrs: {
"mode-class": _vm.ani,
styles: _vm.transClass,
duration: _vm.duration,
show: _vm.showTrans,
_i: 2,
},
on: { click: _vm.onTap },
},
[
_c(
"view",
{
staticClass: _vm._$s(3, "sc", "uni-popup__wrapper-box"),
attrs: { _i: 3 },
on: {
click: function ($event) {
$event.stopPropagation()
return _vm.clear($event)
},
},
},
[_vm._t("default", null, { _i: 4 })],
2
),
]
),
],
1
)
: _vm._e()
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 86 */
/*!*********************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-transition/uni-transition.vue ***!
\*********************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _uni_transition_vue_vue_type_template_id_cce16df8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./uni-transition.vue?vue&type=template&id=cce16df8& */ 87);\n/* harmony import */ var _uni_transition_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uni-transition.vue?vue&type=script&lang=js& */ 89);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _uni_transition_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _uni_transition_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _uni_transition_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _uni_transition_vue_vue_type_template_id_cce16df8___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _uni_transition_vue_vue_type_template_id_cce16df8___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _uni_transition_vue_vue_type_template_id_cce16df8___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"components/uni-transition/uni-transition.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMkg7QUFDM0g7QUFDa0U7QUFDTDs7O0FBRzdEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLG9GQUFNO0FBQ1IsRUFBRSx5RkFBTTtBQUNSLEVBQUUsa0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsNkZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiODYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL3VuaS10cmFuc2l0aW9uLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1jY2UxNmRmOCZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL3VuaS10cmFuc2l0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vdW5pLXRyYW5zaXRpb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcImNvbXBvbmVudHMvdW5pLXRyYW5zaXRpb24vdW5pLXRyYW5zaXRpb24udnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///86\n");
/***/ }),
/* 87 */
/*!****************************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-transition/uni-transition.vue?vue&type=template&id=cce16df8& ***!
\****************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_transition_vue_vue_type_template_id_cce16df8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-transition.vue?vue&type=template&id=cce16df8& */ 88);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_transition_vue_vue_type_template_id_cce16df8___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_transition_vue_vue_type_template_id_cce16df8___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_transition_vue_vue_type_template_id_cce16df8___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_transition_vue_vue_type_template_id_cce16df8___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 88 */
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/uni-transition/uni-transition.vue?vue&type=template&id=cce16df8& ***!
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _vm._$s(0, "i", _vm.isShow)
? _c(
"view",
{
ref: "ani",
staticClass: _vm._$s(0, "sc", "uni-transition"),
class: _vm._$s(0, "c", [_vm.ani.in]),
style: _vm._$s(
0,
"s",
"transform:" + _vm.transform + ";" + _vm.stylesObject
),
attrs: { _i: 0 },
on: { click: _vm.change },
},
[_vm._t("default", null, { _i: 1 })],
2
)
: _vm._e()
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 89 */
/*!**********************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-transition/uni-transition.vue?vue&type=script&lang=js& ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_transition_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-transition.vue?vue&type=script&lang=js& */ 90);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_transition_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_transition_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_transition_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_transition_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_transition_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXlpQixDQUFnQiw0a0JBQUcsRUFBQyIsImZpbGUiOiI4OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3VuaS10cmFuc2l0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS03LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vdW5pLXRyYW5zaXRpb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///89\n");
/***/ }),
/* 90 */
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/uni-transition/uni-transition.vue?vue&type=script&lang=js& ***!
\***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\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));\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 * Transition 过渡动画\n * @description 简单过渡动画组件\n * @tutorial https://ext.dcloud.net.cn/plugin?id=985\n * @property {Boolean} show = [false|true] 控制组件显示或隐藏\n * @property {Array} modeClass = [fade|slide-top|slide-right|slide-bottom|slide-left|zoom-in|zoom-out] 过渡动画类型\n * @value fade 渐隐渐出过渡\n * @value slide-top 由上至下过渡\n * @value slide-right 由右至左过渡\n * @value slide-bottom 由下至上过渡\n * @value slide-left 由左至右过渡\n * @value zoom-in 由小到大过渡\n * @value zoom-out 由大到小过渡\n * @property {Number} duration 过渡动画持续时间\n * @property {Object} styles 组件样式,同 css 样式,注意带’-‘连接符的属性需要使用小驼峰写法如:`backgroundColor:red`\n */\nvar _default2 = {\n name: 'uniTransition',\n props: {\n show: {\n type: Boolean,\n default: false\n },\n modeClass: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n duration: {\n type: Number,\n default: 300\n },\n styles: {\n type: Object,\n default: function _default() {\n return {};\n }\n }\n },\n data: function data() {\n return {\n isShow: false,\n transform: '',\n ani: {\n in: '',\n active: ''\n }\n };\n },\n watch: {\n show: {\n handler: function handler(newVal) {\n if (newVal) {\n this.open();\n } else {\n this.close();\n }\n },\n immediate: true\n }\n },\n computed: {\n stylesObject: function stylesObject() {\n var styles = _objectSpread(_objectSpread({}, this.styles), {}, {\n 'transition-duration': this.duration / 1000 + 's'\n });\n var transfrom = '';\n for (var i in styles) {\n var line = this.toLine(i);\n transfrom += line + ':' + styles[i] + ';';\n }\n return transfrom;\n }\n },\n created: function created() {\n // this.timer = null\n // this.nextTick = (time = 50) => new Promise(resolve => {\n // \tclearTimeout(this.timer)\n // \tthis.timer = setTimeout(resolve, time)\n // \treturn this.timer\n // });\n },\n methods: {\n change: function change() {\n this.$emit('click', {\n detail: this.isShow\n });\n },\n open: function open() {\n var _this = this;\n clearTimeout(this.timer);\n this.isShow = true;\n this.transform = '';\n this.ani.in = '';\n for (var i in this.getTranfrom(false)) {\n if (i === 'opacity') {\n this.ani.in = 'fade-in';\n } else {\n this.transform += \"\".concat(this.getTranfrom(false)[i], \" \");\n }\n }\n this.$nextTick(function () {\n setTimeout(function () {\n _this._animation(true);\n }, 50);\n });\n },\n close: function close(type) {\n clearTimeout(this.timer);\n this._animation(false);\n },\n _animation: function _animation(type) {\n var _this2 = this;\n var styles = this.getTranfrom(type);\n this.transform = '';\n for (var i in styles) {\n if (i === 'opacity') {\n this.ani.in = \"fade-\".concat(type ? 'out' : 'in');\n } else {\n this.transform += \"\".concat(styles[i], \" \");\n }\n }\n this.timer = setTimeout(function () {\n if (!type) {\n _this2.isShow = false;\n }\n _this2.$emit('change', {\n detail: _this2.isShow\n });\n }, this.duration);\n },\n getTranfrom: function getTranfrom(type) {\n var styles = {\n transform: ''\n };\n this.modeClass.forEach(function (mode) {\n switch (mode) {\n case 'fade':\n styles.opacity = type ? 1 : 0;\n break;\n case 'slide-top':\n styles.transform += \"translateY(\".concat(type ? '0' : '-100%', \") \");\n break;\n case 'slide-right':\n styles.transform += \"translateX(\".concat(type ? '0' : '100%', \") \");\n break;\n case 'slide-bottom':\n styles.transform += \"translateY(\".concat(type ? '0' : '100%', \") \");\n break;\n case 'slide-left':\n styles.transform += \"translateX(\".concat(type ? '0' : '-100%', \") \");\n break;\n case 'zoom-in':\n styles.transform += \"scale(\".concat(type ? 1 : 0.8, \") \");\n break;\n case 'zoom-out':\n styles.transform += \"scale(\".concat(type ? 1 : 1.2, \") \");\n break;\n }\n });\n return styles;\n },\n _modeClassArr: function _modeClassArr(type) {\n var mode = this.modeClass;\n if (typeof mode !== \"string\") {\n var modestr = '';\n mode.forEach(function (item) {\n modestr += item + '-' + type + ',';\n });\n return modestr.substr(0, modestr.length - 1);\n } else {\n return mode + '-' + type;\n }\n },\n // getEl(el) {\n // \tconsole.log(el || el.ref || null);\n // \treturn el || el.ref || null\n // },\n toLine: function toLine(name) {\n return name.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n }\n }\n};\nexports.default = _default2;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy91bmktdHJhbnNpdGlvbi91bmktdHJhbnNpdGlvbi52dWUiXSwibmFtZXMiOlsibmFtZSIsInByb3BzIiwic2hvdyIsInR5cGUiLCJkZWZhdWx0IiwibW9kZUNsYXNzIiwiZHVyYXRpb24iLCJzdHlsZXMiLCJkYXRhIiwiaXNTaG93IiwidHJhbnNmb3JtIiwiYW5pIiwiaW4iLCJhY3RpdmUiLCJ3YXRjaCIsImhhbmRsZXIiLCJpbW1lZGlhdGUiLCJjb21wdXRlZCIsInN0eWxlc09iamVjdCIsInRyYW5zZnJvbSIsImNyZWF0ZWQiLCJtZXRob2RzIiwiY2hhbmdlIiwiZGV0YWlsIiwib3BlbiIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJjbG9zZSIsIl9hbmltYXRpb24iLCJnZXRUcmFuZnJvbSIsIl9tb2RlQ2xhc3NBcnIiLCJtb2RlIiwibW9kZXN0ciIsInRvTGluZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWZBLGdCQWdCQTtFQUNBQTtFQUNBQztJQUNBQztNQUNBQztNQUNBQztJQUNBO0lBQ0FDO01BQ0FGO01BQ0FDO1FBQ0E7TUFDQTtJQUNBO0lBQ0FFO01BQ0FIO01BQ0FDO0lBQ0E7SUFDQUc7TUFDQUo7TUFDQUM7UUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBSTtJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO1FBQUFDO1FBQ0FDO01BQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FaO01BQ0FhO1FBQ0E7VUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztNQUNBLDZDQUNBO1FBQ0E7TUFBQSxFQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0FDO01BQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFBQSxDQUNBO0VBQ0FDO0lBQ0FDO01BQ0E7UUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBO1VBQ0E7UUFDQTtVQUNBO1FBQ0E7TUFDQTtNQUNBO1FBQ0FDO1VBQ0E7UUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFDQUY7TUFDQTtJQUNBO0lBQ0FHO01BQUE7TUFDQTtNQW1CQTtNQUNBO1FBQ0E7VUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO01BQ0E7UUFDQTtVQUNBO1FBQ0E7UUFDQTtVQUNBTDtRQUNBO01BRUE7SUFHQTtJQUNBTTtNQUNBO1FBQ0FuQjtNQUNBO01BQ0E7UUFDQTtVQUNBO1lBQ0FIO1lBQ0E7VUFDQTtZQUNBQTtZQUNBO1VBQ0E7WUFDQUE7WUFDQTtVQUNBO1lBQ0FBO1lBQ0E7VUFDQTtZQUNBQTtZQUNBO1VBQ0E7WUFDQUE7WUFDQTtVQUNBO1lBQ0FBO1lBQ0E7UUFBQTtNQUVBO01BQ0E7SUFDQTtJQUNBdUI7TUFDQTtNQUNBO1FBQ0E7UUFDQUM7VUFDQUM7UUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEiLCJmaWxlIjoiOTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgdi1pZj1cImlzU2hvd1wiIHJlZj1cImFuaVwiIGNsYXNzPVwidW5pLXRyYW5zaXRpb25cIiA6Y2xhc3M9XCJbYW5pLmluXVwiIDpzdHlsZT1cIid0cmFuc2Zvcm06JyArdHJhbnNmb3JtKyc7JytzdHlsZXNPYmplY3RcIlxyXG5cdCBAY2xpY2s9XCJjaGFuZ2VcIj5cclxuXHRcdCA8c2xvdD48L3Nsb3Q+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHQvLyAjaWZkZWYgQVBQLU5WVUVcclxuXHRjb25zdCBhbmltYXRpb24gPSB1bmkucmVxdWlyZU5hdGl2ZVBsdWdpbignYW5pbWF0aW9uJyk7XHJcblx0Ly8gI2VuZGlmXHJcblx0LyoqXHJcblx0ICogVHJhbnNpdGlvbiDov4fmuKHliqjnlLtcclxuXHQgKiBAZGVzY3JpcHRpb24g566A5Y2V6L+H5rih5Yqo55S757uE5Lu2XHJcblx0ICogQHR1dG9yaWFsIGh0dHBzOi8vZXh0LmRjbG91ZC5uZXQuY24vcGx1Z2luP2lkPTk4NVxyXG5cdCAqIEBwcm9wZXJ0eSB7Qm9vbGVhbn0gc2hvdyA9IFtmYWxzZXx0cnVlXSDmjqfliLbnu4Tku7bmmL7npLrmiJbpmpDol49cclxuICAgICAqIEBwcm9wZXJ0eSB7QXJyYXl9IG1vZGVDbGFzcyA9IFtmYWRlfHNsaWRlLXRvcHxzbGlkZS1yaWdodHxzbGlkZS1ib3R0b218c2xpZGUtbGVmdHx6b29tLWlufHpvb20tb3V0XSDov4fmuKHliqjnlLvnsbvlnotcclxuICAgICAqICBAdmFsdWUgZmFkZSDmuJDpmpDmuJDlh7rov4fmuKFcclxuICAgICAqICBAdmFsdWUgc2xpZGUtdG9wIOeUseS4iuiHs+S4i+i/h+a4oVxyXG4gICAgICogIEB2YWx1ZSBzbGlkZS1yaWdodCDnlLHlj7Poh7Plt6bov4fmuKFcclxuICAgICAqICBAdmFsdWUgc2xpZGUtYm90dG9tIOeUseS4i+iHs+S4iui/h+a4oVxyXG4gICAgICogIEB2YWx1ZSBzbGlkZS1sZWZ0IOeUseW3puiHs+WPs+i/h+a4oVxyXG4gICAgICogIEB2YWx1ZSB6b29tLWluIOeUseWwj+WIsOWkp+i/h+a4oVxyXG4gICAgICogIEB2YWx1ZSB6b29tLW91dCDnlLHlpKfliLDlsI/ov4fmuKFcclxuXHQgKiBAcHJvcGVydHkge051bWJlcn0gZHVyYXRpb24g6L+H5rih5Yqo55S75oyB57ut5pe26Ze0XHJcblx0ICogQHByb3BlcnR5IHtPYmplY3R9IHN0eWxlcyDnu4Tku7bmoLflvI/vvIzlkIwgY3NzIOagt+W8j++8jOazqOaEj+W4puKAmS3igJjov57mjqXnrKbnmoTlsZ7mgKfpnIDopoHkvb/nlKjlsI/pqbzls7Dlhpnms5XlpoLvvJpgYmFja2dyb3VuZENvbG9yOnJlZGBcclxuXHQgKi9cclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRuYW1lOiAndW5pVHJhbnNpdGlvbicsXHJcblx0XHRwcm9wczoge1xyXG5cdFx0XHRzaG93OiB7XHJcblx0XHRcdFx0dHlwZTogQm9vbGVhbixcclxuXHRcdFx0XHRkZWZhdWx0OiBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRtb2RlQ2xhc3M6IHtcclxuXHRcdFx0XHR0eXBlOiBBcnJheSxcclxuXHRcdFx0XHRkZWZhdWx0ICgpIHtcclxuXHRcdFx0XHRcdHJldHVybiBbXVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0ZHVyYXRpb246IHtcclxuXHRcdFx0XHR0eXBlOiBOdW1iZXIsXHJcblx0XHRcdFx0ZGVmYXVsdDogMzAwXHJcblx0XHRcdH0sXHJcblx0XHRcdHN0eWxlczoge1xyXG5cdFx0XHRcdHR5cGU6IE9iamVjdCxcclxuXHRcdFx0XHRkZWZhdWx0ICgpIHtcclxuXHRcdFx0XHRcdHJldHVybiB7fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0aXNTaG93OiBmYWxzZSxcclxuXHRcdFx0XHR0cmFuc2Zvcm06ICcnLFxyXG5cdFx0XHRcdGFuaTogeyBpbjogJycsXHJcblx0XHRcdFx0XHRhY3RpdmU6ICcnXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9O1xyXG5cdFx0fSxcclxuXHRcdHdhdGNoOiB7XHJcblx0XHRcdHNob3c6IHtcclxuXHRcdFx0XHRoYW5kbGVyKG5ld1ZhbCkge1xyXG5cdFx0XHRcdFx0aWYgKG5ld1ZhbCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLm9wZW4oKVxyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5jbG9zZSgpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRpbW1lZGlhdGU6IHRydWVcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNvbXB1dGVkOiB7XHJcblx0XHRcdHN0eWxlc09iamVjdCgpIHtcclxuXHRcdFx0XHRsZXQgc3R5bGVzID0ge1xyXG5cdFx0XHRcdFx0Li4udGhpcy5zdHlsZXMsXHJcblx0XHRcdFx0XHQndHJhbnNpdGlvbi1kdXJhdGlvbic6IHRoaXMuZHVyYXRpb24gLyAxMDAwICsgJ3MnXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCB0cmFuc2Zyb20gPSAnJ1xyXG5cdFx0XHRcdGZvciAobGV0IGkgaW4gc3R5bGVzKSB7XHJcblx0XHRcdFx0XHRsZXQgbGluZSA9IHRoaXMudG9MaW5lKGkpXHJcblx0XHRcdFx0XHR0cmFuc2Zyb20gKz0gbGluZSArICc6JyArIHN0eWxlc1tpXSArICc7J1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gdHJhbnNmcm9tXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRjcmVhdGVkKCkge1xyXG5cdFx0XHQvLyB0aGlzLnRpbWVyID0gbnVsbFxyXG5cdFx0XHQvLyB0aGlzLm5leHRUaWNrID0gKHRpbWUgPSA1MCkgPT4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XHJcblx0XHRcdC8vIFx0Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIpXHJcblx0XHRcdC8vIFx0dGhpcy50aW1lciA9IHNldFRpbWVvdXQocmVzb2x2ZSwgdGltZSlcclxuXHRcdFx0Ly8gXHRyZXR1cm4gdGhpcy50aW1lclxyXG5cdFx0XHQvLyB9KTtcclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGNoYW5nZSgpIHtcclxuXHRcdFx0XHR0aGlzLiRlbWl0KCdjbGljaycsIHtcclxuXHRcdFx0XHRcdGRldGFpbDogdGhpcy5pc1Nob3dcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRvcGVuKCkge1xyXG5cdFx0XHRcdGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKVxyXG5cdFx0XHRcdHRoaXMuaXNTaG93ID0gdHJ1ZVxyXG5cdFx0XHRcdHRoaXMudHJhbnNmb3JtID0gJydcclxuXHRcdFx0XHR0aGlzLmFuaS5pbiA9ICcnXHJcblx0XHRcdFx0Zm9yIChsZXQgaSBpbiB0aGlzLmdldFRyYW5mcm9tKGZhbHNlKSkge1xyXG5cdFx0XHRcdFx0aWYgKGkgPT09ICdvcGFjaXR5Jykge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmFuaS5pbiA9ICdmYWRlLWluJ1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy50cmFuc2Zvcm0gKz0gYCR7dGhpcy5nZXRUcmFuZnJvbShmYWxzZSlbaV19IGBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy4kbmV4dFRpY2soKCkgPT4ge1xyXG5cdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMuX2FuaW1hdGlvbih0cnVlKVxyXG5cdFx0XHRcdFx0fSwgNTApXHJcblx0XHRcdFx0fSlcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGNsb3NlKHR5cGUpIHtcclxuXHRcdFx0XHRjbGVhclRpbWVvdXQodGhpcy50aW1lcilcclxuXHRcdFx0XHR0aGlzLl9hbmltYXRpb24oZmFsc2UpXHJcblx0XHRcdH0sXHJcblx0XHRcdF9hbmltYXRpb24odHlwZSkge1xyXG5cdFx0XHRcdGxldCBzdHlsZXMgPSB0aGlzLmdldFRyYW5mcm9tKHR5cGUpXHJcblx0XHRcdFx0Ly8gI2lmZGVmIEFQUC1OVlVFXHJcblx0XHRcdFx0aWYoIXRoaXMuJHJlZnNbJ2FuaSddKSByZXR1cm5cclxuXHRcdFx0XHRhbmltYXRpb24udHJhbnNpdGlvbih0aGlzLiRyZWZzWydhbmknXS5yZWYsIHtcclxuXHRcdFx0XHRcdHN0eWxlcyxcclxuXHRcdFx0XHRcdGR1cmF0aW9uOiB0aGlzLmR1cmF0aW9uLCAvL21zXHJcblx0XHRcdFx0XHR0aW1pbmdGdW5jdGlvbjogJ2Vhc2UnLFxyXG5cdFx0XHRcdFx0bmVlZExheW91dDogZmFsc2UsXHJcblx0XHRcdFx0XHRkZWxheTogMCAvL21zXHJcblx0XHRcdFx0fSwgKCkgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKCF0eXBlKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNTaG93ID0gZmFsc2VcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMuJGVtaXQoJ2NoYW5nZScsIHtcclxuXHRcdFx0XHRcdFx0ZGV0YWlsOiB0aGlzLmlzU2hvd1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdC8vICNlbmRpZlxyXG5cdFx0XHRcdC8vICNpZm5kZWYgQVBQLU5WVUVcclxuXHRcdFx0XHR0aGlzLnRyYW5zZm9ybSA9ICcnXHJcblx0XHRcdFx0Zm9yIChsZXQgaSBpbiBzdHlsZXMpIHtcclxuXHRcdFx0XHRcdGlmIChpID09PSAnb3BhY2l0eScpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5hbmkuaW4gPSBgZmFkZS0ke3R5cGU/J291dCc6J2luJ31gXHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnRyYW5zZm9ybSArPSBgJHtzdHlsZXNbaV19IGBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy50aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKCF0eXBlKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNTaG93ID0gZmFsc2VcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMuJGVtaXQoJ2NoYW5nZScsIHtcclxuXHRcdFx0XHRcdFx0ZGV0YWlsOiB0aGlzLmlzU2hvd1xyXG5cdFx0XHRcdFx0fSlcclxuXHJcblx0XHRcdFx0fSwgdGhpcy5kdXJhdGlvbilcclxuXHRcdFx0XHQvLyAjZW5kaWZcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGdldFRyYW5mcm9tKHR5cGUpIHtcclxuXHRcdFx0XHRsZXQgc3R5bGVzID0ge1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiAnJ1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLm1vZGVDbGFzcy5mb3JFYWNoKChtb2RlKSA9PiB7XHJcblx0XHRcdFx0XHRzd2l0Y2ggKG1vZGUpIHtcclxuXHRcdFx0XHRcdFx0Y2FzZSAnZmFkZSc6XHJcblx0XHRcdFx0XHRcdFx0c3R5bGVzLm9wYWNpdHkgPSB0eXBlID8gMSA6IDBcclxuXHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdFx0Y2FzZSAnc2xpZGUtdG9wJzpcclxuXHRcdFx0XHRcdFx0XHRzdHlsZXMudHJhbnNmb3JtICs9IGB0cmFuc2xhdGVZKCR7dHlwZT8nMCc6Jy0xMDAlJ30pIGBcclxuXHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdFx0Y2FzZSAnc2xpZGUtcmlnaHQnOlxyXG5cdFx0XHRcdFx0XHRcdHN0eWxlcy50cmFuc2Zvcm0gKz0gYHRyYW5zbGF0ZVgoJHt0eXBlPycwJzonMTAwJSd9KSBgXHJcblx0XHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRcdGNhc2UgJ3NsaWRlLWJvdHRvbSc6XHJcblx0XHRcdFx0XHRcdFx0c3R5bGVzLnRyYW5zZm9ybSArPSBgdHJhbnNsYXRlWSgke3R5cGU/JzAnOicxMDAlJ30pIGBcclxuXHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdFx0Y2FzZSAnc2xpZGUtbGVmdCc6XHJcblx0XHRcdFx0XHRcdFx0c3R5bGVzLnRyYW5zZm9ybSArPSBgdHJhbnNsYXRlWCgke3R5cGU/JzAnOictMTAwJSd9KSBgXHJcblx0XHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRcdGNhc2UgJ3pvb20taW4nOlxyXG5cdFx0XHRcdFx0XHRcdHN0eWxlcy50cmFuc2Zvcm0gKz0gYHNjYWxlKCR7dHlwZT8xOjAuOH0pIGBcclxuXHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdFx0Y2FzZSAnem9vbS1vdXQnOlxyXG5cdFx0XHRcdFx0XHRcdHN0eWxlcy50cmFuc2Zvcm0gKz0gYHNjYWxlKCR7dHlwZT8xOjEuMn0pIGBcclxuXHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHJldHVybiBzdHlsZXNcclxuXHRcdFx0fSxcclxuXHRcdFx0X21vZGVDbGFzc0Fycih0eXBlKSB7XHJcblx0XHRcdFx0bGV0IG1vZGUgPSB0aGlzLm1vZGVDbGFzc1xyXG5cdFx0XHRcdGlmICh0eXBlb2YobW9kZSkgIT09IFwic3RyaW5nXCIpIHtcclxuXHRcdFx0XHRcdGxldCBtb2Rlc3RyID0gJydcclxuXHRcdFx0XHRcdG1vZGUuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRtb2Rlc3RyICs9IChpdGVtICsgJy0nICsgdHlwZSArICcsJylcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRyZXR1cm4gbW9kZXN0ci5zdWJzdHIoMCwgbW9kZXN0ci5sZW5ndGggLSAxKVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gbW9kZSArICctJyArIHR5cGVcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIGdldEVsKGVsKSB7XHJcblx0XHRcdC8vIFx0Y29uc29sZS5sb2coZWwgfHwgZWwucmVmIHx8IG51bGwpO1xyXG5cdFx0XHQvLyBcdHJldHVybiBlbCB8fCBlbC5yZWYgfHwgbnVsbFxyXG5cdFx0XHQvLyB9LFxyXG5cdFx0XHR0b0xpbmUobmFtZSkge1xyXG5cdFx0XHRcdHJldHVybiBuYW1lLnJlcGxhY2UoLyhbQS1aXSkvZywgXCItJDFcIikudG9Mb3dlckNhc2UoKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0LnVuaS10cmFuc2l0aW9uIHtcclxuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xyXG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuXHR9XHJcblxyXG5cdC5mYWRlLWluIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG5cclxuXHQuZmFkZS1hY3RpdmUge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblxyXG5cdC5zbGlkZS10b3AtaW4ge1xyXG5cdFx0LyogdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5OyAqL1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuXHR9XHJcblxyXG5cdC5zbGlkZS10b3AtYWN0aXZlIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHRcdC8qIG9wYWNpdHk6IDE7ICovXHJcblx0fVxyXG5cclxuXHQuc2xpZGUtcmlnaHQtaW4ge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG5cdH1cclxuXHJcblx0LnNsaWRlLXJpZ2h0LWFjdGl2ZSB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcblx0fVxyXG5cclxuXHQuc2xpZGUtYm90dG9tLWluIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuXHR9XHJcblxyXG5cdC5zbGlkZS1ib3R0b20tYWN0aXZlIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcblxyXG5cdC5zbGlkZS1sZWZ0LWluIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcblx0fVxyXG5cclxuXHQuc2xpZGUtbGVmdC1hY3RpdmUge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblxyXG5cdC56b29tLWluLWluIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuXHR9XHJcblxyXG5cdC56b29tLW91dC1hY3RpdmUge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR9XHJcblxyXG5cdC56b29tLW91dC1pbiB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcblx0fVxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///90\n");
/***/ }),
/* 91 */
/*!************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-popup/uni-popup.vue?vue&type=script&lang=js& ***!
\************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-popup.vue?vue&type=script&lang=js& */ 92);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW9pQixDQUFnQix1a0JBQUcsRUFBQyIsImZpbGUiOiI5MS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3VuaS1wb3B1cC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3VuaS1wb3B1cC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///91\n");
/***/ }),
/* 92 */
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/uni-popup/uni-popup.vue?vue&type=script&lang=js& ***!
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (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 _uniTransition = _interopRequireDefault(__webpack_require__(/*! ../uni-transition/uni-transition.vue */ 86));\nvar _popup = _interopRequireDefault(__webpack_require__(/*! ./popup.js */ 93));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/**\n * PopUp 弹出层\n * @description 弹出层组件,为了解决遮罩弹层的问题\n * @tutorial https://ext.dcloud.net.cn/plugin?id=329\n * @property {String} type = [top|center|bottom] 弹出方式\n * \t@value top 顶部弹出\n * \t@value center 中间弹出\n * \t@value bottom 底部弹出\n * \t@value message 消息提示\n * \t@value dialog 对话框\n * \t@value share 底部分享示例\n * @property {Boolean} animation = [ture|false] 是否开启动画\n * @property {Boolean} maskClick = [ture|false] 蒙版点击是否关闭弹窗\n * @event {Function} change 打开关闭弹窗触发,e={show: false}\n */\nvar _default = {\n name: 'UniPopup',\n components: {\n uniTransition: _uniTransition.default\n },\n props: {\n // 开启动画\n animation: {\n type: Boolean,\n default: true\n },\n // 弹出层类型,可选值,top: 顶部弹出层;bottom:底部弹出层;center:全屏弹出层\n // message: 消息提示 ; dialog : 对话框\n type: {\n type: String,\n default: 'center'\n },\n // maskClick\n maskClick: {\n type: Boolean,\n default: true\n }\n },\n provide: function provide() {\n return {\n popup: this\n };\n },\n mixins: [_popup.default],\n watch: {\n /**\n * 监听type类型\n */\n type: {\n handler: function handler(newVal) {\n this[this.config[newVal]]();\n },\n immediate: true\n },\n /**\n * 监听遮罩是否可点击\n * @param {Object} val\n */\n maskClick: function maskClick(val) {\n this.mkclick = val;\n }\n },\n data: function data() {\n return {\n duration: 300,\n ani: [],\n showPopup: false,\n showTrans: false,\n maskClass: {\n 'position': 'fixed',\n 'bottom': 0,\n 'top': 0,\n 'left': 0,\n 'right': 0,\n 'backgroundColor': 'rgba(0, 0, 0, 0.4)'\n },\n transClass: {\n 'position': 'fixed',\n 'left': 0,\n 'right': 0\n },\n maskShow: true,\n mkclick: true,\n popupstyle: 'top'\n };\n },\n created: function created() {\n this.mkclick = this.maskClick;\n if (this.animation) {\n this.duration = 300;\n } else {\n this.duration = 0;\n }\n },\n methods: {\n clear: function clear(e) {\n // TODO nvue 取消冒泡\n e.stopPropagation();\n },\n open: function open() {\n var _this = this;\n this.showPopup = true;\n this.$nextTick(function () {\n new Promise(function (resolve) {\n clearTimeout(_this.timer);\n _this.timer = setTimeout(function () {\n _this.showTrans = true;\n // fixed by mehaotian 兼容 app 端\n _this.$nextTick(function () {\n resolve();\n });\n }, 50);\n }).then(function (res) {\n // 自定义打开事件\n clearTimeout(_this.msgtimer);\n _this.msgtimer = setTimeout(function () {\n _this.customOpen && _this.customOpen();\n }, 100);\n _this.$emit('change', {\n show: true,\n type: _this.type\n });\n });\n });\n },\n close: function close(type) {\n var _this2 = this;\n this.showTrans = false;\n this.$nextTick(function () {\n _this2.$emit('change', {\n show: false,\n type: _this2.type\n });\n clearTimeout(_this2.timer);\n // 自定义关闭事件\n _this2.customOpen && _this2.customClose();\n _this2.timer = setTimeout(function () {\n _this2.showPopup = false;\n }, 300);\n });\n },\n onTap: function onTap() {\n __f__(\"log\", this.maskClick, \" at components/uni-popup/uni-popup.vue:157\");\n if (!this.maskClick) return;\n this.close();\n },\n /**\n * 顶部弹出样式处理\n */\n top: function top() {\n this.popupstyle = 'top';\n this.ani = ['slide-top'];\n this.transClass = {\n 'position': 'fixed',\n 'left': 0,\n 'right': 0\n };\n },\n /**\n * 底部弹出样式处理\n */\n bottom: function bottom() {\n this.popupstyle = 'bottom';\n this.ani = ['slide-bottom'];\n this.transClass = {\n 'position': 'fixed',\n 'left': 0,\n 'right': 0,\n 'bottom': 0\n };\n },\n /**\n * 中间弹出样式处理\n */\n center: function center() {\n this.popupstyle = 'center';\n this.ani = ['zoom-out', 'fade'];\n this.transClass = {\n 'position': 'fixed',\n 'display': 'flex',\n 'flexDirection': 'column',\n 'bottom': 0,\n 'left': 0,\n 'right': 0,\n 'top': 0,\n 'justifyContent': 'center',\n 'alignItems': 'center'\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 */ 33)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy91bmktcG9wdXAvdW5pLXBvcHVwLnZ1ZSJdLCJuYW1lcyI6WyJuYW1lIiwiY29tcG9uZW50cyIsInVuaVRyYW5zaXRpb24iLCJwcm9wcyIsImFuaW1hdGlvbiIsInR5cGUiLCJkZWZhdWx0IiwibWFza0NsaWNrIiwicHJvdmlkZSIsInBvcHVwIiwibWl4aW5zIiwid2F0Y2giLCJoYW5kbGVyIiwiaW1tZWRpYXRlIiwiZGF0YSIsImR1cmF0aW9uIiwiYW5pIiwic2hvd1BvcHVwIiwic2hvd1RyYW5zIiwibWFza0NsYXNzIiwidHJhbnNDbGFzcyIsIm1hc2tTaG93IiwibWtjbGljayIsInBvcHVwc3R5bGUiLCJjcmVhdGVkIiwibWV0aG9kcyIsImNsZWFyIiwiZSIsIm9wZW4iLCJjbGVhclRpbWVvdXQiLCJyZXNvbHZlIiwic2hvdyIsImNsb3NlIiwib25UYXAiLCJ0b3AiLCJib3R0b20iLCJjZW50ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFhQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZEEsZUFnQkE7RUFDQUE7RUFDQUM7SUFDQUM7RUFDQTtFQUNBQztJQUNBO0lBQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7SUFDQTtJQUNBO0lBQ0FEO01BQ0FBO01BQ0FDO0lBQ0E7SUFDQTtJQUNBQztNQUNBRjtNQUNBQztJQUNBO0VBQ0E7RUFDQUU7SUFDQTtNQUNBQztJQUNBO0VBQ0E7RUFDQUM7RUFDQUM7SUFDQTtBQUNBO0FBQ0E7SUFDQU47TUFDQU87UUFDQTtNQUNBO01BQ0FDO0lBQ0E7SUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNBTjtNQUNBO0lBQ0E7RUFDQTtFQUNBTztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQUM7UUFDQTtRQUNBO1FBQ0E7TUFDQTtNQUNBQztNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQTtJQUNBO01BQ0E7SUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztNQUNBO01BQ0FDO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0E7UUFDQTtVQUNBQztVQUNBO1lBQ0E7WUFDQTtZQUNBO2NBQ0FDO1lBQ0E7VUFDQTtRQUNBO1VBQ0E7VUFDQUQ7VUFDQTtZQUNBO1VBQ0E7VUFDQTtZQUNBRTtZQUNBMUI7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBMkI7TUFBQTtNQUNBO01BQ0E7UUFDQTtVQUNBRDtVQUNBMUI7UUFDQTtRQUNBd0I7UUFDQTtRQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBSTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0E7QUFDQTtBQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBO0FBQ0E7QUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBO0FBQ0E7QUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtRQUNBO1FBRUE7UUFDQTtRQUVBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiOTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgdi1pZj1cInNob3dQb3B1cFwiIGNsYXNzPVwidW5pLXBvcHVwXCIgOmNsYXNzPVwiW3BvcHVwc3R5bGVdXCIgQHRvdWNobW92ZS5zdG9wLnByZXZlbnQ9XCJjbGVhclwiPlxyXG5cdFx0PHVuaS10cmFuc2l0aW9uIHYtaWY9XCJtYXNrU2hvd1wiIDptb2RlLWNsYXNzPVwiWydmYWRlJ11cIiA6c3R5bGVzPVwibWFza0NsYXNzXCIgOmR1cmF0aW9uPVwiZHVyYXRpb25cIiA6c2hvdz1cInNob3dUcmFuc1wiXHJcblx0XHQgQGNsaWNrPVwib25UYXBcIi8+XHJcblx0XHQ8dW5pLXRyYW5zaXRpb24gOm1vZGUtY2xhc3M9XCJhbmlcIiA6c3R5bGVzPVwidHJhbnNDbGFzc1wiIDpkdXJhdGlvbj1cImR1cmF0aW9uXCIgOnNob3c9XCJzaG93VHJhbnNcIiBAY2xpY2s9XCJvblRhcFwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInVuaS1wb3B1cF9fd3JhcHBlci1ib3hcIiBAY2xpY2suc3RvcD1cImNsZWFyXCI+XHJcblx0XHRcdFx0PHNsb3QgLz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC91bmktdHJhbnNpdGlvbj5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCB1bmlUcmFuc2l0aW9uIGZyb20gJy4uL3VuaS10cmFuc2l0aW9uL3VuaS10cmFuc2l0aW9uLnZ1ZSdcclxuXHRpbXBvcnQgcG9wdXAgZnJvbSAnLi9wb3B1cC5qcydcclxuXHQvKipcclxuXHQgKiBQb3BVcCDlvLnlh7rlsYJcclxuXHQgKiBAZGVzY3JpcHRpb24g5by55Ye65bGC57uE5Lu277yM5Li65LqG6Kej5Yaz6YGu572p5by55bGC55qE6Zeu6aKYXHJcblx0ICogQHR1dG9yaWFsIGh0dHBzOi8vZXh0LmRjbG91ZC5uZXQuY24vcGx1Z2luP2lkPTMyOVxyXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfSB0eXBlID0gW3RvcHxjZW50ZXJ8Ym90dG9tXSDlvLnlh7rmlrnlvI9cclxuXHQgKiBcdEB2YWx1ZSB0b3Ag6aG26YOo5by55Ye6XHJcblx0ICogXHRAdmFsdWUgY2VudGVyIOS4remXtOW8ueWHulxyXG5cdCAqIFx0QHZhbHVlIGJvdHRvbSDlupXpg6jlvLnlh7pcclxuXHQgKiBcdEB2YWx1ZSBtZXNzYWdlIOa2iOaBr+aPkOekulxyXG5cdCAqIFx0QHZhbHVlIGRpYWxvZyDlr7nor53moYZcclxuXHQgKiBcdEB2YWx1ZSBzaGFyZSDlupXpg6jliIbkuqvnpLrkvotcclxuXHQgKiBAcHJvcGVydHkge0Jvb2xlYW59IGFuaW1hdGlvbiA9IFt0dXJlfGZhbHNlXSDmmK/lkKblvIDlkK/liqjnlLtcclxuXHQgKiBAcHJvcGVydHkge0Jvb2xlYW59IG1hc2tDbGljayA9IFt0dXJlfGZhbHNlXSDokpnniYjngrnlh7vmmK/lkKblhbPpl63lvLnnqpdcclxuXHQgKiBAZXZlbnQge0Z1bmN0aW9ufSBjaGFuZ2Ug5omT5byA5YWz6Zet5by556qX6Kem5Y+R77yMZT17c2hvdzogZmFsc2V9XHJcblx0ICovXHJcblxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdG5hbWU6ICdVbmlQb3B1cCcsXHJcblx0XHRjb21wb25lbnRzOiB7XHJcblx0XHRcdHVuaVRyYW5zaXRpb25cclxuXHRcdH0sXHJcblx0XHRwcm9wczoge1xyXG5cdFx0XHQvLyDlvIDlkK/liqjnlLtcclxuXHRcdFx0YW5pbWF0aW9uOiB7XHJcblx0XHRcdFx0dHlwZTogQm9vbGVhbixcclxuXHRcdFx0XHRkZWZhdWx0OiB0cnVlXHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOW8ueWHuuWxguexu+Wei++8jOWPr+mAieWAvO+8jHRvcDog6aG26YOo5by55Ye65bGC77ybYm90dG9t77ya5bqV6YOo5by55Ye65bGC77ybY2VudGVy77ya5YWo5bGP5by55Ye65bGCXHJcblx0XHRcdC8vIG1lc3NhZ2U6IOa2iOaBr+aPkOekuiA7IGRpYWxvZyA6IOWvueivneahhlxyXG5cdFx0XHR0eXBlOiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICdjZW50ZXInXHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIG1hc2tDbGlja1xyXG5cdFx0XHRtYXNrQ2xpY2s6IHtcclxuXHRcdFx0XHR0eXBlOiBCb29sZWFuLFxyXG5cdFx0XHRcdGRlZmF1bHQ6IHRydWVcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdHByb3ZpZGUoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0cG9wdXA6IHRoaXNcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1peGluczogW3BvcHVwXSxcclxuXHRcdHdhdGNoOiB7XHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiDnm5HlkKx0eXBl57G75Z6LXHJcblx0XHRcdCAqL1xyXG5cdFx0XHR0eXBlOiB7XHJcblx0XHRcdFx0aGFuZGxlcjogZnVuY3Rpb24obmV3VmFsKSB7XHJcblx0XHRcdFx0XHR0aGlzW3RoaXMuY29uZmlnW25ld1ZhbF1dKClcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGltbWVkaWF0ZTogdHJ1ZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICog55uR5ZCs6YGu572p5piv5ZCm5Y+v54K55Ye7XHJcblx0XHRcdCAqIEBwYXJhbSB7T2JqZWN0fSB2YWxcclxuXHRcdFx0ICovXHJcblx0XHRcdG1hc2tDbGljayh2YWwpIHtcclxuXHRcdFx0XHR0aGlzLm1rY2xpY2sgPSB2YWxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0ZHVyYXRpb246IDMwMCxcclxuXHRcdFx0XHRhbmk6IFtdLFxyXG5cdFx0XHRcdHNob3dQb3B1cDogZmFsc2UsXHJcblx0XHRcdFx0c2hvd1RyYW5zOiBmYWxzZSxcclxuXHRcdFx0XHRtYXNrQ2xhc3M6IHtcclxuXHRcdFx0XHRcdCdwb3NpdGlvbic6ICdmaXhlZCcsXHJcblx0XHRcdFx0XHQnYm90dG9tJzogMCxcclxuXHRcdFx0XHRcdCd0b3AnOiAwLFxyXG5cdFx0XHRcdFx0J2xlZnQnOiAwLFxyXG5cdFx0XHRcdFx0J3JpZ2h0JzogMCxcclxuXHRcdFx0XHRcdCdiYWNrZ3JvdW5kQ29sb3InOiAncmdiYSgwLCAwLCAwLCAwLjQpJ1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0dHJhbnNDbGFzczoge1xyXG5cdFx0XHRcdFx0J3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuXHRcdFx0XHRcdCdsZWZ0JzogMCxcclxuXHRcdFx0XHRcdCdyaWdodCc6IDAsXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRtYXNrU2hvdzogdHJ1ZSxcclxuXHRcdFx0XHRta2NsaWNrOiB0cnVlLFxyXG5cdFx0XHRcdHBvcHVwc3R5bGU6ICd0b3AnXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRjcmVhdGVkKCkge1xyXG5cdFx0XHR0aGlzLm1rY2xpY2sgPSB0aGlzLm1hc2tDbGlja1xyXG5cdFx0XHRpZiAodGhpcy5hbmltYXRpb24pIHtcclxuXHRcdFx0XHR0aGlzLmR1cmF0aW9uID0gMzAwXHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0dGhpcy5kdXJhdGlvbiA9IDBcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0Y2xlYXIoZSkge1xyXG5cdFx0XHRcdC8vIFRPRE8gbnZ1ZSDlj5bmtojlhpLms6FcclxuXHRcdFx0XHRlLnN0b3BQcm9wYWdhdGlvbigpXHJcblx0XHRcdH0sXHJcblx0XHRcdG9wZW4oKSB7XHJcblx0XHRcdFx0dGhpcy5zaG93UG9wdXAgPSB0cnVlXHJcblx0XHRcdFx0dGhpcy4kbmV4dFRpY2soKCkgPT4ge1xyXG5cdFx0XHRcdFx0bmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XHJcblx0XHRcdFx0XHRcdGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKVxyXG5cdFx0XHRcdFx0XHR0aGlzLnRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zaG93VHJhbnMgPSB0cnVlXHJcblx0XHRcdFx0XHRcdFx0Ly8gZml4ZWQgYnkgbWVoYW90aWFuIOWFvOWuuSBhcHAg56uvXHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kbmV4dFRpY2soKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZSgpO1xyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH0sIDUwKTtcclxuXHRcdFx0XHRcdH0pLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8g6Ieq5a6a5LmJ5omT5byA5LqL5Lu2XHJcblx0XHRcdFx0XHRcdGNsZWFyVGltZW91dCh0aGlzLm1zZ3RpbWVyKVxyXG5cdFx0XHRcdFx0XHR0aGlzLm1zZ3RpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5jdXN0b21PcGVuICYmIHRoaXMuY3VzdG9tT3BlbigpXHJcblx0XHRcdFx0XHRcdH0sIDEwMClcclxuXHRcdFx0XHRcdFx0dGhpcy4kZW1pdCgnY2hhbmdlJywge1xyXG5cdFx0XHRcdFx0XHRcdHNob3c6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0dHlwZTogdGhpcy50eXBlXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGNsb3NlKHR5cGUpIHtcclxuXHRcdFx0XHR0aGlzLnNob3dUcmFucyA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy4kbmV4dFRpY2soKCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy4kZW1pdCgnY2hhbmdlJywge1xyXG5cdFx0XHRcdFx0XHRzaG93OiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0dHlwZTogdGhpcy50eXBlXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIpXHJcblx0XHRcdFx0XHQvLyDoh6rlrprkuYnlhbPpl63kuovku7ZcclxuXHRcdFx0XHRcdHRoaXMuY3VzdG9tT3BlbiAmJiB0aGlzLmN1c3RvbUNsb3NlKClcclxuXHRcdFx0XHRcdHRoaXMudGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy5zaG93UG9wdXAgPSBmYWxzZVxyXG5cdFx0XHRcdFx0fSwgMzAwKVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdG9uVGFwKCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMubWFza0NsaWNrKVxyXG5cdFx0XHRcdGlmICghdGhpcy5tYXNrQ2xpY2spIHJldHVyblxyXG5cdFx0XHRcdHRoaXMuY2xvc2UoKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICog6aG26YOo5by55Ye65qC35byP5aSE55CGXHJcblx0XHRcdCAqL1xyXG5cdFx0XHR0b3AoKSB7XHJcblx0XHRcdFx0dGhpcy5wb3B1cHN0eWxlID0gJ3RvcCdcclxuXHRcdFx0XHR0aGlzLmFuaSA9IFsnc2xpZGUtdG9wJ11cclxuXHRcdFx0XHR0aGlzLnRyYW5zQ2xhc3MgPSB7XHJcblx0XHRcdFx0XHQncG9zaXRpb24nOiAnZml4ZWQnLFxyXG5cdFx0XHRcdFx0J2xlZnQnOiAwLFxyXG5cdFx0XHRcdFx0J3JpZ2h0JzogMCxcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiDlupXpg6jlvLnlh7rmoLflvI/lpITnkIZcclxuXHRcdFx0ICovXHJcblx0XHRcdGJvdHRvbSgpIHtcclxuXHRcdFx0XHR0aGlzLnBvcHVwc3R5bGUgPSAnYm90dG9tJ1xyXG5cdFx0XHRcdHRoaXMuYW5pID0gWydzbGlkZS1ib3R0b20nXVxyXG5cdFx0XHRcdHRoaXMudHJhbnNDbGFzcyA9IHtcclxuXHRcdFx0XHRcdCdwb3NpdGlvbic6ICdmaXhlZCcsXHJcblx0XHRcdFx0XHQnbGVmdCc6IDAsXHJcblx0XHRcdFx0XHQncmlnaHQnOiAwLFxyXG5cdFx0XHRcdFx0J2JvdHRvbSc6IDBcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiDkuK3pl7TlvLnlh7rmoLflvI/lpITnkIZcclxuXHRcdFx0ICovXHJcblx0XHRcdGNlbnRlcigpIHtcclxuXHRcdFx0XHR0aGlzLnBvcHVwc3R5bGUgPSAnY2VudGVyJ1xyXG5cdFx0XHRcdHRoaXMuYW5pID0gWyd6b29tLW91dCcsICdmYWRlJ11cclxuXHRcdFx0XHR0aGlzLnRyYW5zQ2xhc3MgPSB7XHJcblx0XHRcdFx0XHQncG9zaXRpb24nOiAnZml4ZWQnLFxyXG5cdFx0XHRcdFx0LyogI2lmbmRlZiBBUFAtTlZVRSAqL1xyXG5cdFx0XHRcdFx0J2Rpc3BsYXknOiAnZmxleCcsXHJcblx0XHRcdFx0XHQnZmxleERpcmVjdGlvbic6ICdjb2x1bW4nLFxyXG5cdFx0XHRcdFx0LyogI2VuZGlmICovXHJcblx0XHRcdFx0XHQnYm90dG9tJzogMCxcclxuXHRcdFx0XHRcdCdsZWZ0JzogMCxcclxuXHRcdFx0XHRcdCdyaWdodCc6IDAsXHJcblx0XHRcdFx0XHQndG9wJzogMCxcclxuXHRcdFx0XHRcdCdqdXN0aWZ5Q29udGVudCc6ICdjZW50ZXInLFxyXG5cdFx0XHRcdFx0J2FsaWduSXRlbXMnOiAnY2VudGVyJ1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcbjxzdHlsZT5cclxuXHQudW5pLXBvcHVwIHtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdC8qICNpZm5kZWYgQVBQLU5WVUUgKi9cclxuXHRcdHotaW5kZXg6IDk5O1xyXG5cdFx0LyogI2VuZGlmICovXHJcblx0fVxyXG5cclxuXHQudW5pLXBvcHVwX19tYXNrIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0fVxyXG5cclxuXHQubWFzay1hbmkge1xyXG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XHJcblx0fVxyXG5cclxuXHQudW5pLXRvcC1tYXNrIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cclxuXHQudW5pLWJvdHRvbS1tYXNrIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cclxuXHQudW5pLWNlbnRlci1tYXNrIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cclxuXHQudW5pLXBvcHVwX193cmFwcGVyIHtcclxuXHRcdC8qICNpZm5kZWYgQVBQLU5WVUUgKi9cclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0LyogI2VuZGlmICovXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0fVxyXG5cclxuXHQudG9wIHtcclxuXHRcdC8qICNpZmRlZiBINSAqL1xyXG5cdFx0dG9wOiB2YXIoLS13aW5kb3ctdG9wKTtcclxuXHRcdC8qICNlbmRpZiAqL1xyXG5cdFx0LyogI2lmbmRlZiBINSAqL1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0LyogI2VuZGlmICovXHJcblx0fVxyXG5cclxuXHQuYm90dG9tIHtcclxuXHRcdGJvdHRvbTogMDtcclxuXHR9XHJcblxyXG5cdC51bmktcG9wdXBfX3dyYXBwZXItYm94IHtcclxuXHRcdC8qICNpZm5kZWYgQVBQLU5WVUUgKi9cclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0LyogI2VuZGlmICovXHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHQvKiBpcGhvbmV4IOetieWuieWFqOWMuuiuvue9ru+8jOW6lemDqOWuieWFqOWMuumAgumFjSAqL1xyXG5cdFx0LyogI2lmbmRlZiBBUFAtTlZVRSAqL1xyXG5cdFx0cGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcclxuXHRcdC8qICNlbmRpZiAqL1xyXG5cdH1cclxuXHJcblx0LmNvbnRlbnQtYW5pIHtcclxuXHRcdC8vIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xyXG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xyXG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcclxuXHR9XHJcblxyXG5cclxuXHQudW5pLXRvcC1jb250ZW50IHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcblxyXG5cdC51bmktYm90dG9tLWNvbnRlbnQge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG5cdH1cclxuXHJcblx0LnVuaS1jZW50ZXItY29udGVudCB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///92\n");
/***/ }),
/* 93 */
/*!******************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-popup/popup.js ***!
\******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _message = _interopRequireDefault(__webpack_require__(/*! ./message.js */ 94));\n// 定义 type 类型:弹出类型:top/bottom/center\nvar config = {\n // 顶部弹出\n top: 'top',\n // 底部弹出\n bottom: 'bottom',\n // 居中弹出\n center: 'center',\n // 消息提示\n message: 'top',\n // 对话框\n dialog: 'center',\n // 分享\n share: 'bottom',\n //列表\n list: 'bottom',\n confirm: 'center',\n //列表\n address: 'bottom',\n //列表\n qiang: 'center',\n //列表\n form: 'center',\n //图片列表\n img: 'center',\n alert: 'center'\n};\nvar _default = {\n data: function data() {\n return {\n config: config\n };\n },\n mixins: [_message.default]\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy91bmktcG9wdXAvcG9wdXAuanMiXSwibmFtZXMiOlsiY29uZmlnIiwidG9wIiwiYm90dG9tIiwiY2VudGVyIiwibWVzc2FnZSIsImRpYWxvZyIsInNoYXJlIiwibGlzdCIsImNvbmZpcm0iLCJhZGRyZXNzIiwicWlhbmciLCJmb3JtIiwiaW1nIiwiYWxlcnQiLCJkYXRhIiwibWl4aW5zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDQTtBQUNBLElBQU1BLE1BQU0sR0FBRztFQUNkO0VBQ0FDLEdBQUcsRUFBQyxLQUFLO0VBQ1Q7RUFDQUMsTUFBTSxFQUFDLFFBQVE7RUFDZjtFQUNBQyxNQUFNLEVBQUMsUUFBUTtFQUNmO0VBQ0FDLE9BQU8sRUFBQyxLQUFLO0VBQ2I7RUFDQUMsTUFBTSxFQUFDLFFBQVE7RUFDZjtFQUNBQyxLQUFLLEVBQUMsUUFBUTtFQUNkO0VBQ0FDLElBQUksRUFBQyxRQUFRO0VBQ2JDLE9BQU8sRUFBQyxRQUFRO0VBQ2hCO0VBQ0FDLE9BQU8sRUFBQyxRQUFRO0VBQ2hCO0VBQ0FDLEtBQUssRUFBQyxRQUFRO0VBQ2Q7RUFDQUMsSUFBSSxFQUFDLFFBQVE7RUFDYjtFQUNBQyxHQUFHLEVBQUMsUUFBUTtFQUNaQyxLQUFLLEVBQUM7QUFDUCxDQUFDO0FBQUEsZUFFYztFQUNkQyxJQUFJLGtCQUFFO0lBQ0wsT0FBTztNQUNOZCxNQUFNLEVBQUNBO0lBQ1IsQ0FBQztFQUNGLENBQUM7RUFDRGUsTUFBTSxFQUFFLENBQUNYLGdCQUFPO0FBQ2pCLENBQUM7QUFBQSIsImZpbGUiOiI5My5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtZXNzYWdlIGZyb20gJy4vbWVzc2FnZS5qcyc7XHJcbi8vIOWumuS5iSB0eXBlIOexu+WeizrlvLnlh7rnsbvlnovvvJp0b3AvYm90dG9tL2NlbnRlclxyXG5jb25zdCBjb25maWcgPSB7XHJcblx0Ly8g6aG26YOo5by55Ye6XHJcblx0dG9wOid0b3AnLFxyXG5cdC8vIOW6lemDqOW8ueWHulxyXG5cdGJvdHRvbTonYm90dG9tJyxcclxuXHQvLyDlsYXkuK3lvLnlh7pcclxuXHRjZW50ZXI6J2NlbnRlcicsXHJcblx0Ly8g5raI5oGv5o+Q56S6XHJcblx0bWVzc2FnZTondG9wJyxcclxuXHQvLyDlr7nor53moYZcclxuXHRkaWFsb2c6J2NlbnRlcicsXHJcblx0Ly8g5YiG5LqrXHJcblx0c2hhcmU6J2JvdHRvbScsXHJcblx0Ly/liJfooahcclxuXHRsaXN0Oidib3R0b20nLFxyXG5cdGNvbmZpcm06J2NlbnRlcicsXHJcblx0Ly/liJfooahcclxuXHRhZGRyZXNzOidib3R0b20nLFxyXG5cdC8v5YiX6KGoXHJcblx0cWlhbmc6J2NlbnRlcicsXHJcblx0Ly/liJfooahcclxuXHRmb3JtOidjZW50ZXInLFxyXG5cdC8v5Zu+54mH5YiX6KGoXHJcblx0aW1nOidjZW50ZXInLFxyXG5cdGFsZXJ0OidjZW50ZXInLFxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcblx0ZGF0YSgpe1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y29uZmlnOmNvbmZpZ1xyXG5cdFx0fVxyXG5cdH0sXHJcblx0bWl4aW5zOiBbbWVzc2FnZV0sXHJcbn1cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///93\n");
/***/ }),
/* 94 */
/*!********************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-popup/message.js ***!
\********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = {\n created: function created() {\n if (this.type === 'message') {\n // 不显示遮罩\n this.maskShow = false;\n // 获取子组件对象\n this.childrenMsg = null;\n }\n },\n methods: {\n customOpen: function customOpen() {\n if (this.childrenMsg) {\n this.childrenMsg.open();\n }\n },\n customClose: function customClose() {\n if (this.childrenMsg) {\n this.childrenMsg.close();\n }\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy91bmktcG9wdXAvbWVzc2FnZS5qcyJdLCJuYW1lcyI6WyJjcmVhdGVkIiwidHlwZSIsIm1hc2tTaG93IiwiY2hpbGRyZW5Nc2ciLCJtZXRob2RzIiwiY3VzdG9tT3BlbiIsIm9wZW4iLCJjdXN0b21DbG9zZSIsImNsb3NlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7ZUFBZTtFQUNkQSxPQUFPLHFCQUFHO0lBQ1QsSUFBSSxJQUFJLENBQUNDLElBQUksS0FBSyxTQUFTLEVBQUU7TUFDNUI7TUFDQSxJQUFJLENBQUNDLFFBQVEsR0FBRyxLQUFLO01BQ3JCO01BQ0EsSUFBSSxDQUFDQyxXQUFXLEdBQUcsSUFBSTtJQUN4QjtFQUNELENBQUM7RUFDREMsT0FBTyxFQUFFO0lBQ1JDLFVBQVUsd0JBQUc7TUFDWixJQUFJLElBQUksQ0FBQ0YsV0FBVyxFQUFFO1FBQ3JCLElBQUksQ0FBQ0EsV0FBVyxDQUFDRyxJQUFJLEVBQUU7TUFDeEI7SUFDRCxDQUFDO0lBQ0RDLFdBQVcseUJBQUc7TUFDYixJQUFJLElBQUksQ0FBQ0osV0FBVyxFQUFFO1FBQ3JCLElBQUksQ0FBQ0EsV0FBVyxDQUFDSyxLQUFLLEVBQUU7TUFDekI7SUFDRDtFQUNEO0FBQ0QsQ0FBQztBQUFBIiwiZmlsZSI6Ijk0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xyXG5cdGNyZWF0ZWQoKSB7XHJcblx0XHRpZiAodGhpcy50eXBlID09PSAnbWVzc2FnZScpIHtcclxuXHRcdFx0Ly8g5LiN5pi+56S66YGu572pXHJcblx0XHRcdHRoaXMubWFza1Nob3cgPSBmYWxzZSBcclxuXHRcdFx0Ly8g6I635Y+W5a2Q57uE5Lu25a+56LGhXHJcblx0XHRcdHRoaXMuY2hpbGRyZW5Nc2cgPSBudWxsXHJcblx0XHR9XHJcblx0fSxcclxuXHRtZXRob2RzOiB7XHJcblx0XHRjdXN0b21PcGVuKCkge1xyXG5cdFx0XHRpZiAodGhpcy5jaGlsZHJlbk1zZykge1xyXG5cdFx0XHRcdHRoaXMuY2hpbGRyZW5Nc2cub3BlbigpXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRjdXN0b21DbG9zZSgpIHtcclxuXHRcdFx0aWYgKHRoaXMuY2hpbGRyZW5Nc2cpIHtcclxuXHRcdFx0XHR0aGlzLmNoaWxkcmVuTXNnLmNsb3NlKClcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///94\n");
/***/ }),
/* 95 */
/*!*********************************************************************!*\
!*** E:/2023/8/MT_APP/components/nk-select-file/nk-select-file.vue ***!
\*********************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nk_select_file_vue_vue_type_template_id_7bc259a4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./nk-select-file.vue?vue&type=template&id=7bc259a4& */ 96);\n/* harmony import */ var _nk_select_file_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./nk-select-file.vue?vue&type=script&lang=js& */ 98);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _nk_select_file_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _nk_select_file_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _nk_select_file_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _nk_select_file_vue_vue_type_template_id_7bc259a4___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _nk_select_file_vue_vue_type_template_id_7bc259a4___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _nk_select_file_vue_vue_type_template_id_7bc259a4___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"components/nk-select-file/nk-select-file.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMkg7QUFDM0g7QUFDa0U7QUFDTDs7O0FBRzdEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLG9GQUFNO0FBQ1IsRUFBRSx5RkFBTTtBQUNSLEVBQUUsa0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsNkZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiOTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL25rLXNlbGVjdC1maWxlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03YmMyNTlhNCZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL25rLXNlbGVjdC1maWxlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vbmstc2VsZWN0LWZpbGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcImNvbXBvbmVudHMvbmstc2VsZWN0LWZpbGUvbmstc2VsZWN0LWZpbGUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///95\n");
/***/ }),
/* 96 */
/*!****************************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/nk-select-file/nk-select-file.vue?vue&type=template&id=7bc259a4& ***!
\****************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_nk_select_file_vue_vue_type_template_id_7bc259a4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./nk-select-file.vue?vue&type=template&id=7bc259a4& */ 97);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_nk_select_file_vue_vue_type_template_id_7bc259a4___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_nk_select_file_vue_vue_type_template_id_7bc259a4___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_nk_select_file_vue_vue_type_template_id_7bc259a4___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_nk_select_file_vue_vue_type_template_id_7bc259a4___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 97 */
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/nk-select-file/nk-select-file.vue?vue&type=template&id=7bc259a4& ***!
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _vm._$s(0, "i", _vm.isOpen)
? _c(
"view",
{
staticClass: _vm._$s(0, "sc", "file-outerBox"),
attrs: { _i: 0 },
on: {
touchmove: function ($event) {
$event.preventDefault()
},
},
},
[
_c("view"),
_c(
"view",
{
staticClass: _vm._$s(2, "sc", "file-titel"),
style: _vm._$s(2, "s", { backgroundColor: _vm.navBgColor }),
attrs: { _i: 2 },
},
[
_c(
"view",
{
staticClass: _vm._$s(3, "sc", "file-nav-leftBox"),
attrs: { _i: 3 },
on: { click: _vm.backAddress },
},
[
_c("image", {
staticClass: _vm._$s(4, "sc", "file-back-img"),
attrs: { src: _vm._$s(4, "a-src", _vm.backImg), _i: 4 },
}),
]
),
_c(
"text",
{ style: _vm._$s(5, "s", _vm.titelStyle), attrs: { _i: 5 } },
[_vm._v(_vm._$s(5, "t0-0", _vm._s(_vm.titel)))]
),
_c("view", {
staticClass: _vm._$s(6, "sc", "file-nav-rightBox"),
attrs: { _i: 6 },
}),
]
),
_c(
"view",
{ staticClass: _vm._$s(7, "sc", "file-address"), attrs: { _i: 7 } },
[
_c(
"view",
{
staticClass: _vm._$s(8, "sc", "root-box"),
attrs: { _i: 8 },
on: { click: _vm.backRoot },
},
[
_c("image", {
staticClass: _vm._$s(9, "sc", "to-img-box"),
attrs: {
src: _vm._$s(9, "a-src", _vm.directionImg),
_i: 9,
},
}),
]
),
_c(
"scroll-view",
{
staticClass: _vm._$s(10, "sc", "address-scroll"),
attrs: { _i: 10 },
},
_vm._l(
_vm._$s(11, "f", { forItems: _vm.addressBar }),
function (item, index, $20, $30) {
return _c(
"view",
{
key: _vm._$s(11, "f", {
forIndex: $20,
key: 11 + "-" + $30,
}),
staticClass: _vm._$s("11-" + $30, "sc", "address-box"),
attrs: { _i: "11-" + $30 },
on: {
click: function ($event) {
return _vm.backFolder(item, index)
},
},
},
[
_vm._v(_vm._$s("11-" + $30, "t0-0", _vm._s(item.name))),
_c("image", {
staticClass: _vm._$s("12-" + $30, "sc", "to-img-box"),
attrs: {
src: _vm._$s(
"12-" + $30,
"a-src",
_vm.directionImg
),
_i: "12-" + $30,
},
}),
]
)
}
),
0
),
]
),
_c("view", [
_c(
"scroll-view",
{
style: _vm._$s(14, "s", {
height: "calc(100vh - " + (_vm.barHeight * 2 + 280) + "rpx)",
}),
attrs: { _i: 14 },
},
[
_vm._$s(15, "i", _vm.inaccessible)
? _c(
"view",
{
staticClass: _vm._$s(15, "sc", "select-tips"),
attrs: { _i: 15 },
},
[_c("view"), _c("view")]
)
: _vm._e(),
_vm._l(
_vm._$s(18, "f", { forItems: _vm.folderArr }),
function (item, $11, $21, $31) {
return _c(
"view",
{
key: _vm._$s(18, "f", {
forIndex: $21,
key: 18 + "-" + $31,
}),
staticClass: _vm._$s("18-" + $31, "sc", "folder-box"),
attrs: { _i: "18-" + $31 },
on: {
click: function ($event) {
return _vm.toFolder(item)
},
},
},
[
_c(
"view",
{
staticClass: _vm._$s(
"19-" + $31,
"sc",
"folder-name-box"
),
attrs: { _i: "19-" + $31 },
},
[
_c("image", {
staticClass: _vm._$s(
"20-" + $31,
"sc",
"folder-img"
),
attrs: {
src: _vm._$s(
"20-" + $31,
"a-src",
_vm.folderImg
),
_i: "20-" + $31,
},
}),
_c(
"view",
{
staticClass: _vm._$s(
"21-" + $31,
"sc",
"name-box"
),
attrs: { _i: "21-" + $31 },
},
[
_vm._v(
_vm._$s(
"21-" + $31,
"t0-0",
_vm._s(item.name)
)
),
]
),
]
),
_c("view", [
_c("image", {
staticClass: _vm._$s(
"23-" + $31,
"sc",
"toFolder-img"
),
attrs: {
src: _vm._$s("23-" + $31, "a-src", _vm.enterImg),
_i: "23-" + $31,
},
}),
]),
]
)
}
),
_vm._l(
_vm._$s(24, "f", { forItems: _vm.fileArr }),
function (item, index, $22, $32) {
return _c(
"view",
{
key: _vm._$s(24, "f", {
forIndex: $22,
key: 24 + "-" + $32,
}),
staticClass: _vm._$s("24-" + $32, "sc", "file-box"),
attrs: { _i: "24-" + $32 },
on: {
click: function ($event) {
return _vm.selectFile(index)
},
},
},
[
_c(
"view",
{
staticClass: _vm._$s(
"25-" + $32,
"sc",
"file-name-box"
),
attrs: { _i: "25-" + $32 },
},
[
_vm._$s("26-" + $32, "i", item.type == "file")
? _c("image", {
staticClass: _vm._$s(
"26-" + $32,
"sc",
"file-img"
),
attrs: {
src: _vm._$s(
"26-" + $32,
"a-src",
_vm.fileImg
),
_i: "26-" + $32,
},
})
: _vm._e(),
_vm._$s("27-" + $32, "i", item.type == "txt")
? _c("image", {
staticClass: _vm._$s(
"27-" + $32,
"sc",
"file-img"
),
attrs: {
src: _vm._$s(
"27-" + $32,
"a-src",
_vm.txtImg
),
_i: "27-" + $32,
},
})
: _vm._e(),
_vm._$s("28-" + $32, "i", item.type == "doc")
? _c("image", {
staticClass: _vm._$s(
"28-" + $32,
"sc",
"file-img"
),
attrs: {
src: _vm._$s(
"28-" + $32,
"a-src",
_vm.docImg
),
_i: "28-" + $32,
},
})
: _vm._e(),
_vm._$s("29-" + $32, "i", item.type == "pdf")
? _c("image", {
staticClass: _vm._$s(
"29-" + $32,
"sc",
"file-img"
),
attrs: {
src: _vm._$s(
"29-" + $32,
"a-src",
_vm.pdfImg
),
_i: "29-" + $32,
},
})
: _vm._e(),
_c(
"view",
{
staticClass: _vm._$s(
"30-" + $32,
"sc",
"name-box"
),
attrs: { _i: "30-" + $32 },
},
[
_vm._v(
_vm._$s(
"30-" + $32,
"t0-0",
_vm._s(item.name)
)
),
]
),
]
),
_c("view", [
_vm._$s("32-" + $32, "i", item.select)
? _c("image", {
staticClass: _vm._$s(
"32-" + $32,
"sc",
"select-img"
),
attrs: {
src: _vm._$s(
"32-" + $32,
"a-src",
_vm.selectedImg
),
_i: "32-" + $32,
},
})
: _c("image", {
staticClass: _vm._$s(
"33-" + $32,
"sc",
"select-img"
),
attrs: {
src: _vm._$s(
"33-" + $32,
"a-src",
_vm.unselectedImg
),
_i: "33-" + $32,
},
}),
]),
]
)
}
),
],
2
),
]),
_c("view", [
_c(
"button",
{
staticClass: _vm._$s(35, "sc", "select-foot-btn"),
style: _vm._$s(35, "s", _vm.btnStyle),
attrs: { _i: 35 },
on: { click: _vm.uploadBtn },
},
[_vm._v(_vm._$s(35, "t0-0", _vm._s(_vm.btnText)))]
),
]),
]
)
: _vm._e()
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 98 */
/*!**********************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/nk-select-file/nk-select-file.vue?vue&type=script&lang=js& ***!
\**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_nk_select_file_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./nk-select-file.vue?vue&type=script&lang=js& */ 99);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_nk_select_file_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_nk_select_file_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_nk_select_file_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_nk_select_file_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_nk_select_file_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXlpQixDQUFnQiw0a0JBQUcsRUFBQyIsImZpbGUiOiI5OC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL25rLXNlbGVjdC1maWxlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS03LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vbmstc2VsZWN0LWZpbGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///98\n");
/***/ }),
/* 99 */
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/nk-select-file/nk-select-file.vue?vue&type=script&lang=js& ***!
\***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/*\r\n*\t\r\n* {property} 使用 v-model 绑定一个变量来控制组件的开启与关闭\r\n* {property} navBgColor [String] 顶部标题栏背景色\r\n* {property} folderImg [String] 文件夹的图片\r\n* {property} backImg [String] 返回上一级图片\r\n* {property} directionImg [String] 右指向箭头 \r\n* {property} enterImg [String] 进入文件夹箭头\r\n* {property} fileImg [String] 未知文件通用图标,当前仅可识别 pdf、doc/docx、txt\r\n* {property} txtImg [String] txt文件图标\r\n* {property} docImg [String] doc/docx文件图标\r\n* {property} pdfImg [String] pdf文件图标 \r\n* {property} selectedImg [String] 选中状态下的按钮图标\r\n* {property} unselectedImg [String] 未选中状态下的按钮图标\r\n* {property} titel [String] 标题文字,默认 '选择文件'\r\n* {property} titelSize [String,Number] 标题文字大小,默认 36rpx\r\n* {property} titelWeight [String,Number] 标题文字粗细,默认 600\r\n* {property} titelColor [String] 标题文字颜色,默认 #373737\r\n* {property} btnText [String] 底部按钮文字, 默认 '上传'\r\n* {property} btnSize [String,Number] 底部按钮文字大小, 默认 36rpx\r\n* {property} btnHeight [String,Number] 底部按钮高度, 默认 92rpx\r\n* {property} btnBgColor [String] 底部按钮颜色, 默认 #6521e2\r\n* {property} btnTextColor [String] 底部按钮文字颜色, 默认 #fff\r\n* {property} filterArr [Array] 筛选文件类型,示例:['doc','PDF'],不区分大小写\r\n*\r\n* {event} confirm [Function] 点击上传按钮触发的回调事件,会返回选中文件的地址 event = [{name: name, url: path, sizeMB: sizeMb}]\r\n*\t\tname: 文件名 url: 文件地址 sizeMB: 文件大小,单位MB\r\n*/\nvar _default2 = {\n name: \"nk-select-file\",\n props: {\n value: {\n type: Boolean,\n default: false\n },\n backImg: {\n type: String,\n default: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-5c697db4-d920-4af3-90a0-19211379b881/c08ef3dc-2514-443d-91aa-a055a098077f.png'\n },\n directionImg: {\n type: String,\n default: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-5c697db4-d920-4af3-90a0-19211379b881/183fcda4-b046-4723-8356-dded284bdefc.png'\n },\n enterImg: {\n type: String,\n default: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-5c697db4-d920-4af3-90a0-19211379b881/138ad94e-84e5-460e-a4eb-9e29d2139049.png'\n },\n folderImg: {\n type: String,\n default: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-5c697db4-d920-4af3-90a0-19211379b881/7f70ee21-bd9c-4630-9a0a-113d78a99335.png'\n },\n fileImg: {\n type: String,\n default: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-5c697db4-d920-4af3-90a0-19211379b881/24fe2fda-a956-402e-af65-e11f8779c6d1.png'\n },\n txtImg: {\n type: String,\n default: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-5c697db4-d920-4af3-90a0-19211379b881/10450e01-189b-48c7-9b97-918104fdd701.png'\n },\n docImg: {\n type: String,\n default: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-5c697db4-d920-4af3-90a0-19211379b881/501660e5-8386-473f-bfcb-34c0b2b4a2f8.png'\n },\n pdfImg: {\n type: String,\n default: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-5c697db4-d920-4af3-90a0-19211379b881/b1056050-6d27-454e-b2b7-51e3832cfe5e.png'\n },\n selectedImg: {\n type: String,\n default: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-5c697db4-d920-4af3-90a0-19211379b881/ebaaad9d-4697-42d1-beea-f4c736132b9a.png'\n },\n unselectedImg: {\n type: String,\n default: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-5c697db4-d920-4af3-90a0-19211379b881/ea5fe3fa-799b-40c9-be01-00d0b7419c4a.png'\n },\n titel: {\n type: String,\n default: '选择文件'\n },\n titelSize: {\n type: [String, Number],\n default: 36\n },\n titelWeight: {\n type: [String, Number],\n default: 600\n },\n titelColor: {\n type: String,\n default: '#373737'\n },\n btnText: {\n type: String,\n default: '上传'\n },\n btnSize: {\n type: [String, Number],\n default: 36\n },\n btnHeight: {\n type: [String, Number],\n default: 92\n },\n btnBgColor: {\n type: String,\n default: '#6521e2'\n },\n btnTextColor: {\n type: String,\n default: '#fff'\n },\n navBgColor: {\n type: String,\n default: '#fff'\n },\n filterArr: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n barHeight: '',\n // 状态栏高度\n rootAddress: {},\n // 根目录\n addressBar: [],\n // 地址栏记录栈\n folderArr: [],\n // 文件夹\n fileArr: [],\n // 文件\n selectArr: [],\n // 选中文件集合\n isExit: true,\n // 退出\n isOpen: false,\n inaccessible: false,\n // 无法访问提示\n titelStyle: {\n fontSize: this.titelSize + 'rpx',\n fontWeight: this.titelWeight,\n color: this.titelColor\n },\n btnStyle: {\n height: this.btnHeight + 'rpx',\n backgroundColor: this.btnBgColor,\n color: this.btnTextColor,\n fontSize: this.btnSize + 'rpx'\n },\n filterReg: ''\n };\n },\n watch: {\n value: function value(val) {\n if (val) {\n this.open();\n } else {\n this.close();\n }\n }\n },\n mounted: function mounted() {\n if (Object.prototype.toString.call(this.filterArr) === '[object Array]' && this.filterArr.length > 0) {\n var str = this.filterArr.join(\"|\");\n this.filterReg = new RegExp(str, 'i');\n }\n },\n methods: {\n // 打开组件\n open: function open() {\n this.isOpen = true;\n this.getBarHeight();\n this.getRootDirectory();\n },\n // 关闭组件\n close: function close() {\n var _this = this;\n this.isOpen = false;\n this.rootAddress = {}; // 根目录\n this.addressBar = []; // 地址栏记录栈\n this.folderArr = [];\n this.fileArr = [];\n this.selectArr = []; // 选中文件集合\n this.$emit('input', false);\n // 放到下一个生命周期,因为双向绑定的value修改父组件状态需要时间,且是异步的\n this.$nextTick(function () {\n _this.$emit('change', false);\n });\n },\n // 获取状态栏高度\n getBarHeight: function getBarHeight() {\n var self = this;\n uni.getSystemInfo({\n success: function success(res) {\n self.barHeight = res.statusBarHeight;\n }\n });\n },\n // 获取根目录\n getRootDirectory: function getRootDirectory() {\n this.inaccessible = false;\n // 修改退出状态,以便在点击返回按钮时最后一层返回的是根目录,再点击一次才会退出\n this.isExit = false;\n this.addressBar = [];\n var environment = plus.android.importClass(\"android.os.Environment\");\n environment.getExternalStorageState() === environment.MEDIA_MOUNTED;\n var sdRoot = environment.getExternalStorageDirectory();\n var rootName = plus.android.invoke(sdRoot, \"getName\");\n this.rootAddress = {\n name: rootName,\n file: sdRoot\n };\n var files = plus.android.invoke(sdRoot, \"listFiles\");\n if (!(Object.prototype.toString.call(files) === '[object Array]')) {\n uni.showToast({\n icon: 'none',\n title: '请确认授权访问',\n duration: 2000\n });\n return;\n }\n var len = files.length;\n for (var i = 0; i < len; i++) {\n // 过滤隐藏文件\n if (!plus.android.invoke(files[i], \"isHidden\")) {\n // 判断是文件还是文件夹\n if (plus.android.invoke(files[i], \"isDirectory\")) {\n var folderName = plus.android.invoke(files[i], \"getName\");\n this.folderArr.push({\n name: folderName,\n file: files[i]\n });\n } else {\n var fileName = plus.android.invoke(files[i], \"getName\");\n if (this.filterArr.length > 0) {\n if (fileName.search(this.filterReg) < 0) {\n continue;\n }\n }\n if (fileName.search(/txt/i) > -1) {\n // txt 文件\n this.fileArr.push({\n name: fileName,\n file: files[i],\n type: 'txt',\n select: false\n });\n } else if (fileName.search(/doc|docx/i) > -1) {\n // doc/docx 文件\n this.fileArr.push({\n name: fileName,\n file: files[i],\n type: 'doc',\n select: false\n });\n } else if (fileName.search(/pdf/i) > -1) {\n // pdf 文件\n this.fileArr.push({\n name: fileName,\n file: files[i],\n type: 'pdf',\n select: false\n });\n } else {\n // 其他文件\n this.fileArr.push({\n name: fileName,\n file: files[i],\n type: 'file',\n select: false\n });\n }\n }\n }\n }\n // 排序,不区分大小写\n this.folderArr.sort(function (a, b) {\n return a.name.toUpperCase() > b.name.toUpperCase() ? '1' : '-1';\n });\n this.fileArr.sort(function (a, b) {\n return a.name.toUpperCase() > b.name.toUpperCase() ? '1' : '-1';\n });\n this.rootAddress.folderArr = this.folderArr;\n this.rootAddress.fileArr = this.fileArr;\n },\n // 进入文件夹\n toFolder: function toFolder(event) {\n this.isExit = false; // 地址栈中存在新地址,重置退出状态\n this.folderArr = [];\n this.fileArr = [];\n this.addressBar.push(event);\n var files = plus.android.invoke(event.file, \"listFiles\");\n if (files == null) {\n this.inaccessible = true;\n }\n var len = files.length;\n for (var i = 0; i < len; i++) {\n // 过滤隐藏文件\n if (!plus.android.invoke(files[i], \"isHidden\")) {\n // 判断是文件还是文件夹\n if (plus.android.invoke(files[i], \"isDirectory\")) {\n var folderName = plus.android.invoke(files[i], \"getName\");\n this.folderArr.push({\n name: folderName,\n file: files[i]\n });\n } else {\n var fileName = plus.android.invoke(files[i], \"getName\");\n if (this.filterArr.length > 0) {\n if (fileName.search(this.filterReg) < 0) {\n continue;\n }\n }\n if (fileName.search(/txt/i) > -1) {\n // txt 文件\n this.fileArr.push({\n name: fileName,\n file: files[i],\n type: 'txt',\n select: false\n });\n } else if (fileName.search(/doc|docx/i) > -1) {\n // doc/docx 文件\n this.fileArr.push({\n name: fileName,\n file: files[i],\n type: 'doc',\n select: false\n });\n } else if (fileName.search(/pdf/i) > -1) {\n // pdf 文件\n this.fileArr.push({\n name: fileName,\n file: files[i],\n type: 'pdf',\n select: false\n });\n } else {\n // 其他文件\n this.fileArr.push({\n name: fileName,\n file: files[i],\n type: 'file',\n select: false\n });\n }\n }\n }\n }\n // 排序,不区分大小写\n this.folderArr.sort(function (a, b) {\n return a.name.toUpperCase() > b.name.toUpperCase() ? '1' : '-1';\n });\n this.fileArr.sort(function (a, b) {\n return a.name.toUpperCase() > b.name.toUpperCase() ? '1' : '-1';\n });\n },\n // 返回根目录\n backRoot: function backRoot() {\n this.inaccessible = false;\n this.addressBar = [];\n this.folderArr = this.rootAddress.folderArr;\n this.fileArr = this.rootAddress.fileArr;\n },\n // 返回上级文件夹\n backFolder: function backFolder(event, index) {\n this.inaccessible = false;\n var len = this.addressBar.length;\n if (index + 1 == len) {\n // 点击当前文件夹--无事发生\n return;\n } else {\n this.folderArr = [];\n this.fileArr = [];\n this.addressBar.splice(index + 1, len - index + 1);\n var files = plus.android.invoke(event.file, \"listFiles\");\n var len = files.length;\n for (var i = 0; i < len; i++) {\n // 过滤隐藏文件\n if (!plus.android.invoke(files[i], \"isHidden\")) {\n // 判断是文件还是文件夹\n if (plus.android.invoke(files[i], \"isDirectory\")) {\n var folderName = plus.android.invoke(files[i], \"getName\");\n this.folderArr.push({\n name: folderName,\n file: files[i]\n });\n } else {\n var fileName = plus.android.invoke(files[i], \"getName\");\n if (this.filterArr.length > 0) {\n if (fileName.search(this.filterReg) < 0) {\n continue;\n }\n }\n if (fileName.search(/txt/i) > -1) {\n // txt 文件\n this.fileArr.push({\n name: fileName,\n file: files[i],\n type: 'txt',\n select: false\n });\n } else if (fileName.search(/doc|docx/i) > -1) {\n // doc/docx 文件\n this.fileArr.push({\n name: fileName,\n file: files[i],\n type: 'doc',\n select: false\n });\n } else if (fileName.search(/pdf/i) > -1) {\n // pdf 文件\n this.fileArr.push({\n name: fileName,\n file: files[i],\n type: 'pdf',\n select: false\n });\n } else {\n // 其他文件\n this.fileArr.push({\n name: fileName,\n file: files[i],\n type: 'file',\n select: false\n });\n }\n }\n }\n }\n // 排序,不区分大小写\n this.folderArr.sort(function (a, b) {\n return a.name.toUpperCase() > b.name.toUpperCase() ? '1' : '-1';\n });\n this.fileArr.sort(function (a, b) {\n return a.name.toUpperCase() > b.name.toUpperCase() ? '1' : '-1';\n });\n }\n },\n // 选中文件\n selectFile: function selectFile(index) {\n if (this.fileArr[index].select) {\n // 取消选中\n this.$set(this.fileArr[index], 'select', false);\n var name = this.fileArr[index].name;\n for (var i = 0; i < this.selectArr.length; i++) {\n if (name == this.selectArr[i].name) {\n this.selectArr.splice(i, 1);\n break;\n }\n }\n } else {\n // 选中\n this.$set(this.fileArr[index], 'select', true);\n\n // 读文件大小 \n var FileInputStream = plus.android.importClass(\"java.io.FileInputStream\");\n var fileSize = new FileInputStream(this.fileArr[index].file);\n var size = fileSize.available();\n var sizeMb = size / 1048576;\n sizeMb = sizeMb.toFixed(4);\n\n // 获取文件的相对路径\n var Path = plus.android.invoke(this.fileArr[index].file, \"getPath\");\n this.selectArr.push({\n name: this.fileArr[index].name,\n url: Path,\n sizeMB: sizeMb\n });\n }\n },\n // 点击上传按钮\n uploadBtn: function uploadBtn() {\n this.$emit(\"confirm\", this.selectArr);\n this.close();\n },\n // 点击返回\n backAddress: function backAddress() {\n // 先判断地址栈中是否还有地址\n var len = this.addressBar.length;\n if (len > 1) {\n // 返回上级文件夹\n var index = len - 2;\n var event = this.addressBar[index];\n this.backFolder(event, index);\n } else {\n // 退出文件选择\n if (this.isExit) {\n // 退出文件选择\n this.close();\n // this.$u.toast('在点击一次退出文件选择')\n } else {\n // 返回根目录\n this.isExit = true; // 下一次再点击则退出\n this.backRoot();\n uni.showToast({\n title: '再操作一次退出文件选择',\n icon: 'none',\n duration: 1000\n });\n }\n }\n }\n }\n};\nexports.default = _default2;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy9uay1zZWxlY3QtZmlsZS9uay1zZWxlY3QtZmlsZS52dWUiXSwibmFtZXMiOlsibmFtZSIsInByb3BzIiwidmFsdWUiLCJ0eXBlIiwiZGVmYXVsdCIsImJhY2tJbWciLCJkaXJlY3Rpb25JbWciLCJlbnRlckltZyIsImZvbGRlckltZyIsImZpbGVJbWciLCJ0eHRJbWciLCJkb2NJbWciLCJwZGZJbWciLCJzZWxlY3RlZEltZyIsInVuc2VsZWN0ZWRJbWciLCJ0aXRlbCIsInRpdGVsU2l6ZSIsInRpdGVsV2VpZ2h0IiwidGl0ZWxDb2xvciIsImJ0blRleHQiLCJidG5TaXplIiwiYnRuSGVpZ2h0IiwiYnRuQmdDb2xvciIsImJ0blRleHRDb2xvciIsIm5hdkJnQ29sb3IiLCJmaWx0ZXJBcnIiLCJkYXRhIiwiYmFySGVpZ2h0Iiwicm9vdEFkZHJlc3MiLCJhZGRyZXNzQmFyIiwiZm9sZGVyQXJyIiwiZmlsZUFyciIsInNlbGVjdEFyciIsImlzRXhpdCIsImlzT3BlbiIsImluYWNjZXNzaWJsZSIsInRpdGVsU3R5bGUiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJjb2xvciIsImJ0blN0eWxlIiwiaGVpZ2h0IiwiYmFja2dyb3VuZENvbG9yIiwiZmlsdGVyUmVnIiwid2F0Y2giLCJtb3VudGVkIiwibWV0aG9kcyIsIm9wZW4iLCJjbG9zZSIsImdldEJhckhlaWdodCIsInVuaSIsInN1Y2Nlc3MiLCJzZWxmIiwiZ2V0Um9vdERpcmVjdG9yeSIsImVudmlyb25tZW50IiwiZmlsZSIsImljb24iLCJ0aXRsZSIsImR1cmF0aW9uIiwic2VsZWN0IiwidG9Gb2xkZXIiLCJiYWNrUm9vdCIsImJhY2tGb2xkZXIiLCJzZWxlY3RGaWxlIiwic2l6ZU1iIiwidXJsIiwic2l6ZU1CIiwidXBsb2FkQnRuIiwiYmFja0FkZHJlc3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9FQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTNCQSxnQkE2QkE7RUFDQUE7RUFDQUM7SUFDQUM7TUFDQUM7TUFDQUM7SUFDQTtJQUNBQztNQUNBRjtNQUNBQztJQUNBO0lBQ0FFO01BQ0FIO01BQ0FDO0lBQ0E7SUFDQUc7TUFDQUo7TUFDQUM7SUFDQTtJQUNBSTtNQUNBTDtNQUNBQztJQUNBO0lBQ0FLO01BQ0FOO01BQ0FDO0lBQ0E7SUFDQU07TUFDQVA7TUFDQUM7SUFDQTtJQUNBTztNQUNBUjtNQUNBQztJQUNBO0lBQ0FRO01BQ0FUO01BQ0FDO0lBQ0E7SUFDQVM7TUFDQVY7TUFDQUM7SUFDQTtJQUNBVTtNQUNBWDtNQUNBQztJQUNBO0lBQ0FXO01BQ0FaO01BQ0FDO0lBQ0E7SUFDQVk7TUFDQWI7TUFDQUM7SUFDQTtJQUNBYTtNQUNBZDtNQUNBQztJQUNBO0lBQ0FjO01BQ0FmO01BQ0FDO0lBQ0E7SUFDQWU7TUFDQWhCO01BQ0FDO0lBQ0E7SUFDQWdCO01BQ0FqQjtNQUNBQztJQUNBO0lBQ0FpQjtNQUNBbEI7TUFDQUM7SUFDQTtJQUNBa0I7TUFDQW5CO01BQ0FDO0lBQ0E7SUFDQW1CO01BQ0FwQjtNQUNBQztJQUNBO0lBQ0FvQjtNQUNBckI7TUFDQUM7SUFDQTtJQUNBcUI7TUFDQXRCO01BQ0FDO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQXNCO0lBQ0E7TUFDQUM7TUFBQTtNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7TUFBQTtNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7TUFBQTtNQUNBQztNQUNBQztNQUFBO01BQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQUM7UUFDQUM7UUFDQUM7UUFDQUg7UUFDQUY7TUFDQTtNQUNBTTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTFDO01BQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQTJDO0lBQ0E7TUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUE7SUFDQUM7TUFDQTtNQUNBQztRQUNBQztVQUNBQztRQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBQztNQUNBO01BQ0E7TUFDQTtRQUNBdEQ7UUFDQXVEO01BQ0E7TUFDQTtNQUNBO1FBQ0FMO1VBQ0FNO1VBQ0FDO1VBQ0FDO1FBQ0E7UUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7WUFDQTtjQUFBMUQ7Y0FBQXVEO1lBQUE7VUFDQSxPQUNBO1lBQ0E7WUFDQTtjQUNBO2dCQUNBO2NBQ0E7WUFDQTtZQUNBO2NBQ0E7Y0FDQTtnQkFBQXZEO2dCQUFBdUQ7Z0JBQUFwRDtnQkFBQXdEO2NBQUE7WUFDQSxPQUNBO2NBQ0E7Y0FDQTtnQkFBQTNEO2dCQUFBdUQ7Z0JBQUFwRDtnQkFBQXdEO2NBQUE7WUFDQSxPQUNBO2NBQ0E7Y0FDQTtnQkFBQTNEO2dCQUFBdUQ7Z0JBQUFwRDtnQkFBQXdEO2NBQUE7WUFDQSxPQUNBO2NBQ0E7Y0FDQTtnQkFBQTNEO2dCQUFBdUQ7Z0JBQUFwRDtnQkFBQXdEO2NBQUE7WUFDQTtVQUNBO1FBQ0E7TUFDQTtNQUNBO01BQ0E7UUFBQTtNQUFBO01BQ0E7UUFBQTtNQUFBO01BQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7UUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7WUFDQTtjQUFBNUQ7Y0FBQXVEO1lBQUE7VUFDQSxPQUNBO1lBQ0E7WUFDQTtjQUNBO2dCQUNBO2NBQ0E7WUFDQTtZQUNBO2NBQ0E7Y0FDQTtnQkFBQXZEO2dCQUFBdUQ7Z0JBQUFwRDtnQkFBQXdEO2NBQUE7WUFDQSxPQUNBO2NBQ0E7Y0FDQTtnQkFBQTNEO2dCQUFBdUQ7Z0JBQUFwRDtnQkFBQXdEO2NBQUE7WUFDQSxPQUNBO2NBQ0E7Y0FDQTtnQkFBQTNEO2dCQUFBdUQ7Z0JBQUFwRDtnQkFBQXdEO2NBQUE7WUFDQSxPQUNBO2NBQ0E7Y0FDQTtnQkFBQTNEO2dCQUFBdUQ7Z0JBQUFwRDtnQkFBQXdEO2NBQUE7WUFDQTtVQUNBO1FBQ0E7TUFDQTtNQUNBO01BQ0E7UUFBQTtNQUFBO01BQ0E7UUFBQTtNQUFBO0lBQ0E7SUFDQTtJQUNBRTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7TUFDQSxPQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO1lBQ0E7Y0FDQTtjQUNBO2dCQUFBOUQ7Z0JBQUF1RDtjQUFBO1lBQ0EsT0FDQTtjQUNBO2NBQ0E7Z0JBQ0E7a0JBQ0E7Z0JBQ0E7Y0FDQTtjQUNBO2dCQUNBO2dCQUNBO2tCQUFBdkQ7a0JBQUF1RDtrQkFBQXBEO2tCQUFBd0Q7Z0JBQUE7Y0FDQSxPQUNBO2dCQUNBO2dCQUNBO2tCQUFBM0Q7a0JBQUF1RDtrQkFBQXBEO2tCQUFBd0Q7Z0JBQUE7Y0FDQSxPQUNBO2dCQUNBO2dCQUNBO2tCQUFBM0Q7a0JBQUF1RDtrQkFBQXBEO2tCQUFBd0Q7Z0JBQUE7Y0FDQSxPQUNBO2dCQUNBO2dCQUNBO2tCQUFBM0Q7a0JBQUF1RDtrQkFBQXBEO2tCQUFBd0Q7Z0JBQUE7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtRQUNBO1FBQ0E7VUFBQTtRQUFBO1FBQ0E7VUFBQTtRQUFBO01BQ0E7SUFDQTtJQUNBO0lBQ0FJO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtVQUNBO1lBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBQzs7UUFFQTtRQUNBO1FBQ0E7VUFBQWhFO1VBQUFpRTtVQUFBQztRQUFBO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBLE9BQ0E7UUFDQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1FBQ0EsT0FDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBbEI7WUFDQU87WUFDQUQ7WUFDQUU7VUFDQTtRQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSIsImZpbGUiOiI5OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImZpbGUtb3V0ZXJCb3hcIiBAdG91Y2htb3ZlLnByZXZlbnQgdi1pZj1cImlzT3BlblwiPlxyXG5cdFx0PHZpZXcgc3R5bGU9XCJ3aWR0aDogMTAwJTsgcGFkZGluZy10b3A6IC0tc3RhdHVzLWJhci1oZWlnaHQ7XCI+PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJmaWxlLXRpdGVsXCIgOnN0eWxlPVwie2JhY2tncm91bmRDb2xvcjogbmF2QmdDb2xvcn1cIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJmaWxlLW5hdi1sZWZ0Qm94XCIgQGNsaWNrPVwiYmFja0FkZHJlc3NcIj5cclxuXHRcdFx0XHQ8aW1hZ2UgOnNyYz1cImJhY2tJbWdcIiBtb2RlPVwid2lkdGhGaXhcIiBjbGFzcz1cImZpbGUtYmFjay1pbWdcIj48L2ltYWdlPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx0ZXh0IDpzdHlsZT1cInRpdGVsU3R5bGVcIj5cclxuXHRcdFx0XHR7e3RpdGVsfX1cclxuXHRcdFx0PC90ZXh0PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImZpbGUtbmF2LXJpZ2h0Qm94XCI+PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJmaWxlLWFkZHJlc3NcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJyb290LWJveFwiICBAY2xpY2s9XCJiYWNrUm9vdFwiPlxyXG5cdFx0XHRcdOWGhemDqOWtmOWCqFxyXG5cdFx0XHRcdDxpbWFnZSA6c3JjPVwiZGlyZWN0aW9uSW1nXCIgbW9kZT1cIndpZHRoRml4XCIgY2xhc3M9XCJ0by1pbWctYm94XCI+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8c2Nyb2xsLXZpZXcgOnNjcm9sbC14PVwidHJ1ZVwiIGNsYXNzPVwiYWRkcmVzcy1zY3JvbGxcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImFkZHJlc3MtYm94XCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gYWRkcmVzc0JhclwiIEBjbGljaz1cImJhY2tGb2xkZXIoaXRlbSxpbmRleClcIj5cclxuXHRcdFx0XHRcdHt7aXRlbS5uYW1lfX1cclxuXHRcdFx0XHRcdDxpbWFnZSA6c3JjPVwiZGlyZWN0aW9uSW1nXCIgbW9kZT1cIndpZHRoRml4XCIgY2xhc3M9XCJ0by1pbWctYm94XCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvc2Nyb2xsLXZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHQ8c2Nyb2xsLXZpZXcgOnNjcm9sbC15PVwidHJ1ZVwiIDpzdHlsZT1cIntoZWlnaHQ6ICdjYWxjKDEwMHZoIC0gJyArICAoYmFySGVpZ2h0KjIgKyAyODApICsgJ3JweCknfVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2VsZWN0LXRpcHNcIiB2LWlmPVwiaW5hY2Nlc3NpYmxlXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImxpbmUtaGVpZ2h0OiA0MHJweDtcIj5cclxuXHRcdFx0XHRcdFx05peg5rOV6K6/6Zeu55qE5paH5Lu25aS5XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImxpbmUtaGVpZ2h0OiA0MHJweDtcIj5cclxuXHRcdFx0XHRcdFx05bu66K6u5YmN5b6A5a6J5Y2T5a2Y5YKo6K6/6Zeu5qGG5p625p+l55yL5paH5Lu2XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZm9sZGVyLWJveFwiIHYtZm9yPVwiaXRlbSBpbiBmb2xkZXJBcnJcIiBAY2xpY2s9XCJ0b0ZvbGRlcihpdGVtKVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmb2xkZXItbmFtZS1ib3hcIj5cclxuXHRcdFx0XHRcdFx0PGltYWdlIDpzcmM9XCJmb2xkZXJJbWdcIiBtb2RlPVwid2lkdGhGaXhcIiBjbGFzcz1cImZvbGRlci1pbWdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5hbWUtYm94XCI+e3tpdGVtLm5hbWV9fTwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2UgOnNyYz1cImVudGVySW1nXCIgbW9kZT1cIndpZHRoRml4XCIgY2xhc3M9XCJ0b0ZvbGRlci1pbWdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZpbGUtYm94XCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gZmlsZUFyclwiIEBjbGljaz1cInNlbGVjdEZpbGUoaW5kZXgpXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZpbGUtbmFtZS1ib3hcIj5cclxuXHRcdFx0XHRcdFx0PGltYWdlIDpzcmM9XCJmaWxlSW1nXCIgbW9kZT1cIndpZHRoRml4XCIgY2xhc3M9XCJmaWxlLWltZ1wiIHYtaWY9XCJpdGVtLnR5cGUgPT0gJ2ZpbGUnXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0PGltYWdlIDpzcmM9XCJ0eHRJbWdcIiBtb2RlPVwid2lkdGhGaXhcIiBjbGFzcz1cImZpbGUtaW1nXCIgdi1pZj1cIml0ZW0udHlwZSA9PSAndHh0J1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdDxpbWFnZSA6c3JjPVwiZG9jSW1nXCIgbW9kZT1cIndpZHRoRml4XCIgY2xhc3M9XCJmaWxlLWltZ1wiIHYtaWY9XCJpdGVtLnR5cGUgPT0gJ2RvYydcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2UgOnNyYz1cInBkZkltZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiIGNsYXNzPVwiZmlsZS1pbWdcIiB2LWlmPVwiaXRlbS50eXBlID09ICdwZGYnXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuYW1lLWJveFwiPlxyXG5cdFx0XHRcdFx0XHRcdHt7aXRlbS5uYW1lfX1cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHRcdDxpbWFnZSA6c3JjPVwic2VsZWN0ZWRJbWdcIiBtb2RlPVwid2lkdGhGaXhcIiBjbGFzcz1cInNlbGVjdC1pbWdcIiB2LWlmPVwiaXRlbS5zZWxlY3RcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2UgOnNyYz1cInVuc2VsZWN0ZWRJbWdcIiBtb2RlPVwid2lkdGhGaXhcIiBjbGFzcz1cInNlbGVjdC1pbWdcIiB2LWVsc2U+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvc2Nyb2xsLXZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHQ8YnV0dG9uIHR5cGU9XCJkZWZhdWx0XCIgY2xhc3M9XCJzZWxlY3QtZm9vdC1idG5cIiA6c3R5bGU9XCJidG5TdHlsZVwiIEBjbGljaz1cInVwbG9hZEJ0blwiPnt7YnRuVGV4dH19PC9idXR0b24+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRcclxuLypcclxuKlx0XHJcbioge3Byb3BlcnR5fSDkvb/nlKggdi1tb2RlbCDnu5HlrprkuIDkuKrlj5jph4/mnaXmjqfliLbnu4Tku7bnmoTlvIDlkK/kuI7lhbPpl61cclxuKiB7cHJvcGVydHl9IG5hdkJnQ29sb3IgW1N0cmluZ10g6aG26YOo5qCH6aKY5qCP6IOM5pmv6ImyXHJcbioge3Byb3BlcnR5fSBmb2xkZXJJbWcgW1N0cmluZ10g5paH5Lu25aS555qE5Zu+54mHXHJcbioge3Byb3BlcnR5fSBiYWNrSW1nIFtTdHJpbmddIOi/lOWbnuS4iuS4gOe6p+WbvueJh1xyXG4qIHtwcm9wZXJ0eX0gZGlyZWN0aW9uSW1nIFtTdHJpbmddIOWPs+aMh+WQkeeureWktCBcclxuKiB7cHJvcGVydHl9IGVudGVySW1nIFtTdHJpbmddIOi/m+WFpeaWh+S7tuWkueeureWktFxyXG4qIHtwcm9wZXJ0eX0gZmlsZUltZyBbU3RyaW5nXSDmnKrnn6Xmlofku7bpgJrnlKjlm77moIfvvIzlvZPliY3ku4Xlj6/or4bliKsgcGRm44CBZG9jL2RvY3jjgIF0eHRcclxuKiB7cHJvcGVydHl9IHR4dEltZyBbU3RyaW5nXSB0eHTmlofku7blm77moIdcclxuKiB7cHJvcGVydHl9IGRvY0ltZyBbU3RyaW5nXSBkb2MvZG9jeOaWh+S7tuWbvuagh1xyXG4qIHtwcm9wZXJ0eX0gcGRmSW1nIFtTdHJpbmddIHBkZuaWh+S7tuWbvuaghyBcclxuKiB7cHJvcGVydHl9IHNlbGVjdGVkSW1nIFtTdHJpbmddIOmAieS4reeKtuaAgeS4i+eahOaMiemSruWbvuagh1xyXG4qIHtwcm9wZXJ0eX0gdW5zZWxlY3RlZEltZyBbU3RyaW5nXSDmnKrpgInkuK3nirbmgIHkuIvnmoTmjInpkq7lm77moIdcclxuKiB7cHJvcGVydHl9IHRpdGVsIFtTdHJpbmddIOagh+mimOaWh+Wtl++8jOm7mOiupCAn6YCJ5oup5paH5Lu2J1xyXG4qIHtwcm9wZXJ0eX0gdGl0ZWxTaXplIFtTdHJpbmcsTnVtYmVyXSDmoIfpopjmloflrZflpKflsI/vvIzpu5jorqQgMzZycHhcclxuKiB7cHJvcGVydHl9IHRpdGVsV2VpZ2h0IFtTdHJpbmcsTnVtYmVyXSDmoIfpopjmloflrZfnspfnu4bvvIzpu5jorqQgNjAwXHJcbioge3Byb3BlcnR5fSB0aXRlbENvbG9yIFtTdHJpbmddIOagh+mimOaWh+Wtl+minOiJsu+8jOm7mOiupCAjMzczNzM3XHJcbioge3Byb3BlcnR5fSBidG5UZXh0IFtTdHJpbmddIOW6lemDqOaMiemSruaWh+Wtl++8jCDpu5jorqQgJ+S4iuS8oCdcclxuKiB7cHJvcGVydHl9IGJ0blNpemUgW1N0cmluZyxOdW1iZXJdIOW6lemDqOaMiemSruaWh+Wtl+Wkp+Wwj++8jCDpu5jorqQgMzZycHhcclxuKiB7cHJvcGVydHl9IGJ0bkhlaWdodCBbU3RyaW5nLE51bWJlcl0g5bqV6YOo5oyJ6ZKu6auY5bqm77yMIOm7mOiupCA5MnJweFxyXG4qIHtwcm9wZXJ0eX0gYnRuQmdDb2xvciBbU3RyaW5nXSDlupXpg6jmjInpkq7popzoibLvvIwg6buY6K6kICM2NTIxZTJcclxuKiB7cHJvcGVydHl9IGJ0blRleHRDb2xvciBbU3RyaW5nXSDlupXpg6jmjInpkq7mloflrZfpopzoibLvvIwg6buY6K6kICNmZmZcclxuKiB7cHJvcGVydHl9IGZpbHRlckFyciBbQXJyYXldIOetm+mAieaWh+S7tuexu+Wei++8jOekuuS+i++8mlsnZG9jJywnUERGJ13vvIzkuI3ljLrliIblpKflsI/lhplcclxuKlxyXG4qIHtldmVudH0gY29uZmlybSBbRnVuY3Rpb25dIOeCueWHu+S4iuS8oOaMiemSruinpuWPkeeahOWbnuiwg+S6i+S7tu+8jOS8mui/lOWbnumAieS4reaWh+S7tueahOWcsOWdgCBldmVudCA9IFt7bmFtZTogbmFtZSwgdXJsOiBwYXRoLCBzaXplTUI6IHNpemVNYn1dXHJcbipcdFx0bmFtZTog5paH5Lu25ZCNICB1cmw6IOaWh+S7tuWcsOWdgCAgc2l6ZU1COiDmlofku7blpKflsI/vvIzljZXkvY1NQlxyXG4qL1xyXG5cdFxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdG5hbWU6XCJuay1zZWxlY3QtZmlsZVwiLFxyXG5cdFx0cHJvcHM6e1xyXG5cdFx0XHR2YWx1ZTp7XHJcblx0XHRcdFx0dHlwZTogQm9vbGVhbixcclxuXHRcdFx0XHRkZWZhdWx0OiBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRiYWNrSW1nOntcclxuXHRcdFx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRcdFx0ZGVmYXVsdDogJ2h0dHBzOi8vdmtjZXl1Z3UuY2RuLmJzcGFwcC5jb20vVktDRVlVR1UtNWM2OTdkYjQtZDkyMC00YWYzLTkwYTAtMTkyMTEzNzliODgxL2MwOGVmM2RjLTI1MTQtNDQzZC05MWFhLWEwNTVhMDk4MDc3Zi5wbmcnXHJcblx0XHRcdH0sXHJcblx0XHRcdGRpcmVjdGlvbkltZzp7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICdodHRwczovL3ZrY2V5dWd1LmNkbi5ic3BhcHAuY29tL1ZLQ0VZVUdVLTVjNjk3ZGI0LWQ5MjAtNGFmMy05MGEwLTE5MjExMzc5Yjg4MS8xODNmY2RhNC1iMDQ2LTQ3MjMtODM1Ni1kZGVkMjg0YmRlZmMucG5nJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRlbnRlckltZzp7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICdodHRwczovL3ZrY2V5dWd1LmNkbi5ic3BhcHAuY29tL1ZLQ0VZVUdVLTVjNjk3ZGI0LWQ5MjAtNGFmMy05MGEwLTE5MjExMzc5Yjg4MS8xMzhhZDk0ZS04NGU1LTQ2MGUtYTRlYi05ZTI5ZDIxMzkwNDkucG5nJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRmb2xkZXJJbWc6e1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0OiAnaHR0cHM6Ly92a2NleXVndS5jZG4uYnNwYXBwLmNvbS9WS0NFWVVHVS01YzY5N2RiNC1kOTIwLTRhZjMtOTBhMC0xOTIxMTM3OWI4ODEvN2Y3MGVlMjEtYmQ5Yy00NjMwLTlhMGEtMTEzZDc4YTk5MzM1LnBuZydcclxuXHRcdFx0fSxcclxuXHRcdFx0ZmlsZUltZzp7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICdodHRwczovL3ZrY2V5dWd1LmNkbi5ic3BhcHAuY29tL1ZLQ0VZVUdVLTVjNjk3ZGI0LWQ5MjAtNGFmMy05MGEwLTE5MjExMzc5Yjg4MS8yNGZlMmZkYS1hOTU2LTQwMmUtYWY2NS1lMTFmODc3OWM2ZDEucG5nJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHR0eHRJbWc6e1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0OiAnaHR0cHM6Ly92a2NleXVndS5jZG4uYnNwYXBwLmNvbS9WS0NFWVVHVS01YzY5N2RiNC1kOTIwLTRhZjMtOTBhMC0xOTIxMTM3OWI4ODEvMTA0NTBlMDEtMTg5Yi00OGM3LTliOTctOTE4MTA0ZmRkNzAxLnBuZydcclxuXHRcdFx0fSxcclxuXHRcdFx0ZG9jSW1nOntcclxuXHRcdFx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRcdFx0ZGVmYXVsdDogJ2h0dHBzOi8vdmtjZXl1Z3UuY2RuLmJzcGFwcC5jb20vVktDRVlVR1UtNWM2OTdkYjQtZDkyMC00YWYzLTkwYTAtMTkyMTEzNzliODgxLzUwMTY2MGU1LTgzODYtNDczZi1iZmNiLTM0YzBiMmI0YTJmOC5wbmcnXHJcblx0XHRcdH0sXHJcblx0XHRcdHBkZkltZzp7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICdodHRwczovL3ZrY2V5dWd1LmNkbi5ic3BhcHAuY29tL1ZLQ0VZVUdVLTVjNjk3ZGI0LWQ5MjAtNGFmMy05MGEwLTE5MjExMzc5Yjg4MS9iMTA1NjA1MC02ZDI3LTQ1NGUtYjJiNy01MWUzODMyY2ZlNWUucG5nJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzZWxlY3RlZEltZzp7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICdodHRwczovL3ZrY2V5dWd1LmNkbi5ic3BhcHAuY29tL1ZLQ0VZVUdVLTVjNjk3ZGI0LWQ5MjAtNGFmMy05MGEwLTE5MjExMzc5Yjg4MS9lYmFhYWQ5ZC00Njk3LTQyZDEtYmVlYS1mNGM3MzYxMzJiOWEucG5nJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHR1bnNlbGVjdGVkSW1nOntcclxuXHRcdFx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRcdFx0ZGVmYXVsdDogJ2h0dHBzOi8vdmtjZXl1Z3UuY2RuLmJzcGFwcC5jb20vVktDRVlVR1UtNWM2OTdkYjQtZDkyMC00YWYzLTkwYTAtMTkyMTEzNzliODgxL2VhNWZlM2ZhLTc5OWItNDBjOS1iZTAxLTAwZDBiNzQxOWM0YS5wbmcnXHJcblx0XHRcdH0sXHJcblx0XHRcdHRpdGVsOntcclxuXHRcdFx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRcdFx0ZGVmYXVsdDogJ+mAieaLqeaWh+S7tidcclxuXHRcdFx0fSxcclxuXHRcdFx0dGl0ZWxTaXplOiB7XHJcblx0XHRcdFx0dHlwZTogW1N0cmluZyxOdW1iZXJdLFxyXG5cdFx0XHRcdGRlZmF1bHQ6IDM2XHJcblx0XHRcdH0sXHJcblx0XHRcdHRpdGVsV2VpZ2h0OiB7XHJcblx0XHRcdFx0dHlwZTogW1N0cmluZyxOdW1iZXJdLFxyXG5cdFx0XHRcdGRlZmF1bHQ6IDYwMFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0aXRlbENvbG9yOiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICcjMzczNzM3J1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRidG5UZXh0OiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICfkuIrkvKAnXHJcblx0XHRcdH0sXHJcblx0XHRcdGJ0blNpemU6IHtcclxuXHRcdFx0XHR0eXBlOiBbU3RyaW5nLE51bWJlcl0sXHJcblx0XHRcdFx0ZGVmYXVsdDogMzZcclxuXHRcdFx0fSxcclxuXHRcdFx0YnRuSGVpZ2h0OiB7XHJcblx0XHRcdFx0dHlwZTogW1N0cmluZyxOdW1iZXJdLFxyXG5cdFx0XHRcdGRlZmF1bHQ6IDkyXHJcblx0XHRcdH0sXHJcblx0XHRcdGJ0bkJnQ29sb3I6IHtcclxuXHRcdFx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRcdFx0ZGVmYXVsdDogJyM2NTIxZTInXHJcblx0XHRcdH0sXHJcblx0XHRcdGJ0blRleHRDb2xvcjoge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0OiAnI2ZmZidcclxuXHRcdFx0fSxcclxuXHRcdFx0bmF2QmdDb2xvcjoge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0OiAnI2ZmZidcclxuXHRcdFx0fSxcclxuXHRcdFx0ZmlsdGVyQXJyOiB7XHJcblx0XHRcdFx0dHlwZTogQXJyYXksXHJcblx0XHRcdFx0ZGVmYXVsdCAoKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gW11cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGJhckhlaWdodDogJycsIC8vIOeKtuaAgeagj+mrmOW6plxyXG5cdFx0XHRcdHJvb3RBZGRyZXNzOiB7fSwgLy8g5qC555uu5b2VXHJcblx0XHRcdFx0YWRkcmVzc0JhcjogW10sIC8vIOWcsOWdgOagj+iusOW9leagiFxyXG5cdFx0XHRcdGZvbGRlckFycjogW10sIC8vIOaWh+S7tuWkuVxyXG5cdFx0XHRcdGZpbGVBcnI6IFtdLCAvLyDmlofku7ZcclxuXHRcdFx0XHRzZWxlY3RBcnI6W10sIC8vIOmAieS4reaWh+S7tumbhuWQiFxyXG5cdFx0XHRcdGlzRXhpdDogdHJ1ZSwgLy8g6YCA5Ye6XHJcblx0XHRcdFx0aXNPcGVuOiBmYWxzZSxcclxuXHRcdFx0XHRpbmFjY2Vzc2libGU6IGZhbHNlLCAvLyDml6Dms5Xorr/pl67mj5DnpLpcclxuXHRcdFx0XHR0aXRlbFN0eWxlOiB7XHJcblx0XHRcdFx0XHRmb250U2l6ZTogdGhpcy50aXRlbFNpemUgKyAncnB4JyxcclxuXHRcdFx0XHRcdGZvbnRXZWlnaHQ6IHRoaXMudGl0ZWxXZWlnaHQsXHJcblx0XHRcdFx0XHRjb2xvcjogdGhpcy50aXRlbENvbG9yXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRidG5TdHlsZToge1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiB0aGlzLmJ0bkhlaWdodCArICdycHgnLFxyXG5cdFx0XHRcdFx0YmFja2dyb3VuZENvbG9yOiB0aGlzLmJ0bkJnQ29sb3IsXHJcblx0XHRcdFx0XHRjb2xvcjogdGhpcy5idG5UZXh0Q29sb3IsXHJcblx0XHRcdFx0XHRmb250U2l6ZTogdGhpcy5idG5TaXplICsgJ3JweCdcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGZpbHRlclJlZzogJydcclxuXHRcdFx0fTtcclxuXHRcdH0sXHJcblx0XHR3YXRjaDp7XHJcblx0XHRcdHZhbHVlKHZhbCl7XHJcblx0XHRcdFx0aWYodmFsKXtcclxuXHRcdFx0XHRcdHRoaXMub3BlbigpO1xyXG5cdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0dGhpcy5jbG9zZSgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1vdW50ZWQoKSB7XHJcblx0XHRcdGlmKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0aGlzLmZpbHRlckFycikgPT09ICdbb2JqZWN0IEFycmF5XScgJiYgdGhpcy5maWx0ZXJBcnIubGVuZ3RoID4gMCl7XHJcblx0XHRcdFx0bGV0IHN0ciA9IHRoaXMuZmlsdGVyQXJyLmpvaW4oXCJ8XCIpO1xyXG5cdFx0XHRcdHRoaXMuZmlsdGVyUmVnID0gbmV3IFJlZ0V4cChzdHIsJ2knKTtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6e1xyXG5cdFx0XHQvLyDmiZPlvIDnu4Tku7ZcclxuXHRcdFx0b3Blbigpe1xyXG5cdFx0XHRcdHRoaXMuaXNPcGVuID0gdHJ1ZTtcclxuXHRcdFx0XHR0aGlzLmdldEJhckhlaWdodCgpO1xyXG5cdFx0XHRcdHRoaXMuZ2V0Um9vdERpcmVjdG9yeSgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDlhbPpl63nu4Tku7ZcclxuXHRcdFx0Y2xvc2UoKXtcclxuXHRcdFx0XHR0aGlzLmlzT3BlbiA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMucm9vdEFkZHJlc3MgPSB7fTsgLy8g5qC555uu5b2VXHJcblx0XHRcdFx0dGhpcy5hZGRyZXNzQmFyID0gW107IC8vIOWcsOWdgOagj+iusOW9leagiFxyXG5cdFx0XHRcdHRoaXMuZm9sZGVyQXJyID0gW107XHJcblx0XHRcdFx0dGhpcy5maWxlQXJyID0gW107XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RBcnIgPSBbXTsgLy8g6YCJ5Lit5paH5Lu26ZuG5ZCIXHJcblx0XHRcdFx0dGhpcy4kZW1pdCgnaW5wdXQnLCBmYWxzZSk7XHJcblx0XHRcdFx0Ly8g5pS+5Yiw5LiL5LiA5Liq55Sf5ZG95ZGo5pyf77yM5Zug5Li65Y+M5ZCR57uR5a6a55qEdmFsdWXkv67mlLnniLbnu4Tku7bnirbmgIHpnIDopoHml7bpl7TvvIzkuJTmmK/lvILmraXnmoRcclxuXHRcdFx0XHR0aGlzLiRuZXh0VGljaygoKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLiRlbWl0KCdjaGFuZ2UnLCBmYWxzZSk7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0XHJcblx0XHRcdC8vIOiOt+WPlueKtuaAgeagj+mrmOW6plxyXG5cdFx0XHRnZXRCYXJIZWlnaHQoKXtcclxuXHRcdFx0XHR2YXIgc2VsZiA9IHRoaXM7XHJcblx0XHRcdFx0dW5pLmdldFN5c3RlbUluZm8oe1xyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0c2VsZi5iYXJIZWlnaHQgPSByZXMuc3RhdHVzQmFySGVpZ2h0O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOiOt+WPluagueebruW9lVxyXG5cdFx0XHRnZXRSb290RGlyZWN0b3J5KCl7XHJcblx0XHRcdFx0dGhpcy5pbmFjY2Vzc2libGUgPSBmYWxzZTtcclxuXHRcdFx0XHQvLyDkv67mlLnpgIDlh7rnirbmgIHvvIzku6Xkvr/lnKjngrnlh7vov5Tlm57mjInpkq7ml7bmnIDlkI7kuIDlsYLov5Tlm57nmoTmmK/moLnnm67lvZXvvIzlho3ngrnlh7vkuIDmrKHmiY3kvJrpgIDlh7pcclxuXHRcdFx0XHR0aGlzLmlzRXhpdCA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMuYWRkcmVzc0JhciA9IFtdO1xyXG5cdFx0XHRcdHZhciBlbnZpcm9ubWVudCA9IHBsdXMuYW5kcm9pZC5pbXBvcnRDbGFzcyhcImFuZHJvaWQub3MuRW52aXJvbm1lbnRcIik7XHJcblx0XHRcdFx0ZW52aXJvbm1lbnQuZ2V0RXh0ZXJuYWxTdG9yYWdlU3RhdGUoKSA9PT0gZW52aXJvbm1lbnQuTUVESUFfTU9VTlRFRDtcclxuXHRcdFx0XHR2YXIgc2RSb290ID0gZW52aXJvbm1lbnQuZ2V0RXh0ZXJuYWxTdG9yYWdlRGlyZWN0b3J5KCk7XHJcblx0XHRcdFx0dmFyIHJvb3ROYW1lID0gcGx1cy5hbmRyb2lkLmludm9rZShzZFJvb3QsXCJnZXROYW1lXCIpO1xyXG5cdFx0XHRcdHRoaXMucm9vdEFkZHJlc3MgPSB7XHJcblx0XHRcdFx0XHRuYW1lOiByb290TmFtZSxcclxuXHRcdFx0XHRcdGZpbGU6IHNkUm9vdCxcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdHZhciBmaWxlcyA9IHBsdXMuYW5kcm9pZC5pbnZva2Uoc2RSb290LFwibGlzdEZpbGVzXCIpO1xyXG5cdFx0XHRcdGlmKCEoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGVzKSA9PT0gJ1tvYmplY3QgQXJyYXldJykpe1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdGljb246ICdub25lJyxcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfor7fnoa7orqTmjojmnYPorr/pl64nLFxyXG5cdFx0XHRcdFx0XHRkdXJhdGlvbjogMjAwMFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHZhciBsZW4gPSBmaWxlcy5sZW5ndGg7XHJcblx0XHRcdFx0Zm9yKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKXtcclxuXHRcdFx0XHRcdC8vIOi/h+a7pOmakOiXj+aWh+S7tlxyXG5cdFx0XHRcdFx0aWYoIXBsdXMuYW5kcm9pZC5pbnZva2UoZmlsZXNbaV0sXCJpc0hpZGRlblwiKSl7XHJcblx0XHRcdFx0XHRcdC8vIOWIpOaWreaYr+aWh+S7tui/mOaYr+aWh+S7tuWkuVxyXG5cdFx0XHRcdFx0XHRpZihwbHVzLmFuZHJvaWQuaW52b2tlKGZpbGVzW2ldLFwiaXNEaXJlY3RvcnlcIikpeyBcclxuXHRcdFx0XHRcdFx0XHR2YXIgZm9sZGVyTmFtZSA9IHBsdXMuYW5kcm9pZC5pbnZva2UoZmlsZXNbaV0sXCJnZXROYW1lXCIpXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5mb2xkZXJBcnIucHVzaCh7bmFtZTogZm9sZGVyTmFtZSxmaWxlOiBmaWxlc1tpXX0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0ZWxzZXtcclxuXHRcdFx0XHRcdFx0XHR2YXIgZmlsZU5hbWUgPSBwbHVzLmFuZHJvaWQuaW52b2tlKGZpbGVzW2ldLFwiZ2V0TmFtZVwiKVxyXG5cdFx0XHRcdFx0XHRcdGlmKHRoaXMuZmlsdGVyQXJyLmxlbmd0aCA+IDApe1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYoZmlsZU5hbWUuc2VhcmNoKHRoaXMuZmlsdGVyUmVnKSA8IDApe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb250aW51ZTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0aWYoZmlsZU5hbWUuc2VhcmNoKC90eHQvaSkgPiAtMSl7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyB0eHQg5paH5Lu2XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmZpbGVBcnIucHVzaCh7bmFtZTogZmlsZU5hbWUsZmlsZTogZmlsZXNbaV0sdHlwZTogJ3R4dCcsc2VsZWN0OiBmYWxzZX0pXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGVsc2UgaWYoZmlsZU5hbWUuc2VhcmNoKC9kb2N8ZG9jeC9pKSA+IC0xKXtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGRvYy9kb2N4IOaWh+S7tlxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5maWxlQXJyLnB1c2goe25hbWU6IGZpbGVOYW1lLGZpbGU6IGZpbGVzW2ldLHR5cGU6ICdkb2MnLHNlbGVjdDogZmFsc2V9KVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRlbHNlIGlmKGZpbGVOYW1lLnNlYXJjaCgvcGRmL2kpID4gLTEpe1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gcGRmIOaWh+S7tlxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5maWxlQXJyLnB1c2goe25hbWU6IGZpbGVOYW1lLGZpbGU6IGZpbGVzW2ldLHR5cGU6ICdwZGYnLHNlbGVjdDogZmFsc2V9KVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRlbHNle1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8g5YW25LuW5paH5Lu2XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmZpbGVBcnIucHVzaCh7bmFtZTogZmlsZU5hbWUsZmlsZTogZmlsZXNbaV0sdHlwZTogJ2ZpbGUnLHNlbGVjdDogZmFsc2V9KVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQvLyDmjpLluo/vvIzkuI3ljLrliIblpKflsI/lhplcclxuXHRcdFx0XHR0aGlzLmZvbGRlckFyci5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubmFtZS50b1VwcGVyQ2FzZSgpID4gYi5uYW1lLnRvVXBwZXJDYXNlKCkgPyAnMScgOiAnLTEnfSk7XHJcblx0XHRcdFx0dGhpcy5maWxlQXJyLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5uYW1lLnRvVXBwZXJDYXNlKCkgPiBiLm5hbWUudG9VcHBlckNhc2UoKSA/ICcxJyA6ICctMSd9KTtcclxuXHRcdFx0XHR0aGlzLnJvb3RBZGRyZXNzLmZvbGRlckFyciA9IHRoaXMuZm9sZGVyQXJyO1xyXG5cdFx0XHRcdHRoaXMucm9vdEFkZHJlc3MuZmlsZUFyciA9IHRoaXMuZmlsZUFycjtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6L+b5YWl5paH5Lu25aS5XHJcblx0XHRcdHRvRm9sZGVyKGV2ZW50KXtcclxuXHRcdFx0XHR0aGlzLmlzRXhpdCA9IGZhbHNlOyAvLyDlnLDlnYDmoIjkuK3lrZjlnKjmlrDlnLDlnYDvvIzph43nva7pgIDlh7rnirbmgIFcclxuXHRcdFx0XHR0aGlzLmZvbGRlckFyciA9IFtdO1xyXG5cdFx0XHRcdHRoaXMuZmlsZUFyciA9IFtdO1xyXG5cdFx0XHRcdHRoaXMuYWRkcmVzc0Jhci5wdXNoKGV2ZW50KVxyXG5cdFx0XHRcdHZhciBmaWxlcyA9IHBsdXMuYW5kcm9pZC5pbnZva2UoZXZlbnQuZmlsZSxcImxpc3RGaWxlc1wiKTtcclxuXHRcdFx0XHRpZihmaWxlcyA9PSBudWxsKXtcclxuXHRcdFx0XHRcdHRoaXMuaW5hY2Nlc3NpYmxlID0gdHJ1ZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dmFyIGxlbiA9IGZpbGVzLmxlbmd0aDtcclxuXHRcdFx0XHRmb3IobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspe1xyXG5cdFx0XHRcdFx0Ly8g6L+H5ruk6ZqQ6JeP5paH5Lu2XHJcblx0XHRcdFx0XHRpZighcGx1cy5hbmRyb2lkLmludm9rZShmaWxlc1tpXSxcImlzSGlkZGVuXCIpKXtcclxuXHRcdFx0XHRcdFx0Ly8g5Yik5pat5piv5paH5Lu26L+Y5piv5paH5Lu25aS5XHJcblx0XHRcdFx0XHRcdGlmKHBsdXMuYW5kcm9pZC5pbnZva2UoZmlsZXNbaV0sXCJpc0RpcmVjdG9yeVwiKSl7XHJcblx0XHRcdFx0XHRcdFx0dmFyIGZvbGRlck5hbWUgPSBwbHVzLmFuZHJvaWQuaW52b2tlKGZpbGVzW2ldLFwiZ2V0TmFtZVwiKVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZm9sZGVyQXJyLnB1c2goe25hbWU6IGZvbGRlck5hbWUsZmlsZTogZmlsZXNbaV19KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGVsc2V7XHJcblx0XHRcdFx0XHRcdFx0dmFyIGZpbGVOYW1lID0gcGx1cy5hbmRyb2lkLmludm9rZShmaWxlc1tpXSxcImdldE5hbWVcIilcclxuXHRcdFx0XHRcdFx0XHRpZih0aGlzLmZpbHRlckFyci5sZW5ndGggPiAwKXtcclxuXHRcdFx0XHRcdFx0XHRcdGlmKGZpbGVOYW1lLnNlYXJjaCh0aGlzLmZpbHRlclJlZykgPCAwKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29udGludWU7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlmKGZpbGVOYW1lLnNlYXJjaCgvdHh0L2kpID4gLTEpe1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gdHh0IOaWh+S7tlxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5maWxlQXJyLnB1c2goe25hbWU6IGZpbGVOYW1lLGZpbGU6IGZpbGVzW2ldLHR5cGU6ICd0eHQnLHNlbGVjdDogZmFsc2V9KVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRlbHNlIGlmKGZpbGVOYW1lLnNlYXJjaCgvZG9jfGRvY3gvaSkgPiAtMSl7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBkb2MvZG9jeCDmlofku7ZcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZmlsZUFyci5wdXNoKHtuYW1lOiBmaWxlTmFtZSxmaWxlOiBmaWxlc1tpXSx0eXBlOiAnZG9jJyxzZWxlY3Q6IGZhbHNlfSlcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0ZWxzZSBpZihmaWxlTmFtZS5zZWFyY2goL3BkZi9pKSA+IC0xKXtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHBkZiDmlofku7ZcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZmlsZUFyci5wdXNoKHtuYW1lOiBmaWxlTmFtZSxmaWxlOiBmaWxlc1tpXSx0eXBlOiAncGRmJyxzZWxlY3Q6IGZhbHNlfSlcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0ZWxzZXtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIOWFtuS7luaWh+S7tlxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5maWxlQXJyLnB1c2goe25hbWU6IGZpbGVOYW1lLGZpbGU6IGZpbGVzW2ldLHR5cGU6ICdmaWxlJyxzZWxlY3Q6IGZhbHNlfSlcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ly8g5o6S5bqP77yM5LiN5Yy65YiG5aSn5bCP5YaZXHJcblx0XHRcdFx0dGhpcy5mb2xkZXJBcnIuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhLm5hbWUudG9VcHBlckNhc2UoKSA+IGIubmFtZS50b1VwcGVyQ2FzZSgpID8gJzEnIDogJy0xJ30pO1xyXG5cdFx0XHRcdHRoaXMuZmlsZUFyci5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubmFtZS50b1VwcGVyQ2FzZSgpID4gYi5uYW1lLnRvVXBwZXJDYXNlKCkgPyAnMScgOiAnLTEnfSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOi/lOWbnuagueebruW9lVxyXG5cdFx0XHRiYWNrUm9vdCgpe1xyXG5cdFx0XHRcdHRoaXMuaW5hY2Nlc3NpYmxlID0gZmFsc2U7XHJcblx0XHRcdFx0dGhpcy5hZGRyZXNzQmFyID0gW107XHJcblx0XHRcdFx0dGhpcy5mb2xkZXJBcnIgPSB0aGlzLnJvb3RBZGRyZXNzLmZvbGRlckFycjtcclxuXHRcdFx0XHR0aGlzLmZpbGVBcnIgPSB0aGlzLnJvb3RBZGRyZXNzLmZpbGVBcnI7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOi/lOWbnuS4iue6p+aWh+S7tuWkuVxyXG5cdFx0XHRiYWNrRm9sZGVyKGV2ZW50LGluZGV4KXtcclxuXHRcdFx0XHR0aGlzLmluYWNjZXNzaWJsZSA9IGZhbHNlO1xyXG5cdFx0XHRcdHZhciBsZW4gPSB0aGlzLmFkZHJlc3NCYXIubGVuZ3RoO1xyXG5cdFx0XHRcdGlmKGluZGV4ICsgMSA9PSBsZW4pe1xyXG5cdFx0XHRcdFx0Ly8g54K55Ye75b2T5YmN5paH5Lu25aS5LS3ml6Dkuovlj5HnlJ9cclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZWxzZXtcclxuXHRcdFx0XHRcdHRoaXMuZm9sZGVyQXJyID0gW107XHJcblx0XHRcdFx0XHR0aGlzLmZpbGVBcnIgPSBbXTtcclxuXHRcdFx0XHRcdHRoaXMuYWRkcmVzc0Jhci5zcGxpY2UoaW5kZXggKyAxLCBsZW4gLSBpbmRleCArIDEpXHJcblx0XHRcdFx0XHR2YXIgZmlsZXMgPSBwbHVzLmFuZHJvaWQuaW52b2tlKGV2ZW50LmZpbGUsXCJsaXN0RmlsZXNcIik7XHJcblx0XHRcdFx0XHR2YXIgbGVuID0gZmlsZXMubGVuZ3RoO1xyXG5cdFx0XHRcdFx0Zm9yKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKXtcclxuXHRcdFx0XHRcdFx0Ly8g6L+H5ruk6ZqQ6JeP5paH5Lu2XHJcblx0XHRcdFx0XHRcdGlmKCFwbHVzLmFuZHJvaWQuaW52b2tlKGZpbGVzW2ldLFwiaXNIaWRkZW5cIikpe1xyXG5cdFx0XHRcdFx0XHRcdC8vIOWIpOaWreaYr+aWh+S7tui/mOaYr+aWh+S7tuWkuVxyXG5cdFx0XHRcdFx0XHRcdGlmKHBsdXMuYW5kcm9pZC5pbnZva2UoZmlsZXNbaV0sXCJpc0RpcmVjdG9yeVwiKSl7IFxyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIGZvbGRlck5hbWUgPSBwbHVzLmFuZHJvaWQuaW52b2tlKGZpbGVzW2ldLFwiZ2V0TmFtZVwiKVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5mb2xkZXJBcnIucHVzaCh7bmFtZTogZm9sZGVyTmFtZSxmaWxlOiBmaWxlc1tpXX0pXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGVsc2V7XHJcblx0XHRcdFx0XHRcdFx0XHR2YXIgZmlsZU5hbWUgPSBwbHVzLmFuZHJvaWQuaW52b2tlKGZpbGVzW2ldLFwiZ2V0TmFtZVwiKTtcclxuXHRcdFx0XHRcdFx0XHRcdGlmKHRoaXMuZmlsdGVyQXJyLmxlbmd0aCA+IDApe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZihmaWxlTmFtZS5zZWFyY2godGhpcy5maWx0ZXJSZWcpIDwgMCl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29udGludWU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmKGZpbGVOYW1lLnNlYXJjaCgvdHh0L2kpID4gLTEpe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB0eHQg5paH5Lu2XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuZmlsZUFyci5wdXNoKHtuYW1lOiBmaWxlTmFtZSxmaWxlOiBmaWxlc1tpXSx0eXBlOiAndHh0JyxzZWxlY3Q6IGZhbHNlfSlcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGVsc2UgaWYoZmlsZU5hbWUuc2VhcmNoKC9kb2N8ZG9jeC9pKSA+IC0xKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gZG9jL2RvY3gg5paH5Lu2XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuZmlsZUFyci5wdXNoKHtuYW1lOiBmaWxlTmFtZSxmaWxlOiBmaWxlc1tpXSx0eXBlOiAnZG9jJyxzZWxlY3Q6IGZhbHNlfSlcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGVsc2UgaWYoZmlsZU5hbWUuc2VhcmNoKC9wZGYvaSkgPiAtMSl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHBkZiDmlofku7ZcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5maWxlQXJyLnB1c2goe25hbWU6IGZpbGVOYW1lLGZpbGU6IGZpbGVzW2ldLHR5cGU6ICdwZGYnLHNlbGVjdDogZmFsc2V9KVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0ZWxzZXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8g5YW25LuW5paH5Lu2XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuZmlsZUFyci5wdXNoKHtuYW1lOiBmaWxlTmFtZSxmaWxlOiBmaWxlc1tpXSx0eXBlOiAnZmlsZScsc2VsZWN0OiBmYWxzZX0pXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvLyDmjpLluo/vvIzkuI3ljLrliIblpKflsI/lhplcclxuXHRcdFx0XHRcdHRoaXMuZm9sZGVyQXJyLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5uYW1lLnRvVXBwZXJDYXNlKCkgPiBiLm5hbWUudG9VcHBlckNhc2UoKSA/ICcxJyA6ICctMSd9KTtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZUFyci5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubmFtZS50b1VwcGVyQ2FzZSgpID4gYi5uYW1lLnRvVXBwZXJDYXNlKCkgPyAnMScgOiAnLTEnfSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDpgInkuK3mlofku7ZcclxuXHRcdFx0c2VsZWN0RmlsZShpbmRleCl7XHJcblx0XHRcdFx0aWYodGhpcy5maWxlQXJyW2luZGV4XS5zZWxlY3Qpe1xyXG5cdFx0XHRcdFx0Ly8g5Y+W5raI6YCJ5LitXHJcblx0XHRcdFx0XHR0aGlzLiRzZXQodGhpcy5maWxlQXJyW2luZGV4XSwnc2VsZWN0JyxmYWxzZSk7XHJcblx0XHRcdFx0XHRsZXQgbmFtZSA9IHRoaXMuZmlsZUFycltpbmRleF0ubmFtZTtcclxuXHRcdFx0XHRcdGZvcihsZXQgaSA9IDA7IGkgPCB0aGlzLnNlbGVjdEFyci5sZW5ndGg7IGkrKyl7XHJcblx0XHRcdFx0XHRcdGlmKG5hbWUgPT0gdGhpcy5zZWxlY3RBcnJbaV0ubmFtZSl7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zZWxlY3RBcnIuc3BsaWNlKGksMSk7XHJcblx0XHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdC8vIOmAieS4rVxyXG5cdFx0XHRcdFx0dGhpcy4kc2V0KHRoaXMuZmlsZUFycltpbmRleF0sJ3NlbGVjdCcsdHJ1ZSk7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdC8vIOivu+aWh+S7tuWkp+WwjyAgXHJcblx0XHRcdFx0XHR2YXIgRmlsZUlucHV0U3RyZWFtID0gcGx1cy5hbmRyb2lkLmltcG9ydENsYXNzKFwiamF2YS5pby5GaWxlSW5wdXRTdHJlYW1cIik7ICBcclxuXHRcdFx0XHRcdHZhciBmaWxlU2l6ZSA9IG5ldyBGaWxlSW5wdXRTdHJlYW0odGhpcy5maWxlQXJyW2luZGV4XS5maWxlKTsgIFxyXG5cdFx0XHRcdFx0dmFyIHNpemUgPSBmaWxlU2l6ZS5hdmFpbGFibGUoKTsgXHJcblx0XHRcdFx0XHR2YXIgc2l6ZU1iID0gc2l6ZSAvIDEwNDg1NzY7XHJcblx0XHRcdFx0XHRzaXplTWIgPSBzaXplTWIudG9GaXhlZCg0KTtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0Ly8g6I635Y+W5paH5Lu255qE55u45a+56Lev5b6EXHJcblx0XHRcdFx0XHR2YXIgUGF0aCA9IHBsdXMuYW5kcm9pZC5pbnZva2UodGhpcy5maWxlQXJyW2luZGV4XS5maWxlLFwiZ2V0UGF0aFwiKVxyXG5cdFx0XHRcdFx0dGhpcy5zZWxlY3RBcnIucHVzaCh7bmFtZTogdGhpcy5maWxlQXJyW2luZGV4XS5uYW1lLCB1cmw6IFBhdGgsIHNpemVNQjogc2l6ZU1ifSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOeCueWHu+S4iuS8oOaMiemSrlxyXG5cdFx0XHR1cGxvYWRCdG4oKXtcclxuXHRcdFx0XHR0aGlzLiRlbWl0KFwiY29uZmlybVwiLHRoaXMuc2VsZWN0QXJyKTtcclxuXHRcdFx0XHR0aGlzLmNsb3NlKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOeCueWHu+i/lOWbnlxyXG5cdFx0XHRiYWNrQWRkcmVzcygpe1xyXG5cdFx0XHRcdC8vIOWFiOWIpOaWreWcsOWdgOagiOS4reaYr+WQpui/mOacieWcsOWdgFxyXG5cdFx0XHRcdHZhciBsZW4gPSB0aGlzLmFkZHJlc3NCYXIubGVuZ3RoO1xyXG5cdFx0XHRcdGlmKGxlbiA+IDEpe1xyXG5cdFx0XHRcdFx0Ly8g6L+U5Zue5LiK57qn5paH5Lu25aS5XHJcblx0XHRcdFx0XHRsZXQgaW5kZXggPSBsZW4gLSAyO1xyXG5cdFx0XHRcdFx0bGV0IGV2ZW50ID0gdGhpcy5hZGRyZXNzQmFyW2luZGV4XTtcclxuXHRcdFx0XHRcdHRoaXMuYmFja0ZvbGRlcihldmVudCxpbmRleCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGVsc2V7XHJcblx0XHRcdFx0XHQvLyDpgIDlh7rmlofku7bpgInmi6lcclxuXHRcdFx0XHRcdGlmKHRoaXMuaXNFeGl0KXtcclxuXHRcdFx0XHRcdFx0Ly8g6YCA5Ye65paH5Lu26YCJ5oupXHJcblx0XHRcdFx0XHRcdHRoaXMuY2xvc2UoKTtcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy4kdS50b2FzdCgn5Zyo54K55Ye75LiA5qyh6YCA5Ye65paH5Lu26YCJ5oupJylcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGVsc2V7XHJcblx0XHRcdFx0XHRcdC8vIOi/lOWbnuagueebruW9lVxyXG5cdFx0XHRcdFx0XHR0aGlzLmlzRXhpdCA9IHRydWU7IC8vIOS4i+S4gOasoeWGjeeCueWHu+WImemAgOWHulxyXG5cdFx0XHRcdFx0XHR0aGlzLmJhY2tSb290KCk7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHQgICAgdGl0bGU6ICflho3mk43kvZzkuIDmrKHpgIDlh7rmlofku7bpgInmi6knLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJyxcclxuXHRcdFx0XHRcdFx0ICAgIGR1cmF0aW9uOiAxMDAwXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIj5cclxuLmZpbGUtb3V0ZXJCb3h7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDB2aDtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdHotaW5kZXg6IDEwNzA7XHJcblx0cGFkZGluZy1ib3R0b206IDQwcnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0LmZpbGUtdGl0ZWx7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogODBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogODBycHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0cGFkZGluZzogMCAzMnJweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0LmZpbGUtbmF2LWxlZnRCb3h7XHJcblx0XHRcdHdpZHRoOiA2MHJweDtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0LmZpbGUtYmFjay1pbWd7XHJcblx0XHRcdFx0d2lkdGg6IDM2cnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuZmlsZS1uYXYtcmlnaHRCb3h7XHJcblx0XHRcdHdpZHRoOiA2MHJweDtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuZmlsZS1hZGRyZXNze1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZCRkJGQjtcclxuXHRcdHBhZGRpbmc6IDAgMzJycHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0Y29sb3I6ICMzNzM3Mzc7XHJcblx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0LmFkZHJlc3Mtc2Nyb2xse1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMTE2cnB4KTtcclxuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHQuYWRkcmVzcy1ib3h7XHJcblx0XHRcdFx0aGVpZ2h0OiA2MHJweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogNjBycHg7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdC50by1pbWctYm94e1xyXG5cdFx0XHRcdFx0d2lkdGg6IDIwcnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnJvb3QtYm94e1xyXG5cdFx0XHR3aWR0aDogMTE2cnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogNjBycHg7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0Ym94LXNoYWRvdzogMTBycHggMCAxMHJweCAtMTBycHggcmdiYSg4LDgsOCwwLjMpO1xyXG5cdFx0XHQudG8taW1nLWJveHtcclxuXHRcdFx0XHR3aWR0aDogMjBycHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmZvbGRlci1ib3h7XHJcblx0XHRoZWlnaHQ6IDEyMHJweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0bWFyZ2luOiAwIDMycnB4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFRUVFRUU7XHJcblx0XHQuZm9sZGVyLW5hbWUtYm94e1xyXG5cdFx0XHR3aWR0aDogODAlO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7IFxyXG5cdFx0XHQuZm9sZGVyLWltZ3tcclxuXHRcdFx0XHR3aWR0aDogNzJycHg7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxNnJweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQubmFtZS1ib3h7XHJcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDEwMHJweCk7XHJcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0XHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcblx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0XHRcdFx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcblx0XHRcdFx0LXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG5cdFx0XHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC50b0ZvbGRlci1pbWd7XHJcblx0XHRcdHdpZHRoOiAyOHJweDtcclxuXHRcdH1cclxuXHR9XHJcblx0LnNlbGVjdC10aXBze1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDE2MHJweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRjb2xvcjogIzg4ODtcclxuXHRcdHBhZGRpbmctdG9wOiA2MHJweDtcclxuXHR9XHJcblx0LmZpbGUtYm94e1xyXG5cdFx0aGVpZ2h0OiAxMjBycHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdG1hcmdpbjogMCAzMnJweDtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFRUVFO1xyXG5cdFx0LmZpbGUtbmFtZS1ib3h7XHJcblx0XHRcdHdpZHRoOiA4MCU7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdC5maWxlLWltZ3tcclxuXHRcdFx0XHR3aWR0aDogNzJycHg7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxNnJweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyAudHlwZS1maWxle1xyXG5cdFx0XHQvLyBcdHdpZHRoOiA2MHJweDtcclxuXHRcdFx0Ly8gXHRtYXJnaW4tbGVmdDogMTBycHg7XHJcblx0XHRcdC8vIH1cclxuXHRcdFx0Lm5hbWUtYm94e1xyXG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBycHgpO1xyXG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdFx0d29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdFx0XHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG5cdFx0XHRcdC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuXHRcdFx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuc2VsZWN0LWltZ3tcclxuXHRcdFx0d2lkdGg6IDMycnB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2VsZWN0LWZvb3QtYnRue1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDY0cnB4KTtcclxuXHRcdG1hcmdpbi10b3A6IDIwcnB4O1xyXG5cdH1cclxufVxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///99\n");
/***/ }),
/* 100 */
/*!**********************************************************!*\
!*** E:/2023/8/MT_APP/static/theme/default/position.png ***!
\**********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = \"/static/theme/default/position.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjEwMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvcG9zaXRpb24ucG5nXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///100\n");
/***/ }),
/* 101 */
/*!******************************************************!*\
!*** E:/2023/8/MT_APP/static/theme/default/file.png ***!
\******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = \"/static/theme/default/file.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjEwMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvZmlsZS5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///101\n");
/***/ }),
/* 102 */
/*!*******************************************************!*\
!*** E:/2023/8/MT_APP/static/theme/default/Image.png ***!
\*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = \"/static/theme/default/Image.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjEwMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvSW1hZ2UucG5nXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///102\n");
/***/ }),
/* 103 */
/*!***************************************************************!*\
!*** E:/2023/8/MT_APP/static/theme/default/shooting_icon.png ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = \"/static/theme/default/shooting_icon.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjEwMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvc2hvb3RpbmdfaWNvbi5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///103\n");
/***/ }),
/* 104 */
/*!***************************************************************!*\
!*** E:/2023/8/MT_APP/static/theme/default/message/video.png ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = \"/static/theme/default/message/video.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjEwNC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvbWVzc2FnZS92aWRlby5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///104\n");
/***/ }),
/* 105 */
/*!***************************************************************!*\
!*** E:/2023/8/MT_APP/static/theme/default/envelope_icon.png ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = \"/static/theme/default/envelope_icon.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjEwNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvZW52ZWxvcGVfaWNvbi5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///105\n");
/***/ }),
/* 106 */
/*!***********************************************************!*\
!*** E:/2023/8/MT_APP/static/theme/default/tool_icon.png ***!
\***********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = \"/static/theme/default/tool_icon.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjEwNi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvdG9vbF9pY29uLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///106\n");
/***/ }),
/* 107 */
/*!***************************************************************!*\
!*** E:/2023/8/MT_APP/static/theme/default/location_icon.png ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = \"/static/theme/default/location_icon.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjEwNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvbG9jYXRpb25faWNvbi5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///107\n");
/***/ }),
/* 108 */
/*!**************************************************************!*\
!*** E:/2023/8/MT_APP/static/theme/default/contact_icon.png ***!
\**************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = \"/static/theme/default/contact_icon.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjEwOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvY29udGFjdF9pY29uLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///108\n");
/***/ }),
/* 109 */
/*!*****************************************************************!*\
!*** E:/2023/8/MT_APP/static/theme/default/collection_icon.png ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = \"/static/theme/default/collection_icon.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjEwOS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvY29sbGVjdGlvbl9pY29uLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///109\n");
/***/ }),
/* 110 */
/*!***********************************************************!*\
!*** E:/2023/8/MT_APP/static/theme/default/file_icon.png ***!
\***********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = \"/static/theme/default/file_icon.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjExMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvZmlsZV9pY29uLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///110\n");
/***/ }),
/* 111 */
/*!***********************************************************************************!*\
!*** E:/2023/8/MT_APP/pages/chat/message.vue?vue&type=script&lang=js&mpType=page ***!
\***********************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_message_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./message.vue?vue&type=script&lang=js&mpType=page */ 112);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_message_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_message_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_message_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_message_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_message_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTZpQixDQUFnQixnbEJBQUcsRUFBQyIsImZpbGUiOiIxMTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTctMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9tZXNzYWdlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTctMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9tZXNzYWdlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///111\n");
/***/ }),
/* 112 */
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/pages/chat/message.vue?vue&type=script&lang=js&mpType=page ***!
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (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 */ 41));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _uniLoadMore = _interopRequireDefault(__webpack_require__(/*! ../../components/uni-ui/uni-load-more/uni-load-more.vue */ 113));\nvar _emoji_data = _interopRequireDefault(__webpack_require__(/*! ../../static/js/message/emoji_data.js */ 118));\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! ../../common/_get */ 40));\nvar _hook2 = _interopRequireDefault(__webpack_require__(/*! ../../common/_hook */ 53));\nvar _action2 = _interopRequireDefault(__webpack_require__(/*! ../../common/_action */ 50));\nvar _data2 = _interopRequireDefault(__webpack_require__(/*! ../../common/_data */ 48));\nvar _htmlParser = _interopRequireDefault(__webpack_require__(/*! ../../common/html-parser */ 119));\nvar _uniPopup = _interopRequireDefault(__webpack_require__(/*! ../../components/uni-popup/uni-popup.vue */ 83));\nvar _uniPopupConfirm = _interopRequireDefault(__webpack_require__(/*! ../../components/uni-popup/uni-popup-confirm.vue */ 120));\nvar _uniPopupQiang = _interopRequireDefault(__webpack_require__(/*! ../../components/uni-popup/uni-popup-qiang.vue */ 125));\nvar _textScroll = _interopRequireDefault(__webpack_require__(/*! ../../components/textScroll/textScroll.vue */ 135));\nvar _nkSelectFile = _interopRequireDefault(__webpack_require__(/*! @/components/nk-select-file/nk-select-file.vue */ 95));\nvar _vuex = __webpack_require__(/*! vuex */ 140);\nvar _select_friend = _interopRequireDefault(__webpack_require__(/*! ./select_friend.vue */ 141));\nvar _GenerateTestUserSig = __webpack_require__(/*! @/debug/GenerateTestUserSig.js */ 75);\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar _default = {\n components: {\n uniLoadMore: _uniLoadMore.default,\n uniPopup: _uniPopup.default,\n uniPopupConfirm: _uniPopupConfirm.default,\n uniPopupQiang: _uniPopupQiang.default,\n textScroll: _textScroll.default,\n nkSelectFile: _nkSelectFile.default,\n selectFriend: _select_friend.default\n },\n data: function data() {\n return {\n servingState: 3,\n onLine: false,\n showServing: false,\n memberPhotos: [],\n is_main: 0,\n nowReadTime: 1635013026,\n redTimer: null,\n notice: \"\",\n scrollInfo: {\n input_box_height1: 0,\n input_box_height2: 0,\n totall_height: 0\n },\n scrollHeight: \"0px\",\n niming_msg: \"匿名\",\n videoContext: null,\n videoPath: \"\",\n showVedio: false,\n receive_list: [],\n luckbtn: \"\",\n scrollTop: 0,\n chat_id: \"\",\n //文字消息\n videPoup: false,\n videPlay: false,\n voiceLoading: false,\n videoLoading: false,\n textMsg: \"\",\n //消息列表\n isHistoryLoading: false,\n scrollAnimation: false,\n scrollToView: \"\",\n msgList: {\n show_name: \"\",\n list: [],\n type: 0,\n is_msg: 0,\n is_action: 0\n },\n msgImgList: [],\n noMore: 0,\n isVoice: false,\n voiceTis: \"按住 说话\",\n recordTis: \"手指上滑 取消发送\",\n recording: false,\n willStop: false,\n initPoint: {\n identifier: 0,\n Y: 0\n },\n recordTimer: null,\n recordLength: 0,\n // call: uni.requireNativePlugin(\"TUICallingUniPlugin-TUICallingModule\"),\n // call: uni.requireNativePlugin('TencentCloud-TUICallKit'),\n\n playMsgid: null,\n VoiceTimer: null,\n // 抽屉参数\n popupLayerClass: \"\",\n // more参数\n hideMore: true,\n //表情定义\n hideEmoji: true,\n emojiList: _emoji_data.default.emoji_list,\n //表情图片图床名称 ,由于我上传的第三方图床名称会有改变,所以有此数据来做对应,您实际应用中应该不需要\n //onlineEmoji: emoj_data.online_emoji,\n\n //红包相关参数\n windowsState: \"\",\n redenvelopeData: {\n rid: null,\n //红包ID\n from: null,\n face: null,\n blessing: null,\n money: null,\n index: null\n },\n list_id: 0,\n my_data: {},\n style: {\n pageHeight: 0,\n contentViewHeight: 0,\n footViewHeight: 90,\n mitemHeight: 0\n },\n call_ret: false,\n my_photo: \"\",\n callType: 1,\n //默认视频,\n popuMsg: \"\",\n payTimer: false,\n type: \"\",\n Keyboard: 0,\n miaoqiang: 0,\n vendor_status: 0,\n doubleClick: false,\n doubleTime: {\n firstTime: \"\",\n towTime: \"\",\n flag: true,\n timer: null\n },\n group_state: null,\n isOnline: 2,\n // (0表示离线,1表示在线)\n showUploadFile: false,\n //上传文件\n\n send_user_id: \"\",\n //@好友的信息\n\n popHeight: \"\",\n //todo弹出选择好友高度\n\n members: [] //群成员\n };\n },\n onBackPress: function onBackPress(options) {\n __f__(\"log\", options, \" at pages/chat/message.vue:805\");\n uni.navigateTo({\n url: \"/pages/chat/index\"\n });\n return false;\n },\n onLoad: function onLoad(option) {\n var _this2 = this;\n // 监听语音视频通话事件\n\n // uni.$TUICallingEvent.addEventListener(\"onCallStart\", (data) => {\n // \tconsole.log(\"onCallStart\" + JSON.stringify(data));\n // \tconsole.log(\"onCallStart\" + data.roomID);\n // });\n // uni.$TUICallingEvent.addEventListener(\"onCallEnd\", (data) => {\n // \tconsole.log(\"onCallEnd\" + JSON.stringify(data));\n // \tdata.time = data.totalTime;\n // \t// _get.cancelCall(data, function(res) {});\n // });\n // uni.$TUICallingEvent.addEventListener(\"onCallSucceed\", (data) => {\n // \tconsole.log(\"onCallSucceed\" + JSON.stringify(data));\n // });\n // uni.$TUICallingEvent.addEventListener(\"onCallFailed\", (data) => {\n // \tconsole.log(\"onCallFailed\" + JSON.stringify(data));\n // \tdata.time = data.totalTime;\n // \t// _get.cancelCall(data, function(res) {});\n // });\n\n this.list_id = option.list_id;\n if (\"chat_id\" in option) {\n this.chat_id = option.chat_id;\n }\n if (\"trans\" in option) {\n uni.showToast({\n title: \"转发成功\",\n icon: \"none\",\n ducation: 2000\n });\n }\n //注册事件\n // 注册发送音频事件\n this.regOnStartEvent(function (e) {\n _this2.recordBegin(e);\n });\n // 注册发送音频事件\n this.regSendVoiceEvent(function (e) {\n _this2.recordEnd(e);\n });\n\n // 注册发送音频事件\n this.regVudioEndEvent(function (e) {\n _this2.playMsgid = null;\n });\n // //语音自然播放结束\n // this.AUDIO.onEnded((res) => {\n // this.playMsgid = null;\n // });\n //\n //\n // //录音开始事件\n // this.RECORDER.onStart((e) => {\n // this.recordBegin(e);\n // })\n // //录音结束事件\n // this.RECORDER.onStop((e) => {\n // this.recordEnd(e);\n // })\n //\n },\n onUnload: function onUnload() {\n /** 这里只保留最新的15条会话记录,以保证初次加载性能 */\n var _this = this;\n var chat_data = this.msgList;\n chat_data.list = chat_data.list.slice(-15);\n _data2.default.localData(this.list_id, chat_data);\n /** 去除当前会话的list_id */\n _data2.default.localData(\"message_list_id\", \"\");\n /** 暂停语音播放 */\n // this.AUDIO.pause();\n /** 移除监听事件 */\n uni.$off(\"data_chat_data_unshift\");\n uni.$off(\"data_chat_data_push\");\n uni.$off(\"data_chat_data\");\n uni.$off(\"data_user_info\");\n uni.$off(\"data_chat_data_delete\");\n uni.$off(\"update_text_msg\");\n uni.$off(\"memberJoinRoom\");\n uni.$off(\"closeVoiceRoom\");\n clearInterval(_this.timer);\n clearInterval(_this.redTimer);\n if (_data2.default.data(\"voice_room_type\")) {\n _this.$refs.serving.xiaMai(_this.list_id);\n } else {\n _this.$refs.serving && _this.$refs.serving.closeVoiceRoom();\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n var _this = this;\n if (this.chat_id) {\n this.$nextTick(function () {\n _this3.scrollToView = \"msg\" + _this3.chat_id;\n });\n }\n setTimeout(function () {\n _this.getScrollContentHeight(\"hide\", 0);\n }, 400);\n },\n created: function created() {},\n onShow: function onShow() {\n this.initData();\n },\n computed: _objectSpread(_objectSpread({}, (0, _vuex.mapState)({\n RECORD: function RECORD(state) {\n return state.audio.RECORD;\n },\n AUDIO: function AUDIO(state) {\n return state.audio.AUDIO;\n },\n RecordTime: function RecordTime(state) {\n return state.audio.RecordTime;\n },\n KeyboardH: function KeyboardH(state) {\n return state.common.KeyboardHeight;\n },\n custom_font_size: function custom_font_size(state) {\n return state.common.custom_font_size;\n }\n })), {}, {\n getServingText: function getServingText() {\n return _data2.default.data(\"dragInfo\").state == 1 ? \"下麦\" : \"上麦\";\n },\n myPhoto: function myPhoto() {\n return this.my_photo;\n },\n imgRan: function imgRan() {\n return Math.random();\n },\n staticPath: function staticPath() {\n return _data2.default.staticChat();\n },\n staticVideoImg: function staticVideoImg() {\n return _data2.default.staticVideoImg();\n },\n staticPhoto: function staticPhoto() {\n return _data2.default.staticPhoto();\n },\n sendMsgClass: function sendMsgClass() {\n return (this.isVoice ? \"hidden\" : \"\") || this.textMsg.length ? \"\" : \"hidden\";\n },\n iconShow: function iconShow() {\n return this.textMsg.length ? \"hidden\" : \"more\";\n },\n systemClass: function systemClass() {\n return this.msgList.type == 1 ? \"sys\" : \"\";\n }\n }),\n onReady: function onReady(res) {\n var _this = this;\n if (_this.msgList.type == 1) {\n // setTimeout(function () {\n // _this.$refs.scrollNotice.textScroll()\n // },300);\n }\n },\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapMutations)([\"regSendVoiceEvent\", \"regOnStartEvent\", \"regVudioEndEvent\"])), {}, {\n // 消息是否是图片\n isImage: function isImage(con) {\n // console.log(\"con\",con);\n // 如果是图片,则转换成图片\n var reg = /^https?:\\/\\/(.+\\/)+.+(\\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i;\n var reg2 = RegExp(/data:image\\/.*;base64,/);\n if (reg.test(con) || reg2.test(con)) {\n return true;\n } else {\n return false;\n }\n },\n // 选择要禁言的人\n selectMember: function selectMember(row) {\n __f__(\"log\", \"row\", row, \" at pages/chat/message.vue:988\");\n var user_id = row.msg.user_info.uid + \"\";\n if (user_id) {\n var i = this.members.indexOf(user_id);\n if (i > -1) {\n this.members.splice(i, 1);\n } else {\n this.members.push(user_id);\n }\n }\n var _this = this;\n _this.$httpSend({\n path: \"/im/message/setGroupAdmin\",\n data: {\n users: JSON.stringify(_this.members),\n list_id: _this.list_id,\n type: 2\n },\n success_action: true,\n success: function success(res) {\n row.showAction = false;\n _this.$forceUpdate();\n // 禁言\n uni.showToast({\n title: res.msg,\n duration: 2000\n });\n }\n });\n },\n // 选择要剔出的人\n selectRemoveMember: function selectRemoveMember(row) {\n __f__(\"log\", \"row\", row, \" at pages/chat/message.vue:1020\");\n var user_id = row.msg.user_info.uid;\n if (user_id) {\n var i = this.members.indexOf(user_id);\n if (i > -1) {\n this.members.splice(i, 1);\n } else {\n this.members.push(user_id);\n }\n }\n var _this = this;\n _this.$httpSend({\n path: \"/im/message/removeChat\",\n data: {\n users: JSON.stringify(_this.members),\n list_id: _this.list_id\n },\n success_action: true,\n success: function success(res) {\n row.showAction = false;\n _this.$forceUpdate();\n uni.showToast({\n title: res.msg,\n duration: 2000,\n icon: \"none\"\n });\n }\n });\n },\n // 所有群成员\n getGroupMembers: function getGroupMembers(row) {\n var _this = this;\n _this.$httpSend({\n path: \"/im/message/getGroupAdmin\",\n data: {\n list_id: this.list_id,\n type: 2\n },\n success: function success(data) {\n _this.members = data.user_ids;\n __f__(\"log\", \"_this.members\", _this.members, \" at pages/chat/message.vue:1060\");\n row.showAction = true;\n _this.$forceUpdate();\n }\n });\n },\n // todo 长按显示面板\n showAction: function showAction(row) {\n this.msgList.list.map(function (item) {\n item.showAction = false;\n });\n this.getGroupMembers(row);\n },\n // todo 长按头像@好友\n addFriendChat: function addFriendChat(msg) {\n msg.showAction = false;\n this.textMsg = this.textMsg + \"@\" + msg.msg.user_info.name + \" \";\n if (!this.send_user_id) {\n this.send_user_id = msg.msg.user_info.uid;\n } else {\n this.send_user_id = this.send_user_id + \",\" + msg.msg.user_info.uid;\n }\n },\n closeFriends: function closeFriends() {\n this.$refs.popup_friends.close();\n },\n // 初始化数据\n initData: function initData() {\n var _this4 = this;\n _hook2.default.routeSonHook();\n _get2.default.getUserInfo({});\n // todo 选择@好友高度\n this.popHeight = uni.getSystemInfoSync().windowHeight;\n var _this = this;\n /** 先移除监听事件(避免重复触发消息) */\n uni.$off(\"remove_member\");\n uni.$off(\"group_delete_chat\");\n uni.$off(\"chat_del\");\n uni.$off(\"data_chat_data_unshift\");\n uni.$off(\"data_chat_data_push\");\n uni.$off(\"data_chat_data\");\n uni.$off(\"data_user_info\");\n uni.$off(\"data_chat_data_delete\");\n uni.$off(\"update_text_msg\");\n uni.$off(\"memberJoinRoom\");\n uni.$off(\"closeVoiceRoom\");\n uni.$off(\"newReadTime\");\n clearInterval(_this.timer);\n clearInterval(_this.redTimer);\n _this.getReadTime();\n uni.$on(\"newReadTime\", function (time) {\n __f__(\"log\", 'newReadTime:成功', \" at pages/chat/message.vue:1111\");\n _this.nowReadTime = time;\n });\n _this.my_photo = _data2.default.data(\"cache\").local_photo;\n var chat_data = _data2.default.localData(_this.list_id);\n _this.my_data = _data2.default.data(\"user_info\");\n /* 重新获取对话内容 */\n _get2.default.getChatData({\n send_data: {\n list_id: _this.list_id,\n time: 0,\n is_up: 1\n },\n is_action_data: 1\n });\n __f__(\"log\", chat_data, 'chat_data+++++++', \" at pages/chat/message.vue:1126\");\n if (chat_data && chat_data.list.length) {\n _this.scrollAnimation = false;\n // TODO 图片列表\n __f__(\"log\", chat_data, \" at pages/chat/message.vue:1130\");\n var msg = \"\";\n if (chat_data.online == 1) {\n msg = \"(在线)\";\n } else {\n msg = \"(离线)\";\n }\n uni.setNavigationBarTitle({\n title: chat_data.show_name + (chat_data.type == 1 ? \"\" : msg)\n });\n _this.addMsgImgList(chat_data.list);\n chat_data.list = _this.msgDataHandle(chat_data.list);\n _this.msgList = chat_data;\n _this.receive_list = _this.msgList.receive_list;\n /** 滚动到指定位置 */\n setTimeout(function () {\n _this.$nextTick(function () {\n _this.scrollTop = new Date().getTime();\n // console.log(\"11111111111111111111111111111\")\n // _this.scrollToView = 'msg' + data[data.length - 1].msg.id;\n });\n }, 400);\n /** 如果是群聊要实时检测群有无禁言 */\n _this.type = chat_data.type;\n if (chat_data.type == 1) {\n _this.getGroupSteate();\n }\n }\n __f__(\"log\", '添加当前的会话', this.list_id, \" at pages/chat/message.vue:1159\");\n /** 添加当前的会话list_id */\n _data2.default.localData(\"message_list_id\", this.list_id);\n __f__(\"log\", '_data', _data2.default, \" at pages/chat/message.vue:1162\");\n __f__(\"log\", '监听会话数据变化的会话', \" at pages/chat/message.vue:1163\");\n /** 监听会话数据变化 */\n uni.$on(\"data_chat_data_unshift\", function (data) {\n var _this$msgList$list;\n __f__(\"log\", '会话数据有变化', \" at pages/chat/message.vue:1166\");\n data = _this.msgDataHandle(data);\n _this.scrollAnimation = false;\n var position_id = _this.msgList.list[0].msg.id;\n (_this$msgList$list = _this.msgList.list).unshift.apply(_this$msgList$list, (0, _toConsumableArray2.default)(data));\n /** 滚动到指定位置 */\n _this.$nextTick(function () {\n _this.scrollToView = \"msg\" + position_id;\n });\n // TODO 图片列表\n __f__(\"log\", \"图片列表++++++\", _this.msgList, \" at pages/chat/message.vue:1176\");\n });\n /** 监听会话数据变化 */\n uni.$on(\"data_chat_data_push\", function (data) {\n _this.setReadTime();\n /** 保持页面15条数据,提升性能 */\n _this.noMore = 0;\n data = _this.msgDataHandle(data);\n _this.scrollAnimation = true;\n _this.msgList.list = data;\n // TODO 图片列表\n __f__(\"log\", \"图片列表-----\", _this.msgList, \" at pages/chat/message.vue:1187\");\n _this.receive_list = _this.msgList.receive_list;\n /** 滚动到指定位置 */\n setTimeout(function () {\n _this.$nextTick(function () {\n // _this.scrollTop =(new Date()).getTime();\n _this.scrollTop = new Date().getTime();\n // _this.scrollToView = 'msg' + data[data.length - 1].msg.id;\n });\n }, 400);\n });\n /** 监听撤回消息 */\n uni.$on(\"data_chat_data_delete\", function (list) {\n _this.msgList.list = list;\n // TODO 图片列表\n __f__(\"log\", \"图片列表\", _this.msgList, \" at pages/chat/message.vue:1202\");\n });\n /** 监听会话数据变化 */\n uni.$on(\"data_chat_data\", function (data) {\n var msg = \"\";\n if (data.online == 1) {\n msg = \"(在线)\";\n } else {\n msg = \"(离线)\";\n }\n uni.setNavigationBarTitle({\n title: data.show_name + (_this.msgList.type == 1 ? \"\" : msg)\n });\n data.list = _this.msgDataHandle(data.list);\n _this.scrollAnimation = false;\n _this.msgList = data;\n // TODO 图片列表\n __f__(\"log\", \"图片列表+++++\", _this.msgList, \" at pages/chat/message.vue:1219\");\n _this.receive_list = _this.msgList.receive_list;\n if (_this.msgList.type == 1) {\n _this.getGroupSteate();\n }\n /** 滚动到指定位置 */\n _this.$nextTick(function () {\n // _this.scrollTop =(new Date()).getTime();\n // _this.scrollToView = 'msg' + data.list[data.list.length - 1].msg.id;\n _this.scrollTop = new Date().getTime();\n });\n });\n /** 监听新的个人数据 */\n uni.$on(\"data_user_info\", function (data) {\n _this.my_data = data;\n _this.my_photo = _data2.default.staticPhoto() + _this.my_data.photo;\n });\n //监听键盘高度变化\n uni.onKeyboardHeightChange(function (res) {\n __f__(\"log\", \"软键盘高度变化\", res, \" at pages/chat/message.vue:1239\");\n _this.Keyboard = res.height;\n if (res.height) {\n //todo @好友软键盘高度变化\n _this4.popHeight = uni.getSystemInfoSync().windowHeight - res.height;\n _this.getScrollContentHeight(\"show\", 0);\n } else {\n _this4.popHeight = uni.getSystemInfoSync().windowHeight;\n _this.getScrollContentHeight(\"hide\", 0);\n }\n });\n uni.$on(\"update_text_msg\", function (res) {\n _this.textMsg += res.msg;\n //todo @好友 如果消息不为空,\n _this.$refs.popup_friends.close();\n if (!_this.send_user_id) {\n _this.send_user_id = res.user_id;\n } else {\n _this.send_user_id = _this.send_user_id + \",\" + res.user_id;\n }\n });\n uni.$on(\"memberJoinRoom\", function (res) {\n _this.$refs.serving.memberJoin(_this.list_id, function () {\n _this.onLine = true;\n _this.showServing = true;\n });\n });\n uni.$on(\"closeVoiceRoom\", function (res) {\n _this.$refs.serving.closeVoiceRoom();\n });\n _get2.default.getMemberPhotos({\n list_id: _this.list_id\n }, function (ret) {\n _this.memberPhotos = ret;\n __f__(\"log\", \"群成员通话\", _this.memberPhotos, \" at pages/chat/message.vue:1276\");\n });\n // 监听清空消息\n uni.$on(\"chat_del\", function (res) {\n uni.showModal({\n title: \"提示\",\n showCancel: false,\n content: \"消息被清空\",\n success: function success(res) {}\n });\n _this.msgList = [];\n });\n // 监听消息清空\n uni.$on(\"group_delete_chat\", function (list_id) {\n _this.msgList = [];\n _get2.default.getChatData({\n send_data: {\n list_id: _this.list_id,\n time: 0,\n is_up: 1\n },\n is_action_data: 1\n });\n });\n // 监听踢出会员重新获取消息\n uni.$on(\"remove_member\", function (list_id) {\n _this.msgList = [];\n _data2.default.localData(list_id, null);\n _this.initData();\n });\n //收到信息 回传\n this.setReadTime();\n },\n // 选择收藏\n chooseLike: function chooseLike() {\n this.hideDrawer(1); //隐藏抽屉\n uni.navigateTo({\n url: \"/pages/my/store?choose_collect=1\"\n });\n },\n // 下载文件\n downFile: function downFile(file) {\n uni.downloadFile({\n url: file,\n success: function success(data) {\n if (data.statusCode === 200) {\n __f__(\"log\", \"下载成功\", \" at pages/chat/message.vue:1323\");\n uni.saveFile({\n tempFilePath: data.tempFilePath,\n success: function success(res) {\n uni.showModal({\n title: \"下载成功\",\n content: \"文件已保存:\" + res.savedFilePath,\n success: function success(res_) {}\n });\n }\n });\n }\n }\n });\n },\n // 打开地图\n openMap: function openMap(pos) {\n uni.openLocation({\n latitude: pos.latitude,\n longitude: pos.longitude,\n name: pos.name,\n address: pos.address\n });\n },\n uploadAFile: function uploadAFile(data) {\n __f__(\"log\", \"data\", data, \" at pages/chat/message.vue:1348\");\n var _this = this;\n for (var i = 0; i < data.length; i++) {\n var msg = {\n url: data[i].url,\n name: data[i].name,\n length: parseInt(data[i].sizeMB * 1024)\n };\n _this.sendMsg(msg, 11);\n }\n },\n // 上传文件\n chooseFile: function chooseFile() {\n var _this = this;\n _this.hideDrawer(1); //隐藏抽屉\n\n this.showUploadFile = true;\n },\n // 戳一戳\n chooseChuo: function chooseChuo() {\n this.sendChuoYiChuoMsg();\n },\n // 发送位置\n sendPos: function sendPos() {\n var _this = this;\n uni.chooseLocation({\n success: function success(res) {\n __f__(\"log\", \"位置名称:\" + res.name, \" at pages/chat/message.vue:1393\");\n __f__(\"log\", \"详细地址:\" + res.address, \" at pages/chat/message.vue:1394\");\n __f__(\"log\", \"纬度:\" + res.latitude, \" at pages/chat/message.vue:1395\");\n __f__(\"log\", \"经度:\" + res.longitude, \" at pages/chat/message.vue:1396\");\n var msg = {\n latitude: res.latitude,\n longitude: res.longitude,\n name: res.name,\n address: res.address\n };\n _this.sendMsg(msg, 10);\n }\n });\n },\n getHtml: function getHtml(content) {\n return (0, _htmlParser.default)(content);\n },\n inputText: function inputText(e) {\n //截取最后一位\n\n var str = e.detail.value;\n // todo @好友\n if (str === \"\") {\n this.send_user_id = \"\";\n }\n var length1 = str.length;\n var key = str.substr(length1 - 1, 1);\n if (key && key == \"@\" && this.msgList.type == 1 && length1 > this.textMsg.length) {\n this.textMsg = str;\n __f__(\"log\", \"跳转到群成员列表\", \" at pages/chat/message.vue:1429\");\n // TODO群成员弹窗\n // 关闭输入框\n uni.hideKeyboard();\n this.$refs.popup_friends.open();\n // uni.navigateTo({\n // \turl: '/pages/chat/group_list?list_id=' + this.list_id,\n // \tanimationType: \"slide-in-bottom\"\n // });\n return true;\n }\n this.textMsg = str;\n },\n getScrollContentHeight: function getScrollContentHeight() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"show\";\n var not_return = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var _this = this;\n var query = uni.createSelectorQuery();\n query.select(\".more-layer\").boundingClientRect();\n query.select(\".input-box\").boundingClientRect();\n uni.getSystemInfo({\n success: function success(res) {\n _this.scrollInfo.totall_height = res.windowHeight;\n query.exec(function (data) {\n _this.scrollInfo.input_box_height1 = data[0].height || 0;\n _this.scrollInfo.input_box_height2 = data[1].height || 0;\n _this.autoHeight(type, not_return);\n });\n }\n });\n },\n autoHeight: function autoHeight(type, not_return) {\n var _this = this;\n if (type == \"show\") {\n if (this.Keyboard) {\n this.scrollHeight = _this.scrollInfo.totall_height - _this.Keyboard - _this.scrollInfo.input_box_height2 + \"px\";\n } else {\n this.scrollHeight = _this.scrollInfo.totall_height - _this.scrollInfo.input_box_height1 - _this.scrollInfo.input_box_height2 + \"px\";\n }\n } else {\n //content高度 = 屏幕高度-tool高度\n uni.getSystemInfo({\n success: function success(res) {\n res.windowHeight = res.windowHeight;\n if (_this.Keyboard) {\n _this.scrollHeight = res.windowHeight - _this.scrollInfo.Keyboard - _this.scrollInfo.input_box_height2 + \"px\";\n } else {\n _this.scrollHeight = res.windowHeight - _this.scrollInfo.input_box_height2 + \"px\";\n }\n }\n });\n // this.scrollHeight = '100%'\n }\n\n if (not_return == 0) {\n this.$nextTick(function () {\n _this.scrollTop = new Date().getTime();\n });\n }\n },\n getGroupSteate: function getGroupSteate() {\n var _this = this;\n this.$httpSend({\n path: \"/im/action/groupState\",\n data: {\n list_id: _this.list_id\n },\n success: function success(res) {\n _this.msgList.is_msg = res.is_msg;\n _this.msgList.is_action = res.is_action;\n _this.msgList.is_niming = res.is_niming;\n _this.niming_msg = res.is_niming == 0 ? \"匿名\" : \"退出匿名\";\n _this.miaoqiang = res.miaoqiang;\n _this.vendor_status = res.vendor_status;\n _this.notice = res.notice;\n _this.is_main = res.is_main;\n _this.group_state = res;\n if (_this.miaoqiang && _this.is_main && res.qiang_time > 0) {\n _this.autoFaRed(res.qiang_time);\n }\n if (res.voice_room_state) {\n //有人发起语音则自动加入\n //加入视频\n _this.$refs.serving.memberJoin(_this.list_id, function () {\n _this.onLine = true;\n });\n }\n }\n });\n },\n videoErrorCallback: function videoErrorCallback() {},\n autoVideo: function autoVideo(msg) {\n this.showVedio = true;\n this.videoPath = _data2.default.staticChat() + this.list_id + \"/\" + msg.content.url;\n },\n getCard: function getCard(msg) {\n if (msg.content.user_id != undefined) {\n uni.navigateTo({\n url: \"/pages/details/index?in=1&user_id=\" + msg.content.user_id\n });\n }\n },\n chooseCard: function chooseCard() {\n uni.navigateTo({\n url: \"./message/card_list?list_id=\" + this.list_id\n });\n },\n imageError: function imageError(e) {\n // this.my_photo = _data.staticPhoto() + '/default_photo_path.png';\n\n var index = e.currentTarget.dataset.id;\n //替换index对应的图片\n\n this.msgList.list[index].msg.user_info.face = \"/default_photo_path.png\";\n },\n imageError2: function imageError2(e) {\n this.my_photo = _data2.default.staticPhoto() + \"/default_photo_path.png\";\n },\n scrollToDom: function scrollToDom() {\n var that = this;\n var query = uni.createSelectorQuery();\n query.select(\"#msg\" + that.chat_id).boundingClientRect();\n query.select(\"#scrollview\").boundingClientRect();\n query.exec(function (res) {\n that.style.mitemHeight = 0;\n var rect = res[0];\n that.style.mitemHeight = that.style.mitemHeight + rect.height + 40;\n if (that.style.mitemHeight > that.style.contentViewHeight - 100) {\n //判断子元素高度是否大于显示高度\n that.scrollTop = that.style.mitemHeight - that.style.contentViewHeight; //用子元素的高度减去显示的高度就获益获得序言滚动的高度\n }\n });\n },\n //\n //发起视频聊天\n videoBut: function videoBut(type) {\n __f__(\"log\", \"发起通话->\", type, \" at pages/chat/message.vue:1580\");\n var data = {};\n if (type == \"voice\") {\n data.callType = 1;\n } else {\n data.callType = 2;\n }\n var arr = [];\n this.memberPhotos.forEach(function (item) {\n arr.push(item.user_id.toString());\n });\n data.user_ids = arr;\n __f__(\"log\", \"发起通话数据\", data, \" at pages/chat/message.vue:1593\");\n this.sendCall(data);\n return;\n var content_type = 6;\n this.call_ret = false;\n if (type === \"voice\") {\n this.voiceLoading = true;\n content_type = 7;\n } else {\n this.videoLoading = true;\n }\n var _this = this;\n this.$httpSend({\n path: \"/im/message/sendVideo\",\n data: {\n list_id: this.list_id,\n content_type: content_type,\n _token: uni.getStorageSync(\"token\")\n },\n success_action: true,\n success: function success(res) {\n if (res.err === 0) {\n __f__(\"log\", \"通话数据\", res, \" at pages/chat/message.vue:1618\");\n //图片转化\n res.data.myavatar = _this.staticPhoto + res.data.myavatar;\n res.data.avatar = _this.staticPhoto + res.data.avatar;\n _this.getVideo(res.data);\n } else {}\n }\n });\n },\n // 发起腾讯通话\n sendCall: function sendCall(data) {\n __f__(\"log\", '开始发起腾讯通话', \" at pages/chat/message.vue:1629\");\n var my_id = this.my_data.id;\n var user_id = '';\n data.user_ids.forEach(function (item) {\n if (item != my_id) {\n user_id = item;\n }\n });\n __f__(\"log\", \"开始打电话\", data, \" at pages/chat/message.vue:1637\");\n __f__(\"log\", uni.$TUICalling, 'uni.$TUICalling', \" at pages/chat/message.vue:1638\");\n uni.$TUICalling.call({\n type: data.callType,\n userID: user_id\n }, function (res) {\n __f__(\"log\", JSON.stringify(res), \" at pages/chat/message.vue:1644\");\n });\n // uni.$TUICalling.groupCall({\n // \t\ttype: data.callType,\n // \t\tgroupID: \"\",\n // \t\tuserIDList: data.user_ids,\n // \t},\n // \t(res) => {\n // \t\tconsole.log(JSON.stringify(res));\n // \t}\n // );\n },\n //调用视频/音频\n getVideo: function getVideo(data) {\n var _this5 = this;\n this.sendCall(data);\n return;\n data.usersig = (0, _GenerateTestUserSig.genTestUserSig)(data.userid).userSig;\n __f__(\"log\", \"调用传参\", data, \" at pages/chat/message.vue:1663\");\n __f__(\"log\", \"_this.call\", _this.call, \" at pages/chat/message.vue:1664\");\n __f__(\"log\", \"调用腾讯云data\", data, \" at pages/chat/message.vue:1665\");\n var _this = this;\n _this.call.groupCall({\n type: data.callType == \"voice\" ? 1 : 2,\n groupID: \"\",\n userIDList: data.user_ids\n }, function (ret) {\n _this5.doubleClick = false;\n __f__(\"log\", data, \" at pages/chat/message.vue:1674\");\n __f__(\"log\", ret, \" at pages/chat/message.vue:1675\");\n __f__(\"log\", \"9909090909090\", \" at pages/chat/message.vue:1676\");\n if (ret) {\n _this.videPoup = false;\n _this.voiceLoading = false;\n if (ret.code == 5 && !_this.payTimer) {\n __f__(\"log\", \"发起付费\", \" at pages/chat/message.vue:1681\");\n //先扣一次\n _get2.default.payVideoAamount({\n list_id: _this.list_id\n }, function (res) {\n __f__(\"log\", res, \" at pages/chat/message.vue:1687\");\n }, function (res) {\n __f__(\"log\", res, \" at pages/chat/message.vue:1690\");\n });\n _this.payTimer = setInterval(function () {\n _get2.default.payVideoAamount({\n list_id: _this.list_id\n }, function (res) {\n __f__(\"log\", res, \" at pages/chat/message.vue:1698\");\n }, function (res) {\n __f__(\"log\", res, \" at pages/chat/message.vue:1701\");\n clearInterval(_this.payTimer); //取消收费\n _this.payTimer = false;\n });\n }, 60000);\n }\n if (ret.code == 1 && ret.time != undefined) {\n //对方或者自己取消\n data.time = ret.time;\n data.ret_code = ret.code;\n __f__(\"log\", JSON.stringify(data), \" at pages/chat/message.vue:1712\");\n _get2.default.cancelCall(data, function (res) {});\n }\n }\n });\n },\n // 发起视频通话\n videoCall: function videoCall(type) {\n var _this = this;\n _this.callType = type;\n __f__(\"log\", 'kaishi', \" at pages/chat/message.vue:1723\");\n //\n __f__(\"log\", \"确认开始->\", \" at pages/chat/message.vue:1725\");\n _this.confirm();\n // this.videPoup = true\n // this.hideDrawer();\n },\n confirm: function confirm() {\n // if (this.doubleClick) return false;\n // this.doubleClick = true;\n if (this.callType == 1) {\n this.videoBut(\"video\");\n } else {\n this.videoBut(\"voice\");\n }\n this.$refs.popup.close();\n },\n msgDataHandle: function msgDataHandle(data, type) {\n for (var i = 0, j = data.length, msg_img; i < j; i++) {\n if (data[i].type == 0 && data[i].msg.type == 2) {\n msg_img = this.staticPath + this.list_id + \"/\" + data[i].msg.content.url.replace(\"_thumb\", \"\");\n if (type) {\n this.msgImgList.unshift(msg_img);\n } else {\n this.msgImgList.push(msg_img);\n }\n data[i].msg.content = this.setPicSize(data[i].msg.content);\n } else if (data[i].type == 0 && data[i].msg.type == 0) {\n data[i].msg.content.text = this.replaceEmoji(data[i].msg.content.text);\n }\n }\n // console.log(\"this.msgImgList\",this.msgImgList);\n return data;\n },\n // 所有图片列表\n addMsgImgList: function addMsgImgList(data) {\n this.msgImgList = [];\n for (var i = 0, j = data.length, msg_img; i < j; i++) {\n if (data[i].type == 0 && data[i].msg.type == 2) {\n this.msgImgList.push(this.staticPath + this.list_id + \"/\" + data[i].msg.content.url.replace(\"_thumb\", \"\"));\n }\n }\n },\n timestampFormat: function timestampFormat(time) {\n return _action2.default.timestampFormat(time);\n },\n msgAction: function msgAction(id, user_id, content, type) {\n var _this = this;\n // switch (_this.msgList.type) {\n // case 0:\n // if (user_id != _this.my_data.id) {\n // return;\n // }\n // break;\n // case 1:\n // if (_this.msgList.is_action == 0 && user_id != _this.my_data.id) {\n // return;\n // }\n // break;\n // default:\n // return;\n // break;\n // }\n uni.showActionSheet({\n itemList: [\"撤回\", \"收藏\", \"转发\", \"复制\"],\n success: function success(res) {\n switch (res.tapIndex) {\n case 0:\n _this.$httpSend({\n path: \"/im/message/withdraw\",\n data: {\n list_id: _this.list_id,\n type: _this.msgList.type,\n msg_id: id\n },\n success_action: true,\n success: function success(res) {\n uni.showToast({\n title: res.msg,\n icon: \"none\",\n duration: 1500\n });\n }\n });\n break;\n case 1:\n __f__(\"log\", \"收藏\", \" at pages/chat/message.vue:1820\");\n __f__(\"log\", \"收藏文件\", {\n list_id: _this.list_id,\n type: _this.msgList.type,\n msg_id: id\n }, \" at pages/chat/message.vue:1821\");\n _this.$httpSend({\n path: \"/im/vendor/saveStore\",\n data: {\n list_id: _this.list_id,\n type: _this.msgList.type,\n msg_id: id\n },\n success_action: true,\n success: function success(res) {\n uni.showToast({\n title: res.msg,\n icon: \"none\",\n duration: 1500\n });\n }\n });\n break;\n case 2:\n __f__(\"log\", \"转发\", \" at pages/chat/message.vue:1844\");\n var datas = {\n list_id: _this.list_id,\n type: _this.msgList.type,\n msg_id: id\n };\n uni.setStorageSync(\"data_msg\", JSON.stringify(datas));\n uni.navigateTo({\n url: \"../push/sendallsome?type=\" + type + \"&content=\" + JSON.stringify(content)\n });\n break;\n //收藏\n case 3:\n __f__(\"log\", \"复制\", content, \" at pages/chat/message.vue:1860\");\n if (type == 0) {\n var reg = /<\\/?.+?\\/?>/g;\n var str = content.text;\n str = str.replace(reg, \"\");\n uni.setClipboardData({\n data: str,\n success: function success() {\n uni.showToast({\n icon: \"none\",\n title: \"复制成功\"\n });\n },\n fail: function fail() {\n uni.showToast({\n icon: \"none\",\n title: \"复制失败\"\n });\n }\n });\n } else {\n uni.showToast({\n icon: \"none\",\n title: \"不支持该类消息复制\"\n });\n }\n break;\n default:\n break;\n }\n },\n fail: function fail(res) {\n //console.log(res.errMsg);\n }\n });\n },\n copyToClipboard: function copyToClipboard(str) {\n var el = document.createElement(\"textarea\");\n el.value = str;\n el.setAttribute(\"readonly\", \"\");\n el.style.position = \"absolute\";\n el.style.left = \"-9999px\";\n document.body.appendChild(el);\n var selected = document.getSelection().rangeCount > 0 ? document.getSelection().getRangeAt(0) : false;\n el.select();\n document.execCommand(\"copy\");\n document.body.removeChild(el);\n if (selected) {\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(selected);\n }\n },\n goDetails: function goDetails(user_id, row) {\n /** 如果是群聊,没有权限的话,查看不了其他会员信息 */\n if (this.msgList.type == 1 && (this.msgList.is_action == 0 || row.msg.is_niming == 1)) {\n uni.showToast({\n title: \"没有权限查看\",\n icon: \"none\",\n duration: 1000\n });\n return;\n }\n uni.navigateTo({\n url: \"../details/index?user_id=\" + user_id\n });\n },\n // 接受消息(筛选处理)\n screenMsg: function screenMsg(msg) {\n //从长连接处转发给这个方法,进行筛选处理\n if (msg.type == 2) {\n //已读信息\n this.nowReadTime = msg.msg.time;\n } else if (msg.type == 1) {\n // 系统消息\n switch (msg.msg.type) {\n case 0:\n this.addSystemTextMsg(msg);\n break;\n case 5:\n this.addSystemRedEnvelopeMsg(msg);\n break;\n }\n } else if (msg.type == 0) {\n // 用户消息\n switch (msg.msg.type) {\n case 0:\n this.addTextMsg(msg);\n break;\n case 1:\n this.addVoiceMsg(msg);\n break;\n case 2:\n this.addImgMsg(msg);\n break;\n case 5:\n this.addRedEnvelopeMsg(msg);\n break;\n }\n //console.log('用户消息');\n //非自己的消息震动\n if (msg.msg.user_info.uid != this.my_data.id) {\n //console.log('振动');\n uni.vibrateLong();\n }\n //收到信息 回传\n this.setReadTime();\n }\n var _this = this;\n this.$nextTick(function () {\n // 滚动到底\n _this.scrollTop = new Date().getTime();\n });\n },\n getReadTime: function getReadTime() {\n var _this = this;\n this.$httpSend({\n path: \"/im/message/getListTime\",\n data: {\n list_id: this.list_id\n },\n success_action: true,\n success: function success(res) {\n __f__(\"log\", 'getReadTime:成功', \" at pages/chat/message.vue:1991\");\n _this.nowReadTime = res.read_time;\n }\n });\n },\n setReadTime: function setReadTime() {\n this.$httpSend({\n path: \"/im/message/setListTime\",\n data: {\n list_id: this.list_id\n },\n success_action: true,\n success: function success(res) {\n // console.log(res)\n }\n });\n },\n //触发滑动到顶部(加载历史信息记录)\n loadHistory: function loadHistory() {\n if (this.isHistoryLoading || this.noMore) {\n return;\n }\n var _this = this;\n this.isHistoryLoading = true; //参数作为进入请求标识,防止重复请求\n\n _get2.default.getChatData({\n send_data: {\n list_id: _this.list_id,\n time: _this.msgList.list[0].msg.time,\n is_up: 0\n },\n callback: function callback(data) {\n if (data.list.length < 15) {\n _this.noMore = 1;\n }\n _this.isHistoryLoading = false;\n },\n is_action_data: 0\n });\n },\n //处理图片尺寸,如果不处理宽高,新进入页面加载图片时候会闪\n setPicSize: function setPicSize(content) {\n // 让图片最长边等于设置的最大长度,短边等比例缩小,图片控件真实改变,区别于aspectFit方式。\n var maxW = uni.upx2px(350); //350是定义消息图片最大宽度\n var maxH = uni.upx2px(350); //350是定义消息图片最大高度\n if (content.w > maxW || content.h > maxH) {\n var scale = content.w / content.h;\n content.w = scale > 1 ? maxW : maxH * scale;\n content.h = scale > 1 ? maxW / scale : maxH;\n var url_array = content.url.split(\".\");\n if (content.url.indexOf(\"_thumb.\") == -1) {\n content.url = url_array[0] + \"_thumb.\" + url_array[1];\n }\n }\n return content;\n },\n //更多功能(点击+弹出)\n showMore: function showMore() {\n this.isVoice = false;\n this.hideEmoji = true;\n if (this.hideMore) {\n this.hideMore = false;\n this.openDrawer();\n } else {\n this.hideDrawer();\n }\n },\n // 打开抽屉\n openDrawer: function openDrawer() {\n var _this = this;\n this.popupLayerClass = \"showLayer\";\n this.hideMore = false;\n setTimeout(function () {\n __f__(\"log\", \"scorll...\", \" at pages/chat/message.vue:2066\");\n _this.getScrollContentHeight(\"show\", 0);\n }, 150);\n },\n // 隐藏抽屉\n hideDrawer: function hideDrawer() {\n var not_return = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"hide\";\n //判断时间\n if (not_return == 3) {\n var time = new Date().getTime();\n if (this.doubleTime.flag) {\n this.doubleTime.firstTime = time;\n this.doubleTime.flag = false;\n } else {\n this.doubleTime.towTime = time;\n this.doubleTime.flag = true;\n }\n var timeBucket = this.doubleTime.towTime - this.doubleTime.firstTime;\n __f__(\"log\", \"timeBucket:\", timeBucket, \" at pages/chat/message.vue:2083\");\n if (timeBucket < 200 && this.doubleTime.flag) {\n //第二次进来\n clearTimeout(this.timer);\n this.doubleTime.towTime = \"\";\n this.doubleTime.firstTime = \"\";\n // this.sendChuoYiChuoMsg();\n // this.textMsg = '[戳一戳]'\n // this.sendMsg(this.textMsg, 0);\n // this.textMsg = ''\n // //发送戳一戳\n return false;\n }\n var _this = this;\n this.timer = setTimeout(function () {\n _this.toHideDrawer(not_return, type);\n }, 280);\n } else {\n this.toHideDrawer(not_return, type);\n }\n },\n sendChuoYiChuoMsg: function sendChuoYiChuoMsg() {\n _get2.default.sendChuoYiChuoMsg({\n list_id: this.list_id\n }, function () {});\n },\n toHideDrawer: function toHideDrawer() {\n var _this6 = this;\n var not_return = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"hide\";\n this.popupLayerClass = \"\";\n setTimeout(function () {\n _this6.hideMore = true;\n _this6.hideEmoji = true;\n _this6.getScrollContentHeight(type, not_return);\n }, 150);\n },\n // 选择图片发送\n chooseImage: function chooseImage() {\n this.getImage(\"album\");\n },\n //拍照发送\n camera: function camera() {\n this.getImage(\"camera\");\n },\n //拍摄视频发送\n video: function video() {\n var _this7 = this;\n uni.chooseVideo({\n success: function success(res) {\n var min = parseInt(res.size / 60),\n sec = res.size % 60;\n min = min < 10 ? \"0\" + min : min;\n sec = sec < 10 ? \"0\" + sec : sec;\n var msg = {\n url: res.tempFilePath,\n length: min + \":\" + sec\n };\n _this7.sendMsg(msg, 3);\n }\n });\n },\n //发红包\n handRedEnvelopes: function handRedEnvelopes() {\n // this.hideDrawer(1);\n __f__(\"log\", 111, \" at pages/chat/message.vue:2146\");\n var url = \"message/hand?list_id=\" + this.list_id + \"&msg_type=\" + this.msgList.type;\n if (this.vendor_status) url = \"message/hand_pin?list_id=\" + this.list_id + \"&msg_type=\" + this.msgList.type;\n uni.navigateTo({\n url: url\n });\n },\n //转账\n transfers: function transfers() {\n //TODO跳转到转账页面\n },\n //选照片 or 拍照\n getImage: function getImage(type) {\n var _this8 = this;\n this.hideDrawer(1);\n uni.chooseImage({\n sourceType: [type],\n sizeType: [\"original\", \"compressed\"],\n //可以指定是原图还是压缩图,默认二者都有\n success: function success(res) {\n var _loop = function _loop(i) {\n uni.getImageInfo({\n src: res.tempFilePaths[i],\n success: function success(image) {\n //console.log(image.width);\n //console.log(image.height);\n var msg = {\n url: res.tempFilePaths[i],\n w: image.width,\n h: image.height\n };\n _this8.sendMsg(msg, 2);\n }\n });\n };\n for (var i = 0; i < res.tempFilePaths.length; i++) {\n _loop(i);\n }\n }\n });\n },\n // 选择表情\n chooseEmoji: function chooseEmoji() {\n this.hideMore = true;\n if (this.hideEmoji) {\n this.hideEmoji = false;\n this.openDrawer();\n } else {\n this.hideDrawer();\n }\n },\n //添加表情\n addEmoji: function addEmoji(em) {\n this.textMsg += em.alt;\n },\n //获取焦点,如果不是选表情ing,则关闭抽屉\n textareaFocus: function textareaFocus() {\n var _this = this;\n _this.hideDrawer(0, \"show\");\n return;\n if (_this.popupLayerClass == \"showLayer\" && this.hideMore == false) {\n _this.hideDrawer();\n }\n },\n // 发送文字消息\n sendText: function sendText() {\n this.hideDrawer(1); //隐藏抽屉\n if (!this.textMsg) {\n return;\n }\n this.sendMsg(\"\", 0);\n //清空输入框\n this.textMsg = \"\";\n },\n //替换表情符号为图片\n replaceEmoji: function replaceEmoji(str) {\n var _this9 = this;\n str = str ? str : \"\";\n var replacedStr = str.replace(/\\[([^(\\]|\\[)]*)\\]/g, function (item, index) {\n // console.log(\"item: \" + item);\n for (var i = 0; i < _this9.emojiList.length; i++) {\n var row = _this9.emojiList[i];\n for (var j = 0; j < row.length; j++) {\n var EM = row[j];\n if (EM.alt == item) {\n //在线表情路径,图文混排必须使用网络路径,请上传一份表情到你的服务器后再替换此路径\n //比如你上传服务器后,你的100.gif路径为https://www.xxx.com/emoji/100.gif 则替换onlinePath填写为https://www.xxx.com/emoji/\n var imgstr = '
';\n // console.log(\"imgstr: \" + imgstr);\n return imgstr;\n }\n }\n }\n });\n // display: flex;\n // return '' + replacedStr + '
';\n return replacedStr;\n },\n showQiang: function showQiang() {\n this.$refs.qiang.open();\n },\n autoFaRed: function autoFaRed(num) {\n var _this = this;\n var time = num * 1000;\n if (time <= 0) return false;\n if (_this.timer) clearInterval(_this.redTimer);\n _this.redTimer = setInterval(function () {\n _get2.default.autoBigRed({\n list_id: _this.list_id\n }, function () {});\n }, num * 1000);\n },\n goQiang: function goQiang(e) {\n var _this = this;\n e.list_id = _this.list_id;\n _get2.default.updateMiaoqiang(e, function (res) {\n _this.miaoqiang = e.status;\n __f__(\"log\", e, \" at pages/chat/message.vue:2277\");\n if (e.status == 1) {\n __f__(\"log\", \"发包.......\", \" at pages/chat/message.vue:2279\");\n _this.autoFaRed(e.num);\n } else {\n clearInterval(_this.redTimer);\n }\n setTimeout(function () {\n uni.showToast({\n title: \"操作成功\",\n duration: 2000\n });\n _this.$refs.qiang.close();\n }, 500);\n });\n },\n // 发送消息\n sendMsg: function sendMsg(content, type) {\n var _this10 = this;\n __f__(\"log\", '发送内容content:', content, \" at pages/chat/message.vue:2295\");\n // uni.showLoading();\n var _this = this,\n sendMsg = content;\n (function (callback) {\n switch (type) {\n /** 文字/表情消息 */\n case 0:\n var msg = _this10.textMsg.replace(/= 0) {\n this.toDetails(msg.content.rid);\n return true;\n }\n this.windowsState = \"show\";\n this.redenvelopeData = msg.content;\n this.redenvelopeData.index = index;\n return true;\n },\n // 关闭红包弹窗\n closeRedEnvelope: function closeRedEnvelope() {\n var _this11 = this;\n this.windowsState = \"hide\";\n setTimeout(function () {\n _this11.windowsState = \"\";\n }, 200);\n },\n sendSystemMsg: function sendSystemMsg(content, type) {\n var lastid = this.msgList.list[this.msgList.list.length - 1].msg.id;\n lastid++;\n var row = {\n type: \"system\",\n msg: {\n id: lastid,\n type: type,\n content: content\n }\n };\n this.screenMsg(row);\n },\n //领取详情\n toDetails: function toDetails(rid) {\n uni.navigateTo({\n url: \"message/details?rid=\" + rid + \"&list_id=\" + this.list_id\n });\n },\n // 预览图片\n showPic: function showPic(msg) {\n __f__(\"log\", \"msg预览1\", msg, \" at pages/chat/message.vue:2570\");\n var url = this.staticPath + this.list_id + \"/\" + msg.content.url.replace(\"_thumb\", \"\");\n uni.previewImage({\n indicator: \"none\",\n urls: [url]\n });\n },\n // 预览图片\n showPic1: function showPic1(msg) {\n __f__(\"log\", \"msg预览2类型图片\", msg, \" at pages/chat/message.vue:2583\");\n var url = this.staticPath + this.list_id + \"/\" + msg.content.url.replace(\"_thumb\", \"\");\n uni.previewImage({\n current: url,\n indicator: \"none\",\n urls: this.msgImgList\n });\n },\n // 预览文字图片链接\n showPic2: function showPic2(url) {\n __f__(\"log\", \"msg预览3\", url, \" at pages/chat/message.vue:2597\");\n uni.previewImage({\n indicator: \"none\",\n urls: [url]\n });\n },\n // 播放语音\n playVoice: function playVoice(msg) {\n __f__(\"log\", \"播放语音\", msg, \" at pages/chat/message.vue:2605\");\n this.AUDIO.stop();\n var _this = this;\n if (this.playMsgid == msg.id) {\n this.playMsgid = null;\n } else {\n this.playMsgid = msg.id;\n // this.AUDIO.obeyMuteSwitch = false;\n // todo修复语音\n var url = this.staticPath + msg.content.full_url;\n _this.AUDIO.src = url;\n _this.$nextTick(function () {\n _this.AUDIO.play();\n });\n // this.AUDIO.src = (this.staticPath + msg.content.url + '?_=' + Math.random());\n }\n },\n // 录音开始\n voiceBegin: function voiceBegin(e) {\n if (e.touches.length > 1) {\n return;\n }\n this.initPoint.Y = e.touches[0].clientY;\n this.initPoint.identifier = e.touches[0].identifier;\n // this.RECORDER.start({ format: \"mp3\" });//录音开始,\n // 开始录音\n this.RECORD.start({\n format: \"mp3\"\n });\n },\n //录音开始UI效果\n recordBegin: function recordBegin(e) {\n /** 暂停语音播放 */\n this.AUDIO.pause();\n this.recording = true;\n this.voiceTis = \"松开 结束\";\n },\n // 录音被打断\n voiceCancel: function voiceCancel() {\n this.recording = false;\n this.voiceTis = \"按住 说话\";\n this.recordTis = \"手指上滑 取消发送\";\n this.willStop = true; //不发送录音\n this.RECORD.stop(); //录音结束\n },\n // 录音中(判断是否触发上滑取消发送)\n voiceIng: function voiceIng(e) {\n if (!this.recording) {\n return;\n }\n var touche = e.touches[0];\n //上滑一个导航栏的高度触发上滑取消发送\n if (this.initPoint.Y - touche.clientY >= uni.upx2px(100)) {\n this.willStop = true;\n this.recordTis = \"松开手指 取消发送\";\n } else {\n this.willStop = false;\n this.recordTis = \"手指上滑 取消发送\";\n }\n },\n // 结束录音\n voiceEnd: function voiceEnd(e) {\n if (!this.recording) {\n return;\n }\n this.recording = false;\n this.voiceTis = \"按住 说话\";\n this.recordTis = \"手指上滑 取消发送\";\n this.RECORD.stop(); //录音结束\n },\n //录音结束(回调文件)\n recordEnd: function recordEnd(e) {\n if (!this.willStop) {\n //console.log(\"e: \" + JSON.stringify(e));\n var msg = {\n length: 0,\n url: e.tempFilePath\n };\n __f__(\"log\", JSON.stringify(msg), \" at pages/chat/message.vue:2683\");\n var min = parseInt(this.RecordTime / 60);\n var sec = this.RecordTime % 60;\n min = min < 10 ? \"0\" + min : min;\n sec = sec < 10 ? \"0\" + sec : sec;\n if (min > 0 || sec > 0) {\n msg.length = min + \":\" + sec;\n this.sendMsg(msg, 1);\n }\n } else {\n __f__(\"log\", \"取消发送录音\", \" at pages/chat/message.vue:2693\");\n }\n this.willStop = false;\n },\n // 切换语音/文字输入\n switchVoice: function switchVoice() {\n this.hideDrawer(1);\n this.isVoice = this.isVoice ? false : true;\n },\n discard: function discard() {\n return;\n },\n sayCall: function sayCall() {\n var status = 0; //默认关闭匿名\n __f__(\"log\", \"this.msgList.is_niming:\", this.msgList.is_niming, \" at pages/chat/message.vue:2707\");\n if (this.msgList.is_niming == 0) {\n uni.showLoading({\n title: \"匿名开启中...\"\n });\n status = 1;\n }\n var _this = this;\n _get2.default.updateUserSayType({\n list_id: this.list_id,\n status: status\n }, function () {\n if (_this.msgList.is_niming == 0) {\n uni.showToast({\n title: \"开启成功\",\n image: \"/static/theme/default/my/niming.png\",\n duration: 2000\n });\n _this.msgList.is_niming = 1;\n _this.niming_msg = \"退出匿名\";\n } else {\n _this.msgList.is_niming = 0;\n _this.niming_msg = \"匿名\";\n }\n _this.textareaFocus(); //隐藏抽屉\n }, function (ret) {\n uni.showToast({\n title: ret.msg,\n icon: \"none\",\n duration: 2000\n });\n });\n },\n scrollEven: function scrollEven(e) {},\n zhendong: function zhendong() {\n _get2.default.zhendong({\n list_id: this.list_id\n }, function (res) {}, function (res) {\n uni.showToast({\n title: res.msg,\n duration: 2000,\n icon: \"none\"\n });\n });\n },\n group_info: function group_info() {\n uni.navigateTo({\n url: \"./message/more?list_id=\" + this.list_id + \"&type=\" + this.msgList.type\n });\n },\n toUserDetail: function toUserDetail(item) {\n if (this.msgList.type == 1 && this.msgList.is_action == 0) {\n uni.showToast({\n title: \"没有权限查看\",\n icon: \"none\",\n duration: 1000\n });\n return;\n }\n uni.navigateTo({\n url: \"../details/index?user_id=\" + item.user_id + \"&type=1&list_id=\" + this.list_id + \"&is_action=\" + this.is_action\n });\n },\n getServing: function getServing() {\n //判断权限\n if (this.msgList.type == 1 && this.msgList.is_action == 0 && this.group_state && this.group_state.can_shangmai == 0) {\n uni.showToast({\n title: \"此群被设置为只有群主和管理员才能上麦\",\n icon: \"none\",\n duration: 1000\n });\n return;\n }\n var _this = this;\n if (this.onLine) {\n //在房间里直开启\n _this.showServing = true;\n __f__(\"log\", \"onLine.....\", \" at pages/chat/message.vue:2804\");\n this.$refs.serving.joinOnline(this.list_id);\n return true;\n }\n __f__(\"log\", \"_this.servingState:\", _this.servingState, \" at pages/chat/message.vue:2808\");\n if (_this.servingState == 1) {\n //下麦\n _this.showServing = false;\n _this.$refs.serving.xiaMai(this.list_id);\n } else {\n //上麦\n __f__(\"log\", \"joinRoom....\", \" at pages/chat/message.vue:2815\");\n _this.showServing = true;\n this.$refs.serving.joinRoom(this.list_id);\n }\n },\n setSeringState: function setSeringState(detail) {\n __f__(\"log\", \"this.servingState:\", JSON.stringify(detail), \" at pages/chat/message.vue:2821\");\n this.servingState = detail.state;\n }\n }),\n watch: {},\n onNavigationBarButtonTap: function onNavigationBarButtonTap(e) {\n uni.navigateTo({\n url: \"./message/more?list_id=\" + this.list_id + \"&type=\" + this.msgList.type\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 */ 33)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvY2hhdC9tZXNzYWdlLnZ1ZSJdLCJuYW1lcyI6WyJjb21wb25lbnRzIiwidW5pTG9hZE1vcmUiLCJ1bmlQb3B1cCIsInVuaVBvcHVwQ29uZmlybSIsInVuaVBvcHVwUWlhbmciLCJ0ZXh0U2Nyb2xsIiwibmtTZWxlY3RGaWxlIiwic2VsZWN0RnJpZW5kIiwiZGF0YSIsInNlcnZpbmdTdGF0ZSIsIm9uTGluZSIsInNob3dTZXJ2aW5nIiwibWVtYmVyUGhvdG9zIiwiaXNfbWFpbiIsIm5vd1JlYWRUaW1lIiwicmVkVGltZXIiLCJub3RpY2UiLCJzY3JvbGxJbmZvIiwiaW5wdXRfYm94X2hlaWdodDEiLCJpbnB1dF9ib3hfaGVpZ2h0MiIsInRvdGFsbF9oZWlnaHQiLCJzY3JvbGxIZWlnaHQiLCJuaW1pbmdfbXNnIiwidmlkZW9Db250ZXh0IiwidmlkZW9QYXRoIiwic2hvd1ZlZGlvIiwicmVjZWl2ZV9saXN0IiwibHVja2J0biIsInNjcm9sbFRvcCIsImNoYXRfaWQiLCJ2aWRlUG91cCIsInZpZGVQbGF5Iiwidm9pY2VMb2FkaW5nIiwidmlkZW9Mb2FkaW5nIiwidGV4dE1zZyIsImlzSGlzdG9yeUxvYWRpbmciLCJzY3JvbGxBbmltYXRpb24iLCJzY3JvbGxUb1ZpZXciLCJtc2dMaXN0Iiwic2hvd19uYW1lIiwibGlzdCIsInR5cGUiLCJpc19tc2ciLCJpc19hY3Rpb24iLCJtc2dJbWdMaXN0Iiwibm9Nb3JlIiwiaXNWb2ljZSIsInZvaWNlVGlzIiwicmVjb3JkVGlzIiwicmVjb3JkaW5nIiwid2lsbFN0b3AiLCJpbml0UG9pbnQiLCJpZGVudGlmaWVyIiwiWSIsInJlY29yZFRpbWVyIiwicmVjb3JkTGVuZ3RoIiwicGxheU1zZ2lkIiwiVm9pY2VUaW1lciIsInBvcHVwTGF5ZXJDbGFzcyIsImhpZGVNb3JlIiwiaGlkZUVtb2ppIiwiZW1vamlMaXN0Iiwid2luZG93c1N0YXRlIiwicmVkZW52ZWxvcGVEYXRhIiwicmlkIiwiZnJvbSIsImZhY2UiLCJibGVzc2luZyIsIm1vbmV5IiwiaW5kZXgiLCJsaXN0X2lkIiwibXlfZGF0YSIsInN0eWxlIiwicGFnZUhlaWdodCIsImNvbnRlbnRWaWV3SGVpZ2h0IiwiZm9vdFZpZXdIZWlnaHQiLCJtaXRlbUhlaWdodCIsImNhbGxfcmV0IiwibXlfcGhvdG8iLCJjYWxsVHlwZSIsInBvcHVNc2ciLCJwYXlUaW1lciIsIktleWJvYXJkIiwibWlhb3FpYW5nIiwidmVuZG9yX3N0YXR1cyIsImRvdWJsZUNsaWNrIiwiZG91YmxlVGltZSIsImZpcnN0VGltZSIsInRvd1RpbWUiLCJmbGFnIiwidGltZXIiLCJncm91cF9zdGF0ZSIsImlzT25saW5lIiwic2hvd1VwbG9hZEZpbGUiLCJzZW5kX3VzZXJfaWQiLCJwb3BIZWlnaHQiLCJtZW1iZXJzIiwib25CYWNrUHJlc3MiLCJ1bmkiLCJ1cmwiLCJvbkxvYWQiLCJ0aXRsZSIsImljb24iLCJkdWNhdGlvbiIsIm9uVW5sb2FkIiwiY2hhdF9kYXRhIiwiX2RhdGEiLCJjbGVhckludGVydmFsIiwiX3RoaXMiLCJtb3VudGVkIiwic2V0VGltZW91dCIsImNyZWF0ZWQiLCJvblNob3ciLCJjb21wdXRlZCIsIlJFQ09SRCIsIkFVRElPIiwiUmVjb3JkVGltZSIsIktleWJvYXJkSCIsImN1c3RvbV9mb250X3NpemUiLCJnZXRTZXJ2aW5nVGV4dCIsIm15UGhvdG8iLCJpbWdSYW4iLCJzdGF0aWNQYXRoIiwic3RhdGljVmlkZW9JbWciLCJzdGF0aWNQaG90byIsInNlbmRNc2dDbGFzcyIsImljb25TaG93Iiwic3lzdGVtQ2xhc3MiLCJvblJlYWR5IiwibWV0aG9kcyIsImlzSW1hZ2UiLCJzZWxlY3RNZW1iZXIiLCJwYXRoIiwidXNlcnMiLCJzdWNjZXNzX2FjdGlvbiIsInN1Y2Nlc3MiLCJyb3ciLCJkdXJhdGlvbiIsInNlbGVjdFJlbW92ZU1lbWJlciIsImdldEdyb3VwTWVtYmVycyIsInNob3dBY3Rpb24iLCJpdGVtIiwiYWRkRnJpZW5kQ2hhdCIsIm1zZyIsImNsb3NlRnJpZW5kcyIsImluaXREYXRhIiwiX2hvb2siLCJfZ2V0Iiwic2VuZF9kYXRhIiwidGltZSIsImlzX3VwIiwiaXNfYWN0aW9uX2RhdGEiLCJzaG93Q2FuY2VsIiwiY29udGVudCIsImNob29zZUxpa2UiLCJkb3duRmlsZSIsInRlbXBGaWxlUGF0aCIsIm9wZW5NYXAiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsIm5hbWUiLCJhZGRyZXNzIiwidXBsb2FkQUZpbGUiLCJsZW5ndGgiLCJjaG9vc2VGaWxlIiwiY2hvb3NlQ2h1byIsInNlbmRQb3MiLCJnZXRIdG1sIiwiaW5wdXRUZXh0Iiwia2V5IiwibGVuZ3RoMSIsImdldFNjcm9sbENvbnRlbnRIZWlnaHQiLCJxdWVyeSIsImF1dG9IZWlnaHQiLCJyZXMiLCJnZXRHcm91cFN0ZWF0ZSIsInZpZGVvRXJyb3JDYWxsYmFjayIsImF1dG9WaWRlbyIsImdldENhcmQiLCJjaG9vc2VDYXJkIiwiaW1hZ2VFcnJvciIsImltYWdlRXJyb3IyIiwic2Nyb2xsVG9Eb20iLCJ0aGF0IiwidmlkZW9CdXQiLCJhcnIiLCJjb250ZW50X3R5cGUiLCJfdG9rZW4iLCJzZW5kQ2FsbCIsInVzZXJfaWQiLCJ1c2VySUQiLCJnZXRWaWRlbyIsImdyb3VwSUQiLCJ1c2VySURMaXN0IiwidmlkZW9DYWxsIiwiY29uZmlybSIsIm1zZ0RhdGFIYW5kbGUiLCJtc2dfaW1nIiwiYWRkTXNnSW1nTGlzdCIsInRpbWVzdGFtcEZvcm1hdCIsIm1zZ0FjdGlvbiIsIml0ZW1MaXN0IiwibXNnX2lkIiwiSlNPTiIsInN0ciIsImZhaWwiLCJjb3B5VG9DbGlwYm9hcmQiLCJlbCIsImRvY3VtZW50IiwiZ29EZXRhaWxzIiwic2NyZWVuTXNnIiwiZ2V0UmVhZFRpbWUiLCJzZXRSZWFkVGltZSIsImxvYWRIaXN0b3J5IiwiY2FsbGJhY2siLCJzZXRQaWNTaXplIiwic2hvd01vcmUiLCJvcGVuRHJhd2VyIiwiaGlkZURyYXdlciIsImNsZWFyVGltZW91dCIsInNlbmRDaHVvWWlDaHVvTXNnIiwidG9IaWRlRHJhd2VyIiwiY2hvb3NlSW1hZ2UiLCJjYW1lcmEiLCJ2aWRlbyIsInNlYyIsIm1pbiIsImhhbmRSZWRFbnZlbG9wZXMiLCJ0cmFuc2ZlcnMiLCJnZXRJbWFnZSIsInNvdXJjZVR5cGUiLCJzaXplVHlwZSIsImkiLCJzcmMiLCJ3IiwiaCIsImNob29zZUVtb2ppIiwiYWRkRW1vamkiLCJ0ZXh0YXJlYUZvY3VzIiwic2VuZFRleHQiLCJyZXBsYWNlRW1vamkiLCJFTSIsInNob3dRaWFuZyIsImF1dG9GYVJlZCIsImdvUWlhbmciLCJlIiwic2VuZE1zZyIsInRleHQiLCJsb2NhbF91cmwiLCJfYWN0aW9uIiwiY29uZmlybVRleHQiLCJvYmpfaWQiLCJhZGRUZXh0TXNnIiwiYWRkVm9pY2VNc2ciLCJhZGRJbWdNc2ciLCJhZGRSZWRFbnZlbG9wZU1zZyIsImFkZFN5c3RlbVRleHRNc2ciLCJhZGRTeXN0ZW1SZWRFbnZlbG9wZU1zZyIsIm9wZW5SZWQiLCJwYXJhbXMiLCJvcGVuUmVkRW52ZWxvcGUiLCJjbG9zZVJlZEVudmVsb3BlIiwic2VuZFN5c3RlbU1zZyIsImxhc3RpZCIsImlkIiwidG9EZXRhaWxzIiwic2hvd1BpYyIsImluZGljYXRvciIsInVybHMiLCJzaG93UGljMSIsImN1cnJlbnQiLCJzaG93UGljMiIsInBsYXlWb2ljZSIsInZvaWNlQmVnaW4iLCJmb3JtYXQiLCJyZWNvcmRCZWdpbiIsInZvaWNlQ2FuY2VsIiwidm9pY2VJbmciLCJ2b2ljZUVuZCIsInJlY29yZEVuZCIsInN3aXRjaFZvaWNlIiwiZGlzY2FyZCIsInNheUNhbGwiLCJzdGF0dXMiLCJpbWFnZSIsInNjcm9sbEV2ZW4iLCJ6aGVuZG9uZyIsImdyb3VwX2luZm8iLCJ0b1VzZXJEZXRhaWwiLCJnZXRTZXJ2aW5nIiwic2V0U2VyaW5nU3RhdGUiLCJ3YXRjaCIsIm9uTmF2aWdhdGlvbkJhckJ1dHRvblRhcCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBNm9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBRUE7QUFFQTtBQUFBO0FBQUEsZUFFQTtFQUNBQTtJQUNBQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQztNQUNBQztNQUVBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBQztRQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BRUE7TUFDQTs7TUFFQUM7TUFDQUM7TUFDQTtNQUNBQztNQUNBO01BQ0FDO01BQ0E7TUFDQUM7TUFDQUM7TUFFQTtNQUNBOztNQUVBO01BQ0FDO01BQ0FDO1FBQ0FDO1FBQUE7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQztNQUNBQztNQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQUE7TUFDQUM7TUFDQUM7TUFDQXhDO01BQ0F5QztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQUE7TUFDQUM7TUFBQTs7TUFFQUM7TUFBQTs7TUFFQUM7TUFBQTs7TUFFQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQUM7TUFDQUM7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFBQTtJQUNBOztJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0lBR0E7SUFDQTtNQUNBO0lBQ0E7SUFDQTtNQUNBRjtRQUNBRztRQUNBQztRQUNBQztNQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQTtNQUNBO0lBQ0E7O0lBRUE7SUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtJQUNBQztJQUNBQztJQUNBO0lBQ0FBO0lBQ0E7SUFDQTtJQUNBO0lBQ0FSO0lBQ0FBO0lBQ0FBO0lBQ0FBO0lBQ0FBO0lBQ0FBO0lBQ0FBO0lBQ0FBO0lBQ0FTO0lBQ0FBO0lBRUE7TUFDQUM7SUFDQTtNQUNBQTtJQUNBO0VBQ0E7RUFDQUM7SUFBQTtJQUNBO0lBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBRjtJQUNBO0VBQ0E7RUFDQUc7RUFFQUM7SUFDQTtFQUNBO0VBQ0FDLDBDQUNBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7RUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUlBLCtEQUNBLEtBQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0VBQUEsRUFDQTtFQUNBQztJQUNBO0lBQ0E7TUFDQTtNQUNBO01BQ0E7SUFBQTtFQUVBO0VBQ0FDLHlDQUNBLHlCQUNBLHFCQUNBLG1CQUNBLG1CQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0EsVUFDQTtNQUNBO01BQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7UUFDQTtRQUNBO1VBQ0E7UUFDQTtVQUNBO1FBQ0E7TUFDQTtNQUNBO01BQ0F2QjtRQUNBd0I7UUFDQTVIO1VBQ0E2SDtVQUNBL0Q7VUFDQTdCO1FBQ0E7UUFDQTZGO1FBQ0FDO1VBQ0FDO1VBQ0E1QjtVQUNBO1VBQ0FWO1lBQ0FHO1lBQ0FvQztVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7UUFDQTtRQUNBO1VBQ0E7UUFDQTtVQUNBO1FBQ0E7TUFDQTtNQUNBO01BQ0E5QjtRQUNBd0I7UUFDQTVIO1VBQ0E2SDtVQUNBL0Q7UUFDQTtRQUNBZ0U7UUFDQUM7VUFDQUM7VUFDQTVCO1VBQ0FWO1lBQ0FHO1lBQ0FvQztZQUNBbkM7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FxQztNQUNBO01BQ0EvQjtRQUNBd0I7UUFDQTVIO1VBQ0E4RDtVQUNBN0I7UUFDQTtRQUNBOEY7VUFDQTNCO1VBQ0E7VUFDQTRCO1VBQ0E1QjtRQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FnQztNQUNBO1FBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQUM7TUFDQTtNQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0FDO01BQ0FDO01BQ0E7TUFDQTtNQUVBO01BQ0E7TUFDQWpEO01BQ0FBO01BQ0FBO01BQ0FBO01BQ0FBO01BQ0FBO01BQ0FBO01BQ0FBO01BQ0FBO01BQ0FBO01BQ0FBO01BQ0FBO01BQ0FTO01BQ0FBO01BQ0FDO01BQ0FWO1FBQ0E7UUFDQVU7TUFDQTtNQUNBQTtNQUNBO01BQ0FBO01BQ0E7TUFDQXVDO1FBQ0FDO1VBQ0E5RTtVQUNBK0U7VUFDQUM7UUFDQTtRQUNBQztNQUNBO01BQ0E7TUFDQTtRQUNBM0M7UUFDQTtRQUNBO1FBQ0E7UUFDQTtVQUNBbUM7UUFDQTtVQUNBQTtRQUNBO1FBQ0E3QztVQUNBRztRQUNBO1FBQ0FPO1FBQ0FIO1FBQ0FHO1FBRUFBO1FBQ0E7UUFDQUU7VUFDQUY7WUFDQUE7WUFDQTtZQUNBO1VBQ0E7UUFDQTtRQUNBO1FBQ0FBO1FBQ0E7VUFDQUE7UUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBRjtNQUNBO01BQ0E7TUFDQTtNQUNBUjtRQUFBO1FBQ0E7UUFDQTFGO1FBQ0FvRztRQUNBO1FBQ0E7UUFDQTtRQUNBQTtVQUNBQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO01BQ0E7TUFDQVY7UUFDQVU7UUFDQTtRQUNBQTtRQUNBcEc7UUFDQW9HO1FBQ0FBO1FBQ0E7UUFDQTtRQUNBQTtRQUNBO1FBQ0FFO1VBQ0FGO1lBQ0E7WUFDQUE7WUFDQTtVQUNBO1FBQ0E7TUFDQTtNQUNBO01BQ0FWO1FBQ0FVO1FBQ0E7UUFDQTtNQUNBO01BQ0E7TUFDQVY7UUFDQTtRQUNBO1VBQ0E2QztRQUNBO1VBQ0FBO1FBQ0E7UUFDQTdDO1VBQ0FHO1FBQ0E7UUFDQTdGO1FBQ0FvRztRQUNBQTtRQUNBO1FBQ0E7UUFDQUE7UUFFQTtVQUNBQTtRQUNBO1FBQ0E7UUFDQUE7VUFDQTtVQUNBO1VBQ0FBO1FBQ0E7TUFDQTtNQUNBO01BQ0FWO1FBQ0FVO1FBQ0FBO01BQ0E7TUFDQTtNQUNBVjtRQUNBO1FBQ0FVO1FBRUE7VUFDQTtVQUNBO1VBQ0FBO1FBQ0E7VUFDQTtVQUNBQTtRQUNBO01BQ0E7TUFDQVY7UUFDQVU7UUFDQTtRQUNBQTtRQUNBO1VBQ0FBO1FBQ0E7VUFDQUE7UUFDQTtNQUNBO01BRUFWO1FBQ0FVO1VBQ0FBO1VBQ0FBO1FBQ0E7TUFDQTtNQUNBVjtRQUNBVTtNQUNBO01BQ0F1QztRQUNBN0U7TUFDQSxHQUNBO1FBQ0FzQztRQUNBO01BQ0EsRUFDQTtNQUNBO01BQ0FWO1FBQ0FBO1VBQ0FHO1VBQ0FtRDtVQUNBQztVQUNBbEI7UUFDQTtRQUNBM0I7TUFDQTtNQUNBO01BQ0FWO1FBQ0FVO1FBQ0F1QztVQUNBQztZQUNBOUU7WUFDQStFO1lBQ0FDO1VBQ0E7VUFDQUM7UUFDQTtNQUNBO01BQ0E7TUFDQXJEO1FBQ0FVO1FBQ0FGO1FBQ0FFO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBOEM7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Q0E7SUFDQTtJQUNBNkw7TUFDQTtRQUNBOUw7VUFDQUc7VUFDQUM7VUFDQW1DO1FBQ0E7UUFDQTtNQUNBO01BQ0F2QztRQUNBQyxtQ0FDQTBDLGVBQ0EscUJBQ0EsZUFDQSxnQkFDQTtNQUNBO0lBQ0E7SUFDQW9KO01BQ0E7TUFDQSxJQUNBLDBCQUNBLCtCQUNBLG9CQUNBLG9DQUNBO1FBQ0EvTDtVQUNBRztVQUNBQztVQUNBbUM7UUFDQTtRQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0E7UUFDQTdCO1FBQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0E7UUFDQUE7UUFDQUE7TUFDQTtRQUNBO1FBQ0E7UUFDQUE7UUFDQTtNQUNBO0lBQ0E7SUFDQXNMO01BQ0E7TUFDQTtJQUNBO0VBQUEsRUFDQTtFQUNBQztFQUNBQztJQUNBbE07TUFDQUM7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIxMTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblxyXG5cdDx2aWV3IGNsYXNzPVwicGFnZVwiIDpzdHlsZT1cIntvdmVyZmxvdzogJ2hpZGRlbicsJy0tY3VzdG9tLWZvbnQtc2l6ZSc6IGN1c3RvbV9mb250X3NpemUrJ3B4J31cIj5cclxuXHRcdDwhLS0gI2lmZGVmIEFQUC1QTFVTIC0tPlxyXG5cdFx0PHNlcnZpbmctdmlldyA6bGlzdF9pZD1cImxpc3RfaWRcIiBAc2V0U3RhdGU9XCJzZXRTZXJpbmdTdGF0ZVwiIDpzaG93PVwic2hvd1NlcnZpbmdcIiA6c3RhdGU9XCJzZXJ2aW5nU3RhdGVcIlxyXG5cdFx0XHRAY2xvc2VTZXJ2aW5nPVwic2hvd1NlcnZpbmcgPSBmYWxzZVwiIHJlZj1cInNlcnZpbmdcIj48L3NlcnZpbmctdmlldz5cclxuXHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJwYWdlLWNvbnRlbnRcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJnb25nLWdhby1jb250ZW50XCIgdi1pZj1cIm1zZ0xpc3QudHlwZSA9PSAxXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtZW1iZXItaW1hZ2UtbG9nb1wiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtZW1iZXItY29udGVudFwiIHYtZm9yPVwiKGl0ZW0saSkgaW4gbWVtYmVyUGhvdG9zXCIgOmtleT1cImlcIj5cclxuXHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiaW1nLWxvZ29cIiA6c3JjPVwic3RhdGljUGhvdG8rIGl0ZW0ucGhvdG9cIiBAdGFwPVwidG9Vc2VyRGV0YWlsKGl0ZW0pXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiamlhemFpXCIgdi1pZj1cIm1lbWJlclBob3Rvcy5sZW5ndGggPj01XCIgQHRhcD1cImdyb3VwX2luZm9cIj5cclxuXHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi9zdGF0aWMvdGhlbWUvZGVmYXVsdC9qaWF6YWkucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJnb25nLWdhby1jb250ZW50LWluZm9cIiB2LWlmPVwiMFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpY29uZm9udC1pbSBpY29uLWdvbmdnYW8gZ29uZy1nYW8tY29udGVudC1pbmZvLWljb25cIj48L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dGV4dC1zY3JvbGwgOnRleHQ9XCJub3RpY2VcIiByZWY9XCJzY3JvbGxOb3RpY2VcIj48L3RleHQtc2Nyb2xsPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8IS0tPHZpZXcgY2xhc3M9XCJtZW1iZXItaW1hZ2UtbG9nb1wiPi0tPlxyXG5cdFx0XHRcdDwhLS08aW1hZ2Ugc3JjPVwiaHR0cHM6Ly9pbS5zbWlhb3NoZW4uY29tL3N0YXRpYy9waG90by9kZWZhdWx0X21hbi8zMDAuanBnXCI+PC9pbWFnZT4tLT5cclxuXHRcdFx0XHQ8IS0tPC92aWV3Pi0tPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnRcIj5cclxuXHJcblx0XHRcdFx0PHNjcm9sbC12aWV3IGNsYXNzPVwibXNnLWxpc3RcIiA6c3R5bGU9XCJ7aGVpZ2h0OnNjcm9sbEhlaWdodH1cIiBzY3JvbGwteT1cInRydWVcIlxyXG5cdFx0XHRcdFx0OnNjcm9sbC13aXRoLWFuaW1hdGlvbj1cInNjcm9sbEFuaW1hdGlvblwiIDpzY3JvbGwtaW50by12aWV3PVwic2Nyb2xsVG9WaWV3XCJcclxuXHRcdFx0XHRcdEBzY3JvbGx0b3VwcGVyPVwibG9hZEhpc3RvcnlcIiA6dXBwZXItdGhyZXNob2xkPVwiMzBcIiBpZD1cInNjcm9sbHZpZXdcIiA6c2Nyb2xsLXRvcD1cInNjcm9sbFRvcFwiXHJcblx0XHRcdFx0XHRAc2Nyb2xsPVwic2Nyb2xsRXZlblwiIEB0b3VjaHN0YXJ0PVwiaGlkZURyYXdlcigzKVwiPlxyXG5cdFx0XHRcdFx0PCEtLTx2aWV3IGNsYXNzPVwibG9hZGluZ1wiLS0+XHJcblx0XHRcdFx0XHQ8IS0tdi1pZj1cImlzSGlzdG9yeUxvYWRpbmdcIj4tLT5cclxuXHRcdFx0XHRcdDwhLS08dmlldyBjbGFzcz1cInNwaW5uZXJcIj4tLT5cclxuXHRcdFx0XHRcdDwhLS08dmlldyBjbGFzcz1cInJlY3QxXCI+PC92aWV3Pi0tPlxyXG5cdFx0XHRcdFx0PCEtLTx2aWV3IGNsYXNzPVwicmVjdDJcIj48L3ZpZXc+LS0+XHJcblx0XHRcdFx0XHQ8IS0tPHZpZXcgY2xhc3M9XCJyZWN0M1wiPjwvdmlldz4tLT5cclxuXHRcdFx0XHRcdDwhLS08dmlldyBjbGFzcz1cInJlY3Q0XCI+PC92aWV3Pi0tPlxyXG5cdFx0XHRcdFx0PCEtLTx2aWV3IGNsYXNzPVwicmVjdDVcIj48L3ZpZXc+LS0+XHJcblx0XHRcdFx0XHQ8IS0tPC92aWV3Pi0tPlxyXG5cdFx0XHRcdFx0PCEtLTwvdmlldz4tLT5cclxuXHJcblx0XHRcdFx0XHQ8dW5pLWxvYWQtbW9yZSBzdGF0dXM9XCJub01vcmVcIiB2LWlmPVwibm9Nb3JlICYmICEoaXNIaXN0b3J5TG9hZGluZylcIiAvPlxyXG5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicm93XCIgdi1mb3I9XCIocm93LGluZGV4KSBpbiBtc2dMaXN0Lmxpc3RcIiA6a2V5PVwiaW5kZXhcIiA6aWQ9XCInbXNnJyArIHJvdy5tc2cuaWRcIj5cclxuXHJcblx0XHRcdFx0XHRcdDwhLS0g57O757uf5raI5oGvIC0tPlxyXG5cdFx0XHRcdFx0XHQ8YmxvY2sgdi1pZj1cInJvdy50eXBlPT0xXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgOmNsYXNzPVwiWydzeXN0ZW0nLG1zZ0xpc3QudHlwZSA9PSAxICYmIGluZGV4ID09IDAgPyAnc3lzJzonJ11cIlxyXG5cdFx0XHRcdFx0XHRcdFx0OnN0eWxlPVwie3BhZGRpbmc6JzEwdXB4IDAnLG1hcmdpbkJvdHRvbTonMTB1cHgnfVwiPlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0g5paH5a2X5raI5oGvLS0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicm93Lm1zZy50eXBlPT0wICYmIHJvdy5tc2cuY29udGVudCAmJiByb3cubXNnLmNvbnRlbnQudGV4dFwiIGNsYXNzPVwidGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7e3Jvdy5tc2cuY29udGVudC50ZXh0fX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0g6aKG5Y+W57qi5YyF5raI5oGvIC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInJvdy5tc2cudHlwZT09NVwiIGNsYXNzPVwicmVkLWVudmVsb3BlXCIgc3R5bGU9XCJsZXR0ZXItc3BhY2luZzo0dXB4O1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWcvcmVkLWVudmVsb3BlLWNoYXQucG5nXCIgOmxhenktbG9hZD1cInRydWVcIiAvPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIHt7cm93Lm1zZ319IC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8YmxvY2tcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2LWlmPVwicm93Lm1zZy5jb250ZW50LnJpZF91c2VyX2lkID09IG15X2RhdGEuaWQgJiYgcm93Lm1zZy5jb250ZW50LnVzZXJfaWQgPT0gbXlfZGF0YS5pZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOaIkemihuWPluS6huiHquW3seWPkeWHuueahFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2Jsb2NrPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8YmxvY2tcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2LWVsc2UtaWY9XCJyb3cubXNnLmNvbnRlbnQucmlkX3VzZXJfaWQgIT0gbXlfZGF0YS5pZCAmJiByb3cubXNnLmNvbnRlbnQudXNlcl9pZCA9PSBteV9kYXRhLmlkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx05oiR6aKG5Y+W5LqGe3tyb3cubXNnLmNvbnRlbnQucmlkX25pY2tuYW1lfX3lj5Hlh7rnmoRcclxuXHRcdFx0XHRcdFx0XHRcdFx0PC9ibG9jaz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGJsb2NrXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0di1lbHNlLWlmPVwicm93Lm1zZy5jb250ZW50LnJpZF91c2VyX2lkID09IG15X2RhdGEuaWQgJiYgcm93Lm1zZy5jb250ZW50LnVzZXJfaWQgIT0gbXlfZGF0YS5pZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7cm93Lm1zZy5jb250ZW50Lm5pY2tuYW1lfX3pooblj5bkuobmiJHlj5Hlh7rnmoRcclxuXHRcdFx0XHRcdFx0XHRcdFx0PC9ibG9jaz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGJsb2NrIHYtZWxzZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7e3Jvdy5tc2cuY29udGVudC5uaWNrbmFtZX196aKG5Y+W5LqGe3tyb3cubXNnLmNvbnRlbnQucmlkX25pY2tuYW1lfX3lj5Hlh7rnmoRcclxuXHRcdFx0XHRcdFx0XHRcdFx0PC9ibG9jaz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJjb2xvcjogcmVkO1wiIEB0YXA9XCJ0b0RldGFpbHMocm93Lm1zZy5jb250ZW50LnJpZClcIj7nuqLljIU8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L2Jsb2NrPlxyXG5cclxuXHRcdFx0XHRcdFx0PGJsb2NrXHJcblx0XHRcdFx0XHRcdFx0di1pZj1cInJvdy50eXBlID09IDAgJiYgKGluZGV4ID09IDAgfHwgKHJvdy5tc2cudGltZSAtIG1zZ0xpc3QubGlzdFtpbmRleCAtIDFdLm1zZy50aW1lID4gMzAwKSlcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInN5c3RlbVwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMTB1cHhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0g5paH5a2X5raI5oGvIC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0ZXh0XCIgc3R5bGU9XCJjb2xvcjogI2ZmZmZmZjtib3JkZXItcmFkaXVzOjEycHg7Zm9udC13ZWlnaHQ6NjAwXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdHt7IHRpbWVzdGFtcEZvcm1hdChyb3cubXNnLnRpbWUgKyAnJykgfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvYmxvY2s+XHJcblxyXG5cdFx0XHRcdFx0XHQ8IS0tIOeUqOaIt+a2iOaBryAtLT5cclxuXHRcdFx0XHRcdFx0PGJsb2NrIHYtaWY9XCJyb3cudHlwZT09MFwiPlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0g6Ieq5bex5Y+R5Ye655qE5raI5oGvIC0tPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibXlcIiB2LWlmPVwicm93Lm1zZy51c2VyX2luZm8udWlkID09IG15X2RhdGEuaWQgXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8IS0tIOW3pi3mtojmga8gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImxlZnRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRAbG9uZ3RhcD1cIm1zZ0FjdGlvbihyb3cubXNnLmlkICsnJyxyb3cubXNnLnVzZXJfaW5mby51aWQgKyAnJyxyb3cubXNnLmNvbnRlbnQscm93Lm1zZy50eXBlKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdDppZD1cInJvdy5tc2cuaWRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIHYtaWY9XCJyb3cubXNnLnRpbWU8PW5vd1JlYWRUaW1lXCIgc3JjPVwiL3N0YXRpYy9pbWcvcmVhZC5wbmdcIiBtb2RlPVwid2lkdGhGaXhcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlPVwid2lkdGg6IDMwdXB4O21hcmdpbi1yaWdodDogMTB1cHg7XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIHYtZWxzZSBzcmM9XCIvc3RhdGljL2ltZy91bnJlYWQucG5nXCIgbW9kZT1cIndpZHRoRml4XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOiAzMHVweDttYXJnaW4tcmlnaHQ6IDEwdXB4O1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIOaWh+Wtl+a2iOaBryDpnZ7lm77niYctLT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInJvdy5tc2cudHlwZT09MCAmJiAhaXNJbWFnZShyb3cubXNnLmNvbnRlbnQudGV4dClcIiBjbGFzcz1cImJ1YmJsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxyaWNoLXRleHQgOm5vZGVzPVwicm93Lm1zZy5jb250ZW50LnRleHQgPyBnZXRIdG1sKHJvdy5tc2cuY29udGVudC50ZXh0KSA6ICcgJ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzcGFjZT1cInRydWVcIiBzZWxlY3RhYmxlPVwidHJ1ZVwiIC8+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PCEtLSDmloflrZfmtojmga8g5Zu+54mH6ZO+5o6lIC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicm93Lm1zZy50eXBlPT0wICYmIGlzSW1hZ2Uocm93Lm1zZy5jb250ZW50LnRleHQpXCIgY2xhc3M9XCJidWJibGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEB0YXA9XCJzaG93UGljMihyb3cubXNnLmNvbnRlbnQudGV4dClcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgOnNyYz1cInJvdy5tc2cuY29udGVudC50ZXh0XCIgOnN0eWxlPVwieyd3aWR0aCc6JzIwMHB4JywnaGVpZ2h0JzonMjAwcHgnfVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRtb2RlPVwid2lkdGhGaXhcIiA6bGF6eS1sb2FkPVwidHJ1ZVwiIC8+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PCEtLSDor63oqIDmtojmga8gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJyb3cubXNnLnR5cGU9PTFcIiBjbGFzcz1cImJ1YmJsZSB2b2ljZVwiIEB0YXA9XCJwbGF5Vm9pY2Uocm93Lm1zZylcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDpjbGFzcz1cInBsYXlNc2dpZCA9PSByb3cubXNnLmlkPydwbGF5JzonJ1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGVuZ3RoXCI+e3tyb3cubXNnLmNvbnRlbnQubGVuZ3RofX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpY29uIG15LXZvaWNlXCI+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwhLS0g5Zu+54mH5raI5oGvIC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicm93Lm1zZy50eXBlPT0yXCIgY2xhc3M9XCJidWJibGUgaW1nXCIgQHRhcD1cInNob3dQaWMxKHJvdy5tc2cpXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIDpzcmM9XCIoc3RhdGljUGF0aCArIGxpc3RfaWQgKyAnLycgKyByb3cubXNnLmNvbnRlbnQudXJsKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ6c3R5bGU9XCJ7J3dpZHRoJzogcm93Lm1zZy5jb250ZW50LncrJ3B4JywnaGVpZ2h0Jzogcm93Lm1zZy5jb250ZW50LmgrJ3B4J31cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0bW9kZT1cIndpZHRoRml4XCIgOmxhenktbG9hZD1cInRydWVcIiAvPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwhLS0g6KeG6aKR5raI5oGvIC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicm93Lm1zZy50eXBlPT0zXCIgY2xhc3M9XCJidWJibGUgaW1nXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIDpzcmM9XCIgc3RhdGljUGF0aCArIHJvdy5tc2cuY29udGVudC5mdWxsX21vdmllXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlPVwid2lkdGg6IDMyMHB4O2hlaWdodDogMjQwcHhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImJ1YmJsZS1ib2ZhbmdcIiBzcmM9XCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvbXkvYm9mYW5nLnBuZ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOiA1MHB4O2hlaWdodDogNTBweDtcIiBAdGFwPVwiYXV0b1ZpZGVvKHJvdy5tc2cpXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIOe6ouWMhSAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInJvdy5tc2cudHlwZT09NVwiIGNsYXNzPVwiYnViYmxlIHJlZC1lbnZlbG9wZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0QHRhcD1cIm9wZW5SZWRFbnZlbG9wZShyb3cubXNnLGluZGV4KVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltZy9yZWQtZW52ZWxvcGUucG5nXCIgOmxhenktbG9hZD1cInRydWVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0OnN0eWxlPVwieydvcGFjaXR5JzoocmVjZWl2ZV9saXN0LmluZGV4T2Yocm93Lm1zZy5jb250ZW50LnJpZCkpPCAwID8gMSA6IDAuNn1cIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGlzXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7eyhyZWNlaXZlX2xpc3QuaW5kZXhPZihyb3cubXNnLmNvbnRlbnQucmlkKSkgPDA/J+aBreWWnOWPkei0ou+8jOWkp+WQieWkp+WIqSc6J+W3sumihuWPlid9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJsZXNzaW5nXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImluZm9cIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3tyb3cubXNnLmNvbnRlbnQuYmxlc3Npbmd9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoYXMtZ2V0LXJlZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHTngrnlh7vmiZPlvIDnuqLljIVcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwhLS17e3Jvdy5tc2cuY29udGVudC5ibGVzc2luZ319LS0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwhLS0g5Zyo57q/6KeG6aKRIC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicm93Lm1zZy50eXBlPT02XCIgY2xhc3M9XCJidWJibGVcIj5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXc+IHt7cm93Lm1zZy5jb250ZW50LnRleHR9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cIm1hcmdpbi1sZWZ0OjJweFwiIGNsYXNzPVwiaWNvbmZvbnQtaW1cIj4mI3hlNjE5O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIOWcqOe6v+mfs+mikS0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicm93Lm1zZy50eXBlPT03XCIgY2xhc3M9XCJidWJibGVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldz4ge3tyb3cubXNnLmNvbnRlbnQudGV4dH19XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luLWxlZnQ6MnB4XCIgY2xhc3M9XCJpY29uZm9udHNcIj4mI3hlNjBiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0t5Y2h54mHLS0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJyb3cubXNnLnR5cGU9PThcIiBjbGFzcz1cInNlbmQtY2FyZFwiIEB0YXA9XCJnZXRDYXJkKHJvdy5tc2cpXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZW5kLWNhcmQtY29udGVudFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIDpzcmM9XCJzdGF0aWNQaG90bytyb3cubXNnLmNvbnRlbnQuZmFjZVwiIDpsYXp5LWxvYWQ9XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJ3aWR0aDogODV1cHg7aGVpZ2h0OiA4NXVweDtcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+e3tyb3cubXNnLmNvbnRlbnQubmlja25hbWV9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZW5kLWNhcmQtY29udGVudC10ZXh0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dD7lkI3niYc8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwhLS3miLPkuIDmiLMtLT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInJvdy5tc2cudHlwZT09OVwiIGNsYXNzPVwiYnViYmxlIGltZ1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvY2h1b3lpY2h1by5naWZcIiA6bGF6eS1sb2FkPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImhlaWdodDogNzBweDt3aWR0aDogMTMwcHg7XCIgbW9kZT1cImhlaWdodEZpeFwiIC8+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PCEtLSDkvY3nva4tLT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInJvdy5tc2cudHlwZT09MTBcIiBjbGFzcz1cImJ1YmJsZVwiIEB0YXA9XCJvcGVuTWFwKHJvdy5tc2cuY29udGVudClcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFkZHJlc3MtZmxleFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhZGRyZXNzLW5hbWVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+e3tyb3cubXNnLmNvbnRlbnQgJiYgcm93Lm1zZy5jb250ZW50Lm5hbWV9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInRleHQtZ3JheVwiPnt7cm93Lm1zZy5jb250ZW50ICYmIHJvdy5tc2cuY29udGVudC5hZGRyZXNzfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJmdW4taWNvblwiIHNyYz1cIi4uLy4uL3N0YXRpYy90aGVtZS9kZWZhdWx0L3Bvc2l0aW9uLnBuZ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwhLS0g5paH5Lu2IC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicm93Lm1zZy50eXBlPT0xMVwiIGNsYXNzPVwiYnViYmxlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRAdGFwPVwiZG93bkZpbGUoc3RhdGljUGF0aCsgbGlzdF9pZCsnLycgKyByb3cubXNnLmNvbnRlbnQudXJsKVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWRkcmVzcy1mbGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFkZHJlc3MtbmFtZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dD57e3Jvdy5tc2cuY29udGVudCAmJiByb3cubXNnLmNvbnRlbnQubmFtZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwidGV4dC1ncmF5XCI+e3tyb3cubXNnLmNvbnRlbnQgJiYgcm93Lm1zZy5jb250ZW50Lmxlbmd0aH19a2I8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJmdW4taWNvblwiIHNyYz1cIi4uLy4uL3N0YXRpYy90aGVtZS9kZWZhdWx0L2ZpbGUucG5nXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8IS0tIOWPsy3lpLTlg48gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInJpZ2h0XCIgQHRhcD1cImdvRGV0YWlscyhyb3cubXNnLnVzZXJfaW5mby51aWQscm93KVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2VcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ6c3JjPVwiKHJvdy5tc2cuaXNfbmltaW5nID09IDEpID8gJy9zdGF0aWMvdGhlbWUvZGVmYXVsdC9teS9uaW1pbmcucG5nJyA6IG15UGhvdG9cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDpsYXp5LWxvYWQ9XCJ0cnVlXCIgc3R5bGU9XCJib3JkZXItcmFkaXVzOiAxMHB4O1wiIEBlcnJvcj1cImltYWdlRXJyb3IyXCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDwhLS0g5Yir5Lq65Y+R5Ye655qE5raI5oGvIC0tPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3RoZXJcIiB2LWlmPVwicm93Lm1zZy51c2VyX2luZm8udWlkICE9IG15X2RhdGEuaWRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0g5bemLeWktOWDjyAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGVmdFwiPlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIEBsb25ndGFwPVwic2hvd0FjdGlvbihyb3cpXCIgQHRhcD1cImdvRGV0YWlscyhyb3cubXNnLnVzZXJfaW5mby51aWQscm93KVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0OnNyYz1cIihyb3cubXNnLmlzX25pbWluZyA9PSAxKT8gJy9zdGF0aWMvdGhlbWUvZGVmYXVsdC9teS9uaW1pbmcucG5nJyA6IChzdGF0aWNQaG90byArIHJvdy5tc2cudXNlcl9pbmZvLmZhY2UpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ6bGF6eS1sb2FkPVwidHJ1ZVwiIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogMTBweDtcIiA6ZGF0YS1pZD1cImluZGV4XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRAZXJyb3I9XCJpbWFnZUVycm9yXCIgY2xhc3M9XCJ1LWxvZ29cIiAvPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFjdGlvblwiIHYtaWY9XCJyb3cuc2hvd0FjdGlvblwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWN0aW9uLWl0ZW1cIiBAY2xpY2s9XCJhZGRGcmllbmRDaGF0KHJvdylcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEBUQVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFjdGlvbi1saW5lXCI+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFjdGlvbi1pdGVtXCIgQGNsaWNrPVwic2VsZWN0TWVtYmVyKHJvdylcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdOemgeiogFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFjdGlvbi1saW5lXCI+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFjdGlvbi1pdGVtXCIgQGNsaWNrPVwic2VsZWN0UmVtb3ZlTWVtYmVyKHJvdylcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdOi4ouWHulxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0g5Y+zLeeUqOaIt+WQjeensC3ml7bpl7Qt5raI5oGvIC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdEBsb25ndGFwPVwibXNnQWN0aW9uKHJvdy5tc2cuaWQgKycnLHJvdy5tc2cudXNlcl9pbmZvLnVpZCArICcnLHJvdy5tc2cuY29udGVudCxyb3cubXNnLnR5cGUpXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlcm5hbWVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5hbWVcIj57e3Jvdy5tc2cudXNlcl9pbmZvLm5hbWV9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwidGltZVwiPnt7cm93Lm1zZy50aW1lfX08L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwhLS0g5paH5a2X5raI5oGvIC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicm93Lm1zZy50eXBlPT0wICYmICFpc0ltYWdlKHJvdy5tc2cuY29udGVudC50ZXh0KVwiIGNsYXNzPVwiYnViYmxlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHJpY2gtdGV4dCA6bm9kZXM9XCJyb3cubXNnLmNvbnRlbnQudGV4dCA/IGdldEh0bWwocm93Lm1zZy5jb250ZW50LnRleHQpIDogJyAnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNwYWNlPVwidHJ1ZVwiIC8+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PCEtLSDmloflrZfmtojmga8g5Zu+54mH6ZO+5o6lIC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicm93Lm1zZy50eXBlPT0wICYmIGlzSW1hZ2Uocm93Lm1zZy5jb250ZW50LnRleHQpXCIgY2xhc3M9XCJidWJibGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEB0YXA9XCJzaG93UGljMihyb3cubXNnLmNvbnRlbnQudGV4dClcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgOnNyYz1cInJvdy5tc2cuY29udGVudC50ZXh0XCIgOnN0eWxlPVwieyd3aWR0aCc6JzIwMHB4JywnaGVpZ2h0JzonYXV0byd9XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG1vZGU9XCJ3aWR0aEZpeFwiIDpsYXp5LWxvYWQ9XCJ0cnVlXCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIOivremfs+a2iOaBryAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInJvdy5tc2cudHlwZT09MVwiIGNsYXNzPVwiYnViYmxlIHZvaWNlXCIgQHRhcD1cInBsYXlWb2ljZShyb3cubXNnKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0OmNsYXNzPVwicGxheU1zZ2lkID09IHJvdy5tc2cuaWQ/J3BsYXknOicnXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpY29uIG90aGVyLXZvaWNlXCI+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGVuZ3RoXCI+e3tyb3cubXNnLmNvbnRlbnQubGVuZ3RofX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PCEtLSDlm77niYfmtojmga8gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJyb3cubXNnLnR5cGU9PTJcIiBjbGFzcz1cImJ1YmJsZSBpbWdcIiBAdGFwPVwic2hvd1BpYzEocm93Lm1zZylcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgOnNyYz1cIihzdGF0aWNQYXRoICsgbGlzdF9pZCArICcvJyArIHJvdy5tc2cuY29udGVudC51cmwpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDpzdHlsZT1cInsnd2lkdGgnOiByb3cubXNnLmNvbnRlbnQudysncHgnLCdoZWlnaHQnOiByb3cubXNnLmNvbnRlbnQuaCsncHgnfVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRtb2RlPVwid2lkdGhGaXhcIiA6bGF6eS1sb2FkPVwidHJ1ZVwiIC8+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PCEtLSDop4bpopHmtojmga8gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJyb3cubXNnLnR5cGU9PTNcIiBjbGFzcz1cImJ1YmJsZSBpbWdcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgOnNyYz1cInN0YXRpY1BhdGggKyByb3cubXNnLmNvbnRlbnQuZnVsbF9tb3ZpZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOiAzMjBweDtoZWlnaHQ6IDI0MHB4XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJidWJibGUtYm9mYW5nLWxlZnRcIiBzcmM9XCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvbXkvYm9mYW5nLnBuZ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOiA1MHB4O2hlaWdodDogNTBweDtcIiBAdGFwPVwiYXV0b1ZpZGVvKHJvdy5tc2cpXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIOe6ouWMhSAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInJvdy5tc2cudHlwZT09NVwiIGNsYXNzPVwiYnViYmxlIHJlZC1lbnZlbG9wZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0QHRhcD1cIm9wZW5SZWRFbnZlbG9wZShyb3cubXNnLGluZGV4KVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltZy9yZWQtZW52ZWxvcGUtby5wbmdcIiA6bGF6eS1sb2FkPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ6c3R5bGU9XCJ7J29wYWNpdHknOihyZWNlaXZlX2xpc3QuaW5kZXhPZihyb3cubXNnLmNvbnRlbnQucmlkKSk8IDAgPyAxIDogMC42fVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXNcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt7KHJlY2VpdmVfbGlzdC5pbmRleE9mKHJvdy5tc2cuY29udGVudC5yaWQpKSA8MD8n5oGt5Zac5Y+R6LSi77yM5aSn5ZCJ5aSn5YipJzon5bey6aKG5Y+WJ319XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmxlc3NpbmdcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mb1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7e3Jvdy5tc2cuY29udGVudC5ibGVzc2luZ319XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhhcy1nZXQtcmVkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdOeCueWHu+aJk+W8gOe6ouWMhVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PCEtLXt7cm93Lm1zZy5jb250ZW50LmJsZXNzaW5nfX0tLT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInJvdy5tc2cudHlwZT09NlwiIGNsYXNzPVwiYnViYmxlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MnB4XCIgY2xhc3M9XCJpY29uZm9udC1pbVwiPiYjeGU2MTk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7cm93Lm1zZy5jb250ZW50LnRleHR9fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicm93Lm1zZy50eXBlPT03XCIgY2xhc3M9XCJidWJibGVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cIm1hcmdpbi1yaWdodDoycHhcIiBjbGFzcz1cImljb25mb250c1wiPiYjeGU2MGI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7cm93Lm1zZy5jb250ZW50LnRleHR9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJyb3cubXNnLnR5cGU9PThcIiBjbGFzcz1cInNlbmQtY2FyZFwiIEB0YXA9XCJnZXRDYXJkKHJvdy5tc2cpXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZW5kLWNhcmQtY29udGVudFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIDpzcmM9XCJzdGF0aWNQaG90bytyb3cubXNnLmNvbnRlbnQuZmFjZVwiIDpsYXp5LWxvYWQ9XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJ3aWR0aDogODV1cHg7aGVpZ2h0OiA4NXVweDtcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+e3tyb3cubXNnLmNvbnRlbnQubmlja25hbWV9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZW5kLWNhcmQtY29udGVudC10ZXh0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dD7lkI3niYc8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwhLS0g5oiz5LiA5oizIC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicm93Lm1zZy50eXBlPT05XCIgY2xhc3M9XCJidWJibGUgaW1nXCIgQHRhcD1cInNob3dQaWMocm93Lm1zZylcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy90aGVtZS9kZWZhdWx0L3lvdWNodW8uZ2lmXCIgOmxhenktbG9hZD1cInRydWVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJ3aWR0aDogNzBweDtoZWlnaHQ6IDcwcHg7XCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIOS9jee9ri0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicm93Lm1zZy50eXBlPT0xMFwiIGNsYXNzPVwiYnViYmxlXCIgQHRhcD1cIm9wZW5NYXAocm93Lm1zZy5jb250ZW50KVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWRkcmVzcy1mbGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFkZHJlc3MtbmFtZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dD57e3Jvdy5tc2cuY29udGVudCAmJiByb3cubXNnLmNvbnRlbnQubmFtZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwidGV4dC1ncmF5XCI+e3tyb3cubXNnLmNvbnRlbnQgJiYgcm93Lm1zZy5jb250ZW50LmFkZHJlc3N9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImZ1bi1pY29uXCIgc3JjPVwiLi4vLi4vc3RhdGljL3RoZW1lL2RlZmF1bHQvcG9zaXRpb24ucG5nXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PCEtLSDmlofku7YgLS0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJyb3cubXNnLnR5cGU9PTExXCIgY2xhc3M9XCJidWJibGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEB0YXA9XCJkb3duRmlsZShzdGF0aWNQYXRoKyBsaXN0X2lkKycvJyArIHJvdy5tc2cuY29udGVudC51cmwpXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhZGRyZXNzLWZsZXhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWRkcmVzcy1uYW1lXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0Pnt7cm93Lm1zZy5jb250ZW50ICYmIHJvdy5tc2cuY29udGVudC5uYW1lfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJ0ZXh0LWdyYXlcIj57e3Jvdy5tc2cuY29udGVudCAmJiByb3cubXNnLmNvbnRlbnQubGVuZ3RofX1rYjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImZ1bi1pY29uXCIgc3JjPVwiLi4vLi4vc3RhdGljL3RoZW1lL2RlZmF1bHQvZmlsZS5wbmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRtb2RlPVwid2lkdGhGaXhcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC9ibG9jaz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3Njcm9sbC12aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwhLS0g5oq95bGJ5qCPIC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInBvcHVwLWxheWVyXCIgOmNsYXNzPVwicG9wdXBMYXllckNsYXNzXCIgQHRvdWNobW92ZS5zdG9wLnByZXZlbnQ9XCJkaXNjYXJkXCI+XHJcblx0XHRcdFx0PCEtLSDooajmg4UgLS0+XHJcblx0XHRcdFx0PHN3aXBlciBjbGFzcz1cImVtb2ppLXN3aXBlclwiIDpjbGFzcz1cIntoaWRkZW46aGlkZUVtb2ppfVwiIDppbmRpY2F0b3ItZG90cz1cInRydWVcIiBkdXJhdGlvbj1cIjE1MFwiPlxyXG5cdFx0XHRcdFx0PHN3aXBlci1pdGVtIHYtZm9yPVwiKHBhZ2UscGlkKSBpbiBlbW9qaUxpc3RcIiA6a2V5PVwicGlkXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwiKGVtLGVpZCkgaW4gcGFnZVwiIDprZXk9XCJlaWRcIiBAdGFwPVwiYWRkRW1vamkoZW0pXCI+XHJcblx0XHRcdFx0XHRcdFx0PGltYWdlIDpzcmM9XCInL3N0YXRpYy9pbWcvZW1vamkvJyArIGVtLnVybFwiIDpsYXp5LWxvYWQ9XCJ0cnVlXCIgLz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC9zd2lwZXItaXRlbT5cclxuXHRcdFx0XHQ8L3N3aXBlcj5cclxuXHRcdFx0XHQ8IS0tIOabtOWkmuWKn+iDvSDnm7jlhowt5ouN54WnLee6ouWMhSAtLT5cclxuXHRcdFx0XHQ8c3dpcGVyIGNsYXNzPVwibW9yZS1sYXllclwiIHN0eWxlPVwiaGVpZ2h0OjUwdndcIiA6aW5kaWNhdG9yLWRvdHM9XCJ0cnVlXCIgaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcj1cIiM1MWM5YzNcIlxyXG5cdFx0XHRcdFx0OmNsYXNzPVwie2hpZGRlbjpoaWRlTW9yZSB8fCAhaGlkZUVtb2ppfVwiIGR1cmF0aW9uPVwiMTUwXCI+XHJcblx0XHRcdFx0XHQ8c3dpcGVyLWl0ZW0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdFwiPlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJsaXN0LWJveFwiIEB0YXA9XCJ2aWRlb0NhbGwoMSlcIiB2LWlmPVwibXNnTGlzdC50eXBlID09IDBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImZ1bi1pY29uXCIgc3JjPVwiLi4vLi4vc3RhdGljL3RoZW1lL2RlZmF1bHQvbWVzc2FnZS9jb25jYXQucG5nXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0bW9kZT1cImhlaWdodEZpeFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRvb2xfdGV4dFwiPuinhumikemAmuivnTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJsaXN0LWJveFwiIEB0YXA9XCJ2aWRlb0NhbGwoMilcIiB2LWlmPVwibXNnTGlzdC50eXBlID09IDBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImZ1bi1pY29uXCIgc3JjPVwiLi4vLi4vc3RhdGljL3RoZW1lL2RlZmF1bHQvbWVzc2FnZS92b2ljZS5wbmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRtb2RlPVwiaGVpZ2h0Rml4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidG9vbF90ZXh0XCI+6K+t6Z+z6YCa6K+dPC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz4gLS0+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdC1ib3hcIiBAdGFwPVwiY2hvb3NlSW1hZ2VcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImZ1bi1pY29uXCIgc3JjPVwiLi4vLi4vc3RhdGljL3RoZW1lL2RlZmF1bHQvSW1hZ2UucG5nXCIgbW9kZT1cImhlaWdodEZpeFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidG9vbF90ZXh0XCI+55u45YaMPC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0LWJveFwiIEB0YXA9XCJjYW1lcmFcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImZ1bi1pY29uXCIgc3JjPVwiLi4vLi4vc3RhdGljL3RoZW1lL2RlZmF1bHQvc2hvb3RpbmdfaWNvbi5wbmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRtb2RlPVwiaGVpZ2h0Rml4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0b29sX3RleHRcIj7mi43mkYQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tIFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0LWJveFwiIEB0YXA9XCJ2aWRlb1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZnVuLWljb25cIiBzcmM9XCIuLi8uLi9zdGF0aWMvdGhlbWUvZGVmYXVsdC9tZXNzYWdlL3ZpZGVvLnBuZ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdG1vZGU9XCJoZWlnaHRGaXhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRvb2xfdGV4dFwiPuinhumikTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdC1ib3hcIiBAdGFwPVwiaGFuZFJlZEVudmVsb3Blc1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZnVuLWljb25cIiBzcmM9XCIuLi8uLi9zdGF0aWMvdGhlbWUvZGVmYXVsdC9lbnZlbG9wZV9pY29uLnBuZ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdG1vZGU9XCJoZWlnaHRGaXhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRvb2xfdGV4dFwiPue6ouWMhTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdC1ib3hcIiBAdGFwPVwidmlkZW9cIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImZ1bi1pY29uXCIgc3JjPVwiLi4vLi4vc3RhdGljL3RoZW1lL2RlZmF1bHQvbWVzc2FnZS92aWRlby5wbmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRtb2RlPVwiaGVpZ2h0Rml4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0b29sX3RleHRcIj7op4bpopE8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdC1ib3hcIiBAdGFwPVwiaGFuZFJlZEVudmVsb3Blc1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZnVuLWljb25cIiBzcmM9XCIuLi8uLi9zdGF0aWMvdGhlbWUvZGVmYXVsdC9lbnZlbG9wZV9pY29uLnBuZ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdG1vZGU9XCJoZWlnaHRGaXhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRvb2xfdGV4dFwiPue6ouWMhTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiA4dXB4O1wiPlxyXG5cclxuXHJcblxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImxpc3QtYm94XCIgQHRhcD1cImNob29zZUNodW9cIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImZ1bi1pY29uXCIgc3JjPVwiLi4vLi4vc3RhdGljL3RoZW1lL2RlZmF1bHQvdG9vbF9pY29uLnBuZ1wiIG1vZGU9XCJoZWlnaHRGaXhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRvb2xfdGV4dFwiPuaIs+S4gOaIszwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdC1ib3hcIiBAdGFwPVwic2VuZFBvc1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZnVuLWljb25cIiBzcmM9XCIuLi8uLi9zdGF0aWMvdGhlbWUvZGVmYXVsdC9sb2NhdGlvbl9pY29uLnBuZ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdG1vZGU9XCJoZWlnaHRGaXhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRvb2xfdGV4dDJcIj7kvY3nva48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tIFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0LWJveFwiIEB0YXA9XCJ2aWRlb0NhbGwoMSlcIiB2LWlmPVwibXNnTGlzdC50eXBlID09IDBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImZ1bi1pY29uXCIgc3JjPVwiLi4vLi4vc3RhdGljL3RoZW1lL2RlZmF1bHQvbWVzc2FnZS9jb25jYXQucG5nXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0bW9kZT1cImhlaWdodEZpeFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRvb2xfdGV4dFwiPuinhumikemAmuivnTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0LWJveFwiIEB0YXA9XCJ2aWRlb0NhbGwoMilcIiB2LWlmPVwibXNnTGlzdC50eXBlID09IDBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImZ1bi1pY29uXCIgc3JjPVwiLi4vLi4vc3RhdGljL3RoZW1lL2RlZmF1bHQvbWVzc2FnZS92b2ljZS5wbmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRtb2RlPVwiaGVpZ2h0Rml4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidG9vbF90ZXh0XCI+6K+t6Z+z6YCa6K+dPC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz4gLS0+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdC1ib3hcIiBAdGFwPVwic2F5Q2FsbCgpXCIgdi1pZj1cIm1zZ0xpc3QudHlwZSA9PSAxICYmIDBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiaWNvbmZvbnQtaW0gaWNvbi1uaW1pbmdcIiBzdHlsZT1cImZvbnQtc2l6ZTo1MHVweDtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidG9vbF90ZXh0XCI+e3tuaW1pbmdfbXNnfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdC1ib3hcIiBAdGFwPVwiemhlbmRvbmdcIiB2LWlmPVwibXNnTGlzdC50eXBlID09IDEgICYmIGlzX21haW5cIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaWNvbmZvbnQtaW0gaWNvbi16aGVuZG9uZ1wiPjwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidG9vbF90ZXh0MlwiPuaMr+WKqDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0LWJveFwiIEB0YXA9XCJzaG93UWlhbmcoKVwiXHJcblx0XHRcdFx0XHRcdFx0XHR2LWlmPVwibXNnTGlzdC50eXBlID09IDEgJiYgdmVuZG9yX3N0YXR1cyAmJiBpc19tYWluXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImljb25mb250LWltIGljb24tcWlhbmdcIiBzdHlsZT1cImZvbnQtc2l6ZTo1MHVweDtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidG9vbF90ZXh0XCI+5Y+R5YyFPC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImxpc3QtYm94XCIgQHRhcD1cImNob29zZUNhcmRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImZ1bi1pY29uXCIgc3JjPVwiLi4vLi4vc3RhdGljL3RoZW1lL2RlZmF1bHQvY29udGFjdF9pY29uLnBuZ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdG1vZGU9XCJoZWlnaHRGaXhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRvb2xfdGV4dDJcIj7lkI3niYc8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdC1ib3hcIiBAdGFwPVwiY2hvb3NlTGlrZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZnVuLWljb25cIiBzcmM9XCIuLi8uLi9zdGF0aWMvdGhlbWUvZGVmYXVsdC9jb2xsZWN0aW9uX2ljb24ucG5nXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0bW9kZT1cImhlaWdodEZpeFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidG9vbF90ZXh0XCI+5pS26JePPC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC9zd2lwZXItaXRlbT5cclxuXHRcdFx0XHRcdDxzd2lwZXItaXRlbT5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0XCI+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdC1ib3hcIiBAdGFwPVwiY2hvb3NlRmlsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZnVuLWljb25cIiBzcmM9XCIuLi8uLi9zdGF0aWMvdGhlbWUvZGVmYXVsdC9maWxlX2ljb24ucG5nXCIgbW9kZT1cImhlaWdodEZpeFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidG9vbF90ZXh0XCI+5paH5Lu2PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC9zd2lwZXItaXRlbT5cclxuXHRcdFx0XHQ8L3N3aXBlcj5cclxuXHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpbnB1dC1ib3hcIiB2LWlmPVwibXNnTGlzdC5pc19tc2dcIj5cclxuXHRcdFx0XHQ8dmlld1xyXG5cdFx0XHRcdFx0c3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDt3aWR0aDo3NTB1cHg7bGluZS1oZWlnaHQ6IDEwMHVweDtib3JkZXItdG9wOiAjYzljOWM5IHNvbGlkIDJ1cHg7XCI+XHJcblx0XHRcdFx0XHTlhajlkZjnpoHoqIDkuK0uLi5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdDwhLS0gQHRvdWNobW92ZS5zdG9wLnByZXZlbnQ9XCJkaXNjYXJkXCIgLS0+XHJcblxyXG5cdFx0XHQ8IS0tIOW6lemDqOi+k+WFpeagjyAtLT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpbnB1dC1ib3hcIiA6Y2xhc3M9XCJwb3B1cExheWVyQ2xhc3NcIiB2LWVsc2U+XHJcblxyXG5cdFx0XHRcdDwhLS0gSDXkuIvkuI3og73lvZXpn7PvvIzovpPlhaXmoI/luIPlsYDmlLnliqjkuIDkuIsgLS0+XHJcblx0XHRcdFx0PCEtLSAjaWZuZGVmIEg1IC0tPlxyXG5cdFx0XHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJ2b2ljZVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpY29uXCIgOmNsYXNzPVwiaXNWb2ljZT8namlhbnBhbic6J3l1eWluJ1wiIEB0YXA9XCJzd2l0Y2hWb2ljZVwiPjwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidm9pY2VcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaWNvblwiIDpjbGFzcz1cImlzVm9pY2U/J2ppYW5wYW4nOid5dXlpbidcIiBAdGFwPVwic3dpdGNoVm9pY2VcIj48L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8IS0tICNpZmRlZiBINSAtLT5cclxuXHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwibW9yZVwiIEB0YXA9XCJzaG93TW9yZVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpY29uIGFkZFwiPjwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInRleHRib3hcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidm9pY2UtbW9kZVwiIDpjbGFzcz1cIltpc1ZvaWNlPycnOidoaWRkZW4nLHJlY29yZGluZz8ncmVjb3JkaW5nJzonJ11cIlxyXG5cdFx0XHRcdFx0XHRAdG91Y2hzdGFydD1cInZvaWNlQmVnaW5cIiBAdG91Y2htb3ZlLnN0b3AucHJldmVudD1cInZvaWNlSW5nXCIgQHRvdWNoZW5kPVwidm9pY2VFbmRcIlxyXG5cdFx0XHRcdFx0XHRAdG91Y2hjYW5jZWw9XCJ2b2ljZUNhbmNlbFwiPlxyXG5cdFx0XHRcdFx0XHR7e3ZvaWNlVGlzfX1cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGV4dC1tb2RlXCIgOmNsYXNzPVwiaXNWb2ljZT8naGlkZGVuJzonJ1wiPlxyXG5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJib3hcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dGV4dGFyZWEgYXV0by1oZWlnaHQ9XCJ0cnVlXCIgY29uZmlybS10eXBlPVwic2VhcmNoXCIgQGNvbmZpcm09XCJzZW5kVGV4dFwiIEBpbnB1dD1cImlucHV0VGV4dFwiXHJcblx0XHRcdFx0XHRcdFx0XHQ6dmFsdWU9XCJ0ZXh0TXNnXCIgQGZvY3VzPVwidGV4dGFyZWFGb2N1c1wiIDptYXhsZW5ndGg9XCItMVwiIDpzaG93LWNvbmZpcm0tYmFyPVwiZmFsc2VcIlxyXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJtYXgtaGVpZ2h0OiAxOTB1cHg7b3ZlcmZsb3c6YXV0bztib3JkZXI6IDFweCBzb2xpZCBibGFjazsgYm9yZGVyLXJhZGl1czogMTdweDtwYWRkaW5nLXRvcDogNHB4O3BhZGRpbmctYm90dG9tOiA0cHg7IFwiIC8+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZW1cIiBAdGFwPVwiY2hvb3NlRW1vamlcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImljb24gYmlhb3FpbmdcIj48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDwhLS0gI2lmbmRlZiBINSAtLT5cclxuXHJcblx0XHRcdFx0PCEtLSAjZW5kaWYgLS0+XHJcblx0XHRcdFx0PHZpZXcgOmNsYXNzPVwiaWNvblNob3dcIiBAdGFwPVwic2hvd01vcmVcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaWNvbiBhZGRcIj48L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2VuZFwiIDpjbGFzcz1cInNlbmRNc2dDbGFzc1wiIEB0YXA9XCJzZW5kVGV4dFwiPlxyXG5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRuXCI+5Y+R6YCBPC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cclxuXHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PHZpZXcgdi1zaG93PVwic2hvd1ZlZGlvXCIgY2xhc3M9XCJzaG93VmVkaW9cIj5cclxuXHRcdFx0PCEtLSA8dmlkZW8gOnNyYz1cInZpZGVvUGF0aFwiXHJcbiAgICAgICAgICAgICBzdHlsZT1cImhlaWdodDogMTAwJTt3aWR0aDogMTAwJVwiXHJcbiAgICAgICAgICAgICBpZD1cIm15VmlkZW9cIlxyXG4gICAgICAgICAgICAgb2JqZWN0LWZpdD1cImZpbGxcIlxyXG4gICAgICAgICAgICAgYWlycGxheT1cImFsbG93XCIgLz4gLS0+XHJcblx0XHRcdDx2aWRlbyBhdXRvcGxheT1cInRydWVcIiBvYmplY3QtZml0PVwiZmlsbFwiIHBhZ2UtZ2VzdHVyZT1cInRydWVcIiBjb250cm9scz1cImZhbHNlXCJcclxuXHRcdFx0XHRzdHlsZT1cImhlaWdodDogMTAwJTt3aWR0aDogMTAwJVwiIGlkPVwibXlWaWRlb1wiIDpzcmM9XCJ2aWRlb1BhdGhcIiBAZXJyb3I9XCJ2aWRlb0Vycm9yQ2FsbGJhY2tcIj5cclxuXHRcdFx0XHQ8IS0tIDxjb3Zlci12aWV3XHJcbiAgICAgICAgICAgICAgICAgICAgQHRhcD1cInNob3dWZWRpbyA9IGZhbHNlXCI+IC0tPlxyXG5cdFx0XHRcdDxjb3Zlci1pbWFnZSBAdGFwPVwic2hvd1ZlZGlvID0gZmFsc2VcIiBzcmM9XCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvbXkvY2xvc2UucG5nXCIgY2xhc3M9XCJjbG9uZUJ1dFwiPlxyXG5cdFx0XHRcdDwvY292ZXItaW1hZ2U+XHJcblx0XHRcdFx0PCEtLSA8L2NvdmVyLXZpZXc+IC0tPlxyXG5cdFx0XHQ8L3ZpZGVvPlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHJcblx0XHQ8IS0tICNpZm5kZWYgSDUgLS0+XHJcblx0XHQ8IS0tIOW9lemfs1VJ5pWI5p6cIC0tPlxyXG5cdFx0PCEtLSA8dmlldyBjbGFzcz1cInJlY29yZFwiIDpjbGFzcz1cInJlY29yZGluZz8nJzonaGlkZGVuJ1wiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImluZ1wiIDpjbGFzcz1cIndpbGxTdG9wPydoaWRkZW4nOicnXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpY29uIGx1eWluMlwiPjwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImNhbmNlbFwiIDpjbGFzcz1cIndpbGxTdG9wPycnOidoaWRkZW4nXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpY29uIGNoZWh1aVwiPjwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInRpc1wiIDpjbGFzcz1cIndpbGxTdG9wPydjaGFuZ2UnOicnXCI+e3tyZWNvcmRUaXN9fTwvdmlldz5cclxuXHRcdDwvdmlldz4gLS0+XHJcblx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwicmVjb3JkXCIgOmNsYXNzPVwicmVjb3JkaW5nPycnOidoaWRkZW4nXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiaW5nXCIgOmNsYXNzPVwid2lsbFN0b3A/J2hpZGRlbic6JydcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImljb24gbHV5aW4yXCI+PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiY2FuY2VsXCIgOmNsYXNzPVwid2lsbFN0b3A/Jyc6J2hpZGRlbidcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImljb24gY2hlaHVpXCI+PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidGlzXCIgOmNsYXNzPVwid2lsbFN0b3A/J2NoYW5nZSc6JydcIj57e3JlY29yZFRpc319PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDwhLS0g57qi5YyF5by556qXIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ3aW5kb3dzXCIgOmNsYXNzPVwid2luZG93c1N0YXRlXCI+XHJcblx0XHRcdDwhLS0g6YGu572p5bGCIC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIm1hc2tcIiBAdG91Y2htb3ZlLnN0b3AucHJldmVudD1cImRpc2NhcmRcIiBAdGFwPVwiY2xvc2VSZWRFbnZlbG9wZVwiPjwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJsYXllclwiIEB0b3VjaG1vdmUuc3RvcC5wcmV2ZW50PVwiZGlzY2FyZFwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwib3Blbi1yZWRlbnZlbG9wZVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0b3BcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjbG9zZS1idG5cIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImljb24gY2xvc2VcIiBAdGFwPVwiY2xvc2VSZWRFbnZlbG9wZVwiPjwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2UgOnNyYz1cInN0YXRpY1Bob3RvK3JlZGVudmVsb3BlRGF0YS5mYWNlXCIgOmxhenktbG9hZD1cInRydWVcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmcm9tXCI+5p2l6Ieqe3tyZWRlbnZlbG9wZURhdGEuZnJvbX1955qE57qi5YyFPC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJibGVzc2luZ1wiPnt7cmVkZW52ZWxvcGVEYXRhLmJsZXNzaW5nfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1vbmV5XCIgQHRhcD1cIm9wZW5SZWQocmVkZW52ZWxvcGVEYXRhKVwiPlxyXG5cclxuXHRcdFx0XHRcdFx0PGltYWdlIDpjbGFzcz1cImx1Y2tidG5cIiBzcmM9XCIvc3RhdGljL3RoZW1lL2RlZmF1bHQvbXkvcmVkXzIucG5nXCJcclxuXHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOiAxODB1cHg7IGhlaWdodDogMTgwdXB4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzaG93RGV0YWlsc1wiIEB0YXA9XCJ0b0RldGFpbHMocmVkZW52ZWxvcGVEYXRhLnJpZClcIj5cclxuXHRcdFx0XHRcdFx05p+l55yL6aKG5Y+W6K+m5oOFXHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaWNvbiB0b1wiPjwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx1bmktcG9wdXAgcmVmPVwicG9wdXAyXCIgOnNob3c9XCJ2aWRlUG91cFwiIHBvc2l0aW9uPVwiYm90dG9tXCIgbW9kZT1cIjY2NlwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInZpZGVvLWJ1dC12aWV3XCI+XHJcblx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cInZpZGVvLWJ1dFwiIHR5cGU9XCJwcmltYXJ5XCIgQHRhcD1cInZpZGVvQnV0KCd2aWRlbycpXCIgOmxvYWRpbmc9XCJ2aWRlb0xvYWRpbmdcIj7op4bpopHogYrlpKk8L2J1dHRvbj5cclxuXHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwidmlkZW8tYnV0XCIgdHlwZT1cInByaW1hcnlcIiBAdGFwPVwidmlkZW9CdXQoJ3ZvaWNlJylcIiA6bG9hZGluZz1cInZvaWNlTG9hZGluZ1wiPuivremfs+iBiuWkqTwvYnV0dG9uPlxyXG5cdFx0XHRcdDxidXR0b24gdHlwZT1cImRlZmF1bHRcIiBAY2xpY2s9XCJ2aWRlUG91cD1mYWxzZVwiPuWPlua2iDwvYnV0dG9uPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3VuaS1wb3B1cD5cclxuXHRcdDx1bmktcG9wdXAgcmVmPVwicG9wdXBcIiB0eXBlPVwiY29uZmlybVwiPlxyXG5cdFx0XHQ8dW5pLXBvcHVwLWNvbmZpcm0gdGl0bGU9XCLmuKnppqjmj5DnpLpcIiA6Y29udGVudD1cInBvcHVNc2dcIiBAY29uZmlybT1cImNvbmZpcm1cIj4gPC91bmktcG9wdXAtY29uZmlybT5cclxuXHRcdDwvdW5pLXBvcHVwPlxyXG5cdFx0PHVuaS1wb3B1cCByZWY9XCJxaWFuZ1wiIHR5cGU9XCJxaWFuZ1wiPlxyXG5cdFx0XHQ8dW5pLXBvcHVwLXFpYW5nIHRpdGxlPVwi5byA5ZCv5Y+R5YyFXCIgOnN0YXR1cz1cIm1pYW9xaWFuZyArICcnXCIgOmNvbnRlbnQ9XCJwb3B1TXNnXCIgQGNvbmZpcm09XCJnb1FpYW5nXCI+XHJcblx0XHRcdDwvdW5pLXBvcHVwLXFpYW5nPlxyXG5cdFx0PC91bmktcG9wdXA+XHJcblx0XHQ8IS0tIOS4iuS8oOaWh+S7tiAtLT5cclxuXHRcdDxuay1zZWxlY3QtZmlsZSB2LW1vZGVsPVwic2hvd1VwbG9hZEZpbGVcIiBAY29uZmlybT1cInVwbG9hZEFGaWxlXCI+PC9uay1zZWxlY3QtZmlsZT5cclxuXHRcdDx1bmktcG9wdXAgcmVmPVwicG9wdXBfZnJpZW5kc1wiIHR5cGU9XCJib3R0b21cIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJwb3B1cF9mcmllbmRzXCIgOnN0eWxlPVwie2hlaWdodDpwb3BIZWlnaHQrJ3B4J31cIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInBvcHVwX2ZyaWVuZHMtdG9wXCI+XHJcblxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8c2VsZWN0LWZyaWVuZCA6bGlzdF9pZD1cImxpc3RfaWRcIiBAY2xvc2U9XCJjbG9zZUZyaWVuZHNcIj5cclxuXHRcdFx0XHQ8L3NlbGVjdC1mcmllbmQ+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdW5pLXBvcHVwPlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgdW5pTG9hZE1vcmUgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvdW5pLXVpL3VuaS1sb2FkLW1vcmUvdW5pLWxvYWQtbW9yZS52dWVcIjtcclxuXHRpbXBvcnQgZW1val9kYXRhIGZyb20gXCIuLi8uLi9zdGF0aWMvanMvbWVzc2FnZS9lbW9qaV9kYXRhLmpzXCI7XHJcblx0aW1wb3J0IF9nZXQgZnJvbSBcIi4uLy4uL2NvbW1vbi9fZ2V0XCI7XHJcblx0aW1wb3J0IF9ob29rIGZyb20gXCIuLi8uLi9jb21tb24vX2hvb2tcIjtcclxuXHRpbXBvcnQgX2FjdGlvbiBmcm9tIFwiLi4vLi4vY29tbW9uL19hY3Rpb25cIjtcclxuXHRpbXBvcnQgX2RhdGEgZnJvbSBcIi4uLy4uL2NvbW1vbi9fZGF0YVwiO1xyXG5cdGltcG9ydCBodG1sUGFyc2VyIGZyb20gXCIuLi8uLi9jb21tb24vaHRtbC1wYXJzZXJcIjtcclxuXHRpbXBvcnQgdW5pUG9wdXAgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvdW5pLXBvcHVwL3VuaS1wb3B1cC52dWVcIjtcclxuXHRpbXBvcnQgdW5pUG9wdXBDb25maXJtIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3VuaS1wb3B1cC91bmktcG9wdXAtY29uZmlybS52dWVcIjtcclxuXHRpbXBvcnQgdW5pUG9wdXBRaWFuZyBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy91bmktcG9wdXAvdW5pLXBvcHVwLXFpYW5nLnZ1ZVwiO1xyXG5cdGltcG9ydCB0ZXh0U2Nyb2xsIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3RleHRTY3JvbGwvdGV4dFNjcm9sbC52dWVcIjtcclxuXHRpbXBvcnQgbmtTZWxlY3RGaWxlIGZyb20gXCJAL2NvbXBvbmVudHMvbmstc2VsZWN0LWZpbGUvbmstc2VsZWN0LWZpbGUudnVlXCI7XHJcblx0aW1wb3J0IHtcclxuXHRcdG1hcFN0YXRlLFxyXG5cdFx0bWFwTXV0YXRpb25zXHJcblx0fSBmcm9tIFwidnVleFwiO1xyXG5cclxuXHRpbXBvcnQgc2VsZWN0RnJpZW5kIGZyb20gXCIuL3NlbGVjdF9mcmllbmQudnVlXCI7XHJcblxyXG5cdGltcG9ydCB7XHJcblx0XHRnZW5UZXN0VXNlclNpZ1xyXG5cdH0gZnJvbSBcIkAvZGVidWcvR2VuZXJhdGVUZXN0VXNlclNpZy5qc1wiO1xyXG5cclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRjb21wb25lbnRzOiB7XHJcblx0XHRcdHVuaUxvYWRNb3JlLFxyXG5cdFx0XHR1bmlQb3B1cCxcclxuXHRcdFx0dW5pUG9wdXBDb25maXJtLFxyXG5cdFx0XHR1bmlQb3B1cFFpYW5nLFxyXG5cdFx0XHR0ZXh0U2Nyb2xsLFxyXG5cdFx0XHRua1NlbGVjdEZpbGUsXHJcblx0XHRcdHNlbGVjdEZyaWVuZCxcclxuXHRcdH0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHNlcnZpbmdTdGF0ZTogMyxcclxuXHRcdFx0XHRvbkxpbmU6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3dTZXJ2aW5nOiBmYWxzZSxcclxuXHRcdFx0XHRtZW1iZXJQaG90b3M6IFtdLFxyXG5cdFx0XHRcdGlzX21haW46IDAsXHJcblx0XHRcdFx0bm93UmVhZFRpbWU6IDE2MzUwMTMwMjYsXHJcblx0XHRcdFx0cmVkVGltZXI6IG51bGwsXHJcblx0XHRcdFx0bm90aWNlOiBcIlwiLFxyXG5cdFx0XHRcdHNjcm9sbEluZm86IHtcclxuXHRcdFx0XHRcdGlucHV0X2JveF9oZWlnaHQxOiAwLFxyXG5cdFx0XHRcdFx0aW5wdXRfYm94X2hlaWdodDI6IDAsXHJcblx0XHRcdFx0XHR0b3RhbGxfaGVpZ2h0OiAwLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0c2Nyb2xsSGVpZ2h0OiBcIjBweFwiLFxyXG5cdFx0XHRcdG5pbWluZ19tc2c6IFwi5Yy/5ZCNXCIsXHJcblx0XHRcdFx0dmlkZW9Db250ZXh0OiBudWxsLFxyXG5cdFx0XHRcdHZpZGVvUGF0aDogXCJcIixcclxuXHRcdFx0XHRzaG93VmVkaW86IGZhbHNlLFxyXG5cdFx0XHRcdHJlY2VpdmVfbGlzdDogW10sXHJcblx0XHRcdFx0bHVja2J0bjogXCJcIixcclxuXHRcdFx0XHRzY3JvbGxUb3A6IDAsXHJcblx0XHRcdFx0Y2hhdF9pZDogXCJcIixcclxuXHRcdFx0XHQvL+aWh+Wtl+a2iOaBr1xyXG5cdFx0XHRcdHZpZGVQb3VwOiBmYWxzZSxcclxuXHRcdFx0XHR2aWRlUGxheTogZmFsc2UsXHJcblx0XHRcdFx0dm9pY2VMb2FkaW5nOiBmYWxzZSxcclxuXHRcdFx0XHR2aWRlb0xvYWRpbmc6IGZhbHNlLFxyXG5cdFx0XHRcdHRleHRNc2c6IFwiXCIsXHJcblx0XHRcdFx0Ly/mtojmga/liJfooahcclxuXHRcdFx0XHRpc0hpc3RvcnlMb2FkaW5nOiBmYWxzZSxcclxuXHRcdFx0XHRzY3JvbGxBbmltYXRpb246IGZhbHNlLFxyXG5cdFx0XHRcdHNjcm9sbFRvVmlldzogXCJcIixcclxuXHRcdFx0XHRtc2dMaXN0OiB7XHJcblx0XHRcdFx0XHRzaG93X25hbWU6IFwiXCIsXHJcblx0XHRcdFx0XHRsaXN0OiBbXSxcclxuXHRcdFx0XHRcdHR5cGU6IDAsXHJcblx0XHRcdFx0XHRpc19tc2c6IDAsXHJcblx0XHRcdFx0XHRpc19hY3Rpb246IDAsXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRtc2dJbWdMaXN0OiBbXSxcclxuXHRcdFx0XHRub01vcmU6IDAsXHJcblxyXG5cdFx0XHRcdGlzVm9pY2U6IGZhbHNlLFxyXG5cdFx0XHRcdHZvaWNlVGlzOiBcIuaMieS9jyDor7Tor51cIixcclxuXHRcdFx0XHRyZWNvcmRUaXM6IFwi5omL5oyH5LiK5ruRIOWPlua2iOWPkemAgVwiLFxyXG5cdFx0XHRcdHJlY29yZGluZzogZmFsc2UsXHJcblx0XHRcdFx0d2lsbFN0b3A6IGZhbHNlLFxyXG5cdFx0XHRcdGluaXRQb2ludDoge1xyXG5cdFx0XHRcdFx0aWRlbnRpZmllcjogMCxcclxuXHRcdFx0XHRcdFk6IDAsXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRyZWNvcmRUaW1lcjogbnVsbCxcclxuXHRcdFx0XHRyZWNvcmRMZW5ndGg6IDAsXHJcblx0XHRcdFx0Ly8gI2lmZGVmIEFQUC1QTFVTXHJcblx0XHRcdFx0Ly8gY2FsbDogdW5pLnJlcXVpcmVOYXRpdmVQbHVnaW4oXCJUVUlDYWxsaW5nVW5pUGx1Z2luLVRVSUNhbGxpbmdNb2R1bGVcIiksXHJcblx0XHRcdFx0Ly8gY2FsbDogdW5pLnJlcXVpcmVOYXRpdmVQbHVnaW4oJ1RlbmNlbnRDbG91ZC1UVUlDYWxsS2l0JyksXHJcblx0XHRcdFx0Ly8gI2VuZGlmXHJcblx0XHRcdFx0cGxheU1zZ2lkOiBudWxsLFxyXG5cdFx0XHRcdFZvaWNlVGltZXI6IG51bGwsXHJcblx0XHRcdFx0Ly8g5oq95bGJ5Y+C5pWwXHJcblx0XHRcdFx0cG9wdXBMYXllckNsYXNzOiBcIlwiLFxyXG5cdFx0XHRcdC8vIG1vcmXlj4LmlbBcclxuXHRcdFx0XHRoaWRlTW9yZTogdHJ1ZSxcclxuXHRcdFx0XHQvL+ihqOaDheWumuS5iVxyXG5cdFx0XHRcdGhpZGVFbW9qaTogdHJ1ZSxcclxuXHRcdFx0XHRlbW9qaUxpc3Q6IGVtb2pfZGF0YS5lbW9qaV9saXN0LFxyXG5cclxuXHRcdFx0XHQvL+ihqOaDheWbvueJh+WbvuW6iuWQjeensCDvvIznlLHkuo7miJHkuIrkvKDnmoTnrKzkuInmlrnlm77luorlkI3np7DkvJrmnInmlLnlj5jvvIzmiYDku6XmnInmraTmlbDmja7mnaXlgZrlr7nlupTvvIzmgqjlrp7pmYXlupTnlKjkuK3lupTor6XkuI3pnIDopoFcclxuXHRcdFx0XHQvL29ubGluZUVtb2ppOiBlbW9qX2RhdGEub25saW5lX2Vtb2ppLFxyXG5cclxuXHRcdFx0XHQvL+e6ouWMheebuOWFs+WPguaVsFxyXG5cdFx0XHRcdHdpbmRvd3NTdGF0ZTogXCJcIixcclxuXHRcdFx0XHRyZWRlbnZlbG9wZURhdGE6IHtcclxuXHRcdFx0XHRcdHJpZDogbnVsbCwgLy/nuqLljIVJRFxyXG5cdFx0XHRcdFx0ZnJvbTogbnVsbCxcclxuXHRcdFx0XHRcdGZhY2U6IG51bGwsXHJcblx0XHRcdFx0XHRibGVzc2luZzogbnVsbCxcclxuXHRcdFx0XHRcdG1vbmV5OiBudWxsLFxyXG5cdFx0XHRcdFx0aW5kZXg6IG51bGwsXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRsaXN0X2lkOiAwLFxyXG5cdFx0XHRcdG15X2RhdGE6IHt9LFxyXG5cdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRwYWdlSGVpZ2h0OiAwLFxyXG5cdFx0XHRcdFx0Y29udGVudFZpZXdIZWlnaHQ6IDAsXHJcblx0XHRcdFx0XHRmb290Vmlld0hlaWdodDogOTAsXHJcblx0XHRcdFx0XHRtaXRlbUhlaWdodDogMCxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGNhbGxfcmV0OiBmYWxzZSxcclxuXHRcdFx0XHRteV9waG90bzogXCJcIixcclxuXHRcdFx0XHRjYWxsVHlwZTogMSwgLy/pu5jorqTop4bpopEsXHJcblx0XHRcdFx0cG9wdU1zZzogXCJcIixcclxuXHRcdFx0XHRwYXlUaW1lcjogZmFsc2UsXHJcblx0XHRcdFx0dHlwZTogXCJcIixcclxuXHRcdFx0XHRLZXlib2FyZDogMCxcclxuXHRcdFx0XHRtaWFvcWlhbmc6IDAsXHJcblx0XHRcdFx0dmVuZG9yX3N0YXR1czogMCxcclxuXHRcdFx0XHRkb3VibGVDbGljazogZmFsc2UsXHJcblx0XHRcdFx0ZG91YmxlVGltZToge1xyXG5cdFx0XHRcdFx0Zmlyc3RUaW1lOiBcIlwiLFxyXG5cdFx0XHRcdFx0dG93VGltZTogXCJcIixcclxuXHRcdFx0XHRcdGZsYWc6IHRydWUsXHJcblx0XHRcdFx0XHR0aW1lcjogbnVsbCxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGdyb3VwX3N0YXRlOiBudWxsLFxyXG5cdFx0XHRcdGlzT25saW5lOiAyLCAvLyDvvIgw6KGo56S656a757q/77yMMeihqOekuuWcqOe6v++8iVxyXG5cdFx0XHRcdHNob3dVcGxvYWRGaWxlOiBmYWxzZSwgLy/kuIrkvKDmlofku7ZcclxuXHJcblx0XHRcdFx0c2VuZF91c2VyX2lkOiBcIlwiLCAvL0Dlpb3lj4vnmoTkv6Hmga9cclxuXHJcblx0XHRcdFx0cG9wSGVpZ2h0OiBcIlwiLCAvL3RvZG/lvLnlh7rpgInmi6nlpb3lj4vpq5jluqZcclxuXHJcblx0XHRcdFx0bWVtYmVyczogW10sIC8v576k5oiQ5ZGYXHJcblx0XHRcdH07XHJcblx0XHR9LFxyXG5cdFx0b25CYWNrUHJlc3Mob3B0aW9ucykge1xyXG5cdFx0XHRjb25zb2xlLmxvZyhvcHRpb25zKTtcclxuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdHVybDogXCIvcGFnZXMvY2hhdC9pbmRleFwiLFxyXG5cdFx0XHR9KTtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fSxcclxuXHRcdG9uTG9hZChvcHRpb24pIHtcclxuXHRcdFx0Ly8g55uR5ZCs6K+t6Z+z6KeG6aKR6YCa6K+d5LqL5Lu2XHJcblx0XHRcdC8vICNpZmRlZiBBUFAtUExVU1xyXG5cdFx0XHQvLyB1bmkuJFRVSUNhbGxpbmdFdmVudC5hZGRFdmVudExpc3RlbmVyKFwib25DYWxsU3RhcnRcIiwgKGRhdGEpID0+IHtcclxuXHRcdFx0Ly8gXHRjb25zb2xlLmxvZyhcIm9uQ2FsbFN0YXJ0XCIgKyBKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcblx0XHRcdC8vIFx0Y29uc29sZS5sb2coXCJvbkNhbGxTdGFydFwiICsgZGF0YS5yb29tSUQpO1xyXG5cdFx0XHQvLyB9KTtcclxuXHRcdFx0Ly8gdW5pLiRUVUlDYWxsaW5nRXZlbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm9uQ2FsbEVuZFwiLCAoZGF0YSkgPT4ge1xyXG5cdFx0XHQvLyBcdGNvbnNvbGUubG9nKFwib25DYWxsRW5kXCIgKyBKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcblx0XHRcdC8vIFx0ZGF0YS50aW1lID0gZGF0YS50b3RhbFRpbWU7XHJcblx0XHRcdC8vIFx0Ly8gX2dldC5jYW5jZWxDYWxsKGRhdGEsIGZ1bmN0aW9uKHJlcykge30pO1xyXG5cdFx0XHQvLyB9KTtcclxuXHRcdFx0Ly8gdW5pLiRUVUlDYWxsaW5nRXZlbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm9uQ2FsbFN1Y2NlZWRcIiwgKGRhdGEpID0+IHtcclxuXHRcdFx0Ly8gXHRjb25zb2xlLmxvZyhcIm9uQ2FsbFN1Y2NlZWRcIiArIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuXHRcdFx0Ly8gfSk7XHJcblx0XHRcdC8vIHVuaS4kVFVJQ2FsbGluZ0V2ZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJvbkNhbGxGYWlsZWRcIiwgKGRhdGEpID0+IHtcclxuXHRcdFx0Ly8gXHRjb25zb2xlLmxvZyhcIm9uQ2FsbEZhaWxlZFwiICsgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG5cdFx0XHQvLyBcdGRhdGEudGltZSA9IGRhdGEudG90YWxUaW1lO1xyXG5cdFx0XHQvLyBcdC8vIF9nZXQuY2FuY2VsQ2FsbChkYXRhLCBmdW5jdGlvbihyZXMpIHt9KTtcclxuXHRcdFx0Ly8gfSk7XHJcblx0XHRcdC8vICNlbmRpZlxyXG5cclxuXHRcdFx0dGhpcy5saXN0X2lkID0gb3B0aW9uLmxpc3RfaWQ7XHJcblx0XHRcdGlmIChcImNoYXRfaWRcIiBpbiBvcHRpb24pIHtcclxuXHRcdFx0XHR0aGlzLmNoYXRfaWQgPSBvcHRpb24uY2hhdF9pZDtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAoXCJ0cmFuc1wiIGluIG9wdGlvbikge1xyXG5cdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0dGl0bGU6IFwi6L2s5Y+R5oiQ5YqfXCIsXHJcblx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdGR1Y2F0aW9uOiAyMDAwLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHRcdC8v5rOo5YaM5LqL5Lu2XHJcblx0XHRcdC8vIOazqOWGjOWPkemAgemfs+mikeS6i+S7tlxyXG5cdFx0XHR0aGlzLnJlZ09uU3RhcnRFdmVudCgoZSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMucmVjb3JkQmVnaW4oZSk7XHJcblx0XHRcdH0pO1xyXG5cdFx0XHQvLyDms6jlhozlj5HpgIHpn7PpopHkuovku7ZcclxuXHRcdFx0dGhpcy5yZWdTZW5kVm9pY2VFdmVudCgoZSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMucmVjb3JkRW5kKGUpO1xyXG5cdFx0XHR9KTtcclxuXHJcblx0XHRcdC8vIOazqOWGjOWPkemAgemfs+mikeS6i+S7tlxyXG5cdFx0XHR0aGlzLnJlZ1Z1ZGlvRW5kRXZlbnQoKGUpID0+IHtcclxuXHRcdFx0XHR0aGlzLnBsYXlNc2dpZCA9IG51bGw7XHJcblx0XHRcdH0pO1xyXG5cdFx0XHQvLyAvL+ivremfs+iHqueEtuaSreaUvue7k+adn1xyXG5cdFx0XHQvLyB0aGlzLkFVRElPLm9uRW5kZWQoKHJlcykgPT4ge1xyXG5cdFx0XHQvLyAgIHRoaXMucGxheU1zZ2lkID0gbnVsbDtcclxuXHRcdFx0Ly8gfSk7XHJcblx0XHRcdC8vXHJcblx0XHRcdC8vIC8vICNpZm5kZWYgSDVcclxuXHRcdFx0Ly8gLy/lvZXpn7PlvIDlp4vkuovku7ZcclxuXHRcdFx0Ly8gdGhpcy5SRUNPUkRFUi5vblN0YXJ0KChlKSA9PiB7XHJcblx0XHRcdC8vICAgdGhpcy5yZWNvcmRCZWdpbihlKTtcclxuXHRcdFx0Ly8gfSlcclxuXHRcdFx0Ly8gLy/lvZXpn7Pnu5PmnZ/kuovku7ZcclxuXHRcdFx0Ly8gdGhpcy5SRUNPUkRFUi5vblN0b3AoKGUpID0+IHtcclxuXHRcdFx0Ly8gICB0aGlzLnJlY29yZEVuZChlKTtcclxuXHRcdFx0Ly8gfSlcclxuXHRcdFx0Ly8gLy8jZW5kaWZcclxuXHRcdH0sXHJcblx0XHRvblVubG9hZCgpIHtcclxuXHRcdFx0LyoqIOi/memHjOWPquS/neeVmeacgOaWsOeahDE15p2h5Lya6K+d6K6w5b2V77yM5Lul5L+d6K+B5Yid5qyh5Yqg6L295oCn6IO9ICovXHJcblx0XHRcdGxldCBfdGhpcyA9IHRoaXM7XHJcblx0XHRcdGxldCBjaGF0X2RhdGEgPSB0aGlzLm1zZ0xpc3Q7XHJcblx0XHRcdGNoYXRfZGF0YS5saXN0ID0gY2hhdF9kYXRhLmxpc3Quc2xpY2UoLTE1KTtcclxuXHRcdFx0X2RhdGEubG9jYWxEYXRhKHRoaXMubGlzdF9pZCwgY2hhdF9kYXRhKTtcclxuXHRcdFx0LyoqIOWOu+mZpOW9k+WJjeS8muivneeahGxpc3RfaWQgKi9cclxuXHRcdFx0X2RhdGEubG9jYWxEYXRhKFwibWVzc2FnZV9saXN0X2lkXCIsIFwiXCIpO1xyXG5cdFx0XHQvKiog5pqC5YGc6K+t6Z+z5pKt5pS+ICovXHJcblx0XHRcdC8vIHRoaXMuQVVESU8ucGF1c2UoKTtcclxuXHRcdFx0LyoqIOenu+mZpOebkeWQrOS6i+S7tiAqL1xyXG5cdFx0XHR1bmkuJG9mZihcImRhdGFfY2hhdF9kYXRhX3Vuc2hpZnRcIik7XHJcblx0XHRcdHVuaS4kb2ZmKFwiZGF0YV9jaGF0X2RhdGFfcHVzaFwiKTtcclxuXHRcdFx0dW5pLiRvZmYoXCJkYXRhX2NoYXRfZGF0YVwiKTtcclxuXHRcdFx0dW5pLiRvZmYoXCJkYXRhX3VzZXJfaW5mb1wiKTtcclxuXHRcdFx0dW5pLiRvZmYoXCJkYXRhX2NoYXRfZGF0YV9kZWxldGVcIik7XHJcblx0XHRcdHVuaS4kb2ZmKFwidXBkYXRlX3RleHRfbXNnXCIpO1xyXG5cdFx0XHR1bmkuJG9mZihcIm1lbWJlckpvaW5Sb29tXCIpO1xyXG5cdFx0XHR1bmkuJG9mZihcImNsb3NlVm9pY2VSb29tXCIpO1xyXG5cdFx0XHRjbGVhckludGVydmFsKF90aGlzLnRpbWVyKTtcclxuXHRcdFx0Y2xlYXJJbnRlcnZhbChfdGhpcy5yZWRUaW1lcik7XHJcblxyXG5cdFx0XHRpZiAoX2RhdGEuZGF0YShcInZvaWNlX3Jvb21fdHlwZVwiKSkge1xyXG5cdFx0XHRcdF90aGlzLiRyZWZzLnNlcnZpbmcueGlhTWFpKF90aGlzLmxpc3RfaWQpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdF90aGlzLiRyZWZzLnNlcnZpbmcgJiYgX3RoaXMuJHJlZnMuc2VydmluZy5jbG9zZVZvaWNlUm9vbSgpO1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpIHtcclxuXHRcdFx0bGV0IF90aGlzID0gdGhpcztcclxuXHRcdFx0aWYgKHRoaXMuY2hhdF9pZCkge1xyXG5cdFx0XHRcdHRoaXMuJG5leHRUaWNrKCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuc2Nyb2xsVG9WaWV3ID0gXCJtc2dcIiArIHRoaXMuY2hhdF9pZDtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdF90aGlzLmdldFNjcm9sbENvbnRlbnRIZWlnaHQoXCJoaWRlXCIsIDApO1xyXG5cdFx0XHR9LCA0MDApO1xyXG5cdFx0fSxcclxuXHRcdGNyZWF0ZWQoKSB7fSxcclxuXHJcblx0XHRvblNob3coKSB7XHJcblx0XHRcdHRoaXMuaW5pdERhdGEoKTtcclxuXHRcdH0sXHJcblx0XHRjb21wdXRlZDoge1xyXG5cdFx0XHQuLi5tYXBTdGF0ZSh7XHJcblx0XHRcdFx0UkVDT1JEOiAoc3RhdGUpID0+IHN0YXRlLmF1ZGlvLlJFQ09SRCxcclxuXHRcdFx0XHRBVURJTzogKHN0YXRlKSA9PiBzdGF0ZS5hdWRpby5BVURJTyxcclxuXHRcdFx0XHRSZWNvcmRUaW1lOiAoc3RhdGUpID0+IHN0YXRlLmF1ZGlvLlJlY29yZFRpbWUsXHJcblx0XHRcdFx0S2V5Ym9hcmRIOiAoc3RhdGUpID0+IHN0YXRlLmNvbW1vbi5LZXlib2FyZEhlaWdodCxcclxuXHRcdFx0XHRjdXN0b21fZm9udF9zaXplOiAoc3RhdGUpID0+IHN0YXRlLmNvbW1vbi5jdXN0b21fZm9udF9zaXplLFxyXG5cdFx0XHR9KSxcclxuXHRcdFx0Z2V0U2VydmluZ1RleHQoKSB7XHJcblx0XHRcdFx0cmV0dXJuIF9kYXRhLmRhdGEoXCJkcmFnSW5mb1wiKS5zdGF0ZSA9PSAxID8gXCLkuIvpuqZcIiA6IFwi5LiK6bqmXCI7XHJcblx0XHRcdH0sXHJcblx0XHRcdG15UGhvdG8oKSB7XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMubXlfcGhvdG87XHJcblx0XHRcdH0sXHJcblx0XHRcdGltZ1JhbigpIHtcclxuXHRcdFx0XHRyZXR1cm4gTWF0aC5yYW5kb20oKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0c3RhdGljUGF0aCgpIHtcclxuXHRcdFx0XHRyZXR1cm4gX2RhdGEuc3RhdGljQ2hhdCgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzdGF0aWNWaWRlb0ltZygpIHtcclxuXHRcdFx0XHRyZXR1cm4gX2RhdGEuc3RhdGljVmlkZW9JbWcoKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0c3RhdGljUGhvdG8oKSB7XHJcblx0XHRcdFx0cmV0dXJuIF9kYXRhLnN0YXRpY1Bob3RvKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNlbmRNc2dDbGFzcygpIHtcclxuXHRcdFx0XHQvLyAjaWZkZWYgSDVcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5pc1ZvaWNlID8gXCJoaWRkZW5cIiA6IFwiXCI7XHJcblx0XHRcdFx0Ly8gI2VuZGlmXHJcblx0XHRcdFx0cmV0dXJuICh0aGlzLmlzVm9pY2UgPyBcImhpZGRlblwiIDogXCJcIikgfHwgdGhpcy50ZXh0TXNnLmxlbmd0aCA/XHJcblx0XHRcdFx0XHRcIlwiIDpcclxuXHRcdFx0XHRcdFwiaGlkZGVuXCI7XHJcblx0XHRcdH0sXHJcblx0XHRcdGljb25TaG93KCkge1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLnRleHRNc2cubGVuZ3RoID8gXCJoaWRkZW5cIiA6IFwibW9yZVwiO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzeXN0ZW1DbGFzcygpIHtcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5tc2dMaXN0LnR5cGUgPT0gMSA/IFwic3lzXCIgOiBcIlwiO1xyXG5cdFx0XHR9LFxyXG5cdFx0fSxcclxuXHRcdG9uUmVhZHk6IGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRsZXQgX3RoaXMgPSB0aGlzO1xyXG5cdFx0XHRpZiAoX3RoaXMubXNnTGlzdC50eXBlID09IDEpIHtcclxuXHRcdFx0XHQvLyBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0XHQvLyAgIF90aGlzLiRyZWZzLnNjcm9sbE5vdGljZS50ZXh0U2Nyb2xsKClcclxuXHRcdFx0XHQvLyB9LDMwMCk7XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdC4uLm1hcE11dGF0aW9ucyhbXHJcblx0XHRcdFx0XCJyZWdTZW5kVm9pY2VFdmVudFwiLFxyXG5cdFx0XHRcdFwicmVnT25TdGFydEV2ZW50XCIsXHJcblx0XHRcdFx0XCJyZWdWdWRpb0VuZEV2ZW50XCIsXHJcblx0XHRcdF0pLFxyXG5cdFx0XHQvLyDmtojmga/mmK/lkKbmmK/lm77niYdcclxuXHRcdFx0aXNJbWFnZShjb24pIHtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhcImNvblwiLGNvbik7XHJcblx0XHRcdFx0Ly8g5aaC5p6c5piv5Zu+54mH77yM5YiZ6L2s5o2i5oiQ5Zu+54mHXHJcblx0XHRcdFx0bGV0IHJlZyA9XHJcblx0XHRcdFx0XHQvXmh0dHBzPzpcXC9cXC8oLitcXC8pKy4rKFxcLihnaWZ8cG5nfGpwZ3xqcGVnfHdlYnB8c3ZnfHBzZHxibXB8dGlmKSkkL2k7XHJcblx0XHRcdFx0bGV0IHJlZzIgPSBSZWdFeHAoL2RhdGE6aW1hZ2VcXC8uKjtiYXNlNjQsLyk7XHJcblx0XHRcdFx0aWYgKHJlZy50ZXN0KGNvbikgfHwgcmVnMi50ZXN0KGNvbikpIHtcclxuXHRcdFx0XHRcdHJldHVybiB0cnVlO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDpgInmi6nopoHnpoHoqIDnmoTkurpcclxuXHRcdFx0c2VsZWN0TWVtYmVyKHJvdykge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKFwicm93XCIsIHJvdyk7XHJcblx0XHRcdFx0bGV0IHVzZXJfaWQgPSByb3cubXNnLnVzZXJfaW5mby51aWQgKyBcIlwiO1xyXG5cdFx0XHRcdGlmICh1c2VyX2lkKSB7XHJcblx0XHRcdFx0XHRsZXQgaSA9IHRoaXMubWVtYmVycy5pbmRleE9mKHVzZXJfaWQpO1xyXG5cdFx0XHRcdFx0aWYgKGkgPiAtMSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLm1lbWJlcnMuc3BsaWNlKGksIDEpO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5tZW1iZXJzLnB1c2godXNlcl9pZCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCBfdGhpcyA9IHRoaXM7XHJcblx0XHRcdFx0X3RoaXMuJGh0dHBTZW5kKHtcclxuXHRcdFx0XHRcdHBhdGg6IFwiL2ltL21lc3NhZ2Uvc2V0R3JvdXBBZG1pblwiLFxyXG5cdFx0XHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdFx0XHR1c2VyczogSlNPTi5zdHJpbmdpZnkoX3RoaXMubWVtYmVycyksXHJcblx0XHRcdFx0XHRcdGxpc3RfaWQ6IF90aGlzLmxpc3RfaWQsXHJcblx0XHRcdFx0XHRcdHR5cGU6IDIsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0c3VjY2Vzc19hY3Rpb246IHRydWUsXHJcblx0XHRcdFx0XHRzdWNjZXNzKHJlcykge1xyXG5cdFx0XHRcdFx0XHRyb3cuc2hvd0FjdGlvbiA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRfdGhpcy4kZm9yY2VVcGRhdGUoKTtcclxuXHRcdFx0XHRcdFx0Ly8g56aB6KiAXHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiByZXMubXNnLFxyXG5cdFx0XHRcdFx0XHRcdGR1cmF0aW9uOiAyMDAwLFxyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOmAieaLqeimgeWJlOWHuueahOS6ulxyXG5cdFx0XHRzZWxlY3RSZW1vdmVNZW1iZXIocm93KSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCJyb3dcIiwgcm93KTtcclxuXHRcdFx0XHRsZXQgdXNlcl9pZCA9IHJvdy5tc2cudXNlcl9pbmZvLnVpZDtcclxuXHRcdFx0XHRpZiAodXNlcl9pZCkge1xyXG5cdFx0XHRcdFx0bGV0IGkgPSB0aGlzLm1lbWJlcnMuaW5kZXhPZih1c2VyX2lkKTtcclxuXHRcdFx0XHRcdGlmIChpID4gLTEpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5tZW1iZXJzLnNwbGljZShpLCAxKTtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHRoaXMubWVtYmVycy5wdXNoKHVzZXJfaWQpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRsZXQgX3RoaXMgPSB0aGlzO1xyXG5cdFx0XHRcdF90aGlzLiRodHRwU2VuZCh7XHJcblx0XHRcdFx0XHRwYXRoOiBcIi9pbS9tZXNzYWdlL3JlbW92ZUNoYXRcIixcclxuXHRcdFx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHRcdFx0dXNlcnM6IEpTT04uc3RyaW5naWZ5KF90aGlzLm1lbWJlcnMpLFxyXG5cdFx0XHRcdFx0XHRsaXN0X2lkOiBfdGhpcy5saXN0X2lkLFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3NfYWN0aW9uOiB0cnVlLFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0cm93LnNob3dBY3Rpb24gPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0X3RoaXMuJGZvcmNlVXBkYXRlKCk7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiByZXMubXNnLFxyXG5cdFx0XHRcdFx0XHRcdGR1cmF0aW9uOiAyMDAwLFxyXG5cdFx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOaJgOaciee+pOaIkOWRmFxyXG5cdFx0XHRnZXRHcm91cE1lbWJlcnMocm93KSB7XHJcblx0XHRcdFx0bGV0IF90aGlzID0gdGhpcztcclxuXHRcdFx0XHRfdGhpcy4kaHR0cFNlbmQoe1xyXG5cdFx0XHRcdFx0cGF0aDogXCIvaW0vbWVzc2FnZS9nZXRHcm91cEFkbWluXCIsXHJcblx0XHRcdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0XHRcdGxpc3RfaWQ6IHRoaXMubGlzdF9pZCxcclxuXHRcdFx0XHRcdFx0dHlwZTogMixcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRzdWNjZXNzKGRhdGEpIHtcclxuXHRcdFx0XHRcdFx0X3RoaXMubWVtYmVycyA9IGRhdGEudXNlcl9pZHM7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwiX3RoaXMubWVtYmVyc1wiLCBfdGhpcy5tZW1iZXJzKTtcclxuXHRcdFx0XHRcdFx0cm93LnNob3dBY3Rpb24gPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRfdGhpcy4kZm9yY2VVcGRhdGUoKTtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIHRvZG8g6ZW/5oyJ5pi+56S66Z2i5p2/XHJcblx0XHRcdHNob3dBY3Rpb24ocm93KSB7XHJcblx0XHRcdFx0dGhpcy5tc2dMaXN0Lmxpc3QubWFwKChpdGVtKSA9PiB7XHJcblx0XHRcdFx0XHRpdGVtLnNob3dBY3Rpb24gPSBmYWxzZTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHR0aGlzLmdldEdyb3VwTWVtYmVycyhyb3cpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyB0b2RvIOmVv+aMieWktOWDj0Dlpb3lj4tcclxuXHRcdFx0YWRkRnJpZW5kQ2hhdChtc2cpIHtcclxuXHRcdFx0XHRtc2cuc2hvd0FjdGlvbiA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMudGV4dE1zZyA9IHRoaXMudGV4dE1zZyArIFwiQFwiICsgbXNnLm1zZy51c2VyX2luZm8ubmFtZSArIFwiIFwiO1xyXG5cdFx0XHRcdGlmICghdGhpcy5zZW5kX3VzZXJfaWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuc2VuZF91c2VyX2lkID0gbXNnLm1zZy51c2VyX2luZm8udWlkO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLnNlbmRfdXNlcl9pZCA9IHRoaXMuc2VuZF91c2VyX2lkICsgXCIsXCIgKyBtc2cubXNnLnVzZXJfaW5mby51aWQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjbG9zZUZyaWVuZHMoKSB7XHJcblx0XHRcdFx0dGhpcy4kcmVmcy5wb3B1cF9mcmllbmRzLmNsb3NlKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOWIneWni+WMluaVsOaNrlxyXG5cdFx0XHRpbml0RGF0YSgpIHtcclxuXHRcdFx0XHRfaG9vay5yb3V0ZVNvbkhvb2soKTtcclxuXHRcdFx0XHRfZ2V0LmdldFVzZXJJbmZvKHt9KTtcclxuXHRcdFx0XHQvLyB0b2RvIOmAieaLqUDlpb3lj4vpq5jluqZcclxuXHRcdFx0XHR0aGlzLnBvcEhlaWdodCA9IHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLndpbmRvd0hlaWdodDtcclxuXHJcblx0XHRcdFx0bGV0IF90aGlzID0gdGhpcztcclxuXHRcdFx0XHQvKiog5YWI56e76Zmk55uR5ZCs5LqL5Lu277yI6YG/5YWN6YeN5aSN6Kem5Y+R5raI5oGv77yJICovXHJcblx0XHRcdFx0dW5pLiRvZmYoXCJyZW1vdmVfbWVtYmVyXCIpO1xyXG5cdFx0XHRcdHVuaS4kb2ZmKFwiZ3JvdXBfZGVsZXRlX2NoYXRcIik7XHJcblx0XHRcdFx0dW5pLiRvZmYoXCJjaGF0X2RlbFwiKTtcclxuXHRcdFx0XHR1bmkuJG9mZihcImRhdGFfY2hhdF9kYXRhX3Vuc2hpZnRcIik7XHJcblx0XHRcdFx0dW5pLiRvZmYoXCJkYXRhX2NoYXRfZGF0YV9wdXNoXCIpO1xyXG5cdFx0XHRcdHVuaS4kb2ZmKFwiZGF0YV9jaGF0X2RhdGFcIik7XHJcblx0XHRcdFx0dW5pLiRvZmYoXCJkYXRhX3VzZXJfaW5mb1wiKTtcclxuXHRcdFx0XHR1bmkuJG9mZihcImRhdGFfY2hhdF9kYXRhX2RlbGV0ZVwiKTtcclxuXHRcdFx0XHR1bmkuJG9mZihcInVwZGF0ZV90ZXh0X21zZ1wiKTtcclxuXHRcdFx0XHR1bmkuJG9mZihcIm1lbWJlckpvaW5Sb29tXCIpO1xyXG5cdFx0XHRcdHVuaS4kb2ZmKFwiY2xvc2VWb2ljZVJvb21cIik7XHJcblx0XHRcdFx0dW5pLiRvZmYoXCJuZXdSZWFkVGltZVwiKTtcclxuXHRcdFx0XHRjbGVhckludGVydmFsKF90aGlzLnRpbWVyKTtcclxuXHRcdFx0XHRjbGVhckludGVydmFsKF90aGlzLnJlZFRpbWVyKTtcclxuXHRcdFx0XHRfdGhpcy5nZXRSZWFkVGltZSgpO1xyXG5cdFx0XHRcdHVuaS4kb24oXCJuZXdSZWFkVGltZVwiLCBmdW5jdGlvbih0aW1lKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnbmV3UmVhZFRpbWXvvJrmiJDlip8nKTtcclxuXHRcdFx0XHRcdF90aGlzLm5vd1JlYWRUaW1lID0gdGltZTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRfdGhpcy5teV9waG90byA9IF9kYXRhLmRhdGEoXCJjYWNoZVwiKS5sb2NhbF9waG90bztcclxuXHRcdFx0XHRsZXQgY2hhdF9kYXRhID0gX2RhdGEubG9jYWxEYXRhKF90aGlzLmxpc3RfaWQpO1xyXG5cdFx0XHRcdF90aGlzLm15X2RhdGEgPSBfZGF0YS5kYXRhKFwidXNlcl9pbmZvXCIpO1xyXG5cdFx0XHRcdC8qIOmHjeaWsOiOt+WPluWvueivneWGheWuuSAqL1xyXG5cdFx0XHRcdF9nZXQuZ2V0Q2hhdERhdGEoe1xyXG5cdFx0XHRcdFx0c2VuZF9kYXRhOiB7XHJcblx0XHRcdFx0XHRcdGxpc3RfaWQ6IF90aGlzLmxpc3RfaWQsXHJcblx0XHRcdFx0XHRcdHRpbWU6IDAsXHJcblx0XHRcdFx0XHRcdGlzX3VwOiAxLFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGlzX2FjdGlvbl9kYXRhOiAxLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGNoYXRfZGF0YSwgJ2NoYXRfZGF0YSsrKysrKysnKTtcclxuXHRcdFx0XHRpZiAoY2hhdF9kYXRhICYmIGNoYXRfZGF0YS5saXN0Lmxlbmd0aCkge1xyXG5cdFx0XHRcdFx0X3RoaXMuc2Nyb2xsQW5pbWF0aW9uID0gZmFsc2U7XHJcblx0XHRcdFx0XHQvLyBUT0RPIOWbvueJh+WIl+ihqFxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coY2hhdF9kYXRhKTtcclxuXHRcdFx0XHRcdGxldCBtc2cgPSBcIlwiO1xyXG5cdFx0XHRcdFx0aWYgKGNoYXRfZGF0YS5vbmxpbmUgPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRtc2cgPSBcIijlnKjnur8pXCI7XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRtc2cgPSBcIijnprvnur8pXCI7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR1bmkuc2V0TmF2aWdhdGlvbkJhclRpdGxlKHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6IGNoYXRfZGF0YS5zaG93X25hbWUgKyAoY2hhdF9kYXRhLnR5cGUgPT0gMSA/IFwiXCIgOiBtc2cpLFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRfdGhpcy5hZGRNc2dJbWdMaXN0KGNoYXRfZGF0YS5saXN0KTtcclxuXHRcdFx0XHRcdGNoYXRfZGF0YS5saXN0ID0gX3RoaXMubXNnRGF0YUhhbmRsZShjaGF0X2RhdGEubGlzdCk7XHJcblx0XHRcdFx0XHRfdGhpcy5tc2dMaXN0ID0gY2hhdF9kYXRhO1xyXG5cclxuXHRcdFx0XHRcdF90aGlzLnJlY2VpdmVfbGlzdCA9IF90aGlzLm1zZ0xpc3QucmVjZWl2ZV9saXN0O1xyXG5cdFx0XHRcdFx0LyoqIOa7muWKqOWIsOaMh+WumuS9jee9riAqL1xyXG5cdFx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0X3RoaXMuJG5leHRUaWNrKGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHRcdF90aGlzLnNjcm9sbFRvcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG5cdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKFwiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcIilcclxuXHRcdFx0XHRcdFx0XHQvLyBfdGhpcy5zY3JvbGxUb1ZpZXcgPSAnbXNnJyArIGRhdGFbZGF0YS5sZW5ndGggLSAxXS5tc2cuaWQ7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fSwgNDAwKTtcclxuXHRcdFx0XHRcdC8qKiDlpoLmnpzmmK/nvqTogYropoHlrp7ml7bmo4DmtYvnvqTmnInml6DnpoHoqIAgKi9cclxuXHRcdFx0XHRcdF90aGlzLnR5cGUgPSBjaGF0X2RhdGEudHlwZTtcclxuXHRcdFx0XHRcdGlmIChjaGF0X2RhdGEudHlwZSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdF90aGlzLmdldEdyb3VwU3RlYXRlKCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCfmt7vliqDlvZPliY3nmoTkvJror50nLCB0aGlzLmxpc3RfaWQpO1xyXG5cdFx0XHRcdC8qKiDmt7vliqDlvZPliY3nmoTkvJror51saXN0X2lkICovXHJcblx0XHRcdFx0X2RhdGEubG9jYWxEYXRhKFwibWVzc2FnZV9saXN0X2lkXCIsIHRoaXMubGlzdF9pZCk7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ19kYXRhJywgX2RhdGEpO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCfnm5HlkKzkvJror53mlbDmja7lj5jljJbnmoTkvJror50nKTtcclxuXHRcdFx0XHQvKiog55uR5ZCs5Lya6K+d5pWw5o2u5Y+Y5YyWICovXHJcblx0XHRcdFx0dW5pLiRvbihcImRhdGFfY2hhdF9kYXRhX3Vuc2hpZnRcIiwgZnVuY3Rpb24oZGF0YSkge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ+S8muivneaVsOaNruacieWPmOWMlicpO1xyXG5cdFx0XHRcdFx0ZGF0YSA9IF90aGlzLm1zZ0RhdGFIYW5kbGUoZGF0YSk7XHJcblx0XHRcdFx0XHRfdGhpcy5zY3JvbGxBbmltYXRpb24gPSBmYWxzZTtcclxuXHRcdFx0XHRcdGxldCBwb3NpdGlvbl9pZCA9IF90aGlzLm1zZ0xpc3QubGlzdFswXS5tc2cuaWQ7XHJcblx0XHRcdFx0XHRfdGhpcy5tc2dMaXN0Lmxpc3QudW5zaGlmdCguLi5kYXRhKTtcclxuXHRcdFx0XHRcdC8qKiDmu5rliqjliLDmjIflrprkvY3nva4gKi9cclxuXHRcdFx0XHRcdF90aGlzLiRuZXh0VGljayhmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0X3RoaXMuc2Nyb2xsVG9WaWV3ID0gXCJtc2dcIiArIHBvc2l0aW9uX2lkO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHQvLyBUT0RPIOWbvueJh+WIl+ihqFxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCLlm77niYfliJfooagrKysrKytcIiwgX3RoaXMubXNnTGlzdCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0LyoqIOebkeWQrOS8muivneaVsOaNruWPmOWMliAqL1xyXG5cdFx0XHRcdHVuaS4kb24oXCJkYXRhX2NoYXRfZGF0YV9wdXNoXCIsIGZ1bmN0aW9uKGRhdGEpIHtcclxuXHRcdFx0XHRcdF90aGlzLnNldFJlYWRUaW1lKCk7XHJcblx0XHRcdFx0XHQvKiog5L+d5oyB6aG16Z2iMTXmnaHmlbDmja7vvIzmj5DljYfmgKfog70gKi9cclxuXHRcdFx0XHRcdF90aGlzLm5vTW9yZSA9IDA7XHJcblx0XHRcdFx0XHRkYXRhID0gX3RoaXMubXNnRGF0YUhhbmRsZShkYXRhKTtcclxuXHRcdFx0XHRcdF90aGlzLnNjcm9sbEFuaW1hdGlvbiA9IHRydWU7XHJcblx0XHRcdFx0XHRfdGhpcy5tc2dMaXN0Lmxpc3QgPSBkYXRhO1xyXG5cdFx0XHRcdFx0Ly8gVE9ETyDlm77niYfliJfooahcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi5Zu+54mH5YiX6KGoLS0tLS1cIiwgX3RoaXMubXNnTGlzdCk7XHJcblx0XHRcdFx0XHRfdGhpcy5yZWNlaXZlX2xpc3QgPSBfdGhpcy5tc2dMaXN0LnJlY2VpdmVfbGlzdDtcclxuXHRcdFx0XHRcdC8qKiDmu5rliqjliLDmjIflrprkvY3nva4gKi9cclxuXHRcdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRcdF90aGlzLiRuZXh0VGljayhmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0XHQvLyBfdGhpcy5zY3JvbGxUb3AgPShuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XHJcblx0XHRcdFx0XHRcdFx0X3RoaXMuc2Nyb2xsVG9wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gX3RoaXMuc2Nyb2xsVG9WaWV3ID0gJ21zZycgKyBkYXRhW2RhdGEubGVuZ3RoIC0gMV0ubXNnLmlkO1xyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdH0sIDQwMCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0LyoqIOebkeWQrOaSpOWbnua2iOaBryAqL1xyXG5cdFx0XHRcdHVuaS4kb24oXCJkYXRhX2NoYXRfZGF0YV9kZWxldGVcIiwgZnVuY3Rpb24obGlzdCkge1xyXG5cdFx0XHRcdFx0X3RoaXMubXNnTGlzdC5saXN0ID0gbGlzdDtcclxuXHRcdFx0XHRcdC8vIFRPRE8g5Zu+54mH5YiX6KGoXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIuWbvueJh+WIl+ihqFwiLCBfdGhpcy5tc2dMaXN0KTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHQvKiog55uR5ZCs5Lya6K+d5pWw5o2u5Y+Y5YyWICovXHJcblx0XHRcdFx0dW5pLiRvbihcImRhdGFfY2hhdF9kYXRhXCIsIGZ1bmN0aW9uKGRhdGEpIHtcclxuXHRcdFx0XHRcdGxldCBtc2cgPSBcIlwiO1xyXG5cdFx0XHRcdFx0aWYgKGRhdGEub25saW5lID09IDEpIHtcclxuXHRcdFx0XHRcdFx0bXNnID0gXCIo5Zyo57q/KVwiO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0bXNnID0gXCIo56a757q/KVwiO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dW5pLnNldE5hdmlnYXRpb25CYXJUaXRsZSh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiBkYXRhLnNob3dfbmFtZSArIChfdGhpcy5tc2dMaXN0LnR5cGUgPT0gMSA/IFwiXCIgOiBtc2cpLFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRkYXRhLmxpc3QgPSBfdGhpcy5tc2dEYXRhSGFuZGxlKGRhdGEubGlzdCk7XHJcblx0XHRcdFx0XHRfdGhpcy5zY3JvbGxBbmltYXRpb24gPSBmYWxzZTtcclxuXHRcdFx0XHRcdF90aGlzLm1zZ0xpc3QgPSBkYXRhO1xyXG5cdFx0XHRcdFx0Ly8gVE9ETyDlm77niYfliJfooahcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi5Zu+54mH5YiX6KGoKysrKytcIiwgX3RoaXMubXNnTGlzdCk7XHJcblx0XHRcdFx0XHRfdGhpcy5yZWNlaXZlX2xpc3QgPSBfdGhpcy5tc2dMaXN0LnJlY2VpdmVfbGlzdDtcclxuXHJcblx0XHRcdFx0XHRpZiAoX3RoaXMubXNnTGlzdC50eXBlID09IDEpIHtcclxuXHRcdFx0XHRcdFx0X3RoaXMuZ2V0R3JvdXBTdGVhdGUoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8qKiDmu5rliqjliLDmjIflrprkvY3nva4gKi9cclxuXHRcdFx0XHRcdF90aGlzLiRuZXh0VGljayhmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0Ly8gX3RoaXMuc2Nyb2xsVG9wID0obmV3IERhdGUoKSkuZ2V0VGltZSgpO1xyXG5cdFx0XHRcdFx0XHQvLyBfdGhpcy5zY3JvbGxUb1ZpZXcgPSAnbXNnJyArIGRhdGEubGlzdFtkYXRhLmxpc3QubGVuZ3RoIC0gMV0ubXNnLmlkO1xyXG5cdFx0XHRcdFx0XHRfdGhpcy5zY3JvbGxUb3AgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdC8qKiDnm5HlkKzmlrDnmoTkuKrkurrmlbDmja4gKi9cclxuXHRcdFx0XHR1bmkuJG9uKFwiZGF0YV91c2VyX2luZm9cIiwgZnVuY3Rpb24oZGF0YSkge1xyXG5cdFx0XHRcdFx0X3RoaXMubXlfZGF0YSA9IGRhdGE7XHJcblx0XHRcdFx0XHRfdGhpcy5teV9waG90byA9IF9kYXRhLnN0YXRpY1Bob3RvKCkgKyBfdGhpcy5teV9kYXRhLnBob3RvO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdC8v55uR5ZCs6ZSu55uY6auY5bqm5Y+Y5YyWXHJcblx0XHRcdFx0dW5pLm9uS2V5Ym9hcmRIZWlnaHRDaGFuZ2UoKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCLova/plK7nm5jpq5jluqblj5jljJZcIiwgcmVzKTtcclxuXHRcdFx0XHRcdF90aGlzLktleWJvYXJkID0gcmVzLmhlaWdodDtcclxuXHJcblx0XHRcdFx0XHRpZiAocmVzLmhlaWdodCkge1xyXG5cdFx0XHRcdFx0XHQvL3RvZG8gQOWlveWPi+i9r+mUruebmOmrmOW6puWPmOWMllxyXG5cdFx0XHRcdFx0XHR0aGlzLnBvcEhlaWdodCA9IHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLndpbmRvd0hlaWdodCAtIHJlcy5oZWlnaHQ7XHJcblx0XHRcdFx0XHRcdF90aGlzLmdldFNjcm9sbENvbnRlbnRIZWlnaHQoXCJzaG93XCIsIDApO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5wb3BIZWlnaHQgPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKS53aW5kb3dIZWlnaHQ7XHJcblx0XHRcdFx0XHRcdF90aGlzLmdldFNjcm9sbENvbnRlbnRIZWlnaHQoXCJoaWRlXCIsIDApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHVuaS4kb24oXCJ1cGRhdGVfdGV4dF9tc2dcIiwgZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRfdGhpcy50ZXh0TXNnICs9IHJlcy5tc2c7XHJcblx0XHRcdFx0XHQvL3RvZG8gQOWlveWPiyAg5aaC5p6c5raI5oGv5LiN5Li656m677yMXHJcblx0XHRcdFx0XHRfdGhpcy4kcmVmcy5wb3B1cF9mcmllbmRzLmNsb3NlKCk7XHJcblx0XHRcdFx0XHRpZiAoIV90aGlzLnNlbmRfdXNlcl9pZCkge1xyXG5cdFx0XHRcdFx0XHRfdGhpcy5zZW5kX3VzZXJfaWQgPSByZXMudXNlcl9pZDtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdF90aGlzLnNlbmRfdXNlcl9pZCA9IF90aGlzLnNlbmRfdXNlcl9pZCArIFwiLFwiICsgcmVzLnVzZXJfaWQ7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblxyXG5cdFx0XHRcdHVuaS4kb24oXCJtZW1iZXJKb2luUm9vbVwiLCBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdF90aGlzLiRyZWZzLnNlcnZpbmcubWVtYmVySm9pbihfdGhpcy5saXN0X2lkLCBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0X3RoaXMub25MaW5lID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0X3RoaXMuc2hvd1NlcnZpbmcgPSB0cnVlO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0dW5pLiRvbihcImNsb3NlVm9pY2VSb29tXCIsIGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0X3RoaXMuJHJlZnMuc2VydmluZy5jbG9zZVZvaWNlUm9vbSgpO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdF9nZXQuZ2V0TWVtYmVyUGhvdG9zKHtcclxuXHRcdFx0XHRcdFx0bGlzdF9pZDogX3RoaXMubGlzdF9pZCxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmdW5jdGlvbihyZXQpIHtcclxuXHRcdFx0XHRcdFx0X3RoaXMubWVtYmVyUGhvdG9zID0gcmV0O1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIue+pOaIkOWRmOmAmuivnVwiLCBfdGhpcy5tZW1iZXJQaG90b3MpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdFx0Ly8g55uR5ZCs5riF56m65raI5oGvXHJcblx0XHRcdFx0dW5pLiRvbihcImNoYXRfZGVsXCIsIGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiBcIuaPkOekulwiLFxyXG5cdFx0XHRcdFx0XHRzaG93Q2FuY2VsOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0Y29udGVudDogXCLmtojmga/ooqvmuIXnqbpcIixcclxuXHRcdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7fSxcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0X3RoaXMubXNnTGlzdCA9IFtdO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdC8vIOebkeWQrOa2iOaBr+a4heepulxyXG5cdFx0XHRcdHVuaS4kb24oXCJncm91cF9kZWxldGVfY2hhdFwiLCBmdW5jdGlvbihsaXN0X2lkKSB7XHJcblx0XHRcdFx0XHRfdGhpcy5tc2dMaXN0ID0gW107XHJcblx0XHRcdFx0XHRfZ2V0LmdldENoYXREYXRhKHtcclxuXHRcdFx0XHRcdFx0c2VuZF9kYXRhOiB7XHJcblx0XHRcdFx0XHRcdFx0bGlzdF9pZDogX3RoaXMubGlzdF9pZCxcclxuXHRcdFx0XHRcdFx0XHR0aW1lOiAwLFxyXG5cdFx0XHRcdFx0XHRcdGlzX3VwOiAxLFxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRpc19hY3Rpb25fZGF0YTogMSxcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdC8vIOebkeWQrOi4ouWHuuS8muWRmOmHjeaWsOiOt+WPlua2iOaBr1xyXG5cdFx0XHRcdHVuaS4kb24oXCJyZW1vdmVfbWVtYmVyXCIsIGZ1bmN0aW9uKGxpc3RfaWQpIHtcclxuXHRcdFx0XHRcdF90aGlzLm1zZ0xpc3QgPSBbXTtcclxuXHRcdFx0XHRcdF9kYXRhLmxvY2FsRGF0YShsaXN0X2lkLCBudWxsKTtcclxuXHRcdFx0XHRcdF90aGlzLmluaXREYXRhKCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0Ly/mlLbliLDkv6Hmga8g5Zue5LygXHJcblx0XHRcdFx0dGhpcy5zZXRSZWFkVGltZSgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDpgInmi6nmlLbol49cclxuXHRcdFx0Y2hvb3NlTGlrZSgpIHtcclxuXHRcdFx0XHR0aGlzLmhpZGVEcmF3ZXIoMSk7IC8v6ZqQ6JeP5oq95bGJXHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9teS9zdG9yZT9jaG9vc2VfY29sbGVjdD0xXCIsXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOS4i+i9veaWh+S7tlxyXG5cdFx0XHRkb3duRmlsZShmaWxlKSB7XHJcblx0XHRcdFx0dW5pLmRvd25sb2FkRmlsZSh7XHJcblx0XHRcdFx0XHR1cmw6IGZpbGUsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiAoZGF0YSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAoZGF0YS5zdGF0dXNDb2RlID09PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIuS4i+i9veaIkOWKn1wiKTtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2F2ZUZpbGUoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGVtcEZpbGVQYXRoOiBkYXRhLnRlbXBGaWxlUGF0aCxcclxuXHRcdFx0XHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuS4i+i9veaIkOWKn1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwi5paH5Lu25bey5L+d5a2YOlwiICsgcmVzLnNhdmVkRmlsZVBhdGgsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3VjY2VzczogKHJlc18pID0+IHt9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOaJk+W8gOWcsOWbvlxyXG5cdFx0XHRvcGVuTWFwKHBvcykge1xyXG5cdFx0XHRcdHVuaS5vcGVuTG9jYXRpb24oe1xyXG5cdFx0XHRcdFx0bGF0aXR1ZGU6IHBvcy5sYXRpdHVkZSxcclxuXHRcdFx0XHRcdGxvbmdpdHVkZTogcG9zLmxvbmdpdHVkZSxcclxuXHRcdFx0XHRcdG5hbWU6IHBvcy5uYW1lLFxyXG5cdFx0XHRcdFx0YWRkcmVzczogcG9zLmFkZHJlc3MsXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHVwbG9hZEFGaWxlKGRhdGEpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcImRhdGFcIiwgZGF0YSk7XHJcblx0XHRcdFx0bGV0IF90aGlzID0gdGhpcztcclxuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdGxldCBtc2cgPSB7XHJcblx0XHRcdFx0XHRcdHVybDogZGF0YVtpXS51cmwsXHJcblx0XHRcdFx0XHRcdG5hbWU6IGRhdGFbaV0ubmFtZSxcclxuXHRcdFx0XHRcdFx0bGVuZ3RoOiBwYXJzZUludChkYXRhW2ldLnNpemVNQiAqIDEwMjQpLFxyXG5cdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdF90aGlzLnNlbmRNc2cobXNnLCAxMSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDkuIrkvKDmlofku7ZcclxuXHRcdFx0Y2hvb3NlRmlsZSgpIHtcclxuXHRcdFx0XHRjb25zdCBfdGhpcyA9IHRoaXM7XHJcblx0XHRcdFx0X3RoaXMuaGlkZURyYXdlcigxKTsgLy/pmpDol4/mir3lsYlcclxuXHRcdFx0XHQvLyAjaWZkZWYgSDVcclxuXHRcdFx0XHR1bmkuY2hvb3NlRmlsZSh7XHJcblx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJyZXNcIiwgcmVzKTtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJzaXplXCIsIHBhcnNlSW50KHJlcy50ZW1wRmlsZXNbMF0uc2l6ZSAvIDEwMjQpKTtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkocmVzLnRlbXBGaWxlUGF0aHMpKTtcclxuXHRcdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCByZXMudGVtcEZpbGVQYXRocy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0XHRcdGxldCBtc2cgPSB7XHJcblx0XHRcdFx0XHRcdFx0XHR1cmw6IHJlcy50ZW1wRmlsZVBhdGhzW2ldLFxyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZTogcmVzLnRlbXBGaWxlc1tpXS5uYW1lLFxyXG5cdFx0XHRcdFx0XHRcdFx0bGVuZ3RoOiBwYXJzZUludChyZXMudGVtcEZpbGVzW2ldLnNpemUgLyAxMDI0KSxcclxuXHRcdFx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0XHRcdF90aGlzLnNlbmRNc2cobXNnLCAxMSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0Ly8gI2VuZGlmXHJcblx0XHRcdFx0Ly8gI2lmZGVmIEFQUC1QTFVTXHJcblx0XHRcdFx0dGhpcy5zaG93VXBsb2FkRmlsZSA9IHRydWU7XHJcblx0XHRcdFx0Ly8gI2VuZGlmXHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOaIs+S4gOaIs1xyXG5cdFx0XHRjaG9vc2VDaHVvKCkge1xyXG5cdFx0XHRcdHRoaXMuc2VuZENodW9ZaUNodW9Nc2coKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5Y+R6YCB5L2N572uXHJcblx0XHRcdHNlbmRQb3MoKSB7XHJcblx0XHRcdFx0bGV0IF90aGlzID0gdGhpcztcclxuXHRcdFx0XHR1bmkuY2hvb3NlTG9jYXRpb24oe1xyXG5cdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi5L2N572u5ZCN56ew77yaXCIgKyByZXMubmFtZSk7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi6K+m57uG5Zyw5Z2A77yaXCIgKyByZXMuYWRkcmVzcyk7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi57qs5bqm77yaXCIgKyByZXMubGF0aXR1ZGUpO1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIue7j+W6pu+8mlwiICsgcmVzLmxvbmdpdHVkZSk7XHJcblx0XHRcdFx0XHRcdGxldCBtc2cgPSB7XHJcblx0XHRcdFx0XHRcdFx0bGF0aXR1ZGU6IHJlcy5sYXRpdHVkZSxcclxuXHRcdFx0XHRcdFx0XHRsb25naXR1ZGU6IHJlcy5sb25naXR1ZGUsXHJcblx0XHRcdFx0XHRcdFx0bmFtZTogcmVzLm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0YWRkcmVzczogcmVzLmFkZHJlc3MsXHJcblx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdF90aGlzLnNlbmRNc2cobXNnLCAxMCk7XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Z2V0SHRtbChjb250ZW50KSB7XHJcblx0XHRcdFx0cmV0dXJuIGh0bWxQYXJzZXIoY29udGVudCk7XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRpbnB1dFRleHQoZSkge1xyXG5cdFx0XHRcdC8v5oiq5Y+W5pyA5ZCO5LiA5L2NXHJcblxyXG5cdFx0XHRcdGxldCBzdHIgPSBlLmRldGFpbC52YWx1ZTtcclxuXHRcdFx0XHQvLyB0b2RvIEDlpb3lj4tcclxuXHRcdFx0XHRpZiAoc3RyID09PSBcIlwiKSB7XHJcblx0XHRcdFx0XHR0aGlzLnNlbmRfdXNlcl9pZCA9IFwiXCI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCBsZW5ndGgxID0gc3RyLmxlbmd0aDtcclxuXHRcdFx0XHRsZXQga2V5ID0gc3RyLnN1YnN0cihsZW5ndGgxIC0gMSwgMSk7XHJcblx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0a2V5ICYmXHJcblx0XHRcdFx0XHRrZXkgPT0gXCJAXCIgJiZcclxuXHRcdFx0XHRcdHRoaXMubXNnTGlzdC50eXBlID09IDEgJiZcclxuXHRcdFx0XHRcdGxlbmd0aDEgPiB0aGlzLnRleHRNc2cubGVuZ3RoXHJcblx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHR0aGlzLnRleHRNc2cgPSBzdHI7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIui3s+i9rOWIsOe+pOaIkOWRmOWIl+ihqFwiKTtcclxuXHRcdFx0XHRcdC8vIFRPRE/nvqTmiJDlkZjlvLnnqpdcclxuXHRcdFx0XHRcdC8vIOWFs+mXrei+k+WFpeahhlxyXG5cdFx0XHRcdFx0dW5pLmhpZGVLZXlib2FyZCgpO1xyXG5cdFx0XHRcdFx0dGhpcy4kcmVmcy5wb3B1cF9mcmllbmRzLm9wZW4oKTtcclxuXHRcdFx0XHRcdC8vIHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdC8vIFx0dXJsOiAnL3BhZ2VzL2NoYXQvZ3JvdXBfbGlzdD9saXN0X2lkPScgKyB0aGlzLmxpc3RfaWQsXHJcblx0XHRcdFx0XHQvLyBcdGFuaW1hdGlvblR5cGU6IFwic2xpZGUtaW4tYm90dG9tXCJcclxuXHRcdFx0XHRcdC8vIH0pO1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMudGV4dE1zZyA9IHN0cjtcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0U2Nyb2xsQ29udGVudEhlaWdodCh0eXBlID0gXCJzaG93XCIsIG5vdF9yZXR1cm4gPSAxKSB7XHJcblx0XHRcdFx0bGV0IF90aGlzID0gdGhpcztcclxuXHRcdFx0XHRsZXQgcXVlcnkgPSB1bmkuY3JlYXRlU2VsZWN0b3JRdWVyeSgpO1xyXG5cdFx0XHRcdHF1ZXJ5LnNlbGVjdChcIi5tb3JlLWxheWVyXCIpLmJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cdFx0XHRcdHF1ZXJ5LnNlbGVjdChcIi5pbnB1dC1ib3hcIikuYm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblx0XHRcdFx0dW5pLmdldFN5c3RlbUluZm8oe1xyXG5cdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdF90aGlzLnNjcm9sbEluZm8udG90YWxsX2hlaWdodCA9IHJlcy53aW5kb3dIZWlnaHQ7XHJcblx0XHRcdFx0XHRcdHF1ZXJ5LmV4ZWMoKGRhdGEpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRfdGhpcy5zY3JvbGxJbmZvLmlucHV0X2JveF9oZWlnaHQxID0gZGF0YVswXS5oZWlnaHQgfHwgMDtcclxuXHRcdFx0XHRcdFx0XHRfdGhpcy5zY3JvbGxJbmZvLmlucHV0X2JveF9oZWlnaHQyID0gZGF0YVsxXS5oZWlnaHQgfHwgMDtcclxuXHJcblx0XHRcdFx0XHRcdFx0X3RoaXMuYXV0b0hlaWdodCh0eXBlLCBub3RfcmV0dXJuKTtcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRhdXRvSGVpZ2h0KHR5cGUsIG5vdF9yZXR1cm4pIHtcclxuXHRcdFx0XHRsZXQgX3RoaXMgPSB0aGlzO1xyXG5cdFx0XHRcdGlmICh0eXBlID09IFwic2hvd1wiKSB7XHJcblx0XHRcdFx0XHRpZiAodGhpcy5LZXlib2FyZCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNjcm9sbEhlaWdodCA9XHJcblx0XHRcdFx0XHRcdFx0X3RoaXMuc2Nyb2xsSW5mby50b3RhbGxfaGVpZ2h0IC1cclxuXHRcdFx0XHRcdFx0XHRfdGhpcy5LZXlib2FyZCAtXHJcblx0XHRcdFx0XHRcdFx0X3RoaXMuc2Nyb2xsSW5mby5pbnB1dF9ib3hfaGVpZ2h0MiArXHJcblx0XHRcdFx0XHRcdFx0XCJweFwiO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5zY3JvbGxIZWlnaHQgPVxyXG5cdFx0XHRcdFx0XHRcdF90aGlzLnNjcm9sbEluZm8udG90YWxsX2hlaWdodCAtXHJcblx0XHRcdFx0XHRcdFx0X3RoaXMuc2Nyb2xsSW5mby5pbnB1dF9ib3hfaGVpZ2h0MSAtXHJcblx0XHRcdFx0XHRcdFx0X3RoaXMuc2Nyb2xsSW5mby5pbnB1dF9ib3hfaGVpZ2h0MiArXHJcblx0XHRcdFx0XHRcdFx0XCJweFwiO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHQvL2NvbnRlbnTpq5jluqYgPSDlsY/luZXpq5jluqYtdG9vbOmrmOW6plxyXG5cdFx0XHRcdFx0dW5pLmdldFN5c3RlbUluZm8oe1xyXG5cdFx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXMud2luZG93SGVpZ2h0ID0gcmVzLndpbmRvd0hlaWdodDtcclxuXHRcdFx0XHRcdFx0XHRpZiAoX3RoaXMuS2V5Ym9hcmQpIHtcclxuXHRcdFx0XHRcdFx0XHRcdF90aGlzLnNjcm9sbEhlaWdodCA9XHJcblx0XHRcdFx0XHRcdFx0XHRcdHJlcy53aW5kb3dIZWlnaHQgLVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRfdGhpcy5zY3JvbGxJbmZvLktleWJvYXJkIC1cclxuXHRcdFx0XHRcdFx0XHRcdFx0X3RoaXMuc2Nyb2xsSW5mby5pbnB1dF9ib3hfaGVpZ2h0MiArXHJcblx0XHRcdFx0XHRcdFx0XHRcdFwicHhcIjtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0X3RoaXMuc2Nyb2xsSGVpZ2h0ID1cclxuXHRcdFx0XHRcdFx0XHRcdFx0cmVzLndpbmRvd0hlaWdodCAtIF90aGlzLnNjcm9sbEluZm8uaW5wdXRfYm94X2hlaWdodDIgKyBcInB4XCI7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHQvLyB0aGlzLnNjcm9sbEhlaWdodCA9ICcxMDAlJ1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAobm90X3JldHVybiA9PSAwKSB7XHJcblx0XHRcdFx0XHR0aGlzLiRuZXh0VGljaygoKSA9PiB7XHJcblx0XHRcdFx0XHRcdF90aGlzLnNjcm9sbFRvcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRHcm91cFN0ZWF0ZSgpIHtcclxuXHRcdFx0XHRsZXQgX3RoaXMgPSB0aGlzO1xyXG5cdFx0XHRcdHRoaXMuJGh0dHBTZW5kKHtcclxuXHRcdFx0XHRcdHBhdGg6IFwiL2ltL2FjdGlvbi9ncm91cFN0YXRlXCIsXHJcblx0XHRcdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0XHRcdGxpc3RfaWQ6IF90aGlzLmxpc3RfaWQsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0X3RoaXMubXNnTGlzdC5pc19tc2cgPSByZXMuaXNfbXNnO1xyXG5cdFx0XHRcdFx0XHRfdGhpcy5tc2dMaXN0LmlzX2FjdGlvbiA9IHJlcy5pc19hY3Rpb247XHJcblx0XHRcdFx0XHRcdF90aGlzLm1zZ0xpc3QuaXNfbmltaW5nID0gcmVzLmlzX25pbWluZztcclxuXHRcdFx0XHRcdFx0X3RoaXMubmltaW5nX21zZyA9IHJlcy5pc19uaW1pbmcgPT0gMCA/IFwi5Yy/5ZCNXCIgOiBcIumAgOWHuuWMv+WQjVwiO1xyXG5cdFx0XHRcdFx0XHRfdGhpcy5taWFvcWlhbmcgPSByZXMubWlhb3FpYW5nO1xyXG5cdFx0XHRcdFx0XHRfdGhpcy52ZW5kb3Jfc3RhdHVzID0gcmVzLnZlbmRvcl9zdGF0dXM7XHJcblx0XHRcdFx0XHRcdF90aGlzLm5vdGljZSA9IHJlcy5ub3RpY2U7XHJcblx0XHRcdFx0XHRcdF90aGlzLmlzX21haW4gPSByZXMuaXNfbWFpbjtcclxuXHRcdFx0XHRcdFx0X3RoaXMuZ3JvdXBfc3RhdGUgPSByZXM7XHJcblxyXG5cdFx0XHRcdFx0XHRpZiAoX3RoaXMubWlhb3FpYW5nICYmIF90aGlzLmlzX21haW4gJiYgcmVzLnFpYW5nX3RpbWUgPiAwKSB7XHJcblx0XHRcdFx0XHRcdFx0X3RoaXMuYXV0b0ZhUmVkKHJlcy5xaWFuZ190aW1lKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnZvaWNlX3Jvb21fc3RhdGUpIHtcclxuXHRcdFx0XHRcdFx0XHQvL+acieS6uuWPkei1t+ivremfs+WImeiHquWKqOWKoOWFpVxyXG5cdFx0XHRcdFx0XHRcdC8v5Yqg5YWl6KeG6aKRXHJcblx0XHRcdFx0XHRcdFx0X3RoaXMuJHJlZnMuc2VydmluZy5tZW1iZXJKb2luKF90aGlzLmxpc3RfaWQsIGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0X3RoaXMub25MaW5lID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dmlkZW9FcnJvckNhbGxiYWNrKCkge30sXHJcblx0XHRcdGF1dG9WaWRlbyhtc2cpIHtcclxuXHRcdFx0XHR0aGlzLnNob3dWZWRpbyA9IHRydWU7XHJcblx0XHRcdFx0dGhpcy52aWRlb1BhdGggPVxyXG5cdFx0XHRcdFx0X2RhdGEuc3RhdGljQ2hhdCgpICsgdGhpcy5saXN0X2lkICsgXCIvXCIgKyBtc2cuY29udGVudC51cmw7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldENhcmQobXNnKSB7XHJcblx0XHRcdFx0aWYgKG1zZy5jb250ZW50LnVzZXJfaWQgIT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvZGV0YWlscy9pbmRleD9pbj0xJnVzZXJfaWQ9XCIgKyBtc2cuY29udGVudC51c2VyX2lkLFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjaG9vc2VDYXJkKCkge1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogXCIuL21lc3NhZ2UvY2FyZF9saXN0P2xpc3RfaWQ9XCIgKyB0aGlzLmxpc3RfaWQsXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGltYWdlRXJyb3IoZSkge1xyXG5cdFx0XHRcdC8vIHRoaXMubXlfcGhvdG8gPSBfZGF0YS5zdGF0aWNQaG90bygpICsgJy9kZWZhdWx0X3Bob3RvX3BhdGgucG5nJztcclxuXHJcblx0XHRcdFx0bGV0IGluZGV4ID0gZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaWQ7XHJcblx0XHRcdFx0Ly/mm7/mjaJpbmRleOWvueW6lOeahOWbvueJh1xyXG5cclxuXHRcdFx0XHR0aGlzLm1zZ0xpc3QubGlzdFtpbmRleF0ubXNnLnVzZXJfaW5mby5mYWNlID0gXCIvZGVmYXVsdF9waG90b19wYXRoLnBuZ1wiO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbWFnZUVycm9yMihlKSB7XHJcblx0XHRcdFx0dGhpcy5teV9waG90byA9IF9kYXRhLnN0YXRpY1Bob3RvKCkgKyBcIi9kZWZhdWx0X3Bob3RvX3BhdGgucG5nXCI7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNjcm9sbFRvRG9tKCkge1xyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRsZXQgcXVlcnkgPSB1bmkuY3JlYXRlU2VsZWN0b3JRdWVyeSgpO1xyXG5cdFx0XHRcdHF1ZXJ5LnNlbGVjdChcIiNtc2dcIiArIHRoYXQuY2hhdF9pZCkuYm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblx0XHRcdFx0cXVlcnkuc2VsZWN0KFwiI3Njcm9sbHZpZXdcIikuYm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblx0XHRcdFx0cXVlcnkuZXhlYygocmVzKSA9PiB7XHJcblx0XHRcdFx0XHR0aGF0LnN0eWxlLm1pdGVtSGVpZ2h0ID0gMDtcclxuXHJcblx0XHRcdFx0XHRsZXQgcmVjdCA9IHJlc1swXTtcclxuXHRcdFx0XHRcdHRoYXQuc3R5bGUubWl0ZW1IZWlnaHQgPSB0aGF0LnN0eWxlLm1pdGVtSGVpZ2h0ICsgcmVjdC5oZWlnaHQgKyA0MDtcclxuXHRcdFx0XHRcdGlmICh0aGF0LnN0eWxlLm1pdGVtSGVpZ2h0ID4gdGhhdC5zdHlsZS5jb250ZW50Vmlld0hlaWdodCAtIDEwMCkge1xyXG5cdFx0XHRcdFx0XHQvL+WIpOaWreWtkOWFg+e0oOmrmOW6puaYr+WQpuWkp+S6juaYvuekuumrmOW6plxyXG5cdFx0XHRcdFx0XHR0aGF0LnNjcm9sbFRvcCA9XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5zdHlsZS5taXRlbUhlaWdodCAtIHRoYXQuc3R5bGUuY29udGVudFZpZXdIZWlnaHQ7IC8v55So5a2Q5YWD57Sg55qE6auY5bqm5YeP5Y675pi+56S655qE6auY5bqm5bCx6I6355uK6I635b6X5bqP6KiA5rua5Yqo55qE6auY5bqmXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vXHJcblx0XHRcdC8v5Y+R6LW36KeG6aKR6IGK5aSpXHJcblx0XHRcdHZpZGVvQnV0KHR5cGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcIuWPkei1t+mAmuivnS0+XCIsIHR5cGUpO1xyXG5cdFx0XHRcdGxldCBkYXRhID0ge307XHJcblx0XHRcdFx0aWYgKHR5cGUgPT0gXCJ2b2ljZVwiKSB7XHJcblx0XHRcdFx0XHRkYXRhLmNhbGxUeXBlID0gMVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRkYXRhLmNhbGxUeXBlID0gMlxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0bGV0IGFyciA9IFtdO1xyXG5cdFx0XHRcdHRoaXMubWVtYmVyUGhvdG9zLmZvckVhY2goaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRhcnIucHVzaChpdGVtLnVzZXJfaWQudG9TdHJpbmcoKSk7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRkYXRhLnVzZXJfaWRzID0gYXJyO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKFwi5Y+R6LW36YCa6K+d5pWw5o2uXCIsIGRhdGEpO1xyXG5cdFx0XHRcdHRoaXMuc2VuZENhbGwoZGF0YSk7XHJcblxyXG5cdFx0XHRcdHJldHVybjtcclxuXHJcblx0XHRcdFx0bGV0IGNvbnRlbnRfdHlwZSA9IDY7XHJcblx0XHRcdFx0dGhpcy5jYWxsX3JldCA9IGZhbHNlO1xyXG5cdFx0XHRcdGlmICh0eXBlID09PSBcInZvaWNlXCIpIHtcclxuXHRcdFx0XHRcdHRoaXMudm9pY2VMb2FkaW5nID0gdHJ1ZTtcclxuXHRcdFx0XHRcdGNvbnRlbnRfdHlwZSA9IDc7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMudmlkZW9Mb2FkaW5nID0gdHJ1ZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGV0IF90aGlzID0gdGhpcztcclxuXHJcblx0XHRcdFx0dGhpcy4kaHR0cFNlbmQoe1xyXG5cdFx0XHRcdFx0cGF0aDogXCIvaW0vbWVzc2FnZS9zZW5kVmlkZW9cIixcclxuXHRcdFx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHRcdFx0bGlzdF9pZDogdGhpcy5saXN0X2lkLFxyXG5cdFx0XHRcdFx0XHRjb250ZW50X3R5cGU6IGNvbnRlbnRfdHlwZSxcclxuXHRcdFx0XHRcdFx0X3Rva2VuOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ0b2tlblwiKSxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRzdWNjZXNzX2FjdGlvbjogdHJ1ZSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuZXJyID09PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCLpgJror53mlbDmja5cIiwgcmVzKTtcclxuXHRcdFx0XHRcdFx0XHQvL+WbvueJh+i9rOWMllxyXG5cdFx0XHRcdFx0XHRcdHJlcy5kYXRhLm15YXZhdGFyID0gX3RoaXMuc3RhdGljUGhvdG8gKyByZXMuZGF0YS5teWF2YXRhcjtcclxuXHRcdFx0XHRcdFx0XHRyZXMuZGF0YS5hdmF0YXIgPSBfdGhpcy5zdGF0aWNQaG90byArIHJlcy5kYXRhLmF2YXRhcjtcclxuXHRcdFx0XHRcdFx0XHRfdGhpcy5nZXRWaWRlbyhyZXMuZGF0YSk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5Y+R6LW36IW+6K6v6YCa6K+dXHJcblx0XHRcdHNlbmRDYWxsKGRhdGEpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygn5byA5aeL5Y+R6LW36IW+6K6v6YCa6K+dJyk7XHJcblx0XHRcdFx0bGV0IG15X2lkID0gdGhpcy5teV9kYXRhLmlkO1xyXG5cdFx0XHRcdGxldCB1c2VyX2lkID0gJyc7XHJcblx0XHRcdFx0ZGF0YS51c2VyX2lkcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0aWYgKGl0ZW0gIT0gbXlfaWQpIHtcclxuXHRcdFx0XHRcdFx0dXNlcl9pZCA9IGl0ZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcIuW8gOWni+aJk+eUteivnVwiLCBkYXRhKTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh1bmkuJFRVSUNhbGxpbmcsICd1bmkuJFRVSUNhbGxpbmcnKTtcclxuXHRcdFx0XHR1bmkuJFRVSUNhbGxpbmcuY2FsbCh7XHJcblx0XHRcdFx0XHRcdHR5cGU6IGRhdGEuY2FsbFR5cGUsXHJcblx0XHRcdFx0XHRcdHVzZXJJRDogdXNlcl9pZCxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHJlcykpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdFx0Ly8gdW5pLiRUVUlDYWxsaW5nLmdyb3VwQ2FsbCh7XHJcblx0XHRcdFx0Ly8gXHRcdHR5cGU6IGRhdGEuY2FsbFR5cGUsXHJcblx0XHRcdFx0Ly8gXHRcdGdyb3VwSUQ6IFwiXCIsXHJcblx0XHRcdFx0Ly8gXHRcdHVzZXJJRExpc3Q6IGRhdGEudXNlcl9pZHMsXHJcblx0XHRcdFx0Ly8gXHR9LFxyXG5cdFx0XHRcdC8vIFx0KHJlcykgPT4ge1xyXG5cdFx0XHRcdC8vIFx0XHRjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShyZXMpKTtcclxuXHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHQvLyApO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly/osIPnlKjop4bpopEv6Z+z6aKRXHJcblx0XHRcdGdldFZpZGVvKGRhdGEpIHtcclxuXHRcdFx0XHR0aGlzLnNlbmRDYWxsKGRhdGEpO1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRkYXRhLnVzZXJzaWcgPSBnZW5UZXN0VXNlclNpZyhkYXRhLnVzZXJpZCkudXNlclNpZztcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcIuiwg+eUqOS8oOWPglwiLCBkYXRhKTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcIl90aGlzLmNhbGxcIiwgX3RoaXMuY2FsbCk7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCLosIPnlKjohb7orq/kupFkYXRhXCIsIGRhdGEpO1xyXG5cdFx0XHRcdGxldCBfdGhpcyA9IHRoaXM7XHJcblx0XHRcdFx0X3RoaXMuY2FsbC5ncm91cENhbGwoe1xyXG5cdFx0XHRcdFx0XHR0eXBlOiBkYXRhLmNhbGxUeXBlID09IFwidm9pY2VcIiA/IDEgOiAyLFxyXG5cdFx0XHRcdFx0XHRncm91cElEOiBcIlwiLFxyXG5cdFx0XHRcdFx0XHR1c2VySURMaXN0OiBkYXRhLnVzZXJfaWRzLFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdChyZXQpID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy5kb3VibGVDbGljayA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhkYXRhKTtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmV0KTtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCI5OTA5MDkwOTA5MDkwXCIpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmV0KSB7XHJcblx0XHRcdFx0XHRcdFx0X3RoaXMudmlkZVBvdXAgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHRfdGhpcy52b2ljZUxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmV0LmNvZGUgPT0gNSAmJiAhX3RoaXMucGF5VGltZXIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi5Y+R6LW35LuY6LS5XCIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly/lhYjmiaPkuIDmrKFcclxuXHRcdFx0XHRcdFx0XHRcdF9nZXQucGF5VmlkZW9BYW1vdW50KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsaXN0X2lkOiBfdGhpcy5saXN0X2lkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0X3RoaXMucGF5VGltZXIgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0X2dldC5wYXlWaWRlb0FhbW91bnQoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0bGlzdF9pZDogX3RoaXMubGlzdF9pZCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsZWFySW50ZXJ2YWwoX3RoaXMucGF5VGltZXIpOyAvL+WPlua2iOaUtui0uVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0X3RoaXMucGF5VGltZXIgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0XHR9LCA2MDAwMCk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXQuY29kZSA9PSAxICYmIHJldC50aW1lICE9IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly/lr7nmlrnmiJbogIXoh6rlt7Hlj5bmtohcclxuXHRcdFx0XHRcdFx0XHRcdGRhdGEudGltZSA9IHJldC50aW1lO1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGF0YS5yZXRfY29kZSA9IHJldC5jb2RlO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG5cdFx0XHRcdFx0XHRcdFx0X2dldC5jYW5jZWxDYWxsKGRhdGEsIGZ1bmN0aW9uKHJlcykge30pO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOWPkei1t+inhumikemAmuivnVxyXG5cdFx0XHR2aWRlb0NhbGwodHlwZSkge1xyXG5cdFx0XHRcdGxldCBfdGhpcyA9IHRoaXM7XHJcblx0XHRcdFx0X3RoaXMuY2FsbFR5cGUgPSB0eXBlO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdrYWlzaGknKTtcclxuXHRcdFx0XHQvL1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKFwi56Gu6K6k5byA5aeLLT5cIilcclxuXHRcdFx0XHRfdGhpcy5jb25maXJtKCk7XHJcblx0XHRcdFx0Ly8gdGhpcy52aWRlUG91cCA9IHRydWVcclxuXHRcdFx0XHQvLyB0aGlzLmhpZGVEcmF3ZXIoKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Y29uZmlybSgpIHtcclxuXHRcdFx0XHQvLyBpZiAodGhpcy5kb3VibGVDbGljaykgcmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdC8vIHRoaXMuZG91YmxlQ2xpY2sgPSB0cnVlO1xyXG5cdFx0XHRcdGlmICh0aGlzLmNhbGxUeXBlID09IDEpIHtcclxuXHRcdFx0XHRcdHRoaXMudmlkZW9CdXQoXCJ2aWRlb1wiKTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy52aWRlb0J1dChcInZvaWNlXCIpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLiRyZWZzLnBvcHVwLmNsb3NlKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdG1zZ0RhdGFIYW5kbGUoZGF0YSwgdHlwZSkge1xyXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwLCBqID0gZGF0YS5sZW5ndGgsIG1zZ19pbWc7IGkgPCBqOyBpKyspIHtcclxuXHRcdFx0XHRcdGlmIChkYXRhW2ldLnR5cGUgPT0gMCAmJiBkYXRhW2ldLm1zZy50eXBlID09IDIpIHtcclxuXHRcdFx0XHRcdFx0bXNnX2ltZyA9XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zdGF0aWNQYXRoICtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmxpc3RfaWQgK1xyXG5cdFx0XHRcdFx0XHRcdFwiL1wiICtcclxuXHRcdFx0XHRcdFx0XHRkYXRhW2ldLm1zZy5jb250ZW50LnVybC5yZXBsYWNlKFwiX3RodW1iXCIsIFwiXCIpO1xyXG5cdFx0XHRcdFx0XHRpZiAodHlwZSkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMubXNnSW1nTGlzdC51bnNoaWZ0KG1zZ19pbWcpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMubXNnSW1nTGlzdC5wdXNoKG1zZ19pbWcpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGRhdGFbaV0ubXNnLmNvbnRlbnQgPSB0aGlzLnNldFBpY1NpemUoZGF0YVtpXS5tc2cuY29udGVudCk7XHJcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGRhdGFbaV0udHlwZSA9PSAwICYmIGRhdGFbaV0ubXNnLnR5cGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRkYXRhW2ldLm1zZy5jb250ZW50LnRleHQgPSB0aGlzLnJlcGxhY2VFbW9qaShcclxuXHRcdFx0XHRcdFx0XHRkYXRhW2ldLm1zZy5jb250ZW50LnRleHRcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coXCJ0aGlzLm1zZ0ltZ0xpc3RcIix0aGlzLm1zZ0ltZ0xpc3QpO1xyXG5cdFx0XHRcdHJldHVybiBkYXRhO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDmiYDmnInlm77niYfliJfooahcclxuXHRcdFx0YWRkTXNnSW1nTGlzdChkYXRhKSB7XHJcblx0XHRcdFx0dGhpcy5tc2dJbWdMaXN0ID0gW107XHJcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDAsIGogPSBkYXRhLmxlbmd0aCwgbXNnX2ltZzsgaSA8IGo7IGkrKykge1xyXG5cdFx0XHRcdFx0aWYgKGRhdGFbaV0udHlwZSA9PSAwICYmIGRhdGFbaV0ubXNnLnR5cGUgPT0gMikge1xyXG5cdFx0XHRcdFx0XHR0aGlzLm1zZ0ltZ0xpc3QucHVzaChcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnN0YXRpY1BhdGggK1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMubGlzdF9pZCArXHJcblx0XHRcdFx0XHRcdFx0XCIvXCIgK1xyXG5cdFx0XHRcdFx0XHRcdGRhdGFbaV0ubXNnLmNvbnRlbnQudXJsLnJlcGxhY2UoXCJfdGh1bWJcIiwgXCJcIilcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHRpbWVzdGFtcEZvcm1hdCh0aW1lKSB7XHJcblx0XHRcdFx0cmV0dXJuIF9hY3Rpb24udGltZXN0YW1wRm9ybWF0KHRpbWUpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRtc2dBY3Rpb24oaWQsIHVzZXJfaWQsIGNvbnRlbnQsIHR5cGUpIHtcclxuXHRcdFx0XHRsZXQgX3RoaXMgPSB0aGlzO1xyXG5cdFx0XHRcdC8vIHN3aXRjaCAoX3RoaXMubXNnTGlzdC50eXBlKSB7XHJcblx0XHRcdFx0Ly8gICBjYXNlIDA6XHJcblx0XHRcdFx0Ly8gICAgIGlmICh1c2VyX2lkICE9IF90aGlzLm15X2RhdGEuaWQpIHtcclxuXHRcdFx0XHQvLyAgICAgICByZXR1cm47XHJcblx0XHRcdFx0Ly8gICAgIH1cclxuXHRcdFx0XHQvLyAgICAgYnJlYWs7XHJcblx0XHRcdFx0Ly8gICBjYXNlIDE6XHJcblx0XHRcdFx0Ly8gICAgIGlmIChfdGhpcy5tc2dMaXN0LmlzX2FjdGlvbiA9PSAwICYmIHVzZXJfaWQgIT0gX3RoaXMubXlfZGF0YS5pZCkge1xyXG5cdFx0XHRcdC8vICAgICAgIHJldHVybjtcclxuXHRcdFx0XHQvLyAgICAgfVxyXG5cdFx0XHRcdC8vICAgICBicmVhaztcclxuXHRcdFx0XHQvLyAgIGRlZmF1bHQ6XHJcblx0XHRcdFx0Ly8gICAgIHJldHVybjtcclxuXHRcdFx0XHQvLyAgICAgYnJlYWs7XHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdHVuaS5zaG93QWN0aW9uU2hlZXQoe1xyXG5cdFx0XHRcdFx0aXRlbUxpc3Q6IFtcIuaSpOWbnlwiLCBcIuaUtuiXj1wiLCBcIui9rOWPkVwiLCBcIuWkjeWItlwiXSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHRzd2l0Y2ggKHJlcy50YXBJbmRleCkge1xyXG5cdFx0XHRcdFx0XHRcdGNhc2UgMDpcclxuXHRcdFx0XHRcdFx0XHRcdF90aGlzLiRodHRwU2VuZCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHBhdGg6IFwiL2ltL21lc3NhZ2Uvd2l0aGRyYXdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxpc3RfaWQ6IF90aGlzLmxpc3RfaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogX3RoaXMubXNnTGlzdC50eXBlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1zZ19pZDogaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdHN1Y2Nlc3NfYWN0aW9uOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdWNjZXNzKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IHJlcy5tc2csXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGR1cmF0aW9uOiAxNTAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdFx0XHRjYXNlIDE6XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIuaUtuiXj1wiKTtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi5pS26JeP5paH5Lu2XCIsIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdF9pZDogX3RoaXMubGlzdF9pZCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogX3RoaXMubXNnTGlzdC50eXBlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRtc2dfaWQ6IGlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRfdGhpcy4kaHR0cFNlbmQoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRwYXRoOiBcIi9pbS92ZW5kb3Ivc2F2ZVN0b3JlXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsaXN0X2lkOiBfdGhpcy5saXN0X2lkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IF90aGlzLm1zZ0xpc3QudHlwZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRtc2dfaWQ6IGlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdWNjZXNzX2FjdGlvbjogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiByZXMubXNnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMTUwMCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRcdFx0Y2FzZSAyOlxyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCLovazlj5FcIik7XHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgZGF0YXMgPSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3RfaWQ6IF90aGlzLmxpc3RfaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IF90aGlzLm1zZ0xpc3QudHlwZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0bXNnX2lkOiBpZCxcclxuXHRcdFx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoXCJkYXRhX21zZ1wiLCBKU09OLnN0cmluZ2lmeShkYXRhcykpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiLi4vcHVzaC9zZW5kYWxsc29tZT90eXBlPVwiICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcIiZjb250ZW50PVwiICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRKU09OLnN0cmluZ2lmeShjb250ZW50KSxcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRcdFx0XHQvL+aUtuiXj1xyXG5cdFx0XHRcdFx0XHRcdGNhc2UgMzpcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi5aSN5Yi2XCIsIGNvbnRlbnQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHR5cGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRsZXQgcmVnID0gLzxcXC8/Lis/XFwvPz4vZztcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGV0IHN0ciA9IGNvbnRlbnQudGV4dDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3RyID0gc3RyLnJlcGxhY2UocmVnLCBcIlwiKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNldENsaXBib2FyZERhdGEoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRhdGE6IHN0cixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5aSN5Yi25oiQ5YqfXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogXCLlpI3liLblpLHotKVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5LiN5pSv5oyB6K+l57G75raI5oGv5aSN5Yi2XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0Ly9jb25zb2xlLmxvZyhyZXMuZXJyTXNnKTtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGNvcHlUb0NsaXBib2FyZChzdHIpIHtcclxuXHRcdFx0XHRjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0ZXh0YXJlYVwiKTtcclxuXHRcdFx0XHRlbC52YWx1ZSA9IHN0cjtcclxuXHRcdFx0XHRlbC5zZXRBdHRyaWJ1dGUoXCJyZWFkb25seVwiLCBcIlwiKTtcclxuXHRcdFx0XHRlbC5zdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIjtcclxuXHRcdFx0XHRlbC5zdHlsZS5sZWZ0ID0gXCItOTk5OXB4XCI7XHJcblx0XHRcdFx0ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbCk7XHJcblx0XHRcdFx0Y29uc3Qgc2VsZWN0ZWQgPVxyXG5cdFx0XHRcdFx0ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCA+IDAgP1xyXG5cdFx0XHRcdFx0ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuZ2V0UmFuZ2VBdCgwKSA6XHJcblx0XHRcdFx0XHRmYWxzZTtcclxuXHRcdFx0XHRlbC5zZWxlY3QoKTtcclxuXHRcdFx0XHRkb2N1bWVudC5leGVjQ29tbWFuZChcImNvcHlcIik7XHJcblx0XHRcdFx0ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbCk7XHJcblx0XHRcdFx0aWYgKHNlbGVjdGVkKSB7XHJcblx0XHRcdFx0XHRkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTtcclxuXHRcdFx0XHRcdGRvY3VtZW50LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKHNlbGVjdGVkKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGdvRGV0YWlscyh1c2VyX2lkLCByb3cpIHtcclxuXHRcdFx0XHQvKiog5aaC5p6c5piv576k6IGK77yM5rKh5pyJ5p2D6ZmQ55qE6K+d77yM5p+l55yL5LiN5LqG5YW25LuW5Lya5ZGY5L+h5oGvICovXHJcblx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0dGhpcy5tc2dMaXN0LnR5cGUgPT0gMSAmJlxyXG5cdFx0XHRcdFx0KHRoaXMubXNnTGlzdC5pc19hY3Rpb24gPT0gMCB8fCByb3cubXNnLmlzX25pbWluZyA9PSAxKVxyXG5cdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiBcIuayoeacieadg+mZkOafpeeci1wiLFxyXG5cdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0ZHVyYXRpb246IDEwMDAsXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiBcIi4uL2RldGFpbHMvaW5kZXg/dXNlcl9pZD1cIiArIHVzZXJfaWQsXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDmjqXlj5fmtojmga8o562b6YCJ5aSE55CGKVxyXG5cdFx0XHRzY3JlZW5Nc2cobXNnKSB7XHJcblx0XHRcdFx0Ly/ku47plb/ov57mjqXlpITovazlj5Hnu5nov5nkuKrmlrnms5XvvIzov5vooYznrZvpgInlpITnkIZcclxuXHRcdFx0XHRpZiAobXNnLnR5cGUgPT0gMikge1xyXG5cdFx0XHRcdFx0Ly/lt7Lor7vkv6Hmga9cclxuXHRcdFx0XHRcdHRoaXMubm93UmVhZFRpbWUgPSBtc2cubXNnLnRpbWU7XHJcblx0XHRcdFx0fSBlbHNlIGlmIChtc2cudHlwZSA9PSAxKSB7XHJcblx0XHRcdFx0XHQvLyDns7vnu5/mtojmga9cclxuXHRcdFx0XHRcdHN3aXRjaCAobXNnLm1zZy50eXBlKSB7XHJcblx0XHRcdFx0XHRcdGNhc2UgMDpcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmFkZFN5c3RlbVRleHRNc2cobXNnKTtcclxuXHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdFx0Y2FzZSA1OlxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYWRkU3lzdGVtUmVkRW52ZWxvcGVNc2cobXNnKTtcclxuXHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IGVsc2UgaWYgKG1zZy50eXBlID09IDApIHtcclxuXHRcdFx0XHRcdC8vIOeUqOaIt+a2iOaBr1xyXG5cdFx0XHRcdFx0c3dpdGNoIChtc2cubXNnLnR5cGUpIHtcclxuXHRcdFx0XHRcdFx0Y2FzZSAwOlxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYWRkVGV4dE1zZyhtc2cpO1xyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRjYXNlIDE6XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5hZGRWb2ljZU1zZyhtc2cpO1xyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRjYXNlIDI6XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5hZGRJbWdNc2cobXNnKTtcclxuXHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdFx0Y2FzZSA1OlxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYWRkUmVkRW52ZWxvcGVNc2cobXNnKTtcclxuXHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vY29uc29sZS5sb2coJ+eUqOaIt+a2iOaBrycpO1xyXG5cdFx0XHRcdFx0Ly/pnZ7oh6rlt7HnmoTmtojmga/pnIfliqhcclxuXHRcdFx0XHRcdGlmIChtc2cubXNnLnVzZXJfaW5mby51aWQgIT0gdGhpcy5teV9kYXRhLmlkKSB7XHJcblx0XHRcdFx0XHRcdC8vY29uc29sZS5sb2coJ+aMr+WKqCcpO1xyXG5cdFx0XHRcdFx0XHR1bmkudmlicmF0ZUxvbmcoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8v5pS25Yiw5L+h5oGvIOWbnuS8oFxyXG5cdFx0XHRcdFx0dGhpcy5zZXRSZWFkVGltZSgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRsZXQgX3RoaXMgPSB0aGlzO1xyXG5cdFx0XHRcdHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0Ly8g5rua5Yqo5Yiw5bqVXHJcblx0XHRcdFx0XHRfdGhpcy5zY3JvbGxUb3AgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0UmVhZFRpbWUoKSB7XHJcblx0XHRcdFx0dmFyIF90aGlzID0gdGhpcztcclxuXHRcdFx0XHR0aGlzLiRodHRwU2VuZCh7XHJcblx0XHRcdFx0XHRwYXRoOiBcIi9pbS9tZXNzYWdlL2dldExpc3RUaW1lXCIsXHJcblx0XHRcdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0XHRcdGxpc3RfaWQ6IHRoaXMubGlzdF9pZCxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRzdWNjZXNzX2FjdGlvbjogdHJ1ZSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCdnZXRSZWFkVGltZe+8muaIkOWKnycpO1xyXG5cdFx0XHRcdFx0XHRfdGhpcy5ub3dSZWFkVGltZSA9IHJlcy5yZWFkX3RpbWU7XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzZXRSZWFkVGltZSgpIHtcclxuXHRcdFx0XHR0aGlzLiRodHRwU2VuZCh7XHJcblx0XHRcdFx0XHRwYXRoOiBcIi9pbS9tZXNzYWdlL3NldExpc3RUaW1lXCIsXHJcblx0XHRcdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0XHRcdGxpc3RfaWQ6IHRoaXMubGlzdF9pZCxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRzdWNjZXNzX2FjdGlvbjogdHJ1ZSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcylcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvL+inpuWPkea7keWKqOWIsOmhtumDqCjliqDovb3ljoblj7Lkv6Hmga/orrDlvZUpXHJcblx0XHRcdGxvYWRIaXN0b3J5KCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLmlzSGlzdG9yeUxvYWRpbmcgfHwgdGhpcy5ub01vcmUpIHtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGV0IF90aGlzID0gdGhpcztcclxuXHRcdFx0XHR0aGlzLmlzSGlzdG9yeUxvYWRpbmcgPSB0cnVlOyAvL+WPguaVsOS9nOS4uui/m+WFpeivt+axguagh+ivhu+8jOmYsuatoumHjeWkjeivt+axglxyXG5cclxuXHRcdFx0XHRfZ2V0LmdldENoYXREYXRhKHtcclxuXHRcdFx0XHRcdHNlbmRfZGF0YToge1xyXG5cdFx0XHRcdFx0XHRsaXN0X2lkOiBfdGhpcy5saXN0X2lkLFxyXG5cdFx0XHRcdFx0XHR0aW1lOiBfdGhpcy5tc2dMaXN0Lmxpc3RbMF0ubXNnLnRpbWUsXHJcblx0XHRcdFx0XHRcdGlzX3VwOiAwLFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGNhbGxiYWNrKGRhdGEpIHtcclxuXHRcdFx0XHRcdFx0aWYgKGRhdGEubGlzdC5sZW5ndGggPCAxNSkge1xyXG5cdFx0XHRcdFx0XHRcdF90aGlzLm5vTW9yZSA9IDE7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0X3RoaXMuaXNIaXN0b3J5TG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGlzX2FjdGlvbl9kYXRhOiAwLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly/lpITnkIblm77niYflsLrlr7jvvIzlpoLmnpzkuI3lpITnkIblrr3pq5jvvIzmlrDov5vlhaXpobXpnaLliqDovb3lm77niYfml7blgJnkvJrpl6pcclxuXHRcdFx0c2V0UGljU2l6ZShjb250ZW50KSB7XHJcblx0XHRcdFx0Ly8g6K6p5Zu+54mH5pyA6ZW/6L65562J5LqO6K6+572u55qE5pyA5aSn6ZW/5bqm77yM55+t6L65562J5q+U5L6L57yp5bCP77yM5Zu+54mH5o6n5Lu255yf5a6e5pS55Y+Y77yM5Yy65Yir5LqOYXNwZWN0Rml05pa55byP44CCXHJcblx0XHRcdFx0bGV0IG1heFcgPSB1bmkudXB4MnB4KDM1MCk7IC8vMzUw5piv5a6a5LmJ5raI5oGv5Zu+54mH5pyA5aSn5a695bqmXHJcblx0XHRcdFx0bGV0IG1heEggPSB1bmkudXB4MnB4KDM1MCk7IC8vMzUw5piv5a6a5LmJ5raI5oGv5Zu+54mH5pyA5aSn6auY5bqmXHJcblx0XHRcdFx0aWYgKGNvbnRlbnQudyA+IG1heFcgfHwgY29udGVudC5oID4gbWF4SCkge1xyXG5cdFx0XHRcdFx0bGV0IHNjYWxlID0gY29udGVudC53IC8gY29udGVudC5oO1xyXG5cdFx0XHRcdFx0Y29udGVudC53ID0gc2NhbGUgPiAxID8gbWF4VyA6IG1heEggKiBzY2FsZTtcclxuXHRcdFx0XHRcdGNvbnRlbnQuaCA9IHNjYWxlID4gMSA/IG1heFcgLyBzY2FsZSA6IG1heEg7XHJcblx0XHRcdFx0XHRsZXQgdXJsX2FycmF5ID0gY29udGVudC51cmwuc3BsaXQoXCIuXCIpO1xyXG5cdFx0XHRcdFx0aWYgKGNvbnRlbnQudXJsLmluZGV4T2YoXCJfdGh1bWIuXCIpID09IC0xKSB7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQudXJsID0gdXJsX2FycmF5WzBdICsgXCJfdGh1bWIuXCIgKyB1cmxfYXJyYXlbMV07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybiBjb250ZW50O1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+abtOWkmuWKn+iDvSjngrnlh7sr5by55Ye6KVxyXG5cdFx0XHRzaG93TW9yZSgpIHtcclxuXHRcdFx0XHR0aGlzLmlzVm9pY2UgPSBmYWxzZTtcclxuXHRcdFx0XHR0aGlzLmhpZGVFbW9qaSA9IHRydWU7XHJcblx0XHRcdFx0aWYgKHRoaXMuaGlkZU1vcmUpIHtcclxuXHRcdFx0XHRcdHRoaXMuaGlkZU1vcmUgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMub3BlbkRyYXdlcigpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmhpZGVEcmF3ZXIoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOaJk+W8gOaKveWxiVxyXG5cdFx0XHRvcGVuRHJhd2VyKCkge1xyXG5cdFx0XHRcdGxldCBfdGhpcyA9IHRoaXM7XHJcblx0XHRcdFx0dGhpcy5wb3B1cExheWVyQ2xhc3MgPSBcInNob3dMYXllclwiO1xyXG5cdFx0XHRcdHRoaXMuaGlkZU1vcmUgPSBmYWxzZTtcclxuXHRcdFx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCJzY29ybGwuLi5cIik7XHJcblx0XHRcdFx0XHRfdGhpcy5nZXRTY3JvbGxDb250ZW50SGVpZ2h0KFwic2hvd1wiLCAwKTtcclxuXHRcdFx0XHR9LCAxNTApO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDpmpDol4/mir3lsYlcclxuXHRcdFx0aGlkZURyYXdlcihub3RfcmV0dXJuID0gMCwgdHlwZSA9IFwiaGlkZVwiKSB7XHJcblx0XHRcdFx0Ly/liKTmlq3ml7bpl7RcclxuXHRcdFx0XHRpZiAobm90X3JldHVybiA9PSAzKSB7XHJcblx0XHRcdFx0XHRsZXQgdGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMuZG91YmxlVGltZS5mbGFnKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuZG91YmxlVGltZS5maXJzdFRpbWUgPSB0aW1lO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmRvdWJsZVRpbWUuZmxhZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5kb3VibGVUaW1lLnRvd1RpbWUgPSB0aW1lO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmRvdWJsZVRpbWUuZmxhZyA9IHRydWU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRsZXQgdGltZUJ1Y2tldCA9IHRoaXMuZG91YmxlVGltZS50b3dUaW1lIC0gdGhpcy5kb3VibGVUaW1lLmZpcnN0VGltZTtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKFwidGltZUJ1Y2tldDpcIiwgdGltZUJ1Y2tldCk7XHJcblx0XHRcdFx0XHRpZiAodGltZUJ1Y2tldCA8IDIwMCAmJiB0aGlzLmRvdWJsZVRpbWUuZmxhZykge1xyXG5cdFx0XHRcdFx0XHQvL+esrOS6jOasoei/m+adpVxyXG5cdFx0XHRcdFx0XHRjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XHJcblx0XHRcdFx0XHRcdHRoaXMuZG91YmxlVGltZS50b3dUaW1lID0gXCJcIjtcclxuXHRcdFx0XHRcdFx0dGhpcy5kb3VibGVUaW1lLmZpcnN0VGltZSA9IFwiXCI7XHJcblx0XHRcdFx0XHRcdC8vIHRoaXMuc2VuZENodW9ZaUNodW9Nc2coKTtcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy50ZXh0TXNnID0gJ1vmiLPkuIDmiLNdJ1xyXG5cdFx0XHRcdFx0XHQvLyB0aGlzLnNlbmRNc2codGhpcy50ZXh0TXNnLCAwKTtcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy50ZXh0TXNnID0gJydcclxuXHRcdFx0XHRcdFx0Ly8gLy/lj5HpgIHmiLPkuIDmiLNcclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0bGV0IF90aGlzID0gdGhpcztcclxuXHRcdFx0XHRcdHRoaXMudGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHRfdGhpcy50b0hpZGVEcmF3ZXIobm90X3JldHVybiwgdHlwZSk7XHJcblx0XHRcdFx0XHR9LCAyODApO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLnRvSGlkZURyYXdlcihub3RfcmV0dXJuLCB0eXBlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHNlbmRDaHVvWWlDaHVvTXNnKCkge1xyXG5cdFx0XHRcdF9nZXQuc2VuZENodW9ZaUNodW9Nc2coe1xyXG5cdFx0XHRcdFx0XHRsaXN0X2lkOiB0aGlzLmxpc3RfaWQsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZnVuY3Rpb24oKSB7fVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHRvSGlkZURyYXdlcihub3RfcmV0dXJuID0gMCwgdHlwZSA9IFwiaGlkZVwiKSB7XHJcblx0XHRcdFx0dGhpcy5wb3B1cExheWVyQ2xhc3MgPSBcIlwiO1xyXG5cdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5oaWRlTW9yZSA9IHRydWU7XHJcblx0XHRcdFx0XHR0aGlzLmhpZGVFbW9qaSA9IHRydWU7XHJcblx0XHRcdFx0XHR0aGlzLmdldFNjcm9sbENvbnRlbnRIZWlnaHQodHlwZSwgbm90X3JldHVybik7XHJcblx0XHRcdFx0fSwgMTUwKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6YCJ5oup5Zu+54mH5Y+R6YCBXHJcblx0XHRcdGNob29zZUltYWdlKCkge1xyXG5cdFx0XHRcdHRoaXMuZ2V0SW1hZ2UoXCJhbGJ1bVwiKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/mi43nhaflj5HpgIFcclxuXHRcdFx0Y2FtZXJhKCkge1xyXG5cdFx0XHRcdHRoaXMuZ2V0SW1hZ2UoXCJjYW1lcmFcIik7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5ouN5pGE6KeG6aKR5Y+R6YCBXHJcblx0XHRcdHZpZGVvKCkge1xyXG5cdFx0XHRcdHVuaS5jaG9vc2VWaWRlbyh7XHJcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGxldCBtaW4gPSBwYXJzZUludChyZXMuc2l6ZSAvIDYwKSxcclxuXHRcdFx0XHRcdFx0XHRzZWMgPSByZXMuc2l6ZSAlIDYwO1xyXG5cdFx0XHRcdFx0XHRtaW4gPSBtaW4gPCAxMCA/IFwiMFwiICsgbWluIDogbWluO1xyXG5cdFx0XHRcdFx0XHRzZWMgPSBzZWMgPCAxMCA/IFwiMFwiICsgc2VjIDogc2VjO1xyXG5cdFx0XHRcdFx0XHRsZXQgbXNnID0ge1xyXG5cdFx0XHRcdFx0XHRcdHVybDogcmVzLnRlbXBGaWxlUGF0aCxcclxuXHRcdFx0XHRcdFx0XHRsZW5ndGg6IG1pbiArIFwiOlwiICsgc2VjLFxyXG5cdFx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNlbmRNc2cobXNnLCAzKTtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5Y+R57qi5YyFXHJcblx0XHRcdGhhbmRSZWRFbnZlbG9wZXMoKSB7XHJcblx0XHRcdFx0Ly8gdGhpcy5oaWRlRHJhd2VyKDEpO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKDExMSk7XHJcblx0XHRcdFx0bGV0IHVybCA9XHJcblx0XHRcdFx0XHRcIm1lc3NhZ2UvaGFuZD9saXN0X2lkPVwiICtcclxuXHRcdFx0XHRcdHRoaXMubGlzdF9pZCArXHJcblx0XHRcdFx0XHRcIiZtc2dfdHlwZT1cIiArXHJcblx0XHRcdFx0XHR0aGlzLm1zZ0xpc3QudHlwZTtcclxuXHRcdFx0XHRpZiAodGhpcy52ZW5kb3Jfc3RhdHVzKVxyXG5cdFx0XHRcdFx0dXJsID1cclxuXHRcdFx0XHRcdFwibWVzc2FnZS9oYW5kX3Bpbj9saXN0X2lkPVwiICtcclxuXHRcdFx0XHRcdHRoaXMubGlzdF9pZCArXHJcblx0XHRcdFx0XHRcIiZtc2dfdHlwZT1cIiArXHJcblx0XHRcdFx0XHR0aGlzLm1zZ0xpc3QudHlwZTtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6IHVybCxcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/ovazotKZcclxuXHRcdFx0dHJhbnNmZXJzKCkge1xyXG5cdFx0XHRcdC8vVE9ET+i3s+i9rOWIsOi9rOi0pumhtemdolxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly/pgInnhafniYcgb3Ig5ouN54WnXHJcblx0XHRcdGdldEltYWdlKHR5cGUpIHtcclxuXHRcdFx0XHR0aGlzLmhpZGVEcmF3ZXIoMSk7XHJcblx0XHRcdFx0dW5pLmNob29zZUltYWdlKHtcclxuXHRcdFx0XHRcdHNvdXJjZVR5cGU6IFt0eXBlXSxcclxuXHRcdFx0XHRcdHNpemVUeXBlOiBbXCJvcmlnaW5hbFwiLCBcImNvbXByZXNzZWRcIl0sIC8v5Y+v5Lul5oyH5a6a5piv5Y6f5Zu+6L+Y5piv5Y6L57yp5Zu+77yM6buY6K6k5LqM6ICF6YO95pyJXHJcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgcmVzLnRlbXBGaWxlUGF0aHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuZ2V0SW1hZ2VJbmZvKHtcclxuXHRcdFx0XHRcdFx0XHRcdHNyYzogcmVzLnRlbXBGaWxlUGF0aHNbaV0sXHJcblx0XHRcdFx0XHRcdFx0XHRzdWNjZXNzOiAoaW1hZ2UpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly9jb25zb2xlLmxvZyhpbWFnZS53aWR0aCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vY29uc29sZS5sb2coaW1hZ2UuaGVpZ2h0KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGV0IG1zZyA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR1cmw6IHJlcy50ZW1wRmlsZVBhdGhzW2ldLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHc6IGltYWdlLndpZHRoLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGg6IGltYWdlLmhlaWdodCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5zZW5kTXNnKG1zZywgMik7XHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDpgInmi6nooajmg4VcclxuXHRcdFx0Y2hvb3NlRW1vamkoKSB7XHJcblx0XHRcdFx0dGhpcy5oaWRlTW9yZSA9IHRydWU7XHJcblx0XHRcdFx0aWYgKHRoaXMuaGlkZUVtb2ppKSB7XHJcblx0XHRcdFx0XHR0aGlzLmhpZGVFbW9qaSA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0dGhpcy5vcGVuRHJhd2VyKCk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuaGlkZURyYXdlcigpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/mt7vliqDooajmg4VcclxuXHRcdFx0YWRkRW1vamkoZW0pIHtcclxuXHRcdFx0XHR0aGlzLnRleHRNc2cgKz0gZW0uYWx0O1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly/ojrflj5bnhKbngrnvvIzlpoLmnpzkuI3mmK/pgInooajmg4Vpbmcs5YiZ5YWz6Zet5oq95bGJXHJcblx0XHRcdHRleHRhcmVhRm9jdXMoKSB7XHJcblx0XHRcdFx0bGV0IF90aGlzID0gdGhpcztcclxuXHRcdFx0XHRfdGhpcy5oaWRlRHJhd2VyKDAsIFwic2hvd1wiKTtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0aWYgKF90aGlzLnBvcHVwTGF5ZXJDbGFzcyA9PSBcInNob3dMYXllclwiICYmIHRoaXMuaGlkZU1vcmUgPT0gZmFsc2UpIHtcclxuXHRcdFx0XHRcdF90aGlzLmhpZGVEcmF3ZXIoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDlj5HpgIHmloflrZfmtojmga9cclxuXHRcdFx0c2VuZFRleHQoKSB7XHJcblx0XHRcdFx0dGhpcy5oaWRlRHJhd2VyKDEpOyAvL+makOiXj+aKveWxiVxyXG5cdFx0XHRcdGlmICghdGhpcy50ZXh0TXNnKSB7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuc2VuZE1zZyhcIlwiLCAwKTtcclxuXHRcdFx0XHQvL+a4heepuui+k+WFpeahhlxyXG5cdFx0XHRcdHRoaXMudGV4dE1zZyA9IFwiXCI7XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvL+abv+aNouihqOaDheespuWPt+S4uuWbvueJh1xyXG5cdFx0XHRyZXBsYWNlRW1vamkoc3RyKSB7XHJcblx0XHRcdFx0c3RyID0gc3RyID8gc3RyIDogXCJcIjtcclxuXHRcdFx0XHRsZXQgcmVwbGFjZWRTdHIgPSBzdHIucmVwbGFjZSgvXFxbKFteKFxcXXxcXFspXSopXFxdL2csIChpdGVtLCBpbmRleCkgPT4ge1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coXCJpdGVtOiBcIiArIGl0ZW0pO1xyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmVtb2ppTGlzdC5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0XHRsZXQgcm93ID0gdGhpcy5lbW9qaUxpc3RbaV07XHJcblx0XHRcdFx0XHRcdGZvciAobGV0IGogPSAwOyBqIDwgcm93Lmxlbmd0aDsgaisrKSB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IEVNID0gcm93W2pdO1xyXG5cdFx0XHRcdFx0XHRcdGlmIChFTS5hbHQgPT0gaXRlbSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly/lnKjnur/ooajmg4Xot6/lvoTvvIzlm77mlofmt7fmjpLlv4Xpobvkvb/nlKjnvZHnu5zot6/lvoTvvIzor7fkuIrkvKDkuIDku73ooajmg4XliLDkvaDnmoTmnI3liqHlmajlkI7lho3mm7/mjaLmraTot6/lvoRcclxuXHRcdFx0XHRcdFx0XHRcdC8v5q+U5aaC5L2g5LiK5Lyg5pyN5Yqh5Zmo5ZCO77yM5L2g55qEMTAwLmdpZui3r+W+hOS4umh0dHBzOi8vd3d3Lnh4eC5jb20vZW1vamkvMTAwLmdpZiDliJnmm7/mjaJvbmxpbmVQYXRo5aGr5YaZ5Li6aHR0cHM6Ly93d3cueHh4LmNvbS9lbW9qaS9cclxuXHRcdFx0XHRcdFx0XHRcdGxldCBpbWdzdHIgPVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQnPGltZyBzdHlsZT1cIndpZHRoOjIycHg7aGVpZ2h0OjIycHg7XCIgc3JjPVwiJyArXHJcblx0XHRcdFx0XHRcdFx0XHRcdF9kYXRhLmRhdGEoXCJzdGF0aWNfdXJsXCIpICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XCIvc3RhdGljL2Vtb2ppL1wiICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0RU0udXJsICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0J1wiPic7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhcImltZ3N0cjogXCIgKyBpbWdzdHIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGltZ3N0cjtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHQvLyBkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdC8vIHJldHVybiAnPGRpdiBzdHlsZT1cImFsaWduLWl0ZW1zOiBjZW50ZXI7d29yZC1icmVhazpicmVhay1hbGw7XCI+JyArIHJlcGxhY2VkU3RyICsgJzwvZGl2Pic7XHJcblx0XHRcdFx0cmV0dXJuIHJlcGxhY2VkU3RyO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzaG93UWlhbmcoKSB7XHJcblx0XHRcdFx0dGhpcy4kcmVmcy5xaWFuZy5vcGVuKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGF1dG9GYVJlZChudW0pIHtcclxuXHRcdFx0XHRsZXQgX3RoaXMgPSB0aGlzO1xyXG5cdFx0XHRcdGxldCB0aW1lID0gbnVtICogMTAwMDtcclxuXHRcdFx0XHRpZiAodGltZSA8PSAwKSByZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0aWYgKF90aGlzLnRpbWVyKSBjbGVhckludGVydmFsKF90aGlzLnJlZFRpbWVyKTtcclxuXHRcdFx0XHRfdGhpcy5yZWRUaW1lciA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0X2dldC5hdXRvQmlnUmVkKHtcclxuXHRcdFx0XHRcdFx0XHRsaXN0X2lkOiBfdGhpcy5saXN0X2lkLFxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRmdW5jdGlvbigpIHt9XHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH0sIG51bSAqIDEwMDApO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnb1FpYW5nKGUpIHtcclxuXHRcdFx0XHRsZXQgX3RoaXMgPSB0aGlzO1xyXG5cdFx0XHRcdGUubGlzdF9pZCA9IF90aGlzLmxpc3RfaWQ7XHJcblx0XHRcdFx0X2dldC51cGRhdGVNaWFvcWlhbmcoZSwgZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRfdGhpcy5taWFvcWlhbmcgPSBlLnN0YXR1cztcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGUpO1xyXG5cdFx0XHRcdFx0aWYgKGUuc3RhdHVzID09IDEpIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCLlj5HljIUuLi4uLi4uXCIpO1xyXG5cdFx0XHRcdFx0XHRfdGhpcy5hdXRvRmFSZWQoZS5udW0pO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0Y2xlYXJJbnRlcnZhbChfdGhpcy5yZWRUaW1lcik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogXCLmk43kvZzmiJDlip9cIixcclxuXHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMjAwMCxcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdF90aGlzLiRyZWZzLnFpYW5nLmNsb3NlKCk7XHJcblx0XHRcdFx0XHR9LCA1MDApO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDlj5HpgIHmtojmga9cclxuXHRcdFx0c2VuZE1zZyhjb250ZW50LCB0eXBlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ+WPkemAgeWGheWuuWNvbnRlbnTvvJonLCBjb250ZW50KTtcclxuXHRcdFx0XHQvLyB1bmkuc2hvd0xvYWRpbmcoKTtcclxuXHRcdFx0XHRsZXQgX3RoaXMgPSB0aGlzLFxyXG5cdFx0XHRcdFx0c2VuZE1zZyA9IGNvbnRlbnQ7XHJcblx0XHRcdFx0KChjYWxsYmFjaykgPT4ge1xyXG5cdFx0XHRcdFx0c3dpdGNoICh0eXBlKSB7XHJcblx0XHRcdFx0XHRcdC8qKiDmloflrZcv6KGo5oOF5raI5oGvICovXHJcblx0XHRcdFx0XHRcdGNhc2UgMDpcclxuXHRcdFx0XHRcdFx0XHRsZXQgbXNnID0gdGhpcy50ZXh0TXNnLnJlcGxhY2UoLzwvZywgXCImbHQ7XCIpO1xyXG5cdFx0XHRcdFx0XHRcdHNlbmRNc2cgPSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0ZXh0OiBtc2csXHJcblx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0XHQvLyB0b2RvIEDlpb3lj4tcclxuXHRcdFx0XHRcdFx0XHRpZiAoX3RoaXMuc2VuZF91c2VyX2lkKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRzZW5kTXNnLnVzZXJfaWQgPSBfdGhpcy5zZW5kX3VzZXJfaWQ7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGNhbGxiYWNrKCk7XHJcblx0XHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRcdFx0LyoqIOivremfsy/lm77niYcv6KeG6aKRL+aWh+S7tiAqL1xyXG5cdFx0XHRcdFx0XHRjYXNlIDE6XHJcblx0XHRcdFx0XHRcdGNhc2UgMjpcclxuXHRcdFx0XHRcdFx0Y2FzZSAzOlxyXG5cdFx0XHRcdFx0XHRjYXNlIDQ6XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuWPkemAgeS4rVwiLFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdF90aGlzLiRodHRwU2VuZEZpbGUoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogMCxcclxuXHRcdFx0XHRcdFx0XHRcdGxvY2FsX3VybDogc2VuZE1zZy51cmwsXHJcblx0XHRcdFx0XHRcdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3RfaWQ6IF90aGlzLmxpc3RfaWQsXHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0c3VjY2VzcyhkYXRhKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi5pWw5o2uXCIsIGRhdGEpO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHNlbmRNc2cudXJsID0gZGF0YS5zYXZlX25hbWU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHNlbmRNc2cuZnVsbF91cmwgPSBkYXRhLmZ1bGxfdXJsO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRzZW5kTXNnLmZ1bGxfbW92aWUgPSBkYXRhLmZ1bGxfbW92aWU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChcInNhdmVfZ2lmX3BhdGhcIiBpbiBkYXRhKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHNlbmRNc2cuc2F2ZV9waWNfcGF0aCA9IGRhdGEuc2F2ZV9naWZfcGF0aDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJzdWNjZXNzXCIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjYWxsYmFjaygpO1xyXG5cdFx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdFx0XHQvKiog57qi5YyF5raI5oGvICovXHJcblx0XHRcdFx0XHRcdGNhc2UgNTpcclxuXHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHJcblx0XHRcdFx0XHRcdGNhc2UgMTA6XHJcblx0XHRcdFx0XHRcdFx0Ly8g5Zyw5Zu+XHJcblx0XHRcdFx0XHRcdFx0c2VuZE1zZyA9IGNvbnRlbnQ7XHJcblx0XHRcdFx0XHRcdFx0Y2FsbGJhY2soKTtcclxuXHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdFx0Y2FzZSAxMTpcclxuXHRcdFx0XHRcdFx0XHQvLyDmlofku7ZcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5Y+R6YCB5LitXCIsXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0X3RoaXMuJGh0dHBTZW5kRmlsZSh7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0bG9jYWxfdXJsOiBzZW5kTXNnLnVybCxcclxuXHRcdFx0XHRcdFx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdF9pZDogX3RoaXMubGlzdF9pZCxcclxuXHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRzdWNjZXNzKGRhdGEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCLmlbDmja5cIik7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0c2VuZE1zZy51cmwgPSBkYXRhLnNhdmVfbmFtZTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0c2VuZE1zZy5mdWxsX3VybCA9IGRhdGEuZnVsbF91cmw7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHNlbmRNc2cuZnVsbF9tb3ZpZSA9IGRhdGEuZnVsbF9tb3ZpZTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKFwic2F2ZV9naWZfcGF0aFwiIGluIGRhdGEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c2VuZE1zZy5zYXZlX3BpY19wYXRoID0gZGF0YS5zYXZlX2dpZl9wYXRoO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInN1Y2Nlc3NcIik7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNhbGxiYWNrKCk7XHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pKCgpID0+IHtcclxuXHRcdFx0XHRcdC8vdG9kbyBA5aW95Y+LIOWPkemAgeWQjua4heepunVzZXJfaWRcclxuXHRcdFx0XHRcdF90aGlzLnNlbmRfdXNlcl9pZCA9IFwiXCI7XHJcblx0XHRcdFx0XHRfdGhpcy4kaHR0cFNlbmQoe1xyXG5cdFx0XHRcdFx0XHRwYXRoOiBcIi9pbS9tZXNzYWdlL3RleHRNc2dcIixcclxuXHRcdFx0XHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdFx0XHRcdGxpc3RfaWQ6IF90aGlzLmxpc3RfaWQsXHJcblx0XHRcdFx0XHRcdFx0Y29udGVudF90eXBlOiB0eXBlLFxyXG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IEpTT04uc3RyaW5naWZ5KHNlbmRNc2cpLFxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRzdWNjZXNzX2FjdGlvbjogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHQvLyB1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0XHRzd2l0Y2ggKHJlcy5lcnIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNhc2UgMDpcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHR5cGUgPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdF9hY3Rpb24ucGxheVZvaWNlKFwiL3N0YXRpYy92b2ljZS92b2ljZS5tcDNcIik7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRcdFx0XHRjYXNlIDE6XHJcblx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuWlveWPi+aPkOekulwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbmZpcm1UZXh0OiBcIuWPkemAgeWlveWPi+eUs+ivt1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IHJlcy5tc2csXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAocmVzLmNvbmZpcm0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHVybDogXCIuLi9mcmllbmQvYXBwbHk/dXNlcl9pZD1cIiArXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRfZGF0YS5sb2NhbERhdGEoX3RoaXMubGlzdF9pZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC5vYmpfaWQgK1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCImaXNfdHlwZT0wXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdFx0XHRcdGNhc2UgMjpcclxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29udGVudDogcmVzLm1zZyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxldCBkYXRhID0gX2RhdGEubG9jYWxEYXRhKGRhdGEubGlzdF9pZCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGEuaXNfbXNnID0gMTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0X3RoaXMubXNnTGlzdC5pc19tc2cgPSAxO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRfZGF0YS5sb2NhbERhdGEoZGF0YS5saXN0X2lkLCBkYXRhKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCLph43mlrDojrflj5bogYrlpKnlhoXlrrnjgILjgILjgILjgILjgILjgILjgILjgILjgIJcIik7XHJcblx0XHRcdFx0XHRcdFx0X2dldC5nZXRDaGF0RGF0YSh7XHJcblx0XHRcdFx0XHRcdFx0XHRzZW5kX2RhdGE6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdF9pZDogX3RoaXMubGlzdF9pZCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGltZTogMCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0aXNfdXA6IDEsXHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0aXNfYWN0aW9uX2RhdGE6IDEsXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdC8vIOa3u+WKoOaWh+Wtl+a2iOaBr+WIsOWIl+ihqFxyXG5cdFx0XHRhZGRUZXh0TXNnKG1zZykge1xyXG5cdFx0XHRcdHRoaXMubXNnTGlzdC5saXN0LnB1c2gobXNnKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5re75Yqg6K+t6Z+z5raI5oGv5Yiw5YiX6KGoXHJcblx0XHRcdGFkZFZvaWNlTXNnKG1zZykge1xyXG5cdFx0XHRcdHRoaXMubXNnTGlzdC5saXN0LnB1c2gobXNnKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5re75Yqg5Zu+54mH5raI5oGv5Yiw5YiX6KGoXHJcblx0XHRcdGFkZEltZ01zZyhtc2cpIHtcclxuXHRcdFx0XHR0aGlzLm1zZ0ltZ0xpc3QucHVzaChcclxuXHRcdFx0XHRcdHRoaXMuc3RhdGljUGF0aCArXHJcblx0XHRcdFx0XHR0aGlzLmxpc3RfaWQgK1xyXG5cdFx0XHRcdFx0XCIvXCIgK1xyXG5cdFx0XHRcdFx0bXNnLmNvbnRlbnQudXJsLnJlcGxhY2UoXCJfdGh1bWJcIiwgXCJcIilcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHRcdG1zZy5tc2cuY29udGVudCA9IHRoaXMuc2V0UGljU2l6ZShtc2cubXNnLmNvbnRlbnQpO1xyXG5cdFx0XHRcdHRoaXMubXNnTGlzdC5saXN0LnB1c2gobXNnKTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcInRoaXMubXNnSW1nTGlzdFwiLCB0aGlzLm1zZ0ltZ0xpc3QpO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKFwidGhpcy5tc2dMaXN0XCIsIHRoaXMubXNnTGlzdCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGFkZFJlZEVudmVsb3BlTXNnKG1zZykge1xyXG5cdFx0XHRcdHRoaXMubXNnTGlzdC5wdXNoKG1zZyk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOa3u+WKoOezu+e7n+aWh+Wtl+a2iOaBr+WIsOWIl+ihqFxyXG5cdFx0XHRhZGRTeXN0ZW1UZXh0TXNnKG1zZykge1xyXG5cdFx0XHRcdHRoaXMubXNnTGlzdC5saXN0LnB1c2gobXNnKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5re75Yqg57O757uf57qi5YyF5raI5oGv5Yiw5YiX6KGoXHJcblx0XHRcdGFkZFN5c3RlbVJlZEVudmVsb3BlTXNnKG1zZykge1xyXG5cdFx0XHRcdHRoaXMubXNnTGlzdC5saXN0LnB1c2gobXNnKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0b3BlblJlZChwYXJhbXMpIHtcclxuXHRcdFx0XHRsZXQgX3RoaXMgPSB0aGlzO1xyXG5cdFx0XHRcdF90aGlzLmx1Y2tidG4gPSBcImx1Y2tidG5cIjtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6IFwi5Yqg6L295LitLi4uXCIsXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0Ly9UT0RPIOWIpOaWreaYr+WTquenjee6ouWMhVxyXG5cdFx0XHRcdGlmICh0aGlzLnZlbmRvcl9zdGF0dXMgPT0gMSkge1xyXG5cdFx0XHRcdFx0X2dldC5nZXRMZWlIb25nQmFvKFxyXG5cdFx0XHRcdFx0XHRwYXJhbXMsXHJcblx0XHRcdFx0XHRcdGZ1bmN0aW9uKHJldCkge1xyXG5cdFx0XHRcdFx0XHRcdF90aGlzLnJlY2VpdmVfbGlzdC5wdXNoKHBhcmFtcy5yaWQpO1xyXG5cdFx0XHRcdFx0XHRcdF90aGlzLm1zZ0xpc3QucmVjZWl2ZV9saXN0ID0gX3RoaXMucmVjZWl2ZV9saXN0O1xyXG5cdFx0XHRcdFx0XHRcdF9kYXRhLmxvY2FsRGF0YShfdGhpcy5saXN0X2lkLCBfdGhpcy5tc2dMaXN0KTtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXQpO1xyXG5cdFx0XHRcdFx0XHRcdHVuaS4kZW1pdChcImRhdGFfdXNlcl9pbmZvXCIsIHJldCk7XHJcblx0XHRcdFx0XHRcdFx0X2RhdGEuZGF0YShcInVzZXJfaW5mb1wiLCByZXQpO1xyXG5cdFx0XHRcdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRfdGhpcy5sdWNrYnRuID0gXCJcIjtcclxuXHRcdFx0XHRcdFx0XHRcdF90aGlzLmNsb3NlUmVkRW52ZWxvcGUoKTtcclxuXHRcdFx0XHRcdFx0XHRcdF90aGlzLnRvRGV0YWlscyhwYXJhbXMucmlkKTtcclxuXHRcdFx0XHRcdFx0XHR9LCAxMDAwKTtcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0ZnVuY3Rpb24ocmV0KSB7XHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0XHRcdF90aGlzLmx1Y2tidG4gPSBcIlwiO1xyXG5cdFx0XHRcdFx0XHRcdFx0X3RoaXMuY2xvc2VSZWRFbnZlbG9wZSgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0X3RoaXMudG9EZXRhaWxzKHBhcmFtcy5yaWQpO1xyXG5cdFx0XHRcdFx0XHRcdH0sIDEwMDApO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRfZ2V0LmdldEhvbmdCYW8oXHJcblx0XHRcdFx0XHRcdHBhcmFtcyxcclxuXHRcdFx0XHRcdFx0ZnVuY3Rpb24ocmV0KSB7XHJcblx0XHRcdFx0XHRcdFx0X3RoaXMucmVjZWl2ZV9saXN0LnB1c2gocGFyYW1zLnJpZCk7XHJcblx0XHRcdFx0XHRcdFx0X3RoaXMubXNnTGlzdC5yZWNlaXZlX2xpc3QgPSBfdGhpcy5yZWNlaXZlX2xpc3Q7XHJcblx0XHRcdFx0XHRcdFx0X2RhdGEubG9jYWxEYXRhKF90aGlzLmxpc3RfaWQsIF90aGlzLm1zZ0xpc3QpO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJldCk7XHJcblx0XHRcdFx0XHRcdFx0dW5pLiRlbWl0KFwiZGF0YV91c2VyX2luZm9cIiwgcmV0KTtcclxuXHRcdFx0XHRcdFx0XHRfZGF0YS5kYXRhKFwidXNlcl9pbmZvXCIsIHJldCk7XHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0XHRcdF90aGlzLmx1Y2tidG4gPSBcIlwiO1xyXG5cdFx0XHRcdFx0XHRcdFx0X3RoaXMuY2xvc2VSZWRFbnZlbG9wZSgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0X3RoaXMudG9EZXRhaWxzKHBhcmFtcy5yaWQpO1xyXG5cdFx0XHRcdFx0XHRcdH0sIDEwMDApO1xyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRmdW5jdGlvbihyZXQpIHtcclxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0X3RoaXMubHVja2J0biA9IFwiXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRfdGhpcy5jbG9zZVJlZEVudmVsb3BlKCk7XHJcblx0XHRcdFx0XHRcdFx0XHRfdGhpcy50b0RldGFpbHMocGFyYW1zLnJpZCk7XHJcblx0XHRcdFx0XHRcdFx0fSwgMTAwMCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5omT5byA57qi5YyFXHJcblx0XHRcdG9wZW5SZWRFbnZlbG9wZShtc2csIGluZGV4KSB7XHJcblx0XHRcdFx0aWYgKHRoaXMucmVjZWl2ZV9saXN0LmluZGV4T2YobXNnLmNvbnRlbnQucmlkKSA+PSAwKSB7XHJcblx0XHRcdFx0XHR0aGlzLnRvRGV0YWlscyhtc2cuY29udGVudC5yaWQpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMud2luZG93c1N0YXRlID0gXCJzaG93XCI7XHJcblx0XHRcdFx0dGhpcy5yZWRlbnZlbG9wZURhdGEgPSBtc2cuY29udGVudDtcclxuXHRcdFx0XHR0aGlzLnJlZGVudmVsb3BlRGF0YS5pbmRleCA9IGluZGV4O1xyXG5cdFx0XHRcdHJldHVybiB0cnVlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDlhbPpl63nuqLljIXlvLnnqpdcclxuXHRcdFx0Y2xvc2VSZWRFbnZlbG9wZSgpIHtcclxuXHRcdFx0XHR0aGlzLndpbmRvd3NTdGF0ZSA9IFwiaGlkZVwiO1xyXG5cdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy53aW5kb3dzU3RhdGUgPSBcIlwiO1xyXG5cdFx0XHRcdH0sIDIwMCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNlbmRTeXN0ZW1Nc2coY29udGVudCwgdHlwZSkge1xyXG5cdFx0XHRcdGxldCBsYXN0aWQgPSB0aGlzLm1zZ0xpc3QubGlzdFt0aGlzLm1zZ0xpc3QubGlzdC5sZW5ndGggLSAxXS5tc2cuaWQ7XHJcblx0XHRcdFx0bGFzdGlkKys7XHJcblx0XHRcdFx0bGV0IHJvdyA9IHtcclxuXHRcdFx0XHRcdHR5cGU6IFwic3lzdGVtXCIsXHJcblx0XHRcdFx0XHRtc2c6IHtcclxuXHRcdFx0XHRcdFx0aWQ6IGxhc3RpZCxcclxuXHRcdFx0XHRcdFx0dHlwZTogdHlwZSxcclxuXHRcdFx0XHRcdFx0Y29udGVudDogY29udGVudCxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHR0aGlzLnNjcmVlbk1zZyhyb3cpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+mihuWPluivpuaDhVxyXG5cdFx0XHR0b0RldGFpbHMocmlkKSB7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiBcIm1lc3NhZ2UvZGV0YWlscz9yaWQ9XCIgKyByaWQgKyBcIiZsaXN0X2lkPVwiICsgdGhpcy5saXN0X2lkLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDpooTop4jlm77niYdcclxuXHRcdFx0c2hvd1BpYyhtc2cpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcIm1zZ+mihOiniDFcIiwgbXNnKTtcclxuXHRcdFx0XHRsZXQgdXJsID1cclxuXHRcdFx0XHRcdHRoaXMuc3RhdGljUGF0aCArXHJcblx0XHRcdFx0XHR0aGlzLmxpc3RfaWQgK1xyXG5cdFx0XHRcdFx0XCIvXCIgK1xyXG5cdFx0XHRcdFx0bXNnLmNvbnRlbnQudXJsLnJlcGxhY2UoXCJfdGh1bWJcIiwgXCJcIik7XHJcblx0XHRcdFx0dW5pLnByZXZpZXdJbWFnZSh7XHJcblx0XHRcdFx0XHRpbmRpY2F0b3I6IFwibm9uZVwiLFxyXG5cdFx0XHRcdFx0dXJsczogW3VybF0sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOmihOiniOWbvueJh1xyXG5cdFx0XHRzaG93UGljMShtc2cpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcIm1zZ+mihOiniDLnsbvlnovlm77niYdcIiwgbXNnKTtcclxuXHRcdFx0XHRsZXQgdXJsID1cclxuXHRcdFx0XHRcdHRoaXMuc3RhdGljUGF0aCArXHJcblx0XHRcdFx0XHR0aGlzLmxpc3RfaWQgK1xyXG5cdFx0XHRcdFx0XCIvXCIgK1xyXG5cdFx0XHRcdFx0bXNnLmNvbnRlbnQudXJsLnJlcGxhY2UoXCJfdGh1bWJcIiwgXCJcIik7XHJcblx0XHRcdFx0dW5pLnByZXZpZXdJbWFnZSh7XHJcblx0XHRcdFx0XHRjdXJyZW50OiB1cmwsXHJcblx0XHRcdFx0XHRpbmRpY2F0b3I6IFwibm9uZVwiLFxyXG5cdFx0XHRcdFx0dXJsczogdGhpcy5tc2dJbWdMaXN0LFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDpooTop4jmloflrZflm77niYfpk77mjqVcclxuXHRcdFx0c2hvd1BpYzIodXJsKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCJtc2fpooTop4gzXCIsIHVybCk7XHJcblx0XHRcdFx0dW5pLnByZXZpZXdJbWFnZSh7XHJcblx0XHRcdFx0XHRpbmRpY2F0b3I6IFwibm9uZVwiLFxyXG5cdFx0XHRcdFx0dXJsczogW3VybF0sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOaSreaUvuivremfs1xyXG5cdFx0XHRwbGF5Vm9pY2UobXNnKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCLmkq3mlL7or63pn7NcIiwgbXNnKTtcclxuXHRcdFx0XHR0aGlzLkFVRElPLnN0b3AoKTtcclxuXHRcdFx0XHRsZXQgX3RoaXMgPSB0aGlzO1xyXG5cdFx0XHRcdGlmICh0aGlzLnBsYXlNc2dpZCA9PSBtc2cuaWQpIHtcclxuXHRcdFx0XHRcdHRoaXMucGxheU1zZ2lkID0gbnVsbDtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5wbGF5TXNnaWQgPSBtc2cuaWQ7XHJcblx0XHRcdFx0XHQvLyB0aGlzLkFVRElPLm9iZXlNdXRlU3dpdGNoID0gZmFsc2U7XHJcblx0XHRcdFx0XHQvLyB0b2Rv5L+u5aSN6K+t6Z+zXHJcblx0XHRcdFx0XHRsZXQgdXJsID0gdGhpcy5zdGF0aWNQYXRoICsgbXNnLmNvbnRlbnQuZnVsbF91cmw7XHJcblx0XHRcdFx0XHRfdGhpcy5BVURJTy5zcmMgPSB1cmw7XHJcblx0XHRcdFx0XHRfdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRcdF90aGlzLkFVRElPLnBsYXkoKTtcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0Ly8gdGhpcy5BVURJTy5zcmMgPSAodGhpcy5zdGF0aWNQYXRoICsgbXNnLmNvbnRlbnQudXJsICsgJz9fPScgKyBNYXRoLnJhbmRvbSgpKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOW9lemfs+W8gOWni1xyXG5cdFx0XHR2b2ljZUJlZ2luKGUpIHtcclxuXHRcdFx0XHRpZiAoZS50b3VjaGVzLmxlbmd0aCA+IDEpIHtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5pbml0UG9pbnQuWSA9IGUudG91Y2hlc1swXS5jbGllbnRZO1xyXG5cdFx0XHRcdHRoaXMuaW5pdFBvaW50LmlkZW50aWZpZXIgPSBlLnRvdWNoZXNbMF0uaWRlbnRpZmllcjtcclxuXHRcdFx0XHQvLyB0aGlzLlJFQ09SREVSLnN0YXJ0KHsgZm9ybWF0OiBcIm1wM1wiIH0pOy8v5b2V6Z+z5byA5aeLLFxyXG5cdFx0XHRcdC8vIOW8gOWni+W9lemfs1xyXG5cdFx0XHRcdHRoaXMuUkVDT1JELnN0YXJ0KHtcclxuXHRcdFx0XHRcdGZvcm1hdDogXCJtcDNcIixcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lvZXpn7PlvIDlp4tVSeaViOaenFxyXG5cdFx0XHRyZWNvcmRCZWdpbihlKSB7XHJcblx0XHRcdFx0LyoqIOaaguWBnOivremfs+aSreaUviAqL1xyXG5cdFx0XHRcdHRoaXMuQVVESU8ucGF1c2UoKTtcclxuXHRcdFx0XHR0aGlzLnJlY29yZGluZyA9IHRydWU7XHJcblx0XHRcdFx0dGhpcy52b2ljZVRpcyA9IFwi5p2+5byAIOe7k+adn1wiO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDlvZXpn7PooqvmiZPmlq1cclxuXHRcdFx0dm9pY2VDYW5jZWwoKSB7XHJcblx0XHRcdFx0dGhpcy5yZWNvcmRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHR0aGlzLnZvaWNlVGlzID0gXCLmjInkvY8g6K+06K+dXCI7XHJcblx0XHRcdFx0dGhpcy5yZWNvcmRUaXMgPSBcIuaJi+aMh+S4iua7kSDlj5bmtojlj5HpgIFcIjtcclxuXHRcdFx0XHR0aGlzLndpbGxTdG9wID0gdHJ1ZTsgLy/kuI3lj5HpgIHlvZXpn7NcclxuXHRcdFx0XHR0aGlzLlJFQ09SRC5zdG9wKCk7IC8v5b2V6Z+z57uT5p2fXHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOW9lemfs+S4rSjliKTmlq3mmK/lkKbop6blj5HkuIrmu5Hlj5bmtojlj5HpgIEpXHJcblx0XHRcdHZvaWNlSW5nKGUpIHtcclxuXHRcdFx0XHRpZiAoIXRoaXMucmVjb3JkaW5nKSB7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCB0b3VjaGUgPSBlLnRvdWNoZXNbMF07XHJcblx0XHRcdFx0Ly/kuIrmu5HkuIDkuKrlr7zoiKrmoI/nmoTpq5jluqbop6blj5HkuIrmu5Hlj5bmtojlj5HpgIFcclxuXHRcdFx0XHRpZiAodGhpcy5pbml0UG9pbnQuWSAtIHRvdWNoZS5jbGllbnRZID49IHVuaS51cHgycHgoMTAwKSkge1xyXG5cdFx0XHRcdFx0dGhpcy53aWxsU3RvcCA9IHRydWU7XHJcblx0XHRcdFx0XHR0aGlzLnJlY29yZFRpcyA9IFwi5p2+5byA5omL5oyHIOWPlua2iOWPkemAgVwiO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLndpbGxTdG9wID0gZmFsc2U7XHJcblx0XHRcdFx0XHR0aGlzLnJlY29yZFRpcyA9IFwi5omL5oyH5LiK5ruRIOWPlua2iOWPkemAgVwiO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g57uT5p2f5b2V6Z+zXHJcblx0XHRcdHZvaWNlRW5kKGUpIHtcclxuXHRcdFx0XHRpZiAoIXRoaXMucmVjb3JkaW5nKSB7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMucmVjb3JkaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0dGhpcy52b2ljZVRpcyA9IFwi5oyJ5L2PIOivtOivnVwiO1xyXG5cdFx0XHRcdHRoaXMucmVjb3JkVGlzID0gXCLmiYvmjIfkuIrmu5Eg5Y+W5raI5Y+R6YCBXCI7XHJcblx0XHRcdFx0dGhpcy5SRUNPUkQuc3RvcCgpOyAvL+W9lemfs+e7k+adn1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+W9lemfs+e7k+adnyjlm57osIPmlofku7YpXHJcblx0XHRcdHJlY29yZEVuZChlKSB7XHJcblx0XHRcdFx0aWYgKCF0aGlzLndpbGxTdG9wKSB7XHJcblx0XHRcdFx0XHQvL2NvbnNvbGUubG9nKFwiZTogXCIgKyBKU09OLnN0cmluZ2lmeShlKSk7XHJcblx0XHRcdFx0XHRsZXQgbXNnID0ge1xyXG5cdFx0XHRcdFx0XHRsZW5ndGg6IDAsXHJcblx0XHRcdFx0XHRcdHVybDogZS50ZW1wRmlsZVBhdGgsXHJcblx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkobXNnKSk7XHJcblx0XHRcdFx0XHRsZXQgbWluID0gcGFyc2VJbnQodGhpcy5SZWNvcmRUaW1lIC8gNjApO1xyXG5cdFx0XHRcdFx0bGV0IHNlYyA9IHRoaXMuUmVjb3JkVGltZSAlIDYwO1xyXG5cdFx0XHRcdFx0bWluID0gbWluIDwgMTAgPyBcIjBcIiArIG1pbiA6IG1pbjtcclxuXHRcdFx0XHRcdHNlYyA9IHNlYyA8IDEwID8gXCIwXCIgKyBzZWMgOiBzZWM7XHJcblx0XHRcdFx0XHRpZiAobWluID4gMCB8fCBzZWMgPiAwKSB7XHJcblx0XHRcdFx0XHRcdG1zZy5sZW5ndGggPSBtaW4gKyBcIjpcIiArIHNlYztcclxuXHRcdFx0XHRcdFx0dGhpcy5zZW5kTXNnKG1zZywgMSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi5Y+W5raI5Y+R6YCB5b2V6Z+zXCIpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLndpbGxTdG9wID0gZmFsc2U7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOWIh+aNouivremfsy/mloflrZfovpPlhaVcclxuXHRcdFx0c3dpdGNoVm9pY2UoKSB7XHJcblx0XHRcdFx0dGhpcy5oaWRlRHJhd2VyKDEpO1xyXG5cdFx0XHRcdHRoaXMuaXNWb2ljZSA9IHRoaXMuaXNWb2ljZSA/IGZhbHNlIDogdHJ1ZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0ZGlzY2FyZCgpIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH0sXHJcblx0XHRcdHNheUNhbGwoKSB7XHJcblx0XHRcdFx0bGV0IHN0YXR1cyA9IDA7IC8v6buY6K6k5YWz6Zet5Yy/5ZCNXHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCJ0aGlzLm1zZ0xpc3QuaXNfbmltaW5nOlwiLCB0aGlzLm1zZ0xpc3QuaXNfbmltaW5nKTtcclxuXHRcdFx0XHRpZiAodGhpcy5tc2dMaXN0LmlzX25pbWluZyA9PSAwKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogXCLljL/lkI3lvIDlkK/kuK0uLi5cIixcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0c3RhdHVzID0gMTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGV0IF90aGlzID0gdGhpcztcclxuXHRcdFx0XHRfZ2V0LnVwZGF0ZVVzZXJTYXlUeXBlKHtcclxuXHRcdFx0XHRcdFx0bGlzdF9pZDogdGhpcy5saXN0X2lkLFxyXG5cdFx0XHRcdFx0XHRzdGF0dXM6IHN0YXR1cyxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0aWYgKF90aGlzLm1zZ0xpc3QuaXNfbmltaW5nID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuW8gOWQr+aIkOWKn1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0aW1hZ2U6IFwiL3N0YXRpYy90aGVtZS9kZWZhdWx0L215L25pbWluZy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdGR1cmF0aW9uOiAyMDAwLFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdF90aGlzLm1zZ0xpc3QuaXNfbmltaW5nID0gMTtcclxuXHJcblx0XHRcdFx0XHRcdFx0X3RoaXMubmltaW5nX21zZyA9IFwi6YCA5Ye65Yy/5ZCNXCI7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0X3RoaXMubXNnTGlzdC5pc19uaW1pbmcgPSAwO1xyXG5cdFx0XHRcdFx0XHRcdF90aGlzLm5pbWluZ19tc2cgPSBcIuWMv+WQjVwiO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdF90aGlzLnRleHRhcmVhRm9jdXMoKTsgLy/pmpDol4/mir3lsYlcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmdW5jdGlvbihyZXQpIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6IHJldC5tc2csXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0XHRcdFx0ZHVyYXRpb246IDIwMDAsXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNjcm9sbEV2ZW4oZSkge30sXHJcblx0XHRcdHpoZW5kb25nKCkge1xyXG5cdFx0XHRcdF9nZXQuemhlbmRvbmcoe1xyXG5cdFx0XHRcdFx0XHRsaXN0X2lkOiB0aGlzLmxpc3RfaWQsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZnVuY3Rpb24ocmVzKSB7fSxcclxuXHRcdFx0XHRcdGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogcmVzLm1zZyxcclxuXHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMjAwMCxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Z3JvdXBfaW5mbygpIHtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6IFwiLi9tZXNzYWdlL21vcmU/bGlzdF9pZD1cIiArXHJcblx0XHRcdFx0XHRcdHRoaXMubGlzdF9pZCArXHJcblx0XHRcdFx0XHRcdFwiJnR5cGU9XCIgK1xyXG5cdFx0XHRcdFx0XHR0aGlzLm1zZ0xpc3QudHlwZSxcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dG9Vc2VyRGV0YWlsKGl0ZW0pIHtcclxuXHRcdFx0XHRpZiAodGhpcy5tc2dMaXN0LnR5cGUgPT0gMSAmJiB0aGlzLm1zZ0xpc3QuaXNfYWN0aW9uID09IDApIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogXCLmsqHmnInmnYPpmZDmn6XnnItcIixcclxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0XHRcdGR1cmF0aW9uOiAxMDAwLFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogXCIuLi9kZXRhaWxzL2luZGV4P3VzZXJfaWQ9XCIgK1xyXG5cdFx0XHRcdFx0XHRpdGVtLnVzZXJfaWQgK1xyXG5cdFx0XHRcdFx0XHRcIiZ0eXBlPTEmbGlzdF9pZD1cIiArXHJcblx0XHRcdFx0XHRcdHRoaXMubGlzdF9pZCArXHJcblx0XHRcdFx0XHRcdFwiJmlzX2FjdGlvbj1cIiArXHJcblx0XHRcdFx0XHRcdHRoaXMuaXNfYWN0aW9uLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRTZXJ2aW5nKCkge1xyXG5cdFx0XHRcdC8v5Yik5pat5p2D6ZmQXHJcblx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0dGhpcy5tc2dMaXN0LnR5cGUgPT0gMSAmJlxyXG5cdFx0XHRcdFx0dGhpcy5tc2dMaXN0LmlzX2FjdGlvbiA9PSAwICYmXHJcblx0XHRcdFx0XHR0aGlzLmdyb3VwX3N0YXRlICYmXHJcblx0XHRcdFx0XHR0aGlzLmdyb3VwX3N0YXRlLmNhbl9zaGFuZ21haSA9PSAwXHJcblx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6IFwi5q2k576k6KKr6K6+572u5Li65Y+q5pyJ576k5Li75ZKM566h55CG5ZGY5omN6IO95LiK6bqmXCIsXHJcblx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxyXG5cdFx0XHRcdFx0XHRkdXJhdGlvbjogMTAwMCxcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRsZXQgX3RoaXMgPSB0aGlzO1xyXG5cdFx0XHRcdGlmICh0aGlzLm9uTGluZSkge1xyXG5cdFx0XHRcdFx0Ly/lnKjmiL/pl7Tph4znm7TlvIDlkK9cclxuXHRcdFx0XHRcdF90aGlzLnNob3dTZXJ2aW5nID0gdHJ1ZTtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKFwib25MaW5lLi4uLi5cIik7XHJcblx0XHRcdFx0XHR0aGlzLiRyZWZzLnNlcnZpbmcuam9pbk9ubGluZSh0aGlzLmxpc3RfaWQpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKFwiX3RoaXMuc2VydmluZ1N0YXRlOlwiLCBfdGhpcy5zZXJ2aW5nU3RhdGUpO1xyXG5cdFx0XHRcdGlmIChfdGhpcy5zZXJ2aW5nU3RhdGUgPT0gMSkge1xyXG5cdFx0XHRcdFx0Ly/kuIvpuqZcclxuXHRcdFx0XHRcdF90aGlzLnNob3dTZXJ2aW5nID0gZmFsc2U7XHJcblx0XHRcdFx0XHRfdGhpcy4kcmVmcy5zZXJ2aW5nLnhpYU1haSh0aGlzLmxpc3RfaWQpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHQvL+S4ium6plxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCJqb2luUm9vbS4uLi5cIik7XHJcblx0XHRcdFx0XHRfdGhpcy5zaG93U2VydmluZyA9IHRydWU7XHJcblx0XHRcdFx0XHR0aGlzLiRyZWZzLnNlcnZpbmcuam9pblJvb20odGhpcy5saXN0X2lkKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHNldFNlcmluZ1N0YXRlKGRldGFpbCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKFwidGhpcy5zZXJ2aW5nU3RhdGU6XCIsIEpTT04uc3RyaW5naWZ5KGRldGFpbCkpO1xyXG5cdFx0XHRcdHRoaXMuc2VydmluZ1N0YXRlID0gZGV0YWlsLnN0YXRlO1xyXG5cdFx0XHR9LFxyXG5cdFx0fSxcclxuXHRcdHdhdGNoOiB7fSxcclxuXHRcdG9uTmF2aWdhdGlvbkJhckJ1dHRvblRhcChlKSB7XHJcblx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHR1cmw6IFwiLi9tZXNzYWdlL21vcmU/bGlzdF9pZD1cIiArIHRoaXMubGlzdF9pZCArIFwiJnR5cGU9XCIgKyB0aGlzLm1zZ0xpc3QudHlwZSxcclxuXHRcdFx0fSk7XHJcblx0XHR9LFxyXG5cdH07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCI+XHJcblx0QGltcG9ydCBcIkAvc3RhdGljL2Nzcy9jaGF0L3N0eWxlLnNjc3NcIjtcclxuXHJcblx0Lm90aGVyIHtcclxuXHRcdC5sZWZ0IHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0LnUtbG9nbyB7XHJcblx0XHRcdFx0d2lkdGg6IDkwcnB4ICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0aGVpZ2h0OiA5MHJweCAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdGZsZXgtc2hyaW5rOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuYWN0aW9uIHtcclxuXHRcdFx0XHR3aWR0aDogMTYwcnB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTBycHg7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDEwcnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR6LWluZGV4OiAxMDtcclxuXHRcdFx0XHR0b3A6IDEwMHJweDtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdFx0cGFkZGluZzogMCAzMHJweDtcclxuXHJcblx0XHRcdFx0LmFjdGlvbi1saW5lIHtcclxuXHRcdFx0XHRcdGhlaWdodDogMnJweDtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDBycHg7XHJcblx0XHRcdFx0XHRtYXJnaW46IDZycHggYXV0bztcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuYWN0aW9uLWl0ZW0ge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNHJweDtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA1NHJweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5wb3B1cF9mcmllbmRzIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuXHRcdGhlaWdodDogMTAwdmg7XHJcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdH1cclxuXHJcblx0LnBvcHVwX2ZyaWVuZHMtdG9wIHtcclxuXHRcdGhlaWdodDogMjAwcnB4O1xyXG5cdFx0ZmxleC1zaHJpbms6IDA7XHJcblx0XHQvKiAjaWZkZWYgSDUgKi9cclxuXHRcdGhlaWdodDogNTAwcnB4O1xyXG5cdFx0LyogI2VuZGlmICovXHJcblx0fVxyXG5cclxuXHQudGV4dC1ncmF5IHtcclxuXHRcdGNvbG9yOiBncmF5O1xyXG5cdH1cclxuXHJcblx0LmFkZHJlc3MtbmFtZSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR9XHJcblxyXG5cdC5hZGRyZXNzLWZsZXgge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQuZnVuLWljb24ge1xyXG5cdFx0d2lkdGg6IDEwMHJweDtcclxuXHRcdGhlaWdodDogMTAwcnB4O1xyXG5cdFx0bWFyZ2luOiAxMHJweDtcclxuXHR9XHJcblxyXG5cdC5tb3JlLWxheWVyIHtcclxuXHRcdC8vIGhlaWdodDogODAwcnB4O1xyXG5cdH1cclxuXHJcblx0LnNlbmQtY2FyZCB7XHJcblx0XHR3aWR0aDogNzAwcnB4O1xyXG5cdFx0aGVpZ2h0OiAyMDBycHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0bWF4LXdpZHRoOiA3MCU7XHJcblx0XHRtaW4taGVpZ2h0OiAyNXB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRjb2xvcjogIzMzMztcclxuXHR9XHJcblxyXG5cdC5zZW5kLWNhcmQtY29udGVudCB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDIwdXB4O1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMWUxZTE7XHJcblx0fVxyXG5cclxuXHQuc2VuZC1jYXJkLWNvbnRlbnQgdGV4dCB7XHJcblx0XHRtYXJnaW4tbGVmdDogMjB1cHg7XHJcblx0fVxyXG5cclxuXHQuc2VuZC1jYXJkLWNvbnRlbnQtdGV4dCB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwdXB4O1xyXG5cdH1cclxuXHJcblx0LnZpZGVvLWJ1dC12aWV3IHtcclxuXHRcdHBhZGRpbmc6IDIwdXB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTB1cHggMTB1cHggMCAwO1xyXG5cclxuXHRcdC52aWRlby1idXQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxOHVweDtcclxuXHRcdFx0YmFja2dyb3VuZDogIzgxN2U3ZTtcclxuXHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYm94IHRleHRhcmVhIHtcclxuXHRcdHBhZGRpbmctbGVmdDogNXB4O1xyXG5cdH1cclxuXHJcblx0Lmxpc3QgLmxpc3QtYm94IHtcclxuXHRcdHdpZHRoOiAyNSU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0fVxyXG5cclxuXHQubHVja2J0biB7XHJcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgzNjBkZWcpO1xyXG5cdFx0YW5pbWF0aW9uOiByb3RhdGlvbiAwLjRzIGxpbmVhciBpbmZpbml0ZTtcclxuXHRcdC1tb3otYW5pbWF0aW9uOiByb3RhdGlvbiAwLjRzIGxpbmVhciBpbmZpbml0ZTtcclxuXHRcdC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGlvbiAwLjRzIGxpbmVhciBpbmZpbml0ZTtcclxuXHRcdC1vLWFuaW1hdGlvbjogcm90YXRpb24gMC40cyBsaW5lYXIgaW5maW5pdGU7XHJcblx0fVxyXG5cclxuXHRALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRpb24ge1xyXG5cdFx0ZnJvbSB7XHJcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRvIHtcclxuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMzYwZGVnKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5idWJibGUtYm9mYW5nIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OiAyMTV1cHg7XHJcblx0fVxyXG5cclxuXHQuYnViYmxlLWJvZmFuZy1sZWZ0IHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDIxNXVweDtcclxuXHR9XHJcblxyXG5cdC5zaG93VmVkaW8ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHR6LWluZGV4OiAzMDA7XHJcblx0fVxyXG5cclxuXHQuY2xvbmVCdXQge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRjb2xvcjogcmVkO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0d2lkdGg6IDMwcHg7XHJcblx0fVxyXG5cclxuXHQuY2xvbmVCdXQtaW1nIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0Ojotd2Via2l0LXNjcm9sbGJhciB7XHJcblx0XHR3aWR0aDogMDtcclxuXHRcdGhlaWdodDogMDtcclxuXHRcdGNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR9XHJcblxyXG5cdC5nb25nLWdhby1jb250ZW50IHtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdC8qaGVpZ2h0OiAzMHB4OyovXHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0XHQvKnBhZGRpbmc6IDEwcnB4IDEwcnB4OyovXHJcblx0fVxyXG5cclxuXHQuZ29uZy1nYW8tY29udGVudC1pbmZvIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC5nb25nLWdhby1jb250ZW50LWluZm8taWNvbiB7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcnB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0LnN5czpudGgtY2hpbGQoMSkge1xyXG5cdFx0bWFyZ2luLXRvcDogNTBweDtcclxuXHR9XHJcblxyXG5cdC5tZW1iZXItaW1hZ2UtbG9nbyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHBhZGRpbmctdG9wOiAxMHB4O1xyXG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMHB4IDE1cHggMTVweCAtMjNweCAjMDAwO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuXHRcdG92ZXJmbG93LXg6IGF1dG87XHJcblx0fVxyXG5cclxuXHQubWVtYmVyLWNvbnRlbnQge1xyXG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5pbWctbG9nbyB7XHJcblx0XHR3aWR0aDogNDBweCAhaW1wb3J0YW50O1xyXG5cdFx0aGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0cGFkZGluZzogMCA1cHg7XHJcblx0fVxyXG5cclxuXHQuamlhemFpIHtcclxuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcclxuXHR9XHJcblxyXG5cdC5qaWF6YWkgaW1hZ2Uge1xyXG5cdFx0d2lkdGg6IDQwcnB4O1xyXG5cdFx0aGVpZ2h0OiA0MHJweDtcclxuXHR9XHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///112\n");
/***/ }),
/* 113 */
/*!**************************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-ui/uni-load-more/uni-load-more.vue ***!
\**************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _uni_load_more_vue_vue_type_template_id_1d9a21ec___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./uni-load-more.vue?vue&type=template&id=1d9a21ec& */ 114);\n/* harmony import */ var _uni_load_more_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uni-load-more.vue?vue&type=script&lang=js& */ 116);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _uni_load_more_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _uni_load_more_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _uni_load_more_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _uni_load_more_vue_vue_type_template_id_1d9a21ec___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _uni_load_more_vue_vue_type_template_id_1d9a21ec___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _uni_load_more_vue_vue_type_template_id_1d9a21ec___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"components/uni-ui/uni-load-more/uni-load-more.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMEg7QUFDMUg7QUFDaUU7QUFDTDs7O0FBRzVEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLG1GQUFNO0FBQ1IsRUFBRSx3RkFBTTtBQUNSLEVBQUUsaUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsNEZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi91bmktbG9hZC1tb3JlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xZDlhMjFlYyZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL3VuaS1sb2FkLW1vcmUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi91bmktbG9hZC1tb3JlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJjb21wb25lbnRzL3VuaS11aS91bmktbG9hZC1tb3JlL3VuaS1sb2FkLW1vcmUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///113\n");
/***/ }),
/* 114 */
/*!*********************************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-ui/uni-load-more/uni-load-more.vue?vue&type=template&id=1d9a21ec& ***!
\*********************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_load_more_vue_vue_type_template_id_1d9a21ec___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-load-more.vue?vue&type=template&id=1d9a21ec& */ 115);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_load_more_vue_vue_type_template_id_1d9a21ec___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_load_more_vue_vue_type_template_id_1d9a21ec___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_load_more_vue_vue_type_template_id_1d9a21ec___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_load_more_vue_vue_type_template_id_1d9a21ec___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 115 */
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/uni-ui/uni-load-more/uni-load-more.vue?vue&type=template&id=1d9a21ec& ***!
\*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"view",
{ staticClass: _vm._$s(0, "sc", "uni-load-more"), attrs: { _i: 0 } },
[
_c(
"view",
{
directives: [
{
name: "show",
rawName: "v-show",
value: _vm._$s(
1,
"v-show",
_vm.status === "loading" && _vm.showIcon
),
expression: "_$s(1,'v-show',status === 'loading' && showIcon)",
},
],
staticClass: _vm._$s(1, "sc", "uni-load-more__img"),
attrs: { _i: 1 },
},
[
_c(
"view",
{ staticClass: _vm._$s(2, "sc", "load1"), attrs: { _i: 2 } },
[
_c("view", {
style: _vm._$s(3, "s", { background: _vm.color }),
attrs: { _i: 3 },
}),
_c("view", {
style: _vm._$s(4, "s", { background: _vm.color }),
attrs: { _i: 4 },
}),
_c("view", {
style: _vm._$s(5, "s", { background: _vm.color }),
attrs: { _i: 5 },
}),
_c("view", {
style: _vm._$s(6, "s", { background: _vm.color }),
attrs: { _i: 6 },
}),
]
),
_c(
"view",
{ staticClass: _vm._$s(7, "sc", "load2"), attrs: { _i: 7 } },
[
_c("view", {
style: _vm._$s(8, "s", { background: _vm.color }),
attrs: { _i: 8 },
}),
_c("view", {
style: _vm._$s(9, "s", { background: _vm.color }),
attrs: { _i: 9 },
}),
_c("view", {
style: _vm._$s(10, "s", { background: _vm.color }),
attrs: { _i: 10 },
}),
_c("view", {
style: _vm._$s(11, "s", { background: _vm.color }),
attrs: { _i: 11 },
}),
]
),
_c(
"view",
{ staticClass: _vm._$s(12, "sc", "load3"), attrs: { _i: 12 } },
[
_c("view", {
style: _vm._$s(13, "s", { background: _vm.color }),
attrs: { _i: 13 },
}),
_c("view", {
style: _vm._$s(14, "s", { background: _vm.color }),
attrs: { _i: 14 },
}),
_c("view", {
style: _vm._$s(15, "s", { background: _vm.color }),
attrs: { _i: 15 },
}),
_c("view", {
style: _vm._$s(16, "s", { background: _vm.color }),
attrs: { _i: 16 },
}),
]
),
]
),
]
)
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 116 */
/*!***************************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-ui/uni-load-more/uni-load-more.vue?vue&type=script&lang=js& ***!
\***************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_load_more_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-load-more.vue?vue&type=script&lang=js& */ 117);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_load_more_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_load_more_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_load_more_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_load_more_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_load_more_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXdpQixDQUFnQiwya0JBQUcsRUFBQyIsImZpbGUiOiIxMTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTctMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi91bmktbG9hZC1tb3JlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS03LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vdW5pLWxvYWQtbW9yZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///116\n");
/***/ }),
/* 117 */
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/uni-ui/uni-load-more/uni-load-more.vue?vue&type=script&lang=js& ***!
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default2 = {\n name: 'UniLoadMore',\n props: {\n status: {\n // 上拉的状态:more-loading前;loading-loading中;noMore-没有更多了\n type: String,\n default: 'more'\n },\n showIcon: {\n type: Boolean,\n default: true\n },\n color: {\n type: String,\n default: '#777777'\n },\n contentText: {\n type: Object,\n default: function _default() {\n return {\n contentdown: '上拉显示更多',\n contentrefresh: '正在加载...',\n contentnomore: '没有更多数据了'\n };\n }\n }\n },\n data: function data() {\n return {};\n }\n};\nexports.default = _default2;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy91bmktdWkvdW5pLWxvYWQtbW9yZS91bmktbG9hZC1tb3JlLnZ1ZSJdLCJuYW1lcyI6WyJuYW1lIiwicHJvcHMiLCJzdGF0dXMiLCJ0eXBlIiwiZGVmYXVsdCIsInNob3dJY29uIiwiY29sb3IiLCJjb250ZW50VGV4dCIsImNvbnRlbnRkb3duIiwiY29udGVudHJlZnJlc2giLCJjb250ZW50bm9tb3JlIiwiZGF0YSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztnQkEwQkE7RUFDQUE7RUFDQUM7SUFDQUM7TUFDQTtNQUNBQztNQUNBQztJQUNBO0lBQ0FDO01BQ0FGO01BQ0FDO0lBQ0E7SUFDQUU7TUFDQUg7TUFDQUM7SUFDQTtJQUNBRztNQUNBSjtNQUNBQztRQUNBO1VBQ0FJO1VBQ0FDO1VBQ0FDO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTtFQUNBO0FBQ0E7QUFBQSIsImZpbGUiOiIxMTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJ1bmktbG9hZC1tb3JlXCI+XHJcblx0XHRcdDx2aWV3IHYtc2hvdz1cInN0YXR1cyA9PT0gJ2xvYWRpbmcnICYmIHNob3dJY29uXCIgY2xhc3M9XCJ1bmktbG9hZC1tb3JlX19pbWdcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJsb2FkMVwiPlxyXG5cdFx0XHRcdDx2aWV3IDpzdHlsZT1cIntiYWNrZ3JvdW5kOmNvbG9yfVwiIC8+XHJcblx0XHRcdFx0PHZpZXcgOnN0eWxlPVwie2JhY2tncm91bmQ6Y29sb3J9XCIgLz5cclxuXHRcdFx0XHQ8dmlldyA6c3R5bGU9XCJ7YmFja2dyb3VuZDpjb2xvcn1cIiAvPlxyXG5cdFx0XHRcdDx2aWV3IDpzdHlsZT1cIntiYWNrZ3JvdW5kOmNvbG9yfVwiIC8+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJsb2FkMlwiPlxyXG5cdFx0XHRcdDx2aWV3IDpzdHlsZT1cIntiYWNrZ3JvdW5kOmNvbG9yfVwiIC8+XHJcblx0XHRcdFx0PHZpZXcgOnN0eWxlPVwie2JhY2tncm91bmQ6Y29sb3J9XCIgLz5cclxuXHRcdFx0XHQ8dmlldyA6c3R5bGU9XCJ7YmFja2dyb3VuZDpjb2xvcn1cIiAvPlxyXG5cdFx0XHRcdDx2aWV3IDpzdHlsZT1cIntiYWNrZ3JvdW5kOmNvbG9yfVwiIC8+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJsb2FkM1wiPlxyXG5cdFx0XHRcdDx2aWV3IDpzdHlsZT1cIntiYWNrZ3JvdW5kOmNvbG9yfVwiIC8+XHJcblx0XHRcdFx0PHZpZXcgOnN0eWxlPVwie2JhY2tncm91bmQ6Y29sb3J9XCIgLz5cclxuXHRcdFx0XHQ8dmlldyA6c3R5bGU9XCJ7YmFja2dyb3VuZDpjb2xvcn1cIiAvPlxyXG5cdFx0XHRcdDx2aWV3IDpzdHlsZT1cIntiYWNrZ3JvdW5kOmNvbG9yfVwiIC8+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdG5hbWU6ICdVbmlMb2FkTW9yZScsXHJcblx0XHRwcm9wczoge1xyXG5cdFx0XHRzdGF0dXM6IHtcclxuXHRcdFx0XHQvLyDkuIrmi4nnmoTnirbmgIHvvJptb3JlLWxvYWRpbmfliY3vvJtsb2FkaW5nLWxvYWRpbmfkuK3vvJtub01vcmUt5rKh5pyJ5pu05aSa5LqGXHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICdtb3JlJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzaG93SWNvbjoge1xyXG5cdFx0XHRcdHR5cGU6IEJvb2xlYW4sXHJcblx0XHRcdFx0ZGVmYXVsdDogdHJ1ZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb2xvcjoge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0OiAnIzc3Nzc3NydcclxuXHRcdFx0fSxcclxuXHRcdFx0Y29udGVudFRleHQ6IHtcclxuXHRcdFx0XHR0eXBlOiBPYmplY3QsXHJcblx0XHRcdFx0ZGVmYXVsdCAoKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdFx0XHRjb250ZW50ZG93bjogJ+S4iuaLieaYvuekuuabtOWkmicsXHJcblx0XHRcdFx0XHRcdGNvbnRlbnRyZWZyZXNoOiAn5q2j5Zyo5Yqg6L29Li4uJyxcclxuXHRcdFx0XHRcdFx0Y29udGVudG5vbW9yZTogJ+ayoeacieabtOWkmuaVsOaNruS6hidcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge31cclxuXHRcdH1cclxuXHR9XHJcblxyXG48L3NjcmlwdD5cclxuXHJcbjwhLS08c3R5bGU+LS0+XHJcblx0PCEtLUBjaGFyc2V0IFwiVVRGLThcIjstLT5cclxuXHJcblx0PCEtLS51bmktbG9hZC1tb3JlIHstLT5cclxuXHRcdDwhLS1kaXNwbGF5OiBmbGV4Oy0tPlxyXG5cdFx0PCEtLWZsZXgtZGlyZWN0aW9uOiByb3c7LS0+XHJcblx0XHQ8IS0taGVpZ2h0OiAyNXB4Oy0tPlxyXG5cdFx0PCEtLWFsaWduLWl0ZW1zOiBjZW50ZXI7LS0+XHJcblx0XHQ8IS0tanVzdGlmeS1jb250ZW50OiBjZW50ZXItLT5cclxuXHQ8IS0tfS0tPlxyXG5cclxuXHQ8IS0tLnVuaS1sb2FkLW1vcmVfX3RleHQgey0tPlxyXG5cdFx0PCEtLWZvbnQtc2l6ZTogMjh1cHg7LS0+XHJcblx0XHQ8IS0tY29sb3I6ICM5OTktLT5cclxuXHQ8IS0tfS0tPlxyXG5cclxuXHQ8IS0tLnVuaS1sb2FkLW1vcmVfX2ltZyB7LS0+XHJcblx0XHQ8IS0taGVpZ2h0OiAyNHB4Oy0tPlxyXG5cdFx0PCEtLXdpZHRoOiAyNHB4Oy0tPlxyXG5cdFx0PCEtLW1hcmdpbi1yaWdodDogMTBweC0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS0udW5pLWxvYWQtbW9yZV9faW1nPnZpZXcgey0tPlxyXG5cdFx0PCEtLXBvc2l0aW9uOiBhYnNvbHV0ZS0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS0vKi51bmktbG9hZC1tb3JlX19pbWc+dmlldyB2aWV3IHsqLy0tPlxyXG5cdFx0PCEtLS8qd2lkdGg6IDZweDsqLy0tPlxyXG5cdFx0PCEtLS8qaGVpZ2h0OiAycHg7Ki8tLT5cclxuXHRcdDwhLS0vKmJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDFweDsqLy0tPlxyXG5cdFx0PCEtLS8qYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMXB4OyovLS0+XHJcblx0XHQ8IS0tLypiYWNrZ3JvdW5kOiAjOTk5OyovLS0+XHJcblx0XHQ8IS0tLypwb3NpdGlvbjogYWJzb2x1dGU7Ki8tLT5cclxuXHRcdDwhLS0vKm9wYWNpdHk6IC4yOyovLS0+XHJcblx0XHQ8IS0tLyp0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7Ki8tLT5cclxuXHRcdDwhLS0vKmFuaW1hdGlvbjogbG9hZCAxLjU2cyBlYXNlIGluZmluaXRlKi8tLT5cclxuXHQ8IS0tLyp9Ki8tLT5cclxuXHJcblx0PCEtLS51bmktbG9hZC1tb3JlX19pbWc+dmlldyB2aWV3Om50aC1jaGlsZCgxKSB7LS0+XHJcblx0XHQ8IS0tdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOy0tPlxyXG5cdFx0PCEtLXRvcDogMnB4Oy0tPlxyXG5cdFx0PCEtLWxlZnQ6IDlweC0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS0udW5pLWxvYWQtbW9yZV9faW1nPnZpZXcgdmlldzpudGgtY2hpbGQoMikgey0tPlxyXG5cdFx0PCEtLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7LS0+XHJcblx0XHQ8IS0tdG9wOiAycHg7LS0+XHJcblx0XHQ8IS0tcmlnaHQ6IDAtLT5cclxuXHQ8IS0tfS0tPlxyXG5cclxuXHQ8IS0tLnVuaS1sb2FkLW1vcmVfX2ltZz52aWV3IHZpZXc6bnRoLWNoaWxkKDMpIHstLT5cclxuXHRcdDwhLS10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOy0tPlxyXG5cdFx0PCEtLWJvdHRvbTogMnB4Oy0tPlxyXG5cdFx0PCEtLWxlZnQ6IDlweC0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS0udW5pLWxvYWQtbW9yZV9faW1nPnZpZXcgdmlldzpudGgtY2hpbGQoNCkgey0tPlxyXG5cdFx0PCEtLXRvcDogMnB4Oy0tPlxyXG5cdFx0PCEtLWxlZnQ6IDAtLT5cclxuXHQ8IS0tfS0tPlxyXG5cclxuXHQ8IS0tLmxvYWQxLC0tPlxyXG5cdDwhLS0ubG9hZDIsLS0+XHJcblx0PCEtLS5sb2FkMyB7LS0+XHJcblx0XHQ8IS0taGVpZ2h0OiAyNHB4Oy0tPlxyXG5cdFx0PCEtLXdpZHRoOiAyNHB4LS0+XHJcblx0PCEtLX0tLT5cclxuXHJcblx0PCEtLS5sb2FkMiB7LS0+XHJcblx0XHQ8IS0tdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpLS0+XHJcblx0PCEtLX0tLT5cclxuXHJcblx0PCEtLS5sb2FkMyB7LS0+XHJcblx0XHQ8IS0tdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpLS0+XHJcblx0PCEtLX0tLT5cclxuXHJcblx0PCEtLS5sb2FkMSB2aWV3Om50aC1jaGlsZCgxKSB7LS0+XHJcblx0XHQ8IS0tYW5pbWF0aW9uLWRlbGF5OiAwcy0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS0ubG9hZDIgdmlldzpudGgtY2hpbGQoMSkgey0tPlxyXG5cdFx0PCEtLWFuaW1hdGlvbi1kZWxheTogLjEzcy0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS0ubG9hZDMgdmlldzpudGgtY2hpbGQoMSkgey0tPlxyXG5cdFx0PCEtLWFuaW1hdGlvbi1kZWxheTogLjI2cy0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS0ubG9hZDEgdmlldzpudGgtY2hpbGQoMikgey0tPlxyXG5cdFx0PCEtLWFuaW1hdGlvbi1kZWxheTogLjM5cy0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS0ubG9hZDIgdmlldzpudGgtY2hpbGQoMikgey0tPlxyXG5cdFx0PCEtLWFuaW1hdGlvbi1kZWxheTogLjUycy0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS0ubG9hZDMgdmlldzpudGgtY2hpbGQoMikgey0tPlxyXG5cdFx0PCEtLWFuaW1hdGlvbi1kZWxheTogLjY1cy0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS0ubG9hZDEgdmlldzpudGgtY2hpbGQoMykgey0tPlxyXG5cdFx0PCEtLWFuaW1hdGlvbi1kZWxheTogLjc4cy0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS0ubG9hZDIgdmlldzpudGgtY2hpbGQoMykgey0tPlxyXG5cdFx0PCEtLWFuaW1hdGlvbi1kZWxheTogLjkxcy0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS0ubG9hZDMgdmlldzpudGgtY2hpbGQoMykgey0tPlxyXG5cdFx0PCEtLWFuaW1hdGlvbi1kZWxheTogMS4wNHMtLT5cclxuXHQ8IS0tfS0tPlxyXG5cclxuXHQ8IS0tLmxvYWQxIHZpZXc6bnRoLWNoaWxkKDQpIHstLT5cclxuXHRcdDwhLS1hbmltYXRpb24tZGVsYXk6IDEuMTdzLS0+XHJcblx0PCEtLX0tLT5cclxuXHJcblx0PCEtLS5sb2FkMiB2aWV3Om50aC1jaGlsZCg0KSB7LS0+XHJcblx0XHQ8IS0tYW5pbWF0aW9uLWRlbGF5OiAxLjNzLS0+XHJcblx0PCEtLX0tLT5cclxuXHJcblx0PCEtLS5sb2FkMyB2aWV3Om50aC1jaGlsZCg0KSB7LS0+XHJcblx0XHQ8IS0tYW5pbWF0aW9uLWRlbGF5OiAxLjQzcy0tPlxyXG5cdDwhLS19LS0+XHJcblxyXG5cdDwhLS1ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZCB7LS0+XHJcblx0XHQ8IS0tMCUgey0tPlxyXG5cdFx0XHQ8IS0tb3BhY2l0eTogMS0tPlxyXG5cdFx0PCEtLX0tLT5cclxuXHJcblx0XHQ8IS0tMTAwJSB7LS0+XHJcblx0XHRcdDwhLS1vcGFjaXR5OiAuMi0tPlxyXG5cdFx0PCEtLX0tLT5cclxuXHQ8IS0tfS0tPlxyXG48IS0tPC9zdHlsZT4tLT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///117\n");
/***/ }),
/* 118 */
/*!********************************************************!*\
!*** E:/2023/8/MT_APP/static/js/message/emoji_data.js ***!
\********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = {\n emoji_list: [[{\n \"url\": \"100.gif\",\n \"alt\": \"[微笑]\"\n }, {\n \"url\": \"101.gif\",\n \"alt\": \"[伤心]\"\n }, {\n \"url\": \"102.gif\",\n \"alt\": \"[美女]\"\n }, {\n \"url\": \"103.gif\",\n \"alt\": \"[发呆]\"\n }, {\n \"url\": \"104.gif\",\n \"alt\": \"[墨镜]\"\n }, {\n \"url\": \"105.gif\",\n \"alt\": \"[哭]\"\n }, {\n \"url\": \"106.gif\",\n \"alt\": \"[羞]\"\n }, {\n \"url\": \"107.gif\",\n \"alt\": \"[哑]\"\n }, {\n \"url\": \"108.gif\",\n \"alt\": \"[睡]\"\n }, {\n \"url\": \"109.gif\",\n \"alt\": \"[哭]\"\n }, {\n \"url\": \"110.gif\",\n \"alt\": \"[囧]\"\n }, {\n \"url\": \"111.gif\",\n \"alt\": \"[怒]\"\n }, {\n \"url\": \"112.gif\",\n \"alt\": \"[调皮]\"\n }, {\n \"url\": \"113.gif\",\n \"alt\": \"[笑]\"\n }, {\n \"url\": \"114.gif\",\n \"alt\": \"[惊讶]\"\n }, {\n \"url\": \"115.gif\",\n \"alt\": \"[难过]\"\n }, {\n \"url\": \"116.gif\",\n \"alt\": \"[酷]\"\n }, {\n \"url\": \"117.gif\",\n \"alt\": \"[汗]\"\n }, {\n \"url\": \"118.gif\",\n \"alt\": \"[抓狂]\"\n }, {\n \"url\": \"119.gif\",\n \"alt\": \"[吐]\"\n }, {\n \"url\": \"120.gif\",\n \"alt\": \"[笑]\"\n }, {\n \"url\": \"121.gif\",\n \"alt\": \"[快乐]\"\n }, {\n \"url\": \"122.gif\",\n \"alt\": \"[奇]\"\n }, {\n \"url\": \"123.gif\",\n \"alt\": \"[傲]\"\n }], [{\n \"url\": \"124.gif\",\n \"alt\": \"[饿]\"\n }, {\n \"url\": \"125.gif\",\n \"alt\": \"[累]\"\n }, {\n \"url\": \"126.gif\",\n \"alt\": \"[吓]\"\n }, {\n \"url\": \"127.gif\",\n \"alt\": \"[汗]\"\n }, {\n \"url\": \"128.gif\",\n \"alt\": \"[高兴]\"\n }, {\n \"url\": \"129.gif\",\n \"alt\": \"[闲]\"\n }, {\n \"url\": \"130.gif\",\n \"alt\": \"[努力]\"\n }, {\n \"url\": \"131.gif\",\n \"alt\": \"[骂]\"\n }, {\n \"url\": \"132.gif\",\n \"alt\": \"[疑问]\"\n }, {\n \"url\": \"133.gif\",\n \"alt\": \"[秘密]\"\n }, {\n \"url\": \"134.gif\",\n \"alt\": \"[乱]\"\n }, {\n \"url\": \"135.gif\",\n \"alt\": \"[疯]\"\n }, {\n \"url\": \"136.gif\",\n \"alt\": \"[哀]\"\n }, {\n \"url\": \"137.gif\",\n \"alt\": \"[鬼]\"\n }, {\n \"url\": \"138.gif\",\n \"alt\": \"[打击]\"\n }, {\n \"url\": \"139.gif\",\n \"alt\": \"[bye]\"\n }, {\n \"url\": \"140.gif\",\n \"alt\": \"[汗]\"\n }, {\n \"url\": \"141.gif\",\n \"alt\": \"[抠]\"\n }, {\n \"url\": \"142.gif\",\n \"alt\": \"[鼓掌]\"\n }, {\n \"url\": \"143.gif\",\n \"alt\": \"[糟糕]\"\n }, {\n \"url\": \"144.gif\",\n \"alt\": \"[恶搞]\"\n }, {\n \"url\": \"145.gif\",\n \"alt\": \"[什么]\"\n }, {\n \"url\": \"146.gif\",\n \"alt\": \"[什么]\"\n }, {\n \"url\": \"147.gif\",\n \"alt\": \"[累]\"\n }], [{\n \"url\": \"148.gif\",\n \"alt\": \"[看]\"\n }, {\n \"url\": \"149.gif\",\n \"alt\": \"[难过]\"\n }, {\n \"url\": \"150.gif\",\n \"alt\": \"[难过]\"\n }, {\n \"url\": \"151.gif\",\n \"alt\": \"[坏]\"\n }, {\n \"url\": \"152.gif\",\n \"alt\": \"[亲]\"\n }, {\n \"url\": \"153.gif\",\n \"alt\": \"[吓]\"\n }, {\n \"url\": \"154.gif\",\n \"alt\": \"[可怜]\"\n }, {\n \"url\": \"155.gif\",\n \"alt\": \"[刀]\"\n }, {\n \"url\": \"156.gif\",\n \"alt\": \"[水果]\"\n }, {\n \"url\": \"157.gif\",\n \"alt\": \"[酒]\"\n }, {\n \"url\": \"158.gif\",\n \"alt\": \"[篮球]\"\n }, {\n \"url\": \"159.gif\",\n \"alt\": \"[乒乓]\"\n }, {\n \"url\": \"160.gif\",\n \"alt\": \"[咖啡]\"\n }, {\n \"url\": \"161.gif\",\n \"alt\": \"[美食]\"\n }, {\n \"url\": \"162.gif\",\n \"alt\": \"[动物]\"\n }, {\n \"url\": \"163.gif\",\n \"alt\": \"[鲜花]\"\n }, {\n \"url\": \"164.gif\",\n \"alt\": \"[枯]\"\n }, {\n \"url\": \"165.gif\",\n \"alt\": \"[唇]\"\n }, {\n \"url\": \"166.gif\",\n \"alt\": \"[爱]\"\n }, {\n \"url\": \"167.gif\",\n \"alt\": \"[分手]\"\n }, {\n \"url\": \"168.gif\",\n \"alt\": \"[生日]\"\n }, {\n \"url\": \"169.gif\",\n \"alt\": \"[电]\"\n }, {\n \"url\": \"170.gif\",\n \"alt\": \"[炸弹]\"\n }, {\n \"url\": \"171.gif\",\n \"alt\": \"[刀子]\"\n }], [{\n \"url\": \"172.gif\",\n \"alt\": \"[足球]\"\n }, {\n \"url\": \"173.gif\",\n \"alt\": \"[瓢虫]\"\n }, {\n \"url\": \"174.gif\",\n \"alt\": \"[翔]\"\n }, {\n \"url\": \"175.gif\",\n \"alt\": \"[月亮]\"\n }, {\n \"url\": \"176.gif\",\n \"alt\": \"[太阳]\"\n }, {\n \"url\": \"177.gif\",\n \"alt\": \"[礼物]\"\n }, {\n \"url\": \"178.gif\",\n \"alt\": \"[抱抱]\"\n }, {\n \"url\": \"179.gif\",\n \"alt\": \"[拇指]\"\n }, {\n \"url\": \"180.gif\",\n \"alt\": \"[贬低]\"\n }, {\n \"url\": \"181.gif\",\n \"alt\": \"[握手]\"\n }, {\n \"url\": \"182.gif\",\n \"alt\": \"[剪刀手]\"\n }, {\n \"url\": \"183.gif\",\n \"alt\": \"[抱拳]\"\n }, {\n \"url\": \"184.gif\",\n \"alt\": \"[勾引]\"\n }, {\n \"url\": \"185.gif\",\n \"alt\": \"[拳头]\"\n }, {\n \"url\": \"186.gif\",\n \"alt\": \"[小拇指]\"\n }, {\n \"url\": \"187.gif\",\n \"alt\": \"[拇指八]\"\n }, {\n \"url\": \"188.gif\",\n \"alt\": \"[食指]\"\n }, {\n \"url\": \"189.gif\",\n \"alt\": \"[ok]\"\n }, {\n \"url\": \"190.gif\",\n \"alt\": \"[情侣]\"\n }, {\n \"url\": \"191.gif\",\n \"alt\": \"[爱心]\"\n }, {\n \"url\": \"192.gif\",\n \"alt\": \"[蹦哒]\"\n }, {\n \"url\": \"193.gif\",\n \"alt\": \"[颤抖]\"\n }, {\n \"url\": \"194.gif\",\n \"alt\": \"[怄气]\"\n }, {\n \"url\": \"195.gif\",\n \"alt\": \"[跳舞]\"\n }], [{\n \"url\": \"196.gif\",\n \"alt\": \"[发呆]\"\n }, {\n \"url\": \"197.gif\",\n \"alt\": \"[背着]\"\n }, {\n \"url\": \"198.gif\",\n \"alt\": \"[伸手]\"\n }, {\n \"url\": \"199.gif\",\n \"alt\": \"[耍帅]\"\n }, {\n \"url\": \"200.png\",\n \"alt\": \"[微笑]\"\n }, {\n \"url\": \"201.png\",\n \"alt\": \"[生病]\"\n }, {\n \"url\": \"202.png\",\n \"alt\": \"[哭泣]\"\n }, {\n \"url\": \"203.png\",\n \"alt\": \"[吐舌]\"\n }, {\n \"url\": \"204.png\",\n \"alt\": \"[迷糊]\"\n }, {\n \"url\": \"205.png\",\n \"alt\": \"[瞪眼]\"\n }, {\n \"url\": \"206.png\",\n \"alt\": \"[恐怖]\"\n }, {\n \"url\": \"207.png\",\n \"alt\": \"[忧愁]\"\n }, {\n \"url\": \"208.png\",\n \"alt\": \"[眨眉]\"\n }, {\n \"url\": \"209.png\",\n \"alt\": \"[闭眼]\"\n }, {\n \"url\": \"210.png\",\n \"alt\": \"[鄙视]\"\n }, {\n \"url\": \"211.png\",\n \"alt\": \"[阴暗]\"\n }, {\n \"url\": \"212.png\",\n \"alt\": \"[小鬼]\"\n }, {\n \"url\": \"213.png\",\n \"alt\": \"[礼物]\"\n }, {\n \"url\": \"214.png\",\n \"alt\": \"[拜佛]\"\n }, {\n \"url\": \"215.png\",\n \"alt\": \"[力量]\"\n }, {\n \"url\": \"216.png\",\n \"alt\": \"[金钱]\"\n }, {\n \"url\": \"217.png\",\n \"alt\": \"[蛋糕]\"\n }, {\n \"url\": \"218.png\",\n \"alt\": \"[彩带]\"\n }, {\n \"url\": \"219.png\",\n \"alt\": \"[礼物]\"\n }, {\n 'url': '220.gif',\n \"alt\": \"[戳一戳]\"\n }]],\n online_emoji: {\n \"100.gif\": \"AbNQgA.gif\",\n \"101.gif\": \"AbN3ut.gif\",\n \"102.gif\": \"AbNM3d.gif\",\n \"103.gif\": \"AbN8DP.gif\",\n \"104.gif\": \"AbNljI.gif\",\n \"105.gif\": \"AbNtUS.gif\",\n \"106.gif\": \"AbNGHf.gif\",\n \"107.gif\": \"AbNYE8.gif\",\n \"108.gif\": \"AbNaCQ.gif\",\n \"109.gif\": \"AbNN4g.gif\",\n \"110.gif\": \"AbN0vn.gif\",\n \"111.gif\": \"AbNd3j.gif\",\n \"112.gif\": \"AbNsbV.gif\",\n \"113.gif\": \"AbNwgs.gif\",\n \"114.gif\": \"AbNrD0.gif\",\n \"115.gif\": \"AbNDuq.gif\",\n \"116.gif\": \"AbNg5F.gif\",\n \"117.gif\": \"AbN6ET.gif\",\n \"118.gif\": \"AbNcUU.gif\",\n \"119.gif\": \"AbNRC4.gif\",\n \"120.gif\": \"AbNhvR.gif\",\n \"121.gif\": \"AbNf29.gif\",\n \"122.gif\": \"AbNW8J.gif\",\n \"123.gif\": \"AbNob6.gif\",\n \"124.gif\": \"AbN5K1.gif\",\n \"125.gif\": \"AbNHUO.gif\",\n \"126.gif\": \"AbNIDx.gif\",\n \"127.gif\": \"AbN7VK.gif\",\n \"128.gif\": \"AbNb5D.gif\",\n \"129.gif\": \"AbNX2d.gif\",\n \"130.gif\": \"AbNLPe.gif\",\n \"131.gif\": \"AbNjxA.gif\",\n \"132.gif\": \"AbNO8H.gif\",\n \"133.gif\": \"AbNxKI.gif\",\n \"134.gif\": \"AbNzrt.gif\",\n \"135.gif\": \"AbU9Vf.gif\",\n \"136.gif\": \"AbUSqP.gif\",\n \"137.gif\": \"AbUCa8.gif\",\n \"138.gif\": \"AbUkGQ.gif\",\n \"139.gif\": \"AbUFPg.gif\",\n \"140.gif\": \"AbUPIS.gif\",\n \"141.gif\": \"AbUZMn.gif\",\n \"142.gif\": \"AbUExs.gif\",\n \"143.gif\": \"AbUA2j.gif\",\n \"144.gif\": \"AbUMIU.gif\",\n \"145.gif\": \"AbUerq.gif\",\n \"146.gif\": \"AbUKaT.gif\",\n \"147.gif\": \"AbUmq0.gif\",\n \"148.gif\": \"AbUuZV.gif\",\n \"149.gif\": \"AbUliF.gif\",\n \"150.gif\": \"AbU1G4.gif\",\n \"151.gif\": \"AbU8z9.gif\",\n \"152.gif\": \"AbU3RJ.gif\",\n \"153.gif\": \"AbUYs1.gif\",\n \"154.gif\": \"AbUJMR.gif\",\n \"155.gif\": \"AbUadK.gif\",\n \"156.gif\": \"AbUtqx.gif\",\n \"157.gif\": \"AbUUZ6.gif\",\n \"158.gif\": \"AbUBJe.gif\",\n \"159.gif\": \"AbUdIO.gif\",\n \"160.gif\": \"AbU0iD.gif\",\n \"161.gif\": \"AbUrzd.gif\",\n \"162.gif\": \"AbUDRH.gif\",\n \"163.gif\": \"AbUyQA.gif\",\n \"164.gif\": \"AbUWo8.gif\",\n \"165.gif\": \"AbU6sI.gif\",\n \"166.gif\": \"AbU2eP.gif\",\n \"167.gif\": \"AbUcLt.gif\",\n \"168.gif\": \"AbU4Jg.gif\",\n \"169.gif\": \"AbURdf.gif\",\n \"170.gif\": \"AbUhFS.gif\",\n \"171.gif\": \"AbU5WQ.gif\",\n \"172.gif\": \"AbULwV.gif\",\n \"173.gif\": \"AbUIzj.gif\",\n \"174.gif\": \"AbUTQs.gif\",\n \"175.gif\": \"AbU7yn.gif\",\n \"176.gif\": \"AbUqe0.gif\",\n \"177.gif\": \"AbUHLq.gif\",\n \"178.gif\": \"AbUOoT.gif\",\n \"179.gif\": \"AbUvYF.gif\",\n \"180.gif\": \"AbUjFU.gif\",\n \"181.gif\": \"AbaSSJ.gif\",\n \"182.gif\": \"AbUxW4.gif\",\n \"183.gif\": \"AbaCO1.gif\",\n \"184.gif\": \"Abapl9.gif\",\n \"185.gif\": \"Aba9yR.gif\",\n \"186.gif\": \"AbaFw6.gif\",\n \"187.gif\": \"Abaiex.gif\",\n \"188.gif\": \"AbakTK.gif\",\n \"189.gif\": \"AbaZfe.png\",\n \"190.gif\": \"AbaEFO.gif\",\n \"191.gif\": \"AbaVYD.gif\",\n \"192.gif\": \"AbamSH.gif\",\n \"193.gif\": \"AbaKOI.gif\",\n \"194.gif\": \"Abanld.gif\",\n \"195.gif\": \"Abau6A.gif\",\n \"196.gif\": \"AbaQmt.gif\",\n \"197.gif\": \"Abal0P.gif\",\n \"198.gif\": \"AbatpQ.gif\",\n \"199.gif\": \"Aba1Tf.gif\",\n \"200.png\": \"Aba8k8.png\",\n \"201.png\": \"AbaGtS.png\",\n \"202.png\": \"AbaJfg.png\",\n \"203.png\": \"AbaNlj.png\",\n \"204.png\": \"Abawmq.png\",\n \"205.png\": \"AbaU6s.png\",\n \"206.png\": \"AbaaXn.png\",\n \"207.png\": \"Aba000.png\",\n \"208.png\": \"AbarkT.png\",\n \"209.png\": \"AbastU.png\",\n \"210.png\": \"AbaB7V.png\",\n \"211.png\": \"Abafn1.png\",\n \"212.png\": \"Abacp4.png\",\n \"213.png\": \"AbayhF.png\",\n \"214.png\": \"Abag1J.png\",\n \"215.png\": \"Aba2c9.png\",\n \"216.png\": \"AbaRXR.png\",\n \"217.png\": \"Aba476.png\",\n \"218.png\": \"Abah0x.png\",\n \"219.png\": \"Abdg58.png\"\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RhdGljL2pzL21lc3NhZ2UvZW1vamlfZGF0YS5qcyJdLCJuYW1lcyI6WyJlbW9qaV9saXN0Iiwib25saW5lX2Vtb2ppIl0sIm1hcHBpbmdzIjoiOzs7Ozs7ZUFBZTtFQUNkQSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBSyxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBSyxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBSyxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBSyxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBSyxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBSyxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU8sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBSyxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsQ0FBQyxFQUFDLENBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBSyxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBSyxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFLLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLENBQUMsRUFBQyxDQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQUssQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFPLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU8sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTyxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxDQUFDLEVBQUMsQ0FBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU0sQ0FBQyxFQUFDO0lBQUMsS0FBSyxFQUFDLFNBQVM7SUFBQyxLQUFLLEVBQUM7RUFBTSxDQUFDLEVBQUM7SUFBQyxLQUFLLEVBQUMsU0FBUztJQUFDLEtBQUssRUFBQztFQUFNLENBQUMsRUFBQztJQUFDLEtBQUssRUFBQyxTQUFTO0lBQUMsS0FBSyxFQUFDO0VBQU8sQ0FBQyxDQUFDLENBQUM7RUFFN3BIQyxZQUFZLEVBQUU7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDLFlBQVk7SUFBQyxTQUFTLEVBQUMsWUFBWTtJQUFDLFNBQVMsRUFBQyxZQUFZO0lBQUMsU0FBUyxFQUFDO0VBQVk7QUFHdnRGLENBQUM7QUFBQSIsImZpbGUiOiIxMTguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XHJcblx0ZW1vamlfbGlzdDogW1t7XCJ1cmxcIjpcIjEwMC5naWZcIixcImFsdFwiOlwiW+W+rueskV1cIn0se1widXJsXCI6XCIxMDEuZ2lmXCIsXCJhbHRcIjpcIlvkvKTlv4NdXCJ9LHtcInVybFwiOlwiMTAyLmdpZlwiLFwiYWx0XCI6XCJb576O5aWzXVwifSx7XCJ1cmxcIjpcIjEwMy5naWZcIixcImFsdFwiOlwiW+WPkeWRhl1cIn0se1widXJsXCI6XCIxMDQuZ2lmXCIsXCJhbHRcIjpcIlvloqjplZxdXCJ9LHtcInVybFwiOlwiMTA1LmdpZlwiLFwiYWx0XCI6XCJb5ZOtXVwifSx7XCJ1cmxcIjpcIjEwNi5naWZcIixcImFsdFwiOlwiW+e+nl1cIn0se1widXJsXCI6XCIxMDcuZ2lmXCIsXCJhbHRcIjpcIlvlk5FdXCJ9LHtcInVybFwiOlwiMTA4LmdpZlwiLFwiYWx0XCI6XCJb552hXVwifSx7XCJ1cmxcIjpcIjEwOS5naWZcIixcImFsdFwiOlwiW+WTrV1cIn0se1widXJsXCI6XCIxMTAuZ2lmXCIsXCJhbHRcIjpcIlvlm6ddXCJ9LHtcInVybFwiOlwiMTExLmdpZlwiLFwiYWx0XCI6XCJb5oCSXVwifSx7XCJ1cmxcIjpcIjExMi5naWZcIixcImFsdFwiOlwiW+iwg+earl1cIn0se1widXJsXCI6XCIxMTMuZ2lmXCIsXCJhbHRcIjpcIlvnrJFdXCJ9LHtcInVybFwiOlwiMTE0LmdpZlwiLFwiYWx0XCI6XCJb5oOK6K62XVwifSx7XCJ1cmxcIjpcIjExNS5naWZcIixcImFsdFwiOlwiW+mavui/h11cIn0se1widXJsXCI6XCIxMTYuZ2lmXCIsXCJhbHRcIjpcIlvphbddXCJ9LHtcInVybFwiOlwiMTE3LmdpZlwiLFwiYWx0XCI6XCJb5rGXXVwifSx7XCJ1cmxcIjpcIjExOC5naWZcIixcImFsdFwiOlwiW+aKk+eLgl1cIn0se1widXJsXCI6XCIxMTkuZ2lmXCIsXCJhbHRcIjpcIlvlkJBdXCJ9LHtcInVybFwiOlwiMTIwLmdpZlwiLFwiYWx0XCI6XCJb56yRXVwifSx7XCJ1cmxcIjpcIjEyMS5naWZcIixcImFsdFwiOlwiW+W/q+S5kF1cIn0se1widXJsXCI6XCIxMjIuZ2lmXCIsXCJhbHRcIjpcIlvlpYddXCJ9LHtcInVybFwiOlwiMTIzLmdpZlwiLFwiYWx0XCI6XCJb5YKyXVwifV0sW3tcInVybFwiOlwiMTI0LmdpZlwiLFwiYWx0XCI6XCJb6aW/XVwifSx7XCJ1cmxcIjpcIjEyNS5naWZcIixcImFsdFwiOlwiW+e0r11cIn0se1widXJsXCI6XCIxMjYuZ2lmXCIsXCJhbHRcIjpcIlvlkJNdXCJ9LHtcInVybFwiOlwiMTI3LmdpZlwiLFwiYWx0XCI6XCJb5rGXXVwifSx7XCJ1cmxcIjpcIjEyOC5naWZcIixcImFsdFwiOlwiW+mrmOWFtF1cIn0se1widXJsXCI6XCIxMjkuZ2lmXCIsXCJhbHRcIjpcIlvpl7JdXCJ9LHtcInVybFwiOlwiMTMwLmdpZlwiLFwiYWx0XCI6XCJb5Yqq5YqbXVwifSx7XCJ1cmxcIjpcIjEzMS5naWZcIixcImFsdFwiOlwiW+mqgl1cIn0se1widXJsXCI6XCIxMzIuZ2lmXCIsXCJhbHRcIjpcIlvnlpHpl65dXCJ9LHtcInVybFwiOlwiMTMzLmdpZlwiLFwiYWx0XCI6XCJb56eY5a+GXVwifSx7XCJ1cmxcIjpcIjEzNC5naWZcIixcImFsdFwiOlwiW+S5sV1cIn0se1widXJsXCI6XCIxMzUuZ2lmXCIsXCJhbHRcIjpcIlvnlq9dXCJ9LHtcInVybFwiOlwiMTM2LmdpZlwiLFwiYWx0XCI6XCJb5ZOAXVwifSx7XCJ1cmxcIjpcIjEzNy5naWZcIixcImFsdFwiOlwiW+msvF1cIn0se1widXJsXCI6XCIxMzguZ2lmXCIsXCJhbHRcIjpcIlvmiZPlh7tdXCJ9LHtcInVybFwiOlwiMTM5LmdpZlwiLFwiYWx0XCI6XCJbYnllXVwifSx7XCJ1cmxcIjpcIjE0MC5naWZcIixcImFsdFwiOlwiW+axl11cIn0se1widXJsXCI6XCIxNDEuZ2lmXCIsXCJhbHRcIjpcIlvmiqBdXCJ9LHtcInVybFwiOlwiMTQyLmdpZlwiLFwiYWx0XCI6XCJb6byT5o6MXVwifSx7XCJ1cmxcIjpcIjE0My5naWZcIixcImFsdFwiOlwiW+ezn+ezlV1cIn0se1widXJsXCI6XCIxNDQuZ2lmXCIsXCJhbHRcIjpcIlvmgbbmkJ5dXCJ9LHtcInVybFwiOlwiMTQ1LmdpZlwiLFwiYWx0XCI6XCJb5LuA5LmIXVwifSx7XCJ1cmxcIjpcIjE0Ni5naWZcIixcImFsdFwiOlwiW+S7gOS5iF1cIn0se1widXJsXCI6XCIxNDcuZ2lmXCIsXCJhbHRcIjpcIlvntK9dXCJ9XSxbe1widXJsXCI6XCIxNDguZ2lmXCIsXCJhbHRcIjpcIlvnnItdXCJ9LHtcInVybFwiOlwiMTQ5LmdpZlwiLFwiYWx0XCI6XCJb6Zq+6L+HXVwifSx7XCJ1cmxcIjpcIjE1MC5naWZcIixcImFsdFwiOlwiW+mavui/h11cIn0se1widXJsXCI6XCIxNTEuZ2lmXCIsXCJhbHRcIjpcIlvlnY9dXCJ9LHtcInVybFwiOlwiMTUyLmdpZlwiLFwiYWx0XCI6XCJb5LqyXVwifSx7XCJ1cmxcIjpcIjE1My5naWZcIixcImFsdFwiOlwiW+WQk11cIn0se1widXJsXCI6XCIxNTQuZ2lmXCIsXCJhbHRcIjpcIlvlj6/mgJxdXCJ9LHtcInVybFwiOlwiMTU1LmdpZlwiLFwiYWx0XCI6XCJb5YiAXVwifSx7XCJ1cmxcIjpcIjE1Ni5naWZcIixcImFsdFwiOlwiW+awtOaenF1cIn0se1widXJsXCI6XCIxNTcuZ2lmXCIsXCJhbHRcIjpcIlvphZJdXCJ9LHtcInVybFwiOlwiMTU4LmdpZlwiLFwiYWx0XCI6XCJb56+u55CDXVwifSx7XCJ1cmxcIjpcIjE1OS5naWZcIixcImFsdFwiOlwiW+S5kuS5k11cIn0se1widXJsXCI6XCIxNjAuZ2lmXCIsXCJhbHRcIjpcIlvlkpbllaFdXCJ9LHtcInVybFwiOlwiMTYxLmdpZlwiLFwiYWx0XCI6XCJb576O6aOfXVwifSx7XCJ1cmxcIjpcIjE2Mi5naWZcIixcImFsdFwiOlwiW+WKqOeJqV1cIn0se1widXJsXCI6XCIxNjMuZ2lmXCIsXCJhbHRcIjpcIlvpspzoirFdXCJ9LHtcInVybFwiOlwiMTY0LmdpZlwiLFwiYWx0XCI6XCJb5p6vXVwifSx7XCJ1cmxcIjpcIjE2NS5naWZcIixcImFsdFwiOlwiW+WUh11cIn0se1widXJsXCI6XCIxNjYuZ2lmXCIsXCJhbHRcIjpcIlvniLFdXCJ9LHtcInVybFwiOlwiMTY3LmdpZlwiLFwiYWx0XCI6XCJb5YiG5omLXVwifSx7XCJ1cmxcIjpcIjE2OC5naWZcIixcImFsdFwiOlwiW+eUn+aXpV1cIn0se1widXJsXCI6XCIxNjkuZ2lmXCIsXCJhbHRcIjpcIlvnlLVdXCJ9LHtcInVybFwiOlwiMTcwLmdpZlwiLFwiYWx0XCI6XCJb54K45by5XVwifSx7XCJ1cmxcIjpcIjE3MS5naWZcIixcImFsdFwiOlwiW+WIgOWtkF1cIn1dLFt7XCJ1cmxcIjpcIjE3Mi5naWZcIixcImFsdFwiOlwiW+i2s+eQg11cIn0se1widXJsXCI6XCIxNzMuZ2lmXCIsXCJhbHRcIjpcIlvnk6LomatdXCJ9LHtcInVybFwiOlwiMTc0LmdpZlwiLFwiYWx0XCI6XCJb57+UXVwifSx7XCJ1cmxcIjpcIjE3NS5naWZcIixcImFsdFwiOlwiW+aciOS6rl1cIn0se1widXJsXCI6XCIxNzYuZ2lmXCIsXCJhbHRcIjpcIlvlpKrpmLNdXCJ9LHtcInVybFwiOlwiMTc3LmdpZlwiLFwiYWx0XCI6XCJb56S854mpXVwifSx7XCJ1cmxcIjpcIjE3OC5naWZcIixcImFsdFwiOlwiW+aKseaKsV1cIn0se1widXJsXCI6XCIxNzkuZ2lmXCIsXCJhbHRcIjpcIlvmi4fmjIddXCJ9LHtcInVybFwiOlwiMTgwLmdpZlwiLFwiYWx0XCI6XCJb6LSs5L2OXVwifSx7XCJ1cmxcIjpcIjE4MS5naWZcIixcImFsdFwiOlwiW+aPoeaJi11cIn0se1widXJsXCI6XCIxODIuZ2lmXCIsXCJhbHRcIjpcIlvliarliIDmiYtdXCJ9LHtcInVybFwiOlwiMTgzLmdpZlwiLFwiYWx0XCI6XCJb5oqx5ouzXVwifSx7XCJ1cmxcIjpcIjE4NC5naWZcIixcImFsdFwiOlwiW+WLvuW8lV1cIn0se1widXJsXCI6XCIxODUuZ2lmXCIsXCJhbHRcIjpcIlvmi7PlpLRdXCJ9LHtcInVybFwiOlwiMTg2LmdpZlwiLFwiYWx0XCI6XCJb5bCP5ouH5oyHXVwifSx7XCJ1cmxcIjpcIjE4Ny5naWZcIixcImFsdFwiOlwiW+aLh+aMh+WFq11cIn0se1widXJsXCI6XCIxODguZ2lmXCIsXCJhbHRcIjpcIlvpo5/mjIddXCJ9LHtcInVybFwiOlwiMTg5LmdpZlwiLFwiYWx0XCI6XCJbb2tdXCJ9LHtcInVybFwiOlwiMTkwLmdpZlwiLFwiYWx0XCI6XCJb5oOF5L6jXVwifSx7XCJ1cmxcIjpcIjE5MS5naWZcIixcImFsdFwiOlwiW+eIseW/g11cIn0se1widXJsXCI6XCIxOTIuZ2lmXCIsXCJhbHRcIjpcIlvouablk5JdXCJ9LHtcInVybFwiOlwiMTkzLmdpZlwiLFwiYWx0XCI6XCJb6aKk5oqWXVwifSx7XCJ1cmxcIjpcIjE5NC5naWZcIixcImFsdFwiOlwiW+aAhOawlF1cIn0se1widXJsXCI6XCIxOTUuZ2lmXCIsXCJhbHRcIjpcIlvot7PoiJ5dXCJ9XSxbe1widXJsXCI6XCIxOTYuZ2lmXCIsXCJhbHRcIjpcIlvlj5HlkYZdXCJ9LHtcInVybFwiOlwiMTk3LmdpZlwiLFwiYWx0XCI6XCJb6IOM552AXVwifSx7XCJ1cmxcIjpcIjE5OC5naWZcIixcImFsdFwiOlwiW+S8uOaJi11cIn0se1widXJsXCI6XCIxOTkuZ2lmXCIsXCJhbHRcIjpcIlvogI3luIVdXCJ9LHtcInVybFwiOlwiMjAwLnBuZ1wiLFwiYWx0XCI6XCJb5b6u56yRXVwifSx7XCJ1cmxcIjpcIjIwMS5wbmdcIixcImFsdFwiOlwiW+eUn+eXhV1cIn0se1widXJsXCI6XCIyMDIucG5nXCIsXCJhbHRcIjpcIlvlk63ms6NdXCJ9LHtcInVybFwiOlwiMjAzLnBuZ1wiLFwiYWx0XCI6XCJb5ZCQ6IiMXVwifSx7XCJ1cmxcIjpcIjIwNC5wbmdcIixcImFsdFwiOlwiW+i/t+ezil1cIn0se1widXJsXCI6XCIyMDUucG5nXCIsXCJhbHRcIjpcIlvnnqrnnLxdXCJ9LHtcInVybFwiOlwiMjA2LnBuZ1wiLFwiYWx0XCI6XCJb5oGQ5oCWXVwifSx7XCJ1cmxcIjpcIjIwNy5wbmdcIixcImFsdFwiOlwiW+W/p+aEgV1cIn0se1widXJsXCI6XCIyMDgucG5nXCIsXCJhbHRcIjpcIlvnnKjnnIldXCJ9LHtcInVybFwiOlwiMjA5LnBuZ1wiLFwiYWx0XCI6XCJb6Zet55y8XVwifSx7XCJ1cmxcIjpcIjIxMC5wbmdcIixcImFsdFwiOlwiW+mEmeinhl1cIn0se1widXJsXCI6XCIyMTEucG5nXCIsXCJhbHRcIjpcIlvpmLTmmpddXCJ9LHtcInVybFwiOlwiMjEyLnBuZ1wiLFwiYWx0XCI6XCJb5bCP6ay8XVwifSx7XCJ1cmxcIjpcIjIxMy5wbmdcIixcImFsdFwiOlwiW+ekvOeJqV1cIn0se1widXJsXCI6XCIyMTQucG5nXCIsXCJhbHRcIjpcIlvmi5zkvZtdXCJ9LHtcInVybFwiOlwiMjE1LnBuZ1wiLFwiYWx0XCI6XCJb5Yqb6YePXVwifSx7XCJ1cmxcIjpcIjIxNi5wbmdcIixcImFsdFwiOlwiW+mHkemSsV1cIn0se1widXJsXCI6XCIyMTcucG5nXCIsXCJhbHRcIjpcIlvom4vns5VdXCJ9LHtcInVybFwiOlwiMjE4LnBuZ1wiLFwiYWx0XCI6XCJb5b2p5bimXVwifSx7XCJ1cmxcIjpcIjIxOS5wbmdcIixcImFsdFwiOlwiW+ekvOeJqV1cIn0seyd1cmwnOicyMjAuZ2lmJyxcImFsdFwiOlwiW+aIs+S4gOaIs11cIn1dXSxcclxuXHRcclxuXHRvbmxpbmVfZW1vamk6IHtcIjEwMC5naWZcIjpcIkFiTlFnQS5naWZcIixcIjEwMS5naWZcIjpcIkFiTjN1dC5naWZcIixcIjEwMi5naWZcIjpcIkFiTk0zZC5naWZcIixcIjEwMy5naWZcIjpcIkFiTjhEUC5naWZcIixcIjEwNC5naWZcIjpcIkFiTmxqSS5naWZcIixcIjEwNS5naWZcIjpcIkFiTnRVUy5naWZcIixcIjEwNi5naWZcIjpcIkFiTkdIZi5naWZcIixcIjEwNy5naWZcIjpcIkFiTllFOC5naWZcIixcIjEwOC5naWZcIjpcIkFiTmFDUS5naWZcIixcIjEwOS5naWZcIjpcIkFiTk40Zy5naWZcIixcIjExMC5naWZcIjpcIkFiTjB2bi5naWZcIixcIjExMS5naWZcIjpcIkFiTmQzai5naWZcIixcIjExMi5naWZcIjpcIkFiTnNiVi5naWZcIixcIjExMy5naWZcIjpcIkFiTndncy5naWZcIixcIjExNC5naWZcIjpcIkFiTnJEMC5naWZcIixcIjExNS5naWZcIjpcIkFiTkR1cS5naWZcIixcIjExNi5naWZcIjpcIkFiTmc1Ri5naWZcIixcIjExNy5naWZcIjpcIkFiTjZFVC5naWZcIixcIjExOC5naWZcIjpcIkFiTmNVVS5naWZcIixcIjExOS5naWZcIjpcIkFiTlJDNC5naWZcIixcIjEyMC5naWZcIjpcIkFiTmh2Ui5naWZcIixcIjEyMS5naWZcIjpcIkFiTmYyOS5naWZcIixcIjEyMi5naWZcIjpcIkFiTlc4Si5naWZcIixcIjEyMy5naWZcIjpcIkFiTm9iNi5naWZcIixcIjEyNC5naWZcIjpcIkFiTjVLMS5naWZcIixcIjEyNS5naWZcIjpcIkFiTkhVTy5naWZcIixcIjEyNi5naWZcIjpcIkFiTklEeC5naWZcIixcIjEyNy5naWZcIjpcIkFiTjdWSy5naWZcIixcIjEyOC5naWZcIjpcIkFiTmI1RC5naWZcIixcIjEyOS5naWZcIjpcIkFiTlgyZC5naWZcIixcIjEzMC5naWZcIjpcIkFiTkxQZS5naWZcIixcIjEzMS5naWZcIjpcIkFiTmp4QS5naWZcIixcIjEzMi5naWZcIjpcIkFiTk84SC5naWZcIixcIjEzMy5naWZcIjpcIkFiTnhLSS5naWZcIixcIjEzNC5naWZcIjpcIkFiTnpydC5naWZcIixcIjEzNS5naWZcIjpcIkFiVTlWZi5naWZcIixcIjEzNi5naWZcIjpcIkFiVVNxUC5naWZcIixcIjEzNy5naWZcIjpcIkFiVUNhOC5naWZcIixcIjEzOC5naWZcIjpcIkFiVWtHUS5naWZcIixcIjEzOS5naWZcIjpcIkFiVUZQZy5naWZcIixcIjE0MC5naWZcIjpcIkFiVVBJUy5naWZcIixcIjE0MS5naWZcIjpcIkFiVVpNbi5naWZcIixcIjE0Mi5naWZcIjpcIkFiVUV4cy5naWZcIixcIjE0My5naWZcIjpcIkFiVUEyai5naWZcIixcIjE0NC5naWZcIjpcIkFiVU1JVS5naWZcIixcIjE0NS5naWZcIjpcIkFiVWVycS5naWZcIixcIjE0Ni5naWZcIjpcIkFiVUthVC5naWZcIixcIjE0Ny5naWZcIjpcIkFiVW1xMC5naWZcIixcIjE0OC5naWZcIjpcIkFiVXVaVi5naWZcIixcIjE0OS5naWZcIjpcIkFiVWxpRi5naWZcIixcIjE1MC5naWZcIjpcIkFiVTFHNC5naWZcIixcIjE1MS5naWZcIjpcIkFiVTh6OS5naWZcIixcIjE1Mi5naWZcIjpcIkFiVTNSSi5naWZcIixcIjE1My5naWZcIjpcIkFiVVlzMS5naWZcIixcIjE1NC5naWZcIjpcIkFiVUpNUi5naWZcIixcIjE1NS5naWZcIjpcIkFiVWFkSy5naWZcIixcIjE1Ni5naWZcIjpcIkFiVXRxeC5naWZcIixcIjE1Ny5naWZcIjpcIkFiVVVaNi5naWZcIixcIjE1OC5naWZcIjpcIkFiVUJKZS5naWZcIixcIjE1OS5naWZcIjpcIkFiVWRJTy5naWZcIixcIjE2MC5naWZcIjpcIkFiVTBpRC5naWZcIixcIjE2MS5naWZcIjpcIkFiVXJ6ZC5naWZcIixcIjE2Mi5naWZcIjpcIkFiVURSSC5naWZcIixcIjE2My5naWZcIjpcIkFiVXlRQS5naWZcIixcIjE2NC5naWZcIjpcIkFiVVdvOC5naWZcIixcIjE2NS5naWZcIjpcIkFiVTZzSS5naWZcIixcIjE2Ni5naWZcIjpcIkFiVTJlUC5naWZcIixcIjE2Ny5naWZcIjpcIkFiVWNMdC5naWZcIixcIjE2OC5naWZcIjpcIkFiVTRKZy5naWZcIixcIjE2OS5naWZcIjpcIkFiVVJkZi5naWZcIixcIjE3MC5naWZcIjpcIkFiVWhGUy5naWZcIixcIjE3MS5naWZcIjpcIkFiVTVXUS5naWZcIixcIjE3Mi5naWZcIjpcIkFiVUx3Vi5naWZcIixcIjE3My5naWZcIjpcIkFiVUl6ai5naWZcIixcIjE3NC5naWZcIjpcIkFiVVRRcy5naWZcIixcIjE3NS5naWZcIjpcIkFiVTd5bi5naWZcIixcIjE3Ni5naWZcIjpcIkFiVXFlMC5naWZcIixcIjE3Ny5naWZcIjpcIkFiVUhMcS5naWZcIixcIjE3OC5naWZcIjpcIkFiVU9vVC5naWZcIixcIjE3OS5naWZcIjpcIkFiVXZZRi5naWZcIixcIjE4MC5naWZcIjpcIkFiVWpGVS5naWZcIixcIjE4MS5naWZcIjpcIkFiYVNTSi5naWZcIixcIjE4Mi5naWZcIjpcIkFiVXhXNC5naWZcIixcIjE4My5naWZcIjpcIkFiYUNPMS5naWZcIixcIjE4NC5naWZcIjpcIkFiYXBsOS5naWZcIixcIjE4NS5naWZcIjpcIkFiYTl5Ui5naWZcIixcIjE4Ni5naWZcIjpcIkFiYUZ3Ni5naWZcIixcIjE4Ny5naWZcIjpcIkFiYWlleC5naWZcIixcIjE4OC5naWZcIjpcIkFiYWtUSy5naWZcIixcIjE4OS5naWZcIjpcIkFiYVpmZS5wbmdcIixcIjE5MC5naWZcIjpcIkFiYUVGTy5naWZcIixcIjE5MS5naWZcIjpcIkFiYVZZRC5naWZcIixcIjE5Mi5naWZcIjpcIkFiYW1TSC5naWZcIixcIjE5My5naWZcIjpcIkFiYUtPSS5naWZcIixcIjE5NC5naWZcIjpcIkFiYW5sZC5naWZcIixcIjE5NS5naWZcIjpcIkFiYXU2QS5naWZcIixcIjE5Ni5naWZcIjpcIkFiYVFtdC5naWZcIixcIjE5Ny5naWZcIjpcIkFiYWwwUC5naWZcIixcIjE5OC5naWZcIjpcIkFiYXRwUS5naWZcIixcIjE5OS5naWZcIjpcIkFiYTFUZi5naWZcIixcIjIwMC5wbmdcIjpcIkFiYThrOC5wbmdcIixcIjIwMS5wbmdcIjpcIkFiYUd0Uy5wbmdcIixcIjIwMi5wbmdcIjpcIkFiYUpmZy5wbmdcIixcIjIwMy5wbmdcIjpcIkFiYU5sai5wbmdcIixcIjIwNC5wbmdcIjpcIkFiYXdtcS5wbmdcIixcIjIwNS5wbmdcIjpcIkFiYVU2cy5wbmdcIixcIjIwNi5wbmdcIjpcIkFiYWFYbi5wbmdcIixcIjIwNy5wbmdcIjpcIkFiYTAwMC5wbmdcIixcIjIwOC5wbmdcIjpcIkFiYXJrVC5wbmdcIixcIjIwOS5wbmdcIjpcIkFiYXN0VS5wbmdcIixcIjIxMC5wbmdcIjpcIkFiYUI3Vi5wbmdcIixcIjIxMS5wbmdcIjpcIkFiYWZuMS5wbmdcIixcIjIxMi5wbmdcIjpcIkFiYWNwNC5wbmdcIixcIjIxMy5wbmdcIjpcIkFiYXloRi5wbmdcIixcIjIxNC5wbmdcIjpcIkFiYWcxSi5wbmdcIixcIjIxNS5wbmdcIjpcIkFiYTJjOS5wbmdcIixcIjIxNi5wbmdcIjpcIkFiYVJYUi5wbmdcIixcIjIxNy5wbmdcIjpcIkFiYTQ3Ni5wbmdcIixcIjIxOC5wbmdcIjpcIkFiYWgweC5wbmdcIixcIjIxOS5wbmdcIjpcIkFiZGc1OC5wbmdcIn1cclxuXHJcblx0XHJcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///118\n");
/***/ }),
/* 119 */
/*!**********************************************!*\
!*** E:/2023/8/MT_APP/common/html-parser.js ***!
\**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n/*\r\n * HTML5 Parser By Sam Blowes\r\n *\r\n * Designed for HTML5 documents\r\n *\r\n * Original code by John Resig (ejohn.org)\r\n * http://ejohn.org/blog/pure-javascript-html-parser/\r\n * Original code by Erik Arvidsson, Mozilla Public License\r\n * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js\r\n *\r\n * ----------------------------------------------------------------------------\r\n * License\r\n * ----------------------------------------------------------------------------\r\n *\r\n * This code is triple licensed using Apache Software License 2.0,\r\n * Mozilla Public License or GNU Public License\r\n *\r\n * ////////////////////////////////////////////////////////////////////////////\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\r\n * use this file except in compliance with the License. You may obtain a copy\r\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * ////////////////////////////////////////////////////////////////////////////\r\n *\r\n * The contents of this file are subject to the Mozilla Public License\r\n * Version 1.1 (the \"License\"); you may not use this file except in\r\n * compliance with the License. You may obtain a copy of the License at\r\n * http://www.mozilla.org/MPL/\r\n *\r\n * Software distributed under the License is distributed on an \"AS IS\"\r\n * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the\r\n * License for the specific language governing rights and limitations\r\n * under the License.\r\n *\r\n * The Original Code is Simple HTML Parser.\r\n *\r\n * The Initial Developer of the Original Code is Erik Arvidsson.\r\n * Portions created by Erik Arvidssson are Copyright (C) 2004. All Rights\r\n * Reserved.\r\n *\r\n * ////////////////////////////////////////////////////////////////////////////\r\n *\r\n * This program is free software; you can redistribute it and/or\r\n * modify it under the terms of the GNU General Public License\r\n * as published by the Free Software Foundation; either version 2\r\n * of the License, or (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program; if not, write to the Free Software\r\n * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\r\n *\r\n * ----------------------------------------------------------------------------\r\n * Usage\r\n * ----------------------------------------------------------------------------\r\n *\r\n * // Use like so:\r\n * HTMLParser(htmlString, {\r\n * start: function(tag, attrs, unary) {},\r\n * end: function(tag) {},\r\n * chars: function(text) {},\r\n * comment: function(text) {}\r\n * });\r\n *\r\n * // or to get an XML string:\r\n * HTMLtoXML(htmlString);\r\n *\r\n * // or to get an XML DOM Document\r\n * HTMLtoDOM(htmlString);\r\n *\r\n * // or to inject into an existing document/DOM node\r\n * HTMLtoDOM(htmlString, document);\r\n * HTMLtoDOM(htmlString, document.body);\r\n *\r\n */\n// Regular Expressions for parsing tags and attributes\nvar startTag = /^<([-A-Za-z0-9_]+)((?:\\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\\s*=\\s*(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>\\s]+))?)*)\\s*(\\/?)>/;\nvar endTag = /^<\\/([-A-Za-z0-9_]+)[^>]*>/;\nvar attr = /([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|([^>\\s]+)))?/g; // Empty Elements - HTML 5\n\nvar empty = makeMap('area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr'); // Block Elements - HTML 5\n// fixed by xxx 将 ins 标签从块级名单中移除\n\nvar block = makeMap('a,address,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video'); // Inline Elements - HTML 5\n\nvar inline = makeMap('abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var'); // Elements that you can, intentionally, leave open\n// (and which close themselves)\n\nvar closeSelf = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr'); // Attributes that have their values filled in disabled=\"disabled\"\n\nvar fillAttrs = makeMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected'); // Special Elements (can contain anything)\n\nvar special = makeMap('script,style');\nfunction HTMLParser(html, handler) {\n var index;\n var chars;\n var match;\n var stack = [];\n var last = html;\n stack.last = function () {\n return this[this.length - 1];\n };\n while (html) {\n chars = true; // Make sure we're not in a script or style element\n\n if (!stack.last() || !special[stack.last()]) {\n // Comment\n if (html.indexOf('');\n if (index >= 0) {\n if (handler.comment) {\n handler.comment(html.substring(4, index));\n }\n html = html.substring(index + 3);\n chars = false;\n } // end tag\n } else if (html.indexOf('') == 0) {\n match = html.match(endTag);\n if (match) {\n html = html.substring(match[0].length);\n match[0].replace(endTag, parseEndTag);\n chars = false;\n } // start tag\n } else if (html.indexOf('<') == 0) {\n match = html.match(startTag);\n if (match) {\n html = html.substring(match[0].length);\n match[0].replace(startTag, parseStartTag);\n chars = false;\n }\n }\n if (chars) {\n index = html.indexOf('<');\n var text = index < 0 ? html : html.substring(0, index);\n html = index < 0 ? '' : html.substring(index);\n if (handler.chars) {\n handler.chars(text);\n }\n }\n } else {\n html = html.replace(new RegExp('([\\\\s\\\\S]*?)<\\/' + stack.last() + '[^>]*>'), function (all, text) {\n text = text.replace(/|/g, '$1$2');\n if (handler.chars) {\n handler.chars(text);\n }\n return '';\n });\n parseEndTag('', stack.last());\n }\n if (html == last) {\n throw 'Parse Error: ' + html;\n }\n last = html;\n } // Clean up any remaining tags\n\n parseEndTag();\n function parseStartTag(tag, tagName, rest, unary) {\n tagName = tagName.toLowerCase();\n if (block[tagName]) {\n while (stack.last() && inline[stack.last()]) {\n parseEndTag('', stack.last());\n }\n }\n if (closeSelf[tagName] && stack.last() == tagName) {\n parseEndTag('', tagName);\n }\n unary = empty[tagName] || !!unary;\n if (!unary) {\n stack.push(tagName);\n }\n if (handler.start) {\n var attrs = [];\n rest.replace(attr, function (match, name) {\n var value = arguments[2] ? arguments[2] : arguments[3] ? arguments[3] : arguments[4] ? arguments[4] : fillAttrs[name] ? name : '';\n attrs.push({\n name: name,\n value: value,\n escaped: value.replace(/(^|[^\\\\])\"/g, '$1\\\\\\\"') // \"\n });\n });\n\n if (handler.start) {\n handler.start(tagName, attrs, unary);\n }\n }\n }\n function parseEndTag(tag, tagName) {\n // If no tag name is provided, clean shop\n if (!tagName) {\n var pos = 0;\n } // Find the closest opened tag of the same type\n else {\n for (var pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos] == tagName) {\n break;\n }\n }\n }\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (handler.end) {\n handler.end(stack[i]);\n }\n } // Remove the open elements from the stack\n\n stack.length = pos;\n }\n }\n}\nfunction makeMap(str) {\n var obj = {};\n var items = str.split(',');\n for (var i = 0; i < items.length; i++) {\n obj[items[i]] = true;\n }\n return obj;\n}\nfunction removeDOCTYPE(html) {\n return html.replace(/<\\?xml.*\\?>\\n/, '').replace(/\\n/, '').replace(/\\n/, '');\n}\nfunction parseAttrs(attrs) {\n return attrs.reduce(function (pre, attr) {\n var value = attr.value;\n var name = attr.name;\n if (pre[name]) {\n pre[name] = pre[name] + \" \" + value;\n } else {\n pre[name] = value;\n }\n return pre;\n }, {});\n}\nfunction parseHtml(html) {\n html = removeDOCTYPE(html);\n var stacks = [];\n var results = {\n node: 'root',\n children: []\n };\n HTMLParser(html, {\n start: function start(tag, attrs, unary) {\n var node = {\n name: tag\n };\n if (attrs.length !== 0) {\n node.attrs = parseAttrs(attrs);\n }\n if (unary) {\n var parent = stacks[0] || results;\n if (!parent.children) {\n parent.children = [];\n }\n parent.children.push(node);\n } else {\n stacks.unshift(node);\n }\n },\n end: function end(tag) {\n var node = stacks.shift();\n if (node.name !== tag) __f__(\"error\", 'invalid state: mismatch end tag', \" at common/html-parser.js:317\");\n if (stacks.length === 0) {\n results.children.push(node);\n } else {\n var parent = stacks[0];\n if (!parent.children) {\n parent.children = [];\n }\n parent.children.push(node);\n }\n },\n chars: function chars(text) {\n var node = {\n type: 'text',\n text: text\n };\n if (stacks.length === 0) {\n results.children.push(node);\n } else {\n var parent = stacks[0];\n if (!parent.children) {\n parent.children = [];\n }\n parent.children.push(node);\n }\n },\n comment: function comment(text) {\n var node = {\n node: 'comment',\n text: text\n };\n var parent = stacks[0];\n if (!parent.children) {\n parent.children = [];\n }\n parent.children.push(node);\n }\n });\n return results.children;\n}\nvar _default = parseHtml;\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 33)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tbW9uL2h0bWwtcGFyc2VyLmpzIl0sIm5hbWVzIjpbInN0YXJ0VGFnIiwiZW5kVGFnIiwiYXR0ciIsImVtcHR5IiwibWFrZU1hcCIsImJsb2NrIiwiaW5saW5lIiwiY2xvc2VTZWxmIiwiZmlsbEF0dHJzIiwic3BlY2lhbCIsIkhUTUxQYXJzZXIiLCJodG1sIiwiaGFuZGxlciIsImluZGV4IiwiY2hhcnMiLCJtYXRjaCIsInN0YWNrIiwibGFzdCIsImxlbmd0aCIsImluZGV4T2YiLCJjb21tZW50Iiwic3Vic3RyaW5nIiwicmVwbGFjZSIsInBhcnNlRW5kVGFnIiwicGFyc2VTdGFydFRhZyIsInRleHQiLCJSZWdFeHAiLCJhbGwiLCJ0YWciLCJ0YWdOYW1lIiwicmVzdCIsInVuYXJ5IiwidG9Mb3dlckNhc2UiLCJwdXNoIiwic3RhcnQiLCJhdHRycyIsIm5hbWUiLCJ2YWx1ZSIsImFyZ3VtZW50cyIsImVzY2FwZWQiLCJwb3MiLCJpIiwiZW5kIiwic3RyIiwib2JqIiwiaXRlbXMiLCJzcGxpdCIsInJlbW92ZURPQ1RZUEUiLCJwYXJzZUF0dHJzIiwicmVkdWNlIiwicHJlIiwicGFyc2VIdG1sIiwic3RhY2tzIiwicmVzdWx0cyIsIm5vZGUiLCJjaGlsZHJlbiIsInBhcmVudCIsInVuc2hpZnQiLCJzaGlmdCIsInR5cGUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QVEsQ0FBQ3RCLElBQUksQ0FBQ3FCLElBQUksQ0FBQztJQUMzQjtFQUNELENBQUMsQ0FBQztFQUNGLE9BQU9ELE9BQU8sQ0FBQ0UsUUFBUTtBQUN4QjtBQUFDLGVBQ2NKLFNBQVM7QUFBQSwyQiIsImZpbGUiOiIxMTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBIVE1MNSBQYXJzZXIgQnkgU2FtIEJsb3dlc1xyXG4gKlxyXG4gKiBEZXNpZ25lZCBmb3IgSFRNTDUgZG9jdW1lbnRzXHJcbiAqXHJcbiAqIE9yaWdpbmFsIGNvZGUgYnkgSm9obiBSZXNpZyAoZWpvaG4ub3JnKVxyXG4gKiBodHRwOi8vZWpvaG4ub3JnL2Jsb2cvcHVyZS1qYXZhc2NyaXB0LWh0bWwtcGFyc2VyL1xyXG4gKiBPcmlnaW5hbCBjb2RlIGJ5IEVyaWsgQXJ2aWRzc29uLCBNb3ppbGxhIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGh0dHA6Ly9lcmlrLmVhZS5uZXQvc2ltcGxlaHRtbHBhcnNlci9zaW1wbGVodG1scGFyc2VyLmpzXHJcbiAqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICogTGljZW5zZVxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqXHJcbiAqIFRoaXMgY29kZSBpcyB0cmlwbGUgbGljZW5zZWQgdXNpbmcgQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wLFxyXG4gKiBNb3ppbGxhIFB1YmxpYyBMaWNlbnNlIG9yIEdOVSBQdWJsaWMgTGljZW5zZVxyXG4gKlxyXG4gKiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAqXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90XHJcbiAqIHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weVxyXG4gKiBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICpcclxuICogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gKlxyXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIGFyZSBzdWJqZWN0IHRvIHRoZSBNb3ppbGxhIFB1YmxpYyBMaWNlbnNlXHJcbiAqIFZlcnNpb24gMS4xICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpblxyXG4gKiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxyXG4gKiBodHRwOi8vd3d3Lm1vemlsbGEub3JnL01QTC9cclxuICpcclxuICogU29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiXHJcbiAqIGJhc2lzLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlXHJcbiAqIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcmlnaHRzIGFuZCBsaW1pdGF0aW9uc1xyXG4gKiB1bmRlciB0aGUgTGljZW5zZS5cclxuICpcclxuICogVGhlIE9yaWdpbmFsIENvZGUgaXMgU2ltcGxlIEhUTUwgUGFyc2VyLlxyXG4gKlxyXG4gKiBUaGUgSW5pdGlhbCBEZXZlbG9wZXIgb2YgdGhlIE9yaWdpbmFsIENvZGUgaXMgRXJpayBBcnZpZHNzb24uXHJcbiAqIFBvcnRpb25zIGNyZWF0ZWQgYnkgRXJpayBBcnZpZHNzc29uIGFyZSBDb3B5cmlnaHQgKEMpIDIwMDQuIEFsbCBSaWdodHNcclxuICogUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxyXG4gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxyXG4gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMlxyXG4gKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXHJcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXHJcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcclxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cclxuICpcclxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcclxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmVcclxuICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLlxyXG4gKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqIFVzYWdlXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICpcclxuICogLy8gVXNlIGxpa2Ugc286XHJcbiAqIEhUTUxQYXJzZXIoaHRtbFN0cmluZywge1xyXG4gKiAgICAgc3RhcnQ6IGZ1bmN0aW9uKHRhZywgYXR0cnMsIHVuYXJ5KSB7fSxcclxuICogICAgIGVuZDogZnVuY3Rpb24odGFnKSB7fSxcclxuICogICAgIGNoYXJzOiBmdW5jdGlvbih0ZXh0KSB7fSxcclxuICogICAgIGNvbW1lbnQ6IGZ1bmN0aW9uKHRleHQpIHt9XHJcbiAqIH0pO1xyXG4gKlxyXG4gKiAvLyBvciB0byBnZXQgYW4gWE1MIHN0cmluZzpcclxuICogSFRNTHRvWE1MKGh0bWxTdHJpbmcpO1xyXG4gKlxyXG4gKiAvLyBvciB0byBnZXQgYW4gWE1MIERPTSBEb2N1bWVudFxyXG4gKiBIVE1MdG9ET00oaHRtbFN0cmluZyk7XHJcbiAqXHJcbiAqIC8vIG9yIHRvIGluamVjdCBpbnRvIGFuIGV4aXN0aW5nIGRvY3VtZW50L0RPTSBub2RlXHJcbiAqIEhUTUx0b0RPTShodG1sU3RyaW5nLCBkb2N1bWVudCk7XHJcbiAqIEhUTUx0b0RPTShodG1sU3RyaW5nLCBkb2N1bWVudC5ib2R5KTtcclxuICpcclxuICovXHJcbi8vIFJlZ3VsYXIgRXhwcmVzc2lvbnMgZm9yIHBhcnNpbmcgdGFncyBhbmQgYXR0cmlidXRlc1xyXG52YXIgc3RhcnRUYWcgPVxyXG5cdC9ePChbLUEtWmEtejAtOV9dKykoKD86XFxzK1thLXpBLVpfOl1bLWEtekEtWjAtOV86Ll0qKD86XFxzKj1cXHMqKD86KD86XCJbXlwiXSpcIil8KD86J1teJ10qJyl8W14+XFxzXSspKT8pKilcXHMqKFxcLz8pPi87XHJcbnZhciBlbmRUYWcgPSAvXjxcXC8oWy1BLVphLXowLTlfXSspW14+XSo+LztcclxudmFyIGF0dHIgPVxyXG4vKFthLXpBLVpfOl1bLWEtekEtWjAtOV86Ll0qKSg/Olxccyo9XFxzKig/Oig/OlwiKCg/OlxcXFwufFteXCJdKSopXCIpfCg/OicoKD86XFxcXC58W14nXSkqKScpfChbXj5cXHNdKykpKT8vZzsgLy8gRW1wdHkgRWxlbWVudHMgLSBIVE1MIDVcclxuXHJcbnZhciBlbXB0eSA9IG1ha2VNYXAoXHJcblx0J2FyZWEsYmFzZSxiYXNlZm9udCxicixjb2wsZnJhbWUsaHIsaW1nLGlucHV0LGxpbmssbWV0YSxwYXJhbSxlbWJlZCxjb21tYW5kLGtleWdlbixzb3VyY2UsdHJhY2ssd2JyJyk7IC8vIEJsb2NrIEVsZW1lbnRzIC0gSFRNTCA1XHJcbi8vIGZpeGVkIGJ5IHh4eCDlsIYgaW5zIOagh+etvuS7juWdl+e6p+WQjeWNleS4reenu+mZpFxyXG5cclxuXHJcbnZhciBibG9jayA9IG1ha2VNYXAoXHJcblx0J2EsYWRkcmVzcyxhcnRpY2xlLGFwcGxldCxhc2lkZSxhdWRpbyxibG9ja3F1b3RlLGJ1dHRvbixjYW52YXMsY2VudGVyLGRkLGRlbCxkaXIsZGl2LGRsLGR0LGZpZWxkc2V0LGZpZ2NhcHRpb24sZmlndXJlLGZvb3Rlcixmb3JtLGZyYW1lc2V0LGgxLGgyLGgzLGg0LGg1LGg2LGhlYWRlcixoZ3JvdXAsaHIsaWZyYW1lLGlzaW5kZXgsbGksbWFwLG1lbnUsbm9mcmFtZXMsbm9zY3JpcHQsb2JqZWN0LG9sLG91dHB1dCxwLHByZSxzZWN0aW9uLHNjcmlwdCx0YWJsZSx0Ym9keSx0ZCx0Zm9vdCx0aCx0aGVhZCx0cix1bCx2aWRlbydcclxuXHQpOyAvLyBJbmxpbmUgRWxlbWVudHMgLSBIVE1MIDVcclxuXHJcbnZhciBpbmxpbmUgPSBtYWtlTWFwKFxyXG5cdCdhYmJyLGFjcm9ueW0sYXBwbGV0LGIsYmFzZWZvbnQsYmRvLGJpZyxicixidXR0b24sY2l0ZSxjb2RlLGRlbCxkZm4sZW0sZm9udCxpLGlmcmFtZSxpbWcsaW5wdXQsaW5zLGtiZCxsYWJlbCxtYXAsb2JqZWN0LHEscyxzYW1wLHNjcmlwdCxzZWxlY3Qsc21hbGwsc3BhbixzdHJpa2Usc3Ryb25nLHN1YixzdXAsdGV4dGFyZWEsdHQsdSx2YXInXHJcblx0KTsgLy8gRWxlbWVudHMgdGhhdCB5b3UgY2FuLCBpbnRlbnRpb25hbGx5LCBsZWF2ZSBvcGVuXHJcbi8vIChhbmQgd2hpY2ggY2xvc2UgdGhlbXNlbHZlcylcclxuXHJcbnZhciBjbG9zZVNlbGYgPSBtYWtlTWFwKFxyXG4nY29sZ3JvdXAsZGQsZHQsbGksb3B0aW9ucyxwLHRkLHRmb290LHRoLHRoZWFkLHRyJyk7IC8vIEF0dHJpYnV0ZXMgdGhhdCBoYXZlIHRoZWlyIHZhbHVlcyBmaWxsZWQgaW4gZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXHJcblxyXG52YXIgZmlsbEF0dHJzID0gbWFrZU1hcChcclxuXHQnY2hlY2tlZCxjb21wYWN0LGRlY2xhcmUsZGVmZXIsZGlzYWJsZWQsaXNtYXAsbXVsdGlwbGUsbm9ocmVmLG5vcmVzaXplLG5vc2hhZGUsbm93cmFwLHJlYWRvbmx5LHNlbGVjdGVkJ1xyXG5cdCk7IC8vIFNwZWNpYWwgRWxlbWVudHMgKGNhbiBjb250YWluIGFueXRoaW5nKVxyXG5cclxudmFyIHNwZWNpYWwgPSBtYWtlTWFwKCdzY3JpcHQsc3R5bGUnKTtcclxuXHJcbmZ1bmN0aW9uIEhUTUxQYXJzZXIoaHRtbCwgaGFuZGxlcikge1xyXG5cdHZhciBpbmRleDtcclxuXHR2YXIgY2hhcnM7XHJcblx0dmFyIG1hdGNoO1xyXG5cdHZhciBzdGFjayA9IFtdO1xyXG5cdHZhciBsYXN0ID0gaHRtbDtcclxuXHJcblxyXG5cdHN0YWNrLmxhc3QgPSBmdW5jdGlvbigpIHtcclxuXHRcdHJldHVybiB0aGlzW3RoaXMubGVuZ3RoIC0gMV07XHJcblx0fTtcclxuXHJcblx0d2hpbGUgKGh0bWwpIHtcclxuXHRcdGNoYXJzID0gdHJ1ZTsgLy8gTWFrZSBzdXJlIHdlJ3JlIG5vdCBpbiBhIHNjcmlwdCBvciBzdHlsZSBlbGVtZW50XHJcblxyXG5cdFx0aWYgKCFzdGFjay5sYXN0KCkgfHwgIXNwZWNpYWxbc3RhY2subGFzdCgpXSkge1xyXG5cdFx0XHQvLyBDb21tZW50XHJcblx0XHRcdGlmIChodG1sLmluZGV4T2YoJzwhLS0nKSA9PSAwKSB7XHJcblx0XHRcdFx0aW5kZXggPSBodG1sLmluZGV4T2YoJy0tPicpO1xyXG5cclxuXHRcdFx0XHRpZiAoaW5kZXggPj0gMCkge1xyXG5cdFx0XHRcdFx0aWYgKGhhbmRsZXIuY29tbWVudCkge1xyXG5cdFx0XHRcdFx0XHRoYW5kbGVyLmNvbW1lbnQoaHRtbC5zdWJzdHJpbmcoNCwgaW5kZXgpKTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRodG1sID0gaHRtbC5zdWJzdHJpbmcoaW5kZXggKyAzKTtcclxuXHRcdFx0XHRcdGNoYXJzID0gZmFsc2U7XHJcblx0XHRcdFx0fSAvLyBlbmQgdGFnXHJcblxyXG5cdFx0XHR9IGVsc2UgaWYgKGh0bWwuaW5kZXhPZignPC8nKSA9PSAwKSB7XHJcblx0XHRcdFx0bWF0Y2ggPSBodG1sLm1hdGNoKGVuZFRhZyk7XHJcblxyXG5cdFx0XHRcdGlmIChtYXRjaCkge1xyXG5cdFx0XHRcdFx0aHRtbCA9IGh0bWwuc3Vic3RyaW5nKG1hdGNoWzBdLmxlbmd0aCk7XHJcblx0XHRcdFx0XHRtYXRjaFswXS5yZXBsYWNlKGVuZFRhZywgcGFyc2VFbmRUYWcpO1xyXG5cdFx0XHRcdFx0Y2hhcnMgPSBmYWxzZTtcclxuXHRcdFx0XHR9IC8vIHN0YXJ0IHRhZ1xyXG5cclxuXHRcdFx0fSBlbHNlIGlmIChodG1sLmluZGV4T2YoJzwnKSA9PSAwKSB7XHJcblx0XHRcdFx0bWF0Y2ggPSBodG1sLm1hdGNoKHN0YXJ0VGFnKTtcclxuXHJcblx0XHRcdFx0aWYgKG1hdGNoKSB7XHJcblx0XHRcdFx0XHRodG1sID0gaHRtbC5zdWJzdHJpbmcobWF0Y2hbMF0ubGVuZ3RoKTtcclxuXHRcdFx0XHRcdG1hdGNoWzBdLnJlcGxhY2Uoc3RhcnRUYWcsIHBhcnNlU3RhcnRUYWcpO1xyXG5cdFx0XHRcdFx0Y2hhcnMgPSBmYWxzZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmIChjaGFycykge1xyXG5cdFx0XHRcdGluZGV4ID0gaHRtbC5pbmRleE9mKCc8Jyk7XHJcblx0XHRcdFx0dmFyIHRleHQgPSBpbmRleCA8IDAgPyBodG1sIDogaHRtbC5zdWJzdHJpbmcoMCwgaW5kZXgpO1xyXG5cdFx0XHRcdGh0bWwgPSBpbmRleCA8IDAgPyAnJyA6IGh0bWwuc3Vic3RyaW5nKGluZGV4KTtcclxuXHJcblx0XHRcdFx0aWYgKGhhbmRsZXIuY2hhcnMpIHtcclxuXHRcdFx0XHRcdGhhbmRsZXIuY2hhcnModGV4dCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRodG1sID0gaHRtbC5yZXBsYWNlKG5ldyBSZWdFeHAoJyhbXFxcXHNcXFxcU10qPyk8XFwvJyArIHN0YWNrLmxhc3QoKSArICdbXj5dKj4nKSwgZnVuY3Rpb24oYWxsLCB0ZXh0KSB7XHJcblx0XHRcdFx0dGV4dCA9IHRleHQucmVwbGFjZSgvPCEtLShbXFxzXFxTXSo/KS0tPnw8IVxcW0NEQVRBXFxbKFtcXHNcXFNdKj8pXV0+L2csICckMSQyJyk7XHJcblxyXG5cdFx0XHRcdGlmIChoYW5kbGVyLmNoYXJzKSB7XHJcblx0XHRcdFx0XHRoYW5kbGVyLmNoYXJzKHRleHQpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0cmV0dXJuICcnO1xyXG5cdFx0XHR9KTtcclxuXHRcdFx0cGFyc2VFbmRUYWcoJycsIHN0YWNrLmxhc3QoKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKGh0bWwgPT0gbGFzdCkge1xyXG5cdFx0XHR0aHJvdyAnUGFyc2UgRXJyb3I6ICcgKyBodG1sO1xyXG5cdFx0fVxyXG5cclxuXHRcdGxhc3QgPSBodG1sO1xyXG5cdH0gLy8gQ2xlYW4gdXAgYW55IHJlbWFpbmluZyB0YWdzXHJcblxyXG5cclxuXHRwYXJzZUVuZFRhZygpO1xyXG5cclxuXHRmdW5jdGlvbiBwYXJzZVN0YXJ0VGFnKHRhZywgdGFnTmFtZSwgcmVzdCwgdW5hcnkpIHtcclxuXHRcdHRhZ05hbWUgPSB0YWdOYW1lLnRvTG93ZXJDYXNlKCk7XHJcblxyXG5cdFx0aWYgKGJsb2NrW3RhZ05hbWVdKSB7XHJcblx0XHRcdHdoaWxlIChzdGFjay5sYXN0KCkgJiYgaW5saW5lW3N0YWNrLmxhc3QoKV0pIHtcclxuXHRcdFx0XHRwYXJzZUVuZFRhZygnJywgc3RhY2subGFzdCgpKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChjbG9zZVNlbGZbdGFnTmFtZV0gJiYgc3RhY2subGFzdCgpID09IHRhZ05hbWUpIHtcclxuXHRcdFx0cGFyc2VFbmRUYWcoJycsIHRhZ05hbWUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHVuYXJ5ID0gZW1wdHlbdGFnTmFtZV0gfHwgISF1bmFyeTtcclxuXHJcblx0XHRpZiAoIXVuYXJ5KSB7XHJcblx0XHRcdHN0YWNrLnB1c2godGFnTmFtZSk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKGhhbmRsZXIuc3RhcnQpIHtcclxuXHRcdFx0dmFyIGF0dHJzID0gW107XHJcblx0XHRcdHJlc3QucmVwbGFjZShhdHRyLCBmdW5jdGlvbihtYXRjaCwgbmFtZSkge1xyXG5cdFx0XHRcdHZhciB2YWx1ZSA9IGFyZ3VtZW50c1syXSA/IGFyZ3VtZW50c1syXSA6IGFyZ3VtZW50c1szXSA/IGFyZ3VtZW50c1szXSA6IGFyZ3VtZW50c1s0XSA/XHJcblx0XHRcdFx0XHRhcmd1bWVudHNbNF0gOiBmaWxsQXR0cnNbbmFtZV0gPyBuYW1lIDogJyc7XHJcblx0XHRcdFx0YXR0cnMucHVzaCh7XHJcblx0XHRcdFx0XHRuYW1lOiBuYW1lLFxyXG5cdFx0XHRcdFx0dmFsdWU6IHZhbHVlLFxyXG5cdFx0XHRcdFx0ZXNjYXBlZDogdmFsdWUucmVwbGFjZSgvKF58W15cXFxcXSlcIi9nLCAnJDFcXFxcXFxcIicpIC8vIFwiXHJcblxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KTtcclxuXHJcblx0XHRcdGlmIChoYW5kbGVyLnN0YXJ0KSB7XHJcblx0XHRcdFx0aGFuZGxlci5zdGFydCh0YWdOYW1lLCBhdHRycywgdW5hcnkpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRmdW5jdGlvbiBwYXJzZUVuZFRhZyh0YWcsIHRhZ05hbWUpIHtcclxuXHRcdC8vIElmIG5vIHRhZyBuYW1lIGlzIHByb3ZpZGVkLCBjbGVhbiBzaG9wXHJcblx0XHRpZiAoIXRhZ05hbWUpIHtcclxuXHRcdFx0dmFyIHBvcyA9IDA7XHJcblx0XHR9IC8vIEZpbmQgdGhlIGNsb3Nlc3Qgb3BlbmVkIHRhZyBvZiB0aGUgc2FtZSB0eXBlXHJcblx0XHRlbHNlIHtcclxuXHRcdFx0Zm9yICh2YXIgcG9zID0gc3RhY2subGVuZ3RoIC0gMTsgcG9zID49IDA7IHBvcy0tKSB7XHJcblx0XHRcdFx0aWYgKHN0YWNrW3Bvc10gPT0gdGFnTmFtZSkge1xyXG5cdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHBvcyA+PSAwKSB7XHJcblx0XHRcdC8vIENsb3NlIGFsbCB0aGUgb3BlbiBlbGVtZW50cywgdXAgdGhlIHN0YWNrXHJcblx0XHRcdGZvciAodmFyIGkgPSBzdGFjay5sZW5ndGggLSAxOyBpID49IHBvczsgaS0tKSB7XHJcblx0XHRcdFx0aWYgKGhhbmRsZXIuZW5kKSB7XHJcblx0XHRcdFx0XHRoYW5kbGVyLmVuZChzdGFja1tpXSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IC8vIFJlbW92ZSB0aGUgb3BlbiBlbGVtZW50cyBmcm9tIHRoZSBzdGFja1xyXG5cclxuXHJcblx0XHRcdHN0YWNrLmxlbmd0aCA9IHBvcztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG1ha2VNYXAoc3RyKSB7XHJcblx0dmFyIG9iaiA9IHt9O1xyXG5cdHZhciBpdGVtcyA9IHN0ci5zcGxpdCgnLCcpO1xyXG5cclxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRvYmpbaXRlbXNbaV1dID0gdHJ1ZTtcclxuXHR9XHJcblxyXG5cdHJldHVybiBvYmo7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlbW92ZURPQ1RZUEUoaHRtbCkge1xyXG5cdHJldHVybiBodG1sLnJlcGxhY2UoLzxcXD94bWwuKlxcPz5cXG4vLCAnJykucmVwbGFjZSgvPCFkb2N0eXBlLio+XFxuLywgJycpLnJlcGxhY2UoLzwhRE9DVFlQRS4qPlxcbi8sICcnKTtcclxufVxyXG5cclxuZnVuY3Rpb24gcGFyc2VBdHRycyhhdHRycykge1xyXG5cdHJldHVybiBhdHRycy5yZWR1Y2UoZnVuY3Rpb24ocHJlLCBhdHRyKSB7XHJcblx0XHR2YXIgdmFsdWUgPSBhdHRyLnZhbHVlO1xyXG5cdFx0dmFyIG5hbWUgPSBhdHRyLm5hbWU7XHJcblxyXG5cdFx0aWYgKHByZVtuYW1lXSkge1xyXG5cdFx0XHRwcmVbbmFtZV0gPSBwcmVbbmFtZV0gKyBcIiBcIiArIHZhbHVlO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0cHJlW25hbWVdID0gdmFsdWU7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHByZTtcclxuXHR9LCB7fSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBhcnNlSHRtbChodG1sKSB7XHJcblx0aHRtbCA9IHJlbW92ZURPQ1RZUEUoaHRtbCk7XHJcblx0dmFyIHN0YWNrcyA9IFtdO1xyXG5cdHZhciByZXN1bHRzID0ge1xyXG5cdFx0bm9kZTogJ3Jvb3QnLFxyXG5cdFx0Y2hpbGRyZW46IFtdXHJcblx0fTtcclxuXHRIVE1MUGFyc2VyKGh0bWwsIHtcclxuXHRcdHN0YXJ0OiBmdW5jdGlvbiBzdGFydCh0YWcsIGF0dHJzLCB1bmFyeSkge1xyXG5cdFx0XHR2YXIgbm9kZSA9IHtcclxuXHRcdFx0XHRuYW1lOiB0YWdcclxuXHRcdFx0fTtcclxuXHJcblx0XHRcdGlmIChhdHRycy5sZW5ndGggIT09IDApIHtcclxuXHRcdFx0XHRub2RlLmF0dHJzID0gcGFyc2VBdHRycyhhdHRycyk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmICh1bmFyeSkge1xyXG5cdFx0XHRcdHZhciBwYXJlbnQgPSBzdGFja3NbMF0gfHwgcmVzdWx0cztcclxuXHJcblx0XHRcdFx0aWYgKCFwYXJlbnQuY2hpbGRyZW4pIHtcclxuXHRcdFx0XHRcdHBhcmVudC5jaGlsZHJlbiA9IFtdO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0cGFyZW50LmNoaWxkcmVuLnB1c2gobm9kZSk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0c3RhY2tzLnVuc2hpZnQobm9kZSk7XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRlbmQ6IGZ1bmN0aW9uIGVuZCh0YWcpIHtcclxuXHRcdFx0dmFyIG5vZGUgPSBzdGFja3Muc2hpZnQoKTtcclxuXHRcdFx0aWYgKG5vZGUubmFtZSAhPT0gdGFnKSBjb25zb2xlLmVycm9yKCdpbnZhbGlkIHN0YXRlOiBtaXNtYXRjaCBlbmQgdGFnJyk7XHJcblxyXG5cdFx0XHRpZiAoc3RhY2tzLmxlbmd0aCA9PT0gMCkge1xyXG5cdFx0XHRcdHJlc3VsdHMuY2hpbGRyZW4ucHVzaChub2RlKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR2YXIgcGFyZW50ID0gc3RhY2tzWzBdO1xyXG5cclxuXHRcdFx0XHRpZiAoIXBhcmVudC5jaGlsZHJlbikge1xyXG5cdFx0XHRcdFx0cGFyZW50LmNoaWxkcmVuID0gW107XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRwYXJlbnQuY2hpbGRyZW4ucHVzaChub2RlKTtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNoYXJzOiBmdW5jdGlvbiBjaGFycyh0ZXh0KSB7XHJcblx0XHRcdHZhciBub2RlID0ge1xyXG5cdFx0XHRcdHR5cGU6ICd0ZXh0JyxcclxuXHRcdFx0XHR0ZXh0OiB0ZXh0XHJcblx0XHRcdH07XHJcblxyXG5cdFx0XHRpZiAoc3RhY2tzLmxlbmd0aCA9PT0gMCkge1xyXG5cdFx0XHRcdHJlc3VsdHMuY2hpbGRyZW4ucHVzaChub2RlKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR2YXIgcGFyZW50ID0gc3RhY2tzWzBdO1xyXG5cclxuXHRcdFx0XHRpZiAoIXBhcmVudC5jaGlsZHJlbikge1xyXG5cdFx0XHRcdFx0cGFyZW50LmNoaWxkcmVuID0gW107XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRwYXJlbnQuY2hpbGRyZW4ucHVzaChub2RlKTtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNvbW1lbnQ6IGZ1bmN0aW9uIGNvbW1lbnQodGV4dCkge1xyXG5cdFx0XHR2YXIgbm9kZSA9IHtcclxuXHRcdFx0XHRub2RlOiAnY29tbWVudCcsXHJcblx0XHRcdFx0dGV4dDogdGV4dFxyXG5cdFx0XHR9O1xyXG5cdFx0XHR2YXIgcGFyZW50ID0gc3RhY2tzWzBdO1xyXG5cclxuXHRcdFx0aWYgKCFwYXJlbnQuY2hpbGRyZW4pIHtcclxuXHRcdFx0XHRwYXJlbnQuY2hpbGRyZW4gPSBbXTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cGFyZW50LmNoaWxkcmVuLnB1c2gobm9kZSk7XHJcblx0XHR9XHJcblx0fSk7XHJcblx0cmV0dXJuIHJlc3VsdHMuY2hpbGRyZW47XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgcGFyc2VIdG1sO1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///119\n");
/***/ }),
/* 120 */
/*!*******************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-popup/uni-popup-confirm.vue ***!
\*******************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _uni_popup_confirm_vue_vue_type_template_id_32e2d317_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./uni-popup-confirm.vue?vue&type=template&id=32e2d317&scoped=true& */ 121);\n/* harmony import */ var _uni_popup_confirm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uni-popup-confirm.vue?vue&type=script&lang=js& */ 123);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _uni_popup_confirm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _uni_popup_confirm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _uni_popup_confirm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _uni_popup_confirm_vue_vue_type_template_id_32e2d317_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _uni_popup_confirm_vue_vue_type_template_id_32e2d317_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"32e2d317\",\n null,\n false,\n _uni_popup_confirm_vue_vue_type_template_id_32e2d317_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"components/uni-popup/uni-popup-confirm.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMEk7QUFDMUk7QUFDcUU7QUFDTDs7O0FBR2hFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHVGQUFNO0FBQ1IsRUFBRSx3R0FBTTtBQUNSLEVBQUUsaUhBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsNEdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi91bmktcG9wdXAtY29uZmlybS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MzJlMmQzMTcmc2NvcGVkPXRydWUmXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi91bmktcG9wdXAtY29uZmlybS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL3VuaS1wb3B1cC1jb25maXJtLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjMyZTJkMzE3XCIsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcImNvbXBvbmVudHMvdW5pLXBvcHVwL3VuaS1wb3B1cC1jb25maXJtLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///120\n");
/***/ }),
/* 121 */
/*!**************************************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-popup/uni-popup-confirm.vue?vue&type=template&id=32e2d317&scoped=true& ***!
\**************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_confirm_vue_vue_type_template_id_32e2d317_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-popup-confirm.vue?vue&type=template&id=32e2d317&scoped=true& */ 122);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_confirm_vue_vue_type_template_id_32e2d317_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_confirm_vue_vue_type_template_id_32e2d317_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_confirm_vue_vue_type_template_id_32e2d317_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_confirm_vue_vue_type_template_id_32e2d317_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 122 */
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/uni-popup/uni-popup-confirm.vue?vue&type=template&id=32e2d317&scoped=true& ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"view",
{ staticClass: _vm._$s(0, "sc", "uni-popup-dialog"), attrs: { _i: 0 } },
[
_c(
"view",
{ staticClass: _vm._$s(1, "sc", "uni-dialog-title"), attrs: { _i: 1 } },
[
_c(
"text",
{
staticClass: _vm._$s(2, "sc", "uni-dialog-title-text"),
class: _vm._$s(2, "c", ["uni-popup__" + _vm.dialogType]),
attrs: { _i: 2 },
},
[_vm._v(_vm._$s(2, "t0-0", _vm._s(_vm.title)))]
),
]
),
_c(
"view",
{
staticClass: _vm._$s(3, "sc", "uni-dialog-content"),
attrs: { _i: 3 },
},
[
_vm._$s(4, "i", _vm.mode === "base")
? _c(
"text",
{
staticClass: _vm._$s(4, "sc", "uni-dialog-content-text"),
attrs: { _i: 4 },
},
[_vm._v(_vm._$s(4, "t0-0", _vm._s(_vm.content)))]
)
: _c("input", {
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.val,
expression: "val",
},
],
staticClass: _vm._$s(5, "sc", "uni-dialog-input"),
attrs: {
maxlength: _vm._$s(5, "a-maxlength", _vm.maxlength),
placeholder: _vm._$s(5, "a-placeholder", _vm.placeholder),
focus: _vm._$s(5, "a-focus", _vm.focus),
_i: 5,
},
domProps: { value: _vm._$s(5, "v-model", _vm.val) },
on: {
input: function ($event) {
if ($event.target.composing) {
return
}
_vm.val = $event.target.value
},
},
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(6, "sc", "uni-dialog-button-group"),
attrs: { _i: 6 },
},
[
_c(
"view",
{
staticClass: _vm._$s(7, "sc", "uni-dialog-button"),
attrs: { _i: 7 },
on: { click: _vm.close },
},
[
_c("text", {
staticClass: _vm._$s(8, "sc", "uni-dialog-button-text"),
attrs: { _i: 8 },
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(
9,
"sc",
"uni-dialog-button uni-border-left"
),
attrs: { _i: 9 },
on: { click: _vm.onOk },
},
[
_c("text", {
staticClass: _vm._$s(
10,
"sc",
"uni-dialog-button-text uni-button-color"
),
attrs: { _i: 10 },
}),
]
),
]
),
]
)
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 123 */
/*!********************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-popup/uni-popup-confirm.vue?vue&type=script&lang=js& ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_confirm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-popup-confirm.vue?vue&type=script&lang=js& */ 124);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_confirm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_confirm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_confirm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_confirm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_confirm_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTRpQixDQUFnQiwra0JBQUcsRUFBQyIsImZpbGUiOiIxMjMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTctMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi91bmktcG9wdXAtY29uZmlybS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3VuaS1wb3B1cC1jb25maXJtLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///123\n");
/***/ }),
/* 124 */
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/uni-popup/uni-popup-confirm.vue?vue&type=script&lang=js& ***!
\*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/**\n * PopUp 弹出层-对话框样式\n * @description 弹出层-对话框样式\n * @tutorial https://ext.dcloud.net.cn/plugin?id=329\n * @property {String} value input 模式下的默认值\n * @property {String} placeholder input 模式下输入提示\n * @property {String} type = [success|warning|info|error] 主题样式\n * @value success 成功\n * \t@value warning 提示\n * \t@value info 消息\n * \t@value error 错误\n * @property {String} mode = [base|input] 模式、\n * \t@value base 基础对话框\n * \t@value input 可输入对话框\n * @property {String} content 对话框内容\n * @property {Boolean} beforeClose 是否拦截取消事件\n * @event {Function} confirm 点击确认按钮触发\n * @event {Function} close 点击取消按钮触发\n */\nvar _default = {\n name: \"uniPopupDialog\",\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n maxlength: {\n type: Number,\n default: 10\n },\n placeholder: {\n type: [String, Number],\n default: '请输入内容'\n },\n /**\n * 对话框主题 success/warning/info/error\t 默认 success\n */\n type: {\n type: String,\n default: 'error'\n },\n /**\n * 对话框模式 base/input\n */\n mode: {\n type: String,\n default: 'base'\n },\n /**\n * 对话框标题\n */\n title: {\n type: String,\n default: '提示'\n },\n /**\n * 对话框内容\n */\n content: {\n type: String,\n default: ''\n },\n /**\n * 拦截取消事件 ,如果拦截取消事件,必须监听close事件,执行 done()\n */\n beforeClose: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n dialogType: 'error',\n focus: false,\n val: \"\"\n };\n },\n inject: ['popup'],\n watch: {\n type: function type(val) {\n this.dialogType = val;\n },\n mode: function mode(val) {\n if (val === 'input') {\n this.dialogType = 'info';\n }\n },\n value: function value(val) {\n this.val = val;\n }\n },\n created: function created() {\n // 对话框遮罩不可点击\n this.popup.mkclick = false;\n if (this.mode === 'input') {\n this.dialogType = 'info';\n this.val = this.value;\n } else {\n this.dialogType = this.type;\n }\n },\n mounted: function mounted() {\n this.focus = true;\n },\n methods: {\n /**\n * 点击确认按钮\n */\n onOk: function onOk() {\n var _this = this;\n this.$emit('confirm', function () {\n _this.popup.close();\n if (_this.mode === 'input') {\n _this.val = _this.value;\n return _this.val;\n }\n }, this.mode === 'input' ? this.val : '');\n },\n /**\n * 点击取消按钮\n */\n close: function close() {\n var _this2 = this;\n if (this.beforeClose) {\n this.$emit('close', function () {\n _this2.popup.close();\n });\n return;\n }\n this.popup.close();\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy91bmktcG9wdXAvdW5pLXBvcHVwLWNvbmZpcm0udnVlIl0sIm5hbWVzIjpbIm5hbWUiLCJwcm9wcyIsInZhbHVlIiwidHlwZSIsImRlZmF1bHQiLCJtYXhsZW5ndGgiLCJwbGFjZWhvbGRlciIsIm1vZGUiLCJ0aXRsZSIsImNvbnRlbnQiLCJiZWZvcmVDbG9zZSIsImRhdGEiLCJkaWFsb2dUeXBlIiwiZm9jdXMiLCJ2YWwiLCJpbmplY3QiLCJ3YXRjaCIsImNyZWF0ZWQiLCJtb3VudGVkIiwibWV0aG9kcyIsIm9uT2siLCJjbG9zZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFsQkEsZUFvQkE7RUFDQUE7RUFDQUM7SUFDQUM7TUFDQUM7TUFDQUM7SUFDQTtJQUNBQztNQUNBRjtNQUNBQztJQUNBO0lBQ0FFO01BQ0FIO01BQ0FDO0lBQ0E7SUFDQTtBQUNBO0FBQ0E7SUFDQUQ7TUFDQUE7TUFDQUM7SUFDQTtJQUNBO0FBQ0E7QUFDQTtJQUNBRztNQUNBSjtNQUNBQztJQUNBO0lBQ0E7QUFDQTtBQUNBO0lBQ0FJO01BQ0FMO01BQ0FDO0lBQ0E7SUFDQTtBQUNBO0FBQ0E7SUFDQUs7TUFDQU47TUFDQUM7SUFDQTtJQUNBO0FBQ0E7QUFDQTtJQUNBTTtNQUNBUDtNQUNBQztJQUNBO0VBQ0E7RUFDQU87SUFDQTtNQUNBQztNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUM7RUFDQUM7SUFDQWI7TUFDQTtJQUNBO0lBQ0FJO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUw7TUFDQTtJQUNBO0VBQ0E7RUFDQWU7SUFDQTtJQUNBO0lBQ0E7TUFDQTtNQUNBO0lBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7QUFDQTtBQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1FBQ0E7VUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0E7QUFDQTtBQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBIiwiZmlsZSI6IjEyNC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cInVuaS1wb3B1cC1kaWFsb2dcIj5cclxuXHRcdDx2aWV3IGNsYXNzPVwidW5pLWRpYWxvZy10aXRsZVwiPlxyXG5cdFx0XHQ8dGV4dCBjbGFzcz1cInVuaS1kaWFsb2ctdGl0bGUtdGV4dFwiIDpjbGFzcz1cIlsndW5pLXBvcHVwX18nK2RpYWxvZ1R5cGVdXCI+e3t0aXRsZX19PC90ZXh0PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ1bmktZGlhbG9nLWNvbnRlbnRcIj5cclxuXHRcdFx0PHRleHQgY2xhc3M9XCJ1bmktZGlhbG9nLWNvbnRlbnQtdGV4dFwiIHYtaWY9XCJtb2RlID09PSAnYmFzZSdcIj57e2NvbnRlbnR9fTwvdGV4dD5cclxuXHRcdFx0PGlucHV0IHYtZWxzZSBjbGFzcz1cInVuaS1kaWFsb2ctaW5wdXRcIiA6bWF4bGVuZ3RoPVwibWF4bGVuZ3RoXCIgdi1tb2RlbD1cInZhbFwiIHR5cGU9XCJ0ZXh0XCIgOnBsYWNlaG9sZGVyPVwicGxhY2Vob2xkZXJcIiA6Zm9jdXM9XCJmb2N1c1wiID5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwidW5pLWRpYWxvZy1idXR0b24tZ3JvdXBcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ1bmktZGlhbG9nLWJ1dHRvblwiIEBjbGljaz1cImNsb3NlXCI+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJ1bmktZGlhbG9nLWJ1dHRvbi10ZXh0XCI+5Y+W5raIPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidW5pLWRpYWxvZy1idXR0b24gdW5pLWJvcmRlci1sZWZ0XCIgQGNsaWNrPVwib25Pa1wiPlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwidW5pLWRpYWxvZy1idXR0b24tdGV4dCB1bmktYnV0dG9uLWNvbG9yXCI+56Gu5a6aPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHQvKipcclxuXHQgKiBQb3BVcCDlvLnlh7rlsYIt5a+56K+d5qGG5qC35byPXHJcblx0ICogQGRlc2NyaXB0aW9uIOW8ueWHuuWxgi3lr7nor53moYbmoLflvI9cclxuXHQgKiBAdHV0b3JpYWwgaHR0cHM6Ly9leHQuZGNsb3VkLm5ldC5jbi9wbHVnaW4/aWQ9MzI5XHJcblx0ICogQHByb3BlcnR5IHtTdHJpbmd9IHZhbHVlIGlucHV0IOaooeW8j+S4i+eahOm7mOiupOWAvFxyXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBwbGFjZWhvbGRlciBpbnB1dCDmqKHlvI/kuIvovpPlhaXmj5DnpLpcclxuXHQgKiBAcHJvcGVydHkge1N0cmluZ30gdHlwZSA9IFtzdWNjZXNzfHdhcm5pbmd8aW5mb3xlcnJvcl0g5Li76aKY5qC35byPXHJcblx0ICogIEB2YWx1ZSBzdWNjZXNzIOaIkOWKn1xyXG5cdCAqIFx0QHZhbHVlIHdhcm5pbmcg5o+Q56S6XHJcblx0ICogXHRAdmFsdWUgaW5mbyDmtojmga9cclxuXHQgKiBcdEB2YWx1ZSBlcnJvciDplJnor69cclxuXHQgKiBAcHJvcGVydHkge1N0cmluZ30gbW9kZSA9IFtiYXNlfGlucHV0XSDmqKHlvI/jgIFcclxuXHQgKiBcdEB2YWx1ZSBiYXNlIOWfuuehgOWvueivneahhlxyXG5cdCAqIFx0QHZhbHVlIGlucHV0IOWPr+i+k+WFpeWvueivneahhlxyXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBjb250ZW50IOWvueivneahhuWGheWuuVxyXG5cdCAqIEBwcm9wZXJ0eSB7Qm9vbGVhbn0gYmVmb3JlQ2xvc2Ug5piv5ZCm5oum5oiq5Y+W5raI5LqL5Lu2XHJcblx0ICogQGV2ZW50IHtGdW5jdGlvbn0gY29uZmlybSDngrnlh7vnoa7orqTmjInpkq7op6blj5FcclxuXHQgKiBAZXZlbnQge0Z1bmN0aW9ufSBjbG9zZSDngrnlh7vlj5bmtojmjInpkq7op6blj5FcclxuXHQgKi9cclxuXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0bmFtZTogXCJ1bmlQb3B1cERpYWxvZ1wiLFxyXG5cdFx0cHJvcHM6IHtcclxuXHRcdFx0dmFsdWU6IHtcclxuXHRcdFx0XHR0eXBlOiBbU3RyaW5nLCBOdW1iZXJdLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICcnXHJcblx0XHRcdH0sXHJcblx0XHRcdG1heGxlbmd0aDp7XHJcblx0XHRcdFx0dHlwZTogTnVtYmVyLFxyXG5cdFx0XHRcdGRlZmF1bHQ6IDEwXHJcblx0XHRcdH0sXHJcblx0XHRcdHBsYWNlaG9sZGVyOiB7XHJcblx0XHRcdFx0dHlwZTogW1N0cmluZywgTnVtYmVyXSxcclxuXHRcdFx0XHRkZWZhdWx0OiAn6K+36L6T5YWl5YaF5a65J1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICog5a+56K+d5qGG5Li76aKYIHN1Y2Nlc3Mvd2FybmluZy9pbmZvL2Vycm9yXHQgIOm7mOiupCBzdWNjZXNzXHJcblx0XHRcdCAqL1xyXG5cdFx0XHR0eXBlOiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICdlcnJvcidcclxuXHRcdFx0fSxcclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIOWvueivneahhuaooeW8jyBiYXNlL2lucHV0XHJcblx0XHRcdCAqL1xyXG5cdFx0XHRtb2RlOiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICdiYXNlJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICog5a+56K+d5qGG5qCH6aKYXHJcblx0XHRcdCAqL1xyXG5cdFx0XHR0aXRsZToge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0OiAn5o+Q56S6J1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICog5a+56K+d5qGG5YaF5a65XHJcblx0XHRcdCAqL1xyXG5cdFx0XHRjb250ZW50OiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICcnXHJcblx0XHRcdH0sXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiDmi6bmiKrlj5bmtojkuovku7Yg77yM5aaC5p6c5oum5oiq5Y+W5raI5LqL5Lu277yM5b+F6aG755uR5ZCsY2xvc2Xkuovku7bvvIzmiafooYwgZG9uZSgpXHJcblx0XHRcdCAqL1xyXG5cdFx0XHRiZWZvcmVDbG9zZToge1xyXG5cdFx0XHRcdHR5cGU6IEJvb2xlYW4sXHJcblx0XHRcdFx0ZGVmYXVsdDogZmFsc2VcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0ZGlhbG9nVHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRmb2N1czogZmFsc2UsXHJcblx0XHRcdFx0dmFsOiBcIlwiXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRpbmplY3Q6IFsncG9wdXAnXSxcclxuXHRcdHdhdGNoOiB7XHJcblx0XHRcdHR5cGUodmFsKSB7XHJcblx0XHRcdFx0dGhpcy5kaWFsb2dUeXBlID0gdmFsXHJcblx0XHRcdH0sXHJcblx0XHRcdG1vZGUodmFsKSB7XHJcblx0XHRcdFx0aWYgKHZhbCA9PT0gJ2lucHV0Jykge1xyXG5cdFx0XHRcdFx0dGhpcy5kaWFsb2dUeXBlID0gJ2luZm8nXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR2YWx1ZSh2YWwpIHtcclxuXHRcdFx0XHR0aGlzLnZhbCA9IHZhbFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0Y3JlYXRlZCgpIHtcclxuXHRcdFx0Ly8g5a+56K+d5qGG6YGu572p5LiN5Y+v54K55Ye7XHJcblx0XHRcdHRoaXMucG9wdXAubWtjbGljayA9IGZhbHNlXHJcblx0XHRcdGlmICh0aGlzLm1vZGUgPT09ICdpbnB1dCcpIHtcclxuXHRcdFx0XHR0aGlzLmRpYWxvZ1R5cGUgPSAnaW5mbydcclxuXHRcdFx0XHR0aGlzLnZhbCA9IHRoaXMudmFsdWVcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLmRpYWxvZ1R5cGUgPSB0aGlzLnR5cGVcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1vdW50ZWQoKSB7XHJcblx0XHRcdHRoaXMuZm9jdXMgPSB0cnVlXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQvKipcclxuXHRcdFx0ICog54K55Ye756Gu6K6k5oyJ6ZKuXHJcblx0XHRcdCAqL1xyXG5cdFx0XHRvbk9rKCkge1xyXG5cdFx0XHRcdHRoaXMuJGVtaXQoJ2NvbmZpcm0nLCAoKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnBvcHVwLmNsb3NlKClcclxuXHRcdFx0XHRcdGlmICh0aGlzLm1vZGUgPT09ICdpbnB1dCcpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy52YWwgPSB0aGlzLnZhbHVlO1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy52YWw7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSwgdGhpcy5tb2RlID09PSAnaW5wdXQnID8gdGhpcy52YWwgOiAnJylcclxuXHRcdFx0fSxcclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIOeCueWHu+WPlua2iOaMiemSrlxyXG5cdFx0XHQgKi9cclxuXHRcdFx0Y2xvc2UoKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMuYmVmb3JlQ2xvc2UpIHtcclxuXHRcdFx0XHRcdHRoaXMuJGVtaXQoJ2Nsb3NlJywgKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnBvcHVwLmNsb3NlKClcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRyZXR1cm5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5wb3B1cC5jbG9zZSgpXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG5cdC51bmktcG9wdXAtZGlhbG9nIHtcclxuXHRcdHdpZHRoOiAzMDBweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0fVxyXG5cclxuXHQudW5pLWRpYWxvZy10aXRsZSB7XHJcblx0XHQvKiAjaWZuZGVmIEFQUC1OVlVFICovXHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0LyogI2VuZGlmICovXHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdFx0cGFkZGluZzogMjBweCAwIDEwcHggMTVweDtcclxuXHR9XHJcblxyXG5cdC51bmktZGlhbG9nLXRpdGxlLXRleHQge1xyXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHR9XHJcblxyXG5cdC51bmktZGlhbG9nLWNvbnRlbnQge1xyXG5cdFx0LyogI2lmbmRlZiBBUFAtTlZVRSAqL1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdC8qICNlbmRpZiAqL1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDVweCAxNXB4IDE1cHggMTVweDtcclxuXHR9XHJcblxyXG5cdC51bmktZGlhbG9nLWNvbnRlbnQtdGV4dCB7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRjb2xvcjogIzZlNmU2ZTtcclxuXHR9XHJcblxyXG5cdC51bmktZGlhbG9nLWJ1dHRvbi1ncm91cCB7XHJcblx0XHQvKiAjaWZuZGVmIEFQUC1OVlVFICovXHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0LyogI2VuZGlmICovXHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0Ym9yZGVyLXRvcC1jb2xvcjogI2JkYmRiZDtcclxuXHRcdGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xyXG5cdFx0Ym9yZGVyLXRvcC13aWR0aDogMXB4O1xyXG5cdFx0bWFyZ2luLXRvcDo1cHg7XHJcblx0fVxyXG5cclxuXHQudW5pLWRpYWxvZy1idXR0b24ge1xyXG5cdFx0LyogI2lmbmRlZiBBUFAtTlZVRSAqL1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdC8qICNlbmRpZiAqL1xyXG5cclxuXHRcdGZsZXg6IDE7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0aGVpZ2h0OiA1NXB4O1xyXG5cdH1cclxuXHJcblx0LnVuaS1ib3JkZXItbGVmdCB7XHJcblx0XHRib3JkZXItbGVmdC1jb2xvcjogI2JkYmRiZDtcclxuXHRcdGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcclxuXHRcdGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XHJcblx0fVxyXG5cclxuXHQudW5pLWRpYWxvZy1idXR0b24tdGV4dCB7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0fVxyXG5cclxuXHQudW5pLWJ1dHRvbi1jb2xvciB7XHJcblx0fVxyXG5cclxuXHQudW5pLWRpYWxvZy1pbnB1dCB7XHJcblx0XHRmbGV4OiAxO1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0b3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcclxuXHRcdGxpbmUtaGVpZ2h0IDoxLjlyZW0gIWltcG9ydGFudDtcclxuXHRcdGhlaWdodDoxLjlyZW0gIWltcG9ydGFudDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0XHRwYWRkaW5nLWxlZnQ6MnB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcclxuXHR9XHJcblxyXG5cdC51bmktcG9wdXBfX3N1Y2Nlc3Mge1xyXG5cdFx0Y29sb3I6ICR1bmktY29sb3Itc3VjY2VzcztcclxuXHR9XHJcblxyXG5cdC51bmktcG9wdXBfX3dhcm4ge1xyXG5cdFx0Y29sb3I6ICR1bmktY29sb3Itd2FybmluZztcclxuXHR9XHJcblxyXG5cdC51bmktcG9wdXBfX2Vycm9yIHtcclxuXHRcdGNvbG9yOiAkdW5pLWNvbG9yLWVycm9yO1xyXG5cdH1cclxuXHJcblx0LnVuaS1wb3B1cF9faW5mbyB7XHJcblx0XHRjb2xvcjogIzkwOTM5OTtcclxuXHR9XHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///124\n");
/***/ }),
/* 125 */
/*!*****************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-popup/uni-popup-qiang.vue ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _uni_popup_qiang_vue_vue_type_template_id_1e3a13d9_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./uni-popup-qiang.vue?vue&type=template&id=1e3a13d9&scoped=true& */ 126);\n/* harmony import */ var _uni_popup_qiang_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uni-popup-qiang.vue?vue&type=script&lang=js& */ 133);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _uni_popup_qiang_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _uni_popup_qiang_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _uni_popup_qiang_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _uni_popup_qiang_vue_vue_type_template_id_1e3a13d9_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _uni_popup_qiang_vue_vue_type_template_id_1e3a13d9_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"1e3a13d9\",\n null,\n false,\n _uni_popup_qiang_vue_vue_type_template_id_1e3a13d9_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"components/uni-popup/uni-popup-qiang.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBd0k7QUFDeEk7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSxzR0FBTTtBQUNSLEVBQUUsK0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMEdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTI1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi91bmktcG9wdXAtcWlhbmcudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTFlM2ExM2Q5JnNjb3BlZD10cnVlJlwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vdW5pLXBvcHVwLXFpYW5nLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vdW5pLXBvcHVwLXFpYW5nLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjFlM2ExM2Q5XCIsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcImNvbXBvbmVudHMvdW5pLXBvcHVwL3VuaS1wb3B1cC1xaWFuZy52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///125\n");
/***/ }),
/* 126 */
/*!************************************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-popup/uni-popup-qiang.vue?vue&type=template&id=1e3a13d9&scoped=true& ***!
\************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_qiang_vue_vue_type_template_id_1e3a13d9_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-popup-qiang.vue?vue&type=template&id=1e3a13d9&scoped=true& */ 127);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_qiang_vue_vue_type_template_id_1e3a13d9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_qiang_vue_vue_type_template_id_1e3a13d9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_qiang_vue_vue_type_template_id_1e3a13d9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_qiang_vue_vue_type_template_id_1e3a13d9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 127 */
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/uni-popup/uni-popup-qiang.vue?vue&type=template&id=1e3a13d9&scoped=true& ***!
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
try {
components = {
lxcCount: __webpack_require__(/*! @/components/lxc-count/lxc-count.vue */ 128).default,
}
} catch (e) {
if (
e.message.indexOf("Cannot find module") !== -1 &&
e.message.indexOf(".vue") !== -1
) {
console.error(e.message)
console.error("1. 排查组件名称拼写是否正确")
console.error(
"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom"
)
console.error(
"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件"
)
} else {
throw e
}
}
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"view",
{ staticClass: _vm._$s(0, "sc", "uni-popup-dialog"), attrs: { _i: 0 } },
[
_c(
"view",
{ staticClass: _vm._$s(1, "sc", "uni-dialog-title"), attrs: { _i: 1 } },
[
_c(
"text",
{
staticClass: _vm._$s(2, "sc", "uni-dialog-title-text"),
class: _vm._$s(2, "c", ["uni-popup__" + _vm.dialogType]),
attrs: { _i: 2 },
},
[_vm._v(_vm._$s(2, "t0-0", _vm._s(_vm.title)))]
),
]
),
_c(
"view",
{
staticClass: _vm._$s(3, "sc", "uni-dialog-content"),
attrs: { _i: 3 },
},
[
_c("view", {
staticClass: _vm._$s(4, "sc", "uni-dialog-content-title"),
attrs: { _i: 4 },
}),
_c("lxc-count", {
attrs: {
index: _vm.item.index,
value: _vm.item.num,
delayed: 100,
_i: 5,
},
on: { handleCount: _vm.handleCountClick },
}),
],
1
),
_c(
"view",
{
staticClass: _vm._$s(6, "sc", "uni-dialog-button-group"),
attrs: { _i: 6 },
},
[
_c(
"view",
{
staticClass: _vm._$s(7, "sc", "uni-dialog-button"),
attrs: { _i: 7 },
on: { click: _vm.close },
},
[
_c("text", {
staticClass: _vm._$s(8, "sc", "uni-dialog-button-text"),
attrs: { _i: 8 },
}),
]
),
_c(
"view",
{
staticClass: _vm._$s(
9,
"sc",
"uni-dialog-button uni-border-left"
),
attrs: { _i: 9 },
on: {
click: function ($event) {
return _vm.onOk(_vm.status == 0 ? 1 : 0)
},
},
},
[
_c(
"text",
{
staticClass: _vm._$s(
10,
"sc",
"uni-dialog-button-text uni-button-color"
),
attrs: { _i: 10 },
},
[
_vm._v(
_vm._$s(
10,
"t0-0",
_vm._s(_vm.status == 0 ? "开启" : "关闭")
)
),
]
),
]
),
]
),
]
)
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 128 */
/*!***********************************************************!*\
!*** E:/2023/8/MT_APP/components/lxc-count/lxc-count.vue ***!
\***********************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lxc_count_vue_vue_type_template_id_17ed2538___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lxc-count.vue?vue&type=template&id=17ed2538& */ 129);\n/* harmony import */ var _lxc_count_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lxc-count.vue?vue&type=script&lang=js& */ 131);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lxc_count_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _lxc_count_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _lxc_count_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _lxc_count_vue_vue_type_template_id_17ed2538___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _lxc_count_vue_vue_type_template_id_17ed2538___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _lxc_count_vue_vue_type_template_id_17ed2538___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"components/lxc-count/lxc-count.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBc0g7QUFDdEg7QUFDNkQ7QUFDTDs7O0FBR3hEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLCtFQUFNO0FBQ1IsRUFBRSxvRkFBTTtBQUNSLEVBQUUsNkZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsd0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTI4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9seGMtY291bnQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTE3ZWQyNTM4JlwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vbHhjLWNvdW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vbHhjLWNvdW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJjb21wb25lbnRzL2x4Yy1jb3VudC9seGMtY291bnQudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///128\n");
/***/ }),
/* 129 */
/*!******************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/lxc-count/lxc-count.vue?vue&type=template&id=17ed2538& ***!
\******************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lxc_count_vue_vue_type_template_id_17ed2538___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./lxc-count.vue?vue&type=template&id=17ed2538& */ 130);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lxc_count_vue_vue_type_template_id_17ed2538___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lxc_count_vue_vue_type_template_id_17ed2538___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lxc_count_vue_vue_type_template_id_17ed2538___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lxc_count_vue_vue_type_template_id_17ed2538___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 130 */
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/lxc-count/lxc-count.vue?vue&type=template&id=17ed2538& ***!
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"view",
{
staticClass: _vm._$s(0, "sc", "count-box"),
class: _vm._$s(0, "c", _vm.status ? "count-box-light" : "count-box-gray"),
attrs: { _i: 0 },
},
[
_c("view", {
staticClass: _vm._$s(1, "sc", "count-less count-pub"),
class: _vm._$s(1, "c", [_vm.myValue <= _vm.min ? "light" : "gray"]),
attrs: { _i: 1 },
on: {
longpress: _vm.longpressLess,
touchend: _vm.handletouchend,
click: function ($event) {
$event.stopPropagation()
return _vm.less($event)
},
},
}),
_c("view", {
staticClass: _vm._$s(2, "sc", "count-add count-pub"),
class: _vm._$s(2, "c", [_vm.myValue >= _vm.max ? "light" : "gray"]),
attrs: { _i: 2 },
on: {
longpress: _vm.longpressAdd,
touchend: _vm.handletouchend,
click: function ($event) {
$event.stopPropagation()
return _vm.add($event)
},
},
}),
_c("input", {
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.myValue,
expression: "myValue",
},
],
staticClass: _vm._$s(3, "sc", "count-input"),
attrs: { _i: 3 },
domProps: { value: _vm._$s(3, "v-model", _vm.myValue) },
on: {
focus: _vm.onFocus,
blur: _vm.onBlue,
input: function ($event) {
if ($event.target.composing) {
return
}
_vm.myValue = $event.target.value
},
},
}),
]
)
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 131 */
/*!************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/lxc-count/lxc-count.vue?vue&type=script&lang=js& ***!
\************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lxc_count_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./lxc-count.vue?vue&type=script&lang=js& */ 132);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lxc_count_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lxc_count_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lxc_count_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lxc_count_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lxc_count_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW9pQixDQUFnQix1a0JBQUcsRUFBQyIsImZpbGUiOiIxMzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTctMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9seGMtY291bnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTctMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9seGMtY291bnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///131\n");
/***/ }),
/* 132 */
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/lxc-count/lxc-count.vue?vue&type=script&lang=js& ***!
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n data: function data() {\n return {\n myValue: 0,\n status: false,\n timer: null\n };\n },\n props: {\n // 计数器中的值\n value: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 10000\n },\n min: {\n type: Number,\n default: 2\n },\n // 点击当前数据的索引\n index: {\n type: Number\n },\n delayed: {\n type: Number,\n default: 200\n }\n },\n created: function created() {\n this.myValue = this.value;\n },\n watch: {\n value: function value(val) {\n this.myValue = val;\n }\n },\n methods: {\n onBlue: function onBlue() {\n if (+this.myValue >= this.max) {\n this.myValue = this.max;\n this.status = false;\n } else if (+this.myValue <= this.min) {\n this.myValue = this.min;\n this.status = false;\n } else {\n this.status = true;\n this.myValue = +this.myValue;\n }\n if (!isNaN(this.myValue)) {\n this.$emit('handleCount', this.myValue, this.index);\n } else {\n this.$emit('handleCount', 0, this.index);\n }\n },\n onFocus: function onFocus() {\n this.status = true;\n },\n add: function add() {\n this.addPublick();\n },\n addPublick: function addPublick() {\n if (this.myValue >= this.max) {\n this.status = false;\n this.myValue = this.max;\n clearInterval(this.timer);\n } else {\n this.status = true;\n this.myValue++;\n }\n this.$emit('handleCount', this.myValue, this.index);\n },\n longpressAdd: function longpressAdd() {\n var _this = this;\n this.timer = setInterval(function () {\n _this.addPublick();\n }, this.delayed);\n },\n less: function less() {\n this.lessPublick();\n },\n lessPublick: function lessPublick() {\n if (this.myValue <= this.min) {\n clearInterval(this.timer);\n this.status = false;\n this.myValue = this.min;\n } else {\n this.status = true;\n this.myValue--;\n }\n this.$emit('handleCount', this.myValue, this.index);\n },\n longpressLess: function longpressLess() {\n var _this2 = this;\n this.timer = setInterval(function () {\n _this2.lessPublick();\n }, this.delayed);\n },\n handletouchend: function handletouchend() {\n clearInterval(this.timer);\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy9seGMtY291bnQvbHhjLWNvdW50LnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwibXlWYWx1ZSIsInN0YXR1cyIsInRpbWVyIiwicHJvcHMiLCJ2YWx1ZSIsInR5cGUiLCJkZWZhdWx0IiwibWF4IiwibWluIiwiaW5kZXgiLCJkZWxheWVkIiwiY3JlYXRlZCIsIndhdGNoIiwibWV0aG9kcyIsIm9uQmx1ZSIsIm9uRm9jdXMiLCJhZGQiLCJhZGRQdWJsaWNrIiwiY2xlYXJJbnRlcnZhbCIsImxvbmdwcmVzc0FkZCIsImxlc3MiLCJsZXNzUHVibGljayIsImxvbmdwcmVzc0xlc3MiLCJoYW5kbGV0b3VjaGVuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7ZUFTQTtFQUNBQTtJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7SUFDQUM7TUFDQUY7TUFDQUM7SUFDQTtJQUNBRTtNQUNBSDtNQUNBQztJQUNBO0lBQ0E7SUFDQUc7TUFDQUo7SUFDQTtJQUNBSztNQUNBTDtNQUNBQztJQUNBO0VBQ0E7RUFDQUs7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FSO01BQ0E7SUFDQTtFQUNBO0VBQ0FTO0lBQ0FDO01BQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0E7UUFDQTtRQUNBQztNQUNBO1FBQ0E7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQUg7UUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FJO01BQUE7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBTDtJQUNBO0VBQ0E7QUFDQTtBQUFBIiwiZmlsZSI6IjEzMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImNvdW50LWJveFwiIDpjbGFzcz1cInN0YXR1cyA/ICdjb3VudC1ib3gtbGlnaHQnIDogJ2NvdW50LWJveC1ncmF5J1wiPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJjb3VudC1sZXNzIGNvdW50LXB1YlwiIDpjbGFzcz1cIltteVZhbHVlIDw9IG1pbiA/ICdsaWdodCcgOiAnZ3JheSddXCIgQHRhcC5zdG9wPVwibGVzc1wiICBAbG9uZ3ByZXNzPSdsb25ncHJlc3NMZXNzJyBAdG91Y2hlbmQ9XCJoYW5kbGV0b3VjaGVuZFwiPi08L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cImNvdW50LWFkZCBjb3VudC1wdWJcIiA6Y2xhc3M9XCJbbXlWYWx1ZSA+PSBtYXggPyAnbGlnaHQnIDogJ2dyYXknXVwiIEB0YXAuc3RvcD1cImFkZFwiIEBsb25ncHJlc3M9J2xvbmdwcmVzc0FkZCcgQHRvdWNoZW5kPVwiaGFuZGxldG91Y2hlbmRcIj4rPC92aWV3PlxyXG5cdFx0PGlucHV0IHR5cGU9XCJudW1iZXJcIiB2LW1vZGVsPVwibXlWYWx1ZVwiIEBmb2N1cz1cIm9uRm9jdXNcIiBAYmx1cj1cIm9uQmx1ZVwiIGNsYXNzPVwiY291bnQtaW5wdXRcIi8+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCl7XHJcblx0XHRcdHJldHVybntcclxuXHRcdFx0XHRteVZhbHVlOiAwLFxyXG5cdFx0XHRcdHN0YXR1czogZmFsc2UsXHJcblx0XHRcdFx0dGltZXI6IG51bGxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdHByb3BzOiB7XHJcblx0XHRcdC8vIOiuoeaVsOWZqOS4reeahOWAvFxyXG5cdFx0XHR2YWx1ZToge1xyXG5cdFx0XHRcdHR5cGU6IE51bWJlcixcclxuXHRcdFx0XHRkZWZhdWx0OiAwXHJcblx0XHRcdH0sXHJcblx0XHRcdG1heDoge1xyXG5cdFx0XHRcdHR5cGU6IE51bWJlcixcclxuXHRcdFx0XHRkZWZhdWx0OiAxMDAwMFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRtaW46IHtcclxuXHRcdFx0XHR0eXBlOiBOdW1iZXIsXHJcblx0XHRcdFx0ZGVmYXVsdDogMlxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDngrnlh7vlvZPliY3mlbDmja7nmoTntKLlvJVcclxuXHRcdFx0aW5kZXg6IHtcclxuXHRcdFx0XHR0eXBlOiBOdW1iZXJcclxuXHRcdFx0fSxcclxuXHRcdFx0ZGVsYXllZDoge1xyXG5cdFx0XHRcdHR5cGU6IE51bWJlcixcclxuXHRcdFx0XHRkZWZhdWx0OiAyMDBcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNyZWF0ZWQoKSB7XHJcblx0XHRcdHRoaXMubXlWYWx1ZSA9IHRoaXMudmFsdWVcclxuXHRcdH0sXHJcblx0XHR3YXRjaDp7XHJcblx0XHRcdHZhbHVlKHZhbCkge1xyXG5cdFx0XHRcdHRoaXMubXlWYWx1ZSA9IHZhbFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRvbkJsdWUoKSB7XHJcblx0XHRcdFx0aWYoK3RoaXMubXlWYWx1ZSA+PSB0aGlzLm1heCkge1xyXG5cdFx0XHRcdFx0dGhpcy5teVZhbHVlID0gdGhpcy5tYXhcclxuXHRcdFx0XHRcdHRoaXMuc3RhdHVzID0gZmFsc2VcclxuXHRcdFx0XHR9ZWxzZSBpZigrdGhpcy5teVZhbHVlIDw9IHRoaXMubWluKSB7XHJcblx0XHRcdFx0XHR0aGlzLm15VmFsdWUgPSB0aGlzLm1pblxyXG5cdFx0XHRcdFx0dGhpcy5zdGF0dXMgPSBmYWxzZVxyXG5cdFx0XHRcdH1lbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuc3RhdHVzID0gdHJ1ZVxyXG5cdFx0XHRcdFx0dGhpcy5teVZhbHVlID0gK3RoaXMubXlWYWx1ZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZighaXNOYU4odGhpcy5teVZhbHVlKSkge1xyXG5cdFx0XHRcdFx0dGhpcy4kZW1pdCgnaGFuZGxlQ291bnQnLCB0aGlzLm15VmFsdWUsIHRoaXMuaW5kZXgpXHJcblx0XHRcdFx0fWVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy4kZW1pdCgnaGFuZGxlQ291bnQnLCAwLCB0aGlzLmluZGV4KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fSxcclxuXHRcdFx0b25Gb2N1cygpIHtcclxuXHRcdFx0XHR0aGlzLnN0YXR1cyA9IHRydWVcclxuXHRcdFx0fSxcclxuXHRcdFx0YWRkKCkge1xyXG5cdFx0XHRcdHRoaXMuYWRkUHVibGljaygpXHJcblx0XHRcdH0sXHJcblx0XHRcdGFkZFB1YmxpY2soKSB7XHJcblx0XHRcdFx0aWYodGhpcy5teVZhbHVlID49IHRoaXMubWF4KSB7XHJcblx0XHRcdFx0XHR0aGlzLnN0YXR1cyA9IGZhbHNlXHJcblx0XHRcdFx0XHR0aGlzLm15VmFsdWUgPSB0aGlzLm1heFxyXG5cdFx0XHRcdFx0Y2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKVxyXG5cdFx0XHRcdH1lbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuc3RhdHVzID0gdHJ1ZVxyXG5cdFx0XHRcdFx0dGhpcy5teVZhbHVlICsrXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuJGVtaXQoJ2hhbmRsZUNvdW50JywgdGhpcy5teVZhbHVlLCB0aGlzLmluZGV4KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRsb25ncHJlc3NBZGQoKSB7XHJcblx0XHRcdFx0dGhpcy50aW1lciA9IHNldEludGVydmFsKCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuYWRkUHVibGljaygpXHJcblx0XHRcdFx0fSwgdGhpcy5kZWxheWVkKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRsZXNzKCkge1xyXG5cdFx0XHRcdHRoaXMubGVzc1B1YmxpY2soKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRsZXNzUHVibGljaygpIHtcclxuXHRcdFx0XHRpZih0aGlzLm15VmFsdWUgPD0gdGhpcy5taW4pIHtcclxuXHRcdFx0XHRcdGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcilcclxuXHRcdFx0XHRcdHRoaXMuc3RhdHVzID0gZmFsc2VcclxuXHRcdFx0XHRcdHRoaXMubXlWYWx1ZSA9IHRoaXMubWluXHJcblx0XHRcdFx0fWVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5zdGF0dXMgPSB0cnVlXHJcblx0XHRcdFx0XHR0aGlzLm15VmFsdWUgLS1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy4kZW1pdCgnaGFuZGxlQ291bnQnLCB0aGlzLm15VmFsdWUsIHRoaXMuaW5kZXgpXHJcblx0XHRcdH0sXHJcblx0XHRcdGxvbmdwcmVzc0xlc3MoKSB7XHJcblx0XHRcdFx0dGhpcy50aW1lciA9IHNldEludGVydmFsKCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMubGVzc1B1YmxpY2soKVxyXG5cdFx0XHRcdH0sIHRoaXMuZGVsYXllZClcclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGxldG91Y2hlbmQoKSB7XHJcblx0XHRcdFx0Y2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuPHN0eWxlPlxyXG5cdC5ncmF5e1xyXG5cdFx0YmFja2dyb3VuZDogI2VlZjNmOTtcclxuXHRcdGNvbG9yOiAjNTU1NTU1O1xyXG5cdH1cclxuXHQubGlnaHR7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZjVmN2ZhO1xyXG5cdFx0Y29sb3I6ICNDOEM3Q0M7XHJcblx0fVxyXG5cdC5jb3VudC1ib3h7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogMjIwcnB4O1xyXG5cdFx0aGVpZ2h0OiA2MHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG5cdH1cclxuXHQuY291bnQtYm94LWxpZ2h0e1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2FkZDRmZjtcclxuXHR9XHJcblx0LmNvdW50LWJveC1ncmF5e1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2U0ZTRlNDtcclxuXHR9XHJcblx0LmNvdW50LXB1YntcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogNTAlO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XHJcblx0XHR3aWR0aDogNjBycHg7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0fVxyXG5cdC5jb3VudC1sZXNze1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHg7XHJcblx0fVxyXG5cdC5jb3VudC1hZGR7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtcclxuXHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDtcclxuXHR9XHJcblx0LmNvdW50LWlucHV0e1xyXG5cdFx0d2lkdGg6IDExMHJweDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xyXG5cdFx0cGFkZGluZzogNnJweCAxMHJweDtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRjb2xvcjogIzgwODA4MDtcclxuXHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///132\n");
/***/ }),
/* 133 */
/*!******************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/uni-popup/uni-popup-qiang.vue?vue&type=script&lang=js& ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_qiang_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-popup-qiang.vue?vue&type=script&lang=js& */ 134);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_qiang_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_qiang_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_qiang_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_qiang_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_popup_qiang_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTBpQixDQUFnQiw2a0JBQUcsRUFBQyIsImZpbGUiOiIxMzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTctMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi91bmktcG9wdXAtcWlhbmcudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTctMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi91bmktcG9wdXAtcWlhbmcudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///133\n");
/***/ }),
/* 134 */
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/uni-popup/uni-popup-qiang.vue?vue&type=script&lang=js& ***!
\***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/**\n * PopUp 弹出层-对话框样式\n * @description 弹出层-对话框样式\n * @tutorial https://ext.dcloud.net.cn/plugin?id=329\n * @property {String} value input 模式下的默认值\n * @property {String} placeholder input 模式下输入提示\n * @property {String} type = [success|warning|info|error] 主题样式\n * @value success 成功\n * \t@value warning 提示\n * \t@value info 消息\n * \t@value error 错误\n * @property {String} mode = [base|input] 模式、\n * \t@value base 基础对话框\n * \t@value input 可输入对话框\n * @property {String} content 对话框内容\n * @property {Boolean} beforeClose 是否拦截取消事件\n * @event {Function} confirm 点击确认按钮触发\n * @event {Function} close 点击取消按钮触发\n */\nvar _default2 = {\n name: \"uniPopupQiang\",\n props: {\n item: {\n type: Object,\n default: function _default() {\n return {\n index: 0,\n num: 2\n };\n }\n },\n value: {\n type: [String, Number],\n default: ''\n },\n maxlength: {\n type: Number,\n default: 10\n },\n status: {\n type: String,\n default: '0'\n },\n placeholder: {\n type: [String, Number],\n default: '请输入内容'\n },\n /**\n * 对话框主题 success/warning/info/error\t 默认 success\n */\n type: {\n type: String,\n default: 'error'\n },\n /**\n * 对话框模式 base/input\n */\n mode: {\n type: String,\n default: 'base'\n },\n /**\n * 对话框标题\n */\n title: {\n type: String,\n default: '提示'\n },\n /**\n * 对话框内容\n */\n content: {\n type: String,\n default: ''\n },\n /**\n * 拦截取消事件 ,如果拦截取消事件,必须监听close事件,执行 done()\n */\n beforeClose: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n dialogType: 'error',\n focus: false,\n val: \"\",\n num: 2\n };\n },\n inject: ['popup'],\n watch: {\n type: function type(val) {\n this.dialogType = val;\n },\n mode: function mode(val) {\n if (val === 'input') {\n this.dialogType = 'info';\n }\n },\n value: function value(val) {\n this.val = val;\n }\n },\n created: function created() {\n // 对话框遮罩不可点击\n this.popup.mkclick = false;\n if (this.mode === 'input') {\n this.dialogType = 'info';\n this.val = this.value;\n } else {\n this.dialogType = this.type;\n }\n },\n mounted: function mounted() {\n this.focus = true;\n },\n methods: {\n handleCountClick: function handleCountClick(num) {\n this.num = num;\n },\n /**\n * 点击确认按钮\n */\n onOk: function onOk(status) {\n this.$emit('confirm', {\n num: this.num,\n status: status\n });\n },\n /**\n * 点击取消按钮\n */\n close: function close() {\n var _this = this;\n if (this.beforeClose) {\n this.$emit('close', function () {\n _this.popup.close();\n });\n return;\n }\n this.popup.close();\n }\n }\n};\nexports.default = _default2;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy91bmktcG9wdXAvdW5pLXBvcHVwLXFpYW5nLnZ1ZSJdLCJuYW1lcyI6WyJuYW1lIiwicHJvcHMiLCJpdGVtIiwidHlwZSIsImRlZmF1bHQiLCJpbmRleCIsIm51bSIsInZhbHVlIiwibWF4bGVuZ3RoIiwic3RhdHVzIiwicGxhY2Vob2xkZXIiLCJtb2RlIiwidGl0bGUiLCJjb250ZW50IiwiYmVmb3JlQ2xvc2UiLCJkYXRhIiwiZGlhbG9nVHlwZSIsImZvY3VzIiwidmFsIiwiaW5qZWN0Iiwid2F0Y2giLCJjcmVhdGVkIiwibW91bnRlZCIsIm1ldGhvZHMiLCJoYW5kbGVDb3VudENsaWNrIiwib25PayIsImNsb3NlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFsQkEsZ0JBb0JBO0VBQ0FBO0VBQ0FDO0lBQ0FDO01BQ0FDO01BQ0FDO1FBQ0E7VUFDQUM7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQUo7TUFDQUM7SUFDQTtJQUNBSTtNQUNBTDtNQUNBQztJQUNBO0lBQ0FLO01BQ0FOO01BQ0FDO0lBQ0E7SUFDQU07TUFDQVA7TUFDQUM7SUFDQTtJQUNBO0FBQ0E7QUFDQTtJQUNBRDtNQUNBQTtNQUNBQztJQUNBO0lBQ0E7QUFDQTtBQUNBO0lBQ0FPO01BQ0FSO01BQ0FDO0lBQ0E7SUFDQTtBQUNBO0FBQ0E7SUFDQVE7TUFDQVQ7TUFDQUM7SUFDQTtJQUNBO0FBQ0E7QUFDQTtJQUNBUztNQUNBVjtNQUNBQztJQUNBO0lBQ0E7QUFDQTtBQUNBO0lBQ0FVO01BQ0FYO01BQ0FDO0lBQ0E7RUFDQTtFQUNBVztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FaO0lBQ0E7RUFDQTtFQUNBYTtFQUNBQztJQUNBakI7TUFDQTtJQUNBO0lBQ0FRO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUo7TUFDQTtJQUNBO0VBQ0E7RUFDQWM7SUFDQTtJQUNBO0lBQ0E7TUFDQTtNQUNBO0lBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FDO01BQ0E7SUFDQTtJQUNBO0FBQ0E7QUFDQTtJQUNBQztNQUNBO1FBQUFuQjtRQUFBRztNQUFBO0lBQ0E7SUFDQTtBQUNBO0FBQ0E7SUFDQWlCO01BQUE7TUFDQTtRQUNBO1VBQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBIiwiZmlsZSI6IjEzNC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cInVuaS1wb3B1cC1kaWFsb2dcIj5cclxuXHRcdDx2aWV3IGNsYXNzPVwidW5pLWRpYWxvZy10aXRsZVwiPlxyXG5cdFx0XHQ8dGV4dCBjbGFzcz1cInVuaS1kaWFsb2ctdGl0bGUtdGV4dFwiIDpjbGFzcz1cIlsndW5pLXBvcHVwX18nK2RpYWxvZ1R5cGVdXCI+e3t0aXRsZX19PC90ZXh0PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ1bmktZGlhbG9nLWNvbnRlbnRcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ1bmktZGlhbG9nLWNvbnRlbnQtdGl0bGVcIj7popHnjofvvJo8L3ZpZXc+XHJcblx0XHRcdDxseGMtY291bnRcclxuXHRcdFx0XHRcdEBoYW5kbGVDb3VudD1cImhhbmRsZUNvdW50Q2xpY2tcIlxyXG5cdFx0XHRcdFx0OmluZGV4PVwiaXRlbS5pbmRleFwiXHJcblx0XHRcdFx0XHQ6dmFsdWU9XCJpdGVtLm51bVwiXHJcblx0XHRcdFx0XHQ6ZGVsYXllZD1cIjEwMFwiXHJcblx0XHRcdD5cclxuXHRcdFx0PC9seGMtY291bnQ+XHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ1bmktZGlhbG9nLWJ1dHRvbi1ncm91cFwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInVuaS1kaWFsb2ctYnV0dG9uXCIgQGNsaWNrPVwiY2xvc2VcIj5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cInVuaS1kaWFsb2ctYnV0dG9uLXRleHRcIj7lj5bmtog8L3RleHQ+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ1bmktZGlhbG9nLWJ1dHRvbiB1bmktYm9yZGVyLWxlZnRcIiBAY2xpY2s9XCJvbk9rKHN0YXR1cyA9PSAwID8gMSA6IDApXCI+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJ1bmktZGlhbG9nLWJ1dHRvbi10ZXh0IHVuaS1idXR0b24tY29sb3JcIj57e3N0YXR1cyA9PSAwID8gJ+W8gOWQrycgOiAn5YWz6ZetJ319PC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHQvKipcclxuXHQgKiBQb3BVcCDlvLnlh7rlsYIt5a+56K+d5qGG5qC35byPXHJcblx0ICogQGRlc2NyaXB0aW9uIOW8ueWHuuWxgi3lr7nor53moYbmoLflvI9cclxuXHQgKiBAdHV0b3JpYWwgaHR0cHM6Ly9leHQuZGNsb3VkLm5ldC5jbi9wbHVnaW4/aWQ9MzI5XHJcblx0ICogQHByb3BlcnR5IHtTdHJpbmd9IHZhbHVlIGlucHV0IOaooeW8j+S4i+eahOm7mOiupOWAvFxyXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBwbGFjZWhvbGRlciBpbnB1dCDmqKHlvI/kuIvovpPlhaXmj5DnpLpcclxuXHQgKiBAcHJvcGVydHkge1N0cmluZ30gdHlwZSA9IFtzdWNjZXNzfHdhcm5pbmd8aW5mb3xlcnJvcl0g5Li76aKY5qC35byPXHJcblx0ICogIEB2YWx1ZSBzdWNjZXNzIOaIkOWKn1xyXG5cdCAqIFx0QHZhbHVlIHdhcm5pbmcg5o+Q56S6XHJcblx0ICogXHRAdmFsdWUgaW5mbyDmtojmga9cclxuXHQgKiBcdEB2YWx1ZSBlcnJvciDplJnor69cclxuXHQgKiBAcHJvcGVydHkge1N0cmluZ30gbW9kZSA9IFtiYXNlfGlucHV0XSDmqKHlvI/jgIFcclxuXHQgKiBcdEB2YWx1ZSBiYXNlIOWfuuehgOWvueivneahhlxyXG5cdCAqIFx0QHZhbHVlIGlucHV0IOWPr+i+k+WFpeWvueivneahhlxyXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBjb250ZW50IOWvueivneahhuWGheWuuVxyXG5cdCAqIEBwcm9wZXJ0eSB7Qm9vbGVhbn0gYmVmb3JlQ2xvc2Ug5piv5ZCm5oum5oiq5Y+W5raI5LqL5Lu2XHJcblx0ICogQGV2ZW50IHtGdW5jdGlvbn0gY29uZmlybSDngrnlh7vnoa7orqTmjInpkq7op6blj5FcclxuXHQgKiBAZXZlbnQge0Z1bmN0aW9ufSBjbG9zZSDngrnlh7vlj5bmtojmjInpkq7op6blj5FcclxuXHQgKi9cclxuXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0bmFtZTogXCJ1bmlQb3B1cFFpYW5nXCIsXHJcblx0XHRwcm9wczoge1xyXG5cdFx0XHRpdGVtOntcclxuXHRcdFx0XHR0eXBlOk9iamVjdCxcclxuXHRcdFx0XHRkZWZhdWx0OigpPT57XHJcblx0XHRcdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdFx0XHRpbmRleDowLFxyXG5cdFx0XHRcdFx0XHRudW06MixcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHZhbHVlOiB7XHJcblx0XHRcdFx0dHlwZTogW1N0cmluZywgTnVtYmVyXSxcclxuXHRcdFx0XHRkZWZhdWx0OiAnJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRtYXhsZW5ndGg6e1xyXG5cdFx0XHRcdHR5cGU6IE51bWJlcixcclxuXHRcdFx0XHRkZWZhdWx0OiAxMFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzdGF0dXM6e1xyXG5cdFx0XHRcdHR5cGU6U3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6JzAnXHJcblx0XHRcdH0sXHJcblx0XHRcdHBsYWNlaG9sZGVyOiB7XHJcblx0XHRcdFx0dHlwZTogW1N0cmluZywgTnVtYmVyXSxcclxuXHRcdFx0XHRkZWZhdWx0OiAn6K+36L6T5YWl5YaF5a65J1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICog5a+56K+d5qGG5Li76aKYIHN1Y2Nlc3Mvd2FybmluZy9pbmZvL2Vycm9yXHQgIOm7mOiupCBzdWNjZXNzXHJcblx0XHRcdCAqL1xyXG5cdFx0XHR0eXBlOiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICdlcnJvcidcclxuXHRcdFx0fSxcclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIOWvueivneahhuaooeW8jyBiYXNlL2lucHV0XHJcblx0XHRcdCAqL1xyXG5cdFx0XHRtb2RlOiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICdiYXNlJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICog5a+56K+d5qGG5qCH6aKYXHJcblx0XHRcdCAqL1xyXG5cdFx0XHR0aXRsZToge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0OiAn5o+Q56S6J1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICog5a+56K+d5qGG5YaF5a65XHJcblx0XHRcdCAqL1xyXG5cdFx0XHRjb250ZW50OiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICcnXHJcblx0XHRcdH0sXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiDmi6bmiKrlj5bmtojkuovku7Yg77yM5aaC5p6c5oum5oiq5Y+W5raI5LqL5Lu277yM5b+F6aG755uR5ZCsY2xvc2Xkuovku7bvvIzmiafooYwgZG9uZSgpXHJcblx0XHRcdCAqL1xyXG5cdFx0XHRiZWZvcmVDbG9zZToge1xyXG5cdFx0XHRcdHR5cGU6IEJvb2xlYW4sXHJcblx0XHRcdFx0ZGVmYXVsdDogZmFsc2VcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0ZGlhbG9nVHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRmb2N1czogZmFsc2UsXHJcblx0XHRcdFx0dmFsOiBcIlwiLFxyXG5cdFx0XHRcdG51bToyXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRpbmplY3Q6IFsncG9wdXAnXSxcclxuXHRcdHdhdGNoOiB7XHJcblx0XHRcdHR5cGUodmFsKSB7XHJcblx0XHRcdFx0dGhpcy5kaWFsb2dUeXBlID0gdmFsXHJcblx0XHRcdH0sXHJcblx0XHRcdG1vZGUodmFsKSB7XHJcblx0XHRcdFx0aWYgKHZhbCA9PT0gJ2lucHV0Jykge1xyXG5cdFx0XHRcdFx0dGhpcy5kaWFsb2dUeXBlID0gJ2luZm8nXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR2YWx1ZSh2YWwpIHtcclxuXHRcdFx0XHR0aGlzLnZhbCA9IHZhbFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0Y3JlYXRlZCgpIHtcclxuXHRcdFx0Ly8g5a+56K+d5qGG6YGu572p5LiN5Y+v54K55Ye7XHJcblx0XHRcdHRoaXMucG9wdXAubWtjbGljayA9IGZhbHNlXHJcblx0XHRcdGlmICh0aGlzLm1vZGUgPT09ICdpbnB1dCcpIHtcclxuXHRcdFx0XHR0aGlzLmRpYWxvZ1R5cGUgPSAnaW5mbydcclxuXHRcdFx0XHR0aGlzLnZhbCA9IHRoaXMudmFsdWVcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLmRpYWxvZ1R5cGUgPSB0aGlzLnR5cGVcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1vdW50ZWQoKSB7XHJcblx0XHRcdHRoaXMuZm9jdXMgPSB0cnVlXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRoYW5kbGVDb3VudENsaWNrKG51bSl7XHJcblx0XHRcdFx0XHR0aGlzLm51bSA9IG51bTtcclxuXHRcdFx0fSxcclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIOeCueWHu+ehruiupOaMiemSrlxyXG5cdFx0XHQgKi9cclxuXHRcdFx0b25PayhzdGF0dXMpIHtcclxuXHRcdFx0XHR0aGlzLiRlbWl0KCdjb25maXJtJyx7bnVtOnRoaXMubnVtLHN0YXR1czpzdGF0dXN9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICog54K55Ye75Y+W5raI5oyJ6ZKuXHJcblx0XHRcdCAqL1xyXG5cdFx0XHRjbG9zZSgpIHtcclxuXHRcdFx0XHRpZiAodGhpcy5iZWZvcmVDbG9zZSkge1xyXG5cdFx0XHRcdFx0dGhpcy4kZW1pdCgnY2xvc2UnLCAoKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMucG9wdXAuY2xvc2UoKVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdHJldHVyblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLnBvcHVwLmNsb3NlKClcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XHJcblx0LnVuaS1wb3B1cC1kaWFsb2cge1xyXG5cdFx0d2lkdGg6IDMwMHB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHR9XHJcblxyXG5cdC51bmktZGlhbG9nLXRpdGxlIHtcclxuXHRcdC8qICNpZm5kZWYgQVBQLU5WVUUgKi9cclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHQvKiAjZW5kaWYgKi9cclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblx0XHRwYWRkaW5nOiAyMHB4IDAgMTBweCAxNXB4O1xyXG5cdH1cclxuXHJcblx0LnVuaS1kaWFsb2ctdGl0bGUtdGV4dCB7XHJcblx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdH1cclxuXHJcblxyXG5cclxuXHQudW5pLWRpYWxvZy1idXR0b24tZ3JvdXAge1xyXG5cdFx0LyogI2lmbmRlZiBBUFAtTlZVRSAqL1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdC8qICNlbmRpZiAqL1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGJvcmRlci10b3AtY29sb3I6ICNiZGJkYmQ7XHJcblx0XHRib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuXHRcdGJvcmRlci10b3Atd2lkdGg6IDFweDtcclxuXHRcdG1hcmdpbi10b3A6NXB4O1xyXG5cdH1cclxuXHJcblx0LnVuaS1kaWFsb2ctYnV0dG9uIHtcclxuXHRcdC8qICNpZm5kZWYgQVBQLU5WVUUgKi9cclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHQvKiAjZW5kaWYgKi9cclxuXHJcblx0XHRmbGV4OiAxO1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGhlaWdodDogNTVweDtcclxuXHR9XHJcblxyXG5cdC51bmktYm9yZGVyLWxlZnQge1xyXG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICNiZGJkYmQ7XHJcblx0XHRib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XHJcblx0XHRib3JkZXItbGVmdC13aWR0aDogMXB4O1xyXG5cdH1cclxuXHJcblx0LnVuaS1kaWFsb2ctYnV0dG9uLXRleHQge1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxuXHJcblx0LnVuaS1idXR0b24tY29sb3Ige1xyXG5cdH1cclxuXHJcblx0LnVuaS1kaWFsb2ctaW5wdXQge1xyXG5cdFx0ZmxleDogMTtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcblx0XHRsaW5lLWhlaWdodCA6MS45cmVtICFpbXBvcnRhbnQ7XHJcblx0XHRoZWlnaHQ6MS45cmVtICFpbXBvcnRhbnQ7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdFx0cGFkZGluZy1sZWZ0OjJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XHJcblx0fVxyXG5cclxuXHQudW5pLXBvcHVwX19zdWNjZXNzIHtcclxuXHRcdGNvbG9yOiAkdW5pLWNvbG9yLXN1Y2Nlc3M7XHJcblx0fVxyXG5cclxuXHQudW5pLXBvcHVwX193YXJuIHtcclxuXHRcdGNvbG9yOiAkdW5pLWNvbG9yLXdhcm5pbmc7XHJcblx0fVxyXG5cclxuXHQudW5pLXBvcHVwX19lcnJvciB7XHJcblx0XHRjb2xvcjogJHVuaS1jb2xvci1lcnJvcjtcclxuXHR9XHJcblxyXG5cdC51bmktcG9wdXBfX2luZm8ge1xyXG5cdFx0Y29sb3I6ICM5MDkzOTk7XHJcblx0fVxyXG5cdC51bmktZGlhbG9nLWNvbnRlbnR7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0cGFkZGluZzogNDBycHg7XHJcblx0fVxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///134\n");
/***/ }),
/* 135 */
/*!*************************************************************!*\
!*** E:/2023/8/MT_APP/components/textScroll/textScroll.vue ***!
\*************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _textScroll_vue_vue_type_template_id_ff1610f8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./textScroll.vue?vue&type=template&id=ff1610f8& */ 136);\n/* harmony import */ var _textScroll_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./textScroll.vue?vue&type=script&lang=js& */ 138);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _textScroll_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _textScroll_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _textScroll_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _textScroll_vue_vue_type_template_id_ff1610f8___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _textScroll_vue_vue_type_template_id_ff1610f8___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _textScroll_vue_vue_type_template_id_ff1610f8___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"components/textScroll/textScroll.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBdUg7QUFDdkg7QUFDOEQ7QUFDTDs7O0FBR3pEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLGdGQUFNO0FBQ1IsRUFBRSxxRkFBTTtBQUNSLEVBQUUsOEZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUseUZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTM1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi90ZXh0U2Nyb2xsLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1mZjE2MTBmOCZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL3RleHRTY3JvbGwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi90ZXh0U2Nyb2xsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJjb21wb25lbnRzL3RleHRTY3JvbGwvdGV4dFNjcm9sbC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///135\n");
/***/ }),
/* 136 */
/*!********************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/textScroll/textScroll.vue?vue&type=template&id=ff1610f8& ***!
\********************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_textScroll_vue_vue_type_template_id_ff1610f8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./textScroll.vue?vue&type=template&id=ff1610f8& */ 137);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_textScroll_vue_vue_type_template_id_ff1610f8___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_textScroll_vue_vue_type_template_id_ff1610f8___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_textScroll_vue_vue_type_template_id_ff1610f8___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_textScroll_vue_vue_type_template_id_ff1610f8___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 137 */
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/textScroll/textScroll.vue?vue&type=template&id=ff1610f8& ***!
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c("div", { staticClass: _vm._$s(0, "sc", "tip"), attrs: { _i: 0 } }, [
_c(
"div",
{
staticClass: _vm._$s(1, "sc", "inner"),
class: _vm._$s(1, "c", { move: _vm.scroll }),
style: _vm._$s(1, "s", _vm.styleName),
attrs: { _i: 1 },
},
[
_c(
"text",
{ staticClass: _vm._$s(2, "sc", "tip-inder"), attrs: { _i: 2 } },
[
_vm._v(
_vm._$s(2, "t0-0", _vm._s(_vm.text)) +
_vm._$s(2, "t0-1", _vm._s(_vm.scroll ? _vm.text : ""))
),
]
),
]
),
])
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 138 */
/*!**************************************************************************************!*\
!*** E:/2023/8/MT_APP/components/textScroll/textScroll.vue?vue&type=script&lang=js& ***!
\**************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_textScroll_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./textScroll.vue?vue&type=script&lang=js& */ 139);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_textScroll_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_textScroll_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_textScroll_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_textScroll_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_textScroll_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXFpQixDQUFnQix3a0JBQUcsRUFBQyIsImZpbGUiOiIxMzguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTctMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi90ZXh0U2Nyb2xsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS03LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vdGV4dFNjcm9sbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///138\n");
/***/ }),
/* 139 */
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/2023/8/MT_APP/components/textScroll/textScroll.vue?vue&type=script&lang=js& ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n props: {\n text: {\n type: String,\n defualt: ''\n }\n },\n data: function data() {\n return {\n styleName: \"animation-duration: 6s\",\n scroll: false,\n tipWidth: 0\n };\n },\n watch: {\n text: {\n handler: function handler(val) {\n this.textScroll();\n },\n immediate: false\n }\n },\n methods: {\n textScroll: function textScroll() {\n var _this = this;\n // 等待节点挂载后再执行,热门线路tip滚动实现\n this.$nextTick(function () {\n __f__(\"log\", '滚动', \" at components/textScroll/textScroll.vue:36\");\n var query = uni.createSelectorQuery().in(_this);\n query.select('.tip').boundingClientRect(function (data) {\n _this.tipWidth = data.width;\n __f__(\"log\", 'tip', _this.tipWidth, \" at components/textScroll/textScroll.vue:40\");\n }).exec();\n query.select('.tip-inder').boundingClientRect(function (data) {\n __f__(\"log\", 'tip-inder', data.width, \" at components/textScroll/textScroll.vue:43\");\n if (data.width > _this.tipWidth) {\n var w = Number(data.width);\n var time = Math.round(w / 40);\n _this.styleName = \"animation-duration: \".concat(time, \"s\");\n _this.scroll = true;\n }\n }).exec();\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 */ 33)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy90ZXh0U2Nyb2xsL3RleHRTY3JvbGwudnVlIl0sIm5hbWVzIjpbInByb3BzIiwidGV4dCIsInR5cGUiLCJkZWZ1YWx0IiwiZGF0YSIsInN0eWxlTmFtZSIsInNjcm9sbCIsInRpcFdpZHRoIiwid2F0Y2giLCJoYW5kbGVyIiwiaW1tZWRpYXRlIiwibWV0aG9kcyIsInRleHRTY3JvbGwiLCJxdWVyeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7ZUFTQTtFQUNBQTtJQUNBQztNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQTtNQUNBQztNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQVA7TUFDQVE7UUFDQTtNQUNBO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztNQUFBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQUM7VUFDQTtVQUNBO1FBQ0E7UUFDQUE7VUFDQTtVQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIxMzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyXCIgOmNsYXNzPVwieydtb3ZlJzogc2Nyb2xsfVwiIDpzdHlsZT1cInN0eWxlTmFtZVwiPlxyXG4gICAgICAgICAgICA8dGV4dCBjbGFzcz1cInRpcC1pbmRlclwiPnt7dGV4dH19IHt7c2Nyb2xsID8gdGV4dCA6ICcnIH19PC90ZXh0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgICAgIHByb3BzOiB7XHJcbiAgICAgICAgICAgIHRleHQ6IHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgICAgICAgICAgIGRlZnVhbHQ6ICcnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkYXRhKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgc3R5bGVOYW1lOiBcImFuaW1hdGlvbi1kdXJhdGlvbjogNnNcIixcclxuICAgICAgICAgICAgICAgIHNjcm9sbDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICB0aXBXaWR0aDogMFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2F0Y2g6IHtcclxuICAgICAgICAgICAgdGV4dDoge1xyXG4gICAgICAgICAgICAgICAgaGFuZGxlcih2YWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHRTY3JvbGwoKVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGltbWVkaWF0ZTogZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczoge1xyXG4gICAgICAgICAgICB0ZXh0U2Nyb2xsKCkge1xyXG4gICAgICAgICAgICAgICAgLy8g562J5b6F6IqC54K55oyC6L295ZCO5YaN5omn6KGMLOeDremXqOe6v+i3r3RpcOa7muWKqOWunueOsFxyXG4gICAgICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCfmu5rliqgnKVxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBxdWVyeSA9IHVuaS5jcmVhdGVTZWxlY3RvclF1ZXJ5KCkuaW4odGhpcylcclxuICAgICAgICAgICAgICAgICAgICBxdWVyeS5zZWxlY3QoJy50aXAnKS5ib3VuZGluZ0NsaWVudFJlY3QoZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGlwV2lkdGggPSBkYXRhLndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd0aXAnLCB0aGlzLnRpcFdpZHRoKVxyXG4gICAgICAgICAgICAgICAgICAgIH0pLmV4ZWMoKTtcclxuICAgICAgICAgICAgICAgICAgICBxdWVyeS5zZWxlY3QoJy50aXAtaW5kZXInKS5ib3VuZGluZ0NsaWVudFJlY3QoZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd0aXAtaW5kZXInLCBkYXRhLndpZHRoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihkYXRhLndpZHRoID4gdGhpcy50aXBXaWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHcgPSBOdW1iZXIoZGF0YS53aWR0aClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0aW1lID0gTWF0aC5yb3VuZCh3IC8gNDApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0eWxlTmFtZSA9IGBhbmltYXRpb24tZHVyYXRpb246ICR7dGltZX1zYFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGwgPSB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KS5leGVjKCk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cImxlc3NcIj5cclxuICAgIC50aXAge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbG9yOiAjNGQ4MmZmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgICAgICAgaGVpZ2h0OiA4MHJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogODBycHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgLnRpcCAuaW5uZXIge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC50aXAgLmlubmVyIC50aXAtaW5kZXIge1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgLnRpcCAuaW5uZXIubW92ZSB7XHJcbiAgICAgICAgLy8gYW5pbWF0aW9uOiBtb3ZlIDZzIGluZmluaXRlIGxpbmVhcjtcclxuICAgICAgICBhbmltYXRpb24tbmFtZTogc2Nyb2xsO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHNjcm9sbCB7XHJcbiAgICAgICAgMCUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAxMDAlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuPC9zdHlsZT5cclxuXHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///139\n");
/***/ }),
/* 140 */
/*!**************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vuex3/dist/vuex.common.js ***!
\**************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(global) {/*!
* vuex v3.6.2
* (c) 2021 Evan You
* @license MIT
*/
function applyMixin (Vue) {
var version = Number(Vue.version.split('.')[0]);
if (version >= 2) {
Vue.mixin({ beforeCreate: vuexInit });
} else {
// override init and inject vuex init procedure
// for 1.x backwards compatibility.
var _init = Vue.prototype._init;
Vue.prototype._init = function (options) {
if ( options === void 0 ) options = {};
options.init = options.init
? [vuexInit].concat(options.init)
: vuexInit;
_init.call(this, options);
};
}
/**
* Vuex init hook, injected into each instances init hooks list.
*/
function vuexInit () {
var options = this.$options;
// store injection
if (options.store) {
this.$store = typeof options.store === 'function'
? options.store()
: options.store;
} else if (options.parent && options.parent.$store) {
this.$store = options.parent.$store;
}
}
}
var target = typeof window !== 'undefined'
? window
: typeof global !== 'undefined'
? global
: {};
var devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;
function devtoolPlugin (store) {
if (!devtoolHook) { return }
store._devtoolHook = devtoolHook;
devtoolHook.emit('vuex:init', store);
devtoolHook.on('vuex:travel-to-state', function (targetState) {
store.replaceState(targetState);
});
store.subscribe(function (mutation, state) {
devtoolHook.emit('vuex:mutation', mutation, state);
}, { prepend: true });
store.subscribeAction(function (action, state) {
devtoolHook.emit('vuex:action', action, state);
}, { prepend: true });
}
/**
* Get the first item that pass the test
* by second argument function
*
* @param {Array} list
* @param {Function} f
* @return {*}
*/
function find (list, f) {
return list.filter(f)[0]
}
/**
* Deep copy the given object considering circular structure.
* This function caches all nested objects and its copies.
* If it detects circular structure, use cached copy to avoid infinite loop.
*
* @param {*} obj
* @param {Array