diff --git a/data_svelte/build/bundle.js b/data_svelte/build/bundle.js
index bd51d1bd..d3e3f731 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||D((()=>{const n=i.map(e).filter(l);a?a.push(...n):s(n),t.$$.on_mount=[]})),u.forEach(D)}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;O(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]&&(T.push(t),B(),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=N("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 z();let t=it(e,l.parent&&l.parent.pattern,l.redirect);return wt.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 z(),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);wt.goto(e,!0)}else t.show()}))}}};return r="tinro",o=l,C().$$.context.set(r,o),L((()=>l.register())),l.router.un=wt.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 N("tinro").meta}var wt=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:bt,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 bt(){return N("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 Ot(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=w(t[0]),r=b(),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 Ct(e){let n,s;return{c(){n=h("h1"),s=w(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 Lt(t){let e,n,s,l,r;const o=[Ct,Ot],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,w=c($,t,t[3],null);return{c(){e=h("div"),s&&s.c(),l=b(),w&&w.c(),y(e,"class","alm")},m(t,s){p(t,e,s),~n&&i[n].m(e,null),f(e,l),w&&w.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),w&&w.p&&(!r||8&c)&&u(w,$,t,t[3],r?a($,t[3],c,null):d(t[3]),null)},i(t){r||(G(s),G(w,t),r=!0)},o(t){V(s),V(w,t),r=!1},d(t){t&&g(e),~n&&i[n].d(),w&&w.d(t)}}}function Nt(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 Tt extends lt{constructor(t){super(),st(this,t,Nt,Lt,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 Et extends lt{constructor(t){super(),st(this,t,null,Mt,r,{})}}function Ht(t){let e,n;return{c(){e=h("h1"),n=w(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=b(),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 Bt extends lt{constructor(t){super(),st(this,t,At,Pt,r,{title:0})}}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,"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 Dt(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 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","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&&zt(e),$="text"==e[0].type&&Dt(e),x="date"==e[0].type&&It(e),v="time"==e[0].type&&Rt(e);return{c(){n=h("div"),s=h("div"),l=h("label"),r=w(d),o=b(),c=h("div"),m&&m.c(),i=b(),$&&$.c(),a=b(),x&&x.c(),u=b(),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=zt(t),m.c(),m.m(c,i)):m&&(m.d(1),m=null),"text"==t[0].type?$?$.p(t,e):($=Dt(t),$.c(),$.m(c,a)):$&&($.d(1),$=null),"date"==t[0].type?x?x.p(t,e):(x=It(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,O,C,L=(e[0].descr?e[0].descr:"")+"";return{c(){n=h("div"),l=h("div"),r=h("label"),o=w(L),c=b(),i=h("div"),a=h("label"),u=h("div"),d=h("input"),$=b(),x=h("div"),k=b(),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),O||(C=[v(d,"change",e[3]),v(d,"change",e[4])],O=!0)},p(t,[e]){1&e&&L!==(L=(t[0].descr?t[0].descr:"")+"")&&_(o,L),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),O=!1,s(C)}}}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=w(x),o=b(),c=h("div"),i=h("label"),a=w(v),u=b(),d=h("label"),m=w(" "),$=w(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 Tt({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=b();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,I((()=>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,I((()=>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,I((()=>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[19]=e[n],s[20]=e,s[21]=n,s}function we(t,e,n){const s=t.slice();return s[22]=e[n][0],s[23]=e[n][1],s[24]=e,s[25]=n,s}function be(t,e,n){const s=t.slice();return s[26]=e[n],s}function xe(t,e,n){const s=t.slice();return s[29]=e[n],s}function ve(e){let n,s;return n=new Tt({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 Bt({props:{$$slots:{default:[Le]},$$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={};119&e[0]|2&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[29].header)},m(t,n){p(t,e,n)},p(t,s){4&s[0]&&n!==(n=t[29].header)&&y(e,"label",n)},d(t){t&&g(e)}}}function _e(t){let e,n,s,l,r=t[29].name+"";return{c(){e=h("option"),n=w(r),s=b(),e.__value=l=t[29].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[29].name+"")&&_(n,r),4&s[0]&&l!==(l=t[29].num)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function Je(t){let e,n,s=t[29].header&&ke(t),l=!t[29].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[29].header?s?s.p(t,r):(s=ke(t),s.c(),s.m(e.parentNode,e)):s&&(s.d(1),s=null),t[29].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[26].label+"";return{c(){e=h("option"),n=w(r),s=b(),e.__value=l=t[26].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[26].label+"")&&_(n,r),2&s[0]&&l!==(l=t[26].name)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function qe(t){let e,n=Object.entries(t[19]),s=[];for(let e=0;eV(O[t],1,1,(()=>{O[t]=null}));return{c(){e=h("div"),n=h("select");for(let t=0;t| Тип | \n Id | \n Виджет | \n Вкладка | \n Название | \n | \n | ',u=b(),d=h("tbody");for(let t=0;tt[9].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(w,"class","btn-lg")},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 Te(t,e,n){let{configJson:s}=e,{widgetsJson:l}=e,{itemsJson:r}=e,{show:o}=e,c=0,{saveConfig:i=(()=>{})}=e,a=!0;function u(){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)},[s,l,r,o,i,c,a,u,d,function(){c=q(this),n(5,c),n(2,r)},()=>u(),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(6,a=!a),t=>d(t),function(t,e,r){e[r][t]=this.value,n(0,s),n(1,l)},()=>i()]}class Me extends lt{constructor(t){super(),st(this,t,Te,Ne,r,{configJson:0,widgetsJson:1,itemsJson:2,show:3,saveConfig:4},null,[-1,-1])}}function Ee(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 Tt({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 Bt({props:{title:"Подключение к WiFi",$$slots:{default:[ze]},$$scope:{ctx:t}}}),l=new Bt({props:{title:"Подключение к MQTT",$$slots:{default:[We]},$$scope:{ctx:t}}}),c=new Bt({props:{$$slots:{default:[Ue]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=b(),tt(l.$$.fragment),r=b(),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=w(r),s=b(),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 Be(t){let e,n,s;return n=new Tt({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 ze(t){let e,n,l,r,o,c,i,a,u,d,$,w,x,k,_,q,S,O,C,L,N,T,M,E,H,P,A,B,z,I,R,F,W,U,Y,K=Object.entries(t[2]),X=[];for(let e=0;eНазвание устройства
',l=b(),r=h("div"),o=h("input"),c=b(),i=h("div"),a=h("div"),a.innerHTML='Точка доступа
',u=b(),d=h("div"),$=h("input"),w=b(),x=h("div"),k=h("div"),k.innerHTML='Пароль точки доступа
',_=b(),q=h("div"),S=h("input"),O=b(),C=h("div"),L=h("div"),L.innerHTML='Название wifi сети
',N=b(),T=h("div"),M=h("select");for(let t=0;tПароль',A=b(),B=h("div"),z=h("input"),I=b(),tt&&tt.c(),R=b(),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(L,"class","w-4/6"),y(M,"class","ipt-rnd text-left focus:border-indigo-500"),void 0===t[0].routerssid&&D((()=>t[11].call(M))),y(T,"class","flex justify-end w-3/6"),y(C,"class","crd-itm-psn"),y(P,"class","w-4/6"),y(z,"class","ipt-rnd text-left focus:border-indigo-500"),y(z,"type","text"),y(B,"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,w,g),p(s,x,g),f(x,k),f(x,_),f(x,q),f(q,S),J(S,t[0].appass),p(s,O,g),p(s,C,g),f(C,L),f(C,N),f(C,T),f(T,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(w),t&&g(x),t&&g(O),t&&g(C),m(X,t),t&&g(E),t&&g(H),t&&g(I),tt&&tt.d(t),t&&g(R),t&&g(F),U=!1,s(Y)}}}function De(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 Ie(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,$,w,x,k,_,j,q,S,O,C,L,N,T,M,E,H,P,A,B,z,D,I,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?Ie:De}let Q=K(t),Z=Q(t);return{c(){e=h("div"),n=h("div"),n.innerHTML='Состояние подключения
',l=b(),r=h("div"),Z.c(),o=b(),c=h("div"),i=h("div"),i.innerHTML='Название сервера
',a=b(),u=h("div"),d=h("input"),m=b(),$=h("div"),w=h("div"),w.innerHTML='Порт
',x=b(),k=h("div"),_=h("input"),j=b(),q=h("div"),S=h("div"),S.innerHTML='Префикс
',O=b(),C=h("div"),L=h("input"),N=b(),T=h("div"),M=h("div"),M.innerHTML='Имя пользователя
',E=b(),H=h("div"),P=h("input"),A=b(),B=h("div"),z=h("div"),z.innerHTML='Пароль
',D=b(),I=h("div"),R=h("input"),F=b(),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(w,"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(L,"class","ipt-rnd text-left focus:border-indigo-500"),y(L,"type","text"),y(C,"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(T,"class","crd-itm-psn"),y(z,"class","w-4/6"),y(R,"class","ipt-rnd text-left focus:border-indigo-500"),y(R,"type","text"),y(I,"class","flex justify-end w-3/6"),y(B,"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($,w),f($,x),f($,k),f(k,_),J(_,t[0].mqttPort),p(s,j,g),p(s,q,g),f(q,S),f(q,O),f(q,C),f(C,L),J(L,t[0].mqttPrefix),p(s,N,g),p(s,T,g),f(T,M),f(T,E),f(T,H),f(H,P),J(P,t[0].mqttUser),p(s,A,g),p(s,B,g),f(B,z),f(B,D),f(B,I),f(I,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(L,"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&&L.value!==t[0].mqttPrefix&&J(L,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(N),t&&g(T),t&&g(A),t&&g(B),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[11]=e[n],s[13]=n,s}function Ge(e){let n,s;return n=new Tt({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 Bt({props:{title:"Список устройств",$$slots:{default:[en]},$$scope:{ctx:t}}}),l=new Tt({props:{$$slots:{default:[nn]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=b(),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={};16407&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const r={};16384&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[11].name+"",O=t[11].ip+"",C=t[11].id+"",L=t[11].status?"online":"offline";return j=new St({props:{click:function(){return t[6](t[13])}}}),{c(){e=h("tr"),n=h("td"),s=w(S),l=b(),r=h("td"),o=h("a"),c=w(O),a=b(),u=h("td"),d=w(C),m=b(),$=h("td"),x=w(L),k=b(),J=h("td"),tt(j.$$.fragment),y(n,"class","tbl-bdy-lg ipt-lg w-full"),y(o,"href",i="http://"+t[11].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[11].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[11].name+"")&&_(s,S),(!q||1&n)&&O!==(O=t[11].ip+"")&&_(c,O),(!q||1&n&&i!==(i="http://"+t[11].ip))&&y(o,"href",i),(!q||1&n)&&C!==(C=t[11].id+"")&&_(d,C),(!q||1&n)&&L!==(L=t[11].status?"online":"offline")&&_(x,L),(!q||1&n&&v!==(v="tbl-bdy-lg ipt-lg w-full "+(t[11].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,$,w;return{c(){e=h("tr"),n=h("td"),l=h("input"),r=b(),o=h("td"),c=h("input"),i=b(),a=h("td"),u=h("input"),d=b(),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),$||(w=[v(l,"input",t[7]),v(c,"input",t[8]),v(u,"input",t[9])],$=!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(w)}}}function en(t){let e,n,s,l,r,o,c,i,a,u,d,$=t[1]?"Сохранить":"Добавить устройство",x=t[0],k=[];for(let e=0;eV(k[t],1,1,(()=>{k[t]=null}));let j=t[1]&&tn(t);return{c(){e=h("table"),n=h("thead"),n.innerHTML='| Название устройства | \n IP адрес | \n Идентификатор | \n Состояние | \n |
',s=b(),l=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;function i(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)},[l,r,o,s,c,i,t=>i(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())]}class rn extends lt{constructor(t){super(),st(this,t,ln,sn,r,{show:3,deviceList:0,showInput:1,newDevice:2,addDevInList:4})}}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 Tt({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 Bt({props:{title:"Системная информация",$$slots:{default:[$n]},$$scope:{ctx:t}}}),l=new Bt({props:{title:"Системные ошибки",$$slots:{default:[yn]},$$scope:{ctx:t}}}),c=new Bt({props:{$$slots:{default:[kn]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=b(),tt(l.$$.fragment),r=b(),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,O,C,L,N,T,M,E,H,P,A,B,z,D,I,R,F,W,U,Y,K,Q,Z,G,V,X,tt=t[1].bver+"",et=t[1].upt+"",nt=t[1].uptm+"",st=t[1].heap+"",lt=0===t[1].rssi&&un(),rt=1===t[1].rssi&&dn(),ot=2===t[1].rssi&&fn(),ct=3===t[1].rssi&&pn(),it=4===t[1].rssi&&gn(),at=5===t[1].rssi&&mn(),ut=6===t[1].rssi&&hn();return{c(){e=h("div"),n=h("div"),n.innerHTML='Версия прошивки
',s=b(),l=h("div"),r=h("p"),o=w(tt),c=b(),i=h("div"),a=h("div"),a.innerHTML='Версия файловой системы
',u=b(),d=h("div"),m=h("p"),$=w(t[0]),x=b(),v=h("div"),k=h("div"),k.innerHTML='Uptime устройства
',J=b(),j=h("div"),q=h("p"),S=w(et),O=b(),C=h("div"),L=h("div"),L.innerHTML='Uptime сессии mqtt
',N=b(),T=h("div"),M=h("p"),E=w(nt),H=b(),P=h("div"),A=h("div"),A.innerHTML='Качество WiFi сигнала
',B=b(),z=h("div"),lt&<.c(),D=b(),rt&&rt.c(),I=b(),ot&&ot.c(),R=b(),ct&&ct.c(),F=b(),it&&it.c(),W=b(),at&&at.c(),U=b(),ut&&ut.c(),Y=b(),K=h("div"),Q=h("div"),Q.innerHTML='Остаток оперативной памяти
',Z=b(),G=h("div"),V=h("p"),X=w(st),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(L,"class","w-3/4"),y(M,"class","text-gray-500 font-bold"),y(T,"class","flex justify-center w-1/4"),y(C,"class","crd-itm-psn"),y(A,"class","w-3/4"),y(z,"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(P,"class","crd-itm-psn"),y(Q,"class","w-3/4"),y(V,"class","text-green-500 font-bold"),y(G,"class","flex justify-center w-1/4"),y(K,"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,O,g),p(t,C,g),f(C,L),f(C,N),f(C,T),f(T,M),f(M,E),p(t,H,g),p(t,P,g),f(P,A),f(P,B),f(P,z),lt&<.m(z,null),f(z,D),rt&&rt.m(z,null),f(z,I),ot&&ot.m(z,null),f(z,R),ct&&ct.m(z,null),f(z,F),it&&it.m(z,null),f(z,W),at&&at.m(z,null),f(z,U),ut&&ut.m(z,null),p(t,Y,g),p(t,K,g),f(K,Q),f(K,Z),f(K,G),f(G,V),f(V,X)},p(t,e){2&e&&tt!==(tt=t[1].bver+"")&&_(o,tt),1&e&&_($,t[0]),2&e&&et!==(et=t[1].upt+"")&&_(S,et),2&e&&nt!==(nt=t[1].uptm+"")&&_(E,nt),0===t[1].rssi?lt||(lt=un(),lt.c(),lt.m(z,D)):lt&&(lt.d(1),lt=null),1===t[1].rssi?rt||(rt=dn(),rt.c(),rt.m(z,I)):rt&&(rt.d(1),rt=null),2===t[1].rssi?ot||(ot=fn(),ot.c(),ot.m(z,R)):ot&&(ot.d(1),ot=null),3===t[1].rssi?ct||(ct=pn(),ct.c(),ct.m(z,F)):ct&&(ct.d(1),ct=null),4===t[1].rssi?it||(it=gn(),it.c(),it.m(z,W)):it&&(it.d(1),it=null),5===t[1].rssi?at||(at=mn(),at.c(),at.m(z,U)):at&&(at.d(1),at=null),6===t[1].rssi?ut||(ut=hn(),ut.c(),ut.m(z,null)):ut&&(ut.d(1),ut=null),2&e&&st!==(st=t[1].heap+"")&&_(X,st)},d(t){t&&g(e),t&&g(c),t&&g(i),t&&g(x),t&&g(v),t&&g(O),t&&g(C),t&&g(H),t&&g(P),lt&<.d(),rt&&rt.d(),ot&&ot.d(),ct&&ct.d(),it&&it.d(),at&&at.d(),ut&&ut.d(),t&&g(Y),t&&g(K)}}}function wn(t){let e,n;function s(){return t[6](t[9])}return e=new Tt({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 bn(t){let e,n,s="Количество: "+t[1][t[9]+"n"];return{c(){e=h("p"),n=w(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&&bn(t);return{c(){e=h("p"),n=w(r),s=b(),o&&o.c(),l=b(),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=bn(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]]&&wn(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=wn(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 On extends lt{constructor(t){super(),st(this,t,Sn,qn,r,{color:0,x:1,y:2})}}function Cn(t,e,n){const s=t.slice();return s[106]=e[n],s}function Ln(t){let e,n;return e=new Et({}),{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 Nn(t){let e,n,s,l,r=t[106].name+"";return{c(){e=h("option"),n=w(r),s=b(),e.__value=l=t[106].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[106].name+"")&&_(n,r),32768&s[0]&&l!==(l=t[106].ws)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function Tn(t){let e,n,s,l,r,o,c,i,a,u;return e=new Jt({props:{path:"/",$$slots:{default:[En]},$$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:[Bn]},$$scope:{ctx:t}}}),{c(){tt(e.$$.fragment),n=b(),tt(s.$$.fragment),l=b(),tt(r.$$.fragment),o=b(),tt(c.$$.fragment),i=b(),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]|65536&n[3]&&(l.$$scope={dirty:n,ctx:t}),e.$set(l);const o={};1808&n[0]|65536&n[3]&&(o.$$scope={dirty:n,ctx:t}),s.$set(o);const i={};28704&n[0]|65536&n[3]&&(i.$$scope={dirty:n,ctx:t}),r.$set(i);const u={};294976&n[0]|65536&n[3]&&(u.$$scope={dirty:n,ctx:t}),c.$set(u);const d={};12416&n[0]|65536&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 Tt({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 En(t){let e,n;return e=new pe({props:{show:t[3],layoutJson:t[11],pages:t[2],wsPush:t[34]}}),{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[35]}}),{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[36],ssidClick:t[37],saveSett:t[38],saveMqtt:t[39],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:In,addDevInList:t[40],newDevice:t[18]}}),{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 Bn(t){let e,n;return e=new jn({props:{show:t[7],settingsJson:t[12],errorsJson:t[13],rebootEsp:t[41],cancelAlarm:t[42],version:Dn}}),{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]),4096&n[0]&&(s.settingsJson=t[12]),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 zn(t){let e,n,l,r,o,c,i,a,u,d,$,w,x,k,_,J,q,S,O,C,L,N,T,M,E,H,P,A,B,z,I,R,F,W,U,Y,K,X,st,lt,rt,ot,ct=t[19]&&Ln(),it=t[15],at=[];for(let e=0;e",_=b(),J=h("ul"),q=h("li"),S=h("a"),S.textContent="Управление",O=b(),C=h("li"),L=h("a"),L.textContent="Конфигуратор",N=b(),T=h("li"),M=h("a"),M.textContent="Подключение",E=b(),H=h("li"),P=h("a"),P.textContent="Устройства",A=b(),B=h("li"),z=h("a"),z.textContent="Системные",I=b(),R=h("main"),F=h("ul"),W=h("div"),Y.c(),X=b(),st=h("footer"),st.innerHTML='Developed by Dmitry Borisenko
',y(c,"class","border border-indigo-500 border-4"),void 0===t[17]&&D((()=>t[30].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(w,"id","menu__toggle"),y(w,"type","checkbox"),y(k,"class","menu__btn"),y(k,"for","menu__toggle"),y(S,"class","menu__item"),y(S,"href","/"),y(L,"class","menu__item"),y(L,"href","/config"),y(M,"class","menu__item"),y(M,"href","/connection"),y(P,"class","menu__item"),y(P,"href","/list"),y(z,"class","menu__item"),y(z,"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 Dn=401,In=!1;function Rn(t,e,n){let s;o(t,wt,(t=>n(70,s=t))),wt.mode.hash();let l=!1,r=!1,c=document.location.hostname,i=[],a=!1,u=!1,d=!1,f=!1,p=!1,g=[],m=!1,h=!1,$=[],w=!1,b=!1,x=[],v=!1,y=!1,k=[],_=!1,J=!1,j={},S=!1,O=!1,C={},N=!1,T={},M=!1,E={},H=!1,P=[],A=!1,B=[];B=[{name:"--",id:"--",ip:c,status:!1}];let z,D=[],I=!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,V=new U;function X(){void 0!==R&&pt(R,Y)}function tt(){bt(R);let t=0;B.forEach((e=>{e.ws=t,e.status||(nt(t),lt(t)),t++})),n(15,B)}function et(t,e){B.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,B),bt(R),n(16,I=z.status)}function nt(t){let e=st(t);"error"===e?console.log("[e]","device list wrong"):(D[t]=new WebSocket("ws://"+e+":81"),D.binaryType="blob",console.log("[i]",e,"started connecting..."))}function st(t){let e="error";return B.forEach((n=>{t===n.ws&&(e=n.ip)})),e}function lt(t){if(D[t]){let e=st(t);console.log("[i]",e,"web socket events added"),D[t].addEventListener("open",(function(n){console.log("[i]",e,"completed connecting"),et(t,!0),X()})),D[t].addEventListener("message",(function(t){if("string"==typeof t.data){let o=t.data;if(o.includes("status")&&vt(o)){!function(t){for(let e=0;et.ip))),B=[...s,...l.filter((t=>!r.has(t.ip)))])),n(15,B),ht(),tt(),console.log("✔","incDeviceList json parced"),rt()),o.includes("errors")&&vt(o)&&(n(13,C=JSON.parse(o)),n(13,C),N=!0,console.log("✔","errorsJson json parced"),rt()),"/st/config.json"===o&&(m=!0),"/end/config.json"===o){m=!1;var e=K.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;vt(e)&&(n(8,g=JSON.parse(e)),n(8,g),h=!0,console.log("✔","configJson parced"),rt())}}if("/st/widgets.json"===o&&(w=!0),"/end/widgets.json"===o){w=!1;e=Q.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;vt(e)&&(n(9,$=JSON.parse(e)),n(9,$),b=!0,console.log("✔","widgetsJson parced"),rt())}}if("/st/items.json"===o&&(v=!0),"/end/items.json"===o){v=!1;e=Z.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;vt(e)&&(n(10,x=JSON.parse(e)),n(10,x),y=!0,console.log("✔","itemsJson parced"),rt())}}if("/st/layout.json"===o&&(_=!0),"/end/layout.json"===o){_=!1;e=G.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;vt(e)&&(n(11,k=JSON.parse(e)),n(11,k),mt(),J=!0,console.log("✔","layoutJson parced"),rt())}}if("/st/settings.json"===o&&(S=!0),"/end/settings.json"===o){S=!1;e=V.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;vt(e)&&(n(12,j=JSON.parse(e)),n(12,j),mt(),function(){for(let t=0;t{console.log("[e]",e,"connection closed"),et(t,!1)})),D[t].addEventListener("error",(function(n){console.log("[e]",e,"connection error"),et(t,!1)}))}else console.log("[e]","socket not exist")}function rt(t){"/|"===Y&&J&&H&&(ut(),console.log("✔✔","dashboard data parced"),function(t){for(const[e,s]of Object.entries(t))for(let t=0;t5?pt(R,"/sgnittes|"+JSON.stringify(j)):window.alert("Ошибка"),at(),X()}function it(){var t=Object.keys(j).length;console.log("[i]","settingsJson length: "+t),t>5?pt(R,"/sgnittes|"+JSON.stringify(j)):window.alert("Ошибка"),at(),pt(R,"/mqtt|")}function at(){n(8,g=[]),K.clear(),n(9,$=[]),Q.clear(),n(10,x=[]),Z.clear(),n(11,k=[]),G.clear(),n(12,j={}),V.clear(),n(13,C={}),n(3,a=!1),n(4,u=!1),n(5,d=!1),n(6,f=!1),n(7,p=!1),ut(),console.log("[i]","all app data cleared")}function ut(){h=!1,b=!1,y=!1,J=!1,O=!1,N=!1,M=!1,H=!1,A=!1}function dt(t,e,n){let s=e+" "+n;console.log("[i]","send to ws msg:",s),pt(t,s)}function ft(){setTimeout(ft,2e4),console.log("[i]","----timer tick----"),F||B.forEach((t=>{!function(t){let e=!1;return B.forEach((n=>{t===n.ws&&(e=n.status)})),e}(t.ws)?(nt(t.ws),lt(t.ws)):pt(t.ws,"/tst|")})),F=!1}function pt(t,e){D[t]&&1===D[t].readyState?(D[t].send(e),console.log("[i]",st(t),"msg send success",e)):console.log("[e]",st(t),"msg not send",e)}function gt(){n(2,i=[]);Array.from(new Set(Array.from(k,(({page:t})=>t)))).forEach((function(t,e,s){n(2,i=[...i,JSON.parse(JSON.stringify({page:t}))])})),i.sort((function(t,e){return t.pagee.page?1:0}))}function mt(){gt(),n(11,k)}function ht(){bt(R),n(16,I=z.status)}function $t(){ht(),at(),X(),console.log("[i]","user selected device:",z.name),z.ip===c&&console.log("[i]","user selected original device",z.name)}function bt(t){for(let e=0;e{console.log("[i]","mounted"),tt(),ft(),ht(),gt()}));return[l,r,i,a,u,d,f,p,g,$,x,k,j,C,T,B,I,R,W,_t,ot,ct,it,dt,$t,xt,yt,kt,jt,St,function(){R=q(this),n(17,R),n(15,B)},()=>$t(),function(){l=this.checked,n(0,l)},()=>yt(),(t,e,n)=>dt(t,e,n),()=>ot(),()=>jt(),()=>kt(),()=>ct(),()=>it(),()=>xt(),()=>jt(),t=>St(t)]}return new class extends lt{constructor(t){super(),st(this,t,Rn,zn,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{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||D((()=>{const n=i.map(e).filter(l);a?a.push(...n):s(n),t.$$.on_mount=[]})),u.forEach(D)}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;O(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]&&(T.push(t),B(),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=N("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 z();let t=it(e,l.parent&&l.parent.pattern,l.redirect);return wt.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 z(),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);wt.goto(e,!0)}else t.show()}))}}};return r="tinro",o=l,C().$$.context.set(r,o),L((()=>l.register())),l.router.un=wt.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 N("tinro").meta}var wt=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:bt,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 bt(){return N("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 Ot(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=w(t[0]),r=b(),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 Ct(e){let n,s;return{c(){n=h("h1"),s=w(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 Lt(t){let e,n,s,l,r;const o=[Ct,Ot],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,w=c($,t,t[3],null);return{c(){e=h("div"),s&&s.c(),l=b(),w&&w.c(),y(e,"class","alm")},m(t,s){p(t,e,s),~n&&i[n].m(e,null),f(e,l),w&&w.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),w&&w.p&&(!r||8&c)&&u(w,$,t,t[3],r?a($,t[3],c,null):d(t[3]),null)},i(t){r||(G(s),G(w,t),r=!0)},o(t){V(s),V(w,t),r=!1},d(t){t&&g(e),~n&&i[n].d(),w&&w.d(t)}}}function Nt(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 Tt extends lt{constructor(t){super(),st(this,t,Nt,Lt,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 Et extends lt{constructor(t){super(),st(this,t,null,Mt,r,{})}}function Ht(t){let e,n;return{c(){e=h("h1"),n=w(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=b(),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 Bt extends lt{constructor(t){super(),st(this,t,At,Pt,r,{title:0})}}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,"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 Dt(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 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","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&&zt(e),$="text"==e[0].type&&Dt(e),x="date"==e[0].type&&It(e),v="time"==e[0].type&&Rt(e);return{c(){n=h("div"),s=h("div"),l=h("label"),r=w(d),o=b(),c=h("div"),m&&m.c(),i=b(),$&&$.c(),a=b(),x&&x.c(),u=b(),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=zt(t),m.c(),m.m(c,i)):m&&(m.d(1),m=null),"text"==t[0].type?$?$.p(t,e):($=Dt(t),$.c(),$.m(c,a)):$&&($.d(1),$=null),"date"==t[0].type?x?x.p(t,e):(x=It(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,O,C,L=(e[0].descr?e[0].descr:"")+"";return{c(){n=h("div"),l=h("div"),r=h("label"),o=w(L),c=b(),i=h("div"),a=h("label"),u=h("div"),d=h("input"),$=b(),x=h("div"),k=b(),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),O||(C=[v(d,"change",e[3]),v(d,"change",e[4])],O=!0)},p(t,[e]){1&e&&L!==(L=(t[0].descr?t[0].descr:"")+"")&&_(o,L),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),O=!1,s(C)}}}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=w(x),o=b(),c=h("div"),i=h("label"),a=w(v),u=b(),d=h("label"),m=w(" "),$=w(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 Tt({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=b();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,I((()=>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,I((()=>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,I((()=>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[19]=e[n],s[20]=e,s[21]=n,s}function we(t,e,n){const s=t.slice();return s[22]=e[n][0],s[23]=e[n][1],s[24]=e,s[25]=n,s}function be(t,e,n){const s=t.slice();return s[26]=e[n],s}function xe(t,e,n){const s=t.slice();return s[29]=e[n],s}function ve(e){let n,s;return n=new Tt({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 Bt({props:{$$slots:{default:[Le]},$$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={};119&e[0]|2&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[29].header)},m(t,n){p(t,e,n)},p(t,s){4&s[0]&&n!==(n=t[29].header)&&y(e,"label",n)},d(t){t&&g(e)}}}function _e(t){let e,n,s,l,r=t[29].name+"";return{c(){e=h("option"),n=w(r),s=b(),e.__value=l=t[29].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[29].name+"")&&_(n,r),4&s[0]&&l!==(l=t[29].num)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function Je(t){let e,n,s=t[29].header&&ke(t),l=!t[29].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[29].header?s?s.p(t,r):(s=ke(t),s.c(),s.m(e.parentNode,e)):s&&(s.d(1),s=null),t[29].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[26].label+"";return{c(){e=h("option"),n=w(r),s=b(),e.__value=l=t[26].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[26].label+"")&&_(n,r),2&s[0]&&l!==(l=t[26].name)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function qe(t){let e,n=Object.entries(t[19]),s=[];for(let e=0;eV(O[t],1,1,(()=>{O[t]=null}));return{c(){e=h("div"),n=h("select");for(let t=0;tТип | \n Id | \n Виджет | \n Вкладка | \n Название | \n | \n | ',u=b(),d=h("tbody");for(let t=0;tt[9].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(w,"class","btn-lg")},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 Te(t,e,n){let{configJson:s}=e,{widgetsJson:l}=e,{itemsJson:r}=e,{show:o}=e,c=0,{saveConfig:i=(()=>{})}=e,a=!0;function u(){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)},[s,l,r,o,i,c,a,u,d,function(){c=q(this),n(5,c),n(2,r)},()=>u(),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(6,a=!a),t=>d(t),function(t,e,r){e[r][t]=this.value,n(0,s),n(1,l)},()=>i()]}class Me extends lt{constructor(t){super(),st(this,t,Te,Ne,r,{configJson:0,widgetsJson:1,itemsJson:2,show:3,saveConfig:4},null,[-1,-1])}}function Ee(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 Tt({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 Bt({props:{title:"Подключение к WiFi",$$slots:{default:[ze]},$$scope:{ctx:t}}}),l=new Bt({props:{title:"Подключение к MQTT",$$slots:{default:[We]},$$scope:{ctx:t}}}),c=new Bt({props:{$$slots:{default:[Ue]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=b(),tt(l.$$.fragment),r=b(),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=w(r),s=b(),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 Be(t){let e,n,s;return n=new Tt({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 ze(t){let e,n,l,r,o,c,i,a,u,d,$,w,x,k,_,q,S,O,C,L,N,T,M,E,H,P,A,B,z,I,R,F,W,U,Y,K=Object.entries(t[2]),X=[];for(let e=0;eНазвание устройства',l=b(),r=h("div"),o=h("input"),c=b(),i=h("div"),a=h("div"),a.innerHTML='Точка доступа
',u=b(),d=h("div"),$=h("input"),w=b(),x=h("div"),k=h("div"),k.innerHTML='Пароль точки доступа
',_=b(),q=h("div"),S=h("input"),O=b(),C=h("div"),L=h("div"),L.innerHTML='Название wifi сети
',N=b(),T=h("div"),M=h("select");for(let t=0;tПароль',A=b(),B=h("div"),z=h("input"),I=b(),tt&&tt.c(),R=b(),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(L,"class","w-4/6"),y(M,"class","ipt-rnd text-left focus:border-indigo-500"),void 0===t[0].routerssid&&D((()=>t[11].call(M))),y(T,"class","flex justify-end w-3/6"),y(C,"class","crd-itm-psn"),y(P,"class","w-4/6"),y(z,"class","ipt-rnd text-left focus:border-indigo-500"),y(z,"type","text"),y(B,"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,w,g),p(s,x,g),f(x,k),f(x,_),f(x,q),f(q,S),J(S,t[0].appass),p(s,O,g),p(s,C,g),f(C,L),f(C,N),f(C,T),f(T,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(w),t&&g(x),t&&g(O),t&&g(C),m(X,t),t&&g(E),t&&g(H),t&&g(I),tt&&tt.d(t),t&&g(R),t&&g(F),U=!1,s(Y)}}}function De(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 Ie(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,$,w,x,k,_,j,q,S,O,C,L,N,T,M,E,H,P,A,B,z,D,I,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?Ie:De}let Q=K(t),Z=Q(t);return{c(){e=h("div"),n=h("div"),n.innerHTML='Состояние подключения
',l=b(),r=h("div"),Z.c(),o=b(),c=h("div"),i=h("div"),i.innerHTML='Название сервера
',a=b(),u=h("div"),d=h("input"),m=b(),$=h("div"),w=h("div"),w.innerHTML='Порт
',x=b(),k=h("div"),_=h("input"),j=b(),q=h("div"),S=h("div"),S.innerHTML='Префикс
',O=b(),C=h("div"),L=h("input"),N=b(),T=h("div"),M=h("div"),M.innerHTML='Имя пользователя
',E=b(),H=h("div"),P=h("input"),A=b(),B=h("div"),z=h("div"),z.innerHTML='Пароль
',D=b(),I=h("div"),R=h("input"),F=b(),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(w,"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(L,"class","ipt-rnd text-left focus:border-indigo-500"),y(L,"type","text"),y(C,"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(T,"class","crd-itm-psn"),y(z,"class","w-4/6"),y(R,"class","ipt-rnd text-left focus:border-indigo-500"),y(R,"type","text"),y(I,"class","flex justify-end w-3/6"),y(B,"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($,w),f($,x),f($,k),f(k,_),J(_,t[0].mqttPort),p(s,j,g),p(s,q,g),f(q,S),f(q,O),f(q,C),f(C,L),J(L,t[0].mqttPrefix),p(s,N,g),p(s,T,g),f(T,M),f(T,E),f(T,H),f(H,P),J(P,t[0].mqttUser),p(s,A,g),p(s,B,g),f(B,z),f(B,D),f(B,I),f(I,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(L,"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&&L.value!==t[0].mqttPrefix&&J(L,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(N),t&&g(T),t&&g(A),t&&g(B),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[11]=e[n],s[13]=n,s}function Ge(e){let n,s;return n=new Tt({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 Bt({props:{title:"Список устройств",$$slots:{default:[en]},$$scope:{ctx:t}}}),l=new Tt({props:{$$slots:{default:[nn]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=b(),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={};16407&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const r={};16384&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[11].name+"",O=t[11].ip+"",C=t[11].id+"",L=t[11].status?"online":"offline";return j=new St({props:{click:function(){return t[6](t[13])}}}),{c(){e=h("tr"),n=h("td"),s=w(S),l=b(),r=h("td"),o=h("a"),c=w(O),a=b(),u=h("td"),d=w(C),m=b(),$=h("td"),x=w(L),k=b(),J=h("td"),tt(j.$$.fragment),y(n,"class","tbl-bdy-lg ipt-lg w-full"),y(o,"href",i="http://"+t[11].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[11].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[11].name+"")&&_(s,S),(!q||1&n)&&O!==(O=t[11].ip+"")&&_(c,O),(!q||1&n&&i!==(i="http://"+t[11].ip))&&y(o,"href",i),(!q||1&n)&&C!==(C=t[11].id+"")&&_(d,C),(!q||1&n)&&L!==(L=t[11].status?"online":"offline")&&_(x,L),(!q||1&n&&v!==(v="tbl-bdy-lg ipt-lg w-full "+(t[11].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,$,w;return{c(){e=h("tr"),n=h("td"),l=h("input"),r=b(),o=h("td"),c=h("input"),i=b(),a=h("td"),u=h("input"),d=b(),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),$||(w=[v(l,"input",t[7]),v(c,"input",t[8]),v(u,"input",t[9])],$=!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(w)}}}function en(t){let e,n,s,l,r,o,c,i,a,u,d,$=t[1]?"Сохранить":"Добавить устройство",x=t[0],k=[];for(let e=0;eV(k[t],1,1,(()=>{k[t]=null}));let j=t[1]&&tn(t);return{c(){e=h("table"),n=h("thead"),n.innerHTML='| Название устройства | \n IP адрес | \n Идентификатор | \n Состояние | \n |
',s=b(),l=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;function i(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)},[l,r,o,s,c,i,t=>i(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())]}class rn extends lt{constructor(t){super(),st(this,t,ln,sn,r,{show:3,deviceList:0,showInput:1,newDevice:2,addDevInList:4})}}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 Tt({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 Bt({props:{title:"Системная информация",$$slots:{default:[$n]},$$scope:{ctx:t}}}),l=new Bt({props:{title:"Системные ошибки",$$slots:{default:[yn]},$$scope:{ctx:t}}}),c=new Bt({props:{$$slots:{default:[kn]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=b(),tt(l.$$.fragment),r=b(),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,O,C,L,N,T,M,E,H,P,A,B,z,D,I,R,F,W,U,Y,K,Q,Z,G,V,X,tt=t[1].bver+"",et=t[1].upt+"",nt=t[1].uptm+"",st=t[1].heap+"",lt=0===t[1].rssi&&un(),rt=1===t[1].rssi&&dn(),ot=2===t[1].rssi&&fn(),ct=3===t[1].rssi&&pn(),it=4===t[1].rssi&&gn(),at=5===t[1].rssi&&mn(),ut=6===t[1].rssi&&hn();return{c(){e=h("div"),n=h("div"),n.innerHTML='Версия прошивки
',s=b(),l=h("div"),r=h("p"),o=w(tt),c=b(),i=h("div"),a=h("div"),a.innerHTML='Версия файловой системы
',u=b(),d=h("div"),m=h("p"),$=w(t[0]),x=b(),v=h("div"),k=h("div"),k.innerHTML='Uptime устройства
',J=b(),j=h("div"),q=h("p"),S=w(et),O=b(),C=h("div"),L=h("div"),L.innerHTML='Uptime сессии mqtt
',N=b(),T=h("div"),M=h("p"),E=w(nt),H=b(),P=h("div"),A=h("div"),A.innerHTML='Качество WiFi сигнала
',B=b(),z=h("div"),lt&<.c(),D=b(),rt&&rt.c(),I=b(),ot&&ot.c(),R=b(),ct&&ct.c(),F=b(),it&&it.c(),W=b(),at&&at.c(),U=b(),ut&&ut.c(),Y=b(),K=h("div"),Q=h("div"),Q.innerHTML='Остаток оперативной памяти
',Z=b(),G=h("div"),V=h("p"),X=w(st),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(L,"class","w-3/4"),y(M,"class","text-gray-500 font-bold"),y(T,"class","flex justify-center w-1/4"),y(C,"class","crd-itm-psn"),y(A,"class","w-3/4"),y(z,"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(P,"class","crd-itm-psn"),y(Q,"class","w-3/4"),y(V,"class","text-green-500 font-bold"),y(G,"class","flex justify-center w-1/4"),y(K,"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,O,g),p(t,C,g),f(C,L),f(C,N),f(C,T),f(T,M),f(M,E),p(t,H,g),p(t,P,g),f(P,A),f(P,B),f(P,z),lt&<.m(z,null),f(z,D),rt&&rt.m(z,null),f(z,I),ot&&ot.m(z,null),f(z,R),ct&&ct.m(z,null),f(z,F),it&&it.m(z,null),f(z,W),at&&at.m(z,null),f(z,U),ut&&ut.m(z,null),p(t,Y,g),p(t,K,g),f(K,Q),f(K,Z),f(K,G),f(G,V),f(V,X)},p(t,e){2&e&&tt!==(tt=t[1].bver+"")&&_(o,tt),1&e&&_($,t[0]),2&e&&et!==(et=t[1].upt+"")&&_(S,et),2&e&&nt!==(nt=t[1].uptm+"")&&_(E,nt),0===t[1].rssi?lt||(lt=un(),lt.c(),lt.m(z,D)):lt&&(lt.d(1),lt=null),1===t[1].rssi?rt||(rt=dn(),rt.c(),rt.m(z,I)):rt&&(rt.d(1),rt=null),2===t[1].rssi?ot||(ot=fn(),ot.c(),ot.m(z,R)):ot&&(ot.d(1),ot=null),3===t[1].rssi?ct||(ct=pn(),ct.c(),ct.m(z,F)):ct&&(ct.d(1),ct=null),4===t[1].rssi?it||(it=gn(),it.c(),it.m(z,W)):it&&(it.d(1),it=null),5===t[1].rssi?at||(at=mn(),at.c(),at.m(z,U)):at&&(at.d(1),at=null),6===t[1].rssi?ut||(ut=hn(),ut.c(),ut.m(z,null)):ut&&(ut.d(1),ut=null),2&e&&st!==(st=t[1].heap+"")&&_(X,st)},d(t){t&&g(e),t&&g(c),t&&g(i),t&&g(x),t&&g(v),t&&g(O),t&&g(C),t&&g(H),t&&g(P),lt&<.d(),rt&&rt.d(),ot&&ot.d(),ct&&ct.d(),it&&it.d(),at&&at.d(),ut&&ut.d(),t&&g(Y),t&&g(K)}}}function wn(t){let e,n;function s(){return t[6](t[9])}return e=new Tt({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 bn(t){let e,n,s="Количество: "+t[1][t[9]+"n"];return{c(){e=h("p"),n=w(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&&bn(t);return{c(){e=h("p"),n=w(r),s=b(),o&&o.c(),l=b(),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=bn(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]]&&wn(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=wn(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 On extends lt{constructor(t){super(),st(this,t,Sn,qn,r,{color:0,x:1,y:2})}}function Cn(t,e,n){const s=t.slice();return s[107]=e[n],s}function Ln(t){let e,n;return e=new Et({}),{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 Nn(t){let e,n,s,l,r=t[107].name+"";return{c(){e=h("option"),n=w(r),s=b(),e.__value=l=t[107].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[107].name+"")&&_(n,r),32768&s[0]&&l!==(l=t[107].ws)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function Tn(t){let e,n,s,l,r,o,c,i,a,u;return e=new Jt({props:{path:"/",$$slots:{default:[En]},$$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:[Bn]},$$scope:{ctx:t}}}),{c(){tt(e.$$.fragment),n=b(),tt(s.$$.fragment),l=b(),tt(r.$$.fragment),o=b(),tt(c.$$.fragment),i=b(),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]|131072&n[3]&&(l.$$scope={dirty:n,ctx:t}),e.$set(l);const o={};1808&n[0]|131072&n[3]&&(o.$$scope={dirty:n,ctx:t}),s.$set(o);const i={};28704&n[0]|131072&n[3]&&(i.$$scope={dirty:n,ctx:t}),r.$set(i);const u={};294976&n[0]|131072&n[3]&&(u.$$scope={dirty:n,ctx:t}),c.$set(u);const d={};12416&n[0]|131072&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 Tt({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 En(t){let e,n;return e=new pe({props:{show:t[3],layoutJson:t[11],pages:t[2],wsPush:t[34]}}),{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[35]}}),{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[36],ssidClick:t[37],saveSett:t[38],saveMqtt:t[39],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:In,addDevInList:t[40],newDevice:t[18]}}),{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 Bn(t){let e,n;return e=new jn({props:{show:t[7],settingsJson:t[12],errorsJson:t[13],rebootEsp:t[41],cancelAlarm:t[42],version:Dn}}),{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]),4096&n[0]&&(s.settingsJson=t[12]),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 zn(t){let e,n,l,r,o,c,i,a,u,d,$,w,x,k,_,J,q,S,O,C,L,N,T,M,E,H,P,A,B,z,I,R,F,W,U,Y,K,X,st,lt,rt,ot,ct=t[19]&&Ln(),it=t[15],at=[];for(let e=0;e",_=b(),J=h("ul"),q=h("li"),S=h("a"),S.textContent="Управление",O=b(),C=h("li"),L=h("a"),L.textContent="Конфигуратор",N=b(),T=h("li"),M=h("a"),M.textContent="Подключение",E=b(),H=h("li"),P=h("a"),P.textContent="Устройства",A=b(),B=h("li"),z=h("a"),z.textContent="Системные",I=b(),R=h("main"),F=h("ul"),W=h("div"),Y.c(),X=b(),st=h("footer"),st.innerHTML='Developed by Dmitry Borisenko
',y(c,"class","border border-indigo-500 border-4"),void 0===t[17]&&D((()=>t[30].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(w,"id","menu__toggle"),y(w,"type","checkbox"),y(k,"class","menu__btn"),y(k,"for","menu__toggle"),y(S,"class","menu__item"),y(S,"href","/"),y(L,"class","menu__item"),y(L,"href","/config"),y(M,"class","menu__item"),y(M,"href","/connection"),y(P,"class","menu__item"),y(P,"href","/list"),y(z,"class","menu__item"),y(z,"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 Dn=401,In=!1;function Rn(t,e,n){let s;o(t,wt,(t=>n(71,s=t))),wt.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,w=[],b=!1,x=!1,v=[],y=!1,k=!1,_=[],J=!1,j=!1,S={},O=!1,C=!1,N={},T=!1,M={},E=!1,H={},P=!1,A=[],B=!1,z=[];z=[{name:"--",id:"--",ip:c,ws:0,status:!1}];let D,I=[],R=!1,F=0,W=!0,U={};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,Z=new Y,G=new Y,V=new Y,X=new Y;function tt(){void 0!==F&>(F,K)}function et(){xt(F);let t=0;z.forEach((e=>{e.ws=t,e.status||(st(t),rt(t)),t++})),n(15,z)}function nt(t,e){z.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,z),xt(F),n(16,R=D.status)}function st(t){let e=lt(t);"error"===e?console.log("[e]","device list wrong"):(I[t]=new WebSocket("ws://"+e+":81"),I.binaryType="blob",console.log("[i]",e,"started connecting..."))}function lt(t){let e="error";return z.forEach((n=>{t===n.ws&&(e=n.ip)})),e}function rt(t){if(I[t]){let e=lt(t);console.log("[i]",e,"web socket events added"),I[t].addEventListener("open",(function(n){console.log("[i]",e,"completed connecting"),nt(t,!0),i&>(0,"/list|"),tt()})),I[t].addEventListener("message",(function(t){if("string"==typeof t.data){let o=t.data;if(o.includes("devicelist")&&yt(o)&&(A=JSON.parse(o),A=A,B=!0,console.log("✔","incDeviceList json parced"),ot(),i?(n(15,z=A),n(15,z[0].status=!0,z)):n(15,(s=z,l=A,r=new Set(s.map((t=>t.ip))),z=[...s,...l.filter((t=>!r.has(t.ip)))])),i=!1,n(15,z),$t(),et()),o.includes("status")&&yt(o)){!function(t){for(let e=0;e<_.length;e++){if(_[e].topic===t.topic){n(11,_[e].status=t.status,_);break}}}(JSON.parse(o)),ht(),console.log("✔","statusJson parced"),ot()}if(o.includes("params")&&yt(o)&&(H=JSON.parse(o),console.log("✔","paramsJson parced"),P=!0,ot()),o.includes("ssid")&&yt(o)&&(n(14,M=JSON.parse(o)),n(14,M),console.log("✔","ssidJson parced"),E=!0,ot()),o.includes("errors")&&yt(o)&&(n(13,N=JSON.parse(o)),n(13,N),T=!0,console.log("✔","errorsJson json parced"),ot()),"/st/config.json"===o&&(h=!0),"/end/config.json"===o){h=!1;var e=Q.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;yt(e)&&(n(8,m=JSON.parse(e)),n(8,m),$=!0,console.log("✔","configJson parced"),ot())}}if("/st/widgets.json"===o&&(b=!0),"/end/widgets.json"===o){b=!1;e=Z.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;yt(e)&&(n(9,w=JSON.parse(e)),n(9,w),x=!0,console.log("✔","widgetsJson parced"),ot())}}if("/st/items.json"===o&&(y=!0),"/end/items.json"===o){y=!1;e=G.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;yt(e)&&(n(10,v=JSON.parse(e)),n(10,v),k=!0,console.log("✔","itemsJson parced"),ot())}}if("/st/layout.json"===o&&(J=!0),"/end/layout.json"===o){J=!1;e=V.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;yt(e)&&(n(11,_=JSON.parse(e)),n(11,_),ht(),j=!0,console.log("✔","layoutJson parced"),ot())}}if("/st/settings.json"===o&&(O=!0),"/end/settings.json"===o){O=!1;e=X.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;yt(e)&&(n(12,S=JSON.parse(e)),n(12,S),ht(),C=!0,console.log("✔","settingsJson parced"),ot())}}}var s,l,r;t.data instanceof Blob&&(h&&Q.append(t.data),b&&Z.append(t.data),y&&G.append(t.data),J&&V.append(t.data),O&&X.append(t.data))})),I[t].addEventListener("close",(n=>{console.log("[e]",e,"connection closed"),nt(t,!1)})),I[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&&j&&P&&(dt(),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}}}(H),ht(),n(3,u=!0)),"/config|"===K&&k&&x&&$&&C&&(dt(),console.log("✔✔","config data parced"),n(4,d=!0)),"/connection|"===K&&E&&C&&T&&(dt(),console.log("✔✔","connection data parced"),n(5,f=!0)),"/list|"===K&&B&&(dt(),console.log("✔✔","list data parced"),n(6,p=!0)),"/system|"===K&&T&&(dt(),console.log("✔✔","system data parced"),n(7,g=!0))}function ct(){gt(F,"/tuoyal|"+JSON.stringify(function(){let t=[];for(let e=0;e5?gt(F,"/sgnittes|"+JSON.stringify(S)):window.alert("Ошибка"),ut(),tt()}function at(){var t=Object.keys(S).length;console.log("[i]","settingsJson length: "+t),t>5?gt(F,"/sgnittes|"+JSON.stringify(S)):window.alert("Ошибка"),ut(),gt(F,"/mqtt|")}function ut(){n(8,m=[]),Q.clear(),n(9,w=[]),Z.clear(),n(10,v=[]),G.clear(),n(11,_=[]),V.clear(),n(12,S={}),X.clear(),n(13,N={}),n(3,u=!1),n(4,d=!1),n(5,f=!1),n(6,p=!1),n(7,g=!1),dt(),console.log("[i]","all app data cleared")}function dt(){$=!1,x=!1,k=!1,j=!1,C=!1,T=!1,E=!1,P=!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||z.forEach((t=>{!function(t){let e=!1;return z.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){I[t]&&1===I[t].readyState?(I[t].send(e),console.log("[i]",lt(t),"msg send success",e)):console.log("[e]",lt(t),"msg not send",e)}function mt(){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 ht(){mt(),n(11,_)}function $t(){xt(F),n(16,R=D.status)}function bt(){$t(),ut(),tt(),console.log("[i]","user selected device:",D.name),D.ip===c&&console.log("[i]","user selected original device",D.name)}function xt(t){for(let e=0;e{console.log("[i]","mounted"),$t(),i=!0,et(),pt(),mt()}));return[l,r,a,u,d,f,p,g,m,w,v,_,S,N,M,z,R,F,U,Jt,ct,it,at,ft,bt,vt,kt,_t,qt,Ot,function(){F=q(this),n(17,F),n(15,z)},()=>bt(),function(){l=this.checked,n(0,l)},()=>kt(),(t,e,n)=>ft(t,e,n),()=>ct(),()=>qt(),()=>_t(),()=>it(),()=>at(),()=>vt(),()=>qt(),t=>Ot(t)]}return new class extends lt{constructor(t){super(),st(this,t,Rn,zn,r,{},null,[-1,-1,-1,-1])}}({target:document.body,props:{name:"world"}})}();
//# sourceMappingURL=bundle.js.map
diff --git a/include/Const.h b/include/Const.h
index 8a243a00..a10063fe 100644
--- a/include/Const.h
+++ b/include/Const.h
@@ -1,7 +1,7 @@
#pragma once
//Это версия прошивки
-#define FIRMWARE_VERSION 401
+#define FIRMWARE_VERSION 402
//Размер буфера json
#define JSON_BUFFER_SIZE 1024
diff --git a/include/DeviceList.h b/include/DeviceList.h
index b51c4c9d..afd15b9d 100644
--- a/include/DeviceList.h
+++ b/include/DeviceList.h
@@ -3,9 +3,11 @@
#include "ESPAsyncUDP.h"
extern AsyncUDP asyncUdp;
+extern const String getThisDevice();
extern void addThisDeviceToList();
extern void asyncUdpInit();
extern String uint8tToString(uint8_t* data, size_t len);
extern bool udpPacketValidation(String& data);
extern void udpPacketParse(String& data);
-extern void jsonMergeArrays(String& arr1, String& arr2);
\ No newline at end of file
+extern void jsonMergeArrays(String& arr1, String& arr2);
+extern void jsonMergeArrays2(String& arr1, String& arr2);
\ No newline at end of file
diff --git a/include/WsServer.h b/include/WsServer.h
index d830b991..ed4788fe 100644
--- a/include/WsServer.h
+++ b/include/WsServer.h
@@ -1,6 +1,7 @@
#pragma once
#include "Global.h"
#include "Utils/WiFiUtils.h"
+#include "DeviceList.h"
#ifdef STANDARD_WEB_SOCKETS
extern void standWebSocketsInit();
diff --git a/src/DeviceList.cpp b/src/DeviceList.cpp
index e00bc02e..411b90fb 100644
--- a/src/DeviceList.cpp
+++ b/src/DeviceList.cpp
@@ -1,21 +1,17 @@
#include "DeviceList.h"
+const String getThisDevice() {
+ String thisDevice;
+ jsonWriteStr_(thisDevice, F("devicelist"), ""); //метка для парсинга
+ jsonWriteStr_(thisDevice, F("ip"), jsonReadStr(settingsFlashJson, F("ip")));
+ jsonWriteStr_(thisDevice, F("id"), jsonReadStr(settingsFlashJson, F("id")));
+ jsonWriteStr_(thisDevice, F("name"), jsonReadStr(settingsFlashJson, F("name")));
+ thisDevice = "[" + thisDevice + "]";
+ return thisDevice;
+}
+
void addThisDeviceToList() {
- jsonWriteStr_(devListHeapJson, F("devicelist"), ""); //метка для парсинга
- jsonWriteStr_(devListHeapJson, F("ip"), jsonReadStr(settingsFlashJson, F("ip")));
- jsonWriteStr_(devListHeapJson, F("id"), jsonReadStr(settingsFlashJson, F("id")));
- jsonWriteStr_(devListHeapJson, F("name"), jsonReadStr(settingsFlashJson, F("name")));
-
- // для проверки
- // devListHeapJson = devListHeapJson + ",";
- // String test;
- // jsonWriteStr_(test, "ip", "192.168.88.88");
- // jsonWriteStr_(test, "id", "123456789");
- // jsonWriteStr_(test, "name", "test");
- // devListHeapJson = devListHeapJson + test;
-
- devListHeapJson = "[" + devListHeapJson + "]";
- Serial.println(devListHeapJson);
+ devListHeapJson = getThisDevice();
}
#ifdef UDP_ENABLED
@@ -38,19 +34,16 @@ void asyncUdpInit() {
// Serial.print(packet.length());
// Serial.print(", Data: ");
// Serial.write(packet.data(), packet.length());
-
String data = uint8tToString(packet.data(), packet.length());
- SerialPrint("i", F("UDP"), "Udp packet received, IP: " + packet.remoteIP().toString() + ":" + String(packet.remotePort()));
- Serial.println(data);
-
+ // Serial.println(data);
if (udpPacketValidation(data)) {
- SerialPrint("i", F("UDP"), F("Device presentation received"));
- jsonMergeArrays(devListHeapJson, data);
- Serial.println(devListHeapJson);
+ SerialPrint("i", F("UDP"), "Udp packet received, IP: " + packet.remoteIP().toString() + ":" + String(packet.remotePort()));
+ // Serial.println(data);
+ jsonMergeArrays2(devListHeapJson, data);
+ // Serial.println(devListHeapJson);
} else {
SerialPrint("E", F("UDP"), F("Udp packet invalid"));
}
-
// reply to the client
// String ip = WiFi.localIP().toString();
// asyncUdp.broadcastTo(ip.c_str(), packet.remotePort());
@@ -62,7 +55,7 @@ void asyncUdpInit() {
ts.add(
UDP, 10000, [&](void*) {
SerialPrint("i", F("UDP"), F("Broadcast device presentation"));
- asyncUdp.broadcastTo(devListHeapJson.c_str(), 4210);
+ asyncUdp.broadcastTo(getThisDevice().c_str(), 4210);
// asyncUdp.broadcast("test");
// asyncUdp.print("Hello Server!");
},
@@ -90,11 +83,11 @@ void jsonMergeArrays(String& arr1, String& arr2) {
arr2.replace("]", "");
String incIP = jsonReadStr(arr2, "ip");
- Serial.println("incIP " + incIP);
+ // Serial.println("incIP " + incIP);
bool ipExistInList = false;
for (JsonVariant value : jarr) {
String locIP = value["ip"].as();
- Serial.println("locIP " + locIP);
+ // Serial.println("locIP " + locIP);
if (locIP == incIP) {
ipExistInList = true;
break;
@@ -108,6 +101,34 @@ void jsonMergeArrays(String& arr1, String& arr2) {
}
}
+void jsonMergeArrays2(String& arr1, String& arr2) {
+ DynamicJsonDocument doc(1024);
+ DeserializationError error = deserializeJson(doc, arr1);
+ if (error) {
+ SerialPrint("E", F("UDP"), error.f_str());
+ }
+ JsonArray jarr = doc.as();
+ arr2.replace("[", "");
+ arr2.replace("]", "");
+ String incIP = jsonReadStr(arr2, "ip");
+ String outArr = "[";
+ bool ipExistInList = false;
+ for (JsonVariant value : jarr) {
+ String locIP = value["ip"].as();
+ if (locIP == incIP) {
+ outArr += "," + arr2;
+ ipExistInList = true;
+ } else {
+ outArr += value.as();
+ }
+ }
+ if (!ipExistInList) {
+ outArr += "," + arr2;
+ }
+ outArr = outArr + "]";
+ arr1 = outArr;
+}
+
// void udpPacketParse(String& data) {
// if (data.indexOf("scen:") != -1) {
// data = deleteBeforeDelimiter(data, ":");
diff --git a/src/StandWebServer.cpp b/src/StandWebServer.cpp
index aa42a739..d398a98a 100644
--- a/src/StandWebServer.cpp
+++ b/src/StandWebServer.cpp
@@ -9,15 +9,19 @@ void standWebServerInit() {
HTTP.serveStatic("/js/", FileFS, "/js/", "max-age=31536000"); // кеширование на 1 год
HTTP.serveStatic("/png/", FileFS, "/png/", "max-age=31536000"); // кеширование на 1 год
- HTTP.on("/settingsh.json", HTTP_GET, []() {
+ HTTP.on("/devicelist.json", HTTP_GET, []() {
+ HTTP.send(200, "application/json", devListHeapJson);
+ });
+
+ HTTP.on("/settings.h.json", HTTP_GET, []() {
HTTP.send(200, "application/json", settingsFlashJson);
});
- HTTP.on("/settingsf.json", HTTP_GET, []() {
+ HTTP.on("/settings.f.json", HTTP_GET, []() {
HTTP.send(200, "application/json", readFile(F("settings.json"), 20000));
});
- HTTP.on("/paramsh.json", HTTP_GET, []() {
+ HTTP.on("/params.json", HTTP_GET, []() {
HTTP.send(200, "application/json", paramsHeapJson);
});
diff --git a/src/WsServer.cpp b/src/WsServer.cpp
index 4a408d94..1038e690 100644
--- a/src/WsServer.cpp
+++ b/src/WsServer.cpp
@@ -86,6 +86,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
writeFileUint8tByFrames("settings.json", payload, length, headerLenth, 256);
writeUint8tToString(payload, length, headerLenth, settingsFlashJson);
standWebSocket.sendTXT(num, errorsHeapJson);
+ addThisDeviceToList();
// settingsFlashJson = readFile(F("settings.json"), 4096);
}
//**отправка**//