diff --git a/data_svelte/build/bundle.css b/data_svelte/build/bundle.css index fdb2336d..4ff0a630 100644 --- a/data_svelte/build/bundle.css +++ b/data_svelte/build/bundle.css @@ -11,7 +11,7 @@ Consolas, 'Liberation Mono', Menlo, - monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.grd-1col1{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center}.grd-2col1{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center;gap:1rem}@media(min-width: 640px){.grd-2col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.grd-2col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1280px){.grd-2col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1536px){.grd-2col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}.grd-2col2{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));justify-items:center;gap:1rem}.grd-3col1{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center;gap:1rem}@media(min-width: 640px){.grd-3col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.grd-3col1{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1280px){.grd-3col1{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1536px){.grd-3col1{grid-template-columns:repeat(3, minmax(0, 1fr))}}.crd-itm-psn{margin-bottom:0.75rem;display:flex;height:2rem;align-items:center}.wgt-dscr-stl{padding-right:1rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.wgt-adt-stl{text-align:center;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.tbl{margin-top:0.5rem;margin-bottom:0.5rem;width:100%;table-layout:fixed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tbl-hd{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem;text-align:center;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.tbl-bdy-lg{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem;text-align:center}.tbl-bdy-sm{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem}.ipt-lg{margin-top:0.5rem;height:1rem;align-content:center;border-width:2px;--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.ipt-lg:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.ipt-lg{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.ipt-lg:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ipt-lg{text-align:center;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.ipt-lg:focus{outline:2px solid transparent;outline-offset:2px}@media(min-width: 640px){.ipt-lg{height:1.75rem}}@media(min-width: 768px){.ipt-lg{height:1.75rem}}@media(min-width: 1024px){.ipt-lg{height:1.75rem}}@media(min-width: 1280px){.ipt-lg{height:1.75rem}}@media(min-width: 1536px){.ipt-lg{height:1.75rem}}.ipt-sm{height:0.75rem;align-content:center;border-radius:0.125rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.ipt-sm:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.ipt-sm{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.ipt-sm:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ipt-sm{text-align:center;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.ipt-sm:focus{outline:2px solid transparent;outline-offset:2px}@media(min-width: 640px){.ipt-sm{height:1.5rem}}@media(min-width: 768px){.ipt-sm{height:1.5rem}}@media(min-width: 1024px){.ipt-sm{height:1.5rem}}@media(min-width: 1280px){.ipt-sm{height:1.5rem}}@media(min-width: 1536px){.ipt-sm{height:1.5rem}}.ipt-rnd{height:2rem;width:100%;align-content:center;border-radius:0.25rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.ipt-rnd:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ipt-rnd{padding-left:0.5rem;padding-right:0.5rem;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.ipt-rnd:focus{outline:2px solid transparent;outline-offset:2px}.ipt-big{height:2rem;width:100%;align-content:center;border-radius:0.25rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.ipt-big:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.ipt-big{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.ipt-big:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ipt-big{padding-left:0.5rem;padding-right:0.5rem;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.ipt-big:focus{outline:2px solid transparent;outline-offset:2px}.txt-ita{display:inline-block;text-align:right;vertical-align:top;font-style:italic;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.txt-pad{padding-left:0.5rem;padding-right:0.5rem;padding-top:0px;padding-bottom:0px}@media(min-width: 640px){.txt-pad{padding-top:0px;padding-bottom:0px}}@media(min-width: 768px){.txt-pad{padding-top:0px;padding-bottom:0px}}@media(min-width: 1024px){.txt-pad{padding-top:0.25rem;padding-bottom:0.25rem}}@media(min-width: 1280px){.txt-pad{padding-top:0.5rem;padding-bottom:0.5rem}}@media(min-width: 1536px){.txt-pad{padding-top:0.5rem;padding-bottom:0.5rem}}.txt-sz{font-size:.5rem}@media(min-width: 640px){.txt-sz{font-size:1rem}}@media(min-width: 768px){.txt-sz{font-size:1rem}}@media(min-width: 1024px){.txt-sz{font-size:1rem}}@media(min-width: 1280px){.txt-sz{font-size:1rem}}@media(min-width: 1536px){.txt-sz{font-size:1rem}}.btn-lg{margin-top:0px;display:flex;height:1.5rem;width:100%;align-content:center;justify-content:center;overflow-wrap:break-word;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.btn-lg:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.btn-lg{font-size:.875rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}@media(min-width: 640px){.btn-lg{height:2rem;font-size:1rem}}@media(min-width: 768px){.btn-lg{height:2rem;font-size:1rem}}@media(min-width: 1024px){.btn-lg{height:2rem;font-size:1rem}}@media(min-width: 1280px){.btn-lg{height:2rem;font-size:1rem}}@media(min-width: 1536px){.btn-lg{height:2rem;font-size:1rem}}.slct-lg{margin-bottom:0px;display:flex;height:1.5rem;width:100%;align-content:center;justify-content:center;overflow-wrap:break-word;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.slct-lg:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.slct-lg{font-size:.875rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}@media(min-width: 640px){.slct-lg{height:2rem;font-size:1rem}}@media(min-width: 768px){.slct-lg{height:2rem;font-size:1rem}}@media(min-width: 1024px){.slct-lg{height:2rem;font-size:1rem}}@media(min-width: 1280px){.slct-lg{height:2rem;font-size:1rem}}@media(min-width: 1536px){.slct-lg{height:2rem;font-size:1rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-1{top:0.25rem}.left-1{left:0.25rem}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mt-0{margin-top:0px}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mb-0{margin-bottom:0px}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.ml-0{margin-left:0px}.ml-36{margin-left:9rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-3{height:0.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-20{width:5rem}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-1\/12{width:8.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.flex-1{flex:1 1 0%}.table-fixed{table-layout:fixed}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.break-words{overflow-wrap:break-word}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239, 68, 68, var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgba(96, 165, 250, var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243, 244, 246, var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229, 231, 235, var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107, 114, 128, var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75, 85, 99, var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254, 242, 242, var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgba(248, 113, 113, var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220, 38, 38, var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255, 251, 235, var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236, 253, 245, var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99, 102, 241, var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185, 28, 28, var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67, 56, 202, var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-cover{background-size:cover}.p-0{padding:0px}.p-2{padding:0.5rem}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.pt-0{padding-top:0px}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pb-20{padding-bottom:5rem}.pl-4{padding-left:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.text-xxs{font-size:.5rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgba(0, 0, 0, var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17, 24, 39, var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239, 68, 68, var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgba(245, 158, 11, var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52, 211, 153, var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16, 185, 129, var(--tw-text-opacity))}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#menu__toggle{position:relative;opacity:0}#menu__toggle:checked~.menu__btn>span{transform:rotate(45deg)}#menu__toggle:checked~.menu__btn>span::before{top:0;transform:rotate(0)}#menu__toggle:checked~.menu__btn>span::after{top:0;transform:rotate(90deg)}#menu__toggle:checked~.menu__box{visibility:visible;left:0}#menu__toggle:checked~.menu__main{margin-left:150px;transition-duration:0.25s}.menu__btn{display:flex;align-items:center;position:fixed;z-index:1;top:10px;left:20px;width:20px;height:20px;cursor:pointer}.menu__btn>span,.menu__btn>span::before,.menu__btn>span::after{display:block;position:absolute;width:100%;height:2px;background-color:#616161;transition-duration:0.25s}.menu__btn>span::before{content:"";top:-8px}.menu__btn>span::after{content:"";top:8px}.menu__box{display:block;position:fixed;visibility:hidden;top:0;left:-100%;width:150px;height:100%;margin:0;padding:80px 0;list-style:none;background-color:#eceff1;box-shadow:1px 0px 6px rgba(0, 0, 0, 0.2);transition-duration:0.25s}.menu__item{display:block;padding:12px 24px;color:rgba(51, 51, 51, 0.788);font-family:"Roboto", sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition-duration:0.25s}.menu__item:hover{background-color:#cfd8dc}.upper__bar{background-color:rgba(51, 51, 51, 0.144);height:70px;position:fixed;z-index:-1;top:0px;left:0;width:100%;margin:0;padding:0;box-shadow:1px 0px 3px rgba(0, 0, 0, 0.2)}input[type="date"]::-webkit-calendar-picker-indicator{margin-left:5px;margin-right:-8px}input[type="time"]::-webkit-calendar-picker-indicator{margin-left:5px;margin-right:-8px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{margin-left:7px;margin-right:-6px;width:30px;height:30px;opacity:1}input:checked~.dot{transform:translateX(100%)}@media(min-width: 640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mt-0{margin-top:0px}.sm\:ml-3{margin-left:0.75rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:h-8{height:2rem}.sm\:h-screen{height:100vh}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:p-0{padding:0px}.sm\:p-2{padding:0.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0px;padding-bottom:0px}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}}@media(min-width: 768px){.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:p-2{padding:0.5rem}.md\:py-0{padding-top:0px;padding-bottom:0px}.md\:text-base{font-size:1rem}}@media(min-width: 1024px){.lg\:h-6{height:1.5rem}.lg\:h-7{height:1.75rem}.lg\:h-8{height:2rem}.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:p-2{padding:0.5rem}.lg\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\:text-base{font-size:1rem}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.xl\:h-6{height:1.5rem}.xl\:h-7{height:1.75rem}.xl\:h-8{height:2rem}.xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:text-base{font-size:1rem}}@media(min-width: 1536px){.\32xl\:h-6{height:1.5rem}.\32xl\:h-7{height:1.75rem}.\32xl\:h-8{height:2rem}.\32xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\32xl\:px-4{padding-left:1rem;padding-right:1rem}.\32xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.\32xl\:py-4{padding-top:1rem;padding-bottom:1rem}.\32xl\:text-base{font-size:1rem}}*,::before,::after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui, + monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.grd-1col1{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center}.grd-2col1{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center;gap:1rem}@media(min-width: 640px){.grd-2col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.grd-2col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1280px){.grd-2col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1536px){.grd-2col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}.grd-2col2{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));justify-items:center;gap:1rem}.grd-3col1{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center;gap:1rem}@media(min-width: 640px){.grd-3col1{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.grd-3col1{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1280px){.grd-3col1{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1536px){.grd-3col1{grid-template-columns:repeat(3, minmax(0, 1fr))}}.crd-itm-psn{margin-bottom:0.75rem;display:flex;height:2rem;align-items:center}.wgt-dscr-stl{padding-right:1rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.wgt-adt-stl{text-align:center;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.tbl{margin-top:0.5rem;margin-bottom:0.5rem;width:100%;table-layout:fixed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tbl-hd{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem;text-align:center;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.tbl-bdy-lg{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem;text-align:center}.tbl-bdy-sm{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem}.ipt-lg{margin-top:0.5rem;height:1rem;align-content:center;border-width:2px;--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.ipt-lg:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.ipt-lg{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.ipt-lg:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ipt-lg{text-align:center;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.ipt-lg:focus{outline:2px solid transparent;outline-offset:2px}@media(min-width: 640px){.ipt-lg{height:1.75rem}}@media(min-width: 768px){.ipt-lg{height:1.75rem}}@media(min-width: 1024px){.ipt-lg{height:1.75rem}}@media(min-width: 1280px){.ipt-lg{height:1.75rem}}@media(min-width: 1536px){.ipt-lg{height:1.75rem}}.ipt-sm{height:0.75rem;align-content:center;border-radius:0.125rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.ipt-sm:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.ipt-sm{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.ipt-sm:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ipt-sm{text-align:center;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.ipt-sm:focus{outline:2px solid transparent;outline-offset:2px}@media(min-width: 640px){.ipt-sm{height:1.5rem}}@media(min-width: 768px){.ipt-sm{height:1.5rem}}@media(min-width: 1024px){.ipt-sm{height:1.5rem}}@media(min-width: 1280px){.ipt-sm{height:1.5rem}}@media(min-width: 1536px){.ipt-sm{height:1.5rem}}.ipt-rnd{height:2rem;width:100%;align-content:center;border-radius:0.25rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.ipt-rnd:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ipt-rnd{padding-left:0.5rem;padding-right:0.5rem;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.ipt-rnd:focus{outline:2px solid transparent;outline-offset:2px}.ipt-big{height:2rem;width:100%;align-content:center;border-radius:0.25rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.ipt-big:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.ipt-big{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.ipt-big:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ipt-big{padding-left:0.5rem;padding-right:0.5rem;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.ipt-big:focus{outline:2px solid transparent;outline-offset:2px}.txt-ita{display:inline-block;text-align:right;vertical-align:top;font-style:italic;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.txt-pad{padding-left:0.5rem;padding-right:0.5rem;padding-top:0px;padding-bottom:0px}@media(min-width: 640px){.txt-pad{padding-top:0px;padding-bottom:0px}}@media(min-width: 768px){.txt-pad{padding-top:0px;padding-bottom:0px}}@media(min-width: 1024px){.txt-pad{padding-top:0.25rem;padding-bottom:0.25rem}}@media(min-width: 1280px){.txt-pad{padding-top:0.5rem;padding-bottom:0.5rem}}@media(min-width: 1536px){.txt-pad{padding-top:0.5rem;padding-bottom:0.5rem}}.txt-sz{font-size:.5rem}@media(min-width: 640px){.txt-sz{font-size:1rem}}@media(min-width: 768px){.txt-sz{font-size:1rem}}@media(min-width: 1024px){.txt-sz{font-size:1rem}}@media(min-width: 1280px){.txt-sz{font-size:1rem}}@media(min-width: 1536px){.txt-sz{font-size:1rem}}.btn-lg{margin-top:0px;display:flex;height:1.5rem;width:100%;align-content:center;justify-content:center;overflow-wrap:break-word;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.btn-lg:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.btn-lg{font-size:.875rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}@media(min-width: 640px){.btn-lg{height:2rem;font-size:1rem}}@media(min-width: 768px){.btn-lg{height:2rem;font-size:1rem}}@media(min-width: 1024px){.btn-lg{height:2rem;font-size:1rem}}@media(min-width: 1280px){.btn-lg{height:2rem;font-size:1rem}}@media(min-width: 1536px){.btn-lg{height:2rem;font-size:1rem}}.slct-lg{margin-bottom:0px;display:flex;height:1.5rem;width:100%;align-content:center;justify-content:center;overflow-wrap:break-word;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.slct-lg:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.slct-lg{font-size:.875rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}@media(min-width: 640px){.slct-lg{height:2rem;font-size:1rem}}@media(min-width: 768px){.slct-lg{height:2rem;font-size:1rem}}@media(min-width: 1024px){.slct-lg{height:2rem;font-size:1rem}}@media(min-width: 1280px){.slct-lg{height:2rem;font-size:1rem}}@media(min-width: 1536px){.slct-lg{height:2rem;font-size:1rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-1{top:0.25rem}.left-1{left:0.25rem}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mt-0{margin-top:0px}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mb-0{margin-bottom:0px}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.ml-0{margin-left:0px}.ml-36{margin-left:9rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-3{height:0.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-20{width:5rem}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-1\/12{width:8.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.flex-1{flex:1 1 0%}.table-fixed{table-layout:fixed}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.break-words{overflow-wrap:break-word}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239, 68, 68, var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgba(96, 165, 250, var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243, 244, 246, var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229, 231, 235, var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107, 114, 128, var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75, 85, 99, var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254, 242, 242, var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgba(248, 113, 113, var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220, 38, 38, var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255, 251, 235, var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236, 253, 245, var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239, 246, 255, var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99, 102, 241, var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185, 28, 28, var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67, 56, 202, var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-cover{background-size:cover}.p-0{padding:0px}.p-2{padding:0.5rem}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.pt-0{padding-top:0px}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pb-20{padding-bottom:5rem}.pl-4{padding-left:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.text-xxs{font-size:.5rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgba(0, 0, 0, var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17, 24, 39, var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239, 68, 68, var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgba(245, 158, 11, var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52, 211, 153, var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16, 185, 129, var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgba(59, 130, 246, var(--tw-text-opacity))}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#menu__toggle{position:relative;opacity:0}#menu__toggle:checked~.menu__btn>span{transform:rotate(45deg)}#menu__toggle:checked~.menu__btn>span::before{top:0;transform:rotate(0)}#menu__toggle:checked~.menu__btn>span::after{top:0;transform:rotate(90deg)}#menu__toggle:checked~.menu__box{visibility:visible;left:0}#menu__toggle:checked~.menu__main{margin-left:150px;transition-duration:0.25s}.menu__btn{display:flex;align-items:center;position:fixed;z-index:1;top:10px;left:20px;width:20px;height:20px;cursor:pointer}.menu__btn>span,.menu__btn>span::before,.menu__btn>span::after{display:block;position:absolute;width:100%;height:2px;background-color:#616161;transition-duration:0.25s}.menu__btn>span::before{content:"";top:-8px}.menu__btn>span::after{content:"";top:8px}.menu__box{display:block;position:fixed;visibility:hidden;top:0;left:-100%;width:150px;height:100%;margin:0;padding:80px 0;list-style:none;background-color:#eceff1;box-shadow:1px 0px 6px rgba(0, 0, 0, 0.2);transition-duration:0.25s}.menu__item{display:block;padding:12px 24px;color:rgba(51, 51, 51, 0.788);font-family:"Roboto", sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition-duration:0.25s}.menu__item:hover{background-color:#cfd8dc}.upper__bar{background-color:rgba(51, 51, 51, 0.144);height:70px;position:fixed;z-index:-1;top:0px;left:0;width:100%;margin:0;padding:0;box-shadow:1px 0px 3px rgba(0, 0, 0, 0.2)}input[type="date"]::-webkit-calendar-picker-indicator{margin-left:5px;margin-right:-8px}input[type="time"]::-webkit-calendar-picker-indicator{margin-left:5px;margin-right:-8px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{margin-left:7px;margin-right:-6px;width:30px;height:30px;opacity:1}input:checked~.dot{transform:translateX(100%)}@media(min-width: 640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mt-0{margin-top:0px}.sm\:ml-3{margin-left:0.75rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:h-8{height:2rem}.sm\:h-screen{height:100vh}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:p-0{padding:0px}.sm\:p-2{padding:0.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0px;padding-bottom:0px}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}}@media(min-width: 768px){.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:p-2{padding:0.5rem}.md\:py-0{padding-top:0px;padding-bottom:0px}.md\:text-base{font-size:1rem}}@media(min-width: 1024px){.lg\:h-6{height:1.5rem}.lg\:h-7{height:1.75rem}.lg\:h-8{height:2rem}.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:p-2{padding:0.5rem}.lg\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\:text-base{font-size:1rem}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.xl\:h-6{height:1.5rem}.xl\:h-7{height:1.75rem}.xl\:h-8{height:2rem}.xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:text-base{font-size:1rem}}@media(min-width: 1536px){.\32xl\:h-6{height:1.5rem}.\32xl\:h-7{height:1.75rem}.\32xl\:h-8{height:2rem}.\32xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\32xl\:px-4{padding-left:1rem;padding-right:1rem}.\32xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.\32xl\:py-4{padding-top:1rem;padding-bottom:1rem}.\32xl\:text-base{font-size:1rem}}*,::before,::after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui, -apple-system, /* Firefox supports this but not yet `system-ui` */ 'Segoe UI', Roboto, @@ -24,7 +24,7 @@ Consolas, 'Liberation Mono', Menlo, - monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.alm{margin-bottom:0.5rem;width:100%;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));padding:0.5rem;--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media(min-width: 640px){.alm{padding:0.5rem}}@media(min-width: 768px){.alm{padding:0.5rem}}@media(min-width: 1024px){.alm{padding:0.5rem;--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.alm{padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem}}@media(min-width: 1536px){.alm{padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem}}.alm-hdr{padding-bottom:0px;text-align:center;font-size:1rem;font-weight:700;--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-1{top:0.25rem}.left-1{left:0.25rem}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mt-0{margin-top:0px}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mb-0{margin-bottom:0px}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.ml-0{margin-left:0px}.ml-36{margin-left:9rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-3{height:0.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-20{width:5rem}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-1\/12{width:8.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.flex-1{flex:1 1 0%}.table-fixed{table-layout:fixed}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.break-words{overflow-wrap:break-word}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239, 68, 68, var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgba(96, 165, 250, var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243, 244, 246, var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229, 231, 235, var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107, 114, 128, var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75, 85, 99, var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254, 242, 242, var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgba(248, 113, 113, var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220, 38, 38, var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255, 251, 235, var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236, 253, 245, var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99, 102, 241, var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185, 28, 28, var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67, 56, 202, var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-cover{background-size:cover}.p-0{padding:0px}.p-2{padding:0.5rem}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.pt-0{padding-top:0px}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pb-20{padding-bottom:5rem}.pl-4{padding-left:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.text-xxs{font-size:.5rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgba(0, 0, 0, var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17, 24, 39, var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239, 68, 68, var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgba(245, 158, 11, var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52, 211, 153, var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16, 185, 129, var(--tw-text-opacity))}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}@media(min-width: 640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mt-0{margin-top:0px}.sm\:ml-3{margin-left:0.75rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:h-8{height:2rem}.sm\:h-screen{height:100vh}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:p-0{padding:0px}.sm\:p-2{padding:0.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0px;padding-bottom:0px}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}}@media(min-width: 768px){.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:p-2{padding:0.5rem}.md\:py-0{padding-top:0px;padding-bottom:0px}.md\:text-base{font-size:1rem}}@media(min-width: 1024px){.lg\:h-6{height:1.5rem}.lg\:h-7{height:1.75rem}.lg\:h-8{height:2rem}.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:p-2{padding:0.5rem}.lg\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\:text-base{font-size:1rem}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.xl\:h-6{height:1.5rem}.xl\:h-7{height:1.75rem}.xl\:h-8{height:2rem}.xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:text-base{font-size:1rem}}@media(min-width: 1536px){.\32xl\:h-6{height:1.5rem}.\32xl\:h-7{height:1.75rem}.\32xl\:h-8{height:2rem}.\32xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\32xl\:px-4{padding-left:1rem;padding-right:1rem}.\32xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.\32xl\:py-4{padding-top:1rem;padding-bottom:1rem}.\32xl\:text-base{font-size:1rem}}*,::before,::after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui, + monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.alm{margin-bottom:0.5rem;width:100%;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));padding:0.5rem;--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media(min-width: 640px){.alm{padding:0.5rem}}@media(min-width: 768px){.alm{padding:0.5rem}}@media(min-width: 1024px){.alm{padding:0.5rem;--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.alm{padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem}}@media(min-width: 1536px){.alm{padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem}}.alm-hdr{padding-bottom:0px;text-align:center;font-size:1rem;font-weight:700;--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-1{top:0.25rem}.left-1{left:0.25rem}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mt-0{margin-top:0px}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mb-0{margin-bottom:0px}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.ml-0{margin-left:0px}.ml-36{margin-left:9rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-3{height:0.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-20{width:5rem}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-1\/12{width:8.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.flex-1{flex:1 1 0%}.table-fixed{table-layout:fixed}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.break-words{overflow-wrap:break-word}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239, 68, 68, var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgba(96, 165, 250, var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243, 244, 246, var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229, 231, 235, var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107, 114, 128, var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75, 85, 99, var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254, 242, 242, var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgba(248, 113, 113, var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220, 38, 38, var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255, 251, 235, var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236, 253, 245, var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239, 246, 255, var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99, 102, 241, var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185, 28, 28, var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67, 56, 202, var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-cover{background-size:cover}.p-0{padding:0px}.p-2{padding:0.5rem}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.pt-0{padding-top:0px}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pb-20{padding-bottom:5rem}.pl-4{padding-left:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.text-xxs{font-size:.5rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgba(0, 0, 0, var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17, 24, 39, var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239, 68, 68, var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgba(245, 158, 11, var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52, 211, 153, var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16, 185, 129, var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgba(59, 130, 246, var(--tw-text-opacity))}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}@media(min-width: 640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mt-0{margin-top:0px}.sm\:ml-3{margin-left:0.75rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:h-8{height:2rem}.sm\:h-screen{height:100vh}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:p-0{padding:0px}.sm\:p-2{padding:0.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0px;padding-bottom:0px}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}}@media(min-width: 768px){.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:p-2{padding:0.5rem}.md\:py-0{padding-top:0px;padding-bottom:0px}.md\:text-base{font-size:1rem}}@media(min-width: 1024px){.lg\:h-6{height:1.5rem}.lg\:h-7{height:1.75rem}.lg\:h-8{height:2rem}.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:p-2{padding:0.5rem}.lg\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\:text-base{font-size:1rem}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.xl\:h-6{height:1.5rem}.xl\:h-7{height:1.75rem}.xl\:h-8{height:2rem}.xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:text-base{font-size:1rem}}@media(min-width: 1536px){.\32xl\:h-6{height:1.5rem}.\32xl\:h-7{height:1.75rem}.\32xl\:h-8{height:2rem}.\32xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\32xl\:px-4{padding-left:1rem;padding-right:1rem}.\32xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.\32xl\:py-4{padding-top:1rem;padding-bottom:1rem}.\32xl\:text-base{font-size:1rem}}*,::before,::after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui, -apple-system, /* Firefox supports this but not yet `system-ui` */ 'Segoe UI', Roboto, @@ -37,4 +37,4 @@ Consolas, 'Liberation Mono', Menlo, - monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.crd{margin-bottom:0.5rem;width:100%;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));padding:0.5rem;--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media(min-width: 640px){.crd{padding:0.5rem}}@media(min-width: 768px){.crd{padding:0.5rem}}@media(min-width: 1024px){.crd{padding:0.5rem;--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.crd{padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem}}@media(min-width: 1536px){.crd{padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem}}.crd-hdr{padding-bottom:1rem;text-align:center;font-size:1.125rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-1{top:0.25rem}.left-1{left:0.25rem}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mt-0{margin-top:0px}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mb-0{margin-bottom:0px}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.ml-0{margin-left:0px}.ml-36{margin-left:9rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-3{height:0.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-20{width:5rem}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-1\/12{width:8.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.flex-1{flex:1 1 0%}.table-fixed{table-layout:fixed}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.break-words{overflow-wrap:break-word}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239, 68, 68, var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgba(96, 165, 250, var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243, 244, 246, var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229, 231, 235, var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107, 114, 128, var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75, 85, 99, var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254, 242, 242, var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgba(248, 113, 113, var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220, 38, 38, var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255, 251, 235, var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236, 253, 245, var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99, 102, 241, var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185, 28, 28, var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67, 56, 202, var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-cover{background-size:cover}.p-0{padding:0px}.p-2{padding:0.5rem}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.pt-0{padding-top:0px}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pb-20{padding-bottom:5rem}.pl-4{padding-left:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.text-xxs{font-size:.5rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgba(0, 0, 0, var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17, 24, 39, var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239, 68, 68, var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgba(245, 158, 11, var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52, 211, 153, var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16, 185, 129, var(--tw-text-opacity))}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}@media(min-width: 640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mt-0{margin-top:0px}.sm\:ml-3{margin-left:0.75rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:h-8{height:2rem}.sm\:h-screen{height:100vh}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:p-0{padding:0px}.sm\:p-2{padding:0.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0px;padding-bottom:0px}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}}@media(min-width: 768px){.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:p-2{padding:0.5rem}.md\:py-0{padding-top:0px;padding-bottom:0px}.md\:text-base{font-size:1rem}}@media(min-width: 1024px){.lg\:h-6{height:1.5rem}.lg\:h-7{height:1.75rem}.lg\:h-8{height:2rem}.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:p-2{padding:0.5rem}.lg\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\:text-base{font-size:1rem}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.xl\:h-6{height:1.5rem}.xl\:h-7{height:1.75rem}.xl\:h-8{height:2rem}.xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:text-base{font-size:1rem}}@media(min-width: 1536px){.\32xl\:h-6{height:1.5rem}.\32xl\:h-7{height:1.75rem}.\32xl\:h-8{height:2rem}.\32xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\32xl\:px-4{padding-left:1rem;padding-right:1rem}.\32xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.\32xl\:py-4{padding-top:1rem;padding-bottom:1rem}.\32xl\:text-base{font-size:1rem}} \ No newline at end of file + monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.crd{margin-bottom:0.5rem;width:100%;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));padding:0.5rem;--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media(min-width: 640px){.crd{padding:0.5rem}}@media(min-width: 768px){.crd{padding:0.5rem}}@media(min-width: 1024px){.crd{padding:0.5rem;--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.crd{padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem}}@media(min-width: 1536px){.crd{padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem}}.crd-hdr{padding-bottom:1rem;text-align:center;font-size:1.125rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-1{top:0.25rem}.left-1{left:0.25rem}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mt-0{margin-top:0px}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mb-0{margin-bottom:0px}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.ml-0{margin-left:0px}.ml-36{margin-left:9rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-3{height:0.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-20{width:5rem}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-1\/12{width:8.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.flex-1{flex:1 1 0%}.table-fixed{table-layout:fixed}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.break-words{overflow-wrap:break-word}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239, 68, 68, var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgba(96, 165, 250, var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243, 244, 246, var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229, 231, 235, var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107, 114, 128, var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75, 85, 99, var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254, 242, 242, var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgba(248, 113, 113, var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220, 38, 38, var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255, 251, 235, var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236, 253, 245, var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239, 246, 255, var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99, 102, 241, var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185, 28, 28, var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67, 56, 202, var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-cover{background-size:cover}.p-0{padding:0px}.p-2{padding:0.5rem}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.pt-0{padding-top:0px}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pb-20{padding-bottom:5rem}.pl-4{padding-left:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.text-xxs{font-size:.5rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgba(0, 0, 0, var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17, 24, 39, var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239, 68, 68, var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgba(245, 158, 11, var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52, 211, 153, var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16, 185, 129, var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgba(59, 130, 246, var(--tw-text-opacity))}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}@media(min-width: 640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mt-0{margin-top:0px}.sm\:ml-3{margin-left:0.75rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:h-8{height:2rem}.sm\:h-screen{height:100vh}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:p-0{padding:0px}.sm\:p-2{padding:0.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0px;padding-bottom:0px}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}}@media(min-width: 768px){.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:p-2{padding:0.5rem}.md\:py-0{padding-top:0px;padding-bottom:0px}.md\:text-base{font-size:1rem}}@media(min-width: 1024px){.lg\:h-6{height:1.5rem}.lg\:h-7{height:1.75rem}.lg\:h-8{height:2rem}.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:p-2{padding:0.5rem}.lg\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\:text-base{font-size:1rem}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.xl\:h-6{height:1.5rem}.xl\:h-7{height:1.75rem}.xl\:h-8{height:2rem}.xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:text-base{font-size:1rem}}@media(min-width: 1536px){.\32xl\:h-6{height:1.5rem}.\32xl\:h-7{height:1.75rem}.\32xl\:h-8{height:2rem}.\32xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\32xl\:px-4{padding-left:1rem;padding-right:1rem}.\32xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.\32xl\:py-4{padding-top:1rem;padding-bottom:1rem}.\32xl\:text-base{font-size:1rem}} \ No newline at end of file diff --git a/data_svelte/build/bundle.js b/data_svelte/build/bundle.js index dfcfba04..71589ef2 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;L(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]&&(M.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=T("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 bt.goto(t,!0)}if(l.meta=c&&{from:r,url:n,query:o,match:c.part,pattern:l.pattern,breadcrumbs:l.parent&&l.parent.meta&&l.parent.meta.breadcrumbs.slice()||[],params:c.params,subscribe:s.subscribe},l.breadcrumb&&l.meta&&l.meta.breadcrumbs.push({name:l.breadcrumb,path:c.part}),s.set(l.meta),!c||l.fallback||!(!l.exact||l.exact&&c.exact)||l.parent&&l.parent.firstmatch&&l.parent.matched?l.hide():(t.onMeta(l.meta),l.parent&&(l.parent.matched=!0),l.show()),await 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);bt.goto(e,!0)}else t.show()}))}}};return r="tinro",o=l,C().$$.context.set(r,o),O((()=>l.register())),l.router.un=bt.subscribe((t=>{l.router.path=t.path,l.router.url=t.url,l.router.query=t.query,l.router.from=t.from,null!==l.pattern&&l.match()})),l;var r,o}function $t(){return T("tinro").meta}var bt=function(){let{subscribe:t}=ot(gt.get(),(t=>{gt.start(t);let e=function(t){let e=e=>{let n=e.target.closest("a[href]"),s=n&&at(n,"target",!1,"_self"),l=n&&at(n,"tinro-ignore"),r=e.ctrlKey||e.metaKey||e.altKey||e.shiftKey;if("_self"==s&&!l&&!r&&n){let s=n.getAttribute("href").replace(/^\/#/,"");/^\/\/|^[a-zA-Z]+:/.test(s)||(e.preventDefault(),t(s.startsWith("/")?s:n.href.replace(window.location.origin,"")))}};return addEventListener("click",e),()=>removeEventListener("click",e)}(gt.go);return()=>{gt.stop(),e()}}));return{subscribe:t,goto:gt.go,params:wt,meta:$t,useHashNavigation:t=>gt.mode(t?pt.HASH:pt.HISTORY),mode:{hash:()=>gt.mode(pt.HASH),history:()=>gt.mode(pt.HISTORY),memory:()=>gt.mode(pt.MEMORY)}}}();function wt(){return T("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 Lt(t){let e,n,s,l,r,o,c,i;return c=new St({props:{click:t[5]}}),{c(){e=h("div"),n=h("div"),s=h("h1"),l=b(t[0]),r=w(),o=h("div"),tt(c.$$.fragment),y(s,"class","alm-hdr"),y(n,"class","w-11/12"),y(o,"class","flex justify-end w-1/12"),y(e,"class","flex items-center")},m(t,a){p(t,e,a),f(e,n),f(n,s),f(s,l),f(e,r),f(e,o),et(c,o,null),i=!0},p(t,e){(!i||1&e)&&_(l,t[0]);const n={};4&e&&(n.click=t[5]),c.$set(n)},i(t){i||(G(c.$$.fragment,t),i=!0)},o(t){V(c.$$.fragment,t),i=!1},d(t){t&&g(e),nt(c)}}}function Ct(e){let n,s;return{c(){n=h("h1"),s=b(e[0]),y(n,"class","alm-hdr")},m(t,e){p(t,n,e),f(n,s)},p(t,e){1&e&&_(s,t[0])},i:t,o:t,d(t){t&&g(n)}}}function Ot(t){let e,n,s,l,r;const o=[Ct,Lt],i=[];function m(t,e){return t[0]&&!t[1]?0:t[0]&&t[1]?1:-1}~(n=m(t))&&(s=i[n]=o[n](t));const $=t[4].default,b=c($,t,t[3],null);return{c(){e=h("div"),s&&s.c(),l=w(),b&&b.c(),y(e,"class","alm")},m(t,s){p(t,e,s),~n&&i[n].m(e,null),f(e,l),b&&b.m(e,null),r=!0},p(t,[c]){let f=n;n=m(t),n===f?~n&&i[n].p(t,c):(s&&(Q(),V(i[f],1,1,(()=>{i[f]=null})),Z()),~n?(s=i[n],s?s.p(t,c):(s=i[n]=o[n](t),s.c()),G(s,1),s.m(e,l)):s=null),b&&b.p&&(!r||8&c)&&u(b,$,t,t[3],r?a($,t[3],c,null):d(t[3]),null)},i(t){r||(G(s),G(b,t),r=!0)},o(t){V(s),V(b,t),r=!1},d(t){t&&g(e),~n&&i[n].d(),b&&b.d(t)}}}function Tt(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 Mt extends lt{constructor(t){super(),st(this,t,Tt,Ot,r,{title:0,cross:1,close:2})}}function Et(e){let n;return{c(){n=h("div"),n.innerHTML=' \n
',y(n,"class","z-50")},m(t,e){p(t,n,e)},p:t,i:t,o:t,d(t){t&&g(n)}}}class Nt extends lt{constructor(t){super(),st(this,t,null,Et,r,{})}}function Ht(t){let e,n;return{c(){e=h("h1"),n=b(t[0]),y(e,"class","crd-hdr")},m(t,s){p(t,e,s),f(e,n)},p(t,e){1&e&&_(n,t[0])},d(t){t&&g(e)}}}function Pt(t){let e,n,s,l=t[0]&&Ht(t);const r=t[2].default,o=c(r,t,t[1],null);return{c(){e=h("div"),l&&l.c(),n=w(),o&&o.c(),y(e,"class","crd")},m(t,r){p(t,e,r),l&&l.m(e,null),f(e,n),o&&o.m(e,null),s=!0},p(t,[c]){t[0]?l?l.p(t,c):(l=Ht(t),l.c(),l.m(e,n)):l&&(l.d(1),l=null),o&&o.p&&(!s||2&c)&&u(o,r,t,t[1],s?a(r,t[1],c,null):d(t[1]),null)},i(t){s||(G(o,t),s=!0)},o(t){V(o,t),s=!1},d(t){t&&g(e),l&&l.d(),o&&o.d(t)}}}function At(t,e,n){let{$$slots:s={},$$scope:l}=e,{title:r=!1}=e;return t.$$set=t=>{"title"in t&&n(0,r=t.title),"$$scope"in t&&n(1,l=t.$$scope)},[r,l,s]}class 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=b(d),o=w(),c=h("div"),m&&m.c(),i=w(),$&&$.c(),a=w(),x&&x.c(),u=w(),v&&v.c(),y(l,"class","wgt-dscr-stl"),y(s,"class","w-2/3"),y(c,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),f(n,s),f(s,l),f(l,r),f(n,o),f(n,c),m&&m.m(c,null),f(c,i),$&&$.m(c,null),f(c,a),x&&x.m(c,null),f(c,u),v&&v.m(c,null)},p(t,[e]){1&e&&d!==(d=(t[0].descr?t[0].descr:"")+"")&&_(r,d),"number"==t[0].type?m?m.p(t,e):(m=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,L,C,O=(e[0].descr?e[0].descr:"")+"";return{c(){n=h("div"),l=h("div"),r=h("label"),o=b(O),c=w(),i=h("div"),a=h("label"),u=h("div"),d=h("input"),$=w(),x=h("div"),k=w(),j=h("div"),y(r,"class","wgt-dscr-stl"),y(l,"class","w-2/3"),y(d,"id",m=e[0].topic),y(d,"type","checkbox"),y(d,"class","sr-only"),y(x,"class","block bg-gray-600 w-10 h-6 rounded-full"),y(j,"class",q="dot "+(1==e[0].send?"bg-red-400":"bg-white")+" absolute left-1 top-1 w-4 h-4 rounded-full transition"),y(u,"class","relative"),y(a,"for",S=e[0].topic),y(a,"class","items-center cursor-pointer"),y(i,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,s){p(t,n,s),f(n,l),f(l,r),f(r,o),f(n,c),f(n,i),f(i,a),f(a,u),f(u,d),J(d,e[0].status),f(u,$),f(u,x),f(u,k),f(u,j),L||(C=[v(d,"change",e[3]),v(d,"change",e[4])],L=!0)},p(t,[e]){1&e&&O!==(O=(t[0].descr?t[0].descr:"")+"")&&_(o,O),1&e&&m!==(m=t[0].topic)&&y(d,"id",m),1&e&&J(d,t[0].status),1&e&&q!==(q="dot "+(1==t[0].send?"bg-red-400":"bg-white")+" absolute left-1 top-1 w-4 h-4 rounded-full transition")&&y(j,"class",q),1&e&&S!==(S=t[0].topic)&&y(a,"for",S)},i:t,o:t,d(t){t&&g(n),L=!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=b(x),o=w(),c=h("div"),i=h("label"),a=b(v),u=w(),d=h("label"),m=b(" "),$=b(k),y(l,"class","wgt-dscr-stl"),y(s,"class","w-2/3"),y(i,"class","wgt-adt-stl"),y(d,"class","wgt-adt-stl"),y(c,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),f(n,s),f(s,l),f(l,r),f(n,o),f(n,c),f(c,i),f(i,a),f(c,u),f(c,d),f(d,m),f(d,$)},p(t,[e]){1&e&&x!==(x=(t[0].descr?t[0].descr:"")+"")&&_(r,x),1&e&&v!==(v=(t[0].status?t[0].status:"")+"")&&_(a,v),1&e&&k!==(k=(t[0].after?t[0].after:"")+"")&&_($,k)},i:t,o:t,d(t){t&&g(n)}}}function Gt(t,e,n){let{widget:s}=e,{value:l}=e;return l=l,t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"value"in t&&n(1,l=t.value)},[s,l]}class Vt extends lt{constructor(t){super(),st(this,t,Gt,Zt,r,{widget:0,value:1})}}function Xt(t,e,n){const s=t.slice();return s[8]=e[n],s[10]=n,s}function te(t,e,n){const s=t.slice();return s[11]=e[n],s[12]=e,s[10]=n,s}function ee(t){let e,n;return e=new Bt({props:{title:"Ваша панель управления пуста, вначале добавьте новые элементы в конфигураторе!"}}),{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 ne(t){let e,n,s,l,r="input"===t[11].widget&&se(t),o="toggle"===t[11].widget&&le(t),c="anydata"===t[11].widget&&re(t);return{c(){r&&r.c(),e=w(),o&&o.c(),n=w(),c&&c.c(),s=x()},m(t,i){r&&r.m(t,i),p(t,e,i),o&&o.m(t,i),p(t,n,i),c&&c.m(t,i),p(t,s,i),l=!0},p(t,l){"input"===t[11].widget?r?(r.p(t,l),1&l&&G(r,1)):(r=se(t),r.c(),G(r,1),r.m(e.parentNode,e)):r&&(Q(),V(r,1,1,(()=>{r=null})),Z()),"toggle"===t[11].widget?o?(o.p(t,l),1&l&&G(o,1)):(o=le(t),o.c(),G(o,1),o.m(n.parentNode,n)):o&&(Q(),V(o,1,1,(()=>{o=null})),Z()),"anydata"===t[11].widget?c?(c.p(t,l),1&l&&G(c,1)):(c=re(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 se(t){let e,n,s;function l(e){t[4](e,t[11])}let r={widget:t[11],wsPush:t[3]};return void 0!==t[11].status&&(r.value=t[11].status),e=new Ut({props:r}),E.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[11]),4&l&&(r.wsPush=t[3]),!n&&1&l&&(n=!0,r.value=t[11].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 le(t){let e,n,s;function l(e){t[6](e,t[11])}let r={widget:t[11],wsPush:t[5]};return void 0!==t[11].status&&(r.value=t[11].status),e=new Qt({props:r}),E.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[11]),4&l&&(r.wsPush=t[5]),!n&&1&l&&(n=!0,r.value=t[11].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 re(t){let e,n,s;function l(e){t[7](e,t[11])}let r={widget:t[11]};return void 0!==t[11].status&&(r.value=t[11].status),e=new Vt({props:r}),E.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[11]),!n&&1&l&&(n=!0,r.value=t[11].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=t[11].page===t[8].page&&ne(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[11].page===t[8].page?s?(s.p(t,n),3&n&&G(s,1)):(s=ne(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 ce(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;tV(o[t],1,1,(()=>{o[t]=null}));return{c(){e=h("div"),l&&l.c(),n=w();for(let t=0;t{l=null})),Z()),7&s){let n;for(r=t[1],n=0;n{})}=e;return t.$$set=t=>{"layoutJson"in t&&n(0,s=t.layoutJson),"pages"in t&&n(1,l=t.pages),"wsPush"in t&&n(2,r=t.wsPush)},[s,l,r,(t,e,n)=>r(t,e,n),function(e,l){t.$$.not_equal(l.status,e)&&(l.status=e,n(0,s))},(t,e,n)=>r(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 de extends lt{constructor(t){super(),st(this,t,ue,ae,r,{layoutJson:0,pages:1,wsPush:2})}}function fe(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 pe(t,e,n){let{click:s=(()=>{})}=e;return t.$$set=t=>{"click"in t&&n(0,s=t.click)},[s]}class ge extends lt{constructor(t){super(),st(this,t,pe,fe,r,{click:0})}}function me(t,e,n){const s=t.slice();return s[18]=e[n],s[19]=e,s[20]=n,s}function he(t,e,n){const s=t.slice();return s[21]=e[n][0],s[22]=e[n][1],s[23]=e,s[24]=n,s}function $e(t,e,n){const s=t.slice();return s[25]=e[n],s}function be(t,e,n){const s=t.slice();return s[28]=e[n],s}function we(t){let e,n;return{c(){e=h("optgroup"),y(e,"label",n=t[28].header)},m(t,n){p(t,e,n)},p(t,s){4&s[0]&&n!==(n=t[28].header)&&y(e,"label",n)},d(t){t&&g(e)}}}function xe(t){let e,n,s,l,r=t[28].name+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[28].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[28].name+"")&&_(n,r),4&s[0]&&l!==(l=t[28].num)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function ve(t){let e,n,s=t[28].header&&we(t),l=!t[28].header&&xe(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[28].header?s?s.p(t,r):(s=we(t),s.c(),s.m(e.parentNode,e)):s&&(s.d(1),s=null),t[28].header?l&&(l.d(1),l=null):l?l.p(t,r):(l=xe(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 ye(t){let e,n,s,l,r=t[25].label+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[25].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[25].label+"")&&_(n,r),2&s[0]&&l!==(l=t[25].name)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function ke(t){let e,n=Object.entries(t[18]),s=[];for(let e=0;eV(L[t],1,1,(()=>{L[t]=null}));return{c(){e=h("div"),n=h("select");for(let t=0;tТип \n Id \n Виджет \n Вкладка \n Название \n \n ',u=w(),d=h("tbody");for(let t=0;tt[8].call(n))),o.__value="Выберите пресет",o.value=o.__value,y(r,"class","slct-lg"),y(e,"class","grd-2col2"),y(a,"class","bg-gray-100"),y(d,"class","bg-white"),y(i,"class","tbl"),y(b,"class","btn-lg")},m(s,g){p(s,e,g),f(e,n);for(let t=0;t{})}=e,i=!0;function a(){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),"saveConfig"in t&&n(3,c=t.saveConfig)},[s,l,r,c,o,i,a,u,function(){o=q(this),n(4,o),n(2,r)},()=>a(),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(5,i=!i),t=>u(t),function(t,e,r){e[r][t]=this.value,n(0,s),n(1,l)},()=>c()]}class Ce extends lt{constructor(t){super(),st(this,t,Le,Se,r,{configJson:0,widgetsJson:1,itemsJson:2,saveConfig:3},null,[-1,-1])}}function Oe(t,e,n){const s=t.slice();return s[21]=e[n][0],s[22]=e[n][1],s}function Te(t){let e,n,s,l,r=t[22]+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[22],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[22]+"")&&_(n,r),4&s&&l!==(l=t[22])&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function Me(t){let e,n,s;return n=new Mt({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 Ee(t){let e,n,l,r,o,c,i,a,u,d,$,b,x,k,_,q,S,L,C,O,T,M,E,N,H,P,A,B,z,I,R,F,W,U,Y,K=Object.entries(t[2]),X=[];for(let e=0;eНазвание устройства

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

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

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

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

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

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

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

',A=w(),B=h("div"),z=h("input"),I=w(),tt&&tt.c(),R=w(),F=h("button"),F.textContent="Сохранить",y(n,"class","w-4/6"),y(o,"class","ipt-rnd text-left focus:border-indigo-500"),y(o,"type","text"),y(r,"class","flex justify-end w-3/6"),y(e,"class","crd-itm-psn"),y(a,"class","w-4/6"),y($,"class","ipt-rnd text-left focus:border-indigo-500"),y($,"type","text"),y(d,"class","flex justify-end w-3/6"),y(i,"class","crd-itm-psn"),y(k,"class","w-4/6"),y(S,"class","ipt-rnd text-left focus:border-indigo-500"),y(S,"type","text"),y(q,"class","flex justify-end w-3/6"),y(x,"class","crd-itm-psn"),y(O,"class","w-4/6"),y(E,"class","ipt-rnd text-left focus:border-indigo-500"),void 0===t[0].routerssid&&D((()=>t[10].call(E))),y(M,"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,b,g),p(s,x,g),f(x,k),f(x,_),f(x,q),f(q,S),J(S,t[0].appass),p(s,L,g),p(s,C,g),f(C,O),f(C,T),f(C,M),f(M,E);for(let t=0;t{tt=null})),Z())},i(t){W||(G(tt),W=!0)},o(t){V(tt),W=!1},d(t){t&&g(e),t&&g(c),t&&g(i),t&&g(b),t&&g(x),t&&g(L),t&&g(C),m(X,t),t&&g(N),t&&g(H),t&&g(I),tt&&tt.d(t),t&&g(R),t&&g(F),U=!1,s(Y)}}}function Ne(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 He(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 Pe(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 Ae(t){let e,n,l,r,o,c,i,a,u,d,m,$,b,x,k,_,j,q,S,L,C,O,T,M,E,N,H,P,A,B,z,D,I,R,F,W,U,Y;function K(t,e){return"e5"===t[1].mqtt?Pe:"e13"===t[1].mqtt?He:Ne}let Q=K(t),Z=Q(t);return{c(){e=h("div"),n=h("div"),n.innerHTML='

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

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

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

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

Порт

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

Префикс

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

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

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

Пароль

',D=w(),I=h("div"),R=h("input"),F=w(),W=h("button"),W.textContent="Сохранить",y(n,"class","w-4/6"),y(r,"class","flex justify-center w-3/6 align-baseline text-sm sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words"),y(e,"class","crd-itm-psn"),y(i,"class","w-4/6"),y(d,"class","ipt-rnd text-left focus:border-indigo-500"),y(d,"type","text"),y(u,"class","flex justify-end w-3/6"),y(c,"class","crd-itm-psn"),y(b,"class","w-4/6"),y(_,"class","ipt-rnd text-left focus:border-indigo-500"),y(_,"type","text"),y(k,"class","flex justify-end w-3/6"),y($,"class","crd-itm-psn"),y(S,"class","w-4/6"),y(O,"class","ipt-rnd text-left focus:border-indigo-500"),y(O,"type","text"),y(C,"class","flex justify-end w-3/6"),y(q,"class","crd-itm-psn"),y(E,"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(M,"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($,b),f($,x),f($,k),f(k,_),J(_,t[0].mqttPort),p(s,j,g),p(s,q,g),f(q,S),f(q,L),f(q,C),f(C,O),J(O,t[0].mqttPrefix),p(s,T,g),p(s,M,g),f(M,E),f(M,N),f(M,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[14]),v(_,"input",t[15]),v(O,"input",t[16]),v(P,"input",t[17]),v(R,"input",t[18]),v(W,"click",t[19])],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&&O.value!==t[0].mqttPrefix&&J(O,t[0].mqttPrefix),5&e&&P.value!==t[0].mqttUser&&J(P,t[0].mqttUser),5&e&&R.value!==t[0].mqttPass&&J(R,t[0].mqttPass)},d(t){t&&g(e),Z.d(),t&&g(o),t&&g(c),t&&g(m),t&&g($),t&&g(j),t&&g(q),t&&g(T),t&&g(M),t&&g(A),t&&g(B),t&&g(F),t&&g(W),U=!1,s(Y)}}}function Be(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[20]),s=!0)},p:t,d(t){t&&g(n),s=!1,l()}}}function ze(t){let e,n,s,l,r,o,c,i;return n=new Bt({props:{title:"Подключение к WiFi",$$slots:{default:[Ee]},$$scope:{ctx:t}}}),l=new Bt({props:{title:"Подключение к MQTT",$$slots:{default:[Ae]},$$scope:{ctx:t}}}),c=new Bt({props:{$$slots:{default:[Be]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=w(),tt(l.$$.fragment),r=w(),o=h("div"),tt(c.$$.fragment),y(e,"class","grd-2col1"),y(o,"class","grd-1col1")},m(t,a){p(t,e,a),et(n,e,null),f(e,s),et(l,e,null),p(t,r,a),p(t,o,a),et(c,o,null),i=!0},p(t,[e]){const s={};33554463&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const r={};33554467&e&&(r.$$scope={dirty:e,ctx:t}),l.$set(r);const o={};33554496&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 De(t,e,n){let{settingsJson:s}=e,{errorsJson:l}=e,{ssidJson:r}=e,{ssidClick:o=(()=>{})}=e,{saveSett:c=(()=>{})}=e,{saveMqtt:i=(()=>{})}=e,{rebootEsp:a=(()=>{})}=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),"ssidClick"in t&&n(3,o=t.ssidClick),"saveSett"in t&&n(4,c=t.saveSett),"saveMqtt"in t&&n(5,i=t.saveMqtt),"rebootEsp"in t&&n(6,a=t.rebootEsp)},[s,l,r,o,c,i,a,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)},()=>o(),function(){s.routerpass=this.value,n(0,s),n(2,r)},()=>c(),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)},()=>i(),()=>a()]}class Ie extends lt{constructor(t){super(),st(this,t,De,ze,r,{settingsJson:0,errorsJson:1,ssidJson:2,ssidClick:3,saveSett:4,saveMqtt:5,rebootEsp:6})}}function Re(t,e,n){const s=t.slice();return s[10]=e[n],s[12]=n,s}function Fe(t){let e,n,s,l,r,o,c,i,a,u,d,m,$,x,v,k,J,j,q,S=t[10].name+"",L=t[10].ip+"",C=t[10].id+"",O=t[10].status?"online":"offline";return j=new St({props:{click:function(){return t[5](t[12])}}}),{c(){e=h("tr"),n=h("td"),s=b(S),l=w(),r=h("td"),o=h("a"),c=b(L),a=w(),u=h("td"),d=b(C),m=w(),$=h("td"),x=b(O),k=w(),J=h("td"),tt(j.$$.fragment),y(n,"class","tbl-bdy-lg ipt-lg w-full"),y(o,"href",i="http://"+t[10].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[10].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[10].name+"")&&_(s,S),(!q||1&n)&&L!==(L=t[10].ip+"")&&_(c,L),(!q||1&n&&i!==(i="http://"+t[10].ip))&&y(o,"href",i),(!q||1&n)&&C!==(C=t[10].id+"")&&_(d,C),(!q||1&n)&&O!==(O=t[10].status?"online":"offline")&&_(x,O),(!q||1&n&&v!==(v="tbl-bdy-lg ipt-lg w-full "+(t[10].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 We(t){let e,n,l,r,o,c,i,a,u,d,m,$,b;return{c(){e=h("tr"),n=h("td"),l=h("input"),r=w(),o=h("td"),c=h("input"),i=w(),a=h("td"),u=h("input"),d=w(),m=h("td"),y(l,"class","ipt-lg w-full"),y(l,"type","text"),y(n,"class","tbl-bdy-lg"),y(c,"class","ipt-lg w-full"),y(c,"type","text"),y(o,"class","tbl-bdy-lg"),y(u,"class","ipt-lg w-full"),y(u,"type","text"),y(a,"class","tbl-bdy-lg"),y(m,"class","tbl-bdy-lg"),y(e,"class","txt-sz txt-pad")},m(s,g){p(s,e,g),f(e,n),f(n,l),J(l,t[2].name),f(e,r),f(e,o),f(o,c),J(c,t[2].ip),f(e,i),f(e,a),f(a,u),J(u,t[2].id),f(e,d),f(e,m),$||(b=[v(l,"input",t[6]),v(c,"input",t[7]),v(u,"input",t[8])],$=!0)},p(t,e){4&e&&l.value!==t[2].name&&J(l,t[2].name),4&e&&c.value!==t[2].ip&&J(c,t[2].ip),4&e&&u.value!==t[2].id&&J(u,t[2].id)},d(t){t&&g(e),$=!1,s(b)}}}function Ue(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]&&We(t);return{c(){e=h("table"),n=h("thead"),n.innerHTML='Название устройства \n IP адрес \n Идентификатор \n Состояние \n ',s=w(),l=h("tbody");for(let t=0;t{})}=e;function c(t){for(let e=0;e{"deviceList"in t&&n(0,s=t.deviceList),"showInput"in t&&n(1,l=t.showInput),"newDevice"in t&&n(2,r=t.newDevice),"addDevInList"in t&&n(3,o=t.addDevInList)},[s,l,r,o,c,t=>c(t),function(){r.name=this.value,n(2,r)},function(){r.ip=this.value,n(2,r)},function(){r.id=this.value,n(2,r)},()=>(n(1,l=!l),o())]}class Ze extends lt{constructor(t){super(),st(this,t,Qe,Ke,r,{deviceList:0,showInput:1,newDevice:2,addDevInList:3})}}function Ge(t,e,n){const s=t.slice();return s[8]=e[n][0],s[9]=e[n][1],s}function Ve(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 Xe(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 tn(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 en(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 nn(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 sn(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 ln(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 rn(t){let e,n,s,l,r,o,c,i,a,u,d,m,$,x,v,k,J,j,q,S,L,C,O,T,M,E,N,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&&Ve(),rt=1===t[1].rssi&&Xe(),ot=2===t[1].rssi&&tn(),ct=3===t[1].rssi&&en(),it=4===t[1].rssi&&nn(),at=5===t[1].rssi&&sn(),ut=6===t[1].rssi&&ln();return{c(){e=h("div"),n=h("div"),n.innerHTML='

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

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

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

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

Uptime устройства

',J=w(),j=h("div"),q=h("p"),S=b(et),L=w(),C=h("div"),O=h("div"),O.innerHTML='

Uptime сессии mqtt

',T=w(),M=h("div"),E=h("p"),N=b(nt),H=w(),P=h("div"),A=h("div"),A.innerHTML='

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

',B=w(),z=h("div"),lt&<.c(),D=w(),rt&&rt.c(),I=w(),ot&&ot.c(),R=w(),ct&&ct.c(),F=w(),it&&it.c(),W=w(),at&&at.c(),U=w(),ut&&ut.c(),Y=w(),K=h("div"),Q=h("div"),Q.innerHTML='

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

',Z=w(),G=h("div"),V=h("p"),X=b(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(O,"class","w-3/4"),y(E,"class","text-gray-500 font-bold"),y(M,"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,L,g),p(t,C,g),f(C,O),f(C,T),f(C,M),f(M,E),f(E,N),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+"")&&_(N,nt),0===t[1].rssi?lt||(lt=Ve(),lt.c(),lt.m(z,D)):lt&&(lt.d(1),lt=null),1===t[1].rssi?rt||(rt=Xe(),rt.c(),rt.m(z,I)):rt&&(rt.d(1),rt=null),2===t[1].rssi?ot||(ot=tn(),ot.c(),ot.m(z,R)):ot&&(ot.d(1),ot=null),3===t[1].rssi?ct||(ct=en(),ct.c(),ct.m(z,F)):ct&&(ct.d(1),ct=null),4===t[1].rssi?it||(it=nn(),it.c(),it.m(z,W)):it&&(it.d(1),it=null),5===t[1].rssi?at||(at=sn(),at.c(),at.m(z,U)):at&&(at.d(1),at=null),6===t[1].rssi?ut||(ut=ln(),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(L),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 on(t){let e,n;function s(){return t[5](t[8])}return e=new Mt({props:{title:t[4][t[8]][t[9]].descr,cross:t[4][t[8]][t[9]].cancel,close:s,$$slots:{default:[an]},$$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[4][t[8]][t[9]].descr),2&l&&(r.cross=t[4][t[8]][t[9]].cancel),10&l&&(r.close=s),4098&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 cn(t){let e,n,s="Количество: "+t[1][t[8]+"n"];return{c(){e=h("p"),n=b(s),y(e,"class","break-words text-center")},m(t,s){p(t,e,s),f(e,n)},p(t,e){2&e&&s!==(s="Количество: "+t[1][t[8]+"n"])&&_(n,s)},d(t){t&&g(e)}}}function an(t){let e,n,s,l,r=t[4][t[8]][t[9]].txt+"",o=t[4][t[8]][t[9]].num&&cn(t);return{c(){e=h("p"),n=b(r),s=w(),o&&o.c(),l=w(),y(e,"class","break-words text-center")},m(t,r){p(t,e,r),f(e,n),p(t,s,r),o&&o.m(t,r),p(t,l,r)},p(t,e){2&e&&r!==(r=t[4][t[8]][t[9]].txt+"")&&_(n,r),t[4][t[8]][t[9]].num?o?o.p(t,e):(o=cn(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 un(t){let e,n,s=t[8]in t[4]&&t[9]in t[4][t[8]]&&on(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[8]in t[4]&&t[9]in t[4][t[8]]?s?(s.p(t,n),2&n&&G(s,1)):(s=on(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 dn(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{})}=e,{cancelAlarm:o=(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),"cancelAlarm"in t&&n(3,o=t.cancelAlarm)},[s,l,r,o,{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}}},t=>o(t),()=>r()]}class mn extends lt{constructor(t){super(),st(this,t,gn,pn,r,{version:0,errorsJson:1,rebootEsp:2,cancelAlarm:3})}}function hn(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 $n(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 bn extends lt{constructor(t){super(),st(this,t,$n,hn,r,{color:0,x:1,y:2})}}function wn(t,e,n){const s=t.slice();return s[88]=e[n],s}function xn(t){let e,n;return e=new Nt({}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){V(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function vn(t){let e,n,s,l,r=t[88].name+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[88].ws,e.value=e.__value},m(t,l){p(t,e,l),f(e,n),f(e,s)},p(t,s){8192&s[0]&&r!==(r=t[88].name+"")&&_(n,r),8192&s[0]&&l!==(l=t[88].ws)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function yn(t){let e,n,s,l,r,o,c,i;return e=new Jt({props:{path:"/",$$slots:{default:[_n]},$$scope:{ctx:t}}}),s=new Jt({props:{path:"/config",$$slots:{default:[Jn]},$$scope:{ctx:t}}}),r=new Jt({props:{path:"/connection",$$slots:{default:[jn]},$$scope:{ctx:t}}}),c=new Jt({props:{path:"/system",$$slots:{default:[qn]},$$scope:{ctx:t}}}),{c(){tt(e.$$.fragment),n=w(),tt(s.$$.fragment),l=w(),tt(r.$$.fragment),o=w(),tt(c.$$.fragment)},m(t,a){et(e,t,a),p(t,n,a),et(s,t,a),p(t,l,a),et(r,t,a),p(t,o,a),et(c,t,a),i=!0},p(t,n){const l={};68&n[0]|536870912&n[2]&&(l.$$scope={dirty:n,ctx:t}),e.$set(l);const o={};56&n[0]|536870912&n[2]&&(o.$$scope={dirty:n,ctx:t}),s.$set(o);const i={};896&n[0]|536870912&n[2]&&(i.$$scope={dirty:n,ctx:t}),r.$set(i);const a={};384&n[0]|536870912&n[2]&&(a.$$scope={dirty:n,ctx:t}),c.$set(a)},i(t){i||(G(e.$$.fragment,t),G(s.$$.fragment,t),G(r.$$.fragment,t),G(c.$$.fragment,t),i=!0)},o(t){V(e.$$.fragment,t),V(s.$$.fragment,t),V(r.$$.fragment,t),V(c.$$.fragment,t),i=!1},d(t){nt(e,t),t&&g(n),nt(s,t),t&&g(l),nt(r,t),t&&g(o),nt(c,t)}}}function kn(e){let n,s;return n=new Mt({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 _n(t){let e,n;return e=new de({props:{layoutJson:t[6],pages:t[2],wsPush:t[29]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};64&n[0]&&(s.layoutJson=t[6]),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 Jn(t){let e,n;return e=new Ce({props:{configJson:t[3],widgetsJson:t[4],itemsJson:t[5],saveConfig:t[30]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};8&n[0]&&(s.configJson=t[3]),16&n[0]&&(s.widgetsJson=t[4]),32&n[0]&&(s.itemsJson=t[5]),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 jn(t){let e,n;return e=new Ie({props:{rebootEsp:t[31],ssidClick:t[32],saveSett:t[33],saveMqtt:t[34],settingsJson:t[7],errorsJson:t[8],ssidJson:t[9]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};128&n[0]&&(s.settingsJson=t[7]),256&n[0]&&(s.errorsJson=t[8]),512&n[0]&&(s.ssidJson=t[9]),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 qn(t){let e,n;return e=new mn({props:{settingsJson:t[7],errorsJson:t[8],rebootEsp:t[35],cancelAlarm:t[36],version:Cn}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};128&n[0]&&(s.settingsJson=t[7]),256&n[0]&&(s.errorsJson=t[8]),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 Sn(t){let e,n;return e=new Ze({props:{deviceList:t[13],showInput:On,addDevInList:t[37],newDevice:t[12]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};8192&n[0]&&(s.deviceList=t[13]),4096&n[0]&&(s.newDevice=t[12]),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 Ln(t){let e,n,l,r,o,c,i,a,u,d,$,b,x,k,_,J,q,S,L,C,O,T,M,E,N,H,P,A,B,z,I,R,F,W,U,Y,K,X,st,lt,rt,ot,ct,it,at=t[14]&&xn(),ut=t[13],dt=[];for(let e=0;e",_=w(),J=h("ul"),q=h("li"),S=h("a"),S.textContent="Управление",L=w(),C=h("li"),O=h("a"),O.textContent="Конфигуратор",T=w(),M=h("li"),E=h("a"),E.textContent="Подключение",N=w(),H=h("li"),P=h("a"),P.textContent="Устройства",A=w(),B=h("li"),z=h("a"),z.textContent="Системные",I=w(),R=h("main"),F=h("ul"),W=h("div"),Y.c(),K=w(),tt(X.$$.fragment),lt=w(),rt=h("footer"),rt.innerHTML='
Developed by Dmitry Borisenko
',y(c,"class","border border-indigo-500 border-4"),void 0===t[11]&&D((()=>t[25].call(c))),y(o,"class","px-15 py-1"),y(a,"class","pl-4 pr-4 py-1"),y(r,"class","flex content-center items-center justify-end"),y(l,"class","h-10 w-full bg-gray-100 overflow-auto shadow-md"),y(b,"id","menu__toggle"),y(b,"type","checkbox"),y(k,"class","menu__btn"),y(k,"for","menu__toggle"),y(S,"class","menu__item"),y(S,"href","/"),y(O,"class","menu__item"),y(O,"href","/config"),y(E,"class","menu__item"),y(E,"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",st="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")),y(rt,"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),at&&at.m(e,null),f(e,n),f(e,l),f(l,r),f(r,o),f(o,c);for(let t=0;t{at=null})),Z()),8192&s[0]){let e;for(ut=t[13],e=0;e{pt[r]=null})),Z(),Y=pt[U],Y?Y.p(t,s):(Y=pt[U]=ft[U](t),Y.c()),G(Y,1),Y.m(W,K));const o={};12288&s[0]|536870912&s[2]&&(o.$$scope={dirty:s,ctx:t}),X.$set(o),(!ot||3&s[0]&&st!==(st="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")))&&y(R,"class",st)},i(t){ot||(G(at),G(u.$$.fragment,t),G(Y),G(X.$$.fragment,t),ot=!0)},o(t){V(at),V(u.$$.fragment,t),V(Y),V(X.$$.fragment,t),ot=!1},d(t){t&&g(e),at&&at.d(),m(dt,t),nt(u),pt[U].d(),nt(X),ct=!1,s(it)}}}let Cn=401,On=!1;function Tn(t,e,n){let s;o(t,bt,(t=>n(55,s=t))),bt.mode.hash();let l,r=!1,c=!1,i=document.location.hostname,a=[],u=[],d=!1,f=[],p=!1,g=[],m=!1,h=[],$=!1,b={},w=!1,x={},v={},y=[],k=!1,_=0,J=!0,j={},S=[];S=[{name:"--",id:"--",ip:i,status:!1}];let L=[];var C=function(){this.parts=[]};let T;C.prototype.append=function(t){this.parts.push(t),this.blob=void 0},C.prototype.getBlob=function(){return this.blob||(this.blob=new Blob(this.parts,{type:"binary"})),this.blob},C.prototype.clear=function(){this.parts=[]};var M=new C,E=new C,N=new C,H=new C,P=new C;function A(){void 0!==_&&(Z(_,T),Z(_,"/all|"))}function B(){et(_);let t=0;S.forEach((e=>{e.ws=t,e.status||(D(t),R(t)),t++})),n(13,S)}function z(t,e){S.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(13,S),et(_),n(10,k=l.status)}function D(t){let e=I(t);"error"===e?console.log("[e]","device list wrong"):(y[t]=new WebSocket("ws://"+e+":81"),y.binaryType="blob",console.log("[i]",e,"started connecting..."))}function I(t){let e="error";return S.forEach((n=>{t===n.ws&&(e=n.ip)})),e}function R(t){if(y[t]){let e=I(t);console.log("[i]",e,"web socket events added"),y[t].addEventListener("open",(function(n){console.log("[i]",e,"completed connecting"),z(t,!0),A()})),y[t].addEventListener("message",(function(t){if("string"==typeof t.data){let o=t.data;if(o.includes("status")&&st(o)){!function(t){for(let e=0;et.ip))),S=[...s,...l.filter((t=>!r.has(t.ip)))])),n(13,S),X(),B(),console.log("✔","incDeviceList json parced")),o.includes("errors")&&st(o)&&(n(8,x=JSON.parse(o)),n(8,x),console.log("✔","errorsJson json parced")),"/st/config.json"===o&&(d=!0),"/end/config.json"===o){d=!1;var e=M.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;st(e)&&(n(3,u=JSON.parse(e)),n(3,u),console.log("✔","configJson parced"))}}if("/st/widgets.json"===o&&(p=!0),"/end/widgets.json"===o){p=!1;e=E.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;st(e)&&(n(4,f=JSON.parse(e)),n(4,f),console.log("✔","widgetsJson parced"))}}if("/st/items.json"===o&&(m=!0),"/end/items.json"===o){m=!1;e=N.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;st(e)&&(n(5,g=JSON.parse(e)),n(5,g),console.log("✔","itemsJson parced"))}}if("/st/layout.json"===o&&($=!0),"/end/layout.json"===o){$=!1;e=H.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;st(e)&&(n(6,h=JSON.parse(e)),n(6,h),V(),console.log("✔","layoutJson parced"))}}if("/st/settings.json"===o&&(w=!0),"/end/settings.json"===o){w=!1;e=P.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;st(e)&&(n(7,b=JSON.parse(e)),n(7,b),V(),function(){for(let t=0;t{console.log("[e]",e,"connection closed"),z(t,!1)})),y[t].addEventListener("error",(function(n){console.log("[e]",e,"connection error"),z(t,!1)}))}else console.log("[e]","socket not exist")}function F(){Z(_,"/tuoyal|"+JSON.stringify(function(){let t=[];for(let e=0;e5?Z(_,"/sgnittes|"+JSON.stringify(b)):window.alert("Ошибка"),Y(),A()}function U(){var t=Object.keys(b).length;console.log("[i]","settingsJson length: "+t),t>5?Z(_,"/sgnittes|"+JSON.stringify(b)):window.alert("Ошибка"),Y(),A(),Z(_,"/mqtt|"),n(8,x.mqtt="e13",x)}function Y(){n(3,u=[]),M.clear(),n(4,f=[]),E.clear(),n(5,g=[]),N.clear(),n(6,h=[]),H.clear(),n(7,b={}),P.clear(),n(8,x={}),console.log("[i]","all app data cleared")}function K(t,e,n){let s=e+" "+n;console.log("[i]","send to ws msg:",s),Z(t,s)}function Q(){setTimeout(Q,2e4),console.log("[i]","----timer tick----"),J||S.forEach((t=>{!function(t){let e=!1;return S.forEach((n=>{t===n.ws&&(e=n.status)})),e}(t.ws)?(D(t.ws),R(t.ws)):Z(t.ws,"/tst|")})),J=!1}function Z(t,e){y[t]&&1===y[t].readyState?(y[t].send(e),console.log("[i]",I(t),"msg send success",e)):console.log("[e]",I(t),"msg not send",e)}function G(){n(2,a=[]);Array.from(new Set(Array.from(h,(({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 V(){G(),n(6,h)}function X(){et(_),n(10,k=l.status)}function tt(){X(),Y(),A(),console.log("[i]","user selected device:",l.name),l.ip===i&&console.log("[i]","user selected original device",l.name)}function et(t){for(let e=0;e{console.log("[i]","mounted"),B(),Q(),X(),G()}));return[r,c,a,u,f,g,h,b,x,v,k,_,j,S,ot,F,W,U,K,tt,nt,lt,rt,it,ut,function(){_=q(this),n(11,_),n(13,S)},()=>tt(),function(){r=this.checked,n(0,r)},()=>lt(),(t,e,n)=>K(t,e,n),()=>F(),()=>it(),()=>rt(),()=>W(),()=>U(),()=>it(),t=>ut(t),()=>nt()]}return new class extends lt{constructor(t){super(),st(this,t,Tn,Ln,r,{},null,[-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;C(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]&&(M.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=T("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 bt.goto(t,!0)}if(l.meta=c&&{from:r,url:n,query:o,match:c.part,pattern:l.pattern,breadcrumbs:l.parent&&l.parent.meta&&l.parent.meta.breadcrumbs.slice()||[],params:c.params,subscribe:s.subscribe},l.breadcrumb&&l.meta&&l.meta.breadcrumbs.push({name:l.breadcrumb,path:c.part}),s.set(l.meta),!c||l.fallback||!(!l.exact||l.exact&&c.exact)||l.parent&&l.parent.firstmatch&&l.parent.matched?l.hide():(t.onMeta(l.meta),l.parent&&(l.parent.matched=!0),l.show()),await 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);bt.goto(e,!0)}else t.show()}))}}};return r="tinro",o=l,L().$$.context.set(r,o),O((()=>l.register())),l.router.un=bt.subscribe((t=>{l.router.path=t.path,l.router.url=t.url,l.router.query=t.query,l.router.from=t.from,null!==l.pattern&&l.match()})),l;var r,o}function $t(){return T("tinro").meta}var bt=function(){let{subscribe:t}=ot(gt.get(),(t=>{gt.start(t);let e=function(t){let e=e=>{let n=e.target.closest("a[href]"),s=n&&at(n,"target",!1,"_self"),l=n&&at(n,"tinro-ignore"),r=e.ctrlKey||e.metaKey||e.altKey||e.shiftKey;if("_self"==s&&!l&&!r&&n){let s=n.getAttribute("href").replace(/^\/#/,"");/^\/\/|^[a-zA-Z]+:/.test(s)||(e.preventDefault(),t(s.startsWith("/")?s:n.href.replace(window.location.origin,"")))}};return addEventListener("click",e),()=>removeEventListener("click",e)}(gt.go);return()=>{gt.stop(),e()}}));return{subscribe:t,goto:gt.go,params:wt,meta:$t,useHashNavigation:t=>gt.mode(t?pt.HASH:pt.HISTORY),mode:{hash:()=>gt.mode(pt.HASH),history:()=>gt.mode(pt.HISTORY),memory:()=>gt.mode(pt.MEMORY)}}}();function wt(){return T("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 Ct(t){let e,n,s,l,r,o,c,i;return c=new St({props:{click:t[5]}}),{c(){e=h("div"),n=h("div"),s=h("h1"),l=b(t[0]),r=w(),o=h("div"),tt(c.$$.fragment),y(s,"class","alm-hdr"),y(n,"class","w-11/12"),y(o,"class","flex justify-end w-1/12"),y(e,"class","flex items-center")},m(t,a){p(t,e,a),f(e,n),f(n,s),f(s,l),f(e,r),f(e,o),et(c,o,null),i=!0},p(t,e){(!i||1&e)&&_(l,t[0]);const n={};4&e&&(n.click=t[5]),c.$set(n)},i(t){i||(G(c.$$.fragment,t),i=!0)},o(t){V(c.$$.fragment,t),i=!1},d(t){t&&g(e),nt(c)}}}function Lt(e){let n,s;return{c(){n=h("h1"),s=b(e[0]),y(n,"class","alm-hdr")},m(t,e){p(t,n,e),f(n,s)},p(t,e){1&e&&_(s,t[0])},i:t,o:t,d(t){t&&g(n)}}}function Ot(t){let e,n,s,l,r;const o=[Lt,Ct],i=[];function m(t,e){return t[0]&&!t[1]?0:t[0]&&t[1]?1:-1}~(n=m(t))&&(s=i[n]=o[n](t));const $=t[4].default,b=c($,t,t[3],null);return{c(){e=h("div"),s&&s.c(),l=w(),b&&b.c(),y(e,"class","alm")},m(t,s){p(t,e,s),~n&&i[n].m(e,null),f(e,l),b&&b.m(e,null),r=!0},p(t,[c]){let f=n;n=m(t),n===f?~n&&i[n].p(t,c):(s&&(Q(),V(i[f],1,1,(()=>{i[f]=null})),Z()),~n?(s=i[n],s?s.p(t,c):(s=i[n]=o[n](t),s.c()),G(s,1),s.m(e,l)):s=null),b&&b.p&&(!r||8&c)&&u(b,$,t,t[3],r?a($,t[3],c,null):d(t[3]),null)},i(t){r||(G(s),G(b,t),r=!0)},o(t){V(s),V(b,t),r=!1},d(t){t&&g(e),~n&&i[n].d(),b&&b.d(t)}}}function Tt(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 Mt extends lt{constructor(t){super(),st(this,t,Tt,Ot,r,{title:0,cross:1,close:2})}}function Et(e){let n;return{c(){n=h("div"),n.innerHTML=' \n
',y(n,"class","z-50")},m(t,e){p(t,n,e)},p:t,i:t,o:t,d(t){t&&g(n)}}}class Nt extends lt{constructor(t){super(),st(this,t,null,Et,r,{})}}function Ht(t){let e,n;return{c(){e=h("h1"),n=b(t[0]),y(e,"class","crd-hdr")},m(t,s){p(t,e,s),f(e,n)},p(t,e){1&e&&_(n,t[0])},d(t){t&&g(e)}}}function Pt(t){let e,n,s,l=t[0]&&Ht(t);const r=t[2].default,o=c(r,t,t[1],null);return{c(){e=h("div"),l&&l.c(),n=w(),o&&o.c(),y(e,"class","crd")},m(t,r){p(t,e,r),l&&l.m(e,null),f(e,n),o&&o.m(e,null),s=!0},p(t,[c]){t[0]?l?l.p(t,c):(l=Ht(t),l.c(),l.m(e,n)):l&&(l.d(1),l=null),o&&o.p&&(!s||2&c)&&u(o,r,t,t[1],s?a(r,t[1],c,null):d(t[1]),null)},i(t){s||(G(o,t),s=!0)},o(t){V(o,t),s=!1},d(t){t&&g(e),l&&l.d(),o&&o.d(t)}}}function At(t,e,n){let{$$slots:s={},$$scope:l}=e,{title:r=!1}=e;return t.$$set=t=>{"title"in t&&n(0,r=t.title),"$$scope"in t&&n(1,l=t.$$scope)},[r,l,s]}class 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=b(d),o=w(),c=h("div"),m&&m.c(),i=w(),$&&$.c(),a=w(),x&&x.c(),u=w(),v&&v.c(),y(l,"class","wgt-dscr-stl"),y(s,"class","w-2/3"),y(c,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),f(n,s),f(s,l),f(l,r),f(n,o),f(n,c),m&&m.m(c,null),f(c,i),$&&$.m(c,null),f(c,a),x&&x.m(c,null),f(c,u),v&&v.m(c,null)},p(t,[e]){1&e&&d!==(d=(t[0].descr?t[0].descr:"")+"")&&_(r,d),"number"==t[0].type?m?m.p(t,e):(m=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,C,L,O=(e[0].descr?e[0].descr:"")+"";return{c(){n=h("div"),l=h("div"),r=h("label"),o=b(O),c=w(),i=h("div"),a=h("label"),u=h("div"),d=h("input"),$=w(),x=h("div"),k=w(),j=h("div"),y(r,"class","wgt-dscr-stl"),y(l,"class","w-2/3"),y(d,"id",m=e[0].topic),y(d,"type","checkbox"),y(d,"class","sr-only"),y(x,"class","block bg-gray-600 w-10 h-6 rounded-full"),y(j,"class",q="dot "+(1==e[0].send?"bg-red-400":"bg-white")+" absolute left-1 top-1 w-4 h-4 rounded-full transition"),y(u,"class","relative"),y(a,"for",S=e[0].topic),y(a,"class","items-center cursor-pointer"),y(i,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,s){p(t,n,s),f(n,l),f(l,r),f(r,o),f(n,c),f(n,i),f(i,a),f(a,u),f(u,d),J(d,e[0].status),f(u,$),f(u,x),f(u,k),f(u,j),C||(L=[v(d,"change",e[3]),v(d,"change",e[4])],C=!0)},p(t,[e]){1&e&&O!==(O=(t[0].descr?t[0].descr:"")+"")&&_(o,O),1&e&&m!==(m=t[0].topic)&&y(d,"id",m),1&e&&J(d,t[0].status),1&e&&q!==(q="dot "+(1==t[0].send?"bg-red-400":"bg-white")+" absolute left-1 top-1 w-4 h-4 rounded-full transition")&&y(j,"class",q),1&e&&S!==(S=t[0].topic)&&y(a,"for",S)},i:t,o:t,d(t){t&&g(n),C=!1,s(L)}}}function Kt(t,e,n){let{widget:s}=e,{value:l}=e;l=l;let{wsPush:r=((t,e,n)=>{})}=e;return t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"value"in t&&n(2,l=t.value),"wsPush"in t&&n(1,r=t.wsPush)},[s,r,l,()=>(n(0,s.send=!0,s),r(s.ws,s.topic,s.status)),function(){s.status=this.value,n(0,s)}]}class Qt extends lt{constructor(t){super(),st(this,t,Kt,Yt,r,{widget:0,value:2,wsPush:1})}}function Zt(e){let n,s,l,r,o,c,i,a,u,d,m,$,x=(e[0].descr?e[0].descr:"")+"",v=(e[0].status?e[0].status:"")+"",k=(e[0].after?e[0].after:"")+"";return{c(){n=h("div"),s=h("div"),l=h("label"),r=b(x),o=w(),c=h("div"),i=h("label"),a=b(v),u=w(),d=h("label"),m=b(" "),$=b(k),y(l,"class","wgt-dscr-stl"),y(s,"class","w-2/3"),y(i,"class","wgt-adt-stl"),y(d,"class","wgt-adt-stl"),y(c,"class","flex justify-end w-1/3"),y(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),f(n,s),f(s,l),f(l,r),f(n,o),f(n,c),f(c,i),f(i,a),f(c,u),f(c,d),f(d,m),f(d,$)},p(t,[e]){1&e&&x!==(x=(t[0].descr?t[0].descr:"")+"")&&_(r,x),1&e&&v!==(v=(t[0].status?t[0].status:"")+"")&&_(a,v),1&e&&k!==(k=(t[0].after?t[0].after:"")+"")&&_($,k)},i:t,o:t,d(t){t&&g(n)}}}function Gt(t,e,n){let{widget:s}=e,{value:l}=e;return l=l,t.$$set=t=>{"widget"in t&&n(0,s=t.widget),"value"in t&&n(1,l=t.value)},[s,l]}class Vt extends lt{constructor(t){super(),st(this,t,Gt,Zt,r,{widget:0,value:1})}}function Xt(t,e,n){const s=t.slice();return s[8]=e[n],s[10]=n,s}function te(t,e,n){const s=t.slice();return s[11]=e[n],s[12]=e,s[10]=n,s}function ee(t){let e,n;return e=new Bt({props:{title:"Ваша панель управления пуста, вначале добавьте новые элементы в конфигураторе!"}}),{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 ne(t){let e,n,s,l,r="input"===t[11].widget&&se(t),o="toggle"===t[11].widget&&le(t),c="anydata"===t[11].widget&&re(t);return{c(){r&&r.c(),e=w(),o&&o.c(),n=w(),c&&c.c(),s=x()},m(t,i){r&&r.m(t,i),p(t,e,i),o&&o.m(t,i),p(t,n,i),c&&c.m(t,i),p(t,s,i),l=!0},p(t,l){"input"===t[11].widget?r?(r.p(t,l),1&l&&G(r,1)):(r=se(t),r.c(),G(r,1),r.m(e.parentNode,e)):r&&(Q(),V(r,1,1,(()=>{r=null})),Z()),"toggle"===t[11].widget?o?(o.p(t,l),1&l&&G(o,1)):(o=le(t),o.c(),G(o,1),o.m(n.parentNode,n)):o&&(Q(),V(o,1,1,(()=>{o=null})),Z()),"anydata"===t[11].widget?c?(c.p(t,l),1&l&&G(c,1)):(c=re(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 se(t){let e,n,s;function l(e){t[4](e,t[11])}let r={widget:t[11],wsPush:t[3]};return void 0!==t[11].status&&(r.value=t[11].status),e=new Ut({props:r}),E.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[11]),4&l&&(r.wsPush=t[3]),!n&&1&l&&(n=!0,r.value=t[11].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 le(t){let e,n,s;function l(e){t[6](e,t[11])}let r={widget:t[11],wsPush:t[5]};return void 0!==t[11].status&&(r.value=t[11].status),e=new Qt({props:r}),E.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[11]),4&l&&(r.wsPush=t[5]),!n&&1&l&&(n=!0,r.value=t[11].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 re(t){let e,n,s;function l(e){t[7](e,t[11])}let r={widget:t[11]};return void 0!==t[11].status&&(r.value=t[11].status),e=new Vt({props:r}),E.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[11]),!n&&1&l&&(n=!0,r.value=t[11].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=t[11].page===t[8].page&&ne(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[11].page===t[8].page?s?(s.p(t,n),3&n&&G(s,1)):(s=ne(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 ce(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;tV(o[t],1,1,(()=>{o[t]=null}));return{c(){e=h("div"),l&&l.c(),n=w();for(let t=0;t{l=null})),Z()),7&s){let n;for(r=t[1],n=0;n{})}=e;return t.$$set=t=>{"layoutJson"in t&&n(0,s=t.layoutJson),"pages"in t&&n(1,l=t.pages),"wsPush"in t&&n(2,r=t.wsPush)},[s,l,r,(t,e,n)=>r(t,e,n),function(e,l){t.$$.not_equal(l.status,e)&&(l.status=e,n(0,s))},(t,e,n)=>r(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 de extends lt{constructor(t){super(),st(this,t,ue,ae,r,{layoutJson:0,pages:1,wsPush:2})}}function fe(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 pe(t,e,n){let{click:s=(()=>{})}=e;return t.$$set=t=>{"click"in t&&n(0,s=t.click)},[s]}class ge extends lt{constructor(t){super(),st(this,t,pe,fe,r,{click:0})}}function me(t,e,n){const s=t.slice();return s[18]=e[n],s[19]=e,s[20]=n,s}function he(t,e,n){const s=t.slice();return s[21]=e[n][0],s[22]=e[n][1],s[23]=e,s[24]=n,s}function $e(t,e,n){const s=t.slice();return s[25]=e[n],s}function be(t,e,n){const s=t.slice();return s[28]=e[n],s}function we(t){let e,n;return{c(){e=h("optgroup"),y(e,"label",n=t[28].header)},m(t,n){p(t,e,n)},p(t,s){4&s[0]&&n!==(n=t[28].header)&&y(e,"label",n)},d(t){t&&g(e)}}}function xe(t){let e,n,s,l,r=t[28].name+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[28].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[28].name+"")&&_(n,r),4&s[0]&&l!==(l=t[28].num)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function ve(t){let e,n,s=t[28].header&&we(t),l=!t[28].header&&xe(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[28].header?s?s.p(t,r):(s=we(t),s.c(),s.m(e.parentNode,e)):s&&(s.d(1),s=null),t[28].header?l&&(l.d(1),l=null):l?l.p(t,r):(l=xe(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 ye(t){let e,n,s,l,r=t[25].label+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[25].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[25].label+"")&&_(n,r),2&s[0]&&l!==(l=t[25].name)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function ke(t){let e,n=Object.entries(t[18]),s=[];for(let e=0;eV(C[t],1,1,(()=>{C[t]=null}));return{c(){e=h("div"),n=h("select");for(let t=0;tТип \n Id \n Виджет \n Вкладка \n Название \n \n ',u=w(),d=h("tbody");for(let t=0;tt[8].call(n))),o.__value="Выберите пресет",o.value=o.__value,y(r,"class","slct-lg"),y(e,"class","grd-2col2"),y(a,"class","bg-gray-100"),y(d,"class","bg-white"),y(i,"class","tbl"),y(b,"class","btn-lg")},m(s,g){p(s,e,g),f(e,n);for(let t=0;t{})}=e,i=!0;function a(){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),"saveConfig"in t&&n(3,c=t.saveConfig)},[s,l,r,c,o,i,a,u,function(){o=q(this),n(4,o),n(2,r)},()=>a(),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(5,i=!i),t=>u(t),function(t,e,r){e[r][t]=this.value,n(0,s),n(1,l)},()=>c()]}class Le extends lt{constructor(t){super(),st(this,t,Ce,Se,r,{configJson:0,widgetsJson:1,itemsJson:2,saveConfig:3},null,[-1,-1])}}function Oe(t,e,n){const s=t.slice();return s[21]=e[n][0],s[22]=e[n][1],s}function Te(t){let e,n,s,l,r=t[22]+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[22],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[22]+"")&&_(n,r),4&s&&l!==(l=t[22])&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function Me(t){let e,n,s;return n=new Mt({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 Ee(t){let e,n,l,r,o,c,i,a,u,d,$,b,x,k,_,q,S,C,L,O,T,M,E,N,H,P,A,B,z,I,R,F,W,U,Y,K=Object.entries(t[2]),X=[];for(let e=0;eНазвание устройства

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

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

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

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

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

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

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

',A=w(),B=h("div"),z=h("input"),I=w(),tt&&tt.c(),R=w(),F=h("button"),F.textContent="Сохранить",y(n,"class","w-4/6"),y(o,"class","ipt-rnd text-left focus:border-indigo-500"),y(o,"type","text"),y(r,"class","flex justify-end w-3/6"),y(e,"class","crd-itm-psn"),y(a,"class","w-4/6"),y($,"class","ipt-rnd text-left focus:border-indigo-500"),y($,"type","text"),y(d,"class","flex justify-end w-3/6"),y(i,"class","crd-itm-psn"),y(k,"class","w-4/6"),y(S,"class","ipt-rnd text-left focus:border-indigo-500"),y(S,"type","text"),y(q,"class","flex justify-end w-3/6"),y(x,"class","crd-itm-psn"),y(O,"class","w-4/6"),y(E,"class","ipt-rnd text-left focus:border-indigo-500"),void 0===t[0].routerssid&&D((()=>t[10].call(E))),y(M,"class","flex justify-end w-3/6"),y(L,"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,b,g),p(s,x,g),f(x,k),f(x,_),f(x,q),f(q,S),J(S,t[0].appass),p(s,C,g),p(s,L,g),f(L,O),f(L,T),f(L,M),f(M,E);for(let t=0;t{tt=null})),Z())},i(t){W||(G(tt),W=!0)},o(t){V(tt),W=!1},d(t){t&&g(e),t&&g(c),t&&g(i),t&&g(b),t&&g(x),t&&g(C),t&&g(L),m(X,t),t&&g(N),t&&g(H),t&&g(I),tt&&tt.d(t),t&&g(R),t&&g(F),U=!1,s(Y)}}}function Ne(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 He(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 Pe(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 Ae(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 Be(t){let e,n,l,r,o,c,i,a,u,d,m,$,b,x,k,_,j,q,S,C,L,O,T,M,E,N,H,P,A,B,z,D,I,R,F,W,U,Y;function K(t,e){return"e5"===t[1].mqtt?Ae:"e13"===t[1].mqtt?Pe:void 0===t[1].mqtt?He:Ne}let Q=K(t),Z=Q(t);return{c(){e=h("div"),n=h("div"),n.innerHTML='

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

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

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

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

Порт

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

Префикс

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

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

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

Пароль

',D=w(),I=h("div"),R=h("input"),F=w(),W=h("button"),W.textContent="Сохранить",y(n,"class","w-4/6"),y(r,"class","flex justify-center w-3/6 align-baseline text-sm sm:text-sm md:text-base lg:text-base xl:text-base 2xl:text-base break-words"),y(e,"class","crd-itm-psn"),y(i,"class","w-4/6"),y(d,"class","ipt-rnd text-left focus:border-indigo-500"),y(d,"type","text"),y(u,"class","flex justify-end w-3/6"),y(c,"class","crd-itm-psn"),y(b,"class","w-4/6"),y(_,"class","ipt-rnd text-left focus:border-indigo-500"),y(_,"type","text"),y(k,"class","flex justify-end w-3/6"),y($,"class","crd-itm-psn"),y(S,"class","w-4/6"),y(O,"class","ipt-rnd text-left focus:border-indigo-500"),y(O,"type","text"),y(L,"class","flex justify-end w-3/6"),y(q,"class","crd-itm-psn"),y(E,"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(M,"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($,b),f($,x),f($,k),f(k,_),J(_,t[0].mqttPort),p(s,j,g),p(s,q,g),f(q,S),f(q,C),f(q,L),f(L,O),J(O,t[0].mqttPrefix),p(s,T,g),p(s,M,g),f(M,E),f(M,N),f(M,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[14]),v(_,"input",t[15]),v(O,"input",t[16]),v(P,"input",t[17]),v(R,"input",t[18]),v(W,"click",t[19])],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&&O.value!==t[0].mqttPrefix&&J(O,t[0].mqttPrefix),5&e&&P.value!==t[0].mqttUser&&J(P,t[0].mqttUser),5&e&&R.value!==t[0].mqttPass&&J(R,t[0].mqttPass)},d(t){t&&g(e),Z.d(),t&&g(o),t&&g(c),t&&g(m),t&&g($),t&&g(j),t&&g(q),t&&g(T),t&&g(M),t&&g(A),t&&g(B),t&&g(F),t&&g(W),U=!1,s(Y)}}}function ze(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[20]),s=!0)},p:t,d(t){t&&g(n),s=!1,l()}}}function De(t){let e,n,s,l,r,o,c,i;return n=new Bt({props:{title:"Подключение к WiFi",$$slots:{default:[Ee]},$$scope:{ctx:t}}}),l=new Bt({props:{title:"Подключение к MQTT",$$slots:{default:[Be]},$$scope:{ctx:t}}}),c=new Bt({props:{$$slots:{default:[ze]},$$scope:{ctx:t}}}),{c(){e=h("div"),tt(n.$$.fragment),s=w(),tt(l.$$.fragment),r=w(),o=h("div"),tt(c.$$.fragment),y(e,"class","grd-2col1"),y(o,"class","grd-1col1")},m(t,a){p(t,e,a),et(n,e,null),f(e,s),et(l,e,null),p(t,r,a),p(t,o,a),et(c,o,null),i=!0},p(t,[e]){const s={};33554463&e&&(s.$$scope={dirty:e,ctx:t}),n.$set(s);const r={};33554467&e&&(r.$$scope={dirty:e,ctx:t}),l.$set(r);const o={};33554496&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 Ie(t,e,n){let{settingsJson:s}=e,{errorsJson:l}=e,{ssidJson:r}=e,{ssidClick:o=(()=>{})}=e,{saveSett:c=(()=>{})}=e,{saveMqtt:i=(()=>{})}=e,{rebootEsp:a=(()=>{})}=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),"ssidClick"in t&&n(3,o=t.ssidClick),"saveSett"in t&&n(4,c=t.saveSett),"saveMqtt"in t&&n(5,i=t.saveMqtt),"rebootEsp"in t&&n(6,a=t.rebootEsp)},[s,l,r,o,c,i,a,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)},()=>o(),function(){s.routerpass=this.value,n(0,s),n(2,r)},()=>c(),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)},()=>i(),()=>a()]}class Re extends lt{constructor(t){super(),st(this,t,Ie,De,r,{settingsJson:0,errorsJson:1,ssidJson:2,ssidClick:3,saveSett:4,saveMqtt:5,rebootEsp:6})}}function Fe(t,e,n){const s=t.slice();return s[10]=e[n],s[12]=n,s}function We(t){let e,n,s,l,r,o,c,i,a,u,d,m,$,x,v,k,J,j,q,S=t[10].name+"",C=t[10].ip+"",L=t[10].id+"",O=t[10].status?"online":"offline";return j=new St({props:{click:function(){return t[5](t[12])}}}),{c(){e=h("tr"),n=h("td"),s=b(S),l=w(),r=h("td"),o=h("a"),c=b(C),a=w(),u=h("td"),d=b(L),m=w(),$=h("td"),x=b(O),k=w(),J=h("td"),tt(j.$$.fragment),y(n,"class","tbl-bdy-lg ipt-lg w-full"),y(o,"href",i="http://"+t[10].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[10].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[10].name+"")&&_(s,S),(!q||1&n)&&C!==(C=t[10].ip+"")&&_(c,C),(!q||1&n&&i!==(i="http://"+t[10].ip))&&y(o,"href",i),(!q||1&n)&&L!==(L=t[10].id+"")&&_(d,L),(!q||1&n)&&O!==(O=t[10].status?"online":"offline")&&_(x,O),(!q||1&n&&v!==(v="tbl-bdy-lg ipt-lg w-full "+(t[10].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 Ue(t){let e,n,l,r,o,c,i,a,u,d,m,$,b;return{c(){e=h("tr"),n=h("td"),l=h("input"),r=w(),o=h("td"),c=h("input"),i=w(),a=h("td"),u=h("input"),d=w(),m=h("td"),y(l,"class","ipt-lg w-full"),y(l,"type","text"),y(n,"class","tbl-bdy-lg"),y(c,"class","ipt-lg w-full"),y(c,"type","text"),y(o,"class","tbl-bdy-lg"),y(u,"class","ipt-lg w-full"),y(u,"type","text"),y(a,"class","tbl-bdy-lg"),y(m,"class","tbl-bdy-lg"),y(e,"class","txt-sz txt-pad")},m(s,g){p(s,e,g),f(e,n),f(n,l),J(l,t[2].name),f(e,r),f(e,o),f(o,c),J(c,t[2].ip),f(e,i),f(e,a),f(a,u),J(u,t[2].id),f(e,d),f(e,m),$||(b=[v(l,"input",t[6]),v(c,"input",t[7]),v(u,"input",t[8])],$=!0)},p(t,e){4&e&&l.value!==t[2].name&&J(l,t[2].name),4&e&&c.value!==t[2].ip&&J(c,t[2].ip),4&e&&u.value!==t[2].id&&J(u,t[2].id)},d(t){t&&g(e),$=!1,s(b)}}}function Ye(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]&&Ue(t);return{c(){e=h("table"),n=h("thead"),n.innerHTML='Название устройства \n IP адрес \n Идентификатор \n Состояние \n ',s=w(),l=h("tbody");for(let t=0;t{})}=e;function c(t){for(let e=0;e{"deviceList"in t&&n(0,s=t.deviceList),"showInput"in t&&n(1,l=t.showInput),"newDevice"in t&&n(2,r=t.newDevice),"addDevInList"in t&&n(3,o=t.addDevInList)},[s,l,r,o,c,t=>c(t),function(){r.name=this.value,n(2,r)},function(){r.ip=this.value,n(2,r)},function(){r.id=this.value,n(2,r)},()=>(n(1,l=!l),o())]}class Ge extends lt{constructor(t){super(),st(this,t,Ze,Qe,r,{deviceList:0,showInput:1,newDevice:2,addDevInList:3})}}function Ve(t,e,n){const s=t.slice();return s[8]=e[n][0],s[9]=e[n][1],s}function Xe(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 tn(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 en(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 nn(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 sn(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 ln(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 rn(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 on(t){let e,n,s,l,r,o,c,i,a,u,d,m,$,x,v,k,J,j,q,S,C,L,O,T,M,E,N,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&&Xe(),rt=1===t[1].rssi&&tn(),ot=2===t[1].rssi&&en(),ct=3===t[1].rssi&&nn(),it=4===t[1].rssi&&sn(),at=5===t[1].rssi&&ln(),ut=6===t[1].rssi&&rn();return{c(){e=h("div"),n=h("div"),n.innerHTML='

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

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

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

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

Uptime устройства

',J=w(),j=h("div"),q=h("p"),S=b(et),C=w(),L=h("div"),O=h("div"),O.innerHTML='

Uptime сессии mqtt

',T=w(),M=h("div"),E=h("p"),N=b(nt),H=w(),P=h("div"),A=h("div"),A.innerHTML='

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

',B=w(),z=h("div"),lt&<.c(),D=w(),rt&&rt.c(),I=w(),ot&&ot.c(),R=w(),ct&&ct.c(),F=w(),it&&it.c(),W=w(),at&&at.c(),U=w(),ut&&ut.c(),Y=w(),K=h("div"),Q=h("div"),Q.innerHTML='

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

',Z=w(),G=h("div"),V=h("p"),X=b(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(O,"class","w-3/4"),y(E,"class","text-gray-500 font-bold"),y(M,"class","flex justify-center w-1/4"),y(L,"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,C,g),p(t,L,g),f(L,O),f(L,T),f(L,M),f(M,E),f(E,N),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+"")&&_(N,nt),0===t[1].rssi?lt||(lt=Xe(),lt.c(),lt.m(z,D)):lt&&(lt.d(1),lt=null),1===t[1].rssi?rt||(rt=tn(),rt.c(),rt.m(z,I)):rt&&(rt.d(1),rt=null),2===t[1].rssi?ot||(ot=en(),ot.c(),ot.m(z,R)):ot&&(ot.d(1),ot=null),3===t[1].rssi?ct||(ct=nn(),ct.c(),ct.m(z,F)):ct&&(ct.d(1),ct=null),4===t[1].rssi?it||(it=sn(),it.c(),it.m(z,W)):it&&(it.d(1),it=null),5===t[1].rssi?at||(at=ln(),at.c(),at.m(z,U)):at&&(at.d(1),at=null),6===t[1].rssi?ut||(ut=rn(),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(C),t&&g(L),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 cn(t){let e,n;function s(){return t[5](t[8])}return e=new Mt({props:{title:t[4][t[8]][t[9]].descr,cross:t[4][t[8]][t[9]].cancel,close:s,$$slots:{default:[un]},$$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[4][t[8]][t[9]].descr),2&l&&(r.cross=t[4][t[8]][t[9]].cancel),10&l&&(r.close=s),4098&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 an(t){let e,n,s="Количество: "+t[1][t[8]+"n"];return{c(){e=h("p"),n=b(s),y(e,"class","break-words text-center")},m(t,s){p(t,e,s),f(e,n)},p(t,e){2&e&&s!==(s="Количество: "+t[1][t[8]+"n"])&&_(n,s)},d(t){t&&g(e)}}}function un(t){let e,n,s,l,r=t[4][t[8]][t[9]].txt+"",o=t[4][t[8]][t[9]].num&&an(t);return{c(){e=h("p"),n=b(r),s=w(),o&&o.c(),l=w(),y(e,"class","break-words text-center")},m(t,r){p(t,e,r),f(e,n),p(t,s,r),o&&o.m(t,r),p(t,l,r)},p(t,e){2&e&&r!==(r=t[4][t[8]][t[9]].txt+"")&&_(n,r),t[4][t[8]][t[9]].num?o?o.p(t,e):(o=an(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 dn(t){let e,n,s=t[8]in t[4]&&t[9]in t[4][t[8]]&&cn(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[8]in t[4]&&t[9]in t[4][t[8]]?s?(s.p(t,n),2&n&&G(s,1)):(s=cn(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 fn(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{})}=e,{cancelAlarm:o=(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),"cancelAlarm"in t&&n(3,o=t.cancelAlarm)},[s,l,r,o,{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}}},t=>o(t),()=>r()]}class hn extends lt{constructor(t){super(),st(this,t,mn,gn,r,{version:0,errorsJson:1,rebootEsp:2,cancelAlarm:3})}}function $n(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 bn(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 wn extends lt{constructor(t){super(),st(this,t,bn,$n,r,{color:0,x:1,y:2})}}function xn(t,e,n){const s=t.slice();return s[88]=e[n],s}function vn(t){let e,n;return e=new Nt({}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},i(t){n||(G(e.$$.fragment,t),n=!0)},o(t){V(e.$$.fragment,t),n=!1},d(t){nt(e,t)}}}function yn(t){let e,n,s,l,r=t[88].name+"";return{c(){e=h("option"),n=b(r),s=w(),e.__value=l=t[88].ws,e.value=e.__value},m(t,l){p(t,e,l),f(e,n),f(e,s)},p(t,s){8192&s[0]&&r!==(r=t[88].name+"")&&_(n,r),8192&s[0]&&l!==(l=t[88].ws)&&(e.__value=l,e.value=e.__value)},d(t){t&&g(e)}}}function kn(t){let e,n,s,l,r,o,c,i;return e=new Jt({props:{path:"/",$$slots:{default:[Jn]},$$scope:{ctx:t}}}),s=new Jt({props:{path:"/config",$$slots:{default:[jn]},$$scope:{ctx:t}}}),r=new Jt({props:{path:"/connection",$$slots:{default:[qn]},$$scope:{ctx:t}}}),c=new Jt({props:{path:"/system",$$slots:{default:[Sn]},$$scope:{ctx:t}}}),{c(){tt(e.$$.fragment),n=w(),tt(s.$$.fragment),l=w(),tt(r.$$.fragment),o=w(),tt(c.$$.fragment)},m(t,a){et(e,t,a),p(t,n,a),et(s,t,a),p(t,l,a),et(r,t,a),p(t,o,a),et(c,t,a),i=!0},p(t,n){const l={};68&n[0]|536870912&n[2]&&(l.$$scope={dirty:n,ctx:t}),e.$set(l);const o={};56&n[0]|536870912&n[2]&&(o.$$scope={dirty:n,ctx:t}),s.$set(o);const i={};896&n[0]|536870912&n[2]&&(i.$$scope={dirty:n,ctx:t}),r.$set(i);const a={};384&n[0]|536870912&n[2]&&(a.$$scope={dirty:n,ctx:t}),c.$set(a)},i(t){i||(G(e.$$.fragment,t),G(s.$$.fragment,t),G(r.$$.fragment,t),G(c.$$.fragment,t),i=!0)},o(t){V(e.$$.fragment,t),V(s.$$.fragment,t),V(r.$$.fragment,t),V(c.$$.fragment,t),i=!1},d(t){nt(e,t),t&&g(n),nt(s,t),t&&g(l),nt(r,t),t&&g(o),nt(c,t)}}}function _n(e){let n,s;return n=new Mt({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 Jn(t){let e,n;return e=new de({props:{layoutJson:t[6],pages:t[2],wsPush:t[29]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};64&n[0]&&(s.layoutJson=t[6]),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 jn(t){let e,n;return e=new Le({props:{configJson:t[3],widgetsJson:t[4],itemsJson:t[5],saveConfig:t[30]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};8&n[0]&&(s.configJson=t[3]),16&n[0]&&(s.widgetsJson=t[4]),32&n[0]&&(s.itemsJson=t[5]),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 qn(t){let e,n;return e=new Re({props:{rebootEsp:t[31],ssidClick:t[32],saveSett:t[33],saveMqtt:t[34],settingsJson:t[7],errorsJson:t[8],ssidJson:t[9]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};128&n[0]&&(s.settingsJson=t[7]),256&n[0]&&(s.errorsJson=t[8]),512&n[0]&&(s.ssidJson=t[9]),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 Sn(t){let e,n;return e=new hn({props:{settingsJson:t[7],errorsJson:t[8],rebootEsp:t[35],cancelAlarm:t[36],version:On}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};128&n[0]&&(s.settingsJson=t[7]),256&n[0]&&(s.errorsJson=t[8]),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 Cn(t){let e,n;return e=new Ge({props:{deviceList:t[13],showInput:Tn,addDevInList:t[37],newDevice:t[12]}}),{c(){tt(e.$$.fragment)},m(t,s){et(e,t,s),n=!0},p(t,n){const s={};8192&n[0]&&(s.deviceList=t[13]),4096&n[0]&&(s.newDevice=t[12]),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 Ln(t){let e,n,l,r,o,c,i,a,u,d,$,b,x,k,_,J,q,S,C,L,O,T,M,E,N,H,P,A,B,z,I,R,F,W,U,Y,K,X,st,lt,rt,ot,ct,it,at=t[14]&&vn(),ut=t[13],dt=[];for(let e=0;e",_=w(),J=h("ul"),q=h("li"),S=h("a"),S.textContent="Управление",C=w(),L=h("li"),O=h("a"),O.textContent="Конфигуратор",T=w(),M=h("li"),E=h("a"),E.textContent="Подключение",N=w(),H=h("li"),P=h("a"),P.textContent="Устройства",A=w(),B=h("li"),z=h("a"),z.textContent="Системные",I=w(),R=h("main"),F=h("ul"),W=h("div"),Y.c(),K=w(),tt(X.$$.fragment),lt=w(),rt=h("footer"),rt.innerHTML='
Developed by Dmitry Borisenko
',y(c,"class","border border-indigo-500 border-4"),void 0===t[11]&&D((()=>t[25].call(c))),y(o,"class","px-15 py-1"),y(a,"class","pl-4 pr-4 py-1"),y(r,"class","flex content-center items-center justify-end"),y(l,"class","h-10 w-full bg-gray-100 overflow-auto shadow-md"),y(b,"id","menu__toggle"),y(b,"type","checkbox"),y(k,"class","menu__btn"),y(k,"for","menu__toggle"),y(S,"class","menu__item"),y(S,"href","/"),y(O,"class","menu__item"),y(O,"href","/config"),y(E,"class","menu__item"),y(E,"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",st="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")),y(rt,"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),at&&at.m(e,null),f(e,n),f(e,l),f(l,r),f(r,o),f(o,c);for(let t=0;t{at=null})),Z()),8192&s[0]){let e;for(ut=t[13],e=0;e{pt[r]=null})),Z(),Y=pt[U],Y?Y.p(t,s):(Y=pt[U]=ft[U](t),Y.c()),G(Y,1),Y.m(W,K));const o={};12288&s[0]|536870912&s[2]&&(o.$$scope={dirty:s,ctx:t}),X.$set(o),(!ot||3&s[0]&&st!==(st="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")))&&y(R,"class",st)},i(t){ot||(G(at),G(u.$$.fragment,t),G(Y),G(X.$$.fragment,t),ot=!0)},o(t){V(at),V(u.$$.fragment,t),V(Y),V(X.$$.fragment,t),ot=!1},d(t){t&&g(e),at&&at.d(),m(dt,t),nt(u),pt[U].d(),nt(X),ct=!1,s(it)}}}let On=401,Tn=!1;function Mn(t,e,n){let s;o(t,bt,(t=>n(55,s=t))),bt.mode.hash();let l,r=!1,c=!1,i=document.location.hostname,a=[],u=[],d=!1,f=[],p=!1,g=[],m=!1,h=[],$=!1,b={},w=!1,x={},v={},y=[],k=!1,_=0,J=!0,j={},S=[];S=[{name:"--",id:"--",ip:i,status:!1}];let C=[];var L=function(){this.parts=[]};let T;L.prototype.append=function(t){this.parts.push(t),this.blob=void 0},L.prototype.getBlob=function(){return this.blob||(this.blob=new Blob(this.parts,{type:"binary"})),this.blob},L.prototype.clear=function(){this.parts=[]};var M=new L,E=new L,N=new L,H=new L,P=new L;function A(){void 0!==_&&Z(_,T)}function B(){et(_);let t=0;S.forEach((e=>{e.ws=t,e.status||(D(t),R(t)),t++})),n(13,S)}function z(t,e){S.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(13,S),et(_),n(10,k=l.status)}function D(t){let e=I(t);"error"===e?console.log("[e]","device list wrong"):(y[t]=new WebSocket("ws://"+e+":81"),y.binaryType="blob",console.log("[i]",e,"started connecting..."))}function I(t){let e="error";return S.forEach((n=>{t===n.ws&&(e=n.ip)})),e}function R(t){if(y[t]){let e=I(t);console.log("[i]",e,"web socket events added"),y[t].addEventListener("open",(function(n){console.log("[i]",e,"completed connecting"),z(t,!0),A()})),y[t].addEventListener("message",(function(t){if("string"==typeof t.data){let o=t.data;if(o.includes("status")&&st(o)){!function(t){for(let e=0;et.ip))),S=[...s,...l.filter((t=>!r.has(t.ip)))])),n(13,S),X(),B(),console.log("✔","incDeviceList json parced")),o.includes("errors")&&st(o)&&(n(8,x=JSON.parse(o)),n(8,x),console.log("✔","errorsJson json parced")),"/st/config.json"===o&&(d=!0),"/end/config.json"===o){d=!1;var e=M.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;st(e)&&(n(3,u=JSON.parse(e)),n(3,u),console.log("✔","configJson parced"))}}if("/st/widgets.json"===o&&(p=!0),"/end/widgets.json"===o){p=!1;e=E.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;st(e)&&(n(4,f=JSON.parse(e)),n(4,f),console.log("✔","widgetsJson parced"))}}if("/st/items.json"===o&&(m=!0),"/end/items.json"===o){m=!1;e=N.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;st(e)&&(n(5,g=JSON.parse(e)),n(5,g),console.log("✔","itemsJson parced"))}}if("/st/layout.json"===o&&($=!0),"/end/layout.json"===o){$=!1;e=H.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;st(e)&&(n(6,h=JSON.parse(e)),n(6,h),V(),console.log("✔","layoutJson parced"))}}if("/st/settings.json"===o&&(w=!0),"/end/settings.json"===o){w=!1;e=P.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;st(e)&&(n(7,b=JSON.parse(e)),n(7,b),V(),function(){for(let t=0;t{console.log("[e]",e,"connection closed"),z(t,!1)})),y[t].addEventListener("error",(function(n){console.log("[e]",e,"connection error"),z(t,!1)}))}else console.log("[e]","socket not exist")}function F(){Z(_,"/tuoyal|"+JSON.stringify(function(){let t=[];for(let e=0;e5?Z(_,"/sgnittes|"+JSON.stringify(b)):window.alert("Ошибка"),Y(),A()}function U(){var t=Object.keys(b).length;console.log("[i]","settingsJson length: "+t),t>5?Z(_,"/sgnittes|"+JSON.stringify(b)):window.alert("Ошибка"),Y(),Z(_,"/mqtt|")}function Y(){n(3,u=[]),M.clear(),n(4,f=[]),E.clear(),n(5,g=[]),N.clear(),n(6,h=[]),H.clear(),n(7,b={}),P.clear(),n(8,x={}),console.log("[i]","all app data cleared")}function K(t,e,n){let s=e+" "+n;console.log("[i]","send to ws msg:",s),Z(t,s)}function Q(){setTimeout(Q,2e4),console.log("[i]","----timer tick----"),J||S.forEach((t=>{!function(t){let e=!1;return S.forEach((n=>{t===n.ws&&(e=n.status)})),e}(t.ws)?(D(t.ws),R(t.ws)):Z(t.ws,"/tst|")})),J=!1}function Z(t,e){y[t]&&1===y[t].readyState?(y[t].send(e),console.log("[i]",I(t),"msg send success",e)):console.log("[e]",I(t),"msg not send",e)}function G(){n(2,a=[]);Array.from(new Set(Array.from(h,(({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 V(){G(),n(6,h)}function X(){et(_),n(10,k=l.status)}function tt(){X(),Y(),A(),console.log("[i]","user selected device:",l.name),l.ip===i&&console.log("[i]","user selected original device",l.name)}function et(t){for(let e=0;e{console.log("[i]","mounted"),B(),Q(),X(),G()}));return[r,c,a,u,f,g,h,b,x,v,k,_,j,S,ot,F,W,U,K,tt,nt,lt,rt,it,ut,function(){_=q(this),n(11,_),n(13,S)},()=>tt(),function(){r=this.checked,n(0,r)},()=>lt(),(t,e,n)=>K(t,e,n),()=>F(),()=>it(),()=>rt(),()=>W(),()=>U(),()=>it(),t=>ut(t),()=>nt()]}return new class extends lt{constructor(t){super(),st(this,t,Mn,Ln,r,{},null,[-1,-1,-1])}}({target:document.body,props:{name:"world"}})}(); //# sourceMappingURL=bundle.js.map diff --git a/include/MqttClient.h b/include/MqttClient.h index 385bd2cc..3d5c1473 100644 --- a/include/MqttClient.h +++ b/include/MqttClient.h @@ -28,4 +28,6 @@ void publishWidgets(); void publishState(); void mqttCallback(char* topic, uint8_t* payload, size_t length); +void handleMqttStatus(bool send); +void handleMqttStatus(bool send, int state); const String getStateStr(int e); diff --git a/src/MqttClient.cpp b/src/MqttClient.cpp index b12c074c..0648d408 100644 --- a/src/MqttClient.cpp +++ b/src/MqttClient.cpp @@ -9,16 +9,16 @@ void mqttInit() { SerialPrint("I", F("WIFI"), F("OK")); if (mqtt.connected()) { SerialPrint("I", F("MQTT"), "OK"); - jsonWriteStr_(errorsHeapJson, F("mqtt"), getStateStr(mqtt.state())); + handleMqttStatus(false); static unsigned int prevMillis; mqttUptime = mqttUptime + (millis() - prevMillis); prevMillis = millis(); - + // setLedStatus(LED_OFF); } else { SerialPrint("E", F("MQTT"), F("✖ Connection lost")); - jsonWriteStr_(errorsHeapJson, F("mqtt"), getStateStr(mqtt.state())); + handleMqttStatus(false); mqttUptime = 0; mqttConnect(); } @@ -43,8 +43,9 @@ boolean mqttConnect() { bool res = false; if (mqttServer == "") { SerialPrint("E", "MQTT", F("mqttServer empty")); - jsonWriteStr_(errorsHeapJson, F("mqtt"), getStateStr(6)); - standWebSocket.broadcastTXT(errorsHeapJson); + + handleMqttStatus(true, 6); + return res; } SerialPrint("I", "MQTT", "connection started"); @@ -66,23 +67,20 @@ boolean mqttConnect() { SerialPrint("I", F("MQTT"), F("Go to connection without login and password")); } else { SerialPrint("E", F("MQTT"), F("✖ Login or password missed")); - jsonWriteStr_(errorsHeapJson, F("mqtt"), getStateStr(7)); - standWebSocket.broadcastTXT(errorsHeapJson); + handleMqttStatus(true, 7); return res; } - if (mqtt.connected()) { + if (mqtt.state() == 0) { SerialPrint("I", F("MQTT"), F("✔ connected")); - jsonWriteStr_(errorsHeapJson, F("mqtt"), getStateStr(mqtt.state())); - standWebSocket.broadcastTXT(errorsHeapJson); - // setLedStatus(LED_OFF); + handleMqttStatus(true); + // setLedStatus(LED_OFF); mqttSubscribe(); res = true; } else { SerialPrint("E", F("MQTT"), "🡆 Could't connect, retry in " + String(MQTT_RECONNECT_INTERVAL / 1000) + "s"); - jsonWriteStr_(errorsHeapJson, F("mqtt"), getStateStr(mqtt.state())); - standWebSocket.broadcastTXT(errorsHeapJson); - // setLedStatus(LED_FAST); + handleMqttStatus(true); + // setLedStatus(LED_FAST); } } return res; @@ -319,45 +317,59 @@ void publishState() { //} } +void handleMqttStatus(bool send) { + String stateStr = getStateStr(mqtt.state()); + Serial.println(stateStr); + jsonWriteStr_(errorsHeapJson, F("mqtt"), stateStr); + if (!send) standWebSocket.broadcastTXT(errorsHeapJson); +} + +void handleMqttStatus(bool send, int state) { + String stateStr = getStateStr(state); + Serial.println(stateStr); + jsonWriteStr_(errorsHeapJson, F("mqtt"), stateStr); + if (!send) standWebSocket.broadcastTXT(errorsHeapJson); +} + const String getStateStr(int e) { switch (e) { - case -4: + case -4: //Нет ответа от сервера return F("e1"); break; - case -3: + case -3: //Соединение было разорвано return F("e2"); break; - case -2: + case -2: //Ошибка соединения. Обычно возникает когда неверно указано название сервера MQTT return F("e3"); break; - case -1: + case -1: //Клиент был отключен return F("e4"); break; - case 0: + case 0: //подключено return F("e5"); break; - case 1: + case 1: //Ошибка версии return F("e6"); break; - case 2: + case 2: //Отклонен идентификатор return F("e7"); break; - case 3: + case 3: //Не могу установить соединение return F("e8"); break; - case 4: + case 4: //Неправильное имя пользователя/пароль return F("e9"); break; - case 5: + case 5: //Не авторизован для подключения return F("e10"); break; - case 6: + case 6: //Название сервера пустое return F("e11"); break; - case 7: + case 7: //Имя пользователя или пароль пустые return F("e12"); break; - case 8: + case 8: //Подключение в процессе return F("e13"); break; default: diff --git a/src/WsServer.cpp b/src/WsServer.cpp index 0800985a..1e2b860c 100644 --- a/src/WsServer.cpp +++ b/src/WsServer.cpp @@ -47,13 +47,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) SerialPrint("E", "WS " + String(num), "Package without header"); } - // all pages=================================================================== - //**отправка**// - if (headerStr == ("/all|")) { - standWebSocket.sendTXT(num, ssidListHeapJson); - standWebSocket.sendTXT(num, errorsHeapJson); - } - // dashboard=================================================================== + // page dashboard=================================================================== //**отправка**// if (headerStr == "/|") { sendFileToWs("/layout.json", num, 1024); @@ -63,7 +57,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) if (headerStr == "/tuoyal|") { writeFileUint8tByFrames("layout.json", payload, length, headerLenth, 256); } - // configutation=============================================================== + // page configutation================================================================ //**отправка**// if (headerStr == "/config|") { sendFileToWs("/items.json", num, 1024); @@ -75,10 +69,12 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) if (headerStr == "/gifnoc|") { writeFileUint8tByFrames("config.json", payload, length, headerLenth, 256); } - // connection=================================================================== + // page connection=================================================================== //**отправка**// if (headerStr == "/connection|") { sendFileToWs("/settings.json", num, 1024); + standWebSocket.sendTXT(num, ssidListHeapJson); + standWebSocket.sendTXT(num, errorsHeapJson); //запуск асинхронного сканирования wifi сетей при переходе на страницу соединений // RouterFind(jsonReadStr(settingsFlashJson, F("routerssid"))); } @@ -86,6 +82,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) if (headerStr == "/sgnittes|") { writeFileUint8tByFrames("settings.json", payload, length, headerLenth, 256); writeUint8tToString(payload, length, headerLenth, settingsFlashJson); + standWebSocket.sendTXT(num, errorsHeapJson); // settingsFlashJson = readFile(F("settings.json"), 4096); } //**отправка**// @@ -94,26 +91,32 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) RouterFind(jsonReadStr(settingsFlashJson, F("routerssid"))); standWebSocket.sendTXT(num, ssidListHeapJson); } - // list =================================================================== + //**сохранение**// + if (headerStr == "/mqtt|") { + sendFileToWs("/settings.json", num, 1024); //отправляем в ответ новые полученные настройки + handleMqttStatus(false, 8); //меняем статус на неопределенный + mqttReconnect(); //начинаем переподключение + standWebSocket.sendTXT(num, errorsHeapJson); //отправляем что статус неопределен + } + // page list ========================================================================== //**отправка**// if (headerStr == "/list|") { standWebSocket.sendTXT(num, devListHeapJson); } - // system =================================================================== + // page system ========================================================================= + //**отправка**// + if (headerStr == "/system|") { + standWebSocket.sendTXT(num, errorsHeapJson); + } //**сохранение**// if (headerStr == "/rorre|") { writeUint8tValueToJsonString(payload, length, headerLenth, errorsHeapJson); } - // orders =================================================================== + // orders ============================================================================== + //**команда перезагрузки esp**// if (headerStr == "/reboot|") { ESP.restart(); } - if (headerStr == "/mqtt|") { - jsonWriteStr_(errorsHeapJson, F("mqtt"), F("e13")); - // if (jsonReadStr(errorsHeapJson, "mqtt") != "e13") { - mqttReconnect(); - //} - } } break;