You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

571 lines
407 KiB

(this["webpackJsonp"] = this["webpackJsonp"] || []).push([["app-service"],[
/* 0 */
/*!*******************************************************************!*\
!*** /Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/main.js ***!
\*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\n__webpack_require__(/*! uni-pages */ 6);\nvar _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 16));\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 19));\nvar _util = _interopRequireDefault(__webpack_require__(/*! @/utils/util */ 20));\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n_vue.default.config.productionTip = false;\n_App.default.mpType = 'app';\nvar app = new _vue.default(_objectSpread({}, _App.default));\napp.$mount();\n_vue.default.prototype.util = _util.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vbWFpbi5qcyJdLCJuYW1lcyI6WyJWdWUiLCJjb25maWciLCJwcm9kdWN0aW9uVGlwIiwiQXBwIiwibXBUeXBlIiwiYXBwIiwiJG1vdW50IiwicHJvdG90eXBlIiwidXRpbCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQW1CO0FBR25CO0FBa0JBO0FBQWdDO0FBQUE7QUFqQmhDQSxZQUFHLENBQUNDLE1BQU0sQ0FBQ0MsYUFBYSxHQUFHLEtBQUs7QUFDaENDLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHLEtBQUs7QUFDbEIsSUFBTUMsR0FBRyxHQUFHLElBQUlMLFlBQUcsbUJBQ1pHLFlBQUcsRUFDUjtBQUNGRSxHQUFHLENBQUNDLE1BQU0sRUFBRTtBQWFaTixZQUFHLENBQUNPLFNBQVMsQ0FBQ0MsSUFBSSxHQUFHQSxhQUFJIiwiZmlsZSI6IjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3VuaS1wYWdlcyc7aW1wb3J0IEFwcCBmcm9tICcuL0FwcCdcblxuXG5pbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcblZ1ZS5jb25maWcucHJvZHVjdGlvblRpcCA9IGZhbHNlXG5BcHAubXBUeXBlID0gJ2FwcCdcbmNvbnN0IGFwcCA9IG5ldyBWdWUoe1xuICAgIC4uLkFwcFxufSlcbmFwcC4kbW91bnQoKVxuXG5cblxuXG5cblxuXG5cblxuXG5cbmltcG9ydCB1dGlsIGZyb20gXCJAL3V0aWxzL3V0aWxcIjtcblZ1ZS5wcm90b3R5cGUudXRpbCA9IHV0aWw7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///0\n");
/***/ }),
/* 1 */
/*!**********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
\**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 2 */
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/defineProperty.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 3);
function _defineProperty(obj, key, value) {
key = toPropertyKey(key);
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 3 */
/*!**************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
\**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var _typeof = __webpack_require__(/*! ./typeof.js */ 4)["default"];
var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ 5);
function _toPropertyKey(arg) {
var key = toPrimitive(arg, "string");
return _typeof(key) === "symbol" ? key : String(key);
}
module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 4 */
/*!*******************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
\*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _typeof(obj) {
"@babel/helpers - typeof";
return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
return typeof obj;
} : function (obj) {
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
}, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
}
module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 5 */
/*!************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/toPrimitive.js ***!
\************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var _typeof = __webpack_require__(/*! ./typeof.js */ 4)["default"];
function _toPrimitive(input, hint) {
if (_typeof(input) !== "object" || input === null) return input;
var prim = input[Symbol.toPrimitive];
if (prim !== undefined) {
var res = prim.call(input, hint || "default");
if (_typeof(res) !== "object") return res;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (hint === "string" ? String : Number)(input);
}
module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 6 */
/*!**********************************************************************!*\
!*** /Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/pages.json ***!
\**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
if (typeof Promise !== 'undefined' && !Promise.prototype.finally) {
Promise.prototype.finally = function (callback) {
var promise = this.constructor;
return this.then(function (value) {
return promise.resolve(callback()).then(function () {
return value;
});
}, function (reason) {
return promise.resolve(callback()).then(function () {
throw reason;
});
});
};
}
if (typeof uni !== 'undefined' && uni && uni.requireGlobal) {
var global = uni.requireGlobal();
ArrayBuffer = global.ArrayBuffer;
Int8Array = global.Int8Array;
Uint8Array = global.Uint8Array;
Uint8ClampedArray = global.Uint8ClampedArray;
Int16Array = global.Int16Array;
Uint16Array = global.Uint16Array;
Int32Array = global.Int32Array;
Uint32Array = global.Uint32Array;
Float32Array = global.Float32Array;
Float64Array = global.Float64Array;
BigInt64Array = global.BigInt64Array;
BigUint64Array = global.BigUint64Array;
}
if (uni.restoreGlobal) {
uni.restoreGlobal(weex, plus, setTimeout, clearTimeout, setInterval, clearInterval);
}
__definePage('pages/index/index', function () {
return Vue.extend(__webpack_require__(/*! pages/index/index.vue?mpType=page */ 7).default);
});
/***/ }),
/* 7 */
/*!*********************************************************************************************!*\
!*** /Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/pages/index/index.vue?mpType=page ***!
\*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _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 */ 10);\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 _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_Applications_HBuilderX_app_Contents_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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNkg7QUFDN0g7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQ3NOO0FBQ3ROLGdCQUFnQixpTkFBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSwyRkFBTTtBQUNSLEVBQUUsb0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzIH0gZnJvbSBcIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTJiZTg0YTNjJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwicGFnZXMvaW5kZXgvaW5kZXgudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7\n");
/***/ }),
/* 8 */
/*!***************************************************************************************************************************!*\
!*** /Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/pages/index/index.vue?vue&type=template&id=2be84a3c&mpType=page ***!
\***************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_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__(/*! -!../../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../../Applications/HBuilderX.app/Contents/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 _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_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 reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_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__, "recyclableRender", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_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__, "components", function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_Applications_HBuilderX_app_Contents_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"]; });
/***/ }),
/* 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!/Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/pages/index/index.vue?vue&type=template&id=2be84a3c&mpType=page ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"view",
{ staticClass: _vm._$s(0, "sc", "content"), attrs: { _i: 0 } },
[
_c("view", [
_c("view", { staticClass: _vm._$s(2, "sc", "btn"), attrs: { _i: 2 } }, [
_c("input", {
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.qrCodeRes,
expression: "qrCodeRes",
},
],
ref: "inputs",
attrs: { focus: _vm._$s(3, "a-focus", _vm.isfocus), _i: 3 },
domProps: { value: _vm._$s(3, "v-model", _vm.qrCodeRes) },
on: {
input: function ($event) {
if ($event.target.composing) {
return
}
_vm.qrCodeRes = $event.target.value
},
},
}),
_c("img", {
attrs: { src: _vm._$s(4, "a-src", _vm.scanimg), _i: 4 },
on: { click: _vm.scanCode },
}),
]),
_c(
"view",
{ staticClass: _vm._$s(5, "sc", "admin"), attrs: { _i: 5 } },
[_c("button", { attrs: { _i: 6 }, on: { click: _vm.usecode } })]
),
]),
]
)
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 10 */
/*!*********************************************************************************************************************!*\
!*** /Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/pages/index/index.vue?vue&type=script&lang=js&mpType=page ***!
\*********************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js&mpType=page */ 11);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXd2QixDQUFnQixzdEJBQUcsRUFBQyIsImZpbGUiOiIxMC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///10\n");
/***/ }),
/* 11 */
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./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!/Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/pages/index/index.vue?vue&type=script&lang=js&mpType=page ***!
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar Qrcode = __webpack_require__(/*! ../../utils/reqrcode.js */ 13);\nvar _default = {\n data: function data() {\n return {\n qrCodeRes: \"\",\n isfocus: true,\n showQr: false,\n scanimg: __webpack_require__(/*! @/static/scan.png */ 14)\n };\n },\n onShow: function onShow() {\n uni.getNetworkType({\n success: function success(res) {\n __f__(\"log\", res.networkType, \" at pages/index/index.vue:30\"); //网络类型 wifi、2g、3g、4g、ethernet、unknown、none\n if (res.networkType === \"none\") {\n __f__(\"log\", \"当前无网络\", \" at pages/index/index.vue:32\");\n uni.showToast({\n icon: \"none\",\n title: \"当前无网络\",\n duration: 2000\n });\n } else {}\n }\n });\n },\n methods: {\n usecode: function usecode() {\n var that = this;\n if (that.qrCodeRes == \"\") {\n uni.showToast({\n icon: \"none\",\n title: \"请扫码或输入活动码\",\n duration: 2000,\n complete: function complete() {}\n });\n return;\n }\n that.isfocus = false;\n that.util.request({\n api: '/api/member/code_use',\n method: \"get\",\n data: {\n code: that.qrCodeRes\n },\n utilSuccess: function utilSuccess(res) {\n if (res.errcode) {\n uni.showToast({\n icon: \"none\",\n title: res.errmsg,\n duration: 4000,\n complete: function complete() {\n that.qrCodeRes = \"\";\n that.isfocus = true;\n }\n });\n } else {\n uni.showToast({\n icon: \"none\",\n title: res.msg || '核销成功',\n duration: 4000,\n complete: function complete() {\n that.qrCodeRes = \"\";\n that.isfocus = true;\n }\n });\n }\n // that.areaList = result.detail\n },\n\n utilFail: function utilFail(res) {\n that.util.alert(res);\n }\n });\n },\n // 扫码\n scanCode: function scanCode() {\n this.scanCodeAPP();\n },\n // APP直接调用 uni.scanCode 接口\n scanCodeAPP: function scanCodeAPP() {\n var _this = this;\n uni.scanCode({\n scanType: ['qrCode'],\n success: function success(res) {\n _this.qrCodeRes = res.result;\n }\n });\n },\n // H5通过拉起相机拍照来识别二维码\n scanCodeH5: function scanCodeH5() {\n var _this2 = this;\n uni.chooseImage({\n count: 1,\n success: function success(imgRes) {\n Qrcode.qrcode.decode(_this2.getObjectURL(imgRes.tempFiles[0]));\n Qrcode.qrcode.callback = function (codeRes) {\n if (codeRes.indexOf('error') >= 0) {\n // 二维码识别失败\n _this2.qrCodeRes = '不合法二维码:' + codeRes;\n } else {\n // 二维码识别成功\n var r = _this2.decodeStr(codeRes);\n _this2.qrCodeRes = r;\n }\n };\n }\n });\n },\n // 获取文件地址函数\n getObjectURL: function getObjectURL(file) {\n var url = null;\n if (window.createObjectURL !== undefined) {\n // basic\n url = window.createObjectURL(file);\n } else if (window.URL !== undefined) {\n // mozilla(firefox)\n url = window.URL.createObjectURL(file);\n } else if (window.webkitURL !== undefined) {\n // webkit or chrome\n url = window.webkitURL.createObjectURL(file);\n }\n return url;\n },\n // 解码,输出:中文\n decodeStr: function decodeStr(str) {\n var out, i, len, c;\n var char2, char3;\n out = \"\";\n len = str.length;\n i = 0;\n while (i < len) {\n c = str.charCodeAt(i++);\n switch (c >> 4) {\n case 0:\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n // 0xxxxxxx\n out += str.charAt(i - 1);\n break;\n case 12:\n case 13:\n // 110x xxxx 10xx xxxx\n char2 = str.charCodeAt(i++);\n out += String.fromCharCode((c & 0x1F) << 6 | char2 & 0x3F);\n break;\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = str.charCodeAt(i++);\n char3 = str.charCodeAt(i++);\n out += String.fromCharCode((c & 0x0F) << 12 | (char2 & 0x3F) << 6 | (char3 & 0x3F) << 0);\n break;\n }\n }\n return out;\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 */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbIlFyY29kZSIsInJlcXVpcmUiLCJkYXRhIiwicXJDb2RlUmVzIiwiaXNmb2N1cyIsInNob3dRciIsInNjYW5pbWciLCJvblNob3ciLCJ1bmkiLCJnZXROZXR3b3JrVHlwZSIsInN1Y2Nlc3MiLCJyZXMiLCJuZXR3b3JrVHlwZSIsInNob3dUb2FzdCIsImljb24iLCJ0aXRsZSIsImR1cmF0aW9uIiwibWV0aG9kcyIsInVzZWNvZGUiLCJ0aGF0IiwiY29tcGxldGUiLCJ1dGlsIiwicmVxdWVzdCIsImFwaSIsIm1ldGhvZCIsImNvZGUiLCJ1dGlsU3VjY2VzcyIsImVycmNvZGUiLCJlcnJtc2ciLCJtc2ciLCJ1dGlsRmFpbCIsImFsZXJ0Iiwic2NhbkNvZGUiLCJzY2FuQ29kZUFQUCIsInNjYW5UeXBlIiwicmVzdWx0Iiwic2NhbkNvZGVINSIsImNob29zZUltYWdlIiwiY291bnQiLCJpbWdSZXMiLCJxcmNvZGUiLCJkZWNvZGUiLCJnZXRPYmplY3RVUkwiLCJ0ZW1wRmlsZXMiLCJjYWxsYmFjayIsImNvZGVSZXMiLCJpbmRleE9mIiwiciIsImRlY29kZVN0ciIsImZpbGUiLCJ1cmwiLCJ3aW5kb3ciLCJjcmVhdGVPYmplY3RVUkwiLCJ1bmRlZmluZWQiLCJVUkwiLCJ3ZWJraXRVUkwiLCJzdHIiLCJvdXQiLCJpIiwibGVuIiwiYyIsImNoYXIyIiwiY2hhcjMiLCJsZW5ndGgiLCJjaGFyQ29kZUF0IiwiY2hhckF0IiwiU3RyaW5nIiwiZnJvbUNoYXJDb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUMsSUFBSUEsTUFBTSxHQUFHQyxtQkFBTyxDQUFDLGlDQUF5QixDQUFDO0FBQUEsZUFDN0I7RUFDWEMsSUFBSSxrQkFBRztJQUNILE9BQU87TUFD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S0FBSyxFQUFFLEdBQzFDLENBQUNDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBRSxHQUNwQixDQUFDQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUUsQ0FBQztZQUN2QjtRQUFNO01BRVQ7TUFDQSxPQUFPTCxHQUFHO0lBQ1g7RUFHSztBQUNKLENBQUM7QUFBQSwyQiIsImZpbGUiOiIxMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxuXHRsZXQgUXJjb2RlID0gcmVxdWlyZSgnLi4vLi4vdXRpbHMvcmVxcmNvZGUuanMnKVxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgZGF0YSgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG5cdFx0XHRcdHFyQ29kZVJlczpcIlwiLFxuXHRcdFx0XHRpc2ZvY3VzOnRydWUsXG5cdFx0XHRcdHNob3dRcjpmYWxzZSxcblx0XHRcdFx0c2NhbmltZzpyZXF1aXJlKFwiQC9zdGF0aWMvc2Nhbi5wbmdcIilcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcblx0XHRvblNob3coKSB7XG5cdFx0XHR1bmkuZ2V0TmV0d29ya1R5cGUoe1xuXHRcdFx0ICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChyZXMpIHtcblx0XHRcdCAgICAgICAgY29uc29sZS5sb2cocmVzLm5ldHdvcmtUeXBlKTsvL+e9kee7nOexu+WeiyB3aWZp44CBMmfjgIEzZ+OAgTRn44CBZXRoZXJuZXTjgIF1bmtub3du44CBbm9uZVxuXHRcdFx0ICAgICAgICBpZihyZXMubmV0d29ya1R5cGUgPT09IFwibm9uZVwiICl7XG5cdFx0XHQgICAgICAgICAgICBjb25zb2xlLmxvZyhcIuW9k+WJjeaXoOe9kee7nFwiKTtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRpY29uOlwibm9uZVwiLFxuXHRcdFx0XHRcdFx0XHR0aXRsZTpcIuW9k+WJjeaXoOe9kee7nFwiLFxuXHRcdFx0XHRcdFx0XHRkdXJhdGlvbjoyMDAwXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0ICAgICAgICB9ZWxzZXtcblx0XHRcdCAgICAgICAgICAgIFxuXHRcdFx0ICAgICAgICB9XG5cdFx0XHQgICAgfVxuXHRcdFx0fSk7XG5cdFx0fSxcbiAgICAgICAgbWV0aG9kczoge1xuXHRcdFx0dXNlY29kZSgpIHtcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0XHRpZih0aGF0LnFyQ29kZVJlcz09XCJcIil7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRpY29uOlwibm9uZVwiLFxuXHRcdFx0XHRcdFx0dGl0bGU6XCLor7fmiavnoIHmiJbovpPlhaXmtLvliqjnoIFcIixcblx0XHRcdFx0XHRcdGR1cmF0aW9uOjIwMDAsXG5cdFx0XHRcdFx0XHRjb21wbGV0ZSgpIHtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoYXQuaXNmb2N1cyA9IGZhbHNlXG5cdFx0XHRcdHRoYXQudXRpbC5yZXF1ZXN0KHtcblx0XHRcdFx0XHRhcGk6ICcvYXBpL21lbWJlci9jb2RlX3VzZScsXG5cdFx0XHRcdFx0bWV0aG9kOiBcImdldFwiLFxuXHRcdFx0XHRcdGRhdGE6IHtcblx0XHRcdFx0XHRcdGNvZGU6dGhhdC5xckNvZGVSZXNcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHV0aWxTdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcblx0XHRcdFx0XHRcdGlmKHJlcy5lcnJjb2RlKXtcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0aWNvbjpcIm5vbmVcIixcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTpyZXMuZXJybXNnLFxuXHRcdFx0XHRcdFx0XHRcdGR1cmF0aW9uOjQwMDAsXG5cdFx0XHRcdFx0XHRcdFx0Y29tcGxldGUoKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LnFyQ29kZVJlcyA9IFwiXCI7XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LmlzZm9jdXM9dHJ1ZVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0aWNvbjpcIm5vbmVcIixcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTpyZXMubXNnfHwn5qC46ZSA5oiQ5YqfJyxcblx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjo0MDAwLFxuXHRcdFx0XHRcdFx0XHRcdGNvbXBsZXRlKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5xckNvZGVSZXMgPSBcIlwiXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LmlzZm9jdXM9dHJ1ZVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQvLyB0aGF0LmFyZWFMaXN0ID0gcmVzdWx0LmRldGFpbFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0dXRpbEZhaWw6IGZ1bmN0aW9uKHJlcykge1xuXHRcdFx0XHRcdFx0dGhhdC51dGlsLmFsZXJ0KHJlcyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH0sXG5cdFx0XHRcblx0XHRcdC8vIOaJq+eggVxuXHRcdFx0c2NhbkNvZGUoKSB7XG5cblx0XHRcdFx0dGhpcy5zY2FuQ29kZUFQUCgpXG5cblx0XHRcdFx0XG5cblxuXG5cdFx0XHR9LFxuXHRcdFx0Ly8gQVBQ55u05o6l6LCD55SoIHVuaS5zY2FuQ29kZSDmjqXlj6Ncblx0XHRcdHNjYW5Db2RlQVBQKCkge1xuXHRcdFx0XHR1bmkuc2NhbkNvZGUoe1xuXHRcdFx0XHRcdHNjYW5UeXBlOiBbJ3FyQ29kZSddLFxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMucXJDb2RlUmVzID0gcmVzLnJlc3VsdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHQvLyBINemAmui/h+aLiei1t+ebuOacuuaLjeeFp+adpeivhuWIq+S6jOe7tOeggVxuXHRcdFx0c2NhbkNvZGVINSgpIHtcblx0XHRcdFx0dW5pLmNob29zZUltYWdlKHtcblx0XHRcdFx0XHRjb3VudDogMSxcblx0XHRcdFx0XHRzdWNjZXNzOiBpbWdSZXMgPT4ge1xuXHRcdFx0XHRcdFx0UXJjb2RlLnFyY29kZS5kZWNvZGUodGhpcy5nZXRPYmplY3RVUkwoaW1nUmVzLnRlbXBGaWxlc1swXSkpXG5cdFx0XHRcdFx0XHRRcmNvZGUucXJjb2RlLmNhbGxiYWNrID0gKGNvZGVSZXMpID0+IHtcblx0XHRcdFx0XHRcdFx0aWYgKGNvZGVSZXMuaW5kZXhPZignZXJyb3InKSA+PSAwKSB7XG5cdFx0XHRcdFx0XHRcdFx0Ly8g5LqM57u056CB6K+G5Yir5aSx6LSlXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5xckNvZGVSZXMgPSAn5LiN5ZCI5rOV5LqM57u056CB77yaJyArIGNvZGVSZXNcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHQvLyDkuoznu7TnoIHor4bliKvmiJDlip9cblx0XHRcdFx0XHRcdFx0XHRsZXQgciA9IHRoaXMuZGVjb2RlU3RyKGNvZGVSZXMpXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5xckNvZGVSZXMgPSByXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0Ly8g6I635Y+W5paH5Lu25Zyw5Z2A5Ye95pWwXG5cdFx0XHRnZXRPYmplY3RVUkwoZmlsZSkge1xuXHRcdFx0XHR2YXIgdXJsID0gbnVsbFxuXHRcdFx0XHRpZiAod2luZG93LmNyZWF0ZU9iamVjdFVSTCAhPT0gdW5kZWZpbmVkKSB7IC8vIGJhc2ljXG5cdFx0XHRcdFx0dXJsID0gd2luZG93LmNyZWF0ZU9iamVjdFVSTChmaWxlKVxuXHRcdFx0XHR9IGVsc2UgaWYgKHdpbmRvdy5VUkwgIT09IHVuZGVmaW5lZCkgeyAvLyBtb3ppbGxhKGZpcmVmb3gpXG5cdFx0XHRcdFx0dXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSlcblx0XHRcdFx0fSBlbHNlIGlmICh3aW5kb3cud2Via2l0VVJMICE9PSB1bmRlZmluZWQpIHsgLy8gd2Via2l0IG9yIGNocm9tZVxuXHRcdFx0XHRcdHVybCA9IHdpbmRvdy53ZWJraXRVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHVybFxuXHRcdFx0fSxcblx0XHRcdC8vIOino+egge+8jOi+k+WHuu+8muS4reaWh1xuXHRcdFx0ZGVjb2RlU3RyKHN0cikge1xuXHRcdFx0XHR2YXIgb3V0LCBpLCBsZW4sIGM7XG5cdFx0XHRcdHZhciBjaGFyMiwgY2hhcjM7XG5cdFx0XHRcdG91dCA9IFwiXCI7XG5cdFx0XHRcdGxlbiA9IHN0ci5sZW5ndGg7XG5cdFx0XHRcdGkgPSAwO1xuXHRcdFx0XHR3aGlsZSAoaSA8IGxlbikge1xuXHRcdFx0XHRcdGMgPSBzdHIuY2hhckNvZGVBdChpKyspO1xuXHRcdFx0XHRcdHN3aXRjaCAoYyA+PiA0KSB7XG5cdFx0XHRcdFx0XHRjYXNlIDA6XG5cdFx0XHRcdFx0XHRjYXNlIDE6XG5cdFx0XHRcdFx0XHRjYXNlIDI6XG5cdFx0XHRcdFx0XHRjYXNlIDM6XG5cdFx0XHRcdFx0XHRjYXNlIDQ6XG5cdFx0XHRcdFx0XHRjYXNlIDU6XG5cdFx0XHRcdFx0XHRjYXNlIDY6XG5cdFx0XHRcdFx0XHRjYXNlIDc6XG5cdFx0XHRcdFx0XHRcdC8vIDB4eHh4eHh4XG5cdFx0XHRcdFx0XHRcdG91dCArPSBzdHIuY2hhckF0KGkgLSAxKTtcblx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHRjYXNlIDEyOlxuXHRcdFx0XHRcdFx0Y2FzZSAxMzpcblx0XHRcdFx0XHRcdFx0Ly8gMTEweCB4eHh4IDEweHggeHh4eFxuXHRcdFx0XHRcdFx0XHRjaGFyMiA9IHN0ci5jaGFyQ29kZUF0KGkrKyk7XG5cdFx0XHRcdFx0XHRcdG91dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCgoYyAmIDB4MUYpIDw8IDYpIHwgKGNoYXIyICYgMHgzRikpO1xuXHRcdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRcdGNhc2UgMTQ6XG5cdFx0XHRcdFx0XHRcdC8vIDExMTAgeHh4eCAxMHh4IHh4eHggMTB4eCB4eHh4XG5cdFx0XHRcdFx0XHRcdGNoYXIyID0gc3RyLmNoYXJDb2RlQXQoaSsrKTtcblx0XHRcdFx0XHRcdFx0Y2hhcjMgPSBzdHIuY2hhckNvZGVBdChpKyspO1xuXHRcdFx0XHRcdFx0XHRvdXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoKGMgJiAweDBGKSA8PCAxMikgfFxuXHRcdFx0XHRcdFx0XHRcdCgoY2hhcjIgJiAweDNGKSA8PCA2KSB8XG5cdFx0XHRcdFx0XHRcdFx0KChjaGFyMyAmIDB4M0YpIDw8IDApKTtcblx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBvdXQ7XG5cdFx0XHR9LFxuXHRcdFx0XG5cdFx0XHRcbiAgICAgICAgfVxuICAgIH1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///11\n");
/***/ }),
/* 12 */
/*!*********************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js ***!
\*********************************************************************/
/*! exports provided: log, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "log", function() { return log; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return formatLog; });
function typof (v) {
var s = Object.prototype.toString.call(v)
return s.substring(8, s.length - 1)
}
function isDebugMode () {
/* eslint-disable no-undef */
return typeof __channelId__ === 'string' && __channelId__
}
function jsonStringifyReplacer (k, p) {
switch (typof(p)) {
case 'Function':
return 'function() { [native code] }'
default :
return p
}
}
function log (type) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key]
}
console[type].apply(console, args)
}
function formatLog () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key]
}
var type = args.shift()
if (isDebugMode()) {
args.push(args.pop().replace('at ', 'uni-app:///'))
return console[type].apply(console, args)
}
var msgs = args.map(function (v) {
var type = Object.prototype.toString.call(v).toLowerCase()
if (type === '[object object]' || type === '[object array]') {
try {
v = '---BEGIN:JSON---' + JSON.stringify(v, jsonStringifyReplacer) + '---END:JSON---'
} catch (e) {
v = type
}
} else {
if (v === null) {
v = '---NULL---'
} else if (v === undefined) {
v = '---UNDEFINED---'
} else {
var vType = typof(v).toUpperCase()
if (vType === 'NUMBER' || vType === 'BOOLEAN') {
v = '---BEGIN:' + vType + '---' + v + '---END:' + vType + '---'
} else {
v = String(v)
}
}
}
return v
})
var msg = ''
if (msgs.length > 1) {
var lastMsg = msgs.pop()
msg = msgs.join('---COMMA---')
if (lastMsg.indexOf(' at ') === 0) {
msg += lastMsg
} else {
msg += '---COMMA---' + lastMsg
}
} else {
msg = msgs[0]
}
console[type](msg)
}
/***/ }),
/* 13 */
/*!*****************************************************************************!*\
!*** /Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/utils/reqrcode.js ***!
\*****************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(__f__) {var _aa = {};\n_aa._ab = function (f, e) {\n var d = qrcode.width;\n var b = qrcode.height;\n var c = true;\n for (var g = 0; g < e.length && c; g += 2) {\n var a = Math.floor(e[g]);\n var h = Math.floor(e[g + 1]);\n if (a < -1 || a > d || h < -1 || h > b) {\n throw \"Error._ab \";\n }\n c = false;\n if (a == -1) {\n e[g] = 0;\n c = true;\n } else {\n if (a == d) {\n e[g] = d - 1;\n c = true;\n }\n }\n if (h == -1) {\n e[g + 1] = 0;\n c = true;\n } else {\n if (h == b) {\n e[g + 1] = b - 1;\n c = true;\n }\n }\n }\n c = true;\n for (var g = e.length - 2; g >= 0 && c; g -= 2) {\n var a = Math.floor(e[g]);\n var h = Math.floor(e[g + 1]);\n if (a < -1 || a > d || h < -1 || h > b) {\n throw \"Error._ab \";\n }\n c = false;\n if (a == -1) {\n e[g] = 0;\n c = true;\n } else {\n if (a == d) {\n e[g] = d - 1;\n c = true;\n }\n }\n if (h == -1) {\n e[g + 1] = 0;\n c = true;\n } else {\n if (h == b) {\n e[g + 1] = b - 1;\n c = true;\n }\n }\n }\n};\n_aa._af = function (b, d, a) {\n var k = new _ac(d);\n var j = new Array(d << 1);\n for (var f = 0; f < d; f++) {\n var g = j.length;\n var i = f + 0.5;\n for (var h = 0; h < g; h += 2) {\n j[h] = (h >> 1) + 0.5;\n j[h + 1] = i;\n }\n a._ad(j);\n _aa._ab(b, j);\n try {\n for (var h = 0; h < g; h += 2) {\n var e = b[Math.floor(j[h]) + qrcode.width * Math.floor(j[h + 1])];\n if (e) {\n k._dq(h >> 1, f);\n }\n }\n } catch (c) {\n throw \"Error._ab\";\n }\n }\n return k;\n};\n_aa._ah = function (h, o, l, k, q, p, b, a, f, e, n, m, s, r, d, c, j, i) {\n var g = _ae._ag(l, k, q, p, b, a, f, e, n, m, s, r, d, c, j, i);\n return _aa._af(h, o, g);\n};\nfunction _a1(b, a) {\n this.count = b;\n this._fc = a;\n this.__defineGetter__(\"Count\", function () {\n return this.count;\n });\n this.__defineGetter__(\"_dm\", function () {\n return this._fc;\n });\n}\nfunction _a2(a, c, b) {\n this._bm = a;\n if (b) {\n this._do = new Array(c, b);\n } else {\n this._do = new Array(c);\n }\n this.__defineGetter__(\"_bo\", function () {\n return this._bm;\n });\n this.__defineGetter__(\"_dn\", function () {\n return this._bm * this._fo;\n });\n this.__defineGetter__(\"_fo\", function () {\n var e = 0;\n for (var d = 0; d < this._do.length; d++) {\n e += this._do[d].length;\n }\n return e;\n });\n this._fb = function () {\n return this._do;\n };\n}\nfunction _a3(k, l, h, g, f, e) {\n this._bs = k;\n this._ar = l;\n this._do = new Array(h, g, f, e);\n var j = 0;\n var b = h._bo;\n var a = h._fb();\n for (var d = 0; d < a.length; d++) {\n var c = a[d];\n j += c.Count * (c._dm + b);\n }\n this._br = j;\n this.__defineGetter__(\"_fd\", function () {\n return this._bs;\n });\n this.__defineGetter__(\"_as\", function () {\n return this._ar;\n });\n this.__defineGetter__(\"_dp\", function () {\n return this._br;\n });\n this.__defineGetter__(\"_cr\", function () {\n return 17 + 4 * this._bs;\n });\n this._aq = function () {\n var q = this._cr;\n var o = new _ac(q);\n o._bq(0, 0, 9, 9);\n o._bq(q - 8, 0, 8, 9);\n o._bq(0, q - 8, 9, 8);\n var n = this._ar.length;\n for (var m = 0; m < n; m++) {\n var p = this._ar[m] - 2;\n for (var r = 0; r < n; r++) {\n if (m == 0 && (r == 0 || r == n - 1) || m == n - 1 && r == 0) {\n continue;\n }\n o._bq(this._ar[r] - 2, p, 5, 5);\n }\n }\n o._bq(6, 9, 1, q - 17);\n o._bq(9, 6, q - 17, 1);\n if (this._bs > 6) {\n o._bq(q - 11, 0, 3, 6);\n o._bq(0, q - 11, 6, 3);\n }\n return o;\n };\n this._bu = function (i) {\n return this._do[i.ordinal()];\n };\n}\n_a3._bv = new Array(31892, 34236, 39577, 42195, 48118, 51042, 55367, 58893, 63784, 68472, 70749, 76311, 79154, 84390, 87683, 92361, 96236, 102084, 102881, 110507, 110734, 117786, 119615, 126325, 127568, 133589, 136944, 141498, 145311, 150283, 152622, 158308, 161089, 167017);\n_a3.VERSIONS = _ay();\n_a3._av = function (a) {\n if (a < 1 || a > 40) {\n throw \"bad arguments\";\n }\n return _a3.VERSIONS[a - 1];\n};\n_a3._at = function (b) {\n if (b % 4 != 1) {\n throw \"Error _at\";\n }\n try {\n return _a3._av(b - 17 >> 2);\n } catch (a) {\n throw \"Error _av\";\n }\n};\n_a3._aw = function (d) {\n var b = 4294967295;\n var f = 0;\n for (var c = 0; c < _a3._bv.length; c++) {\n var a = _a3._bv[c];\n if (a == d) {\n return this._av(c + 7);\n }\n var e = _ax._gj(d, a);\n if (e < b) {\n f = c + 7;\n b = e;\n }\n }\n if (b <= 3) {\n return this._av(f);\n }\n return null;\n};\nfunction _ay() {\n return new Array(new _a3(1, new Array(), new _a2(7, new _a1(1, 19)), new _a2(10, new _a1(1, 16)), new _a2(13, new _a1(1, 13)), new _a2(17, new _a1(1, 9))), new _a3(2, new Array(6, 18), new _a2(10, new _a1(1, 34)), new _a2(16, new _a1(1, 28)), new _a2(22, new _a1(1, 22)), new _a2(28, new _a1(1, 16))), new _a3(3, new Array(6, 22), new _a2(15, new _a1(1, 55)), new _a2(26, new _a1(1, 44)), new _a2(18, new _a1(2, 17)), new _a2(22, new _a1(2, 13))), new _a3(4, new Array(6, 26), new _a2(20, new _a1(1, 80)), new _a2(18, new _a1(2, 32)), new _a2(26, new _a1(2, 24)), new _a2(16, new _a1(4, 9))), new _a3(5, new Array(6, 30), new _a2(26, new _a1(1, 108)), new _a2(24, new _a1(2, 43)), new _a2(18, new _a1(2, 15), new _a1(2, 16)), new _a2(22, new _a1(2, 11), new _a1(2, 12))), new _a3(6, new Array(6, 34), new _a2(18, new _a1(2, 68)), new _a2(16, new _a1(4, 27)), new _a2(24, new _a1(4, 19)), new _a2(28, new _a1(4, 15))), new _a3(7, new Array(6, 22, 38), new _a2(20, new _a1(2, 78)), new _a2(18, new _a1(4, 31)), new _a2(18, new _a1(2, 14), new _a1(4, 15)), new _a2(26, new _a1(4, 13), new _a1(1, 14))), new _a3(8, new Array(6, 24, 42), new _a2(24, new _a1(2, 97)), new _a2(22, new _a1(2, 38), new _a1(2, 39)), new _a2(22, new _a1(4, 18), new _a1(2, 19)), new _a2(26, new _a1(4, 14), new _a1(2, 15))), new _a3(9, new Array(6, 26, 46), new _a2(30, new _a1(2, 116)), new _a2(22, new _a1(3, 36), new _a1(2, 37)), new _a2(20, new _a1(4, 16), new _a1(4, 17)), new _a2(24, new _a1(4, 12), new _a1(4, 13))), new _a3(10, new Array(6, 28, 50), new _a2(18, new _a1(2, 68), new _a1(2, 69)), new _a2(26, new _a1(4, 43), new _a1(1, 44)), new _a2(24, new _a1(6, 19), new _a1(2, 20)), new _a2(28, new _a1(6, 15), new _a1(2, 16))), new _a3(11, new Array(6, 30, 54), new _a2(20, new _a1(4, 81)), new _a2(30, new _a1(1, 50), new _a1(4, 51)), new _a2(28, new _a1(4, 22), new _a1(4, 23)), new _a2(24, new _a1(3, 12), new _a1(8, 13))), new _a3(12, new Array(6, 32, 58), new _a2(24, new _a1(2, 92), new _a1(2, 93)), new _a2(22, new _a1(6, 36), new _a1(2, 37)), new _a2(26, new _a1(4, 20), new _a1(6, 21)), new _a2(28, new _a1(7, 14), new _a1(4, 15))), new _a3(13, new Array(6, 34, 62), new _a2(26, new _a1(4, 107)), new _a2(22, new _a1(8, 37), new _a1(1, 38)), new _a2(24, new _a1(8, 20), new _a1(4, 21)), new _a2(22, new _a1(12, 11), new _a1(4, 12))), new _a3(14, new Array(6, 26, 46, 66), new _a2(30, new _a1(3, 115), new _a1(1, 116)), new _a2(24, new _a1(4, 40), new _a1(5, 41)), new _a2(20, new _a1(11, 16), new _a1(5, 17)), new _a2(24, new _a1(11, 12), new _a1(5, 13))), new _a3(15, new Array(6, 26, 48, 70), new _a2(22, new _a1(5, 87), new _a1(1, 88)), new _a2(24, new _a1(5, 41), new _a1(5, 42)), new _a2(30, new _a1(5, 24), new _a1(7, 25)), new _a2(24, new _a1(11, 12), new _a1(7, 13))), new _a3(16, new Array(6, 26, 50, 74), new _a2(24, new _a1(5, 98), new _a1(1, 99)), new _a2(28, new _a1(7, 45), new _a1(3, 46)), new _a2(24, new _a1(15, 19), new _a1(2, 20)), new _a2(30, new _a1(3, 15), new _a1(13, 16))), new _a3(17, new Array(6, 30, 54, 78), new _a2(28, new _a1(1, 107), new _a1(5, 108)), new _a2(28, new _a1(10, 46), new _a1(1, 47)), new _a2(28, new _a1(1, 22), new _a1(15, 23)), new _a2(28, new _a1(2, 14), new _a1(17, 15))), new _a3(18, new Array(6, 30, 56, 82), new _a2(30, new _a1(5, 120), new _a1(1, 121)), new _a2(26, new _a1(9, 43), new _a1(4, 44)), new _a2(28, new _a1(17, 22), new _a1(1, 23)), new _a2(28, new _a1(2, 14), new _a1(19, 15))), new _a3(19, new Array(6, 30, 58, 86), new _a2(28, new _a1(3, 113), new _a1(4, 114)), new _a2(26, new _a1(3, 44), new _a1(11, 45)), new _a2(26, new _a1(17, 21), new _a1(4, 22)), new _a2(26, new _a1(9, 13), new _a1(16, 14))), new _a3(20, new Array(6, 34, 62, 90), new _a2(28, new _a1(3, 107), new _a1(5, 108)), new _a2(26, new _a1(3, 41), new _a1(13, 42)), new _a2(30, new _a1(15, 24), new _a1(5, 25)), new _a2(28, new _a1(15, 15), new _a1(10, 16))), new _a3(21, new Array(6, 28, 50, 72, 94), new _a2(28, new _a1(4, 116), new _a1(4, 117)), new _a2(26, new _a1(17, 42)), new _a2(28, new _a1(17, 22), new _a1(6, 23)), new _a2(30, new _a1(19, 16), new _a1(6, 17))), new _a3(22, new Array(6, 26, 50, 74, 98), new _a2(28, new _a1(2, 111), new _a1(7, 112)), new _a2(28, new _a1(17, 46)), new _a2(30, new _a1(7, 24), new _a1(16, 25)), new _a2(24, new _a1(34, 13))), new _a3(23, new Array(6, 30, 54, 74, 102), new _a2(30, new _a1(4, 121), new _a1(5, 122)), new _a2(28, new _a1(4, 47), new _a1(14, 48)), new _a2(30, new _a1(11, 24), new _a1(14, 25)), new _a2(30, new _a1(16, 15), new _a1(14, 16))), new _a3(24, new Array(6, 28, 54, 80, 106), new _a2(30, new _a1(6, 117), new _a1(4, 118)), new _a2(28, new _a1(6, 45), new _a1(14, 46)), new _a2(30, new _a1(11, 24), new _a1(16, 25)), new _a2(30, new _a1(30, 16), new _a1(2, 17))), new _a3(25, new Array(6, 32, 58, 84, 110), new _a2(26, new _a1(8, 106), new _a1(4, 107)), new _a2(28, new _a1(8, 47), new _a1(13, 48)), new _a2(30, new _a1(7, 24), new _a1(22, 25)), new _a2(30, new _a1(22, 15), new _a1(13, 16))), new _a3(26, new Array(6, 30, 58, 86, 114), new _a2(28, new _a1(10, 114), new _a1(2, 115)), new _a2(28, new _a1(19, 46), new _a1(4, 47)), new _a2(28, new _a1(28, 22), new _a1(6, 23)), new _a2(30, new _a1(33, 16), new _a1(4, 17))), new _a3(27, new Array(6, 34, 62, 90, 118), new _a2(30, new _a1(8, 122), new _a1(4, 123)), new _a2(28, new _a1(22, 45), new _a1(3, 46)), new _a2(30, new _a1(8, 23), new _a1(26, 24)), new _a2(30, new _a1(12, 15), new _a1(28, 16))), new _a3(28, new Array(6, 26, 50, 74, 98, 122), new _a2(30, new _a1(3, 117), new _a1(10, 118)), new _a2(28, new _a1(3, 45), new _a1(23, 46)), new _a2(30, new _a1(4, 24), new _a1(31, 25)), new _a2(30, new _a1(11, 15), new _a1(31, 16))), new _a3(29, new Array(6, 30, 54, 78, 102, 126), new _a2(30, new _a1(7, 116), new _a1(7, 117)), new _a2(28, new _a1(21, 45), new _a1(7, 46)), new _a2(30, new _a1(1, 23), new _a1(37, 24)), new _a2(30, new _a1(19, 15), new _a1(26, 16))), new _a3(30, new Array(6, 26, 52, 78, 104, 130), new _a2(30, new _a1(5, 115), new _a1(10, 116)), new _a2(28, new _a1(19, 47), new _a1(10, 48)), new _a2(30, new _a1(15, 24), new _a1(25, 25)), new _a2(30, new _a1(23, 15), new _a1(25, 16))), new _a3(31, new Array(6, 30, 56, 82, 108, 134), new _a2(30, new _a1(13, 115), new _a1(3, 116)), new _a2(28, new _a1(2, 46), new _a1(29, 47)), new _a2(30, new _a1(42, 24), new _a1(1, 25)), new _a2(30, new _a1(23, 15), new _a1(28, 16))), new _a3(32, new Array(6, 34, 60, 86, 112, 138), new _a2(30, new _a1(17, 115)), new _a2(28, new _a1(10, 46), new _a1(23, 47)), new _a2(30, new _a1(10, 24), new _a1(35, 25)), new _a2(30, new _a1(19, 15), new _a1(35, 16))), new _a3(33, new Array(6, 30, 58, 86, 114, 142), new _a2(30, new _a1(17, 115), new _a1(1, 116)), new _a2(28, new _a1(14, 46), new _a1(21, 47)), new _a2(30, new _a1(29, 24), new _a1(19, 25)), new _a2(30, new _a1(11, 15), new _a1(46, 16))), new _a3(34, new Array(6, 34, 62, 90, 118, 146), new _a2(30, new _a1(13, 115), new _a1(6, 116)), new _a2(28, new _a1(14, 46), new _a1(23, 47)), new _a2(30, new _a1(44, 24), new _a1(7, 25)), new _a2(30, new _a1(59, 16), new _a1(1, 17))), new _a3(35, new Array(6, 30, 54, 78, 102, 126, 150), new _a2(30, new _a1(12, 121), new _a1(7, 122)), new _a2(28, new _a1(12, 47), new _a1(26, 48)), new _a2(30, new _a1(39, 24), new _a1(14, 25)), new _a2(30, new _a1(22, 15), new _a1(41, 16))), new _a3(36, new Array(6, 24, 50, 76, 102, 128, 154), new _a2(30, new _a1(6, 121), new _a1(14, 122)), new _a2(28, new _a1(6, 47), new _a1(34, 48)), new _a2(30, new _a1(46, 24), new _a1(10, 25)), new _a2(30, new _a1(2, 15), new _a1(64, 16))), new _a3(37, new Array(6, 28, 54, 80, 106, 132, 158), new _a2(30, new _a1(17, 122), new _a1(4, 123)), new _a2(28, new _a1(29, 46), new _a1(14, 47)), new _a2(30, new _a1(49, 24), new _a1(10, 25)), new _a2(30, new _a1(24, 15), new _a1(46, 16))), new _a3(38, new Array(6, 32, 58, 84, 110, 136, 162), new _a2(30, new _a1(4, 122), new _a1(18, 123)), new _a2(28, new _a1(13, 46), new _a1(32, 47)), new _a2(30, new _a1(48, 24), new _a1(14, 25)), new _a2(30, new _a1(42, 15), new _a1(32, 16))), new _a3(39, new Array(6, 26, 54, 82, 110, 138, 166), new _a2(30, new _a1(20, 117), new _a1(4, 118)), new _a2(28, new _a1(40, 47), new _a1(7, 48)), new _a2(30, new _a1(43, 24), new _a1(22, 25)), new _a2(30, new _a1(10, 15), new _a1(67, 16))), new _a3(40, new Array(6, 30, 58, 86, 114, 142, 170), new _a2(30, new _a1(19, 118), new _a1(6, 119)), new _a2(28, new _a1(18, 47), new _a1(31, 48)), new _a2(30, new _a1(34, 24), new _a1(34, 25)), new _a2(30, new _a1(20, 15), new _a1(61, 16))));\n}\nfunction _ae(i, f, c, h, e, b, g, d, a) {\n this.a11 = i;\n this.a12 = h;\n this.a13 = g;\n this.a21 = f;\n this.a22 = e;\n this.a23 = d;\n this.a31 = c;\n this.a32 = b;\n this.a33 = a;\n this._ad = function (v) {\n var s = v.length;\n var z = this.a11;\n var w = this.a12;\n var u = this.a13;\n var q = this.a21;\n var p = this.a22;\n var o = this.a23;\n var m = this.a31;\n var k = this.a32;\n var j = this.a33;\n for (var n = 0; n < s; n += 2) {\n var t = v[n];\n var r = v[n + 1];\n var l = u * t + o * r + j;\n v[n] = (z * t + q * r + m) / l;\n v[n + 1] = (w * t + p * r + k) / l;\n }\n };\n this._fp = function (m, k) {\n var q = m.length;\n for (var l = 0; l < q; l++) {\n var j = m[l];\n var p = k[l];\n var o = this.a13 * j + this.a23 * p + this.a33;\n m[l] = (this.a11 * j + this.a21 * p + this.a31) / o;\n k[l] = (this.a12 * j + this.a22 * p + this.a32) / o;\n }\n };\n this._fr = function () {\n return new _ae(this.a22 * this.a33 - this.a23 * this.a32, this.a23 * this.a31 - this.a21 * this.a33, this.a21 * this.a32 - this.a22 * this.a31, this.a13 * this.a32 - this.a12 * this.a33, this.a11 * this.a33 - this.a13 * this.a31, this.a12 * this.a31 - this.a11 * this.a32, this.a12 * this.a23 - this.a13 * this.a22, this.a13 * this.a21 - this.a11 * this.a23, this.a11 * this.a22 - this.a12 * this.a21);\n };\n this.times = function (j) {\n return new _ae(this.a11 * j.a11 + this.a21 * j.a12 + this.a31 * j.a13, this.a11 * j.a21 + this.a21 * j.a22 + this.a31 * j.a23, this.a11 * j.a31 + this.a21 * j.a32 + this.a31 * j.a33, this.a12 * j.a11 + this.a22 * j.a12 + this.a32 * j.a13, this.a12 * j.a21 + this.a22 * j.a22 + this.a32 * j.a23, this.a12 * j.a31 + this.a22 * j.a32 + this.a32 * j.a33, this.a13 * j.a11 + this.a23 * j.a12 + this.a33 * j.a13, this.a13 * j.a21 + this.a23 * j.a22 + this.a33 * j.a23, this.a13 * j.a31 + this.a23 * j.a32 + this.a33 * j.a33);\n };\n}\n_ae._ag = function (p, e, o, d, n, c, m, b, h, q, l, f, a, j, i, r) {\n var g = this._be(p, e, o, d, n, c, m, b);\n var k = this._bf(h, q, l, f, a, j, i, r);\n return k.times(g);\n};\n_ae._bf = function (d, p, c, m, b, k, a, j) {\n var h = j - k;\n var f = p - m + k - j;\n if (h == 0 && f == 0) {\n return new _ae(c - d, b - c, d, m - p, k - m, p, 0, 0, 1);\n } else {\n var q = c - b;\n var o = a - b;\n var l = d - c + b - a;\n var i = m - k;\n var e = q * h - o * i;\n var n = (l * h - o * f) / e;\n var g = (q * f - l * i) / e;\n return new _ae(c - d + n * c, a - d + g * a, d, m - p + n * m, j - p + g * j, p, n, g, 1);\n }\n};\n_ae._be = function (f, h, d, g, b, e, a, c) {\n return this._bf(f, h, d, g, b, e, a, c)._fr();\n};\nfunction _bg(b, a) {\n this.bits = b;\n this.points = a;\n}\nfunction Detector(a) {\n this.image = a;\n this._am = null;\n this._bi = function (m, l, c, b) {\n var d = Math.abs(b - l) > Math.abs(c - m);\n if (d) {\n var r = m;\n m = l;\n l = r;\n r = c;\n c = b;\n b = r;\n }\n var j = Math.abs(c - m);\n var i = Math.abs(b - l);\n var p = -j >> 1;\n var u = l < b ? 1 : -1;\n var f = m < c ? 1 : -1;\n var e = 0;\n for (var h = m, g = l; h != c; h += f) {\n var t = d ? g : h;\n var s = d ? h : g;\n if (e == 1) {\n if (this.image[t + s * qrcode.width]) {\n e++;\n }\n } else {\n if (!this.image[t + s * qrcode.width]) {\n e++;\n }\n }\n if (e == 3) {\n var o = h - m;\n var n = g - l;\n return Math.sqrt(o * o + n * n);\n }\n p += i;\n if (p > 0) {\n if (g == b) {\n break;\n }\n g += u;\n p -= j;\n }\n }\n var k = c - m;\n var q = b - l;\n return Math.sqrt(k * k + q * q);\n };\n this._bh = function (i, g, h, f) {\n var b = this._bi(i, g, h, f);\n var e = 1;\n var d = i - (h - i);\n if (d < 0) {\n e = i / (i - d);\n d = 0;\n } else {\n if (d >= qrcode.width) {\n e = (qrcode.width - 1 - i) / (d - i);\n d = qrcode.width - 1;\n }\n }\n var c = Math.floor(g - (f - g) * e);\n e = 1;\n if (c < 0) {\n e = g / (g - c);\n c = 0;\n } else {\n if (c >= qrcode.height) {\n e = (qrcode.height - 1 - g) / (c - g);\n c = qrcode.height - 1;\n }\n }\n d = Math.floor(i + (d - i) * e);\n b += this._bi(i, g, d, c);\n return b - 1;\n };\n this._bj = function (c, d) {\n var b = this._bh(Math.floor(c.X), Math.floor(c.Y), Math.floor(d.X), Math.floor(d.Y));\n var e = this._bh(Math.floor(d.X), Math.floor(d.Y), Math.floor(c.X), Math.floor(c.Y));\n if (isNaN(b)) {\n return e / 7;\n }\n if (isNaN(e)) {\n return b / 7;\n }\n return (b + e) / 14;\n };\n this._bk = function (d, c, b) {\n return (this._bj(d, c) + this._bj(d, b)) / 2;\n };\n this.distance = function (d, b) {\n var e = d.X - b.X;\n var c = d.Y - b.Y;\n return Math.sqrt(e * e + c * c);\n };\n this._bx = function (g, f, d, e) {\n var b = Math.round(this.distance(g, f) / e);\n var c = Math.round(this.distance(g, d) / e);\n var h = (b + c >> 1) + 7;\n switch (h & 3) {\n case 0:\n h++;\n break;\n case 2:\n h--;\n break;\n case 3:\n throw \"Error\";\n }\n return h;\n };\n this._bl = function (g, f, d, j) {\n var k = Math.floor(j * g);\n var h = Math.max(0, f - k);\n var i = Math.min(qrcode.width - 1, f + k);\n if (i - h < g * 3) {\n throw \"Error\";\n }\n var b = Math.max(0, d - k);\n var c = Math.min(qrcode.height - 1, d + k);\n var e = new _ak(this.image, h, b, i - h, c - b, g, this._am);\n return e.find();\n };\n this.createTransform = function (l, h, k, b, g) {\n var j = g - 3.5;\n var i;\n var f;\n var e;\n var c;\n if (b != null) {\n i = b.X;\n f = b.Y;\n e = c = j - 3;\n } else {\n i = h.X - l.X + k.X;\n f = h.Y - l.Y + k.Y;\n e = c = j;\n }\n var d = _ae._ag(3.5, 3.5, j, 3.5, e, c, 3.5, j, l.X, l.Y, h.X, h.Y, i, f, k.X, k.Y);\n return d;\n };\n this._bz = function (e, b, d) {\n var c = _aa;\n return c._af(e, d, b);\n };\n this._cd = function (q) {\n var j = q._gq;\n var h = q._gs;\n var n = q._gp;\n var d = this._bk(j, h, n);\n if (d < 1) {\n throw \"Error\";\n }\n var r = this._bx(j, h, n, d);\n var b = _a3._at(r);\n var k = b._cr - 7;\n var l = null;\n if (b._as.length > 0) {\n var f = h.X - j.X + n.X;\n var e = h.Y - j.Y + n.Y;\n var c = 1 - 3 / k;\n var t = Math.floor(j.X + c * (f - j.X));\n var s = Math.floor(j.Y + c * (e - j.Y));\n for (var p = 4; p <= 16; p <<= 1) {\n l = this._bl(d, t, s, p);\n break;\n }\n }\n var g = this.createTransform(j, h, n, l, r);\n var m = this._bz(this.image, g, r);\n var o;\n if (l == null) {\n o = new Array(n, j, h);\n } else {\n o = new Array(n, j, h, l);\n }\n return new _bg(m, o);\n };\n this.detect = function () {\n var b = new _cc()._ce(this.image);\n return this._cd(b);\n };\n}\nvar _ca = 21522;\nvar _cb = new Array(new Array(21522, 0), new Array(20773, 1), new Array(24188, 2), new Array(23371, 3), new Array(17913, 4), new Array(16590, 5), new Array(20375, 6), new Array(19104, 7), new Array(30660, 8), new Array(29427, 9), new Array(32170, 10), new Array(30877, 11), new Array(26159, 12), new Array(25368, 13), new Array(27713, 14), new Array(26998, 15), new Array(5769, 16), new Array(5054, 17), new Array(7399, 18), new Array(6608, 19), new Array(1890, 20), new Array(597, 21), new Array(3340, 22), new Array(2107, 23), new Array(13663, 24), new Array(12392, 25), new Array(16177, 26), new Array(14854, 27), new Array(9396, 28), new Array(8579, 29), new Array(11994, 30), new Array(11245, 31));\nvar _ch = new Array(0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4);\nfunction _ax(a) {\n this._cf = _cg.forBits(a >> 3 & 3);\n this._fe = a & 7;\n this.__defineGetter__(\"_cg\", function () {\n return this._cf;\n });\n this.__defineGetter__(\"_dx\", function () {\n return this._fe;\n });\n this.GetHashCode = function () {\n return this._cf.ordinal() << 3 | _fe;\n };\n this.Equals = function (c) {\n var b = c;\n return this._cf == b._cf && this._fe == b._fe;\n };\n}\n_ax._gj = function (d, c) {\n d ^= c;\n return _ch[d & 15] + _ch[_ew(d, 4) & 15] + _ch[_ew(d, 8) & 15] + _ch[_ew(d, 12) & 15] + _ch[_ew(d, 16) & 15] + _ch[_ew(d, 20) & 15] + _ch[_ew(d, 24) & 15] + _ch[_ew(d, 28) & 15];\n};\n_ax._ci = function (a) {\n var b = _ax._cj(a);\n if (b != null) {\n return b;\n }\n return _ax._cj(a ^ _ca);\n};\n_ax._cj = function (d) {\n var b = 4294967295;\n var a = 0;\n for (var c = 0; c < _cb.length; c++) {\n var g = _cb[c];\n var f = g[0];\n if (f == d) {\n return new _ax(g[1]);\n }\n var e = this._gj(d, f);\n if (e < b) {\n a = g[1];\n b = e;\n }\n }\n if (b <= 3) {\n return new _ax(a);\n }\n return null;\n};\nfunction _cg(a, c, b) {\n this._ff = a;\n this.bits = c;\n this.name = b;\n this.__defineGetter__(\"Bits\", function () {\n return this.bits;\n });\n this.__defineGetter__(\"Name\", function () {\n return this.name;\n });\n this.ordinal = function () {\n return this._ff;\n };\n}\n_cg.forBits = function (a) {\n if (a < 0 || a >= FOR_BITS.length) {\n throw \"bad arguments\";\n }\n return FOR_BITS[a];\n};\nvar L = new _cg(0, 1, \"L\");\nvar M = new _cg(1, 0, \"M\");\nvar Q = new _cg(2, 3, \"Q\");\nvar H = new _cg(3, 2, \"H\");\nvar FOR_BITS = new Array(M, L, H, Q);\nfunction _ac(d, a) {\n if (!a) {\n a = d;\n }\n if (d < 1 || a < 1) {\n throw \"Both dimensions must be greater than 0\";\n }\n this.width = d;\n this.height = a;\n var c = d >> 5;\n if ((d & 31) != 0) {\n c++;\n }\n this.rowSize = c;\n this.bits = new Array(c * a);\n for (var b = 0; b < this.bits.length; b++) {\n this.bits[b] = 0;\n }\n this.__defineGetter__(\"Width\", function () {\n return this.width;\n });\n this.__defineGetter__(\"Height\", function () {\n return this.height;\n });\n this.__defineGetter__(\"Dimension\", function () {\n if (this.width != this.height) {\n throw \"Can't call getDimension() on a non-square matrix\";\n }\n return this.width;\n });\n this._ds = function (e, g) {\n var f = g * this.rowSize + (e >> 5);\n return (_ew(this.bits[f], e & 31) & 1) != 0;\n };\n this._dq = function (e, g) {\n var f = g * this.rowSize + (e >> 5);\n this.bits[f] |= 1 << (e & 31);\n };\n this.flip = function (e, g) {\n var f = g * this.rowSize + (e >> 5);\n this.bits[f] ^= 1 << (e & 31);\n };\n this.clear = function () {\n var e = this.bits.length;\n for (var f = 0; f < e; f++) {\n this.bits[f] = 0;\n }\n };\n this._bq = function (g, j, f, m) {\n if (j < 0 || g < 0) {\n throw \"Left and top must be nonnegative\";\n }\n if (m < 1 || f < 1) {\n throw \"Height and width must be at least 1\";\n }\n var l = g + f;\n var e = j + m;\n if (e > this.height || l > this.width) {\n throw \"The region must fit inside the matrix\";\n }\n for (var i = j; i < e; i++) {\n var h = i * this.rowSize;\n for (var k = g; k < l; k++) {\n this.bits[h + (k >> 5)] |= 1 << (k & 31);\n }\n }\n };\n}\nfunction _dl(a, b) {\n this._dv = a;\n this._dw = b;\n this.__defineGetter__(\"_du\", function () {\n return this._dv;\n });\n this.__defineGetter__(\"Codewords\", function () {\n return this._dw;\n });\n}\n_dl._gn = function (c, h, r) {\n if (c.length != h._dp) {\n throw \"bad arguments\";\n }\n var k = h._bu(r);\n var e = 0;\n var d = k._fb();\n for (var q = 0; q < d.length; q++) {\n e += d[q].Count;\n }\n var l = new Array(e);\n var n = 0;\n for (var o = 0; o < d.length; o++) {\n var f = d[o];\n for (var q = 0; q < f.Count; q++) {\n var m = f._dm;\n var s = k._bo + m;\n l[n++] = new _dl(m, new Array(s));\n }\n }\n var t = l[0]._dw.length;\n var b = l.length - 1;\n while (b >= 0) {\n var v = l[b]._dw.length;\n if (v == t) {\n break;\n }\n b--;\n }\n b++;\n var g = t - k._bo;\n var a = 0;\n for (var q = 0; q < g; q++) {\n for (var o = 0; o < n; o++) {\n l[o]._dw[q] = c[a++];\n }\n }\n for (var o = b; o < n; o++) {\n l[o]._dw[g] = c[a++];\n }\n var p = l[0]._dw.length;\n for (var q = g; q < p; q++) {\n for (var o = 0; o < n; o++) {\n var u = o < b ? q : q + 1;\n l[o]._dw[u] = c[a++];\n }\n }\n return l;\n};\nfunction _cl(a) {\n var b = a.Dimension;\n if (b < 21 || (b & 3) != 1) {\n throw \"Error _cl\";\n }\n this._au = a;\n this._cp = null;\n this._co = null;\n this._dk = function (d, c, e) {\n return this._au._ds(d, c) ? e << 1 | 1 : e << 1;\n };\n this._cm = function () {\n if (this._co != null) {\n return this._co;\n }\n var g = 0;\n for (var e = 0; e < 6; e++) {\n g = this._dk(e, 8, g);\n }\n g = this._dk(7, 8, g);\n g = this._dk(8, 8, g);\n g = this._dk(8, 7, g);\n for (var c = 5; c >= 0; c--) {\n g = this._dk(8, c, g);\n }\n this._co = _ax._ci(g);\n if (this._co != null) {\n return this._co;\n }\n var f = this._au.Dimension;\n g = 0;\n var d = f - 8;\n for (var e = f - 1; e >= d; e--) {\n g = this._dk(e, 8, g);\n }\n for (var c = f - 7; c < f; c++) {\n g = this._dk(8, c, g);\n }\n this._co = _ax._ci(g);\n if (this._co != null) {\n return this._co;\n }\n throw \"Error _cm\";\n };\n this._cq = function () {\n if (this._cp != null) {\n return this._cp;\n }\n var h = this._au.Dimension;\n var f = h - 17 >> 2;\n if (f <= 6) {\n return _a3._av(f);\n }\n var g = 0;\n var e = h - 11;\n for (var c = 5; c >= 0; c--) {\n for (var d = h - 9; d >= e; d--) {\n g = this._dk(d, c, g);\n }\n }\n this._cp = _a3._aw(g);\n if (this._cp != null && this._cp._cr == h) {\n return this._cp;\n }\n g = 0;\n for (var d = 5; d >= 0; d--) {\n for (var c = h - 9; c >= e; c--) {\n g = this._dk(d, c, g);\n }\n }\n this._cp = _a3._aw(g);\n if (this._cp != null && this._cp._cr == h) {\n return this._cp;\n }\n throw \"Error _cq\";\n };\n this._gk = function () {\n var q = this._cm();\n var o = this._cq();\n var c = _dx._gl(q._dx);\n var f = this._au.Dimension;\n c._dj(this._au, f);\n var k = o._aq();\n var n = true;\n var r = new Array(o._dp);\n var m = 0;\n var p = 0;\n var h = 0;\n for (var e = f - 1; e > 0; e -= 2) {\n if (e == 6) {\n e--;\n }\n for (var l = 0; l < f; l++) {\n var g = n ? f - 1 - l : l;\n for (var d = 0; d < 2; d++) {\n if (!k._ds(e - d, g)) {\n h++;\n p <<= 1;\n if (this._au._ds(e - d, g)) {\n p |= 1;\n }\n if (h == 8) {\n r[m++] = p;\n h = 0;\n p = 0;\n }\n }\n }\n }\n n ^= true;\n }\n if (m != o._dp) {\n throw \"Error _gk\";\n }\n return r;\n };\n}\nvar _dx = {};\n_dx._gl = function (a) {\n if (a < 0 || a > 7) {\n throw \"bad arguments\";\n }\n return _dx._dy[a];\n};\nfunction _fg() {\n this._dj = function (c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b);\n }\n }\n }\n };\n this._fw = function (b, a) {\n return (b + a & 1) == 0;\n };\n}\nfunction _fh() {\n this._dj = function (c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b);\n }\n }\n }\n };\n this._fw = function (b, a) {\n return (b & 1) == 0;\n };\n}\nfunction _fi() {\n this._dj = function (c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b);\n }\n }\n }\n };\n this._fw = function (b, a) {\n return a % 3 == 0;\n };\n}\nfunction _fj() {\n this._dj = function (c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b);\n }\n }\n }\n };\n this._fw = function (b, a) {\n return (b + a) % 3 == 0;\n };\n}\nfunction _fk() {\n this._dj = function (c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b);\n }\n }\n }\n };\n this._fw = function (b, a) {\n return (_ew(b, 1) + a / 3 & 1) == 0;\n };\n}\nfunction _fl() {\n this._dj = function (c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b);\n }\n }\n }\n };\n this._fw = function (c, b) {\n var a = c * b;\n return (a & 1) + a % 3 == 0;\n };\n}\nfunction _fm() {\n this._dj = function (c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b);\n }\n }\n }\n };\n this._fw = function (c, b) {\n var a = c * b;\n return ((a & 1) + a % 3 & 1) == 0;\n };\n}\nfunction _fn() {\n this._dj = function (c, d) {\n for (var b = 0; b < d; b++) {\n for (var a = 0; a < d; a++) {\n if (this._fw(b, a)) {\n c.flip(a, b);\n }\n }\n }\n };\n this._fw = function (b, a) {\n return ((b + a & 1) + b * a % 3 & 1) == 0;\n };\n}\n_dx._dy = new Array(new _fg(), new _fh(), new _fi(), new _fj(), new _fk(), new _fl(), new _fm(), new _fn());\nfunction _db(a) {\n this._fa = a;\n this.decode = function (j, f) {\n var c = new _bp(this._fa, j);\n var p = new Array(f);\n for (var g = 0; g < p.length; g++) {\n p[g] = 0;\n }\n var m = false;\n var d = true;\n for (var g = 0; g < f; g++) {\n var q = c.evaluateAt(this._fa.exp(m ? g + 1 : g));\n p[p.length - 1 - g] = q;\n if (q != 0) {\n d = false;\n }\n }\n if (d) {\n return;\n }\n var b = new _bp(this._fa, p);\n var l = this._eb(this._fa._ba(f, 1), b, f);\n var o = l[0];\n var n = l[1];\n var k = this._ey(o);\n var e = this._di(n, k, m);\n for (var g = 0; g < k.length; g++) {\n var h = j.length - 1 - this._fa.log(k[g]);\n if (h < 0) {\n throw \"ReedSolomonException Bad error location\";\n }\n j[h] = _az._bd(j[h], e[g]);\n }\n };\n this._eb = function (z, y, f) {\n if (z._ec < y._ec) {\n var w = z;\n z = y;\n y = w;\n }\n var B = z;\n var k = y;\n var o = this._fa.One;\n var j = this._fa.Zero;\n var e = this._fa.Zero;\n var i = this._fa.One;\n while (k._ec >= Math.floor(f / 2)) {\n var x = B;\n var g = o;\n var v = e;\n B = k;\n o = j;\n e = i;\n if (B.Zero) {\n throw \"r_{i-1} was zero\";\n }\n k = x;\n var m = this._fa.Zero;\n var p = B._ex(B._ec);\n var h = this._fa.inverse(p);\n while (k._ec >= B._ec && !k.Zero) {\n var c = k._ec - B._ec;\n var A = this._fa.multiply(k._ex(k._ec), h);\n m = m._bd(this._fa._ba(c, A));\n k = k._bd(B._dc(c, A));\n }\n j = m.multiply1(o)._bd(g);\n i = m.multiply1(e)._bd(v);\n }\n var u = i._ex(0);\n if (u == 0) {\n throw \"ReedSolomonException sigmaTilde(0) was zero\";\n }\n var d = this._fa.inverse(u);\n var n = i.multiply2(d);\n var l = k.multiply2(d);\n return new Array(n, l);\n };\n this._ey = function (f) {\n var g = f._ec;\n if (g == 1) {\n return new Array(f._ex(1));\n }\n var b = new Array(g);\n var d = 0;\n for (var c = 1; c < 256 && d < g; c++) {\n if (f.evaluateAt(c) == 0) {\n b[d] = this._fa.inverse(c);\n d++;\n }\n }\n if (d != g) {\n throw \"Error locator degree does not match number of roots\";\n }\n return b;\n };\n this._di = function (f, h, g) {\n var k = h.length;\n var l = new Array(k);\n for (var e = 0; e < k; e++) {\n var b = this._fa.inverse(h[e]);\n var c = 1;\n for (var d = 0; d < k; d++) {\n if (e != d) {\n c = this._fa.multiply(c, _az._bd(1, this._fa.multiply(h[d], b)));\n }\n }\n l[e] = this._fa.multiply(f.evaluateAt(b), this._fa.inverse(c));\n if (g) {\n l[e] = this._fa.multiply(l[e], b);\n }\n }\n return l;\n };\n}\nfunction _bp(f, e) {\n if (e == null || e.length == 0) {\n throw \"bad arguments\";\n }\n this._fa = f;\n var c = e.length;\n if (c > 1 && e[0] == 0) {\n var d = 1;\n while (d < c && e[d] == 0) {\n d++;\n }\n if (d == c) {\n this._dd = f.Zero._dd;\n } else {\n this._dd = new Array(c - d);\n for (var b = 0; b < this._dd.length; b++) {\n this._dd[b] = 0;\n }\n for (var a = 0; a < this._dd.length; a++) {\n this._dd[a] = e[d + a];\n }\n }\n } else {\n this._dd = e;\n }\n this.__defineGetter__(\"Zero\", function () {\n return this._dd[0] == 0;\n });\n this.__defineGetter__(\"_ec\", function () {\n return this._dd.length - 1;\n });\n this.__defineGetter__(\"Coefficients\", function () {\n return this._dd;\n });\n this._ex = function (g) {\n return this._dd[this._dd.length - 1 - g];\n };\n this.evaluateAt = function (h) {\n if (h == 0) {\n return this._ex(0);\n }\n var l = this._dd.length;\n if (h == 1) {\n var g = 0;\n for (var k = 0; k < l; k++) {\n g = _az._bd(g, this._dd[k]);\n }\n return g;\n }\n var j = this._dd[0];\n for (var k = 1; k < l; k++) {\n j = _az._bd(this._fa.multiply(h, j), this._dd[k]);\n }\n return j;\n };\n this._bd = function (g) {\n if (this._fa != g._fa) {\n throw \"GF256Polys do not have same _az _fa\";\n }\n if (this.Zero) {\n return g;\n }\n if (g.Zero) {\n return this;\n }\n var o = this._dd;\n var n = g._dd;\n if (o.length > n.length) {\n var j = o;\n o = n;\n n = j;\n }\n var h = new Array(n.length);\n var k = n.length - o.length;\n for (var m = 0; m < k; m++) {\n h[m] = n[m];\n }\n for (var l = k; l < n.length; l++) {\n h[l] = _az._bd(o[l - k], n[l]);\n }\n return new _bp(f, h);\n };\n this.multiply1 = function (o) {\n if (this._fa != o._fa) {\n throw \"GF256Polys do not have same _az _fa\";\n }\n if (this.Zero || o.Zero) {\n return this._fa.Zero;\n }\n var q = this._dd;\n var g = q.length;\n var l = o._dd;\n var n = l.length;\n var p = new Array(g + n - 1);\n for (var m = 0; m < g; m++) {\n var h = q[m];\n for (var k = 0; k < n; k++) {\n p[m + k] = _az._bd(p[m + k], this._fa.multiply(h, l[k]));\n }\n }\n return new _bp(this._fa, p);\n };\n this.multiply2 = function (g) {\n if (g == 0) {\n return this._fa.Zero;\n }\n if (g == 1) {\n return this;\n }\n var j = this._dd.length;\n var k = new Array(j);\n for (var h = 0; h < j; h++) {\n k[h] = this._fa.multiply(this._dd[h], g);\n }\n return new _bp(this._fa, k);\n };\n this._dc = function (l, g) {\n if (l < 0) {\n throw \"bad arguments\";\n }\n if (g == 0) {\n return this._fa.Zero;\n }\n var j = this._dd.length;\n var k = new Array(j + l);\n for (var h = 0; h < k.length; h++) {\n k[h] = 0;\n }\n for (var h = 0; h < j; h++) {\n k[h] = this._fa.multiply(this._dd[h], g);\n }\n return new _bp(this._fa, k);\n };\n this.divide = function (l) {\n if (this._fa != l._fa) {\n throw \"GF256Polys do not have same _az _fa\";\n }\n if (l.Zero) {\n throw \"Divide by 0\";\n }\n var j = this._fa.Zero;\n var o = this;\n var g = l._ex(l._ec);\n var n = this._fa.inverse(g);\n while (o._ec >= l._ec && !o.Zero) {\n var m = o._ec - l._ec;\n var h = this._fa.multiply(o._ex(o._ec), n);\n var i = l._dc(m, h);\n var k = this._fa._ba(m, h);\n j = j._bd(k);\n o = o._bd(i);\n }\n return new Array(j, o);\n };\n}\nfunction _az(b) {\n this._gh = new Array(256);\n this._gi = new Array(256);\n var a = 1;\n for (var e = 0; e < 256; e++) {\n this._gh[e] = a;\n a <<= 1;\n if (a >= 256) {\n a ^= b;\n }\n }\n for (var e = 0; e < 255; e++) {\n this._gi[this._gh[e]] = e;\n }\n var d = new Array(1);\n d[0] = 0;\n this.zero = new _bp(this, new Array(d));\n var c = new Array(1);\n c[0] = 1;\n this.one = new _bp(this, new Array(c));\n this.__defineGetter__(\"Zero\", function () {\n return this.zero;\n });\n this.__defineGetter__(\"One\", function () {\n return this.one;\n });\n this._ba = function (j, f) {\n if (j < 0) {\n throw \"bad arguments\";\n }\n if (f == 0) {\n return zero;\n }\n var h = new Array(j + 1);\n for (var g = 0; g < h.length; g++) {\n h[g] = 0;\n }\n h[0] = f;\n return new _bp(this, h);\n };\n this.exp = function (f) {\n return this._gh[f];\n };\n this.log = function (f) {\n if (f == 0) {\n throw \"bad arguments\";\n }\n return this._gi[f];\n };\n this.inverse = function (f) {\n if (f == 0) {\n throw \"System.ArithmeticException\";\n }\n return this._gh[255 - this._gi[f]];\n };\n this.multiply = function (g, f) {\n if (g == 0 || f == 0) {\n return 0;\n }\n if (g == 1) {\n return f;\n }\n if (f == 1) {\n return g;\n }\n return this._gh[(this._gi[g] + this._gi[f]) % 255];\n };\n}\n_az._bb = new _az(285);\n_az._bc = new _az(301);\n_az._bd = function (d, c) {\n return d ^ c;\n};\nvar Decoder = {};\nDecoder.rsDecoder = new _db(_az._bb);\nDecoder.correctErrors = function (g, b) {\n var d = g.length;\n var f = new Array(d);\n for (var e = 0; e < d; e++) {\n f[e] = g[e] & 255;\n }\n var a = g.length - b;\n try {\n Decoder.rsDecoder.decode(f, a);\n } catch (c) {\n throw c;\n }\n for (var e = 0; e < b; e++) {\n g[e] = f[e];\n }\n};\nDecoder.decode = function (q) {\n var b = new _cl(q);\n var o = b._cq();\n var c = b._cm()._cg;\n var p = b._gk();\n var a = _dl._gn(p, o, c);\n var f = 0;\n for (var k = 0; k < a.length; k++) {\n f += a[k]._du;\n }\n var e = new Array(f);\n var n = 0;\n for (var h = 0; h < a.length; h++) {\n var m = a[h];\n var d = m.Codewords;\n var g = m._du;\n Decoder.correctErrors(d, g);\n for (var k = 0; k < g; k++) {\n e[n++] = d[k];\n }\n }\n var l = new QRCodeDataBlockReader(e, o._fd, c.Bits);\n return l;\n};\nvar qrcode = {};\nqrcode.imagedata = null;\nqrcode.width = 0;\nqrcode.height = 0;\nqrcode.qrCodeSymbol = null;\nqrcode.debug = false;\nqrcode.maxImgSize = 1024 * 1024;\nqrcode._eo = [[10, 9, 8, 8], [12, 11, 16, 10], [14, 13, 16, 12]];\nqrcode.callback = null;\nqrcode.vidSuccess = function (a) {\n qrcode.localstream = a;\n if (qrcode.webkit) {\n qrcode.video.src = window.webkitURL.createObjectURL(a);\n } else {\n if (qrcode.moz) {\n qrcode.video.mozSrcObject = a;\n qrcode.video.play();\n } else {\n qrcode.video.src = a;\n }\n }\n qrcode.gUM = true;\n qrcode.canvas_qr2 = document.createElement(\"canvas\");\n qrcode.canvas_qr2.id = \"qr-canvas\";\n qrcode.qrcontext2 = qrcode.canvas_qr2.getContext(\"2d\");\n qrcode.canvas_qr2.width = qrcode.video.videoWidth;\n qrcode.canvas_qr2.height = qrcode.video.videoHeight;\n setTimeout(qrcode.captureToCanvas, 500);\n};\nqrcode.vidError = function (a) {\n qrcode.gUM = false;\n return;\n};\nqrcode.captureToCanvas = function () {\n if (qrcode.gUM) {\n try {\n if (qrcode.video.videoWidth == 0) {\n setTimeout(qrcode.captureToCanvas, 500);\n return;\n } else {\n qrcode.canvas_qr2.width = qrcode.video.videoWidth;\n qrcode.canvas_qr2.height = qrcode.video.videoHeight;\n }\n qrcode.qrcontext2.drawImage(qrcode.video, 0, 0);\n try {\n qrcode.decode();\n } catch (a) {\n __f__(\"log\", a, \" at utils/reqrcode.js:1477\");\n setTimeout(qrcode.captureToCanvas, 500);\n }\n } catch (a) {\n __f__(\"log\", a, \" at utils/reqrcode.js:1481\");\n setTimeout(qrcode.captureToCanvas, 500);\n }\n }\n};\nqrcode.setWebcam = function (c) {\n var d = navigator;\n qrcode.video = document.getElementById(c);\n var a = true;\n if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {\n try {\n navigator.mediaDevices.enumerateDevices().then(function (e) {\n e.forEach(function (f) {\n __f__(\"log\", \"deb1\", \" at utils/reqrcode.js:1494\");\n if (f.kind === \"videoinput\") {\n if (f.label.toLowerCase().search(\"back\") > -1) {\n a = [{\n sourceId: f.deviceId\n }];\n }\n }\n __f__(\"log\", f.kind + \": \" + f.label + \" id = \" + f.deviceId, \" at utils/reqrcode.js:1502\");\n });\n });\n } catch (b) {\n __f__(\"log\", b, \" at utils/reqrcode.js:1506\");\n }\n } else {\n __f__(\"log\", \"no navigator.mediaDevices.enumerateDevices\", \" at utils/reqrcode.js:1509\");\n }\n if (d.getUserMedia) {\n d.getUserMedia({\n video: a,\n audio: false\n }, qrcode.vidSuccess, qrcode.vidError);\n } else {\n if (d.webkitGetUserMedia) {\n qrcode.webkit = true;\n d.webkitGetUserMedia({\n video: a,\n audio: false\n }, qrcode.vidSuccess, qrcode.vidError);\n } else {\n if (d.mozGetUserMedia) {\n qrcode.moz = true;\n d.mozGetUserMedia({\n video: a,\n audio: false\n }, qrcode.vidSuccess, qrcode.vidError);\n }\n }\n }\n};\nqrcode.decode = function (d) {\n if (arguments.length == 0) {\n if (qrcode.canvas_qr2) {\n var b = qrcode.canvas_qr2;\n var a = qrcode.qrcontext2;\n } else {\n var b = document.getElementById(\"qr-canvas\");\n var a = b.getContext(\"2d\");\n }\n qrcode.width = b.width;\n qrcode.height = b.height;\n qrcode.imagedata = a.getImageData(0, 0, qrcode.width, qrcode.height);\n qrcode.result = qrcode.process(a);\n if (qrcode.callback != null) {\n qrcode.callback(qrcode.result);\n }\n return qrcode.result;\n } else {\n var c = new Image();\n c.crossOrigin = \"Anonymous\";\n c.onload = function () {\n var g = document.getElementById(\"out-canvas\");\n if (g != null) {\n var j = g.getContext(\"2d\");\n j.clearRect(0, 0, 320, 240);\n j.drawImage(c, 0, 0, 320, 240);\n }\n var i = document.createElement(\"canvas\");\n var h = i.getContext(\"2d\");\n var f = c.height;\n var l = c.width;\n if (c.width * c.height > qrcode.maxImgSize) {\n var k = c.width / c.height;\n f = Math.sqrt(qrcode.maxImgSize / k);\n l = k * f;\n }\n i.width = l;\n i.height = f;\n h.drawImage(c, 0, 0, i.width, i.height);\n qrcode.width = i.width;\n qrcode.height = i.height;\n try {\n qrcode.imagedata = h.getImageData(0, 0, i.width, i.height);\n } catch (m) {\n qrcode.result = \"Cross domain image reading not supported in your browser! Save it to your computer then drag and drop the file!\";\n if (qrcode.callback != null) {\n qrcode.callback(qrcode.result);\n }\n return;\n }\n try {\n qrcode.result = qrcode.process(h);\n } catch (m) {\n __f__(\"log\", m, \" at utils/reqrcode.js:1588\");\n qrcode.result = \"error decoding QR Code\";\n }\n if (qrcode.callback != null) {\n qrcode.callback(qrcode.result);\n }\n };\n c.onerror = function () {\n if (qrcode.callback != null) {\n qrcode.callback(\"Failed to load the image\");\n }\n };\n c.src = d;\n }\n};\nqrcode.isUrl = function (a) {\n var b = /(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?/;\n return b.test(a);\n};\nqrcode.decode_url = function (b) {\n var d = \"\";\n try {\n d = escape(b);\n } catch (c) {\n __f__(\"log\", c, \" at utils/reqrcode.js:1612\");\n d = b;\n }\n var a = \"\";\n try {\n a = decodeURIComponent(d);\n } catch (c) {\n __f__(\"log\", c, \" at utils/reqrcode.js:1619\");\n a = d;\n }\n return a;\n};\nqrcode.decode_utf8 = function (a) {\n if (qrcode.isUrl(a)) {\n return qrcode.decode_url(a);\n } else {\n return a;\n }\n};\nqrcode.process = function (q) {\n var a = new Date().getTime();\n var c = qrcode.grayScaleToBitmap(qrcode.grayscale());\n if (qrcode.debug) {\n for (var m = 0; m < qrcode.height; m++) {\n for (var n = 0; n < qrcode.width; n++) {\n var o = n * 4 + m * qrcode.width * 4;\n qrcode.imagedata.data[o] = c[n + m * qrcode.width] ? 0 : 0;\n qrcode.imagedata.data[o + 1] = c[n + m * qrcode.width] ? 0 : 0;\n qrcode.imagedata.data[o + 2] = c[n + m * qrcode.width] ? 255 : 0;\n }\n }\n q.putImageData(qrcode.imagedata, 0, 0);\n }\n var h = new Detector(c);\n var p = h.detect();\n if (qrcode.debug) {\n for (var m = 0; m < p.bits.Height; m++) {\n for (var n = 0; n < p.bits.Width; n++) {\n var o = n * 4 * 2 + m * 2 * qrcode.width * 4;\n qrcode.imagedata.data[o] = p.bits._ds(n, m) ? 0 : 0;\n qrcode.imagedata.data[o + 1] = p.bits._ds(n, m) ? 0 : 0;\n qrcode.imagedata.data[o + 2] = p.bits._ds(n, m) ? 255 : 0;\n }\n }\n q.putImageData(qrcode.imagedata, 0, 0);\n }\n var k = Decoder.decode(p.bits);\n var g = k.DataByte;\n var l = \"\";\n for (var f = 0; f < g.length; f++) {\n for (var e = 0; e < g[f].length; e++) {\n l += String.fromCharCode(g[f][e]);\n }\n }\n var d = new Date().getTime();\n var b = d - a;\n __f__(\"log\", b, \" at utils/reqrcode.js:1668\");\n return qrcode.decode_utf8(l);\n};\nqrcode.getPixel = function (b, d) {\n if (qrcode.width < b) {\n throw \"point error\";\n }\n if (qrcode.height < d) {\n throw \"point error\";\n }\n var a = b * 4 + d * qrcode.width * 4;\n var c = (qrcode.imagedata.data[a] * 33 + qrcode.imagedata.data[a + 1] * 34 + qrcode.imagedata.data[a + 2] * 33) / 100;\n return c;\n};\nqrcode.binarize = function (d) {\n var c = new Array(qrcode.width * qrcode.height);\n for (var e = 0; e < qrcode.height; e++) {\n for (var b = 0; b < qrcode.width; b++) {\n var a = qrcode.getPixel(b, e);\n c[b + e * qrcode.width] = a <= d ? true : false;\n }\n }\n return c;\n};\nqrcode._em = function (d) {\n var c = 4;\n var k = Math.floor(qrcode.width / c);\n var j = Math.floor(qrcode.height / c);\n var f = new Array(c);\n for (var g = 0; g < c; g++) {\n f[g] = new Array(c);\n for (var e = 0; e < c; e++) {\n f[g][e] = new Array(0, 0);\n }\n }\n for (var o = 0; o < c; o++) {\n for (var a = 0; a < c; a++) {\n f[a][o][0] = 255;\n for (var l = 0; l < j; l++) {\n for (var n = 0; n < k; n++) {\n var h = d[k * a + n + (j * o + l) * qrcode.width];\n if (h < f[a][o][0]) {\n f[a][o][0] = h;\n }\n if (h > f[a][o][1]) {\n f[a][o][1] = h;\n }\n }\n }\n }\n }\n var m = new Array(c);\n for (var b = 0; b < c; b++) {\n m[b] = new Array(c);\n }\n for (var o = 0; o < c; o++) {\n for (var a = 0; a < c; a++) {\n m[a][o] = Math.floor((f[a][o][0] + f[a][o][1]) / 2);\n }\n }\n return m;\n};\nqrcode.grayScaleToBitmap = function (f) {\n var k = qrcode._em(f);\n var b = k.length;\n var e = Math.floor(qrcode.width / b);\n var d = Math.floor(qrcode.height / b);\n var h = new ArrayBuffer(qrcode.width * qrcode.height);\n var c = new Uint8Array(h);\n for (var j = 0; j < b; j++) {\n for (var a = 0; a < b; a++) {\n for (var g = 0; g < d; g++) {\n for (var i = 0; i < e; i++) {\n c[e * a + i + (d * j + g) * qrcode.width] = f[e * a + i + (d * j + g) * qrcode.width] < k[a][j] ? true : false;\n }\n }\n }\n }\n return c;\n};\nqrcode.grayscale = function () {\n var e = new ArrayBuffer(qrcode.width * qrcode.height);\n var c = new Uint8Array(e);\n for (var d = 0; d < qrcode.height; d++) {\n for (var b = 0; b < qrcode.width; b++) {\n var a = qrcode.getPixel(b, d);\n c[b + d * qrcode.width] = a;\n }\n }\n return c;\n};\nfunction _ew(a, b) {\n if (a >= 0) {\n return a >> b;\n } else {\n return (a >> b) + (2 << ~b);\n }\n}\nvar _gf = 3;\nvar _eh = 57;\nvar _el = 8;\nvar _eg = 2;\nqrcode._er = function (c) {\n function b(m, k) {\n var n = m.X - k.X;\n var l = m.Y - k.Y;\n return Math.sqrt(n * n + l * l);\n }\n function d(k, o, n) {\n var m = o.x;\n var l = o.y;\n return (n.x - m) * (k.y - l) - (n.y - l) * (k.x - m);\n }\n var i = b(c[0], c[1]);\n var f = b(c[1], c[2]);\n var e = b(c[0], c[2]);\n var a, j, h;\n if (f >= i && f >= e) {\n j = c[0];\n a = c[1];\n h = c[2];\n } else {\n if (e >= f && e >= i) {\n j = c[1];\n a = c[0];\n h = c[2];\n } else {\n j = c[2];\n a = c[0];\n h = c[1];\n }\n }\n if (d(a, j, h) < 0) {\n var g = a;\n a = h;\n h = g;\n }\n c[0] = a;\n c[1] = j;\n c[2] = h;\n};\nfunction _cz(c, a, b) {\n this.x = c;\n this.y = a;\n this.count = 1;\n this._aj = b;\n this.__defineGetter__(\"_ei\", function () {\n return this._aj;\n });\n this.__defineGetter__(\"Count\", function () {\n return this.count;\n });\n this.__defineGetter__(\"X\", function () {\n return this.x;\n });\n this.__defineGetter__(\"Y\", function () {\n return this.y;\n });\n this._ek = function () {\n this.count++;\n };\n this._ev = function (f, e, d) {\n if (Math.abs(e - this.y) <= f && Math.abs(d - this.x) <= f) {\n var g = Math.abs(f - this._aj);\n return g <= 1 || g / this._aj <= 1;\n }\n return false;\n };\n}\nfunction _es(a) {\n this._go = a[0];\n this._gu = a[1];\n this._gr = a[2];\n this.__defineGetter__(\"_gp\", function () {\n return this._go;\n });\n this.__defineGetter__(\"_gq\", function () {\n return this._gu;\n });\n this.__defineGetter__(\"_gs\", function () {\n return this._gr;\n });\n}\nfunction _cc() {\n this.image = null;\n this._cv = [];\n this._ge = false;\n this._al = new Array(0, 0, 0, 0, 0);\n this._am = null;\n this.__defineGetter__(\"_da\", function () {\n this._al[0] = 0;\n this._al[1] = 0;\n this._al[2] = 0;\n this._al[3] = 0;\n this._al[4] = 0;\n return this._al;\n });\n this._ao = function (f) {\n var b = 0;\n for (var d = 0; d < 5; d++) {\n var e = f[d];\n if (e == 0) {\n return false;\n }\n b += e;\n }\n if (b < 7) {\n return false;\n }\n var c = Math.floor((b << _el) / 7);\n var a = Math.floor(c / 2);\n return Math.abs(c - (f[0] << _el)) < a && Math.abs(c - (f[1] << _el)) < a && Math.abs(3 * c - (f[2] << _el)) < 3 * a && Math.abs(c - (f[3] << _el)) < a && Math.abs(c - (f[4] << _el)) < a;\n };\n this._an = function (b, a) {\n return a - b[4] - b[3] - b[2] / 2;\n };\n this._ap = function (a, j, d, g) {\n var c = this.image;\n var h = qrcode.height;\n var b = this._da;\n var f = a;\n while (f >= 0 && c[j + f * qrcode.width]) {\n b[2]++;\n f--;\n }\n if (f < 0) {\n return NaN;\n }\n while (f >= 0 && !c[j + f * qrcode.width] && b[1] <= d) {\n b[1]++;\n f--;\n }\n if (f < 0 || b[1] > d) {\n return NaN;\n }\n while (f >= 0 && c[j + f * qrcode.width] && b[0] <= d) {\n b[0]++;\n f--;\n }\n if (b[0] > d) {\n return NaN;\n }\n f = a + 1;\n while (f < h && c[j + f * qrcode.width]) {\n b[2]++;\n f++;\n }\n if (f == h) {\n return NaN;\n }\n while (f < h && !c[j + f * qrcode.width] && b[3] < d) {\n b[3]++;\n f++;\n }\n if (f == h || b[3] >= d) {\n return NaN;\n }\n while (f < h && c[j + f * qrcode.width] && b[4] < d) {\n b[4]++;\n f++;\n }\n if (b[4] >= d) {\n return NaN;\n }\n var e = b[0] + b[1] + b[2] + b[3] + b[4];\n if (5 * Math.abs(e - g) >= 2 * g) {\n return NaN;\n }\n return this._ao(b) ? this._an(b, f) : NaN;\n };\n this._ej = function (b, a, e, h) {\n var d = this.image;\n var i = qrcode.width;\n var c = this._da;\n var g = b;\n while (g >= 0 && d[g + a * qrcode.width]) {\n c[2]++;\n g--;\n }\n if (g < 0) {\n return NaN;\n }\n while (g >= 0 && !d[g + a * qrcode.width] && c[1] <= e) {\n c[1]++;\n g--;\n }\n if (g < 0 || c[1] > e) {\n return NaN;\n }\n while (g >= 0 && d[g + a * qrcode.width] && c[0] <= e) {\n c[0]++;\n g--;\n }\n if (c[0] > e) {\n return NaN;\n }\n g = b + 1;\n while (g < i && d[g + a * qrcode.width]) {\n c[2]++;\n g++;\n }\n if (g == i) {\n return NaN;\n }\n while (g < i && !d[g + a * qrcode.width] && c[3] < e) {\n c[3]++;\n g++;\n }\n if (g == i || c[3] >= e) {\n return NaN;\n }\n while (g < i && d[g + a * qrcode.width] && c[4] < e) {\n c[4]++;\n g++;\n }\n if (c[4] >= e) {\n return NaN;\n }\n var f = c[0] + c[1] + c[2] + c[3] + c[4];\n if (5 * Math.abs(f - h) >= h) {\n return NaN;\n }\n return this._ao(c) ? this._an(c, g) : NaN;\n };\n this._cu = function (c, f, e) {\n var d = c[0] + c[1] + c[2] + c[3] + c[4];\n var n = this._an(c, e);\n var b = this._ap(f, Math.floor(n), c[2], d);\n if (!isNaN(b)) {\n n = this._ej(Math.floor(n), Math.floor(b), c[2], d);\n if (!isNaN(n)) {\n var l = d / 7;\n var m = false;\n var h = this._cv.length;\n for (var g = 0; g < h; g++) {\n var a = this._cv[g];\n if (a._ev(l, b, n)) {\n a._ek();\n m = true;\n break;\n }\n }\n if (!m) {\n var k = new _cz(n, b, l);\n this._cv.push(k);\n if (this._am != null) {\n this._am._ep(k);\n }\n }\n return true;\n }\n }\n return false;\n };\n this._ee = function () {\n var h = this._cv.length;\n if (h < 3) {\n throw \"Couldn't find enough finder patterns (found \" + h + \")\";\n }\n if (h > 3) {\n var b = 0;\n var j = 0;\n for (var d = 0; d < h; d++) {\n var g = this._cv[d]._ei;\n b += g;\n j += g * g;\n }\n var a = b / h;\n this._cv.sort(function (m, l) {\n var k = Math.abs(l._ei - a);\n var i = Math.abs(m._ei - a);\n if (k < i) {\n return -1;\n } else {\n if (k == i) {\n return 0;\n } else {\n return 1;\n }\n }\n });\n var e = Math.sqrt(j / h - a * a);\n var c = Math.max(0.2 * a, e);\n for (var d = this._cv.length - 1; d >= 0; d--) {\n var f = this._cv[d];\n if (Math.abs(f._ei - a) > c) {\n this._cv.splice(d, 1);\n }\n }\n }\n if (this._cv.length > 3) {\n this._cv.sort(function (k, i) {\n if (k.count > i.count) {\n return -1;\n }\n if (k.count < i.count) {\n return 1;\n }\n return 0;\n });\n }\n return new Array(this._cv[0], this._cv[1], this._cv[2]);\n };\n this._eq = function () {\n var b = this._cv.length;\n if (b <= 1) {\n return 0;\n }\n var c = null;\n for (var d = 0; d < b; d++) {\n var a = this._cv[d];\n if (a.Count >= _eg) {\n if (c == null) {\n c = a;\n } else {\n this._ge = true;\n return Math.floor((Math.abs(c.X - a.X) - Math.abs(c.Y - a.Y)) / 2);\n }\n }\n }\n return 0;\n };\n this._cx = function () {\n var g = 0;\n var c = 0;\n var a = this._cv.length;\n for (var d = 0; d < a; d++) {\n var f = this._cv[d];\n if (f.Count >= _eg) {\n g++;\n c += f._ei;\n }\n }\n if (g < 3) {\n return false;\n }\n var e = c / a;\n var b = 0;\n for (var d = 0; d < a; d++) {\n f = this._cv[d];\n b += Math.abs(f._ei - e);\n }\n return b <= 0.05 * c;\n };\n this._ce = function (e) {\n var o = false;\n this.image = e;\n var n = qrcode.height;\n var k = qrcode.width;\n var a = Math.floor(3 * n / (4 * _eh));\n if (a < _gf || o) {\n a = _gf;\n }\n var g = false;\n var d = new Array(5);\n for (var h = a - 1; h < n && !g; h += a) {\n d[0] = 0;\n d[1] = 0;\n d[2] = 0;\n d[3] = 0;\n d[4] = 0;\n var b = 0;\n for (var f = 0; f < k; f++) {\n if (e[f + h * qrcode.width]) {\n if ((b & 1) == 1) {\n b++;\n }\n d[b]++;\n } else {\n if ((b & 1) == 0) {\n if (b == 4) {\n if (this._ao(d)) {\n var c = this._cu(d, h, f);\n if (c) {\n a = 2;\n if (this._ge) {\n g = this._cx();\n } else {\n var m = this._eq();\n if (m > d[2]) {\n h += m - d[2] - a;\n f = k - 1;\n }\n }\n } else {\n do {\n f++;\n } while (f < k && !e[f + h * qrcode.width]);\n f--;\n }\n b = 0;\n d[0] = 0;\n d[1] = 0;\n d[2] = 0;\n d[3] = 0;\n d[4] = 0;\n } else {\n d[0] = d[2];\n d[1] = d[3];\n d[2] = d[4];\n d[3] = 1;\n d[4] = 0;\n b = 3;\n }\n } else {\n d[++b]++;\n }\n } else {\n d[b]++;\n }\n }\n }\n if (this._ao(d)) {\n var c = this._cu(d, h, k);\n if (c) {\n a = d[0];\n if (this._ge) {\n g = _cx();\n }\n }\n }\n }\n var l = this._ee();\n qrcode._er(l);\n return new _es(l);\n };\n}\nfunction _ai(c, a, b) {\n this.x = c;\n this.y = a;\n this.count = 1;\n this._aj = b;\n this.__defineGetter__(\"_ei\", function () {\n return this._aj;\n });\n this.__defineGetter__(\"Count\", function () {\n return this.count;\n });\n this.__defineGetter__(\"X\", function () {\n return Math.floor(this.x);\n });\n this.__defineGetter__(\"Y\", function () {\n return Math.floor(this.y);\n });\n this._ek = function () {\n this.count++;\n };\n this._ev = function (f, e, d) {\n if (Math.abs(e - this.y) <= f && Math.abs(d - this.x) <= f) {\n var g = Math.abs(f - this._aj);\n return g <= 1 || g / this._aj <= 1;\n }\n return false;\n };\n}\nfunction _ak(g, c, b, f, a, e, d) {\n this.image = g;\n this._cv = new Array();\n this.startX = c;\n this.startY = b;\n this.width = f;\n this.height = a;\n this._ef = e;\n this._al = new Array(0, 0, 0);\n this._am = d;\n this._an = function (i, h) {\n return h - i[2] - i[1] / 2;\n };\n this._ao = function (l) {\n var k = this._ef;\n var h = k / 2;\n for (var j = 0; j < 3; j++) {\n if (Math.abs(k - l[j]) >= h) {\n return false;\n }\n }\n return true;\n };\n this._ap = function (h, q, l, o) {\n var k = this.image;\n var p = qrcode.height;\n var j = this._al;\n j[0] = 0;\n j[1] = 0;\n j[2] = 0;\n var n = h;\n while (n >= 0 && k[q + n * qrcode.width] && j[1] <= l) {\n j[1]++;\n n--;\n }\n if (n < 0 || j[1] > l) {\n return NaN;\n }\n while (n >= 0 && !k[q + n * qrcode.width] && j[0] <= l) {\n j[0]++;\n n--;\n }\n if (j[0] > l) {\n return NaN;\n }\n n = h + 1;\n while (n < p && k[q + n * qrcode.width] && j[1] <= l) {\n j[1]++;\n n++;\n }\n if (n == p || j[1] > l) {\n return NaN;\n }\n while (n < p && !k[q + n * qrcode.width] && j[2] <= l) {\n j[2]++;\n n++;\n }\n if (j[2] > l) {\n return NaN;\n }\n var m = j[0] + j[1] + j[2];\n if (5 * Math.abs(m - o) >= 2 * o) {\n return NaN;\n }\n return this._ao(j) ? this._an(j, n) : NaN;\n };\n this._cu = function (l, o, n) {\n var m = l[0] + l[1] + l[2];\n var t = this._an(l, n);\n var k = this._ap(o, Math.floor(t), 2 * l[1], m);\n if (!isNaN(k)) {\n var s = (l[0] + l[1] + l[2]) / 3;\n var q = this._cv.length;\n for (var p = 0; p < q; p++) {\n var h = this._cv[p];\n if (h._ev(s, k, t)) {\n return new _ai(t, k, s);\n }\n }\n var r = new _ai(t, k, s);\n this._cv.push(r);\n if (this._am != null) {\n this._am._ep(r);\n }\n }\n return null;\n };\n this.find = function () {\n var p = this.startX;\n var s = this.height;\n var q = p + f;\n var r = b + (s >> 1);\n var m = new Array(0, 0, 0);\n for (var k = 0; k < s; k++) {\n var o = r + ((k & 1) == 0 ? k + 1 >> 1 : -(k + 1 >> 1));\n m[0] = 0;\n m[1] = 0;\n m[2] = 0;\n var n = p;\n while (n < q && !g[n + qrcode.width * o]) {\n n++;\n }\n var h = 0;\n while (n < q) {\n if (g[n + o * qrcode.width]) {\n if (h == 1) {\n m[h]++;\n } else {\n if (h == 2) {\n if (this._ao(m)) {\n var l = this._cu(m, o, n);\n if (l != null) {\n return l;\n }\n }\n m[0] = m[2];\n m[1] = 1;\n m[2] = 0;\n h = 1;\n } else {\n m[++h]++;\n }\n }\n } else {\n if (h == 1) {\n h++;\n }\n m[h]++;\n }\n n++;\n }\n if (this._ao(m)) {\n var l = this._cu(m, o, q);\n if (l != null) {\n return l;\n }\n }\n }\n if (!(this._cv.length == 0)) {\n return this._cv[0];\n }\n throw \"Couldn't find enough alignment patterns\";\n };\n}\nfunction QRCodeDataBlockReader(c, a, b) {\n this._ed = 0;\n this._cw = 7;\n this.dataLength = 0;\n this.blocks = c;\n this._en = b;\n if (a <= 9) {\n this.dataLengthMode = 0;\n } else {\n if (a >= 10 && a <= 26) {\n this.dataLengthMode = 1;\n } else {\n if (a >= 27 && a <= 40) {\n this.dataLengthMode = 2;\n }\n }\n }\n this._gd = function (f) {\n var k = 0;\n if (f < this._cw + 1) {\n var m = 0;\n for (var e = 0; e < f; e++) {\n m += 1 << e;\n }\n m <<= this._cw - f + 1;\n k = (this.blocks[this._ed] & m) >> this._cw - f + 1;\n this._cw -= f;\n return k;\n } else {\n if (f < this._cw + 1 + 8) {\n var j = 0;\n for (var e = 0; e < this._cw + 1; e++) {\n j += 1 << e;\n }\n k = (this.blocks[this._ed] & j) << f - (this._cw + 1);\n this._ed++;\n k += this.blocks[this._ed] >> 8 - (f - (this._cw + 1));\n this._cw = this._cw - f % 8;\n if (this._cw < 0) {\n this._cw = 8 + this._cw;\n }\n return k;\n } else {\n if (f < this._cw + 1 + 16) {\n var j = 0;\n var h = 0;\n for (var e = 0; e < this._cw + 1; e++) {\n j += 1 << e;\n }\n var g = (this.blocks[this._ed] & j) << f - (this._cw + 1);\n this._ed++;\n var d = this.blocks[this._ed] << f - (this._cw + 1 + 8);\n this._ed++;\n for (var e = 0; e < f - (this._cw + 1 + 8); e++) {\n h += 1 << e;\n }\n h <<= 8 - (f - (this._cw + 1 + 8));\n var l = (this.blocks[this._ed] & h) >> 8 - (f - (this._cw + 1 + 8));\n k = g + d + l;\n this._cw = this._cw - (f - 8) % 8;\n if (this._cw < 0) {\n this._cw = 8 + this._cw;\n }\n return k;\n } else {\n return 0;\n }\n }\n }\n };\n this.NextMode = function () {\n if (this._ed > this.blocks.length - this._en - 2) {\n return 0;\n } else {\n return this._gd(4);\n }\n };\n this.getDataLength = function (d) {\n var e = 0;\n while (true) {\n if (d >> e == 1) {\n break;\n }\n e++;\n }\n return this._gd(qrcode._eo[this.dataLengthMode][e]);\n };\n this.getRomanAndFigureString = function (h) {\n var f = h;\n var g = 0;\n var j = \"\";\n var d = new Array(\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \" \", \"$\", \"%\", \"*\", \"+\", \"-\", \".\", \"/\", \":\");\n do {\n if (f > 1) {\n g = this._gd(11);\n var i = Math.floor(g / 45);\n var e = g % 45;\n j += d[i];\n j += d[e];\n f -= 2;\n } else {\n if (f == 1) {\n g = this._gd(6);\n j += d[g];\n f -= 1;\n }\n }\n } while (f > 0);\n return j;\n };\n this.getFigureString = function (f) {\n var d = f;\n var e = 0;\n var g = \"\";\n do {\n if (d >= 3) {\n e = this._gd(10);\n if (e < 100) {\n g += \"0\";\n }\n if (e < 10) {\n g += \"0\";\n }\n d -= 3;\n } else {\n if (d == 2) {\n e = this._gd(7);\n if (e < 10) {\n g += \"0\";\n }\n d -= 2;\n } else {\n if (d == 1) {\n e = this._gd(4);\n d -= 1;\n }\n }\n }\n g += e;\n } while (d > 0);\n return g;\n };\n this.get8bitByteArray = function (g) {\n var e = g;\n var f = 0;\n var d = new Array();\n do {\n f = this._gd(8);\n d.push(f);\n e--;\n } while (e > 0);\n return d;\n };\n this.getKanjiString = function (j) {\n var g = j;\n var i = 0;\n var h = \"\";\n do {\n i = _gd(13);\n var e = i % 192;\n var f = i / 192;\n var k = (f << 8) + e;\n var d = 0;\n if (k + 33088 <= 40956) {\n d = k + 33088;\n } else {\n d = k + 49472;\n }\n h += String.fromCharCode(d);\n g--;\n } while (g > 0);\n return h;\n };\n this.__defineGetter__(\"DataByte\", function () {\n var h = new Array();\n var e = 1;\n var f = 2;\n var d = 4;\n var o = 8;\n do {\n var l = this.NextMode();\n if (l == 0) {\n if (h.length > 0) {\n break;\n } else {\n throw \"Empty data block\";\n }\n }\n if (l != e && l != f && l != d && l != o) {\n throw \"Invalid mode: \" + l + \" in (block:\" + this._ed + \" bit:\" + this._cw + \")\";\n }\n var g = this.getDataLength(l);\n if (g < 1) {\n throw \"Invalid data length: \" + g;\n }\n switch (l) {\n case e:\n var m = this.getFigureString(g);\n var k = new Array(m.length);\n for (var i = 0; i < m.length; i++) {\n k[i] = m.charCodeAt(i);\n }\n h.push(k);\n break;\n case f:\n var m = this.getRomanAndFigureString(g);\n var k = new Array(m.length);\n for (var i = 0; i < m.length; i++) {\n k[i] = m.charCodeAt(i);\n }\n h.push(k);\n break;\n case d:\n var n = this.get8bitByteArray(g);\n h.push(n);\n break;\n case o:\n var m = this.getKanjiString(g);\n h.push(m);\n break;\n }\n } while (true);\n return h;\n });\n}\n;\nmodule.exports = {\n qrcode: qrcode\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdXRpbHMvcmVxcmNvZGUuanMiXSwibmFtZXMiOlsiX2FhIiwiX2FiIiwiZiIsImUiLCJkIiwicXJjb2RlIiwid2lkdGgiLCJiIiwiaGVpZ2h0IiwiYyIsImciLCJsZW5ndGgiLCJhIiwiTWF0aCIsImZsb29yIiwiaCIsIl9hZiIsImsiLCJfYWMiLCJqIiwiQXJyYXkiLCJpIiwiX2FkIiwiX2RxIiwiX2FoIiwibyIsImwiLCJxIiwicCIsIm4iLCJtIiwicyIsInIiLCJfYWUiLCJfYWciLCJfYTEiLCJjb3VudCIsIl9mYyIsIl9fZGVmaW5lR2V0dGVyX18iLCJfYTIiLCJfYm0iLCJfZG8iLCJfZm8iLCJfZmIiLCJfYTMiLCJfYnMiLCJfYXIiLCJfYm8iLCJDb3VudCIsIl9kbSIsIl9iciIsIl9hcSIsIl9jciIsIl9icSIsIl9idSIsIm9yZGluYWwiLCJfYnYiLCJWRVJTSU9OUyIsIl9heSIsIl9hdiIsIl9hdCIsIl9hdyIsIl9heCIsIl9naiIsImExMSIsImExMiIsImExMyIsImEyMSIsImEyMiIsImEyMyIsImEzMSIsImEzMiIsImEzMyIsInYiLCJ6IiwidyIsInUiLCJ0IiwiX2ZwIiwiX2ZyIiwidGltZXMiLCJfYmUiLCJfYmYiLCJfYmciLCJiaXRzIiwicG9pbnRzIiwiRGV0ZWN0b3IiLCJpbWFnZSIsIl9hbSIsIl9iaSIsImFicyIsInNxcnQiLCJfYmgiLCJfYmoiLCJYIiwiWSIsImlzTmFOIiwiX2JrIiwiZGlzdGFuY2UiLCJfYngiLCJyb3VuZCIsIl9ibCIsIm1heCIsIm1pbiIsIl9hayIsImZpbmQiLCJjcmVhdGVUcmFuc2Zvcm0iLCJfYnoiLCJfY2QiLCJfZ3EiLCJfZ3MiLCJfZ3AiLCJfYXMiLCJkZXRlY3QiLCJfY2MiLCJfY2UiLCJfY2EiLCJfY2IiLCJfY2giLCJfY2YiLCJfY2ciLCJmb3JCaXRzIiwiX2ZlIiwiR2V0SGFzaENvZGUiLCJFcXVhbHMiLCJfZXciLCJfY2kiLCJfY2oiLCJfZmYiLCJuYW1lIiwiRk9SX0JJVFMiLCJMIiwiTSIsIlEiLCJIIiwicm93U2l6ZSIsIl9kcyIsImZsaXAiLCJjbGVhciIsIl9kbCIsIl9kdiIsIl9kdyIsIl9nbiIsIl9kcCIsIl9jbCIsIkRpbWVuc2lvbiIsIl9hdSIsIl9jcCIsIl9jbyIsIl9kayIsIl9jbSIsIl9jcSIsIl9nayIsIl9keCIsIl9nbCIsIl9kaiIsIl9keSIsIl9mZyIsIl9mdyIsIl9maCIsIl9maSIsIl9maiIsIl9mayIsIl9mbCIsIl9mbSIsIl9mbiIsIl9kYiIsIl9mYSIsImRlY29kZSIsIl9icCIsImV2YWx1YXRlQXQiLCJleHAiLCJfZWIiLCJfYmEiLCJfZXkiLCJfZGkiLCJsb2ciLCJfYXoiLCJfYmQiLCJ5IiwiX2VjIiwiQiIsIk9uZSIsIlplcm8iLCJ4IiwiX2V4IiwiaW52ZXJzZSIsIkEiLCJtdWx0aXBseSIsIl9kYyIsIm11bHRpcGx5MSIsIm11bHRpcGx5MiIsIl9kZCIsImRpdmlkZSIsIl9naCIsIl9naSIsInplcm8iLCJvbmUiLCJfYmIiLCJfYmMiLCJEZWNvZGVyIiwicnNEZWNvZGVyIiwiY29ycmVjdEVycm9ycyIsIl9kdSIsIkNvZGV3b3JkcyIsIlFSQ29kZURhdGFCbG9ja1JlYWRlciIsIl9mZCIsIkJpdHMiLCJpbWFnZWRhdGEiLCJxckNvZGVTeW1ib2wiLCJkZWJ1ZyIsIm1heEltZ1NpemUiLCJfZW8iLCJjYWxsYmFjayIsInZpZFN1Y2Nlc3MiLCJsb2NhbHN0cmVhbSIsIndlYmtpdCIsInZpZGVvIiwic3JjIiwid2luZG93Iiwid2Via2l0VVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwibW96IiwibW96U3JjT2JqZWN0IiwicGxheSIsImdVTSIsImNhbnZhc19xcjIiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJpZCIsInFyY29udGV4dDIiLCJnZXRDb250ZXh0IiwidmlkZW9XaWR0aCIsInZpZGVvSGVpZ2h0Iiwic2V0VGltZW91dCIsImNhcHR1cmVUb0NhbnZhcyIsInZpZEVycm9yIiwiZHJhd0ltYWdlIiwic2V0V2ViY2FtIiwibmF2aWdhdG9yIiwiZ2V0RWxlbWVudEJ5SWQiLCJtZWRpYURldmljZXMiLCJlbnVtZXJhdGVEZXZpY2VzIiwidGhlbiIsImZvckVhY2giLCJraW5kIiwibGFiZWwiLCJ0b0xvd2VyQ2FzZSIsInNlYXJjaCIsInNvdXJjZUlkIiwiZGV2aWNlSWQiLCJnZXRVc2VyTWVkaWEiLCJhdWRpbyIsIndlYmtpdEdldFVzZXJNZWRpYSIsIm1vekdldFVzZXJNZWRpYSIsImFyZ3VtZW50cyIsImdldEltYWdlRGF0YSIsInJlc3VsdCIsInByb2Nlc3MiLCJJbWFnZSIsImNyb3NzT3JpZ2luIiwib25sb2FkIiwiY2xlYXJSZWN0Iiwib25lcnJvciIsImlzVXJsIiwidGVzdCIsImRlY29kZV91cmwiLCJlc2NhcGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJkZWNvZGVfdXRmOCIsIkRhdGUiLCJnZXRUaW1lIiwiZ3JheVNjYWxlVG9CaXRtYXAiLCJncmF5c2NhbGUiLCJkYXRhIiwicHV0SW1hZ2VEYXRhIiwiSGVpZ2h0IiwiV2lkdGgiLCJEYXRhQnl0ZSIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsImdldFBpeGVsIiwiYmluYXJpemUiLCJfZW0iLCJBcnJheUJ1ZmZlciIsIlVpbnQ4QXJyYXkiLCJfZ2YiLCJfZWgiLCJfZWwiLCJfZWciLCJfZXIiLCJfY3oiLCJfYWoiLCJfZWsiLCJfZXYiLCJfZXMiLCJfZ28iLCJfZ3UiLCJfZ3IiLCJfY3YiLCJfZ2UiLCJfYWwiLCJfYW8iLCJfYW4iLCJfYXAiLCJfZGEiLCJOYU4iLCJfZWoiLCJfY3UiLCJwdXNoIiwiX2VwIiwiX2VlIiwiX2VpIiwic29ydCIsInNwbGljZSIsIl9lcSIsIl9jeCIsIl9haSIsInN0YXJ0WCIsInN0YXJ0WSIsIl9lZiIsIl9lZCIsIl9jdyIsImRhdGFMZW5ndGgiLCJibG9ja3MiLCJfZW4iLCJkYXRhTGVuZ3RoTW9kZSIsIl9nZCIsIk5leHRNb2RlIiwiZ2V0RGF0YUxlbmd0aCIsImdldFJvbWFuQW5kRmlndXJlU3RyaW5nIiwiZ2V0RmlndXJlU3RyaW5nIiwiZ2V0OGJpdEJ5dGVBcnJheSIsImdldEthbmppU3RyaW5nIiwiY2hhckNvZGVBdCIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJBQUFBLGlEQUFJQSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ1pBLEdBQUcsQ0FBQ0MsR0FBRyxHQUFHLFVBQVNDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ3hCLElBQUlDLENBQUMsR0FBR0MsTUFBTSxDQUFDQyxLQUFLO0VBQ3BCLElBQUlDLENBQUMsR0FBR0YsTUFBTSxDQUFDRyxNQUFNO0VBQ3JCLElBQUlDLENBQUMsR0FBRyxJQUFJO0VBQ1osS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxJQUFJRixDQUFDLEVBQUVDLENBQUMsSUFBSSxDQUFDLEVBQUU7SUFDMUMsSUFBSUUsQ0FBQyxHQUFHQyxJQUFJLENBQUNDLEtBQUssQ0FBQ1gsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQztJQUN4QixJQUFJSyxDQUFDLEdBQUdGLElBQUksQ0FBQ0MsS0FBSyxDQUFDWCxDQUFDLENBQUNPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1QixJQUFJRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUlBLENBQUMsR0FBR1IsQ0FBQyxJQUFJVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUlBLENBQUMsR0FBR1IsQ0FBQyxFQUFFO01BQ3ZDLE1BQU0sWUFBWTtJQUNuQjtJQUNBRSxDQUFDLEdBQUcsS0FBSztJQUNULElBQUlHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtNQUNaVCxDQUFDLENBQUNPLENBQUMsQ0FBQyxHQUFHLENBQUM7TUFDUkQsQ0FBQyxHQUFHLElBQUk7SUFDVCxDQUFDLE1BQU07TUFDTixJQUFJRyxDQUFDLElBQUlSLENBQUMsRUFBRTtRQUNYRCxDQUFDLENBQUNPLENBQUMsQ0FBQyxHQUFHTixDQUFDLEdBQUcsQ0FBQztRQUNaSyxDQUFDLEdBQUcsSUFBSTtNQUNUO0lBQ0Q7SUFDQSxJ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QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDdEcsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsQ0FBQyxFQUNqRyxJQUFJeEIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJbUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZHLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSVMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJeEIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJbUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFDbEcsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSVMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJeEIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFDdEcsSUFBSW1CLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ3RHLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDdEcsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsQ0FBQyxFQUNqRyxJQUFJeEIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSW1CLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFDcEcsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFDcEcsSUFBSW1CLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUNuRyxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSXhCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUMvRixJQUFJbUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQ3BHLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSVMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJeEIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQ2hHLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFDbkcsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlTLEdBQUcsQ0FBQyxFQUFFLEVBQzFGLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJbUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQ3RHLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSVMsR0FBRyxDQUFDLEVBQUUsRUFDOUYsSUFBSXhCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQ3JHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUNwRyxJQUFJUyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJbUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDMUcsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSVMsR0FBRyxDQUFDLEVBQUUsRUFDdEcsSUFBSXhCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJbUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQ2xHLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQ25HLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSVMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJeEIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUM1RixJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFDbkcsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSW1CLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFDcEcsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FDbEcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlTLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSXhCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJbUIsR0FBRyxDQUNyRyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUMvRixJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSVMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJeEIsS0FBSyxDQUN0RyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJbUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUNsRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDckcsSUFBSVMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJeEIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFDekcsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUMvRixJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSW1CLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQ3RHLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUNyRyxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlTLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSXhCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSW1CLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFDbkcsR0FBRyxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ25HLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUNuRyxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQzNGLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlTLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSXhCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSW1CLEdBQUcsQ0FBQyxFQUFFLEVBQ3RHLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFDM0YsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlTLEdBQUcsQ0FBQyxFQUFFLEVBQzdGLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFDbEcsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUNqRyxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFDbkcsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ2xHLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUNyRyxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQzVGLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUl4QixLQUFLLENBQ3RHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJbUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQy9GLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQ25HLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSVMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJeEIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSW1CLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUNqRyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDakcsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlTLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSXhCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQ3ZHLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQy9GLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUl4QixLQUFLLENBQ3ZHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSW1CLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUNoRyxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQ2pHLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlTLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSXhCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQy9GLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFDM0YsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUNwRyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSW1CLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFDbkcsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlTLEdBQUcsQ0FBQyxFQUFFLEVBQzdGLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJbUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FDdEcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFDaEcsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSVMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJeEIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSW1CLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFDL0YsR0FBRyxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUNsRyxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlTLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSXhCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQ25HLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSW1CLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUMzRixJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQzVGLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlTLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSXhCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJbUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUNuRyxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQzVGLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSVMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJeEIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFDcEcsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJbUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUlBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQzNGLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFDNUYsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSVMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJeEIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQ25HLElBQUlBLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJSSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFDN0YsSUFBSUEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJUyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUl4QixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUNyRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUltQixHQUFHLENBQUMsRUFBRSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFDM0YsSUFBSUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSUosR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUksR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJSixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUMzRixJQUFJQSxHQUFH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SWpHLEtBQUssQ0FBQyxJQUFJQSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlBLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUEsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJQSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlBLEtBQUssQ0FBQyxLQUFLLEVBQ3JILENBQUMsQ0FBQyxFQUFFLElBQUlBLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUEsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJQSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUlBLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSUEsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFDNUcsSUFBSUEsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUM1RyxJQUFJQSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJQSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUlBLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQ3hHLElBQUlBLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSUEsS0FBSyxDQUFDLEdBQUcs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S0FBSyxJQUFJVSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdTLENBQUMsQ0FBQ25CLE1BQU0sRUFBRVUsQ0FBQyxFQUFFLEVBQUU7WUFDbENKLENBQUMsQ0FBQ0ksQ0FBQyxDQUFDLEdBQUdTLENBQUMsQ0FBQ2dULFVBQVUsQ0FBQ3pULENBQUMsQ0FBQztVQUN2QjtVQUNBTixDQUFDLENBQUNzUyxJQUFJLENBQUNwUyxDQUFDLENBQUM7VUFDVDtRQUNELEtBQUtiLENBQUM7VUFDTCxJQUFJeUIsQ0FBQyxHQUFHLElBQUksQ0FBQytTLGdCQUFnQixDQUFDbFUsQ0FBQyxDQUFDO1VBQ2hDSyxDQUFDLENBQUNzUyxJQUFJLENBQUN4UixDQUFDLENBQUM7VUFDVDtRQUNELEtBQUtKLENBQUM7VUFDTCxJQUFJSyxDQUFDLEdBQUcsSUFBSSxDQUFDK1MsY0FBYyxDQUFDblUsQ0FBQyxDQUFDO1VBQzlCSyxDQUFDLENBQUNzUyxJQUFJLENBQUN2UixDQUFDLENBQUM7VUFDVDtNQUFLO0lBRVIsQ0FBQyxRQUFRLElBQUk7SUFDYixPQUFPZixDQUFDO0VBQ1QsQ0FBQyxDQUFDO0FBQ0g7QUFBQztBQUNEZ1UsTUFBTSxDQUFDQyxPQUFPLEdBQUc7RUFDaEIzVSxNQUFNLEVBQUVBO0FBQ1QsQ0FBQyxDIiwiZmlsZSI6IjEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9hYSA9IHt9O1xuX2FhLl9hYiA9IGZ1bmN0aW9uKGYsIGUpIHtcblx0dmFyIGQgPSBxcmNvZGUud2lkdGg7XG5cdHZhciBiID0gcXJjb2RlLmhlaWdodDtcblx0dmFyIGMgPSB0cnVlO1xuXHRmb3IgKHZhciBnID0gMDsgZyA8IGUubGVuZ3RoICYmIGM7IGcgKz0gMikge1xuXHRcdHZhciBhID0gTWF0aC5mbG9vcihlW2ddKTtcblx0XHR2YXIgaCA9IE1hdGguZmxvb3IoZVtnICsgMV0pO1xuXHRcdGlmIChhIDwgLTEgfHwgYSA+IGQgfHwgaCA8IC0xIHx8IGggPiBiKSB7XG5cdFx0XHR0aHJvdyBcIkVycm9yLl9hYiBcIlxuXHRcdH1cblx0XHRjID0gZmFsc2U7XG5cdFx0aWYgKGEgPT0gLTEpIHtcblx0XHRcdGVbZ10gPSAwO1xuXHRcdFx0YyA9IHRydWVcblx0XHR9IGVsc2Uge1xuXHRcdFx0aWYgKGEgPT0gZCkge1xuXHRcdFx0XHRlW2ddID0gZCAtIDE7XG5cdFx0XHRcdGMgPSB0cnVlXG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmIChoID09IC0xKSB7XG5cdFx0XHRlW2cgKyAxXSA9IDA7XG5cdFx0XHRjID0gdHJ1ZVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAoaCA9PSBiKSB7XG5cdFx0XHRcdGVbZyArIDFdID0gYiAtIDE7XG5cdFx0XHRcdGMgPSB0cnVlXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdGMgPSB0cnVlO1xuXHRmb3IgKHZhciBnID0gZS5sZW5ndGggLSAyOyBnID49IDAgJiYgYzsgZyAtPSAyKSB7XG5cdFx0dmFyIGEgPSBNYXRoLmZsb29yKGVbZ10pO1xuXHRcdHZhciBoID0gTWF0aC5mbG9vcihlW2cgKyAxXSk7XG5cdFx0aWYgKGEgPCAtMSB8fCBhID4gZCB8fCBoIDwgLTEgfHwgaCA+IGIpIHtcblx0XHRcdHRocm93IFwiRXJyb3IuX2FiIFwiXG5cdFx0fVxuXHRcdGMgPSBmYWxzZTtcblx0XHRpZiAoYSA9PSAtMSkge1xuXHRcdFx0ZVtnXSA9IDA7XG5cdFx0XHRjID0gdHJ1ZVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAoYSA9PSBkKSB7XG5cdFx0XHRcdGVbZ10gPSBkIC0gMTtcblx0XHRcdFx0YyA9IHRydWVcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYgKGggPT0gLTEpIHtcblx0XHRcdGVbZyArIDFdID0gMDtcblx0XHRcdGMgPSB0cnVlXG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmIChoID09IGIpIHtcblx0XHRcdFx0ZVtnICsgMV0gPSBiIC0gMTtcblx0XHRcdFx0YyA9IHRydWVcblx0XHRcdH1cblx0XHR9XG5cdH1cbn07XG5fYWEuX2FmID0gZnVuY3Rpb24oYiwgZCwgYSkge1xuXHR2YXIgayA9IG5ldyBfYWMoZCk7XG5cdHZhciBqID0gbmV3IEFycmF5KGQgPDwgMSk7XG5cdGZvciAodmFyIGYgPSAwOyBmIDwgZDsgZisrKSB7XG5cdFx0dmFyIGcgPSBqLmxlbmd0aDtcblx0XHR2YXIgaSA9IGYgKyAwLjU7XG5cdFx0Zm9yICh2YXIgaCA9IDA7IGggPCBnOyBoICs9IDIpIHtcblx0XHRcdGpbaF0gPSAoaCA+PiAxKSArIDAuNTtcblx0XHRcdGpbaCArIDFdID0gaVxuXHRcdH1cblx0XHRhLl9hZChqKTtcblx0XHRfYWEuX2FiKGIsIGopO1xuXHRcdHRyeSB7XG5cdFx0XHRmb3IgKHZhciBoID0gMDsgaCA8IGc7IGggKz0gMikge1xuXHRcdFx0XHR2YXIgZSA9IGJbTWF0aC5mbG9vcihqW2hdKSArIHFyY29kZS53aWR0aCAqIE1hdGguZmxvb3IoaltoICsgMV0pXTtcblx0XHRcdFx0aWYgKGUpIHtcblx0XHRcdFx0XHRrLl9kcShoID4+IDEsIGYpXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGNhdGNoIChjKSB7XG5cdFx0XHR0aHJvdyBcIkVycm9yLl9hYlwiXG5cdFx0fVxuXHR9XG5cdHJldHVybiBrXG59O1xuX2FhLl9haCA9IGZ1bmN0aW9uKGgsIG8sIGwsIGssIHEsIHAsIGIsIGEsIGYsIGUsIG4sIG0sIHMsIHIsIGQsIGMsIGosIGkpIHtcblx0dmFyIGcgPSBfYWUuX2FnKGwsIGssIHEsIHAsIGIsIGEsIGYsIGUsIG4sIG0sIHMsIHIsIGQsIGMsIGosIGkpO1xuXHRyZXR1cm4gX2FhLl9hZihoLCBvLCBnKVxufTtcblxuZnVuY3Rpb24gX2ExKGIsIGEpIHtcblx0dGhpcy5jb3VudCA9IGI7XG5cdHRoaXMuX2ZjID0gYTtcblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiQ291bnRcIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuY291bnRcblx0fSk7XG5cdHRoaXMuX19kZWZpbmVHZXR0ZXJfXyhcIl9kbVwiLCBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5fZmNcblx0fSlcbn1cblxuZnVuY3Rpb24gX2EyKGEsIGMsIGIpIHtcblx0dGhpcy5fYm0gPSBhO1xuXHRpZiAoYikge1xuXHRcdHRoaXMuX2RvID0gbmV3IEFycmF5KGMsIGIpXG5cdH0gZWxzZSB7XG5cdFx0dGhpcy5fZG8gPSBuZXcgQXJyYXkoYylcblx0fVxuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJfYm9cIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2JtXG5cdH0pO1xuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJfZG5cIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2JtICogdGhpcy5fZm9cblx0fSk7XG5cdHRoaXMuX19kZWZpbmVHZXR0ZXJfXyhcIl9mb1wiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgZSA9IDA7XG5cdFx0Zm9yICh2YXIgZCA9IDA7IGQgPCB0aGlzLl9kby5sZW5ndGg7IGQrKykge1xuXHRcdFx0ZSArPSB0aGlzLl9kb1tkXS5sZW5ndGhcblx0XHR9XG5cdFx0cmV0dXJuIGVcblx0fSk7XG5cdHRoaXMuX2ZiID0gZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2RvXG5cdH1cbn1cblxuZnVuY3Rpb24gX2EzKGssIGwsIGgsIGcsIGYsIGUpIHtcblx0dGhpcy5fYnMgPSBrO1xuXHR0aGlzLl9hciA9IGw7XG5cdHRoaXMuX2RvID0gbmV3IEFycmF5KGgsIGcsIGYsIGUpO1xuXHR2YXIgaiA9IDA7XG5cdHZhciBiID0gaC5fYm87XG5cdHZhciBhID0gaC5fZmIoKTtcblx0Zm9yICh2YXIgZCA9IDA7IGQgPCBhLmxlbmd0aDsgZCsrKSB7XG5cdFx0dmFyIGMgPSBhW2RdO1xuXHRcdGogKz0gYy5Db3VudCAqIChjLl9kbSArIGIpXG5cdH1cblx0dGhpcy5fYnIgPSBqO1xuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJfZmRcIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2JzXG5cdH0pO1xuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJfYXNcIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2FyXG5cdH0pO1xuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJfZHBcIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2JyXG5cdH0pO1xuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJfY3JcIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIDE3ICsgNCAqIHRoaXMuX2JzXG5cdH0pO1xuXHR0aGlzLl9hcSA9IGZ1bmN0aW9uKCkge1xuXHRcdHZhciBxID0gdGhpcy5fY3I7XG5cdFx0dmFyIG8gPSBuZXcgX2FjKHEpO1xuXHRcdG8uX2JxKDAsIDAsIDksIDkpO1xuXHRcdG8uX2JxKHEgLSA4LCAwLCA4LCA5KTtcblx0XHRvLl9icSgwLCBxIC0gOCwgOSwgOCk7XG5cdFx0dmFyIG4gPSB0aGlzLl9hci5sZW5ndGg7XG5cdFx0Zm9yICh2YXIgbSA9IDA7IG0gPCBuOyBtKyspIHtcblx0XHRcdHZhciBwID0gdGhpcy5fYXJbbV0gLSAyO1xuXHRcdFx0Zm9yICh2YXIgciA9IDA7IHIgPCBuOyByKyspIHtcblx0XHRcdFx0aWYgKChtID09IDAgJiYgKHIgPT0gMCB8fCByID09IG4gLSAxKSkgfHwgKG0gPT0gbiAtIDEgJiYgciA9PSAwKSkge1xuXHRcdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHRcdH1cblx0XHRcdFx0by5fYnEodGhpcy5fYXJbcl0gLSAyLCBwLCA1LCA1KVxuXHRcdFx0fVxuXHRcdH1cblx0XHRvLl9icSg2LCA5LCAxLCBxIC0gMTcpO1xuXHRcdG8uX2JxKDksIDYsIHEgLSAxNywgMSk7XG5cdFx0aWYgKHRoaXMuX2JzID4gNikge1xuXHRcdFx0by5fYnEocSAtIDExLCAwLCAzLCA2KTtcblx0XHRcdG8uX2JxKDAsIHEgLSAxMSwgNiwgMylcblx0XHR9XG5cdFx0cmV0dXJuIG9cblx0fTtcblx0dGhpcy5fYnUgPSBmdW5jdGlvbihpKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2RvW2kub3JkaW5hbCgpXVxuXHR9XG59XG5fYTMuX2J2ID0gbmV3IEFycmF5KDMxODkyLCAzNDIzNiwgMzk1NzcsIDQyMTk1LCA0ODExOCwgNTEwNDIsIDU1MzY3LCA1ODg5MywgNjM3ODQsIDY4NDcyLCA3MDc0OSwgNzYzMTEsIDc5MTU0LCA4NDM5MCxcblx0ODc2ODMsIDkyMzYxLCA5NjIzNiwgMTAyMDg0LCAxMDI4ODEsIDExMDUwNywgMTEwNzM0LCAxMTc3ODYsIDExOTYxNSwgMTI2MzI1LCAxMjc1NjgsIDEzMzU4OSwgMTM2OTQ0LCAxNDE0OTgsXG5cdDE0NTMxMSwgMTUwMjgzLCAxNTI2MjIsIDE1ODMwOCwgMTYxMDg5LCAxNjcwMTcpO1xuX2EzLlZFUlNJT05TID0gX2F5KCk7XG5fYTMuX2F2ID0gZnVuY3Rpb24oYSkge1xuXHRpZiAoYSA8IDEgfHwgYSA+IDQwKSB7XG5cdFx0dGhyb3cgXCJiYWQgYXJndW1lbnRzXCJcblx0fVxuXHRyZXR1cm4gX2EzLlZFUlNJT05TW2EgLSAxXVxufTtcbl9hMy5fYXQgPSBmdW5jdGlvbihiKSB7XG5cdGlmIChiICUgNCAhPSAxKSB7XG5cdFx0dGhyb3cgXCJFcnJvciBfYXRcIlxuXHR9XG5cdHRyeSB7XG5cdFx0cmV0dXJuIF9hMy5fYXYoKGIgLSAxNykgPj4gMilcblx0fSBjYXRjaCAoYSkge1xuXHRcdHRocm93IFwiRXJyb3IgX2F2XCJcblx0fVxufTtcbl9hMy5fYXcgPSBmdW5jdGlvbihkKSB7XG5cdHZhciBiID0gNDI5NDk2NzI5NTtcblx0dmFyIGYgPSAwO1xuXHRmb3IgKHZhciBjID0gMDsgYyA8IF9hMy5fYnYubGVuZ3RoOyBjKyspIHtcblx0XHR2YXIgYSA9IF9hMy5fYnZbY107XG5cdFx0aWYgKGEgPT0gZCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2F2KGMgKyA3KVxuXHRcdH1cblx0XHR2YXIgZSA9IF9heC5fZ2ooZCwgYSk7XG5cdFx0aWYgKGUgPCBiKSB7XG5cdFx0XHRmID0gYyArIDc7XG5cdFx0XHRiID0gZVxuXHRcdH1cblx0fVxuXHRpZiAoYiA8PSAzKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2F2KGYpXG5cdH1cblx0cmV0dXJuIG51bGxcbn07XG5cbmZ1bmN0aW9uIF9heSgpIHtcblx0cmV0dXJuIG5ldyBBcnJheShuZXcgX2EzKDEsIG5ldyBBcnJheSgpLCBuZXcgX2EyKDcsIG5ldyBfYTEoMSwgMTkpKSwgbmV3IF9hMigxMCwgbmV3IF9hMSgxLCAxNikpLCBuZXcgX2EyKDEzLFxuXHRcdFx0bmV3IF9hMSgxLCAxMykpLCBuZXcgX2EyKDE3LCBuZXcgX2ExKDEsIDkpKSksIG5ldyBfYTMoMiwgbmV3IEFycmF5KDYsIDE4KSwgbmV3IF9hMigxMCwgbmV3IF9hMSgxLCAzNCkpLFxuXHRcdFx0bmV3IF9hMigxNiwgbmV3IF9hMSgxLCAyOCkpLCBuZXcgX2EyKDIyLCBuZXcgX2ExKDEsIDIyKSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoMSwgMTYpKSksIG5ldyBfYTMoMyxcblx0XHRcdG5ldyBBcnJheSg2LCAyMiksIG5ldyBfYTIoMTUsIG5ldyBfYTEoMSwgNTUpKSwgbmV3IF9hMigyNiwgbmV3IF9hMSgxLCA0NCkpLCBuZXcgX2EyKDE4LCBuZXcgX2ExKDIsIDE3KSksXG5cdFx0XHRuZXcgX2EyKDIyLCBuZXcgX2ExKDIsIDEzKSkpLCBuZXcgX2EzKDQsIG5ldyBBcnJheSg2LCAyNiksIG5ldyBfYTIoMjAsIG5ldyBfYTEoMSwgODApKSwgbmV3IF9hMigxOCxcblx0XHRcdG5ldyBfYTEoMiwgMzIpKSwgbmV3IF9hMigyNiwgbmV3IF9hMSgyLCAyNCkpLCBuZXcgX2EyKDE2LCBuZXcgX2ExKDQsIDkpKSksIG5ldyBfYTMoNSwgbmV3IEFycmF5KDYsIDMwKSxcblx0XHRcdG5ldyBfYTIoMjYsIG5ldyBfYTEoMSwgMTA4KSksIG5ldyBfYTIoMjQsIG5ldyBfYTEoMiwgNDMpKSwgbmV3IF9hMigxOCwgbmV3IF9hMSgyLCAxNSksIG5ldyBfYTEoMiwgMTYpKSxcblx0XHRcdG5ldyBfYTIoMjIsIG5ldyBfYTEoMiwgMTEpLCBuZXcgX2ExKDIsIDEyKSkpLCBuZXcgX2EzKDYsIG5ldyBBcnJheSg2LCAzNCksIG5ldyBfYTIoMTgsIG5ldyBfYTEoMiwgNjgpKSxcblx0XHRcdG5ldyBfYTIoMTYsIG5ldyBfYTEoNCwgMjcpKSwgbmV3IF9hMigyNCwgbmV3IF9hMSg0LCAxOSkpLCBuZXcgX2EyKDI4LCBuZXcgX2ExKDQsIDE1KSkpLCBuZXcgX2EzKDcsXG5cdFx0XHRuZXcgQXJyYXkoNiwgMjIsIDM4KSwgbmV3IF9hMigyMCwgbmV3IF9hMSgyLCA3OCkpLCBuZXcgX2EyKDE4LCBuZXcgX2ExKDQsIDMxKSksIG5ldyBfYTIoMTgsIG5ldyBfYTEoMixcblx0XHRcdFx0MTQpLCBuZXcgX2ExKDQsIDE1KSksIG5ldyBfYTIoMjYsIG5ldyBfYTEoNCwgMTMpLCBuZXcgX2ExKDEsIDE0KSkpLCBuZXcgX2EzKDgsIG5ldyBBcnJheSg2LCAyNCwgNDIpLFxuXHRcdFx0bmV3IF9hMigyNCwgbmV3IF9hMSgyLCA5NykpLCBuZXcgX2EyKDIyLCBuZXcgX2ExKDIsIDM4KSwgbmV3IF9hMSgyLCAzOSkpLCBuZXcgX2EyKDIyLCBuZXcgX2ExKDQsIDE4KSxcblx0XHRcdFx0bmV3IF9hMSgyLCAxOSkpLCBuZXcgX2EyKDI2LCBuZXcgX2ExKDQsIDE0KSwgbmV3IF9hMSgyLCAxNSkpKSwgbmV3IF9hMyg5LCBuZXcgQXJyYXkoNiwgMjYsIDQ2KSxcblx0XHRcdG5ldyBfYTIoMzAsIG5ldyBfYTEoMiwgMTE2KSksIG5ldyBfYTIoMjIsIG5ldyBfYTEoMywgMzYpLCBuZXcgX2ExKDIsIDM3KSksIG5ldyBfYTIoMjAsIG5ldyBfYTEoNCwgMTYpLFxuXHRcdFx0XHRuZXcgX2ExKDQsIDE3KSksIG5ldyBfYTIoMjQsIG5ldyBfYTEoNCwgMTIpLCBuZXcgX2ExKDQsIDEzKSkpLCBuZXcgX2EzKDEwLCBuZXcgQXJyYXkoNiwgMjgsIDUwKSxcblx0XHRcdG5ldyBfYTIoMTgsIG5ldyBfYTEoMiwgNjgpLCBuZXcgX2ExKDIsIDY5KSksIG5ldyBfYTIoMjYsIG5ldyBfYTEoNCwgNDMpLCBuZXcgX2ExKDEsIDQ0KSksIG5ldyBfYTIoMjQsXG5cdFx0XHRcdG5ldyBfYTEoNiwgMTkpLCBuZXcgX2ExKDIsIDIwKSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoNiwgMTUpLCBuZXcgX2ExKDIsIDE2KSkpLCBuZXcgX2EzKDExLFxuXHRcdFx0bmV3IEFycmF5KDYsIDMwLCA1NCksIG5ldyBfYTIoMjAsIG5ldyBfYTEoNCwgODEpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSgxLCA1MCksIG5ldyBfYTEoNCwgNTEpKSwgbmV3IF9hMihcblx0XHRcdFx0MjgsIG5ldyBfYTEoNCwgMjIpLCBuZXcgX2ExKDQsIDIzKSksIG5ldyBfYTIoMjQsIG5ldyBfYTEoMywgMTIpLCBuZXcgX2ExKDgsIDEzKSkpLCBuZXcgX2EzKDEyLFxuXHRcdFx0bmV3IEFycmF5KDYsIDMyLCA1OCksIG5ldyBfYTIoMjQsIG5ldyBfYTEoMiwgOTIpLCBuZXcgX2ExKDIsIDkzKSksIG5ldyBfYTIoMjIsIG5ldyBfYTEoNiwgMzYpLCBuZXcgX2ExKFxuXHRcdFx0XHQyLCAzNykpLCBuZXcgX2EyKDI2LCBuZXcgX2ExKDQsIDIwKSwgbmV3IF9hMSg2LCAyMSkpLCBuZXcgX2EyKDI4LCBuZXcgX2ExKDcsIDE0KSwgbmV3IF9hMSg0LCAxNSkpKSxcblx0XHRuZXcgX2EzKDEzLCBuZXcgQXJyYXkoNiwgMzQsIDYyKSwgbmV3IF9hMigyNiwgbmV3IF9hMSg0LCAxMDcpKSwgbmV3IF9hMigyMiwgbmV3IF9hMSg4LCAzNyksIG5ldyBfYTEoMSwgMzgpKSxcblx0XHRcdG5ldyBfYTIoMjQsIG5ldyBfYTEoOCwgMjApLCBuZXcgX2ExKDQsIDIxKSksIG5ldyBfYTIoMjIsIG5ldyBfYTEoMTIsIDExKSwgbmV3IF9hMSg0LCAxMikpKSwgbmV3IF9hMygxNCxcblx0XHRcdG5ldyBBcnJheSg2LCAyNiwgNDYsIDY2KSwgbmV3IF9hMigzMCwgbmV3IF9hMSgzLCAxMTUpLCBuZXcgX2ExKDEsIDExNikpLCBuZXcgX2EyKDI0LCBuZXcgX2ExKDQsIDQwKSxcblx0XHRcdFx0bmV3IF9hMSg1LCA0MSkpLCBuZXcgX2EyKDIwLCBuZXcgX2ExKDExLCAxNiksIG5ldyBfYTEoNSwgMTcpKSwgbmV3IF9hMigyNCwgbmV3IF9hMSgxMSwgMTIpLCBuZXcgX2ExKFxuXHRcdFx0XHQ1LCAxMykpKSwgbmV3IF9hMygxNSwgbmV3IEFycmF5KDYsIDI2LCA0OCwgNzApLCBuZXcgX2EyKDIyLCBuZXcgX2ExKDUsIDg3KSwgbmV3IF9hMSgxLCA4OCkpLFxuXHRcdFx0bmV3IF9hMigyNCwgbmV3IF9hMSg1LCA0MSksIG5ldyBfYTEoNSwgNDIpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSg1LCAyNCksIG5ldyBfYTEoNywgMjUpKSwgbmV3IF9hMigyNCxcblx0XHRcdFx0bmV3IF9hMSgxMSwgMTIpLCBuZXcgX2ExKDcsIDEzKSkpLCBuZXcgX2EzKDE2LCBuZXcgQXJyYXkoNiwgMjYsIDUwLCA3NCksIG5ldyBfYTIoMjQsIG5ldyBfYTEoNSwgOTgpLFxuXHRcdFx0bmV3IF9hMSgxLCA5OSkpLCBuZXcgX2EyKDI4LCBuZXcgX2ExKDcsIDQ1KSwgbmV3IF9hMSgzLCA0NikpLCBuZXcgX2EyKDI0LCBuZXcgX2ExKDE1LCAxOSksIG5ldyBfYTEoXG5cdFx0XHQyLCAyMCkpLCBuZXcgX2EyKDMwLCBuZXcgX2ExKDMsIDE1KSwgbmV3IF9hMSgxMywgMTYpKSksIG5ldyBfYTMoMTcsIG5ldyBBcnJheSg2LCAzMCwgNTQsIDc4KSwgbmV3IF9hMihcblx0XHRcdDI4LCBuZXcgX2ExKDEsIDEwNyksIG5ldyBfYTEoNSwgMTA4KSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoMTAsIDQ2KSwgbmV3IF9hMSgxLCA0NykpLCBuZXcgX2EyKDI4LFxuXHRcdFx0bmV3IF9hMSgxLCAyMiksIG5ldyBfYTEoMTUsIDIzKSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoMiwgMTQpLCBuZXcgX2ExKDE3LCAxNSkpKSwgbmV3IF9hMygxOCwgbmV3IEFycmF5KFxuXHRcdFx0NiwgMzAsIDU2LCA4MiksIG5ldyBfYTIoMzAsIG5ldyBfYTEoNSwgMTIwKSwgbmV3IF9hMSgxLCAxMjEpKSwgbmV3IF9hMigyNiwgbmV3IF9hMSg5LCA0MyksIG5ldyBfYTEoXG5cdFx0XHQ0LCA0NCkpLCBuZXcgX2EyKDI4LCBuZXcgX2ExKDE3LCAyMiksIG5ldyBfYTEoMSwgMjMpKSwgbmV3IF9hMigyOCwgbmV3IF9hMSgyLCAxNCksIG5ldyBfYTEoMTksIDE1KSkpLFxuXHRcdG5ldyBfYTMoMTksIG5ldyBBcnJheSg2LCAzMCwgNTgsIDg2KSwgbmV3IF9hMigyOCwgbmV3IF9hMSgzLCAxMTMpLCBuZXcgX2ExKDQsIDExNCkpLCBuZXcgX2EyKDI2LCBuZXcgX2ExKDMsXG5cdFx0XHQ0NCksIG5ldyBfYTEoMTEsIDQ1KSksIG5ldyBfYTIoMjYsIG5ldyBfYTEoMTcsIDIxKSwgbmV3IF9hMSg0LCAyMikpLCBuZXcgX2EyKDI2LCBuZXcgX2ExKDksIDEzKSxcblx0XHRcdG5ldyBfYTEoMTYsIDE0KSkpLCBuZXcgX2EzKDIwLCBuZXcgQXJyYXkoNiwgMzQsIDYyLCA5MCksIG5ldyBfYTIoMjgsIG5ldyBfYTEoMywgMTA3KSwgbmV3IF9hMSg1LCAxMDgpKSxcblx0XHRcdG5ldyBfYTIoMjYsIG5ldyBfYTEoMywgNDEpLCBuZXcgX2ExKDEzLCA0MikpLCBuZXcgX2EyKDMwLCBuZXcgX2ExKDE1LCAyNCksIG5ldyBfYTEoNSwgMjUpKSwgbmV3IF9hMigyOCxcblx0XHRcdFx0bmV3IF9hMSgxNSwgMTUpLCBuZXcgX2ExKDEwLCAxNikpKSwgbmV3IF9hMygyMSwgbmV3IEFycmF5KDYsIDI4LCA1MCwgNzIsIDk0KSwgbmV3IF9hMigyOCwgbmV3IF9hMSg0LFxuXHRcdFx0XHQxMTYpLCBuZXcgX2ExKDQsIDExNykpLCBuZXcgX2EyKDI2LCBuZXcgX2ExKDE3LCA0MikpLCBuZXcgX2EyKDI4LCBuZXcgX2ExKDE3LCAyMiksIG5ldyBfYTEoNiwgMjMpKSxcblx0XHRcdG5ldyBfYTIoMzAsIG5ldyBfYTEoMTksIDE2KSwgbmV3IF9hMSg2LCAxNykpKSwgbmV3IF9hMygyMiwgbmV3IEFycmF5KDYsIDI2LCA1MCwgNzQsIDk4KSwgbmV3IF9hMigyOCxcblx0XHRcdG5ldyBfYTEoMiwgMTExKSwgbmV3IF9hMSg3LCAxMTIpKSwgbmV3IF9hMigyOCwgbmV3IF9hMSgxNywgNDYpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSg3LCAyNCksXG5cdFx0XHRuZXcgX2ExKDE2LCAyNSkpLCBuZXcgX2EyKDI0LCBuZXcgX2ExKDM0LCAxMykpKSwgbmV3IF9hMygyMywgbmV3IEFycmF5KDYsIDMwLCA1NCwgNzQsIDEwMiksIG5ldyBfYTIoMzAsXG5cdFx0XHRuZXcgX2ExKDQsIDEyMSksIG5ldyBfYTEoNSwgMTIyKSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoNCwgNDcpLCBuZXcgX2ExKDE0LCA0OCkpLCBuZXcgX2EyKDMwLFxuXHRcdFx0bmV3IF9hMSgxMSwgMjQpLCBuZXcgX2ExKDE0LCAyNSkpLCBuZXcgX2EyKDMwLCBuZXcgX2ExKDE2LCAxNSksIG5ldyBfYTEoMTQsIDE2KSkpLCBuZXcgX2EzKDI0LFxuXHRcdFx0bmV3IEFycmF5KDYsIDI4LCA1NCwgODAsIDEwNiksIG5ldyBfYTIoMzAsIG5ldyBfYTEoNiwgMTE3KSwgbmV3IF9hMSg0LCAxMTgpKSwgbmV3IF9hMigyOCwgbmV3IF9hMSg2LFxuXHRcdFx0XHQ0NSksIG5ldyBfYTEoMTQsIDQ2KSksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMTEsIDI0KSwgbmV3IF9hMSgxNiwgMjUpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSgzMCwgMTYpLFxuXHRcdFx0XHRuZXcgX2ExKDIsIDE3KSkpLCBuZXcgX2EzKDI1LCBuZXcgQXJyYXkoNiwgMzIsIDU4LCA4NCwgMTEwKSwgbmV3IF9hMigyNiwgbmV3IF9hMSg4LCAxMDYpLCBuZXcgX2ExKDQsXG5cdFx0XHRcdDEwNykpLCBuZXcgX2EyKDI4LCBuZXcgX2ExKDgsIDQ3KSwgbmV3IF9hMSgxMywgNDgpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSg3LCAyNCksIG5ldyBfYTEoMjIsIDI1KSksXG5cdFx0XHRuZXcgX2EyKDMwLCBuZXcgX2ExKDIyLCAxNSksIG5ldyBfYTEoMTMsIDE2KSkpLCBuZXcgX2EzKDI2LCBuZXcgQXJyYXkoNiwgMzAsIDU4LCA4NiwgMTE0KSwgbmV3IF9hMigyOCxcblx0XHRcdG5ldyBfYTEoMTAsIDExNCksIG5ldyBfYTEoMiwgMTE1KSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoMTksIDQ2KSwgbmV3IF9hMSg0LCA0NykpLCBuZXcgX2EyKDI4LFxuXHRcdFx0bmV3IF9hMSgyOCwgMjIpLCBuZXcgX2ExKDYsIDIzKSksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMzMsIDE2KSwgbmV3IF9hMSg0LCAxNykpKSwgbmV3IF9hMygyNywgbmV3IEFycmF5KFxuXHRcdFx0NiwgMzQsIDYyLCA5MCwgMTE4KSwgbmV3IF9hMigzMCwgbmV3IF9hMSg4LCAxMjIpLCBuZXcgX2ExKDQsIDEyMykpLCBuZXcgX2EyKDI4LCBuZXcgX2ExKDIyLCA0NSksXG5cdFx0XHRuZXcgX2ExKDMsIDQ2KSksIG5ldyBfYTIoMzAsIG5ldyBfYTEoOCwgMjMpLCBuZXcgX2ExKDI2LCAyNCkpLCBuZXcgX2EyKDMwLCBuZXcgX2ExKDEyLCAxNSksIG5ldyBfYTEoXG5cdFx0XHQyOCwgMTYpKSksIG5ldyBfYTMoMjgsIG5ldyBBcnJheSg2LCAyNiwgNTAsIDc0LCA5OCwgMTIyKSwgbmV3IF9hMigzMCwgbmV3IF9hMSgzLCAxMTcpLCBuZXcgX2ExKDEwLFxuXHRcdFx0MTE4KSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoMywgNDUpLCBuZXcgX2ExKDIzLCA0NikpLCBuZXcgX2EyKDMwLCBuZXcgX2ExKDQsIDI0KSwgbmV3IF9hMSgzMSwgMjUpKSxcblx0XHRcdG5ldyBfYTIoMzAsIG5ldyBfYTEoMTEsIDE1KSwgbmV3IF9hMSgzMSwgMTYpKSksIG5ldyBfYTMoMjksIG5ldyBBcnJheSg2LCAzMCwgNTQsIDc4LCAxMDIsIDEyNiksIG5ldyBfYTIoXG5cdFx0XHQzMCwgbmV3IF9hMSg3LCAxMTYpLCBuZXcgX2ExKDcsIDExNykpLCBuZXcgX2EyKDI4LCBuZXcgX2ExKDIxLCA0NSksIG5ldyBfYTEoNywgNDYpKSwgbmV3IF9hMigzMCxcblx0XHRcdG5ldyBfYTEoMSwgMjMpLCBuZXcgX2ExKDM3LCAyNCkpLCBuZXcgX2EyKDMwLCBuZXcgX2ExKDE5LCAxNSksIG5ldyBfYTEoMjYsIDE2KSkpLCBuZXcgX2EzKDMwLCBuZXcgQXJyYXkoXG5cdFx0XHQ2LCAyNiwgNTIsIDc4LCAxMDQsIDEzMCksIG5ldyBfYTIoMzAsIG5ldyBfYTEoNSwgMTE1KSwgbmV3IF9hMSgxMCwgMTE2KSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoMTksXG5cdFx0XHQ0NyksIG5ldyBfYTEoMTAsIDQ4KSksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMTUsIDI0KSwgbmV3IF9hMSgyNSwgMjUpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSgyMywgMTUpLFxuXHRcdFx0bmV3IF9hMSgyNSwgMTYpKSksIG5ldyBfYTMoMzEsIG5ldyBBcnJheSg2LCAzMCwgNTYsIDgyLCAxMDgsIDEzNCksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMTMsIDExNSksXG5cdFx0XHRuZXcgX2ExKDMsIDExNikpLCBuZXcgX2EyKDI4LCBuZXcgX2ExKDIsIDQ2KSwgbmV3IF9hMSgyOSwgNDcpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSg0MiwgMjQpLFxuXHRcdFx0bmV3IF9hMSgxLCAyNSkpLCBuZXcgX2EyKDMwLCBuZXcgX2ExKDIzLCAxNSksIG5ldyBfYTEoMjgsIDE2KSkpLCBuZXcgX2EzKDMyLCBuZXcgQXJyYXkoNiwgMzQsIDYwLCA4Nixcblx0XHRcdDExMiwgMTM4KSwgbmV3IF9hMigzMCwgbmV3IF9hMSgxNywgMTE1KSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoMTAsIDQ2KSwgbmV3IF9hMSgyMywgNDcpKSwgbmV3IF9hMigzMCxcblx0XHRcdG5ldyBfYTEoMTAsIDI0KSwgbmV3IF9hMSgzNSwgMjUpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSgxOSwgMTUpLCBuZXcgX2ExKDM1LCAxNikpKSwgbmV3IF9hMygzMyxcblx0XHRcdG5ldyBBcnJheSg2LCAzMCwgNTgsIDg2LCAxMTQsIDE0MiksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMTcsIDExNSksIG5ldyBfYTEoMSwgMTE2KSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoXG5cdFx0XHRcdDE0LCA0NiksIG5ldyBfYTEoMjEsIDQ3KSksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMjksIDI0KSwgbmV3IF9hMSgxOSwgMjUpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSgxMSxcblx0XHRcdFx0MTUpLCBuZXcgX2ExKDQ2LCAxNikpKSwgbmV3IF9hMygzNCwgbmV3IEFycmF5KDYsIDM0LCA2MiwgOTAsIDExOCwgMTQ2KSwgbmV3IF9hMigzMCwgbmV3IF9hMSgxMyxcblx0XHRcdDExNSksIG5ldyBfYTEoNiwgMTE2KSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoMTQsIDQ2KSwgbmV3IF9hMSgyMywgNDcpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSg0NCwgMjQpLFxuXHRcdFx0bmV3IF9hMSg3LCAyNSkpLCBuZXcgX2EyKDMwLCBuZXcgX2ExKDU5LCAxNiksIG5ldyBfYTEoMSwgMTcpKSksIG5ldyBfYTMoMzUsIG5ldyBBcnJheSg2LCAzMCwgNTQsIDc4LFxuXHRcdFx0MTAyLCAxMjYsIDE1MCksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMTIsIDEyMSksIG5ldyBfYTEoNywgMTIyKSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoMTIsIDQ3KSxcblx0XHRcdG5ldyBfYTEoMjYsIDQ4KSksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMzksIDI0KSwgbmV3IF9hMSgxNCwgMjUpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSgyMiwgMTUpLFxuXHRcdFx0bmV3IF9hMSg0MSwgMTYpKSksIG5ldyBfYTMoMzYsIG5ldyBBcnJheSg2LCAyNCwgNTAsIDc2LCAxMDIsIDEyOCwgMTU0KSwgbmV3IF9hMigzMCwgbmV3IF9hMSg2LCAxMjEpLFxuXHRcdFx0bmV3IF9hMSgxNCwgMTIyKSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoNiwgNDcpLCBuZXcgX2ExKDM0LCA0OCkpLCBuZXcgX2EyKDMwLCBuZXcgX2ExKDQ2LCAyNCksXG5cdFx0XHRuZXcgX2ExKDEwLCAyNSkpLCBuZXcgX2EyKDMwLCBuZXcgX2ExKDIsIDE1KSwgbmV3IF9hMSg2NCwgMTYpKSksIG5ldyBfYTMoMzcsIG5ldyBBcnJheSg2LCAyOCwgNTQsIDgwLFxuXHRcdFx0MTA2LCAxMzIsIDE1OCksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMTcsIDEyMiksIG5ldyBfYTEoNCwgMTIzKSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoMjksIDQ2KSxcblx0XHRcdG5ldyBfYTEoMTQsIDQ3KSksIG5ldyBfYTIoMzAsIG5ldyBfYTEoNDksIDI0KSwgbmV3IF9hMSgxMCwgMjUpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSgyNCwgMTUpLFxuXHRcdFx0bmV3IF9hMSg0NiwgMTYpKSksIG5ldyBfYTMoMzgsIG5ldyBBcnJheSg2LCAzMiwgNTgsIDg0LCAxMTAsIDEzNiwgMTYyKSwgbmV3IF9hMigzMCwgbmV3IF9hMSg0LCAxMjIpLFxuXHRcdFx0bmV3IF9hMSgxOCwgMTIzKSksIG5ldyBfYTIoMjgsIG5ldyBfYTEoMTMsIDQ2KSwgbmV3IF9hMSgzMiwgNDcpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSg0OCwgMjQpLFxuXHRcdFx0bmV3IF9hMSgxNCwgMjUpKSwgbmV3IF9hMigzMCwgbmV3IF9hMSg0MiwgMTUpLCBuZXcgX2ExKDMyLCAxNikpKSwgbmV3IF9hMygzOSwgbmV3IEFycmF5KDYsIDI2LCA1NCwgODIsXG5cdFx0XHQxMTAsIDEzOCwgMTY2KSwgbmV3IF9hMigzMCwgbmV3IF9hMSgyMCwgMTE3KSwgbmV3IF9hMSg0LCAxMTgpKSwgbmV3IF9hMigyOCwgbmV3IF9hMSg0MCwgNDcpLFxuXHRcdFx0bmV3IF9hMSg3LCA0OCkpLCBuZXcgX2EyKDMwLCBuZXcgX2ExKDQzLCAyNCksIG5ldyBfYTEoMjIsIDI1KSksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMTAsIDE1KSxcblx0XHRcdG5ldyBfYTEoNjcsIDE2KSkpLCBuZXcgX2EzKDQwLCBuZXcgQXJyYXkoNiwgMzAsIDU4LCA4NiwgMTE0LCAxNDIsIDE3MCksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMTksIDExOCksXG5cdFx0XHRuZXcgX2ExKDYsIDExOSkpLCBuZXcgX2EyKDI4LCBuZXcgX2ExKDE4LCA0NyksIG5ldyBfYTEoMzEsIDQ4KSksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMzQsIDI0KSxcblx0XHRcdG5ldyBfYTEoMzQsIDI1KSksIG5ldyBfYTIoMzAsIG5ldyBfYTEoMjAsIDE1KSwgbmV3IF9hMSg2MSwgMTYpKSkpXG59XG5cbmZ1bmN0aW9uIF9hZShpLCBmLCBjLCBoLCBlLCBiLCBnLCBkLCBhKSB7XG5cdHRoaXMuYTExID0gaTtcblx0dGhpcy5hMTIgPSBoO1xuXHR0aGlzLmExMyA9IGc7XG5cdHRoaXMuYTIxID0gZjtcblx0dGhpcy5hMjIgPSBlO1xuXHR0aGlzLmEyMyA9IGQ7XG5cdHRoaXMuYTMxID0gYztcblx0dGhpcy5hMzIgPSBiO1xuXHR0aGlzLmEzMyA9IGE7XG5cdHRoaXMuX2FkID0gZnVuY3Rpb24odikge1xuXHRcdHZhciBzID0gdi5sZW5ndGg7XG5cdFx0dmFyIHogPSB0aGlzLmExMTtcblx0XHR2YXIgdyA9IHRoaXMuYTEyO1xuXHRcdHZhciB1ID0gdGhpcy5hMTM7XG5cdFx0dmFyIHEgPSB0aGlzLmEyMTtcblx0XHR2YXIgcCA9IHRoaXMuYTIyO1xuXHRcdHZhciBvID0gdGhpcy5hMjM7XG5cdFx0dmFyIG0gPSB0aGlzLmEzMTtcblx0XHR2YXIgayA9IHRoaXMuYTMyO1xuXHRcdHZhciBqID0gdGhpcy5hMzM7XG5cdFx0Zm9yICh2YXIgbiA9IDA7IG4gPCBzOyBuICs9IDIpIHtcblx0XHRcdHZhciB0ID0gdltuXTtcblx0XHRcdHZhciByID0gdltuICsgMV07XG5cdFx0XHR2YXIgbCA9IHUgKiB0ICsgbyAqIHIgKyBqO1xuXHRcdFx0dltuXSA9ICh6ICogdCArIHEgKiByICsgbSkgLyBsO1xuXHRcdFx0dltuICsgMV0gPSAodyAqIHQgKyBwICogciArIGspIC8gbFxuXHRcdH1cblx0fTtcblx0dGhpcy5fZnAgPSBmdW5jdGlvbihtLCBrKSB7XG5cdFx0dmFyIHEgPSBtLmxlbmd0aDtcblx0XHRmb3IgKHZhciBsID0gMDsgbCA8IHE7IGwrKykge1xuXHRcdFx0dmFyIGogPSBtW2xdO1xuXHRcdFx0dmFyIHAgPSBrW2xdO1xuXHRcdFx0dmFyIG8gPSB0aGlzLmExMyAqIGogKyB0aGlzLmEyMyAqIHAgKyB0aGlzLmEzMztcblx0XHRcdG1bbF0gPSAodGhpcy5hMTEgKiBqICsgdGhpcy5hMjEgKiBwICsgdGhpcy5hMzEpIC8gbztcblx0XHRcdGtbbF0gPSAodGhpcy5hMTIgKiBqICsgdGhpcy5hMjIgKiBwICsgdGhpcy5hMzIpIC8gb1xuXHRcdH1cblx0fTtcblx0dGhpcy5fZnIgPSBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gbmV3IF9hZSh0aGlzLmEyMiAqIHRoaXMuYTMzIC0gdGhpcy5hMjMgKiB0aGlzLmEzMiwgdGhpcy5hMjMgKiB0aGlzLmEzMSAtIHRoaXMuYTIxICogdGhpcy5hMzMsIHRoaXNcblx0XHRcdC5hMjEgKiB0aGlzLmEzMiAtIHRoaXMuYTIyICogdGhpcy5hMzEsIHRoaXMuYTEzICogdGhpcy5hMzIgLSB0aGlzLmExMiAqIHRoaXMuYTMzLCB0aGlzLmExMSAqIHRoaXNcblx0XHRcdC5hMzMgLSB0aGlzLmExMyAqIHRoaXMuYTMxLCB0aGlzLmExMiAqIHRoaXMuYTMxIC0gdGhpcy5hMTEgKiB0aGlzLmEzMiwgdGhpcy5hMTIgKiB0aGlzLmEyMyAtIHRoaXNcblx0XHRcdC5hMTMgKiB0aGlzLmEyMiwgdGhpcy5hMTMgKiB0aGlzLmEyMSAtIHRoaXMuYTExICogdGhpcy5hMjMsIHRoaXMuYTExICogdGhpcy5hMjIgLSB0aGlzLmExMiAqIHRoaXNcblx0XHRcdC5hMjEpXG5cdH07XG5cdHRoaXMudGltZXMgPSBmdW5jdGlvbihqKSB7XG5cdFx0cmV0dXJuIG5ldyBfYWUodGhpcy5hMTEgKiBqLmExMSArIHRoaXMuYTIxICogai5hMTIgKyB0aGlzLmEzMSAqIGouYTEzLCB0aGlzLmExMSAqIGouYTIxICsgdGhpcy5hMjEgKiBqLmEyMiArXG5cdFx0XHR0aGlzLmEzMSAqIGouYTIzLCB0aGlzLmExMSAqIGouYTMxICsgdGhpcy5hMjEgKiBqLmEzMiArIHRoaXMuYTMxICogai5hMzMsIHRoaXMuYTEyICogai5hMTEgKyB0aGlzXG5cdFx0XHQuYTIyICogai5hMTIgKyB0aGlzLmEzMiAqIGouYTEzLCB0aGlzLmExMiAqIGouYTIxICsgdGhpcy5hMjIgKiBqLmEyMiArIHRoaXMuYTMyICogai5hMjMsIHRoaXMuYTEyICpcblx0XHRcdGouYTMxICsgdGhpcy5hMjIgKiBqLmEzMiArIHRoaXMuYTMyICogai5hMzMsIHRoaXMuYTEzICogai5hMTEgKyB0aGlzLmEyMyAqIGouYTEyICsgdGhpcy5hMzMgKiBqLmExMyxcblx0XHRcdHRoaXMuYTEzICogai5hMjEgKyB0aGlzLmEyMyAqIGouYTIyICsgdGhpcy5hMzMgKiBqLmEyMywgdGhpcy5hMTMgKiBqLmEzMSArIHRoaXMuYTIzICogai5hMzIgKyB0aGlzXG5cdFx0XHQuYTMzICogai5hMzMpXG5cdH1cbn1cbl9hZS5fYWcgPSBmdW5jdGlvbihwLCBlLCBvLCBkLCBuLCBjLCBtLCBiLCBoLCBxLCBsLCBmLCBhLCBqLCBpLCByKSB7XG5cdHZhciBnID0gdGhpcy5fYmUocCwgZSwgbywgZCwgbiwgYywgbSwgYik7XG5cdHZhciBrID0gdGhpcy5fYmYoaCwgcSwgbCwgZiwgYSwgaiwgaSwgcik7XG5cdHJldHVybiBrLnRpbWVzKGcpXG59O1xuX2FlLl9iZiA9IGZ1bmN0aW9uKGQsIHAsIGMsIG0sIGIsIGssIGEsIGopIHtcblx0dmFyIGggPSBqIC0gaztcblx0dmFyIGYgPSBwIC0gbSArIGsgLSBqO1xuXHRpZiAoaCA9PSAwICYmIGYgPT0gMCkge1xuXHRcdHJldHVybiBuZXcgX2FlKGMgLSBkLCBiIC0gYywgZCwgbSAtIHAsIGsgLSBtLCBwLCAwLCAwLCAxKVxuXHR9IGVsc2Uge1xuXHRcdHZhciBxID0gYyAtIGI7XG5cdFx0dmFyIG8gPSBhIC0gYjtcblx0XHR2YXIgbCA9IGQgLSBjICsgYiAtIGE7XG5cdFx0dmFyIGkgPSBtIC0gaztcblx0XHR2YXIgZSA9IHEgKiBoIC0gbyAqIGk7XG5cdFx0dmFyIG4gPSAobCAqIGggLSBvICogZikgLyBlO1xuXHRcdHZhciBnID0gKHEgKiBmIC0gbCAqIGkpIC8gZTtcblx0XHRyZXR1cm4gbmV3IF9hZShjIC0gZCArIG4gKiBjLCBhIC0gZCArIGcgKiBhLCBkLCBtIC0gcCArIG4gKiBtLCBqIC0gcCArIGcgKiBqLCBwLCBuLCBnLCAxKVxuXHR9XG59O1xuX2FlLl9iZSA9IGZ1bmN0aW9uKGYsIGgsIGQsIGcsIGIsIGUsIGEsIGMpIHtcblx0cmV0dXJuIHRoaXMuX2JmKGYsIGgsIGQsIGcsIGIsIGUsIGEsIGMpLl9mcigpXG59O1xuXG5mdW5jdGlvbiBfYmcoYiwgYSkge1xuXHR0aGlzLmJpdHMgPSBiO1xuXHR0aGlzLnBvaW50cyA9IGFcbn1cblxuZnVuY3Rpb24gRGV0ZWN0b3IoYSkge1xuXHR0aGlzLmltYWdlID0gYTtcblx0dGhpcy5fYW0gPSBudWxsO1xuXHR0aGlzLl9iaSA9IGZ1bmN0aW9uKG0sIGwsIGMsIGIpIHtcblx0XHR2YXIgZCA9IE1hdGguYWJzKGIgLSBsKSA+IE1hdGguYWJzKGMgLSBtKTtcblx0XHRpZiAoZCkge1xuXHRcdFx0dmFyIHIgPSBtO1xuXHRcdFx0bSA9IGw7XG5cdFx0XHRsID0gcjtcblx0XHRcdHIgPSBjO1xuXHRcdFx0YyA9IGI7XG5cdFx0XHRiID0gclxuXHRcdH1cblx0XHR2YXIgaiA9IE1hdGguYWJzKGMgLSBtKTtcblx0XHR2YXIgaSA9IE1hdGguYWJzKGIgLSBsKTtcblx0XHR2YXIgcCA9IC1qID4+IDE7XG5cdFx0dmFyIHUgPSBsIDwgYiA/IDEgOiAtMTtcblx0XHR2YXIgZiA9IG0gPCBjID8gMSA6IC0xO1xuXHRcdHZhciBlID0gMDtcblx0XHRmb3IgKHZhciBoID0gbSwgZyA9IGw7IGggIT0gYzsgaCArPSBmKSB7XG5cdFx0XHR2YXIgdCA9IGQgPyBnIDogaDtcblx0XHRcdHZhciBzID0gZCA/IGggOiBnO1xuXHRcdFx0aWYgKGUgPT0gMSkge1xuXHRcdFx0XHRpZiAodGhpcy5pbWFnZVt0ICsgcyAqIHFyY29kZS53aWR0aF0pIHtcblx0XHRcdFx0XHRlKytcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0aWYgKCF0aGlzLmltYWdlW3QgKyBzICogcXJjb2RlLndpZHRoXSkge1xuXHRcdFx0XHRcdGUrK1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAoZSA9PSAzKSB7XG5cdFx0XHRcdHZhciBvID0gaCAtIG07XG5cdFx0XHRcdHZhciBuID0gZyAtIGw7XG5cdFx0XHRcdHJldHVybiBNYXRoLnNxcnQoKG8gKiBvICsgbiAqIG4pKVxuXHRcdFx0fVxuXHRcdFx0cCArPSBpO1xuXHRcdFx0aWYgKHAgPiAwKSB7XG5cdFx0XHRcdGlmIChnID09IGIpIHtcblx0XHRcdFx0XHRicmVha1xuXHRcdFx0XHR9XG5cdFx0XHRcdGcgKz0gdTtcblx0XHRcdFx0cCAtPSBqXG5cdFx0XHR9XG5cdFx0fVxuXHRcdHZhciBrID0gYyAtIG07XG5cdFx0dmFyIHEgPSBiIC0gbDtcblx0XHRyZXR1cm4gTWF0aC5zcXJ0KChrICogayArIHEgKiBxKSlcblx0fTtcblx0dGhpcy5fYmggPSBmdW5jdGlvbihpLCBnLCBoLCBmKSB7XG5cdFx0dmFyIGIgPSB0aGlzLl9iaShpLCBnLCBoLCBmKTtcblx0XHR2YXIgZSA9IDE7XG5cdFx0dmFyIGQgPSBpIC0gKGggLSBpKTtcblx0XHRpZiAoZCA8IDApIHtcblx0XHRcdGUgPSBpIC8gKGkgLSBkKTtcblx0XHRcdGQgPSAwXG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmIChkID49IHFyY29kZS53aWR0aCkge1xuXHRcdFx0XHRlID0gKHFyY29kZS53aWR0aCAtIDEgLSBpKSAvIChkIC0gaSk7XG5cdFx0XHRcdGQgPSBxcmNvZGUud2lkdGggLSAxXG5cdFx0XHR9XG5cdFx0fVxuXHRcdHZhciBjID0gTWF0aC5mbG9vcihnIC0gKGYgLSBnKSAqIGUpO1xuXHRcdGUgPSAxO1xuXHRcdGlmIChjIDwgMCkge1xuXHRcdFx0ZSA9IGcgLyAoZyAtIGMpO1xuXHRcdFx0YyA9IDBcblx0XHR9IGVsc2Uge1xuXHRcdFx0aWYgKGMgPj0gcXJjb2RlLmhlaWdodCkge1xuXHRcdFx0XHRlID0gKHFyY29kZS5oZWlnaHQgLSAxIC0gZykgLyAoYyAtIGcpO1xuXHRcdFx0XHRjID0gcXJjb2RlLmhlaWdodCAtIDFcblx0XHRcdH1cblx0XHR9XG5cdFx0ZCA9IE1hdGguZmxvb3IoaSArIChkIC0gaSkgKiBlKTtcblx0XHRiICs9IHRoaXMuX2JpKGksIGcsIGQsIGMpO1xuXHRcdHJldHVybiBiIC0gMVxuXHR9O1xuXHR0aGlzLl9iaiA9IGZ1bmN0aW9uKGMsIGQpIHtcblx0XHR2YXIgYiA9IHRoaXMuX2JoKE1hdGguZmxvb3IoYy5YKSwgTWF0aC5mbG9vcihjLlkpLCBNYXRoLmZsb29yKGQuWCksIE1hdGguZmxvb3IoZC5ZKSk7XG5cdFx0dmFyIGUgPSB0aGlzLl9iaChNYXRoLmZsb29yKGQuWCksIE1hdGguZmxvb3IoZC5ZKSwgTWF0aC5mbG9vcihjLlgpLCBNYXRoLmZsb29yKGMuWSkpO1xuXHRcdGlmIChpc05hTihiKSkge1xuXHRcdFx0cmV0dXJuIGUgLyA3XG5cdFx0fVxuXHRcdGlmIChpc05hTihlKSkge1xuXHRcdFx0cmV0dXJuIGIgLyA3XG5cdFx0fVxuXHRcdHJldHVybiAoYiArIGUpIC8gMTRcblx0fTtcblx0dGhpcy5fYmsgPSBmdW5jdGlvbihkLCBjLCBiKSB7XG5cdFx0cmV0dXJuICh0aGlzLl9iaihkLCBjKSArIHRoaXMuX2JqKGQsIGIpKSAvIDJcblx0fTtcblx0dGhpcy5kaXN0YW5jZSA9IGZ1bmN0aW9uKGQsIGIpIHtcblx0XHR2YXIgZSA9IGQuWCAtIGIuWDtcblx0XHR2YXIgYyA9IGQuWSAtIGIuWTtcblx0XHRyZXR1cm4gTWF0aC5zcXJ0KChlICogZSArIGMgKiBjKSlcblx0fTtcblx0dGhpcy5fYnggPSBmdW5jdGlvbihnLCBmLCBkLCBlKSB7XG5cdFx0dmFyIGIgPSBNYXRoLnJvdW5kKHRoaXMuZGlzdGFuY2UoZywgZikgLyBlKTtcblx0XHR2YXIgYyA9IE1hdGgucm91bmQodGhpcy5kaXN0YW5jZShnLCBkKSAvIGUpO1xuXHRcdHZhciBoID0gKChiICsgYykgPj4gMSkgKyA3O1xuXHRcdHN3aXRjaCAoaCAmIDMpIHtcblx0XHRcdGNhc2UgMDpcblx0XHRcdFx0aCsrO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgMjpcblx0XHRcdFx0aC0tO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgMzpcblx0XHRcdFx0dGhyb3cgXCJFcnJvclwiXG5cdFx0fVxuXHRcdHJldHVybiBoXG5cdH07XG5cdHRoaXMuX2JsID0gZnVuY3Rpb24oZywgZiwgZCwgaikge1xuXHRcdHZhciBrID0gTWF0aC5mbG9vcihqICogZyk7XG5cdFx0dmFyIGggPSBNYXRoLm1heCgwLCBmIC0gayk7XG5cdFx0dmFyIGkgPSBNYXRoLm1pbihxcmNvZGUud2lkdGggLSAxLCBmICsgayk7XG5cdFx0aWYgKGkgLSBoIDwgZyAqIDMpIHtcblx0XHRcdHRocm93IFwiRXJyb3JcIlxuXHRcdH1cblx0XHR2YXIgYiA9IE1hdGgubWF4KDAsIGQgLSBrKTtcblx0XHR2YXIgYyA9IE1hdGgubWluKHFyY29kZS5oZWlnaHQgLSAxLCBkICsgayk7XG5cdFx0dmFyIGUgPSBuZXcgX2FrKHRoaXMuaW1hZ2UsIGgsIGIsIGkgLSBoLCBjIC0gYiwgZywgdGhpcy5fYW0pO1xuXHRcdHJldHVybiBlLmZpbmQoKVxuXHR9O1xuXHR0aGlzLmNyZWF0ZVRyYW5zZm9ybSA9IGZ1bmN0aW9uKGwsIGgsIGssIGIsIGcpIHtcblx0XHR2YXIgaiA9IGcgLSAzLjU7XG5cdFx0dmFyIGk7XG5cdFx0dmFyIGY7XG5cdFx0dmFyIGU7XG5cdFx0dmFyIGM7XG5cdFx0aWYgKGIgIT0gbnVsbCkge1xuXHRcdFx0aSA9IGIuWDtcblx0XHRcdGYgPSBiLlk7XG5cdFx0XHRlID0gYyA9IGogLSAzXG5cdFx0fSBlbHNlIHtcblx0XHRcdGkgPSAoaC5YIC0gbC5YKSArIGsuWDtcblx0XHRcdGYgPSAoaC5ZIC0gbC5ZKSArIGsuWTtcblx0XHRcdGUgPSBjID0galxuXHRcdH1cblx0XHR2YXIgZCA9IF9hZS5fYWcoMy41LCAzLjUsIGosIDMuNSwgZSwgYywgMy41LCBqLCBsLlgsIGwuWSwgaC5YLCBoLlksIGksIGYsIGsuWCwgay5ZKTtcblx0XHRyZXR1cm4gZFxuXHR9O1xuXHR0aGlzLl9ieiA9IGZ1bmN0aW9uKGUsIGIsIGQpIHtcblx0XHR2YXIgYyA9IF9hYTtcblx0XHRyZXR1cm4gYy5fYWYoZSwgZCwgYilcblx0fTtcblx0dGhpcy5fY2QgPSBmdW5jdGlvbihxKSB7XG5cdFx0dmFyIGogPSBxLl9ncTtcblx0XHR2YXIgaCA9IHEuX2dzO1xuXHRcdHZhciBuID0gcS5fZ3A7XG5cdFx0dmFyIGQgPSB0aGlzLl9iayhqLCBoLCBuKTtcblx0XHRpZiAoZCA8IDEpIHtcblx0XHRcdHRocm93IFwiRXJyb3JcIlxuXHRcdH1cblx0XHR2YXIgciA9IHRoaXMuX2J4KGosIGgsIG4sIGQpO1xuXHRcdHZhciBiID0gX2EzLl9hdChyKTtcblx0XHR2YXIgayA9IGIuX2NyIC0gNztcblx0XHR2YXIgbCA9IG51bGw7XG5cdFx0aWYgKGIuX2FzLmxlbmd0aCA+IDApIHtcblx0XHRcdHZhciBmID0gaC5YIC0gai5YICsgbi5YO1xuXHRcdFx0dmFyIGUgPSBoLlkgLSBqLlkgKyBuLlk7XG5cdFx0XHR2YXIgYyA9IDEgLSAzIC8gaztcblx0XHRcdHZhciB0ID0gTWF0aC5mbG9vcihqLlggKyBjICogKGYgLSBqLlgpKTtcblx0XHRcdHZhciBzID0gTWF0aC5mbG9vcihqLlkgKyBjICogKGUgLSBqLlkpKTtcblx0XHRcdGZvciAodmFyIHAgPSA0OyBwIDw9IDE2OyBwIDw8PSAxKSB7XG5cdFx0XHRcdGwgPSB0aGlzLl9ibChkLCB0LCBzLCBwKTtcblx0XHRcdFx0YnJlYWtcblx0XHRcdH1cblx0XHR9XG5cdFx0dmFyIGcgPSB0aGlzLmNyZWF0ZVRyYW5zZm9ybShqLCBoLCBuLCBsLCByKTtcblx0XHR2YXIgbSA9IHRoaXMuX2J6KHRoaXMuaW1hZ2UsIGcsIHIpO1xuXHRcdHZhciBvO1xuXHRcdGlmIChsID09IG51bGwpIHtcblx0XHRcdG8gPSBuZXcgQXJyYXkobiwgaiwgaClcblx0XHR9IGVsc2Uge1xuXHRcdFx0byA9IG5ldyBBcnJheShuLCBqLCBoLCBsKVxuXHRcdH1cblx0XHRyZXR1cm4gbmV3IF9iZyhtLCBvKVxuXHR9O1xuXHR0aGlzLmRldGVjdCA9IGZ1bmN0aW9uKCkge1xuXHRcdHZhciBiID0gbmV3IF9jYygpLl9jZSh0aGlzLmltYWdlKTtcblx0XHRyZXR1cm4gdGhpcy5fY2QoYilcblx0fVxufVxudmFyIF9jYSA9IDIxNTIyO1xudmFyIF9jYiA9IG5ldyBBcnJheShuZXcgQXJyYXkoMjE1MjIsIDApLCBuZXcgQXJyYXkoMjA3NzMsIDEpLCBuZXcgQXJyYXkoMjQxODgsIDIpLCBuZXcgQXJyYXkoMjMzNzEsIDMpLCBuZXcgQXJyYXkoMTc5MTMsXG5cdFx0NCksIG5ldyBBcnJheSgxNjU5MCwgNSksIG5ldyBBcnJheSgyMDM3NSwgNiksIG5ldyBBcnJheSgxOTEwNCwgNyksIG5ldyBBcnJheSgzMDY2MCwgOCksIG5ldyBBcnJheSgyOTQyNywgOSksXG5cdG5ldyBBcnJheSgzMjE3MCwgMTApLCBuZXcgQXJyYXkoMzA4NzcsIDExKSwgbmV3IEFycmF5KDI2MTU5LCAxMiksIG5ldyBBcnJheSgyNTM2OCwgMTMpLCBuZXcgQXJyYXkoMjc3MTMsIDE0KSxcblx0bmV3IEFycmF5KDI2OTk4LCAxNSksIG5ldyBBcnJheSg1NzY5LCAxNiksIG5ldyBBcnJheSg1MDU0LCAxNyksIG5ldyBBcnJheSg3Mzk5LCAxOCksIG5ldyBBcnJheSg2NjA4LCAxOSksXG5cdG5ldyBBcnJheSgxODkwLCAyMCksIG5ldyBBcnJheSg1OTcsIDIxKSwgbmV3IEFycmF5KDMzNDAsIDIyKSwgbmV3IEFycmF5KDIxMDcsIDIzKSwgbmV3IEFycmF5KDEzNjYzLCAyNCksXG5cdG5ldyBBcnJheSgxMjM5MiwgMjUpLCBuZXcgQXJyYXkoMTYxNzcsIDI2KSwgbmV3IEFycmF5KDE0ODU0LCAyNyksIG5ldyBBcnJheSg5Mzk2LCAyOCksIG5ldyBBcnJheSg4NTc5LCAyOSksXG5cdG5ldyBBcnJheSgxMTk5NCwgMzApLCBuZXcgQXJyYXkoMTEyNDUsIDMxKSk7XG52YXIgX2NoID0gbmV3IEFycmF5KDAsIDEsIDEsIDIsIDEsIDIsIDIsIDMsIDEsIDIsIDIsIDMsIDIsIDMsIDMsIDQpO1xuXG5mdW5jdGlvbiBfYXgoYSkge1xuXHR0aGlzLl9jZiA9IF9jZy5mb3JCaXRzKChhID4+IDMpICYgMyk7XG5cdHRoaXMuX2ZlID0gKGEgJiA3KTtcblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiX2NnXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLl9jZlxuXHR9KTtcblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiX2R4XCIsIGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLl9mZVxuXHR9KTtcblx0dGhpcy5HZXRIYXNoQ29kZSA9IGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiAodGhpcy5fY2Yub3JkaW5hbCgpIDw8IDMpIHwgX2ZlXG5cdH07XG5cdHRoaXMuRXF1YWxzID0gZnVuY3Rpb24oYykge1xuXHRcdHZhciBiID0gYztcblx0XHRyZXR1cm4gdGhpcy5fY2YgPT0gYi5fY2YgJiYgdGhpcy5fZmUgPT0gYi5fZmVcblx0fVxufVxuX2F4Ll9naiA9IGZ1bmN0aW9uKGQsIGMpIHtcblx0ZCBePSBjO1xuXHRyZXR1cm4gX2NoW2QgJiAxNV0gKyBfY2hbKF9ldyhkLCA0KSAmIDE1KV0gKyBfY2hbKF9ldyhkLCA4KSAmIDE1KV0gKyBfY2hbKF9ldyhkLCAxMikgJiAxNSldICsgX2NoWyhfZXcoZCwgMTYpICZcblx0XHQxNSldICsgX2NoWyhfZXcoZCwgMjApICYgMTUpXSArIF9jaFsoX2V3KGQsIDI0KSAmIDE1KV0gKyBfY2hbKF9ldyhkLCAyOCkgJiAxNSldXG59O1xuX2F4Ll9jaSA9IGZ1bmN0aW9uKGEpIHtcblx0dmFyIGIgPSBfYXguX2NqKGEpO1xuXHRpZiAoYiAhPSBudWxsKSB7XG5cdFx0cmV0dXJuIGJcblx0fVxuXHRyZXR1cm4gX2F4Ll9jaihhIF4gX2NhKVxufTtcbl9heC5fY2ogPSBmdW5jdGlvbihkKSB7XG5cdHZhciBiID0gNDI5NDk2NzI5NTtcblx0dmFyIGEgPSAwO1xuXHRmb3IgKHZhciBjID0gMDsgYyA8IF9jYi5sZW5ndGg7IGMrKykge1xuXHRcdHZhciBnID0gX2NiW2NdO1xuXHRcdHZhciBmID0gZ1swXTtcblx0XHRpZiAoZiA9PSBkKSB7XG5cdFx0XHRyZXR1cm4gbmV3IF9heChnWzFdKVxuXHRcdH1cblx0XHR2YXIgZSA9IHRoaXMuX2dqKGQsIGYpO1xuXHRcdGlmIChlIDwgYikge1xuXHRcdFx0YSA9IGdbMV07XG5cdFx0XHRiID0gZVxuXHRcdH1cblx0fVxuXHRpZiAoYiA8PSAzKSB7XG5cdFx0cmV0dXJuIG5ldyBfYXgoYSlcblx0fVxuXHRyZXR1cm4gbnVsbFxufTtcblxuZnVuY3Rpb24gX2NnKGEsIGMsIGIpIHtcblx0dGhpcy5fZmYgPSBhO1xuXHR0aGlzLmJpdHMgPSBjO1xuXHR0aGlzLm5hbWUgPSBiO1xuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJCaXRzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLmJpdHNcblx0fSk7XG5cdHRoaXMuX19kZWZpbmVHZXR0ZXJfXyhcIk5hbWVcIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMubmFtZVxuXHR9KTtcblx0dGhpcy5vcmRpbmFsID0gZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2ZmXG5cdH1cbn1cbl9jZy5mb3JCaXRzID0gZnVuY3Rpb24oYSkge1xuXHRpZiAoYSA8IDAgfHwgYSA+PSBGT1JfQklUUy5sZW5ndGgpIHtcblx0XHR0aHJvdyBcImJhZCBhcmd1bWVudHNcIlxuXHR9XG5cdHJldHVybiBGT1JfQklUU1thXVxufTtcbnZhciBMID0gbmV3IF9jZygwLCAxLCBcIkxcIik7XG52YXIgTSA9IG5ldyBfY2coMSwgMCwgXCJNXCIpO1xudmFyIFEgPSBuZXcgX2NnKDIsIDMsIFwiUVwiKTtcbnZhciBIID0gbmV3IF9jZygzLCAyLCBcIkhcIik7XG52YXIgRk9SX0JJVFMgPSBuZXcgQXJyYXkoTSwgTCwgSCwgUSk7XG5cbmZ1bmN0aW9uIF9hYyhkLCBhKSB7XG5cdGlmICghYSkge1xuXHRcdGEgPSBkXG5cdH1cblx0aWYgKGQgPCAxIHx8IGEgPCAxKSB7XG5cdFx0dGhyb3cgXCJCb3RoIGRpbWVuc2lvbnMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMFwiXG5cdH1cblx0dGhpcy53aWR0aCA9IGQ7XG5cdHRoaXMuaGVpZ2h0ID0gYTtcblx0dmFyIGMgPSBkID4+IDU7XG5cdGlmICgoZCAmIDMxKSAhPSAwKSB7XG5cdFx0YysrXG5cdH1cblx0dGhpcy5yb3dTaXplID0gYztcblx0dGhpcy5iaXRzID0gbmV3IEFycmF5KGMgKiBhKTtcblx0Zm9yICh2YXIgYiA9IDA7IGIgPCB0aGlzLmJpdHMubGVuZ3RoOyBiKyspIHtcblx0XHR0aGlzLmJpdHNbYl0gPSAwXG5cdH1cblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiV2lkdGhcIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMud2lkdGhcblx0fSk7XG5cdHRoaXMuX19kZWZpbmVHZXR0ZXJfXyhcIkhlaWdodFwiLCBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5oZWlnaHRcblx0fSk7XG5cdHRoaXMuX19kZWZpbmVHZXR0ZXJfXyhcIkRpbWVuc2lvblwiLCBmdW5jdGlvbigpIHtcblx0XHRpZiAodGhpcy53aWR0aCAhPSB0aGlzLmhlaWdodCkge1xuXHRcdFx0dGhyb3cgXCJDYW4ndCBjYWxsIGdldERpbWVuc2lvbigpIG9uIGEgbm9uLXNxdWFyZSBtYXRyaXhcIlxuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy53aWR0aFxuXHR9KTtcblx0dGhpcy5fZHMgPSBmdW5jdGlvbihlLCBnKSB7XG5cdFx0dmFyIGYgPSBnICogdGhpcy5yb3dTaXplICsgKGUgPj4gNSk7XG5cdFx0cmV0dXJuICgoX2V3KHRoaXMuYml0c1tmXSwgKGUgJiAzMSkpKSAmIDEpICE9IDBcblx0fTtcblx0dGhpcy5fZHEgPSBmdW5jdGlvbihlLCBnKSB7XG5cdFx0dmFyIGYgPSBnICogdGhpcy5yb3dTaXplICsgKGUgPj4gNSk7XG5cdFx0dGhpcy5iaXRzW2ZdIHw9IDEgPDwgKGUgJiAzMSlcblx0fTtcblx0dGhpcy5mbGlwID0gZnVuY3Rpb24oZSwgZykge1xuXHRcdHZhciBmID0gZyAqIHRoaXMucm93U2l6ZSArIChlID4+IDUpO1xuXHRcdHRoaXMuYml0c1tmXSBePSAxIDw8IChlICYgMzEpXG5cdH07XG5cdHRoaXMuY2xlYXIgPSBmdW5jdGlvbigpIHtcblx0XHR2YXIgZSA9IHRoaXMuYml0cy5sZW5ndGg7XG5cdFx0Zm9yICh2YXIgZiA9IDA7IGYgPCBlOyBmKyspIHtcblx0XHRcdHRoaXMuYml0c1tmXSA9IDBcblx0XHR9XG5cdH07XG5cdHRoaXMuX2JxID0gZnVuY3Rpb24oZywgaiwgZiwgbSkge1xuXHRcdGlmIChqIDwgMCB8fCBnIDwgMCkge1xuXHRcdFx0dGhyb3cgXCJMZWZ0IGFuZCB0b3AgbXVzdCBiZSBub25uZWdhdGl2ZVwiXG5cdFx0fVxuXHRcdGlmIChtIDwgMSB8fCBmIDwgMSkge1xuXHRcdFx0dGhyb3cgXCJIZWlnaHQgYW5kIHdpZHRoIG11c3QgYmUgYXQgbGVhc3QgMVwiXG5cdFx0fVxuXHRcdHZhciBsID0gZyArIGY7XG5cdFx0dmFyIGUgPSBqICsgbTtcblx0XHRpZiAoZSA+IHRoaXMuaGVpZ2h0IHx8IGwgPiB0aGlzLndpZHRoKSB7XG5cdFx0XHR0aHJvdyBcIlRoZSByZWdpb24gbXVzdCBmaXQgaW5zaWRlIHRoZSBtYXRyaXhcIlxuXHRcdH1cblx0XHRmb3IgKHZhciBpID0gajsgaSA8IGU7IGkrKykge1xuXHRcdFx0dmFyIGggPSBpICogdGhpcy5yb3dTaXplO1xuXHRcdFx0Zm9yICh2YXIgayA9IGc7IGsgPCBsOyBrKyspIHtcblx0XHRcdFx0dGhpcy5iaXRzW2ggKyAoayA+PiA1KV0gfD0gMSA8PCAoayAmIDMxKVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5mdW5jdGlvbiBfZGwoYSwgYikge1xuXHR0aGlzLl9kdiA9IGE7XG5cdHRoaXMuX2R3ID0gYjtcblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiX2R1XCIsIGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLl9kdlxuXHR9KTtcblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiQ29kZXdvcmRzXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLl9kd1xuXHR9KVxufVxuX2RsLl9nbiA9IGZ1bmN0aW9uKGMsIGgsIHIpIHtcblx0aWYgKGMubGVuZ3RoICE9IGguX2RwKSB7XG5cdFx0dGhyb3cgXCJiYWQgYXJndW1lbnRzXCJcblx0fVxuXHR2YXIgayA9IGguX2J1KHIpO1xuXHR2YXIgZSA9IDA7XG5cdHZhciBkID0gay5fZmIoKTtcblx0Zm9yICh2YXIgcSA9IDA7IHEgPCBkLmxlbmd0aDsgcSsrKSB7XG5cdFx0ZSArPSBkW3FdLkNvdW50XG5cdH1cblx0dmFyIGwgPSBuZXcgQXJyYXkoZSk7XG5cdHZhciBuID0gMDtcblx0Zm9yICh2YXIgbyA9IDA7IG8gPCBkLmxlbmd0aDsgbysrKSB7XG5cdFx0dmFyIGYgPSBkW29dO1xuXHRcdGZvciAodmFyIHEgPSAwOyBxIDwgZi5Db3VudDsgcSsrKSB7XG5cdFx0XHR2YXIgbSA9IGYuX2RtO1xuXHRcdFx0dmFyIHMgPSBrLl9ibyArIG07XG5cdFx0XHRsW24rK10gPSBuZXcgX2RsKG0sIG5ldyBBcnJheShzKSlcblx0XHR9XG5cdH1cblx0dmFyIHQgPSBsWzBdLl9kdy5sZW5ndGg7XG5cdHZhciBiID0gbC5sZW5ndGggLSAxO1xuXHR3aGlsZSAoYiA+PSAwKSB7XG5cdFx0dmFyIHYgPSBsW2JdLl9kdy5sZW5ndGg7XG5cdFx0aWYgKHYgPT0gdCkge1xuXHRcdFx0YnJlYWtcblx0XHR9XG5cdFx0Yi0tXG5cdH1cblx0YisrO1xuXHR2YXIgZyA9IHQgLSBrLl9ibztcblx0dmFyIGEgPSAwO1xuXHRmb3IgKHZhciBxID0gMDsgcSA8IGc7IHErKykge1xuXHRcdGZvciAodmFyIG8gPSAwOyBvIDwgbjsgbysrKSB7XG5cdFx0XHRsW29dLl9kd1txXSA9IGNbYSsrXVxuXHRcdH1cblx0fVxuXHRmb3IgKHZhciBvID0gYjsgbyA8IG47IG8rKykge1xuXHRcdGxbb10uX2R3W2ddID0gY1thKytdXG5cdH1cblx0dmFyIHAgPSBsWzBdLl9kdy5sZW5ndGg7XG5cdGZvciAodmFyIHEgPSBnOyBxIDwgcDsgcSsrKSB7XG5cdFx0Zm9yICh2YXIgbyA9IDA7IG8gPCBuOyBvKyspIHtcblx0XHRcdHZhciB1ID0gbyA8IGIgPyBxIDogcSArIDE7XG5cdFx0XHRsW29dLl9kd1t1XSA9IGNbYSsrXVxuXHRcdH1cblx0fVxuXHRyZXR1cm4gbFxufTtcblxuZnVuY3Rpb24gX2NsKGEpIHtcblx0dmFyIGIgPSBhLkRpbWVuc2lvbjtcblx0aWYgKGIgPCAyMSB8fCAoYiAmIDMpICE9IDEpIHtcblx0XHR0aHJvdyBcIkVycm9yIF9jbFwiXG5cdH1cblx0dGhpcy5fYXUgPSBhO1xuXHR0aGlzLl9jcCA9IG51bGw7XG5cdHRoaXMuX2NvID0gbnVsbDtcblx0dGhpcy5fZGsgPSBmdW5jdGlvbihkLCBjLCBlKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2F1Ll9kcyhkLCBjKSA/IChlIDw8IDEpIHwgMSA6IGUgPDwgMVxuXHR9O1xuXHR0aGlzLl9jbSA9IGZ1bmN0aW9uKCkge1xuXHRcdGlmICh0aGlzLl9jbyAhPSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fY29cblx0XHR9XG5cdFx0dmFyIGcgPSAwO1xuXHRcdGZvciAodmFyIGUgPSAwOyBlIDwgNjsgZSsrKSB7XG5cdFx0XHRnID0gdGhpcy5fZGsoZSwgOCwgZylcblx0XHR9XG5cdFx0ZyA9IHRoaXMuX2RrKDcsIDgsIGcpO1xuXHRcdGcgPSB0aGlzLl9kayg4LCA4LCBnKTtcblx0XHRnID0gdGhpcy5fZGsoOCwgNywgZyk7XG5cdFx0Zm9yICh2YXIgYyA9IDU7IGMgPj0gMDsgYy0tKSB7XG5cdFx0XHRnID0gdGhpcy5fZGsoOCwgYywgZylcblx0XHR9XG5cdFx0dGhpcy5fY28gPSBfYXguX2NpKGcpO1xuXHRcdGlmICh0aGlzLl9jbyAhPSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fY29cblx0XHR9XG5cdFx0dmFyIGYgPSB0aGlzLl9hdS5EaW1lbnNpb247XG5cdFx0ZyA9IDA7XG5cdFx0dmFyIGQgPSBmIC0gODtcblx0XHRmb3IgKHZhciBlID0gZiAtIDE7IGUgPj0gZDsgZS0tKSB7XG5cdFx0XHRnID0gdGhpcy5fZGsoZSwgOCwgZylcblx0XHR9XG5cdFx0Zm9yICh2YXIgYyA9IGYgLSA3OyBjIDwgZjsgYysrKSB7XG5cdFx0XHRnID0gdGhpcy5fZGsoOCwgYywgZylcblx0XHR9XG5cdFx0dGhpcy5fY28gPSBfYXguX2NpKGcpO1xuXHRcdGlmICh0aGlzLl9jbyAhPSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fY29cblx0XHR9XG5cdFx0dGhyb3cgXCJFcnJvciBfY21cIlxuXHR9O1xuXHR0aGlzLl9jcSA9IGZ1bmN0aW9uKCkge1xuXHRcdGlmICh0aGlzLl9jcCAhPSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fY3Bcblx0XHR9XG5cdFx0dmFyIGggPSB0aGlzLl9hdS5EaW1lbnNpb247XG5cdFx0dmFyIGYgPSAoaCAtIDE3KSA+PiAyO1xuXHRcdGlmIChmIDw9IDYpIHtcblx0XHRcdHJldHVybiBfYTMuX2F2KGYpXG5cdFx0fVxuXHRcdHZhciBnID0gMDtcblx0XHR2YXIgZSA9IGggLSAxMTtcblx0XHRmb3IgKHZhciBjID0gNTsgYyA+PSAwOyBjLS0pIHtcblx0XHRcdGZvciAodmFyIGQgPSBoIC0gOTsgZCA+PSBlOyBkLS0pIHtcblx0XHRcdFx0ZyA9IHRoaXMuX2RrKGQsIGMsIGcpXG5cdFx0XHR9XG5cdFx0fVxuXHRcdHRoaXMuX2NwID0gX2EzLl9hdyhnKTtcblx0XHRpZiAodGhpcy5fY3AgIT0gbnVsbCAmJiB0aGlzLl9jcC5fY3IgPT0gaCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2NwXG5cdFx0fVxuXHRcdGcgPSAwO1xuXHRcdGZvciAodmFyIGQgPSA1OyBkID49IDA7IGQtLSkge1xuXHRcdFx0Zm9yICh2YXIgYyA9IGggLSA5OyBjID49IGU7IGMtLSkge1xuXHRcdFx0XHRnID0gdGhpcy5fZGsoZCwgYywgZylcblx0XHRcdH1cblx0XHR9XG5cdFx0dGhpcy5fY3AgPSBfYTMuX2F3KGcpO1xuXHRcdGlmICh0aGlzLl9jcCAhPSBudWxsICYmIHRoaXMuX2NwLl9jciA9PSBoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fY3Bcblx0XHR9XG5cdFx0dGhyb3cgXCJFcnJvciBfY3FcIlxuXHR9O1xuXHR0aGlzLl9nayA9IGZ1bmN0aW9uKCkge1xuXHRcdHZhciBxID0gdGhpcy5fY20oKTtcblx0XHR2YXIgbyA9IHRoaXMuX2NxKCk7XG5cdFx0dmFyIGMgPSBfZHguX2dsKHEuX2R4KTtcblx0XHR2YXIgZiA9IHRoaXMuX2F1LkRpbWVuc2lvbjtcblx0XHRjLl9kaih0aGlzLl9hdSwgZik7XG5cdFx0dmFyIGsgPSBvLl9hcSgpO1xuXHRcdHZhciBuID0gdHJ1ZTtcblx0XHR2YXIgciA9IG5ldyBBcnJheShvLl9kcCk7XG5cdFx0dmFyIG0gPSAwO1xuXHRcdHZhciBwID0gMDtcblx0XHR2YXIgaCA9IDA7XG5cdFx0Zm9yICh2YXIgZSA9IGYgLSAxOyBlID4gMDsgZSAtPSAyKSB7XG5cdFx0XHRpZiAoZSA9PSA2KSB7XG5cdFx0XHRcdGUtLVxuXHRcdFx0fVxuXHRcdFx0Zm9yICh2YXIgbCA9IDA7IGwgPCBmOyBsKyspIHtcblx0XHRcdFx0dmFyIGcgPSBuID8gZiAtIDEgLSBsIDogbDtcblx0XHRcdFx0Zm9yICh2YXIgZCA9IDA7IGQgPCAyOyBkKyspIHtcblx0XHRcdFx0XHRpZiAoIWsuX2RzKGUgLSBkLCBnKSkge1xuXHRcdFx0XHRcdFx0aCsrO1xuXHRcdFx0XHRcdFx0cCA8PD0gMTtcblx0XHRcdFx0XHRcdGlmICh0aGlzLl9hdS5fZHMoZSAtIGQsIGcpKSB7XG5cdFx0XHRcdFx0XHRcdHAgfD0gMVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0aWYgKGggPT0gOCkge1xuXHRcdFx0XHRcdFx0XHRyW20rK10gPSBwO1xuXHRcdFx0XHRcdFx0XHRoID0gMDtcblx0XHRcdFx0XHRcdFx0cCA9IDBcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdG4gXj0gdHJ1ZVxuXHRcdH1cblx0XHRpZiAobSAhPSBvLl9kcCkge1xuXHRcdFx0dGhyb3cgXCJFcnJvciBfZ2tcIlxuXHRcdH1cblx0XHRyZXR1cm4gclxuXHR9XG59XG52YXIgX2R4ID0ge307XG5fZHguX2dsID0gZnVuY3Rpb24oYSkge1xuXHRpZiAoYSA8IDAgfHwgYSA+IDcpIHtcblx0XHR0aHJvdyBcImJhZCBhcmd1bWVudHNcIlxuXHR9XG5cdHJldHVybiBfZHguX2R5W2FdXG59O1xuXG5mdW5jdGlvbiBfZmcoKSB7XG5cdHRoaXMuX2RqID0gZnVuY3Rpb24oYywgZCkge1xuXHRcdGZvciAodmFyIGIgPSAwOyBiIDwgZDsgYisrKSB7XG5cdFx0XHRmb3IgKHZhciBhID0gMDsgYSA8IGQ7IGErKykge1xuXHRcdFx0XHRpZiAodGhpcy5fZncoYiwgYSkpIHtcblx0XHRcdFx0XHRjLmZsaXAoYSwgYilcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fTtcblx0dGhpcy5fZncgPSBmdW5jdGlvbihiLCBhKSB7XG5cdFx0cmV0dXJuICgoYiArIGEpICYgMSkgPT0gMFxuXHR9XG59XG5cbmZ1bmN0aW9uIF9maCgpIHtcblx0dGhpcy5fZGogPSBmdW5jdGlvbihjLCBkKSB7XG5cdFx0Zm9yICh2YXIgYiA9IDA7IGIgPCBkOyBiKyspIHtcblx0XHRcdGZvciAodmFyIGEgPSAwOyBhIDwgZDsgYSsrKSB7XG5cdFx0XHRcdGlmICh0aGlzLl9mdyhiLCBhKSkge1xuXHRcdFx0XHRcdGMuZmxpcChhLCBiKVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXHR0aGlzLl9mdyA9IGZ1bmN0aW9uKGIsIGEpIHtcblx0XHRyZXR1cm4gKGIgJiAxKSA9PSAwXG5cdH1cbn1cblxuZnVuY3Rpb24gX2ZpKCkge1xuXHR0aGlzLl9kaiA9IGZ1bmN0aW9uKGMsIGQpIHtcblx0XHRmb3IgKHZhciBiID0gMDsgYiA8IGQ7IGIrKykge1xuXHRcdFx0Zm9yICh2YXIgYSA9IDA7IGEgPCBkOyBhKyspIHtcblx0XHRcdFx0aWYgKHRoaXMuX2Z3KGIsIGEpKSB7XG5cdFx0XHRcdFx0Yy5mbGlwKGEsIGIpXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH07XG5cdHRoaXMuX2Z3ID0gZnVuY3Rpb24oYiwgYSkge1xuXHRcdHJldHVybiBhICUgMyA9PSAwXG5cdH1cbn1cblxuZnVuY3Rpb24gX2ZqKCkge1xuXHR0aGlzLl9kaiA9IGZ1bmN0aW9uKGMsIGQpIHtcblx0XHRmb3IgKHZhciBiID0gMDsgYiA8IGQ7IGIrKykge1xuXHRcdFx0Zm9yICh2YXIgYSA9IDA7IGEgPCBkOyBhKyspIHtcblx0XHRcdFx0aWYgKHRoaXMuX2Z3KGIsIGEpKSB7XG5cdFx0XHRcdFx0Yy5mbGlwKGEsIGIpXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH07XG5cdHRoaXMuX2Z3ID0gZnVuY3Rpb24oYiwgYSkge1xuXHRcdHJldHVybiAoYiArIGEpICUgMyA9PSAwXG5cdH1cbn1cblxuZnVuY3Rpb24gX2ZrKCkge1xuXHR0aGlzLl9kaiA9IGZ1bmN0aW9uKGMsIGQpIHtcblx0XHRmb3IgKHZhciBiID0gMDsgYiA8IGQ7IGIrKykge1xuXHRcdFx0Zm9yICh2YXIgYSA9IDA7IGEgPCBkOyBhKyspIHtcblx0XHRcdFx0aWYgKHRoaXMuX2Z3KGIsIGEpKSB7XG5cdFx0XHRcdFx0Yy5mbGlwKGEsIGIpXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH07XG5cdHRoaXMuX2Z3ID0gZnVuY3Rpb24oYiwgYSkge1xuXHRcdHJldHVybiAoKChfZXcoYiwgMSkpICsgKGEgLyAzKSkgJiAxKSA9PSAwXG5cdH1cbn1cblxuZnVuY3Rpb24gX2ZsKCkge1xuXHR0aGlzLl9kaiA9IGZ1bmN0aW9uKGMsIGQpIHtcblx0XHRmb3IgKHZhciBiID0gMDsgYiA8IGQ7IGIrKykge1xuXHRcdFx0Zm9yICh2YXIgYSA9IDA7IGEgPCBkOyBhKyspIHtcblx0XHRcdFx0aWYgKHRoaXMuX2Z3KGIsIGEpKSB7XG5cdFx0XHRcdFx0Yy5mbGlwKGEsIGIpXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH07XG5cdHRoaXMuX2Z3ID0gZnVuY3Rpb24oYywgYikge1xuXHRcdHZhciBhID0gYyAqIGI7XG5cdFx0cmV0dXJuIChhICYgMSkgKyAoYSAlIDMpID09IDBcblx0fVxufVxuXG5mdW5jdGlvbiBfZm0oKSB7XG5cdHRoaXMuX2RqID0gZnVuY3Rpb24oYywgZCkge1xuXHRcdGZvciAodmFyIGIgPSAwOyBiIDwgZDsgYisrKSB7XG5cdFx0XHRmb3IgKHZhciBhID0gMDsgYSA8IGQ7IGErKykge1xuXHRcdFx0XHRpZiAodGhpcy5fZncoYiwgYSkpIHtcblx0XHRcdFx0XHRjLmZsaXAoYSwgYilcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fTtcblx0dGhpcy5fZncgPSBmdW5jdGlvbihjLCBiKSB7XG5cdFx0dmFyIGEgPSBjICogYjtcblx0XHRyZXR1cm4gKCgoYSAmIDEpICsgKGEgJSAzKSkgJiAxKSA9PSAwXG5cdH1cbn1cblxuZnVuY3Rpb24gX2ZuKCkge1xuXHR0aGlzLl9kaiA9IGZ1bmN0aW9uKGMsIGQpIHtcblx0XHRmb3IgKHZhciBiID0gMDsgYiA8IGQ7IGIrKykge1xuXHRcdFx0Zm9yICh2YXIgYSA9IDA7IGEgPCBkOyBhKyspIHtcblx0XHRcdFx0aWYgKHRoaXMuX2Z3KGIsIGEpKSB7XG5cdFx0XHRcdFx0Yy5mbGlwKGEsIGIpXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH07XG5cdHRoaXMuX2Z3ID0gZnVuY3Rpb24oYiwgYSkge1xuXHRcdHJldHVybiAoKCgoYiArIGEpICYgMSkgKyAoKGIgKiBhKSAlIDMpKSAmIDEpID09IDBcblx0fVxufVxuX2R4Ll9keSA9IG5ldyBBcnJheShuZXcgX2ZnKCksIG5ldyBfZmgoKSwgbmV3IF9maSgpLCBuZXcgX2ZqKCksIG5ldyBfZmsoKSwgbmV3IF9mbCgpLCBuZXcgX2ZtKCksIG5ldyBfZm4oKSk7XG5cbmZ1bmN0aW9uIF9kYihhKSB7XG5cdHRoaXMuX2ZhID0gYTtcblx0dGhpcy5kZWNvZGUgPSBmdW5jdGlvbihqLCBmKSB7XG5cdFx0dmFyIGMgPSBuZXcgX2JwKHRoaXMuX2ZhLCBqKTtcblx0XHR2YXIgcCA9IG5ldyBBcnJheShmKTtcblx0XHRmb3IgKHZhciBnID0gMDsgZyA8IHAubGVuZ3RoOyBnKyspIHtcblx0XHRcdHBbZ10gPSAwXG5cdFx0fVxuXHRcdHZhciBtID0gZmFsc2U7XG5cdFx0dmFyIGQgPSB0cnVlO1xuXHRcdGZvciAodmFyIGcgPSAwOyBnIDwgZjsgZysrKSB7XG5cdFx0XHR2YXIgcSA9IGMuZXZhbHVhdGVBdCh0aGlzLl9mYS5leHAobSA/IGcgKyAxIDogZykpO1xuXHRcdFx0cFtwLmxlbmd0aCAtIDEgLSBnXSA9IHE7XG5cdFx0XHRpZiAocSAhPSAwKSB7XG5cdFx0XHRcdGQgPSBmYWxzZVxuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoZCkge1xuXHRcdFx0cmV0dXJuXG5cdFx0fVxuXHRcdHZhciBiID0gbmV3IF9icCh0aGlzLl9mYSwgcCk7XG5cdFx0dmFyIGwgPSB0aGlzLl9lYih0aGlzLl9mYS5fYmEoZiwgMSksIGIsIGYpO1xuXHRcdHZhciBvID0gbFswXTtcblx0XHR2YXIgbiA9IGxbMV07XG5cdFx0dmFyIGsgPSB0aGlzLl9leShvKTtcblx0XHR2YXIgZSA9IHRoaXMuX2RpKG4sIGssIG0pO1xuXHRcdGZvciAodmFyIGcgPSAwOyBnIDwgay5sZW5ndGg7IGcrKykge1xuXHRcdFx0dmFyIGggPSBqLmxlbmd0aCAtIDEgLSB0aGlzLl9mYS5sb2coa1tnXSk7XG5cdFx0XHRpZiAoaCA8IDApIHtcblx0XHRcdFx0dGhyb3cgXCJSZWVkU29sb21vbkV4Y2VwdGlvbiBCYWQgZXJyb3IgbG9jYXRpb25cIlxuXHRcdFx0fVxuXHRcdFx0altoXSA9IF9hei5fYmQoaltoXSwgZVtnXSlcblx0XHR9XG5cdH07XG5cdHRoaXMuX2ViID0gZnVuY3Rpb24oeiwgeSwgZikge1xuXHRcdGlmICh6Ll9lYyA8IHkuX2VjKSB7XG5cdFx0XHR2YXIgdyA9IHo7XG5cdFx0XHR6ID0geTtcblx0XHRcdHkgPSB3XG5cdFx0fVxuXHRcdHZhciBCID0gejtcblx0XHR2YXIgayA9IHk7XG5cdFx0dmFyIG8gPSB0aGlzLl9mYS5PbmU7XG5cdFx0dmFyIGogPSB0aGlzLl9mYS5aZXJvO1xuXHRcdHZhciBlID0gdGhpcy5fZmEuWmVybztcblx0XHR2YXIgaSA9IHRoaXMuX2ZhLk9uZTtcblx0XHR3aGlsZSAoay5fZWMgPj0gTWF0aC5mbG9vcihmIC8gMikpIHtcblx0XHRcdHZhciB4ID0gQjtcblx0XHRcdHZhciBnID0gbztcblx0XHRcdHZhciB2ID0gZTtcblx0XHRcdEIgPSBrO1xuXHRcdFx0byA9IGo7XG5cdFx0XHRlID0gaTtcblx0XHRcdGlmIChCLlplcm8pIHtcblx0XHRcdFx0dGhyb3cgXCJyX3tpLTF9IHdhcyB6ZXJvXCJcblx0XHRcdH1cblx0XHRcdGsgPSB4O1xuXHRcdFx0dmFyIG0gPSB0aGlzLl9mYS5aZXJvO1xuXHRcdFx0dmFyIHAgPSBCLl9leChCLl9lYyk7XG5cdFx0XHR2YXIgaCA9IHRoaXMuX2ZhLmludmVyc2UocCk7XG5cdFx0XHR3aGlsZSAoay5fZWMgPj0gQi5fZWMgJiYgIWsuWmVybykge1xuXHRcdFx0XHR2YXIgYyA9IGsuX2VjIC0gQi5fZWM7XG5cdFx0XHRcdHZhciBBID0gdGhpcy5fZmEubXVsdGlwbHkoay5fZXgoay5fZWMpLCBoKTtcblx0XHRcdFx0bSA9IG0uX2JkKHRoaXMuX2ZhLl9iYShjLCBBKSk7XG5cdFx0XHRcdGsgPSBrLl9iZChCLl9kYyhjLCBBKSlcblx0XHRcdH1cblx0XHRcdGogPSBtLm11bHRpcGx5MShvKS5fYmQoZyk7XG5cdFx0XHRpID0gbS5tdWx0aXBseTEoZSkuX2JkKHYpXG5cdFx0fVxuXHRcdHZhciB1ID0gaS5fZXgoMCk7XG5cdFx0aWYgKHUgPT0gMCkge1xuXHRcdFx0dGhyb3cgXCJSZWVkU29sb21vbkV4Y2VwdGlvbiBzaWdtYVRpbGRlKDApIHdhcyB6ZXJvXCJcblx0XHR9XG5cdFx0dmFyIGQgPSB0aGlzLl9mYS5pbnZlcnNlKHUpO1xuXHRcdHZhciBuID0gaS5tdWx0aXBseTIoZCk7XG5cdFx0dmFyIGwgPSBrLm11bHRpcGx5MihkKTtcblx0XHRyZXR1cm4gbmV3IEFycmF5KG4sIGwpXG5cdH07XG5cdHRoaXMuX2V5ID0gZnVuY3Rpb24oZikge1xuXHRcdHZhciBnID0gZi5fZWM7XG5cdFx0aWYgKGcgPT0gMSkge1xuXHRcdFx0cmV0dXJuIG5ldyBBcnJheShmLl9leCgxKSlcblx0XHR9XG5cdFx0dmFyIGIgPSBuZXcgQXJyYXkoZyk7XG5cdFx0dmFyIGQgPSAwO1xuXHRcdGZvciAodmFyIGMgPSAxOyBjIDwgMjU2ICYmIGQgPCBnOyBjKyspIHtcblx0XHRcdGlmIChmLmV2YWx1YXRlQXQoYykgPT0gMCkge1xuXHRcdFx0XHRiW2RdID0gdGhpcy5fZmEuaW52ZXJzZShjKTtcblx0XHRcdFx0ZCsrXG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmIChkICE9IGcpIHtcblx0XHRcdHRocm93IFwiRXJyb3IgbG9jYXRvciBkZWdyZWUgZG9lcyBub3QgbWF0Y2ggbnVtYmVyIG9mIHJvb3RzXCJcblx0XHR9XG5cdFx0cmV0dXJuIGJcblx0fTtcblx0dGhpcy5fZGkgPSBmdW5jdGlvbihmLCBoLCBnKSB7XG5cdFx0dmFyIGsgPSBoLmxlbmd0aDtcblx0XHR2YXIgbCA9IG5ldyBBcnJheShrKTtcblx0XHRmb3IgKHZhciBlID0gMDsgZSA8IGs7IGUrKykge1xuXHRcdFx0dmFyIGIgPSB0aGlzLl9mYS5pbnZlcnNlKGhbZV0pO1xuXHRcdFx0dmFyIGMgPSAxO1xuXHRcdFx0Zm9yICh2YXIgZCA9IDA7IGQgPCBrOyBkKyspIHtcblx0XHRcdFx0aWYgKGUgIT0gZCkge1xuXHRcdFx0XHRcdGMgPSB0aGlzLl9mYS5tdWx0aXBseShjLCBfYXouX2JkKDEsIHRoaXMuX2ZhLm11bHRpcGx5KGhbZF0sIGIpKSlcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0bFtlXSA9IHRoaXMuX2ZhLm11bHRpcGx5KGYuZXZhbHVhdGVBdChiKSwgdGhpcy5fZmEuaW52ZXJzZShjKSk7XG5cdFx0XHRpZiAoZykge1xuXHRcdFx0XHRsW2VdID0gdGhpcy5fZmEubXVsdGlwbHkobFtlXSwgYilcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGxcblx0fVxufVxuXG5mdW5jdGlvbiBfYnAoZiwgZSkge1xuXHRpZiAoZSA9PSBudWxsIHx8IGUubGVuZ3RoID09IDApIHtcblx0XHR0aHJvdyBcImJhZCBhcmd1bWVudHNcIlxuXHR9XG5cdHRoaXMuX2ZhID0gZjtcblx0dmFyIGMgPSBlLmxlbmd0aDtcblx0aWYgKGMgPiAxICYmIGVbMF0gPT0gMCkge1xuXHRcdHZhciBkID0gMTtcblx0XHR3aGlsZSAoZCA8IGMgJiYgZVtkXSA9PSAwKSB7XG5cdFx0XHRkKytcblx0XHR9XG5cdFx0aWYgKGQgPT0gYykge1xuXHRcdFx0dGhpcy5fZGQgPSBmLlplcm8uX2RkXG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX2RkID0gbmV3IEFycmF5KGMgLSBkKTtcblx0XHRcdGZvciAodmFyIGIgPSAwOyBiIDwgdGhpcy5fZGQubGVuZ3RoOyBiKyspIHtcblx0XHRcdFx0dGhpcy5fZGRbYl0gPSAwXG5cdFx0XHR9XG5cdFx0XHRmb3IgKHZhciBhID0gMDsgYSA8IHRoaXMuX2RkLmxlbmd0aDsgYSsrKSB7XG5cdFx0XHRcdHRoaXMuX2RkW2FdID0gZVtkICsgYV1cblx0XHRcdH1cblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0dGhpcy5fZGQgPSBlXG5cdH1cblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiWmVyb1wiLCBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5fZGRbMF0gPT0gMFxuXHR9KTtcblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiX2VjXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLl9kZC5sZW5ndGggLSAxXG5cdH0pO1xuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJDb2VmZmljaWVudHNcIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2RkXG5cdH0pO1xuXHR0aGlzLl9leCA9IGZ1bmN0aW9uKGcpIHtcblx0XHRyZXR1cm4gdGhpcy5fZGRbdGhpcy5fZGQubGVuZ3RoIC0gMSAtIGddXG5cdH07XG5cdHRoaXMuZXZhbHVhdGVBdCA9IGZ1bmN0aW9uKGgpIHtcblx0XHRpZiAoaCA9PSAwKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fZXgoMClcblx0XHR9XG5cdFx0dmFyIGwgPSB0aGlzLl9kZC5sZW5ndGg7XG5cdFx0aWYgKGggPT0gMSkge1xuXHRcdFx0dmFyIGcgPSAwO1xuXHRcdFx0Zm9yICh2YXIgayA9IDA7IGsgPCBsOyBrKyspIHtcblx0XHRcdFx0ZyA9IF9hei5fYmQoZywgdGhpcy5fZGRba10pXG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gZ1xuXHRcdH1cblx0XHR2YXIgaiA9IHRoaXMuX2RkWzBdO1xuXHRcdGZvciAodmFyIGsgPSAxOyBrIDwgbDsgaysrKSB7XG5cdFx0XHRqID0gX2F6Ll9iZCh0aGlzLl9mYS5tdWx0aXBseShoLCBqKSwgdGhpcy5fZGRba10pXG5cdFx0fVxuXHRcdHJldHVybiBqXG5cdH07XG5cdHRoaXMuX2JkID0gZnVuY3Rpb24oZykge1xuXHRcdGlmICh0aGlzLl9mYSAhPSBnLl9mYSkge1xuXHRcdFx0dGhyb3cgXCJHRjI1NlBvbHlzIGRvIG5vdCBoYXZlIHNhbWUgX2F6IF9mYVwiXG5cdFx0fVxuXHRcdGlmICh0aGlzLlplcm8pIHtcblx0XHRcdHJldHVybiBnXG5cdFx0fVxuXHRcdGlmIChnLlplcm8pIHtcblx0XHRcdHJldHVybiB0aGlzXG5cdFx0fVxuXHRcdHZhciBvID0gdGhpcy5fZGQ7XG5cdFx0dmFyIG4gPSBnLl9kZDtcblx0XHRpZiAoby5sZW5ndGggPiBuLmxlbmd0aCkge1xuXHRcdFx0dmFyIGogPSBvO1xuXHRcdFx0byA9IG47XG5cdFx0XHRuID0galxuXHRcdH1cblx0XHR2YXIgaCA9IG5ldyBBcnJheShuLmxlbmd0aCk7XG5cdFx0dmFyIGsgPSBuLmxlbmd0aCAtIG8ubGVuZ3RoO1xuXHRcdGZvciAodmFyIG0gPSAwOyBtIDwgazsgbSsrKSB7XG5cdFx0XHRoW21dID0gblttXVxuXHRcdH1cblx0XHRmb3IgKHZhciBsID0gazsgbCA8IG4ubGVuZ3RoOyBsKyspIHtcblx0XHRcdGhbbF0gPSBfYXouX2JkKG9bbCAtIGtdLCBuW2xdKVxuXHRcdH1cblx0XHRyZXR1cm4gbmV3IF9icChmLCBoKVxuXHR9O1xuXHR0aGlzLm11bHRpcGx5MSA9IGZ1bmN0aW9uKG8pIHtcblx0XHRpZiAodGhpcy5fZmEgIT0gby5fZmEpIHtcblx0XHRcdHRocm93IFwiR0YyNTZQb2x5cyBkbyBub3QgaGF2ZSBzYW1lIF9heiBfZmFcIlxuXHRcdH1cblx0XHRpZiAodGhpcy5aZXJvIHx8IG8uWmVybykge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2ZhLlplcm9cblx0XHR9XG5cdFx0dmFyIHEgPSB0aGlzLl9kZDtcblx0XHR2YXIgZyA9IHEubGVuZ3RoO1xuXHRcdHZhciBsID0gby5fZGQ7XG5cdFx0dmFyIG4gPSBsLmxlbmd0aDtcblx0XHR2YXIgcCA9IG5ldyBBcnJheShnICsgbiAtIDEpO1xuXHRcdGZvciAodmFyIG0gPSAwOyBtIDwgZzsgbSsrKSB7XG5cdFx0XHR2YXIgaCA9IHFbbV07XG5cdFx0XHRmb3IgKHZhciBrID0gMDsgayA8IG47IGsrKykge1xuXHRcdFx0XHRwW20gKyBrXSA9IF9hei5fYmQocFttICsga10sIHRoaXMuX2ZhLm11bHRpcGx5KGgsIGxba10pKVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gbmV3IF9icCh0aGlzLl9mYSwgcClcblx0fTtcblx0dGhpcy5tdWx0aXBseTIgPSBmdW5jdGlvbihnKSB7XG5cdFx0aWYgKGcgPT0gMCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2ZhLlplcm9cblx0XHR9XG5cdFx0aWYgKGcgPT0gMSkge1xuXHRcdFx0cmV0dXJuIHRoaXNcblx0XHR9XG5cdFx0dmFyIGogPSB0aGlzLl9kZC5sZW5ndGg7XG5cdFx0dmFyIGsgPSBuZXcgQXJyYXkoaik7XG5cdFx0Zm9yICh2YXIgaCA9IDA7IGggPCBqOyBoKyspIHtcblx0XHRcdGtbaF0gPSB0aGlzLl9mYS5tdWx0aXBseSh0aGlzLl9kZFtoXSwgZylcblx0XHR9XG5cdFx0cmV0dXJuIG5ldyBfYnAodGhpcy5fZmEsIGspXG5cdH07XG5cdHRoaXMuX2RjID0gZnVuY3Rpb24obCwgZykge1xuXHRcdGlmIChsIDwgMCkge1xuXHRcdFx0dGhyb3cgXCJiYWQgYXJndW1lbnRzXCJcblx0XHR9XG5cdFx0aWYgKGcgPT0gMCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2ZhLlplcm9cblx0XHR9XG5cdFx0dmFyIGogPSB0aGlzLl9kZC5sZW5ndGg7XG5cdFx0dmFyIGsgPSBuZXcgQXJyYXkoaiArIGwpO1xuXHRcdGZvciAodmFyIGggPSAwOyBoIDwgay5sZW5ndGg7IGgrKykge1xuXHRcdFx0a1toXSA9IDBcblx0XHR9XG5cdFx0Zm9yICh2YXIgaCA9IDA7IGggPCBqOyBoKyspIHtcblx0XHRcdGtbaF0gPSB0aGlzLl9mYS5tdWx0aXBseSh0aGlzLl9kZFtoXSwgZylcblx0XHR9XG5cdFx0cmV0dXJuIG5ldyBfYnAodGhpcy5fZmEsIGspXG5cdH07XG5cdHRoaXMuZGl2aWRlID0gZnVuY3Rpb24obCkge1xuXHRcdGlmICh0aGlzLl9mYSAhPSBsLl9mYSkge1xuXHRcdFx0dGhyb3cgXCJHRjI1NlBvbHlzIGRvIG5vdCBoYXZlIHNhbWUgX2F6IF9mYVwiXG5cdFx0fVxuXHRcdGlmIChsLlplcm8pIHtcblx0XHRcdHRocm93IFwiRGl2aWRlIGJ5IDBcIlxuXHRcdH1cblx0XHR2YXIgaiA9IHRoaXMuX2ZhLlplcm87XG5cdFx0dmFyIG8gPSB0aGlzO1xuXHRcdHZhciBnID0gbC5fZXgobC5fZWMpO1xuXHRcdHZhciBuID0gdGhpcy5fZmEuaW52ZXJzZShnKTtcblx0XHR3aGlsZSAoby5fZWMgPj0gbC5fZWMgJiYgIW8uWmVybykge1xuXHRcdFx0dmFyIG0gPSBvLl9lYyAtIGwuX2VjO1xuXHRcdFx0dmFyIGggPSB0aGlzLl9mYS5tdWx0aXBseShvLl9leChvLl9lYyksIG4pO1xuXHRcdFx0dmFyIGkgPSBsLl9kYyhtLCBoKTtcblx0XHRcdHZhciBrID0gdGhpcy5fZmEuX2JhKG0sIGgpO1xuXHRcdFx0aiA9IGouX2JkKGspO1xuXHRcdFx0byA9IG8uX2JkKGkpXG5cdFx0fVxuXHRcdHJldHVybiBuZXcgQXJyYXkoaiwgbylcblx0fVxufVxuXG5mdW5jdGlvbiBfYXooYikge1xuXHR0aGlzLl9naCA9IG5ldyBBcnJheSgyNTYpO1xuXHR0aGlzLl9naSA9IG5ldyBBcnJheSgyNTYpO1xuXHR2YXIgYSA9IDE7XG5cdGZvciAodmFyIGUgPSAwOyBlIDwgMjU2OyBlKyspIHtcblx0XHR0aGlzLl9naFtlXSA9IGE7XG5cdFx0YSA8PD0gMTtcblx0XHRpZiAoYSA+PSAyNTYpIHtcblx0XHRcdGEgXj0gYlxuXHRcdH1cblx0fVxuXHRmb3IgKHZhciBlID0gMDsgZSA8IDI1NTsgZSsrKSB7XG5cdFx0dGhpcy5fZ2lbdGhpcy5fZ2hbZV1dID0gZVxuXHR9XG5cdHZhciBkID0gbmV3IEFycmF5KDEpO1xuXHRkWzBdID0gMDtcblx0dGhpcy56ZXJvID0gbmV3IF9icCh0aGlzLCBuZXcgQXJyYXkoZCkpO1xuXHR2YXIgYyA9IG5ldyBBcnJheSgxKTtcblx0Y1swXSA9IDE7XG5cdHRoaXMub25lID0gbmV3IF9icCh0aGlzLCBuZXcgQXJyYXkoYykpO1xuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJaZXJvXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLnplcm9cblx0fSk7XG5cdHRoaXMuX19kZWZpbmVHZXR0ZXJfXyhcIk9uZVwiLCBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5vbmVcblx0fSk7XG5cdHRoaXMuX2JhID0gZnVuY3Rpb24oaiwgZikge1xuXHRcdGlmIChqIDwgMCkge1xuXHRcdFx0dGhyb3cgXCJiYWQgYXJndW1lbnRzXCJcblx0XHR9XG5cdFx0aWYgKGYgPT0gMCkge1xuXHRcdFx0cmV0dXJuIHplcm9cblx0XHR9XG5cdFx0dmFyIGggPSBuZXcgQXJyYXkoaiArIDEpO1xuXHRcdGZvciAodmFyIGcgPSAwOyBnIDwgaC5sZW5ndGg7IGcrKykge1xuXHRcdFx0aFtnXSA9IDBcblx0XHR9XG5cdFx0aFswXSA9IGY7XG5cdFx0cmV0dXJuIG5ldyBfYnAodGhpcywgaClcblx0fTtcblx0dGhpcy5leHAgPSBmdW5jdGlvbihmKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2doW2ZdXG5cdH07XG5cdHRoaXMubG9nID0gZnVuY3Rpb24oZikge1xuXHRcdGlmIChmID09IDApIHtcblx0XHRcdHRocm93IFwiYmFkIGFyZ3VtZW50c1wiXG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLl9naVtmXVxuXHR9O1xuXHR0aGlzLmludmVyc2UgPSBmdW5jdGlvbihmKSB7XG5cdFx0aWYgKGYgPT0gMCkge1xuXHRcdFx0dGhyb3cgXCJTeXN0ZW0uQXJpdGhtZXRpY0V4Y2VwdGlvblwiXG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLl9naFsyNTUgLSB0aGlzLl9naVtmXV1cblx0fTtcblx0dGhpcy5tdWx0aXBseSA9IGZ1bmN0aW9uKGcsIGYpIHtcblx0XHRpZiAoZyA9PSAwIHx8IGYgPT0gMCkge1xuXHRcdFx0cmV0dXJuIDBcblx0XHR9XG5cdFx0aWYgKGcgPT0gMSkge1xuXHRcdFx0cmV0dXJuIGZcblx0XHR9XG5cdFx0aWYgKGYgPT0gMSkge1xuXHRcdFx0cmV0dXJuIGdcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuX2doWyh0aGlzLl9naVtnXSArIHRoaXMuX2dpW2ZdKSAlIDI1NV1cblx0fVxufVxuX2F6Ll9iYiA9IG5ldyBfYXooMjg1KTtcbl9hei5fYmMgPSBuZXcgX2F6KDMwMSk7XG5fYXouX2JkID0gZnVuY3Rpb24oZCwgYykge1xuXHRyZXR1cm4gZCBeIGNcbn07XG52YXIgRGVjb2RlciA9IHt9O1xuRGVjb2Rlci5yc0RlY29kZXIgPSBuZXcgX2RiKF9hei5fYmIpO1xuRGVjb2Rlci5jb3JyZWN0RXJyb3JzID0gZnVuY3Rpb24oZywgYikge1xuXHR2YXIgZCA9IGcubGVuZ3RoO1xuXHR2YXIgZiA9IG5ldyBBcnJheShkKTtcblx0Zm9yICh2YXIgZSA9IDA7IGUgPCBkOyBlKyspIHtcblx0XHRmW2VdID0gZ1tlXSAmIDI1NVxuXHR9XG5cdHZhciBhID0gZy5sZW5ndGggLSBiO1xuXHR0cnkge1xuXHRcdERlY29kZXIucnNEZWNvZGVyLmRlY29kZShmLCBhKVxuXHR9IGNhdGNoIChjKSB7XG5cdFx0dGhyb3cgY1xuXHR9XG5cdGZvciAodmFyIGUgPSAwOyBlIDwgYjsgZSsrKSB7XG5cdFx0Z1tlXSA9IGZbZV1cblx0fVxufTtcbkRlY29kZXIuZGVjb2RlID0gZnVuY3Rpb24ocSkge1xuXHR2YXIgYiA9IG5ldyBfY2wocSk7XG5cdHZhciBvID0gYi5fY3EoKTtcblx0dmFyIGMgPSBiLl9jbSgpLl9jZztcblx0dmFyIHAgPSBiLl9naygpO1xuXHR2YXIgYSA9IF9kbC5fZ24ocCwgbywgYyk7XG5cdHZhciBmID0gMDtcblx0Zm9yICh2YXIgayA9IDA7IGsgPCBhLmxlbmd0aDsgaysrKSB7XG5cdFx0ZiArPSBhW2tdLl9kdVxuXHR9XG5cdHZhciBlID0gbmV3IEFycmF5KGYpO1xuXHR2YXIgbiA9IDA7XG5cdGZvciAodmFyIGggPSAwOyBoIDwgYS5sZW5ndGg7IGgrKykge1xuXHRcdHZhciBtID0gYVtoXTtcblx0XHR2YXIgZCA9IG0uQ29kZXdvcmRzO1xuXHRcdHZhciBnID0gbS5fZHU7XG5cdFx0RGVjb2Rlci5jb3JyZWN0RXJyb3JzKGQsIGcpO1xuXHRcdGZvciAodmFyIGsgPSAwOyBrIDwgZzsgaysrKSB7XG5cdFx0XHRlW24rK10gPSBkW2tdXG5cdFx0fVxuXHR9XG5cdHZhciBsID0gbmV3IFFSQ29kZURhdGFCbG9ja1JlYWRlcihlLCBvLl9mZCwgYy5CaXRzKTtcblx0cmV0dXJuIGxcbn07XG52YXIgcXJjb2RlID0ge307XG5xcmNvZGUuaW1hZ2VkYXRhID0gbnVsbDtcbnFyY29kZS53aWR0aCA9IDA7XG5xcmNvZGUuaGVpZ2h0ID0gMDtcbnFyY29kZS5xckNvZGVTeW1ib2wgPSBudWxsO1xucXJjb2RlLmRlYnVnID0gZmFsc2U7XG5xcmNvZGUubWF4SW1nU2l6ZSA9IDEwMjQgKiAxMDI0O1xucXJjb2RlLl9lbyA9IFtcblx0WzEwLCA5LCA4LCA4XSxcblx0WzEyLCAxMSwgMTYsIDEwXSxcblx0WzE0LCAxMywgMTYsIDEyXVxuXTtcbnFyY29kZS5jYWxsYmFjayA9IG51bGw7XG5xcmNvZGUudmlkU3VjY2VzcyA9IGZ1bmN0aW9uKGEpIHtcblx0cXJjb2RlLmxvY2Fsc3RyZWFtID0gYTtcblx0aWYgKHFyY29kZS53ZWJraXQpIHtcblx0XHRxcmNvZGUudmlkZW8uc3JjID0gd2luZG93LndlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwoYSlcblx0fSBlbHNlIHtcblx0XHRpZiAocXJjb2RlLm1veikge1xuXHRcdFx0cXJjb2RlLnZpZGVvLm1velNyY09iamVjdCA9IGE7XG5cdFx0XHRxcmNvZGUudmlkZW8ucGxheSgpXG5cdFx0fSBlbHNlIHtcblx0XHRcdHFyY29kZS52aWRlby5zcmMgPSBhXG5cdFx0fVxuXHR9XG5cdHFyY29kZS5nVU0gPSB0cnVlO1xuXHRxcmNvZGUuY2FudmFzX3FyMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIik7XG5cdHFyY29kZS5jYW52YXNfcXIyLmlkID0gXCJxci1jYW52YXNcIjtcblx0cXJjb2RlLnFyY29udGV4dDIgPSBxcmNvZGUuY2FudmFzX3FyMi5nZXRDb250ZXh0KFwiMmRcIik7XG5cdHFyY29kZS5jYW52YXNfcXIyLndpZHRoID0gcXJjb2RlLnZpZGVvLnZpZGVvV2lkdGg7XG5cdHFyY29kZS5jYW52YXNfcXIyLmhlaWdodCA9IHFyY29kZS52aWRlby52aWRlb0hlaWdodDtcblx0c2V0VGltZW91dChxcmNvZGUuY2FwdHVyZVRvQ2FudmFzLCA1MDApXG59O1xucXJjb2RlLnZpZEVycm9yID0gZnVuY3Rpb24oYSkge1xuXHRxcmNvZGUuZ1VNID0gZmFsc2U7XG5cdHJldHVyblxufTtcbnFyY29kZS5jYXB0dXJlVG9DYW52YXMgPSBmdW5jdGlvbigpIHtcblx0aWYgKHFyY29kZS5nVU0pIHtcblx0XHR0cnkge1xuXHRcdFx0aWYgKHFyY29kZS52aWRlby52aWRlb1dpZHRoID09IDApIHtcblx0XHRcdFx0c2V0VGltZW91dChxcmNvZGUuY2FwdHVyZVRvQ2FudmFzLCA1MDApO1xuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHFyY29kZS5jYW52YXNfcXIyLndpZHRoID0gcXJjb2RlLnZpZGVvLnZpZGVvV2lkdGg7XG5cdFx0XHRcdHFyY29kZS5jYW52YXNfcXIyLmhlaWdodCA9IHFyY29kZS52aWRlby52aWRlb0hlaWdodFxuXHRcdFx0fVxuXHRcdFx0cXJjb2RlLnFyY29udGV4dDIuZHJhd0ltYWdlKHFyY29kZS52aWRlbywgMCwgMCk7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRxcmNvZGUuZGVjb2RlKClcblx0XHRcdH0gY2F0Y2ggKGEpIHtcblx0XHRcdFx0Y29uc29sZS5sb2coYSk7XG5cdFx0XHRcdHNldFRpbWVvdXQocXJjb2RlLmNhcHR1cmVUb0NhbnZhcywgNTAwKVxuXHRcdFx0fVxuXHRcdH0gY2F0Y2ggKGEpIHtcblx0XHRcdGNvbnNvbGUubG9nKGEpO1xuXHRcdFx0c2V0VGltZW91dChxcmNvZGUuY2FwdHVyZVRvQ2FudmFzLCA1MDApXG5cdFx0fVxuXHR9XG59O1xucXJjb2RlLnNldFdlYmNhbSA9IGZ1bmN0aW9uKGMpIHtcblx0dmFyIGQgPSBuYXZpZ2F0b3I7XG5cdHFyY29kZS52aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGMpO1xuXHR2YXIgYSA9IHRydWU7XG5cdGlmIChuYXZpZ2F0b3IubWVkaWFEZXZpY2VzICYmIG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcykge1xuXHRcdHRyeSB7XG5cdFx0XHRuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKS50aGVuKGZ1bmN0aW9uKGUpIHtcblx0XHRcdFx0ZS5mb3JFYWNoKGZ1bmN0aW9uKGYpIHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhcImRlYjFcIik7XG5cdFx0XHRcdFx0aWYgKGYua2luZCA9PT0gXCJ2aWRlb2lucHV0XCIpIHtcblx0XHRcdFx0XHRcdGlmIChmLmxhYmVsLnRvTG93ZXJDYXNlKCkuc2VhcmNoKFwiYmFja1wiKSA+IC0xKSB7XG5cdFx0XHRcdFx0XHRcdGEgPSBbe1xuXHRcdFx0XHRcdFx0XHRcdHNvdXJjZUlkOiBmLmRldmljZUlkXG5cdFx0XHRcdFx0XHRcdH1dXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGYua2luZCArIFwiOiBcIiArIGYubGFiZWwgKyBcIiBpZCA9IFwiICsgZi5kZXZpY2VJZClcblx0XHRcdFx0fSlcblx0XHRcdH0pXG5cdFx0fSBjYXRjaCAoYikge1xuXHRcdFx0Y29uc29sZS5sb2coYilcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0Y29uc29sZS5sb2coXCJubyBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXNcIilcblx0fVxuXHRpZiAoZC5nZXRVc2VyTWVkaWEpIHtcblx0XHRkLmdldFVzZXJNZWRpYSh7XG5cdFx0XHR2aWRlbzogYSxcblx0XHRcdGF1ZGlvOiBmYWxzZVxuXHRcdH0sIHFyY29kZS52aWRTdWNjZXNzLCBxcmNvZGUudmlkRXJyb3IpXG5cdH0gZWxzZSB7XG5cdFx0aWYgKGQud2Via2l0R2V0VXNlck1lZGlhKSB7XG5cdFx0XHRxcmNvZGUud2Via2l0ID0gdHJ1ZTtcblx0XHRcdGQud2Via2l0R2V0VXNlck1lZGlhKHtcblx0XHRcdFx0dmlkZW86IGEsXG5cdFx0XHRcdGF1ZGlvOiBmYWxzZVxuXHRcdFx0fSwgcXJjb2RlLnZpZFN1Y2Nlc3MsIHFyY29kZS52aWRFcnJvcilcblx0XHR9IGVsc2Uge1xuXHRcdFx0aWYgKGQubW96R2V0VXNlck1lZGlhKSB7XG5cdFx0XHRcdHFyY29kZS5tb3ogPSB0cnVlO1xuXHRcdFx0XHRkLm1vekdldFVzZXJNZWRpYSh7XG5cdFx0XHRcdFx0dmlkZW86IGEsXG5cdFx0XHRcdFx0YXVkaW86IGZhbHNlXG5cdFx0XHRcdH0sIHFyY29kZS52aWRTdWNjZXNzLCBxcmNvZGUudmlkRXJyb3IpXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59O1xucXJjb2RlLmRlY29kZSA9IGZ1bmN0aW9uKGQpIHtcblx0aWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMCkge1xuXHRcdGlmIChxcmNvZGUuY2FudmFzX3FyMikge1xuXHRcdFx0dmFyIGIgPSBxcmNvZGUuY2FudmFzX3FyMjtcblx0XHRcdHZhciBhID0gcXJjb2RlLnFyY29udGV4dDJcblx0XHR9IGVsc2Uge1xuXHRcdFx0dmFyIGIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInFyLWNhbnZhc1wiKTtcblx0XHRcdHZhciBhID0gYi5nZXRDb250ZXh0KFwiMmRcIilcblx0XHR9XG5cdFx0cXJjb2RlLndpZHRoID0gYi53aWR0aDtcblx0XHRxcmNvZGUuaGVpZ2h0ID0gYi5oZWlnaHQ7XG5cdFx0cXJjb2RlLmltYWdlZGF0YSA9IGEuZ2V0SW1hZ2VEYXRhKDAsIDAsIHFyY29kZS53aWR0aCwgcXJjb2RlLmhlaWdodCk7XG5cdFx0cXJjb2RlLnJlc3VsdCA9IHFyY29kZS5wcm9jZXNzKGEpO1xuXHRcdGlmIChxcmNvZGUuY2FsbGJhY2sgIT0gbnVsbCkge1xuXHRcdFx0cXJjb2RlLmNhbGxiYWNrKHFyY29kZS5yZXN1bHQpXG5cdFx0fVxuXHRcdHJldHVybiBxcmNvZGUucmVzdWx0XG5cdH0gZWxzZSB7XG5cdFx0dmFyIGMgPSBuZXcgSW1hZ2UoKTtcblx0XHRjLmNyb3NzT3JpZ2luID0gXCJBbm9ueW1vdXNcIjtcblx0XHRjLm9ubG9hZCA9IGZ1bmN0aW9uKCkge1xuXHRcdFx0dmFyIGcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIm91dC1jYW52YXNcIik7XG5cdFx0XHRpZiAoZyAhPSBudWxsKSB7XG5cdFx0XHRcdHZhciBqID0gZy5nZXRDb250ZXh0KFwiMmRcIik7XG5cdFx0XHRcdGouY2xlYXJSZWN0KDAsIDAsIDMyMCwgMjQwKTtcblx0XHRcdFx0ai5kcmF3SW1hZ2UoYywgMCwgMCwgMzIwLCAyNDApXG5cdFx0XHR9XG5cdFx0XHR2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIik7XG5cdFx0XHR2YXIgaCA9IGkuZ2V0Q29udGV4dChcIjJkXCIpO1xuXHRcdFx0dmFyIGYgPSBjLmhlaWdodDtcblx0XHRcdHZhciBsID0gYy53aWR0aDtcblx0XHRcdGlmIChjLndpZHRoICogYy5oZWlnaHQgPiBxcmNvZGUubWF4SW1nU2l6ZSkge1xuXHRcdFx0XHR2YXIgayA9IGMud2lkdGggLyBjLmhlaWdodDtcblx0XHRcdFx0ZiA9IE1hdGguc3FydChxcmNvZGUubWF4SW1nU2l6ZSAvIGspO1xuXHRcdFx0XHRsID0gayAqIGZcblx0XHRcdH1cblx0XHRcdGkud2lkdGggPSBsO1xuXHRcdFx0aS5oZWlnaHQgPSBmO1xuXHRcdFx0aC5kcmF3SW1hZ2UoYywgMCwgMCwgaS53aWR0aCwgaS5oZWlnaHQpO1xuXHRcdFx0cXJjb2RlLndpZHRoID0gaS53aWR0aDtcblx0XHRcdHFyY29kZS5oZWlnaHQgPSBpLmhlaWdodDtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdHFyY29kZS5pbWFnZWRhdGEgPSBoLmdldEltYWdlRGF0YSgwLCAwLCBpLndpZHRoLCBpLmhlaWdodClcblx0XHRcdH0gY2F0Y2ggKG0pIHtcblx0XHRcdFx0cXJjb2RlLnJlc3VsdCA9XG5cdFx0XHRcdFx0XCJDcm9zcyBkb21haW4gaW1hZ2UgcmVhZGluZyBub3Qgc3VwcG9ydGVkIGluIHlvdXIgYnJvd3NlciEgU2F2ZSBpdCB0byB5b3VyIGNvbXB1dGVyIHRoZW4gZHJhZyBhbmQgZHJvcCB0aGUgZmlsZSFcIjtcblx0XHRcdFx0aWYgKHFyY29kZS5jYWxsYmFjayAhPSBudWxsKSB7XG5cdFx0XHRcdFx0cXJjb2RlLmNhbGxiYWNrKHFyY29kZS5yZXN1bHQpXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRxcmNvZGUucmVzdWx0ID0gcXJjb2RlLnByb2Nlc3MoaClcblx0XHRcdH0gY2F0Y2ggKG0pIHtcblx0XHRcdFx0Y29uc29sZS5sb2cobSk7XG5cdFx0XHRcdHFyY29kZS5yZXN1bHQgPSBcImVycm9yIGRlY29kaW5nIFFSIENvZGVcIlxuXHRcdFx0fVxuXHRcdFx0aWYgKHFyY29kZS5jYWxsYmFjayAhPSBudWxsKSB7XG5cdFx0XHRcdHFyY29kZS5jYWxsYmFjayhxcmNvZGUucmVzdWx0KVxuXHRcdFx0fVxuXHRcdH07XG5cdFx0Yy5vbmVycm9yID0gZnVuY3Rpb24oKSB7XG5cdFx0XHRpZiAocXJjb2RlLmNhbGxiYWNrICE9IG51bGwpIHtcblx0XHRcdFx0cXJjb2RlLmNhbGxiYWNrKFwiRmFpbGVkIHRvIGxvYWQgdGhlIGltYWdlXCIpXG5cdFx0XHR9XG5cdFx0fTtcblx0XHRjLnNyYyA9IGRcblx0fVxufTtcbnFyY29kZS5pc1VybCA9IGZ1bmN0aW9uKGEpIHtcblx0dmFyIGIgPSAvKGZ0cHxodHRwfGh0dHBzKTpcXC9cXC8oXFx3Kzp7MCwxfVxcdypAKT8oXFxTKykoOlswLTldKyk/KFxcL3xcXC8oW1xcdyMhOi4/Kz0mJUAhXFwtXFwvXSkpPy87XG5cdHJldHVybiBiLnRlc3QoYSlcbn07XG5xcmNvZGUuZGVjb2RlX3VybCA9IGZ1bmN0aW9uKGIpIHtcblx0dmFyIGQgPSBcIlwiO1xuXHR0cnkge1xuXHRcdGQgPSBlc2NhcGUoYilcblx0fSBjYXRjaCAoYykge1xuXHRcdGNvbnNvbGUubG9nKGMpO1xuXHRcdGQgPSBiXG5cdH1cblx0dmFyIGEgPSBcIlwiO1xuXHR0cnkge1xuXHRcdGEgPSBkZWNvZGVVUklDb21wb25lbnQoZClcblx0fSBjYXRjaCAoYykge1xuXHRcdGNvbnNvbGUubG9nKGMpO1xuXHRcdGEgPSBkXG5cdH1cblx0cmV0dXJuIGFcbn07XG5xcmNvZGUuZGVjb2RlX3V0ZjggPSBmdW5jdGlvbihhKSB7XG5cdGlmIChxcmNvZGUuaXNVcmwoYSkpIHtcblx0XHRyZXR1cm4gcXJjb2RlLmRlY29kZV91cmwoYSlcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gYVxuXHR9XG59O1xucXJjb2RlLnByb2Nlc3MgPSBmdW5jdGlvbihxKSB7XG5cdHZhciBhID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cdHZhciBjID0gcXJjb2RlLmdyYXlTY2FsZVRvQml0bWFwKHFyY29kZS5ncmF5c2NhbGUoKSk7XG5cdGlmIChxcmNvZGUuZGVidWcpIHtcblx0XHRmb3IgKHZhciBtID0gMDsgbSA8IHFyY29kZS5oZWlnaHQ7IG0rKykge1xuXHRcdFx0Zm9yICh2YXIgbiA9IDA7IG4gPCBxcmNvZGUud2lkdGg7IG4rKykge1xuXHRcdFx0XHR2YXIgbyA9IChuICogNCkgKyAobSAqIHFyY29kZS53aWR0aCAqIDQpO1xuXHRcdFx0XHRxcmNvZGUuaW1hZ2VkYXRhLmRhdGFbb10gPSBjW24gKyBtICogcXJjb2RlLndpZHRoXSA/IDAgOiAwO1xuXHRcdFx0XHRxcmNvZGUuaW1hZ2VkYXRhLmRhdGFbbyArIDFdID0gY1tuICsgbSAqIHFyY29kZS53aWR0aF0gPyAwIDogMDtcblx0XHRcdFx0cXJjb2RlLmltYWdlZGF0YS5kYXRhW28gKyAyXSA9IGNbbiArIG0gKiBxcmNvZGUud2lkdGhdID8gMjU1IDogMFxuXHRcdFx0fVxuXHRcdH1cblx0XHRxLnB1dEltYWdlRGF0YShxcmNvZGUuaW1hZ2VkYXRhLCAwLCAwKVxuXHR9XG5cdHZhciBoID0gbmV3IERldGVjdG9yKGMpO1xuXHR2YXIgcCA9IGguZGV0ZWN0KCk7XG5cdGlmIChxcmNvZGUuZGVidWcpIHtcblx0XHRmb3IgKHZhciBtID0gMDsgbSA8IHAuYml0cy5IZWlnaHQ7IG0rKykge1xuXHRcdFx0Zm9yICh2YXIgbiA9IDA7IG4gPCBwLmJpdHMuV2lkdGg7IG4rKykge1xuXHRcdFx0XHR2YXIgbyA9IChuICogNCAqIDIpICsgKG0gKiAyICogcXJjb2RlLndpZHRoICogNCk7XG5cdFx0XHRcdHFyY29kZS5pbWFnZWRhdGEuZGF0YVtvXSA9IHAuYml0cy5fZHMobiwgbSkgPyAwIDogMDtcblx0XHRcdFx0cXJjb2RlLmltYWdlZGF0YS5kYXRhW28gKyAxXSA9IHAuYml0cy5fZHMobiwgbSkgPyAwIDogMDtcblx0XHRcdFx0cXJjb2RlLmltYWdlZGF0YS5kYXRhW28gKyAyXSA9IHAuYml0cy5fZHMobiwgbSkgPyAyNTUgOiAwXG5cdFx0XHR9XG5cdFx0fVxuXHRcdHEucHV0SW1hZ2VEYXRhKHFyY29kZS5pbWFnZWRhdGEsIDAsIDApXG5cdH1cblx0dmFyIGsgPSBEZWNvZGVyLmRlY29kZShwLmJpdHMpO1xuXHR2YXIgZyA9IGsuRGF0YUJ5dGU7XG5cdHZhciBsID0gXCJcIjtcblx0Zm9yICh2YXIgZiA9IDA7IGYgPCBnLmxlbmd0aDsgZisrKSB7XG5cdFx0Zm9yICh2YXIgZSA9IDA7IGUgPCBnW2ZdLmxlbmd0aDsgZSsrKSB7XG5cdFx0XHRsICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoZ1tmXVtlXSlcblx0XHR9XG5cdH1cblx0dmFyIGQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblx0dmFyIGIgPSBkIC0gYTtcblx0Y29uc29sZS5sb2coYik7XG5cdHJldHVybiBxcmNvZGUuZGVjb2RlX3V0ZjgobClcbn07XG5xcmNvZGUuZ2V0UGl4ZWwgPSBmdW5jdGlvbihiLCBkKSB7XG5cdGlmIChxcmNvZGUud2lkdGggPCBiKSB7XG5cdFx0dGhyb3cgXCJwb2ludCBlcnJvclwiXG5cdH1cblx0aWYgKHFyY29kZS5oZWlnaHQgPCBkKSB7XG5cdFx0dGhyb3cgXCJwb2ludCBlcnJvclwiXG5cdH1cblx0dmFyIGEgPSAoYiAqIDQpICsgKGQgKiBxcmNvZGUud2lkdGggKiA0KTtcblx0dmFyIGMgPSAocXJjb2RlLmltYWdlZGF0YS5kYXRhW2FdICogMzMgKyBxcmNvZGUuaW1hZ2VkYXRhLmRhdGFbYSArIDFdICogMzQgKyBxcmNvZGUuaW1hZ2VkYXRhLmRhdGFbYSArIDJdICpcblx0XHQzMykgLyAxMDA7XG5cdHJldHVybiBjXG59O1xucXJjb2RlLmJpbmFyaXplID0gZnVuY3Rpb24oZCkge1xuXHR2YXIgYyA9IG5ldyBBcnJheShxcmNvZGUud2lkdGggKiBxcmNvZGUuaGVpZ2h0KTtcblx0Zm9yICh2YXIgZSA9IDA7IGUgPCBxcmNvZGUuaGVpZ2h0OyBlKyspIHtcblx0XHRmb3IgKHZhciBiID0gMDsgYiA8IHFyY29kZS53aWR0aDsgYisrKSB7XG5cdFx0XHR2YXIgYSA9IHFyY29kZS5nZXRQaXhlbChiLCBlKTtcblx0XHRcdGNbYiArIGUgKiBxcmNvZGUud2lkdGhdID0gYSA8PSBkID8gdHJ1ZSA6IGZhbHNlXG5cdFx0fVxuXHR9XG5cdHJldHVybiBjXG59O1xucXJjb2RlLl9lbSA9IGZ1bmN0aW9uKGQpIHtcblx0dmFyIGMgPSA0O1xuXHR2YXIgayA9IE1hdGguZmxvb3IocXJjb2RlLndpZHRoIC8gYyk7XG5cdHZhciBqID0gTWF0aC5mbG9vcihxcmNvZGUuaGVpZ2h0IC8gYyk7XG5cdHZhciBmID0gbmV3IEFycmF5KGMpO1xuXHRmb3IgKHZhciBnID0gMDsgZyA8IGM7IGcrKykge1xuXHRcdGZbZ10gPSBuZXcgQXJyYXkoYyk7XG5cdFx0Zm9yICh2YXIgZSA9IDA7IGUgPCBjOyBlKyspIHtcblx0XHRcdGZbZ11bZV0gPSBuZXcgQXJyYXkoMCwgMClcblx0XHR9XG5cdH1cblx0Zm9yICh2YXIgbyA9IDA7IG8gPCBjOyBvKyspIHtcblx0XHRmb3IgKHZhciBhID0gMDsgYSA8IGM7IGErKykge1xuXHRcdFx0ZlthXVtvXVswXSA9IDI1NTtcblx0XHRcdGZvciAodmFyIGwgPSAwOyBsIDwgajsgbCsrKSB7XG5cdFx0XHRcdGZvciAodmFyIG4gPSAwOyBuIDwgazsgbisrKSB7XG5cdFx0XHRcdFx0dmFyIGggPSBkW2sgKiBhICsgbiArIChqICogbyArIGwpICogcXJjb2RlLndpZHRoXTtcblx0XHRcdFx0XHRpZiAoaCA8IGZbYV1bb11bMF0pIHtcblx0XHRcdFx0XHRcdGZbYV1bb11bMF0gPSBoXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChoID4gZlthXVtvXVsxXSkge1xuXHRcdFx0XHRcdFx0ZlthXVtvXVsxXSA9IGhcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0dmFyIG0gPSBuZXcgQXJyYXkoYyk7XG5cdGZvciAodmFyIGIgPSAwOyBiIDwgYzsgYisrKSB7XG5cdFx0bVtiXSA9IG5ldyBBcnJheShjKVxuXHR9XG5cdGZvciAodmFyIG8gPSAwOyBvIDwgYzsgbysrKSB7XG5cdFx0Zm9yICh2YXIgYSA9IDA7IGEgPCBjOyBhKyspIHtcblx0XHRcdG1bYV1bb10gPSBNYXRoLmZsb29yKChmW2FdW29dWzBdICsgZlthXVtvXVsxXSkgLyAyKVxuXHRcdH1cblx0fVxuXHRyZXR1cm4gbVxufTtcbnFyY29kZS5ncmF5U2NhbGVUb0JpdG1hcCA9IGZ1bmN0aW9uKGYpIHtcblx0dmFyIGsgPSBxcmNvZGUuX2VtKGYpO1xuXHR2YXIgYiA9IGsubGVuZ3RoO1xuXHR2YXIgZSA9IE1hdGguZmxvb3IocXJjb2RlLndpZHRoIC8gYik7XG5cdHZhciBkID0gTWF0aC5mbG9vcihxcmNvZGUuaGVpZ2h0IC8gYik7XG5cdHZhciBoID0gbmV3IEFycmF5QnVmZmVyKHFyY29kZS53aWR0aCAqIHFyY29kZS5oZWlnaHQpO1xuXHR2YXIgYyA9IG5ldyBVaW50OEFycmF5KGgpO1xuXHRmb3IgKHZhciBqID0gMDsgaiA8IGI7IGorKykge1xuXHRcdGZvciAodmFyIGEgPSAwOyBhIDwgYjsgYSsrKSB7XG5cdFx0XHRmb3IgKHZhciBnID0gMDsgZyA8IGQ7IGcrKykge1xuXHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGU7IGkrKykge1xuXHRcdFx0XHRcdGNbZSAqIGEgKyBpICsgKGQgKiBqICsgZykgKiBxcmNvZGUud2lkdGhdID0gKGZbZSAqIGEgKyBpICsgKGQgKiBqICsgZykgKiBxcmNvZGUud2lkdGhdIDwga1thXVtcblx0XHRcdFx0XHRcdGpdKSA/IHRydWUgOiBmYWxzZVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiBjXG59O1xucXJjb2RlLmdyYXlzY2FsZSA9IGZ1bmN0aW9uKCkge1xuXHR2YXIgZSA9IG5ldyBBcnJheUJ1ZmZlcihxcmNvZGUud2lkdGggKiBxcmNvZGUuaGVpZ2h0KTtcblx0dmFyIGMgPSBuZXcgVWludDhBcnJheShlKTtcblx0Zm9yICh2YXIgZCA9IDA7IGQgPCBxcmNvZGUuaGVpZ2h0OyBkKyspIHtcblx0XHRmb3IgKHZhciBiID0gMDsgYiA8IHFyY29kZS53aWR0aDsgYisrKSB7XG5cdFx0XHR2YXIgYSA9IHFyY29kZS5nZXRQaXhlbChiLCBkKTtcblx0XHRcdGNbYiArIGQgKiBxcmNvZGUud2lkdGhdID0gYVxuXHRcdH1cblx0fVxuXHRyZXR1cm4gY1xufTtcblxuZnVuY3Rpb24gX2V3KGEsIGIpIHtcblx0aWYgKGEgPj0gMCkge1xuXHRcdHJldHVybiBhID4+IGJcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gKGEgPj4gYikgKyAoMiA8PCB+Yilcblx0fVxufVxudmFyIF9nZiA9IDM7XG52YXIgX2VoID0gNTc7XG52YXIgX2VsID0gODtcbnZhciBfZWcgPSAyO1xucXJjb2RlLl9lciA9IGZ1bmN0aW9uKGMpIHtcblx0ZnVuY3Rpb24gYihtLCBrKSB7XG5cdFx0dmFyIG4gPSBtLlggLSBrLlg7XG5cdFx0dmFyIGwgPSBtLlkgLSBrLlk7XG5cdFx0cmV0dXJuIE1hdGguc3FydCgobiAqIG4gKyBsICogbCkpXG5cdH1cblxuXHRmdW5jdGlvbiBkKGssIG8sIG4pIHtcblx0XHR2YXIgbSA9IG8ueDtcblx0XHR2YXIgbCA9IG8ueTtcblx0XHRyZXR1cm4gKChuLnggLSBtKSAqIChrLnkgLSBsKSkgLSAoKG4ueSAtIGwpICogKGsueCAtIG0pKVxuXHR9XG5cdHZhciBpID0gYihjWzBdLCBjWzFdKTtcblx0dmFyIGYgPSBiKGNbMV0sIGNbMl0pO1xuXHR2YXIgZSA9IGIoY1swXSwgY1syXSk7XG5cdHZhciBhLCBqLCBoO1xuXHRpZiAoZiA+PSBpICYmIGYgPj0gZSkge1xuXHRcdGogPSBjWzBdO1xuXHRcdGEgPSBjWzFdO1xuXHRcdGggPSBjWzJdXG5cdH0gZWxzZSB7XG5cdFx0aWYgKGUgPj0gZiAmJiBlID49IGkpIHtcblx0XHRcdGogPSBjWzFdO1xuXHRcdFx0YSA9IGNbMF07XG5cdFx0XHRoID0gY1syXVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRqID0gY1syXTtcblx0XHRcdGEgPSBjWzBdO1xuXHRcdFx0aCA9IGNbMV1cblx0XHR9XG5cdH1cblx0aWYgKGQoYSwgaiwgaCkgPCAwKSB7XG5cdFx0dmFyIGcgPSBhO1xuXHRcdGEgPSBoO1xuXHRcdGggPSBnXG5cdH1cblx0Y1swXSA9IGE7XG5cdGNbMV0gPSBqO1xuXHRjWzJdID0gaFxufTtcblxuZnVuY3Rpb24gX2N6KGMsIGEsIGIpIHtcblx0dGhpcy54ID0gYztcblx0dGhpcy55ID0gYTtcblx0dGhpcy5jb3VudCA9IDE7XG5cdHRoaXMuX2FqID0gYjtcblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiX2VpXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLl9halxuXHR9KTtcblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiQ291bnRcIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuY291bnRcblx0fSk7XG5cdHRoaXMuX19kZWZpbmVHZXR0ZXJfXyhcIlhcIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMueFxuXHR9KTtcblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiWVwiLCBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy55XG5cdH0pO1xuXHR0aGlzLl9layA9IGZ1bmN0aW9uKCkge1xuXHRcdHRoaXMuY291bnQrK1xuXHR9O1xuXHR0aGlzLl9ldiA9IGZ1bmN0aW9uKGYsIGUsIGQpIHtcblx0XHRpZiAoTWF0aC5hYnMoZSAtIHRoaXMueSkgPD0gZiAmJiBNYXRoLmFicyhkIC0gdGhpcy54KSA8PSBmKSB7XG5cdFx0XHR2YXIgZyA9IE1hdGguYWJzKGYgLSB0aGlzLl9haik7XG5cdFx0XHRyZXR1cm4gZyA8PSAxIHx8IGcgLyB0aGlzLl9haiA8PSAxXG5cdFx0fVxuXHRcdHJldHVybiBmYWxzZVxuXHR9XG59XG5cbmZ1bmN0aW9uIF9lcyhhKSB7XG5cdHRoaXMuX2dvID0gYVswXTtcblx0dGhpcy5fZ3UgPSBhWzFdO1xuXHR0aGlzLl9nciA9IGFbMl07XG5cdHRoaXMuX19kZWZpbmVHZXR0ZXJfXyhcIl9ncFwiLCBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5fZ29cblx0fSk7XG5cdHRoaXMuX19kZWZpbmVHZXR0ZXJfXyhcIl9ncVwiLCBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5fZ3Vcblx0fSk7XG5cdHRoaXMuX19kZWZpbmVHZXR0ZXJfXyhcIl9nc1wiLCBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5fZ3Jcblx0fSlcbn1cblxuZnVuY3Rpb24gX2NjKCkge1xuXHR0aGlzLmltYWdlID0gbnVsbDtcblx0dGhpcy5fY3YgPSBbXTtcblx0dGhpcy5fZ2UgPSBmYWxzZTtcblx0dGhpcy5fYWwgPSBuZXcgQXJyYXkoMCwgMCwgMCwgMCwgMCk7XG5cdHRoaXMuX2FtID0gbnVsbDtcblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiX2RhXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHRoaXMuX2FsWzBdID0gMDtcblx0XHR0aGlzLl9hbFsxXSA9IDA7XG5cdFx0dGhpcy5fYWxbMl0gPSAwO1xuXHRcdHRoaXMuX2FsWzNdID0gMDtcblx0XHR0aGlzLl9hbFs0XSA9IDA7XG5cdFx0cmV0dXJuIHRoaXMuX2FsXG5cdH0pO1xuXHR0aGlzLl9hbyA9IGZ1bmN0aW9uKGYpIHtcblx0XHR2YXIgYiA9IDA7XG5cdFx0Zm9yICh2YXIgZCA9IDA7IGQgPCA1OyBkKyspIHtcblx0XHRcdHZhciBlID0gZltkXTtcblx0XHRcdGlmIChlID09IDApIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHR9XG5cdFx0XHRiICs9IGVcblx0XHR9XG5cdFx0aWYgKGIgPCA3KSB7XG5cdFx0XHRyZXR1cm4gZmFsc2Vcblx0XHR9XG5cdFx0dmFyIGMgPSBNYXRoLmZsb29yKChiIDw8IF9lbCkgLyA3KTtcblx0XHR2YXIgYSA9IE1hdGguZmxvb3IoYyAvIDIpO1xuXHRcdHJldHVybiBNYXRoLmFicyhjIC0gKGZbMF0gPDwgX2VsKSkgPCBhICYmIE1hdGguYWJzKGMgLSAoZlsxXSA8PCBfZWwpKSA8IGEgJiYgTWF0aC5hYnMoMyAqIGMgLSAoZlsyXSA8PFxuXHRcdFx0X2VsKSkgPCAzICogYSAmJiBNYXRoLmFicyhjIC0gKGZbM10gPDwgX2VsKSkgPCBhICYmIE1hdGguYWJzKGMgLSAoZls0XSA8PCBfZWwpKSA8IGFcblx0fTtcblx0dGhpcy5fYW4gPSBmdW5jdGlvbihiLCBhKSB7XG5cdFx0cmV0dXJuIChhIC0gYls0XSAtIGJbM10pIC0gYlsyXSAvIDJcblx0fTtcblx0dGhpcy5fYXAgPSBmdW5jdGlvbihhLCBqLCBkLCBnKSB7XG5cdFx0dmFyIGMgPSB0aGlzLmltYWdlO1xuXHRcdHZhciBoID0gcXJjb2RlLmhlaWdodDtcblx0XHR2YXIgYiA9IHRoaXMuX2RhO1xuXHRcdHZhciBmID0gYTtcblx0XHR3aGlsZSAoZiA+PSAwICYmIGNbaiArIGYgKiBxcmNvZGUud2lkdGhdKSB7XG5cdFx0XHRiWzJdKys7XG5cdFx0XHRmLS1cblx0XHR9XG5cdFx0aWYgKGYgPCAwKSB7XG5cdFx0XHRyZXR1cm4gTmFOXG5cdFx0fVxuXHRcdHdoaWxlIChmID49IDAgJiYgIWNbaiArIGYgKiBxcmNvZGUud2lkdGhdICYmIGJbMV0gPD0gZCkge1xuXHRcdFx0YlsxXSsrO1xuXHRcdFx0Zi0tXG5cdFx0fVxuXHRcdGlmIChmIDwgMCB8fCBiWzFdID4gZCkge1xuXHRcdFx0cmV0dXJuIE5hTlxuXHRcdH1cblx0XHR3aGlsZSAoZiA+PSAwICYmIGNbaiArIGYgKiBxcmNvZGUud2lkdGhdICYmIGJbMF0gPD0gZCkge1xuXHRcdFx0YlswXSsrO1xuXHRcdFx0Zi0tXG5cdFx0fVxuXHRcdGlmIChiWzBdID4gZCkge1xuXHRcdFx0cmV0dXJuIE5hTlxuXHRcdH1cblx0XHRmID0gYSArIDE7XG5cdFx0d2hpbGUgKGYgPCBoICYmIGNbaiArIGYgKiBxcmNvZGUud2lkdGhdKSB7XG5cdFx0XHRiWzJdKys7XG5cdFx0XHRmKytcblx0XHR9XG5cdFx0aWYgKGYgPT0gaCkge1xuXHRcdFx0cmV0dXJuIE5hTlxuXHRcdH1cblx0XHR3aGlsZSAoZiA8IGggJiYgIWNbaiArIGYgKiBxcmNvZGUud2lkdGhdICYmIGJbM10gPCBkKSB7XG5cdFx0XHRiWzNdKys7XG5cdFx0XHRmKytcblx0XHR9XG5cdFx0aWYgKGYgPT0gaCB8fCBiWzNdID49IGQpIHtcblx0XHRcdHJldHVybiBOYU5cblx0XHR9XG5cdFx0d2hpbGUgKGYgPCBoICYmIGNbaiArIGYgKiBxcmNvZGUud2lkdGhdICYmIGJbNF0gPCBkKSB7XG5cdFx0XHRiWzRdKys7XG5cdFx0XHRmKytcblx0XHR9XG5cdFx0aWYgKGJbNF0gPj0gZCkge1xuXHRcdFx0cmV0dXJuIE5hTlxuXHRcdH1cblx0XHR2YXIgZSA9IGJbMF0gKyBiWzFdICsgYlsyXSArIGJbM10gKyBiWzRdO1xuXHRcdGlmICg1ICogTWF0aC5hYnMoZSAtIGcpID49IDIgKiBnKSB7XG5cdFx0XHRyZXR1cm4gTmFOXG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLl9hbyhiKSA/IHRoaXMuX2FuKGIsIGYpIDogTmFOXG5cdH07XG5cdHRoaXMuX2VqID0gZnVuY3Rpb24oYiwgYSwgZSwgaCkge1xuXHRcdHZhciBkID0gdGhpcy5pbWFnZTtcblx0XHR2YXIgaSA9IHFyY29kZS53aWR0aDtcblx0XHR2YXIgYyA9IHRoaXMuX2RhO1xuXHRcdHZhciBnID0gYjtcblx0XHR3aGlsZSAoZyA+PSAwICYmIGRbZyArIGEgKiBxcmNvZGUud2lkdGhdKSB7XG5cdFx0XHRjWzJdKys7XG5cdFx0XHRnLS1cblx0XHR9XG5cdFx0aWYgKGcgPCAwKSB7XG5cdFx0XHRyZXR1cm4gTmFOXG5cdFx0fVxuXHRcdHdoaWxlIChnID49IDAgJiYgIWRbZyArIGEgKiBxcmNvZGUud2lkdGhdICYmIGNbMV0gPD0gZSkge1xuXHRcdFx0Y1sxXSsrO1xuXHRcdFx0Zy0tXG5cdFx0fVxuXHRcdGlmIChnIDwgMCB8fCBjWzFdID4gZSkge1xuXHRcdFx0cmV0dXJuIE5hTlxuXHRcdH1cblx0XHR3aGlsZSAoZyA+PSAwICYmIGRbZyArIGEgKiBxcmNvZGUud2lkdGhdICYmIGNbMF0gPD0gZSkge1xuXHRcdFx0Y1swXSsrO1xuXHRcdFx0Zy0tXG5cdFx0fVxuXHRcdGlmIChjWzBdID4gZSkge1xuXHRcdFx0cmV0dXJuIE5hTlxuXHRcdH1cblx0XHRnID0gYiArIDE7XG5cdFx0d2hpbGUgKGcgPCBpICYmIGRbZyArIGEgKiBxcmNvZGUud2lkdGhdKSB7XG5cdFx0XHRjWzJdKys7XG5cdFx0XHRnKytcblx0XHR9XG5cdFx0aWYgKGcgPT0gaSkge1xuXHRcdFx0cmV0dXJuIE5hTlxuXHRcdH1cblx0XHR3aGlsZSAoZyA8IGkgJiYgIWRbZyArIGEgKiBxcmNvZGUud2lkdGhdICYmIGNbM10gPCBlKSB7XG5cdFx0XHRjWzNdKys7XG5cdFx0XHRnKytcblx0XHR9XG5cdFx0aWYgKGcgPT0gaSB8fCBjWzNdID49IGUpIHtcblx0XHRcdHJldHVybiBOYU5cblx0XHR9XG5cdFx0d2hpbGUgKGcgPCBpICYmIGRbZyArIGEgKiBxcmNvZGUud2lkdGhdICYmIGNbNF0gPCBlKSB7XG5cdFx0XHRjWzRdKys7XG5cdFx0XHRnKytcblx0XHR9XG5cdFx0aWYgKGNbNF0gPj0gZSkge1xuXHRcdFx0cmV0dXJuIE5hTlxuXHRcdH1cblx0XHR2YXIgZiA9IGNbMF0gKyBjWzFdICsgY1syXSArIGNbM10gKyBjWzRdO1xuXHRcdGlmICg1ICogTWF0aC5hYnMoZiAtIGgpID49IGgpIHtcblx0XHRcdHJldHVybiBOYU5cblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuX2FvKGMpID8gdGhpcy5fYW4oYywgZykgOiBOYU5cblx0fTtcblx0dGhpcy5fY3UgPSBmdW5jdGlvbihjLCBmLCBlKSB7XG5cdFx0dmFyIGQgPSBjWzBdICsgY1sxXSArIGNbMl0gKyBjWzNdICsgY1s0XTtcblx0XHR2YXIgbiA9IHRoaXMuX2FuKGMsIGUpO1xuXHRcdHZhciBiID0gdGhpcy5fYXAoZiwgTWF0aC5mbG9vcihuKSwgY1syXSwgZCk7XG5cdFx0aWYgKCFpc05hTihiKSkge1xuXHRcdFx0biA9IHRoaXMuX2VqKE1hdGguZmxvb3IobiksIE1hdGguZmxvb3IoYiksIGNbMl0sIGQpO1xuXHRcdFx0aWYgKCFpc05hTihuKSkge1xuXHRcdFx0XHR2YXIgbCA9IGQgLyA3O1xuXHRcdFx0XHR2YXIgbSA9IGZhbHNlO1xuXHRcdFx0XHR2YXIgaCA9IHRoaXMuX2N2Lmxlbmd0aDtcblx0XHRcdFx0Zm9yICh2YXIgZyA9IDA7IGcgPCBoOyBnKyspIHtcblx0XHRcdFx0XHR2YXIgYSA9IHRoaXMuX2N2W2ddO1xuXHRcdFx0XHRcdGlmIChhLl9ldihsLCBiLCBuKSkge1xuXHRcdFx0XHRcdFx0YS5fZWsoKTtcblx0XHRcdFx0XHRcdG0gPSB0cnVlO1xuXHRcdFx0XHRcdFx0YnJlYWtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKCFtKSB7XG5cdFx0XHRcdFx0dmFyIGsgPSBuZXcgX2N6KG4sIGIsIGwpO1xuXHRcdFx0XHRcdHRoaXMuX2N2LnB1c2goayk7XG5cdFx0XHRcdFx0aWYgKHRoaXMuX2FtICE9IG51bGwpIHtcblx0XHRcdFx0XHRcdHRoaXMuX2FtLl9lcChrKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdHJ1ZVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2Vcblx0fTtcblx0dGhpcy5fZWUgPSBmdW5jdGlvbigpIHtcblx0XHR2YXIgaCA9IHRoaXMuX2N2Lmxlbmd0aDtcblx0XHRpZiAoaCA8IDMpIHtcblx0XHRcdHRocm93IFwiQ291bGRuJ3QgZmluZCBlbm91Z2ggZmluZGVyIHBhdHRlcm5zIChmb3VuZCBcIiArIGggKyBcIilcIlxuXHRcdH1cblx0XHRpZiAoaCA+IDMpIHtcblx0XHRcdHZhciBiID0gMDtcblx0XHRcdHZhciBqID0gMDtcblx0XHRcdGZvciAodmFyIGQgPSAwOyBkIDwgaDsgZCsrKSB7XG5cdFx0XHRcdHZhciBnID0gdGhpcy5fY3ZbZF0uX2VpO1xuXHRcdFx0XHRiICs9IGc7XG5cdFx0XHRcdGogKz0gKGcgKiBnKVxuXHRcdFx0fVxuXHRcdFx0dmFyIGEgPSBiIC8gaDtcblx0XHRcdHRoaXMuX2N2LnNvcnQoZnVuY3Rpb24obSwgbCkge1xuXHRcdFx0XHR2YXIgayA9IE1hdGguYWJzKGwuX2VpIC0gYSk7XG5cdFx0XHRcdHZhciBpID0gTWF0aC5hYnMobS5fZWkgLSBhKTtcblx0XHRcdFx0aWYgKGsgPCBpKSB7XG5cdFx0XHRcdFx0cmV0dXJuICgtMSlcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRpZiAoayA9PSBpKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gMFxuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gMVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHR2YXIgZSA9IE1hdGguc3FydChqIC8gaCAtIGEgKiBhKTtcblx0XHRcdHZhciBjID0gTWF0aC5tYXgoMC4yICogYSwgZSk7XG5cdFx0XHRmb3IgKHZhciBkID0gdGhpcy5fY3YubGVuZ3RoIC0gMTsgZCA+PSAwOyBkLS0pIHtcblx0XHRcdFx0dmFyIGYgPSB0aGlzLl9jdltkXTtcblx0XHRcdFx0aWYgKE1hdGguYWJzKGYuX2VpIC0gYSkgPiBjKSB7XG5cdFx0XHRcdFx0dGhpcy5fY3Yuc3BsaWNlKGQsIDEpXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0aWYgKHRoaXMuX2N2Lmxlbmd0aCA+IDMpIHtcblx0XHRcdHRoaXMuX2N2LnNvcnQoZnVuY3Rpb24oaywgaSkge1xuXHRcdFx0XHRpZiAoay5jb3VudCA+IGkuY291bnQpIHtcblx0XHRcdFx0XHRyZXR1cm4gLTFcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoay5jb3VudCA8IGkuY291bnQpIHtcblx0XHRcdFx0XHRyZXR1cm4gMVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiAwXG5cdFx0XHR9KVxuXHRcdH1cblx0XHRyZXR1cm4gbmV3IEFycmF5KHRoaXMuX2N2WzBdLCB0aGlzLl9jdlsxXSwgdGhpcy5fY3ZbMl0pXG5cdH07XG5cdHRoaXMuX2VxID0gZnVuY3Rpb24oKSB7XG5cdFx0dmFyIGIgPSB0aGlzLl9jdi5sZW5ndGg7XG5cdFx0aWYgKGIgPD0gMSkge1xuXHRcdFx0cmV0dXJuIDBcblx0XHR9XG5cdFx0dmFyIGMgPSBudWxsO1xuXHRcdGZvciAodmFyIGQgPSAwOyBkIDwgYjsgZCsrKSB7XG5cdFx0XHR2YXIgYSA9IHRoaXMuX2N2W2RdO1xuXHRcdFx0aWYgKGEuQ291bnQgPj0gX2VnKSB7XG5cdFx0XHRcdGlmIChjID09IG51bGwpIHtcblx0XHRcdFx0XHRjID0gYVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMuX2dlID0gdHJ1ZTtcblx0XHRcdFx0XHRyZXR1cm4gTWF0aC5mbG9vcigoTWF0aC5hYnMoYy5YIC0gYS5YKSAtIE1hdGguYWJzKGMuWSAtIGEuWSkpIC8gMilcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gMFxuXHR9O1xuXHR0aGlzLl9jeCA9IGZ1bmN0aW9uKCkge1xuXHRcdHZhciBnID0gMDtcblx0XHR2YXIgYyA9IDA7XG5cdFx0dmFyIGEgPSB0aGlzLl9jdi5sZW5ndGg7XG5cdFx0Zm9yICh2YXIgZCA9IDA7IGQgPCBhOyBkKyspIHtcblx0XHRcdHZhciBmID0gdGhpcy5fY3ZbZF07XG5cdFx0XHRpZiAoZi5Db3VudCA+PSBfZWcpIHtcblx0XHRcdFx0ZysrO1xuXHRcdFx0XHRjICs9IGYuX2VpXG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmIChnIDwgMykge1xuXHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0fVxuXHRcdHZhciBlID0gYyAvIGE7XG5cdFx0dmFyIGIgPSAwO1xuXHRcdGZvciAodmFyIGQgPSAwOyBkIDwgYTsgZCsrKSB7XG5cdFx0XHRmID0gdGhpcy5fY3ZbZF07XG5cdFx0XHRiICs9IE1hdGguYWJzKGYuX2VpIC0gZSlcblx0XHR9XG5cdFx0cmV0dXJuIGIgPD0gMC4wNSAqIGNcblx0fTtcblx0dGhpcy5fY2UgPSBmdW5jdGlvbihlKSB7XG5cdFx0dmFyIG8gPSBmYWxzZTtcblx0XHR0aGlzLmltYWdlID0gZTtcblx0XHR2YXIgbiA9IHFyY29kZS5oZWlnaHQ7XG5cdFx0dmFyIGsgPSBxcmNvZGUud2lkdGg7XG5cdFx0dmFyIGEgPSBNYXRoLmZsb29yKCgzICogbikgLyAoNCAqIF9laCkpO1xuXHRcdGlmIChhIDwgX2dmIHx8IG8pIHtcblx0XHRcdGEgPSBfZ2Zcblx0XHR9XG5cdFx0dmFyIGcgPSBmYWxzZTtcblx0XHR2YXIgZCA9IG5ldyBBcnJheSg1KTtcblx0XHRmb3IgKHZhciBoID0gYSAtIDE7IGggPCBuICYmICFnOyBoICs9IGEpIHtcblx0XHRcdGRbMF0gPSAwO1xuXHRcdFx0ZFsxXSA9IDA7XG5cdFx0XHRkWzJdID0gMDtcblx0XHRcdGRbM10gPSAwO1xuXHRcdFx0ZFs0XSA9IDA7XG5cdFx0XHR2YXIgYiA9IDA7XG5cdFx0XHRmb3IgKHZhciBmID0gMDsgZiA8IGs7IGYrKykge1xuXHRcdFx0XHRpZiAoZVtmICsgaCAqIHFyY29kZS53aWR0aF0pIHtcblx0XHRcdFx0XHRpZiAoKGIgJiAxKSA9PSAxKSB7XG5cdFx0XHRcdFx0XHRiKytcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ZFtiXSsrXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0aWYgKChiICYgMSkgPT0gMCkge1xuXHRcdFx0XHRcdFx0aWYgKGIgPT0gNCkge1xuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5fYW8oZCkpIHtcblx0XHRcdFx0XHRcdFx0XHR2YXIgYyA9IHRoaXMuX2N1KGQsIGgsIGYpO1xuXHRcdFx0XHRcdFx0XHRcdGlmIChjKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRhID0gMjtcblx0XHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLl9nZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRnID0gdGhpcy5fY3goKVxuXHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIG0gPSB0aGlzLl9lcSgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAobSA+IGRbMl0pIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRoICs9IG0gLSBkWzJdIC0gYTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmID0gayAtIDFcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRkbyB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGYrK1xuXHRcdFx0XHRcdFx0XHRcdFx0fSB3aGlsZSAoZiA8IGsgJiYgIWVbZiArIGggKiBxcmNvZGUud2lkdGhdKTtcblx0XHRcdFx0XHRcdFx0XHRcdGYtLVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRiID0gMDtcblx0XHRcdFx0XHRcdFx0XHRkWzBdID0gMDtcblx0XHRcdFx0XHRcdFx0XHRkWzFdID0gMDtcblx0XHRcdFx0XHRcdFx0XHRkWzJdID0gMDtcblx0XHRcdFx0XHRcdFx0XHRkWzNdID0gMDtcblx0XHRcdFx0XHRcdFx0XHRkWzRdID0gMFxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdGRbMF0gPSBkWzJdO1xuXHRcdFx0XHRcdFx0XHRcdGRbMV0gPSBkWzNdO1xuXHRcdFx0XHRcdFx0XHRcdGRbMl0gPSBkWzRdO1xuXHRcdFx0XHRcdFx0XHRcdGRbM10gPSAxO1xuXHRcdFx0XHRcdFx0XHRcdGRbNF0gPSAwO1xuXHRcdFx0XHRcdFx0XHRcdGIgPSAzXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdGRbKytiXSsrXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdGRbYl0rK1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHRoaXMuX2FvKGQpKSB7XG5cdFx0XHRcdHZhciBjID0gdGhpcy5fY3UoZCwgaCwgayk7XG5cdFx0XHRcdGlmIChjKSB7XG5cdFx0XHRcdFx0YSA9IGRbMF07XG5cdFx0XHRcdFx0aWYgKHRoaXMuX2dlKSB7XG5cdFx0XHRcdFx0XHRnID0gX2N4KClcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0dmFyIGwgPSB0aGlzLl9lZSgpO1xuXHRcdHFyY29kZS5fZXIobCk7XG5cdFx0cmV0dXJuIG5ldyBfZXMobClcblx0fVxufVxuXG5mdW5jdGlvbiBfYWkoYywgYSwgYikge1xuXHR0aGlzLnggPSBjO1xuXHR0aGlzLnkgPSBhO1xuXHR0aGlzLmNvdW50ID0gMTtcblx0dGhpcy5fYWogPSBiO1xuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJfZWlcIiwgZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2FqXG5cdH0pO1xuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJDb3VudFwiLCBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5jb3VudFxuXHR9KTtcblx0dGhpcy5fX2RlZmluZUdldHRlcl9fKFwiWFwiLCBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gTWF0aC5mbG9vcih0aGlzLngpXG5cdH0pO1xuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJZXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiBNYXRoLmZsb29yKHRoaXMueSlcblx0fSk7XG5cdHRoaXMuX2VrID0gZnVuY3Rpb24oKSB7XG5cdFx0dGhpcy5jb3VudCsrXG5cdH07XG5cdHRoaXMuX2V2ID0gZnVuY3Rpb24oZiwgZSwgZCkge1xuXHRcdGlmIChNYXRoLmFicyhlIC0gdGhpcy55KSA8PSBmICYmIE1hdGguYWJzKGQgLSB0aGlzLngpIDw9IGYpIHtcblx0XHRcdHZhciBnID0gTWF0aC5hYnMoZiAtIHRoaXMuX2FqKTtcblx0XHRcdHJldHVybiBnIDw9IDEgfHwgZyAvIHRoaXMuX2FqIDw9IDFcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlXG5cdH1cbn1cblxuZnVuY3Rpb24gX2FrKGcsIGMsIGIsIGYsIGEsIGUsIGQpIHtcblx0dGhpcy5pbWFnZSA9IGc7XG5cdHRoaXMuX2N2ID0gbmV3IEFycmF5KCk7XG5cdHRoaXMuc3RhcnRYID0gYztcblx0dGhpcy5zdGFydFkgPSBiO1xuXHR0aGlzLndpZHRoID0gZjtcblx0dGhpcy5oZWlnaHQgPSBhO1xuXHR0aGlzLl9lZiA9IGU7XG5cdHRoaXMuX2FsID0gbmV3IEFycmF5KDAsIDAsIDApO1xuXHR0aGlzLl9hbSA9IGQ7XG5cdHRoaXMuX2FuID0gZnVuY3Rpb24oaSwgaCkge1xuXHRcdHJldHVybiAoaCAtIGlbMl0pIC0gaVsxXSAvIDJcblx0fTtcblx0dGhpcy5fYW8gPSBmdW5jdGlvbihsKSB7XG5cdFx0dmFyIGsgPSB0aGlzLl9lZjtcblx0XHR2YXIgaCA9IGsgLyAyO1xuXHRcdGZvciAodmFyIGogPSAwOyBqIDwgMzsgaisrKSB7XG5cdFx0XHRpZiAoTWF0aC5hYnMoayAtIGxbal0pID49IGgpIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB0cnVlXG5cdH07XG5cdHRoaXMuX2FwID0gZnVuY3Rpb24oaCwgcSwgbCwgbykge1xuXHRcdHZhciBrID0gdGhpcy5pbWFnZTtcblx0XHR2YXIgcCA9IHFyY29kZS5oZWlnaHQ7XG5cdFx0dmFyIGogPSB0aGlzLl9hbDtcblx0XHRqWzBdID0gMDtcblx0XHRqWzFdID0gMDtcblx0XHRqWzJdID0gMDtcblx0XHR2YXIgbiA9IGg7XG5cdFx0d2hpbGUgKG4gPj0gMCAmJiBrW3EgKyBuICogcXJjb2RlLndpZHRoXSAmJiBqWzFdIDw9IGwpIHtcblx0XHRcdGpbMV0rKztcblx0XHRcdG4tLVxuXHRcdH1cblx0XHRpZiAobiA8IDAgfHwgalsxXSA+IGwpIHtcblx0XHRcdHJldHVybiBOYU5cblx0XHR9XG5cdFx0d2hpbGUgKG4gPj0gMCAmJiAha1txICsgbiAqIHFyY29kZS53aWR0aF0gJiYgalswXSA8PSBsKSB7XG5cdFx0XHRqWzBdKys7XG5cdFx0XHRuLS1cblx0XHR9XG5cdFx0aWYgKGpbMF0gPiBsKSB7XG5cdFx0XHRyZXR1cm4gTmFOXG5cdFx0fVxuXHRcdG4gPSBoICsgMTtcblx0XHR3aGlsZSAobiA8IHAgJiYga1txICsgbiAqIHFyY29kZS53aWR0aF0gJiYgalsxXSA8PSBsKSB7XG5cdFx0XHRqWzFdKys7XG5cdFx0XHRuKytcblx0XHR9XG5cdFx0aWYgKG4gPT0gcCB8fCBqWzFdID4gbCkge1xuXHRcdFx0cmV0dXJuIE5hTlxuXHRcdH1cblx0XHR3aGlsZSAobiA8IHAgJiYgIWtbcSArIG4gKiBxcmNvZGUud2lkdGhdICYmIGpbMl0gPD0gbCkge1xuXHRcdFx0alsyXSsrO1xuXHRcdFx0bisrXG5cdFx0fVxuXHRcdGlmIChqWzJdID4gbCkge1xuXHRcdFx0cmV0dXJuIE5hTlxuXHRcdH1cblx0XHR2YXIgbSA9IGpbMF0gKyBqWzFdICsgalsyXTtcblx0XHRpZiAoNSAqIE1hdGguYWJzKG0gLSBvKSA+PSAyICogbykge1xuXHRcdFx0cmV0dXJuIE5hTlxuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5fYW8oaikgPyB0aGlzLl9hbihqLCBuKSA6IE5hTlxuXHR9O1xuXHR0aGlzLl9jdSA9IGZ1bmN0aW9uKGwsIG8sIG4pIHtcblx0XHR2YXIgbSA9IGxbMF0gKyBsWzFdICsgbFsyXTtcblx0XHR2YXIgdCA9IHRoaXMuX2FuKGwsIG4pO1xuXHRcdHZhciBrID0gdGhpcy5fYXAobywgTWF0aC5mbG9vcih0KSwgMiAqIGxbMV0sIG0pO1xuXHRcdGlmICghaXNOYU4oaykpIHtcblx0XHRcdHZhciBzID0gKGxbMF0gKyBsWzFdICsgbFsyXSkgLyAzO1xuXHRcdFx0dmFyIHEgPSB0aGlzLl9jdi5sZW5ndGg7XG5cdFx0XHRmb3IgKHZhciBwID0gMDsgcCA8IHE7IHArKykge1xuXHRcdFx0XHR2YXIgaCA9IHRoaXMuX2N2W3BdO1xuXHRcdFx0XHRpZiAoaC5fZXYocywgaywgdCkpIHtcblx0XHRcdFx0XHRyZXR1cm4gbmV3IF9haSh0LCBrLCBzKVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHR2YXIgciA9IG5ldyBfYWkodCwgaywgcyk7XG5cdFx0XHR0aGlzLl9jdi5wdXNoKHIpO1xuXHRcdFx0aWYgKHRoaXMuX2FtICE9IG51bGwpIHtcblx0XHRcdFx0dGhpcy5fYW0uX2VwKHIpXG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBudWxsXG5cdH07XG5cdHRoaXMuZmluZCA9IGZ1bmN0aW9uKCkge1xuXHRcdHZhciBwID0gdGhpcy5zdGFydFg7XG5cdFx0dmFyIHMgPSB0aGlzLmhlaWdodDtcblx0XHR2YXIgcSA9IHAgKyBmO1xuXHRcdHZhciByID0gYiArIChzID4+IDEpO1xuXHRcdHZhciBtID0gbmV3IEFycmF5KDAsIDAsIDApO1xuXHRcdGZvciAodmFyIGsgPSAwOyBrIDwgczsgaysrKSB7XG5cdFx0XHR2YXIgbyA9IHIgKyAoKGsgJiAxKSA9PSAwID8gKChrICsgMSkgPj4gMSkgOiAtKChrICsgMSkgPj4gMSkpO1xuXHRcdFx0bVswXSA9IDA7XG5cdFx0XHRtWzFdID0gMDtcblx0XHRcdG1bMl0gPSAwO1xuXHRcdFx0dmFyIG4gPSBwO1xuXHRcdFx0d2hpbGUgKG4gPCBxICYmICFnW24gKyBxcmNvZGUud2lkdGggKiBvXSkge1xuXHRcdFx0XHRuKytcblx0XHRcdH1cblx0XHRcdHZhciBoID0gMDtcblx0XHRcdHdoaWxlIChuIDwgcSkge1xuXHRcdFx0XHRpZiAoZ1tuICsgbyAqIHFyY29kZS53aWR0aF0pIHtcblx0XHRcdFx0XHRpZiAoaCA9PSAxKSB7XG5cdFx0XHRcdFx0XHRtW2hdKytcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0aWYgKGggPT0gMikge1xuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5fYW8obSkpIHtcblx0XHRcdFx0XHRcdFx0XHR2YXIgbCA9IHRoaXMuX2N1KG0sIG8sIG4pO1xuXHRcdFx0XHRcdFx0XHRcdGlmIChsICE9IG51bGwpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBsXG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdG1bMF0gPSBtWzJdO1xuXHRcdFx0XHRcdFx0XHRtWzFdID0gMTtcblx0XHRcdFx0XHRcdFx0bVsyXSA9IDA7XG5cdFx0XHRcdFx0XHRcdGggPSAxXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRtWysraF0rK1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRpZiAoaCA9PSAxKSB7XG5cdFx0XHRcdFx0XHRoKytcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0bVtoXSsrXG5cdFx0XHRcdH1cblx0XHRcdFx0bisrXG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy5fYW8obSkpIHtcblx0XHRcdFx0dmFyIGwgPSB0aGlzLl9jdShtLCBvLCBxKTtcblx0XHRcdFx0aWYgKGwgIT0gbnVsbCkge1xuXHRcdFx0XHRcdHJldHVybiBsXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0aWYgKCEodGhpcy5fY3YubGVuZ3RoID09IDApKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fY3ZbMF1cblx0XHR9XG5cdFx0dGhyb3cgXCJDb3VsZG4ndCBmaW5kIGVub3VnaCBhbGlnbm1lbnQgcGF0dGVybnNcIlxuXHR9XG59XG5cbmZ1bmN0aW9uIFFSQ29kZURhdGFCbG9ja1JlYWRlcihjLCBhLCBiKSB7XG5cdHRoaXMuX2VkID0gMDtcblx0dGhpcy5fY3cgPSA3O1xuXHR0aGlzLmRhdGFMZW5ndGggPSAwO1xuXHR0aGlzLmJsb2NrcyA9IGM7XG5cdHRoaXMuX2VuID0gYjtcblx0aWYgKGEgPD0gOSkge1xuXHRcdHRoaXMuZGF0YUxlbmd0aE1vZGUgPSAwXG5cdH0gZWxzZSB7XG5cdFx0aWYgKGEgPj0gMTAgJiYgYSA8PSAyNikge1xuXHRcdFx0dGhpcy5kYXRhTGVuZ3RoTW9kZSA9IDFcblx0XHR9IGVsc2Uge1xuXHRcdFx0aWYgKGEgPj0gMjcgJiYgYSA8PSA0MCkge1xuXHRcdFx0XHR0aGlzLmRhdGFMZW5ndGhNb2RlID0gMlxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHR0aGlzLl9nZCA9IGZ1bmN0aW9uKGYpIHtcblx0XHR2YXIgayA9IDA7XG5cdFx0aWYgKGYgPCB0aGlzLl9jdyArIDEpIHtcblx0XHRcdHZhciBtID0gMDtcblx0XHRcdGZvciAodmFyIGUgPSAwOyBlIDwgZjsgZSsrKSB7XG5cdFx0XHRcdG0gKz0gKDEgPDwgZSlcblx0XHRcdH1cblx0XHRcdG0gPDw9ICh0aGlzLl9jdyAtIGYgKyAxKTtcblx0XHRcdGsgPSAodGhpcy5ibG9ja3NbdGhpcy5fZWRdICYgbSkgPj4gKHRoaXMuX2N3IC0gZiArIDEpO1xuXHRcdFx0dGhpcy5fY3cgLT0gZjtcblx0XHRcdHJldHVybiBrXG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmIChmIDwgdGhpcy5fY3cgKyAxICsgOCkge1xuXHRcdFx0XHR2YXIgaiA9IDA7XG5cdFx0XHRcdGZvciAodmFyIGUgPSAwOyBlIDwgdGhpcy5fY3cgKyAxOyBlKyspIHtcblx0XHRcdFx0XHRqICs9ICgxIDw8IGUpXG5cdFx0XHRcdH1cblx0XHRcdFx0ayA9ICh0aGlzLmJsb2Nrc1t0aGlzLl9lZF0gJiBqKSA8PCAoZiAtICh0aGlzLl9jdyArIDEpKTtcblx0XHRcdFx0dGhpcy5fZWQrKztcblx0XHRcdFx0ayArPSAoKHRoaXMuYmxvY2tzW3RoaXMuX2VkXSkgPj4gKDggLSAoZiAtICh0aGlzLl9jdyArIDEpKSkpO1xuXHRcdFx0XHR0aGlzLl9jdyA9IHRoaXMuX2N3IC0gZiAlIDg7XG5cdFx0XHRcdGlmICh0aGlzLl9jdyA8IDApIHtcblx0XHRcdFx0XHR0aGlzLl9jdyA9IDggKyB0aGlzLl9jd1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBrXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRpZiAoZiA8IHRoaXMuX2N3ICsgMSArIDE2KSB7XG5cdFx0XHRcdFx0dmFyIGogPSAwO1xuXHRcdFx0XHRcdHZhciBoID0gMDtcblx0XHRcdFx0XHRmb3IgKHZhciBlID0gMDsgZSA8IHRoaXMuX2N3ICsgMTsgZSsrKSB7XG5cdFx0XHRcdFx0XHRqICs9ICgxIDw8IGUpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHZhciBnID0gKHRoaXMuYmxvY2tzW3RoaXMuX2VkXSAmIGopIDw8IChmIC0gKHRoaXMuX2N3ICsgMSkpO1xuXHRcdFx0XHRcdHRoaXMuX2VkKys7XG5cdFx0XHRcdFx0dmFyIGQgPSB0aGlzLmJsb2Nrc1t0aGlzLl9lZF0gPDwgKGYgLSAodGhpcy5fY3cgKyAxICsgOCkpO1xuXHRcdFx0XHRcdHRoaXMuX2VkKys7XG5cdFx0XHRcdFx0Zm9yICh2YXIgZSA9IDA7IGUgPCBmIC0gKHRoaXMuX2N3ICsgMSArIDgpOyBlKyspIHtcblx0XHRcdFx0XHRcdGggKz0gKDEgPDwgZSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aCA8PD0gOCAtIChmIC0gKHRoaXMuX2N3ICsgMSArIDgpKTtcblx0XHRcdFx0XHR2YXIgbCA9ICh0aGlzLmJsb2Nrc1t0aGlzLl9lZF0gJiBoKSA+PiAoOCAtIChmIC0gKHRoaXMuX2N3ICsgMSArIDgpKSk7XG5cdFx0XHRcdFx0ayA9IGcgKyBkICsgbDtcblx0XHRcdFx0XHR0aGlzLl9jdyA9IHRoaXMuX2N3IC0gKGYgLSA4KSAlIDg7XG5cdFx0XHRcdFx0aWYgKHRoaXMuX2N3IDwgMCkge1xuXHRcdFx0XHRcdFx0dGhpcy5fY3cgPSA4ICsgdGhpcy5fY3dcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXR1cm4gMFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXHR0aGlzLk5leHRNb2RlID0gZnVuY3Rpb24oKSB7XG5cdFx0aWYgKCh0aGlzLl9lZCA+IHRoaXMuYmxvY2tzLmxlbmd0aCAtIHRoaXMuX2VuIC0gMikpIHtcblx0XHRcdHJldHVybiAwXG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB0aGlzLl9nZCg0KVxuXHRcdH1cblx0fTtcblx0dGhpcy5nZXREYXRhTGVuZ3RoID0gZnVuY3Rpb24oZCkge1xuXHRcdHZhciBlID0gMDtcblx0XHR3aGlsZSAodHJ1ZSkge1xuXHRcdFx0aWYgKChkID4+IGUpID09IDEpIHtcblx0XHRcdFx0YnJlYWtcblx0XHRcdH1cblx0XHRcdGUrK1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5fZ2QocXJjb2RlLl9lb1t0aGlzLmRhdGFMZW5ndGhNb2RlXVtlXSlcblx0fTtcblx0dGhpcy5nZXRSb21hbkFuZEZpZ3VyZVN0cmluZyA9IGZ1bmN0aW9uKGgpIHtcblx0XHR2YXIgZiA9IGg7XG5cdFx0dmFyIGcgPSAwO1xuXHRcdHZhciBqID0gXCJcIjtcblx0XHR2YXIgZCA9IG5ldyBBcnJheShcIjBcIiwgXCIxXCIsIFwiMlwiLCBcIjNcIiwgXCI0XCIsIFwiNVwiLCBcIjZcIiwgXCI3XCIsIFwiOFwiLCBcIjlcIiwgXCJBXCIsIFwiQlwiLCBcIkNcIiwgXCJEXCIsIFwiRVwiLCBcIkZcIiwgXCJHXCIsIFwiSFwiLFxuXHRcdFx0XCJJXCIsIFwiSlwiLCBcIktcIiwgXCJMXCIsIFwiTVwiLCBcIk5cIiwgXCJPXCIsIFwiUFwiLCBcIlFcIiwgXCJSXCIsIFwiU1wiLCBcIlRcIiwgXCJVXCIsIFwiVlwiLCBcIldcIiwgXCJYXCIsIFwiWVwiLCBcIlpcIiwgXCIgXCIsIFwiJFwiLFxuXHRcdFx0XCIlXCIsIFwiKlwiLCBcIitcIiwgXCItXCIsIFwiLlwiLCBcIi9cIiwgXCI6XCIpO1xuXHRcdGRvIHtcblx0XHRcdGlmIChmID4gMSkge1xuXHRcdFx0XHRnID0gdGhpcy5fZ2QoMTEpO1xuXHRcdFx0XHR2YXIgaSA9IE1hdGguZmxvb3IoZyAvIDQ1KTtcblx0XHRcdFx0dmFyIGUgPSBnICUgNDU7XG5cdFx0XHRcdGogKz0gZFtpXTtcblx0XHRcdFx0aiArPSBkW2VdO1xuXHRcdFx0XHRmIC09IDJcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmIChmID09IDEpIHtcblx0XHRcdFx0XHRnID0gdGhpcy5fZ2QoNik7XG5cdFx0XHRcdFx0aiArPSBkW2ddO1xuXHRcdFx0XHRcdGYgLT0gMVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSB3aGlsZSAoZiA+IDApO1xuXHRcdHJldHVybiBqXG5cdH07XG5cdHRoaXMuZ2V0RmlndXJlU3RyaW5nID0gZnVuY3Rpb24oZikge1xuXHRcdHZhciBkID0gZjtcblx0XHR2YXIgZSA9IDA7XG5cdFx0dmFyIGcgPSBcIlwiO1xuXHRcdGRvIHtcblx0XHRcdGlmIChkID49IDMpIHtcblx0XHRcdFx0ZSA9IHRoaXMuX2dkKDEwKTtcblx0XHRcdFx0aWYgKGUgPCAxMDApIHtcblx0XHRcdFx0XHRnICs9IFwiMFwiXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKGUgPCAxMCkge1xuXHRcdFx0XHRcdGcgKz0gXCIwXCJcblx0XHRcdFx0fVxuXHRcdFx0XHRkIC09IDNcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmIChkID09IDIpIHtcblx0XHRcdFx0XHRlID0gdGhpcy5fZ2QoNyk7XG5cdFx0XHRcdFx0aWYgKGUgPCAxMCkge1xuXHRcdFx0XHRcdFx0ZyArPSBcIjBcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRkIC09IDJcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRpZiAoZCA9PSAxKSB7XG5cdFx0XHRcdFx0XHRlID0gdGhpcy5fZ2QoNCk7XG5cdFx0XHRcdFx0XHRkIC09IDFcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGcgKz0gZVxuXHRcdH0gd2hpbGUgKGQgPiAwKTtcblx0XHRyZXR1cm4gZ1xuXHR9O1xuXHR0aGlzLmdldDhiaXRCeXRlQXJyYXkgPSBmdW5jdGlvbihnKSB7XG5cdFx0dmFyIGUgPSBnO1xuXHRcdHZhciBmID0gMDtcblx0XHR2YXIgZCA9IG5ldyBBcnJheSgpO1xuXHRcdGRvIHtcblx0XHRcdGYgPSB0aGlzLl9nZCg4KTtcblx0XHRcdGQucHVzaChmKTtcblx0XHRcdGUtLVxuXHRcdH0gd2hpbGUgKGUgPiAwKTtcblx0XHRyZXR1cm4gZFxuXHR9O1xuXHR0aGlzLmdldEthbmppU3RyaW5nID0gZnVuY3Rpb24oaikge1xuXHRcdHZhciBnID0gajtcblx0XHR2YXIgaSA9IDA7XG5cdFx0dmFyIGggPSBcIlwiO1xuXHRcdGRvIHtcblx0XHRcdGkgPSBfZ2QoMTMpO1xuXHRcdFx0dmFyIGUgPSBpICUgMTkyO1xuXHRcdFx0dmFyIGYgPSBpIC8gMTkyO1xuXHRcdFx0dmFyIGsgPSAoZiA8PCA4KSArIGU7XG5cdFx0XHR2YXIgZCA9IDA7XG5cdFx0XHRpZiAoayArIDMzMDg4IDw9IDQwOTU2KSB7XG5cdFx0XHRcdGQgPSBrICsgMzMwODhcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGQgPSBrICsgNDk0NzJcblx0XHRcdH1cblx0XHRcdGggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShkKTtcblx0XHRcdGctLVxuXHRcdH0gd2hpbGUgKGcgPiAwKTtcblx0XHRyZXR1cm4gaFxuXHR9O1xuXHR0aGlzLl9fZGVmaW5lR2V0dGVyX18oXCJEYXRhQnl0ZVwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgaCA9IG5ldyBBcnJheSgpO1xuXHRcdHZhciBlID0gMTtcblx0XHR2YXIgZiA9IDI7XG5cdFx0dmFyIGQgPSA0O1xuXHRcdHZhciBvID0gODtcblx0XHRkbyB7XG5cdFx0XHR2YXIgbCA9IHRoaXMuTmV4dE1vZGUoKTtcblx0XHRcdGlmIChsID09IDApIHtcblx0XHRcdFx0aWYgKGgubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdGJyZWFrXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhyb3cgXCJFbXB0eSBkYXRhIGJsb2NrXCJcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKGwgIT0gZSAmJiBsICE9IGYgJiYgbCAhPSBkICYmIGwgIT0gbykge1xuXHRcdFx0XHR0aHJvdyBcIkludmFsaWQgbW9kZTogXCIgKyBsICsgXCIgaW4gKGJsb2NrOlwiICsgdGhpcy5fZWQgKyBcIiBiaXQ6XCIgKyB0aGlzLl9jdyArIFwiKVwiXG5cdFx0XHR9XG5cdFx0XHR2YXIgZyA9IHRoaXMuZ2V0RGF0YUxlbmd0aChsKTtcblx0XHRcdGlmIChnIDwgMSkge1xuXHRcdFx0XHR0aHJvdyBcIkludmFsaWQgZGF0YSBsZW5ndGg6IFwiICsgZ1xuXHRcdFx0fVxuXHRcdFx0c3dpdGNoIChsKSB7XG5cdFx0XHRcdGNhc2UgZTpcblx0XHRcdFx0XHR2YXIgbSA9IHRoaXMuZ2V0RmlndXJlU3RyaW5nKGcpO1xuXHRcdFx0XHRcdHZhciBrID0gbmV3IEFycmF5KG0ubGVuZ3RoKTtcblx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IG0ubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRcdGtbaV0gPSBtLmNoYXJDb2RlQXQoaSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aC5wdXNoKGspO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlIGY6XG5cdFx0XHRcdFx0dmFyIG0gPSB0aGlzLmdldFJvbWFuQW5kRmlndXJlU3RyaW5nKGcpO1xuXHRcdFx0XHRcdHZhciBrID0gbmV3IEFycmF5KG0ubGVuZ3RoKTtcblx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IG0ubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRcdGtbaV0gPSBtLmNoYXJDb2RlQXQoaSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aC5wdXNoKGspO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlIGQ6XG5cdFx0XHRcdFx0dmFyIG4gPSB0aGlzLmdldDhiaXRCeXRlQXJyYXkoZyk7XG5cdFx0XHRcdFx0aC5wdXNoKG4pO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlIG86XG5cdFx0XHRcdFx0dmFyIG0gPSB0aGlzLmdldEthbmppU3RyaW5nKGcpO1xuXHRcdFx0XHRcdGgucHVzaChtKTtcblx0XHRcdFx0XHRicmVha1xuXHRcdFx0fVxuXHRcdH0gd2hpbGUgKHRydWUpO1xuXHRcdHJldHVybiBoXG5cdH0pXG59O1xubW9kdWxlLmV4cG9ydHMgPSB7XG5cdHFyY29kZTogcXJjb2RlXG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///13\n");
/***/ }),
/* 14 */
/*!***************************************************************************!*\
!*** /Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/static/scan.png ***!
\***************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = \"/static/scan.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjE0LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBcIi9zdGF0aWMvc2Nhbi5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///14\n");
/***/ }),
/* 15 */
/*!**********************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js ***!
\**********************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; });
/* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
function normalizeComponent (
scriptExports,
render,
staticRenderFns,
functionalTemplate,
injectStyles,
scopeId,
moduleIdentifier, /* server only */
shadowMode, /* vue-cli only */
components, // fixed by xxxxxx auto components
renderjs // fixed by xxxxxx renderjs
) {
// Vue.extend constructor export interop
var options = typeof scriptExports === 'function'
? scriptExports.options
: scriptExports
// fixed by xxxxxx auto components
if (components) {
if (!options.components) {
options.components = {}
}
var hasOwn = Object.prototype.hasOwnProperty
for (var name in components) {
if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {
options.components[name] = components[name]
}
}
}
// fixed by xxxxxx renderjs
if (renderjs) {
if(typeof renderjs.beforeCreate === 'function'){
renderjs.beforeCreate = [renderjs.beforeCreate]
}
(renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {
this[renderjs.__module] = this
});
(options.mixins || (options.mixins = [])).push(renderjs)
}
// render functions
if (render) {
options.render = render
options.staticRenderFns = staticRenderFns
options._compiled = true
}
// functional template
if (functionalTemplate) {
options.functional = true
}
// scopedId
if (scopeId) {
options._scopeId = 'data-v-' + scopeId
}
var hook
if (moduleIdentifier) { // server build
hook = function (context) {
// 2.3 injection
context =
context || // cached call
(this.$vnode && this.$vnode.ssrContext) || // stateful
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
// 2.2 with runInNewContext: true
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__
}
// inject component styles
if (injectStyles) {
injectStyles.call(this, context)
}
// register component module identifier for async chunk inferrence
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier)
}
}
// used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister = hook
} else if (injectStyles) {
hook = shadowMode
? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }
: injectStyles
}
if (hook) {
if (options.functional) {
// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles = hook
// register for functioal component in vue file
var originalRender = options.render
options.render = function renderWithStyleInjection (h, context) {
hook.call(context)
return originalRender(h, context)
}
} else {
// inject component registration as beforeCreate hook
var existing = options.beforeCreate
options.beforeCreate = existing
? [].concat(existing, hook)
: [hook]
}
}
return {
exports: scriptExports,
options: options
}
}
/***/ }),
/* 16 */
/*!*******************************************************************!*\
!*** /Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/App.vue ***!
\*******************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ 17);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _App_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 _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\nvar render, staticRenderFns, recyclableRender, components\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\n _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUN1RDtBQUNMOzs7QUFHbEQ7QUFDZ047QUFDaE4sZ0JBQWdCLGlOQUFVO0FBQzFCLEVBQUUseUVBQU07QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNlLGdGIiwiZmlsZSI6IjE2LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJBcHAudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///16\n");
/***/ }),
/* 17 */
/*!********************************************************************************************!*\
!*** /Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/App.vue?vue&type=script&lang=js& ***!
\********************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./App.vue?vue&type=script&lang=js& */ 18);\n/* harmony import */ var _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_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 _Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_Applications_HBuilderX_app_Contents_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW10QixDQUFnQix5c0JBQUcsRUFBQyIsImZpbGUiOiIxNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vQXBwbGljYXRpb25zL0hCdWlsZGVyWC5hcHAvQ29udGVudHMvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi9BcHBsaWNhdGlvbnMvSEJ1aWxkZXJYLmFwcC9Db250ZW50cy9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uL0FwcGxpY2F0aW9ucy9IQnVpbGRlclguYXBwL0NvbnRlbnRzL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///17\n");
/***/ }),
/* 18 */
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./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!/Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/App.vue?vue&type=script&lang=js& ***!
\*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = {\n onLaunch: function onLaunch() {\n __f__(\"log\", 'App Launch', \" at App.vue:4\");\n },\n onShow: function onShow() {\n __f__(\"log\", 'App Show', \" at App.vue:7\");\n },\n onHide: function onHide() {\n __f__(\"log\", 'App Hide', \" at App.vue:10\");\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJvbkxhdW5jaCIsIm9uU2hvdyIsIm9uSGlkZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2VBQ2U7RUFDZEEsUUFBUSxFQUFFLG9CQUFXO0lBQ3BCLGFBQVksWUFBWTtFQUN6QixDQUFDO0VBQ0RDLE1BQU0sRUFBRSxrQkFBVztJQUNsQixhQUFZLFVBQVU7RUFDdkIsQ0FBQztFQUNEQyxNQUFNLEVBQUUsa0JBQVc7SUFDbEIsYUFBWSxVQUFVO0VBQ3ZCO0FBQ0QsQ0FBQztBQUFBLDJCIiwiZmlsZSI6IjE4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgZGVmYXVsdCB7XG5cdG9uTGF1bmNoOiBmdW5jdGlvbigpIHtcblx0XHRjb25zb2xlLmxvZygnQXBwIExhdW5jaCcpXG5cdH0sXG5cdG9uU2hvdzogZnVuY3Rpb24oKSB7XG5cdFx0Y29uc29sZS5sb2coJ0FwcCBTaG93Jylcblx0fSxcblx0b25IaWRlOiBmdW5jdGlvbigpIHtcblx0XHRjb25zb2xlLmxvZygnQXBwIEhpZGUnKVxuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///18\n");
/***/ }),
/* 19 */
/*!**********************!*\
!*** external "Vue" ***!
\**********************/
/*! no static exports found */
/***/ (function(module, exports) {
module.exports = Vue;
/***/ }),
/* 20 */
/*!*************************************************************************!*\
!*** /Users/mac/Documents/朗业/2022/y-孕育邦/cancel-yunyubang/utils/util.js ***!
\*************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("var _defineProperty = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2);\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar HOSTARR = {\n 'development': 'https://yybtest.ali251.langye.net',\n 'production': 'https://yybtest.ali251.langye.net'\n};\nvar HOST = HOSTARR[\"development\"]; //\"https://tiantianxinye.365care.langye.net/\";//HOSTARR[process.env.NODE_ENV];//\n\nvar request = function request(options) {\n if (!options.customLoading) {\n //if(false){\n uni.showLoading({\n title: '正在加载'\n });\n } else {\n // 当前页面请求数量+1\n if (options.bindThis) {\n //options.bindThis.loadingCount=options.bindThis.data.loadingCount + 1;\n }\n }\n options.url = HOST + options.api;\n options.header = _objectSpread({}, options.header); // 如果已登录,请求中拼openId\n\n if (options.method == 'POST') {\n // 拼时间戳\n options.data.ts = new Date().getTime();\n }\n uni.request(_objectSpread(_objectSpread({}, options), {}, {\n success: function success(res) {\n uni.hideLoading();\n if (res.statusCode != 200) {\n if (options.utilFail != undefined) {\n if (res.statusCode == 401) {\n uni.clearStorageSync();\n uni.navigateTo({\n url: '/pages/login/login'\n });\n } else {\n options.utilFail('TODO: 特殊处理非200错误(' + res.statusCode + ')');\n }\n }\n } else {\n if (!isNull(res.data.errorcode) || res.data.errorcode == 0) {\n if (options.utilFail != undefined) {\n options.utilFail(res.data.errormsg || '接口发生未知错误');\n } else {\n options.utilFail(res.data.errormsg);\n }\n } else {\n if (options.utilSuccess != undefined) {\n options.utilSuccess(res.data);\n }\n }\n }\n },\n fail: function fail(res) {\n uni.hideLoading();\n options.utilFail(res);\n },\n complete: function complete(res) {\n if (!options.customLoading) {\n uni.hideNavigationBarLoading();\n } else {\n // 当前页面请求数量-1\n if (options.bindThis) {\n //options.bindThis.setData({\n //loadingCount: options.bindThis.data.loadingCount - 1\n //});\n }\n }\n }\n }));\n}; // 提交formID封装\nvar isNull = function isNull(p) {\n return p == '' || p == undefined || p == null || p == 'undefined' || p == 'null';\n}; // 正则\n\nvar alert = function alert(msg) {\n uni.showModal({\n title: '',\n content: msg,\n showCancel: false\n });\n}; // 订单状态\nmodule.exports = {\n HOST: HOST,\n request: request,\n isNull: isNull,\n alert: alert\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdXRpbHMvdXRpbC5qcyJdLCJuYW1lcyI6WyJIT1NUQVJSIiwiSE9TVCIsInByb2Nlc3MiLCJyZXF1ZXN0Iiwib3B0aW9ucyIsImN1c3RvbUxvYWRpbmciLCJ1bmkiLCJzaG93TG9hZGluZyIsInRpdGxlIiwiYmluZFRoaXMiLCJ1cmwiLCJhcGkiLCJoZWFkZXIiLCJtZXRob2QiLCJkYXRhIiwidHMiLCJEYXRlIiwiZ2V0VGltZSIsInN1Y2Nlc3MiLCJyZXMiLCJoaWRlTG9hZGluZyIsInN0YXR1c0NvZGUiLCJ1dGlsRmFpbCIsInVuZGVmaW5lZCIsImNsZWFyU3RvcmFnZVN5bmMiLCJuYXZpZ2F0ZVRvIiwiaXNOdWxsIiwiZXJyb3Jjb2RlIiwiZXJyb3Jtc2ciLCJ1dGlsU3VjY2VzcyIsImZhaWwiLCJjb21wbGV0ZSIsImhpZGVOYXZpZ2F0aW9uQmFyTG9hZGluZyIsInAiLCJhbGVydCIsIm1zZyIsInNob3dNb2RhbCIsImNvbnRlbnQiLCJzaG93Q2FuY2VsIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBTUEsT0FBTyxHQUFHO0VBQ2YsYUFBYSxFQUFFLG1DQUFtQztFQUNsRCxZQUFZLEVBQUU7QUFDZixDQUFDO0FBRUQsSUFBTUMsSUFBSSxHQUFHRCxPQUFPLENBQUNFLGFBQ1gsQ0FBQyxDQUFDLENBQUM7O0FBRWIsSUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQU8sQ0FBR0MsT0FBTyxFQUFJO0VBQzFCLElBQUksQ0FBQ0EsT0FBTyxDQUFDQyxhQUFhLEVBQUU7SUFDM0I7SUFDQUMsR0FBRyxDQUFDQyxXQUFXLENBQUM7TUFDZkMsS0FBSyxFQUFFO0lBQ1IsQ0FBQyxDQUFDO0VBQ0gsQ0FBQyxNQUFNO0lBQ047SUFDQSxJQUFJSixPQUFPLENBQUNLLFFBQVEsRUFBRTtNQUNyQjtJQUFBO0VBRUY7RUFFQUwsT0FBTyxDQUFDTSxHQUFHLEdBQUdULElBQUksR0FBR0csT0FBTyxDQUFDTyxHQUFHO0VBQ2hD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RUFDVkUsT0FBTyxFQUFFQSxPQUFPO0VBQ2hCdUIsTUFBTSxFQUFDQSxNQUFNO0VBQ2JRLEtBQUssRUFBQ0E7QUFDUCxDQUFDIiwiZmlsZSI6IjIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG5jb25zdCBIT1NUQVJSID0ge1xuXHQnZGV2ZWxvcG1lbnQnOiAnaHR0cHM6Ly95eWJ0ZXN0LmFsaTI1MS5sYW5neWUubmV0Jyxcblx0J3Byb2R1Y3Rpb24nOiAnaHR0cHM6Ly95eWJ0ZXN0LmFsaTI1MS5sYW5neWUubmV0J1xufTtcblxuY29uc3QgSE9TVCA9IEhPU1RBUlJbcHJvY2Vzcy5lbnZcblx0Lk5PREVfRU5WXTsgLy9cImh0dHBzOi8vdGlhbnRpYW54aW55ZS4zNjVjYXJlLmxhbmd5ZS5uZXQvXCI7Ly9IT1NUQVJSW3Byb2Nlc3MuZW52Lk5PREVfRU5WXTsvL1xuXG5jb25zdCByZXF1ZXN0ID0gb3B0aW9ucyA9PiB7XG5cdGlmICghb3B0aW9ucy5jdXN0b21Mb2FkaW5nKSB7XG5cdFx0Ly9pZihmYWxzZSl7XG5cdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdHRpdGxlOiAn5q2j5Zyo5Yqg6L29J1xuXHRcdH0pO1xuXHR9IGVsc2Uge1xuXHRcdC8vIOW9k+WJjemhtemdouivt+axguaVsOmHjysxXG5cdFx0aWYgKG9wdGlvbnMuYmluZFRoaXMpIHtcblx0XHRcdC8vb3B0aW9ucy5iaW5kVGhpcy5sb2FkaW5nQ291bnQ9b3B0aW9ucy5iaW5kVGhpcy5kYXRhLmxvYWRpbmdDb3VudCArIDE7XG5cdFx0fVxuXHR9XG5cblx0b3B0aW9ucy51cmwgPSBIT1NUICsgb3B0aW9ucy5hcGk7XG5cdG9wdGlvbnMuaGVhZGVyID0ge1xuXHRcdC4uLm9wdGlvbnMuaGVhZGVyLFxuXHRcdC8vJ0FjY2VwdCc6ICdhcHBsaWNhdGlvbi9qc29uJyxcblx0XHQvLydDb25uZWN0aW9uJzogJ2tlZXAtYWxpdmUnXG5cdFx0Ly8nY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG5cdH07IC8vIOWmguaenOW3sueZu+W9lSzor7fmsYLkuK3mi7xvcGVuSWRcblxuXG5cdGlmIChvcHRpb25zLm1ldGhvZCA9PSAnUE9TVCcpIHtcblx0XHQvLyDmi7zml7bpl7TmiLNcblx0XHRvcHRpb25zLmRhdGEudHMgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblx0fVxuXG5cdHVuaS5yZXF1ZXN0KHtcblx0XHQuLi5vcHRpb25zLFxuXHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuXHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgIT0gMjAwKSB7XG5cdFx0XHRcdGlmIChvcHRpb25zLnV0aWxGYWlsICE9IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSA0MDEpIHtcblx0XHRcdFx0XHRcdHVuaS5jbGVhclN0b3JhZ2VTeW5jKCk7XG5cdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9sb2dpbi9sb2dpbidcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRvcHRpb25zLnV0aWxGYWlsKCdUT0RPOiDnibnmrorlpITnkIbpnZ4yMDDplJnor68oJyArIHJlcy5zdGF0dXNDb2RlICsgJyknKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmICghaXNOdWxsKHJlcy5kYXRhLmVycm9yY29kZSkgfHwgcmVzLmRhdGEuZXJyb3Jjb2RlID09IDApIHtcblx0XHRcdFx0XHRpZiAob3B0aW9ucy51dGlsRmFpbCAhPSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRcdG9wdGlvbnMudXRpbEZhaWwocmVzLmRhdGEuZXJyb3Jtc2cgfHwgJ+aOpeWPo+WPkeeUn+acquefpemUmeivrycpO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRvcHRpb25zLnV0aWxGYWlsKHJlcy5kYXRhLmVycm9ybXNnKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0aWYgKG9wdGlvbnMudXRpbFN1Y2Nlc3MgIT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0XHRvcHRpb25zLnV0aWxTdWNjZXNzKHJlcy5kYXRhKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdGZhaWw6IGZ1bmN0aW9uKHJlcykge1xuXHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRvcHRpb25zLnV0aWxGYWlsKHJlcyk7XG5cdFx0fSxcblx0XHRjb21wbGV0ZTogZnVuY3Rpb24ocmVzKSB7XG5cdFx0XHRpZiAoIW9wdGlvbnMuY3VzdG9tTG9hZGluZykge1xuXHRcdFx0XHR1bmkuaGlkZU5hdmlnYXRpb25CYXJMb2FkaW5nKCk7XG5cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIOW9k+WJjemhtemdouivt+axguaVsOmHjy0xXG5cdFx0XHRcdGlmIChvcHRpb25zLmJpbmRUaGlzKSB7XG5cdFx0XHRcdFx0Ly9vcHRpb25zLmJpbmRUaGlzLnNldERhdGEoe1xuXHRcdFx0XHRcdC8vbG9hZGluZ0NvdW50OiBvcHRpb25zLmJpbmRUaGlzLmRhdGEubG9hZGluZ0NvdW50IC0gMVxuXHRcdFx0XHRcdC8vfSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0pO1xufTsgLy8g5o+Q5LqkZm9ybUlE5bCB6KOFXG5jb25zdCBpc051bGwgPSBwID0+IHtcblx0cmV0dXJuIHAgPT0gJycgfHwgcCA9PSB1bmRlZmluZWQgfHwgcCA9PSBudWxsIHx8IHAgPT0gJ3VuZGVmaW5lZCcgfHwgcCA9PSAnbnVsbCc7XG59OyAvLyDmraPliJlcblxuY29uc3QgYWxlcnQgPSBtc2cgPT4ge1xuXHR1bmkuc2hvd01vZGFsKHtcblx0XHR0aXRsZTogJycsXG5cdFx0Y29udGVudDogbXNnLFxuXHRcdHNob3dDYW5jZWw6IGZhbHNlXG5cdH0pO1xufTsgLy8g6K6i5Y2V54q25oCBXG5tb2R1bGUuZXhwb3J0cyA9IHtcblx0SE9TVDogSE9TVCxcblx0cmVxdWVzdDogcmVxdWVzdCxcblx0aXNOdWxsOmlzTnVsbCxcblx0YWxlcnQ6YWxlcnRcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///20\n");
/***/ })
],[[0,"app-config"]]]);