From 4ea7928fd5dcc0a73f32e1c5b84f04dc937b8e1a Mon Sep 17 00:00:00 2001 From: Christian Riggenbach Date: Sun, 3 Mar 2019 23:22:01 +0100 Subject: [PATCH] Added Tabbed View * new member of Control: parentControl * changed addControl() to add children of elements * added some styles in the css * two new divs in index.html * added frontend code to controls.js * added new demo to demonstrate the tabbed view --- data/css/style.css | 41 ++++++ data/css/style.min.css | 2 +- data/index.htm | 4 +- data/index.min.htm | 2 +- data/js/controls.js | 108 +++++++++++---- data/js/controls.min.js | 27 ++-- examples/tabbedGui/tabbedGui.ino | 229 +++++++++++++++++++++++++++++++ src/ESPUI.cpp | 16 ++- src/ESPUI.h | 21 +-- src/dataControlsJS.h | 29 ++-- src/dataIndexHTML.h | 4 +- src/dataNormalizeCSS.h | 2 +- src/dataSliderJS.h | 2 +- src/dataStyleCSS.h | 4 +- src/dataTabbedcontentJS.h | 2 +- src/dataZeptoJS.h | 2 +- 16 files changed, 428 insertions(+), 67 deletions(-) create mode 100644 examples/tabbedGui/tabbedGui.ino diff --git a/data/css/style.css b/data/css/style.css index 6721a93..c7252e8 100644 --- a/data/css/style.css +++ b/data/css/style.css @@ -880,3 +880,44 @@ input[id^="num"] { font-weight: bold; font-size: 115%; } + +body div > ul { + margin: 0; + padding: 0; + border-bottom: 3px solid #666; + overflow: hidden; +} +ul li { + list-style: none; + float: left; + margin-right: 4px; +} +ul li.controls { + float: right; +} +ul 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 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; +} diff --git a/data/css/style.min.css b/data/css/style.min.css index de53df2..a3cee56 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{margin-top:2%;border-radius:6px;box-shadow:0 4px 4px rgba(204,197,185,0.5);padding-left:20px;padding-right:20px;margin-bottom:10px;min-width:150px;color:#fff}.card-slider{padding-bottom:10px}.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;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:2%}.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}#mainHeader{display:inline-block}#conStatus{position:inherit;font-size:.75em}button,.button{margin-bottom:1rem}.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}.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-bottom:12px;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)}input[id^="num"]{max-width:6em;width:auto;text-align:right;font-weight:bold;font-size:115%} \ No newline at end of file +.container{position:relative;width:79%;margin:20px;box-sizing:border-box}.column,.columns{width:100%;float:left}.card{margin-top:2%;border-radius:6px;box-shadow:0 4px 4px rgba(204,197,185,0.5);padding-left:20px;padding-right:20px;margin-bottom:10px;min-width:150px;color:#fff}.card-slider{padding-bottom:10px}.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;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:2%}.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}#mainHeader{display:inline-block}#conStatus{position:inherit;font-size:.75em}button,.button{margin-bottom:1rem}.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}.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-bottom:12px;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)}input[id^="num"]{max-width:6em;width:auto;text-align:right;font-weight:bold;font-size:115%}body div>ul{margin:0;padding:0;border-bottom:3px solid #666;overflow:hidden}ul li{list-style:none;float:left;margin-right:4px}ul li.controls{float:right}ul 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 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} \ No newline at end of file diff --git a/data/index.htm b/data/index.htm index 07c9ba8..5f31a72 100644 --- a/data/index.htm +++ b/data/index.htm @@ -21,9 +21,9 @@

Control
Offline


- -
+ +
diff --git a/data/index.min.htm b/data/index.min.htm index 7504a33..0561f4e 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.js b/data/js/controls.js index df3c890..6f21787 100644 --- a/data/js/controls.js +++ b/data/js/controls.js @@ -24,6 +24,9 @@ const UI_GRAPH = 9; const ADD_GRAPH_POINT = 10; const CLEAR_GRAPH = 109; +const UI_TAB = 11; +const UPDATE_TAB = 111; + const FOR = 0; const BACK = 1; const LEFT = 2; @@ -140,7 +143,13 @@ function start() { $("#mainHeader").html(data.label); break; case UI_LABEL: - $("#row").append( + var element; + if(data.parentControl) { + element = $("#tab"+data.parentControl); + } else { + element = $("#row") + } + element.append( "
" + @@ -200,7 +215,13 @@ function start() { data.id + ",null)' >
"; } - $("#row").append( + var element; + if(data.parentControl) { + element = $("#tab"+data.parentControl); + } else { + element = $("#row") + } + element.append( "
OK"; //NO BREAK case UI_PAD: - $("#row").append( + var element; + if(data.parentControl) { + element = $("#tab"+data.parentControl); + } else { + element = $("#row") + } + element.append( "
" + @@ -271,9 +298,7 @@ function start() { touchstart: function(e) { e.preventDefault(); padclick(FOR, data.id, true); - } - }); - $("#pf" + data.id).on({ + }, touchend: function(e) { e.preventDefault(); padclick(FOR, data.id, false); @@ -283,9 +308,7 @@ function start() { touchstart: function(e) { e.preventDefault(); padclick(LEFT, data.id, true); - } - }); - $("#pl" + data.id).on({ + }, touchend: function(e) { e.preventDefault(); padclick(LEFT, data.id, false); @@ -295,9 +318,7 @@ function start() { touchstart: function(e) { e.preventDefault(); padclick(RIGHT, data.id, true); - } - }); - $("#pr" + data.id).on({ + }, touchend: function(e) { e.preventDefault(); padclick(RIGHT, data.id, false); @@ -307,9 +328,7 @@ function start() { touchstart: function(e) { e.preventDefault(); padclick(BACK, data.id, true); - } - }); - $("#pb" + data.id).on({ + }, touchend: function(e) { e.preventDefault(); padclick(BACK, data.id, false); @@ -319,9 +338,7 @@ function start() { touchstart: function(e) { e.preventDefault(); padclick(CENTER, data.id, true); - } - }); - $("#pc" + data.id).on({ + }, touchend: function(e) { e.preventDefault(); padclick(CENTER, data.id, false); @@ -337,7 +354,13 @@ function start() { else switcher(data.id, 1); break; case UI_SLIDER: - $("#row").append( + var element; + if(data.parentControl) { + element = $("#tab"+data.parentControl); + } else { + element = $("#row") + } + element.append( "
" + @@ -357,7 +380,13 @@ function start() { "
" + "
" ); - $("#row").append( + var element; + if(data.parentControl) { + element = $("#tab"+data.parentControl); + } else { + element = $("#row") + } + element.append( "" ); break; @@ -367,7 +396,13 @@ function start() { break; case UI_NUMBER: - $("#row").append( + var element; + if(data.parentControl) { + element = $("#tab"+data.parentControl); + } else { + element = $("#row") + } + element.append( "
" + @@ -392,7 +427,13 @@ function start() { break; case UI_TEXT_INPUT: - $("#row").append( + var element; + if(data.parentControl) { + element = $("#tab"+data.parentControl); + } else { + element = $("#row") + } + element.append( "
" + @@ -415,6 +456,27 @@ function start() { case UPDATE_TEXT_INPUT: $("#text" + data.id).val(data.value); break; + + case UI_TAB: + $("#tabsnav").append( + "
  • " + data.value + "
  • " + ); + $("#tabscontent").append( + "
    " + ); + + tabs = $('.tabscontent').tabbedContent({loop: true}).data('api'); + // switch to tab... + $('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; default: console.error("Unknown type or event"); diff --git a/data/js/controls.min.js b/data/js/controls.min.js index b61c5de..a674728 100644 --- a/data/js/controls.min.js +++ b/data/js/controls.min.js @@ -1,8 +1,9 @@ -const UI_INITIAL_GUI=200;const UI_TITEL=0;const UI_BUTTON=1;const UI_PAD=2;const UI_CPAD=3;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 FOR=0;const BACK=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;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_NONE:return"dark";default:return"";}} +const UI_INITIAL_GUI=200;const UI_TITEL=0;const UI_BUTTON=1;const UI_PAD=2;const UI_CPAD=3;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 FOR=0;const BACK=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;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_NONE:return"dark";default:return"";}} var websock;var websockConnected=false;function restart(){$(document).add("*").off();$("#row").html("");websock.close();start();} function conStatusError(){websockConnected=false;$("#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(){document.addEventListener("visibilitychange",handleVisibilityChange,false);websock=new WebSocket("ws://"+window.location.hostname+"/ws");websock.onopen=function(evt){console.log("websock open");$("#conStatus").addClass("color-green");$("#conStatus").text("Connected");websockConnected=true;};websock.onclose=function(evt){console.log("websock close");conStatusError();};websock.onerror=function(evt){console.log(evt);conStatusError();};var handleEvent=function(evt){var data=JSON.parse(evt.data);var e=document.body;var center="";switch(data.type){case UI_INITIAL_GUI:data.controls.forEach(element=>{var fauxEvent={data:JSON.stringify(element)};handleEvent(fauxEvent);});break;case UI_TITEL:document.title=data.label;$("#mainHeader").html(data.label);break;case UI_LABEL:$("#row").append("
    "+ data.value+ -"
    ");break;case UI_BUTTON:$("#row").append("
    "+ data.label+ @@ -33,7 +35,8 @@ data.id+ "' onClick='switcher("+ data.id+ ",null)' >
    ";} -$("#row").append("
    OK";case UI_PAD:$("#row").append("
    OK";case UI_PAD:var element;if(data.parentControl){element=$("#tab"+data.parentControl);}else{element=$("#row")} +element.append("
    "+ data.label+ @@ -87,7 +91,8 @@ data.id+ ""+ center+ ""+ -"
    ");$("#pf"+data.id).on({touchstart:function(e){e.preventDefault();padclick(FOR,data.id,true);}});$("#pf"+data.id).on({touchend:function(e){e.preventDefault();padclick(FOR,data.id,false);}});$("#pl"+data.id).on({touchstart:function(e){e.preventDefault();padclick(LEFT,data.id,true);}});$("#pl"+data.id).on({touchend:function(e){e.preventDefault();padclick(LEFT,data.id,false);}});$("#pr"+data.id).on({touchstart:function(e){e.preventDefault();padclick(RIGHT,data.id,true);}});$("#pr"+data.id).on({touchend:function(e){e.preventDefault();padclick(RIGHT,data.id,false);}});$("#pb"+data.id).on({touchstart:function(e){e.preventDefault();padclick(BACK,data.id,true);}});$("#pb"+data.id).on({touchend:function(e){e.preventDefault();padclick(BACK,data.id,false);}});$("#pc"+data.id).on({touchstart:function(e){e.preventDefault();padclick(CENTER,data.id,true);}});$("#pc"+data.id).on({touchend:function(e){e.preventDefault();padclick(CENTER,data.id,false);}});break;case UPDATE_LABEL:$("#l"+data.id).html(data.value);break;case UPDATE_SWITCHER:if(data.value=="0")switcher(data.id,0);else switcher(data.id,1);break;case UI_SLIDER:$("#row").append("
    "+ "
    "+ "
    "+ -"
    ");$("#row").append("");break;case UPDATE_SLIDER:slider_move($("#sl"+data.id),data.value,"100",false);break;case UI_NUMBER:$("#row").append("
    ");break;case UPDATE_SLIDER:slider_move($("#sl"+data.id),data.value,"100",false);break;case UI_NUMBER:var element;if(data.parentControl){element=$("#tab"+data.parentControl);}else{element=$("#row")} +element.append("
    "+ "
    "+ -"
    ");break;case UPDATE_NUMBER:$("#num"+data.id).val(data.value);break;case UI_TEXT_INPUT:$("#row").append("
    "+ "
    "+ -"
    ");break;case UPDATE_TEXT_INPUT:$("#text"+data.id).val(data.value);break;default:console.error("Unknown type or event");break;}};websock.onmessage=handleEvent;} +"
    ");break;case UPDATE_TEXT_INPUT:$("#text"+data.id).val(data.value);break;case UI_TAB:$("#tabsnav").append("
  • "+data.value+"
  • ");$("#tabscontent").append("
    ");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;default:console.error("Unknown type or event");break;}};websock.onmessage=handleEvent;} function numberchange(number){var val=$("#num"+number).val();websock.send("nvalue:"+val+":"+number);console.log(val);} function textchange(number){var val=$("#text"+number).val();websock.send("tvalue:"+val+":"+number);console.log(val);} function buttonclick(number,isdown){if(isdown)websock.send("bdown:"+number);else websock.send("bup:"+number);} diff --git a/examples/tabbedGui/tabbedGui.ino b/examples/tabbedGui/tabbedGui.ino new file mode 100644 index 0000000..ebc484d --- /dev/null +++ b/examples/tabbedGui/tabbedGui.ino @@ -0,0 +1,229 @@ +#include +#include + +const byte DNS_PORT = 53; +IPAddress apIP( 192, 168, 1, 1 ); +DNSServer dnsServer; + +#if defined(ESP32) +#include +#else +#include +#endif + +// true for verbose, false for quiet +ESPUIClass ESPUI( Verbosity::VerboseJSON ); + +const char* ssid = "ESPUI"; +const char* password = "espui"; +const char* hostname = "EspuiTest"; + +void numberCall( Control sender, int type ) { + Serial.println( sender.value ); +} + +void textCall( Control sender, int type ) { + Serial.println( sender.value ); +} + +void slider( Control sender, int type ) { + Serial.println( sender.value ); +} + +void buttonCallback( Control sender, int type ) { + switch ( type ) { + case B_DOWN: + Serial.println( "Button DOWN" ); + break; + + case B_UP: + Serial.println( "Button UP" ); + break; + } +} + +void buttonExample( Control sender, int type ) { + switch ( type ) { + case B_DOWN: + Serial.println( "Status: Start" ); + ESPUI.updateControl( "Status:", "Start" ); + break; + + case B_UP: + Serial.println( "Status: Stop" ); + ESPUI.updateControl( "Status:", "Stop" ); + break; + } +} +void padExample( Control sender, int value ) { + switch ( value ) { + case P_LEFT_DOWN: + Serial.print( "left down" ); + break; + + case P_LEFT_UP: + Serial.print( "left up" ); + break; + + case P_RIGHT_DOWN: + Serial.print( "right down" ); + break; + + case P_RIGHT_UP: + Serial.print( "right up" ); + break; + + case P_FOR_DOWN: + Serial.print( "for down" ); + break; + + case P_FOR_UP: + Serial.print( "for up" ); + break; + + case P_BACK_DOWN: + Serial.print( "back down" ); + break; + + case P_BACK_UP: + Serial.print( "back up" ); + break; + + case P_CENTER_DOWN: + Serial.print( "center down" ); + break; + + case P_CENTER_UP: + Serial.print( "center up" ); + break; + } + + Serial.print( " " ); + Serial.println( sender.id ); +} + +void switchExample( Control sender, int value ) { + switch ( value ) { + case S_ACTIVE: + Serial.print( "Active:" ); + break; + + case S_INACTIVE: + Serial.print( "Inactive" ); + break; + } + + Serial.print( " " ); + Serial.println( sender.id ); +} + +void otherSwitchExample( Control sender, int value ) { + switch ( value ) { + case S_ACTIVE: + Serial.print( "Active:" ); + break; + + case S_INACTIVE: + Serial.print( "Inactive" ); + break; + } + + Serial.print( " " ); + Serial.println( sender.id ); +} + +void setup( void ) { + Serial.begin( 115200 ); + +#if defined(ESP32) + WiFi.setHostname( hostname ); +#else + WiFi.hostname( hostname ); +#endif + + // try to connect to existing network + WiFi.begin( ssid, password ); + Serial.print( "\n\nTry to connect to existing network" ); + + { + uint8_t timeout = 5; + + // Wait for connection, 2.5s timeout + do { + delay( 500 ); + Serial.print( "." ); + timeout--; + } while ( timeout && WiFi.status() != WL_CONNECTED ); + + // not connected -> create hotspot + if ( WiFi.status() != WL_CONNECTED ) { + Serial.print( "\n\nCreating hotspot" ); + + WiFi.mode( WIFI_AP ); + WiFi.softAPConfig( apIP, apIP, IPAddress( 255, 255, 255, 0 ) ); + WiFi.softAP( ssid ); + + timeout = 5; + + do { + delay( 500 ); + Serial.print( "." ); + timeout--; + } while ( timeout ); + } + } + + dnsServer.start( DNS_PORT, "*", apIP ); + + Serial.println( "\n\nWiFi parameters:" ); + Serial.print( "Mode: " ); + Serial.println( WiFi.getMode() == WIFI_AP ? "Station" : "Client" ); + Serial.print( "IP address: " ); + Serial.println( WiFi.getMode() == WIFI_AP ? WiFi.softAPIP() : WiFi.localIP() ); + + uint16_t tab1 = ESPUI.addControl( ControlType::Tab, "Settings 1", "Settings 1"); + uint16_t tab2 = ESPUI.addControl( ControlType::Tab, "Settings 2", "Settings 2"); + uint16_t tab3 = ESPUI.addControl( ControlType::Tab, "Settings 3", "Settings 3"); + + ESPUI.addControl( ControlType::Label, "Status:", "Stop",ControlColor::Turquoise, nullptr, tab1 ); + ESPUI.addControl( ControlType::Label, "Millis:", "0", ControlColor::Emerald, nullptr, tab1 ); + ESPUI.addControl( ControlType::Button, "Push Button", "Press", ControlColor::Peterriver, &buttonCallback, tab1 ); + ESPUI.addControl( ControlType::Button, "Other Button", "Press", ControlColor::Wetasphalt, &buttonExample, tab1 ); + ESPUI.addControl( ControlType::PadWithCenter, "Pad with center", "", ControlColor::Sunflower, &padExample, tab2 ); + ESPUI.addControl( ControlType::Pad, "Pad without center", "", ControlColor::Carrot, &padExample, tab3 ); + ESPUI.addControl( ControlType::Switcher, "Switch one", "", ControlColor::Alizarin, &switchExample, tab3 ); + ESPUI.addControl( ControlType::Switcher, "Switch two", "", ControlColor::None, &otherSwitchExample, tab3 ); + ESPUI.addControl( ControlType::Slider, "Slider one", "30", ControlColor::Alizarin, &slider, tab1 ); + ESPUI.addControl( ControlType::Slider, "Slider two", "100", ControlColor::Alizarin, &slider, tab3 ); + ESPUI.addControl( ControlType::Text, "Text Test:", "a Text Field", ControlColor::Alizarin, &textCall, tab3 ); + ESPUI.addControl( ControlType::Number, "Number:", "50", ControlColor::Alizarin, &numberCall, tab3 ); + + /* + * .begin loads and serves all files from PROGMEM directly. + * If you want to serve the files from SPIFFS use ESPUI.beginSPIFFS + * (.prepareFileSystem has to be run in an empty sketch before) + */ + + /* + * Optionally you can use HTTP BasicAuth. Keep in mind that this is NOT a + * SECURE way of limiting access. + * Anyone who is able to sniff traffic will be able to intercept your password + * since it is transmitted in cleartext. Just add a username and password, + * for example begin("ESPUI Control", "username", "password") + */ + ESPUI.begin( "ESPUI Control" ); +} + +void loop( void ) { + dnsServer.processNextRequest(); + + static long oldTime = 0; + static bool switchi = false; + + if ( millis() - oldTime > 5000 ) { + ESPUI.updateControl( "Millis:", String( millis() ) ); + switchi = !switchi; + ESPUI.updateControl( "Switch one", switchi ? "1" : "0" ); + oldTime = millis(); + } +} diff --git a/src/ESPUI.cpp b/src/ESPUI.cpp index db7edab..c0ef0c4 100644 --- a/src/ESPUI.cpp +++ b/src/ESPUI.cpp @@ -361,9 +361,11 @@ void onWsEvent( AsyncWebSocket* server, AsyncWebSocketClient* client, } } -int ESPUIClass::addControl( ControlType type, const char* label, - String value, ControlColor color, - void ( *callback )( Control, int ) ) { +uint16_t ESPUIClass::addControl( ControlType type, const char* label, + String value, ControlColor color, + void ( *callback )( Control, int ), + uint16_t parentControl + ) { if ( this->getControl( label ) != nullptr ) { if ( this->verbosity ) { Serial.println( "UI ERROR: Element " + String( label ) + @@ -373,7 +375,7 @@ int ESPUIClass::addControl( ControlType type, const char* label, return -1; } - Control* control = new Control( type, label, callback, value, color ); + Control* control = new Control( type, label, callback, value, color, parentControl ); if ( this->controls == nullptr ) { this->controls = control; @@ -417,7 +419,7 @@ int ESPUIClass::switcher( const char* label, bool startState, int ESPUIClass::pad( const char* label, bool center, void ( *callback )( Control, int ), ControlColor color ) { if ( center ) { - return addControl( ControlType::Cpad, label, "", color, callback ); + return addControl( ControlType::PadWithCenter, label, "", color, callback ); } else { return addControl( ControlType::Pad, label, "", color, callback ); } @@ -608,6 +610,10 @@ void ESPUIClass::jsonDom( AsyncWebSocketClient* client ) { item["value"] = String( control->value ); item["color"] = ( int )control->color; + if ( control->parentControl != 0xffff ) { + item["parentControl"] = String( control->parentControl ); + } + items.add( item ); control = control->next; diff --git a/src/ESPUI.h b/src/ESPUI.h index bb871a6..c08a14a 100644 --- a/src/ESPUI.h +++ b/src/ESPUI.h @@ -34,10 +34,13 @@ // Message Types (and control types) enum ControlType : uint8_t { + // fixed controls Title = 0, Button, Pad, - Cpad, + PadWithCenter, + + // updatable controls Label, Switcher, Slider, @@ -45,6 +48,7 @@ enum ControlType : uint8_t { Text, Graph, GraphPoint, + Tab, UpdateOffset = 100, UpdateLabel = 104, @@ -53,6 +57,7 @@ enum ControlType : uint8_t { UpdateNumber, UpdateText, ClearGraph, + UpdateTab, InitialGui = 200 }; @@ -108,23 +113,22 @@ class Control { void ( *callback )( Control, int ); String value; ControlColor color; - - + uint16_t parentControl; Control* next; Control( ControlType type, const char* label, void ( *callback )( Control, int ), - String value, ControlColor color ) - : type( type ), label( label ), callback( callback ), value( value ), color( color ), next( nullptr ) { + String value, ControlColor color, uint16_t parentControl = 0xffff ) + : type( type ), label( label ), callback( callback ), value( value ), color( color ), parentControl(parentControl), next( nullptr ) { id = idCounter++; } Control( const Control& control ) : type( control.type ), id( control.id ), label( control.label ), callback( control.callback ), value( control.value ), - color( control.color ), next( control.next ) {} + color( control.color ), parentControl(control.parentControl), next( control.next ) {} private: static uint16_t idCounter; @@ -175,9 +179,9 @@ class ESPUIClass { void list(); // Creating Elements - int addControl( ControlType type, const char* label, + uint16_t addControl( ControlType type, const char* label, String value = String( "" ), ControlColor color = ControlColor::Turquoise, - void ( *callback )( Control, int ) = nullptr ); + void ( *callback )( Control, int ) = nullptr, uint16_t parentControl = 0xffff ); int button( const char* label, void ( *callback )( Control, int ), ControlColor color, @@ -255,3 +259,4 @@ class ESPUIClass { extern ESPUIClass ESPUI; #endif + diff --git a/src/dataControlsJS.h b/src/dataControlsJS.h index 88ee534..11fb746 100644 --- a/src/dataControlsJS.h +++ b/src/dataControlsJS.h @@ -1,9 +1,10 @@ const char JS_CONTROLS[] PROGMEM = R"=====( -const UI_INITIAL_GUI=200;const UI_TITEL=0;const UI_BUTTON=1;const UI_PAD=2;const UI_CPAD=3;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 FOR=0;const BACK=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;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_NONE:return"dark";default:return"";}} +const UI_INITIAL_GUI=200;const UI_TITEL=0;const UI_BUTTON=1;const UI_PAD=2;const UI_CPAD=3;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 FOR=0;const BACK=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;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_NONE:return"dark";default:return"";}} var websock;var websockConnected=false;function restart(){$(document).add("*").off();$("#row").html("");websock.close();start();} function conStatusError(){websockConnected=false;$("#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(){document.addEventListener("visibilitychange",handleVisibilityChange,false);websock=new WebSocket("ws://"+window.location.hostname+"/ws");websock.onopen=function(evt){console.log("websock open");$("#conStatus").addClass("color-green");$("#conStatus").text("Connected");websockConnected=true;};websock.onclose=function(evt){console.log("websock close");conStatusError();};websock.onerror=function(evt){console.log(evt);conStatusError();};var handleEvent=function(evt){var data=JSON.parse(evt.data);var e=document.body;var center="";switch(data.type){case UI_INITIAL_GUI:data.controls.forEach(element=>{var fauxEvent={data:JSON.stringify(element)};handleEvent(fauxEvent);});break;case UI_TITEL:document.title=data.label;$("#mainHeader").html(data.label);break;case UI_LABEL:$("#row").append("
    "+ data.value+ -"
    ");break;case UI_BUTTON:$("#row").append("
    "+ data.label+ @@ -34,7 +36,8 @@ data.id+ "' onClick='switcher("+ data.id+ ",null)' >
    ";} -$("#row").append("
    OK";case UI_PAD:$("#row").append("
    OK";case UI_PAD:var element;if(data.parentControl){element=$("#tab"+data.parentControl);}else{element=$("#row")} +element.append("
    "+ data.label+ @@ -88,7 +92,8 @@ data.id+ ""+ center+ ""+ -"
    ");$("#pf"+data.id).on({touchstart:function(e){e.preventDefault();padclick(FOR,data.id,true);}});$("#pf"+data.id).on({touchend:function(e){e.preventDefault();padclick(FOR,data.id,false);}});$("#pl"+data.id).on({touchstart:function(e){e.preventDefault();padclick(LEFT,data.id,true);}});$("#pl"+data.id).on({touchend:function(e){e.preventDefault();padclick(LEFT,data.id,false);}});$("#pr"+data.id).on({touchstart:function(e){e.preventDefault();padclick(RIGHT,data.id,true);}});$("#pr"+data.id).on({touchend:function(e){e.preventDefault();padclick(RIGHT,data.id,false);}});$("#pb"+data.id).on({touchstart:function(e){e.preventDefault();padclick(BACK,data.id,true);}});$("#pb"+data.id).on({touchend:function(e){e.preventDefault();padclick(BACK,data.id,false);}});$("#pc"+data.id).on({touchstart:function(e){e.preventDefault();padclick(CENTER,data.id,true);}});$("#pc"+data.id).on({touchend:function(e){e.preventDefault();padclick(CENTER,data.id,false);}});break;case UPDATE_LABEL:$("#l"+data.id).html(data.value);break;case UPDATE_SWITCHER:if(data.value=="0")switcher(data.id,0);else switcher(data.id,1);break;case UI_SLIDER:$("#row").append("
    "+ "
    "+ "
    "+ -"
    ");$("#row").append("");break;case UPDATE_SLIDER:slider_move($("#sl"+data.id),data.value,"100",false);break;case UI_NUMBER:$("#row").append("
    ");break;case UPDATE_SLIDER:slider_move($("#sl"+data.id),data.value,"100",false);break;case UI_NUMBER:var element;if(data.parentControl){element=$("#tab"+data.parentControl);}else{element=$("#row")} +element.append("
    "+ "
    "+ -"
    ");break;case UPDATE_NUMBER:$("#num"+data.id).val(data.value);break;case UI_TEXT_INPUT:$("#row").append("
    "+ "
    "+ -"
    ");break;case UPDATE_TEXT_INPUT:$("#text"+data.id).val(data.value);break;default:console.error("Unknown type or event");break;}};websock.onmessage=handleEvent;} +"
    ");break;case UPDATE_TEXT_INPUT:$("#text"+data.id).val(data.value);break;case UI_TAB:$("#tabsnav").append("
  • "+data.value+"
  • ");$("#tabscontent").append("
    ");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;default:console.error("Unknown type or event");break;}};websock.onmessage=handleEvent;} function numberchange(number){var val=$("#num"+number).val();websock.send("nvalue:"+val+":"+number);console.log(val);} function textchange(number){var val=$("#text"+number).val();websock.send("tvalue:"+val+":"+number);console.log(val);} function buttonclick(number,isdown){if(isdown)websock.send("bdown:"+number);else websock.send("bup:"+number);} @@ -143,4 +152,4 @@ function padclick(type,number,isdown){switch(type){case CENTER:if(isdown)websock function switcher(number,state){if(state==null){if($("#s"+number).is(":checked")){websock.send("sactive:"+number);$("#sl"+number).addClass("checked");}else{websock.send("sinactive:"+number);$("#sl"+number).removeClass("checked");}}else if(state==1){$("#sl"+number).addClass("checked");$("#sl"+number).prop("checked",true);}else if(state==0){$("#sl"+number).removeClass("checked");$("#sl"+number).prop("checked",false);}} )====="; -const uint8_t JS_CONTROLS_GZIP[2133] PROGMEM = { 31,139,8,0,190,66,124,92,2,255,213,89,109,114,219,56,18,253,239,83,112,152,169,72,92,59,178,148,25,103,50,162,233,42,69,86,98,109,52,178,71,150,39,91,251,71,5,145,80,196,50,5,114,65,80,138,215,165,107,236,65,230,72,115,146,109,0,4,248,97,210,178,173,202,86,237,31,155,108,52,30,30,94,55,26,32,228,134,36,102,198,205,112,54,28,15,167,195,222,104,246,233,102,232,188,109,183,109,87,53,76,135,211,193,200,201,25,62,220,76,167,151,99,167,147,89,174,122,231,206,219,236,181,207,223,127,202,222,71,189,15,128,240,179,50,92,157,247,166,131,212,216,105,255,156,249,93,127,25,78,251,23,131,137,115,82,116,213,246,78,251,36,231,61,26,158,131,237,93,201,87,90,59,237,119,153,231,248,230,183,15,96,251,165,232,153,90,59,237,95,114,115,29,252,99,10,74,92,221,76,157,247,69,239,92,75,167,253,62,235,241,105,210,187,186,112,126,77,13,189,243,115,105,153,93,93,14,199,220,53,109,232,143,6,189,73,234,220,105,43,247,143,151,19,45,236,135,94,255,179,214,116,52,248,56,213,138,78,134,159,46,166,90,207,254,96,60,5,218,74,182,254,108,122,51,249,253,230,114,120,61,208,80,253,217,224,183,193,164,55,58,215,120,253,217,213,0,122,77,134,127,64,215,183,218,248,101,48,237,93,95,93,244,70,57,248,217,245,205,248,227,232,242,75,97,140,126,111,50,185,156,234,184,244,103,189,209,240,159,189,201,112,172,229,239,207,206,123,147,207,90,227,254,108,124,57,30,56,111,79,78,236,69,66,92,230,135,196,112,195,32,164,253,0,197,113,83,60,14,61,235,62,125,112,198,201,106,142,169,182,219,241,198,103,238,50,231,135,98,156,159,107,151,98,150,80,98,194,159,127,37,161,31,99,211,78,93,210,169,43,7,188,194,20,5,158,110,206,116,80,30,17,102,152,82,127,141,169,118,202,116,81,78,27,204,80,28,45,81,192,180,147,214,73,249,196,9,89,4,225,38,135,35,101,83,237,46,162,52,204,250,43,9,85,51,10,252,127,35,234,19,237,192,21,84,141,30,162,183,166,237,225,5,74,2,166,140,166,189,221,30,172,17,53,54,120,30,135,238,173,157,123,238,135,132,96,151,97,207,89,160,32,198,89,20,40,142,25,162,172,105,221,255,216,244,66,55,89,97,194,172,22,242,188,166,249,55,211,106,133,139,69,211,178,127,108,154,175,104,184,129,247,37,91,5,77,211,180,236,20,183,229,6,97,140,193,37,69,177,183,7,185,0,147,107,134,88,18,15,96,162,20,70,168,225,194,209,181,47,140,65,241,42,92,99,153,25,166,8,249,155,175,20,99,98,90,15,92,129,103,193,143,98,175,194,75,146,22,44,140,99,99,28,26,41,3,78,242,245,171,247,239,126,58,177,43,122,101,83,47,88,73,243,222,13,124,247,182,155,42,183,45,204,121,137,136,23,224,63,252,216,159,251,129,207,238,250,96,248,10,250,220,251,139,230,15,229,249,191,126,253,131,146,188,181,244,61,15,19,235,94,199,131,7,83,195,170,24,105,119,152,248,96,13,15,35,63,102,152,192,82,49,215,122,76,87,140,105,30,85,115,57,18,162,235,0,58,4,111,140,47,120,126,13,207,152,53,205,77,220,61,62,54,15,55,62,241,194,77,43,8,93,196,9,180,150,97,204,8,90,225,67,243,120,19,231,194,31,146,48,194,196,81,68,155,120,205,248,42,38,113,24,96,232,253,21,0,165,167,193,253,158,16,193,186,72,51,252,13,216,105,233,50,10,89,54,49,154,96,123,155,163,38,114,243,41,220,132,35,64,150,51,182,128,134,185,237,17,52,110,168,66,224,171,80,134,66,68,172,132,192,91,61,196,144,243,247,235,203,113,43,66,20,86,19,52,180,184,205,18,125,177,163,163,62,15,189,59,97,115,225,13,83,7,150,124,90,25,185,123,139,221,69,56,173,141,197,29,188,43,154,129,27,163,97,16,183,22,33,29,32,232,132,3,204,97,157,51,193,2,106,201,55,201,240,158,187,119,5,161,152,65,9,250,234,47,238,148,179,181,181,115,147,105,234,78,48,83,203,158,83,140,110,109,69,64,156,20,186,154,60,243,89,0,115,225,76,2,52,199,129,8,241,10,249,228,2,35,15,170,100,186,78,51,135,50,158,56,34,116,179,90,132,34,72,41,168,83,167,158,191,134,16,66,18,57,13,182,9,249,198,146,172,72,108,64,129,245,12,38,165,50,204,195,131,220,134,147,234,1,239,214,225,129,217,56,59,93,158,24,190,231,52,192,75,52,249,158,48,171,87,65,7,44,167,199,203,19,240,133,42,114,118,26,71,136,136,62,65,177,147,98,34,250,24,226,239,155,13,69,81,134,182,70,65,130,5,26,199,56,59,61,6,254,103,102,121,182,242,88,181,99,186,144,149,47,156,110,237,220,96,106,243,132,49,40,58,33,89,133,73,140,161,14,16,167,33,109,162,242,53,11,19,62,50,248,186,179,26,202,61,137,30,117,150,213,167,241,152,218,153,62,18,39,83,136,139,97,30,166,125,100,45,102,97,226,46,69,121,236,102,11,203,186,199,173,136,98,158,151,231,114,143,132,149,152,39,149,66,28,9,234,80,105,235,161,65,242,151,0,167,69,118,251,96,81,168,195,107,151,47,57,161,189,99,158,202,92,225,146,196,129,38,113,152,229,146,92,228,6,176,129,34,237,129,82,162,8,248,36,74,152,83,200,7,159,64,112,133,221,224,197,192,105,136,46,243,240,155,20,60,46,165,106,72,250,156,181,26,128,111,35,133,104,145,36,8,32,86,233,184,42,14,54,236,101,89,160,28,199,108,155,214,253,243,166,194,167,240,63,163,175,121,111,15,106,86,211,195,100,252,174,11,12,90,82,163,152,171,104,19,6,222,98,214,212,3,254,21,213,85,117,255,20,41,130,80,212,23,62,93,53,138,171,53,66,158,204,71,249,121,112,100,236,92,178,187,122,168,117,187,164,120,225,52,94,201,128,68,110,105,9,95,126,62,61,70,103,166,38,205,57,127,175,130,253,184,192,230,41,65,235,156,72,124,231,107,200,134,36,213,57,240,207,64,199,106,221,224,83,236,57,162,85,185,87,43,182,40,41,246,215,127,254,228,146,65,2,248,187,89,137,79,191,231,240,170,238,80,205,140,238,195,140,127,161,62,135,88,165,127,53,175,96,31,94,252,51,250,57,188,42,253,171,121,205,119,241,58,150,137,38,243,89,24,32,37,139,75,156,175,13,158,18,47,220,210,10,249,87,189,167,85,163,63,97,87,171,196,206,109,107,2,60,216,159,186,200,132,26,238,193,190,220,11,224,101,242,116,127,242,114,125,213,176,167,251,178,47,162,151,233,207,247,167,47,178,189,134,253,124,95,246,5,240,50,121,119,127,242,233,70,85,67,223,221,151,126,9,190,230,64,151,187,188,20,27,93,62,99,179,207,25,113,80,170,234,168,79,131,21,71,42,125,168,81,20,218,150,141,129,132,241,160,161,243,224,144,41,110,61,95,186,243,242,151,55,113,224,123,59,119,97,81,203,158,253,233,36,122,169,99,87,92,243,249,68,111,87,154,132,252,247,198,243,99,151,98,134,213,251,19,184,229,207,146,148,223,126,52,140,149,15,251,67,27,254,163,111,78,163,211,134,39,169,121,163,252,249,209,200,151,234,114,209,46,201,10,196,252,136,129,155,201,121,207,196,80,215,130,101,179,241,170,120,16,182,108,240,130,79,191,180,71,101,86,200,240,201,105,206,248,101,88,147,143,153,195,177,142,50,170,71,38,204,194,84,9,90,76,4,121,169,253,125,142,96,123,4,95,134,37,102,119,1,63,227,115,200,238,60,64,238,173,45,183,86,146,172,74,73,33,35,72,196,173,112,125,192,96,71,151,119,95,202,85,190,21,191,10,96,31,63,174,63,103,231,127,11,16,178,9,46,122,73,195,80,181,43,58,255,115,193,255,155,226,252,118,173,36,249,19,68,230,189,94,42,113,73,43,73,96,135,206,234,190,91,221,186,137,27,185,166,121,67,110,9,156,250,68,146,24,33,53,68,69,215,131,110,243,119,120,43,28,199,8,168,231,174,176,242,183,183,133,172,145,47,242,134,14,104,56,58,27,210,6,65,50,187,9,141,69,148,137,32,220,53,15,225,255,161,217,213,206,118,254,166,16,218,10,151,198,57,29,171,6,149,218,60,54,42,123,201,168,249,107,11,233,127,228,199,252,248,44,46,171,211,199,226,56,115,110,203,193,139,237,168,228,146,68,57,135,220,112,122,99,229,97,58,42,13,152,222,98,230,46,48,229,246,219,173,99,18,185,187,169,68,110,129,75,46,7,225,72,91,143,188,120,2,242,162,14,153,31,122,234,161,159,160,95,52,175,131,230,103,217,122,232,224,9,208,65,29,180,56,104,214,99,211,39,96,211,10,236,194,47,24,234,208,146,70,30,206,122,12,139,76,19,79,142,35,46,107,248,187,216,234,178,124,247,227,166,217,77,111,160,76,75,255,136,148,142,27,35,128,95,227,220,208,106,167,84,253,115,63,48,40,16,123,203,103,80,70,242,201,78,172,226,47,83,25,156,192,51,178,185,116,248,175,105,187,105,148,125,34,26,70,89,187,58,209,150,176,219,15,177,107,104,237,128,215,39,218,255,2,112,11,124,138,244,31,0,0 }; +const uint8_t JS_CONTROLS_GZIP[2388] PROGMEM = { 31,139,8,0,174,85,124,92,2,255,237,89,239,114,226,56,18,255,158,167,240,122,166,198,246,133,16,152,221,204,206,226,56,87,132,48,19,118,88,146,35,100,231,234,106,171,40,97,139,193,21,99,251,108,1,201,82,188,198,61,200,61,210,61,201,181,36,75,150,29,147,144,161,110,238,182,234,190,128,213,106,181,126,253,71,173,150,228,70,97,74,180,219,222,184,55,232,141,122,237,254,248,227,109,207,121,219,104,216,174,232,24,245,70,221,190,163,16,206,111,71,163,171,129,211,204,41,215,237,11,231,109,222,236,208,246,247,121,187,223,62,7,9,63,8,194,245,69,123,212,205,136,205,198,15,57,223,205,231,222,168,115,217,29,58,39,69,86,73,111,54,78,20,238,126,239,2,104,239,74,188,156,218,108,188,203,57,7,183,191,156,3,237,199,34,103,70,109,54,126,84,116,237,254,117,4,150,184,190,29,57,239,139,220,74,79,179,241,62,31,241,113,216,190,190,116,126,202,8,237,139,11,78,25,95,95,245,6,148,53,235,232,244,187,237,97,198,220,108,252,164,204,216,62,119,154,205,210,92,140,38,136,31,174,134,210,250,231,237,206,39,105,248,126,247,195,72,154,125,216,251,120,57,146,70,239,116,7,35,208,77,216,182,51,30,221,14,255,114,123,213,187,233,74,81,157,113,247,151,238,176,221,191,144,242,58,227,235,46,140,26,246,126,133,161,111,37,241,115,119,212,190,185,190,108,247,21,241,227,155,219,193,135,254,213,231,194,28,157,246,112,120,53,146,206,235,140,219,253,222,223,218,195,222,64,250,168,51,190,104,15,63,73,71,116,198,131,171,65,215,121,123,114,98,79,23,161,75,252,40,212,220,40,136,146,78,128,210,212,100,159,61,207,90,103,31,206,96,49,159,224,68,210,237,116,229,19,119,166,240,161,20,171,186,182,18,76,22,73,168,195,207,223,23,145,159,98,221,206,88,50,213,5,3,158,227,4,5,158,236,206,237,32,56,98,76,112,146,248,75,156,72,166,220,46,130,105,133,9,74,227,25,10,136,100,146,118,18,60,233,34,156,6,209,74,145,195,205,38,250,93,148,36,81,62,94,152,80,116,163,192,255,29,37,126,40,25,168,5,69,167,135,146,59,221,246,240,20,45,2,34,136,186,189,217,28,44,81,162,173,240,36,141,220,59,91,249,238,68,97,136,93,130,61,103,138,130,20,231,94,72,112,74,80,66,76,107,253,218,244,34,119,49,199,33,177,234,200,243,76,253,79,186,85,143,166,83,211,178,95,155,250,171,36,90,65,123,70,230,129,169,235,150,157,201,173,187,65,148,98,96,201,164,216,155,3,197,193,225,13,65,100,145,118,65,209,4,102,216,130,133,74,151,188,48,71,130,231,209,18,243,200,208,153,203,143,190,36,24,135,186,245,136,21,112,22,248,18,236,85,112,113,208,12,133,118,172,13,34,45,67,64,65,190,121,245,254,221,247,39,118,197,168,92,245,2,53,52,215,110,224,187,119,173,204,114,155,130,206,51,20,122,1,254,213,79,253,137,31,248,228,161,3,132,47,96,159,181,63,53,191,43,235,255,230,205,119,194,228,245,153,239,121,56,180,214,210,31,212,153,82,172,240,145,100,7,197,187,75,248,232,251,41,193,33,44,21,125,41,231,116,217,156,122,173,26,75,141,25,93,58,208,9,241,74,251,140,39,55,240,141,137,169,175,210,214,241,177,126,184,242,67,47,90,213,131,200,69,20,64,125,22,165,36,68,115,124,168,31,175,82,197,253,81,24,197,56,116,4,80,19,47,9,93,197,97,26,5,24,70,127,1,129,156,83,163,124,59,120,112,155,167,9,190,7,116,210,116,57,132,60,154,72,178,192,246,70,129,198,98,115,23,108,140,17,68,150,35,182,32,13,83,218,19,210,40,161,74,2,93,133,220,21,204,99,37,9,180,215,67,4,57,63,223,92,13,234,49,74,96,53,65,71,157,210,44,54,22,59,210,235,147,200,123,96,52,23,90,56,113,96,201,103,153,145,178,215,201,67,140,179,220,88,220,230,91,172,27,176,145,36,10,210,250,52,74,186,8,6,225,0,83,177,206,25,67,1,185,228,158,35,92,83,246,22,3,148,18,72,65,95,252,233,131,96,182,54,182,162,140,41,7,129,166,150,61,73,48,186,179,5,0,86,78,180,36,120,226,147,0,116,161,72,2,52,193,1,115,241,28,249,225,37,70,30,100,201,108,157,230,12,101,121,172,142,104,49,147,112,44,54,44,42,198,14,102,131,102,135,235,103,173,133,94,116,2,130,38,250,97,5,147,189,193,176,12,10,172,44,195,109,14,50,82,29,197,16,177,144,6,79,61,127,9,17,2,49,234,24,100,21,209,125,107,49,15,83,13,242,183,167,17,238,9,77,63,60,80,246,179,204,220,208,182,14,15,116,227,236,116,118,162,249,158,99,0,23,235,242,61,70,22,77,166,45,80,78,143,103,39,192,11,73,234,236,52,141,81,200,198,4,197,65,2,9,27,163,177,223,163,85,130,226,92,218,18,5,11,204,164,81,25,103,167,199,128,255,76,47,27,147,151,118,255,93,107,194,154,250,74,107,110,53,29,88,110,178,32,4,82,102,20,206,163,69,138,33,139,133,142,193,105,44,111,155,5,123,214,52,154,53,44,67,176,47,226,39,153,121,238,52,158,114,102,110,126,46,39,119,0,181,74,102,61,223,227,59,9,137,22,238,140,37,247,86,158,22,192,228,245,56,193,116,85,93,240,29,30,242,136,10,42,19,81,99,208,97,159,216,46,26,76,254,53,130,179,45,98,243,104,73,139,250,156,197,13,179,189,163,159,242,80,164,38,73,3,9,226,48,15,85,158,162,52,64,3,91,140,7,150,98,41,204,15,227,5,113,10,241,224,135,224,92,70,215,104,42,115,12,54,100,18,221,115,131,167,165,149,16,133,29,138,90,76,64,55,193,130,183,194,69,16,128,175,178,121,133,31,100,152,51,71,57,142,222,208,173,245,203,84,161,42,124,51,248,18,55,175,237,190,253,98,125,28,235,255,209,245,11,61,25,145,153,146,245,49,2,237,209,183,100,51,122,14,109,137,77,241,20,9,128,176,227,77,253,100,110,20,147,65,140,60,30,238,252,236,84,211,158,205,8,207,141,16,105,97,150,224,169,99,188,226,254,142,221,82,134,184,250,116,122,140,206,116,9,154,98,254,131,238,102,79,251,79,63,13,209,82,241,1,133,104,240,142,69,230,198,192,63,3,55,85,187,5,142,193,47,241,73,21,123,181,67,166,37,135,252,235,31,255,164,30,129,248,242,159,71,197,142,221,47,193,85,61,160,26,89,178,15,50,122,59,240,18,96,149,252,213,184,130,125,112,209,43,140,151,224,170,228,175,198,53,121,14,215,49,15,52,30,207,140,0,33,89,204,32,116,145,208,144,248,202,13,185,16,127,165,29,185,182,235,230,91,41,68,217,125,25,198,96,127,140,204,229,123,131,44,72,41,163,76,246,71,201,87,204,222,48,139,98,202,56,39,251,227,100,129,186,55,204,130,148,50,74,119,127,148,217,94,181,55,206,146,156,45,181,161,114,213,219,162,26,168,65,155,159,235,88,205,85,53,80,22,150,21,213,153,172,143,4,132,134,101,211,237,78,123,212,209,124,84,175,178,59,226,255,209,93,150,54,142,210,192,247,158,221,113,89,222,122,241,25,146,141,18,21,92,186,229,28,153,220,205,37,8,254,119,228,249,169,155,96,130,69,123,7,108,106,213,155,208,91,38,67,155,251,176,23,52,224,31,221,59,70,179,1,95,220,165,70,249,160,100,168,105,89,77,208,223,222,107,160,183,31,19,64,161,83,179,140,153,38,55,204,8,166,241,170,120,34,176,108,224,130,35,118,54,162,50,166,121,240,113,43,142,233,157,166,73,39,87,228,88,181,220,18,53,29,140,164,139,229,85,12,99,254,128,241,135,44,22,247,8,93,30,84,41,121,8,232,89,138,138,108,77,2,228,222,217,188,8,8,23,243,82,72,243,248,11,217,219,193,246,112,131,218,131,223,144,10,86,222,42,158,190,160,226,56,222,126,224,80,159,149,88,182,99,88,100,190,131,169,182,166,59,245,229,233,255,14,45,56,148,94,241,150,60,186,131,15,233,168,175,245,160,226,10,102,95,6,96,87,55,182,207,91,153,83,82,168,45,233,85,182,48,50,47,138,179,138,53,119,26,203,27,103,89,131,171,162,231,85,43,223,248,169,52,122,98,2,79,168,18,69,22,47,11,147,186,209,113,224,120,163,174,8,48,44,218,154,96,175,195,219,230,58,136,162,184,69,11,129,141,197,46,152,77,3,197,190,65,103,54,16,112,79,253,0,252,111,202,194,128,190,70,208,151,37,237,181,73,102,126,10,120,8,129,76,72,21,51,44,199,1,229,88,133,112,68,162,163,236,98,196,222,176,114,197,96,116,163,166,150,24,52,214,1,142,19,39,209,60,38,166,49,66,19,141,68,217,30,78,191,76,190,26,181,40,1,85,173,63,3,44,250,102,66,245,169,115,38,24,97,66,211,178,214,40,192,9,21,49,67,132,202,212,188,8,167,90,24,17,13,223,251,41,209,90,191,253,102,208,87,153,138,170,70,86,45,226,237,76,220,224,179,219,125,83,191,13,239,66,56,197,176,84,66,145,176,225,50,118,54,234,123,192,28,167,41,130,8,84,174,195,213,151,160,66,110,225,13,110,4,240,188,35,115,70,214,193,98,45,127,85,73,153,215,67,22,35,45,253,16,254,15,245,150,100,182,213,87,7,232,43,60,64,41,203,161,106,82,30,226,79,205,74,190,102,86,245,18,145,243,215,252,148,30,7,217,195,87,246,89,156,103,66,105,138,120,86,209,149,88,22,177,194,160,76,39,107,83,234,166,90,105,194,236,69,68,121,12,225,21,108,107,27,146,216,125,30,74,236,22,176,40,169,0,78,110,219,37,79,119,144,60,221,38,153,30,16,182,139,222,193,126,241,100,155,104,122,146,219,46,58,216,65,116,176,77,52,59,125,109,151,157,236,32,59,169,144,93,120,13,21,117,127,230,121,56,23,17,204,34,141,125,57,14,187,58,165,109,86,111,229,241,238,167,166,222,202,238,131,117,75,62,72,103,243,166,8,196,47,177,50,181,40,215,196,120,229,177,82,8,201,246,222,146,36,63,124,86,86,241,149,59,23,199,228,105,185,46,77,250,50,255,60,140,50,15,164,217,56,239,23,167,191,146,236,198,99,217,91,96,61,35,94,30,10,255,13,214,190,45,179,101,36,0,0 }; diff --git a/src/dataIndexHTML.h b/src/dataIndexHTML.h index ea17870..105dad3 100644 --- a/src/dataIndexHTML.h +++ b/src/dataIndexHTML.h @@ -1,5 +1,5 @@ const char HTML_INDEX[] PROGMEM = R"=====( - Control

    Control
    Offline


    + Control

    Control
    Offline


    )====="; -const uint8_t HTML_INDEX_GZIP[899] PROGMEM = { 31,139,8,0,190,66,124,92,2,255,133,84,109,147,162,56,16,254,43,156,159,238,106,119,6,81,199,153,217,21,171,130,130,51,42,34,32,40,126,11,144,145,96,120,25,18,68,253,245,151,136,123,119,91,119,181,71,85,146,78,247,243,116,119,154,164,71,191,77,173,201,38,88,235,82,194,50,50,30,221,102,105,148,32,24,143,71,25,98,80,138,18,88,81,196,212,154,125,60,188,140,71,12,51,130,198,147,34,103,85,65,70,114,187,109,145,57,204,144,122,194,168,41,139,138,73,17,135,160,156,169,157,6,199,44,81,99,116,194,17,122,184,109,190,74,56,199,12,67,242,64,35,72,144,170,116,198,35,130,243,163,84,33,162,118,104,194,233,81,205,36,204,93,116,164,164,66,31,106,12,25,252,134,51,120,64,114,153,31,190,135,144,162,225,224,43,246,53,203,105,186,139,217,161,0,252,91,185,94,162,123,7,46,105,98,11,236,9,48,197,90,44,237,215,141,16,180,89,172,109,60,29,128,229,108,61,145,207,137,102,115,229,68,75,93,99,190,226,214,225,156,115,15,239,92,185,22,254,38,96,200,231,88,48,173,82,120,29,102,124,50,250,147,168,38,250,139,240,183,54,52,211,215,189,27,86,241,183,78,79,249,180,123,4,59,125,227,83,12,183,239,215,78,223,231,114,187,90,61,37,115,123,74,237,222,108,124,112,121,222,155,45,108,206,227,120,142,49,68,92,77,238,207,234,103,225,95,207,29,119,67,76,160,21,160,127,92,107,205,245,5,63,45,174,184,56,31,6,43,63,242,250,181,62,127,187,157,116,59,95,58,93,27,96,224,197,238,77,65,26,215,32,87,81,19,165,1,96,26,71,154,141,113,136,110,182,184,235,122,138,161,125,209,13,61,137,116,243,203,91,25,52,162,16,90,224,122,142,230,107,233,38,9,228,249,148,130,195,68,119,217,128,148,59,249,244,154,46,237,253,124,248,105,188,178,254,49,1,151,84,57,239,188,69,104,15,52,191,104,166,205,167,21,28,244,243,241,184,29,224,96,72,214,208,232,14,157,79,243,37,120,103,86,237,132,38,188,14,207,105,72,107,58,5,91,57,174,74,162,29,6,207,233,122,248,58,140,118,250,75,184,6,10,242,166,104,209,19,217,205,119,142,177,125,115,142,193,206,33,86,182,186,236,183,70,119,111,131,139,57,213,251,203,13,80,150,27,125,224,79,223,175,86,10,186,86,234,157,23,87,112,225,114,115,214,159,94,81,35,126,133,223,117,252,164,187,159,113,222,166,100,97,207,41,247,249,17,152,41,56,175,46,221,102,229,118,207,150,97,95,204,107,209,172,166,133,98,186,180,49,211,162,49,151,222,230,28,69,34,133,125,172,251,65,108,172,78,251,220,233,7,187,57,1,111,113,63,190,60,149,97,198,174,65,207,104,246,238,211,41,202,80,248,156,54,240,86,82,157,24,155,163,91,219,217,100,242,143,155,76,217,133,32,154,32,196,218,75,44,71,148,202,121,81,101,144,224,43,122,228,187,255,3,223,148,45,144,70,21,46,153,68,171,72,149,83,42,95,81,201,138,199,12,231,143,41,55,202,173,245,95,40,74,112,140,170,95,66,162,246,37,211,95,130,24,12,67,20,223,95,244,207,72,249,214,42,164,81,88,196,23,169,200,73,1,99,53,133,39,216,218,191,81,6,43,246,251,31,223,57,34,198,39,209,89,6,99,33,73,56,86,51,136,243,55,206,70,213,223,253,164,5,209,18,230,2,193,35,186,12,178,154,74,17,129,148,170,4,134,136,140,173,143,15,94,54,196,115,224,48,145,1,119,121,39,38,85,27,232,142,23,25,243,32,72,104,107,114,87,118,114,120,226,189,234,244,192,79,69,121,231,145,107,242,19,169,35,244,247,179,74,245,195,71,77,72,219,182,58,127,133,185,31,160,42,154,31,28,33,254,55,246,199,34,10,36,214,182,195,254,9,54,92,13,200,120,5,0,0 }; +const uint8_t HTML_INDEX_GZIP[904] PROGMEM = { 31,139,8,0,174,85,124,92,2,255,133,84,109,147,162,56,16,254,43,156,159,238,106,119,6,81,199,153,217,21,171,130,130,51,42,34,32,40,126,11,144,145,96,120,25,18,68,253,245,151,200,204,237,94,237,213,158,85,73,58,221,207,243,116,211,66,143,254,152,90,147,77,176,214,165,132,101,100,60,186,237,210,40,65,48,30,143,50,196,160,20,37,176,162,136,169,53,123,187,123,26,143,24,102,4,141,39,69,206,170,130,140,228,246,218,34,115,152,33,245,132,81,83,22,21,147,34,14,65,57,83,59,13,142,89,162,198,232,132,35,116,119,187,124,149,112,142,25,134,228,142,70,144,32,85,233,140,71,4,231,71,169,66,68,237,208,132,211,163,154,73,152,75,116,164,164,66,111,106,12,25,252,134,51,120,64,114,153,31,190,135,144,162,225,224,43,246,53,203,105,186,139,217,161,0,252,183,114,189,68,247,14,220,210,196,21,216,19,96,138,179,88,218,207,27,97,104,179,88,219,120,58,0,203,217,122,34,159,19,205,230,206,137,150,186,198,124,197,163,195,57,231,30,94,185,115,45,244,38,96,200,247,88,48,173,82,168,14,51,190,25,253,73,84,19,253,73,232,173,13,205,244,117,239,134,85,252,173,211,83,222,237,30,193,78,223,120,23,203,237,251,181,211,247,185,221,158,86,79,201,220,158,82,187,183,24,95,220,158,247,102,11,155,243,56,158,99,12,145,87,147,251,179,250,81,232,235,185,227,110,136,9,180,2,244,143,107,173,185,62,225,135,197,21,23,231,195,96,229,71,94,191,214,231,47,183,39,221,206,151,78,215,6,24,120,177,123,115,144,198,53,200,85,244,68,105,0,152,198,145,102,99,28,162,91,44,238,186,158,98,104,95,116,67,79,34,221,252,242,82,6,141,104,132,22,184,158,163,249,90,186,73,2,121,62,165,224,48,209,93,54,32,229,78,62,61,167,75,123,63,31,190,27,207,172,127,76,192,37,85,206,59,111,17,218,3,205,47,154,105,243,110,5,7,253,124,60,110,7,56,24,146,53,52,186,67,231,221,124,10,94,153,85,59,161,9,175,195,115,26,210,154,78,193,86,142,171,146,104,135,193,99,186,30,62,15,163,157,254,20,174,129,130,188,41,90,244,68,117,243,157,99,108,95,156,99,176,115,136,149,173,46,251,173,209,221,219,224,98,78,245,254,114,3,148,229,70,31,248,211,215,171,149,130,174,149,122,231,197,21,92,184,221,156,245,135,103,212,136,191,194,239,58,126,210,221,207,56,111,83,178,176,231,148,251,252,8,204,20,156,87,151,110,179,114,187,103,203,176,47,230,181,104,86,211,66,49,93,218,152,105,209,152,75,111,115,142,34,81,194,62,214,253,32,54,86,167,125,238,244,131,221,156,128,151,184,31,95,30,202,48,99,215,160,103,52,123,247,225,20,101,40,124,76,27,120,107,169,78,140,205,209,173,237,108,50,249,233,77,166,236,66,16,77,16,98,237,75,44,71,148,202,121,81,101,144,224,43,186,231,183,255,3,223,156,45,144,70,21,46,153,68,171,72,149,83,42,95,81,201,138,251,12,231,247,41,15,202,109,244,23,20,37,56,70,213,111,33,81,251,37,211,223,130,24,12,67,20,127,124,209,255,70,202,183,81,33,141,194,34,190,72,69,78,10,24,171,41,60,193,54,254,141,50,88,177,63,255,250,206,17,49,62,137,201,50,24,11,75,194,177,154,65,156,191,112,54,170,126,204,147,22,68,75,152,11,4,207,232,50,200,106,42,69,4,82,170,18,24,34,50,182,222,222,120,219,16,175,129,195,68,5,92,242,131,152,84,109,162,15,188,168,152,39,65,159,94,46,89,21,205,71,176,35,204,250,238,173,38,164,29,75,157,127,100,106,34,160,252,169,105,14,63,181,58,194,228,235,78,184,127,225,213,228,71,10,1,248,232,213,39,247,103,215,127,167,252,60,68,31,197,217,14,226,191,1,165,144,19,235,159,5,0,0 }; diff --git a/src/dataNormalizeCSS.h b/src/dataNormalizeCSS.h index b22b7a6..eb069f7 100644 --- a/src/dataNormalizeCSS.h +++ b/src/dataNormalizeCSS.h @@ -2,4 +2,4 @@ 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:hidden}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} )====="; -const uint8_t CSS_NORMALIZE_GZIP[861] PROGMEM = { 31,139,8,0,190,66,124,92,2,255,149,84,237,142,155,58,16,125,149,104,171,74,183,146,137,216,237,199,94,25,221,39,137,242,99,176,7,112,227,47,217,38,155,20,241,238,119,12,132,36,219,108,165,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,133,5,200,159,125,76,252,185,44,63,87,197,27,214,7,149,30,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,103,39,136,153,224,116,220,127,89,83,88,103,177,234,80,181,93,162,238,118,157,146,18,237,158,37,52,244,59,225,221,185,17,134,26,196,33,247,98,101,33,156,118,129,167,64,12,123,8,104,211,8,28,168,163,35,145,195,59,71,112,6,215,167,12,33,211,86,215,97,151,84,210,184,31,106,23,136,147,162,118,41,57,195,159,253,105,35,233,21,229,88,179,72,240,108,59,43,248,54,131,170,157,150,163,108,236,28,140,233,172,145,171,68,61,138,177,123,94,130,36,25,127,65,83,45,42,109,127,188,162,217,148,35,125,30,110,16,243,79,77,83,86,51,236,79,101,89,142,209,128,214,55,41,254,37,181,99,79,40,122,127,19,125,253,254,185,154,104,190,176,84,121,23,85,86,142,7,36,142,168,225,15,185,207,153,146,243,188,216,126,71,147,115,15,75,215,197,246,37,71,148,105,23,58,136,163,120,108,39,153,120,32,239,124,25,50,131,141,118,111,124,214,100,156,141,117,113,226,51,117,248,173,244,167,177,11,67,97,220,47,162,243,148,241,42,219,242,44,51,233,145,67,213,7,225,85,113,79,41,215,74,208,39,55,10,71,198,62,212,146,76,135,44,130,241,119,3,101,156,117,164,183,64,182,190,85,87,174,8,213,88,247,212,161,101,202,250,62,49,231,211,108,125,34,132,236,206,242,136,145,89,96,152,101,80,182,163,217,76,83,134,245,99,157,181,57,211,21,222,81,69,85,107,188,84,152,83,14,211,212,78,54,108,92,48,179,81,151,19,29,173,131,205,4,100,151,206,30,255,123,154,227,79,123,118,27,164,193,194,244,46,70,82,25,69,193,225,178,27,192,123,4,42,34,144,207,73,42,209,135,72,45,120,167,136,214,176,148,220,209,188,0,97,148,251,219,226,107,112,88,46,73,108,160,215,105,185,196,249,164,96,227,68,31,11,101,45,45,140,233,222,239,241,213,44,149,7,41,179,168,229,56,29,29,110,29,106,137,7,208,227,109,63,162,67,113,32,225,223,183,14,180,27,158,242,72,174,46,89,167,243,244,190,198,114,199,246,166,198,240,180,39,116,11,55,19,180,34,122,101,139,91,241,63,60,79,107,225,254,252,176,0,159,252,119,39,3,113,46,186,199,50,100,221,27,133,90,86,127,242,255,229,226,95,141,199,67,12,87,252,115,164,16,25,134,126,212,242,135,87,36,10,23,32,239,142,71,29,77,214,157,90,34,67,94,164,206,251,49,58,173,228,38,42,77,147,176,142,199,230,197,95,37,218,126,165,117,178,217,254,120,153,30,175,121,183,104,108,209,202,71,142,89,135,240,126,240,47,179,250,251,250,77,217,189,151,189,77,147,171,193,71,228,151,151,106,249,145,151,193,82,64,178,212,13,215,130,255,3,4,241,118,208,151,7,0,0 }; +const uint8_t CSS_NORMALIZE_GZIP[861] PROGMEM = { 31,139,8,0,173,85,124,92,2,255,149,84,237,142,155,58,16,125,149,104,171,74,183,146,137,216,237,199,94,25,221,39,137,242,99,176,7,112,227,47,217,38,155,20,241,238,119,12,132,36,219,108,165,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,133,5,200,159,125,76,252,185,44,63,87,197,27,214,7,149,30,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,103,39,136,153,224,116,220,127,89,83,88,103,177,234,80,181,93,162,238,118,157,146,18,237,158,37,52,244,59,225,221,185,17,134,26,196,33,247,98,101,33,156,118,129,167,64,12,123,8,104,211,8,28,168,163,35,145,195,59,71,112,6,215,167,12,33,211,86,215,97,151,84,210,184,31,106,23,136,147,162,118,41,57,195,159,253,105,35,233,21,229,88,179,72,240,108,59,43,248,54,131,170,157,150,163,108,236,28,140,233,172,145,171,68,61,138,177,123,94,130,36,25,127,65,83,45,42,109,127,188,162,217,148,35,125,30,110,16,243,79,77,83,86,51,236,79,101,89,142,209,128,214,55,41,254,37,181,99,79,40,122,127,19,125,253,254,185,154,104,190,176,84,121,23,85,86,142,7,36,142,168,225,15,185,207,153,146,243,188,216,126,71,147,115,15,75,215,197,246,37,71,148,105,23,58,136,163,120,108,39,153,120,32,239,124,25,50,131,141,118,111,124,214,100,156,141,117,113,226,51,117,248,173,244,167,177,11,67,97,220,47,162,243,148,241,42,219,242,44,51,233,145,67,213,7,225,85,113,79,41,215,74,208,39,55,10,71,198,62,212,146,76,135,44,130,241,119,3,101,156,117,164,183,64,182,190,85,87,174,8,213,88,247,212,161,101,202,250,62,49,231,211,108,125,34,132,236,206,242,136,145,89,96,152,101,80,182,163,217,76,83,134,245,99,157,181,57,211,21,222,81,69,85,107,188,84,152,83,14,211,212,78,54,108,92,48,179,81,151,19,29,173,131,205,4,100,151,206,30,255,123,154,227,79,123,118,27,164,193,194,244,46,70,82,25,69,193,225,178,27,192,123,4,42,34,144,207,73,42,209,135,72,45,120,167,136,214,176,148,220,209,188,0,97,148,251,219,226,107,112,88,46,73,108,160,215,105,185,196,249,164,96,227,68,31,11,101,45,45,140,233,222,239,241,213,44,149,7,41,179,168,229,56,29,29,110,29,106,137,7,208,227,109,63,162,67,113,32,225,223,183,14,180,27,158,242,72,174,46,89,167,243,244,190,198,114,199,246,166,198,240,180,39,116,11,55,19,180,34,122,101,139,91,241,63,60,79,107,225,254,252,176,0,159,252,119,39,3,113,46,186,199,50,100,221,27,133,90,86,127,242,255,229,226,95,141,199,67,12,87,252,115,164,16,25,134,126,212,242,135,87,36,10,23,32,239,142,71,29,77,214,157,90,34,67,94,164,206,251,49,58,173,228,38,42,77,147,176,142,199,230,197,95,37,218,126,165,117,178,217,254,120,153,30,175,121,183,104,108,209,202,71,142,89,135,240,126,240,47,179,250,251,250,77,217,189,151,189,77,147,171,193,71,228,151,151,106,249,145,151,193,82,64,178,212,13,215,130,255,3,4,241,118,208,151,7,0,0 }; diff --git a/src/dataSliderJS.h b/src/dataSliderJS.h index b964290..6f8c7aa 100644 --- a/src/dataSliderJS.h +++ b/src/dataSliderJS.h @@ -11,4 +11,4 @@ var upFu=function(e){$(this).off(handlers);};var handlers={mouseup:upFu,touchend 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"]');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);}} )====="; -const uint8_t JS_SLIDER_GZIP[865] PROGMEM = { 31,139,8,0,190,66,124,92,2,255,237,86,207,111,155,48,20,190,247,175,72,163,174,134,149,184,89,143,33,238,101,211,164,29,118,218,164,77,170,170,200,1,83,172,16,131,176,73,182,209,252,239,123,254,1,1,66,170,110,167,29,118,194,246,251,252,252,222,247,62,243,156,84,34,82,60,23,147,114,179,141,87,37,21,79,236,75,198,99,86,122,146,101,44,82,121,233,215,59,90,78,96,150,4,210,88,86,123,30,171,180,153,228,73,34,153,10,162,170,20,202,173,125,224,50,42,153,98,129,113,231,22,67,237,129,92,29,221,134,93,111,68,91,177,25,122,173,197,186,182,38,59,246,124,156,177,68,133,253,115,12,98,176,134,25,141,82,47,113,217,121,60,216,249,181,137,17,66,80,41,151,126,104,102,152,22,5,19,177,215,223,188,82,219,34,131,195,252,208,100,64,44,52,225,0,68,92,20,149,122,80,63,11,70,166,198,58,125,68,77,196,61,32,182,107,173,113,149,240,44,35,118,220,135,204,180,229,136,75,169,136,51,54,142,180,182,35,54,163,107,118,198,169,49,1,82,87,207,4,186,218,209,140,20,180,148,236,147,80,158,89,194,176,164,211,236,68,136,35,41,61,100,42,129,130,118,223,13,122,51,12,208,2,117,57,206,225,76,4,46,42,89,80,129,124,172,216,15,119,180,70,251,225,193,15,109,121,133,135,182,121,37,89,156,239,197,68,229,85,148,74,69,75,112,61,76,61,104,107,202,252,154,39,30,195,235,74,169,92,16,66,238,252,26,170,7,37,152,36,52,147,44,60,92,232,220,33,99,38,148,108,234,142,221,28,136,210,146,159,181,85,50,42,239,74,210,1,91,85,118,0,78,153,13,162,47,78,141,139,82,22,109,236,117,106,81,47,232,7,115,136,103,17,115,73,215,25,139,33,24,72,172,235,130,16,85,86,236,36,189,38,37,26,199,239,51,170,203,193,229,140,2,59,59,230,18,218,230,59,246,177,34,93,206,44,39,79,236,59,97,216,124,159,159,161,150,169,62,39,254,170,137,103,242,97,254,104,77,221,156,5,219,183,196,128,105,214,163,66,7,60,196,45,73,151,206,235,235,203,83,4,154,35,223,175,221,178,142,213,115,100,5,67,104,255,223,99,216,8,15,7,19,95,85,12,50,108,104,129,208,60,171,154,18,238,123,191,12,184,195,20,46,153,62,123,132,66,123,64,227,131,212,70,162,26,187,176,196,6,70,169,221,5,131,168,138,133,14,202,90,225,247,98,102,135,240,202,139,243,168,218,66,20,190,22,252,49,180,215,223,130,255,242,31,164,119,34,78,39,234,127,65,158,23,127,160,206,81,165,253,133,142,14,97,115,214,100,188,167,153,251,111,198,4,45,99,190,155,68,90,246,100,106,209,211,123,116,115,49,178,110,90,212,244,126,121,11,150,115,16,27,7,128,78,77,166,19,128,69,119,129,251,249,242,214,124,173,179,142,75,59,10,93,149,77,140,64,226,32,159,126,29,160,0,223,28,247,240,5,138,220,107,229,88,158,94,211,251,76,85,138,203,188,2,37,234,157,183,110,231,219,119,243,185,223,83,184,233,213,131,63,70,191,89,119,192,174,97,143,195,219,142,221,246,225,215,220,136,179,29,185,159,217,185,182,92,219,190,188,56,69,7,72,193,33,146,107,70,209,2,137,92,64,75,69,179,61,91,111,184,154,141,218,182,249,175,17,195,193,61,142,204,19,162,127,142,185,191,47,177,49,233,190,6,252,75,50,216,94,191,122,239,240,92,205,177,168,182,107,120,138,53,62,168,82,37,144,12,127,21,44,171,181,84,37,23,79,222,157,9,209,232,5,50,151,121,180,193,122,2,207,148,12,252,84,108,129,110,134,212,193,146,245,172,251,206,111,101,146,232,206,54,11,0,0 }; +const uint8_t JS_SLIDER_GZIP[865] PROGMEM = { 31,139,8,0,174,85,124,92,2,255,237,86,207,111,155,48,20,190,247,175,72,163,174,134,149,184,89,143,33,238,101,211,164,29,118,218,164,77,170,170,200,1,83,172,16,131,176,73,182,209,252,239,123,254,1,1,66,170,110,167,29,118,194,246,251,252,252,222,247,62,243,156,84,34,82,60,23,147,114,179,141,87,37,21,79,236,75,198,99,86,122,146,101,44,82,121,233,215,59,90,78,96,150,4,210,88,86,123,30,171,180,153,228,73,34,153,10,162,170,20,202,173,125,224,50,42,153,98,129,113,231,22,67,237,129,92,29,221,134,93,111,68,91,177,25,122,173,197,186,182,38,59,246,124,156,177,68,133,253,115,12,98,176,134,25,141,82,47,113,217,121,60,216,249,181,137,17,66,80,41,151,126,104,102,152,22,5,19,177,215,223,188,82,219,34,131,195,252,208,100,64,44,52,225,0,68,92,20,149,122,80,63,11,70,166,198,58,125,68,77,196,61,32,182,107,173,113,149,240,44,35,118,220,135,204,180,229,136,75,169,136,51,54,142,180,182,35,54,163,107,118,198,169,49,1,82,87,207,4,186,218,209,140,20,180,148,236,147,80,158,89,194,176,164,211,236,68,136,35,41,61,100,42,129,130,118,223,13,122,51,12,208,2,117,57,206,225,76,4,46,42,89,80,129,124,172,216,15,119,180,70,251,225,193,15,109,121,133,135,182,121,37,89,156,239,197,68,229,85,148,74,69,75,112,61,76,61,104,107,202,252,154,39,30,195,235,74,169,92,16,66,238,252,26,170,7,37,152,36,52,147,44,60,92,232,220,33,99,38,148,108,234,142,221,28,136,210,146,159,181,85,50,42,239,74,210,1,91,85,118,0,78,153,13,162,47,78,141,139,82,22,109,236,117,106,81,47,232,7,115,136,103,17,115,73,215,25,139,33,24,72,172,235,130,16,85,86,236,36,189,38,37,26,199,239,51,170,203,193,229,140,2,59,59,230,18,218,230,59,246,177,34,93,206,44,39,79,236,59,97,216,124,159,159,161,150,169,62,39,254,170,137,103,242,97,254,104,77,221,156,5,219,183,196,128,105,214,163,66,7,60,196,45,73,151,206,235,235,203,83,4,154,35,223,175,221,178,142,213,115,100,5,67,104,255,223,99,216,8,15,7,19,95,85,12,50,108,104,129,208,60,171,154,18,238,123,191,12,184,195,20,46,153,62,123,132,66,123,64,227,131,212,70,162,26,187,176,196,6,70,169,221,5,131,168,138,133,14,202,90,225,247,98,102,135,240,202,139,243,168,218,66,20,190,22,252,49,180,215,223,130,255,242,31,164,119,34,78,39,234,127,65,158,23,127,160,206,81,165,253,133,142,14,97,115,214,100,188,167,153,251,111,198,4,45,99,190,155,68,90,246,100,106,209,211,123,116,115,49,178,110,90,212,244,126,121,11,150,115,16,27,7,128,78,77,166,19,128,69,119,129,251,249,242,214,124,173,179,142,75,59,10,93,149,77,140,64,226,32,159,126,29,160,0,223,28,247,240,5,138,220,107,229,88,158,94,211,251,76,85,138,203,188,2,37,234,157,183,110,231,219,119,243,185,223,83,184,233,213,131,63,70,191,89,119,192,174,97,143,195,219,142,221,246,225,215,220,136,179,29,185,159,217,185,182,92,219,190,188,56,69,7,72,193,33,146,107,70,209,2,137,92,64,75,69,179,61,91,111,184,154,141,218,182,249,175,17,195,193,61,142,204,19,162,127,142,185,191,47,177,49,233,190,6,252,75,50,216,94,191,122,239,240,92,205,177,168,182,107,120,138,53,62,168,82,37,144,12,127,21,44,171,181,84,37,23,79,222,157,9,209,232,5,50,151,121,180,193,122,2,207,148,12,252,84,108,129,110,134,212,193,146,245,172,251,206,111,101,146,232,206,54,11,0,0 }; diff --git a/src/dataStyleCSS.h b/src/dataStyleCSS.h index abd5c5e..12e7927 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{margin-top:2%;border-radius:6px;box-shadow:0 4px 4px rgba(204,197,185,0.5);padding-left:20px;padding-right:20px;margin-bottom:10px;min-width:150px;color:#fff}.card-slider{padding-bottom:10px}.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;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:2%}.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}#mainHeader{display:inline-block}#conStatus{position:inherit;font-size:.75em}button,.button{margin-bottom:1rem}.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}.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-bottom:12px;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)}input[id^="num"]{max-width:6em;width:auto;text-align:right;font-weight:bold;font-size:115%} +.container{position:relative;width:79%;margin:20px;box-sizing:border-box}.column,.columns{width:100%;float:left}.card{margin-top:2%;border-radius:6px;box-shadow:0 4px 4px rgba(204,197,185,0.5);padding-left:20px;padding-right:20px;margin-bottom:10px;min-width:150px;color:#fff}.card-slider{padding-bottom:10px}.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;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:2%}.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}#mainHeader{display:inline-block}#conStatus{position:inherit;font-size:.75em}button,.button{margin-bottom:1rem}.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}.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-bottom:12px;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)}input[id^="num"]{max-width:6em;width:auto;text-align:right;font-weight:bold;font-size:115%}body div>ul{margin:0;padding:0;border-bottom:3px solid #666;overflow:hidden}ul li{list-style:none;float:left;margin-right:4px}ul li.controls{float:right}ul 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 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} )====="; -const uint8_t CSS_STYLE_GZIP[2814] PROGMEM = { 31,139,8,0,190,66,124,92,2,255,197,26,89,111,179,72,242,175,120,19,69,138,181,192,54,167,13,104,164,125,220,183,149,118,30,71,51,82,3,77,64,193,224,229,24,39,159,197,127,223,62,56,250,34,118,190,100,180,113,226,64,83,85,93,119,87,87,99,165,77,221,195,178,70,237,245,220,116,101,95,54,117,212,162,10,246,229,159,40,190,148,89,95,68,135,240,41,62,193,246,165,172,35,7,156,223,226,164,121,51,187,242,71,89,191,68,73,211,102,168,53,241,200,104,165,77,53,156,106,99,250,223,93,25,178,13,192,83,156,87,13,236,163,10,229,61,6,131,109,118,101,228,204,190,57,71,206,83,60,81,105,97,86,14,93,20,204,83,20,48,107,46,17,216,121,231,55,250,215,190,36,240,217,1,158,97,135,7,195,62,250,6,176,252,125,124,134,89,134,89,49,9,117,198,223,60,210,150,47,197,52,52,205,151,52,125,223,156,48,79,100,8,223,79,44,250,228,30,179,221,180,209,99,158,231,140,71,179,171,202,140,104,101,162,198,225,142,86,63,180,255,29,154,178,67,215,4,166,175,47,109,51,212,89,244,104,195,36,13,211,120,81,10,69,120,180,3,8,142,254,206,197,18,116,13,166,57,90,232,132,90,88,101,2,174,131,210,244,96,203,184,206,1,162,0,240,184,103,212,163,182,197,198,105,5,116,215,11,143,89,162,160,135,71,144,132,60,250,5,245,176,59,23,176,234,37,116,47,244,145,130,158,186,200,23,102,239,134,26,219,242,34,77,158,219,169,7,114,25,27,5,73,2,114,30,27,171,181,109,196,137,81,112,64,142,35,163,102,174,239,1,97,98,88,149,63,96,91,214,34,242,193,75,93,69,223,41,112,67,39,225,145,51,216,190,10,136,158,231,29,253,131,140,200,70,121,196,10,38,168,186,106,253,61,190,20,101,143,204,238,12,83,20,213,205,165,133,103,201,143,45,7,157,102,95,140,44,27,223,237,44,143,124,217,248,59,238,209,91,111,98,169,94,234,40,69,53,182,41,231,128,113,142,99,210,188,32,234,191,7,0,226,10,199,167,89,176,123,91,114,102,31,251,110,86,118,231,10,190,71,101,77,33,147,170,73,95,117,12,98,175,233,203,20,86,211,196,9,236,16,65,136,213,200,39,145,105,90,182,143,57,93,21,103,78,44,134,97,168,137,168,73,93,38,153,105,10,254,16,199,62,207,198,185,69,244,113,124,193,154,162,87,81,210,34,248,106,146,251,9,223,162,147,96,25,6,62,184,230,169,131,60,132,153,45,130,182,40,211,64,102,238,33,61,164,34,228,75,139,80,173,129,13,147,212,9,142,34,108,211,194,250,69,199,66,134,160,237,123,34,240,59,170,112,88,104,128,81,152,5,158,196,239,121,104,207,149,142,114,152,31,93,44,220,63,79,40,43,225,243,154,160,112,44,156,223,246,87,107,77,213,108,252,232,61,141,42,116,224,234,161,195,227,147,154,164,39,51,78,169,114,1,136,242,178,237,122,51,45,202,42,91,128,249,193,25,145,102,93,48,90,77,141,22,218,235,245,188,8,120,86,176,252,28,240,36,253,165,145,151,9,215,114,151,31,2,81,96,83,73,48,14,225,47,111,134,86,26,119,129,37,80,207,177,3,203,32,161,72,190,43,223,100,22,137,118,58,244,39,170,165,7,126,32,82,167,81,40,193,4,190,72,190,46,21,21,28,60,34,149,66,253,232,72,212,43,13,11,161,45,41,231,130,42,69,68,186,208,170,86,49,251,162,108,179,9,118,67,97,216,28,12,172,19,225,100,177,8,57,188,116,228,34,20,213,92,147,231,29,234,205,228,221,20,60,65,51,218,9,174,115,148,60,99,197,88,125,196,208,142,138,116,236,131,196,234,138,193,121,146,177,49,46,210,114,2,129,0,231,113,134,126,88,68,119,61,107,67,36,206,49,13,253,176,72,201,115,183,132,90,253,215,208,142,138,116,124,71,68,230,92,204,216,24,23,9,4,96,75,36,62,26,140,141,113,137,86,184,37,20,23,53,134,126,88,164,116,16,29,175,215,10,213,111,136,116,12,54,69,170,54,244,35,197,38,79,45,244,183,132,146,67,208,248,224,217,189,126,164,196,171,241,209,195,123,213,47,69,183,177,253,72,245,174,177,232,79,213,149,150,45,184,82,66,81,224,88,254,211,152,52,217,251,4,26,129,120,125,106,91,164,174,16,139,26,190,228,193,235,29,187,207,225,169,172,222,163,135,127,159,81,189,251,21,214,221,131,209,225,111,236,169,109,153,207,5,147,67,234,71,117,225,77,115,144,219,99,97,27,133,99,20,174,81,120,70,225,27,69,192,111,61,128,84,197,88,126,139,249,226,57,113,1,192,36,56,193,188,86,230,220,114,226,10,245,184,128,163,53,14,169,245,112,221,132,161,198,194,225,240,92,43,208,96,250,91,168,46,143,170,34,186,91,120,30,135,231,88,26,102,93,205,148,224,72,113,253,43,111,161,163,138,171,67,245,41,106,32,160,250,42,106,32,163,130,205,186,69,80,183,175,40,210,179,28,85,67,84,185,162,244,174,34,147,179,193,234,56,158,5,167,24,225,117,242,33,27,65,148,37,35,140,138,134,236,183,166,81,144,67,144,162,49,25,176,207,212,87,109,233,61,87,253,54,219,46,243,187,2,87,216,106,234,139,235,241,241,132,11,183,127,33,72,246,159,186,9,198,71,92,220,253,218,195,126,232,214,93,123,89,23,56,44,122,46,206,172,3,142,179,137,81,195,154,24,150,10,119,162,0,107,48,243,161,170,152,29,248,114,98,99,167,63,152,39,248,198,163,144,219,123,208,206,4,133,214,154,87,214,18,160,215,203,19,146,78,174,124,175,160,103,91,163,171,178,89,26,139,150,183,25,115,57,73,50,234,40,179,246,25,119,96,190,37,72,246,188,207,219,61,34,155,124,198,181,100,142,96,142,103,49,172,182,185,204,151,131,153,230,87,2,128,25,136,30,30,150,61,87,15,147,10,197,105,133,96,139,165,237,11,70,165,109,42,221,214,33,203,120,139,151,39,248,130,34,98,86,72,246,38,216,65,48,237,231,162,171,224,51,48,192,19,253,181,236,189,177,142,16,245,210,177,189,228,86,254,172,118,214,52,41,107,156,185,119,96,71,100,156,255,20,42,254,222,0,28,140,242,252,192,1,56,58,0,135,3,112,111,1,120,183,0,2,1,96,230,32,158,114,72,184,24,56,114,241,38,26,14,125,19,111,53,172,66,226,211,147,21,118,67,117,157,211,16,241,205,57,52,65,220,227,13,94,151,55,237,41,106,27,28,74,232,217,243,51,244,178,95,49,171,242,42,42,153,16,216,17,118,129,170,107,147,136,96,222,163,107,141,140,218,36,50,113,77,44,75,210,15,233,187,68,69,153,101,168,158,196,196,79,120,49,49,191,81,221,23,108,127,246,236,236,175,138,128,33,16,5,148,113,92,13,142,121,11,201,211,32,217,71,21,9,206,102,112,168,25,212,142,131,50,51,179,199,36,44,193,90,233,77,41,217,224,6,242,38,197,217,80,137,57,157,203,113,116,174,106,24,77,177,138,203,163,197,46,204,32,36,177,226,16,175,178,157,141,78,255,112,119,92,41,162,118,115,232,72,134,210,166,133,84,206,26,215,80,108,112,233,107,110,58,139,183,103,218,96,26,178,108,191,91,57,38,23,120,31,126,250,174,236,226,107,210,11,86,209,254,219,179,137,243,127,207,38,71,28,105,172,98,197,86,230,235,19,119,206,44,38,171,76,23,231,132,9,94,32,134,158,181,195,8,214,180,127,230,243,203,108,16,217,35,151,241,13,199,124,68,8,141,86,119,41,251,180,208,46,242,187,191,149,167,115,211,246,176,238,53,101,66,130,200,71,90,5,60,177,117,62,219,13,80,109,208,246,57,214,6,249,88,238,158,175,66,210,161,237,240,245,185,41,169,239,170,110,63,213,75,132,254,28,197,129,218,86,119,72,243,125,35,39,7,164,20,194,101,117,242,90,246,38,231,221,178,100,59,203,233,118,8,118,200,196,132,155,161,143,205,83,243,227,115,8,205,39,233,119,159,130,255,4,236,108,94,43,45,80,250,170,237,82,30,130,204,177,179,25,112,87,214,231,161,255,173,127,63,163,95,30,40,18,182,230,195,239,139,123,208,36,34,25,107,89,220,176,126,89,43,68,48,131,224,194,71,252,100,174,211,72,195,182,172,175,219,128,43,49,141,217,200,195,29,222,57,124,108,171,13,168,230,30,74,221,109,160,91,0,178,254,119,89,249,231,149,237,173,143,68,252,73,233,88,13,81,130,240,210,35,158,230,136,229,121,68,101,147,179,41,214,149,65,0,119,0,255,3,228,179,35,185,104,47,32,78,218,91,144,24,17,131,178,76,8,208,11,22,67,6,235,16,119,120,248,25,80,202,123,126,136,230,185,105,162,189,118,146,159,98,176,249,57,52,108,162,159,193,83,113,102,225,245,152,52,195,241,213,58,53,140,144,247,28,249,200,16,172,7,134,66,198,91,170,247,57,106,142,155,177,98,250,115,12,152,225,18,54,36,235,9,126,67,55,7,162,219,80,230,239,244,28,38,40,179,244,247,122,14,243,17,141,243,96,151,250,132,231,220,96,176,249,57,180,77,207,249,24,239,35,207,209,97,74,197,59,221,121,43,30,224,44,235,88,68,203,119,226,60,228,66,227,22,83,234,116,136,15,180,175,167,229,136,88,92,47,213,21,144,91,65,201,170,41,180,182,254,211,96,17,26,190,175,37,208,22,86,4,122,34,133,151,3,121,59,176,201,233,186,92,147,203,134,244,94,250,119,114,48,112,99,134,191,91,119,74,198,109,250,231,186,224,160,180,60,108,210,243,216,170,96,230,62,208,180,156,69,57,182,241,254,122,55,131,211,172,158,50,41,24,239,150,114,55,253,55,243,178,170,182,68,150,84,11,98,126,83,57,116,164,181,133,42,148,246,108,141,254,129,87,160,12,189,69,246,231,153,40,96,157,85,232,42,173,242,250,28,69,157,151,29,246,204,166,240,57,155,251,107,137,198,18,217,81,81,19,41,106,185,101,20,86,213,82,196,108,75,229,124,205,104,178,168,44,219,90,152,219,219,54,139,176,121,72,195,37,91,60,64,227,88,128,124,184,242,249,243,84,5,151,48,126,30,93,52,102,134,114,56,84,253,141,194,254,155,185,95,110,232,17,244,151,101,17,201,137,149,233,95,47,140,85,118,38,76,73,234,249,178,32,43,41,206,1,239,141,162,111,19,227,155,173,179,69,88,178,147,62,5,208,230,11,1,24,191,202,70,52,41,150,171,201,8,93,222,241,215,25,187,20,86,232,217,222,111,121,201,76,26,207,153,182,168,95,36,147,131,76,93,157,244,89,248,78,122,146,2,55,138,68,251,96,45,117,162,183,248,15,57,201,152,253,199,85,54,190,68,106,179,105,75,82,114,96,229,211,106,37,222,126,162,90,75,161,182,234,80,234,157,221,134,208,236,237,132,69,96,99,252,246,10,240,115,106,102,17,230,232,84,54,137,64,58,77,183,196,212,192,140,95,247,129,93,119,134,91,27,230,131,178,16,131,181,149,184,188,210,181,214,128,106,195,80,149,87,104,75,111,181,171,215,170,110,161,160,172,219,116,3,162,25,237,212,65,121,224,47,178,51,83,37,167,19,71,94,252,239,36,43,101,113,32,102,106,103,137,72,174,115,229,73,233,251,211,51,73,46,203,242,192,186,91,116,212,2,216,39,77,209,229,11,108,219,122,114,214,29,125,80,145,17,7,23,207,134,233,96,188,125,252,57,240,239,20,146,217,107,118,181,143,243,233,124,191,188,35,43,233,75,173,18,216,27,178,119,17,157,94,157,189,73,146,189,56,251,229,215,101,239,224,104,157,225,54,83,148,254,151,95,194,189,131,169,117,134,219,76,81,250,95,125,181,247,14,158,150,9,110,178,196,200,127,233,125,225,59,248,97,212,111,50,195,104,127,241,13,228,59,216,153,233,223,100,136,81,31,105,89,182,188,93,67,15,68,119,236,204,123,58,28,157,14,58,201,89,11,87,217,110,158,207,207,141,54,240,149,51,5,78,55,236,109,125,223,55,230,63,96,29,247,140,235,223,202,236,143,95,30,234,225,244,240,59,247,234,64,128,78,19,147,148,127,110,133,164,111,9,8,239,229,144,83,56,126,73,181,253,167,241,127,75,92,82,69,202,48,0,0 }; +const uint8_t CSS_STYLE_GZIP[3012] PROGMEM = { 31,139,8,0,174,85,124,92,2,255,197,26,105,111,172,56,242,175,244,38,138,148,214,2,203,221,13,104,70,251,113,191,173,180,243,113,52,35,25,48,1,133,134,94,48,47,201,107,241,223,215,7,135,47,210,157,99,180,175,95,146,198,84,149,235,118,185,108,43,107,27,4,170,6,118,151,115,219,87,168,106,155,184,131,53,64,213,15,152,188,84,57,42,227,67,244,144,156,64,247,84,53,177,107,159,95,147,180,125,53,251,234,103,213,60,197,105,219,229,176,51,241,200,104,101,109,61,156,26,99,250,219,95,24,178,99,219,15,73,81,183,0,197,53,44,16,6,3,93,126,97,228,76,212,158,99,247,33,153,168,116,32,175,134,62,14,231,41,74,144,183,47,177,189,243,207,175,244,167,123,74,193,163,107,251,134,19,29,12,231,24,24,182,21,236,147,51,200,115,204,138,73,168,51,254,230,145,174,122,42,167,161,105,190,180,69,168,61,97,158,200,16,126,158,88,12,200,51,102,187,237,226,251,162,40,24,143,102,95,87,57,209,202,68,141,195,29,45,52,116,255,29,218,170,135,151,20,100,207,79,93,59,52,121,124,239,128,52,139,178,100,81,10,69,184,119,66,96,31,131,157,135,37,232,91,76,115,180,224,9,118,160,206,5,92,23,102,217,193,145,113,221,3,128,161,205,227,158,33,130,93,135,141,211,9,232,158,31,29,243,84,65,143,142,118,26,241,232,47,16,129,254,92,130,26,73,232,126,20,64,5,61,243,96,32,204,222,15,13,182,229,139,52,121,225,100,190,93,200,216,48,76,83,187,224,177,177,90,187,86,156,24,134,7,232,186,50,106,238,5,190,45,76,12,234,234,39,232,170,70,68,62,248,153,167,232,59,179,189,200,77,121,228,28,116,207,2,162,239,251,199,224,32,35,178,81,30,177,6,41,172,47,90,127,79,94,202,10,65,179,63,131,12,198,77,251,210,129,179,228,199,150,11,79,179,47,198,150,131,159,118,150,79,126,57,248,119,130,224,43,50,177,84,79,77,156,193,6,219,148,115,192,164,192,49,105,190,64,234,191,7,219,78,106,28,159,102,201,158,29,201,153,3,236,187,121,213,159,107,240,22,87,13,133,76,235,54,123,214,49,136,189,6,85,25,168,167,137,83,208,67,130,144,168,145,79,34,211,180,156,0,115,186,42,206,156,88,140,162,72,19,81,147,186,76,50,211,20,252,17,142,125,158,141,115,7,233,235,228,5,107,138,126,139,211,14,130,103,147,60,79,248,22,157,4,203,48,240,193,53,79,29,22,17,200,29,17,180,131,185,6,50,247,14,217,33,19,33,159,58,8,27,13,108,148,102,110,120,20,97,219,14,52,79,58,22,114,8,156,192,23,129,223,96,141,195,66,3,12,163,60,244,37,126,207,67,119,174,117,148,163,226,232,97,225,254,121,130,121,5,30,215,4,133,99,225,252,186,191,88,107,170,102,227,71,255,97,84,161,67,79,15,29,29,31,212,36,61,153,113,74,149,11,64,92,84,93,143,204,172,172,234,124,1,230,7,103,68,154,117,237,209,106,27,184,208,94,191,207,139,128,111,133,203,191,3,158,4,189,180,242,50,225,89,222,242,143,64,148,216,84,18,140,75,248,43,218,161,147,198,61,219,18,168,23,216,129,101,144,72,36,223,87,175,50,139,68,59,61,252,1,27,233,69,16,138,212,105,20,74,48,97,32,146,111,42,69,5,7,159,72,165,80,63,186,18,245,90,195,66,228,72,202,121,129,181,34,34,93,104,85,171,152,168,172,186,124,130,221,80,24,54,7,3,235,69,56,89,44,66,14,47,29,133,8,69,53,215,22,69,15,145,153,190,153,130,39,104,70,123,193,117,142,146,103,172,24,171,143,24,218,81,145,142,115,144,88,93,49,56,79,50,54,198,69,90,110,40,16,224,60,206,208,15,139,232,158,111,109,136,196,57,166,161,31,22,41,249,222,150,80,171,255,26,218,81,145,78,224,138,200,156,139,25,27,227,34,129,208,222,18,137,143,6,99,99,92,162,21,109,9,197,69,141,161,31,22,41,29,68,199,67,90,161,208,134,72,199,112,83,164,122,67,63,82,108,242,212,162,96,75,40,57,4,141,119,222,221,234,71,74,188,26,239,189,188,85,253,82,116,27,219,175,84,239,26,75,116,170,47,180,108,193,149,18,140,67,215,10,30,198,180,205,223,38,208,216,78,214,183,142,69,234,10,177,168,225,75,30,188,222,177,231,2,156,170,250,45,190,251,247,25,54,187,223,64,211,223,25,61,254,141,61,181,171,138,185,96,114,73,253,168,46,188,89,97,23,206,88,58,70,233,26,165,103,148,190,81,6,70,25,242,91,15,91,170,98,172,160,195,124,241,156,120,182,141,73,112,130,249,157,204,185,229,38,53,68,184,128,163,53,14,169,245,112,221,132,161,198,210,229,240,60,43,212,96,6,91,168,30,143,170,34,122,91,120,62,135,231,90,26,102,61,205,148,246,145,226,6,23,222,66,71,21,87,135,26,80,212,80,64,13,84,212,80,70,181,55,235,22,65,221,129,162,72,223,114,85,13,81,229,138,210,123,138,76,238,6,171,227,120,22,156,98,4,151,201,135,28,8,96,158,142,32,46,91,178,223,154,70,237,2,216,25,28,211,1,251,76,115,209,150,222,115,213,239,176,237,50,191,43,240,132,173,166,190,184,30,239,79,184,112,251,23,4,100,255,169,155,96,188,199,197,221,111,8,160,161,95,119,237,85,83,226,176,64,92,156,89,7,28,103,19,163,134,53,49,44,21,238,68,1,214,96,22,67,93,51,59,240,229,196,198,78,127,48,79,224,149,71,33,143,183,160,157,9,10,173,53,47,172,37,64,191,47,111,72,58,185,240,189,2,196,182,70,23,101,179,52,150,29,111,51,230,114,146,100,212,81,102,237,51,238,236,249,145,32,57,243,62,111,119,15,29,242,25,215,146,57,6,5,158,197,176,186,246,101,254,58,152,89,113,33,0,152,129,248,238,110,217,115,33,144,214,48,201,106,8,58,44,45,42,25,149,174,173,117,91,135,60,231,45,94,157,192,19,140,137,89,1,217,155,96,7,193,180,31,203,190,6,143,182,97,63,208,255,150,179,55,214,17,162,94,58,182,151,220,42,152,213,206,154,38,85,131,51,247,206,222,17,25,231,31,133,74,176,55,108,14,70,121,127,224,0,92,29,128,203,1,120,215,0,252,107,0,161,0,48,115,144,76,57,36,90,12,28,123,120,19,13,6,212,38,91,13,171,136,248,244,100,133,221,80,95,230,52,68,124,115,14,77,59,65,120,131,215,23,109,119,138,187,22,135,18,124,244,131,28,62,237,87,204,186,186,136,74,38,4,118,132,93,91,213,181,73,68,48,111,209,181,70,70,109,18,153,184,38,150,37,233,135,244,93,226,178,202,115,216,76,98,226,55,188,152,152,223,184,65,37,219,159,61,186,251,139,34,96,100,139,2,202,56,158,6,199,188,134,228,107,144,156,163,138,4,102,51,184,212,12,106,199,65,153,153,217,99,18,150,96,173,244,166,148,108,112,3,69,155,225,108,168,196,156,206,229,56,58,23,53,140,166,88,197,229,209,98,23,102,16,146,88,113,136,215,249,206,129,167,127,120,59,174,20,81,187,57,116,36,135,89,219,1,42,103,131,107,40,54,184,244,53,55,157,197,223,51,109,48,13,89,78,208,175,28,147,47,120,31,126,250,174,236,18,104,210,11,86,209,254,219,179,137,251,127,207,38,71,28,105,172,98,197,86,230,235,19,111,206,44,38,171,76,23,231,4,41,94,32,6,196,218,97,4,107,218,63,243,249,101,54,136,236,145,203,248,134,99,222,67,8,71,171,127,169,80,86,106,23,249,221,223,170,211,185,237,16,104,144,166,76,72,33,249,72,171,128,47,182,206,103,187,217,84,27,180,125,142,181,65,62,150,183,231,171,144,108,232,122,252,253,220,86,212,119,85,183,159,234,37,66,127,142,226,80,109,171,187,164,249,190,145,147,67,82,10,225,178,58,125,174,144,201,121,183,44,217,206,114,251,29,4,61,52,49,225,118,64,137,121,106,127,126,12,161,253,32,253,254,67,240,31,128,157,205,107,101,37,204,158,181,93,202,67,152,187,78,62,3,238,170,230,60,160,223,209,219,25,254,114,71,145,176,53,239,254,88,220,131,38,17,201,88,203,226,134,245,203,90,33,130,25,4,23,62,226,55,115,157,70,26,182,85,115,217,6,92,137,105,204,70,94,238,240,206,225,125,91,109,64,181,183,80,234,175,3,93,3,144,245,191,203,171,31,23,182,183,62,18,241,39,165,99,53,196,41,196,75,143,120,154,35,150,231,49,149,77,206,166,88,87,6,1,220,217,248,143,77,62,59,146,139,246,2,226,164,189,5,137,17,49,40,203,132,0,253,194,98,200,96,29,226,30,15,63,218,148,242,158,31,162,121,110,154,104,175,157,228,83,12,182,159,67,195,38,250,12,158,138,51,11,175,199,164,25,142,175,214,169,97,132,188,231,202,71,134,246,122,96,40,100,188,165,122,159,163,230,184,25,43,102,48,199,128,25,45,97,67,178,158,224,55,116,115,32,186,13,101,254,70,207,97,130,50,75,127,175,231,48,31,209,56,15,118,169,15,120,206,21,6,219,207,161,109,122,206,251,120,239,121,142,14,83,42,222,233,206,91,241,0,119,89,199,98,90,190,19,231,33,95,52,110,49,165,78,151,248,64,247,124,90,142,136,197,245,82,93,1,185,21,148,172,154,66,107,235,63,45,22,161,229,251,90,2,109,97,69,160,39,82,120,57,144,183,3,155,156,174,203,53,249,218,146,222,11,122,35,7,3,87,102,248,187,117,163,100,220,166,127,174,11,14,74,203,195,33,61,143,173,10,102,238,3,77,203,89,92,96,27,239,47,55,51,56,205,234,43,147,218,227,205,82,238,166,191,102,81,213,245,150,200,146,106,237,132,223,84,14,61,105,109,193,26,102,136,173,209,63,241,10,148,195,215,216,249,56,19,37,104,242,26,94,164,85,94,159,163,168,243,178,195,158,217,20,1,103,243,96,45,209,88,34,59,42,106,34,69,45,183,140,130,186,94,138,152,109,169,220,175,25,77,22,149,101,91,11,115,123,221,102,49,54,15,105,184,228,139,7,104,28,203,38,31,174,124,254,56,85,193,37,140,207,163,139,198,204,97,1,134,26,93,41,236,191,153,251,229,129,30,65,127,89,22,145,156,88,153,254,245,194,88,85,111,130,140,164,158,47,11,178,146,226,28,240,214,40,250,54,49,190,217,58,91,132,37,59,233,83,0,109,190,16,128,241,171,108,196,147,98,185,154,140,208,229,29,127,157,177,207,64,13,31,157,253,150,151,204,164,241,156,89,7,209,34,153,28,100,234,234,164,207,194,55,210,147,20,184,81,36,58,7,107,169,19,253,197,127,200,73,198,236,63,158,178,241,37,82,155,109,87,145,146,3,43,159,86,43,201,246,27,213,90,10,181,85,135,82,239,236,58,132,102,111,39,44,2,27,227,215,87,128,207,169,153,69,152,171,83,217,36,2,233,52,93,19,83,3,51,126,221,7,118,253,25,108,109,152,15,202,66,108,175,173,196,229,74,215,90,3,170,13,67,85,94,161,45,189,213,174,94,171,186,133,130,178,110,211,13,136,102,180,87,7,229,129,191,200,206,76,149,156,78,92,121,241,191,145,172,148,197,109,49,83,187,75,68,114,157,43,95,74,223,31,158,73,114,89,150,7,214,221,162,171,22,192,1,105,138,46,191,236,109,91,79,206,186,163,47,106,50,226,226,226,217,48,93,140,183,79,62,6,254,157,66,50,123,205,174,246,126,62,157,159,151,59,178,146,190,212,42,129,221,144,189,137,232,116,117,246,42,73,118,113,246,203,215,101,111,224,104,157,225,58,83,148,254,151,47,225,222,192,212,58,195,117,166,40,253,175,94,237,189,129,167,101,130,171,44,49,242,95,186,47,124,3,63,140,250,85,102,24,237,47,222,64,190,129,157,153,254,85,134,24,245,145,150,101,203,237,26,122,32,186,99,103,222,211,225,232,116,208,73,206,90,184,202,118,243,124,126,110,180,217,95,57,83,224,116,195,110,235,7,129,49,255,216,214,113,207,184,254,189,202,255,252,229,174,25,78,119,127,112,87,7,66,120,154,152,164,252,115,43,36,189,37,32,220,203,33,167,112,252,146,234,76,183,141,72,135,247,215,161,94,47,29,173,199,189,162,141,188,181,157,24,134,161,124,192,58,210,67,206,75,93,245,120,2,244,86,67,182,56,174,87,19,18,225,222,44,89,81,40,198,124,248,211,11,215,27,232,171,29,184,40,2,188,123,119,132,168,151,238,239,39,179,31,143,199,164,29,16,129,36,135,215,186,227,69,33,112,61,242,185,165,155,72,186,102,246,220,72,43,186,246,244,72,142,166,246,6,106,241,23,159,124,164,134,161,174,157,73,80,140,25,252,189,158,157,8,104,158,43,44,247,141,208,147,142,167,245,9,92,166,154,196,36,183,242,80,63,29,142,80,101,209,59,231,130,58,136,145,63,167,11,172,119,166,11,76,226,22,69,96,120,131,194,190,171,133,21,234,170,10,22,208,17,59,183,133,112,217,57,117,49,127,37,199,25,139,131,211,218,98,252,31,193,193,215,73,207,51,0,0 }; diff --git a/src/dataTabbedcontentJS.h b/src/dataTabbedcontentJS.h index e99551a..a010553 100644 --- a/src/dataTabbedcontentJS.h +++ b/src/dataTabbedcontentJS.h @@ -36,4 +36,4 @@ function api(){return{'switch':apiSwitch,'switchTab':apiSwitch,'getCurrent':getC 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); )====="; -const uint8_t JS_TABBEDCONTENT_GZIP[1412] PROGMEM = { 31,139,8,0,190,66,124,92,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[1412] PROGMEM = { 31,139,8,0,174,85,124,92,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 }; diff --git a/src/dataZeptoJS.h b/src/dataZeptoJS.h index ccd1112..df600b6 100644 --- a/src/dataZeptoJS.h +++ b/src/dataZeptoJS.h @@ -2,4 +2,4 @@ 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}); )====="; -const uint8_t JS_ZEPTO_GZIP[9713] PROGMEM = { 31,139,8,0,190,66,124,92,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[9713] PROGMEM = { 31,139,8,0,174,85,124,92,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 };