From c7b7edf7c9475b01ece240b6195f3a9f21f43935 Mon Sep 17 00:00:00 2001 From: Lukas Bachschwell Date: Wed, 28 Jan 2026 16:16:08 +0100 Subject: [PATCH] regenerate all assets Signed-off-by: Lukas Bachschwell --- data/css/normalize.min.css | 2 +- data/css/style.min.css | 2 +- data/index.min.htm | 2 +- data/js/controls.min.js | 138 +---------------------------------- data/js/graph.min.js | 16 +--- data/js/slider.min.js | 12 +-- data/js/tabbedcontent.min.js | 36 +-------- src/dataGraphJS.h | 18 +---- src/dataIndexHTML.h | 4 +- src/dataNormalizeCSS.h | 4 +- src/dataSliderJS.h | 14 +--- src/dataStyleCSS.h | 4 +- src/dataTabbedcontentJS.h | 38 +--------- src/dataZeptoJS.h | 4 +- tools/README.md | 96 ++++++++++++++++++++++++ 15 files changed, 117 insertions(+), 273 deletions(-) create mode 100644 tools/README.md diff --git a/data/css/normalize.min.css b/data/css/normalize.min.css index 344cf9c..4e8a2b3 100644 --- a/data/css/normalize.min.css +++ b/data/css/normalize.min.css @@ -1 +1 @@ -html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:visible}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0} \ No newline at end of file +html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:initial}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:visible}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0} \ No newline at end of file diff --git a/data/css/style.min.css b/data/css/style.min.css index 386a8ca..27587d5 100644 --- a/data/css/style.min.css +++ b/data/css/style.min.css @@ -1 +1 @@ -.container{position:relative;width:79%;margin:20px;box-sizing:border-box}.column,.columns{width:100%;float:left}.card{min-height:100px;border-radius:6px;box-shadow:0 4px 4px rgba(204,197,185,0.5);padding-left:20px;padding-right:20px;margin-bottom:40px;min-width:500px;color:#fff}@media(min-width:1205px){.wide.card{min-width:1075px}}@media(min-width:1790px){.wide.card{min-width:1650px}}@media(max-width:630px){.card{min-width:98%}}.sectionbreak.columns{color:black}.sectionbreak.columns hr{border:0;height:2px;background-color:#666}.turquoise{background:#1abc9c;border-bottom:#16a085 3px solid}.emerald{background:#2ecc71;border-bottom:#27ae60 3px solid}.peterriver{background:#3498db;border-bottom:#2980b9 3px solid}.wetasphalt{background:#34495e;border-bottom:#2c3e50 3px solid}.sunflower{background:#f1c40f;border-bottom:#e6bb0f 3px solid}.carrot{background:#e67e22;border-bottom:#d35400 3px solid}.alizarin{background:#e74c3c;border-bottom:#c0392b 3px solid}.dark{background:#444857;border-bottom:#444857 3px solid}.label{box-sizing:border-box;white-space:nowrap;border-radius:.2em;padding:.12em .4em .14em;text-align:center;color:#fff;font-weight:700;line-height:1.3;margin-bottom:5px;display:inline-block;white-space:nowrap;vertical-align:baseline;position:relative;top:-.15em;background-color:#999;margin-bottom:10px}.label-wrap{width:90%;white-space:pre-wrap;word-wrap:break-word}.label.color-blue{background-color:#6f9ad1}.label.color-red{background-color:#d37c7c}.label.color-green{background-color:#9bc268}.label.color-orange{background-color:#dea154}.label.color-yellow{background-color:#e9d641}.label.color-purple{background-color:#9f83d1}@media(min-width:400px){.container{width:84%}}@media(min-width:630px){.container{width:98%}.column,.columns{margin-right:35px}.column:first-child,.columns:first-child{margin-left:0}.one.column,.one.columns{width:4.66666666667%}.two.columns{width:13.3333333333%}.three.columns{width:22%}.four.columns{width:30.6666666667%}.five.columns{width:39.3333333333%}.six.columns{width:48%}.seven.columns{width:56.6666666667%}.eight.columns{width:65.3333333333%}.nine.columns{width:74%}.ten.columns{width:82.6666666667%}.eleven.columns{width:91.3333333333%}.twelve.columns{width:100%;margin-left:0}.one-third.column{width:30.6666666667%}.two-thirds.column{width:65.3333333333%}.one-half.column{width:48%}.offset-by-one.column,.offset-by-one.columns{margin-left:8.66666666667%}.offset-by-two.column,.offset-by-two.columns{margin-left:17.3333333333%}.offset-by-three.column,.offset-by-three.columns{margin-left:26%}.offset-by-four.column,.offset-by-four.columns{margin-left:34.6666666667%}.offset-by-five.column,.offset-by-five.columns{margin-left:43.3333333333%}.offset-by-six.column,.offset-by-six.columns{margin-left:52%}.offset-by-seven.column,.offset-by-seven.columns{margin-left:60.6666666667%}.offset-by-eight.column,.offset-by-eight.columns{margin-left:69.3333333333%}.offset-by-nine.column,.offset-by-nine.columns{margin-left:78%}.offset-by-ten.column,.offset-by-ten.columns{margin-left:86.6666666667%}.offset-by-eleven.column,.offset-by-eleven.columns{margin-left:95.3333333333%}.offset-by-one-third.column,.offset-by-one-third.columns{margin-left:34.6666666667%}.offset-by-two-thirds.column,.offset-by-two-thirds.columns{margin-left:69.3333333333%}.offset-by-one-half.column,.offset-by-one-half.columns{margin-left:52%}}html{font-size:62.5%}body{margin:0;font-size:1.5em;line-height:1;font-weight:400;font-family:"Open Sans",sans-serif;color:#222;background-color:#ecf0f1}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:300}h1{font-size:4rem;line-height:1.2;letter-spacing:-.1rem}h2{font-size:3.6rem;line-height:1.25;letter-spacing:-.1rem}h3{font-size:3rem;line-height:1.3;letter-spacing:-.1rem}h4{font-size:2.4rem;line-height:1.35;letter-spacing:-.08rem}h5{font-size:1.8rem;line-height:1.5;letter-spacing:-.05rem}h6{font-size:1.5rem;line-height:1.6;letter-spacing:0}@media(min-width:630px){h1{font-size:5rem}h2{font-size:4.2rem}h3{font-size:3.6rem}h4{font-size:3rem}h5{font-size:2rem}h6{font-size:1.5rem}}p{margin-top:0}a{color:#1eaedb}a:hover{color:#0fa0ce}button{display:inline-block;padding:10px;border-radius:3px;color:#fff;background-color:#999}button:enabled:active{background-color:#666;transform:translateX(4px) translateY(4px)}button.pressed{background-color:#666 !important;transform:translateX(4px) translateY(4px)}#mainHeader{display:inline-block}#conStatus{position:inherit;font-size:.75em}button,.button{margin-bottom:1rem;margin-left:.3rem;margin-right:.3rem}.u-full-width{width:100%;box-sizing:border-box}.u-max-full-width{max-width:100%;box-sizing:border-box}.u-pull-right{float:right}.u-pull-left{float:left}.tcenter{text-align:center}hr{margin-top:.5rem;margin-bottom:1.2rem;border-width:0;border-top:1px solid #e1e1e1}.container:after,.row:after,.u-cf{content:"";display:table;clear:both}.control{background-color:#ddd;background-image:linear-gradient(hsla(0,0%,0%,0.1),hsla(0,0%,100%,0.1));border-radius:50%;box-shadow:inset 0 1px 1px 1px hsla(0,0%,100%,0.5),0 0 1px 1px hsla(0,0%,100%,0.75),0 0 1px 2px hsla(0,0%,100%,0.25),0 0 1px 3px hsla(0,0%,100%,0.25),0 0 1px 4px hsla(0,0%,100%,0.25),0 0 1px 6px hsla(0,0%,0%,0.75);height:9em;margin:3em auto;position:relative;width:9em}.control ul{height:100%;padding:0;transform:rotate(45deg)}.control li{border-radius:100% 0 0 0;box-shadow:inset -1px -1px 1px hsla(0,0%,100%,0.5),0 0 1px hsla(0,0%,0%,0.75);display:inline-block;height:50%;overflow:hidden;width:50%}.control ul li:nth-child(2){transform:rotate(90deg)}.control ul li:nth-child(3){transform:rotate(-90deg)}.control ul li:nth-child(4){transform:rotate(180deg)}.control ul a{height:200%;position:relative;transform:rotate(-45deg);width:200%}.control a:hover,.control a:focus{background-color:hsla(0,0%,100%,0.25)}.control a{border-radius:50%;color:#333;display:block;font:bold 1em/3 sans-serif;text-align:center;text-decoration:none;text-shadow:0 1px 1px hsla(0,0%,100%,0.4);transition:.15s}.control .confirm{background-color:#ddd;background-image:linear-gradient(hsla(0,0%,0%,0.15),hsla(0,0%,100%,0.25));box-shadow:inset 0 1px 1px 1px hsla(0,0%,100%,0.5),0 0 1px 1px hsla(0,0%,100%,0.25),0 0 1px 2px hsla(0,0%,100%,0.25),0 0 1px 3px hsla(0,0%,100%,0.25),0 0 1px 4px hsla(0,0%,100%,0.25),0 0 1px 6px hsla(0,0%,0%,0.85);left:50%;line-height:3;margin:-1.5em;position:absolute;top:50%;width:3em}.control .confirm:hover,.control .confirm:focus{background-color:#eee}.control:not(.disabled) a.confirm:active{background-color:#777}.control:not(.disabled) li:active{background-color:#777}.control:not(.disabled) a.pressed{background-color:#777 !important}.control:not(.disabled) li.pressed a{background-color:#777 !important}.switch{display:inline-block !important;background-color:#bebebe;border-radius:4px;box-shadow:inset 0 0 6px rgba(0,0,0,0.3);color:#fff;cursor:pointer;display:block;font-size:14px;height:26px;margin-left:.3rem;margin-right:.3rem;position:relative;width:60px;-webkit-transition:background-color .2s ease-in-out;-moz-transition:background-color .2s ease-in-out;-o-transition:background-color .2s ease-in-out;-ms-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out}.switch.checked{background-color:#76d21d}.switch input[type="checkbox"]{display:none;cursor:pointer;height:10px;left:12px;position:absolute;top:8px;width:10px}.in{position:absolute;top:8px;left:12px;-webkit-transition:left .08s ease-in-out;-moz-transition:left .08s ease-in-out;-o-transition:left .08s ease-in-out;-ms-transition:left .08s ease-in-out;transition:left .08s ease-in-out}.switch.checked div{left:38px}.switch .in:before{background:#fff;background:-moz-linear-gradient(top,#fff 0,#f0f0f0 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(100%,#f0f0f0));background:-webkit-linear-gradient(top,#fff 0,#f0f0f0 100%);background:-o-linear-gradient(top,#fff 0,#f0f0f0 100%);background:-ms-linear-gradient(top,#fff 0,#f0f0f0 100%);background:linear-gradient(to bottom,#fff 0,#f0f0f0 100%);border:1px solid #fff;border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,0.3);content:"";height:18px;position:absolute;top:-5px;left:-9px;width:26px}.switch .in:after{background:#f0f0f0;background:-moz-linear-gradient(top,#f0f0f0 0,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f0f0f0),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#f0f0f0 0,#fff 100%);background:-o-linear-gradient(top,#f0f0f0 0,#fff 100%);background:-ms-linear-gradient(top,#f0f0f0 0,#fff 100%);background:linear-gradient(to bottom,#f0f0f0 0,#fff 100%);border-radius:10px;content:"";height:12px;margin:-1px 0 0 -1px;position:absolute;width:12px}.rkmd-slider{display:block;position:relative;font-size:16px;font-family:"Roboto",sans-serif}.rkmd-slider input[type="range"]{overflow:hidden;position:absolute;width:1px;height:1px;opacity:0}.rkmd-slider input[type="range"]+.slider{display:block;position:relative;width:100%;height:27px;border-radius:13px;background-color:#bebebe}@media(pointer:fine){.rkmd-slider input[type="range"]+.slider{height:4px;border-radius:0}}.rkmd-slider input[type="range"]+.slider .slider-fill{display:block;position:absolute;width:0;height:100%;user-select:none;z-index:1}.rkmd-slider input[type="range"]+.slider .slider-handle{cursor:pointer;position:absolute;top:12px;left:0;width:15px;height:15px;margin-left:-8px;border-radius:50%;transition:all .2s ease;user-select:none;z-index:2}@media(pointer:fine){.rkmd-slider input[type="range"]+.slider .slider-handle{top:-5.5px}}.rkmd-slider input[type="range"]:disabled+.slider{background-color:#b0b0b0 !important}.rkmd-slider input[type="range"]:disabled+.slider .slider-fill,.rkmd-slider input[type="range"]:disabled+.slider .slider-handle{cursor:default !important;background-color:#b0b0b0 !important}.rkmd-slider input[type="range"]:disabled+.slider .slider-fill .slider-label,.rkmd-slider input[type="range"]:disabled+.slider .slider-handle .slider-label{display:none;background-color:#b0b0b0 !important}.rkmd-slider input[type="range"]:disabled+.slider .slider-fill.is-active,.rkmd-slider input[type="range"]:disabled+.slider .slider-handle.is-active{top:-5.5px;width:15px;height:15px;margin-left:-8px}.rkmd-slider input[type="range"]:disabled+.slider .slider-fill.is-active .slider-label,.rkmd-slider input[type="range"]:disabled+.slider .slider-handle.is-active .slider-label{display:none;border-radius:50%;transform:none}.rkmd-slider input[type="range"]:disabled+.slider .slider-handle:active{box-shadow:none !important;transform:scale(1) !important}.rkmd-slider.slider-discrete .slider .slider-handle{position:relative;z-index:1}.rkmd-slider.slider-discrete .slider .slider-handle .slider-label{position:absolute;top:-17.5px;left:4px;width:30px;height:30px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;border-radius:50%;-webkit-transform:scale(1) rotate(-45deg);transform:scale(1) rotate(-45deg);-webkit-transition:all .2s ease;transition:all .2s ease}@media(pointer:fine){.rkmd-slider.slider-discrete .slider .slider-handle .slider-label{left:-2px;-webkit-transform:scale(0.5) rotate(-45deg);transform:scale(0.5) rotate(-45deg)}}.rkmd-slider.slider-discrete .slider .slider-handle .slider-label span{position:absolute;top:7px;left:0;width:100%;color:#fff;font-size:16px;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media(pointer:fine){.rkmd-slider.slider-discrete .slider .slider-handle .slider-label span{font-size:12px}}.rkmd-slider.slider-discrete .slider .slider-handle.is-active{top:0;margin-left:-2px;width:4px;height:4px}.rkmd-slider.slider-discrete .slider .slider-handle.is-active .slider-label{top:-15px;left:-2px;border-radius:15px 15px 15px 0;-webkit-transform:rotate(-45deg) translate(23px,-25px);transform:rotate(-45deg) translate(23px,-25px)}.rkmd-slider.slider-discrete .slider .slider-handle.is-active .slider-label span{opacity:1}.rkmd-slider.slider-discrete.slider-turquoise .slider-label{background-color:#16a085}.rkmd-slider.slider-discrete.slider-emerald .slider-label{background-color:#27ae60}.peterriver{background:#3498db;border-bottom:#2980b9 3px solid}.rkmd-slider.slider-discrete.slider-peterriver .slider-label{background-color:#2980b9}.wetasphalt{background:#34495e;border-bottom:#2c3e50 3px solid}.rkmd-slider.slider-discrete.slider-wetasphalt .slider-label{background-color:#2c3e50}.sunflower{background:#f1c40f;border-bottom:#e6bb0f 3px solid}.rkmd-slider.slider-discrete.slider-sunflower .slider-label{background-color:#e6bb0f}.carrot{background:#e67e22;border-bottom:#d35400 3px solid}.rkmd-slider.slider-discrete.slider-carrot .slider-label{background-color:#d35400}.alizarin{background:#e74c3c;border-bottom:#c0392b 3px solid}.rkmd-slider.slider-discrete.slider-alizarin .slider-label{background-color:#c0392b}input{margin:0 auto 1.2rem auto;padding:2px 5px;width:100%;box-sizing:border-box;border:0;border-radius:4px;box-shadow:inset 0 0 6px rgba(0,0,0,0.3);background:rgba(255,255,255,0.8)}select{margin:0 auto 1.2rem auto;padding:2px 5px;width:100%;box-sizing:border-box;border:0;border-radius:4px;box-shadow:inset 0 0 6px rgba(0,0,0,0.3);background:rgba(255,255,255,0.8)}input[id^="num"]{max-width:6em;width:auto;text-align:right;font-weight:bold;font-size:115%}body div>ul.navigation{margin:0;margin-bottom:30px;padding:0;border-bottom:3px solid #666;overflow:hidden}ul.navigation li{list-style:none;float:left;margin-right:4px}ul.navigation li.controls{float:right}ul.navigation li a{font-weight:bold;display:inline-block;padding:6px 12px;color:#888;outline:0;text-decoration:none;background:#f3f3f3;background:-webkit-gradient(linear,0 0,0 bottom,from(#eee),to(#e4e4e4));background:-moz-linear-gradient(#eee,#e4e4e4);background:linear-gradient(#eee,#e4e4e4);-pie-background:linear-gradient(#eee,#e4e4e4)}ul.navigation li.active a{pointer-events:none;color:white;background:#666;background:-webkit-gradient(linear,0 0,0 bottom,from(#888),to(#666));background:-moz-linear-gradient(#888,#666);background:linear-gradient(#888,#666);-pie-background:linear-gradient(#888,#666)}div.tabscontent>div{padding:0 15px}#tabsnav:empty{display:none}.range-slider{margin:0}.range-slider{width:100%}.range-slider__range{-webkit-appearance:none;width:calc(100% - (45px));height:10px;border-radius:5px;outline:0;padding:0;margin:0}.range-slider__value{display:inline-block;position:relative;width:30px;color:#fff;line-height:20px;text-align:center;border-radius:3px;padding:5px 5px;margin-left:2px}.range-slider__value:after{position:absolute;top:8px;left:-7px;width:0;height:0;content:""}::-moz-range-track{border:0}input::-moz-focus-inner,input::-moz-focus-outer{border:0}svg{display:block;width:100%;height:100%}.y-axis path,.x-axis path{stroke:gray;stroke-width:1;fill:none}.series{stroke:steelblue;stroke-width:3;fill:none}.data-points circle{stroke:steelblue;stroke-width:2;fill:white}.data-points text{display:none}.data-points circle:hover{fill:steelblue;stroke-width:6}.data-points circle:hover+text{display:inline-block}text{text-anchor:end}.vert-switcher{transform:rotate(270deg);margin-top:15px;margin-bottom:25px}.vert-slider{width:150px;transform:rotate(270deg);display:inline-block;margin:50px -42px 70px -42px}.vert-slider span{transform:rotate(90deg)}button:disabled{color:#333;background-color:#999}select:disabled{color:#333;background-color:#999}input:disabled{color:#333;background-color:#999}.range-slider__range:disabled{background-color:#999}.range-slider__range:disabled::-webkit-slider-thumb{background-color:#aaa}.range-slider__range:disabled::-moz-range-thumb{background-color:#aaa}.switch.disabled .in::before{background:#bbb;border:1px solid #ddd}.switch.disabled .in::after{background:#bbb}.switch.checked.disabled{background:#b1d092} \ No newline at end of file +.container{position:relative;width:79%;margin:20px;box-sizing:border-box}.column,.columns{width:100%;float:left}.card{min-height:100px;border-radius:6px;box-shadow:0 4px 4px rgba(204,197,185,.5);padding-left:20px;padding-right:20px;margin-bottom:40px;min-width:500px;color:#fff}@media(min-width:1205px){.wide.card{min-width:1075px}}@media(min-width:1790px){.wide.card{min-width:1650px}}@media(max-width:630px){.card{min-width:98%}}.sectionbreak.columns{color:#000}.sectionbreak.columns hr{border:none;height:2px;background-color:#666}.card-slider{}.turquoise{background:#1abc9c;border-bottom:#16a085 3px solid}.emerald{background:#2ecc71;border-bottom:#27ae60 3px solid}.peterriver{background:#3498db;border-bottom:#2980b9 3px solid}.wetasphalt{background:#34495e;border-bottom:#2c3e50 3px solid}.sunflower{background:#f1c40f;border-bottom:#e6bb0f 3px solid}.carrot{background:#e67e22;border-bottom:#d35400 3px solid}.alizarin{background:#e74c3c;border-bottom:#c0392b 3px solid}.dark{background:#444857;border-bottom:#444857 3px solid}.label{box-sizing:border-box;white-space:nowrap;border-radius:.2em;padding:.12em .4em .14em;text-align:center;color:#fff;font-weight:700;line-height:1.3;margin-bottom:5px;display:inline-block;white-space:nowrap;vertical-align:baseline;position:relative;top:-.15em;background-color:#999;margin-bottom:10px}.label-wrap{width:90%;white-space:pre-wrap;word-wrap:break-word}.label.color-blue{background-color:#6f9ad1}.label.color-red{background-color:#d37c7c}.label.color-green{background-color:#9bc268}.label.color-orange{background-color:#dea154}.label.color-yellow{background-color:#e9d641}.label.color-purple{background-color:#9f83d1}@media(min-width:400px){.container{width:84%}}@media(min-width:630px){.container{width:98%}.column,.columns{margin-right:35px}.column:first-child,.columns:first-child{margin-left:0}.one.column,.one.columns{width:4.66666666667%}.two.columns{width:13.3333333333%}.three.columns{width:22%}.four.columns{width:30.6666666667%}.five.columns{width:39.3333333333%}.six.columns{width:48%}.seven.columns{width:56.6666666667%}.eight.columns{width:65.3333333333%}.nine.columns{width:74%}.ten.columns{width:82.6666666667%}.eleven.columns{width:91.3333333333%}.twelve.columns{width:100%;margin-left:0}.one-third.column{width:30.6666666667%}.two-thirds.column{width:65.3333333333%}.one-half.column{width:48%}.offset-by-one.column,.offset-by-one.columns{margin-left:8.66666666667%}.offset-by-two.column,.offset-by-two.columns{margin-left:17.3333333333%}.offset-by-three.column,.offset-by-three.columns{margin-left:26%}.offset-by-four.column,.offset-by-four.columns{margin-left:34.6666666667%}.offset-by-five.column,.offset-by-five.columns{margin-left:43.3333333333%}.offset-by-six.column,.offset-by-six.columns{margin-left:52%}.offset-by-seven.column,.offset-by-seven.columns{margin-left:60.6666666667%}.offset-by-eight.column,.offset-by-eight.columns{margin-left:69.3333333333%}.offset-by-nine.column,.offset-by-nine.columns{margin-left:78%}.offset-by-ten.column,.offset-by-ten.columns{margin-left:86.6666666667%}.offset-by-eleven.column,.offset-by-eleven.columns{margin-left:95.3333333333%}.offset-by-one-third.column,.offset-by-one-third.columns{margin-left:34.6666666667%}.offset-by-two-thirds.column,.offset-by-two-thirds.columns{margin-left:69.3333333333%}.offset-by-one-half.column,.offset-by-one-half.columns{margin-left:52%}}html{font-size:62.5%}body{margin:0;font-size:1.5em;line-height:1;font-weight:400;font-family:open sans,sans-serif;color:#222;background-color:#ecf0f1}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:300}h1{font-size:4rem;line-height:1.2;letter-spacing:-.1rem}h2{font-size:3.6rem;line-height:1.25;letter-spacing:-.1rem}h3{font-size:3rem;line-height:1.3;letter-spacing:-.1rem}h4{font-size:2.4rem;line-height:1.35;letter-spacing:-.08rem}h5{font-size:1.8rem;line-height:1.5;letter-spacing:-.05rem}h6{font-size:1.5rem;line-height:1.6;letter-spacing:0}@media(min-width:630px){h1{font-size:5rem}h2{font-size:4.2rem}h3{font-size:3.6rem}h4{font-size:3rem}h5{font-size:2rem}h6{font-size:1.5rem}}p{margin-top:0}a{color:#1eaedb}a:hover{color:#0fa0ce}button{display:inline-block;padding:10px;border-radius:3px;color:#fff;background-color:#999}button:enabled:active{background-color:#666;transform:translateX(4px)translateY(4px)}button.pressed{background-color:#666!important;transform:translateX(4px)translateY(4px)}#mainHeader{display:inline-block}#conStatus{position:inherit;font-size:.75em}button,.button{margin-bottom:1rem;margin-left:.3rem;margin-right:.3rem}.u-full-width{width:100%;box-sizing:border-box}.u-max-full-width{max-width:100%;box-sizing:border-box}.u-pull-right{float:right}.u-pull-left{float:left}.tcenter{text-align:center}hr{margin-top:.5rem;margin-bottom:1.2rem;border-width:0;border-top:1px solid #e1e1e1}.container:after,.row:after,.u-cf{content:"";display:table;clear:both}.control{background-color:#ddd;background-image:linear-gradient(hsla(0,0%,0%,.1),hsla(0,0%,100%,.1));border-radius:50%;box-shadow:inset 0 1px 1px 1px hsla(0,0%,100%,.5),0 0 1px 1px hsla(0,0%,100%,.75),0 0 1px 2px hsla(0,0%,100%,.25),0 0 1px 3px hsla(0,0%,100%,.25),0 0 1px 4px hsla(0,0%,100%,.25),0 0 1px 6px hsla(0,0%,0%,.75);height:9em;margin:3em auto;position:relative;width:9em}.control ul{height:100%;padding:0;transform:rotate(45deg)}.control li{border-radius:100% 0 0 0;box-shadow:inset -1px -1px 1px hsla(0,0%,100%,.5),0 0 1px hsla(0,0%,0%,.75);display:inline-block;height:50%;overflow:hidden;width:50%}.control ul li:nth-child(2){transform:rotate(90deg)}.control ul li:nth-child(3){transform:rotate(-90deg)}.control ul li:nth-child(4){transform:rotate(180deg)}.control ul a{height:200%;position:relative;transform:rotate(-45deg);width:200%}.control a:hover,.control a:focus{background-color:hsla(0,0%,100%,.25)}.control a{border-radius:50%;color:#333;display:block;font:700 1em/3 sans-serif;text-align:center;text-decoration:none;text-shadow:0 1px 1px hsla(0,0%,100%,.4);transition:.15s}.control .confirm{background-color:#ddd;background-image:linear-gradient(hsla(0,0%,0%,.15),hsla(0,0%,100%,.25));box-shadow:inset 0 1px 1px 1px hsla(0,0%,100%,.5),0 0 1px 1px hsla(0,0%,100%,.25),0 0 1px 2px hsla(0,0%,100%,.25),0 0 1px 3px hsla(0,0%,100%,.25),0 0 1px 4px hsla(0,0%,100%,.25),0 0 1px 6px hsla(0,0%,0%,.85);left:50%;line-height:3;margin:-1.5em;position:absolute;top:50%;width:3em}.control .confirm:hover,.control .confirm:focus{background-color:#eee}.control:not(.disabled) a.confirm:active{background-color:#777}.control:not(.disabled) li:active{background-color:#777}.control:not(.disabled) a.pressed{background-color:#777!important}.control:not(.disabled) li.pressed a{background-color:#777!important}.switch{display:inline-block!important;background-color:#bebebe;border-radius:4px;box-shadow:inset 0 0 6px rgba(0,0,0,.3);color:#fff;cursor:pointer;display:block;font-size:14px;height:26px;margin-left:.3rem;margin-right:.3rem;position:relative;width:60px;-webkit-transition:background-color .2s ease-in-out;-moz-transition:background-color .2s ease-in-out;-o-transition:background-color .2s ease-in-out;-ms-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out}.switch.checked{background-color:#76d21d}.switch input[type=checkbox]{display:none;cursor:pointer;height:10px;left:12px;position:absolute;top:8px;width:10px}.in{position:absolute;top:8px;left:12px;-webkit-transition:left .08s ease-in-out;-moz-transition:left .08s ease-in-out;-o-transition:left .08s ease-in-out;-ms-transition:left .08s ease-in-out;transition:left .08s ease-in-out}.switch.checked div{left:38px}.switch .in:before{background:#fff;background:-moz-linear-gradient(top,#fff 0%,#f0f0f0 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#fff),color-stop(100%,#f0f0f0));background:-webkit-linear-gradient(top,#fff 0%,#f0f0f0 100%);background:-o-linear-gradient(top,#fff 0%,#f0f0f0 100%);background:-ms-linear-gradient(top,#fff 0%,#f0f0f0 100%);background:linear-gradient(to bottom,#fff 0%,#f0f0f0 100%);border:1px solid #fff;border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.3);content:"";height:18px;position:absolute;top:-5px;left:-9px;width:26px}.switch .in:after{background:#f0f0f0;background:-moz-linear-gradient(top,#f0f0f0 0%,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#f0f0f0),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#f0f0f0 0%,#fff 100%);background:-o-linear-gradient(top,#f0f0f0 0%,#fff 100%);background:-ms-linear-gradient(top,#f0f0f0 0%,#fff 100%);background:linear-gradient(to bottom,#f0f0f0 0%,#fff 100%);border-radius:10px;content:"";height:12px;margin:-1px 0 0 -1px;position:absolute;width:12px}.rkmd-slider{display:block;position:relative;font-size:16px;font-family:roboto,sans-serif}.rkmd-slider input[type=range]{overflow:hidden;position:absolute;width:1px;height:1px;opacity:0}.rkmd-slider input[type=range]+.slider{display:block;position:relative;width:100%;height:27px;border-radius:13px;background-color:#bebebe}@media(pointer:fine){.rkmd-slider input[type=range]+.slider{height:4px;border-radius:0}}.rkmd-slider input[type=range]+.slider .slider-fill{display:block;position:absolute;width:0%;height:100%;user-select:none;z-index:1}.rkmd-slider input[type=range]+.slider .slider-handle{cursor:pointer;position:absolute;top:12px;left:0%;width:15px;height:15px;margin-left:-8px;border-radius:50%;transition:all .2s ease;user-select:none;z-index:2}@media(pointer:fine){.rkmd-slider input[type=range]+.slider .slider-handle{top:-5.5px}}.rkmd-slider input[type=range]:disabled+.slider{background-color:#b0b0b0!important}.rkmd-slider input[type=range]:disabled+.slider .slider-fill,.rkmd-slider input[type=range]:disabled+.slider .slider-handle{cursor:default!important;background-color:#b0b0b0!important}.rkmd-slider input[type=range]:disabled+.slider .slider-fill .slider-label,.rkmd-slider input[type=range]:disabled+.slider .slider-handle .slider-label{display:none;background-color:#b0b0b0!important}.rkmd-slider input[type=range]:disabled+.slider .slider-fill.is-active,.rkmd-slider input[type=range]:disabled+.slider .slider-handle.is-active{top:-5.5px;width:15px;height:15px;margin-left:-8px}.rkmd-slider input[type=range]:disabled+.slider .slider-fill.is-active .slider-label,.rkmd-slider input[type=range]:disabled+.slider .slider-handle.is-active .slider-label{display:none;border-radius:50%;transform:none}.rkmd-slider input[type=range]:disabled+.slider .slider-handle:active{box-shadow:none!important;transform:scale(1)!important}.rkmd-slider.slider-discrete .slider .slider-handle{position:relative;z-index:1}.rkmd-slider.slider-discrete .slider .slider-handle .slider-label{position:absolute;top:-17.5px;left:4px;width:30px;height:30px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;border-radius:50%;-webkit-transform:scale(1)rotate(-45deg);transform:scale(1)rotate(-45deg);-webkit-transition:all .2s ease;transition:all .2s ease}@media(pointer:fine){.rkmd-slider.slider-discrete .slider .slider-handle .slider-label{left:-2px;-webkit-transform:scale(.5)rotate(-45deg);transform:scale(.5)rotate(-45deg)}}.rkmd-slider.slider-discrete .slider .slider-handle .slider-label span{position:absolute;top:7px;left:0;width:100%;color:#fff;font-size:16px;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media(pointer:fine){.rkmd-slider.slider-discrete .slider .slider-handle .slider-label span{font-size:12px}}.rkmd-slider.slider-discrete .slider .slider-handle.is-active{top:0;margin-left:-2px;width:4px;height:4px}.rkmd-slider.slider-discrete .slider .slider-handle.is-active .slider-label{top:-15px;left:-2px;border-radius:15px 15px 15px 0;-webkit-transform:rotate(-45deg)translate(23px,-25px);transform:rotate(-45deg)translate(23px,-25px)}.rkmd-slider.slider-discrete .slider .slider-handle.is-active .slider-label span{opacity:1}.rkmd-slider.slider-discrete.slider-turquoise .slider-label{background-color:#16a085}.rkmd-slider.slider-discrete.slider-emerald .slider-label{background-color:#27ae60}.peterriver{background:#3498db;border-bottom:#2980b9 3px solid}.rkmd-slider.slider-discrete.slider-peterriver .slider-label{background-color:#2980b9}.wetasphalt{background:#34495e;border-bottom:#2c3e50 3px solid}.rkmd-slider.slider-discrete.slider-wetasphalt .slider-label{background-color:#2c3e50}.sunflower{background:#f1c40f;border-bottom:#e6bb0f 3px solid}.rkmd-slider.slider-discrete.slider-sunflower .slider-label{background-color:#e6bb0f}.carrot{background:#e67e22;border-bottom:#d35400 3px solid}.rkmd-slider.slider-discrete.slider-carrot .slider-label{background-color:#d35400}.alizarin{background:#e74c3c;border-bottom:#c0392b 3px solid}.rkmd-slider.slider-discrete.slider-alizarin .slider-label{background-color:#c0392b}input{margin:0 auto 1.2rem;padding:2px 5px;width:100%;box-sizing:border-box;border:none;border-radius:4px;box-shadow:inset 0 0 6px rgba(0,0,0,.3);background:rgba(255,255,255,.8)}select{margin:0 auto 1.2rem;padding:2px 5px;width:100%;box-sizing:border-box;border:none;border-radius:4px;box-shadow:inset 0 0 6px rgba(0,0,0,.3);background:rgba(255,255,255,.8)}input[id^=num]{max-width:6em;width:auto;text-align:right;font-weight:700;font-size:115%}body div>ul.navigation{margin:0;margin-bottom:30px;padding:0;border-bottom:3px solid #666;overflow:hidden}ul.navigation li{list-style:none;float:left;margin-right:4px}ul.navigation li.controls{float:right}ul.navigation li a{font-weight:700;display:inline-block;padding:6px 12px;color:#888;outline:0;text-decoration:none;background:#f3f3f3;background:-webkit-gradient(linear,0 0,0 bottom,from(#eee),to(#e4e4e4));background:-moz-linear-gradient(#eee,#e4e4e4);background:linear-gradient(#eee,#e4e4e4);-pie-background:linear-gradient(#eee,#e4e4e4)}ul.navigation li.active a{pointer-events:none;color:#fff;background:#666;background:-webkit-gradient(linear,0 0,0 bottom,from(#888),to(#666));background:-moz-linear-gradient(#888,#666);background:linear-gradient(#888,#666);-pie-background:linear-gradient(#888,#666)}div.tabscontent>div{padding:0 15px}#tabsnav:empty{display:none}.range-slider{margin:0}.range-slider{width:100%}.range-slider__range{-webkit-appearance:none;width:calc(100% - (45px));height:10px;border-radius:5px;outline:0;padding:0;margin:0}.range-slider__value{display:inline-block;position:relative;width:30px;color:#fff;line-height:20px;text-align:center;border-radius:3px;padding:5px;margin-left:2px}.range-slider__value:after{position:absolute;top:8px;left:-7px;width:0;height:0;content:""}::-moz-range-track{border:0}input::-moz-focus-inner,input::-moz-focus-outer{border:0}svg{display:block;width:100%;height:100%}.y-axis path,.x-axis path{stroke:gray;stroke-width:1;fill:none}.series{stroke:#4682b4;stroke-width:3;fill:none}.data-points circle{stroke:#4682b4;stroke-width:2;fill:#fff}.data-points text{display:none}.data-points circle:hover{fill:#4682b4;stroke-width:6}.data-points circle:hover+text{display:inline-block}text{text-anchor:end}.vert-switcher{transform:rotate(270deg);margin-top:15px;margin-bottom:25px}.vert-slider{width:150px;transform:rotate(270deg);display:inline-block;margin:50px -42px 70px}.vert-slider span{transform:rotate(90deg)}button:disabled{color:#333;background-color:#999}select:disabled{color:#333;background-color:#999}input:disabled{color:#333;background-color:#999}.range-slider__range:disabled{background-color:#999}.range-slider__range:disabled::-webkit-slider-thumb{background-color:#aaa}.range-slider__range:disabled::-moz-range-thumb{background-color:#aaa}.switch.disabled .in::before{background:#bbb;border:1px solid #ddd}.switch.disabled .in::after{background:#bbb}.switch.checked.disabled{background:#b1d092} \ No newline at end of file diff --git a/data/index.min.htm b/data/index.min.htm index d39c8b3..f120c96 100644 --- a/data/index.min.htm +++ b/data/index.min.htm @@ -1 +1 @@ - Control

Control
Offline


\ No newline at end of file +Control

Control
Offline


\ No newline at end of file diff --git a/data/js/controls.min.js b/data/js/controls.min.js index 5e138c9..0369237 100644 --- a/data/js/controls.min.js +++ b/data/js/controls.min.js @@ -1,137 +1 @@ -const UI_INITIAL_GUI=200;const UI_RELOAD=201;const UPDATE_OFFSET=100;const UI_EXTEND_GUI=210;const UI_TITEL=0;const UI_PAD=1;const UPDATE_PAD=101;const UI_CPAD=2;const UPDATE_CPAD=102;const UI_BUTTON=3;const UPDATE_BUTTON=103;const UI_LABEL=4;const UPDATE_LABEL=104;const UI_SWITCHER=5;const UPDATE_SWITCHER=105;const UI_SLIDER=6;const UPDATE_SLIDER=106;const UI_NUMBER=7;const UPDATE_NUMBER=107;const UI_TEXT_INPUT=8;const UPDATE_TEXT_INPUT=108;const UI_GRAPH=9;const ADD_GRAPH_POINT=10;const CLEAR_GRAPH=109;const UI_TAB=11;const UPDATE_TAB=111;const UI_SELECT=12;const UPDATE_SELECT=112;const UI_OPTION=13;const UPDATE_OPTION=113;const UI_MIN=14;const UPDATE_MIN=114;const UI_MAX=15;const UPDATE_MAX=115;const UI_STEP=16;const UPDATE_STEP=116;const UI_GAUGE=17;const UPDATE_GAUGE=117;const UI_ACCEL=18;const UPDATE_ACCEL=118;const UI_SEPARATOR=19;const UPDATE_SEPARATOR=119;const UI_TIME=20;const UPDATE_TIME=120;const UI_FILEDISPLAY=21;const UPDATE_FILEDISPLAY=121;const UI_FRAGMENT=98;const UP=0;const DOWN=1;const LEFT=2;const RIGHT=3;const CENTER=4;const C_TURQUOISE=0;const C_EMERALD=1;const C_PETERRIVER=2;const C_WETASPHALT=3;const C_SUNFLOWER=4;const C_CARROT=5;const C_ALIZARIN=6;const C_DARK=7;const C_NONE=255;var controlAssemblyArray=new Object();var FragmentAssemblyTimer=new Array();var graphData=new Array();var hasAccel=false;var sliderContinuous=false;function colorClass(colorId){colorId=Number(colorId);switch(colorId){case C_TURQUOISE:return"turquoise";case C_EMERALD:return"emerald";case C_PETERRIVER:return"peterriver";case C_WETASPHALT:return"wetasphalt";case C_SUNFLOWER:return"sunflower";case C_CARROT:return"carrot";case C_ALIZARIN:return"alizarin";case C_DARK:case C_NONE:return"dark";default:return"";}} -var websock;var websockConnected=false;var WebSocketTimer=null;function requestOrientationPermission(){} -function saveGraphData(){localStorage.setItem("espuigraphs",JSON.stringify(graphData));} -function restoreGraphData(id){var savedData=localStorage.getItem("espuigraphs",graphData);if(savedData!=null){savedData=JSON.parse(savedData);let idData=savedData[id];return Array.isArray(idData)?idData:[];} -return[];} -function restart(){$(document).add("*").off();$("#row").html("");conStatusError();start();} -function conStatusError(){FragmentAssemblyTimer.forEach(element=>{clearInterval(element);});FragmentAssemblyTimer=new Array();controlAssemblyArray=new Array();if(true===websockConnected){websockConnected=false;websock.close();$("#conStatus").removeClass("color-green");$("#conStatus").addClass("color-red");$("#conStatus").html("Error / No Connection ↻");$("#conStatus").off();$("#conStatus").on({click:restart,});}} -function handleVisibilityChange(){if(!websockConnected&&!document.hidden){restart();}} -function start(){let location=window.location.hostname;let port=window.location.port;document.addEventListener("visibilitychange",handleVisibilityChange,false);if(port!=""||port!=80||port!=443){websock=new WebSocket("ws://"+location+":"+port+"/ws");}else{websock=new WebSocket("ws://"+location+"/ws");} -if(null===WebSocketTimer){WebSocketTimer=setInterval(function(){if(websock.readyState===3){restart();}},5000);} -websock.onopen=function(evt){console.log("websock open");$("#conStatus").addClass("color-green");$("#conStatus").text("Connected");websockConnected=true;FragmentAssemblyTimer.forEach(element=>{clearInterval(element);});FragmentAssemblyTimer=new Array();controlAssemblyArray=new Array();};websock.onclose=function(evt){console.log("websock close");conStatusError();FragmentAssemblyTimer.forEach(element=>{clearInterval(element);});FragmentAssemblyTimer=new Array();controlAssemblyArray=new Array();};websock.onerror=function(evt){console.log("websock Error");restart();FragmentAssemblyTimer.forEach(element=>{clearInterval(element);});FragmentAssemblyTimer=new Array();controlAssemblyArray=new Array();};var handleEvent=function(evt){try{var data=JSON.parse(evt.data);} -catch(Event){console.error(Event);websock.send("uiok:"+0);return;} -var e=document.body;var center="";switch(data.type){case UI_INITIAL_GUI:$("#row").html("");$("#tabsnav").html("");$("#tabscontent").html("");if(data.sliderContinuous){sliderContinuous=data.sliderContinuous;} -data.controls.forEach(element=>{var fauxEvent={data:JSON.stringify(element),};handleEvent(fauxEvent);});if(data.totalcontrols>(data.controls.length-1)){websock.send("uiok:"+(data.controls.length-1));} -break;case UI_EXTEND_GUI:data.controls.forEach(element=>{var fauxEvent={data:JSON.stringify(element),};handleEvent(fauxEvent);});if(data.totalcontrols>data.startindex+(data.controls.length-1)){websock.send("uiok:"+(data.startindex+(data.controls.length-1)));} -break;case UI_RELOAD:window.location.reload();break;case UI_TITEL:document.title=data.label;$("#mainHeader").html(data.label);break;case UI_LABEL:case UI_NUMBER:case UI_TEXT_INPUT:case UI_SELECT:case UI_GAUGE:case UI_SEPARATOR:if(data.visible)addToHTML(data);break;case UI_BUTTON:if(data.visible){addToHTML(data);$("#btn"+data.id).on({touchstart:function(e){e.preventDefault();$(this).addClass("pressed");buttonclick(data.id,true);},touchend:function(e){e.preventDefault();$(this).removeClass("pressed");buttonclick(data.id,false);},});} -break;case UI_SWITCHER:if(data.visible){addToHTML(data);switcher(data.id,data.value);} -break;case UI_CPAD:case UI_PAD:if(data.visible){addToHTML(data);$("#pf"+data.id).on({touchstart:function(e){e.preventDefault();$(this).parent().addClass("pressed");padclick(UP,data.id,true);},touchend:function(e){e.preventDefault();$(this).parent().removeClass("pressed");padclick(UP,data.id,false);},});$("#pl"+data.id).on({touchstart:function(e){e.preventDefault();$(this).parent().addClass("pressed");padclick(LEFT,data.id,true);},touchend:function(e){e.preventDefault();$(this).parent().removeClass("pressed");padclick(LEFT,data.id,false);},});$("#pr"+data.id).on({touchstart:function(e){e.preventDefault();$(this).parent().addClass("pressed");padclick(RIGHT,data.id,true);},touchend:function(e){e.preventDefault();$(this).parent().removeClass("pressed");padclick(RIGHT,data.id,false);},});$("#pb"+data.id).on({touchstart:function(e){e.preventDefault();$(this).parent().addClass("pressed");padclick(DOWN,data.id,true);},touchend:function(e){e.preventDefault();$(this).parent().removeClass("pressed");padclick(DOWN,data.id,false);},});$("#pc"+data.id).on({touchstart:function(e){e.preventDefault();$(this).addClass("pressed");padclick(CENTER,data.id,true);},touchend:function(e){e.preventDefault();$(this).removeClass("pressed");padclick(CENTER,data.id,false);},});} -break;case UI_SLIDER:if(data.visible){addToHTML(data);rangeSlider(!sliderContinuous);} -break;case UI_TAB:if(data.visible){$("#tabsnav").append("
  • "+data.value+"
  • ");$("#tabscontent").append("
    ");$("#tablink"+data.id).on({touchend:function(e){e.preventDefault();tabclick(data.id);},mouseup:function(e){tabclick(data.id);}});tabs=$(".tabscontent").tabbedContent({loop:true}).data("api");$("a").filter(function(){return $(this).attr("href")==="#click-to-switch";}).on("click",function(e){var tab=prompt("Tab to switch to (number or id)?");if(!tabs.switchTab(tab)){alert("That tab does not exist :\\");} -e.preventDefault();});} -break;case UI_OPTION:if(data.parentControl){var parent=$("#select"+data.parentControl);parent.append("");} -break;case UI_MIN:if(data.parentControl){if($('#sl'+data.parentControl).length){$('#sl'+data.parentControl).attr("min",data.value);}else if($('#num'+data.parentControl).length){$('#num'+data.parentControl).attr("min",data.value);}} -break;case UI_MAX:if(data.parentControl){if($('#sl'+data.parentControl).length){$('#sl'+data.parentControl).attr("max",data.value);}else if($('#text'+data.parentControl).length){$('#text'+data.parentControl).attr("maxlength",data.value);}else if($('#num'+data.parentControl).length){$('#num'+data.parentControl).attr("max",data.value);}} -break;case UI_STEP:if(data.parentControl){if($('#sl'+data.parentControl).length){$('#sl'+data.parentControl).attr("step",data.value);}else if($('#num'+data.parentControl).length){$('#num'+data.parentControl).attr("step",data.value);}} -break;case UI_GRAPH:if(data.visible){addToHTML(data);graphData[data.id]=restoreGraphData(data.id);renderGraphSvg(graphData[data.id],"graph"+data.id);} -break;case ADD_GRAPH_POINT:var ts=new Date().getTime();graphData[data.id].push({x:ts,y:data.value});saveGraphData();renderGraphSvg(graphData[data.id],"graph"+data.id);break;case CLEAR_GRAPH:graphData[data.id]=[];saveGraphData();renderGraphSvg(graphData[data.id],"graph"+data.id);break;case UI_ACCEL:if(hasAccel)break;hasAccel=true;if(data.visible){addToHTML(data);requestOrientationPermission();} -break;case UI_FILEDISPLAY:if(data.visible) -{addToHTML(data);FileDisplayUploadFile(data);} -break;case UPDATE_LABEL:$("#l"+data.id).html(data.value);if(data.hasOwnProperty('elementStyle')){$("#l"+data.id).attr("style",data.elementStyle);} -break;case UPDATE_SWITCHER:switcher(data.id,data.value=="0"?0:1);if(data.hasOwnProperty('elementStyle')){$("#sl"+data.id).attr("style",data.elementStyle);} -break;case UPDATE_SLIDER:$("#sl"+data.id).attr("value",data.value) -slider_move($("#sl"+data.id).parent().parent(),data.value,"100",false);if(data.hasOwnProperty('elementStyle')){$("#sl"+data.id).attr("style",data.elementStyle);} -break;case UPDATE_NUMBER:$("#num"+data.id).val(data.value);if(data.hasOwnProperty('elementStyle')){$("#num"+data.id).attr("style",data.elementStyle);} -break;case UPDATE_TEXT_INPUT:$("#text"+data.id).val(data.value);if(data.hasOwnProperty('elementStyle')){$("#text"+data.id).attr("style",data.elementStyle);} -if(data.hasOwnProperty('inputType')){$("#text"+data.id).attr("type",data.inputType);} -break;case UPDATE_SELECT:$("#select"+data.id).val(data.value);if(data.hasOwnProperty('elementStyle')){$("#select"+data.id).attr("style",data.elementStyle);} -break;case UPDATE_BUTTON:$("#btn"+data.id).val(data.value);$("#btn"+data.id).text(data.value);if(data.hasOwnProperty('elementStyle')){$("#btn"+data.id).attr("style",data.elementStyle);} -break;case UPDATE_PAD:case UPDATE_CPAD:break;case UPDATE_GAUGE:$("#gauge"+data.id).val(data.value);if(data.hasOwnProperty('elementStyle')){$("#gauge"+data.id).attr("style",data.elementStyle);} -break;case UPDATE_ACCEL:break;case UPDATE_TIME:var rv=new Date().toISOString();websock.send("time:"+rv+":"+data.id);break;case UPDATE_FILEDISPLAY:FileDisplayUploadFile(data);break;case UI_FRAGMENT:let FragmentLen=data.length;let FragementOffset=data.offset;let NextFragmentOffset=FragementOffset+FragmentLen;let Total=data.total;let Arrived=(FragmentLen+FragementOffset);let FragmentFinal=Total===Arrived;if(!data.hasOwnProperty('control')) -{console.error("UI_FRAGMENT:Missing control record, skipping control");break;} -let control=data.control;StopFragmentAssemblyTimer(data.control.id);if(0===FragementOffset) -{controlAssemblyArray[control.id]=data;controlAssemblyArray[control.id].offset=NextFragmentOffset;StartFragmentAssemblyTimer(control.id);let TotalRequest=JSON.stringify({'id':control.id,'offset':NextFragmentOffset});websock.send("uifragmentok:"+0+": "+TotalRequest+":");break;} -if("undefined"===typeof controlAssemblyArray[control.id]) -{console.error("Missing first fragment for control: "+control.id);StartFragmentAssemblyTimer(control.id);let TotalRequest=JSON.stringify({'id':control.id,'offset':0});websock.send("uifragmentok:"+0+": "+TotalRequest+":");break;} -if(FragementOffset!==controlAssemblyArray[control.id].offset) -{console.error("Wrong next fragment. Expected: "+controlAssemblyArray[control.id].offset+" Got: "+FragementOffset);StartFragmentAssemblyTimer(control.id);let TotalRequest=JSON.stringify({'id':control.id,'offset':controlAssemblyArray[control.id].length+controlAssemblyArray[control.id].offset});websock.send("uifragmentok:"+0+": "+TotalRequest+":");break;} -controlAssemblyArray[control.id].control.value+=control.value;controlAssemblyArray[control.id].offset=NextFragmentOffset;if(true===FragmentFinal) -{var fauxEvent={data:JSON.stringify(controlAssemblyArray[control.id].control),};handleEvent(fauxEvent);controlAssemblyArray[control.id]=null;} -else -{StartFragmentAssemblyTimer(control.id);let TotalRequest=JSON.stringify({'id':control.id,'offset':NextFragmentOffset});websock.send("uifragmentok:"+0+": "+TotalRequest+":");} -break;default:console.error("Unknown type or event");break;} -if(data.type>=UI_TITEL&&data.type=UPDATE_OFFSET&&data.type0){var parent=data.hasOwnProperty('parentControl')?$("#tab"+data.parentControl):$("#row");var html="";switch(data.type){case UI_LABEL:case UI_BUTTON:case UI_SWITCHER:case UI_CPAD:case UI_PAD:case UI_SLIDER:case UI_NUMBER:case UI_TEXT_INPUT:case UI_SELECT:case UI_GRAPH:case UI_GAUGE:case UI_ACCEL:case UI_FILEDISPLAY:var baseClass="two columns "+panelwide+" card tcenter "+colorClass(data.color);html="
    "+data.label+"

    "+ -elementHTML(data)+ -"
    ";break;case UI_SEPARATOR:var baseClass="sectionbreak columns";html="
    "+ -"
    "+data.label+"

    ";break;case UI_TIME:break;} -parent.append(html);}else{var parent=$("#id"+data.parentControl);parent.append(elementHTML(data));}} -var elementHTML=function(data){var id=data.id -var elementStyle=data.hasOwnProperty('elementStyle')?" style='"+data.elementStyle+"' ":"";var inputType=data.hasOwnProperty('inputType')?" type='"+data.inputType+"' ":"";switch(data.type){case UI_LABEL:return""+data.value+"";case UI_FILEDISPLAY:return"";case UI_BUTTON:return"";case UI_SWITCHER:return"";case UI_CPAD:case UI_PAD:return"";case UI_SLIDER:return"
    "+ -""+ -data.value+"
    ";case UI_NUMBER:return"";case UI_TEXT_INPUT:return"";case UI_SELECT:return"";case UI_ACCEL:return"ACCEL // Not implemented fully!
    ";default:return"";}}
    -var processEnabled=function(data){switch(data.type){case UI_SWITCHER:case UPDATE_SWITCHER:if(data.enabled){$("#sl"+data.id).removeClass('disabled');$("#s"+data.id).prop("disabled",false);}else{$("#sl"+data.id).addClass('disabled');$("#s"+data.id).prop("disabled",true);}
    -break;case UI_SLIDER:case UPDATE_SLIDER:$("#sl"+data.id).prop("disabled",!data.enabled);break;case UI_NUMBER:case UPDATE_NUMBER:$("#num"+data.id).prop("disabled",!data.enabled);break;case UI_TEXT_INPUT:case UPDATE_TEXT_INPUT:$("#text"+data.id).prop("disabled",!data.enabled);break;case UI_SELECT:case UPDATE_SELECT:$("#select"+data.id).prop("disabled",!data.enabled);break;case UI_BUTTON:case UPDATE_BUTTON:$("#btn"+data.id).prop("disabled",!data.enabled);break;case UI_PAD:case UI_CPAD:case UPDATE_PAD:case UPDATE_CPAD:case UI_FILEDISPLAY:case UPDATE_FILEDISPLAY:if(data.enabled){$("#id"+data.id+" nav").removeClass('disabled');}else{$("#id"+data.id+" nav").addClass('disabled');}
    -break;}}
    \ No newline at end of file
    +const UI_INITIAL_GUI=200,UI_RELOAD=201,UPDATE_OFFSET=100,UI_EXTEND_GUI=210,UI_TITEL=0,UI_PAD=1,UPDATE_PAD=101,UI_CPAD=2,UPDATE_CPAD=102,UI_BUTTON=3,UPDATE_BUTTON=103,UI_LABEL=4,UPDATE_LABEL=104,UI_SWITCHER=5,UPDATE_SWITCHER=105,UI_SLIDER=6,UPDATE_SLIDER=106,UI_NUMBER=7,UPDATE_NUMBER=107,UI_TEXT_INPUT=8,UPDATE_TEXT_INPUT=108,UI_GRAPH=9,ADD_GRAPH_POINT=10,CLEAR_GRAPH=109,UI_TAB=11,UPDATE_TAB=111,UI_SELECT=12,UPDATE_SELECT=112,UI_OPTION=13,UPDATE_OPTION=113,UI_MIN=14,UPDATE_MIN=114,UI_MAX=15,UPDATE_MAX=115,UI_STEP=16,UPDATE_STEP=116,UI_GAUGE=17,UPDATE_GAUGE=117,UI_ACCEL=18,UPDATE_ACCEL=118,UI_SEPARATOR=19,UPDATE_SEPARATOR=119,UI_TIME=20,UPDATE_TIME=120,UI_FILEDISPLAY=21,UPDATE_FILEDISPLAY=121,UI_FRAGMENT=98,UP=0,DOWN=1,LEFT=2,RIGHT=3,CENTER=4,C_TURQUOISE=0,C_EMERALD=1,C_PETERRIVER=2,C_WETASPHALT=3,C_SUNFLOWER=4,C_CARROT=5,C_ALIZARIN=6,C_DARK=7,C_NONE=255;var websock,websockConnected,WebSocketTimer,rangeSlider,addToHTML,elementHTML,processEnabled,controlAssemblyArray=new Object,FragmentAssemblyTimer=new Array,graphData=new Array,hasAccel=!1,sliderContinuous=!1;function colorClass(e){switch(e=Number(e),e){case C_TURQUOISE:return"turquoise";case C_EMERALD:return"emerald";case C_PETERRIVER:return"peterriver";case C_WETASPHALT:return"wetasphalt";case C_SUNFLOWER:return"sunflower";case C_CARROT:return"carrot";case C_ALIZARIN:return"alizarin";case C_DARK:case C_NONE:return"dark";default:return""}}websockConnected=!1,WebSocketTimer=null;function requestOrientationPermission(){}function saveGraphData(){localStorage.setItem("espuigraphs",JSON.stringify(graphData))}function restoreGraphData(e){var t=localStorage.getItem("espuigraphs",graphData);if(t!=null){t=JSON.parse(t);let n=t[e];return Array.isArray(n)?n:[]}return[]}function restart(){$(document).add("*").off(),$("#row").html(""),conStatusError(),start()}function conStatusError(){FragmentAssemblyTimer.forEach(e=>{clearInterval(e)}),FragmentAssemblyTimer=new Array,controlAssemblyArray=new Array,!0===websockConnected&&(websockConnected=!1,websock.close(),$("#conStatus").removeClass("color-green"),$("#conStatus").addClass("color-red"),$("#conStatus").html("Error / No Connection ↻"),$("#conStatus").off(),$("#conStatus").on({click:restart}))}function handleVisibilityChange(){!websockConnected&&!document.hidden&&restart()}function start(){let n=window.location.hostname,e=window.location.port;document.addEventListener("visibilitychange",handleVisibilityChange,!1),e!=""||e!=80||e!=443?websock=new WebSocket("ws://"+n+":"+e+"/ws"):websock=new WebSocket("ws://"+n+"/ws"),null===WebSocketTimer&&(WebSocketTimer=setInterval(function(){websock.readyState===3&&restart()},5e3)),websock.onopen=function(){console.log("websock open"),$("#conStatus").addClass("color-green"),$("#conStatus").text("Connected"),websockConnected=!0,FragmentAssemblyTimer.forEach(e=>{clearInterval(e)}),FragmentAssemblyTimer=new Array,controlAssemblyArray=new Array},websock.onclose=function(){console.log("websock close"),conStatusError(),FragmentAssemblyTimer.forEach(e=>{clearInterval(e)}),FragmentAssemblyTimer=new Array,controlAssemblyArray=new Array},websock.onerror=function(){console.log("websock Error"),restart(),FragmentAssemblyTimer.forEach(e=>{clearInterval(e)}),FragmentAssemblyTimer=new Array,controlAssemblyArray=new Array};var t=function(e){try{var s,o,i,a,r,c,l,d,n=JSON.parse(e.data)}catch(e){console.error(e),websock.send("uiok:"+0);return}switch(l=document.body,d="",n.type){case UI_INITIAL_GUI:$("#row").html(""),$("#tabsnav").html(""),$("#tabscontent").html(""),n.sliderContinuous&&(sliderContinuous=n.sliderContinuous),n.controls.forEach(e=>{var n={data:JSON.stringify(e)};t(n)}),n.totalcontrols>n.controls.length-1&&websock.send("uiok:"+(n.controls.length-1));break;case UI_EXTEND_GUI:n.controls.forEach(e=>{var n={data:JSON.stringify(e)};t(n)}),n.totalcontrols>n.startindex+(n.controls.length-1)&&websock.send("uiok:"+(n.startindex+(n.controls.length-1)));break;case UI_RELOAD:window.location.reload();break;case UI_TITEL:document.title=n.label,$("#mainHeader").html(n.label);break;case UI_LABEL:case UI_NUMBER:case UI_TEXT_INPUT:case UI_SELECT:case UI_GAUGE:case UI_SEPARATOR:n.visible&&addToHTML(n);break;case UI_BUTTON:n.visible&&(addToHTML(n),$("#btn"+n.id).on({touchstart:function(e){e.preventDefault(),$(this).addClass("pressed"),buttonclick(n.id,!0)},touchend:function(e){e.preventDefault(),$(this).removeClass("pressed"),buttonclick(n.id,!1)}}));break;case UI_SWITCHER:n.visible&&(addToHTML(n),switcher(n.id,n.value));break;case UI_CPAD:case UI_PAD:n.visible&&(addToHTML(n),$("#pf"+n.id).on({touchstart:function(e){e.preventDefault(),$(this).parent().addClass("pressed"),padclick(UP,n.id,!0)},touchend:function(e){e.preventDefault(),$(this).parent().removeClass("pressed"),padclick(UP,n.id,!1)}}),$("#pl"+n.id).on({touchstart:function(e){e.preventDefault(),$(this).parent().addClass("pressed"),padclick(LEFT,n.id,!0)},touchend:function(e){e.preventDefault(),$(this).parent().removeClass("pressed"),padclick(LEFT,n.id,!1)}}),$("#pr"+n.id).on({touchstart:function(e){e.preventDefault(),$(this).parent().addClass("pressed"),padclick(RIGHT,n.id,!0)},touchend:function(e){e.preventDefault(),$(this).parent().removeClass("pressed"),padclick(RIGHT,n.id,!1)}}),$("#pb"+n.id).on({touchstart:function(e){e.preventDefault(),$(this).parent().addClass("pressed"),padclick(DOWN,n.id,!0)},touchend:function(e){e.preventDefault(),$(this).parent().removeClass("pressed"),padclick(DOWN,n.id,!1)}}),$("#pc"+n.id).on({touchstart:function(e){e.preventDefault(),$(this).addClass("pressed"),padclick(CENTER,n.id,!0)},touchend:function(e){e.preventDefault(),$(this).removeClass("pressed"),padclick(CENTER,n.id,!1)}}));break;case UI_SLIDER:n.visible&&(addToHTML(n),rangeSlider(!sliderContinuous));break;case UI_TAB:n.visible&&($("#tabsnav").append("
  • "+n.value+"
  • "),$("#tabscontent").append("
    "),$("#tablink"+n.id).on({touchend:function(){tabclick(n.id)},mouseup:function(){tabclick(n.id)}}),tabs=$(".tabscontent").tabbedContent({loop:!0}).data("api"),$("a").filter(function(){return $(this).attr("href")==="#click-to-switch"}).on("click",function(e){var t=prompt("Tab to switch to (number or id)?");tabs.switchTab(t)||alert("That tab does not exist :\\"),e.preventDefault()}));break;case UI_OPTION:n.parentControl&&(i=$("#select"+n.parentControl),i.append(""));break;case UI_MIN:n.parentControl&&($("#sl"+n.parentControl).length?$("#sl"+n.parentControl).attr("min",n.value):$("#num"+n.parentControl).length&&$("#num"+n.parentControl).attr("min",n.value));break;case UI_MAX:n.parentControl&&($("#sl"+n.parentControl).length?$("#sl"+n.parentControl).attr("max",n.value):$("#text"+n.parentControl).length?$("#text"+n.parentControl).attr("maxlength",n.value):$("#num"+n.parentControl).length&&$("#num"+n.parentControl).attr("max",n.value));break;case UI_STEP:n.parentControl&&($("#sl"+n.parentControl).length?$("#sl"+n.parentControl).attr("step",n.value):$("#num"+n.parentControl).length&&$("#num"+n.parentControl).attr("step",n.value));break;case UI_GRAPH:n.visible&&(addToHTML(n),graphData[n.id]=restoreGraphData(n.id),renderGraphSvg(graphData[n.id],"graph"+n.id));break;case ADD_GRAPH_POINT:a=(new Date).getTime(),graphData[n.id].push({x:a,y:n.value}),saveGraphData(),renderGraphSvg(graphData[n.id],"graph"+n.id);break;case CLEAR_GRAPH:graphData[n.id]=[],saveGraphData(),renderGraphSvg(graphData[n.id],"graph"+n.id);break;case UI_ACCEL:if(hasAccel)break;hasAccel=!0,n.visible&&(addToHTML(n),requestOrientationPermission());break;case UI_FILEDISPLAY:n.visible&&(addToHTML(n),FileDisplayUploadFile(n));break;case UPDATE_LABEL:$("#l"+n.id).html(n.value),n.hasOwnProperty("elementStyle")&&$("#l"+n.id).attr("style",n.elementStyle);break;case UPDATE_SWITCHER:switcher(n.id,n.value=="0"?0:1),n.hasOwnProperty("elementStyle")&&$("#sl"+n.id).attr("style",n.elementStyle);break;case UPDATE_SLIDER:$("#sl"+n.id).attr("value",n.value),slider_move($("#sl"+n.id).parent().parent(),n.value,"100",!1),n.hasOwnProperty("elementStyle")&&$("#sl"+n.id).attr("style",n.elementStyle);break;case UPDATE_NUMBER:$("#num"+n.id).val(n.value),n.hasOwnProperty("elementStyle")&&$("#num"+n.id).attr("style",n.elementStyle);break;case UPDATE_TEXT_INPUT:$("#text"+n.id).val(n.value),n.hasOwnProperty("elementStyle")&&$("#text"+n.id).attr("style",n.elementStyle),n.hasOwnProperty("inputType")&&$("#text"+n.id).attr("type",n.inputType);break;case UPDATE_SELECT:$("#select"+n.id).val(n.value),n.hasOwnProperty("elementStyle")&&$("#select"+n.id).attr("style",n.elementStyle);break;case UPDATE_BUTTON:$("#btn"+n.id).val(n.value),$("#btn"+n.id).text(n.value),n.hasOwnProperty("elementStyle")&&$("#btn"+n.id).attr("style",n.elementStyle);break;case UPDATE_PAD:case UPDATE_CPAD:break;case UPDATE_GAUGE:$("#gauge"+n.id).val(n.value),n.hasOwnProperty("elementStyle")&&$("#gauge"+n.id).attr("style",n.elementStyle);break;case UPDATE_ACCEL:break;case UPDATE_TIME:r=(new Date).toISOString(),websock.send("time:"+r+":"+n.id);break;case UPDATE_FILEDISPLAY:FileDisplayUploadFile(n);break;case UI_FRAGMENT:let l=n.length,s=n.offset,o=s+l,d=n.total,u=l+s,h=d===u;if(!n.hasOwnProperty("control")){console.error("UI_FRAGMENT:Missing control record, skipping control");break}let e=n.control;if(StopFragmentAssemblyTimer(n.control.id),0===s){controlAssemblyArray[e.id]=n,controlAssemblyArray[e.id].offset=o,StartFragmentAssemblyTimer(e.id);let t=JSON.stringify({id:e.id,offset:o});websock.send("uifragmentok:"+0+": "+t+":");break}if("undefined"==typeof controlAssemblyArray[e.id]){console.error("Missing first fragment for control: "+e.id),StartFragmentAssemblyTimer(e.id);let t=JSON.stringify({id:e.id,offset:0});websock.send("uifragmentok:"+0+": "+t+":");break}if(s!==controlAssemblyArray[e.id].offset){console.error("Wrong next fragment. Expected: "+controlAssemblyArray[e.id].offset+" Got: "+s),StartFragmentAssemblyTimer(e.id);let t=JSON.stringify({id:e.id,offset:controlAssemblyArray[e.id].length+controlAssemblyArray[e.id].offset});websock.send("uifragmentok:"+0+": "+t+":");break}if(controlAssemblyArray[e.id].control.value+=e.value,controlAssemblyArray[e.id].offset=o,!0===h)c={data:JSON.stringify(controlAssemblyArray[e.id].control)},t(c),controlAssemblyArray[e.id]=null;else{StartFragmentAssemblyTimer(e.id);let t=JSON.stringify({id:e.id,offset:o});websock.send("uifragmentok:"+0+": "+t+":")}break;default:console.error("Unknown type or event");break}n.type>=UI_TITEL&&n.type=UPDATE_OFFSET&&n.type0){var t,n=$(e.hasOwnProperty("parentControl")?"#tab"+e.parentControl:"#row"),s="";switch(e.type){case UI_LABEL:case UI_BUTTON:case UI_SWITCHER:case UI_CPAD:case UI_PAD:case UI_SLIDER:case UI_NUMBER:case UI_TEXT_INPUT:case UI_SELECT:case UI_GRAPH:case UI_GAUGE:case UI_ACCEL:case UI_FILEDISPLAY:t="two columns "+panelwide+" card tcenter "+colorClass(e.color),s="
    "+e.label+"

    "+elementHTML(e)+"
    ";break;case UI_SEPARATOR:t="sectionbreak columns",s="
    "+e.label+"

    ";break;case UI_TIME:break}n.append(s)}else n=$("#id"+e.parentControl),n.append(elementHTML(e))},elementHTML=function(e){var t=e.id,n=e.hasOwnProperty("elementStyle")?" style='"+e.elementStyle+"' ":"",s=e.hasOwnProperty("inputType")?" type='"+e.inputType+"' ":"";switch(e.type){case UI_LABEL:return""+e.value+"";case UI_FILEDISPLAY:return"";case UI_BUTTON:return"";case UI_SWITCHER:return"";case UI_CPAD:case UI_PAD:return"";case UI_SLIDER:return"
    "+e.value+"
    ";case UI_NUMBER:return"";case UI_TEXT_INPUT:return"";case UI_SELECT:return"";case UI_ACCEL:return"ACCEL // Not implemented fully!
    ";default:return""}},processEnabled=function(e){switch(e.type){case UI_SWITCHER:case UPDATE_SWITCHER:e.enabled?($("#sl"+e.id).removeClass("disabled"),$("#s"+e.id).prop("disabled",!1)):($("#sl"+e.id).addClass("disabled"),$("#s"+e.id).prop("disabled",!0));break;case UI_SLIDER:case UPDATE_SLIDER:$("#sl"+e.id).prop("disabled",!e.enabled);break;case UI_NUMBER:case UPDATE_NUMBER:$("#num"+e.id).prop("disabled",!e.enabled);break;case UI_TEXT_INPUT:case UPDATE_TEXT_INPUT:$("#text"+e.id).prop("disabled",!e.enabled);break;case UI_SELECT:case UPDATE_SELECT:$("#select"+e.id).prop("disabled",!e.enabled);break;case UI_BUTTON:case UPDATE_BUTTON:$("#btn"+e.id).prop("disabled",!e.enabled);break;case UI_PAD:case UI_CPAD:case UPDATE_PAD:case UPDATE_CPAD:case UI_FILEDISPLAY:case UPDATE_FILEDISPLAY:e.enabled?$("#id"+e.id+" nav").removeClass("disabled"):$("#id"+e.id+" nav").addClass("disabled");break}}
    \ No newline at end of file
    diff --git a/data/js/graph.min.js b/data/js/graph.min.js
    index 963e2a9..7c19f48 100644
    --- a/data/js/graph.min.js
    +++ b/data/js/graph.min.js
    @@ -1,15 +1 @@
    -function lineGraph(parent,xAccessor,yAccessor){const width=620;const height=420;const gutter=40;const pixelsPerTick=30;function numericTransformer(dataMin,dataMax,pxMin,pxMax){var dataDiff=dataMax-dataMin,pxDiff=pxMax-pxMin,dataRatio=pxDiff/dataDiff,coordRatio=dataDiff/pxDiff;return{toCoord:function(data){return(data-dataMin)*dataRatio+pxMin;},toData:function(coord){return(coord-pxMin)*coordRatio+dataMin;}};}
    -function axisRenderer(orientation,transform){var axisGroup=document.createElementNS("http://www.w3.org/2000/svg","g");var axisPath=document.createElementNS("http://www.w3.org/2000/svg","path");axisGroup.setAttribute("class",orientation+"-axis");var xMin=gutter;var xMax=width-gutter;var yMin=height-gutter;var yMax=gutter;if(orientation==="x"){axisPath.setAttribute("d","M "+xMin+" "+yMin+" L "+xMax+" "+yMin);for(var i=xMin;i<=xMax;i++){if((i-xMin)%(pixelsPerTick*3)===0&&i!==xMin){var text=document.createElementNS("http://www.w3.org/2000/svg","text");text.innerHTML=new Date(Math.floor(transform(i))).toLocaleTimeString();text.setAttribute("x",i);text.setAttribute("y",yMin);text.setAttribute("dy","1em");axisGroup.appendChild(text);}}}else{axisPath.setAttribute("d","M "+xMin+" "+yMin+" L "+xMin+" "+yMax);for(var i=yMax;i<=yMin;i++){if((i-yMin)%pixelsPerTick===0&&i!==yMin){var tickGroup=document.createElementNS("http://www.w3.org/2000/svg","g");var gridLine=document.createElementNS("http://www.w3.org/2000/svg","path");text=document.createElementNS("http://www.w3.org/2000/svg","text");text.innerHTML=Math.floor(transform(i));text.setAttribute("x",xMin);text.setAttribute("y",i);text.setAttribute("dx","-.5em");text.setAttribute("dy",".3em");gridLine.setAttribute("d","M "+xMin+" "+i+" L "+xMax+" "+i);tickGroup.appendChild(gridLine);tickGroup.appendChild(text);axisGroup.appendChild(tickGroup);}}}
    -axisGroup.appendChild(axisPath);parent.appendChild(axisGroup);}
    -function lineRenderer(xAccessor,yAccessor,xTransform,yTransform){var line=document.createElementNS("http://www.w3.org/2000/svg","path");xAccessor.reset();yAccessor.reset();if(!xAccessor.hasNext()||!yAccessor.hasNext()){return;}
    -var pathString="M "+xTransform(xAccessor.next())+" "+yTransform(yAccessor.next());while(xAccessor.hasNext()&&yAccessor.hasNext()){pathString+=" L "+
    -xTransform(xAccessor.next())+
    -" "+
    -yTransform(yAccessor.next());}
    -line.setAttribute("class","series");line.setAttribute("d",pathString);parent.appendChild(line);}
    -function pointRenderer(xAccessor,yAccessor,xTransform,yTransform){var pointGroup=document.createElementNS("http://www.w3.org/2000/svg","g");pointGroup.setAttribute("class","data-points");xAccessor.reset();yAccessor.reset();if(!xAccessor.hasNext()||!yAccessor.hasNext()){return;}
    -while(xAccessor.hasNext()&&yAccessor.hasNext()){var xDataValue=xAccessor.next();var x=xTransform(xDataValue);var yDataValue=yAccessor.next();var y=yTransform(yDataValue);var circle=document.createElementNS("http://www.w3.org/2000/svg","circle");circle.setAttribute("cx",x);circle.setAttribute("cy",y);circle.setAttribute("r","4");var text=document.createElementNS("http://www.w3.org/2000/svg","text");text.innerHTML=new Date(Math.floor(xDataValue)).toLocaleTimeString()+" / "+Math.floor(yDataValue);text.setAttribute("x",x);text.setAttribute("y",y);text.setAttribute("dx","1em");text.setAttribute("dy","-.7em");pointGroup.appendChild(circle);pointGroup.appendChild(text);}
    -parent.appendChild(pointGroup);}
    -xTransform=numericTransformer(xAccessor.min(),xAccessor.max(),0+gutter,width-gutter);yTransform=numericTransformer(yAccessor.min(),yAccessor.max(),height-gutter,0+gutter);axisRenderer("x",xTransform.toData);axisRenderer("y",yTransform.toData);lineRenderer(xAccessor,yAccessor,xTransform.toCoord,yTransform.toCoord);pointRenderer(xAccessor,yAccessor,xTransform.toCoord,yTransform.toCoord);}
    -function renderGraphSvg(dataArray,renderId){var figure=document.getElementById(renderId);while(figure.hasChildNodes()){figure.removeChild(figure.lastChild);}
    -var svg=document.createElementNS("http://www.w3.org/2000/svg","svg");svg.setAttribute("viewBox","0 0 640 440");svg.setAttribute("preserveAspectRatio","xMidYMid meet");lineGraph(svg,(function(data,min,max){var i=0;return{hasNext:function(){return i
    '+ -'
    0
    '+ -"
    ";return tmplt;} -function slider_move(parents,newW,sliderW,send){var slider_new_val=parseInt(Math.round((newW/sliderW)*100));var slider_fill=parents.find(".slider-fill");var slider_handle=parents.find(".slider-handle");var range=parents.find('input[type="range"]');range.next().html(newW);slider_fill.css("width",slider_new_val+"%");slider_handle.css({left:slider_new_val+"%",transition:"none","-webkit-transition":"none","-moz-transition":"none",});range.val(slider_new_val);if(parents.find(".slider-handle span").text()!=slider_new_val){parents.find(".slider-handle span").text(slider_new_val);var number=parents.attr("id").substring(2);if(send)websock.send("slvalue:"+slider_new_val+":"+number);}} \ No newline at end of file +function rkmd_rangeSlider(e){var n,s,o,t=$(e),a=t.width(),r=t.offset().left,i=t;i.each(function(){n=$(this),n.append(sliderDiscrete_tmplt()),o=n.find('input[type="range"]'),s=n.find(".slider"),slider_fill=s.find(".slider-fill"),slider_handle=s.find(".slider-handle"),slider_label=s.find(".slider-label");var i=parseInt(o.val());slider_fill.css("width",i+"%"),slider_handle.css("left",i+"%"),slider_label.find("span").text(i)}),t.on("mousedown touchstart",".slider-handle",function(e){if(e.button===2)return!1;var n,s,o,t=$(this).parents(".rkmd-slider"),i=t.width(),a=t.offset().left,r=t.find('input[type="range"]').is(":disabled");if(r===!0)return!1;$(this).addClass("is-active"),n=function(e){var s=e.pageX||e.changedTouches[0].pageX,n=s-a;n<=i&&!(n<"0")&&slider_move(t,n,i,!0)},s=function(){$(this).off(o),t.find(".is-active").removeClass("is-active")},o={mousemove:n,touchmove:n,mouseup:s,touchend:s},$(document).on(o)}),t.on("mousedown touchstart",".slider",function(e){if(e.button===2)return!1;var n,s,o,t=$(this).parents(".rkmd-slider"),i=t.width(),a=t.offset().left,r=t.find('input[type="range"]').is(":disabled");if(r===!0)return!1;n=e.pageX-a,n<=i&&!(n<"0")&&slider_move(t,n,i,!0),s=function(){$(this).off(o)},o={mouseup:s,touchend:s},$(document).on(o)})}function sliderDiscrete_tmplt(){var e='
    0
    ';return e}function slider_move(e,t,n,s){var a,o=parseInt(Math.round(t/n*100)),r=e.find(".slider-fill"),c=e.find(".slider-handle"),i=e.find('input[type="range"]');i.next().html(t),r.css("width",o+"%"),c.css({left:o+"%",transition:"none","-webkit-transition":"none","-moz-transition":"none"}),i.val(o),e.find(".slider-handle span").text()!=o&&(e.find(".slider-handle span").text(o),a=e.attr("id").substring(2),s&&websock.send("slvalue:"+o+":"+a))} \ No newline at end of file diff --git a/data/js/tabbedcontent.min.js b/data/js/tabbedcontent.min.js index efbf454..f05ac85 100644 --- a/data/js/tabbedcontent.min.js +++ b/data/js/tabbedcontent.min.js @@ -1,35 +1 @@ -;(function($,document,window,undefined){"use strict";var Tabbedcontent=function(tabcontent,options){var defaults={links:tabcontent.prev().find('a').length?tabcontent.prev().find('a'):'.tabs a',errorSelector:'.error-message',speed:false,onSwitch:false,onInit:false,currentClass:'active',tabErrorClass:'has-errors',history:true,historyOnInit:true,loop:false},firstTime=false,children=tabcontent.children(),history=window.history,loc=document.location,current=null;options=$.extend(defaults,options);if(!(options.links instanceof $)){options.links=$(options.links);} -function tabExists(tab){return Boolean(children.filter(tab).length);} -function isFirst(){return current===0;} -function isInt(num){return num%1===0;} -function isLast(){return current===children.length-1;} -function filterTab(tab){return $(this).attr('href').match(new RegExp(tab+'$'));} -function getTab(tab){if(tab instanceof $){return{tab:tab,link:options.links.eq(tab.index())};} -if(isInt(tab)){return{tab:children.eq(tab),link:options.links.eq(tab)};} -if(children.filter(tab).length){return{tab:children.filter(tab),link:options.links.filter(function(){return filterTab.apply(this,[tab]);})};} -return{tab:children.filter('#'+tab),link:options.links.filter(function(){return filterTab.apply(this,['#'+tab]);})};} -function getCurrent(){return options.links.parent().filter('.'+options.currentClass).index();} -function next(loop){++current;if(loop===undefined)loop=options.loop;if(current=children.length){return switchTab(0,true);} -return false;} -function prev(loop){--current;if(loop===undefined)loop=options.loop;if(current>=0){return switchTab(current,true);}else if(loop&¤t<0){return switchTab(children.length-1,true);} -return false;} -function onSwitch(tab){if(options.history&&options.historyOnInit&&firstTime&&history!==undefined&&('pushState'in history)){firstTime=false;window.setTimeout(function(){history.replaceState(null,'',tab);},100);} -current=getCurrent();if(options.onSwitch&&typeof options.onSwitch==='function'){options.onSwitch(tab,api());} -tabcontent.trigger('tabcontent.switch',[tab,api()]);} -function switchTab(tab,api){if(!tab.toString().match(/^#/)){tab='#'+getTab(tab).tab.attr('id');} -if(!tabExists(tab)){return false;} -options.links.attr('aria-selected','false').parent().removeClass(options.currentClass);options.links.filter(function(){return filterTab.apply(this,[tab]);}).attr('aria-selected','true').parent().addClass(options.currentClass);children.hide();if(options.history&&api){if(history!==undefined&&('pushState'in history)){history.pushState(null,'',tab);}else{window.location.hash=tab;}} -children.attr('aria-hidden','true').filter(tab).show(options.speed,function(){if(options.speed){onSwitch(tab);}}).attr('aria-hidden','false');if(!options.speed){onSwitch(tab);} -return true;} -function apiSwitch(tab){return switchTab(tab,true);} -function hashSwitch(e){switchTab(loc.hash);} -function init(){if(tabExists(loc.hash)){switchTab(loc.hash);} -else if(options.links.parent().filter('.'+options.currentClass).length){switchTab(options.links.parent().filter('.'+options.currentClass).index());} -else if(options.errorSelector&&children.find(options.errorSelector).length){children.each(function(){if($(this).find(options.errorSelector).length){switchTab("#"+$(this).attr("id"));return false;}});} -else{switchTab("#"+children.filter(":first-child").attr("id"));} -if(options.errorSelector){children.find(options.errorSelector).each(function(){var tab=getTab($(this).parent());tab.link.parent().addClass(options.tabErrorClass);});} -if('onhashchange'in window){$(window).bind('hashchange',hashSwitch);}else{var current_href=loc.href;window.setInterval(function(){if(current_href!==loc.href){hashSwitch.call(window.event);current_href=loc.href;}},100);} -$(options.links).on('click',function(e){switchTab($(this).attr('href').replace(/^[^#]+/,''),options.history);e.preventDefault();});if(options.onInit&&typeof options.onInit==='function'){options.onInit(api());} -tabcontent.trigger('tabcontent.init',[api()]);} -function api(){return{'switch':apiSwitch,'switchTab':apiSwitch,'getCurrent':getCurrent,'getTab':getTab,'next':next,'prev':prev,'isFirst':isFirst,'isLast':isLast};} -init();return api();};$.fn.tabbedContent=function(options){return this.each(function(){var tabs=new Tabbedcontent($(this),options);$(this).data('api',tabs);});};})(window.jQuery||window.Zepto||window.$,document,window); \ No newline at end of file +(function(e,t,n,s){"use strict";var o=function(o,i){var y={links:o.prev().find("a").length?o.prev().find("a"):".tabs a",errorSelector:".error-message",speed:!1,onSwitch:!1,onInit:!1,currentClass:"active",tabErrorClass:"has-errors",history:!0,historyOnInit:!0,loop:!1},p=!1,a=o.children(),l=n.history,d=t.location,c=null;i=e.extend(y,i),i.links instanceof e||(i.links=e(i.links));function j(e){return Boolean(a.filter(e).length)}function O(){return c===0}function E(e){return e%1===0}function x(){return c===a.length-1}function h(t){return e(this).attr("href").match(new RegExp(t+"$"))}function m(t){return t instanceof e?{tab:t,link:i.links.eq(t.index())}:E(t)?{tab:a.eq(t),link:i.links.eq(t)}:a.filter(t).length?{tab:a.filter(t),link:i.links.filter(function(){return h.apply(this,[t])})}:{tab:a.filter("#"+t),link:i.links.filter(function(){return h.apply(this,["#"+t])})}}function b(){return i.links.parent().filter("."+i.currentClass).index()}function w(e){return++c,e===s&&(e=i.loop),c=a.length)&&r(0,!0)}function _(e){return--c,e===s&&(e=i.loop),c>=0?r(c,!0):!!(e&&c<0)&&r(a.length-1,!0)}function f(e){i.history&&i.historyOnInit&&p&&l!==s&&"pushState"in l&&(p=!1,n.setTimeout(function(){l.replaceState(null,"",e)},100)),c=b(),i.onSwitch&&typeof i.onSwitch=="function"&&i.onSwitch(e,u()),o.trigger("tabcontent.switch",[e,u()])}function r(e,t){return e.toString().match(/^#/)||(e="#"+m(e).tab.attr("id")),!!j(e)&&(i.links.attr("aria-selected","false").parent().removeClass(i.currentClass),i.links.filter(function(){return h.apply(this,[e])}).attr("aria-selected","true").parent().addClass(i.currentClass),a.hide(),i.history&&t&&(l!==s&&"pushState"in l?l.pushState(null,"",e):n.location.hash=e),a.attr("aria-hidden","true").filter(e).show(i.speed,function(){i.speed&&f(e)}).attr("aria-hidden","false"),i.speed||f(e),!0)}function v(e){return r(e,!0)}function g(){r(d.hash)}function C(){if(j(d.hash)?r(d.hash):i.links.parent().filter("."+i.currentClass).length?r(i.links.parent().filter("."+i.currentClass).index()):i.errorSelector&&a.find(i.errorSelector).length?a.each(function(){if(e(this).find(i.errorSelector).length)return r("#"+e(this).attr("id")),!1}):r("#"+a.filter(":first-child").attr("id")),i.errorSelector&&a.find(i.errorSelector).each(function(){var t=m(e(this).parent());t.link.parent().addClass(i.tabErrorClass)}),"onhashchange"in n)e(n).bind("hashchange",g);else{var t=d.href;n.setInterval(function(){t!==d.href&&(g.call(n.event),t=d.href)},100)}e(i.links).on("click",function(t){r(e(this).attr("href").replace(/^[^#]+/,""),i.history),t.preventDefault()}),i.onInit&&typeof i.onInit=="function"&&i.onInit(u()),o.trigger("tabcontent.init",[u()])}function u(){return{switch:v,switchTab:v,getCurrent:b,getTab:m,next:w,prev:_,isFirst:O,isLast:x}}return C(),u()};e.fn.tabbedContent=function(t){return this.each(function(){var n=new o(e(this),t);e(this).data("api",n)})}})(window.jQuery||window.Zepto||window.$,document,window) \ No newline at end of file diff --git a/src/dataGraphJS.h b/src/dataGraphJS.h index 41592ae..8542a4a 100644 --- a/src/dataGraphJS.h +++ b/src/dataGraphJS.h @@ -1,19 +1,5 @@ const char JS_GRAPH[] PROGMEM = R"=====( -function lineGraph(parent,xAccessor,yAccessor){const width=620;const height=420;const gutter=40;const pixelsPerTick=30;function numericTransformer(dataMin,dataMax,pxMin,pxMax){var dataDiff=dataMax-dataMin,pxDiff=pxMax-pxMin,dataRatio=pxDiff/dataDiff,coordRatio=dataDiff/pxDiff;return{toCoord:function(data){return(data-dataMin)*dataRatio+pxMin;},toData:function(coord){return(coord-pxMin)*coordRatio+dataMin;}};} -function axisRenderer(orientation,transform){var axisGroup=document.createElementNS("http://www.w3.org/2000/svg","g");var axisPath=document.createElementNS("http://www.w3.org/2000/svg","path");axisGroup.setAttribute("class",orientation+"-axis");var xMin=gutter;var xMax=width-gutter;var yMin=height-gutter;var yMax=gutter;if(orientation==="x"){axisPath.setAttribute("d","M "+xMin+" "+yMin+" L "+xMax+" "+yMin);for(var i=xMin;i<=xMax;i++){if((i-xMin)%(pixelsPerTick*3)===0&&i!==xMin){var text=document.createElementNS("http://www.w3.org/2000/svg","text");text.innerHTML=new Date(Math.floor(transform(i))).toLocaleTimeString();text.setAttribute("x",i);text.setAttribute("y",yMin);text.setAttribute("dy","1em");axisGroup.appendChild(text);}}}else{axisPath.setAttribute("d","M "+xMin+" "+yMin+" L "+xMin+" "+yMax);for(var i=yMax;i<=yMin;i++){if((i-yMin)%pixelsPerTick===0&&i!==yMin){var tickGroup=document.createElementNS("http://www.w3.org/2000/svg","g");var gridLine=document.createElementNS("http://www.w3.org/2000/svg","path");text=document.createElementNS("http://www.w3.org/2000/svg","text");text.innerHTML=Math.floor(transform(i));text.setAttribute("x",xMin);text.setAttribute("y",i);text.setAttribute("dx","-.5em");text.setAttribute("dy",".3em");gridLine.setAttribute("d","M "+xMin+" "+i+" L "+xMax+" "+i);tickGroup.appendChild(gridLine);tickGroup.appendChild(text);axisGroup.appendChild(tickGroup);}}} -axisGroup.appendChild(axisPath);parent.appendChild(axisGroup);} -function lineRenderer(xAccessor,yAccessor,xTransform,yTransform){var line=document.createElementNS("http://www.w3.org/2000/svg","path");xAccessor.reset();yAccessor.reset();if(!xAccessor.hasNext()||!yAccessor.hasNext()){return;} -var pathString="M "+xTransform(xAccessor.next())+" "+yTransform(yAccessor.next());while(xAccessor.hasNext()&&yAccessor.hasNext()){pathString+=" L "+ -xTransform(xAccessor.next())+ -" "+ -yTransform(yAccessor.next());} -line.setAttribute("class","series");line.setAttribute("d",pathString);parent.appendChild(line);} -function pointRenderer(xAccessor,yAccessor,xTransform,yTransform){var pointGroup=document.createElementNS("http://www.w3.org/2000/svg","g");pointGroup.setAttribute("class","data-points");xAccessor.reset();yAccessor.reset();if(!xAccessor.hasNext()||!yAccessor.hasNext()){return;} -while(xAccessor.hasNext()&&yAccessor.hasNext()){var xDataValue=xAccessor.next();var x=xTransform(xDataValue);var yDataValue=yAccessor.next();var y=yTransform(yDataValue);var circle=document.createElementNS("http://www.w3.org/2000/svg","circle");circle.setAttribute("cx",x);circle.setAttribute("cy",y);circle.setAttribute("r","4");var text=document.createElementNS("http://www.w3.org/2000/svg","text");text.innerHTML=new Date(Math.floor(xDataValue)).toLocaleTimeString()+" / "+Math.floor(yDataValue);text.setAttribute("x",x);text.setAttribute("y",y);text.setAttribute("dx","1em");text.setAttribute("dy","-.7em");pointGroup.appendChild(circle);pointGroup.appendChild(text);} -parent.appendChild(pointGroup);} -xTransform=numericTransformer(xAccessor.min(),xAccessor.max(),0+gutter,width-gutter);yTransform=numericTransformer(yAccessor.min(),yAccessor.max(),height-gutter,0+gutter);axisRenderer("x",xTransform.toData);axisRenderer("y",yTransform.toData);lineRenderer(xAccessor,yAccessor,xTransform.toCoord,yTransform.toCoord);pointRenderer(xAccessor,yAccessor,xTransform.toCoord,yTransform.toCoord);} -function renderGraphSvg(dataArray,renderId){var figure=document.getElementById(renderId);while(figure.hasChildNodes()){figure.removeChild(figure.lastChild);} -var svg=document.createElementNS("http://www.w3.org/2000/svg","svg");svg.setAttribute("viewBox","0 0 640 440");svg.setAttribute("preserveAspectRatio","xMidYMid meet");lineGraph(svg,(function(data,min,max){var i=0;return{hasNext:function(){return i Control

    Control
    Offline


    +Control

    Control
    Offline


    )====="; -const uint8_t HTML_INDEX_GZIP[929] PROGMEM = { 31,139,8,0,74,64,43,105,2,255,141,149,109,115,170,56,20,199,191,10,235,171,221,185,183,69,212,218,246,94,117,38,40,216,170,168,128,160,248,46,64,42,193,240,80,18,68,253,244,155,128,157,222,157,187,211,93,103,72,78,114,126,231,127,146,3,115,28,252,49,89,141,55,222,90,147,34,150,144,209,160,30,165,65,132,96,56,26,36,136,65,41,136,96,65,17,27,150,236,237,238,105,52,96,152,17,52,26,103,41,43,50,50,144,155,101,67,166,48,65,195,19,70,85,158,21,76,10,56,130,82,54,108,85,56,100,209,48,68,39,28,160,187,122,241,93,194,41,102,24,146,59,26,64,130,134,74,107,52,32,56,61,74,5,34,195,22,141,120,120,80,50,9,115,137,150,20,21,232,109,24,66,6,127,224,4,30,144,156,167,135,159,62,164,168,223,251,142,93,117,101,85,237,249,244,144,1,254,91,218,78,164,57,7,110,169,98,9,204,49,48,196,156,45,204,231,141,48,212,105,168,110,28,13,128,197,116,61,150,207,145,106,242,205,177,26,219,250,108,201,189,253,25,143,61,188,242,205,181,208,27,131,62,31,67,17,185,202,133,106,63,225,131,222,29,7,37,209,158,132,222,90,87,13,87,115,106,86,113,183,86,71,121,55,59,4,91,93,253,93,60,118,215,45,173,174,203,237,102,94,117,148,196,238,40,165,93,251,248,195,237,89,103,58,55,121,28,231,57,163,139,188,170,220,157,150,143,66,95,75,45,123,67,12,160,102,160,123,92,171,213,245,9,63,204,175,56,59,31,122,75,55,112,186,165,54,123,169,111,186,157,45,172,182,9,48,112,66,187,222,32,149,173,147,171,168,137,82,1,48,9,3,213,196,216,71,181,47,108,219,142,162,171,223,52,93,139,2,205,248,246,146,123,149,40,132,234,217,142,165,186,106,188,137,60,121,54,161,224,48,214,108,214,35,249,78,62,61,199,11,115,63,235,191,235,207,172,123,140,192,37,86,206,59,103,238,155,61,213,205,170,73,245,190,242,14,218,249,120,220,246,176,215,39,107,168,183,251,214,187,241,228,189,178,85,105,249,6,188,246,207,177,79,75,58,1,91,57,44,114,162,30,122,143,241,186,255,220,15,118,218,147,191,6,10,114,38,104,222,17,167,155,237,44,125,251,98,29,189,157,69,86,201,242,178,223,234,237,189,9,46,198,68,235,46,54,64,89,108,180,158,59,121,189,174,98,208,94,197,206,121,126,5,23,110,87,103,237,225,25,85,226,85,184,109,203,141,218,251,41,143,219,228,204,239,88,249,62,61,2,35,6,231,229,165,93,45,237,246,121,165,155,23,227,154,85,203,73,166,24,54,173,140,56,171,140,133,179,57,7,129,56,194,62,212,92,47,212,151,167,125,106,117,189,221,140,128,151,176,27,94,30,114,63,97,87,175,163,87,123,251,225,20,36,200,127,140,43,88,151,84,35,250,230,104,151,102,50,30,255,242,37,83,118,33,136,70,8,177,230,35,150,3,74,229,52,43,18,72,240,21,221,243,213,127,193,245,230,255,1,131,146,178,44,105,72,26,20,56,103,18,45,130,161,28,83,249,138,114,150,221,39,56,189,143,185,83,110,188,191,81,148,224,16,21,95,34,135,2,230,209,151,68,208,116,5,250,37,196,160,239,163,240,214,29,190,150,107,46,245,15,68,174,59,147,52,240,179,240,34,101,41,201,96,56,140,225,9,54,254,31,148,193,130,253,249,215,79,78,132,248,36,26,89,175,49,37,28,14,19,136,211,23,30,142,138,207,254,213,80,52,135,169,32,248,169,108,6,89,73,165,128,64,74,135,4,250,136,140,86,111,111,188,250,136,31,130,99,156,150,107,209,91,104,84,220,18,52,17,226,94,60,13,42,62,211,22,89,117,115,182,132,89,222,189,149,132,52,141,144,247,189,155,76,73,4,202,107,67,83,248,161,213,226,38,62,64,134,179,84,250,52,239,4,244,155,74,73,62,19,10,224,86,223,15,165,95,183,254,253,0,31,147,40,108,125,199,250,143,224,111,201,252,153,93,31,6,0,0 }; +const uint8_t HTML_INDEX_GZIP[911] PROGMEM = { 31,139,8,0,0,0,0,0,0,255,140,148,223,147,162,56,16,199,255,21,207,167,187,218,157,69,196,113,103,238,212,170,70,97,102,29,81,1,193,31,111,33,100,32,24,8,146,32,234,95,127,21,157,217,221,171,189,154,187,7,77,167,251,147,111,119,154,84,15,126,139,57,150,231,146,180,82,153,179,209,32,39,18,181,112,138,42,65,228,176,150,175,119,15,163,129,164,146,145,209,152,23,178,226,108,160,221,182,55,178,64,57,25,30,41,105,74,94,201,22,230,133,36,133,28,182,27,26,203,116,24,147,35,197,228,238,186,249,76,11,42,41,98,119,2,35,70,134,122,123,52,96,180,216,183,42,194,134,109,145,242,74,226,90,182,40,230,69,187,149,86,228,117,24,35,137,254,164,57,74,136,86,22,201,95,17,18,164,223,251,76,67,115,225,53,157,151,167,132,3,0,204,253,32,181,130,4,0,76,181,5,119,12,142,90,249,204,125,92,41,195,124,138,205,85,96,1,204,158,150,99,237,148,154,46,0,140,205,204,183,167,115,0,179,63,77,0,146,111,46,192,82,233,141,161,15,0,177,58,185,40,149,106,63,7,0,219,24,227,154,89,15,74,111,105,155,78,104,5,87,86,15,215,94,87,63,184,93,70,61,195,62,168,159,111,132,181,103,132,7,239,109,93,116,245,220,239,234,181,127,141,217,7,101,79,187,79,47,110,87,87,124,237,25,182,202,107,106,198,83,253,85,233,91,133,231,175,152,3,38,7,99,191,52,155,203,3,189,127,185,80,126,74,122,243,16,7,70,109,77,159,175,55,93,79,103,94,199,5,10,65,236,95,29,172,241,109,118,81,61,209,27,128,73,140,77,151,210,136,92,99,113,199,15,116,219,252,100,217,86,138,45,231,211,115,185,109,84,35,204,173,31,120,102,104,102,171,116,171,77,39,2,146,177,229,203,30,43,55,218,241,49,155,185,187,105,255,96,63,74,99,159,194,57,211,79,155,224,37,114,123,102,200,155,73,115,88,108,19,235,180,223,175,123,116,219,103,75,100,119,250,222,193,121,216,126,147,139,218,139,28,116,233,159,178,72,212,98,2,107,45,174,74,102,38,189,175,217,178,255,216,199,27,235,33,90,130,78,130,9,121,233,170,234,166,27,207,94,63,123,251,237,198,99,139,124,126,222,173,237,206,206,133,179,51,177,140,217,10,244,217,202,234,133,147,111,151,69,6,157,69,22,156,94,46,112,94,100,208,156,172,251,71,210,168,79,17,118,188,48,237,236,158,236,206,110,85,202,168,235,149,187,98,15,78,6,167,249,185,211,204,253,206,105,97,187,103,231,194,155,249,132,235,142,47,26,39,227,141,51,11,86,39,140,85,9,187,216,10,183,177,61,63,238,10,207,216,110,166,12,158,99,35,62,223,151,81,46,47,219,174,221,236,252,251,35,206,73,244,53,107,208,181,165,22,179,87,123,191,118,243,241,248,167,151,44,228,153,17,145,18,34,111,143,88,195,66,104,5,175,114,196,232,133,124,193,66,252,23,124,117,254,31,16,215,66,242,252,70,10,92,209,82,182,68,133,135,90,38,180,11,41,37,255,146,211,226,75,38,70,3,237,22,253,133,18,140,198,164,250,16,73,42,84,166,31,18,248,54,20,196,135,144,68,81,68,226,183,225,240,177,220,237,82,255,64,34,30,159,91,188,96,28,197,67,33,81,37,127,255,99,52,136,233,113,52,72,123,87,163,69,227,97,142,104,241,76,80,76,170,31,115,234,202,136,18,21,10,192,188,240,37,146,181,104,97,134,132,24,50,20,17,54,90,188,190,50,90,144,129,166,176,209,64,83,138,183,115,105,117,211,190,209,170,118,68,11,82,125,79,88,241,230,45,214,86,102,125,247,90,51,118,27,117,237,119,141,154,41,82,162,72,20,232,93,169,93,160,35,77,144,164,188,104,253,48,239,20,244,139,72,205,190,167,83,241,183,6,190,11,253,236,250,215,244,215,255,191,3,0,0,255,255,255,40,204,240,224,5,0,0 }; diff --git a/src/dataNormalizeCSS.h b/src/dataNormalizeCSS.h index be71ef0..20c59f9 100644 --- a/src/dataNormalizeCSS.h +++ b/src/dataNormalizeCSS.h @@ -1,5 +1,5 @@ const char CSS_NORMALIZE[] PROGMEM = R"=====( -html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:visible}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0} +html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:initial}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:visible}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0} )====="; -const uint8_t CSS_NORMALIZE_GZIP[859] PROGMEM = { 31,139,8,0,74,64,43,105,2,255,149,84,237,110,163,58,16,125,149,168,171,74,187,146,137,104,247,163,87,70,247,73,162,252,24,236,1,124,227,47,217,38,77,22,241,238,59,6,66,147,54,93,233,254,2,6,123,230,204,57,103,166,75,70,15,141,179,169,104,192,40,125,230,17,108,44,34,6,213,84,133,137,69,194,83,42,162,250,141,5,200,255,250,152,248,83,89,62,86,197,43,214,7,149,238,255,29,107,39,207,131,129,208,42,203,203,17,66,82,66,35,131,168,36,50,137,9,148,142,172,81,173,0,159,148,179,249,181,15,200,26,231,18,6,214,33,200,252,104,131,235,61,51,160,44,51,104,123,102,225,200,34,138,233,70,236,13,165,63,15,82,69,175,225,204,107,237,196,97,132,94,42,199,4,216,35,68,230,131,107,3,198,200,142,84,213,173,39,149,213,202,98,49,93,168,142,152,161,129,46,64,171,214,242,26,34,230,191,115,34,110,93,250,186,19,196,76,112,58,238,191,173,41,172,179,88,117,168,218,46,81,119,187,78,73,137,118,207,18,26,250,157,240,230,220,8,67,13,226,144,123,177,178,16,78,187,192,83,32,134,61,4,180,105,4,14,212,209,145,200,225,157,35,56,131,235,83,134,144,105,171,235,176,75,42,105,220,15,181,11,196,73,81,187,148,156,225,79,254,180,145,244,138,114,172,89,36,120,182,157,21,124,157,65,213,78,203,81,54,118,14,198,116,214,200,85,162,30,197,216,61,45,65,146,140,63,163,169,22,149,182,191,94,208,108,202,145,62,15,87,136,249,151,166,41,171,25,246,151,178,44,199,104,64,235,171,20,255,144,218,177,39,20,189,191,138,190,252,124,172,38,154,47,44,85,222,69,149,149,227,1,137,35,106,248,83,238,115,166,228,60,47,182,63,209,228,220,195,210,117,177,125,206,17,101,218,133,14,226,40,30,219,73,38,30,200,59,223,134,204,96,163,221,43,63,170,168,106,141,227,236,172,139,21,159,168,197,31,165,63,141,93,24,10,227,126,19,159,167,12,88,217,150,103,157,73,144,28,170,62,9,175,146,123,74,185,150,130,62,185,81,56,114,246,161,150,228,58,100,17,140,191,153,40,227,172,35,193,5,178,245,173,122,35,139,80,141,117,79,45,90,166,172,239,19,115,62,205,222,39,70,200,239,44,207,24,185,5,134,89,7,101,59,26,206,52,101,88,63,214,97,155,51,125,100,98,169,48,167,28,166,177,157,124,216,184,96,102,167,46,39,58,218,7,155,9,200,46,157,61,254,251,48,199,31,246,236,58,72,147,133,233,93,140,180,50,138,130,195,101,57,128,247,8,84,68,32,159,147,84,162,15,145,90,240,78,17,173,97,41,185,163,129,1,194,40,247,215,197,215,224,176,92,146,216,64,175,211,114,137,243,73,193,198,137,62,22,202,90,218,24,211,189,143,241,213,45,149,7,41,179,168,229,56,29,29,174,45,106,137,7,208,227,117,63,162,67,113,32,225,223,183,14,180,28,30,242,76,174,46,89,199,243,244,190,198,114,199,246,166,198,240,176,39,116,11,55,19,180,34,122,101,139,107,241,63,61,79,123,225,246,252,176,0,159,252,119,35,3,113,46,186,251,50,100,221,27,133,90,86,127,243,255,229,226,255,26,143,187,24,222,240,207,145,66,100,24,250,94,203,159,94,145,40,92,128,188,60,238,117,52,89,119,106,137,12,121,145,58,47,200,232,180,146,155,168,52,77,194,58,30,155,103,255,38,209,246,59,237,147,205,246,215,243,244,120,201,203,69,99,139,86,222,115,204,58,132,183,131,127,153,213,143,251,55,101,247,94,22,55,77,174,6,31,145,95,94,170,229,71,94,6,75,1,201,82,55,188,21,252,3,26,45,63,124,152,7,0,0 }; +const uint8_t CSS_NORMALIZE_GZIP[846] PROGMEM = { 31,139,8,0,0,0,0,0,0,255,148,84,209,110,235,54,12,253,149,0,23,5,118,1,185,112,187,245,118,144,177,47,41,242,64,91,180,205,69,18,5,137,78,147,26,254,247,65,182,227,38,107,58,96,79,113,40,145,58,228,57,135,189,56,59,182,236,165,104,193,145,61,235,4,62,21,9,35,181,85,225,82,33,120,146,34,209,7,22,96,254,30,146,232,167,178,124,168,138,119,172,15,36,247,79,167,154,205,121,116,16,59,242,186,156,32,10,53,22,21,36,50,168,12,10,144,77,170,165,174,129,32,196,62,127,14,17,85,203,44,24,85,143,96,242,79,23,121,8,202,1,121,229,208,15,202,195,81,37,108,230,140,52,56,7,241,60,26,74,193,194,89,215,150,155,195,4,131,33,86,13,248,35,36,21,34,119,17,83,82,71,50,200,219,77,242,150,60,22,115,66,117,196,12,13,108,1,150,58,175,107,72,152,79,151,66,218,179,252,246,214,176,151,200,54,237,127,110,37,60,123,172,122,164,174,23,93,78,111,61,25,131,126,175,4,93,176,32,120,115,111,130,177,134,230,144,123,241,166,104,216,114,212,228,73,8,236,4,26,26,161,35,42,208,61,31,49,142,60,72,126,62,143,172,174,227,155,144,88,220,143,53,71,131,177,168,89,132,157,126,10,167,157,97,17,52,83,173,146,68,246,221,194,222,251,2,232,181,44,39,211,250,37,150,228,108,81,147,128,165,102,234,159,214,32,125,160,126,70,87,173,4,61,254,122,69,183,43,39,7,241,112,5,86,255,104,219,178,90,16,255,40,203,114,74,14,172,189,42,241,103,249,48,165,161,86,105,8,87,209,215,151,135,106,158,240,101,64,85,224,68,153,52,29,209,66,238,247,219,177,231,74,194,65,23,143,47,232,114,237,113,109,186,120,124,206,17,114,221,58,13,93,78,233,216,205,12,233,200,44,63,199,60,192,214,242,187,62,82,162,218,226,180,136,234,162,194,39,116,187,63,202,112,154,250,56,22,142,63,138,154,79,25,48,249,78,103,138,209,75,14,85,223,132,55,182,67,196,207,167,96,16,158,26,54,168,14,181,81,33,162,74,224,194,141,153,28,123,78,1,26,84,219,87,245,57,172,39,116,83,61,136,176,87,228,195,32,138,131,44,178,79,104,177,17,149,237,5,17,97,188,40,167,199,72,50,87,216,254,108,62,91,42,125,157,196,250,194,82,114,156,29,43,17,124,106,57,186,69,164,235,141,188,10,118,51,144,55,57,7,252,107,9,239,213,85,40,98,66,185,137,164,161,118,36,251,241,178,17,32,4,132,8,190,65,189,228,87,205,16,19,71,29,152,188,96,92,31,123,51,148,160,182,104,246,215,207,110,193,113,77,50,216,194,96,101,77,210,122,230,174,229,102,72,5,121,143,113,65,242,53,190,233,164,10,96,76,166,179,156,230,171,227,181,56,61,71,7,118,186,234,166,233,177,57,212,124,186,109,26,12,113,54,226,166,141,205,147,167,127,215,95,50,252,224,106,140,123,173,47,83,153,65,21,41,144,47,174,9,255,230,54,15,114,123,123,92,1,207,138,187,30,62,66,108,250,187,195,207,60,183,132,214,84,255,165,247,75,226,255,178,195,29,4,159,216,151,64,209,100,16,246,78,179,223,37,24,108,56,66,94,20,247,186,153,101,58,183,147,80,46,228,230,93,152,216,146,217,37,178,71,140,155,21,118,207,225,147,152,199,223,95,208,237,30,127,61,207,63,175,121,145,88,236,208,155,123,26,217,12,119,107,242,139,47,191,172,90,201,114,189,172,232,134,173,133,144,80,95,62,170,245,32,251,126,173,111,148,244,227,231,123,255,4,0,0,255,255,87,222,197,247,126,7,0,0 }; diff --git a/src/dataSliderJS.h b/src/dataSliderJS.h index 268a631..7b76fd4 100644 --- a/src/dataSliderJS.h +++ b/src/dataSliderJS.h @@ -1,15 +1,5 @@ const char JS_SLIDER[] PROGMEM = R"=====( -function rkmd_rangeSlider(selector){var self,slider_width,slider_offset,curnt,sliderDiscrete,range,slider;self=$(selector);slider_width=self.width();slider_offset=self.offset().left;sliderDiscrete=self;sliderDiscrete.each(function(i,v){curnt=$(this);curnt.append(sliderDiscrete_tmplt());range=curnt.find('input[type="range"]');slider=curnt.find(".slider");slider_fill=slider.find(".slider-fill");slider_handle=slider.find(".slider-handle");slider_label=slider.find(".slider-label");var range_val=parseInt(range.val());slider_fill.css("width",range_val+"%");slider_handle.css("left",range_val+"%");slider_label.find("span").text(range_val);});self.on("mousedown touchstart",".slider-handle",function(e){if(e.button===2){return false;} -var parents=$(this).parents(".rkmd-slider");var slider_width=parents.width();var slider_offset=parents.offset().left;var check_range=parents.find('input[type="range"]').is(":disabled");if(check_range===true){return false;} -$(this).addClass("is-active");var moveFu=function(e){var pageX=e.pageX||e.changedTouches[0].pageX;var slider_new_width=pageX-slider_offset;if(slider_new_width<=slider_width&&!(slider_new_width<"0")){slider_move(parents,slider_new_width,slider_width,true);}};var upFu=function(e){$(this).off(handlers);parents.find(".is-active").removeClass("is-active");};var handlers={mousemove:moveFu,touchmove:moveFu,mouseup:upFu,touchend:upFu,};$(document).on(handlers);});self.on("mousedown touchstart",".slider",function(e){if(e.button===2){return false;} -var parents=$(this).parents(".rkmd-slider");var slider_width=parents.width();var slider_offset=parents.offset().left;var check_range=parents.find('input[type="range"]').is(":disabled");if(check_range===true){return false;} -var slider_new_width=e.pageX-slider_offset;if(slider_new_width<=slider_width&&!(slider_new_width<"0")){slider_move(parents,slider_new_width,slider_width,true);} -var upFu=function(e){$(this).off(handlers);};var handlers={mouseup:upFu,touchend:upFu,};$(document).on(handlers);});} -function sliderDiscrete_tmplt(){var tmplt='
    '+ -'
    '+ -'
    0
    '+ -"
    ";return tmplt;} -function slider_move(parents,newW,sliderW,send){var slider_new_val=parseInt(Math.round((newW/sliderW)*100));var slider_fill=parents.find(".slider-fill");var slider_handle=parents.find(".slider-handle");var range=parents.find('input[type="range"]');range.next().html(newW);slider_fill.css("width",slider_new_val+"%");slider_handle.css({left:slider_new_val+"%",transition:"none","-webkit-transition":"none","-moz-transition":"none",});range.val(slider_new_val);if(parents.find(".slider-handle span").text()!=slider_new_val){parents.find(".slider-handle span").text(slider_new_val);var number=parents.attr("id").substring(2);if(send)websock.send("slvalue:"+slider_new_val+":"+number);}} +function rkmd_rangeSlider(e){var n,s,o,t=$(e),a=t.width(),r=t.offset().left,i=t;i.each(function(){n=$(this),n.append(sliderDiscrete_tmplt()),o=n.find('input[type="range"]'),s=n.find(".slider"),slider_fill=s.find(".slider-fill"),slider_handle=s.find(".slider-handle"),slider_label=s.find(".slider-label");var i=parseInt(o.val());slider_fill.css("width",i+"%"),slider_handle.css("left",i+"%"),slider_label.find("span").text(i)}),t.on("mousedown touchstart",".slider-handle",function(e){if(e.button===2)return!1;var n,s,o,t=$(this).parents(".rkmd-slider"),i=t.width(),a=t.offset().left,r=t.find('input[type="range"]').is(":disabled");if(r===!0)return!1;$(this).addClass("is-active"),n=function(e){var s=e.pageX||e.changedTouches[0].pageX,n=s-a;n<=i&&!(n<"0")&&slider_move(t,n,i,!0)},s=function(){$(this).off(o),t.find(".is-active").removeClass("is-active")},o={mousemove:n,touchmove:n,mouseup:s,touchend:s},$(document).on(o)}),t.on("mousedown touchstart",".slider",function(e){if(e.button===2)return!1;var n,s,o,t=$(this).parents(".rkmd-slider"),i=t.width(),a=t.offset().left,r=t.find('input[type="range"]').is(":disabled");if(r===!0)return!1;n=e.pageX-a,n<=i&&!(n<"0")&&slider_move(t,n,i,!0),s=function(){$(this).off(o)},o={mouseup:s,touchend:s},$(document).on(o)})}function sliderDiscrete_tmplt(){var e='
    0
    ';return e}function slider_move(e,t,n,s){var a,o=parseInt(Math.round(t/n*100)),r=e.find(".slider-fill"),c=e.find(".slider-handle"),i=e.find('input[type="range"]');i.next().html(t),r.css("width",o+"%"),c.css({left:o+"%",transition:"none","-webkit-transition":"none","-moz-transition":"none"}),i.val(o),e.find(".slider-handle span").text()!=o&&(e.find(".slider-handle span").text(o),a=e.attr("id").substring(2),s&&websock.send("slvalue:"+o+":"+a))} )====="; -const uint8_t JS_SLIDER_GZIP[881] PROGMEM = { 31,139,8,0,74,64,43,105,2,255,237,86,77,143,218,48,16,189,243,43,88,107,187,196,93,240,210,61,18,204,165,85,165,30,122,106,165,86,90,173,144,73,156,141,69,112,162,216,129,182,44,255,189,227,143,132,36,192,106,219,83,15,61,37,246,60,143,223,204,60,123,156,84,50,210,34,151,195,114,189,137,151,37,147,79,252,75,38,98,94,6,138,103,60,210,121,137,247,91,86,14,97,148,140,149,181,44,119,34,214,105,61,200,147,68,113,61,142,170,82,106,63,247,65,168,168,228,154,143,173,59,63,25,26,15,244,250,232,54,108,123,163,198,74,236,111,208,88,156,107,103,114,255,1,38,25,79,116,216,221,199,34,122,115,132,179,40,13,18,31,93,32,198,91,188,183,28,129,130,78,133,194,161,29,17,86,20,92,198,65,119,241,82,111,138,12,54,195,161,141,128,58,104,34,0,56,18,178,168,244,131,254,89,112,138,172,21,61,142,106,198,109,32,34,110,14,53,225,36,34,203,168,251,239,66,38,198,114,196,165,76,198,25,63,143,116,182,35,54,99,43,126,193,169,53,1,210,84,207,18,93,110,89,70,11,86,42,254,73,234,192,78,17,152,50,97,182,24,146,72,169,0,217,74,160,113,179,238,22,189,233,19,116,64,83,142,75,56,203,192,179,82,5,147,8,19,205,127,248,173,13,26,135,7,28,186,242,202,0,109,242,74,241,56,223,201,161,206,171,40,85,154,149,224,186,31,250,184,169,41,199,123,145,4,156,172,42,173,115,73,41,189,199,123,168,30,148,96,152,176,76,241,240,48,48,177,67,196,92,106,85,215,157,248,49,36,202,72,126,210,84,201,170,188,45,73,15,108,84,217,2,120,101,214,136,174,56,13,46,74,121,180,118,199,169,65,189,160,31,34,128,207,44,22,138,173,50,30,3,25,8,172,237,130,82,93,86,252,36,188,58,36,22,199,239,51,102,202,33,212,132,65,118,182,220,7,180,201,183,252,99,69,219,57,115,57,121,226,223,41,39,246,251,252,12,181,76,205,62,241,87,147,120,174,30,166,143,206,212,142,89,242,93,147,24,48,77,58,169,48,132,251,184,57,109,167,243,230,230,234,20,129,166,8,227,189,159,54,92,3,159,172,113,31,218,189,123,108,54,194,195,193,242,171,138,94,132,117,90,128,90,224,84,83,194,121,239,148,1,145,86,166,72,201,205,222,103,82,232,54,168,125,208,189,149,168,193,206,92,98,199,86,169,237,9,139,168,138,153,33,229,172,112,189,184,209,33,188,14,226,60,170,54,64,3,27,197,31,185,189,254,24,252,215,127,47,188,19,117,122,85,255,11,250,28,252,129,60,207,74,237,111,132,116,24,212,155,13,207,119,53,123,3,216,127,58,154,199,98,59,140,140,240,41,242,74,88,140,110,7,103,230,93,147,90,204,239,192,114,9,226,175,232,197,25,147,235,70,139,185,233,3,139,233,252,206,126,157,179,198,37,114,127,40,244,101,182,28,79,227,233,22,2,42,240,205,39,31,190,144,35,255,94,57,214,167,211,246,62,51,157,146,50,175,64,138,129,89,122,231,151,226,183,239,166,83,220,17,185,237,215,189,91,163,219,176,91,96,223,180,207,195,155,174,221,244,226,215,28,10,247,248,32,210,180,76,76,82,189,201,44,227,203,221,186,27,243,165,150,189,55,135,116,118,138,5,209,50,169,132,73,244,12,201,92,66,171,69,147,29,95,173,133,158,28,77,232,104,219,228,191,206,25,14,53,113,243,182,232,110,99,207,245,75,41,26,182,159,9,248,138,246,150,239,95,189,182,191,175,73,188,172,54,43,120,163,213,62,152,214,37,220,246,112,219,16,85,173,148,46,133,124,10,238,45,69,43,35,8,93,229,209,154,152,1,188,95,50,240,83,241,25,186,237,103,14,166,156,103,211,144,126,3,128,124,107,46,79,11,0,0 }; +const uint8_t JS_SLIDER_GZIP[730] PROGMEM = { 31,139,8,0,0,0,0,0,0,255,212,84,193,110,227,54,16,253,21,155,72,21,78,67,51,222,61,74,102,46,237,165,135,158,218,67,129,197,34,160,197,81,68,68,30,10,228,200,105,235,245,191,23,148,236,216,137,141,32,215,94,108,97,222,96,248,248,222,240,53,3,213,236,3,205,226,243,198,61,70,75,79,248,71,231,29,70,137,176,219,218,56,35,149,84,80,108,110,36,130,178,134,245,139,119,220,74,80,209,176,14,77,147,144,37,232,14,27,86,222,112,229,53,218,186,149,199,177,18,118,100,110,36,183,62,129,34,109,251,30,201,201,52,158,240,171,79,117,68,198,71,222,244,29,75,0,21,12,233,198,147,147,183,158,250,129,191,241,63,61,26,49,146,18,223,111,65,165,35,46,244,52,66,128,154,62,30,27,223,117,38,189,69,23,185,120,106,105,45,185,14,47,154,166,242,169,173,179,107,188,28,53,86,5,84,89,18,111,122,27,19,254,70,44,131,222,218,78,2,84,103,52,116,157,146,20,163,76,66,249,59,241,211,123,10,83,67,150,236,61,62,158,114,56,57,245,150,4,104,198,191,89,122,216,131,98,29,72,138,77,24,18,186,240,66,51,14,67,221,38,182,145,133,122,127,27,245,106,0,194,206,55,18,245,122,96,14,100,140,249,10,17,121,136,52,255,82,189,245,119,52,73,247,54,34,113,146,66,231,141,88,188,234,236,207,172,183,23,214,231,101,248,192,57,237,147,20,165,243,201,174,59,116,2,42,223,200,104,140,153,47,79,100,142,4,172,115,191,116,54,43,228,211,194,214,236,183,217,28,50,231,55,202,196,147,65,221,219,39,252,235,199,15,212,117,155,143,114,127,102,73,48,125,91,126,159,32,69,38,45,108,69,43,227,139,98,46,105,37,150,2,138,226,160,246,38,108,81,178,34,229,213,124,9,123,149,204,217,218,30,233,132,166,145,33,139,127,216,135,51,82,58,98,30,113,201,118,175,130,217,141,70,101,188,36,53,90,117,248,30,235,67,95,166,169,138,228,202,180,87,55,210,133,122,216,32,49,100,155,195,103,13,255,63,58,77,71,231,22,86,125,202,154,143,156,57,105,253,25,77,247,175,121,119,61,131,198,205,66,115,187,114,126,59,171,179,177,70,28,132,121,184,172,77,1,243,176,186,119,126,123,13,62,60,198,107,208,148,39,15,171,252,202,31,150,171,251,241,255,48,232,236,247,182,154,84,155,225,123,230,147,68,168,178,72,105,226,109,85,56,37,211,239,150,91,29,195,64,78,242,61,253,252,101,185,132,156,217,120,61,34,235,11,224,53,22,253,17,186,110,120,229,53,229,136,2,221,242,166,147,12,42,190,9,192,48,5,92,61,22,119,121,133,202,177,164,56,90,74,62,223,168,20,20,8,133,18,139,23,92,63,123,94,156,32,113,194,54,225,223,43,192,30,148,31,51,56,128,186,126,133,217,121,144,194,220,132,162,144,159,232,12,121,249,81,91,230,40,133,119,2,116,26,214,137,163,167,39,249,21,84,42,138,23,92,167,80,63,235,132,99,92,119,91,219,13,88,138,187,112,39,74,113,103,1,246,255,5,0,0,255,255,129,21,153,100,93,7,0,0 }; diff --git a/src/dataStyleCSS.h b/src/dataStyleCSS.h index 8f229c9..dd3922e 100644 --- a/src/dataStyleCSS.h +++ b/src/dataStyleCSS.h @@ -1,5 +1,5 @@ const char CSS_STYLE[] PROGMEM = R"=====( -.container{position:relative;width:79%;margin:20px;box-sizing:border-box}.column,.columns{width:100%;float:left}.card{min-height:100px;border-radius:6px;box-shadow:0 4px 4px rgba(204,197,185,0.5);padding-left:20px;padding-right:20px;margin-bottom:40px;min-width:500px;color:#fff}@media(min-width:1205px){.wide.card{min-width:1075px}}@media(min-width:1790px){.wide.card{min-width:1650px}}@media(max-width:630px){.card{min-width:98%}}.sectionbreak.columns{color:black}.sectionbreak.columns hr{border:0;height:2px;background-color:#666}.turquoise{background:#1abc9c;border-bottom:#16a085 3px solid}.emerald{background:#2ecc71;border-bottom:#27ae60 3px solid}.peterriver{background:#3498db;border-bottom:#2980b9 3px solid}.wetasphalt{background:#34495e;border-bottom:#2c3e50 3px solid}.sunflower{background:#f1c40f;border-bottom:#e6bb0f 3px solid}.carrot{background:#e67e22;border-bottom:#d35400 3px solid}.alizarin{background:#e74c3c;border-bottom:#c0392b 3px solid}.dark{background:#444857;border-bottom:#444857 3px solid}.label{box-sizing:border-box;white-space:nowrap;border-radius:.2em;padding:.12em .4em .14em;text-align:center;color:#fff;font-weight:700;line-height:1.3;margin-bottom:5px;display:inline-block;white-space:nowrap;vertical-align:baseline;position:relative;top:-.15em;background-color:#999;margin-bottom:10px}.label-wrap{width:90%;white-space:pre-wrap;word-wrap:break-word}.label.color-blue{background-color:#6f9ad1}.label.color-red{background-color:#d37c7c}.label.color-green{background-color:#9bc268}.label.color-orange{background-color:#dea154}.label.color-yellow{background-color:#e9d641}.label.color-purple{background-color:#9f83d1}@media(min-width:400px){.container{width:84%}}@media(min-width:630px){.container{width:98%}.column,.columns{margin-right:35px}.column:first-child,.columns:first-child{margin-left:0}.one.column,.one.columns{width:4.66666666667%}.two.columns{width:13.3333333333%}.three.columns{width:22%}.four.columns{width:30.6666666667%}.five.columns{width:39.3333333333%}.six.columns{width:48%}.seven.columns{width:56.6666666667%}.eight.columns{width:65.3333333333%}.nine.columns{width:74%}.ten.columns{width:82.6666666667%}.eleven.columns{width:91.3333333333%}.twelve.columns{width:100%;margin-left:0}.one-third.column{width:30.6666666667%}.two-thirds.column{width:65.3333333333%}.one-half.column{width:48%}.offset-by-one.column,.offset-by-one.columns{margin-left:8.66666666667%}.offset-by-two.column,.offset-by-two.columns{margin-left:17.3333333333%}.offset-by-three.column,.offset-by-three.columns{margin-left:26%}.offset-by-four.column,.offset-by-four.columns{margin-left:34.6666666667%}.offset-by-five.column,.offset-by-five.columns{margin-left:43.3333333333%}.offset-by-six.column,.offset-by-six.columns{margin-left:52%}.offset-by-seven.column,.offset-by-seven.columns{margin-left:60.6666666667%}.offset-by-eight.column,.offset-by-eight.columns{margin-left:69.3333333333%}.offset-by-nine.column,.offset-by-nine.columns{margin-left:78%}.offset-by-ten.column,.offset-by-ten.columns{margin-left:86.6666666667%}.offset-by-eleven.column,.offset-by-eleven.columns{margin-left:95.3333333333%}.offset-by-one-third.column,.offset-by-one-third.columns{margin-left:34.6666666667%}.offset-by-two-thirds.column,.offset-by-two-thirds.columns{margin-left:69.3333333333%}.offset-by-one-half.column,.offset-by-one-half.columns{margin-left:52%}}html{font-size:62.5%}body{margin:0;font-size:1.5em;line-height:1;font-weight:400;font-family:"Open Sans",sans-serif;color:#222;background-color:#ecf0f1}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:300}h1{font-size:4rem;line-height:1.2;letter-spacing:-.1rem}h2{font-size:3.6rem;line-height:1.25;letter-spacing:-.1rem}h3{font-size:3rem;line-height:1.3;letter-spacing:-.1rem}h4{font-size:2.4rem;line-height:1.35;letter-spacing:-.08rem}h5{font-size:1.8rem;line-height:1.5;letter-spacing:-.05rem}h6{font-size:1.5rem;line-height:1.6;letter-spacing:0}@media(min-width:630px){h1{font-size:5rem}h2{font-size:4.2rem}h3{font-size:3.6rem}h4{font-size:3rem}h5{font-size:2rem}h6{font-size:1.5rem}}p{margin-top:0}a{color:#1eaedb}a:hover{color:#0fa0ce}button{display:inline-block;padding:10px;border-radius:3px;color:#fff;background-color:#999}button:enabled:active{background-color:#666;transform:translateX(4px) translateY(4px)}button.pressed{background-color:#666 !important;transform:translateX(4px) translateY(4px)}#mainHeader{display:inline-block}#conStatus{position:inherit;font-size:.75em}button,.button{margin-bottom:1rem;margin-left:.3rem;margin-right:.3rem}.u-full-width{width:100%;box-sizing:border-box}.u-max-full-width{max-width:100%;box-sizing:border-box}.u-pull-right{float:right}.u-pull-left{float:left}.tcenter{text-align:center}hr{margin-top:.5rem;margin-bottom:1.2rem;border-width:0;border-top:1px solid #e1e1e1}.container:after,.row:after,.u-cf{content:"";display:table;clear:both}.control{background-color:#ddd;background-image:linear-gradient(hsla(0,0%,0%,0.1),hsla(0,0%,100%,0.1));border-radius:50%;box-shadow:inset 0 1px 1px 1px hsla(0,0%,100%,0.5),0 0 1px 1px hsla(0,0%,100%,0.75),0 0 1px 2px hsla(0,0%,100%,0.25),0 0 1px 3px hsla(0,0%,100%,0.25),0 0 1px 4px hsla(0,0%,100%,0.25),0 0 1px 6px hsla(0,0%,0%,0.75);height:9em;margin:3em auto;position:relative;width:9em}.control ul{height:100%;padding:0;transform:rotate(45deg)}.control li{border-radius:100% 0 0 0;box-shadow:inset -1px -1px 1px hsla(0,0%,100%,0.5),0 0 1px hsla(0,0%,0%,0.75);display:inline-block;height:50%;overflow:hidden;width:50%}.control ul li:nth-child(2){transform:rotate(90deg)}.control ul li:nth-child(3){transform:rotate(-90deg)}.control ul li:nth-child(4){transform:rotate(180deg)}.control ul a{height:200%;position:relative;transform:rotate(-45deg);width:200%}.control a:hover,.control a:focus{background-color:hsla(0,0%,100%,0.25)}.control a{border-radius:50%;color:#333;display:block;font:bold 1em/3 sans-serif;text-align:center;text-decoration:none;text-shadow:0 1px 1px hsla(0,0%,100%,0.4);transition:.15s}.control .confirm{background-color:#ddd;background-image:linear-gradient(hsla(0,0%,0%,0.15),hsla(0,0%,100%,0.25));box-shadow:inset 0 1px 1px 1px hsla(0,0%,100%,0.5),0 0 1px 1px hsla(0,0%,100%,0.25),0 0 1px 2px hsla(0,0%,100%,0.25),0 0 1px 3px hsla(0,0%,100%,0.25),0 0 1px 4px hsla(0,0%,100%,0.25),0 0 1px 6px hsla(0,0%,0%,0.85);left:50%;line-height:3;margin:-1.5em;position:absolute;top:50%;width:3em}.control .confirm:hover,.control .confirm:focus{background-color:#eee}.control:not(.disabled) a.confirm:active{background-color:#777}.control:not(.disabled) li:active{background-color:#777}.control:not(.disabled) a.pressed{background-color:#777 !important}.control:not(.disabled) li.pressed a{background-color:#777 !important}.switch{display:inline-block !important;background-color:#bebebe;border-radius:4px;box-shadow:inset 0 0 6px rgba(0,0,0,0.3);color:#fff;cursor:pointer;display:block;font-size:14px;height:26px;margin-left:.3rem;margin-right:.3rem;position:relative;width:60px;-webkit-transition:background-color .2s ease-in-out;-moz-transition:background-color .2s ease-in-out;-o-transition:background-color .2s ease-in-out;-ms-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out}.switch.checked{background-color:#76d21d}.switch input[type="checkbox"]{display:none;cursor:pointer;height:10px;left:12px;position:absolute;top:8px;width:10px}.in{position:absolute;top:8px;left:12px;-webkit-transition:left .08s ease-in-out;-moz-transition:left .08s ease-in-out;-o-transition:left .08s ease-in-out;-ms-transition:left .08s ease-in-out;transition:left .08s ease-in-out}.switch.checked div{left:38px}.switch .in:before{background:#fff;background:-moz-linear-gradient(top,#fff 0,#f0f0f0 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(100%,#f0f0f0));background:-webkit-linear-gradient(top,#fff 0,#f0f0f0 100%);background:-o-linear-gradient(top,#fff 0,#f0f0f0 100%);background:-ms-linear-gradient(top,#fff 0,#f0f0f0 100%);background:linear-gradient(to bottom,#fff 0,#f0f0f0 100%);border:1px solid #fff;border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,0.3);content:"";height:18px;position:absolute;top:-5px;left:-9px;width:26px}.switch .in:after{background:#f0f0f0;background:-moz-linear-gradient(top,#f0f0f0 0,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f0f0f0),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#f0f0f0 0,#fff 100%);background:-o-linear-gradient(top,#f0f0f0 0,#fff 100%);background:-ms-linear-gradient(top,#f0f0f0 0,#fff 100%);background:linear-gradient(to bottom,#f0f0f0 0,#fff 100%);border-radius:10px;content:"";height:12px;margin:-1px 0 0 -1px;position:absolute;width:12px}.rkmd-slider{display:block;position:relative;font-size:16px;font-family:"Roboto",sans-serif}.rkmd-slider input[type="range"]{overflow:hidden;position:absolute;width:1px;height:1px;opacity:0}.rkmd-slider input[type="range"]+.slider{display:block;position:relative;width:100%;height:27px;border-radius:13px;background-color:#bebebe}@media(pointer:fine){.rkmd-slider input[type="range"]+.slider{height:4px;border-radius:0}}.rkmd-slider input[type="range"]+.slider .slider-fill{display:block;position:absolute;width:0;height:100%;user-select:none;z-index:1}.rkmd-slider input[type="range"]+.slider .slider-handle{cursor:pointer;position:absolute;top:12px;left:0;width:15px;height:15px;margin-left:-8px;border-radius:50%;transition:all .2s ease;user-select:none;z-index:2}@media(pointer:fine){.rkmd-slider input[type="range"]+.slider .slider-handle{top:-5.5px}}.rkmd-slider input[type="range"]:disabled+.slider{background-color:#b0b0b0 !important}.rkmd-slider input[type="range"]:disabled+.slider .slider-fill,.rkmd-slider input[type="range"]:disabled+.slider .slider-handle{cursor:default !important;background-color:#b0b0b0 !important}.rkmd-slider input[type="range"]:disabled+.slider .slider-fill .slider-label,.rkmd-slider input[type="range"]:disabled+.slider .slider-handle .slider-label{display:none;background-color:#b0b0b0 !important}.rkmd-slider input[type="range"]:disabled+.slider .slider-fill.is-active,.rkmd-slider input[type="range"]:disabled+.slider .slider-handle.is-active{top:-5.5px;width:15px;height:15px;margin-left:-8px}.rkmd-slider input[type="range"]:disabled+.slider .slider-fill.is-active .slider-label,.rkmd-slider input[type="range"]:disabled+.slider .slider-handle.is-active .slider-label{display:none;border-radius:50%;transform:none}.rkmd-slider input[type="range"]:disabled+.slider .slider-handle:active{box-shadow:none !important;transform:scale(1) !important}.rkmd-slider.slider-discrete .slider .slider-handle{position:relative;z-index:1}.rkmd-slider.slider-discrete .slider .slider-handle .slider-label{position:absolute;top:-17.5px;left:4px;width:30px;height:30px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;border-radius:50%;-webkit-transform:scale(1) rotate(-45deg);transform:scale(1) rotate(-45deg);-webkit-transition:all .2s ease;transition:all .2s ease}@media(pointer:fine){.rkmd-slider.slider-discrete .slider .slider-handle .slider-label{left:-2px;-webkit-transform:scale(0.5) rotate(-45deg);transform:scale(0.5) rotate(-45deg)}}.rkmd-slider.slider-discrete .slider .slider-handle .slider-label span{position:absolute;top:7px;left:0;width:100%;color:#fff;font-size:16px;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media(pointer:fine){.rkmd-slider.slider-discrete .slider .slider-handle .slider-label span{font-size:12px}}.rkmd-slider.slider-discrete .slider .slider-handle.is-active{top:0;margin-left:-2px;width:4px;height:4px}.rkmd-slider.slider-discrete .slider .slider-handle.is-active .slider-label{top:-15px;left:-2px;border-radius:15px 15px 15px 0;-webkit-transform:rotate(-45deg) translate(23px,-25px);transform:rotate(-45deg) translate(23px,-25px)}.rkmd-slider.slider-discrete .slider .slider-handle.is-active .slider-label span{opacity:1}.rkmd-slider.slider-discrete.slider-turquoise .slider-label{background-color:#16a085}.rkmd-slider.slider-discrete.slider-emerald .slider-label{background-color:#27ae60}.peterriver{background:#3498db;border-bottom:#2980b9 3px solid}.rkmd-slider.slider-discrete.slider-peterriver .slider-label{background-color:#2980b9}.wetasphalt{background:#34495e;border-bottom:#2c3e50 3px solid}.rkmd-slider.slider-discrete.slider-wetasphalt .slider-label{background-color:#2c3e50}.sunflower{background:#f1c40f;border-bottom:#e6bb0f 3px solid}.rkmd-slider.slider-discrete.slider-sunflower .slider-label{background-color:#e6bb0f}.carrot{background:#e67e22;border-bottom:#d35400 3px solid}.rkmd-slider.slider-discrete.slider-carrot .slider-label{background-color:#d35400}.alizarin{background:#e74c3c;border-bottom:#c0392b 3px solid}.rkmd-slider.slider-discrete.slider-alizarin .slider-label{background-color:#c0392b}input{margin:0 auto 1.2rem auto;padding:2px 5px;width:100%;box-sizing:border-box;border:0;border-radius:4px;box-shadow:inset 0 0 6px rgba(0,0,0,0.3);background:rgba(255,255,255,0.8)}select{margin:0 auto 1.2rem auto;padding:2px 5px;width:100%;box-sizing:border-box;border:0;border-radius:4px;box-shadow:inset 0 0 6px rgba(0,0,0,0.3);background:rgba(255,255,255,0.8)}input[id^="num"]{max-width:6em;width:auto;text-align:right;font-weight:bold;font-size:115%}body div>ul.navigation{margin:0;margin-bottom:30px;padding:0;border-bottom:3px solid #666;overflow:hidden}ul.navigation li{list-style:none;float:left;margin-right:4px}ul.navigation li.controls{float:right}ul.navigation li a{font-weight:bold;display:inline-block;padding:6px 12px;color:#888;outline:0;text-decoration:none;background:#f3f3f3;background:-webkit-gradient(linear,0 0,0 bottom,from(#eee),to(#e4e4e4));background:-moz-linear-gradient(#eee,#e4e4e4);background:linear-gradient(#eee,#e4e4e4);-pie-background:linear-gradient(#eee,#e4e4e4)}ul.navigation li.active a{pointer-events:none;color:white;background:#666;background:-webkit-gradient(linear,0 0,0 bottom,from(#888),to(#666));background:-moz-linear-gradient(#888,#666);background:linear-gradient(#888,#666);-pie-background:linear-gradient(#888,#666)}div.tabscontent>div{padding:0 15px}#tabsnav:empty{display:none}.range-slider{margin:0}.range-slider{width:100%}.range-slider__range{-webkit-appearance:none;width:calc(100% - (45px));height:10px;border-radius:5px;outline:0;padding:0;margin:0}.range-slider__value{display:inline-block;position:relative;width:30px;color:#fff;line-height:20px;text-align:center;border-radius:3px;padding:5px 5px;margin-left:2px}.range-slider__value:after{position:absolute;top:8px;left:-7px;width:0;height:0;content:""}::-moz-range-track{border:0}input::-moz-focus-inner,input::-moz-focus-outer{border:0}svg{display:block;width:100%;height:100%}.y-axis path,.x-axis path{stroke:gray;stroke-width:1;fill:none}.series{stroke:steelblue;stroke-width:3;fill:none}.data-points circle{stroke:steelblue;stroke-width:2;fill:white}.data-points text{display:none}.data-points circle:hover{fill:steelblue;stroke-width:6}.data-points circle:hover+text{display:inline-block}text{text-anchor:end}.vert-switcher{transform:rotate(270deg);margin-top:15px;margin-bottom:25px}.vert-slider{width:150px;transform:rotate(270deg);display:inline-block;margin:50px -42px 70px -42px}.vert-slider span{transform:rotate(90deg)}button:disabled{color:#333;background-color:#999}select:disabled{color:#333;background-color:#999}input:disabled{color:#333;background-color:#999}.range-slider__range:disabled{background-color:#999}.range-slider__range:disabled::-webkit-slider-thumb{background-color:#aaa}.range-slider__range:disabled::-moz-range-thumb{background-color:#aaa}.switch.disabled .in::before{background:#bbb;border:1px solid #ddd}.switch.disabled .in::after{background:#bbb}.switch.checked.disabled{background:#b1d092} +.container{position:relative;width:79%;margin:20px;box-sizing:border-box}.column,.columns{width:100%;float:left}.card{min-height:100px;border-radius:6px;box-shadow:0 4px 4px rgba(204,197,185,.5);padding-left:20px;padding-right:20px;margin-bottom:40px;min-width:500px;color:#fff}@media(min-width:1205px){.wide.card{min-width:1075px}}@media(min-width:1790px){.wide.card{min-width:1650px}}@media(max-width:630px){.card{min-width:98%}}.sectionbreak.columns{color:#000}.sectionbreak.columns hr{border:none;height:2px;background-color:#666}.card-slider{}.turquoise{background:#1abc9c;border-bottom:#16a085 3px solid}.emerald{background:#2ecc71;border-bottom:#27ae60 3px solid}.peterriver{background:#3498db;border-bottom:#2980b9 3px solid}.wetasphalt{background:#34495e;border-bottom:#2c3e50 3px solid}.sunflower{background:#f1c40f;border-bottom:#e6bb0f 3px solid}.carrot{background:#e67e22;border-bottom:#d35400 3px solid}.alizarin{background:#e74c3c;border-bottom:#c0392b 3px solid}.dark{background:#444857;border-bottom:#444857 3px solid}.label{box-sizing:border-box;white-space:nowrap;border-radius:.2em;padding:.12em .4em .14em;text-align:center;color:#fff;font-weight:700;line-height:1.3;margin-bottom:5px;display:inline-block;white-space:nowrap;vertical-align:baseline;position:relative;top:-.15em;background-color:#999;margin-bottom:10px}.label-wrap{width:90%;white-space:pre-wrap;word-wrap:break-word}.label.color-blue{background-color:#6f9ad1}.label.color-red{background-color:#d37c7c}.label.color-green{background-color:#9bc268}.label.color-orange{background-color:#dea154}.label.color-yellow{background-color:#e9d641}.label.color-purple{background-color:#9f83d1}@media(min-width:400px){.container{width:84%}}@media(min-width:630px){.container{width:98%}.column,.columns{margin-right:35px}.column:first-child,.columns:first-child{margin-left:0}.one.column,.one.columns{width:4.66666666667%}.two.columns{width:13.3333333333%}.three.columns{width:22%}.four.columns{width:30.6666666667%}.five.columns{width:39.3333333333%}.six.columns{width:48%}.seven.columns{width:56.6666666667%}.eight.columns{width:65.3333333333%}.nine.columns{width:74%}.ten.columns{width:82.6666666667%}.eleven.columns{width:91.3333333333%}.twelve.columns{width:100%;margin-left:0}.one-third.column{width:30.6666666667%}.two-thirds.column{width:65.3333333333%}.one-half.column{width:48%}.offset-by-one.column,.offset-by-one.columns{margin-left:8.66666666667%}.offset-by-two.column,.offset-by-two.columns{margin-left:17.3333333333%}.offset-by-three.column,.offset-by-three.columns{margin-left:26%}.offset-by-four.column,.offset-by-four.columns{margin-left:34.6666666667%}.offset-by-five.column,.offset-by-five.columns{margin-left:43.3333333333%}.offset-by-six.column,.offset-by-six.columns{margin-left:52%}.offset-by-seven.column,.offset-by-seven.columns{margin-left:60.6666666667%}.offset-by-eight.column,.offset-by-eight.columns{margin-left:69.3333333333%}.offset-by-nine.column,.offset-by-nine.columns{margin-left:78%}.offset-by-ten.column,.offset-by-ten.columns{margin-left:86.6666666667%}.offset-by-eleven.column,.offset-by-eleven.columns{margin-left:95.3333333333%}.offset-by-one-third.column,.offset-by-one-third.columns{margin-left:34.6666666667%}.offset-by-two-thirds.column,.offset-by-two-thirds.columns{margin-left:69.3333333333%}.offset-by-one-half.column,.offset-by-one-half.columns{margin-left:52%}}html{font-size:62.5%}body{margin:0;font-size:1.5em;line-height:1;font-weight:400;font-family:open sans,sans-serif;color:#222;background-color:#ecf0f1}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:300}h1{font-size:4rem;line-height:1.2;letter-spacing:-.1rem}h2{font-size:3.6rem;line-height:1.25;letter-spacing:-.1rem}h3{font-size:3rem;line-height:1.3;letter-spacing:-.1rem}h4{font-size:2.4rem;line-height:1.35;letter-spacing:-.08rem}h5{font-size:1.8rem;line-height:1.5;letter-spacing:-.05rem}h6{font-size:1.5rem;line-height:1.6;letter-spacing:0}@media(min-width:630px){h1{font-size:5rem}h2{font-size:4.2rem}h3{font-size:3.6rem}h4{font-size:3rem}h5{font-size:2rem}h6{font-size:1.5rem}}p{margin-top:0}a{color:#1eaedb}a:hover{color:#0fa0ce}button{display:inline-block;padding:10px;border-radius:3px;color:#fff;background-color:#999}button:enabled:active{background-color:#666;transform:translateX(4px)translateY(4px)}button.pressed{background-color:#666!important;transform:translateX(4px)translateY(4px)}#mainHeader{display:inline-block}#conStatus{position:inherit;font-size:.75em}button,.button{margin-bottom:1rem;margin-left:.3rem;margin-right:.3rem}.u-full-width{width:100%;box-sizing:border-box}.u-max-full-width{max-width:100%;box-sizing:border-box}.u-pull-right{float:right}.u-pull-left{float:left}.tcenter{text-align:center}hr{margin-top:.5rem;margin-bottom:1.2rem;border-width:0;border-top:1px solid #e1e1e1}.container:after,.row:after,.u-cf{content:"";display:table;clear:both}.control{background-color:#ddd;background-image:linear-gradient(hsla(0,0%,0%,.1),hsla(0,0%,100%,.1));border-radius:50%;box-shadow:inset 0 1px 1px 1px hsla(0,0%,100%,.5),0 0 1px 1px hsla(0,0%,100%,.75),0 0 1px 2px hsla(0,0%,100%,.25),0 0 1px 3px hsla(0,0%,100%,.25),0 0 1px 4px hsla(0,0%,100%,.25),0 0 1px 6px hsla(0,0%,0%,.75);height:9em;margin:3em auto;position:relative;width:9em}.control ul{height:100%;padding:0;transform:rotate(45deg)}.control li{border-radius:100% 0 0 0;box-shadow:inset -1px -1px 1px hsla(0,0%,100%,.5),0 0 1px hsla(0,0%,0%,.75);display:inline-block;height:50%;overflow:hidden;width:50%}.control ul li:nth-child(2){transform:rotate(90deg)}.control ul li:nth-child(3){transform:rotate(-90deg)}.control ul li:nth-child(4){transform:rotate(180deg)}.control ul a{height:200%;position:relative;transform:rotate(-45deg);width:200%}.control a:hover,.control a:focus{background-color:hsla(0,0%,100%,.25)}.control a{border-radius:50%;color:#333;display:block;font:700 1em/3 sans-serif;text-align:center;text-decoration:none;text-shadow:0 1px 1px hsla(0,0%,100%,.4);transition:.15s}.control .confirm{background-color:#ddd;background-image:linear-gradient(hsla(0,0%,0%,.15),hsla(0,0%,100%,.25));box-shadow:inset 0 1px 1px 1px hsla(0,0%,100%,.5),0 0 1px 1px hsla(0,0%,100%,.25),0 0 1px 2px hsla(0,0%,100%,.25),0 0 1px 3px hsla(0,0%,100%,.25),0 0 1px 4px hsla(0,0%,100%,.25),0 0 1px 6px hsla(0,0%,0%,.85);left:50%;line-height:3;margin:-1.5em;position:absolute;top:50%;width:3em}.control .confirm:hover,.control .confirm:focus{background-color:#eee}.control:not(.disabled) a.confirm:active{background-color:#777}.control:not(.disabled) li:active{background-color:#777}.control:not(.disabled) a.pressed{background-color:#777!important}.control:not(.disabled) li.pressed a{background-color:#777!important}.switch{display:inline-block!important;background-color:#bebebe;border-radius:4px;box-shadow:inset 0 0 6px rgba(0,0,0,.3);color:#fff;cursor:pointer;display:block;font-size:14px;height:26px;margin-left:.3rem;margin-right:.3rem;position:relative;width:60px;-webkit-transition:background-color .2s ease-in-out;-moz-transition:background-color .2s ease-in-out;-o-transition:background-color .2s ease-in-out;-ms-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out}.switch.checked{background-color:#76d21d}.switch input[type=checkbox]{display:none;cursor:pointer;height:10px;left:12px;position:absolute;top:8px;width:10px}.in{position:absolute;top:8px;left:12px;-webkit-transition:left .08s ease-in-out;-moz-transition:left .08s ease-in-out;-o-transition:left .08s ease-in-out;-ms-transition:left .08s ease-in-out;transition:left .08s ease-in-out}.switch.checked div{left:38px}.switch .in:before{background:#fff;background:-moz-linear-gradient(top,#fff 0%,#f0f0f0 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#fff),color-stop(100%,#f0f0f0));background:-webkit-linear-gradient(top,#fff 0%,#f0f0f0 100%);background:-o-linear-gradient(top,#fff 0%,#f0f0f0 100%);background:-ms-linear-gradient(top,#fff 0%,#f0f0f0 100%);background:linear-gradient(to bottom,#fff 0%,#f0f0f0 100%);border:1px solid #fff;border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.3);content:"";height:18px;position:absolute;top:-5px;left:-9px;width:26px}.switch .in:after{background:#f0f0f0;background:-moz-linear-gradient(top,#f0f0f0 0%,#fff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#f0f0f0),color-stop(100%,#fff));background:-webkit-linear-gradient(top,#f0f0f0 0%,#fff 100%);background:-o-linear-gradient(top,#f0f0f0 0%,#fff 100%);background:-ms-linear-gradient(top,#f0f0f0 0%,#fff 100%);background:linear-gradient(to bottom,#f0f0f0 0%,#fff 100%);border-radius:10px;content:"";height:12px;margin:-1px 0 0 -1px;position:absolute;width:12px}.rkmd-slider{display:block;position:relative;font-size:16px;font-family:roboto,sans-serif}.rkmd-slider input[type=range]{overflow:hidden;position:absolute;width:1px;height:1px;opacity:0}.rkmd-slider input[type=range]+.slider{display:block;position:relative;width:100%;height:27px;border-radius:13px;background-color:#bebebe}@media(pointer:fine){.rkmd-slider input[type=range]+.slider{height:4px;border-radius:0}}.rkmd-slider input[type=range]+.slider .slider-fill{display:block;position:absolute;width:0%;height:100%;user-select:none;z-index:1}.rkmd-slider input[type=range]+.slider .slider-handle{cursor:pointer;position:absolute;top:12px;left:0%;width:15px;height:15px;margin-left:-8px;border-radius:50%;transition:all .2s ease;user-select:none;z-index:2}@media(pointer:fine){.rkmd-slider input[type=range]+.slider .slider-handle{top:-5.5px}}.rkmd-slider input[type=range]:disabled+.slider{background-color:#b0b0b0!important}.rkmd-slider input[type=range]:disabled+.slider .slider-fill,.rkmd-slider input[type=range]:disabled+.slider .slider-handle{cursor:default!important;background-color:#b0b0b0!important}.rkmd-slider input[type=range]:disabled+.slider .slider-fill .slider-label,.rkmd-slider input[type=range]:disabled+.slider .slider-handle .slider-label{display:none;background-color:#b0b0b0!important}.rkmd-slider input[type=range]:disabled+.slider .slider-fill.is-active,.rkmd-slider input[type=range]:disabled+.slider .slider-handle.is-active{top:-5.5px;width:15px;height:15px;margin-left:-8px}.rkmd-slider input[type=range]:disabled+.slider .slider-fill.is-active .slider-label,.rkmd-slider input[type=range]:disabled+.slider .slider-handle.is-active .slider-label{display:none;border-radius:50%;transform:none}.rkmd-slider input[type=range]:disabled+.slider .slider-handle:active{box-shadow:none!important;transform:scale(1)!important}.rkmd-slider.slider-discrete .slider .slider-handle{position:relative;z-index:1}.rkmd-slider.slider-discrete .slider .slider-handle .slider-label{position:absolute;top:-17.5px;left:4px;width:30px;height:30px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;border-radius:50%;-webkit-transform:scale(1)rotate(-45deg);transform:scale(1)rotate(-45deg);-webkit-transition:all .2s ease;transition:all .2s ease}@media(pointer:fine){.rkmd-slider.slider-discrete .slider .slider-handle .slider-label{left:-2px;-webkit-transform:scale(.5)rotate(-45deg);transform:scale(.5)rotate(-45deg)}}.rkmd-slider.slider-discrete .slider .slider-handle .slider-label span{position:absolute;top:7px;left:0;width:100%;color:#fff;font-size:16px;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media(pointer:fine){.rkmd-slider.slider-discrete .slider .slider-handle .slider-label span{font-size:12px}}.rkmd-slider.slider-discrete .slider .slider-handle.is-active{top:0;margin-left:-2px;width:4px;height:4px}.rkmd-slider.slider-discrete .slider .slider-handle.is-active .slider-label{top:-15px;left:-2px;border-radius:15px 15px 15px 0;-webkit-transform:rotate(-45deg)translate(23px,-25px);transform:rotate(-45deg)translate(23px,-25px)}.rkmd-slider.slider-discrete .slider .slider-handle.is-active .slider-label span{opacity:1}.rkmd-slider.slider-discrete.slider-turquoise .slider-label{background-color:#16a085}.rkmd-slider.slider-discrete.slider-emerald .slider-label{background-color:#27ae60}.peterriver{background:#3498db;border-bottom:#2980b9 3px solid}.rkmd-slider.slider-discrete.slider-peterriver .slider-label{background-color:#2980b9}.wetasphalt{background:#34495e;border-bottom:#2c3e50 3px solid}.rkmd-slider.slider-discrete.slider-wetasphalt .slider-label{background-color:#2c3e50}.sunflower{background:#f1c40f;border-bottom:#e6bb0f 3px solid}.rkmd-slider.slider-discrete.slider-sunflower .slider-label{background-color:#e6bb0f}.carrot{background:#e67e22;border-bottom:#d35400 3px solid}.rkmd-slider.slider-discrete.slider-carrot .slider-label{background-color:#d35400}.alizarin{background:#e74c3c;border-bottom:#c0392b 3px solid}.rkmd-slider.slider-discrete.slider-alizarin .slider-label{background-color:#c0392b}input{margin:0 auto 1.2rem;padding:2px 5px;width:100%;box-sizing:border-box;border:none;border-radius:4px;box-shadow:inset 0 0 6px rgba(0,0,0,.3);background:rgba(255,255,255,.8)}select{margin:0 auto 1.2rem;padding:2px 5px;width:100%;box-sizing:border-box;border:none;border-radius:4px;box-shadow:inset 0 0 6px rgba(0,0,0,.3);background:rgba(255,255,255,.8)}input[id^=num]{max-width:6em;width:auto;text-align:right;font-weight:700;font-size:115%}body div>ul.navigation{margin:0;margin-bottom:30px;padding:0;border-bottom:3px solid #666;overflow:hidden}ul.navigation li{list-style:none;float:left;margin-right:4px}ul.navigation li.controls{float:right}ul.navigation li a{font-weight:700;display:inline-block;padding:6px 12px;color:#888;outline:0;text-decoration:none;background:#f3f3f3;background:-webkit-gradient(linear,0 0,0 bottom,from(#eee),to(#e4e4e4));background:-moz-linear-gradient(#eee,#e4e4e4);background:linear-gradient(#eee,#e4e4e4);-pie-background:linear-gradient(#eee,#e4e4e4)}ul.navigation li.active a{pointer-events:none;color:#fff;background:#666;background:-webkit-gradient(linear,0 0,0 bottom,from(#888),to(#666));background:-moz-linear-gradient(#888,#666);background:linear-gradient(#888,#666);-pie-background:linear-gradient(#888,#666)}div.tabscontent>div{padding:0 15px}#tabsnav:empty{display:none}.range-slider{margin:0}.range-slider{width:100%}.range-slider__range{-webkit-appearance:none;width:calc(100% - (45px));height:10px;border-radius:5px;outline:0;padding:0;margin:0}.range-slider__value{display:inline-block;position:relative;width:30px;color:#fff;line-height:20px;text-align:center;border-radius:3px;padding:5px;margin-left:2px}.range-slider__value:after{position:absolute;top:8px;left:-7px;width:0;height:0;content:""}::-moz-range-track{border:0}input::-moz-focus-inner,input::-moz-focus-outer{border:0}svg{display:block;width:100%;height:100%}.y-axis path,.x-axis path{stroke:gray;stroke-width:1;fill:none}.series{stroke:#4682b4;stroke-width:3;fill:none}.data-points circle{stroke:#4682b4;stroke-width:2;fill:#fff}.data-points text{display:none}.data-points circle:hover{fill:#4682b4;stroke-width:6}.data-points circle:hover+text{display:inline-block}text{text-anchor:end}.vert-switcher{transform:rotate(270deg);margin-top:15px;margin-bottom:25px}.vert-slider{width:150px;transform:rotate(270deg);display:inline-block;margin:50px -42px 70px}.vert-slider span{transform:rotate(90deg)}button:disabled{color:#333;background-color:#999}select:disabled{color:#333;background-color:#999}input:disabled{color:#333;background-color:#999}.range-slider__range:disabled{background-color:#999}.range-slider__range:disabled::-webkit-slider-thumb{background-color:#aaa}.range-slider__range:disabled::-moz-range-thumb{background-color:#aaa}.switch.disabled .in::before{background:#bbb;border:1px solid #ddd}.switch.disabled .in::after{background:#bbb}.switch.checked.disabled{background:#b1d092} )====="; -const uint8_t CSS_STYLE_GZIP[3629] PROGMEM = { 31,139,8,0,74,64,43,105,2,255,213,27,219,110,235,184,241,87,212,4,1,98,172,164,234,110,91,198,46,250,216,183,2,221,151,22,197,246,128,146,168,72,136,44,185,146,124,146,172,161,127,239,144,212,133,55,197,78,114,22,69,143,79,18,153,156,25,206,12,103,134,195,33,101,167,77,221,163,178,198,237,229,212,116,101,95,54,117,220,226,10,245,229,119,124,120,41,179,190,136,183,251,135,195,17,181,79,101,29,123,206,233,245,144,52,175,86,87,254,94,214,79,113,210,180,25,110,45,104,25,236,180,169,206,199,218,28,255,118,23,134,236,58,206,195,33,175,26,212,199,21,206,123,0,67,109,118,57,150,181,85,224,242,169,232,9,0,165,73,9,181,40,43,207,93,28,77,163,20,40,107,94,98,199,8,78,175,244,167,125,74,208,163,231,4,166,187,223,154,238,46,52,29,59,220,28,78,40,203,128,27,139,12,192,88,156,90,90,58,4,109,98,18,0,171,125,223,28,227,128,54,193,119,198,101,72,153,0,206,155,54,190,207,243,124,248,203,17,103,37,122,92,32,92,207,9,79,175,155,139,13,95,241,34,196,36,228,22,58,7,13,214,118,239,172,99,69,161,195,99,161,215,177,35,242,25,146,4,191,223,61,12,131,221,225,148,76,82,210,98,244,60,235,154,113,158,84,40,125,214,67,24,69,123,97,58,142,157,195,168,121,143,104,25,48,158,218,230,92,103,214,40,125,20,69,131,221,159,219,255,156,155,178,195,151,5,32,190,119,81,146,238,211,195,60,233,84,147,247,110,132,156,93,104,248,48,61,93,83,149,217,96,227,35,110,81,149,9,184,30,78,211,173,43,227,122,91,132,35,135,199,61,225,30,183,45,24,95,43,160,251,193,126,151,37,10,250,126,231,36,123,30,253,5,247,168,59,21,168,234,37,244,96,31,98,5,61,245,113,40,140,222,157,107,176,213,23,105,240,220,77,3,39,151,177,113,148,36,78,206,99,195,124,181,141,56,48,142,182,216,243,100,212,204,15,3,71,24,24,85,229,239,168,45,107,17,121,27,164,190,162,239,212,241,247,94,194,35,103,168,125,22,16,131,32,216,133,91,25,145,181,242,136,21,74,112,117,209,250,243,225,165,40,123,108,117,39,148,226,184,110,94,90,116,146,156,212,246,240,113,114,180,216,118,225,155,97,7,228,151,11,191,15,61,126,237,45,144,234,169,142,83,92,195,156,114,222,117,200,33,230,88,47,204,10,183,142,115,168,32,254,204,241,192,246,37,95,5,215,58,100,101,119,170,208,91,92,214,20,54,169,154,244,89,199,34,216,77,95,166,168,26,135,78,80,135,9,194,65,141,109,125,115,138,45,219,13,129,87,213,9,246,251,189,196,132,75,92,149,41,204,34,35,141,225,109,15,209,141,103,227,212,98,218,125,120,1,93,209,167,152,250,161,69,190,143,248,54,29,4,100,56,243,238,53,251,95,190,71,153,43,130,182,56,211,64,102,254,54,221,166,34,228,83,139,113,173,129,221,39,169,23,237,68,216,166,69,245,147,142,133,12,35,55,12,68,224,55,92,129,99,104,128,241,62,139,2,137,223,211,185,61,85,58,202,251,124,231,131,112,74,156,12,156,49,226,205,139,17,107,223,5,15,154,168,58,199,71,9,154,4,72,101,25,26,167,145,173,4,62,9,211,99,87,156,151,109,215,91,105,81,86,217,12,206,55,78,168,116,89,113,6,187,169,241,76,125,121,158,22,186,192,142,230,127,91,224,163,127,105,228,165,208,183,253,249,31,129,40,96,178,36,24,207,131,142,188,57,183,82,187,239,216,2,245,28,76,88,6,217,139,228,187,242,85,102,145,232,167,195,223,113,45,117,132,145,72,157,122,162,4,19,133,34,249,186,84,84,176,13,136,84,10,245,157,39,81,175,52,44,236,93,73,57,47,184,82,68,164,201,132,58,43,86,95,148,109,54,194,174,40,12,166,131,129,117,34,156,44,22,33,7,203,71,46,66,81,205,53,121,222,225,222,74,222,44,193,18,52,173,157,96,58,59,201,50,22,140,197,70,76,109,171,72,199,221,74,172,46,24,156,37,153,43,237,34,45,47,18,8,112,22,103,234,155,69,116,63,176,87,68,226,12,211,212,55,139,148,2,127,77,168,197,126,77,109,171,72,39,244,68,100,206,196,204,149,118,145,64,228,172,137,196,123,131,185,210,46,209,218,175,9,197,121,141,169,111,22,41,109,69,195,235,181,66,245,43,34,237,162,85,145,170,21,253,72,190,201,83,219,135,107,66,201,46,104,190,211,119,171,29,41,254,106,190,215,121,171,250,37,239,54,215,187,84,235,26,138,254,88,93,104,234,2,217,18,142,35,207,14,31,134,164,201,222,70,80,200,172,151,94,215,38,153,133,144,216,8,105,15,172,120,236,123,142,142,101,245,22,223,253,237,132,107,227,87,84,119,119,102,7,191,193,82,219,50,159,146,38,143,228,144,234,210,155,230,78,238,14,133,107,22,158,89,248,102,17,152,69,104,22,209,196,58,73,113,28,41,143,177,195,22,248,226,57,241,29,7,72,112,130,5,173,204,185,237,29,42,220,67,18,71,179,28,146,239,65,230,4,80,67,225,113,120,190,29,105,48,195,53,84,159,71,85,17,253,53,188,128,195,243,108,13,179,190,102,72,103,71,113,195,11,63,67,59,21,87,135,26,82,212,72,64,13,85,212,72,70,117,86,51,23,65,221,161,162,200,192,246,84,13,81,229,138,210,251,138,76,222,10,171,195,112,18,140,98,64,227,150,241,222,197,8,103,201,128,226,162,33,123,174,177,213,201,145,147,226,33,57,131,205,212,23,109,242,61,101,254,174,186,125,247,133,189,180,62,189,30,105,199,184,70,73,133,179,24,165,36,43,191,104,247,163,135,30,50,213,46,111,218,99,76,159,32,131,199,255,120,12,64,147,198,252,253,159,244,251,72,213,134,52,188,235,180,73,51,144,51,254,84,30,79,77,219,163,186,255,0,229,251,35,164,154,127,197,8,228,212,42,100,184,135,116,244,215,30,245,231,110,169,164,148,117,1,110,220,115,113,193,222,66,92,24,217,52,237,81,193,210,86,131,216,22,31,125,108,159,107,97,137,44,109,26,236,179,149,159,171,138,25,23,159,35,173,148,104,206,22,41,50,112,40,75,205,225,125,180,19,65,161,35,95,88,45,135,62,207,61,132,203,11,95,228,233,217,158,239,162,236,2,135,162,229,13,145,249,145,36,62,181,254,201,164,24,119,206,244,149,32,185,211,6,214,184,199,46,249,12,203,78,32,70,57,140,98,218,109,243,50,61,158,173,52,191,16,0,96,32,190,187,155,183,146,61,49,188,67,90,97,212,130,180,125,193,168,180,77,165,219,17,101,25,111,198,229,17,61,225,152,204,61,34,91,46,176,122,160,253,88,128,185,60,58,166,243,64,255,219,238,198,92,90,136,122,105,219,70,242,149,112,82,59,43,117,149,53,44,71,134,99,16,25,167,31,133,74,184,49,29,14,70,233,223,114,0,158,14,192,227,0,252,107,0,193,53,128,72,0,152,56,152,170,76,251,121,130,99,31,31,13,116,238,155,195,90,165,113,79,108,122,156,5,227,92,93,150,18,225,195,28,111,28,206,103,219,6,252,13,63,6,97,134,159,54,11,102,85,94,68,37,19,2,6,97,215,81,117,109,17,17,172,91,116,173,145,81,27,25,71,174,201,204,146,152,74,10,74,113,81,102,25,174,15,83,181,241,129,23,19,248,141,235,190,96,155,206,71,111,115,81,4,220,59,162,128,50,142,175,193,177,174,33,5,26,36,119,167,34,161,105,26,60,58,13,106,33,69,25,153,205,199,40,44,193,90,232,141,235,140,201,53,228,77,10,33,83,241,57,157,201,113,116,46,170,27,141,190,10,57,223,60,47,108,66,72,244,5,23,175,50,195,197,199,63,251,6,151,95,169,101,42,218,146,225,180,105,17,149,179,134,196,144,53,206,213,232,85,99,9,54,76,27,76,67,182,27,118,11,199,228,33,47,219,227,143,138,46,161,38,188,128,138,54,63,60,154,120,255,243,104,178,3,79,99,105,56,204,50,159,116,77,149,194,216,98,233,246,108,156,40,129,5,226,220,179,42,31,193,26,139,2,124,124,153,38,68,182,200,185,125,197,48,239,49,198,51,21,48,143,254,209,6,115,163,89,204,198,64,51,246,106,66,179,221,110,87,209,193,65,63,133,135,222,201,120,0,143,203,120,222,25,122,162,65,156,235,42,149,238,165,236,211,66,155,9,241,249,149,74,40,193,228,35,173,130,129,120,224,51,217,173,67,173,129,30,250,128,53,144,143,237,111,248,212,50,61,183,29,60,159,154,146,250,174,234,246,99,18,76,232,79,81,44,90,14,131,222,205,174,86,87,169,136,100,188,176,123,74,158,203,222,226,252,93,150,213,176,189,206,192,168,195,22,16,110,206,253,193,58,54,191,127,12,161,249,32,253,238,67,240,31,128,157,38,220,78,11,156,62,235,237,44,202,60,55,155,0,141,178,62,157,251,127,245,111,39,252,243,29,69,130,249,189,251,109,54,24,26,86,165,233,155,151,123,208,47,171,120,145,35,42,189,83,239,160,103,202,92,73,77,183,172,47,235,128,11,49,205,180,145,78,3,54,136,239,207,213,10,84,115,11,165,238,58,208,53,0,89,255,70,86,126,191,176,18,202,142,136,63,42,29,212,16,39,24,22,99,241,224,78,220,133,197,84,54,121,125,1,93,153,4,208,112,224,143,67,62,6,137,206,27,1,113,212,222,140,196,136,152,148,101,66,128,62,176,60,222,100,71,1,29,52,63,58,148,242,134,111,162,145,127,28,104,163,29,228,83,12,54,159,67,131,41,250,12,158,138,51,9,175,199,100,7,176,220,254,133,78,140,16,9,61,249,232,219,89,14,190,133,24,56,239,103,38,175,217,173,250,138,21,78,62,96,237,103,183,33,113,80,176,27,186,93,18,205,134,50,127,163,229,48,65,217,76,255,88,203,97,54,162,49,30,48,169,15,88,206,21,6,155,207,161,173,90,206,251,120,239,89,142,14,83,218,206,208,2,139,98,1,222,188,178,197,116,67,67,140,135,60,104,204,98,186,212,64,108,160,125,62,102,86,7,246,200,85,54,198,26,143,178,2,114,107,42,89,71,133,10,230,223,27,16,161,225,203,151,2,109,97,69,160,71,143,176,28,200,27,164,85,78,151,5,156,60,54,164,196,214,191,145,243,159,43,35,252,100,223,40,25,87,6,153,50,133,173,82,217,114,125,237,157,9,150,211,76,229,190,113,57,139,115,152,227,205,229,102,6,199,81,3,101,80,103,184,89,74,99,252,107,229,101,85,173,137,44,169,214,57,240,219,236,115,71,42,152,184,194,105,207,214,232,223,97,5,202,240,107,236,126,156,137,2,213,89,133,47,210,42,175,143,81,212,120,217,153,222,52,21,33,55,231,161,148,180,89,59,69,77,36,205,231,150,81,84,85,115,18,179,46,149,247,181,73,147,69,101,209,214,166,151,129,174,209,136,167,220,123,182,0,141,97,57,228,35,36,222,31,165,42,152,132,249,121,116,113,50,51,156,163,115,213,95,73,245,127,48,247,243,23,122,215,224,203,178,136,228,196,204,244,143,23,198,46,59,139,237,245,190,44,200,66,138,51,192,91,189,232,135,137,241,131,103,103,141,176,52,79,250,16,64,203,81,4,96,248,42,27,243,126,124,201,201,8,93,253,25,66,151,162,10,63,186,155,53,43,153,72,195,152,105,139,251,89,50,217,201,212,213,73,31,133,111,164,39,41,112,37,73,116,183,246,156,39,6,179,253,144,3,171,201,126,124,101,227,75,164,182,26,216,52,67,202,1,202,167,217,202,97,189,71,157,45,133,218,162,67,169,154,120,29,66,179,183,19,22,129,149,246,235,43,192,231,212,204,60,204,211,169,108,20,129,212,222,174,137,169,129,25,190,110,3,70,119,66,107,27,230,173,178,16,59,75,113,117,190,189,183,228,128,106,9,85,149,87,40,212,175,21,240,151,172,110,166,160,172,219,116,3,162,105,237,212,70,185,225,15,154,103,166,74,78,39,158,188,248,223,72,86,138,226,142,24,169,189,217,35,185,90,86,32,133,239,15,143,36,153,44,139,3,203,110,209,83,19,224,144,148,137,231,95,206,250,92,143,198,186,156,163,62,122,144,60,155,150,71,174,81,31,62,6,254,35,133,100,243,53,153,218,251,241,116,250,62,95,135,150,244,165,102,9,236,50,244,77,68,199,91,210,87,73,178,59,210,95,190,25,125,3,71,203,8,215,153,162,244,191,124,223,250,6,166,150,17,174,51,69,233,127,245,22,247,13,60,205,3,92,101,137,145,255,210,213,240,27,248,97,212,175,50,195,104,127,241,178,249,13,236,76,244,175,50,196,168,15,52,45,155,47,81,209,35,98,131,221,2,24,143,139,199,163,95,114,250,196,101,182,171,55,22,14,243,155,14,95,56,101,224,116,195,222,58,9,67,115,250,113,236,221,102,96,75,203,255,29,219,44,7,46,179,127,255,124,87,159,143,119,191,113,119,64,34,124,28,153,164,252,115,11,59,61,22,17,110,141,145,227,84,62,19,112,199,187,112,164,48,253,203,185,178,107,244,189,124,162,39,168,203,237,56,241,158,135,207,189,168,179,200,60,117,46,53,82,114,1,72,42,19,13,194,0,228,188,191,42,59,224,164,127,171,48,91,252,151,203,40,226,201,14,89,49,101,228,233,68,172,19,238,182,200,80,6,186,40,242,191,123,49,138,204,14,173,106,140,198,190,219,237,14,205,185,39,144,228,18,131,238,152,89,8,87,62,249,220,82,67,37,181,66,103,42,31,230,109,115,124,36,71,148,27,179,111,224,33,32,31,169,76,170,43,226,18,20,115,2,127,175,82,41,2,90,167,18,228,190,17,90,213,252,184,64,163,203,152,148,89,228,246,105,223,141,167,67,84,111,244,237,10,65,51,196,32,62,167,22,152,2,166,22,32,113,139,78,0,222,164,176,239,42,100,129,186,170,141,25,116,0,55,177,123,200,187,199,50,238,47,228,60,103,118,6,154,92,13,247,164,31,244,21,227,227,169,127,19,246,189,16,134,201,246,117,170,218,78,30,38,53,47,1,71,236,248,246,141,189,249,49,105,14,157,78,192,38,170,211,209,121,24,30,108,63,82,90,105,55,44,3,50,116,72,195,54,194,9,157,180,153,35,85,217,217,186,23,183,214,179,246,237,219,119,68,94,127,209,59,208,74,109,214,23,223,209,19,110,2,208,87,252,212,157,136,122,47,113,226,44,28,131,178,112,41,158,166,211,42,155,227,209,200,149,243,69,107,59,199,248,185,164,234,112,101,250,33,102,86,198,6,128,60,55,125,158,95,201,99,81,121,4,160,247,14,96,191,95,227,214,84,219,65,201,120,121,151,111,232,190,63,73,117,94,181,144,205,44,224,205,66,175,101,103,156,80,95,152,246,235,242,229,210,65,240,123,198,49,88,233,219,129,61,79,119,2,15,164,194,51,26,28,41,232,227,110,2,238,122,140,43,242,6,147,136,225,243,24,25,234,145,69,29,187,51,210,178,77,43,124,5,219,99,216,212,227,69,116,50,179,146,3,168,212,199,43,172,148,198,202,8,209,58,222,79,194,24,194,205,78,218,195,140,171,78,11,48,63,92,67,34,68,94,53,179,216,249,25,185,233,40,111,104,188,45,189,74,117,224,110,59,242,245,183,113,157,243,232,11,73,140,148,224,180,33,53,232,53,162,90,191,25,93,141,96,26,86,64,178,142,237,252,40,140,193,182,64,107,183,204,198,139,185,83,93,236,194,93,171,210,223,228,29,247,216,183,35,48,163,190,29,94,23,188,22,244,79,224,196,243,162,49,109,240,138,243,49,209,80,66,8,93,165,196,249,244,123,84,198,243,251,9,145,30,185,234,206,234,147,36,209,28,20,103,89,182,66,66,61,182,5,10,242,117,1,91,163,45,0,116,51,103,239,13,255,5,13,114,156,150,3,62,0,0 }; +const uint8_t CSS_STYLE_GZIP[3614] PROGMEM = { 31,139,8,0,0,0,0,0,0,255,212,59,93,111,235,184,142,127,197,59,69,129,6,99,123,229,207,36,14,102,176,143,251,190,47,187,88,204,30,200,182,92,11,117,44,175,172,52,233,9,252,223,47,36,249,67,146,237,36,109,207,224,226,158,156,182,142,68,82,36,69,82,20,37,187,25,169,25,196,53,162,215,134,180,152,97,82,39,20,85,144,225,119,116,56,227,156,149,201,118,255,124,56,66,250,138,235,196,7,205,229,144,146,139,211,226,159,184,126,77,82,66,115,68,157,148,92,58,55,35,213,233,88,219,253,223,246,42,145,61,0,158,15,69,69,32,75,42,84,176,206,205,32,205,175,71,92,59,37,194,175,37,227,0,130,166,32,68,97,142,79,109,18,15,163,148,48,39,231,4,88,97,115,17,63,244,53,133,47,62,8,109,111,191,181,189,93,100,187,209,230,208,192,60,199,245,171,195,233,75,14,135,22,42,70,16,77,82,0,39,37,140,145,99,18,138,38,92,59,146,201,72,240,144,145,138,208,228,169,40,138,238,63,142,40,199,240,101,130,240,124,16,53,151,205,213,61,227,28,77,50,12,50,110,163,230,210,45,96,109,247,96,29,43,142,128,138,5,47,125,71,28,72,36,3,126,191,123,238,58,183,69,25,159,163,148,34,248,54,170,186,231,28,0,176,12,96,149,244,42,53,156,212,164,70,135,94,245,62,87,51,204,222,94,41,57,213,185,211,83,137,227,88,206,146,211,86,56,71,244,218,185,236,68,255,255,68,112,139,174,19,120,242,228,193,52,219,103,135,209,6,132,102,159,188,24,130,93,100,5,205,197,106,73,133,243,206,69,71,68,97,149,107,184,62,202,178,173,103,226,250,91,136,98,160,226,54,136,33,74,241,59,162,26,122,16,238,119,121,58,67,223,239,64,186,87,209,207,136,193,182,41,97,197,12,244,112,31,161,25,122,22,160,72,27,189,61,213,69,69,206,198,224,133,151,133,160,48,177,81,156,166,160,80,177,51,72,41,209,7,70,241,22,249,190,137,154,7,81,8,180,129,97,133,127,66,138,107,29,121,27,102,193,76,223,25,8,246,126,170,34,231,144,190,105,136,97,24,238,162,173,137,40,91,85,196,10,166,168,186,46,186,247,225,92,98,134,156,182,129,25,74,106,114,166,176,49,124,214,245,209,113,112,188,196,245,124,116,180,220,144,255,242,66,116,60,48,116,97,14,172,240,107,157,100,168,102,136,42,222,118,40,72,205,156,179,180,201,45,0,135,10,215,104,12,15,110,96,248,110,212,92,14,57,110,155,10,126,36,184,22,176,105,69,178,183,37,22,223,17,101,56,131,85,63,116,10,91,196,17,14,243,80,199,72,147,56,174,23,161,227,130,75,236,247,123,131,9,143,187,174,84,152,195,71,234,163,221,30,60,107,108,52,20,137,238,195,153,208,92,60,37,194,49,29,254,189,199,119,197,32,78,90,157,84,247,26,189,177,216,195,220,211,65,41,202,23,32,243,96,155,109,51,29,242,149,34,84,47,192,238,211,204,143,119,58,44,161,176,126,93,98,33,71,208,139,66,29,248,3,85,21,57,47,0,163,125,30,135,6,191,205,137,54,213,18,229,125,177,11,114,111,30,55,67,208,71,192,113,109,146,237,187,240,121,33,202,142,241,210,128,230,1,115,182,42,245,211,40,87,134,128,135,237,190,43,41,48,109,153,147,149,184,202,71,112,181,113,64,21,203,12,232,92,82,163,145,250,244,60,172,123,161,27,143,255,182,207,157,203,206,196,92,25,3,55,24,255,113,136,146,34,147,138,239,63,119,110,65,78,212,104,15,128,171,81,47,240,187,137,26,236,117,242,45,190,152,44,114,253,180,232,29,213,70,71,20,235,212,133,39,26,48,113,164,147,175,241,76,5,219,144,75,53,163,190,243,13,234,213,2,11,123,207,80,206,25,85,51,17,69,110,49,159,21,135,149,152,230,61,236,138,194,216,153,72,176,86,135,51,197,226,228,74,88,21,58,148,208,28,41,138,22,49,39,253,112,52,75,88,104,109,53,211,217,25,150,49,97,76,54,98,47,182,234,116,188,173,193,234,132,161,88,146,189,210,174,211,242,99,141,128,98,113,246,114,179,142,30,132,238,138,72,138,97,218,203,205,58,165,48,88,19,106,178,95,123,177,85,167,19,249,58,178,98,98,246,74,187,78,32,6,107,34,169,222,96,175,180,27,180,246,107,66,41,94,99,47,55,235,148,182,186,225,177,69,161,216,138,72,187,120,85,164,106,69,63,134,111,170,212,246,166,167,168,134,175,185,160,125,163,239,81,59,154,249,171,125,171,243,81,245,27,222,109,50,170,116,205,173,171,43,217,177,186,138,212,165,197,63,81,18,251,110,244,220,165,36,255,232,65,19,112,152,122,61,151,103,22,90,98,163,165,61,33,232,161,11,120,196,213,71,66,26,84,91,45,172,91,155,255,114,90,68,113,49,164,76,62,207,32,231,11,111,86,128,194,235,74,207,46,125,187,12,236,50,180,203,200,46,227,129,113,158,224,0,35,139,113,35,138,142,26,31,1,0,93,233,41,98,133,212,228,219,245,15,21,98,12,81,145,227,240,108,207,113,61,138,142,93,233,43,120,129,27,47,96,70,107,168,129,138,58,71,12,214,240,66,5,207,119,23,152,13,22,134,4,59,129,27,93,213,249,217,205,113,151,80,35,129,26,107,168,209,28,53,54,81,193,106,222,162,169,59,154,41,50,116,253,185,134,132,114,117,233,131,153,76,254,10,171,93,215,104,70,209,193,97,3,233,33,136,242,180,131,73,73,248,142,107,216,86,22,16,100,168,75,79,140,145,250,186,152,122,15,121,191,55,223,203,7,218,206,122,57,185,238,105,39,168,134,105,133,242,4,102,60,39,95,202,134,227,248,192,40,172,219,130,208,99,34,158,42,200,208,127,191,132,205,101,51,126,253,31,241,181,39,234,54,20,181,237,98,198,28,199,241,191,225,99,67,40,131,53,123,156,238,211,17,226,250,63,17,228,123,227,37,109,116,79,25,169,255,139,65,118,106,167,154,10,174,75,68,49,83,66,130,187,141,208,177,103,210,118,123,237,26,187,12,110,88,106,224,113,3,165,69,230,176,162,169,115,79,78,113,170,42,105,89,106,122,180,82,172,57,57,71,120,81,81,166,242,195,109,180,134,163,136,145,175,178,170,35,158,199,30,206,229,85,45,247,48,185,221,187,206,54,128,93,73,85,43,148,78,100,136,47,76,127,176,39,201,29,24,190,114,36,111,216,187,90,79,200,227,159,110,218,4,36,176,96,136,218,46,37,231,225,241,228,100,197,149,3,160,154,37,191,253,54,238,34,25,183,186,67,86,33,72,147,148,176,82,82,161,164,90,218,12,229,185,106,195,248,8,95,81,194,231,30,242,221,22,204,49,170,217,75,217,86,240,5,216,224,153,255,119,189,141,61,53,112,237,242,166,141,225,38,209,160,116,89,242,194,117,139,152,5,44,46,225,240,99,18,137,54,54,80,64,204,238,173,210,239,47,244,251,74,127,112,167,63,188,211,31,107,253,253,232,67,153,105,63,78,108,18,160,163,5,79,140,44,108,192,251,188,159,219,114,175,125,235,84,93,167,34,225,243,24,100,128,226,170,148,48,200,208,75,24,229,232,117,51,97,86,248,170,171,151,19,176,56,183,96,174,101,135,75,224,60,160,229,185,132,139,193,176,231,153,207,40,15,163,69,69,206,73,137,243,28,213,135,161,220,248,172,10,105,85,56,169,89,41,119,153,47,254,230,58,19,111,15,116,241,76,156,96,1,199,185,135,20,46,32,121,187,57,18,28,38,193,23,147,48,175,156,204,70,150,179,209,11,203,177,38,122,253,210,98,43,13,5,201,78,237,220,211,22,204,77,33,115,157,123,79,239,160,65,16,140,211,34,231,131,135,220,100,11,128,229,161,227,191,7,150,146,80,205,171,82,162,37,71,25,161,80,72,41,202,165,162,113,172,69,175,25,74,184,145,170,144,234,113,189,168,157,248,229,15,5,166,199,95,20,80,162,121,68,241,35,17,82,126,101,0,241,255,169,1,100,23,109,14,50,217,6,207,90,114,53,212,3,19,71,38,213,163,69,194,180,37,213,137,201,90,30,199,234,183,254,106,72,25,38,194,52,195,177,125,197,26,159,16,66,35,149,164,38,236,197,205,113,43,178,149,141,5,71,236,213,196,101,187,221,174,162,87,248,107,120,240,70,106,179,221,110,167,212,230,198,200,3,9,238,81,247,136,180,103,204,178,114,49,229,81,210,168,57,153,20,241,143,177,222,133,250,17,207,96,174,64,88,130,56,230,1,54,255,184,193,70,77,31,179,19,109,9,77,26,130,133,187,206,29,189,79,116,57,249,33,108,197,211,241,207,205,36,106,117,81,138,121,86,235,156,81,250,134,153,163,248,184,41,170,229,250,173,133,96,139,28,92,59,228,196,14,206,145,252,252,28,2,249,36,253,246,83,240,159,128,29,166,219,205,74,148,189,45,219,88,156,251,94,62,0,90,184,110,78,236,127,217,71,131,254,16,56,41,185,252,53,26,139,136,163,198,228,141,107,123,115,145,158,238,249,205,101,197,157,119,205,229,48,164,167,205,165,115,113,125,93,7,156,136,45,76,26,239,180,92,176,187,61,83,43,80,228,17,74,237,125,160,123,0,166,246,173,28,191,95,101,137,100,199,197,239,85,238,226,58,73,81,65,168,126,48,167,239,179,18,33,155,185,162,48,210,216,28,208,2,207,246,83,1,248,199,226,97,121,163,97,246,234,27,177,36,21,91,240,204,41,136,7,153,173,219,178,214,223,50,210,188,8,154,69,177,81,219,68,204,239,71,218,44,142,242,53,22,201,23,241,142,237,215,16,231,72,131,2,86,80,229,185,171,178,85,17,211,163,5,67,223,60,239,6,211,105,183,26,6,199,157,203,224,58,187,85,135,113,162,193,17,156,253,232,59,60,20,106,198,35,54,70,186,237,8,222,31,52,31,41,103,63,219,191,216,124,164,161,44,88,80,81,124,198,124,238,177,184,102,62,247,240,86,205,231,14,226,45,243,89,68,53,182,49,162,154,50,179,3,127,92,226,18,177,145,225,22,196,31,22,140,99,184,207,192,45,129,190,29,199,83,126,125,41,157,47,133,202,226,202,23,84,181,88,73,73,74,24,81,42,149,26,101,117,97,16,71,140,127,93,205,109,209,42,151,211,42,206,31,73,3,51,204,62,18,112,135,254,239,238,131,50,41,5,143,33,89,216,206,10,88,94,176,120,77,66,102,53,67,85,175,95,211,146,2,215,104,115,125,144,189,126,204,112,54,36,232,30,148,208,234,255,58,5,174,170,53,113,13,165,78,194,10,193,79,45,162,78,139,42,148,49,185,74,255,116,112,157,163,75,226,125,150,135,18,214,121,133,174,198,42,191,28,158,132,197,202,51,187,33,79,247,34,101,182,35,35,103,115,118,51,37,241,12,95,89,71,97,85,141,57,204,186,80,254,119,38,204,148,84,198,89,87,220,253,185,77,33,25,114,238,113,238,23,12,10,240,143,154,112,127,142,164,102,11,246,87,145,245,73,204,81,1,79,21,187,157,222,255,74,190,199,47,226,254,192,55,165,208,137,233,185,232,223,44,135,139,91,71,110,234,190,41,195,68,72,49,183,71,61,230,23,137,240,75,39,101,141,172,49,61,203,174,46,202,76,28,224,203,146,73,38,198,13,247,148,116,113,170,139,167,1,109,6,43,244,226,109,86,44,99,32,156,227,54,163,136,141,82,153,30,53,95,125,150,3,237,131,244,12,229,173,36,129,222,214,29,243,192,112,180,155,0,76,118,19,204,246,182,92,104,135,80,204,147,137,8,60,139,60,228,176,222,51,159,169,25,181,81,133,70,129,240,46,192,194,246,77,11,243,43,237,247,99,252,215,148,44,253,106,182,175,84,36,112,163,123,50,206,32,186,239,207,190,213,54,112,109,63,188,29,215,89,53,219,49,47,223,77,121,221,188,36,58,151,85,43,186,175,21,227,167,108,109,164,48,91,149,197,214,98,161,181,157,55,154,13,127,211,28,75,85,42,58,241,205,197,253,65,178,70,220,6,122,108,246,71,95,84,10,85,161,17,176,63,61,146,97,174,50,2,76,251,64,127,158,218,70,205,197,154,126,129,245,185,238,141,117,60,10,125,241,131,230,98,59,126,212,92,22,44,224,22,244,175,20,81,206,214,96,104,183,227,232,240,125,188,203,108,104,107,158,16,200,155,204,15,17,237,175,56,223,37,41,47,56,127,251,90,243,3,28,77,35,220,103,74,208,255,246,101,233,7,152,154,70,184,207,148,160,255,221,43,216,15,240,52,14,112,151,37,73,254,91,247,186,31,224,71,82,191,203,140,164,253,205,155,226,15,176,51,208,191,203,144,164,222,137,84,108,188,1,37,14,123,173,254,28,127,56,191,245,155,139,165,36,177,171,215,13,14,234,43,11,95,63,61,80,20,35,95,31,137,34,123,248,113,119,155,78,46,42,255,82,44,203,124,23,231,255,247,71,125,58,254,165,220,221,136,209,177,231,81,156,178,43,139,185,56,231,152,221,180,87,22,58,175,191,189,102,229,248,253,207,83,229,214,240,29,191,138,67,208,233,62,155,126,61,35,80,94,181,153,238,101,12,157,83,189,51,142,99,243,32,188,211,6,176,42,124,173,112,203,156,150,125,84,72,42,111,186,67,162,159,212,240,69,210,68,30,142,183,90,237,74,138,9,101,193,171,41,254,205,187,76,124,94,68,153,162,55,240,221,110,119,32,39,198,33,19,176,124,80,172,133,168,128,127,30,41,135,2,11,216,96,168,2,22,148,28,95,158,16,66,27,155,145,151,39,20,242,143,81,240,92,42,200,114,20,123,0,191,85,112,212,1,157,6,35,231,81,232,185,226,251,69,25,94,251,52,204,65,239,168,102,109,127,220,179,116,235,75,222,225,250,154,86,118,187,157,212,74,28,199,143,168,100,183,219,217,2,246,166,62,38,168,187,202,24,65,187,28,191,187,12,166,109,95,139,253,51,199,239,215,209,21,68,54,213,61,241,254,26,190,39,232,216,176,15,109,123,219,185,98,155,58,148,94,7,255,50,154,167,96,163,119,252,248,33,223,212,24,52,7,155,6,65,10,235,172,119,29,137,151,193,42,19,37,115,203,177,94,66,158,121,109,180,19,55,99,223,214,92,20,227,158,156,122,153,181,31,63,222,97,117,66,43,119,1,87,202,172,129,254,142,157,118,166,47,94,209,155,111,61,230,55,9,7,206,204,106,135,44,103,207,89,236,79,56,238,156,21,58,219,49,182,131,65,73,64,169,179,119,137,180,48,57,0,163,48,123,27,222,167,3,50,24,247,0,226,246,128,131,235,26,81,123,222,78,78,226,180,101,64,108,223,95,141,146,237,188,30,45,103,255,195,129,23,220,90,13,100,165,237,94,166,47,215,150,81,242,134,146,87,10,63,14,242,121,184,196,119,40,112,85,245,198,214,34,138,81,59,0,63,133,241,206,79,67,29,62,80,225,115,200,160,35,60,186,181,50,76,179,10,221,196,245,37,174,120,113,82,195,229,19,106,216,253,156,116,127,215,84,146,88,34,31,175,99,253,174,141,160,221,193,20,61,210,162,234,172,36,52,65,117,222,185,239,136,50,71,158,127,33,58,191,254,228,111,197,245,167,131,114,47,81,173,171,245,75,155,47,222,26,146,164,52,79,141,132,21,175,17,93,116,150,222,191,56,166,229,132,60,205,216,2,131,186,220,228,172,221,9,235,111,206,14,245,174,171,114,11,106,249,170,109,191,135,126,28,65,218,241,227,240,75,177,106,66,255,2,78,50,174,17,195,22,174,60,29,211,5,74,16,194,187,148,20,55,190,69,165,63,126,31,16,197,97,233,210,81,123,154,166,11,39,188,121,158,175,144,152,31,184,166,105,106,158,246,187,11,218,74,158,82,47,7,123,191,251,71,0,0,0,255,255,227,55,76,48,177,61,0,0 }; diff --git a/src/dataTabbedcontentJS.h b/src/dataTabbedcontentJS.h index 59de60b..4160835 100644 --- a/src/dataTabbedcontentJS.h +++ b/src/dataTabbedcontentJS.h @@ -1,39 +1,5 @@ const char JS_TABBEDCONTENT[] PROGMEM = R"=====( -;(function($,document,window,undefined){"use strict";var Tabbedcontent=function(tabcontent,options){var defaults={links:tabcontent.prev().find('a').length?tabcontent.prev().find('a'):'.tabs a',errorSelector:'.error-message',speed:false,onSwitch:false,onInit:false,currentClass:'active',tabErrorClass:'has-errors',history:true,historyOnInit:true,loop:false},firstTime=false,children=tabcontent.children(),history=window.history,loc=document.location,current=null;options=$.extend(defaults,options);if(!(options.links instanceof $)){options.links=$(options.links);} -function tabExists(tab){return Boolean(children.filter(tab).length);} -function isFirst(){return current===0;} -function isInt(num){return num%1===0;} -function isLast(){return current===children.length-1;} -function filterTab(tab){return $(this).attr('href').match(new RegExp(tab+'$'));} -function getTab(tab){if(tab instanceof $){return{tab:tab,link:options.links.eq(tab.index())};} -if(isInt(tab)){return{tab:children.eq(tab),link:options.links.eq(tab)};} -if(children.filter(tab).length){return{tab:children.filter(tab),link:options.links.filter(function(){return filterTab.apply(this,[tab]);})};} -return{tab:children.filter('#'+tab),link:options.links.filter(function(){return filterTab.apply(this,['#'+tab]);})};} -function getCurrent(){return options.links.parent().filter('.'+options.currentClass).index();} -function next(loop){++current;if(loop===undefined)loop=options.loop;if(current=children.length){return switchTab(0,true);} -return false;} -function prev(loop){--current;if(loop===undefined)loop=options.loop;if(current>=0){return switchTab(current,true);}else if(loop&¤t<0){return switchTab(children.length-1,true);} -return false;} -function onSwitch(tab){if(options.history&&options.historyOnInit&&firstTime&&history!==undefined&&('pushState'in history)){firstTime=false;window.setTimeout(function(){history.replaceState(null,'',tab);},100);} -current=getCurrent();if(options.onSwitch&&typeof options.onSwitch==='function'){options.onSwitch(tab,api());} -tabcontent.trigger('tabcontent.switch',[tab,api()]);} -function switchTab(tab,api){if(!tab.toString().match(/^#/)){tab='#'+getTab(tab).tab.attr('id');} -if(!tabExists(tab)){return false;} -options.links.attr('aria-selected','false').parent().removeClass(options.currentClass);options.links.filter(function(){return filterTab.apply(this,[tab]);}).attr('aria-selected','true').parent().addClass(options.currentClass);children.hide();if(options.history&&api){if(history!==undefined&&('pushState'in history)){history.pushState(null,'',tab);}else{window.location.hash=tab;}} -children.attr('aria-hidden','true').filter(tab).show(options.speed,function(){if(options.speed){onSwitch(tab);}}).attr('aria-hidden','false');if(!options.speed){onSwitch(tab);} -return true;} -function apiSwitch(tab){return switchTab(tab,true);} -function hashSwitch(e){switchTab(loc.hash);} -function init(){if(tabExists(loc.hash)){switchTab(loc.hash);} -else if(options.links.parent().filter('.'+options.currentClass).length){switchTab(options.links.parent().filter('.'+options.currentClass).index());} -else if(options.errorSelector&&children.find(options.errorSelector).length){children.each(function(){if($(this).find(options.errorSelector).length){switchTab("#"+$(this).attr("id"));return false;}});} -else{switchTab("#"+children.filter(":first-child").attr("id"));} -if(options.errorSelector){children.find(options.errorSelector).each(function(){var tab=getTab($(this).parent());tab.link.parent().addClass(options.tabErrorClass);});} -if('onhashchange'in window){$(window).bind('hashchange',hashSwitch);}else{var current_href=loc.href;window.setInterval(function(){if(current_href!==loc.href){hashSwitch.call(window.event);current_href=loc.href;}},100);} -$(options.links).on('click',function(e){switchTab($(this).attr('href').replace(/^[^#]+/,''),options.history);e.preventDefault();});if(options.onInit&&typeof options.onInit==='function'){options.onInit(api());} -tabcontent.trigger('tabcontent.init',[api()]);} -function api(){return{'switch':apiSwitch,'switchTab':apiSwitch,'getCurrent':getCurrent,'getTab':getTab,'next':next,'prev':prev,'isFirst':isFirst,'isLast':isLast};} -init();return api();};$.fn.tabbedContent=function(options){return this.each(function(){var tabs=new Tabbedcontent($(this),options);$(this).data('api',tabs);});};})(window.jQuery||window.Zepto||window.$,document,window); +(function(e,t,n,s){"use strict";var o=function(o,i){var y={links:o.prev().find("a").length?o.prev().find("a"):".tabs a",errorSelector:".error-message",speed:!1,onSwitch:!1,onInit:!1,currentClass:"active",tabErrorClass:"has-errors",history:!0,historyOnInit:!0,loop:!1},p=!1,a=o.children(),l=n.history,d=t.location,c=null;i=e.extend(y,i),i.links instanceof e||(i.links=e(i.links));function j(e){return Boolean(a.filter(e).length)}function O(){return c===0}function E(e){return e%1===0}function x(){return c===a.length-1}function h(t){return e(this).attr("href").match(new RegExp(t+"$"))}function m(t){return t instanceof e?{tab:t,link:i.links.eq(t.index())}:E(t)?{tab:a.eq(t),link:i.links.eq(t)}:a.filter(t).length?{tab:a.filter(t),link:i.links.filter(function(){return h.apply(this,[t])})}:{tab:a.filter("#"+t),link:i.links.filter(function(){return h.apply(this,["#"+t])})}}function b(){return i.links.parent().filter("."+i.currentClass).index()}function w(e){return++c,e===s&&(e=i.loop),c=a.length)&&r(0,!0)}function _(e){return--c,e===s&&(e=i.loop),c>=0?r(c,!0):!!(e&&c<0)&&r(a.length-1,!0)}function f(e){i.history&&i.historyOnInit&&p&&l!==s&&"pushState"in l&&(p=!1,n.setTimeout(function(){l.replaceState(null,"",e)},100)),c=b(),i.onSwitch&&typeof i.onSwitch=="function"&&i.onSwitch(e,u()),o.trigger("tabcontent.switch",[e,u()])}function r(e,t){return e.toString().match(/^#/)||(e="#"+m(e).tab.attr("id")),!!j(e)&&(i.links.attr("aria-selected","false").parent().removeClass(i.currentClass),i.links.filter(function(){return h.apply(this,[e])}).attr("aria-selected","true").parent().addClass(i.currentClass),a.hide(),i.history&&t&&(l!==s&&"pushState"in l?l.pushState(null,"",e):n.location.hash=e),a.attr("aria-hidden","true").filter(e).show(i.speed,function(){i.speed&&f(e)}).attr("aria-hidden","false"),i.speed||f(e),!0)}function v(e){return r(e,!0)}function g(){r(d.hash)}function C(){if(j(d.hash)?r(d.hash):i.links.parent().filter("."+i.currentClass).length?r(i.links.parent().filter("."+i.currentClass).index()):i.errorSelector&&a.find(i.errorSelector).length?a.each(function(){if(e(this).find(i.errorSelector).length)return r("#"+e(this).attr("id")),!1}):r("#"+a.filter(":first-child").attr("id")),i.errorSelector&&a.find(i.errorSelector).each(function(){var t=m(e(this).parent());t.link.parent().addClass(i.tabErrorClass)}),"onhashchange"in n)e(n).bind("hashchange",g);else{var t=d.href;n.setInterval(function(){t!==d.href&&(g.call(n.event),t=d.href)},100)}e(i.links).on("click",function(t){r(e(this).attr("href").replace(/^[^#]+/,""),i.history),t.preventDefault()}),i.onInit&&typeof i.onInit=="function"&&i.onInit(u()),o.trigger("tabcontent.init",[u()])}function u(){return{switch:v,switchTab:v,getCurrent:b,getTab:m,next:w,prev:_,isFirst:O,isLast:x}}return C(),u()};e.fn.tabbedContent=function(t){return this.each(function(){var n=new o(e(this),t);e(this).data("api",n)})}})(window.jQuery||window.Zepto||window.$,document,window) )====="; -const uint8_t JS_TABBEDCONTENT_GZIP[1412] PROGMEM = { 31,139,8,0,74,64,43,105,2,255,173,88,221,111,219,54,16,127,239,95,225,56,158,73,193,178,146,188,90,85,7,44,235,128,2,3,134,45,125,90,145,14,140,68,219,90,21,74,19,169,124,192,245,255,190,59,138,164,72,197,113,179,172,47,182,73,30,239,251,126,119,116,74,215,157,200,85,89,11,58,139,139,58,239,110,185,80,241,125,41,138,250,62,238,68,193,215,165,224,69,180,155,118,146,79,164,106,203,92,77,211,59,214,78,62,178,155,27,94,228,181,80,112,33,115,76,20,187,49,123,113,221,224,142,140,118,72,14,140,88,87,41,153,237,170,82,124,145,171,129,46,105,90,126,71,163,4,4,21,148,48,18,37,21,23,27,181,253,241,8,201,138,36,112,42,39,140,196,188,109,235,246,138,87,60,87,117,11,251,122,189,188,229,82,178,13,39,177,108,56,47,86,107,86,73,30,215,226,234,190,84,249,214,45,63,136,82,153,69,222,181,45,72,186,172,152,148,43,194,192,152,59,184,13,66,222,35,63,179,189,101,114,169,249,75,18,111,75,9,2,31,87,170,237,184,93,252,214,115,212,91,85,93,55,61,239,125,188,46,91,169,62,150,183,60,51,194,182,101,85,128,184,204,51,209,238,209,200,114,203,250,40,36,102,9,28,243,204,70,40,129,5,67,247,90,197,51,209,85,85,106,92,158,205,18,254,0,92,11,106,221,238,130,145,150,107,122,66,205,42,209,177,152,148,66,42,38,114,94,175,39,179,40,218,5,135,217,44,36,142,210,253,27,27,236,9,186,231,1,180,147,24,246,104,215,114,213,181,98,242,83,93,87,156,9,106,45,130,176,85,138,183,154,198,196,54,224,82,202,95,208,63,212,49,176,38,101,217,121,72,247,65,40,42,186,91,71,8,191,127,184,120,74,246,43,59,204,205,41,212,43,177,188,240,175,245,74,66,86,7,182,204,168,2,247,71,9,83,170,165,100,219,242,53,228,231,45,131,36,162,130,223,79,254,224,155,247,15,13,222,88,144,25,137,2,179,54,92,57,110,224,116,248,14,29,109,68,236,224,0,171,33,70,247,174,2,95,39,252,31,188,150,64,26,240,7,26,69,123,96,15,156,122,63,32,223,128,135,179,174,191,21,61,207,208,50,58,22,160,131,156,61,186,67,220,205,177,195,2,231,69,231,219,132,53,77,245,168,125,26,127,2,54,215,224,49,173,205,17,105,228,148,44,190,147,68,195,202,73,245,99,117,217,167,201,192,34,148,212,176,254,212,105,149,144,133,165,240,177,35,178,209,242,217,11,168,70,138,128,16,237,22,11,67,141,133,136,91,144,151,3,204,234,13,39,24,22,72,101,46,188,29,165,175,83,84,106,80,195,92,51,148,49,2,16,40,192,1,107,38,70,204,124,110,14,223,101,223,230,115,110,57,188,177,238,68,216,242,45,210,128,220,91,180,92,190,214,162,119,217,249,43,141,120,123,240,226,184,188,191,105,133,109,8,174,72,173,162,6,114,231,243,209,70,15,240,243,185,3,244,249,220,156,156,120,70,207,231,148,52,157,220,94,41,166,56,41,197,196,208,64,189,142,58,65,106,32,94,114,189,89,119,202,207,101,115,45,105,121,83,177,156,107,118,20,113,62,38,186,53,129,105,241,197,249,57,90,104,65,206,79,228,212,51,200,90,58,159,171,199,6,241,103,124,0,65,35,86,52,25,122,128,239,161,152,53,37,213,24,231,181,45,152,8,54,27,172,7,111,175,15,9,209,21,222,95,186,14,202,97,8,153,33,208,190,63,65,168,83,245,21,112,20,27,106,81,246,236,243,233,25,248,13,206,50,172,94,15,84,113,2,48,184,92,22,36,234,33,237,36,108,73,3,30,152,208,135,69,221,223,102,109,201,150,82,79,16,188,32,49,209,180,0,243,174,228,91,126,91,223,113,93,222,244,96,205,167,223,5,7,159,81,7,147,216,215,134,21,197,49,85,92,21,108,203,130,135,73,224,178,218,186,252,191,229,174,77,71,119,60,202,69,172,212,157,73,104,59,158,36,48,50,109,113,204,73,247,144,164,86,53,207,80,208,178,224,98,48,211,111,69,114,91,223,59,229,245,32,23,123,62,245,12,211,103,144,180,126,57,131,192,232,160,32,19,94,61,8,29,103,96,113,3,85,243,243,23,220,231,227,198,19,32,194,172,182,208,227,46,161,35,204,45,30,237,6,98,240,148,118,82,56,18,1,202,80,59,54,152,124,118,132,207,221,182,72,249,218,198,101,219,193,192,253,127,182,192,67,74,5,227,58,224,249,208,236,97,90,61,72,52,40,54,76,56,12,188,24,166,130,29,212,94,194,103,48,112,122,58,93,4,35,222,180,44,166,160,119,136,26,123,107,200,232,230,120,82,153,174,52,188,47,245,254,52,228,168,209,233,176,94,187,23,57,97,108,51,62,170,16,21,13,34,90,43,108,144,162,20,225,17,3,119,4,57,130,231,13,66,80,175,38,169,5,230,84,190,101,98,163,49,160,47,234,104,55,163,230,87,114,163,95,98,30,85,60,228,183,133,2,212,208,228,197,95,56,57,103,58,89,225,135,215,245,96,146,229,237,29,171,70,209,244,175,1,58,217,139,128,65,78,74,146,179,170,50,250,36,252,14,168,1,251,14,74,219,187,46,57,126,203,64,123,163,36,175,202,252,11,25,144,37,168,206,131,243,191,233,199,208,155,62,125,62,189,94,156,1,4,70,241,8,100,163,148,235,87,43,168,243,115,255,6,163,218,193,65,79,238,135,137,39,29,25,183,159,237,199,120,72,95,218,137,17,71,160,15,31,232,193,122,203,14,249,196,116,236,149,67,182,152,56,31,4,187,195,124,65,86,195,111,189,175,73,251,239,152,224,196,75,86,248,25,19,116,3,89,225,103,76,204,91,143,172,204,15,220,193,231,26,110,224,183,126,153,104,240,179,53,168,21,77,247,233,44,89,11,76,216,27,94,92,142,255,116,112,255,52,88,192,134,32,60,87,48,50,195,135,91,240,239,133,141,242,240,72,182,97,47,152,98,208,63,154,82,247,56,83,34,240,97,243,238,239,223,59,222,62,126,253,106,150,127,242,70,213,110,245,228,255,148,40,253,23,8,208,63,203,110,17,0,0 }; +const uint8_t JS_TABBEDCONTENT_GZIP[1197] PROGMEM = { 31,139,8,0,0,0,0,0,0,255,156,86,223,111,219,54,16,254,87,108,182,35,72,132,97,236,87,185,108,128,101,25,80,96,64,177,165,79,11,218,130,150,206,22,91,153,212,200,179,157,32,214,255,62,144,214,207,52,43,214,190,81,199,187,143,167,187,239,62,146,109,246,54,71,227,44,3,129,194,138,192,159,200,62,192,44,160,55,57,146,213,65,251,153,83,189,147,19,134,63,69,219,163,122,170,140,253,26,50,39,107,15,7,198,229,198,216,130,17,77,184,172,192,110,177,188,254,118,39,35,18,245,58,204,52,17,224,189,243,119,80,65,142,206,103,68,166,239,203,29,132,160,183,64,68,168,1,138,108,190,20,206,222,29,13,230,229,121,253,206,26,140,171,124,239,61,88,188,169,116,8,25,209,57,154,3,16,129,122,125,27,97,90,115,169,195,101,130,13,68,148,38,160,243,143,217,124,209,45,223,183,96,11,81,57,87,103,243,101,35,106,53,95,10,173,156,204,75,83,21,30,44,227,162,82,86,182,17,162,80,40,43,151,235,88,9,145,43,187,175,170,149,81,32,225,1,193,22,236,81,24,46,140,76,101,153,25,27,80,219,28,220,102,6,167,19,107,205,10,186,21,231,171,174,168,179,47,12,248,147,7,220,123,59,251,213,185,10,180,101,90,110,76,133,224,25,116,245,228,77,31,240,158,245,254,185,82,106,49,236,220,142,160,224,151,229,116,243,97,26,166,91,224,203,229,224,82,50,28,226,25,150,38,112,169,17,61,35,165,135,13,225,114,167,49,47,153,133,227,236,47,216,222,62,212,12,47,200,107,194,71,201,237,70,16,56,169,195,245,19,234,117,134,34,22,32,107,235,32,225,31,134,210,216,2,30,24,231,77,118,203,144,159,253,116,218,226,223,122,243,38,235,171,131,61,219,218,152,222,62,141,107,205,61,143,251,12,75,169,235,186,122,76,191,42,238,241,35,111,120,147,77,177,200,43,114,241,147,120,41,52,97,14,245,89,15,206,29,90,173,35,155,211,164,156,79,148,228,194,200,49,201,121,87,162,1,231,56,180,250,226,34,23,160,148,10,148,50,80,70,70,70,115,145,191,233,58,124,237,89,46,230,11,158,205,231,12,40,205,223,246,189,231,148,122,182,136,123,3,240,231,1,248,242,242,69,224,183,106,241,28,242,205,34,65,13,156,154,98,110,34,166,233,38,137,210,126,121,30,67,74,107,74,171,121,58,136,212,251,80,222,161,70,32,198,206,42,74,89,154,75,43,3,224,7,179,3,183,199,113,221,43,233,161,174,116,14,41,132,197,161,20,132,8,224,141,88,46,22,156,139,92,173,89,156,203,78,73,40,197,199,58,242,113,48,41,69,58,68,18,115,235,236,12,196,158,113,46,156,68,111,182,219,216,25,212,235,220,89,4,139,50,36,31,34,238,147,215,199,209,223,250,40,166,195,28,73,116,119,232,141,221,178,110,126,174,62,189,186,226,167,19,3,21,25,178,139,67,142,122,221,78,154,41,8,231,98,62,143,178,64,105,39,24,237,166,246,70,95,134,164,155,80,16,65,54,186,10,64,248,64,33,15,59,119,128,68,26,246,140,67,226,7,217,11,145,185,255,113,46,250,253,228,88,93,20,47,159,169,101,105,10,72,29,232,187,143,148,178,151,187,125,93,201,222,48,234,101,102,123,225,149,165,14,165,130,8,60,202,172,52,69,1,118,200,107,16,207,80,186,35,51,50,93,40,98,244,199,173,137,210,72,205,233,111,246,96,109,113,69,235,123,58,69,223,41,177,15,35,193,141,109,159,108,110,99,101,89,145,82,30,153,111,226,241,27,246,165,219,185,238,125,178,31,81,132,126,182,127,66,70,226,73,147,43,152,82,125,190,167,159,217,251,99,180,4,157,151,99,206,152,13,235,174,136,239,69,242,190,58,145,235,211,75,165,165,250,178,225,217,121,123,16,221,108,99,124,192,203,116,21,147,169,255,255,78,253,121,198,241,225,130,106,215,167,221,21,140,175,48,149,240,69,58,79,94,21,188,225,130,56,27,155,149,151,218,110,19,107,45,7,102,185,92,167,103,206,104,75,108,249,10,170,0,237,185,133,140,119,232,42,9,217,59,139,224,15,186,26,103,135,115,213,250,80,202,182,50,215,85,197,172,132,3,88,228,162,11,111,101,173,25,30,18,210,89,70,242,202,228,95,201,192,239,168,62,236,197,11,188,85,75,118,245,233,254,211,171,143,23,87,130,144,209,108,114,129,233,213,6,22,127,131,141,222,87,200,226,47,71,73,60,235,244,72,59,163,225,91,229,140,86,246,29,213,52,214,32,17,247,207,20,115,223,107,208,211,89,86,179,131,56,47,62,232,117,118,16,91,192,155,51,143,179,117,252,136,214,157,176,240,128,217,81,196,132,179,207,194,132,223,35,101,178,247,194,132,63,116,192,236,161,105,90,238,221,48,30,53,186,89,129,220,216,216,209,53,20,55,231,132,212,164,102,237,179,165,52,225,69,242,88,21,95,62,174,171,172,64,190,234,138,92,104,212,140,232,218,16,97,211,133,207,217,209,216,194,29,229,151,63,247,224,31,79,167,246,243,111,168,209,245,95,175,69,225,242,253,14,44,138,179,133,255,27,0,0,255,255,122,193,189,182,146,11,0,0 }; diff --git a/src/dataZeptoJS.h b/src/dataZeptoJS.h index 9dddfc9..d752cb2 100644 --- a/src/dataZeptoJS.h +++ b/src/dataZeptoJS.h @@ -1,5 +1,5 @@ const char JS_ZEPTO[] PROGMEM = R"=====( -!function(t,e){"function"==typeof define&&define.amd?define(function(){return e(t)}):e(t)}(this,function(t){var e=function(){function $(t){return null==t?String(t):S[C.call(t)]||"object"}function F(t){return"function"==$(t)}function k(t){return null!=t&&t==t.window}function M(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function R(t){return"object"==$(t)}function Z(t){return R(t)&&!k(t)&&Object.getPrototypeOf(t)==Object.prototype}function z(t){var e=!!t&&"length"in t&&t.length,n=r.type(t);return"function"!=n&&!k(t)&&("array"==n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function q(t){return a.call(t,function(t){return null!=t})}function H(t){return t.length>0?r.fn.concat.apply([],t):t}function I(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function V(t){return t in l?l[t]:l[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function _(t,e){return"number"!=typeof e||h[I(t)]?e:e+"px"}function B(t){var e,n;return c[t]||(e=f.createElement(t),f.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),c[t]=n),c[t]}function U(t){return"children"in t?u.call(t.children):r.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function X(t,e){var n,r=t?t.length:0;for(n=0;r>n;n++)this[n]=t[n];this.length=r,this.selector=e||""}function J(t,r,i){for(n in r)i&&(Z(r[n])||L(r[n]))?(Z(r[n])&&!Z(t[n])&&(t[n]={}),L(r[n])&&!L(t[n])&&(t[n]=[]),J(t[n],r[n],i)):r[n]!==e&&(t[n]=r[n])}function W(t,e){return null==e?r(t):r(t).filter(e)}function Y(t,e,n,r){return F(e)?e.call(t,n,r):e}function G(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function K(t,n){var r=t.className||"",i=r&&r.baseVal!==e;return n===e?i?r.baseVal:r:void(i?r.baseVal=n:t.className=n)}function Q(t){try{return t?"true"==t||("false"==t?!1:"null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?r.parseJSON(t):t):t}catch(e){return t}}function tt(t,e){e(t);for(var n=0,r=t.childNodes.length;r>n;n++)tt(t.childNodes[n],e)}var e,n,r,i,O,P,o=[],s=o.concat,a=o.filter,u=o.slice,f=t.document,c={},l={},h={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},p=/^\s*<(\w+|!)[^>]*>/,d=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,m=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,g=/^(?:body|html)$/i,v=/([A-Z])/g,y=["val","css","html","text","data","width","height","offset"],x=["after","prepend","before","append"],b=f.createElement("table"),E=f.createElement("tr"),j={tr:f.createElement("tbody"),tbody:b,thead:b,tfoot:b,td:E,th:E,"*":f.createElement("div")},w=/complete|loaded|interactive/,T=/^[\w-]*$/,S={},C=S.toString,N={},A=f.createElement("div"),D={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},L=Array.isArray||function(t){return t instanceof Array};return N.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var r,i=t.parentNode,o=!i;return o&&(i=A).appendChild(t),r=~N.qsa(i,e).indexOf(t),o&&A.removeChild(t),r},O=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},P=function(t){return a.call(t,function(e,n){return t.indexOf(e)==n})},N.fragment=function(t,n,i){var o,s,a;return d.test(t)&&(o=r(f.createElement(RegExp.$1))),o||(t.replace&&(t=t.replace(m,"<$1>")),n===e&&(n=p.test(t)&&RegExp.$1),n in j||(n="*"),a=j[n],a.innerHTML=""+t,o=r.each(u.call(a.childNodes),function(){a.removeChild(this)})),Z(i)&&(s=r(o),r.each(i,function(t,e){y.indexOf(t)>-1?s[t](e):s.attr(t,e)})),o},N.Z=function(t,e){return new X(t,e)},N.isZ=function(t){return t instanceof N.Z},N.init=function(t,n){var i;if(!t)return N.Z();if("string"==typeof t)if(t=t.trim(),"<"==t[0]&&p.test(t))i=N.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}else{if(F(t))return r(f).ready(t);if(N.isZ(t))return t;if(L(t))i=q(t);else if(R(t))i=[t],t=null;else if(p.test(t))i=N.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}}return N.Z(i,t)},r=function(t,e){return N.init(t,e)},r.extend=function(t){var e,n=u.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){J(t,n,e)}),t},N.qsa=function(t,e){var n,r="#"==e[0],i=!r&&"."==e[0],o=r||i?e.slice(1):e,s=T.test(o);return t.getElementById&&s&&r?(n=t.getElementById(o))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:u.call(s&&!r&&t.getElementsByClassName?i?t.getElementsByClassName(o):t.getElementsByTagName(e):t.querySelectorAll(e))},r.contains=f.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},r.type=$,r.isFunction=F,r.isWindow=k,r.isArray=L,r.isPlainObject=Z,r.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},r.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},r.inArray=function(t,e,n){return o.indexOf.call(e,t,n)},r.camelCase=O,r.trim=function(t){return null==t?"":String.prototype.trim.call(t)},r.uuid=0,r.support={},r.expr={},r.noop=function(){},r.map=function(t,e){var n,i,o,r=[];if(z(t))for(i=0;i=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return o.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return F(t)?this.not(this.not(t)):r(a.call(this,function(e){return N.matches(e,t)}))},add:function(t,e){return r(P(this.concat(r(t,e))))},is:function(t){return this.length>0&&N.matches(this[0],t)},not:function(t){var n=[];if(F(t)&&t.call!==e)this.each(function(e){t.call(this,e)||n.push(this)});else{var i="string"==typeof t?this.filter(t):z(t)&&F(t.item)?u.call(t):r(t);this.forEach(function(t){i.indexOf(t)<0&&n.push(t)})}return r(n)},has:function(t){return this.filter(function(){return R(t)?r.contains(this,t):r(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!R(t)?t:r(t)},last:function(){var t=this[this.length-1];return t&&!R(t)?t:r(t)},find:function(t){var e,n=this;return e=t?"object"==typeof t?r(t).filter(function(){var t=this;return o.some.call(n,function(e){return r.contains(e,t)})}):1==this.length?r(N.qsa(this[0],t)):this.map(function(){return N.qsa(this,t)}):r()},closest:function(t,e){var n=[],i="object"==typeof t&&r(t);return this.each(function(r,o){for(;o&&!(i?i.indexOf(o)>=0:N.matches(o,t));)o=o!==e&&!M(o)&&o.parentNode;o&&n.indexOf(o)<0&&n.push(o)}),r(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=r.map(n,function(t){return(t=t.parentNode)&&!M(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return W(e,t)},parent:function(t){return W(P(this.pluck("parentNode")),t)},children:function(t){return W(this.map(function(){return U(this)}),t)},contents:function(){return this.map(function(){return this.contentDocument||u.call(this.childNodes)})},siblings:function(t){return W(this.map(function(t,e){return a.call(U(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return r.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=B(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=F(t);if(this[0]&&!e)var n=r(t).get(0),i=n.parentNode||this.length>1;return this.each(function(o){r(this).wrapAll(e?t.call(this,o):i?n.cloneNode(!0):n)})},wrapAll:function(t){if(this[0]){r(this[0]).before(t=r(t));for(var e;(e=t.children()).length;)t=e.first();r(t).append(this)}return this},wrapInner:function(t){var e=F(t);return this.each(function(n){var i=r(this),o=i.contents(),s=e?t.call(this,n):t;o.length?o.wrapAll(s):i.append(s)})},unwrap:function(){return this.parent().each(function(){r(this).replaceWith(r(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var n=r(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()})},prev:function(t){return r(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return r(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var n=this.innerHTML;r(this).empty().append(Y(this,t,e,n))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=Y(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(t,r){var i;return"string"!=typeof t||1 in arguments?this.each(function(e){if(1===this.nodeType)if(R(t))for(n in t)G(this,n,t[n]);else G(this,t,Y(this,r,e,this.getAttribute(t)))}):0 in this&&1==this[0].nodeType&&null!=(i=this[0].getAttribute(t))?i:e},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){G(this,t)},this)})},prop:function(t,e){return t=D[t]||t,1 in arguments?this.each(function(n){this[t]=Y(this,e,n,this[t])}):this[0]&&this[0][t]},removeProp:function(t){return t=D[t]||t,this.each(function(){delete this[t]})},data:function(t,n){var r="data-"+t.replace(v,"-$1").toLowerCase(),i=1 in arguments?this.attr(r,n):this.attr(r);return null!==i?Q(i):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each(function(e){this.value=Y(this,t,e,this.value)})):this[0]&&(this[0].multiple?r(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each(function(t){var n=r(this),i=Y(this,e,t,n.offset()),o=n.offsetParent().offset(),s={top:i.top-o.top,left:i.left-o.left};"static"==n.css("position")&&(s.position="relative"),n.css(s)});if(!this.length)return null;if(f.documentElement!==this[0]&&!r.contains(f.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var i=this[0];if("string"==typeof t){if(!i)return;return i.style[O(t)]||getComputedStyle(i,"").getPropertyValue(t)}if(L(t)){if(!i)return;var o={},s=getComputedStyle(i,"");return r.each(t,function(t,e){o[e]=i.style[O(e)]||s.getPropertyValue(e)}),o}}var a="";if("string"==$(t))e||0===e?a=I(t)+":"+_(t,e):this.each(function(){this.style.removeProperty(I(t))});else for(n in t)t[n]||0===t[n]?a+=I(n)+":"+_(n,t[n])+";":this.each(function(){this.style.removeProperty(I(n))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(r(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?o.some.call(this,function(t){return this.test(K(t))},V(t)):!1},addClass:function(t){return t?this.each(function(e){if("className"in this){i=[];var n=K(this),o=Y(this,t,e,n);o.split(/\s+/g).forEach(function(t){r(this).hasClass(t)||i.push(t)},this),i.length&&K(this,n+(n?" ":"")+i.join(" "))}}):this},removeClass:function(t){return this.each(function(n){if("className"in this){if(t===e)return K(this,"");i=K(this),Y(this,t,n,i).split(/\s+/g).forEach(function(t){i=i.replace(V(t)," ")}),K(this,i.trim())}})},toggleClass:function(t,n){return t?this.each(function(i){var o=r(this),s=Y(this,t,i,K(this));s.split(/\s+/g).forEach(function(t){(n===e?!o.hasClass(t):n)?o.addClass(t):o.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),i=g.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(r(t).css("margin-top"))||0,n.left-=parseFloat(r(t).css("margin-left"))||0,i.top+=parseFloat(r(e[0]).css("border-top-width"))||0,i.left+=parseFloat(r(e[0]).css("border-left-width"))||0,{top:n.top-i.top,left:n.left-i.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||f.body;t&&!g.test(t.nodeName)&&"static"==r(t).css("position");)t=t.offsetParent;return t})}},r.fn.detach=r.fn.remove,["width","height"].forEach(function(t){var n=t.replace(/./,function(t){return t[0].toUpperCase()});r.fn[t]=function(i){var o,s=this[0];return i===e?k(s)?s["inner"+n]:M(s)?s.documentElement["scroll"+n]:(o=this.offset())&&o[t]:this.each(function(e){s=r(this),s.css(t,Y(this,i,e,s[t]()))})}}),x.forEach(function(n,i){var o=i%2;r.fn[n]=function(){var n,a,s=r.map(arguments,function(t){var i=[];return n=$(t),"array"==n?(t.forEach(function(t){return t.nodeType!==e?i.push(t):r.zepto.isZ(t)?i=i.concat(t.get()):void(i=i.concat(N.fragment(t)))}),i):"object"==n||null==t?t:N.fragment(t)}),u=this.length>1;return s.length<1?this:this.each(function(e,n){a=o?n:n.parentNode,n=0==i?n.nextSibling:1==i?n.firstChild:2==i?n:null;var c=r.contains(f.documentElement,a);s.forEach(function(e){if(u)e=e.cloneNode(!0);else if(!a)return r(e).remove();a.insertBefore(e,n),c&&tt(e,function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}})})})},r.fn[o?n+"To":"insert"+(i?"Before":"After")]=function(t){return r(t)[n](this),this}}),N.Z.prototype=X.prototype=r.fn,N.uniq=P,N.deserializeValue=Q,r.zepto=N,r}();return t.Zepto=e,void 0===t.$&&(t.$=e),function(e){function h(t){return t._zid||(t._zid=n++)}function p(t,e,n,r){if(e=d(e),e.ns)var i=m(e.ns);return(a[h(t)]||[]).filter(function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||i.test(t.ns))&&(!n||h(t.fn)===h(n))&&(!r||t.sel==r)})}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function m(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function g(t,e){return t.del&&!f&&t.e in c||!!e}function v(t){return l[t]||f&&c[t]||t}function y(t,n,i,o,s,u,f){var c=h(t),p=a[c]||(a[c]=[]);n.split(/\s/).forEach(function(n){if("ready"==n)return e(document).ready(i);var a=d(n);a.fn=i,a.sel=s,a.e in l&&(i=function(t){var n=t.relatedTarget;return!n||n!==this&&!e.contains(this,n)?a.fn.apply(this,arguments):void 0}),a.del=u;var c=u||i;a.proxy=function(e){if(e=T(e),!e.isImmediatePropagationStopped()){e.data=o;var n=c.apply(t,e._args==r?[e]:[e].concat(e._args));return n===!1&&(e.preventDefault(),e.stopPropagation()),n}},a.i=p.length,p.push(a),"addEventListener"in t&&t.addEventListener(v(a.e),a.proxy,g(a,f))})}function x(t,e,n,r,i){var o=h(t);(e||"").split(/\s/).forEach(function(e){p(t,e,n,r).forEach(function(e){delete a[o][e.i],"removeEventListener"in t&&t.removeEventListener(v(e.e),e.proxy,g(e,i))})})}function T(t,n){return(n||!t.isDefaultPrevented)&&(n||(n=t),e.each(w,function(e,r){var i=n[e];t[e]=function(){return this[r]=b,i&&i.apply(n,arguments)},t[r]=E}),t.timeStamp||(t.timeStamp=Date.now()),(n.defaultPrevented!==r?n.defaultPrevented:"returnValue"in n?n.returnValue===!1:n.getPreventDefault&&n.getPreventDefault())&&(t.isDefaultPrevented=b)),t}function S(t){var e,n={originalEvent:t};for(e in t)j.test(e)||t[e]===r||(n[e]=t[e]);return T(n,t)}var r,n=1,i=Array.prototype.slice,o=e.isFunction,s=function(t){return"string"==typeof t},a={},u={},f="onfocusin"in t,c={focus:"focusin",blur:"focusout"},l={mouseenter:"mouseover",mouseleave:"mouseout"};u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:x},e.proxy=function(t,n){var r=2 in arguments&&i.call(arguments,2);if(o(t)){var a=function(){return t.apply(n,r?r.concat(i.call(arguments)):arguments)};return a._zid=h(t),a}if(s(n))return r?(r.unshift(t[n],t),e.proxy.apply(null,r)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,r){return this.on(t,e,n,r,1)};var b=function(){return!0},E=function(){return!1},j=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,w={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,n,a,u,f){var c,l,h=this;return t&&!s(t)?(e.each(t,function(t,e){h.on(t,n,a,e,f)}),h):(s(n)||o(u)||u===!1||(u=a,a=n,n=r),(u===r||a===!1)&&(u=a,a=r),u===!1&&(u=E),h.each(function(r,o){f&&(c=function(t){return x(o,t.type,u),u.apply(this,arguments)}),n&&(l=function(t){var r,s=e(t.target).closest(n,o).get(0);return s&&s!==o?(r=e.extend(S(t),{currentTarget:s,liveFired:o}),(c||u).apply(s,[r].concat(i.call(arguments,1)))):void 0}),y(o,t,u,a,n,l||c)}))},e.fn.off=function(t,n,i){var a=this;return t&&!s(t)?(e.each(t,function(t,e){a.off(t,n,e)}),a):(s(n)||o(i)||i===!1||(i=n,n=r),i===!1&&(i=E),a.each(function(){x(this,t,i,n)}))},e.fn.trigger=function(t,n){return t=s(t)||e.isPlainObject(t)?e.Event(t):T(t),t._args=n,this.each(function(){t.type in c&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)})},e.fn.triggerHandler=function(t,n){var r,i;return this.each(function(o,a){r=S(s(t)?e.Event(t):t),r._args=n,r.target=a,e.each(p(a,t.type||t),function(t,e){return i=e.proxy(r),r.isImmediatePropagationStopped()?!1:void 0})}),i},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}}),e.Event=function(t,e){s(t)||(e=t,t=e.type);var n=document.createEvent(u[t]||"Events"),r=!0;if(e)for(var i in e)"bubbles"==i?r=!!e[i]:n[i]=e[i];return n.initEvent(t,r,!0),T(n)}}(e),function(e){function p(t,n,r){var i=e.Event(n);return e(t).trigger(i,r),!i.isDefaultPrevented()}function d(t,e,n,i){return t.global?p(e||r,n,i):void 0}function m(t){t.global&&0===e.active++&&d(t,null,"ajaxStart")}function g(t){t.global&&!--e.active&&d(t,null,"ajaxStop")}function v(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||d(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void d(e,n,"ajaxSend",[t,e])}function y(t,e,n,r){var i=n.context,o="success";n.success.call(i,t,o,e),r&&r.resolveWith(i,[t,o,e]),d(n,i,"ajaxSuccess",[e,n,t]),b(o,e,n)}function x(t,e,n,r,i){var o=r.context;r.error.call(o,n,e,t),i&&i.rejectWith(o,[n,e,t]),d(r,o,"ajaxError",[n,r,t||e]),b(e,n,r)}function b(t,e,n){var r=n.context;n.complete.call(r,e,t),d(n,r,"ajaxComplete",[e,n]),g(n)}function E(t,e,n){if(n.dataFilter==j)return t;var r=n.context;return n.dataFilter.call(r,t,e)}function j(){}function w(t){return t&&(t=t.split(";",2)[0]),t&&(t==c?"html":t==f?"json":a.test(t)?"script":u.test(t)&&"xml")||"text"}function T(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function S(t){t.processData&&t.data&&"string"!=e.type(t.data)&&(t.data=e.param(t.data,t.traditional)),!t.data||t.type&&"GET"!=t.type.toUpperCase()&&"jsonp"!=t.dataType||(t.url=T(t.url,t.data),t.data=void 0)}function C(t,n,r,i){return e.isFunction(n)&&(i=r,r=n,n=void 0),e.isFunction(r)||(i=r,r=void 0),{url:t,data:n,success:r,dataType:i}}function O(t,n,r,i){var o,s=e.isArray(n),a=e.isPlainObject(n);e.each(n,function(n,u){o=e.type(u),i&&(n=r?i:i+"["+(a||"object"==o||"array"==o?n:"")+"]"),!i&&s?t.add(u.name,u.value):"array"==o||!r&&"object"==o?O(t,u,r,n):t.add(n,u)})}var i,o,n=+new Date,r=t.document,s=/)<[^<]*)*<\/script>/gi,a=/^(?:text|application)\/javascript/i,u=/^(?:text|application)\/xml/i,f="application/json",c="text/html",l=/^\s*$/,h=r.createElement("a");h.href=t.location.href,e.active=0,e.ajaxJSONP=function(i,o){if(!("type"in i))return e.ajax(i);var c,p,s=i.jsonpCallback,a=(e.isFunction(s)?s():s)||"Zepto"+n++,u=r.createElement("script"),f=t[a],l=function(t){e(u).triggerHandler("error",t||"abort")},h={abort:l};return o&&o.promise(h),e(u).on("load error",function(n,r){clearTimeout(p),e(u).off().remove(),"error"!=n.type&&c?y(c[0],h,i,o):x(null,r||"error",h,i,o),t[a]=f,c&&e.isFunction(f)&&f(c[0]),f=c=void 0}),v(h,i)===!1?(l("abort"),h):(t[a]=function(){c=arguments},u.src=i.url.replace(/\?(.+)=\?/,"?$1="+a),r.head.appendChild(u),i.timeout>0&&(p=setTimeout(function(){l("timeout")},i.timeout)),h)},e.ajaxSettings={type:"GET",beforeSend:j,success:j,error:j,complete:j,context:null,global:!0,xhr:function(){return new t.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:f,xml:"application/xml, text/xml",html:c,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0,dataFilter:j},e.ajax=function(n){var u,f,s=e.extend({},n||{}),a=e.Deferred&&e.Deferred();for(i in e.ajaxSettings)void 0===s[i]&&(s[i]=e.ajaxSettings[i]);m(s),s.crossDomain||(u=r.createElement("a"),u.href=s.url,u.href=u.href,s.crossDomain=h.protocol+"//"+h.host!=u.protocol+"//"+u.host),s.url||(s.url=t.location.toString()),(f=s.url.indexOf("#"))>-1&&(s.url=s.url.slice(0,f)),S(s);var c=s.dataType,p=/\?.+=\?/.test(s.url);if(p&&(c="jsonp"),s.cache!==!1&&(n&&n.cache===!0||"script"!=c&&"jsonp"!=c)||(s.url=T(s.url,"_="+Date.now())),"jsonp"==c)return p||(s.url=T(s.url,s.jsonp?s.jsonp+"=?":s.jsonp===!1?"":"callback=?")),e.ajaxJSONP(s,a);var P,d=s.accepts[c],g={},b=function(t,e){g[t.toLowerCase()]=[t,e]},C=/^([\w-]+:)\/\//.test(s.url)?RegExp.$1:t.location.protocol,N=s.xhr(),O=N.setRequestHeader;if(a&&a.promise(N),s.crossDomain||b("X-Requested-With","XMLHttpRequest"),b("Accept",d||"*/*"),(d=s.mimeType||d)&&(d.indexOf(",")>-1&&(d=d.split(",",2)[0]),N.overrideMimeType&&N.overrideMimeType(d)),(s.contentType||s.contentType!==!1&&s.data&&"GET"!=s.type.toUpperCase())&&b("Content-Type",s.contentType||"application/x-www-form-urlencoded"),s.headers)for(o in s.headers)b(o,s.headers[o]);if(N.setRequestHeader=b,N.onreadystatechange=function(){if(4==N.readyState){N.onreadystatechange=j,clearTimeout(P);var t,n=!1;if(N.status>=200&&N.status<300||304==N.status||0==N.status&&"file:"==C){if(c=c||w(s.mimeType||N.getResponseHeader("content-type")),"arraybuffer"==N.responseType||"blob"==N.responseType)t=N.response;else{t=N.responseText;try{t=E(t,c,s),"script"==c?(1,eval)(t):"xml"==c?t=N.responseXML:"json"==c&&(t=l.test(t)?null:e.parseJSON(t))}catch(r){n=r}if(n)return x(n,"parsererror",N,s,a)}y(t,N,s,a)}else x(N.statusText||null,N.status?"error":"abort",N,s,a)}},v(N,s)===!1)return N.abort(),x(null,"abort",N,s,a),N;var A="async"in s?s.async:!0;if(N.open(s.type,s.url,A,s.username,s.password),s.xhrFields)for(o in s.xhrFields)N[o]=s.xhrFields[o];for(o in g)O.apply(N,g[o]);return s.timeout>0&&(P=setTimeout(function(){N.onreadystatechange=j,N.abort(),x(null,"timeout",N,s,a)},s.timeout)),N.send(s.data?s.data:null),N},e.get=function(){return e.ajax(C.apply(null,arguments))},e.post=function(){var t=C.apply(null,arguments);return t.type="POST",e.ajax(t)},e.getJSON=function(){var t=C.apply(null,arguments);return t.dataType="json",e.ajax(t)},e.fn.load=function(t,n,r){if(!this.length)return this;var a,i=this,o=t.split(/\s/),u=C(t,n,r),f=u.success;return o.length>1&&(u.url=o[0],a=o[1]),u.success=function(t){i.html(a?e("
    ").html(t.replace(s,"")).find(a):t),f&&f.apply(i,arguments)},e.ajax(u),this};var N=encodeURIComponent;e.param=function(t,n){var r=[];return r.add=function(t,n){e.isFunction(n)&&(n=n()),null==n&&(n=""),this.push(N(t)+"="+N(n))},O(r,t,n),r.join("&").replace(/%20/g,"+")}}(e),function(t){t.fn.serializeArray=function(){var e,n,r=[],i=function(t){return t.forEach?t.forEach(i):void r.push({name:e,value:t})};return this[0]&&t.each(this[0].elements,function(r,o){n=o.type,e=o.name,e&&"fieldset"!=o.nodeName.toLowerCase()&&!o.disabled&&"submit"!=n&&"reset"!=n&&"button"!=n&&"file"!=n&&("radio"!=n&&"checkbox"!=n||o.checked)&&i(t(o).val())}),r},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(0 in arguments)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(e),function(){try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;t.getComputedStyle=function(t,e){try{return n(t,e)}catch(r){return null}}}}(),e}); +!function(e,t){"function"==typeof define&&define.amd?define(function(){return t(e)}):t(e)}(this,function(e){var t=function(){function g(e){return e==null?String(e):A[X.call(e)]||"object"}function l(e){return"function"==g(e)}function b(e){return e!=null&&e==e.window}function E(e){return e!=null&&e.nodeType==e.DOCUMENT_NODE}function m(e){return"object"==g(e)}function v(e){return m(e)&&!b(e)&&Object.getPrototypeOf(e)==Object.prototype}function x(e){var n=!!e&&"length"in e&&e.length,s=t.type(e);return"function"!=s&&!b(e)&&("array"==s||0===n||"number"==typeof n&&n>0&&n-1 in e)}function ee(e){return p.call(e,function(e){return e!=null})}function Q(e){return e.length>0?t.fn.concat.apply([],e):e}function f(e){return e.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function P(e){return e in C?C[e]:C[e]=new RegExp("(^|\\s)"+e+"(\\s|$)")}function F(e,t){return"number"!=typeof t||J[f(e)]?t:t+"px"}function V(e){var t,n;return S[e]||(t=o.createElement(e),o.body.appendChild(t),n=getComputedStyle(t,"").getPropertyValue("display"),t.parentNode.removeChild(t),"none"==n&&(n="block"),S[e]=n),S[e]}function N(e){return"children"in e?d.call(e.children):t.map(e.childNodes,function(e){return 1==e.nodeType?e:void 0})}function M(e,t){var n,s=e?e.length:0;for(n=0;s>n;n++)this[n]=e[n];this.length=s,this.selector=t||""}function D(e,t,n){for(s in t)n&&(v(t[s])||h(t[s]))?(v(t[s])&&!v(e[s])&&(e[s]={}),h(t[s])&&!h(e[s])&&(e[s]=[]),D(e[s],t[s],n)):t[s]!==i&&(e[s]=t[s])}function j(e,n){return n==null?t(e):t(e).filter(n)}function r(e,t,n,s){return l(t)?t.call(e,n,s):t}function k(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function u(e,t){var n=e.className||"",s=n&&n.baseVal!==i;return t===i?s?n.baseVal:n:void(s?n.baseVal=t:e.className=t)}function z(e){try{return e?"true"==e||"false"!=e&&("null"==e?null:+e+""==e?+e:/^[[{]/.test(e)?t.parseJSON(e):e):e}catch{return e}}function T(e,t){t(e);for(var n=0,s=e.childNodes.length;s>n;n++)T(e.childNodes[n],t)}var t,s,i,c,y,_,a=[],Z=a.concat,p=a.filter,d=a.slice,o=e.document,S={},C={},J={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},O=/^\s*<(\w+|!)[^>]*>/,G=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,K=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,I=/^(?:body|html)$/i,U=/([A-Z])/g,W=["val","css","html","text","data","width","height","offset"],$=["after","prepend","before","append"],w=o.createElement("table"),B=o.createElement("tr"),H={tr:o.createElement("tbody"),tbody:w,thead:w,tfoot:w,td:B,th:B,"*":o.createElement("div")},q=/complete|loaded|interactive/,Y=/^[\w-]*$/,A={},X=A.toString,n={},R=o.createElement("div"),L={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},h=Array.isArray||function(e){return e instanceof Array};return n.matches=function(e,t){if(!t||!e||1!==e.nodeType)return!1;if(s=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.matchesSelector,s)return s.call(e,t);var s,i,o=e.parentNode,a=!o;return a&&(o=R).appendChild(e),i=~n.qsa(o,t).indexOf(e),a&&R.removeChild(e),i},_=function(e){return e.replace(/-+(.)?/g,function(e,t){return t?t.toUpperCase():""})},y=function(e){return p.call(e,function(t,n){return e.indexOf(t)==n})},n.fragment=function(e,n,s){var a,r,c;return G.test(e)&&(a=t(o.createElement(RegExp.$1))),a||(e.replace&&(e=e.replace(K,"<$1>")),n===i&&(n=O.test(e)&&RegExp.$1),n in H||(n="*"),r=H[n],r.innerHTML=""+e,a=t.each(d.call(r.childNodes),function(){r.removeChild(this)})),v(s)&&(c=t(a),t.each(s,function(e,t){W.indexOf(e)>-1?c[e](t):c.attr(e,t)})),a},n.Z=function(e,t){return new M(e,t)},n.isZ=function(e){return e instanceof n.Z},n.init=function(e,s){var a;if(!e)return n.Z();if("string"==typeof e)if(e=e.trim(),"<"==e[0]&&O.test(e))a=n.fragment(e,RegExp.$1,s),e=null;else{if(s!==i)return t(s).find(e);a=n.qsa(o,e)}else{if(l(e))return t(o).ready(e);if(n.isZ(e))return e;if(h(e))a=ee(e);else if(m(e))a=[e],e=null;else if(O.test(e))a=n.fragment(e.trim(),RegExp.$1,s),e=null;else{if(s!==i)return t(s).find(e);a=n.qsa(o,e)}}return n.Z(a,e)},t=function(e,t){return n.init(e,t)},t.extend=function(e){var t,n=d.call(arguments,1);return"boolean"==typeof e&&(t=e,e=n.shift()),n.forEach(function(n){D(e,n,t)}),e},n.qsa=function(e,t){var o,n="#"==t[0],i=!n&&"."==t[0],s=n||i?t.slice(1):t,a=Y.test(s);return e.getElementById&&a&&n?(o=e.getElementById(s))?[o]:[]:1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType?[]:d.call(a&&!n&&e.getElementsByClassName?i?e.getElementsByClassName(s):e.getElementsByTagName(t):e.querySelectorAll(t))},t.contains=o.documentElement.contains?function(e,t){return e!==t&&e.contains(t)}:function(e,t){for(;t&&(t=t.parentNode);)if(t===e)return!0;return!1},t.type=g,t.isFunction=l,t.isWindow=b,t.isArray=h,t.isPlainObject=v,t.isEmptyObject=function(e){var t;for(t in e)return!1;return!0},t.isNumeric=function(e){var t=Number(e),n=typeof e;return e!=null&&"boolean"!=n&&("string"!=n||e.length)&&!isNaN(t)&&isFinite(t)||!1},t.inArray=function(e,t,n){return a.indexOf.call(t,e,n)},t.camelCase=_,t.trim=function(e){return e==null?"":String.prototype.trim.call(e)},t.uuid=0,t.support={},t.expr={},t.noop=function(){},t.map=function(e,t){var n,s,o,i=[];if(x(e))for(s=0;s=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(e){return a.every.call(this,function(t,n){return e.call(t,n,t)!==!1}),this},filter:function(e){return l(e)?this.not(this.not(e)):t(p.call(this,function(t){return n.matches(t,e)}))},add:function(e,n){return t(y(this.concat(t(e,n))))},is:function(e){return this.length>0&&n.matches(this[0],e)},not:function(e){var s,n=[];return l(e)&&e.call!==i?this.each(function(t){e.call(this,t)||n.push(this)}):(s="string"==typeof e?this.filter(e):x(e)&&l(e.item)?d.call(e):t(e),this.forEach(function(e){s.indexOf(e)<0&&n.push(e)})),t(n)},has:function(e){return this.filter(function(){return m(e)?t.contains(this,e):t(this).find(e).size()})},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){var e=this[0];return e&&!m(e)?e:t(e)},last:function(){var e=this[this.length-1];return e&&!m(e)?e:t(e)},find:function(e){var s,o=this;return s=e?"object"==typeof e?t(e).filter(function(){var e=this;return a.some.call(o,function(n){return t.contains(n,e)})}):1==this.length?t(n.qsa(this[0],e)):this.map(function(){return n.qsa(this,e)}):t()},closest:function(e,s){var o=[],i="object"==typeof e&&t(e);return this.each(function(t,a){for(;a&&!(i?i.indexOf(a)>=0:n.matches(a,e));)a=a!==s&&!E(a)&&a.parentNode;a&&o.indexOf(a)<0&&o.push(a)}),t(o)},parents:function(e){for(var n=[],s=this;s.length>0;)s=t.map(s,function(e){return(e=e.parentNode)&&!E(e)&&n.indexOf(e)<0?(n.push(e),e):void 0});return j(n,e)},parent:function(e){return j(y(this.pluck("parentNode")),e)},children:function(e){return j(this.map(function(){return N(this)}),e)},contents:function(){return this.map(function(){return this.contentDocument||d.call(this.childNodes)})},siblings:function(e){return j(this.map(function(e,t){return p.call(N(t.parentNode),function(e){return e!==t})}),e)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(e){return t.map(this,function(t){return t[e]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=V(this.nodeName))})},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){if(n=l(e),this[0]&&!n)var n,s=t(e).get(0),o=s.parentNode||this.length>1;return this.each(function(i){t(this).wrapAll(n?e.call(this,i):o?s.cloneNode(!0):s)})},wrapAll:function(e){if(this[0]){t(this[0]).before(e=t(e));for(var n;(n=e.children()).length;)e=n.first();t(e).append(this)}return this},wrapInner:function(e){var n=l(e);return this.each(function(s){var o=t(this),i=o.contents(),a=n?e.call(this,s):e;i.length?i.wrapAll(a):o.append(a)})},unwrap:function(){return this.parent().each(function(){t(this).replaceWith(t(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var n=t(this);(e===i?"none"==n.css("display"):e)?n.show():n.hide()})},prev:function(e){return t(this.pluck("previousElementSibling")).filter(e||"*")},next:function(e){return t(this.pluck("nextElementSibling")).filter(e||"*")},html:function(e){return 0 in arguments?this.each(function(n){var s=this.innerHTML;t(this).empty().append(r(this,e,n,s))}):0 in this?this[0].innerHTML:null},text:function(e){return 0 in arguments?this.each(function(t){var n=r(this,e,t,this.textContent);this.textContent=n==null?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(e,t){var n;return"string"!=typeof e||1 in arguments?this.each(function(n){if(1===this.nodeType)if(m(e))for(s in e)k(this,s,e[s]);else k(this,e,r(this,t,n,this.getAttribute(e)))}):0 in this&&1==this[0].nodeType&&null!=(n=this[0].getAttribute(e))?n:i},removeAttr:function(e){return this.each(function(){1===this.nodeType&&e.split(" ").forEach(function(e){k(this,e)},this)})},prop:function(e,t){return e=L[e]||e,1 in arguments?this.each(function(n){this[e]=r(this,t,n,this[e])}):this[0]&&this[0][e]},removeProp:function(e){return e=L[e]||e,this.each(function(){delete this[e]})},data:function(e,t){var n="data-"+e.replace(U,"-$1").toLowerCase(),s=1 in arguments?this.attr(n,t):this.attr(n);return null!==s?z(s):i},val:function(e){return 0 in arguments?(e==null&&(e=""),this.each(function(t){this.value=r(this,e,t,this.value)})):this[0]&&(this[0].multiple?t(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(n){if(n)return this.each(function(e){var s=t(this),o=r(this,n,e,s.offset()),i=s.offsetParent().offset(),a={top:o.top-i.top,left:o.left-i.left};"static"==s.css("position")&&(a.position="relative"),s.css(a)});if(!this.length)return null;if(o.documentElement!==this[0]&&!t.contains(o.documentElement,this[0]))return{top:0,left:0};var s=this[0].getBoundingClientRect();return{left:s.left+e.pageXOffset,top:s.top+e.pageYOffset,width:Math.round(s.width),height:Math.round(s.height)}},css:function(e,n){if(arguments.length<2){if(o=this[0],"string"==typeof e){if(!o)return;return o.style[_(e)]||getComputedStyle(o,"").getPropertyValue(e)}if(h(e)){if(!o)return;var o,i,a={},r=getComputedStyle(o,"");return t.each(e,function(e,t){a[t]=o.style[_(t)]||r.getPropertyValue(t)}),a}}if(i="","string"==g(e))n||0===n?i=f(e)+":"+F(e,n):this.each(function(){this.style.removeProperty(f(e))});else for(s in e)e[s]||0===e[s]?i+=f(s)+":"+F(s,e[s])+";":this.each(function(){this.style.removeProperty(f(s))});return this.each(function(){this.style.cssText+=";"+i})},index:function(e){return e?this.indexOf(t(e)[0]):this.parent().children().indexOf(this[0])},hasClass:function(e){return!!e&&a.some.call(this,function(e){return this.test(u(e))},P(e))},addClass:function(e){return e?this.each(function(n){if("className"in this){c=[];var s=u(this),o=r(this,e,n,s);o.split(/\s+/g).forEach(function(e){t(this).hasClass(e)||c.push(e)},this),c.length&&u(this,s+(s?" ":"")+c.join(" "))}}):this},removeClass:function(e){return this.each(function(t){if("className"in this){if(e===i)return u(this,"");c=u(this),r(this,e,t,c).split(/\s+/g).forEach(function(e){c=c.replace(P(e)," ")}),u(this,c.trim())}})},toggleClass:function(e,n){return e?this.each(function(s){var o=t(this),a=r(this,e,s,u(this));a.split(/\s+/g).forEach(function(e){(n===i?!o.hasClass(e):n)?o.addClass(e):o.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var t="scrollTop"in this[0];return e===i?t?this[0].scrollTop:this[0].pageYOffset:this.each(t?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var t="scrollLeft"in this[0];return e===i?t?this[0].scrollLeft:this[0].pageXOffset:this.each(t?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var o=this[0],e=this.offsetParent(),n=this.offset(),s=I.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(t(o).css("margin-top"))||0,n.left-=parseFloat(t(o).css("margin-left"))||0,s.top+=parseFloat(t(e[0]).css("border-top-width"))||0,s.left+=parseFloat(t(e[0]).css("border-left-width"))||0,{top:n.top-s.top,left:n.left-s.left}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||o.body;e&&!I.test(e.nodeName)&&"static"==t(e).css("position");)e=e.offsetParent;return e})}},t.fn.detach=t.fn.remove,["width","height"].forEach(function(e){var n=e.replace(/./,function(e){return e[0].toUpperCase()});t.fn[e]=function(s){var a,o=this[0];return s===i?b(o)?o["inner"+n]:E(o)?o.documentElement["scroll"+n]:(a=this.offset())&&a[e]:this.each(function(n){o=t(this),o.css(e,r(this,s,n,o[e]()))})}}),$.forEach(function(s,a){var r=a%2;t.fn[s]=function(){var s,c,l=t.map(arguments,function(e){var s=[];return c=g(e),"array"==c?(e.forEach(function(e){return e.nodeType!==i?s.push(e):t.zepto.isZ(e)?s=s.concat(e.get()):void(s=s.concat(n.fragment(e)))}),s):"object"==c||e==null?e:n.fragment(e)}),d=this.length>1;return l.length<1?this:this.each(function(n,i){s=r?i:i.parentNode,i=0==a?i.nextSibling:1==a?i.firstChild:2==a?i:null;var c=t.contains(o.documentElement,s);l.forEach(function(n){if(d)n=n.cloneNode(!0);else if(!s)return t(n).remove();s.insertBefore(n,i),c&&T(n,function(t){if(!(null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src)){var n=t.ownerDocument?t.ownerDocument.defaultView:e;n.eval.call(n,t.innerHTML)}})})})},t.fn[r?s+"To":"insert"+(a?"Before":"After")]=function(e){return t(e)[s](this),this}}),n.Z.prototype=M.prototype=t.fn,n.uniq=y,n.deserializeValue=z,t.zepto=n,t}();return e.Zepto=t,void 0===e.$&&(e.$=t),function(t){function o(e){return e._zid||(e._zid=w++)}function y(e,t,n,s){if(t=b(t),t.ns)var i=O(t.ns);return(r[o(e)]||[]).filter(function(e){return e&&(!t.e||e.e==t.e)&&(!t.ns||i.test(e.ns))&&(!n||o(e.fn)===o(n))&&(!s||e.sel==s)})}function b(e){var t=(""+e).split(".");return{e:t[0],ns:t.slice(1).sort().join(" ")}}function O(e){return new RegExp("(?:^| )"+e.replace(" "," .* ?")+"(?: |$)")}function g(e,t){return e.del&&!j&&e.e in c||!!t}function m(e){return _[e]||j&&c[e]||e}function v(e,n,i,c,l,d,u){var h=o(e),f=r[h]||(r[h]=[]);n.split(/\s/).forEach(function(n){if("ready"==n)return t(document).ready(i);var r,o=b(n);o.fn=i,o.sel=l,o.e in _&&(i=function(e){var n=e.relatedTarget;return!n||n!==this&&!t.contains(this,n)?o.fn.apply(this,arguments):void 0}),o.del=d,r=d||i,o.proxy=function(t){if(t=a(t),!t.isImmediatePropagationStopped()){t.data=c;var n=r.apply(e,t._args==s?[t]:[t].concat(t._args));return n===!1&&(t.preventDefault(),t.stopPropagation()),n}},o.i=f.length,f.push(o),"addEventListener"in e&&e.addEventListener(m(o.e),o.proxy,g(o,u))})}function l(e,t,n,s,i){var a=o(e);(t||"").split(/\s/).forEach(function(t){y(e,t,n,s).forEach(function(t){delete r[a][t.i],"removeEventListener"in e&&e.removeEventListener(m(t.e),t.proxy,g(t,i))})})}function a(e,n){return(n||!e.isDefaultPrevented)&&(n||(n=e),t.each(C,function(t,s){var o=n[t];e[t]=function(){return this[s]=f,o&&o.apply(n,arguments)},e[s]=d}),e.timeStamp||(e.timeStamp=Date.now()),(n.defaultPrevented!==s?n.defaultPrevented:"returnValue"in n?n.returnValue===!1:n.getPreventDefault&&n.getPreventDefault())&&(e.isDefaultPrevented=f)),e}function p(e){var t,n={originalEvent:e};for(t in e)x.test(t)||e[t]===s||(n[t]=e[t]);return a(n,e)}var s,w=1,h=Array.prototype.slice,u=t.isFunction,n=function(e){return"string"==typeof e},r={},i={},j="onfocusin"in e,c={focus:"focusin",blur:"focusout"},_={mouseenter:"mouseover",mouseleave:"mouseout"};i.click=i.mousedown=i.mouseup=i.mousemove="MouseEvents",t.event={add:v,remove:l},t.proxy=function(e,s){var a,i=2 in arguments&&h.call(arguments,2);if(u(e))return a=function(){return e.apply(s,i?i.concat(h.call(arguments)):arguments)},a._zid=o(e),a;if(n(s))return i?(i.unshift(e[s],e),t.proxy.apply(null,i)):t.proxy(e[s],e);throw new TypeError("expected function")},t.fn.bind=function(e,t,n){return this.on(e,t,n)},t.fn.unbind=function(e,t){return this.off(e,t)},t.fn.one=function(e,t,n,s){return this.on(e,t,n,s,1)};var f=function(){return!0},d=function(){return!1},x=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,C={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(e,t,n){return this.on(t,e,n)},t.fn.undelegate=function(e,t,n){return this.off(t,e,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,o,i,a,r){var c,f,m=this;return e&&!n(e)?(t.each(e,function(e,t){m.on(e,o,i,t,r)}),m):(n(o)||u(a)||a===!1||(a=i,i=o,o=s),(a===s||i===!1)&&(a=i,i=s),a===!1&&(a=d),m.each(function(n,s){r&&(c=function(e){return l(s,e.type,a),a.apply(this,arguments)}),o&&(f=function(e){var i,n=t(e.target).closest(o,s).get(0);return n&&n!==s?(i=t.extend(p(e),{currentTarget:n,liveFired:s}),(c||a).apply(n,[i].concat(h.call(arguments,1)))):void 0}),v(s,e,a,i,o,f||c)}))},t.fn.off=function(e,o,i){var a=this;return e&&!n(e)?(t.each(e,function(e,t){a.off(e,o,t)}),a):(n(o)||u(i)||i===!1||(i=o,o=s),i===!1&&(i=d),a.each(function(){l(this,e,i,o)}))},t.fn.trigger=function(e,s){return e=n(e)||t.isPlainObject(e)?t.Event(e):a(e),e._args=s,this.each(function(){e.type in c&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,s)})},t.fn.triggerHandler=function(e,s){var o,i;return this.each(function(a,r){o=p(n(e)?t.Event(e):e),o._args=s,o.target=r,t.each(y(r,e.type||e),function(e,t){return i=t.proxy(o),!o.isImmediatePropagationStopped()&&void 0})}),i},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}}),t.Event=function(e,t){n(e)||(t=e,e=t.type);var s,o=document.createEvent(i[e]||"Events"),r=!0;if(t)for(s in t)"bubbles"==s?r=!!t[s]:o[s]=t[s];return o.initEvent(e,r,!0),a(o)}}(t),function(t){function y(e,n,s){var o=t.Event(n);return t(e).trigger(o,s),!o.isDefaultPrevented()}function o(e,t,n,s){return e.global?y(t||i,n,s):void 0}function x(e){e.global&&0===t.active++&&o(e,null,"ajaxStart")}function b(e){e.global&&!--t.active&&o(e,null,"ajaxStop")}function p(e,t){var n=t.context;return t.beforeSend.call(n,e,t)!==!1&&o(t,n,"ajaxBeforeSend",[e,t])!==!1&&void o(t,n,"ajaxSend",[e,t])}function m(e,t,n,s){var i=n.context,a="success";n.success.call(i,e,a,t),s&&s.resolveWith(i,[e,a,t]),o(n,i,"ajaxSuccess",[t,n,e]),f(a,t,n)}function a(e,t,n,s,i){var a=s.context;s.error.call(a,n,t,e),i&&i.rejectWith(a,[n,t,e]),o(s,a,"ajaxError",[n,s,e||t]),f(t,n,s)}function f(e,t,n){var s=n.context;n.complete.call(s,t,e),o(n,s,"ajaxComplete",[t,n]),b(n)}function A(e,t,s){if(s.dataFilter==n)return e;var o=s.context;return s.dataFilter.call(o,e,t)}function n(){}function k(e){return e&&(e=e.split(";",2)[0]),e&&(e==g?"html":e==h?"json":w.test(e)?"script":O.test(e)&&"xml")||"text"}function u(e,t){return""==t?e:(e+"&"+t).replace(/[&?]{1,2}/,"?")}function C(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()&&"jsonp"!=e.dataType||(e.url=u(e.url,e.data),e.data=void 0)}function r(e,n,s,o){return t.isFunction(n)&&(o=s,s=n,n=void 0),t.isFunction(s)||(o=s,s=void 0),{url:e,data:n,success:s,dataType:o}}function v(e,n,s,o){var i,a=t.isArray(n),r=t.isPlainObject(n);t.each(n,function(n,c){i=t.type(c),o&&(n=s?o:o+"["+(r||"object"==i||"array"==i?n:"")+"]"),!o&&a?e.add(c.name,c.value):"array"==i||!s&&"object"==i?v(e,c,s,n):e.add(n,c)})}var s,c,l,j=+new Date,i=e.document,_=/)<[^<]*)*<\/script>/gi,w=/^(?:text|application)\/javascript/i,O=/^(?:text|application)\/xml/i,h="application/json",g="text/html",E=/^\s*$/,d=i.createElement("a");d.href=e.location.href,t.active=0,t.ajaxJSONP=function(n,s){if(!("type"in n))return t.ajax(n);var o,f,u=n.jsonpCallback,l=(t.isFunction(u)?u():u)||"Zepto"+j++,c=i.createElement("script"),d=e[l],h=function(e){t(c).triggerHandler("error",e||"abort")},r={abort:h};return s&&s.promise(r),t(c).on("load error",function(i,u){clearTimeout(f),t(c).off().remove(),"error"!=i.type&&o?m(o[0],r,n,s):a(null,u||"error",r,n,s),e[l]=d,o&&t.isFunction(d)&&d(o[0]),d=o=void 0}),p(r,n)===!1?(h("abort"),r):(e[l]=function(){o=arguments},c.src=n.url.replace(/\?(.+)=\?/,"?$1="+l),i.head.appendChild(c),n.timeout>0&&(f=setTimeout(function(){h("timeout")},n.timeout)),r)},t.ajaxSettings={type:"GET",beforeSend:n,success:n,error:n,complete:n,context:null,global:!0,xhr:function(){return new e.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:h,xml:"application/xml, text/xml",html:g,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0,dataFilter:n},t.ajax=function(o){r=t.extend({},o||{}),f=t.Deferred&&t.Deferred();for(c in t.ajaxSettings)void 0===r[c]&&(r[c]=t.ajaxSettings[c]);if(x(r),r.crossDomain||(v=i.createElement("a"),v.href=r.url,v.href=v.href,r.crossDomain=d.protocol+"//"+d.host!=v.protocol+"//"+v.host),r.url||(r.url=e.location.toString()),(w=r.url.indexOf("#"))>-1&&(r.url=r.url.slice(0,w)),C(r),h=r.dataType,y=/\?.+=\?/.test(r.url),y&&(h="jsonp"),r.cache!==!1&&(o&&o.cache===!0||"script"!=h&&"jsonp"!=h)||(r.url=u(r.url,"_="+Date.now())),"jsonp"==h)return y||(r.url=u(r.url,r.jsonp?r.jsonp+"=?":r.jsonp===!1?"":"callback=?")),t.ajaxJSONP(r,f);var r,h,f,v,y,_,w,O,g=r.accepts[h],j={},b=function(e,t){j[e.toLowerCase()]=[e,t]},S=/^([\w-]+:)\/\//.test(r.url)?RegExp.$1:e.location.protocol,l=r.xhr(),M=l.setRequestHeader;if(f&&f.promise(l),r.crossDomain||b("X-Requested-With","XMLHttpRequest"),b("Accept",g||"*/*"),(g=r.mimeType||g)&&(g.indexOf(",")>-1&&(g=g.split(",",2)[0]),l.overrideMimeType&&l.overrideMimeType(g)),(r.contentType||r.contentType!==!1&&r.data&&"GET"!=r.type.toUpperCase())&&b("Content-Type",r.contentType||"application/x-www-form-urlencoded"),r.headers)for(s in r.headers)b(s,r.headers[s]);if(l.setRequestHeader=b,l.onreadystatechange=function(){if(4==l.readyState){l.onreadystatechange=n,clearTimeout(_);var e,s=!1;if(l.status>=200&&l.status<300||304==l.status||0==l.status&&"file:"==S){if(h=h||k(r.mimeType||l.getResponseHeader("content-type")),"arraybuffer"==l.responseType||"blob"==l.responseType)e=l.response;else{e=l.responseText;try{e=A(e,h,r),"script"==h?(1,eval)(e):"xml"==h?e=l.responseXML:"json"==h&&(e=E.test(e)?null:t.parseJSON(e))}catch(e){s=e}if(s)return a(s,"parsererror",l,r,f)}m(e,l,r,f)}else a(l.statusText||null,l.status?"error":"abort",l,r,f)}},p(l,r)===!1)return l.abort(),a(null,"abort",l,r,f),l;if(O=!("async"in r)||r.async,l.open(r.type,r.url,O,r.username,r.password),r.xhrFields)for(s in r.xhrFields)l[s]=r.xhrFields[s];for(s in j)M.apply(l,j[s]);return r.timeout>0&&(_=setTimeout(function(){l.onreadystatechange=n,l.abort(),a(null,"timeout",l,r,f)},r.timeout)),l.send(r.data?r.data:null),l},t.get=function(){return t.ajax(r.apply(null,arguments))},t.post=function(){var e=r.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=r.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,s){if(!this.length)return this;var i,c=this,a=e.split(/\s/),o=r(e,n,s),l=o.success;return a.length>1&&(o.url=a[0],i=a[1]),o.success=function(e){c.html(i?t("
    ").html(e.replace(_,"")).find(i):e),l&&l.apply(c,arguments)},t.ajax(o),this},l=encodeURIComponent,t.param=function(e,n){var s=[];return s.add=function(e,n){t.isFunction(n)&&(n=n()),n==null&&(n=""),this.push(l(e)+"="+l(n))},v(s,e,n),s.join("&").replace(/%20/g,"+")}}(t),function(e){e.fn.serializeArray=function(){var t,n,s=[],o=function(e){return e.forEach?e.forEach(o):void s.push({name:n,value:e})};return this[0]&&e.each(this[0].elements,function(s,i){t=i.type,n=i.name,n&&"fieldset"!=i.nodeName.toLowerCase()&&!i.disabled&&"submit"!=t&&"reset"!=t&&"button"!=t&&"file"!=t&&("radio"!=t&&"checkbox"!=t||i.checked)&&o(e(i).val())}),s},e.fn.serialize=function(){var e=[];return this.serializeArray().forEach(function(t){e.push(encodeURIComponent(t.name)+"="+encodeURIComponent(t.value))}),e.join("&")},e.fn.submit=function(t){if(0 in arguments)this.bind("submit",t);else if(this.length){var n=e.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(t),function(){try{getComputedStyle(void 0)}catch{var t=getComputedStyle;e.getComputedStyle=function(e,n){try{return t(e,n)}catch{return null}}}}(),t}) )====="; -const uint8_t JS_ZEPTO_GZIP[9713] PROGMEM = { 31,139,8,0,74,64,43,105,2,255,173,125,107,119,219,182,150,246,95,145,56,25,45,178,130,101,59,243,126,121,169,32,92,105,154,180,61,77,156,156,218,61,109,35,171,93,148,4,217,76,40,82,37,41,95,98,105,126,251,60,123,3,32,65,137,78,115,102,205,89,61,22,9,226,142,125,121,246,198,6,210,95,110,178,121,149,228,153,95,9,21,60,120,246,213,147,178,186,95,171,124,217,91,168,101,146,169,193,64,255,142,226,213,34,210,143,126,93,52,120,40,84,181,41,178,158,242,171,96,23,132,252,227,87,215,73,41,154,234,131,135,155,184,232,41,233,148,178,143,189,39,244,217,212,145,109,210,20,141,71,231,85,145,100,87,248,16,158,79,94,142,230,113,154,226,121,186,221,122,249,236,163,154,87,222,174,46,253,186,41,237,246,159,42,109,50,125,218,107,162,47,171,193,160,66,67,163,219,36,91,228,183,77,206,183,157,57,71,89,190,80,23,152,18,42,242,221,187,151,191,188,125,117,118,241,231,217,187,239,94,53,37,127,118,58,98,122,185,223,141,15,78,229,148,125,48,232,127,226,159,119,156,127,116,165,170,247,69,94,229,52,249,239,150,248,34,165,249,178,182,201,77,101,159,155,89,237,247,209,73,47,85,217,85,117,237,37,89,143,187,172,95,69,38,139,17,21,68,238,241,254,52,245,101,86,119,193,247,226,162,136,239,209,231,108,187,61,145,82,42,204,118,182,89,205,84,209,144,3,40,65,61,63,193,159,163,211,30,181,227,140,237,47,103,108,177,89,177,22,1,180,39,117,231,20,253,193,249,108,251,253,252,36,42,70,203,108,52,207,179,121,92,141,226,245,58,189,247,39,83,1,138,168,154,146,63,182,74,22,106,157,198,115,229,31,135,225,241,149,240,142,189,160,73,242,39,47,142,62,76,135,129,254,157,196,71,159,167,1,101,122,114,250,231,147,167,237,140,248,118,185,152,154,156,221,153,254,164,212,35,164,84,249,155,252,86,21,47,227,82,249,206,136,254,229,246,139,102,42,141,210,73,53,13,233,143,204,212,109,239,103,117,245,234,110,237,123,254,31,219,203,203,50,240,134,213,208,243,241,180,125,18,120,78,61,127,106,198,52,235,102,86,163,95,175,198,118,123,61,161,41,152,70,42,84,67,111,125,231,240,197,183,53,121,136,204,44,124,111,142,230,183,91,31,108,56,154,23,42,174,212,171,84,173,84,86,33,171,88,142,102,249,226,158,38,90,101,139,151,215,73,186,240,85,0,234,1,77,190,204,87,235,77,165,22,231,213,125,170,124,37,60,12,92,147,234,90,21,213,253,191,226,116,163,124,111,145,148,152,157,123,47,16,106,180,142,11,84,123,6,166,193,156,173,242,27,85,87,232,101,121,166,136,200,64,113,153,244,102,105,62,255,132,34,115,158,24,253,219,140,225,23,135,165,230,84,3,106,101,250,142,54,134,194,70,54,57,8,139,209,42,94,219,20,106,186,236,34,191,83,226,96,203,205,81,21,222,228,201,162,119,226,82,227,111,122,206,105,234,50,81,64,22,89,146,12,79,198,203,188,64,175,79,198,197,243,108,156,13,135,1,73,185,73,54,149,21,254,140,233,197,100,149,133,224,183,82,165,224,222,188,96,102,114,22,231,31,104,163,16,9,132,32,85,72,4,82,4,9,102,228,131,95,160,166,96,187,125,163,31,130,200,38,129,79,33,61,244,19,255,202,135,93,32,222,212,31,223,180,63,78,166,129,248,7,63,10,202,129,166,48,65,120,232,131,175,109,30,46,218,244,233,87,151,214,140,32,86,81,65,50,152,254,140,150,73,90,169,2,107,216,20,249,157,138,8,204,82,93,236,53,190,71,202,178,63,125,9,29,145,245,189,206,31,60,232,218,179,168,50,228,241,162,130,188,159,129,198,80,60,172,48,109,149,147,130,2,77,21,63,81,181,122,117,176,54,163,121,26,151,229,89,188,226,249,21,137,44,6,131,98,52,3,55,130,40,105,172,150,242,51,18,104,81,18,213,31,195,130,151,222,119,146,100,22,58,21,74,183,213,127,18,5,85,197,125,205,211,145,87,21,27,162,227,10,252,228,45,227,180,228,151,168,127,26,122,52,56,126,161,135,144,56,155,223,134,85,120,252,199,228,114,114,249,48,61,30,85,170,36,174,67,227,96,149,82,253,227,252,221,25,77,52,75,55,200,187,249,181,223,44,69,181,107,58,82,85,122,149,88,156,19,241,48,153,202,19,193,147,81,83,190,33,195,134,78,171,22,99,16,69,96,29,141,116,32,74,20,239,196,123,145,131,108,68,41,115,35,116,69,140,71,189,234,98,131,199,50,77,230,74,44,209,208,34,159,111,72,110,136,57,168,80,164,244,231,90,62,120,243,60,221,172,178,163,121,190,201,42,47,60,21,250,189,196,147,183,204,179,234,232,86,37,87,215,252,197,75,1,33,142,174,235,247,124,29,207,147,234,158,190,124,62,130,70,86,119,148,250,57,207,87,225,233,78,172,229,241,31,151,229,55,207,252,203,219,225,182,31,76,254,120,62,253,230,249,177,88,32,153,211,2,124,188,60,142,158,251,81,248,236,242,248,242,244,249,54,120,114,44,86,242,248,153,31,245,33,137,226,237,172,216,162,51,91,5,249,185,216,94,23,219,100,117,181,77,50,8,181,45,58,242,105,187,82,85,188,197,66,196,171,192,247,39,151,183,33,20,5,183,18,92,30,63,63,190,74,196,21,154,66,237,36,33,183,215,213,42,69,253,137,184,145,199,141,142,184,151,19,239,38,78,61,225,205,203,18,127,41,23,126,42,117,87,225,103,17,87,49,126,110,147,5,20,52,62,234,129,11,47,95,46,65,235,222,84,220,161,120,188,196,76,35,113,13,53,3,25,140,167,153,194,18,43,60,104,169,140,124,179,3,209,237,85,241,44,85,16,161,175,58,62,21,72,255,40,65,185,225,225,55,26,12,62,243,111,56,131,188,82,241,130,126,151,121,94,209,239,34,124,133,68,252,241,190,241,14,139,47,146,27,40,42,113,43,143,231,208,14,169,170,212,54,205,227,5,166,55,201,48,140,24,228,122,163,142,197,133,36,154,191,61,154,126,131,21,57,39,66,121,41,207,161,53,53,190,19,103,148,242,66,118,215,46,190,67,207,227,25,147,67,72,195,252,145,9,67,32,235,34,207,210,251,208,163,167,119,120,242,136,192,10,47,228,89,127,157,211,36,50,31,35,165,230,103,79,172,226,59,35,200,61,60,190,209,104,73,204,85,154,150,68,126,217,21,114,227,229,92,191,232,47,235,120,177,168,191,188,215,47,232,65,126,139,34,25,58,144,223,34,123,230,17,169,235,20,60,232,148,77,169,160,143,66,15,191,111,227,181,39,150,160,46,53,203,139,133,42,66,143,95,190,229,23,42,139,25,195,127,139,132,151,146,234,224,132,87,38,193,219,137,55,242,5,129,179,81,82,242,239,118,219,161,217,8,103,148,85,156,205,9,26,112,182,157,149,126,103,80,141,144,41,170,148,109,192,159,44,253,62,36,103,31,66,236,180,239,42,198,64,23,236,159,142,181,124,169,108,5,219,45,32,179,154,125,74,170,183,58,225,220,104,56,250,176,202,63,119,164,230,93,57,219,73,99,116,36,11,172,168,182,218,67,5,220,58,164,19,218,111,16,5,196,84,63,177,35,203,161,204,18,249,34,104,225,22,160,153,66,254,247,217,232,175,50,246,19,84,51,98,18,98,64,45,80,224,69,11,147,80,230,157,120,39,187,102,180,1,124,71,67,127,20,68,224,243,246,4,90,203,7,42,175,202,127,65,23,12,18,12,161,236,193,29,239,187,106,61,4,199,172,18,235,54,109,103,21,208,127,70,181,156,141,64,46,87,196,24,238,242,101,4,31,104,126,114,81,138,216,206,199,194,106,22,204,75,46,11,127,159,179,52,238,28,61,57,13,2,204,5,116,87,61,70,66,5,178,25,241,74,120,207,158,156,62,127,118,252,228,233,115,47,32,32,168,145,67,38,215,77,19,77,109,130,65,204,71,84,8,80,247,13,120,55,150,31,73,203,196,24,78,166,138,31,46,222,190,145,30,80,46,22,175,24,169,24,250,205,32,184,216,81,75,129,112,204,195,184,189,74,64,83,48,46,3,241,193,79,104,108,37,198,150,99,229,116,93,201,222,178,220,59,43,254,252,232,52,42,129,42,9,89,148,163,24,176,130,243,80,93,57,205,237,7,217,185,164,4,210,53,18,164,76,73,249,65,254,29,203,161,42,206,154,37,237,117,210,171,148,16,141,247,171,160,230,200,15,126,64,73,94,201,146,176,49,177,170,0,169,180,18,72,95,249,0,204,207,232,219,228,100,58,24,212,51,31,36,178,33,10,180,81,175,3,90,19,149,36,220,49,86,128,36,196,224,25,193,32,219,44,192,38,1,185,140,200,126,76,149,16,139,44,97,84,237,108,118,50,167,155,220,75,178,121,226,197,61,103,95,250,60,17,78,134,138,18,223,232,14,145,253,199,141,246,144,246,179,78,195,180,187,221,161,47,143,141,193,14,247,255,96,40,59,103,142,19,74,128,52,232,92,99,189,88,102,145,65,74,119,144,186,11,121,224,180,0,237,91,98,45,174,24,247,148,226,180,54,166,103,121,158,170,216,113,153,192,248,134,133,85,81,231,71,229,117,178,172,124,98,159,17,20,212,43,162,213,186,122,16,198,63,152,143,137,24,69,69,180,131,33,236,245,212,90,33,222,127,160,1,5,42,128,48,236,3,228,122,35,251,14,134,218,110,19,8,32,134,103,254,41,0,55,48,220,133,158,230,220,118,179,199,206,5,35,5,190,189,255,113,49,24,148,128,202,145,79,178,189,253,5,133,130,8,188,27,78,166,97,91,43,12,6,255,127,239,253,180,157,33,66,17,51,85,168,157,250,233,86,94,126,123,255,210,106,99,64,241,199,62,161,253,112,239,219,69,124,197,95,216,56,248,107,163,138,123,171,57,94,160,41,21,240,242,145,214,140,193,143,64,19,22,159,154,26,234,79,81,39,25,84,218,40,106,178,145,141,19,182,179,18,212,30,43,94,89,215,186,13,198,196,173,10,178,209,114,118,255,100,108,117,39,117,138,104,66,62,193,67,82,190,54,21,202,215,252,250,43,59,158,228,39,126,97,117,45,223,240,243,251,20,125,208,110,31,249,129,83,94,173,214,213,189,73,57,160,78,182,2,148,246,198,212,90,219,246,101,199,229,207,48,25,69,50,63,44,43,207,216,163,64,58,48,171,201,119,188,239,253,170,73,156,221,69,181,196,234,147,163,200,218,198,100,130,162,161,248,12,115,55,24,96,176,196,89,180,96,64,23,60,17,73,166,199,232,78,171,163,246,114,43,177,53,245,40,65,130,147,87,21,235,158,146,82,149,239,104,58,33,36,228,35,78,37,178,177,60,47,212,200,178,113,152,113,25,235,65,164,26,55,155,100,65,6,211,168,220,172,215,121,81,17,4,37,230,95,23,250,41,203,243,181,235,167,164,52,32,185,78,198,76,68,14,230,156,76,73,14,146,63,46,160,197,72,228,201,56,121,102,103,102,156,192,254,202,36,12,182,73,66,118,184,208,243,154,145,161,186,222,148,215,144,3,90,56,82,209,92,175,163,206,158,131,185,59,179,155,65,255,224,23,90,110,65,172,116,139,141,186,91,15,214,113,145,53,253,34,187,144,136,215,204,13,105,235,76,176,19,1,228,220,63,173,101,252,174,238,93,161,123,231,22,42,166,176,30,233,103,175,80,45,118,168,131,87,0,21,221,18,56,110,176,222,78,84,35,50,131,65,97,142,81,44,233,143,126,173,181,189,247,173,166,199,158,166,222,158,94,241,158,229,47,141,125,123,223,1,245,24,55,91,79,243,78,239,85,81,192,54,24,149,235,20,82,223,235,121,193,30,108,56,159,120,19,237,185,237,121,67,53,244,166,222,84,170,61,23,31,245,98,153,201,7,200,10,240,193,134,100,80,8,69,35,172,139,72,24,57,31,230,86,226,195,94,89,108,230,10,9,250,65,208,50,226,141,126,68,9,2,196,51,253,8,234,23,231,211,15,194,112,68,88,243,134,208,118,121,232,16,39,45,52,115,18,17,33,173,81,133,69,174,158,213,138,202,46,118,133,197,86,178,78,38,197,156,145,203,77,107,116,246,217,84,57,79,28,192,107,237,53,41,141,223,213,232,125,194,96,17,251,181,154,188,236,231,39,86,37,99,167,131,51,65,53,218,47,215,218,15,104,35,94,195,242,90,19,162,42,214,100,225,225,6,67,1,208,168,59,196,181,213,163,97,249,79,48,165,171,3,183,90,19,46,53,144,57,175,64,22,144,80,218,219,25,85,96,33,216,182,176,235,94,221,160,166,55,73,9,8,0,129,232,125,247,238,237,75,109,133,189,97,171,214,115,161,105,197,140,7,106,103,39,223,78,64,87,117,181,92,177,207,201,122,42,105,242,120,182,38,213,115,121,18,85,97,53,116,28,134,83,144,191,158,211,142,113,115,62,52,226,211,220,36,159,213,99,89,116,85,52,23,4,156,31,203,165,90,40,68,251,226,32,231,233,83,163,216,160,14,219,9,93,104,124,39,168,174,174,161,231,35,117,3,45,221,12,253,43,150,190,79,2,100,103,231,84,251,157,186,234,38,132,170,169,48,203,43,191,121,32,15,167,31,119,54,233,32,62,99,121,146,134,209,196,134,181,15,59,101,83,225,191,215,181,107,174,243,181,221,16,80,153,164,236,92,239,102,13,104,143,164,105,139,87,253,100,202,80,20,93,13,247,245,112,102,52,200,107,54,170,244,164,48,212,237,88,47,244,175,114,198,72,10,54,211,138,193,44,138,70,203,108,114,200,67,227,66,79,156,113,229,86,65,248,153,155,68,195,35,168,235,85,80,83,171,246,249,106,151,246,1,114,69,183,19,199,194,122,134,193,218,62,16,85,56,0,125,39,174,227,199,231,202,116,227,144,78,127,214,174,209,26,143,241,80,117,159,104,144,22,246,143,136,25,124,77,136,127,117,180,114,116,74,192,76,15,89,163,227,74,179,160,125,19,195,106,120,26,16,177,21,229,161,88,149,102,221,106,93,6,140,195,61,171,120,114,118,2,136,245,177,82,14,45,28,157,62,94,3,13,36,236,50,56,168,188,45,165,8,216,212,59,138,245,74,186,78,249,206,78,212,62,18,168,151,149,209,216,89,23,87,56,51,173,217,98,23,132,180,79,210,140,1,141,105,3,171,33,101,51,147,36,219,15,23,176,201,204,245,97,180,24,236,60,205,75,229,206,88,3,85,200,241,12,114,61,24,36,80,79,179,111,217,37,190,10,64,36,13,206,115,204,173,159,68,13,97,230,1,228,108,216,112,97,78,157,30,7,185,204,53,222,239,191,69,150,193,32,119,132,28,85,146,57,21,56,148,157,179,234,103,146,214,249,219,100,109,93,241,138,70,98,150,47,171,133,193,56,160,93,88,154,170,172,99,79,138,173,125,199,166,224,174,17,91,170,22,147,69,64,93,134,201,136,23,236,198,149,157,156,95,245,218,153,222,117,241,220,175,86,160,173,211,205,252,147,239,53,77,146,131,135,202,218,205,180,238,210,95,88,239,95,172,244,209,213,104,205,89,62,166,129,186,235,176,178,150,138,126,103,12,184,237,214,81,159,174,167,104,199,170,112,150,66,186,149,95,219,219,14,224,249,139,223,178,230,186,54,12,217,58,220,217,161,41,50,197,190,86,179,114,162,235,255,162,94,243,228,119,34,165,46,156,212,184,24,105,99,148,6,125,157,223,126,109,251,118,175,85,139,60,218,188,29,153,77,90,114,246,29,36,162,131,205,254,236,193,182,47,119,236,111,118,126,187,171,253,214,42,233,133,34,43,62,224,197,51,126,198,95,147,234,250,81,253,160,183,63,72,204,105,240,65,66,228,182,216,195,153,154,235,94,27,15,149,145,79,96,33,21,104,201,194,98,146,192,211,73,0,17,147,57,203,13,235,213,209,216,167,95,144,50,144,49,86,245,80,251,236,116,136,92,53,156,7,97,18,101,35,72,184,76,81,213,126,255,36,8,51,30,168,41,208,234,115,211,81,91,49,61,214,227,229,62,55,219,123,106,76,254,164,122,167,219,15,2,139,234,131,10,246,9,43,47,31,114,128,6,170,221,224,134,27,157,1,233,126,252,72,180,248,216,236,61,62,124,235,194,148,102,18,68,46,19,203,169,165,31,136,82,182,103,35,131,110,24,231,86,117,228,245,156,1,0,39,182,135,154,133,55,89,123,61,219,235,175,151,202,15,14,8,219,46,134,67,68,190,77,115,166,169,6,147,188,46,255,27,105,228,174,39,245,247,58,89,60,90,207,188,44,27,86,48,124,68,86,109,126,117,149,170,71,105,124,127,104,53,209,210,96,198,190,182,33,234,160,137,118,35,180,95,28,145,147,49,191,133,37,150,141,168,119,26,14,173,11,117,211,109,141,181,20,0,114,37,249,166,52,110,178,115,45,79,161,12,106,128,184,221,146,51,31,168,85,221,85,127,95,31,229,250,251,186,104,143,174,171,174,19,242,46,212,54,93,212,141,125,205,118,84,75,176,142,237,210,179,112,246,107,38,248,221,0,16,118,52,17,10,225,22,40,45,50,44,215,212,17,146,21,132,197,122,100,156,255,70,223,156,86,181,169,140,42,141,41,105,240,180,147,34,109,32,132,231,133,158,55,204,14,58,105,167,214,41,3,17,252,49,79,50,31,178,216,244,154,54,53,92,84,85,216,45,7,227,162,174,29,118,22,86,109,183,167,95,51,32,136,41,70,208,86,122,243,206,160,245,238,215,145,43,85,240,189,97,123,237,61,210,222,172,239,237,52,152,249,40,236,124,92,185,177,29,85,208,94,152,193,192,224,78,90,156,198,205,172,77,84,63,169,63,237,87,18,37,161,178,118,239,139,246,108,124,153,221,14,198,71,246,87,227,32,234,180,125,190,175,129,173,168,13,225,53,52,98,183,25,89,201,239,56,234,170,18,127,63,231,153,198,12,228,152,49,211,70,166,177,73,162,137,170,213,155,121,32,80,96,134,253,190,221,131,142,246,59,39,96,161,104,239,190,103,218,160,161,80,172,66,120,184,129,85,72,142,98,56,242,134,205,38,225,141,240,142,158,156,238,135,193,65,205,118,13,149,183,222,10,86,14,205,107,208,246,54,203,36,250,167,159,80,204,144,184,137,191,70,74,248,198,243,203,187,151,132,95,30,49,153,41,245,134,208,202,1,127,114,42,185,2,154,201,181,26,121,180,218,164,85,178,78,57,10,202,42,105,182,61,189,124,205,1,148,193,227,54,172,19,255,165,22,187,192,50,50,55,231,213,141,217,230,133,142,4,9,247,216,175,222,237,234,24,86,181,167,44,48,237,53,209,96,213,70,186,70,218,124,202,165,125,123,111,53,170,253,8,221,253,80,129,112,18,44,225,250,40,167,191,34,85,203,10,9,244,115,148,243,207,110,12,25,18,87,201,188,209,65,235,188,76,244,20,208,110,236,200,190,74,175,80,105,76,177,31,30,109,122,81,86,118,74,240,230,103,131,182,2,103,213,233,219,193,150,77,191,22,3,180,143,212,216,167,7,25,133,93,24,83,37,143,230,68,143,225,100,55,110,244,133,17,27,223,230,155,140,130,56,94,166,9,74,255,140,213,241,45,13,62,112,161,140,71,60,36,139,236,74,253,246,142,231,73,80,165,25,77,142,73,255,221,164,115,64,79,248,54,174,174,71,5,85,236,103,35,78,10,132,14,241,105,127,210,105,193,14,128,164,44,195,131,80,140,125,167,237,179,167,22,119,89,71,68,247,126,49,135,113,36,102,252,150,159,18,13,194,39,239,116,220,244,1,156,79,186,177,60,122,103,183,116,219,213,114,164,1,109,144,148,178,187,174,113,109,198,48,153,86,123,190,245,124,162,166,178,233,148,162,78,149,135,237,243,94,104,190,227,208,180,24,12,221,30,50,69,83,7,202,132,39,71,177,164,216,215,33,52,231,80,199,201,134,143,91,97,218,34,105,36,37,181,232,83,113,235,49,235,57,250,140,212,152,110,132,158,162,120,136,134,50,219,144,209,114,67,111,236,253,251,237,49,14,25,255,173,205,168,75,131,72,46,160,246,135,18,77,13,99,18,205,58,20,170,75,200,71,6,18,105,119,1,153,2,196,19,97,27,70,55,208,184,113,44,24,238,97,71,29,111,193,118,87,239,250,144,14,66,251,221,241,176,179,253,39,158,88,241,47,118,202,210,254,95,188,88,124,161,242,71,209,135,19,189,101,0,2,146,201,89,170,217,250,167,218,28,105,65,189,113,110,52,248,241,101,57,60,190,234,86,226,22,51,218,97,35,109,187,77,106,47,166,48,34,213,176,226,96,240,147,193,56,67,31,96,173,71,104,45,24,38,6,136,1,40,128,169,245,108,91,117,252,248,112,59,213,254,99,131,93,106,11,192,202,203,159,106,51,124,156,212,195,175,7,79,33,65,95,49,244,4,124,104,53,56,45,145,160,1,128,237,76,229,137,9,197,160,33,89,243,101,127,52,174,15,191,107,249,108,104,82,173,155,202,102,137,18,211,16,44,220,242,43,122,235,235,208,221,126,238,46,21,108,107,144,164,165,42,74,200,71,206,188,251,198,137,169,23,164,156,23,121,154,94,236,193,35,99,131,91,133,100,116,169,87,103,182,139,224,58,128,185,39,89,109,61,52,21,219,20,71,55,56,194,33,139,14,24,220,150,148,213,46,124,236,163,239,188,253,166,253,178,118,48,111,72,83,125,245,104,40,247,87,15,135,171,118,199,243,219,87,143,135,138,126,121,64,194,121,255,93,15,200,34,7,183,84,215,104,106,119,188,80,26,177,183,17,141,113,186,54,192,38,145,87,90,24,41,107,75,176,243,41,106,3,132,80,213,37,106,36,202,80,72,242,158,243,235,52,215,59,63,129,70,61,43,232,232,36,59,66,6,176,60,84,132,208,104,225,203,185,41,135,201,206,48,107,216,206,173,24,86,114,1,29,30,74,213,31,233,80,97,91,138,33,201,223,21,227,158,184,229,30,106,216,114,148,52,200,206,116,89,87,186,219,89,232,249,126,207,111,252,69,39,137,117,77,85,135,75,177,221,234,189,213,49,109,118,152,37,168,154,249,31,12,26,40,217,204,84,131,38,201,167,85,181,42,108,66,9,136,92,248,80,208,66,85,20,243,192,207,154,237,197,100,63,184,122,218,41,77,108,56,107,29,216,57,58,238,84,101,68,51,173,136,78,82,219,104,142,76,179,3,41,7,233,182,199,90,9,179,214,39,96,223,168,156,120,236,101,128,117,63,13,223,114,202,62,134,157,24,62,229,44,126,222,38,100,218,162,160,163,67,221,74,178,108,36,44,207,100,109,111,39,80,133,28,246,200,22,54,68,185,184,235,8,65,171,99,72,101,242,159,79,245,0,179,169,220,119,71,137,24,35,212,238,233,38,2,110,127,86,89,47,215,167,45,158,176,94,169,79,148,69,32,129,78,45,108,247,129,173,249,221,231,99,26,86,13,135,197,232,179,90,87,185,9,59,140,18,237,119,164,221,216,74,111,136,7,230,20,71,243,193,13,42,228,177,99,140,97,179,179,148,109,183,54,88,168,10,91,121,145,115,35,59,61,194,53,32,63,101,89,217,185,20,164,17,99,153,71,89,232,186,152,33,149,78,200,168,205,70,228,27,51,78,49,218,91,163,36,118,220,242,134,122,248,148,83,216,157,195,216,102,46,191,104,243,196,164,58,15,230,83,99,166,77,64,33,106,45,207,101,29,124,217,143,155,232,73,213,120,213,199,20,165,91,2,162,126,171,29,208,52,24,49,31,12,42,8,79,177,87,125,223,88,220,170,102,233,237,214,59,127,249,243,143,239,47,188,190,155,220,102,159,237,86,113,44,28,216,159,92,89,199,31,227,155,24,68,159,172,43,93,138,190,81,158,178,152,7,150,75,33,154,111,193,56,118,47,40,218,123,135,20,88,198,48,208,255,149,168,219,176,26,103,35,5,91,218,238,114,170,198,181,199,56,70,239,57,16,125,99,137,134,222,69,14,4,167,199,236,13,253,36,242,244,200,145,248,130,15,97,4,83,217,237,237,12,192,31,134,225,24,92,128,104,206,70,31,154,104,51,249,155,243,76,237,225,243,38,75,254,146,239,241,176,80,104,48,137,211,228,179,98,107,71,254,83,24,2,151,103,162,216,249,78,176,230,7,78,85,66,239,242,145,37,50,122,66,142,137,209,19,233,110,83,41,231,24,237,117,139,161,254,252,156,44,56,188,155,30,36,197,122,53,135,136,214,205,177,45,142,94,228,131,121,88,185,50,208,140,188,242,249,197,244,198,143,39,215,218,136,156,76,15,253,29,78,155,232,95,95,141,104,91,101,164,104,77,73,216,83,74,86,18,178,182,138,160,12,56,25,124,120,77,66,33,163,192,49,138,106,227,84,62,28,80,42,208,87,17,184,103,242,22,205,94,133,79,97,228,22,230,122,163,218,240,124,80,33,199,195,102,101,216,196,194,114,96,149,31,52,56,221,57,74,181,114,227,7,221,35,153,81,248,199,182,23,184,126,46,148,4,72,30,125,211,139,128,250,41,67,111,239,156,230,85,219,229,135,149,78,161,253,150,228,76,228,208,204,249,118,219,239,59,7,225,110,156,182,83,118,207,33,175,62,157,233,156,110,189,215,97,254,130,34,252,55,98,169,103,96,46,121,7,120,45,227,201,156,14,115,210,15,29,247,3,3,212,96,250,56,232,12,55,38,35,131,163,160,72,14,6,245,169,109,43,93,108,172,119,162,207,93,196,160,139,140,100,195,50,147,137,136,121,89,74,252,242,128,82,62,119,209,173,89,211,184,82,139,11,104,10,101,117,55,173,118,102,92,58,180,53,183,23,217,1,48,79,173,116,199,118,213,27,221,104,26,211,42,55,70,64,110,64,84,232,28,184,237,206,137,42,53,110,51,121,65,36,141,134,146,242,199,213,74,45,18,116,137,204,240,248,42,166,108,231,0,67,107,181,128,250,120,80,35,242,106,202,220,152,148,115,219,9,240,195,159,232,68,9,74,140,38,106,26,226,255,86,195,152,47,65,224,30,46,236,159,82,112,240,136,182,84,104,255,90,139,38,159,216,170,68,99,78,219,28,13,14,32,3,153,43,215,246,144,246,90,107,188,152,116,230,94,44,90,125,158,251,32,72,237,198,199,98,208,180,240,28,136,43,63,6,141,180,216,230,206,50,122,163,231,137,120,198,62,31,151,12,190,76,48,152,202,70,80,116,126,54,190,227,120,146,79,39,152,234,169,240,180,70,233,238,127,199,55,12,129,196,4,29,24,54,67,80,116,82,117,215,26,196,133,107,110,250,25,29,87,194,178,154,25,126,175,231,91,45,72,124,100,124,252,164,162,250,88,59,223,186,81,103,118,83,68,102,88,202,113,69,238,168,110,172,59,41,166,114,38,146,193,32,49,180,144,57,212,184,227,96,87,249,138,182,22,71,85,178,82,231,85,188,90,179,160,173,223,36,133,158,66,15,222,210,82,251,153,213,83,117,87,251,68,83,135,201,116,156,141,58,193,170,129,102,45,139,8,221,214,73,76,100,64,23,236,51,115,169,140,98,84,14,18,25,56,250,93,51,37,103,20,237,209,204,239,185,27,119,244,144,23,9,108,150,56,229,117,10,171,157,27,94,254,209,24,84,208,230,60,127,146,142,30,248,52,159,146,222,107,126,184,32,39,153,62,94,90,160,206,83,216,98,250,248,90,19,148,173,207,146,66,195,57,129,241,162,236,80,186,135,254,78,176,14,249,33,55,244,103,41,189,60,91,66,126,149,137,62,24,78,39,82,249,61,244,108,178,152,165,155,194,188,230,155,202,227,3,171,171,124,83,42,154,14,124,225,103,144,102,225,9,126,76,85,124,163,108,50,21,24,111,128,167,146,249,39,185,25,113,226,2,56,196,62,111,214,246,137,168,91,122,111,233,145,39,175,244,136,14,233,73,62,80,144,225,189,141,203,188,219,89,130,151,93,219,44,79,91,59,28,68,134,123,103,79,158,178,59,61,103,31,173,22,212,29,132,92,211,110,161,3,233,72,112,237,215,4,244,236,80,246,184,14,141,97,200,192,90,38,38,111,112,73,218,217,66,160,200,47,0,104,244,185,22,142,25,175,106,246,181,77,2,31,130,219,130,208,36,219,108,227,234,186,200,111,89,213,18,210,231,96,108,223,83,119,107,222,33,233,213,151,82,80,148,13,105,3,58,248,249,216,113,1,109,33,217,84,83,96,147,29,20,217,43,176,92,154,80,115,206,15,132,188,87,191,115,144,189,213,2,4,232,105,160,55,19,102,135,147,77,199,44,94,117,36,159,238,196,71,58,55,204,103,132,183,14,39,63,217,166,241,189,42,38,191,253,62,125,178,53,167,41,65,24,108,10,82,90,112,44,110,229,67,91,149,0,174,30,112,178,39,72,183,116,41,56,202,253,5,197,167,11,238,229,239,200,182,27,43,109,110,167,10,31,212,223,173,134,61,181,97,86,227,235,138,97,77,90,229,210,228,70,201,78,79,99,131,84,216,193,16,212,253,242,91,119,45,112,101,38,240,67,119,63,249,218,10,155,62,255,77,149,121,214,62,138,25,59,248,76,164,226,186,21,127,73,142,16,114,73,82,0,95,231,222,200,245,168,174,6,246,22,25,162,215,65,200,108,183,221,230,48,232,182,219,13,11,127,8,219,141,140,33,254,50,186,213,5,186,101,163,69,112,172,207,94,64,222,235,207,5,89,178,6,146,108,228,43,84,215,25,53,137,175,243,46,51,231,142,66,37,217,34,19,27,212,212,13,203,208,73,58,12,148,30,96,192,130,194,129,72,29,50,0,12,70,38,234,19,146,40,183,113,88,181,93,61,24,148,80,134,57,100,10,153,11,124,252,206,39,117,36,30,230,155,130,108,104,141,34,195,82,16,85,188,78,10,104,201,28,45,251,192,211,155,192,116,172,20,208,200,143,137,56,65,7,93,29,12,121,79,99,195,98,197,152,237,116,187,157,235,24,112,189,166,203,101,231,249,218,248,223,91,204,216,136,25,115,174,47,118,86,50,161,45,6,187,146,137,93,197,196,46,85,66,75,21,31,236,8,221,53,142,243,204,233,46,212,226,213,149,42,186,41,187,146,122,67,67,181,207,147,81,191,213,136,181,19,121,87,46,56,148,212,224,220,172,59,62,64,19,2,219,48,176,221,15,47,136,210,129,3,156,105,26,185,47,116,8,154,2,149,40,250,150,91,244,90,113,45,173,79,212,25,101,54,100,204,184,126,136,179,69,74,97,67,66,135,209,185,99,54,223,186,180,167,72,190,20,198,135,213,120,40,228,185,95,238,77,4,157,1,175,167,161,48,164,11,86,50,75,188,6,178,174,140,139,162,10,186,143,128,39,210,170,187,34,224,67,119,95,180,59,232,158,144,250,230,25,144,192,78,88,184,210,179,56,69,63,244,8,188,244,232,102,133,94,161,40,220,189,167,93,133,189,77,198,137,140,75,122,139,89,170,31,106,120,210,51,224,164,87,67,147,94,13,115,122,22,217,244,26,20,212,107,144,79,111,126,29,103,87,104,136,133,95,239,147,186,231,10,241,11,141,84,150,244,128,122,213,254,89,170,78,255,158,218,119,153,170,47,134,84,205,56,174,191,222,201,53,203,77,190,185,29,161,12,94,175,61,253,174,233,220,28,184,213,126,164,192,216,114,181,112,55,71,224,121,181,55,108,100,123,6,161,209,69,1,253,147,49,71,90,88,159,118,66,29,83,129,55,219,204,102,169,42,61,114,205,33,87,95,77,146,105,152,225,143,164,167,102,183,128,78,58,26,74,2,78,232,159,4,226,130,194,196,119,254,99,142,154,181,185,25,199,216,35,150,14,155,131,125,28,242,106,7,159,32,167,232,39,29,64,222,111,59,72,24,168,36,14,2,188,74,243,89,156,70,107,178,246,10,254,102,105,174,237,3,177,57,7,3,222,87,31,233,187,59,134,195,193,128,106,101,56,231,197,31,227,59,24,55,69,181,231,245,112,75,247,143,142,108,225,195,162,180,99,210,242,127,52,177,255,218,29,0,241,95,143,223,68,194,158,67,31,88,135,30,229,55,162,115,193,7,134,184,222,111,235,124,158,152,32,139,57,134,88,179,151,147,213,205,212,118,177,40,119,53,50,219,25,24,39,94,185,153,207,65,242,30,249,86,244,163,238,78,130,238,228,130,78,36,210,177,76,112,69,158,222,232,40,212,132,90,200,169,13,177,32,247,186,105,219,212,35,38,28,207,133,143,51,8,163,246,197,70,29,182,122,209,76,204,136,249,77,183,158,147,110,33,220,205,54,106,161,72,178,115,227,185,152,240,23,110,28,58,94,55,174,79,61,210,39,224,24,168,4,110,93,143,185,105,125,102,177,153,182,65,234,89,24,211,147,190,223,69,55,94,232,166,105,112,133,174,255,165,249,174,71,135,218,175,124,119,92,175,108,205,116,128,159,157,45,175,217,133,40,229,199,230,180,232,126,171,53,115,53,249,109,243,12,224,235,218,63,210,1,221,250,237,118,207,29,73,91,73,70,66,141,61,216,77,180,101,38,244,7,57,143,244,29,61,33,158,151,145,247,177,132,86,11,227,250,98,38,207,120,167,195,77,115,221,133,119,135,252,144,54,250,86,159,182,135,162,185,165,141,14,230,71,85,232,87,67,111,224,13,149,115,107,220,100,16,77,31,78,197,211,221,177,240,34,151,29,206,53,35,65,127,16,153,124,135,49,147,195,100,193,191,77,244,166,50,247,248,241,7,109,221,179,239,138,143,48,196,43,243,74,154,170,136,23,188,157,22,167,48,245,251,58,157,60,171,198,3,255,253,43,242,213,235,215,182,155,30,31,105,34,214,252,153,74,93,176,210,67,213,155,34,149,23,250,87,152,30,152,95,169,133,138,51,156,151,90,192,57,194,200,53,243,65,29,12,118,10,200,94,130,64,166,184,104,229,41,2,134,72,148,199,126,127,64,211,97,165,195,19,51,97,248,49,44,132,237,102,152,56,206,221,119,77,23,236,22,157,178,231,236,209,1,17,203,125,104,68,199,176,205,246,182,112,54,200,54,193,67,110,103,126,195,44,231,3,181,69,73,152,12,189,137,55,244,227,230,78,74,32,89,188,216,61,47,218,10,162,32,17,111,234,145,252,6,212,141,216,135,231,111,70,89,188,2,180,54,161,127,97,83,98,187,229,171,29,154,234,34,26,198,70,232,160,73,46,76,29,218,105,215,10,249,133,51,57,36,123,154,28,78,124,3,88,125,49,87,41,143,159,105,10,190,156,77,254,120,54,253,198,143,66,63,234,63,187,60,214,169,207,131,103,156,28,124,211,36,209,69,87,177,190,232,138,8,124,75,240,58,153,51,112,9,46,157,29,155,227,4,230,197,99,217,192,34,248,190,148,158,147,124,204,204,37,230,82,239,253,232,171,177,82,125,169,215,147,99,65,27,185,123,247,63,197,94,48,190,30,93,23,138,110,27,75,115,93,13,191,11,171,98,228,9,61,66,254,208,9,113,231,162,157,132,108,27,222,168,242,104,209,8,117,38,181,251,66,151,176,30,238,185,88,99,162,146,17,147,252,75,136,151,89,60,255,132,41,240,91,164,72,59,182,0,179,37,49,62,111,203,120,195,108,56,196,20,28,244,218,136,140,128,238,72,155,196,83,209,54,142,136,126,246,209,173,167,97,20,201,101,47,158,229,172,94,233,42,53,126,14,211,157,115,205,81,78,226,97,149,128,75,175,193,43,84,23,170,245,24,4,154,74,28,170,133,58,155,3,204,21,23,201,138,128,158,191,182,69,96,154,52,251,126,194,52,223,135,228,213,162,97,30,221,251,115,218,69,185,166,109,135,32,188,51,222,28,116,207,52,162,63,8,26,159,92,210,38,97,107,174,150,116,180,154,107,160,73,152,203,218,238,186,241,81,208,40,103,63,245,237,96,217,208,213,117,53,38,199,188,57,167,190,3,155,148,197,28,107,4,230,111,4,233,101,228,143,134,129,188,140,72,144,62,57,149,222,48,38,208,77,55,152,181,46,130,34,134,101,191,44,230,128,142,228,250,107,89,170,202,78,138,211,36,122,100,178,209,2,212,101,2,234,224,206,208,217,185,170,42,58,110,38,31,104,174,66,150,162,162,1,42,225,199,90,38,125,20,60,89,248,181,186,147,31,89,181,241,30,175,208,144,41,236,159,136,187,235,162,35,230,130,152,186,26,253,246,246,205,15,85,181,254,89,253,181,129,10,218,137,24,213,175,171,50,124,208,132,22,238,111,165,138,94,139,233,30,73,191,59,114,54,95,5,209,126,184,20,96,219,176,197,178,72,16,61,174,159,148,158,62,180,49,215,231,35,116,179,107,146,157,222,78,192,28,129,202,202,87,120,11,251,167,194,204,92,120,34,28,109,70,3,157,67,180,42,122,104,84,122,248,209,206,173,220,63,107,180,17,75,22,217,198,41,240,176,19,217,118,75,55,94,146,224,6,16,198,4,171,5,17,159,125,246,245,121,41,13,222,91,235,21,212,123,168,37,112,59,69,43,51,134,111,229,65,74,48,94,249,58,140,162,25,16,59,92,186,132,19,200,146,133,83,201,250,208,188,232,159,118,13,242,90,59,189,231,121,58,244,142,143,189,33,164,90,94,86,125,100,110,167,111,56,157,218,71,141,104,151,127,93,225,103,239,204,227,77,5,211,114,29,198,233,253,135,23,208,77,87,28,139,77,5,245,103,189,13,122,66,219,66,2,86,175,145,122,248,104,117,38,93,173,120,25,141,134,196,74,26,231,112,65,118,48,175,217,63,100,240,0,79,12,173,96,223,56,43,50,218,117,224,20,98,234,19,8,136,122,59,127,238,160,136,121,80,143,229,66,255,10,239,79,240,171,179,69,2,49,164,115,3,147,89,57,189,62,40,85,106,41,29,153,223,161,39,35,47,52,47,90,172,208,17,154,185,17,226,248,24,4,174,126,240,75,10,154,160,225,191,23,11,76,128,97,165,201,124,42,174,104,35,97,182,103,86,94,145,27,195,61,212,48,149,108,58,208,253,133,228,210,165,43,13,135,33,244,221,229,113,107,226,162,250,254,170,208,89,59,187,212,226,12,77,131,227,33,122,223,201,51,186,230,212,240,246,15,144,92,138,175,107,1,226,139,107,73,127,118,64,143,51,223,251,237,200,20,82,139,35,130,253,158,240,218,130,194,35,128,239,189,224,17,122,98,65,231,174,142,233,74,54,159,6,190,2,127,106,80,199,91,102,139,134,132,132,103,40,104,33,23,22,53,139,26,53,159,141,200,117,80,36,11,245,214,212,64,55,28,236,167,249,11,162,206,250,24,175,110,168,245,106,232,167,180,232,86,99,209,178,3,139,162,123,24,134,57,244,116,68,101,61,177,87,115,91,98,29,221,222,222,30,65,8,172,142,176,18,42,155,231,116,111,7,205,224,53,207,110,25,212,55,236,52,73,100,135,213,111,147,124,106,174,57,219,95,25,57,163,9,200,120,127,156,194,215,148,246,145,200,118,204,226,255,147,88,84,231,154,145,135,206,50,80,5,174,106,126,175,201,18,112,21,19,99,90,71,238,77,249,92,62,61,225,107,36,244,235,179,255,58,1,151,253,215,9,55,162,147,56,70,221,190,144,119,46,161,219,35,165,124,201,189,153,203,249,118,123,235,187,75,126,70,14,216,159,85,185,206,179,82,233,145,249,246,182,201,35,70,75,129,141,218,154,109,150,75,190,249,155,70,164,11,152,57,159,65,119,29,164,7,149,147,160,175,160,112,83,40,142,125,76,247,231,86,146,236,193,185,128,164,181,2,131,76,49,255,84,80,244,78,64,206,56,182,178,40,209,173,0,20,30,106,27,77,146,124,129,1,151,214,166,26,95,179,171,90,23,233,6,230,18,93,224,32,160,245,157,123,189,36,32,141,240,56,111,97,32,205,25,93,160,24,236,200,21,96,30,57,94,234,174,94,9,234,189,14,27,19,54,41,50,120,40,52,72,198,150,220,1,233,224,177,125,27,210,217,136,51,129,235,13,158,106,23,18,103,76,1,47,128,153,203,251,108,78,136,181,132,156,227,151,80,123,167,64,72,64,53,190,102,19,173,35,196,11,250,197,40,216,154,160,40,255,178,188,205,139,5,17,60,68,204,235,68,165,139,22,201,55,137,103,32,116,233,36,224,117,92,103,188,10,222,217,91,127,196,21,115,68,29,5,231,34,169,247,143,32,169,71,72,254,112,10,44,222,178,51,39,74,7,117,17,7,210,33,97,150,18,145,254,97,228,132,79,132,25,200,61,219,241,15,16,104,116,255,210,221,136,108,93,18,164,232,156,82,37,15,110,203,120,164,68,19,142,197,225,92,222,251,119,231,23,158,209,42,124,72,128,59,194,215,84,253,251,85,90,21,172,53,236,94,181,180,15,6,100,223,222,143,208,225,90,93,199,168,120,131,130,247,42,132,62,44,36,242,218,243,193,209,29,176,86,140,81,78,184,124,99,189,89,205,13,33,54,228,145,118,140,88,239,230,100,5,196,248,57,157,18,218,49,5,100,251,14,24,66,133,126,28,41,223,123,182,72,110,158,123,129,78,105,2,167,248,168,130,57,51,23,179,159,125,73,119,47,233,169,73,90,113,21,102,252,27,179,207,198,195,57,147,90,140,255,242,243,143,228,101,202,51,10,7,54,238,142,206,189,243,38,4,181,32,115,121,47,207,161,23,34,147,58,30,71,159,194,213,87,210,219,67,132,28,145,115,198,39,140,0,88,206,248,236,142,120,231,155,205,192,194,196,148,13,220,127,22,224,63,159,158,208,63,12,48,244,246,221,191,236,222,193,162,214,241,127,123,151,225,213,1,24,124,155,156,72,186,111,163,53,30,246,168,137,165,181,46,93,115,55,220,3,201,130,80,9,246,44,132,20,48,237,238,134,232,131,163,102,215,202,4,248,43,115,199,162,104,239,13,102,50,215,162,70,225,129,5,140,98,253,66,210,66,17,198,203,221,56,79,7,38,13,6,253,156,246,118,232,222,226,5,57,175,54,179,85,82,233,155,3,61,8,115,101,159,103,155,170,178,255,2,5,43,46,123,187,32,249,174,114,147,14,116,57,255,52,203,239,244,93,131,249,136,223,57,214,39,241,233,114,75,114,161,232,115,254,5,93,31,231,78,240,33,71,54,180,97,246,118,221,165,240,187,35,156,42,61,175,135,84,72,17,146,20,206,206,180,209,249,89,123,119,248,14,130,134,84,108,47,121,86,246,163,214,218,59,34,65,179,35,98,103,145,110,68,182,161,188,29,167,61,42,179,145,96,179,155,227,230,234,47,255,164,217,78,200,232,88,102,215,94,130,185,13,67,239,208,154,30,250,237,59,36,218,52,173,47,196,63,56,12,104,189,129,245,45,246,186,115,251,249,198,28,192,221,74,218,131,224,206,117,251,58,165,209,233,206,233,209,29,254,71,97,118,187,96,252,63,228,97,87,78,206,102,0,0 }; +const uint8_t JS_ZEPTO_GZIP[9733] PROGMEM = { 31,139,8,0,0,0,0,0,0,255,172,125,123,151,219,182,146,231,87,145,48,30,30,32,66,179,187,51,251,207,82,134,117,28,219,153,228,78,252,152,216,247,222,220,168,21,31,52,5,73,180,41,64,33,160,126,184,169,253,236,123,170,0,240,33,177,29,207,158,253,167,69,130,120,22,10,85,191,42,20,208,227,213,94,231,174,48,154,42,238,216,3,137,175,68,8,119,191,83,102,53,90,170,85,161,85,146,248,223,84,110,151,51,255,72,155,162,236,161,82,110,95,233,145,163,138,29,88,134,63,212,109,10,203,219,234,217,195,141,172,70,78,116,74,197,199,209,26,62,135,58,148,16,122,95,150,179,247,174,42,52,124,200,158,207,127,75,115,89,150,84,177,69,93,19,115,253,73,229,142,28,154,210,101,91,186,219,127,40,219,102,186,238,54,49,198,38,146,68,9,161,210,219,66,47,205,109,155,243,213,96,206,84,155,165,250,112,191,195,34,47,223,190,248,251,235,87,111,62,124,124,243,246,229,171,182,228,182,211,145,208,203,227,110,220,116,42,135,236,73,50,190,198,159,183,152,63,93,43,247,174,50,206,0,241,223,174,168,98,66,132,47,187,152,220,86,118,23,169,170,197,120,172,146,132,148,74,175,221,134,20,122,164,160,203,254,149,91,225,82,40,72,21,155,30,147,105,44,108,211,5,74,100,85,201,123,34,132,173,235,11,33,132,174,107,162,247,219,107,85,181,236,160,147,68,63,187,72,18,125,118,57,130,118,58,99,83,170,51,184,93,152,178,30,7,244,169,122,232,148,253,239,238,231,208,241,103,23,51,151,174,116,154,27,157,75,151,202,221,174,188,167,243,5,87,44,235,16,97,213,43,89,169,93,41,115,69,207,179,236,124,205,201,57,97,109,18,157,63,63,251,125,49,97,254,119,46,207,190,44,24,100,122,114,249,241,201,247,253,140,242,236,203,213,114,17,114,14,103,250,8,169,103,132,165,206,252,98,110,85,245,66,90,69,59,35,122,215,237,23,144,234,197,236,197,92,45,50,248,35,180,186,29,253,170,214,175,238,118,148,208,63,234,171,43,203,200,68,77,8,189,186,178,245,19,70,58,245,252,232,87,102,152,184,48,29,227,56,29,174,174,255,54,7,18,44,102,46,115,19,178,187,235,44,140,127,52,171,142,235,48,243,163,247,115,181,168,107,234,132,73,243,74,73,167,94,149,106,171,52,44,89,110,210,107,179,188,7,66,43,189,124,177,41,202,37,117,140,107,177,86,238,133,217,238,246,78,45,223,187,251,82,81,199,9,97,129,87,119,170,114,247,255,144,229,94,81,178,44,236,174,148,247,132,113,151,238,100,165,180,123,99,150,48,41,91,115,163,154,10,137,54,90,17,33,116,146,80,45,200,117,105,242,207,132,241,247,72,24,255,219,142,225,77,103,77,229,80,67,165,52,50,248,108,25,56,44,141,201,44,115,233,86,238,98,10,52,109,135,216,239,18,150,112,92,206,51,149,221,152,98,57,186,232,114,227,107,79,115,92,90,220,10,53,139,44,153,93,76,87,166,162,90,92,76,237,51,61,213,147,9,3,49,55,215,11,161,230,122,49,133,151,144,85,88,142,111,86,149,42,119,166,18,174,174,73,103,114,94,66,27,92,179,7,168,208,2,131,56,6,20,185,161,110,110,23,172,174,55,254,129,205,98,82,146,140,111,168,242,79,248,43,30,14,140,111,154,143,155,254,199,249,130,241,151,248,200,33,7,215,140,101,240,48,22,162,136,121,176,104,219,167,79,84,65,143,2,157,116,144,196,192,27,40,211,211,85,81,58,85,81,221,41,82,249,97,112,219,20,43,169,99,51,23,151,63,124,201,92,155,255,115,28,118,172,61,178,199,115,231,170,226,122,239,20,117,44,83,169,85,174,147,194,187,77,238,59,179,35,84,154,151,210,218,55,114,171,128,190,220,2,91,233,244,90,90,245,15,89,194,88,35,231,59,33,68,49,179,179,230,99,166,113,234,105,39,73,184,172,83,161,112,157,86,191,0,7,185,234,190,89,211,51,226,170,61,240,49,52,188,146,165,85,100,44,20,136,81,24,23,164,207,224,33,131,117,141,111,19,149,157,255,49,159,63,44,206,83,167,44,16,116,134,203,196,170,191,189,127,11,124,158,161,100,203,165,203,55,77,43,135,182,7,31,252,184,161,32,114,161,39,192,5,48,104,135,227,3,251,53,252,249,161,183,30,230,122,193,29,59,120,161,96,121,193,115,126,207,63,114,41,230,11,254,187,144,65,214,242,157,144,97,178,249,82,200,212,150,69,174,184,17,42,93,154,124,15,226,130,191,23,15,7,254,2,254,252,77,60,144,220,148,251,173,62,203,205,94,59,146,93,114,255,110,179,75,78,86,70,187,179,91,85,172,55,248,133,148,133,86,103,155,230,221,236,100,94,184,123,248,242,229,172,208,75,117,7,169,95,140,217,102,151,7,254,86,156,255,113,101,191,123,74,175,110,39,245,152,205,255,120,182,248,238,217,57,255,79,113,254,7,166,177,43,251,221,213,249,236,25,157,101,79,175,206,175,46,159,213,236,201,57,255,47,113,254,148,206,198,178,82,178,190,174,234,220,148,181,218,94,171,101,189,169,234,98,187,174,11,189,219,187,186,44,244,231,122,171,156,172,119,178,146,91,70,233,252,234,54,91,76,124,43,236,234,252,217,249,186,224,63,139,243,63,232,44,3,193,88,111,220,182,100,79,206,11,254,119,113,222,170,134,127,138,57,185,145,37,225,36,183,150,112,2,185,8,39,78,221,57,194,201,82,58,73,56,185,45,150,110,3,31,253,192,57,49,171,149,85,142,44,248,19,49,39,114,229,84,69,56,217,85,10,68,47,225,228,90,173,76,165,8,39,94,24,147,5,191,61,145,216,196,201,235,82,17,198,127,24,248,84,17,198,127,18,15,174,202,78,191,193,96,64,70,195,111,118,203,221,70,201,37,252,174,140,113,240,187,204,126,224,110,147,253,192,201,119,228,180,248,178,184,33,236,192,255,20,231,185,217,238,74,229,84,93,26,185,84,203,186,208,78,85,50,119,197,141,58,231,255,18,231,127,204,175,110,207,22,223,61,57,231,207,129,81,126,19,207,83,103,60,174,227,26,82,126,61,237,56,214,206,127,17,15,78,94,35,59,100,48,204,159,145,49,120,165,228,210,232,242,62,35,240,244,86,151,247,132,175,76,149,33,205,127,52,21,225,184,118,51,210,44,97,194,183,242,46,200,110,178,149,119,191,120,132,196,115,85,150,22,88,79,175,51,2,47,239,253,139,255,178,147,203,101,243,229,157,127,33,188,50,183,118,39,117,70,42,115,251,126,39,53,1,54,247,41,185,41,125,202,222,170,173,220,101,100,111,213,107,185,35,124,85,201,173,186,54,213,82,85,25,193,151,31,240,5,202,106,167,180,83,203,2,167,17,234,192,132,87,33,129,28,248,70,60,7,64,150,22,22,127,235,122,8,75,141,10,109,157,212,57,160,1,204,118,136,2,79,167,91,16,37,202,138,62,200,47,86,116,236,234,122,172,234,250,114,220,213,133,204,23,28,95,78,139,21,5,169,18,202,215,181,74,111,213,245,231,194,189,246,9,239,131,78,131,15,91,243,101,32,213,12,229,236,39,113,27,218,27,217,168,44,28,155,130,100,2,185,4,194,166,133,16,92,138,177,137,227,146,73,66,141,248,149,245,128,138,98,188,16,255,71,167,127,90,73,13,119,44,69,230,65,8,205,101,146,252,218,3,33,144,249,192,63,138,33,122,182,8,239,108,66,83,54,59,95,243,62,249,162,58,153,185,212,153,191,239,118,17,250,101,132,28,216,129,223,15,213,122,138,134,93,71,209,170,166,179,142,9,161,161,22,157,174,42,185,134,37,209,157,60,84,179,64,33,201,43,158,71,122,252,103,84,39,73,66,165,112,244,120,77,121,160,153,62,185,100,140,113,89,215,180,25,35,192,0,209,142,248,191,56,121,250,228,242,217,211,243,39,223,63,35,12,144,159,135,10,90,188,109,155,104,107,227,26,80,203,79,117,13,40,238,59,194,120,37,126,2,253,82,165,133,214,170,250,233,195,235,95,4,33,19,152,60,151,42,153,111,104,128,108,85,71,33,49,222,53,35,251,80,113,83,88,118,96,140,223,80,11,99,203,133,163,18,160,37,214,101,143,166,229,159,157,25,127,118,118,57,203,231,106,1,80,34,79,165,115,136,82,176,46,9,180,253,93,12,78,41,160,114,15,253,32,83,97,127,31,100,144,238,130,211,233,239,152,85,23,189,121,138,179,4,235,104,28,151,21,100,166,12,146,136,69,25,216,26,85,138,21,43,156,9,87,21,91,202,56,121,10,128,97,126,177,72,146,134,242,76,138,150,41,168,226,205,60,112,203,184,66,44,53,85,165,85,176,188,45,224,30,214,24,229,22,144,155,6,182,159,66,37,126,137,40,118,136,217,193,128,110,115,27,48,114,228,242,30,178,23,43,138,132,232,100,80,144,184,241,29,66,139,15,91,29,21,43,186,245,137,115,181,232,246,7,190,60,54,136,56,222,255,15,99,57,116,136,44,33,129,187,71,38,25,103,43,204,178,75,213,157,83,122,41,78,252,20,92,139,192,173,178,90,35,228,177,252,178,177,159,175,141,41,149,236,120,73,96,41,57,161,160,243,169,221,20,43,71,97,253,164,43,83,189,2,102,109,170,215,236,225,37,46,100,224,70,174,128,121,254,180,242,168,167,208,1,195,181,32,255,6,13,204,47,22,188,16,99,157,36,36,141,239,22,108,243,98,230,60,50,163,151,44,115,92,138,127,121,50,219,216,205,145,2,27,45,136,129,31,238,127,94,38,137,76,18,61,163,32,92,251,95,168,101,108,54,55,139,108,190,200,250,74,33,73,254,247,209,251,101,63,195,108,190,200,34,169,146,4,250,217,173,220,254,112,255,34,42,227,89,49,123,236,19,181,0,250,123,223,62,200,53,126,65,115,224,207,189,170,238,163,230,120,94,130,141,129,211,7,74,83,22,218,10,211,64,211,80,67,243,105,54,200,6,106,44,132,131,174,198,108,212,177,67,214,207,10,32,123,234,112,102,187,246,44,155,194,114,5,115,162,209,152,23,211,168,58,161,83,192,19,98,205,93,90,216,31,67,133,162,196,215,127,162,175,73,92,227,11,106,107,177,193,231,119,165,44,180,247,244,136,27,76,121,181,221,185,251,144,114,194,157,136,255,157,119,192,52,74,59,246,229,128,229,223,236,183,170,42,242,211,178,226,13,250,16,64,9,234,134,125,167,199,14,175,134,197,199,104,167,71,145,53,6,198,139,214,48,24,157,133,125,35,223,80,199,146,164,176,63,194,202,130,9,171,107,79,136,66,251,49,118,201,218,209,123,50,138,108,207,61,142,131,245,137,179,42,183,170,4,173,42,62,2,57,171,98,59,40,137,131,5,73,72,230,65,101,235,35,195,50,209,105,8,53,238,247,197,82,92,112,151,218,253,110,103,42,7,232,19,22,255,174,242,79,218,152,93,215,53,9,105,91,185,27,88,152,154,91,110,120,33,230,11,16,132,119,32,212,208,130,23,23,83,251,84,53,214,215,100,194,180,112,222,252,182,140,235,72,215,34,221,237,237,134,234,32,54,161,168,241,243,232,179,155,5,55,131,217,195,160,255,155,22,94,110,201,124,51,220,187,166,91,15,209,85,161,219,126,129,69,8,204,27,104,3,234,90,115,248,97,66,136,241,101,35,228,15,77,239,172,239,93,183,16,12,137,163,175,161,95,168,97,34,232,224,186,82,199,228,59,6,67,32,129,85,10,198,47,172,177,214,20,22,240,199,191,54,234,158,252,224,249,113,228,185,119,228,103,124,20,215,151,135,190,163,151,210,169,224,88,27,249,181,51,122,85,85,166,34,169,221,149,133,163,100,68,216,17,110,120,62,39,115,239,172,29,145,137,155,144,5,89,8,119,228,212,131,94,172,180,120,200,141,182,174,218,131,12,202,116,250,59,143,78,33,30,228,124,38,163,196,231,149,90,238,115,149,201,212,63,112,152,198,76,226,108,114,107,42,151,201,20,126,56,244,11,243,249,7,30,86,68,214,172,13,238,77,242,172,195,156,48,209,176,146,44,48,33,204,145,18,23,83,245,180,81,84,113,178,213,100,194,156,104,146,65,49,91,116,178,161,74,71,47,141,51,72,56,202,50,23,103,239,247,224,105,13,185,0,132,205,208,147,213,201,187,41,44,183,236,192,193,214,25,88,153,142,122,79,92,127,11,160,15,121,195,146,247,154,144,29,56,106,178,108,104,79,97,25,58,132,181,53,163,129,50,136,83,134,58,240,167,215,132,198,35,153,247,78,58,128,174,222,191,57,67,149,98,82,185,92,190,186,81,218,253,82,88,167,180,170,40,121,249,246,245,11,111,132,253,130,6,45,233,98,83,40,117,224,227,75,134,110,189,3,95,43,55,212,178,66,47,83,208,135,72,60,164,214,92,61,19,23,51,149,169,73,199,69,184,56,240,64,211,161,113,67,190,181,114,20,104,83,124,25,36,77,91,21,208,2,144,243,99,185,84,15,133,176,7,144,46,99,129,159,90,197,150,36,71,9,67,112,252,192,161,174,161,161,203,84,221,168,234,190,29,250,55,76,253,24,4,200,33,210,212,187,156,134,234,46,209,91,6,189,211,198,209,230,65,49,150,57,186,27,108,178,131,248,130,229,9,26,198,51,155,92,46,187,186,94,119,184,205,243,89,112,132,81,135,95,25,148,41,236,32,171,183,115,128,219,34,109,91,48,235,23,11,132,162,218,244,121,197,27,185,26,150,111,103,124,136,70,100,137,78,203,217,192,172,57,246,160,58,35,5,53,171,189,122,8,83,147,81,43,78,109,11,95,85,112,221,42,150,221,97,83,37,85,105,225,212,150,53,126,116,239,227,245,78,235,19,220,170,216,131,237,24,88,79,113,168,216,54,82,148,59,10,154,123,35,31,167,81,232,192,41,127,110,189,35,180,197,97,48,56,236,13,14,43,194,253,20,22,1,245,12,248,231,64,43,103,151,0,200,252,96,61,42,86,126,233,197,55,62,81,147,75,6,76,86,217,83,113,42,194,124,53,58,44,73,198,216,51,229,183,51,121,41,31,45,213,225,129,179,203,199,107,128,129,12,176,129,193,74,98,41,43,212,172,221,60,108,231,176,227,126,31,236,68,227,28,73,173,217,6,54,49,188,107,119,196,201,104,41,173,113,57,28,88,118,41,68,103,12,51,71,189,97,213,178,112,160,36,200,244,211,9,108,51,243,176,253,203,14,60,47,141,85,93,138,53,86,177,17,115,48,104,78,7,153,36,174,221,162,28,18,91,142,203,0,202,193,208,160,197,172,104,88,82,178,103,226,34,107,87,31,152,128,108,202,164,144,99,129,91,156,175,168,100,73,34,59,194,13,42,49,157,10,128,167,141,231,105,137,42,159,26,118,224,62,127,159,173,91,231,251,28,76,49,36,127,43,4,166,204,10,175,254,134,118,159,208,204,239,216,18,216,53,248,209,189,229,53,163,205,242,130,181,16,183,168,34,113,62,249,185,11,189,27,90,115,159,162,32,219,149,251,252,51,37,109,147,132,49,44,27,183,205,134,75,127,101,190,223,68,121,227,171,241,26,211,62,166,121,134,235,136,50,22,138,190,12,134,91,93,119,212,102,215,69,116,64,21,120,93,22,122,61,40,95,134,122,59,0,56,223,208,158,21,247,200,206,180,112,135,56,52,5,38,216,183,106,84,76,236,58,190,160,215,72,252,65,145,56,132,143,218,175,115,181,192,65,111,204,237,183,182,31,119,85,189,200,115,247,165,74,195,118,44,128,235,147,68,65,72,187,19,123,186,193,11,29,251,139,61,222,225,106,255,17,149,243,82,129,245,206,112,242,130,131,241,159,133,27,4,14,88,194,239,120,128,152,243,160,3,132,200,109,117,132,47,139,21,213,162,140,106,10,29,100,99,205,226,62,45,10,73,128,76,23,140,27,209,5,50,117,221,213,211,151,95,145,49,5,123,136,138,7,90,127,94,150,84,207,186,106,183,96,153,153,217,52,47,141,86,80,53,29,95,176,204,243,104,40,112,220,227,208,213,88,49,60,54,163,197,62,119,182,243,166,84,139,118,71,155,50,22,177,60,83,66,167,168,186,40,155,226,64,189,247,59,172,197,206,128,124,63,126,6,78,60,209,54,158,120,95,25,126,35,163,3,17,120,33,76,92,167,150,50,46,69,159,26,150,101,106,90,68,197,81,52,52,147,136,176,125,15,37,18,103,175,251,179,217,159,125,63,85,148,157,46,171,48,25,29,22,162,49,173,67,166,6,66,226,188,252,191,200,162,238,124,66,127,55,197,242,209,122,114,107,219,133,16,86,17,88,229,102,189,46,213,163,28,126,60,52,63,33,97,48,83,234,45,135,38,56,162,223,8,203,20,155,233,20,4,2,101,153,78,161,119,30,12,237,42,117,243,136,13,214,21,255,149,186,41,204,222,6,231,216,123,47,77,9,107,64,133,170,107,242,29,12,66,171,187,65,133,210,175,15,114,253,117,93,27,183,45,135,234,186,24,21,122,212,88,114,67,88,87,7,116,36,250,98,117,26,167,30,69,51,109,22,65,21,224,7,238,144,0,6,193,22,32,109,22,150,92,91,71,134,177,71,220,61,50,206,191,238,91,19,123,208,180,234,60,106,134,42,131,1,201,166,199,41,66,183,238,42,66,38,250,164,147,145,180,157,50,132,165,159,76,161,41,33,44,244,90,58,87,101,3,110,159,232,152,110,220,116,17,84,213,245,229,183,16,187,88,81,192,207,141,236,198,237,192,232,211,239,184,129,62,135,101,239,221,63,222,135,245,57,146,33,208,3,45,187,96,189,182,49,28,138,245,39,38,73,2,234,132,201,105,157,203,222,48,165,186,249,116,92,201,76,103,69,180,118,159,247,169,241,245,229,118,50,62,176,183,90,183,208,160,205,243,185,129,181,188,49,127,119,149,217,101,195,62,101,241,11,70,87,41,254,77,52,247,126,129,133,56,34,219,92,45,16,69,71,5,23,30,0,18,132,97,191,235,247,96,160,253,65,2,44,85,169,156,26,133,54,96,40,75,233,228,16,55,9,12,91,56,35,147,118,111,240,239,156,156,61,185,60,14,119,227,86,12,13,21,119,220,192,188,207,58,175,141,218,241,83,44,236,236,11,181,12,38,243,70,126,139,148,160,193,223,139,155,150,128,94,134,151,38,166,222,0,86,57,89,159,152,10,230,106,75,220,168,145,211,237,190,116,197,174,4,75,171,81,210,104,121,18,179,195,72,201,33,243,171,203,110,62,206,75,45,15,44,46,100,108,142,52,141,197,230,185,15,253,200,142,150,159,102,143,51,175,106,164,97,208,202,38,142,77,115,197,109,234,107,164,12,212,117,124,123,23,53,106,252,200,165,120,112,102,151,153,212,153,221,89,1,127,121,169,86,46,51,41,252,156,21,248,115,152,18,235,164,43,114,34,68,80,116,59,99,11,79,130,36,161,50,141,175,130,84,170,148,174,184,81,132,113,159,21,52,61,238,121,118,208,22,235,204,58,124,59,217,168,25,55,98,32,73,198,29,235,244,36,99,196,124,113,43,18,71,115,225,199,112,113,152,182,250,34,136,141,31,204,94,47,11,189,126,81,22,74,187,95,85,14,208,41,20,197,66,22,71,60,1,123,108,173,126,123,139,116,226,80,169,5,226,132,244,127,133,116,140,224,201,94,75,183,73,43,168,152,218,20,147,24,247,49,61,253,79,62,141,29,14,60,183,246,200,213,84,172,232,177,171,246,233,247,152,108,98,247,249,192,22,49,198,109,152,48,246,184,150,140,135,223,243,143,62,56,250,4,200,155,97,20,175,216,33,238,226,246,171,245,91,143,5,240,202,129,87,167,134,1,214,215,224,71,207,166,234,200,163,46,231,110,33,218,142,57,232,88,117,218,7,220,1,149,7,232,72,33,8,233,12,121,13,253,210,33,6,121,86,8,48,137,39,36,35,147,31,145,128,217,227,246,151,183,69,90,41,9,173,81,40,14,140,121,188,165,1,42,204,55,2,79,179,98,34,86,212,198,134,130,134,155,144,41,249,159,183,135,24,228,43,40,187,87,58,183,246,131,186,115,19,65,166,100,82,128,88,246,113,79,67,2,126,22,224,80,136,22,161,138,193,122,200,250,16,186,133,197,109,206,176,114,208,69,135,155,174,3,213,99,12,121,215,127,228,142,35,248,187,35,66,7,251,30,73,203,223,249,31,185,92,62,86,119,236,250,16,240,232,68,107,5,108,192,30,114,49,95,132,21,189,63,150,121,30,229,77,77,80,222,231,87,118,114,190,30,214,223,17,46,198,81,83,197,234,58,111,28,151,94,169,243,60,172,194,36,217,7,120,51,161,118,70,70,0,212,216,36,15,24,108,68,24,59,4,197,28,53,241,163,195,29,214,77,143,12,22,131,63,58,81,14,251,198,254,158,230,205,240,59,202,44,103,223,48,244,92,228,141,242,134,249,225,48,128,3,227,161,242,60,196,94,192,144,162,229,114,60,154,174,211,126,104,250,78,140,69,217,78,145,13,13,49,54,149,223,208,91,138,177,70,179,177,233,78,85,166,217,12,247,105,154,4,147,118,232,78,131,247,210,79,136,205,43,83,150,31,204,137,195,160,171,139,194,14,56,105,50,199,73,232,122,126,177,39,174,49,28,218,138,99,74,71,45,116,100,131,155,157,172,239,88,82,168,67,246,216,71,218,121,251,205,59,100,227,96,126,1,37,245,205,163,129,220,223,60,28,172,186,59,158,223,190,121,60,80,244,171,3,10,240,211,191,255,203,15,40,130,134,110,169,161,209,180,26,208,187,181,143,192,12,215,221,84,196,159,63,135,216,162,104,70,160,215,105,214,199,6,153,106,74,180,193,145,128,130,4,110,50,255,88,26,220,234,49,204,3,158,173,172,214,133,62,115,102,71,24,171,235,11,174,61,66,250,106,110,200,17,178,123,248,208,207,173,16,81,98,1,31,14,10,213,159,249,176,224,88,10,209,200,95,21,195,158,116,203,225,80,253,112,108,11,234,66,151,125,165,135,67,68,157,239,142,28,198,95,245,143,68,175,212,192,84,212,181,223,76,157,170,36,25,199,41,104,233,159,36,45,138,68,103,213,17,144,156,50,37,84,175,194,54,118,0,216,5,207,253,44,149,147,249,70,224,179,95,246,124,126,28,72,189,24,148,38,241,104,64,19,202,153,158,15,122,123,129,103,122,49,156,7,54,133,230,192,42,59,150,114,146,155,227,61,34,139,75,235,154,26,54,51,115,130,14,6,50,209,139,236,21,166,28,195,215,121,88,167,152,133,202,62,35,179,36,145,115,181,24,130,26,154,61,180,18,214,32,37,27,83,27,12,0,51,87,11,138,198,245,225,192,248,147,83,130,88,46,253,16,42,33,255,253,123,63,64,187,16,71,158,40,203,115,94,134,141,139,54,228,237,212,4,105,247,44,115,4,106,188,57,53,150,207,168,26,156,142,102,227,55,90,222,184,195,105,163,26,206,92,250,69,237,156,9,129,134,51,43,154,237,87,229,119,192,89,56,168,209,126,232,70,17,226,216,185,101,89,187,165,148,215,117,140,14,82,89,47,239,129,241,101,119,179,171,117,6,151,17,139,95,162,172,28,156,10,94,176,7,43,170,89,145,21,221,232,228,66,92,8,33,103,69,170,213,93,244,135,101,151,62,9,125,182,184,131,158,125,143,41,232,201,65,108,147,139,175,154,59,150,77,203,193,8,194,98,69,151,76,11,221,119,90,54,209,150,99,219,134,75,234,214,157,62,5,224,104,85,229,126,240,190,103,24,12,207,147,228,3,213,252,8,164,140,41,244,81,8,215,172,232,186,38,239,95,252,250,243,187,15,100,220,77,238,175,158,186,246,177,111,73,130,78,172,243,79,242,70,218,188,42,118,206,151,130,111,144,199,86,57,107,220,159,169,185,213,170,138,123,64,179,163,247,116,169,86,114,95,186,127,20,234,54,83,83,157,170,27,89,122,116,170,49,192,44,56,245,16,198,160,123,6,217,187,154,217,9,249,96,72,70,252,144,201,132,202,25,241,3,39,25,121,142,231,45,216,98,40,170,12,65,181,93,132,245,134,216,226,192,184,78,127,111,163,203,196,235,206,51,180,199,117,186,215,197,159,226,158,131,212,178,170,42,100,89,124,81,104,231,136,47,60,240,183,208,220,29,104,39,56,243,119,76,117,220,239,238,129,29,146,62,73,18,170,210,39,194,177,222,156,196,231,145,233,173,167,143,95,138,37,198,115,195,131,184,157,76,58,231,149,238,219,131,89,24,173,120,77,29,227,46,213,22,183,75,10,241,150,226,75,232,13,173,230,198,155,144,243,197,169,167,163,211,102,146,208,177,75,85,93,171,84,193,156,98,212,249,24,170,170,235,162,209,3,150,97,178,174,107,3,50,65,51,33,132,161,218,167,226,121,2,171,74,33,208,161,214,244,248,186,13,81,164,132,76,84,68,185,36,109,76,206,7,149,97,252,171,182,89,27,251,138,129,84,148,181,48,189,115,102,234,109,167,239,189,67,151,179,236,143,122,196,186,30,46,50,34,156,140,210,239,70,51,194,38,144,97,116,116,18,115,221,119,246,165,75,85,38,201,248,83,146,168,20,15,120,230,117,61,30,187,193,227,192,163,143,232,152,251,148,36,185,247,208,245,78,4,115,141,7,177,74,190,228,123,79,129,141,128,217,224,43,81,205,55,139,186,166,240,35,230,11,54,213,45,150,62,31,64,210,193,160,194,168,39,34,68,235,83,162,81,184,196,224,238,194,31,181,168,184,17,215,84,131,53,181,210,162,224,6,39,166,228,198,15,233,99,146,208,226,36,132,212,171,214,82,58,181,252,32,171,181,138,202,27,230,91,7,119,78,223,151,227,125,85,160,20,87,122,56,154,171,217,226,230,6,8,43,150,188,18,203,186,134,30,237,42,115,215,137,33,117,129,161,37,48,244,216,165,133,253,121,187,85,203,66,58,52,193,229,90,66,182,247,206,236,118,106,73,25,123,112,233,82,58,41,242,105,240,218,135,14,40,238,210,143,178,90,91,33,236,108,238,22,217,220,45,154,176,31,255,133,181,112,17,35,29,125,152,98,165,110,148,118,47,189,96,162,176,168,172,51,187,78,219,24,251,13,144,43,45,196,42,158,194,94,121,117,103,64,97,30,69,158,53,7,182,79,66,210,182,212,164,120,48,23,105,192,215,212,240,61,235,45,154,50,46,115,80,77,136,83,144,117,166,20,143,155,178,175,179,139,99,15,173,152,24,252,28,124,198,213,92,46,230,46,45,22,156,120,117,50,220,255,129,111,116,75,65,72,112,215,12,193,241,130,121,89,221,12,66,118,109,77,170,235,122,172,210,194,6,10,191,243,244,86,75,16,30,26,79,155,180,97,161,47,186,49,102,141,61,170,231,110,49,85,115,215,3,57,29,160,139,240,135,155,36,49,49,214,177,195,137,7,244,252,136,229,129,113,149,186,98,171,222,59,185,221,161,152,109,222,196,75,233,0,206,220,194,84,83,29,181,84,211,85,116,111,159,38,103,196,119,2,21,3,80,77,207,0,218,54,73,200,100,153,246,190,178,46,151,37,201,64,34,162,70,58,68,41,177,98,140,119,100,204,174,123,172,225,193,84,197,186,208,178,196,121,202,212,161,27,76,126,231,69,184,99,117,141,244,195,187,0,40,208,83,192,123,179,30,164,15,64,241,192,241,86,92,54,103,213,218,16,108,127,104,116,47,186,97,240,92,15,168,220,83,95,231,129,99,88,118,1,127,62,9,98,244,202,228,123,91,248,131,223,60,23,15,248,158,145,152,204,175,203,125,21,94,205,222,145,3,255,40,30,182,102,111,21,144,163,202,8,62,155,27,85,17,142,143,165,146,55,42,38,67,129,105,145,230,101,145,127,22,69,138,137,75,115,171,227,243,126,23,159,128,187,5,121,13,143,72,60,75,128,15,225,73,60,200,229,50,187,137,81,152,229,33,50,252,208,177,32,94,136,239,123,123,27,73,178,57,62,107,242,61,58,210,247,157,131,55,114,128,153,85,224,95,203,139,89,17,133,215,113,93,140,101,93,238,150,30,45,160,130,193,19,74,96,226,196,70,138,25,45,210,189,246,71,88,48,210,187,93,187,113,173,236,203,18,150,112,22,146,99,182,169,219,84,230,22,181,44,96,124,140,187,166,68,221,237,112,91,100,20,59,79,2,70,75,175,139,222,185,155,222,201,0,111,27,197,212,80,96,175,79,138,28,21,88,173,154,115,61,43,157,26,173,142,234,239,156,82,239,181,192,45,191,100,126,7,97,117,74,229,241,197,129,47,7,146,47,15,252,78,156,255,225,79,2,215,157,101,252,164,46,229,189,170,230,191,253,107,241,164,14,7,39,205,141,55,2,33,141,157,243,23,226,161,175,71,50,114,186,140,9,7,197,50,164,221,32,247,87,180,158,47,120,148,127,32,219,97,26,12,237,82,173,165,59,166,214,9,173,218,3,26,56,27,223,86,108,181,234,151,43,139,155,94,137,110,236,109,4,41,232,90,96,77,191,168,235,94,164,128,149,133,104,15,223,253,226,91,43,108,251,252,23,85,154,174,156,226,184,33,194,43,191,122,115,190,226,219,94,200,165,74,146,49,136,179,25,125,100,67,100,155,54,213,56,94,129,9,186,101,25,213,212,176,186,222,83,201,234,90,162,228,175,107,42,69,193,11,97,184,17,150,113,42,189,252,45,252,49,11,60,222,9,159,209,211,26,240,136,20,75,198,183,39,118,42,48,58,30,153,28,192,240,37,181,160,217,238,119,138,75,198,229,48,30,3,32,150,36,116,117,2,254,10,142,7,85,82,135,200,143,165,33,208,147,26,128,16,62,248,170,1,77,73,162,81,19,210,66,196,147,118,20,116,17,127,200,247,21,88,207,30,62,102,154,3,87,252,88,84,106,153,217,3,227,52,175,107,201,26,221,60,47,22,143,201,54,126,201,24,235,128,199,27,24,27,151,188,224,134,175,234,58,247,225,222,126,78,87,171,163,73,141,128,233,127,52,153,50,136,25,227,143,240,201,206,76,22,44,206,85,93,211,102,22,139,56,85,5,76,149,60,217,10,42,163,203,188,224,166,211,93,87,21,235,181,170,142,244,71,227,212,213,184,149,113,116,116,204,71,82,163,106,162,138,101,18,163,71,3,200,181,195,65,1,158,17,208,124,73,146,129,235,159,124,180,0,102,90,204,186,47,148,101,24,157,36,93,190,193,22,73,47,152,165,247,137,118,194,185,195,184,126,146,122,89,170,10,71,117,56,26,115,248,54,160,58,13,47,190,178,173,134,107,212,136,29,213,71,132,64,8,29,201,96,2,235,138,42,130,200,123,90,133,5,81,215,234,248,124,80,84,140,34,170,59,195,248,216,252,149,213,145,36,205,173,50,120,214,60,66,149,81,196,40,254,97,4,192,101,84,26,185,28,85,202,22,95,212,200,251,8,71,123,141,137,136,73,70,203,235,210,63,52,208,100,20,128,201,168,129,37,163,6,226,140,34,170,25,181,8,104,212,162,158,81,190,145,122,173,70,94,246,141,62,171,123,172,240,179,186,223,85,202,90,120,216,239,70,234,248,212,212,240,246,218,177,175,212,125,53,140,234,26,35,249,155,176,144,48,219,84,161,227,50,76,215,145,122,247,108,30,142,214,122,15,82,188,35,192,136,70,186,135,243,238,56,221,5,26,216,36,224,51,198,43,49,190,0,148,227,88,231,162,29,114,189,191,190,46,149,37,32,157,42,49,30,187,185,93,100,38,94,137,211,238,174,23,186,112,129,141,120,197,199,23,140,75,106,216,225,64,31,115,208,220,119,143,233,27,17,153,176,141,126,65,119,120,28,58,8,77,207,77,199,186,191,123,149,148,57,65,47,42,93,151,230,90,150,179,123,176,243,10,127,203,78,224,184,166,24,94,15,22,115,38,201,133,16,194,165,254,122,142,201,36,73,160,86,196,114,68,126,146,119,239,157,172,28,57,246,198,180,165,199,103,103,177,240,105,81,179,235,150,220,117,35,137,188,19,64,221,185,54,104,192,199,190,190,87,122,25,29,121,42,158,4,130,170,97,164,88,239,15,77,62,194,231,138,187,69,204,131,3,237,100,236,102,233,185,95,34,213,188,199,75,199,174,112,41,136,221,231,185,178,150,76,117,26,30,125,103,10,84,31,142,113,155,36,54,173,148,53,229,141,143,58,45,160,5,9,109,112,67,53,47,66,219,161,30,62,135,182,212,130,241,21,149,188,127,97,145,60,181,209,109,67,22,155,226,90,11,122,141,107,238,0,114,23,73,82,164,149,2,161,142,141,75,62,199,47,216,184,229,210,55,238,207,54,194,39,203,85,93,59,108,221,143,185,119,65,154,135,101,222,127,223,80,97,10,79,254,2,23,223,184,245,77,195,224,172,175,255,69,248,238,71,183,96,252,186,119,247,211,115,172,217,59,24,45,58,89,126,68,199,97,199,241,164,124,68,73,103,188,113,239,164,147,63,158,86,65,236,222,212,142,199,112,155,183,207,71,78,72,37,154,224,189,41,225,223,99,28,4,247,31,196,122,230,47,225,201,148,16,155,25,249,100,141,38,217,109,115,233,18,9,62,233,172,115,171,5,185,219,150,132,213,181,191,182,231,228,174,169,96,168,130,90,156,169,140,170,9,73,200,196,117,110,131,155,39,179,197,195,37,255,254,112,206,201,172,187,24,94,248,101,180,171,12,176,201,75,233,100,146,40,28,59,238,145,197,104,205,112,65,31,126,240,86,61,250,172,240,192,130,220,134,87,80,82,149,92,226,30,154,44,25,227,99,159,94,215,42,250,221,255,243,213,7,50,22,254,181,239,156,79,18,36,196,14,63,67,169,15,168,239,168,74,247,85,41,246,254,151,135,30,132,95,225,69,202,209,117,95,120,2,186,115,146,161,53,239,169,102,120,55,139,229,86,128,173,31,138,247,78,194,83,11,2,221,231,137,223,31,246,85,153,41,31,142,168,121,88,143,153,229,177,155,153,57,28,59,76,177,11,30,143,74,209,156,166,167,26,4,254,49,42,210,108,26,52,125,103,167,67,243,156,61,20,145,242,185,135,187,90,216,153,201,204,132,204,201,132,86,237,101,147,66,20,117,221,108,116,21,51,141,145,33,100,65,64,122,39,137,156,161,239,142,230,169,150,91,197,243,16,234,151,181,37,234,122,108,147,164,83,221,12,134,145,115,203,53,203,124,97,232,208,33,186,84,114,94,242,79,98,2,198,244,75,233,20,47,186,119,111,125,20,231,79,61,15,95,93,207,255,120,186,248,142,206,50,58,27,63,189,58,247,169,207,216,83,76,102,223,181,73,231,235,130,223,250,187,172,128,197,107,192,214,69,142,160,133,93,117,118,106,206,11,188,116,107,56,219,221,182,60,47,248,70,144,78,242,57,46,47,190,22,126,207,199,223,126,245,202,223,219,245,228,156,47,69,113,124,197,147,36,108,186,76,55,149,90,9,149,150,198,87,131,239,60,170,24,60,170,15,18,232,111,239,223,190,121,39,250,134,13,110,80,17,152,54,116,161,181,87,151,96,9,152,109,15,21,87,124,47,116,138,76,255,66,150,229,181,204,63,243,82,208,30,51,238,217,108,79,89,182,135,165,143,219,49,100,242,105,50,225,249,105,175,131,208,96,124,41,212,188,92,240,141,232,7,26,229,39,208,150,120,16,5,146,153,200,107,131,234,149,87,226,1,159,179,77,115,79,19,106,154,93,101,182,133,85,180,98,28,235,50,154,18,132,128,161,146,166,177,130,239,217,67,94,42,89,125,40,182,0,243,232,42,22,89,173,104,187,221,199,67,243,99,81,4,225,96,102,91,106,230,23,11,94,121,188,32,189,43,103,95,215,177,167,254,3,135,241,137,37,44,136,30,173,150,44,73,150,88,3,16,193,136,198,232,218,209,138,107,127,23,192,140,110,104,28,44,175,88,70,177,174,142,189,97,218,243,232,7,158,167,182,202,133,6,201,211,138,210,171,25,77,39,76,92,205,64,148,62,185,20,100,82,50,94,164,27,37,151,189,27,159,114,198,53,122,100,205,222,61,187,64,91,213,42,215,16,165,109,114,67,73,200,134,231,27,98,25,6,29,60,4,62,123,175,156,43,244,218,138,7,160,85,134,114,148,183,64,165,35,149,52,71,98,101,154,71,237,137,143,168,220,112,107,151,123,200,148,141,47,248,221,166,26,8,181,128,69,173,210,223,94,255,242,147,115,187,95,213,159,123,101,221,129,203,60,87,59,103,179,7,207,104,217,241,22,42,31,245,22,221,35,233,119,103,157,77,87,14,188,159,109,248,221,182,204,122,75,246,110,91,242,17,214,15,106,207,31,211,88,251,19,17,190,217,29,72,79,114,224,121,101,172,125,105,182,178,208,217,248,146,7,202,101,23,188,163,207,96,160,185,204,55,10,30,90,165,158,233,72,219,118,250,65,107,180,158,128,135,3,55,117,253,112,96,124,37,92,250,82,173,84,85,169,37,48,93,124,166,254,100,84,142,160,189,55,79,172,217,51,173,230,249,34,73,40,252,136,126,158,121,190,96,254,50,140,138,241,42,237,140,165,174,233,205,160,92,226,55,94,46,85,168,12,195,139,255,233,215,32,150,222,211,157,155,114,66,206,207,201,100,153,110,140,117,99,113,115,148,126,131,233,208,254,190,42,235,154,226,111,87,238,197,27,241,112,39,225,214,183,220,196,109,146,127,35,140,61,59,187,132,1,98,65,255,217,239,124,94,240,91,198,248,11,24,221,70,84,141,78,231,247,226,252,106,150,78,96,5,121,128,131,133,24,191,79,18,186,17,1,5,32,69,96,214,2,166,166,184,27,130,41,176,144,47,234,154,52,91,247,155,14,118,216,176,102,16,123,255,203,201,71,65,38,157,13,17,198,67,110,33,154,232,239,251,147,82,149,151,204,179,240,59,33,98,70,178,240,226,69,9,33,25,201,131,224,22,51,194,88,87,39,208,138,175,226,22,230,134,175,248,13,222,99,121,203,223,242,181,168,210,176,152,230,155,5,255,36,30,14,252,250,200,172,252,52,87,253,131,12,11,129,230,195,129,191,71,143,238,213,237,217,98,146,177,171,243,171,243,30,13,103,205,77,85,89,103,10,227,140,115,152,159,187,77,69,25,127,45,202,212,42,23,86,247,79,74,46,85,5,188,184,74,146,85,35,235,203,19,182,188,166,228,183,179,80,72,45,207,0,250,19,78,250,162,130,0,12,39,207,113,132,132,175,235,154,124,119,254,29,97,156,194,192,183,197,86,121,96,183,6,40,182,110,57,137,147,192,72,107,177,142,200,153,55,200,185,76,205,141,170,170,98,169,94,135,26,146,228,52,141,174,129,73,171,120,32,208,55,212,123,13,220,84,69,132,235,241,104,53,128,71,89,146,92,83,18,14,58,157,65,89,194,143,106,238,203,172,179,219,219,219,179,149,169,182,103,251,170,84,58,55,75,181,68,54,222,32,117,109,107,223,183,73,215,212,182,25,240,196,82,177,162,167,51,35,174,129,0,26,119,198,173,147,78,121,31,137,232,7,43,254,47,33,202,238,133,34,15,131,101,52,239,41,231,143,158,73,21,183,194,223,171,88,166,144,123,111,159,137,239,47,46,128,200,254,245,233,127,92,92,212,245,127,92,96,35,62,9,99,211,227,75,146,144,85,81,170,140,8,241,30,123,179,17,155,186,254,76,187,83,94,166,107,24,152,221,25,109,149,31,25,141,215,74,158,33,94,98,49,92,235,122,191,90,225,181,222,48,34,95,32,208,252,186,52,215,39,233,76,117,18,252,213,108,221,148,15,96,216,185,234,254,65,9,176,9,55,188,98,60,138,15,48,193,232,37,87,55,178,100,20,48,49,168,28,72,236,86,240,219,235,95,50,111,167,9,144,54,84,137,87,141,185,134,151,232,246,47,202,101,254,146,92,188,149,66,168,3,152,159,205,46,25,181,156,96,222,42,128,154,146,131,168,56,108,169,138,143,24,40,37,155,153,128,222,215,53,170,238,152,52,11,136,40,11,88,38,150,60,240,29,45,121,213,191,247,168,76,49,19,101,60,32,170,126,33,142,199,94,222,138,49,37,210,222,235,28,64,107,197,96,221,224,43,112,222,78,105,234,215,136,215,19,252,45,252,90,85,161,57,81,165,59,105,237,173,169,150,192,237,119,155,234,199,66,149,203,30,191,183,137,229,220,46,68,39,97,110,253,21,65,152,241,19,123,29,156,234,37,255,132,203,33,12,161,234,1,169,143,143,0,169,71,248,253,116,252,17,110,69,178,241,170,3,186,96,249,233,37,245,34,98,230,127,16,56,49,142,219,166,107,229,134,182,237,61,184,175,186,155,144,189,187,128,92,186,51,214,29,71,53,42,241,72,137,54,10,11,163,184,200,187,183,239,63,144,160,96,194,157,97,107,229,240,54,170,255,121,149,81,21,123,101,123,84,237,74,167,0,236,79,238,245,124,228,220,20,110,78,120,67,55,23,126,147,166,113,125,96,88,7,30,140,240,117,240,82,152,232,206,106,47,4,137,129,142,160,228,81,5,75,127,165,160,156,95,46,24,111,10,244,236,153,60,5,80,72,139,153,163,228,233,178,184,121,70,152,79,105,227,165,62,114,226,207,252,234,37,45,208,199,94,130,56,243,164,201,123,1,21,97,252,38,238,177,149,194,203,239,191,255,250,243,11,179,221,25,141,167,187,188,175,227,104,43,239,56,232,212,130,173,124,148,231,212,5,161,133,15,194,105,78,12,234,246,196,32,134,225,148,120,164,8,108,11,170,129,123,252,190,145,102,220,134,48,178,164,123,215,255,191,127,127,113,190,230,100,66,142,61,191,232,219,89,233,180,9,249,59,186,239,174,137,186,192,187,186,184,25,190,113,54,184,214,103,109,244,172,9,222,220,208,219,7,144,3,153,230,232,86,200,212,129,29,186,187,32,120,114,78,133,160,253,16,210,175,194,53,138,188,19,5,92,176,7,23,140,65,174,69,225,125,21,26,21,11,72,10,229,208,86,236,132,118,118,240,81,146,140,139,116,89,88,121,93,2,68,39,118,127,189,45,160,128,75,18,82,41,95,24,158,175,247,206,225,255,149,112,65,99,249,71,74,42,185,44,76,72,207,55,42,255,124,109,238,224,181,174,139,20,223,49,192,199,80,69,11,150,222,200,210,31,234,183,7,222,39,240,233,106,108,121,35,236,233,118,167,130,14,135,53,169,16,123,124,194,133,212,33,89,60,111,12,126,246,174,29,188,34,164,101,149,216,75,164,202,113,168,90,127,43,132,181,91,33,145,138,220,181,193,187,39,39,34,180,80,97,15,33,102,15,103,203,213,159,244,162,221,73,208,12,175,172,61,221,70,8,87,95,248,157,217,208,67,218,191,48,162,207,211,254,150,251,147,147,127,209,21,232,175,167,247,97,154,199,153,166,24,175,221,75,58,94,170,237,5,250,254,106,173,254,117,247,120,200,253,112,56,80,198,221,129,253,223,0,0,0,255,255,195,231,136,105,157,102,0,0 }; diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 0000000..a4fb72b --- /dev/null +++ b/tools/README.md @@ -0,0 +1,96 @@ +# ESPUI Build Tools + +This directory contains tools for preparing ESPUI's static web assets (HTML, CSS, JavaScript) for embedding in the ESP firmware. + +## prepare_static_ui_sources + +This tool processes frontend files from the `data/` directory: + +1. **Minifies** HTML, CSS, and JavaScript files to reduce size +2. **Compresses** the minified content using gzip +3. **Generates** C header files with `PROGMEM` constants for the `src/` directory + +The generated headers contain both raw minified strings and gzipped byte arrays, allowing ESPUI to serve web content directly from flash memory. + +### Prerequisites + +**Go version:** +```bash +# Dependencies are managed via go.mod, installed automatically +go mod tidy +``` + +### Usage + +Both versions support the same command-line interface: + +```bash +# Auto mode - process all files in data/ and output to src/ +# Go: +go run prepare_static_ui_sources.go -a + +# Auto mode without writing intermediate .min.* files +# Go: +go run prepare_static_ui_sources.go -a -m + +# Explicit source and target directories +# Go: +go run prepare_static_ui_sources.go -s ../data -t ../src + +# Process a single file +# Go: +go run prepare_static_ui_sources.go -s ../data/js/controls.js -t ../src/dataControlsJS.h +``` + +### Command-Line Options + +| Flag | Long Form | Description | +|------|-----------|-------------| +| `-a` | `--auto`, `--all` | Auto mode: find all source files in `data/` and write headers to `src/` | +| `-s` | `--source`, `--sources` | Source directory or file to process | +| `-t` | `--target` | Target directory or file for output | +| `-m` | `--nostoremini` | Skip writing intermediate `.min.*` files | + +### Output Format + +The tool generates C header files with this structure: + +```c +const char JS_CONTROLS[] PROGMEM = R"=====( +// minified content here +)====="; + +const uint8_t JS_CONTROLS_GZIP[4975] PROGMEM = { 31,139,8,0,... }; +``` + +### File Naming Convention + +Source files are mapped to header files as follows: + +| Source File | Header File | Constants | +|-------------|-------------|-----------| +| `data/index.htm` | `src/dataIndexHTML.h` | `HTML_INDEX`, `HTML_INDEX_GZIP` | +| `data/css/style.css` | `src/dataStyleCSS.h` | `CSS_STYLE`, `CSS_STYLE_GZIP` | +| `data/js/controls.js` | `src/dataControlsJS.h` | `JS_CONTROLS`, `JS_CONTROLS_GZIP` | + +### Building the Go Version + +To compile the Go tool into a standalone binary: + +```bash +cd tools +go build -o prepare_static_ui_sources prepare_static_ui_sources.go +./prepare_static_ui_sources -a +``` + +### Development Workflow + +After modifying any file in `data/`: + +1. Run the tool to regenerate headers: + ```bash + cd tools + go run prepare_static_ui_sources.go -a + ``` + +2. Commit both the modified source files and the regenerated headers in `src/`