From 2366e027b92673376e0236e5f5228a07e9b4e41a Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <67171972+IoTManagerProject@users.noreply.github.com> Date: Fri, 18 Feb 2022 20:06:25 +0100 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20OTA=20=D0=B8=20=D0=B2=D0=B7=D0=B0=D0=B8=D0=BC?= =?UTF-8?q?=D0=BE=D0=B4=D0=B5=D0=B9=D1=81=D1=82=D0=B2=D0=B8=D0=B5=20=D1=81?= =?UTF-8?q?=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_svelte/build/bundle.js | 2 +- data_svelte/settings.json | 7 ++- include/Const.h | 4 +- include/UpgradeFirm.h | 24 ++++++++ include/WsServer.h | 1 + src/UpgradeFirm.cpp | 120 ++++++++++++++++++++++++++++++++++++ src/WsServer.cpp | 7 ++- 7 files changed, 158 insertions(+), 7 deletions(-) create mode 100644 include/UpgradeFirm.h create mode 100644 src/UpgradeFirm.cpp diff --git a/data_svelte/build/bundle.js b/data_svelte/build/bundle.js index 7c7a9b7c..21d6ca4b 100644 --- a/data_svelte/build/bundle.js +++ b/data_svelte/build/bundle.js @@ -1,2 +1,2 @@ -var app=function(){"use strict";function t(){}function e(t){return t()}function n(){return Object.create(null)}function s(t){t.forEach(e)}function l(t){return"function"==typeof t}function r(t,e){return t!=t?e==e:t!==e||t&&"object"==typeof t||"function"==typeof t}function o(e,n,s){e.$$.on_destroy.push(function(e,...n){if(null==e)return t;const s=e.subscribe(...n);return s.unsubscribe?()=>s.unsubscribe():s}(n,s))}function c(t,e,n,s){if(t){const l=i(t,e,n,s);return t[0](l)}}function i(t,e,n,s){return t[1]&&s?function(t,e){for(const n in e)t[n]=e[n];return t}(n.ctx.slice(),t[1](s(e))):n.ctx}function a(t,e,n,s){if(t[2]&&s){const l=t[2](s(n));if(void 0===e.dirty)return l;if("object"==typeof l){const t=[],n=Math.max(e.dirty.length,l.length);for(let s=0;s32){const e=[],n=t.ctx.length/32;for(let t=0;tt.removeEventListener(e,n,s)}function y(t,e,n){null==n?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function k(t){return""===t?null:+t}function _(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function J(t,e){t.value=null==e?"":e}function j(t,e){for(let n=0;n{Y.delete(t),s&&(n&&t.d(1),s())})),t.o(e)}}function X(t,e,n){const s=t.$$.props[e];void 0!==s&&(t.$$.bound[s]=n,n(t.$$.ctx[s]))}function tt(t){t&&t.c()}function et(t,n,r,o){const{fragment:c,on_mount:i,on_destroy:a,after_update:u}=t.$$;c&&c.m(n,r),o||I((()=>{const n=i.map(e).filter(l);a?a.push(...n):s(n),t.$$.on_mount=[]})),u.forEach(I)}function nt(t,e){const n=t.$$;null!==n.fragment&&(s(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function st(e,l,r,o,c,i,a,u=[-1]){const d=S;T(e);const f=e.$$={fragment:null,ctx:null,props:i,update:t,not_equal:c,bound:n(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(l.context||(d?d.$$.context:[])),callbacks:n(),dirty:u,skip_bound:!1,root:l.target||d.$$.root};a&&a(f.root);let p=!1;if(f.ctx=r?r(e,l.props||{},((t,n,...s)=>{const l=s.length?s[0]:n;return f.ctx&&c(f.ctx[t],f.ctx[t]=l)&&(!f.skip_bound&&f.bound[t]&&f.bound[t](l),p&&function(t,e){-1===t.$$.dirty[0]&&(O.push(t),D(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}$set(t){var e;this.$$set&&(e=t,0!==Object.keys(e).length)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}const rt=[];function ot(e,n=t){let s;const l=new Set;function o(t){if(r(e,t)&&(e=t,s)){const t=!rt.length;for(const t of l)t[1](),rt.push(t,e);if(t){for(let t=0;t{l.delete(i),0===l.size&&(s(),s=null)}}}}function ct(t,e=!1){return(t=t.slice(t.startsWith("/#")?2:0,t.endsWith("/*")?-2:void 0)).startsWith("/")||(t="/"+t),"/"===t&&(t=""),e&&!t.endsWith("/")&&(t+="/"),t}function it(t,e,n){if(""===n)return t;if("/"===n[0])return n;let s=t=>t.split("/").filter((t=>""!==t)),l=s(t);return"/"+(e?s(e):[]).map(((t,e)=>l[e])).join("/")+"/"+n}function at(t,e,n,s){let l=[e,"data-"+e].reduce(((e,s)=>{let l=t.getAttribute(s);return n&&t.removeAttribute(s),null===l?e:l}),!1);return!s&&""===l||(l||s||!1)}function ut(t){let e=t.split("&").map((t=>t.split("="))).reduce(((t,e)=>{let n=e[0];if(!n)return t;let s=!(e.length>1)||e[e.length-1];return"string"==typeof s&&s.includes(",")&&(s=s.split(",")),void 0===t[n]?t[n]=[s]:t[n].push(s),t}),{});return Object.entries(e).reduce(((t,e)=>(t[e[0]]=e[1].length>1?e[1]:e[1][0],t)),{})}var dt,ft,pt={HISTORY:1,HASH:2,MEMORY:3,OFF:4,run:function(t,e,n,s){return 1===t?e&&e():2===t?n&&n():s&&s()},getDeafault:function(){return window&&"srcdoc"!==window.location.pathname?1:3}},gt=function(){let t,e=pt.getDeafault(),n=n=>t&&t(mt(e));function s(t){t&&(e=t),window.onhashchange=window.onpopstate=ft=null,e!==pt.OFF&&pt.run(e,(t=>window.onpopstate=n),(t=>window.onhashchange=n))&&n()}return{mode:t=>s(t),get:t=>mt(e),go(t,s){(function(t,e,n){let s=t=>history[n?"replaceState":"pushState"]({},"",t);pt.run(t,(t=>s(e)),(t=>s(`#${e}`)),(t=>ft=e))})(e,t,s),n()},start(e){t=e,s()},stop(){t=null,s(pt.OFF)}}}();function mt(t){let e=dt,n=dt=pt.run(t,(t=>window.location.pathname+window.location.search),(t=>String(window.location.hash.slice(1)||"/")),(t=>ft||"/")),s=n.match(/^([^?#]+)(?:\?([^#]+))?(?:\#(.+))?$/);return{url:n,from:e,path:s[1]||"",query:ut(s[2]||""),hash:s[3]||""}}function ht(t){let e=L("tinro");e&&(e.exact||e.fallback)&&function(t){throw new Error("[Tinro] "+t)}(`${t.fallback?"":``} can't be inside ${e.fallback?"":` with exact path`}`);let n=t.fallback?"fallbacks":"childs",s=ot({}),l={router:{},exact:!1,pattern:null,meta:{},parent:e,fallback:t.fallback,redirect:!1,firstmatch:!1,breadcrumb:null,matched:!1,childs:new Set,activeChilds:new Set,fallbacks:new Set,update(t){l.exact=!t.path.endsWith("/*"),l.pattern=ct(`${l.parent&&l.parent.pattern||""}${t.path}`),l.redirect=t.redirect,l.firstmatch=t.firstmatch,l.breadcrumb=t.breadcrumb,l.match()},register:()=>{if(l.parent)return l.parent[n].add(l),()=>{l.parent[n].delete(l),l.router.un&&l.router.un()}},show:()=>{t.onShow(),!l.fallback&&l.parent&&l.parent.activeChilds.add(l)},hide:()=>{t.onHide(),!l.fallback&&l.parent&&l.parent.activeChilds.delete(l)},match:async()=>{l.matched=!1;let{path:e,url:n,from:r,query:o}=l.router,c=function(t,e){t=ct(t,!0),e=ct(e,!0);let n=[],s={},l=!0,r=t.split("/").map((t=>t.startsWith(":")?(n.push(t.slice(1)),"([^\\/]+)"):t)).join("\\/"),o=e.match(new RegExp(`^${r}$`));return o||(l=!1,o=e.match(new RegExp(`^${r}`))),o?(n.forEach(((t,e)=>s[t]=o[e+1])),{exact:l,params:s,part:o[0].slice(0,-1)}):null}(l.pattern,e);if(!l.fallback&&c&&l.redirect&&(!l.exact||l.exact&&c.exact)){await B();let t=it(e,l.parent&&l.parent.pattern,l.redirect);return bt.goto(t,!0)}if(l.meta=c&&{from:r,url:n,query:o,match:c.part,pattern:l.pattern,breadcrumbs:l.parent&&l.parent.meta&&l.parent.meta.breadcrumbs.slice()||[],params:c.params,subscribe:s.subscribe},l.breadcrumb&&l.meta&&l.meta.breadcrumbs.push({name:l.breadcrumb,path:c.part}),s.set(l.meta),!c||l.fallback||!(!l.exact||l.exact&&c.exact)||l.parent&&l.parent.firstmatch&&l.parent.matched?l.hide():(t.onMeta(l.meta),l.parent&&(l.parent.matched=!0),l.show()),await B(),c&&!l.fallback&&(l.childs.size>0&&0==l.activeChilds.size||0==l.childs.size&&l.fallbacks.size>0)){let t=l;for(;0==t.fallbacks.size;)if(t=t.parent,!t)return;t&&t.fallbacks.forEach((t=>{if(t.redirect){let e=it("/",t.parent&&t.parent.pattern,t.redirect);bt.goto(e,!0)}else t.show()}))}}};return r="tinro",o=l,E().$$.context.set(r,o),C((()=>l.register())),l.router.un=bt.subscribe((t=>{l.router.path=t.path,l.router.url=t.url,l.router.query=t.query,l.router.from=t.from,null!==l.pattern&&l.match()})),l;var r,o}function $t(){return L("tinro").meta}var bt=function(){let{subscribe:t}=ot(gt.get(),(t=>{gt.start(t);let e=function(t){let e=e=>{let n=e.target.closest("a[href]"),s=n&&at(n,"target",!1,"_self"),l=n&&at(n,"tinro-ignore"),r=e.ctrlKey||e.metaKey||e.altKey||e.shiftKey;if("_self"==s&&!l&&!r&&n){let s=n.getAttribute("href").replace(/^\/#/,"");/^\/\/|^[a-zA-Z]+:/.test(s)||(e.preventDefault(),t(s.startsWith("/")?s:n.href.replace(window.location.origin,"")))}};return addEventListener("click",e),()=>removeEventListener("click",e)}(gt.go);return()=>{gt.stop(),e()}}));return{subscribe:t,goto:gt.go,params:wt,meta:$t,useHashNavigation:t=>gt.mode(t?pt.HASH:pt.HISTORY),mode:{hash:()=>gt.mode(pt.HASH),history:()=>gt.mode(pt.HISTORY),memory:()=>gt.mode(pt.MEMORY)}}}();function wt(){return L("tinro").meta.params}const xt=t=>({params:2&t,meta:4&t}),vt=t=>({params:t[1],meta:t[2]});function yt(t){let e;const n=t[9].default,s=c(n,t,t[8],vt);return{c(){s&&s.c()},m(t,n){s&&s.m(t,n),e=!0},p(t,l){s&&s.p&&(!e||262&l)&&u(s,n,t,t[8],e?a(n,t[8],l,xt):d(t[8]),vt)},i(t){e||(G(s,t),e=!0)},o(t){V(s,t),e=!1},d(t){s&&s.d(t)}}}function kt(t){let e,n,s=t[0]&&yt(t);return{c(){s&&s.c(),e=x()},m(t,l){s&&s.m(t,l),p(t,e,l),n=!0},p(t,[n]){t[0]?s?(s.p(t,n),1&n&&G(s,1)):(s=yt(t),s.c(),G(s,1),s.m(e.parentNode,e)):s&&(Q(),V(s,1,1,(()=>{s=null})),Z())},i(t){n||(G(s),n=!0)},o(t){V(s),n=!1},d(t){s&&s.d(t),t&&g(e)}}}function _t(t,e,n){let{$$slots:s={},$$scope:l}=e,{path:r="/*"}=e,{fallback:o=!1}=e,{redirect:c=!1}=e,{firstmatch:i=!1}=e,{breadcrumb:a=null}=e,u=!1,d={},f={};const p=ht({fallback:o,onShow(){n(0,u=!0)},onHide(){n(0,u=!1)},onMeta(t){n(2,f=t),n(1,d=f.params)}});return t.$$set=t=>{"path"in t&&n(3,r=t.path),"fallback"in t&&n(4,o=t.fallback),"redirect"in t&&n(5,c=t.redirect),"firstmatch"in t&&n(6,i=t.firstmatch),"breadcrumb"in t&&n(7,a=t.breadcrumb),"$$scope"in t&&n(8,l=t.$$scope)},t.$$.update=()=>{232&t.$$.dirty&&p.update({path:r,redirect:c,firstmatch:i,breadcrumb:a})},[u,d,f,r,o,c,i,a,l,s]}class Jt extends lt{constructor(t){super(),st(this,t,_t,kt,r,{path:3,fallback:4,redirect:5,firstmatch:6,breadcrumb:7})}}function jt(e){let n,s,r,o,c;return{c(){n=$("svg"),s=$("line"),r=$("line"),y(s,"x1","18"),y(s,"y1","6"),y(s,"x2","6"),y(s,"y2","18"),y(r,"x1","6"),y(r,"y1","6"),y(r,"x2","18"),y(r,"y2","18"),y(n,"class","h-6 w-6 text-red-400 cursor-pointer"),y(n,"viewBox","0 -2 24 24"),y(n,"fill","none"),y(n,"stroke","currentColor"),y(n,"stroke-width","2"),y(n,"stroke-linecap","round"),y(n,"stroke-linejoin","round")},m(t,i){p(t,n,i),f(n,s),f(n,r),o||(c=v(n,"click",(function(){l(e[0]())&&e[0]().apply(this,arguments)})),o=!0)},p(t,[n]){e=t},i:t,o:t,d(t){t&&g(n),o=!1,c()}}}function qt(t,e,n){let{click:s=(()=>{})}=e;return t.$$set=t=>{"click"in t&&n(0,s=t.click)},[s]}class St extends lt{constructor(t){super(),st(this,t,qt,jt,r,{click:0})}}function Tt(t){let e,n,s,l,r,o,c,i;return c=new St({props:{click:t[5]}}),{c(){e=h("div"),n=h("div"),s=h("h1"),l=b(t[0]),r=w(),o=h("div"),tt(c.$$.fragment),y(s,"class","alm-hdr"),y(n,"class","w-11/12"),y(o,"class","flex justify-end w-1/12"),y(e,"class","flex items-center")},m(t,a){p(t,e,a),f(e,n),f(n,s),f(s,l),f(e,r),f(e,o),et(c,o,null),i=!0},p(t,e){(!i||1&e)&&_(l,t[0]);const n={};4&e&&(n.click=t[5]),c.$set(n)},i(t){i||(G(c.$$.fragment,t),i=!0)},o(t){V(c.$$.fragment,t),i=!1},d(t){t&&g(e),nt(c)}}}function Et(e){let n,s;return{c(){n=h("h1"),s=b(e[0]),y(n,"class","alm-hdr")},m(t,e){p(t,n,e),f(n,s)},p(t,e){1&e&&_(s,t[0])},i:t,o:t,d(t){t&&g(n)}}}function Ct(t){let e,n,s,l,r;const o=[Et,Tt],i=[];function m(t,e){return t[0]&&!t[1]?0:t[0]&&t[1]?1:-1}~(n=m(t))&&(s=i[n]=o[n](t));const $=t[4].default,b=c($,t,t[3],null);return{c(){e=h("div"),s&&s.c(),l=w(),b&&b.c(),y(e,"class","alm")},m(t,s){p(t,e,s),~n&&i[n].m(e,null),f(e,l),b&&b.m(e,null),r=!0},p(t,[c]){let f=n;n=m(t),n===f?~n&&i[n].p(t,c):(s&&(Q(),V(i[f],1,1,(()=>{i[f]=null})),Z()),~n?(s=i[n],s?s.p(t,c):(s=i[n]=o[n](t),s.c()),G(s,1),s.m(e,l)):s=null),b&&b.p&&(!r||8&c)&&u(b,$,t,t[3],r?a($,t[3],c,null):d(t[3]),null)},i(t){r||(G(s),G(b,t),r=!0)},o(t){V(s),V(b,t),r=!1},d(t){t&&g(e),~n&&i[n].d(),b&&b.d(t)}}}function Lt(t,e,n){let{$$slots:s={},$$scope:l}=e,{title:r=!1}=e,{cross:o=!1}=e,{close:c=(()=>{})}=e;return t.$$set=t=>{"title"in t&&n(0,r=t.title),"cross"in t&&n(1,o=t.cross),"close"in t&&n(2,c=t.close),"$$scope"in t&&n(3,l=t.$$scope)},[r,o,c,l,s,()=>c()]}class Ot extends lt{constructor(t){super(),st(this,t,Lt,Ct,r,{title:0,cross:1,close:2})}}function Mt(e){let n;return{c(){n=h("div"),n.innerHTML=' \n
',y(n,"class","z-50")},m(t,e){p(t,n,e)},p:t,i:t,o:t,d(t){t&&g(n)}}}class Nt extends lt{constructor(t){super(),st(this,t,null,Mt,r,{})}}function Ht(t){let e,n;return{c(){e=h("h1"),n=b(t[0]),y(e,"class","crd-hdr")},m(t,s){p(t,e,s),f(e,n)},p(t,e){1&e&&_(n,t[0])},d(t){t&&g(e)}}}function Pt(t){let e,n,s,l=t[0]&&Ht(t);const r=t[2].default,o=c(r,t,t[1],null);return{c(){e=h("div"),l&&l.c(),n=w(),o&&o.c(),y(e,"class","crd")},m(t,r){p(t,e,r),l&&l.m(e,null),f(e,n),o&&o.m(e,null),s=!0},p(t,[c]){t[0]?l?l.p(t,c):(l=Ht(t),l.c(),l.m(e,n)):l&&(l.d(1),l=null),o&&o.p&&(!s||2&c)&&u(o,r,t,t[1],s?a(r,t[1],c,null):d(t[1]),null)},i(t){s||(G(o,t),s=!0)},o(t){V(o,t),s=!1},d(t){t&&g(e),l&&l.d(),o&&o.d(t)}}}function At(t,e,n){let{$$slots:s={},$$scope:l}=e,{title:r=!1}=e;return t.$$set=t=>{"title"in t&&n(0,r=t.title),"$$scope"in t&&n(1,l=t.$$scope)},[r,l,s]}class Dt extends lt{constructor(t){super(),st(this,t,At,Pt,r,{title:0})}}function Bt(t){let e,n,l,r;return{c(){e=h("input"),y(e,"class",n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500"),y(e,"step","0.1"),y(e,"type","number")},m(n,s){p(n,e,s),J(e,t[0].status),l||(r=[v(e,"change",t[3]),v(e,"input",t[4])],l=!0)},p(t,s){1&s&&n!==(n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500")&&y(e,"class",n),1&s&&k(e.value)!==t[0].status&&J(e,t[0].status)},d(t){t&&g(e),l=!1,s(r)}}}function It(t){let e,n,l,r;return{c(){e=h("input"),y(e,"class",n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500"),y(e,"type","text")},m(n,s){p(n,e,s),J(e,t[0].status),l||(r=[v(e,"change",t[5]),v(e,"input",t[6])],l=!0)},p(t,s){1&s&&n!==(n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500")&&y(e,"class",n),1&s&&e.value!==t[0].status&&J(e,t[0].status)},d(t){t&&g(e),l=!1,s(r)}}}function zt(t){let e,n,l,r;return{c(){e=h("input"),y(e,"class",n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500"),y(e,"type","date")},m(n,s){p(n,e,s),J(e,t[0].status),l||(r=[v(e,"change",t[7]),v(e,"input",t[8])],l=!0)},p(t,s){1&s&&n!==(n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500")&&y(e,"class",n),1&s&&J(e,t[0].status)},d(t){t&&g(e),l=!1,s(r)}}}function Rt(t){let e,n,l,r;return{c(){e=h("input"),y(e,"class",n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500"),y(e,"type","time")},m(n,s){p(n,e,s),J(e,t[0].status),l||(r=[v(e,"change",t[9]),v(e,"input",t[10])],l=!0)},p(t,s){1&s&&n!==(n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500")&&y(e,"class",n),1&s&&J(e,t[0].status)},d(t){t&&g(e),l=!1,s(r)}}}function Ft(e){let n,s,l,r,o,c,i,a,u,d=(e[0].descr?e[0].descr:"")+"",m="number"==e[0].type&&Bt(e),$="text"==e[0].type&&It(e),x="date"==e[0].type&&zt(e),v="time"==e[0].type&&Rt(e);return{c(){n=h("div"),s=h("div"),l=h("label"),r=b(d),o=w(),c=h("div"),m&&m.c(),i=w(),$&&$.c(),a=w(),x&&x.c(),u=w(),v&&v.c(),y(l,"class","wgt-dscr-stl"),y(s,"class","w-2/3"),y(c,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),f(n,s),f(s,l),f(l,r),f(n,o),f(n,c),m&&m.m(c,null),f(c,i),$&&$.m(c,null),f(c,a),x&&x.m(c,null),f(c,u),v&&v.m(c,null)},p(t,[e]){1&e&&d!==(d=(t[0].descr?t[0].descr:"")+"")&&_(r,d),"number"==t[0].type?m?m.p(t,e):(m=Bt(t),m.c(),m.m(c,i)):m&&(m.d(1),m=null),"text"==t[0].type?$?$.p(t,e):($=It(t),$.c(),$.m(c,a)):$&&($.d(1),$=null),"date"==t[0].type?x?x.p(t,e):(x=zt(t),x.c(),x.m(c,u)):x&&(x.d(1),x=null),"time"==t[0].type?v?v.p(t,e):(v=Rt(t),v.c(),v.m(c,null)):v&&(v.d(1),v=null)},i:t,o:t,d(t){t&&g(n),m&&m.d(),$&&$.d(),x&&x.d(),v&&v.d()}}}function Wt(t,e,n){let{widget:s}=e,{wsPush:l=((t,e,n)=>{})}=e,{value:r}=e;r=r;return t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"wsPush"in t&&n(1,l=t.wsPush),"value"in t&&n(2,r=t.value)},[s,l,r,()=>(n(0,s.send=!0,s),l(s.ws,s.topic,s.status)),function(){s.status=k(this.value),n(0,s)},()=>(n(0,s.send=!0,s),l(s.ws,s.topic,s.status)),function(){s.status=this.value,n(0,s)},()=>(n(0,s.send=!0,s),l(s.ws,s.topic,s.status)),function(){s.status=this.value,n(0,s)},()=>(n(0,s.send=!0,s),l(s.ws,s.topic,s.status)),function(){s.status=this.value,n(0,s)}]}class Ut extends lt{constructor(t){super(),st(this,t,Wt,Ft,r,{widget:0,wsPush:1,value:2})}}function Yt(e){let n,l,r,o,c,i,a,u,d,m,$,x,k,j,q,S,T,E,C=(e[0].descr?e[0].descr:"")+"";return{c(){n=h("div"),l=h("div"),r=h("label"),o=b(C),c=w(),i=h("div"),a=h("label"),u=h("div"),d=h("input"),$=w(),x=h("div"),k=w(),j=h("div"),y(r,"class","wgt-dscr-stl"),y(l,"class","w-2/3"),y(d,"id",m=e[0].topic),y(d,"type","checkbox"),y(d,"class","sr-only"),y(x,"class","block bg-gray-600 w-10 h-6 rounded-full"),y(j,"class",q="dot "+(1==e[0].send?"bg-red-400":"bg-white")+" absolute left-1 top-1 w-4 h-4 rounded-full transition"),y(u,"class","relative"),y(a,"for",S=e[0].topic),y(a,"class","items-center cursor-pointer"),y(i,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,s){p(t,n,s),f(n,l),f(l,r),f(r,o),f(n,c),f(n,i),f(i,a),f(a,u),f(u,d),J(d,e[0].status),f(u,$),f(u,x),f(u,k),f(u,j),T||(E=[v(d,"change",e[3]),v(d,"change",e[4])],T=!0)},p(t,[e]){1&e&&C!==(C=(t[0].descr?t[0].descr:"")+"")&&_(o,C),1&e&&m!==(m=t[0].topic)&&y(d,"id",m),1&e&&J(d,t[0].status),1&e&&q!==(q="dot "+(1==t[0].send?"bg-red-400":"bg-white")+" absolute left-1 top-1 w-4 h-4 rounded-full transition")&&y(j,"class",q),1&e&&S!==(S=t[0].topic)&&y(a,"for",S)},i:t,o:t,d(t){t&&g(n),T=!1,s(E)}}}function Kt(t,e,n){let{widget:s}=e,{value:l}=e;l=l;let{wsPush:r=((t,e,n)=>{})}=e;return t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"value"in t&&n(2,l=t.value),"wsPush"in t&&n(1,r=t.wsPush)},[s,r,l,()=>(n(0,s.send=!0,s),r(s.ws,s.topic,s.status)),function(){s.status=this.value,n(0,s)}]}class Qt extends lt{constructor(t){super(),st(this,t,Kt,Yt,r,{widget:0,value:2,wsPush:1})}}function Zt(e){let n,s,l,r,o,c,i,a,u,d,m,$,x=(e[0].descr?e[0].descr:"")+"",v=(e[0].status?e[0].status:"")+"",k=(e[0].after?e[0].after:"")+"";return{c(){n=h("div"),s=h("div"),l=h("label"),r=b(x),o=w(),c=h("div"),i=h("label"),a=b(v),u=w(),d=h("label"),m=b(" "),$=b(k),y(l,"class","wgt-dscr-stl"),y(s,"class","w-2/3"),y(i,"class","wgt-adt-stl"),y(d,"class","wgt-adt-stl"),y(c,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),f(n,s),f(s,l),f(l,r),f(n,o),f(n,c),f(c,i),f(i,a),f(c,u),f(c,d),f(d,m),f(d,$)},p(t,[e]){1&e&&x!==(x=(t[0].descr?t[0].descr:"")+"")&&_(r,x),1&e&&v!==(v=(t[0].status?t[0].status:"")+"")&&_(a,v),1&e&&k!==(k=(t[0].after?t[0].after:"")+"")&&_($,k)},i:t,o:t,d(t){t&&g(n)}}}function Gt(t,e,n){let{widget:s}=e,{value:l}=e;return l=l,t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"value"in t&&n(1,l=t.value)},[s,l]}class Vt extends lt{constructor(t){super(),st(this,t,Gt,Zt,r,{widget:0,value:1})}}function Xt(t,e,n){const s=t.slice();return s[9]=e[n],s[11]=n,s}function te(t,e,n){const s=t.slice();return s[12]=e[n],s[13]=e,s[11]=n,s}function ee(e){let n,s;return n=new Ot({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){V(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function ne(t){let e,n,s,l=t[0]===[]&&se(),r=t[1],o=[];for(let e=0;eV(o[t],1,1,(()=>{o[t]=null}));return{c(){e=h("div"),l&&l.c(),n=w();for(let t=0;t{l=null})),Z()),11&s){let n;for(r=t[1],n=0;n{r=null})),Z()),"toggle"===t[12].widget?o?(o.p(t,l),1&l&&G(o,1)):(o=oe(t),o.c(),G(o,1),o.m(n.parentNode,n)):o&&(Q(),V(o,1,1,(()=>{o=null})),Z()),"anydata"===t[12].widget?c?(c.p(t,l),1&l&&G(c,1)):(c=ce(t),c.c(),G(c,1),c.m(s.parentNode,s)):c&&(Q(),V(c,1,1,(()=>{c=null})),Z())},i(t){l||(G(r),G(o),G(c),l=!0)},o(t){V(r),V(o),V(c),l=!1},d(t){r&&r.d(t),t&&g(e),o&&o.d(t),t&&g(n),c&&c.d(t),t&&g(s)}}}function re(t){let e,n,s;function l(e){t[5](e,t[12])}let r={widget:t[12],wsPush:t[4]};return void 0!==t[12].status&&(r.value=t[12].status),e=new Ut({props:r}),M.push((()=>X(e,"value",l))),{c(){tt(e.$$.fragment)},m(t,n){et(e,t,n),s=!0},p(s,l){t=s;const r={};1&l&&(r.widget=t[12]),8&l&&(r.wsPush=t[4]),!n&&1&l&&(n=!0,r.value=t[12].status,z((()=>n=!1))),e.$set(r)},i(t){s||(G(e.$$.fragment,t),s=!0)},o(t){V(e.$$.fragment,t),s=!1},d(t){nt(e,t)}}}function oe(t){let e,n,s;function l(e){t[7](e,t[12])}let r={widget:t[12],wsPush:t[6]};return void 0!==t[12].status&&(r.value=t[12].status),e=new Qt({props:r}),M.push((()=>X(e,"value",l))),{c(){tt(e.$$.fragment)},m(t,n){et(e,t,n),s=!0},p(s,l){t=s;const r={};1&l&&(r.widget=t[12]),8&l&&(r.wsPush=t[6]),!n&&1&l&&(n=!0,r.value=t[12].status,z((()=>n=!1))),e.$set(r)},i(t){s||(G(e.$$.fragment,t),s=!0)},o(t){V(e.$$.fragment,t),s=!1},d(t){nt(e,t)}}}function ce(t){let e,n,s;function l(e){t[8](e,t[12])}let r={widget:t[12]};return void 0!==t[12].status&&(r.value=t[12].status),e=new Vt({props:r}),M.push((()=>X(e,"value",l))),{c(){tt(e.$$.fragment)},m(t,n){et(e,t,n),s=!0},p(s,l){t=s;const r={};1&l&&(r.widget=t[12]),!n&&1&l&&(n=!0,r.value=t[12].status,z((()=>n=!1))),e.$set(r)},i(t){s||(G(e.$$.fragment,t),s=!0)},o(t){V(e.$$.fragment,t),s=!1},d(t){nt(e,t)}}}function ie(t){let e,n,s=t[12].page===t[9].page&&le(t);return{c(){s&&s.c(),e=x()},m(t,l){s&&s.m(t,l),p(t,e,l),n=!0},p(t,n){t[12].page===t[9].page?s?(s.p(t,n),3&n&&G(s,1)):(s=le(t),s.c(),G(s,1),s.m(e.parentNode,e)):s&&(Q(),V(s,1,1,(()=>{s=null})),Z())},i(t){n||(G(s),n=!0)},o(t){V(s),n=!1},d(t){s&&s.d(t),t&&g(e)}}}function ae(t){let e,n,s=t[0],l=[];for(let e=0;eV(l[t],1,1,(()=>{l[t]=null}));return{c(){for(let t=0;t{o[i]=null})),Z(),n=o[e],n?n.p(t,l):(n=o[e]=r[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){l||(G(n),l=!0)},o(t){V(n),l=!1},d(t){o[e].d(t),t&&g(s)}}}function fe(t,e,n){let{layoutJson:s}=e,{pages:l}=e,{show:r}=e,{wsPush:o=((t,e,n)=>{})}=e;return t.$$set=t=>{"layoutJson"in t&&n(0,s=t.layoutJson),"pages"in t&&n(1,l=t.pages),"show"in t&&n(2,r=t.show),"wsPush"in t&&n(3,o=t.wsPush)},[s,l,r,o,(t,e,n)=>o(t,e,n),function(e,l){t.$$.not_equal(l.status,e)&&(l.status=e,n(0,s))},(t,e,n)=>o(t,e,n),function(e,l){t.$$.not_equal(l.status,e)&&(l.status=e,n(0,s))},function(e,l){t.$$.not_equal(l.status,e)&&(l.status=e,n(0,s))}]}class pe extends lt{constructor(t){super(),st(this,t,fe,de,r,{layoutJson:0,pages:1,show:2,wsPush:3})}}function ge(e){let n,s,r,o,c,i,a;return{c(){n=$("svg"),s=$("path"),r=$("circle"),o=$("circle"),c=$("circle"),y(s,"stroke","none"),y(s,"d","M0 0h24v24H0z"),y(r,"cx","5"),y(r,"cy","12"),y(r,"r","1"),y(o,"cx","12"),y(o,"cy","12"),y(o,"r","1"),y(c,"cx","19"),y(c,"cy","12"),y(c,"r","1"),y(n,"class","h-6 w-6 text-green-400 cursor-pointer"),y(n,"width","24"),y(n,"height","24"),y(n,"viewBox","0 -2 24 24"),y(n,"stroke-width","2"),y(n,"stroke","currentColor"),y(n,"fill","none"),y(n,"stroke-linecap","round"),y(n,"stroke-linejoin","round")},m(t,u){p(t,n,u),f(n,s),f(n,r),f(n,o),f(n,c),i||(a=v(n,"click",(function(){l(e[0]())&&e[0]().apply(this,arguments)})),i=!0)},p(t,[n]){e=t},i:t,o:t,d(t){t&&g(n),i=!1,a()}}}function me(t,e,n){let{click:s=(()=>{})}=e;return t.$$set=t=>{"click"in t&&n(0,s=t.click)},[s]}class he extends lt{constructor(t){super(),st(this,t,me,ge,r,{click:0})}}function $e(t,e,n){const s=t.slice();return s[21]=e[n],s[22]=e,s[23]=n,s}function be(t,e,n){const s=t.slice();return s[24]=e[n][0],s[25]=e[n][1],s[26]=e,s[27]=n,s}function we(t,e,n){const s=t.slice();return s[28]=e[n],s}function xe(t,e,n){const s=t.slice();return s[31]=e[n],s}function ve(e){let n,s;return n=new Ot({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){V(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function ye(t){let e,n,s;return n=new Dt({props:{$$slots:{default:[Ce]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),y(e,"class","grd-1col1")},m(t,l){p(t,e,l),et(n,e,null),s=!0},p(t,e){const s={};247&e[0]|8&e[1]&&(s.$$scope={dirty:e,ctx:t}),n.$set(s)},i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){V(n.$$.fragment,t),s=!1},d(t){t&&g(e),nt(n)}}}function ke(t){let e,n;return{c(){e=h("optgroup"),y(e,"label",n=t[31].header)},m(t,n){p(t,e,n)},p(t,s){4&s[0]&&n!==(n=t[31].header)&&y(e,"label",n)},d(t){t&&g(e)}}}function _e(t){let e,n,s,l,r=t[31].name+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[31].num,e.value=e.__value},m(t,l){p(t,e,l),f(e,n),f(e,s)},p(t,s){4&s[0]&&r!==(r=t[31].name+"")&&_(n,r),4&s[0]&&l!==(l=t[31].num)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function Je(t){let e,n,s=t[31].header&&ke(t),l=!t[31].header&&_e(t);return{c(){s&&s.c(),e=x(),l&&l.c(),n=x()},m(t,r){s&&s.m(t,r),p(t,e,r),l&&l.m(t,r),p(t,n,r)},p(t,r){t[31].header?s?s.p(t,r):(s=ke(t),s.c(),s.m(e.parentNode,e)):s&&(s.d(1),s=null),t[31].header?l&&(l.d(1),l=null):l?l.p(t,r):(l=_e(t),l.c(),l.m(n.parentNode,n))},d(t){s&&s.d(t),t&&g(e),l&&l.d(t),t&&g(n)}}}function je(t){let e,n,s,l,r=t[28].label+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[28].name,e.value=e.__value},m(t,l){p(t,e,l),f(e,n),f(e,s)},p(t,s){2&s[0]&&r!==(r=t[28].label+"")&&_(n,r),2&s[0]&&l!==(l=t[28].name)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function qe(t){let e,n=Object.entries(t[21]),s=[];for(let e=0;eV(C[t],1,1,(()=>{C[t]=null}));return{c(){e=h("div"),n=h("select");for(let t=0;tТип \n Id \n Виджет \n Вкладка \n Название \n \n ',u=w(),d=h("tbody");for(let t=0;tt[10].call(n))),o.__value="Выберите пресет",o.value=o.__value,y(r,"class","slct-lg"),y(e,"class","grd-2col2"),y(a,"class","bg-gray-100"),y(d,"class","bg-white"),y(i,"class","tbl"),y(b,"class","btn-lg mb-2"),y(k,"class","btn-lg mb-2")},m(s,g){p(s,e,g),f(e,n);for(let t=0;t{o[i]=null})),Z(),n=o[e],n?n.p(t,l):(n=o[e]=r[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){l||(G(n),l=!0)},o(t){V(n),l=!1},d(t){o[e].d(t),t&&g(s)}}}function Oe(t,e,n){let{configJson:s}=e,{widgetsJson:l}=e,{itemsJson:r}=e,{show:o}=e,c=0,{saveConfig:i=(()=>{})}=e,{rebootEsp:a=(()=>{})}=e,u=!0;function d(){for(let t=0;t{"configJson"in t&&n(0,s=t.configJson),"widgetsJson"in t&&n(1,l=t.widgetsJson),"itemsJson"in t&&n(2,r=t.itemsJson),"show"in t&&n(3,o=t.show),"saveConfig"in t&&n(4,i=t.saveConfig),"rebootEsp"in t&&n(5,a=t.rebootEsp)},[s,l,r,o,i,a,c,u,d,f,function(){c=q(this),n(6,c),n(2,r)},()=>d(),function(t,e){t[e].id=this.value,n(0,s),n(1,l)},function(t,e){t[e].widget=q(this),n(0,s),n(1,l)},function(t,e){t[e].page=this.value,n(0,s),n(1,l)},function(t,e){t[e].descr=this.value,n(0,s),n(1,l)},()=>n(7,u=!u),t=>f(t),function(t,e,r){e[r][t]=this.value,n(0,s),n(1,l)},()=>i(),()=>a()]}class Me extends lt{constructor(t){super(),st(this,t,Oe,Le,r,{configJson:0,widgetsJson:1,itemsJson:2,show:3,saveConfig:4,rebootEsp:5},null,[-1,-1])}}function Ne(t,e,n){const s=t.slice();return s[22]=e[n][0],s[23]=e[n][1],s}function He(e){let n,s;return n=new Ot({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){V(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function Pe(t){let e,n,s,l,r,o,c,i;return n=new Dt({props:{title:"Подключение к WiFi",$$slots:{default:[Be]},$$scope:{ctx:t}}}),l=new Dt({props:{title:"Подключение к MQTT",$$slots:{default:[We]},$$scope:{ctx:t}}}),c=new Dt({props:{$$slots:{default:[Ue]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=w(),tt(l.$$.fragment),r=w(),o=h("div"),tt(c.$$.fragment),y(e,"class","grd-2col1"),y(o,"class","grd-1col1")},m(t,a){p(t,e,a),et(n,e,null),f(e,s),et(l,e,null),p(t,r,a),p(t,o,a),et(c,o,null),i=!0},p(t,e){const s={};67108919&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const r={};67108931&e&&(r.$$scope={dirty:e,ctx:t}),l.$set(r);const o={};67108992&e&&(o.$$scope={dirty:e,ctx:t}),c.$set(o)},i(t){i||(G(n.$$.fragment,t),G(l.$$.fragment,t),G(c.$$.fragment,t),i=!0)},o(t){V(n.$$.fragment,t),V(l.$$.fragment,t),V(c.$$.fragment,t),i=!1},d(t){t&&g(e),nt(n),nt(l),t&&g(r),t&&g(o),nt(c)}}}function Ae(t){let e,n,s,l,r=t[23]+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[23],e.value=e.__value},m(t,l){p(t,e,l),f(e,n),f(e,s)},p(t,s){4&s&&r!==(r=t[23]+"")&&_(n,r),4&s&&l!==(l=t[23])&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function De(t){let e,n,s;return n=new Ot({props:{title:"Введен неправильный пароль"}}),{c(){e=h("div"),tt(n.$$.fragment),y(e,"class","grd-1col1")},m(t,l){p(t,e,l),et(n,e,null),s=!0},i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){V(n.$$.fragment,t),s=!1},d(t){t&&g(e),nt(n)}}}function Be(t){let e,n,l,r,o,c,i,a,u,d,$,b,x,k,_,q,S,T,E,C,L,O,M,N,H,P,A,D,B,z,R,F,W,U,Y,K=Object.entries(t[2]),X=[];for(let e=0;eНазвание устройства

',l=w(),r=h("div"),o=h("input"),c=w(),i=h("div"),a=h("div"),a.innerHTML='

Точка доступа

',u=w(),d=h("div"),$=h("input"),b=w(),x=h("div"),k=h("div"),k.innerHTML='

Пароль точки доступа

',_=w(),q=h("div"),S=h("input"),T=w(),E=h("div"),C=h("div"),C.innerHTML='

Название wifi сети

',L=w(),O=h("div"),M=h("select");for(let t=0;tПароль

',A=w(),D=h("div"),B=h("input"),z=w(),tt&&tt.c(),R=w(),F=h("button"),F.textContent="Сохранить",y(n,"class","w-4/6"),y(o,"class","ipt-rnd text-left focus:border-indigo-500"),y(o,"type","text"),y(r,"class","flex justify-end w-3/6"),y(e,"class","crd-itm-psn"),y(a,"class","w-4/6"),y($,"class","ipt-rnd text-left focus:border-indigo-500"),y($,"type","text"),y(d,"class","flex justify-end w-3/6"),y(i,"class","crd-itm-psn"),y(k,"class","w-4/6"),y(S,"class","ipt-rnd text-left focus:border-indigo-500"),y(S,"type","text"),y(q,"class","flex justify-end w-3/6"),y(x,"class","crd-itm-psn"),y(C,"class","w-4/6"),y(M,"class","ipt-rnd text-left focus:border-indigo-500"),void 0===t[0].routerssid&&I((()=>t[11].call(M))),y(O,"class","flex justify-end w-3/6"),y(E,"class","crd-itm-psn"),y(P,"class","w-4/6"),y(B,"class","ipt-rnd text-left focus:border-indigo-500"),y(B,"type","text"),y(D,"class","flex justify-end w-3/6"),y(H,"class","crd-itm-psn"),y(F,"class","btn-lg")},m(s,g){p(s,e,g),f(e,n),f(e,l),f(e,r),f(r,o),J(o,t[0].name),p(s,c,g),p(s,i,g),f(i,a),f(i,u),f(i,d),f(d,$),J($,t[0].apssid),p(s,b,g),p(s,x,g),f(x,k),f(x,_),f(x,q),f(q,S),J(S,t[0].appass),p(s,T,g),p(s,E,g),f(E,C),f(E,L),f(E,O),f(O,M);for(let t=0;t{tt=null})),Z())},i(t){W||(G(tt),W=!0)},o(t){V(tt),W=!1},d(t){t&&g(e),t&&g(c),t&&g(i),t&&g(b),t&&g(x),t&&g(T),t&&g(E),m(X,t),t&&g(N),t&&g(H),t&&g(z),tt&&tt.d(t),t&&g(R),t&&g(F),U=!1,s(Y)}}}function Ie(t){let e;return{c(){e=h("p"),e.textContent="Ошибка",y(e,"class","text-red-500 font-bold h-8 bg-red-50 border-2 border-gray-200 rounded w-full text-center")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function ze(t){let e;return{c(){e=h("p"),e.textContent="Ожидание",y(e,"class","text-blue-500 font-bold h-8 bg-blue-50 border-2 border-gray-200 rounded w-full text-center")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function Re(t){let e;return{c(){e=h("p"),e.textContent="Подключение",y(e,"class","text-yellow-500 font-bold h-8 bg-yellow-50 border-2 border-gray-200 rounded w-full text-center")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function Fe(t){let e;return{c(){e=h("p"),e.textContent="Подключено",y(e,"class","text-green-500 font-bold h-8 bg-green-50 border-2 border-gray-200 rounded w-full text-center")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function We(t){let e,n,l,r,o,c,i,a,u,d,m,$,b,x,k,_,j,q,S,T,E,C,L,O,M,N,H,P,A,D,B,I,z,R,F,W,U,Y;function K(t,e){return"e5"===t[1].mqtt?Fe:"e13"===t[1].mqtt?Re:void 0===t[1].mqtt?ze:Ie}let Q=K(t),Z=Q(t);return{c(){e=h("div"),n=h("div"),n.innerHTML='

Состояние подключения

',l=w(),r=h("div"),Z.c(),o=w(),c=h("div"),i=h("div"),i.innerHTML='

Название сервера

',a=w(),u=h("div"),d=h("input"),m=w(),$=h("div"),b=h("div"),b.innerHTML='

Порт

',x=w(),k=h("div"),_=h("input"),j=w(),q=h("div"),S=h("div"),S.innerHTML='

Префикс

',T=w(),E=h("div"),C=h("input"),L=w(),O=h("div"),M=h("div"),M.innerHTML='

Имя пользователя

',N=w(),H=h("div"),P=h("input"),A=w(),D=h("div"),B=h("div"),B.innerHTML='

Пароль

',I=w(),z=h("div"),R=h("input"),F=w(),W=h("button"),W.textContent="Сохранить",y(n,"class","w-4/6"),y(r,"class","flex justify-center w-3/6 align-baseline text-sm sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words"),y(e,"class","crd-itm-psn"),y(i,"class","w-4/6"),y(d,"class","ipt-rnd text-left focus:border-indigo-500"),y(d,"type","text"),y(u,"class","flex justify-end w-3/6"),y(c,"class","crd-itm-psn"),y(b,"class","w-4/6"),y(_,"class","ipt-rnd text-left focus:border-indigo-500"),y(_,"type","text"),y(k,"class","flex justify-end w-3/6"),y($,"class","crd-itm-psn"),y(S,"class","w-4/6"),y(C,"class","ipt-rnd text-left focus:border-indigo-500"),y(C,"type","text"),y(E,"class","flex justify-end w-3/6"),y(q,"class","crd-itm-psn"),y(M,"class","w-4/6"),y(P,"class","ipt-rnd text-left focus:border-indigo-500"),y(P,"type","text"),y(H,"class","flex justify-end w-3/6"),y(O,"class","crd-itm-psn"),y(B,"class","w-4/6"),y(R,"class","ipt-rnd text-left focus:border-indigo-500"),y(R,"type","text"),y(z,"class","flex justify-end w-3/6"),y(D,"class","crd-itm-psn"),y(W,"class","btn-lg")},m(s,g){p(s,e,g),f(e,n),f(e,l),f(e,r),Z.m(r,null),p(s,o,g),p(s,c,g),f(c,i),f(c,a),f(c,u),f(u,d),J(d,t[0].mqttServer),p(s,m,g),p(s,$,g),f($,b),f($,x),f($,k),f(k,_),J(_,t[0].mqttPort),p(s,j,g),p(s,q,g),f(q,S),f(q,T),f(q,E),f(E,C),J(C,t[0].mqttPrefix),p(s,L,g),p(s,O,g),f(O,M),f(O,N),f(O,H),f(H,P),J(P,t[0].mqttUser),p(s,A,g),p(s,D,g),f(D,B),f(D,I),f(D,z),f(z,R),J(R,t[0].mqttPass),p(s,F,g),p(s,W,g),U||(Y=[v(d,"input",t[15]),v(_,"input",t[16]),v(C,"input",t[17]),v(P,"input",t[18]),v(R,"input",t[19]),v(W,"click",t[20])],U=!0)},p(t,e){Q!==(Q=K(t))&&(Z.d(1),Z=Q(t),Z&&(Z.c(),Z.m(r,null))),5&e&&d.value!==t[0].mqttServer&&J(d,t[0].mqttServer),5&e&&_.value!==t[0].mqttPort&&J(_,t[0].mqttPort),5&e&&C.value!==t[0].mqttPrefix&&J(C,t[0].mqttPrefix),5&e&&P.value!==t[0].mqttUser&&J(P,t[0].mqttUser),5&e&&R.value!==t[0].mqttPass&&J(R,t[0].mqttPass)},d(t){t&&g(e),Z.d(),t&&g(o),t&&g(c),t&&g(m),t&&g($),t&&g(j),t&&g(q),t&&g(L),t&&g(O),t&&g(A),t&&g(D),t&&g(F),t&&g(W),U=!1,s(Y)}}}function Ue(e){let n,s,l;return{c(){n=h("button"),n.textContent="Перезагрузить устройство",y(n,"class","btn-lg")},m(t,r){p(t,n,r),s||(l=v(n,"click",e[21]),s=!0)},p:t,d(t){t&&g(n),s=!1,l()}}}function Ye(t){let e,n,s,l;const r=[Pe,He],o=[];function c(t,e){return t[3]?0:1}return e=c(t),n=o[e]=r[e](t),{c(){n.c(),s=x()},m(t,n){o[e].m(t,n),p(t,s,n),l=!0},p(t,[l]){let i=e;e=c(t),e===i?o[e].p(t,l):(Q(),V(o[i],1,1,(()=>{o[i]=null})),Z(),n=o[e],n?n.p(t,l):(n=o[e]=r[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){l||(G(n),l=!0)},o(t){V(n),l=!1},d(t){o[e].d(t),t&&g(s)}}}function Ke(t,e,n){let{settingsJson:s}=e,{errorsJson:l}=e,{ssidJson:r}=e,{show:o}=e,{ssidClick:c=(()=>{})}=e,{saveSett:i=(()=>{})}=e,{saveMqtt:a=(()=>{})}=e,{rebootEsp:u=(()=>{})}=e;return t.$$set=t=>{"settingsJson"in t&&n(0,s=t.settingsJson),"errorsJson"in t&&n(1,l=t.errorsJson),"ssidJson"in t&&n(2,r=t.ssidJson),"show"in t&&n(3,o=t.show),"ssidClick"in t&&n(4,c=t.ssidClick),"saveSett"in t&&n(5,i=t.saveSett),"saveMqtt"in t&&n(6,a=t.saveMqtt),"rebootEsp"in t&&n(7,u=t.rebootEsp)},[s,l,r,o,c,i,a,u,function(){s.name=this.value,n(0,s),n(2,r)},function(){s.apssid=this.value,n(0,s),n(2,r)},function(){s.appass=this.value,n(0,s),n(2,r)},function(){s.routerssid=q(this),n(0,s),n(2,r)},()=>c(),function(){s.routerpass=this.value,n(0,s),n(2,r)},()=>i(),function(){s.mqttServer=this.value,n(0,s),n(2,r)},function(){s.mqttPort=this.value,n(0,s),n(2,r)},function(){s.mqttPrefix=this.value,n(0,s),n(2,r)},function(){s.mqttUser=this.value,n(0,s),n(2,r)},function(){s.mqttPass=this.value,n(0,s),n(2,r)},()=>a(),()=>u()]}class Qe extends lt{constructor(t){super(),st(this,t,Ke,Ye,r,{settingsJson:0,errorsJson:1,ssidJson:2,show:3,ssidClick:4,saveSett:5,saveMqtt:6,rebootEsp:7})}}function Ze(t,e,n){const s=t.slice();return s[13]=e[n],s[15]=n,s}function Ge(e){let n,s;return n=new Ot({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){V(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function Ve(t){let e,n,s,l,r;return n=new Dt({props:{title:"Список устройств",$$slots:{default:[en]},$$scope:{ctx:t}}}),l=new Ot({props:{$$slots:{default:[nn]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=w(),tt(l.$$.fragment),y(e,"class","grd-1col1")},m(t,o){p(t,e,o),et(n,e,null),f(e,s),et(l,e,null),r=!0},p(t,e){const s={};65591&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const r={};65536&e&&(r.$$scope={dirty:e,ctx:t}),l.$set(r)},i(t){r||(G(n.$$.fragment,t),G(l.$$.fragment,t),r=!0)},o(t){V(n.$$.fragment,t),V(l.$$.fragment,t),r=!1},d(t){t&&g(e),nt(n),nt(l)}}}function Xe(t){let e,n,s,l,r,o,c,i,a,u,d,m,$,x,v,k,J,j,q,S=t[13].name+"",T=t[13].ip+"",E=t[13].id+"",C=t[13].status?"online":"offline";return j=new St({props:{click:function(){return t[7](t[15])}}}),{c(){e=h("tr"),n=h("td"),s=b(S),l=w(),r=h("td"),o=h("a"),c=b(T),a=w(),u=h("td"),d=b(E),m=w(),$=h("td"),x=b(C),k=w(),J=h("td"),tt(j.$$.fragment),y(n,"class","tbl-bdy-lg ipt-lg w-full"),y(o,"href",i="http://"+t[13].ip),y(r,"class","tbl-bdy-lg ipt-lg w-full"),y(u,"class","tbl-bdy-lg ipt-lg w-full"),y($,"class",v="tbl-bdy-lg ipt-lg w-full "+(t[13].status?"bg-green-50":"bg-red-50")),y(J,"class","tbl-bdy-lg"),y(e,"class","txt-sz txt-pad")},m(t,i){p(t,e,i),f(e,n),f(n,s),f(e,l),f(e,r),f(r,o),f(o,c),f(e,a),f(e,u),f(u,d),f(e,m),f(e,$),f($,x),f(e,k),f(e,J),et(j,J,null),q=!0},p(e,n){t=e,(!q||1&n)&&S!==(S=t[13].name+"")&&_(s,S),(!q||1&n)&&T!==(T=t[13].ip+"")&&_(c,T),(!q||1&n&&i!==(i="http://"+t[13].ip))&&y(o,"href",i),(!q||1&n)&&E!==(E=t[13].id+"")&&_(d,E),(!q||1&n)&&C!==(C=t[13].status?"online":"offline")&&_(x,C),(!q||1&n&&v!==(v="tbl-bdy-lg ipt-lg w-full "+(t[13].status?"bg-green-50":"bg-red-50")))&&y($,"class",v)},i(t){q||(G(j.$$.fragment,t),q=!0)},o(t){V(j.$$.fragment,t),q=!1},d(t){t&&g(e),nt(j)}}}function tn(t){let e,n,l,r,o,c,i,a,u,d,m,$,b;return{c(){e=h("tr"),n=h("td"),l=h("input"),r=w(),o=h("td"),c=h("input"),i=w(),a=h("td"),u=h("input"),d=w(),m=h("td"),y(l,"class","ipt-lg w-full"),y(l,"type","text"),y(n,"class","tbl-bdy-lg"),y(c,"class","ipt-lg w-full"),y(c,"type","text"),y(o,"class","tbl-bdy-lg"),y(u,"class","ipt-lg w-full"),y(u,"type","text"),y(a,"class","tbl-bdy-lg"),y(m,"class","tbl-bdy-lg"),y(e,"class","txt-sz txt-pad")},m(s,g){p(s,e,g),f(e,n),f(n,l),J(l,t[2].name),f(e,r),f(e,o),f(o,c),J(c,t[2].ip),f(e,i),f(e,a),f(a,u),J(u,t[2].id),f(e,d),f(e,m),$||(b=[v(l,"input",t[8]),v(c,"input",t[9]),v(u,"input",t[10])],$=!0)},p(t,e){4&e&&l.value!==t[2].name&&J(l,t[2].name),4&e&&c.value!==t[2].ip&&J(c,t[2].ip),4&e&&u.value!==t[2].id&&J(u,t[2].id)},d(t){t&&g(e),$=!1,s(b)}}}function en(t){let e,n,l,r,o,c,i,a,u,d,$,x,k,J=t[1]?"Сохранить":"Добавить устройство",j=t[0],q=[];for(let e=0;eV(q[t],1,1,(()=>{q[t]=null}));let T=t[1]&&tn(t);return{c(){e=h("table"),n=h("thead"),n.innerHTML='Название устройства \n IP адрес \n Идентификатор \n Состояние \n ',l=w(),r=h("tbody");for(let t=0;t{o[i]=null})),Z(),n=o[e],n?n.p(t,l):(n=o[e]=r[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){l||(G(n),l=!0)},o(t){V(n),l=!1},d(t){o[e].d(t),t&&g(s)}}}function ln(t,e,n){let{show:s}=e,{deviceList:l}=e,{showInput:r}=e,{newDevice:o={}}=e,{addDevInList:c=(()=>{})}=e,{sendToAllDevices:i=(t=>{})}=e;function a(t){for(let e=0;e{"show"in t&&n(3,s=t.show),"deviceList"in t&&n(0,l=t.deviceList),"showInput"in t&&n(1,r=t.showInput),"newDevice"in t&&n(2,o=t.newDevice),"addDevInList"in t&&n(4,c=t.addDevInList),"sendToAllDevices"in t&&n(5,i=t.sendToAllDevices)},[l,r,o,s,c,i,a,t=>a(t),function(){o.name=this.value,n(2,o)},function(){o.ip=this.value,n(2,o)},function(){o.id=this.value,n(2,o)},()=>(n(1,r=!r),c()),t=>i("/reboot|")]}class rn extends lt{constructor(t){super(),st(this,t,ln,sn,r,{show:3,deviceList:0,showInput:1,newDevice:2,addDevInList:4,sendToAllDevices:5})}}function on(t,e,n){const s=t.slice();return s[9]=e[n][0],s[10]=e[n][1],s}function cn(e){let n,s;return n=new Ot({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){V(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function an(t){let e,n,s,l,r,o,c,i;return n=new Dt({props:{title:"Системная информация",$$slots:{default:[$n]},$$scope:{ctx:t}}}),l=new Dt({props:{title:"Системные ошибки",$$slots:{default:[yn]},$$scope:{ctx:t}}}),c=new Dt({props:{$$slots:{default:[kn]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=w(),tt(l.$$.fragment),r=w(),o=h("div"),tt(c.$$.fragment),y(e,"class","grd-2col1"),y(o,"class","grd-1col1")},m(t,a){p(t,e,a),et(n,e,null),f(e,s),et(l,e,null),p(t,r,a),p(t,o,a),et(c,o,null),i=!0},p(t,e){const s={};8195&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const r={};8210&e&&(r.$$scope={dirty:e,ctx:t}),l.$set(r);const o={};8196&e&&(o.$$scope={dirty:e,ctx:t}),c.$set(o)},i(t){i||(G(n.$$.fragment,t),G(l.$$.fragment,t),G(c.$$.fragment,t),i=!0)},o(t){V(n.$$.fragment,t),V(l.$$.fragment,t),V(c.$$.fragment,t),i=!1},d(t){t&&g(e),nt(n),nt(l),t&&g(r),t&&g(o),nt(c)}}}function un(t){let e;return{c(){e=h("p"),e.textContent="не подключено",y(e,"class","text-red-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function dn(t){let e;return{c(){e=h("p"),e.textContent="нет сигнала",y(e,"class","text-red-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function fn(t){let e;return{c(){e=h("p"),e.textContent="очень низкий",y(e,"class","text-red-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function pn(t){let e;return{c(){e=h("p"),e.textContent="низкий",y(e,"class","text-yellow-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function gn(t){let e;return{c(){e=h("p"),e.textContent="хороший",y(e,"class","text-yellow-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function mn(t){let e;return{c(){e=h("p"),e.textContent="очень хороший",y(e,"class","text-green-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function hn(t){let e;return{c(){e=h("p"),e.textContent="отличный",y(e,"class","text-green-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function $n(t){let e,n,s,l,r,o,c,i,a,u,d,m,$,x,v,k,J,j,q,S,T,E,C,L,O,M,N,H,P,A,D,B,I,z,R,F,W,U,Y,K,Q,Z,G,V,X,tt,et,nt,st,lt,rt,ot,ct,it,at,ut,dt,ft,pt,gt=t[1].bn+"",mt=t[1].bver+"",ht=t[1].upt+"",$t=t[1].uptm+"",bt=t[1].heap+"",wt=t[1].fl+"",xt=0===t[1].rssi&&un(),vt=1===t[1].rssi&&dn(),yt=2===t[1].rssi&&fn(),kt=3===t[1].rssi&&pn(),_t=4===t[1].rssi&&gn(),Jt=5===t[1].rssi&&mn(),jt=6===t[1].rssi&&hn();return{c(){e=h("div"),n=h("div"),n.innerHTML='

Название прошивки

',s=w(),l=h("div"),r=h("p"),o=b(gt),c=w(),i=h("div"),a=h("div"),a.innerHTML='

Версия прошивки

',u=w(),d=h("div"),m=h("p"),$=b(mt),x=w(),v=h("div"),k=h("div"),k.innerHTML='

Версия файловой системы

',J=w(),j=h("div"),q=h("p"),S=b(t[0]),T=w(),E=h("div"),C=h("div"),C.innerHTML='

Uptime устройства

',L=w(),O=h("div"),M=h("p"),N=b(ht),H=w(),P=h("div"),A=h("div"),A.innerHTML='

Uptime сессии mqtt

',D=w(),B=h("div"),I=h("p"),z=b($t),R=w(),F=h("div"),W=h("div"),W.innerHTML='

Качество WiFi сигнала

',U=w(),Y=h("div"),xt&&xt.c(),K=w(),vt&&vt.c(),Q=w(),yt&&yt.c(),Z=w(),kt&&kt.c(),G=w(),_t&&_t.c(),V=w(),Jt&&Jt.c(),X=w(),jt&&jt.c(),tt=w(),et=h("div"),nt=h("div"),nt.innerHTML='

Остаток оперативной памяти

',st=w(),lt=h("div"),rt=h("p"),ot=b(bt),ct=w(),it=h("div"),at=h("div"),at.innerHTML='

Количество записей на flash

',ut=w(),dt=h("div"),ft=h("p"),pt=b(wt),y(n,"class","w-3/4"),y(r,"class","text-gray-500 font-bold"),y(l,"class","flex justify-center w-1/4"),y(e,"class","crd-itm-psn"),y(a,"class","w-3/4"),y(m,"class","text-gray-500 font-bold"),y(d,"class","flex justify-center w-1/4"),y(i,"class","crd-itm-psn"),y(k,"class","w-3/4"),y(q,"class","text-gray-500 font-bold"),y(j,"class","flex justify-center w-1/4"),y(v,"class","crd-itm-psn"),y(C,"class","w-3/4"),y(M,"class","text-gray-500 font-bold"),y(O,"class","flex justify-center w-1/4"),y(E,"class","crd-itm-psn"),y(A,"class","w-3/4"),y(I,"class","text-gray-500 font-bold"),y(B,"class","flex justify-center w-1/4"),y(P,"class","crd-itm-psn"),y(W,"class","w-3/4"),y(Y,"class","flex justify-center w-1/4 text-xs sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words"),y(F,"class","crd-itm-psn"),y(nt,"class","w-3/4"),y(rt,"class","text-green-500 font-bold"),y(lt,"class","flex justify-center w-1/4"),y(et,"class","crd-itm-psn"),y(at,"class","w-3/4"),y(ft,"class","text-green-500 font-bold"),y(dt,"class","flex justify-center w-1/4"),y(it,"class","crd-itm-psn")},m(t,g){p(t,e,g),f(e,n),f(e,s),f(e,l),f(l,r),f(r,o),p(t,c,g),p(t,i,g),f(i,a),f(i,u),f(i,d),f(d,m),f(m,$),p(t,x,g),p(t,v,g),f(v,k),f(v,J),f(v,j),f(j,q),f(q,S),p(t,T,g),p(t,E,g),f(E,C),f(E,L),f(E,O),f(O,M),f(M,N),p(t,H,g),p(t,P,g),f(P,A),f(P,D),f(P,B),f(B,I),f(I,z),p(t,R,g),p(t,F,g),f(F,W),f(F,U),f(F,Y),xt&&xt.m(Y,null),f(Y,K),vt&&vt.m(Y,null),f(Y,Q),yt&&yt.m(Y,null),f(Y,Z),kt&&kt.m(Y,null),f(Y,G),_t&&_t.m(Y,null),f(Y,V),Jt&&Jt.m(Y,null),f(Y,X),jt&&jt.m(Y,null),p(t,tt,g),p(t,et,g),f(et,nt),f(et,st),f(et,lt),f(lt,rt),f(rt,ot),p(t,ct,g),p(t,it,g),f(it,at),f(it,ut),f(it,dt),f(dt,ft),f(ft,pt)},p(t,e){2&e&>!==(gt=t[1].bn+"")&&_(o,gt),2&e&&mt!==(mt=t[1].bver+"")&&_($,mt),1&e&&_(S,t[0]),2&e&&ht!==(ht=t[1].upt+"")&&_(N,ht),2&e&&$t!==($t=t[1].uptm+"")&&_(z,$t),0===t[1].rssi?xt||(xt=un(),xt.c(),xt.m(Y,K)):xt&&(xt.d(1),xt=null),1===t[1].rssi?vt||(vt=dn(),vt.c(),vt.m(Y,Q)):vt&&(vt.d(1),vt=null),2===t[1].rssi?yt||(yt=fn(),yt.c(),yt.m(Y,Z)):yt&&(yt.d(1),yt=null),3===t[1].rssi?kt||(kt=pn(),kt.c(),kt.m(Y,G)):kt&&(kt.d(1),kt=null),4===t[1].rssi?_t||(_t=gn(),_t.c(),_t.m(Y,V)):_t&&(_t.d(1),_t=null),5===t[1].rssi?Jt||(Jt=mn(),Jt.c(),Jt.m(Y,X)):Jt&&(Jt.d(1),Jt=null),6===t[1].rssi?jt||(jt=hn(),jt.c(),jt.m(Y,null)):jt&&(jt.d(1),jt=null),2&e&&bt!==(bt=t[1].heap+"")&&_(ot,bt),2&e&&wt!==(wt=t[1].fl+"")&&_(pt,wt)},d(t){t&&g(e),t&&g(c),t&&g(i),t&&g(x),t&&g(v),t&&g(T),t&&g(E),t&&g(H),t&&g(P),t&&g(R),t&&g(F),xt&&xt.d(),vt&&vt.d(),yt&&yt.d(),kt&&kt.d(),_t&&_t.d(),Jt&&Jt.d(),jt&&jt.d(),t&&g(tt),t&&g(et),t&&g(ct),t&&g(it)}}}function bn(t){let e,n;function s(){return t[6](t[9])}return e=new Ot({props:{title:t[5][t[9]][t[10]].descr,cross:t[5][t[9]][t[10]].cancel,close:s,$$slots:{default:[xn]},$$scope:{ctx:t}}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(n,l){t=n;const r={};2&l&&(r.title=t[5][t[9]][t[10]].descr),2&l&&(r.cross=t[5][t[9]][t[10]].cancel),18&l&&(r.close=s),8194&l&&(r.$$scope={dirty:l,ctx:t}),e.$set(r)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){V(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function wn(t){let e,n,s="Количество: "+t[1][t[9]+"n"];return{c(){e=h("p"),n=b(s),y(e,"class","break-words text-center")},m(t,s){p(t,e,s),f(e,n)},p(t,e){2&e&&s!==(s="Количество: "+t[1][t[9]+"n"])&&_(n,s)},d(t){t&&g(e)}}}function xn(t){let e,n,s,l,r=t[5][t[9]][t[10]].txt+"",o=t[5][t[9]][t[10]].num&&wn(t);return{c(){e=h("p"),n=b(r),s=w(),o&&o.c(),l=w(),y(e,"class","break-words text-center")},m(t,r){p(t,e,r),f(e,n),p(t,s,r),o&&o.m(t,r),p(t,l,r)},p(t,e){2&e&&r!==(r=t[5][t[9]][t[10]].txt+"")&&_(n,r),t[5][t[9]][t[10]].num?o?o.p(t,e):(o=wn(t),o.c(),o.m(l.parentNode,l)):o&&(o.d(1),o=null)},d(t){t&&g(e),t&&g(s),o&&o.d(t),t&&g(l)}}}function vn(t){let e,n,s=t[9]in t[5]&&t[10]in t[5][t[9]]&&bn(t);return{c(){s&&s.c(),e=x()},m(t,l){s&&s.m(t,l),p(t,e,l),n=!0},p(t,n){t[9]in t[5]&&t[10]in t[5][t[9]]?s?(s.p(t,n),2&n&&G(s,1)):(s=bn(t),s.c(),G(s,1),s.m(e.parentNode,e)):s&&(Q(),V(s,1,1,(()=>{s=null})),Z())},i(t){n||(G(s),n=!0)},o(t){V(s),n=!1},d(t){s&&s.d(t),t&&g(e)}}}function yn(t){let e,n,s=Object.entries(t[1]),l=[];for(let e=0;eV(l[t],1,1,(()=>{l[t]=null}));return{c(){e=h("div");for(let t=0;t{o[i]=null})),Z(),n=o[e],n?n.p(t,l):(n=o[e]=r[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){l||(G(n),l=!0)},o(t){V(n),l=!1},d(t){o[e].d(t),t&&g(s)}}}function Jn(t,e,n){let{version:s}=e,{errorsJson:l}=e,{rebootEsp:r=(()=>{})}=e,{show:o}=e,{cancelAlarm:c=(t=>{})}=e;return t.$$set=t=>{"version"in t&&n(0,s=t.version),"errorsJson"in t&&n(1,l=t.errorsJson),"rebootEsp"in t&&n(2,r=t.rebootEsp),"show"in t&&n(3,o=t.show),"cancelAlarm"in t&&n(4,c=t.cancelAlarm)},[s,l,r,o,c,{mqtt:{e1:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Нет ответа от сервера",cancel:!1},e2:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Соединение было разорвано",cancel:!1},e3:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Ошибка соединения. Обычно возникает когда неверно указано название сервера MQTT",cancel:!1},e4:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Клиент был отключен",cancel:!1},e6:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Ошибка версии",cancel:!1},e7:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Отклонен идентификатор",cancel:!1},e8:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Не могу установить соединение",cancel:!1},e9:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Неправильное имя пользователя/пароль"},e10:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Не авторизован для подключения",cancel:!1},e11:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Название сервера пустое",cancel:!1},e12:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Имя пользователя или пароль пустые",cancel:!1},e13:{descr:"Mqtt",color:"text-red-500",txt:"Подключение в процессе",cancel:!1}},wse1:{1:{descr:"Ошибка веб сокетов",color:"text-red-500",txt:"Слишком много клиентов было открыто. Допускается не более четырех.",cancel:!0}},jse1:{1:{descr:"Ошибка json",color:"text-red-500",txt:"Недостаточный размер буфера библиотеки Arduino Json. Устройство может вести себя непредсказуемо. Обратитесь к разработчику.",cancel:!0}},jse2:{1:{descr:"Ошибка json",color:"text-red-500",txt:"Ошибка записи/чтения json. Устройство может вести себя непредсказуемо. Обратитесь к разработчику.",cancel:!0,num:!0}},jse3:{1:{descr:"Ошибка json",color:"text-red-500",txt:"Ошибка чтения файла json с виджетами",cancel:!0}}},t=>c(t),()=>r()]}class jn extends lt{constructor(t){super(),st(this,t,Jn,_n,r,{version:0,errorsJson:1,rebootEsp:2,show:3,cancelAlarm:4})}}function qn(e){let n,s,l,r;return{c(){n=$("svg"),s=$("path"),y(s,"d","M7 18a4.6 4.4 0 0 1 0 -9h0a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-12"),y(n,"class",l="h-8 w-8 "+e[0]),y(n,"width","8"),y(n,"height","8"),y(n,"viewBox",r=e[1]+" "+e[2]+" 24 24"),y(n,"stroke-width","2"),y(n,"stroke","currentColor"),y(n,"fill","none"),y(n,"stroke-linecap","round"),y(n,"stroke-linejoin","round")},m(t,e){p(t,n,e),f(n,s)},p(t,[e]){1&e&&l!==(l="h-8 w-8 "+t[0])&&y(n,"class",l),6&e&&r!==(r=t[1]+" "+t[2]+" 24 24")&&y(n,"viewBox",r)},i:t,o:t,d(t){t&&g(n)}}}function Sn(t,e,n){let{color:s}=e,{x:l=0}=e,{y:r=0}=e;return t.$$set=t=>{"color"in t&&n(0,s=t.color),"x"in t&&n(1,l=t.x),"y"in t&&n(2,r=t.y)},[s,l,r]}class Tn extends lt{constructor(t){super(),st(this,t,Sn,qn,r,{color:0,x:1,y:2})}}function En(t,e,n){const s=t.slice();return s[108]=e[n],s}function Cn(t){let e,n;return e=new Nt({}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){V(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function Ln(t){let e,n,s,l,r=t[108].name+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[108].ws,e.value=e.__value},m(t,l){p(t,e,l),f(e,n),f(e,s)},p(t,s){32768&s[0]&&r!==(r=t[108].name+"")&&_(n,r),32768&s[0]&&l!==(l=t[108].ws)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function On(t){let e,n,s,l,r,o,c,i,a,u;return e=new Jt({props:{path:"/",$$slots:{default:[Nn]},$$scope:{ctx:t}}}),s=new Jt({props:{path:"/config",$$slots:{default:[Hn]},$$scope:{ctx:t}}}),r=new Jt({props:{path:"/connection",$$slots:{default:[Pn]},$$scope:{ctx:t}}}),c=new Jt({props:{path:"/list",$$slots:{default:[An]},$$scope:{ctx:t}}}),a=new Jt({props:{path:"/system",$$slots:{default:[Dn]},$$scope:{ctx:t}}}),{c(){tt(e.$$.fragment),n=w(),tt(s.$$.fragment),l=w(),tt(r.$$.fragment),o=w(),tt(c.$$.fragment),i=w(),tt(a.$$.fragment)},m(t,d){et(e,t,d),p(t,n,d),et(s,t,d),p(t,l,d),et(r,t,d),p(t,o,d),et(c,t,d),p(t,i,d),et(a,t,d),u=!0},p(t,n){const l={};2060&n[0]|262144&n[3]&&(l.$$scope={dirty:n,ctx:t}),e.$set(l);const o={};1808&n[0]|262144&n[3]&&(o.$$scope={dirty:n,ctx:t}),s.$set(o);const i={};28704&n[0]|262144&n[3]&&(i.$$scope={dirty:n,ctx:t}),r.$set(i);const u={};294976&n[0]|262144&n[3]&&(u.$$scope={dirty:n,ctx:t}),c.$set(u);const d={};8320&n[0]|262144&n[3]&&(d.$$scope={dirty:n,ctx:t}),a.$set(d)},i(t){u||(G(e.$$.fragment,t),G(s.$$.fragment,t),G(r.$$.fragment,t),G(c.$$.fragment,t),G(a.$$.fragment,t),u=!0)},o(t){V(e.$$.fragment,t),V(s.$$.fragment,t),V(r.$$.fragment,t),V(c.$$.fragment,t),V(a.$$.fragment,t),u=!1},d(t){nt(e,t),t&&g(n),nt(s,t),t&&g(l),nt(r,t),t&&g(o),nt(c,t),t&&g(i),nt(a,t)}}}function Mn(e){let n,s;return n=new Ot({props:{title:"Нет соединения"}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){V(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function Nn(t){let e,n;return e=new pe({props:{show:t[3],layoutJson:t[11],pages:t[2],wsPush:t[35]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};8&n[0]&&(s.show=t[3]),2048&n[0]&&(s.layoutJson=t[11]),4&n[0]&&(s.pages=t[2]),e.$set(s)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){V(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function Hn(t){let e,n;return e=new Me({props:{show:t[4],configJson:t[8],widgetsJson:t[9],itemsJson:t[10],saveConfig:t[36],rebootEsp:t[37]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};16&n[0]&&(s.show=t[4]),256&n[0]&&(s.configJson=t[8]),512&n[0]&&(s.widgetsJson=t[9]),1024&n[0]&&(s.itemsJson=t[10]),e.$set(s)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){V(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function Pn(t){let e,n;return e=new Qe({props:{show:t[5],rebootEsp:t[38],ssidClick:t[39],saveSett:t[40],saveMqtt:t[41],settingsJson:t[12],errorsJson:t[13],ssidJson:t[14]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};32&n[0]&&(s.show=t[5]),4096&n[0]&&(s.settingsJson=t[12]),8192&n[0]&&(s.errorsJson=t[13]),16384&n[0]&&(s.ssidJson=t[14]),e.$set(s)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){V(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function An(t){let e,n;return e=new rn({props:{show:t[6],deviceList:t[15],showInput:zn,addDevInList:t[42],newDevice:t[18],sendToAllDevices:t[43]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};64&n[0]&&(s.show=t[6]),32768&n[0]&&(s.deviceList=t[15]),262144&n[0]&&(s.newDevice=t[18]),e.$set(s)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){V(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function Dn(t){let e,n;return e=new jn({props:{show:t[7],errorsJson:t[13],rebootEsp:t[44],cancelAlarm:t[45],version:In}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};128&n[0]&&(s.show=t[7]),8192&n[0]&&(s.errorsJson=t[13]),e.$set(s)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){V(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function Bn(t){let e,n,l,r,o,c,i,a,u,d,$,b,x,k,_,J,q,S,T,E,C,L,O,M,N,H,P,A,D,B,z,R,F,W,U,Y,K,X,st,lt,rt,ot,ct=t[19]&&Cn(),it=t[15],at=[];for(let e=0;e",_=w(),J=h("ul"),q=h("li"),S=h("a"),S.textContent="Управление",T=w(),E=h("li"),C=h("a"),C.textContent="Конфигуратор",L=w(),O=h("li"),M=h("a"),M.textContent="Подключение",N=w(),H=h("li"),P=h("a"),P.textContent="Устройства",A=w(),D=h("li"),B=h("a"),B.textContent="Системные",z=w(),R=h("main"),F=h("ul"),W=h("div"),Y.c(),X=w(),st=h("footer"),st.innerHTML='
Developed by Dmitry Borisenko
',y(c,"class","border border-indigo-500 border-4"),void 0===t[17]&&I((()=>t[31].call(c))),y(o,"class","px-15 py-1"),y(a,"class","pl-4 pr-4 py-1"),y(r,"class","flex content-center items-center justify-end"),y(l,"class","h-10 w-full bg-gray-100 overflow-auto shadow-md"),y(b,"id","menu__toggle"),y(b,"type","checkbox"),y(k,"class","menu__btn"),y(k,"for","menu__toggle"),y(S,"class","menu__item"),y(S,"href","/"),y(C,"class","menu__item"),y(C,"href","/config"),y(M,"class","menu__item"),y(M,"href","/connection"),y(P,"class","menu__item"),y(P,"href","/list"),y(B,"class","menu__item"),y(B,"href","/system"),y(J,"class","menu__box"),y($,"class","flex"),y(W,"class","bg-cover pt-0 px-4"),y(F,"class","menu__main"),y(R,"class",K="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")),y(st,"class","h-4 bg-gray-100 border-gray-200 shadow-lg"),y(e,"class","flex flex-col h-screen bg-gray-50")},m(s,g){p(s,e,g),ct&&ct.m(e,null),f(e,n),f(e,l),f(l,r),f(r,o),f(o,c);for(let t=0;t{ct=null})),Z()),32768&s[0]){let e;for(it=t[15],e=0;e{dt[r]=null})),Z(),Y=dt[U],Y?Y.p(t,s):(Y=dt[U]=ut[U](t),Y.c()),G(Y,1),Y.m(W,null)),(!lt||3&s[0]&&K!==(K="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")))&&y(R,"class",K)},i(t){lt||(G(ct),G(u.$$.fragment,t),G(Y),lt=!0)},o(t){V(ct),V(u.$$.fragment,t),V(Y),lt=!1},d(t){t&&g(e),ct&&ct.d(),m(at,t),nt(u),dt[U].d(),rt=!1,s(ot)}}}let In=404,zn=!1;function Rn(t,e,n){let s;o(t,bt,(t=>n(73,s=t))),bt.mode.hash();let l=!1,r=!1,c=document.location.hostname,i=!0,a=[],u=!1,d=!1,f=!1,p=!1,g=!1,m=[],h=!1,$=!1,b=[],w=!1,x=!1,v=[],y=!1,k=!1,_=[],J=!1,j=!1,S={},T=!1,E={},L=!1,O={},M=!1,N={},H=!1,P=[],A=!1,D=[];D=[{name:"--",id:"--",ip:c,ws:0,status:!1}];let B,I=[],z=!1,R=0,F=!0,W={};var U=function(){this.parts=[]};let Y;U.prototype.append=function(t){this.parts.push(t),this.blob=void 0},U.prototype.getBlob=function(){return this.blob||(this.blob=new Blob(this.parts,{type:"binary"})),this.blob},U.prototype.clear=function(){this.parts=[]};var K=new U,Q=new U,Z=new U,G=new U;function V(){void 0!==R&&ft(R,Y)}function X(){wt(R);let t=0;D.forEach((e=>{e.ws=t,e.status||(et(t),st(t)),t++})),n(15,D)}function tt(t,e){D.forEach((n=>{n.ws===t&&(n.status=e,n.status?console.log("[i]",n.ip,"status online"):console.log("[i]",n.ip,"status offline"))})),n(15,D),wt(R),n(16,z=B.status)}function et(t){let e=nt(t);"error"===e?console.log("[e]","device list wrong"):(I[t]=new WebSocket("ws://"+e+":81"),I.binaryType="blob",console.log("[i]",e,t,"started connecting..."))}function nt(t){let e="error";return D.forEach((n=>{t===n.ws&&(e=n.ip)})),e}function st(t){if(I[t]){let e=nt(t);console.log("[i]",e,t,"web socket events added"),I[t].addEventListener("open",(function(n){console.log("[i]",e,t,"completed connecting"),tt(t,!0),i&&ft(0,"/list|"),t===R&&V()})),I[t].addEventListener("message",(function(e){if("string"==typeof e.data){let c=e.data;if(t===R){if(c.includes("devicelist")&&vt(c)&&(P=JSON.parse(c),P=P,A=!0,console.log("✔","incDeviceList json parced"),lt(),i?(n(15,D=P),n(15,D[0].status=!0,D)):n(15,(l=D,r=P,o=new Set(l.map((t=>t.ip))),D=[...l,...r.filter((t=>!o.has(t.ip)))])),i=!1,n(15,D),ht(),X()),c.includes("status")&&vt(c)){!function(t){for(let e=0;e<_.length;e++){if(_[e].topic===t.topic){n(11,_[e].status=t.status,_);break}}}(JSON.parse(c)),mt(),console.log("✔","statusJson parced"),lt()}if(c.includes("params")&&vt(c)&&(N=JSON.parse(c),console.log("✔","paramsJson parced",t),H=!0,lt()),c.includes("ssid")&&vt(c)&&(n(14,O=JSON.parse(c)),n(14,O),console.log("✔","ssidJson parced"),M=!0,lt()),c.includes("errors")&&vt(c)&&(n(13,E=JSON.parse(c)),n(13,E),L=!0,console.log("✔","errorsJson json parced"),lt()),c.includes("settings")&&vt(c)&&(n(12,S=JSON.parse(c)),n(12,S),mt(),T=!0,console.log("✔","settingsJson json parced"),lt()),"/st/config.json"===c&&(h=!0),"/end/config.json"===c){h=!1;var s=K.getBlob();let t=new FileReader;t.readAsText(s),t.onload=()=>{let e=t.result;vt(e)&&(n(8,m=JSON.parse(e)),n(8,m),$=!0,console.log("✔","configJson parced"),lt())}}if("/st/widgets.json"===c&&(w=!0),"/end/widgets.json"===c){w=!1;s=Q.getBlob();let t=new FileReader;t.readAsText(s),t.onload=()=>{let e=t.result;vt(e)&&(n(9,b=JSON.parse(e)),n(9,b),x=!0,console.log("✔","widgetsJson parced"),lt())}}if("/st/items.json"===c&&(y=!0),"/end/items.json"===c){y=!1;s=Z.getBlob();let t=new FileReader;t.readAsText(s),t.onload=()=>{let e=t.result;vt(e)&&(n(10,v=JSON.parse(e)),n(10,v),k=!0,console.log("✔","itemsJson parced"),lt())}}if("/st/layout.json"===c&&(J=!0),"/end/layout.json"===c){J=!1;s=G.getBlob();let e=new FileReader;e.readAsText(s),e.onload=()=>{let s=e.result;vt(s)&&(n(11,_=JSON.parse(s)),n(11,_),mt(),j=!0,console.log("✔","layoutJson parced",t),lt())}}}}var l,r,o;e.data instanceof Blob&&t===R&&(h&&K.append(e.data),w&&Q.append(e.data),y&&Z.append(e.data),J&&G.append(e.data))})),I[t].addEventListener("close",(n=>{console.log("[e]",e,"connection closed"),tt(t,!1)})),I[t].addEventListener("error",(function(n){console.log("[e]",e,"connection error"),tt(t,!1)}))}else console.log("[e]","socket not exist")}function lt(t){"/|"===Y&&j&&H&&(at(),console.log("✔✔","dashboard data parced"),function(t){for(const[e,s]of Object.entries(t))for(let t=0;t<_.length;t++){let l=_[t].topic;if(l=l.substring(l.lastIndexOf("/")+1,l.length),e===l){console.log("[i]","value "+l+" updated"),n(11,_[t].status=s,_);break}}}(N),mt(),n(3,u=!0)),"/config|"===Y&&k&&x&&$&&T&&(at(),console.log("✔✔","config data parced"),n(4,d=!0)),"/connection|"===Y&&M&&T&&L&&(at(),console.log("✔✔","connection data parced"),n(5,f=!0)),"/list|"===Y&&A&&(at(),console.log("✔✔","list data parced"),n(6,p=!0)),"/system|"===Y&&L&&(at(),console.log("✔✔","system data parced"),n(7,g=!0))}function rt(){ft(R,"/tuoyal|"+JSON.stringify(function(){let t=[];for(let e=0;e5?(!function(t,e,n,s,l){for(let r=0;r5?ft(R,"/sgnittes|"+JSON.stringify(S)):window.alert("Ошибка"),it(),ft(R,"/mqtt|")}function it(){n(8,m=[]),K.clear(),n(9,b=[]),Q.clear(),n(10,v=[]),Z.clear(),n(11,_=[]),G.clear(),n(12,S={}),n(13,E={}),n(3,u=!1),n(4,d=!1),n(5,f=!1),n(6,p=!1),n(7,g=!1),at(),console.log("[i]","all app data cleared")}function at(){$=!1,x=!1,k=!1,j=!1,T=!1,L=!1,M=!1,H=!1,A=!1}function ut(t,e,n){let s=e+" "+n;console.log("[i]","send to ws msg:",s),ft(t,s)}function dt(){setTimeout(dt,2e4),console.log("[i]","----timer tick----"),F||D.forEach((t=>{!function(t){let e=!1;return D.forEach((n=>{t===n.ws&&(e=n.status)})),e}(t.ws)?(et(t.ws),st(t.ws)):ft(t.ws,"/tst|")})),F=!1}function ft(t,e){I[t]&&1===I[t].readyState?(I[t].send(e),console.log("[i]",nt(t),t,"msg send success",e)):console.log("[e]",nt(t),t,"msg not send",e)}function pt(t){D.forEach((e=>{e.status&&ft(e.ws,t)}))}function gt(){n(2,a=[]);Array.from(new Set(Array.from(_,(({page:t})=>t)))).forEach((function(t,e,s){n(2,a=[...a,JSON.parse(JSON.stringify({page:t}))])})),a.sort((function(t,e){return t.pagee.page?1:0}))}function mt(){gt(),n(11,_)}function ht(){wt(R),n(16,z=B.status)}function $t(){ht(),it(),V(),console.log("[i]","user selected device:",B.name),B.ip===c&&console.log("[i]","user selected original device",B.name)}function wt(t){for(let e=0;e{console.log("[i]","mounted"),ht(),i=!0,X(),dt(),gt()}));return[l,r,a,u,d,f,p,g,m,b,v,_,S,E,O,D,z,R,W,_t,rt,ot,ct,ut,pt,$t,xt,yt,kt,jt,St,function(){R=q(this),n(17,R),n(15,D)},()=>$t(),function(){l=this.checked,n(0,l)},()=>yt(),(t,e,n)=>ut(t,e,n),()=>rt(),()=>jt(),()=>jt(),()=>kt(),()=>ot(),()=>ct(),()=>xt(),t=>pt(t),()=>jt(),t=>St(t)]}return new class extends lt{constructor(t){super(),st(this,t,Rn,Bn,r,{},null,[-1,-1,-1,-1])}}({target:document.body,props:{name:"world"}})}(); +var app=function(){"use strict";function t(){}function e(t){return t()}function n(){return Object.create(null)}function s(t){t.forEach(e)}function l(t){return"function"==typeof t}function r(t,e){return t!=t?e==e:t!==e||t&&"object"==typeof t||"function"==typeof t}function o(e,n,s){e.$$.on_destroy.push(function(e,...n){if(null==e)return t;const s=e.subscribe(...n);return s.unsubscribe?()=>s.unsubscribe():s}(n,s))}function c(t,e,n,s){if(t){const l=i(t,e,n,s);return t[0](l)}}function i(t,e,n,s){return t[1]&&s?function(t,e){for(const n in e)t[n]=e[n];return t}(n.ctx.slice(),t[1](s(e))):n.ctx}function a(t,e,n,s){if(t[2]&&s){const l=t[2](s(n));if(void 0===e.dirty)return l;if("object"==typeof l){const t=[],n=Math.max(e.dirty.length,l.length);for(let s=0;s32){const e=[],n=t.ctx.length/32;for(let t=0;tt.removeEventListener(e,n,s)}function y(t,e,n){null==n?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function k(t){return""===t?null:+t}function _(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function J(t,e){t.value=null==e?"":e}function j(t,e){for(let n=0;n{V.delete(t),s&&(n&&t.d(1),s())})),t.o(e)}}function X(t,e,n){const s=t.$$.props[e];void 0!==s&&(t.$$.bound[s]=n,n(t.$$.ctx[s]))}function tt(t){t&&t.c()}function et(t,n,r,o){const{fragment:c,on_mount:i,on_destroy:a,after_update:u}=t.$$;c&&c.m(n,r),o||I((()=>{const n=i.map(e).filter(l);a?a.push(...n):s(n),t.$$.on_mount=[]})),u.forEach(I)}function nt(t,e){const n=t.$$;null!==n.fragment&&(s(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function st(e,l,r,o,c,i,a,u=[-1]){const d=L;S(e);const f=e.$$={fragment:null,ctx:null,props:i,update:t,not_equal:c,bound:n(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(l.context||(d?d.$$.context:[])),callbacks:n(),dirty:u,skip_bound:!1,root:l.target||d.$$.root};a&&a(f.root);let p=!1;if(f.ctx=r?r(e,l.props||{},((t,n,...s)=>{const l=s.length?s[0]:n;return f.ctx&&c(f.ctx[t],f.ctx[t]=l)&&(!f.skip_bound&&f.bound[t]&&f.bound[t](l),p&&function(t,e){-1===t.$$.dirty[0]&&(C.push(t),D(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}$set(t){var e;this.$$set&&(e=t,0!==Object.keys(e).length)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}const rt=[];function ot(e,n=t){let s;const l=new Set;function o(t){if(r(e,t)&&(e=t,s)){const t=!rt.length;for(const t of l)t[1](),rt.push(t,e);if(t){for(let t=0;t{l.delete(i),0===l.size&&(s(),s=null)}}}}function ct(t,e=!1){return(t=t.slice(t.startsWith("/#")?2:0,t.endsWith("/*")?-2:void 0)).startsWith("/")||(t="/"+t),"/"===t&&(t=""),e&&!t.endsWith("/")&&(t+="/"),t}function it(t,e,n){if(""===n)return t;if("/"===n[0])return n;let s=t=>t.split("/").filter((t=>""!==t)),l=s(t);return"/"+(e?s(e):[]).map(((t,e)=>l[e])).join("/")+"/"+n}function at(t,e,n,s){let l=[e,"data-"+e].reduce(((e,s)=>{let l=t.getAttribute(s);return n&&t.removeAttribute(s),null===l?e:l}),!1);return!s&&""===l||(l||s||!1)}function ut(t){let e=t.split("&").map((t=>t.split("="))).reduce(((t,e)=>{let n=e[0];if(!n)return t;let s=!(e.length>1)||e[e.length-1];return"string"==typeof s&&s.includes(",")&&(s=s.split(",")),void 0===t[n]?t[n]=[s]:t[n].push(s),t}),{});return Object.entries(e).reduce(((t,e)=>(t[e[0]]=e[1].length>1?e[1]:e[1][0],t)),{})}var dt,ft,pt={HISTORY:1,HASH:2,MEMORY:3,OFF:4,run:function(t,e,n,s){return 1===t?e&&e():2===t?n&&n():s&&s()},getDeafault:function(){return window&&"srcdoc"!==window.location.pathname?1:3}},gt=function(){let t,e=pt.getDeafault(),n=n=>t&&t(mt(e));function s(t){t&&(e=t),window.onhashchange=window.onpopstate=ft=null,e!==pt.OFF&&pt.run(e,(t=>window.onpopstate=n),(t=>window.onhashchange=n))&&n()}return{mode:t=>s(t),get:t=>mt(e),go(t,s){(function(t,e,n){let s=t=>history[n?"replaceState":"pushState"]({},"",t);pt.run(t,(t=>s(e)),(t=>s(`#${e}`)),(t=>ft=e))})(e,t,s),n()},start(e){t=e,s()},stop(){t=null,s(pt.OFF)}}}();function mt(t){let e=dt,n=dt=pt.run(t,(t=>window.location.pathname+window.location.search),(t=>String(window.location.hash.slice(1)||"/")),(t=>ft||"/")),s=n.match(/^([^?#]+)(?:\?([^#]+))?(?:\#(.+))?$/);return{url:n,from:e,path:s[1]||"",query:ut(s[2]||""),hash:s[3]||""}}function ht(t){let e=E("tinro");e&&(e.exact||e.fallback)&&function(t){throw new Error("[Tinro] "+t)}(`${t.fallback?"":``} can't be inside ${e.fallback?"":` with exact path`}`);let n=t.fallback?"fallbacks":"childs",s=ot({}),l={router:{},exact:!1,pattern:null,meta:{},parent:e,fallback:t.fallback,redirect:!1,firstmatch:!1,breadcrumb:null,matched:!1,childs:new Set,activeChilds:new Set,fallbacks:new Set,update(t){l.exact=!t.path.endsWith("/*"),l.pattern=ct(`${l.parent&&l.parent.pattern||""}${t.path}`),l.redirect=t.redirect,l.firstmatch=t.firstmatch,l.breadcrumb=t.breadcrumb,l.match()},register:()=>{if(l.parent)return l.parent[n].add(l),()=>{l.parent[n].delete(l),l.router.un&&l.router.un()}},show:()=>{t.onShow(),!l.fallback&&l.parent&&l.parent.activeChilds.add(l)},hide:()=>{t.onHide(),!l.fallback&&l.parent&&l.parent.activeChilds.delete(l)},match:async()=>{l.matched=!1;let{path:e,url:n,from:r,query:o}=l.router,c=function(t,e){t=ct(t,!0),e=ct(e,!0);let n=[],s={},l=!0,r=t.split("/").map((t=>t.startsWith(":")?(n.push(t.slice(1)),"([^\\/]+)"):t)).join("\\/"),o=e.match(new RegExp(`^${r}$`));return o||(l=!1,o=e.match(new RegExp(`^${r}`))),o?(n.forEach(((t,e)=>s[t]=o[e+1])),{exact:l,params:s,part:o[0].slice(0,-1)}):null}(l.pattern,e);if(!l.fallback&&c&&l.redirect&&(!l.exact||l.exact&&c.exact)){await B();let t=it(e,l.parent&&l.parent.pattern,l.redirect);return bt.goto(t,!0)}if(l.meta=c&&{from:r,url:n,query:o,match:c.part,pattern:l.pattern,breadcrumbs:l.parent&&l.parent.meta&&l.parent.meta.breadcrumbs.slice()||[],params:c.params,subscribe:s.subscribe},l.breadcrumb&&l.meta&&l.meta.breadcrumbs.push({name:l.breadcrumb,path:c.part}),s.set(l.meta),!c||l.fallback||!(!l.exact||l.exact&&c.exact)||l.parent&&l.parent.firstmatch&&l.parent.matched?l.hide():(t.onMeta(l.meta),l.parent&&(l.parent.matched=!0),l.show()),await B(),c&&!l.fallback&&(l.childs.size>0&&0==l.activeChilds.size||0==l.childs.size&&l.fallbacks.size>0)){let t=l;for(;0==t.fallbacks.size;)if(t=t.parent,!t)return;t&&t.fallbacks.forEach((t=>{if(t.redirect){let e=it("/",t.parent&&t.parent.pattern,t.redirect);bt.goto(e,!0)}else t.show()}))}}};return r="tinro",o=l,T().$$.context.set(r,o),O((()=>l.register())),l.router.un=bt.subscribe((t=>{l.router.path=t.path,l.router.url=t.url,l.router.query=t.query,l.router.from=t.from,null!==l.pattern&&l.match()})),l;var r,o}function $t(){return E("tinro").meta}var bt=function(){let{subscribe:t}=ot(gt.get(),(t=>{gt.start(t);let e=function(t){let e=e=>{let n=e.target.closest("a[href]"),s=n&&at(n,"target",!1,"_self"),l=n&&at(n,"tinro-ignore"),r=e.ctrlKey||e.metaKey||e.altKey||e.shiftKey;if("_self"==s&&!l&&!r&&n){let s=n.getAttribute("href").replace(/^\/#/,"");/^\/\/|^[a-zA-Z]+:/.test(s)||(e.preventDefault(),t(s.startsWith("/")?s:n.href.replace(window.location.origin,"")))}};return addEventListener("click",e),()=>removeEventListener("click",e)}(gt.go);return()=>{gt.stop(),e()}}));return{subscribe:t,goto:gt.go,params:wt,meta:$t,useHashNavigation:t=>gt.mode(t?pt.HASH:pt.HISTORY),mode:{hash:()=>gt.mode(pt.HASH),history:()=>gt.mode(pt.HISTORY),memory:()=>gt.mode(pt.MEMORY)}}}();function wt(){return E("tinro").meta.params}const vt=t=>({params:2&t,meta:4&t}),xt=t=>({params:t[1],meta:t[2]});function yt(t){let e;const n=t[9].default,s=c(n,t,t[8],xt);return{c(){s&&s.c()},m(t,n){s&&s.m(t,n),e=!0},p(t,l){s&&s.p&&(!e||262&l)&&u(s,n,t,t[8],e?a(n,t[8],l,vt):d(t[8]),xt)},i(t){e||(G(s,t),e=!0)},o(t){Z(s,t),e=!1},d(t){s&&s.d(t)}}}function kt(t){let e,n,s=t[0]&&yt(t);return{c(){s&&s.c(),e=v()},m(t,l){s&&s.m(t,l),p(t,e,l),n=!0},p(t,[n]){t[0]?s?(s.p(t,n),1&n&&G(s,1)):(s=yt(t),s.c(),G(s,1),s.m(e.parentNode,e)):s&&(K(),Z(s,1,1,(()=>{s=null})),Q())},i(t){n||(G(s),n=!0)},o(t){Z(s),n=!1},d(t){s&&s.d(t),t&&g(e)}}}function _t(t,e,n){let{$$slots:s={},$$scope:l}=e,{path:r="/*"}=e,{fallback:o=!1}=e,{redirect:c=!1}=e,{firstmatch:i=!1}=e,{breadcrumb:a=null}=e,u=!1,d={},f={};const p=ht({fallback:o,onShow(){n(0,u=!0)},onHide(){n(0,u=!1)},onMeta(t){n(2,f=t),n(1,d=f.params)}});return t.$$set=t=>{"path"in t&&n(3,r=t.path),"fallback"in t&&n(4,o=t.fallback),"redirect"in t&&n(5,c=t.redirect),"firstmatch"in t&&n(6,i=t.firstmatch),"breadcrumb"in t&&n(7,a=t.breadcrumb),"$$scope"in t&&n(8,l=t.$$scope)},t.$$.update=()=>{232&t.$$.dirty&&p.update({path:r,redirect:c,firstmatch:i,breadcrumb:a})},[u,d,f,r,o,c,i,a,l,s]}class Jt extends lt{constructor(t){super(),st(this,t,_t,kt,r,{path:3,fallback:4,redirect:5,firstmatch:6,breadcrumb:7})}}function jt(e){let n,s,r,o,c;return{c(){n=$("svg"),s=$("line"),r=$("line"),y(s,"x1","18"),y(s,"y1","6"),y(s,"x2","6"),y(s,"y2","18"),y(r,"x1","6"),y(r,"y1","6"),y(r,"x2","18"),y(r,"y2","18"),y(n,"class","h-6 w-6 text-red-400 cursor-pointer"),y(n,"viewBox","0 -2 24 24"),y(n,"fill","none"),y(n,"stroke","currentColor"),y(n,"stroke-width","2"),y(n,"stroke-linecap","round"),y(n,"stroke-linejoin","round")},m(t,i){p(t,n,i),f(n,s),f(n,r),o||(c=x(n,"click",(function(){l(e[0]())&&e[0]().apply(this,arguments)})),o=!0)},p(t,[n]){e=t},i:t,o:t,d(t){t&&g(n),o=!1,c()}}}function qt(t,e,n){let{click:s=(()=>{})}=e;return t.$$set=t=>{"click"in t&&n(0,s=t.click)},[s]}class Lt extends lt{constructor(t){super(),st(this,t,qt,jt,r,{click:0})}}function St(t){let e,n,s,l,r,o,c,i;return c=new Lt({props:{click:t[5]}}),{c(){e=h("div"),n=h("div"),s=h("h1"),l=b(t[0]),r=w(),o=h("div"),tt(c.$$.fragment),y(s,"class","alm-hdr"),y(n,"class","w-11/12"),y(o,"class","flex justify-end w-1/12"),y(e,"class","flex items-center")},m(t,a){p(t,e,a),f(e,n),f(n,s),f(s,l),f(e,r),f(e,o),et(c,o,null),i=!0},p(t,e){(!i||1&e)&&_(l,t[0]);const n={};4&e&&(n.click=t[5]),c.$set(n)},i(t){i||(G(c.$$.fragment,t),i=!0)},o(t){Z(c.$$.fragment,t),i=!1},d(t){t&&g(e),nt(c)}}}function Tt(e){let n,s;return{c(){n=h("h1"),s=b(e[0]),y(n,"class","alm-hdr")},m(t,e){p(t,n,e),f(n,s)},p(t,e){1&e&&_(s,t[0])},i:t,o:t,d(t){t&&g(n)}}}function Ot(t){let e,n,s,l,r;const o=[Tt,St],i=[];function m(t,e){return t[0]&&!t[1]?0:t[0]&&t[1]?1:-1}~(n=m(t))&&(s=i[n]=o[n](t));const $=t[4].default,b=c($,t,t[3],null);return{c(){e=h("div"),s&&s.c(),l=w(),b&&b.c(),y(e,"class","alm")},m(t,s){p(t,e,s),~n&&i[n].m(e,null),f(e,l),b&&b.m(e,null),r=!0},p(t,[c]){let f=n;n=m(t),n===f?~n&&i[n].p(t,c):(s&&(K(),Z(i[f],1,1,(()=>{i[f]=null})),Q()),~n?(s=i[n],s?s.p(t,c):(s=i[n]=o[n](t),s.c()),G(s,1),s.m(e,l)):s=null),b&&b.p&&(!r||8&c)&&u(b,$,t,t[3],r?a($,t[3],c,null):d(t[3]),null)},i(t){r||(G(s),G(b,t),r=!0)},o(t){Z(s),Z(b,t),r=!1},d(t){t&&g(e),~n&&i[n].d(),b&&b.d(t)}}}function Et(t,e,n){let{$$slots:s={},$$scope:l}=e,{title:r=!1}=e,{cross:o=!1}=e,{close:c=(()=>{})}=e;return t.$$set=t=>{"title"in t&&n(0,r=t.title),"cross"in t&&n(1,o=t.cross),"close"in t&&n(2,c=t.close),"$$scope"in t&&n(3,l=t.$$scope)},[r,o,c,l,s,()=>c()]}class Ct extends lt{constructor(t){super(),st(this,t,Et,Ot,r,{title:0,cross:1,close:2})}}function Mt(e){let n;return{c(){n=h("div"),n.innerHTML=' \n
',y(n,"class","z-50")},m(t,e){p(t,n,e)},p:t,i:t,o:t,d(t){t&&g(n)}}}class Nt extends lt{constructor(t){super(),st(this,t,null,Mt,r,{})}}function Ht(t){let e,n;return{c(){e=h("h1"),n=b(t[0]),y(e,"class","crd-hdr")},m(t,s){p(t,e,s),f(e,n)},p(t,e){1&e&&_(n,t[0])},d(t){t&&g(e)}}}function Pt(t){let e,n,s,l=t[0]&&Ht(t);const r=t[2].default,o=c(r,t,t[1],null);return{c(){e=h("div"),l&&l.c(),n=w(),o&&o.c(),y(e,"class","crd")},m(t,r){p(t,e,r),l&&l.m(e,null),f(e,n),o&&o.m(e,null),s=!0},p(t,[c]){t[0]?l?l.p(t,c):(l=Ht(t),l.c(),l.m(e,n)):l&&(l.d(1),l=null),o&&o.p&&(!s||2&c)&&u(o,r,t,t[1],s?a(r,t[1],c,null):d(t[1]),null)},i(t){s||(G(o,t),s=!0)},o(t){Z(o,t),s=!1},d(t){t&&g(e),l&&l.d(),o&&o.d(t)}}}function At(t,e,n){let{$$slots:s={},$$scope:l}=e,{title:r=!1}=e;return t.$$set=t=>{"title"in t&&n(0,r=t.title),"$$scope"in t&&n(1,l=t.$$scope)},[r,l,s]}class Dt extends lt{constructor(t){super(),st(this,t,At,Pt,r,{title:0})}}function Bt(t){let e,n,l,r;return{c(){e=h("input"),y(e,"class",n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500"),y(e,"step","0.1"),y(e,"type","number")},m(n,s){p(n,e,s),J(e,t[0].status),l||(r=[x(e,"change",t[3]),x(e,"input",t[4])],l=!0)},p(t,s){1&s&&n!==(n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500")&&y(e,"class",n),1&s&&k(e.value)!==t[0].status&&J(e,t[0].status)},d(t){t&&g(e),l=!1,s(r)}}}function It(t){let e,n,l,r;return{c(){e=h("input"),y(e,"class",n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500"),y(e,"type","text")},m(n,s){p(n,e,s),J(e,t[0].status),l||(r=[x(e,"change",t[5]),x(e,"input",t[6])],l=!0)},p(t,s){1&s&&n!==(n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500")&&y(e,"class",n),1&s&&e.value!==t[0].status&&J(e,t[0].status)},d(t){t&&g(e),l=!1,s(r)}}}function zt(t){let e,n,l,r;return{c(){e=h("input"),y(e,"class",n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500"),y(e,"type","date")},m(n,s){p(n,e,s),J(e,t[0].status),l||(r=[x(e,"change",t[7]),x(e,"input",t[8])],l=!0)},p(t,s){1&s&&n!==(n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500")&&y(e,"class",n),1&s&&J(e,t[0].status)},d(t){t&&g(e),l=!1,s(r)}}}function Rt(t){let e,n,l,r;return{c(){e=h("input"),y(e,"class",n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500"),y(e,"type","time")},m(n,s){p(n,e,s),J(e,t[0].status),l||(r=[x(e,"change",t[9]),x(e,"input",t[10])],l=!0)},p(t,s){1&s&&n!==(n=1==t[0].send?"ipt-rnd text-right border-red-500":"ipt-rnd text-right focus:border-indigo-500")&&y(e,"class",n),1&s&&J(e,t[0].status)},d(t){t&&g(e),l=!1,s(r)}}}function Ft(e){let n,s,l,r,o,c,i,a,u,d=(e[0].descr?e[0].descr:"")+"",m="number"==e[0].type&&Bt(e),$="text"==e[0].type&&It(e),v="date"==e[0].type&&zt(e),x="time"==e[0].type&&Rt(e);return{c(){n=h("div"),s=h("div"),l=h("label"),r=b(d),o=w(),c=h("div"),m&&m.c(),i=w(),$&&$.c(),a=w(),v&&v.c(),u=w(),x&&x.c(),y(l,"class","wgt-dscr-stl"),y(s,"class","w-2/3"),y(c,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),f(n,s),f(s,l),f(l,r),f(n,o),f(n,c),m&&m.m(c,null),f(c,i),$&&$.m(c,null),f(c,a),v&&v.m(c,null),f(c,u),x&&x.m(c,null)},p(t,[e]){1&e&&d!==(d=(t[0].descr?t[0].descr:"")+"")&&_(r,d),"number"==t[0].type?m?m.p(t,e):(m=Bt(t),m.c(),m.m(c,i)):m&&(m.d(1),m=null),"text"==t[0].type?$?$.p(t,e):($=It(t),$.c(),$.m(c,a)):$&&($.d(1),$=null),"date"==t[0].type?v?v.p(t,e):(v=zt(t),v.c(),v.m(c,u)):v&&(v.d(1),v=null),"time"==t[0].type?x?x.p(t,e):(x=Rt(t),x.c(),x.m(c,null)):x&&(x.d(1),x=null)},i:t,o:t,d(t){t&&g(n),m&&m.d(),$&&$.d(),v&&v.d(),x&&x.d()}}}function Ut(t,e,n){let{widget:s}=e,{wsPush:l=((t,e,n)=>{})}=e,{value:r}=e;r=r;return t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"wsPush"in t&&n(1,l=t.wsPush),"value"in t&&n(2,r=t.value)},[s,l,r,()=>(n(0,s.send=!0,s),l(s.ws,s.topic,s.status)),function(){s.status=k(this.value),n(0,s)},()=>(n(0,s.send=!0,s),l(s.ws,s.topic,s.status)),function(){s.status=this.value,n(0,s)},()=>(n(0,s.send=!0,s),l(s.ws,s.topic,s.status)),function(){s.status=this.value,n(0,s)},()=>(n(0,s.send=!0,s),l(s.ws,s.topic,s.status)),function(){s.status=this.value,n(0,s)}]}class Wt extends lt{constructor(t){super(),st(this,t,Ut,Ft,r,{widget:0,wsPush:1,value:2})}}function Vt(e){let n,l,r,o,c,i,a,u,d,m,$,v,k,j,q,L,S,T,O=(e[0].descr?e[0].descr:"")+"";return{c(){n=h("div"),l=h("div"),r=h("label"),o=b(O),c=w(),i=h("div"),a=h("label"),u=h("div"),d=h("input"),$=w(),v=h("div"),k=w(),j=h("div"),y(r,"class","wgt-dscr-stl"),y(l,"class","w-2/3"),y(d,"id",m=e[0].topic),y(d,"type","checkbox"),y(d,"class","sr-only"),y(v,"class","block bg-gray-600 w-10 h-6 rounded-full"),y(j,"class",q="dot "+(1==e[0].send?"bg-red-400":"bg-white")+" absolute left-1 top-1 w-4 h-4 rounded-full transition"),y(u,"class","relative"),y(a,"for",L=e[0].topic),y(a,"class","items-center cursor-pointer"),y(i,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,s){p(t,n,s),f(n,l),f(l,r),f(r,o),f(n,c),f(n,i),f(i,a),f(a,u),f(u,d),J(d,e[0].status),f(u,$),f(u,v),f(u,k),f(u,j),S||(T=[x(d,"change",e[3]),x(d,"change",e[4])],S=!0)},p(t,[e]){1&e&&O!==(O=(t[0].descr?t[0].descr:"")+"")&&_(o,O),1&e&&m!==(m=t[0].topic)&&y(d,"id",m),1&e&&J(d,t[0].status),1&e&&q!==(q="dot "+(1==t[0].send?"bg-red-400":"bg-white")+" absolute left-1 top-1 w-4 h-4 rounded-full transition")&&y(j,"class",q),1&e&&L!==(L=t[0].topic)&&y(a,"for",L)},i:t,o:t,d(t){t&&g(n),S=!1,s(T)}}}function Yt(t,e,n){let{widget:s}=e,{value:l}=e;l=l;let{wsPush:r=((t,e,n)=>{})}=e;return t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"value"in t&&n(2,l=t.value),"wsPush"in t&&n(1,r=t.wsPush)},[s,r,l,()=>(n(0,s.send=!0,s),r(s.ws,s.topic,s.status)),function(){s.status=this.value,n(0,s)}]}class Kt extends lt{constructor(t){super(),st(this,t,Yt,Vt,r,{widget:0,value:2,wsPush:1})}}function Qt(e){let n,s,l,r,o,c,i,a,u,d,m,$,v=(e[0].descr?e[0].descr:"")+"",x=(e[0].status?e[0].status:"")+"",k=(e[0].after?e[0].after:"")+"";return{c(){n=h("div"),s=h("div"),l=h("label"),r=b(v),o=w(),c=h("div"),i=h("label"),a=b(x),u=w(),d=h("label"),m=b(" "),$=b(k),y(l,"class","wgt-dscr-stl"),y(s,"class","w-2/3"),y(i,"class","wgt-adt-stl"),y(d,"class","wgt-adt-stl"),y(c,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),f(n,s),f(s,l),f(l,r),f(n,o),f(n,c),f(c,i),f(i,a),f(c,u),f(c,d),f(d,m),f(d,$)},p(t,[e]){1&e&&v!==(v=(t[0].descr?t[0].descr:"")+"")&&_(r,v),1&e&&x!==(x=(t[0].status?t[0].status:"")+"")&&_(a,x),1&e&&k!==(k=(t[0].after?t[0].after:"")+"")&&_($,k)},i:t,o:t,d(t){t&&g(n)}}}function Gt(t,e,n){let{widget:s}=e,{value:l}=e;return l=l,t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"value"in t&&n(1,l=t.value)},[s,l]}class Zt extends lt{constructor(t){super(),st(this,t,Gt,Qt,r,{widget:0,value:1})}}function Xt(t,e,n){const s=t.slice();return s[9]=e[n],s[11]=n,s}function te(t,e,n){const s=t.slice();return s[12]=e[n],s[13]=e,s[11]=n,s}function ee(e){let n,s;return n=new Ct({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function ne(t){let e,n,s,l=t[0]===[]&&se(),r=t[1],o=[];for(let e=0;eZ(o[t],1,1,(()=>{o[t]=null}));return{c(){e=h("div"),l&&l.c(),n=w();for(let t=0;t{l=null})),Q()),11&s){let n;for(r=t[1],n=0;n{r=null})),Q()),"toggle"===t[12].widget?o?(o.p(t,l),1&l&&G(o,1)):(o=oe(t),o.c(),G(o,1),o.m(n.parentNode,n)):o&&(K(),Z(o,1,1,(()=>{o=null})),Q()),"anydata"===t[12].widget?c?(c.p(t,l),1&l&&G(c,1)):(c=ce(t),c.c(),G(c,1),c.m(s.parentNode,s)):c&&(K(),Z(c,1,1,(()=>{c=null})),Q())},i(t){l||(G(r),G(o),G(c),l=!0)},o(t){Z(r),Z(o),Z(c),l=!1},d(t){r&&r.d(t),t&&g(e),o&&o.d(t),t&&g(n),c&&c.d(t),t&&g(s)}}}function re(t){let e,n,s;function l(e){t[5](e,t[12])}let r={widget:t[12],wsPush:t[4]};return void 0!==t[12].status&&(r.value=t[12].status),e=new Wt({props:r}),M.push((()=>X(e,"value",l))),{c(){tt(e.$$.fragment)},m(t,n){et(e,t,n),s=!0},p(s,l){t=s;const r={};1&l&&(r.widget=t[12]),8&l&&(r.wsPush=t[4]),!n&&1&l&&(n=!0,r.value=t[12].status,z((()=>n=!1))),e.$set(r)},i(t){s||(G(e.$$.fragment,t),s=!0)},o(t){Z(e.$$.fragment,t),s=!1},d(t){nt(e,t)}}}function oe(t){let e,n,s;function l(e){t[7](e,t[12])}let r={widget:t[12],wsPush:t[6]};return void 0!==t[12].status&&(r.value=t[12].status),e=new Kt({props:r}),M.push((()=>X(e,"value",l))),{c(){tt(e.$$.fragment)},m(t,n){et(e,t,n),s=!0},p(s,l){t=s;const r={};1&l&&(r.widget=t[12]),8&l&&(r.wsPush=t[6]),!n&&1&l&&(n=!0,r.value=t[12].status,z((()=>n=!1))),e.$set(r)},i(t){s||(G(e.$$.fragment,t),s=!0)},o(t){Z(e.$$.fragment,t),s=!1},d(t){nt(e,t)}}}function ce(t){let e,n,s;function l(e){t[8](e,t[12])}let r={widget:t[12]};return void 0!==t[12].status&&(r.value=t[12].status),e=new Zt({props:r}),M.push((()=>X(e,"value",l))),{c(){tt(e.$$.fragment)},m(t,n){et(e,t,n),s=!0},p(s,l){t=s;const r={};1&l&&(r.widget=t[12]),!n&&1&l&&(n=!0,r.value=t[12].status,z((()=>n=!1))),e.$set(r)},i(t){s||(G(e.$$.fragment,t),s=!0)},o(t){Z(e.$$.fragment,t),s=!1},d(t){nt(e,t)}}}function ie(t){let e,n,s=t[12].page===t[9].page&&le(t);return{c(){s&&s.c(),e=v()},m(t,l){s&&s.m(t,l),p(t,e,l),n=!0},p(t,n){t[12].page===t[9].page?s?(s.p(t,n),3&n&&G(s,1)):(s=le(t),s.c(),G(s,1),s.m(e.parentNode,e)):s&&(K(),Z(s,1,1,(()=>{s=null})),Q())},i(t){n||(G(s),n=!0)},o(t){Z(s),n=!1},d(t){s&&s.d(t),t&&g(e)}}}function ae(t){let e,n,s=t[0],l=[];for(let e=0;eZ(l[t],1,1,(()=>{l[t]=null}));return{c(){for(let t=0;t{o[i]=null})),Q(),n=o[e],n?n.p(t,l):(n=o[e]=r[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){l||(G(n),l=!0)},o(t){Z(n),l=!1},d(t){o[e].d(t),t&&g(s)}}}function fe(t,e,n){let{layoutJson:s}=e,{pages:l}=e,{show:r}=e,{wsPush:o=((t,e,n)=>{})}=e;return t.$$set=t=>{"layoutJson"in t&&n(0,s=t.layoutJson),"pages"in t&&n(1,l=t.pages),"show"in t&&n(2,r=t.show),"wsPush"in t&&n(3,o=t.wsPush)},[s,l,r,o,(t,e,n)=>o(t,e,n),function(e,l){t.$$.not_equal(l.status,e)&&(l.status=e,n(0,s))},(t,e,n)=>o(t,e,n),function(e,l){t.$$.not_equal(l.status,e)&&(l.status=e,n(0,s))},function(e,l){t.$$.not_equal(l.status,e)&&(l.status=e,n(0,s))}]}class pe extends lt{constructor(t){super(),st(this,t,fe,de,r,{layoutJson:0,pages:1,show:2,wsPush:3})}}function ge(e){let n,s,r,o,c,i,a;return{c(){n=$("svg"),s=$("path"),r=$("circle"),o=$("circle"),c=$("circle"),y(s,"stroke","none"),y(s,"d","M0 0h24v24H0z"),y(r,"cx","5"),y(r,"cy","12"),y(r,"r","1"),y(o,"cx","12"),y(o,"cy","12"),y(o,"r","1"),y(c,"cx","19"),y(c,"cy","12"),y(c,"r","1"),y(n,"class","h-6 w-6 text-green-400 cursor-pointer"),y(n,"width","24"),y(n,"height","24"),y(n,"viewBox","0 -2 24 24"),y(n,"stroke-width","2"),y(n,"stroke","currentColor"),y(n,"fill","none"),y(n,"stroke-linecap","round"),y(n,"stroke-linejoin","round")},m(t,u){p(t,n,u),f(n,s),f(n,r),f(n,o),f(n,c),i||(a=x(n,"click",(function(){l(e[0]())&&e[0]().apply(this,arguments)})),i=!0)},p(t,[n]){e=t},i:t,o:t,d(t){t&&g(n),i=!1,a()}}}function me(t,e,n){let{click:s=(()=>{})}=e;return t.$$set=t=>{"click"in t&&n(0,s=t.click)},[s]}class he extends lt{constructor(t){super(),st(this,t,me,ge,r,{click:0})}}function $e(t,e,n){const s=t.slice();return s[21]=e[n],s[22]=e,s[23]=n,s}function be(t,e,n){const s=t.slice();return s[24]=e[n][0],s[25]=e[n][1],s[26]=e,s[27]=n,s}function we(t,e,n){const s=t.slice();return s[28]=e[n],s}function ve(t,e,n){const s=t.slice();return s[31]=e[n],s}function xe(e){let n,s;return n=new Ct({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function ye(t){let e,n,s;return n=new Dt({props:{$$slots:{default:[Oe]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),y(e,"class","grd-1col1")},m(t,l){p(t,e,l),et(n,e,null),s=!0},p(t,e){const s={};247&e[0]|8&e[1]&&(s.$$scope={dirty:e,ctx:t}),n.$set(s)},i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){t&&g(e),nt(n)}}}function ke(t){let e,n;return{c(){e=h("optgroup"),y(e,"label",n=t[31].header)},m(t,n){p(t,e,n)},p(t,s){4&s[0]&&n!==(n=t[31].header)&&y(e,"label",n)},d(t){t&&g(e)}}}function _e(t){let e,n,s,l,r=t[31].name+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[31].num,e.value=e.__value},m(t,l){p(t,e,l),f(e,n),f(e,s)},p(t,s){4&s[0]&&r!==(r=t[31].name+"")&&_(n,r),4&s[0]&&l!==(l=t[31].num)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function Je(t){let e,n,s=t[31].header&&ke(t),l=!t[31].header&&_e(t);return{c(){s&&s.c(),e=v(),l&&l.c(),n=v()},m(t,r){s&&s.m(t,r),p(t,e,r),l&&l.m(t,r),p(t,n,r)},p(t,r){t[31].header?s?s.p(t,r):(s=ke(t),s.c(),s.m(e.parentNode,e)):s&&(s.d(1),s=null),t[31].header?l&&(l.d(1),l=null):l?l.p(t,r):(l=_e(t),l.c(),l.m(n.parentNode,n))},d(t){s&&s.d(t),t&&g(e),l&&l.d(t),t&&g(n)}}}function je(t){let e,n,s,l,r=t[28].label+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[28].name,e.value=e.__value},m(t,l){p(t,e,l),f(e,n),f(e,s)},p(t,s){2&s[0]&&r!==(r=t[28].label+"")&&_(n,r),2&s[0]&&l!==(l=t[28].name)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function qe(t){let e,n=Object.entries(t[21]),s=[];for(let e=0;eZ(E[t],1,1,(()=>{E[t]=null}));return{c(){e=h("div"),n=h("select");for(let t=0;tТип \n Id \n Виджет \n Вкладка \n Название \n \n ',u=w(),d=h("tbody");for(let t=0;tt[10].call(n))),o.__value="Выберите пресет",o.value=o.__value,y(r,"class","slct-lg"),y(e,"class","grd-2col2"),y(a,"class","bg-gray-100"),y(d,"class","bg-white"),y(i,"class","tbl"),y(v,"class","btn-lg"),y(_,"class","btn-lg"),y(b,"class","grd-2col1")},m(s,g){p(s,e,g),f(e,n);for(let t=0;t{o[i]=null})),Q(),n=o[e],n?n.p(t,l):(n=o[e]=r[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){l||(G(n),l=!0)},o(t){Z(n),l=!1},d(t){o[e].d(t),t&&g(s)}}}function Ce(t,e,n){let{configJson:s}=e,{widgetsJson:l}=e,{itemsJson:r}=e,{show:o}=e,c=0,{saveConfig:i=(()=>{})}=e,{rebootEsp:a=(()=>{})}=e,u=!0;function d(){for(let t=0;t{"configJson"in t&&n(0,s=t.configJson),"widgetsJson"in t&&n(1,l=t.widgetsJson),"itemsJson"in t&&n(2,r=t.itemsJson),"show"in t&&n(3,o=t.show),"saveConfig"in t&&n(4,i=t.saveConfig),"rebootEsp"in t&&n(5,a=t.rebootEsp)},[s,l,r,o,i,a,c,u,d,f,function(){c=q(this),n(6,c),n(2,r)},()=>d(),function(t,e){t[e].id=this.value,n(0,s),n(1,l)},function(t,e){t[e].widget=q(this),n(0,s),n(1,l)},function(t,e){t[e].page=this.value,n(0,s),n(1,l)},function(t,e){t[e].descr=this.value,n(0,s),n(1,l)},()=>n(7,u=!u),t=>f(t),function(t,e,r){e[r][t]=this.value,n(0,s),n(1,l)},()=>i(),()=>a()]}class Me extends lt{constructor(t){super(),st(this,t,Ce,Ee,r,{configJson:0,widgetsJson:1,itemsJson:2,show:3,saveConfig:4,rebootEsp:5},null,[-1,-1])}}function Ne(t,e,n){const s=t.slice();return s[23]=e[n][0],s[24]=e[n][1],s}function He(e){let n,s;return n=new Ct({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function Pe(t){let e,n,s,l,r,o,c,i;return n=new Dt({props:{title:"Подключение к WiFi",$$slots:{default:[Be]},$$scope:{ctx:t}}}),l=new Dt({props:{title:"Подключение к MQTT",$$slots:{default:[Ue]},$$scope:{ctx:t}}}),c=new Dt({props:{$$slots:{default:[We]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=w(),tt(l.$$.fragment),r=w(),o=h("div"),tt(c.$$.fragment),y(e,"class","grd-2col1"),y(o,"class","grd-1col1")},m(t,a){p(t,e,a),et(n,e,null),f(e,s),et(l,e,null),p(t,r,a),p(t,o,a),et(c,o,null),i=!0},p(t,e){const s={};134217783&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const r={};134217795&e&&(r.$$scope={dirty:e,ctx:t}),l.$set(r);const o={};134217856&e&&(o.$$scope={dirty:e,ctx:t}),c.$set(o)},i(t){i||(G(n.$$.fragment,t),G(l.$$.fragment,t),G(c.$$.fragment,t),i=!0)},o(t){Z(n.$$.fragment,t),Z(l.$$.fragment,t),Z(c.$$.fragment,t),i=!1},d(t){t&&g(e),nt(n),nt(l),t&&g(r),t&&g(o),nt(c)}}}function Ae(t){let e,n,s,l,r=t[24]+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[24],e.value=e.__value},m(t,l){p(t,e,l),f(e,n),f(e,s)},p(t,s){4&s&&r!==(r=t[24]+"")&&_(n,r),4&s&&l!==(l=t[24])&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function De(t){let e,n,s;return n=new Ct({props:{title:"Введен неправильный пароль"}}),{c(){e=h("div"),tt(n.$$.fragment),y(e,"class","grd-1col1")},m(t,l){p(t,e,l),et(n,e,null),s=!0},i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){t&&g(e),nt(n)}}}function Be(t){let e,n,l,r,o,c,i,a,u,d,$,b,v,k,_,q,L,S,T,O,E,C,M,N,H,P,A,D,B,z,R,F,U,W,V,Y,X,tt,et,nt,st,lt=Object.entries(t[2]),rt=[];for(let e=0;eНазвание устройства

',l=w(),r=h("div"),o=h("input"),c=w(),i=h("div"),a=h("div"),a.innerHTML='

Точка доступа

',u=w(),d=h("div"),$=h("input"),b=w(),v=h("div"),k=h("div"),k.innerHTML='

Пароль точки доступа

',_=w(),q=h("div"),L=h("input"),S=w(),T=h("div"),O=h("div"),O.innerHTML='

Название wifi сети

',E=w(),C=h("div"),M=h("select");for(let t=0;tПароль

',A=w(),D=h("div"),B=h("input"),z=w(),R=h("div"),F=h("div"),F.innerHTML='

Сервер обновления

',U=w(),W=h("div"),V=h("input"),Y=w(),ot&&ot.c(),X=w(),tt=h("button"),tt.textContent="Сохранить",y(n,"class","w-4/6"),y(o,"class","ipt-rnd text-left focus:border-indigo-500"),y(o,"type","text"),y(r,"class","flex justify-end w-3/6"),y(e,"class","crd-itm-psn"),y(a,"class","w-4/6"),y($,"class","ipt-rnd text-left focus:border-indigo-500"),y($,"type","text"),y(d,"class","flex justify-end w-3/6"),y(i,"class","crd-itm-psn"),y(k,"class","w-4/6"),y(L,"class","ipt-rnd text-left focus:border-indigo-500"),y(L,"type","text"),y(q,"class","flex justify-end w-3/6"),y(v,"class","crd-itm-psn"),y(O,"class","w-4/6"),y(M,"class","ipt-rnd text-left focus:border-indigo-500"),void 0===t[0].routerssid&&I((()=>t[11].call(M))),y(C,"class","flex justify-end w-3/6"),y(T,"class","crd-itm-psn"),y(P,"class","w-4/6"),y(B,"class","ipt-rnd text-left focus:border-indigo-500"),y(B,"type","text"),y(D,"class","flex justify-end w-3/6"),y(H,"class","crd-itm-psn"),y(F,"class","w-4/6"),y(V,"class","ipt-rnd text-left focus:border-indigo-500"),y(V,"type","text"),y(W,"class","flex justify-end w-3/6"),y(R,"class","crd-itm-psn"),y(tt,"class","btn-lg")},m(s,g){p(s,e,g),f(e,n),f(e,l),f(e,r),f(r,o),J(o,t[0].name),p(s,c,g),p(s,i,g),f(i,a),f(i,u),f(i,d),f(d,$),J($,t[0].apssid),p(s,b,g),p(s,v,g),f(v,k),f(v,_),f(v,q),f(q,L),J(L,t[0].appass),p(s,S,g),p(s,T,g),f(T,O),f(T,E),f(T,C),f(C,M);for(let t=0;t{ot=null})),Q())},i(t){et||(G(ot),et=!0)},o(t){Z(ot),et=!1},d(t){t&&g(e),t&&g(c),t&&g(i),t&&g(b),t&&g(v),t&&g(S),t&&g(T),m(rt,t),t&&g(N),t&&g(H),t&&g(z),t&&g(R),t&&g(Y),ot&&ot.d(t),t&&g(X),t&&g(tt),nt=!1,s(st)}}}function Ie(t){let e;return{c(){e=h("p"),e.textContent="Ошибка",y(e,"class","text-red-500 font-bold h-8 bg-red-50 border-2 border-gray-200 rounded w-full text-center")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function ze(t){let e;return{c(){e=h("p"),e.textContent="Ожидание",y(e,"class","text-blue-500 font-bold h-8 bg-blue-50 border-2 border-gray-200 rounded w-full text-center")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function Re(t){let e;return{c(){e=h("p"),e.textContent="Подключение",y(e,"class","text-yellow-500 font-bold h-8 bg-yellow-50 border-2 border-gray-200 rounded w-full text-center")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function Fe(t){let e;return{c(){e=h("p"),e.textContent="Подключено",y(e,"class","text-green-500 font-bold h-8 bg-green-50 border-2 border-gray-200 rounded w-full text-center")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function Ue(t){let e,n,l,r,o,c,i,a,u,d,m,$,b,v,k,_,j,q,L,S,T,O,E,C,M,N,H,P,A,D,B,I,z,R,F,U,W,V;function Y(t,e){return"e5"===t[1].mqtt?Fe:"e13"===t[1].mqtt?Re:void 0===t[1].mqtt?ze:Ie}let K=Y(t),Q=K(t);return{c(){e=h("div"),n=h("div"),n.innerHTML='

Состояние подключения

',l=w(),r=h("div"),Q.c(),o=w(),c=h("div"),i=h("div"),i.innerHTML='

Название сервера

',a=w(),u=h("div"),d=h("input"),m=w(),$=h("div"),b=h("div"),b.innerHTML='

Порт

',v=w(),k=h("div"),_=h("input"),j=w(),q=h("div"),L=h("div"),L.innerHTML='

Префикс

',S=w(),T=h("div"),O=h("input"),E=w(),C=h("div"),M=h("div"),M.innerHTML='

Имя пользователя

',N=w(),H=h("div"),P=h("input"),A=w(),D=h("div"),B=h("div"),B.innerHTML='

Пароль

',I=w(),z=h("div"),R=h("input"),F=w(),U=h("button"),U.textContent="Сохранить",y(n,"class","w-4/6"),y(r,"class","flex justify-center w-3/6 align-baseline text-sm sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words"),y(e,"class","crd-itm-psn"),y(i,"class","w-4/6"),y(d,"class","ipt-rnd text-left focus:border-indigo-500"),y(d,"type","text"),y(u,"class","flex justify-end w-3/6"),y(c,"class","crd-itm-psn"),y(b,"class","w-4/6"),y(_,"class","ipt-rnd text-left focus:border-indigo-500"),y(_,"type","text"),y(k,"class","flex justify-end w-3/6"),y($,"class","crd-itm-psn"),y(L,"class","w-4/6"),y(O,"class","ipt-rnd text-left focus:border-indigo-500"),y(O,"type","text"),y(T,"class","flex justify-end w-3/6"),y(q,"class","crd-itm-psn"),y(M,"class","w-4/6"),y(P,"class","ipt-rnd text-left focus:border-indigo-500"),y(P,"type","text"),y(H,"class","flex justify-end w-3/6"),y(C,"class","crd-itm-psn"),y(B,"class","w-4/6"),y(R,"class","ipt-rnd text-left focus:border-indigo-500"),y(R,"type","text"),y(z,"class","flex justify-end w-3/6"),y(D,"class","crd-itm-psn"),y(U,"class","btn-lg")},m(s,g){p(s,e,g),f(e,n),f(e,l),f(e,r),Q.m(r,null),p(s,o,g),p(s,c,g),f(c,i),f(c,a),f(c,u),f(u,d),J(d,t[0].mqttServer),p(s,m,g),p(s,$,g),f($,b),f($,v),f($,k),f(k,_),J(_,t[0].mqttPort),p(s,j,g),p(s,q,g),f(q,L),f(q,S),f(q,T),f(T,O),J(O,t[0].mqttPrefix),p(s,E,g),p(s,C,g),f(C,M),f(C,N),f(C,H),f(H,P),J(P,t[0].mqttUser),p(s,A,g),p(s,D,g),f(D,B),f(D,I),f(D,z),f(z,R),J(R,t[0].mqttPass),p(s,F,g),p(s,U,g),W||(V=[x(d,"input",t[16]),x(_,"input",t[17]),x(O,"input",t[18]),x(P,"input",t[19]),x(R,"input",t[20]),x(U,"click",t[21])],W=!0)},p(t,e){K!==(K=Y(t))&&(Q.d(1),Q=K(t),Q&&(Q.c(),Q.m(r,null))),5&e&&d.value!==t[0].mqttServer&&J(d,t[0].mqttServer),5&e&&_.value!==t[0].mqttPort&&J(_,t[0].mqttPort),5&e&&O.value!==t[0].mqttPrefix&&J(O,t[0].mqttPrefix),5&e&&P.value!==t[0].mqttUser&&J(P,t[0].mqttUser),5&e&&R.value!==t[0].mqttPass&&J(R,t[0].mqttPass)},d(t){t&&g(e),Q.d(),t&&g(o),t&&g(c),t&&g(m),t&&g($),t&&g(j),t&&g(q),t&&g(E),t&&g(C),t&&g(A),t&&g(D),t&&g(F),t&&g(U),W=!1,s(V)}}}function We(e){let n,s,l;return{c(){n=h("button"),n.textContent="Перезагрузить устройство",y(n,"class","btn-lg")},m(t,r){p(t,n,r),s||(l=x(n,"click",e[22]),s=!0)},p:t,d(t){t&&g(n),s=!1,l()}}}function Ve(t){let e,n,s,l;const r=[Pe,He],o=[];function c(t,e){return t[3]?0:1}return e=c(t),n=o[e]=r[e](t),{c(){n.c(),s=v()},m(t,n){o[e].m(t,n),p(t,s,n),l=!0},p(t,[l]){let i=e;e=c(t),e===i?o[e].p(t,l):(K(),Z(o[i],1,1,(()=>{o[i]=null})),Q(),n=o[e],n?n.p(t,l):(n=o[e]=r[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){l||(G(n),l=!0)},o(t){Z(n),l=!1},d(t){o[e].d(t),t&&g(s)}}}function Ye(t,e,n){let{settingsJson:s}=e,{errorsJson:l}=e,{ssidJson:r}=e,{show:o}=e,{ssidClick:c=(()=>{})}=e,{saveSett:i=(()=>{})}=e,{saveMqtt:a=(()=>{})}=e,{rebootEsp:u=(()=>{})}=e;return t.$$set=t=>{"settingsJson"in t&&n(0,s=t.settingsJson),"errorsJson"in t&&n(1,l=t.errorsJson),"ssidJson"in t&&n(2,r=t.ssidJson),"show"in t&&n(3,o=t.show),"ssidClick"in t&&n(4,c=t.ssidClick),"saveSett"in t&&n(5,i=t.saveSett),"saveMqtt"in t&&n(6,a=t.saveMqtt),"rebootEsp"in t&&n(7,u=t.rebootEsp)},[s,l,r,o,c,i,a,u,function(){s.name=this.value,n(0,s),n(2,r)},function(){s.apssid=this.value,n(0,s),n(2,r)},function(){s.appass=this.value,n(0,s),n(2,r)},function(){s.routerssid=q(this),n(0,s),n(2,r)},()=>c(),function(){s.routerpass=this.value,n(0,s),n(2,r)},function(){s.serverip=this.value,n(0,s),n(2,r)},()=>i(),function(){s.mqttServer=this.value,n(0,s),n(2,r)},function(){s.mqttPort=this.value,n(0,s),n(2,r)},function(){s.mqttPrefix=this.value,n(0,s),n(2,r)},function(){s.mqttUser=this.value,n(0,s),n(2,r)},function(){s.mqttPass=this.value,n(0,s),n(2,r)},()=>a(),()=>u()]}class Ke extends lt{constructor(t){super(),st(this,t,Ye,Ve,r,{settingsJson:0,errorsJson:1,ssidJson:2,show:3,ssidClick:4,saveSett:5,saveMqtt:6,rebootEsp:7})}}function Qe(t,e,n){const s=t.slice();return s[13]=e[n],s[15]=n,s}function Ge(e){let n,s;return n=new Ct({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function Ze(t){let e,n,s,l,r;return n=new Dt({props:{title:"Список устройств",$$slots:{default:[en]},$$scope:{ctx:t}}}),l=new Ct({props:{$$slots:{default:[nn]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=w(),tt(l.$$.fragment),y(e,"class","grd-1col1")},m(t,o){p(t,e,o),et(n,e,null),f(e,s),et(l,e,null),r=!0},p(t,e){const s={};65591&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const r={};65536&e&&(r.$$scope={dirty:e,ctx:t}),l.$set(r)},i(t){r||(G(n.$$.fragment,t),G(l.$$.fragment,t),r=!0)},o(t){Z(n.$$.fragment,t),Z(l.$$.fragment,t),r=!1},d(t){t&&g(e),nt(n),nt(l)}}}function Xe(t){let e,n,s,l,r,o,c,i,a,u,d,m,$,v,x,k,J,j,q,L=t[13].name+"",S=t[13].ip+"",T=t[13].id+"",O=t[13].status?"online":"offline";return j=new Lt({props:{click:function(){return t[7](t[15])}}}),{c(){e=h("tr"),n=h("td"),s=b(L),l=w(),r=h("td"),o=h("a"),c=b(S),a=w(),u=h("td"),d=b(T),m=w(),$=h("td"),v=b(O),k=w(),J=h("td"),tt(j.$$.fragment),y(n,"class","tbl-bdy-lg ipt-lg w-full"),y(o,"href",i="http://"+t[13].ip),y(r,"class","tbl-bdy-lg ipt-lg w-full"),y(u,"class","tbl-bdy-lg ipt-lg w-full"),y($,"class",x="tbl-bdy-lg ipt-lg w-full "+(t[13].status?"bg-green-50":"bg-red-50")),y(J,"class","tbl-bdy-lg"),y(e,"class","txt-sz txt-pad")},m(t,i){p(t,e,i),f(e,n),f(n,s),f(e,l),f(e,r),f(r,o),f(o,c),f(e,a),f(e,u),f(u,d),f(e,m),f(e,$),f($,v),f(e,k),f(e,J),et(j,J,null),q=!0},p(e,n){t=e,(!q||1&n)&&L!==(L=t[13].name+"")&&_(s,L),(!q||1&n)&&S!==(S=t[13].ip+"")&&_(c,S),(!q||1&n&&i!==(i="http://"+t[13].ip))&&y(o,"href",i),(!q||1&n)&&T!==(T=t[13].id+"")&&_(d,T),(!q||1&n)&&O!==(O=t[13].status?"online":"offline")&&_(v,O),(!q||1&n&&x!==(x="tbl-bdy-lg ipt-lg w-full "+(t[13].status?"bg-green-50":"bg-red-50")))&&y($,"class",x)},i(t){q||(G(j.$$.fragment,t),q=!0)},o(t){Z(j.$$.fragment,t),q=!1},d(t){t&&g(e),nt(j)}}}function tn(t){let e,n,l,r,o,c,i,a,u,d,m,$,b;return{c(){e=h("tr"),n=h("td"),l=h("input"),r=w(),o=h("td"),c=h("input"),i=w(),a=h("td"),u=h("input"),d=w(),m=h("td"),y(l,"class","ipt-lg w-full"),y(l,"type","text"),y(n,"class","tbl-bdy-lg"),y(c,"class","ipt-lg w-full"),y(c,"type","text"),y(o,"class","tbl-bdy-lg"),y(u,"class","ipt-lg w-full"),y(u,"type","text"),y(a,"class","tbl-bdy-lg"),y(m,"class","tbl-bdy-lg"),y(e,"class","txt-sz txt-pad")},m(s,g){p(s,e,g),f(e,n),f(n,l),J(l,t[2].name),f(e,r),f(e,o),f(o,c),J(c,t[2].ip),f(e,i),f(e,a),f(a,u),J(u,t[2].id),f(e,d),f(e,m),$||(b=[x(l,"input",t[8]),x(c,"input",t[9]),x(u,"input",t[10])],$=!0)},p(t,e){4&e&&l.value!==t[2].name&&J(l,t[2].name),4&e&&c.value!==t[2].ip&&J(c,t[2].ip),4&e&&u.value!==t[2].id&&J(u,t[2].id)},d(t){t&&g(e),$=!1,s(b)}}}function en(t){let e,n,l,r,o,c,i,a,u,d,$,v,k,J,j=t[1]?"Сохранить":"Добавить устройство",q=t[0],L=[];for(let e=0;eZ(L[t],1,1,(()=>{L[t]=null}));let T=t[1]&&tn(t);return{c(){e=h("table"),n=h("thead"),n.innerHTML='Название устройства \n IP адрес \n Идентификатор \n Состояние \n ',l=w(),r=h("tbody");for(let t=0;t{o[i]=null})),Q(),n=o[e],n?n.p(t,l):(n=o[e]=r[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){l||(G(n),l=!0)},o(t){Z(n),l=!1},d(t){o[e].d(t),t&&g(s)}}}function ln(t,e,n){let{show:s}=e,{deviceList:l}=e,{showInput:r}=e,{newDevice:o={}}=e,{addDevInList:c=(()=>{})}=e,{sendToAllDevices:i=(t=>{})}=e;function a(t){for(let e=0;e{"show"in t&&n(3,s=t.show),"deviceList"in t&&n(0,l=t.deviceList),"showInput"in t&&n(1,r=t.showInput),"newDevice"in t&&n(2,o=t.newDevice),"addDevInList"in t&&n(4,c=t.addDevInList),"sendToAllDevices"in t&&n(5,i=t.sendToAllDevices)},[l,r,o,s,c,i,a,t=>a(t),function(){o.name=this.value,n(2,o)},function(){o.ip=this.value,n(2,o)},function(){o.id=this.value,n(2,o)},()=>(n(1,r=!r),c()),t=>i("/reboot|")]}class rn extends lt{constructor(t){super(),st(this,t,ln,sn,r,{show:3,deviceList:0,showInput:1,newDevice:2,addDevInList:4,sendToAllDevices:5})}}function on(t,e,n){const s=t.slice();return s[14]=e[n][0],s[15]=e[n][1],s}function cn(t,e,n){const s=t.slice();return s[14]=e[n][0],s[15]=e[n][1],s}function an(e){let n,s;return n=new Ct({props:{title:"Загрузка..."}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function un(t){let e,n,s,l,r,o,c,i;return n=new Dt({props:{title:"Системная информация",$$slots:{default:[wn]},$$scope:{ctx:t}}}),l=new Dt({props:{title:"Системные ошибки",$$slots:{default:[_n]},$$scope:{ctx:t}}}),c=new Dt({props:{$$slots:{default:[Jn]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=w(),tt(l.$$.fragment),r=w(),o=h("div"),tt(c.$$.fragment),y(e,"class","grd-2col1"),y(o,"class","grd-1col1")},m(t,a){p(t,e,a),et(n,e,null),f(e,s),et(l,e,null),p(t,r,a),p(t,o,a),et(c,o,null),i=!0},p(t,e){const s={};1048599&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const r={};1048708&e&&(r.$$scope={dirty:e,ctx:t}),l.$set(r);const o={};1048616&e&&(o.$$scope={dirty:e,ctx:t}),c.$set(o)},i(t){i||(G(n.$$.fragment,t),G(l.$$.fragment,t),G(c.$$.fragment,t),i=!0)},o(t){Z(n.$$.fragment,t),Z(l.$$.fragment,t),Z(c.$$.fragment,t),i=!1},d(t){t&&g(e),nt(n),nt(l),t&&g(r),t&&g(o),nt(c)}}}function dn(t){let e,n,s,l,r=t[15]+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[15],e.value=e.__value},m(t,l){p(t,e,l),f(e,n),f(e,s)},p(t,s){16&s&&r!==(r=t[15]+"")&&_(n,r),16&s&&l!==(l=t[15])&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function fn(t){let e;return{c(){e=h("p"),e.textContent="не подключено",y(e,"class","text-red-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function pn(t){let e;return{c(){e=h("p"),e.textContent="нет сигнала",y(e,"class","text-red-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function gn(t){let e;return{c(){e=h("p"),e.textContent="очень низкий",y(e,"class","text-red-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function mn(t){let e;return{c(){e=h("p"),e.textContent="низкий",y(e,"class","text-yellow-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function hn(t){let e;return{c(){e=h("p"),e.textContent="хороший",y(e,"class","text-yellow-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function $n(t){let e;return{c(){e=h("p"),e.textContent="очень хороший",y(e,"class","text-green-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function bn(t){let e;return{c(){e=h("p"),e.textContent="отличный",y(e,"class","text-green-500 font-bold")},m(t,n){p(t,e,n)},d(t){t&&g(e)}}}function wn(t){let e,n,s,l,r,o,c,i,a,u,d,$,v,k,J,q,L,S,T,O,E,C,M,N,H,P,A,D,B,z,R,F,U,W,V,Y,K,Q,G,Z,X,tt,et,nt,st,lt,rt,ot,ct,it,at,ut,dt,ft,pt,gt,mt,ht,$t,bt,wt,vt,xt,yt,kt,_t,Jt,jt=t[2].bn+"",qt=t[2].bver+"",Lt=t[2].upt+"",St=t[2].uptm+"",Tt=t[2].heap+"",Ot=t[2].fl+"",Et=Object.entries(t[4]),Ct=[];for(let e=0;eНазвание прошивки

',s=w(),l=h("div"),r=h("p"),o=b(jt),c=w(),i=h("div"),a=h("div"),a.innerHTML='

Версии прошивки на сервере

',u=w(),d=h("div"),$=h("select");for(let t=0;tВерсия прошивки

',q=w(),L=h("div"),S=h("p"),T=b(qt),O=w(),E=h("div"),C=h("div"),C.innerHTML='

Версия файловой системы

',M=w(),N=h("div"),H=h("p"),P=b(t[1]),A=w(),D=h("div"),B=h("div"),B.innerHTML='

Uptime устройства

',z=w(),R=h("div"),F=h("p"),U=b(Lt),W=w(),V=h("div"),Y=h("div"),Y.innerHTML='

Uptime сессии mqtt

',K=w(),Q=h("div"),G=h("p"),Z=b(St),X=w(),tt=h("div"),et=h("div"),et.innerHTML='

Качество WiFi сигнала

',nt=w(),st=h("div"),Mt&&Mt.c(),lt=w(),Nt&&Nt.c(),rt=w(),Ht&&Ht.c(),ot=w(),Pt&&Pt.c(),ct=w(),At&&At.c(),it=w(),Dt&&Dt.c(),at=w(),Bt&&Bt.c(),ut=w(),dt=h("div"),ft=h("div"),ft.innerHTML='

Остаток оперативной памяти

',pt=w(),gt=h("div"),mt=h("p"),ht=b(Tt),$t=w(),bt=h("div"),wt=h("div"),wt.innerHTML='

Количество записей на flash

',vt=w(),xt=h("div"),yt=h("p"),kt=b(Ot),y(n,"class","w-3/4"),y(r,"class","text-gray-500 font-bold"),y(l,"class","flex justify-center w-1/4"),y(e,"class","crd-itm-psn"),y(a,"class","w-3/4"),y($,"class","border border-indigo-500 border-4"),void 0===t[0]&&I((()=>t[9].call($))),y(d,"class","flex justify-center w-1/4"),y(i,"class","crd-itm-psn"),y(J,"class","w-3/4"),y(S,"class","text-gray-500 font-bold"),y(L,"class","flex justify-center w-1/4"),y(k,"class","crd-itm-psn"),y(C,"class","w-3/4"),y(H,"class","text-gray-500 font-bold"),y(N,"class","flex justify-center w-1/4"),y(E,"class","crd-itm-psn"),y(B,"class","w-3/4"),y(F,"class","text-gray-500 font-bold"),y(R,"class","flex justify-center w-1/4"),y(D,"class","crd-itm-psn"),y(Y,"class","w-3/4"),y(G,"class","text-gray-500 font-bold"),y(Q,"class","flex justify-center w-1/4"),y(V,"class","crd-itm-psn"),y(et,"class","w-3/4"),y(st,"class","flex justify-center w-1/4 text-xs sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words"),y(tt,"class","crd-itm-psn"),y(ft,"class","w-3/4"),y(mt,"class","text-green-500 font-bold"),y(gt,"class","flex justify-center w-1/4"),y(dt,"class","crd-itm-psn"),y(wt,"class","w-3/4"),y(yt,"class","text-green-500 font-bold"),y(xt,"class","flex justify-center w-1/4"),y(bt,"class","crd-itm-psn")},m(g,m){p(g,e,m),f(e,n),f(e,s),f(e,l),f(l,r),f(r,o),p(g,c,m),p(g,i,m),f(i,a),f(i,u),f(i,d),f(d,$);for(let t=0;t{s=null})),Q())},i(t){n||(G(s),n=!0)},o(t){Z(s),n=!1},d(t){s&&s.d(t),t&&g(e)}}}function _n(t){let e,n,s=Object.entries(t[2]),l=[];for(let e=0;eZ(l[t],1,1,(()=>{l[t]=null}));return{c(){e=h("div");for(let t=0;t{o[i]=null})),Q(),n=o[e],n?n.p(t,l):(n=o[e]=r[e](t),n.c()),G(n,1),n.m(s.parentNode,s))},i(t){l||(G(n),l=!0)},o(t){Z(n),l=!1},d(t){o[e].d(t),t&&g(s)}}}function qn(t,e,n){let{version:s}=e,{errorsJson:l}=e,{rebootEsp:r=(()=>{})}=e,{versionsList:o}=e,{choosingVersion:c}=e,{startUpdate:i=(()=>{})}=e,{show:a}=e,{cancelAlarm:u=(t=>{})}=e;return t.$$set=t=>{"version"in t&&n(1,s=t.version),"errorsJson"in t&&n(2,l=t.errorsJson),"rebootEsp"in t&&n(3,r=t.rebootEsp),"versionsList"in t&&n(4,o=t.versionsList),"choosingVersion"in t&&n(0,c=t.choosingVersion),"startUpdate"in t&&n(5,i=t.startUpdate),"show"in t&&n(6,a=t.show),"cancelAlarm"in t&&n(7,u=t.cancelAlarm)},[c,s,l,r,o,i,a,u,{mqtt:{e1:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Нет ответа от сервера",cancel:!1},e2:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Соединение было разорвано",cancel:!1},e3:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Ошибка соединения. Обычно возникает когда неверно указано название сервера MQTT",cancel:!1},e4:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Клиент был отключен",cancel:!1},e6:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Ошибка версии",cancel:!1},e7:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Отклонен идентификатор",cancel:!1},e8:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Не могу установить соединение",cancel:!1},e9:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Неправильное имя пользователя/пароль"},e10:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Не авторизован для подключения",cancel:!1},e11:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Название сервера пустое",cancel:!1},e12:{descr:"Ошибка mqtt",color:"text-red-500",txt:"Имя пользователя или пароль пустые",cancel:!1},e13:{descr:"Mqtt",color:"text-red-500",txt:"Подключение в процессе",cancel:!1}},wse1:{1:{descr:"Ошибка веб сокетов",color:"text-red-500",txt:"Слишком много клиентов было открыто. Допускается не более четырех.",cancel:!0}},jse1:{1:{descr:"Ошибка json",color:"text-red-500",txt:"Недостаточный размер буфера библиотеки Arduino Json. Устройство может вести себя непредсказуемо. Обратитесь к разработчику.",cancel:!0}},jse2:{1:{descr:"Ошибка json",color:"text-red-500",txt:"Ошибка записи/чтения json. Устройство может вести себя непредсказуемо. Обратитесь к разработчику.",cancel:!0,num:!0}},jse3:{1:{descr:"Ошибка json",color:"text-red-500",txt:"Ошибка чтения файла json с виджетами",cancel:!0}}},function(){c=q(this),n(0,c),n(4,o)},t=>u(t),()=>i(),()=>r()]}class Ln extends lt{constructor(t){super(),st(this,t,qn,jn,r,{version:1,errorsJson:2,rebootEsp:3,versionsList:4,choosingVersion:0,startUpdate:5,show:6,cancelAlarm:7})}}function Sn(e){let n,s,l,r;return{c(){n=$("svg"),s=$("path"),y(s,"d","M7 18a4.6 4.4 0 0 1 0 -9h0a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-12"),y(n,"class",l="h-8 w-8 "+e[0]),y(n,"width","8"),y(n,"height","8"),y(n,"viewBox",r=e[1]+" "+e[2]+" 24 24"),y(n,"stroke-width","2"),y(n,"stroke","currentColor"),y(n,"fill","none"),y(n,"stroke-linecap","round"),y(n,"stroke-linejoin","round")},m(t,e){p(t,n,e),f(n,s)},p(t,[e]){1&e&&l!==(l="h-8 w-8 "+t[0])&&y(n,"class",l),6&e&&r!==(r=t[1]+" "+t[2]+" 24 24")&&y(n,"viewBox",r)},i:t,o:t,d(t){t&&g(n)}}}function Tn(t,e,n){let{color:s}=e,{x:l=0}=e,{y:r=0}=e;return t.$$set=t=>{"color"in t&&n(0,s=t.color),"x"in t&&n(1,l=t.x),"y"in t&&n(2,r=t.y)},[s,l,r]}class On extends lt{constructor(t){super(),st(this,t,Tn,Sn,r,{color:0,x:1,y:2})}}function En(t,e,n){const s=t.slice();return s[114]=e[n],s}function Cn(t){let e,n;return e=new Nt({}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){Z(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function Mn(t){let e,n,s,l,r=t[114].name+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[114].ws,e.value=e.__value},m(t,l){p(t,e,l),f(e,n),f(e,s)},p(t,s){131072&s[0]&&r!==(r=t[114].name+"")&&_(n,r),131072&s[0]&&l!==(l=t[114].ws)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function Nn(t){let e,n,s,l,r,o,c,i,a,u;return e=new Jt({props:{path:"/",$$slots:{default:[Pn]},$$scope:{ctx:t}}}),s=new Jt({props:{path:"/config",$$slots:{default:[An]},$$scope:{ctx:t}}}),r=new Jt({props:{path:"/connection",$$slots:{default:[Dn]},$$scope:{ctx:t}}}),c=new Jt({props:{path:"/list",$$slots:{default:[Bn]},$$scope:{ctx:t}}}),a=new Jt({props:{path:"/system",$$slots:{default:[In]},$$scope:{ctx:t}}}),{c(){tt(e.$$.fragment),n=w(),tt(s.$$.fragment),l=w(),tt(r.$$.fragment),o=w(),tt(c.$$.fragment),i=w(),tt(a.$$.fragment)},m(t,d){et(e,t,d),p(t,n,d),et(s,t,d),p(t,l,d),et(r,t,d),p(t,o,d),et(c,t,d),p(t,i,d),et(a,t,d),u=!0},p(t,n){const l={};8204&n[0]|16777216&n[3]&&(l.$$scope={dirty:n,ctx:t}),e.$set(l);const o={};7184&n[0]|16777216&n[3]&&(o.$$scope={dirty:n,ctx:t}),s.$set(o);const i={};114720&n[0]|16777216&n[3]&&(i.$$scope={dirty:n,ctx:t}),r.$set(i);const u={};1179712&n[0]|16777216&n[3]&&(u.$$scope={dirty:n,ctx:t}),c.$set(u);const d={};33664&n[0]|16777216&n[3]&&(d.$$scope={dirty:n,ctx:t}),a.$set(d)},i(t){u||(G(e.$$.fragment,t),G(s.$$.fragment,t),G(r.$$.fragment,t),G(c.$$.fragment,t),G(a.$$.fragment,t),u=!0)},o(t){Z(e.$$.fragment,t),Z(s.$$.fragment,t),Z(r.$$.fragment,t),Z(c.$$.fragment,t),Z(a.$$.fragment,t),u=!1},d(t){nt(e,t),t&&g(n),nt(s,t),t&&g(l),nt(r,t),t&&g(o),nt(c,t),t&&g(i),nt(a,t)}}}function Hn(e){let n,s;return n=new Ct({props:{title:"Нет соединения"}}),{c(){tt(n.$$.fragment)},m(t,e){et(n,t,e),s=!0},p:t,i(t){s||(G(n.$$.fragment,t),s=!0)},o(t){Z(n.$$.fragment,t),s=!1},d(t){nt(n,t)}}}function Pn(t){let e,n;return e=new pe({props:{show:t[3],layoutJson:t[13],pages:t[2],wsPush:t[38]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};8&n[0]&&(s.show=t[3]),8192&n[0]&&(s.layoutJson=t[13]),4&n[0]&&(s.pages=t[2]),e.$set(s)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){Z(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function An(t){let e,n;return e=new Me({props:{show:t[4],configJson:t[10],widgetsJson:t[11],itemsJson:t[12],saveConfig:t[39],rebootEsp:t[40]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};16&n[0]&&(s.show=t[4]),1024&n[0]&&(s.configJson=t[10]),2048&n[0]&&(s.widgetsJson=t[11]),4096&n[0]&&(s.itemsJson=t[12]),e.$set(s)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){Z(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function Dn(t){let e,n;return e=new Ke({props:{show:t[5],rebootEsp:t[41],ssidClick:t[42],saveSett:t[43],saveMqtt:t[44],settingsJson:t[14],errorsJson:t[15],ssidJson:t[16]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};32&n[0]&&(s.show=t[5]),16384&n[0]&&(s.settingsJson=t[14]),32768&n[0]&&(s.errorsJson=t[15]),65536&n[0]&&(s.ssidJson=t[16]),e.$set(s)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){Z(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function Bn(t){let e,n;return e=new rn({props:{show:t[6],deviceList:t[17],showInput:Fn,addDevInList:t[45],newDevice:t[20],sendToAllDevices:t[46]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};64&n[0]&&(s.show=t[6]),131072&n[0]&&(s.deviceList=t[17]),1048576&n[0]&&(s.newDevice=t[20]),e.$set(s)},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){Z(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function In(t){let e,n,s;function l(e){t[50](e)}let r={show:t[7],errorsJson:t[15],rebootEsp:t[47],cancelAlarm:t[48],version:Rn,versionsList:t[8],startUpdate:t[49]};return void 0!==t[9]&&(r.choosingVersion=t[9]),e=new Ln({props:r}),M.push((()=>X(e,"choosingVersion",l))),{c(){tt(e.$$.fragment)},m(t,n){et(e,t,n),s=!0},p(t,s){const l={};128&s[0]&&(l.show=t[7]),32768&s[0]&&(l.errorsJson=t[15]),256&s[0]&&(l.versionsList=t[8]),!n&&512&s[0]&&(n=!0,l.choosingVersion=t[9],z((()=>n=!1))),e.$set(l)},i(t){s||(G(e.$$.fragment,t),s=!0)},o(t){Z(e.$$.fragment,t),s=!1},d(t){nt(e,t)}}}function zn(t){let e,n,l,r,o,c,i,a,u,d,$,b,v,k,_,J,q,L,S,T,O,E,C,M,N,H,P,A,D,B,z,R,F,U,W,V,Y,X,st,lt,rt,ot,ct=t[21]&&Cn(),it=t[17],at=[];for(let e=0;e",_=w(),J=h("ul"),q=h("li"),L=h("a"),L.textContent="Управление",S=w(),T=h("li"),O=h("a"),O.textContent="Конфигуратор",E=w(),C=h("li"),M=h("a"),M.textContent="Подключение",N=w(),H=h("li"),P=h("a"),P.textContent="Устройства",A=w(),D=h("li"),B=h("a"),B.textContent="Системные",z=w(),R=h("main"),F=h("ul"),U=h("div"),V.c(),X=w(),st=h("footer"),st.innerHTML='
Developed by Dmitry Borisenko
',y(c,"class","border border-indigo-500 border-4"),void 0===t[19]&&I((()=>t[34].call(c))),y(o,"class","px-15 py-1"),y(a,"class","pl-4 pr-4 py-1"),y(r,"class","flex content-center items-center justify-end"),y(l,"class","h-10 w-full bg-gray-100 overflow-auto shadow-md"),y(b,"id","menu__toggle"),y(b,"type","checkbox"),y(k,"class","menu__btn"),y(k,"for","menu__toggle"),y(L,"class","menu__item"),y(L,"href","/"),y(O,"class","menu__item"),y(O,"href","/config"),y(M,"class","menu__item"),y(M,"href","/connection"),y(P,"class","menu__item"),y(P,"href","/list"),y(B,"class","menu__item"),y(B,"href","/system"),y(J,"class","menu__box"),y($,"class","flex"),y(U,"class","bg-cover pt-0 px-4"),y(F,"class","menu__main"),y(R,"class",Y="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")),y(st,"class","h-4 bg-gray-100 border-gray-200 shadow-lg"),y(e,"class","flex flex-col h-screen bg-gray-50")},m(s,g){p(s,e,g),ct&&ct.m(e,null),f(e,n),f(e,l),f(l,r),f(r,o),f(o,c);for(let t=0;t{ct=null})),Q()),131072&s[0]){let e;for(it=t[17],e=0;e{dt[r]=null})),Q(),V=dt[W],V?V.p(t,s):(V=dt[W]=ut[W](t),V.c()),G(V,1),V.m(U,null)),(!lt||3&s[0]&&Y!==(Y="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")))&&y(R,"class",Y)},i(t){lt||(G(ct),G(u.$$.fragment,t),G(V),lt=!0)},o(t){Z(ct),Z(u.$$.fragment,t),Z(V),lt=!1},d(t){t&&g(e),ct&&ct.d(),m(at,t),nt(u),dt[W].d(),rt=!1,s(ot)}}}let Rn=405,Fn=!1;function Un(t,e,n){let s;o(t,bt,(t=>n(78,s=t))),bt.mode.hash();let l,r=!1,c=!1,i=document.location.hostname,a=!0,u=[],d=!1,f=!1,p=!1,g=!1,m=!1,h={},$=[],b=!1,w=!1,v=[],x=!1,y=!1,k=[],_=!1,J=!1,j=[],L=!1,S=!1,T={},E=!1,C={},M=!1,N={},H=!1,P={},A=!1,D=[],B=!1,I=[];I=[{name:"--",id:"--",ip:i,ws:0,status:!1}];let z,R=[],F=!1,U=0,W=!0,V={};var Y=function(){this.parts=[]};let K;Y.prototype.append=function(t){this.parts.push(t),this.blob=void 0},Y.prototype.getBlob=function(){return this.blob||(this.blob=new Blob(this.parts,{type:"binary"})),this.blob},Y.prototype.clear=function(){this.parts=[]};var Q=new Y,G=new Y,Z=new Y,X=new Y;function tt(){void 0!==U&>(U,K)}function et(){xt(U);let t=0;I.forEach((e=>{e.ws=t,e.status||(st(t),rt(t)),t++})),n(17,I)}function nt(t,e){I.forEach((n=>{n.ws===t&&(n.status=e,n.status?console.log("[i]",n.ip,"status online"):console.log("[i]",n.ip,"status offline"))})),n(17,I),xt(U),n(18,F=z.status)}function st(t){let e=lt(t);"error"===e?console.log("[e]","device list wrong"):(R[t]=new WebSocket("ws://"+e+":81"),R.binaryType="blob",console.log("[i]",e,t,"started connecting..."))}function lt(t){let e="error";return I.forEach((n=>{t===n.ws&&(e=n.ip)})),e}function rt(t){if(R[t]){let e=lt(t);console.log("[i]",e,t,"web socket events added"),R[t].addEventListener("open",(function(n){console.log("[i]",e,t,"completed connecting"),nt(t,!0),a&>(0,"/list|"),t===U&&tt()})),R[t].addEventListener("message",(function(e){if("string"==typeof e.data){let c=e.data;if(t===U){if(c.includes("devicelist")&&kt(c)&&(D=JSON.parse(c),D=D,B=!0,console.log("✔","incDeviceList json parced"),ot(),a?(n(17,I=D),n(17,I[0].status=!0,I)):n(17,(l=I,r=D,o=new Set(l.map((t=>t.ip))),I=[...l,...r.filter((t=>!o.has(t.ip)))])),a=!1,n(17,I),wt(),et()),c.includes("status")&&kt(c)){!function(t){for(let e=0;e{let e=t.result;kt(e)&&(n(10,$=JSON.parse(e)),n(10,$),w=!0,console.log("✔","configJson parced"),ot())}}if("/st/widgets.json"===c&&(x=!0),"/end/widgets.json"===c){x=!1;s=G.getBlob();let t=new FileReader;t.readAsText(s),t.onload=()=>{let e=t.result;kt(e)&&(n(11,v=JSON.parse(e)),n(11,v),y=!0,console.log("✔","widgetsJson parced"),ot())}}if("/st/items.json"===c&&(_=!0),"/end/items.json"===c){_=!1;s=Z.getBlob();let t=new FileReader;t.readAsText(s),t.onload=()=>{let e=t.result;kt(e)&&(n(12,k=JSON.parse(e)),n(12,k),J=!0,console.log("✔","itemsJson parced"),ot())}}if("/st/layout.json"===c&&(L=!0),"/end/layout.json"===c){L=!1;s=X.getBlob();let e=new FileReader;e.readAsText(s),e.onload=()=>{let s=e.result;kt(s)&&(n(13,j=JSON.parse(s)),n(13,j),$t(),S=!0,console.log("✔","layoutJson parced",t),ot())}}}}var l,r,o;e.data instanceof Blob&&t===U&&(b&&Q.append(e.data),x&&G.append(e.data),_&&Z.append(e.data),L&&X.append(e.data))})),R[t].addEventListener("close",(n=>{console.log("[e]",e,"connection closed"),nt(t,!1)})),R[t].addEventListener("error",(function(n){console.log("[e]",e,"connection error"),nt(t,!1)}))}else console.log("[e]","socket not exist")}function ot(t){"/|"===K&&S&&A&&(dt(),console.log("✔✔","dashboard data parced"),function(t){for(const[e,s]of Object.entries(t))for(let t=0;t5?(!function(t,e,n,s,l){for(let r=0;r5?gt(U,"/sgnittes|"+JSON.stringify(T)):window.alert("Ошибка"),ut(),gt(U,"/mqtt|")}function ut(){n(10,$=[]),Q.clear(),n(11,v=[]),G.clear(),n(12,k=[]),Z.clear(),n(13,j=[]),X.clear(),n(14,T={}),n(15,C={}),n(3,d=!1),n(4,f=!1),n(5,p=!1),n(6,g=!1),n(7,m=!1),dt(),console.log("[i]","all app data cleared")}function dt(){w=!1,y=!1,J=!1,S=!1,E=!1,M=!1,H=!1,A=!1,B=!1}function ft(t,e,n){let s=e+" "+n;console.log("[i]","send to ws msg:",s),gt(t,s)}function pt(){setTimeout(pt,2e4),console.log("[i]","----timer tick----"),W||I.forEach((t=>{!function(t){let e=!1;return I.forEach((n=>{t===n.ws&&(e=n.status)})),e}(t.ws)?(st(t.ws),rt(t.ws)):gt(t.ws,"/tst|")})),W=!1}function gt(t,e){R[t]&&1===R[t].readyState?(R[t].send(e),console.log("[i]",lt(t),t,"msg send success",e)):console.log("[e]",lt(t),t,"msg not send",e)}function mt(t){I.forEach((e=>{e.status&>(e.ws,t)}))}function ht(){n(2,u=[]);Array.from(new Set(Array.from(j,(({page:t})=>t)))).forEach((function(t,e,s){n(2,u=[...u,JSON.parse(JSON.stringify({page:t}))])})),u.sort((function(t,e){return t.pagee.page?1:0}))}function $t(){ht(),n(13,j)}function wt(){xt(U),n(18,F=z.status)}function vt(){wt(),ut(),tt(),console.log("[i]","user selected device:",z.name),z.ip===i&&console.log("[i]","user selected original device",z.name)}function xt(t){for(let e=0;e{console.log("[i]","mounted"),wt(),a=!0,et(),pt(),ht()}));return[r,c,u,d,f,p,g,m,h,l,$,v,k,j,T,C,N,I,F,U,V,jt,ct,it,at,ft,mt,vt,yt,_t,Jt,Lt,Tt,Ot,function(){U=q(this),n(19,U),n(17,I)},()=>vt(),function(){r=this.checked,n(0,r)},()=>_t(),(t,e,n)=>ft(t,e,n),()=>ct(),()=>Lt(),()=>Lt(),()=>Jt(),()=>it(),()=>at(),()=>yt(),t=>mt(t),()=>Lt(),t=>Tt(t),()=>Ot(),function(t){l=t,n(9,l)}]}return new class extends lt{constructor(t){super(),st(this,t,Un,zn,r,{},null,[-1,-1,-1,-1])}}({target:document.body,props:{name:"world"}})}(); //# sourceMappingURL=bundle.js.map diff --git a/data_svelte/settings.json b/data_svelte/settings.json index db2cc192..0a64dd8c 100644 --- a/data_svelte/settings.json +++ b/data_svelte/settings.json @@ -3,8 +3,8 @@ "name": "IoTmanagerVer4", "apssid": "IoTmanager", "appass": "", - "routerssid": "rise", - "routerpass": "hostel3333", + "routerssid": "WLAN1-Y1GYEF", + "routerpass": "2egY69YTA8DDR7En", "timezone": 1, "ntp": "pool.ntp.org", "weblogin": "admin", @@ -13,5 +13,6 @@ "mqttPort": 8021, "mqttPrefix": "/ver4test", "mqttUser": "rise", - "mqttPass": "hostel3333" + "mqttPass": "hostel3333", + "serverip": "http://206.189.49.244:8081" } \ No newline at end of file diff --git a/include/Const.h b/include/Const.h index 69b0c54b..76afbe9b 100644 --- a/include/Const.h +++ b/include/Const.h @@ -1,7 +1,7 @@ #pragma once -//Это версия прошивки -#define FIRMWARE_VERSION 404 +//Версия прошивки +#define FIRMWARE_VERSION 405 #ifdef esp8266_4mb #define FIRMWARE_NAME "esp8266_4mb" diff --git a/include/UpgradeFirm.h b/include/UpgradeFirm.h new file mode 100644 index 00000000..464874c7 --- /dev/null +++ b/include/UpgradeFirm.h @@ -0,0 +1,24 @@ +#pragma once +#include "Global.h" +//#include "Upgrade.h" +#ifdef ESP8266 +//#include "ESP8266.h" +#else +#include +#endif + +struct updateFirm { + String settingsFlashJson; + String configJson; +}; + +extern void upgradeInit(); +extern void getLastVersion(); +extern void upgrade_firmware(int type); +extern bool upgradeFS(); +extern bool upgradeBuild(); +extern void restartEsp(); + +extern const String getBinPath(String file); +extern void putUserDataToRam(); +extern void saveUserDataToFlash(); \ No newline at end of file diff --git a/include/WsServer.h b/include/WsServer.h index 474a88ba..d32c2cb0 100644 --- a/include/WsServer.h +++ b/include/WsServer.h @@ -3,6 +3,7 @@ #include "utils/WiFiUtils.h" #include "DeviceList.h" #include "ESPConfiguration.h" +#include "UpgradeFirm.h" #ifdef STANDARD_WEB_SOCKETS extern void standWebSocketsInit(); diff --git a/src/UpgradeFirm.cpp b/src/UpgradeFirm.cpp new file mode 100644 index 00000000..cb1ee1bf --- /dev/null +++ b/src/UpgradeFirm.cpp @@ -0,0 +1,120 @@ +#include "UpgradeFirm.h" + +updateFirm update; + +void upgrade_firmware(int type) { + putUserDataToRam(); + + // only build + if (type == 1) { + if (upgradeBuild()) { + saveUserDataToFlash(); + restartEsp(); + } + } + + // only littlefs + else if (type == 2) { + if (upgradeFS()) { + saveUserDataToFlash(); + restartEsp(); + } + } + + // littlefs and build + else if (type == 3) { + if (upgradeFS()) { + saveUserDataToFlash(); + if (upgradeBuild()) { + restartEsp(); + } + } + } +} + +bool upgradeFS() { + bool ret = false; + WiFiClient wifiClient; + Serial.printf("Start upgrade %s, please wait...", FS_NAME); + if (getBinPath("") == "error") { + SerialPrint("E", F("Update"), F("FS Path error")); + return ret; + } +#ifdef ESP8266 + ESPhttpUpdate.rebootOnUpdate(false); + t_httpUpdate_return retFS = ESPhttpUpdate.updateFS(wifiClient, getBinPath("littlefs.bin")); +#endif +#ifdef ESP32 + httpUpdate.rebootOnUpdate(false); + HTTPUpdateResult retFS = httpUpdate.updateSpiffs(wifiClient, getBinPath("spiffs.bin")); +#endif + + //если FS обновилась успешно + if (retFS == HTTP_UPDATE_OK) { + SerialPrint("I", F("Update"), F("FS upgrade done!")); + ret = true; + } + + return ret; +} + +bool upgradeBuild() { + bool ret = false; + WiFiClient wifiClient; + Serial.println(F("Start upgrade BUILD, please wait...")); + if (getBinPath("") == "error") { + SerialPrint("E", F("Update"), F("Build Path error")); + return ret; + } +#ifdef esp8266_4mb + ESPhttpUpdate.rebootOnUpdate(false); + t_httpUpdate_return retBuild = ESPhttpUpdate.update(wifiClient, getBinPath("firmware.bin")); +#endif +#ifdef esp32_4mb + httpUpdate.rebootOnUpdate(false); + HTTPUpdateResult retBuild = httpUpdate.update(wifiClient, getBinPath("firmware.bin")); +#endif + + //если BUILD обновился успешно + if (retBuild == HTTP_UPDATE_OK) { + SerialPrint("I", F("Update"), F("BUILD upgrade done!")); + ret = true; + } + + return ret; +} + +void restartEsp() { + Serial.println(F("Restart ESP....")); + delay(1000); + ESP.restart(); +} + +const String getBinPath(String file) { + String path = "error"; + if (file != "") { + int targetVersion = 0; + String serverip; + if (jsonRead(errorsHeapJson, F("chver"), targetVersion)) { + if (targetVersion >= 400) { + if (jsonRead(settingsFlashJson, F("serverip"), serverip)) { + if (serverip != "") { + path = jsonReadStr(settingsFlashJson, F("serverip")) + "/iotm/" + String(FIRMWARE_NAME) + "/" + String(targetVersion) + "/" + file; + } + } + } + } + SerialPrint("i", F("Update"), "path: " + path); + } + return path; +} + +void putUserDataToRam() { + update.configJson = readFile("config.json", 4096); + update.settingsFlashJson = readFile("settings.json", 4096); +} + +void saveUserDataToFlash() { + writeFile("/config.json", update.configJson); + writeFile("/settings.json", update.settingsFlashJson); +} \ No newline at end of file diff --git a/src/WsServer.cpp b/src/WsServer.cpp index be5d6c99..822a9dba 100644 --- a/src/WsServer.cpp +++ b/src/WsServer.cpp @@ -113,8 +113,10 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) //**отправка**// if (headerStr == "/system|") { standWebSocket.sendTXT(num, errorsHeapJson); + standWebSocket.sendTXT(num, settingsFlashJson); } //**сохранение**// + //переписать любое поле в errors json if (headerStr == "/rorre|") { writeUint8tValueToJsonString(payload, length, headerLenth, errorsHeapJson); } @@ -123,7 +125,10 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) if (headerStr == "/reboot|") { ESP.restart(); } - + //**команда обновления esp**// + if (headerStr == "/update|") { + upgrade_firmware(3); + } } break; case WStype_BIN: {