WLED/wled00/data/index_mobile.htm
cschwinne 4e3c83af94 Added Blynk support
Fixed AutoRGBW not disabling white slider in UI
Fixed possible UDP buffer out of bounds
2018-07-16 11:50:09 +02:00

599 lines
47 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta content='width=device-width' name='viewport'>
<link href="images/safari-pinned-tab.svg" rel="mask-icon">
<meta name="theme-color" content="#333333">
<meta content="yes" name="apple-mobile-web-app-capable">
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAGACGAAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAE1JREFUOI1j/P//PwOxgNGeAUMxE9G6cQCKDWAhpADZ2f8PMjBS3QW08QK20KaZC2gfC9hCnqouoNgARgY7zMxAyNlUdQHlXiAlO2MDAD63EVqNHAe0AAAAAElFTkSuQmCC"/>
<title>WLED 0.7.1</title>
<style>
*{transition-duration: 0.5s;}
body {
margin-bottom: 60px;
background-color: #333;
font-family: Helvetica, Verdana, sans-serif;
color: white;
background: linear-gradient(0deg, #7e8a96, #333);
background-size: 400% 400%;
}
.feedbackanim{
animation: feedback 0.5s;
}
@-webkit-keyframes feedback {
0%{background-position:49% 0%}
50%{background-position:33% 49%}
100%{background-position:49% 0%}
}
@keyframes feedback {
0%{background-position:49% 0%}
50%{background-position:33% 49%}
100%{background-position:49% 0%}
}
.segment{
width:100%;
height:145px;
max-width:260px;
margin-left:auto;
margin-right:auto;
}
.cC {
width: 27px;
height: 27px;
float: left;
border: solid;
border-radius: 30px;
padding: 10px;
margin: 5px;
font-size: 23px;
}
#mode li {
padding: 15px;
background-color: rgba(255, 255, 255, 0);
margin: 10px;
border-color: white;
color: white;
border: solid;
text-transform: uppercase;
font-family: helvetica;
font-size: 19px;
list-style: none;
margin-left: -37px;
border-radius: 40px;
}
#mode li a {
color: white;
text-decoration: none;
text-transform: none;
font-family: helvetica;
display:block;
}
input[type=range] {
-webkit-appearance: none;
width: 228px;
margin-top: 10px;
background-color: rgba(0, 0, 0, 0);
}
input[type=range]:focus {
outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
width: 100%;
height: 32px;
cursor: pointer;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
background: #66d1ff;
background: linear-gradient(45deg, #66d1ff 0%, #ff6a00 100%);
border-radius: 25px;
border: 0px solid #010101;
}
input[type=range]::-webkit-slider-thumb {
box-shadow: 0.4px 0.4px 0.4px #000031, 0px 0px 0.4px #00004b;
border: 2.6px solid #ffffff;
height: 26px;
width: 26px;
border-radius: 26px;
background: rgba(255, 255, 255, 0);
cursor: pointer;
-webkit-appearance: none;
margin-top: 3.3px;
}
input[type=range]:focus::-webkit-slider-runnable-track {
background: #66d1ff;
background: linear-gradient(45deg, #66d1ff 0%, #ff6a00 100%);
}
input[type=range]::-moz-range-track {
width: 100%;
height: 32px;
cursor: pointer;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
background: #66d1ff;
background: linear-gradient(45deg, #66d1ff 0%, #ff6a00 100%);
border-radius: 25px;
border: 0px solid #010101;
}
input[type=range]::-moz-range-thumb {
box-shadow: 0.4px 0.4px 0.4px #000031, 0px 0px 0.4px #00004b;
border: 2.6px solid #ffffff;
height: 26px;
width: 26px;
border-radius: 26px;
background: rgba(255, 255, 255, 0);
cursor: pointer;
}
.oos {
position: relative;
width: 58px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
}
.oos-chk {
display: none;
}
.oos-label {
display: block;
overflow: hidden;
cursor: pointer;
height: 24px;
padding: 0;
line-height: 24px;
border: 2px solid #999999;
border-radius: 24px;
background-color: #EEEEEE;
transition: background-color 0.3s ease-in;
}
.oos-label:before {
content: "";
display: block;
width: 24px;
margin: 0px;
background: #FFFFFF;
position: absolute;
top: 0;
bottom: 0;
right: 32px;
border: 2px solid #999999;
border-radius: 24px;
transition: all 0.3s ease-in 0s;
}
.oos-chk:checked + .oos-label {
background-color: #34A7C1;
}
.oos-chk:checked + .oos-label,
.oos-chk:checked + .oos-label:before {
border-color: #34A7C1;
}
.oos-chk:checked + .oos-label:before {
right: 0px;
}
section.range-slider {
position: relative;
width: 100%;
height: 50px;
text-align: center;
}
section.range-slider input {
pointer-events: none;
position: absolute;
overflow: hidden;
left: 0;
top: 30px;
width: 100%;
outline: none;
height: 32px;
margin: 0;
padding: 0;
}
section.range-slider input::-webkit-slider-thumb {
pointer-events: all;
position: relative;
z-index: 1;
outline: 0;
}
section.range-slider input::-moz-range-thumb {
pointer-events: all;
position: relative;
z-index: 10;
-moz-appearance: none;
width: 9px;
}
section.range-slider input::-moz-range-track {
position: relative;
z-index: -1;
background-color: rgba(0, 0, 0, 1);
border: 0;
}
section.range-slider input:last-of-type::-moz-range-track {
-moz-appearance: none;
background: none transparent;
border: 0;
}
section.range-slider input[type=range]::-moz-focus-outer {
border: 0;
}
.cyclebtns li{
width:30%;
float:left;
text-align:center;
border:solid;
border-color:white;
margin: 1px;
padding-top: 10px;
padding-bottom: 10px;
border-radius: 29px;
list-style:none;
border-radius:30px;
}
li {
box-shadow: rgba(255,255,255,0) 0 0 0px;
}
.btns img{
height:60px;
width:60px;
float:left;
margin-top:-10px;
opacity:0.5;
}
.brs input[type=range]::-webkit-slider-runnable-track{
background: linear-gradient(45deg,black,yellow);
}
.brs input[type=range]::-moz-range-track{
background: linear-gradient(45deg,black,yellow);
}
.whs input[type=range]::-webkit-slider-runnable-track{
background: linear-gradient(45deg,black,white);
}
.whs input[type=range]::-moz-range-track{
background: linear-gradient(45deg,black,white);
}
#cv {
position:fixed;
height:100%;
width:100%;
top:0;
left:0;
background-color:#333;
font-size:24px;
display:flex;
align-items:center;
justify-content:center;
z-index:11;
opacity:0.95;
transition:opacity 1s;
pointer-events:none;
}
</style>
</head>
<body>
<main style="max-width:280px; margin-left:auto; margin-right:auto; text-align:center;">
<div id="cv">Loading WLED UI...</div>
<div style="width:100%; max-width:260px; margin-left:auto; margin-right:auto; font-size:12px; margin-bottom:20px;">
<div class="btns" style="width:70%; float:left; text-align:left;">
<p class="desc">WLED</p>
<a href="#" onclick="tP();"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHp6ent7e3x8fH19fX5+fn9/f4CAgIKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGOYxTYAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjIx8SBplQAACPJJREFUaEPtmut/09YZgIcdLrZjKSGFBUrpSpsCLaUZSZu1pQRKua2DjnAJBEq5lK4J2xiUhFE2FsaljLS5WbYTOxegRNKRLVlO+v9577Fe3Y986X6/fdj6fIBX0tH7+Fx1ZOcXpf8CP0vq4v9SoqkKERFCVC2P56tTm0Rf1IhM8pqu6wWA/pdXZDlfXMQClalBUtQVSdH03Pzo7YGzRw/t23fw01NfDv0rS/RCTiKFGjxVJUs5SdHV7Dcnu1p5novHOYD+y7/QfuQviZyel5SqmiqSRSKpeuZPu1q4OMd7oKc6LoyrBVkqYPEAKkqWiFTIPTjUDJ87AC7OfzC0oEM5vIVJBcliTtJyt7v4OCYMgOPaBp7rsryEtzEIlhTFXOH+b/jASjiIb7qWU8XgIR0kWVQkPftJTQoK1zVSlKWgygRIfpSUwo21jZiiBjj+M6KKOt7ugS0piurzw7XWAml8J6mLKiZww5Rooi5sr6MaBvHVfytKCqZwwZJAte+trrMeBv26TDCJE4ZEFYt/xZvqhTursSx+iSYWB/Ge+on3arK/xXySoli8hXew6cmcwYhFvE+XfL3vlSyJ+gMsz6aZEPISxiy4L3XRu8Z4JZKaWlOxz1ueEfI6xmxu6aJnVnok8Oz7deVx1TJHyKsYs2maUCVMh7glRUk/WmV+VJdw7SLJYUIDlwQclTsdqC7hG3s9DeaS5JT59VgwkBokPP9AkzFlGacERlZP1cWkFgn3tiw710qnhKiPsRSLl8+MjrxmSV68N35xM17xE+/XnX3vkCxJanfgyHr1MgxdMmRINvH8MTgif3wDr/ponScapgUcEkW7h0X8XJJoUrLbkEAV3vqhfOLKWizgofG8syq2ZFHSgiqyZYQmTF+gH5xKtsH/r/SNl092lkv4WPeE2L1iS9T8d1jAy35ajYlPmssHVPJmOeL3PKKaE8aBh/gV3R5gtkTSj7GH1iGa6g94wLfMWxKeP0sv9eGBC66d2I98S7JInsAWkcHvIM8PH+IBLBpZh4TfkYKr5/DAzUPVWo0tSb5wk9kj7ZBlHoauRcYp4ddOwPWP8cBJ/LjdXpZEKhxk7eLWPyfkSRseUJrcEr6VWlgzZtOCtd8zJUvkKXNFue1N4ZXwa+FlZQxjF49U87liSgrqfbzmYic4jmFs4JPw3b4yZeKXdPNBbEpy+iVWa8F4/QeGiF/CD4DlBYxtuG7NnI+mRNY+YvQ7rQisIU4YkjVQ6ijGDjY8M+cjSlRZ3IrXnDwk5GsMTRgSvo+QjDFVXYznikZ2lGhKmlFqK3zEX2FswpI0wZKwC2Mb7paGi6RZk/y3eMnJOUIeYWjBkvA3CPkzhjbxy2bPo4RorKl4l7FmMCUHCBEwtImf0HE3aUr0Ab+kFcZWF8YWTEkbtOsWjA0gG7e/gHMeJbJ+3j+CYUWRfTO0aZaQ7RjbwMk9GBpEOa5xp7k1Qomon/JLdhMyhaEN7WT/5u6Wdz5Go5FwZ94rOeGXHCHkLoYOzi1cxcjBF4R8jqFBNBoNb33q7hOm5DPWmOF51k4YxuFlDA1A0rBlbN7IXqm5AiQsmJJt46NG9kod/3tC7mBYjUuM5mrYIbglRO/3D+G9hCQxrMag91lP++SD5LiR3ZSwJmMHIRL7kexjyvt4jEZjoQPpCSM7SlSVsaysf0pIB8aVeQUmo3uGRmOx0Mn0pJEdJewF8kHQhsfLRzCj3PfHYtHlX6VSRnazJvKCe1koc4GQ4E2lk6uEXMfQgIvFIvFvhGkjO0rgobXH3yl0p1L1XYICe1Z3l4Bk5YaRyYyR3JQo+kX/GOa/I2QAw0rAWJ9zP39jsVi4M4X9bkk0ldUwMIjJixhXAPYrpzFEQBI6Pi1gclMCW6J1WMBBE7wv3MA4mM/ho3huhn6P3Ehhl1gS2NztZ7TXPrh/H8ZB7IAy5zFGoEtWvDyWmMHcliRXGPT3PM9/S8hCpe8GAHiKeZ8ItLUOZHCWOCRFMv9LLOJkI3zMNKMhbeBjkLcwNoHWWvn1FM4ShwReHZiv8DDPyChLj9yB670Ym0BrLd+cmJzFzA5JPj+CZdychCxT7XjgpY2+g32FBxa0tc5kEpjYKVmU1A9ZvcKfgjykBw/clN/BfDOJzsR1j4UsJnZK4MWU8bCllN907+/EI5sOeLITcgGPbKAiy3qyVre7JPCKvZNZFf4deIWDfd7+NXhMae4epiflvXhsQ8dv6+OkOUkAh6SkqL79IrIBVkBg5mbv7u1tG1/btuv49XT5zC3/xgUcsVBf1pztFKdEFfVPg772aL9ZTkoxXukpd9/Dq07A0fB6QkhiUopTUsops8FPwq4rMOsczF/rxisuoCKRVdczzoq4JUuiPsTulTIt75689lCYezqXfDTY9z7749DGWvbbrDCHKcu4JKWiVDhS9XuiitDG2jyZmsKEBm5JSVGeb69Ql6qAY2XzHXdj+SQlSU2sxht+AuCIrOyfSbgayy+Bbvkn3lE/4Ig29M4K+NS18Erol89DeE+9UEf4cFZIYyoLn4R+VX8N76oLOq6i4UOZpLXCW/glpbz0U76sp45Iw2GWgyWhluGm+sYYVcRWrDqdZTmYErq+TGypZ76UHeGWKzMCy8GWQO9rzw7WXJeyIrLsjeEZwT0JTdgSGMmKdnV1TZUpK6Lh6JHEdMJ+TrkIkJR+JJI+daDqT4BlA/RG6M2hmZSAb28+giSlki7mCsOdFX6RRQFVvHQ+OZ1gNxUlWFJaUiRNudnh+lmWgzcoAxTAsA1vPD2aFZKepcRJBQnsLWS5oAx/3GT/gs1FXI7I8lDs7S/GsknHroFBRQkMM1nSCun+95vNn8ojhiUWja5aEQ7HNx+9nZoWgjrcpIoEGo3+6J9PD/Z0rOHjjY0Ny0LhUCgUboi0tHWf+3sik5oUzC1vIFUlUBudSEpBV2YfD13uPbz33c73ug8ev3j93vjUdDKRmLb2icHUIAGKiyr9Q4wC/TsMURCS6XQqmZiYTGarVqJMbRJKTlMVeUEUpfnR778fmxBSzv1IZWqX/Af8LKmL/xVJqfRvatUKnjkflLYAAAAASUVORK5CYII="></a>
<a href="/settings"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAAkJCQwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlRUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7+dWQAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjIx8SBplQAADStJREFUaEPtmul7FFUWxmcwnV5q7+7qEEHDTmCEsEkCAVEJoKNgEAPqgCCKMyIoDuDIThBQBgwoAwZCutPZwLDWvnWi/1nm3qpT1bd6IfGZ55kPM74fSDrpen9971nq3Ap/GP8v6HfIb9L/JcQyNVUCqappGfDziTU5iDNqqYpqWI7j2Ej4i6EpilEYhTc8XZOAFBxN1ixHH7l18ci+97Zu3ty+48NDnf8aVh1bl1V7EpwJIWO6rDnm8IXd6+bXCyzDsEjoXz4zu2X7iazuGLI2IWYCyKgqm87Q1xtn8QyXEjN1gTJiGv1oeuv+HtNWZBveXkVPhYypsq1f2zqTZdOEPyGRZ+rXdz5x0Pvgkop6CmRUly394ro0kwbLihJZbsmRx46ijMFlFVQdUpB0++rLAld5DYQyAtN0Ujel6ildDTKqyc7wtjQ7IcKVwK67WVDkaoupAvlF1uwzc2kRTCZUhp36iWpKDlxeosqQgmQ+7uAFcJiU0vTaPkcywSCsihBLcnIr6cntVFHMrG8LsgYWIVWCoGV3zWbhUlJkncBXUkL6sKOoYEKqAsSUCt/Uk1vlGmZEgeWCGGXQi1QZKMXtsypRyiGWVDibScJlgURuWvOew9N8irDn0PrZQgpeBRKZPZZSvmNlkIJUOF/OSD9/NKs4v75Bey+FRfKYMXxpaflnYT5y5LLol0LGJOfas2XX1iUbJUuRzeu8V/3MIUeStV/bKPcVKZFDvyrtMaUQ2czP4eECQumGvCbLsrU+igORnD+iyrKiroiVd5x06rwjlVRlCQTd+1ZVyiuxvtvAkO/iuM0w+xz0QnncGGfLwlKXbLhj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"></a>
<a onclick="tN();"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC4uLi8vLzAwMDExMTIyMjQ0NDc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXmBgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHp6ent7e319fX5+fn9/f4CAgIGBgYODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPs/1LUAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjIx8SBplQAACARJREFUaEPtmv1/E0UawI+kvCTpbgrIWRRPofgKJ2h9ofY8ldLydiBYi5zH8WbROwRpEPCuWhEFhbbZJG3TEurR3Z3d7O4k9V/Mzew+u5l9S3br5+MP6vcHic/OPl9mnpnZ2YQ/NH4BfpfE4jcp0TUFiQBCml6FeHuiSXBdRzKq6hhjg0D/qCqyXK3VoUFrIkhqWJEUHauVuzcunDwytHfv4OH3z+e+KyNsqBIyInjaSpZVScFa+fp7vd3ZLM9xPIH+N/vIzkOf5lVclZS2mjaSOpI0PPevNzbyHJ/1QEO7/jmpGbJkQPMQWkqWkWSoN4fWk793CDyXfT23hEk7uCWQFpK6Kunqjd4sBwlD4PmtFx5iWV6G2wIIl9RE1fj6lWxoJxi4py6pmhg+pcMkdUXC5QORFBS+905NlsI6EyL5SVKMK3/shBQR4LN/R5qI4XYPwZKaqD08GLUXQOdLBSxqkMBNoEQXsfBCjG5YcBu+qEkKpHARJCHdntgQsx8Wo1hGkIQlQKKJtc/hprjwJ/Ugi1+ii7UxuCc+3LAu+0fMJ6mJtWtwx0rgTmDJV32vZFnEN6H9yuDPY9G7x3glklbctKKaN7mGRc+q9EjIs+/PP9OR7ZrSJEgHuCU1CR8JXx+P9Z3M3ZpBaOnynvUQCoLfKSIVElq4JMQRWvSugdwiMvn3q49BLITOYc+AuSSqUgm5f9Nw0TLIH26GUCtu6jKkNGElZGYdDR6s/bOWAk30QKQl/A5ZZvdKVoK029DKzZbroEBnIdIObhSztWcky5LWHzSzeu+DAr0LkfZ0V5AOaQmMRNEnoImLfWBA6DhEItB5iu1KU1KX9KCOHAADQqMQicTmB6hZlaZEq34PDVj6wYDQJESiwX2MmxOsKZHwu/6ptQ0MhK0Qiga/EzUf+Y6kjh6QI6IXWB2ETyASmW80Zzd2JFXjqr8i58FAiLIGWbhjzfFyJJIx6DvF9YCAcBlC0XlqyTnv2ZJltOjfUSbAQOiFUAy+1eznii0xtK/hWpPnQUC4D6EYcGew/SC2JSo+4xutMTAQchCKAd+v2+vRlsj6W966d4OAMgKxODz+o70eQaLJ4tNwzWEIBJS3IRaLSbVmZQeJrpR8DztmtNBLEIsDf02HTdLuSfUWXGoyBwLKDojFgTtnVx4kSPctxa2Q32QnBOPAHcdwmrQl+IJX8gbkN3kZgpEh2fgBA9Y8SGR8yjuDD0N+k9iFT/N85x77aAQSEb/vlZyA/Caxp3A6nUrurnolx72Sf0B+k6sQjEw6nU4+veiuSTtJ7G2FSDq236tY2SMOV+wNkkqem7xrZY9YePQZRKNCJS8KbgnCoy2nMEJtjqZeaE1eL0xa2W1Jm8UY+/GbTmcS+0pTVnaQaFrrbYUQ7yCRzmQS75WmrewgabdBEtoeiVznkEwmvfqjYtHKbvdEXtoOlx3YrZ7yEcRDGPwbfKDwmUyKuy7MWtlBQh5af/UWpVuG7DbH4EIgff97Hj5RiGTt43em56zktkTBp71z2DteLQ/cO9BF+GSSyWSSu4tQd0eia/7TNnOQAM7AFR9vIrQJPpoQSeLYrADJbQk5EvmPb19B7iZfboNLLrrOInQePluQuqeuFKEkjoQc7gZ848Uc7mzkk/7D7DvTCEmujpCSrPnTvfw85HYkqjHmrbzrmOqwcPoZuGryxKHvaPQA/K8FHa19c7BKGEkNVR6FJgzNAzfLnXMDLz7Z/eiW5/pGvlgyI+PQHiCjtfazGVgljIS8OgS8wjOvDh7kxUUrP6XiGiw6Wqt78tMLkJmRVKt3oA1L8yWoFc9Ca4CO1gdzeUjMSuqS1uevSnY/5GnFK9AWoCtx822hDIlZCXkx/RJauRiATKFI3gca6ciqo2Wn7C4JecXeE9CVbO8CZAsm7z3f0vnbfbtgLxICI2ko2rfQzs2Wa5AviIsboJUNcWQSJ8r2aqewEk3Eh4O/9hiagZReJv8CLZoQR8e2vFCApBRW0lCVhYCXU8oj9hc4LibZ3R0gHUmtuzzHdsQtWRZxLqgqlK69Yw8gt8XCpTfhEgsdrFX7y8J9SGnikjRqknEo/Eu1zX0f5G6VKouV4jdXRl5zrz8bOlg908UZSGjhljQU5eELYX2JAnGsXf9f92D5JA1Jy3unSwyII7V2dD7vGiy/hJTlK7gjPsSR7hheEOCp6+CV0C+fV/Cqa0IdyYNloQSpHHwS+lX9JbgrFnRepZNDcwVnh3fwSxpVaSVf1lNHquNgkCNIQi3jXfHmGFVk1qwbKQc5AiV0f5naHr5e/JiO5MaP54UgR7CEVF//cTByX0xFatUz4/OCexHaBEvITFb0ixsidcZUpJPpQ/nZfPM55SJE0vgJSXhmX9ufAE0DqUbi2dx8UYC3Nx9hkkYDi6oxvrvFL7IgoIotpwqz+eChooRLGsuKpCtXd7l+luXJG5QFCMi0TT4xcrcsFDxbCUsLCTlbyLKhjL/T1fwFm0+5HKnVicyOs/fKBebUEEBLCZlmsqQbpdHX1ts/lacsSyadXrcmmeR6jtwozgphBbdpIyGDRn/0r5bGju7alOU6OztWJZKJRCLZkdq4tf/D/+TnitOCfeQNpa2E9AYjSTGwsnA7d2744Nsv7361f/DY6csTkzOzhXx+1jknhhNBQqjVNfoPMQz67zBEQSiUSsVCfmq6UG7bCZNoEoqqa4q8JIpS5e4PP9ybEorseaQ10SU/g98lsfi1SBqN/wM9OblmCmjDPgAAAABJRU5ErkJggg=="></a>
</div>
<div style="width:30%; float:left; text-align:right;">
<p style="text-align: right; margin-bottom: 5px;">FX 2nd Color</p>
<div class="oos" style="float:right;">
<input style="margin-bottom: 5px;" class="oos-chk" id="myoos" name="oos" type="checkbox"> <label class="oos-label" for="myoos"></label>
</div>
<p style="text-align: right; margin-bottom: 5px;">Sync Lights</p>
<div class="oos" style="float:right;">
<input class="oos-chk" id="myoos-n" name="oos" onclick="toggleN();" type="checkbox"> <label class="oos-label" for="myoos-n"></label>
</div>
</div>
</div>
<div id="cpc" style="margin-left: auto; margin-right: auto; width:280px; margin-bottom: 16px"></div>
<div class="whs">
<p style="margin-bottom: -4px;">White Channel</p><input id="whis" max="255" min="0" type="range">
</div>
<div class="brs">
<p style="margin-bottom: -4px;">Master Brightness</p><input id="bris" max="255" min="0" type="range" value="222"><br><br>
</div>
<div class="row segment" style="">
<div class="cC" onclick="pC('#ff0000');" style="background-color:#ff0000;">&nbsp;</div>
<div class="cC" onclick="pC('#ff4d00');" style="background-color:#ff4d00;">&nbsp;</div>
<div class="cC" onclick="pC('#ffc800');" style="background-color:#ffc800;">&nbsp;</div>
<div class="cC" onclick="pC('#08ff00');" style="background-color:#08ff00;">&nbsp;</div><br>
<div class="cC" onclick="pC('#0000ff');" style="background-color:#0000ff;">&nbsp;</div>
<div class="cC" onclick="pC('#b700ff');" style="background-color:#b700ff;">&nbsp;</div>
<div class="cC" onclick="pC('#ff00ee');" style="background-color:#ff00ee;">&nbsp;</div>
<div class="cC" onclick="pC('#ffffff');" style="background-color:#ffffff;">&nbsp;</div>
</div>
<div class="row segment" style="height:245px;">
<div style="height: 46px;">
<p style="text-align: right; margin-bottom: 5px;">Edit Presets</p>
<div class="oos" style="float:right;">
<input class="oos-chk oos-chk-ps" id="myoos-ps" name="oos-ps" type="checkbox"> <label class="oos-label" for="myoos-ps"></label>
</div>
</div>
<p style="text-align:center;">Presets</p>
<div class="cC" onclick="ps(1);">1</div>
<div class="cC" onclick="ps(2);">2</div>
<div class="cC" onclick="ps(3);">3</div>
<div class="cC" onclick="ps(4);">4</div><br>
<div class="cC" onclick="ps(5);">5</div>
<div class="cC" onclick="ps(6);">6</div>
<div class="cC" onclick="ps(7);">7</div>
<div class="cC" onclick="ps(8);">8</div><br>
<div class="cC" onclick="ps(9);">9</div>
<div class="cC" onclick="ps(10);">10</div>
<div class="cC" onclick="ps(11);">11</div>
<div class="cC" onclick="ps(12);">12</div><br>
<div class="cC" onclick="ps(13);">13</div>
<div class="cC" onclick="ps(14);">14</div>
<div class="cC" onclick="ps(15);">15</div>
<div class="cC" onclick="ps(16);">16</div>
</div>
<div class="row segment" style="height:50px; padding-top:100px;">
<p style="text-align: right; margin-bottom: 5px; padding:10px; padding-bottom:0px;">Cycle Mode</p>
<div class="oos" style="float:right;">
<input class="oos-chk oos-chk-cy" id="myoos-cy" name="oos-cy" onclick="tC();" type="checkbox"> <label class="oos-label" for="myoos-cy"></label>
</div>
</div>
<p style="padding:15px; padding-bottom:0px;">Cycle Range</p>
<section class="range-slider">
<span class="rangeValues" style="font-size:20px;"></span> <input max="16" min="1" step="1" type="range" value="1"> <input max="16" min="1" step="1" type="range" value="2">
</section>
<div class="row segment cyclebtns" style="height:240px; padding-top:10px;">
<ul style="padding:0px;">
<li onclick="EC('/win&PC=1&PX=0');">Color</li>
<li onclick="EC('/win&PX=1&PC=0');">Effects</li>
<li onclick="EC('/win&PX=1&PC=1');">Both</li>
</ul>
<div style="padding-top:50px;">
<p id="PSDurL" style="margin-bottom: -4px;">Preset Duration</p><input id="cycsxs" max="65000" min="50" type="range" step="50" value="5000">
</div>
<div>
<p id="CDurL" style="margin-bottom: -4px;">Color Transition</p><input id="cycts" max="65000" min="0" step="50" type="range" value="500">
</div>
</div>
<div>
<p style="margin-bottom: -4px;">FX Speed</p><input id="sxs" max="255" min="0" type="range" value="128">
</div>
<div>
<p style="margin-bottom: -4px;">FX Intensity</p><input id="ixs" max="255" min="0" type="range" value="128">
</div>
<ul id='mode' style="margin-top:20px;">
<li onclick="X(0)">Solid</li>
<li onclick="X(1)">Blink</li>
<li onclick="X(2)">Breathe</li>
<li onclick="X(3)">Wipe</li>
<li onclick="X(4)">Wipe Random</li>
<li onclick="X(5)">Random Colors</li>
<li onclick="X(6)">Easter</li>
<li onclick="X(7)">Multi Colors</li>
<li onclick="X(8)">Rainbow Full</li>
<li onclick="X(9)">Rainbow Cycle</li>
<li onclick="X(10)">Scan</li>
<li onclick="X(11)">Double Scan</li>
<li onclick="X(12)">Fade</li>
<li onclick="X(13)">Chase</li>
<li onclick="X(14)">Chase Rainbow</li>
<li onclick="X(15)">Running</li>
<li onclick="X(16)">Twinkle</li>
<li onclick="X(17)">Twinkle Random</li>
<li onclick="X(18)">Twinkle Fade</li>
<li onclick="X(19)">Twinkle Random Fade</li>
<li onclick="X(20)">Sparkle</li>
<li onclick="X(21)">Dark Sparkle</li>
<li onclick="X(22)">Dark Sparkle+</li>
<li onclick="X(23)">Strobe</li>
<li onclick="X(24)">Strobe Rainbow</li>
<li onclick="X(25)">Double Strobe</li>
<li onclick="X(26)">Blink Rainbow</li>
<li onclick="X(27)">Android</li>
<li onclick="X(28)">Dark Chase</li>
<li onclick="X(29)">Dark Chase Random</li>
<li onclick="X(30)">Dark Chase Rainbow</li>
<li onclick="X(31)">Chase Flash</li>
<li onclick="X(32)">Dark Chase Random</li>
<li onclick="X(33)">Rainbow Runner</li>
<li onclick="X(34)">Colorful</li>
<li onclick="X(35)">Traffic Light</li>
<li onclick="X(36)">Sweep Random</li>
<li onclick="X(37)">Running 2</li>
<li onclick="X(38)">Red & Blue</li>
<li onclick="X(39)">Running 2 Random</li>
<li onclick="X(40)">Scanner</li>
<li onclick="X(41)">Lighthouse</li>
<li onclick="X(42)">Fireworks</li>
<li onclick="X(43)">Fireworks Random</li>
<li onclick="X(44)">Merry Christmas</li>
<li onclick="X(45)">Fire Flicker</li>
<li onclick="X(46)">Gradient</li>
<li onclick="X(47)">Gradient Loading</li>
<li onclick="X(48)">In Out</li>
<li onclick="X(49)">In In</li>
<li onclick="X(50)">Out Out</li>
<li onclick="X(51)">Out In</li>
<li onclick="X(52)">Circus</li>&nbsp;
<li><a href="#">Go to top</a></li></div>
<iframe id="stf" onload="feedback();" style="display:none;"></iframe>
</main>
<script>
/*!
* iro.js v3.3.0
* 2016-2018 James Daniel
* Released under the MIT license
* github.com/jaames/iro.js
*/
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.iro=e():t.iro=e()}(this,function(){return function(t){function e(s){if(r[s])return r[s].exports;var n=r[s]={i:s,l:!1,exports:{}};return t[s].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var r={};return e.m=t,e.c=r,e.i=function(t){return t},e.d=function(t,r,s){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:s})},e.n=function(t){var r=t&&t.t?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=4)}([function(t,e,r){"use strict";function s(t){var e,r,s,n,i,o,a,h,c=t.h/360,u=t.s/100,l=t.v/100;switch(n=k(6*c),i=6*c-n,o=l*(1-u),a=l*(1-i*u),h=l*(1-(1-i)*u),n%6){case 0:e=l,r=h,s=o;break;case 1:e=a,r=l,s=o;break;case 2:e=o,r=l,s=h;break;case 3:e=o,r=a,s=l;break;case 4:e=h,r=o,s=l;break;case 5:e=l,r=o,s=a}return{r:w(255*e),g:w(255*r),b:w(255*s)}}function n(t){var e,r=t.r/255,s=t.g/255,n=t.b/255,i=Math.max(r,s,n),o=Math.min(r,s,n),a=i-o;switch(i){case o:e=0;break;case r:e=(s-n)/a+(s<n?6:0);break;case s:e=(n-r)/a+2;break;case n:e=(r-s)/a+4}return e/=6,{h:w(360*e),s:w(0==i?0:a/i*100),v:w(100*i)}}function i(t){var e=t.s/100,r=t.v/100,s=.5*r*(2-e);return e=r*e/(1-Math.abs(2*s-1)),{h:t.h,s:w(100*e)||0,l:w(100*s)}}function o(t){var e=t.s/100,r=t.l/100;return r*=2,e*=r<=1?r:2-r,{h:t.h,s:w(2*e/(r+e)*100),v:w((r+e)/2*100)}}function a(t){return"rgb"+(t.a?"a":"")+"("+t.r+", "+t.g+", "+t.b+(t.a?", "+t.a:"")+")"}function h(t){return"hsl"+(t.a?"a":"")+"("+t.h+", "+t.s+"%, "+t.l+"%"+(t.a?", "+t.a:"")+")"}function c(t){var e=t.r,r=t.g,s=t.b,n=e%17==0&&r%17==0&&s%17==0,i=n?17:1,o=n?4:8,a=n?4:7,h=e/i<<2*o|r/i<<o|s/i,c=h.toString(16);return"#"+new Array(a-c.length).join("0")+c}function u(t,e){var r=t.match(/(\S+)\((\d+)(%?)(?:\D+?)(\d+)(%?)(?:\D+?)(\d+)(%?)(?:\D+?)?([0-9\.]+?)?\)/i),s=parseInt(r[2]),n=parseInt(r[4]),i=parseInt(r[6]);return[r[1],"%"==r[3]?s/100*e[0]:s,"%"==r[5]?n/100*e[1]:n,"%"==r[7]?i/100*e[2]:i,parseFloat(r[8])||void 0]}function l(t){var e=u(t,[255,255,255]);return{r:e[1],g:e[2],b:e[3]}}function f(t){var e=u(t,[360,100,100]);return{h:e[2],s:e[3],l:e[4]}}function v(t){t=t.replace("#","");var e=parseInt("0x"+t),r=3==t.length,s=r?15:255,n=r?4:8,i=r?17:1;return{r:(e>>2*n&s)*i,g:(e>>n&s)*i,b:(e&s)*i}}function p(t){return t instanceof x?t:new x(t)}function d(t,e,r){return t<=e?e:t>=r?r:t}function g(t,e){var r={};for(var s in t)r[s]=e[s]!=t[s];return r}function _(t,e,r){var s=p(t).rgb,n=p(e).rgb;return r=d(r/100||.5,0,1),new x({r:k(s.r+(n.r-s.r)*r),g:k(s.g+(n.g-s.g)*r),b:k(s.b+(n.b-s.b)*r)})}function m(t,e){var r=p(t),s=r.hsv;return s.v=d(s.v+e,0,100),r.hsv=s,r}function y(t,e){var r=p(t),s=r.hsv;return s.v=d(s.v-e,0,100),r.hsv=s,r}var b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},w=Math.round,k=Math.floor,x=function(t){this.e=!1,this.u={h:void 0,s:void 0,v:void 0},t&&this.set(t)};x.mix=_,x.lighten=m,x.darken=y,x.hsv2Rgb=s,x.rgb2Hsv=n,x.hsv2Hsl=i,x.hsl2Hsv=o,x.hsl2Str=h,x.rgb2Str=a,x.rgb2Hex=c,x.parseHexStr=v,x.parseHslStr=f,x.parseRgbStr=l,x.prototype={constructor:x,set:function(t){"object"==(void 0===t?"undefined":b(t))?t instanceof x?this.hsv=x.hsv:"r"in t?this.rgb=t:"v"in t?this.hsv=t:"l"in t&&(this.hsl=t):"string"==typeof t&&(/^rgb/.test(t)?this.rgbString=t:/^hsl/.test(t)?this.hslString=t:/^#[0-9A-Fa-f]/.test(t)&&(this.hexString=t))},setChannel:function(t,e,r){var s=this[t];s[e]=r,this[t]=s},clone:function(){return new x(this)},compare:function(t,e){return e=e||"hsv",g(this[e],p(t)[e])},mix:function(t,e){this.hsv=_(this,t,e).hsv},lighten:function(t){m(this,t)},darken:function(t){y(this,t)}},Object.defineProperties(x.prototype,{hsv:{get:function(){var t=this.u;return{h:t.h,s:t.s,v:t.v}},set:function(t){if(this.e){var e=this.u;for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r]);var s=g(e,t);this.u=t,(s.h||s.s||s.v)&&this.e(this,s)}else this.u=t}},rgb:{get:function(){return s(this.u)},set:function(t){this.hsv=n(t)}},hsl:{get:function(){return i(this.u)},set:function(t){this.hsv=o(t)}},rgbString:{get:function(){return a(this.rgb)},set:function(t){this.rgb=l(t)}},hexString:{get:function(){return c(this.rgb)},set:function(t){this.rgb=v(t)}},hslString:{get:function(){return h(this.hsl)},set:function(t){this.hsl=x.parseHslStr(t)}}}),t.exports=x},function(t,e,r){"use strict";var s=function(){var t=document.createElement("style");document.head.appendChild(t),t.appendChild(document.createTextNode("")),this.style=t;var e=t.sheet;this.sheet=e,this.rules=e.rules||e.cssRules,this.map={}};s.prototype={constructor:s,setRule:function(t,e,r){var s=this.sheet,n=s.rules||s.cssRules,i=this.map;if(e=e.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()}),i.hasOwnProperty(t))i[t].setProperty(e,r);else{var o=n.length,a=e+": "+r;try{s.insertRule(t+" {"+a+";}",o)}catch(e){s.addRule(t,a,o)}finally{n=s.rules||s.cssRules,i[t]=n[o].style}}}},Object.defineProperties(s.prototype,{enabled:{get:function(){return!this.sheet.disabled},set:function(t){this.sheet.disabled=!t}},cssText:{get:function(){var t=this.map,e=[];for(var r in t)e.push(r.replace(/,\W/g,",\n")+" {\n\t"+t[r].cssText.replace(/;\W/g,";\n\t")+"\n}");return e.join("\n")}},css:{get:function(){var t=this.map,e={};for(var r in t){var s=t[r];e[r]={};for(var n=0;n<s.length;n++){var i=s[n];e[r][i]=s.getPropertyValue(i)}}return e}}}),t.exports=s},function(t,e,r){"use strict";var s=function(t,e){var r=t.g({f:"iro__marker"});r._(0,0,e.r,{f:"iro__marker__outer",fill:"none",k:5,M:"#000"}),r._(0,0,e.r,{f:"iro__marker__inner",fill:"none",k:2,M:"#fff"}),this.g=r};s.prototype={constructor:s,move:function(t,e){this.g.S("translate",[t,e])}},t.exports=s},function(t,e,r){"use strict";function s(t){return t&&t.t?t:{default:t}}function n(t,e,r){for(var s=0;s<e.length;s++)t.addEventListener(e[s],r)}function i(t,e,r){for(var s=0;s<e.length;s++)t.removeEventListener(e[s],r)}function o(t){document.readyState==m?t():n(document,[_],function e(r){document.readyState==m&&(t(),i(document,[_],e))})}var a=r(7),h=s(a),c=r(5),u=s(c),l=r(6),f=s(l),v=r(0),p=s(v),d=r(1),g=s(d),_="readystatechange",m="complete",y=function(t,e){var r=this;e=e||{},this.C={},this.T=!1,this.A=!1,this.css=e.css||e.styles||void 0,o(function(){r.j(t,e)})};y.prototype={constructor:y,j:function(t,e){var r=this;t="string"==typeof t?document.querySelector(t):t;var s=e.width||parseInt(t.width)||320,i=e.height||parseInt(t.height)||320,o=e.padding+2||6,a=e.borderWidth||0,c=e.markerRadius||8,l=e.sliderMargin||24,v=e.sliderHeight||2*c+2*o+2*a,d=Math.min(i-v-l,s),_=d/2-a,m=(s-d)/2,y={r:c},b={w:a,color:e.borderColor||"#fff"};this.el=t,this.svg=new f.default(t,s,i,e.display),this.ui=[new h.default(this.svg,{cX:m+d/2,cY:d/2,r:_,rMax:_-(c+o),marker:y,border:b,lightness:void 0==e.wheelLightness||e.wheelLightness,anticlockwise:e.anticlockwise}),new u.default(this.svg,{sliderType:"v",x:m+a,y:d+l,w:d-2*a,h:v-2*a,r:v/2-a,marker:y,border:b})],this.stylesheet=new g.default,this.color=new p.default,this.color.e=this.H.bind(this),this.color.set(e.color||e.defaultValue||"#fff"),this.on("history:stateChange",function(t){r.svg.updateUrls(t)}),n(this.svg.el,["mousedown","touchstart"],this)},H:function(t,e){for(var r=t.rgbString,s=this.css,n=0;n<this.ui.length;n++)this.ui[n].update(t,e);for(var i in s){var o=s[i];for(var a in o)this.stylesheet.setRule(i,a,r)}this.A||(this.A=!0,this.emit("color:change",t,e),this.A=!1)},on:function(t,e){var r=this.C;(r[t]||(r[t]=[])).push(e)},off:function(t,e){var r=this.C[t];r&&r.splice(r.indexOf(e),1)},emit:function(t){for(var e=this.C,r=(e[t]||[]).concat(e["*"]||[]),s=arguments.length,n=Array(s>1?s-1:0),i=1;i<s;i++)n[i-1]=arguments[i];for(var o=0;o<r.length;o++)r[o].apply(null,n)},handleEvent:function(t){var e=t.touches?t.changedTouches[0]:t,r=this.svg.el.getBoundingClientRect(),s=e.clientX-r.left,o=e.clientY-r.top;switch(t.type){case"mousedown":case"touchstart":for(var a=0;a<this.ui.length;a++){var h=this.ui[a];h.checkHit(s,o)&&(this.T=h,n(document,["mousemove","touchmove","mouseup","touchend"],this),this.emit("input:start"),this.color.hsv=this.T.input(s,o))}break;case"mousemove":case"touchmove":this.color.hsv=this.T.input(s,o);break;case"mouseup":case"touchend":this.T=!1,this.emit("input:end"),i(document,["mousemove","touchmove","mouseup","touchend"],this)}this.T&&t.preventDefault()}},t.exports=y},function(t,e,r){"use strict";function s(t){return t&&t.t?t:{default:t}}var n=r(3),i=s(n),o=r(0),a=s(o),h=r(1),c=s(h);t.exports={Color:a.default,ColorPicker:i.default,Stylesheet:c.default,version:"3.3.0"}},function(t,e,r){"use strict";function s(t){return t&&t.t?t:{default:t}}var n=r(2),i=s(n),o=r(0),a=s(o),h=function(t,e){var r=e.r,s=e.w,n=e.h,o=e.x,a=e.y,h=e.border.w;e.range={min:o+r,max:o+s-r,w:s-2*r},e.sliderType=e.sliderType||"v",this.type="slider",this.P=e;var c=r+h/2,u=t.g({f:"iro__slider"}),l=u.R("rect",{f:"iro__slider__value",rx:c,ry:c,x:o-h/2,y:a-h/2,width:s+h,height:n+h,k:h,M:e.border.color});l.setGradient("fill",t.O("linear",{0:{color:"#000"},100:{color:"#fff"}})),this.I=l.O,this.marker=new i.default(u,e.marker)};h.prototype={constructor:h,update:function(t,e){var r=this.P,s=r.range,n=t.hsv,i=a.default.hsv2Hsl({h:n.h,s:n.s,v:100});if("v"==r.sliderType&&((e.h||e.s)&&this.I.stops[1].W({L:"hsl("+i.h+","+i.s+"%,"+i.l+"%)"}),e.v)){var o=n.v/100;this.marker.move(s.min+o*s.w,r.y+r.h/2)}},input:function(t,e){var r=this.P,s=r.range,n=Math.max(Math.min(t,s.max),s.min)-s.min;return{v:Math.round(100/s.w*n)}},checkHit:function(t,e){var r=this.P;return t>r.x&&t<r.x+r.w&&e>r.y&&e<r.y+r.h}},t.exports=h},function(t,e,r){"use strict";var s=0,n={f:"class",M:"stroke",k:"stroke-width",fill:"fill",G:"opacity",X:"offset",L:"stop-color",Y:"stop-opacity"},i={translate:"setTranslate",scale:"setScale",rotate:"setRotate"},o=window.navigator.userAgent.toLowerCase(),a=/msie|trident|edge/.test(o),h=/^((?!chrome|android).)*safari/i.test(o),c=function(t,e,r,s){var n=document.createElementNS("http://www.w3.org/2000/svg",r);this.el=n,this.W(s),(e.el||e).appendChild(n),this.U=t,this.D={},this.V=!!n.transform&&n.transform.baseVal};c.prototype={constructor:c,R:function(t,e){return new c(this.U,this,t,e)},g:function(t){return this.R("g",t)},F:function(t,e,r,s,n,i){var o=n-s<=180?0:1;s*=Math.PI/180,n*=Math.PI/180;var a=t+r*Math.cos(n),h=e+r*Math.sin(n),c=t+r*Math.cos(s),u=e+r*Math.sin(s);return i=i||{},i.d=["M",a,h,"A",r,r,0,o,0,c,u].join(" "),this.R("path",i)},_:function(t,e,r,s){return s=s||{},s.cx=t,s.cy=e,s.r=r,this.R("circle",s)},S:function(t,e){if(a)this.W({transform:t+"("+e.join(", ")+")"});else{var r,s,n=this.D;n[t]?r=n[t]:(r=this.U.el.createSVGTransform(),n[t]=r,this.V.appendItem(r)),s=t in i?i[t]:t,r[s].apply(r,e)}},W:function(t){for(var e in t){var r=e in n?n[e]:e;this.el.setAttribute(r,t[e])}},setGradient:function(t,e){var r={};r[t]=e.getUrl(),e.q[t]=this,this.O=e,this.W(r)}};var u=function(t,e,r){var n=[],i=t.N.R(e+"Gradient",{id:"iroGradient"+s++});for(var o in r){var a=r[o];n.push(i.R("stop",{X:o+"%",L:a.color,Y:void 0===a.G?1:a.G}))}this.el=i.el,this.stops=n,this.q={}};u.prototype.getUrl=function(t){return"url("+(h?t||window.location.href:"")+"#"+this.el.id+")"};var l=function(t,e,r,s){c.call(this,this,t,"svg",{width:e,height:r,style:"display:"+(s||"block")}),this.N=this.R("defs"),this.B=[]};l.prototype=Object.create(c.prototype),l.prototype.constructor=l,l.prototype.O=function(t,e){var r=new u(this,t,e);return this.B.push(r),r},l.prototype.updateUrls=function(t){if(h)for(var e=this.B,r=0;r<e.length;r++)for(var s in e[r].q){var n={};n[s]=e[r].getUrl(t),e[r].q[s].W(n)}},t.exports=l},function(t,e,r){"use strict";var s=r(2),n=function(t){return t&&t.t?t:{default:t}}(s),i=Math.PI,o=Math.sqrt,a=Math.abs,h=Math.round,c=function(t,e){this.P=e,this.type="wheel";var r=e.cY,s=e.cX,i=e.r,o=e.border,a=t.g({f:"iro__wheel"});a._(s,r,i+o.w/2,{f:"iro__wheel__border",fill:"#fff",M:o.color,k:o.w});for(var h=a.g({f:"iro__wheel__hue",k:i,fill:"none"}),c=0;c<360;c++)h.F(s,r,i/2,c,c+1.5,{M:"hsl("+(e.anticlockwise?360-c:c)+",100%,50%)"});a._(s,r,i,{f:"iro__wheel__saturation"}).setGradient("fill",t.O("radial",{0:{color:"#fff"},100:{color:"#fff",G:0}})),this.Z=a._(s,r,i,{f:"iro__wheel__lightness",G:0}),this.marker=new n.default(a,e.marker)};c.prototype={constructor:c,update:function(t,e){var r=this.P,s=t.hsv;if(e.v&&r.lightness&&this.Z.W({G:(1-s.v/100).toFixed(2)}),e.h||e.s){var n=(r.anticlockwise?360-s.h:s.h)*(i/180),o=s.s/100*r.rMax;this.marker.move(r.cX+o*Math.cos(n),r.cY+o*Math.sin(n))}},input:function(t,e){var r=this.P,s=r.rMax,n=r.cX-t,a=r.cY-e,c=Math.atan2(a,n),u=h(c*(180/i))+180,l=Math.min(o(n*n+a*a),s);return u=r.anticlockwise?360-u:u,{h:u,s:h(100/s*l)}},checkHit:function(t,e){var r=this.P,s=a(t-r.cX),n=a(e-r.cY);return o(s*s+n*n)<r.r}},t.exports=c}])});
</script>
<script>
var d =document;
var fs=true;
//Feedback
function feedback(){
var e = d.body;
e.classList.remove("feedbackanim");
void e.offsetWidth;
if(!fs)e.classList.add("feedbackanim");
fs=false;
}
//Speed slider
d.getElementById('sxs').onchange = function() {
var surl = '/win&SX=' + this.value;
EC(surl);
}
d.getElementById('ixs').onchange = function() {
var iurl = '/win&IX=' + this.value;
EC(iurl);
}
//Brightness slider
d.getElementById('bris').onchange = function() {
var burl = '/win&A=' + this.value;
EC(burl);
}
d.getElementById('whis').onchange = function() {
var wurl = '/win&W=' + this.value;
EC(wurl);
}
//Preset speed slider
d.getElementById('cycsxs').onchange = function() {
var val = this.value;
var url = '/win&PT=' + val;
var seconds = ms2mins(val);
EC(url);
d.getElementById('PSDurL').innerHTML = 'Preset Duration (' + seconds + ')';
}
//Cycle Transition slider
d.getElementById('cycts').onchange = function() {
var val = this.value;
var seconds = ms2mins(val);
var url = '/win&TT=' + val;
d.getElementById('CDurL').innerHTML = 'Color Transition (' + seconds + ')';
EC(url);
}
var cpick = new iro.ColorPicker("#cpc", {
width: 280,
height: 280,
wheelLightness: false
});
function X(ind)
{
EC("/win&FX=" + ind);
}
function tC(){
if (d.getElementById('myoos-cy').checked)
{
EC('win&CY=1');
} else {
EC('win&CY=0');
}
}
function toggleN(){
if (d.getElementById('myoos-n').checked)
{
EC('win&SN=1');
} else {
EC('win&SN=0');
}
}
function ms2mins(millis) {
var minutes = Math.floor(millis / 60000);
var seconds = ((millis % 60000) / 1000).toFixed(0);
return minutes + ":" + (seconds < 10 ? '0' : '') + seconds;
}
window.onload = function () {
var sliderSections = d.getElementsByClassName("range-slider");
for( var x = 0; x < sliderSections.length; x++ ){
var sliders = sliderSections[x].getElementsByTagName("input");
for( var y = 0; y < sliders.length; y++ ){
if( sliders[y].type ==="range" ){
sliders[y].oninput = getVals;
sliders[y].oninput();
}
}
}
GIO();
cpick.on("color:change", function(color, changes) {
var cr = color.rgb.r;
var cg = color.rgb.g;
var cb = color.rgb.b;
var curl = "";
if (d.querySelector('.oos-chk').checked) {
curl = "/win&R2=" + cr + "&G2=" + cg + "&B2=" + cb;
}else{
curl = "/win&R=" + cr + "&G=" + cg + "&B=" + cb;
}
EC(curl);
});
d.getElementById("cv").style.opacity=0;
}
function GIO()
{
nocache = "&nocache=" + Math.random() * 1000000;
var request = new XMLHttpRequest();
request.onreadystatechange = function()
{
if (this.readyState == 4 && this.status == 200 && this.responseXML != null) {
d.getElementById("bris").value = this.responseXML.getElementsByTagName('ac')[0].childNodes[0].nodeValue;
var rr = this.responseXML.getElementsByTagName('cl')[0].childNodes[0].nodeValue;
var rg = this.responseXML.getElementsByTagName('cl')[1].childNodes[0].nodeValue;
var rb = this.responseXML.getElementsByTagName('cl')[2].childNodes[0].nodeValue;
cpick.color.rgb = { r: rr, g: rg, b: rb };
var wv = this.responseXML.getElementsByTagName('wv')[0].childNodes[0].nodeValue;
if (wv >= 0) {
d.getElementById("whis").value = wv;
} else {
d.getElementsByClassName("whs")[0].style.display = "none";
}
d.getElementById('sxs').value = this.responseXML.getElementsByTagName('sx')[0].childNodes[0].nodeValue;
d.getElementById('ixs').value = this.responseXML.getElementsByTagName('ix')[0].childNodes[0].nodeValue;
d.getElementById('myoos-n').checked = (this.responseXML.getElementsByTagName('ns')[0].childNodes[0].nodeValue == true);
d.getElementsByClassName("desc")[0].innerHTML = this.responseXML.getElementsByTagName('ds')[0].innerHTML;
}
}
request.open("GET", "win" +nocache, true);
request.send(null);
}
function EC(eurl){
d.getElementById('stf').src = eurl;
}
function pC(col) {
var pc = iro.Color.parseHexStr(col);
var cr = pc.r;
var cg = pc.g;
var cb = pc.b;
if (d.querySelector('.oos-chk').checked == true) {
var rgburl = "/win&R2=" + cr + "&G2=" + cg + "&B2=" + cb;
}
if (d.querySelector('.oos-chk').checked == false) {
var rgburl = "/win&R=" + cr + "&G=" + cg + "&B=" + cb;
}
EC(rgburl);
}
function tP(){
EC('/win&T=2');
}
function tN(){
EC('/win&ND');
}
function ps(psNum){
if (d.querySelector('.oos-chk-ps').checked == false) {
var url = "/win&PL=" + psNum;
}
if (d.querySelector('.oos-chk-ps').checked == true) {
var url = "/win&PS=" + psNum;
}
EC(url);
}
function getVals(){
var pr = this.parentNode;
var slides = pr.getElementsByTagName("input");
var s1 = parseFloat(slides[0].value);
var s2 = parseFloat(slides[1].value);
if(s1>s2){var tmp = s2;s2=s1;s1=tmp;}
var displayElement = pr.getElementsByClassName("rangeValues")[0];
displayElement.innerHTML = s1 + " - " + s2;
if(!fs)EC('/win&P1=' + s1 + '&P2=' + s2);
}
</script>
</body>
</html>