马宇豪
2024-07-22 7ac5363a676588078fdce082a45a28300479e158
unpackage/dist/dev/app-plus/app-service.js
@@ -173,7 +173,7 @@
  return Vue.extend(__webpack_require__(/*! pages/tabBar/firstPage/firstPage.vue?mpType=page */ 237).default);
});
__definePage('pages/tabBar/firstPage/exam', function () {
  return Vue.extend(__webpack_require__(/*! pages/tabBar/firstPage/exam.vue?mpType=page */ 265).default);
  return Vue.extend(__webpack_require__(/*! pages/tabBar/firstPage/exam.vue?mpType=page */ 266).default);
});
__definePage('pages/tabBar/response/response', function () {
  return Vue.extend(__webpack_require__(/*! pages/tabBar/response/response.vue?mpType=page */ 289).default);
@@ -209,34 +209,34 @@
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=2be84a3c&mpType=page */ 8);\n/* harmony import */ var _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js&mpType=page */ 69);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_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 _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 29);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null,\n  false,\n  _index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n  renderjs\n)\n\ncomponent.options.__file = \"pages/index/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNkg7QUFDN0g7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQzRMO0FBQzVMLGdCQUFnQixzTUFBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSwyRkFBTTtBQUNSLEVBQUUsb0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzIH0gZnJvbSBcIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTJiZTg0YTNjJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL0hCdWlsZGVyWC4zLjguNC4yMDIzMDUzMS9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL2luZGV4L2luZGV4LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///7\n");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_2be84a3c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=2be84a3c&scoped=true&mpType=page */ 8);\n/* harmony import */ var _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js&mpType=page */ 69);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_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 _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 29);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _index_vue_vue_type_template_id_2be84a3c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _index_vue_vue_type_template_id_2be84a3c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"2be84a3c\",\n  null,\n  false,\n  _index_vue_vue_type_template_id_2be84a3c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n  renderjs\n)\n\ncomponent.options.__file = \"pages/index/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBeUk7QUFDekk7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQzRMO0FBQzVMLGdCQUFnQixzTUFBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSx1R0FBTTtBQUNSLEVBQUUsZ0hBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMkdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzIH0gZnJvbSBcIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTJiZTg0YTNjJnNjb3BlZD10cnVlJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL0hCdWlsZGVyWC4zLjguNC4yMDIzMDUzMS9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiMmJlODRhM2NcIixcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwicGFnZXMvaW5kZXgvaW5kZXgudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7\n");
/***/ }),
/* 8 */
/*!********************************************************************************************!*\
  !*** G:/workspace/testApp/pages/index/index.vue?vue&type=template&id=2be84a3c&mpType=page ***!
  \********************************************************************************************/
/*!********************************************************************************************************!*\
  !*** G:/workspace/testApp/pages/index/index.vue?vue&type=template&id=2be84a3c&scoped=true&mpType=page ***!
  \********************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=2be84a3c&mpType=page */ 9);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=2be84a3c&scoped=true&mpType=page */ 9);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 9 */
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./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!G:/workspace/testApp/pages/index/index.vue?vue&type=template&id=2be84a3c&mpType=page ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./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!G:/workspace/testApp/pages/index/index.vue?vue&type=template&id=2be84a3c&scoped=true&mpType=page ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -284,96 +284,99 @@
    "view",
    { staticClass: _vm._$s(0, "sc", "box"), attrs: { _i: 0 } },
    [
      _c(
        "view",
        { staticClass: _vm._$s(1, "sc", "header"), attrs: { _i: 1 } },
        [
          _c(
            "view",
            { staticClass: _vm._$s(2, "sc", "titleFirst"), attrs: { _i: 2 } },
            [_c("b")]
          ),
        ]
      ),
      _c(
        "view",
        [
          _c(
            "u-form",
            {
              ref: "uForm",
              staticClass: _vm._$s(5, "sc", "form"),
              attrs: { model: _vm.form, _i: 5 },
            },
            [
              _c(
                "u-form-item",
                { attrs: { _i: 6 } },
                [
                  _c("u-input", {
                    attrs: {
                      customStyle: { background: "#fff" },
                      placeholder: "请输入用户名",
                      _i: 7,
                    },
                    model: {
                      value: _vm._$s(7, "v-model", _vm.form.username),
                      callback: function ($$v) {
                        _vm.$set(_vm.form, "username", $$v)
                      },
                      expression: "form.username",
                    },
                  }),
                ],
                1
              ),
              _c(
                "u-form-item",
                { attrs: { _i: 8 } },
                [
                  _c("u-input", {
                    attrs: {
                      customStyle: { background: "#fff" },
                      type: "password",
                      placeholder: "请输入密码",
                      _i: 9,
                    },
                    model: {
                      value: _vm._$s(9, "v-model", _vm.form.password),
                      callback: function ($$v) {
                        _vm.$set(_vm.form, "password", $$v)
                      },
                      expression: "form.password",
                    },
                  }),
                ],
                1
              ),
              _c(
                "u-form-item",
                { attrs: { _i: 10 } },
                [
                  _c(
                    "u-button",
                    {
      _c("view", { staticClass: _vm._$s(1, "sc", "main"), attrs: { _i: 1 } }, [
        _c(
          "view",
          { staticClass: _vm._$s(2, "sc", "header"), attrs: { _i: 2 } },
          [
            _c(
              "view",
              { staticClass: _vm._$s(3, "sc", "titleFirst"), attrs: { _i: 3 } },
              [_c("b")]
            ),
          ]
        ),
        _c(
          "view",
          [
            _c(
              "u-form",
              {
                ref: "uForm",
                staticClass: _vm._$s(6, "sc", "form"),
                attrs: { model: _vm.form, _i: 6 },
              },
              [
                _c(
                  "u-form-item",
                  { attrs: { _i: 7 } },
                  [
                    _c("u-input", {
                      attrs: {
                        loading: _vm.isLogining,
                        type: "primary",
                        _i: 11,
                        customStyle: _vm.cstyle,
                        placeholder: "请输入用户名",
                        _i: 8,
                      },
                      on: { click: _vm.Login },
                    },
                    [_vm._v("")]
                  ),
                ],
                1
              ),
            ],
            1
          ),
        ],
        1
      ),
                      model: {
                        value: _vm._$s(8, "v-model", _vm.form.username),
                        callback: function ($$v) {
                          _vm.$set(_vm.form, "username", $$v)
                        },
                        expression: "form.username",
                      },
                    }),
                  ],
                  1
                ),
                _c(
                  "u-form-item",
                  { attrs: { _i: 9 } },
                  [
                    _c("u-input", {
                      attrs: {
                        customStyle: _vm.cstyle,
                        type: "password",
                        placeholder: "请输入密码",
                        _i: 10,
                      },
                      model: {
                        value: _vm._$s(10, "v-model", _vm.form.password),
                        callback: function ($$v) {
                          _vm.$set(_vm.form, "password", $$v)
                        },
                        expression: "form.password",
                      },
                    }),
                  ],
                  1
                ),
                _c(
                  "u-form-item",
                  { attrs: { _i: 11 } },
                  [
                    _c(
                      "u-button",
                      {
                        staticClass: _vm._$s(12, "sc", "loginBtn"),
                        attrs: {
                          loading: _vm.isLogining,
                          type: "primary",
                          _i: 12,
                        },
                        on: { click: _vm.Login },
                      },
                      [_vm._v("")]
                    ),
                  ],
                  1
                ),
              ],
              1
            ),
          ],
          1
        ),
      ]),
    ]
  )
}
@@ -968,7 +971,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(process, __f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 4));\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; }\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && Object({\"NODE_ENV\":\"development\",\"VUE_APP_DARK_MODE\":\"false\",\"VUE_APP_NAME\":\"应急响应\",\"VUE_APP_PLATFORM\":\"app-plus\",\"BASE_URL\":\"/\"}) && \"development\" !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n  warning = function warning(type, errors) {\n    if (typeof console !== 'undefined' && console.warn) {\n      if (errors.every(function (e) {\n        return typeof e === 'string';\n      })) {\n        __f__(\"warn\", type, errors, \" at uni_modules/uview-ui/libs/util/async-validator.js:28\");\n      }\n    }\n  };\n}\nfunction convertFieldsError(errors) {\n  if (!errors || !errors.length) return null;\n  var fields = {};\n  errors.forEach(function (error) {\n    var field = error.field;\n    fields[field] = fields[field] || [];\n    fields[field].push(error);\n  });\n  return fields;\n}\nfunction format() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n  var i = 1;\n  var f = args[0];\n  var len = args.length;\n  if (typeof f === 'function') {\n    return f.apply(null, args.slice(1));\n  }\n  if (typeof f === 'string') {\n    var str = String(f).replace(formatRegExp, function (x) {\n      if (x === '%%') {\n        return '%';\n      }\n      if (i >= len) {\n        return x;\n      }\n      switch (x) {\n        case '%s':\n          return String(args[i++]);\n        case '%d':\n          return Number(args[i++]);\n        case '%j':\n          try {\n            return JSON.stringify(args[i++]);\n          } catch (_) {\n            return '[Circular]';\n          }\n          break;\n        default:\n          return x;\n      }\n    });\n    for (var arg = args[i]; i < len; arg = args[++i]) {\n      str += \" \".concat(arg);\n    }\n    return str;\n  }\n  return f;\n}\nfunction isNativeStringType(type) {\n  return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';\n}\nfunction isEmptyValue(value, type) {\n  if (value === undefined || value === null) {\n    return true;\n  }\n  if (type === 'array' && Array.isArray(value) && !value.length) {\n    return true;\n  }\n  if (isNativeStringType(type) && typeof value === 'string' && !value) {\n    return true;\n  }\n  return false;\n}\nfunction asyncParallelArray(arr, func, callback) {\n  var results = [];\n  var total = 0;\n  var arrLength = arr.length;\n  function count(errors) {\n    results.push.apply(results, errors);\n    total++;\n    if (total === arrLength) {\n      callback(results);\n    }\n  }\n  arr.forEach(function (a) {\n    func(a, count);\n  });\n}\nfunction asyncSerialArray(arr, func, callback) {\n  var index = 0;\n  var arrLength = arr.length;\n  function next(errors) {\n    if (errors && errors.length) {\n      callback(errors);\n      return;\n    }\n    var original = index;\n    index += 1;\n    if (original < arrLength) {\n      func(arr[original], next);\n    } else {\n      callback([]);\n    }\n  }\n  next([]);\n}\nfunction flattenObjArr(objArr) {\n  var ret = [];\n  Object.keys(objArr).forEach(function (k) {\n    ret.push.apply(ret, objArr[k]);\n  });\n  return ret;\n}\nfunction asyncMap(objArr, option, func, callback) {\n  if (option.first) {\n    var _pending = new Promise(function (resolve, reject) {\n      var next = function next(errors) {\n        callback(errors);\n        return errors.length ? reject({\n          errors: errors,\n          fields: convertFieldsError(errors)\n        }) : resolve();\n      };\n      var flattenArr = flattenObjArr(objArr);\n      asyncSerialArray(flattenArr, func, next);\n    });\n    _pending.catch(function (e) {\n      return e;\n    });\n    return _pending;\n  }\n  var firstFields = option.firstFields || [];\n  if (firstFields === true) {\n    firstFields = Object.keys(objArr);\n  }\n  var objArrKeys = Object.keys(objArr);\n  var objArrLength = objArrKeys.length;\n  var total = 0;\n  var results = [];\n  var pending = new Promise(function (resolve, reject) {\n    var next = function next(errors) {\n      results.push.apply(results, errors);\n      total++;\n      if (total === objArrLength) {\n        callback(results);\n        return results.length ? reject({\n          errors: results,\n          fields: convertFieldsError(results)\n        }) : resolve();\n      }\n    };\n    if (!objArrKeys.length) {\n      callback(results);\n      resolve();\n    }\n    objArrKeys.forEach(function (key) {\n      var arr = objArr[key];\n      if (firstFields.indexOf(key) !== -1) {\n        asyncSerialArray(arr, func, next);\n      } else {\n        asyncParallelArray(arr, func, next);\n      }\n    });\n  });\n  pending.catch(function (e) {\n    return e;\n  });\n  return pending;\n}\nfunction complementError(rule) {\n  return function (oe) {\n    if (oe && oe.message) {\n      oe.field = oe.field || rule.fullField;\n      return oe;\n    }\n    return {\n      message: typeof oe === 'function' ? oe() : oe,\n      field: oe.field || rule.fullField\n    };\n  };\n}\nfunction deepMerge(target, source) {\n  if (source) {\n    for (var s in source) {\n      if (source.hasOwnProperty(s)) {\n        var value = source[s];\n        if ((0, _typeof2.default)(value) === 'object' && (0, _typeof2.default)(target[s]) === 'object') {\n          target[s] = _objectSpread(_objectSpread({}, target[s]), value);\n        } else {\n          target[s] = value;\n        }\n      }\n    }\n  }\n  return target;\n}\n\n/**\r\n *  Rule for validating required fields.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param source The source object being validated.\r\n *  @param errors An array of errors that this rule may add\r\n *  validation errors to.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction required(rule, value, source, errors, options, type) {\n  if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n    errors.push(format(options.messages.required, rule.fullField));\n  }\n}\n\n/**\r\n *  Rule for validating whitespace.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param source The source object being validated.\r\n *  @param errors An array of errors that this rule may add\r\n *  validation errors to.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction whitespace(rule, value, source, errors, options) {\n  if (/^\\s+$/.test(value) || value === '') {\n    errors.push(format(options.messages.whitespace, rule.fullField));\n  }\n}\n\n/* eslint max-len:0 */\n\nvar pattern = {\n  // http://emailregex.com/\n  email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n  url: new RegExp(\"^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$\", 'i'),\n  hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n  integer: function integer(value) {\n    return /^(-)?\\d+$/.test(value);\n  },\n  float: function float(value) {\n    return /^(-)?\\d+(\\.\\d+)?$/.test(value);\n  },\n  array: function array(value) {\n    return Array.isArray(value);\n  },\n  regexp: function regexp(value) {\n    if (value instanceof RegExp) {\n      return true;\n    }\n    try {\n      return !!new RegExp(value);\n    } catch (e) {\n      return false;\n    }\n  },\n  date: function date(value) {\n    return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';\n  },\n  number: function number(value) {\n    if (isNaN(value)) {\n      return false;\n    }\n\n    // 修改源码,将字符串数值先转为数值\n    return typeof +value === 'number';\n  },\n  object: function object(value) {\n    return (0, _typeof2.default)(value) === 'object' && !types.array(value);\n  },\n  method: function method(value) {\n    return typeof value === 'function';\n  },\n  email: function email(value) {\n    return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n  },\n  url: function url(value) {\n    return typeof value === 'string' && !!value.match(pattern.url);\n  },\n  hex: function hex(value) {\n    return typeof value === 'string' && !!value.match(pattern.hex);\n  }\n};\n/**\r\n *  Rule for validating the type of a value.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param source The source object being validated.\r\n *  @param errors An array of errors that this rule may add\r\n *  validation errors to.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction type(rule, value, source, errors, options) {\n  if (rule.required && value === undefined) {\n    required(rule, value, source, errors, options);\n    return;\n  }\n  var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n  var ruleType = rule.type;\n  if (custom.indexOf(ruleType) > -1) {\n    if (!types[ruleType](value)) {\n      errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n    } // straight typeof check\n  } else if (ruleType && (0, _typeof2.default)(value) !== rule.type) {\n    errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n  }\n}\n\n/**\r\n *  Rule for validating minimum and maximum allowed values.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param source The source object being validated.\r\n *  @param errors An array of errors that this rule may add\r\n *  validation errors to.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction range(rule, value, source, errors, options) {\n  var len = typeof rule.len === 'number';\n  var min = typeof rule.min === 'number';\n  var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n  var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n  var val = value;\n  var key = null;\n  var num = typeof value === 'number';\n  var str = typeof value === 'string';\n  var arr = Array.isArray(value);\n  if (num) {\n    key = 'number';\n  } else if (str) {\n    key = 'string';\n  } else if (arr) {\n    key = 'array';\n  } // if the value is not of a supported type for range validation\n  // the validation rule rule should use the\n  // type property to also test for a particular type\n\n  if (!key) {\n    return false;\n  }\n  if (arr) {\n    val = value.length;\n  }\n  if (str) {\n    // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n    val = value.replace(spRegexp, '_').length;\n  }\n  if (len) {\n    if (val !== rule.len) {\n      errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n    }\n  } else if (min && !max && val < rule.min) {\n    errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n  } else if (max && !min && val > rule.max) {\n    errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n  } else if (min && max && (val < rule.min || val > rule.max)) {\n    errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n  }\n}\nvar ENUM = 'enum';\n/**\r\n *  Rule for validating a value exists in an enumerable list.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param source The source object being validated.\r\n *  @param errors An array of errors that this rule may add\r\n *  validation errors to.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction enumerable(rule, value, source, errors, options) {\n  rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n  if (rule[ENUM].indexOf(value) === -1) {\n    errors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n  }\n}\n\n/**\r\n *  Rule for validating a regular expression pattern.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param source The source object being validated.\r\n *  @param errors An array of errors that this rule may add\r\n *  validation errors to.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction pattern$1(rule, value, source, errors, options) {\n  if (rule.pattern) {\n    if (rule.pattern instanceof RegExp) {\n      // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n      // flag is accidentally set to `true`, which in a validation scenario\n      // is not necessary and the result might be misleading\n      rule.pattern.lastIndex = 0;\n      if (!rule.pattern.test(value)) {\n        errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n      }\n    } else if (typeof rule.pattern === 'string') {\n      var _pattern = new RegExp(rule.pattern);\n      if (!_pattern.test(value)) {\n        errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n      }\n    }\n  }\n}\nvar rules = {\n  required: required,\n  whitespace: whitespace,\n  type: type,\n  range: range,\n  enum: enumerable,\n  pattern: pattern$1\n};\n\n/**\r\n *  Performs validation for string types.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction string(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value, 'string') && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options, 'string');\n    if (!isEmptyValue(value, 'string')) {\n      rules.type(rule, value, source, errors, options);\n      rules.range(rule, value, source, errors, options);\n      rules.pattern(rule, value, source, errors, options);\n      if (rule.whitespace === true) {\n        rules.whitespace(rule, value, source, errors, options);\n      }\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates a function.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction method(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules.type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates a number.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction number(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (value === '') {\n      value = undefined;\n    }\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules.type(rule, value, source, errors, options);\n      rules.range(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates a boolean.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction _boolean(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules.type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates the regular expression type.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction regexp(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (!isEmptyValue(value)) {\n      rules.type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates a number is an integer.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction integer(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules.type(rule, value, source, errors, options);\n      rules.range(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates a number is a floating point number.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction floatFn(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules.type(rule, value, source, errors, options);\n      rules.range(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates an array.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction array(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value, 'array') && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options, 'array');\n    if (!isEmptyValue(value, 'array')) {\n      rules.type(rule, value, source, errors, options);\n      rules.range(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates an object.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction object(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules.type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\nvar ENUM$1 = 'enum';\n/**\r\n *  Validates an enumerable list.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction enumerable$1(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules[ENUM$1](rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates a regular expression pattern.\r\n *\r\n *  Performs validation when a rule only contains\r\n *  a pattern property but is not declared as a string type.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction pattern$2(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value, 'string') && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (!isEmptyValue(value, 'string')) {\n      rules.pattern(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\nfunction date(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (!isEmptyValue(value)) {\n      var dateObject;\n      if (typeof value === 'number') {\n        dateObject = new Date(value);\n      } else {\n        dateObject = value;\n      }\n      rules.type(rule, dateObject, source, errors, options);\n      if (dateObject) {\n        rules.range(rule, dateObject.getTime(), source, errors, options);\n      }\n    }\n  }\n  callback(errors);\n}\nfunction required$1(rule, value, callback, source, options) {\n  var errors = [];\n  var type = Array.isArray(value) ? 'array' : (0, _typeof2.default)(value);\n  rules.required(rule, value, source, errors, options, type);\n  callback(errors);\n}\nfunction type$1(rule, value, callback, source, options) {\n  var ruleType = rule.type;\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value, ruleType) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options, ruleType);\n    if (!isEmptyValue(value, ruleType)) {\n      rules.type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Performs validation for any type.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction any(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n  }\n  callback(errors);\n}\nvar validators = {\n  string: string,\n  method: method,\n  number: number,\n  boolean: _boolean,\n  regexp: regexp,\n  integer: integer,\n  float: floatFn,\n  array: array,\n  object: object,\n  enum: enumerable$1,\n  pattern: pattern$2,\n  date: date,\n  url: type$1,\n  hex: type$1,\n  email: type$1,\n  required: required$1,\n  any: any\n};\nfunction newMessages() {\n  return {\n    default: 'Validation error on field %s',\n    required: '%s is required',\n    enum: '%s must be one of %s',\n    whitespace: '%s cannot be empty',\n    date: {\n      format: '%s date %s is invalid for format %s',\n      parse: '%s date could not be parsed, %s is invalid ',\n      invalid: '%s date %s is invalid'\n    },\n    types: {\n      string: '%s is not a %s',\n      method: '%s is not a %s (function)',\n      array: '%s is not an %s',\n      object: '%s is not an %s',\n      number: '%s is not a %s',\n      date: '%s is not a %s',\n      boolean: '%s is not a %s',\n      integer: '%s is not an %s',\n      float: '%s is not a %s',\n      regexp: '%s is not a valid %s',\n      email: '%s is not a valid %s',\n      url: '%s is not a valid %s',\n      hex: '%s is not a valid %s'\n    },\n    string: {\n      len: '%s must be exactly %s characters',\n      min: '%s must be at least %s characters',\n      max: '%s cannot be longer than %s characters',\n      range: '%s must be between %s and %s characters'\n    },\n    number: {\n      len: '%s must equal %s',\n      min: '%s cannot be less than %s',\n      max: '%s cannot be greater than %s',\n      range: '%s must be between %s and %s'\n    },\n    array: {\n      len: '%s must be exactly %s in length',\n      min: '%s cannot be less than %s in length',\n      max: '%s cannot be greater than %s in length',\n      range: '%s must be between %s and %s in length'\n    },\n    pattern: {\n      mismatch: '%s value %s does not match pattern %s'\n    },\n    clone: function clone() {\n      var cloned = JSON.parse(JSON.stringify(this));\n      cloned.clone = this.clone;\n      return cloned;\n    }\n  };\n}\nvar messages = newMessages();\n\n/**\r\n *  Encapsulates a validation schema.\r\n *\r\n *  @param descriptor An object declaring validation rules\r\n *  for this schema.\r\n */\n\nfunction Schema(descriptor) {\n  this.rules = null;\n  this._messages = messages;\n  this.define(descriptor);\n}\nSchema.prototype = {\n  messages: function messages(_messages) {\n    if (_messages) {\n      this._messages = deepMerge(newMessages(), _messages);\n    }\n    return this._messages;\n  },\n  define: function define(rules) {\n    if (!rules) {\n      throw new Error('Cannot configure a schema with no rules');\n    }\n    if ((0, _typeof2.default)(rules) !== 'object' || Array.isArray(rules)) {\n      throw new Error('Rules must be an object');\n    }\n    this.rules = {};\n    var z;\n    var item;\n    for (z in rules) {\n      if (rules.hasOwnProperty(z)) {\n        item = rules[z];\n        this.rules[z] = Array.isArray(item) ? item : [item];\n      }\n    }\n  },\n  validate: function validate(source_, o, oc) {\n    var _this = this;\n    if (o === void 0) {\n      o = {};\n    }\n    if (oc === void 0) {\n      oc = function oc() {};\n    }\n    var source = source_;\n    var options = o;\n    var callback = oc;\n    if (typeof options === 'function') {\n      callback = options;\n      options = {};\n    }\n    if (!this.rules || Object.keys(this.rules).length === 0) {\n      if (callback) {\n        callback();\n      }\n      return Promise.resolve();\n    }\n    function complete(results) {\n      var i;\n      var errors = [];\n      var fields = {};\n      function add(e) {\n        if (Array.isArray(e)) {\n          var _errors;\n          errors = (_errors = errors).concat.apply(_errors, e);\n        } else {\n          errors.push(e);\n        }\n      }\n      for (i = 0; i < results.length; i++) {\n        add(results[i]);\n      }\n      if (!errors.length) {\n        errors = null;\n        fields = null;\n      } else {\n        fields = convertFieldsError(errors);\n      }\n      callback(errors, fields);\n    }\n    if (options.messages) {\n      var messages$1 = this.messages();\n      if (messages$1 === messages) {\n        messages$1 = newMessages();\n      }\n      deepMerge(messages$1, options.messages);\n      options.messages = messages$1;\n    } else {\n      options.messages = this.messages();\n    }\n    var arr;\n    var value;\n    var series = {};\n    var keys = options.keys || Object.keys(this.rules);\n    keys.forEach(function (z) {\n      arr = _this.rules[z];\n      value = source[z];\n      arr.forEach(function (r) {\n        var rule = r;\n        if (typeof rule.transform === 'function') {\n          if (source === source_) {\n            source = _objectSpread({}, source);\n          }\n          value = source[z] = rule.transform(value);\n        }\n        if (typeof rule === 'function') {\n          rule = {\n            validator: rule\n          };\n        } else {\n          rule = _objectSpread({}, rule);\n        }\n        rule.validator = _this.getValidationMethod(rule);\n        rule.field = z;\n        rule.fullField = rule.fullField || z;\n        rule.type = _this.getType(rule);\n        if (!rule.validator) {\n          return;\n        }\n        series[z] = series[z] || [];\n        series[z].push({\n          rule: rule,\n          value: value,\n          source: source,\n          field: z\n        });\n      });\n    });\n    var errorFields = {};\n    return asyncMap(series, options, function (data, doIt) {\n      var rule = data.rule;\n      var deep = (rule.type === 'object' || rule.type === 'array') && ((0, _typeof2.default)(rule.fields) === 'object' || (0, _typeof2.default)(rule.defaultField) === 'object');\n      deep = deep && (rule.required || !rule.required && data.value);\n      rule.field = data.field;\n      function addFullfield(key, schema) {\n        return _objectSpread(_objectSpread({}, schema), {}, {\n          fullField: \"\".concat(rule.fullField, \".\").concat(key)\n        });\n      }\n      function cb(e) {\n        if (e === void 0) {\n          e = [];\n        }\n        var errors = e;\n        if (!Array.isArray(errors)) {\n          errors = [errors];\n        }\n        if (!options.suppressWarning && errors.length) {\n          Schema.warning('async-validator:', errors);\n        }\n        if (errors.length && rule.message) {\n          errors = [].concat(rule.message);\n        }\n        errors = errors.map(complementError(rule));\n        if (options.first && errors.length) {\n          errorFields[rule.field] = 1;\n          return doIt(errors);\n        }\n        if (!deep) {\n          doIt(errors);\n        } else {\n          // if rule is required but the target object\n          // does not exist fail at the rule level and don't\n          // go deeper\n          if (rule.required && !data.value) {\n            if (rule.message) {\n              errors = [].concat(rule.message).map(complementError(rule));\n            } else if (options.error) {\n              errors = [options.error(rule, format(options.messages.required, rule.field))];\n            } else {\n              errors = [];\n            }\n            return doIt(errors);\n          }\n          var fieldsSchema = {};\n          if (rule.defaultField) {\n            for (var k in data.value) {\n              if (data.value.hasOwnProperty(k)) {\n                fieldsSchema[k] = rule.defaultField;\n              }\n            }\n          }\n          fieldsSchema = _objectSpread(_objectSpread({}, fieldsSchema), data.rule.fields);\n          for (var f in fieldsSchema) {\n            if (fieldsSchema.hasOwnProperty(f)) {\n              var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n              fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n            }\n          }\n          var schema = new Schema(fieldsSchema);\n          schema.messages(options.messages);\n          if (data.rule.options) {\n            data.rule.options.messages = options.messages;\n            data.rule.options.error = options.error;\n          }\n          schema.validate(data.value, data.rule.options || options, function (errs) {\n            var finalErrors = [];\n            if (errors && errors.length) {\n              finalErrors.push.apply(finalErrors, errors);\n            }\n            if (errs && errs.length) {\n              finalErrors.push.apply(finalErrors, errs);\n            }\n            doIt(finalErrors.length ? finalErrors : null);\n          });\n        }\n      }\n      var res;\n      if (rule.asyncValidator) {\n        res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n      } else if (rule.validator) {\n        res = rule.validator(rule, data.value, cb, data.source, options);\n        if (res === true) {\n          cb();\n        } else if (res === false) {\n          cb(rule.message || \"\".concat(rule.field, \" fails\"));\n        } else if (res instanceof Array) {\n          cb(res);\n        } else if (res instanceof Error) {\n          cb(res.message);\n        }\n      }\n      if (res && res.then) {\n        res.then(function () {\n          return cb();\n        }, function (e) {\n          return cb(e);\n        });\n      }\n    }, function (results) {\n      complete(results);\n    });\n  },\n  getType: function getType(rule) {\n    if (rule.type === undefined && rule.pattern instanceof RegExp) {\n      rule.type = 'pattern';\n    }\n    if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n      throw new Error(format('Unknown rule type %s', rule.type));\n    }\n    return rule.type || 'string';\n  },\n  getValidationMethod: function getValidationMethod(rule) {\n    if (typeof rule.validator === 'function') {\n      return rule.validator;\n    }\n    var keys = Object.keys(rule);\n    var messageIndex = keys.indexOf('message');\n    if (messageIndex !== -1) {\n      keys.splice(messageIndex, 1);\n    }\n    if (keys.length === 1 && keys[0] === 'required') {\n      return validators.required;\n    }\n    return validators[this.getType(rule)] || false;\n  }\n};\nSchema.register = function register(type, validator) {\n  if (typeof validator !== 'function') {\n    throw new Error('Cannot register a validator by type, validator is not a function');\n  }\n  validators[type] = validator;\n};\nSchema.warning = warning;\nSchema.messages = messages;\nvar _default = Schema; // # sourceMappingURL=index.js.map\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/node-libs-browser/mock/process.js */ 26), __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvdXZpZXctdWkvbGlicy91dGlsL2FzeW5jLXZhbGlkYXRvci5qcyJdLCJuYW1lcyI6WyJfZXh0ZW5kcyIsIk9iamVjdCIsImFzc2lnbiIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJhcHBseSIsImZvcm1hdFJlZ0V4cCIsIndhcm5pbmciLCJwcm9jZXNzIiwid2luZG93IiwiZG9jdW1lbnQiLCJ0eXBlIiwiZXJyb3JzIiwiY29uc29sZSIsIndhcm4iLCJldmVyeSIsImUiLCJjb252ZXJ0RmllbGRzRXJyb3IiLCJmaWVsZHMiLCJmb3JFYWNoIiwiZXJyb3IiLCJmaWVsZCIsInB1c2giLCJmb3JtYXQiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImYiLCJsZW4iLCJzbGljZSIsInN0ciIsIlN0cmluZyIsInJlcGxhY2UiLCJ4IiwiTnVtYmVyIiwiSlNPTiIsInN0cmluZ2lmeSIsIl8iLCJhcmciLCJpc05hdGl2ZVN0cmluZ1R5cGUiLCJpc0VtcHR5VmFsdWUiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImlzQXJyYXkiLCJhc3luY1BhcmFsbGVsQXJyYXkiLCJhcnIiLCJmdW5jIiwiY2FsbGJhY2siLCJyZXN1bHRzIiwidG90YWwiLCJhcnJMZW5ndGgiLCJjb3VudCIsImEiLCJhc3luY1NlcmlhbEFycmF5IiwiaW5kZXgiLCJuZXh0Iiwib3JpZ2luYWwiLCJmbGF0dGVuT2JqQXJyIiwib2JqQXJyIiwicmV0Iiwia2V5cyIsImsiLCJhc3luY01hcCIsIm9wdGlvbiIsImZpcnN0IiwiX3BlbmRpbmciLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImZsYXR0ZW5BcnIiLCJjYXRjaCIsImZpcnN0RmllbGRzIiwib2JqQXJyS2V5cyIsIm9iakFyckxlbmd0aCIsInBlbmRpbmciLCJpbmRleE9mIiwiY29tcGxlbWVudEVycm9yIiwicnVsZSIsIm9lIiwibWVzc2FnZSIsImZ1bGxGaWVsZCIsImRlZXBNZXJnZSIsInMiLCJyZXF1aXJlZCIsIm9wdGlvbnMiLCJtZXNzYWdlcyIsIndoaXRlc3BhY2UiLCJ0ZXN0IiwicGF0dGVybiIsImVtYWlsIiwidXJsIiwiUmVnRXhwIiwiaGV4IiwidHlwZXMiLCJpbnRlZ2VyIiwiZmxvYXQiLCJhcnJheSIsInJlZ2V4cCIsImRhdGUiLCJnZXRUaW1lIiwiZ2V0TW9udGgiLCJnZXRZZWFyIiwibnVtYmVyIiwiaXNOYU4iLCJvYmplY3QiLCJtZXRob2QiLCJtYXRjaCIsImN1c3RvbSIsInJ1bGVUeXBlIiwicmFuZ2UiLCJtaW4iLCJtYXgiLCJzcFJlZ2V4cCIsInZhbCIsIm51bSIsIkVOVU0iLCJlbnVtZXJhYmxlIiwiam9pbiIsInBhdHRlcm4kMSIsImxhc3RJbmRleCIsIm1pc21hdGNoIiwiX3BhdHRlcm4iLCJydWxlcyIsImVudW0iLCJzdHJpbmciLCJ2YWxpZGF0ZSIsIl9ib29sZWFuIiwiZmxvYXRGbiIsIkVOVU0kMSIsImVudW1lcmFibGUkMSIsInBhdHRlcm4kMiIsImRhdGVPYmplY3QiLCJEYXRlIiwicmVxdWlyZWQkMSIsInR5cGUkMSIsImFueSIsInZhbGlkYXRvcnMiLCJib29sZWFuIiwibmV3TWVzc2FnZXMiLCJkZWZhdWx0IiwicGFyc2UiLCJpbnZhbGlkIiwiY2xvbmUiLCJjbG9uZWQiLCJTY2hlbWEiLCJkZXNjcmlwdG9yIiwiX21lc3NhZ2VzIiwiZGVmaW5lIiwiRXJyb3IiLCJ6IiwiaXRlbSIsInNvdXJjZV8iLCJvIiwib2MiLCJfdGhpcyIsImNvbXBsZXRlIiwiYWRkIiwiX2Vycm9ycyIsImNvbmNhdCIsIm1lc3NhZ2VzJDEiLCJzZXJpZXMiLCJyIiwidHJhbnNmb3JtIiwidmFsaWRhdG9yIiwiZ2V0VmFsaWRhdGlvbk1ldGhvZCIsImdldFR5cGUiLCJlcnJvckZpZWxkcyIsImRhdGEiLCJkb0l0IiwiZGVlcCIsImRlZmF1bHRGaWVsZCIsImFkZEZ1bGxmaWVsZCIsInNjaGVtYSIsImNiIiwic3VwcHJlc3NXYXJuaW5nIiwibWFwIiwiZmllbGRzU2NoZW1hIiwiZmllbGRTY2hlbWEiLCJiaW5kIiwiZXJycyIsImZpbmFsRXJyb3JzIiwicmVzIiwiYXN5bmNWYWxpZGF0b3IiLCJ0aGVuIiwibWVzc2FnZUluZGV4Iiwic3BsaWNlIiwicmVnaXN0ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsU0FBU0EsUUFBUSxHQUFHO0VBQ2hCQSxRQUFRLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxJQUFJLFVBQVVDLE1BQU0sRUFBRTtJQUMxQyxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR0MsU0FBUyxDQUFDQyxNQUFNLEVBQUVGLENBQUMsRUFBRSxFQUFFO01BQ3ZDLElBQU1HLE1BQU0sR0FBR0YsU0FBUyxDQUFDRCxDQUFDLENBQUM7TUFFM0IsS0FBSyxJQUFNSSxHQUFHLElBQUlELE1BQU0sRUFBRTtRQUN0QixJQUFJTixNQUFNLENBQUNRLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNKLE1BQU0sRUFBRUMsR0FBRyxDQUFDLEVBQUU7VUFDbkRMLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDLEdBQUdELE1BQU0sQ0FBQ0MsR0FBRyxDQUFDO1FBQzdCO01BQ0o7SUFDSjtJQUVBLE9BQU9MLE1BQU07RUFDakIsQ0FBQztFQUVELE9BQU9ILFFBQVEsQ0FBQ1ksS0FBSyxDQUFDLElBQUksRUFBRVAsU0FBUyxDQUFDO0FBQzFDOztBQUVBO0FBQ0EsSUFBTVEsWUFBWSxHQUFHLFVBQVU7QUFDL0IsSUFBSUMsT0FBTyxHQUFHLFNBQVNBLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBQzs7QUFFcEMsSUFBSSxPQUFPQyxPQUFPLEtBQUssV0FBVyxJQUFJQSxpSUFBVyxJQUFJQSxhQUFvQixLQUFLLFlBQVksSUFBSSxPQUFPQyxNQUFNLEtBQ3RHLFdBQVcsSUFBSSxPQUFPQyxRQUFRLEtBQUssV0FBVyxFQUFFO0VBQ2pESCxPQUFPLEdB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RTtFQUNqRCxJQUFJLE9BQU9BLFNBQVMsS0FBSyxVQUFVLEVBQUU7SUFDakMsTUFBTSxJQUFJZixLQUFLLENBQUMsa0VBQWtFLENBQUM7RUFDdkY7RUFFQVosVUFBVSxDQUFDOUgsSUFBSSxDQUFDLEdBQUd5SixTQUFTO0FBQ2hDLENBQUM7QUFFRG5CLE1BQU0sQ0FBQzFJLE9BQU8sR0FBR0EsT0FBTztBQUN4QjBJLE1BQU0sQ0FBQzNELFFBQVEsR0FBR0EsUUFBUTtBQUFBLGVBRVgyRCxNQUFNLEVBQ3JCO0FBQUEsMkIiLCJmaWxlIjoiMjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZXh0ZW5kcygpIHtcclxuICAgIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3Qgc291cmNlID0gYXJndW1lbnRzW2ldXHJcblxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2UpIHtcclxuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGFyZ2V0XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcclxufVxyXG5cclxuLyogZXNsaW50IG5vLWNvbnNvbGU6MCAqL1xyXG5jb25zdCBmb3JtYXRSZWdFeHAgPSAvJVtzZGolXS9nXHJcbmxldCB3YXJuaW5nID0gZnVuY3Rpb24gd2FybmluZygpIHt9IC8vIGRvbid0IHByaW50IHdhcm5pbmcgbWVzc2FnZSB3aGVuIGluIHByb2R1Y3Rpb24gZW52IG9yIG5vZGUgcnVudGltZVxyXG5cclxuaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiBwcm9jZXNzLmVudiAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHR5cGVvZiB3aW5kb3dcclxuXHQhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgd2FybmluZyA9IGZ1bmN0aW9uIHdhcm5pbmcodHlwZSwgZXJyb3JzKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJiBjb25zb2xlLndhcm4pIHtcclxuICAgICAgICAgICAgaWYgKGVycm9ycy5ldmVyeSgoZSkgPT4gdHlwZW9mIGUgPT09ICdzdHJpbmcnKSkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKHR5cGUsIGVycm9ycylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gY29udmVydEZpZWxkc0Vycm9yKGVycm9ycykge1xyXG4gICAgaWYgKCFlcnJvcnMgfHwgIWVycm9ycy5sZW5ndGgpIHJldHVybiBudWxsXHJcbiAgICBjb25zdCBmaWVsZHMgPSB7fVxyXG4gICAgZXJyb3JzLmZvckVhY2goKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc3QgeyBmaWVsZCB9ID0gZXJyb3JcclxuICAgICAgICBmaWVsZHNbZmllbGRdID0gZmllbGRzW2ZpZWxkXSB8fCBbXVxyXG4gICAgICAgIGZpZWxkc1tmaWVsZF0ucHVzaChlcnJvcilcclxuICAgIH0pXHJcbiAgICByZXR1cm4gZmllbGRzXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZvcm1hdCgpIHtcclxuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xyXG4gICAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV1cclxuICAgIH1cclxuXHJcbiAgICBsZXQgaSA9IDFcclxuICAgIGNvbnN0IGYgPSBhcmdzWzBdXHJcbiAgICBjb25zdCBsZW4gPSBhcmdzLmxlbmd0aFxyXG5cclxuICAgIGlmICh0eXBlb2YgZiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIHJldHVybiBmLmFwcGx5KG51bGwsIGFyZ3Muc2xpY2UoMSkpXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBmID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIGxldCBzdHIgPSBTdHJpbmcoZikucmVwbGFjZShmb3JtYXRSZWdFeHAsICh4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh4ID09PSAnJSUnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJyUnXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpID49IGxlbikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHhcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3dpdGNoICh4KSB7XHJcbiAgICAgICAgICAgIGNhc2UgJyVzJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoYXJnc1tpKytdKVxyXG5cclxuICAgICAgICAgICAgY2FzZSAnJWQnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcihhcmdzW2krK10pXHJcblxyXG4gICAgICAgICAgICBjYXNlICclaic6XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhcmdzW2krK10pXHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChfKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdbQ2lyY3VsYXJdJ1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGJyZWFrXHJcblxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHhcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIGZvciAobGV0IGFyZyA9IGFyZ3NbaV07IGkgPCBsZW47IGFyZyA9IGFyZ3NbKytpXSkge1xyXG4gICAgICAgICAgICBzdHIgKz0gYCAke2FyZ31gXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc3RyXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZcclxufVxyXG5cclxuZnVuY3Rpb24gaXNOYXRpdmVTdHJpbmdUeXBlKHR5cGUpIHtcclxuICAgIHJldHVybiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlID09PSAndXJsJyB8fCB0eXBlID09PSAnaGV4JyB8fCB0eXBlID09PSAnZW1haWwnIHx8IHR5cGUgPT09ICdwYXR0ZXJuJ1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc0VtcHR5VmFsdWUodmFsdWUsIHR5cGUpIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZSA9PT0gJ2FycmF5JyAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAhdmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNOYXRpdmVTdHJpbmdUeXBlKHR5cGUpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgIXZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2VcclxufVxyXG5cclxuZnVuY3Rpb24gYXN5bmNQYXJhbGxlbEFycmF5KGFyciwgZnVuYywgY2FsbGJhY2spIHtcclxuICAgIGNvbnN0IHJlc3VsdHMgPSBbXVxyXG4gICAgbGV0IHRvdGFsID0gMFxyXG4gICAgY29uc3QgYXJyTGVuZ3RoID0gYXJyLmxlbmd0aFxyXG5cclxuICAgIGZ1bmN0aW9uIGNvdW50KGVycm9ycykge1xyXG4gICAgICAgIHJlc3VsdHMucHVzaC5hcHBseShyZXN1bHRzLCBlcnJvcnMpXHJcbiAgICAgICAgdG90YWwrK1xyXG5cclxuICAgICAgICBpZiAodG90YWwgPT09IGFyckxlbmd0aCkge1xyXG4gICAgICAgICAgICBjYWxsYmFjayhyZXN1bHRzKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhcnIuZm9yRWFjaCgoYSkgPT4ge1xyXG4gICAgICAgIGZ1bmMoYSwgY291bnQpXHJcbiAgICB9KVxyXG59XHJcblxyXG5mdW5jdGlvbiBhc3luY1NlcmlhbEFycmF5KGFyciwgZnVuYywgY2FsbGJhY2spIHtcclxuICAgIGxldCBpbmRleCA9IDBcclxuICAgIGNvbnN0IGFyckxlbmd0aCA9IGFyci5sZW5ndGhcclxuXHJcbiAgICBmdW5jdGlvbiBuZXh0KGVycm9ycykge1xyXG4gICAgICAgIGlmIChlcnJvcnMgJiYgZXJyb3JzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBjYWxsYmFjayhlcnJvcnMpXHJcbiAgICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSBpbmRleFxyXG4gICAgICAgIGluZGV4ICs9IDFcclxuXHJcbiAgICAgICAgaWYgKG9yaWdpbmFsIDwgYXJyTGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGZ1bmMoYXJyW29yaWdpbmFsXSwgbmV4dClcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjYWxsYmFjayhbXSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmV4dChbXSlcclxufVxyXG5cclxuZnVuY3Rpb24gZmxhdHRlbk9iakFycihvYmpBcnIpIHtcclxuICAgIGNvbnN0IHJldCA9IFtdXHJcbiAgICBPYmplY3Qua2V5cyhvYmpBcnIpLmZvckVhY2goKGspID0+IHtcclxuICAgICAgICByZXQucHVzaC5hcHBseShyZXQsIG9iakFycltrXSlcclxuICAgIH0pXHJcbiAgICByZXR1cm4gcmV0XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGFzeW5jTWFwKG9iakFyciwgb3B0aW9uLCBmdW5jLCBjYWxsYmFjaykge1xyXG4gICAgaWYgKG9wdGlvbi5maXJzdCkge1xyXG4gICAgICAgIGNvbnN0IF9wZW5kaW5nID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gZnVuY3Rpb24gbmV4dChlcnJvcnMpIHtcclxuICAgICAgICAgICAgICAgIGNhbGxiYWNrKGVycm9ycylcclxuICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcnMubGVuZ3RoID8gcmVqZWN0KHtcclxuICAgICAgICAgICAgICAgICAgICBlcnJvcnMsXHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBjb252ZXJ0RmllbGRzRXJyb3IoZXJyb3JzKVxyXG4gICAgICAgICAgICAgICAgfSkgOiByZXNvbHZlKClcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgZmxhdHRlbkFyciA9IGZsYXR0ZW5PYmpBcnIob2JqQXJyKVxyXG4gICAgICAgICAgICBhc3luY1NlcmlhbEFycmF5KGZsYXR0ZW5BcnIsIGZ1bmMsIG5leHQpXHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgX3BlbmRpbmcuY2F0Y2goKGUpID0+IGUpXHJcblxyXG4gICAgICAgIHJldHVybiBfcGVuZGluZ1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBmaXJzdEZpZWxkcyA9IG9wdGlvbi5maXJzdEZpZWxkcyB8fCBbXVxyXG5cclxuICAgIGlmIChmaXJzdEZpZWxkcyA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIGZpcnN0RmllbGRzID0gT2JqZWN0LmtleXMob2JqQXJyKVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9iakFycktleXMgPSBPYmplY3Qua2V5cyhvYmpBcnIpXHJcbiAgICBjb25zdCBvYmpBcnJMZW5ndGggPSBvYmpBcnJLZXlzLmxlbmd0aFxyXG4gICAgbGV0IHRvdGFsID0gMFxyXG4gICAgY29uc3QgcmVzdWx0cyA9IFtdXHJcbiAgICBjb25zdCBwZW5kaW5nID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5leHQgPSBmdW5jdGlvbiBuZXh0KGVycm9ycykge1xyXG4gICAgICAgICAgICByZXN1bHRzLnB1c2guYXBwbHkocmVzdWx0cywgZXJyb3JzKVxyXG4gICAgICAgICAgICB0b3RhbCsrXHJcblxyXG4gICAgICAgICAgICBpZiAodG90YWwgPT09IG9iakFyckxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0cylcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRzLmxlbmd0aCA/IHJlamVjdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiByZXN1bHRzLFxyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczogY29udmVydEZpZWxkc0Vycm9yKHJlc3VsdHMpXHJcbiAgICAgICAgICAgICAgICB9KSA6IHJlc29sdmUoKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIW9iakFycktleXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGNhbGxiYWNrKHJlc3VsdHMpXHJcbiAgICAgICAgICAgIHJlc29sdmUoKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgb2JqQXJyS2V5cy5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgYXJyID0gb2JqQXJyW2tleV1cclxuXHJcbiAgICAgICAgICAgIGlmIChmaXJzdEZpZWxkcy5pbmRleE9mKGtleSkgIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBhc3luY1NlcmlhbEFycmF5KGFyciwgZnVuYywgbmV4dClcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGFzeW5jUGFyYWxsZWxBcnJheShhcnIsIGZ1bmMsIG5leHQpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfSlcclxuICAgIHBlbmRpbmcuY2F0Y2goKGUpID0+IGUpXHJcbiAgICByZXR1cm4gcGVuZGluZ1xyXG59XHJcblxyXG5mdW5jdGlvbiBjb21wbGVtZW50RXJyb3IocnVsZSkge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIChvZSkge1xyXG4gICAgICAgIGlmIChvZSAmJiBvZS5tZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIG9lLmZpZWxkID0gb2UuZmllbGQgfHwgcnVsZS5mdWxsRmllbGRcclxuICAgICAgICAgICAgcmV0dXJuIG9lXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBtZXNzYWdlOiB0eXBlb2Ygb2UgPT09ICdmdW5jdGlvbicgPyBvZSgpIDogb2UsXHJcbiAgICAgICAgICAgIGZpZWxkOiBvZS5maWVsZCB8fCBydWxlLmZ1bGxGaWVsZFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZGVlcE1lcmdlKHRhcmdldCwgc291cmNlKSB7XHJcbiAgICBpZiAoc291cmNlKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBzIGluIHNvdXJjZSkge1xyXG4gICAgICAgICAgICBpZiAoc291cmNlLmhhc093blByb3BlcnR5KHMpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHNvdXJjZVtzXVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHR5cGVvZiB0YXJnZXRbc10gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0W3NdID0geyAuLi50YXJnZXRbc10sIC4uLnZhbHVlIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0W3NdID0gdmFsdWVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGFyZ2V0XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgUnVsZSBmb3IgdmFsaWRhdGluZyByZXF1aXJlZCBmaWVsZHMuXHJcbiAqXHJcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxyXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBlcnJvcnMgQW4gYXJyYXkgb2YgZXJyb3JzIHRoYXQgdGhpcyBydWxlIG1heSBhZGRcclxuICogIHZhbGlkYXRpb24gZXJyb3JzIHRvLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cclxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIHJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucywgdHlwZSkge1xyXG4gICAgaWYgKHJ1bGUucmVxdWlyZWQgJiYgKCFzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZCkgfHwgaXNFbXB0eVZhbHVlKHZhbHVlLCB0eXBlIHx8IHJ1bGUudHlwZSkpKSB7XHJcbiAgICAgICAgZXJyb3JzLnB1c2goZm9ybWF0KG9wdGlvbnMubWVzc2FnZXMucmVxdWlyZWQsIHJ1bGUuZnVsbEZpZWxkKSlcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqICBSdWxlIGZvciB2YWxpZGF0aW5nIHdoaXRlc3BhY2UuXHJcbiAqXHJcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxyXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBlcnJvcnMgQW4gYXJyYXkgb2YgZXJyb3JzIHRoYXQgdGhpcyBydWxlIG1heSBhZGRcclxuICogIHZhbGlkYXRpb24gZXJyb3JzIHRvLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cclxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIHdoaXRlc3BhY2UocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKSB7XHJcbiAgICBpZiAoL15cXHMrJC8udGVzdCh2YWx1ZSkgfHwgdmFsdWUgPT09ICcnKSB7XHJcbiAgICAgICAgZXJyb3JzLnB1c2goZm9ybWF0KG9wdGlvbnMubWVzc2FnZXMud2hpdGVzcGFjZSwgcnVsZS5mdWxsRmllbGQpKVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBlc2xpbnQgbWF4LWxlbjowICovXHJcblxyXG5jb25zdCBwYXR0ZXJuID0ge1xyXG4gICAgLy8gaHR0cDovL2VtYWlscmVnZXguY29tL1xyXG4gICAgZW1haWw6IC9eKChbXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvLFxyXG4gICAgdXJsOiBuZXcgUmVnRXhwKFxyXG4gICAgICAgICdeKD8hbWFpbHRvOikoPzooPzpodHRwfGh0dHBzfGZ0cCk6Ly98Ly8pKD86XFxcXFMrKD86OlxcXFxTKik/QCk/KD86KD86KD86WzEtOV1cXFxcZD98MVxcXFxkXFxcXGR8MlswMV1cXFxcZHwyMlswLTNdKSg/OlxcXFwuKD86MT9cXFxcZHsxLDJ9fDJbMC00XVxcXFxkfDI1WzAtNV0pKXsyfSg/OlxcXFwuKD86WzAtOV1cXFxcZD98MVxcXFxkXFxcXGR8MlswLTRdXFxcXGR8MjVbMC00XSkpfCg/Oig/OlthLXpcXFxcdTAwYTEtXFxcXHVmZmZmMC05XSstKikqW2EtelxcXFx1MDBhMS1cXFxcdWZmZmYwLTldKykoPzpcXFxcLig/OlthLXpcXFxcdTAwYTEtXFxcXHVmZmZmMC05XSstKikqW2EtelxcXFx1MDBhMS1cXFxcdWZmZmYwLTldKykqKD86XFxcXC4oPzpbYS16XFxcXHUwMGExLVxcXFx1ZmZmZl17Mix9KSkpfGxvY2FsaG9zdCkoPzo6XFxcXGR7Miw1fSk/KD86KC98XFxcXD98IylbXlxcXFxzXSopPyQnLFxyXG4gICAgICAgICdpJ1xyXG4gICAgKSxcclxuICAgIGhleDogL14jPyhbYS1mMC05XXs2fXxbYS1mMC05XXszfSkkL2lcclxufVxyXG52YXIgdHlwZXMgPSB7XHJcbiAgICBpbnRlZ2VyOiBmdW5jdGlvbiBpbnRlZ2VyKHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIC9eKC0pP1xcZCskLy50ZXN0KHZhbHVlKTtcclxuICAgIH0sXHJcbiAgICBmbG9hdDogZnVuY3Rpb24gZmxvYXQodmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gL14oLSk/XFxkKyhcXC5cXGQrKT8kLy50ZXN0KHZhbHVlKTtcclxuICAgIH0sXHJcbiAgICBhcnJheTogZnVuY3Rpb24gYXJyYXkodmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSlcclxuICAgIH0sXHJcbiAgICByZWdleHA6IGZ1bmN0aW9uIHJlZ2V4cCh2YWx1ZSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFJlZ0V4cCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcmV0dXJuICEhbmV3IFJlZ0V4cCh2YWx1ZSlcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBkYXRlOiBmdW5jdGlvbiBkYXRlKHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZS5nZXRUaW1lID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB2YWx1ZS5nZXRNb250aCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdmFsdWUuZ2V0WWVhclxyXG5cdFx0XHQ9PT0gJ2Z1bmN0aW9uJ1xyXG4gICAgfSxcclxuICAgIG51bWJlcjogZnVuY3Rpb24gbnVtYmVyKHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKGlzTmFOKHZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2VcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIOS/ruaUuea6kOegge+8jOWwhuWtl+espuS4suaVsOWAvOWFiOi9rOS4uuaVsOWAvFxyXG4gICAgICAgIHJldHVybiB0eXBlb2YgK3ZhbHVlID09PSAnbnVtYmVyJ1xyXG4gICAgfSxcclxuICAgIG9iamVjdDogZnVuY3Rpb24gb2JqZWN0KHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgIXR5cGVzLmFycmF5KHZhbHVlKVxyXG4gICAgfSxcclxuICAgIG1ldGhvZDogZnVuY3Rpb24gbWV0aG9kKHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJ1xyXG4gICAgfSxcclxuICAgIGVtYWlsOiBmdW5jdGlvbiBlbWFpbCh2YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICEhdmFsdWUubWF0Y2gocGF0dGVybi5lbWFpbCkgJiYgdmFsdWUubGVuZ3RoIDwgMjU1XHJcbiAgICB9LFxyXG4gICAgdXJsOiBmdW5jdGlvbiB1cmwodmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhIXZhbHVlLm1hdGNoKHBhdHRlcm4udXJsKVxyXG4gICAgfSxcclxuICAgIGhleDogZnVuY3Rpb24gaGV4KHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgISF2YWx1ZS5tYXRjaChwYXR0ZXJuLmhleClcclxuICAgIH1cclxufVxyXG4vKipcclxuICogIFJ1bGUgZm9yIHZhbGlkYXRpbmcgdGhlIHR5cGUgb2YgYSB2YWx1ZS5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxyXG4gKiAgQHBhcmFtIGVycm9ycyBBbiBhcnJheSBvZiBlcnJvcnMgdGhhdCB0aGlzIHJ1bGUgbWF5IGFkZFxyXG4gKiAgdmFsaWRhdGlvbiBlcnJvcnMgdG8uXHJcbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMubWVzc2FnZXMgVGhlIHZhbGlkYXRpb24gbWVzc2FnZXMuXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gdHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpIHtcclxuICAgIGlmIChydWxlLnJlcXVpcmVkICYmIHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY3VzdG9tID0gWydpbnRlZ2VyJywgJ2Zsb2F0JywgJ2FycmF5JywgJ3JlZ2V4cCcsICdvYmplY3QnLCAnbWV0aG9kJywgJ2VtYWlsJywgJ251bWJlcicsICdkYXRlJywgJ3VybCcsICdoZXgnXVxyXG4gICAgY29uc3QgcnVsZVR5cGUgPSBydWxlLnR5cGVcclxuXHJcbiAgICBpZiAoY3VzdG9tLmluZGV4T2YocnVsZVR5cGUpID4gLTEpIHtcclxuICAgICAgICBpZiAoIXR5cGVzW3J1bGVUeXBlXSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgZXJyb3JzLnB1c2goZm9ybWF0KG9wdGlvbnMubWVzc2FnZXMudHlwZXNbcnVsZVR5cGVdLCBydWxlLmZ1bGxGaWVsZCwgcnVsZS50eXBlKSlcclxuICAgICAgICB9IC8vIHN0cmFpZ2h0IHR5cGVvZiBjaGVja1xyXG4gICAgfSBlbHNlIGlmIChydWxlVHlwZSAmJiB0eXBlb2YgdmFsdWUgIT09IHJ1bGUudHlwZSkge1xyXG4gICAgICAgIGVycm9ycy5wdXNoKGZvcm1hdChvcHRpb25zLm1lc3NhZ2VzLnR5cGVzW3J1bGVUeXBlXSwgcnVsZS5mdWxsRmllbGQsIHJ1bGUudHlwZSkpXHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgUnVsZSBmb3IgdmFsaWRhdGluZyBtaW5pbXVtIGFuZCBtYXhpbXVtIGFsbG93ZWQgdmFsdWVzLlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXHJcbiAqICBAcGFyYW0gZXJyb3JzIEFuIGFycmF5IG9mIGVycm9ycyB0aGF0IHRoaXMgcnVsZSBtYXkgYWRkXHJcbiAqICB2YWxpZGF0aW9uIGVycm9ycyB0by5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiByYW5nZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGxlbiA9IHR5cGVvZiBydWxlLmxlbiA9PT0gJ251bWJlcidcclxuICAgIGNvbnN0IG1pbiA9IHR5cGVvZiBydWxlLm1pbiA9PT0gJ251bWJlcidcclxuICAgIGNvbnN0IG1heCA9IHR5cGVvZiBydWxlLm1heCA9PT0gJ251bWJlcicgLy8g5q2j5YiZ5Yy56YWN56CB54K56IyD5Zu05LuOVSswMTAwMDDkuIDnm7TliLBVKzEwRkZGRueahOaWh+Wtl++8iOihpeWFheW5s+mdolN1cHBsZW1lbnRhcnkgUGxhbmXvvIlcclxuXHJcbiAgICBjb25zdCBzcFJlZ2V4cCA9IC9bXFx1RDgwMC1cXHVEQkZGXVtcXHVEQzAwLVxcdURGRkZdL2dcclxuICAgIGxldCB2YWwgPSB2YWx1ZVxyXG4gICAgbGV0IGtleSA9IG51bGxcclxuICAgIGNvbnN0IG51bSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcidcclxuICAgIGNvbnN0IHN0ciA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcclxuICAgIGNvbnN0IGFyciA9IEFycmF5LmlzQXJyYXkodmFsdWUpXHJcblxyXG4gICAgaWYgKG51bSkge1xyXG4gICAgICAgIGtleSA9ICdudW1iZXInXHJcbiAgICB9IGVsc2UgaWYgKHN0cikge1xyXG4gICAgICAgIGtleSA9ICdzdHJpbmcnXHJcbiAgICB9IGVsc2UgaWYgKGFycikge1xyXG4gICAgICAgIGtleSA9ICdhcnJheSdcclxuICAgIH0gLy8gaWYgdGhlIHZhbHVlIGlzIG5vdCBvZiBhIHN1cHBvcnRlZCB0eXBlIGZvciByYW5nZSB2YWxpZGF0aW9uXHJcbiAgICAvLyB0aGUgdmFsaWRhdGlvbiBydWxlIHJ1bGUgc2hvdWxkIHVzZSB0aGVcclxuICAgIC8vIHR5cGUgcHJvcGVydHkgdG8gYWxzbyB0ZXN0IGZvciBhIHBhcnRpY3VsYXIgdHlwZVxyXG5cclxuICAgIGlmICgha2V5KSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGFycikge1xyXG4gICAgICAgIHZhbCA9IHZhbHVlLmxlbmd0aFxyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHIpIHtcclxuICAgICAgICAvLyDlpITnkIbnoIHngrnlpKfkuo5VKzAxMDAwMOeahOaWh+Wtl2xlbmd0aOWxnuaAp+S4jeWHhuehrueahGJ1Z++8jOWmglwi8KCut/CgrrfwoK63XCIubGVuZ2h0ICE9PSAzXHJcbiAgICAgICAgdmFsID0gdmFsdWUucmVwbGFjZShzcFJlZ2V4cCwgJ18nKS5sZW5ndGhcclxuICAgIH1cclxuXHJcbiAgICBpZiAobGVuKSB7XHJcbiAgICAgICAgaWYgKHZhbCAhPT0gcnVsZS5sZW4pIHtcclxuICAgICAgICAgICAgZXJyb3JzLnB1c2goZm9ybWF0KG9wdGlvbnMubWVzc2FnZXNba2V5XS5sZW4sIHJ1bGUuZnVsbEZpZWxkLCBydWxlLmxlbikpXHJcbiAgICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChtaW4gJiYgIW1heCAmJiB2YWwgPCBydWxlLm1pbikge1xyXG4gICAgICAgIGVycm9ycy5wdXNoKGZvcm1hdChvcHRpb25zLm1lc3NhZ2VzW2tleV0ubWluLCBydWxlLmZ1bGxGaWVsZCwgcnVsZS5taW4pKVxyXG4gICAgfSBlbHNlIGlmIChtYXggJiYgIW1pbiAmJiB2YWwgPiBydWxlLm1heCkge1xyXG4gICAgICAgIGVycm9ycy5wdXNoKGZvcm1hdChvcHRpb25zLm1lc3NhZ2VzW2tleV0ubWF4LCBydWxlLmZ1bGxGaWVsZCwgcnVsZS5tYXgpKVxyXG4gICAgfSBlbHNlIGlmIChtaW4gJiYgbWF4ICYmICh2YWwgPCBydWxlLm1pbiB8fCB2YWwgPiBydWxlLm1heCkpIHtcclxuICAgICAgICBlcnJvcnMucHVzaChmb3JtYXQob3B0aW9ucy5tZXNzYWdlc1trZXldLnJhbmdlLCBydWxlLmZ1bGxGaWVsZCwgcnVsZS5taW4sIHJ1bGUubWF4KSlcclxuICAgIH1cclxufVxyXG5cclxuY29uc3QgRU5VTSA9ICdlbnVtJ1xyXG4vKipcclxuICogIFJ1bGUgZm9yIHZhbGlkYXRpbmcgYSB2YWx1ZSBleGlzdHMgaW4gYW4gZW51bWVyYWJsZSBsaXN0LlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXHJcbiAqICBAcGFyYW0gZXJyb3JzIEFuIGFycmF5IG9mIGVycm9ycyB0aGF0IHRoaXMgcnVsZSBtYXkgYWRkXHJcbiAqICB2YWxpZGF0aW9uIGVycm9ycyB0by5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBlbnVtZXJhYmxlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucykge1xyXG4gICAgcnVsZVtFTlVNXSA9IEFycmF5LmlzQXJyYXkocnVsZVtFTlVNXSkgPyBydWxlW0VOVU1dIDogW11cclxuXHJcbiAgICBpZiAocnVsZVtFTlVNXS5pbmRleE9mKHZhbHVlKSA9PT0gLTEpIHtcclxuICAgICAgICBlcnJvcnMucHVzaChmb3JtYXQob3B0aW9ucy5tZXNzYWdlc1tFTlVNXSwgcnVsZS5mdWxsRmllbGQsIHJ1bGVbRU5VTV0uam9pbignLCAnKSkpXHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgUnVsZSBmb3IgdmFsaWRhdGluZyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuLlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXHJcbiAqICBAcGFyYW0gZXJyb3JzIEFuIGFycmF5IG9mIGVycm9ycyB0aGF0IHRoaXMgcnVsZSBtYXkgYWRkXHJcbiAqICB2YWxpZGF0aW9uIGVycm9ycyB0by5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBwYXR0ZXJuJDEocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKSB7XHJcbiAgICBpZiAocnVsZS5wYXR0ZXJuKSB7XHJcbiAgICAgICAgaWYgKHJ1bGUucGF0dGVybiBpbnN0YW5jZW9mIFJlZ0V4cCkge1xyXG4gICAgICAgICAgICAvLyBpZiBhIFJlZ0V4cCBpbnN0YW5jZSBpcyBwYXNzZWQsIHJlc2V0IGBsYXN0SW5kZXhgIGluIGNhc2UgaXRzIGBnbG9iYWxgXHJcbiAgICAgICAgICAgIC8vIGZsYWcgaXMgYWNjaWRlbnRhbGx5IHNldCB0byBgdHJ1ZWAsIHdoaWNoIGluIGEgdmFsaWRhdGlvbiBzY2VuYXJpb1xyXG4gICAgICAgICAgICAvLyBpcyBub3QgbmVjZXNzYXJ5IGFuZCB0aGUgcmVzdWx0IG1pZ2h0IGJlIG1pc2xlYWRpbmdcclxuICAgICAgICAgICAgcnVsZS5wYXR0ZXJuLmxhc3RJbmRleCA9IDBcclxuXHJcbiAgICAgICAgICAgIGlmICghcnVsZS5wYXR0ZXJuLnRlc3QodmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChmb3JtYXQob3B0aW9ucy5tZXNzYWdlcy5wYXR0ZXJuLm1pc21hdGNoLCBydWxlLmZ1bGxGaWVsZCwgdmFsdWUsIHJ1bGUucGF0dGVybikpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBydWxlLnBhdHRlcm4gPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IF9wYXR0ZXJuID0gbmV3IFJlZ0V4cChydWxlLnBhdHRlcm4pXHJcblxyXG4gICAgICAgICAgICBpZiAoIV9wYXR0ZXJuLnRlc3QodmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChmb3JtYXQob3B0aW9ucy5tZXNzYWdlcy5wYXR0ZXJuLm1pc21hdGNoLCBydWxlLmZ1bGxGaWVsZCwgdmFsdWUsIHJ1bGUucGF0dGVybikpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmNvbnN0IHJ1bGVzID0ge1xyXG4gICAgcmVxdWlyZWQsXHJcbiAgICB3aGl0ZXNwYWNlLFxyXG4gICAgdHlwZSxcclxuICAgIHJhbmdlLFxyXG4gICAgZW51bTogZW51bWVyYWJsZSxcclxuICAgIHBhdHRlcm46IHBhdHRlcm4kMVxyXG59XHJcblxyXG4vKipcclxuICogIFBlcmZvcm1zIHZhbGlkYXRpb24gZm9yIHN0cmluZyB0eXBlcy5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBzdHJpbmcocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGVycm9ycyA9IFtdXHJcbiAgICBjb25zdCB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpXHJcblxyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSh2YWx1ZSwgJ3N0cmluZycpICYmICFydWxlLnJlcXVpcmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBydWxlcy5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMsICdzdHJpbmcnKVxyXG5cclxuICAgICAgICBpZiAoIWlzRW1wdHlWYWx1ZSh2YWx1ZSwgJ3N0cmluZycpKSB7XHJcbiAgICAgICAgICAgIHJ1bGVzLnR5cGUocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG4gICAgICAgICAgICBydWxlcy5yYW5nZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgICAgIHJ1bGVzLnBhdHRlcm4ocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG5cclxuICAgICAgICAgICAgaWYgKHJ1bGUud2hpdGVzcGFjZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgcnVsZXMud2hpdGVzcGFjZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FsbGJhY2soZXJyb3JzKVxyXG59XHJcblxyXG4vKipcclxuICogIFZhbGlkYXRlcyBhIGZ1bmN0aW9uLlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cclxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cclxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIG1ldGhvZChydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgZXJyb3JzID0gW11cclxuICAgIGNvbnN0IHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZClcclxuXHJcbiAgICBpZiAodmFsaWRhdGUpIHtcclxuICAgICAgICBpZiAoaXNFbXB0eVZhbHVlKHZhbHVlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG5cclxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBydWxlcy50eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FsbGJhY2soZXJyb3JzKVxyXG59XHJcblxyXG4vKipcclxuICogIFZhbGlkYXRlcyBhIG51bWJlci5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBudW1iZXIocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGVycm9ycyA9IFtdXHJcbiAgICBjb25zdCB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpXHJcblxyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09PSAnJykge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IHVuZGVmaW5lZFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSh2YWx1ZSkgJiYgIXJ1bGUucmVxdWlyZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKClcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJ1bGVzLnJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuXHJcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcnVsZXMudHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgICAgIHJ1bGVzLnJhbmdlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FsbGJhY2soZXJyb3JzKVxyXG59XHJcblxyXG4vKipcclxuICogIFZhbGlkYXRlcyBhIGJvb2xlYW4uXHJcbiAqXHJcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxyXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXHJcbiAqICBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxyXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXHJcbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMubWVzc2FnZXMgVGhlIHZhbGlkYXRpb24gbWVzc2FnZXMuXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gX2Jvb2xlYW4ocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGVycm9ycyA9IFtdXHJcbiAgICBjb25zdCB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpXHJcblxyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSh2YWx1ZSkgJiYgIXJ1bGUucmVxdWlyZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKClcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJ1bGVzLnJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuXHJcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcnVsZXMudHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuLyoqXHJcbiAqICBWYWxpZGF0ZXMgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB0eXBlLlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cclxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cclxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIHJlZ2V4cChydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgZXJyb3JzID0gW11cclxuICAgIGNvbnN0IHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZClcclxuXHJcbiAgICBpZiAodmFsaWRhdGUpIHtcclxuICAgICAgICBpZiAoaXNFbXB0eVZhbHVlKHZhbHVlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG5cclxuICAgICAgICBpZiAoIWlzRW1wdHlWYWx1ZSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgcnVsZXMudHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuLyoqXHJcbiAqICBWYWxpZGF0ZXMgYSBudW1iZXIgaXMgYW4gaW50ZWdlci5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBpbnRlZ2VyKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaywgc291cmNlLCBvcHRpb25zKSB7XHJcbiAgICBjb25zdCBlcnJvcnMgPSBbXVxyXG4gICAgY29uc3QgdmFsaWRhdGUgPSBydWxlLnJlcXVpcmVkIHx8ICFydWxlLnJlcXVpcmVkICYmIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShydWxlLmZpZWxkKVxyXG5cclxuICAgIGlmICh2YWxpZGF0ZSkge1xyXG4gICAgICAgIGlmIChpc0VtcHR5VmFsdWUodmFsdWUpICYmICFydWxlLnJlcXVpcmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBydWxlcy5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcblxyXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHJ1bGVzLnR5cGUocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG4gICAgICAgICAgICBydWxlcy5yYW5nZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuLyoqXHJcbiAqICBWYWxpZGF0ZXMgYSBudW1iZXIgaXMgYSBmbG9hdGluZyBwb2ludCBudW1iZXIuXHJcbiAqXHJcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxyXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXHJcbiAqICBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxyXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXHJcbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMubWVzc2FnZXMgVGhlIHZhbGlkYXRpb24gbWVzc2FnZXMuXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gZmxvYXRGbihydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgZXJyb3JzID0gW11cclxuICAgIGNvbnN0IHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZClcclxuXHJcbiAgICBpZiAodmFsaWRhdGUpIHtcclxuICAgICAgICBpZiAoaXNFbXB0eVZhbHVlKHZhbHVlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG5cclxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBydWxlcy50eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuICAgICAgICAgICAgcnVsZXMucmFuZ2UocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjYWxsYmFjayhlcnJvcnMpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgVmFsaWRhdGVzIGFuIGFycmF5LlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cclxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cclxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIGFycmF5KHJ1bGUsIHZhbHVlLCBjYWxsYmFjaywgc291cmNlLCBvcHRpb25zKSB7XHJcbiAgICBjb25zdCBlcnJvcnMgPSBbXVxyXG4gICAgY29uc3QgdmFsaWRhdGUgPSBydWxlLnJlcXVpcmVkIHx8ICFydWxlLnJlcXVpcmVkICYmIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShydWxlLmZpZWxkKVxyXG5cclxuICAgIGlmICh2YWxpZGF0ZSkge1xyXG4gICAgICAgIGlmIChpc0VtcHR5VmFsdWUodmFsdWUsICdhcnJheScpICYmICFydWxlLnJlcXVpcmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBydWxlcy5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMsICdhcnJheScpXHJcblxyXG4gICAgICAgIGlmICghaXNFbXB0eVZhbHVlKHZhbHVlLCAnYXJyYXknKSkge1xyXG4gICAgICAgICAgICBydWxlcy50eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuICAgICAgICAgICAgcnVsZXMucmFuZ2UocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjYWxsYmFjayhlcnJvcnMpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgVmFsaWRhdGVzIGFuIG9iamVjdC5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBvYmplY3QocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGVycm9ycyA9IFtdXHJcbiAgICBjb25zdCB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpXHJcblxyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSh2YWx1ZSkgJiYgIXJ1bGUucmVxdWlyZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKClcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJ1bGVzLnJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuXHJcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcnVsZXMudHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuY29uc3QgRU5VTSQxID0gJ2VudW0nXHJcbi8qKlxyXG4gKiAgVmFsaWRhdGVzIGFuIGVudW1lcmFibGUgbGlzdC5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBlbnVtZXJhYmxlJDEocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGVycm9ycyA9IFtdXHJcbiAgICBjb25zdCB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpXHJcblxyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSh2YWx1ZSkgJiYgIXJ1bGUucmVxdWlyZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKClcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJ1bGVzLnJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuXHJcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcnVsZXNbRU5VTSQxXShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuLyoqXHJcbiAqICBWYWxpZGF0ZXMgYSByZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybi5cclxuICpcclxuICogIFBlcmZvcm1zIHZhbGlkYXRpb24gd2hlbiBhIHJ1bGUgb25seSBjb250YWluc1xyXG4gKiAgYSBwYXR0ZXJuIHByb3BlcnR5IGJ1dCBpcyBub3QgZGVjbGFyZWQgYXMgYSBzdHJpbmcgdHlwZS5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBwYXR0ZXJuJDIocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGVycm9ycyA9IFtdXHJcbiAgICBjb25zdCB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpXHJcblxyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSh2YWx1ZSwgJ3N0cmluZycpICYmICFydWxlLnJlcXVpcmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBydWxlcy5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcblxyXG4gICAgICAgIGlmICghaXNFbXB0eVZhbHVlKHZhbHVlLCAnc3RyaW5nJykpIHtcclxuICAgICAgICAgICAgcnVsZXMucGF0dGVybihydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuZnVuY3Rpb24gZGF0ZShydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgZXJyb3JzID0gW11cclxuICAgIGNvbnN0IHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZClcclxuXHJcbiAgICBpZiAodmFsaWRhdGUpIHtcclxuICAgICAgICBpZiAoaXNFbXB0eVZhbHVlKHZhbHVlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG5cclxuICAgICAgICBpZiAoIWlzRW1wdHlWYWx1ZSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgbGV0IGRhdGVPYmplY3RcclxuXHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgICAgICBkYXRlT2JqZWN0ID0gbmV3IERhdGUodmFsdWUpXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBkYXRlT2JqZWN0ID0gdmFsdWVcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcnVsZXMudHlwZShydWxlLCBkYXRlT2JqZWN0LCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuXHJcbiAgICAgICAgICAgIGlmIChkYXRlT2JqZWN0KSB7XHJcbiAgICAgICAgICAgICAgICBydWxlcy5yYW5nZShydWxlLCBkYXRlT2JqZWN0LmdldFRpbWUoKSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FsbGJhY2soZXJyb3JzKVxyXG59XHJcblxyXG5mdW5jdGlvbiByZXF1aXJlZCQxKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaywgc291cmNlLCBvcHRpb25zKSB7XHJcbiAgICBjb25zdCBlcnJvcnMgPSBbXVxyXG4gICAgY29uc3QgdHlwZSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gJ2FycmF5JyA6IHR5cGVvZiB2YWx1ZVxyXG4gICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zLCB0eXBlKVxyXG4gICAgY2FsbGJhY2soZXJyb3JzKVxyXG59XHJcblxyXG5mdW5jdGlvbiB0eXBlJDEocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHJ1bGVUeXBlID0gcnVsZS50eXBlXHJcbiAgICBjb25zdCBlcnJvcnMgPSBbXVxyXG4gICAgY29uc3QgdmFsaWRhdGUgPSBydWxlLnJlcXVpcmVkIHx8ICFydWxlLnJlcXVpcmVkICYmIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShydWxlLmZpZWxkKVxyXG5cclxuICAgIGlmICh2YWxpZGF0ZSkge1xyXG4gICAgICAgIGlmIChpc0VtcHR5VmFsdWUodmFsdWUsIHJ1bGVUeXBlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zLCBydWxlVHlwZSlcclxuXHJcbiAgICAgICAgaWYgKCFpc0VtcHR5VmFsdWUodmFsdWUsIHJ1bGVUeXBlKSkge1xyXG4gICAgICAgICAgICBydWxlcy50eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FsbGJhY2soZXJyb3JzKVxyXG59XHJcblxyXG4vKipcclxuICogIFBlcmZvcm1zIHZhbGlkYXRpb24gZm9yIGFueSB0eXBlLlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cclxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cclxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIGFueShydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgZXJyb3JzID0gW11cclxuICAgIGNvbnN0IHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZClcclxuXHJcbiAgICBpZiAodmFsaWRhdGUpIHtcclxuICAgICAgICBpZiAoaXNFbXB0eVZhbHVlKHZhbHVlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuY29uc3QgdmFsaWRhdG9ycyA9IHtcclxuICAgIHN0cmluZyxcclxuICAgIG1ldGhvZCxcclxuICAgIG51bWJlcixcclxuICAgIGJvb2xlYW46IF9ib29sZWFuLFxyXG4gICAgcmVnZXhwLFxyXG4gICAgaW50ZWdlcixcclxuICAgIGZsb2F0OiBmbG9hdEZuLFxyXG4gICAgYXJyYXksXHJcbiAgICBvYmplY3QsXHJcbiAgICBlbnVtOiBlbnVtZXJhYmxlJDEsXHJcbiAgICBwYXR0ZXJuOiBwYXR0ZXJuJDIsXHJcbiAgICBkYXRlLFxyXG4gICAgdXJsOiB0eXBlJDEsXHJcbiAgICBoZXg6IHR5cGUkMSxcclxuICAgIGVtYWlsOiB0eXBlJDEsXHJcbiAgICByZXF1aXJlZDogcmVxdWlyZWQkMSxcclxuICAgIGFueVxyXG59XHJcblxyXG5mdW5jdGlvbiBuZXdNZXNzYWdlcygpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgZGVmYXVsdDogJ1ZhbGlkYXRpb24gZXJyb3Igb24gZmllbGQgJXMnLFxyXG4gICAgICAgIHJlcXVpcmVkOiAnJXMgaXMgcmVxdWlyZWQnLFxyXG4gICAgICAgIGVudW06ICclcyBtdXN0IGJlIG9uZSBvZiAlcycsXHJcbiAgICAgICAgd2hpdGVzcGFjZTogJyVzIGNhbm5vdCBiZSBlbXB0eScsXHJcbiAgICAgICAgZGF0ZToge1xyXG4gICAgICAgICAgICBmb3JtYXQ6ICclcyBkYXRlICVzIGlzIGludmFsaWQgZm9yIGZvcm1hdCAlcycsXHJcbiAgICAgICAgICAgIHBhcnNlOiAnJXMgZGF0ZSBjb3VsZCBub3QgYmUgcGFyc2VkLCAlcyBpcyBpbnZhbGlkICcsXHJcbiAgICAgICAgICAgIGludmFsaWQ6ICclcyBkYXRlICVzIGlzIGludmFsaWQnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0eXBlczoge1xyXG4gICAgICAgICAgICBzdHJpbmc6ICclcyBpcyBub3QgYSAlcycsXHJcbiAgICAgICAgICAgIG1ldGhvZDogJyVzIGlzIG5vdCBhICVzIChmdW5jdGlvbiknLFxyXG4gICAgICAgICAgICBhcnJheTogJyVzIGlzIG5vdCBhbiAlcycsXHJcbiAgICAgICAgICAgIG9iamVjdDogJyVzIGlzIG5vdCBhbiAlcycsXHJcbiAgICAgICAgICAgIG51bWJlcjogJyVzIGlzIG5vdCBhICVzJyxcclxuICAgICAgICAgICAgZGF0ZTogJyVzIGlzIG5vdCBhICVzJyxcclxuICAgICAgICAgICAgYm9vbGVhbjogJyVzIGlzIG5vdCBhICVzJyxcclxuICAgICAgICAgICAgaW50ZWdlcjogJyVzIGlzIG5vdCBhbiAlcycsXHJcbiAgICAgICAgICAgIGZsb2F0OiAnJXMgaXMgbm90IGEgJXMnLFxyXG4gICAgICAgICAgICByZWdleHA6ICclcyBpcyBub3QgYSB2YWxpZCAlcycsXHJcbiAgICAgICAgICAgIGVtYWlsOiAnJXMgaXMgbm90IGEgdmFsaWQgJXMnLFxyXG4gICAgICAgICAgICB1cmw6ICclcyBpcyBub3QgYSB2YWxpZCAlcycsXHJcbiAgICAgICAgICAgIGhleDogJyVzIGlzIG5vdCBhIHZhbGlkICVzJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc3RyaW5nOiB7XHJcbiAgICAgICAgICAgIGxlbjogJyVzIG11c3QgYmUgZXhhY3RseSAlcyBjaGFyYWN0ZXJzJyxcclxuICAgICAgICAgICAgbWluOiAnJXMgbXVzdCBiZSBhdCBsZWFzdCAlcyBjaGFyYWN0ZXJzJyxcclxuICAgICAgICAgICAgbWF4OiAnJXMgY2Fubm90IGJlIGxvbmdlciB0aGFuICVzIGNoYXJhY3RlcnMnLFxyXG4gICAgICAgICAgICByYW5nZTogJyVzIG11c3QgYmUgYmV0d2VlbiAlcyBhbmQgJXMgY2hhcmFjdGVycydcclxuICAgICAgICB9LFxyXG4gICAgICAgIG51bWJlcjoge1xyXG4gICAgICAgICAgICBsZW46ICclcyBtdXN0IGVxdWFsICVzJyxcclxuICAgICAgICAgICAgbWluOiAnJXMgY2Fubm90IGJlIGxlc3MgdGhhbiAlcycsXHJcbiAgICAgICAgICAgIG1heDogJyVzIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gJXMnLFxyXG4gICAgICAgICAgICByYW5nZTogJyVzIG11c3QgYmUgYmV0d2VlbiAlcyBhbmQgJXMnXHJcbiAgICAgICAgfSxcclxuICAgICAgICBhcnJheToge1xyXG4gICAgICAgICAgICBsZW46ICclcyBtdXN0IGJlIGV4YWN0bHkgJXMgaW4gbGVuZ3RoJyxcclxuICAgICAgICAgICAgbWluOiAnJXMgY2Fubm90IGJlIGxlc3MgdGhhbiAlcyBpbiBsZW5ndGgnLFxyXG4gICAgICAgICAgICBtYXg6ICclcyBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuICVzIGluIGxlbmd0aCcsXHJcbiAgICAgICAgICAgIHJhbmdlOiAnJXMgbXVzdCBiZSBiZXR3ZWVuICVzIGFuZCAlcyBpbiBsZW5ndGgnXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwYXR0ZXJuOiB7XHJcbiAgICAgICAgICAgIG1pc21hdGNoOiAnJXMgdmFsdWUgJXMgZG9lcyBub3QgbWF0Y2ggcGF0dGVybiAlcydcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNsb25lOiBmdW5jdGlvbiBjbG9uZSgpIHtcclxuICAgICAgICAgICAgY29uc3QgY2xvbmVkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzKSlcclxuICAgICAgICAgICAgY2xvbmVkLmNsb25lID0gdGhpcy5jbG9uZVxyXG4gICAgICAgICAgICByZXR1cm4gY2xvbmVkXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbmNvbnN0IG1lc3NhZ2VzID0gbmV3TWVzc2FnZXMoKVxyXG5cclxuLyoqXHJcbiAqICBFbmNhcHN1bGF0ZXMgYSB2YWxpZGF0aW9uIHNjaGVtYS5cclxuICpcclxuICogIEBwYXJhbSBkZXNjcmlwdG9yIEFuIG9iamVjdCBkZWNsYXJpbmcgdmFsaWRhdGlvbiBydWxlc1xyXG4gKiAgZm9yIHRoaXMgc2NoZW1hLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIFNjaGVtYShkZXNjcmlwdG9yKSB7XHJcbiAgICB0aGlzLnJ1bGVzID0gbnVsbFxyXG4gICAgdGhpcy5fbWVzc2FnZXMgPSBtZXNzYWdlc1xyXG4gICAgdGhpcy5kZWZpbmUoZGVzY3JpcHRvcilcclxufVxyXG5cclxuU2NoZW1hLnByb3RvdHlwZSA9IHtcclxuICAgIG1lc3NhZ2VzOiBmdW5jdGlvbiBtZXNzYWdlcyhfbWVzc2FnZXMpIHtcclxuICAgICAgICBpZiAoX21lc3NhZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VzID0gZGVlcE1lcmdlKG5ld01lc3NhZ2VzKCksIF9tZXNzYWdlcylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9tZXNzYWdlc1xyXG4gICAgfSxcclxuICAgIGRlZmluZTogZnVuY3Rpb24gZGVmaW5lKHJ1bGVzKSB7XHJcbiAgICAgICAgaWYgKCFydWxlcykge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb25maWd1cmUgYSBzY2hlbWEgd2l0aCBubyBydWxlcycpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHJ1bGVzICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHJ1bGVzKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1J1bGVzIG11c3QgYmUgYW4gb2JqZWN0JylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucnVsZXMgPSB7fVxyXG4gICAgICAgIGxldCB6XHJcbiAgICAgICAgbGV0IGl0ZW1cclxuXHJcbiAgICAgICAgZm9yICh6IGluIHJ1bGVzKSB7XHJcbiAgICAgICAgICAgIGlmIChydWxlcy5oYXNPd25Qcm9wZXJ0eSh6KSkge1xyXG4gICAgICAgICAgICAgICAgaXRlbSA9IHJ1bGVzW3pdXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bGVzW3pdID0gQXJyYXkuaXNBcnJheShpdGVtKSA/IGl0ZW0gOiBbaXRlbV1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gdmFsaWRhdGUoc291cmNlXywgbywgb2MpIHtcclxuICAgICAgICBjb25zdCBfdGhpcyA9IHRoaXNcclxuXHJcbiAgICAgICAgaWYgKG8gPT09IHZvaWQgMCkge1xyXG4gICAgICAgICAgICBvID0ge31cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvYyA9PT0gdm9pZCAwKSB7XHJcbiAgICAgICAgICAgIG9jID0gZnVuY3Rpb24gb2MoKSB7fVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHNvdXJjZSA9IHNvdXJjZV9cclxuICAgICAgICBsZXQgb3B0aW9ucyA9IG9cclxuICAgICAgICBsZXQgY2FsbGJhY2sgPSBvY1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgY2FsbGJhY2sgPSBvcHRpb25zXHJcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7fVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnJ1bGVzIHx8IE9iamVjdC5rZXlzKHRoaXMucnVsZXMpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICBpZiAoY2FsbGJhY2spIHtcclxuICAgICAgICAgICAgICAgIGNhbGxiYWNrKClcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZShyZXN1bHRzKSB7XHJcbiAgICAgICAgICAgIGxldCBpXHJcbiAgICAgICAgICAgIGxldCBlcnJvcnMgPSBbXVxyXG4gICAgICAgICAgICBsZXQgZmllbGRzID0ge31cclxuXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGFkZChlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBfZXJyb3JzXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGVycm9ycyA9IChfZXJyb3JzID0gZXJyb3JzKS5jb25jYXQuYXBwbHkoX2Vycm9ycywgZSlcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goZSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHJlc3VsdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGFkZChyZXN1bHRzW2ldKVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoIWVycm9ycy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGVycm9ycyA9IG51bGxcclxuICAgICAgICAgICAgICAgIGZpZWxkcyA9IG51bGxcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGZpZWxkcyA9IGNvbnZlcnRGaWVsZHNFcnJvcihlcnJvcnMpXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNhbGxiYWNrKGVycm9ycywgZmllbGRzKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMubWVzc2FnZXMpIHtcclxuICAgICAgICAgICAgbGV0IG1lc3NhZ2VzJDEgPSB0aGlzLm1lc3NhZ2VzKClcclxuXHJcbiAgICAgICAgICAgIGlmIChtZXNzYWdlcyQxID09PSBtZXNzYWdlcykge1xyXG4gICAgICAgICAgICAgICAgbWVzc2FnZXMkMSA9IG5ld01lc3NhZ2VzKClcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZGVlcE1lcmdlKG1lc3NhZ2VzJDEsIG9wdGlvbnMubWVzc2FnZXMpXHJcbiAgICAgICAgICAgIG9wdGlvbnMubWVzc2FnZXMgPSBtZXNzYWdlcyQxXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgb3B0aW9ucy5tZXNzYWdlcyA9IHRoaXMubWVzc2FnZXMoKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGFyclxyXG4gICAgICAgIGxldCB2YWx1ZVxyXG4gICAgICAgIGNvbnN0IHNlcmllcyA9IHt9XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IG9wdGlvbnMua2V5cyB8fCBPYmplY3Qua2V5cyh0aGlzLnJ1bGVzKVxyXG4gICAgICAgIGtleXMuZm9yRWFjaCgoeikgPT4ge1xyXG4gICAgICAgICAgICBhcnIgPSBfdGhpcy5ydWxlc1t6XVxyXG4gICAgICAgICAgICB2YWx1ZSA9IHNvdXJjZVt6XVxyXG4gICAgICAgICAgICBhcnIuZm9yRWFjaCgocikgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IHJ1bGUgPSByXHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBydWxlLnRyYW5zZm9ybSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChzb3VyY2UgPT09IHNvdXJjZV8pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlID0geyAuLi5zb3VyY2UgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBzb3VyY2Vbel0gPSBydWxlLnRyYW5zZm9ybSh2YWx1ZSlcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJ1bGUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgICAgICBydWxlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3I6IHJ1bGVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJ1bGUgPSB7IC4uLnJ1bGUgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJ1bGUudmFsaWRhdG9yID0gX3RoaXMuZ2V0VmFsaWRhdGlvbk1ldGhvZChydWxlKVxyXG4gICAgICAgICAgICAgICAgcnVsZS5maWVsZCA9IHpcclxuICAgICAgICAgICAgICAgIHJ1bGUuZnVsbEZpZWxkID0gcnVsZS5mdWxsRmllbGQgfHwgelxyXG4gICAgICAgICAgICAgICAgcnVsZS50eXBlID0gX3RoaXMuZ2V0VHlwZShydWxlKVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICghcnVsZS52YWxpZGF0b3IpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBzZXJpZXNbel0gPSBzZXJpZXNbel0gfHwgW11cclxuICAgICAgICAgICAgICAgIHNlcmllc1t6XS5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBydWxlLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLFxyXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZSxcclxuICAgICAgICAgICAgICAgICAgICBmaWVsZDogelxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICAgIGNvbnN0IGVycm9yRmllbGRzID0ge31cclxuICAgICAgICByZXR1cm4gYXN5bmNNYXAoc2VyaWVzLCBvcHRpb25zLCAoZGF0YSwgZG9JdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IHJ1bGUgfSA9IGRhdGFcclxuICAgICAgICAgICAgbGV0IGRlZXAgPSAocnVsZS50eXBlID09PSAnb2JqZWN0JyB8fCBydWxlLnR5cGUgPT09ICdhcnJheScpICYmICh0eXBlb2YgcnVsZS5maWVsZHMgPT09ICdvYmplY3QnIHx8IHR5cGVvZiBydWxlLmRlZmF1bHRGaWVsZFxyXG5cdFx0XHRcdD09PSAnb2JqZWN0JylcclxuICAgICAgICAgICAgZGVlcCA9IGRlZXAgJiYgKHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgZGF0YS52YWx1ZSlcclxuICAgICAgICAgICAgcnVsZS5maWVsZCA9IGRhdGEuZmllbGRcclxuXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGFkZEZ1bGxmaWVsZChrZXksIHNjaGVtYSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgLi4uc2NoZW1hLCBmdWxsRmllbGQ6IGAke3J1bGUuZnVsbEZpZWxkfS4ke2tleX1gIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZnVuY3Rpb24gY2IoZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGUgPT09IHZvaWQgMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGUgPSBbXVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGxldCBlcnJvcnMgPSBlXHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGVycm9ycykpIHtcclxuICAgICAgICAgICAgICAgICAgICBlcnJvcnMgPSBbZXJyb3JzXVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5zdXBwcmVzc1dhcm5pbmcgJiYgZXJyb3JzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIFNjaGVtYS53YXJuaW5nKCdhc3luYy12YWxpZGF0b3I6JywgZXJyb3JzKVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChlcnJvcnMubGVuZ3RoICYmIHJ1bGUubWVzc2FnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVycm9ycyA9IFtdLmNvbmNhdChydWxlLm1lc3NhZ2UpXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgZXJyb3JzID0gZXJyb3JzLm1hcChjb21wbGVtZW50RXJyb3IocnVsZSkpXHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuZmlyc3QgJiYgZXJyb3JzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yRmllbGRzW3J1bGUuZmllbGRdID0gMVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkb0l0KGVycm9ycylcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoIWRlZXApIHtcclxuICAgICAgICAgICAgICAgICAgICBkb0l0KGVycm9ycylcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgcnVsZSBpcyByZXF1aXJlZCBidXQgdGhlIHRhcmdldCBvYmplY3RcclxuICAgICAgICAgICAgICAgICAgICAvLyBkb2VzIG5vdCBleGlzdCBmYWlsIGF0IHRoZSBydWxlIGxldmVsIGFuZCBkb24ndFxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGdvIGRlZXBlclxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChydWxlLnJlcXVpcmVkICYmICFkYXRhLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChydWxlLm1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyA9IFtdLmNvbmNhdChydWxlLm1lc3NhZ2UpLm1hcChjb21wbGVtZW50RXJyb3IocnVsZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzID0gW29wdGlvbnMuZXJyb3IocnVsZSwgZm9ybWF0KG9wdGlvbnMubWVzc2FnZXMucmVxdWlyZWQsIHJ1bGUuZmllbGQpKV1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyA9IFtdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkb0l0KGVycm9ycylcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBmaWVsZHNTY2hlbWEgPSB7fVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAocnVsZS5kZWZhdWx0RmllbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrIGluIGRhdGEudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnZhbHVlLmhhc093blByb3BlcnR5KGspKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzU2NoZW1hW2tdID0gcnVsZS5kZWZhdWx0RmllbGRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzU2NoZW1hID0geyAuLi5maWVsZHNTY2hlbWEsIC4uLmRhdGEucnVsZS5maWVsZHMgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGYgaW4gZmllbGRzU2NoZW1hKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZHNTY2hlbWEuaGFzT3duUHJvcGVydHkoZikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gQXJyYXkuaXNBcnJheShmaWVsZHNTY2hlbWFbZl0pID8gZmllbGRzU2NoZW1hW2ZdIDogW2ZpZWxkc1NjaGVtYVtmXV1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkc1NjaGVtYVtmXSA9IGZpZWxkU2NoZW1hLm1hcChhZGRGdWxsZmllbGQuYmluZChudWxsLCBmKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2NoZW1hID0gbmV3IFNjaGVtYShmaWVsZHNTY2hlbWEpXHJcbiAgICAgICAgICAgICAgICAgICAgc2NoZW1hLm1lc3NhZ2VzKG9wdGlvbnMubWVzc2FnZXMpXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnJ1bGUub3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnJ1bGUub3B0aW9ucy5tZXNzYWdlcyA9IG9wdGlvbnMubWVzc2FnZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5ydWxlLm9wdGlvbnMuZXJyb3IgPSBvcHRpb25zLmVycm9yXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBzY2hlbWEudmFsaWRhdGUoZGF0YS52YWx1ZSwgZGF0YS5ydWxlLm9wdGlvbnMgfHwgb3B0aW9ucywgKGVycnMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmluYWxFcnJvcnMgPSBbXVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9ycyAmJiBlcnJvcnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5hbEVycm9ycy5wdXNoLmFwcGx5KGZpbmFsRXJyb3JzLCBlcnJvcnMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJzICYmIGVycnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5hbEVycm9ycy5wdXNoLmFwcGx5KGZpbmFsRXJyb3JzLCBlcnJzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb0l0KGZpbmFsRXJyb3JzLmxlbmd0aCA/IGZpbmFsRXJyb3JzIDogbnVsbClcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgcmVzXHJcblxyXG4gICAgICAgICAgICBpZiAocnVsZS5hc3luY1ZhbGlkYXRvcikge1xyXG4gICAgICAgICAgICAgICAgcmVzID0gcnVsZS5hc3luY1ZhbGlkYXRvcihydWxlLCBkYXRhLnZhbHVlLCBjYiwgZGF0YS5zb3VyY2UsIG9wdGlvbnMpXHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocnVsZS52YWxpZGF0b3IpIHtcclxuICAgICAgICAgICAgICAgIHJlcyA9IHJ1bGUudmFsaWRhdG9yKHJ1bGUsIGRhdGEudmFsdWUsIGNiLCBkYXRhLnNvdXJjZSwgb3B0aW9ucylcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocmVzID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2IoKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXMgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2IocnVsZS5tZXNzYWdlIHx8IGAke3J1bGUuZmllbGR9IGZhaWxzYClcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYihyZXMpXHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlcyBpbnN0YW5jZW9mIEVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2IocmVzLm1lc3NhZ2UpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLnRoZW4pIHtcclxuICAgICAgICAgICAgICAgIHJlcy50aGVuKCgpID0+IGNiKCksIChlKSA9PiBjYihlKSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIChyZXN1bHRzKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbXBsZXRlKHJlc3VsdHMpXHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcbiAgICBnZXRUeXBlOiBmdW5jdGlvbiBnZXRUeXBlKHJ1bGUpIHtcclxuICAgICAgICBpZiAocnVsZS50eXBlID09PSB1bmRlZmluZWQgJiYgcnVsZS5wYXR0ZXJuIGluc3RhbmNlb2YgUmVnRXhwKSB7XHJcbiAgICAgICAgICAgIHJ1bGUudHlwZSA9ICdwYXR0ZXJuJ1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiBydWxlLnZhbGlkYXRvciAhPT0gJ2Z1bmN0aW9uJyAmJiBydWxlLnR5cGUgJiYgIXZhbGlkYXRvcnMuaGFzT3duUHJvcGVydHkocnVsZS50eXBlKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZm9ybWF0KCdVbmtub3duIHJ1bGUgdHlwZSAlcycsIHJ1bGUudHlwZSkpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcnVsZS50eXBlIHx8ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAgZ2V0VmFsaWRhdGlvbk1ldGhvZDogZnVuY3Rpb24gZ2V0VmFsaWRhdGlvbk1ldGhvZChydWxlKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBydWxlLnZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICByZXR1cm4gcnVsZS52YWxpZGF0b3JcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhydWxlKVxyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2VJbmRleCA9IGtleXMuaW5kZXhPZignbWVzc2FnZScpXHJcblxyXG4gICAgICAgIGlmIChtZXNzYWdlSW5kZXggIT09IC0xKSB7XHJcbiAgICAgICAgICAgIGtleXMuc3BsaWNlKG1lc3NhZ2VJbmRleCwgMSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMSAmJiBrZXlzWzBdID09PSAncmVxdWlyZWQnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0b3JzLnJlcXVpcmVkXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdmFsaWRhdG9yc1t0aGlzLmdldFR5cGUocnVsZSldIHx8IGZhbHNlXHJcbiAgICB9XHJcbn1cclxuXHJcblNjaGVtYS5yZWdpc3RlciA9IGZ1bmN0aW9uIHJlZ2lzdGVyKHR5cGUsIHZhbGlkYXRvcikge1xyXG4gICAgaWYgKHR5cGVvZiB2YWxpZGF0b3IgIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCByZWdpc3RlciBhIHZhbGlkYXRvciBieSB0eXBlLCB2YWxpZGF0b3IgaXMgbm90IGEgZnVuY3Rpb24nKVxyXG4gICAgfVxyXG5cclxuICAgIHZhbGlkYXRvcnNbdHlwZV0gPSB2YWxpZGF0b3JcclxufVxyXG5cclxuU2NoZW1hLndhcm5pbmcgPSB3YXJuaW5nXHJcblNjaGVtYS5tZXNzYWdlcyA9IG1lc3NhZ2VzXHJcblxyXG5leHBvcnQgZGVmYXVsdCBTY2hlbWFcclxuLy8gIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcFxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///25\n");
eval("/* WEBPACK VAR INJECTION */(function(process, __f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 4));\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; }\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && Object({\"NODE_ENV\":\"development\",\"VUE_APP_DARK_MODE\":\"false\",\"VUE_APP_NAME\":\"在线考试教育APP\",\"VUE_APP_PLATFORM\":\"app-plus\",\"BASE_URL\":\"/\"}) && \"development\" !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n  warning = function warning(type, errors) {\n    if (typeof console !== 'undefined' && console.warn) {\n      if (errors.every(function (e) {\n        return typeof e === 'string';\n      })) {\n        __f__(\"warn\", type, errors, \" at uni_modules/uview-ui/libs/util/async-validator.js:28\");\n      }\n    }\n  };\n}\nfunction convertFieldsError(errors) {\n  if (!errors || !errors.length) return null;\n  var fields = {};\n  errors.forEach(function (error) {\n    var field = error.field;\n    fields[field] = fields[field] || [];\n    fields[field].push(error);\n  });\n  return fields;\n}\nfunction format() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n  var i = 1;\n  var f = args[0];\n  var len = args.length;\n  if (typeof f === 'function') {\n    return f.apply(null, args.slice(1));\n  }\n  if (typeof f === 'string') {\n    var str = String(f).replace(formatRegExp, function (x) {\n      if (x === '%%') {\n        return '%';\n      }\n      if (i >= len) {\n        return x;\n      }\n      switch (x) {\n        case '%s':\n          return String(args[i++]);\n        case '%d':\n          return Number(args[i++]);\n        case '%j':\n          try {\n            return JSON.stringify(args[i++]);\n          } catch (_) {\n            return '[Circular]';\n          }\n          break;\n        default:\n          return x;\n      }\n    });\n    for (var arg = args[i]; i < len; arg = args[++i]) {\n      str += \" \".concat(arg);\n    }\n    return str;\n  }\n  return f;\n}\nfunction isNativeStringType(type) {\n  return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';\n}\nfunction isEmptyValue(value, type) {\n  if (value === undefined || value === null) {\n    return true;\n  }\n  if (type === 'array' && Array.isArray(value) && !value.length) {\n    return true;\n  }\n  if (isNativeStringType(type) && typeof value === 'string' && !value) {\n    return true;\n  }\n  return false;\n}\nfunction asyncParallelArray(arr, func, callback) {\n  var results = [];\n  var total = 0;\n  var arrLength = arr.length;\n  function count(errors) {\n    results.push.apply(results, errors);\n    total++;\n    if (total === arrLength) {\n      callback(results);\n    }\n  }\n  arr.forEach(function (a) {\n    func(a, count);\n  });\n}\nfunction asyncSerialArray(arr, func, callback) {\n  var index = 0;\n  var arrLength = arr.length;\n  function next(errors) {\n    if (errors && errors.length) {\n      callback(errors);\n      return;\n    }\n    var original = index;\n    index += 1;\n    if (original < arrLength) {\n      func(arr[original], next);\n    } else {\n      callback([]);\n    }\n  }\n  next([]);\n}\nfunction flattenObjArr(objArr) {\n  var ret = [];\n  Object.keys(objArr).forEach(function (k) {\n    ret.push.apply(ret, objArr[k]);\n  });\n  return ret;\n}\nfunction asyncMap(objArr, option, func, callback) {\n  if (option.first) {\n    var _pending = new Promise(function (resolve, reject) {\n      var next = function next(errors) {\n        callback(errors);\n        return errors.length ? reject({\n          errors: errors,\n          fields: convertFieldsError(errors)\n        }) : resolve();\n      };\n      var flattenArr = flattenObjArr(objArr);\n      asyncSerialArray(flattenArr, func, next);\n    });\n    _pending.catch(function (e) {\n      return e;\n    });\n    return _pending;\n  }\n  var firstFields = option.firstFields || [];\n  if (firstFields === true) {\n    firstFields = Object.keys(objArr);\n  }\n  var objArrKeys = Object.keys(objArr);\n  var objArrLength = objArrKeys.length;\n  var total = 0;\n  var results = [];\n  var pending = new Promise(function (resolve, reject) {\n    var next = function next(errors) {\n      results.push.apply(results, errors);\n      total++;\n      if (total === objArrLength) {\n        callback(results);\n        return results.length ? reject({\n          errors: results,\n          fields: convertFieldsError(results)\n        }) : resolve();\n      }\n    };\n    if (!objArrKeys.length) {\n      callback(results);\n      resolve();\n    }\n    objArrKeys.forEach(function (key) {\n      var arr = objArr[key];\n      if (firstFields.indexOf(key) !== -1) {\n        asyncSerialArray(arr, func, next);\n      } else {\n        asyncParallelArray(arr, func, next);\n      }\n    });\n  });\n  pending.catch(function (e) {\n    return e;\n  });\n  return pending;\n}\nfunction complementError(rule) {\n  return function (oe) {\n    if (oe && oe.message) {\n      oe.field = oe.field || rule.fullField;\n      return oe;\n    }\n    return {\n      message: typeof oe === 'function' ? oe() : oe,\n      field: oe.field || rule.fullField\n    };\n  };\n}\nfunction deepMerge(target, source) {\n  if (source) {\n    for (var s in source) {\n      if (source.hasOwnProperty(s)) {\n        var value = source[s];\n        if ((0, _typeof2.default)(value) === 'object' && (0, _typeof2.default)(target[s]) === 'object') {\n          target[s] = _objectSpread(_objectSpread({}, target[s]), value);\n        } else {\n          target[s] = value;\n        }\n      }\n    }\n  }\n  return target;\n}\n\n/**\r\n *  Rule for validating required fields.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param source The source object being validated.\r\n *  @param errors An array of errors that this rule may add\r\n *  validation errors to.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction required(rule, value, source, errors, options, type) {\n  if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n    errors.push(format(options.messages.required, rule.fullField));\n  }\n}\n\n/**\r\n *  Rule for validating whitespace.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param source The source object being validated.\r\n *  @param errors An array of errors that this rule may add\r\n *  validation errors to.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction whitespace(rule, value, source, errors, options) {\n  if (/^\\s+$/.test(value) || value === '') {\n    errors.push(format(options.messages.whitespace, rule.fullField));\n  }\n}\n\n/* eslint max-len:0 */\n\nvar pattern = {\n  // http://emailregex.com/\n  email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n  url: new RegExp(\"^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$\", 'i'),\n  hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n  integer: function integer(value) {\n    return /^(-)?\\d+$/.test(value);\n  },\n  float: function float(value) {\n    return /^(-)?\\d+(\\.\\d+)?$/.test(value);\n  },\n  array: function array(value) {\n    return Array.isArray(value);\n  },\n  regexp: function regexp(value) {\n    if (value instanceof RegExp) {\n      return true;\n    }\n    try {\n      return !!new RegExp(value);\n    } catch (e) {\n      return false;\n    }\n  },\n  date: function date(value) {\n    return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';\n  },\n  number: function number(value) {\n    if (isNaN(value)) {\n      return false;\n    }\n\n    // 修改源码,将字符串数值先转为数值\n    return typeof +value === 'number';\n  },\n  object: function object(value) {\n    return (0, _typeof2.default)(value) === 'object' && !types.array(value);\n  },\n  method: function method(value) {\n    return typeof value === 'function';\n  },\n  email: function email(value) {\n    return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n  },\n  url: function url(value) {\n    return typeof value === 'string' && !!value.match(pattern.url);\n  },\n  hex: function hex(value) {\n    return typeof value === 'string' && !!value.match(pattern.hex);\n  }\n};\n/**\r\n *  Rule for validating the type of a value.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param source The source object being validated.\r\n *  @param errors An array of errors that this rule may add\r\n *  validation errors to.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction type(rule, value, source, errors, options) {\n  if (rule.required && value === undefined) {\n    required(rule, value, source, errors, options);\n    return;\n  }\n  var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n  var ruleType = rule.type;\n  if (custom.indexOf(ruleType) > -1) {\n    if (!types[ruleType](value)) {\n      errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n    } // straight typeof check\n  } else if (ruleType && (0, _typeof2.default)(value) !== rule.type) {\n    errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n  }\n}\n\n/**\r\n *  Rule for validating minimum and maximum allowed values.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param source The source object being validated.\r\n *  @param errors An array of errors that this rule may add\r\n *  validation errors to.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction range(rule, value, source, errors, options) {\n  var len = typeof rule.len === 'number';\n  var min = typeof rule.min === 'number';\n  var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n  var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n  var val = value;\n  var key = null;\n  var num = typeof value === 'number';\n  var str = typeof value === 'string';\n  var arr = Array.isArray(value);\n  if (num) {\n    key = 'number';\n  } else if (str) {\n    key = 'string';\n  } else if (arr) {\n    key = 'array';\n  } // if the value is not of a supported type for range validation\n  // the validation rule rule should use the\n  // type property to also test for a particular type\n\n  if (!key) {\n    return false;\n  }\n  if (arr) {\n    val = value.length;\n  }\n  if (str) {\n    // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n    val = value.replace(spRegexp, '_').length;\n  }\n  if (len) {\n    if (val !== rule.len) {\n      errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n    }\n  } else if (min && !max && val < rule.min) {\n    errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n  } else if (max && !min && val > rule.max) {\n    errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n  } else if (min && max && (val < rule.min || val > rule.max)) {\n    errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n  }\n}\nvar ENUM = 'enum';\n/**\r\n *  Rule for validating a value exists in an enumerable list.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param source The source object being validated.\r\n *  @param errors An array of errors that this rule may add\r\n *  validation errors to.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction enumerable(rule, value, source, errors, options) {\n  rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n  if (rule[ENUM].indexOf(value) === -1) {\n    errors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n  }\n}\n\n/**\r\n *  Rule for validating a regular expression pattern.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param source The source object being validated.\r\n *  @param errors An array of errors that this rule may add\r\n *  validation errors to.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction pattern$1(rule, value, source, errors, options) {\n  if (rule.pattern) {\n    if (rule.pattern instanceof RegExp) {\n      // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n      // flag is accidentally set to `true`, which in a validation scenario\n      // is not necessary and the result might be misleading\n      rule.pattern.lastIndex = 0;\n      if (!rule.pattern.test(value)) {\n        errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n      }\n    } else if (typeof rule.pattern === 'string') {\n      var _pattern = new RegExp(rule.pattern);\n      if (!_pattern.test(value)) {\n        errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n      }\n    }\n  }\n}\nvar rules = {\n  required: required,\n  whitespace: whitespace,\n  type: type,\n  range: range,\n  enum: enumerable,\n  pattern: pattern$1\n};\n\n/**\r\n *  Performs validation for string types.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction string(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value, 'string') && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options, 'string');\n    if (!isEmptyValue(value, 'string')) {\n      rules.type(rule, value, source, errors, options);\n      rules.range(rule, value, source, errors, options);\n      rules.pattern(rule, value, source, errors, options);\n      if (rule.whitespace === true) {\n        rules.whitespace(rule, value, source, errors, options);\n      }\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates a function.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction method(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules.type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates a number.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction number(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (value === '') {\n      value = undefined;\n    }\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules.type(rule, value, source, errors, options);\n      rules.range(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates a boolean.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction _boolean(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules.type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates the regular expression type.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction regexp(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (!isEmptyValue(value)) {\n      rules.type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates a number is an integer.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction integer(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules.type(rule, value, source, errors, options);\n      rules.range(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates a number is a floating point number.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction floatFn(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules.type(rule, value, source, errors, options);\n      rules.range(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates an array.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction array(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value, 'array') && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options, 'array');\n    if (!isEmptyValue(value, 'array')) {\n      rules.type(rule, value, source, errors, options);\n      rules.range(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates an object.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction object(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules.type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\nvar ENUM$1 = 'enum';\n/**\r\n *  Validates an enumerable list.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction enumerable$1(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (value !== undefined) {\n      rules[ENUM$1](rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Validates a regular expression pattern.\r\n *\r\n *  Performs validation when a rule only contains\r\n *  a pattern property but is not declared as a string type.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction pattern$2(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value, 'string') && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (!isEmptyValue(value, 'string')) {\n      rules.pattern(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\nfunction date(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n    if (!isEmptyValue(value)) {\n      var dateObject;\n      if (typeof value === 'number') {\n        dateObject = new Date(value);\n      } else {\n        dateObject = value;\n      }\n      rules.type(rule, dateObject, source, errors, options);\n      if (dateObject) {\n        rules.range(rule, dateObject.getTime(), source, errors, options);\n      }\n    }\n  }\n  callback(errors);\n}\nfunction required$1(rule, value, callback, source, options) {\n  var errors = [];\n  var type = Array.isArray(value) ? 'array' : (0, _typeof2.default)(value);\n  rules.required(rule, value, source, errors, options, type);\n  callback(errors);\n}\nfunction type$1(rule, value, callback, source, options) {\n  var ruleType = rule.type;\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value, ruleType) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options, ruleType);\n    if (!isEmptyValue(value, ruleType)) {\n      rules.type(rule, value, source, errors, options);\n    }\n  }\n  callback(errors);\n}\n\n/**\r\n *  Performs validation for any type.\r\n *\r\n *  @param rule The validation rule.\r\n *  @param value The value of the field on the source object.\r\n *  @param callback The callback function.\r\n *  @param source The source object being validated.\r\n *  @param options The validation options.\r\n *  @param options.messages The validation messages.\r\n */\n\nfunction any(rule, value, callback, source, options) {\n  var errors = [];\n  var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n  if (validate) {\n    if (isEmptyValue(value) && !rule.required) {\n      return callback();\n    }\n    rules.required(rule, value, source, errors, options);\n  }\n  callback(errors);\n}\nvar validators = {\n  string: string,\n  method: method,\n  number: number,\n  boolean: _boolean,\n  regexp: regexp,\n  integer: integer,\n  float: floatFn,\n  array: array,\n  object: object,\n  enum: enumerable$1,\n  pattern: pattern$2,\n  date: date,\n  url: type$1,\n  hex: type$1,\n  email: type$1,\n  required: required$1,\n  any: any\n};\nfunction newMessages() {\n  return {\n    default: 'Validation error on field %s',\n    required: '%s is required',\n    enum: '%s must be one of %s',\n    whitespace: '%s cannot be empty',\n    date: {\n      format: '%s date %s is invalid for format %s',\n      parse: '%s date could not be parsed, %s is invalid ',\n      invalid: '%s date %s is invalid'\n    },\n    types: {\n      string: '%s is not a %s',\n      method: '%s is not a %s (function)',\n      array: '%s is not an %s',\n      object: '%s is not an %s',\n      number: '%s is not a %s',\n      date: '%s is not a %s',\n      boolean: '%s is not a %s',\n      integer: '%s is not an %s',\n      float: '%s is not a %s',\n      regexp: '%s is not a valid %s',\n      email: '%s is not a valid %s',\n      url: '%s is not a valid %s',\n      hex: '%s is not a valid %s'\n    },\n    string: {\n      len: '%s must be exactly %s characters',\n      min: '%s must be at least %s characters',\n      max: '%s cannot be longer than %s characters',\n      range: '%s must be between %s and %s characters'\n    },\n    number: {\n      len: '%s must equal %s',\n      min: '%s cannot be less than %s',\n      max: '%s cannot be greater than %s',\n      range: '%s must be between %s and %s'\n    },\n    array: {\n      len: '%s must be exactly %s in length',\n      min: '%s cannot be less than %s in length',\n      max: '%s cannot be greater than %s in length',\n      range: '%s must be between %s and %s in length'\n    },\n    pattern: {\n      mismatch: '%s value %s does not match pattern %s'\n    },\n    clone: function clone() {\n      var cloned = JSON.parse(JSON.stringify(this));\n      cloned.clone = this.clone;\n      return cloned;\n    }\n  };\n}\nvar messages = newMessages();\n\n/**\r\n *  Encapsulates a validation schema.\r\n *\r\n *  @param descriptor An object declaring validation rules\r\n *  for this schema.\r\n */\n\nfunction Schema(descriptor) {\n  this.rules = null;\n  this._messages = messages;\n  this.define(descriptor);\n}\nSchema.prototype = {\n  messages: function messages(_messages) {\n    if (_messages) {\n      this._messages = deepMerge(newMessages(), _messages);\n    }\n    return this._messages;\n  },\n  define: function define(rules) {\n    if (!rules) {\n      throw new Error('Cannot configure a schema with no rules');\n    }\n    if ((0, _typeof2.default)(rules) !== 'object' || Array.isArray(rules)) {\n      throw new Error('Rules must be an object');\n    }\n    this.rules = {};\n    var z;\n    var item;\n    for (z in rules) {\n      if (rules.hasOwnProperty(z)) {\n        item = rules[z];\n        this.rules[z] = Array.isArray(item) ? item : [item];\n      }\n    }\n  },\n  validate: function validate(source_, o, oc) {\n    var _this = this;\n    if (o === void 0) {\n      o = {};\n    }\n    if (oc === void 0) {\n      oc = function oc() {};\n    }\n    var source = source_;\n    var options = o;\n    var callback = oc;\n    if (typeof options === 'function') {\n      callback = options;\n      options = {};\n    }\n    if (!this.rules || Object.keys(this.rules).length === 0) {\n      if (callback) {\n        callback();\n      }\n      return Promise.resolve();\n    }\n    function complete(results) {\n      var i;\n      var errors = [];\n      var fields = {};\n      function add(e) {\n        if (Array.isArray(e)) {\n          var _errors;\n          errors = (_errors = errors).concat.apply(_errors, e);\n        } else {\n          errors.push(e);\n        }\n      }\n      for (i = 0; i < results.length; i++) {\n        add(results[i]);\n      }\n      if (!errors.length) {\n        errors = null;\n        fields = null;\n      } else {\n        fields = convertFieldsError(errors);\n      }\n      callback(errors, fields);\n    }\n    if (options.messages) {\n      var messages$1 = this.messages();\n      if (messages$1 === messages) {\n        messages$1 = newMessages();\n      }\n      deepMerge(messages$1, options.messages);\n      options.messages = messages$1;\n    } else {\n      options.messages = this.messages();\n    }\n    var arr;\n    var value;\n    var series = {};\n    var keys = options.keys || Object.keys(this.rules);\n    keys.forEach(function (z) {\n      arr = _this.rules[z];\n      value = source[z];\n      arr.forEach(function (r) {\n        var rule = r;\n        if (typeof rule.transform === 'function') {\n          if (source === source_) {\n            source = _objectSpread({}, source);\n          }\n          value = source[z] = rule.transform(value);\n        }\n        if (typeof rule === 'function') {\n          rule = {\n            validator: rule\n          };\n        } else {\n          rule = _objectSpread({}, rule);\n        }\n        rule.validator = _this.getValidationMethod(rule);\n        rule.field = z;\n        rule.fullField = rule.fullField || z;\n        rule.type = _this.getType(rule);\n        if (!rule.validator) {\n          return;\n        }\n        series[z] = series[z] || [];\n        series[z].push({\n          rule: rule,\n          value: value,\n          source: source,\n          field: z\n        });\n      });\n    });\n    var errorFields = {};\n    return asyncMap(series, options, function (data, doIt) {\n      var rule = data.rule;\n      var deep = (rule.type === 'object' || rule.type === 'array') && ((0, _typeof2.default)(rule.fields) === 'object' || (0, _typeof2.default)(rule.defaultField) === 'object');\n      deep = deep && (rule.required || !rule.required && data.value);\n      rule.field = data.field;\n      function addFullfield(key, schema) {\n        return _objectSpread(_objectSpread({}, schema), {}, {\n          fullField: \"\".concat(rule.fullField, \".\").concat(key)\n        });\n      }\n      function cb(e) {\n        if (e === void 0) {\n          e = [];\n        }\n        var errors = e;\n        if (!Array.isArray(errors)) {\n          errors = [errors];\n        }\n        if (!options.suppressWarning && errors.length) {\n          Schema.warning('async-validator:', errors);\n        }\n        if (errors.length && rule.message) {\n          errors = [].concat(rule.message);\n        }\n        errors = errors.map(complementError(rule));\n        if (options.first && errors.length) {\n          errorFields[rule.field] = 1;\n          return doIt(errors);\n        }\n        if (!deep) {\n          doIt(errors);\n        } else {\n          // if rule is required but the target object\n          // does not exist fail at the rule level and don't\n          // go deeper\n          if (rule.required && !data.value) {\n            if (rule.message) {\n              errors = [].concat(rule.message).map(complementError(rule));\n            } else if (options.error) {\n              errors = [options.error(rule, format(options.messages.required, rule.field))];\n            } else {\n              errors = [];\n            }\n            return doIt(errors);\n          }\n          var fieldsSchema = {};\n          if (rule.defaultField) {\n            for (var k in data.value) {\n              if (data.value.hasOwnProperty(k)) {\n                fieldsSchema[k] = rule.defaultField;\n              }\n            }\n          }\n          fieldsSchema = _objectSpread(_objectSpread({}, fieldsSchema), data.rule.fields);\n          for (var f in fieldsSchema) {\n            if (fieldsSchema.hasOwnProperty(f)) {\n              var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n              fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n            }\n          }\n          var schema = new Schema(fieldsSchema);\n          schema.messages(options.messages);\n          if (data.rule.options) {\n            data.rule.options.messages = options.messages;\n            data.rule.options.error = options.error;\n          }\n          schema.validate(data.value, data.rule.options || options, function (errs) {\n            var finalErrors = [];\n            if (errors && errors.length) {\n              finalErrors.push.apply(finalErrors, errors);\n            }\n            if (errs && errs.length) {\n              finalErrors.push.apply(finalErrors, errs);\n            }\n            doIt(finalErrors.length ? finalErrors : null);\n          });\n        }\n      }\n      var res;\n      if (rule.asyncValidator) {\n        res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n      } else if (rule.validator) {\n        res = rule.validator(rule, data.value, cb, data.source, options);\n        if (res === true) {\n          cb();\n        } else if (res === false) {\n          cb(rule.message || \"\".concat(rule.field, \" fails\"));\n        } else if (res instanceof Array) {\n          cb(res);\n        } else if (res instanceof Error) {\n          cb(res.message);\n        }\n      }\n      if (res && res.then) {\n        res.then(function () {\n          return cb();\n        }, function (e) {\n          return cb(e);\n        });\n      }\n    }, function (results) {\n      complete(results);\n    });\n  },\n  getType: function getType(rule) {\n    if (rule.type === undefined && rule.pattern instanceof RegExp) {\n      rule.type = 'pattern';\n    }\n    if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n      throw new Error(format('Unknown rule type %s', rule.type));\n    }\n    return rule.type || 'string';\n  },\n  getValidationMethod: function getValidationMethod(rule) {\n    if (typeof rule.validator === 'function') {\n      return rule.validator;\n    }\n    var keys = Object.keys(rule);\n    var messageIndex = keys.indexOf('message');\n    if (messageIndex !== -1) {\n      keys.splice(messageIndex, 1);\n    }\n    if (keys.length === 1 && keys[0] === 'required') {\n      return validators.required;\n    }\n    return validators[this.getType(rule)] || false;\n  }\n};\nSchema.register = function register(type, validator) {\n  if (typeof validator !== 'function') {\n    throw new Error('Cannot register a validator by type, validator is not a function');\n  }\n  validators[type] = validator;\n};\nSchema.warning = warning;\nSchema.messages = messages;\nvar _default = Schema; // # sourceMappingURL=index.js.map\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/node-libs-browser/mock/process.js */ 26), __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvdXZpZXctdWkvbGlicy91dGlsL2FzeW5jLXZhbGlkYXRvci5qcyJdLCJuYW1lcyI6WyJfZXh0ZW5kcyIsIk9iamVjdCIsImFzc2lnbiIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJhcHBseSIsImZvcm1hdFJlZ0V4cCIsIndhcm5pbmciLCJwcm9jZXNzIiwid2luZG93IiwiZG9jdW1lbnQiLCJ0eXBlIiwiZXJyb3JzIiwiY29uc29sZSIsIndhcm4iLCJldmVyeSIsImUiLCJjb252ZXJ0RmllbGRzRXJyb3IiLCJmaWVsZHMiLCJmb3JFYWNoIiwiZXJyb3IiLCJmaWVsZCIsInB1c2giLCJmb3JtYXQiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImYiLCJsZW4iLCJzbGljZSIsInN0ciIsIlN0cmluZyIsInJlcGxhY2UiLCJ4IiwiTnVtYmVyIiwiSlNPTiIsInN0cmluZ2lmeSIsIl8iLCJhcmciLCJpc05hdGl2ZVN0cmluZ1R5cGUiLCJpc0VtcHR5VmFsdWUiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImlzQXJyYXkiLCJhc3luY1BhcmFsbGVsQXJyYXkiLCJhcnIiLCJmdW5jIiwiY2FsbGJhY2siLCJyZXN1bHRzIiwidG90YWwiLCJhcnJMZW5ndGgiLCJjb3VudCIsImEiLCJhc3luY1NlcmlhbEFycmF5IiwiaW5kZXgiLCJuZXh0Iiwib3JpZ2luYWwiLCJmbGF0dGVuT2JqQXJyIiwib2JqQXJyIiwicmV0Iiwia2V5cyIsImsiLCJhc3luY01hcCIsIm9wdGlvbiIsImZpcnN0IiwiX3BlbmRpbmciLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImZsYXR0ZW5BcnIiLCJjYXRjaCIsImZpcnN0RmllbGRzIiwib2JqQXJyS2V5cyIsIm9iakFyckxlbmd0aCIsInBlbmRpbmciLCJpbmRleE9mIiwiY29tcGxlbWVudEVycm9yIiwicnVsZSIsIm9lIiwibWVzc2FnZSIsImZ1bGxGaWVsZCIsImRlZXBNZXJnZSIsInMiLCJyZXF1aXJlZCIsIm9wdGlvbnMiLCJtZXNzYWdlcyIsIndoaXRlc3BhY2UiLCJ0ZXN0IiwicGF0dGVybiIsImVtYWlsIiwidXJsIiwiUmVnRXhwIiwiaGV4IiwidHlwZXMiLCJpbnRlZ2VyIiwiZmxvYXQiLCJhcnJheSIsInJlZ2V4cCIsImRhdGUiLCJnZXRUaW1lIiwiZ2V0TW9udGgiLCJnZXRZZWFyIiwibnVtYmVyIiwiaXNOYU4iLCJvYmplY3QiLCJtZXRob2QiLCJtYXRjaCIsImN1c3RvbSIsInJ1bGVUeXBlIiwicmFuZ2UiLCJtaW4iLCJtYXgiLCJzcFJlZ2V4cCIsInZhbCIsIm51bSIsIkVOVU0iLCJlbnVtZXJhYmxlIiwiam9pbiIsInBhdHRlcm4kMSIsImxhc3RJbmRleCIsIm1pc21hdGNoIiwiX3BhdHRlcm4iLCJydWxlcyIsImVudW0iLCJzdHJpbmciLCJ2YWxpZGF0ZSIsIl9ib29sZWFuIiwiZmxvYXRGbiIsIkVOVU0kMSIsImVudW1lcmFibGUkMSIsInBhdHRlcm4kMiIsImRhdGVPYmplY3QiLCJEYXRlIiwicmVxdWlyZWQkMSIsInR5cGUkMSIsImFueSIsInZhbGlkYXRvcnMiLCJib29sZWFuIiwibmV3TWVzc2FnZXMiLCJkZWZhdWx0IiwicGFyc2UiLCJpbnZhbGlkIiwiY2xvbmUiLCJjbG9uZWQiLCJTY2hlbWEiLCJkZXNjcmlwdG9yIiwiX21lc3NhZ2VzIiwiZGVmaW5lIiwiRXJyb3IiLCJ6IiwiaXRlbSIsInNvdXJjZV8iLCJvIiwib2MiLCJfdGhpcyIsImNvbXBsZXRlIiwiYWRkIiwiX2Vycm9ycyIsImNvbmNhdCIsIm1lc3NhZ2VzJDEiLCJzZXJpZXMiLCJyIiwidHJhbnNmb3JtIiwidmFsaWRhdG9yIiwiZ2V0VmFsaWRhdGlvbk1ldGhvZCIsImdldFR5cGUiLCJlcnJvckZpZWxkcyIsImRhdGEiLCJkb0l0IiwiZGVlcCIsImRlZmF1bHRGaWVsZCIsImFkZEZ1bGxmaWVsZCIsInNjaGVtYSIsImNiIiwic3VwcHJlc3NXYXJuaW5nIiwibWFwIiwiZmllbGRzU2NoZW1hIiwiZmllbGRTY2hlbWEiLCJiaW5kIiwiZXJycyIsImZpbmFsRXJyb3JzIiwicmVzIiwiYXN5bmNWYWxpZGF0b3IiLCJ0aGVuIiwibWVzc2FnZUluZGV4Iiwic3BsaWNlIiwicmVnaXN0ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsU0FBU0EsUUFBUSxHQUFHO0VBQ2hCQSxRQUFRLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxJQUFJLFVBQVVDLE1BQU0sRUFBRTtJQUMxQyxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR0MsU0FBUyxDQUFDQyxNQUFNLEVBQUVGLENBQUMsRUFBRSxFQUFFO01BQ3ZDLElBQU1HLE1BQU0sR0FBR0YsU0FBUyxDQUFDRCxDQUFDLENBQUM7TUFFM0IsS0FBSyxJQUFNSSxHQUFHLElBQUlELE1BQU0sRUFBRTtRQUN0QixJQUFJTixNQUFNLENBQUNRLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNKLE1BQU0sRUFBRUMsR0FBRyxDQUFDLEVBQUU7VUFDbkRMLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDLEdBQUdELE1BQU0sQ0FBQ0MsR0FBRyxDQUFDO1FBQzdCO01BQ0o7SUFDSjtJQUVBLE9BQU9MLE1BQU07RUFDakIsQ0FBQztFQUVELE9BQU9ILFFBQVEsQ0FBQ1ksS0FBSyxDQUFDLElBQUksRUFBRVAsU0FBUyxDQUFDO0FBQzFDOztBQUVBO0FBQ0EsSUFBTVEsWUFBWSxHQUFHLFVBQVU7QUFDL0IsSUFBSUMsT0FBTyxHQUFHLFNBQVNBLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBQzs7QUFFcEMsSUFBSSxPQUFPQyxPQUFPLEtBQUssV0FBVyxJQUFJQSxzSUFBVyxJQUFJQSxhQUFvQixLQUFLLFlBQVksSUFBSSxPQUFPQyxNQUFNLEtBQ3RHLFdBQVcsSUFBSSxPQUFPQyxRQUFRLEtBQUssV0FBVyxFQUFFO0VBQ2pESCxPQUFPLEdB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RTtFQUNqRCxJQUFJLE9BQU9BLFNBQVMsS0FBSyxVQUFVLEVBQUU7SUFDakMsTUFBTSxJQUFJZixLQUFLLENBQUMsa0VBQWtFLENBQUM7RUFDdkY7RUFFQVosVUFBVSxDQUFDOUgsSUFBSSxDQUFDLEdBQUd5SixTQUFTO0FBQ2hDLENBQUM7QUFFRG5CLE1BQU0sQ0FBQzFJLE9BQU8sR0FBR0EsT0FBTztBQUN4QjBJLE1BQU0sQ0FBQzNELFFBQVEsR0FBR0EsUUFBUTtBQUFBLGVBRVgyRCxNQUFNLEVBQ3JCO0FBQUEsMkIiLCJmaWxlIjoiMjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZXh0ZW5kcygpIHtcclxuICAgIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3Qgc291cmNlID0gYXJndW1lbnRzW2ldXHJcblxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2UpIHtcclxuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGFyZ2V0XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcclxufVxyXG5cclxuLyogZXNsaW50IG5vLWNvbnNvbGU6MCAqL1xyXG5jb25zdCBmb3JtYXRSZWdFeHAgPSAvJVtzZGolXS9nXHJcbmxldCB3YXJuaW5nID0gZnVuY3Rpb24gd2FybmluZygpIHt9IC8vIGRvbid0IHByaW50IHdhcm5pbmcgbWVzc2FnZSB3aGVuIGluIHByb2R1Y3Rpb24gZW52IG9yIG5vZGUgcnVudGltZVxyXG5cclxuaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiBwcm9jZXNzLmVudiAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHR5cGVvZiB3aW5kb3dcclxuXHQhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgd2FybmluZyA9IGZ1bmN0aW9uIHdhcm5pbmcodHlwZSwgZXJyb3JzKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJiBjb25zb2xlLndhcm4pIHtcclxuICAgICAgICAgICAgaWYgKGVycm9ycy5ldmVyeSgoZSkgPT4gdHlwZW9mIGUgPT09ICdzdHJpbmcnKSkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKHR5cGUsIGVycm9ycylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gY29udmVydEZpZWxkc0Vycm9yKGVycm9ycykge1xyXG4gICAgaWYgKCFlcnJvcnMgfHwgIWVycm9ycy5sZW5ndGgpIHJldHVybiBudWxsXHJcbiAgICBjb25zdCBmaWVsZHMgPSB7fVxyXG4gICAgZXJyb3JzLmZvckVhY2goKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc3QgeyBmaWVsZCB9ID0gZXJyb3JcclxuICAgICAgICBmaWVsZHNbZmllbGRdID0gZmllbGRzW2ZpZWxkXSB8fCBbXVxyXG4gICAgICAgIGZpZWxkc1tmaWVsZF0ucHVzaChlcnJvcilcclxuICAgIH0pXHJcbiAgICByZXR1cm4gZmllbGRzXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZvcm1hdCgpIHtcclxuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xyXG4gICAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV1cclxuICAgIH1cclxuXHJcbiAgICBsZXQgaSA9IDFcclxuICAgIGNvbnN0IGYgPSBhcmdzWzBdXHJcbiAgICBjb25zdCBsZW4gPSBhcmdzLmxlbmd0aFxyXG5cclxuICAgIGlmICh0eXBlb2YgZiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIHJldHVybiBmLmFwcGx5KG51bGwsIGFyZ3Muc2xpY2UoMSkpXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBmID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIGxldCBzdHIgPSBTdHJpbmcoZikucmVwbGFjZShmb3JtYXRSZWdFeHAsICh4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh4ID09PSAnJSUnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJyUnXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpID49IGxlbikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHhcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3dpdGNoICh4KSB7XHJcbiAgICAgICAgICAgIGNhc2UgJyVzJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoYXJnc1tpKytdKVxyXG5cclxuICAgICAgICAgICAgY2FzZSAnJWQnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcihhcmdzW2krK10pXHJcblxyXG4gICAgICAgICAgICBjYXNlICclaic6XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhcmdzW2krK10pXHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChfKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdbQ2lyY3VsYXJdJ1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGJyZWFrXHJcblxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHhcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIGZvciAobGV0IGFyZyA9IGFyZ3NbaV07IGkgPCBsZW47IGFyZyA9IGFyZ3NbKytpXSkge1xyXG4gICAgICAgICAgICBzdHIgKz0gYCAke2FyZ31gXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc3RyXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZcclxufVxyXG5cclxuZnVuY3Rpb24gaXNOYXRpdmVTdHJpbmdUeXBlKHR5cGUpIHtcclxuICAgIHJldHVybiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlID09PSAndXJsJyB8fCB0eXBlID09PSAnaGV4JyB8fCB0eXBlID09PSAnZW1haWwnIHx8IHR5cGUgPT09ICdwYXR0ZXJuJ1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc0VtcHR5VmFsdWUodmFsdWUsIHR5cGUpIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZSA9PT0gJ2FycmF5JyAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAhdmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNOYXRpdmVTdHJpbmdUeXBlKHR5cGUpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgIXZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2VcclxufVxyXG5cclxuZnVuY3Rpb24gYXN5bmNQYXJhbGxlbEFycmF5KGFyciwgZnVuYywgY2FsbGJhY2spIHtcclxuICAgIGNvbnN0IHJlc3VsdHMgPSBbXVxyXG4gICAgbGV0IHRvdGFsID0gMFxyXG4gICAgY29uc3QgYXJyTGVuZ3RoID0gYXJyLmxlbmd0aFxyXG5cclxuICAgIGZ1bmN0aW9uIGNvdW50KGVycm9ycykge1xyXG4gICAgICAgIHJlc3VsdHMucHVzaC5hcHBseShyZXN1bHRzLCBlcnJvcnMpXHJcbiAgICAgICAgdG90YWwrK1xyXG5cclxuICAgICAgICBpZiAodG90YWwgPT09IGFyckxlbmd0aCkge1xyXG4gICAgICAgICAgICBjYWxsYmFjayhyZXN1bHRzKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhcnIuZm9yRWFjaCgoYSkgPT4ge1xyXG4gICAgICAgIGZ1bmMoYSwgY291bnQpXHJcbiAgICB9KVxyXG59XHJcblxyXG5mdW5jdGlvbiBhc3luY1NlcmlhbEFycmF5KGFyciwgZnVuYywgY2FsbGJhY2spIHtcclxuICAgIGxldCBpbmRleCA9IDBcclxuICAgIGNvbnN0IGFyckxlbmd0aCA9IGFyci5sZW5ndGhcclxuXHJcbiAgICBmdW5jdGlvbiBuZXh0KGVycm9ycykge1xyXG4gICAgICAgIGlmIChlcnJvcnMgJiYgZXJyb3JzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBjYWxsYmFjayhlcnJvcnMpXHJcbiAgICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSBpbmRleFxyXG4gICAgICAgIGluZGV4ICs9IDFcclxuXHJcbiAgICAgICAgaWYgKG9yaWdpbmFsIDwgYXJyTGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGZ1bmMoYXJyW29yaWdpbmFsXSwgbmV4dClcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjYWxsYmFjayhbXSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmV4dChbXSlcclxufVxyXG5cclxuZnVuY3Rpb24gZmxhdHRlbk9iakFycihvYmpBcnIpIHtcclxuICAgIGNvbnN0IHJldCA9IFtdXHJcbiAgICBPYmplY3Qua2V5cyhvYmpBcnIpLmZvckVhY2goKGspID0+IHtcclxuICAgICAgICByZXQucHVzaC5hcHBseShyZXQsIG9iakFycltrXSlcclxuICAgIH0pXHJcbiAgICByZXR1cm4gcmV0XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGFzeW5jTWFwKG9iakFyciwgb3B0aW9uLCBmdW5jLCBjYWxsYmFjaykge1xyXG4gICAgaWYgKG9wdGlvbi5maXJzdCkge1xyXG4gICAgICAgIGNvbnN0IF9wZW5kaW5nID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gZnVuY3Rpb24gbmV4dChlcnJvcnMpIHtcclxuICAgICAgICAgICAgICAgIGNhbGxiYWNrKGVycm9ycylcclxuICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcnMubGVuZ3RoID8gcmVqZWN0KHtcclxuICAgICAgICAgICAgICAgICAgICBlcnJvcnMsXHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBjb252ZXJ0RmllbGRzRXJyb3IoZXJyb3JzKVxyXG4gICAgICAgICAgICAgICAgfSkgOiByZXNvbHZlKClcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgZmxhdHRlbkFyciA9IGZsYXR0ZW5PYmpBcnIob2JqQXJyKVxyXG4gICAgICAgICAgICBhc3luY1NlcmlhbEFycmF5KGZsYXR0ZW5BcnIsIGZ1bmMsIG5leHQpXHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgX3BlbmRpbmcuY2F0Y2goKGUpID0+IGUpXHJcblxyXG4gICAgICAgIHJldHVybiBfcGVuZGluZ1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBmaXJzdEZpZWxkcyA9IG9wdGlvbi5maXJzdEZpZWxkcyB8fCBbXVxyXG5cclxuICAgIGlmIChmaXJzdEZpZWxkcyA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIGZpcnN0RmllbGRzID0gT2JqZWN0LmtleXMob2JqQXJyKVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9iakFycktleXMgPSBPYmplY3Qua2V5cyhvYmpBcnIpXHJcbiAgICBjb25zdCBvYmpBcnJMZW5ndGggPSBvYmpBcnJLZXlzLmxlbmd0aFxyXG4gICAgbGV0IHRvdGFsID0gMFxyXG4gICAgY29uc3QgcmVzdWx0cyA9IFtdXHJcbiAgICBjb25zdCBwZW5kaW5nID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5leHQgPSBmdW5jdGlvbiBuZXh0KGVycm9ycykge1xyXG4gICAgICAgICAgICByZXN1bHRzLnB1c2guYXBwbHkocmVzdWx0cywgZXJyb3JzKVxyXG4gICAgICAgICAgICB0b3RhbCsrXHJcblxyXG4gICAgICAgICAgICBpZiAodG90YWwgPT09IG9iakFyckxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0cylcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRzLmxlbmd0aCA/IHJlamVjdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiByZXN1bHRzLFxyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczogY29udmVydEZpZWxkc0Vycm9yKHJlc3VsdHMpXHJcbiAgICAgICAgICAgICAgICB9KSA6IHJlc29sdmUoKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIW9iakFycktleXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGNhbGxiYWNrKHJlc3VsdHMpXHJcbiAgICAgICAgICAgIHJlc29sdmUoKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgb2JqQXJyS2V5cy5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgYXJyID0gb2JqQXJyW2tleV1cclxuXHJcbiAgICAgICAgICAgIGlmIChmaXJzdEZpZWxkcy5pbmRleE9mKGtleSkgIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBhc3luY1NlcmlhbEFycmF5KGFyciwgZnVuYywgbmV4dClcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGFzeW5jUGFyYWxsZWxBcnJheShhcnIsIGZ1bmMsIG5leHQpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfSlcclxuICAgIHBlbmRpbmcuY2F0Y2goKGUpID0+IGUpXHJcbiAgICByZXR1cm4gcGVuZGluZ1xyXG59XHJcblxyXG5mdW5jdGlvbiBjb21wbGVtZW50RXJyb3IocnVsZSkge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIChvZSkge1xyXG4gICAgICAgIGlmIChvZSAmJiBvZS5tZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIG9lLmZpZWxkID0gb2UuZmllbGQgfHwgcnVsZS5mdWxsRmllbGRcclxuICAgICAgICAgICAgcmV0dXJuIG9lXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBtZXNzYWdlOiB0eXBlb2Ygb2UgPT09ICdmdW5jdGlvbicgPyBvZSgpIDogb2UsXHJcbiAgICAgICAgICAgIGZpZWxkOiBvZS5maWVsZCB8fCBydWxlLmZ1bGxGaWVsZFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZGVlcE1lcmdlKHRhcmdldCwgc291cmNlKSB7XHJcbiAgICBpZiAoc291cmNlKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBzIGluIHNvdXJjZSkge1xyXG4gICAgICAgICAgICBpZiAoc291cmNlLmhhc093blByb3BlcnR5KHMpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHNvdXJjZVtzXVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHR5cGVvZiB0YXJnZXRbc10gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0W3NdID0geyAuLi50YXJnZXRbc10sIC4uLnZhbHVlIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0W3NdID0gdmFsdWVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGFyZ2V0XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgUnVsZSBmb3IgdmFsaWRhdGluZyByZXF1aXJlZCBmaWVsZHMuXHJcbiAqXHJcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxyXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBlcnJvcnMgQW4gYXJyYXkgb2YgZXJyb3JzIHRoYXQgdGhpcyBydWxlIG1heSBhZGRcclxuICogIHZhbGlkYXRpb24gZXJyb3JzIHRvLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cclxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIHJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucywgdHlwZSkge1xyXG4gICAgaWYgKHJ1bGUucmVxdWlyZWQgJiYgKCFzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZCkgfHwgaXNFbXB0eVZhbHVlKHZhbHVlLCB0eXBlIHx8IHJ1bGUudHlwZSkpKSB7XHJcbiAgICAgICAgZXJyb3JzLnB1c2goZm9ybWF0KG9wdGlvbnMubWVzc2FnZXMucmVxdWlyZWQsIHJ1bGUuZnVsbEZpZWxkKSlcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqICBSdWxlIGZvciB2YWxpZGF0aW5nIHdoaXRlc3BhY2UuXHJcbiAqXHJcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxyXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBlcnJvcnMgQW4gYXJyYXkgb2YgZXJyb3JzIHRoYXQgdGhpcyBydWxlIG1heSBhZGRcclxuICogIHZhbGlkYXRpb24gZXJyb3JzIHRvLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cclxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIHdoaXRlc3BhY2UocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKSB7XHJcbiAgICBpZiAoL15cXHMrJC8udGVzdCh2YWx1ZSkgfHwgdmFsdWUgPT09ICcnKSB7XHJcbiAgICAgICAgZXJyb3JzLnB1c2goZm9ybWF0KG9wdGlvbnMubWVzc2FnZXMud2hpdGVzcGFjZSwgcnVsZS5mdWxsRmllbGQpKVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBlc2xpbnQgbWF4LWxlbjowICovXHJcblxyXG5jb25zdCBwYXR0ZXJuID0ge1xyXG4gICAgLy8gaHR0cDovL2VtYWlscmVnZXguY29tL1xyXG4gICAgZW1haWw6IC9eKChbXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvLFxyXG4gICAgdXJsOiBuZXcgUmVnRXhwKFxyXG4gICAgICAgICdeKD8hbWFpbHRvOikoPzooPzpodHRwfGh0dHBzfGZ0cCk6Ly98Ly8pKD86XFxcXFMrKD86OlxcXFxTKik/QCk/KD86KD86KD86WzEtOV1cXFxcZD98MVxcXFxkXFxcXGR8MlswMV1cXFxcZHwyMlswLTNdKSg/OlxcXFwuKD86MT9cXFxcZHsxLDJ9fDJbMC00XVxcXFxkfDI1WzAtNV0pKXsyfSg/OlxcXFwuKD86WzAtOV1cXFxcZD98MVxcXFxkXFxcXGR8MlswLTRdXFxcXGR8MjVbMC00XSkpfCg/Oig/OlthLXpcXFxcdTAwYTEtXFxcXHVmZmZmMC05XSstKikqW2EtelxcXFx1MDBhMS1cXFxcdWZmZmYwLTldKykoPzpcXFxcLig/OlthLXpcXFxcdTAwYTEtXFxcXHVmZmZmMC05XSstKikqW2EtelxcXFx1MDBhMS1cXFxcdWZmZmYwLTldKykqKD86XFxcXC4oPzpbYS16XFxcXHUwMGExLVxcXFx1ZmZmZl17Mix9KSkpfGxvY2FsaG9zdCkoPzo6XFxcXGR7Miw1fSk/KD86KC98XFxcXD98IylbXlxcXFxzXSopPyQnLFxyXG4gICAgICAgICdpJ1xyXG4gICAgKSxcclxuICAgIGhleDogL14jPyhbYS1mMC05XXs2fXxbYS1mMC05XXszfSkkL2lcclxufVxyXG52YXIgdHlwZXMgPSB7XHJcbiAgICBpbnRlZ2VyOiBmdW5jdGlvbiBpbnRlZ2VyKHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIC9eKC0pP1xcZCskLy50ZXN0KHZhbHVlKTtcclxuICAgIH0sXHJcbiAgICBmbG9hdDogZnVuY3Rpb24gZmxvYXQodmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gL14oLSk/XFxkKyhcXC5cXGQrKT8kLy50ZXN0KHZhbHVlKTtcclxuICAgIH0sXHJcbiAgICBhcnJheTogZnVuY3Rpb24gYXJyYXkodmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSlcclxuICAgIH0sXHJcbiAgICByZWdleHA6IGZ1bmN0aW9uIHJlZ2V4cCh2YWx1ZSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFJlZ0V4cCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcmV0dXJuICEhbmV3IFJlZ0V4cCh2YWx1ZSlcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBkYXRlOiBmdW5jdGlvbiBkYXRlKHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZS5nZXRUaW1lID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB2YWx1ZS5nZXRNb250aCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdmFsdWUuZ2V0WWVhclxyXG5cdFx0XHQ9PT0gJ2Z1bmN0aW9uJ1xyXG4gICAgfSxcclxuICAgIG51bWJlcjogZnVuY3Rpb24gbnVtYmVyKHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKGlzTmFOKHZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2VcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIOS/ruaUuea6kOegge+8jOWwhuWtl+espuS4suaVsOWAvOWFiOi9rOS4uuaVsOWAvFxyXG4gICAgICAgIHJldHVybiB0eXBlb2YgK3ZhbHVlID09PSAnbnVtYmVyJ1xyXG4gICAgfSxcclxuICAgIG9iamVjdDogZnVuY3Rpb24gb2JqZWN0KHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgIXR5cGVzLmFycmF5KHZhbHVlKVxyXG4gICAgfSxcclxuICAgIG1ldGhvZDogZnVuY3Rpb24gbWV0aG9kKHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJ1xyXG4gICAgfSxcclxuICAgIGVtYWlsOiBmdW5jdGlvbiBlbWFpbCh2YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICEhdmFsdWUubWF0Y2gocGF0dGVybi5lbWFpbCkgJiYgdmFsdWUubGVuZ3RoIDwgMjU1XHJcbiAgICB9LFxyXG4gICAgdXJsOiBmdW5jdGlvbiB1cmwodmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhIXZhbHVlLm1hdGNoKHBhdHRlcm4udXJsKVxyXG4gICAgfSxcclxuICAgIGhleDogZnVuY3Rpb24gaGV4KHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgISF2YWx1ZS5tYXRjaChwYXR0ZXJuLmhleClcclxuICAgIH1cclxufVxyXG4vKipcclxuICogIFJ1bGUgZm9yIHZhbGlkYXRpbmcgdGhlIHR5cGUgb2YgYSB2YWx1ZS5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxyXG4gKiAgQHBhcmFtIGVycm9ycyBBbiBhcnJheSBvZiBlcnJvcnMgdGhhdCB0aGlzIHJ1bGUgbWF5IGFkZFxyXG4gKiAgdmFsaWRhdGlvbiBlcnJvcnMgdG8uXHJcbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMubWVzc2FnZXMgVGhlIHZhbGlkYXRpb24gbWVzc2FnZXMuXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gdHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpIHtcclxuICAgIGlmIChydWxlLnJlcXVpcmVkICYmIHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY3VzdG9tID0gWydpbnRlZ2VyJywgJ2Zsb2F0JywgJ2FycmF5JywgJ3JlZ2V4cCcsICdvYmplY3QnLCAnbWV0aG9kJywgJ2VtYWlsJywgJ251bWJlcicsICdkYXRlJywgJ3VybCcsICdoZXgnXVxyXG4gICAgY29uc3QgcnVsZVR5cGUgPSBydWxlLnR5cGVcclxuXHJcbiAgICBpZiAoY3VzdG9tLmluZGV4T2YocnVsZVR5cGUpID4gLTEpIHtcclxuICAgICAgICBpZiAoIXR5cGVzW3J1bGVUeXBlXSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgZXJyb3JzLnB1c2goZm9ybWF0KG9wdGlvbnMubWVzc2FnZXMudHlwZXNbcnVsZVR5cGVdLCBydWxlLmZ1bGxGaWVsZCwgcnVsZS50eXBlKSlcclxuICAgICAgICB9IC8vIHN0cmFpZ2h0IHR5cGVvZiBjaGVja1xyXG4gICAgfSBlbHNlIGlmIChydWxlVHlwZSAmJiB0eXBlb2YgdmFsdWUgIT09IHJ1bGUudHlwZSkge1xyXG4gICAgICAgIGVycm9ycy5wdXNoKGZvcm1hdChvcHRpb25zLm1lc3NhZ2VzLnR5cGVzW3J1bGVUeXBlXSwgcnVsZS5mdWxsRmllbGQsIHJ1bGUudHlwZSkpXHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgUnVsZSBmb3IgdmFsaWRhdGluZyBtaW5pbXVtIGFuZCBtYXhpbXVtIGFsbG93ZWQgdmFsdWVzLlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXHJcbiAqICBAcGFyYW0gZXJyb3JzIEFuIGFycmF5IG9mIGVycm9ycyB0aGF0IHRoaXMgcnVsZSBtYXkgYWRkXHJcbiAqICB2YWxpZGF0aW9uIGVycm9ycyB0by5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiByYW5nZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGxlbiA9IHR5cGVvZiBydWxlLmxlbiA9PT0gJ251bWJlcidcclxuICAgIGNvbnN0IG1pbiA9IHR5cGVvZiBydWxlLm1pbiA9PT0gJ251bWJlcidcclxuICAgIGNvbnN0IG1heCA9IHR5cGVvZiBydWxlLm1heCA9PT0gJ251bWJlcicgLy8g5q2j5YiZ5Yy56YWN56CB54K56IyD5Zu05LuOVSswMTAwMDDkuIDnm7TliLBVKzEwRkZGRueahOaWh+Wtl++8iOihpeWFheW5s+mdolN1cHBsZW1lbnRhcnkgUGxhbmXvvIlcclxuXHJcbiAgICBjb25zdCBzcFJlZ2V4cCA9IC9bXFx1RDgwMC1cXHVEQkZGXVtcXHVEQzAwLVxcdURGRkZdL2dcclxuICAgIGxldCB2YWwgPSB2YWx1ZVxyXG4gICAgbGV0IGtleSA9IG51bGxcclxuICAgIGNvbnN0IG51bSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcidcclxuICAgIGNvbnN0IHN0ciA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcclxuICAgIGNvbnN0IGFyciA9IEFycmF5LmlzQXJyYXkodmFsdWUpXHJcblxyXG4gICAgaWYgKG51bSkge1xyXG4gICAgICAgIGtleSA9ICdudW1iZXInXHJcbiAgICB9IGVsc2UgaWYgKHN0cikge1xyXG4gICAgICAgIGtleSA9ICdzdHJpbmcnXHJcbiAgICB9IGVsc2UgaWYgKGFycikge1xyXG4gICAgICAgIGtleSA9ICdhcnJheSdcclxuICAgIH0gLy8gaWYgdGhlIHZhbHVlIGlzIG5vdCBvZiBhIHN1cHBvcnRlZCB0eXBlIGZvciByYW5nZSB2YWxpZGF0aW9uXHJcbiAgICAvLyB0aGUgdmFsaWRhdGlvbiBydWxlIHJ1bGUgc2hvdWxkIHVzZSB0aGVcclxuICAgIC8vIHR5cGUgcHJvcGVydHkgdG8gYWxzbyB0ZXN0IGZvciBhIHBhcnRpY3VsYXIgdHlwZVxyXG5cclxuICAgIGlmICgha2V5KSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGFycikge1xyXG4gICAgICAgIHZhbCA9IHZhbHVlLmxlbmd0aFxyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHIpIHtcclxuICAgICAgICAvLyDlpITnkIbnoIHngrnlpKfkuo5VKzAxMDAwMOeahOaWh+Wtl2xlbmd0aOWxnuaAp+S4jeWHhuehrueahGJ1Z++8jOWmglwi8KCut/CgrrfwoK63XCIubGVuZ2h0ICE9PSAzXHJcbiAgICAgICAgdmFsID0gdmFsdWUucmVwbGFjZShzcFJlZ2V4cCwgJ18nKS5sZW5ndGhcclxuICAgIH1cclxuXHJcbiAgICBpZiAobGVuKSB7XHJcbiAgICAgICAgaWYgKHZhbCAhPT0gcnVsZS5sZW4pIHtcclxuICAgICAgICAgICAgZXJyb3JzLnB1c2goZm9ybWF0KG9wdGlvbnMubWVzc2FnZXNba2V5XS5sZW4sIHJ1bGUuZnVsbEZpZWxkLCBydWxlLmxlbikpXHJcbiAgICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChtaW4gJiYgIW1heCAmJiB2YWwgPCBydWxlLm1pbikge1xyXG4gICAgICAgIGVycm9ycy5wdXNoKGZvcm1hdChvcHRpb25zLm1lc3NhZ2VzW2tleV0ubWluLCBydWxlLmZ1bGxGaWVsZCwgcnVsZS5taW4pKVxyXG4gICAgfSBlbHNlIGlmIChtYXggJiYgIW1pbiAmJiB2YWwgPiBydWxlLm1heCkge1xyXG4gICAgICAgIGVycm9ycy5wdXNoKGZvcm1hdChvcHRpb25zLm1lc3NhZ2VzW2tleV0ubWF4LCBydWxlLmZ1bGxGaWVsZCwgcnVsZS5tYXgpKVxyXG4gICAgfSBlbHNlIGlmIChtaW4gJiYgbWF4ICYmICh2YWwgPCBydWxlLm1pbiB8fCB2YWwgPiBydWxlLm1heCkpIHtcclxuICAgICAgICBlcnJvcnMucHVzaChmb3JtYXQob3B0aW9ucy5tZXNzYWdlc1trZXldLnJhbmdlLCBydWxlLmZ1bGxGaWVsZCwgcnVsZS5taW4sIHJ1bGUubWF4KSlcclxuICAgIH1cclxufVxyXG5cclxuY29uc3QgRU5VTSA9ICdlbnVtJ1xyXG4vKipcclxuICogIFJ1bGUgZm9yIHZhbGlkYXRpbmcgYSB2YWx1ZSBleGlzdHMgaW4gYW4gZW51bWVyYWJsZSBsaXN0LlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXHJcbiAqICBAcGFyYW0gZXJyb3JzIEFuIGFycmF5IG9mIGVycm9ycyB0aGF0IHRoaXMgcnVsZSBtYXkgYWRkXHJcbiAqICB2YWxpZGF0aW9uIGVycm9ycyB0by5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBlbnVtZXJhYmxlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucykge1xyXG4gICAgcnVsZVtFTlVNXSA9IEFycmF5LmlzQXJyYXkocnVsZVtFTlVNXSkgPyBydWxlW0VOVU1dIDogW11cclxuXHJcbiAgICBpZiAocnVsZVtFTlVNXS5pbmRleE9mKHZhbHVlKSA9PT0gLTEpIHtcclxuICAgICAgICBlcnJvcnMucHVzaChmb3JtYXQob3B0aW9ucy5tZXNzYWdlc1tFTlVNXSwgcnVsZS5mdWxsRmllbGQsIHJ1bGVbRU5VTV0uam9pbignLCAnKSkpXHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgUnVsZSBmb3IgdmFsaWRhdGluZyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuLlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXHJcbiAqICBAcGFyYW0gZXJyb3JzIEFuIGFycmF5IG9mIGVycm9ycyB0aGF0IHRoaXMgcnVsZSBtYXkgYWRkXHJcbiAqICB2YWxpZGF0aW9uIGVycm9ycyB0by5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBwYXR0ZXJuJDEocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKSB7XHJcbiAgICBpZiAocnVsZS5wYXR0ZXJuKSB7XHJcbiAgICAgICAgaWYgKHJ1bGUucGF0dGVybiBpbnN0YW5jZW9mIFJlZ0V4cCkge1xyXG4gICAgICAgICAgICAvLyBpZiBhIFJlZ0V4cCBpbnN0YW5jZSBpcyBwYXNzZWQsIHJlc2V0IGBsYXN0SW5kZXhgIGluIGNhc2UgaXRzIGBnbG9iYWxgXHJcbiAgICAgICAgICAgIC8vIGZsYWcgaXMgYWNjaWRlbnRhbGx5IHNldCB0byBgdHJ1ZWAsIHdoaWNoIGluIGEgdmFsaWRhdGlvbiBzY2VuYXJpb1xyXG4gICAgICAgICAgICAvLyBpcyBub3QgbmVjZXNzYXJ5IGFuZCB0aGUgcmVzdWx0IG1pZ2h0IGJlIG1pc2xlYWRpbmdcclxuICAgICAgICAgICAgcnVsZS5wYXR0ZXJuLmxhc3RJbmRleCA9IDBcclxuXHJcbiAgICAgICAgICAgIGlmICghcnVsZS5wYXR0ZXJuLnRlc3QodmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChmb3JtYXQob3B0aW9ucy5tZXNzYWdlcy5wYXR0ZXJuLm1pc21hdGNoLCBydWxlLmZ1bGxGaWVsZCwgdmFsdWUsIHJ1bGUucGF0dGVybikpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBydWxlLnBhdHRlcm4gPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IF9wYXR0ZXJuID0gbmV3IFJlZ0V4cChydWxlLnBhdHRlcm4pXHJcblxyXG4gICAgICAgICAgICBpZiAoIV9wYXR0ZXJuLnRlc3QodmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChmb3JtYXQob3B0aW9ucy5tZXNzYWdlcy5wYXR0ZXJuLm1pc21hdGNoLCBydWxlLmZ1bGxGaWVsZCwgdmFsdWUsIHJ1bGUucGF0dGVybikpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmNvbnN0IHJ1bGVzID0ge1xyXG4gICAgcmVxdWlyZWQsXHJcbiAgICB3aGl0ZXNwYWNlLFxyXG4gICAgdHlwZSxcclxuICAgIHJhbmdlLFxyXG4gICAgZW51bTogZW51bWVyYWJsZSxcclxuICAgIHBhdHRlcm46IHBhdHRlcm4kMVxyXG59XHJcblxyXG4vKipcclxuICogIFBlcmZvcm1zIHZhbGlkYXRpb24gZm9yIHN0cmluZyB0eXBlcy5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBzdHJpbmcocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGVycm9ycyA9IFtdXHJcbiAgICBjb25zdCB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpXHJcblxyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSh2YWx1ZSwgJ3N0cmluZycpICYmICFydWxlLnJlcXVpcmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBydWxlcy5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMsICdzdHJpbmcnKVxyXG5cclxuICAgICAgICBpZiAoIWlzRW1wdHlWYWx1ZSh2YWx1ZSwgJ3N0cmluZycpKSB7XHJcbiAgICAgICAgICAgIHJ1bGVzLnR5cGUocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG4gICAgICAgICAgICBydWxlcy5yYW5nZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgICAgIHJ1bGVzLnBhdHRlcm4ocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG5cclxuICAgICAgICAgICAgaWYgKHJ1bGUud2hpdGVzcGFjZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgcnVsZXMud2hpdGVzcGFjZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FsbGJhY2soZXJyb3JzKVxyXG59XHJcblxyXG4vKipcclxuICogIFZhbGlkYXRlcyBhIGZ1bmN0aW9uLlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cclxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cclxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIG1ldGhvZChydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgZXJyb3JzID0gW11cclxuICAgIGNvbnN0IHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZClcclxuXHJcbiAgICBpZiAodmFsaWRhdGUpIHtcclxuICAgICAgICBpZiAoaXNFbXB0eVZhbHVlKHZhbHVlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG5cclxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBydWxlcy50eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FsbGJhY2soZXJyb3JzKVxyXG59XHJcblxyXG4vKipcclxuICogIFZhbGlkYXRlcyBhIG51bWJlci5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBudW1iZXIocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGVycm9ycyA9IFtdXHJcbiAgICBjb25zdCB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpXHJcblxyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09PSAnJykge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IHVuZGVmaW5lZFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSh2YWx1ZSkgJiYgIXJ1bGUucmVxdWlyZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKClcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJ1bGVzLnJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuXHJcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcnVsZXMudHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgICAgIHJ1bGVzLnJhbmdlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FsbGJhY2soZXJyb3JzKVxyXG59XHJcblxyXG4vKipcclxuICogIFZhbGlkYXRlcyBhIGJvb2xlYW4uXHJcbiAqXHJcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxyXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXHJcbiAqICBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxyXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXHJcbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMubWVzc2FnZXMgVGhlIHZhbGlkYXRpb24gbWVzc2FnZXMuXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gX2Jvb2xlYW4ocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGVycm9ycyA9IFtdXHJcbiAgICBjb25zdCB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpXHJcblxyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSh2YWx1ZSkgJiYgIXJ1bGUucmVxdWlyZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKClcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJ1bGVzLnJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuXHJcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcnVsZXMudHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuLyoqXHJcbiAqICBWYWxpZGF0ZXMgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB0eXBlLlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cclxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cclxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIHJlZ2V4cChydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgZXJyb3JzID0gW11cclxuICAgIGNvbnN0IHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZClcclxuXHJcbiAgICBpZiAodmFsaWRhdGUpIHtcclxuICAgICAgICBpZiAoaXNFbXB0eVZhbHVlKHZhbHVlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG5cclxuICAgICAgICBpZiAoIWlzRW1wdHlWYWx1ZSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgcnVsZXMudHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuLyoqXHJcbiAqICBWYWxpZGF0ZXMgYSBudW1iZXIgaXMgYW4gaW50ZWdlci5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBpbnRlZ2VyKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaywgc291cmNlLCBvcHRpb25zKSB7XHJcbiAgICBjb25zdCBlcnJvcnMgPSBbXVxyXG4gICAgY29uc3QgdmFsaWRhdGUgPSBydWxlLnJlcXVpcmVkIHx8ICFydWxlLnJlcXVpcmVkICYmIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShydWxlLmZpZWxkKVxyXG5cclxuICAgIGlmICh2YWxpZGF0ZSkge1xyXG4gICAgICAgIGlmIChpc0VtcHR5VmFsdWUodmFsdWUpICYmICFydWxlLnJlcXVpcmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBydWxlcy5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcblxyXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHJ1bGVzLnR5cGUocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG4gICAgICAgICAgICBydWxlcy5yYW5nZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuLyoqXHJcbiAqICBWYWxpZGF0ZXMgYSBudW1iZXIgaXMgYSBmbG9hdGluZyBwb2ludCBudW1iZXIuXHJcbiAqXHJcbiAqICBAcGFyYW0gcnVsZSBUaGUgdmFsaWRhdGlvbiBydWxlLlxyXG4gKiAgQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQgb24gdGhlIHNvdXJjZSBvYmplY3QuXHJcbiAqICBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxyXG4gKiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIG9iamVjdCBiZWluZyB2YWxpZGF0ZWQuXHJcbiAqICBAcGFyYW0gb3B0aW9ucyBUaGUgdmFsaWRhdGlvbiBvcHRpb25zLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMubWVzc2FnZXMgVGhlIHZhbGlkYXRpb24gbWVzc2FnZXMuXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gZmxvYXRGbihydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgZXJyb3JzID0gW11cclxuICAgIGNvbnN0IHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZClcclxuXHJcbiAgICBpZiAodmFsaWRhdGUpIHtcclxuICAgICAgICBpZiAoaXNFbXB0eVZhbHVlKHZhbHVlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG5cclxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBydWxlcy50eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuICAgICAgICAgICAgcnVsZXMucmFuZ2UocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjYWxsYmFjayhlcnJvcnMpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgVmFsaWRhdGVzIGFuIGFycmF5LlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cclxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cclxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIGFycmF5KHJ1bGUsIHZhbHVlLCBjYWxsYmFjaywgc291cmNlLCBvcHRpb25zKSB7XHJcbiAgICBjb25zdCBlcnJvcnMgPSBbXVxyXG4gICAgY29uc3QgdmFsaWRhdGUgPSBydWxlLnJlcXVpcmVkIHx8ICFydWxlLnJlcXVpcmVkICYmIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShydWxlLmZpZWxkKVxyXG5cclxuICAgIGlmICh2YWxpZGF0ZSkge1xyXG4gICAgICAgIGlmIChpc0VtcHR5VmFsdWUodmFsdWUsICdhcnJheScpICYmICFydWxlLnJlcXVpcmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBydWxlcy5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMsICdhcnJheScpXHJcblxyXG4gICAgICAgIGlmICghaXNFbXB0eVZhbHVlKHZhbHVlLCAnYXJyYXknKSkge1xyXG4gICAgICAgICAgICBydWxlcy50eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuICAgICAgICAgICAgcnVsZXMucmFuZ2UocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjYWxsYmFjayhlcnJvcnMpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgVmFsaWRhdGVzIGFuIG9iamVjdC5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBvYmplY3QocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGVycm9ycyA9IFtdXHJcbiAgICBjb25zdCB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpXHJcblxyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSh2YWx1ZSkgJiYgIXJ1bGUucmVxdWlyZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKClcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJ1bGVzLnJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuXHJcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcnVsZXMudHlwZShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuY29uc3QgRU5VTSQxID0gJ2VudW0nXHJcbi8qKlxyXG4gKiAgVmFsaWRhdGVzIGFuIGVudW1lcmFibGUgbGlzdC5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBlbnVtZXJhYmxlJDEocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGVycm9ycyA9IFtdXHJcbiAgICBjb25zdCB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpXHJcblxyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSh2YWx1ZSkgJiYgIXJ1bGUucmVxdWlyZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKClcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJ1bGVzLnJlcXVpcmVkKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuXHJcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcnVsZXNbRU5VTSQxXShydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuLyoqXHJcbiAqICBWYWxpZGF0ZXMgYSByZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybi5cclxuICpcclxuICogIFBlcmZvcm1zIHZhbGlkYXRpb24gd2hlbiBhIHJ1bGUgb25seSBjb250YWluc1xyXG4gKiAgYSBwYXR0ZXJuIHByb3BlcnR5IGJ1dCBpcyBub3QgZGVjbGFyZWQgYXMgYSBzdHJpbmcgdHlwZS5cclxuICpcclxuICogIEBwYXJhbSBydWxlIFRoZSB2YWxpZGF0aW9uIHJ1bGUuXHJcbiAqICBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBmaWVsZCBvbiB0aGUgc291cmNlIG9iamVjdC5cclxuICogIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uXHJcbiAqICBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0IGJlaW5nIHZhbGlkYXRlZC5cclxuICogIEBwYXJhbSBvcHRpb25zIFRoZSB2YWxpZGF0aW9uIG9wdGlvbnMuXHJcbiAqICBAcGFyYW0gb3B0aW9ucy5tZXNzYWdlcyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcblxyXG5mdW5jdGlvbiBwYXR0ZXJuJDIocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGVycm9ycyA9IFtdXHJcbiAgICBjb25zdCB2YWxpZGF0ZSA9IHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgc291cmNlLmhhc093blByb3BlcnR5KHJ1bGUuZmllbGQpXHJcblxyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgICAgaWYgKGlzRW1wdHlWYWx1ZSh2YWx1ZSwgJ3N0cmluZycpICYmICFydWxlLnJlcXVpcmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBydWxlcy5yZXF1aXJlZChydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcblxyXG4gICAgICAgIGlmICghaXNFbXB0eVZhbHVlKHZhbHVlLCAnc3RyaW5nJykpIHtcclxuICAgICAgICAgICAgcnVsZXMucGF0dGVybihydWxlLCB2YWx1ZSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuZnVuY3Rpb24gZGF0ZShydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgZXJyb3JzID0gW11cclxuICAgIGNvbnN0IHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZClcclxuXHJcbiAgICBpZiAodmFsaWRhdGUpIHtcclxuICAgICAgICBpZiAoaXNFbXB0eVZhbHVlKHZhbHVlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG5cclxuICAgICAgICBpZiAoIWlzRW1wdHlWYWx1ZSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgbGV0IGRhdGVPYmplY3RcclxuXHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgICAgICBkYXRlT2JqZWN0ID0gbmV3IERhdGUodmFsdWUpXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBkYXRlT2JqZWN0ID0gdmFsdWVcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcnVsZXMudHlwZShydWxlLCBkYXRlT2JqZWN0LCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuXHJcbiAgICAgICAgICAgIGlmIChkYXRlT2JqZWN0KSB7XHJcbiAgICAgICAgICAgICAgICBydWxlcy5yYW5nZShydWxlLCBkYXRlT2JqZWN0LmdldFRpbWUoKSwgc291cmNlLCBlcnJvcnMsIG9wdGlvbnMpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FsbGJhY2soZXJyb3JzKVxyXG59XHJcblxyXG5mdW5jdGlvbiByZXF1aXJlZCQxKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaywgc291cmNlLCBvcHRpb25zKSB7XHJcbiAgICBjb25zdCBlcnJvcnMgPSBbXVxyXG4gICAgY29uc3QgdHlwZSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gJ2FycmF5JyA6IHR5cGVvZiB2YWx1ZVxyXG4gICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zLCB0eXBlKVxyXG4gICAgY2FsbGJhY2soZXJyb3JzKVxyXG59XHJcblxyXG5mdW5jdGlvbiB0eXBlJDEocnVsZSwgdmFsdWUsIGNhbGxiYWNrLCBzb3VyY2UsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHJ1bGVUeXBlID0gcnVsZS50eXBlXHJcbiAgICBjb25zdCBlcnJvcnMgPSBbXVxyXG4gICAgY29uc3QgdmFsaWRhdGUgPSBydWxlLnJlcXVpcmVkIHx8ICFydWxlLnJlcXVpcmVkICYmIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShydWxlLmZpZWxkKVxyXG5cclxuICAgIGlmICh2YWxpZGF0ZSkge1xyXG4gICAgICAgIGlmIChpc0VtcHR5VmFsdWUodmFsdWUsIHJ1bGVUeXBlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zLCBydWxlVHlwZSlcclxuXHJcbiAgICAgICAgaWYgKCFpc0VtcHR5VmFsdWUodmFsdWUsIHJ1bGVUeXBlKSkge1xyXG4gICAgICAgICAgICBydWxlcy50eXBlKHJ1bGUsIHZhbHVlLCBzb3VyY2UsIGVycm9ycywgb3B0aW9ucylcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2FsbGJhY2soZXJyb3JzKVxyXG59XHJcblxyXG4vKipcclxuICogIFBlcmZvcm1zIHZhbGlkYXRpb24gZm9yIGFueSB0eXBlLlxyXG4gKlxyXG4gKiAgQHBhcmFtIHJ1bGUgVGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICogIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIGZpZWxkIG9uIHRoZSBzb3VyY2Ugb2JqZWN0LlxyXG4gKiAgQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbi5cclxuICogIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QgYmVpbmcgdmFsaWRhdGVkLlxyXG4gKiAgQHBhcmFtIG9wdGlvbnMgVGhlIHZhbGlkYXRpb24gb3B0aW9ucy5cclxuICogIEBwYXJhbSBvcHRpb25zLm1lc3NhZ2VzIFRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIGFueShydWxlLCB2YWx1ZSwgY2FsbGJhY2ssIHNvdXJjZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgZXJyb3JzID0gW11cclxuICAgIGNvbnN0IHZhbGlkYXRlID0gcnVsZS5yZXF1aXJlZCB8fCAhcnVsZS5yZXF1aXJlZCAmJiBzb3VyY2UuaGFzT3duUHJvcGVydHkocnVsZS5maWVsZClcclxuXHJcbiAgICBpZiAodmFsaWRhdGUpIHtcclxuICAgICAgICBpZiAoaXNFbXB0eVZhbHVlKHZhbHVlKSAmJiAhcnVsZS5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcnVsZXMucmVxdWlyZWQocnVsZSwgdmFsdWUsIHNvdXJjZSwgZXJyb3JzLCBvcHRpb25zKVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGxiYWNrKGVycm9ycylcclxufVxyXG5cclxuY29uc3QgdmFsaWRhdG9ycyA9IHtcclxuICAgIHN0cmluZyxcclxuICAgIG1ldGhvZCxcclxuICAgIG51bWJlcixcclxuICAgIGJvb2xlYW46IF9ib29sZWFuLFxyXG4gICAgcmVnZXhwLFxyXG4gICAgaW50ZWdlcixcclxuICAgIGZsb2F0OiBmbG9hdEZuLFxyXG4gICAgYXJyYXksXHJcbiAgICBvYmplY3QsXHJcbiAgICBlbnVtOiBlbnVtZXJhYmxlJDEsXHJcbiAgICBwYXR0ZXJuOiBwYXR0ZXJuJDIsXHJcbiAgICBkYXRlLFxyXG4gICAgdXJsOiB0eXBlJDEsXHJcbiAgICBoZXg6IHR5cGUkMSxcclxuICAgIGVtYWlsOiB0eXBlJDEsXHJcbiAgICByZXF1aXJlZDogcmVxdWlyZWQkMSxcclxuICAgIGFueVxyXG59XHJcblxyXG5mdW5jdGlvbiBuZXdNZXNzYWdlcygpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgZGVmYXVsdDogJ1ZhbGlkYXRpb24gZXJyb3Igb24gZmllbGQgJXMnLFxyXG4gICAgICAgIHJlcXVpcmVkOiAnJXMgaXMgcmVxdWlyZWQnLFxyXG4gICAgICAgIGVudW06ICclcyBtdXN0IGJlIG9uZSBvZiAlcycsXHJcbiAgICAgICAgd2hpdGVzcGFjZTogJyVzIGNhbm5vdCBiZSBlbXB0eScsXHJcbiAgICAgICAgZGF0ZToge1xyXG4gICAgICAgICAgICBmb3JtYXQ6ICclcyBkYXRlICVzIGlzIGludmFsaWQgZm9yIGZvcm1hdCAlcycsXHJcbiAgICAgICAgICAgIHBhcnNlOiAnJXMgZGF0ZSBjb3VsZCBub3QgYmUgcGFyc2VkLCAlcyBpcyBpbnZhbGlkICcsXHJcbiAgICAgICAgICAgIGludmFsaWQ6ICclcyBkYXRlICVzIGlzIGludmFsaWQnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0eXBlczoge1xyXG4gICAgICAgICAgICBzdHJpbmc6ICclcyBpcyBub3QgYSAlcycsXHJcbiAgICAgICAgICAgIG1ldGhvZDogJyVzIGlzIG5vdCBhICVzIChmdW5jdGlvbiknLFxyXG4gICAgICAgICAgICBhcnJheTogJyVzIGlzIG5vdCBhbiAlcycsXHJcbiAgICAgICAgICAgIG9iamVjdDogJyVzIGlzIG5vdCBhbiAlcycsXHJcbiAgICAgICAgICAgIG51bWJlcjogJyVzIGlzIG5vdCBhICVzJyxcclxuICAgICAgICAgICAgZGF0ZTogJyVzIGlzIG5vdCBhICVzJyxcclxuICAgICAgICAgICAgYm9vbGVhbjogJyVzIGlzIG5vdCBhICVzJyxcclxuICAgICAgICAgICAgaW50ZWdlcjogJyVzIGlzIG5vdCBhbiAlcycsXHJcbiAgICAgICAgICAgIGZsb2F0OiAnJXMgaXMgbm90IGEgJXMnLFxyXG4gICAgICAgICAgICByZWdleHA6ICclcyBpcyBub3QgYSB2YWxpZCAlcycsXHJcbiAgICAgICAgICAgIGVtYWlsOiAnJXMgaXMgbm90IGEgdmFsaWQgJXMnLFxyXG4gICAgICAgICAgICB1cmw6ICclcyBpcyBub3QgYSB2YWxpZCAlcycsXHJcbiAgICAgICAgICAgIGhleDogJyVzIGlzIG5vdCBhIHZhbGlkICVzJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc3RyaW5nOiB7XHJcbiAgICAgICAgICAgIGxlbjogJyVzIG11c3QgYmUgZXhhY3RseSAlcyBjaGFyYWN0ZXJzJyxcclxuICAgICAgICAgICAgbWluOiAnJXMgbXVzdCBiZSBhdCBsZWFzdCAlcyBjaGFyYWN0ZXJzJyxcclxuICAgICAgICAgICAgbWF4OiAnJXMgY2Fubm90IGJlIGxvbmdlciB0aGFuICVzIGNoYXJhY3RlcnMnLFxyXG4gICAgICAgICAgICByYW5nZTogJyVzIG11c3QgYmUgYmV0d2VlbiAlcyBhbmQgJXMgY2hhcmFjdGVycydcclxuICAgICAgICB9LFxyXG4gICAgICAgIG51bWJlcjoge1xyXG4gICAgICAgICAgICBsZW46ICclcyBtdXN0IGVxdWFsICVzJyxcclxuICAgICAgICAgICAgbWluOiAnJXMgY2Fubm90IGJlIGxlc3MgdGhhbiAlcycsXHJcbiAgICAgICAgICAgIG1heDogJyVzIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gJXMnLFxyXG4gICAgICAgICAgICByYW5nZTogJyVzIG11c3QgYmUgYmV0d2VlbiAlcyBhbmQgJXMnXHJcbiAgICAgICAgfSxcclxuICAgICAgICBhcnJheToge1xyXG4gICAgICAgICAgICBsZW46ICclcyBtdXN0IGJlIGV4YWN0bHkgJXMgaW4gbGVuZ3RoJyxcclxuICAgICAgICAgICAgbWluOiAnJXMgY2Fubm90IGJlIGxlc3MgdGhhbiAlcyBpbiBsZW5ndGgnLFxyXG4gICAgICAgICAgICBtYXg6ICclcyBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuICVzIGluIGxlbmd0aCcsXHJcbiAgICAgICAgICAgIHJhbmdlOiAnJXMgbXVzdCBiZSBiZXR3ZWVuICVzIGFuZCAlcyBpbiBsZW5ndGgnXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwYXR0ZXJuOiB7XHJcbiAgICAgICAgICAgIG1pc21hdGNoOiAnJXMgdmFsdWUgJXMgZG9lcyBub3QgbWF0Y2ggcGF0dGVybiAlcydcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNsb25lOiBmdW5jdGlvbiBjbG9uZSgpIHtcclxuICAgICAgICAgICAgY29uc3QgY2xvbmVkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzKSlcclxuICAgICAgICAgICAgY2xvbmVkLmNsb25lID0gdGhpcy5jbG9uZVxyXG4gICAgICAgICAgICByZXR1cm4gY2xvbmVkXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbmNvbnN0IG1lc3NhZ2VzID0gbmV3TWVzc2FnZXMoKVxyXG5cclxuLyoqXHJcbiAqICBFbmNhcHN1bGF0ZXMgYSB2YWxpZGF0aW9uIHNjaGVtYS5cclxuICpcclxuICogIEBwYXJhbSBkZXNjcmlwdG9yIEFuIG9iamVjdCBkZWNsYXJpbmcgdmFsaWRhdGlvbiBydWxlc1xyXG4gKiAgZm9yIHRoaXMgc2NoZW1hLlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIFNjaGVtYShkZXNjcmlwdG9yKSB7XHJcbiAgICB0aGlzLnJ1bGVzID0gbnVsbFxyXG4gICAgdGhpcy5fbWVzc2FnZXMgPSBtZXNzYWdlc1xyXG4gICAgdGhpcy5kZWZpbmUoZGVzY3JpcHRvcilcclxufVxyXG5cclxuU2NoZW1hLnByb3RvdHlwZSA9IHtcclxuICAgIG1lc3NhZ2VzOiBmdW5jdGlvbiBtZXNzYWdlcyhfbWVzc2FnZXMpIHtcclxuICAgICAgICBpZiAoX21lc3NhZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VzID0gZGVlcE1lcmdlKG5ld01lc3NhZ2VzKCksIF9tZXNzYWdlcylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9tZXNzYWdlc1xyXG4gICAgfSxcclxuICAgIGRlZmluZTogZnVuY3Rpb24gZGVmaW5lKHJ1bGVzKSB7XHJcbiAgICAgICAgaWYgKCFydWxlcykge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb25maWd1cmUgYSBzY2hlbWEgd2l0aCBubyBydWxlcycpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHJ1bGVzICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHJ1bGVzKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1J1bGVzIG11c3QgYmUgYW4gb2JqZWN0JylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucnVsZXMgPSB7fVxyXG4gICAgICAgIGxldCB6XHJcbiAgICAgICAgbGV0IGl0ZW1cclxuXHJcbiAgICAgICAgZm9yICh6IGluIHJ1bGVzKSB7XHJcbiAgICAgICAgICAgIGlmIChydWxlcy5oYXNPd25Qcm9wZXJ0eSh6KSkge1xyXG4gICAgICAgICAgICAgICAgaXRlbSA9IHJ1bGVzW3pdXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bGVzW3pdID0gQXJyYXkuaXNBcnJheShpdGVtKSA/IGl0ZW0gOiBbaXRlbV1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gdmFsaWRhdGUoc291cmNlXywgbywgb2MpIHtcclxuICAgICAgICBjb25zdCBfdGhpcyA9IHRoaXNcclxuXHJcbiAgICAgICAgaWYgKG8gPT09IHZvaWQgMCkge1xyXG4gICAgICAgICAgICBvID0ge31cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvYyA9PT0gdm9pZCAwKSB7XHJcbiAgICAgICAgICAgIG9jID0gZnVuY3Rpb24gb2MoKSB7fVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHNvdXJjZSA9IHNvdXJjZV9cclxuICAgICAgICBsZXQgb3B0aW9ucyA9IG9cclxuICAgICAgICBsZXQgY2FsbGJhY2sgPSBvY1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgY2FsbGJhY2sgPSBvcHRpb25zXHJcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7fVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnJ1bGVzIHx8IE9iamVjdC5rZXlzKHRoaXMucnVsZXMpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICBpZiAoY2FsbGJhY2spIHtcclxuICAgICAgICAgICAgICAgIGNhbGxiYWNrKClcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmdW5jdGlvbiBjb21wbGV0ZShyZXN1bHRzKSB7XHJcbiAgICAgICAgICAgIGxldCBpXHJcbiAgICAgICAgICAgIGxldCBlcnJvcnMgPSBbXVxyXG4gICAgICAgICAgICBsZXQgZmllbGRzID0ge31cclxuXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGFkZChlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBfZXJyb3JzXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGVycm9ycyA9IChfZXJyb3JzID0gZXJyb3JzKS5jb25jYXQuYXBwbHkoX2Vycm9ycywgZSlcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goZSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHJlc3VsdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGFkZChyZXN1bHRzW2ldKVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoIWVycm9ycy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGVycm9ycyA9IG51bGxcclxuICAgICAgICAgICAgICAgIGZpZWxkcyA9IG51bGxcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGZpZWxkcyA9IGNvbnZlcnRGaWVsZHNFcnJvcihlcnJvcnMpXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNhbGxiYWNrKGVycm9ycywgZmllbGRzKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMubWVzc2FnZXMpIHtcclxuICAgICAgICAgICAgbGV0IG1lc3NhZ2VzJDEgPSB0aGlzLm1lc3NhZ2VzKClcclxuXHJcbiAgICAgICAgICAgIGlmIChtZXNzYWdlcyQxID09PSBtZXNzYWdlcykge1xyXG4gICAgICAgICAgICAgICAgbWVzc2FnZXMkMSA9IG5ld01lc3NhZ2VzKClcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZGVlcE1lcmdlKG1lc3NhZ2VzJDEsIG9wdGlvbnMubWVzc2FnZXMpXHJcbiAgICAgICAgICAgIG9wdGlvbnMubWVzc2FnZXMgPSBtZXNzYWdlcyQxXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgb3B0aW9ucy5tZXNzYWdlcyA9IHRoaXMubWVzc2FnZXMoKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGFyclxyXG4gICAgICAgIGxldCB2YWx1ZVxyXG4gICAgICAgIGNvbnN0IHNlcmllcyA9IHt9XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IG9wdGlvbnMua2V5cyB8fCBPYmplY3Qua2V5cyh0aGlzLnJ1bGVzKVxyXG4gICAgICAgIGtleXMuZm9yRWFjaCgoeikgPT4ge1xyXG4gICAgICAgICAgICBhcnIgPSBfdGhpcy5ydWxlc1t6XVxyXG4gICAgICAgICAgICB2YWx1ZSA9IHNvdXJjZVt6XVxyXG4gICAgICAgICAgICBhcnIuZm9yRWFjaCgocikgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IHJ1bGUgPSByXHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBydWxlLnRyYW5zZm9ybSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChzb3VyY2UgPT09IHNvdXJjZV8pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlID0geyAuLi5zb3VyY2UgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBzb3VyY2Vbel0gPSBydWxlLnRyYW5zZm9ybSh2YWx1ZSlcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJ1bGUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgICAgICBydWxlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3I6IHJ1bGVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJ1bGUgPSB7IC4uLnJ1bGUgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJ1bGUudmFsaWRhdG9yID0gX3RoaXMuZ2V0VmFsaWRhdGlvbk1ldGhvZChydWxlKVxyXG4gICAgICAgICAgICAgICAgcnVsZS5maWVsZCA9IHpcclxuICAgICAgICAgICAgICAgIHJ1bGUuZnVsbEZpZWxkID0gcnVsZS5mdWxsRmllbGQgfHwgelxyXG4gICAgICAgICAgICAgICAgcnVsZS50eXBlID0gX3RoaXMuZ2V0VHlwZShydWxlKVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICghcnVsZS52YWxpZGF0b3IpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBzZXJpZXNbel0gPSBzZXJpZXNbel0gfHwgW11cclxuICAgICAgICAgICAgICAgIHNlcmllc1t6XS5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBydWxlLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLFxyXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZSxcclxuICAgICAgICAgICAgICAgICAgICBmaWVsZDogelxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICAgIGNvbnN0IGVycm9yRmllbGRzID0ge31cclxuICAgICAgICByZXR1cm4gYXN5bmNNYXAoc2VyaWVzLCBvcHRpb25zLCAoZGF0YSwgZG9JdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IHJ1bGUgfSA9IGRhdGFcclxuICAgICAgICAgICAgbGV0IGRlZXAgPSAocnVsZS50eXBlID09PSAnb2JqZWN0JyB8fCBydWxlLnR5cGUgPT09ICdhcnJheScpICYmICh0eXBlb2YgcnVsZS5maWVsZHMgPT09ICdvYmplY3QnIHx8IHR5cGVvZiBydWxlLmRlZmF1bHRGaWVsZFxyXG5cdFx0XHRcdD09PSAnb2JqZWN0JylcclxuICAgICAgICAgICAgZGVlcCA9IGRlZXAgJiYgKHJ1bGUucmVxdWlyZWQgfHwgIXJ1bGUucmVxdWlyZWQgJiYgZGF0YS52YWx1ZSlcclxuICAgICAgICAgICAgcnVsZS5maWVsZCA9IGRhdGEuZmllbGRcclxuXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGFkZEZ1bGxmaWVsZChrZXksIHNjaGVtYSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgLi4uc2NoZW1hLCBmdWxsRmllbGQ6IGAke3J1bGUuZnVsbEZpZWxkfS4ke2tleX1gIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZnVuY3Rpb24gY2IoZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGUgPT09IHZvaWQgMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGUgPSBbXVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGxldCBlcnJvcnMgPSBlXHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGVycm9ycykpIHtcclxuICAgICAgICAgICAgICAgICAgICBlcnJvcnMgPSBbZXJyb3JzXVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5zdXBwcmVzc1dhcm5pbmcgJiYgZXJyb3JzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIFNjaGVtYS53YXJuaW5nKCdhc3luYy12YWxpZGF0b3I6JywgZXJyb3JzKVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChlcnJvcnMubGVuZ3RoICYmIHJ1bGUubWVzc2FnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVycm9ycyA9IFtdLmNvbmNhdChydWxlLm1lc3NhZ2UpXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgZXJyb3JzID0gZXJyb3JzLm1hcChjb21wbGVtZW50RXJyb3IocnVsZSkpXHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuZmlyc3QgJiYgZXJyb3JzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yRmllbGRzW3J1bGUuZmllbGRdID0gMVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkb0l0KGVycm9ycylcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoIWRlZXApIHtcclxuICAgICAgICAgICAgICAgICAgICBkb0l0KGVycm9ycylcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgcnVsZSBpcyByZXF1aXJlZCBidXQgdGhlIHRhcmdldCBvYmplY3RcclxuICAgICAgICAgICAgICAgICAgICAvLyBkb2VzIG5vdCBleGlzdCBmYWlsIGF0IHRoZSBydWxlIGxldmVsIGFuZCBkb24ndFxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGdvIGRlZXBlclxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChydWxlLnJlcXVpcmVkICYmICFkYXRhLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChydWxlLm1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyA9IFtdLmNvbmNhdChydWxlLm1lc3NhZ2UpLm1hcChjb21wbGVtZW50RXJyb3IocnVsZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzID0gW29wdGlvbnMuZXJyb3IocnVsZSwgZm9ybWF0KG9wdGlvbnMubWVzc2FnZXMucmVxdWlyZWQsIHJ1bGUuZmllbGQpKV1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyA9IFtdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkb0l0KGVycm9ycylcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBmaWVsZHNTY2hlbWEgPSB7fVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAocnVsZS5kZWZhdWx0RmllbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrIGluIGRhdGEudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnZhbHVlLmhhc093blByb3BlcnR5KGspKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzU2NoZW1hW2tdID0gcnVsZS5kZWZhdWx0RmllbGRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzU2NoZW1hID0geyAuLi5maWVsZHNTY2hlbWEsIC4uLmRhdGEucnVsZS5maWVsZHMgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGYgaW4gZmllbGRzU2NoZW1hKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZHNTY2hlbWEuaGFzT3duUHJvcGVydHkoZikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gQXJyYXkuaXNBcnJheShmaWVsZHNTY2hlbWFbZl0pID8gZmllbGRzU2NoZW1hW2ZdIDogW2ZpZWxkc1NjaGVtYVtmXV1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkc1NjaGVtYVtmXSA9IGZpZWxkU2NoZW1hLm1hcChhZGRGdWxsZmllbGQuYmluZChudWxsLCBmKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2NoZW1hID0gbmV3IFNjaGVtYShmaWVsZHNTY2hlbWEpXHJcbiAgICAgICAgICAgICAgICAgICAgc2NoZW1hLm1lc3NhZ2VzKG9wdGlvbnMubWVzc2FnZXMpXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnJ1bGUub3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnJ1bGUub3B0aW9ucy5tZXNzYWdlcyA9IG9wdGlvbnMubWVzc2FnZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5ydWxlLm9wdGlvbnMuZXJyb3IgPSBvcHRpb25zLmVycm9yXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBzY2hlbWEudmFsaWRhdGUoZGF0YS52YWx1ZSwgZGF0YS5ydWxlLm9wdGlvbnMgfHwgb3B0aW9ucywgKGVycnMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmluYWxFcnJvcnMgPSBbXVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9ycyAmJiBlcnJvcnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5hbEVycm9ycy5wdXNoLmFwcGx5KGZpbmFsRXJyb3JzLCBlcnJvcnMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJzICYmIGVycnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5hbEVycm9ycy5wdXNoLmFwcGx5KGZpbmFsRXJyb3JzLCBlcnJzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb0l0KGZpbmFsRXJyb3JzLmxlbmd0aCA/IGZpbmFsRXJyb3JzIDogbnVsbClcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgcmVzXHJcblxyXG4gICAgICAgICAgICBpZiAocnVsZS5hc3luY1ZhbGlkYXRvcikge1xyXG4gICAgICAgICAgICAgICAgcmVzID0gcnVsZS5hc3luY1ZhbGlkYXRvcihydWxlLCBkYXRhLnZhbHVlLCBjYiwgZGF0YS5zb3VyY2UsIG9wdGlvbnMpXHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocnVsZS52YWxpZGF0b3IpIHtcclxuICAgICAgICAgICAgICAgIHJlcyA9IHJ1bGUudmFsaWRhdG9yKHJ1bGUsIGRhdGEudmFsdWUsIGNiLCBkYXRhLnNvdXJjZSwgb3B0aW9ucylcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocmVzID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2IoKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXMgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2IocnVsZS5tZXNzYWdlIHx8IGAke3J1bGUuZmllbGR9IGZhaWxzYClcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYihyZXMpXHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlcyBpbnN0YW5jZW9mIEVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2IocmVzLm1lc3NhZ2UpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLnRoZW4pIHtcclxuICAgICAgICAgICAgICAgIHJlcy50aGVuKCgpID0+IGNiKCksIChlKSA9PiBjYihlKSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIChyZXN1bHRzKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbXBsZXRlKHJlc3VsdHMpXHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcbiAgICBnZXRUeXBlOiBmdW5jdGlvbiBnZXRUeXBlKHJ1bGUpIHtcclxuICAgICAgICBpZiAocnVsZS50eXBlID09PSB1bmRlZmluZWQgJiYgcnVsZS5wYXR0ZXJuIGluc3RhbmNlb2YgUmVnRXhwKSB7XHJcbiAgICAgICAgICAgIHJ1bGUudHlwZSA9ICdwYXR0ZXJuJ1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiBydWxlLnZhbGlkYXRvciAhPT0gJ2Z1bmN0aW9uJyAmJiBydWxlLnR5cGUgJiYgIXZhbGlkYXRvcnMuaGFzT3duUHJvcGVydHkocnVsZS50eXBlKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZm9ybWF0KCdVbmtub3duIHJ1bGUgdHlwZSAlcycsIHJ1bGUudHlwZSkpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcnVsZS50eXBlIHx8ICdzdHJpbmcnXHJcbiAgICB9LFxyXG4gICAgZ2V0VmFsaWRhdGlvbk1ldGhvZDogZnVuY3Rpb24gZ2V0VmFsaWRhdGlvbk1ldGhvZChydWxlKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBydWxlLnZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICByZXR1cm4gcnVsZS52YWxpZGF0b3JcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhydWxlKVxyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2VJbmRleCA9IGtleXMuaW5kZXhPZignbWVzc2FnZScpXHJcblxyXG4gICAgICAgIGlmIChtZXNzYWdlSW5kZXggIT09IC0xKSB7XHJcbiAgICAgICAgICAgIGtleXMuc3BsaWNlKG1lc3NhZ2VJbmRleCwgMSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMSAmJiBrZXlzWzBdID09PSAncmVxdWlyZWQnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0b3JzLnJlcXVpcmVkXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdmFsaWRhdG9yc1t0aGlzLmdldFR5cGUocnVsZSldIHx8IGZhbHNlXHJcbiAgICB9XHJcbn1cclxuXHJcblNjaGVtYS5yZWdpc3RlciA9IGZ1bmN0aW9uIHJlZ2lzdGVyKHR5cGUsIHZhbGlkYXRvcikge1xyXG4gICAgaWYgKHR5cGVvZiB2YWxpZGF0b3IgIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCByZWdpc3RlciBhIHZhbGlkYXRvciBieSB0eXBlLCB2YWxpZGF0b3IgaXMgbm90IGEgZnVuY3Rpb24nKVxyXG4gICAgfVxyXG5cclxuICAgIHZhbGlkYXRvcnNbdHlwZV0gPSB2YWxpZGF0b3JcclxufVxyXG5cclxuU2NoZW1hLndhcm5pbmcgPSB3YXJuaW5nXHJcblNjaGVtYS5tZXNzYWdlcyA9IG1lc3NhZ2VzXHJcblxyXG5leHBvcnQgZGVmYXVsdCBTY2hlbWFcclxuLy8gIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcFxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///25\n");
/***/ }),
/* 26 */
@@ -2881,7 +2884,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _index = __webpack_require__(/*! ../../api/index.js */ 71);\nvar _index2 = _interopRequireDefault(__webpack_require__(/*! @/store/index.js */ 74));\nvar _constant = _interopRequireDefault(__webpack_require__(/*! ../../common/constant.js */ 73));\n//\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 jpushModule = uni.requireNativePlugin('JG-JPush');\nvar _default = {\n  data: function data() {\n    return {\n      form: {\n        username: '',\n        password: '',\n        code: '',\n        uuid: ''\n      },\n      type: '',\n      //极光推送\n      connectStatus: '未连接',\n      registrationID: '未获得',\n      isLogining: false\n    };\n  },\n  onShow: function onShow() {\n    if (uni.getStorageSync('name') && uni.getStorageSync('pwd')) {\n      // this.form.name = uni.getStorageSync('name');\n      // this.form.pwd = uni.getStorageSync('pwd');\n      // \t\t\t\tif(uni.getStorageSync('roleName') == '工作人员'){\n      // \t\t\t\t\tthis.$store.commit('setRoleId', 'user_other');\n      // \t\t\t\t\tuni.switchTab({\n      // \t\t\t\t\t     url: '/pages/tabBar/notice/notice'\n      // \t\t\t\t\t  });\n      // \t\t\t\t}else if (uni.getStorageSync('roleName') == '管理员'){\n      // \t\t\t\t\tthis.$store.commit('setRoleId', '');\n      // \t\t\t\t\tuni.showToast({\n      // \t\t\t\t\t\ticon: \"none\",\n      // \t\t\t\t\t\ttitle: '管理员请使用平台登录'\n      // \t\t\t\t\t});\n      // \t\t\t\t}else{\n      // \t\t\t\t\tthis.$store.commit('setRoleId', 'user_leader');\n      // \t\t\t\t\tuni.switchTab({\n      //                         url: '/pages/tabBar/firstPage/firstPage'\n      //                     });\n      // \t\t\t\t}\n    } else {\n      uni.clearStorageSync();\n      uni.clearStorage();\n    }\n  },\n  onLoad: function onLoad() {\n    this.connect();\n  },\n  methods: {\n    base64Encode: function base64Encode(str) {\n      return btoa(unescape(encodeURIComponent(str)));\n    },\n    Login: function Login() {\n      var _this = this;\n      this.isLogining = true;\n      this.form.password = this.base64Encode(this.form.password);\n      (0, _index.login)(this.form).then(function (res) {\n        if (res.code === 200) {\n          _this.isLogining = false;\n          //登录成功后\n          //设置别名\n          // jpushModule.setAlias({\n          // \t'alias': this.phone,\n          // \t'sequence': 1\n          // })\n          uni.setStorageSync(\"name\", _this.form.username);\n          uni.setStorageSync(\"pwd\", _this.form.password);\n          uni.setStorageSync(\"tk\", res.data.token);\n          uni.setStorageSync(\"uid\", res.data.id);\n          uni.setStorageSync('user', res.data);\n          // uni.setStorageSync('unittype',res.data.unittype);\n          // uni.setStorageSync('roleName', res.data.role.roleName);\n          // \t\t\t\tif(res.data.role.roleName == '工作人员'){\n          // \t\t\t\t\tthis.$store.commit('setRoleId', 'user_other');\n          // \t\t\t\t\tuni.switchTab({\n          // \t\t\t\t\t     url: '/pages/tabBar/notice/notice'\n          // \t\t\t\t\t  });\n          // \t\t\t\t}else if (res.data.role.roleName == '管理员'){\n          // \t\t\t\t\tthis.$store.commit('setRoleId', '');\n          // \t\t\t\t\tuni.showToast({\n          // \t\t\t\t\t\ticon: \"none\",\n          // \t\t\t\t\t\ttitle: '管理员请使用平台登录'\n          // \t\t\t\t\t});\n          // \t\t\t\t}else{\n          _this.$store.commit('setRoleId', 'user_leader');\n          uni.switchTab({\n            url: '/pages/tabBar/firstPage/firstPage'\n          });\n          // \t\t\t\t}\n        } else {\n          uni.showToast({\n            icon: \"none\",\n            title: res.message\n          });\n          _this.form.name = '';\n          _this.form.pwd = '';\n          _this.isLogining = false;\n        }\n      }).catch(function (err) {\n        _this.form.name = '';\n        _this.form.pwd = '';\n        _this.isLogining = false;\n      });\n    },\n    connect: function connect() {\n      var _this2 = this;\n      uni.$on('connectStatusChange', function (connectStatus) {\n        var connectStr = '';\n        if (connectStatus == true) {\n          connectStr = '已连接';\n          _this2.getRegistrationID();\n        } else {\n          connectStr = '未连接';\n        }\n        __f__(\"log\", '监听到了连接状态变化 --- ', connectStr, \" at pages/index/index.vue:139\");\n        _this2.connectStatus = connectStr;\n      });\n    },\n    //获取推送ID\n    getRegistrationID: function getRegistrationID() {\n      var _this3 = this;\n      jpushModule.getRegistrationID(function (result) {\n        var registerID = result.registerID;\n        __f__(\"log\", 'registerID', registerID, \" at pages/index/index.vue:147\");\n        _this3.registrationID = registerID;\n        _this3.form.registrationId = registerID;\n        uni.setStorageSync('registrationID', registerID);\n        __f__(\"log\", \"iddd\", uni.getStorageSync('registrationID'), \" at pages/index/index.vue:151\");\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 */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJmb3JtIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsImNvZGUiLCJ1dWlkIiwidHlwZSIsImNvbm5lY3RTdGF0dXMiLCJyZWdpc3RyYXRpb25JRCIsImlzTG9naW5pbmciLCJvblNob3ciLCJ1bmkiLCJvbkxvYWQiLCJtZXRob2RzIiwiYmFzZTY0RW5jb2RlIiwiTG9naW4iLCJ1cmwiLCJpY29uIiwidGl0bGUiLCJjb25uZWN0IiwiY29ubmVjdFN0ciIsImdldFJlZ2lzdHJhdGlvbklEIiwianB1c2hNb2R1bGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUF5QkE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBO0FBQUEsZUFDQTtFQUNBQTtJQUNBO01BQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQUM7TUFDQTtNQUNBQztNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQUEsQ0FDQTtNQUNBQztNQUNBQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBSjtVQUNBQTtVQUNBQTtVQUNBQTtVQUNBQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBQTtZQUNBSztVQUNBO1VBQ0E7UUFDQTtVQUNBTDtZQUNBTTtZQUNBQztVQUNBO1VBQ0E7VUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBUjtRQUNBO1FBQ0E7VUFDQVM7VUFDQTtRQUNBO1VBQ0FBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQUM7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBWDtRQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiI3MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImJveFwiPlxyXG4gICAgPHZpZXcgY2xhc3M9XCJoZWFkZXJcIj5cclxuICAgICAgPHZpZXcgY2xhc3M9XCJ0aXRsZUZpcnN0XCI+PGI+5a6J5YWo5Zyo57q/5pWZ6IKy5bmz5Y+wPC9iPjwvdmlldz5cclxuICAgIDwvdmlldz5cclxuXHRcdDx2aWV3Plx0XHJcblx0XHRcdDx1LWZvcm0gOm1vZGVsPVwiZm9ybVwiIHJlZj1cInVGb3JtXCIgY2xhc3M9XCJmb3JtXCIgPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSBzdHlsZT1cIndpZHRoOiA3NSU7XCI+PHUtaW5wdXQgOmN1c3RvbVN0eWxlPVwie2JhY2tncm91bmQ6ICcjZmZmJ31cIiB2LW1vZGVsPVwiZm9ybS51c2VybmFtZVwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl55So5oi35ZCNXCIgIC8+PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4O3dpZHRoOiA3NSU7XCIgPjx1LWlucHV0IDpjdXN0b21TdHlsZT1cIntiYWNrZ3JvdW5kOiAnI2ZmZid9XCIgdi1tb2RlbD1cImZvcm0ucGFzc3dvcmRcIiB0eXBlPVwicGFzc3dvcmRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeWvhueggVwiICAvPjwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PCEtLSA8dmlldyBjbGFzcz1cImxvZ2luUHN3XCI+XHJcblx0XHRcdFx0ICAgICAgIDx1LWNoZWNrYm94LWdyb3VwID5cclxuXHRcdFx0XHRcdFx0XHQ8dS1jaGVja2JveCBkaXNhYmxlZD1cInRydWVcIj48L3UtY2hlY2tib3g+PHRleHQgc3R5bGU9XCJjb2xvcjogI2ZmZjtcIj7oh6rliqjnmbvlvZU8L3RleHQ+XHJcblx0XHRcdFx0ICAgICAgIDwvdS1jaGVja2JveC1ncm91cD5cclxuXHRcdFx0XHQgICAgICAgIDx0ZXh0IHN0eWxlPVwiY29sb3I6IGxpZ2h0Ymx1ZTtcIj7lv5jorrDlr4bnoIE8L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PiAtLT5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4O3dpZHRoOiA3NSU7XCI+XHJcblx0XHRcdFx0XHQ8dS1idXR0b24gOmxvYWRpbmc9XCJpc0xvZ2luaW5nXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBAY2xpY2s9XCJMb2dpblwiIHR5cGU9XCJwcmltYXJ5XCI+55m75b2VPC91LWJ1dHRvbj5cclxuICAgICAgICA8L3UtZm9ybS1pdGVtPlxyXG48IS0tXHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiB3aGl0ZTttYXJnaW4tdG9wOiAxNTBweDtcIj7mioDmnK/mlK/mjIHvvJrmioDmnK/kv53pmpzpg6g8L3ZpZXc+LS0+XHJcblx0XHRcdDwvdS1mb3JtPlxyXG5cdFx0PC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0aW1wb3J0IHtsb2dpbixnZXRMYXN0QXBwfSBmcm9tICcuLi8uLi9hcGkvaW5kZXguanMnO1xyXG5cdGltcG9ydCBzdG9yZSBmcm9tICdAL3N0b3JlL2luZGV4LmpzJ1xyXG5cdGltcG9ydCBWVUVfQVBQX0JBU0VfVVJMIGZyb20gJy4uLy4uL2NvbW1vbi9jb25zdGFudC5qcydcclxuXHRjb25zdCBqcHVzaE1vZHVsZSA9IHVuaS5yZXF1aXJlTmF0aXZlUGx1Z2luKCdKRy1KUHVzaCcpXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRmb3JtOiB7XHJcblx0XHRcdFx0XHR1c2VybmFtZTogJycsXHJcblx0XHRcdFx0XHRwYXNzd29yZDogJycsXHJcbiAgICAgICAgICBjb2RlOiAnJyxcclxuICAgICAgICAgIHV1aWQ6ICcnXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR0eXBlOiAnJyxcclxuXHRcdFx0XHQvL+aegeWFieaOqOmAgVxyXG5cdFx0XHRcdGNvbm5lY3RTdGF0dXM6ICfmnKrov57mjqUnLFxyXG5cdFx0XHRcdHJlZ2lzdHJhdGlvbklEOiAn5pyq6I635b6XJyxcclxuXHRcdFx0XHRpc0xvZ2luaW5nOiBmYWxzZSxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uU2hvdygpIHtcclxuXHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKCduYW1lJykgJiYgdW5pLmdldFN0b3JhZ2VTeW5jKCdwd2QnKSl7XHJcblx0XHRcdFx0Ly8gdGhpcy5mb3JtLm5hbWUgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ25hbWUnKTtcclxuXHRcdFx0XHQvLyB0aGlzLmZvcm0ucHdkID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdwd2QnKTtcclxuLy8gXHRcdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoJ3JvbGVOYW1lJykgPT0gJ+W3peS9nOS6uuWRmCcpe1xyXG4vLyBcdFx0XHRcdFx0dGhpcy4kc3RvcmUuY29tbWl0KCdzZXRSb2xlSWQnLCAndXNlcl9vdGhlcicpO1xyXG4vLyBcdFx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XHJcbi8vIFx0XHRcdFx0XHTCoMKgwqDCoMKgdXJsOiAnL3BhZ2VzL3RhYkJhci9ub3RpY2Uvbm90aWNlJ1xyXG4vLyBcdFx0XHRcdFx0wqDCoH0pO1xyXG4vLyBcdFx0XHRcdH1lbHNlIGlmICh1bmkuZ2V0U3RvcmFnZVN5bmMoJ3JvbGVOYW1lJykgPT0gJ+euoeeQhuWRmCcpe1xyXG4vLyBcdFx0XHRcdFx0dGhpcy4kc3RvcmUuY29tbWl0KCdzZXRSb2xlSWQnLCAnJyk7XHJcbi8vIFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuLy8gXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcbi8vIFx0XHRcdFx0XHRcdHRpdGxlOiAn566h55CG5ZGY6K+35L2/55So5bmz5Y+w55m75b2VJ1xyXG4vLyBcdFx0XHRcdFx0fSk7XHJcbi8vIFx0XHRcdFx0fWVsc2V7XHJcbi8vIFx0XHRcdFx0XHR0aGlzLiRzdG9yZS5jb21taXQoJ3NldFJvbGVJZCcsICd1c2VyX2xlYWRlcicpO1xyXG4vLyBcdFx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XHJcbi8vIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHVybDogJy9wYWdlcy90YWJCYXIvZmlyc3RQYWdlL2ZpcnN0UGFnZSdcclxuLy8gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0pO1xyXG4vLyBcdFx0XHRcdH1cclxuXHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0dW5pLmNsZWFyU3RvcmFnZVN5bmMoKTtcclxuXHRcdFx0XHR1bmkuY2xlYXJTdG9yYWdlKCk7XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvbkxvYWQoKSB7XHJcblx0XHRcdHRoaXMuY29ubmVjdCgpXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG4gICAgICBiYXNlNjRFbmNvZGUoc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikpKTtcclxuICAgICAgfSxcclxuXHRcdFx0TG9naW4oKXtcclxuXHRcdFx0XHR0aGlzLmlzTG9naW5pbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZm9ybS5wYXNzd29yZCA9IHRoaXMuYmFzZTY0RW5jb2RlKHRoaXMuZm9ybS5wYXNzd29yZClcclxuXHRcdFx0XHRsb2dpbih0aGlzLmZvcm0pLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNMb2dpbmluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHQgLy/nmbvlvZXmiJDlip/lkI5cclxuXHRcdFx0XHRcdFx0IC8v6K6+572u5Yir5ZCNXHJcblx0XHRcdFx0XHRcdC8vIGpwdXNoTW9kdWxlLnNldEFsaWFzKHtcclxuXHRcdFx0XHRcdFx0Ly8gXHQnYWxpYXMnOiB0aGlzLnBob25lLFxyXG5cdFx0XHRcdFx0XHQvLyBcdCdzZXF1ZW5jZSc6IDFcclxuXHRcdFx0XHRcdFx0Ly8gfSlcclxuXHRcdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKFwibmFtZVwiLCB0aGlzLmZvcm0udXNlcm5hbWUpO1xyXG5cdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoXCJwd2RcIiwgdGhpcy5mb3JtLnBhc3N3b3JkKTtcclxuXHRcdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKFwidGtcIiwgcmVzLmRhdGEudG9rZW4pO1xyXG5cdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoXCJ1aWRcIixyZXMuZGF0YS5pZCk7XHJcblx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygndXNlcicsIHJlcy5kYXRhKTtcclxuXHRcdFx0XHRcdFx0Ly8gdW5pLnNldFN0b3JhZ2VTeW5jKCd1bml0dHlwZScscmVzLmRhdGEudW5pdHR5cGUpO1xyXG5cdFx0XHRcdFx0XHQvLyB1bmkuc2V0U3RvcmFnZVN5bmMoJ3JvbGVOYW1lJywgcmVzLmRhdGEucm9sZS5yb2xlTmFtZSk7XHJcblx0XHQvLyBcdFx0XHRcdGlmKHJlcy5kYXRhLnJvbGUucm9sZU5hbWUgPT0gJ+W3peS9nOS6uuWRmCcpe1xyXG5cdFx0Ly8gXHRcdFx0XHRcdHRoaXMuJHN0b3JlLmNvbW1pdCgnc2V0Um9sZUlkJywgJ3VzZXJfb3RoZXInKTtcclxuXHRcdC8vIFx0XHRcdFx0XHR1bmkuc3dpdGNoVGFiKHtcclxuXHRcdC8vIFx0XHRcdFx0XHTCoMKgwqDCoMKgdXJsOiAnL3BhZ2VzL3RhYkJhci9ub3RpY2Uvbm90aWNlJ1xyXG5cdFx0Ly8gXHRcdFx0XHRcdMKgwqB9KTtcclxuXHRcdC8vIFx0XHRcdFx0fWVsc2UgaWYgKHJlcy5kYXRhLnJvbGUucm9sZU5hbWUgPT0gJ+euoeeQhuWRmCcpe1xyXG5cdFx0Ly8gXHRcdFx0XHRcdHRoaXMuJHN0b3JlLmNvbW1pdCgnc2V0Um9sZUlkJywgJycpO1xyXG5cdFx0Ly8gXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0Ly8gXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHQvLyBcdFx0XHRcdFx0XHR0aXRsZTogJ+euoeeQhuWRmOivt+S9v+eUqOW5s+WPsOeZu+W9lSdcclxuXHRcdC8vIFx0XHRcdFx0XHR9KTtcclxuXHRcdC8vIFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kc3RvcmUuY29tbWl0KCdzZXRSb2xlSWQnLCAndXNlcl9sZWFkZXInKTtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc3dpdGNoVGFiKHtcclxuICAgICAgICAgICAgICAgIHVybDogJy9wYWdlcy90YWJCYXIvZmlyc3RQYWdlL2ZpcnN0UGFnZSdcclxuICAgICAgICAgICAgICB9KVxyXG5cdFx0Ly8gXHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6IHJlcy5tZXNzYWdlXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZvcm0ubmFtZSA9ICcnO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZvcm0ucHdkID0gJyc7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNMb2dpbmluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pLmNhdGNoKGVycj0+e1xyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLm5hbWUgPSAnJztcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS5wd2QgPSAnJztcclxuXHRcdFx0XHRcdHRoaXMuaXNMb2dpbmluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGNvbm5lY3QoKSB7XHJcblx0XHRcdFx0dW5pLiRvbignY29ubmVjdFN0YXR1c0NoYW5nZScsIChjb25uZWN0U3RhdHVzKSA9PiB7XHJcblx0XHRcdFx0XHR2YXIgY29ubmVjdFN0ciA9ICcnXHJcblx0XHRcdFx0XHRpZiAoY29ubmVjdFN0YXR1cyA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdGNvbm5lY3RTdHIgPSAn5bey6L+e5o6lJ1xyXG5cdFx0XHRcdFx0XHR0aGlzLmdldFJlZ2lzdHJhdGlvbklEKClcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdGNvbm5lY3RTdHIgPSAn5pyq6L+e5o6lJ1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ+ebkeWQrOWIsOS6hui/nuaOpeeKtuaAgeWPmOWMliAtLS0gJywgY29ubmVjdFN0cilcclxuXHRcdFx0XHRcdHRoaXMuY29ubmVjdFN0YXR1cyA9IGNvbm5lY3RTdHJcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+iOt+WPluaOqOmAgUlEXHJcblx0XHRcdGdldFJlZ2lzdHJhdGlvbklEKCkge1xyXG5cdFx0XHRcdGpwdXNoTW9kdWxlLmdldFJlZ2lzdHJhdGlvbklEKHJlc3VsdCA9PiB7XHJcblx0XHRcdFx0XHRsZXQgcmVnaXN0ZXJJRCA9IHJlc3VsdC5yZWdpc3RlcklEXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygncmVnaXN0ZXJJRCcscmVnaXN0ZXJJRClcclxuXHRcdFx0XHRcdHRoaXMucmVnaXN0cmF0aW9uSUQgPSByZWdpc3RlcklEXHJcblx0XHRcdFx0XHR0aGlzLmZvcm0ucmVnaXN0cmF0aW9uSWQgPSByZWdpc3RlcklEO1xyXG5cdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdyZWdpc3RyYXRpb25JRCcsIHJlZ2lzdGVySUQpO1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCJpZGRkXCIsdW5pLmdldFN0b3JhZ2VTeW5jKCdyZWdpc3RyYXRpb25JRCcpKVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuLmJveHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMHZoO1xyXG5cdGJhY2tncm91bmQ6IHVybCgnLi4vLi4vc3RhdGljL2xvZ2luMS5qcGcnKSBuby1yZXBlYXQ7XHJcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcblx0YmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsvKiDkuI3orr7nva7nmoTor53pobXpnaLmu5Hliqjml7bvvIzog4zmma/kvJrkuI3pk7rmu6EqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG4udGl0bGVGaXJzdHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAzMHB4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAycHg7XHJcblx0Y29sb3I6I2ZmZjtcclxufVxyXG5cclxuLnRpdGxlU2Vjb25ke1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmb250LXNpemU6IDE5cHg7XHJcblx0Y29sb3I6I2ZmZjtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcbi5oZWFkZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHBhZGRpbmctdG9wOjEwMHB4O1xyXG5cdHRleHQtc2hhZG93OjAgMCAxcHggIzAwMDtcclxufVxyXG4uZm9ybXtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiAyNSU7XHJcbn1cclxuLmxvZ2luUHN3e1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuPC9zdHlsZT5cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///70\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _index = __webpack_require__(/*! ../../api/index.js */ 71);\nvar _index2 = _interopRequireDefault(__webpack_require__(/*! @/store/index.js */ 74));\nvar _constant = _interopRequireDefault(__webpack_require__(/*! ../../common/constant.js */ 73));\n//\n//\n//\n//\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 jpushModule = uni.requireNativePlugin('JG-JPush');\nvar _default = {\n  data: function data() {\n    return {\n      form: {\n        username: '',\n        password: '',\n        code: '',\n        uuid: ''\n      },\n      type: '',\n      //极光推送\n      connectStatus: '未连接',\n      registrationID: '未获得',\n      isLogining: false,\n      cstyle: {\n        background: '#fff',\n        padding: '10px',\n        boxShadow: '0 2px 4px rgba(0,0,0,.2),0 -2px 4px rgba(255,255,255,.2),inset 0 2px 4px rgba(0,0,0,.1)',\n        border: '1px solid #fff'\n      }\n    };\n  },\n  onShow: function onShow() {\n    if (uni.getStorageSync('name') && uni.getStorageSync('pwd')) {\n      // this.form.name = uni.getStorageSync('name');\n      // this.form.pwd = uni.getStorageSync('pwd');\n      // \t\t\t\tif(uni.getStorageSync('roleName') == '工作人员'){\n      // \t\t\t\t\tthis.$store.commit('setRoleId', 'user_other');\n      // \t\t\t\t\tuni.switchTab({\n      // \t\t\t\t\t     url: '/pages/tabBar/notice/notice'\n      // \t\t\t\t\t  });\n      // \t\t\t\t}else if (uni.getStorageSync('roleName') == '管理员'){\n      // \t\t\t\t\tthis.$store.commit('setRoleId', '');\n      // \t\t\t\t\tuni.showToast({\n      // \t\t\t\t\t\ticon: \"none\",\n      // \t\t\t\t\t\ttitle: '管理员请使用平台登录'\n      // \t\t\t\t\t});\n      // \t\t\t\t}else{\n      // \t\t\t\t\tthis.$store.commit('setRoleId', 'user_leader');\n      // \t\t\t\t\tuni.switchTab({\n      //                         url: '/pages/tabBar/firstPage/firstPage'\n      //                     });\n      // \t\t\t\t}\n    } else {\n      uni.clearStorageSync();\n      uni.clearStorage();\n    }\n  },\n  onLoad: function onLoad() {\n    this.connect();\n  },\n  methods: {\n    base64Encode: function base64Encode(str) {\n      return btoa(unescape(encodeURIComponent(str)));\n    },\n    Login: function Login() {\n      var _this = this;\n      this.isLogining = true;\n      // this.form.password = this.base64Encode(this.form.password)\n      var _this$form = this.form,\n        username = _this$form.username,\n        password = _this$form.password,\n        code = _this$form.code,\n        uuid = _this$form.uuid;\n      var data = {\n        username: username,\n        password: password,\n        code: code,\n        uuid: uuid\n      };\n      data.password = this.base64Encode(data.password);\n      (0, _index.login)(data).then(function (res) {\n        if (res.code === 200) {\n          _this.isLogining = false;\n          //登录成功后\n          //设置别名\n          // jpushModule.setAlias({\n          // \t'alias': this.phone,\n          // \t'sequence': 1\n          // })\n          uni.setStorageSync(\"name\", _this.form.username);\n          uni.setStorageSync(\"pwd\", _this.form.password);\n          uni.setStorageSync(\"tk\", res.data.token);\n          uni.setStorageSync(\"uid\", res.data.id);\n          uni.setStorageSync('user', res.data);\n          // uni.setStorageSync('unittype',res.data.unittype);\n          // uni.setStorageSync('roleName', res.data.role.roleName);\n          // \t\t\t\tif(res.data.role.roleName == '工作人员'){\n          // \t\t\t\t\tthis.$store.commit('setRoleId', 'user_other');\n          // \t\t\t\t\tuni.switchTab({\n          // \t\t\t\t\t     url: '/pages/tabBar/notice/notice'\n          // \t\t\t\t\t  });\n          // \t\t\t\t}else if (res.data.role.roleName == '管理员'){\n          // \t\t\t\t\tthis.$store.commit('setRoleId', '');\n          // \t\t\t\t\tuni.showToast({\n          // \t\t\t\t\t\ticon: \"none\",\n          // \t\t\t\t\t\ttitle: '管理员请使用平台登录'\n          // \t\t\t\t\t});\n          // \t\t\t\t}else{\n          _this.$store.commit('setRoleId', 'user_leader');\n          uni.switchTab({\n            url: '/pages/tabBar/firstPage/firstPage'\n          });\n          // \t\t\t\t}\n        } else {\n          uni.showToast({\n            icon: \"none\",\n            title: res.message\n          });\n          _this.form.username = '';\n          _this.form.password = '';\n          _this.isLogining = false;\n        }\n      }).catch(function (err) {\n        _this.form.username = '';\n        _this.form.password = '';\n        _this.isLogining = false;\n      });\n    },\n    connect: function connect() {\n      var _this2 = this;\n      uni.$on('connectStatusChange', function (connectStatus) {\n        var connectStr = '';\n        if (connectStatus == true) {\n          connectStr = '已连接';\n          _this2.getRegistrationID();\n        } else {\n          connectStr = '未连接';\n        }\n        __f__(\"log\", '监听到了连接状态变化 --- ', connectStr, \" at pages/index/index.vue:151\");\n        _this2.connectStatus = connectStr;\n      });\n    },\n    //获取推送ID\n    getRegistrationID: function getRegistrationID() {\n      var _this3 = this;\n      jpushModule.getRegistrationID(function (result) {\n        var registerID = result.registerID;\n        __f__(\"log\", 'registerID', registerID, \" at pages/index/index.vue:159\");\n        _this3.registrationID = registerID;\n        _this3.form.registrationId = registerID;\n        uni.setStorageSync('registrationID', registerID);\n        __f__(\"log\", \"iddd\", uni.getStorageSync('registrationID'), \" at pages/index/index.vue:163\");\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 */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJmb3JtIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsImNvZGUiLCJ1dWlkIiwidHlwZSIsImNvbm5lY3RTdGF0dXMiLCJyZWdpc3RyYXRpb25JRCIsImlzTG9naW5pbmciLCJjc3R5bGUiLCJiYWNrZ3JvdW5kIiwicGFkZGluZyIsImJveFNoYWRvdyIsImJvcmRlciIsIm9uU2hvdyIsInVuaSIsIm9uTG9hZCIsIm1ldGhvZHMiLCJiYXNlNjRFbmNvZGUiLCJMb2dpbiIsInVybCIsImljb24iLCJ0aXRsZSIsImNvbm5lY3QiLCJjb25uZWN0U3RyIiwiZ2V0UmVnaXN0cmF0aW9uSUQiLCJqcHVzaE1vZHVsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQTRCQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7QUFBQSxlQUNBO0VBQ0FBO0lBQ0E7TUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUFBLENBQ0E7TUFDQUM7TUFDQUE7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0E7TUFDQTtRQUFBbEI7UUFBQUM7UUFBQUM7UUFBQUM7TUFDQTtRQUFBSDtRQUFBQztRQUFBQztRQUFBQztNQUFBO01BQ0FMO01BQ0E7UUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0FnQjtVQUNBQTtVQUNBQTtVQUNBQTtVQUNBQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBQTtZQUNBSztVQUNBO1VBQ0E7UUFDQTtVQUNBTDtZQUNBTTtZQUNBQztVQUNBO1VBQ0E7VUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBUjtRQUNBO1FBQ0E7VUFDQVM7VUFDQTtRQUNBO1VBQ0FBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQUM7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBWDtRQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiI3MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImJveFwiPlxyXG4gICAgPHZpZXcgY2xhc3M9XCJtYWluXCI+XHJcbiAgICAgIDx2aWV3IGNsYXNzPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgPHZpZXcgY2xhc3M9XCJ0aXRsZUZpcnN0XCI+PGI+5a6J5YWo5Zyo57q/5pWZ6IKy5bmz5Y+wPC9iPjwvdmlldz5cclxuICAgICAgPC92aWV3PlxyXG4gICAgICA8dmlldz5cclxuICAgICAgICA8dS1mb3JtIDptb2RlbD1cImZvcm1cIiByZWY9XCJ1Rm9ybVwiIGNsYXNzPVwiZm9ybVwiID5cclxuICAgICAgICAgIDx1LWZvcm0taXRlbSBzdHlsZT1cIndpZHRoOiA3NSU7XCI+PHUtaW5wdXQgOmN1c3RvbVN0eWxlPVwiY3N0eWxlXCIgdi1tb2RlbD1cImZvcm0udXNlcm5hbWVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeeUqOaIt+WQjVwiICAvPjwvdS1mb3JtLWl0ZW0+XHJcbiAgICAgICAgICA8dS1mb3JtLWl0ZW0gc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4O3dpZHRoOiA3NSU7XCIgPjx1LWlucHV0IDpjdXN0b21TdHlsZT1cImNzdHlsZVwiIHYtbW9kZWw9XCJmb3JtLnBhc3N3b3JkXCIgdHlwZT1cInBhc3N3b3JkXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlr4bnoIFcIiAgLz48L3UtZm9ybS1pdGVtPlxyXG4gICAgICAgICAgPCEtLSA8dmlldyBjbGFzcz1cImxvZ2luUHN3XCI+XHJcbiAgICAgICAgICAgICAgICAgPHUtY2hlY2tib3gtZ3JvdXAgPlxyXG4gICAgICAgICAgICAgICAgPHUtY2hlY2tib3ggZGlzYWJsZWQ9XCJ0cnVlXCI+PC91LWNoZWNrYm94Pjx0ZXh0IHN0eWxlPVwiY29sb3I6ICNmZmY7XCI+6Ieq5Yqo55m75b2VPC90ZXh0PlxyXG4gICAgICAgICAgICAgICAgIDwvdS1jaGVja2JveC1ncm91cD5cclxuICAgICAgICAgICAgICAgICAgPHRleHQgc3R5bGU9XCJjb2xvcjogbGlnaHRibHVlO1wiPuW/mOiusOWvhueggTwvdGV4dD5cclxuICAgICAgICAgIDwvdmlldz4gLS0+XHJcbiAgICAgICAgICA8dS1mb3JtLWl0ZW0gc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4O3dpZHRoOiA3NSU7XCI+XHJcbiAgICAgICAgICAgIDx1LWJ1dHRvbiBjbGFzcz1cImxvZ2luQnRuXCIgOmxvYWRpbmc9XCJpc0xvZ2luaW5nXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQ0cHhcIiBAY2xpY2s9XCJMb2dpblwiIHR5cGU9XCJwcmltYXJ5XCI+55m75b2VPC91LWJ1dHRvbj5cclxuICAgICAgICAgIDwvdS1mb3JtLWl0ZW0+XHJcbiAgICAgICAgICA8IS0tXHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiB3aGl0ZTttYXJnaW4tdG9wOiAxNTBweDtcIj7mioDmnK/mlK/mjIHvvJrmioDmnK/kv53pmpzpg6g8L3ZpZXc+LS0+XHJcbiAgICAgICAgPC91LWZvcm0+XHJcbiAgICAgIDwvdmlldz5cclxuICAgIDwvdmlldz5cclxuXHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQge2xvZ2luLGdldExhc3RBcHB9IGZyb20gJy4uLy4uL2FwaS9pbmRleC5qcyc7XHJcblx0aW1wb3J0IHN0b3JlIGZyb20gJ0Avc3RvcmUvaW5kZXguanMnXHJcblx0aW1wb3J0IFZVRV9BUFBfQkFTRV9VUkwgZnJvbSAnLi4vLi4vY29tbW9uL2NvbnN0YW50LmpzJ1xyXG5cdGNvbnN0IGpwdXNoTW9kdWxlID0gdW5pLnJlcXVpcmVOYXRpdmVQbHVnaW4oJ0pHLUpQdXNoJylcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGZvcm06IHtcclxuXHRcdFx0XHRcdHVzZXJuYW1lOiAnJyxcclxuXHRcdFx0XHRcdHBhc3N3b3JkOiAnJyxcclxuICAgICAgICAgIGNvZGU6ICcnLFxyXG4gICAgICAgICAgdXVpZDogJydcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHR5cGU6ICcnLFxyXG5cdFx0XHRcdC8v5p6B5YWJ5o6o6YCBXHJcblx0XHRcdFx0Y29ubmVjdFN0YXR1czogJ+acqui/nuaOpScsXHJcblx0XHRcdFx0cmVnaXN0cmF0aW9uSUQ6ICfmnKrojrflvpcnLFxyXG5cdFx0XHRcdGlzTG9naW5pbmc6IGZhbHNlLFxyXG4gICAgICAgIGNzdHlsZToge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJyNmZmYnLFxyXG4gICAgICAgICAgcGFkZGluZzogJzEwcHgnLFxyXG4gICAgICAgICAgYm94U2hhZG93OiAnMCAycHggNHB4IHJnYmEoMCwwLDAsLjIpLDAgLTJweCA0cHggcmdiYSgyNTUsMjU1LDI1NSwuMiksaW5zZXQgMCAycHggNHB4IHJnYmEoMCwwLDAsLjEpJyxcclxuICAgICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjZmZmJ1xyXG4gICAgICAgIH1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uU2hvdygpIHtcclxuXHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKCduYW1lJykgJiYgdW5pLmdldFN0b3JhZ2VTeW5jKCdwd2QnKSl7XHJcblx0XHRcdFx0Ly8gdGhpcy5mb3JtLm5hbWUgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ25hbWUnKTtcclxuXHRcdFx0XHQvLyB0aGlzLmZvcm0ucHdkID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdwd2QnKTtcclxuLy8gXHRcdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoJ3JvbGVOYW1lJykgPT0gJ+W3peS9nOS6uuWRmCcpe1xyXG4vLyBcdFx0XHRcdFx0dGhpcy4kc3RvcmUuY29tbWl0KCdzZXRSb2xlSWQnLCAndXNlcl9vdGhlcicpO1xyXG4vLyBcdFx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XHJcbi8vIFx0XHRcdFx0XHTCoMKgwqDCoMKgdXJsOiAnL3BhZ2VzL3RhYkJhci9ub3RpY2Uvbm90aWNlJ1xyXG4vLyBcdFx0XHRcdFx0wqDCoH0pO1xyXG4vLyBcdFx0XHRcdH1lbHNlIGlmICh1bmkuZ2V0U3RvcmFnZVN5bmMoJ3JvbGVOYW1lJykgPT0gJ+euoeeQhuWRmCcpe1xyXG4vLyBcdFx0XHRcdFx0dGhpcy4kc3RvcmUuY29tbWl0KCdzZXRSb2xlSWQnLCAnJyk7XHJcbi8vIFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuLy8gXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcbi8vIFx0XHRcdFx0XHRcdHRpdGxlOiAn566h55CG5ZGY6K+35L2/55So5bmz5Y+w55m75b2VJ1xyXG4vLyBcdFx0XHRcdFx0fSk7XHJcbi8vIFx0XHRcdFx0fWVsc2V7XHJcbi8vIFx0XHRcdFx0XHR0aGlzLiRzdG9yZS5jb21taXQoJ3NldFJvbGVJZCcsICd1c2VyX2xlYWRlcicpO1xyXG4vLyBcdFx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XHJcbi8vIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHVybDogJy9wYWdlcy90YWJCYXIvZmlyc3RQYWdlL2ZpcnN0UGFnZSdcclxuLy8gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0pO1xyXG4vLyBcdFx0XHRcdH1cclxuXHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0dW5pLmNsZWFyU3RvcmFnZVN5bmMoKTtcclxuXHRcdFx0XHR1bmkuY2xlYXJTdG9yYWdlKCk7XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvbkxvYWQoKSB7XHJcblx0XHRcdHRoaXMuY29ubmVjdCgpXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG4gICAgICBiYXNlNjRFbmNvZGUoc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikpKTtcclxuICAgICAgfSxcclxuXHRcdFx0TG9naW4oKXtcclxuXHRcdFx0XHR0aGlzLmlzTG9naW5pbmcgPSB0cnVlO1xyXG4gICAgICAgIC8vIHRoaXMuZm9ybS5wYXNzd29yZCA9IHRoaXMuYmFzZTY0RW5jb2RlKHRoaXMuZm9ybS5wYXNzd29yZClcclxuICAgICAgICBjb25zdCB7dXNlcm5hbWUscGFzc3dvcmQsY29kZSx1dWlkfSA9IHRoaXMuZm9ybVxyXG4gICAgICAgIGNvbnN0IGRhdGEgPSB7dXNlcm5hbWUscGFzc3dvcmQsY29kZSx1dWlkfVxyXG4gICAgICAgIGRhdGEucGFzc3dvcmQgPSB0aGlzLmJhc2U2NEVuY29kZShkYXRhLnBhc3N3b3JkKVxyXG5cdFx0XHRcdGxvZ2luKGRhdGEpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNMb2dpbmluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHQgLy/nmbvlvZXmiJDlip/lkI5cclxuXHRcdFx0XHRcdFx0IC8v6K6+572u5Yir5ZCNXHJcblx0XHRcdFx0XHRcdC8vIGpwdXNoTW9kdWxlLnNldEFsaWFzKHtcclxuXHRcdFx0XHRcdFx0Ly8gXHQnYWxpYXMnOiB0aGlzLnBob25lLFxyXG5cdFx0XHRcdFx0XHQvLyBcdCdzZXF1ZW5jZSc6IDFcclxuXHRcdFx0XHRcdFx0Ly8gfSlcclxuXHRcdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKFwibmFtZVwiLCB0aGlzLmZvcm0udXNlcm5hbWUpO1xyXG5cdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoXCJwd2RcIiwgdGhpcy5mb3JtLnBhc3N3b3JkKTtcclxuXHRcdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKFwidGtcIiwgcmVzLmRhdGEudG9rZW4pO1xyXG5cdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoXCJ1aWRcIixyZXMuZGF0YS5pZCk7XHJcblx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygndXNlcicsIHJlcy5kYXRhKTtcclxuXHRcdFx0XHRcdFx0Ly8gdW5pLnNldFN0b3JhZ2VTeW5jKCd1bml0dHlwZScscmVzLmRhdGEudW5pdHR5cGUpO1xyXG5cdFx0XHRcdFx0XHQvLyB1bmkuc2V0U3RvcmFnZVN5bmMoJ3JvbGVOYW1lJywgcmVzLmRhdGEucm9sZS5yb2xlTmFtZSk7XHJcblx0XHQvLyBcdFx0XHRcdGlmKHJlcy5kYXRhLnJvbGUucm9sZU5hbWUgPT0gJ+W3peS9nOS6uuWRmCcpe1xyXG5cdFx0Ly8gXHRcdFx0XHRcdHRoaXMuJHN0b3JlLmNvbW1pdCgnc2V0Um9sZUlkJywgJ3VzZXJfb3RoZXInKTtcclxuXHRcdC8vIFx0XHRcdFx0XHR1bmkuc3dpdGNoVGFiKHtcclxuXHRcdC8vIFx0XHRcdFx0XHTCoMKgwqDCoMKgdXJsOiAnL3BhZ2VzL3RhYkJhci9ub3RpY2Uvbm90aWNlJ1xyXG5cdFx0Ly8gXHRcdFx0XHRcdMKgwqB9KTtcclxuXHRcdC8vIFx0XHRcdFx0fWVsc2UgaWYgKHJlcy5kYXRhLnJvbGUucm9sZU5hbWUgPT0gJ+euoeeQhuWRmCcpe1xyXG5cdFx0Ly8gXHRcdFx0XHRcdHRoaXMuJHN0b3JlLmNvbW1pdCgnc2V0Um9sZUlkJywgJycpO1xyXG5cdFx0Ly8gXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0Ly8gXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHQvLyBcdFx0XHRcdFx0XHR0aXRsZTogJ+euoeeQhuWRmOivt+S9v+eUqOW5s+WPsOeZu+W9lSdcclxuXHRcdC8vIFx0XHRcdFx0XHR9KTtcclxuXHRcdC8vIFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kc3RvcmUuY29tbWl0KCdzZXRSb2xlSWQnLCAndXNlcl9sZWFkZXInKTtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc3dpdGNoVGFiKHtcclxuICAgICAgICAgICAgICAgIHVybDogJy9wYWdlcy90YWJCYXIvZmlyc3RQYWdlL2ZpcnN0UGFnZSdcclxuICAgICAgICAgICAgICB9KVxyXG5cdFx0Ly8gXHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6IHJlcy5tZXNzYWdlXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZvcm0udXNlcm5hbWUgPSAnJztcclxuXHRcdFx0XHRcdFx0dGhpcy5mb3JtLnBhc3N3b3JkID0gJyc7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNMb2dpbmluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pLmNhdGNoKGVycj0+e1xyXG4gICAgICAgICAgdGhpcy5mb3JtLnVzZXJuYW1lID0gJyc7XHJcbiAgICAgICAgICB0aGlzLmZvcm0ucGFzc3dvcmQgPSAnJztcclxuXHRcdFx0XHRcdHRoaXMuaXNMb2dpbmluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGNvbm5lY3QoKSB7XHJcblx0XHRcdFx0dW5pLiRvbignY29ubmVjdFN0YXR1c0NoYW5nZScsIChjb25uZWN0U3RhdHVzKSA9PiB7XHJcblx0XHRcdFx0XHR2YXIgY29ubmVjdFN0ciA9ICcnXHJcblx0XHRcdFx0XHRpZiAoY29ubmVjdFN0YXR1cyA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdGNvbm5lY3RTdHIgPSAn5bey6L+e5o6lJ1xyXG5cdFx0XHRcdFx0XHR0aGlzLmdldFJlZ2lzdHJhdGlvbklEKClcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdGNvbm5lY3RTdHIgPSAn5pyq6L+e5o6lJ1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ+ebkeWQrOWIsOS6hui/nuaOpeeKtuaAgeWPmOWMliAtLS0gJywgY29ubmVjdFN0cilcclxuXHRcdFx0XHRcdHRoaXMuY29ubmVjdFN0YXR1cyA9IGNvbm5lY3RTdHJcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+iOt+WPluaOqOmAgUlEXHJcblx0XHRcdGdldFJlZ2lzdHJhdGlvbklEKCkge1xyXG5cdFx0XHRcdGpwdXNoTW9kdWxlLmdldFJlZ2lzdHJhdGlvbklEKHJlc3VsdCA9PiB7XHJcblx0XHRcdFx0XHRsZXQgcmVnaXN0ZXJJRCA9IHJlc3VsdC5yZWdpc3RlcklEXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygncmVnaXN0ZXJJRCcscmVnaXN0ZXJJRClcclxuXHRcdFx0XHRcdHRoaXMucmVnaXN0cmF0aW9uSUQgPSByZWdpc3RlcklEXHJcblx0XHRcdFx0XHR0aGlzLmZvcm0ucmVnaXN0cmF0aW9uSWQgPSByZWdpc3RlcklEO1xyXG5cdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdyZWdpc3RyYXRpb25JRCcsIHJlZ2lzdGVySUQpO1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCJpZGRkXCIsdW5pLmdldFN0b3JhZ2VTeW5jKCdyZWdpc3RyYXRpb25JRCcpKVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbi5ib3h7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDB2aDtcclxuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL3N0YXRpYy9sb2dpbi5qcGcnKSBuby1yZXBlYXQ7XHJcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcblx0YmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsvKiDkuI3orr7nva7nmoTor53pobXpnaLmu5Hliqjml7bvvIzog4zmma/kvJrkuI3pk7rmu6EqL1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLm1haW57XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA1MHZoO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5oZWFkZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHRleHQtc2hhZG93OjAgMCAxcHggIzAwMDtcclxufVxyXG5cclxuLnRpdGxlRmlyc3R7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMzJweDtcclxuICBsZXR0ZXItc3BhY2luZzogNnB4O1xyXG5cdGNvbG9yOiNmZmY7XHJcbiAgdGV4dC1zaGFkb3c6IDJweCAycHggNnB4IHJnYmEoMCwwLDAsLjEpO1xyXG59XHJcblxyXG4udGl0bGVTZWNvbmR7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogMTlweDtcclxuXHRjb2xvcjojZmZmO1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuLmZvcm17XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogNDBweDtcclxufVxyXG4ubG9naW5Qc3d7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLmxvZ2luQnRue1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQpO1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsMCwwLC4yKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzQxYTJmZiwjMGY3ZmY5KTtcclxuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4yNXMgZWFzZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubG9naW5CdG46YWN0aXZle1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsMCwwLDApO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjMGY3ZmY5LCM0MWEyZmYpO1xyXG59XHJcblxyXG5cclxuPC9zdHlsZT5cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///70\n");
/***/ }),
/* 71 */
@@ -10667,7 +10670,20 @@
      ),
      _c(
        "view",
        [_c("u-swiper", { attrs: { list: _vm.swiperList, _i: 6 } })],
        [
          _c("u-swiper", {
            attrs: {
              list: _vm.swiperList,
              indicatorMode: "dot",
              circular: true,
              height: "160",
              indicator: true,
              previousMargin: "30",
              nextMargin: "30",
              _i: 6,
            },
          }),
        ],
        1
      ),
      _c(
@@ -10789,7 +10805,7 @@
                                _c("u-tag", {
                                  attrs: {
                                    icon: "clock",
                                    text: item.course.period + "分钟",
                                    text: _vm.secondsToHms(item.course.period),
                                    type: "success",
                                    size: "mini",
                                    shape: "circle",
@@ -10931,80 +10947,66 @@
                                ),
                              ]
                            ),
                            _c("view", [
                              _vm._v(
                                _vm._$s(
                                  "32-" + $31,
                                  "t0-0",
                                  _vm._s(item.examPaper.code)
                                )
                              ),
                            ]),
                            _c("u-tag", {
                              attrs: {
                                text: item.examPaper.categoryName,
                                size: "mini",
                                _i: "32-" + $31,
                              },
                            }),
                            _c("u-tag", {
                              attrs: {
                                text:
                                  "时长:" + item.examPaper.limitTime + "分钟",
                                plain: true,
                                plainFill: true,
                                size: "mini",
                                _i: "33-" + $31,
                              },
                            }),
                            _c(
                              "view",
                              {
                                staticClass: _vm._$s(
                                  "33-" + $31,
                                  "34-" + $31,
                                  "sc",
                                  "paper-card-b"
                                ),
                                attrs: { _i: "33-" + $31 },
                                attrs: { _i: "34-" + $31 },
                              },
                              [
                                _c("view", [
                                  _c("view", [
                                    _vm._v(
                                      _vm._$s(
                                        "36-" + $31,
                                        "t0-0",
                                        _vm._s(item.createName)
                                      )
                                    ),
                                  ]),
                                  _c("view", [
                                    _vm._v(
                                      _vm._$s(
                                        "37-" + $31,
                                        "t0-0",
                                        _vm._s(
                                          item.examPaper.deadline.substring(
                                            0,
                                            10
                                          )
                                        )
                                      )
                                    ),
                                  ]),
                                ]),
                                _c(
                                  "view",
                                  [
                                    _c("u-tag", {
                                      attrs: {
                                        text: item.examPaper.categoryName,
                                        size: "mini",
                                        _i: "35-" + $31,
                                      },
                                    }),
                                    _c("u-tag", {
                                      attrs: {
                                        text: item.createName,
                                        plain: true,
                                        plainFill: true,
                                        size: "mini",
                                        _i: "36-" + $31,
                                      },
                                    }),
                                  ],
                                  1
                                ),
                                _c(
                                  "view",
                                  [
                                    _vm._$s(
                                      "38-" + $31,
                                      "i",
                                      item.completed == 0
                                    )
                                      ? _c("u-button", {
                                          staticClass: _vm._$s(
                                            "38-" + $31,
                                            "sc",
                                            "exam-button"
                                          ),
                                          attrs: {
                                            type: "primary",
                                            text: "开始考试",
                                            shape: "circle",
                                            size: "small",
                                            _i: "38-" + $31,
                                          },
                                          on: {
                                            click: function ($event) {
                                              return _vm.toExam(item, 1)
                                            },
                                          },
                                        })
                                      : _vm._e(),
                                    _vm._$s(
                                      "39-" + $31,
                                      "i",
                                      item.completed == 1
                                      item.completed == 0
                                    )
                                      ? _c("u-button", {
                                          staticClass: _vm._$s(
@@ -11014,10 +11016,35 @@
                                          ),
                                          attrs: {
                                            type: "primary",
                                            text: "查看",
                                            text: "开始考试",
                                            shape: "circle",
                                            size: "small",
                                            _i: "39-" + $31,
                                          },
                                          on: {
                                            click: function ($event) {
                                              return _vm.toExam(item, 1)
                                            },
                                          },
                                        })
                                      : _vm._e(),
                                    _vm._$s(
                                      "40-" + $31,
                                      "i",
                                      item.completed == 1
                                    )
                                      ? _c("u-button", {
                                          staticClass: _vm._$s(
                                            "40-" + $31,
                                            "sc",
                                            "exam-button"
                                          ),
                                          attrs: {
                                            type: "primary",
                                            text: "查看",
                                            shape: "circle",
                                            size: "small",
                                            _i: "40-" + $31,
                                          },
                                          on: {
                                            click: function ($event) {
@@ -11031,7 +11058,8 @@
                                ),
                              ]
                            ),
                          ]
                          ],
                          1
                        )
                      }
                    ),
@@ -11043,7 +11071,7 @@
          ),
        ]
      ),
      _c("tabBar", { attrs: { currentPagePath: _vm.page, _i: 40 } }),
      _c("tabBar", { attrs: { currentPagePath: _vm.page, _i: 41 } }),
    ],
    1
  )
@@ -11583,7 +11611,7 @@
/***/ (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 _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 15));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 23));\nvar _tabBarIndex = _interopRequireDefault(__webpack_require__(/*! ../tabBarIndex.vue */ 140));\nvar _index = __webpack_require__(/*! ../../../api/index.js */ 71);\nvar _constant = _interopRequireDefault(__webpack_require__(/*! common/constant.js */ 73));\nvar _sass = __webpack_require__(/*! sass */ 254);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {\n    tabBar: _tabBarIndex.default\n  },\n  data: function data() {\n    return {\n      swiperList: ['/static/home/swiperPic.png', '/static/home/swiperPic.png', '/static/home/swiperPic.png'],\n      titleList: [{\n        label: '默认排序',\n        value: 1\n      }],\n      classList: [],\n      examList: [],\n      totalPage: 0,\n      page: 'pages/tabBar/firstPage/firstPage',\n      statusBarHeight: '',\n      classParams: {\n        pageNum: 1,\n        pageSize: 3\n      },\n      examParams: {\n        pageNum: 1,\n        pageSize: 10\n      },\n      role: '',\n      realname: ''\n    };\n  },\n  onLoad: function onLoad() {\n    //获取手机状态栏高度\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    // uni.hideTabBar();\n    this.examList = [];\n    this.classParams.pageNum = 1;\n    this.examParams.pageNum = 1;\n    this.getSwiper();\n    this.getClass();\n    this.getExamList();\n  },\n  onShow: function onShow() {\n    // this.role = uni.getStorageSync('roleName');\n    // this.realname = uni.getStorageSync('user').realName\n    // this.tabBarLists = uni.getStorageSync('tabBarList');\n  },\n  methods: {\n    loginOut: function loginOut() {\n      uni.clearStorageSync();\n      uni.clearStorage();\n      uni.navigateTo({\n        url: '/pages/index/index'\n      });\n    },\n    getSwiper: function getSwiper() {\n      var _this = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n        var res, list;\n        return _regenerator.default.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return (0, _index.getSwiperList)();\n              case 2:\n                res = _context.sent;\n                if (res.code == 200) {\n                  list = res.data.list || [];\n                  if (list.length > 0) {\n                    _this.swiperList = list.map(function (i) {\n                      return _constant.default + '/api/' + i.imgUrl;\n                    });\n                  }\n                } else {\n                  uni.$u.toast(res.message);\n                }\n              case 4:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    getClass: function getClass() {\n      var _this2 = this;\n      (0, _index.getClassList)(this.classParams).then(function (res) {\n        if (res.code == 200) {\n          if (res.data && res.data.list.length > 0) {\n            _this2.classList = res.data.list;\n          } else {\n            _this2.classList = [];\n          }\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    getExamList: function getExamList() {\n      var _this3 = this;\n      (0, _index.getExamList)(this.examParams).then(function (res) {\n        if (res.code == 200) {\n          var list = res.data.list ? res.data.list : [];\n          if (res.pageNum != 1) {\n            _this3.examList = _this3.examList.concat(list);\n          } else {\n            _this3.examList = res.data.list;\n          }\n          _this3.totalPage = res.data.totalPage;\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    getImageUrl: function getImageUrl(logo) {\n      return logo ? _constant.default + '/api/' + logo : '/static/defaultCover.jpg';\n    },\n    toStudy: function toStudy(id) {\n      uni.setStorageSync(\"prevPage\", '/pages/tabBar/firstPage/firstPage');\n      uni.navigateTo({\n        url: \"/pages/tabBar/current/detail?phase_id=\" + encodeURIComponent(JSON.stringify(id))\n      });\n    },\n    toExam: function toExam(item, type) {\n      uni.setStorageSync(\"prevPage\", '/pages/tabBar/firstPage/firstPage');\n      uni.navigateTo({\n        url: \"/pages/tabBar/firstPage/exam?bank=\" + encodeURIComponent(JSON.stringify(item)) + \"&type=\" + encodeURIComponent(JSON.stringify(type))\n      });\n    },\n    upper: function upper(e) {\n      // console.log(e)\n    },\n    lower: function lower(e) {\n      //并且让页码+1,调用获取数据的方法获取第二页数据\n      this.examParams.pageNum++;\n      //此处调用自己获取数据列表的方法\n      if (this.examParams.pageNum > this.totalPage) {\n        uni.$u.toast('已加载全部数据');\n        return;\n      }\n      this.getExamList();\n    },\n    scrollView: function scrollView(e) {\n      // console.log(e)\n    },\n    toCourses: function toCourses() {\n      uni.switchTab({\n        url: '/pages/tabBar/current/current'\n      });\n    }\n  }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9maXJzdFBhZ2UudnVlIl0sIm5hbWVzIjpbImNvbXBvbmVudHMiLCJ0YWJCYXIiLCJkYXRhIiwic3dpcGVyTGlzdCIsInRpdGxlTGlzdCIsImxhYmVsIiwidmFsdWUiLCJjbGFzc0xpc3QiLCJleGFtTGlzdCIsInRvdGFsUGFnZSIsInBhZ2UiLCJzdGF0dXNCYXJIZWlnaHQiLCJjbGFzc1BhcmFtcyIsInBhZ2VOdW0iLCJwYWdlU2l6ZSIsImV4YW1QYXJhbXMiLCJyb2xlIiwicmVhbG5hbWUiLCJvbkxvYWQiLCJvblNob3ciLCJtZXRob2RzIiwibG9naW5PdXQiLCJ1bmkiLCJ1cmwiLCJnZXRTd2lwZXIiLCJyZXMiLCJsaXN0IiwiZ2V0Q2xhc3MiLCJnZXRFeGFtTGlzdCIsImdldEltYWdlVXJsIiwidG9TdHVkeSIsInRvRXhhbSIsInVwcGVyIiwibG93ZXIiLCJzY3JvbGxWaWV3IiwidG9Db3Vyc2VzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUF5RUE7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFDQTtFQUNBQTtJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUMsYUFDQSx5RkFDQTtNQUNBQyxZQUNBO1FBQ0FDO1FBQ0FDO01BQ0EsRUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBQztRQUNBQztNQUNBO01BQ0FDO1FBQ0FGO1FBQ0FDO01BQ0E7TUFDQUU7TUFDQUM7SUFDQTtFQUVBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7RUFBQSxDQUVBO0VBQ0FDO0lBQ0FDO01BQ0FDO01BQ0FBO01BQ0FBO1FBQ0FDO01BQ0E7SUFDQTtJQUVBQztNQUFBO01BQUE7UUFBQTtRQUFBO1VBQUE7WUFBQTtjQUFBO2dCQUFBO2dCQUFBLE9BQ0E7Y0FBQTtnQkFBQUM7Z0JBQ0E7a0JBQ0FDO2tCQUNBO29CQUNBO3NCQUFBO29CQUFBO2tCQUNBO2dCQUNBO2tCQUNBSjtnQkFDQTtjQUFBO2NBQUE7Z0JBQUE7WUFBQTtVQUFBO1FBQUE7TUFBQTtJQUNBO0lBRUFLO01BQUE7TUFDQTtRQUNBO1VBQ0E7WUFDQTtVQUNBO1lBQ0E7VUFDQTtRQUNBO1VBQ0FMO1FBQ0E7TUFDQTtJQUNBO0lBQ0FNO01BQUE7TUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO1VBQ0E7WUFDQTtVQUNBO1VBQ0E7UUFDQTtVQUNBTjtRQUNBO01BQ0E7SUFDQTtJQUVBTztNQUNBO0lBQ0E7SUFFQUM7TUFDQVI7TUFDQUE7UUFDQUM7TUFDQTtJQUNBO0lBRUFRO01BQ0FUO01BQ0FBO1FBQ0FDO01BQ0E7SUFDQTtJQUVBUztNQUNBO0lBQUEsQ0FDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0FYO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQVk7TUFDQTtJQUFBLENBQ0E7SUFFQUM7TUFDQWI7UUFDQUM7TUFDQTtJQUNBO0VBRUE7QUFDQTtBQUFBIiwiZmlsZSI6IjI1My5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldz5cclxuXHRcdDwhLS0g6Ieq5a6a5LmJ5a+86Iiq5qCPIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJuYXZCYXJCb3ggZml4XCI+XHJcblx0XHRcdDwhLS0g54q25oCB5qCP5Y2g5L2NIC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInN0YXR1c0JhclwiIDpzdHlsZT1cInsgcGFkZGluZ1RvcDogc3RhdHVzQmFySGVpZ2h0ICsgJ3B4JyB9XCI+PC92aWV3PlxyXG5cdFx0XHQ8IS0tIOecn+ato+eahOWvvOiIquagj+WGheWuuSAtLT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJuYXZCYXJcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJhclRleHRcIj7pppbpobU8L3ZpZXc+XHJcbjwhLS1cdFx0XHRcdDx2aWV3ID4tLT5cclxuPCEtLVx0XHRcdFx0XHQ8dS1idXR0b24gdHlwZT1cInRleHRcIiBAY2xpY2s9XCJsb2dpbk91dFwiIHN0eWxlPVwiY29sb3I6ICMxODkwZmY7bWFyZ2luLXJpZ2h0OiA1cHg7d2lkdGg6IDY1cHg7XCI+6YCA5Ye6PC91LWJ1dHRvbj4tLT5cclxuPCEtLVx0XHRcdFx0PC92aWV3Pi0tPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcbiAgICA8dmlldyBzdHlsZT1cIndpZHRoOiAxMDAlO3BhZGRpbmc6IDAgMTVweDtib3gtc2l6aW5nOiBib3JkZXItYm94O21hcmdpbjogMjBweCAwXCI+XHJcbiAgICAgIDx1LXN3aXBlciA6bGlzdD1cInN3aXBlckxpc3RcIj48L3Utc3dpcGVyPlxyXG4gICAgPC92aWV3PlxyXG4gICAgPHZpZXcgY2xhc3M9XCJtLXAtMTVcIj5cclxuICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkXCIgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XHJcbiAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLXRcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10LWxcIj7miJHnmoTnur/kuIror77nqIs8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtdC1yXCIgQGNsaWNrPVwidG9Db3Vyc2VzXCI+5p+l55yL5YWo6YOoPC9zcGFuPlxyXG4gICAgICAgIDwvdmlldz5cclxuICAgICAgICA8dmlldyBjbGFzcz1cImNhcmQtY1wiPlxyXG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLWlcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBjbGFzc0xpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuICAgICAgICAgICAgPHUtaW1hZ2UgcmFkaXVzPVwiMTZweFwiIHdpZHRoPVwiMjAwcnB4XCIgaGVpZ2h0PVwiMjAwcnB4XCIgOnNob3ctbG9hZGluZz1cInRydWVcIiA6c3JjPVwiZ2V0SW1hZ2VVcmwoaXRlbS5jb3Vyc2UubG9nbylcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPlxyXG4gICAgICAgICAgICA8L3UtaW1hZ2U+XHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICA8dmlldyBjbGFzcz1cImNhcmQtaS10XCI+55uu5YmN5bey5a2m77yae3tpdGVtLnRvdGFsUHJvZ3Jlc3N9feWIhumSnzwvdmlldz4tLT5cclxuICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLWktclwiPlxyXG4gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiY2FyZC1pLXItdFwiPlxyXG4gICAgICAgICAgICAgICAgPHZpZXc+e3tpdGVtLnBoYXNlTmFtZSArICctJyArIGl0ZW0uY291cnNlLm5hbWV9fTwvdmlldz5cclxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM5OTk7Zm9udC1zaXplOiAxMnB4O2Rpc3BsYXk6IGZsZXg7YWxpZ24taXRlbXM6IGNlbnRlclwiPjx1LWljb24gbmFtZT1cImFjY291bnRcIiBjb2xvcj1cIiM5OTlcIiBzaXplPVwiMThcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDA7bWFyZ2luLXJpZ2h0OiAycHhcIj48L3UtaWNvbj57e2l0ZW0uY3JlYXRlTmFtZSArJygnKyBpdGVtLmNyZWF0ZVRpbWUgKycpJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgICA8dmlldyBjbGFzcz1cImNhcmQtaS1yLWJcIj5cclxuICAgICAgICAgICAgICAgIDx1LXRhZyBpY29uPVwiY2xvY2tcIiA6dGV4dD1cIml0ZW0uY291cnNlLnBlcmlvZCArICfliIbpkp8nXCIgdHlwZT1cInN1Y2Nlc3NcIiBzaXplPVwibWluaVwiIHNoYXBlPVwiY2lyY2xlXCIgcGxhaW4gcGxhaW5GaWxsPjwvdS10YWc+XHJcbiAgICAgICAgICAgICAgICA8dS1idXR0b24gY2xhc3M9XCJzdHVkeS1idXR0b25cIiB0eXBlPVwicHJpbWFyeVwiIHRleHQ9XCLlvIDlp4vlrabkuaBcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIEBjbGljaz1cInRvU3R1ZHkoaXRlbS5pZClcIj48L3UtYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgIDwvdmlldz5cclxuICAgICAgPC92aWV3PlxyXG4gICAgPC92aWV3PlxyXG4gICAgPHZpZXcgY2xhc3M9XCJtLXAtMTVcIj5cclxuICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkXCIgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XHJcbiAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLXRcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10LWxcIj7miJHnmoTogIPor5U8L3NwYW4+XHJcbiAgICAgICAgPC92aWV3PlxyXG4gICAgICAgIDx2aWV3IGNsYXNzPVwiY2FyZC1jIGNhcmQtZFwiPlxyXG4gICAgICAgICAgPHNjcm9sbC12aWV3IHNjcm9sbC15PVwidHJ1ZVwiIGNsYXNzPVwic2Nyb2xsLVlcIiBAc2Nyb2xsdG91cHBlcj1cInVwcGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBAc2Nyb2xsdG9sb3dlcj1cImxvd2VyXCIgbG93ZXItdGhyZXNob2xkPVwiMTUwXCIgQHNjcm9sbD1cInNjcm9sbFZpZXdcIiBzdHlsZT1cImhlaWdodDozNTBweFwiPlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cInBhcGVyLWNhcmRcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBleGFtTGlzdFwiIDprZXk9XCJpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwicGFwZXItY2FyZC10XCI+PHNwYW4gOmNsYXNzPVwiaXRlbS5jb21wbGV0ZWQgPT0gMT8nZ3JlZW4nOidyZWQnXCI+W3t7aXRlbS5jb21wbGV0ZWQgPT0gMT8n5bey5a6M5oiQJzon5pyq5a6M5oiQJ319XTwvc3Bhbj57e2l0ZW0uZXhhbVBhcGVyLm5hbWV9fTwvdmlldz5cclxuICAgICAgICAgICAgICA8dmlldyBzdHlsZT1cImNvbG9yOiAjOTk5O21hcmdpbi1ib3R0b206IDE1cHg7Zm9udC1zaXplOiAxMnB4XCI+e3tpdGVtLmV4YW1QYXBlci5jb2RlfX08L3ZpZXc+XHJcbiAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJwYXBlci1jYXJkLWJcIj5cclxuICAgICAgICAgICAgICAgIDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDthbGlnbi1pdGVtczogY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx1LXRhZyBzdHlsZT1cIm1hcmdpbi1yaWdodDogMjBycHhcIiA6dGV4dD1cIml0ZW0uZXhhbVBhcGVyLmNhdGVnb3J5TmFtZVwiIHNpemU9XCJtaW5pXCI+PC91LXRhZz5cclxuICAgICAgICAgICAgICAgICAgPHUtdGFnIDp0ZXh0PVwiaXRlbS5jcmVhdGVOYW1lXCIgcGxhaW4gcGxhaW5GaWxsIHNpemU9XCJtaW5pXCI+PC91LXRhZz5cclxuICAgICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgICAgIDx2aWV3PlxyXG4gICAgICAgICAgICAgICAgICA8dS1idXR0b24gdi1pZj1cIml0ZW0uY29tcGxldGVkID09IDBcIiBAY2xpY2s9XCJ0b0V4YW0oaXRlbSwxKVwiIGNsYXNzPVwiZXhhbS1idXR0b25cIiB0eXBlPVwicHJpbWFyeVwiIHRleHQ9XCLlvIDlp4vogIPor5VcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiPjwvdS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDx1LWJ1dHRvbiB2LWlmPVwiaXRlbS5jb21wbGV0ZWQgPT0gMVwiIEBjbGljaz1cInRvRXhhbShpdGVtLDIpXCIgY2xhc3M9XCJleGFtLWJ1dHRvblwiIHR5cGU9XCJwcmltYXJ5XCIgdGV4dD1cIuafpeeci1wiIHNoYXBlPVwiY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCI+PC91LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgIDwvc2Nyb2xsLXZpZXc+XHJcbiAgICAgICAgPC92aWV3PlxyXG4gICAgICA8L3ZpZXc+XHJcbiAgICA8L3ZpZXc+XHJcbiAgICA8dGFiQmFyIDpjdXJyZW50UGFnZVBhdGg9XCJwYWdlXCI+PC90YWJCYXI+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgdGFiQmFyIGZyb20gJy4uL3RhYkJhckluZGV4LnZ1ZSdcclxuXHRpbXBvcnQge2dldENsYXNzTGlzdCwgZ2V0RXhhbUxpc3QsIGdldFN3aXBlckxpc3R9IGZyb20gJy4uLy4uLy4uL2FwaS9pbmRleC5qcydcclxuICBpbXBvcnQgVlVFX0FQUF9CQVNFX1VSTCBmcm9tICdjb21tb24vY29uc3RhbnQuanMnXHJcbmltcG9ydCB7IFZhbHVlIH0gZnJvbSAnc2Fzcyc7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0Y29tcG9uZW50czp7XHJcblx0XHRcdHRhYkJhclxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcbiAgICAgICAgc3dpcGVyTGlzdDogW1xyXG4gICAgICAgICAgJy9zdGF0aWMvaG9tZS9zd2lwZXJQaWMucG5nJywnL3N0YXRpYy9ob21lL3N3aXBlclBpYy5wbmcnLCcvc3RhdGljL2hvbWUvc3dpcGVyUGljLnBuZydcclxuICAgICAgICBdLFxyXG5cdFx0XHRcdHRpdGxlTGlzdDpbXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdGxhYmVsOiAn6buY6K6k5o6S5bqPJyxcclxuXHRcdFx0XHRcdFx0dmFsdWU6IDEsXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XSxcclxuICAgICAgICBjbGFzc0xpc3Q6IFtdLFxyXG4gICAgICAgIGV4YW1MaXN0OiBbXSxcclxuICAgICAgICB0b3RhbFBhZ2U6IDAsXHJcblx0XHRcdFx0cGFnZTogJ3BhZ2VzL3RhYkJhci9maXJzdFBhZ2UvZmlyc3RQYWdlJyxcclxuXHRcdFx0XHRzdGF0dXNCYXJIZWlnaHQ6ICcnLFxyXG4gICAgICAgIGNsYXNzUGFyYW1zOntcclxuICAgICAgICAgIHBhZ2VOdW06IDEsXHJcbiAgICAgICAgICBwYWdlU2l6ZTogMyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGV4YW1QYXJhbXM6IHtcclxuICAgICAgICAgIHBhZ2VOdW06IDEsXHJcbiAgICAgICAgICBwYWdlU2l6ZTogMTAsXHJcbiAgICAgICAgfSxcclxuXHRcdFx0XHRyb2xlOiAnJyxcclxuXHRcdFx0XHRyZWFsbmFtZTonJ1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZCgpIHtcclxuXHRcdFx0Ly/ojrflj5bmiYvmnLrnirbmgIHmoI/pq5jluqZcclxuXHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQgPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVsnc3RhdHVzQmFySGVpZ2h0J107XHJcblx0XHRcdC8vIHVuaS5oaWRlVGFiQmFyKCk7XHJcbiAgICAgIHRoaXMuZXhhbUxpc3QgPSBbXVxyXG4gICAgICB0aGlzLmNsYXNzUGFyYW1zLnBhZ2VOdW0gPSAxXHJcbiAgICAgIHRoaXMuZXhhbVBhcmFtcy5wYWdlTnVtID0gMVxyXG4gICAgICB0aGlzLmdldFN3aXBlcigpXHJcbiAgICAgIHRoaXMuZ2V0Q2xhc3MoKVxyXG4gICAgICB0aGlzLmdldEV4YW1MaXN0KClcclxuXHRcdH0sXHJcblx0XHRvblNob3coKXtcclxuXHRcdFx0Ly8gdGhpcy5yb2xlID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdyb2xlTmFtZScpO1xyXG5cdFx0XHQvLyB0aGlzLnJlYWxuYW1lID0gdW5pLmdldFN0b3JhZ2VTeW5jKCd1c2VyJykucmVhbE5hbWVcclxuICAgICAgLy8gdGhpcy50YWJCYXJMaXN0cyA9IHVuaS5nZXRTdG9yYWdlU3luYygndGFiQmFyTGlzdCcpO1xyXG5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGxvZ2luT3V0KCkge1xyXG5cdFx0XHRcdHVuaS5jbGVhclN0b3JhZ2VTeW5jKCk7XHJcblx0XHRcdFx0dW5pLmNsZWFyU3RvcmFnZSgpO1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogJy9wYWdlcy9pbmRleC9pbmRleCdcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cclxuICAgICAgYXN5bmMgZ2V0U3dpcGVyKCl7XHJcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZ2V0U3dpcGVyTGlzdCgpXHJcbiAgICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcclxuICAgICAgICAgIGxldCBsaXN0ID0gcmVzLmRhdGEubGlzdCB8fCBbXVxyXG4gICAgICAgICAgaWYobGlzdC5sZW5ndGg+MCl7XHJcbiAgICAgICAgICAgIHRoaXMuc3dpcGVyTGlzdCA9IGxpc3QubWFwKGk9PlZVRV9BUFBfQkFTRV9VUkwgKyAnL2FwaS8nICsgaS5pbWdVcmwpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB1bmkuJHUudG9hc3QocmVzLm1lc3NhZ2UpXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG5cclxuICAgICAgZ2V0Q2xhc3MoKXtcclxuICAgICAgICBnZXRDbGFzc0xpc3QodGhpcy5jbGFzc1BhcmFtcykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0aWYocmVzLmNvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdGlmKHJlcy5kYXRhICYmIHJlcy5kYXRhLmxpc3QubGVuZ3RoID4gMCl7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5jbGFzc0xpc3QgPSByZXMuZGF0YS5saXN0XHJcblx0XHRcdFx0XHRcdH1lbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmNsYXNzTGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0XHR1bmkuJHUudG9hc3QocmVzLm1lc3NhZ2UpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuICAgICAgZ2V0RXhhbUxpc3QoKXtcclxuICAgICAgICBnZXRFeGFtTGlzdCh0aGlzLmV4YW1QYXJhbXMpLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgIGlmKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICBsZXQgbGlzdCA9IHJlcy5kYXRhLmxpc3Q/cmVzLmRhdGEubGlzdDogW107XHJcbiAgICAgICAgICAgIGlmIChyZXMucGFnZU51bSAhPSAxKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5leGFtTGlzdCA9IHRoaXMuZXhhbUxpc3QuY29uY2F0KGxpc3QpXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5leGFtTGlzdCA9IHJlcy5kYXRhLmxpc3RcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRvdGFsUGFnZSA9IHJlcy5kYXRhLnRvdGFsUGFnZVxyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9LFxyXG5cclxuICAgICAgZ2V0SW1hZ2VVcmwobG9nbykge1xyXG4gICAgICAgIHJldHVybiBsb2dvID8gVlVFX0FQUF9CQVNFX1VSTCAgKyAnL2FwaS8nICsgbG9nbyA6ICcvc3RhdGljL2RlZmF1bHRDb3Zlci5qcGcnO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgdG9TdHVkeShpZCkge1xyXG4gICAgICAgIHVuaS5zZXRTdG9yYWdlU3luYyhcInByZXZQYWdlXCIsICcvcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9maXJzdFBhZ2UnKTtcclxuICAgICAgICB1bmkubmF2aWdhdGVUbyh7XHJcbiAgICAgICAgICB1cmw6IGAvcGFnZXMvdGFiQmFyL2N1cnJlbnQvZGV0YWlsP3BoYXNlX2lkPWAgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoaWQpKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICB0b0V4YW0oaXRlbSx0eXBlKXtcclxuICAgICAgICB1bmkuc2V0U3RvcmFnZVN5bmMoXCJwcmV2UGFnZVwiLCAnL3BhZ2VzL3RhYkJhci9maXJzdFBhZ2UvZmlyc3RQYWdlJyk7XHJcbiAgICAgICAgdW5pLm5hdmlnYXRlVG8oe1xyXG4gICAgICAgICAgdXJsOiBgL3BhZ2VzL3RhYkJhci9maXJzdFBhZ2UvZXhhbT9iYW5rPWAgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoaXRlbSkpICsgYCZ0eXBlPWAgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkodHlwZSkpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSxcclxuXHJcbiAgICAgIHVwcGVyKGUpIHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhlKVxyXG4gICAgICB9LFxyXG4gICAgICBsb3dlcihlKSB7XHJcbiAgICAgICAgLy/lubbkuJTorqnpobXnoIErMSzosIPnlKjojrflj5bmlbDmja7nmoTmlrnms5Xojrflj5bnrKzkuozpobXmlbDmja5cclxuICAgICAgICB0aGlzLmV4YW1QYXJhbXMucGFnZU51bSsrXHJcbiAgICAgICAgLy/mraTlpITosIPnlKjoh6rlt7Hojrflj5bmlbDmja7liJfooajnmoTmlrnms5VcclxuICAgICAgICBpZiAodGhpcy5leGFtUGFyYW1zLnBhZ2VOdW0gPiB0aGlzLnRvdGFsUGFnZSl7XHJcbiAgICAgICAgICB1bmkuJHUudG9hc3QoJ+W3suWKoOi9veWFqOmDqOaVsOaNricpXHJcbiAgICAgICAgICByZXR1cm5cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRFeGFtTGlzdCgpXHJcbiAgICAgIH0sXHJcbiAgICAgIHNjcm9sbFZpZXcoZSkge1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGUpXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICB0b0NvdXJzZXMoKXtcclxuICAgICAgICB1bmkuc3dpdGNoVGFiKHtcclxuICAgICAgICAgIHVybDogJy9wYWdlcy90YWJCYXIvY3VycmVudC9jdXJyZW50J1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH0sXHJcblxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCI+XHJcbi5uYXZCYXJCb3ggLm5hdkJhciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjojZmZmO1xyXG5cdCAgaGVpZ2h0OiA1MHB4O1xyXG5cdCAgZGlzcGxheTogZmxleDtcclxuXHQgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0ICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHQgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsMCwwLDAuMDUpO1xyXG5cdFxyXG59XHJcbi5maXh7XHJcblx0cG9zaXRpb246IHN0aWNreTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcbi5iYXJUZXh0e1xyXG4gIC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmbGV4OiAyO1xyXG4gIG1hcmdpbi1sZWZ0OiA0NSU7XHJcbn1cclxuLnN0YXR1c0JhcntcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JleTtcclxufVxyXG4ubS1wLTE1e1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgcGFkZGluZzogMCAxNXB4O1xyXG59XHJcbi5jYXJke1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDQwcnB4O1xyXG5cclxuICAuY2FyZC10e1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDZycHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHJweDtcclxuXHJcbiAgICAuY2FyZC10LWx7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzJycHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG4gICAgLmNhcmQtdC1ye1xyXG4gICAgICBjb2xvcjogIzk5OTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNhcmQtY3tcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuXHJcbiAgICAuY2FyZC1pe1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgICAmOmxhc3Qtb2YtdHlwZXtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgLmNhcmQtaS10e1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMjUwcnB4O1xyXG4gICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBycHg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC40KTtcclxuICAgICAgfVxyXG4gICAgICAuY2FyZC1pLXJ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAyMDBycHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgLmNhcmQtaS1yLXR7XHJcbiAgICAgICAgICB2aWV3e1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMycnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHJweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiUGluZ0ZhbmcgU0NcIjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jYXJkLWktci1ie1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgICAuc3R1ZHktYnV0dG9ue1xyXG4gICAgICAgICAgICB3aWR0aDogMjQwcnB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggMTJweCByZ2JhKDUxLDEzMywyMTcsLjMpLCAtMnB4IC0ycHggNnB4ICNmZmY7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuY2FyZC1ke1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICAucGFwZXItY2FyZHtcclxuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG5cclxuICAgICAgJjpsYXN0LW9mLXR5cGV7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnBhcGVyLWNhcmQtdHtcclxuICAgICAgICBmb250LXNpemU6IDMycnB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcnB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlBpbmdGYW5nIFNDXCI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4gICAgICAgIC5ncmVlbntcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgICAgICAgICBjb2xvcjogIzVhYzcyNVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVke1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyOHJweDtcclxuICAgICAgICAgIGNvbG9yOiAjZjU2YzZjXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAucGFwZXItY2FyZC1ie1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgIC5leGFtLWJ1dHRvbntcclxuICAgICAgICAgIHdpZHRoOiAyNDBycHg7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAzcHggM3B4IDEycHggcmdiYSg1MSwxMzMsMjE3LC4zKSwgLTJweCAtMnB4IDZweCAjZmZmO1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYmFkZ2Ugc3BhbntcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///253\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 15));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 23));\nvar _tabBarIndex = _interopRequireDefault(__webpack_require__(/*! ../tabBarIndex.vue */ 140));\nvar _index = __webpack_require__(/*! ../../../api/index.js */ 71);\nvar _constant = _interopRequireDefault(__webpack_require__(/*! common/constant.js */ 73));\nvar _sass = __webpack_require__(/*! sass */ 254);\nvar _wearhouse = __webpack_require__(/*! ../../../api/wearhouse */ 265);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {\n    tabBar: _tabBarIndex.default\n  },\n  data: function data() {\n    return {\n      swiperList: ['/static/home/swiperPic.png', '/static/home/swiperPic.png', '/static/home/swiperPic.png'],\n      titleList: [{\n        label: '默认排序',\n        value: 1\n      }],\n      classList: [],\n      examList: [],\n      totalPage: 0,\n      page: 'pages/tabBar/firstPage/firstPage',\n      statusBarHeight: '',\n      classParams: {\n        pageNum: 1,\n        pageSize: 3\n      },\n      examParams: {\n        pageNum: 1,\n        pageSize: 10\n      },\n      role: '',\n      realname: ''\n    };\n  },\n  onLoad: function onLoad() {\n    //获取手机状态栏高度\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    // uni.hideTabBar();\n    this.examList = [];\n    this.classParams.pageNum = 1;\n    this.examParams.pageNum = 1;\n    this.getSwiper();\n    this.getClass();\n    this.getExamList();\n  },\n  onShow: function onShow() {\n    // this.role = uni.getStorageSync('roleName');\n    // this.realname = uni.getStorageSync('user').realName\n    // this.tabBarLists = uni.getStorageSync('tabBarList');\n  },\n  methods: {\n    loginOut: function loginOut() {\n      uni.clearStorageSync();\n      uni.clearStorage();\n      uni.navigateTo({\n        url: '/pages/index/index'\n      });\n    },\n    getSwiper: function getSwiper() {\n      var _this = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n        var res, list;\n        return _regenerator.default.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return (0, _index.getSwiperList)();\n              case 2:\n                res = _context.sent;\n                if (res.code == 200) {\n                  list = res.data.list || [];\n                  if (list.length > 0) {\n                    _this.swiperList = list.map(function (i) {\n                      return _constant.default + '/api/' + i.imgUrl;\n                    });\n                  }\n                } else {\n                  uni.$u.toast(res.message);\n                }\n              case 4:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    getClass: function getClass() {\n      var _this2 = this;\n      (0, _index.getClassList)(this.classParams).then(function (res) {\n        if (res.code == 200) {\n          if (res.data && res.data.list.length > 0) {\n            _this2.classList = res.data.list;\n          } else {\n            _this2.classList = [];\n          }\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    getExamList: function getExamList() {\n      var _this3 = this;\n      (0, _index.getExamList)(this.examParams).then(function (res) {\n        if (res.code == 200) {\n          var list = res.data.list ? res.data.list : [];\n          if (res.pageNum != 1) {\n            _this3.examList = _this3.examList.concat(list);\n          } else {\n            _this3.examList = res.data.list;\n          }\n          _this3.totalPage = res.data.totalPage;\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    getImageUrl: function getImageUrl(logo) {\n      return logo ? _constant.default + '/api/' + logo : '/static/defaultCover.jpg';\n    },\n    toStudy: function toStudy(id) {\n      uni.setStorageSync(\"prevPage\", '/pages/tabBar/firstPage/firstPage');\n      uni.navigateTo({\n        url: \"/pages/tabBar/current/detail?phase_id=\" + encodeURIComponent(JSON.stringify(id))\n      });\n    },\n    toExam: function toExam(item, type) {\n      if (type == 1 && !item.startTime) {\n        uni.showModal({\n          title: '提示',\n          content: '该考试限制时长为:' + item.examPaper.limitTime + '分钟,进入后开始计时,计时结束自动交卷,是否继续?',\n          success: function success(res) {\n            if (res.confirm) {\n              uni.setStorageSync(\"prevPage\", '/pages/tabBar/firstPage/firstPage');\n              uni.navigateTo({\n                url: \"/pages/tabBar/firstPage/exam?bank=\" + encodeURIComponent(JSON.stringify(item)) + \"&type=\" + encodeURIComponent(JSON.stringify(type))\n              });\n            } else if (res.cancel) {\n              __f__(\"log\", '用户点击取消', \" at pages/tabBar/firstPage/firstPage.vue:203\");\n            }\n          }\n        });\n      } else {\n        uni.setStorageSync(\"prevPage\", '/pages/tabBar/firstPage/firstPage');\n        uni.navigateTo({\n          url: \"/pages/tabBar/firstPage/exam?bank=\" + encodeURIComponent(JSON.stringify(item)) + \"&type=\" + encodeURIComponent(JSON.stringify(type))\n        });\n      }\n    },\n    secondsToHms: function secondsToHms(seconds) {\n      seconds = Number(seconds);\n      var h = Math.floor(seconds / 3600);\n      var m = Math.floor(seconds % 3600 / 60);\n      var s = Math.floor(seconds % 3600 % 60);\n      var hDisplay = h > 0 ? String(h).padStart(2, '0') : '00';\n      var mDisplay = m > 0 ? String(m).padStart(2, '0') : '00';\n      var sDisplay = s > 0 ? String(s).padStart(2, '0') : '00';\n      return \"\".concat(hDisplay, \":\").concat(mDisplay, \":\").concat(sDisplay);\n    },\n    upper: function upper(e) {\n      // console.log(e)\n    },\n    lower: function lower(e) {\n      //并且让页码+1,调用获取数据的方法获取第二页数据\n      this.examParams.pageNum++;\n      //此处调用自己获取数据列表的方法\n      if (this.examParams.pageNum > this.totalPage) {\n        uni.$u.toast('已加载全部数据');\n        return;\n      }\n      this.getExamList();\n    },\n    scrollView: function scrollView(e) {\n      // console.log(e)\n    },\n    toCourses: function toCourses() {\n      uni.switchTab({\n        url: '/pages/tabBar/current/current'\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 */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9maXJzdFBhZ2UudnVlIl0sIm5hbWVzIjpbImNvbXBvbmVudHMiLCJ0YWJCYXIiLCJkYXRhIiwic3dpcGVyTGlzdCIsInRpdGxlTGlzdCIsImxhYmVsIiwidmFsdWUiLCJjbGFzc0xpc3QiLCJleGFtTGlzdCIsInRvdGFsUGFnZSIsInBhZ2UiLCJzdGF0dXNCYXJIZWlnaHQiLCJjbGFzc1BhcmFtcyIsInBhZ2VOdW0iLCJwYWdlU2l6ZSIsImV4YW1QYXJhbXMiLCJyb2xlIiwicmVhbG5hbWUiLCJvbkxvYWQiLCJvblNob3ciLCJtZXRob2RzIiwibG9naW5PdXQiLCJ1bmkiLCJ1cmwiLCJnZXRTd2lwZXIiLCJyZXMiLCJsaXN0IiwiZ2V0Q2xhc3MiLCJnZXRFeGFtTGlzdCIsImdldEltYWdlVXJsIiwidG9TdHVkeSIsInRvRXhhbSIsInRpdGxlIiwiY29udGVudCIsInN1Y2Nlc3MiLCJzZWNvbmRzVG9IbXMiLCJzZWNvbmRzIiwidXBwZXIiLCJsb3dlciIsInNjcm9sbFZpZXciLCJ0b0NvdXJzZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQTBFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQUNBO0VBQ0FBO0lBQ0FDO0VBQ0E7RUFDQUM7SUFDQTtNQUNBQyxhQUNBLHlGQUNBO01BQ0FDLFlBQ0E7UUFDQUM7UUFDQUM7TUFDQSxFQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQUM7UUFDQUY7UUFDQUM7TUFDQTtNQUNBRTtNQUNBQztJQUNBO0VBRUE7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtFQUFBLENBRUE7RUFDQUM7SUFDQUM7TUFDQUM7TUFDQUE7TUFDQUE7UUFDQUM7TUFDQTtJQUNBO0lBRUFDO01BQUE7TUFBQTtRQUFBO1FBQUE7VUFBQTtZQUFBO2NBQUE7Z0JBQUE7Z0JBQUEsT0FDQTtjQUFBO2dCQUFBQztnQkFDQTtrQkFDQUM7a0JBQ0E7b0JBQ0E7c0JBQUE7b0JBQUE7a0JBQ0E7Z0JBQ0E7a0JBQ0FKO2dCQUNBO2NBQUE7Y0FBQTtnQkFBQTtZQUFBO1VBQUE7UUFBQTtNQUFBO0lBQ0E7SUFFQUs7TUFBQTtNQUNBO1FBQ0E7VUFDQTtZQUNBO1VBQ0E7WUFDQTtVQUNBO1FBQ0E7VUFDQUw7UUFDQTtNQUNBO0lBQ0E7SUFDQU07TUFBQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7VUFDQTtZQUNBO1VBQ0E7VUFDQTtRQUNBO1VBQ0FOO1FBQ0E7TUFDQTtJQUNBO0lBRUFPO01BQ0E7SUFDQTtJQUVBQztNQUNBUjtNQUNBQTtRQUNBQztNQUNBO0lBQ0E7SUFFQVE7TUFDQTtRQUNBVDtVQUNBVTtVQUNBQztVQUNBQztZQUNBO2NBQ0FaO2NBQ0FBO2dCQUNBQztjQUNBO1lBQ0E7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0FEO1FBQ0FBO1VBQ0FDO1FBQ0E7TUFDQTtJQUNBO0lBRUFZO01BQ0FDO01BQ0E7TUFDQTtNQUNBO01BRUE7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUVBQztNQUNBO0lBQUEsQ0FDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0FoQjtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FpQjtNQUNBO0lBQUEsQ0FDQTtJQUVBQztNQUNBbEI7UUFDQUM7TUFDQTtJQUNBO0VBRUE7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjI1My5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldz5cclxuXHRcdDwhLS0g6Ieq5a6a5LmJ5a+86Iiq5qCPIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJuYXZCYXJCb3ggZml4XCI+XHJcblx0XHRcdDwhLS0g54q25oCB5qCP5Y2g5L2NIC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInN0YXR1c0JhclwiIDpzdHlsZT1cInsgcGFkZGluZ1RvcDogc3RhdHVzQmFySGVpZ2h0ICsgJ3B4JyB9XCI+PC92aWV3PlxyXG5cdFx0XHQ8IS0tIOecn+ato+eahOWvvOiIquagj+WGheWuuSAtLT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJuYXZCYXJcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJhclRleHRcIj7pppbpobU8L3ZpZXc+XHJcbjwhLS1cdFx0XHRcdDx2aWV3ID4tLT5cclxuPCEtLVx0XHRcdFx0XHQ8dS1idXR0b24gdHlwZT1cInRleHRcIiBAY2xpY2s9XCJsb2dpbk91dFwiIHN0eWxlPVwiY29sb3I6ICMxODkwZmY7bWFyZ2luLXJpZ2h0OiA1cHg7d2lkdGg6IDY1cHg7XCI+6YCA5Ye6PC91LWJ1dHRvbj4tLT5cclxuPCEtLVx0XHRcdFx0PC92aWV3Pi0tPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcbiAgICA8dmlldyBzdHlsZT1cIndpZHRoOiAxMDAlO3BhZGRpbmc6IDAgMTVweDtib3gtc2l6aW5nOiBib3JkZXItYm94O21hcmdpbjogMjBweCAwXCI+XHJcbiAgICAgIDx1LXN3aXBlciA6bGlzdD1cInN3aXBlckxpc3RcIiBpbmRpY2F0b3JNb2RlPVwiZG90XCIgY2lyY3VsYXIgaGVpZ2h0PVwiMTYwXCIgaW5kaWNhdG9yIHByZXZpb3VzTWFyZ2luPVwiMzBcIiBuZXh0TWFyZ2luPVwiMzBcIj48L3Utc3dpcGVyPlxyXG4gICAgPC92aWV3PlxyXG4gICAgPHZpZXcgY2xhc3M9XCJtLXAtMTVcIj5cclxuICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkXCIgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XHJcbiAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLXRcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10LWxcIj7miJHnmoTnur/kuIror77nqIs8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtdC1yXCIgQGNsaWNrPVwidG9Db3Vyc2VzXCI+5p+l55yL5YWo6YOoPC9zcGFuPlxyXG4gICAgICAgIDwvdmlldz5cclxuICAgICAgICA8dmlldyBjbGFzcz1cImNhcmQtY1wiPlxyXG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLWlcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBjbGFzc0xpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuICAgICAgICAgICAgPHUtaW1hZ2UgcmFkaXVzPVwiMTZweFwiIHdpZHRoPVwiMjAwcnB4XCIgaGVpZ2h0PVwiMjAwcnB4XCIgOnNob3ctbG9hZGluZz1cInRydWVcIiA6c3JjPVwiZ2V0SW1hZ2VVcmwoaXRlbS5jb3Vyc2UubG9nbylcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPlxyXG4gICAgICAgICAgICA8L3UtaW1hZ2U+XHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICA8dmlldyBjbGFzcz1cImNhcmQtaS10XCI+55uu5YmN5bey5a2m77yae3tpdGVtLnRvdGFsUHJvZ3Jlc3N9feWIhumSnzwvdmlldz4tLT5cclxuICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLWktclwiPlxyXG4gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiY2FyZC1pLXItdFwiPlxyXG4gICAgICAgICAgICAgICAgPHZpZXc+e3tpdGVtLnBoYXNlTmFtZSArICctJyArIGl0ZW0uY291cnNlLm5hbWV9fTwvdmlldz5cclxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM5OTk7Zm9udC1zaXplOiAxMnB4O2Rpc3BsYXk6IGZsZXg7YWxpZ24taXRlbXM6IGNlbnRlclwiPjx1LWljb24gbmFtZT1cImFjY291bnRcIiBjb2xvcj1cIiM5OTlcIiBzaXplPVwiMThcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDA7bWFyZ2luLXJpZ2h0OiAycHhcIj48L3UtaWNvbj57e2l0ZW0uY3JlYXRlTmFtZSArJygnKyBpdGVtLmNyZWF0ZVRpbWUgKycpJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgICA8dmlldyBjbGFzcz1cImNhcmQtaS1yLWJcIj5cclxuICAgICAgICAgICAgICAgIDx1LXRhZyBpY29uPVwiY2xvY2tcIiA6dGV4dD1cInNlY29uZHNUb0htcyhpdGVtLmNvdXJzZS5wZXJpb2QpXCIgdHlwZT1cInN1Y2Nlc3NcIiBzaXplPVwibWluaVwiIHNoYXBlPVwiY2lyY2xlXCIgcGxhaW4gcGxhaW5GaWxsPjwvdS10YWc+XHJcbiAgICAgICAgICAgICAgICA8dS1idXR0b24gY2xhc3M9XCJzdHVkeS1idXR0b25cIiB0eXBlPVwicHJpbWFyeVwiIHRleHQ9XCLlvIDlp4vlrabkuaBcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIEBjbGljaz1cInRvU3R1ZHkoaXRlbS5pZClcIj48L3UtYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgIDwvdmlldz5cclxuICAgICAgPC92aWV3PlxyXG4gICAgPC92aWV3PlxyXG4gICAgPHZpZXcgY2xhc3M9XCJtLXAtMTVcIj5cclxuICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkXCIgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XHJcbiAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLXRcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10LWxcIj7miJHnmoTogIPor5U8L3NwYW4+XHJcbiAgICAgICAgPC92aWV3PlxyXG4gICAgICAgIDx2aWV3IGNsYXNzPVwiY2FyZC1jIGNhcmQtZFwiPlxyXG4gICAgICAgICAgPHNjcm9sbC12aWV3IHNjcm9sbC15PVwidHJ1ZVwiIGNsYXNzPVwic2Nyb2xsLVlcIiBAc2Nyb2xsdG91cHBlcj1cInVwcGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBAc2Nyb2xsdG9sb3dlcj1cImxvd2VyXCIgbG93ZXItdGhyZXNob2xkPVwiMTUwXCIgQHNjcm9sbD1cInNjcm9sbFZpZXdcIiBzdHlsZT1cImhlaWdodDozNTBweFwiPlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cInBhcGVyLWNhcmRcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBleGFtTGlzdFwiIDprZXk9XCJpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwicGFwZXItY2FyZC10XCI+PHNwYW4gOmNsYXNzPVwiaXRlbS5jb21wbGV0ZWQgPT0gMT8nZ3JlZW4nOidyZWQnXCI+W3t7aXRlbS5jb21wbGV0ZWQgPT0gMT8n5bey5a6M5oiQJzon5pyq5a6M5oiQJ319XTwvc3Bhbj57e2l0ZW0uZXhhbVBhcGVyLm5hbWV9fTwvdmlldz5cclxuICAgICAgICAgICAgICA8dS10YWcgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDIwcnB4O2Rpc3BsYXk6IGlubGluZS1ibG9ja1wiIDp0ZXh0PVwiaXRlbS5leGFtUGFwZXIuY2F0ZWdvcnlOYW1lXCIgc2l6ZT1cIm1pbmlcIj48L3UtdGFnPlxyXG4gICAgICAgICAgICAgIDx1LXRhZyBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1ibG9ja1wiIDp0ZXh0PVwiJ+aXtumVv++8micgKyBpdGVtLmV4YW1QYXBlci5saW1pdFRpbWUgKyAn5YiG6ZKfJ1wiIHBsYWluIHBsYWluRmlsbCBzaXplPVwibWluaVwiPjwvdS10YWc+XHJcbiAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJwYXBlci1jYXJkLWJcIj5cclxuICAgICAgICAgICAgICAgIDx2aWV3IHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O21hcmdpbi10b3A6IDEwcHg7Y29sb3I6ICM5OTlcIj5cclxuICAgICAgICAgICAgICAgICAgPHZpZXc+5Yib5bu65Lq677yae3tpdGVtLmNyZWF0ZU5hbWV9fTwvdmlldz5cclxuICAgICAgICAgICAgICAgICAgPHZpZXc+5oiq5q2i5pel5pyf77yae3tpdGVtLmV4YW1QYXBlci5kZWFkbGluZS5zdWJzdHJpbmcoMCwxMCl9fTwvdmlldz5cclxuICAgICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgICAgIDx2aWV3PlxyXG4gICAgICAgICAgICAgICAgICA8dS1idXR0b24gdi1pZj1cIml0ZW0uY29tcGxldGVkID09IDBcIiBAY2xpY2s9XCJ0b0V4YW0oaXRlbSwxKVwiIGNsYXNzPVwiZXhhbS1idXR0b25cIiB0eXBlPVwicHJpbWFyeVwiIHRleHQ9XCLlvIDlp4vogIPor5VcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiPjwvdS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDx1LWJ1dHRvbiB2LWlmPVwiaXRlbS5jb21wbGV0ZWQgPT0gMVwiIEBjbGljaz1cInRvRXhhbShpdGVtLDIpXCIgY2xhc3M9XCJleGFtLWJ1dHRvblwiIHR5cGU9XCJwcmltYXJ5XCIgdGV4dD1cIuafpeeci1wiIHNoYXBlPVwiY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCI+PC91LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgIDwvc2Nyb2xsLXZpZXc+XHJcbiAgICAgICAgPC92aWV3PlxyXG4gICAgICA8L3ZpZXc+XHJcbiAgICA8L3ZpZXc+XHJcbiAgICA8dGFiQmFyIDpjdXJyZW50UGFnZVBhdGg9XCJwYWdlXCI+PC90YWJCYXI+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgdGFiQmFyIGZyb20gJy4uL3RhYkJhckluZGV4LnZ1ZSdcclxuXHRpbXBvcnQge2dldENsYXNzTGlzdCwgZ2V0RXhhbUxpc3QsIGdldFN3aXBlckxpc3R9IGZyb20gJy4uLy4uLy4uL2FwaS9pbmRleC5qcydcclxuICBpbXBvcnQgVlVFX0FQUF9CQVNFX1VSTCBmcm9tICdjb21tb24vY29uc3RhbnQuanMnXHJcbmltcG9ydCB7IFZhbHVlIH0gZnJvbSAnc2Fzcyc7XHJcbiAgaW1wb3J0IHtwb3N0RW5kRXhhbX0gZnJvbSBcIi4uLy4uLy4uL2FwaS93ZWFyaG91c2VcIjtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRjb21wb25lbnRzOntcclxuXHRcdFx0dGFiQmFyXHJcblx0XHR9LFxyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuICAgICAgICBzd2lwZXJMaXN0OiBbXHJcbiAgICAgICAgICAnL3N0YXRpYy9ob21lL3N3aXBlclBpYy5wbmcnLCcvc3RhdGljL2hvbWUvc3dpcGVyUGljLnBuZycsJy9zdGF0aWMvaG9tZS9zd2lwZXJQaWMucG5nJ1xyXG4gICAgICAgIF0sXHJcblx0XHRcdFx0dGl0bGVMaXN0OltcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0bGFiZWw6ICfpu5jorqTmjpLluo8nLFxyXG5cdFx0XHRcdFx0XHR2YWx1ZTogMSxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRdLFxyXG4gICAgICAgIGNsYXNzTGlzdDogW10sXHJcbiAgICAgICAgZXhhbUxpc3Q6IFtdLFxyXG4gICAgICAgIHRvdGFsUGFnZTogMCxcclxuXHRcdFx0XHRwYWdlOiAncGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9maXJzdFBhZ2UnLFxyXG5cdFx0XHRcdHN0YXR1c0JhckhlaWdodDogJycsXHJcbiAgICAgICAgY2xhc3NQYXJhbXM6e1xyXG4gICAgICAgICAgcGFnZU51bTogMSxcclxuICAgICAgICAgIHBhZ2VTaXplOiAzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXhhbVBhcmFtczoge1xyXG4gICAgICAgICAgcGFnZU51bTogMSxcclxuICAgICAgICAgIHBhZ2VTaXplOiAxMCxcclxuICAgICAgICB9LFxyXG5cdFx0XHRcdHJvbGU6ICcnLFxyXG5cdFx0XHRcdHJlYWxuYW1lOicnXHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cdFx0XHQvL+iOt+WPluaJi+acuueKtuaAgeagj+mrmOW6plxyXG5cdFx0XHR0aGlzLnN0YXR1c0JhckhlaWdodCA9IHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpWydzdGF0dXNCYXJIZWlnaHQnXTtcclxuXHRcdFx0Ly8gdW5pLmhpZGVUYWJCYXIoKTtcclxuICAgICAgdGhpcy5leGFtTGlzdCA9IFtdXHJcbiAgICAgIHRoaXMuY2xhc3NQYXJhbXMucGFnZU51bSA9IDFcclxuICAgICAgdGhpcy5leGFtUGFyYW1zLnBhZ2VOdW0gPSAxXHJcbiAgICAgIHRoaXMuZ2V0U3dpcGVyKClcclxuICAgICAgdGhpcy5nZXRDbGFzcygpXHJcbiAgICAgIHRoaXMuZ2V0RXhhbUxpc3QoKVxyXG5cdFx0fSxcclxuXHRcdG9uU2hvdygpe1xyXG5cdFx0XHQvLyB0aGlzLnJvbGUgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3JvbGVOYW1lJyk7XHJcblx0XHRcdC8vIHRoaXMucmVhbG5hbWUgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3VzZXInKS5yZWFsTmFtZVxyXG4gICAgICAvLyB0aGlzLnRhYkJhckxpc3RzID0gdW5pLmdldFN0b3JhZ2VTeW5jKCd0YWJCYXJMaXN0Jyk7XHJcblxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0bG9naW5PdXQoKSB7XHJcblx0XHRcdFx0dW5pLmNsZWFyU3RvcmFnZVN5bmMoKTtcclxuXHRcdFx0XHR1bmkuY2xlYXJTdG9yYWdlKCk7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL2luZGV4L2luZGV4J1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblxyXG4gICAgICBhc3luYyBnZXRTd2lwZXIoKXtcclxuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBnZXRTd2lwZXJMaXN0KClcclxuICAgICAgICBpZihyZXMuY29kZSA9PSAyMDApe1xyXG4gICAgICAgICAgbGV0IGxpc3QgPSByZXMuZGF0YS5saXN0IHx8IFtdXHJcbiAgICAgICAgICBpZihsaXN0Lmxlbmd0aD4wKXtcclxuICAgICAgICAgICAgdGhpcy5zd2lwZXJMaXN0ID0gbGlzdC5tYXAoaT0+VlVFX0FQUF9CQVNFX1VSTCArICcvYXBpLycgKyBpLmltZ1VybClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBnZXRDbGFzcygpe1xyXG4gICAgICAgIGdldENsYXNzTGlzdCh0aGlzLmNsYXNzUGFyYW1zKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRpZihyZXMuY29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0aWYocmVzLmRhdGEgJiYgcmVzLmRhdGEubGlzdC5sZW5ndGggPiAwKXtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmNsYXNzTGlzdCA9IHJlcy5kYXRhLmxpc3RcclxuXHRcdFx0XHRcdFx0fWVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2xhc3NMaXN0ID0gW11cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG4gICAgICBnZXRFeGFtTGlzdCgpe1xyXG4gICAgICAgIGdldEV4YW1MaXN0KHRoaXMuZXhhbVBhcmFtcykudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIGxldCBsaXN0ID0gcmVzLmRhdGEubGlzdD9yZXMuZGF0YS5saXN0OiBbXTtcclxuICAgICAgICAgICAgaWYgKHJlcy5wYWdlTnVtICE9IDEpIHtcclxuICAgICAgICAgICAgICB0aGlzLmV4YW1MaXN0ID0gdGhpcy5leGFtTGlzdC5jb25jYXQobGlzdClcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmV4YW1MaXN0ID0gcmVzLmRhdGEubGlzdFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxQYWdlID0gcmVzLmRhdGEudG90YWxQYWdlXHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdW5pLiR1LnRvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBnZXRJbWFnZVVybChsb2dvKSB7XHJcbiAgICAgICAgcmV0dXJuIGxvZ28gPyBWVUVfQVBQX0JBU0VfVVJMICArICcvYXBpLycgKyBsb2dvIDogJy9zdGF0aWMvZGVmYXVsdENvdmVyLmpwZyc7XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICB0b1N0dWR5KGlkKSB7XHJcbiAgICAgICAgdW5pLnNldFN0b3JhZ2VTeW5jKFwicHJldlBhZ2VcIiwgJy9wYWdlcy90YWJCYXIvZmlyc3RQYWdlL2ZpcnN0UGFnZScpO1xyXG4gICAgICAgIHVuaS5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICAgIHVybDogYC9wYWdlcy90YWJCYXIvY3VycmVudC9kZXRhaWw/cGhhc2VfaWQ9YCArIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpZCkpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSxcclxuXHJcbiAgICAgIHRvRXhhbShpdGVtLHR5cGUpe1xyXG4gICAgICAgIGlmKHR5cGUgPT0gMSAmJiAhaXRlbS5zdGFydFRpbWUpe1xyXG4gICAgICAgICAgdW5pLnNob3dNb2RhbCh7XHJcbiAgICAgICAgICAgIHRpdGxlOiAn5o+Q56S6JyxcclxuICAgICAgICAgICAgY29udGVudDogJ+ivpeiAg+ivlemZkOWItuaXtumVv+S4uu+8micgKyBpdGVtLmV4YW1QYXBlci5saW1pdFRpbWUgKyAn5YiG6ZKf77yM6L+b5YWl5ZCO5byA5aeL6K6h5pe277yM6K6h5pe257uT5p2f6Ieq5Yqo5Lqk5Y2377yM5piv5ZCm57un57ut77yfJyxcclxuICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgICAgICAgIGlmIChyZXMuY29uZmlybSkge1xyXG4gICAgICAgICAgICAgICAgdW5pLnNldFN0b3JhZ2VTeW5jKFwicHJldlBhZ2VcIiwgJy9wYWdlcy90YWJCYXIvZmlyc3RQYWdlL2ZpcnN0UGFnZScpO1xyXG4gICAgICAgICAgICAgICAgdW5pLm5hdmlnYXRlVG8oe1xyXG4gICAgICAgICAgICAgICAgICB1cmw6IGAvcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9leGFtP2Jhbms9YCArIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpdGVtKSkgKyBgJnR5cGU9YCArIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh0eXBlKSlcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXMuY2FuY2VsKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn55So5oi354K55Ye75Y+W5raIJyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdW5pLnNldFN0b3JhZ2VTeW5jKFwicHJldlBhZ2VcIiwgJy9wYWdlcy90YWJCYXIvZmlyc3RQYWdlL2ZpcnN0UGFnZScpO1xyXG4gICAgICAgICAgdW5pLm5hdmlnYXRlVG8oe1xyXG4gICAgICAgICAgICB1cmw6IGAvcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9leGFtP2Jhbms9YCArIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpdGVtKSkgKyBgJnR5cGU9YCArIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh0eXBlKSlcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG5cclxuICAgICAgc2Vjb25kc1RvSG1zKHNlY29uZHMpIHtcclxuICAgICAgICBzZWNvbmRzID0gTnVtYmVyKHNlY29uZHMpO1xyXG4gICAgICAgIGNvbnN0IGggPSBNYXRoLmZsb29yKHNlY29uZHMgLyAzNjAwKTtcclxuICAgICAgICBjb25zdCBtID0gTWF0aC5mbG9vcihzZWNvbmRzICUgMzYwMCAvIDYwKTtcclxuICAgICAgICBjb25zdCBzID0gTWF0aC5mbG9vcihzZWNvbmRzICUgMzYwMCAlIDYwKTtcclxuXHJcbiAgICAgICAgY29uc3QgaERpc3BsYXkgPSBoID4gMCA/IFN0cmluZyhoKS5wYWRTdGFydCgyLCAnMCcpIDogJzAwJztcclxuICAgICAgICBjb25zdCBtRGlzcGxheSA9IG0gPiAwID8gU3RyaW5nKG0pLnBhZFN0YXJ0KDIsICcwJykgOiAnMDAnO1xyXG4gICAgICAgIGNvbnN0IHNEaXNwbGF5ID0gcyA+IDAgPyBTdHJpbmcocykucGFkU3RhcnQoMiwgJzAnKSA6ICcwMCc7XHJcbiAgICAgICAgcmV0dXJuIGAke2hEaXNwbGF5fToke21EaXNwbGF5fToke3NEaXNwbGF5fWA7XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICB1cHBlcihlKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coZSlcclxuICAgICAgfSxcclxuICAgICAgbG93ZXIoZSkge1xyXG4gICAgICAgIC8v5bm25LiU6K6p6aG156CBKzEs6LCD55So6I635Y+W5pWw5o2u55qE5pa55rOV6I635Y+W56ys5LqM6aG15pWw5o2uXHJcbiAgICAgICAgdGhpcy5leGFtUGFyYW1zLnBhZ2VOdW0rK1xyXG4gICAgICAgIC8v5q2k5aSE6LCD55So6Ieq5bex6I635Y+W5pWw5o2u5YiX6KGo55qE5pa55rOVXHJcbiAgICAgICAgaWYgKHRoaXMuZXhhbVBhcmFtcy5wYWdlTnVtID4gdGhpcy50b3RhbFBhZ2Upe1xyXG4gICAgICAgICAgdW5pLiR1LnRvYXN0KCflt7LliqDovb3lhajpg6jmlbDmja4nKVxyXG4gICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZ2V0RXhhbUxpc3QoKVxyXG4gICAgICB9LFxyXG4gICAgICBzY3JvbGxWaWV3KGUpIHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhlKVxyXG4gICAgICB9LFxyXG5cclxuICAgICAgdG9Db3Vyc2VzKCl7XHJcbiAgICAgICAgdW5pLnN3aXRjaFRhYih7XHJcbiAgICAgICAgICB1cmw6ICcvcGFnZXMvdGFiQmFyL2N1cnJlbnQvY3VycmVudCdcclxuICAgICAgICB9KVxyXG4gICAgICB9LFxyXG5cclxuXHRcdH1cclxuXHR9XHJcblxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiPlxyXG4ubmF2QmFyQm94IC5uYXZCYXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6I2ZmZjtcclxuXHQgIGhlaWdodDogNTBweDtcclxuXHQgIGRpc3BsYXk6IGZsZXg7XHJcblx0ICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdCAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0ICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGJveC1zaGFkb3c6IDAgM3B4IDEycHggcmdiYSgwLDAsMCwwLjA1KTtcclxuXHRcclxufVxyXG4uZml4e1xyXG5cdHBvc2l0aW9uOiBzdGlja3k7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG4uYmFyVGV4dHtcclxuICAvKiB0ZXh0LWFsaWduOiBjZW50ZXI7ICovXHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZmxleDogMjtcclxuICBtYXJnaW4tbGVmdDogNDUlO1xyXG59XHJcbi5zdGF0dXNCYXJ7XHJcblx0YmFja2dyb3VuZC1jb2xvcjpsaWdodGdyZXk7XHJcbn1cclxuLm0tcC0xNXtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHBhZGRpbmc6IDAgMTVweDtcclxufVxyXG4uY2FyZHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiA0MHJweDtcclxuXHJcbiAgLmNhcmQtdHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMCA2cnB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBycHg7XHJcblxyXG4gICAgLmNhcmQtdC1se1xyXG4gICAgICBmb250LXNpemU6IDMycnB4O1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICAgIC5jYXJkLXQtcntcclxuICAgICAgY29sb3I6ICM5OTk7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jYXJkLWN7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcblxyXG4gICAgLmNhcmQtaXtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGYwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgICAgJjpsYXN0LW9mLXR5cGV7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICB9XHJcbiAgICAgIC5jYXJkLWktdHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDI1MHJweDtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcnB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuNCk7XHJcbiAgICAgIH1cclxuICAgICAgLmNhcmQtaS1ye1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMjAwcnB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHJweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIC5jYXJkLWktci10e1xyXG4gICAgICAgICAgdmlld3tcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzMnJweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBycHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlBpbmdGYW5nIFNDXCI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FyZC1pLXItYntcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgICAgLnN0dWR5LWJ1dHRvbntcclxuICAgICAgICAgICAgd2lkdGg6IDI0MHJweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAzcHggM3B4IDEycHggcmdiYSg1MSwxMzMsMjE3LC4zKSwgLTJweCAtMnB4IDZweCAjZmZmO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC44KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmNhcmQtZHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgLnBhcGVyLWNhcmR7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuXHJcbiAgICAgICY6bGFzdC1vZi10eXBle1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5wYXBlci1jYXJkLXR7XHJcbiAgICAgICAgZm9udC1zaXplOiAzMnJweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHJweDtcclxuICAgICAgICBmb250LWZhbWlseTogXCJQaW5nRmFuZyBTQ1wiO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuICAgICAgICAuZ3JlZW57XHJcbiAgICAgICAgICBmb250LXNpemU6IDI4cnB4O1xyXG4gICAgICAgICAgY29sb3I6ICM1YWM3MjVcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlZHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgICAgICAgICBjb2xvcjogI2Y1NmM2Y1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnBhcGVyLWNhcmQtYntcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgIC5leGFtLWJ1dHRvbntcclxuICAgICAgICAgIHdpZHRoOiAyNDBycHg7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAzcHggM3B4IDEycHggcmdiYSg1MSwxMzMsMjE3LC4zKSwgLTJweCAtMnB4IDZweCAjZmZmO1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYmFkZ2Ugc3BhbntcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///253\n");
/***/ }),
/* 254 */
@@ -16421,7 +16449,7 @@
var debugEnviron;
exports.debuglog = function(set) {
  if (isUndefined(debugEnviron))
    debugEnviron = Object({"NODE_ENV":"development","VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"应急响应","VUE_APP_PLATFORM":"app-plus","BASE_URL":"/"}).NODE_DEBUG || '';
    debugEnviron = Object({"NODE_ENV":"development","VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"在线考试教育APP","VUE_APP_PLATFORM":"app-plus","BASE_URL":"/"}).NODE_DEBUG || '';
  set = set.toUpperCase();
  if (!debugs[set]) {
    if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
@@ -21979,6 +22007,17 @@
/***/ }),
/* 265 */
/*!*********************************************!*\
  !*** G:/workspace/testApp/api/wearhouse.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getCleanRecord = getCleanRecord;\nexports.getErrorsIdList = getErrorsIdList;\nexports.getExamIdIdList = getExamIdIdList;\nexports.getExamListByIds = getExamListByIds;\nexports.getQuestionById = getQuestionById;\nexports.getQuestionByIds = getQuestionByIds;\nexports.getQuestionIdList = getQuestionIdList;\nexports.getQuizHouse = getQuizHouse;\nexports.postEndExam = postEndExam;\nexports.postExamAnswer = postExamAnswer;\nexports.postExerciseAnswer = postExerciseAnswer;\nvar _request = __webpack_require__(/*! ../common/request.js */ 72);\nfunction getQuizHouse(data) {\n  return (0, _request.service)({\n    url: '/api/app/question-bank/list',\n    method: 'GET',\n    data: data\n  });\n}\nfunction getCleanRecord(data) {\n  return (0, _request.service)({\n    url: '/api/app/question-bank/clearExerciseRecord',\n    method: 'GET',\n    data: data\n  });\n}\nfunction getQuestionIdList(data) {\n  return (0, _request.service)({\n    url: '/api/app/question/getExerciseQuestionList',\n    method: 'GET',\n    data: data\n  });\n}\nfunction getQuestionById(data) {\n  return (0, _request.service)({\n    url: '/api/app/question/getExerciseQuestionById',\n    method: 'GET',\n    data: data\n  });\n}\nfunction getQuestionByIds(data) {\n  return (0, _request.service)({\n    url: '/api/app/question/getExerciseQuestionByIds',\n    method: 'GET',\n    data: data\n  });\n}\nfunction postExerciseAnswer(data) {\n  return (0, _request.service)({\n    url: '/api/app/exercise-answer',\n    method: 'POST',\n    data: data\n  });\n}\nfunction getErrorsIdList(data) {\n  return (0, _request.service)({\n    url: '/api/app/question/getExerciseErrorQuestionList',\n    method: 'GET',\n    data: data\n  });\n}\nfunction getExamIdIdList(data) {\n  return (0, _request.service)({\n    url: '/api/app/question/getPaperQuestionList',\n    method: 'GET',\n    data: data\n  });\n}\nfunction getExamListByIds(data) {\n  return (0, _request.service)({\n    url: '/api/app/question/getPaperQuestionByIds',\n    method: 'GET',\n    data: data\n  });\n}\nfunction postExamAnswer(data) {\n  return (0, _request.service)({\n    url: '/api/app/student-answer',\n    method: 'POST',\n    data: data\n  });\n}\nfunction postEndExam(data) {\n  return (0, _request.service)({\n    url: '/api/app/paper-student/endExam',\n    method: 'POST',\n    data: data\n  });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vYXBpL3dlYXJob3VzZS5qcyJdLCJuYW1lcyI6WyJnZXRRdWl6SG91c2UiLCJkYXRhIiwic2VydmljZSIsInVybCIsIm1ldGhvZCIsImdldENsZWFuUmVjb3JkIiwiZ2V0UXVlc3Rpb25JZExpc3QiLCJnZXRRdWVzdGlvbkJ5SWQiLCJnZXRRdWVzdGlvbkJ5SWRzIiwicG9zdEV4ZXJjaXNlQW5zd2VyIiwiZ2V0RXJyb3JzSWRMaXN0IiwiZ2V0RXhhbUlkSWRMaXN0IiwiZ2V0RXhhbUxpc3RCeUlkcyIsInBvc3RFeGFtQW5zd2VyIiwicG9zdEVuZEV4YW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUVPLFNBQVNBLFlBQVksQ0FBQ0MsSUFBSSxFQUFFO0VBQ2pDLE9BQU8sSUFBQUMsZ0JBQU8sRUFBQztJQUNmQyxHQUFHLEVBQUUsNkJBQTZCO0lBQ2xDQyxNQUFNLEVBQUUsS0FBSztJQUNiSCxJQUFJLEVBQUpBO0VBQ0QsQ0FBQyxDQUFDO0FBQ0g7QUFFTyxTQUFTSSxjQUFjLENBQUNKLElBQUksRUFBRTtFQUNwQyxPQUFPLElBQUFDLGdCQUFPLEVBQUM7SUFDZEMsR0FBRyxFQUFFLDRDQUE0QztJQUNqREMsTUFBTSxFQUFFLEtBQUs7SUFDYkgsSUFBSSxFQUFKQTtFQUNELENBQUMsQ0FBQztBQUNIO0FBRU8sU0FBU0ssaUJBQWlCLENBQUNMLElBQUksRUFBRTtFQUN2QyxPQUFPLElBQUFDLGdCQUFPLEVBQUM7SUFDZEMsR0FBRyxFQUFFLDJDQUEyQztJQUNoREMsTUFBTSxFQUFFLEtBQUs7SUFDYkgsSUFBSSxFQUFKQTtFQUNELENBQUMsQ0FBQztBQUNIO0FBRU8sU0FBU00sZUFBZSxDQUFDTixJQUFJLEVBQUU7RUFDckMsT0FBTyxJQUFBQyxnQkFBTyxFQUFDO0lBQ2RDLEdBQUcsRUFBRSwyQ0FBMkM7SUFDaERDLE1BQU0sRUFBRSxLQUFLO0lBQ2JILElBQUksRUFBSkE7RUFDRCxDQUFDLENBQUM7QUFDSDtBQUVPLFNBQVNPLGdCQUFnQixDQUFDUCxJQUFJLEVBQUU7RUFDdEMsT0FBTyxJQUFBQyxnQkFBTyxFQUFDO0lBQ2RDLEdBQUcsRUFBRSw0Q0FBNEM7SUFDakRDLE1BQU0sRUFBRSxLQUFLO0lBQ2JILElBQUksRUFBSkE7RUFDRCxDQUFDLENBQUM7QUFDSDtBQUVPLFNBQVNRLGtCQUFrQixDQUFDUixJQUFJLEVBQUU7RUFDeEMsT0FBTyxJQUFBQyxnQkFBTyxFQUFDO0lBQ2RDLEdBQUcsRUFBRSwwQkFBMEI7SUFDL0JDLE1BQU0sRUFBRSxNQUFNO0lBQ2RILElBQUksRUFBSkE7RUFDRCxDQUFDLENBQUM7QUFDSDtBQUVPLFNBQVNTLGVBQWUsQ0FBQ1QsSUFBSSxFQUFFO0VBQ3JDLE9BQU8sSUFBQUMsZ0JBQU8sRUFBQztJQUNkQyxHQUFHLEVBQUUsZ0RBQWdEO0lBQ3JEQyxNQUFNLEVBQUUsS0FBSztJQUNiSCxJQUFJLEVBQUpBO0VBQ0QsQ0FBQyxDQUFDO0FBQ0g7QUFFTyxTQUFTVSxlQUFlLENBQUNWLElBQUksRUFBRTtFQUNyQyxPQUFPLElBQUFDLGdCQUFPLEVBQUM7SUFDZEMsR0FBRyxFQUFFLHdDQUF3QztJQUM3Q0MsTUFBTSxFQUFFLEtBQUs7SUFDYkgsSUFBSSxFQUFKQTtFQUNELENBQUMsQ0FBQztBQUNIO0FBRU8sU0FBU1csZ0JBQWdCLENBQUNYLElBQUksRUFBRTtFQUN0QyxPQUFPLElBQUFDLGdCQUFPLEVBQUM7SUFDZEMsR0FBRyxFQUFFLHlDQUF5QztJQUM5Q0MsTUFBTSxFQUFFLEtBQUs7SUFDYkgsSUFBSSxFQUFKQTtFQUNELENBQUMsQ0FBQztBQUNIO0FBRU8sU0FBU1ksY0FBYyxDQUFDWixJQUFJLEVBQUU7RUFDcEMsT0FBTyxJQUFBQyxnQkFBTyxFQUFDO0lBQ2RDLEdBQUcsRUFBRSx5QkFBeUI7SUFDOUJDLE1BQU0sRUFBRSxNQUFNO0lBQ2RILElBQUksRUFBSkE7RUFDRCxDQUFDLENBQUM7QUFDSDtBQUVPLFNBQVNhLFdBQVcsQ0FBQ2IsSUFBSSxFQUFFO0VBQ2pDLE9BQU8sSUFBQUMsZ0JBQU8sRUFBQztJQUNkQyxHQUFHLEVBQUUsZ0NBQWdDO0lBQ3JDQyxNQUFNLEVBQUUsTUFBTTtJQUNkSCxJQUFJLEVBQUpBO0VBQ0QsQ0FBQyxDQUFDO0FBQ0giLCJmaWxlIjoiMjY1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzZXJ2aWNlfSBmcm9tICcuLi9jb21tb24vcmVxdWVzdC5qcyc7XHJcbiBcclxuZXhwb3J0IGZ1bmN0aW9uIGdldFF1aXpIb3VzZShkYXRhKSB7XHJcbiAgcmV0dXJuIHNlcnZpY2Uoe1xyXG5cdFx0dXJsOiAnL2FwaS9hcHAvcXVlc3Rpb24tYmFuay9saXN0JyxcclxuXHRcdG1ldGhvZDogJ0dFVCcsXHJcblx0XHRkYXRhXHJcblx0fSlcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldENsZWFuUmVjb3JkKGRhdGEpIHtcclxuXHRyZXR1cm4gc2VydmljZSh7XHJcblx0XHR1cmw6ICcvYXBpL2FwcC9xdWVzdGlvbi1iYW5rL2NsZWFyRXhlcmNpc2VSZWNvcmQnLFxyXG5cdFx0bWV0aG9kOiAnR0VUJyxcclxuXHRcdGRhdGFcclxuXHR9KVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlc3Rpb25JZExpc3QoZGF0YSkge1xyXG5cdHJldHVybiBzZXJ2aWNlKHtcclxuXHRcdHVybDogJy9hcGkvYXBwL3F1ZXN0aW9uL2dldEV4ZXJjaXNlUXVlc3Rpb25MaXN0JyxcclxuXHRcdG1ldGhvZDogJ0dFVCcsXHJcblx0XHRkYXRhXHJcblx0fSlcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFF1ZXN0aW9uQnlJZChkYXRhKSB7XHJcblx0cmV0dXJuIHNlcnZpY2Uoe1xyXG5cdFx0dXJsOiAnL2FwaS9hcHAvcXVlc3Rpb24vZ2V0RXhlcmNpc2VRdWVzdGlvbkJ5SWQnLFxyXG5cdFx0bWV0aG9kOiAnR0VUJyxcclxuXHRcdGRhdGFcclxuXHR9KVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlc3Rpb25CeUlkcyhkYXRhKSB7XHJcblx0cmV0dXJuIHNlcnZpY2Uoe1xyXG5cdFx0dXJsOiAnL2FwaS9hcHAvcXVlc3Rpb24vZ2V0RXhlcmNpc2VRdWVzdGlvbkJ5SWRzJyxcclxuXHRcdG1ldGhvZDogJ0dFVCcsXHJcblx0XHRkYXRhXHJcblx0fSlcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHBvc3RFeGVyY2lzZUFuc3dlcihkYXRhKSB7XHJcblx0cmV0dXJuIHNlcnZpY2Uoe1xyXG5cdFx0dXJsOiAnL2FwaS9hcHAvZXhlcmNpc2UtYW5zd2VyJyxcclxuXHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0ZGF0YVxyXG5cdH0pXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvcnNJZExpc3QoZGF0YSkge1xyXG5cdHJldHVybiBzZXJ2aWNlKHtcclxuXHRcdHVybDogJy9hcGkvYXBwL3F1ZXN0aW9uL2dldEV4ZXJjaXNlRXJyb3JRdWVzdGlvbkxpc3QnLFxyXG5cdFx0bWV0aG9kOiAnR0VUJyxcclxuXHRcdGRhdGFcclxuXHR9KVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXhhbUlkSWRMaXN0KGRhdGEpIHtcclxuXHRyZXR1cm4gc2VydmljZSh7XHJcblx0XHR1cmw6ICcvYXBpL2FwcC9xdWVzdGlvbi9nZXRQYXBlclF1ZXN0aW9uTGlzdCcsXHJcblx0XHRtZXRob2Q6ICdHRVQnLFxyXG5cdFx0ZGF0YVxyXG5cdH0pXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFeGFtTGlzdEJ5SWRzKGRhdGEpIHtcclxuXHRyZXR1cm4gc2VydmljZSh7XHJcblx0XHR1cmw6ICcvYXBpL2FwcC9xdWVzdGlvbi9nZXRQYXBlclF1ZXN0aW9uQnlJZHMnLFxyXG5cdFx0bWV0aG9kOiAnR0VUJyxcclxuXHRcdGRhdGFcclxuXHR9KVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcG9zdEV4YW1BbnN3ZXIoZGF0YSkge1xyXG5cdHJldHVybiBzZXJ2aWNlKHtcclxuXHRcdHVybDogJy9hcGkvYXBwL3N0dWRlbnQtYW5zd2VyJyxcclxuXHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0ZGF0YVxyXG5cdH0pXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwb3N0RW5kRXhhbShkYXRhKSB7XHJcblx0cmV0dXJuIHNlcnZpY2Uoe1xyXG5cdFx0dXJsOiAnL2FwaS9hcHAvcGFwZXItc3R1ZGVudC9lbmRFeGFtJyxcclxuXHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0ZGF0YVxyXG5cdH0pXHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///265\n");
/***/ }),
/* 266 */
/*!************************************************************************!*\
  !*** G:/workspace/testApp/pages/tabBar/firstPage/exam.vue?mpType=page ***!
  \************************************************************************/
@@ -21986,10 +22025,10 @@
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _exam_vue_vue_type_template_id_db1a6e32_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./exam.vue?vue&type=template&id=db1a6e32&scoped=true&mpType=page */ 266);\n/* harmony import */ var _exam_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./exam.vue?vue&type=script&lang=js&mpType=page */ 286);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _exam_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 _exam_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 29);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _exam_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _exam_vue_vue_type_template_id_db1a6e32_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _exam_vue_vue_type_template_id_db1a6e32_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"db1a6e32\",\n  null,\n  false,\n  _exam_vue_vue_type_template_id_db1a6e32_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n  renderjs\n)\n\ncomponent.options.__file = \"pages/tabBar/firstPage/exam.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBd0k7QUFDeEk7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQytMO0FBQy9MLGdCQUFnQixzTUFBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSxzR0FBTTtBQUNSLEVBQUUsK0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMEdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjY1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9leGFtLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1kYjFhNmUzMiZzY29wZWQ9dHJ1ZSZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vZXhhbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vZXhhbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vSEJ1aWxkZXJYLjMuOC40LjIwMjMwNTMxL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCJkYjFhNmUzMlwiLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy90YWJCYXIvZmlyc3RQYWdlL2V4YW0udnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///265\n");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _exam_vue_vue_type_template_id_db1a6e32_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./exam.vue?vue&type=template&id=db1a6e32&scoped=true&mpType=page */ 267);\n/* harmony import */ var _exam_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./exam.vue?vue&type=script&lang=js&mpType=page */ 286);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _exam_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 _exam_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 29);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _exam_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _exam_vue_vue_type_template_id_db1a6e32_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _exam_vue_vue_type_template_id_db1a6e32_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"db1a6e32\",\n  null,\n  false,\n  _exam_vue_vue_type_template_id_db1a6e32_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n  renderjs\n)\n\ncomponent.options.__file = \"pages/tabBar/firstPage/exam.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBd0k7QUFDeEk7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQytMO0FBQy9MLGdCQUFnQixzTUFBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSxzR0FBTTtBQUNSLEVBQUUsK0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMEdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjY2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9leGFtLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1kYjFhNmUzMiZzY29wZWQ9dHJ1ZSZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vZXhhbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vZXhhbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vSEJ1aWxkZXJYLjMuOC40LjIwMjMwNTMxL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCJkYjFhNmUzMlwiLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy90YWJCYXIvZmlyc3RQYWdlL2V4YW0udnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///266\n");
/***/ }),
/* 266 */
/* 267 */
/*!******************************************************************************************************************!*\
  !*** G:/workspace/testApp/pages/tabBar/firstPage/exam.vue?vue&type=template&id=db1a6e32&scoped=true&mpType=page ***!
  \******************************************************************************************************************/
@@ -21998,7 +22037,7 @@
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_exam_vue_vue_type_template_id_db1a6e32_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./exam.vue?vue&type=template&id=db1a6e32&scoped=true&mpType=page */ 267);
/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_exam_vue_vue_type_template_id_db1a6e32_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./exam.vue?vue&type=template&id=db1a6e32&scoped=true&mpType=page */ 268);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_exam_vue_vue_type_template_id_db1a6e32_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_exam_vue_vue_type_template_id_db1a6e32_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
@@ -22010,7 +22049,7 @@
/***/ }),
/* 267 */
/* 268 */
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./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!G:/workspace/testApp/pages/tabBar/firstPage/exam.vue?vue&type=template&id=db1a6e32&scoped=true&mpType=page ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@@ -22028,8 +22067,8 @@
  components = {
    uIcon: __webpack_require__(/*! @/uni_modules/uview-ui/components/u-icon/u-icon.vue */ 33)
      .default,
    uDivider:
      __webpack_require__(/*! @/uni_modules/uview-ui/components/u-divider/u-divider.vue */ 268)
    "u-Image":
      __webpack_require__(/*! @/uni_modules/uview-ui/components/u--image/u--image.vue */ 269)
        .default,
    uCheckboxGroup:
      __webpack_require__(/*! @/uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue */ 188)
@@ -22044,435 +22083,7 @@
      .default,
    uButton: __webpack_require__(/*! @/uni_modules/uview-ui/components/u-button/u-button.vue */ 55)
      .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", [
    _c(
      "view",
      { staticClass: _vm._$s(1, "sc", "navBarBox"), attrs: { _i: 1 } },
      [
        _c("view", {
          staticClass: _vm._$s(2, "sc", "statusBar"),
          style: _vm._$s(2, "s", { paddingTop: _vm.statusBarHeight + "px" }),
          attrs: { _i: 2 },
        }),
        _c("view", [
          _c(
            "view",
            { staticClass: _vm._$s(4, "sc", "navBar"), attrs: { _i: 4 } },
            [
              _c("u-icon", {
                attrs: {
                  name: "arrow-left",
                  color: "black",
                  size: "17",
                  _i: 5,
                },
                on: { click: _vm.goBack },
              }),
              _c("view", {
                staticClass: _vm._$s(6, "sc", "barText"),
                attrs: { _i: 6 },
              }),
            ],
            1
          ),
        ]),
      ]
    ),
    _c(
      "view",
      { staticClass: _vm._$s(7, "sc", "m-p-15"), attrs: { _i: 7 } },
      [
        _c("u-divider", {
          attrs: {
            text: "第" + (_vm.currentIndex + 1) + "题",
            textColor: "#2979ff",
            lineColor: "#2979ff",
            textSize: "16",
            _i: 8,
          },
        }),
        _c(
          "view",
          { staticClass: _vm._$s(9, "sc", "questions"), attrs: { _i: 9 } },
          [
            _c(
              "view",
              { staticClass: _vm._$s(10, "sc", "title"), attrs: { _i: 10 } },
              [
                _c("span", [
                  _vm._v(
                    _vm._$s(
                      11,
                      "t0-0",
                      _vm._s(
                        _vm.currentQ.questionType == 1
                          ? "单选题"
                          : _vm.currentQ.questionType == 2
                          ? "多选题"
                          : "判断题"
                      )
                    )
                  ),
                ]),
                _vm._v(_vm._$s(10, "t1-0", _vm._s(_vm.currentQ.title))),
              ]
            ),
            _c(
              "view",
              { staticClass: _vm._$s(12, "sc", "content"), attrs: { _i: 12 } },
              [
                _vm._$s(13, "i", _vm.currentQ.questionType == 2)
                  ? _c(
                      "u-checkbox-group",
                      {
                        attrs: {
                          placement: "column",
                          disabled: _vm.viewType == 1 ? false : true,
                          _i: 13,
                        },
                        on: { change: _vm.checkboxChange },
                        model: {
                          value: _vm._$s(
                            13,
                            "v-model",
                            _vm.currentQ.exExerciseAnswer.answer
                          ),
                          callback: function ($$v) {
                            _vm.$set(
                              _vm.currentQ.exExerciseAnswer,
                              "answer",
                              $$v
                            )
                          },
                          expression: "currentQ.exExerciseAnswer.answer",
                        },
                      },
                      _vm._l(
                        _vm._$s(14, "f", {
                          forItems: _vm.currentQ.content.items,
                        }),
                        function (item, index, $20, $30) {
                          return _c("u-checkbox", {
                            key: _vm._$s(14, "f", {
                              forIndex: $20,
                              key: index,
                            }),
                            attrs: {
                              customStyle: { marginBottom: "20px" },
                              label: item.prefix + ":" + item.content,
                              name: item.prefix,
                              _i: "14-" + $30,
                            },
                          })
                        }
                      ),
                      1
                    )
                  : _vm._e(),
                _vm._$s(
                  15,
                  "i",
                  _vm.currentQ.questionType == 1 ||
                    _vm.currentQ.questionType == 3
                )
                  ? _c(
                      "u-radio-group",
                      {
                        attrs: {
                          placement: "column",
                          disabled: _vm.viewType == 1 ? false : true,
                          _i: 15,
                        },
                        on: { change: _vm.groupChange },
                        model: {
                          value: _vm._$s(
                            15,
                            "v-model",
                            _vm.currentQ.exExerciseAnswer.answer
                          ),
                          callback: function ($$v) {
                            _vm.$set(
                              _vm.currentQ.exExerciseAnswer,
                              "answer",
                              $$v
                            )
                          },
                          expression: "currentQ.exExerciseAnswer.answer",
                        },
                      },
                      _vm._l(
                        _vm._$s(16, "f", {
                          forItems: _vm.currentQ.content.items,
                        }),
                        function (item, index, $21, $31) {
                          return _c("u-radio", {
                            key: _vm._$s(16, "f", {
                              forIndex: $21,
                              key: index,
                            }),
                            attrs: {
                              customStyle: { marginBottom: "20px" },
                              shape: "square",
                              label: item.prefix + ":" + item.content,
                              name: item.prefix,
                              _i: "16-" + $31,
                            },
                            on: { change: _vm.radioChange },
                          })
                        }
                      ),
                      1
                    )
                  : _vm._e(),
                _vm._$s(
                  17,
                  "i",
                  _vm.viewType == 1 &&
                    _vm.currentQ.exExerciseAnswer &&
                    _vm.currentQ.exExerciseAnswer.answer &&
                    (typeof _vm.currentQ.exExerciseAnswer.answer == String
                      ? _vm.currentQ.exExerciseAnswer.answer !== ""
                      : _vm.currentQ.exExerciseAnswer.answer.length > 0)
                )
                  ? _c("u-button", {
                      attrs: {
                        type: "primary",
                        shape: "circle",
                        text: "确认答案",
                        _i: 17,
                      },
                      on: { click: _vm.confirmAnswer },
                    })
                  : _vm._e(),
                _vm._$s(
                  18,
                  "i",
                  _vm.viewType == 2 &&
                    _vm.currentQ.studentAnswer &&
                    _vm.currentQ.studentAnswer.answer
                )
                  ? _c(
                      "view",
                      {
                        staticClass: _vm._$s(18, "sc", "answers"),
                        attrs: { _i: 18 },
                      },
                      [
                        _c("view", [
                          _vm._$s(20, "i", _vm.currentQ.questionType == 2)
                            ? _c(
                                "span",
                                {
                                  class: _vm._$s(
                                    20,
                                    "c",
                                    _vm.currentQ.answer ==
                                      _vm.currentQ.studentAnswer.answer
                                      ? "right"
                                      : "wrong"
                                  ),
                                  attrs: { _i: 20 },
                                },
                                [
                                  _vm._v(
                                    _vm._$s(
                                      20,
                                      "t0-0",
                                      _vm._s(_vm.currentQ.studentAnswer.answer)
                                    )
                                  ),
                                ]
                              )
                            : _c(
                                "span",
                                {
                                  class: _vm._$s(
                                    21,
                                    "c",
                                    _vm.currentQ.answer ==
                                      _vm.currentQ.studentAnswer.answer
                                      ? "right"
                                      : "wrong"
                                  ),
                                  attrs: { _i: 21 },
                                },
                                [
                                  _vm._v(
                                    _vm._$s(
                                      21,
                                      "t0-0",
                                      _vm._s(_vm.currentQ.studentAnswer.answer)
                                    )
                                  ),
                                ]
                              ),
                        ]),
                        _c("view", [
                          _c(
                            "span",
                            {
                              staticClass: _vm._$s(23, "sc", "right"),
                              attrs: { _i: 23 },
                            },
                            [
                              _vm._v(
                                _vm._$s(23, "t0-0", _vm._s(_vm.currentQ.answer))
                              ),
                            ]
                          ),
                        ]),
                      ]
                    )
                  : _vm._e(),
              ],
              1
            ),
          ]
        ),
      ],
      1
    ),
    _c(
      "view",
      { staticClass: _vm._$s(24, "sc", "btns"), attrs: { _i: 24 } },
      [
        _c("u-button", {
          attrs: {
            type: "error",
            shape: "circle",
            size: "small",
            text: "上一题",
            _i: 25,
          },
          on: { click: _vm.prevQ },
        }),
        _vm._$s(26, "i", _vm.currentIndex < _vm.questionList.length - 1)
          ? _c("u-button", {
              attrs: {
                type: "error",
                shape: "circle",
                size: "small",
                text: "下一题",
                _i: 26,
              },
              on: { click: _vm.nextQ },
            })
          : _vm._e(),
        _vm._$s(
          27,
          "i",
          _vm.currentIndex == _vm.questionList.length - 1 && _vm.viewType == 1
        )
          ? _c("u-button", {
              attrs: {
                type: "primary",
                shape: "circle",
                size: "small",
                text: "保存退出",
                _i: 27,
              },
              on: { click: _vm.endExam },
            })
          : _vm._e(),
        _vm._$s(
          28,
          "i",
          _vm.currentIndex == _vm.questionList.length - 1 && _vm.viewType == 2
        )
          ? _c("u-button", {
              attrs: {
                type: "primary",
                shape: "circle",
                size: "small",
                text: "退出",
                _i: 28,
              },
              on: { click: _vm.goBack },
            })
          : _vm._e(),
      ],
      1
    ),
  ])
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 268 */
/*!************************************************************************************!*\
  !*** G:/workspace/testApp/uni_modules/uview-ui/components/u-divider/u-divider.vue ***!
  \************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _u_divider_vue_vue_type_template_id_5257fd26_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./u-divider.vue?vue&type=template&id=5257fd26&scoped=true& */ 269);\n/* harmony import */ var _u_divider_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./u-divider.vue?vue&type=script&lang=js& */ 271);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _u_divider_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 _u_divider_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 29);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _u_divider_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _u_divider_vue_vue_type_template_id_5257fd26_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _u_divider_vue_vue_type_template_id_5257fd26_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"5257fd26\",\n  null,\n  false,\n  _u_divider_vue_vue_type_template_id_5257fd26_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n  renderjs\n)\n\ncomponent.options.__file = \"uni_modules/uview-ui/components/u-divider/u-divider.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0k7QUFDbEk7QUFDNkQ7QUFDTDs7O0FBR3hEO0FBQ2tNO0FBQ2xNLGdCQUFnQixzTUFBVTtBQUMxQixFQUFFLCtFQUFNO0FBQ1IsRUFBRSxnR0FBTTtBQUNSLEVBQUUseUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsb0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjY4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi91LWRpdmlkZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTUyNTdmZDI2JnNjb3BlZD10cnVlJlwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vdS1kaXZpZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vdS1kaXZpZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vSEJ1aWxkZXJYLjMuOC40LjIwMjMwNTMxL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI1MjU3ZmQyNlwiLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJ1bmlfbW9kdWxlcy91dmlldy11aS9jb21wb25lbnRzL3UtZGl2aWRlci91LWRpdmlkZXIudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///268\n");
/***/ }),
/* 269 */
/*!*******************************************************************************************************************************!*\
  !*** G:/workspace/testApp/uni_modules/uview-ui/components/u-divider/u-divider.vue?vue&type=template&id=5257fd26&scoped=true& ***!
  \*******************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_divider_vue_vue_type_template_id_5257fd26_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./u-divider.vue?vue&type=template&id=5257fd26&scoped=true& */ 270);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_divider_vue_vue_type_template_id_5257fd26_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_divider_vue_vue_type_template_id_5257fd26_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_divider_vue_vue_type_template_id_5257fd26_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_divider_vue_vue_type_template_id_5257fd26_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 270 */
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./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!G:/workspace/testApp/uni_modules/uview-ui/components/u-divider/u-divider.vue?vue&type=template&id=5257fd26&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 = {
    uLine: __webpack_require__(/*! @/uni_modules/uview-ui/components/u-line/u-line.vue */ 40)
    uPopup: __webpack_require__(/*! @/uni_modules/uview-ui/components/u-popup/u-popup.vue */ 106)
      .default,
  }
} catch (e) {
@@ -22498,47 +22109,414 @@
  var _c = _vm._self._c || _h
  return _c(
    "view",
    {
      staticClass: _vm._$s(0, "sc", "u-divider"),
      style: _vm._$s(0, "s", [_vm.$u.addStyle(_vm.customStyle)]),
      attrs: { _i: 0 },
      on: { click: _vm.click },
    },
    [
      _c("u-line", {
        attrs: {
          color: _vm.lineColor,
          customStyle: _vm.leftLineStyle,
          hairline: _vm.hairline,
          dashed: _vm.dashed,
          _i: 1,
        },
      }),
      _vm._$s(2, "i", _vm.dot)
        ? _c("text", {
            staticClass: _vm._$s(2, "sc", "u-divider__dot"),
      _c(
        "view",
        { staticClass: _vm._$s(1, "sc", "navBarBox"), attrs: { _i: 1 } },
        [
          _c("view", {
            staticClass: _vm._$s(2, "sc", "statusBar"),
            style: _vm._$s(2, "s", { paddingTop: _vm.statusBarHeight + "px" }),
            attrs: { _i: 2 },
          })
        : _vm._$s(3, "e", _vm.text)
        ? _c(
            "text",
            {
              staticClass: _vm._$s(3, "sc", "u-divider__text"),
              style: _vm._$s(3, "s", [_vm.textStyle]),
              attrs: { _i: 3 },
          }),
          _c("view", [
            _c(
              "view",
              { staticClass: _vm._$s(4, "sc", "navBar"), attrs: { _i: 4 } },
              [
                _c("u-icon", {
                  attrs: {
                    name: "arrow-left",
                    color: "black",
                    size: "17",
                    _i: 5,
                  },
                  on: { click: _vm.goBack },
                }),
                _c("view", {
                  staticClass: _vm._$s(6, "sc", "barText"),
                  attrs: { _i: 6 },
                }),
              ],
              1
            ),
          ]),
        ]
      ),
      _c(
        "view",
        { staticClass: _vm._$s(7, "sc", "m-p-15"), attrs: { _i: 7 } },
        [
          _vm._$s(8, "i", _vm.viewType == 1)
            ? _c(
                "view",
                { staticClass: _vm._$s(8, "sc", "timer"), attrs: { _i: 8 } },
                [
                  _c("u--image", {
                    attrs: {
                      showLoading: true,
                      src: _vm.sandPic,
                      width: "18px",
                      height: "18px",
                      _i: 9,
                    },
                  }),
                  _c(
                    "view",
                    {
                      staticClass: _vm._$s(10, "sc", "timer-b"),
                      attrs: { _i: 10 },
                    },
                    [
                      _c("span"),
                      _c("span", [
                        _vm._v(_vm._$s(12, "t0-0", _vm._s(_vm.formattedTime))),
                      ]),
                    ]
                  ),
                ],
                1
              )
            : _vm._e(),
          _c(
            "view",
            { staticClass: _vm._$s(13, "sc", "top"), attrs: { _i: 13 } },
            [
              _c(
                "view",
                { staticClass: _vm._$s(14, "sc", "ind"), attrs: { _i: 14 } },
                [
                  _vm._v(
                    _vm._$s(
                      14,
                      "t0-0",
                      _vm._s("第 " + (_vm.curTotalIndex + 1) + " 题")
                    )
                  ),
                ]
              ),
              _c("view", {
                staticClass: _vm._$s(15, "sc", "panelBtn"),
                attrs: { _i: 15 },
                on: { click: _vm.openPanel },
              }),
            ]
          ),
          _c(
            "view",
            { staticClass: _vm._$s(16, "sc", "questions"), attrs: { _i: 16 } },
            [
              _c(
                "view",
                { staticClass: _vm._$s(17, "sc", "title"), attrs: { _i: 17 } },
                [
                  _c("span", [
                    _vm._v(
                      _vm._$s(
                        18,
                        "t0-0",
                        _vm._s(
                          _vm.currentQ.questionType == 1
                            ? "单选题"
                            : _vm.currentQ.questionType == 2
                            ? "多选题"
                            : "判断题"
                        )
                      )
                    ),
                  ]),
                  _vm._v(_vm._$s(17, "t1-0", _vm._s(_vm.currentQ.title))),
                ]
              ),
              _c(
                "view",
                {
                  staticClass: _vm._$s(19, "sc", "content"),
                  attrs: { _i: 19 },
                },
                [
                  _vm._$s(20, "i", _vm.currentQ.questionType == 2)
                    ? _c(
                        "u-checkbox-group",
                        {
                          staticClass: _vm._$s(20, "sc", "myRadio"),
                          attrs: {
                            placement: "column",
                            iconPlacement: "right",
                            disabled: _vm.viewType == 1 ? false : true,
                            _i: 20,
                          },
                          on: { change: _vm.checkboxChange },
                          model: {
                            value: _vm._$s(20, "v-model", _vm.currentB),
                            callback: function ($$v) {
                              _vm.currentB = $$v
                            },
                            expression: "currentB",
                          },
                        },
                        _vm._l(
                          _vm._$s(21, "f", {
                            forItems: _vm.currentQ.content.items,
                          }),
                          function (item, index, $20, $30) {
                            return _c("u-checkbox", {
                              key: _vm._$s(21, "f", {
                                forIndex: $20,
                                key: index,
                              }),
                              class: _vm._$s("21-" + $30, "c", {
                                picked: _vm.currentB.includes(item.prefix),
                              }),
                              attrs: {
                                customStyle: { marginBottom: "15px" },
                                label: item.prefix + ":" + item.content,
                                name: item.prefix,
                                _i: "21-" + $30,
                              },
                            })
                          }
                        ),
                        1
                      )
                    : _vm._e(),
                  _vm._$s(
                    22,
                    "i",
                    _vm.currentQ.questionType == 1 ||
                      _vm.currentQ.questionType == 3
                  )
                    ? _c(
                        "u-radio-group",
                        {
                          staticClass: _vm._$s(22, "sc", "myRadio"),
                          attrs: {
                            iconPlacement: "right",
                            placement: "column",
                            disabled: _vm.viewType == 1 ? false : true,
                            _i: 22,
                          },
                          on: { change: _vm.groupChange },
                          model: {
                            value: _vm._$s(22, "v-model", _vm.currentA),
                            callback: function ($$v) {
                              _vm.currentA = $$v
                            },
                            expression: "currentA",
                          },
                        },
                        _vm._l(
                          _vm._$s(23, "f", {
                            forItems: _vm.currentQ.content.items,
                          }),
                          function (item, index, $21, $31) {
                            return _c("u-radio", {
                              key: _vm._$s(23, "f", {
                                forIndex: $21,
                                key: index,
                              }),
                              class: _vm._$s("23-" + $31, "c", {
                                picked: _vm.currentA == item.prefix,
                              }),
                              attrs: {
                                customStyle: { marginBottom: "15px" },
                                shape: "square",
                                label: item.prefix + ":" + item.content,
                                name: item.prefix,
                                _i: "23-" + $31,
                              },
                              on: { change: _vm.radioChange },
                            })
                          }
                        ),
                        1
                      )
                    : _vm._e(),
                  _vm._$s(
                    24,
                    "i",
                    _vm.currentQ.questionType == 2 &&
                      _vm.currentB.length > 0 &&
                      _vm.viewType == 1
                  )
                    ? _c("u-button", {
                        attrs: {
                          type: "primary",
                          shape: "circle",
                          text: "确认答案",
                          _i: 24,
                        },
                        on: { click: _vm.confirmAnswer },
                      })
                    : _vm._e(),
                  _vm._$s(
                    25,
                    "i",
                    _vm.viewType == 2 &&
                      _vm.currentQ.studentAnswer &&
                      _vm.currentQ.studentAnswer.answer
                  )
                    ? _c(
                        "view",
                        {
                          staticClass: _vm._$s(25, "sc", "answers"),
                          attrs: { _i: 25 },
                        },
                        [
                          _c("view", [
                            _c(
                              "span",
                              {
                                class: _vm._$s(
                                  27,
                                  "c",
                                  _vm.currentQ.answer ==
                                    _vm.currentQ.studentAnswer.answer
                                    ? "right"
                                    : "wrong"
                                ),
                                attrs: { _i: 27 },
                              },
                              [
                                _vm._v(
                                  _vm._$s(
                                    27,
                                    "t0-0",
                                    _vm._s(_vm.currentQ.studentAnswer.answer)
                                  )
                                ),
                              ]
                            ),
                          ]),
                          _c("view", [
                            _c(
                              "span",
                              {
                                staticClass: _vm._$s(29, "sc", "right"),
                                attrs: { _i: 29 },
                              },
                              [
                                _vm._v(
                                  _vm._$s(
                                    29,
                                    "t0-0",
                                    _vm._s(_vm.currentQ.answer)
                                  )
                                ),
                              ]
                            ),
                          ]),
                        ]
                      )
                    : _vm._e(),
                ],
                1
              ),
            ]
          ),
        ]
      ),
      _c(
        "view",
        { staticClass: _vm._$s(30, "sc", "btns"), attrs: { _i: 30 } },
        [
          _c("u-button", {
            attrs: {
              type: "error",
              shape: "circle",
              size: "small",
              text: "上一题",
              _i: 31,
            },
            [_vm._v(_vm._$s(3, "t0-0", _vm._s(_vm.text)))]
            on: { click: _vm.prevQ },
          }),
          _vm._$s(32, "i", _vm.viewType == 1)
            ? _c("u-button", {
                attrs: {
                  type: "primary",
                  shape: "circle",
                  size: "small",
                  text: "交卷",
                  _i: 32,
                },
                on: { click: _vm.endExam },
              })
            : _vm._e(),
          _vm._$s(33, "i", _vm.curTotalIndex < _vm.idList.length - 1)
            ? _c("u-button", {
                attrs: {
                  type: "error",
                  shape: "circle",
                  size: "small",
                  text: "下一题",
                  _i: 33,
                },
                on: { click: _vm.nextQ },
              })
            : _vm._e(),
          _vm._$s(
            34,
            "i",
            _vm.curTotalIndex == _vm.idList.length - 1 && _vm.viewType == 2
          )
        : _vm._e(),
      _c("u-line", {
        attrs: {
          color: _vm.lineColor,
          customStyle: _vm.rightLineStyle,
          hairline: _vm.hairline,
          dashed: _vm.dashed,
          _i: 4,
            ? _c("u-button", {
                attrs: {
                  type: "primary",
                  shape: "circle",
                  size: "small",
                  text: "退出",
                  _i: 34,
                },
                on: { click: _vm.goBack },
              })
            : _vm._e(),
        ],
        1
      ),
      _c(
        "u-popup",
        {
          attrs: { show: _vm.showPanel, round: 40, mode: "right", _i: 35 },
          on: { close: _vm.close, open: _vm.open },
        },
      }),
        [
          _c(
            "view",
            { staticClass: _vm._$s(36, "sc", "panel"), attrs: { _i: 36 } },
            _vm._l(
              _vm._$s(37, "f", { forItems: _vm.idList }),
              function (item, index, $22, $32) {
                return _c(
                  "view",
                  {
                    key: _vm._$s(37, "f", {
                      forIndex: $22,
                      key: 37 + "-" + $32,
                    }),
                    class: _vm._$s(
                      "37-" + $32,
                      "c",
                      item.passed == 1
                        ? "right-a"
                        : item.passed == 0
                        ? "wrong-a"
                        : ""
                    ),
                    attrs: { _i: "37-" + $32 },
                    on: {
                      click: function ($event) {
                        return _vm.toQuestion(item, index)
                      },
                    },
                  },
                  [_vm._v(_vm._$s("37-" + $32, "t0-0", _vm._s(index + 1)))]
                )
              }
            ),
            0
          ),
        ]
      ),
    ],
    1
  )
@@ -22550,37 +22528,135 @@
/***/ }),
/* 271 */
/*!*************************************************************************************************************!*\
  !*** G:/workspace/testApp/uni_modules/uview-ui/components/u-divider/u-divider.vue?vue&type=script&lang=js& ***!
  \*************************************************************************************************************/
/* 269 */
/*!**********************************************************************************!*\
  !*** G:/workspace/testApp/uni_modules/uview-ui/components/u--image/u--image.vue ***!
  \**********************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_divider_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./u-divider.vue?vue&type=script&lang=js& */ 272);\n/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_divider_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_divider_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_divider_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 _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_divider_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_divider_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWlxQixDQUFnQixtcUJBQUcsRUFBQyIsImZpbGUiOiIyNzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uL0hCdWlsZGVyWC4zLjguNC4yMDIzMDUzMS9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uL0hCdWlsZGVyWC4zLjguNC4yMDIzMDUzMS9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uL0hCdWlsZGVyWC4zLjguNC4yMDIzMDUzMS9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9IQnVpbGRlclguMy44LjQuMjAyMzA1MzEvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vdS1kaXZpZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi8uLi9IQnVpbGRlclguMy44LjQuMjAyMzA1MzEvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9IQnVpbGRlclguMy44LjQuMjAyMzA1MzEvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi9IQnVpbGRlclguMy44LjQuMjAyMzA1MzEvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXVuaS1hcHAtbG9hZGVyL3VzaW5nLWNvbXBvbmVudHMuanMhLi4vLi4vLi4vLi4vLi4vLi4vSEJ1aWxkZXJYLjMuOC40LjIwMjMwNTMxL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3UtZGl2aWRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///271\n");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _u_image_vue_vue_type_template_id_55e644e9___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./u--image.vue?vue&type=template&id=55e644e9& */ 270);\n/* harmony import */ var _u_image_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./u--image.vue?vue&type=script&lang=js& */ 272);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _u_image_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 _u_image_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 29);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _u_image_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _u_image_vue_vue_type_template_id_55e644e9___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _u_image_vue_vue_type_template_id_55e644e9___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null,\n  false,\n  _u_image_vue_vue_type_template_id_55e644e9___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n  renderjs\n)\n\ncomponent.options.__file = \"uni_modules/uview-ui/components/u--image/u--image.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBcUg7QUFDckg7QUFDNEQ7QUFDTDs7O0FBR3ZEO0FBQ2tNO0FBQ2xNLGdCQUFnQixzTUFBVTtBQUMxQixFQUFFLDZFQUFNO0FBQ1IsRUFBRSxrRkFBTTtBQUNSLEVBQUUsMkZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsc0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjY5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi91LS1pbWFnZS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NTVlNjQ0ZTkmXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi91LS1pbWFnZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL3UtLWltYWdlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vSEJ1aWxkZXJYLjMuOC40LjIwMjMwNTMxL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwidW5pX21vZHVsZXMvdXZpZXctdWkvY29tcG9uZW50cy91LS1pbWFnZS91LS1pbWFnZS52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///269\n");
/***/ }),
/* 270 */
/*!*****************************************************************************************************************!*\
  !*** G:/workspace/testApp/uni_modules/uview-ui/components/u--image/u--image.vue?vue&type=template&id=55e644e9& ***!
  \*****************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_image_vue_vue_type_template_id_55e644e9___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./u--image.vue?vue&type=template&id=55e644e9& */ 271);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_image_vue_vue_type_template_id_55e644e9___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_image_vue_vue_type_template_id_55e644e9___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_image_vue_vue_type_template_id_55e644e9___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_image_vue_vue_type_template_id_55e644e9___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 271 */
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./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!G:/workspace/testApp/uni_modules/uview-ui/components/u--image/u--image.vue?vue&type=template&id=55e644e9& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! 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("uvImage", {
    attrs: {
      src: _vm.src,
      mode: _vm.mode,
      width: _vm.width,
      height: _vm.height,
      shape: _vm.shape,
      radius: _vm.radius,
      lazyLoad: _vm.lazyLoad,
      showMenuByLongpress: _vm.showMenuByLongpress,
      loadingIcon: _vm.loadingIcon,
      errorIcon: _vm.errorIcon,
      showLoading: _vm.showLoading,
      showError: _vm.showError,
      fade: _vm.fade,
      webp: _vm.webp,
      duration: _vm.duration,
      bgColor: _vm.bgColor,
      customStyle: _vm.customStyle,
      _i: 0,
    },
    on: {
      click: function ($event) {
        return _vm.$emit("click")
      },
      error: function ($event) {
        return _vm.$emit("error")
      },
      load: function ($event) {
        return _vm.$emit("load")
      },
    },
    scopedSlots: _vm._u(
      [
        {
          key: "loading",
          fn: function (_empty_, _svm, _si) {
            return [_vm._t("loading", null, { _i: "2-" + _si })]
          },
        },
        {
          key: "error",
          fn: function (_empty_, _svm, _si) {
            return [_vm._t("error", null, { _i: "4-" + _si })]
          },
        },
      ],
      null,
      true
    ),
  })
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 272 */
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./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!G:/workspace/testApp/uni_modules/uview-ui/components/u-divider/u-divider.vue?vue&type=script&lang=js& ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*!***********************************************************************************************************!*\
  !*** G:/workspace/testApp/uni_modules/uview-ui/components/u--image/u--image.vue?vue&type=script&lang=js& ***!
  \***********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
/***/ (function(module, __webpack_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 _props = _interopRequireDefault(__webpack_require__(/*! ./props.js */ 273));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/**\n * divider 分割线\n * @description 区隔内容的分割线,一般用于页面底部\"没有更多\"的提示。\n * @tutorial https://www.uviewui.com/components/divider.html\n * @property {Boolean}\t\t\tdashed\t\t\t是否虚线 (默认 false )\n * @property {Boolean}\t\t\thairline\t\t是否细线 (默认  true )\n * @property {Boolean}\t\t\tdot\t\t\t\t是否以点替代文字,优先于text字段起作用 (默认 false )\n * @property {String}\t\t\ttextPosition\t内容文本的位置,left-左边,center-中间,right-右边 (默认 'center' )\n * @property {String | Number}\ttext\t\t\t文本内容\n * @property {String | Number}\ttextSize\t\t文本大小 (默认 14)\n * @property {String}\t\t\ttextColor\t\t文本颜色 (默认 '#909399' )\n * @property {String}\t\t\tlineColor\t\t线条颜色 (默认 '#dcdfe6' )\n * @property {Object}\t\t\tcustomStyle\t\t定义需要用到的外部样式\n *\n * @event {Function}\tclick\tdivider组件被点击时触发\n * @example <u-divider :color=\"color\">锦瑟无端五十弦</u-divider>\n */\nvar _default = {\n  name: 'u-divider',\n  mixins: [uni.$u.mpMixin, uni.$u.mixin, _props.default],\n  computed: {\n    textStyle: function textStyle() {\n      var style = {};\n      style.fontSize = uni.$u.addUnit(this.textSize);\n      style.color = this.textColor;\n      return style;\n    },\n    // 左边线条的的样式\n    leftLineStyle: function leftLineStyle() {\n      var style = {};\n      // 如果是在左边,设置左边的宽度为固定值\n      if (this.textPosition === 'left') {\n        style.width = '80rpx';\n      } else {\n        style.flex = 1;\n      }\n      return style;\n    },\n    // 右边线条的的样式\n    rightLineStyle: function rightLineStyle() {\n      var style = {};\n      // 如果是在右边,设置右边的宽度为固定值\n      if (this.textPosition === 'right') {\n        style.width = '80rpx';\n      } else {\n        style.flex = 1;\n      }\n      return style;\n    }\n  },\n  methods: {\n    // divider组件被点击时触发\n    click: function click() {\n      this.$emit('click');\n    }\n  }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvdXZpZXctdWkvY29tcG9uZW50cy91LWRpdmlkZXIvdS1kaXZpZGVyLnZ1ZSJdLCJuYW1lcyI6WyJuYW1lIiwibWl4aW5zIiwiY29tcHV0ZWQiLCJ0ZXh0U3R5bGUiLCJzdHlsZSIsImxlZnRMaW5lU3R5bGUiLCJyaWdodExpbmVTdHlsZSIsIm1ldGhvZHMiLCJjbGljayJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQStCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFoQkEsZUFpQkE7RUFDQUE7RUFDQUM7RUFDQUM7SUFDQUM7TUFDQTtNQUNBQztNQUNBQTtNQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtRQUNBRDtNQUNBO1FBQ0FBO01BQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQUU7TUFDQTtNQUNBO01BQ0E7UUFDQUY7TUFDQTtRQUNBQTtNQUNBO01BQ0E7SUFDQTtFQUNBO0VBQ0FHO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBIiwiZmlsZSI6IjI3Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PHZpZXdcblx0ICAgIGNsYXNzPVwidS1kaXZpZGVyXCJcblx0ICAgIDpzdHlsZT1cIlskdS5hZGRTdHlsZShjdXN0b21TdHlsZSldXCJcblx0XHRAdGFwPVwiY2xpY2tcIlxuXHQ+XG5cdFx0PHUtbGluZVxuXHRcdCAgICA6Y29sb3I9XCJsaW5lQ29sb3JcIlxuXHRcdCAgICA6Y3VzdG9tU3R5bGU9XCJsZWZ0TGluZVN0eWxlXCJcblx0XHQgICAgOmhhaXJsaW5lPVwiaGFpcmxpbmVcIlxuXHRcdFx0OmRhc2hlZD1cImRhc2hlZFwiXG5cdFx0PjwvdS1saW5lPlxuXHRcdDx0ZXh0XG5cdFx0ICAgIHYtaWY9XCJkb3RcIlxuXHRcdCAgICBjbGFzcz1cInUtZGl2aWRlcl9fZG90XCJcblx0XHQ+4pePPC90ZXh0PlxuXHRcdDx0ZXh0XG5cdFx0ICAgIHYtZWxzZS1pZj1cInRleHRcIlxuXHRcdCAgICBjbGFzcz1cInUtZGl2aWRlcl9fdGV4dFwiXG5cdFx0ICAgIDpzdHlsZT1cIlt0ZXh0U3R5bGVdXCJcblx0XHQ+e3t0ZXh0fX08L3RleHQ+XG5cdFx0PHUtbGluZVxuXHRcdCAgICA6Y29sb3I9XCJsaW5lQ29sb3JcIlxuXHRcdCAgICA6Y3VzdG9tU3R5bGU9XCJyaWdodExpbmVTdHlsZVwiXG5cdFx0ICAgIDpoYWlybGluZT1cImhhaXJsaW5lXCJcblx0XHRcdDpkYXNoZWQ9XCJkYXNoZWRcIlxuXHRcdD48L3UtbGluZT5cblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblx0aW1wb3J0IHByb3BzIGZyb20gJy4vcHJvcHMuanMnO1xuXHQvKipcblx0ICogZGl2aWRlciDliIblibLnur9cblx0ICogQGRlc2NyaXB0aW9uIOWMuumalOWGheWuueeahOWIhuWJsue6v++8jOS4gOiIrOeUqOS6jumhtemdouW6lemDqFwi5rKh5pyJ5pu05aSaXCLnmoTmj5DnpLrjgIJcblx0ICogQHR1dG9yaWFsIGh0dHBzOi8vd3d3LnV2aWV3dWkuY29tL2NvbXBvbmVudHMvZGl2aWRlci5odG1sXG5cdCAqIEBwcm9wZXJ0eSB7Qm9vbGVhbn1cdFx0XHRkYXNoZWRcdFx0XHTmmK/lkKbomZrnur8g77yI6buY6K6kIGZhbHNlIO+8iVxuXHQgKiBAcHJvcGVydHkge0Jvb2xlYW59XHRcdFx0aGFpcmxpbmVcdFx05piv5ZCm57uG57q/IO+8iOm7mOiupCAgdHJ1ZSDvvIlcblx0ICogQHByb3BlcnR5IHtCb29sZWFufVx0XHRcdGRvdFx0XHRcdFx05piv5ZCm5Lul54K55pu/5Luj5paH5a2X77yM5LyY5YWI5LqOdGV4dOWtl+autei1t+S9nOeUqCDvvIjpu5jorqQgZmFsc2Ug77yJXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfVx0XHRcdHRleHRQb3NpdGlvblx05YaF5a655paH5pys55qE5L2N572u77yMbGVmdC3lt6bovrnvvIxjZW50ZXIt5Lit6Ze077yMcmlnaHQt5Y+z6L65IO+8iOm7mOiupCAnY2VudGVyJyDvvIlcblx0ICogQHByb3BlcnR5IHtTdHJpbmcgfCBOdW1iZXJ9XHR0ZXh0XHRcdFx05paH5pys5YaF5a65XG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nIHwgTnVtYmVyfVx0dGV4dFNpemVcdFx05paH5pys5aSn5bCPIO+8iOm7mOiupCAxNO+8iVxuXHQgKiBAcHJvcGVydHkge1N0cmluZ31cdFx0XHR0ZXh0Q29sb3JcdFx05paH5pys6aKc6ImyIO+8iOm7mOiupCAnIzkwOTM5OScg77yJXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfVx0XHRcdGxpbmVDb2xvclx0XHTnur/mnaHpopzoibIg77yI6buY6K6kICcjZGNkZmU2JyDvvIlcblx0ICogQHByb3BlcnR5IHtPYmplY3R9XHRcdFx0Y3VzdG9tU3R5bGVcdFx05a6a5LmJ6ZyA6KaB55So5Yiw55qE5aSW6YOo5qC35byPXG5cdCAqXG5cdCAqIEBldmVudCB7RnVuY3Rpb259XHRjbGlja1x0ZGl2aWRlcue7hOS7tuiiq+eCueWHu+aXtuinpuWPkVxuXHQgKiBAZXhhbXBsZSA8dS1kaXZpZGVyIDpjb2xvcj1cImNvbG9yXCI+6ZSm55Gf5peg56uv5LqU5Y2B5bymPC91LWRpdmlkZXI+XG5cdCAqL1xuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0bmFtZTondS1kaXZpZGVyJyxcblx0XHRtaXhpbnM6IFt1bmkuJHUubXBNaXhpbiwgdW5pLiR1Lm1peGluLHByb3BzXSxcblx0XHRjb21wdXRlZDoge1xuXHRcdFx0dGV4dFN0eWxlKCkge1xuXHRcdFx0XHRjb25zdCBzdHlsZSA9IHt9XG5cdFx0XHRcdHN0eWxlLmZvbnRTaXplID0gdW5pLiR1LmFkZFVuaXQodGhpcy50ZXh0U2l6ZSlcblx0XHRcdFx0c3R5bGUuY29sb3IgPSB0aGlzLnRleHRDb2xvclxuXHRcdFx0XHRyZXR1cm4gc3R5bGVcblx0XHRcdH0sXG5cdFx0XHQvLyDlt6bovrnnur/mnaHnmoTnmoTmoLflvI9cblx0XHRcdGxlZnRMaW5lU3R5bGUoKSB7XG5cdFx0XHRcdGNvbnN0IHN0eWxlID0ge31cblx0XHRcdFx0Ly8g5aaC5p6c5piv5Zyo5bem6L6577yM6K6+572u5bem6L6555qE5a695bqm5Li65Zu65a6a5YC8XG5cdFx0XHRcdGlmICh0aGlzLnRleHRQb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XG5cdFx0XHRcdFx0c3R5bGUud2lkdGggPSAnODBycHgnXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0c3R5bGUuZmxleCA9IDFcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gc3R5bGVcblx0XHRcdH0sXG5cdFx0XHQvLyDlj7Povrnnur/mnaHnmoTnmoTmoLflvI9cblx0XHRcdHJpZ2h0TGluZVN0eWxlKCkge1xuXHRcdFx0XHRjb25zdCBzdHlsZSA9IHt9XG5cdFx0XHRcdC8vIOWmguaenOaYr+WcqOWPs+i+ue+8jOiuvue9ruWPs+i+ueeahOWuveW6puS4uuWbuuWumuWAvFxuXHRcdFx0XHRpZiAodGhpcy50ZXh0UG9zaXRpb24gPT09ICdyaWdodCcpIHtcblx0XHRcdFx0XHRzdHlsZS53aWR0aCA9ICc4MHJweCdcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzdHlsZS5mbGV4ID0gMVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBzdHlsZVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0bWV0aG9kczoge1xuXHRcdFx0Ly8gZGl2aWRlcue7hOS7tuiiq+eCueWHu+aXtuinpuWPkVxuXHRcdFx0Y2xpY2soKSB7XG5cdFx0XHRcdHRoaXMuJGVtaXQoJ2NsaWNrJyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuXHRAaW1wb3J0ICcuLi8uLi9saWJzL2Nzcy9jb21wb25lbnRzLnNjc3MnO1xuXHQkdS1kaXZpZGVyLW1hcmdpbjoxNXB4IDAgIWRlZmF1bHQ7XG5cdCR1LWRpdmlkZXItdGV4dC1tYXJnaW46MCAxNXB4ICFkZWZhdWx0O1xuXHQkdS1kaXZpZGVyLWRvdC1mb250LXNpemU6MTJweCAhZGVmYXVsdDtcblx0JHUtZGl2aWRlci1kb3QtbWFyZ2luOjAgMTJweCAhZGVmYXVsdDtcblx0JHUtZGl2aWRlci1kb3QtY29sb3I6ICNjMGM0Y2MgIWRlZmF1bHQ7XG5cblx0LnUtZGl2aWRlciB7XG5cdFx0QGluY2x1ZGUgZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0bWFyZ2luOiAkdS1kaXZpZGVyLW1hcmdpbjtcblxuXHRcdCZfX3RleHQge1xuXHRcdFx0bWFyZ2luOiAkdS1kaXZpZGVyLXRleHQtbWFyZ2luO1xuXHRcdH1cblxuXHRcdCZfX2RvdCB7XG5cdFx0XHRmb250LXNpemU6ICR1LWRpdmlkZXItZG90LWZvbnQtc2l6ZTtcblx0XHRcdG1hcmdpbjogJHUtZGl2aWRlci1kb3QtbWFyZ2luO1xuXHRcdFx0Y29sb3I6ICR1LWRpdmlkZXItZG90LWNvbG9yO1xuXHRcdH1cblx0fVxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///272\n");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_image_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../HBuilderX.3.8.4.20230531/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./u--image.vue?vue&type=script&lang=js& */ 273);\n/* harmony import */ var _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_image_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_image_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_image_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 _HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_image_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_3_8_4_20230531_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_u_image_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWdxQixDQUFnQixpcUJBQUcsRUFBQyIsImZpbGUiOiIyNzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uL0hCdWlsZGVyWC4zLjguNC4yMDIzMDUzMS9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uL0hCdWlsZGVyWC4zLjguNC4yMDIzMDUzMS9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uL0hCdWlsZGVyWC4zLjguNC4yMDIzMDUzMS9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9IQnVpbGRlclguMy44LjQuMjAyMzA1MzEvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vdS0taW1hZ2UudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uL0hCdWlsZGVyWC4zLjguNC4yMDIzMDUzMS9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uL0hCdWlsZGVyWC4zLjguNC4yMDIzMDUzMS9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uL0hCdWlsZGVyWC4zLjguNC4yMDIzMDUzMS9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9IQnVpbGRlclguMy44LjQuMjAyMzA1MzEvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vdS0taW1hZ2UudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///272\n");
/***/ }),
/* 273 */
/*!*******************************************************************************!*\
  !*** G:/workspace/testApp/uni_modules/uview-ui/components/u-divider/props.js ***!
  \*******************************************************************************/
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./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!G:/workspace/testApp/uni_modules/uview-ui/components/u--image/u--image.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;\nvar _default = {\n  props: {\n    // 是否虚线\n    dashed: {\n      type: Boolean,\n      default: uni.$u.props.divider.dashed\n    },\n    // 是否细线\n    hairline: {\n      type: Boolean,\n      default: uni.$u.props.divider.hairline\n    },\n    // 是否以点替代文字,优先于text字段起作用\n    dot: {\n      type: Boolean,\n      default: uni.$u.props.divider.dot\n    },\n    // 内容文本的位置,left-左边,center-中间,right-右边\n    textPosition: {\n      type: String,\n      default: uni.$u.props.divider.textPosition\n    },\n    // 文本内容\n    text: {\n      type: [String, Number],\n      default: uni.$u.props.divider.text\n    },\n    // 文本大小\n    textSize: {\n      type: [String, Number],\n      default: uni.$u.props.divider.textSize\n    },\n    // 文本颜色\n    textColor: {\n      type: String,\n      default: uni.$u.props.divider.textColor\n    },\n    // 线条颜色\n    lineColor: {\n      type: String,\n      default: uni.$u.props.divider.lineColor\n    }\n  }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvdXZpZXctdWkvY29tcG9uZW50cy91LWRpdmlkZXIvcHJvcHMuanMiXSwibmFtZXMiOlsicHJvcHMiLCJkYXNoZWQiLCJ0eXBlIiwiQm9vbGVhbiIsImRlZmF1bHQiLCJ1bmkiLCIkdSIsImRpdmlkZXIiLCJoYWlybGluZSIsImRvdCIsInRleHRQb3NpdGlvbiIsIlN0cmluZyIsInRleHQiLCJOdW1iZXIiLCJ0ZXh0U2l6ZSIsInRleHRDb2xvciIsImxpbmVDb2xvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2VBQWU7RUFDWEEsS0FBSyxFQUFFO0lBQ0g7SUFDQUMsTUFBTSxFQUFFO01BQ0pDLElBQUksRUFBRUMsT0FBTztNQUNiQyxPQUFPLEVBQUVDLEdBQUcsQ0FBQ0MsRUFBRSxDQUFDTixLQUFLLENBQUNPLE9BQU8sQ0FBQ047SUFDbEMsQ0FBQztJQUNEO0lBQ0FPLFFBQVEsRUFBRTtNQUNOTixJQUFJLEVBQUVDLE9BQU87TUFDYkMsT0FBTyxFQUFFQyxHQUFHLENBQUNDLEVBQUUsQ0FBQ04sS0FBSyxDQUFDTyxPQUFPLENBQUNDO0lBQ2xDLENBQUM7SUFDRDtJQUNBQyxHQUFHLEVBQUU7TUFDRFAsSUFBSSxFQUFFQyxPQUFPO01BQ2JDLE9BQU8sRUFBRUMsR0FBRyxDQUFDQyxFQUFFLENBQUNOLEtBQUssQ0FBQ08sT0FBTyxDQUFDRTtJQUNsQyxDQUFDO0lBQ0Q7SUFDQUMsWUFBWSxFQUFFO01BQ1ZSLElBQUksRUFBRVMsTUFBTTtNQUNaUCxPQUFPLEVBQUVDLEdBQUcsQ0FBQ0MsRUFBRSxDQUFDTixLQUFLLENBQUNPLE9BQU8sQ0FBQ0c7SUFDbEMsQ0FBQztJQUNEO0lBQ0FFLElBQUksRUFBRTtNQUNGVixJQUFJLEVBQUUsQ0FBQ1MsTUFBTSxFQUFFRSxNQUFNLENBQUM7TUFDdEJULE9BQU8sRUFBRUMsR0FBRyxDQUFDQyxFQUFFLENBQUNOLEtBQUssQ0FBQ08sT0FBTyxDQUFDSztJQUNsQyxDQUFDO0lBQ0Q7SUFDQUUsUUFBUSxFQUFFO01BQ05aLElBQUksRUFBRSxDQUFDUyxNQUFNLEVBQUVFLE1BQU0sQ0FBQztNQUN0QlQsT0FBTyxFQUFFQyxHQUFHLENBQUNDLEVBQUUsQ0FBQ04sS0FBSyxDQUFDTyxPQUFPLENBQUNPO0lBQ2xDLENBQUM7SUFDRDtJQUNBQyxTQUFTLEVBQUU7TUFDUGIsSUFBSSxFQUFFUyxNQUFNO01BQ1pQLE9BQU8sRUFBRUMsR0FBRyxDQUFDQyxFQUFFLENBQUNOLEtBQUssQ0FBQ08sT0FBTyxDQUFDUTtJQUNsQyxDQUFDO0lBQ0Q7SUFDQUMsU0FBUyxFQUFFO01BQ1BkLElBQUksRUFBRVMsTUFBTTtNQUNaUCxPQUFPLEVBQUVDLEdBQUcsQ0FBQ0MsRUFBRSxDQUFDTixLQUFLLENBQUNPLE9BQU8sQ0FBQ1M7SUFDbEM7RUFDSjtBQUNKLENBQUM7QUFBQSIsImZpbGUiOiIyNzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XG4gICAgcHJvcHM6IHtcbiAgICAgICAgLy8g5piv5ZCm6Jma57q/XG4gICAgICAgIGRhc2hlZDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IHVuaS4kdS5wcm9wcy5kaXZpZGVyLmRhc2hlZFxuICAgICAgICB9LFxuICAgICAgICAvLyDmmK/lkKbnu4bnur9cbiAgICAgICAgaGFpcmxpbmU6IHtcbiAgICAgICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgICAgICBkZWZhdWx0OiB1bmkuJHUucHJvcHMuZGl2aWRlci5oYWlybGluZVxuICAgICAgICB9LFxuICAgICAgICAvLyDmmK/lkKbku6Xngrnmm7/ku6PmloflrZfvvIzkvJjlhYjkuo50ZXh05a2X5q616LW35L2c55SoXG4gICAgICAgIGRvdDoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIGRlZmF1bHQ6IHVuaS4kdS5wcm9wcy5kaXZpZGVyLmRvdFxuICAgICAgICB9LFxuICAgICAgICAvLyDlhoXlrrnmlofmnKznmoTkvY3nva7vvIxsZWZ0LeW3pui+ue+8jGNlbnRlci3kuK3pl7TvvIxyaWdodC3lj7PovrlcbiAgICAgICAgdGV4dFBvc2l0aW9uOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiB1bmkuJHUucHJvcHMuZGl2aWRlci50ZXh0UG9zaXRpb25cbiAgICAgICAgfSxcbiAgICAgICAgLy8g5paH5pys5YaF5a65XG4gICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgIHR5cGU6IFtTdHJpbmcsIE51bWJlcl0sXG4gICAgICAgICAgICBkZWZhdWx0OiB1bmkuJHUucHJvcHMuZGl2aWRlci50ZXh0XG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaWh+acrOWkp+Wwj1xuICAgICAgICB0ZXh0U2l6ZToge1xuICAgICAgICAgICAgdHlwZTogW1N0cmluZywgTnVtYmVyXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6IHVuaS4kdS5wcm9wcy5kaXZpZGVyLnRleHRTaXplXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaWh+acrOminOiJslxuICAgICAgICB0ZXh0Q29sb3I6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IHVuaS4kdS5wcm9wcy5kaXZpZGVyLnRleHRDb2xvclxuICAgICAgICB9LFxuICAgICAgICAvLyDnur/mnaHpopzoibJcbiAgICAgICAgbGluZUNvbG9yOiB7XG4gICAgICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0OiB1bmkuJHUucHJvcHMuZGl2aWRlci5saW5lQ29sb3JcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///273\n");
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _uImage = _interopRequireDefault(__webpack_require__(/*! ../u-image/u-image.vue */ 229));\nvar _props = _interopRequireDefault(__webpack_require__(/*! ../u-image/props.js */ 234));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/**\n * 此组件存在的理由是,在nvue下,u-image被uni-app官方占用了,u-image在nvue中相当于image组件\n * 所以在nvue下,取名为u--image,内部其实还是u-iamge.vue,只不过做一层中转\n */\nvar _default = {\n  name: 'u--image',\n  mixins: [uni.$u.mpMixin, _props.default, uni.$u.mixin],\n  components: {\n    uvImage: _uImage.default\n  }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvdXZpZXctdWkvY29tcG9uZW50cy91LS1pbWFnZS91LS1pbWFnZS52dWUiXSwibmFtZXMiOlsibmFtZSIsIm1peGlucyIsImNvbXBvbmVudHMiLCJ1dkltYWdlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBcUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBSEEsZUFNQTtFQUNBQTtFQUNBQztFQUNBQztJQUNBQztFQUNBO0FBQ0E7QUFBQSIsImZpbGUiOiIyNzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHV2SW1hZ2UgXHJcblx0XHQ6c3JjPVwic3JjXCJcclxuXHRcdDptb2RlPVwibW9kZVwiXHJcblx0XHQ6d2lkdGg9XCJ3aWR0aFwiXHJcblx0XHQ6aGVpZ2h0PVwiaGVpZ2h0XCJcclxuXHRcdDpzaGFwZT1cInNoYXBlXCJcclxuXHRcdDpyYWRpdXM9XCJyYWRpdXNcIlxyXG5cdFx0OmxhenlMb2FkPVwibGF6eUxvYWRcIlxyXG5cdFx0OnNob3dNZW51QnlMb25ncHJlc3M9XCJzaG93TWVudUJ5TG9uZ3ByZXNzXCJcclxuXHRcdDpsb2FkaW5nSWNvbj1cImxvYWRpbmdJY29uXCJcclxuXHRcdDplcnJvckljb249XCJlcnJvckljb25cIlxyXG5cdFx0OnNob3dMb2FkaW5nPVwic2hvd0xvYWRpbmdcIlxyXG5cdFx0OnNob3dFcnJvcj1cInNob3dFcnJvclwiXHJcblx0XHQ6ZmFkZT1cImZhZGVcIlxyXG5cdFx0OndlYnA9XCJ3ZWJwXCJcclxuXHRcdDpkdXJhdGlvbj1cImR1cmF0aW9uXCJcclxuXHRcdDpiZ0NvbG9yPVwiYmdDb2xvclwiXHJcblx0XHQ6Y3VzdG9tU3R5bGU9XCJjdXN0b21TdHlsZVwiXHJcblx0XHRAY2xpY2s9XCIkZW1pdCgnY2xpY2snKVwiXHJcblx0XHRAZXJyb3I9XCIkZW1pdCgnZXJyb3InKVwiXHJcblx0XHRAbG9hZD1cIiRlbWl0KCdsb2FkJylcIlxyXG5cdD5cblx0XHQ8dGVtcGxhdGUgdi1zbG90OmxvYWRpbmc+XG5cdFx0XHQ8c2xvdCBuYW1lPVwibG9hZGluZ1wiPjwvc2xvdD5cblx0XHQ8L3RlbXBsYXRlPlxuXHRcdDx0ZW1wbGF0ZSB2LXNsb3Q6ZXJyb3I+XG5cdFx0XHQ8c2xvdCBuYW1lPVwiZXJyb3JcIj48L3Nsb3Q+XG5cdFx0PC90ZW1wbGF0ZT5cblx0PC91dkltYWdlPlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHQvKipcclxuXHQgKiDmraTnu4Tku7blrZjlnKjnmoTnkIbnlLHmmK/vvIzlnKhudnVl5LiL77yMdS1pbWFnZeiiq3VuaS1hcHDlrpjmlrnljaDnlKjkuobvvIx1LWltYWdl5ZyobnZ1ZeS4reebuOW9k+S6jmltYWdl57uE5Lu2XHJcblx0ICog5omA5Lul5ZyobnZ1ZeS4i++8jOWPluWQjeS4unUtLWltYWdl77yM5YaF6YOo5YW25a6e6L+Y5pivdS1pYW1nZS52dWXvvIzlj6rkuI3ov4flgZrkuIDlsYLkuK3ovaxcclxuXHQgKi9cclxuXHRpbXBvcnQgdXZJbWFnZSBmcm9tICcuLi91LWltYWdlL3UtaW1hZ2UudnVlJztcclxuXHRpbXBvcnQgcHJvcHMgZnJvbSAnLi4vdS1pbWFnZS9wcm9wcy5qcyc7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0bmFtZTogJ3UtLWltYWdlJyxcclxuXHRcdG1peGluczogW3VuaS4kdS5tcE1peGluLCBwcm9wcywgdW5pLiR1Lm1peGluXSxcclxuXHRcdGNvbXBvbmVudHM6IHtcclxuXHRcdFx0dXZJbWFnZVxyXG5cdFx0fSxcclxuXHR9XHJcbjwvc2NyaXB0PiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///273\n");
/***/ }),
/* 274 */
@@ -22897,18 +22973,17 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 15));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 23));\nvar _wearhouse = __webpack_require__(/*! ../../../api/wearhouse.js */ 288);\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 75));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {},\n  data: function data() {\n    return {\n      statusBarHeight: 0,\n      bank: {},\n      idList: [],\n      questionList: [],\n      currentIndex: 0,\n      currentQ: {},\n      currentA: '',\n      currentB: [],\n      viewType: null\n    };\n  },\n  onReady: function onReady() {},\n  onLoad: function onLoad(e) {\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    this.bank = e.bank && JSON.parse(decodeURIComponent(e.bank));\n    this.viewType = e.type && JSON.parse(decodeURIComponent(e.type));\n    this.getQuestionIds(this.bank.paperId);\n  },\n  onShow: function onShow() {},\n  mounted: function mounted() {},\n  computed: {},\n  beforeUnmount: function beforeUnmount() {},\n  beforeDestroy: function beforeDestroy() {},\n  methods: {\n    getQuestionIds: function getQuestionIds(id) {\n      var _this = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n        var res, list;\n        return _regenerator.default.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return (0, _wearhouse.getExamIdIdList)({\n                  paperId: id,\n                  viewType: _this.viewType\n                });\n              case 2:\n                res = _context.sent;\n                if (res.code == 200) {\n                  list = res.data || [];\n                  if (list.length > 0) {\n                    _this.idList = list;\n                    (0, _wearhouse.getExamListByIds)({\n                      paperId: id,\n                      questionIds: list.map(function (i) {\n                        return i.id;\n                      })\n                    }).then(function (re) {\n                      if (re.code == 200) {\n                        _this.questionList = re.data.map(function (i) {\n                          i.content = JSON.parse(i.content);\n                          _vue.default.set(i, 'passed', null);\n                          if (i.studentAnswer) {\n                            i.exExerciseAnswer.answer = i.studentAnswer.answer;\n                            i.exExerciseAnswer.passed = i.studentAnswer.passed;\n                          }\n                          if (i.questionType == 2) {\n                            if (i.exExerciseAnswer.answer) {\n                              i.exExerciseAnswer.answer = i.exExerciseAnswer.answer.split(',');\n                            }\n                          }\n                          return i;\n                        });\n                        _this.currentQ = _this.questionList[_this.currentIndex];\n                        __f__(\"log\", _this.currentQ, '当前问题', \" at pages/tabBar/firstPage/exam.vue:158\");\n                      } else {\n                        uni.$u.toast(res.message);\n                      }\n                    });\n                  } else {\n                    _this.idList = [];\n                    uni.showToast({\n                      title: '本题库暂无题目',\n                      duration: 1000\n                    });\n                  }\n                } else {\n                  uni.$u.toast(res.message);\n                }\n              case 4:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    checkboxChange: function checkboxChange(n) {\n      __f__(\"log\", 'change', n, \" at pages/tabBar/firstPage/exam.vue:175\");\n    },\n    groupChange: function groupChange(n) {\n      __f__(\"log\", 'groupChange', n, \" at pages/tabBar/firstPage/exam.vue:178\");\n    },\n    radioChange: function radioChange(n) {\n      __f__(\"log\", 'radioChange', n, \" at pages/tabBar/firstPage/exam.vue:181\");\n    },\n    confirmAnswer: function confirmAnswer() {\n      var _this2 = this;\n      var data = {\n        answer: this.currentQ.questionType == 2 ? this.currentQ.exExerciseAnswer.answer.join(',') : this.currentQ.exExerciseAnswer.answer,\n        paperId: this.bank.paperId,\n        questionId: this.currentQ.id,\n        studentId: uni.getStorageSync('uid')\n      };\n      (0, _wearhouse.postExamAnswer)(data).then(function (res) {\n        if (res.code == 200) {\n          _this2.currentQ.passed = res.data;\n          uni.$u.toast('答案已提交');\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    prevQ: function prevQ() {\n      if (this.currentIndex - 1 >= 0) {\n        this.currentIndex--;\n        this.currentQ = this.questionList[this.currentIndex];\n      } else {\n        uni.showToast({\n          title: '已经是第一题了',\n          duration: 1000\n        });\n      }\n    },\n    nextQ: function nextQ() {\n      if (this.currentQ.passed == null && this.currentQ.exExerciseAnswer.passed == null) {\n        uni.$u.toast('请先完成当前题目');\n        return;\n      }\n      if (this.currentIndex + 1 < this.questionList.length) {\n        this.currentIndex++;\n        this.currentQ = this.questionList[this.currentIndex];\n      } else {\n        uni.showToast({\n          title: '已经是最后一题了',\n          duration: 1000\n        });\n      }\n      __f__(\"log\", this.currentQ, 'current', \" at pages/tabBar/firstPage/exam.vue:227\");\n    },\n    endExam: function endExam() {\n      if (this.currentQ.passed == null && this.currentQ.exExerciseAnswer.passed == null) {\n        uni.$u.toast('请先完成当前题目');\n        return;\n      }\n      var data = {\n        id: this.bank.id\n        // paperId: this.bank.paperId,\n        // studentId: uni.getStorageSync('uid')\n      };\n\n      (0, _wearhouse.postEndExam)(data).then(function (res) {\n        if (res.code == 200) {\n          uni.showToast({\n            title: '本次考试结束',\n            duration: 1500\n          });\n          setTimeout(function () {\n            var url = uni.getStorageSync(\"prevPage\");\n            if (url) {\n              if (url == '/pages/tabBar/firstPage/firstPage') {\n                uni.reLaunch({\n                  url: '/pages/tabBar/firstPage/firstPage'\n                });\n              } else {\n                uni.navigateTo({\n                  url: url\n                });\n              }\n            } else {\n              uni.reLaunch({\n                url: '/pages/tabBar/firstPage/firstPage'\n              });\n            }\n          }, 1500);\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    showA: function showA() {\n      uni.showModal({\n        title: '正确答案',\n        content: this.currentQ.answer,\n        showCancel: false,\n        success: function success(res) {\n          if (res.confirm) {\n            __f__(\"log\", '用户点击确定', \" at pages/tabBar/firstPage/exam.vue:277\");\n          }\n        }\n      });\n    },\n    goBack: function goBack() {\n      var url = uni.getStorageSync(\"prevPage\");\n      if (url) {\n        uni.reLaunch({\n          url: url\n        });\n      } else {\n        uni.reLaunch({\n          url: '/pages/tabBar/firstPage/firstPage'\n        });\n      }\n    }\n  }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9leGFtLnZ1ZSJdLCJuYW1lcyI6WyJjb21wb25lbnRzIiwiZGF0YSIsInN0YXR1c0JhckhlaWdodCIsImJhbmsiLCJpZExpc3QiLCJxdWVzdGlvbkxpc3QiLCJjdXJyZW50SW5kZXgiLCJjdXJyZW50USIsImN1cnJlbnRBIiwiY3VycmVudEIiLCJ2aWV3VHlwZSIsIm9uUmVhZHkiLCJvbkxvYWQiLCJvblNob3ciLCJtb3VudGVkIiwiY29tcHV0ZWQiLCJiZWZvcmVVbm1vdW50IiwiYmVmb3JlRGVzdHJveSIsIm1ldGhvZHMiLCJnZXRRdWVzdGlvbklkcyIsInBhcGVySWQiLCJyZXMiLCJsaXN0IiwicXVlc3Rpb25JZHMiLCJpIiwiVnVlIiwidW5pIiwidGl0bGUiLCJkdXJhdGlvbiIsImNoZWNrYm94Q2hhbmdlIiwiZ3JvdXBDaGFuZ2UiLCJyYWRpb0NoYW5nZSIsImNvbmZpcm1BbnN3ZXIiLCJhbnN3ZXIiLCJxdWVzdGlvbklkIiwic3R1ZGVudElkIiwicHJldlEiLCJuZXh0USIsImVuZEV4YW0iLCJpZCIsInNldFRpbWVvdXQiLCJ1cmwiLCJzaG93QSIsImNvbnRlbnQiLCJzaG93Q2FuY2VsIiwic3VjY2VzcyIsImdvQmFjayJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBcUZBO0FBSUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFFQTtFQUNBQSxhQUVBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDLDZCQUNBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFDQTtFQUNBQywyQkFFQTtFQUNBQyw2QkFFQTtFQUNBQyxXQUVBO0VBQ0FDLHlDQUVBO0VBRUFDLHlDQUVBO0VBRUFDO0lBQ0FDO01BQUE7TUFBQTtRQUFBO1FBQUE7VUFBQTtZQUFBO2NBQUE7Z0JBQUE7Z0JBQUEsT0FDQTtrQkFBQUM7a0JBQUFWO2dCQUFBO2NBQUE7Z0JBQUFXO2dCQUNBO2tCQUNBQztrQkFDQTtvQkFDQTtvQkFDQTtzQkFBQUY7c0JBQUFHO3dCQUFBO3NCQUFBO29CQUFBO3NCQUNBO3dCQUNBOzBCQUNBQzswQkFDQUM7MEJBQ0E7NEJBQ0FEOzRCQUNBQTswQkFDQTswQkFDQTs0QkFDQTs4QkFDQUE7NEJBQ0E7MEJBQ0E7MEJBQ0E7d0JBQ0E7d0JBQ0E7d0JBQ0E7c0JBQ0E7d0JBQ0FFO3NCQUNBO29CQUNBO2tCQUNBO29CQUNBO29CQUNBQTtzQkFDQUM7c0JBQ0FDO29CQUNBO2tCQUNBO2dCQUNBO2tCQUNBRjtnQkFDQTtjQUFBO2NBQUE7Z0JBQUE7WUFBQTtVQUFBO1FBQUE7TUFBQTtJQUNBO0lBQ0FHO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBRUFDO01BQUE7TUFDQTtRQUNBQztRQUNBYjtRQUNBYztRQUNBQztNQUNBO01BQ0E7UUFDQTtVQUNBO1VBQ0FUO1FBQ0E7VUFDQUE7UUFDQTtNQUNBO0lBQ0E7SUFFQVU7TUFDQTtRQUNBO1FBQ0E7TUFDQTtRQUNBVjtVQUNBQztVQUNBQztRQUNBO01BQ0E7SUFDQTtJQUVBUztNQUNBO1FBQ0FYO1FBQ0E7TUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO1FBQ0FBO1VBQ0FDO1VBQ0FDO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFFQVU7TUFDQTtRQUNBWjtRQUNBO01BQ0E7TUFDQTtRQUNBYTtRQUNBO1FBQ0E7TUFDQTs7TUFDQTtRQUNBO1VBQ0FiO1lBQ0FDO1lBQ0FDO1VBQ0E7VUFDQVk7WUFDQTtZQUNBO2NBQ0E7Z0JBQ0FkO2tCQUNBZTtnQkFDQTtjQUNBO2dCQUNBZjtrQkFDQWU7Z0JBQ0E7Y0FDQTtZQUNBO2NBQ0FmO2dCQUNBZTtjQUNBO1lBQ0E7VUFDQTtRQUNBO1VBQ0FmO1FBQ0E7TUFDQTtJQUNBO0lBRUFnQjtNQUNBaEI7UUFDQUM7UUFDQWdCO1FBQ0FDO1FBQ0FDO1VBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUFDO01BQ0E7TUFDQTtRQUNBcEI7VUFDQWU7UUFDQTtNQUNBO1FBQ0FmO1VBQ0FlO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjI4Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cbiAgPHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47aGVpZ2h0OiAxMDAlO1wiPlxuICAgIDwhLS0g6Ieq5a6a5LmJ5a+86Iiq5qCPIC0tPlxuICAgIDx2aWV3IGNsYXNzPVwibmF2QmFyQm94XCI+XG4gICAgICA8IS0tIOeKtuaAgeagj+WNoOS9jSAtLT5cbiAgICAgIDx2aWV3IGNsYXNzPVwic3RhdHVzQmFyXCIgOnN0eWxlPVwieyBwYWRkaW5nVG9wOiBzdGF0dXNCYXJIZWlnaHQgKyAncHgnIH1cIj48L3ZpZXc+XG4gICAgICA8IS0tIOecn+ato+eahOWvvOiIquagj+WGheWuuSAtLT5cbiAgICAgIDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcIj5cbiAgICAgICAgPHZpZXcgY2xhc3M9XCJuYXZCYXJcIj5cbiAgICAgICAgICA8dS1pY29uIG5hbWU9XCJhcnJvdy1sZWZ0XCIgY29sb3I9XCJibGFja1wiIHNpemU9XCIxN1wiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDhweDtcIiBAY2xpY2s9XCJnb0JhY2tcIi8+XG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJiYXJUZXh0XCI+6aKY55uu5YaF5a65PC92aWV3PlxuICAgICAgICAgIDwhLS0gXHRcdFx0XHRcdDx2aWV3ID5cbiAgICAgICAgICAgICAgICAgICAgICA8dS1idXR0b24gdHlwZT1cInRleHRcIiBAY2xpY2s9XCJsb2dpbk91dFwiIHN0eWxlPVwiY29sb3I6IGJsdWU7bWFyZ2luLXJpZ2h0OiA1cHg7XCI+6YCA5Ye6PC91LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC92aWV3PiAtLT5cbiAgICAgICAgPC92aWV3PlxuICAgICAgPC92aWV3PlxuICAgIDwvdmlldz5cbiAgICA8dmlldyBjbGFzcz1cIm0tcC0xNVwiPlxuICAgICAgPHUtZGl2aWRlclxuICAgICAgICAgIDp0ZXh0PVwiJ+esrCcrIChjdXJyZW50SW5kZXgrMSkgKyfpopgnXCJcbiAgICAgICAgICB0ZXh0Q29sb3I9XCIjMjk3OWZmXCJcbiAgICAgICAgICBsaW5lQ29sb3I9XCIjMjk3OWZmXCJcbiAgICAgICAgICB0ZXh0U2l6ZT1cIjE2XCJcbiAgICAgICAgICBzdHlsZT1cIm1hcmdpbjogNDBweCAwXCJcbiAgICAgID48L3UtZGl2aWRlcj5cbiAgICAgIDx2aWV3IGNsYXNzPVwicXVlc3Rpb25zXCI+XG4gICAgICAgIDx2aWV3IGNsYXNzPVwidGl0bGVcIj5cbiAgICAgICAgICA8c3Bhbj7jgJB7e2N1cnJlbnRRLnF1ZXN0aW9uVHlwZSA9PSAxPyfljZXpgInpopgnOmN1cnJlbnRRLnF1ZXN0aW9uVHlwZSA9PSAyPyflpJrpgInpopgnOifliKTmlq3popgnfX3jgJE8L3NwYW4+XG4gICAgICAgICAge3tjdXJyZW50US50aXRsZX19XG4gICAgICAgIDwvdmlldz5cbiAgICAgICAgPHZpZXcgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgPHUtY2hlY2tib3gtZ3JvdXBcbiAgICAgICAgICAgICAgdi1pZj1cImN1cnJlbnRRLnF1ZXN0aW9uVHlwZT09MlwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJjdXJyZW50US5leEV4ZXJjaXNlQW5zd2VyLmFuc3dlclwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImNvbHVtblwiXG4gICAgICAgICAgICAgIDpkaXNhYmxlZD1cInZpZXdUeXBlPT0xP2ZhbHNlOnRydWVcIlxuICAgICAgICAgICAgICBAY2hhbmdlPVwiY2hlY2tib3hDaGFuZ2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx1LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgOmN1c3RvbVN0eWxlPVwie21hcmdpbkJvdHRvbTogJzIwcHgnfVwiXG4gICAgICAgICAgICAgICAgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGN1cnJlbnRRLmNvbnRlbnQuaXRlbXNcIlxuICAgICAgICAgICAgICAgIDprZXk9XCJpbmRleFwiXG4gICAgICAgICAgICAgICAgOmxhYmVsPVwiaXRlbS5wcmVmaXggKyfvvJonKyBpdGVtLmNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIDpuYW1lPVwiaXRlbS5wcmVmaXhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC91LWNoZWNrYm94PlxuICAgICAgICAgIDwvdS1jaGVja2JveC1ncm91cD5cbiAgICAgICAgICA8dS1yYWRpby1ncm91cCB2LW1vZGVsPVwiY3VycmVudFEuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXJcIiBwbGFjZW1lbnQ9XCJjb2x1bW5cIiBAY2hhbmdlPVwiZ3JvdXBDaGFuZ2VcIiB2LWlmPVwiY3VycmVudFEucXVlc3Rpb25UeXBlPT0xfHxjdXJyZW50US5xdWVzdGlvblR5cGU9PTNcIiA6ZGlzYWJsZWQ9XCJ2aWV3VHlwZT09MT9mYWxzZTp0cnVlXCI+XG4gICAgICAgICAgICA8dS1yYWRpb1xuICAgICAgICAgICAgICAgIDpjdXN0b21TdHlsZT1cInttYXJnaW5Cb3R0b206ICcyMHB4J31cIlxuICAgICAgICAgICAgICAgIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBjdXJyZW50US5jb250ZW50Lml0ZW1zXCJcbiAgICAgICAgICAgICAgICA6a2V5PVwiaW5kZXhcIlxuICAgICAgICAgICAgICAgIHNoYXBlPVwic3F1YXJlXCJcbiAgICAgICAgICAgICAgICA6bGFiZWw9XCJpdGVtLnByZWZpeCArJ++8micrIGl0ZW0uY29udGVudFwiXG4gICAgICAgICAgICAgICAgOm5hbWU9XCJpdGVtLnByZWZpeFwiXG4gICAgICAgICAgICAgICAgQGNoYW5nZT1cInJhZGlvQ2hhbmdlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvdS1yYWRpbz5cbiAgICAgICAgICA8L3UtcmFkaW8tZ3JvdXA+XG4gICAgICAgICAgPHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6IDgwJTttYXJnaW46IDMwcHggYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgIHYtaWY9XCJ2aWV3VHlwZSA9PTEgJiYgKGN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIgJiYgY3VycmVudFEuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXIgJiYgKHR5cGVvZiBjdXJyZW50US5leEV4ZXJjaXNlQW5zd2VyLmFuc3dlciA9PSBTdHJpbmc/Y3VycmVudFEuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXIgIT09Jyc6Y3VycmVudFEuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXIubGVuZ3RoPjApKVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCIgc2hhcGU9XCJjaXJjbGVcIiB0ZXh0PVwi56Gu6K6k562U5qGIXCJcbiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPVwiY29uZmlybUFuc3dlclwiPlxuICAgICAgICAgIDwvdS1idXR0b24+XG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJhbnN3ZXJzXCIgdi1pZj1cInZpZXdUeXBlID09IDIgJiYgY3VycmVudFEuc3R1ZGVudEFuc3dlciAmJiBjdXJyZW50US5zdHVkZW50QW5zd2VyLmFuc3dlclwiPlxuICAgICAgICAgICAgPHZpZXc+5L2g55qE562U5qGI77yaXG4gICAgICAgICAgICAgIDxzcGFuIHYtaWY9XCJjdXJyZW50US5xdWVzdGlvblR5cGU9PTJcIiA6Y2xhc3M9XCJjdXJyZW50US5hbnN3ZXIgPT0gY3VycmVudFEuc3R1ZGVudEFuc3dlci5hbnN3ZXI/J3JpZ2h0Jzond3JvbmcnXCI+e3tjdXJyZW50US5zdHVkZW50QW5zd2VyLmFuc3dlcn19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiB2LWVsc2UgOmNsYXNzPVwiY3VycmVudFEuYW5zd2VyID09IGN1cnJlbnRRLnN0dWRlbnRBbnN3ZXIuYW5zd2VyPydyaWdodCc6J3dyb25nJ1wiPnt7Y3VycmVudFEuc3R1ZGVudEFuc3dlci5hbnN3ZXJ9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvdmlldz5cbiAgICAgICAgICAgIDx2aWV3Puato+ehruetlOahiO+8mjxzcGFuIGNsYXNzPVwicmlnaHRcIj57e2N1cnJlbnRRLmFuc3dlcn19PC9zcGFuPjwvdmlldz5cbiAgICAgICAgICA8L3ZpZXc+XG4gICAgICAgIDwvdmlldz5cbiAgICAgIDwvdmlldz5cbiAgICA8L3ZpZXc+XG4gICAgPHZpZXcgY2xhc3M9XCJidG5zXCI+XG4gICAgICA8dS1idXR0b24gc3R5bGU9XCJ3aWR0aDogMzAlXCIgdHlwZT1cImVycm9yXCIgc2hhcGU9XCJjaXJjbGVcIiBzaXplPVwic21hbGxcIiB0ZXh0PVwi5LiK5LiA6aKYXCIgQGNsaWNrPVwicHJldlFcIj48L3UtYnV0dG9uPlxuPCEtLSAgICAgIDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOiAzMCVcIiB0eXBlPVwiZXJyb3JcIiBzaGFwZT1cImNpcmNsZVwiIHBsYWluIHNpemU9XCJzbWFsbFwiIHRleHQ9XCLmn6XnnIvnrZTmoYhcIiBAY2xpY2s9XCJzaG93QVwiPjwvdS1idXR0b24+LS0+XG4gICAgICA8dS1idXR0b24gdi1pZj1cImN1cnJlbnRJbmRleDxxdWVzdGlvbkxpc3QubGVuZ3RoIC0gMVwiIHN0eWxlPVwid2lkdGg6IDMwJVwiIHR5cGU9XCJlcnJvclwiIHNoYXBlPVwiY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgdGV4dD1cIuS4i+S4gOmimFwiIEBjbGljaz1cIm5leHRRXCI+PC91LWJ1dHRvbj5cbiAgICAgIDx1LWJ1dHRvbiB2LWlmPVwiY3VycmVudEluZGV4PT1xdWVzdGlvbkxpc3QubGVuZ3RoIC0gMSAmJiB2aWV3VHlwZSA9PSAxXCIgc3R5bGU9XCJ3aWR0aDogMzAlXCIgdHlwZT1cInByaW1hcnlcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIHRleHQ9XCLkv53lrZjpgIDlh7pcIiBAY2xpY2s9XCJlbmRFeGFtXCI+PC91LWJ1dHRvbj5cbiAgICAgIDx1LWJ1dHRvbiB2LWlmPVwiY3VycmVudEluZGV4PT1xdWVzdGlvbkxpc3QubGVuZ3RoIC0gMSAmJiB2aWV3VHlwZSA9PSAyXCIgc3R5bGU9XCJ3aWR0aDogMzAlXCIgdHlwZT1cInByaW1hcnlcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIHRleHQ9XCLpgIDlh7pcIiBAY2xpY2s9XCJnb0JhY2tcIj48L3UtYnV0dG9uPlxuICAgIDwvdmlldz5cblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCB7XG4gIGdldEV4YW1JZElkTGlzdCxcbiAgZ2V0RXhhbUxpc3RCeUlkcywgcG9zdEV4YW1BbnN3ZXIscG9zdEVuZEV4YW1cbn0gZnJvbSAnLi4vLi4vLi4vYXBpL3dlYXJob3VzZS5qcydcbmltcG9ydCBWdWUgZnJvbSAndnVlJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGNvbXBvbmVudHM6IHtcblxuXHR9LFxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG4gICAgICBzdGF0dXNCYXJIZWlnaHQ6IDAsXG4gICAgICBiYW5rOiB7fSxcbiAgICAgIGlkTGlzdDogW10sXG4gICAgICBxdWVzdGlvbkxpc3Q6IFtdLFxuICAgICAgY3VycmVudEluZGV4OiAwLFxuICAgICAgY3VycmVudFE6IHt9LFxuICAgICAgY3VycmVudEE6ICcnLFxuICAgICAgY3VycmVudEI6IFtdLFxuICAgICAgdmlld1R5cGU6IG51bGxcblx0XHR9XG5cdH0sXG4gIG9uUmVhZHkoKXtcbiAgfSxcblx0b25Mb2FkKGUpIHtcbiAgICB0aGlzLnN0YXR1c0JhckhlaWdodCA9IHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpWydzdGF0dXNCYXJIZWlnaHQnXVxuICAgIHRoaXMuYmFuayA9IGUuYmFuayAmJiBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudChlLmJhbmspKVxuICAgIHRoaXMudmlld1R5cGUgPSBlLnR5cGUgJiYgSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoZS50eXBlKSlcbiAgICB0aGlzLmdldFF1ZXN0aW9uSWRzKHRoaXMuYmFuay5wYXBlcklkKVxuXHR9LFxuXHRvblNob3coKXtcblxuXHR9LFxuXHRtb3VudGVkKCkge1xuXG5cdH0sXG4gIGNvbXB1dGVkOiB7XG5cbiAgfSxcblx0YmVmb3JlVW5tb3VudCgpIHtcblxuICB9LFxuXG4gIGJlZm9yZURlc3Ryb3koKSB7XG5cbiAgfSxcblxuICBtZXRob2RzOiB7XG4gICAgYXN5bmMgZ2V0UXVlc3Rpb25JZHMoaWQpe1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZ2V0RXhhbUlkSWRMaXN0KHtwYXBlcklkOiBpZCx2aWV3VHlwZTogdGhpcy52aWV3VHlwZX0pXG4gICAgICBpZihyZXMuY29kZSA9PSAyMDApe1xuICAgICAgICBsZXQgbGlzdCA9IHJlcy5kYXRhIHx8IFtdXG4gICAgICAgIGlmKGxpc3QubGVuZ3RoPjApe1xuICAgICAgICAgIHRoaXMuaWRMaXN0ID0gbGlzdFxuICAgICAgICAgIGdldEV4YW1MaXN0QnlJZHMoe3BhcGVySWQ6IGlkLHF1ZXN0aW9uSWRzOiBsaXN0Lm1hcChpPT5pLmlkKX0pLnRoZW4ocmU9PntcbiAgICAgICAgICAgIGlmKHJlLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgICAgICAgdGhpcy5xdWVzdGlvbkxpc3QgPSByZS5kYXRhLm1hcChpPT57XG4gICAgICAgICAgICAgICAgaS5jb250ZW50ID0gSlNPTi5wYXJzZShpLmNvbnRlbnQpXG4gICAgICAgICAgICAgICAgVnVlLnNldChpLCdwYXNzZWQnLG51bGwpXG4gICAgICAgICAgICAgICAgaWYoaS5zdHVkZW50QW5zd2VyKXtcbiAgICAgICAgICAgICAgICAgIGkuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXIgPSBpLnN0dWRlbnRBbnN3ZXIuYW5zd2VyXG4gICAgICAgICAgICAgICAgICBpLmV4RXhlcmNpc2VBbnN3ZXIucGFzc2VkID0gaS5zdHVkZW50QW5zd2VyLnBhc3NlZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZihpLnF1ZXN0aW9uVHlwZSA9PSAyKXtcbiAgICAgICAgICAgICAgICAgIGlmKGkuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXIpe1xuICAgICAgICAgICAgICAgICAgICBpLmV4RXhlcmNpc2VBbnN3ZXIuYW5zd2VyID0gaS5leEV4ZXJjaXNlQW5zd2VyLmFuc3dlci5zcGxpdCgnLCcpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBpXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudFEgPSB0aGlzLnF1ZXN0aW9uTGlzdFt0aGlzLmN1cnJlbnRJbmRleF1cbiAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5jdXJyZW50USwn5b2T5YmN6Zeu6aKYJylcbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICB1bmkuJHUudG9hc3QocmVzLm1lc3NhZ2UpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdGhpcy5pZExpc3QgPSBbXVxuICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuICAgICAgICAgICAgdGl0bGU6ICfmnKzpopjlupPmmoLml6Dpopjnm64nLFxuICAgICAgICAgICAgZHVyYXRpb246IDEwMDBcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfWVsc2V7XG4gICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcbiAgICAgIH1cbiAgICB9LFxuICAgIGNoZWNrYm94Q2hhbmdlKG4pIHtcbiAgICAgIGNvbnNvbGUubG9nKCdjaGFuZ2UnLCBuKTtcbiAgICB9LFxuICAgIGdyb3VwQ2hhbmdlKG4pIHtcbiAgICAgIGNvbnNvbGUubG9nKCdncm91cENoYW5nZScsIG4pO1xuICAgIH0sXG4gICAgcmFkaW9DaGFuZ2Uobikge1xuICAgICAgY29uc29sZS5sb2coJ3JhZGlvQ2hhbmdlJywgbik7XG4gICAgfSxcblxuICAgIGNvbmZpcm1BbnN3ZXIoKXtcbiAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIGFuc3dlcjogdGhpcy5jdXJyZW50US5xdWVzdGlvblR5cGU9PTI/dGhpcy5jdXJyZW50US5leEV4ZXJjaXNlQW5zd2VyLmFuc3dlci5qb2luKCcsJyk6dGhpcy5jdXJyZW50US5leEV4ZXJjaXNlQW5zd2VyLmFuc3dlcixcbiAgICAgICAgcGFwZXJJZDogdGhpcy5iYW5rLnBhcGVySWQsXG4gICAgICAgIHF1ZXN0aW9uSWQ6IHRoaXMuY3VycmVudFEuaWQsXG4gICAgICAgIHN0dWRlbnRJZDogdW5pLmdldFN0b3JhZ2VTeW5jKCd1aWQnKVxuICAgICAgfVxuICAgICAgcG9zdEV4YW1BbnN3ZXIoZGF0YSkudGhlbihyZXM9PntcbiAgICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRRLnBhc3NlZCA9IHJlcy5kYXRhXG4gICAgICAgICAgdW5pLiR1LnRvYXN0KCfnrZTmoYjlt7Lmj5DkuqQnKVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB1bmkuJHUudG9hc3QocmVzLm1lc3NhZ2UpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSxcblxuICAgIHByZXZRKCl7XG4gICAgICBpZih0aGlzLmN1cnJlbnRJbmRleCAtIDE+PTApe1xuICAgICAgICB0aGlzLmN1cnJlbnRJbmRleC0tXG4gICAgICAgIHRoaXMuY3VycmVudFEgPSB0aGlzLnF1ZXN0aW9uTGlzdFt0aGlzLmN1cnJlbnRJbmRleF1cbiAgICAgIH1lbHNle1xuICAgICAgICB1bmkuc2hvd1RvYXN0KHtcbiAgICAgICAgICB0aXRsZTogJ+W3sue7j+aYr+esrOS4gOmimOS6hicsXG4gICAgICAgICAgZHVyYXRpb246IDEwMDBcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIG5leHRRKCl7XG4gICAgICBpZih0aGlzLmN1cnJlbnRRLnBhc3NlZD09bnVsbCAmJiB0aGlzLmN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIucGFzc2VkID09IG51bGwpe1xuICAgICAgICB1bmkuJHUudG9hc3QoJ+ivt+WFiOWujOaIkOW9k+WJjemimOebricpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgaWYodGhpcy5jdXJyZW50SW5kZXggKyAxPHRoaXMucXVlc3Rpb25MaXN0Lmxlbmd0aCl7XG4gICAgICAgIHRoaXMuY3VycmVudEluZGV4KytcbiAgICAgICAgdGhpcy5jdXJyZW50USA9IHRoaXMucXVlc3Rpb25MaXN0W3RoaXMuY3VycmVudEluZGV4XVxuICAgICAgfWVsc2V7XG4gICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuICAgICAgICAgIHRpdGxlOiAn5bey57uP5piv5pyA5ZCO5LiA6aKY5LqGJyxcbiAgICAgICAgICBkdXJhdGlvbjogMTAwMFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuY3VycmVudFEsJ2N1cnJlbnQnKVxuICAgIH0sXG5cbiAgICBlbmRFeGFtKCl7XG4gICAgICBpZih0aGlzLmN1cnJlbnRRLnBhc3NlZD09bnVsbCAmJiB0aGlzLmN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIucGFzc2VkID09IG51bGwpe1xuICAgICAgICB1bmkuJHUudG9hc3QoJ+ivt+WFiOWujOaIkOW9k+WJjemimOebricpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgaWQ6IHRoaXMuYmFuay5pZCxcbiAgICAgICAgLy8gcGFwZXJJZDogdGhpcy5iYW5rLnBhcGVySWQsXG4gICAgICAgIC8vIHN0dWRlbnRJZDogdW5pLmdldFN0b3JhZ2VTeW5jKCd1aWQnKVxuICAgICAgfVxuICAgICAgcG9zdEVuZEV4YW0oZGF0YSkudGhlbihyZXM9PntcbiAgICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcbiAgICAgICAgICAgIHRpdGxlOiAn5pys5qyh6ICD6K+V57uT5p2fJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAxNTAwXG4gICAgICAgICAgfSlcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICBjb25zdCB1cmwgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJwcmV2UGFnZVwiKTtcbiAgICAgICAgICAgIGlmKHVybCl7XG4gICAgICAgICAgICAgIGlmKHVybCA9PSAnL3BhZ2VzL3RhYkJhci9maXJzdFBhZ2UvZmlyc3RQYWdlJyl7XG4gICAgICAgICAgICAgICAgdW5pLnJlTGF1bmNoKHtcbiAgICAgICAgICAgICAgICAgIHVybDonL3BhZ2VzL3RhYkJhci9maXJzdFBhZ2UvZmlyc3RQYWdlJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICB1bmkubmF2aWdhdGVUbyh7XG4gICAgICAgICAgICAgICAgICB1cmw6IHVybFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZXtcbiAgICAgICAgICAgICAgdW5pLnJlTGF1bmNoKHtcbiAgICAgICAgICAgICAgICB1cmw6ICcvcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9maXJzdFBhZ2UnXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSwxNTAwKVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB1bmkuJHUudG9hc3QocmVzLm1lc3NhZ2UpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSxcblxuICAgIHNob3dBKCl7XG4gICAgICB1bmkuc2hvd01vZGFsKHtcbiAgICAgICAgdGl0bGU6ICfmraPnoa7nrZTmoYgnLFxuICAgICAgICBjb250ZW50OiB0aGlzLmN1cnJlbnRRLmFuc3dlcixcbiAgICAgICAgc2hvd0NhbmNlbDogZmFsc2UsXG4gICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgICAgICBpZiAocmVzLmNvbmZpcm0pIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCfnlKjmiLfngrnlh7vnoa7lrponKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sXG5cbiAgICBnb0JhY2soKXtcbiAgICAgIGNvbnN0IHVybCA9IHVuaS5nZXRTdG9yYWdlU3luYyhcInByZXZQYWdlXCIpO1xuICAgICAgaWYodXJsKXtcbiAgICAgICAgdW5pLnJlTGF1bmNoKHtcbiAgICAgICAgICB1cmw6IHVybFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZXtcbiAgICAgICAgdW5pLnJlTGF1bmNoKHtcbiAgICAgICAgICB1cmw6ICcvcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9maXJzdFBhZ2UnXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuXHR9XG59O1xuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbi5uYXZCYXJCb3ggLm5hdkJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcbiAgaGVpZ2h0OiA1MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsMCwwLDAuMDUpO1xufVxuLmJhclRleHR7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgZmxleDogMTtcbiAgLyogbWFyZ2luLWxlZnQ6IDIwcHg7ICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDg1JTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICAvKiB0ZXh0LWFsaWduOiBjZW50ZXI7ICovXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ubmF2QmFyQm94IC5uYXZCYXIgLmxvZ28ge1xuICB3aWR0aDogODJycHg7XG4gIGhlaWdodDogODJycHg7XG4gIG1hcmdpbi1yaWdodDogMTBycHg7XG59XG5cbi5tLXAtMTV7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgLnRvcHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyMHJweCAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAucXVlc3Rpb25ze1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgLnRpdGxle1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgLmNvbnRlbnR7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcnB4O1xuXG4gICAgICAuYW5zd2Vyc3tcbiAgICAgICAgYmFja2dyb3VuZDogI2VjZjVmZjtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG5cbiAgICAgICAgc3BhbntcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgICAgICB9XG4gICAgICAgIC5yaWdodHtcbiAgICAgICAgICBjb2xvcjogIzNjOWNmZlxuICAgICAgICB9XG4gICAgICAgIC53cm9uZ3tcbiAgICAgICAgICBjb2xvcjogI2U0NTY1NlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uYnRuc3tcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIHotaW5kZXg6IDk5O1xuICBib3R0b206IDYwcHg7XG4gIGxlZnQ6IDA7XG59XG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///287\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 15));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 23));\nvar _wearhouse = __webpack_require__(/*! ../../../api/wearhouse.js */ 265);\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 75));\nvar _api = __webpack_require__(/*! ../../../api */ 71);\nvar _sand = _interopRequireDefault(__webpack_require__(/*! ../../../static/sand.gif */ 288));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {},\n  data: function data() {\n    return {\n      statusBarHeight: 0,\n      sandPic: _sand.default,\n      bank: {},\n      idList: [],\n      questionList: [],\n      curTotalIndex: 0,\n      currentQ: {},\n      currentA: '',\n      currentB: [],\n      viewType: null,\n      startTime: null,\n      elapsedTime: 0,\n      timerInterval: null,\n      showPanel: false\n    };\n  },\n  onReady: function onReady() {},\n  onLoad: function onLoad(e) {\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    this.bank = e.bank && JSON.parse(decodeURIComponent(e.bank));\n    this.viewType = e.type && JSON.parse(decodeURIComponent(e.type));\n    this.startTime = this.bank.startTime ? this.bank.startTime : 0;\n    this.getQuestionIds(this.bank.paperId);\n  },\n  onShow: function onShow() {},\n  mounted: function mounted() {\n    if (this.viewType == 1) {\n      this.startTimer();\n    }\n  },\n  computed: {\n    formattedTime: function formattedTime() {\n      var totalSeconds = Math.floor(this.elapsedTime / 1000);\n      var hours = Math.floor(totalSeconds / 3600);\n      var minutes = Math.floor(totalSeconds % 3600 / 60);\n      var seconds = totalSeconds % 60;\n      return \"\".concat(String(hours).padStart(2, '0'), \":\").concat(String(minutes).padStart(2, '0'), \":\").concat(String(seconds).padStart(2, '0'));\n    }\n  },\n  beforeUnmount: function beforeUnmount() {},\n  beforeDestroy: function beforeDestroy() {\n    clearInterval(this.timerInterval);\n  },\n  methods: {\n    openPanel: function openPanel() {\n      var _this = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n        var t, res, list;\n        return _regenerator.default.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                t = _this;\n                t.showPanel = true;\n                _context.next = 4;\n                return (0, _wearhouse.getExamIdIdList)({\n                  paperId: _this.bank.paperId,\n                  viewType: _this.viewType\n                });\n              case 4:\n                res = _context.sent;\n                if (res.code == 200) {\n                  list = res.data || [];\n                  if (list.length > 0) {\n                    t.idList = list.sort(function (a, b) {\n                      return a.id - b.id;\n                    });\n                  } else {\n                    t.idList = [];\n                    uni.showToast({\n                      title: '本题库暂无题目',\n                      duration: 1000\n                    });\n                  }\n                } else {\n                  uni.$u.toast(res.message);\n                }\n              case 6:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    toQuestion: function toQuestion(item, index) {\n      var _this2 = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n        var curIdList;\n        return _regenerator.default.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _this2.curTotalIndex = index;\n                curIdList = _this2.idList.slice(_this2.curTotalIndex, _this2.curTotalIndex + 20);\n                _this2.currentId = _this2.idList[_this2.curTotalIndex].id;\n                _context2.next = 5;\n                return _this2.getQuestionsByIds(curIdList);\n              case 5:\n                _this2.currentQ = _this2.questionList[0];\n                _this2.showAnswer();\n                _this2.showPanel = false;\n              case 8:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2);\n      }))();\n    },\n    open: function open() {\n      // console.log('open');\n    },\n    close: function close() {\n      this.showPanel = false;\n      // console.log('close');\n    },\n    updateTimer: function updateTimer() {\n      var currentTime = Date.now();\n      this.elapsedTime = currentTime - this.startTimestamp;\n    },\n    startTimer: function startTimer() {\n      this.startTimestamp = this.startTime ? this.startTime : Date.now();\n      this.timerInterval = setInterval(this.updateTimer, 1000);\n    },\n    getQuestionIds: function getQuestionIds(id) {\n      var _this3 = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n        var res, list, curIdList;\n        return _regenerator.default.wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                _context3.next = 2;\n                return (0, _wearhouse.getExamIdIdList)({\n                  paperId: id,\n                  viewType: _this3.viewType\n                });\n              case 2:\n                res = _context3.sent;\n                if (!(res.code == 200)) {\n                  _context3.next = 20;\n                  break;\n                }\n                list = res.data || [];\n                if (!(list.length > 0)) {\n                  _context3.next = 16;\n                  break;\n                }\n                _this3.idList = list.sort(function (a, b) {\n                  return a.id - b.id;\n                });\n                _this3.curTotalIndex = _this3.bank.questionId ? _this3.idList.findIndex(function (i) {\n                  return i.id == _this3.bank.questionId;\n                }) : 0;\n                curIdList = _this3.idList.slice(_this3.curTotalIndex, _this3.curTotalIndex + 20);\n                _this3.currentId = _this3.idList[_this3.curTotalIndex].id;\n                _context3.next = 12;\n                return _this3.getQuestionsByIds(curIdList);\n              case 12:\n                _this3.currentQ = _this3.questionList[0];\n                _this3.showAnswer();\n                _context3.next = 18;\n                break;\n              case 16:\n                _this3.idList = [];\n                uni.showToast({\n                  title: '本题库暂无题目',\n                  duration: 1000\n                });\n              case 18:\n                _context3.next = 21;\n                break;\n              case 20:\n                uni.$u.toast(res.message);\n              case 21:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3);\n      }))();\n    },\n    getErrorIds: function getErrorIds(id) {\n      var _this4 = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n        var res, list, curIdList;\n        return _regenerator.default.wrap(function _callee4$(_context4) {\n          while (1) {\n            switch (_context4.prev = _context4.next) {\n              case 0:\n                _context4.next = 2;\n                return (0, _wearhouse.getErrorsIdList)({\n                  bankId: id\n                });\n              case 2:\n                res = _context4.sent;\n                if (!(res.code == 200)) {\n                  _context4.next = 20;\n                  break;\n                }\n                list = res.data || [];\n                if (!(list.length > 0)) {\n                  _context4.next = 16;\n                  break;\n                }\n                _this4.idList = list.sort(function (a, b) {\n                  return a - b;\n                });\n                _this4.curTotalIndex = 0;\n                curIdList = _this4.idList.slice(0, 20);\n                _this4.currentId = _this4.idList[0].id;\n                _context4.next = 12;\n                return _this4.getQuestionsByIds(curIdList);\n              case 12:\n                _this4.currentQ = _this4.questionList[0];\n                _this4.showAnswer();\n                _context4.next = 18;\n                break;\n              case 16:\n                _this4.idList = [];\n                uni.showToast({\n                  title: '本题库暂无错题',\n                  duration: 1000\n                });\n              case 18:\n                _context4.next = 21;\n                break;\n              case 20:\n                uni.$u.toast(res.message);\n              case 21:\n              case \"end\":\n                return _context4.stop();\n            }\n          }\n        }, _callee4);\n      }))();\n    },\n    getQuestionsByIds: function getQuestionsByIds(idList) {\n      var _this5 = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {\n        var res;\n        return _regenerator.default.wrap(function _callee5$(_context5) {\n          while (1) {\n            switch (_context5.prev = _context5.next) {\n              case 0:\n                _context5.next = 2;\n                return (0, _wearhouse.getExamListByIds)({\n                  paperId: _this5.bank.paperId,\n                  questionIds: idList.map(function (i) {\n                    return i.id;\n                  })\n                });\n              case 2:\n                res = _context5.sent;\n                if (res.code == 200) {\n                  _this5.questionList = res.data.map(function (i) {\n                    i.content = JSON.parse(i.content);\n                    return i;\n                  });\n                } else {\n                  uni.$u.toast(res.message);\n                }\n              case 4:\n              case \"end\":\n                return _context5.stop();\n            }\n          }\n        }, _callee5);\n      }))();\n    },\n    checkboxChange: function checkboxChange(n) {\n      __f__(\"log\", 'change', n, \" at pages/tabBar/firstPage/exam.vue:278\");\n    },\n    groupChange: function groupChange(n) {\n      if (this.currentA !== '') {\n        this.confirmAnswer();\n      }\n    },\n    radioChange: function radioChange(n) {\n      __f__(\"log\", 'radioChange', n, \" at pages/tabBar/firstPage/exam.vue:286\");\n    },\n    confirmAnswer: function confirmAnswer() {\n      var _this6 = this;\n      var data = {\n        answer: this.currentQ.questionType == 2 ? this.currentB.join(',') : this.currentA,\n        paperId: this.bank.paperId,\n        questionId: this.currentQ.id,\n        studentId: uni.getStorageSync('uid')\n      };\n      (0, _wearhouse.postExamAnswer)(data).then(function (res) {\n        if (res.code == 200) {\n          _this6.currentQ.passed = res.data;\n          // this.currentQ.exExerciseAnswer.passed = res.data.passed\n          _this6.currentQ.studentAnswer.answer = res.data.answer;\n          // uni.$u.toast('答案已提交')\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    prevQ: function prevQ() {\n      var _this7 = this;\n      if (this.curTotalIndex - 1 >= 0) {\n        this.curTotalIndex--;\n        if (this.curTotalIndex == 0) {\n          this.getQuestionsByIds([this.idList[0]]).then(function () {\n            // this.currentQ = this.questionList[this.questionList.length-1]\n            _this7.$set(_this7, 'currentQ', _this7.questionList[_this7.questionList.length - 1]);\n            _this7.showAnswer();\n          });\n        } else {\n          this.currentId = this.idList[this.curTotalIndex].id;\n          if (this.questionList.find(function (i) {\n            return i.id == _this7.currentId;\n          })) {\n            this.$set(this, 'currentQ', this.questionList.find(function (i) {\n              return i.id == _this7.currentId;\n            }));\n            this.showAnswer();\n          } else {\n            var startIndex = Math.max(0, this.curTotalIndex - 19);\n            var curIdList = this.idList.slice(startIndex, this.curTotalIndex + 1);\n            this.getQuestionsByIds(curIdList).then(function () {\n              // this.currentQ = this.questionList[this.questionList.length-1]\n              _this7.$set(_this7, 'currentQ', _this7.questionList[_this7.questionList.length - 1]);\n              _this7.showAnswer();\n            });\n          }\n        }\n      } else {\n        uni.showToast({\n          title: '已经是第一题了',\n          duration: 1000\n        });\n      }\n    },\n    nextQ: function nextQ() {\n      var _this8 = this;\n      if (this.curTotalIndex + 1 < this.idList.length) {\n        this.curTotalIndex++;\n        this.currentId = this.idList[this.curTotalIndex].id;\n        if (this.questionList.find(function (i) {\n          return i.id == _this8.currentId;\n        })) {\n          this.$set(this, 'currentQ', this.questionList.find(function (i) {\n            return i.id == _this8.currentId;\n          }));\n          this.showAnswer();\n        } else {\n          var curIdList = this.idList.slice(this.curTotalIndex, this.curTotalIndex + 20);\n          this.getQuestionsByIds(curIdList).then(function () {\n            _this8.$set(_this8, 'currentQ', _this8.questionList[0]);\n            // this.currentQ = this.questionList[0]\n            _this8.showAnswer();\n          });\n        }\n      } else {\n        uni.showToast({\n          title: '已经是最后一题了',\n          duration: 1000\n        });\n      }\n    },\n    showAnswer: function showAnswer() {\n      if (this.currentQ.studentAnswer && this.currentQ.studentAnswer.answer) {\n        if (this.currentQ.questionType == 2) {\n          this.currentB = this.currentQ.studentAnswer.answer.split(',');\n        } else {\n          this.currentA = this.currentQ.studentAnswer.answer;\n        }\n      } else {\n        this.currentB = [];\n        this.currentA = '';\n      }\n    },\n    goBack: function goBack() {\n      clearInterval(this.timerInterval);\n      var url = uni.getStorageSync(\"prevPage\");\n      if (url) {\n        uni.reLaunch({\n          url: url\n        });\n      } else {\n        uni.reLaunch({\n          url: '/pages/tabBar/firstPage/firstPage'\n        });\n      }\n    },\n    endExam: function endExam() {\n      var t = this;\n      uni.showModal({\n        title: '提示',\n        content: '交卷后将无法再次做题,是否继续?',\n        success: function () {\n          var _success = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(res) {\n            var data;\n            return _regenerator.default.wrap(function _callee6$(_context6) {\n              while (1) {\n                switch (_context6.prev = _context6.next) {\n                  case 0:\n                    if (res.confirm) {\n                      data = {\n                        id: t.bank.id\n                      };\n                      (0, _wearhouse.postEndExam)(data).then(function (res) {\n                        if (res.code == 200) {\n                          uni.showToast({\n                            title: '本次考试结束',\n                            duration: 1500\n                          });\n                          setTimeout(function () {\n                            var url = uni.getStorageSync(\"prevPage\");\n                            if (url) {\n                              if (url == '/pages/tabBar/firstPage/firstPage') {\n                                uni.reLaunch({\n                                  url: '/pages/tabBar/firstPage/firstPage'\n                                });\n                              } else {\n                                uni.navigateTo({\n                                  url: url\n                                });\n                              }\n                            } else {\n                              uni.reLaunch({\n                                url: '/pages/tabBar/firstPage/firstPage'\n                              });\n                            }\n                          }, 1500);\n                        } else {\n                          uni.$u.toast(res.message);\n                        }\n                      });\n                    } else if (res.cancel) {\n                      __f__(\"log\", '用户点击取消', \" at pages/tabBar/firstPage/exam.vue:431\");\n                    }\n                  case 1:\n                  case \"end\":\n                    return _context6.stop();\n                }\n              }\n            }, _callee6);\n          }));\n          function success(_x) {\n            return _success.apply(this, arguments);\n          }\n          return success;\n        }()\n      });\n    }\n  }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9leGFtLnZ1ZSJdLCJuYW1lcyI6WyJjb21wb25lbnRzIiwiZGF0YSIsInN0YXR1c0JhckhlaWdodCIsInNhbmRQaWMiLCJiYW5rIiwiaWRMaXN0IiwicXVlc3Rpb25MaXN0IiwiY3VyVG90YWxJbmRleCIsImN1cnJlbnRRIiwiY3VycmVudEEiLCJjdXJyZW50QiIsInZpZXdUeXBlIiwic3RhcnRUaW1lIiwiZWxhcHNlZFRpbWUiLCJ0aW1lckludGVydmFsIiwic2hvd1BhbmVsIiwib25SZWFkeSIsIm9uTG9hZCIsIm9uU2hvdyIsIm1vdW50ZWQiLCJjb21wdXRlZCIsImZvcm1hdHRlZFRpbWUiLCJiZWZvcmVVbm1vdW50IiwiYmVmb3JlRGVzdHJveSIsImNsZWFySW50ZXJ2YWwiLCJtZXRob2RzIiwib3BlblBhbmVsIiwidCIsInBhcGVySWQiLCJyZXMiLCJsaXN0IiwidW5pIiwidGl0bGUiLCJkdXJhdGlvbiIsInRvUXVlc3Rpb24iLCJjdXJJZExpc3QiLCJvcGVuIiwiY2xvc2UiLCJ1cGRhdGVUaW1lciIsInN0YXJ0VGltZXIiLCJnZXRRdWVzdGlvbklkcyIsImdldEVycm9ySWRzIiwiYmFua0lkIiwiZ2V0UXVlc3Rpb25zQnlJZHMiLCJxdWVzdGlvbklkcyIsImkiLCJjaGVja2JveENoYW5nZSIsImdyb3VwQ2hhbmdlIiwicmFkaW9DaGFuZ2UiLCJjb25maXJtQW5zd2VyIiwiYW5zd2VyIiwicXVlc3Rpb25JZCIsInN0dWRlbnRJZCIsInByZXZRIiwibmV4dFEiLCJzaG93QW5zd2VyIiwiZ29CYWNrIiwidXJsIiwiZW5kRXhhbSIsImNvbnRlbnQiLCJzdWNjZXNzIiwiaWQiLCJzZXRUaW1lb3V0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFrR0E7QUFVQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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O0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjI4Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cbiAgPHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47aGVpZ2h0OiAxMDAlO1wiPlxuICAgIDwhLS0g6Ieq5a6a5LmJ5a+86Iiq5qCPIC0tPlxuICAgIDx2aWV3IGNsYXNzPVwibmF2QmFyQm94XCI+XG4gICAgICA8IS0tIOeKtuaAgeagj+WNoOS9jSAtLT5cbiAgICAgIDx2aWV3IGNsYXNzPVwic3RhdHVzQmFyXCIgOnN0eWxlPVwieyBwYWRkaW5nVG9wOiBzdGF0dXNCYXJIZWlnaHQgKyAncHgnIH1cIj48L3ZpZXc+XG4gICAgICA8IS0tIOecn+ato+eahOWvvOiIquagj+WGheWuuSAtLT5cbiAgICAgIDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcIj5cbiAgICAgICAgPHZpZXcgY2xhc3M9XCJuYXZCYXJcIj5cbiAgICAgICAgICA8dS1pY29uIG5hbWU9XCJhcnJvdy1sZWZ0XCIgY29sb3I9XCJibGFja1wiIHNpemU9XCIxN1wiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDhweDtcIiBAY2xpY2s9XCJnb0JhY2tcIi8+XG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJiYXJUZXh0XCI+6aKY55uu5YaF5a65PC92aWV3PlxuICAgICAgICAgIDwhLS0gXHRcdFx0XHRcdDx2aWV3ID5cbiAgICAgICAgICAgICAgICAgICAgICA8dS1idXR0b24gdHlwZT1cInRleHRcIiBAY2xpY2s9XCJsb2dpbk91dFwiIHN0eWxlPVwiY29sb3I6IGJsdWU7bWFyZ2luLXJpZ2h0OiA1cHg7XCI+6YCA5Ye6PC91LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC92aWV3PiAtLT5cbiAgICAgICAgPC92aWV3PlxuICAgICAgPC92aWV3PlxuICAgIDwvdmlldz5cbiAgICA8dmlldyBjbGFzcz1cIm0tcC0xNVwiPlxuICAgICAgPHZpZXcgY2xhc3M9XCJ0aW1lclwiIHYtaWY9XCJ2aWV3VHlwZSA9PSAxXCI+XG4gICAgICAgIDx1LS1pbWFnZSA6c2hvd0xvYWRpbmc9XCJ0cnVlXCIgOnNyYz1cInNhbmRQaWNcIiB3aWR0aD1cIjE4cHhcIiBoZWlnaHQ9XCIxOHB4XCI+PC91LS1pbWFnZT5cbiAgICAgICAgPHZpZXcgY2xhc3M9XCJ0aW1lci1iXCI+XG4gICAgICAgICAgPHNwYW4+5byA6ICD5pe26Ze077yaPC9zcGFuPlxuICAgICAgICAgIDxzcGFuPnt7IGZvcm1hdHRlZFRpbWUgfX08L3NwYW4+XG4gICAgICAgIDwvdmlldz5cbiAgICAgIDwvdmlldz5cbiAgICAgIDx2aWV3IGNsYXNzPVwidG9wXCI+XG4gICAgICAgIDx2aWV3IGNsYXNzPVwiaW5kXCI+e3sn56ysICcgKyAoY3VyVG90YWxJbmRleCsxKSArICcg6aKYJ319PC92aWV3PlxuICAgICAgICA8dmlldyBjbGFzcz1cInBhbmVsQnRuXCIgQGNsaWNrPVwib3BlblBhbmVsXCI+562U6aKY5Y2hPC92aWV3PlxuICAgICAgPC92aWV3PlxuICAgICAgPHZpZXcgY2xhc3M9XCJxdWVzdGlvbnNcIj5cbiAgICAgICAgPHZpZXcgY2xhc3M9XCJ0aXRsZVwiPlxuICAgICAgICAgIDxzcGFuPuOAkHt7Y3VycmVudFEucXVlc3Rpb25UeXBlID09IDE/J+WNlemAiemimCc6Y3VycmVudFEucXVlc3Rpb25UeXBlID09IDI/J+WkmumAiemimCc6J+WIpOaWremimCd9feOAkTwvc3Bhbj5cbiAgICAgICAgICB7e2N1cnJlbnRRLnRpdGxlfX1cbiAgICAgICAgPC92aWV3PlxuICAgICAgICA8dmlldyBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICA8dS1jaGVja2JveC1ncm91cFxuICAgICAgICAgICAgICB2LWlmPVwiY3VycmVudFEucXVlc3Rpb25UeXBlPT0yXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImN1cnJlbnRCXCJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJteVJhZGlvXCJcbiAgICAgICAgICAgICAgaWNvblBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgOmRpc2FibGVkPVwidmlld1R5cGU9PTE/ZmFsc2U6dHJ1ZVwiXG4gICAgICAgICAgICAgIEBjaGFuZ2U9XCJjaGVja2JveENoYW5nZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHUtY2hlY2tib3hcbiAgICAgICAgICAgICAgICA6Y3VzdG9tU3R5bGU9XCJ7bWFyZ2luQm90dG9tOiAnMTVweCd9XCJcbiAgICAgICAgICAgICAgICB2LWZvcj1cIihpdGVtLCBpbmRleCkgaW4gY3VycmVudFEuY29udGVudC5pdGVtc1wiXG4gICAgICAgICAgICAgICAgOmtleT1cImluZGV4XCJcbiAgICAgICAgICAgICAgICA6bGFiZWw9XCJpdGVtLnByZWZpeCArJ++8micrIGl0ZW0uY29udGVudFwiXG4gICAgICAgICAgICAgICAgOm5hbWU9XCJpdGVtLnByZWZpeFwiXG4gICAgICAgICAgICAgICAgOmNsYXNzPVwieydwaWNrZWQnOiBjdXJyZW50Qi5pbmNsdWRlcyhpdGVtLnByZWZpeCl9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvdS1jaGVja2JveD5cbiAgICAgICAgICA8L3UtY2hlY2tib3gtZ3JvdXA+XG4gICAgICAgICAgPHUtcmFkaW8tZ3JvdXAgdi1tb2RlbD1cImN1cnJlbnRBXCIgY2xhc3M9XCJteVJhZGlvXCIgaWNvblBsYWNlbWVudD1cInJpZ2h0XCIgcGxhY2VtZW50PVwiY29sdW1uXCIgQGNoYW5nZT1cImdyb3VwQ2hhbmdlXCIgdi1pZj1cImN1cnJlbnRRLnF1ZXN0aW9uVHlwZT09MXx8Y3VycmVudFEucXVlc3Rpb25UeXBlPT0zXCIgOmRpc2FibGVkPVwidmlld1R5cGU9PTE/ZmFsc2U6dHJ1ZVwiPlxuICAgICAgICAgICAgPHUtcmFkaW9cbiAgICAgICAgICAgICAgICA6Y3VzdG9tU3R5bGU9XCJ7bWFyZ2luQm90dG9tOiAnMTVweCd9XCJcbiAgICAgICAgICAgICAgICB2LWZvcj1cIihpdGVtLCBpbmRleCkgaW4gY3VycmVudFEuY29udGVudC5pdGVtc1wiXG4gICAgICAgICAgICAgICAgOmtleT1cImluZGV4XCJcbiAgICAgICAgICAgICAgICBzaGFwZT1cInNxdWFyZVwiXG4gICAgICAgICAgICAgICAgOmxhYmVsPVwiaXRlbS5wcmVmaXggKyfvvJonKyBpdGVtLmNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIDpuYW1lPVwiaXRlbS5wcmVmaXhcIlxuICAgICAgICAgICAgICAgIEBjaGFuZ2U9XCJyYWRpb0NoYW5nZVwiXG4gICAgICAgICAgICAgICAgOmNsYXNzPVwieydwaWNrZWQnOiBjdXJyZW50QSA9PSBpdGVtLnByZWZpeH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC91LXJhZGlvPlxuICAgICAgICAgIDwvdS1yYWRpby1ncm91cD5cblxuICAgICAgICAgIDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOiA4MCU7bWFyZ2luOiAzMHB4IGF1dG9cIlxuICAgICAgICAgICAgICAgICAgICB2LWlmPVwiY3VycmVudFEucXVlc3Rpb25UeXBlPT0yICYmIGN1cnJlbnRCLmxlbmd0aD4wICYmIHZpZXdUeXBlID09MVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCIgc2hhcGU9XCJjaXJjbGVcIiB0ZXh0PVwi56Gu6K6k562U5qGIXCIgQGNsaWNrPVwiY29uZmlybUFuc3dlclwiPjwvdS1idXR0b24+XG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJhbnN3ZXJzXCIgdi1pZj1cInZpZXdUeXBlID09IDIgJiYgY3VycmVudFEuc3R1ZGVudEFuc3dlciAmJiBjdXJyZW50US5zdHVkZW50QW5zd2VyLmFuc3dlclwiPlxuICAgICAgICAgICAgPHZpZXc+5L2g55qE562U5qGI77yaXG4gICAgICAgICAgICAgIDxzcGFuIDpjbGFzcz1cImN1cnJlbnRRLmFuc3dlciA9PSBjdXJyZW50US5zdHVkZW50QW5zd2VyLmFuc3dlcj8ncmlnaHQnOid3cm9uZydcIj57e2N1cnJlbnRRLnN0dWRlbnRBbnN3ZXIuYW5zd2VyfX08L3NwYW4+XG48IS0tICAgICAgICAgICAgICA8c3BhbiB2LWVsc2UgOmNsYXNzPVwiY3VycmVudFEuYW5zd2VyID09IGN1cnJlbnRRLnN0dWRlbnRBbnN3ZXIuYW5zd2VyPydyaWdodCc6J3dyb25nJ1wiPnt7Y3VycmVudFEuc3R1ZGVudEFuc3dlci5hbnN3ZXJ9fTwvc3Bhbj4tLT5cbiAgICAgICAgICAgIDwvdmlldz5cbiAgICAgICAgICAgIDx2aWV3Puato+ehruetlOahiO+8mjxzcGFuIGNsYXNzPVwicmlnaHRcIj57e2N1cnJlbnRRLmFuc3dlcn19PC9zcGFuPjwvdmlldz5cbiAgICAgICAgICA8L3ZpZXc+XG4gICAgICAgIDwvdmlldz5cbiAgICAgIDwvdmlldz5cbiAgICA8L3ZpZXc+XG4gICAgPHZpZXcgY2xhc3M9XCJidG5zXCI+XG4gICAgICA8dS1idXR0b24gc3R5bGU9XCJ3aWR0aDogMzAlXCIgdHlwZT1cImVycm9yXCIgc2hhcGU9XCJjaXJjbGVcIiBzaXplPVwic21hbGxcIiB0ZXh0PVwi5LiK5LiA6aKYXCIgQGNsaWNrPVwicHJldlFcIj48L3UtYnV0dG9uPlxuICAgICAgPHUtYnV0dG9uIHYtaWY9XCJ2aWV3VHlwZSA9PSAxXCIgc3R5bGU9XCJ3aWR0aDogMzAlXCIgdHlwZT1cInByaW1hcnlcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIHRleHQ9XCLkuqTljbdcIiBAY2xpY2s9XCJlbmRFeGFtXCI+PC91LWJ1dHRvbj5cbiAgICAgIDx1LWJ1dHRvbiB2LWlmPVwiY3VyVG90YWxJbmRleCA8IGlkTGlzdC5sZW5ndGggLSAxXCIgc3R5bGU9XCJ3aWR0aDogMzAlXCIgdHlwZT1cImVycm9yXCIgc2hhcGU9XCJjaXJjbGVcIiBzaXplPVwic21hbGxcIiB0ZXh0PVwi5LiL5LiA6aKYXCIgQGNsaWNrPVwibmV4dFFcIj48L3UtYnV0dG9uPlxuICAgICAgPHUtYnV0dG9uIHYtaWY9XCJjdXJUb3RhbEluZGV4ID09IGlkTGlzdC5sZW5ndGggLSAxICYmIHZpZXdUeXBlID09IDJcIiBzdHlsZT1cIndpZHRoOiAzMCVcIiB0eXBlPVwicHJpbWFyeVwiIHNoYXBlPVwiY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgdGV4dD1cIumAgOWHulwiIEBjbGljaz1cImdvQmFja1wiPjwvdS1idXR0b24+XG4gICAgPC92aWV3PlxuICAgIDx1LXBvcHVwIDpzaG93PVwic2hvd1BhbmVsXCIgOnJvdW5kPVwiNDBcIiBtb2RlPVwicmlnaHRcIiBAY2xvc2U9XCJjbG9zZVwiIEBvcGVuPVwib3BlblwiPlxuICAgICAgPHZpZXcgY2xhc3M9XCJwYW5lbFwiPlxuICAgICAgICA8dmlldyA6Y2xhc3M9XCJpdGVtLnBhc3NlZD09MT8ncmlnaHQtYSc6aXRlbS5wYXNzZWQ9PTA/J3dyb25nLWEnOicnXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gaWRMaXN0XCIgQGNsaWNrPVwidG9RdWVzdGlvbihpdGVtLGluZGV4KVwiPlxuICAgICAgICAgIHt7aW5kZXggKyAxfX1cbiAgICAgICAgPC92aWV3PlxuICAgICAgPC92aWV3PlxuICAgIDwvdS1wb3B1cD5cblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCB7XG4gIGdldEV4YW1JZElkTGlzdCxcbiAgZ2V0RXhhbUxpc3RCeUlkcyxcbiAgcG9zdEV4YW1BbnN3ZXIsXG4gIHBvc3RFbmRFeGFtLFxuICBnZXRRdWVzdGlvbklkTGlzdCxcbiAgZ2V0RXJyb3JzSWRMaXN0LFxuICBnZXRRdWVzdGlvbkJ5SWRzLFxuICBwb3N0RXhlcmNpc2VBbnN3ZXJcbn0gZnJvbSAnLi4vLi4vLi4vYXBpL3dlYXJob3VzZS5qcydcbmltcG9ydCBWdWUgZnJvbSAndnVlJ1xuaW1wb3J0IHtsb2dpbk91dH0gZnJvbSBcIi4uLy4uLy4uL2FwaVwiO1xuaW1wb3J0IHNhbmQgZnJvbSAnLi4vLi4vLi4vc3RhdGljL3NhbmQuZ2lmJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGNvbXBvbmVudHM6IHtcblxuXHR9LFxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG4gICAgICBzdGF0dXNCYXJIZWlnaHQ6IDAsXG4gICAgICBzYW5kUGljOiBzYW5kLFxuICAgICAgYmFuazoge30sXG4gICAgICBpZExpc3Q6IFtdLFxuICAgICAgcXVlc3Rpb25MaXN0OiBbXSxcbiAgICAgIGN1clRvdGFsSW5kZXg6IDAsXG4gICAgICBjdXJyZW50UToge30sXG4gICAgICBjdXJyZW50QTogJycsXG4gICAgICBjdXJyZW50QjogW10sXG4gICAgICB2aWV3VHlwZTogbnVsbCxcbiAgICAgIHN0YXJ0VGltZTogbnVsbCxcbiAgICAgIGVsYXBzZWRUaW1lOiAwLFxuICAgICAgdGltZXJJbnRlcnZhbDogbnVsbCxcbiAgICAgIHNob3dQYW5lbDogZmFsc2Vcblx0XHR9XG5cdH0sXG4gIG9uUmVhZHkoKXtcbiAgfSxcblx0b25Mb2FkKGUpIHtcbiAgICB0aGlzLnN0YXR1c0JhckhlaWdodCA9IHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpWydzdGF0dXNCYXJIZWlnaHQnXVxuICAgIHRoaXMuYmFuayA9IGUuYmFuayAmJiBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudChlLmJhbmspKVxuICAgIHRoaXMudmlld1R5cGUgPSBlLnR5cGUgJiYgSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoZS50eXBlKSlcbiAgICB0aGlzLnN0YXJ0VGltZSA9IHRoaXMuYmFuay5zdGFydFRpbWU/dGhpcy5iYW5rLnN0YXJ0VGltZTowXG4gICAgdGhpcy5nZXRRdWVzdGlvbklkcyh0aGlzLmJhbmsucGFwZXJJZClcblxuXHR9LFxuXHRvblNob3coKXtcblxuXHR9LFxuXHRtb3VudGVkKCkge1xuICAgIGlmKHRoaXMudmlld1R5cGUgPT0gMSl7XG4gICAgICB0aGlzLnN0YXJ0VGltZXIoKVxuICAgIH1cblx0fSxcbiAgY29tcHV0ZWQ6IHtcbiAgICBmb3JtYXR0ZWRUaW1lKCkge1xuICAgICAgY29uc3QgdG90YWxTZWNvbmRzID0gTWF0aC5mbG9vcih0aGlzLmVsYXBzZWRUaW1lIC8gMTAwMCk7XG4gICAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IodG90YWxTZWNvbmRzIC8gMzYwMCk7XG4gICAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcigodG90YWxTZWNvbmRzICUgMzYwMCkgLyA2MCk7XG4gICAgICBjb25zdCBzZWNvbmRzID0gdG90YWxTZWNvbmRzICUgNjA7XG4gICAgICByZXR1cm4gYCR7U3RyaW5nKGhvdXJzKS5wYWRTdGFydCgyLCAnMCcpfToke1N0cmluZyhtaW51dGVzKS5wYWRTdGFydCgyLCAnMCcpfToke1N0cmluZyhzZWNvbmRzKS5wYWRTdGFydCgyLCAnMCcpfWA7XG4gICAgfVxuICB9LFxuXHRiZWZvcmVVbm1vdW50KCkge1xuXG4gIH0sXG5cbiAgYmVmb3JlRGVzdHJveSgpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMudGltZXJJbnRlcnZhbClcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIGFzeW5jIG9wZW5QYW5lbCgpe1xuICAgICAgY29uc3QgdCA9IHRoaXNcbiAgICAgIHQuc2hvd1BhbmVsID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZ2V0RXhhbUlkSWRMaXN0KHtwYXBlcklkOiB0aGlzLmJhbmsucGFwZXJJZCx2aWV3VHlwZTogdGhpcy52aWV3VHlwZX0pXG4gICAgICBpZihyZXMuY29kZSA9PSAyMDApe1xuICAgICAgICBsZXQgbGlzdCA9IHJlcy5kYXRhIHx8IFtdXG4gICAgICAgIGlmKGxpc3QubGVuZ3RoPjApe1xuICAgICAgICAgIHQuaWRMaXN0ID0gbGlzdC5zb3J0KChhLCBiKSA9PiBhLmlkIC0gYi5pZClcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdC5pZExpc3QgPSBbXVxuICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuICAgICAgICAgICAgdGl0bGU6ICfmnKzpopjlupPmmoLml6Dpopjnm64nLFxuICAgICAgICAgICAgZHVyYXRpb246IDEwMDBcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfWVsc2V7XG4gICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgYXN5bmMgdG9RdWVzdGlvbihpdGVtLGluZGV4KXtcbiAgICAgIHRoaXMuY3VyVG90YWxJbmRleCA9IGluZGV4XG4gICAgICBjb25zdCBjdXJJZExpc3QgPSB0aGlzLmlkTGlzdC5zbGljZSh0aGlzLmN1clRvdGFsSW5kZXgsdGhpcy5jdXJUb3RhbEluZGV4ICsgMjApXG4gICAgICB0aGlzLmN1cnJlbnRJZCA9IHRoaXMuaWRMaXN0W3RoaXMuY3VyVG90YWxJbmRleF0uaWRcbiAgICAgIGF3YWl0IHRoaXMuZ2V0UXVlc3Rpb25zQnlJZHMoY3VySWRMaXN0KVxuICAgICAgdGhpcy5jdXJyZW50USA9IHRoaXMucXVlc3Rpb25MaXN0WzBdXG4gICAgICB0aGlzLnNob3dBbnN3ZXIoKVxuICAgICAgdGhpcy5zaG93UGFuZWwgPSBmYWxzZVxuICAgIH0sXG5cbiAgICBvcGVuKCkge1xuICAgICAgLy8gY29uc29sZS5sb2coJ29wZW4nKTtcbiAgICB9LFxuICAgIGNsb3NlKCkge1xuICAgICAgdGhpcy5zaG93UGFuZWwgPSBmYWxzZVxuICAgICAgLy8gY29uc29sZS5sb2coJ2Nsb3NlJyk7XG4gICAgfSxcblxuICAgIHVwZGF0ZVRpbWVyKCkge1xuICAgICAgY29uc3QgY3VycmVudFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgdGhpcy5lbGFwc2VkVGltZSA9IGN1cnJlbnRUaW1lIC0gdGhpcy5zdGFydFRpbWVzdGFtcDtcbiAgICB9LFxuICAgIHN0YXJ0VGltZXIoKSB7XG4gICAgICB0aGlzLnN0YXJ0VGltZXN0YW1wID0gdGhpcy5zdGFydFRpbWUgPyB0aGlzLnN0YXJ0VGltZSA6IERhdGUubm93KCk7XG4gICAgICB0aGlzLnRpbWVySW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCh0aGlzLnVwZGF0ZVRpbWVyLCAxMDAwKTtcbiAgICB9LFxuXG4gICAgYXN5bmMgZ2V0UXVlc3Rpb25JZHMoaWQpe1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZ2V0RXhhbUlkSWRMaXN0KHtwYXBlcklkOiBpZCx2aWV3VHlwZTogdGhpcy52aWV3VHlwZX0pXG4gICAgICBpZihyZXMuY29kZSA9PSAyMDApe1xuICAgICAgICBsZXQgbGlzdCA9IHJlcy5kYXRhIHx8IFtdXG4gICAgICAgIGlmKGxpc3QubGVuZ3RoPjApe1xuICAgICAgICAgIHRoaXMuaWRMaXN0ID0gbGlzdC5zb3J0KChhLCBiKSA9PiBhLmlkIC0gYi5pZClcbiAgICAgICAgICB0aGlzLmN1clRvdGFsSW5kZXggPSB0aGlzLmJhbmsucXVlc3Rpb25JZCA/IHRoaXMuaWRMaXN0LmZpbmRJbmRleChpPT5pLmlkID09IHRoaXMuYmFuay5xdWVzdGlvbklkKTowXG4gICAgICAgICAgY29uc3QgY3VySWRMaXN0ID0gdGhpcy5pZExpc3Quc2xpY2UodGhpcy5jdXJUb3RhbEluZGV4LHRoaXMuY3VyVG90YWxJbmRleCArIDIwKVxuICAgICAgICAgIHRoaXMuY3VycmVudElkID0gdGhpcy5pZExpc3RbdGhpcy5jdXJUb3RhbEluZGV4XS5pZFxuICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UXVlc3Rpb25zQnlJZHMoY3VySWRMaXN0KVxuICAgICAgICAgIHRoaXMuY3VycmVudFEgPSB0aGlzLnF1ZXN0aW9uTGlzdFswXVxuICAgICAgICAgIHRoaXMuc2hvd0Fuc3dlcigpXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHRoaXMuaWRMaXN0ID0gW11cbiAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcbiAgICAgICAgICAgIHRpdGxlOiAn5pys6aKY5bqT5pqC5peg6aKY55uuJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1lbHNle1xuICAgICAgICB1bmkuJHUudG9hc3QocmVzLm1lc3NhZ2UpXG4gICAgICB9XG4gICAgfSxcblxuICAgIGFzeW5jIGdldEVycm9ySWRzKGlkKXtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGdldEVycm9yc0lkTGlzdCh7YmFua0lkOiBpZH0pXG4gICAgICBpZihyZXMuY29kZSA9PSAyMDApe1xuICAgICAgICBsZXQgbGlzdCA9IHJlcy5kYXRhIHx8IFtdXG4gICAgICAgIGlmKGxpc3QubGVuZ3RoPjApe1xuICAgICAgICAgIHRoaXMuaWRMaXN0ID0gbGlzdC5zb3J0KChhLCBiKSA9PiBhIC0gYilcbiAgICAgICAgICB0aGlzLmN1clRvdGFsSW5kZXggPSAwXG4gICAgICAgICAgY29uc3QgY3VySWRMaXN0ID0gdGhpcy5pZExpc3Quc2xpY2UoMCwyMClcbiAgICAgICAgICB0aGlzLmN1cnJlbnRJZCA9IHRoaXMuaWRMaXN0WzBdLmlkXG4gICAgICAgICAgYXdhaXQgdGhpcy5nZXRRdWVzdGlvbnNCeUlkcyhjdXJJZExpc3QpXG4gICAgICAgICAgdGhpcy5jdXJyZW50USA9IHRoaXMucXVlc3Rpb25MaXN0WzBdXG4gICAgICAgICAgdGhpcy5zaG93QW5zd2VyKClcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdGhpcy5pZExpc3QgPSBbXVxuICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuICAgICAgICAgICAgdGl0bGU6ICfmnKzpopjlupPmmoLml6DplJnpopgnLFxuICAgICAgICAgICAgZHVyYXRpb246IDEwMDBcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfWVsc2V7XG4gICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgYXN5bmMgZ2V0UXVlc3Rpb25zQnlJZHMoaWRMaXN0KXtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGdldEV4YW1MaXN0QnlJZHMoe3BhcGVySWQ6IHRoaXMuYmFuay5wYXBlcklkLHF1ZXN0aW9uSWRzOiBpZExpc3QubWFwKGk9PmkuaWQpfSlcbiAgICAgIGlmKHJlcy5jb2RlID09IDIwMCl7XG4gICAgICAgIHRoaXMucXVlc3Rpb25MaXN0ID0gcmVzLmRhdGEubWFwKGk9PntcbiAgICAgICAgICBpLmNvbnRlbnQgPSBKU09OLnBhcnNlKGkuY29udGVudClcbiAgICAgICAgICByZXR1cm4gaVxuICAgICAgICB9KVxuICAgICAgfWVsc2V7XG4gICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgY2hlY2tib3hDaGFuZ2Uobikge1xuICAgICAgY29uc29sZS5sb2coJ2NoYW5nZScsIG4pO1xuICAgIH0sXG4gICAgZ3JvdXBDaGFuZ2Uobikge1xuICAgICAgaWYodGhpcy5jdXJyZW50QSAhPT0gJycpe1xuICAgICAgICB0aGlzLmNvbmZpcm1BbnN3ZXIoKVxuICAgICAgfVxuICAgIH0sXG4gICAgcmFkaW9DaGFuZ2Uobikge1xuICAgICAgY29uc29sZS5sb2coJ3JhZGlvQ2hhbmdlJywgbik7XG4gICAgfSxcblxuICAgIGNvbmZpcm1BbnN3ZXIoKXtcbiAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIGFuc3dlcjogdGhpcy5jdXJyZW50US5xdWVzdGlvblR5cGU9PTI/dGhpcy5jdXJyZW50Qi5qb2luKCcsJyk6dGhpcy5jdXJyZW50QSxcbiAgICAgICAgcGFwZXJJZDogdGhpcy5iYW5rLnBhcGVySWQsXG4gICAgICAgIHF1ZXN0aW9uSWQ6IHRoaXMuY3VycmVudFEuaWQsXG4gICAgICAgIHN0dWRlbnRJZDogdW5pLmdldFN0b3JhZ2VTeW5jKCd1aWQnKVxuICAgICAgfVxuICAgICAgcG9zdEV4YW1BbnN3ZXIoZGF0YSkudGhlbihyZXM9PntcbiAgICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRRLnBhc3NlZCA9IHJlcy5kYXRhXG4gICAgICAgICAgLy8gdGhpcy5jdXJyZW50US5leEV4ZXJjaXNlQW5zd2VyLnBhc3NlZCA9IHJlcy5kYXRhLnBhc3NlZFxuICAgICAgICAgIHRoaXMuY3VycmVudFEuc3R1ZGVudEFuc3dlci5hbnN3ZXIgPSByZXMuZGF0YS5hbnN3ZXJcbiAgICAgICAgICAvLyB1bmkuJHUudG9hc3QoJ+etlOahiOW3suaPkOS6pCcpXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9LFxuXG4gICAgcHJldlEoKXtcbiAgICAgIGlmKHRoaXMuY3VyVG90YWxJbmRleCAtIDE+PTApe1xuICAgICAgICB0aGlzLmN1clRvdGFsSW5kZXgtLVxuICAgICAgICBpZih0aGlzLmN1clRvdGFsSW5kZXggPT0gMCl7XG4gICAgICAgICAgdGhpcy5nZXRRdWVzdGlvbnNCeUlkcyhbdGhpcy5pZExpc3RbMF1dKS50aGVuKCgpPT57XG4gICAgICAgICAgICAvLyB0aGlzLmN1cnJlbnRRID0gdGhpcy5xdWVzdGlvbkxpc3RbdGhpcy5xdWVzdGlvbkxpc3QubGVuZ3RoLTFdXG4gICAgICAgICAgICB0aGlzLiRzZXQodGhpcywgJ2N1cnJlbnRRJywgdGhpcy5xdWVzdGlvbkxpc3RbdGhpcy5xdWVzdGlvbkxpc3QubGVuZ3RoLTFdKVxuICAgICAgICAgICAgdGhpcy5zaG93QW5zd2VyKClcbiAgICAgICAgICB9KVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRJZCA9IHRoaXMuaWRMaXN0W3RoaXMuY3VyVG90YWxJbmRleF0uaWRcbiAgICAgICAgICBpZih0aGlzLnF1ZXN0aW9uTGlzdC5maW5kKGk9PmkuaWQgPT0gdGhpcy5jdXJyZW50SWQpKXtcbiAgICAgICAgICAgIHRoaXMuJHNldCh0aGlzLCAnY3VycmVudFEnLCB0aGlzLnF1ZXN0aW9uTGlzdC5maW5kKGk9PmkuaWQgPT0gdGhpcy5jdXJyZW50SWQpKVxuICAgICAgICAgICAgdGhpcy5zaG93QW5zd2VyKClcbiAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBNYXRoLm1heCgwLCB0aGlzLmN1clRvdGFsSW5kZXggLSAxOSk7XG4gICAgICAgICAgICBjb25zdCBjdXJJZExpc3QgPSB0aGlzLmlkTGlzdC5zbGljZShzdGFydEluZGV4LCB0aGlzLmN1clRvdGFsSW5kZXgrMSk7XG4gICAgICAgICAgICB0aGlzLmdldFF1ZXN0aW9uc0J5SWRzKGN1cklkTGlzdCkudGhlbigoKT0+e1xuICAgICAgICAgICAgICAvLyB0aGlzLmN1cnJlbnRRID0gdGhpcy5xdWVzdGlvbkxpc3RbdGhpcy5xdWVzdGlvbkxpc3QubGVuZ3RoLTFdXG4gICAgICAgICAgICAgIHRoaXMuJHNldCh0aGlzLCAnY3VycmVudFEnLCB0aGlzLnF1ZXN0aW9uTGlzdFt0aGlzLnF1ZXN0aW9uTGlzdC5sZW5ndGgtMV0pXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Fuc3dlcigpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfWVsc2V7XG4gICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuICAgICAgICAgIHRpdGxlOiAn5bey57uP5piv56ys5LiA6aKY5LqGJyxcbiAgICAgICAgICBkdXJhdGlvbjogMTAwMFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgbmV4dFEoKXtcbiAgICAgIGlmKHRoaXMuY3VyVG90YWxJbmRleCArIDE8dGhpcy5pZExpc3QubGVuZ3RoKXtcbiAgICAgICAgdGhpcy5jdXJUb3RhbEluZGV4KytcbiAgICAgICAgdGhpcy5jdXJyZW50SWQgPSB0aGlzLmlkTGlzdFt0aGlzLmN1clRvdGFsSW5kZXhdLmlkXG4gICAgICAgIGlmKHRoaXMucXVlc3Rpb25MaXN0LmZpbmQoaT0+aS5pZCA9PSB0aGlzLmN1cnJlbnRJZCkpe1xuICAgICAgICAgIHRoaXMuJHNldCh0aGlzLCAnY3VycmVudFEnLCB0aGlzLnF1ZXN0aW9uTGlzdC5maW5kKGk9PmkuaWQgPT0gdGhpcy5jdXJyZW50SWQpKVxuICAgICAgICAgIHRoaXMuc2hvd0Fuc3dlcigpXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIGNvbnN0IGN1cklkTGlzdCA9IHRoaXMuaWRMaXN0LnNsaWNlKHRoaXMuY3VyVG90YWxJbmRleCx0aGlzLmN1clRvdGFsSW5kZXggKyAyMClcbiAgICAgICAgICB0aGlzLmdldFF1ZXN0aW9uc0J5SWRzKGN1cklkTGlzdCkudGhlbigoKT0+e1xuICAgICAgICAgICAgdGhpcy4kc2V0KHRoaXMsICdjdXJyZW50UScsIHRoaXMucXVlc3Rpb25MaXN0WzBdKVxuICAgICAgICAgICAgLy8gdGhpcy5jdXJyZW50USA9IHRoaXMucXVlc3Rpb25MaXN0WzBdXG4gICAgICAgICAgICB0aGlzLnNob3dBbnN3ZXIoKVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1lbHNle1xuICAgICAgICB1bmkuc2hvd1RvYXN0KHtcbiAgICAgICAgICB0aXRsZTogJ+W3sue7j+aYr+acgOWQjuS4gOmimOS6hicsXG4gICAgICAgICAgZHVyYXRpb246IDEwMDBcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIHNob3dBbnN3ZXIoKXtcbiAgICAgIGlmKHRoaXMuY3VycmVudFEuc3R1ZGVudEFuc3dlciAmJiB0aGlzLmN1cnJlbnRRLnN0dWRlbnRBbnN3ZXIuYW5zd2VyKXtcbiAgICAgICAgaWYodGhpcy5jdXJyZW50US5xdWVzdGlvblR5cGUgPT0gMil7XG4gICAgICAgICAgdGhpcy5jdXJyZW50QiA9IHRoaXMuY3VycmVudFEuc3R1ZGVudEFuc3dlci5hbnN3ZXIuc3BsaXQoJywnKVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRBID0gdGhpcy5jdXJyZW50US5zdHVkZW50QW5zd2VyLmFuc3dlclxuICAgICAgICB9XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdGhpcy5jdXJyZW50QiA9IFtdXG4gICAgICAgIHRoaXMuY3VycmVudEEgPSAnJ1xuICAgICAgfVxuICAgIH0sXG5cblxuXG4gICAgZ29CYWNrKCl7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMudGltZXJJbnRlcnZhbCk7XG4gICAgICBjb25zdCB1cmwgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJwcmV2UGFnZVwiKTtcbiAgICAgIGlmKHVybCl7XG4gICAgICAgIHVuaS5yZUxhdW5jaCh7XG4gICAgICAgICAgdXJsOiB1cmxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2V7XG4gICAgICAgIHVuaS5yZUxhdW5jaCh7XG4gICAgICAgICAgdXJsOiAnL3BhZ2VzL3RhYkJhci9maXJzdFBhZ2UvZmlyc3RQYWdlJ1xuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0sXG5cbiAgICBlbmRFeGFtKCl7XG4gICAgICBjb25zdCB0ID0gdGhpc1xuICAgICAgdW5pLnNob3dNb2RhbCh7XG4gICAgICAgIHRpdGxlOiAn5o+Q56S6JyxcbiAgICAgICAgY29udGVudDogJ+S6pOWNt+WQjuWwhuaXoOazleWGjeasoeWBmumimO+8jOaYr+WQpue7p+e7re+8nycsXG4gICAgICAgIHN1Y2Nlc3M6IGFzeW5jIGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgICAgICBpZiAocmVzLmNvbmZpcm0pIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICAgIGlkOiB0LmJhbmsuaWQsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwb3N0RW5kRXhhbShkYXRhKS50aGVuKHJlcz0+e1xuICAgICAgICAgICAgICBpZihyZXMuY29kZSA9PSAyMDApe1xuICAgICAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuICAgICAgICAgICAgICAgICAgdGl0bGU6ICfmnKzmrKHogIPor5Xnu5PmnZ8nLFxuICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDE1MDBcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IHVuaS5nZXRTdG9yYWdlU3luYyhcInByZXZQYWdlXCIpO1xuICAgICAgICAgICAgICAgICAgaWYodXJsKXtcbiAgICAgICAgICAgICAgICAgICAgaWYodXJsID09ICcvcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9maXJzdFBhZ2UnKXtcbiAgICAgICAgICAgICAgICAgICAgICB1bmkucmVMYXVuY2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOicvcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9maXJzdFBhZ2UnXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgICAgICAgIHVuaS5uYXZpZ2F0ZVRvKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdXJsXG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSBlbHNle1xuICAgICAgICAgICAgICAgICAgICB1bmkucmVMYXVuY2goe1xuICAgICAgICAgICAgICAgICAgICAgIHVybDogJy9wYWdlcy90YWJCYXIvZmlyc3RQYWdlL2ZpcnN0UGFnZSdcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LDE1MDApXG4gICAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2UgaWYgKHJlcy5jYW5jZWwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCfnlKjmiLfngrnlh7vlj5bmtognKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXHR9XG59O1xuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbi5uYXZCYXJCb3ggLm5hdkJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcbiAgaGVpZ2h0OiA1MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsMCwwLDAuMDUpO1xufVxuLmJhclRleHR7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgZmxleDogMTtcbiAgLyogbWFyZ2luLWxlZnQ6IDIwcHg7ICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDg1JTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICAvKiB0ZXh0LWFsaWduOiBjZW50ZXI7ICovXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ubmF2QmFyQm94IC5uYXZCYXIgLmxvZ28ge1xuICB3aWR0aDogODJycHg7XG4gIGhlaWdodDogODJycHg7XG4gIG1hcmdpbi1yaWdodDogMTBycHg7XG59XG5cbi5wYW5lbHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDYwdnc7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gIGdhcDogMTVweDtcbiAgZ3JpZC1hdXRvLXJvd3M6IG1pbi1jb250ZW50O1xuXG4gICY+dmlld3tcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgbWluLXdpZHRoOiBjYWxjKDIwJSAtIDEycHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogcmdiYSg0MSwxMjEsMjU1LDApO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpO1xuICAgIGJveC1zaGFkb3c6IDBweCAtNnB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSwgMHB4IDRweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjAyKTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggLTJweCA1cHggcmdiKDI1NSwgMjU1LCAyNTUpLFxuICAgICAgICBpbnNldCAwcHggMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLnJpZ2h0LWF7XG4gICAgYmFja2dyb3VuZDogcmdiYSg0MSwxMjEsMjU1LC4xKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjk3OWZmO1xuICAgIGNvbG9yOiAjMjk3OWZmO1xuICB9XG5cbiAgLndyb25nLWF7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzcsMTAwLDEwMCwuMSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VkNjQ2NDtcbiAgICBjb2xvcjogI2VkNjQ2NDtcbiAgfVxufVxuXG4ubS1wLTE1e1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC50aW1lcntcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5cHg7XG5cbiAgICAudGltZXItYntcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHNwYW46bGFzdC1vZi10eXBle1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogIzBmN2ZmOTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC50b3B7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW46IDIwcHggMDtcblxuICAgIC5pbmR7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjMjk3OWZmXG4gICAgfVxuICAgIC5wYW5lbEJ0bntcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA0cHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGNvbG9yOiAjMjk3OWZmO1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjdmYTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNDEsMTIxLDI1NSwuNCk7XG4gICAgICBib3gtc2hhZG93OiAwcHggLTZweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSksIDBweCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4yNXMgZWFzZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucGFuZWxCdG46YWN0aXZle1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjdmYTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNDEsMTIxLDI1NSwxKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMTVweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wMik7XG4gICAgfVxuICB9XG5cbiAgLnF1ZXN0aW9uc3tcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIC50aXRsZXtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIC5jb250ZW50e1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHJweDtcblxuICAgICAgLmFuc3dlcnN7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlY2Y1ZmY7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICY+dmlld3tcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFue1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLnJpZ2h0e1xuICAgICAgICAgIGNvbG9yOiAjM2M5Y2ZmXG4gICAgICAgIH1cbiAgICAgICAgLndyb25ne1xuICAgICAgICAgIGNvbG9yOiAjZTQ1NjU2XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5idG5ze1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgei1pbmRleDogOTk7XG4gIGJvdHRvbTogNjBweDtcbiAgbGVmdDogMDtcbn1cblxuL2RlZXAvIC51LWNoZWNrYm94e1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi9kZWVwLyAudS1yYWRpbywudS1jaGVja2JveHtcbiAgcGFkZGluZzogMTJweCAxMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6ICNmNWY3ZmE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAtNnB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSwgMHB4IDRweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMjVzIGVhc2UgIWltcG9ydGFudDtcbn1cblxuLm15UmFkaW97XG4gIC9kZWVwLyAucGlja2Vke1xuICAgIGJhY2tncm91bmQ6ICMyOTc5ZmY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA0cHggcmdiYSgwLDAsMCwuMSk7XG5cbiAgICAudS1yYWRpb19faWNvbi13cmFwLC51LWNoZWNrYm94X19pY29uLXdyYXB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBzcGFue1xuICAgICAgY29sb3I6ICNmZmZcbiAgICB9XG5cbiAgfVxufVxuXG4vZGVlcC8gLnUtY2hlY2tib3g6YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAxNXB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjAyKTtcbn1cblxuL2RlZXAvIC51LXJhZGlvOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMTVweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wMik7XG59XG5cbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///287\n");
/***/ }),
/* 288 */
/*!*********************************************!*\
  !*** G:/workspace/testApp/api/wearhouse.js ***!
  \*********************************************/
/*!********************************************!*\
  !*** G:/workspace/testApp/static/sand.gif ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getCleanRecord = getCleanRecord;\nexports.getErrorsIdList = getErrorsIdList;\nexports.getExamIdIdList = getExamIdIdList;\nexports.getExamListByIds = getExamListByIds;\nexports.getQuestionById = getQuestionById;\nexports.getQuestionByIds = getQuestionByIds;\nexports.getQuestionIdList = getQuestionIdList;\nexports.getQuizHouse = getQuizHouse;\nexports.postEndExam = postEndExam;\nexports.postExamAnswer = postExamAnswer;\nexports.postExerciseAnswer = postExerciseAnswer;\nvar _request = __webpack_require__(/*! ../common/request.js */ 72);\nfunction getQuizHouse(data) {\n  return (0, _request.service)({\n    url: '/api/app/question-bank/list',\n    method: 'GET',\n    data: data\n  });\n}\nfunction getCleanRecord(data) {\n  return (0, _request.service)({\n    url: '/api/app/question-bank/clearExerciseRecord',\n    method: 'GET',\n    data: data\n  });\n}\nfunction getQuestionIdList(data) {\n  return (0, _request.service)({\n    url: '/api/app/question/getExerciseQuestionList',\n    method: 'GET',\n    data: data\n  });\n}\nfunction getQuestionById(data) {\n  return (0, _request.service)({\n    url: '/api/app/question/getExerciseQuestionById',\n    method: 'GET',\n    data: data\n  });\n}\nfunction getQuestionByIds(data) {\n  return (0, _request.service)({\n    url: '/api/app/question/getExerciseQuestionByIds',\n    method: 'GET',\n    data: data\n  });\n}\nfunction postExerciseAnswer(data) {\n  return (0, _request.service)({\n    url: '/api/app/exercise-answer',\n    method: 'POST',\n    data: data\n  });\n}\nfunction getErrorsIdList(data) {\n  return (0, _request.service)({\n    url: '/api/app/question/getExerciseErrorQuestionList',\n    method: 'GET',\n    data: data\n  });\n}\nfunction getExamIdIdList(data) {\n  return (0, _request.service)({\n    url: '/api/app/question/getPaperQuestionList',\n    method: 'GET',\n    data: data\n  });\n}\nfunction getExamListByIds(data) {\n  return (0, _request.service)({\n    url: '/api/app/question/getPaperQuestionByIds',\n    method: 'GET',\n    data: data\n  });\n}\nfunction postExamAnswer(data) {\n  return (0, _request.service)({\n    url: '/api/app/student-answer',\n    method: 'POST',\n    data: data\n  });\n}\nfunction postEndExam(data) {\n  return (0, _request.service)({\n    url: '/api/app/paper-student/endExam',\n    method: 'POST',\n    data: data\n  });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vYXBpL3dlYXJob3VzZS5qcyJdLCJuYW1lcyI6WyJnZXRRdWl6SG91c2UiLCJkYXRhIiwic2VydmljZSIsInVybCIsIm1ldGhvZCIsImdldENsZWFuUmVjb3JkIiwiZ2V0UXVlc3Rpb25JZExpc3QiLCJnZXRRdWVzdGlvbkJ5SWQiLCJnZXRRdWVzdGlvbkJ5SWRzIiwicG9zdEV4ZXJjaXNlQW5zd2VyIiwiZ2V0RXJyb3JzSWRMaXN0IiwiZ2V0RXhhbUlkSWRMaXN0IiwiZ2V0RXhhbUxpc3RCeUlkcyIsInBvc3RFeGFtQW5zd2VyIiwicG9zdEVuZEV4YW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUVPLFNBQVNBLFlBQVksQ0FBQ0MsSUFBSSxFQUFFO0VBQ2pDLE9BQU8sSUFBQUMsZ0JBQU8sRUFBQztJQUNmQyxHQUFHLEVBQUUsNkJBQTZCO0lBQ2xDQyxNQUFNLEVBQUUsS0FBSztJQUNiSCxJQUFJLEVBQUpBO0VBQ0QsQ0FBQyxDQUFDO0FBQ0g7QUFFTyxTQUFTSSxjQUFjLENBQUNKLElBQUksRUFBRTtFQUNwQyxPQUFPLElBQUFDLGdCQUFPLEVBQUM7SUFDZEMsR0FBRyxFQUFFLDRDQUE0QztJQUNqREMsTUFBTSxFQUFFLEtBQUs7SUFDYkgsSUFBSSxFQUFKQTtFQUNELENBQUMsQ0FBQztBQUNIO0FBRU8sU0FBU0ssaUJBQWlCLENBQUNMLElBQUksRUFBRTtFQUN2QyxPQUFPLElBQUFDLGdCQUFPLEVBQUM7SUFDZEMsR0FBRyxFQUFFLDJDQUEyQztJQUNoREMsTUFBTSxFQUFFLEtBQUs7SUFDYkgsSUFBSSxFQUFKQTtFQUNELENBQUMsQ0FBQztBQUNIO0FBRU8sU0FBU00sZUFBZSxDQUFDTixJQUFJLEVBQUU7RUFDckMsT0FBTyxJQUFBQyxnQkFBTyxFQUFDO0lBQ2RDLEdBQUcsRUFBRSwyQ0FBMkM7SUFDaERDLE1BQU0sRUFBRSxLQUFLO0lBQ2JILElBQUksRUFBSkE7RUFDRCxDQUFDLENBQUM7QUFDSDtBQUVPLFNBQVNPLGdCQUFnQixDQUFDUCxJQUFJLEVBQUU7RUFDdEMsT0FBTyxJQUFBQyxnQkFBTyxFQUFDO0lBQ2RDLEdBQUcsRUFBRSw0Q0FBNEM7SUFDakRDLE1BQU0sRUFBRSxLQUFLO0lBQ2JILElBQUksRUFBSkE7RUFDRCxDQUFDLENBQUM7QUFDSDtBQUVPLFNBQVNRLGtCQUFrQixDQUFDUixJQUFJLEVBQUU7RUFDeEMsT0FBTyxJQUFBQyxnQkFBTyxFQUFDO0lBQ2RDLEdBQUcsRUFBRSwwQkFBMEI7SUFDL0JDLE1BQU0sRUFBRSxNQUFNO0lBQ2RILElBQUksRUFBSkE7RUFDRCxDQUFDLENBQUM7QUFDSDtBQUVPLFNBQVNTLGVBQWUsQ0FBQ1QsSUFBSSxFQUFFO0VBQ3JDLE9BQU8sSUFBQUMsZ0JBQU8sRUFBQztJQUNkQyxHQUFHLEVBQUUsZ0RBQWdEO0lBQ3JEQyxNQUFNLEVBQUUsS0FBSztJQUNiSCxJQUFJLEVBQUpBO0VBQ0QsQ0FBQyxDQUFDO0FBQ0g7QUFFTyxTQUFTVSxlQUFlLENBQUNWLElBQUksRUFBRTtFQUNyQyxPQUFPLElBQUFDLGdCQUFPLEVBQUM7SUFDZEMsR0FBRyxFQUFFLHdDQUF3QztJQUM3Q0MsTUFBTSxFQUFFLEtBQUs7SUFDYkgsSUFBSSxFQUFKQTtFQUNELENBQUMsQ0FBQztBQUNIO0FBRU8sU0FBU1csZ0JBQWdCLENBQUNYLElBQUksRUFBRTtFQUN0QyxPQUFPLElBQUFDLGdCQUFPLEVBQUM7SUFDZEMsR0FBRyxFQUFFLHlDQUF5QztJQUM5Q0MsTUFBTSxFQUFFLEtBQUs7SUFDYkgsSUFBSSxFQUFKQTtFQUNELENBQUMsQ0FBQztBQUNIO0FBRU8sU0FBU1ksY0FBYyxDQUFDWixJQUFJLEVBQUU7RUFDcEMsT0FBTyxJQUFBQyxnQkFBTyxFQUFDO0lBQ2RDLEdBQUcsRUFBRSx5QkFBeUI7SUFDOUJDLE1BQU0sRUFBRSxNQUFNO0lBQ2RILElBQUksRUFBSkE7RUFDRCxDQUFDLENBQUM7QUFDSDtBQUVPLFNBQVNhLFdBQVcsQ0FBQ2IsSUFBSSxFQUFFO0VBQ2pDLE9BQU8sSUFBQUMsZ0JBQU8sRUFBQztJQUNkQyxHQUFHLEVBQUUsZ0NBQWdDO0lBQ3JDQyxNQUFNLEVBQUUsTUFBTTtJQUNkSCxJQUFJLEVBQUpBO0VBQ0QsQ0FBQyxDQUFDO0FBQ0giLCJmaWxlIjoiMjg4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzZXJ2aWNlfSBmcm9tICcuLi9jb21tb24vcmVxdWVzdC5qcyc7XHJcbiBcclxuZXhwb3J0IGZ1bmN0aW9uIGdldFF1aXpIb3VzZShkYXRhKSB7XHJcbiAgcmV0dXJuIHNlcnZpY2Uoe1xyXG5cdFx0dXJsOiAnL2FwaS9hcHAvcXVlc3Rpb24tYmFuay9saXN0JyxcclxuXHRcdG1ldGhvZDogJ0dFVCcsXHJcblx0XHRkYXRhXHJcblx0fSlcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldENsZWFuUmVjb3JkKGRhdGEpIHtcclxuXHRyZXR1cm4gc2VydmljZSh7XHJcblx0XHR1cmw6ICcvYXBpL2FwcC9xdWVzdGlvbi1iYW5rL2NsZWFyRXhlcmNpc2VSZWNvcmQnLFxyXG5cdFx0bWV0aG9kOiAnR0VUJyxcclxuXHRcdGRhdGFcclxuXHR9KVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlc3Rpb25JZExpc3QoZGF0YSkge1xyXG5cdHJldHVybiBzZXJ2aWNlKHtcclxuXHRcdHVybDogJy9hcGkvYXBwL3F1ZXN0aW9uL2dldEV4ZXJjaXNlUXVlc3Rpb25MaXN0JyxcclxuXHRcdG1ldGhvZDogJ0dFVCcsXHJcblx0XHRkYXRhXHJcblx0fSlcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFF1ZXN0aW9uQnlJZChkYXRhKSB7XHJcblx0cmV0dXJuIHNlcnZpY2Uoe1xyXG5cdFx0dXJsOiAnL2FwaS9hcHAvcXVlc3Rpb24vZ2V0RXhlcmNpc2VRdWVzdGlvbkJ5SWQnLFxyXG5cdFx0bWV0aG9kOiAnR0VUJyxcclxuXHRcdGRhdGFcclxuXHR9KVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlc3Rpb25CeUlkcyhkYXRhKSB7XHJcblx0cmV0dXJuIHNlcnZpY2Uoe1xyXG5cdFx0dXJsOiAnL2FwaS9hcHAvcXVlc3Rpb24vZ2V0RXhlcmNpc2VRdWVzdGlvbkJ5SWRzJyxcclxuXHRcdG1ldGhvZDogJ0dFVCcsXHJcblx0XHRkYXRhXHJcblx0fSlcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHBvc3RFeGVyY2lzZUFuc3dlcihkYXRhKSB7XHJcblx0cmV0dXJuIHNlcnZpY2Uoe1xyXG5cdFx0dXJsOiAnL2FwaS9hcHAvZXhlcmNpc2UtYW5zd2VyJyxcclxuXHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0ZGF0YVxyXG5cdH0pXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvcnNJZExpc3QoZGF0YSkge1xyXG5cdHJldHVybiBzZXJ2aWNlKHtcclxuXHRcdHVybDogJy9hcGkvYXBwL3F1ZXN0aW9uL2dldEV4ZXJjaXNlRXJyb3JRdWVzdGlvbkxpc3QnLFxyXG5cdFx0bWV0aG9kOiAnR0VUJyxcclxuXHRcdGRhdGFcclxuXHR9KVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXhhbUlkSWRMaXN0KGRhdGEpIHtcclxuXHRyZXR1cm4gc2VydmljZSh7XHJcblx0XHR1cmw6ICcvYXBpL2FwcC9xdWVzdGlvbi9nZXRQYXBlclF1ZXN0aW9uTGlzdCcsXHJcblx0XHRtZXRob2Q6ICdHRVQnLFxyXG5cdFx0ZGF0YVxyXG5cdH0pXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFeGFtTGlzdEJ5SWRzKGRhdGEpIHtcclxuXHRyZXR1cm4gc2VydmljZSh7XHJcblx0XHR1cmw6ICcvYXBpL2FwcC9xdWVzdGlvbi9nZXRQYXBlclF1ZXN0aW9uQnlJZHMnLFxyXG5cdFx0bWV0aG9kOiAnR0VUJyxcclxuXHRcdGRhdGFcclxuXHR9KVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcG9zdEV4YW1BbnN3ZXIoZGF0YSkge1xyXG5cdHJldHVybiBzZXJ2aWNlKHtcclxuXHRcdHVybDogJy9hcGkvYXBwL3N0dWRlbnQtYW5zd2VyJyxcclxuXHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0ZGF0YVxyXG5cdH0pXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwb3N0RW5kRXhhbShkYXRhKSB7XHJcblx0cmV0dXJuIHNlcnZpY2Uoe1xyXG5cdFx0dXJsOiAnL2FwaS9hcHAvcGFwZXItc3R1ZGVudC9lbmRFeGFtJyxcclxuXHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0ZGF0YVxyXG5cdH0pXHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///288\n");
eval("module.exports = __webpack_require__.p + \"static/sand.gif\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQixxQkFBdUIiLCJmaWxlIjoiMjg4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyArIFwic3RhdGljL3NhbmQuZ2lmXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///288\n");
/***/ }),
/* 289 */
@@ -24147,6 +24222,8 @@
try {
  components = {
    uTag: __webpack_require__(/*! @/uni_modules/uview-ui/components/u-tag/u-tag.vue */ 160).default,
    uEmpty: __webpack_require__(/*! @/uni_modules/uview-ui/components/u-empty/u-empty.vue */ 94)
      .default,
    uButton: __webpack_require__(/*! @/uni_modules/uview-ui/components/u-button/u-button.vue */ 55)
      .default,
  }
@@ -24206,158 +24283,171 @@
            "view",
            { staticClass: _vm._$s(7, "sc", "card-list"), attrs: { _i: 7 } },
            [
              _c(
                "scroll-view",
                {
                  staticClass: _vm._$s(8, "sc", "scroll-Y"),
                  attrs: { _i: 8 },
                  on: {
                    scrolltoupper: _vm.upper,
                    scrolltolower: _vm.lower,
                    scroll: _vm.scrollView,
                  },
                },
                _vm._l(
                  _vm._$s(9, "f", { forItems: _vm.examList }),
                  function (item, index, $20, $30) {
                    return _c(
                      "view",
                      {
                        key: _vm._$s(9, "f", { forIndex: $20, key: index }),
                        staticClass: _vm._$s("9-" + $30, "sc", "paper-card"),
                        attrs: { _i: "9-" + $30 },
                        on: {
                          click: function ($event) {
                            return _vm.toDetail(item, 2)
                          },
                        },
              _vm._$s(8, "i", _vm.examList && _vm.examList.length > 0)
                ? _c(
                    "scroll-view",
                    {
                      staticClass: _vm._$s(8, "sc", "scroll-Y"),
                      attrs: { _i: 8 },
                      on: {
                        scrolltoupper: _vm.upper,
                        scrolltolower: _vm.lower,
                        scroll: _vm.scrollView,
                      },
                      [
                        _c(
                    },
                    _vm._l(
                      _vm._$s(9, "f", { forItems: _vm.examList }),
                      function (item, index, $20, $30) {
                        return _c(
                          "view",
                          {
                            key: _vm._$s(9, "f", { forIndex: $20, key: index }),
                            staticClass: _vm._$s(
                              "10-" + $30,
                              "9-" + $30,
                              "sc",
                              "paper-card-l"
                              "paper-card"
                            ),
                            attrs: { _i: "10-" + $30 },
                            attrs: { _i: "9-" + $30 },
                            on: {
                              click: function ($event) {
                                return _vm.toDetail(item, 2)
                              },
                            },
                          },
                          [
                            _c(
                              "view",
                              {
                                staticClass: _vm._$s(
                                  "11-" + $30,
                                  "10-" + $30,
                                  "sc",
                                  "paper-card-t"
                                  "paper-card-l"
                                ),
                                attrs: { _i: "11-" + $30 },
                                attrs: { _i: "10-" + $30 },
                              },
                              [
                                _vm._v(
                                  _vm._$s(
                                    "11-" + $30,
                                    "t0-0",
                                    _vm._s(item.examPaper.name)
                                  )
                                _c(
                                  "view",
                                  {
                                    staticClass: _vm._$s(
                                      "11-" + $30,
                                      "sc",
                                      "paper-card-t"
                                    ),
                                    attrs: { _i: "11-" + $30 },
                                  },
                                  [
                                    _vm._v(
                                      _vm._$s(
                                        "11-" + $30,
                                        "t0-0",
                                        _vm._s(item.examPaper.name)
                                      )
                                    ),
                                  ]
                                ),
                                _c("view", [
                                  _vm._v(
                                    _vm._$s(
                                      "12-" + $30,
                                      "t0-0",
                                      _vm._s(item.examPaper.code)
                                    )
                                  ),
                                ]),
                                _c(
                                  "view",
                                  [
                                    _c("u-tag", {
                                      attrs: {
                                        text: item.examPaper.categoryName,
                                        size: "mini",
                                        _i: "14-" + $30,
                                      },
                                    }),
                                    _c("u-tag", {
                                      attrs: {
                                        text: item.createName,
                                        plain: true,
                                        plainFill: true,
                                        size: "mini",
                                        _i: "15-" + $30,
                                      },
                                    }),
                                  ],
                                  1
                                ),
                              ]
                            ),
                            _c("view", [
                              _vm._v(
                                _vm._$s(
                                  "12-" + $30,
                                  "t0-0",
                                  _vm._s(item.examPaper.code)
                                )
                              ),
                            ]),
                            _c(
                              "view",
                              [
                                _c("u-tag", {
                                  attrs: {
                                    text: item.examPaper.categoryName,
                                    size: "mini",
                                    _i: "14-" + $30,
                                  },
                                }),
                                _c("u-tag", {
                                  attrs: {
                                    text: item.createName,
                                    plain: true,
                                    plainFill: true,
                                    size: "mini",
                                    _i: "15-" + $30,
                                  },
                                }),
                              ],
                              1
                            ),
                          ]
                        ),
                        _c(
                          "view",
                          {
                            staticClass: _vm._$s(
                              "16-" + $30,
                              "sc",
                              "paper-card-r"
                            ),
                            attrs: { _i: "16-" + $30 },
                          },
                          [
                            _c(
                              "view",
                              {
                                class: _vm._$s(
                                  "17-" + $30,
                                  "c",
                                  item.passed == 0 ? "red" : "green"
                                staticClass: _vm._$s(
                                  "16-" + $30,
                                  "sc",
                                  "paper-card-r"
                                ),
                                attrs: { _i: "17-" + $30 },
                                attrs: { _i: "16-" + $30 },
                              },
                              [
                                _c("view", [
                                  _vm._v(
                                    _vm._$s(
                                      "18-" + $30,
                                      "t0-0",
                                      _vm._s(item.score)
                                    )
                                  ),
                                ]),
                                _c("view", {
                                  staticClass: _vm._$s(
                                    "19-" + $30,
                                    "sc",
                                    "divide"
                                  ),
                                  attrs: { _i: "19-" + $30 },
                                }),
                                _c("view", [
                                  _vm._v(
                                    _vm._$s(
                                      "20-" + $30,
                                      "t0-0",
                                      _vm._s(
                                        item.passed == 0 ? "不合格" : "合格"
                                      )
                                    )
                                  ),
                                ]),
                                _c(
                                  "view",
                                  {
                                    class: _vm._$s(
                                      "17-" + $30,
                                      "c",
                                      item.passed == 0 ? "red" : "green"
                                    ),
                                    attrs: { _i: "17-" + $30 },
                                  },
                                  [
                                    _c("view", [
                                      _vm._v(
                                        _vm._$s(
                                          "18-" + $30,
                                          "t0-0",
                                          _vm._s(item.score)
                                        )
                                      ),
                                    ]),
                                    _c("view", {
                                      staticClass: _vm._$s(
                                        "19-" + $30,
                                        "sc",
                                        "divide"
                                      ),
                                      attrs: { _i: "19-" + $30 },
                                    }),
                                    _c("view", [
                                      _vm._v(
                                        _vm._$s(
                                          "20-" + $30,
                                          "t0-0",
                                          _vm._s(
                                            item.passed == 0 ? "不合格" : "合格"
                                          )
                                        )
                                      ),
                                    ]),
                                  ]
                                ),
                              ]
                            ),
                          ]
                        ),
                      ]
                    )
                  }
                ),
                0
              ),
            ]
                        )
                      }
                    ),
                    0
                  )
                : _c("u-empty", {
                    attrs: {
                      text: "暂无已完成的考试记录",
                      mode: "list",
                      _i: 21,
                    },
                  }),
            ],
            1
          ),
          _c(
            "view",
@@ -24367,7 +24457,7 @@
                  type: "primary",
                  text: "退出登录",
                  shape: "circle",
                  _i: 22,
                  _i: 23,
                },
                on: { click: _vm.loginOut },
              }),
@@ -24376,7 +24466,7 @@
          ),
        ]
      ),
      _c("tabBar", { attrs: { currentPagePath: _vm.page, _i: 23 } }),
      _c("tabBar", { attrs: { currentPagePath: _vm.page, _i: 24 } }),
    ],
    1
  )
@@ -24407,7 +24497,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 15));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 23));\nvar _tabBarIndex = _interopRequireDefault(__webpack_require__(/*! ../tabBarIndex.vue */ 140));\nvar _api = __webpack_require__(/*! ../../../api */ 71);\nvar _wearhouse = __webpack_require__(/*! ../../../api/wearhouse */ 288);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {\n    tabBar: _tabBarIndex.default\n  },\n  data: function data() {\n    return {\n      page: 'pages/tabBar/count/count',\n      statusBarHeight: '',\n      examParams: {\n        pageNum: 1,\n        pageSize: 10,\n        completed: 1\n      },\n      examList: [],\n      totalPage: 0\n    };\n  },\n  onLoad: function onLoad() {\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    // uni.hideTabBar();\n    this.getExamList();\n  },\n  methods: {\n    goBack: function goBack() {\n      uni.switchTab({\n        url: '/pages/tabBar/firstPage/firstPage'\n      });\n    },\n    getExamList: function getExamList() {\n      var _this = this;\n      (0, _api.getExamList)(this.examParams).then(function (res) {\n        if (res.code == 200) {\n          var list = res.data.list ? res.data.list : [];\n          if (res.pageNum != 1) {\n            _this.examList = _this.examList.concat(list);\n          } else {\n            _this.examList = res.data.list;\n          }\n          _this.totalPage = res.data.totalPage;\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    toDetail: function toDetail(item, type) {\n      uni.setStorageSync(\"prevPage\", '/pages/tabBar/count/count');\n      uni.navigateTo({\n        url: \"/pages/tabBar/firstPage/exam?bank=\" + encodeURIComponent(JSON.stringify(item)) + \"&type=\" + encodeURIComponent(JSON.stringify(type))\n      });\n    },\n    loginOut: function loginOut() {\n      uni.showModal({\n        title: '提示',\n        content: '是否确认退出该账号?',\n        success: function () {\n          var _success = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(res) {\n            return _regenerator.default.wrap(function _callee$(_context) {\n              while (1) {\n                switch (_context.prev = _context.next) {\n                  case 0:\n                    if (res.confirm) {\n                      (0, _api.loginOut)().then(function (res) {\n                        if (res.code == 200) {\n                          uni.showToast({\n                            title: '账户已退出',\n                            duration: 1000\n                          });\n                          setTimeout(function () {\n                            uni.clearStorageSync();\n                            uni.clearStorage();\n                            uni.navigateTo({\n                              url: '/pages/index/index'\n                            });\n                          }, 1000);\n                        }\n                      });\n                    } else if (res.cancel) {\n                      __f__(\"log\", '用户点击取消', \" at pages/tabBar/count/count.vue:124\");\n                    }\n                  case 1:\n                  case \"end\":\n                    return _context.stop();\n                }\n              }\n            }, _callee);\n          }));\n          function success(_x) {\n            return _success.apply(this, arguments);\n          }\n          return success;\n        }()\n      });\n    },\n    upper: function upper(e) {\n      // console.log(e)\n    },\n    lower: function lower(e) {\n      //并且让页码+1,调用获取数据的方法获取第二页数据\n      this.examParams.pageNum++;\n      //此处调用自己获取数据列表的方法\n      if (this.examParams.pageNum > this.totalPage) {\n        uni.$u.toast('已加载全部数据');\n        return;\n      }\n      this.getExamList();\n    },\n    scrollView: function scrollView(e) {\n      // console.log(e)\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 */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL2NvdW50L2NvdW50LnZ1ZSJdLCJuYW1lcyI6WyJjb21wb25lbnRzIiwidGFiQmFyIiwiZGF0YSIsInBhZ2UiLCJzdGF0dXNCYXJIZWlnaHQiLCJleGFtUGFyYW1zIiwicGFnZU51bSIsInBhZ2VTaXplIiwiY29tcGxldGVkIiwiZXhhbUxpc3QiLCJ0b3RhbFBhZ2UiLCJvbkxvYWQiLCJtZXRob2RzIiwiZ29CYWNrIiwidW5pIiwidXJsIiwiZ2V0RXhhbUxpc3QiLCJ0b0RldGFpbCIsImxvZ2luT3V0IiwidGl0bGUiLCJjb250ZW50Iiwic3VjY2VzcyIsImR1cmF0aW9uIiwic2V0VGltZW91dCIsInVwcGVyIiwibG93ZXIiLCJzY3JvbGxWaWV3Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUE4Q0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBQ0E7RUFDQUE7SUFDQUM7RUFDQTtFQUNBQztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQUM7TUFDQUM7SUFDQTtFQUVBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQUM7TUFDQUM7UUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO1VBQ0E7WUFDQTtVQUNBO1VBQ0E7UUFDQTtVQUNBRjtRQUNBO01BQ0E7SUFDQTtJQUVBRztNQUNBSDtNQUNBQTtRQUNBQztNQUNBO0lBQ0E7SUFFQUc7TUFDQUo7UUFDQUs7UUFDQUM7UUFDQUM7VUFBQTtZQUFBO2NBQUE7Z0JBQUE7a0JBQUE7b0JBQ0E7c0JBQ0E7d0JBQ0E7MEJBQ0FQOzRCQUNBSzs0QkFDQUc7MEJBQ0E7MEJBQ0FDOzRCQUNBVDs0QkFDQUE7NEJBQ0FBOzhCQUNBQzs0QkFDQTswQkFDQTt3QkFDQTtzQkFDQTtvQkFDQTtzQkFDQTtvQkFDQTtrQkFBQTtrQkFBQTtvQkFBQTtnQkFBQTtjQUFBO1lBQUE7VUFBQSxDQUNBO1VBQUE7WUFBQTtVQUFBO1VBQUE7UUFBQTtNQUNBO0lBQ0E7SUFFQVM7TUFDQTtJQUFBLENBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBWDtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FZO01BQ0E7SUFBQTtFQUVBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIzMDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJib3hcIj5cclxuXHRcdDwhLS0g6Ieq5a6a5LmJ5a+86Iiq5qCPIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJuYXZCYXJCb3ggZml4XCI+XHJcblx0XHRcdDwhLS0g54q25oCB5qCP5Y2g5L2NIC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInN0YXR1c0JhclwiIDpzdHlsZT1cInsgcGFkZGluZ1RvcDogc3RhdHVzQmFySGVpZ2h0ICsgJ3B4JyB9XCI+PC92aWV3PlxyXG5cdFx0XHQ8IS0tIOecn+ato+eahOWvvOiIquagj+WGheWuuSAtLT5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibmF2QmFyXCI+XHJcbjwhLS1cdFx0XHRcdFx0PHUtaWNvbiBzdHlsZT1cIiBtYXJnaW4tbGVmdDogLTI1cHg7XCIgbmFtZT1cImFycm93LWxlZnRcIiBjb2xvcj1cImJsYWNrXCIgc2l6ZT1cIjE3XCIgQGNsaWNrPVwiZ29CYWNrXCIgLz4tLT5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmFyVGV4dFwiPuaIkeeahOaIkOe7qTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuICAgIDx2aWV3IGNsYXNzPVwibS1wLTE1XCI+XHJcbiAgICAgIDx2aWV3IGNsYXNzPVwiY2FyZC1saXN0XCI+XHJcbiAgICAgICAgICA8c2Nyb2xsLXZpZXcgc2Nyb2xsLXk9XCJ0cnVlXCIgY2xhc3M9XCJzY3JvbGwtWVwiIEBzY3JvbGx0b3VwcGVyPVwidXBwZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIEBzY3JvbGx0b2xvd2VyPVwibG93ZXJcIiBsb3dlci10aHJlc2hvbGQ9XCIxNTBcIiBAc2Nyb2xsPVwic2Nyb2xsVmlld1wiIHN0eWxlPVwiaGVpZ2h0OjM1MHB4XCI+XHJcbiAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwicGFwZXItY2FyZFwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIGV4YW1MaXN0XCIgOmtleT1cImluZGV4XCIgQGNsaWNrPVwidG9EZXRhaWwoaXRlbSwyKVwiPlxyXG4gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwicGFwZXItY2FyZC1sXCI+XHJcbiAgICAgICAgICAgICAgICA8dmlldyBjbGFzcz1cInBhcGVyLWNhcmQtdFwiPnt7aXRlbS5leGFtUGFwZXIubmFtZX19PC92aWV3PlxyXG4gICAgICAgICAgICAgICAgPHZpZXcgc3R5bGU9XCJjb2xvcjogIzk5OTttYXJnaW4tYm90dG9tOiAxNXB4O2ZvbnQtc2l6ZTogMTJweFwiPnt7aXRlbS5leGFtUGFwZXIuY29kZX19PC92aWV3PlxyXG4gICAgICAgICAgICAgICAgPHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O2FsaWduLWl0ZW1zOiBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPHUtdGFnIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAyMHJweFwiIDp0ZXh0PVwiaXRlbS5leGFtUGFwZXIuY2F0ZWdvcnlOYW1lXCIgc2l6ZT1cIm1pbmlcIj48L3UtdGFnPlxyXG4gICAgICAgICAgICAgICAgICA8dS10YWcgOnRleHQ9XCJpdGVtLmNyZWF0ZU5hbWVcIiBwbGFpbiBwbGFpbkZpbGwgc2l6ZT1cIm1pbmlcIj48L3UtdGFnPlxyXG4gICAgICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgICA8dmlldyBjbGFzcz1cInBhcGVyLWNhcmQtclwiPlxyXG4gICAgICAgICAgICAgICAgPHZpZXcgOmNsYXNzPVwiaXRlbS5wYXNzZWQgPT0gMD8ncmVkJzonZ3JlZW4nXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx2aWV3Pnt7aXRlbS5zY29yZX19PC92aWV3PlxyXG4gICAgICAgICAgICAgICAgICA8dmlldyBjbGFzcz1cImRpdmlkZVwiPjwvdmlldz5cclxuICAgICAgICAgICAgICAgICAgPHZpZXc+e3tpdGVtLnBhc3NlZCA9PSAwPyfkuI3lkIjmoLwnOiflkIjmoLwnfX08L3ZpZXc+XHJcbiAgICAgICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICA8L3Njcm9sbC12aWV3PlxyXG4gICAgICA8L3ZpZXc+XHJcbiAgICAgIDx2aWV3PlxyXG4gICAgICAgIDx1LWJ1dHRvbiBAY2xpY2s9XCJsb2dpbk91dFwiIHR5cGU9XCJwcmltYXJ5XCIgdGV4dD1cIumAgOWHuueZu+W9lVwiIHN0eWxlPVwid2lkdGg6IDgwJVwiIHNoYXBlPVwiY2lyY2xlXCI+PC91LWJ1dHRvbj5cclxuICAgICAgPC92aWV3PlxyXG4gICAgPC92aWV3PlxyXG5cdFx0PHRhYkJhciA6Y3VycmVudFBhZ2VQYXRoPVwicGFnZVwiPjwvdGFiQmFyPlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0aW1wb3J0IHRhYkJhciBmcm9tICcuLi90YWJCYXJJbmRleC52dWUnXHJcbiAgaW1wb3J0IHtnZXRFeGFtTGlzdCwgbG9naW5PdXR9IGZyb20gXCIuLi8uLi8uLi9hcGlcIjtcclxuICBpbXBvcnQge2dldENsZWFuUmVjb3JkfSBmcm9tIFwiLi4vLi4vLi4vYXBpL3dlYXJob3VzZVwiO1xyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGNvbXBvbmVudHM6e1xyXG5cdFx0XHR0YWJCYXJcclxuXHRcdH0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHBhZ2U6ICdwYWdlcy90YWJCYXIvY291bnQvY291bnQnLFxyXG5cdFx0XHRcdHN0YXR1c0JhckhlaWdodDogJycsXHJcbiAgICAgICAgZXhhbVBhcmFtczoge1xyXG4gICAgICAgICAgcGFnZU51bTogMSxcclxuICAgICAgICAgIHBhZ2VTaXplOiAxMCxcclxuICAgICAgICAgIGNvbXBsZXRlZDogMVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXhhbUxpc3Q6IFtdLFxyXG4gICAgICAgIHRvdGFsUGFnZTogMFxyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZCgpIHtcclxuXHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQgPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVsnc3RhdHVzQmFySGVpZ2h0J107XHJcblx0XHRcdC8vIHVuaS5oaWRlVGFiQmFyKCk7XHJcbiAgICAgIHRoaXMuZ2V0RXhhbUxpc3QoKVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0Z29CYWNrKCkge1xyXG5cdFx0XHRcdHVuaS5zd2l0Y2hUYWIoe1xyXG5cdFx0XHRcdCAgICB1cmw6Jy9wYWdlcy90YWJCYXIvZmlyc3RQYWdlL2ZpcnN0UGFnZSdcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuICAgICAgZ2V0RXhhbUxpc3QoKXtcclxuICAgICAgICBnZXRFeGFtTGlzdCh0aGlzLmV4YW1QYXJhbXMpLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgIGlmKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICBsZXQgbGlzdCA9IHJlcy5kYXRhLmxpc3Q/cmVzLmRhdGEubGlzdDogW107XHJcbiAgICAgICAgICAgIGlmIChyZXMucGFnZU51bSAhPSAxKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5leGFtTGlzdCA9IHRoaXMuZXhhbUxpc3QuY29uY2F0KGxpc3QpXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5leGFtTGlzdCA9IHJlcy5kYXRhLmxpc3RcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRvdGFsUGFnZSA9IHJlcy5kYXRhLnRvdGFsUGFnZVxyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9LFxyXG5cclxuICAgICAgdG9EZXRhaWwoaXRlbSx0eXBlKXtcclxuICAgICAgICB1bmkuc2V0U3RvcmFnZVN5bmMoXCJwcmV2UGFnZVwiLCAnL3BhZ2VzL3RhYkJhci9jb3VudC9jb3VudCcpO1xyXG4gICAgICAgIHVuaS5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICAgIHVybDogYC9wYWdlcy90YWJCYXIvZmlyc3RQYWdlL2V4YW0/YmFuaz1gICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGl0ZW0pKSArIGAmdHlwZT1gICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHR5cGUpKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBsb2dpbk91dCgpe1xyXG4gICAgICAgIHVuaS5zaG93TW9kYWwoe1xyXG4gICAgICAgICAgdGl0bGU6ICfmj5DnpLonLFxyXG4gICAgICAgICAgY29udGVudDogJ+aYr+WQpuehruiupOmAgOWHuuivpei0puWPt++8nycsXHJcbiAgICAgICAgICBzdWNjZXNzOiBhc3luYyBmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAgICAgICAgIGlmIChyZXMuY29uZmlybSkge1xyXG4gICAgICAgICAgICAgIGxvZ2luT3V0KCkudGhlbihyZXM9PntcclxuICAgICAgICAgICAgICAgIGlmKHJlcy5jb2RlID09IDIwMCl7XHJcbiAgICAgICAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6LSm5oi35bey6YCA5Ye6JyxcclxuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwMFxyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgdW5pLmNsZWFyU3RvcmFnZVN5bmMoKTtcclxuICAgICAgICAgICAgICAgICAgICB1bmkuY2xlYXJTdG9yYWdlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdW5pLm5hdmlnYXRlVG8oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgdXJsOiAnL3BhZ2VzL2luZGV4L2luZGV4J1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIH0sMTAwMClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlcy5jYW5jZWwpIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZygn55So5oi354K55Ye75Y+W5raIJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9LFxyXG5cclxuICAgICAgdXBwZXIoZSkge1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGUpXHJcbiAgICAgIH0sXHJcbiAgICAgIGxvd2VyKGUpIHtcclxuICAgICAgICAvL+W5tuS4lOiuqemhteeggSsxLOiwg+eUqOiOt+WPluaVsOaNrueahOaWueazleiOt+WPluesrOS6jOmhteaVsOaNrlxyXG4gICAgICAgIHRoaXMuZXhhbVBhcmFtcy5wYWdlTnVtKytcclxuICAgICAgICAvL+atpOWkhOiwg+eUqOiHquW3seiOt+WPluaVsOaNruWIl+ihqOeahOaWueazlVxyXG4gICAgICAgIGlmICh0aGlzLmV4YW1QYXJhbXMucGFnZU51bSA+IHRoaXMudG90YWxQYWdlKXtcclxuICAgICAgICAgIHVuaS4kdS50b2FzdCgn5bey5Yqg6L295YWo6YOo5pWw5o2uJylcclxuICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmdldEV4YW1MaXN0KClcclxuICAgICAgfSxcclxuICAgICAgc2Nyb2xsVmlldyhlKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coZSlcclxuICAgICAgfSxcclxuXHRcdH1cclxuXHR9XHJcblxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPSdzY3NzJyBzY29wZWQ+XHJcbi5ib3gge1xyXG5cdGRpc3BsYXk6IGZsZXg7IFxyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IFxyXG5cdHdpZHRoOiAxMDAlOyBcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuLmZpeHtcclxuXHRwb3NpdGlvbjogc3RpY2t5O1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHotaW5kZXg6IDE7XHJcbn1cclxuLm5hdkJhckJveCAubmF2QmFyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XHJcblx0ICBoZWlnaHQ6IDUwcHg7XHJcblx0ICBkaXNwbGF5OiBmbGV4O1xyXG5cdCAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHQgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdCAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJveC1zaGFkb3c6IDRweCA0cHggMTJweCByZ2JhKDE1MCwxNTAsMTUwLC4wNSk7XHJcbn1cclxuLmJhclRleHR7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHdpZHRoOiA4NSU7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcbi5zdGF0dXNCYXJ7XHJcblx0YmFja2dyb3VuZC1jb2xvcjpsaWdodGdyZXk7XHJcbn1cclxuLm0tcC0xNXtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLmNhcmQtbGlzdHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjIwcHgpO1xyXG4gICAgbWFyZ2luOiAyMHB4IDA7XHJcblxyXG4gICAgLnBhcGVyLWNhcmR7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcclxuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweDtcclxuICAgICAgLy9wb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDhweCByZ2JhKDE1MCwxNTAsMTUwLC4xKTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgJjpsYXN0LW9mLXR5cGV7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8uaXNQYXNzZWR7XHJcbiAgICAgIC8vICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIC8vICByaWdodDogMTVweDtcclxuICAgICAgLy8gIHRvcDogMTVweDtcclxuICAgICAgLy99XHJcblxyXG4gICAgICAucGFwZXItY2FyZC1se1xyXG4gICAgICAgIHdpZHRoOiA3NSU7XHJcblxyXG4gICAgICAgIC5wYXBlci1jYXJkLXR7XHJcbiAgICAgICAgICBmb250LXNpemU6IDMycnB4O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBycHg7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogXCJQaW5nRmFuZyBTQ1wiO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG4gICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5wYXBlci1jYXJkLXJ7XHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICAmPnZpZXd7XHJcbiAgICAgICAgICB3aWR0aDogMTQwcnB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxNDBycHg7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyMHJweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICAgICAgICAgIHZpZXc6Zmlyc3Qtb2YtdHlwZXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0NHJweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuZGl2aWRle1xyXG4gICAgICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDFycHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBycHggMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ncmVlbntcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICM1ZmI3MzQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWR7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWQ2NDY0XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///309\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 15));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 23));\nvar _tabBarIndex = _interopRequireDefault(__webpack_require__(/*! ../tabBarIndex.vue */ 140));\nvar _api = __webpack_require__(/*! ../../../api */ 71);\nvar _wearhouse = __webpack_require__(/*! ../../../api/wearhouse */ 265);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {\n    tabBar: _tabBarIndex.default\n  },\n  data: function data() {\n    return {\n      page: 'pages/tabBar/count/count',\n      statusBarHeight: '',\n      examParams: {\n        pageNum: 1,\n        pageSize: 10,\n        completed: 1\n      },\n      examList: [],\n      totalPage: 0\n    };\n  },\n  onLoad: function onLoad() {\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    // uni.hideTabBar();\n    this.getExamList();\n  },\n  methods: {\n    goBack: function goBack() {\n      uni.switchTab({\n        url: '/pages/tabBar/firstPage/firstPage'\n      });\n    },\n    getExamList: function getExamList() {\n      var _this = this;\n      (0, _api.getExamList)(this.examParams).then(function (res) {\n        if (res.code == 200) {\n          var list = res.data.list ? res.data.list : [];\n          if (res.pageNum != 1) {\n            _this.examList = _this.examList.concat(list);\n          } else {\n            _this.examList = res.data.list;\n          }\n          _this.totalPage = res.data.totalPage;\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    toDetail: function toDetail(item, type) {\n      uni.setStorageSync(\"prevPage\", '/pages/tabBar/count/count');\n      uni.navigateTo({\n        url: \"/pages/tabBar/firstPage/exam?bank=\" + encodeURIComponent(JSON.stringify(item)) + \"&type=\" + encodeURIComponent(JSON.stringify(type))\n      });\n    },\n    loginOut: function loginOut() {\n      uni.showModal({\n        title: '提示',\n        content: '是否确认退出该账号?',\n        success: function () {\n          var _success = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(res) {\n            return _regenerator.default.wrap(function _callee$(_context) {\n              while (1) {\n                switch (_context.prev = _context.next) {\n                  case 0:\n                    if (res.confirm) {\n                      (0, _api.loginOut)().then(function (res) {\n                        if (res.code == 200) {\n                          uni.showToast({\n                            title: '账户已退出',\n                            duration: 1000\n                          });\n                          setTimeout(function () {\n                            uni.clearStorageSync();\n                            uni.clearStorage();\n                            uni.navigateTo({\n                              url: '/pages/index/index'\n                            });\n                          }, 1000);\n                        }\n                      });\n                    } else if (res.cancel) {\n                      __f__(\"log\", '用户点击取消', \" at pages/tabBar/count/count.vue:124\");\n                    }\n                  case 1:\n                  case \"end\":\n                    return _context.stop();\n                }\n              }\n            }, _callee);\n          }));\n          function success(_x) {\n            return _success.apply(this, arguments);\n          }\n          return success;\n        }()\n      });\n    },\n    upper: function upper(e) {\n      // console.log(e)\n    },\n    lower: function lower(e) {\n      //并且让页码+1,调用获取数据的方法获取第二页数据\n      this.examParams.pageNum++;\n      //此处调用自己获取数据列表的方法\n      if (this.examParams.pageNum > this.totalPage) {\n        uni.$u.toast('已加载全部数据');\n        return;\n      }\n      this.getExamList();\n    },\n    scrollView: function scrollView(e) {\n      // console.log(e)\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 */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL2NvdW50L2NvdW50LnZ1ZSJdLCJuYW1lcyI6WyJjb21wb25lbnRzIiwidGFiQmFyIiwiZGF0YSIsInBhZ2UiLCJzdGF0dXNCYXJIZWlnaHQiLCJleGFtUGFyYW1zIiwicGFnZU51bSIsInBhZ2VTaXplIiwiY29tcGxldGVkIiwiZXhhbUxpc3QiLCJ0b3RhbFBhZ2UiLCJvbkxvYWQiLCJtZXRob2RzIiwiZ29CYWNrIiwidW5pIiwidXJsIiwiZ2V0RXhhbUxpc3QiLCJ0b0RldGFpbCIsImxvZ2luT3V0IiwidGl0bGUiLCJjb250ZW50Iiwic3VjY2VzcyIsImR1cmF0aW9uIiwic2V0VGltZW91dCIsInVwcGVyIiwibG93ZXIiLCJzY3JvbGxWaWV3Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUE4Q0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBQ0E7RUFDQUE7SUFDQUM7RUFDQTtFQUNBQztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQUM7TUFDQUM7SUFDQTtFQUVBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQUM7TUFDQUM7UUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO1VBQ0E7WUFDQTtVQUNBO1VBQ0E7UUFDQTtVQUNBRjtRQUNBO01BQ0E7SUFDQTtJQUVBRztNQUNBSDtNQUNBQTtRQUNBQztNQUNBO0lBQ0E7SUFFQUc7TUFDQUo7UUFDQUs7UUFDQUM7UUFDQUM7VUFBQTtZQUFBO2NBQUE7Z0JBQUE7a0JBQUE7b0JBQ0E7c0JBQ0E7d0JBQ0E7MEJBQ0FQOzRCQUNBSzs0QkFDQUc7MEJBQ0E7MEJBQ0FDOzRCQUNBVDs0QkFDQUE7NEJBQ0FBOzhCQUNBQzs0QkFDQTswQkFDQTt3QkFDQTtzQkFDQTtvQkFDQTtzQkFDQTtvQkFDQTtrQkFBQTtrQkFBQTtvQkFBQTtnQkFBQTtjQUFBO1lBQUE7VUFBQSxDQUNBO1VBQUE7WUFBQTtVQUFBO1VBQUE7UUFBQTtNQUNBO0lBQ0E7SUFFQVM7TUFDQTtJQUFBLENBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBWDtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FZO01BQ0E7SUFBQTtFQUVBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIzMDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJib3hcIj5cclxuXHRcdDwhLS0g6Ieq5a6a5LmJ5a+86Iiq5qCPIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJuYXZCYXJCb3ggZml4XCI+XHJcblx0XHRcdDwhLS0g54q25oCB5qCP5Y2g5L2NIC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInN0YXR1c0JhclwiIDpzdHlsZT1cInsgcGFkZGluZ1RvcDogc3RhdHVzQmFySGVpZ2h0ICsgJ3B4JyB9XCI+PC92aWV3PlxyXG5cdFx0XHQ8IS0tIOecn+ato+eahOWvvOiIquagj+WGheWuuSAtLT5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibmF2QmFyXCI+XHJcbjwhLS1cdFx0XHRcdFx0PHUtaWNvbiBzdHlsZT1cIiBtYXJnaW4tbGVmdDogLTI1cHg7XCIgbmFtZT1cImFycm93LWxlZnRcIiBjb2xvcj1cImJsYWNrXCIgc2l6ZT1cIjE3XCIgQGNsaWNrPVwiZ29CYWNrXCIgLz4tLT5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmFyVGV4dFwiPuaIkeeahOaIkOe7qTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuICAgIDx2aWV3IGNsYXNzPVwibS1wLTE1XCI+XHJcbiAgICAgIDx2aWV3IGNsYXNzPVwiY2FyZC1saXN0XCI+XHJcbiAgICAgICAgICA8c2Nyb2xsLXZpZXcgdi1pZj1cImV4YW1MaXN0ICYmIGV4YW1MaXN0Lmxlbmd0aD4wXCIgc2Nyb2xsLXk9XCJ0cnVlXCIgY2xhc3M9XCJzY3JvbGwtWVwiIEBzY3JvbGx0b3VwcGVyPVwidXBwZXJcIiBAc2Nyb2xsdG9sb3dlcj1cImxvd2VyXCIgbG93ZXItdGhyZXNob2xkPVwiMTUwXCIgQHNjcm9sbD1cInNjcm9sbFZpZXdcIiBzdHlsZT1cImhlaWdodDozNTBweFwiPlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cInBhcGVyLWNhcmRcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBleGFtTGlzdFwiIDprZXk9XCJpbmRleFwiIEBjbGljaz1cInRvRGV0YWlsKGl0ZW0sMilcIj5cclxuICAgICAgICAgICAgICA8dmlldyBjbGFzcz1cInBhcGVyLWNhcmQtbFwiPlxyXG4gICAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJwYXBlci1jYXJkLXRcIj57e2l0ZW0uZXhhbVBhcGVyLm5hbWV9fTwvdmlldz5cclxuICAgICAgICAgICAgICAgIDx2aWV3IHN0eWxlPVwiY29sb3I6ICM5OTk7bWFyZ2luLWJvdHRvbTogMTVweDtmb250LXNpemU6IDEycHhcIj57e2l0ZW0uZXhhbVBhcGVyLmNvZGV9fTwvdmlldz5cclxuICAgICAgICAgICAgICAgIDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDthbGlnbi1pdGVtczogY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx1LXRhZyBzdHlsZT1cIm1hcmdpbi1yaWdodDogMjBycHhcIiA6dGV4dD1cIml0ZW0uZXhhbVBhcGVyLmNhdGVnb3J5TmFtZVwiIHNpemU9XCJtaW5pXCI+PC91LXRhZz5cclxuICAgICAgICAgICAgICAgICAgPHUtdGFnIDp0ZXh0PVwiaXRlbS5jcmVhdGVOYW1lXCIgcGxhaW4gcGxhaW5GaWxsIHNpemU9XCJtaW5pXCI+PC91LXRhZz5cclxuICAgICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJwYXBlci1jYXJkLXJcIj5cclxuICAgICAgICAgICAgICAgIDx2aWV3IDpjbGFzcz1cIml0ZW0ucGFzc2VkID09IDA/J3JlZCc6J2dyZWVuJ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8dmlldz57e2l0ZW0uc2NvcmV9fTwvdmlldz5cclxuICAgICAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJkaXZpZGVcIj48L3ZpZXc+XHJcbiAgICAgICAgICAgICAgICAgIDx2aWV3Pnt7aXRlbS5wYXNzZWQgPT0gMD8n5LiN5ZCI5qC8Jzon5ZCI5qC8J319PC92aWV3PlxyXG4gICAgICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgPC9zY3JvbGwtdmlldz5cclxuICAgICAgICAgIDx1LWVtcHR5IHYtZWxzZSB0ZXh0PVwi5pqC5peg5bey5a6M5oiQ55qE6ICD6K+V6K6w5b2VXCIgbW9kZT1cImxpc3RcIj48L3UtZW1wdHk+XHJcbiAgICAgIDwvdmlldz5cclxuICAgICAgPHZpZXc+XHJcbiAgICAgICAgPHUtYnV0dG9uIEBjbGljaz1cImxvZ2luT3V0XCIgdHlwZT1cInByaW1hcnlcIiB0ZXh0PVwi6YCA5Ye655m75b2VXCIgc3R5bGU9XCJ3aWR0aDogODAlXCIgc2hhcGU9XCJjaXJjbGVcIj48L3UtYnV0dG9uPlxyXG4gICAgICA8L3ZpZXc+XHJcbiAgICA8L3ZpZXc+XHJcblx0XHQ8dGFiQmFyIDpjdXJyZW50UGFnZVBhdGg9XCJwYWdlXCI+PC90YWJCYXI+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgdGFiQmFyIGZyb20gJy4uL3RhYkJhckluZGV4LnZ1ZSdcclxuICBpbXBvcnQge2dldEV4YW1MaXN0LCBsb2dpbk91dH0gZnJvbSBcIi4uLy4uLy4uL2FwaVwiO1xyXG4gIGltcG9ydCB7Z2V0Q2xlYW5SZWNvcmR9IGZyb20gXCIuLi8uLi8uLi9hcGkvd2VhcmhvdXNlXCI7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0Y29tcG9uZW50czp7XHJcblx0XHRcdHRhYkJhclxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0cGFnZTogJ3BhZ2VzL3RhYkJhci9jb3VudC9jb3VudCcsXHJcblx0XHRcdFx0c3RhdHVzQmFySGVpZ2h0OiAnJyxcclxuICAgICAgICBleGFtUGFyYW1zOiB7XHJcbiAgICAgICAgICBwYWdlTnVtOiAxLFxyXG4gICAgICAgICAgcGFnZVNpemU6IDEwLFxyXG4gICAgICAgICAgY29tcGxldGVkOiAxXHJcbiAgICAgICAgfSxcclxuICAgICAgICBleGFtTGlzdDogW10sXHJcbiAgICAgICAgdG90YWxQYWdlOiAwXHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cdFx0XHR0aGlzLnN0YXR1c0JhckhlaWdodCA9IHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpWydzdGF0dXNCYXJIZWlnaHQnXTtcclxuXHRcdFx0Ly8gdW5pLmhpZGVUYWJCYXIoKTtcclxuICAgICAgdGhpcy5nZXRFeGFtTGlzdCgpXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRnb0JhY2soKSB7XHJcblx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XHJcblx0XHRcdFx0ICAgIHVybDonL3BhZ2VzL3RhYkJhci9maXJzdFBhZ2UvZmlyc3RQYWdlJ1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG4gICAgICBnZXRFeGFtTGlzdCgpe1xyXG4gICAgICAgIGdldEV4YW1MaXN0KHRoaXMuZXhhbVBhcmFtcykudGhlbihyZXMgPT4ge1xyXG4gICAgICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIGxldCBsaXN0ID0gcmVzLmRhdGEubGlzdD9yZXMuZGF0YS5saXN0OiBbXTtcclxuICAgICAgICAgICAgaWYgKHJlcy5wYWdlTnVtICE9IDEpIHtcclxuICAgICAgICAgICAgICB0aGlzLmV4YW1MaXN0ID0gdGhpcy5leGFtTGlzdC5jb25jYXQobGlzdClcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmV4YW1MaXN0ID0gcmVzLmRhdGEubGlzdFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxQYWdlID0gcmVzLmRhdGEudG90YWxQYWdlXHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdW5pLiR1LnRvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICB0b0RldGFpbChpdGVtLHR5cGUpe1xyXG4gICAgICAgIHVuaS5zZXRTdG9yYWdlU3luYyhcInByZXZQYWdlXCIsICcvcGFnZXMvdGFiQmFyL2NvdW50L2NvdW50Jyk7XHJcbiAgICAgICAgdW5pLm5hdmlnYXRlVG8oe1xyXG4gICAgICAgICAgdXJsOiBgL3BhZ2VzL3RhYkJhci9maXJzdFBhZ2UvZXhhbT9iYW5rPWAgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoaXRlbSkpICsgYCZ0eXBlPWAgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkodHlwZSkpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSxcclxuXHJcbiAgICAgIGxvZ2luT3V0KCl7XHJcbiAgICAgICAgdW5pLnNob3dNb2RhbCh7XHJcbiAgICAgICAgICB0aXRsZTogJ+aPkOekuicsXHJcbiAgICAgICAgICBjb250ZW50OiAn5piv5ZCm56Gu6K6k6YCA5Ye66K+l6LSm5Y+377yfJyxcclxuICAgICAgICAgIHN1Y2Nlc3M6IGFzeW5jIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgICAgICAgaWYgKHJlcy5jb25maXJtKSB7XHJcbiAgICAgICAgICAgICAgbG9naW5PdXQoKS50aGVuKHJlcz0+e1xyXG4gICAgICAgICAgICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcclxuICAgICAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfotKbmiLflt7LpgIDlh7onLFxyXG4gICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwXHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICB1bmkuY2xlYXJTdG9yYWdlU3luYygpO1xyXG4gICAgICAgICAgICAgICAgICAgIHVuaS5jbGVhclN0b3JhZ2UoKTtcclxuICAgICAgICAgICAgICAgICAgICB1bmkubmF2aWdhdGVUbyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICB1cmw6ICcvcGFnZXMvaW5kZXgvaW5kZXgnXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgfSwxMDAwKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzLmNhbmNlbCkge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCfnlKjmiLfngrnlh7vlj5bmtognKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICB1cHBlcihlKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coZSlcclxuICAgICAgfSxcclxuICAgICAgbG93ZXIoZSkge1xyXG4gICAgICAgIC8v5bm25LiU6K6p6aG156CBKzEs6LCD55So6I635Y+W5pWw5o2u55qE5pa55rOV6I635Y+W56ys5LqM6aG15pWw5o2uXHJcbiAgICAgICAgdGhpcy5leGFtUGFyYW1zLnBhZ2VOdW0rK1xyXG4gICAgICAgIC8v5q2k5aSE6LCD55So6Ieq5bex6I635Y+W5pWw5o2u5YiX6KGo55qE5pa55rOVXHJcbiAgICAgICAgaWYgKHRoaXMuZXhhbVBhcmFtcy5wYWdlTnVtID4gdGhpcy50b3RhbFBhZ2Upe1xyXG4gICAgICAgICAgdW5pLiR1LnRvYXN0KCflt7LliqDovb3lhajpg6jmlbDmja4nKVxyXG4gICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZ2V0RXhhbUxpc3QoKVxyXG4gICAgICB9LFxyXG4gICAgICBzY3JvbGxWaWV3KGUpIHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhlKVxyXG4gICAgICB9LFxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9J3Njc3MnIHNjb3BlZD5cclxuLmJveCB7XHJcblx0ZGlzcGxheTogZmxleDsgXHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgXHJcblx0d2lkdGg6IDEwMCU7IFxyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG4uZml4e1xyXG5cdHBvc2l0aW9uOiBzdGlja3k7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG4ubmF2QmFyQm94IC5uYXZCYXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6I2ZmZjtcclxuXHQgIGhlaWdodDogNTBweDtcclxuXHQgIGRpc3BsYXk6IGZsZXg7XHJcblx0ICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdCAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0ICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm94LXNoYWRvdzogNHB4IDRweCAxMnB4IHJnYmEoMTUwLDE1MCwxNTAsLjA1KTtcclxufVxyXG4uYmFyVGV4dHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0d2lkdGg6IDg1JTtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcblx0LyogdGV4dC1hbGlnbjogY2VudGVyOyAqL1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuLnN0YXR1c0JhcntcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JleTtcclxufVxyXG4ubS1wLTE1e1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAuY2FyZC1saXN0e1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMjBweCk7XHJcbiAgICBtYXJnaW46IDIwcHggMDtcclxuXHJcbiAgICAucGFwZXItY2FyZHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICBtYXJnaW46IDAgYXV0byAxNXB4O1xyXG4gICAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMTUwLDE1MCwxNTAsLjEpO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAmOmxhc3Qtb2YtdHlwZXtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLy5pc1Bhc3NlZHtcclxuICAgICAgLy8gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgLy8gIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAvLyAgdG9wOiAxNXB4O1xyXG4gICAgICAvL31cclxuXHJcbiAgICAgIC5wYXBlci1jYXJkLWx7XHJcbiAgICAgICAgd2lkdGg6IDc1JTtcclxuXHJcbiAgICAgICAgLnBhcGVyLWNhcmQtdHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMzJycHg7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHJweDtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlBpbmdGYW5nIFNDXCI7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnBhcGVyLWNhcmQtcntcclxuICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgICY+dmlld3tcclxuICAgICAgICAgIHdpZHRoOiAxNDBycHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDE0MHJweDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICBmb250LXNpemU6IDIwcnB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcblxyXG4gICAgICAgICAgdmlldzpmaXJzdC1vZi10eXBle1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQ0cnB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5kaXZpZGV7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMXJweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHJweCAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmdyZWVue1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogIzVmYjczNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlZHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICNlZDY0NjRcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///309\n");
/***/ }),
/* 310 */
@@ -24624,7 +24714,7 @@
                                _c("u-tag", {
                                  attrs: {
                                    icon: "clock",
                                    text: item.course.period + "分钟",
                                    text: _vm.secondsToHms(item.course.period),
                                    type: "success",
                                    size: "mini",
                                    shape: "circle",
@@ -24699,7 +24789,7 @@
/***/ (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 _tabBarIndex = _interopRequireDefault(__webpack_require__(/*! ../tabBarIndex.vue */ 140));\nvar _index = __webpack_require__(/*! ../../../api/index.js */ 71);\nvar _constant = _interopRequireDefault(__webpack_require__(/*! ../../../common/constant */ 73));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {\n    tabBar: _tabBarIndex.default\n  },\n  data: function data() {\n    return {\n      page: 'pages/tabBar/current/current',\n      statusBarHeight: 0,\n      classParams: {\n        pageNum: 1,\n        pageSize: 10\n      },\n      classList: [],\n      totalPage: 0\n    };\n  },\n  onLoad: function onLoad() {\n    // this.unitType = uni.getStorageSync('unittype') + 1;\n    //获取手机状态栏高度\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    this.classParams.pageNum = 1;\n    this.getClass();\n  },\n  onShow: function onShow() {\n    // this.role = uni.getStorageSync('roleName');\n  },\n  methods: {\n    loginOut: function loginOut() {\n      uni.clearStorageSync();\n      uni.clearStorage();\n      uni.navigateTo({\n        url: '/pages/index/index'\n      });\n    },\n    goBack: function goBack() {\n      uni.switchTab({\n        url: '/pages/tabBar/firstPage/firstPage'\n      });\n    },\n    getClass: function getClass() {\n      var _this = this;\n      (0, _index.getClassList)(this.classParams).then(function (res) {\n        if (res.code == 200) {\n          var list = res.data.list ? res.data.list : [];\n          if (res.pageNum != 1) {\n            _this.classList = _this.classList.concat(list);\n          } else {\n            _this.classList = res.data.list;\n          }\n          _this.totalPage = res.data.totalPage;\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    getImageUrl: function getImageUrl(logo) {\n      return logo ? _constant.default + '/api/' + logo : '/static/defaultCover.jpg';\n    },\n    toStudy: function toStudy(id) {\n      uni.setStorageSync(\"prevPage\", '/pages/tabBar/current/current');\n      uni.navigateTo({\n        url: \"/pages/tabBar/current/detail?phase_id=\" + encodeURIComponent(JSON.stringify(id))\n      });\n    },\n    upper: function upper(e) {\n      // console.log(e)\n    },\n    lower: function lower(e) {\n      //并且让页码+1,调用获取数据的方法获取第二页数据\n      this.examParams.pageNum++;\n      if (this.examParams.pageNum > this.totalPage) {\n        uni.$u.toast('已加载全部数据');\n        return;\n      }\n      //此处调用自己获取数据列表的方法\n      this.getExamList();\n    },\n    scrollView: function scrollView(e) {\n      // console.log(e)\n    }\n  }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL2N1cnJlbnQvY3VycmVudC52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsInRhYkJhciIsImRhdGEiLCJwYWdlIiwic3RhdHVzQmFySGVpZ2h0IiwiY2xhc3NQYXJhbXMiLCJwYWdlTnVtIiwicGFnZVNpemUiLCJjbGFzc0xpc3QiLCJ0b3RhbFBhZ2UiLCJvbkxvYWQiLCJ1bmkiLCJnZXRTeXN0ZW1JbmZvU3luYyIsImdldENsYXNzIiwib25TaG93IiwibWV0aG9kcyIsImxvZ2luT3V0IiwiY2xlYXJTdG9yYWdlU3luYyIsImNsZWFyU3RvcmFnZSIsIm5hdmlnYXRlVG8iLCJ1cmwiLCJnb0JhY2siLCJzd2l0Y2hUYWIiLCJnZXRDbGFzc0xpc3QiLCJ0aGVuIiwicmVzIiwiY29kZSIsImxpc3QiLCJjb25jYXQiLCIkdSIsInRvYXN0IiwibWVzc2FnZSIsImdldEltYWdlVXJsIiwibG9nbyIsIlZVRV9BUFBfQkFTRV9VUkwiLCJ0b1N0dWR5IiwiaWQiLCJzZXRTdG9yYWdlU3luYyIsImVuY29kZVVSSUNvbXBvbmVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ1cHBlciIsImUiLCJsb3dlciIsImV4YW1QYXJhbXMiLCJnZXRFeGFtTGlzdCIsInNjcm9sbFZpZXciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUEyQ0M7QUFDQztBQUVBO0FBOUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLGVBTWdCO0VBQ2RBLFVBQVUsRUFBQztJQUNWQyxNQUFNLEVBQU5BO0VBQ0QsQ0FBQztFQUNEQyxJQUFJ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LFdBQVcsRUFBRTtJQUNwQixDQUFDO0lBQ0RDLFVBQVUsc0JBQUNKLENBQUMsRUFBRTtNQUNaO0lBQUE7RUFFTjtBQUNELENBQUM7QUFBQSIsImZpbGUiOiIzMTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cblx0aW1wb3J0IHRhYkJhciBmcm9tICcuLi90YWJCYXJJbmRleC52dWUnXG4gIGltcG9ydCB7Z2V0Q2xhc3NMaXN0fSBmcm9tICcuLi8uLi8uLi9hcGkvaW5kZXguanMnXG5cdGltcG9ydCB0ZWJCYXIgZnJvbSAnLi4vdGFiQmFySW5kZXgudnVlJ1xuICBpbXBvcnQgVlVFX0FQUF9CQVNFX1VSTCBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50XCI7XG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRjb21wb25lbnRzOntcblx0XHRcdHRhYkJhclxuXHRcdH0sXG5cdFx0ZGF0YSgpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHBhZ2U6ICdwYWdlcy90YWJCYXIvY3VycmVudC9jdXJyZW50Jyxcblx0XHRcdFx0c3RhdHVzQmFySGVpZ2h0OiAwLFxuICAgICAgICBjbGFzc1BhcmFtczoge1xuICAgICAgICAgIHBhZ2VOdW06IDEsXG4gICAgICAgICAgcGFnZVNpemU6IDEwLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc0xpc3Q6IFtdLFxuICAgICAgICB0b3RhbFBhZ2U6IDBcblx0XHRcdH1cblx0XHR9LFxuXHRcdG9uTG9hZCgpIHtcblx0XHRcdC8vIHRoaXMudW5pdFR5cGUgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3VuaXR0eXBlJykgKyAxO1xuXHRcdFx0Ly/ojrflj5bmiYvmnLrnirbmgIHmoI/pq5jluqZcblx0XHRcdHRoaXMuc3RhdHVzQmFySGVpZ2h0ID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKClbJ3N0YXR1c0JhckhlaWdodCddO1xuICAgICAgdGhpcy5jbGFzc1BhcmFtcy5wYWdlTnVtID0gMVxuICAgICAgdGhpcy5nZXRDbGFzcygpO1xuXHRcdH0sXG5cdFx0b25TaG93KCkge1xuXHRcdFx0Ly8gdGhpcy5yb2xlID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdyb2xlTmFtZScpO1xuXHRcdH0sXG5cdFx0bWV0aG9kczoge1xuXHRcdFx0bG9naW5PdXQoKSB7XG5cdFx0XHRcdHVuaS5jbGVhclN0b3JhZ2VTeW5jKCk7XG5cdFx0XHRcdHVuaS5jbGVhclN0b3JhZ2UoKTtcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdHVybDogJy9wYWdlcy9pbmRleC9pbmRleCdcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRnb0JhY2soKSB7XG5cdFx0XHRcdHVuaS5zd2l0Y2hUYWIoe1xuXHRcdFx0XHQgICAgdXJsOicvcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9maXJzdFBhZ2UnXG5cdFx0XHRcdH0pO1xuXHRcdFx0fSxcbiAgICAgIGdldENsYXNzKCl7XG4gICAgICAgIGdldENsYXNzTGlzdCh0aGlzLmNsYXNzUGFyYW1zKS50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKSB7XG4gICAgICAgICAgICBsZXQgbGlzdCA9IHJlcy5kYXRhLmxpc3Q/cmVzLmRhdGEubGlzdDogW107XG4gICAgICAgICAgICBpZiAocmVzLnBhZ2VOdW0gIT0gMSkge1xuICAgICAgICAgICAgICB0aGlzLmNsYXNzTGlzdCA9IHRoaXMuY2xhc3NMaXN0LmNvbmNhdChsaXN0KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5jbGFzc0xpc3QgPSByZXMuZGF0YS5saXN0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnRvdGFsUGFnZSA9IHJlcy5kYXRhLnRvdGFsUGFnZVxuICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgdW5pLiR1LnRvYXN0KHJlcy5tZXNzYWdlKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0sXG5cbiAgICAgIGdldEltYWdlVXJsKGxvZ28pIHtcbiAgICAgICAgcmV0dXJuIGxvZ28gPyBWVUVfQVBQX0JBU0VfVVJMICArICcvYXBpLycgKyBsb2dvIDogJy9zdGF0aWMvZGVmYXVsdENvdmVyLmpwZyc7XG4gICAgICB9LFxuXG4gICAgICB0b1N0dWR5KGlkKSB7XG4gICAgICAgIHVuaS5zZXRTdG9yYWdlU3luYyhcInByZXZQYWdlXCIsICcvcGFnZXMvdGFiQmFyL2N1cnJlbnQvY3VycmVudCcpO1xuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdCAgdXJsOiBgL3BhZ2VzL3RhYkJhci9jdXJyZW50L2RldGFpbD9waGFzZV9pZD1gICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGlkKSlcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cbiAgICAgIHVwcGVyKGUpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coZSlcbiAgICAgIH0sXG4gICAgICBsb3dlcihlKSB7XG4gICAgICAgIC8v5bm25LiU6K6p6aG156CBKzEs6LCD55So6I635Y+W5pWw5o2u55qE5pa55rOV6I635Y+W56ys5LqM6aG15pWw5o2uXG4gICAgICAgIHRoaXMuZXhhbVBhcmFtcy5wYWdlTnVtKytcbiAgICAgICAgaWYgKHRoaXMuZXhhbVBhcmFtcy5wYWdlTnVtID4gdGhpcy50b3RhbFBhZ2Upe1xuICAgICAgICAgIHVuaS4kdS50b2FzdCgn5bey5Yqg6L295YWo6YOo5pWw5o2uJylcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICAvL+atpOWkhOiwg+eUqOiHquW3seiOt+WPluaVsOaNruWIl+ihqOeahOaWueazlVxuICAgICAgICB0aGlzLmdldEV4YW1MaXN0KClcbiAgICAgIH0sXG4gICAgICBzY3JvbGxWaWV3KGUpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coZSlcbiAgICAgIH1cblx0XHR9XG5cdH1cblxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///314\n");
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _tabBarIndex = _interopRequireDefault(__webpack_require__(/*! ../tabBarIndex.vue */ 140));\nvar _index = __webpack_require__(/*! ../../../api/index.js */ 71);\nvar _constant = _interopRequireDefault(__webpack_require__(/*! ../../../common/constant */ 73));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {\n    tabBar: _tabBarIndex.default\n  },\n  data: function data() {\n    return {\n      page: 'pages/tabBar/current/current',\n      statusBarHeight: 0,\n      classParams: {\n        pageNum: 1,\n        pageSize: 10\n      },\n      classList: [],\n      totalPage: 0\n    };\n  },\n  onLoad: function onLoad() {\n    // this.unitType = uni.getStorageSync('unittype') + 1;\n    //获取手机状态栏高度\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    this.classParams.pageNum = 1;\n    this.getClass();\n  },\n  onShow: function onShow() {\n    // this.role = uni.getStorageSync('roleName');\n  },\n  methods: {\n    loginOut: function loginOut() {\n      uni.clearStorageSync();\n      uni.clearStorage();\n      uni.navigateTo({\n        url: '/pages/index/index'\n      });\n    },\n    goBack: function goBack() {\n      uni.switchTab({\n        url: '/pages/tabBar/firstPage/firstPage'\n      });\n    },\n    getClass: function getClass() {\n      var _this = this;\n      (0, _index.getClassList)(this.classParams).then(function (res) {\n        if (res.code == 200) {\n          var list = res.data.list ? res.data.list : [];\n          if (res.pageNum != 1) {\n            _this.classList = _this.classList.concat(list);\n          } else {\n            _this.classList = res.data.list;\n          }\n          _this.totalPage = res.data.totalPage;\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    getImageUrl: function getImageUrl(logo) {\n      return logo ? _constant.default + '/api/' + logo : '/static/defaultCover.jpg';\n    },\n    toStudy: function toStudy(id) {\n      uni.setStorageSync(\"prevPage\", '/pages/tabBar/current/current');\n      uni.navigateTo({\n        url: \"/pages/tabBar/current/detail?phase_id=\" + encodeURIComponent(JSON.stringify(id))\n      });\n    },\n    secondsToHms: function secondsToHms(seconds) {\n      seconds = Number(seconds);\n      var h = Math.floor(seconds / 3600);\n      var m = Math.floor(seconds % 3600 / 60);\n      var s = Math.floor(seconds % 3600 % 60);\n      var hDisplay = h > 0 ? String(h).padStart(2, '0') : '00';\n      var mDisplay = m > 0 ? String(m).padStart(2, '0') : '00';\n      var sDisplay = s > 0 ? String(s).padStart(2, '0') : '00';\n      return \"\".concat(hDisplay, \":\").concat(mDisplay, \":\").concat(sDisplay);\n    },\n    upper: function upper(e) {\n      // console.log(e)\n    },\n    lower: function lower(e) {\n      //并且让页码+1,调用获取数据的方法获取第二页数据\n      this.examParams.pageNum++;\n      if (this.examParams.pageNum > this.totalPage) {\n        uni.$u.toast('已加载全部数据');\n        return;\n      }\n      //此处调用自己获取数据列表的方法\n      this.getExamList();\n    },\n    scrollView: function scrollView(e) {\n      // console.log(e)\n    }\n  }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL2N1cnJlbnQvY3VycmVudC52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsInRhYkJhciIsImRhdGEiLCJwYWdlIiwic3RhdHVzQmFySGVpZ2h0IiwiY2xhc3NQYXJhbXMiLCJwYWdlTnVtIiwicGFnZVNpemUiLCJjbGFzc0xpc3QiLCJ0b3RhbFBhZ2UiLCJvbkxvYWQiLCJvblNob3ciLCJtZXRob2RzIiwibG9naW5PdXQiLCJ1bmkiLCJ1cmwiLCJnb0JhY2siLCJnZXRDbGFzcyIsImdldEltYWdlVXJsIiwidG9TdHVkeSIsInNlY29uZHNUb0htcyIsInNlY29uZHMiLCJ1cHBlciIsImxvd2VyIiwic2Nyb2xsVmlldyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQTJDQTtBQUNBO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFDQTtFQUNBQTtJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTtFQUFBLENBQ0E7RUFDQUM7SUFDQUM7TUFDQUM7TUFDQUE7TUFDQUE7UUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0FGO1FBQ0FDO01BQ0E7SUFDQTtJQUNBRTtNQUFBO01BQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtVQUNBO1lBQ0E7VUFDQTtVQUNBO1FBQ0E7VUFDQUg7UUFDQTtNQUNBO0lBQ0E7SUFFQUk7TUFDQTtJQUNBO0lBRUFDO01BQ0FMO01BQ0FBO1FBQ0FDO01BQ0E7SUFDQTtJQUVBSztNQUNBQztNQUNBO01BQ0E7TUFDQTtNQUVBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFDQTtJQUFBLENBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7UUFDQVQ7UUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FVO01BQ0E7SUFBQTtFQUVBO0FBQ0E7QUFBQSIsImZpbGUiOiIzMTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJib3hcIj5cclxuXHRcdDwhLS0g6Ieq5a6a5LmJ5a+86Iiq5qCPIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJuYXZCYXJCb3ggZml4XCI+XHJcblx0XHRcdDwhLS0g54q25oCB5qCP5Y2g5L2NIC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInN0YXR1c0JhclwiIDpzdHlsZT1cInsgcGFkZGluZ1RvcDogc3RhdHVzQmFySGVpZ2h0ICsgJ3B4JyB9XCI+PC92aWV3PlxyXG5cdFx0XHQ8IS0tIOecn+ato+eahOWvvOiIquagj+WGheWuuSAtLT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJuYXZCYXJcIj5cclxuPCEtLVx0XHRcdFx0PHUtaWNvbiBzdHlsZT1cIiBtYXJnaW4tbGVmdDogMTNweDtcIiBuYW1lPVwiYXJyb3ctbGVmdFwiIGNvbG9yPVwiYmxhY2tcIiBzaXplPVwiMTdcIiBAY2xpY2s9XCJnb0JhY2tcIi8+LS0+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiYXJUZXh0XCI+6K++56iLPC92aWV3PlxyXG48IS0tXHRcdFx0XHQ8dmlldyA+LS0+XHJcbjwhLS1cdFx0XHRcdFx0PHUtYnV0dG9uIHR5cGU9XCJ0ZXh0XCIgQGNsaWNrPVwibG9naW5PdXRcIiBzdHlsZT1cImNvbG9yOiAjMTg5MGZmO21hcmdpbi1yaWdodDogNXB4O3dpZHRoOiA2NXB4O1wiPumAgOWHujwvdS1idXR0b24+LS0+XHJcbjwhLS1cdFx0XHRcdDwvdmlldz4tLT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PCEtLSDpobXpnaLlhoXlrrkgLS0+XHJcbiAgICA8dmlldyBjbGFzcz1cIm0tcC0xNVwiPlxyXG4gICAgICA8dmlldyBjbGFzcz1cImNhcmRMaXN0XCI+XHJcbiAgICAgICAgPHNjcm9sbC12aWV3IHNjcm9sbC15PVwidHJ1ZVwiIGNsYXNzPVwic2Nyb2xsLVlcIiBAc2Nyb2xsdG91cHBlcj1cInVwcGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgQHNjcm9sbHRvbG93ZXI9XCJsb3dlclwiIGxvd2VyLXRocmVzaG9sZD1cIjE1MFwiIEBzY3JvbGw9XCJzY3JvbGxWaWV3XCIgc3R5bGU9XCJoZWlnaHQ6MTAwJVwiPlxyXG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLWlcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBjbGFzc0xpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuICAgICAgICAgICAgPHUtaW1hZ2UgcmFkaXVzPVwiMTZweFwiIHdpZHRoPVwiMjAwcnB4XCIgaGVpZ2h0PVwiMjAwcnB4XCIgOnNob3ctbG9hZGluZz1cInRydWVcIiA6c3JjPVwiZ2V0SW1hZ2VVcmwoaXRlbS5jb3Vyc2UubG9nbylcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPlxyXG4gICAgICAgICAgICA8L3UtaW1hZ2U+XHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICA8dmlldyBjbGFzcz1cImNhcmQtaS10XCI+55uu5YmN5bey5a2m77yae3tpdGVtLnRvdGFsUHJvZ3Jlc3N9feWIhumSnzwvdmlldz4tLT5cclxuICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLWktclwiPlxyXG4gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiY2FyZC1pLXItdFwiPlxyXG4gICAgICAgICAgICAgICAgPHZpZXc+e3tpdGVtLnBoYXNlTmFtZSArICctJyArIGl0ZW0uY291cnNlLm5hbWV9fTwvdmlldz5cclxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM5OTk7Zm9udC1zaXplOiAxMnB4O2Rpc3BsYXk6IGZsZXg7YWxpZ24taXRlbXM6IGNlbnRlclwiPjx1LWljb24gbmFtZT1cImFjY291bnRcIiBjb2xvcj1cIiM5OTlcIiBzaXplPVwiMThcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDA7bWFyZ2luLXJpZ2h0OiAycHhcIj48L3UtaWNvbj57e2l0ZW0uY3JlYXRlTmFtZSArJygnKyBpdGVtLmNyZWF0ZVRpbWUgKycpJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgICA8dmlldyBjbGFzcz1cImNhcmQtaS1yLWJcIj5cclxuICAgICAgICAgICAgICAgIDx1LXRhZyBpY29uPVwiY2xvY2tcIiA6dGV4dD1cInNlY29uZHNUb0htcyhpdGVtLmNvdXJzZS5wZXJpb2QpXCIgdHlwZT1cInN1Y2Nlc3NcIiBzaXplPVwibWluaVwiIHNoYXBlPVwiY2lyY2xlXCIgcGxhaW4gcGxhaW5GaWxsPjwvdS10YWc+XHJcbiAgICAgICAgICAgICAgICA8dS1idXR0b24gY2xhc3M9XCJzdHVkeS1idXR0b25cIiB0eXBlPVwicHJpbWFyeVwiIHRleHQ9XCLlvIDlp4vlrabkuaBcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIEBjbGljaz1cInRvU3R1ZHkoaXRlbS5pZClcIj48L3UtYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgIDwvc2Nyb2xsLXZpZXc+XHJcbiAgICAgIDwvdmlldz5cclxuICAgIDwvdmlldz5cclxuXHRcdDx0YWJCYXIgOmN1cnJlbnRQYWdlUGF0aD1cInBhZ2VcIj48L3RhYkJhcj5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCB0YWJCYXIgZnJvbSAnLi4vdGFiQmFySW5kZXgudnVlJ1xyXG4gIGltcG9ydCB7Z2V0Q2xhc3NMaXN0fSBmcm9tICcuLi8uLi8uLi9hcGkvaW5kZXguanMnXHJcblx0aW1wb3J0IHRlYkJhciBmcm9tICcuLi90YWJCYXJJbmRleC52dWUnXHJcbiAgaW1wb3J0IFZVRV9BUFBfQkFTRV9VUkwgZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9jb25zdGFudFwiO1xyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGNvbXBvbmVudHM6e1xyXG5cdFx0XHR0YWJCYXJcclxuXHRcdH0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHBhZ2U6ICdwYWdlcy90YWJCYXIvY3VycmVudC9jdXJyZW50JyxcclxuXHRcdFx0XHRzdGF0dXNCYXJIZWlnaHQ6IDAsXHJcbiAgICAgICAgY2xhc3NQYXJhbXM6IHtcclxuICAgICAgICAgIHBhZ2VOdW06IDEsXHJcbiAgICAgICAgICBwYWdlU2l6ZTogMTAsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjbGFzc0xpc3Q6IFtdLFxyXG4gICAgICAgIHRvdGFsUGFnZTogMFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cdFx0XHQvLyB0aGlzLnVuaXRUeXBlID0gdW5pLmdldFN0b3JhZ2VTeW5jKCd1bml0dHlwZScpICsgMTtcclxuXHRcdFx0Ly/ojrflj5bmiYvmnLrnirbmgIHmoI/pq5jluqZcclxuXHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQgPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVsnc3RhdHVzQmFySGVpZ2h0J107XHJcbiAgICAgIHRoaXMuY2xhc3NQYXJhbXMucGFnZU51bSA9IDFcclxuICAgICAgdGhpcy5nZXRDbGFzcygpO1xyXG5cdFx0fSxcclxuXHRcdG9uU2hvdygpIHtcclxuXHRcdFx0Ly8gdGhpcy5yb2xlID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdyb2xlTmFtZScpO1xyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0bG9naW5PdXQoKSB7XHJcblx0XHRcdFx0dW5pLmNsZWFyU3RvcmFnZVN5bmMoKTtcclxuXHRcdFx0XHR1bmkuY2xlYXJTdG9yYWdlKCk7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL2luZGV4L2luZGV4J1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGdvQmFjaygpIHtcclxuXHRcdFx0XHR1bmkuc3dpdGNoVGFiKHtcclxuXHRcdFx0XHQgICAgdXJsOicvcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9maXJzdFBhZ2UnXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcbiAgICAgIGdldENsYXNzKCl7XHJcbiAgICAgICAgZ2V0Q2xhc3NMaXN0KHRoaXMuY2xhc3NQYXJhbXMpLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgIGlmKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICBsZXQgbGlzdCA9IHJlcy5kYXRhLmxpc3Q/cmVzLmRhdGEubGlzdDogW107XHJcbiAgICAgICAgICAgIGlmIChyZXMucGFnZU51bSAhPSAxKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jbGFzc0xpc3QgPSB0aGlzLmNsYXNzTGlzdC5jb25jYXQobGlzdClcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmNsYXNzTGlzdCA9IHJlcy5kYXRhLmxpc3RcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRvdGFsUGFnZSA9IHJlcy5kYXRhLnRvdGFsUGFnZVxyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9LFxyXG5cclxuICAgICAgZ2V0SW1hZ2VVcmwobG9nbykge1xyXG4gICAgICAgIHJldHVybiBsb2dvID8gVlVFX0FQUF9CQVNFX1VSTCAgKyAnL2FwaS8nICsgbG9nbyA6ICcvc3RhdGljL2RlZmF1bHRDb3Zlci5qcGcnO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgdG9TdHVkeShpZCkge1xyXG4gICAgICAgIHVuaS5zZXRTdG9yYWdlU3luYyhcInByZXZQYWdlXCIsICcvcGFnZXMvdGFiQmFyL2N1cnJlbnQvY3VycmVudCcpO1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHQgIHVybDogYC9wYWdlcy90YWJCYXIvY3VycmVudC9kZXRhaWw/cGhhc2VfaWQ9YCArIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpZCkpXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHJcbiAgICAgIHNlY29uZHNUb0htcyhzZWNvbmRzKSB7XHJcbiAgICAgICAgc2Vjb25kcyA9IE51bWJlcihzZWNvbmRzKTtcclxuICAgICAgICBjb25zdCBoID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gMzYwMCk7XHJcbiAgICAgICAgY29uc3QgbSA9IE1hdGguZmxvb3Ioc2Vjb25kcyAlIDM2MDAgLyA2MCk7XHJcbiAgICAgICAgY29uc3QgcyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAlIDM2MDAgJSA2MCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGhEaXNwbGF5ID0gaCA+IDAgPyBTdHJpbmcoaCkucGFkU3RhcnQoMiwgJzAnKSA6ICcwMCc7XHJcbiAgICAgICAgY29uc3QgbURpc3BsYXkgPSBtID4gMCA/IFN0cmluZyhtKS5wYWRTdGFydCgyLCAnMCcpIDogJzAwJztcclxuICAgICAgICBjb25zdCBzRGlzcGxheSA9IHMgPiAwID8gU3RyaW5nKHMpLnBhZFN0YXJ0KDIsICcwJykgOiAnMDAnO1xyXG4gICAgICAgIHJldHVybiBgJHtoRGlzcGxheX06JHttRGlzcGxheX06JHtzRGlzcGxheX1gO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgdXBwZXIoZSkge1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGUpXHJcbiAgICAgIH0sXHJcbiAgICAgIGxvd2VyKGUpIHtcclxuICAgICAgICAvL+W5tuS4lOiuqemhteeggSsxLOiwg+eUqOiOt+WPluaVsOaNrueahOaWueazleiOt+WPluesrOS6jOmhteaVsOaNrlxyXG4gICAgICAgIHRoaXMuZXhhbVBhcmFtcy5wYWdlTnVtKytcclxuICAgICAgICBpZiAodGhpcy5leGFtUGFyYW1zLnBhZ2VOdW0gPiB0aGlzLnRvdGFsUGFnZSl7XHJcbiAgICAgICAgICB1bmkuJHUudG9hc3QoJ+W3suWKoOi9veWFqOmDqOaVsOaNricpXHJcbiAgICAgICAgICByZXR1cm5cclxuICAgICAgICB9XHJcbiAgICAgICAgLy/mraTlpITosIPnlKjoh6rlt7Hojrflj5bmlbDmja7liJfooajnmoTmlrnms5VcclxuICAgICAgICB0aGlzLmdldEV4YW1MaXN0KClcclxuICAgICAgfSxcclxuICAgICAgc2Nyb2xsVmlldyhlKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coZSlcclxuICAgICAgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG4ubmF2QmFyQm94IC5uYXZCYXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsMCwwLDAuMDUpO1xyXG5cclxufVxyXG4uZml4e1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG4uc3RhdHVzQmFye1xyXG4gIGJhY2tncm91bmQtY29sb3I6bGlnaHRncmV5O1xyXG59XHJcbi5iYXJUZXh0e1xyXG4gIC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmbGV4OiAyO1xyXG4gIG1hcmdpbi1sZWZ0OiA0NSU7XHJcbn1cclxuLmV4YW1pbmVMaXN0e1xyXG4gIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjQ2cHgpO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcblxyXG4uY29udGVudHtcclxuICAudGl0e1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIH1cclxuICAuY29udHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgfVxyXG4gIC5idG5Hcm91cHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcbn1cclxuLmJ1dHRvbkNve1xyXG5cdG1hcmdpbi10b3A6IDVweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcbi5tLXAtMTV7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmNhcmRMaXN0e1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDE2MHB4KTtcclxuICBtYXJnaW46IDIwcHggMDtcclxuXHJcbiAgLmNhcmQtaXtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm94LXNoYWRvdzogNHB4IDRweCAxMnB4IHJnYmEoMTUwLDE1MCwxNTAsLjA1KTtcclxuXHJcbiAgICAmOmxhc3Qtb2YtdHlwZXtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5jYXJkLWktdHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogMjUwcnB4O1xyXG4gICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgcGFkZGluZzogMCAxMHJweDtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC40KTtcclxuICAgIH1cclxuICAgIC5jYXJkLWktcntcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMjAwcnB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMjBycHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgLmNhcmQtaS1yLXR7XHJcbiAgICAgICAgdmlld3tcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMzJycHg7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHJweDtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlBpbmdGYW5nIFNDXCI7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY2FyZC1pLXItYntcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICAuc3R1ZHktYnV0dG9ue1xyXG4gICAgICAgICAgd2lkdGg6IDI0MHJweDtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggMTJweCByZ2JhKDUxLDEzMywyMTcsLjMpLCAtMnB4IC0ycHggNnB4ICNmZmY7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC44KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///314\n");
/***/ }),
/* 315 */
@@ -25217,7 +25307,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _defaultCover = _interopRequireDefault(__webpack_require__(/*! ../../../static/defaultCover.jpg */ 326));\nvar _api = __webpack_require__(/*! ../../../api */ 71);\nvar _current = __webpack_require__(/*! ../../../api/current */ 327);\nvar _video = _interopRequireDefault(__webpack_require__(/*! ./video */ 328));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {\n    videoPlayer: _video.default\n  },\n  data: function data() {\n    return {\n      videoContext: null,\n      videoCover: _defaultCover.default,\n      showDetail: false,\n      phaseId: null,\n      currentTime: null,\n      selectedChapterId: null,\n      selectedCourseId: null,\n      selectedPeriodId: null,\n      selectedResourceId: null,\n      initTime: 0,\n      courseList: [],\n      course: {},\n      detail: {},\n      videoBaseUrl: 'http://192.168.2.16:9000/trainexam/',\n      videoUrl: '',\n      status: false,\n      beforeAudio: true,\n      duration: 0,\n      progress: 0,\n      xpjAudio: null,\n      videoPause: false,\n      removeArea: {\n        x: 0,\n        y: 0\n      },\n      statusBarHeight: 0,\n      moduleKey: 0\n    };\n  },\n  onReady: function onReady() {\n    this.videoContext = uni.createVideoContext('myVideo', this);\n  },\n  onLoad: function onLoad(e) {\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    this.phaseId = e.phase_id && JSON.parse(decodeURIComponent(e.phase_id));\n  },\n  onShow: function onShow() {},\n  mounted: function mounted() {\n    this.getData();\n  },\n  computed: {},\n  beforeUnmount: function beforeUnmount() {},\n  beforeDestroy: function beforeDestroy() {},\n  methods: {\n    videoErrorCallback: function videoErrorCallback(e) {\n      uni.showModal({\n        content: e.target.errMsg,\n        showCancel: false\n      });\n    },\n    handleTimeChange: function handleTimeChange(e) {\n      this.currentTime = e.target.currentTime;\n    },\n    handlePlay: function handlePlay() {\n      var _this = this;\n      var data = {\n        chapterId: this.selectedChapterId,\n        courseId: this.selectedCourseId,\n        periodId: this.selectedPeriodId,\n        phaseId: this.phaseId,\n        studentId: uni.getStorageSync('uid')\n      };\n      (0, _current.postNewStudy)(data).then(function (re) {\n        if (re.code == 200) {\n          _this.studyId = re.data;\n          __f__(\"log\", '新建记录成功', _this.studyId, \" at pages/tabBar/current/detail.vue:153\");\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    handleUpdate: function handleUpdate() {\n      var data = {\n        id: this.studyId,\n        periodId: this.selectedPeriodId,\n        phaseId: this.phaseId,\n        resourceId: this.selectedResourceId,\n        chapterId: this.selectedChapterId,\n        courseId: this.selectedCourseId,\n        studentId: uni.getStorageSync('uid'),\n        currentDuration: this.currentTime\n      };\n      (0, _current.postUpdateStudy)(data).then(function (res) {\n        if (res.code == 200) {\n          __f__(\"log\", '上报成功', \" at pages/tabBar/current/detail.vue:172\");\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    getData: function getData() {\n      var _this2 = this;\n      (0, _current.getCourseDetail)({\n        phaseStudentId: this.phaseId\n      }).then(function (res) {\n        if (res.code == 200) {\n          if (res.data && res.data.length > 0) {\n            _this2.courseList = res.data;\n            var chapterId = _this2.courseList[0].chapterId;\n            var courseId = _this2.courseList[0].courseId;\n            var id = _this2.courseList[0].studentStudyPeriodVOList[0].periodId;\n            var resourceId = _this2.courseList[0].studentStudyPeriodVOList[0].resourceId;\n            if (id) {\n              _this2.getLesson(chapterId, courseId, id, resourceId);\n            }\n          } else {\n            _this2.courseList = [];\n            uni.showToast({\n              title: '本课程暂无可学习内容',\n              duration: 1000\n            });\n          }\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    getLesson: function getLesson(chapterId, courseId, id, resourceId) {\n      var _this3 = this;\n      // if(this.videoContext.src){\n      //   this.videoContext.stop()\n      //   this.videoContext.src = ''\n      // }\n      __f__(\"log\", this.videoContext, 666, \" at pages/tabBar/current/detail.vue:208\");\n      this.selectedChapterId = chapterId;\n      this.selectedCourseId = courseId;\n      this.selectedPeriodId = id;\n      this.selectedResourceId = resourceId;\n      (0, _current.getLessonDetail)({\n        periodId: id\n      }).then(function (res) {\n        if (res.code == 200) {\n          if (res.data) {\n            _this3.detail = res.data;\n            _this3.showDetail = true;\n            _this3.$nextTick(function () {\n              _this3.videoUrl = _this3.videoBaseUrl + _this3.detail.resourcePath;\n              _this3.moduleKey++;\n            });\n          }\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    goBack: function goBack() {\n      // uni.navigateBack({\n      //   delta: 1\n      // });\n      uni.reLaunch({\n        url: uni.getStorageSync(\"prevPage\") || '/pages/tabBar/firstPage/firstPage'\n      });\n    },\n    handleUpdateTime: function handleUpdateTime(time) {\n      __f__(\"log\", \"当前播放时间:\", time, \" at pages/tabBar/current/detail.vue:240\");\n\n      // 你可以在这里处理传递过来的播放时间\n    },\n    secondsToHms: function secondsToHms(seconds) {\n      seconds = Number(seconds);\n      var h = Math.floor(seconds / 3600);\n      var m = Math.floor(seconds % 3600 / 60);\n      var s = Math.floor(seconds % 3600 % 60);\n      var hDisplay = h > 0 ? String(h).padStart(2, '0') : '00';\n      var mDisplay = m > 0 ? String(m).padStart(2, '0') : '00';\n      var sDisplay = s > 0 ? String(s).padStart(2, '0') : '00';\n      return \"\".concat(hDisplay, \":\").concat(mDisplay, \":\").concat(sDisplay);\n    },\n    changeSwiper: function changeSwiper() {\n      this.isVideoPlay = false;\n    },\n    formatTime: function formatTime(num) {\n      num = Math.floor(num);\n      var second = num % 60;\n      if (second < 10) second = '0' + second;\n      var min = Math.floor(num / 60);\n      if (min < 10) min = '0' + min;\n      return min + \":\" + second;\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 */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL2N1cnJlbnQvZGV0YWlsLnZ1ZSJdLCJuYW1lcyI6WyJjb21wb25lbnRzIiwidmlkZW9QbGF5ZXIiLCJkYXRhIiwidmlkZW9Db250ZXh0IiwidmlkZW9Db3ZlciIsInNob3dEZXRhaWwiLCJwaGFzZUlkIiwiY3VycmVudFRpbWUiLCJzZWxlY3RlZENoYXB0ZXJJZCIsInNlbGVjdGVkQ291cnNlSWQiLCJzZWxlY3RlZFBlcmlvZElkIiwic2VsZWN0ZWRSZXNvdXJjZUlkIiwiaW5pdFRpbWUiLCJjb3Vyc2VMaXN0IiwiY291cnNlIiwiZGV0YWlsIiwidmlkZW9CYXNlVXJsIiwidmlkZW9VcmwiLCJzdGF0dXMiLCJiZWZvcmVBdWRpbyIsImR1cmF0aW9uIiwicHJvZ3Jlc3MiLCJ4cGpBdWRpbyIsInZpZGVvUGF1c2UiLCJyZW1vdmVBcmVhIiwieCIsInkiLCJzdGF0dXNCYXJIZWlnaHQiLCJtb2R1bGVLZXkiLCJvblJlYWR5Iiwib25Mb2FkIiwib25TaG93IiwibW91bnRlZCIsImNvbXB1dGVkIiwiYmVmb3JlVW5tb3VudCIsImJlZm9yZURlc3Ryb3kiLCJtZXRob2RzIiwidmlkZW9FcnJvckNhbGxiYWNrIiwidW5pIiwiY29udGVudCIsInNob3dDYW5jZWwiLCJoYW5kbGVUaW1lQ2hhbmdlIiwiaGFuZGxlUGxheSIsImNoYXB0ZXJJZCIsImNvdXJzZUlkIiwicGVyaW9kSWQiLCJzdHVkZW50SWQiLCJoYW5kbGVVcGRhdGUiLCJpZCIsInJlc291cmNlSWQiLCJjdXJyZW50RHVyYXRpb24iLCJnZXREYXRhIiwicGhhc2VTdHVkZW50SWQiLCJ0aXRsZSIsImdldExlc3NvbiIsImdvQmFjayIsInVybCIsImhhbmRsZVVwZGF0ZVRpbWUiLCJzZWNvbmRzVG9IbXMiLCJzZWNvbmRzIiwiY2hhbmdlU3dpcGVyIiwiZm9ybWF0VGltZSIsIm51bSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQWtFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBQ0E7RUFDQUE7SUFDQUM7RUFDQTtFQUNBQztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQUM7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7RUFFQTtFQUNBQztJQUNBO0lBQ0E7RUFFQTtFQUNBQywyQkFFQTtFQUNBQztJQUNBO0VBQ0E7RUFDQUMsV0FFQTtFQUNBQyx5Q0FFQTtFQUVBQyx5Q0FFQTtFQUVBQztJQUNBQztNQUNBQztRQUNBQztRQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBQztRQUNBQztRQUNBQztRQUNBdkM7UUFDQXdDO01BQ0E7TUFDQTtRQUNBO1VBQ0E7VUFDQTtRQUNBO1VBQ0FSO1FBQ0E7TUFDQTtJQUNBO0lBQ0FTO01BQ0E7UUFDQUM7UUFDQUg7UUFDQXZDO1FBQ0EyQztRQUNBTjtRQUNBQztRQUNBRTtRQUNBSTtNQUNBO01BQ0E7UUFDQTtVQUNBO1FBQ0E7VUFDQVo7UUFDQTtNQUNBO0lBQ0E7SUFDQWE7TUFBQTtNQUNBO1FBQUFDO01BQUE7UUFDQTtVQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO2NBQ0E7WUFDQTtVQUNBO1lBQ0E7WUFDQWQ7Y0FDQWU7Y0FDQWpDO1lBQ0E7VUFDQTtRQUNBO1VBQ0FrQjtRQUNBO01BQ0E7SUFDQTtJQUVBZ0I7TUFBQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO1FBQUFUO01BQUE7UUFDQTtVQUNBO1lBQ0E7WUFDQTtZQUNBO2NBQ0E7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtVQUNBUDtRQUNBO01BQ0E7SUFFQTtJQUVBaUI7TUFDQTtNQUNBO01BQ0E7TUFDQWpCO1FBQ0FrQjtNQUNBO0lBQ0E7SUFFQUM7TUFDQTs7TUFFQTtJQUNBO0lBRUFDO01BQ0FDO01BQ0E7TUFDQTtNQUNBO01BRUE7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUVBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiMzI1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuICA8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtoZWlnaHQ6IDEwMCU7XCI+XG4gICAgPCEtLSDoh6rlrprkuYnlr7zoiKrmoI8gLS0+XG4gICAgPHZpZXcgY2xhc3M9XCJuYXZCYXJCb3hcIj5cbiAgICAgIDwhLS0g54q25oCB5qCP5Y2g5L2NIC0tPlxuICAgICAgPHZpZXcgY2xhc3M9XCJzdGF0dXNCYXJcIiA6c3R5bGU9XCJ7IHBhZGRpbmdUb3A6IHN0YXR1c0JhckhlaWdodCArICdweCcgfVwiPjwvdmlldz5cbiAgICAgIDwhLS0g55yf5q2j55qE5a+86Iiq5qCP5YaF5a65IC0tPlxuICAgICAgPHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICAgICAgICA8dmlldyBjbGFzcz1cIm5hdkJhclwiPlxuICAgICAgICAgIDx1LWljb24gbmFtZT1cImFycm93LWxlZnRcIiBjb2xvcj1cImJsYWNrXCIgc2l6ZT1cIjE3XCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogOHB4O1wiIEBjbGljaz1cImdvQmFja1wiIC8+XG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJiYXJUZXh0XCI+5L+h5oGv6K+m5oOFPC92aWV3PlxuICAgICAgICAgIDwhLS0gXHRcdFx0XHRcdDx2aWV3ID5cbiAgICAgICAgICAgICAgICAgICAgICA8dS1idXR0b24gdHlwZT1cInRleHRcIiBAY2xpY2s9XCJsb2dpbk91dFwiIHN0eWxlPVwiY29sb3I6IGJsdWU7bWFyZ2luLXJpZ2h0OiA1cHg7XCI+6YCA5Ye6PC91LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC92aWV3PiAtLT5cbiAgICAgICAgPC92aWV3PlxuICAgICAgPC92aWV3PlxuICAgIDwvdmlldz5cbjwhLS1cdFx0IDx2aWRlby1wbGF5ZXIgcmVmPVwicGxheWVyUmVmXCIgQHVwZGF0ZS10aW1lPVwiaGFuZGxlVXBkYXRlVGltZVwiPjwvdmlkZW8tcGxheWVyPi0tPlxuXHRcdDx2aWV3IGNsYXNzPVwidmlkZW9XcmFwXCIgdi1pZj1cImNvdXJzZUxpc3QgJiYgY291cnNlTGlzdC5sZW5ndGg+MFwiPlxuICAgICAgPHZpZGVvIHJlZj1cInZpZGVvUmVmXCIgOmtleT1cIm1vZHVsZUtleVwiIGlkPVwibXlWaWRlb1wiIDpwb3N0ZXI9XCJ2aWRlb1VybCsnP3gtb3NzLXByb2Nlc3M9dmlkZW8vc25hcHNob3QsdF8wLGZfanBnJ1wiIHN0eWxlPVwid2lkdGg6IDEwMCVcIiA6c3JjPVwidmlkZW9VcmxcIiBAdGltZXVwZGF0ZT1cImhhbmRsZVRpbWVDaGFuZ2VcIiA6aW5pdGlhbC10aW1lPVwiaW5pdFRpbWVcIiA6cGxheS1zdHJhdGVneT1cIjJcIiBAcGxheT1cImhhbmRsZVBsYXlcIiBAcGF1c2U9XCJoYW5kbGVVcGRhdGVcIiBAZW5kZWQ9XCJoYW5kbGVVcGRhdGVcIiBjb250cm9scz48L3ZpZGVvPlxuPCEtLVx0XHRcdDx2aWV3IGNsYXNzPVwidmlkZW9Cb3hcIj4tLT5cbjwhLS1cdFx0XHRcdDx0ZW1wbGF0ZSB2LWlmPVwiIXZpZGVvUGF1c2VcIj4tLT5cbjwhLS1cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtYXN0ZXJQaWNcIj4tLT5cbjwhLS1cdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJpbWdcIiA6c3JjPVwidmlkZW9Db3ZlclwiIG1vZGU9XCJzY2FsZVRvRmlsbFwiPjwvaW1hZ2U+LS0+XG48IS0tXHRcdFx0XHRcdDwvdmlldz4tLT5cbjwhLS1cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwic3RhcnRJY29uXCIgc3JjPVwiL3N0YXRpYy9pbWFnZS9ib2ZhbmcucG5nXCIgbW9kZT1cInNjYWxlVG9GaWxsXCIgIEBjbGljaz1cInN0YXJ0Rmlyc3RWaWRlb1wiPjwvaW1hZ2U+LS0+XG48IS0tXHRcdFx0XHQ8L3RlbXBsYXRlPi0tPlxuPCEtLVx0XHRcdFx0PHRlbXBsYXRlIHYtZWxzZT4tLT5cbjwhLS0gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwidmlkZW8tanNcIiByZWY9XCJ2aWRlb1wiIHN0eWxlPVwid2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO1wiPjwvdmlldz4tLT5cbjwhLS1cdFx0XHRcdDwvdGVtcGxhdGU+LS0+XG48IS0tXHRcdFx0PC92aWV3Pi0tPlxuICAgICAgPHZpZXcgY2xhc3M9XCJ2aWRlbi1pbmZvXCIgdi1pZj1cInNob3dEZXRhaWxcIj5cbiAgICAgICAgPHZpZXcgY2xhc3M9XCJ2aWRlbi1pbmZvLXRcIj57e2RldGFpbC5uYW1lfX08L3ZpZXc+XG4gICAgICAgIDx2aWV3IGNsYXNzPVwidmlkZW4taW5mby1pXCI+5Yib5bu65pe26Ze077yae3tkZXRhaWwuY3JlYXRlVGltZX19PC92aWV3PlxuICAgICAgPC92aWV3PlxuXHRcdDwvdmlldz5cbiAgICA8dmlldyBjbGFzcz1cIm0tcC0xNVwiIHYtaWY9XCJjb3Vyc2VMaXN0ICYmIGNvdXJzZUxpc3QubGVuZ3RoPjBcIj5cbiAgICAgIDx2aWV3IGNsYXNzPVwiY2hhcHRlckxpc3RcIj5cbiAgICAgICAgPHZpZXcgY2xhc3M9XCJjaGFwdGVySXRlbVwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIGNvdXJzZUxpc3RcIiA6a2V5PVwiaW5kZXhcIj5cbiAgICAgICAgICA8dmlldyBjbGFzcz1cImNoYXB0ZXJOYW1lXCI+e3tpdGVtLmNoYXB0ZXJOYW1lIH19PC92aWV3PlxuICAgICAgICAgIDx2aWV3IGNsYXNzPVwiY291cnNlTGlzdFwiPlxuICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJjb3Vyc2VJdGVtXCIgOmNsYXNzPVwieyBzZWxlY3RlZDogaS5wZXJpb2RJZCA9PT0gc2VsZWN0ZWRQZXJpb2RJZCB9XCIgdi1mb3I9XCIoaSxpZHgpIGluIGl0ZW0uc3R1ZGVudFN0dWR5UGVyaW9kVk9MaXN0XCIgOmtleT1cImlkeFwiIEBjbGljaz1cImdldExlc3NvbihpdGVtLmNoYXB0ZXJJZCxpdGVtLmNvdXJzZUlkLGkucGVyaW9kSWQsaS5yZXNvdXJjZUlkKVwiPlxuICAgICAgICAgICAgICA8dmlldyBjbGFzcz1cImMtaS1sXCI+XG4gICAgICAgICAgICAgICAgPHUtaWNvbiBuYW1lPVwicGxheS1jaXJjbGVcIiA6Y29sb3I9XCJpLnBlcmlvZElkID09IHNlbGVjdGVkUGVyaW9kSWQ/JyNmZmYnOicjMDA3YWZmJ1wiIHNpemU9XCIyNFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDBcIj48L3UtaWNvbj5cbiAgICAgICAgICAgICAgICA8dmlldz57e2kucGVyaW9kTmFtZX19PC92aWV3PlxuICAgICAgICAgICAgICA8L3ZpZXc+XG4gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiYy1pLXJcIj5cbiAgICAgICAgICAgICAgICA8dS1saW5lLXByb2dyZXNzIHN0eWxlPVwid2lkdGg6IDQ1cHhcIiBoZWlnaHQ9XCIxMFwiIDpwZXJjZW50YWdlPVwiaS5wcm9ncmVzc1wiIGFjdGl2ZUNvbG9yPVwiIzE5YmU2YlwiPjwvdS1saW5lLXByb2dyZXNzPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7c2Vjb25kc1RvSG1zKGkucGVyaW9kKX19PC9zcGFuPlxuICAgICAgICAgICAgICA8L3ZpZXc+XG4gICAgICAgICAgICA8L3ZpZXc+XG4gICAgICAgICAgPC92aWV3PlxuICAgICAgICA8L3ZpZXc+XG4gICAgICA8L3ZpZXc+XG4gICAgPC92aWV3PlxuICAgIDx2aWV3IHYtZWxzZT5cbiAgICAgIDx1LWVtcHR5XG4gICAgICAgICAgbW9kZT1cImxpc3RcIlxuICAgICAgICAgIGljb249XCJodHRwOi8vY2RuLnV2aWV3dWkuY29tL3V2aWV3L2VtcHR5L2xpc3QucG5nXCJcbiAgICAgID5cbiAgICAgIDwvdS1lbXB0eT5cbiAgICA8L3ZpZXc+XG5cdDwvdmlldz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgY292ZXIgZnJvbSAnLi4vLi4vLi4vc3RhdGljL2RlZmF1bHRDb3Zlci5qcGcnXG5pbXBvcnQge2dldENsYXNzTGlzdH0gZnJvbSBcIi4uLy4uLy4uL2FwaVwiO1xuaW1wb3J0IHtnZXRDb3Vyc2VEZXRhaWwsIGdldExlc3NvbkRldGFpbCwgcG9zdE5ld1N0dWR5LCBwb3N0VXBkYXRlU3R1ZHl9IGZyb20gXCIuLi8uLi8uLi9hcGkvY3VycmVudFwiO1xuaW1wb3J0IHZpZGVvUGxheWVyIGZyb20gXCIuL3ZpZGVvXCI7XG5leHBvcnQgZGVmYXVsdCB7XG5cdGNvbXBvbmVudHM6IHtcbiAgICB2aWRlb1BsYXllcixcblx0fSxcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuICAgICAgdmlkZW9Db250ZXh0OiBudWxsLFxuXHRcdFx0dmlkZW9Db3ZlcjogY292ZXIsXG4gICAgICBzaG93RGV0YWlsOiBmYWxzZSxcbiAgICAgIHBoYXNlSWQ6IG51bGwsXG4gICAgICBjdXJyZW50VGltZTogbnVsbCxcbiAgICAgIHNlbGVjdGVkQ2hhcHRlcklkOiBudWxsLFxuICAgICAgc2VsZWN0ZWRDb3Vyc2VJZDogbnVsbCxcbiAgICAgIHNlbGVjdGVkUGVyaW9kSWQ6IG51bGwsXG4gICAgICBzZWxlY3RlZFJlc291cmNlSWQ6IG51bGwsXG4gICAgICBpbml0VGltZTogMCxcbiAgICAgIGNvdXJzZUxpc3Q6IFtdLFxuXHRcdFx0Y291cnNlOiB7fSxcblx0XHRcdGRldGFpbDoge30sXG4gICAgICB2aWRlb0Jhc2VVcmw6ICdodHRwOi8vMTkyLjE2OC4yLjE2OjkwMDAvdHJhaW5leGFtLycsXG4gICAgICB2aWRlb1VybDogJycsXG5cdFx0XHRzdGF0dXM6IGZhbHNlLFxuXHRcdFx0YmVmb3JlQXVkaW86IHRydWUsXG5cdFx0XHRkdXJhdGlvbjogMCxcblx0XHRcdHByb2dyZXNzOiAwLFxuXHRcdFx0eHBqQXVkaW86IG51bGwsXG5cdFx0XHR2aWRlb1BhdXNlOiBmYWxzZSxcblx0XHRcdHJlbW92ZUFyZWE6e1xuXHRcdFx0XHR4OiAwLFxuXHRcdFx0XHR5OiAwLFxuXHRcdFx0fSxcbiAgICAgIHN0YXR1c0JhckhlaWdodDogMCxcbiAgICAgIG1vZHVsZUtleTogMFxuXHRcdH07XG5cdH0sXG4gIG9uUmVhZHkoKXtcbiAgICB0aGlzLnZpZGVvQ29udGV4dCA9IHVuaS5jcmVhdGVWaWRlb0NvbnRleHQoJ215VmlkZW8nLHRoaXMpXG5cbiAgfSxcblx0b25Mb2FkKGUpIHtcbiAgICB0aGlzLnN0YXR1c0JhckhlaWdodCA9IHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpWydzdGF0dXNCYXJIZWlnaHQnXTtcbiAgICB0aGlzLnBoYXNlSWQgPSBlLnBoYXNlX2lkICYmIEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUucGhhc2VfaWQpKTtcblxuXHR9LFxuXHRvblNob3coKXtcblxuXHR9LFxuXHRtb3VudGVkKCkge1xuICAgIHRoaXMuZ2V0RGF0YSgpO1xuXHR9LFxuICBjb21wdXRlZDoge1xuXG4gIH0sXG5cdGJlZm9yZVVubW91bnQoKSB7XG5cbiAgfSxcblxuICBiZWZvcmVEZXN0cm95KCkge1xuXG4gIH0sXG5cbiAgbWV0aG9kczoge1xuICAgIHZpZGVvRXJyb3JDYWxsYmFjazogZnVuY3Rpb24oZSkge1xuICAgICAgdW5pLnNob3dNb2RhbCh7XG4gICAgICAgIGNvbnRlbnQ6IGUudGFyZ2V0LmVyck1zZyxcbiAgICAgICAgc2hvd0NhbmNlbDogZmFsc2VcbiAgICAgIH0pXG4gICAgfSxcbiAgICBoYW5kbGVUaW1lQ2hhbmdlKGUpe1xuICAgICAgdGhpcy5jdXJyZW50VGltZSA9IGUudGFyZ2V0LmN1cnJlbnRUaW1lXG4gICAgfSxcbiAgICBoYW5kbGVQbGF5KCl7XG4gICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICBjaGFwdGVySWQ6IHRoaXMuc2VsZWN0ZWRDaGFwdGVySWQsXG4gICAgICAgIGNvdXJzZUlkOiB0aGlzLnNlbGVjdGVkQ291cnNlSWQsXG4gICAgICAgIHBlcmlvZElkOiB0aGlzLnNlbGVjdGVkUGVyaW9kSWQsXG4gICAgICAgIHBoYXNlSWQ6IHRoaXMucGhhc2VJZCxcbiAgICAgICAgc3R1ZGVudElkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3VpZCcpXG4gICAgICB9XG4gICAgICBwb3N0TmV3U3R1ZHkoZGF0YSkudGhlbihyZT0+e1xuICAgICAgICBpZihyZS5jb2RlID09IDIwMCl7XG4gICAgICAgICAgdGhpcy5zdHVkeUlkID0gcmUuZGF0YVxuICAgICAgICAgIGNvbnNvbGUubG9nKCfmlrDlu7rorrDlvZXmiJDlip8nLHRoaXMuc3R1ZHlJZClcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdW5pLiR1LnRvYXN0KHJlcy5tZXNzYWdlKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0sXG4gICAgaGFuZGxlVXBkYXRlKCl7XG4gICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICBpZDogdGhpcy5zdHVkeUlkLFxuICAgICAgICBwZXJpb2RJZDogdGhpcy5zZWxlY3RlZFBlcmlvZElkLFxuICAgICAgICBwaGFzZUlkOiB0aGlzLnBoYXNlSWQsXG4gICAgICAgIHJlc291cmNlSWQ6IHRoaXMuc2VsZWN0ZWRSZXNvdXJjZUlkLFxuICAgICAgICBjaGFwdGVySWQ6IHRoaXMuc2VsZWN0ZWRDaGFwdGVySWQsXG4gICAgICAgIGNvdXJzZUlkOiB0aGlzLnNlbGVjdGVkQ291cnNlSWQsXG4gICAgICAgIHN0dWRlbnRJZDogdW5pLmdldFN0b3JhZ2VTeW5jKCd1aWQnKSxcbiAgICAgICAgY3VycmVudER1cmF0aW9uOiB0aGlzLmN1cnJlbnRUaW1lXG4gICAgICB9XG4gICAgICBwb3N0VXBkYXRlU3R1ZHkoZGF0YSkudGhlbihyZXM9PntcbiAgICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgICBjb25zb2xlLmxvZygn5LiK5oql5oiQ5YqfJylcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdW5pLiR1LnRvYXN0KHJlcy5tZXNzYWdlKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0sXG4gICAgZ2V0RGF0YSgpe1xuICAgICAgZ2V0Q291cnNlRGV0YWlsKHtwaGFzZVN0dWRlbnRJZDogdGhpcy5waGFzZUlkfSkudGhlbihyZXMgPT4ge1xuICAgICAgICBpZihyZXMuY29kZSA9PSAyMDApIHtcbiAgICAgICAgICBpZihyZXMuZGF0YSAmJiByZXMuZGF0YS5sZW5ndGggPiAwKXtcbiAgICAgICAgICAgIHRoaXMuY291cnNlTGlzdCA9IHJlcy5kYXRhXG4gICAgICAgICAgICBsZXQgY2hhcHRlcklkID0gdGhpcy5jb3Vyc2VMaXN0WzBdLmNoYXB0ZXJJZFxuICAgICAgICAgICAgbGV0IGNvdXJzZUlkID0gdGhpcy5jb3Vyc2VMaXN0WzBdLmNvdXJzZUlkXG4gICAgICAgICAgICBsZXQgaWQgPSB0aGlzLmNvdXJzZUxpc3RbMF0uc3R1ZGVudFN0dWR5UGVyaW9kVk9MaXN0WzBdLnBlcmlvZElkXG4gICAgICAgICAgICBsZXQgcmVzb3VyY2VJZCA9IHRoaXMuY291cnNlTGlzdFswXS5zdHVkZW50U3R1ZHlQZXJpb2RWT0xpc3RbMF0ucmVzb3VyY2VJZFxuICAgICAgICAgICAgaWYoaWQpe1xuICAgICAgICAgICAgICB0aGlzLmdldExlc3NvbihjaGFwdGVySWQsY291cnNlSWQsaWQscmVzb3VyY2VJZClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvdXJzZUxpc3QgPSBbXVxuICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XG4gICAgICAgICAgICAgIHRpdGxlOiAn5pys6K++56iL5pqC5peg5Y+v5a2m5Lmg5YaF5a65JyxcbiAgICAgICAgICAgICAgZHVyYXRpb246IDEwMDBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdW5pLiR1LnRvYXN0KHJlcy5tZXNzYWdlKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0sXG5cbiAgICBnZXRMZXNzb24oY2hhcHRlcklkLGNvdXJzZUlkLGlkLHJlc291cmNlSWQpe1xuICAgICAgLy8gaWYodGhpcy52aWRlb0NvbnRleHQuc3JjKXtcbiAgICAgIC8vICAgdGhpcy52aWRlb0NvbnRleHQuc3RvcCgpXG4gICAgICAvLyAgIHRoaXMudmlkZW9Db250ZXh0LnNyYyA9ICcnXG4gICAgICAvLyB9XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLnZpZGVvQ29udGV4dCw2NjYpXG4gICAgICB0aGlzLnNlbGVjdGVkQ2hhcHRlcklkID0gY2hhcHRlcklkXG4gICAgICB0aGlzLnNlbGVjdGVkQ291cnNlSWQgPSBjb3Vyc2VJZFxuICAgICAgdGhpcy5zZWxlY3RlZFBlcmlvZElkID0gaWQ7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzb3VyY2VJZCA9IHJlc291cmNlSWRcbiAgICAgIGdldExlc3NvbkRldGFpbCh7cGVyaW9kSWQ6IGlkfSkudGhlbihyZXMgPT4ge1xuICAgICAgICBpZihyZXMuY29kZSA9PSAyMDApIHtcbiAgICAgICAgICBpZihyZXMuZGF0YSl7XG4gICAgICAgICAgICB0aGlzLmRldGFpbCA9IHJlcy5kYXRhXG4gICAgICAgICAgICB0aGlzLnNob3dEZXRhaWwgPSB0cnVlXG4gICAgICAgICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMudmlkZW9VcmwgPSB0aGlzLnZpZGVvQmFzZVVybCArIHRoaXMuZGV0YWlsLnJlc291cmNlUGF0aFxuICAgICAgICAgICAgICB0aGlzLm1vZHVsZUtleSsrXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgIH0sXG5cbiAgICBnb0JhY2soKXtcbiAgICAgIC8vIHVuaS5uYXZpZ2F0ZUJhY2soe1xuICAgICAgLy8gICBkZWx0YTogMVxuICAgICAgLy8gfSk7XG4gICAgICB1bmkucmVMYXVuY2goe1xuICAgICAgICB1cmw6IHVuaS5nZXRTdG9yYWdlU3luYyhcInByZXZQYWdlXCIpIHx8ICcvcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9maXJzdFBhZ2UnXG4gICAgICB9KTtcbiAgICB9LFxuXG4gICAgaGFuZGxlVXBkYXRlVGltZSh0aW1lKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIuW9k+WJjeaSreaUvuaXtumXtDpcIiwgdGltZSk7XG5cbiAgICAgIC8vIOS9oOWPr+S7peWcqOi/memHjOWkhOeQhuS8oOmAkui/h+adpeeahOaSreaUvuaXtumXtFxuICAgIH0sXG5cbiAgICBzZWNvbmRzVG9IbXMoc2Vjb25kcykge1xuICAgICAgc2Vjb25kcyA9IE51bWJlcihzZWNvbmRzKTtcbiAgICAgIGNvbnN0IGggPSBNYXRoLmZsb29yKHNlY29uZHMgLyAzNjAwKTtcbiAgICAgIGNvbnN0IG0gPSBNYXRoLmZsb29yKHNlY29uZHMgJSAzNjAwIC8gNjApO1xuICAgICAgY29uc3QgcyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAlIDM2MDAgJSA2MCk7XG5cbiAgICAgIGNvbnN0IGhEaXNwbGF5ID0gaCA+IDAgPyBTdHJpbmcoaCkucGFkU3RhcnQoMiwgJzAnKSA6ICcwMCc7XG4gICAgICBjb25zdCBtRGlzcGxheSA9IG0gPiAwID8gU3RyaW5nKG0pLnBhZFN0YXJ0KDIsICcwJykgOiAnMDAnO1xuICAgICAgY29uc3Qgc0Rpc3BsYXkgPSBzID4gMCA/IFN0cmluZyhzKS5wYWRTdGFydCgyLCAnMCcpIDogJzAwJztcbiAgICAgIHJldHVybiBgJHtoRGlzcGxheX06JHttRGlzcGxheX06JHtzRGlzcGxheX1gO1xuICAgIH0sXG5cblx0XHRjaGFuZ2VTd2lwZXIoKSB7XG5cdFx0XHR0aGlzLmlzVmlkZW9QbGF5ID0gZmFsc2U7XG5cdFx0fSxcblx0XHRmb3JtYXRUaW1lKG51bSkge1xuXHRcdFx0bnVtID0gTWF0aC5mbG9vcihudW0pXG5cdFx0XHRsZXQgc2Vjb25kID0gbnVtICUgNjA7XG5cdFx0XHRpZiAoc2Vjb25kIDwgMTApIHNlY29uZCA9ICcwJyArIHNlY29uZDtcblx0XHRcdGxldCBtaW4gPSBNYXRoLmZsb29yKG51bSAvIDYwKTtcblx0XHRcdGlmIChtaW4gPCAxMCkgbWluID0gJzAnICsgbWluO1xuXHRcdFx0cmV0dXJuIG1pbiArIFwiOlwiICsgc2Vjb25kO1xuXHRcdH0sXG5cdH1cbn07XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuLm5hdkJhckJveCAubmF2QmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjojZmZmO1xuICBoZWlnaHQ6IDUwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDNweCAxMnB4IHJnYmEoMCwwLDAsMC4wNSk7XG59XG4uYmFyVGV4dHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBmbGV4OiAxO1xuICAvKiBtYXJnaW4tbGVmdDogMjBweDsgKi9cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogODUlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5uYXZCYXJCb3ggLm5hdkJhciAubG9nbyB7XG4gIHdpZHRoOiA4MnJweDtcbiAgaGVpZ2h0OiA4MnJweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHJweDtcbn1cbi52aWRlb1dyYXAge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXG5cdC52aWRlb0JveCB7XG5cdFx0d2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyNjBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuICAudmlkZW4taW5mb3tcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAudmlkZW4taW5mby10e1xuICAgICAgZm9udC1zaXplOiAzMnJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICMwMDdhZmY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC52aWRlbi1pbmZvLWl7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICB9XG4gIH1cbn1cbi5tLXAtMTV7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uY2hhcHRlckxpc3R7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBtYXJnaW46IDIwcHggMDtcbiAgcGFkZGluZzogMTVweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDE1MCwxNTAsMTUwLC4wNSk7XG5cbiAgLmNoYXB0ZXJJdGVte1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuY2hhcHRlck5hbWV7XG4gICAgICBmb250LXNpemU6IDMycnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcnB4O1xuICAgIH1cblxuICAgIC5jb3Vyc2VMaXN0e1xuXG4gICAgICAuY291cnNlSXRlbXtcbiAgICAgICAgaGVpZ2h0OiA0NHJweDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHRyYW5zaXRpb246IC42cztcblxuICAgICAgICAuYy1pLWx7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHZpZXd7XG4gICAgICAgICAgICBmb250LXNpemU6IDI4cnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ0cnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jLWktcntcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgc3BhbntcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNlbGVjdGVke1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTlycHggIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAxMnB4IHJnYmEoNTEsMTMzLDIxNywuMyksIC0ycHggLTJweCA2cHggI2ZmZixpbnNldCAzcHggM3B4IDlweCByZ2JhKDAsMCwwLC4xKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///325\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _defaultCover = _interopRequireDefault(__webpack_require__(/*! ../../../static/defaultCover.jpg */ 326));\nvar _api = __webpack_require__(/*! ../../../api */ 71);\nvar _current = __webpack_require__(/*! ../../../api/current */ 327);\nvar _video = _interopRequireDefault(__webpack_require__(/*! ./video */ 328));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {\n    videoPlayer: _video.default\n  },\n  data: function data() {\n    return {\n      videoContext: null,\n      videoCover: _defaultCover.default,\n      showDetail: false,\n      phaseId: null,\n      currentTime: null,\n      selectedChapterId: null,\n      selectedCourseId: null,\n      selectedPeriodId: null,\n      selectedResourceId: null,\n      initTime: 0,\n      courseList: [],\n      course: {},\n      detail: {},\n      videoBaseUrl: 'http://192.168.2.16:9000/trainexam/',\n      videoUrl: '',\n      status: false,\n      beforeAudio: true,\n      duration: 0,\n      progress: 0,\n      xpjAudio: null,\n      videoPause: false,\n      removeArea: {\n        x: 0,\n        y: 0\n      },\n      statusBarHeight: 0,\n      moduleKey: 0\n    };\n  },\n  onReady: function onReady() {\n    this.videoContext = uni.createVideoContext('myVideo', this);\n  },\n  onLoad: function onLoad(e) {\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    this.phaseId = e.phase_id && JSON.parse(decodeURIComponent(e.phase_id));\n  },\n  onShow: function onShow() {},\n  mounted: function mounted() {\n    this.getData();\n  },\n  computed: {},\n  beforeUnmount: function beforeUnmount() {},\n  beforeDestroy: function beforeDestroy() {},\n  methods: {\n    videoErrorCallback: function videoErrorCallback(e) {\n      uni.showModal({\n        content: e.target.errMsg,\n        showCancel: false\n      });\n    },\n    handleTimeChange: function handleTimeChange(e) {\n      this.currentTime = e.target.currentTime;\n    },\n    handlePlay: function handlePlay() {\n      var _this = this;\n      var data = {\n        chapterId: this.selectedChapterId,\n        courseId: this.selectedCourseId,\n        periodId: this.selectedPeriodId,\n        phaseId: this.phaseId,\n        studentId: uni.getStorageSync('uid')\n      };\n      (0, _current.postNewStudy)(data).then(function (re) {\n        if (re.code == 200) {\n          _this.studyId = re.data;\n          __f__(\"log\", '新建记录成功', _this.studyId, \" at pages/tabBar/current/detail.vue:153\");\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    handleUpdate: function handleUpdate() {\n      var data = {\n        id: this.studyId,\n        periodId: this.selectedPeriodId,\n        phaseId: this.phaseId,\n        resourceId: this.selectedResourceId,\n        chapterId: this.selectedChapterId,\n        courseId: this.selectedCourseId,\n        studentId: uni.getStorageSync('uid'),\n        currentDuration: this.currentTime\n      };\n      (0, _current.postUpdateStudy)(data).then(function (res) {\n        if (res.code == 200) {\n          __f__(\"log\", '上报成功', \" at pages/tabBar/current/detail.vue:172\");\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    getData: function getData() {\n      var _this2 = this;\n      (0, _current.getCourseDetail)({\n        phaseStudentId: this.phaseId\n      }).then(function (res) {\n        if (res.code == 200) {\n          if (res.data && res.data.length > 0) {\n            _this2.courseList = res.data;\n            var chapterId = _this2.courseList[0].chapterId;\n            var courseId = _this2.courseList[0].courseId;\n            var id = _this2.courseList[0].studentStudyPeriodVOList[0].periodId;\n            var resourceId = _this2.courseList[0].studentStudyPeriodVOList[0].resourceId;\n            if (id) {\n              _this2.getLesson(chapterId, courseId, id, resourceId);\n            }\n          } else {\n            _this2.courseList = [];\n            uni.showToast({\n              title: '本课程暂无可学习内容',\n              duration: 1000\n            });\n          }\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    getLesson: function getLesson(chapterId, courseId, id, resourceId) {\n      var _this3 = this;\n      this.selectedChapterId = chapterId;\n      this.selectedCourseId = courseId;\n      this.selectedPeriodId = id;\n      this.selectedResourceId = resourceId;\n      (0, _current.getLessonDetail)({\n        periodId: id\n      }).then(function (res) {\n        if (res.code == 200) {\n          if (res.data) {\n            _this3.detail = res.data;\n            _this3.showDetail = true;\n            _this3.$nextTick(function () {\n              _this3.videoUrl = _this3.videoBaseUrl + _this3.detail.resourcePath;\n              _this3.moduleKey++;\n            });\n          }\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    goBack: function goBack() {\n      // uni.navigateBack({\n      //   delta: 1\n      // });\n      uni.reLaunch({\n        url: uni.getStorageSync(\"prevPage\") || '/pages/tabBar/firstPage/firstPage'\n      });\n    },\n    handleUpdateTime: function handleUpdateTime(time) {\n      __f__(\"log\", \"当前播放时间:\", time, \" at pages/tabBar/current/detail.vue:235\");\n\n      // 你可以在这里处理传递过来的播放时间\n    },\n    secondsToHms: function secondsToHms(seconds) {\n      seconds = Number(seconds);\n      var h = Math.floor(seconds / 3600);\n      var m = Math.floor(seconds % 3600 / 60);\n      var s = Math.floor(seconds % 3600 % 60);\n      var hDisplay = h > 0 ? String(h).padStart(2, '0') : '00';\n      var mDisplay = m > 0 ? String(m).padStart(2, '0') : '00';\n      var sDisplay = s > 0 ? String(s).padStart(2, '0') : '00';\n      return \"\".concat(hDisplay, \":\").concat(mDisplay, \":\").concat(sDisplay);\n    },\n    changeSwiper: function changeSwiper() {\n      this.isVideoPlay = false;\n    },\n    formatTime: function formatTime(num) {\n      num = Math.floor(num);\n      var second = num % 60;\n      if (second < 10) second = '0' + second;\n      var min = Math.floor(num / 60);\n      if (min < 10) min = '0' + min;\n      return min + \":\" + second;\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 */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL2N1cnJlbnQvZGV0YWlsLnZ1ZSJdLCJuYW1lcyI6WyJjb21wb25lbnRzIiwidmlkZW9QbGF5ZXIiLCJkYXRhIiwidmlkZW9Db250ZXh0IiwidmlkZW9Db3ZlciIsInNob3dEZXRhaWwiLCJwaGFzZUlkIiwiY3VycmVudFRpbWUiLCJzZWxlY3RlZENoYXB0ZXJJZCIsInNlbGVjdGVkQ291cnNlSWQiLCJzZWxlY3RlZFBlcmlvZElkIiwic2VsZWN0ZWRSZXNvdXJjZUlkIiwiaW5pdFRpbWUiLCJjb3Vyc2VMaXN0IiwiY291cnNlIiwiZGV0YWlsIiwidmlkZW9CYXNlVXJsIiwidmlkZW9VcmwiLCJzdGF0dXMiLCJiZWZvcmVBdWRpbyIsImR1cmF0aW9uIiwicHJvZ3Jlc3MiLCJ4cGpBdWRpbyIsInZpZGVvUGF1c2UiLCJyZW1vdmVBcmVhIiwieCIsInkiLCJzdGF0dXNCYXJIZWlnaHQiLCJtb2R1bGVLZXkiLCJvblJlYWR5Iiwib25Mb2FkIiwib25TaG93IiwibW91bnRlZCIsImNvbXB1dGVkIiwiYmVmb3JlVW5tb3VudCIsImJlZm9yZURlc3Ryb3kiLCJtZXRob2RzIiwidmlkZW9FcnJvckNhbGxiYWNrIiwidW5pIiwiY29udGVudCIsInNob3dDYW5jZWwiLCJoYW5kbGVUaW1lQ2hhbmdlIiwiaGFuZGxlUGxheSIsImNoYXB0ZXJJZCIsImNvdXJzZUlkIiwicGVyaW9kSWQiLCJzdHVkZW50SWQiLCJoYW5kbGVVcGRhdGUiLCJpZCIsInJlc291cmNlSWQiLCJjdXJyZW50RHVyYXRpb24iLCJnZXREYXRhIiwicGhhc2VTdHVkZW50SWQiLCJ0aXRsZSIsImdldExlc3NvbiIsImdvQmFjayIsInVybCIsImhhbmRsZVVwZGF0ZVRpbWUiLCJzZWNvbmRzVG9IbXMiLCJzZWNvbmRzIiwiY2hhbmdlU3dpcGVyIiwiZm9ybWF0VGltZSIsIm51bSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQWtFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBQ0E7RUFDQUE7SUFDQUM7RUFDQTtFQUNBQztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQUM7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7RUFFQTtFQUNBQztJQUNBO0lBQ0E7RUFFQTtFQUNBQywyQkFFQTtFQUNBQztJQUNBO0VBQ0E7RUFDQUMsV0FFQTtFQUNBQyx5Q0FFQTtFQUVBQyx5Q0FFQTtFQUVBQztJQUNBQztNQUNBQztRQUNBQztRQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBQztRQUNBQztRQUNBQztRQUNBdkM7UUFDQXdDO01BQ0E7TUFDQTtRQUNBO1VBQ0E7VUFDQTtRQUNBO1VBQ0FSO1FBQ0E7TUFDQTtJQUNBO0lBQ0FTO01BQ0E7UUFDQUM7UUFDQUg7UUFDQXZDO1FBQ0EyQztRQUNBTjtRQUNBQztRQUNBRTtRQUNBSTtNQUNBO01BQ0E7UUFDQTtVQUNBO1FBQ0E7VUFDQVo7UUFDQTtNQUNBO0lBQ0E7SUFDQWE7TUFBQTtNQUNBO1FBQUFDO01BQUE7UUFDQTtVQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO2NBQ0E7WUFDQTtVQUNBO1lBQ0E7WUFDQWQ7Y0FDQWU7Y0FDQWpDO1lBQ0E7VUFDQTtRQUNBO1VBQ0FrQjtRQUNBO01BQ0E7SUFDQTtJQUVBZ0I7TUFBQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7UUFBQVQ7TUFBQTtRQUNBO1VBQ0E7WUFDQTtZQUNBO1lBQ0E7Y0FDQTtjQUNBO1lBQ0E7VUFDQTtRQUNBO1VBQ0FQO1FBQ0E7TUFDQTtJQUVBO0lBRUFpQjtNQUNBO01BQ0E7TUFDQTtNQUNBakI7UUFDQWtCO01BQ0E7SUFDQTtJQUVBQztNQUNBOztNQUVBO0lBQ0E7SUFFQUM7TUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFFQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBRUFDO01BQ0E7SUFDQTtJQUNBQztNQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIzMjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG4gIDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDtmbGV4LWRpcmVjdGlvbjogY29sdW1uO2hlaWdodDogMTAwJTtcIj5cbiAgICA8IS0tIOiHquWumuS5ieWvvOiIquagjyAtLT5cbiAgICA8dmlldyBjbGFzcz1cIm5hdkJhckJveFwiPlxuICAgICAgPCEtLSDnirbmgIHmoI/ljaDkvY0gLS0+XG4gICAgICA8dmlldyBjbGFzcz1cInN0YXR1c0JhclwiIDpzdHlsZT1cInsgcGFkZGluZ1RvcDogc3RhdHVzQmFySGVpZ2h0ICsgJ3B4JyB9XCI+PC92aWV3PlxuICAgICAgPCEtLSDnnJ/mraPnmoTlr7zoiKrmoI/lhoXlrrkgLS0+XG4gICAgICA8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XCI+XG4gICAgICAgIDx2aWV3IGNsYXNzPVwibmF2QmFyXCI+XG4gICAgICAgICAgPHUtaWNvbiBuYW1lPVwiYXJyb3ctbGVmdFwiIGNvbG9yPVwiYmxhY2tcIiBzaXplPVwiMTdcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA4cHg7XCIgQGNsaWNrPVwiZ29CYWNrXCIgLz5cbiAgICAgICAgICA8dmlldyBjbGFzcz1cImJhclRleHRcIj7kv6Hmga/or6bmg4U8L3ZpZXc+XG4gICAgICAgICAgPCEtLSBcdFx0XHRcdFx0PHZpZXcgPlxuICAgICAgICAgICAgICAgICAgICAgIDx1LWJ1dHRvbiB0eXBlPVwidGV4dFwiIEBjbGljaz1cImxvZ2luT3V0XCIgc3R5bGU9XCJjb2xvcjogYmx1ZTttYXJnaW4tcmlnaHQ6IDVweDtcIj7pgIDlh7o8L3UtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L3ZpZXc+IC0tPlxuICAgICAgICA8L3ZpZXc+XG4gICAgICA8L3ZpZXc+XG4gICAgPC92aWV3PlxuPCEtLVx0XHQgPHZpZGVvLXBsYXllciByZWY9XCJwbGF5ZXJSZWZcIiBAdXBkYXRlLXRpbWU9XCJoYW5kbGVVcGRhdGVUaW1lXCI+PC92aWRlby1wbGF5ZXI+LS0+XG5cdFx0PHZpZXcgY2xhc3M9XCJ2aWRlb1dyYXBcIiB2LWlmPVwiY291cnNlTGlzdCAmJiBjb3Vyc2VMaXN0Lmxlbmd0aD4wXCI+XG4gICAgICA8dmlkZW8gcmVmPVwidmlkZW9SZWZcIiA6a2V5PVwibW9kdWxlS2V5XCIgaWQ9XCJteVZpZGVvXCIgOnBvc3Rlcj1cInZpZGVvVXJsKyc/eC1vc3MtcHJvY2Vzcz12aWRlby9zbmFwc2hvdCx0XzAsZl9qcGcnXCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiIDpzcmM9XCJ2aWRlb1VybFwiIEB0aW1ldXBkYXRlPVwiaGFuZGxlVGltZUNoYW5nZVwiIDppbml0aWFsLXRpbWU9XCJpbml0VGltZVwiIDpwbGF5LXN0cmF0ZWd5PVwiMlwiIEBwbGF5PVwiaGFuZGxlUGxheVwiIEBwYXVzZT1cImhhbmRsZVVwZGF0ZVwiIEBlbmRlZD1cImhhbmRsZVVwZGF0ZVwiIGNvbnRyb2xzPjwvdmlkZW8+XG48IS0tXHRcdFx0PHZpZXcgY2xhc3M9XCJ2aWRlb0JveFwiPi0tPlxuPCEtLVx0XHRcdFx0PHRlbXBsYXRlIHYtaWY9XCIhdmlkZW9QYXVzZVwiPi0tPlxuPCEtLVx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1hc3RlclBpY1wiPi0tPlxuPCEtLVx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImltZ1wiIDpzcmM9XCJ2aWRlb0NvdmVyXCIgbW9kZT1cInNjYWxlVG9GaWxsXCI+PC9pbWFnZT4tLT5cbjwhLS1cdFx0XHRcdFx0PC92aWV3Pi0tPlxuPCEtLVx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJzdGFydEljb25cIiBzcmM9XCIvc3RhdGljL2ltYWdlL2JvZmFuZy5wbmdcIiBtb2RlPVwic2NhbGVUb0ZpbGxcIiAgQGNsaWNrPVwic3RhcnRGaXJzdFZpZGVvXCI+PC9pbWFnZT4tLT5cbjwhLS1cdFx0XHRcdDwvdGVtcGxhdGU+LS0+XG48IS0tXHRcdFx0XHQ8dGVtcGxhdGUgdi1lbHNlPi0tPlxuPCEtLSAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJ2aWRlby1qc1wiIHJlZj1cInZpZGVvXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7XCI+PC92aWV3Pi0tPlxuPCEtLVx0XHRcdFx0PC90ZW1wbGF0ZT4tLT5cbjwhLS1cdFx0XHQ8L3ZpZXc+LS0+XG4gICAgICA8dmlldyBjbGFzcz1cInZpZGVuLWluZm9cIiB2LWlmPVwic2hvd0RldGFpbFwiPlxuICAgICAgICA8dmlldyBjbGFzcz1cInZpZGVuLWluZm8tdFwiPnt7ZGV0YWlsLm5hbWV9fTwvdmlldz5cbiAgICAgICAgPHZpZXcgY2xhc3M9XCJ2aWRlbi1pbmZvLWlcIj7liJvlu7rml7bpl7TvvJp7e2RldGFpbC5jcmVhdGVUaW1lfX08L3ZpZXc+XG4gICAgICA8L3ZpZXc+XG5cdFx0PC92aWV3PlxuICAgIDx2aWV3IGNsYXNzPVwibS1wLTE1XCIgdi1pZj1cImNvdXJzZUxpc3QgJiYgY291cnNlTGlzdC5sZW5ndGg+MFwiPlxuICAgICAgPHZpZXcgY2xhc3M9XCJjaGFwdGVyTGlzdFwiPlxuICAgICAgICA8dmlldyBjbGFzcz1cImNoYXB0ZXJJdGVtXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gY291cnNlTGlzdFwiIDprZXk9XCJpbmRleFwiPlxuICAgICAgICAgIDx2aWV3IGNsYXNzPVwiY2hhcHRlck5hbWVcIj57e2l0ZW0uY2hhcHRlck5hbWUgfX08L3ZpZXc+XG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJjb3Vyc2VMaXN0XCI+XG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cImNvdXJzZUl0ZW1cIiA6Y2xhc3M9XCJ7IHNlbGVjdGVkOiBpLnBlcmlvZElkID09PSBzZWxlY3RlZFBlcmlvZElkIH1cIiB2LWZvcj1cIihpLGlkeCkgaW4gaXRlbS5zdHVkZW50U3R1ZHlQZXJpb2RWT0xpc3RcIiA6a2V5PVwiaWR4XCIgQGNsaWNrPVwiZ2V0TGVzc29uKGl0ZW0uY2hhcHRlcklkLGl0ZW0uY291cnNlSWQsaS5wZXJpb2RJZCxpLnJlc291cmNlSWQpXCI+XG4gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiYy1pLWxcIj5cbiAgICAgICAgICAgICAgICA8dS1pY29uIG5hbWU9XCJwbGF5LWNpcmNsZVwiIDpjb2xvcj1cImkucGVyaW9kSWQgPT0gc2VsZWN0ZWRQZXJpb2RJZD8nI2ZmZic6JyMwMDdhZmYnXCIgc2l6ZT1cIjI0XCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMFwiPjwvdS1pY29uPlxuICAgICAgICAgICAgICAgIDx2aWV3Pnt7aS5wZXJpb2ROYW1lfX08L3ZpZXc+XG4gICAgICAgICAgICAgIDwvdmlldz5cbiAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJjLWktclwiPlxuICAgICAgICAgICAgICAgIDx1LWxpbmUtcHJvZ3Jlc3Mgc3R5bGU9XCJ3aWR0aDogNDVweFwiIGhlaWdodD1cIjEwXCIgOnBlcmNlbnRhZ2U9XCJpLnByb2dyZXNzXCIgYWN0aXZlQ29sb3I9XCIjMTliZTZiXCI+PC91LWxpbmUtcHJvZ3Jlc3M+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3tzZWNvbmRzVG9IbXMoaS5wZXJpb2QpfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvdmlldz5cbiAgICAgICAgICAgIDwvdmlldz5cbiAgICAgICAgICA8L3ZpZXc+XG4gICAgICAgIDwvdmlldz5cbiAgICAgIDwvdmlldz5cbiAgICA8L3ZpZXc+XG4gICAgPHZpZXcgdi1lbHNlPlxuICAgICAgPHUtZW1wdHlcbiAgICAgICAgICBtb2RlPVwibGlzdFwiXG4gICAgICAgICAgaWNvbj1cImh0dHA6Ly9jZG4udXZpZXd1aS5jb20vdXZpZXcvZW1wdHkvbGlzdC5wbmdcIlxuICAgICAgPlxuICAgICAgPC91LWVtcHR5PlxuICAgIDwvdmlldz5cblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBjb3ZlciBmcm9tICcuLi8uLi8uLi9zdGF0aWMvZGVmYXVsdENvdmVyLmpwZydcbmltcG9ydCB7Z2V0Q2xhc3NMaXN0fSBmcm9tIFwiLi4vLi4vLi4vYXBpXCI7XG5pbXBvcnQge2dldENvdXJzZURldGFpbCwgZ2V0TGVzc29uRGV0YWlsLCBwb3N0TmV3U3R1ZHksIHBvc3RVcGRhdGVTdHVkeX0gZnJvbSBcIi4uLy4uLy4uL2FwaS9jdXJyZW50XCI7XG5pbXBvcnQgdmlkZW9QbGF5ZXIgZnJvbSBcIi4vdmlkZW9cIjtcbmV4cG9ydCBkZWZhdWx0IHtcblx0Y29tcG9uZW50czoge1xuICAgIHZpZGVvUGxheWVyLFxuXHR9LFxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG4gICAgICB2aWRlb0NvbnRleHQ6IG51bGwsXG5cdFx0XHR2aWRlb0NvdmVyOiBjb3ZlcixcbiAgICAgIHNob3dEZXRhaWw6IGZhbHNlLFxuICAgICAgcGhhc2VJZDogbnVsbCxcbiAgICAgIGN1cnJlbnRUaW1lOiBudWxsLFxuICAgICAgc2VsZWN0ZWRDaGFwdGVySWQ6IG51bGwsXG4gICAgICBzZWxlY3RlZENvdXJzZUlkOiBudWxsLFxuICAgICAgc2VsZWN0ZWRQZXJpb2RJZDogbnVsbCxcbiAgICAgIHNlbGVjdGVkUmVzb3VyY2VJZDogbnVsbCxcbiAgICAgIGluaXRUaW1lOiAwLFxuICAgICAgY291cnNlTGlzdDogW10sXG5cdFx0XHRjb3Vyc2U6IHt9LFxuXHRcdFx0ZGV0YWlsOiB7fSxcbiAgICAgIHZpZGVvQmFzZVVybDogJ2h0dHA6Ly8xOTIuMTY4LjIuMTY6OTAwMC90cmFpbmV4YW0vJyxcbiAgICAgIHZpZGVvVXJsOiAnJyxcblx0XHRcdHN0YXR1czogZmFsc2UsXG5cdFx0XHRiZWZvcmVBdWRpbzogdHJ1ZSxcblx0XHRcdGR1cmF0aW9uOiAwLFxuXHRcdFx0cHJvZ3Jlc3M6IDAsXG5cdFx0XHR4cGpBdWRpbzogbnVsbCxcblx0XHRcdHZpZGVvUGF1c2U6IGZhbHNlLFxuXHRcdFx0cmVtb3ZlQXJlYTp7XG5cdFx0XHRcdHg6IDAsXG5cdFx0XHRcdHk6IDAsXG5cdFx0XHR9LFxuICAgICAgc3RhdHVzQmFySGVpZ2h0OiAwLFxuICAgICAgbW9kdWxlS2V5OiAwXG5cdFx0fTtcblx0fSxcbiAgb25SZWFkeSgpe1xuICAgIHRoaXMudmlkZW9Db250ZXh0ID0gdW5pLmNyZWF0ZVZpZGVvQ29udGV4dCgnbXlWaWRlbycsdGhpcylcblxuICB9LFxuXHRvbkxvYWQoZSkge1xuICAgIHRoaXMuc3RhdHVzQmFySGVpZ2h0ID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKClbJ3N0YXR1c0JhckhlaWdodCddO1xuICAgIHRoaXMucGhhc2VJZCA9IGUucGhhc2VfaWQgJiYgSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoZS5waGFzZV9pZCkpO1xuXG5cdH0sXG5cdG9uU2hvdygpe1xuXG5cdH0sXG5cdG1vdW50ZWQoKSB7XG4gICAgdGhpcy5nZXREYXRhKCk7XG5cdH0sXG4gIGNvbXB1dGVkOiB7XG5cbiAgfSxcblx0YmVmb3JlVW5tb3VudCgpIHtcblxuICB9LFxuXG4gIGJlZm9yZURlc3Ryb3koKSB7XG5cbiAgfSxcblxuICBtZXRob2RzOiB7XG4gICAgdmlkZW9FcnJvckNhbGxiYWNrOiBmdW5jdGlvbihlKSB7XG4gICAgICB1bmkuc2hvd01vZGFsKHtcbiAgICAgICAgY29udGVudDogZS50YXJnZXQuZXJyTXNnLFxuICAgICAgICBzaG93Q2FuY2VsOiBmYWxzZVxuICAgICAgfSlcbiAgICB9LFxuICAgIGhhbmRsZVRpbWVDaGFuZ2UoZSl7XG4gICAgICB0aGlzLmN1cnJlbnRUaW1lID0gZS50YXJnZXQuY3VycmVudFRpbWVcbiAgICB9LFxuICAgIGhhbmRsZVBsYXkoKXtcbiAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIGNoYXB0ZXJJZDogdGhpcy5zZWxlY3RlZENoYXB0ZXJJZCxcbiAgICAgICAgY291cnNlSWQ6IHRoaXMuc2VsZWN0ZWRDb3Vyc2VJZCxcbiAgICAgICAgcGVyaW9kSWQ6IHRoaXMuc2VsZWN0ZWRQZXJpb2RJZCxcbiAgICAgICAgcGhhc2VJZDogdGhpcy5waGFzZUlkLFxuICAgICAgICBzdHVkZW50SWQ6IHVuaS5nZXRTdG9yYWdlU3luYygndWlkJylcbiAgICAgIH1cbiAgICAgIHBvc3ROZXdTdHVkeShkYXRhKS50aGVuKHJlPT57XG4gICAgICAgIGlmKHJlLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgICB0aGlzLnN0dWR5SWQgPSByZS5kYXRhXG4gICAgICAgICAgY29uc29sZS5sb2coJ+aWsOW7uuiusOW9leaIkOWKnycsdGhpcy5zdHVkeUlkKVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB1bmkuJHUudG9hc3QocmVzLm1lc3NhZ2UpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSxcbiAgICBoYW5kbGVVcGRhdGUoKXtcbiAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIGlkOiB0aGlzLnN0dWR5SWQsXG4gICAgICAgIHBlcmlvZElkOiB0aGlzLnNlbGVjdGVkUGVyaW9kSWQsXG4gICAgICAgIHBoYXNlSWQ6IHRoaXMucGhhc2VJZCxcbiAgICAgICAgcmVzb3VyY2VJZDogdGhpcy5zZWxlY3RlZFJlc291cmNlSWQsXG4gICAgICAgIGNoYXB0ZXJJZDogdGhpcy5zZWxlY3RlZENoYXB0ZXJJZCxcbiAgICAgICAgY291cnNlSWQ6IHRoaXMuc2VsZWN0ZWRDb3Vyc2VJZCxcbiAgICAgICAgc3R1ZGVudElkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3VpZCcpLFxuICAgICAgICBjdXJyZW50RHVyYXRpb246IHRoaXMuY3VycmVudFRpbWVcbiAgICAgIH1cbiAgICAgIHBvc3RVcGRhdGVTdHVkeShkYXRhKS50aGVuKHJlcz0+e1xuICAgICAgICBpZihyZXMuY29kZSA9PSAyMDApe1xuICAgICAgICAgIGNvbnNvbGUubG9nKCfkuIrmiqXmiJDlip8nKVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB1bmkuJHUudG9hc3QocmVzLm1lc3NhZ2UpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSxcbiAgICBnZXREYXRhKCl7XG4gICAgICBnZXRDb3Vyc2VEZXRhaWwoe3BoYXNlU3R1ZGVudElkOiB0aGlzLnBoYXNlSWR9KS50aGVuKHJlcyA9PiB7XG4gICAgICAgIGlmKHJlcy5jb2RlID09IDIwMCkge1xuICAgICAgICAgIGlmKHJlcy5kYXRhICYmIHJlcy5kYXRhLmxlbmd0aCA+IDApe1xuICAgICAgICAgICAgdGhpcy5jb3Vyc2VMaXN0ID0gcmVzLmRhdGFcbiAgICAgICAgICAgIGxldCBjaGFwdGVySWQgPSB0aGlzLmNvdXJzZUxpc3RbMF0uY2hhcHRlcklkXG4gICAgICAgICAgICBsZXQgY291cnNlSWQgPSB0aGlzLmNvdXJzZUxpc3RbMF0uY291cnNlSWRcbiAgICAgICAgICAgIGxldCBpZCA9IHRoaXMuY291cnNlTGlzdFswXS5zdHVkZW50U3R1ZHlQZXJpb2RWT0xpc3RbMF0ucGVyaW9kSWRcbiAgICAgICAgICAgIGxldCByZXNvdXJjZUlkID0gdGhpcy5jb3Vyc2VMaXN0WzBdLnN0dWRlbnRTdHVkeVBlcmlvZFZPTGlzdFswXS5yZXNvdXJjZUlkXG4gICAgICAgICAgICBpZihpZCl7XG4gICAgICAgICAgICAgIHRoaXMuZ2V0TGVzc29uKGNoYXB0ZXJJZCxjb3Vyc2VJZCxpZCxyZXNvdXJjZUlkKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1lbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY291cnNlTGlzdCA9IFtdXG4gICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcbiAgICAgICAgICAgICAgdGl0bGU6ICfmnKzor77nqIvmmoLml6Dlj6/lrabkuaDlhoXlrrknLFxuICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwMFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB1bmkuJHUudG9hc3QocmVzLm1lc3NhZ2UpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSxcblxuICAgIGdldExlc3NvbihjaGFwdGVySWQsY291cnNlSWQsaWQscmVzb3VyY2VJZCl7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2hhcHRlcklkID0gY2hhcHRlcklkXG4gICAgICB0aGlzLnNlbGVjdGVkQ291cnNlSWQgPSBjb3Vyc2VJZFxuICAgICAgdGhpcy5zZWxlY3RlZFBlcmlvZElkID0gaWQ7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzb3VyY2VJZCA9IHJlc291cmNlSWRcbiAgICAgIGdldExlc3NvbkRldGFpbCh7cGVyaW9kSWQ6IGlkfSkudGhlbihyZXMgPT4ge1xuICAgICAgICBpZihyZXMuY29kZSA9PSAyMDApIHtcbiAgICAgICAgICBpZihyZXMuZGF0YSl7XG4gICAgICAgICAgICB0aGlzLmRldGFpbCA9IHJlcy5kYXRhXG4gICAgICAgICAgICB0aGlzLnNob3dEZXRhaWwgPSB0cnVlXG4gICAgICAgICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMudmlkZW9VcmwgPSB0aGlzLnZpZGVvQmFzZVVybCArIHRoaXMuZGV0YWlsLnJlc291cmNlUGF0aFxuICAgICAgICAgICAgICB0aGlzLm1vZHVsZUtleSsrXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgIH0sXG5cbiAgICBnb0JhY2soKXtcbiAgICAgIC8vIHVuaS5uYXZpZ2F0ZUJhY2soe1xuICAgICAgLy8gICBkZWx0YTogMVxuICAgICAgLy8gfSk7XG4gICAgICB1bmkucmVMYXVuY2goe1xuICAgICAgICB1cmw6IHVuaS5nZXRTdG9yYWdlU3luYyhcInByZXZQYWdlXCIpIHx8ICcvcGFnZXMvdGFiQmFyL2ZpcnN0UGFnZS9maXJzdFBhZ2UnXG4gICAgICB9KTtcbiAgICB9LFxuXG4gICAgaGFuZGxlVXBkYXRlVGltZSh0aW1lKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIuW9k+WJjeaSreaUvuaXtumXtDpcIiwgdGltZSk7XG5cbiAgICAgIC8vIOS9oOWPr+S7peWcqOi/memHjOWkhOeQhuS8oOmAkui/h+adpeeahOaSreaUvuaXtumXtFxuICAgIH0sXG5cbiAgICBzZWNvbmRzVG9IbXMoc2Vjb25kcykge1xuICAgICAgc2Vjb25kcyA9IE51bWJlcihzZWNvbmRzKTtcbiAgICAgIGNvbnN0IGggPSBNYXRoLmZsb29yKHNlY29uZHMgLyAzNjAwKTtcbiAgICAgIGNvbnN0IG0gPSBNYXRoLmZsb29yKHNlY29uZHMgJSAzNjAwIC8gNjApO1xuICAgICAgY29uc3QgcyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAlIDM2MDAgJSA2MCk7XG5cbiAgICAgIGNvbnN0IGhEaXNwbGF5ID0gaCA+IDAgPyBTdHJpbmcoaCkucGFkU3RhcnQoMiwgJzAnKSA6ICcwMCc7XG4gICAgICBjb25zdCBtRGlzcGxheSA9IG0gPiAwID8gU3RyaW5nKG0pLnBhZFN0YXJ0KDIsICcwJykgOiAnMDAnO1xuICAgICAgY29uc3Qgc0Rpc3BsYXkgPSBzID4gMCA/IFN0cmluZyhzKS5wYWRTdGFydCgyLCAnMCcpIDogJzAwJztcbiAgICAgIHJldHVybiBgJHtoRGlzcGxheX06JHttRGlzcGxheX06JHtzRGlzcGxheX1gO1xuICAgIH0sXG5cblx0XHRjaGFuZ2VTd2lwZXIoKSB7XG5cdFx0XHR0aGlzLmlzVmlkZW9QbGF5ID0gZmFsc2U7XG5cdFx0fSxcblx0XHRmb3JtYXRUaW1lKG51bSkge1xuXHRcdFx0bnVtID0gTWF0aC5mbG9vcihudW0pXG5cdFx0XHRsZXQgc2Vjb25kID0gbnVtICUgNjA7XG5cdFx0XHRpZiAoc2Vjb25kIDwgMTApIHNlY29uZCA9ICcwJyArIHNlY29uZDtcblx0XHRcdGxldCBtaW4gPSBNYXRoLmZsb29yKG51bSAvIDYwKTtcblx0XHRcdGlmIChtaW4gPCAxMCkgbWluID0gJzAnICsgbWluO1xuXHRcdFx0cmV0dXJuIG1pbiArIFwiOlwiICsgc2Vjb25kO1xuXHRcdH0sXG5cdH1cbn07XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuLm5hdkJhckJveCAubmF2QmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjojZmZmO1xuICBoZWlnaHQ6IDUwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDNweCAxMnB4IHJnYmEoMCwwLDAsMC4wNSk7XG59XG4uYmFyVGV4dHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBmbGV4OiAxO1xuICAvKiBtYXJnaW4tbGVmdDogMjBweDsgKi9cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogODUlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5uYXZCYXJCb3ggLm5hdkJhciAubG9nbyB7XG4gIHdpZHRoOiA4MnJweDtcbiAgaGVpZ2h0OiA4MnJweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHJweDtcbn1cbi52aWRlb1dyYXAge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXG5cdC52aWRlb0JveCB7XG5cdFx0d2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyNjBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuICAudmlkZW4taW5mb3tcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAudmlkZW4taW5mby10e1xuICAgICAgZm9udC1zaXplOiAzMnJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICMwMDdhZmY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC52aWRlbi1pbmZvLWl7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICB9XG4gIH1cbn1cbi5tLXAtMTV7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uY2hhcHRlckxpc3R7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBtYXJnaW46IDIwcHggMDtcbiAgcGFkZGluZzogMTVweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDE1MCwxNTAsMTUwLC4wNSk7XG5cbiAgLmNoYXB0ZXJJdGVte1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuY2hhcHRlck5hbWV7XG4gICAgICBmb250LXNpemU6IDMycnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcnB4O1xuICAgIH1cblxuICAgIC5jb3Vyc2VMaXN0e1xuXG4gICAgICAuY291cnNlSXRlbXtcbiAgICAgICAgaGVpZ2h0OiA0NHJweDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHRyYW5zaXRpb246IC42cztcblxuICAgICAgICAuYy1pLWx7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHZpZXd7XG4gICAgICAgICAgICBmb250LXNpemU6IDI4cnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ0cnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jLWktcntcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgc3BhbntcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNlbGVjdGVke1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTlycHggIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAxMnB4IHJnYmEoNTEsMTMzLDIxNywuMyksIC0ycHggLTJweCA2cHggI2ZmZixpbnNldCAzcHggM3B4IDlweCByZ2JhKDAsMCwwLC4xKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///325\n");
/***/ }),
/* 326 */
@@ -25639,7 +25729,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 15));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 23));\nvar _tabBarIndex = _interopRequireDefault(__webpack_require__(/*! ../tabBarIndex.vue */ 140));\nvar _wearhouse = __webpack_require__(/*! ../../../api/wearhouse.js */ 288);\nvar _constant = _interopRequireDefault(__webpack_require__(/*! ../../../common/constant */ 73));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {\n    tabBar: _tabBarIndex.default\n  },\n  data: function data() {\n    return {\n      page: 'pages/tabBar/wearhouse/wearhouse',\n      statusBarHeight: 0,\n      classParams: {\n        pageNum: 1,\n        pageSize: 10\n      },\n      quizList: [],\n      totalPage: 0\n    };\n  },\n  onLoad: function onLoad() {\n    // this.unitType = uni.getStorageSync('unittype') + 1;\n    //获取手机状态栏高度\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    this.classParams.pageNum = 1;\n    this.getQuizList();\n  },\n  onShow: function onShow() {\n    // this.role = uni.getStorageSync('roleName');\n  },\n  mounted: function mounted() {},\n  methods: {\n    loginOut: function loginOut() {\n      uni.clearStorageSync();\n      uni.clearStorage();\n      uni.navigateTo({\n        url: '/pages/index/index'\n      });\n    },\n    goBack: function goBack() {\n      uni.switchTab({\n        url: '/pages/tabBar/firstPage/firstPage'\n      });\n    },\n    getQuizList: function getQuizList() {\n      var t = this;\n      (0, _wearhouse.getQuizHouse)(t.classParams).then(function (res) {\n        if (res.code == 200) {\n          var list = res.data.list ? res.data.list : [];\n          if (res.pageNum != 1) {\n            t.quizList = t.quizList.concat(list);\n          } else {\n            t.quizList = list;\n          }\n          t.totalPage = res.data.totalPage;\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    getQuestionIds: function getQuestionIds(item, type) {\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n        return _regenerator.default.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (!(item.totalCount == 0)) {\n                  _context.next = 3;\n                  break;\n                }\n                uni.showToast({\n                  title: '该题库暂无题目',\n                  duration: 1000\n                });\n                return _context.abrupt(\"return\");\n              case 3:\n                if (!(type == 2 && item.totalCount == item.exerciseCount)) {\n                  _context.next = 6;\n                  break;\n                }\n                uni.showToast({\n                  title: '该题库所有题目已刷完',\n                  duration: 1000\n                });\n                return _context.abrupt(\"return\");\n              case 6:\n                uni.setStorageSync(\"prevPage\", '/pages/tabBar/wearhouse/wearhouse');\n                uni.navigateTo({\n                  url: \"/pages/tabBar/wearhouse/questions?bank=\" + encodeURIComponent(JSON.stringify(item)) + \"&type=\" + encodeURIComponent(JSON.stringify(type))\n                });\n              case 8:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    reSet: function reSet(id) {\n      var t = this;\n      uni.showModal({\n        title: '提示',\n        content: '是否重置所选题库的刷题记录?',\n        success: function () {\n          var _success = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(res) {\n            var _res;\n            return _regenerator.default.wrap(function _callee2$(_context2) {\n              while (1) {\n                switch (_context2.prev = _context2.next) {\n                  case 0:\n                    if (!res.confirm) {\n                      _context2.next = 7;\n                      break;\n                    }\n                    _context2.next = 3;\n                    return (0, _wearhouse.getCleanRecord)({\n                      bankId: id\n                    });\n                  case 3:\n                    _res = _context2.sent;\n                    if (_res.code == 200) {\n                      uni.showToast({\n                        title: '刷题记录已重置',\n                        duration: 1000\n                      });\n                      // t.classParams.pageNum = 1\n                      // t.getQuizList()\n                      uni.reLaunch({\n                        url: '/pages/tabBar/wearhouse/wearhouse'\n                      });\n                    } else {\n                      uni.showToast({\n                        title: '记录重置失败,请稍后再试',\n                        duration: 1000\n                      });\n                    }\n                    _context2.next = 8;\n                    break;\n                  case 7:\n                    if (res.cancel) {\n                      __f__(\"log\", '用户点击取消', \" at pages/tabBar/wearhouse/wearhouse.vue:151\");\n                    }\n                  case 8:\n                  case \"end\":\n                    return _context2.stop();\n                }\n              }\n            }, _callee2);\n          }));\n          function success(_x) {\n            return _success.apply(this, arguments);\n          }\n          return success;\n        }()\n      });\n    },\n    upper: function upper(e) {\n      // console.log(e)\n    },\n    lower: function lower(e) {\n      //并且让页码+1,调用获取数据的方法获取第二页数据\n      this.classParams.pageNum++;\n      //此处调用自己获取数据列表的方法\n      if (this.classParams.pageNum > this.totalPage) {\n        uni.$u.toast('已加载全部数据');\n        return;\n      }\n      this.getQuizList();\n    },\n    scrollView: function scrollView(e) {\n      // console.log(e)\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 */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL3dlYXJob3VzZS93ZWFyaG91c2UudnVlIl0sIm5hbWVzIjpbImNvbXBvbmVudHMiLCJ0YWJCYXIiLCJkYXRhIiwicGFnZSIsInN0YXR1c0JhckhlaWdodCIsImNsYXNzUGFyYW1zIiwicGFnZU51bSIsInBhZ2VTaXplIiwicXVpekxpc3QiLCJ0b3RhbFBhZ2UiLCJvbkxvYWQiLCJvblNob3ciLCJtb3VudGVkIiwibWV0aG9kcyIsImxvZ2luT3V0IiwidW5pIiwidXJsIiwiZ29CYWNrIiwiZ2V0UXVpekxpc3QiLCJ0IiwiZ2V0UXVlc3Rpb25JZHMiLCJpdGVtIiwidGl0bGUiLCJkdXJhdGlvbiIsInR5cGUiLCJyZVNldCIsImNvbnRlbnQiLCJzdWNjZXNzIiwicmVzIiwiYmFua0lkIiwidXBwZXIiLCJsb3dlciIsInNjcm9sbFZpZXciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQXlDQTtBQUNBO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBQ0E7RUFDQUE7SUFDQUM7RUFDQTtFQUNBQztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQUM7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7RUFBQSxDQUNBO0VBQ0FDLDZCQUVBO0VBQ0FDO0lBQ0FDO01BQ0FDO01BQ0FBO01BQ0FBO1FBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBRjtRQUNBQztNQUNBO0lBQ0E7SUFDQUU7TUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0FDO1VBQ0E7WUFDQUE7VUFDQTtVQUNBQTtRQUNBO1VBQ0FKO1FBQ0E7TUFDQTtJQUNBO0lBRUFLO01BQUE7UUFBQTtVQUFBO1lBQUE7Y0FBQTtnQkFBQSxNQUNBQztrQkFBQTtrQkFBQTtnQkFBQTtnQkFDQU47a0JBQ0FPO2tCQUNBQztnQkFDQTtnQkFBQTtjQUFBO2dCQUFBLE1BR0FDO2tCQUFBO2tCQUFBO2dCQUFBO2dCQUNBVDtrQkFDQU87a0JBQ0FDO2dCQUNBO2dCQUFBO2NBQUE7Z0JBR0FSO2dCQUNBQTtrQkFDQUM7Z0JBQ0E7Y0FBQTtjQUFBO2dCQUFBO1lBQUE7VUFBQTtRQUFBO01BQUE7SUFDQTtJQUVBUztNQUNBO01BQ0FWO1FBQ0FPO1FBQ0FJO1FBQ0FDO1VBQUE7WUFBQTtZQUFBO2NBQUE7Z0JBQUE7a0JBQUE7b0JBQUEsS0FDQUM7c0JBQUE7c0JBQUE7b0JBQUE7b0JBQUE7b0JBQUEsT0FDQTtzQkFBQUM7b0JBQUE7a0JBQUE7b0JBQUFEO29CQUNBO3NCQUNBYjt3QkFDQU87d0JBQ0FDO3NCQUNBO3NCQUNBO3NCQUNBO3NCQUNBUjt3QkFDQUM7c0JBQ0E7b0JBQ0E7c0JBQ0FEO3dCQUNBTzt3QkFDQUM7c0JBQ0E7b0JBQ0E7b0JBQUE7b0JBQUE7a0JBQUE7b0JBQ0E7c0JBQ0E7b0JBQ0E7a0JBQUE7a0JBQUE7b0JBQUE7Z0JBQUE7Y0FBQTtZQUFBO1VBQUEsQ0FDQTtVQUFBO1lBQUE7VUFBQTtVQUFBO1FBQUE7TUFDQTtJQUNBO0lBQ0FPO01BQ0E7SUFBQSxDQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO01BQ0E7UUFDQWhCO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQWlCO01BQ0E7SUFBQTtFQUVBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIzMzcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJib3hcIj5cclxuXHRcdDwhLS0g6Ieq5a6a5LmJ5a+86Iiq5qCPIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJuYXZCYXJCb3ggZml4XCI+XHJcblx0XHRcdDwhLS0g54q25oCB5qCP5Y2g5L2NIC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInN0YXR1c0JhclwiIDpzdHlsZT1cInsgcGFkZGluZ1RvcDogc3RhdHVzQmFySGVpZ2h0ICsgJ3B4JyB9XCI+PC92aWV3PlxyXG5cdFx0XHQ8IS0tIOecn+ato+eahOWvvOiIquagj+WGheWuuSAtLT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJuYXZCYXJcIj5cclxuPCEtLVx0XHRcdFx0PHUtaWNvbiBzdHlsZT1cIiBtYXJnaW4tbGVmdDogMTNweDtcIiBuYW1lPVwiYXJyb3ctbGVmdFwiIGNvbG9yPVwiYmxhY2tcIiBzaXplPVwiMTdcIiBAY2xpY2s9XCJnb0JhY2tcIi8+LS0+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiYXJUZXh0XCI+5Yi36aKYPC92aWV3PlxyXG48IS0tXHRcdFx0XHQ8dmlldyA+LS0+XHJcbjwhLS1cdFx0XHRcdFx0PHUtYnV0dG9uIHR5cGU9XCJ0ZXh0XCIgQGNsaWNrPVwibG9naW5PdXRcIiBzdHlsZT1cImNvbG9yOiAjMTg5MGZmO21hcmdpbi1yaWdodDogNXB4O3dpZHRoOiA2NXB4O1wiPumAgOWHujwvdS1idXR0b24+LS0+XHJcbjwhLS1cdFx0XHRcdDwvdmlldz4tLT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PCEtLSDpobXpnaLlhoXlrrkgLS0+XHJcbiAgICA8dmlldyBjbGFzcz1cIm0tcC0xNVwiPlxyXG4gICAgICA8dmlldyBjbGFzcz1cImNhcmRMaXN0XCI+XHJcbiAgICAgICAgPHNjcm9sbC12aWV3IHNjcm9sbC15PVwidHJ1ZVwiIGNsYXNzPVwic2Nyb2xsLVlcIiBAc2Nyb2xsdG91cHBlcj1cInVwcGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgQHNjcm9sbHRvbG93ZXI9XCJsb3dlclwiIGxvd2VyLXRocmVzaG9sZD1cIjE1MFwiIEBzY3JvbGw9XCJzY3JvbGxWaWV3XCIgc3R5bGU9XCJoZWlnaHQ6MTAwJVwiPlxyXG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLWlcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBxdWl6TGlzdFwiIDprZXk9XCJpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiY2FyZC1pLWxcIj5cclxuICAgICAgICAgICAgICA8dmlldz57e2l0ZW0ubmFtZX19PC92aWV3PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJkaXNwbGF5OmJsb2NrO2NvbG9yOiAjOTk5O2ZvbnQtc2l6ZTogMTJweDttYXJnaW4tYm90dG9tOiAyMHB4O1wiPuW3suWIt3t7aXRlbS5leGVyY2lzZUNvdW50fX0ve3tpdGVtLnRvdGFsQ291bnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOiBjZW50ZXI7Y29sb3I6ICM5OTk7Zm9udC1zaXplOiAxMnB4O1wiPjx1LWljb24gbmFtZT1cImNsb2NrXCIgY29sb3I9XCIjOTk5XCIgc2l6ZT1cIjE4XCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwO21hcmdpbi1yaWdodDogMnB4XCI+PC91LWljb24+e3tpdGVtLmNyZWF0ZVRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLWktclwiPlxyXG5cdFx0XHQgICAgICAgICAgPHUtYnV0dG9uIHYtaWY9XCJpdGVtLmV4ZXJjaXNlQ291bnQgPT0gMFwiIGNsYXNzPVwic3R1ZHktYnV0dG9uXCIgdHlwZT1cInN1Y2Nlc3NcIiB0ZXh0PVwi5byA5aeL5Yi36aKYXCIgc2hhcGU9XCJjaXJjbGVcIiBzaXplPVwic21hbGxcIiBAY2xpY2s9XCJnZXRRdWVzdGlvbklkcyhpdGVtLDEpXCI+PC91LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDx1LWJ1dHRvbiB2LWlmPVwiaXRlbS5leGVyY2lzZUNvdW50ID4gMFwiIGNsYXNzPVwic3R1ZHktYnV0dG9uXCIgdHlwZT1cInN1Y2Nlc3NcIiB0ZXh0PVwi57un57ut5Yi36aKYXCIgc2hhcGU9XCJjaXJjbGVcIiBzaXplPVwic21hbGxcIiBAY2xpY2s9XCJnZXRRdWVzdGlvbklkcyhpdGVtLDIpXCI+PC91LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDx1LWJ1dHRvbiBjbGFzcz1cInN0dWR5LWJ1dHRvblwiIHR5cGU9XCJlcnJvclwiIHRleHQ9XCLmn6XnnIvplJnpophcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIEBjbGljaz1cImdldFF1ZXN0aW9uSWRzKGl0ZW0sMylcIj48L3UtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPHUtYnV0dG9uIGNsYXNzPVwic3R1ZHktYnV0dG9uXCIgdGV4dD1cIumHjee9rlwiIHNoYXBlPVwiY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgQGNsaWNrPVwicmVTZXQoaXRlbS5pZClcIj48L3UtYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICA8L3Njcm9sbC12aWV3PlxyXG4gICAgICA8L3ZpZXc+XHJcbiAgICA8L3ZpZXc+XHJcblx0XHQ8dGFiQmFyIDpjdXJyZW50UGFnZVBhdGg9XCJwYWdlXCI+PC90YWJCYXI+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgdGFiQmFyIGZyb20gJy4uL3RhYkJhckluZGV4LnZ1ZSdcclxuICBpbXBvcnQge2dldFF1aXpIb3VzZSxnZXRDbGVhblJlY29yZH0gZnJvbSAnLi4vLi4vLi4vYXBpL3dlYXJob3VzZS5qcydcclxuXHRpbXBvcnQgdGViQmFyIGZyb20gJy4uL3RhYkJhckluZGV4LnZ1ZSdcclxuICBpbXBvcnQgVlVFX0FQUF9CQVNFX1VSTCBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50XCI7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0Y29tcG9uZW50czp7XHJcblx0XHRcdHRhYkJhclxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0cGFnZTogJ3BhZ2VzL3RhYkJhci93ZWFyaG91c2Uvd2VhcmhvdXNlJyxcclxuXHRcdFx0XHRzdGF0dXNCYXJIZWlnaHQ6IDAsXHJcbiAgICAgICAgY2xhc3NQYXJhbXM6IHtcclxuICAgICAgICAgIHBhZ2VOdW06IDEsXHJcbiAgICAgICAgICBwYWdlU2l6ZTogMTAsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBxdWl6TGlzdDogW10sXHJcbiAgICAgICAgdG90YWxQYWdlOiAwLFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cdFx0XHQvLyB0aGlzLnVuaXRUeXBlID0gdW5pLmdldFN0b3JhZ2VTeW5jKCd1bml0dHlwZScpICsgMTtcclxuXHRcdFx0Ly/ojrflj5bmiYvmnLrnirbmgIHmoI/pq5jluqZcclxuXHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQgPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVsnc3RhdHVzQmFySGVpZ2h0J107XHJcbiAgICAgIHRoaXMuY2xhc3NQYXJhbXMucGFnZU51bSA9IDFcclxuICAgICAgdGhpcy5nZXRRdWl6TGlzdCgpXHJcblx0XHR9LFxyXG5cdFx0b25TaG93KCkge1xyXG5cdFx0XHQvLyB0aGlzLnJvbGUgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3JvbGVOYW1lJyk7XHJcblx0XHR9LFxyXG4gICAgbW91bnRlZCgpe1xyXG5cclxuICAgIH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGxvZ2luT3V0KCkge1xyXG5cdFx0XHRcdHVuaS5jbGVhclN0b3JhZ2VTeW5jKCk7XHJcblx0XHRcdFx0dW5pLmNsZWFyU3RvcmFnZSgpO1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogJy9wYWdlcy9pbmRleC9pbmRleCdcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnb0JhY2soKSB7XHJcblx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XHJcblx0XHRcdFx0ICAgIHVybDonL3BhZ2VzL3RhYkJhci9maXJzdFBhZ2UvZmlyc3RQYWdlJ1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG4gICAgICBnZXRRdWl6TGlzdCgpe1xyXG4gICAgICAgIGNvbnN0IHQgPSB0aGlzXHJcbiAgICAgICAgZ2V0UXVpekhvdXNlKHQuY2xhc3NQYXJhbXMpLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgIGlmKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICBsZXQgbGlzdCA9IHJlcy5kYXRhLmxpc3Q/cmVzLmRhdGEubGlzdDogW107XHJcbiAgICAgICAgICAgIGlmIChyZXMucGFnZU51bSAhPSAxKSB7XHJcbiAgICAgICAgICAgICAgdC5xdWl6TGlzdCA9IHQucXVpekxpc3QuY29uY2F0KGxpc3QpXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdC5xdWl6TGlzdCA9IGxpc3RcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0LnRvdGFsUGFnZSA9IHJlcy5kYXRhLnRvdGFsUGFnZVxyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9LFxyXG5cclxuICAgICAgYXN5bmMgZ2V0UXVlc3Rpb25JZHMoaXRlbSx0eXBlKXtcclxuICAgICAgICBpZihpdGVtLnRvdGFsQ291bnQgPT0gMCl7XHJcbiAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgdGl0bGU6ICfor6XpopjlupPmmoLml6Dpopjnm64nLFxyXG4gICAgICAgICAgICBkdXJhdGlvbjogMTAwMFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm5cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYodHlwZSA9PSAyICYmIGl0ZW0udG90YWxDb3VudCA9PSBpdGVtLmV4ZXJjaXNlQ291bnQpe1xyXG4gICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgIHRpdGxlOiAn6K+l6aKY5bqT5omA5pyJ6aKY55uu5bey5Yi35a6MJyxcclxuICAgICAgICAgICAgZHVyYXRpb246IDEwMDBcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVuaS5zZXRTdG9yYWdlU3luYyhcInByZXZQYWdlXCIsICcvcGFnZXMvdGFiQmFyL3dlYXJob3VzZS93ZWFyaG91c2UnKTtcclxuICAgICAgICB1bmkubmF2aWdhdGVUbyh7XHJcbiAgICAgICAgICB1cmw6IGAvcGFnZXMvdGFiQmFyL3dlYXJob3VzZS9xdWVzdGlvbnM/YmFuaz1gICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGl0ZW0pKSArIGAmdHlwZT1gICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHR5cGUpKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICByZVNldChpZCl7XHJcbiAgICAgICAgY29uc3QgdCA9IHRoaXNcclxuICAgICAgICB1bmkuc2hvd01vZGFsKHtcclxuICAgICAgICAgIHRpdGxlOiAn5o+Q56S6JyxcclxuICAgICAgICAgIGNvbnRlbnQ6ICfmmK/lkKbph43nva7miYDpgInpopjlupPnmoTliLfpopjorrDlvZXvvJ8nLFxyXG4gICAgICAgICAgc3VjY2VzczogYXN5bmMgZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgICAgICBpZiAocmVzLmNvbmZpcm0pIHtcclxuICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBnZXRDbGVhblJlY29yZCh7YmFua0lkOiBpZH0pXHJcbiAgICAgICAgICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcclxuICAgICAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG4gICAgICAgICAgICAgICAgICB0aXRsZTogJ+WIt+mimOiusOW9leW3sumHjee9ricsXHJcbiAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIC8vIHQuY2xhc3NQYXJhbXMucGFnZU51bSA9IDFcclxuICAgICAgICAgICAgICAgIC8vIHQuZ2V0UXVpekxpc3QoKVxyXG4gICAgICAgICAgICAgICAgdW5pLnJlTGF1bmNoKHtcclxuICAgICAgICAgICAgICAgICAgdXJsOiAnL3BhZ2VzL3RhYkJhci93ZWFyaG91c2Uvd2VhcmhvdXNlJ1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG4gICAgICAgICAgICAgICAgICB0aXRsZTogJ+iusOW9lemHjee9ruWksei0pe+8jOivt+eojeWQjuWGjeivlScsXHJcbiAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzLmNhbmNlbCkge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCfnlKjmiLfngrnlh7vlj5bmtognKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0sXHJcbiAgICAgIHVwcGVyKGUpIHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhlKVxyXG4gICAgICB9LFxyXG4gICAgICBsb3dlcihlKSB7XHJcbiAgICAgICAgLy/lubbkuJTorqnpobXnoIErMSzosIPnlKjojrflj5bmlbDmja7nmoTmlrnms5Xojrflj5bnrKzkuozpobXmlbDmja5cclxuICAgICAgICB0aGlzLmNsYXNzUGFyYW1zLnBhZ2VOdW0rK1xyXG4gICAgICAgIC8v5q2k5aSE6LCD55So6Ieq5bex6I635Y+W5pWw5o2u5YiX6KGo55qE5pa55rOVXHJcbiAgICAgICAgaWYgKHRoaXMuY2xhc3NQYXJhbXMucGFnZU51bSA+IHRoaXMudG90YWxQYWdlKXtcclxuICAgICAgICAgIHVuaS4kdS50b2FzdCgn5bey5Yqg6L295YWo6YOo5pWw5o2uJylcclxuICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmdldFF1aXpMaXN0KClcclxuICAgICAgfSxcclxuICAgICAgc2Nyb2xsVmlldyhlKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coZSlcclxuICAgICAgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG4ubmF2QmFyQm94IC5uYXZCYXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsMCwwLDAuMDUpO1xyXG5cclxufVxyXG4uZml4e1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG4uYmFyVGV4dHtcclxuICAvKiB0ZXh0LWFsaWduOiBjZW50ZXI7ICovXHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZmxleDogMjtcclxuICBtYXJnaW4tbGVmdDogNDUlO1xyXG59XHJcbi5zdGF0dXNCYXJ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjpsaWdodGdyZXk7XHJcbn1cclxuXHJcbi5tLXAtMTV7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmNhcmRMaXN0e1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDE2MHB4KTtcclxuICBtYXJnaW46IDIwcHggMDtcclxuXHJcbiAgLmNhcmQtaXtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm94LXNoYWRvdzogNHB4IDRweCAxMnB4IHJnYmEoMTUwLDE1MCwxNTAsLjA1KTtcclxuXHJcbiAgICAmOmxhc3Qtb2YtdHlwZXtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIFxyXG4gIC5jYXJkLWktbHtcclxuICAgIHdpZHRoOiA3NSU7XHJcbiAgICAmPnZpZXd7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBmb250LXNpemU6IDMycnB4O1xyXG4gICAgICBmb250LWZhbWlseTogXCJQaW5nRmFuZyBTQ1wiO1xyXG4gICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHJweDtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jYXJkLWktcntcclxuXHR3aWR0aDogMjUlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0LnN0dWR5LWJ1dHRvbntcclxuXHQgIHdpZHRoOiAxMDAlO1xyXG5cdCAgbWFyZ2luLWJvdHRvbTogMTBycHg7XHJcblx0ICBcclxuXHQgICY6bGFzdC1vZi10eXBle1xyXG5cdFx0ICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cdCAgfVxyXG5cdH1cclxuICB9XHJcbiAgfVxyXG59XHJcblxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///337\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 15));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 23));\nvar _tabBarIndex = _interopRequireDefault(__webpack_require__(/*! ../tabBarIndex.vue */ 140));\nvar _wearhouse = __webpack_require__(/*! ../../../api/wearhouse.js */ 265);\nvar _constant = _interopRequireDefault(__webpack_require__(/*! ../../../common/constant */ 73));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {\n    tabBar: _tabBarIndex.default\n  },\n  data: function data() {\n    return {\n      page: 'pages/tabBar/wearhouse/wearhouse',\n      statusBarHeight: 0,\n      classParams: {\n        pageNum: 1,\n        pageSize: 10\n      },\n      quizList: [],\n      totalPage: 0\n    };\n  },\n  onLoad: function onLoad() {\n    // this.unitType = uni.getStorageSync('unittype') + 1;\n    //获取手机状态栏高度\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    this.classParams.pageNum = 1;\n    this.getQuizList();\n  },\n  onShow: function onShow() {\n    // this.role = uni.getStorageSync('roleName');\n  },\n  mounted: function mounted() {},\n  methods: {\n    loginOut: function loginOut() {\n      uni.clearStorageSync();\n      uni.clearStorage();\n      uni.navigateTo({\n        url: '/pages/index/index'\n      });\n    },\n    goBack: function goBack() {\n      uni.switchTab({\n        url: '/pages/tabBar/firstPage/firstPage'\n      });\n    },\n    getQuizList: function getQuizList() {\n      var t = this;\n      (0, _wearhouse.getQuizHouse)(t.classParams).then(function (res) {\n        if (res.code == 200) {\n          var list = res.data.list ? res.data.list : [];\n          if (res.pageNum != 1) {\n            t.quizList = t.quizList.concat(list);\n          } else {\n            t.quizList = list;\n          }\n          t.totalPage = res.data.totalPage;\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    getQuestionIds: function getQuestionIds(item, type) {\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n        return _regenerator.default.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (!(item.totalCount == 0)) {\n                  _context.next = 3;\n                  break;\n                }\n                uni.showToast({\n                  title: '该题库暂无题目',\n                  duration: 1000\n                });\n                return _context.abrupt(\"return\");\n              case 3:\n                if (!(type == 2 && item.totalCount == item.exerciseCount)) {\n                  _context.next = 6;\n                  break;\n                }\n                uni.showToast({\n                  title: '该题库所有题目已刷完',\n                  duration: 1000\n                });\n                return _context.abrupt(\"return\");\n              case 6:\n                uni.setStorageSync(\"prevPage\", '/pages/tabBar/wearhouse/wearhouse');\n                uni.navigateTo({\n                  url: \"/pages/tabBar/wearhouse/questions?bank=\" + encodeURIComponent(JSON.stringify(item)) + \"&type=\" + encodeURIComponent(JSON.stringify(type))\n                });\n              case 8:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    reSet: function reSet(id) {\n      var t = this;\n      uni.showModal({\n        title: '提示',\n        content: '是否重置所选题库的刷题记录?',\n        success: function () {\n          var _success = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(res) {\n            var _res;\n            return _regenerator.default.wrap(function _callee2$(_context2) {\n              while (1) {\n                switch (_context2.prev = _context2.next) {\n                  case 0:\n                    if (!res.confirm) {\n                      _context2.next = 7;\n                      break;\n                    }\n                    _context2.next = 3;\n                    return (0, _wearhouse.getCleanRecord)({\n                      bankId: id\n                    });\n                  case 3:\n                    _res = _context2.sent;\n                    if (_res.code == 200) {\n                      uni.showToast({\n                        title: '刷题记录已重置',\n                        duration: 1000\n                      });\n                      // t.classParams.pageNum = 1\n                      // t.getQuizList()\n                      uni.reLaunch({\n                        url: '/pages/tabBar/wearhouse/wearhouse'\n                      });\n                    } else {\n                      uni.showToast({\n                        title: '记录重置失败,请稍后再试',\n                        duration: 1000\n                      });\n                    }\n                    _context2.next = 8;\n                    break;\n                  case 7:\n                    if (res.cancel) {\n                      __f__(\"log\", '用户点击取消', \" at pages/tabBar/wearhouse/wearhouse.vue:151\");\n                    }\n                  case 8:\n                  case \"end\":\n                    return _context2.stop();\n                }\n              }\n            }, _callee2);\n          }));\n          function success(_x) {\n            return _success.apply(this, arguments);\n          }\n          return success;\n        }()\n      });\n    },\n    upper: function upper(e) {\n      // console.log(e)\n    },\n    lower: function lower(e) {\n      //并且让页码+1,调用获取数据的方法获取第二页数据\n      this.classParams.pageNum++;\n      //此处调用自己获取数据列表的方法\n      if (this.classParams.pageNum > this.totalPage) {\n        uni.$u.toast('已加载全部数据');\n        return;\n      }\n      this.getQuizList();\n    },\n    scrollView: function scrollView(e) {\n      // console.log(e)\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 */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL3dlYXJob3VzZS93ZWFyaG91c2UudnVlIl0sIm5hbWVzIjpbImNvbXBvbmVudHMiLCJ0YWJCYXIiLCJkYXRhIiwicGFnZSIsInN0YXR1c0JhckhlaWdodCIsImNsYXNzUGFyYW1zIiwicGFnZU51bSIsInBhZ2VTaXplIiwicXVpekxpc3QiLCJ0b3RhbFBhZ2UiLCJvbkxvYWQiLCJvblNob3ciLCJtb3VudGVkIiwibWV0aG9kcyIsImxvZ2luT3V0IiwidW5pIiwidXJsIiwiZ29CYWNrIiwiZ2V0UXVpekxpc3QiLCJ0IiwiZ2V0UXVlc3Rpb25JZHMiLCJpdGVtIiwidGl0bGUiLCJkdXJhdGlvbiIsInR5cGUiLCJyZVNldCIsImNvbnRlbnQiLCJzdWNjZXNzIiwicmVzIiwiYmFua0lkIiwidXBwZXIiLCJsb3dlciIsInNjcm9sbFZpZXciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQXlDQTtBQUNBO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBQ0E7RUFDQUE7SUFDQUM7RUFDQTtFQUNBQztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQUM7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7RUFBQSxDQUNBO0VBQ0FDLDZCQUVBO0VBQ0FDO0lBQ0FDO01BQ0FDO01BQ0FBO01BQ0FBO1FBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBRjtRQUNBQztNQUNBO0lBQ0E7SUFDQUU7TUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0FDO1VBQ0E7WUFDQUE7VUFDQTtVQUNBQTtRQUNBO1VBQ0FKO1FBQ0E7TUFDQTtJQUNBO0lBRUFLO01BQUE7UUFBQTtVQUFBO1lBQUE7Y0FBQTtnQkFBQSxNQUNBQztrQkFBQTtrQkFBQTtnQkFBQTtnQkFDQU47a0JBQ0FPO2tCQUNBQztnQkFDQTtnQkFBQTtjQUFBO2dCQUFBLE1BR0FDO2tCQUFBO2tCQUFBO2dCQUFBO2dCQUNBVDtrQkFDQU87a0JBQ0FDO2dCQUNBO2dCQUFBO2NBQUE7Z0JBR0FSO2dCQUNBQTtrQkFDQUM7Z0JBQ0E7Y0FBQTtjQUFBO2dCQUFBO1lBQUE7VUFBQTtRQUFBO01BQUE7SUFDQTtJQUVBUztNQUNBO01BQ0FWO1FBQ0FPO1FBQ0FJO1FBQ0FDO1VBQUE7WUFBQTtZQUFBO2NBQUE7Z0JBQUE7a0JBQUE7b0JBQUEsS0FDQUM7c0JBQUE7c0JBQUE7b0JBQUE7b0JBQUE7b0JBQUEsT0FDQTtzQkFBQUM7b0JBQUE7a0JBQUE7b0JBQUFEO29CQUNBO3NCQUNBYjt3QkFDQU87d0JBQ0FDO3NCQUNBO3NCQUNBO3NCQUNBO3NCQUNBUjt3QkFDQUM7c0JBQ0E7b0JBQ0E7c0JBQ0FEO3dCQUNBTzt3QkFDQUM7c0JBQ0E7b0JBQ0E7b0JBQUE7b0JBQUE7a0JBQUE7b0JBQ0E7c0JBQ0E7b0JBQ0E7a0JBQUE7a0JBQUE7b0JBQUE7Z0JBQUE7Y0FBQTtZQUFBO1VBQUEsQ0FDQTtVQUFBO1lBQUE7VUFBQTtVQUFBO1FBQUE7TUFDQTtJQUNBO0lBQ0FPO01BQ0E7SUFBQSxDQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO01BQ0E7UUFDQWhCO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQWlCO01BQ0E7SUFBQTtFQUVBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIzMzcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJib3hcIj5cclxuXHRcdDwhLS0g6Ieq5a6a5LmJ5a+86Iiq5qCPIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJuYXZCYXJCb3ggZml4XCI+XHJcblx0XHRcdDwhLS0g54q25oCB5qCP5Y2g5L2NIC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInN0YXR1c0JhclwiIDpzdHlsZT1cInsgcGFkZGluZ1RvcDogc3RhdHVzQmFySGVpZ2h0ICsgJ3B4JyB9XCI+PC92aWV3PlxyXG5cdFx0XHQ8IS0tIOecn+ato+eahOWvvOiIquagj+WGheWuuSAtLT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJuYXZCYXJcIj5cclxuPCEtLVx0XHRcdFx0PHUtaWNvbiBzdHlsZT1cIiBtYXJnaW4tbGVmdDogMTNweDtcIiBuYW1lPVwiYXJyb3ctbGVmdFwiIGNvbG9yPVwiYmxhY2tcIiBzaXplPVwiMTdcIiBAY2xpY2s9XCJnb0JhY2tcIi8+LS0+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiYXJUZXh0XCI+5Yi36aKYPC92aWV3PlxyXG48IS0tXHRcdFx0XHQ8dmlldyA+LS0+XHJcbjwhLS1cdFx0XHRcdFx0PHUtYnV0dG9uIHR5cGU9XCJ0ZXh0XCIgQGNsaWNrPVwibG9naW5PdXRcIiBzdHlsZT1cImNvbG9yOiAjMTg5MGZmO21hcmdpbi1yaWdodDogNXB4O3dpZHRoOiA2NXB4O1wiPumAgOWHujwvdS1idXR0b24+LS0+XHJcbjwhLS1cdFx0XHRcdDwvdmlldz4tLT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PCEtLSDpobXpnaLlhoXlrrkgLS0+XHJcbiAgICA8dmlldyBjbGFzcz1cIm0tcC0xNVwiPlxyXG4gICAgICA8dmlldyBjbGFzcz1cImNhcmRMaXN0XCI+XHJcbiAgICAgICAgPHNjcm9sbC12aWV3IHNjcm9sbC15PVwidHJ1ZVwiIGNsYXNzPVwic2Nyb2xsLVlcIiBAc2Nyb2xsdG91cHBlcj1cInVwcGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgQHNjcm9sbHRvbG93ZXI9XCJsb3dlclwiIGxvd2VyLXRocmVzaG9sZD1cIjE1MFwiIEBzY3JvbGw9XCJzY3JvbGxWaWV3XCIgc3R5bGU9XCJoZWlnaHQ6MTAwJVwiPlxyXG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLWlcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBxdWl6TGlzdFwiIDprZXk9XCJpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiY2FyZC1pLWxcIj5cclxuICAgICAgICAgICAgICA8dmlldz57e2l0ZW0ubmFtZX19PC92aWV3PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJkaXNwbGF5OmJsb2NrO2NvbG9yOiAjOTk5O2ZvbnQtc2l6ZTogMTJweDttYXJnaW4tYm90dG9tOiAyMHB4O1wiPuW3suWIt3t7aXRlbS5leGVyY2lzZUNvdW50fX0ve3tpdGVtLnRvdGFsQ291bnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOiBjZW50ZXI7Y29sb3I6ICM5OTk7Zm9udC1zaXplOiAxMnB4O1wiPjx1LWljb24gbmFtZT1cImNsb2NrXCIgY29sb3I9XCIjOTk5XCIgc2l6ZT1cIjE4XCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwO21hcmdpbi1yaWdodDogMnB4XCI+PC91LWljb24+e3tpdGVtLmNyZWF0ZVRpbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJjYXJkLWktclwiPlxyXG5cdFx0XHQgICAgICAgICAgPHUtYnV0dG9uIHYtaWY9XCJpdGVtLmV4ZXJjaXNlQ291bnQgPT0gMFwiIGNsYXNzPVwic3R1ZHktYnV0dG9uXCIgdHlwZT1cInN1Y2Nlc3NcIiB0ZXh0PVwi5byA5aeL5Yi36aKYXCIgc2hhcGU9XCJjaXJjbGVcIiBzaXplPVwic21hbGxcIiBAY2xpY2s9XCJnZXRRdWVzdGlvbklkcyhpdGVtLDEpXCI+PC91LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDx1LWJ1dHRvbiB2LWlmPVwiaXRlbS5leGVyY2lzZUNvdW50ID4gMFwiIGNsYXNzPVwic3R1ZHktYnV0dG9uXCIgdHlwZT1cInN1Y2Nlc3NcIiB0ZXh0PVwi57un57ut5Yi36aKYXCIgc2hhcGU9XCJjaXJjbGVcIiBzaXplPVwic21hbGxcIiBAY2xpY2s9XCJnZXRRdWVzdGlvbklkcyhpdGVtLDIpXCI+PC91LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDx1LWJ1dHRvbiBjbGFzcz1cInN0dWR5LWJ1dHRvblwiIHR5cGU9XCJlcnJvclwiIHRleHQ9XCLmn6XnnIvplJnpophcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIEBjbGljaz1cImdldFF1ZXN0aW9uSWRzKGl0ZW0sMylcIj48L3UtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPHUtYnV0dG9uIGNsYXNzPVwic3R1ZHktYnV0dG9uXCIgdGV4dD1cIumHjee9rlwiIHNoYXBlPVwiY2lyY2xlXCIgc2l6ZT1cInNtYWxsXCIgQGNsaWNrPVwicmVTZXQoaXRlbS5pZClcIj48L3UtYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICA8L3Njcm9sbC12aWV3PlxyXG4gICAgICA8L3ZpZXc+XHJcbiAgICA8L3ZpZXc+XHJcblx0XHQ8dGFiQmFyIDpjdXJyZW50UGFnZVBhdGg9XCJwYWdlXCI+PC90YWJCYXI+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgdGFiQmFyIGZyb20gJy4uL3RhYkJhckluZGV4LnZ1ZSdcclxuICBpbXBvcnQge2dldFF1aXpIb3VzZSxnZXRDbGVhblJlY29yZH0gZnJvbSAnLi4vLi4vLi4vYXBpL3dlYXJob3VzZS5qcydcclxuXHRpbXBvcnQgdGViQmFyIGZyb20gJy4uL3RhYkJhckluZGV4LnZ1ZSdcclxuICBpbXBvcnQgVlVFX0FQUF9CQVNFX1VSTCBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2NvbnN0YW50XCI7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0Y29tcG9uZW50czp7XHJcblx0XHRcdHRhYkJhclxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0cGFnZTogJ3BhZ2VzL3RhYkJhci93ZWFyaG91c2Uvd2VhcmhvdXNlJyxcclxuXHRcdFx0XHRzdGF0dXNCYXJIZWlnaHQ6IDAsXHJcbiAgICAgICAgY2xhc3NQYXJhbXM6IHtcclxuICAgICAgICAgIHBhZ2VOdW06IDEsXHJcbiAgICAgICAgICBwYWdlU2l6ZTogMTAsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBxdWl6TGlzdDogW10sXHJcbiAgICAgICAgdG90YWxQYWdlOiAwLFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cdFx0XHQvLyB0aGlzLnVuaXRUeXBlID0gdW5pLmdldFN0b3JhZ2VTeW5jKCd1bml0dHlwZScpICsgMTtcclxuXHRcdFx0Ly/ojrflj5bmiYvmnLrnirbmgIHmoI/pq5jluqZcclxuXHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQgPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVsnc3RhdHVzQmFySGVpZ2h0J107XHJcbiAgICAgIHRoaXMuY2xhc3NQYXJhbXMucGFnZU51bSA9IDFcclxuICAgICAgdGhpcy5nZXRRdWl6TGlzdCgpXHJcblx0XHR9LFxyXG5cdFx0b25TaG93KCkge1xyXG5cdFx0XHQvLyB0aGlzLnJvbGUgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3JvbGVOYW1lJyk7XHJcblx0XHR9LFxyXG4gICAgbW91bnRlZCgpe1xyXG5cclxuICAgIH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGxvZ2luT3V0KCkge1xyXG5cdFx0XHRcdHVuaS5jbGVhclN0b3JhZ2VTeW5jKCk7XHJcblx0XHRcdFx0dW5pLmNsZWFyU3RvcmFnZSgpO1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogJy9wYWdlcy9pbmRleC9pbmRleCdcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnb0JhY2soKSB7XHJcblx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XHJcblx0XHRcdFx0ICAgIHVybDonL3BhZ2VzL3RhYkJhci9maXJzdFBhZ2UvZmlyc3RQYWdlJ1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG4gICAgICBnZXRRdWl6TGlzdCgpe1xyXG4gICAgICAgIGNvbnN0IHQgPSB0aGlzXHJcbiAgICAgICAgZ2V0UXVpekhvdXNlKHQuY2xhc3NQYXJhbXMpLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgIGlmKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICBsZXQgbGlzdCA9IHJlcy5kYXRhLmxpc3Q/cmVzLmRhdGEubGlzdDogW107XHJcbiAgICAgICAgICAgIGlmIChyZXMucGFnZU51bSAhPSAxKSB7XHJcbiAgICAgICAgICAgICAgdC5xdWl6TGlzdCA9IHQucXVpekxpc3QuY29uY2F0KGxpc3QpXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdC5xdWl6TGlzdCA9IGxpc3RcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0LnRvdGFsUGFnZSA9IHJlcy5kYXRhLnRvdGFsUGFnZVxyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9LFxyXG5cclxuICAgICAgYXN5bmMgZ2V0UXVlc3Rpb25JZHMoaXRlbSx0eXBlKXtcclxuICAgICAgICBpZihpdGVtLnRvdGFsQ291bnQgPT0gMCl7XHJcbiAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgdGl0bGU6ICfor6XpopjlupPmmoLml6Dpopjnm64nLFxyXG4gICAgICAgICAgICBkdXJhdGlvbjogMTAwMFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm5cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYodHlwZSA9PSAyICYmIGl0ZW0udG90YWxDb3VudCA9PSBpdGVtLmV4ZXJjaXNlQ291bnQpe1xyXG4gICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgIHRpdGxlOiAn6K+l6aKY5bqT5omA5pyJ6aKY55uu5bey5Yi35a6MJyxcclxuICAgICAgICAgICAgZHVyYXRpb246IDEwMDBcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVuaS5zZXRTdG9yYWdlU3luYyhcInByZXZQYWdlXCIsICcvcGFnZXMvdGFiQmFyL3dlYXJob3VzZS93ZWFyaG91c2UnKTtcclxuICAgICAgICB1bmkubmF2aWdhdGVUbyh7XHJcbiAgICAgICAgICB1cmw6IGAvcGFnZXMvdGFiQmFyL3dlYXJob3VzZS9xdWVzdGlvbnM/YmFuaz1gICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGl0ZW0pKSArIGAmdHlwZT1gICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHR5cGUpKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICByZVNldChpZCl7XHJcbiAgICAgICAgY29uc3QgdCA9IHRoaXNcclxuICAgICAgICB1bmkuc2hvd01vZGFsKHtcclxuICAgICAgICAgIHRpdGxlOiAn5o+Q56S6JyxcclxuICAgICAgICAgIGNvbnRlbnQ6ICfmmK/lkKbph43nva7miYDpgInpopjlupPnmoTliLfpopjorrDlvZXvvJ8nLFxyXG4gICAgICAgICAgc3VjY2VzczogYXN5bmMgZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgICAgICBpZiAocmVzLmNvbmZpcm0pIHtcclxuICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBnZXRDbGVhblJlY29yZCh7YmFua0lkOiBpZH0pXHJcbiAgICAgICAgICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcclxuICAgICAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG4gICAgICAgICAgICAgICAgICB0aXRsZTogJ+WIt+mimOiusOW9leW3sumHjee9ricsXHJcbiAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIC8vIHQuY2xhc3NQYXJhbXMucGFnZU51bSA9IDFcclxuICAgICAgICAgICAgICAgIC8vIHQuZ2V0UXVpekxpc3QoKVxyXG4gICAgICAgICAgICAgICAgdW5pLnJlTGF1bmNoKHtcclxuICAgICAgICAgICAgICAgICAgdXJsOiAnL3BhZ2VzL3RhYkJhci93ZWFyaG91c2Uvd2VhcmhvdXNlJ1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG4gICAgICAgICAgICAgICAgICB0aXRsZTogJ+iusOW9lemHjee9ruWksei0pe+8jOivt+eojeWQjuWGjeivlScsXHJcbiAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzLmNhbmNlbCkge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCfnlKjmiLfngrnlh7vlj5bmtognKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0sXHJcbiAgICAgIHVwcGVyKGUpIHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhlKVxyXG4gICAgICB9LFxyXG4gICAgICBsb3dlcihlKSB7XHJcbiAgICAgICAgLy/lubbkuJTorqnpobXnoIErMSzosIPnlKjojrflj5bmlbDmja7nmoTmlrnms5Xojrflj5bnrKzkuozpobXmlbDmja5cclxuICAgICAgICB0aGlzLmNsYXNzUGFyYW1zLnBhZ2VOdW0rK1xyXG4gICAgICAgIC8v5q2k5aSE6LCD55So6Ieq5bex6I635Y+W5pWw5o2u5YiX6KGo55qE5pa55rOVXHJcbiAgICAgICAgaWYgKHRoaXMuY2xhc3NQYXJhbXMucGFnZU51bSA+IHRoaXMudG90YWxQYWdlKXtcclxuICAgICAgICAgIHVuaS4kdS50b2FzdCgn5bey5Yqg6L295YWo6YOo5pWw5o2uJylcclxuICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmdldFF1aXpMaXN0KClcclxuICAgICAgfSxcclxuICAgICAgc2Nyb2xsVmlldyhlKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coZSlcclxuICAgICAgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG4ubmF2QmFyQm94IC5uYXZCYXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsMCwwLDAuMDUpO1xyXG5cclxufVxyXG4uZml4e1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG4uYmFyVGV4dHtcclxuICAvKiB0ZXh0LWFsaWduOiBjZW50ZXI7ICovXHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZmxleDogMjtcclxuICBtYXJnaW4tbGVmdDogNDUlO1xyXG59XHJcbi5zdGF0dXNCYXJ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjpsaWdodGdyZXk7XHJcbn1cclxuXHJcbi5tLXAtMTV7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmNhcmRMaXN0e1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDE2MHB4KTtcclxuICBtYXJnaW46IDIwcHggMDtcclxuXHJcbiAgLmNhcmQtaXtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm94LXNoYWRvdzogNHB4IDRweCAxMnB4IHJnYmEoMTUwLDE1MCwxNTAsLjA1KTtcclxuXHJcbiAgICAmOmxhc3Qtb2YtdHlwZXtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIFxyXG4gIC5jYXJkLWktbHtcclxuICAgIHdpZHRoOiA3NSU7XHJcbiAgICAmPnZpZXd7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBmb250LXNpemU6IDMycnB4O1xyXG4gICAgICBmb250LWZhbWlseTogXCJQaW5nRmFuZyBTQ1wiO1xyXG4gICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHJweDtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jYXJkLWktcntcclxuXHR3aWR0aDogMjUlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0LnN0dWR5LWJ1dHRvbntcclxuXHQgIHdpZHRoOiAxMDAlO1xyXG5cdCAgbWFyZ2luLWJvdHRvbTogMTBycHg7XHJcblx0ICBcclxuXHQgICY6bGFzdC1vZi10eXBle1xyXG5cdFx0ICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cdCAgfVxyXG5cdH1cclxuICB9XHJcbiAgfVxyXG59XHJcblxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///337\n");
/***/ }),
/* 338 */
@@ -25692,9 +25782,6 @@
  components = {
    uIcon: __webpack_require__(/*! @/uni_modules/uview-ui/components/u-icon/u-icon.vue */ 33)
      .default,
    uDivider:
      __webpack_require__(/*! @/uni_modules/uview-ui/components/u-divider/u-divider.vue */ 268)
        .default,
    uCheckboxGroup:
      __webpack_require__(/*! @/uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue */ 188)
        .default,
@@ -25709,6 +25796,8 @@
    uButton: __webpack_require__(/*! @/uni_modules/uview-ui/components/u-button/u-button.vue */ 55)
      .default,
    uEmpty: __webpack_require__(/*! @/uni_modules/uview-ui/components/u-empty/u-empty.vue */ 94)
      .default,
    uPopup: __webpack_require__(/*! @/uni_modules/uview-ui/components/u-popup/u-popup.vue */ 106)
      .default,
  }
} catch (e) {
@@ -25732,367 +25821,417 @@
  var _vm = this
  var _h = _vm.$createElement
  var _c = _vm._self._c || _h
  return _c("view", [
    _c(
      "view",
      { staticClass: _vm._$s(1, "sc", "navBarBox"), attrs: { _i: 1 } },
      [
        _c("view", {
          staticClass: _vm._$s(2, "sc", "statusBar"),
          style: _vm._$s(2, "s", { paddingTop: _vm.statusBarHeight + "px" }),
          attrs: { _i: 2 },
        }),
        _c("view", [
          _c(
  return _c(
    "view",
    [
      _c(
        "view",
        { staticClass: _vm._$s(1, "sc", "navBarBox"), attrs: { _i: 1 } },
        [
          _c("view", {
            staticClass: _vm._$s(2, "sc", "statusBar"),
            style: _vm._$s(2, "s", { paddingTop: _vm.statusBarHeight + "px" }),
            attrs: { _i: 2 },
          }),
          _c("view", [
            _c(
              "view",
              { staticClass: _vm._$s(4, "sc", "navBar"), attrs: { _i: 4 } },
              [
                _c("u-icon", {
                  attrs: {
                    name: "arrow-left",
                    color: "black",
                    size: "17",
                    _i: 5,
                  },
                  on: { click: _vm.goBack },
                }),
                _c("view", {
                  staticClass: _vm._$s(6, "sc", "barText"),
                  attrs: { _i: 6 },
                }),
              ],
              1
            ),
          ]),
        ]
      ),
      _vm._$s(7, "i", _vm.idList && _vm.idList.length > 0)
        ? _c(
            "view",
            { staticClass: _vm._$s(4, "sc", "navBar"), attrs: { _i: 4 } },
            { staticClass: _vm._$s(7, "sc", "m-p-15"), attrs: { _i: 7 } },
            [
              _c("u-icon", {
                attrs: {
                  name: "arrow-left",
                  color: "black",
                  size: "17",
                  _i: 5,
              _c(
                "view",
                { staticClass: _vm._$s(8, "sc", "top"), attrs: { _i: 8 } },
                [
                  _c(
                    "view",
                    { staticClass: _vm._$s(9, "sc", "ind"), attrs: { _i: 9 } },
                    [
                      _vm._v(
                        _vm._$s(
                          9,
                          "t0-0",
                          _vm._s("第 " + (_vm.curTotalIndex + 1) + " 题")
                        )
                      ),
                    ]
                  ),
                  _vm._$s(10, "i", _vm.type == 1 || _vm.type == 2)
                    ? _c("view", {
                        staticClass: _vm._$s(10, "sc", "panelBtn"),
                        attrs: { _i: 10 },
                        on: { click: _vm.openPanel },
                      })
                    : _vm._e(),
                ]
              ),
              _c(
                "view",
                {
                  staticClass: _vm._$s(11, "sc", "questions"),
                  attrs: { _i: 11 },
                },
                on: { click: _vm.goBack },
                [
                  _c(
                    "view",
                    {
                      staticClass: _vm._$s(12, "sc", "title"),
                      attrs: { _i: 12 },
                    },
                    [
                      _c("span", [
                        _vm._v(
                          _vm._$s(
                            13,
                            "t0-0",
                            _vm._s(
                              _vm.currentQ.questionType == 1
                                ? "单选题"
                                : _vm.currentQ.questionType == 2
                                ? "多选题"
                                : "判断题"
                            )
                          )
                        ),
                      ]),
                      _vm._v(_vm._$s(12, "t1-0", _vm._s(_vm.currentQ.title))),
                    ]
                  ),
                  _c(
                    "view",
                    {
                      staticClass: _vm._$s(14, "sc", "content"),
                      attrs: { _i: 14 },
                    },
                    [
                      _vm._$s(15, "i", _vm.currentQ.questionType == 2)
                        ? _c(
                            "u-checkbox-group",
                            {
                              staticClass: _vm._$s(15, "sc", "myRadio"),
                              attrs: {
                                placement: "column",
                                iconPlacement: "right",
                                disabled: _vm.type == 3 ? true : false,
                                _i: 15,
                              },
                              on: { change: _vm.checkboxChange },
                              model: {
                                value: _vm._$s(15, "v-model", _vm.currentB),
                                callback: function ($$v) {
                                  _vm.currentB = $$v
                                },
                                expression: "currentB",
                              },
                            },
                            _vm._l(
                              _vm._$s(16, "f", {
                                forItems: _vm.currentQ.content.items,
                              }),
                              function (item, index, $20, $30) {
                                return _c("u-checkbox", {
                                  key: _vm._$s(16, "f", {
                                    forIndex: $20,
                                    key: index,
                                  }),
                                  class: _vm._$s("16-" + $30, "c", {
                                    picked: _vm.currentB.includes(item.prefix),
                                  }),
                                  attrs: {
                                    customStyle: { marginBottom: "15px" },
                                    label: item.prefix + ":" + item.content,
                                    name: item.prefix,
                                    _i: "16-" + $30,
                                  },
                                })
                              }
                            ),
                            1
                          )
                        : _vm._e(),
                      _vm._$s(
                        17,
                        "i",
                        _vm.currentQ.questionType == 1 ||
                          _vm.currentQ.questionType == 3
                      )
                        ? _c(
                            "u-radio-group",
                            {
                              staticClass: _vm._$s(17, "sc", "myRadio"),
                              attrs: {
                                iconPlacement: "right",
                                placement: "column",
                                disabled: _vm.type == 3 ? true : false,
                                _i: 17,
                              },
                              on: { change: _vm.groupChange },
                              model: {
                                value: _vm._$s(17, "v-model", _vm.currentA),
                                callback: function ($$v) {
                                  _vm.currentA = $$v
                                },
                                expression: "currentA",
                              },
                            },
                            _vm._l(
                              _vm._$s(18, "f", {
                                forItems: _vm.currentQ.content.items,
                              }),
                              function (item, index, $21, $31) {
                                return _c("u-radio", {
                                  key: _vm._$s(18, "f", {
                                    forIndex: $21,
                                    key: index,
                                  }),
                                  class: _vm._$s("18-" + $31, "c", {
                                    picked: _vm.currentA == item.prefix,
                                  }),
                                  attrs: {
                                    customStyle: { marginBottom: "15px" },
                                    shape: "square",
                                    label: item.prefix + ":" + item.content,
                                    name: item.prefix,
                                    _i: "18-" + $31,
                                  },
                                  on: { change: _vm.radioChange },
                                })
                              }
                            ),
                            1
                          )
                        : _vm._e(),
                      _vm._$s(
                        19,
                        "i",
                        _vm.currentQ.questionType == 2 &&
                          _vm.currentB.length > 0 &&
                          _vm.type !== 3
                      )
                        ? _c("u-button", {
                            attrs: {
                              type: "primary",
                              shape: "circle",
                              text: "确认答案",
                              _i: 19,
                            },
                            on: { click: _vm.confirmAnswer },
                          })
                        : _vm._e(),
                      _vm._$s(
                        20,
                        "i",
                        _vm.currentA !== "" || _vm.currentB.length > 0
                      )
                        ? _c(
                            "view",
                            {
                              staticClass: _vm._$s(20, "sc", "answers"),
                              attrs: { _i: 20 },
                            },
                            [
                              _c("view", [
                                _vm._$s(22, "i", _vm.currentQ.questionType == 2)
                                  ? _c(
                                      "span",
                                      {
                                        class: _vm._$s(
                                          22,
                                          "c",
                                          _vm.currentQ.answer ==
                                            _vm.currentB.join(",")
                                            ? "right"
                                            : "wrong"
                                        ),
                                        attrs: { _i: 22 },
                                      },
                                      [
                                        _vm._v(
                                          _vm._$s(
                                            22,
                                            "t0-0",
                                            _vm._s(_vm.currentB.join(","))
                                          )
                                        ),
                                      ]
                                    )
                                  : _c(
                                      "span",
                                      {
                                        class: _vm._$s(
                                          23,
                                          "c",
                                          _vm.currentQ.answer == _vm.currentA
                                            ? "right"
                                            : "wrong"
                                        ),
                                        attrs: { _i: 23 },
                                      },
                                      [
                                        _vm._v(
                                          _vm._$s(
                                            23,
                                            "t0-0",
                                            _vm._s(_vm.currentA)
                                          )
                                        ),
                                      ]
                                    ),
                              ]),
                              _c("view", [
                                _c(
                                  "span",
                                  {
                                    staticClass: _vm._$s(25, "sc", "right"),
                                    attrs: { _i: 25 },
                                  },
                                  [
                                    _vm._v(
                                      _vm._$s(
                                        25,
                                        "t0-0",
                                        _vm._s(_vm.currentQ.answer)
                                      )
                                    ),
                                  ]
                                ),
                              ]),
                            ]
                          )
                        : _vm._e(),
                    ],
                    1
                  ),
                ]
              ),
            ]
          )
        : _vm._e(),
      _vm._$s(26, "i", _vm.idList && _vm.idList.length > 0)
        ? _c(
            "view",
            { staticClass: _vm._$s(26, "sc", "btns"), attrs: { _i: 26 } },
            [
              _c("u-button", {
                attrs: {
                  type: "error",
                  shape: "circle",
                  size: "small",
                  text: "上一题",
                  _i: 27,
                },
                on: { click: _vm.prevQ },
              }),
              _c("view", {
                staticClass: _vm._$s(6, "sc", "barText"),
                attrs: { _i: 6 },
              _vm._$s(28, "i", _vm.curTotalIndex < _vm.idList.length - 1)
                ? _c("u-button", {
                    attrs: {
                      type: "error",
                      shape: "circle",
                      size: "small",
                      text: "下一题",
                      _i: 28,
                    },
                    on: { click: _vm.nextQ },
                  })
                : _vm._e(),
              _vm._$s(29, "i", _vm.curTotalIndex == _vm.idList.length - 1)
                ? _c("u-button", {
                    attrs: {
                      type: "primary",
                      shape: "circle",
                      size: "small",
                      text: "退出",
                      _i: 29,
                    },
                    on: { click: _vm.goBack },
                  })
                : _vm._e(),
            ],
            1
          )
        : _c(
            "view",
            [
              _c("u-empty", {
                attrs: {
                  mode: "list",
                  icon: "http://cdn.uviewui.com/uview/empty/list.png",
                  _i: 31,
                },
              }),
            ],
            1
          ),
        ]),
      ]
    ),
    _vm._$s(7, "i", _vm.idList && _vm.idList.length > 0)
      ? _c(
          "view",
          { staticClass: _vm._$s(7, "sc", "m-p-15"), attrs: { _i: 7 } },
          [
            _c("u-divider", {
              attrs: {
                text: "第" + (_vm.currentIndex + 1) + "题",
                textColor: "#2979ff",
                lineColor: "#2979ff",
                textSize: "16",
                _i: 8,
              },
            }),
            _c(
              "view",
              { staticClass: _vm._$s(9, "sc", "questions"), attrs: { _i: 9 } },
              [
                _c(
      _c(
        "u-popup",
        {
          attrs: { show: _vm.showPanel, round: 40, mode: "right", _i: 32 },
          on: { close: _vm.close, open: _vm.open },
        },
        [
          _c(
            "view",
            { staticClass: _vm._$s(33, "sc", "panel"), attrs: { _i: 33 } },
            _vm._l(
              _vm._$s(34, "f", { forItems: _vm.idList }),
              function (item, index, $22, $32) {
                return _c(
                  "view",
                  {
                    staticClass: _vm._$s(10, "sc", "title"),
                    attrs: { _i: 10 },
                    key: _vm._$s(34, "f", {
                      forIndex: $22,
                      key: 34 + "-" + $32,
                    }),
                    class: _vm._$s(
                      "34-" + $32,
                      "c",
                      item.passed == 1
                        ? "right-a"
                        : item.passed == 0
                        ? "wrong-a"
                        : ""
                    ),
                    attrs: { _i: "34-" + $32 },
                    on: {
                      click: function ($event) {
                        return _vm.toQuestion(item, index)
                      },
                    },
                  },
                  [
                    _c("span", [
                      _vm._v(
                        _vm._$s(
                          11,
                          "t0-0",
                          _vm._s(
                            _vm.currentQ.questionType == 1
                              ? "单选题"
                              : _vm.currentQ.questionType == 2
                              ? "多选题"
                              : "判断题"
                          )
                        )
                      ),
                    ]),
                    _vm._v(_vm._$s(10, "t1-0", _vm._s(_vm.currentQ.title))),
                  ]
                ),
                _c(
                  "view",
                  {
                    staticClass: _vm._$s(12, "sc", "content"),
                    attrs: { _i: 12 },
                  },
                  [
                    _vm._$s(13, "i", _vm.currentQ.questionType == 2)
                      ? _c(
                          "u-checkbox-group",
                          {
                            attrs: {
                              placement: "column",
                              disabled: _vm.type == 3 ? true : false,
                              _i: 13,
                            },
                            on: { change: _vm.checkboxChange },
                            model: {
                              value: _vm._$s(
                                13,
                                "v-model",
                                _vm.currentQ.exExerciseAnswer.answer
                              ),
                              callback: function ($$v) {
                                _vm.$set(
                                  _vm.currentQ.exExerciseAnswer,
                                  "answer",
                                  $$v
                                )
                              },
                              expression: "currentQ.exExerciseAnswer.answer",
                            },
                          },
                          _vm._l(
                            _vm._$s(14, "f", {
                              forItems: _vm.currentQ.content.items,
                            }),
                            function (item, index, $20, $30) {
                              return _c("u-checkbox", {
                                key: _vm._$s(14, "f", {
                                  forIndex: $20,
                                  key: index,
                                }),
                                attrs: {
                                  customStyle: { marginBottom: "20px" },
                                  label: item.prefix + ":" + item.content,
                                  name: item.prefix,
                                  _i: "14-" + $30,
                                },
                              })
                            }
                          ),
                          1
                        )
                      : _vm._e(),
                    _vm._$s(
                      15,
                      "i",
                      _vm.currentQ.questionType == 1 ||
                        _vm.currentQ.questionType == 3
                    )
                      ? _c(
                          "u-radio-group",
                          {
                            attrs: {
                              placement: "column",
                              disabled: _vm.type == 3 ? true : false,
                              _i: 15,
                            },
                            on: { change: _vm.groupChange },
                            model: {
                              value: _vm._$s(
                                15,
                                "v-model",
                                _vm.currentQ.exExerciseAnswer.answer
                              ),
                              callback: function ($$v) {
                                _vm.$set(
                                  _vm.currentQ.exExerciseAnswer,
                                  "answer",
                                  $$v
                                )
                              },
                              expression: "currentQ.exExerciseAnswer.answer",
                            },
                          },
                          _vm._l(
                            _vm._$s(16, "f", {
                              forItems: _vm.currentQ.content.items,
                            }),
                            function (item, index, $21, $31) {
                              return _c("u-radio", {
                                key: _vm._$s(16, "f", {
                                  forIndex: $21,
                                  key: index,
                                }),
                                attrs: {
                                  customStyle: { marginBottom: "20px" },
                                  shape: "square",
                                  label: item.prefix + ":" + item.content,
                                  name: item.prefix,
                                  _i: "16-" + $31,
                                },
                                on: { change: _vm.radioChange },
                              })
                            }
                          ),
                          1
                        )
                      : _vm._e(),
                    _vm._$s(
                      17,
                      "i",
                      _vm.currentQ.exExerciseAnswer &&
                        _vm.currentQ.exExerciseAnswer.answer &&
                        _vm.type !== 3
                    )
                      ? _c("u-button", {
                          attrs: {
                            type: "primary",
                            shape: "circle",
                            text: "确认答案",
                            _i: 17,
                          },
                          on: { click: _vm.confirmAnswer },
                        })
                      : _vm._e(),
                    _vm._$s(
                      18,
                      "i",
                      _vm.currentQ.exExerciseAnswer &&
                        (_vm.currentQ.exExerciseAnswer.passed == 0 ||
                          _vm.currentQ.exExerciseAnswer.passed == 1)
                    )
                      ? _c(
                          "view",
                          {
                            staticClass: _vm._$s(18, "sc", "answers"),
                            attrs: { _i: 18 },
                          },
                          [
                            _c("view", [
                              _vm._$s(20, "i", _vm.currentQ.questionType == 2)
                                ? _c(
                                    "span",
                                    {
                                      class: _vm._$s(
                                        20,
                                        "c",
                                        _vm.currentQ.answer ==
                                          _vm.currentQ.exExerciseAnswer.answer.join(
                                            ","
                                          )
                                          ? "right"
                                          : "wrong"
                                      ),
                                      attrs: { _i: 20 },
                                    },
                                    [
                                      _vm._v(
                                        _vm._$s(
                                          20,
                                          "t0-0",
                                          _vm._s(
                                            _vm.currentQ.exExerciseAnswer.answer.join(
                                              ","
                                            )
                                          )
                                        )
                                      ),
                                    ]
                                  )
                                : _c(
                                    "span",
                                    {
                                      class: _vm._$s(
                                        21,
                                        "c",
                                        _vm.currentQ.answer ==
                                          _vm.currentQ.exExerciseAnswer.answer
                                          ? "right"
                                          : "wrong"
                                      ),
                                      attrs: { _i: 21 },
                                    },
                                    [
                                      _vm._v(
                                        _vm._$s(
                                          21,
                                          "t0-0",
                                          _vm._s(
                                            _vm.currentQ.exExerciseAnswer.answer
                                          )
                                        )
                                      ),
                                    ]
                                  ),
                            ]),
                            _c("view", [
                              _c(
                                "span",
                                {
                                  staticClass: _vm._$s(23, "sc", "right"),
                                  attrs: { _i: 23 },
                                },
                                [
                                  _vm._v(
                                    _vm._$s(
                                      23,
                                      "t0-0",
                                      _vm._s(_vm.currentQ.answer)
                                    )
                                  ),
                                ]
                              ),
                            ]),
                          ]
                        )
                      : _vm._e(),
                  ],
                  1
                ),
              ]
                  [_vm._v(_vm._$s("34-" + $32, "t0-0", _vm._s(index + 1)))]
                )
              }
            ),
          ],
          1
        )
      : _vm._e(),
    _vm._$s(24, "i", _vm.idList && _vm.idList.length > 0)
      ? _c(
          "view",
          { staticClass: _vm._$s(24, "sc", "btns"), attrs: { _i: 24 } },
          [
            _c("u-button", {
              attrs: {
                type: "error",
                shape: "circle",
                size: "small",
                text: "上一题",
                _i: 25,
              },
              on: { click: _vm.prevQ },
            }),
            _vm._$s(26, "i", _vm.currentIndex < _vm.questionList.length - 1)
              ? _c("u-button", {
                  attrs: {
                    type: "error",
                    shape: "circle",
                    size: "small",
                    text: "下一题",
                    _i: 26,
                  },
                  on: { click: _vm.nextQ },
                })
              : _vm._e(),
            _vm._$s(27, "i", _vm.currentIndex == _vm.questionList.length - 1)
              ? _c("u-button", {
                  attrs: {
                    type: "primary",
                    shape: "circle",
                    size: "small",
                    text: "退出",
                    _i: 27,
                  },
                  on: { click: _vm.goBack },
                })
              : _vm._e(),
          ],
          1
        )
      : _c(
          "view",
          [
            _c("u-empty", {
              attrs: {
                mode: "list",
                icon: "http://cdn.uviewui.com/uview/empty/list.png",
                _i: 29,
              },
            }),
          ],
          1
        ),
  ])
            0
          ),
        ]
      ),
    ],
    1
  )
}
var recyclableRender = false
var staticRenderFns = []
@@ -26120,7 +26259,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 15));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 23));\nvar _wearhouse = __webpack_require__(/*! ../../../api/wearhouse.js */ 288);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {},\n  data: function data() {\n    return {\n      statusBarHeight: 0,\n      bank: {},\n      idList: [],\n      questionList: [],\n      currentIndex: 0,\n      currentQ: {},\n      type: ''\n    };\n  },\n  onReady: function onReady() {},\n  onLoad: function onLoad(e) {\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    this.bank = e.bank && JSON.parse(decodeURIComponent(e.bank));\n    this.type = e.type && JSON.parse(decodeURIComponent(e.type));\n    if (this.type == '1' || this.type == '2') {\n      this.currentIndex = this.bank.exerciseCount;\n      this.getQuestionIds(this.bank.id);\n    } else {\n      this.getErrorIds(this.bank.id);\n    }\n  },\n  onShow: function onShow() {},\n  mounted: function mounted() {},\n  computed: {},\n  beforeUnmount: function beforeUnmount() {},\n  beforeDestroy: function beforeDestroy() {},\n  methods: {\n    getQuestionIds: function getQuestionIds(id) {\n      var _this = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n        var res, list;\n        return _regenerator.default.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return (0, _wearhouse.getQuestionIdList)({\n                  bankId: id\n                });\n              case 2:\n                res = _context.sent;\n                if (res.code == 200) {\n                  list = res.data || [];\n                  if (list.length > 0) {\n                    _this.idList = list;\n                    (0, _wearhouse.getQuestionByIds)({\n                      questionIds: list.map(function (i) {\n                        return i.id;\n                      })\n                    }).then(function (re) {\n                      if (re.code == 200) {\n                        _this.questionList = re.data.map(function (i) {\n                          i.content = JSON.parse(i.content);\n                          if (i.questionType == 2) {\n                            if (i.exExerciseAnswer.answer) {\n                              i.exExerciseAnswer.answer = i.exExerciseAnswer.answer.split(',');\n                            }\n                          }\n                          return i;\n                        });\n                        _this.currentQ = _this.questionList[_this.currentIndex];\n                      } else {\n                        uni.$u.toast(res.message);\n                      }\n                    });\n                  } else {\n                    _this.idList = [];\n                    uni.showToast({\n                      title: '本题库暂无题目',\n                      duration: 1000\n                    });\n                  }\n                } else {\n                  uni.$u.toast(res.message);\n                }\n              case 4:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    getErrorIds: function getErrorIds(id) {\n      var _this2 = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n        var res, list;\n        return _regenerator.default.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _context2.next = 2;\n                return (0, _wearhouse.getErrorsIdList)({\n                  bankId: id\n                });\n              case 2:\n                res = _context2.sent;\n                if (res.code == 200) {\n                  list = res.data || [];\n                  if (list.length > 0) {\n                    _this2.idList = list;\n                    (0, _wearhouse.getQuestionByIds)({\n                      questionIds: list\n                    }).then(function (re) {\n                      if (re.code == 200) {\n                        _this2.questionList = re.data.map(function (i) {\n                          i.content = JSON.parse(i.content);\n                          if (i.questionType == 2) {\n                            if (i.exExerciseAnswer.answer) {\n                              i.exExerciseAnswer.answer = i.exExerciseAnswer.answer.split(',');\n                            }\n                          }\n                          return i;\n                        });\n                        _this2.currentQ = _this2.questionList[0];\n                      } else {\n                        uni.$u.toast(res.message);\n                      }\n                    });\n                  } else {\n                    _this2.idList = [];\n                    uni.showToast({\n                      title: '本题库暂无错题',\n                      duration: 1000\n                    });\n                  }\n                } else {\n                  uni.$u.toast(res.message);\n                }\n              case 4:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2);\n      }))();\n    },\n    checkboxChange: function checkboxChange(n) {\n      __f__(\"log\", 'change', n, \" at pages/tabBar/wearhouse/questions.vue:205\");\n    },\n    groupChange: function groupChange(n) {\n      __f__(\"log\", 'groupChange', n, \" at pages/tabBar/wearhouse/questions.vue:208\");\n    },\n    radioChange: function radioChange(n) {\n      __f__(\"log\", 'radioChange', n, \" at pages/tabBar/wearhouse/questions.vue:211\");\n    },\n    confirmAnswer: function confirmAnswer() {\n      var _this3 = this;\n      var data = {\n        answer: this.currentQ.questionType == 2 ? this.currentQ.exExerciseAnswer.answer.join(',') : this.currentQ.exExerciseAnswer.answer,\n        bankId: this.bank.id,\n        questionId: this.currentQ.id\n      };\n      (0, _wearhouse.postExerciseAnswer)(data).then(function (res) {\n        if (res.code == 200) {\n          _this3.currentQ.exExerciseAnswer.passed = res.data.passed;\n          uni.$u.toast('答案已提交');\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    prevQ: function prevQ() {\n      if (this.currentIndex - 1 >= 0) {\n        this.currentIndex--;\n        this.currentQ = this.questionList[this.currentIndex];\n      } else {\n        uni.showToast({\n          title: '已经是第一题了',\n          duration: 1000\n        });\n      }\n      __f__(\"log\", this.currentQ, 'current', \" at pages/tabBar/wearhouse/questions.vue:240\");\n    },\n    nextQ: function nextQ() {\n      if (this.currentQ.exExerciseAnswer.passed == null) {\n        uni.$u.toast('请先完成当前题目');\n        return;\n      }\n      if (this.currentIndex + 1 < this.questionList.length) {\n        this.currentIndex++;\n        this.currentQ = this.questionList[this.currentIndex];\n      } else {\n        uni.showToast({\n          title: '已经是最后一题了',\n          duration: 1000\n        });\n      }\n      __f__(\"log\", this.currentQ, 'current', \" at pages/tabBar/wearhouse/questions.vue:257\");\n    },\n    showA: function showA() {\n      uni.showModal({\n        title: '正确答案',\n        content: this.currentQ.answer,\n        showCancel: false,\n        success: function success(res) {\n          if (res.confirm) {\n            __f__(\"log\", '用户点击确定', \" at pages/tabBar/wearhouse/questions.vue:267\");\n          }\n        }\n      });\n    },\n    goBack: function goBack() {\n      var url = uni.getStorageSync(\"prevPage\");\n      if (url) {\n        if (url == '/pages/tabBar/wearhouse/wearhouse') {\n          uni.reLaunch({\n            url: '/pages/tabBar/wearhouse/wearhouse'\n          });\n        } else {\n          uni.navigateTo({\n            url: url\n          });\n        }\n      } else {\n        uni.reLaunch({\n          url: '/pages/tabBar/wearhouse/wearhouse'\n        });\n      }\n    }\n  }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL3dlYXJob3VzZS9xdWVzdGlvbnMudnVlIl0sIm5hbWVzIjpbImNvbXBvbmVudHMiLCJkYXRhIiwic3RhdHVzQmFySGVpZ2h0IiwiYmFuayIsImlkTGlzdCIsInF1ZXN0aW9uTGlzdCIsImN1cnJlbnRJbmRleCIsImN1cnJlbnRRIiwidHlwZSIsIm9uUmVhZHkiLCJvbkxvYWQiLCJvblNob3ciLCJtb3VudGVkIiwiY29tcHV0ZWQiLCJiZWZvcmVVbm1vdW50IiwiYmVmb3JlRGVzdHJveSIsIm1ldGhvZHMiLCJnZXRRdWVzdGlvbklkcyIsImJhbmtJZCIsInJlcyIsImxpc3QiLCJxdWVzdGlvbklkcyIsImkiLCJ1bmkiLCJ0aXRsZSIsImR1cmF0aW9uIiwiZ2V0RXJyb3JJZHMiLCJjaGVja2JveENoYW5nZSIsImdyb3VwQ2hhbmdlIiwicmFkaW9DaGFuZ2UiLCJjb25maXJtQW5zd2VyIiwiYW5zd2VyIiwicXVlc3Rpb25JZCIsInByZXZRIiwibmV4dFEiLCJzaG93QSIsImNvbnRlbnQiLCJzaG93Q2FuY2VsIiwic3VjY2VzcyIsImdvQmFjayIsInVybCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBdUZBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFFQTtFQUNBQSxhQUVBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDLDZCQUNBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7TUFDQTtNQUNBO0lBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUMsMkJBRUE7RUFDQUMsNkJBRUE7RUFDQUMsV0FFQTtFQUNBQyx5Q0FFQTtFQUVBQyx5Q0FFQTtFQUVBQztJQUNBQztNQUFBO01BQUE7UUFBQTtRQUFBO1VBQUE7WUFBQTtjQUFBO2dCQUFBO2dCQUFBLE9BQ0E7a0JBQUFDO2dCQUFBO2NBQUE7Z0JBQUFDO2dCQUNBO2tCQUNBQztrQkFDQTtvQkFDQTtvQkFDQTtzQkFBQUM7d0JBQUE7c0JBQUE7b0JBQUE7c0JBQ0E7d0JBQ0E7MEJBQ0FDOzBCQUNBOzRCQUNBOzhCQUNBQTs0QkFDQTswQkFDQTswQkFDQTt3QkFDQTt3QkFDQTtzQkFDQTt3QkFDQUM7c0JBQ0E7b0JBQ0E7a0JBQ0E7b0JBQ0E7b0JBQ0FBO3NCQUNBQztzQkFDQUM7b0JBQ0E7a0JBQ0E7Z0JBQ0E7a0JBQ0FGO2dCQUNBO2NBQUE7Y0FBQTtnQkFBQTtZQUFBO1VBQUE7UUFBQTtNQUFBO0lBQ0E7SUFFQUc7TUFBQTtNQUFBO1FBQUE7UUFBQTtVQUFBO1lBQUE7Y0FBQTtnQkFBQTtnQkFBQSxPQUNBO2tCQUFBUjtnQkFBQTtjQUFBO2dCQUFBQztnQkFDQTtrQkFDQUM7a0JBQ0E7b0JBQ0E7b0JBQ0E7c0JBQUFDO29CQUFBO3NCQUNBO3dCQUNBOzBCQUNBQzswQkFDQTs0QkFDQTs4QkFDQUE7NEJBQ0E7MEJBQ0E7MEJBQ0E7d0JBQ0E7d0JBQ0E7c0JBQ0E7d0JBQ0FDO3NCQUNBO29CQUNBO2tCQUNBO29CQUNBO29CQUNBQTtzQkFDQUM7c0JBQ0FDO29CQUNBO2tCQUNBO2dCQUNBO2tCQUNBRjtnQkFDQTtjQUFBO2NBQUE7Z0JBQUE7WUFBQTtVQUFBO1FBQUE7TUFBQTtJQUNBO0lBRUFJO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBRUFDO01BQUE7TUFDQTtRQUNBQztRQUNBYjtRQUNBYztNQUNBO01BQ0E7UUFDQTtVQUNBO1VBQ0FUO1FBQ0E7VUFDQUE7UUFDQTtNQUNBO0lBQ0E7SUFFQVU7TUFDQTtRQUNBO1FBQ0E7TUFDQTtRQUNBVjtVQUNBQztVQUNBQztRQUNBO01BQ0E7TUFDQTtJQUNBO0lBRUFTO01BQ0E7UUFDQVg7UUFDQTtNQUNBO01BQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQUE7VUFDQUM7VUFDQUM7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUVBVTtNQUNBWjtRQUNBQztRQUNBWTtRQUNBQztRQUNBQztVQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BQ0E7UUFDQTtVQUNBaEI7WUFDQWlCO1VBQ0E7UUFDQTtVQUNBakI7WUFDQWlCO1VBQ0E7UUFDQTtNQUNBO1FBQ0FqQjtVQUNBaUI7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiMzQyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuICA8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtoZWlnaHQ6IDEwMCU7XCI+XG4gICAgPCEtLSDoh6rlrprkuYnlr7zoiKrmoI8gLS0+XG4gICAgPHZpZXcgY2xhc3M9XCJuYXZCYXJCb3hcIj5cbiAgICAgIDwhLS0g54q25oCB5qCP5Y2g5L2NIC0tPlxuICAgICAgPHZpZXcgY2xhc3M9XCJzdGF0dXNCYXJcIiA6c3R5bGU9XCJ7IHBhZGRpbmdUb3A6IHN0YXR1c0JhckhlaWdodCArICdweCcgfVwiPjwvdmlldz5cbiAgICAgIDwhLS0g55yf5q2j55qE5a+86Iiq5qCP5YaF5a65IC0tPlxuICAgICAgPHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICAgICAgICA8dmlldyBjbGFzcz1cIm5hdkJhclwiPlxuICAgICAgICAgIDx1LWljb24gbmFtZT1cImFycm93LWxlZnRcIiBjb2xvcj1cImJsYWNrXCIgc2l6ZT1cIjE3XCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogOHB4O1wiIEBjbGljaz1cImdvQmFja1wiLz5cbiAgICAgICAgICA8dmlldyBjbGFzcz1cImJhclRleHRcIj7popjnm67lhoXlrrk8L3ZpZXc+XG4gICAgICAgICAgPCEtLSBcdFx0XHRcdFx0PHZpZXcgPlxuICAgICAgICAgICAgICAgICAgICAgIDx1LWJ1dHRvbiB0eXBlPVwidGV4dFwiIEBjbGljaz1cImxvZ2luT3V0XCIgc3R5bGU9XCJjb2xvcjogYmx1ZTttYXJnaW4tcmlnaHQ6IDVweDtcIj7pgIDlh7o8L3UtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L3ZpZXc+IC0tPlxuICAgICAgICA8L3ZpZXc+XG4gICAgICA8L3ZpZXc+XG4gICAgPC92aWV3PlxuICAgIDx2aWV3IGNsYXNzPVwibS1wLTE1XCIgdi1pZj1cImlkTGlzdCAmJiBpZExpc3QubGVuZ3RoPjBcIj5cbiAgICAgIDx1LWRpdmlkZXJcbiAgICAgICAgICA6dGV4dD1cIifnrKwnKyAoY3VycmVudEluZGV4KzEpICsn6aKYJ1wiXG4gICAgICAgICAgdGV4dENvbG9yPVwiIzI5NzlmZlwiXG4gICAgICAgICAgbGluZUNvbG9yPVwiIzI5NzlmZlwiXG4gICAgICAgICAgdGV4dFNpemU9XCIxNlwiXG4gICAgICAgICAgc3R5bGU9XCJtYXJnaW46IDQwcHggMFwiXG4gICAgICA+PC91LWRpdmlkZXI+XG4gICAgICA8dmlldyBjbGFzcz1cInF1ZXN0aW9uc1wiPlxuICAgICAgICA8dmlldyBjbGFzcz1cInRpdGxlXCI+XG4gICAgICAgICAgPHNwYW4+44CQe3tjdXJyZW50US5xdWVzdGlvblR5cGUgPT0gMT8n5Y2V6YCJ6aKYJzpjdXJyZW50US5xdWVzdGlvblR5cGUgPT0gMj8n5aSa6YCJ6aKYJzon5Yik5pat6aKYJ31944CRPC9zcGFuPlxuICAgICAgICAgIHt7Y3VycmVudFEudGl0bGV9fVxuICAgICAgICA8L3ZpZXc+XG4gICAgICAgIDx2aWV3IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgIDx1LWNoZWNrYm94LWdyb3VwXG4gICAgICAgICAgICAgIHYtaWY9XCJjdXJyZW50US5xdWVzdGlvblR5cGU9PTJcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiY3VycmVudFEuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXJcIlxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJjb2x1bW5cIlxuICAgICAgICAgICAgICBAY2hhbmdlPVwiY2hlY2tib3hDaGFuZ2VcIlxuICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJ0eXBlPT0zP3RydWU6ZmFsc2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx1LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgOmN1c3RvbVN0eWxlPVwie21hcmdpbkJvdHRvbTogJzIwcHgnfVwiXG4gICAgICAgICAgICAgICAgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGN1cnJlbnRRLmNvbnRlbnQuaXRlbXNcIlxuICAgICAgICAgICAgICAgIDprZXk9XCJpbmRleFwiXG4gICAgICAgICAgICAgICAgOmxhYmVsPVwiaXRlbS5wcmVmaXggKyfvvJonKyBpdGVtLmNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIDpuYW1lPVwiaXRlbS5wcmVmaXhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC91LWNoZWNrYm94PlxuICAgICAgICAgIDwvdS1jaGVja2JveC1ncm91cD5cbiAgICAgICAgICA8dS1yYWRpby1ncm91cCB2LW1vZGVsPVwiY3VycmVudFEuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXJcIiBwbGFjZW1lbnQ9XCJjb2x1bW5cIiBAY2hhbmdlPVwiZ3JvdXBDaGFuZ2VcIiB2LWlmPVwiY3VycmVudFEucXVlc3Rpb25UeXBlPT0xfHxjdXJyZW50US5xdWVzdGlvblR5cGU9PTNcIiA6ZGlzYWJsZWQ9XCJ0eXBlPT0zP3RydWU6ZmFsc2VcIj5cbiAgICAgICAgICAgIDx1LXJhZGlvXG4gICAgICAgICAgICAgICAgOmN1c3RvbVN0eWxlPVwie21hcmdpbkJvdHRvbTogJzIwcHgnfVwiXG4gICAgICAgICAgICAgICAgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGN1cnJlbnRRLmNvbnRlbnQuaXRlbXNcIlxuICAgICAgICAgICAgICAgIDprZXk9XCJpbmRleFwiXG4gICAgICAgICAgICAgICAgc2hhcGU9XCJzcXVhcmVcIlxuICAgICAgICAgICAgICAgIDpsYWJlbD1cIml0ZW0ucHJlZml4ICsn77yaJysgaXRlbS5jb250ZW50XCJcbiAgICAgICAgICAgICAgICA6bmFtZT1cIml0ZW0ucHJlZml4XCJcbiAgICAgICAgICAgICAgICBAY2hhbmdlPVwicmFkaW9DaGFuZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC91LXJhZGlvPlxuICAgICAgICAgIDwvdS1yYWRpby1ncm91cD5cbiAgICAgICAgICA8dS1idXR0b24gc3R5bGU9XCJ3aWR0aDogODAlO21hcmdpbjogMzBweCBhdXRvXCIgdi1pZj1cImN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIgJiYgY3VycmVudFEuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXIgJiYgdHlwZSAhPT0gM1wiIHR5cGU9XCJwcmltYXJ5XCIgc2hhcGU9XCJjaXJjbGVcIiB0ZXh0PVwi56Gu6K6k562U5qGIXCIgQGNsaWNrPVwiY29uZmlybUFuc3dlclwiPjwvdS1idXR0b24+XG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJhbnN3ZXJzXCIgdi1pZj1cImN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIgJiYgKGN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIucGFzc2VkPT0wfHxjdXJyZW50US5leEV4ZXJjaXNlQW5zd2VyLnBhc3NlZD09MSlcIj5cbiAgICAgICAgICAgIDx2aWV3PuS9oOeahOetlOahiO+8mlxuICAgICAgICAgICAgICA8c3BhbiB2LWlmPVwiY3VycmVudFEucXVlc3Rpb25UeXBlPT0yXCIgOmNsYXNzPVwiY3VycmVudFEuYW5zd2VyID09IGN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIuYW5zd2VyLmpvaW4oJywnKT8ncmlnaHQnOid3cm9uZydcIj57e2N1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIuYW5zd2VyLmpvaW4oJywnKX19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiB2LWVsc2UgOmNsYXNzPVwiY3VycmVudFEuYW5zd2VyID09IGN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIuYW5zd2VyPydyaWdodCc6J3dyb25nJ1wiPnt7Y3VycmVudFEuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXJ9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvdmlldz5cbiAgICAgICAgICAgIDx2aWV3Puato+ehruetlOahiO+8mjxzcGFuIGNsYXNzPVwicmlnaHRcIj57e2N1cnJlbnRRLmFuc3dlcn19PC9zcGFuPjwvdmlldz5cbiAgICAgICAgICA8L3ZpZXc+XG4gICAgICAgIDwvdmlldz5cbiAgICAgIDwvdmlldz5cbiAgICA8L3ZpZXc+XG4gICAgPHZpZXcgY2xhc3M9XCJidG5zXCIgdi1pZj1cImlkTGlzdCAmJiBpZExpc3QubGVuZ3RoPjBcIj5cbiAgICAgIDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOiAzMCVcIiB0eXBlPVwiZXJyb3JcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIHRleHQ9XCLkuIrkuIDpophcIiBAY2xpY2s9XCJwcmV2UVwiPjwvdS1idXR0b24+XG48IS0tICAgICAgPHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6IDMwJVwiIHR5cGU9XCJlcnJvclwiIHNoYXBlPVwiY2lyY2xlXCIgcGxhaW4gc2l6ZT1cInNtYWxsXCIgdGV4dD1cIuafpeeci+etlOahiFwiIEBjbGljaz1cInNob3dBXCI+PC91LWJ1dHRvbj4tLT5cbiAgICAgIDx1LWJ1dHRvbiB2LWlmPVwiY3VycmVudEluZGV4PHF1ZXN0aW9uTGlzdC5sZW5ndGggLSAxXCIgc3R5bGU9XCJ3aWR0aDogMzAlXCIgdHlwZT1cImVycm9yXCIgc2hhcGU9XCJjaXJjbGVcIiBzaXplPVwic21hbGxcIiB0ZXh0PVwi5LiL5LiA6aKYXCIgQGNsaWNrPVwibmV4dFFcIj48L3UtYnV0dG9uPlxuICAgICAgPHUtYnV0dG9uIHYtaWY9XCJjdXJyZW50SW5kZXg9PXF1ZXN0aW9uTGlzdC5sZW5ndGggLSAxXCIgc3R5bGU9XCJ3aWR0aDogMzAlXCIgdHlwZT1cInByaW1hcnlcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIHRleHQ9XCLpgIDlh7pcIiBAY2xpY2s9XCJnb0JhY2tcIj48L3UtYnV0dG9uPlxuICAgIDwvdmlldz5cbiAgICA8dmlldyB2LWVsc2U+XG4gICAgICA8dS1lbXB0eVxuICAgICAgICAgIG1vZGU9XCJsaXN0XCJcbiAgICAgICAgICBpY29uPVwiaHR0cDovL2Nkbi51dmlld3VpLmNvbS91dmlldy9lbXB0eS9saXN0LnBuZ1wiXG4gICAgICA+XG4gICAgICA8L3UtZW1wdHk+XG4gICAgPC92aWV3PlxuXHQ8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IHtnZXRRdWVzdGlvbklkTGlzdCxnZXRRdWVzdGlvbkJ5SWRzLHBvc3RFeGVyY2lzZUFuc3dlcixnZXRFcnJvcnNJZExpc3R9IGZyb20gJy4uLy4uLy4uL2FwaS93ZWFyaG91c2UuanMnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0Y29tcG9uZW50czoge1xuXG5cdH0sXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcbiAgICAgIHN0YXR1c0JhckhlaWdodDogMCxcbiAgICAgIGJhbms6IHt9LFxuICAgICAgaWRMaXN0OiBbXSxcbiAgICAgIHF1ZXN0aW9uTGlzdDogW10sXG4gICAgICBjdXJyZW50SW5kZXg6IDAsXG4gICAgICBjdXJyZW50UToge30sXG4gICAgICB0eXBlOiAnJ1xuXHRcdH1cblx0fSxcbiAgb25SZWFkeSgpe1xuICB9LFxuXHRvbkxvYWQoZSkge1xuICAgIHRoaXMuc3RhdHVzQmFySGVpZ2h0ID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKClbJ3N0YXR1c0JhckhlaWdodCddXG4gICAgdGhpcy5iYW5rID0gZS5iYW5rICYmIEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUuYmFuaykpXG4gICAgdGhpcy50eXBlID0gZS50eXBlICYmIEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUudHlwZSkpXG4gICAgaWYodGhpcy50eXBlID09ICcxJyB8fCB0aGlzLnR5cGUgPT0gJzInKXtcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gdGhpcy5iYW5rLmV4ZXJjaXNlQ291bnRcbiAgICAgIHRoaXMuZ2V0UXVlc3Rpb25JZHModGhpcy5iYW5rLmlkKVxuICAgIH1lbHNle1xuICAgICAgdGhpcy5nZXRFcnJvcklkcyh0aGlzLmJhbmsuaWQpXG4gICAgfVxuXHR9LFxuXHRvblNob3coKXtcblxuXHR9LFxuXHRtb3VudGVkKCkge1xuXG5cdH0sXG4gIGNvbXB1dGVkOiB7XG5cbiAgfSxcblx0YmVmb3JlVW5tb3VudCgpIHtcblxuICB9LFxuXG4gIGJlZm9yZURlc3Ryb3koKSB7XG5cbiAgfSxcblxuICBtZXRob2RzOiB7XG4gICAgYXN5bmMgZ2V0UXVlc3Rpb25JZHMoaWQpe1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZ2V0UXVlc3Rpb25JZExpc3Qoe2JhbmtJZDogaWR9KVxuICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgbGV0IGxpc3QgPSByZXMuZGF0YSB8fCBbXVxuICAgICAgICBpZihsaXN0Lmxlbmd0aD4wKXtcbiAgICAgICAgICB0aGlzLmlkTGlzdCA9IGxpc3RcbiAgICAgICAgICBnZXRRdWVzdGlvbkJ5SWRzKHtxdWVzdGlvbklkczogbGlzdC5tYXAoaT0+aS5pZCl9KS50aGVuKHJlPT57XG4gICAgICAgICAgICBpZihyZS5jb2RlID09IDIwMCl7XG4gICAgICAgICAgICAgIHRoaXMucXVlc3Rpb25MaXN0ID0gcmUuZGF0YS5tYXAoaT0+e1xuICAgICAgICAgICAgICAgIGkuY29udGVudCA9IEpTT04ucGFyc2UoaS5jb250ZW50KVxuICAgICAgICAgICAgICAgIGlmKGkucXVlc3Rpb25UeXBlID09IDIpe1xuICAgICAgICAgICAgICAgICAgaWYoaS5leEV4ZXJjaXNlQW5zd2VyLmFuc3dlcil7XG4gICAgICAgICAgICAgICAgICAgIGkuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXIgPSBpLmV4RXhlcmNpc2VBbnN3ZXIuYW5zd2VyLnNwbGl0KCcsJylcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgdGhpcy5jdXJyZW50USA9IHRoaXMucXVlc3Rpb25MaXN0W3RoaXMuY3VycmVudEluZGV4XVxuICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLmlkTGlzdCA9IFtdXG4gICAgICAgICAgdW5pLnNob3dUb2FzdCh7XG4gICAgICAgICAgICB0aXRsZTogJ+acrOmimOW6k+aaguaXoOmimOebricsXG4gICAgICAgICAgICBkdXJhdGlvbjogMTAwMFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdW5pLiR1LnRvYXN0KHJlcy5tZXNzYWdlKVxuICAgICAgfVxuICAgIH0sXG5cbiAgICBhc3luYyBnZXRFcnJvcklkcyhpZCl7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBnZXRFcnJvcnNJZExpc3Qoe2JhbmtJZDogaWR9KVxuICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgbGV0IGxpc3QgPSByZXMuZGF0YSB8fCBbXVxuICAgICAgICBpZihsaXN0Lmxlbmd0aD4wKXtcbiAgICAgICAgICB0aGlzLmlkTGlzdCA9IGxpc3RcbiAgICAgICAgICBnZXRRdWVzdGlvbkJ5SWRzKHtxdWVzdGlvbklkczogbGlzdH0pLnRoZW4ocmU9PntcbiAgICAgICAgICAgIGlmKHJlLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgICAgICAgdGhpcy5xdWVzdGlvbkxpc3QgPSByZS5kYXRhLm1hcChpPT57XG4gICAgICAgICAgICAgICAgaS5jb250ZW50ID0gSlNPTi5wYXJzZShpLmNvbnRlbnQpXG4gICAgICAgICAgICAgICAgaWYoaS5xdWVzdGlvblR5cGUgPT0gMil7XG4gICAgICAgICAgICAgICAgICBpZihpLmV4RXhlcmNpc2VBbnN3ZXIuYW5zd2VyKXtcbiAgICAgICAgICAgICAgICAgICAgaS5leEV4ZXJjaXNlQW5zd2VyLmFuc3dlciA9IGkuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXIuc3BsaXQoJywnKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gaVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRRID0gdGhpcy5xdWVzdGlvbkxpc3RbMF1cbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICB1bmkuJHUudG9hc3QocmVzLm1lc3NhZ2UpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdGhpcy5pZExpc3QgPSBbXVxuICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuICAgICAgICAgICAgdGl0bGU6ICfmnKzpopjlupPmmoLml6DplJnpopgnLFxuICAgICAgICAgICAgZHVyYXRpb246IDEwMDBcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfWVsc2V7XG4gICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgY2hlY2tib3hDaGFuZ2Uobikge1xuICAgICAgY29uc29sZS5sb2coJ2NoYW5nZScsIG4pO1xuICAgIH0sXG4gICAgZ3JvdXBDaGFuZ2Uobikge1xuICAgICAgY29uc29sZS5sb2coJ2dyb3VwQ2hhbmdlJywgbik7XG4gICAgfSxcbiAgICByYWRpb0NoYW5nZShuKSB7XG4gICAgICBjb25zb2xlLmxvZygncmFkaW9DaGFuZ2UnLCBuKTtcbiAgICB9LFxuXG4gICAgY29uZmlybUFuc3dlcigpe1xuICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgYW5zd2VyOiB0aGlzLmN1cnJlbnRRLnF1ZXN0aW9uVHlwZT09Mj90aGlzLmN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIuYW5zd2VyLmpvaW4oJywnKTp0aGlzLmN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIuYW5zd2VyLFxuICAgICAgICBiYW5rSWQ6IHRoaXMuYmFuay5pZCxcbiAgICAgICAgcXVlc3Rpb25JZDogdGhpcy5jdXJyZW50US5pZFxuICAgICAgfVxuICAgICAgcG9zdEV4ZXJjaXNlQW5zd2VyKGRhdGEpLnRoZW4ocmVzPT57XG4gICAgICAgIGlmKHJlcy5jb2RlID09IDIwMCl7XG4gICAgICAgICAgdGhpcy5jdXJyZW50US5leEV4ZXJjaXNlQW5zd2VyLnBhc3NlZCA9IHJlcy5kYXRhLnBhc3NlZFxuICAgICAgICAgIHVuaS4kdS50b2FzdCgn562U5qGI5bey5o+Q5LqkJylcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdW5pLiR1LnRvYXN0KHJlcy5tZXNzYWdlKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0sXG5cbiAgICBwcmV2USgpe1xuICAgICAgaWYodGhpcy5jdXJyZW50SW5kZXggLSAxPj0wKXtcbiAgICAgICAgdGhpcy5jdXJyZW50SW5kZXgtLVxuICAgICAgICB0aGlzLmN1cnJlbnRRID0gdGhpcy5xdWVzdGlvbkxpc3RbdGhpcy5jdXJyZW50SW5kZXhdXG4gICAgICB9ZWxzZXtcbiAgICAgICAgdW5pLnNob3dUb2FzdCh7XG4gICAgICAgICAgdGl0bGU6ICflt7Lnu4/mmK/nrKzkuIDpopjkuoYnLFxuICAgICAgICAgIGR1cmF0aW9uOiAxMDAwXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgY29uc29sZS5sb2codGhpcy5jdXJyZW50USwnY3VycmVudCcpXG4gICAgfSxcblxuICAgIG5leHRRKCl7XG4gICAgICBpZih0aGlzLmN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIucGFzc2VkPT1udWxsKXtcbiAgICAgICAgdW5pLiR1LnRvYXN0KCfor7flhYjlrozmiJDlvZPliY3popjnm64nKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGlmKHRoaXMuY3VycmVudEluZGV4ICsgMTx0aGlzLnF1ZXN0aW9uTGlzdC5sZW5ndGgpe1xuICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCsrXG4gICAgICAgIHRoaXMuY3VycmVudFEgPSB0aGlzLnF1ZXN0aW9uTGlzdFt0aGlzLmN1cnJlbnRJbmRleF1cbiAgICAgIH1lbHNle1xuICAgICAgICB1bmkuc2hvd1RvYXN0KHtcbiAgICAgICAgICB0aXRsZTogJ+W3sue7j+aYr+acgOWQjuS4gOmimOS6hicsXG4gICAgICAgICAgZHVyYXRpb246IDEwMDBcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmN1cnJlbnRRLCdjdXJyZW50JylcbiAgICB9LFxuXG4gICAgc2hvd0EoKXtcbiAgICAgIHVuaS5zaG93TW9kYWwoe1xuICAgICAgICB0aXRsZTogJ+ato+ehruetlOahiCcsXG4gICAgICAgIGNvbnRlbnQ6IHRoaXMuY3VycmVudFEuYW5zd2VyLFxuICAgICAgICBzaG93Q2FuY2VsOiBmYWxzZSxcbiAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgIGlmIChyZXMuY29uZmlybSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ+eUqOaIt+eCueWHu+ehruWumicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcblxuICAgIGdvQmFjaygpe1xuICAgICAgY29uc3QgdXJsID0gdW5pLmdldFN0b3JhZ2VTeW5jKFwicHJldlBhZ2VcIik7XG4gICAgICBpZih1cmwpe1xuICAgICAgICBpZih1cmwgPT0gJy9wYWdlcy90YWJCYXIvd2VhcmhvdXNlL3dlYXJob3VzZScpe1xuICAgICAgICAgIHVuaS5yZUxhdW5jaCh7XG4gICAgICAgICAgICB1cmw6Jy9wYWdlcy90YWJCYXIvd2VhcmhvdXNlL3dlYXJob3VzZSdcbiAgICAgICAgICB9KTtcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdW5pLm5hdmlnYXRlVG8oe1xuICAgICAgICAgICAgdXJsOiB1cmxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2V7XG4gICAgICAgIHVuaS5yZUxhdW5jaCh7XG4gICAgICAgICAgdXJsOiAnL3BhZ2VzL3RhYkJhci93ZWFyaG91c2Uvd2VhcmhvdXNlJ1xuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblx0fVxufTtcbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4ubmF2QmFyQm94IC5uYXZCYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XG4gIGhlaWdodDogNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDEycHggcmdiYSgwLDAsMCwwLjA1KTtcbn1cbi5iYXJUZXh0e1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIGZsZXg6IDE7XG4gIC8qIG1hcmdpbi1sZWZ0OiAyMHB4OyAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA4NSU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgLyogdGV4dC1hbGlnbjogY2VudGVyOyAqL1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLm5hdkJhckJveCAubmF2QmFyIC5sb2dvIHtcbiAgd2lkdGg6IDgycnB4O1xuICBoZWlnaHQ6IDgycnB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcnB4O1xufVxuXG4ubS1wLTE1e1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC50b3B7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMjBycHggMDtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLnF1ZXN0aW9uc3tcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIC50aXRsZXtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIC5jb250ZW50e1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHJweDtcblxuICAgICAgLmFuc3dlcnN7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlY2Y1ZmY7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuXG4gICAgICAgIHNwYW57XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICAgICAgfVxuICAgICAgICAucmlnaHR7XG4gICAgICAgICAgY29sb3I6ICMzYzljZmZcbiAgICAgICAgfVxuICAgICAgICAud3Jvbmd7XG4gICAgICAgICAgY29sb3I6ICNlNDU2NTZcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmJ0bnN7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB6LWluZGV4OiA5OTtcbiAgYm90dG9tOiA2MHB4O1xuICBsZWZ0OiAwO1xufVxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///342\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 15));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 23));\nvar _wearhouse = __webpack_require__(/*! ../../../api/wearhouse.js */ 265);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  components: {},\n  data: function data() {\n    return {\n      statusBarHeight: 0,\n      bank: {},\n      idList: [],\n      questionList: [],\n      curTotalIndex: 0,\n      currentId: null,\n      currentQ: {},\n      currentA: '',\n      currentB: [],\n      type: '',\n      showPanel: false\n    };\n  },\n  onReady: function onReady() {},\n  onLoad: function onLoad(e) {\n    this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];\n    this.bank = e.bank && JSON.parse(decodeURIComponent(e.bank));\n    this.type = e.type && JSON.parse(decodeURIComponent(e.type));\n    if (this.type == '1' || this.type == '2') {\n      this.getQuestionIds(this.bank.id);\n    } else {\n      this.getErrorIds(this.bank.id);\n    }\n  },\n  onShow: function onShow() {},\n  mounted: function mounted() {},\n  computed: {},\n  beforeUnmount: function beforeUnmount() {},\n  beforeDestroy: function beforeDestroy() {},\n  methods: {\n    openPanel: function openPanel() {\n      var _this = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n        var t, res, list;\n        return _regenerator.default.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                t = _this;\n                t.showPanel = true;\n                _context.next = 4;\n                return (0, _wearhouse.getQuestionIdList)({\n                  bankId: t.bank.id\n                });\n              case 4:\n                res = _context.sent;\n                if (res.code == 200) {\n                  list = res.data || [];\n                  if (list.length > 0) {\n                    t.idList = list.sort(function (a, b) {\n                      return a.id - b.id;\n                    });\n                  } else {\n                    t.idList = [];\n                    uni.showToast({\n                      title: '本题库暂无题目',\n                      duration: 1000\n                    });\n                  }\n                } else {\n                  uni.$u.toast(res.message);\n                }\n              case 6:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    toQuestion: function toQuestion(item, index) {\n      var _this2 = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n        var curIdList;\n        return _regenerator.default.wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _this2.curTotalIndex = index;\n                curIdList = _this2.idList.slice(_this2.curTotalIndex, _this2.curTotalIndex + 20);\n                _this2.currentId = _this2.idList[_this2.curTotalIndex].id;\n                _context2.next = 5;\n                return _this2.getQuestionsByIds(curIdList);\n              case 5:\n                _this2.currentQ = _this2.questionList[0];\n                _this2.showAnswer();\n                _this2.showPanel = false;\n              case 8:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2);\n      }))();\n    },\n    open: function open() {\n      // console.log('open');\n    },\n    close: function close() {\n      this.showPanel = false;\n      // console.log('close');\n    },\n    getQuestionIds: function getQuestionIds(id) {\n      var _this3 = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n        var res, list, curIdList;\n        return _regenerator.default.wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                _context3.next = 2;\n                return (0, _wearhouse.getQuestionIdList)({\n                  bankId: id\n                });\n              case 2:\n                res = _context3.sent;\n                if (!(res.code == 200)) {\n                  _context3.next = 20;\n                  break;\n                }\n                list = res.data || [];\n                if (!(list.length > 0)) {\n                  _context3.next = 16;\n                  break;\n                }\n                _this3.idList = list.sort(function (a, b) {\n                  return a.id - b.id;\n                });\n                _this3.curTotalIndex = _this3.bank.questionId ? _this3.idList.findIndex(function (i) {\n                  return i.id == _this3.bank.questionId;\n                }) : 0;\n                curIdList = _this3.idList.slice(_this3.curTotalIndex, _this3.curTotalIndex + 20);\n                _this3.currentId = _this3.idList[_this3.curTotalIndex].id;\n                _context3.next = 12;\n                return _this3.getQuestionsByIds(curIdList);\n              case 12:\n                _this3.currentQ = _this3.questionList[0];\n                _this3.showAnswer();\n                _context3.next = 18;\n                break;\n              case 16:\n                _this3.idList = [];\n                uni.showToast({\n                  title: '本题库暂无题目',\n                  duration: 1000\n                });\n              case 18:\n                _context3.next = 21;\n                break;\n              case 20:\n                uni.$u.toast(res.message);\n              case 21:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3);\n      }))();\n    },\n    getErrorIds: function getErrorIds(id) {\n      var _this4 = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n        var res, list, curIdList;\n        return _regenerator.default.wrap(function _callee4$(_context4) {\n          while (1) {\n            switch (_context4.prev = _context4.next) {\n              case 0:\n                _context4.next = 2;\n                return (0, _wearhouse.getErrorsIdList)({\n                  bankId: id\n                });\n              case 2:\n                res = _context4.sent;\n                if (!(res.code == 200)) {\n                  _context4.next = 20;\n                  break;\n                }\n                list = res.data || [];\n                if (!(list.length > 0)) {\n                  _context4.next = 16;\n                  break;\n                }\n                _this4.idList = list.sort(function (a, b) {\n                  return a - b;\n                });\n                _this4.curTotalIndex = 0;\n                curIdList = _this4.idList.slice(0, 20);\n                _this4.currentId = _this4.idList[0].id;\n                _context4.next = 12;\n                return _this4.getQuestionsByIds(curIdList);\n              case 12:\n                _this4.currentQ = _this4.questionList[0];\n                _this4.showAnswer();\n                _context4.next = 18;\n                break;\n              case 16:\n                _this4.idList = [];\n                uni.showToast({\n                  title: '本题库暂无错题',\n                  duration: 1000\n                });\n              case 18:\n                _context4.next = 21;\n                break;\n              case 20:\n                uni.$u.toast(res.message);\n              case 21:\n              case \"end\":\n                return _context4.stop();\n            }\n          }\n        }, _callee4);\n      }))();\n    },\n    getQuestionsByIds: function getQuestionsByIds(idList) {\n      var _this5 = this;\n      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {\n        var list, res;\n        return _regenerator.default.wrap(function _callee5$(_context5) {\n          while (1) {\n            switch (_context5.prev = _context5.next) {\n              case 0:\n                list = [];\n                if (_this5.type == 3) {\n                  list = idList;\n                } else {\n                  list = idList.map(function (i) {\n                    return i.id;\n                  });\n                }\n                _context5.next = 4;\n                return (0, _wearhouse.getQuestionByIds)({\n                  questionIds: list\n                });\n              case 4:\n                res = _context5.sent;\n                if (res.code == 200) {\n                  _this5.questionList = res.data.map(function (i) {\n                    i.content = JSON.parse(i.content);\n                    return i;\n                  });\n                } else {\n                  uni.$u.toast(res.message);\n                }\n              case 6:\n              case \"end\":\n                return _context5.stop();\n            }\n          }\n        }, _callee5);\n      }))();\n    },\n    checkboxChange: function checkboxChange(n) {\n      __f__(\"log\", 'change', n, \" at pages/tabBar/wearhouse/questions.vue:254\");\n    },\n    groupChange: function groupChange(n) {\n      if (this.currentA !== '') {\n        this.confirmAnswer();\n      }\n    },\n    radioChange: function radioChange(n) {\n      __f__(\"log\", 'radioChange', n, \" at pages/tabBar/wearhouse/questions.vue:262\");\n    },\n    confirmAnswer: function confirmAnswer() {\n      var _this6 = this;\n      var data = {\n        answer: this.currentQ.questionType == 2 ? this.currentB.join(',') : this.currentA,\n        bankId: this.bank.id,\n        questionId: this.currentQ.id\n      };\n      (0, _wearhouse.postExerciseAnswer)(data).then(function (res) {\n        if (res.code == 200) {\n          _this6.currentQ.exExerciseAnswer.passed = res.data.passed;\n          _this6.currentQ.exExerciseAnswer.answer = res.data.answer;\n          // uni.$u.toast('答案已提交')\n        } else {\n          uni.$u.toast(res.message);\n        }\n      });\n    },\n    prevQ: function prevQ() {\n      var _this7 = this;\n      if (this.curTotalIndex - 1 >= 0) {\n        this.curTotalIndex--;\n        if (this.curTotalIndex == 0) {\n          this.getQuestionsByIds([this.idList[0]]).then(function () {\n            // this.currentQ = this.questionList[this.questionList.length-1]\n            _this7.$set(_this7, 'currentQ', _this7.questionList[_this7.questionList.length - 1]);\n            _this7.showAnswer();\n          });\n        } else {\n          if (this.type == 3) {\n            this.currentId = this.idList[this.curTotalIndex];\n          } else {\n            this.currentId = this.idList[this.curTotalIndex].id;\n          }\n          if (this.questionList.find(function (i) {\n            return i.id == _this7.currentId;\n          })) {\n            this.$set(this, 'currentQ', this.questionList.find(function (i) {\n              return i.id == _this7.currentId;\n            }));\n            this.showAnswer();\n          } else {\n            var startIndex = Math.max(0, this.curTotalIndex - 19);\n            var curIdList = this.idList.slice(startIndex, this.curTotalIndex + 1);\n            this.getQuestionsByIds(curIdList).then(function () {\n              // this.currentQ = this.questionList[this.questionList.length-1]\n              _this7.$set(_this7, 'currentQ', _this7.questionList[_this7.questionList.length - 1]);\n              _this7.showAnswer();\n            });\n          }\n        }\n      } else {\n        uni.showToast({\n          title: '已经是第一题了',\n          duration: 1000\n        });\n      }\n    },\n    nextQ: function nextQ() {\n      var _this8 = this;\n      if (this.curTotalIndex + 1 < this.idList.length) {\n        this.curTotalIndex++;\n        if (this.type == 3) {\n          this.currentId = this.idList[this.curTotalIndex];\n        } else {\n          this.currentId = this.idList[this.curTotalIndex].id;\n        }\n        if (this.questionList.find(function (i) {\n          return i.id == _this8.currentId;\n        })) {\n          this.$set(this, 'currentQ', this.questionList.find(function (i) {\n            return i.id == _this8.currentId;\n          }));\n          this.showAnswer();\n        } else {\n          var curIdList = this.idList.slice(this.curTotalIndex, this.curTotalIndex + 20);\n          this.getQuestionsByIds(curIdList).then(function () {\n            _this8.$set(_this8, 'currentQ', _this8.questionList[0]);\n            // this.currentQ = this.questionList[0]\n            _this8.showAnswer();\n          });\n        }\n      } else {\n        uni.showToast({\n          title: '已经是最后一题了',\n          duration: 1000\n        });\n      }\n    },\n    showAnswer: function showAnswer() {\n      if (this.currentQ.exExerciseAnswer && this.currentQ.exExerciseAnswer.answer) {\n        if (this.currentQ.questionType == 2) {\n          this.currentB = this.currentQ.exExerciseAnswer.answer.split(',');\n        } else {\n          this.currentA = this.currentQ.exExerciseAnswer.answer;\n        }\n      } else {\n        this.currentB = [];\n        this.currentA = '';\n      }\n    },\n    showA: function showA() {\n      uni.showModal({\n        title: '正确答案',\n        content: this.currentQ.answer,\n        showCancel: false,\n        success: function success(res) {\n          if (res.confirm) {\n            __f__(\"log\", '用户点击确定', \" at pages/tabBar/wearhouse/questions.vue:365\");\n          }\n        }\n      });\n    },\n    goBack: function goBack() {\n      var url = uni.getStorageSync(\"prevPage\");\n      if (url) {\n        if (url == '/pages/tabBar/wearhouse/wearhouse') {\n          uni.reLaunch({\n            url: '/pages/tabBar/wearhouse/wearhouse'\n          });\n        } else {\n          uni.navigateTo({\n            url: url\n          });\n        }\n      } else {\n        uni.reLaunch({\n          url: '/pages/tabBar/wearhouse/wearhouse'\n        });\n      }\n    }\n  }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiQmFyL3dlYXJob3VzZS9xdWVzdGlvbnMudnVlIl0sIm5hbWVzIjpbImNvbXBvbmVudHMiLCJkYXRhIiwic3RhdHVzQmFySGVpZ2h0IiwiYmFuayIsImlkTGlzdCIsInF1ZXN0aW9uTGlzdCIsImN1clRvdGFsSW5kZXgiLCJjdXJyZW50SWQiLCJjdXJyZW50USIsImN1cnJlbnRBIiwiY3VycmVudEIiLCJ0eXBlIiwic2hvd1BhbmVsIiwib25SZWFkeSIsIm9uTG9hZCIsIm9uU2hvdyIsIm1vdW50ZWQiLCJjb21wdXRlZCIsImJlZm9yZVVubW91bnQiLCJiZWZvcmVEZXN0cm95IiwibWV0aG9kcyIsIm9wZW5QYW5lbCIsInQiLCJiYW5rSWQiLCJyZXMiLCJsaXN0IiwidW5pIiwidGl0bGUiLCJkdXJhdGlvbiIsInRvUXVlc3Rpb24iLCJjdXJJZExpc3QiLCJvcGVuIiwiY2xvc2UiLCJnZXRRdWVzdGlvbklkcyIsImdldEVycm9ySWRzIiwiZ2V0UXVlc3Rpb25zQnlJZHMiLCJxdWVzdGlvbklkcyIsImkiLCJjaGVja2JveENoYW5nZSIsImdyb3VwQ2hhbmdlIiwicmFkaW9DaGFuZ2UiLCJjb25maXJtQW5zd2VyIiwiYW5zd2VyIiwicXVlc3Rpb25JZCIsInByZXZRIiwibmV4dFEiLCJzaG93QW5zd2VyIiwic2hvd0EiLCJjb250ZW50Iiwic2hvd0NhbmNlbCIsInN1Y2Nlc3MiLCJnb0JhY2siLCJ1cmwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQWtHQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFFQTtFQUNBQSxhQUVBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDLDZC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QUNBQztRQUNBO01BQ0E7SUFDQTtJQUVBaUI7TUFBQTtNQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7VUFDQTtRQUNBO1FBQ0E7VUFBQTtRQUFBO1VBQ0E7WUFBQTtVQUFBO1VBQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQW5CO1VBQ0FDO1VBQ0FDO1FBQ0E7TUFDQTtJQUNBO0lBRUFrQjtNQUNBO1FBQ0E7VUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFDQXJCO1FBQ0FDO1FBQ0FxQjtRQUNBQztRQUNBQztVQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BQ0E7UUFDQTtVQUNBekI7WUFDQTBCO1VBQ0E7UUFDQTtVQUNBMUI7WUFDQTBCO1VBQ0E7UUFDQTtNQUNBO1FBQ0ExQjtVQUNBMEI7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiMzQyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuICA8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtoZWlnaHQ6IDEwMCU7XCI+XG4gICAgPCEtLSDoh6rlrprkuYnlr7zoiKrmoI8gLS0+XG4gICAgPHZpZXcgY2xhc3M9XCJuYXZCYXJCb3hcIj5cbiAgICAgIDwhLS0g54q25oCB5qCP5Y2g5L2NIC0tPlxuICAgICAgPHZpZXcgY2xhc3M9XCJzdGF0dXNCYXJcIiA6c3R5bGU9XCJ7IHBhZGRpbmdUb3A6IHN0YXR1c0JhckhlaWdodCArICdweCcgfVwiPjwvdmlldz5cbiAgICAgIDwhLS0g55yf5q2j55qE5a+86Iiq5qCP5YaF5a65IC0tPlxuICAgICAgPHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICAgICAgICA8dmlldyBjbGFzcz1cIm5hdkJhclwiPlxuICAgICAgICAgIDx1LWljb24gbmFtZT1cImFycm93LWxlZnRcIiBjb2xvcj1cImJsYWNrXCIgc2l6ZT1cIjE3XCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogOHB4O1wiIEBjbGljaz1cImdvQmFja1wiLz5cbiAgICAgICAgICA8dmlldyBjbGFzcz1cImJhclRleHRcIj7popjnm67lhoXlrrk8L3ZpZXc+XG4gICAgICAgICAgPCEtLSBcdFx0XHRcdFx0PHZpZXcgPlxuICAgICAgICAgICAgICAgICAgICAgIDx1LWJ1dHRvbiB0eXBlPVwidGV4dFwiIEBjbGljaz1cImxvZ2luT3V0XCIgc3R5bGU9XCJjb2xvcjogYmx1ZTttYXJnaW4tcmlnaHQ6IDVweDtcIj7pgIDlh7o8L3UtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L3ZpZXc+IC0tPlxuICAgICAgICA8L3ZpZXc+XG4gICAgICA8L3ZpZXc+XG4gICAgPC92aWV3PlxuICAgIDx2aWV3IGNsYXNzPVwibS1wLTE1XCIgdi1pZj1cImlkTGlzdCAmJiBpZExpc3QubGVuZ3RoPjBcIj5cbiAgICAgIDx2aWV3IGNsYXNzPVwidG9wXCI+XG4gICAgICAgIDx2aWV3IGNsYXNzPVwiaW5kXCI+e3sn56ysICcgKyAoY3VyVG90YWxJbmRleCsxKSArICcg6aKYJ319PC92aWV3PlxuICAgICAgICA8dmlldyB2LWlmPVwidHlwZSA9PSAxIHx8IHR5cGUgPT0gMlwiIGNsYXNzPVwicGFuZWxCdG5cIiBAY2xpY2s9XCJvcGVuUGFuZWxcIj7nrZTpopjljaE8L3ZpZXc+XG4gICAgICA8L3ZpZXc+XG4gICAgICA8dmlldyBjbGFzcz1cInF1ZXN0aW9uc1wiPlxuICAgICAgICA8dmlldyBjbGFzcz1cInRpdGxlXCI+XG4gICAgICAgICAgPHNwYW4+44CQe3tjdXJyZW50US5xdWVzdGlvblR5cGUgPT0gMT8n5Y2V6YCJ6aKYJzpjdXJyZW50US5xdWVzdGlvblR5cGUgPT0gMj8n5aSa6YCJ6aKYJzon5Yik5pat6aKYJ31944CRPC9zcGFuPlxuICAgICAgICAgIHt7Y3VycmVudFEudGl0bGV9fVxuICAgICAgICA8L3ZpZXc+XG4gICAgICAgIDx2aWV3IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgIDx1LWNoZWNrYm94LWdyb3VwXG4gICAgICAgICAgICAgIHYtaWY9XCJjdXJyZW50US5xdWVzdGlvblR5cGU9PTJcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiY3VycmVudEJcIlxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJjb2x1bW5cIlxuICAgICAgICAgICAgICBpY29uUGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICBAY2hhbmdlPVwiY2hlY2tib3hDaGFuZ2VcIlxuICAgICAgICAgICAgICA6ZGlzYWJsZWQ9XCJ0eXBlPT0zP3RydWU6ZmFsc2VcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm15UmFkaW9cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx1LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgOmN1c3RvbVN0eWxlPVwie21hcmdpbkJvdHRvbTogJzE1cHgnfVwiXG4gICAgICAgICAgICAgICAgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGN1cnJlbnRRLmNvbnRlbnQuaXRlbXNcIlxuICAgICAgICAgICAgICAgIDprZXk9XCJpbmRleFwiXG4gICAgICAgICAgICAgICAgOmxhYmVsPVwiaXRlbS5wcmVmaXggKyfvvJonKyBpdGVtLmNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIDpuYW1lPVwiaXRlbS5wcmVmaXhcIlxuICAgICAgICAgICAgICAgIDpjbGFzcz1cInsncGlja2VkJzogY3VycmVudEIuaW5jbHVkZXMoaXRlbS5wcmVmaXgpfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3UtY2hlY2tib3g+XG4gICAgICAgICAgPC91LWNoZWNrYm94LWdyb3VwPlxuICAgICAgICAgIDx1LXJhZGlvLWdyb3VwIHYtbW9kZWw9XCJjdXJyZW50QVwiIGNsYXNzPVwibXlSYWRpb1wiIGljb25QbGFjZW1lbnQ9XCJyaWdodFwiIHBsYWNlbWVudD1cImNvbHVtblwiIEBjaGFuZ2U9XCJncm91cENoYW5nZVwiIHYtaWY9XCJjdXJyZW50US5xdWVzdGlvblR5cGU9PTF8fGN1cnJlbnRRLnF1ZXN0aW9uVHlwZT09M1wiIDpkaXNhYmxlZD1cInR5cGU9PTM/dHJ1ZTpmYWxzZVwiPlxuICAgICAgICAgICAgPHUtcmFkaW9cbiAgICAgICAgICAgICAgICA6Y3VzdG9tU3R5bGU9XCJ7bWFyZ2luQm90dG9tOiAnMTVweCd9XCJcbiAgICAgICAgICAgICAgICB2LWZvcj1cIihpdGVtLCBpbmRleCkgaW4gY3VycmVudFEuY29udGVudC5pdGVtc1wiXG4gICAgICAgICAgICAgICAgOmtleT1cImluZGV4XCJcbiAgICAgICAgICAgICAgICBzaGFwZT1cInNxdWFyZVwiXG4gICAgICAgICAgICAgICAgOmxhYmVsPVwiaXRlbS5wcmVmaXggKyfvvJonKyBpdGVtLmNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIDpuYW1lPVwiaXRlbS5wcmVmaXhcIlxuICAgICAgICAgICAgICAgIEBjaGFuZ2U9XCJyYWRpb0NoYW5nZVwiXG4gICAgICAgICAgICAgICAgOmNsYXNzPVwieydwaWNrZWQnOiBjdXJyZW50QSA9PSBpdGVtLnByZWZpeH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC91LXJhZGlvPlxuICAgICAgICAgIDwvdS1yYWRpby1ncm91cD5cblxuICAgICAgICAgIDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOiA4MCU7bWFyZ2luOiAzMHB4IGF1dG9cIlxuICAgICAgICAgICAgICAgICAgICB2LWlmPVwiY3VycmVudFEucXVlc3Rpb25UeXBlPT0yICYmIGN1cnJlbnRCLmxlbmd0aD4wICYmIHR5cGUgIT09IDNcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiIHNoYXBlPVwiY2lyY2xlXCIgdGV4dD1cIuehruiupOetlOahiFwiIEBjbGljaz1cImNvbmZpcm1BbnN3ZXJcIj48L3UtYnV0dG9uPlxuICAgICAgICAgIDx2aWV3IGNsYXNzPVwiYW5zd2Vyc1wiIHYtaWY9XCJjdXJyZW50QSAhPT0nJ3x8Y3VycmVudEIubGVuZ3RoPjBcIj5cbiAgICAgICAgICAgIDx2aWV3PuS9oOeahOetlOahiO+8mlxuICAgICAgICAgICAgICA8c3BhbiB2LWlmPVwiY3VycmVudFEucXVlc3Rpb25UeXBlPT0yXCIgOmNsYXNzPVwiY3VycmVudFEuYW5zd2VyID09IGN1cnJlbnRCLmpvaW4oJywnKT8ncmlnaHQnOid3cm9uZydcIj57e2N1cnJlbnRCLmpvaW4oJywnKX19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiB2LWVsc2UgOmNsYXNzPVwiY3VycmVudFEuYW5zd2VyID09IGN1cnJlbnRBPydyaWdodCc6J3dyb25nJ1wiPnt7Y3VycmVudEF9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvdmlldz5cbiAgICAgICAgICAgIDx2aWV3Puato+ehruetlOahiO+8mjxzcGFuIGNsYXNzPVwicmlnaHRcIj57e2N1cnJlbnRRLmFuc3dlcn19PC9zcGFuPjwvdmlldz5cbiAgICAgICAgICA8L3ZpZXc+XG4gICAgICAgIDwvdmlldz5cbiAgICAgIDwvdmlldz5cbiAgICA8L3ZpZXc+XG4gICAgPHZpZXcgY2xhc3M9XCJidG5zXCIgdi1pZj1cImlkTGlzdCAmJiBpZExpc3QubGVuZ3RoPjBcIj5cbiAgICAgIDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOiAzMCVcIiB0eXBlPVwiZXJyb3JcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIHRleHQ9XCLkuIrkuIDpophcIiBAY2xpY2s9XCJwcmV2UVwiPjwvdS1idXR0b24+XG48IS0tICAgICAgPHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6IDMwJVwiIHR5cGU9XCJlcnJvclwiIHNoYXBlPVwiY2lyY2xlXCIgcGxhaW4gc2l6ZT1cInNtYWxsXCIgdGV4dD1cIuafpeeci+etlOahiFwiIEBjbGljaz1cInNob3dBXCI+PC91LWJ1dHRvbj4tLT5cbiAgICAgIDx1LWJ1dHRvbiB2LWlmPVwiY3VyVG90YWxJbmRleCA8IGlkTGlzdC5sZW5ndGggLSAxXCIgc3R5bGU9XCJ3aWR0aDogMzAlXCIgdHlwZT1cImVycm9yXCIgc2hhcGU9XCJjaXJjbGVcIiBzaXplPVwic21hbGxcIiB0ZXh0PVwi5LiL5LiA6aKYXCIgQGNsaWNrPVwibmV4dFFcIj48L3UtYnV0dG9uPlxuICAgICAgPHUtYnV0dG9uIHYtaWY9XCJjdXJUb3RhbEluZGV4ID09IGlkTGlzdC5sZW5ndGggLSAxXCIgc3R5bGU9XCJ3aWR0aDogMzAlXCIgdHlwZT1cInByaW1hcnlcIiBzaGFwZT1cImNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIHRleHQ9XCLpgIDlh7pcIiBAY2xpY2s9XCJnb0JhY2tcIj48L3UtYnV0dG9uPlxuICAgIDwvdmlldz5cbiAgICA8dmlldyB2LWVsc2U+XG4gICAgICA8dS1lbXB0eVxuICAgICAgICAgIG1vZGU9XCJsaXN0XCJcbiAgICAgICAgICBpY29uPVwiaHR0cDovL2Nkbi51dmlld3VpLmNvbS91dmlldy9lbXB0eS9saXN0LnBuZ1wiXG4gICAgICA+XG4gICAgICA8L3UtZW1wdHk+XG4gICAgPC92aWV3PlxuICAgIDx1LXBvcHVwIDpzaG93PVwic2hvd1BhbmVsXCIgOnJvdW5kPVwiNDBcIiBtb2RlPVwicmlnaHRcIiBAY2xvc2U9XCJjbG9zZVwiIEBvcGVuPVwib3BlblwiPlxuICAgICAgPHZpZXcgY2xhc3M9XCJwYW5lbFwiPlxuICAgICAgICA8dmlldyA6Y2xhc3M9XCJpdGVtLnBhc3NlZD09MT8ncmlnaHQtYSc6aXRlbS5wYXNzZWQ9PTA/J3dyb25nLWEnOicnXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gaWRMaXN0XCIgQGNsaWNrPVwidG9RdWVzdGlvbihpdGVtLGluZGV4KVwiPlxuICAgICAgICAgIHt7aW5kZXggKyAxfX1cbiAgICAgICAgPC92aWV3PlxuICAgICAgPC92aWV3PlxuICAgIDwvdS1wb3B1cD5cblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCB7Z2V0UXVlc3Rpb25JZExpc3QsZ2V0UXVlc3Rpb25CeUlkcyxwb3N0RXhlcmNpc2VBbnN3ZXIsZ2V0RXJyb3JzSWRMaXN0fSBmcm9tICcuLi8uLi8uLi9hcGkvd2VhcmhvdXNlLmpzJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGNvbXBvbmVudHM6IHtcblxuXHR9LFxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG4gICAgICBzdGF0dXNCYXJIZWlnaHQ6IDAsXG4gICAgICBiYW5rOiB7fSxcbiAgICAgIGlkTGlzdDogW10sXG4gICAgICBxdWVzdGlvbkxpc3Q6IFtdLFxuICAgICAgY3VyVG90YWxJbmRleDogMCxcbiAgICAgIGN1cnJlbnRJZDogbnVsbCxcbiAgICAgIGN1cnJlbnRROiB7fSxcbiAgICAgIGN1cnJlbnRBOiAnJyxcbiAgICAgIGN1cnJlbnRCOiBbXSxcbiAgICAgIHR5cGU6ICcnLFxuICAgICAgc2hvd1BhbmVsOiBmYWxzZVxuXHRcdH1cblx0fSxcbiAgb25SZWFkeSgpe1xuICB9LFxuXHRvbkxvYWQoZSkge1xuICAgIHRoaXMuc3RhdHVzQmFySGVpZ2h0ID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKClbJ3N0YXR1c0JhckhlaWdodCddXG4gICAgdGhpcy5iYW5rID0gZS5iYW5rICYmIEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUuYmFuaykpXG4gICAgdGhpcy50eXBlID0gZS50eXBlICYmIEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUudHlwZSkpXG4gICAgaWYodGhpcy50eXBlID09ICcxJyB8fCB0aGlzLnR5cGUgPT0gJzInKXtcbiAgICAgIHRoaXMuZ2V0UXVlc3Rpb25JZHModGhpcy5iYW5rLmlkKVxuICAgIH1lbHNle1xuICAgICAgdGhpcy5nZXRFcnJvcklkcyh0aGlzLmJhbmsuaWQpXG4gICAgfVxuXHR9LFxuXHRvblNob3coKXtcblxuXHR9LFxuXHRtb3VudGVkKCkge1xuXG5cdH0sXG4gIGNvbXB1dGVkOiB7XG5cbiAgfSxcblx0YmVmb3JlVW5tb3VudCgpIHtcblxuICB9LFxuXG4gIGJlZm9yZURlc3Ryb3koKSB7XG5cbiAgfSxcblxuICBtZXRob2RzOiB7XG4gICAgYXN5bmMgb3BlblBhbmVsKCl7XG4gICAgICBjb25zdCB0ID0gdGhpc1xuICAgICAgdC5zaG93UGFuZWwgPSB0cnVlXG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBnZXRRdWVzdGlvbklkTGlzdCh7YmFua0lkOiB0LmJhbmsuaWR9KVxuICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgbGV0IGxpc3QgPSByZXMuZGF0YSB8fCBbXVxuICAgICAgICBpZihsaXN0Lmxlbmd0aD4wKXtcbiAgICAgICAgICB0LmlkTGlzdCA9IGxpc3Quc29ydCgoYSwgYikgPT4gYS5pZCAtIGIuaWQpXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHQuaWRMaXN0ID0gW11cbiAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcbiAgICAgICAgICAgIHRpdGxlOiAn5pys6aKY5bqT5pqC5peg6aKY55uuJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1lbHNle1xuICAgICAgICB1bmkuJHUudG9hc3QocmVzLm1lc3NhZ2UpXG4gICAgICB9XG4gICAgfSxcblxuICAgIGFzeW5jIHRvUXVlc3Rpb24oaXRlbSxpbmRleCl7XG4gICAgICB0aGlzLmN1clRvdGFsSW5kZXggPSBpbmRleFxuICAgICAgY29uc3QgY3VySWRMaXN0ID0gdGhpcy5pZExpc3Quc2xpY2UodGhpcy5jdXJUb3RhbEluZGV4LHRoaXMuY3VyVG90YWxJbmRleCArIDIwKVxuICAgICAgdGhpcy5jdXJyZW50SWQgPSB0aGlzLmlkTGlzdFt0aGlzLmN1clRvdGFsSW5kZXhdLmlkXG4gICAgICBhd2FpdCB0aGlzLmdldFF1ZXN0aW9uc0J5SWRzKGN1cklkTGlzdClcbiAgICAgIHRoaXMuY3VycmVudFEgPSB0aGlzLnF1ZXN0aW9uTGlzdFswXVxuICAgICAgdGhpcy5zaG93QW5zd2VyKClcbiAgICAgIHRoaXMuc2hvd1BhbmVsID0gZmFsc2VcbiAgICB9LFxuXG4gICAgb3BlbigpIHtcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdvcGVuJyk7XG4gICAgfSxcbiAgICBjbG9zZSgpIHtcbiAgICAgIHRoaXMuc2hvd1BhbmVsID0gZmFsc2VcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdjbG9zZScpO1xuICAgIH0sXG4gICAgYXN5bmMgZ2V0UXVlc3Rpb25JZHMoaWQpe1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZ2V0UXVlc3Rpb25JZExpc3Qoe2JhbmtJZDogaWR9KVxuICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgbGV0IGxpc3QgPSByZXMuZGF0YSB8fCBbXVxuICAgICAgICBpZihsaXN0Lmxlbmd0aD4wKXtcbiAgICAgICAgICB0aGlzLmlkTGlzdCA9IGxpc3Quc29ydCgoYSwgYikgPT4gYS5pZCAtIGIuaWQpXG4gICAgICAgICAgdGhpcy5jdXJUb3RhbEluZGV4ID0gdGhpcy5iYW5rLnF1ZXN0aW9uSWQgPyB0aGlzLmlkTGlzdC5maW5kSW5kZXgoaT0+aS5pZCA9PSB0aGlzLmJhbmsucXVlc3Rpb25JZCk6MFxuICAgICAgICAgIGNvbnN0IGN1cklkTGlzdCA9IHRoaXMuaWRMaXN0LnNsaWNlKHRoaXMuY3VyVG90YWxJbmRleCx0aGlzLmN1clRvdGFsSW5kZXggKyAyMClcbiAgICAgICAgICB0aGlzLmN1cnJlbnRJZCA9IHRoaXMuaWRMaXN0W3RoaXMuY3VyVG90YWxJbmRleF0uaWRcbiAgICAgICAgICBhd2FpdCB0aGlzLmdldFF1ZXN0aW9uc0J5SWRzKGN1cklkTGlzdClcbiAgICAgICAgICB0aGlzLmN1cnJlbnRRID0gdGhpcy5xdWVzdGlvbkxpc3RbMF1cbiAgICAgICAgICB0aGlzLnNob3dBbnN3ZXIoKVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLmlkTGlzdCA9IFtdXG4gICAgICAgICAgdW5pLnNob3dUb2FzdCh7XG4gICAgICAgICAgICB0aXRsZTogJ+acrOmimOW6k+aaguaXoOmimOebricsXG4gICAgICAgICAgICBkdXJhdGlvbjogMTAwMFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdW5pLiR1LnRvYXN0KHJlcy5tZXNzYWdlKVxuICAgICAgfVxuICAgIH0sXG5cbiAgICBhc3luYyBnZXRFcnJvcklkcyhpZCl7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBnZXRFcnJvcnNJZExpc3Qoe2JhbmtJZDogaWR9KVxuICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgbGV0IGxpc3QgPSByZXMuZGF0YSB8fCBbXVxuICAgICAgICBpZihsaXN0Lmxlbmd0aD4wKXtcbiAgICAgICAgICB0aGlzLmlkTGlzdCA9IGxpc3Quc29ydCgoYSwgYikgPT4gYSAtIGIpXG4gICAgICAgICAgdGhpcy5jdXJUb3RhbEluZGV4ID0gMFxuICAgICAgICAgIGNvbnN0IGN1cklkTGlzdCA9IHRoaXMuaWRMaXN0LnNsaWNlKDAsMjApXG4gICAgICAgICAgdGhpcy5jdXJyZW50SWQgPSB0aGlzLmlkTGlzdFswXS5pZFxuICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UXVlc3Rpb25zQnlJZHMoY3VySWRMaXN0KVxuICAgICAgICAgIHRoaXMuY3VycmVudFEgPSB0aGlzLnF1ZXN0aW9uTGlzdFswXVxuICAgICAgICAgIHRoaXMuc2hvd0Fuc3dlcigpXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHRoaXMuaWRMaXN0ID0gW11cbiAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcbiAgICAgICAgICAgIHRpdGxlOiAn5pys6aKY5bqT5pqC5peg6ZSZ6aKYJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1lbHNle1xuICAgICAgICB1bmkuJHUudG9hc3QocmVzLm1lc3NhZ2UpXG4gICAgICB9XG4gICAgfSxcblxuICAgIGFzeW5jIGdldFF1ZXN0aW9uc0J5SWRzKGlkTGlzdCl7XG4gICAgICBsZXQgbGlzdCA9IFtdXG4gICAgICBpZih0aGlzLnR5cGUgPT0gMyl7XG4gICAgICAgIGxpc3QgPSBpZExpc3RcbiAgICAgIH1lbHNle1xuICAgICAgICBsaXN0ID0gaWRMaXN0Lm1hcChpPT5pLmlkKVxuICAgICAgfVxuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZ2V0UXVlc3Rpb25CeUlkcyh7cXVlc3Rpb25JZHM6IGxpc3R9KVxuICAgICAgaWYocmVzLmNvZGUgPT0gMjAwKXtcbiAgICAgICAgdGhpcy5xdWVzdGlvbkxpc3QgPSByZXMuZGF0YS5tYXAoaT0+e1xuICAgICAgICAgIGkuY29udGVudCA9IEpTT04ucGFyc2UoaS5jb250ZW50KVxuICAgICAgICAgIHJldHVybiBpXG4gICAgICAgIH0pXG4gICAgICB9ZWxzZXtcbiAgICAgICAgdW5pLiR1LnRvYXN0KHJlcy5tZXNzYWdlKVxuICAgICAgfVxuICAgIH0sXG5cbiAgICBjaGVja2JveENoYW5nZShuKSB7XG4gICAgICBjb25zb2xlLmxvZygnY2hhbmdlJywgbik7XG4gICAgfSxcbiAgICBncm91cENoYW5nZShuKSB7XG4gICAgICBpZih0aGlzLmN1cnJlbnRBICE9PSAnJyl7XG4gICAgICAgIHRoaXMuY29uZmlybUFuc3dlcigpXG4gICAgICB9XG4gICAgfSxcbiAgICByYWRpb0NoYW5nZShuKSB7XG4gICAgICBjb25zb2xlLmxvZygncmFkaW9DaGFuZ2UnLCBuKTtcbiAgICB9LFxuXG4gICAgY29uZmlybUFuc3dlcigpe1xuICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgYW5zd2VyOiB0aGlzLmN1cnJlbnRRLnF1ZXN0aW9uVHlwZT09Mj90aGlzLmN1cnJlbnRCLmpvaW4oJywnKTp0aGlzLmN1cnJlbnRBLFxuICAgICAgICBiYW5rSWQ6IHRoaXMuYmFuay5pZCxcbiAgICAgICAgcXVlc3Rpb25JZDogdGhpcy5jdXJyZW50US5pZFxuICAgICAgfVxuICAgICAgcG9zdEV4ZXJjaXNlQW5zd2VyKGRhdGEpLnRoZW4ocmVzPT57XG4gICAgICAgIGlmKHJlcy5jb2RlID09IDIwMCl7XG4gICAgICAgICAgdGhpcy5jdXJyZW50US5leEV4ZXJjaXNlQW5zd2VyLnBhc3NlZCA9IHJlcy5kYXRhLnBhc3NlZFxuICAgICAgICAgIHRoaXMuY3VycmVudFEuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXIgPSByZXMuZGF0YS5hbnN3ZXJcbiAgICAgICAgICAvLyB1bmkuJHUudG9hc3QoJ+etlOahiOW3suaPkOS6pCcpXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHVuaS4kdS50b2FzdChyZXMubWVzc2FnZSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9LFxuXG4gICAgcHJldlEoKXtcbiAgICAgIGlmKHRoaXMuY3VyVG90YWxJbmRleCAtIDE+PTApe1xuICAgICAgICB0aGlzLmN1clRvdGFsSW5kZXgtLVxuICAgICAgICBpZih0aGlzLmN1clRvdGFsSW5kZXggPT0gMCl7XG4gICAgICAgICAgdGhpcy5nZXRRdWVzdGlvbnNCeUlkcyhbdGhpcy5pZExpc3RbMF1dKS50aGVuKCgpPT57XG4gICAgICAgICAgICAvLyB0aGlzLmN1cnJlbnRRID0gdGhpcy5xdWVzdGlvbkxpc3RbdGhpcy5xdWVzdGlvbkxpc3QubGVuZ3RoLTFdXG4gICAgICAgICAgICB0aGlzLiRzZXQodGhpcywgJ2N1cnJlbnRRJywgdGhpcy5xdWVzdGlvbkxpc3RbdGhpcy5xdWVzdGlvbkxpc3QubGVuZ3RoLTFdKVxuICAgICAgICAgICAgdGhpcy5zaG93QW5zd2VyKClcbiAgICAgICAgICB9KVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICBpZih0aGlzLnR5cGUgPT0gMyl7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRJZCA9IHRoaXMuaWRMaXN0W3RoaXMuY3VyVG90YWxJbmRleF1cbiAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudElkID0gdGhpcy5pZExpc3RbdGhpcy5jdXJUb3RhbEluZGV4XS5pZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZih0aGlzLnF1ZXN0aW9uTGlzdC5maW5kKGk9PmkuaWQgPT0gdGhpcy5jdXJyZW50SWQpKXtcbiAgICAgICAgICAgIHRoaXMuJHNldCh0aGlzLCAnY3VycmVudFEnLCB0aGlzLnF1ZXN0aW9uTGlzdC5maW5kKGk9PmkuaWQgPT0gdGhpcy5jdXJyZW50SWQpKVxuICAgICAgICAgICAgdGhpcy5zaG93QW5zd2VyKClcbiAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBNYXRoLm1heCgwLCB0aGlzLmN1clRvdGFsSW5kZXggLSAxOSk7XG4gICAgICAgICAgICBjb25zdCBjdXJJZExpc3QgPSB0aGlzLmlkTGlzdC5zbGljZShzdGFydEluZGV4LCB0aGlzLmN1clRvdGFsSW5kZXgrMSk7XG4gICAgICAgICAgICB0aGlzLmdldFF1ZXN0aW9uc0J5SWRzKGN1cklkTGlzdCkudGhlbigoKT0+e1xuICAgICAgICAgICAgICAvLyB0aGlzLmN1cnJlbnRRID0gdGhpcy5xdWVzdGlvbkxpc3RbdGhpcy5xdWVzdGlvbkxpc3QubGVuZ3RoLTFdXG4gICAgICAgICAgICAgIHRoaXMuJHNldCh0aGlzLCAnY3VycmVudFEnLCB0aGlzLnF1ZXN0aW9uTGlzdFt0aGlzLnF1ZXN0aW9uTGlzdC5sZW5ndGgtMV0pXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Fuc3dlcigpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfWVsc2V7XG4gICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuICAgICAgICAgIHRpdGxlOiAn5bey57uP5piv56ys5LiA6aKY5LqGJyxcbiAgICAgICAgICBkdXJhdGlvbjogMTAwMFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgbmV4dFEoKXtcbiAgICAgIGlmKHRoaXMuY3VyVG90YWxJbmRleCArIDE8dGhpcy5pZExpc3QubGVuZ3RoKXtcbiAgICAgICAgdGhpcy5jdXJUb3RhbEluZGV4KytcbiAgICAgICAgaWYodGhpcy50eXBlID09IDMpe1xuICAgICAgICAgIHRoaXMuY3VycmVudElkID0gdGhpcy5pZExpc3RbdGhpcy5jdXJUb3RhbEluZGV4XVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRJZCA9IHRoaXMuaWRMaXN0W3RoaXMuY3VyVG90YWxJbmRleF0uaWRcbiAgICAgICAgfVxuICAgICAgICBpZih0aGlzLnF1ZXN0aW9uTGlzdC5maW5kKGk9PmkuaWQgPT0gdGhpcy5jdXJyZW50SWQpKXtcbiAgICAgICAgICB0aGlzLiRzZXQodGhpcywgJ2N1cnJlbnRRJywgdGhpcy5xdWVzdGlvbkxpc3QuZmluZChpPT5pLmlkID09IHRoaXMuY3VycmVudElkKSlcbiAgICAgICAgICB0aGlzLnNob3dBbnN3ZXIoKVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICBjb25zdCBjdXJJZExpc3QgPSB0aGlzLmlkTGlzdC5zbGljZSh0aGlzLmN1clRvdGFsSW5kZXgsdGhpcy5jdXJUb3RhbEluZGV4ICsgMjApXG4gICAgICAgICAgdGhpcy5nZXRRdWVzdGlvbnNCeUlkcyhjdXJJZExpc3QpLnRoZW4oKCk9PntcbiAgICAgICAgICAgIHRoaXMuJHNldCh0aGlzLCAnY3VycmVudFEnLCB0aGlzLnF1ZXN0aW9uTGlzdFswXSlcbiAgICAgICAgICAgIC8vIHRoaXMuY3VycmVudFEgPSB0aGlzLnF1ZXN0aW9uTGlzdFswXVxuICAgICAgICAgICAgdGhpcy5zaG93QW5zd2VyKClcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdW5pLnNob3dUb2FzdCh7XG4gICAgICAgICAgdGl0bGU6ICflt7Lnu4/mmK/mnIDlkI7kuIDpopjkuoYnLFxuICAgICAgICAgIGR1cmF0aW9uOiAxMDAwXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICBzaG93QW5zd2VyKCl7XG4gICAgICBpZih0aGlzLmN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIgJiYgdGhpcy5jdXJyZW50US5leEV4ZXJjaXNlQW5zd2VyLmFuc3dlcil7XG4gICAgICAgIGlmKHRoaXMuY3VycmVudFEucXVlc3Rpb25UeXBlID09IDIpe1xuICAgICAgICAgIHRoaXMuY3VycmVudEIgPSB0aGlzLmN1cnJlbnRRLmV4RXhlcmNpc2VBbnN3ZXIuYW5zd2VyLnNwbGl0KCcsJylcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdGhpcy5jdXJyZW50QSA9IHRoaXMuY3VycmVudFEuZXhFeGVyY2lzZUFuc3dlci5hbnN3ZXJcbiAgICAgICAgfVxuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMuY3VycmVudEIgPSBbXVxuICAgICAgICB0aGlzLmN1cnJlbnRBID0gJydcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgc2hvd0EoKXtcbiAgICAgIHVuaS5zaG93TW9kYWwoe1xuICAgICAgICB0aXRsZTogJ+ato+ehruetlOahiCcsXG4gICAgICAgIGNvbnRlbnQ6IHRoaXMuY3VycmVudFEuYW5zd2VyLFxuICAgICAgICBzaG93Q2FuY2VsOiBmYWxzZSxcbiAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgIGlmIChyZXMuY29uZmlybSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ+eUqOaIt+eCueWHu+ehruWumicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcblxuICAgIGdvQmFjaygpe1xuICAgICAgY29uc3QgdXJsID0gdW5pLmdldFN0b3JhZ2VTeW5jKFwicHJldlBhZ2VcIik7XG4gICAgICBpZih1cmwpe1xuICAgICAgICBpZih1cmwgPT0gJy9wYWdlcy90YWJCYXIvd2VhcmhvdXNlL3dlYXJob3VzZScpe1xuICAgICAgICAgIHVuaS5yZUxhdW5jaCh7XG4gICAgICAgICAgICB1cmw6Jy9wYWdlcy90YWJCYXIvd2VhcmhvdXNlL3dlYXJob3VzZSdcbiAgICAgICAgICB9KTtcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdW5pLm5hdmlnYXRlVG8oe1xuICAgICAgICAgICAgdXJsOiB1cmxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2V7XG4gICAgICAgIHVuaS5yZUxhdW5jaCh7XG4gICAgICAgICAgdXJsOiAnL3BhZ2VzL3RhYkJhci93ZWFyaG91c2Uvd2VhcmhvdXNlJ1xuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblx0fVxufTtcbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4ubmF2QmFyQm94IC5uYXZCYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XG4gIGhlaWdodDogNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDEycHggcmdiYSgwLDAsMCwwLjA1KTtcbn1cbi5iYXJUZXh0e1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIGZsZXg6IDE7XG4gIC8qIG1hcmdpbi1sZWZ0OiAyMHB4OyAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA4NSU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgLyogdGV4dC1hbGlnbjogY2VudGVyOyAqL1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLm5hdkJhckJveCAubmF2QmFyIC5sb2dvIHtcbiAgd2lkdGg6IDgycnB4O1xuICBoZWlnaHQ6IDgycnB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcnB4O1xufVxuXG4ucGFuZWx7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiA2MHZ3O1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICBnYXA6IDE1cHg7XG4gIGdyaWQtYXV0by1yb3dzOiBtaW4tY29udGVudDtcblxuICAmPnZpZXd7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIG1pbi13aWR0aDogY2FsYygyMCUgLSAxMnB4KTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNDEsMTIxLDI1NSwwKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDEwMG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcbiAgICBib3gtc2hhZG93OiAwcHggLTZweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSksIDBweCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMTVweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wMik7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0ycHggNXB4IHJnYigyNTUsIDI1NSwgMjU1KSxcbiAgICAgICAgaW5zZXQgMHB4IDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC5yaWdodC1he1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNDEsMTIxLDI1NSwuMSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzI5NzlmZjtcbiAgICBjb2xvcjogIzI5NzlmZjtcbiAgfVxuXG4gIC53cm9uZy1he1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM3LDEwMCwxMDAsLjEpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZDY0NjQ7XG4gICAgY29sb3I6ICNlZDY0NjQ7XG4gIH1cbn1cbi5tLXAtMTV7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgLnRvcHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgLmluZHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICMyOTc5ZmY7XG4gICAgfVxuXG4gICAgLnBhbmVsQnRue1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgY29sb3I6ICMyOTc5ZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjVmN2ZhO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg0MSwxMjEsMjU1LC40KTtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAtNnB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSwgMHB4IDRweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjI1cyBlYXNlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5wYW5lbEJ0bjphY3RpdmV7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjVmN2ZhO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg0MSwxMjEsMjU1LDEpO1xuICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjAyKTtcbiAgICB9XG4gIH1cbiAgLnF1ZXN0aW9uc3tcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIC50aXRsZXtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIC5jb250ZW50e1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHJweDtcblxuICAgICAgLmFuc3dlcnN7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlY2Y1ZmY7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICY+dmlld3tcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFue1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLnJpZ2h0e1xuICAgICAgICAgIGNvbG9yOiAjM2M5Y2ZmXG4gICAgICAgIH1cbiAgICAgICAgLndyb25ne1xuICAgICAgICAgIGNvbG9yOiAjZTQ1NjU2XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5idG5ze1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgei1pbmRleDogOTk7XG4gIGJvdHRvbTogNjBweDtcbiAgbGVmdDogMDtcbn1cblxuL2RlZXAvIC51LWNoZWNrYm94e1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi9kZWVwLyAudS1yYWRpbywudS1jaGVja2JveHtcbiAgcGFkZGluZzogMTJweCAxMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6ICNmNWY3ZmE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAtNnB4IDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSwgMHB4IDRweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMjVzIGVhc2UgIWltcG9ydGFudDtcbn1cblxuLm15UmFkaW97XG4gIC9kZWVwLyAucGlja2Vke1xuICAgIGJhY2tncm91bmQ6ICMyOTc5ZmY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA0cHggcmdiYSgwLDAsMCwuMSk7XG5cbiAgICAudS1yYWRpb19faWNvbi13cmFwLC51LWNoZWNrYm94X19pY29uLXdyYXB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBzcGFue1xuICAgICAgY29sb3I6ICNmZmZcbiAgICB9XG5cbiAgfVxufVxuXG4vZGVlcC8gLnUtY2hlY2tib3g6YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAxNXB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjAyKTtcbn1cblxuL2RlZXAvIC51LXJhZGlvOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMTVweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wMik7XG59XG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///342\n");
/***/ }),
/* 343 */
@@ -26153,7 +26292,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _index = __webpack_require__(/*! api/index.js */ 71);\nvar _constant = _interopRequireDefault(__webpack_require__(/*! common/constant.js */ 73));\nvar jpushModule = uni.requireNativePlugin(\"JG-JPush\");\nvar _default = {\n  data: function data() {\n    return {\n      version: ''\n    };\n  },\n  onLaunch: function onLaunch() {\n    // jpushModule.initJPushService();\n    // jpushModule.setLoggerEnable(true);\n    // jpushModule.addConnectEventListener(result=>{\n    // \tlet connectEnable = result.connectEnable\n    // \tuni.$emit('connectStatusChange',connectEnable)\n    // });\n    // //消息回调——点击通知栏消息 跳转指定页面\n    // jpushModule.addNotificationListener(result=>{\n    // \tif (result.notificationEventType == \"notificationOpened\") {\n    // \t\t//判断是否登录\n    // \t\tif (uni.getStorageSync('tk')) {\n    // \t\t\t//工作通知——工作人员工作通知页\n    // \t\t\tif (result.title.includes('工作通知')){\n    // \t\t\t\tuni.switchTab({\n    // \t\t\t\t\turl: '/pages/tabBar/notice/notice',\n    // \t\t\t\t})\n    // \t\t\t//信息审核——领导审核页\n    // \t\t\t}else if(result.title == '您有新的信息需要审批'){\n    // \t\t\t\tuni.switchTab({\n    // \t\t\t\t\turl: '/pages/tabBar/examine/examine',\n    // \t\t\t\t})\n    // \t\t\t//审核结果——首页(后续加pc端信息发布页)\n    // \t\t\t}else if(result.title.includes('信息审核')){\n    // \t\t\t\tuni.switchTab({\n    // \t\t\t\t\turl: '/pages/tabBar/information/information',\n    // \t\t\t\t})\n    // \t\t\t}\n    // \t\t}else {\n    // \t\t\tconsole.log(\"未登录\")\n    // \t\t\t//未登录跳转首页\n    // \t\t\tuni.navigateTo({\n    // \t\t\t\turl: '/pages/index/index',\n    // \t\t\t\tcomplete(res) {\n    // \t\t\t\t\tconsole.log(res);\n    // \t\t\t\t}\n    // \t\t\t})\n    // \t\t\tuni.showToast({\n    // \t\t\t\ticon: 'none',\n    // \t\t\t\ttitle: '请先登录',\n    // \t\t\t\tduration: 3000\n    // \t\t\t})\n    // \t\t}\n    // \t}\n    // });\n    // jpushModule.addCustomMessageListener(result=>{\n    // \tlet type = result.type\n    // \tlet messageType = result.messageType\n    // \tlet content = result.content\n    // \tuni.showToast({\n    // \t\ticon: 'none',\n    // \t\ttitle: JSON.stringify(result),\n    // \t\tduration: 3000\n    // \t})\n    // });\n    // jpushModule.addLocalNotificationListener(result=>{\n    // \tlet messageID = result.messageID\n    // \tlet title = result.title\n    // \tlet content = result.content\n    // \tlet extras = result.extras\n    // \tuni.showToast({\n    // \t\ticon: 'none',\n    // \t\ttitle: JSON.stringify(result),\n    // \t\tduration: 3000\n    // \t})\n    // })\n\n    // jpushModule.addGeofenceListener(result => {\n    // \tlet code = result.code\n    // \tlet type = result.type\n    // \tlet geofenceId = result.geofenceId\n    // \tlet userInfo = result.userInfo\n    // \tuni.showToast({\n    // \t\ticon: 'none',\n    // \t\ttitle: '触发地理围栏',\n    // \t\tduration: 3000\n    // \t})\n    // })\n    // \t\tjpushModule.setIsAllowedInMessagePop(true)\n    // \t\tjpushModule.pullInMessage(result => {\n    // \t\t\tlet code = result.code\n    // \t\t\tconsole.log(code)\n    // \t\t})\n\n    // \t\tjpushModule.addInMessageListener(result => {\n    // \t\t\tlet eventType = result.eventType\n    // \t\t\tlet messageType = result.messageType\n    // \t\t\tlet content = result.content\n    // \t\t\tconsole.log('inMessageListener', eventType, messageType, content)\n\n    // \t\t\tuni.showToast({\n    // \t\t\t\ticon: 'none',\n    // \t\t\t\ttitle: JSON.stringify(result),\n    // \t\t\t\tduration: 3000\n    // \t\t\t})\n    // \t\t})\n  },\n  onShow: function onShow() {\n    // plus.runtime.getProperty(plus.runtime.appid, wgtinfo => {\n    // \t this.version = wgtinfo.version;\n    // \t if(this.version){\n    // \t\t this.getMaxVersion();\n    // \t }\n    //  \t})\n\n    __f__(\"log\", 'App Show', \" at App.vue:121\");\n  },\n  onHide: function onHide() {\n    // jpushModule.initJPushService();\n    __f__(\"log\", 'App Hide', \" at App.vue:127\");\n  },\n  methods: {\n    // 获取最新版本\n    getMaxVersion: function getMaxVersion() {\n      var _this = this;\n      uni.getSystemInfo({\n        success: function success(res) {\n          (0, _index.getLastApp)().then(function (res) {\n            if (res.code === 100) {\n              __f__(\"log\", res, 'res', \" at App.vue:136\");\n              _this.updateVersion(res.data);\n            }\n          });\n        }\n      });\n    },\n    // 版本对比\n    updateVersion: function updateVersion(data) {\n      var lastVersion = data.version; //最新版本\n      var curVersion = this.version; // 当前版本\n      __f__(\"log\", \"lastVersion\", lastVersion, \" at App.vue:148\");\n      __f__(\"log\", \"curVersion\", curVersion, \" at App.vue:149\");\n      if (curVersion && lastVersion) {\n        var curNum = parseInt(curVersion.replace(/[,|.]/g, ''));\n        var lastNum = parseInt(lastVersion.replace(/[,|.]/g, ''));\n        if (lastNum > curNum) {\n          this.showFly(data.attachmentInfo.fileUrl, lastVersion);\n        }\n      }\n    },\n    // 版本下载 升级\n    showFly: function showFly(url, lastVersion) {\n      __f__(\"log\", \"url\", url, \" at App.vue:162\");\n      uni.showModal({\n        title: \"更新提示\",\n        content: \"\\u53D1\\u73B0\\u65B0\\u7248\\u672C\".concat(lastVersion, \"\\uFF0C\\u7ACB\\u5373\\u5347\\u7EA7\\uFF01\"),\n        showCancel: false,\n        // 如果是强制更新就不显示取消按钮\n        success: function success(e) {\n          if (e.confirm) {\n            uni.showLoading({\n              title: \"更新中……\"\n            });\n            var downloadTask = uni.downloadFile({\n              url: _constant.default + url,\n              // 这个是最新版本apk包的地址\n              success: function success(res) {\n                uni.hideLoading();\n                if (res.statusCode === 200) {\n                  __f__(\"log\", \"url\", _constant.default + url, \" at App.vue:177\");\n                  plus.runtime.install(res.tempFilePath, {\n                    force: true\n                  }, function (_res) {\n                    uni.showToast({\n                      title: \"更新成功,重启中\",\n                      duration: 1600\n                    });\n                    plus.runtime.restart();\n                    uni.hideToast();\n                  });\n                } else {\n                  uni.showToast({\n                    title: \"下载失败!\",\n                    icon: \"none\",\n                    duration: 800\n                  });\n                }\n              }\n            });\n          }\n        }\n      });\n    }\n  }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwidmVyc2lvbiIsIm9uTGF1bmNoIiwib25TaG93Iiwib25IaWRlIiwibWV0aG9kcyIsImdldE1heFZlcnNpb24iLCJ1bmkiLCJzdWNjZXNzIiwidXBkYXRlVmVyc2lvbiIsInNob3dGbHkiLCJ0aXRsZSIsImNvbnRlbnQiLCJzaG93Q2FuY2VsIiwidXJsIiwicGx1cyIsImZvcmNlIiwiZHVyYXRpb24iLCJpY29uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0E7QUFDQTtBQUVBO0FBQUEsZUFDQTtFQUNBQTtJQUNBO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0lBS0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0lBRUE7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7SUFFQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFBQSxDQUVBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztJQUVBO0VBR0E7RUFDQUM7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTtJQUNBQztNQUFBO01BQ0FDO1FBQ0FDO1VBQ0E7WUFDQTtjQUNBO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUE7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUVBO1VBQ0E7UUFFQTtNQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0FIO1FBQ0FJO1FBQ0FDO1FBQ0FDO1FBQUE7UUFDQUw7VUFDQTtZQUNBRDtjQUNBSTtZQUNBO1lBQ0E7Y0FDQUc7Y0FBQTtjQUNBTjtnQkFDQUQ7Z0JBQ0E7a0JBQ0E7a0JBQ0FRO29CQUFBQztrQkFBQTtvQkFDQVQ7c0JBQ0FJO3NCQUNBTTtvQkFDQTtvQkFDQUY7b0JBQ0FSO2tCQUNBLEVBQ0E7Z0JBQ0E7a0JBQ0FBO29CQUNBSTtvQkFDQU87b0JBQ0FEO2tCQUNBO2dCQUNBO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjM0NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjxzY3JpcHQ+XHJcblx0aW1wb3J0IHtnZXRMYXN0QXBwfSBmcm9tICdhcGkvaW5kZXguanMnO1xyXG5cdGltcG9ydCBWVUVfQVBQX0JBU0VfVVJMIGZyb20gJ2NvbW1vbi9jb25zdGFudC5qcydcclxuXHRcclxudmFyIGpwdXNoTW9kdWxlID0gdW5pLnJlcXVpcmVOYXRpdmVQbHVnaW4oXCJKRy1KUHVzaFwiKVxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0dmVyc2lvbjogJydcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdFx0b25MYXVuY2g6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdC8vIGpwdXNoTW9kdWxlLmluaXRKUHVzaFNlcnZpY2UoKTtcclxuXHRcdFx0XHQvLyBqcHVzaE1vZHVsZS5zZXRMb2dnZXJFbmFibGUodHJ1ZSk7XHJcblx0XHRcdFx0Ly8ganB1c2hNb2R1bGUuYWRkQ29ubmVjdEV2ZW50TGlzdGVuZXIocmVzdWx0PT57XHJcblx0XHRcdFx0Ly8gXHRsZXQgY29ubmVjdEVuYWJsZSA9IHJlc3VsdC5jb25uZWN0RW5hYmxlXHJcblx0XHRcdFx0Ly8gXHR1bmkuJGVtaXQoJ2Nvbm5lY3RTdGF0dXNDaGFuZ2UnLGNvbm5lY3RFbmFibGUpXHJcblx0XHRcdFx0Ly8gfSk7XHJcblx0XHRcdFx0Ly8gLy/mtojmga/lm57osIPigJTigJTngrnlh7vpgJrnn6XmoI/mtojmga8g6Lez6L2s5oyH5a6a6aG16Z2iXHJcblx0XHRcdFx0Ly8ganB1c2hNb2R1bGUuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIocmVzdWx0PT57XHJcblx0XHRcdFx0Ly8gXHRpZiAocmVzdWx0Lm5vdGlmaWNhdGlvbkV2ZW50VHlwZSA9PSBcIm5vdGlmaWNhdGlvbk9wZW5lZFwiKSB7XHJcblx0XHRcdFx0Ly8gXHRcdC8v5Yik5pat5piv5ZCm55m75b2VXHJcblx0XHRcdFx0Ly8gXHRcdGlmICh1bmkuZ2V0U3RvcmFnZVN5bmMoJ3RrJykpIHtcclxuXHRcdFx0XHQvLyBcdFx0XHQvL+W3peS9nOmAmuefpeKAlOKAlOW3peS9nOS6uuWRmOW3peS9nOmAmuefpemhtVxyXG5cdFx0XHRcdC8vIFx0XHRcdGlmIChyZXN1bHQudGl0bGUuaW5jbHVkZXMoJ+W3peS9nOmAmuefpScpKXtcclxuXHRcdFx0XHQvLyBcdFx0XHRcdHVuaS5zd2l0Y2hUYWIoe1xyXG5cdFx0XHRcdC8vIFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvdGFiQmFyL25vdGljZS9ub3RpY2UnLFxyXG5cdFx0XHRcdC8vIFx0XHRcdFx0fSlcclxuXHRcdFx0XHQvLyBcdFx0XHQvL+S/oeaBr+WuoeaguOKAlOKAlOmihuWvvOWuoeaguOmhtVxyXG5cdFx0XHRcdC8vIFx0XHRcdH1lbHNlIGlmKHJlc3VsdC50aXRsZSA9PSAn5oKo5pyJ5paw55qE5L+h5oGv6ZyA6KaB5a6h5om5Jyl7XHJcblx0XHRcdFx0Ly8gXHRcdFx0XHR1bmkuc3dpdGNoVGFiKHtcclxuXHRcdFx0XHQvLyBcdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL3RhYkJhci9leGFtaW5lL2V4YW1pbmUnLFxyXG5cdFx0XHRcdC8vIFx0XHRcdFx0fSlcclxuXHRcdFx0XHQvLyBcdFx0XHQvL+WuoeaguOe7k+aenOKAlOKAlOmmlumhte+8iOWQjue7reWKoHBj56uv5L+h5oGv5Y+R5biD6aG177yJXHJcblx0XHRcdFx0Ly8gXHRcdFx0fWVsc2UgaWYocmVzdWx0LnRpdGxlLmluY2x1ZGVzKCfkv6Hmga/lrqHmoLgnKSl7XHJcblx0XHRcdFx0Ly8gXHRcdFx0XHR1bmkuc3dpdGNoVGFiKHtcclxuXHRcdFx0XHQvLyBcdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL3RhYkJhci9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbicsXHJcblx0XHRcdFx0Ly8gXHRcdFx0XHR9KVxyXG5cdFx0XHRcdC8vIFx0XHRcdH1cclxuXHRcdFx0XHQvLyBcdFx0fWVsc2Uge1xyXG5cdFx0XHRcdC8vIFx0XHRcdGNvbnNvbGUubG9nKFwi5pyq55m75b2VXCIpXHJcblx0XHRcdFx0Ly8gXHRcdFx0Ly/mnKrnmbvlvZXot7PovazpppbpobVcclxuXHRcdFx0XHQvLyBcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0Ly8gXHRcdFx0XHR1cmw6ICcvcGFnZXMvaW5kZXgvaW5kZXgnLFxyXG5cdFx0XHRcdC8vIFx0XHRcdFx0Y29tcGxldGUocmVzKSB7XHJcblx0XHRcdFx0Ly8gXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0Ly8gXHRcdFx0XHR9XHJcblx0XHRcdFx0Ly8gXHRcdFx0fSlcclxuXHRcdFx0XHQvLyBcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHQvLyBcdFx0XHRcdGljb246ICdub25lJyxcclxuXHRcdFx0XHQvLyBcdFx0XHRcdHRpdGxlOiAn6K+35YWI55m75b2VJyxcclxuXHRcdFx0XHQvLyBcdFx0XHRcdGR1cmF0aW9uOiAzMDAwXHJcblx0XHRcdFx0Ly8gXHRcdFx0fSlcclxuXHRcdFx0XHQvLyBcdFx0fVxyXG5cdFx0XHRcdC8vIFx0fVxyXG5cdFx0XHRcdC8vIH0pO1xyXG5cdFx0XHRcdC8vIGpwdXNoTW9kdWxlLmFkZEN1c3RvbU1lc3NhZ2VMaXN0ZW5lcihyZXN1bHQ9PntcclxuXHRcdFx0XHQvLyBcdGxldCB0eXBlID0gcmVzdWx0LnR5cGVcclxuXHRcdFx0XHQvLyBcdGxldCBtZXNzYWdlVHlwZSA9IHJlc3VsdC5tZXNzYWdlVHlwZVxyXG5cdFx0XHRcdC8vIFx0bGV0IGNvbnRlbnQgPSByZXN1bHQuY29udGVudFxyXG5cdFx0XHRcdC8vIFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0Ly8gXHRcdGljb246ICdub25lJyxcclxuXHRcdFx0XHQvLyBcdFx0dGl0bGU6IEpTT04uc3RyaW5naWZ5KHJlc3VsdCksXHJcblx0XHRcdFx0Ly8gXHRcdGR1cmF0aW9uOiAzMDAwXHJcblx0XHRcdFx0Ly8gXHR9KVxyXG5cdFx0XHRcdC8vIH0pO1xyXG5cdFx0XHRcdC8vIGpwdXNoTW9kdWxlLmFkZExvY2FsTm90aWZpY2F0aW9uTGlzdGVuZXIocmVzdWx0PT57XHJcblx0XHRcdFx0Ly8gXHRsZXQgbWVzc2FnZUlEID0gcmVzdWx0Lm1lc3NhZ2VJRFxyXG5cdFx0XHRcdC8vIFx0bGV0IHRpdGxlID0gcmVzdWx0LnRpdGxlXHJcblx0XHRcdFx0Ly8gXHRsZXQgY29udGVudCA9IHJlc3VsdC5jb250ZW50XHJcblx0XHRcdFx0Ly8gXHRsZXQgZXh0cmFzID0gcmVzdWx0LmV4dHJhc1xyXG5cdFx0XHRcdC8vIFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0Ly8gXHRcdGljb246ICdub25lJyxcclxuXHRcdFx0XHQvLyBcdFx0dGl0bGU6IEpTT04uc3RyaW5naWZ5KHJlc3VsdCksXHJcblx0XHRcdFx0Ly8gXHRcdGR1cmF0aW9uOiAzMDAwXHJcblx0XHRcdFx0Ly8gXHR9KVxyXG5cdFx0XHRcdC8vIH0pXHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Ly8ganB1c2hNb2R1bGUuYWRkR2VvZmVuY2VMaXN0ZW5lcihyZXN1bHQgPT4ge1xyXG5cdFx0XHRcdC8vIFx0bGV0IGNvZGUgPSByZXN1bHQuY29kZVxyXG5cdFx0XHRcdC8vIFx0bGV0IHR5cGUgPSByZXN1bHQudHlwZVxyXG5cdFx0XHRcdC8vIFx0bGV0IGdlb2ZlbmNlSWQgPSByZXN1bHQuZ2VvZmVuY2VJZFxyXG5cdFx0XHRcdC8vIFx0bGV0IHVzZXJJbmZvID0gcmVzdWx0LnVzZXJJbmZvXHJcblx0XHRcdFx0Ly8gXHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHQvLyBcdFx0aWNvbjogJ25vbmUnLFxyXG5cdFx0XHRcdC8vIFx0XHR0aXRsZTogJ+inpuWPkeWcsOeQhuWbtOagjycsXHJcblx0XHRcdFx0Ly8gXHRcdGR1cmF0aW9uOiAzMDAwXHJcblx0XHRcdFx0Ly8gXHR9KVxyXG5cdFx0XHRcdC8vIH0pXHJcblx0XHQvLyBcdFx0anB1c2hNb2R1bGUuc2V0SXNBbGxvd2VkSW5NZXNzYWdlUG9wKHRydWUpXHJcblx0XHQvLyBcdFx0anB1c2hNb2R1bGUucHVsbEluTWVzc2FnZShyZXN1bHQgPT4ge1xyXG5cdFx0Ly8gXHRcdFx0bGV0IGNvZGUgPSByZXN1bHQuY29kZVxyXG5cdFx0Ly8gXHRcdFx0Y29uc29sZS5sb2coY29kZSlcclxuXHRcdC8vIFx0XHR9KVxyXG5cclxuXHRcdC8vIFx0XHRqcHVzaE1vZHVsZS5hZGRJbk1lc3NhZ2VMaXN0ZW5lcihyZXN1bHQgPT4ge1xyXG5cdFx0Ly8gXHRcdFx0bGV0IGV2ZW50VHlwZSA9IHJlc3VsdC5ldmVudFR5cGVcclxuXHRcdC8vIFx0XHRcdGxldCBtZXNzYWdlVHlwZSA9IHJlc3VsdC5tZXNzYWdlVHlwZVxyXG5cdFx0Ly8gXHRcdFx0bGV0IGNvbnRlbnQgPSByZXN1bHQuY29udGVudFxyXG5cdFx0Ly8gXHRcdFx0Y29uc29sZS5sb2coJ2luTWVzc2FnZUxpc3RlbmVyJywgZXZlbnRUeXBlLCBtZXNzYWdlVHlwZSwgY29udGVudClcclxuXHJcblx0XHQvLyBcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdC8vIFx0XHRcdFx0aWNvbjogJ25vbmUnLFxyXG5cdFx0Ly8gXHRcdFx0XHR0aXRsZTogSlNPTi5zdHJpbmdpZnkocmVzdWx0KSxcclxuXHRcdC8vIFx0XHRcdFx0ZHVyYXRpb246IDMwMDBcclxuXHRcdC8vIFx0XHRcdH0pXHJcblx0XHQvLyBcdFx0fSlcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdG9uU2hvdzogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Ly8gcGx1cy5ydW50aW1lLmdldFByb3BlcnR5KHBsdXMucnVudGltZS5hcHBpZCwgd2d0aW5mbyA9PiB7XHJcblx0XHRcdFx0Ly8gXHQgdGhpcy52ZXJzaW9uID0gd2d0aW5mby52ZXJzaW9uO1xyXG5cdFx0XHRcdC8vIFx0IGlmKHRoaXMudmVyc2lvbil7XHJcblx0XHRcdFx0Ly8gXHRcdCB0aGlzLmdldE1heFZlcnNpb24oKTtcclxuXHRcdFx0XHQvLyBcdCB9XHJcblx0XHRcdFx0Ly8gIFx0fSlcclxuXHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ0FwcCBTaG93JylcclxuXHJcblx0XHRcdFx0XHJcblx0XHRcdH0sXHJcblx0XHRcdG9uSGlkZTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Ly8ganB1c2hNb2R1bGUuaW5pdEpQdXNoU2VydmljZSgpO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdBcHAgSGlkZScpXHJcblx0XHRcdH0sXHJcblx0XHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0XHQvLyDojrflj5bmnIDmlrDniYjmnKxcclxuXHRcdFx0XHRnZXRNYXhWZXJzaW9uKCkge1xyXG5cdFx0XHRcdCAgdW5pLmdldFN5c3RlbUluZm8oe1xyXG5cdFx0XHRcdCAgICBzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHQgIGdldExhc3RBcHAoKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRcdCAgaWYgKHJlcy5jb2RlID09PSAxMDApIHtcclxuXHRcdFx0XHRcdFx0XHQgIGNvbnNvbGUubG9nKHJlcywncmVzJyk7XHJcblx0XHRcdFx0XHRcdFx0ICB0aGlzLnVwZGF0ZVZlcnNpb24ocmVzLmRhdGEpO1xyXG5cdFx0XHRcdFx0XHQgIH1cclxuXHRcdFx0XHRcdCAgfSlcclxuXHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHQgIH0pO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Ly8g54mI5pys5a+55q+UXHJcblx0XHRcdFx0dXBkYXRlVmVyc2lvbihkYXRhKSB7XHJcblx0XHRcdFx0ICBjb25zdCBsYXN0VmVyc2lvbiA9IGRhdGEudmVyc2lvbjsgLy/mnIDmlrDniYjmnKxcclxuXHRcdFx0XHQgIGNvbnN0IGN1clZlcnNpb24gPSB0aGlzLnZlcnNpb247IC8vIOW9k+WJjeeJiOacrFxyXG5cdFx0XHRcdCAgY29uc29sZS5sb2coXCJsYXN0VmVyc2lvblwiLGxhc3RWZXJzaW9uKVxyXG5cdFx0XHRcdCAgY29uc29sZS5sb2coXCJjdXJWZXJzaW9uXCIsY3VyVmVyc2lvbilcclxuXHRcdFx0XHQgIGlmIChjdXJWZXJzaW9uICYmIGxhc3RWZXJzaW9uKSB7XHJcblx0XHRcdFx0XHQgIGNvbnN0IGN1ck51bSA9ICBwYXJzZUludChjdXJWZXJzaW9uLnJlcGxhY2UoL1ssfC5dL2csICcnKSlcclxuXHRcdFx0XHRcdCAgY29uc3QgbGFzdE51bSA9ICBwYXJzZUludChsYXN0VmVyc2lvbi5yZXBsYWNlKC9bLHwuXS9nLCAnJykpXHJcblx0XHRcdFx0XHQgXHJcblx0XHRcdFx0ICAgIGlmIChsYXN0TnVtID4gY3VyTnVtKSB7XHJcblx0XHRcdFx0ICAgICAgdGhpcy5zaG93Rmx5KGRhdGEuYXR0YWNobWVudEluZm8uZmlsZVVybCxsYXN0VmVyc2lvbik7XHJcblx0XHRcdFx0XHQgIFxyXG5cdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0ICB9XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdC8vIOeJiOacrOS4i+i9vSDljYfnuqdcclxuXHRcdFx0XHRzaG93Rmx5KHVybCxsYXN0VmVyc2lvbikge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCJ1cmxcIix1cmwpXHJcblx0XHRcdFx0ICB1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHQgICAgdGl0bGU6IFwi5pu05paw5o+Q56S6XCIsXHJcblx0XHRcdFx0ICAgIGNvbnRlbnQ6IGDlj5HnjrDmlrDniYjmnKwke2xhc3RWZXJzaW9ufe+8jOeri+WNs+WNh+e6p++8gWAsXHJcblx0XHRcdFx0ICAgIHNob3dDYW5jZWw6IGZhbHNlLCAvLyDlpoLmnpzmmK/lvLrliLbmm7TmlrDlsLHkuI3mmL7npLrlj5bmtojmjInpkq5cclxuXHRcdFx0XHQgICAgc3VjY2VzczogKGUpID0+IHtcclxuXHRcdFx0XHQgICAgICBpZiAoZS5jb25maXJtKSB7XHJcblx0XHRcdFx0ICAgICAgICB1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdCAgICAgICAgICB0aXRsZTogXCLmm7TmlrDkuK3igKbigKZcIixcclxuXHRcdFx0XHQgICAgICAgIH0pO1xyXG5cdFx0XHRcdCAgICAgICAgY29uc3QgZG93bmxvYWRUYXNrID0gdW5pLmRvd25sb2FkRmlsZSh7XHJcblx0XHRcdFx0ICAgICAgICAgIHVybDogVlVFX0FQUF9CQVNFX1VSTCArIHVybCwgLy8g6L+Z5Liq5piv5pyA5paw54mI5pysYXBr5YyF55qE5Zyw5Z2AXHJcblx0XHRcdFx0ICAgICAgICAgIHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHQgICAgICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHQgICAgICAgICAgICBpZiAocmVzLnN0YXR1c0NvZGUgPT09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJ1cmxcIixWVUVfQVBQX0JBU0VfVVJMICsgdXJsKVxyXG5cdFx0XHRcdCAgICAgICAgICAgICAgcGx1cy5ydW50aW1lLmluc3RhbGwocmVzLnRlbXBGaWxlUGF0aCwgeyBmb3JjZTogdHJ1ZSB9LCBfcmVzID0+IHtcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuabtOaWsOaIkOWKn++8jOmHjeWQr+S4rVwiLFxyXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDE2MDAsXHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgfSk7XHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgcGx1cy5ydW50aW1lLnJlc3RhcnQoKTtcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgICB1bmkuaGlkZVRvYXN0KCk7XHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0XHQgICAgICAgICAgICAgICk7XHJcblx0XHRcdFx0ICAgICAgICAgICAgfSBlbHNlIHtcclxuXHRcdFx0XHQgICAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdCAgICAgICAgICAgICAgICB0aXRsZTogXCLkuIvovb3lpLHotKXvvIFcIixcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgaWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgIGR1cmF0aW9uOiA4MDAsXHJcblx0XHRcdFx0ICAgICAgICAgICAgICB9KTtcclxuXHRcdFx0XHQgICAgICAgICAgICB9XHJcblx0XHRcdFx0ICAgICAgICAgIH0sXHJcblx0XHRcdFx0ICAgICAgICB9KTtcclxuXHRcdFx0XHQgICAgICB9XHJcblx0XHRcdFx0ICAgIH0sXHJcblx0XHRcdFx0ICB9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCI+XHJcblx0QGltcG9ydCBcIkAvdW5pX21vZHVsZXMvdXZpZXctdWkvaW5kZXguc2Nzc1wiO1xyXG5cdC8q5q+P5Liq6aG16Z2i5YWs5YWxY3NzICovXHJcblx0QGltcG9ydCAnQC91bmlfbW9kdWxlcy91bmktc2Nzcy9pbmRleC5zY3NzJztcclxuXHQvKiAjaWZuZGVmIEFQUC1OVlVFICovXHJcblx0QGltcG9ydCAnQC9zdGF0aWMvY3VzdG9taWNvbnMuY3NzJztcclxuXHQvLyDorr7nva7mlbTkuKrpobnnm67nmoTog4zmma/oibJcclxuXHRwYWdlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZmE7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQvKiAjZW5kaWYgKi9cclxuXHQuZXhhbXBsZS1pbmZvIHtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdGNvbG9yOiAjMzMzO1xyXG5cdFx0cGFkZGluZzogMTBweDtcclxuXHR9XHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///345\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _index = __webpack_require__(/*! api/index.js */ 71);\nvar _constant = _interopRequireDefault(__webpack_require__(/*! common/constant.js */ 73));\nvar jpushModule = uni.requireNativePlugin(\"JG-JPush\");\nvar _default = {\n  data: function data() {\n    return {\n      version: ''\n    };\n  },\n  onLaunch: function onLaunch() {\n    // jpushModule.initJPushService();\n    // jpushModule.setLoggerEnable(true);\n    // jpushModule.addConnectEventListener(result=>{\n    // \tlet connectEnable = result.connectEnable\n    // \tuni.$emit('connectStatusChange',connectEnable)\n    // });\n    // //消息回调——点击通知栏消息 跳转指定页面\n    // jpushModule.addNotificationListener(result=>{\n    // \tif (result.notificationEventType == \"notificationOpened\") {\n    // \t\t//判断是否登录\n    // \t\tif (uni.getStorageSync('tk')) {\n    // \t\t\t//工作通知——工作人员工作通知页\n    // \t\t\tif (result.title.includes('工作通知')){\n    // \t\t\t\tuni.switchTab({\n    // \t\t\t\t\turl: '/pages/tabBar/notice/notice',\n    // \t\t\t\t})\n    // \t\t\t//信息审核——领导审核页\n    // \t\t\t}else if(result.title == '您有新的信息需要审批'){\n    // \t\t\t\tuni.switchTab({\n    // \t\t\t\t\turl: '/pages/tabBar/examine/examine',\n    // \t\t\t\t})\n    // \t\t\t//审核结果——首页(后续加pc端信息发布页)\n    // \t\t\t}else if(result.title.includes('信息审核')){\n    // \t\t\t\tuni.switchTab({\n    // \t\t\t\t\turl: '/pages/tabBar/information/information',\n    // \t\t\t\t})\n    // \t\t\t}\n    // \t\t}else {\n    // \t\t\tconsole.log(\"未登录\")\n    // \t\t\t//未登录跳转首页\n    // \t\t\tuni.navigateTo({\n    // \t\t\t\turl: '/pages/index/index',\n    // \t\t\t\tcomplete(res) {\n    // \t\t\t\t\tconsole.log(res);\n    // \t\t\t\t}\n    // \t\t\t})\n    // \t\t\tuni.showToast({\n    // \t\t\t\ticon: 'none',\n    // \t\t\t\ttitle: '请先登录',\n    // \t\t\t\tduration: 3000\n    // \t\t\t})\n    // \t\t}\n    // \t}\n    // });\n    // jpushModule.addCustomMessageListener(result=>{\n    // \tlet type = result.type\n    // \tlet messageType = result.messageType\n    // \tlet content = result.content\n    // \tuni.showToast({\n    // \t\ticon: 'none',\n    // \t\ttitle: JSON.stringify(result),\n    // \t\tduration: 3000\n    // \t})\n    // });\n    // jpushModule.addLocalNotificationListener(result=>{\n    // \tlet messageID = result.messageID\n    // \tlet title = result.title\n    // \tlet content = result.content\n    // \tlet extras = result.extras\n    // \tuni.showToast({\n    // \t\ticon: 'none',\n    // \t\ttitle: JSON.stringify(result),\n    // \t\tduration: 3000\n    // \t})\n    // })\n\n    // jpushModule.addGeofenceListener(result => {\n    // \tlet code = result.code\n    // \tlet type = result.type\n    // \tlet geofenceId = result.geofenceId\n    // \tlet userInfo = result.userInfo\n    // \tuni.showToast({\n    // \t\ticon: 'none',\n    // \t\ttitle: '触发地理围栏',\n    // \t\tduration: 3000\n    // \t})\n    // })\n    // \t\tjpushModule.setIsAllowedInMessagePop(true)\n    // \t\tjpushModule.pullInMessage(result => {\n    // \t\t\tlet code = result.code\n    // \t\t\tconsole.log(code)\n    // \t\t})\n\n    // \t\tjpushModule.addInMessageListener(result => {\n    // \t\t\tlet eventType = result.eventType\n    // \t\t\tlet messageType = result.messageType\n    // \t\t\tlet content = result.content\n    // \t\t\tconsole.log('inMessageListener', eventType, messageType, content)\n\n    // \t\t\tuni.showToast({\n    // \t\t\t\ticon: 'none',\n    // \t\t\t\ttitle: JSON.stringify(result),\n    // \t\t\t\tduration: 3000\n    // \t\t\t})\n    // \t\t})\n  },\n  onShow: function onShow() {\n    // plus.runtime.getProperty(plus.runtime.appid, wgtinfo => {\n    // \t this.version = wgtinfo.version;\n    // \t if(this.version){\n    // \t\t this.getMaxVersion();\n    // \t }\n    //  \t})\n\n    __f__(\"log\", 'App Show', \" at App.vue:121\");\n  },\n  onHide: function onHide() {\n    // jpushModule.initJPushService();\n    __f__(\"log\", 'App Hide', \" at App.vue:127\");\n  },\n  methods: {\n    // 获取最新版本\n    getMaxVersion: function getMaxVersion() {\n      var _this = this;\n      uni.getSystemInfo({\n        success: function success(res) {\n          (0, _index.getLastApp)().then(function (res) {\n            if (res.code === 100) {\n              __f__(\"log\", res, 'res', \" at App.vue:136\");\n              _this.updateVersion(res.data);\n            }\n          });\n        }\n      });\n    },\n    // 版本对比\n    updateVersion: function updateVersion(data) {\n      var lastVersion = data.version; //最新版本\n      var curVersion = this.version; // 当前版本\n      __f__(\"log\", \"lastVersion\", lastVersion, \" at App.vue:148\");\n      __f__(\"log\", \"curVersion\", curVersion, \" at App.vue:149\");\n      if (curVersion && lastVersion) {\n        var curNum = parseInt(curVersion.replace(/[,|.]/g, ''));\n        var lastNum = parseInt(lastVersion.replace(/[,|.]/g, ''));\n        if (lastNum > curNum) {\n          this.showFly(data.attachmentInfo.fileUrl, lastVersion);\n        }\n      }\n    },\n    // 版本下载 升级\n    showFly: function showFly(url, lastVersion) {\n      __f__(\"log\", \"url\", url, \" at App.vue:162\");\n      uni.showModal({\n        title: \"更新提示\",\n        content: \"\\u53D1\\u73B0\\u65B0\\u7248\\u672C\".concat(lastVersion, \"\\uFF0C\\u7ACB\\u5373\\u5347\\u7EA7\\uFF01\"),\n        showCancel: false,\n        // 如果是强制更新就不显示取消按钮\n        success: function success(e) {\n          if (e.confirm) {\n            uni.showLoading({\n              title: \"更新中……\"\n            });\n            var downloadTask = uni.downloadFile({\n              url: _constant.default + url,\n              // 这个是最新版本apk包的地址\n              success: function success(res) {\n                uni.hideLoading();\n                if (res.statusCode === 200) {\n                  __f__(\"log\", \"url\", _constant.default + url, \" at App.vue:177\");\n                  plus.runtime.install(res.tempFilePath, {\n                    force: true\n                  }, function (_res) {\n                    uni.showToast({\n                      title: \"更新成功,重启中\",\n                      duration: 1600\n                    });\n                    plus.runtime.restart();\n                    uni.hideToast();\n                  });\n                } else {\n                  uni.showToast({\n                    title: \"下载失败!\",\n                    icon: \"none\",\n                    duration: 800\n                  });\n                }\n              }\n            });\n          }\n        }\n      });\n    }\n  }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 28)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJqcHVzaE1vZHVsZSIsInVuaSIsInJlcXVpcmVOYXRpdmVQbHVnaW4iLCJkYXRhIiwidmVyc2lvbiIsIm9uTGF1bmNoIiwib25TaG93Iiwib25IaWRlIiwibWV0aG9kcyIsImdldE1heFZlcnNpb24iLCJnZXRTeXN0ZW1JbmZvIiwic3VjY2VzcyIsInJlcyIsImdldExhc3RBcHAiLCJ0aGVuIiwiY29kZSIsInVwZGF0ZVZlcnNpb24iLCJsYXN0VmVyc2lvbiIsImN1clZlcnNpb24iLCJjdXJOdW0iLCJwYXJzZUludCIsInJlcGxhY2UiLCJsYXN0TnVtIiwic2hvd0ZseSIsImF0dGFjaG1lbnRJbmZvIiwiZmlsZVVybCIsInVybCIsInNob3dNb2RhbCIsInRpdGxlIiwiY29udGVudCIsInNob3dDYW5jZWwiLCJlIiwiY29uZmlybSIsInNob3dMb2FkaW5nIiwiZG93bmxvYWRUYXNrIiwiZG93bmxvYWRGaWxlIiwiVlVFX0FQUF9CQVNFX1VSTCIsImhpZGVMb2FkaW5nIiwic3RhdHVzQ29kZSIsInBsdXMiLCJydW50aW1lIiwiaW5zdGFsbCIsInRlbXBGaWxlUGF0aCIsImZvcmNlIiwiX3JlcyIsInNob3dUb2FzdCIsImR1cmF0aW9uIiwicmVzdGFydCIsImhpZGVUb2FzdCIsImljb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQztBQUNBO0FBRUQsSUFBSUEsV0FBVyxHQUFHQyxHQUFHLENBQUNDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQztBQUFBLGVBQ3JDO0VBQ2RDLElBQUksa0JBQUc7SUFDTixPQUFPO01BQ05DLE9BQU8sRUFBRTtJQUNWLENBQUM7RUFDRixDQUFDO0VBQ0FDLFFBQVEsRUFBRSxvQkFBVztJQUNwQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFD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QixHQUFHLENBQUMwQixVQUFVLEtBQUssR0FBRyxFQUFFO2tCQUNwQyxhQUFZLEtBQUssRUFBQ0YsaUJBQWdCLEdBQUdWLEdBQUc7a0JBQzlCYSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDN0IsR0FBRyxDQUFDOEIsWUFBWSxFQUFFO29CQUFFQyxLQUFLLEVBQUU7a0JBQUssQ0FBQyxFQUFFLFVBQUFDLElBQUksRUFBSTtvQkFDNUQzQyxHQUFHLENBQUM0QyxTQUFTLENBQUM7c0JBQ1pqQixLQUFLLEVBQUUsVUFBVTtzQkFDakJrQixRQUFRLEVBQUU7b0JBQ1osQ0FBQyxDQUFDO29CQUNGUCxJQUFJLENBQUNDLE9BQU8sQ0FBQ08sT0FBTyxFQUFFO29CQUN0QjlDLEdBQUcsQ0FBQytDLFNBQVMsRUFBRTtrQkFDakIsQ0FBQyxDQUNGO2dCQUNILENBQUMsTUFBTTtrQkFDTC9DLEdBQUcsQ0FBQzRDLFNBQVMsQ0FBQztvQkFDWmpCLEtBQUssRUFBRSxPQUFPO29CQUNkcUIsSUFBSSxFQUFFLE1BQU07b0JBQ1pILFFBQVEsRUFBRTtrQkFDWixDQUFDLENBQUM7Z0JBQ0o7Y0FDRjtZQUNGLENBQUMsQ0FBQztVQUNKO1FBQ0Y7TUFDRixDQUFDLENBQUM7SUFDSjtFQUNEO0FBQ0QsQ0FBQztBQUFBLDJCIiwiZmlsZSI6IjM0NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuXHRpbXBvcnQge2dldExhc3RBcHB9IGZyb20gJ2FwaS9pbmRleC5qcyc7XG5cdGltcG9ydCBWVUVfQVBQX0JBU0VfVVJMIGZyb20gJ2NvbW1vbi9jb25zdGFudC5qcydcblx0XG52YXIganB1c2hNb2R1bGUgPSB1bmkucmVxdWlyZU5hdGl2ZVBsdWdpbihcIkpHLUpQdXNoXCIpXG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dmVyc2lvbjogJydcblx0XHRcdH1cblx0XHR9LFxuXHRcdFx0b25MYXVuY2g6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHQvLyBqcHVzaE1vZHVsZS5pbml0SlB1c2hTZXJ2aWNlKCk7XG5cdFx0XHRcdC8vIGpwdXNoTW9kdWxlLnNldExvZ2dlckVuYWJsZSh0cnVlKTtcblx0XHRcdFx0Ly8ganB1c2hNb2R1bGUuYWRkQ29ubmVjdEV2ZW50TGlzdGVuZXIocmVzdWx0PT57XG5cdFx0XHRcdC8vIFx0bGV0IGNvbm5lY3RFbmFibGUgPSByZXN1bHQuY29ubmVjdEVuYWJsZVxuXHRcdFx0XHQvLyBcdHVuaS4kZW1pdCgnY29ubmVjdFN0YXR1c0NoYW5nZScsY29ubmVjdEVuYWJsZSlcblx0XHRcdFx0Ly8gfSk7XG5cdFx0XHRcdC8vIC8v5raI5oGv5Zue6LCD4oCU4oCU54K55Ye76YCa55+l5qCP5raI5oGvIOi3s+i9rOaMh+WumumhtemdolxuXHRcdFx0XHQvLyBqcHVzaE1vZHVsZS5hZGROb3RpZmljYXRpb25MaXN0ZW5lcihyZXN1bHQ9Pntcblx0XHRcdFx0Ly8gXHRpZiAocmVzdWx0Lm5vdGlmaWNhdGlvbkV2ZW50VHlwZSA9PSBcIm5vdGlmaWNhdGlvbk9wZW5lZFwiKSB7XG5cdFx0XHRcdC8vIFx0XHQvL+WIpOaWreaYr+WQpueZu+W9lVxuXHRcdFx0XHQvLyBcdFx0aWYgKHVuaS5nZXRTdG9yYWdlU3luYygndGsnKSkge1xuXHRcdFx0XHQvLyBcdFx0XHQvL+W3peS9nOmAmuefpeKAlOKAlOW3peS9nOS6uuWRmOW3peS9nOmAmuefpemhtVxuXHRcdFx0XHQvLyBcdFx0XHRpZiAocmVzdWx0LnRpdGxlLmluY2x1ZGVzKCflt6XkvZzpgJrnn6UnKSl7XG5cdFx0XHRcdC8vIFx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XG5cdFx0XHRcdC8vIFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvdGFiQmFyL25vdGljZS9ub3RpY2UnLFxuXHRcdFx0XHQvLyBcdFx0XHRcdH0pXG5cdFx0XHRcdC8vIFx0XHRcdC8v5L+h5oGv5a6h5qC44oCU4oCU6aKG5a+85a6h5qC46aG1XG5cdFx0XHRcdC8vIFx0XHRcdH1lbHNlIGlmKHJlc3VsdC50aXRsZSA9PSAn5oKo5pyJ5paw55qE5L+h5oGv6ZyA6KaB5a6h5om5Jyl7XG5cdFx0XHRcdC8vIFx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XG5cdFx0XHRcdC8vIFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvdGFiQmFyL2V4YW1pbmUvZXhhbWluZScsXG5cdFx0XHRcdC8vIFx0XHRcdFx0fSlcblx0XHRcdFx0Ly8gXHRcdFx0Ly/lrqHmoLjnu5PmnpzigJTigJTpppbpobXvvIjlkI7nu63liqBwY+err+S/oeaBr+WPkeW4g+mhte+8iVxuXHRcdFx0XHQvLyBcdFx0XHR9ZWxzZSBpZihyZXN1bHQudGl0bGUuaW5jbHVkZXMoJ+S/oeaBr+WuoeaguCcpKXtcblx0XHRcdFx0Ly8gXHRcdFx0XHR1bmkuc3dpdGNoVGFiKHtcblx0XHRcdFx0Ly8gXHRcdFx0XHRcdHVybDogJy9wYWdlcy90YWJCYXIvaW5mb3JtYXRpb24vaW5mb3JtYXRpb24nLFxuXHRcdFx0XHQvLyBcdFx0XHRcdH0pXG5cdFx0XHRcdC8vIFx0XHRcdH1cblx0XHRcdFx0Ly8gXHRcdH1lbHNlIHtcblx0XHRcdFx0Ly8gXHRcdFx0Y29uc29sZS5sb2coXCLmnKrnmbvlvZVcIilcblx0XHRcdFx0Ly8gXHRcdFx0Ly/mnKrnmbvlvZXot7PovazpppbpobVcblx0XHRcdFx0Ly8gXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHQvLyBcdFx0XHRcdHVybDogJy9wYWdlcy9pbmRleC9pbmRleCcsXG5cdFx0XHRcdC8vIFx0XHRcdFx0Y29tcGxldGUocmVzKSB7XG5cdFx0XHRcdC8vIFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xuXHRcdFx0XHQvLyBcdFx0XHRcdH1cblx0XHRcdFx0Ly8gXHRcdFx0fSlcblx0XHRcdFx0Ly8gXHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdC8vIFx0XHRcdFx0aWNvbjogJ25vbmUnLFxuXHRcdFx0XHQvLyBcdFx0XHRcdHRpdGxlOiAn6K+35YWI55m75b2VJyxcblx0XHRcdFx0Ly8gXHRcdFx0XHRkdXJhdGlvbjogMzAwMFxuXHRcdFx0XHQvLyBcdFx0XHR9KVxuXHRcdFx0XHQvLyBcdFx0fVxuXHRcdFx0XHQvLyBcdH1cblx0XHRcdFx0Ly8gfSk7XG5cdFx0XHRcdC8vIGpwdXNoTW9kdWxlLmFkZEN1c3RvbU1lc3NhZ2VMaXN0ZW5lcihyZXN1bHQ9Pntcblx0XHRcdFx0Ly8gXHRsZXQgdHlwZSA9IHJlc3VsdC50eXBlXG5cdFx0XHRcdC8vIFx0bGV0IG1lc3NhZ2VUeXBlID0gcmVzdWx0Lm1lc3NhZ2VUeXBlXG5cdFx0XHRcdC8vIFx0bGV0IGNvbnRlbnQgPSByZXN1bHQuY29udGVudFxuXHRcdFx0XHQvLyBcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHQvLyBcdFx0aWNvbjogJ25vbmUnLFxuXHRcdFx0XHQvLyBcdFx0dGl0bGU6IEpTT04uc3RyaW5naWZ5KHJlc3VsdCksXG5cdFx0XHRcdC8vIFx0XHRkdXJhdGlvbjogMzAwMFxuXHRcdFx0XHQvLyBcdH0pXG5cdFx0XHRcdC8vIH0pO1xuXHRcdFx0XHQvLyBqcHVzaE1vZHVsZS5hZGRMb2NhbE5vdGlmaWNhdGlvbkxpc3RlbmVyKHJlc3VsdD0+e1xuXHRcdFx0XHQvLyBcdGxldCBtZXNzYWdlSUQgPSByZXN1bHQubWVzc2FnZUlEXG5cdFx0XHRcdC8vIFx0bGV0IHRpdGxlID0gcmVzdWx0LnRpdGxlXG5cdFx0XHRcdC8vIFx0bGV0IGNvbnRlbnQgPSByZXN1bHQuY29udGVudFxuXHRcdFx0XHQvLyBcdGxldCBleHRyYXMgPSByZXN1bHQuZXh0cmFzXG5cdFx0XHRcdC8vIFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdC8vIFx0XHRpY29uOiAnbm9uZScsXG5cdFx0XHRcdC8vIFx0XHR0aXRsZTogSlNPTi5zdHJpbmdpZnkocmVzdWx0KSxcblx0XHRcdFx0Ly8gXHRcdGR1cmF0aW9uOiAzMDAwXG5cdFx0XHRcdC8vIFx0fSlcblx0XHRcdFx0Ly8gfSlcblx0XHRcdFx0XG5cdFx0XHRcdFxuXHRcdFx0XHRcblx0XHRcdFx0XG5cdFx0XHRcdC8vIGpwdXNoTW9kdWxlLmFkZEdlb2ZlbmNlTGlzdGVuZXIocmVzdWx0ID0+IHtcblx0XHRcdFx0Ly8gXHRsZXQgY29kZSA9IHJlc3VsdC5jb2RlXG5cdFx0XHRcdC8vIFx0bGV0IHR5cGUgPSByZXN1bHQudHlwZVxuXHRcdFx0XHQvLyBcdGxldCBnZW9mZW5jZUlkID0gcmVzdWx0Lmdlb2ZlbmNlSWRcblx0XHRcdFx0Ly8gXHRsZXQgdXNlckluZm8gPSByZXN1bHQudXNlckluZm9cblx0XHRcdFx0Ly8gXHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0Ly8gXHRcdGljb246ICdub25lJyxcblx0XHRcdFx0Ly8gXHRcdHRpdGxlOiAn6Kem5Y+R5Zyw55CG5Zu05qCPJyxcblx0XHRcdFx0Ly8gXHRcdGR1cmF0aW9uOiAzMDAwXG5cdFx0XHRcdC8vIFx0fSlcblx0XHRcdFx0Ly8gfSlcblx0XHQvLyBcdFx0anB1c2hNb2R1bGUuc2V0SXNBbGxvd2VkSW5NZXNzYWdlUG9wKHRydWUpXG5cdFx0Ly8gXHRcdGpwdXNoTW9kdWxlLnB1bGxJbk1lc3NhZ2UocmVzdWx0ID0+IHtcblx0XHQvLyBcdFx0XHRsZXQgY29kZSA9IHJlc3VsdC5jb2RlXG5cdFx0Ly8gXHRcdFx0Y29uc29sZS5sb2coY29kZSlcblx0XHQvLyBcdFx0fSlcblxuXHRcdC8vIFx0XHRqcHVzaE1vZHVsZS5hZGRJbk1lc3NhZ2VMaXN0ZW5lcihyZXN1bHQgPT4ge1xuXHRcdC8vIFx0XHRcdGxldCBldmVudFR5cGUgPSByZXN1bHQuZXZlbnRUeXBlXG5cdFx0Ly8gXHRcdFx0bGV0IG1lc3NhZ2VUeXBlID0gcmVzdWx0Lm1lc3NhZ2VUeXBlXG5cdFx0Ly8gXHRcdFx0bGV0IGNvbnRlbnQgPSByZXN1bHQuY29udGVudFxuXHRcdC8vIFx0XHRcdGNvbnNvbGUubG9nKCdpbk1lc3NhZ2VMaXN0ZW5lcicsIGV2ZW50VHlwZSwgbWVzc2FnZVR5cGUsIGNvbnRlbnQpXG5cblx0XHQvLyBcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHQvLyBcdFx0XHRcdGljb246ICdub25lJyxcblx0XHQvLyBcdFx0XHRcdHRpdGxlOiBKU09OLnN0cmluZ2lmeShyZXN1bHQpLFxuXHRcdC8vIFx0XHRcdFx0ZHVyYXRpb246IDMwMDBcblx0XHQvLyBcdFx0XHR9KVxuXHRcdC8vIFx0XHR9KVxuXG5cdFx0XHR9LFxuXHRcdFx0b25TaG93OiBmdW5jdGlvbigpIHtcblx0XHRcdFx0Ly8gcGx1cy5ydW50aW1lLmdldFByb3BlcnR5KHBsdXMucnVudGltZS5hcHBpZCwgd2d0aW5mbyA9PiB7XG5cdFx0XHRcdC8vIFx0IHRoaXMudmVyc2lvbiA9IHdndGluZm8udmVyc2lvbjtcblx0XHRcdFx0Ly8gXHQgaWYodGhpcy52ZXJzaW9uKXtcblx0XHRcdFx0Ly8gXHRcdCB0aGlzLmdldE1heFZlcnNpb24oKTtcblx0XHRcdFx0Ly8gXHQgfVxuXHRcdFx0XHQvLyAgXHR9KVxuXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdBcHAgU2hvdycpXG5cblx0XHRcdFx0XG5cdFx0XHR9LFxuXHRcdFx0b25IaWRlOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0Ly8ganB1c2hNb2R1bGUuaW5pdEpQdXNoU2VydmljZSgpO1xuXHRcdFx0XHRjb25zb2xlLmxvZygnQXBwIEhpZGUnKVxuXHRcdFx0fSxcblx0XHRcdG1ldGhvZHM6IHtcblx0XHRcdFx0Ly8g6I635Y+W5pyA5paw54mI5pysXG5cdFx0XHRcdGdldE1heFZlcnNpb24oKSB7XG5cdFx0XHRcdCAgdW5pLmdldFN5c3RlbUluZm8oe1xuXHRcdFx0XHQgICAgc3VjY2VzczogKHJlcykgPT4ge1xuXHRcdFx0XHRcdCAgZ2V0TGFzdEFwcCgpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRcdCAgaWYgKHJlcy5jb2RlID09PSAxMDApIHtcblx0XHRcdFx0XHRcdFx0ICBjb25zb2xlLmxvZyhyZXMsJ3JlcycpO1xuXHRcdFx0XHRcdFx0XHQgIHRoaXMudXBkYXRlVmVyc2lvbihyZXMuZGF0YSk7XG5cdFx0XHRcdFx0XHQgIH1cblx0XHRcdFx0XHQgIH0pXG5cdFx0XHRcdCAgICB9LFxuXHRcdFx0XHQgIH0pO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRcblx0XHRcdFx0Ly8g54mI5pys5a+55q+UXG5cdFx0XHRcdHVwZGF0ZVZlcnNpb24oZGF0YSkge1xuXHRcdFx0XHQgIGNvbnN0IGxhc3RWZXJzaW9uID0gZGF0YS52ZXJzaW9uOyAvL+acgOaWsOeJiOacrFxuXHRcdFx0XHQgIGNvbnN0IGN1clZlcnNpb24gPSB0aGlzLnZlcnNpb247IC8vIOW9k+WJjeeJiOacrFxuXHRcdFx0XHQgIGNvbnNvbGUubG9nKFwibGFzdFZlcnNpb25cIixsYXN0VmVyc2lvbilcblx0XHRcdFx0ICBjb25zb2xlLmxvZyhcImN1clZlcnNpb25cIixjdXJWZXJzaW9uKVxuXHRcdFx0XHQgIGlmIChjdXJWZXJzaW9uICYmIGxhc3RWZXJzaW9uKSB7XG5cdFx0XHRcdFx0ICBjb25zdCBjdXJOdW0gPSAgcGFyc2VJbnQoY3VyVmVyc2lvbi5yZXBsYWNlKC9bLHwuXS9nLCAnJykpXG5cdFx0XHRcdFx0ICBjb25zdCBsYXN0TnVtID0gIHBhcnNlSW50KGxhc3RWZXJzaW9uLnJlcGxhY2UoL1ssfC5dL2csICcnKSlcblx0XHRcdFx0XHQgXG5cdFx0XHRcdCAgICBpZiAobGFzdE51bSA+IGN1ck51bSkge1xuXHRcdFx0XHQgICAgICB0aGlzLnNob3dGbHkoZGF0YS5hdHRhY2htZW50SW5mby5maWxlVXJsLGxhc3RWZXJzaW9uKTtcblx0XHRcdFx0XHQgIFxuXHRcdFx0XHQgICAgfVxuXHRcdFx0XHQgIH1cblx0XHRcdFx0fSxcblx0XHRcdFx0XHQvLyDniYjmnKzkuIvovb0g5Y2H57qnXG5cdFx0XHRcdHNob3dGbHkodXJsLGxhc3RWZXJzaW9uKSB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCJ1cmxcIix1cmwpXG5cdFx0XHRcdCAgdW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdCAgICB0aXRsZTogXCLmm7TmlrDmj5DnpLpcIixcblx0XHRcdFx0ICAgIGNvbnRlbnQ6IGDlj5HnjrDmlrDniYjmnKwke2xhc3RWZXJzaW9ufe+8jOeri+WNs+WNh+e6p++8gWAsXG5cdFx0XHRcdCAgICBzaG93Q2FuY2VsOiBmYWxzZSwgLy8g5aaC5p6c5piv5by65Yi25pu05paw5bCx5LiN5pi+56S65Y+W5raI5oyJ6ZKuXG5cdFx0XHRcdCAgICBzdWNjZXNzOiAoZSkgPT4ge1xuXHRcdFx0XHQgICAgICBpZiAoZS5jb25maXJtKSB7XG5cdFx0XHRcdCAgICAgICAgdW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0ICAgICAgICAgIHRpdGxlOiBcIuabtOaWsOS4reKApuKAplwiLFxuXHRcdFx0XHQgICAgICAgIH0pO1xuXHRcdFx0XHQgICAgICAgIGNvbnN0IGRvd25sb2FkVGFzayA9IHVuaS5kb3dubG9hZEZpbGUoe1xuXHRcdFx0XHQgICAgICAgICAgdXJsOiBWVUVfQVBQX0JBU0VfVVJMICsgdXJsLCAvLyDov5nkuKrmmK/mnIDmlrDniYjmnKxhcGvljIXnmoTlnLDlnYBcblx0XHRcdFx0ICAgICAgICAgIHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0ICAgICAgICAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRcdCAgICAgICAgICAgIGlmIChyZXMuc3RhdHVzQ29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJ1cmxcIixWVUVfQVBQX0JBU0VfVVJMICsgdXJsKVxuXHRcdFx0XHQgICAgICAgICAgICAgIHBsdXMucnVudGltZS5pbnN0YWxsKHJlcy50ZW1wRmlsZVBhdGgsIHsgZm9yY2U6IHRydWUgfSwgX3JlcyA9PiB7XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuabtOaWsOaIkOWKn++8jOmHjeWQr+S4rVwiLFxuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxNjAwLFxuXHRcdFx0XHQgICAgICAgICAgICAgICAgICB9KTtcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgcGx1cy5ydW50aW1lLnJlc3RhcnQoKTtcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgdW5pLmhpZGVUb2FzdCgpO1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgICAgICAgICk7XG5cdFx0XHRcdCAgICAgICAgICAgIH0gZWxzZSB7XG5cdFx0XHRcdCAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdCAgICAgICAgICAgICAgICB0aXRsZTogXCLkuIvovb3lpLHotKXvvIFcIixcblx0XHRcdFx0ICAgICAgICAgICAgICAgIGljb246IFwibm9uZVwiLFxuXHRcdFx0XHQgICAgICAgICAgICAgICAgZHVyYXRpb246IDgwMCxcblx0XHRcdFx0ICAgICAgICAgICAgICB9KTtcblx0XHRcdFx0ICAgICAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgICAgfSxcblx0XHRcdFx0ICAgICAgICB9KTtcblx0XHRcdFx0ICAgICAgfVxuXHRcdFx0XHQgICAgfSxcblx0XHRcdFx0ICB9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///345\n");
/***/ }),
/* 346 */