/*
 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
/******/ (() => { // webpackBootstrap
/******/ 	var __webpack_modules__ = ({

/***/ "./apps/common/vues/common/has_active_mixin.js":
/*!*****************************************************!*\
  !*** ./apps/common/vues/common/has_active_mixin.js ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n    props: {\n        active: {  // Если true - позволяет по клику изменять значение и генерирует событие\n            type: [Boolean, String],\n            default: false\n        }\n    },\n    computed: {\n        is_active () {\n            if (this.active instanceof Boolean) return this.active;\n            if (this.active==\"true\" || this.active==\"1\") return true\n            return false\n        }\n    }\n});\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/has_active_mixin.js?");

/***/ }),

/***/ "./apps/common/vues/common/ui_definition_mixin.js":
/*!********************************************************!*\
  !*** ./apps/common/vues/common/ui_definition_mixin.js ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n    // Использование определений параметров объектов интерфейса\n    // В модуле store.ui_definitions\n    // в компоненте должно быть задано свойство defs с названием \"секции\" определений\n    props: {\n        defs: {\n            type: String,\n            default: null\n        }\n    },\n    methods: {\n        z_ui_prop (ui_type, prop_name, obj) {\n\t\t\t// Возвращает занчение свойства <prop_name> в блоке <ui_type>.\n\t\t\t// Если тут нет - возвращает свойство <prop_name> из объекта <obj>\n\t\t\tlet blk = this._data[ui_type];\n\t\t\tif (typeof blk === \"undefined\") return undefined;\n\t\t\tlet val = blk[prop_name];\n\t\t\tif (typeof val===\"undefined\") {\n\t\t\t\tif (typeof obj!==\"undefined\" && obj!==null) {\n\t\t\t\t\treturn obj[prop_name]\n\t\t\t\t} else {\n\t\t\t\t\treturn undefined\n\t\t\t\t}\n\t\t\t} \n\t\t\treturn val\n\t\t},\n        ui_prop (prop_name) {\n            if (this.defs != null && this.defs!=\"\") {\n                return this.z_ui_prop(this.defs, prop_name, this)\n            } else {\n                return this[prop_name]\n            }\n        }\n    }\n});\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/ui_definition_mixin.js?");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=style&index=0&id=53cf1248&scoped=true&lang=css&":
/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=style&index=0&id=53cf1248&scoped=true&lang=css& ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, exports, __webpack_require__) => {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\\n.collapsed-panel .panel-heading[data-v-53cf1248]{\\n\\tcursor: pointer;\\n}\\n.bg_circle[data-v-53cf1248]{\\n\\tborder-radius: 50%;\\n\\tbackground-color: #a0a0a0;\\n\\tpadding: 2px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_collapsed_field.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=style&index=0&id=5cbe238a&scoped=true&lang=css&":
/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=style&index=0&id=5cbe238a&scoped=true&lang=css& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, exports, __webpack_require__) => {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\\ndiv.read[data-v-5cbe238a]{\\n\\tcolor: black;\\n\\tbackground-color: #f5f5f5;\\n}\\ndiv.read > .progress-bar[data-v-5cbe238a]{\\n\\tcolor: white;\\n\\tbackground-color: #337ab7;\\n}\\ndiv.write[data-v-5cbe238a]{\\n\\tcolor:  black;\\n\\tbackground-color: #f5f5f5;\\n}\\ndiv.write > .progress-bar[data-v-5cbe238a]{\\n\\tcolor: white;\\n\\tbackground-color: #ff4444;\\n}\\ndiv.cmd[data-v-5cbe238a]{\\n\\tcolor:  black;\\n\\tbackground-color: #f5f5f5;\\n}\\ndiv.cmd > .progress-bar[data-v-5cbe238a]{\\n\\tcolor: white;\\n\\tbackground-color: #44aa44;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_progress_bar.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=style&index=0&id=2a56ef20&lang=css&":
/*!***********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=style&index=0&id=2a56ef20&lang=css& ***!
  \***********************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, exports, __webpack_require__) => {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\\n.mbus-form .form-group {\\n\\t\\tmargin-bottom: 5px;\\n}\\n.mbus-form .control-label {\\n\\tpadding-top: 2px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack://sur/./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=style&index=0&id=485dd776&scoped=true&lang=css&":
/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=style&index=0&id=485dd776&scoped=true&lang=css& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, exports, __webpack_require__) => {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\\ndiv.m_config_body[data-v-485dd776]{\\n     padding-top: 5px;\\n     padding-bottom: 5px;\\n     padding-left:3px;\\n     margin-bottom: 5px;\\n     border-color: gray;\\n     border-style: solid;\\n     border-width: 1px;\\n}\\n.btn[data-v-485dd776]:disabled{\\n    visibility: hidden;\\n}\\n.m_header[data-v-485dd776] {\\n    padding:5px;\\n    font-size: 12pt;\\n    font-weight: bold;\\n    border:#ddd 2px solid;\\n    border-bottom-width: 0px;\\n    background-color: #f5f5f5;\\n}\\n.m_menu > div[data-v-485dd776] {\\n    border-color: #ddd;\\n    border-width: 2px;\\n    border-top-width: 1px;\\n    border-bottom-width: 1px;\\n    border-style: solid;\\n    background-color: #f5f5f5;\\n}\\n.m_menu > div.r_selected[data-v-485dd776] {\\n    background-color: #337ab7;\\n    border-color: #2269a6;\\n    color: white;\\n}\\n.switchable > .r_selected[data-v-485dd776] {\\n    background-color: #337ab7;\\n    border-color: #2269a6;\\n    color: white;\\n}\\ndiv.level_1 > .header[data-v-485dd776] {\\n     font-size: 12pt;\\n     font-weight: bold;\\n}\\ndiv.level_2[data-v-485dd776]{\\n     border-color: #ddd;\\n     border-style: solid;\\n     border-width: 1px;\\n     background-color: #f5f5f5;\\n}\\ndiv.level_2 > .header[data-v-485dd776] {\\n     border-color: #ddd;\\n     border-style: solid;\\n     border-width: 0px;\\n     border-bottom-width: 2px;\\n}\\ndiv.no_border[data-v-485dd776]{\\n     border-width: 0px;\\n     background-color: inherit;\\n}\\n.grid_table .m_config_body.no_border[data-v-485dd776]{\\n    padding-top:2px;\\n    padding-bottom: 2px;\\n    margin-top: 0px;\\n    margin-bottom: 0px;\\n}\\ndiv.m_root[data-v-485dd776]{\\n    overflow-y:scroll;\\n    max-height: 60vh;\\n    border-color: #ddd;\\n    border-style: solid;\\n    border-width: 5px 2px 5px 2px;\\n    padding-top: 10px;\\n    padding-bottom: 10px;\\n    padding-left:5px;\\n    padding-right:5px;\\n    background-color: #f5f5f5;\\n}\\ndiv.error[data-v-485dd776]{\\n    color: #f50000;\\n}\\nspan.error[data-v-485dd776]{\\n    color: #f50000;\\n}\\ni.error[data-v-485dd776]{\\n    color: #f50000;\\n}\\nh2.error[data-v-485dd776]{\\n    color: #f50000;\\n}\\ndiv.success[data-v-485dd776]{\\n    color: #5cb85c;\\n}\\nspan.success[data-v-485dd776]{\\n    color: #5cb85c;\\n}\\ni.success[data-v-485dd776]{\\n    color: #5cb85c;\\n}\\nh2.success[data-v-485dd776]{\\n    color: #5cb85c;\\n}\\n.grid_table[data-v-485dd776]{\\n     border-style:solid;\\n     border-width: 1px;\\n     border-color: gray;\\n}\\n.grid_table tr[data-v-485dd776]{\\n     border-style:solid;\\n     border-width: 1px;\\n     border-color: gray;\\n}\\n.grid_table tr[data-v-485dd776]:nth-child(odd){\\n    background-color: #ddd;\\n}\\n.grid_table tr[data-v-485dd776]:nth-child(even){\\n    background-color: #fff;\\n}\\n.grid_table tr.t_header[data-v-485dd776]{\\n    background-color: inherit;\\n}\\n.grid_table td[data-v-485dd776]{\\n     border-style:solid;\\n     border-width: 1px;\\n     border-color: gray;\\n     padding-left:3px;\\n     padding-right:3px;\\n}\\n.textinput[data-v-485dd776]{\\n     max-width: 500px;\\n}\\n.numinput[data-v-485dd776]{\\n     max-width: 500px;\\n}\\n.selinput[data-v-485dd776]{\\n     max-width: 500px;\\n}\\n.grid_table .selinput[data-v-485dd776]{\\n}\\n.btn-pad[data-v-485dd776]{\\n     margin-left:10px;\\n}\\n.btn.no-hide[data-v-485dd776]{\\n    visibility: visible;\\n}\\n.content[data-v-485dd776] {\\n    position: relative;\\n    width: 100%;\\n}\\ndiv.inline[data-v-485dd776] {\\n    display: table-row;\\n}\\ndiv.inline .content-wrap[data-v-485dd776]{\\n    display: contents;\\n}\\ndiv.inline .header[data-v-485dd776]{\\n    display: table-cell;\\n    padding-right: 15px;\\n    padding-top: 3px;\\n    padding-bottom: 3px;\\n    border-bottom-width: 2px;\\n    border-bottom-color: gray;\\n    border-bottom-style: solid;\\n}\\ndiv.inline .content[data-v-485dd776]{\\n    display: table-cell;\\n    width: unset;\\n    padding-right: 15px;\\n    padding-top: 3px;\\n    padding-bottom: 3px;\\n    border-bottom-width: 2px;\\n    border-bottom-color: gray;\\n    border-bottom-style: solid;\\n}\\n@keyframes rotating-data-v-485dd776 {\\nfrom{\\n        -webkit-transform: rotate(0deg);\\n}\\nto{\\n        -webkit-transform: rotate(360deg);\\n}\\n}\\n.rotating[data-v-485dd776] {\\n    animation: rotating-data-v-485dd776 2s linear infinite;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_config_display.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=style&index=0&id=71fdc6ab&scoped=true&lang=css&":
/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=style&index=0&id=71fdc6ab&scoped=true&lang=css& ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, exports, __webpack_require__) => {

eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\\n.devstatus[data-v-71fdc6ab]{\\n    font-size: 15pt;\\n}\\n.devstatus.success[data-v-71fdc6ab] {\\n     color: #5cb85c;\\n}\\n.devstatus.error[data-v-71fdc6ab] {\\n     color: #f50000;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_device_status.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/css-loader/dist/runtime/api.js":
/*!*****************************************************!*\
  !*** ./node_modules/css-loader/dist/runtime/api.js ***!
  \*****************************************************/
/***/ ((module) => {

"use strict";
eval("\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = cssWithMappingToString(item, useSourceMap);\n\n      if (item[2]) {\n        return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n      }\n\n      return content;\n    }).join('');\n  }; // import a list of modules into the list\n  // eslint-disable-next-line func-names\n\n\n  list.i = function (modules, mediaQuery, dedupe) {\n    if (typeof modules === 'string') {\n      // eslint-disable-next-line no-param-reassign\n      modules = [[null, modules, '']];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var i = 0; i < this.length; i++) {\n        // eslint-disable-next-line prefer-destructuring\n        var id = this[i][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _i = 0; _i < modules.length; _i++) {\n      var item = [].concat(modules[_i]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        // eslint-disable-next-line no-continue\n        continue;\n      }\n\n      if (mediaQuery) {\n        if (!item[2]) {\n          item[2] = mediaQuery;\n        } else {\n          item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n  var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n  var cssMapping = item[3];\n\n  if (!cssMapping) {\n    return content;\n  }\n\n  if (useSourceMap && typeof btoa === 'function') {\n    var sourceMapping = toComment(cssMapping);\n    var sourceURLs = cssMapping.sources.map(function (source) {\n      return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n    });\n    return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n  }\n\n  return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n  // eslint-disable-next-line no-undef\n  var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n  var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n  return \"/*# \".concat(data, \" */\");\n}\n\n//# sourceURL=webpack://sur/./node_modules/css-loader/dist/runtime/api.js?");

/***/ }),

/***/ "./apps/common/vues/common/lib/ui_checkbox.vue":
/*!*****************************************************!*\
  !*** ./apps/common/vues/common/lib/ui_checkbox.vue ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ui_checkbox_vue_vue_type_template_id_88f5aa06_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui_checkbox.vue?vue&type=template&id=88f5aa06&scoped=true& */ \"./apps/common/vues/common/lib/ui_checkbox.vue?vue&type=template&id=88f5aa06&scoped=true&\");\n/* harmony import */ var _ui_checkbox_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui_checkbox.vue?vue&type=script&lang=js& */ \"./apps/common/vues/common/lib/ui_checkbox.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n;\nvar component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _ui_checkbox_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _ui_checkbox_vue_vue_type_template_id_88f5aa06_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _ui_checkbox_vue_vue_type_template_id_88f5aa06_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"88f5aa06\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"apps/common/vues/common/lib/ui_checkbox.vue\"\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_checkbox.vue?");

/***/ }),

/***/ "./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_checkbox.vue?vue&type=script&lang=js&":
/*!*****************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_checkbox.vue?vue&type=script&lang=js& ***!
  \*****************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n\t// чекбокс принимаающий единицы и нули в текствовом и численном виде и возвращающий в том же формате\n\tname: \"ui_checkbox\",\n\tdata: function () {\n\t\treturn {\n\t\t\tval:null,\n\t\t}\n\t},\n\tmixins:[],\n\tprops:['value'],\n\tcomputed: {\n\t\t\n\t},\n\twatch: {\n\t\tvalue: { \n\t\t\thandler: function(nv,ov){\n\t\t\t\tif (nv == null){\n\t\t\t\t\tVue.set(this,'val',false)\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tvar out = nv\n\t\t\t\tif (!isNaN(nv)){\n\t\t\t\t\tout = (nv!=0)\n\t\t\t\t}\n\t\t\t\tif (nv instanceof String){\n\t\t\t\t\tout = nv!='0'\n\t\t\t\t}\t\t\t\n\t\t\t\tVue.set(this,'val',out)\n\t\t\t},\n\t\t\timmediate:true,\n\t\t}\n\t},\n\tmethods: {\n\t\t\n\t\thandleInput (e) {\n\t\t\tvar out = this.val==null?false:this.val\n\t\t\tif (!isNaN(this.value)){\n\t\t\t\tout = this.val?1:0\n\t\t\t}\n\t\t\tif (this.value instanceof String){\n\t\t\t\tout = this.val?'1':'0'\n\t\t\t}\t\t\n\t\t\tthis.$emit('input', Number(out))\n\t\t}\n\t},\n\tmounted(){\n\n\t}\n});\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_checkbox.vue?./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./apps/common/vues/common/lib/ui_collapsed_field.vue":
/*!************************************************************!*\
  !*** ./apps/common/vues/common/lib/ui_collapsed_field.vue ***!
  \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ui_collapsed_field_vue_vue_type_template_id_53cf1248_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui_collapsed_field.vue?vue&type=template&id=53cf1248&scoped=true& */ \"./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=template&id=53cf1248&scoped=true&\");\n/* harmony import */ var _ui_collapsed_field_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui_collapsed_field.vue?vue&type=script&lang=js& */ \"./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _ui_collapsed_field_vue_vue_type_style_index_0_id_53cf1248_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui_collapsed_field.vue?vue&type=style&index=0&id=53cf1248&scoped=true&lang=css& */ \"./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=style&index=0&id=53cf1248&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _ui_collapsed_field_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _ui_collapsed_field_vue_vue_type_template_id_53cf1248_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _ui_collapsed_field_vue_vue_type_template_id_53cf1248_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"53cf1248\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"apps/common/vues/common/lib/ui_collapsed_field.vue\"\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_collapsed_field.vue?");

/***/ }),

/***/ "./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=script&lang=js&":
/*!************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=script&lang=js& ***!
  \************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var common_has_active_mixin_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! common/has_active_mixin.js */ \"./apps/common/vues/common/has_active_mixin.js\");\n/* harmony import */ var common_ui_definition_mixin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! common/ui_definition_mixin.js */ \"./apps/common/vues/common/ui_definition_mixin.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n\tname: \"ui_collapsed_field\",\n\tmixins:[common_has_active_mixin_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], common_ui_definition_mixin_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]],\n\t\tprops: {\n\t\t\tlabel:{\n\t\t\t\ttype:String,\n\t\t\t\tdefault:''\n\t\t\t},\n\t\t},\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\topen:false,\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\t\n\t\t},\n\t\tmethods: {\n\t\t\ton_input (evt) {\n\t\t\t\t// $event\n\t\t\t\tconsole.log(\"Select input\", evt)\n\t\t\t}\n\t\t}\n\t});\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_collapsed_field.vue?./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./apps/common/vues/common/lib/ui_progress_bar.vue":
/*!*********************************************************!*\
  !*** ./apps/common/vues/common/lib/ui_progress_bar.vue ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ui_progress_bar_vue_vue_type_template_id_5cbe238a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui_progress_bar.vue?vue&type=template&id=5cbe238a&scoped=true& */ \"./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=template&id=5cbe238a&scoped=true&\");\n/* harmony import */ var _ui_progress_bar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui_progress_bar.vue?vue&type=script&lang=js& */ \"./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _ui_progress_bar_vue_vue_type_style_index_0_id_5cbe238a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui_progress_bar.vue?vue&type=style&index=0&id=5cbe238a&scoped=true&lang=css& */ \"./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=style&index=0&id=5cbe238a&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _ui_progress_bar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _ui_progress_bar_vue_vue_type_template_id_5cbe238a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _ui_progress_bar_vue_vue_type_template_id_5cbe238a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"5cbe238a\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"apps/common/vues/common/lib/ui_progress_bar.vue\"\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_progress_bar.vue?");

/***/ }),

/***/ "./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=script&lang=js&":
/*!*********************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=script&lang=js& ***!
  \*********************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n\tname: \"ui_progress_bar\",\n\tmixins:[],\n\t\tprops: {\n\t\t\tprogress: {\n\t\t\t\ttype: Number,\n\t\t\t\tdefault: 0\n\t\t\t},\n\t\t\ttype: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: 'read' // 'read','write','cmd'\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\tprogress_s(){\n\t\t\t\ttry {\n\t\t\t\t\treturn String(this.progress)+'%'\n\t\t\t\t} catch {\n\t\t\t\t\treturn this.progress\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tmethods: {\n            \n\t\t}\n\t});\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_progress_bar.vue?./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue":
/*!****************************************************************!*\
  !*** ./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue ***!
  \****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _c_cntl_modbus_vue_vue_type_template_id_2a56ef20___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./c_cntl_modbus.vue?vue&type=template&id=2a56ef20& */ \"./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=template&id=2a56ef20&\");\n/* harmony import */ var _c_cntl_modbus_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./c_cntl_modbus.vue?vue&type=script&lang=js& */ \"./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _c_cntl_modbus_vue_vue_type_style_index_0_id_2a56ef20_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./c_cntl_modbus.vue?vue&type=style&index=0&id=2a56ef20&lang=css& */ \"./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=style&index=0&id=2a56ef20&lang=css&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _c_cntl_modbus_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _c_cntl_modbus_vue_vue_type_template_id_2a56ef20___WEBPACK_IMPORTED_MODULE_0__.render,\n  _c_cntl_modbus_vue_vue_type_template_id_2a56ef20___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue\"\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);\n\n//# sourceURL=webpack://sur/./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?");

/***/ }),

/***/ "./node_modules/vue-loader/lib/index.js??vue-loader-options!./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=script&lang=js&":
/*!****************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/index.js??vue-loader-options!./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=script&lang=js& ***!
  \****************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _mx_control_command_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mx_control_command.js */ \"./panel_officer/vues/panel_officer/lib/mx_control_command.js\");\n/* harmony import */ var _modbus_commands_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modbus_commands.js */ \"./panel_officer/vues/panel_officer/lib/modbus_commands.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\t\n\t\n\n\t/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n\t\tmixins: [_mx_control_command_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\t\t\n\t\tdata() {return {\n\t\t\t//formats_descr: formats_descr,\n\t\t\treg_type: \"Dec\",\n\t\t\treg_num: null,\n\t\t\tbytes_count: 2,\n\t\t\tdata_type: \"h\",\n\t\t\tcur_reg_data: \" \",\n\t\t\tnew_reg_data: null,\n\t\t}},\n\t\tcomputed: {\n\t\t\tmdata_types () {\n\t\t\t\treturn this.$store.state.panel_spec.TechData.formats_descr \n\t\t\t},\n\t\t\tdec_reg_num () {\n\t\t\t\t// Номер регистра, приведенный к десятичному числу\n\t\t\t\tvar parsed;\n\t\t\t\tif (this.reg_type == \"Hex\") {\n\t\t\t\t\tparsed = parseInt(this.reg_num, 16);\n\t\t\t\t} else {\n\t\t\t\t\tparsed = parseInt(this.reg_num, 10);\n\t\t\t\t}\n\t\t\t\tif (isNaN(parsed)) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn parsed\n\t\t\t},\n\t\t\tdec_bytes_count () {\n\t\t\t\t// Количество байт, приведенный к десятичному числу\n\t\t\t\tvar parsed = parseInt(this.bytes_count, 10);\n\t\t\t\tif (isNaN(parsed)) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn parsed\n\t\t\t},\n\t\t},\n\t\twatch: {\n\t\t\treg_num () {\n\t\t\t\tthis.cur_reg_data = \" \";\n\t\t\t\tthis.new_reg_data = null;\n\t\t\t},\n\t\t\tbytes_count () {\n\t\t\t\tthis.cur_reg_data = \" \";\n\t\t\t\tthis.new_reg_data = null;\n\t\t\t},\n\t\t},\n\t\tmethods: {\n\t\t\talertf_0 (typ, msg) {\n\t\t\t\tthis.$store.commit(\"panel_spec/ControlData/append_alert\", \n\t\t\t\t\t{typ:typ, msg:msg});\n\t\t\t},\n\t\t\tprogress_0 (answ) {\n\t\t\t\tif (answ==null){\n\t\t\t\t\tthis.$store.commit(\"panel_spec/ControlData/set_progress\", 1)\n\t\t\t\t} else {\n\t\t\t\t\tif (answ.mtype==\"answ_progress\") {\n\t\t\t\t\t\tthis.$store.commit(\"panel_spec/ControlData/set_progress\", \n\t\t\t\t\t\t\tansw.progress)\n\t\t\t\t\t}\n\t\t\t\t\tconsole.log(\"progress \"+answ.mtype); \n\t\t\t\t}\n\t\t\t},\n\t\t\tsend_command_0 (command, on_success) {\n\t\t\t\tthis.$store.dispatch(\"panel_spec/OfficerWS/send_command\", {\n\t\t\t\t\tcommand: command, \n\t\t\t\t\talert_func: this.alertf\n\t\t\t\t\t//progress_func: progress\n\t\t\t\t})\n\t\t\t\t.then(()=>{\n\t\t\t\t\tconsole.log(\"send_command done!\");\n\t\t\t\t\tthis.$store.commit(\"panel_spec/ControlData/set_progress\", 0);\n\t\t\t\t\tif (command.has_error()) {\n\t\t\t\t\t\tthis.alertf(\"e\", command.error_msg)\n\t\t\t\t\t} else {\n\t\t\t\t\t\ton_success();\n\t\t\t\t\t\tthis.alertf(\"s\", command.success_msg)\n\t\t\t\t\t}\n\t\t\t\t},(mes)=>{\n\t\t\t\t\tconsole.log(\"Error send_command! \"+mes);\n\t\t\t\t\tthis.alertf(\"e\", \"Ошибка отправки команды! \"+mes);\n\t\t\t\t\tthis.$store.commit(\"panel_spec/ControlData/set_progress\", 0)\n\t\t\t\t})\n\t\t\t},\t\t\n\t\t\ton_read_click () {\n\t\t\t\tconsole.log(\"Read clicked\");\n\t\t\t\tthis.$store.commit(\"panel_spec/ControlData/clear_alert\"); \n\n\t\t\t\tif (this.dec_reg_num===null) {\n\t\t\t\t\tthis.alertf(\"e\", \"Некорректный номер регистра\");\n\t\t\t\t\treturn\t\n\t\t\t\t}\n\t\t\t\tif (this.dec_bytes_count===null) {\n\t\t\t\t\tthis.alertf(\"e\", \"Некорректное количество байт\");\n\t\t\t\t\treturn\t\n\t\t\t\t}\n\n\t\t\t\tvar command = new _modbus_commands_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ReadRegister(this.dec_reg_num, \n\t\t\t\t\tthis.dec_bytes_count, this.data_type, this.progress);\n\n\t\t\t\tthis.cur_reg_data=null;\n\t\t\t\tthis.new_reg_data=null;\n\t\t\t\tthis.send_command(command, ()=>{\n\t\t\t\t\tthis.cur_reg_data = command.answ_data;\n\t\t\t\t})\n\t\t\t},\n\t\t\ton_write_click () {\n\t\t\t\t// Послать команду на запись данных\n\t\t\t\tconsole.log(\"Write clicked\")\n\t\t\t\tthis.$store.commit(\"panel_spec/ControlData/clear_alert\"); \n\n\t\t\t\tif (this.dec_reg_num===null) {\n\t\t\t\t\tthis.alertf(\"e\", \"Некорректный номер регистра\");\n\t\t\t\t\treturn\t\n\t\t\t\t}\n\t\t\t\tif (this.dec_bytes_count===null) {\n\t\t\t\t\tthis.alertf(\"e\", \"Некорректное количество байт\");\n\t\t\t\t\treturn\t\n\t\t\t\t}\n\t\t\t\tif (this.new_reg_data===null||this.new_reg_data===\"\") {\n\t\t\t\t\tthis.alertf(\"e\", \"Не задано значение для записи\");\n\t\t\t\t\treturn\t\n\t\t\t\t}\n\n\t\t\t\tvar command = new _modbus_commands_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].WriteRegister(this.dec_reg_num, \n\t\t\t\t\tthis.dec_bytes_count, this.data_type, this.new_reg_data, this.progress);\n\n\t\t\t\tthis.cur_reg_data=null;\n\t\t\t\tthis.send_command(command, ()=>{\n\t\t\t\t\t// this.cur_reg_data = command.answ_data;\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t});\n\n\n//# sourceURL=webpack://sur/./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/com_dev_select.vue":
/*!*******************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/com_dev_select.vue ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _com_dev_select_vue_vue_type_template_id_1e230252_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./com_dev_select.vue?vue&type=template&id=1e230252&scoped=true& */ \"./pmanager/vues/pmanager/lib/com_dev_select.vue?vue&type=template&id=1e230252&scoped=true&\");\n/* harmony import */ var _com_dev_select_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./com_dev_select.vue?vue&type=script&lang=js& */ \"./pmanager/vues/pmanager/lib/com_dev_select.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n;\nvar component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _com_dev_select_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _com_dev_select_vue_vue_type_template_id_1e230252_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _com_dev_select_vue_vue_type_template_id_1e230252_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"1e230252\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"pmanager/vues/pmanager/lib/com_dev_select.vue\"\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/com_dev_select.vue?");

/***/ }),

/***/ "./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/com_dev_select.vue?vue&type=script&lang=js&":
/*!*******************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/com_dev_select.vue?vue&type=script&lang=js& ***!
  \*******************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var pmanager_lib_base_mixin_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pmanager/lib/base_mixin.js */ \"./pmanager/vues/pmanager/lib/base_mixin.js\");\n/* harmony import */ var pmanager_lib_r_vuex_mixin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pmanager/lib/r_vuex_mixin.js */ \"./pmanager/vues/pmanager/lib/r_vuex_mixin.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n    name:'com-dev-select',\n    mixins:[pmanager_lib_base_mixin_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],pmanager_lib_r_vuex_mixin_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]],\n    props:{\n\n    },\n    data(){\n        return{\n            sel_com:'',    \n        }\n    },\n    computed:{\n        com_ports(){\n            var out = []\n            if (window.com_ports){\n                for (var i in window.com_ports){\n                    var port = window.com_ports[i];\n                    out.push(port)\n                }\n            }\n\n            return out\n        },\n    },\n    methods:{\n        on_change(){\n            var obj = {}\n            for (var i in this.com_ports){\n                var port = this.com_ports[i];\n                if (port.path==this.sel_com){\n                    obj = port;\n                }\n            }\n            this.r_dispatch('sel_com',obj)\n        },\n    },\n    mounted(){\n        \n    },\n});\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/com_dev_select.vue?./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/electron.vue":
/*!*************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/electron.vue ***!
  \*************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _electron_vue_vue_type_template_id_e87f8860_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./electron.vue?vue&type=template&id=e87f8860&scoped=true& */ \"./pmanager/vues/pmanager/lib/electron.vue?vue&type=template&id=e87f8860&scoped=true&\");\n/* harmony import */ var _electron_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./electron.vue?vue&type=script&lang=js& */ \"./pmanager/vues/pmanager/lib/electron.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n;\nvar component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _electron_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _electron_vue_vue_type_template_id_e87f8860_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _electron_vue_vue_type_template_id_e87f8860_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"e87f8860\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"pmanager/vues/pmanager/lib/electron.vue\"\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/electron.vue?");

/***/ }),

/***/ "./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/electron.vue?vue&type=script&lang=js&":
/*!*************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/electron.vue?vue&type=script&lang=js& ***!
  \*************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var pmanager_lib_base_mixin_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pmanager/lib/base_mixin.js */ \"./pmanager/vues/pmanager/lib/base_mixin.js\");\n/* harmony import */ var pmanager_lib_r_vuex_mixin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pmanager/lib/r_vuex_mixin.js */ \"./pmanager/vues/pmanager/lib/r_vuex_mixin.js\");\n/* harmony import */ var pmanager_lib_m_config_display_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! pmanager/lib/m_config_display.vue */ \"./pmanager/vues/pmanager/lib/m_config_display.vue\");\n/* harmony import */ var pmanager_lib_com_dev_select_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! pmanager/lib/com_dev_select.vue */ \"./pmanager/vues/pmanager/lib/com_dev_select.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\nVue.component('m-config-display',pmanager_lib_m_config_display_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n\nVue.component('com-dev-select',pmanager_lib_com_dev_select_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n    name:'electron',\n    mixins:[pmanager_lib_base_mixin_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],pmanager_lib_r_vuex_mixin_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]],\n    props:{\n\n    },\n    data(){\n        return{\n        \n        }\n    },\n    computed:{\n        \n    },\n    methods:{\n        \n    },\n    mounted(){\n        //this.r_dispatch('init_config')\n        console.log('window',window)\n    },\n});\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/electron.vue?./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/m_config_display.vue":
/*!*********************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/m_config_display.vue ***!
  \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _m_config_display_vue_vue_type_template_id_485dd776_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./m_config_display.vue?vue&type=template&id=485dd776&scoped=true& */ \"./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=template&id=485dd776&scoped=true&\");\n/* harmony import */ var _m_config_display_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./m_config_display.vue?vue&type=script&lang=js& */ \"./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _m_config_display_vue_vue_type_style_index_0_id_485dd776_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./m_config_display.vue?vue&type=style&index=0&id=485dd776&scoped=true&lang=css& */ \"./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=style&index=0&id=485dd776&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _m_config_display_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _m_config_display_vue_vue_type_template_id_485dd776_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _m_config_display_vue_vue_type_template_id_485dd776_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"485dd776\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"pmanager/vues/pmanager/lib/m_config_display.vue\"\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_config_display.vue?");

/***/ }),

/***/ "./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=script&lang=js&":
/*!*********************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=script&lang=js& ***!
  \*********************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var pmanager_lib_base_mixin_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pmanager/lib/base_mixin.js */ \"./pmanager/vues/pmanager/lib/base_mixin.js\");\n/* harmony import */ var pmanager_lib_obj_sel_mixin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pmanager/lib/obj_sel_mixin.js */ \"./pmanager/vues/pmanager/lib/obj_sel_mixin.js\");\n/* harmony import */ var pmanager_lib_r_vuex_mixin_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! pmanager/lib/r_vuex_mixin.js */ \"./pmanager/vues/pmanager/lib/r_vuex_mixin.js\");\n/* harmony import */ var common_lib_ui_collapsed_field_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! common/lib/ui_collapsed_field.vue */ \"./apps/common/vues/common/lib/ui_collapsed_field.vue\");\n/* harmony import */ var common_lib_ui_progress_bar_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! common/lib/ui_progress_bar.vue */ \"./apps/common/vues/common/lib/ui_progress_bar.vue\");\n/* harmony import */ var common_lib_ui_checkbox_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! common/lib/ui_checkbox.vue */ \"./apps/common/vues/common/lib/ui_checkbox.vue\");\n/* harmony import */ var pmanager_lib_m_device_status_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! pmanager/lib/m_device_status.vue */ \"./pmanager/vues/pmanager/lib/m_device_status.vue\");\n/* harmony import */ var panel_officer_lib_c_cntl_modbus_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! panel_officer/lib/c_cntl_modbus.vue */ \"./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\nVue.component('ui-collapsed-field',common_lib_ui_collapsed_field_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n\nVue.component('ui-progress-bar',common_lib_ui_progress_bar_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n\nVue.component('ui-checkbox',common_lib_ui_checkbox_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\n\nVue.component('m-devstatus',pmanager_lib_m_device_status_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n\n\nVue.component('m-modbus',panel_officer_lib_c_cntl_modbus_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n    name:'m_config_display',\n    mixins:[pmanager_lib_base_mixin_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], pmanager_lib_obj_sel_mixin_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], pmanager_lib_r_vuex_mixin_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]],\n    props:{\n        fields:{\n            type:Array,\n            default(){\n                return this.$store.getters['panel_spec/Config/get_conf_list']||[]\n            }\n        },\n        child:{\n            type:Boolean,\n            default:false\n        },\n        tree:{\n            type:String,\n            default:''\n        },\n        has_label:{\n            type:Boolean,\n            default:true,\n        },\n        mode:{\n            type:String,\n            default:'web'//'app','web'\n        }\n    },\n    data(){\n        return {\n           r_select:'',\n\t\t}\n    },\n    watch: {\n        inp_sel_obj (new_val) {\n            this.sel_obj = new_val\n        },\n        sel_obj(new_val){\n        }\n    },\n    computed: {\n        loading(){\n            return this.r_getter('get_conf_loading')\n            || typeof this.r_getter('get_conf_status.loading') != 'undefined'\n        },\n        fields_show_filt(){\n            return this.fields.filter((item)=>{\n                if (this.show_process(item)){\n                    return item;\n                }\n            })\n        },\n        data_ok(){\n            return this.check_all();\n        },\n        level(){\n            return this.tree.split('@').length\n        },\n        changed(){\n            for(var i in this.fields){\n                if (this.changed1(this.fields[i].key)){\n                    return true\n                }\n            }\n            return false\n        },\n    },\n    methods: {\n        shutter(field){\n            return this.shutter_text(field).length>0\n        },\n        shutter_text(field){\n            var out = \"\"\n            if (!this.nr([field])){\n                out = \"Сначала считайте данные\"\n            }else if (this.is_loading(field.key)){\n                out = \"Идёт загрузка данных\"\n            }\n            return out\n        },\n        on_tab_switch(field){\n            for(var i in this.fields){\n                if (this.r_select==this.fields[i].key){\n                    if (this.changed1(this.fields[i].key)){\n                        alert('Есть несохранённые изменения на вкладке')\n                        return\n                    }\n                    if (!this.check_all(this.fields)){\n                        alert('На вкладке присутсвуют ошибки в параметрах')\n                        return\n                    }\n                    break\n                }\n            }\n            if (field==='mb'){\n                Vue.set(this,'r_select',field)       \n            }else{\n                Vue.set(this,'r_select',field.key)\n            }\n        },\n        prop_filt(field){\n            var out = {}\n            if (field.pagable && field.pagable.load_by_page){\n                var s_i = (field.pagable.page-1)*field.pagable.size;\n                var e_i = (field.pagable.page)*field.pagable.size;\n                if (s_i>field.props.y.length){\n                    s_i = field.props.y.length\n                }\n                if (e_i>field.props.y.length){\n                    e_i = field.props.y.length\n                }\n                out.x_header=field.props.x_header\n                out.x_props_header=field.props.x_props_header\n                out.y = field.props.y.slice(s_i,e_i)\n                if (field.props.y_props){\n                    out.y_props = field.props.y_props.slice(s_i,e_i)\n                }\n            }else{\n                out = field.props\n            }\n            var out_1 = {}\n            if (typeof field.switchable != 'undefined' && field.props.y[0].x.length>0){\n                out_1.x_header=out.x_header\n                out_1.x_props_header=out.x_props_header\n                out_1.y = []\n                for (var i in out.y){\n                    var itm = {}\n                    itm.key=out.y[i].key\n                    itm.x = [out.y[i].x[field.switchable]]\n                    if (itm.x.length==0){\n\n                    }else{\n                        out_1.y.push(itm)\n                    }\n                }\n            }else{\n                out_1 = out\n            }\n            return out_1\n        },\n        pagable_error_pages(field){\n            var out = []\n            if (field.pagable && !this.check_all([field])){\n                for (var i=0;i<Math.ceil(field.props.y.length/field.pagable.size);i+=1){\n                    var s_i = (i)*field.pagable.size;\n                    var e_i = (i+1)*field.pagable.size;\n                    if (s_i>field.props.y.length){\n                        s_i = field.props.y.length\n                    }\n                    if (e_i>field.props.y.length){\n                        e_i = field.props.y.length\n                    }\n                    var f_copy = JSON.parse(JSON.stringify(field));\n                    f_copy.props.y = field.props.y.slice(s_i,e_i)\n                    if (!this.check_all([f_copy])){\n                        out.push(i+1);\n                        continue;\n                    }\n                }\n            }\n            return out.join(',')\n        },\n        is_loading(key){\n            var item = this.r_getter('get_conf_list').filter((item)=>{\n                if (item.key==key){\n                    return item\n                }\n            })\n            if (item.length>0){\n                return typeof item[0].loading != 'undefined'\n            }\n            return false\n        },\n        progress(field){\n            return field.progress||0\n        },\n        show_process(field){\n            if (!this.child){\n                if (this.r_select.length>0){\n                    if (field.key==this.r_select){\n                        return true\n                    }\n                }else{\n                    return false\n                }\n                return false\n            }\n            if (typeof field.show=='undefined'){\n                return true\n            }\n            var w_field = this.r_getter('get_conf_key')(field.show);\n            if (w_field==null){\n                return false\n            }\n            if (w_field.type==3){\n                if (!w_field.value){\n                    var tree = this.tree;\n                    if (tree.length>0){\n                        tree+='@'\n                    }\n                    tree+=field.key\n                    if (this.changed){\n                        this.r_commit('clear_conf_list',tree);\n                    }\n                    return false\n                }else{\n                    if (typeof w_field.value == 'string'){\n                        return w_field.value == '0'?false:true\n                    }\n                    return Boolean(w_field.value)\n                }\n            }\n            return true\n        },\n        on_clear(name){\n            this.r_commit('clear_conf_list',name);\n        },\n        on_write(name){\n            var w_mas = []\n            if (name=='!all'){\n                for (var i in this.fields){\n                    w_mas.push(this.fields[i].key)\n                }\n            }else{\n                w_mas.push(name)\n            }\n            this.r_dispatch('conf_write_group',w_mas);\n        },\n        on_read(name){\n            if ((name=='!all' && this.changed)||(name!='all' && this.changed1(name))){\n                if (!confirm('Все несохранённые изменения будут потеряны')){\n                    return;\n                }\n            }\n            var r_mas = []\n            if (name=='!all'){\n                for (var i in this.fields){\n                    r_mas.push(this.fields[i].key)\n                }\n            }else{\n                r_mas.push(name)\n            }\n            this.r_dispatch('conf_load_group',r_mas);\n        },\n        on_reboot(){\n            this.r_dispatch('conf_reboot');\n        },\n        on_writeflash(){\n            this.r_dispatch('conf_flashwrite');\n        },\n        on_dev_read(reg){\n            this.r_dispatch('conf_dev_read',reg);\n        },\n        check_all(fields = this.fields){\n            var out = true\n            for(var i in fields){\n                if (fields[i].fields){\n                  if (!this.check_all(fields[i].fields)){\n                      return false\n                  }  \n                }\n                if (this.check(fields[i]).length>0){\n                    return false\n                }\n                if (fields[i].type==4){\n                    for (var j in fields[i].props.y){\n                        out = this.check_all(fields[i].props.y[j].x)\n                        if (!out){\n                            return out\n                        }\n                        if (fields[i].props.y[j].x_props){\n                            out = this.check_all(fields[i].props.y[j].x_props)\n                            if (!out){\n                                return out\n                            }\n                        }\n                    }\n                    if (fields[i].props.y_props){\n                        for (var j in fields[i].y_props){\n                            for (var k in fields[i].y_props[j]){\n                                out = this.check_all(fields[i].props.y_props[j][k])\n                                if (!out){\n                                    return out\n                                }\n                            }\n                        }                \n                    }\n                }\n            }\n            return true\n        },\n        changed1(key){\n            return this.r_getter('conf_changed')(key)\n        },\n        nr(fields){\n            return this.r_getter('conf_nr')(fields)\n        },\n        check(field){\n            var out=\"\"\n            if (!field.value){\n                return out\n            }\n            if (field.type==2){\n                var regex = /^-?\\d+$/;\n                if( !regex.test(field.value) ) {\n                    return this._('Допускаются только цифры')\n                }\n                \n            }\n            if (typeof field.on_write != 'undefined'){\n                for (var i in field.on_write){\n                    var item = field.on_write[i]\n                    if (i.split('$').length>1){\n                        if(i.split('$')[1].split('#').length>1){\n                            if (i.split('$')[1].split('#')[1].split(':').length>1 && (parseInt(i.split('$')[1].split('#')[1].split(':')[1])+1)%16==0 && (parseInt(i.split('$')[1].split('#')[1].split(':')[0]))%16==0){\n                                \n                            }else{\n                                if (typeof item.cur_byte == 'undefined'){\n                                    return this._('Для записи этого значения его необходимо сначала считать с устройства')\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n            if (typeof field.reg != 'undefined'){\n                if (field.reg.split('$').length>1){\n                    if(field.reg.split('$')[1].split('#').length>1){\n                        if (field.reg.split('$')[1].split('#')[1].split(':').length>1 && parseInt(field.reg.split('$')[1].split('#')[1].split(':')[0])%16==0 && (parseInt(field.reg.split('$')[1].split('#')[1].split(':')[1])+1)%16==0){\n                              \n                        }else{\n                            if (typeof field.cur_byte == 'undefined'){\n                                return this._('Для записи этого значения его необходимо сначала считать с устройства')\n                            }\n                        }\n                    }\n                }\n            }\n            if (field.restr){\n                if (field.restr.max){\n                    try {\n                        if (field.value && parseInt(field.value)>parseInt(field.restr.max)){\n                            return (this._(\"Максимальное значение\")+': '+field.restr.max)\n                        }    \n                    }catch{\n\n                    }\n                }\n                if (field.restr.min){\n                    try {\n                        if (field.value && parseInt(field.value)<parseInt(field.restr.min)){\n                            return (this._(\"Минимальное значение\")+': '+field.restr.min)\n                        }    \n                    }catch{\n\n                    }\n                }\n                if (field.restr.min_len && field.restr.max_len && field.restr.min_len == field.restr.max_len){\n                    if (field.value.length && field.value.length!=field.restr.max_len){\n                        return (this._(\"Требуемая длина\")+': '+field.restr.max_len)\n                    }\n                }\n                if (field.restr.max_len){\n                    if (field.value.length && field.value.length>field.restr.max_len){\n                        return (this._(\"Максимальная длина\")+': '+field.restr.max_len)\n                    }\n                }\n                if (field.restr.min_len){\n                    if (field.value.length && field.value.length>field.restr.mix_len){\n                        return (this._(\"Минимальная длина\")+': '+field.restr.mix_len)\n                    }\n                }\n            }\n            return out\n        },\n    },\n    mounted () {\n        \n    },\n});\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_config_display.vue?./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/m_device_status.vue":
/*!********************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/m_device_status.vue ***!
  \********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _m_device_status_vue_vue_type_template_id_71fdc6ab_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./m_device_status.vue?vue&type=template&id=71fdc6ab&scoped=true& */ \"./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=template&id=71fdc6ab&scoped=true&\");\n/* harmony import */ var _m_device_status_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./m_device_status.vue?vue&type=script&lang=js& */ \"./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=script&lang=js&\");\n/* harmony import */ var _m_device_status_vue_vue_type_style_index_0_id_71fdc6ab_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./m_device_status.vue?vue&type=style&index=0&id=71fdc6ab&scoped=true&lang=css& */ \"./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=style&index=0&id=71fdc6ab&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n;\n\n\n/* normalize component */\n\nvar component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n  _m_device_status_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _m_device_status_vue_vue_type_template_id_71fdc6ab_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,\n  _m_device_status_vue_vue_type_template_id_71fdc6ab_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,\n  false,\n  null,\n  \"71fdc6ab\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"pmanager/vues/pmanager/lib/m_device_status.vue\"\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_device_status.vue?");

/***/ }),

/***/ "./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=script&lang=js&":
/*!********************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=script&lang=js& ***!
  \********************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var pmanager_lib_base_mixin_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pmanager/lib/base_mixin.js */ \"./pmanager/vues/pmanager/lib/base_mixin.js\");\n/* harmony import */ var pmanager_lib_obj_sel_mixin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pmanager/lib/obj_sel_mixin.js */ \"./pmanager/vues/pmanager/lib/obj_sel_mixin.js\");\n/* harmony import */ var pmanager_lib_r_vuex_mixin_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! pmanager/lib/r_vuex_mixin.js */ \"./pmanager/vues/pmanager/lib/r_vuex_mixin.js\");\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n    name:'m_devstatus',\n    mixins:[pmanager_lib_base_mixin_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], pmanager_lib_obj_sel_mixin_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],pmanager_lib_r_vuex_mixin_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]],\n    props:{\n        \n    },\n    data(){\n        return{\n            timer:undefined,\n            format:'HH:MM:SS'\n        }\n    },\n    watch: {\n        \n    },\n    computed:{\n        online(){\n            if (typeof this.r_getter('get_conf_devinfo') != 'undefined'){\n                var data = this.r_getter('get_conf_devinfo');\n                if (data.online){\n                    return {'txt':'Панель на связи','type':'success'}\n                }else{\n                    return {'txt':'Панель не на связи','type':'error'}\n                }\n            }else{\n                return {'txt':'Канал не открыт','type':'error'}\n            }\n        }\n    },\n    methods:{\n        d_format(date){\n            if (!date){return'---'}\n            return new Date(date).toLocaleString('ru',{hour: '2-digit', minute:'2-digit',second:'2-digit'})\n        },\n    },\n    mounted(){\n        this.r_dispatch('conf_getinfo')\n        Vue.set(this,'timer',setInterval(()=>{\n            this.r_dispatch('conf_getinfo')\n        },10000))\n    },\n});\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_device_status.vue?./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./apps/common/vues/common/lib/ui_checkbox.vue?vue&type=script&lang=js&":
/*!******************************************************************************!*\
  !*** ./apps/common/vues/common/lib/ui_checkbox.vue?vue&type=script&lang=js& ***!
  \******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_ui_checkbox_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ui_checkbox.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_checkbox.vue?vue&type=script&lang=js&\");\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_checkbox_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_checkbox.vue?");

/***/ }),

/***/ "./apps/common/vues/common/lib/ui_checkbox.vue?vue&type=template&id=88f5aa06&scoped=true&":
/*!************************************************************************************************!*\
  !*** ./apps/common/vues/common/lib/ui_checkbox.vue?vue&type=template&id=88f5aa06&scoped=true& ***!
  \************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_checkbox_vue_vue_type_template_id_88f5aa06_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render),\n/* harmony export */   \"staticRenderFns\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_checkbox_vue_vue_type_template_id_88f5aa06_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_checkbox_vue_vue_type_template_id_88f5aa06_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ui_checkbox.vue?vue&type=template&id=88f5aa06&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_checkbox.vue?vue&type=template&id=88f5aa06&scoped=true&\");\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_checkbox.vue?");

/***/ }),

/***/ "./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=script&lang=js&":
/*!*************************************************************************************!*\
  !*** ./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=script&lang=js& ***!
  \*************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_ui_collapsed_field_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ui_collapsed_field.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=script&lang=js&\");\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_collapsed_field_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_collapsed_field.vue?");

/***/ }),

/***/ "./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=template&id=53cf1248&scoped=true&":
/*!*******************************************************************************************************!*\
  !*** ./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=template&id=53cf1248&scoped=true& ***!
  \*******************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_collapsed_field_vue_vue_type_template_id_53cf1248_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render),\n/* harmony export */   \"staticRenderFns\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_collapsed_field_vue_vue_type_template_id_53cf1248_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_collapsed_field_vue_vue_type_template_id_53cf1248_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ui_collapsed_field.vue?vue&type=template&id=53cf1248&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=template&id=53cf1248&scoped=true&\");\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_collapsed_field.vue?");

/***/ }),

/***/ "./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=script&lang=js&":
/*!**********************************************************************************!*\
  !*** ./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=script&lang=js& ***!
  \**********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_ui_progress_bar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ui_progress_bar.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=script&lang=js&\");\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_progress_bar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_progress_bar.vue?");

/***/ }),

/***/ "./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=template&id=5cbe238a&scoped=true&":
/*!****************************************************************************************************!*\
  !*** ./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=template&id=5cbe238a&scoped=true& ***!
  \****************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_progress_bar_vue_vue_type_template_id_5cbe238a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render),\n/* harmony export */   \"staticRenderFns\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_progress_bar_vue_vue_type_template_id_5cbe238a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_progress_bar_vue_vue_type_template_id_5cbe238a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ui_progress_bar.vue?vue&type=template&id=5cbe238a&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=template&id=5cbe238a&scoped=true&\");\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_progress_bar.vue?");

/***/ }),

/***/ "./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=script&lang=js&":
/*!*****************************************************************************************!*\
  !*** ./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=script&lang=js& ***!
  \*****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_c_cntl_modbus_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./c_cntl_modbus.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js??vue-loader-options!./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=script&lang=js&\");\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_vue_loader_lib_index_js_vue_loader_options_c_cntl_modbus_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://sur/./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?");

/***/ }),

/***/ "./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=template&id=2a56ef20&":
/*!***********************************************************************************************!*\
  !*** ./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=template&id=2a56ef20& ***!
  \***********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_c_cntl_modbus_vue_vue_type_template_id_2a56ef20___WEBPACK_IMPORTED_MODULE_0__.render),\n/* harmony export */   \"staticRenderFns\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_c_cntl_modbus_vue_vue_type_template_id_2a56ef20___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_c_cntl_modbus_vue_vue_type_template_id_2a56ef20___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./c_cntl_modbus.vue?vue&type=template&id=2a56ef20& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=template&id=2a56ef20&\");\n\n\n//# sourceURL=webpack://sur/./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/com_dev_select.vue?vue&type=script&lang=js&":
/*!********************************************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/com_dev_select.vue?vue&type=script&lang=js& ***!
  \********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_com_dev_select_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./com_dev_select.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/com_dev_select.vue?vue&type=script&lang=js&\");\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_vue_loader_lib_index_js_vue_loader_options_com_dev_select_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/com_dev_select.vue?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/com_dev_select.vue?vue&type=template&id=1e230252&scoped=true&":
/*!**************************************************************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/com_dev_select.vue?vue&type=template&id=1e230252&scoped=true& ***!
  \**************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_com_dev_select_vue_vue_type_template_id_1e230252_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render),\n/* harmony export */   \"staticRenderFns\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_com_dev_select_vue_vue_type_template_id_1e230252_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_com_dev_select_vue_vue_type_template_id_1e230252_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./com_dev_select.vue?vue&type=template&id=1e230252&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/com_dev_select.vue?vue&type=template&id=1e230252&scoped=true&\");\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/com_dev_select.vue?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/electron.vue?vue&type=script&lang=js&":
/*!**************************************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/electron.vue?vue&type=script&lang=js& ***!
  \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_electron_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./electron.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/electron.vue?vue&type=script&lang=js&\");\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_vue_loader_lib_index_js_vue_loader_options_electron_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/electron.vue?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/electron.vue?vue&type=template&id=e87f8860&scoped=true&":
/*!********************************************************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/electron.vue?vue&type=template&id=e87f8860&scoped=true& ***!
  \********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_electron_vue_vue_type_template_id_e87f8860_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render),\n/* harmony export */   \"staticRenderFns\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_electron_vue_vue_type_template_id_e87f8860_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_electron_vue_vue_type_template_id_e87f8860_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./electron.vue?vue&type=template&id=e87f8860&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/electron.vue?vue&type=template&id=e87f8860&scoped=true&\");\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/electron.vue?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=script&lang=js&":
/*!**********************************************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=script&lang=js& ***!
  \**********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_m_config_display_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./m_config_display.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=script&lang=js&\");\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_vue_loader_lib_index_js_vue_loader_options_m_config_display_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_config_display.vue?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=template&id=485dd776&scoped=true&":
/*!****************************************************************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=template&id=485dd776&scoped=true& ***!
  \****************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_m_config_display_vue_vue_type_template_id_485dd776_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render),\n/* harmony export */   \"staticRenderFns\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_m_config_display_vue_vue_type_template_id_485dd776_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_m_config_display_vue_vue_type_template_id_485dd776_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./m_config_display.vue?vue&type=template&id=485dd776&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=template&id=485dd776&scoped=true&\");\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_config_display.vue?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=script&lang=js&":
/*!*********************************************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=script&lang=js& ***!
  \*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_m_device_status_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./m_device_status.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=script&lang=js&\");\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_vue_loader_lib_index_js_vue_loader_options_m_device_status_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_device_status.vue?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=template&id=71fdc6ab&scoped=true&":
/*!***************************************************************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=template&id=71fdc6ab&scoped=true& ***!
  \***************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_m_device_status_vue_vue_type_template_id_71fdc6ab_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render),\n/* harmony export */   \"staticRenderFns\": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_m_device_status_vue_vue_type_template_id_71fdc6ab_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)\n/* harmony export */ });\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_m_device_status_vue_vue_type_template_id_71fdc6ab_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./m_device_status.vue?vue&type=template&id=71fdc6ab&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=template&id=71fdc6ab&scoped=true&\");\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_device_status.vue?");

/***/ }),

/***/ "./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=style&index=0&id=53cf1248&scoped=true&lang=css&":
/*!*********************************************************************************************************************!*\
  !*** ./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=style&index=0&id=53cf1248&scoped=true&lang=css& ***!
  \*********************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_collapsed_field_vue_vue_type_style_index_0_id_53cf1248_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-style-loader/index.js!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ui_collapsed_field.vue?vue&type=style&index=0&id=53cf1248&scoped=true&lang=css& */ \"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=style&index=0&id=53cf1248&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_collapsed_field_vue_vue_type_style_index_0_id_53cf1248_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_collapsed_field_vue_vue_type_style_index_0_id_53cf1248_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_collapsed_field_vue_vue_type_style_index_0_id_53cf1248_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_collapsed_field_vue_vue_type_style_index_0_id_53cf1248_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_collapsed_field.vue?");

/***/ }),

/***/ "./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=style&index=0&id=5cbe238a&scoped=true&lang=css&":
/*!******************************************************************************************************************!*\
  !*** ./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=style&index=0&id=5cbe238a&scoped=true&lang=css& ***!
  \******************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_progress_bar_vue_vue_type_style_index_0_id_5cbe238a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-style-loader/index.js!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ui_progress_bar.vue?vue&type=style&index=0&id=5cbe238a&scoped=true&lang=css& */ \"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=style&index=0&id=5cbe238a&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_progress_bar_vue_vue_type_style_index_0_id_5cbe238a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_progress_bar_vue_vue_type_style_index_0_id_5cbe238a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_progress_bar_vue_vue_type_style_index_0_id_5cbe238a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ui_progress_bar_vue_vue_type_style_index_0_id_5cbe238a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_progress_bar.vue?");

/***/ }),

/***/ "./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=style&index=0&id=2a56ef20&lang=css&":
/*!*************************************************************************************************************!*\
  !*** ./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=style&index=0&id=2a56ef20&lang=css& ***!
  \*************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_c_cntl_modbus_vue_vue_type_style_index_0_id_2a56ef20_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader/index.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./c_cntl_modbus.vue?vue&type=style&index=0&id=2a56ef20&lang=css& */ \"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=style&index=0&id=2a56ef20&lang=css&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_c_cntl_modbus_vue_vue_type_style_index_0_id_2a56ef20_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_c_cntl_modbus_vue_vue_type_style_index_0_id_2a56ef20_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_c_cntl_modbus_vue_vue_type_style_index_0_id_2a56ef20_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_c_cntl_modbus_vue_vue_type_style_index_0_id_2a56ef20_lang_css___WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceURL=webpack://sur/./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=style&index=0&id=485dd776&scoped=true&lang=css&":
/*!******************************************************************************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=style&index=0&id=485dd776&scoped=true&lang=css& ***!
  \******************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_m_config_display_vue_vue_type_style_index_0_id_485dd776_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader/index.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./m_config_display.vue?vue&type=style&index=0&id=485dd776&scoped=true&lang=css& */ \"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=style&index=0&id=485dd776&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_m_config_display_vue_vue_type_style_index_0_id_485dd776_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_m_config_display_vue_vue_type_style_index_0_id_485dd776_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_m_config_display_vue_vue_type_style_index_0_id_485dd776_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_m_config_display_vue_vue_type_style_index_0_id_485dd776_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_config_display.vue?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=style&index=0&id=71fdc6ab&scoped=true&lang=css&":
/*!*****************************************************************************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=style&index=0&id=71fdc6ab&scoped=true&lang=css& ***!
  \*****************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_m_device_status_vue_vue_type_style_index_0_id_71fdc6ab_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-style-loader/index.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./m_device_status.vue?vue&type=style&index=0&id=71fdc6ab&scoped=true&lang=css& */ \"./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=style&index=0&id=71fdc6ab&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_m_device_status_vue_vue_type_style_index_0_id_71fdc6ab_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_m_device_status_vue_vue_type_style_index_0_id_71fdc6ab_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_m_device_status_vue_vue_type_style_index_0_id_71fdc6ab_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_m_device_status_vue_vue_type_style_index_0_id_71fdc6ab_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_device_status.vue?");

/***/ }),

/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_checkbox.vue?vue&type=template&id=88f5aa06&scoped=true&":
/*!***************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_checkbox.vue?vue&type=template&id=88f5aa06&scoped=true& ***!
  \***************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* binding */ render),\n/* harmony export */   \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", [\n    _c(\"input\", {\n      directives: [\n        {\n          name: \"model\",\n          rawName: \"v-model\",\n          value: _vm.val,\n          expression: \"val\",\n        },\n      ],\n      attrs: { type: \"checkbox\" },\n      domProps: {\n        checked: Array.isArray(_vm.val) ? _vm._i(_vm.val, null) > -1 : _vm.val,\n      },\n      on: {\n        change: [\n          function ($event) {\n            var $$a = _vm.val,\n              $$el = $event.target,\n              $$c = $$el.checked ? true : false\n            if (Array.isArray($$a)) {\n              var $$v = null,\n                $$i = _vm._i($$a, $$v)\n              if ($$el.checked) {\n                $$i < 0 && (_vm.val = $$a.concat([$$v]))\n              } else {\n                $$i > -1 &&\n                  (_vm.val = $$a.slice(0, $$i).concat($$a.slice($$i + 1)))\n              }\n            } else {\n              _vm.val = $$c\n            }\n          },\n          _vm.handleInput,\n        ],\n      },\n    }),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_checkbox.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=template&id=53cf1248&scoped=true&":
/*!**********************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=template&id=53cf1248&scoped=true& ***!
  \**********************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* binding */ render),\n/* harmony export */   \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"panel panel-default collapsed-panel\" }, [\n    _c(\n      \"div\",\n      {\n        staticClass: \"panel-heading\",\n        on: {\n          click: function ($event) {\n            _vm.open = !_vm.open\n          },\n        },\n      },\n      [\n        _c(\"table\", { attrs: { width: \"100%\" } }, [\n          _c(\"tr\", [\n            _c(\n              \"td\",\n              { staticStyle: { \"padding-right\": \"5px\", width: \"0px\" } },\n              [\n                _vm.open\n                  ? _c(\"span\", {\n                      staticClass: \"glyphicon glyphicon-chevron-down\",\n                    })\n                  : _vm._e(),\n                _vm._v(\" \"),\n                !_vm.open\n                  ? _c(\"span\", {\n                      staticClass: \"glyphicon glyphicon-chevron-right\",\n                    })\n                  : _vm._e(),\n                _vm._v(\" \"),\n                _c(\"span\", [_vm._v(_vm._s(_vm.label))]),\n              ]\n            ),\n            _vm._v(\" \"),\n            _c(\"td\", { staticStyle: { width: \"100%\" } }, [_vm._t(\"header\")], 2),\n          ]),\n        ]),\n      ]\n    ),\n    _vm._v(\" \"),\n    _vm.open\n      ? _c(\"div\", { staticClass: \"panel-body\" }, [_vm._t(\"default\")], 2)\n      : _vm._e(),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_collapsed_field.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=template&id=5cbe238a&scoped=true&":
/*!*******************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=template&id=5cbe238a&scoped=true& ***!
  \*******************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* binding */ render),\n/* harmony export */   \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    {\n      class: \"progress \" + _vm.type,\n      staticStyle: { margin: \"5px\", width: \"100%\" },\n    },\n    [\n      _vm.progress > 0\n        ? _c(\n            \"div\",\n            {\n              staticClass: \"progress-bar\",\n              style: { width: _vm.progress + \"%\" },\n              attrs: { role: \"progressbar\" },\n            },\n            [_vm._v(_vm._s(_vm.progress_s) + \"\\n        \")]\n          )\n        : _c(\n            \"div\",\n            { staticStyle: { width: \"100%\", \"text-align\": \"center\" } },\n            [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.progress_s) + \"\\n\\t\\t\")]\n          ),\n    ]\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_progress_bar.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=template&id=2a56ef20&":
/*!**************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=template&id=2a56ef20& ***!
  \**************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* binding */ render),\n/* harmony export */   \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticStyle: { \"margin-top\": \"7px\" } }, [\n    _c(\n      \"form\",\n      {\n        staticClass: \"form-horizontal mbus-form\",\n        staticStyle: { \"max-width\": \"600px\" },\n        attrs: { role: \"form\" },\n      },\n      [\n        _c(\"div\", { staticClass: \"form-group\" }, [\n          _c(\"label\", { staticClass: \"col-sm-3 control-label\" }, [\n            _vm._v(\"Формат номера регистра\"),\n          ]),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"col-sm-9\" }, [\n            _c(\n              \"select\",\n              {\n                directives: [\n                  {\n                    name: \"model\",\n                    rawName: \"v-model\",\n                    value: _vm.reg_type,\n                    expression: \"reg_type\",\n                  },\n                ],\n                staticClass: \"form-control input-sm\",\n                on: {\n                  change: function ($event) {\n                    var $$selectedVal = Array.prototype.filter\n                      .call($event.target.options, function (o) {\n                        return o.selected\n                      })\n                      .map(function (o) {\n                        var val = \"_value\" in o ? o._value : o.value\n                        return val\n                      })\n                    _vm.reg_type = $event.target.multiple\n                      ? $$selectedVal\n                      : $$selectedVal[0]\n                  },\n                },\n              },\n              [\n                _c(\"option\", [_vm._v(\"Hex\")]),\n                _vm._v(\" \"),\n                _c(\"option\", [_vm._v(\"Dec\")]),\n              ]\n            ),\n          ]),\n        ]),\n        _vm._v(\" \"),\n        _c(\"div\", { staticClass: \"form-group\" }, [\n          _c(\"label\", { staticClass: \"col-sm-3 control-label\" }, [\n            _vm._v(\"Номер регистра\"),\n          ]),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"col-sm-9\" }, [\n            _c(\"input\", {\n              directives: [\n                {\n                  name: \"model\",\n                  rawName: \"v-model\",\n                  value: _vm.reg_num,\n                  expression: \"reg_num\",\n                },\n              ],\n              staticClass: \"form-control input-sm\",\n              attrs: { type: \"text\" },\n              domProps: { value: _vm.reg_num },\n              on: {\n                input: function ($event) {\n                  if ($event.target.composing) {\n                    return\n                  }\n                  _vm.reg_num = $event.target.value\n                },\n              },\n            }),\n          ]),\n        ]),\n        _vm._v(\" \"),\n        _c(\"div\", { staticClass: \"form-group\" }, [\n          _c(\"label\", { staticClass: \"col-sm-3 control-label\" }, [\n            _vm._v(\"Считать байт\"),\n          ]),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"col-sm-9\" }, [\n            _c(\"input\", {\n              directives: [\n                {\n                  name: \"model\",\n                  rawName: \"v-model\",\n                  value: _vm.bytes_count,\n                  expression: \"bytes_count\",\n                },\n              ],\n              staticClass: \"form-control\",\n              attrs: { type: \"text\" },\n              domProps: { value: _vm.bytes_count },\n              on: {\n                input: function ($event) {\n                  if ($event.target.composing) {\n                    return\n                  }\n                  _vm.bytes_count = $event.target.value\n                },\n              },\n            }),\n          ]),\n        ]),\n        _vm._v(\" \"),\n        _c(\"div\", { staticClass: \"form-group\" }, [\n          _c(\"label\", { staticClass: \"col-sm-3 control-label\" }, [\n            _vm._v(\"Формат данных\"),\n          ]),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"col-sm-9\" }, [\n            _c(\n              \"select\",\n              {\n                directives: [\n                  {\n                    name: \"model\",\n                    rawName: \"v-model\",\n                    value: _vm.data_type,\n                    expression: \"data_type\",\n                  },\n                ],\n                staticClass: \"form-control\",\n                on: {\n                  change: function ($event) {\n                    var $$selectedVal = Array.prototype.filter\n                      .call($event.target.options, function (o) {\n                        return o.selected\n                      })\n                      .map(function (o) {\n                        var val = \"_value\" in o ? o._value : o.value\n                        return val\n                      })\n                    _vm.data_type = $event.target.multiple\n                      ? $$selectedVal\n                      : $$selectedVal[0]\n                  },\n                },\n              },\n              _vm._l(_vm.mdata_types, function (itm) {\n                return _c(\n                  \"option\",\n                  { key: \"mb_option_\" + itm[0], domProps: { value: itm[0] } },\n                  [\n                    _vm._v(\n                      \"(\" +\n                        _vm._s(itm[0]) +\n                        \") \" +\n                        _vm._s(itm[1]) +\n                        \"\\n\\t\\t\\t\\t\\t\\t\"\n                    ),\n                  ]\n                )\n              }),\n              0\n            ),\n          ]),\n        ]),\n        _vm._v(\" \"),\n        _c(\"div\", { staticClass: \"form-group\" }, [\n          _c(\"label\", { staticClass: \"col-sm-3 control-label\" }, [\n            _vm._v(\"Данные\"),\n          ]),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"col-sm-9\" }, [\n            _c(\n              \"div\",\n              {\n                staticStyle: {\n                  border: \"1px solid green\",\n                  \"border-radius\": \"3px\",\n                  padding: \"6px 12px\",\n                },\n              },\n              [\n                _vm._v(\n                  \"\\n\\t\\t\\t\\t\\t\\t\" + _vm._s(_vm.cur_reg_data) + \"\\n\\t\\t\\t\\t\\t\"\n                ),\n              ]\n            ),\n          ]),\n        ]),\n        _vm._v(\" \"),\n        _c(\"div\", { staticClass: \"form-group\" }, [\n          _c(\"label\", { staticClass: \"col-sm-3 control-label\" }, [\n            _vm._v(\"Установить\"),\n          ]),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"col-sm-9\" }, [\n            _c(\"textarea\", {\n              directives: [\n                {\n                  name: \"model\",\n                  rawName: \"v-model\",\n                  value: _vm.new_reg_data,\n                  expression: \"new_reg_data\",\n                },\n              ],\n              staticClass: \"form-control\",\n              attrs: { rows: \"3\" },\n              domProps: { value: _vm.new_reg_data },\n              on: {\n                input: function ($event) {\n                  if ($event.target.composing) {\n                    return\n                  }\n                  _vm.new_reg_data = $event.target.value\n                },\n              },\n            }),\n          ]),\n        ]),\n        _vm._v(\" \"),\n        _c(\"div\", { staticClass: \"form-group\" }, [\n          _c(\"div\", { staticClass: \"col-sm-offset-3 col-sm-9\" }, [\n            _c(\n              \"button\",\n              {\n                staticClass: \"btn btn-success\",\n                on: {\n                  click: function ($event) {\n                    $event.preventDefault()\n                    return _vm.on_read_click()\n                  },\n                },\n              },\n              [_vm._v(\"Считать регистры\")]\n            ),\n            _vm._v(\" \"),\n            _c(\n              \"button\",\n              {\n                staticClass: \"btn btn-warning\",\n                on: {\n                  click: function ($event) {\n                    $event.preventDefault()\n                    return _vm.on_write_click()\n                  },\n                },\n              },\n              [_vm._v(\"Записать регистры\")]\n            ),\n          ]),\n        ]),\n      ]\n    ),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://sur/./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/com_dev_select.vue?vue&type=template&id=1e230252&scoped=true&":
/*!*****************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/com_dev_select.vue?vue&type=template&id=1e230252&scoped=true& ***!
  \*****************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* binding */ render),\n/* harmony export */   \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", [\n    _c(\"span\", [_vm._v(\"Выберите порт:\")]),\n    _vm._v(\" \"),\n    _c(\n      \"select\",\n      {\n        directives: [\n          {\n            name: \"model\",\n            rawName: \"v-model\",\n            value: _vm.sel_com,\n            expression: \"sel_com\",\n          },\n        ],\n        attrs: { disabled: _vm.r_getter(\"get_conf_loading\") },\n        on: {\n          change: [\n            function ($event) {\n              var $$selectedVal = Array.prototype.filter\n                .call($event.target.options, function (o) {\n                  return o.selected\n                })\n                .map(function (o) {\n                  var val = \"_value\" in o ? o._value : o.value\n                  return val\n                })\n              _vm.sel_com = $event.target.multiple\n                ? $$selectedVal\n                : $$selectedVal[0]\n            },\n            function ($event) {\n              return _vm.on_change()\n            },\n          ],\n        },\n      },\n      [\n        _c(\"option\", { attrs: { value: \"\" } }, [_vm._v(\"---\")]),\n        _vm._v(\" \"),\n        _vm._l(_vm.com_ports, function (port, index) {\n          return _c(\n            \"option\",\n            { key: \"com_port_select_\" + index, domProps: { value: port.path } },\n            [_vm._v(\"\\n            \" + _vm._s(port.path) + \"\\n        \")]\n          )\n        }),\n      ],\n      2\n    ),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/com_dev_select.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/electron.vue?vue&type=template&id=e87f8860&scoped=true&":
/*!***********************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/electron.vue?vue&type=template&id=e87f8860&scoped=true& ***!
  \***********************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* binding */ render),\n/* harmony export */   \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticStyle: { padding: \"10px\" } },\n    [\n      _c(\"com-dev-select\", { staticStyle: { padding: \"10px\" } }),\n      _vm._v(\" \"),\n      _c(\"m-config-display\", {\n        attrs: { mode: \"app\", fields: _vm.r_getter(\"get_conf_list\") },\n      }),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/electron.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=template&id=485dd776&scoped=true&":
/*!*******************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=template&id=485dd776&scoped=true& ***!
  \*******************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* binding */ render),\n/* harmony export */   \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    [\n      _c(\"div\", { staticStyle: { clear: \"both\" } }),\n      _vm._v(\" \"),\n      !_vm.r_getter(\"get_is_connected\")\n        ? _c(\"div\", [\n            _c(\"h2\", { class: _vm.r_getter(\"get_conf_status\").mes_type }, [\n              _vm._v(_vm._s(_vm.r_getter(\"get_conf_status\").mes)),\n            ]),\n          ])\n        : _vm._e(),\n      _vm._v(\" \"),\n      _vm.tree == \"\" && _vm.mode == \"app\" && _vm.r_getter(\"get_is_connected\")\n        ? _c(\n            \"div\",\n            {\n              staticStyle: {\n                padding: \"15px\",\n                \"padding-top\": \"5px\",\n                \"text-align\": \"right\",\n              },\n            },\n            [\n              _c(\n                \"button\",\n                {\n                  staticClass: \"btn btn-default btn-pad\",\n                  attrs: {\n                    type: \"button\",\n                    disabled:\n                      !_vm.data_ok || _vm.loading || _vm.fields.length == 0,\n                  },\n                  on: {\n                    click: function ($event) {\n                      return _vm.on_read(\"!all\")\n                    },\n                  },\n                },\n                [_vm._v(\"Считать всё\")]\n              ),\n              _vm._v(\" \"),\n              _c(\n                \"button\",\n                {\n                  staticClass: \"btn btn-default btn-pad\",\n                  attrs: {\n                    type: \"button\",\n                    disabled: !_vm.data_ok || _vm.loading || !_vm.changed,\n                  },\n                  on: {\n                    click: function ($event) {\n                      return _vm.on_write(\"!all\")\n                    },\n                  },\n                },\n                [_vm._v(\"Сохранить всё\")]\n              ),\n              _vm._v(\" \"),\n              _vm.mode == \"app\"\n                ? _c(\n                    \"button\",\n                    {\n                      staticClass: \"btn btn-success btn-pad\",\n                      style: {\n                        \"margin-left\": \"25px\",\n                        visibility:\n                          _vm.r_getter(\"get_service\")(\"MODBUS_WRITE\") == null\n                            ? \"hidden\"\n                            : \"\",\n                      },\n                      attrs: { type: \"button\", disabled: _vm.loading },\n                      on: {\n                        click: function ($event) {\n                          return _vm.on_writeflash()\n                        },\n                      },\n                    },\n                    [_vm._v(\"Записать в ПЗУ\")]\n                  )\n                : _vm._e(),\n              _vm._v(\" \"),\n              _vm.mode == \"app\"\n                ? _c(\n                    \"button\",\n                    {\n                      staticClass: \"btn btn-danger btn-pad\",\n                      style: {\n                        visibility:\n                          _vm.r_getter(\"get_service\")(\"REBOOT\") == null\n                            ? \"hidden\"\n                            : \"\",\n                      },\n                      attrs: { type: \"button\", disabled: _vm.loading },\n                      on: {\n                        click: function ($event) {\n                          return _vm.on_reboot()\n                        },\n                      },\n                    },\n                    [_vm._v(\"Перезагрузить прибор\")]\n                  )\n                : _vm._e(),\n            ]\n          )\n        : _vm._e(),\n      _vm._v(\" \"),\n      _vm.tree == \"\" && _vm.r_getter(\"get_is_connected\")\n        ? _c(\n            \"div\",\n            {\n              staticStyle: {\n                padding: \"15px\",\n                \"padding-top\": \"5px\",\n                \"text-align\": \"right\",\n              },\n            },\n            [_c(\"span\", [_vm._v(_vm._s(_vm.r_getter(\"get_conf_v_mes\")))])]\n          )\n        : _vm._e(),\n      _vm._v(\" \"),\n      _vm.tree == \"\" &&\n      _vm.fields.length == 0 &&\n      _vm.r_getter(\"get_is_connected\")\n        ? _c(\n            \"div\",\n            {\n              staticStyle: {\n                padding: \"15px\",\n                \"padding-top\": \"5px\",\n                \"text-align\": \"right\",\n              },\n            },\n            [_c(\"span\", [_vm._v(\"Список полей пуст\")])]\n          )\n        : _vm._e(),\n      _vm._v(\" \"),\n      _vm.tree == \"\" && _vm.r_getter(\"get_is_connected\")\n        ? _c(\n            \"div\",\n            { staticStyle: { \"padding-top\": \"5px\", \"text-align\": \"right\" } },\n            [\n              _c(\n                \"span\",\n                {\n                  class:\n                    \"conf_g_status \" + _vm.r_getter(\"get_conf_status\").mes_type,\n                },\n                [\n                  _vm._v(\n                    \"\\n            \" +\n                      _vm._s(_vm.r_getter(\"get_conf_status\").mes) +\n                      \"\\n        \"\n                  ),\n                ]\n              ),\n              _vm._v(\" \"),\n              typeof _vm.r_getter(\"get_conf_status\").loading != \"undefined\"\n                ? _c(\"ui-progress-bar\", {\n                    attrs: {\n                      type:\n                        _vm.r_getter(\"get_conf_status\").loading_t || _vm.cmd,\n                      progress: _vm.r_getter(\"get_conf_status\").loading || 0,\n                    },\n                  })\n                : _vm._e(),\n              _vm._v(\" \"),\n              !_vm.child\n                ? _c(\n                    \"div\",\n                    {\n                      staticClass: \"m_menu\",\n                      staticStyle: {\n                        \"white-space\": \"nowrap\",\n                        \"overflow-x\": \"auto\",\n                        \"text-align\": \"left\",\n                      },\n                    },\n                    [\n                      _vm._l(_vm.fields, function (field) {\n                        return _c(\n                          \"div\",\n                          {\n                            key: \"config_field_menu\" + field.key,\n                            class:\n                              field.key == _vm.r_select ? \"r_selected\" : \"\",\n                            staticStyle: { display: \"inline-block\" },\n                            on: {\n                              click: function ($event) {\n                                return _vm.on_tab_switch(field)\n                              },\n                            },\n                          },\n                          [\n                            _c(\"span\", [\n                              field.loading\n                                ? _c(\"i\", {\n                                    staticClass: \"fa fa-spinner rotating\",\n                                    attrs: {\n                                      \"aria-hidden\": \"true\",\n                                      title: (field.loading || \"-1\") + \"%\",\n                                    },\n                                  })\n                                : !_vm.check_all([field])\n                                ? _c(\"i\", {\n                                    staticClass: \"fa fa-warning\",\n                                    attrs: {\n                                      \"aria-hidden\": \"true\",\n                                      title: \"Неверно введённые значения\",\n                                    },\n                                  })\n                                : field.mes &&\n                                  field.mes_type &&\n                                  field.mes_type == \"error\"\n                                ? _c(\"i\", {\n                                    staticClass: \"fa fa-warning\",\n                                    attrs: {\n                                      \"aria-hidden\": \"true\",\n                                      title: field.mes,\n                                    },\n                                  })\n                                : field.mes &&\n                                  field.mes_type &&\n                                  field.mes_type == \"success\"\n                                ? _c(\"i\", {\n                                    staticClass: \"fa fa-check\",\n                                    attrs: {\n                                      \"aria-hidden\": \"true\",\n                                      title: field.mes,\n                                    },\n                                  })\n                                : _c(\"i\", {\n                                    staticClass: \"fa fa-warning\",\n                                    staticStyle: { visibility: \"hidden\" },\n                                    attrs: { \"aria-hidden\": \"true\" },\n                                  }),\n                            ]),\n                            _vm._v(\n                              \"\\n                \" +\n                                _vm._s(field.title) +\n                                \"\\n                \"\n                            ),\n                            _c(\"span\", [\n                              _vm.changed1(field.key)\n                                ? _c(\"i\", {\n                                    staticClass: \"fa fa-asterisk\",\n                                    attrs: { \"aria-hidden\": \"true\" },\n                                  })\n                                : _c(\"i\", {\n                                    staticClass: \"fa fa-warning\",\n                                    staticStyle: { visibility: \"hidden\" },\n                                    attrs: { \"aria-hidden\": \"true\" },\n                                  }),\n                            ]),\n                          ]\n                        )\n                      }),\n                      _vm._v(\" \"),\n                      !_vm.is_elec\n                        ? _c(\n                            \"div\",\n                            {\n                              class: \"mb\" == _vm.r_select ? \"r_selected\" : \"\",\n                              staticStyle: { display: \"inline-block\" },\n                              on: {\n                                click: function ($event) {\n                                  return _vm.on_tab_switch(\"mb\")\n                                },\n                              },\n                            },\n                            [\n                              _vm._v(\n                                \"\\n                Регистры ModBUS\\n            \"\n                              ),\n                            ]\n                          )\n                        : _vm._e(),\n                      _vm._v(\" \"),\n                      _c(\"br\", { staticStyle: { clear: \"both\" } }),\n                    ],\n                    2\n                  )\n                : _vm._e(),\n            ],\n            1\n          )\n        : _vm._e(),\n      _vm._v(\" \"),\n      _vm._l(_vm.fields_show_filt, function (field) {\n        return _c(\n          \"div\",\n          {\n            key: \"config_field\" + field.key,\n            class:\n              [1, 2, 3, 5].includes(field.type) && _vm.has_label\n                ? \"inline\"\n                : \"\",\n          },\n          [\n            !_vm.child\n              ? _c(\"div\", { staticClass: \"m_header\" }, [\n                  _c(\"table\", { attrs: { width: \"100%\" } }, [\n                    _c(\"tr\", [\n                      _c(\"td\", [\n                        _c(\"div\", { staticClass: \"header\" }, [\n                          _vm._v(_vm._s(field.title)),\n                        ]),\n                      ]),\n                      _vm._v(\" \"),\n                      field.loading != undefined\n                        ? _c(\n                            \"td\",\n                            {\n                              staticStyle: {\n                                width: \"200px\",\n                                \"padding-right\": \"30px\",\n                              },\n                              attrs: { align: \"right\" },\n                            },\n                            [\n                              _c(\"ui-progress-bar\", {\n                                attrs: {\n                                  progress: field.loading || 0,\n                                  type: field.loading_t || \"read\",\n                                },\n                              }),\n                            ],\n                            1\n                          )\n                        : _vm._e(),\n                      _vm._v(\" \"),\n                      field.mes != undefined\n                        ? _c(\n                            \"td\",\n                            {\n                              staticStyle: { \"padding-right\": \"30px\" },\n                              attrs: { align: \"right\" },\n                            },\n                            [\n                              _c(\"span\", { class: field.mes_type }, [\n                                _vm._v(_vm._s(field.mes)),\n                              ]),\n                            ]\n                          )\n                        : _vm._e(),\n                      _vm._v(\" \"),\n                      _c(\n                        \"td\",\n                        {\n                          staticStyle: { width: \"1%\", \"white-space\": \"nowrap\" },\n                          attrs: { align: \"right\" },\n                        },\n                        [\n                          _c(\"div\", [\n                            _c(\n                              \"div\",\n                              {\n                                staticStyle: { width: \"fit-content\" },\n                                on: {\n                                  click: function ($event) {\n                                    $event.stopPropagation()\n                                  },\n                                },\n                              },\n                              [\n                                _c(\n                                  \"button\",\n                                  {\n                                    staticClass: \"btn btn-default\",\n                                    attrs: {\n                                      type: \"button\",\n                                      disabled: _vm.loading,\n                                    },\n                                    on: {\n                                      click: function ($event) {\n                                        return _vm.on_read(field.key)\n                                      },\n                                    },\n                                  },\n                                  [_vm._v(\"Считать\")]\n                                ),\n                                _vm._v(\" \"),\n                                _c(\n                                  \"button\",\n                                  {\n                                    staticClass: \"btn btn-success\",\n                                    attrs: {\n                                      type: \"button\",\n                                      disabled:\n                                        !_vm.data_ok ||\n                                        _vm.loading ||\n                                        !_vm.changed1(field.key),\n                                    },\n                                    on: {\n                                      click: function ($event) {\n                                        return _vm.on_write(field.key)\n                                      },\n                                    },\n                                  },\n                                  [_vm._v(\"Сохранить\")]\n                                ),\n                                _vm._v(\" \"),\n                                _c(\n                                  \"button\",\n                                  {\n                                    staticClass: \"btn btn-danger\",\n                                    attrs: {\n                                      type: \"button\",\n                                      disabled:\n                                        !_vm.changed1(field.key) || _vm.loading,\n                                    },\n                                    on: {\n                                      click: function ($event) {\n                                        return _vm.on_clear(field.key)\n                                      },\n                                    },\n                                  },\n                                  [_vm._v(\"Отменить\")]\n                                ),\n                              ]\n                            ),\n                          ]),\n                        ]\n                      ),\n                    ]),\n                  ]),\n                ])\n              : _vm._e(),\n            _vm._v(\" \"),\n            _c(\n              \"div\",\n              {\n                class:\n                  (_vm.child ? \"m_config_body level_\" + _vm.level : \"m_root\") +\n                  (_vm.has_label ? \" content-wrap\" : \" no_border content-wrap\"),\n              },\n              [\n                _vm.child && _vm.has_label\n                  ? _c(\"div\", { staticClass: \"header\" }, [\n                      _vm._v(_vm._s(field.title)),\n                    ])\n                  : _vm._e(),\n                _vm._v(\" \"),\n                _c(\n                  \"div\",\n                  { staticClass: \"content\" },\n                  [\n                    !_vm.tree.length > 0 && _vm.shutter_text(field).length > 0\n                      ? _c(\n                          \"div\",\n                          {\n                            style: {\n                              width: \"100%\",\n                              height: \"100%\",\n                              position: \"absolute\",\n                              \"background-color\": \"rgba(0,0,0,0.5)\",\n                              \"z-index\": \"9999\",\n                            },\n                          },\n                          [\n                            _c(\n                              \"h3\",\n                              {\n                                staticStyle: {\n                                  color: \"white\",\n                                  \"text-align\": \"center\",\n                                  width: \"100%\",\n                                },\n                              },\n                              [_vm._v(_vm._s(_vm.shutter_text(field)))]\n                            ),\n                          ]\n                        )\n                      : _vm._e(),\n                    _vm._v(\" \"),\n                    field.fields\n                      ? _c(\"m-config-display\", {\n                          attrs: {\n                            fields: field.fields,\n                            child: true,\n                            tree:\n                              _vm.tree +\n                              (_vm.tree.length > 0 ? \"@\" : \"\") +\n                              field.key,\n                          },\n                        })\n                      : _vm._e(),\n                    _vm._v(\" \"),\n                    field.type\n                      ? _c(\"div\", [\n                          field.type == \"1\" || field.type == \"2\"\n                            ? _c(\"div\", [\n                                _c(\n                                  \"div\",\n                                  {\n                                    staticStyle: {\n                                      display: \"table\",\n                                      \"max-width\": \"500px\",\n                                    },\n                                  },\n                                  [\n                                    _c(\n                                      \"div\",\n                                      {\n                                        staticStyle: { display: \"table-cell\" },\n                                      },\n                                      [\n                                        _c(\"input\", {\n                                          directives: [\n                                            {\n                                              name: \"model\",\n                                              rawName: \"v-model\",\n                                              value: field.value,\n                                              expression: \"field.value\",\n                                            },\n                                          ],\n                                          class:\n                                            field.type == \"1\"\n                                              ? \"textinput\"\n                                              : \"numinput\",\n                                          style: {\n                                            width: field.length\n                                              ? field.length + \"ch\"\n                                              : \"\",\n                                          },\n                                          attrs: {\n                                            disabled: _vm.shutter(field),\n                                          },\n                                          domProps: { value: field.value },\n                                          on: {\n                                            input: function ($event) {\n                                              if ($event.target.composing) {\n                                                return\n                                              }\n                                              _vm.$set(\n                                                field,\n                                                \"value\",\n                                                $event.target.value\n                                              )\n                                            },\n                                          },\n                                        }),\n                                      ]\n                                    ),\n                                    _vm._v(\" \"),\n                                    field.read\n                                      ? _c(\n                                          \"div\",\n                                          {\n                                            staticStyle: {\n                                              display: \"table-cell\",\n                                            },\n                                          },\n                                          [\n                                            _c(\n                                              \"button\",\n                                              {\n                                                staticClass: \"btn no-hide\",\n                                                attrs: {\n                                                  disabled:\n                                                    _vm.loading ||\n                                                    _vm.shutter(field),\n                                                  title: \"Считать с устройства\",\n                                                },\n                                                on: {\n                                                  click: function ($event) {\n                                                    return _vm.on_dev_read(\n                                                      field.reg\n                                                    )\n                                                  },\n                                                },\n                                              },\n                                              [\n                                                _vm.loading && field.r_loading\n                                                  ? _c(\"i\", {\n                                                      staticClass:\n                                                        \"fa fa-spinner rotating\",\n                                                      attrs: {\n                                                        \"aria-hidden\": \"true\",\n                                                      },\n                                                    })\n                                                  : field.r_done\n                                                  ? _c(\"i\", {\n                                                      staticClass:\n                                                        \"fa fa-check conf_g_status success\",\n                                                      attrs: {\n                                                        \"aria-hidden\": \"true\",\n                                                      },\n                                                    })\n                                                  : _c(\"i\", {\n                                                      staticClass:\n                                                        \"fa fa-share-square-o\",\n                                                      attrs: {\n                                                        \"aria-hidden\": \"true\",\n                                                      },\n                                                    }),\n                                              ]\n                                            ),\n                                          ]\n                                        )\n                                      : _vm._e(),\n                                  ]\n                                ),\n                              ])\n                            : _vm._e(),\n                          _vm._v(\" \"),\n                          field.type == \"3\"\n                            ? _c(\n                                \"div\",\n                                [\n                                  _c(\"ui-checkbox\", {\n                                    attrs: { disabled: _vm.shutter(field) },\n                                    model: {\n                                      value: field.value,\n                                      callback: function ($$v) {\n                                        _vm.$set(field, \"value\", $$v)\n                                      },\n                                      expression: \"field.value\",\n                                    },\n                                  }),\n                                ],\n                                1\n                              )\n                            : _vm._e(),\n                          _vm._v(\" \"),\n                          field.type == \"4\"\n                            ? _c(\"div\", [\n                                field.pagable\n                                  ? _c(\"table\", { attrs: { width: \"100%\" } }, [\n                                      Math.ceil(\n                                        field.props.y.length /\n                                          field.pagable.size\n                                      ) > 20\n                                        ? _c(\"tr\", [\n                                            _c(\n                                              \"td\",\n                                              { attrs: { align: \"center\" } },\n                                              [\n                                                _c(\n                                                  \"a\",\n                                                  {\n                                                    style: {\n                                                      visibility:\n                                                        field.pagable.page - 1 >\n                                                        0\n                                                          ? \"\"\n                                                          : \"hidden\",\n                                                    },\n                                                    on: {\n                                                      click: function ($event) {\n                                                        field.pagable.page = 1\n                                                      },\n                                                    },\n                                                  },\n                                                  [_c(\"u\", [_vm._v(\"1\")])]\n                                                ),\n                                                _vm._v(\" \"),\n                                                _c(\n                                                  \"span\",\n                                                  {\n                                                    style: {\n                                                      visibility:\n                                                        field.pagable.page > 2\n                                                          ? \"\"\n                                                          : \"hidden\",\n                                                    },\n                                                  },\n                                                  [_vm._v(\"..\")]\n                                                ),\n                                                _vm._v(\" \"),\n                                                _c(\"span\", [\n                                                  _c(\"input\", {\n                                                    directives: [\n                                                      {\n                                                        name: \"model\",\n                                                        rawName: \"v-model\",\n                                                        value:\n                                                          field.pagable.page,\n                                                        expression:\n                                                          \"field.pagable.page\",\n                                                      },\n                                                    ],\n                                                    staticStyle: {\n                                                      width: \"fit-content\",\n                                                      \"text-align\": \"center\",\n                                                    },\n                                                    attrs: {\n                                                      type: \"number\",\n                                                      min: \"1\",\n                                                      max: Math.ceil(\n                                                        field.props.y.length /\n                                                          field.pagable.size\n                                                      ),\n                                                    },\n                                                    domProps: {\n                                                      value: field.pagable.page,\n                                                    },\n                                                    on: {\n                                                      change: function () {\n                                                        if (\n                                                          field.pagable.page < 1\n                                                        ) {\n                                                          field.pagable.page = 1\n                                                        }\n                                                        if (\n                                                          field.pagable.page >\n                                                          Math.ceil(\n                                                            field.props.y\n                                                              .length /\n                                                              field.pagable.size\n                                                          )\n                                                        ) {\n                                                          field.pagable.page =\n                                                            Math.ceil(\n                                                              field.props.y\n                                                                .length /\n                                                                field.pagable\n                                                                  .size\n                                                            )\n                                                        }\n                                                        if (!_vm.nr([field])) {\n                                                          _vm.on_read(field.key)\n                                                        }\n                                                      },\n                                                      input: function ($event) {\n                                                        if (\n                                                          $event.target\n                                                            .composing\n                                                        ) {\n                                                          return\n                                                        }\n                                                        _vm.$set(\n                                                          field.pagable,\n                                                          \"page\",\n                                                          $event.target.value\n                                                        )\n                                                      },\n                                                    },\n                                                  }),\n                                                ]),\n                                                _vm._v(\" \"),\n                                                _c(\n                                                  \"span\",\n                                                  {\n                                                    style: {\n                                                      visibility:\n                                                        field.pagable.page <\n                                                        Math.ceil(\n                                                          field.props.y.length /\n                                                            field.pagable.size\n                                                        ) -\n                                                          1\n                                                          ? \"\"\n                                                          : \"hidden\",\n                                                    },\n                                                  },\n                                                  [_vm._v(\"..\")]\n                                                ),\n                                                _vm._v(\" \"),\n                                                _c(\n                                                  \"a\",\n                                                  {\n                                                    style: {\n                                                      visibility:\n                                                        field.pagable.page <\n                                                        Math.ceil(\n                                                          field.props.y.length /\n                                                            field.pagable.size\n                                                        )\n                                                          ? \"\"\n                                                          : \"hidden\",\n                                                    },\n                                                    on: {\n                                                      click: function ($event) {\n                                                        field.pagable.page =\n                                                          Math.ceil(\n                                                            field.props.y\n                                                              .length /\n                                                              field.pagable.size\n                                                          )\n                                                      },\n                                                    },\n                                                  },\n                                                  [\n                                                    _c(\"u\", [\n                                                      _vm._v(\n                                                        _vm._s(\n                                                          Math.ceil(\n                                                            field.props.y\n                                                              .length /\n                                                              field.pagable.size\n                                                          )\n                                                        )\n                                                      ),\n                                                    ]),\n                                                  ]\n                                                ),\n                                              ]\n                                            ),\n                                            _vm._v(\" \"),\n                                            _c(\n                                              \"td\",\n                                              {\n                                                staticStyle: {\n                                                  width: \"1%\",\n                                                  \"white-space\": \"nowrap\",\n                                                  \"padding-right\": \"5px\",\n                                                },\n                                              },\n                                              [\n                                                _c(\"span\", [\n                                                  field.loading\n                                                    ? _c(\"i\", {\n                                                        staticClass:\n                                                          \"fa fa-spinner rotating\",\n                                                        attrs: {\n                                                          \"aria-hidden\": \"true\",\n                                                          title:\n                                                            field.loading ||\n                                                            \"-1\" + \"%\",\n                                                        },\n                                                      })\n                                                    : !_vm.check_all([field])\n                                                    ? _c(\"i\", {\n                                                        staticClass:\n                                                          \"fa fa-warning error\",\n                                                        attrs: {\n                                                          \"aria-hidden\": \"true\",\n                                                          title:\n                                                            \"Неверно введённые значения на страницах: \" +\n                                                            _vm.pagable_error_pages(\n                                                              field\n                                                            ),\n                                                        },\n                                                      })\n                                                    : field.mes &&\n                                                      field.mes_type &&\n                                                      field.mes_type == \"error\"\n                                                    ? _c(\"i\", {\n                                                        staticClass:\n                                                          \"fa fa-warning\",\n                                                        attrs: {\n                                                          \"aria-hidden\": \"true\",\n                                                          title: field.mes,\n                                                        },\n                                                      })\n                                                    : field.mes &&\n                                                      field.mes_type &&\n                                                      field.mes_type ==\n                                                        \"success\"\n                                                    ? _c(\"i\", {\n                                                        staticClass:\n                                                          \"fa fa-check\",\n                                                        attrs: {\n                                                          \"aria-hidden\": \"true\",\n                                                          title: field.mes,\n                                                        },\n                                                      })\n                                                    : _c(\"i\", {\n                                                        staticClass:\n                                                          \"fa fa-warning\",\n                                                        staticStyle: {\n                                                          visibility: \"hidden\",\n                                                        },\n                                                        attrs: {\n                                                          \"aria-hidden\": \"true\",\n                                                        },\n                                                      }),\n                                                ]),\n                                                _vm._v(\" \"),\n                                                 false\n                                                  ? 0\n                                                  : _vm._e(),\n                                              ]\n                                            ),\n                                          ])\n                                        : _c(\"tr\", [\n                                            _c(\n                                              \"td\",\n                                              { attrs: { align: \"center\" } },\n                                              _vm._l(\n                                                Math.ceil(\n                                                  field.props.y.length /\n                                                    field.pagable.size\n                                                ),\n                                                function (page) {\n                                                  return _c(\n                                                    field.pagable.page == page\n                                                      ? \"span\"\n                                                      : \"a\",\n                                                    {\n                                                      key:\n                                                        \"config_field\" +\n                                                        field.key +\n                                                        \"_paginator_page_\" +\n                                                        page,\n                                                      tag: \"component\",\n                                                      on: {\n                                                        click: function (\n                                                          $event\n                                                        ) {\n                                                          if (\n                                                            field.pagable\n                                                              .page == page\n                                                          ) {\n                                                            return\n                                                          }\n                                                          field.pagable.page =\n                                                            page\n                                                          if (\n                                                            !_vm.nr([field])\n                                                          ) {\n                                                            _vm.on_read(\n                                                              field.key\n                                                            )\n                                                          }\n                                                        },\n                                                      },\n                                                    },\n                                                    [\n                                                      _vm._v(\n                                                        \"\\n                                 \\n                                \"\n                                                      ),\n                                                      field.pagable.page == page\n                                                        ? _c(\"span\", [\n                                                            _vm._v(\n                                                              \"\\n                                    [\\n                                \"\n                                                            ),\n                                                          ])\n                                                        : _vm._e(),\n                                                      _vm._v(\" \"),\n                                                      _c(\n                                                        \"span\",\n                                                        {\n                                                          style: {\n                                                            \"text-decoration\":\n                                                              field.pagable\n                                                                .page == page\n                                                                ? \"\"\n                                                                : \"underline\",\n                                                          },\n                                                        },\n                                                        [\n                                                          field.pagable.page !=\n                                                          page\n                                                            ? _c(\"span\", [\n                                                                _vm._v(\" \"),\n                                                              ])\n                                                            : _vm._e(),\n                                                          _vm._v(\n                                                            _vm._s(page) +\n                                                              \"\\n                                \"\n                                                          ),\n                                                        ]\n                                                      ),\n                                                      _vm._v(\" \"),\n                                                      field.pagable.page == page\n                                                        ? _c(\"span\", [\n                                                            _vm._v(\n                                                              \"\\n                                    ]\\n                                \"\n                                                            ),\n                                                          ])\n                                                        : _vm._e(),\n                                                    ]\n                                                  )\n                                                }\n                                              ),\n                                              1\n                                            ),\n                                            _vm._v(\" \"),\n                                            _c(\n                                              \"td\",\n                                              {\n                                                staticStyle: {\n                                                  width: \"1%\",\n                                                  \"white-space\": \"nowrap\",\n                                                  \"padding-right\": \"5px\",\n                                                },\n                                              },\n                                              [\n                                                _c(\"span\", [\n                                                  field.loading\n                                                    ? _c(\"i\", {\n                                                        staticClass:\n                                                          \"fa fa-spinner rotating\",\n                                                        attrs: {\n                                                          \"aria-hidden\": \"true\",\n                                                          title:\n                                                            field.loading ||\n                                                            \"-1\" + \"%\",\n                                                        },\n                                                      })\n                                                    : !_vm.check_all([field])\n                                                    ? _c(\"i\", {\n                                                        staticClass:\n                                                          \"fa fa-warning error\",\n                                                        attrs: {\n                                                          \"aria-hidden\": \"true\",\n                                                          title:\n                                                            \"Неверно введённые значения на страницах: \" +\n                                                            _vm.pagable_error_pages(\n                                                              field\n                                                            ),\n                                                        },\n                                                      })\n                                                    : field.mes &&\n                                                      field.mes_type &&\n                                                      field.mes_type == \"error\"\n                                                    ? _c(\"i\", {\n                                                        staticClass:\n                                                          \"fa fa-warning\",\n                                                        attrs: {\n                                                          \"aria-hidden\": \"true\",\n                                                          title: field.mes,\n                                                        },\n                                                      })\n                                                    : field.mes &&\n                                                      field.mes_type &&\n                                                      field.mes_type ==\n                                                        \"success\"\n                                                    ? _c(\"i\", {\n                                                        staticClass:\n                                                          \"fa fa-check\",\n                                                        attrs: {\n                                                          \"aria-hidden\": \"true\",\n                                                          title: field.mes,\n                                                        },\n                                                      })\n                                                    : _c(\"i\", {\n                                                        staticClass:\n                                                          \"fa fa-warning\",\n                                                        staticStyle: {\n                                                          visibility: \"hidden\",\n                                                        },\n                                                        attrs: {\n                                                          \"aria-hidden\": \"true\",\n                                                        },\n                                                      }),\n                                                ]),\n                                                _vm._v(\" \"),\n                                                 false\n                                                  ? 0\n                                                  : _vm._e(),\n                                              ]\n                                            ),\n                                          ]),\n                                    ])\n                                  : _vm._e(),\n                                _vm._v(\" \"),\n                                field.switchable >= 0 &&\n                                field.props.y[0].x.length > 0\n                                  ? _c(\n                                      \"div\",\n                                      { staticClass: \"switchable\" },\n                                      _vm._l(\n                                        field.props.y[0].x,\n                                        function (f_b, index) {\n                                          return _c(\n                                            \"button\",\n                                            {\n                                              key:\n                                                \"config_field\" +\n                                                field.key +\n                                                \"_select_\" +\n                                                f_b.key,\n                                              class:\n                                                field.switchable == index\n                                                  ? \"r_selected btn btn-default\"\n                                                  : \"btn btn-default\",\n                                              staticStyle: {\n                                                \"margin-right\": \"10px\",\n                                                \"margin-bottom\": \"10px\",\n                                              },\n                                              on: {\n                                                click: function ($event) {\n                                                  field.switchable = index\n                                                },\n                                              },\n                                            },\n                                            [\n                                              _vm._v(\n                                                \"\\n                        \" +\n                                                  _vm._s(f_b.title) +\n                                                  \"\\n                    \"\n                                              ),\n                                            ]\n                                          )\n                                        }\n                                      ),\n                                      0\n                                    )\n                                  : _vm._e(),\n                                _vm._v(\" \"),\n                                _c(\n                                  \"table\",\n                                  { staticClass: \"grid_table\" },\n                                  [\n                                    _vm.prop_filt(field).x_header ||\n                                    _vm.prop_filt(field).x_props_header\n                                      ? _c(\"tr\", { staticClass: \"t_header\" }, [\n                                          _vm.prop_filt(field).y[0].title\n                                            ? _c(\"td\", {\n                                                attrs: { rowspan: \"2\" },\n                                              })\n                                            : _vm._e(),\n                                          _vm._v(\" \"),\n                                          _vm.prop_filt(field).y[0].x_props &&\n                                          _vm.prop_filt(field).y[0].x_props\n                                            .length > 0\n                                            ? _c(\n                                                \"td\",\n                                                {\n                                                  staticStyle: {\n                                                    \"text-align\": \"center\",\n                                                  },\n                                                  attrs: {\n                                                    colspan: _vm.prop_filt(\n                                                      field\n                                                    ).y[0].x_props\n                                                      ? _vm.prop_filt(field)\n                                                          .y[0].x_props.length\n                                                      : 1,\n                                                  },\n                                                },\n                                                [\n                                                  _vm._v(\n                                                    \"\\n                            \" +\n                                                      _vm._s(\n                                                        _vm.prop_filt(field)\n                                                          .x_props_header\n                                                      ) +\n                                                      \"\\n                        \"\n                                                  ),\n                                                ]\n                                              )\n                                            : _vm._e(),\n                                          _vm._v(\" \"),\n                                          _c(\n                                            \"td\",\n                                            {\n                                              staticStyle: {\n                                                \"text-align\": \"center\",\n                                              },\n                                              attrs: {\n                                                colspan:\n                                                  _vm.prop_filt(field).y[0].x\n                                                    .length || 1,\n                                              },\n                                            },\n                                            [\n                                              _vm._v(\n                                                \"\\n                            \" +\n                                                  _vm._s(\n                                                    _vm.prop_filt(field)\n                                                      .x_header\n                                                  ) +\n                                                  \"\\n                        \"\n                                              ),\n                                            ]\n                                          ),\n                                        ])\n                                      : _vm._e(),\n                                    _vm._v(\" \"),\n                                    _c(\n                                      \"tr\",\n                                      { staticClass: \"t_header\" },\n                                      [\n                                        !(\n                                          _vm.prop_filt(field).x_header ||\n                                          _vm.prop_filt(field).x_props_header\n                                        ) && _vm.prop_filt(field).y[0].title\n                                          ? _c(\"td\")\n                                          : _vm._e(),\n                                        _vm._v(\" \"),\n                                        _vm._l(\n                                          _vm.prop_filt(field).y[0].x_props,\n                                          function (x_prop_item, x_prop_ind) {\n                                            return _c(\n                                              \"td\",\n                                              {\n                                                key:\n                                                  \"config_field\" +\n                                                  field.key +\n                                                  \"_prop_x_\" +\n                                                  x_prop_ind,\n                                                staticStyle: {\n                                                  \"text-align\": \"center\",\n                                                },\n                                              },\n                                              [\n                                                _vm._v(\n                                                  \"\\n                            \" +\n                                                    _vm._s(x_prop_item.title) +\n                                                    \"\\n                        \"\n                                                ),\n                                              ]\n                                            )\n                                          }\n                                        ),\n                                        _vm._v(\" \"),\n                                        _vm._l(\n                                          _vm.prop_filt(field).y[0].x,\n                                          function (x_item, x_ind) {\n                                            return _c(\n                                              \"td\",\n                                              {\n                                                key:\n                                                  \"config_field\" +\n                                                  field.key +\n                                                  \"_x_\" +\n                                                  x_ind,\n                                                staticStyle: {\n                                                  \"text-align\": \"center\",\n                                                },\n                                              },\n                                              [\n                                                _vm._v(\n                                                  \"\\n                            \" +\n                                                    _vm._s(x_item.title) +\n                                                    \"\\n                        \"\n                                                ),\n                                              ]\n                                            )\n                                          }\n                                        ),\n                                      ],\n                                      2\n                                    ),\n                                    _vm._v(\" \"),\n                                    _vm._l(\n                                      _vm.prop_filt(field).y,\n                                      function (y_item, y_ind) {\n                                        return _c(\n                                          \"tr\",\n                                          {\n                                            key:\n                                              \"config_field\" +\n                                              field.key +\n                                              \"_grid_y_\" +\n                                              y_ind,\n                                          },\n                                          [\n                                            y_item.title\n                                              ? _c(\n                                                  \"td\",\n                                                  {\n                                                    staticStyle: {\n                                                      \"text-align\": \"center\",\n                                                    },\n                                                  },\n                                                  [\n                                                    _vm._v(\n                                                      \"\\n                            \" +\n                                                        _vm._s(y_item.title) +\n                                                        \"\\n                        \"\n                                                    ),\n                                                  ]\n                                                )\n                                              : _vm._e(),\n                                            _vm._v(\" \"),\n                                            _vm._l(\n                                              y_item.x_props,\n                                              function (x_prop, x_prop_ind) {\n                                                return _c(\n                                                  \"td\",\n                                                  {\n                                                    key:\n                                                      \"config_field\" +\n                                                      field.key +\n                                                      \"_grid_y_\" +\n                                                      y_ind +\n                                                      \"_x_prop_\" +\n                                                      x_prop_ind,\n                                                    staticStyle: {\n                                                      width: \"0px\",\n                                                    },\n                                                  },\n                                                  [\n                                                    _c(\"m-config-display\", {\n                                                      attrs: {\n                                                        fields: [x_prop],\n                                                        has_label: false,\n                                                        child: true,\n                                                        tree:\n                                                          _vm.tree +\n                                                          (_vm.tree.length > 0\n                                                            ? \"@\"\n                                                            : \"\") +\n                                                          x_prop.key,\n                                                      },\n                                                    }),\n                                                  ],\n                                                  1\n                                                )\n                                              }\n                                            ),\n                                            _vm._v(\" \"),\n                                            _vm._l(\n                                              y_item.x,\n                                              function (x_item, x_item_ind) {\n                                                return _c(\n                                                  \"td\",\n                                                  {\n                                                    key:\n                                                      \"config_field\" +\n                                                      field.key +\n                                                      \"_grid_y_\" +\n                                                      y_ind +\n                                                      \"_x_item_\" +\n                                                      x_item_ind,\n                                                  },\n                                                  [\n                                                    _c(\"m-config-display\", {\n                                                      attrs: {\n                                                        fields: [x_item],\n                                                        has_label: false,\n                                                        child: true,\n                                                        tree:\n                                                          _vm.tree +\n                                                          (_vm.tree.length > 0\n                                                            ? \"@\"\n                                                            : \"\") +\n                                                          x_item.key,\n                                                      },\n                                                    }),\n                                                  ],\n                                                  1\n                                                )\n                                              }\n                                            ),\n                                          ],\n                                          2\n                                        )\n                                      }\n                                    ),\n                                    _vm._v(\" \"),\n                                    _vm._l(\n                                      _vm.prop_filt(field).y_props\n                                        ? _vm.prop_filt(field).y_props[0].length\n                                        : 0,\n                                      function (y_prop_ind_1, y_prop_ind) {\n                                        return _c(\n                                          \"tr\",\n                                          {\n                                            key:\n                                              \"config_field\" +\n                                              field.key +\n                                              \"_grid_y_prop_\" +\n                                              y_prop_ind,\n                                          },\n                                          [\n                                            _c(\n                                              \"td\",\n                                              {\n                                                staticStyle: {\n                                                  \"text-align\": \"right\",\n                                                  \"padding-right\": \"5px\",\n                                                },\n                                                attrs: {\n                                                  colspan: _vm.prop_filt(field)\n                                                    .y[0].x_props\n                                                    ? _vm.prop_filt(field).y[0]\n                                                        .x_props.length + 1\n                                                    : 1,\n                                                },\n                                              },\n                                              [\n                                                _vm._v(\n                                                  \"\\n                            \" +\n                                                    _vm._s(\n                                                      _vm.prop_filt(field)\n                                                        .y_props[0][y_prop_ind][\n                                                        \"title\"\n                                                      ]\n                                                    ) +\n                                                    \"\\n                        \"\n                                                ),\n                                              ]\n                                            ),\n                                            _vm._v(\" \"),\n                                            _vm._l(\n                                              _vm.prop_filt(field).y[0].x\n                                                .length || 0,\n                                              function (y_ind_1, y_ind) {\n                                                return _c(\n                                                  \"td\",\n                                                  {\n                                                    key:\n                                                      \"config_field\" +\n                                                      field.key +\n                                                      \"_grid_y_prop_\" +\n                                                      y_prop_ind +\n                                                      \"_x_\" +\n                                                      y_ind,\n                                                  },\n                                                  [\n                                                    _c(\"m-config-display\", {\n                                                      attrs: {\n                                                        fields: [\n                                                          _vm.prop_filt(field)\n                                                            .y_props[y_ind][\n                                                            y_prop_ind\n                                                          ],\n                                                        ],\n                                                        has_label: false,\n                                                        child: true,\n                                                        tree:\n                                                          _vm.tree +\n                                                          (_vm.tree.length > 0\n                                                            ? \"@\"\n                                                            : \"\") +\n                                                          _vm.prop_filt(field)\n                                                            .y_props[y_ind][\n                                                            y_prop_ind\n                                                          ].key,\n                                                      },\n                                                    }),\n                                                  ],\n                                                  1\n                                                )\n                                              }\n                                            ),\n                                          ],\n                                          2\n                                        )\n                                      }\n                                    ),\n                                  ],\n                                  2\n                                ),\n                              ])\n                            : _vm._e(),\n                          _vm._v(\" \"),\n                          field.type == \"5\"\n                            ? _c(\"div\", [\n                                _c(\n                                  \"select\",\n                                  {\n                                    directives: [\n                                      {\n                                        name: \"model\",\n                                        rawName: \"v-model\",\n                                        value: field.value,\n                                        expression: \"field.value\",\n                                      },\n                                    ],\n                                    staticClass: \"selinput\",\n                                    attrs: { disabled: _vm.shutter(field) },\n                                    on: {\n                                      change: function ($event) {\n                                        var $$selectedVal =\n                                          Array.prototype.filter\n                                            .call(\n                                              $event.target.options,\n                                              function (o) {\n                                                return o.selected\n                                              }\n                                            )\n                                            .map(function (o) {\n                                              var val =\n                                                \"_value\" in o\n                                                  ? o._value\n                                                  : o.value\n                                              return val\n                                            })\n                                        _vm.$set(\n                                          field,\n                                          \"value\",\n                                          $event.target.multiple\n                                            ? $$selectedVal\n                                            : $$selectedVal[0]\n                                        )\n                                      },\n                                    },\n                                  },\n                                  _vm._l(\n                                    field.select,\n                                    function (choice, ch_ind) {\n                                      return _c(\n                                        \"option\",\n                                        {\n                                          key:\n                                            \"config_field\" +\n                                            field.key +\n                                            \"_select_\" +\n                                            ch_ind,\n                                          domProps: { value: choice[0] },\n                                        },\n                                        [\n                                          _vm._v(\n                                            \"\\n                        \" +\n                                              _vm._s(choice[1]) +\n                                              \"\\n                    \"\n                                          ),\n                                        ]\n                                      )\n                                    }\n                                  ),\n                                  0\n                                ),\n                              ])\n                            : _vm._e(),\n                          _vm._v(\" \"),\n                          field.mes != undefined\n                            ? _c(\"div\", [\n                                _c(\"span\", { class: field.mes_type }, [\n                                  _vm._v(_vm._s(field.mes)),\n                                ]),\n                              ])\n                            : _vm._e(),\n                          _vm._v(\" \"),\n                          _vm.check(field).length > 0\n                            ? _c(\"div\", { staticClass: \"error\" }, [\n                                _vm.has_label\n                                  ? _c(\"span\", [\n                                      _vm._v(_vm._s(_vm.check(field))),\n                                    ])\n                                  : _c(\"i\", {\n                                      staticClass: \"fa fa-warning\",\n                                      attrs: {\n                                        \"aria-hidden\": \"true\",\n                                        title: _vm.check(field),\n                                      },\n                                    }),\n                              ])\n                            : _vm._e(),\n                        ])\n                      : _vm._e(),\n                  ],\n                  1\n                ),\n              ]\n            ),\n          ]\n        )\n      }),\n      _vm._v(\" \"),\n      _vm.r_select == \"mb\"\n        ? _c(\"div\", [\n            _vm._m(0),\n            _vm._v(\" \"),\n            _c(\n              \"div\",\n              {\n                class:\n                  (_vm.child ? \"m_config_body level_\" + _vm.level : \"m_root\") +\n                  (_vm.has_label ? \"\" : \" no_border\"),\n              },\n              [_c(\"div\", { staticClass: \"content\" }, [_c(\"m-modbus\")], 1)]\n            ),\n          ])\n        : _vm._e(),\n    ],\n    2\n  )\n}\nvar staticRenderFns = [\n  function () {\n    var _vm = this\n    var _h = _vm.$createElement\n    var _c = _vm._self._c || _h\n    return _c(\"div\", { staticClass: \"m_header\" }, [\n      _c(\"div\", { staticClass: \"header\" }, [_vm._v(\"Регистры ModBUS\")]),\n    ])\n  },\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_config_display.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=template&id=71fdc6ab&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=template&id=71fdc6ab&scoped=true& ***!
  \******************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"render\": () => (/* binding */ render),\n/* harmony export */   \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"span\", { class: \"devstatus \" + _vm.online[\"type\"] }, [\n    _vm._v(\n      \"\\n    \" +\n        _vm._s(_vm.online[\"txt\"]) +\n        \"\\n    \" +\n        _vm._s(\n          \"[A:\" +\n            _vm.d_format(\n              _vm.r_getter(\"get_conf_devinfo\")\n                ? _vm.r_getter(\"get_conf_devinfo\").auth\n                : null\n            ) +\n            \"/T:\" +\n            _vm.d_format(\n              _vm.r_getter(\"get_conf_devinfo\")\n                ? _vm.r_getter(\"get_conf_devinfo\").ping\n                : null\n            ) +\n            \"]\"\n        ) +\n        \"\\n\"\n    ),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_device_status.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js":
/*!********************************************************************!*\
  !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!
  \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ normalizeComponent)\n/* harmony export */ });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent(\n  scriptExports,\n  render,\n  staticRenderFns,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */,\n  shadowMode /* vue-cli only */\n) {\n  // Vue.extend constructor export interop\n  var options =\n    typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n  // render functions\n  if (render) {\n    options.render = render\n    options.staticRenderFns = staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = 'data-v-' + scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) {\n    // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = shadowMode\n      ? function () {\n          injectStyles.call(\n            this,\n            (options.functional ? this.parent : this).$root.$options.shadowRoot\n          )\n        }\n      : injectStyles\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functional component in vue file\n      var originalRender = options.render\n      options.render = function renderWithStyleInjection(h, context) {\n        hook.call(context)\n        return originalRender(h, context)\n      }\n    } else {\n      // inject component registration as beforeCreate hook\n      var existing = options.beforeCreate\n      options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n    }\n  }\n\n  return {\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n//# sourceURL=webpack://sur/./node_modules/vue-loader/lib/runtime/componentNormalizer.js?");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=style&index=0&id=53cf1248&scoped=true&lang=css&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=style&index=0&id=53cf1248&scoped=true&lang=css& ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ui_collapsed_field.vue?vue&type=style&index=0&id=53cf1248&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_collapsed_field.vue?vue&type=style&index=0&id=53cf1248&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = (__webpack_require__(/*! !../../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\")[\"default\"])\nvar update = add(\"4292e740\", content, false, {});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_collapsed_field.vue?./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=style&index=0&id=5cbe238a&scoped=true&lang=css&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=style&index=0&id=5cbe238a&scoped=true&lang=css& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ui_progress_bar.vue?vue&type=style&index=0&id=5cbe238a&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/common/vues/common/lib/ui_progress_bar.vue?vue&type=style&index=0&id=5cbe238a&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = (__webpack_require__(/*! !../../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\")[\"default\"])\nvar update = add(\"1f77fc8b\", content, false, {});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://sur/./apps/common/vues/common/lib/ui_progress_bar.vue?./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=style&index=0&id=2a56ef20&lang=css&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=style&index=0&id=2a56ef20&lang=css& ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./c_cntl_modbus.vue?vue&type=style&index=0&id=2a56ef20&lang=css& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?vue&type=style&index=0&id=2a56ef20&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = (__webpack_require__(/*! !../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\")[\"default\"])\nvar update = add(\"84003d74\", content, false, {});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://sur/./panel_officer/vues/panel_officer/lib/c_cntl_modbus.vue?./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=style&index=0&id=485dd776&scoped=true&lang=css&":
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=style&index=0&id=485dd776&scoped=true&lang=css& ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./m_config_display.vue?vue&type=style&index=0&id=485dd776&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_config_display.vue?vue&type=style&index=0&id=485dd776&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = (__webpack_require__(/*! !../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\")[\"default\"])\nvar update = add(\"0731e63f\", content, false, {});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_config_display.vue?./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=style&index=0&id=71fdc6ab&scoped=true&lang=css&":
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=style&index=0&id=71fdc6ab&scoped=true&lang=css& ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./m_device_status.vue?vue&type=style&index=0&id=71fdc6ab&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./pmanager/vues/pmanager/lib/m_device_status.vue?vue&type=style&index=0&id=71fdc6ab&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = (__webpack_require__(/*! !../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\")[\"default\"])\nvar update = add(\"7aee76aa\", content, false, {});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_device_status.vue?./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-style-loader/lib/addStylesClient.js":
/*!**************************************************************!*\
  !*** ./node_modules/vue-style-loader/lib/addStylesClient.js ***!
  \**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ addStylesClient)\n/* harmony export */ });\n/* harmony import */ var _listToStyles__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./listToStyles */ \"./node_modules/vue-style-loader/lib/listToStyles.js\");\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n  Modified by Evan You @yyx990803\n*/\n\n\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n  if (!hasDocument) {\n    throw new Error(\n    'vue-style-loader cannot be used in a non-browser environment. ' +\n    \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n  ) }\n}\n\n/*\ntype StyleObject = {\n  id: number;\n  parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n  css: string;\n  media: string;\n  sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n  [id: number]: {\n    id: number,\n    refs: number,\n    parts: Array<(obj?: StyleObjectPart) => void>\n  }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nfunction addStylesClient (parentId, list, _isProduction, _options) {\n  isProduction = _isProduction\n\n  options = _options || {}\n\n  var styles = (0,_listToStyles__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(parentId, list)\n  addStylesToDom(styles)\n\n  return function update (newList) {\n    var mayRemove = []\n    for (var i = 0; i < styles.length; i++) {\n      var item = styles[i]\n      var domStyle = stylesInDom[item.id]\n      domStyle.refs--\n      mayRemove.push(domStyle)\n    }\n    if (newList) {\n      styles = (0,_listToStyles__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(parentId, newList)\n      addStylesToDom(styles)\n    } else {\n      styles = []\n    }\n    for (var i = 0; i < mayRemove.length; i++) {\n      var domStyle = mayRemove[i]\n      if (domStyle.refs === 0) {\n        for (var j = 0; j < domStyle.parts.length; j++) {\n          domStyle.parts[j]()\n        }\n        delete stylesInDom[domStyle.id]\n      }\n    }\n  }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n  for (var i = 0; i < styles.length; i++) {\n    var item = styles[i]\n    var domStyle = stylesInDom[item.id]\n    if (domStyle) {\n      domStyle.refs++\n      for (var j = 0; j < domStyle.parts.length; j++) {\n        domStyle.parts[j](item.parts[j])\n      }\n      for (; j < item.parts.length; j++) {\n        domStyle.parts.push(addStyle(item.parts[j]))\n      }\n      if (domStyle.parts.length > item.parts.length) {\n        domStyle.parts.length = item.parts.length\n      }\n    } else {\n      var parts = []\n      for (var j = 0; j < item.parts.length; j++) {\n        parts.push(addStyle(item.parts[j]))\n      }\n      stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n    }\n  }\n}\n\nfunction createStyleElement () {\n  var styleElement = document.createElement('style')\n  styleElement.type = 'text/css'\n  head.appendChild(styleElement)\n  return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n  var update, remove\n  var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n  if (styleElement) {\n    if (isProduction) {\n      // has SSR styles and in production mode.\n      // simply do nothing.\n      return noop\n    } else {\n      // has SSR styles but in dev mode.\n      // for some reason Chrome can't handle source map in server-rendered\n      // style tags - source maps in <style> only works if the style tag is\n      // created and inserted dynamically. So we remove the server rendered\n      // styles and inject new ones.\n      styleElement.parentNode.removeChild(styleElement)\n    }\n  }\n\n  if (isOldIE) {\n    // use singleton mode for IE9.\n    var styleIndex = singletonCounter++\n    styleElement = singletonElement || (singletonElement = createStyleElement())\n    update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n    remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n  } else {\n    // use multi-style-tag mode in all other cases\n    styleElement = createStyleElement()\n    update = applyToTag.bind(null, styleElement)\n    remove = function () {\n      styleElement.parentNode.removeChild(styleElement)\n    }\n  }\n\n  update(obj)\n\n  return function updateStyle (newObj /* StyleObjectPart */) {\n    if (newObj) {\n      if (newObj.css === obj.css &&\n          newObj.media === obj.media &&\n          newObj.sourceMap === obj.sourceMap) {\n        return\n      }\n      update(obj = newObj)\n    } else {\n      remove()\n    }\n  }\n}\n\nvar replaceText = (function () {\n  var textStore = []\n\n  return function (index, replacement) {\n    textStore[index] = replacement\n    return textStore.filter(Boolean).join('\\n')\n  }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n  var css = remove ? '' : obj.css\n\n  if (styleElement.styleSheet) {\n    styleElement.styleSheet.cssText = replaceText(index, css)\n  } else {\n    var cssNode = document.createTextNode(css)\n    var childNodes = styleElement.childNodes\n    if (childNodes[index]) styleElement.removeChild(childNodes[index])\n    if (childNodes.length) {\n      styleElement.insertBefore(cssNode, childNodes[index])\n    } else {\n      styleElement.appendChild(cssNode)\n    }\n  }\n}\n\nfunction applyToTag (styleElement, obj) {\n  var css = obj.css\n  var media = obj.media\n  var sourceMap = obj.sourceMap\n\n  if (media) {\n    styleElement.setAttribute('media', media)\n  }\n  if (options.ssrId) {\n    styleElement.setAttribute(ssrIdKey, obj.id)\n  }\n\n  if (sourceMap) {\n    // https://developer.chrome.com/devtools/docs/javascript-debugging\n    // this makes source maps inside style tags work properly in Chrome\n    css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n    // http://stackoverflow.com/a/26603875\n    css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n  }\n\n  if (styleElement.styleSheet) {\n    styleElement.styleSheet.cssText = css\n  } else {\n    while (styleElement.firstChild) {\n      styleElement.removeChild(styleElement.firstChild)\n    }\n    styleElement.appendChild(document.createTextNode(css))\n  }\n}\n\n\n//# sourceURL=webpack://sur/./node_modules/vue-style-loader/lib/addStylesClient.js?");

/***/ }),

/***/ "./node_modules/vue-style-loader/lib/listToStyles.js":
/*!***********************************************************!*\
  !*** ./node_modules/vue-style-loader/lib/listToStyles.js ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ listToStyles)\n/* harmony export */ });\n/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nfunction listToStyles (parentId, list) {\n  var styles = []\n  var newStyles = {}\n  for (var i = 0; i < list.length; i++) {\n    var item = list[i]\n    var id = item[0]\n    var css = item[1]\n    var media = item[2]\n    var sourceMap = item[3]\n    var part = {\n      id: parentId + ':' + i,\n      css: css,\n      media: media,\n      sourceMap: sourceMap\n    }\n    if (!newStyles[id]) {\n      styles.push(newStyles[id] = { id: id, parts: [part] })\n    } else {\n      newStyles[id].parts.push(part)\n    }\n  }\n  return styles\n}\n\n\n//# sourceURL=webpack://sur/./node_modules/vue-style-loader/lib/listToStyles.js?");

/***/ }),

/***/ "./panel_officer/vues/panel_officer/lib/modbus_commands.js":
/*!*****************************************************************!*\
  !*** ./panel_officer/vues/panel_officer/lib/modbus_commands.js ***!
  \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/**\n\n\tМетоды для формирования команд прибору для отправки через WS сервер.\n\n\tКоманда - класс, наследуемый от ModbusCommand.\n\tВ конструкор принимает специфичные для команды параметры.\n\tЕсть метод `get_command` - возвращает словарь для передачи WS для отправки прибору.\n\n\tсвойство `group` определяет \"группу блокировки\" - заперщается посылать другую\n\tкоманду той же группы, пока не закроется предыдущая.\n\n\tМетода `check_answ` принимает \"разобранный\" ответ WS. Должен вернуть:\n\t\t0 - \"не касается\" - передается дальше\n\t\t1 - \"прогресс\" - обработка не заканчивается, ответ далее не передается\n\t\t2 - \"готово\" - обработка заканчивается resolve\n\t\t3 - \"ошибка\" - обработка заканчивается reject\n\n\n\tКоманда вызывается в методе send_command модуля OfficerWS. Метод ждет получения \n\tтребуемого ответа или сброса с использованием Promise.\n\n\n\tКонструктор проверяет правильность входящих параметров и перобразует их из \n\t\"интерфейсных\" значений в значения для отправки. \n\tЕсли возникает ошибка - вызывается синхронное исключение.\n\n\tЕсть метод объекта `has_error`.\n\tПри получении ответа - ошибки, его содержание записывается в error_msg.\n\n\tМетоды set_on_resolve, resolve, set_on_error, rejec - специальные, Они используются\n\tсистемой исполнения для организации слежения за состоянием.\n\n\tМетод set_on_progress и on_progress - оспользуются для сохранения обработчика \n\tпромежуточных результатов.\n\tОбработчик вызывается после успешной отправки сообщения на WS и при каждом получении\n\tпромежуточного ответа, касаемого этой команды. Первый раз вызывается с пустым параметром.\n\n\tВсе классы команд регистрируется в одном словаре по ключу - назанию метода.\n\n**/\n\nconst _MBCLASSES = {}\n\nclass OfficerCommand {\n\n\tconstructor (on_progress) {\n\t\t// Желательно вызывать в потомках\n\t\tthis.group = \"\";\n\t\tthis.finished = false;\n\n\t\t//this.resolve = ()=>{};\n\t\t//this.reject = ()=>{};\n\t\tthis.on_resolve = null;\n\t\tthis.on_reject = null;\n\t\tif (typeof on_progress!=\"undefined\"&&on_progress!=null) {\n\t\t\tthis.on_progress = on_progress\n\t\t} else {\n\t\t\tthis.on_progress = ()=>{};\n\t\t}\n\n\t\tthis.success_msg = \"\";\n\t\tthis.error_msg = \"\";\n\t}\n\n\tget_command () {\n\t\t// Возвращает словарь для отправки WS\n\t\tthrow \"get_command. Абстрактный метод!\"\n\t}\n\n\tcheck_answ (answ) {\n\t\t// Разбирает ответ. Проверяет, является ли ответ - итогом выполнения команды.\n\t\t// Метод `check_answ` принимает \"разобранный\" ответ WS. Должен вернуть:\n\t\t//  0 - \"не касается\" - передается дальше\n\t\t//  1 - \"прогресс\" - обработка не заканчивается, ответ далее не передается\n\t\t//  2 - \"готово\" - обработка заканчивается resolve\n\t\t//  3 - \"ошибка\" - обработка заканчивается reject\n\t\t//  4 - \"сброс\" - обработка заканчивается resolve, но переданый ответ не \n\t\t//    считается отработанным и передается другим \"слушателям\"\n\n\t\tif (answ.mtype==\"answ_init\") {\n\t\t\treturn 1\n\t\t}\n\t\treturn 0\n\t}\t\n\n\tresolve(arg) {\n\t\tconsole.log(\"Command \"+this.group+\" resolved!\");\n\t\tif (!this.finished&&(typeof this.on_resolve!==\"undefined\")&&this.on_resolve!=null) {\n\t\t\tthis.on_resolve(arg)\n\t\t}\n\t\tthis.finished = true;\n\t} \n\n\treject(arg) {\n\t\tconsole.log(\"Command \"+this.group+\" rejected!\");\n\t\tif (!this.finished&&(typeof this.on_reject!==\"undefined\")&&this.on_reject!=null) {\n\t\t\tthis.on_reject(arg)\n\t\t}\n\t\tthis.finished = true;\n\t}\n\n\tprogress (arg) {\n\t\tconsole.log(\"Command \"+this.group+\" progress!\");\n\t\tif (!this.finished&&(typeof this.on_progress!==\"undefined\")&&this.on_progress!=null) {\n\t\t\tthis.on_progress(arg)\n\t\t}\n\t}\n\n\tset_on_resolve (func) {\n\t\t// Установить callback, который будет вызываться, когда команда завершилась успешно \n\t\t// Технический метод, используемый сисетмой отсылки команд\n\t\tthis.on_resolve = func;\n\t}\n\n\tset_on_reject (func) {\n\t\t// Установить callback, который будет вызываться, когда команда завершилась НЕ успешно \n\t\t// Технический метод, используемый сисетмой отсылки команд\n\t\tthis.on_reject = func;\n\t}\n\n\tset_on_progress (func) {\n\t\t// Обработчик для информирования о \"прогрессе\". Вызывается по мере поступления ответов,\n\t\t// Относящихся к команде, но не завершающих ее\n\t\tthis.on_progress = func;\n\t}\n\n\thas_error () {\n\t\treturn !(typeof this.error_msg==\"undefined\"||this.error_msg==null||this.error_msg==\"\")\n\t}\n\n\tstatic register_class (nclass, name) {\n\t\t_MBCLASSES[name] = nclass\n\t}\n}\n\nclass ModBUSCommand extends OfficerCommand {\n\t// Отработка ModBus команды. Предпологает контроль прогресса.\n\t// mode - режим команды: \"r\",\"w\",\"c\"\n\n\tconstructor (on_progress) {\n\t\tsuper(on_progress);\n\t\tthis.group = \"modbus\";\n\t\tthis.cmd = null;\n\t\tthis.mode = null\n\t}\n\n\tset_success_msg () {\n\t\t// Устанавливает сообщение об успешном выполнении.\n\t\tif (this.mode==\"r\") {\n\t\t\tthis.success_msg = \"Данные успешно получены!\";\n\t\t} else if (this.mode==\"w\") {\n\t\t\tthis.success_msg = \"Данные успешно записаны!\";\n\t\t} else if (this.mode==\"c\") {\n\t\t\tthis.success_msg = \"Команда успешно отправлена!\";\n\t\t} else {\n\t\t\tthis.success_msg = \"?? Команда успешно отправлена!\";\n\t\t}\t\n\t}\n\n\tcheck_answ (answ) {\n\t\t// Разбирает ответ. Проверяет, является ли ответ - итогом выполнения команды.\n\n\t\tvar res = super.check_answ(answ);\n\t\tif (res!=0) return res;\n\n\t\tif (answ.mtype==\"answ_error\") {\n\t\t\tthis.error_msg = answ.mes;\n\t\t\treturn 3\n\t\t} else if (answ.mtype==\"answ_timeout\") {\n\t\t\tthis.error_msg = \"Превышен интервал ожидания ответа прибора\";\n\t\t\treturn 3\n\t\t} else if (answ.mtype==\"answ_progress\") {\n\t\t\tthis.prog = answ.progress\n\t\t\treturn 1\n\t\t} else if (answ.mtype==\"modbus_data\") {\n\t\t\tthis.answ_data = answ.data;\t\t\n\t\t\treturn 1\n\t\t} else if (answ.mtype==\"answ_ready\") {\n\t\t\tthis.set_success_msg();\n\t\t\treturn 2\n\t\t} else {\n\t\t\treturn 0\n\t\t} \n\t}\n};\n\nclass GetRegM extends ModBUSCommand{\n\t// Считывание нескольких значений из регистров\n\t// \treg_items:{\n\t//\t\t<Имя параметра>:(\n\t//\t\t\t<Номер регистра>,\n\t//\t\t\t<Длина в регистрах>,\n\t//\t\t\t<Формат (из modbus_util/tools/converters.py FORMATS)>\n\t//\t\t)\n\t//\t}\n\t//\tversion: версия прошивки (старшая часть)\n\tconstructor (reg_items, on_progress){\n\t\tsuper(on_progress);\n\t\tthis.cmd = 'mb_command'\n\t\tthis.group = 'modbus'\n\t\tthis.command_type = \"ReadRegisterM\";\n\t\tthis.mode = \"r\";\n\t\tthis.reg_items = reg_items\n\t}\n\n\tget_command () {\n\t\treturn {\n\t\t\tcmd: this.cmd,\n\t\t\tcommand_type: this.command_type,\n\t\t\treg_items: this.reg_items,\n\t\t}\n\t}\n\tcheck_answ (answ) {\n\t\t// Разбирает ответ. Проверяет, является ли ответ - итогом выполнения команды.\n\n\t\tif (answ.mtype==\"answ_error\") {\n\t\t\tthis.error_msg = answ.mes;\n\t\t\treturn 3\n\t\t} else if (answ.mtype==\"answ_timeout\") {\n\t\t\tthis.error_msg = \"Превышен интервал ожидания ответа прибора\";\n\t\t\treturn 3\n\t\t} else if (answ.mtype==\"answ_progress\") {\n\t\t\tthis.prog = answ.progress\n\t\t\treturn 1\n\t\t} else if (answ.mtype==\"answ_ready\") {\n\t\t\tthis.set_success_msg();\n\t\t\treturn 2\n\t\t} else if (answ.mtype=='modbus_data'){\n\t\t\tthis.answ_data = answ.data\n\t\t\treturn 1\n\t\t} else {\n\t\t\treturn 0\n\t\t} \n\t}\n}\nOfficerCommand.register_class(GetRegM, \"GetRegM\")\n\nclass WriteSettings extends ModBUSCommand{\n\tconstructor (data, on_progress){\n\t\tsuper(on_progress);\n\t\tthis.cmd = 'wrjson'\n\t\tthis.command_type = \"WriteConf\";\n\t\t//this.mode = \"w\";\n\t\tthis.data = data\n\t}\n\n\tget_command () {\n\t\treturn {\n\t\t\tcmd: this.cmd,\n\t\t\tcommand_type: this.command_type,\n\t\t\tdata: this.data,\n\t\t}\n\t}\n\tcheck_answ (answ) {\n\t\t// Разбирает ответ. Проверяет, является ли ответ - итогом выполнения команды.\n\n\t\tif (answ.mtype==\"answ_error\") {\n\t\t\tthis.error_msg = answ.mes;\n\t\t\treturn 3\n\t\t} else if (answ.mtype==\"answ_timeout\") {\n\t\t\tthis.error_msg = \"Превышен интервал ожидания ответа прибора\";\n\t\t\treturn 3\n\t\t} else if (answ.mtype==\"answ_progress\") {\n\t\t\tthis.prog = answ.progress\n\t\t\treturn 1\n\t\t} else if (answ.mtype==\"answ_ready\") {\n\t\t\treturn 2\n\t\t} else if (answ.mtype=='devinfo'){\n\t\t\tthis.answ_data = answ.data;\n\t\t\treturn 1\n\t\t} else {\n\t\t\treturn 0\n\t\t} \n\t}\n}\nOfficerCommand.register_class(WriteSettings, \"WriteSettings\")\n\nclass ReadRegister extends ModBUSCommand {\n\t// Чтение значения указанного регистра\n\t// \t reg_num::Integer - номер регистра, с которого начать считывания. reg_num,\n\t//   bytes_count::Integer - количество байт для считывания\n\t//   data_type::String - код типа данных, в которых нужен результат,\n\n\tconstructor (reg_num, bytes_count, data_type, on_progress) {\n\t\tsuper(on_progress);\n\t\tthis.group = \"modbus\";\n\t\t//this.cmd = 'read_modbus';\n\t\tthis.cmd = 'mb_command'\n\t\tthis.command_type = \"ReadRegister\";\n\t\tthis.mode = \"r\";\n\t\tthis.reg_num = reg_num;\n\t\tthis.bytes_count = bytes_count;\n\t\tthis.data_type = data_type;\n\t\tthis.answ_data = null;\n\t}\n\n\tget_command () {\n\t\treturn {\n\t\t\tcmd: this.cmd,\n\t\t\tcommand_type: this.command_type,\n\t\t\treg_num: this.reg_num,\n\t\t\tbytes_count: this.bytes_count,\n\t\t\tdata_type: this.data_type\n\t\t}\n\t}\n};\nOfficerCommand.register_class(ReadRegister, \"ReadRegister\")\n\n\nclass WriteRegister extends ModBUSCommand {\n\t// Запись значения указанного регистра\n\t// \t reg_num::Integer - номер регистра, с которого начать считывания. reg_num,\n\t//   bytes_count::Integer - количество байт для считывания\n\t//   data_type::String - код типа данных, в которых нужен результат,\n\t//\t data:: - данные. В указанном формате.\n\n\tconstructor (reg_num, bytes_count, data_type, data, on_progress) {\n\t\tsuper(on_progress);\n\t\tthis.group = \"modbus\";\n\t\t//this.cmd = 'write_modbus';\n\t\tthis.cmd = 'mb_command'\n\t\tthis.command_type = \"WriteRegister\";\n\t\tthis.mode = \"w\";\n\t\tthis.reg_num = reg_num;\n\t\tthis.bytes_count = bytes_count;\n\t\tthis.data_type = data_type;\n\t\tthis.data = data;\n\t}\n\n\tget_command () {\n\t\treturn {\n\t\t\tcmd: this.cmd,\n\t\t\tcommand_type: this.command_type,\n\t\t\treg_num: this.reg_num,\n\t\t\tbytes_count: this.bytes_count,\n\t\t\tdata_type: this.data_type,\n\t\t\treg_data: this.data\n\t\t}\n\t}\n}\nOfficerCommand.register_class(WriteRegister, \"WriteRegister\")\n\nclass WriteRegister_1 extends ModBUSCommand {\n\t// Запись значения указанного регистра\n\t// 'data':[\n\t//\t{\n\t//\t\t'reg':{\n\t//\t\t\t'pos': Номер регистра\n\t//\t\t\t'len': Длинна параметра в регистрах\n\t//\t\t\t'type': Тип данных данного байта\n\t//\t\t}\n\t//\t\t'byte':номер байта значения относительно регистра указанного в reg, старшие байты чётные,\n\t//\t\t\tбайты могут начинаться не с нулевого но на каждый нечётный байт i должен быть байт i-1 \n\t//\t\t'val':записываемое значение\n\t//\t},\n\t//\t...\n\t//\tБолее одного элемента тут должно быть только в случаях когда в двух байтах одного регистра хранится несколько значений.\n\t//\tНаличие более одного значения редполагает что их суммарная длинна равна двум байтам.\n\t//\t]\n\n\tconstructor (data, on_progress) {\n\t\tsuper(on_progress);\n\t\tthis.group = \"modbus\";\n\t\t//this.cmd = 'write_modbus';\n\t\tthis.cmd = 'mb_command'\n\t\tthis.command_type = \"WriteRegister_1\";\n\t\tthis.mode = \"w\";\n\t\tthis.data = data;\n\t}\n\n\tget_command () {\n\t\treturn {\n\t\t\tcmd: this.cmd,\n\t\t\tcommand_type: this.command_type,\n\t\t\tdata: this.data,\n\t\t}\n\t}\n}\nOfficerCommand.register_class(WriteRegister_1, \"WriteRegister_1\")\n\n\nclass ReadTermo extends ModBUSCommand {\n\n\tconstructor (on_progress) {\n\t\tsuper(on_progress);\n\t\tthis.cmd = 'mb_command'\n\t\tthis.command_type = \"ReadTermo\";\n\t\tthis.mode = \"r\";\n\t}\n\n\tget_command () {\n\t\treturn {\n\t\t\tcmd: this.cmd,\n\t\t\tcommand_type: this.command_type,\n\t\t}\n\t}\n};\nOfficerCommand.register_class(ReadTermo, \"ReadTermo\")\n\n\nclass WriteTermo extends ModBUSCommand {\n\t// Чтение интервала и настроек термодатчиков\n\n\tconstructor (termo_config, termo_interval, on_progress) {\n\t\tsuper(on_progress);\n\t\tthis.cmd = 'mb_command'\n\t\tthis.command_type = \"WriteTermo\";\n\t\tthis.mode = \"w\";\n\t\tthis.termo_interval = termo_interval;\n\t\tif (termo_config !== null) { \n\t\t\tthis.termo_config = {};\n\t\t\tfor (let itm in termo_config) {\n\t\t\t\tif (termo_config[itm]==\"1\") {\n\t\t\t\t\tthis.termo_config[itm] = \"1\"\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis.termo_config =  null\n\t\t}\n\t}\n\n\tget_command () {\n\t\tvar res = {\n\t\t\tcmd: this.cmd,\n\t\t\tcommand_type: this.command_type,\n\t\t}\n\n\t\tif (this.termo_interval !== null) {\n\t\t\tres.termo_interval = this.termo_interval\n\t\t}\n\t\tif (this.termo_config !== null) {\n\t\t\tres.termo_config = this.termo_config\n\t\t}\n\n\t\treturn res\n\t}\n};\nOfficerCommand.register_class(WriteTermo, \"WriteTermo\")\n\n\nclass BindCommand extends OfficerCommand {\n\t// Привязка текущей сессии к определенному прибору\n\n\tconstructor (panel_num, on_progress) {\n\t\tsuper(on_progress);\n\t\tthis.group = \"bind\";\n\t\tthis.cmd = \"bind\";\n\t\tthis.panel_num = panel_num;\n\t\tthis.info = null;\n\t}\n\n\tget_command () {\n\t\treturn {\n\t\t\tcmd: this.cmd,\n\t\t\tdev: this.panel_num\n\t\t}\n\t}\n\n\tcheck_answ (answ) {\n\t}\n}\nOfficerCommand.register_class(BindCommand, \"BindCommand\")\n\n\nclass GetInfoCommand extends OfficerCommand {\n\tconstructor (on_progress) {\n\t\tsuper(on_progress);\n\t\tthis.group = \"info\";\n\t\tthis.cmd = \"get_info\";\n\t\tthis.info = null;\n\t}\n\n\tget_command () {\n\t\treturn {\n\t\t\tcmd: this.cmd,\n\t\t}\n\t}\n\n\tcheck_answ (answ) {\n\t\tif (answ.mtype == \"object_info\") {\n\t\t\tthis.info = answ.info;\n\t\t\treturn 2\n\t\t}\n\t\treturn 0\n\t}\n}\nOfficerCommand.register_class(GetInfoCommand, \"GetInfoCommand\")\n\n\nclass RebootCommand extends OfficerCommand {\n\n\tconstructor (on_progress) {\n\t\tsuper(on_progress);\n\t\tthis.group = \"modbus\";\n\t\tthis.cmd = \"reboot\";\n\t}\n\n\tget_command () {\n\t\treturn {\n\t\t\tcmd: this.cmd,\n\t\t}\n\t}\n\n\tcheck_answ (answ) {\n\t\t// Разбирает ответ. Проверяет, является ли ответ - итогом выполнения команды.\n\n\t\treturn 4\n\t}\n\n}\nOfficerCommand.register_class(RebootCommand, \"RebootCommand\")\n\n//команда перезагрузки с обработчиком ответов\nclass RebootCommand_1 extends OfficerCommand {\n\n\tconstructor (on_progress) {\n\t\tsuper(on_progress);\n\t\tthis.group = \"modbus\";\n\t\tthis.cmd = \"reboot\";\n\t\tthis.command_type = 'Reboot';\n\t\tthis.mode = \"c\";\n\t}\n\n\tget_command () {\n\t\treturn {\n\t\t\tcmd: this.cmd,\n\t\t\tgroup: this.group,\n\t\t\tcommand_type: this.command_type,\n\t\t}\n\t}\n\n\tcheck_answ (answ) {\n\t\t// Разбирает ответ. Проверяет, является ли ответ - итогом выполнения команды.\n\t\tif (answ.mtype==\"answ_error\") {\n\t\t\tthis.error_msg = answ.mes;\n\t\t\treturn 3\n\t\t} else if (answ.mtype==\"answ_timeout\") {\n\t\t\tthis.error_msg = \"Превышен интервал ожидания ответа прибора\";\n\t\t\treturn 3\n\t\t} else if (answ.mtype==\"answ_progress\") {\n\t\t\tthis.prog = answ.progress\n\t\t\treturn 1\n\t\t} else if (answ.mtype==\"answ_ready\") {\n\t\t\treturn 2\n\t\t} else {\n\t\t\treturn 0\n\t\t} \n\t\treturn 4\n\t}\n\n}\nOfficerCommand.register_class(RebootCommand_1, \"RebootCommand_1\")\n\n\nclass FlashWriteCommand extends ModBUSCommand {\n\n\tconstructor (on_progress) {\n\t\tsuper(on_progress);\n\t\tthis.group = \"modbus\";\n\t\tthis.cmd = \"flashwrite\";\n\t\tthis.mode = \"c\";\n\t}\n\n\tget_command () {\n\t\treturn {\n\t\t\tcmd: this.cmd,\n\t\t}\n\t}\n\n\tcheck_answ (answ) {\n\t\t// Разбирает ответ. Проверяет, является ли ответ - итогом выполнения команды.\n\n\t\tvar res = super.check_answ(answ);\n\t\tif (res!=0) return res;\n\n\t\tif (answ.mtype==\"answ_error\") {\n\t\t\tthis.error_msg = answ.mes;\n\t\t\treturn 3\n\t\t} else if (answ.mtype==\"answ_timeout\") {\n\t\t\tthis.error_msg = \"Превышен интервал ожидания ответа прибора\";\n\t\t\treturn 3\n\t\t} else if (answ.mtype==\"answ_progress\") {\n\t\t\treturn 1\n\t\t} else if (answ.mtype==\"answ_ready\") {\n\t\t\tthis.set_success_msg();\n\t\t\treturn 2\n\t\t} else {\n\t\t\treturn 0\n\t\t} \n\t}\n\n}\nOfficerCommand.register_class(FlashWriteCommand, \"FlashWriteCommand\")\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_MBCLASSES);\n\n//# sourceURL=webpack://sur/./panel_officer/vues/panel_officer/lib/modbus_commands.js?");

/***/ }),

/***/ "./panel_officer/vues/panel_officer/lib/mx_control_command.js":
/*!********************************************************************!*\
  !*** ./panel_officer/vues/panel_officer/lib/mx_control_command.js ***!
  \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/**\n\tмиксин для отправки команд управления.\n**/\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n\tmethods: {\n\t\talertf (typ, msg) {\n\t\t\tthis.$store.commit(\"panel_spec/ControlData/append_alert\", \n\t\t\t\t{typ:typ, msg:msg});\n\t\t},\n\t\tprogress (answ) {\n\t\t\tif (answ==null){\n\t\t\t\tthis.$store.commit(\"panel_spec/ControlData/set_progress\", 1)\n\t\t\t} else {\n\t\t\t\tif (answ.mtype==\"answ_progress\") {\n\t\t\t\t\tthis.$store.commit(\"panel_spec/ControlData/set_progress\", \n\t\t\t\t\t\tansw.progress)\n\t\t\t\t}\n\t\t\t\tconsole.log(\"progress \"+answ.mtype); \n\t\t\t}\n\t\t},\n\t\tsend_command (command, on_success) {\n\t\t\tthis.$store.dispatch(\"panel_spec/OfficerWS/send_command\", {\n\t\t\t\tcommand: command, \n\t\t\t\talert_func: this.alertf\n\t\t\t\t//progress_func: progress\n\t\t\t})\n\t\t\t.then(()=>{\n\t\t\t\tconsole.log(\"send_command done!\");\n\t\t\t\tthis.$store.commit(\"panel_spec/ControlData/set_progress\", 0);\n\t\t\t\tif (command.has_error()) {\n\t\t\t\t\tthis.alertf(\"e\", command.error_msg)\n\t\t\t\t} else {\n\t\t\t\t\ton_success();\n\t\t\t\t\tthis.alertf(\"s\", command.success_msg)\n\t\t\t\t}\n\t\t\t},(mes)=>{\n\t\t\t\tconsole.log(\"Error send_command! \"+mes);\n\t\t\t\tthis.alertf(\"e\", \"Ошибка отправки команды! \"+mes);\n\t\t\t\tthis.$store.commit(\"panel_spec/ControlData/set_progress\", 0)\n\t\t\t})\n\t\t}\t\t\n\t}\t\n});\n\n//# sourceURL=webpack://sur/./panel_officer/vues/panel_officer/lib/mx_control_command.js?");

/***/ }),

/***/ "./pmanager/vues/pmanager/electron.js":
/*!********************************************!*\
  !*** ./pmanager/vues/pmanager/electron.js ***!
  \********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"vuex\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vuex__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! axios */ \"axios\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var pmanager_lib_electron_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! pmanager/lib/electron.vue */ \"./pmanager/vues/pmanager/lib/electron.vue\");\n/* harmony import */ var pmanager_lib_m_electron_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! pmanager/lib/m_electron.js */ \"./pmanager/vues/pmanager/lib/m_electron.js\");\n\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_0___default().use((vuex__WEBPACK_IMPORTED_MODULE_1___default()));\nvar chat_vm;\nvar m_store = pmanager_lib_m_electron_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\nfunction app_init(){\n  chat_vm = new (vue__WEBPACK_IMPORTED_MODULE_0___default())({\n    store: m_store,\n    el: '#app',\n    render: h=>h(pmanager_lib_electron_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"])\n  })\n};\n$.when(\n$.ready\n).then( ()=>{\napp_init()\n});\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/electron.js?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/base_mixin.js":
/*!**************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/base_mixin.js ***!
  \**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n    data(){\n        return{\n            \n        }\n    },\n    methods:{\n        axios_f(url,method,data,done,ct=null){\n            if (url==null){\n                ths.err_process('url_error');\n            }\n            var csrftoken = Cookies.get('csrftoken')\n            var ths = this;\n            if (method=='get'){\n                url+=this.qs_form(data)\n                axios.get(url,{\n                    headers: {\n                        'X-CSRFToken': csrftoken,\n                        'X-Requested-With':'XMLHttpRequest',\n                        'Content-Type': ct\n                    },\n                    withCredentials: true,\n                }).then(function(result){\n                    if (result.data.error){\n                        ths.err_process(result.data.error);\n                    }else{\n                        done(result.data);\n                    }\n                }).catch(error=>{ths.err_process(error);});\n            }else{\n                var f_data = new FormData();\n                for (var i in data){\n                    f_data.append(i,data[i])\n                }\n                axios.post(url,f_data,{\n                    headers: {\n                        'X-CSRFToken': csrftoken,\n                        'X-Requested-With':'XMLHttpRequest',\n                        'Content-Type': 'multipart/formData'\n                    },\n                    withCredentials: true,\n                }).then(function(result){\n                    if (result.data.error){\n                        ths.err_process(result.data.error);\n                    }else{\n                        done(result.data);\n                    }\n                }).catch(error=>{ths.err_process(error);});\n            }\n            return\n            \n        },\n        qs_form(props){\n            var qs = '';\n            for (var i in props){\n                if (qs.length==0){\n                    qs+='?'\n                }else{\n                    qs+='&'\n                }\n                qs+=i+'='+props[i]\n            }\n            return qs;\n        },\n        _(item){\n            return item;\n        },\n        err_mes(text){\n            console.log('em',text)\n            alert(text);\n        },\n        err_process(error){\n            Vue.set(this,'loading',false);\n            var c_name = this.$options._componentTag;\n            var er_mes = \"\";\n            if (typeof(error)=='string'){\n                er_mes = error\n            }else{\n                er_mes = error.message\n            }\n            if (c_name){\n                this.err_mes(c_name+': '+er_mes);\n            }else{\n                this.err_mes(er_mes);\n            }\n            console.log(error);\n        },\n        yes_no(arg){\n            if (arg === true || arg==1) {\n                return \"Да\"\n            } else {\n                return \"Нет\"\n            }\n        },\n        get_context_item(name){\n            var context = window.pm_context;\n            if(context != undefined){\n                return context[name]\n            }\n            return null\n        },\n        get_obj_data(name){\n            var out = this.$store.getters.get_obj_data(name)\n            return out;\n        },\n    },\n});\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/base_mixin.js?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/m_config.js":
/*!************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/m_config.js ***!
  \************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"vuex\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vuex__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! axios */ \"axios\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var panel_officer_lib_modbus_commands_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! panel_officer/lib/modbus_commands.js */ \"./panel_officer/vues/panel_officer/lib/modbus_commands.js\");\n\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_0___default().use((vuex__WEBPACK_IMPORTED_MODULE_1___default()));\nvar store\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (store = ({\n    namespaced: true,\n    modules:{\n        \n    },\n    state: {\n        ths:undefined,\n        sel_obj:null,\n        sel_com:null,\n        data:{},\n        conf_list:[],\n        conf_service:{},\n        conf_devinfo:undefined,\n        conf_g_status:{\n            loading:undefined,\n            mes:'',\n            mes_type:'',//error,success,''\n        },\n        conf_connected: true,\n        conf_v_mes:'',\n        conf_version:undefined,\n        conf_subversion:undefined,\n    },\n    actions: {\n        sel_obj(context,obj){\n            context.commit('set_obj',obj);\n        },\n        sel_com(context,obj){\n            context.commit('set_com',obj);\n            context.dispatch('init_config');\n        },\n        init_config(context,url){\n            context.state.conf_connected = true\n            if (window.com_ports){\n                /*\n                context.state.conf_version = '2'\n                context.state.conf_subversion = '106'\n                context.commit('set_conf_list')\n                return\n                /**/\n                if (typeof context.state.sel_com.path == 'undefined'){\n                    context.dispatch('close_config');\n                    return\n                }\n                window.modbus.disconnect_device()\n                window.modbus.connect_device(context.state.sel_com,(error)=>{\n                    if (error==null){\n                        return\n                    }\n                    console.log('open_error',error)\n                    context.dispatch('close_config').then(()=>{\n                        vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'conf_v_mes',\"Ошибка при открытии порта: \"+error);\n                    })\n                })\n                var vers_reg = 2108\n                var vers_len = 1\n                var vers_type='dl'\n                var command = new panel_officer_lib_modbus_commands_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].GetRegM({'VERSION':[vers_reg,vers_len,vers_type]},()=>{\n                    console.log('prog',command)\n                })\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'conf_v_mes',\"Определение версии прошивки...\");\n                send_command(context,command,()=>{\n                    if (command.finished){\n                        console.log(command)\n                        try{\n                            var vers = command.answ_data['VERSION']['val'].split(',')\n                            context.state.conf_version = vers[0]\n                            context.state.conf_subversion = vers[1]\n                        }catch{\n                            context.state.conf_version = ''\n                            context.state.conf_subversion = ''\n                        }\n                        context.commit('set_conf_list')\n                    }\n                    console.log('succ',command)\n                },()=>{\n                    console.log('err',command)\n                    context.state.conf_version = ''\n                    context.state.conf_subversion = ''\n                    context.commit('set_conf_list')\n                })\n            }else{\n                context.dispatch(\"panel_spec/OfficerWS/init_connection\",()=>{\n                    /**/ \n                    context.state.conf_connected = false\n                    set_message(context.state.conf_g_status,{\n                        'mes':'Сервер управления недоступен. Удалённое управление невозможно.',\n                        'mes_type':'error',\n                    },false)\n                    /**/\n                    /*\n                    context.state.conf_version = 4\n                    context.state.conf_subversion = 9\n                    context.state.sel_obj = {\n                        'id':context.rootState.panelObject.obj_id,\n                        'otype':'panel'\n                    }\n                    context.commit('set_conf_list')\n                    /**/\n                },{root:true}).then(()=>{\n                    try{\n                        console.log(context.rootGetters['panel_spec/ControlData/obj_info'])\n                        var online = context.rootGetters['panel_spec/ControlData/obj_info'].online\n                    }catch{\n                        var online = false\n                    }\n                    console.log('online',online)\n                    if (!online){\n                        /**/\n                        context.state.conf_connected = false\n                        set_message(context.state.conf_g_status,{\n                            'mes':'Прибор не на связи. Удалённое управление невозможно.',\n                            'mes_type':'error',\n                        },false)\n                        return;\n                        /**/\n                    }\n                    try{\n                        var version = context.rootGetters['panel_spec/ControlData/obj_info'].version\n                    }catch{\n                        var version = -1\n                    }\n                    try{\n                        var subversion = context.rootGetters['panel_spec/ControlData/obj_info'].subversion\n                    }catch{\n                        var subversion = -1\n                    }\n                    context.state.conf_version = version\n                    context.state.conf_subversion = subversion\n                    context.state.sel_obj = {\n                        'id':context.rootState.panelObject.obj_id,\n                        'otype':'panel'\n                    }\n                    \n                    context.commit('set_conf_list')\n                })\n            }\n        },\n        close_config(context){\n            console.log('closing')\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'sel_obj',null)\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'sel_com',null)\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'service',{})\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'data',{})\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'conf_list',[])\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'conf_devinfo',undefined)\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'conf_g_status',{\n                loading:undefined,\n                mes:'',\n                mes_type:'',//error,success,''\n            })\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'conf_v_mes',\"\")\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'conf_version',undefined)\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'conf_subversion',undefined)\n        },\n        conf_load_group (context, conf_groups){\n            var r_keys = []\n            var rr = {}\n            var fields = []\n            for (var j in conf_groups){\n                var prev = context.state.conf_list;\n                var conf_group = conf_groups[j]\n                var tree = conf_group.split('@');\n                var field;\n                for (var i in tree){\n                    field = prev.filter((item)=>{\n                        if (item.key==tree[i]){\n                            return item\n                        }\n                    })\n                    prev = field[0].fields;\n                }\n                if (field.length>0){\n                    var r_keys_2 = conf_get_reg_keys(field)\n                    console.log(r_keys_2)\n                    for (var key in r_keys_2){\n                        rr[key]=[\n                            r_keys_2[key]['pos'],\n                            r_keys_2[key]['len'],\n                            r_keys_2[key]['type']\n                        ]\n                    }\n                    if (Object.keys(r_keys_2).length>0){\n                        fields.push(field[0])\n                        vue__WEBPACK_IMPORTED_MODULE_0___default().set(field[0],'loading',0)\n                        vue__WEBPACK_IMPORTED_MODULE_0___default().set(field[0],'loading_t','read')\n                    }\n                    conf_clear_mes(field)\n                    //Vue.set(field[0],'error',undefined);\n                }\n            }\n            clear_message(context.state.conf_g_status)\n            var command = new panel_officer_lib_modbus_commands_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].GetRegM(rr,()=>{\n                console.log('prog',command)\n                for (var i in fields){\n                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(fields[i],'loading',command.prog)\n                }\n            })\n            send_command(context,command,()=>{\n                if (command.finished){\n                    for (var i in fields){\n                        vue__WEBPACK_IMPORTED_MODULE_0___default().set(fields[i],'loading',undefined)\n                        set_message(fields[i],{\n                            'mes':command.success_msg,\n                            'mes_type':'success',\n                        })\n                    }\n                    for (var i in command.answ_data){\n                        var field = conf_find_r(context.state.conf_list,i);\n                        for (var j in field){\n                            if (field[j].reg.split('$').length==1){\n                                vue__WEBPACK_IMPORTED_MODULE_0___default().set(field[j],'value',command.answ_data[i]['val'])\n                                vue__WEBPACK_IMPORTED_MODULE_0___default().set(field[j],'o_value',command.answ_data[i]['val'])\n                            }else{\n                                vue__WEBPACK_IMPORTED_MODULE_0___default().set(field[j],'value',command.answ_data[i]['val'])\n                                vue__WEBPACK_IMPORTED_MODULE_0___default().set(field[j],'o_value',command.answ_data[i]['val'])\n                                if (typeof command.answ_data[i]['m_byte']!='undefined'){\n                                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(field[j],'m_byte',command.answ_data[i]['m_byte'])\n                                }\n                                if (typeof command.answ_data[i]['c_byte']!='undefined'){\n                                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(field[j],'c_byte',command.answ_data[i]['c_byte'])\n                                }\n                                if (typeof command.answ_data[i]['cur_byte']!='undefined'){\n                                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(field[j],'cur_byte',command.answ_data[i]['cur_byte'])\n                                }\n                            }\n                        }\n                    }\n                }\n                console.log('succ',command)\n            },()=>{\n                for (var i in fields){\n                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(fields[i],'loading',undefined)\n                    set_message(fields[i],{\n                        'mes':command.error_msg,\n                        'mes_type':'error',\n                    })\n                }\n                console.log('err',command)\n            })\n        },\n        conf_dev_read(context,reg){\n            var field = conf_find_r(context.state.conf_list,reg,true)\n            if (field.length==0){\n                return\n            }\n            field=field[0]\n            if (typeof field.read_key == 'undefined'){\n                return\n            }\n            var r_num = field.read_key.pos\n            var byte_count = field.read_key.len*2\n            var data_type = field.read_key.type\n            var command = new panel_officer_lib_modbus_commands_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ReadRegister(r_num,byte_count,data_type,()=>{\n                console.log('prog',command)\n            })\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'loading',0)\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'loading_t','read')\n            conf_clear_mes([field])\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'r_loading',1)\n            send_command(context,command,()=>{\n                if (command.finished){\n                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'loading',undefined)\n                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'value',command.answ_data)\n                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'r_loading',undefined)\n                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'r_done',1)\n                    //Vue.set(field,'mes_type','success')\n                    //Vue.set(field,'mes',command.success_msg)    \n                    setTimeout(()=>{\n                        vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'r_done',undefined)\n                    },3000)\n                }\n                console.log('succ',command)\n            },()=>{\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'loading',undefined)\n                set_message(field,{\n                    'mes':command.error_msg,\n                    'mes_type':'error',\n                })\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'r_loading',undefined)\n                console.log('err',command)\n            })\n        },\n        conf_write_group (context, conf_groups){\n            var fields = context.state.conf_list.filter((item)=>{\n                if (conf_groups.indexOf(item.key)>=0){\n                    return item\n                }\n            })\n            var values = {};\n            conf_clear_mes(fields)\n            for (var i in fields){\n                var val = conf_get_write_regs([JSON.parse(JSON.stringify(fields[i]))])\n                if (Object.keys(val).length>0){\n                    //Vue.set(fields[i],'loading',0)\n                    for (var j in val){\n                        if (typeof values[j] == 'undefined'){\n                            values[j]=val[j]\n                        }\n                    }\n                }\n            }\n            for (var i in values){\n                var item = values[i]\n                item = item.sort((a,b)=>{\n                    if (typeof a['byte']=='undefined'){\n                        return -1\n                    }\n                    if (typeof b['byte']=='undefined'){\n                        return 1\n                    }\n                    return a['byte']-b['byte']\n                })\n                if (item.length>1){\n                    var item_n = []\n                    for (var j in item){\n                        var item_1 = item[j]\n                        var flag = true;\n                        if (j>0 && typeof item_1['byte'] !=' undefined'){\n                            if (item_1['byte']%2==0){\n                                console.log(item[j-1]['byte'],item_1['byte']-2)\n                                if (item[j-1]['byte']<item_1['byte']-2){\n                                    flag=false;\n                                }\n                            }\n                        }\n                        if (flag){\n                            if (item_n.length==0){\n                                item_n.push([])\n                            }\n                            item_n[item_n.length-1].push(item_1)\n                        }else{\n                            item_n.push([])\n                            item_n[item_n.length-1].push(item_1)\n                        }\n                    }\n                    if (item_n.length>1){\n                        values[i] = item_n\n                    }\n                }\n            }\n            console.log(JSON.parse(JSON.stringify(values)))\n            conf_write_reg(context,values)\n        },\n        conf_reboot(context){\n            var command = new panel_officer_lib_modbus_commands_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].RebootCommand_1(()=>{\n                console.log('prog',command)\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state.conf_g_status,'loading',command.prog);    \n            });\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state.conf_g_status,'loading',0);\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state.conf_g_status,'loading_t','cmd')\n            clear_message(context.state.conf_g_status)\n            //Vue.set(context.state.conf_g_status,'mes','');\n            //Vue.set(context.state.conf_g_status,'mes_type','');\n            send_command(context, command, ()=>{\n                console.log('rebooting',command)\n                if (command.finished){\n                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state.conf_g_status,'loading',undefined);\n                    set_message(context.state.conf_g_status,{\n                        'mes':'Команда на перезагрузку отправлена',\n                        'mes_type':'success',\n                    })\n                }\n            },\n            ()=>{\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state.conf_g_status,'loading',undefined);\n                set_message(context.state.conf_g_status,{\n                    'mes':command.error_msg,\n                    'mes_type':'error',\n                })\n                console.log('reboot_error',command)\n            })\n        },\n        conf_flashwrite(context){\n            var command = new panel_officer_lib_modbus_commands_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].FlashWriteCommand(()=>{\n                console.log('prog',command)\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state.conf_g_status,'loading',command.prog);\n            });\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state.conf_g_status,'loading',0);\n            vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state.conf_g_status,'loading_t','cmd')\n            clear_message(context.state.conf_g_status)\n            //Vue.set(context.state.conf_g_status,'mes','');\n            //Vue.set(context.state.conf_g_status,'mes_type','');\n            send_command(context, command, ()=>{\n                console.log('writing on flash')\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state.conf_g_status,'loading',undefined);\n                set_message(context.state.conf_g_status,{\n                    'mes':'Команда на запись в память отправлена',\n                    'mes_type':'success',\n                })\n            },\n            ()=>{\n                console.log('writeflash_error',command)\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state.conf_g_status,'loading',undefined);\n                set_message(context.state.conf_g_status,{\n                    'mes':command.error_msg,\n                    'mes_type':'error',\n                })\n            })\n        },\n        conf_getinfo(context){\n            console.log(window)\n            if (!panel_officer_lib_modbus_commands_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]){\n                return\n            }\n            var command = new panel_officer_lib_modbus_commands_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].GetInfoCommand(()=>{\n                console.log('prog',command)\n            });\n            send_command(context, command, ()=>{\n                console.log('getinfo',command)\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'conf_devinfo',command.info)\n            },\n            ()=>{\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state,'conf_devinfo',{'error':command.error_msg})\n                console.log('getinfo_error')\n            })\n        },\n    },\n    mutations: {\n        clear_conf_list(context, conf_group){\n            var tree = conf_group.split('@')\n            var prev = context.conf_list;\n            var field;\n            for (var i in tree){\n                field = prev.filter((item)=>{\n                    if (item.key==tree[i]){\n                        return item\n                    }\n                })\n                prev = field[0].fields;\n            }\n            conf_clear(field);\n        },\n        set_conf_list(state){\n            if (window.com_ports){\n                var id = '';\n                var otype = '';\n                var cnum = '';\n                if (state.sel_com==null){\n                    return\n                }\n                var data = window.modbus.load_config(state.conf_version,state.conf_subversion);\n                console.log('data',data)\n                state.conf_list.splice(0,state.conf_list.length);\n                for (var i in data.list){\n                    var item = data.list[i];\n                    state.conf_list.push(item)\n                }\n                state.conf_v_mes = data.message\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(state,'conf_service',data.service)\n                return\n            }else{\n                if (state.sel_obj==null){\n                    return\n                }\n                var id = state.sel_obj['id'];\n                var otype = state.sel_obj['otype'];\n                var cnum = '';\n            }\n            var version = state.conf_version;\n            var subversion = state.conf_subversion;\n            console.log('vers',version,subversion)\n            var url = \"/manager/vjs/config_list/\"\n            z_load_ajax_ax(\n                {\n                    'url':url,\n                    'data':{\n                        'id':id,\n                        'otype':otype,\n                        'cnum':cnum,\n                        'version':version,\n                        'subversion':subversion\n                    },\n                    'method':'GET',\n                },\n                (data)=>{\n                    if (state.sel_obj==null && state.sel_com==null){\n                        return\n                    }\n                    console.log('config')\n                    console.log(data)\n                    if (data.error){\n                        console.log(data.error);\n                    }else{\n                        state.conf_list.splice(0,state.conf_list.length);\n                        for (var i in data.result.list){\n                            var item = data.result.list[i];\n                            state.conf_list.push(item)\n                        }\n                        state.conf_v_mes = data.result.message\n                        vue__WEBPACK_IMPORTED_MODULE_0___default().set(state,'conf_service',data.result.service)\n                    }\n                },\n                (error)=>{console.log(error);}\n            )\n            return\n        },\n        set_obj(state,obj){\n            state.sel_obj=obj;\n        },\n        set_com(state,obj){\n            state.sel_com=obj;\n        },\n    },\n    getters:{\n        get_is_connected: state => {\n            return state.conf_connected;\n        },\n        get_sel_com: state => {\n            return state.sel_com;\n        },\n        get_service: state => serv_name => {\n            return state.conf_service[serv_name]||null;\n        },\n        get_conf_list: state => {\n            return state.conf_list;\n        },\n        get_conf_v_mes: state => {\n            return state.conf_v_mes;\n        },\n        get_conf_status: state => {\n            return state.conf_g_status;\n        },\n        get_conf_loading: state => {\n            return conf_loading(state.conf_list)\n        },\n        get_conf_devinfo: state => {\n            return state.conf_devinfo;\n        },\n        get_conf_key: state => key =>{\n            var out = conf_find(state.conf_list,key);\n            if (out){\n                return out;\n            }else{\n                return null;\n            }\n        },\n        conf_changed: state => conf_group => {\n            var conf_l = []\n            conf_l = state.conf_list.filter((item)=>{\n                if (item.key==conf_group){\n                    return item\n                }\n            })\n            return conf_changed(conf_l);\n        },\n        conf_nr: state => fields => {\n            //var conf_l = [conf_find(state.conf_list,key)]\n            return conf_nr(fields);\n        },\n        get_operinfo_comp: state => {return state.operinfo_comp},\n        get_control_comp: state => {return state.control_comp},\n        get_config_comp: state => {return state.config_comp},\n    }\n    \n}));\n\nfunction clear_message (field){\n    vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'mes',undefined)\n    vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'mes_type',undefined)\n    if (typeof field['mes_timeout'] != 'undefined'){\n        clearTimeout(field['mes_timeout'])\n        vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'mes_timeout',undefined)\n    }\n}\n\nfunction set_message (field,data,timeout=true){//data:{'mes':'текст сообщения','mes_type':'success','error','mes_timeout:setInterval||undefined}\n    vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'mes',data['mes']||'---')\n    vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'mes_type',data['mes_type']||'')\n    if (typeof field['mes_timeout'] != 'undefined'){\n        clearTimeout(field['mes_timeout'])\n        vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'mes_timeout',undefined)\n    }\n    if (timeout){\n        switch(data['mes_type']||''){\n            case 'success':\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'mes_timeout',setTimeout(()=>{\n                    clear_message(field)\n                },3000))\n            break\n            case 'error':\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'mes_timeout',setTimeout(()=>{\n                    clear_message(field)\n                },5000))\n            break\n            default:\n            break\n        }\n    }\n}\n\n//Рекурсивные функции выполняющие различные действия с данными настроек прибора\n\nfunction conf_compile_value_reg(reg,list = store.state.conf_list,out1=undefined){\n    var out = out1\n    for (var i in list){\n        if (typeof list[i] != 'undefined' && list[i]!=null && typeof list[i].reg != 'undefined'){\n            if (list[i].reg.startsWith(reg) && typeof list[i].value != 'undefined' && list[i].value != null && list[i].value != list[i].o_value){\n                var split = list[i].reg.split('$')\n                if(split.length>1){\n                    var split_1 = split[1].split('#')\n                    if (split_1.length>1){\n                        var split_2 = split_1[1].split(':')\n                        if (split_2.length>1){\n                            var st_p = parseInt(split_2[0])\n                            var e_p = parseInt(split_2[1])\n                        }else{\n                            var st_p = parseInt(split_2[0])\n                            var e_p = parseInt(split_2[0])\n                        }\n                        if ((st_p)%8==0 && (e_p+1)%8==0){\n                            out = list[i].value\n                        }else{\n                            if (typeof out == 'undefined'){\n                                var def = list[i].cur_byte\n                                if (typeof def != 'undefined'){\n                                    out = String(def)\n                                }else{\n                                    out = '00000000'\n                                }\n                            }\n                            var val = (typeof list[i].value != 'undefined' && list[i].value != null)?String(list[i].value):'0'.repeat(e_p-st_p+1)\n                            var st_p_a = st_p\n                            var e_p_a = e_p+1\n                            var st_sp = out.slice(0,st_p+1).split('~%')\n                            if (st_sp.length>1){\n                                for (var i=1;i<st_sp.length;i+=1){\n                                    st_p_a+=4+st_sp[i].split('%')[1].length\n                                }\n                            }\n                            var e_sp = out.slice(e_p,out.length).split('~%')\n                            if (e_sp.length>1){\n                                for (var i=1;i<e_sp.length;i+=1){\n                                    e_p_a+=4+e_sp[i].split('%')[1].length\n                                }\n                            }\n                            if (st_p==e_p){\n                                e_p_a+=0\n                            }\n                            var p_out = out.slice(0,st_p_a)\n                            var a_out = out.slice(e_p_a,out.length)\n                            out = String(p_out+((st_p!=e_p)?'~%'+String(e_p-st_p+1)+'%':'')+String(val)+((st_p!=e_p)?'~':'')+a_out)\n                        }\n                    }\n                }\n            }\n        }\n        if (list[i].fields){\n            out=conf_compile_value_reg(reg,list[i].fields,out)\n        }\n        if (list[i].type==4){\n            for (var j in list[i].props.y){\n                out=conf_compile_value_reg(reg,list[i].props.y[j].x,out)\n                if (list[i].props.y[j].x_props){\n                    out=conf_compile_value_reg(reg,list[i].props.y[j].x_props,out)\n                }\n            }\n            if (list[i].props.y_props){\n                for (var j in list[i].props.y_props){\n                    for (var k in list[i].props.y_props[j]){\n                        out=conf_compile_value_reg(reg,[list[i].props.y_props[j][k]],out)\n                    }\n                }                \n            }\n        }\n    }\n    return out\n}\n\nfunction conf_field_add_on_write(item,out){\n    if (typeof item.on_write != 'undefined'){\n        for (var j in item.on_write){\n            var split = j.split('$')\n            if (typeof out[split[0]] == 'undefined'){\n                out[split[0]]=[]\n            }\n            var itm = {\n                'val':item.on_write[j]['val'],\n                'reg':item.on_write[j]['reg_key'],\n            }\n            if (split.length>0){\n                var split_1 = split[1].split('#')\n                var split_2 = split_1[1].split(':')\n                if (split_2.length>1 && (parseInt(split_2[0]))%16==0 && (parseInt(split_2[1])+1)%16==0){\n                    itm['byte'] = parseInt(split_1[0])\n                    itm['b_len'] = Math.floor((parseInt(split_2[1])-parseInt(split_2[0])+1)/8)\n                }else{\n                    itm['byte'] = parseInt(split_1[0])\n                    if (parseInt(split_1[0])%2>0){\n                        var flag=true\n                        for (var k in out[split[0]]){\n                            if (out[split[0]][k]['byte']==parseInt(split_1[0])-1){\n                                flag = false;\n                                break;\n                            }\n                        }\n                        var it = {\n                            'val':item.on_write[j].m_byte,\n                            'reg':JSON.parse(JSON.stringify(item.on_write[j].reg_key)),\n                            'byte':parseInt(split_1[0])-1,\n                        }\n                        it['reg']['type']='bl'\n                        out[split[0]].push(it)\n                    }else{\n                        var flag=true\n                        for (var k in out[split[0]]){\n                            if (out[split[0]][k]['byte']==parseInt(split_1[0])+1){\n                                flag = false;\n                                break;\n                            }\n                        }\n                        if (flag){\n                            var it = {\n                                'val':item.on_write[j].c_byte,\n                                'reg':JSON.parse(JSON.stringify(item.on_write[j].reg_key)),\n                                'byte':parseInt(split_1[0])+1,\n                            }\n                            it['reg']['type']='bl'\n                            out[split[0]].push(it)\n                        }\n                    }\n                }\n            }\n            var flag=true\n            for (var k in out[split[0]]){\n                if (out[split[0]][k]['reg']['pos']==itm['reg']['pos']){\n                    if (typeof itm['byte'] !='undefined'){\n                        if (out[split[0]][k]['byte']==itm['byte']){\n                            out[split[0]][k] = itm\n                            flag = false;\n                            break;\n                        }\n                    }else{\n                        out[split[0]][k] = itm\n                        flag = false;\n                        break;\n                    }\n                }\n            }\n            if (flag){\n                out[split[0]].push(itm)\n            }\n        }\n    }\n}\n\nfunction conf_get_write_regs(list,out={}){\n    if (!Array.isArray(list)){\n        return out\n    }\n    for (var i in list){\n        if (typeof list[i].reg_key != 'undefined'){\n            if ((typeof out[list[i].reg] == \"undefined\" ) && (String(list[i].value) != String(list[i].o_value))){\n                var split = list[i].reg.split('$')\n                if (split.length>1){\n                    var split_1 = split[1].split('#')\n                    var split_2 = split_1[1].split(':')\n                    if (typeof out[split[0]] == 'undefined'){\n                        out[split[0]] = []\n                    }\n                    var itm = {\n                        'val':conf_compile_value_reg(list[i].reg.split('#')[0]+'#'),\n                        'reg':list[i].reg_key,\n                        'byte':parseInt(split_1[0]),\n                    }\n                    if (out[split[0]].length==0){\n                        out[split[0]].push(itm)\n                        conf_field_add_on_write(list[i],out)\n                    }else{\n                        var ind = out[split[0]].findIndex((item)=>parseInt(item.byte)==(parseInt(split_1[0])))\n                        if (ind>-1){\n                            out[split[0]][ind]=itm\n                            conf_field_add_on_write(list[i],out)\n                        }else{\n                            out[split[0]].push(itm)\n                            conf_field_add_on_write(list[i],out)\n                        }\n                    }\n                    if (split_2.length>1 && (parseInt(split_2[0]))%16==0 && (parseInt(split_2[1])+1)%16==0){\n                        itm['byte'] = parseInt(split_1[0])\n                        itm['b_len'] = Math.floor((parseInt(split_2[1])-parseInt(split_2[0])+1)/8)\n                    }else{\n                        if (parseInt(split_1[0])%2>0){\n                            if (!out[split[0]].filter((item)=>{\n                                if (parseInt(item.byte)==(parseInt(split_1[0])-1)){return item}\n                            }).length>0){\n                                var it = {\n                                    'val':list[i].m_byte,\n                                    'reg':JSON.parse(JSON.stringify(list[i].reg_key)),\n                                    'byte':parseInt(split_1[0])-1,\n                                }\n                                it['reg']['type']='bl'\n                                out[split[0]].push(it)\n                            }\n                        }else{\n                            if (!out[split[0]].filter((item)=>{\n                                if (parseInt(item.byte)==(parseInt(split_1[0])+1)){return item}\n                            }).length>0){\n                                var it = {\n                                    'val':list[i].c_byte,\n                                    'reg':JSON.parse(JSON.stringify(list[i].reg_key)),\n                                    'byte':parseInt(split_1[0])+1,\n                                }\n                                it['reg']['type']='bl'\n                                out[split[0]].push(it)\n                            }\n                        }\n                    }\n                }else{\n                    out[list[i].reg] = [{\n                        'val':list[i].value,\n                        'reg':list[i].reg_key,\n                    }]\n                    conf_field_add_on_write(list[i],out)\n                }\n            }\n        }\n        if (list[i].fields){\n            conf_get_write_regs(list[i].fields,out)\n        }\n        if (list[i].type==4){\n            var y_list = list[i].props.y\n            for (var j in y_list){\n                conf_get_write_regs(y_list[j].x,out)\n                if (y_list[j] && typeof y_list[j].x_props != 'undefined'){\n                    conf_get_write_regs(y_list[j].x_props,out)\n                }\n            }\n            if (list[i].props.y_props){\n                var y_p_list = list[i].props.y_props\n                for (var j in y_p_list){\n                    conf_get_write_regs(y_p_list[j],out)\n                }                \n            }\n        }\n    }\n    return out\n}\n\nfunction conf_get_reg_keys(list){\n    var out = {}\n    var out1 = {}\n    if (!Array.isArray(list)){\n        return out\n    }\n    for (var i in list){\n        if (typeof list[i].reg_key != 'undefined'){\n            if (typeof list[i].on_write!='undefined'){\n                for(var j in list[i].on_write){\n                    if (typeof out[j]==\"undefined\"){\n                        out[j]=list[i].on_write[j].reg_key\n                    }\n                }\n            }\n            if (typeof out[list[i].reg]==\"undefined\"){\n                out[list[i].reg]=list[i].reg_key\n            }\n        }\n        if (list[i].fields){\n            out1 = conf_get_reg_keys(list[i].fields)\n            for (var j in out1){\n                if (typeof out[j]==\"undefined\"){\n                    out[j]=out1[j]\n                }\n            }\n        }\n        if (list[i].type==4){\n            var y_list=[]\n            if (list[i].pagable && list[i].pagable.load_by_page){\n                var s_i = (list[i].pagable.page-1)*list[i].pagable.size;\n                var e_i = (list[i].pagable.page)*list[i].pagable.size;\n                if (s_i>list[i].props.y.length){\n                    s_i = list[i].props.y.length\n                }\n                if (e_i>list[i].props.y.length){\n                    e_i = list[i].props.y.length\n                }\n                y_list = list[i].props.y.slice(s_i,e_i)\n            }else{\n                y_list = list[i].props.y\n            }\n            for (var j in y_list){\n                out1 = conf_get_reg_keys(y_list[j].x)\n                for (var k in out1){\n                    if (typeof out[k]==\"undefined\"){\n                        out[k]=out1[k]\n                    }\n                }\n                if (y_list[j] && typeof y_list[j].x_props != 'undefined'){\n                    out1 = conf_get_reg_keys(y_list[j].x_props)\n                    for (var k in out1){\n                        if (typeof out[k]==\"undefined\"){\n                            out[k]=out1[k]\n                        }\n                    }\n                }\n            }\n            if (typeof list[i].props.y_props != 'undefined'){\n                var y_p_list = []\n                if (list[i].pagable && list[i].pagable.load_by_page){\n                    y_p_list = list[i].props.y_props.slice(s_i,e_i)\n                }else{\n                    y_p_list = list[i].props.y_props \n                }\n                for (var j in y_p_list){\n                    for (var k in y_p_list[j]){\n                        out1 = conf_get_reg_keys([y_p_list[j][k]])\n                        for (var m in out1){\n                            if (typeof out[m]==\"undefined\"){\n                                out[m]=out1[m]\n                            }\n                        }\n                    }\n                }                \n            }\n        }\n    }\n    return out\n}\n\nfunction conf_clear(list){\n    if (typeof list.o_value != 'undefined'){\n        return list.value=list.o_value\n    }\n    for (var i in list){\n        if (typeof list[i].o_value != \"undefined\"){\n            list[i].value=list[i].o_value\n        }\n        if (list[i].fields){\n            conf_clear(list[i].fields)\n        }\n        if (list[i].type==4){\n            for (var j in list[i].props.y){\n                conf_clear(list[i].props.y[j].x)\n                if (list[i].props.y[j].x_props){\n                    conf_clear(list[i].props.y[j].x_props)\n                }\n            }\n            if (list[i].props.y_props){\n                for (var j in list[i].props.y_props){\n                    for (var k in list[i].props.y_props[j]){\n                        conf_clear(list[i].props.y_props[j][k])\n                    }\n                }                \n            }\n        }\n    }\n}\n\nfunction conf_find(list,key){\n    var out = false\n    if (typeof list.key != 'undefined'){\n        if (list.key==key)\n            return list\n    }\n    if (!Array.isArray(list)){\n        return out\n    }\n    for (var i in list){\n        if (list[i].key==key){\n            return list[i]\n        }\n        if (list[i].fields){\n            out = conf_find(list[i].fields,key)\n            if (out){\n                return out\n            }\n        }\n        if (list[i].type==4){\n            for (var j in list[i].props.y){\n                out = conf_find(list[i].props.y[j].x,key)\n                if (out){\n                    return out\n                }\n                if (list[i].props.y[j].x_props){\n                    out = conf_find(list[i].props.y[j].x_props,key)\n                    if (out){\n                        return out\n                    }\n                }\n            }\n            if (list[i].props.y_props){\n                for (var j in list[i].props.y_props){\n                    for (var k in list[i].props.y_props[j]){\n                        out = conf_find(list[i].props.y_props[j][k],key)\n                        if (out){\n                            return out\n                        }\n                    }\n                }                \n            }\n        }\n    }\n    return out\n}\n\nfunction conf_find_r(list,reg,strict=true){\n    var out = []\n    var out1 = []\n    if (!Array.isArray(list)){\n        return out\n    }\n    for (var i in list){\n        if (typeof list[i].reg != 'undefined'){\n            if (strict){\n                if (typeof list[i].on_write != 'undefined'){\n                    for (var j in list[i].on_write){\n                        if(reg==j){\n                            out.push(list[i].on_write[j])\n                        }\n                    }\n                }\n                if (reg==list[i].reg){\n                    out.push(list[i])\n                }\n            }else{\n                if (typeof list[i].on_write != 'undefined'){\n                    for (var j in list[i].on_write){\n                        if(reg.split('$')[0]==j.split('$')[0]){\n                            out.push(list[i].on_write[j])\n                        }\n                    }\n                }\n                if (reg.split('$')[0]==list[i].reg.split('$')[0]){\n                    out.push(list[i])\n                }\n            }\n        }\n        if (list[i].fields){\n            out1 = conf_find_r(list[i].fields,reg,strict)\n            if (out1.length>0){\n                for(var j in out1){\n                    out.push(out1[j])\n                }    \n            }\n        }\n        if (list[i].type==4){\n            for (var j in list[i].props.y){\n                out1 = conf_find_r(list[i].props.y[j].x,reg,strict)\n                if (out1.length>0){\n                    for(var k in out1){\n                        out.push(out1[k])\n                    }    \n                }\n                if (list[i].props.y[j].x_props){\n                    out1 = conf_find_r(list[i].props.y[j].x_props,reg,strict)\n                    if (out1.length>0){\n                        for(var k in out1){\n                            out.push(out1[k])\n                        }    \n                    }\n                }\n            }\n            if (list[i].props.y_props){\n                for (var j in list[i].props.y_props){\n                    for (var k in list[i].props.y_props[j]){\n                        out1 = conf_find_r([list[i].props.y_props[j][k]],reg,strict)\n                        if (out1.length>0){\n                            for(var k in out1){\n                                out.push(out1[k])\n                            }    \n                        }\n                    }\n                }                \n            }\n        }\n    }\n    return out\n}\n\nfunction conf_changed(list){\n    var out = false\n    if (typeof list.o_value != 'undefined'){\n        return list.o_value!=list.value\n    }\n    for (var i in list){\n        if (typeof list[i].reg != 'undefined' && list[i].o_value!=list[i].value){\n            return true\n        }\n        if (list[i].fields){\n            out = conf_changed(list[i].fields)\n            if (out){\n                return out\n            }\n        }\n        if (list[i].type==4){\n            for (var j in list[i].props.y){\n                out = conf_changed(list[i].props.y[j].x)\n                if (out){\n                    return out\n                }\n                if (list[i].props.y[j].x_props){\n                    out = conf_changed(list[i].props.y[j].x_props)\n                    if (out){\n                        return out\n                    }\n                }\n            }\n            if (list[i].props.y_props){\n                for (var j in list[i].props.y_props){\n                    for (var k in list[i].props.y_props[j]){\n                        out = conf_changed(list[i].props.y_props[j][k])\n                        if (out){\n                            return out\n                        }\n                    }\n                }                \n            }\n        }\n    }\n    return out\n}\n\nfunction conf_nr(list){\n    var out = false\n    if (typeof list.o_value != 'undefined'){\n        return list.o_value!=null \n    }\n    for (var i in list){\n        if (typeof list[i].reg != 'undefined' && list[i].o_value!=null){\n            return true\n        }\n        if (list[i].fields){\n            out = conf_nr(list[i].fields)\n            if (out){\n                return out\n            }\n        }\n        if (list[i].type==4){\n            var y_list=[]\n            if (list[i].pagable && list[i].pagable.load_by_page){\n                var s_i = (list[i].pagable.page-1)*list[i].pagable.size;\n                var e_i = (list[i].pagable.page)*list[i].pagable.size;\n                if (s_i>list[i].props.y.length){\n                    s_i = list[i].props.y.length\n                }\n                if (e_i>list[i].props.y.length){\n                    e_i = list[i].props.y.length\n                }\n                y_list = list[i].props.y.slice(s_i,e_i)\n            }else{\n                y_list = list[i].props.y\n            }\n            for (var j in y_list){\n                out = conf_nr(y_list[j].x)\n                if (out){\n                    return out\n                }\n                if (y_list[j].x_props){\n                    out = conf_nr(y_list[j].x_props)\n                    if (out){\n                        return out\n                    }\n                }\n            }\n            if (list[i].props.y_props){\n                var y_p_list = []\n                if (list[i].pagable && list[i].pagable.load_by_page){\n                    y_p_list = list[i].props.y_props.slice(s_i,e_i)\n                }else{\n                    y_p_list = list[i].props.y_props \n                }\n                for (var j in y_p_list){\n                    for (var k in y_p_list[j]){\n                        out = conf_nr(y_p_list[j][k])\n                        if (out){\n                            return out\n                        }\n                    }\n                }                \n            }\n        }\n    }\n    return out\n}\n\nfunction conf_loading(list){\n    var out = false\n    if (typeof list.loading != 'undefined'){\n        return true\n    }\n    if (!Array.isArray(list)){\n        return out\n    }\n    for (var i in list){\n        if (typeof list[i].loading != 'undefined'){\n            return true\n        }\n        if (list[i].fields){\n            out = conf_loading(list[i].fields)\n            if (out){\n                return out\n            }\n        }\n        if (list[i].type==4){\n            for (var j in list[i].props.y){\n                out = conf_loading(list[i].props.y[j].x)\n                if (out){\n                    return out\n                }\n                if (list[i].props.y[j].x_props){\n                    out = conf_loading(list[i].props.y[j].x_props)\n                    if (out){\n                        return out\n                    }\n                }\n            }\n            if (list[i].props.y_props){\n                for (var j in list[i].props.y_props){\n                    for (var k in list[i].props.y_props[j]){\n                        out = conf_loading(list[i].props.y_props[j][k])\n                        if (out){\n                            return out\n                        }\n                    }\n                }                \n            }\n        }\n    }\n    return out\n}\n\nfunction conf_clear_mes(list){\n    if (typeof list.mes != 'undefined'){\n        clear_message(list)\n    }\n    if (!Array.isArray(list)){\n        return\n    }\n    for (var i in list){\n        if (typeof list[i].mes != 'undefined'){\n            clear_message(list[i])\n        }\n        if (list[i].fields){\n            conf_clear_mes(list[i].fields)\n        }\n        if (list[i].type==4){\n            for (var j in list[i].props.y){\n                conf_clear_mes(list[i].props.y[j].x)\n                if (list[i].props.y[j].x_props){\n                    conf_clear_mes(list[i].props.y[j].x_props)\n                }\n            }\n            if (list[i].props.y_props){\n                for (var j in list[i].props.y_props){\n                    for (var k in list[i].props.y_props[j]){\n                        conf_clear_mes(list[i].props.y_props[j][k])\n                    }\n                }                \n            }\n        }\n    }\n    return\n}\n\nfunction send_command(context,command, on_success, on_error){\n    var alertf=()=>{}\n    if (command.cmd!='get_info'){\n        var cmd_o = {\n            prog:'',\n            data:'',\n            answ_data:'',\n        }\n        var interval = setInterval(()=>{\n            console.log('cm',command,cmd_o)\n            if (command.finished){\n                console.log('done')\n                clearInterval(interval)\n                return\n            }\n            if (command.error_msg){\n                console.log('done_e')\n                clearInterval(interval)\n                return\n            }\n            if (command.prog==cmd_o.prog&&command.data==cmd_o.data&&command.answ_data==cmd_o.answ_data){\n                if (!command.finished){\n                    command.error_msg=\"Превышено время ожидания прогресса выполнения команды\"\n                    on_error()\n                    return\n                }\n                console.log('timeout')\n                clearInterval(interval)\n                return\n            }else{\n                console.log('update')\n                cmd_o.prog=command.prog;\n                cmd_o.data=command.data;\n                cmd_o.answ_data=command.answ_data;\n            }\n        },(25000-15000*(context.state.sel_com!=null)))\n    }\n    if (context.state.sel_com==null){\n        context.dispatch(\"panel_spec/OfficerWS/send_command\", {\n            command: command, \n            alert_func: alertf\n            //progress_func: progress\n        }, {root:true})\n        .then(()=>{\n            console.log(\"send_command done!\");\n            if (command.has_error()) {\n                on_error(command.error_msg)\n            } else {\n                on_success();\n            }\n        },on_error)    \n    }else{\n        conf_com_process(context,command,on_success,on_error);\n    }\n}\n\nfunction conf_com_process(context,cmd,on_success,on_error){\n    var cmd_name = cmd.command_type\n    if (typeof cmd_name == 'undefined'){\n        cmd_name = cmd.cmd\n    }\n    switch (cmd_name){\n        case 'ReadRegisterM':\n            window.modbus.read_register(cmd.reg_items,(answ)=>{\n                cmd['finished'] = true;\n                cmd['answ_data'] = answ;\n                cmd['success_msg'] = 'Данные считаны'\n                on_success(cmd)\n            },(error)=>{\n                cmd['error_msg'] = error;\n                on_error(cmd['error_msg'])\n            },(prog)=>{\n                cmd['prog']=prog;\n                cmd.on_progress();\n            })\n        break\n        case 'ReadRegister':\n            window.modbus.read_register({'DATA':[cmd.reg_num,Math.floor(cmd.bytes_count/2),cmd.data_type]},(answ)=>{\n                console.log('ans',answ)\n                cmd['finished'] = true;\n                cmd['answ_data'] = answ['DATA']['val'];\n                cmd['success_msg'] = 'Данные считаны'\n                on_success(cmd)\n            },(error)=>{\n                cmd['error_msg'] = error;\n                on_error(cmd['error_msg'])\n            },(prog)=>{\n                cmd['prog']=prog;\n                cmd.on_progress();\n            })\n        break\n        case 'WriteRegister_1':\n            window.modbus.write_register(cmd.data,(answ)=>{\n                cmd['finished'] = true;\n                cmd['answ_data'] = answ;\n                cmd['success_msg'] = 'Данные записаны'\n                on_success(cmd)\n            },(error)=>{\n                cmd['error_msg'] = error;\n                on_error(cmd['error_msg'])\n            },(prog)=>{\n                cmd['prog']=prog;\n                cmd.on_progress();\n            })\n        break\n        case 'Reboot':\n            var reg = context.state.conf_service['REBOOT']||null\n            if (reg==null){\n                cmd['error_msg'] = 'Недоступная команда'\n                on_error(cmd.error_msg)\n                return\n            }\n            cmd.data = [{\n                'val':'a',\n                'reg':reg\n            }]\n            window.modbus.write_register(cmd.data,(answ)=>{\n                cmd['finished'] = true;\n                cmd['answ_data'] = answ;\n                cmd['success_msg'] = 'Команда отправлена'\n                on_success(cmd)\n            },(error)=>{\n                cmd['error_msg'] = error;\n                on_error(cmd['error_msg'])\n            },(prog)=>{\n                cmd['prog']=prog;\n                cmd.on_progress();\n            })\n        break\n        case 'flashwrite':\n            var reg = context.state.conf_service['MODBUS_WRITE']||null\n            if (reg==null){\n                cmd['error_msg'] = 'Недоступная команда'\n                on_error(cmd.error_msg)\n                return\n            }\n            cmd.data = [{\n                'val':'a',\n                'reg':reg\n            }]\n            window.modbus.write_register(cmd.data,(answ)=>{\n                cmd['finished'] = true;\n                cmd['answ_data'] = answ;\n                cmd['success_msg'] = 'Команда отправлена'\n                on_success(cmd)\n            },(error)=>{\n                cmd['error_msg'] = error;\n                on_error(cmd['error_msg'])\n            },(prog)=>{\n                cmd['prog']=prog;\n                cmd.on_progress();\n            })\n        break\n        default:\n            cmd['error_msg'] = 'Неизвестная команда'\n            on_error(cmd.error_msg)\n            return\n        break\n    }\n}\n\nfunction conf_write_reg(context,data,len=undefined){\n    if (Object.keys(data).length==0){\n        return\n    }\n    if (typeof len=='undefined'){\n        len = {}\n        for (var i in context.state.conf_list){\n            var item = context.state.conf_list[i]\n            var flds = Object.keys(conf_get_reg_keys([item]))\n            for (var k in data){\n                if(flds.filter((value) => {if(value.startsWith(k)){return value}}).length>0){\n                    var ln = 1\n                    if (Array.isArray(data[k][0])){\n                        ln = data[k].length\n                    }\n                    if (typeof len[item.key]=='undefined'){\n                        len[item.key]=ln\n                    }else{\n                        len[item.key]+=ln\n                    }\n                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(item,'loading',0)\n                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(item,'loading_t','write')\n                }\n            }\n        }\n    }\n    if (Array.isArray(data[Object.keys(data)[0]][0])){\n        var data_o = data[Object.keys(data)[0]][0]\n    }else{\n        var data_o = data[Object.keys(data)[0]]\n    }\n    var command = new panel_officer_lib_modbus_commands_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].WriteRegister_1(data_o,()=>{\n        console.log('prog',command)\n        for (var i in context.state.conf_list){\n            var item = context.state.conf_list[i]\n            var flds = Object.keys(conf_get_write_regs([item]))\n            if (flds.length>0){\n                var ld = Math.floor((len[item.key]-flds.length)/len[item.key]*100)\n                if(flds.filter((value) => {if(value.startsWith(Object.keys(data)[0])){return value}}).length>0){\n                    ld += Math.floor((command.prog||10)/len[item.key])\n                }\n                if (ld>100){\n                    ld = 100;\n                }\n                if (ld>0){\n                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(item,'loading',ld)\n                }\n            }\n        }\n    })\n    send_command(context,command,()=>{\n        console.log('done',command)\n        if (command.finished){\n            var d_obj = data[Object.keys(data)[0]]\n            if (Array.isArray(d_obj[0]) && d_obj.length>1){\n\n            }else{\n                var fld = conf_find_r(context.state.conf_list,Object.keys(data)[0],false)\n                for(var i in fld){\n                    if (fld[i].reg.split('$').length>1){\n                        vue__WEBPACK_IMPORTED_MODULE_0___default().set(fld[i],'o_value',fld[i].value)\n                    }else{\n                        vue__WEBPACK_IMPORTED_MODULE_0___default().set(fld[i],'o_value',fld[i].value)\n                    }\n                }\n            }\n            for(var i in context.state.conf_list){\n                var w_regs = Object.keys(conf_get_write_regs([context.state.conf_list[i]]))\n                if (w_regs.length==0){\n                    if (len[context.state.conf_list[i].key]){\n                        set_message(context.state.conf_list[i],{\n                            'mes':command.success_msg,\n                            'mes_type':'success',\n                        })\n                    }\n                    vue__WEBPACK_IMPORTED_MODULE_0___default().set(context.state.conf_list[i],'loading',undefined);\n                }\n            }\n            if (Array.isArray(d_obj[0]) && d_obj.length>1){\n                command['prog']==Math.floor(d_obj.length/len[Object.keys(data)[0]]*100)\n                data[Object.keys(data)[0]] = d_obj.slice(1,d_obj.length)\n            }else{\n                command['prog']==100\n                delete data[Object.keys(data)[0]]\n            }\n            command.on_progress();\n            conf_write_reg(context,data,len);\n        }\n    },()=>{\n        console.log('err',command)\n        for (var i in context.state.conf_list){\n            var field = context.state.conf_list[i];\n            if (typeof field.loading!=\"undefined\"){\n                var regs = conf_get_write_regs([field])\n                if(Object.keys(regs).filter(value => Object.keys(data).includes(value)).length>0){\n                    set_message(field,{\n                        'mes':command.error_msg,\n                        'mes_type':'error',\n                    })\n                }\n                vue__WEBPACK_IMPORTED_MODULE_0___default().set(field,'loading',undefined);\n            }\n        }\n    })\n}\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_config.js?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/m_electron.js":
/*!**************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/m_electron.js ***!
  \**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var pmanager_lib_m_config_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pmanager/lib/m_config.js */ \"./pmanager/vues/pmanager/lib/m_config.js\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new Vuex.Store({\n\tmodules: {\n        Config: pmanager_lib_m_config_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n\t},\n\tstate () {return {\n\n\t}},\n\tactions: {\n\n\t},\n\tmutations: {\n\n\t},\n    getters: {\n\n    },\n}));\n\n\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/m_electron.js?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/obj_sel_mixin.js":
/*!*****************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/obj_sel_mixin.js ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n    props:{\n        inp_sel_obj: {  // Объект для установки \"извне\" \n            type: Object,\n            default: null,\n        }\n    },\n    data(){\n        return{\n            sel_obj: null,\n        }\n    },\n    methods:{\n        on_obj_change(){\n            Vue.set(this, 'sel_obj', this.$store.getters.get_sel_obj);\n        },\n    },\n    mounted(){\n        if (this.inp_sel_obj== null){\n            this.$store.watch(\n                state => this.$store.getters.get_sel_obj,\n                this.on_obj_change\n            );\n            this.on_obj_change();\n        }\n    },\n});\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/obj_sel_mixin.js?");

/***/ }),

/***/ "./pmanager/vues/pmanager/lib/r_vuex_mixin.js":
/*!****************************************************!*\
  !*** ./pmanager/vues/pmanager/lib/r_vuex_mixin.js ***!
  \****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n    data(){\n        return{\n            vuex_prefix: window.com_ports?'Config/':'panel_spec/Config/',\n        }\n    },\n    computed:{\n        is_elec(){\n            return window.com_ports?true:false;\n        }\n    },\n    methods:{\n        r_getter(name){\n            return this.$store.getters[this.vuex_prefix+name]\n        },\n        r_commit(name,params=undefined){\n            this.$store.commit(this.vuex_prefix+name,params)\n        },\n        r_dispatch(name,params=undefined){\n            this.$store.dispatch(this.vuex_prefix+name,params)\n        },\n    }\n});\n\n//# sourceURL=webpack://sur/./pmanager/vues/pmanager/lib/r_vuex_mixin.js?");

/***/ }),

/***/ "vue":
/*!**********************!*\
  !*** external "Vue" ***!
  \**********************/
/***/ ((module) => {

"use strict";
module.exports = window["Vue"];

/***/ }),

/***/ "vuex":
/*!***********************!*\
  !*** external "Vuex" ***!
  \***********************/
/***/ ((module) => {

"use strict";
module.exports = window["Vuex"];

/***/ }),

/***/ "axios":
/*!************************!*\
  !*** external "axios" ***!
  \************************/
/***/ ((module) => {

"use strict";
module.exports = window["axios"];

/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			id: moduleId,
/******/ 			// no module.loaded needed
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/compat get default export */
/******/ 	(() => {
/******/ 		// getDefaultExport function for compatibility with non-harmony modules
/******/ 		__webpack_require__.n = (module) => {
/******/ 			var getter = module && module.__esModule ?
/******/ 				() => (module['default']) :
/******/ 				() => (module);
/******/ 			__webpack_require__.d(getter, { a: getter });
/******/ 			return getter;
/******/ 		};
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/define property getters */
/******/ 	(() => {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = (exports, definition) => {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	(() => {
/******/ 		__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/make namespace object */
/******/ 	(() => {
/******/ 		// define __esModule on exports
/******/ 		__webpack_require__.r = (exports) => {
/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 			}
/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
/******/ 		};
/******/ 	})();
/******/ 	
/************************************************************************/
/******/ 	
/******/ 	// startup
/******/ 	// Load entry module and return exports
/******/ 	// This entry module can't be inlined because the eval devtool is used.
/******/ 	var __webpack_exports__ = __webpack_require__("./pmanager/vues/pmanager/electron.js");
/******/ 	var __webpack_export_target__ = window;
/******/ 	for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];
/******/ 	if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });
/******/ 	
/******/ })()
;