WLED/wled00/htmls00.h
cschwinne 70d0aae07c First commit of 0.8.0 dev cycle
Updated to newer WS2812FX version which supports segments (not supported in WLED yet)
Added new (FastLED) effects
Adjusted FX speed timings
Removed Sweep transition and Custom Chase (seldomly used - hinder development)
Removed solid overlay (no longer needed once segments are added)
Fixed Blynk effect set
2018-09-04 15:51:38 +02:00

146 lines
76 KiB
C

/*
* Mobile UI by StormPie html
*/
#ifndef WLED_FLASH_512K_MODE
const char PAGE_indexM[] PROGMEM = R"=====(
<!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.8.0</title> <style>*{transition-duration:.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 .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:0}input[type=range]::-webkit-slider-runnable-track{width:100%;height:32px;cursor:pointer;box-shadow:1px 1px 1px #000000,0px 0 1px #0d0d0d;background:#66d1ff;background:linear-gradient(45deg,#66d1ff 0,#ff6a00 100%);border-radius:25px;border:0 solid #010101}input[type=range]::-webkit-slider-thumb{box-shadow:.4px .4px .4px #000031,0px 0 .4px #00004b;border:2.6px solid #fff;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 0 1px #0d0d0d;background:#66d1ff;background:linear-gradient(45deg,#66d1ff 0,#ff6a00 100%);border-radius:25px;border:0 solid #010101}input[type=range]::-moz-range-thumb{box-shadow:.4px .4px .4px #000031,0px 0 .4px #00004b;border:2.6px solid #fff;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 #999;border-radius:24px;background-color:#eee;transition:background-color .3s ease-in}.oos-label:before{content:"";display:block;width:24px;margin:0;background:#fff;position:absolute;top:0;bottom:0;right:32px;border:2px solid #999;border-radius:24px;transition:all .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:0}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:0;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 0}.btns img{height:60px;width:60px;float:left;margin-top:-10px;opacity:.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:.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/ponScapgUcEkW7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"></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:0>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:0>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;function feedback(){var e=d.body;e.classList.remove("feedbackanim");void e.offsetWidth;if(!fs)e.classList.add("feedbackanim");fs=false;}
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);}
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);}
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+')';}
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>
)=====";
#else
const char PAGE_indexM[] PROGMEM = R"=====(
The Mobile UI is not supported due to limited flash storage. Please go to IP/settings/ui and change the UI mode to "Classic".
)=====";
#endif
/*
* Classic UI Index html
*/
//head0 (js)
const char PAGE_index0[] PROGMEM = R"=====(
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=theme-color content=#fff><link rel='shortcut icon' type=image/x-icon href='/favicon.ico'/><title>WLED 0.8.0-a</title>
<script>var d=document;var w=window.getComputedStyle(d.querySelector("html"));resp="";var nla=false;var nra=false;var nsa=false;var sto=false;var uwv=false;var sbf=true;var firstload=true;var lastsx=0;var nState=0;var cv=0;var lm=0;aC="";bC="";dC="";function gId(a){return d.getElementById(a)}function Startup(){var a=window.getComputedStyle(d.querySelector("html"));aC=a.getPropertyValue("--aCol");bC=a.getPropertyValue("--bCol");dC=a.getPropertyValue("--dCol");d.querySelector("meta[name=theme-color]").setAttribute("content",bC);CV(0);setInterval("GIO()",5000);GIO()}function GIO(){nocache="&nocache="+Math.random()*1000000;var a=new XMLHttpRequest();a.onreadystatechange=function(){if(this.readyState==4){if(this.status==200){if(this.responseXML!=null){d.Cf.SA.value=this.responseXML.getElementsByTagName("ac")[0].childNodes[0].nodeValue;d.Cf.SR.value=this.responseXML.getElementsByTagName("cl")[0].childNodes[0].nodeValue;d.Cf.SG.value=this.responseXML.getElementsByTagName("cl")[1].childNodes[0].nodeValue;d.Cf.SB.value=this.responseXML.getElementsByTagName("cl")[2].childNodes[0].nodeValue;if(this.responseXML.getElementsByTagName("wv")[0].childNodes[0].nodeValue>=0){d.Cf.SW.value=this.responseXML.getElementsByTagName("wv")[0].childNodes[0].nodeValue;uwv=true}else{uwv=false}Cf.TX.selectedIndex=this.responseXML.getElementsByTagName("fx")[0].childNodes[0].nodeValue;d.Cf.SX.value=this.responseXML.getElementsByTagName("sx")[0].childNodes[0].nodeValue;d.Cf.IX.value=this.responseXML.getElementsByTagName("ix")[0].childNodes[0].nodeValue;nla=(this.responseXML.getElementsByTagName("nl")[0].innerHTML)!=0?true:false;if(firstload){d.Cf.NC.checked=(this.responseXML.getElementsByTagName("nf")[0].innerHTML)!=0?true:false;d.Cf.SN.value=this.responseXML.getElementsByTagName("nd")[0].childNodes[0].nodeValue;d.Cf.ST.value=this.responseXML.getElementsByTagName("nt")[0].childNodes[0].nodeValue;CV(parseInt(this.responseXML.getElementsByTagName("md")[0].childNodes[0].nodeValue))}firstload=false;nState=0;nState=(this.responseXML.getElementsByTagName("nr")[0].innerHTML)!=0?1:0;nState+=(this.responseXML.getElementsByTagName("ns")[0].innerHTML)!=0?2:0;d.getElementsByClassName("desc")[0].innerHTML=this.responseXML.getElementsByTagName("ds")[0].innerHTML;UV()}}}};a.open("GET","win"+resp+nocache,true);a.send(null);resp=""}function GC(){resp+="&A="+Cf.SA.value;resp+="&R="+Cf.SR.value;resp+="&G="+Cf.SG.value;resp+="&B="+Cf.SB.value;if(uwv){resp+="&W="+Cf.SW.value}UV();GIO()}function GX(){resp+="&FX="+Cf.TX.selectedIndex;resp+="&SX="+Cf.SX.value;resp+="&IX="+Cf.IX.value;UV();GIO()}function GetRGB(){var a,l,n,j,m,e,c,u;var k=d.Cf.SH.value,x=d.Cf.SS.value,o=255;j=Math.floor(k*6);m=k*6-j;e=o*(1-x);c=o*(1-m*x);u=o*(1-(1-m)*x);switch(j%6){case 0:a=o,l=u,n=e;break;case 1:a=c,l=o,n=e;break;case 2:a=e,l=o,n=u;break;case 3:a=e,l=c,n=o;break;case 4:a=u,l=e,n=o;break;case 5:a=o,l=e,n=c}d.Cf.SR.value=a;d.Cf.SG.value=l;d.Cf.SB.value=n;GC()}function GP(){resp+="&FP="+Cf.TX.selectedIndex;GIO()}function CV(a){if(sto){CloseSettings()}gId("slA").style.display="none";gId("srgb").style.display="none";gId("shs").style.display="none";gId("slW").style.display="none";gId("tlX").style.display="none";gId("tlP").style.display="none";gId("tlN").style.display="none";if(a<2){if(uwv){gId("slW").style.display="block"}gId("slA").style.display="block"}switch(a){case 0:gId("srgb").style.display="block";lm=0;break;case 1:gId("shs").style.display="block";lm=1;break;case 2:gId("tlP").style.display="block";break;case 3:gId("tlX").style.display="block";break;case 4:gId("tlN").style.display="block"}cv=a;mdb.style.fill=(lm>0)?aC:dC}function rgb2hex(e,c,a){var b=a|(c<<8)|(e<<16);return"#"+(16777216+b).toString(16).slice(1)}function lingrad(e,c,a){return"linear-gradient("+bC+","+rgb2hex(e,c,a)+")"}function UV(){d.body.style.background=lingrad(Cf.SR.value,Cf.SG.value,Cf.SB.value);setHS(Cf.SR.value,Cf.SG.value,Cf.SB.value);fxb.style.fill=(d.Cf.TX.selectedIndex>0)?aC:dC;nlb.style.fill=(nla)?aC:dC;ntb.style.fill=(nla)?aC:dC;switch(nState){case 0:gId("path1").style.fill=dC;gId("path2").style.fill=dC;break;case 1:gId("path1").style.fill=aC;gId("path2").style.fill=dC;break;case 2:gId("path1").style.fill=dC;gId("path2").style.fill=aC;break;case 3:gId("path1").style.fill=aC;gId("path2").style.fill=aC}tgb.style.fill=(Cf.SA.value>0)?aC:dC;fpX.style.display=(Cf.TX.selectedIndex>64)?"block":"none";fof.style.fill=(Cf.TX.selectedIndex>64)?aC:dC;fmr.style.fill=(Cf.TX.selectedIndex<1)?aC:dC}function TgT(){if(Cf.SA.value>0){resp+="&T=0";Cf.SA.value=0}else{resp+="&T=2"}UV();GIO()}function SwFX(a){var b=Cf.TX.selectedIndex+a;if(b==-1||b==72){return}Cf.TX.selectedIndex=b;if(b<0){Cf.TX.selectedIndex=0}if(b>71){Cf.TX.selectedIndex=65}GX()}function TgHSB(){if(cv<2){(cv)?CV(0):CV(1)}else{CV(lm)}}function SwitchPS(a){d.Cf.FF.value=parseInt(d.Cf.FF.value)+a;if(d.Cf.FF.value<1){d.Cf.FF.value=1}if(d.Cf.FF.value>25){d.Cf.FF.value=25}}function PAt(){resp+=(d.Cf.BC.checked)?"&PA=1":"&PA=0";resp+=(d.Cf.CC.checked)?"&PC=1":"&PC=0";resp+=(d.Cf.FC.checked)?"&PX=1":"&PX=0"}function PSIO(a){PAt();if(a){resp+="&PS=";resp+=d.Cf.FF.value}else{resp+="&PL=";resp+=d.Cf.FF.value}GIO()}function OpenSettings(){sto=true;stb.style.fill=aC;cdB.style.display="none";stf.style.display="inline";if(sbf){stf.src="/settings"}sbf=false}function CloseSettings(){sto=false;stb.style.fill=dC;cdB.style.display="inline";stf.style.display="none"}function TgS(){if(sto){CloseSettings()}else{OpenSettings()}}function TgNl(){nla=!nla;if(nla){resp+="&NL="+d.Cf.SN.value;resp+="&NT="+d.Cf.ST.value;resp+=(d.Cf.NC.checked)?"&NF=1":"&NF=0"}else{resp+="&NL=0"}UV();GIO()}function TgN(){nState++;if(nState>3){nState=0}switch(nState){case 0:resp+="&SN=0&RN=0";break;case 1:resp+="&SN=0&RN=1";break;case 2:resp+="&SN=1&RN=0";break;case 3:resp+="&SN=1&RN=1"}UV();GIO()}function setHS(){var e,k,j,a=arguments[0]/255,i=arguments[1]/255,l=arguments[2]/255,f,o,n=Math.max(a,i,l),m=n-Math.min(a,i,l),c=function(b){return(n-b)/6/m+1/2};if(m==0){f=o=0}else{o=m/n;e=c(a);k=c(i);j=c(l);if(a===n){f=j-k}else{if(i===n){f=(1/3)+e-j}else{if(l===n){f=(2/3)+k-e}}}if(f<0){f+=1}else{if(f>1){f-=1}}}if(o>0){d.Cf.SH.value=f}d.Cf.SS.value=o}function CS(a){switch(a){case 0:resp+="&SW";break;case 1:resp+="&SB";break;case 2:resp+="&SR=1";break;case 3:resp+="&SP";break;case 4:resp+="&SC";break;case 5:resp+="&SR=0"}GIO()}function uCY(){PAt();resp+=(d.Cf.CY.checked)?"&CY=1":"&CY=0";resp+="&P1="+Cf.P1.value;resp+="&P2="+Cf.P2.value;resp+="&PT="+Cf.PT.value;GIO()}function R(){resp+="&PL=0";GIO()};</script>
)=====";
//head1 (css)
const char PAGE_index1[] PROGMEM = R"=====(
.ctrl_box{margin:auto;width:80vw;background-color:var(--cCol);position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);filter:drop-shadow(-5px -5px 5px var(--sCol))}.sds{width:100%;height:12vh;margin-top:2vh}.sl{margin-left:auto;margin-right:auto;margin-top:2vh;width:77vw}#slA{margin-top:0vh;background:linear-gradient(to right,black,yellow)}#slR{background:linear-gradient(to right,black,red)}#slG{background:linear-gradient(to right,black,green)}#slB{background:linear-gradient(to right,black,blue)}#slW{background:linear-gradient(to right,black,white)}#slH{background:linear-gradient(to right,red,orange,yellow,green,cyan,blue,violet,red)}#slS{background:linear-gradient(to right,grey,green)}#slN{background:linear-gradient(to right,black,turquoise)}#slT{background:linear-gradient(to right,black,yellow)}.tools{margin-left:auto;margin-right:auto;margin-top:2vh;width:77vw}#slX{background:linear-gradient(to right,black,white)}#slI{background:linear-gradient(to right,black,red)}body{font-family:var(--cFn),sans-serif;text-align:center;background:linear-gradient(var(--bCol),black);height:100%;margin:0;background-repeat:no-repeat;background-attachment:fixed;color:var(--tCol)}html{height:100%}iframe{display:none;border:0;filter:drop-shadow(-5px -5px 5px var(--sCol));margin:auto;width:80vw;height:60vh;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%)}svg{fill:var(--dCol);width:12vw;height:10vmin;filter:drop-shadow(-5px -5px 5px var(--sCol))}input{filter:drop-shadow(-5px -5px 5px var(--sCol));}button{background:var(--bCol);color:var(--tCol);border:.5ch solid var(--bCol);margin-bottom:1vh;font-family:var(--cFn),sans-serif;filter:drop-shadow(-5px -5px 5px var(--sCol))}select{background:var(--bCol);color:var(--tCol);font-family:var(--cFn),sans-serif;border:.5ch solid var(--bCol);filter:drop-shadow(-5px -5px 5px var(--sCol))}input[type=number]{background:var(--bCol);color:var(--dCol);border:.5ch solid var(--bCol);font-family:var(--cFn),sans-serif;width:3em}input[type=range]{-webkit-appearance:none;margin:-4px 0}input[type=range]:focus{outline:0}input[type=range]::-webkit-slider-runnable-track{width:100%;height:12vh;cursor:pointer;background:var(--bCol)}input[type=range]::-webkit-slider-thumb{filter:drop-shadow(-5px -5px 5px var(--sCol));height:10vh;width:10vh;background:var(--aCol);cursor:pointer;-webkit-appearance:none;margin-top:1vh}input[type=range]::-moz-range-track{width:100%;height:12vh;cursor:pointer;background:var(--bCol)}input[type=range]::-moz-range-thumb{filter:drop-shadow(-5px -5px 5px var(--sCol));height:10vh;width:10vh;background:var(--aCol);cursor:pointer;margin-top:1vh}input[type=range]::-ms-track{width:100%;height:12vh;cursor:pointer;background:transparent;border-color:transparent;color:transparent}input[type=range]::-ms-fill-lower{background:#var(--bCol)}input[type=range]::-ms-fill-upper{background:#var(--bCol)}input[type=range]::-ms-thumb{width:10vh;background:var(--aCol);cursor:pointer;height:10vh}</style>
<style id=holderjs-style type=text/css></style></head>
<body onload=Startup() class=__plain_text_READY__>
<span class=desc>Loading...</span>
)=====";
//body0 (svg defs)
const char PAGE_index2[] PROGMEM = R"=====(
<svg style=position:absolute;width:0;height:0;overflow:hidden version=1.1 xmlns=http://www.w3.org/2000/svg>
<defs>
//Linearicons.com/free
<symbol id=lnr-power-switch viewBox="0 0 1024 1024"><path d="M486.4 614.4c-14.138 0-25.6-11.461-25.6-25.6v-460.8c0-14.138 11.462-25.6 25.6-25.6s25.6 11.462 25.6 25.6v460.8c0 14.139-11.462 25.6-25.6 25.6z"></path><path d="M486.4 972.8c-102.57 0-199-39.944-271.53-112.47-72.528-72.528-112.47-168.96-112.47-271.53 0-84.395 26.859-164.478 77.674-231.594 49.15-64.915 118.979-113.394 196.624-136.501 13.55-4.034 27.805 3.683 31.838 17.234s-3.683 27.805-17.234 31.838c-139.955 41.654-237.702 172.84-237.702 319.022 0 183.506 149.294 332.8 332.8 332.8s332.8-149.294 332.8-332.8c0-146.187-97.75-277.374-237.71-319.024-13.552-4.034-21.267-18.288-17.234-31.838 4.032-13.552 18.29-21.267 31.837-17.235 77.646 23.106 147.48 71.582 196.632 136.499 50.816 67.115 77.675 147.202 77.675 231.598 0 102.57-39.942 199.002-112.47 271.53-72.528 72.526-168.96 112.47-271.53 112.47z"></path></symbol>
<symbol id=lnr-list viewBox="0 0 1024 1024"><path d="M998.4 819.2h-768c-14.138 0-25.6-11.461-25.6-25.6s11.462-25.6 25.6-25.6h768c14.139 0 25.6 11.461 25.6 25.6s-11.461 25.6-25.6 25.6z"></path><path d="M998.4 563.2h-768c-14.138 0-25.6-11.461-25.6-25.6s11.462-25.6 25.6-25.6h768c14.139 0 25.6 11.461 25.6 25.6s-11.461 25.6-25.6 25.6z"></path><path d="M998.4 307.2h-768c-14.138 0-25.6-11.462-25.6-25.6s11.462-25.6 25.6-25.6h768c14.139 0 25.6 11.462 25.6 25.6s-11.461 25.6-25.6 25.6z"></path><path d="M76.8 358.4c-42.347 0-76.8-34.453-76.8-76.8s34.453-76.8 76.8-76.8 76.8 34.453 76.8 76.8-34.453 76.8-76.8 76.8zM76.8 256c-14.115 0-25.6 11.485-25.6 25.6s11.485 25.6 25.6 25.6 25.6-11.485 25.6-25.6-11.485-25.6-25.6-25.6z"></path><path d="M76.8 614.4c-42.347 0-76.8-34.451-76.8-76.8 0-42.347 34.453-76.8 76.8-76.8s76.8 34.453 76.8 76.8c0 42.349-34.453 76.8-76.8 76.8zM76.8 512c-14.115 0-25.6 11.485-25.6 25.6s11.485 25.6 25.6 25.6 25.6-11.485 25.6-25.6-11.485-25.6-25.6-25.6z"></path><path d="M76.8 870.4c-42.347 0-76.8-34.451-76.8-76.8s34.453-76.8 76.8-76.8 76.8 34.451 76.8 76.8-34.453 76.8-76.8 76.8zM76.8 768c-14.115 0-25.6 11.485-25.6 25.6s11.485 25.6 25.6 25.6 25.6-11.485 25.6-25.6-11.485-25.6-25.6-25.6z"></path></symbol>
<symbol id=lnr-moon viewBox="0 0 1024 1024"><path d="M524.8 1024c-140.179 0-271.968-54.589-371.090-153.71s-153.71-230.91-153.71-371.090c0-115.242 37-224.010 106.997-314.546 33.528-43.365 73.674-81.155 119.325-112.323 46.050-31.44 96.664-55.424 150.437-71.285 9.819-2.901 20.424 0.336 26.957 8.222s7.738 18.906 3.064 28.016c-33.006 64.339-48.379 125.702-48.379 193.115 0 239.97 195.23 435.2 435.2 435.2 67.414 0 128.776-15.371 193.115-48.378 9.107-4.674 20.13-3.469 28.016 3.064s11.12 17.134 8.224 26.957c-15.861 53.773-39.845 104.387-71.286 150.435-31.166 45.65-68.958 85.797-112.323 119.325-90.536 69.998-199.306 106.997-314.546 106.997zM336.397 69.896c-172.741 73.982-285.197 240.059-285.197 429.304 0 261.144 212.456 473.6 473.6 473.6 189.234 0 355.314-112.475 429.304-285.197-52.406 19.598-105.373 29.197-160.504 29.197-129.922 0-252.067-50.594-343.936-142.462-91.869-91.87-142.464-214.016-142.464-343.938 0-55.131 9.6-108.098 29.197-160.504z"></path></symbol>
<symbol id=lnr-cog viewBox="0 0 1024 1024"><path d="M390.71 1008.755c-2.109 0-4.248-0.262-6.378-0.81-45.976-11.803-90.149-30.042-131.291-54.21-11.923-7.003-16.13-22.21-9.501-34.344 8.15-14.925 12.459-31.866 12.459-48.992 0-56.464-45.936-102.4-102.4-102.4-17.125 0-34.066 4.309-48.992 12.459-12.133 6.627-27.339 2.421-34.342-9.501-24.17-41.142-42.408-85.315-54.211-131.293-3.333-12.989 3.92-26.349 16.629-30.629 41.699-14.037 69.717-53.034 69.717-97.037s-28.018-83-69.718-97.040c-12.707-4.278-19.962-17.638-16.627-30.627 11.803-45.976 30.042-90.149 54.211-131.291 7.003-11.923 22.21-16.13 34.344-9.501 14.923 8.15 31.864 12.459 48.99 12.459 56.464 0 102.4-45.936 102.4-102.4 0-17.126-4.309-34.067-12.459-48.99-6.629-12.134-2.422-27.341 9.501-34.344 41.141-24.168 85.314-42.408 131.291-54.211 12.994-3.334 26.349 3.92 30.627 16.627 14.040 41.701 53.037 69.718 97.040 69.718s83-28.018 97.038-69.717c4.28-12.71 17.645-19.965 30.629-16.629 45.976 11.802 90.15 30.042 131.293 54.211 11.922 7.003 16.128 22.208 9.501 34.342-8.152 14.926-12.461 31.867-12.461 48.992 0 56.464 45.936 102.4 102.4 102.4 17.126 0 34.067-4.309 48.992-12.459 12.138-6.629 27.341-2.421 34.344 9.501 24.166 41.141 42.406 85.314 54.21 131.291 3.334 12.989-3.918 26.349-16.627 30.627-41.701 14.040-69.718 53.037-69.718 97.040s28.018 83 69.718 97.038c12.707 4.28 19.962 17.638 16.627 30.629-11.803 45.976-30.042 90.15-54.21 131.291-7.005 11.925-22.208 16.128-34.344 9.502-14.926-8.152-31.867-12.461-48.992-12.461-56.464 0-102.4 45.936-102.4 102.4 0 17.125 4.309 34.066 12.461 48.992 6.627 12.136 2.421 27.341-9.502 34.344-41.141 24.166-85.314 42.406-131.291 54.21-12.992 3.336-26.349-3.918-30.629-16.627-14.038-41.701-53.035-69.718-97.038-69.718s-83 28.018-97.040 69.718c-3.578 10.624-13.502 17.437-24.25 17.437zM512 870.4c57.715 0 109.693 32.138 135.917 82.029 26.637-8.218 52.507-18.875 77.299-31.846-5.541-16.077-8.416-33.075-8.416-50.182 0-84.696 68.904-153.6 153.6-153.6 17.107 0 34.106 2.875 50.181 8.418 12.971-24.792 23.63-50.662 31.846-77.299-49.89-26.226-82.027-78.203-82.027-135.918s32.138-109.691 82.029-135.918c-8.218-26.637-18.875-52.506-31.846-77.299-16.077 5.542-33.074 8.418-50.182 8.418-84.696 0-153.6-68.904-153.6-153.6 0-17.107 2.875-34.106 8.418-50.181-24.792-12.971-50.662-23.63-77.299-31.846-26.226 49.89-78.203 82.027-135.918 82.027s-109.691-32.138-135.917-82.027c-26.637 8.216-52.507 18.874-77.299 31.846 5.542 16.075 8.416 33.072 8.416 50.181 0 84.696-68.904 153.6-153.6 153.6-17.109 0-34.106-2.874-50.181-8.418-12.973 24.794-23.63 50.662-31.846 77.299 49.89 26.227 82.027 78.203 82.027 135.918s-32.138 109.693-82.027 135.917c8.216 26.637 18.875 52.507 31.846 77.299 16.075-5.541 33.074-8.416 50.181-8.416 84.696 0 153.6 68.904 153.6 153.6 0 17.109-2.875 34.106-8.418 50.181 24.794 12.971 50.662 23.63 77.299 31.846 26.227-49.89 78.203-82.027 135.918-82.027z"></path><path d="M512 665.6c-84.696 0-153.6-68.904-153.6-153.6s68.904-153.6 153.6-153.6 153.6 68.904 153.6 153.6-68.904 153.6-153.6 153.6zM512 409.6c-56.464 0-102.4 45.936-102.4 102.4s45.936 102.4 102.4 102.4c56.464 0 102.4-45.936 102.4-102.4s-45.936-102.4-102.4-102.4z"></path></symbol>
<symbol id=lnr-heart viewBox="0 0 1024 1024"><path d="M486.4 972.8c-4.283 0-8.566-1.074-12.434-3.222-4.808-2.67-119.088-66.624-235.122-171.376-68.643-61.97-123.467-125.363-162.944-188.418-50.365-80.443-75.901-160.715-75.901-238.584 0-148.218 120.582-268.8 268.8-268.8 50.173 0 103.462 18.805 150.051 52.952 27.251 19.973 50.442 44.043 67.549 69.606 17.107-25.565 40.299-49.634 67.55-69.606 46.589-34.147 99.878-52.952 150.050-52.952 148.218 0 268.8 120.582 268.8 268.8 0 77.869-25.538 158.141-75.901 238.584-39.478 63.054-94.301 126.446-162.944 188.418-116.034 104.754-230.314 168.706-235.122 171.376-3.867 2.149-8.15 3.222-12.434 3.222zM268.8 153.6c-119.986 0-217.6 97.614-217.6 217.6 0 155.624 120.302 297.077 221.224 388.338 90.131 81.504 181.44 138.658 213.976 158.042 32.536-19.384 123.845-76.538 213.976-158.042 100.922-91.261 221.224-232.714 221.224-388.338 0-119.986-97.616-217.6-217.6-217.6-87.187 0-171.856 71.725-193.314 136.096-3.485 10.453-13.267 17.504-24.286 17.504s-20.802-7.051-24.286-17.504c-21.456-64.371-106.125-136.096-193.314-136.096z"></path></symbol>
<symbol id=lnr-star viewBox="0 0 1024 1024"><path d="M793.598 972.8c-4.205 0-8.422-1.034-12.258-3.126l-269.341-146.912-269.341 146.912c-8.598 4.691-19.118 4.061-27.098-1.613-7.981-5.677-12.022-15.41-10.413-25.069l49.034-294.206-195.483-195.485c-6.781-6.781-9.203-16.782-6.277-25.914s10.712-15.862 20.17-17.438l294.341-49.058 122.17-244.339c4.336-8.674 13.2-14.152 22.898-14.152s18.562 5.478 22.898 14.152l122.17 244.339 294.341 49.058c9.459 1.576 17.243 8.307 20.17 17.438s0.504 19.133-6.277 25.914l-195.483 195.485 49.034 294.206c1.61 9.659-2.434 19.392-10.413 25.069-4.419 3.144-9.621 4.739-14.84 4.739zM512 768c4.219 0 8.437 1.042 12.259 3.126l235.445 128.426-42.557-255.344c-1.36-8.155 1.302-16.464 7.15-22.309l169.626-169.626-258.131-43.022c-8.080-1.346-15.027-6.477-18.69-13.803l-105.102-210.205-105.102 210.205c-3.664 7.326-10.61 12.458-18.69 13.803l-258.131 43.022 169.624 169.626c5.846 5.845 8.509 14.155 7.15 22.309l-42.557 255.344 235.446-128.426c3.821-2.085 8.040-3.126 12.259-3.126z"></path></symbol>
<symbol id=lnr-cross viewBox="0 0 1024 1024"><path d="M548.203 537.6l289.099-289.098c9.998-9.998 9.998-26.206 0-36.205-9.997-9.997-26.206-9.997-36.203 0l-289.099 289.099-289.098-289.099c-9.998-9.997-26.206-9.997-36.205 0-9.997 9.998-9.997 26.206 0 36.205l289.099 289.098-289.099 289.099c-9.997 9.997-9.997 26.206 0 36.203 5 4.998 11.55 7.498 18.102 7.498s13.102-2.499 18.102-7.499l289.098-289.098 289.099 289.099c4.998 4.998 11.549 7.498 18.101 7.498s13.102-2.499 18.101-7.499c9.998-9.997 9.998-26.206 0-36.203l-289.098-289.098z"></path></symbol>
<symbol id=lnr-arrow-left-circle viewBox="0 0 1024 1024"><path d="M142.462 193.664c91.869-91.869 214.016-142.464 343.938-142.464s252.067 50.595 343.936 142.464 142.464 214.014 142.464 343.936-50.595 252.069-142.464 343.938-214.014 142.462-343.936 142.462-252.069-50.594-343.938-142.462-142.462-214.016-142.462-343.938 50.594-252.067 142.462-343.936zM486.4 972.8c239.97 0 435.2-195.23 435.2-435.2s-195.23-435.2-435.2-435.2c-239.97 0-435.2 195.23-435.2 435.2s195.23 435.2 435.2 435.2z"></path><path d="M186.701 519.501l204.8-204.8c9.995-9.998 26.206-9.998 36.203 0 9.998 9.997 9.998 26.206 0 36.203l-161.101 161.096h526.997c14.138 0 25.6 11.461 25.6 25.6s-11.462 25.6-25.6 25.6h-526.997l161.096 161.101c9.998 9.995 9.998 26.206 0 36.203-4.997 4.997-11.547 7.496-18.099 7.496s-13.102-2.499-18.099-7.501l-204.8-204.8c-10-9.997-10-26.202 0-36.198z"></path></symbol>
<symbol id=lnr-arrow-right-circle viewBox="0 0 1024 1024"><path d="M830.338 193.664c-91.869-91.869-214.016-142.464-343.938-142.464s-252.067 50.595-343.936 142.464-142.464 214.014-142.464 343.936 50.595 252.069 142.464 343.938 214.014 142.462 343.936 142.462 252.069-50.594 343.938-142.462 142.462-214.016 142.462-343.938-50.594-252.067-142.462-343.936zM486.4 972.8c-239.97 0-435.2-195.23-435.2-435.2s195.23-435.2 435.2-435.2c239.97 0 435.2 195.23 435.2 435.2s-195.23 435.2-435.2 435.2z"></path><path d="M786.099 519.501l-204.8-204.8c-9.995-9.998-26.206-9.998-36.203 0-9.998 9.997-9.998 26.206 0 36.203l161.101 161.096h-526.997c-14.138 0-25.6 11.461-25.6 25.6s11.462 25.6 25.6 25.6h526.997l-161.096 161.101c-9.998 9.995-9.998 26.206 0 36.203 4.997 4.997 11.547 7.496 18.099 7.496s13.102-2.499 18.099-7.501l204.8-204.8c10-9.997 10-26.202 0-36.198z"></path></symbol>
<symbol id=lnr-rocket viewBox="0 0 1024 1024"><path d="M691.2 460.8c-70.579 0-128-57.421-128-128s57.421-128 128-128 128 57.421 128 128-57.421 128-128 128zM691.2 256c-42.347 0-76.8 34.453-76.8 76.8s34.453 76.8 76.8 76.8 76.8-34.453 76.8-76.8-34.453-76.8-76.8-76.8z"></path><path d="M25.603 1024c-6.675 0-13.219-2.613-18.106-7.499-7.034-7.034-9.355-17.502-5.957-26.85 78.781-216.648 161.613-326.499 246.195-326.499 27.883 0 53.979 11.96 77.566 35.546 37.283 37.283 38.611 74.394 33.162 98.96-17.125 77.187-126.171 152.822-324.115 224.802-2.853 1.038-5.813 1.541-8.746 1.541zM247.736 714.354c-25.354 0-55.19 22.214-86.282 64.237-30.578 41.33-61.274 100.205-91.525 175.477 68.352-27.478 123.302-55.379 163.806-83.205 54.648-37.542 70.808-66.562 74.742-84.294 3.944-17.779-2.395-34.682-19.382-51.667-13.826-13.826-27.354-20.547-41.36-20.547z"></path><path d="M998.4 0c-132.848 0-251.256 22.534-351.939 66.981-82.997 36.638-154.075 88.075-211.258 152.882-10.674 12.098-20.552 24.334-29.691 36.586-44.142 2.942-89.275 20.47-134.362 52.221-38.13 26.851-76.459 64.014-113.923 110.458-62.965 78.054-101.706 154.987-103.325 158.226-5.605 11.211-2.25 24.814 7.904 32.166 4.501 3.258 9.758 4.856 14.992 4.856 6.573 0 13.109-2.52 18.064-7.434 0.243-0.24 24.714-24.299 66.469-47.926 34.41-19.474 87.461-42.336 151.613-46.384 16.219 41.541 62.662 91.181 84.954 113.47 22.291 22.291 71.931 68.734 113.472 84.955-4.046 64.152-26.91 117.202-46.382 151.611-23.629 41.757-47.686 66.227-47.89 66.432-8.878 8.878-10.006 22.885-2.666 33.070 4.952 6.87 12.77 10.634 20.782 10.634 3.867 0 7.779-0.877 11.434-2.704 3.237-1.619 80.17-40.36 158.226-103.325 46.443-37.464 83.606-75.794 110.458-113.922 31.75-45.088 49.278-90.221 52.221-134.363 12.251-9.139 24.49-19.019 36.586-29.693 64.806-57.181 116.243-128.259 152.883-211.258 44.443-100.682 66.979-219.091 66.979-351.939v-25.6h-25.6zM159.102 502.187c48.797-70.8 123.384-158.595 207.446-186.232-33.222 58.203-50.422 111.691-56.611 145.555-59.323 3.626-110.467 20.89-150.835 40.677zM521.87 864.781c19.762-40.35 36.995-91.453 40.619-150.718 33.859-6.187 87.336-23.384 145.528-56.597-27.658 83.92-115.381 158.49-186.147 207.315zM770.262 550.405c-106.48 93.952-216.794 115.195-232.662 115.195-0.102 0-10.581-0.23-38.867-20.136-19.728-13.883-42.682-33.618-64.63-55.566-21.95-21.95-41.683-44.902-55.566-64.632-19.906-28.285-20.136-38.763-20.136-38.866 0-15.869 21.243-126.182 115.197-232.662 112.416-127.406 284.533-197.059 498.894-202.227-5.17 214.358-74.822 386.477-202.229 498.894z"></path></symbol>
<symbol id=lnr-sync viewBox="0 0 1024 1024"><path id=path1 d="M1016.501 442.698c-9.997-9.997-26.206-9.997-36.203 0l-58.832 58.832c-2.63-105.486-44.947-204.27-119.835-279.16-77.362-77.365-180.222-119.97-289.63-119.97-152.28 0-291.122 83.699-362.342 218.435-6.606 12.499-1.83 27.989 10.669 34.597 12.498 6.606 27.989 1.83 34.597-10.669 62.33-117.914 183.826-191.163 317.077-191.163 194.014 0 352.501 154.966 358.224 347.619l-58.522-58.522c-9.997-9.997-26.206-9.997-36.203 0-9.998 9.998-9.998 26.206 0 36.205l102.4 102.4c4.998 4.998 11.549 7.498 18.101 7.498s13.102-2.499 18.101-7.499l102.4-102.4c9.998-9.997 9.998-26.205 0-36.203z"></path><path id=path2 d="M863.674 668.566c-12.502-6.603-27.99-1.832-34.597 10.669-62.328 117.915-183.826 191.165-317.077 191.165-194.016 0-352.502-154.966-358.224-347.621l58.522 58.522c5 5 11.55 7.499 18.102 7.499s13.102-2.499 18.102-7.499c9.997-9.997 9.997-26.206 0-36.203l-102.4-102.4c-9.998-9.997-26.206-9.997-36.205 0l-102.4 102.4c-9.997 9.997-9.997 26.206 0 36.203s26.206 9.997 36.205 0l58.83-58.832c2.63 105.488 44.946 204.272 119.835 279.162 77.365 77.363 180.224 119.97 289.632 119.97 152.28 0 291.12-83.699 362.342-218.435 6.608-12.501 1.829-27.99-10.669-34.598z"></path></symbol>
<symbol id=lnr-checkmark-circle viewBox="0 0 1024 1024"><path d="M486.4 1024c-129.922 0-252.067-50.594-343.936-142.464s-142.464-214.014-142.464-343.936c0-129.923 50.595-252.067 142.464-343.936s214.013-142.464 343.936-142.464c129.922 0 252.067 50.595 343.936 142.464s142.464 214.014 142.464 343.936-50.594 252.067-142.464 343.936c-91.869 91.87-214.014 142.464-343.936 142.464zM486.4 102.4c-239.97 0-435.2 195.23-435.2 435.2s195.23 435.2 435.2 435.2 435.2-195.23 435.2-435.2-195.23-435.2-435.2-435.2z"></path><path d="M384 742.4c-6.552 0-13.102-2.499-18.102-7.499l-153.6-153.6c-9.997-9.997-9.997-26.206 0-36.203 9.998-9.997 26.206-9.997 36.205 0l135.498 135.498 340.299-340.298c9.997-9.997 26.206-9.997 36.203 0 9.998 9.998 9.998 26.206 0 36.205l-358.4 358.4c-5 4.998-11.55 7.498-18.102 7.498z"></path></symbol>
<symbol id=lnr-arrow-down-circle viewBox="0 0 1024 1024"><path d="M830.336 881.538c91.869-91.869 142.464-214.016 142.464-343.938s-50.595-252.067-142.464-343.936-214.014-142.464-343.936-142.464-252.069 50.595-343.938 142.464-142.462 214.014-142.462 343.936 50.594 252.069 142.462 343.938 214.016 142.462 343.938 142.462 252.067-50.594 343.936-142.462zM51.2 537.6c0-239.97 195.23-435.2 435.2-435.2s435.2 195.23 435.2 435.2c0 239.97-195.23 435.2-435.2 435.2s-435.2-195.23-435.2-435.2z"></path><path d="M504.499 837.299l204.8-204.8c9.998-9.995 9.998-26.206 0-36.203-9.997-9.998-26.206-9.998-36.203 0l-161.096 161.101v-526.997c0-14.138-11.461-25.6-25.6-25.6s-25.6 11.462-25.6 25.6v526.997l-161.101-161.096c-9.995-9.998-26.206-9.998-36.203 0-4.997 4.997-7.496 11.547-7.496 18.099s2.499 13.102 7.501 18.099l204.8 204.8c9.997 10 26.202 10 36.198 0z"></path></symbol>
</defs>
</svg>
)=====";
//body1 (html)
const char PAGE_index3[] PROGMEM = R"=====(
<div id=tbB class=tool_box>
<svg id=tgb onclick=TgT()><use xlink:href=#lnr-power-switch></use></svg>
<svg id=mdb onclick=TgHSB()><use xlink:href=#lnr-list></use></svg>
<svg id=psb onclick=CV(2)><use xlink:href=#lnr-heart></use></svg>
<svg id=fxb onclick=CV(3)><use xlink:href=#lnr-star></use></svg>
<svg id=nlb onclick=CV(4)><use xlink:href=#lnr-moon></use></svg>
<svg id=nsb onclick=TgN()><use xlink:href=#lnr-sync></use></svg>
<svg id=stb onclick=TgS()><use xlink:href=#lnr-cog></use></svg></div><div id=cdB class=ctrl_box><form id=form_c name=Cf>
<br><div id=slA class=sl>
<input type=range title=Brightness class=sds name=SA value=0 min=0 max=255 step=1 onchange=GC()></div><div id=srgb><div id=slR class=sl>
<input type=range title="Red Value" class=sds name=SR value=0 min=0 max=255 step=1 onchange=GC()></div><div id=slG class=sl>
<input type=range title="Green Value" class=sds name=SG value=0 min=0 max=255 step=1 onchange=GC()></div><div id=slB class=sl>
<input type=range title="Blue Value" class=sds name=SB value=0 min=0 max=255 step=1 onchange=GC()></div></div><div id=shs><div id=slH class=sl>
<input type=range title=Hue class=sds name=SH value=0 min=0 max=1 step=0.025 onchange=GetRGB()></div><div id=slS class=sl>
<input type=range title=Saturation class=sds name=SS value=0 min=0 max=1 step=0.025 onchange=GetRGB()></div></div><div id=slW class=sl>
<input type=range title="White Value" class=sds name=SW value=0 min=0 max=255 step=1 onchange=GC()></div><div id=tlX class=tools>
Effect Panel<br><br>
<svg id=fmr onclick=SwFX(-99)><use xlink:href=#lnr-cross></use></svg>
<svg id=for onclick=SwFX(-1)><use xlink:href=#lnr-arrow-left-circle></use></svg>
<svg id=fmf onclick=SwFX(1)><use xlink:href=#lnr-arrow-right-circle></use></svg>
<svg id=fof onclick=SwFX(99)><use xlink:href=#lnr-rocket></use></svg><br><br>
<select name=TX onchange=GX()><option value=0 selected>Solid (0)</option><option value=1>Blink (1)</option><option value=2>Breath (2)</option><option value=3>Wipe (3)</option><option value=4>Wipe Random (4)</option><option value=5>Color R (5)</option><option value=6>Sweep (6)</option><option value=7>Dynamic (7)</option><option value=8>Colorloop (8)</option><option value=9>Rainbow (9)</option><option value=10>Scan (10)</option><option value=11>Scan x2 (11)</option><option value=12>Fade (12)</option><option value=13>Chase (13)</option><option value=14>Chase Cl (14)</option><option value=15>Running (15)</option><option value=16>Twinkle (16)</option><option value=17>Twinkle R (17)</option><option value=18>Twinkle Fade (18)</option><option value=19>Twinkle RF (19)</option><option value=20>Sparkle (20)</option><option value=21>Sparkle Inv (21)</option><option value=22>Sparkle Inv+ (22)</option><option value=23>Strobe (23)</option><option value=24>Strobe Cl (24)</option><option value=25>Strobe + (25)</option><option value=26>Blink Cl (26)</option><option value=27>Android (27)</option><option value=28>Chase (28)</option><option value=29>Chase R (29)</option><option value=30>Chase Rainbow (30)</option><option value=31>Chase Flash (31)</option><option value=32>Chase RF (32)</option><option value=33>Chase Cl Inv (33)</option><option value=34>Colorful (34)</option><option value=35>Traffic Light (35)</option><option value=36>Sweep R(36)</option><option value=37>Running 2 (37)</option><option value=38>Red/Blue (38)</option><option value=39>Running R (39)</option><option value=40>Scanner (40)</option><option value=41>Lighthouse (41)</option><option value=42>Fireworks (42)</option><option value=43>Fireworks R (43)</option><option value=44>Christmas (44)</option><option value=45>Fire Flicker (45)</option><option value=46>Gradient (46)</option><option value=47>Loading (47)</option><option value=48>Wipe IO (48)</option><option value=49>Wipe II (49)</option><option value=50>Wipe OO (50)</option><option value=51>Wipe OI (51)</option><option value=52>Circus (52)</option><option value=53>Halloween (53)</option><option value=54>Tricolor Chase (54)</option><option value=55>Tricolor Wipe (55)</option><option value=56>Tricolor Fade (56)</option><option value=57>Lighting (57)</option><option value=58>ICU (58)</option><option value=59>Multi Comet (59)</option><option value=60>Scanner x2 (60)</option><option value=61>Random Chase (61)</option><option value=62>Oscillate (62)</option><option value=63>Fire 2012 (63)</option><option value=64>Juggle (64)</option><option value=65>Palette (65)</option><option value=66>BPM (66)</option><option value=67>Fill Noise 8 (67)</option><option value=68>Noise 16 1 (68)</option><option value=69>Noise 16 2 (69)</option><option value=70>Noise 16 3 (70)</option><option value=71>Noise 16 4 (71)</option>
</select><br><br>
Set secondary color to
<button type=button onclick=CS(0)>White</button>
<button type=button onclick=CS(1)>Black</button>
<button type=button onclick=CS(2)>Random</button>
<button type=button onclick=CS(3)>Primary</button>
<button type=button onclick=CS(4)>Swap P/S</button>
or <button type=button onclick=CS(5)>Set Primary to Random</button><div id=fpX>
<br>FastLED Palette<br><br>
<select name=FP onchange=GP()><option value=0 selected>Random Cycle</option><option value=1>Primary Color Only</option><option value=2>Based on Primary</option><option value=3>Set Colors Only</option><option value=4>Based on Set Colors</option><option value=5>Party Colors</option><option value=6>Cloud Colors</option><option value=7>Lava Colors</option><option value=8>Ocean Colors</option><option value=9>Forest Colors</option><option value=10>Rainbow</option><option value=11>Rainbow Stripe</option>
</select></div><div id=slX class=sl>
<input type=range title="Effect Speed" class=sds name=SX value=0 min=0 max=255 step=1 onchange=GX()></div><div id=slI class=sl>
<input type=range title="Effect Intensity" class=sds name=IX value=0 min=0 max=255 step=1 onchange=GX()></div></div><div id=tlP class=tools>
Favorite Presets<br><br>
<svg id=psl onclick=PSIO(false)><use xlink:href=#lnr-checkmark-circle></use></svg>
<svg id=psp onclick=SwitchPS(-1)><use xlink:href=#lnr-arrow-left-circle></use></svg>
<svg id=psn onclick=SwitchPS(1)><use xlink:href=#lnr-arrow-right-circle></use></svg>
<svg id=pss onclick=PSIO(true)><use xlink:href=#lnr-arrow-down-circle></use></svg>
<br><input id=psI name=FF type=number value=1 min=1 max=25 step=1><br><br>
Click checkmark to apply <input type=checkbox checked=true name=BC> brightness, <input type=checkbox checked=true name=CC> color and <input type=checkbox checked=true name=FC> effects.<br><br>
Cycle through presets <input id=cy1 name=P1 type=number value=1 min=1 max=25 step=1> to <input id=cy2 name=P2 type=number value=5 min=1 max=25 step=1>, keep each for <input id=cyT name=PT type=number value=1250 min=50 max=65501 step=1>ms: <input type=checkbox name=CY onclick=uCY()><br><br>
<button type=button onclick=R()>Apply boot config</button><br></div><div id=tlN class=tools>
Timed Light<br><br>
<svg id=ntb onclick=TgNl()><use xlink:href=#lnr-power-switch></use></svg><br><br>
Gradually dim down <input type=checkbox checked=true name=NC><br>
1st slider sets duration (1-255min), 2nd sets target brightness.<div id=slN class=sl>
<input type=range title=Duration class=sds name=SN value=60 min=1 max=255 step=1></div><div id=slT class=sl>
<input type=range title="Target Brightness" class=sds name=ST value=0 min=0 max=255 step=1></div></div>
<br></form></div>
<iframe id=stf src=about:blank></iframe></body></html>
)=====";