diff --git a/SD/LocoEditor.html b/SD/LocoEditor.html new file mode 100644 index 0000000..61174b7 --- /dev/null +++ b/SD/LocoEditor.html @@ -0,0 +1,186 @@ + + + + + +PacoMouseCYD Loco Editor + + + + + +
+PacoMouseCYD Loco Editor +
+ + + +
+ + + + + + + +
+ Locomotora: + Locomotora: + Locomotive: + Lokomotive: +
+ + Nombre: + Nom: + Name: + Name: + +
+ Vel. max.: + Vel. max.: + Speed max.: + Geschw.max.: + km/h

+ Archivo CSV: + Arxiu CSV: + CSV File: + CSV-Datei: +loco/
+
+ +
+ + + + + +
+ Imagen: + Imatge: + Image: + Bild: +



+ Archivo BMP: + Arxiu BMP: + BMP File: + BMP-Datei: +image/
+
+ +
+ Funciones: + Funcions: + Functions: + Funktionen: +
+ + + + + + + + + + + + + + + + +
F0F1F2F3F4F5F6F7F8F9
F10F11F12F13F14F15F16F17F18F19
F20F21F22F23F24F25F26F27F28
+ + +
+ + + +
+
+ + +
+ + + +
+
+
+ + +
+ + + +
+ + + + \ No newline at end of file diff --git a/SD/acc/panel.csv b/SD/acc/panel.csv new file mode 100644 index 0000000..45307ed --- /dev/null +++ b/SD/acc/panel.csv @@ -0,0 +1,18 @@ +Nombre +Panel 0 +Panel 1 +Panel 2 +Panel 3 +Panel 4 +Panel 5 +Panel 6 +Panel 7 +Panel 8 +Panel 9 +Panel 10 +Panel 11 +Panel 12 +Panel 13 +Panel 14 +Panel 15 + diff --git a/SD/bgr565.html b/SD/bgr565.html new file mode 100644 index 0000000..0ecf7b7 --- /dev/null +++ b/SD/bgr565.html @@ -0,0 +1,36 @@ + + + + + BGR565 Inverted Image Converter + + + +

BGR565 Inverted Image Converter

+
+ +
+ + + +
+ +
+ + + + + + diff --git a/SD/css/bgr565.css b/SD/css/bgr565.css new file mode 100644 index 0000000..011c750 --- /dev/null +++ b/SD/css/bgr565.css @@ -0,0 +1,32 @@ +body { + font-family: Arial, sans-serif; + margin: 2em; + background: #f9f9f9; + color: #222; +} +h1 { + color: #005580; +} +form { + margin-bottom: 1em; +} +label { + margin-right: 1em; +} +#preview img { + max-width: 300px; + border: 1px solid #ccc; + margin-top: 1em; +} +button { + padding: 0.5em 1em; + font-size: 1em; + background: #005580; + color: #fff; + border: none; + border-radius: 4px; + cursor: pointer; +} +button:hover { + background: #0077aa; +} \ No newline at end of file diff --git a/SD/css/style.css b/SD/css/style.css new file mode 100644 index 0000000..06e5634 --- /dev/null +++ b/SD/css/style.css @@ -0,0 +1,275 @@ +html { font-family: Arial, Helvetica, sans-serif; +display: inline-block; +margin: 0px auto; +text-align: center;} + + +body { +background-color: white; +font-size: 25px;} + +input.texttxt { +font-size: 25px; +text-align: center; +} + +div.labeltxt { +color: black; +background-color: #B6B6B6; +font-size: 25px; +padding: 20px 20px; +margin: 20px; +text-align: left; +border-radius: 10px;} + +div.headertxt { +color: white; +background-color: blue; +font-size: 25px; +padding: 20px 200px; +margin: 20px; +text-align: center; +border-radius: 10px;} + + + +td { +font-size: 25px; +padding: 5px 10px +} + +button.buttontxt { +background-color: #f48100; +border: none; +color: white; +padding: 13px 10px +text-decoration:none; +font-size: 25px; +margin: 0px auto 15px; +border-radius: 6px; +cursor: pointer; +font-weight: bold;} + +span[lang=es], span[lang=de], span[lang=ca], { display: none} + +.dropdown { + display: block; + position: relative; + overflow: hidden; + padding: 10px 10px; + margin: 30px 50px; + background: lightgrey; + border: 1px solid; + border-color: white; + border-radius: 20px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);} + + +.dropdown-dark { + background: lightgrey; + border-color: lightgrey; + -webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.1), 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: inset 0 1px rgba(255, 255, 255, 0.1), 0 1px 1px rgba(0, 0, 0, 0.2);} + +.dropdown-select { + position: relative; + width: 80%; + margin: 20; + padding: 20px 20px; + line-height: 34px; + font-size: 25px; + color: black; + text-shadow: 0 0px white; + background: lightgrey; /* Fallback for IE 8 */ + background: rgba(0, 0, 0, 0) !important; /* "transparent" doesn't work with Opera */ + border: 0; + border-radius: 0; + -webkit-appearance: none; +} + +img.english { + content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAlCAMAAAAuuaQGAAAAn1BMVEUAIXOUlJS1tbWMjIzOzs7v7++lpaW9ECH////n5+cYOYT39/cAFk7GKTkAG10xSpT/9/eura3WZGy1vdb33t7a2trOQkyACxbjmKFCWpy9xt6ZDRvGITHejJS9vb3vtb0pQoyltc7Hx8ecpc73ztbOWmOWmKFNZZ/Q2OkYL2h+hJkpPHOiKDKYRU21f4UQJ1pje62GGSSXX2T35+eUtYylz95fAAABl0lEQVRIx+3Wy1aDMBAG4EADDKVQ0gr0olSr0kIvtvX9382EAiFhWMjRc1z4ryCT860mmZAToyLZIdBC6XEtQqleyovtmdeOZ7iHrJ33t/JrPiVKAHxHBEAtjF/DBa/EG2CeCDfO/B9VcEMKAMx1XYsjJCvXEAUz2gKAQaNIICR4fsGVrqEK+90kTbcCIQEhuKIbukDIxGYmR0oDV1SjK3DDyFjaGJjSNjCBGyPDTqk0uoo0dqhwN0zqWiQfN1mu+F7fn31WvVMbsIl9vxLci9z/URsUetMYPWE/aaydwUn+jd8z/kp/KL1elh5mcVx2tmKEC776FO53SK+3zlwlOM7jU7haSuMyVyudMxfggnr2p6iiGl1Bv4MwpW1gQvcu7CrSwAXsTtaVxshwAZ8NqlK0+wMR+mZUW7lJAxX6Z6VUml63T0lyvdnFYaKFsWsiwliuVfKCiWSn2vA8l6a2MRqUajaA50Ypy4xBqWaUMLYmswelmpXgWRxJU3NA6pkNnkAiOijV2wFKZHDKNwwIRMT6drzqLfUF+1ZZIabdy3UAAAAASUVORK5CYII=); + width: 67px; height: 37px; +} + + img.deutsch { + content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAlCAMAAAAuuaQGAAAAM1BMVEX/zADv7++1tbWMjIzOzs6mpqaUlJTdIhEAAADn5+etigD39/f///+lGQ3a2tq9vb3OpQD1D982AAAAkElEQVRIx+3WQRaDMAhF0SRCLILB/a+2QeO8BY+jvAXc6f/pE0iuUsRgK2gQUe5IyIDWDAkZqmBIyEAsHYkZFVGjxlJRIW4UoPyIsa/u9mlM4y3jSO62aUzjF2MLdBvMBIp1cTW2QZhaN3yNjTIDCjq7tlI4d0S1OLo3W9iQBq7Gd5ATcXd+GDHEyn/H40t9AWdhNXmZIhiiAAAAAElFTkSuQmCC); + width: 67px; height: 37px;} + +img.spanish { + content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAlCAMAAAAuuaQGAAAANlBMVEX//wDv7++1tbWMjIzOzs6mpqaUlJTeABD3nADn5+eXAAuzAA36+vra2tqtrQDOzgC9vb24dAAMfqPBAAAAlElEQVRIx+3WQQLDIAgFUSVgS4INuf9lixoPUGi7cva+nX7T4W+XUToe7r5iMHOOGlhrQ0KGKjYkZBCBITGjFNBmXE9311ZI0YwzuXuZAch5GctYxp+N4N3vRuQNWsbvjD3QNEQYlcrm6t4GM6oZvoj6RjUDgZyNrRTJhqiCo7nZ0pGKru6/g3TEXf/DyCx/3Dgm8gaUly0aENrR2QAAAABJRU5ErkJggg==); + width: 67px; height: 37px;} + + +img.catalan { + content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAlCAYAAAAZZ1Q0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAGNSURBVGhD7ZoxToRQEIYHbUiAEKBALmBMrPYEnmBv4wXs9wb2druFNm5h4QW2srDbxoQKCAESgomYeTA4K0gvb77kZeGFhi/87y9mje0WWtCI9brpr8YYhwO0q1V/t3B2u3kZZ/2vNiRJMqyqqvrdDu1kxHEMRVGoVdf1iRDjCRxtzowP+ILLl0d17Xke2LYNjuOAaZpgWVYn4xrO1QNLZw+f4D7cq2vXdSGKokFIEAT6xSRNU7WQLMvUL2E830J7c9XfLZzXd4C3i42Khe/7EIahigt+IfhlaFetx+OPDIoKLtzTLiZziAyGdtVabe7+jIl21TonQ2LC0LpaRzGRapWYTCIyGFKt/MyQapUzYxKpVh4TqVaJySQigyHVys8MqVY5MyaRauUxkWqVmChQAIETNe1k0FdB4ESNMJqmUdWKU2kcxpZlqYazeZ6rB5YKRYSPFwcZOI3GqTQJodEb7i0Jisbk4JlkIFwIglKWCEWDi0BOZCAkRAe4CGQkY4rf/3D5r/AXJ/Ddun2Ab+yu6EBk4TGvAAAAAElFTkSuQmCC); + width: 67px; height: 37px;} + +img.iconID0 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID1 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/); + width: 32px; height: 32px;} + +img.iconID2 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID3 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID4 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2AAAAAAAAAAAAAAAAtra2tra2APL/tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2APL/APL/APL/tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2APL/APL/APL/tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID5 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID6 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID7 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAtra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAtra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAtra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAtra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAtra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAAAAAAAAAtra2tra2AAAAAAAAAAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2AAAAAPL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID8 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID9 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/AAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAPL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/AAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAPL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/AAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAPL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID10 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2AAAAAPL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2AAAAAPL/AAAAAPL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2AAAAAPL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2AAAAAPL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID11 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID12 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID13 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID14 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID15 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID16 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2AAAAAAAAAPL/APL/AAAAAAAAtra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/AAAAAAAAtra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/AAAAAAAAtra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2AAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID17 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID18 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2AAAAAPL/APL/AAAAtra2tra2AAAAAPL/APL/AAAAtra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID19 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2AAAAAAAAAAAAAAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAAAAAAAAAAAAAtra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID20 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/tra2tra2APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2AAAAAAAAtra2APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2AAAAtra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2AAAAAAAAAPL/APL/APL/AAAAtra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID21 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAPL/APL/AAAAAPL/APL/APL/AAAAAPL/AAAAAAAAAAAAAPL/AAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAPL/AAAAAPL/APL/APL/AAAAAPL/AAAAAPL/APL/APL/AAAAAPL/APL/AAAAAPL/APL/AAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAPL/AAAAAPL/APL/APL/AAAAAPL/APL/AAAAAPL/APL/AAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/AAAAAPL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/AAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAPL/AAAAAPL/APL/APL/APL/APL/AAAAAPL/APL/APL/AAAAAPL/APL/AAAAAPL/APL/AAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAPL/AAAAAPL/APL/APL/AAAAAPL/AAAAAPL/APL/APL/AAAAAPL/APL/AAAAAPL/APL/AAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAPL/APL/AAAAAPL/APL/APL/AAAAAPL/AAAAAAAAAAAAAPL/AAAAAAAAAAAAAAAAAPL/AAAAAAAAAAAAAAAAAAAAAPL/AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID22 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/AAAAAAAAAPL/APL/APL/AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAAPL/APL/APL/APL/AAAAAPL/APL/AAAAAPL/AAAAAPL/APL/AAAAAPL/APL/AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAAPL/APL/APL/AAAAAPL/APL/AAAAAPL/APL/APL/APL/AAAAAPL/APL/AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAPL/APL/APL/AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAPL/AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAPL/AAAAAAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAAPL/APL/AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2AAAAAAAAAAAAAAAAtra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID23 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2AAAAAPL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/AAAAtra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/AAAAAPL/APL/APL/APL/AAAAtra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID24 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2AAAAtra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAtra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2AAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2AAAAtra2tra2tra2tra2AAAAAAAAtra2AAAAtra2tra2tra2tra2AAAAtra2AAAAAAAAtra2tra2tra2tra2AAAAtra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2AAAAtra2tra2tra2AAAAtra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2AAAAtra2tra2tra2AAAAtra2tra2AAAAtra2tra2AAAAtra2AAAAtra2AAAAtra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAtra2tra2AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2AAAAtra2AAAAtra2AAAAtra2AAAAAAAAAAAAtra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2AAAAAAAAAAAAtra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2AAAAAAAAAAAAtra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2AAAAAAAAAAAAtra2AAAAtra2AAAAtra2AAAAtra2tra2AAAAAAAAtra2tra2tra2APL/tra2AAAAtra2tra2AAAAtra2APL/tra2tra2tra2AAAAAAAAtra2tra2AAAAtra2AAAAtra2AAAAtra2tra2AAAAtra2tra2AAAAtra2tra2tra2AAAAtra2tra2APL/AAAAtra2tra2tra2tra2AAAAAPL/tra2tra2AAAAtra2tra2tra2AAAAtra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2AAAAtra2tra2tra2tra2AAAAAAAAAPL/AAAAtra2tra2tra2tra2AAAAAPL/AAAAAAAAtra2tra2tra2tra2AAAAtra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2AAAAtra2APL/tra2tra2tra2AAAAAPL/tra2tra2tra2tra2APL/AAAAtra2tra2tra2APL/tra2AAAAtra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2AAAAtra2tra2APL/tra2tra2AAAAAPL/tra2tra2tra2tra2APL/AAAAtra2tra2APL/tra2tra2AAAAtra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2APL/tra2AAAAtra2APL/tra2tra2tra2tra2APL/tra2AAAAtra2APL/tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAtra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2APL/tra2AAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2APL/tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2APL/AAAAtra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2AAAAAPL/tra2tra2tra2AAAAtra2tra2AAAAAAAAAAAAAAAAAAAAAAAAtra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID25 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID26 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID27 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAAAAAtra2AAAAAPL/AAAAAAAAtra2tra2tra2tra2AAAAAPL/AAAAAAAAtra2AAAAAPL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2AAAAAPL/APL/AAAAtra2tra2tra2tra2AAAAAPL/APL/AAAAtra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/AAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/AAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/AAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2AAAAAPL/APL/AAAAtra2tra2tra2tra2AAAAAPL/APL/AAAAtra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/AAAAtra2AAAAAAAAAPL/AAAAtra2tra2tra2tra2AAAAAAAAAPL/AAAAtra2AAAAAAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID28 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAPL/AAAAAPL/AAAAAPL/APL/APL/AAAAAPL/APL/APL/AAAAAPL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAPL/AAAAAPL/AAAAAPL/APL/APL/AAAAAPL/APL/APL/AAAAAPL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAAPL/APL/AAAAAPL/APL/APL/AAAAAPL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/AAAAAPL/AAAAAPL/AAAAAPL/AAAAAPL/AAAAAPL/AAAAAPL/AAAAAPL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAPL/AAAAAPL/AAAAAPL/AAAAAPL/AAAAAAAAAPL/AAAAAAAAAPL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/AAAAAAAAAPL/APL/AAAAAAAAAPL/APL/AAAAAPL/APL/APL/AAAAAPL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID29 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAPL/AAAAAPL/AAAAAPL/APL/APL/AAAAAPL/APL/APL/AAAAAPL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAPL/AAAAAPL/AAAAAPL/APL/APL/AAAAAPL/APL/APL/AAAAAPL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAPL/APL/AAAAAAAAAPL/APL/AAAAAPL/APL/APL/AAAAAPL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/AAAAAPL/AAAAAPL/AAAAAPL/AAAAAPL/AAAAAPL/AAAAAPL/AAAAAPL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/AAAAAPL/AAAAAPL/AAAAAPL/AAAAAPL/AAAAAAAAAPL/AAAAAAAAAPL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/AAAAAAAAAPL/APL/AAAAAAAAAPL/APL/AAAAAPL/APL/APL/AAAAAPL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID30 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2APL/tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID31 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/APL/AAAAAAAAtra2APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAPL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/AAAAAPL/APL/APL/AAAAAPL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID32 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2AAAAAAAAAAAAAAAAtra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2AAAAtra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2AAAAtra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2AAAAtra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2AAAAtra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2AAAAtra2tra2tra2tra2AAAAtra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2AAAAtra2AAAAtra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2AAAAtra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2AAAAtra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2AAAAtra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAtra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAtra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAtra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAtra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/AAAAtra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID33 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAPL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAAAAAAAAAAPL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/AAAAAAAAAAAAAPL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/AAAAAPL/APL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAPL/APL/APL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2AAAAAPL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID34 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2APL/APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID35 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAAAAAAPL/AAAAAAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAPL/AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAPL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID36 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/AAAAAAAAtra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAtra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAAAAAAPL/APL/APL/APL/AAAAAAAAAPL/AAAAtra2tra2APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAPL/AAAAtra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAPL/AAAAtra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAPL/AAAAtra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAPL/AAAAtra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAPL/AAAAtra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAPL/AAAAtra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAPL/AAAAtra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAAPL/APL/APL/APL/APL/APL/APL/APL/AAAAAPL/AAAAtra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAAAAAAPL/APL/APL/APL/AAAAAAAAAPL/AAAAtra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/AAAAAAAAAAAAAAAAAPL/APL/AAAAAAAAtra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/APL/APL/tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/AAAAtra2tra2APL/APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2APL/APL/APL/APL/APL/APL/APL/APL/tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2APL/tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2tra2APL/tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2APL/tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAtra2tra2APL/APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAtra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/AAAAtra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID37 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2APL/tra2tra2AAAAtra2tra2APL/tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2AAAAtra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2APL/tra2tra2AAAAtra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID38 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID39 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/AAAAtra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/AAAAtra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAtra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2AAAAAAAAAAAAAAAAAAAAtra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2AAAAAPL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2AAAAAPL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2AAAAAPL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAtra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAAAAAPL/APL/AAAAtra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAPL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/APL/AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAPL/APL/APL/APL/APL/APL/APL/AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.iconID40 { + content: url(data:image/png;base64,Qk02DAAAAAAAADYAAAAoAAAAIAAAACAAAAABABgAAAAAAAAMAADEDgAAxA4AAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/APL/APL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2AAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAtra2tra2AAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2APL/APL/APL/tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2); + width: 32px; height: 32px;} + +img.paco { + content: url(data:image/png;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCABAAIADASIAAhEBAxEB/8QAGwAAAwEBAQEBAAAAAAAAAAAABwgJAAYECgX/xABEEAABBAEDAwIDBAQIDwEAAAACAQMEBQYHCBIAERMJFBUWIhchIzIYMTM0GThBVVZ3tdQkJSYnNUNHUldicXOGlabF/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/ACpqlvW3T/p2WezrRSg0q/1PwydlMWx/mcLB7zORn/8AuiPFr/cRf5S69Wie/wB1crt1GRbWN3GIYVj9lXR5L7F7jj5s10UI0Jyeb8k5T5/4M5DHyi53A2+yC439ZKzxWqW33djinqT2e7bTTQD57xuL4fZNfNVbV+85UAQHPqecVxvg4Rr9TX1eP7vuJC64q49NPcXuxzLVrXXX6fE06yy/kEWI0Ry4tiAq2jaRwmPw0UEjNxmwioYD5iNFeMfw+EgHq0h3xbV9d8yb0+0t1biW2Qvx3ZLEF6tmwTkA2iKaNLKZbFw0HuagCqfADLtxAlT8rP8A1C9nOmGZW2n+Z60xIt7RSFiWEeNU2E0GH0ROTSux2DaUxVeJihKoGhAXYhJESra3sP1mi6l6PyNe9Dc1qA03keaLkcbUDH3K6GEedKtIzK1rMVyS6BynlA1WSR/jESEACIB6860G32ZBuOg6/wC3rbP9gWV3flhZNYDntPa1c33Bihy34iB/1ceRGnvIbbboto+Km4DVfpR5j+nZ+jR886VfAf5k+GXvzP8A6H97+8eL4b+f6/2n7H6f2v09dBn/AKheznTDMrbT/M9aYkW9opCxLCPGqbCaDD6InJpXY7BtKYqvExQlUDQgLsQkiAr9FzXb+Fh/SX+Rv82389/E4f8ARr2X7v5fcfvH0fs/+b8v1dJBqptg3F7MdEtU8czvTnCp9FnEigq1zhm9ikYMMPrMOFXsOk1MM3XwjK4ni7IEFwlAxQXmwrTmu+Lavp9huHag5Tq3EYx7P48iTj06NWzZgTAYVtH0VGGTJo2ydADB1AMT5CqIQEibSHfFtX13zJvT7S3VuJbZC/HdksQXq2bBOQDaIpo0splsXDQe5qAKp8AMu3ECVJl2m1zXbcpsT2w/Ypg3zH8ufOvxP/GcOH4PcXCeH95db5cvA7+Xv24/f27p3Z+p2i6w0HqmwteqLTOJXaSV0duJDnRJsFliMw3jCQG2m4Yuo8AC8iNIKNIiIiKn0/f0FCut1ut0G6XXd3vj0j2g1URjKwl32WXEd1+qxytMEfMBE0B+SZL2jxidFG/J2M1VTVttzxuILFdQhxvCtUPU63m3WQDIyCZhIXHlm2M024y4/i6STWNEDiLjLclWeYttCh83lddPkiPuoA03F76dx253zVuf5n8Pxt3j/kzRCcOrXt4V/FDkTkn8RgHR9w47wNSVvgi9uiXG9Lve9j1Vhmo2B47EmWVlHj3bDVbdpWWuPPoLTzQyRm+2JmSJH27NEagbJ91HsKlZPQbbrpHttw2NhmlOJxK4BjsszrM2gKxtjbUyR6ZIQUJ4+Trqoi9gDmotiAdhQl9AhWy3fVmUvMrfbDvVnxMb1bq7hutqXpkVIp3RvI4aMGjDaRAMezSMuCYhJCQwjYmX1uvr0tW+naPiu53RrImq3Eap3Umvrxfxm59q2M5Xo5G6EHzqbf4L3N5ri4atAT/lUVIEXpdfSI3d2uouMntdy+ulyLLB6d2ypbpZBOo9VDIbb9q/5CUhNkpLQNcPo8KCHFvworoUf63W63Qbpf8AdbvW0s2ffK32mUGV2fzb772XwKLGe8ftfB5PL5n2u3f3IcePLv2Lv27J3YDqVfrnf7E//JP/AM3oKqdKr/BcbE/+Bn/01x/e+kA286R0Wre7HVfSHajcWs3bzlmPy4d3OnQDkwYIv1rh17jjM0WzN6LakixVXtJ4xzJHFHzOqNNouK6obgdw2kG2bUliW5iektxZWT9JYY426FUwEj3c+LNBQE+EiSy3GL3BEgG+IoK9/GQXpqamqoKqFRUVZErq2ujtxIcOIyLLEZhsUFtptsUQQARRBQURERERE69fW63QbrdbrdAFN62U0WH7R9XrbI53tIkjD7Orbc8RucpU1gokZvsCKqc332g79uI8u5KgoqpGzZlv+yrZ3DnY9U6WYpkdLdWBWFu855IlxJ7MeNhgZoqYCy0aK4IGw52V19EUVc5CavWS+Vf0lYfzD8V9/wDZfXfAvZePw+++OSefuuf1eH2vu+3D6vL4e/08+l10h0X37ZHjzen+keIawQMTzWO7LWOyc2qoLRh+KnN1110moZg6wAihGXZweAJy7iihbPaTulxXdzpYepmLY3a0XsbBaaxhWBNn45wRmHnUZcAl8rKe4ERcIWyLiqq2H6uuV3S7/tDtpOVU+Fah12V2t1cV62gxqKAy77eKrhNtuOm+80H1m28goCkSeIlJBRQUlg216y7xtuFfmO3GBt4iaux9JKehny2KifX0MuhWfVjNeg+JgHUszR3zojjQm866DpkTivgIL/uIo9y+5bQbD/UAypcfupDVw9ErsXx7BwlsU9ND86vTJ7zqOm7GGTBeImZXnYFJJLzBHTZQKFaF+pjtT15va7EKnJ7XF8kubBa6tqMkr1juTHOCECg+yTsZPISq2AG8LhuJxQFUg5zq0xiw9uXq6t1N9i3wiB9oFlXVlbVtseOPFuW32axQACRttlG58U1BFQm2+6cOQ8OhVt2r7HdrrtjumeU1Wn4T3K+3co4TeFRairsJwQzeFmxcpCgSRZ4sEQvCTxNmIojRC44i+XTbVW11v37ad6r3uO4/R2WSakY3LmQ6GIUaEj/vYwuOi2RmXNwhV1wlJVJxwyX83QV+3QeoXovtMz+v051GxjNbGysadq7adpIUR5gWHHnmREiektEh8o5qqIKp2Ufv/WiCD+Gr2sf0B1V/9VXf37pVfWr/AI0+Lf1fwf7RselfczLSMNokfT4aCI5qg/qQ9cnaDVh52KAKxtoY5zFRDUHJLhmLIqQorLhGgKrfML07Z91Wke6/DZOYaW2UsTrpHtrOosmwZsa41UvGrzQGY8HBFSAwIgLsQ9+YOABg6jX6JeLXsvX3Os1jwedLVYetXMk+UE8UqXNjuR2+CrzLkEKSvdEUU8fYlRSFFZ+2qvV91atZuT0WQaa6I1rUhyLDxqW7GsnzYQlNuQ5IGLNFw1FxGlJDZRVYUkYb79yBtda8M1YznFYtTo5rR9mV0zYBIft/lyNdeeKjbglG8EghAeRm2fkReSeLt+ol6D+zfY5VbVLXMs0vdRZeoebZpIQpmQz60Y74MclccBCJx55TeeJXHjV1UcVtjuKK3yKdcb1O96WgutF9h+q+WY/qJHxa4lUFtWu1caIw6caX433IsiMwy6BqjTgtm4JgiOciZJUREbX1GfUZvdt16xovovFqpOZya/3lvbzOElulbeAxYbbYE/3z8j/Z8fGLasqrbyPfQD/9bqFdBvu9T/K8Vss6xbKMrucbpvN8RuK/AK+RBh+JtHXfM+EFW2+DZCZciTiKoS9kXv0+u4H1HY2hG23TDOSqMfu9UNSsXrrsMfGU6wxACTAV0p5tohmsYZKg2LRONm6nkQHe7ThCDv8AW6hXB9RH1IdQ/mfLcEyS1kUtL5LG0GiwiFLg0UU/I4KOulFdNpkQbc4m+4pKLRKRkokXTQbEvVOzLVzVCm0S3AVuPtSL2O1ApcjgCkJXrFtsl4zQcd8RHJUUEPALfZ5QbFpUdRWg7X1StM9GtRMq2/Ytk8T2mZ5rqBX4yFjCbJucWOuOIE4EdUCaXxvSopNo6hKJOmoD2J7vpu2Pd7tR0Cyu2wXf3ay6XBsfnXcWosMEiTfw4UJSCIy/MkPnHZ4RwAQBPGHdVQO6r35T1ds6+y/VPbDqZ8L+J/KWQWd77Lz+H3XtZNS94vJxLhy8fHlxLt379l7dugr6oW+y9zvOz0Q0O1K7YDW14DdT8fngTN9Kksl5GVlR3SR+GDDwtk19Iq6r6OCfBpRByvTlpdI6HQa/3Hs6oRMiybUSQ7kepWQy3AgsV9i35H5ERxj6WooRlkvEpqg+RHVeRUZNkQ8mimjG7PQL3WPba8n0Vy3Q61yA8lxti/t7lZ0anmeN32MOQ0khkGURTVt78ZDJwnyFVcJtIWdErANy+4bSyNU1+n2tma0dbRyEkwauNdyPhzR+VXVRYakrBgTikRgQKB8i5IXJe4W0sdVfUQyuHUQsN2paf4DPm2EhuZOy3OhuIsOK0whiTjMAG3PxnDQGybN0hJlzyNAJA71MvRData6a+pVgO3u9zCI/ZYrcVV/MsIkQiYcfjVrdw5HbEiElBSBY6OrxXt2cVtP2fVadjur2Za77V8D1S1BfiP5DbR5jM5+MwjISDjTX4qPKCfSJmLAmaCghzIuIgPYUQDQXJ5O4P1j73VLC6+JJoqCRbHIlxLJqSwddEqyqGprbn0o6D7pRjQW0LskhPvIRVzoOK9av+NPi39X8H+0bHplNkezPbZuJ2e6UZrrHpv8AMF1Cr7arYk/GJ8ThFC9sXBb4R32wXsbzi91Tl9Xbv2RERqta9me2zcTlUXNdY9N/mC6hV4VbEn4xPicIoOOOC3wjvtgvY3nF7qnL6u3fsiIhA0t0twTRbBKzTPTSi+DY3Teb2UL3T0jxeV43nPxHjNwu7jpl9RL279k7IiIgCDW66w3YbtLyvMNENL8fgR8YjxEh1bTasMPy33o0FuTKMfxZBihNE4Rl5XUa4q4KrzSQGJ6xbo92+ZZBjmZ7yomHR7KncdsFyzMHceoJjCI1GKIMeOKR1NwHO6tI0iGIvEXdeXe/1tU1V/VTaK9rIljW2MdyJMhy2ReYksOCouNONkiiYEKqKiqKioqovS64n6cOzHBsqps1xbRv2V1j9hHtK6T8xWrnglMOC405wOSQFxMBXsSKK9uyoqfd0ES6nRCqZ3dwtt17eS5laGpDeDzLKI2MZ95hLNIbj7Yl5BbNR7kiLzQVVEXl2+86+rjpnlWH7vbjOraJ3pc9r4FhUSm23PGXtojMN9gjIEBXgNhDIAIuLb7BKqKfZKf4n6cOzHBsqps1xbRv2V1j9hHtK6T8xWrnglMOC405wOSQFxMBXsSKK9uyoqfd0atTNKtONZMVfwrVLC6rJqWRyL21hHRzwuE2bfmZP87LyA44gutqLgclUSRfv6CcGinq/aL6abecQwG50wzWTlmI4vGpAYjLEWulvxI6MsksknUdbB1G2yNfASt8yREd4opjX1iME1Hn5VpZrzlOI/BIl9h8WisYDchZnwa4acelOxHpIAjJ90lkLZCXd32z5IKCPdX0qfTL2OUtrCuYehERyRAkNyWgl3dnKYIwJCFHGXpJNOh3RO4OCQEndCRUVU6YrKcTxXOaKVi2a4zVZBSzeHua60hNy4r/AAMTDm04hAXEwEk7p9xCip96J0Egdsvqk4rt02hRNHIWm9rY59jnv26R902yp5HuZbkgXpJIYvB41kOIrIAXNGR/Fb8qq0tWwnTPKtUN3Gmddi0TyfAcghZNYvm24rMWDAfCQ6bhABcOXjFoFLsKuvNApDz79WJtvTL2OXVrNuZmhERuRPkOSXQiXdnFYEzJSJG2WZItNB3VewNiICnZBRERE6OumelWnGjeKsYVpbhdVjNLH4l7avjo35nBbBvzPH+d55QbbQnXFJw+KKRKv39AFd/W1GHut0Ol0lY1wzPF/NcYu82ywrj8oWSQoBOOqPjZkfQJKjgCLgMOFyRrgXz7W1Ta0FrNor2sl11lXSHIkyHLZJl+M+2Si4042SIQGJIoqKoioqKi9fU91LX1L/TpzLNMye1/254VEsDsI7j2WY/WijUt2WCOOnZMtkfF83RRANloUdJ0RMQeN5whCa2Fa360aa1TtFpzq9muK1r8gpbsOkv5cFhx8hESdJtlwRU1EAFSVO/YBT+ROvJnWrGqeqHsftM1LyvLfhnl9l8duZM/2vk4+TxeYy4cvGHLj278B7/qTrleugwrT3PtSrV2i05wfIMqsmI5S3YdJWPTn22BIRJ0m2RIkBCMBUlTt3MU/lToO1oN0+4LFtGrLb9Qao2sPAbXzDJqAFpfw3iQnmW31BXmmXFRVNpsxbPyO8hXyucqvekttVk6OaRyNaczrYg5PqTHjSaxRcafOJQKAux0QxDk0cgj8rgI4QqAReSA4BCgq2d+kRa4vmVfqNuncx+zgwI8ebBxGE+UoHJpJyVuyJQRowZXsistE626f5jVoVB6pXQf/9k=); + width: 128px; height: 64px;} diff --git a/SD/image/0.bmp b/SD/image/0.bmp new file mode 100644 index 0000000..285148c Binary files /dev/null and b/SD/image/0.bmp differ diff --git a/SD/image/1.bmp b/SD/image/1.bmp new file mode 100644 index 0000000..269c836 Binary files /dev/null and b/SD/image/1.bmp differ diff --git a/SD/image/1000.bmp b/SD/image/1000.bmp new file mode 100644 index 0000000..025a5f7 Binary files /dev/null and b/SD/image/1000.bmp differ diff --git a/SD/image/1001.bmp b/SD/image/1001.bmp new file mode 100644 index 0000000..75972e2 Binary files /dev/null and b/SD/image/1001.bmp differ diff --git a/SD/image/1002.bmp b/SD/image/1002.bmp new file mode 100644 index 0000000..cb874ba Binary files /dev/null and b/SD/image/1002.bmp differ diff --git a/SD/image/1003.bmp b/SD/image/1003.bmp new file mode 100644 index 0000000..c4ecb74 Binary files /dev/null and b/SD/image/1003.bmp differ diff --git a/SD/image/1004.bmp b/SD/image/1004.bmp new file mode 100644 index 0000000..344cb7b Binary files /dev/null and b/SD/image/1004.bmp differ diff --git a/SD/image/1005.bmp b/SD/image/1005.bmp new file mode 100644 index 0000000..d3611f9 Binary files /dev/null and b/SD/image/1005.bmp differ diff --git a/SD/image/1006.bmp b/SD/image/1006.bmp new file mode 100644 index 0000000..78d83a5 Binary files /dev/null and b/SD/image/1006.bmp differ diff --git a/SD/image/1007.bmp b/SD/image/1007.bmp new file mode 100644 index 0000000..367dc65 Binary files /dev/null and b/SD/image/1007.bmp differ diff --git a/SD/image/1008.bmp b/SD/image/1008.bmp new file mode 100644 index 0000000..917520d Binary files /dev/null and b/SD/image/1008.bmp differ diff --git a/SD/image/1009.bmp b/SD/image/1009.bmp new file mode 100644 index 0000000..9c7d06b Binary files /dev/null and b/SD/image/1009.bmp differ diff --git a/SD/image/1010.bmp b/SD/image/1010.bmp new file mode 100644 index 0000000..d2ce2c5 Binary files /dev/null and b/SD/image/1010.bmp differ diff --git a/SD/image/1011.bmp b/SD/image/1011.bmp new file mode 100644 index 0000000..3c5e9cf Binary files /dev/null and b/SD/image/1011.bmp differ diff --git a/SD/image/1012.bmp b/SD/image/1012.bmp new file mode 100644 index 0000000..f0e5a26 Binary files /dev/null and b/SD/image/1012.bmp differ diff --git a/SD/image/1013.bmp b/SD/image/1013.bmp new file mode 100644 index 0000000..57e0f53 Binary files /dev/null and b/SD/image/1013.bmp differ diff --git a/SD/image/1014.bmp b/SD/image/1014.bmp new file mode 100644 index 0000000..5192ec6 Binary files /dev/null and b/SD/image/1014.bmp differ diff --git a/SD/image/1015.bmp b/SD/image/1015.bmp new file mode 100644 index 0000000..602efa0 Binary files /dev/null and b/SD/image/1015.bmp differ diff --git a/SD/image/1016.bmp b/SD/image/1016.bmp new file mode 100644 index 0000000..33dc872 Binary files /dev/null and b/SD/image/1016.bmp differ diff --git a/SD/image/1017.bmp b/SD/image/1017.bmp new file mode 100644 index 0000000..6cb8ffc Binary files /dev/null and b/SD/image/1017.bmp differ diff --git a/SD/image/2.bmp b/SD/image/2.bmp new file mode 100644 index 0000000..adec170 Binary files /dev/null and b/SD/image/2.bmp differ diff --git a/SD/image/3.bmp b/SD/image/3.bmp new file mode 100644 index 0000000..5d773a0 Binary files /dev/null and b/SD/image/3.bmp differ diff --git a/SD/image/4.bmp b/SD/image/4.bmp new file mode 100644 index 0000000..9c4b7a9 Binary files /dev/null and b/SD/image/4.bmp differ diff --git a/SD/image/5.bmp b/SD/image/5.bmp new file mode 100644 index 0000000..221cad4 Binary files /dev/null and b/SD/image/5.bmp differ diff --git a/SD/image/6.bmp b/SD/image/6.bmp new file mode 100644 index 0000000..faf3866 Binary files /dev/null and b/SD/image/6.bmp differ diff --git a/SD/image/7.bmp b/SD/image/7.bmp new file mode 100644 index 0000000..403fee1 Binary files /dev/null and b/SD/image/7.bmp differ diff --git a/SD/image/8.bmp b/SD/image/8.bmp new file mode 100644 index 0000000..927cda9 Binary files /dev/null and b/SD/image/8.bmp differ diff --git a/SD/image/9.bmp b/SD/image/9.bmp new file mode 100644 index 0000000..10f3589 Binary files /dev/null and b/SD/image/9.bmp differ diff --git a/SD/image/image.md b/SD/image/image.md new file mode 100644 index 0000000..96227a1 --- /dev/null +++ b/SD/image/image.md @@ -0,0 +1,64 @@ +# 1001.bmp Image Characteristics + +- **File Name:** 1001.bmp +- **Location:** SD/image/1001.bmp +- **Format:** Windows 3.x BMP (BMP3) +- **Dimensions:** 190 x 40 pixels +- **Color Depth:** 24-bit (8-bit per channel, sRGB) +- **Image Size:** 22,934 bytes +- **Resolution:** 2834 x 2834 pixels/meter +- **Data Offset:** 54 bytes (header size) + +This image is suitable for use with ESP32 projects that support 24-bit BMP files. For optimal performance on microcontrollers, consider converting to a raw or 16-bit (RGB565) format if needed by your display library. + +# Converting + +For ESP32 with ILIxxx displays, storing images as uncompressed 24-bit BMP (like your current 1001.bmp) is convenient if your display library supports BMP decoding and you have enough storage and RAM. However, for best performance and efficiency, especially on microcontrollers, the most common and recommended format is: + +Raw RGB565 (16-bit) format: This matches the color format of most ILIxxx displays, is fast to load, and uses less space than 24-bit BMP. +Why RGB565 Raw is Better: +Directly compatible with ILIxxx displays (no conversion needed at runtime). +Smaller file size (190 × 40 × 2 bytes = 15,200 bytes). + +Fastest to read and display. + +# How to Convert a Photo or Image: + +## Resize and Crop: + +Use an image editor (GIMP, Photoshop, or free online tools) to resize your image to 190x40 pixels. +Crop as needed to fit the aspect ratio. +## Convert to RGB565 Raw: + +Use a tool or script to convert the image to RGB565 format. +Save as a .raw or .bin file (not BMP, not compressed). + +## Copy to SD Card: + +Place the .raw file on your SD card. +Read and display it directly using your ESP32 code. + +## Example Conversion Tools: + +**GIMP**: Export as RGB565 using a plugin or export as raw data. +Python script: Use PIL (Pillow) to convert and save as RGB565. +Online tools: Search for “image to RGB565 converter”. +If you want, I can provide a Python script to automate the conversion from any image to 190x40 RGB565 raw format. Let me know if you need this! + + +Your display uses an inverted BGR565 format (not standard RGB565), meaning: + +The color order is BGR (not RGB). +The 16-bit value is inverted: color = 0xFFFF - standard BGR565. +How to Convert an Image for Your Display +Convert the image to 16-bit BGR565 format. +Invert each 16-bit value (bitwise NOT or subtract from 0xFFFF). +Save as a .raw file (no header, just pixel data). +Can This Be Done in JavaScript (Browser)? +Yes! You can: + +Use an HTML to load, resize, and crop the image. +Read pixel data with getImageData. +Convert each pixel to BGR565, invert it, and write to a binary buffer. +Offer the result as a downloadable .raw file. +Would you like a ready-to-use JavaScript/HTML tool for this? I can provide a complete example you can run in your browser. diff --git a/SD/image/logo.bmp b/SD/image/logo.bmp new file mode 100644 index 0000000..2d02932 Binary files /dev/null and b/SD/image/logo.bmp differ diff --git a/SD/index.html b/SD/index.html new file mode 100644 index 0000000..052a117 --- /dev/null +++ b/SD/index.html @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/SD/js/bgr565.js b/SD/js/bgr565.js new file mode 100644 index 0000000..230f87d --- /dev/null +++ b/SD/js/bgr565.js @@ -0,0 +1,49 @@ +document.getElementById('convertBtn').onclick = function() { + const fileInput = document.getElementById('imageInput'); + const width = parseInt(document.getElementById('width').value, 10); + const height = parseInt(document.getElementById('height').value, 10); + if (!fileInput.files.length) { + alert('Please select an image file.'); + return; + } + const file = fileInput.files[0]; + const reader = new FileReader(); + reader.onload = function(e) { + const img = new Image(); + img.onload = function() { + const canvas = document.getElementById('canvas'); + canvas.width = width; + canvas.height = height; + const ctx = canvas.getContext('2d'); + ctx.clearRect(0, 0, width, height); + ctx.drawImage(img, 0, 0, width, height); + // Preview + document.getElementById('preview').innerHTML = ''; + const previewImg = new Image(); + previewImg.src = canvas.toDataURL(); + document.getElementById('preview').appendChild(previewImg); + // Get pixel data + const imageData = ctx.getImageData(0, 0, width, height).data; + const buf = new Uint8Array(width * height * 2); + for (let i = 0, j = 0; i < imageData.length; i += 4, j += 2) { + let r = imageData[i]; + let g = imageData[i+1]; + let b = imageData[i+2]; + // Convert to BGR565 + let bgr565 = ((b & 0xF8) << 8) | ((g & 0xFC) << 3) | (r >> 3); + // Invert + bgr565 = 0xFFFF - bgr565; + buf[j] = bgr565 & 0xFF; + buf[j+1] = (bgr565 >> 8) & 0xFF; + } + // Download + const blob = new Blob([buf], {type: 'application/octet-stream'}); + const a = document.createElement('a'); + a.href = URL.createObjectURL(blob); + a.download = file.name.replace(/\.[^.]+$/, '') + `_${width}x${height}_bgr565inv.raw`; + a.click(); + }; + img.src = e.target.result; + }; + reader.readAsDataURL(file); +}; diff --git a/SD/js/loco.js b/SD/js/loco.js new file mode 100644 index 0000000..1a592a3 --- /dev/null +++ b/SD/js/loco.js @@ -0,0 +1,184 @@ + +changelanguage(); + +// Check for Web Browser API support. +if (window.File && window.FileReader && window.FileList && window.Blob) { +} else { + alert("File APIs are not fully supported in this browser."); +} + +function saveTextAsFile() +{ + var textToSave = document.getElementById("inputTextToSave").value; + var textToSaveAsBlob = new Blob([textToSave], {type:"text/plain"}); + var textToSaveAsURL = window.URL.createObjectURL(textToSaveAsBlob); + var fileNameToSaveAs = document.getElementById("inputFileNameToSaveAs").value; + fileNameToSaveAs = fileNameToSaveAs + ".csv"; + + var downloadLink = document.createElement("a"); + downloadLink.download = fileNameToSaveAs; + downloadLink.innerHTML = "Download File"; + downloadLink.href = textToSaveAsURL; + downloadLink.onclick = destroyClickedElement; + downloadLink.style.display = "none"; + document.body.appendChild(downloadLink); + + downloadLink.click(); +} + +function destroyClickedElement(event) +{ + document.body.removeChild(event.target); +} + + function parseCSV() +{ + var iconName; + var funcName; + var iconSel; + var textToSave = document.getElementById("inputTextToSave"); + var textCSV = textToSave.value; + var lines = textCSV.split("\n"); + var information = lines[1].split(";"); + var field = document.getElementById("NameLoco"); + field.value = information[0]; + field = document.getElementById("NumImage"); + field.value = information[1]; + field = document.getElementById("SpeedMax"); + field.value = information[2]; + for (let i = 0; i < 29; i++) { + iconName = "iconID" + information[3 + i]; + funcName = "F" + i; + iconSel = document.getElementById(funcName); + iconSel.className = iconName; + } + var imgSrc = document.getElementById("imageToShow"); + imgSrc.src = "image/" + information[1] + ".bmp"; +} + + +function loadFileAsText() +{ + var fileToLoad = document.getElementById("fileToLoad").files[0]; + var loco = document.getElementById("NumLoco"); + var locoFileName = fileToLoad.name.split("."); + loco.value = locoFileName[0]; + + var fileReader = new FileReader(); + fileReader.onload = function(fileLoadedEvent) + { + var textFromFileLoaded = fileLoadedEvent.target.result; + document.getElementById("inputTextToSave").value = textFromFileLoaded; + }; + fileReader.onloadend = function(progressEvent) + { + parseCSV(); + } + fileReader.readAsText(fileToLoad, "UTF-8"); + hideInstrucctions(); +} + +function loadFileAsImage() +{ + var imgSrc = document.getElementById("imageToShow"); + var imgNum = document.getElementById("NumImage"); + var fileToLoad = document.getElementById("imageToLoad").files[0]; + var imgFileName = fileToLoad.name.split("."); + imgNum.value = imgFileName[0]; + imgSrc.src = "image/" + imgFileName[0] + ".bmp"; + + hideInstrucctions(); +} + +function changeImageLoco() +{ + var imgNum = document.getElementById("NumImage"); + var imgSrc = document.getElementById("imageToShow"); + imgSrc.src = "image/" + imgNum.value + ".bmp"; +} + + +function changelanguage() +{ + const languageSelect = document.getElementById('language-select'); + elements = document.querySelectorAll(`span[lang]`); + for (let element of elements) { + element.style.display = 'none'; + } + var x = languageSelect.selectedIndex; + if (x==0) {elements = document.querySelectorAll(`span[lang="en"]`);} + if (x==1) {elements = document.querySelectorAll(`span[lang="es"]`);} + if (x==2) {elements = document.querySelectorAll(`span[lang="de"]`);} + if (x==3) {elements = document.querySelectorAll(`span[lang="ca"]`); } + for (let i = 0; i < elements.length; i++) { + elements[i].style.display = 'inline-block'; + } +}; + +function selectIcon(value) +{ + var allIcon = document.getElementById('iconAll'); + allIcon.style.display = 'block'; + var funcNum = document.getElementById('NumFunc'); + funcNum.value = value; + var iconFunc = document.getElementById('Fx'); + const iconText = "F" + value; + iconFunc.innerHTML = iconText; +} + + +function updateIcon(value) +{ + var funcNum = document.getElementById('NumFunc'); + const iconName = "iconID" + value; + const funcName = "F" + funcNum.value; + var iconSel = document.getElementById(funcName); + iconSel.className = iconName; + var allIcon = document.getElementById('iconAll'); + allIcon.style.display = 'none'; + hideInstrucctions(); +} + +function hideInstrucctions() +{ + var showIns = document.getElementById('instruc'); + showIns.style.display = 'none'; +} + +function createTextCSV() +{ + var fileNameToSaveAs = document.getElementById("inputFileNameToSaveAs") + var textToSave = document.getElementById("inputTextToSave"); + var textCSV = "Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28\n"; + var loco = document.getElementById("NumLoco"); + var field = document.getElementById("NameLoco"); + var funcName; + var iconSel; + if (loco.value != "") { + textCSV = textCSV + field.value; + field = document.getElementById("NumImage"); + if (field.value == "") + field.value = "0"; + textCSV = textCSV + ";" + field.value; + field = document.getElementById("SpeedMax"); + if (field.value == "") + field.value = "100"; + textCSV = textCSV + ";" + field.value ; + + for (let i = 0; i < 29; i++) { + funcName = "F" + i; + iconSel = document.getElementById(funcName).className.split("iconID"); + iconSel = iconSel[1]; + textCSV = textCSV + ";" + iconSel ; + } + textCSV = textCSV + "\n" + textToSave.value = textCSV; + fileNameToSaveAs.value = loco.value; + saveTextAsFile(); + field = document.getElementById('instruc'); + field.style.display = 'block'; + } +} + + + \ No newline at end of file diff --git a/SD/loco/15.csv b/SD/loco/15.csv new file mode 100644 index 0000000..6fe8923 --- /dev/null +++ b/SD/loco/15.csv @@ -0,0 +1,2 @@ +Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28 +Ce 6/8 III;1012;75;3;6;16;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2 diff --git a/SD/loco/2000.csv b/SD/loco/2000.csv new file mode 100644 index 0000000..0945aaf --- /dev/null +++ b/SD/loco/2000.csv @@ -0,0 +1,2 @@ +Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28 +Talgo;1006;160;3;6;17;9;10;14;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2 diff --git a/SD/loco/242.csv b/SD/loco/242.csv new file mode 100644 index 0000000..d43556e --- /dev/null +++ b/SD/loco/242.csv @@ -0,0 +1,2 @@ +Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28 +242F-2209;1008;100;3;6;17;9;10;15;7;8;20;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2 diff --git a/SD/loco/252.csv b/SD/loco/252.csv new file mode 100644 index 0000000..e4c61f4 --- /dev/null +++ b/SD/loco/252.csv @@ -0,0 +1,2 @@ +Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28 +252 Altaria;1009;140;3;6;17;9;10;15;7;8;20;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2 diff --git a/SD/loco/3.csv b/SD/loco/3.csv new file mode 100644 index 0000000..22dda69 --- /dev/null +++ b/SD/loco/3.csv @@ -0,0 +1,2 @@ +Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28 +Platanito;1004;120;3;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2 diff --git a/SD/loco/319.csv b/SD/loco/319.csv new file mode 100644 index 0000000..7d20600 --- /dev/null +++ b/SD/loco/319.csv @@ -0,0 +1,2 @@ +Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28 +319-309 Taxi;1003;120;3;6;17;10;9;4;5;8;14;15;20;12;15;16;18;19;2;13;11;2;2;2;2;2;2;2;2;2;2 diff --git a/SD/loco/321.csv b/SD/loco/321.csv new file mode 100644 index 0000000..3ea3288 --- /dev/null +++ b/SD/loco/321.csv @@ -0,0 +1,2 @@ +Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28 +321 025-9 Taxi;1017;120;3;6;16;17;14;5;33;32;30;6;16;36;26;26;23;28;29;6;6;9;19;2;2;2;2;2;2;2;2 diff --git a/SD/loco/4.csv b/SD/loco/4.csv new file mode 100644 index 0000000..05601ec --- /dev/null +++ b/SD/loco/4.csv @@ -0,0 +1,2 @@ +Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28 +Vapor 003;1001;80;3;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2 diff --git a/SD/loco/5.csv b/SD/loco/5.csv new file mode 100644 index 0000000..7745436 --- /dev/null +++ b/SD/loco/5.csv @@ -0,0 +1,2 @@ +Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28 +269 Cercanias;1000;140;3;2;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;2;2;2;2;2;2;2;2;2;2 diff --git a/SD/loco/6.csv b/SD/loco/6.csv new file mode 100644 index 0000000..a9d959a --- /dev/null +++ b/SD/loco/6.csv @@ -0,0 +1,2 @@ +Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28 +Camello Cercan.;1005;140;3;4;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2 diff --git a/SD/loco/79.csv b/SD/loco/79.csv new file mode 100644 index 0000000..21923a3 --- /dev/null +++ b/SD/loco/79.csv @@ -0,0 +1,2 @@ +Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28 +Mikado;1002;80;3;2;4;6;8;10;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2 diff --git a/SD/loco/99.csv b/SD/loco/99.csv new file mode 100644 index 0000000..4771768 --- /dev/null +++ b/SD/loco/99.csv @@ -0,0 +1,2 @@ +Name;Image;Vmax;F0;F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28 +Villacanas;1007;85;3;4;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 diff --git a/SD/loco/loco.md b/SD/loco/loco.md new file mode 100644 index 0000000..0071b06 --- /dev/null +++ b/SD/loco/loco.md @@ -0,0 +1,31 @@ +From an ESP32 perspective, replacing .csv files with .yaml files for rarely loaded configuration is not costly in terms of performance or memory, as long as: + +The YAML files are not excessively large. +You use a lightweight YAML parser (such as arduino-yaml or a minimal C++ YAML parser). +Configuration is only loaded occasionally (not in a tight loop). +Pros of YAML: + +More readable and maintainable for complex or nested data. +Supports comments and richer data structures. +Cons: + +Slightly more code and memory required for parsing compared to simple CSV. +Fewer lightweight YAML parsers available for microcontrollers than CSV/token-based parsing. +Summary: +If your configuration is not huge and is only loaded at startup or on demand, switching to YAML is reasonable and will not significantly impact ESP32 performance or memory usage. Just choose a minimal YAML parser suitable for embedded systems. + +So format will be + +```yaml +Name: "Loco name" +Image: "File name" +Vmax: +Functions: + F0: + F1: + F2: +... + F28: +Decoder: + Brand: +``` diff --git a/UsingDocker.md b/UsingDocker.md new file mode 100644 index 0000000..7a46527 --- /dev/null +++ b/UsingDocker.md @@ -0,0 +1,71 @@ +# Using PlatformIO with Docker and VS Code for ESP32 Development + +This guide explains how to set up a workflow where: +- VS Code is installed on your local workstation. +- Source code and PlatformIO are inside a Docker container running on a remote machine. +- The ESP32 device is physically connected to your local computer. + +## Is this possible? +Yes, it is possible! You can develop for ESP32 using PlatformIO in Docker on a remote machine, while connecting the ESP32 board to your local workstation. The key is to forward the ESP32's serial port from your local machine to the Docker container on the remote machine. + +## Steps to Set Up + +### 1. Prepare Your Remote Machine +- Ensure Docker is installed and running on the remote machine. +- Clone your project repository (with PlatformIO sources) to the remote machine. + +### 2. Create a Docker Image with PlatformIO +- Use a Dockerfile (see `.devcontainer/Dockerfile` or create your own) that installs PlatformIO CLI and any required dependencies. +- Build the Docker image: + ```sh + docker build -t platformio-dev . + ``` + +### 3. Share Source Code +- Mount your project directory into the Docker container using Docker volumes: + ```sh + docker run -it --name pio-dev -v /path/to/project:/workspace easylinux/platformio-dev:1.0 + ``` + +### 4. Forward the ESP32 Serial Port +- **Option 1: Use `socat` to forward the serial port over SSH** + - On your local machine, install `socat`. + - Find your ESP32 serial device (e.g., `/dev/ttyUSB0`). + - Forward the serial port to the remote machine: + ```sh + socat TCP-LISTEN:12345,reuseaddr,fork FILE:/dev/ttyUSB0,raw,echo=0 + ``` + - On the remote machine (in Docker or before entering the container), forward the TCP port to a virtual serial device: + ```sh + socat -d -d PTY,link=/tmp/ttyESP32,raw TCP:your.local.ip.address:12345 + ``` + - In PlatformIO, use `/tmp/ttyESP32` as the upload port. + +- **Option 2: Use VS Code Remote Development** + - Use the "Remote - SSH" extension to open the remote folder in VS Code. + - Use the "Remote - Containers" extension to develop inside the Docker container. + - Use the "Serial Port Forwarding" feature (if available) to forward the ESP32 port. + +### 5. Configure PlatformIO +- In your `platformio.ini`, set the upload port to the forwarded device (e.g., `/tmp/ttyESP32`). +- Example: + ```ini + upload_port = /tmp/ttyESP32 + ``` + +### 6. Develop and Upload +- Edit code in VS Code (locally or via remote extensions). +- Build and upload firmware using PlatformIO in Docker. + +## Notes +- Serial port forwarding may introduce some latency. +- For debugging, ensure the forwarded port supports bidirectional communication. +- You may need to adjust permissions for the serial device. + +## References +- [PlatformIO Docs: Remote Development](https://docs.platformio.org/en/latest/plus/pio-remote.html) +- [VS Code Remote Development](https://code.visualstudio.com/docs/remote/remote-overview) +- [Socat Serial Port Forwarding](https://stackoverflow.com/questions/39636742/forward-serial-port-over-tcp) + +--- +This setup allows you to keep your development environment and sources on a remote machine, while still programming and debugging your ESP32 connected locally. \ No newline at end of file diff --git a/include/FreeSans7pt7b.h b/include/FreeSans7pt7b.h new file mode 100644 index 0000000..b6859c8 --- /dev/null +++ b/include/FreeSans7pt7b.h @@ -0,0 +1,164 @@ +/* 7pt font https://rop.nl/truetype2gfx/ */ + +const uint8_t FreeSans7pt7bBitmaps[] = { + 0x00, 0xFF, 0x40, 0xB6, 0xD0, 0x12, 0x28, 0xD3, 0xF2, 0x44, 0xBF, 0x94, + 0x48, 0x90, 0x10, 0x71, 0x52, 0x95, 0x0E, 0x07, 0x09, 0xD2, 0xA5, 0xF0, + 0x81, 0x00, 0x00, 0x87, 0x88, 0x89, 0x08, 0x90, 0x72, 0x00, 0x00, 0x04, + 0xE0, 0x91, 0x09, 0x11, 0x0E, 0x30, 0x48, 0x48, 0x48, 0x30, 0x52, 0x9A, + 0x8C, 0x8E, 0xFA, 0xF0, 0x29, 0x49, 0x24, 0x99, 0x22, 0x91, 0x24, 0x9A, + 0x49, 0x48, 0x4F, 0x4A, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0xD8, 0xE0, + 0xC0, 0x10, 0x22, 0x04, 0x44, 0x88, 0x33, 0x68, 0xE1, 0x86, 0x18, 0x61, + 0x89, 0xE0, 0x13, 0xF1, 0x11, 0x11, 0x11, 0x18, 0xCD, 0x0A, 0x10, 0x61, + 0x8C, 0x30, 0x40, 0xFC, 0x38, 0xC9, 0x18, 0x31, 0xC3, 0x80, 0xE1, 0x46, + 0xF8, 0x04, 0x18, 0x71, 0xE2, 0xC9, 0xB3, 0x7F, 0x0C, 0x18, 0x7E, 0x81, + 0x02, 0x07, 0xC8, 0xC0, 0x81, 0x46, 0xF8, 0x31, 0x28, 0x60, 0xFB, 0x38, + 0x61, 0x8D, 0xE0, 0xFC, 0x10, 0x82, 0x10, 0xC2, 0x08, 0x61, 0x00, 0x18, + 0xC9, 0x1A, 0x33, 0xCD, 0x90, 0xA1, 0x46, 0xF8, 0x73, 0x68, 0xE1, 0x8F, + 0x72, 0x43, 0x8B, 0xE0, 0xC0, 0x0C, 0x40, 0x0D, 0xC0, 0x00, 0x33, 0x30, + 0xE0, 0xE0, 0x40, 0xFC, 0x00, 0x00, 0x03, 0x03, 0x03, 0x1D, 0xC8, 0x00, + 0x7B, 0x38, 0x43, 0x18, 0x43, 0x00, 0x00, 0xC0, 0x0F, 0xC0, 0xC3, 0x08, + 0x04, 0x8E, 0xB4, 0xCC, 0xA4, 0x47, 0x22, 0x29, 0x12, 0x4E, 0xE3, 0x00, + 0x0E, 0x00, 0x1F, 0x00, 0x0C, 0x0E, 0x05, 0x02, 0xC2, 0x21, 0x11, 0xFC, + 0x82, 0x41, 0x60, 0xC0, 0xFC, 0x86, 0x82, 0x82, 0xFC, 0x86, 0x82, 0x83, + 0x82, 0xFC, 0x3E, 0x43, 0xC1, 0x80, 0x80, 0x80, 0x81, 0x81, 0x43, 0x7E, + 0xFC, 0xC6, 0xC3, 0xC1, 0xC1, 0xC1, 0xC1, 0xC3, 0xC6, 0xFC, 0xFF, 0x83, + 0x06, 0x0F, 0xF8, 0x30, 0x60, 0xC1, 0xFC, 0xFF, 0x83, 0x06, 0x0F, 0xD8, + 0x30, 0x60, 0xC1, 0x80, 0x3E, 0x21, 0xB0, 0x50, 0x08, 0x04, 0x3E, 0x03, + 0x03, 0x41, 0x9F, 0x40, 0x81, 0x81, 0x81, 0x81, 0xFF, 0x81, 0x81, 0x81, + 0x81, 0x81, 0xFF, 0xFF, 0xF0, 0x04, 0x10, 0x41, 0x04, 0x10, 0x71, 0xCD, + 0xE0, 0x82, 0x84, 0x88, 0x90, 0xB0, 0xD8, 0x8C, 0x84, 0x86, 0x83, 0x82, + 0x08, 0x20, 0x82, 0x08, 0x20, 0x83, 0xF0, 0xC1, 0xE0, 0xE8, 0x74, 0x7A, + 0x2C, 0x96, 0x5B, 0x29, 0x8C, 0xC6, 0x40, 0xC1, 0xC1, 0xA1, 0xB1, 0x91, + 0x89, 0x8D, 0x85, 0x87, 0x83, 0x3E, 0x21, 0xA0, 0x70, 0x18, 0x0C, 0x06, + 0x03, 0x03, 0x43, 0x1F, 0x00, 0xFD, 0x8F, 0x0E, 0x1C, 0x7F, 0xB0, 0x60, + 0xC1, 0x80, 0x3E, 0x21, 0xA0, 0x70, 0x18, 0x0C, 0x06, 0x03, 0x0B, 0x43, + 0x1F, 0x80, 0x20, 0xFE, 0xC3, 0xC1, 0xC1, 0xC6, 0xFE, 0xC3, 0xC3, 0xC3, + 0xC1, 0x7C, 0xC6, 0x82, 0xC0, 0x70, 0x1E, 0x02, 0x83, 0xC2, 0x7C, 0xFF, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x81, 0x81, 0x81, + 0x81, 0x81, 0x81, 0x81, 0x81, 0xC3, 0x7E, 0x41, 0xA0, 0x98, 0x44, 0x62, + 0x21, 0x90, 0x58, 0x28, 0x1C, 0x06, 0x00, 0xC2, 0x1A, 0x38, 0x91, 0x44, + 0xCA, 0x26, 0x53, 0x14, 0x50, 0xA2, 0x85, 0x14, 0x38, 0xE0, 0x82, 0x00, + 0x41, 0x11, 0x8C, 0x82, 0x80, 0xC0, 0xE0, 0x50, 0x44, 0x63, 0x20, 0xC0, + 0xC1, 0xB0, 0x88, 0xC6, 0xC1, 0x40, 0x60, 0x20, 0x10, 0x08, 0x04, 0x00, + 0x7F, 0x03, 0x06, 0x04, 0x08, 0x18, 0x30, 0x60, 0x40, 0xFF, 0xEA, 0xAA, + 0xAA, 0xC0, 0x88, 0x04, 0x40, 0x22, 0x01, 0xE4, 0x92, 0x49, 0x24, 0x9E, + 0x23, 0x15, 0x29, 0x00, 0x00, 0x44, 0xFA, 0x20, 0xBE, 0x8A, 0x2F, 0xC0, + 0x82, 0x08, 0x3E, 0x8E, 0x18, 0x61, 0x8F, 0xE0, 0x7C, 0x89, 0x06, 0x0C, + 0x08, 0x9F, 0x00, 0x02, 0x04, 0x0B, 0xD4, 0x78, 0x70, 0xE1, 0x46, 0xF4, + 0x7A, 0x38, 0x7F, 0x82, 0x37, 0x80, 0x34, 0x4F, 0x44, 0x44, 0x44, 0x7A, + 0x8F, 0x1E, 0x1C, 0x68, 0xDE, 0x83, 0x44, 0x70, 0x82, 0x08, 0x3E, 0x8E, + 0x18, 0x61, 0x86, 0x10, 0x9F, 0xC0, 0x41, 0x55, 0x55, 0xC0, 0x82, 0x08, + 0x26, 0xB3, 0x8F, 0x24, 0x8A, 0x30, 0xFF, 0xC0, 0xFF, 0xC6, 0x62, 0x31, + 0x18, 0x8C, 0x46, 0x22, 0xFA, 0x38, 0x61, 0x86, 0x18, 0x40, 0x7C, 0x8D, + 0x0E, 0x14, 0x28, 0xCF, 0x00, 0xFA, 0x38, 0x61, 0x86, 0x3F, 0xA0, 0x82, + 0x00, 0x7E, 0x8F, 0x0E, 0x1C, 0x28, 0xDE, 0x81, 0x02, 0x04, 0xFA, 0x49, + 0x20, 0x7D, 0x14, 0x0E, 0x05, 0x17, 0xC0, 0x4B, 0xA4, 0x92, 0x60, 0x8E, + 0x38, 0xE3, 0x8E, 0x3F, 0x40, 0xC4, 0x89, 0x33, 0x42, 0x86, 0x0C, 0x00, + 0xCC, 0xD3, 0x24, 0xC9, 0x5E, 0x73, 0x0C, 0xC3, 0x30, 0x44, 0xA3, 0x84, + 0x29, 0xA4, 0x40, 0x44, 0x89, 0x31, 0x42, 0x86, 0x04, 0x08, 0x20, 0xC0, + 0x7C, 0x31, 0x8C, 0x21, 0x0F, 0xC0, 0x69, 0x25, 0xA6, 0x49, 0x26, 0xFF, + 0xF8, 0xC6, 0x66, 0x22, 0x12, 0x26, 0x66, 0xC0, 0xE6, 0x70 }; + +const GFXglyph FreeSans7pt7bGlyphs[] PROGMEM = { + { 0, 1, 1, 4, 0, 0 }, // 0x20 ' ' + { 1, 1, 10, 4, 2, -9 }, // 0x21 '!' + { 3, 3, 4, 5, 1, -9 }, // 0x22 '"' + { 5, 7, 10, 8, 0, -9 }, // 0x23 '#' + { 14, 7, 13, 8, 0, -10 }, // 0x24 '$' + { 26, 12, 10, 12, 0, -9 }, // 0x25 '%' + { 41, 8, 10, 9, 1, -9 }, // 0x26 '&' + { 51, 1, 4, 3, 1, -9 }, // 0x27 ''' + { 52, 3, 13, 5, 1, -9 }, // 0x28 '(' + { 57, 3, 13, 5, 1, -9 }, // 0x29 ')' + { 62, 4, 4, 5, 1, -9 }, // 0x2A '*' + { 64, 6, 7, 8, 1, -6 }, // 0x2B '+' + { 70, 2, 3, 4, 1, 0 }, // 0x2C ',' + { 71, 3, 1, 5, 1, -3 }, // 0x2D '-' + { 72, 2, 1, 4, 1, 0 }, // 0x2E '.' + { 73, 4, 10, 4, 0, -9 }, // 0x2F '/' + { 78, 6, 10, 8, 1, -9 }, // 0x30 '0' + { 86, 4, 10, 8, 1, -9 }, // 0x31 '1' + { 91, 7, 10, 8, 0, -9 }, // 0x32 '2' + { 100, 7, 10, 8, 0, -9 }, // 0x33 '3' + { 109, 7, 10, 8, 0, -9 }, // 0x34 '4' + { 118, 7, 10, 8, 0, -9 }, // 0x35 '5' + { 127, 6, 10, 8, 1, -9 }, // 0x36 '6' + { 135, 6, 10, 8, 1, -9 }, // 0x37 '7' + { 143, 7, 10, 8, 0, -9 }, // 0x38 '8' + { 152, 6, 10, 8, 1, -9 }, // 0x39 '9' + { 160, 2, 7, 4, 1, -6 }, // 0x3A ':' + { 162, 2, 9, 4, 1, -6 }, // 0x3B ';' + { 165, 6, 7, 8, 1, -6 }, // 0x3C '<' + { 171, 6, 3, 8, 1, -4 }, // 0x3D '=' + { 174, 6, 7, 8, 1, -6 }, // 0x3E '>' + { 180, 6, 10, 8, 1, -9 }, // 0x3F '?' + { 188, 13, 12, 14, 0, -9 }, // 0x40 '@' + { 208, 9, 10, 9, 0, -9 }, // 0x41 'A' + { 220, 8, 10, 9, 1, -9 }, // 0x42 'B' + { 230, 8, 10, 10, 1, -9 }, // 0x43 'C' + { 240, 8, 10, 10, 1, -9 }, // 0x44 'D' + { 250, 7, 10, 9, 1, -9 }, // 0x45 'E' + { 259, 7, 10, 8, 1, -9 }, // 0x46 'F' + { 268, 9, 10, 11, 1, -9 }, // 0x47 'G' + { 280, 8, 10, 10, 1, -9 }, // 0x48 'H' + { 290, 2, 10, 4, 1, -9 }, // 0x49 'I' + { 293, 6, 10, 7, 0, -9 }, // 0x4A 'J' + { 301, 8, 10, 9, 1, -9 }, // 0x4B 'K' + { 311, 6, 10, 8, 1, -9 }, // 0x4C 'L' + { 319, 9, 10, 11, 1, -9 }, // 0x4D 'M' + { 331, 8, 10, 10, 1, -9 }, // 0x4E 'N' + { 341, 9, 10, 11, 1, -9 }, // 0x4F 'O' + { 353, 7, 10, 9, 1, -9 }, // 0x50 'P' + { 362, 9, 11, 11, 1, -9 }, // 0x51 'Q' + { 375, 8, 10, 10, 1, -9 }, // 0x52 'R' + { 385, 8, 10, 9, 1, -9 }, // 0x53 'S' + { 395, 8, 10, 8, 0, -9 }, // 0x54 'T' + { 405, 8, 10, 10, 1, -9 }, // 0x55 'U' + { 415, 9, 10, 9, 0, -9 }, // 0x56 'V' + { 427, 13, 10, 13, 0, -9 }, // 0x57 'W' + { 444, 9, 10, 9, 0, -9 }, // 0x58 'X' + { 456, 9, 10, 9, 0, -9 }, // 0x59 'Y' + { 468, 8, 10, 8, 0, -9 }, // 0x5A 'Z' + { 478, 2, 13, 4, 1, -9 }, // 0x5B '[' + { 482, 4, 10, 4, 0, -9 }, // 0x5C '\' + { 487, 3, 13, 4, 0, -9 }, // 0x5D ']' + { 492, 5, 5, 6, 1, -9 }, // 0x5E '^' + { 496, 8, 1, 8, 0, 3 }, // 0x5F '_' + { 497, 3, 2, 5, 0, -9 }, // 0x60 '`' + { 498, 6, 7, 8, 1, -6 }, // 0x61 'a' + { 504, 6, 10, 8, 1, -9 }, // 0x62 'b' + { 512, 7, 7, 7, 0, -6 }, // 0x63 'c' + { 519, 7, 10, 8, 0, -9 }, // 0x64 'd' + { 528, 6, 7, 8, 1, -6 }, // 0x65 'e' + { 534, 4, 10, 4, 0, -9 }, // 0x66 'f' + { 539, 7, 10, 8, 0, -6 }, // 0x67 'g' + { 548, 6, 10, 8, 1, -9 }, // 0x68 'h' + { 556, 1, 10, 3, 1, -9 }, // 0x69 'i' + { 558, 2, 13, 3, 0, -9 }, // 0x6A 'j' + { 562, 6, 10, 7, 1, -9 }, // 0x6B 'k' + { 570, 1, 10, 3, 1, -9 }, // 0x6C 'l' + { 572, 9, 7, 11, 1, -6 }, // 0x6D 'm' + { 580, 6, 7, 8, 1, -6 }, // 0x6E 'n' + { 586, 7, 7, 8, 0, -6 }, // 0x6F 'o' + { 593, 6, 10, 8, 1, -6 }, // 0x70 'p' + { 601, 7, 10, 8, 0, -6 }, // 0x71 'q' + { 610, 3, 7, 5, 1, -6 }, // 0x72 'r' + { 613, 6, 7, 7, 0, -6 }, // 0x73 's' + { 619, 3, 9, 4, 0, -8 }, // 0x74 't' + { 623, 6, 7, 8, 1, -6 }, // 0x75 'u' + { 629, 7, 7, 7, 0, -6 }, // 0x76 'v' + { 636, 10, 7, 10, 0, -6 }, // 0x77 'w' + { 645, 6, 7, 7, 0, -6 }, // 0x78 'x' + { 651, 7, 10, 7, 0, -6 }, // 0x79 'y' + { 660, 6, 7, 7, 0, -6 }, // 0x7A 'z' + { 666, 3, 13, 5, 1, -9 }, // 0x7B '{' + { 671, 1, 13, 4, 1, -9 }, // 0x7C '|' + { 673, 4, 13, 5, 0, -9 }, // 0x7D '}' + { 680, 6, 2, 8, 1, -5 } }; // 0x7E '~' + +const GFXfont FreeSans7pt7b = { + (uint8_t *)FreeSans7pt7bBitmaps, + (GFXglyph *)FreeSans7pt7bGlyphs, + 0x20, 0x7E, 23 }; + +// Approx. 1354 bytes diff --git a/include/FreeSansBold6pt7b.h b/include/FreeSansBold6pt7b.h new file mode 100644 index 0000000..4501bea --- /dev/null +++ b/include/FreeSansBold6pt7b.h @@ -0,0 +1,153 @@ +/* 6pt font https://rop.nl/truetype2gfx/ */ + +const uint8_t FreeSansBold6pt7bBitmaps[] = { + 0x00, 0xFF, 0x57, 0xC0, 0xBB, 0x90, 0x2C, 0x5B, 0xFB, 0x44, 0x9F, 0x96, + 0x28, 0x11, 0xFD, 0xF4, 0x70, 0x71, 0x77, 0x7C, 0x40, 0x71, 0x36, 0x8D, + 0x81, 0xD0, 0x0B, 0xC2, 0x91, 0x24, 0x4F, 0x00, 0xF1, 0x63, 0x87, 0x1E, + 0xA7, 0x66, 0xFE, 0xE0, 0x32, 0x64, 0x4C, 0xC4, 0x46, 0x20, 0x89, 0x92, + 0x49, 0x69, 0x00, 0x2A, 0x65, 0x21, 0x09, 0xF2, 0x10, 0xF2, 0xFF, 0xF0, + 0x24, 0x24, 0x84, 0x01, 0xE4, 0xF3, 0xCF, 0x3C, 0xD3, 0x78, 0x3C, 0x92, + 0x49, 0x01, 0xF4, 0xF3, 0x0C, 0x66, 0x18, 0xFC, 0x01, 0xEC, 0xC3, 0x18, + 0x30, 0xF3, 0x78, 0x18, 0xA2, 0x92, 0xCB, 0xF0, 0x82, 0x7D, 0x05, 0x1F, + 0x0C, 0x3C, 0xDE, 0x01, 0xF4, 0xF0, 0xFF, 0x3C, 0x53, 0x78, 0xFC, 0x31, + 0x84, 0x30, 0xC2, 0x08, 0x01, 0xE4, 0xD3, 0x39, 0x3C, 0x73, 0x78, 0x01, + 0xEC, 0xF3, 0xCD, 0xF0, 0xD3, 0x78, 0xF0, 0xF0, 0xF0, 0xF7, 0x00, 0x77, + 0x30, 0x38, 0x10, 0xFF, 0xC1, 0xF0, 0x83, 0x81, 0xC3, 0x7B, 0x00, 0x73, + 0xE8, 0x82, 0x18, 0xC2, 0x0C, 0x30, 0x0F, 0x06, 0x18, 0x81, 0x27, 0x94, + 0x93, 0x22, 0x64, 0x4A, 0xFE, 0x60, 0x06, 0x20, 0x38, 0x00, 0x18, 0x1C, + 0x1C, 0x34, 0x36, 0x26, 0x7E, 0x63, 0xC3, 0xF9, 0xFB, 0x1E, 0x2F, 0x98, + 0xF1, 0xE7, 0xFC, 0x38, 0xFB, 0x1C, 0x08, 0x10, 0x31, 0xE3, 0x7C, 0xF1, + 0xFB, 0x1E, 0x3C, 0x78, 0xF1, 0xE6, 0xF8, 0xFF, 0xFC, 0x30, 0xFF, 0x0C, + 0x30, 0xFC, 0xFF, 0xFC, 0x30, 0xFB, 0x0C, 0x30, 0xC0, 0x1C, 0x3F, 0x63, + 0x40, 0x47, 0x47, 0x61, 0x73, 0x3F, 0xC7, 0x8F, 0x1E, 0x3F, 0xF8, 0xF1, + 0xE3, 0xC6, 0xFF, 0xFF, 0xC0, 0x0C, 0x30, 0xC3, 0x0C, 0x3C, 0xF3, 0x78, + 0xC7, 0x9B, 0x67, 0x8F, 0x1B, 0x36, 0x66, 0xC6, 0xC3, 0x0C, 0x30, 0xC3, + 0x0C, 0x30, 0xFC, 0xC7, 0xE7, 0xE7, 0xE7, 0xE7, 0xFF, 0xFB, 0xDB, 0xDB, + 0xC7, 0x8F, 0x9F, 0x3F, 0x7B, 0xF3, 0xE7, 0xC6, 0x1C, 0x1F, 0x98, 0xC8, + 0x3C, 0x1A, 0x0D, 0x84, 0xE6, 0x3E, 0x00, 0xF3, 0xFC, 0x71, 0xFF, 0xEC, + 0x30, 0xC0, 0x1C, 0x1F, 0x98, 0xC8, 0x34, 0x1A, 0x0D, 0x94, 0xE6, 0x3F, + 0x80, 0x00, 0xF9, 0xFF, 0x1E, 0x3F, 0xDF, 0xB1, 0xE3, 0xC6, 0x38, 0xFD, + 0x1B, 0x07, 0xC1, 0xF0, 0xB3, 0x7E, 0xFF, 0xFC, 0x60, 0xC1, 0x83, 0x06, + 0x0C, 0x18, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE6, 0x7C, 0xC3, 0x42, + 0x66, 0x66, 0x24, 0x3C, 0x3C, 0x18, 0x18, 0xC4, 0x79, 0xCD, 0x39, 0x35, + 0x66, 0xAC, 0x57, 0x8E, 0xE1, 0x8C, 0x31, 0x80, 0xC7, 0x66, 0x3C, 0x3C, + 0x18, 0x38, 0x3C, 0x66, 0x66, 0xC3, 0x66, 0x66, 0x3C, 0x3C, 0x18, 0x18, + 0x18, 0x18, 0xFF, 0xFC, 0x30, 0xE1, 0x86, 0x18, 0x60, 0xFE, 0xFE, 0x49, + 0x24, 0x93, 0x80, 0x91, 0x24, 0x49, 0xFC, 0x92, 0x49, 0x27, 0x80, 0x63, + 0x95, 0xB8, 0x80, 0xFE, 0x48, 0x7F, 0x33, 0xF3, 0xCD, 0xF0, 0x82, 0x08, + 0x3E, 0xCE, 0x38, 0xF2, 0xF8, 0x7D, 0x3C, 0x30, 0x4D, 0xE0, 0x04, 0x10, + 0x5F, 0x4F, 0x1C, 0x53, 0x7C, 0x7B, 0x3F, 0xF0, 0x4D, 0xE0, 0x37, 0x6F, + 0x66, 0x66, 0x60, 0x7D, 0x3C, 0x71, 0x6D, 0xF0, 0x5F, 0x10, 0x84, 0x21, + 0xFC, 0xC6, 0x31, 0x88, 0xDF, 0x80, 0x51, 0x55, 0x5F, 0x84, 0x21, 0x3B, + 0x73, 0xD3, 0x98, 0xFF, 0x80, 0xFF, 0x6C, 0xE6, 0x73, 0x39, 0x9C, 0xCC, + 0xFE, 0x63, 0x18, 0xC4, 0x7C, 0x8B, 0x1E, 0x36, 0x4F, 0x80, 0xFB, 0x38, + 0xE3, 0xCB, 0xE8, 0x20, 0x80, 0x7D, 0x3C, 0x71, 0x4D, 0xF0, 0x41, 0x04, + 0xBA, 0x49, 0x00, 0x7D, 0x37, 0x87, 0xCD, 0xF0, 0x66, 0xF6, 0x66, 0x67, + 0x8C, 0x63, 0x1D, 0xFC, 0xCD, 0x36, 0x8A, 0x38, 0xC0, 0xCD, 0xAE, 0x95, + 0x4E, 0xE7, 0x71, 0xB0, 0x6D, 0xE3, 0x0E, 0x69, 0x30, 0xCD, 0x36, 0x9A, + 0x38, 0xC3, 0x1C, 0x40, 0xF8, 0x63, 0x18, 0xC3, 0xF0, 0x37, 0x66, 0x6C, + 0x66, 0x66, 0x30, 0xFF, 0xE0, 0x99, 0x24, 0xDA, 0x4B, 0x00, 0xC5, 0xC0 }; + +const GFXglyph FreeSansBold6pt7bGlyphs[] PROGMEM = { + { 0, 1, 1, 3, 0, 0 }, // 0x20 ' ' + { 1, 2, 9, 4, 1, -8 }, // 0x21 '!' + { 4, 4, 3, 6, 1, -8 }, // 0x22 '"' + { 6, 7, 8, 7, 0, -7 }, // 0x23 '#' + { 13, 6, 10, 7, 0, -8 }, // 0x24 '$' + { 21, 10, 8, 10, 0, -7 }, // 0x25 '%' + { 31, 7, 9, 8, 1, -8 }, // 0x26 '&' + { 39, 1, 3, 3, 1, -8 }, // 0x27 ''' + { 40, 4, 11, 4, 0, -8 }, // 0x28 '(' + { 46, 3, 11, 4, 0, -8 }, // 0x29 ')' + { 51, 4, 4, 5, 0, -8 }, // 0x2A '*' + { 53, 5, 6, 7, 1, -5 }, // 0x2B '+' + { 57, 2, 4, 3, 1, -1 }, // 0x2C ',' + { 58, 4, 2, 4, 0, -3 }, // 0x2D '-' + { 59, 2, 2, 3, 1, -1 }, // 0x2E '.' + { 60, 3, 8, 3, 0, -7 }, // 0x2F '/' + { 63, 6, 9, 7, 0, -8 }, // 0x30 '0' + { 70, 3, 8, 7, 1, -7 }, // 0x31 '1' + { 73, 6, 9, 7, 0, -8 }, // 0x32 '2' + { 80, 6, 9, 7, 0, -8 }, // 0x33 '3' + { 87, 6, 8, 7, 0, -7 }, // 0x34 '4' + { 93, 6, 8, 7, 0, -7 }, // 0x35 '5' + { 99, 6, 9, 7, 0, -8 }, // 0x36 '6' + { 106, 6, 8, 7, 0, -7 }, // 0x37 '7' + { 112, 6, 9, 7, 0, -8 }, // 0x38 '8' + { 119, 6, 9, 7, 0, -8 }, // 0x39 '9' + { 126, 2, 6, 4, 1, -5 }, // 0x3A ':' + { 128, 2, 8, 4, 1, -5 }, // 0x3B ';' + { 130, 6, 6, 7, 0, -5 }, // 0x3C '<' + { 135, 5, 4, 7, 1, -4 }, // 0x3D '=' + { 138, 6, 6, 7, 0, -5 }, // 0x3E '>' + { 143, 6, 9, 7, 1, -8 }, // 0x3F '?' + { 150, 11, 11, 11, 0, -8 }, // 0x40 '@' + { 166, 8, 9, 8, 0, -8 }, // 0x41 'A' + { 175, 7, 9, 8, 1, -8 }, // 0x42 'B' + { 183, 7, 9, 8, 1, -8 }, // 0x43 'C' + { 191, 7, 9, 8, 1, -8 }, // 0x44 'D' + { 199, 6, 9, 8, 1, -8 }, // 0x45 'E' + { 206, 6, 9, 7, 1, -8 }, // 0x46 'F' + { 213, 8, 9, 9, 0, -8 }, // 0x47 'G' + { 222, 7, 9, 8, 1, -8 }, // 0x48 'H' + { 230, 2, 9, 3, 1, -8 }, // 0x49 'I' + { 233, 6, 9, 7, 0, -8 }, // 0x4A 'J' + { 240, 7, 9, 8, 1, -8 }, // 0x4B 'K' + { 248, 6, 9, 7, 1, -8 }, // 0x4C 'L' + { 255, 8, 9, 10, 1, -8 }, // 0x4D 'M' + { 264, 7, 9, 8, 1, -8 }, // 0x4E 'N' + { 272, 9, 9, 9, 0, -8 }, // 0x4F 'O' + { 283, 6, 9, 8, 1, -8 }, // 0x50 'P' + { 290, 9, 10, 9, 0, -8 }, // 0x51 'Q' + { 302, 7, 9, 8, 1, -8 }, // 0x52 'R' + { 310, 7, 9, 8, 0, -8 }, // 0x53 'S' + { 318, 7, 9, 7, 0, -8 }, // 0x54 'T' + { 326, 7, 9, 8, 1, -8 }, // 0x55 'U' + { 334, 8, 9, 8, 0, -8 }, // 0x56 'V' + { 343, 11, 9, 11, 0, -8 }, // 0x57 'W' + { 356, 8, 9, 8, 0, -8 }, // 0x58 'X' + { 365, 8, 9, 8, 0, -8 }, // 0x59 'Y' + { 374, 7, 9, 7, 0, -8 }, // 0x5A 'Z' + { 382, 3, 11, 4, 1, -8 }, // 0x5B '[' + { 387, 3, 8, 3, 0, -7 }, // 0x5C '\' + { 390, 3, 11, 4, 0, -8 }, // 0x5D ']' + { 395, 5, 5, 7, 1, -7 }, // 0x5E '^' + { 399, 7, 1, 7, 0, 2 }, // 0x5F '_' + { 400, 3, 2, 4, 0, -8 }, // 0x60 '`' + { 401, 6, 6, 7, 0, -5 }, // 0x61 'a' + { 406, 6, 9, 7, 1, -8 }, // 0x62 'b' + { 413, 6, 6, 7, 0, -5 }, // 0x63 'c' + { 418, 6, 9, 7, 0, -8 }, // 0x64 'd' + { 425, 6, 6, 7, 0, -5 }, // 0x65 'e' + { 430, 4, 9, 4, 0, -8 }, // 0x66 'f' + { 435, 6, 9, 7, 0, -5 }, // 0x67 'g' + { 442, 5, 9, 7, 1, -8 }, // 0x68 'h' + { 448, 1, 9, 3, 1, -8 }, // 0x69 'i' + { 450, 2, 12, 3, 0, -8 }, // 0x6A 'j' + { 453, 5, 9, 7, 1, -8 }, // 0x6B 'k' + { 459, 1, 9, 3, 1, -8 }, // 0x6C 'l' + { 461, 9, 6, 10, 1, -5 }, // 0x6D 'm' + { 468, 5, 6, 7, 1, -5 }, // 0x6E 'n' + { 472, 7, 6, 7, 0, -5 }, // 0x6F 'o' + { 478, 6, 9, 7, 1, -5 }, // 0x70 'p' + { 485, 6, 9, 7, 0, -5 }, // 0x71 'q' + { 492, 3, 6, 5, 1, -5 }, // 0x72 'r' + { 495, 6, 6, 7, 0, -5 }, // 0x73 's' + { 500, 4, 8, 4, 0, -7 }, // 0x74 't' + { 504, 5, 6, 7, 1, -5 }, // 0x75 'u' + { 508, 6, 6, 7, 0, -5 }, // 0x76 'v' + { 513, 9, 6, 9, 0, -5 }, // 0x77 'w' + { 520, 6, 6, 7, 0, -5 }, // 0x78 'x' + { 525, 6, 9, 7, 0, -5 }, // 0x79 'y' + { 532, 6, 6, 6, 0, -5 }, // 0x7A 'z' + { 537, 4, 11, 5, 0, -8 }, // 0x7B '{' + { 543, 1, 11, 3, 1, -8 }, // 0x7C '|' + { 545, 3, 11, 5, 1, -8 }, // 0x7D '}' + { 550, 5, 2, 7, 1, -3 } }; // 0x7E '~' + +const GFXfont FreeSansBold6pt7b = { + (uint8_t *)FreeSansBold6pt7bBitmaps, + (GFXglyph *)FreeSansBold6pt7bGlyphs, + 0x20, 0x7E, 19 }; + +// Approx. 1224 bytes diff --git a/include/IPAddress.h b/include/IPAddress.h new file mode 100644 index 0000000..2a3bba0 --- /dev/null +++ b/include/IPAddress.h @@ -0,0 +1 @@ +// None \ No newline at end of file diff --git a/include/User_Setup.h b/include/User_Setup.h new file mode 100644 index 0000000..acf852d --- /dev/null +++ b/include/User_Setup.h @@ -0,0 +1,384 @@ + +// USER DEFINED SETTINGS +// Set driver type, fonts to be loaded, pins used and SPI control method etc +// +// See the User_Setup_Select.h file if you wish to be able to define multiple +// setups and then easily select which setup file is used by the compiler. +// +// If this file is edited correctly then all the library example sketches should +// run without the need to make any more changes for a particular hardware setup! +// Note that some sketches are designed for a particular TFT pixel width/height + +// User defined information reported by "Read_User_Setup" test & diagnostics example +#define USER_SETUP_INFO "User_Setup" + +// Define to disable all #warnings in library (can be put in User_Setup_Select.h) +//#define DISABLE_ALL_LIBRARY_WARNINGS + +// ################################################################################## +// +// Section 1. Call up the right driver file and any options for it +// +// ################################################################################## + +// Define STM32 to invoke optimised processor support (only for STM32) +//#define STM32 + +// Defining the STM32 board allows the library to optimise the performance +// for UNO compatible "MCUfriend" style shields +//#define NUCLEO_64_TFT +//#define NUCLEO_144_TFT + +// STM32 8 bit parallel only: +// If STN32 Port A or B pins 0-7 are used for 8 bit parallel data bus bits 0-7 +// then this will improve rendering performance by a factor of ~8x +//#define STM_PORTA_DATA_BUS +//#define STM_PORTB_DATA_BUS + +// Tell the library to use parallel mode (otherwise SPI is assumed) +//#define TFT_PARALLEL_8_BIT +//#defined TFT_PARALLEL_16_BIT // **** 16 bit parallel ONLY for RP2040 processor **** + +// Display type - only define if RPi display +//#define RPI_DISPLAY_TYPE // 20MHz maximum SPI + +// Only define one driver, the other ones must be commented out +//#define ILI9341_DRIVER // Generic driver for common displays +#define ILI9341_2_DRIVER // Alternative ILI9341 driver, see https://github.com/Bodmer/TFT_eSPI/issues/1172 +//#define ST7735_DRIVER // Define additional parameters below for this display +//#define ILI9163_DRIVER // Define additional parameters below for this display +//#define S6D02A1_DRIVER +//#define RPI_ILI9486_DRIVER // 20MHz maximum SPI +//#define HX8357D_DRIVER +//#define ILI9481_DRIVER +//#define ILI9486_DRIVER +//#define ILI9488_DRIVER // WARNING: Do not connect ILI9488 display SDO to MISO if other devices share the SPI bus (TFT SDO does NOT tristate when CS is high) +//#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display +//#define ST7789_2_DRIVER // Minimal configuration option, define additional parameters below for this display +//#define R61581_DRIVER +//#define RM68140_DRIVER +//#define ST7796_DRIVER +//#define SSD1351_DRIVER +//#define SSD1963_480_DRIVER +//#define SSD1963_800_DRIVER +//#define SSD1963_800ALT_DRIVER +//#define ILI9225_DRIVER +//#define GC9A01_DRIVER + +// Some displays support SPI reads via the MISO pin, other displays have a single +// bi-directional SDA pin and the library will try to read this via the MOSI line. +// To use the SDA line for reading data from the TFT uncomment the following line: + +// #define TFT_SDA_READ // This option is for ESP32 ONLY, tested with ST7789 and GC9A01 display only + +// For ST7735, ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display +// Try ONE option at a time to find the correct colour order for your display + +// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue +//#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red + +// For M5Stack ESP32 module with integrated ILI9341 display ONLY, remove // in line below + +// #define M5STACK + +// For ST7789, ST7735, ILI9163 and GC9A01 ONLY, define the pixel width and height in portrait orientation +// #define TFT_WIDTH 80 +// #define TFT_WIDTH 128 +// #define TFT_WIDTH 172 // ST7789 172 x 320 +#define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320 +// #define TFT_HEIGHT 160 +// #define TFT_HEIGHT 128 +// #define TFT_HEIGHT 240 // ST7789 240 x 240 +#define TFT_HEIGHT 320 // ST7789 240 x 320 +// #define TFT_HEIGHT 240 // GC9A01 240 x 240 + +// For ST7735 ONLY, define the type of display, originally this was based on the +// colour of the tab on the screen protector film but this is not always true, so try +// out the different options below if the screen does not display graphics correctly, +// e.g. colours wrong, mirror images, or stray pixels at the edges. +// Comment out ALL BUT ONE of these options for a ST7735 display driver, save this +// this User_Setup file, then rebuild and upload the sketch to the board again: + +// #define ST7735_INITB +// #define ST7735_GREENTAB +// #define ST7735_GREENTAB2 +// #define ST7735_GREENTAB3 +// #define ST7735_GREENTAB128 // For 128 x 128 display +// #define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) +// #define ST7735_ROBOTLCD // For some RobotLCD arduino shields (128x160, BGR, https://docs.arduino.cc/retired/getting-started-guides/TFT) +// #define ST7735_REDTAB +// #define ST7735_BLACKTAB +// #define ST7735_REDTAB160x80 // For 160 x 80 display with 24 pixel offset + +// If colours are inverted (white shows as black) then uncomment one of the next +// 2 lines try both options, one of the options should correct the inversion. + +// #define TFT_INVERSION_ON +// #define TFT_INVERSION_OFF + + +// ################################################################################## +// +// Section 2. Define the pins that are used to interface with the display here +// +// ################################################################################## + +// If a backlight control signal is available then define the TFT_BL pin in Section 2 +// below. The backlight will be turned ON when tft.begin() is called, but the library +// needs to know if the LEDs are ON with the pin HIGH or LOW. If the LEDs are to be +// driven with a PWM signal or turned OFF/ON then this must be handled by the user +// sketch. e.g. with digitalWrite(TFT_BL, LOW); + +#define TFT_BL 21 // LED back-light control pin +#define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW) + + + +// We must use hardware SPI, a minimum of 3 GPIO pins is needed. +// Typical setup for ESP8266 NodeMCU ESP-12 is : +// +// Display SDO/MISO to NodeMCU pin D6 (or leave disconnected if not reading TFT) +// Display LED to NodeMCU pin VIN (or 5V, see below) +// Display SCK to NodeMCU pin D5 +// Display SDI/MOSI to NodeMCU pin D7 +// Display DC (RS/AO)to NodeMCU pin D3 +// Display RESET to NodeMCU pin D4 (or RST, see below) +// Display CS to NodeMCU pin D8 (or GND, see below) +// Display GND to NodeMCU pin GND (0V) +// Display VCC to NodeMCU 5V or 3.3V +// +// The TFT RESET pin can be connected to the NodeMCU RST pin or 3.3V to free up a control pin +// +// The DC (Data Command) pin may be labelled AO or RS (Register Select) +// +// With some displays such as the ILI9341 the TFT CS pin can be connected to GND if no more +// SPI devices (e.g. an SD Card) are connected, in this case comment out the #define TFT_CS +// line below so it is NOT defined. Other displays such at the ST7735 require the TFT CS pin +// to be toggled during setup, so in these cases the TFT_CS line must be defined and connected. +// +// The NodeMCU D0 pin can be used for RST +// +// +// Note: only some versions of the NodeMCU provide the USB 5V on the VIN pin +// If 5V is not available at a pin you can use 3.3V but backlight brightness +// will be lower. + + +// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP8266 SETUP ###### + +// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation +//#define TFT_CS PIN_D8 // Chip select control pin D8 +//#define TFT_DC PIN_D3 // Data Command control pin +//#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V + +//#define TFT_BL PIN_D1 // LED back-light (only for ST7789 with backlight control pin) + +//#define TOUCH_CS PIN_D2 // Chip select pin (T_CS) of touch screen + +//#define TFT_WR PIN_D2 // Write strobe for modified Raspberry Pi TFT only + + +// ###### FOR ESP8266 OVERLAP MODE EDIT THE PIN NUMBERS IN THE FOLLOWING LINES ###### + +// Overlap mode shares the ESP8266 FLASH SPI bus with the TFT so has a performance impact +// but saves pins for other functions. It is best not to connect MISO as some displays +// do not tristate that line when chip select is high! +// Note: Only one SPI device can share the FLASH SPI lines, so a SPI touch controller +// cannot be connected as well to the same SPI signals. +// On NodeMCU 1.0 SD0=MISO, SD1=MOSI, CLK=SCLK to connect to TFT in overlap mode +// On NodeMCU V3 S0 =MISO, S1 =MOSI, S2 =SCLK +// In ESP8266 overlap mode the following must be defined + +//#define TFT_SPI_OVERLAP + +// In ESP8266 overlap mode the TFT chip select MUST connect to pin D3 +//#define TFT_CS PIN_D3 +//#define TFT_DC PIN_D5 // Data Command control pin +//#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V + + +// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP ###### + +// For ESP32 Dev board (only tested with ILI9341 display) +// The hardware SPI can be mapped to any pins + +#define TFT_MISO 12 +#define TFT_MOSI 13 +#define TFT_SCLK 14 +#define TFT_CS 15 // Chip select control pin +#define TFT_DC 2 // Data Command control pin +//#define TFT_RST 4 // Reset pin (could connect to RST pin) +#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST + +// For ESP32 Dev board (only tested with GC9A01 display) +// The hardware SPI can be mapped to any pins + +//#define TFT_MOSI 15 // In some display driver board, it might be written as "SDA" and so on. +//#define TFT_SCLK 14 +//#define TFT_CS 5 // Chip select control pin +//#define TFT_DC 27 // Data Command control pin +//#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) +//#define TFT_BL 22 // LED back-light + +//#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen + +//#define TFT_WR 22 // Write strobe for modified Raspberry Pi TFT only + +// For the M5Stack module use these #define lines +//#define TFT_MISO 19 +//#define TFT_MOSI 23 +//#define TFT_SCLK 18 +//#define TFT_CS 14 // Chip select control pin +//#define TFT_DC 27 // Data Command control pin +//#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) +//#define TFT_BL 32 // LED back-light (required for M5Stack) + +// ###### EDIT THE PINs BELOW TO SUIT YOUR ESP32 PARALLEL TFT SETUP ###### + +// The library supports 8 bit parallel TFTs with the ESP32, the pin +// selection below is compatible with ESP32 boards in UNO format. +// Wemos D32 boards need to be modified, see diagram in Tools folder. +// Only ILI9481 and ILI9341 based displays have been tested! + +// Parallel bus is only supported for the STM32 and ESP32 +// Example below is for ESP32 Parallel interface with UNO displays + +// Tell the library to use 8 bit parallel mode (otherwise SPI is assumed) +//#define TFT_PARALLEL_8_BIT + +// The ESP32 and TFT the pins used for testing are: +//#define TFT_CS 33 // Chip select control pin (library pulls permanently low +//#define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 +//#define TFT_RST 32 // Reset pin, toggles on startup + +//#define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 +//#define TFT_RD 2 // Read strobe control pin + +//#define TFT_D0 12 // Must use pins in the range 0-31 for the data bus +//#define TFT_D1 13 // so a single register write sets/clears all bits. +//#define TFT_D2 26 // Pins can be randomly assigned, this does not affect +//#define TFT_D3 25 // TFT screen update performance. +//#define TFT_D4 17 +//#define TFT_D5 16 +//#define TFT_D6 27 +//#define TFT_D7 14 + +// ###### EDIT THE PINs BELOW TO SUIT YOUR STM32 SPI TFT SETUP ###### + +// The TFT can be connected to SPI port 1 or 2 +//#define TFT_SPI_PORT 1 // SPI port 1 maximum clock rate is 55MHz +//#define TFT_MOSI PA7 +//#define TFT_MISO PA6 +//#define TFT_SCLK PA5 + +//#define TFT_SPI_PORT 2 // SPI port 2 maximum clock rate is 27MHz +//#define TFT_MOSI PB15 +//#define TFT_MISO PB14 +//#define TFT_SCLK PB13 + +// Can use Ardiuno pin references, arbitrary allocation, TFT_eSPI controls chip select +//#define TFT_CS D5 // Chip select control pin to TFT CS +//#define TFT_DC D6 // Data Command control pin to TFT DC (may be labelled RS = Register Select) +//#define TFT_RST D7 // Reset pin to TFT RST (or RESET) +// OR alternatively, we can use STM32 port reference names PXnn +//#define TFT_CS PE11 // Nucleo-F767ZI equivalent of D5 +//#define TFT_DC PE9 // Nucleo-F767ZI equivalent of D6 +//#define TFT_RST PF13 // Nucleo-F767ZI equivalent of D7 + +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to processor reset + // Use an Arduino pin for initial testing as connecting to processor reset + // may not work (pulse too short at power up?) + +// ################################################################################## +// +// Section 3. Define the fonts that are to be used here +// +// ################################################################################## + +// Comment out the #defines below with // to stop that font being loaded +// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not +// normally necessary. If all fonts are loaded the extra FLASH space required is +// about 17Kbytes. To save FLASH space only enable the fonts you need! + +#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH +#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters +#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters +#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm +#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. +#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. +//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT +#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts + +// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded +// this will save ~20kbytes of FLASH +#define SMOOTH_FONT + + +// ################################################################################## +// +// Section 4. Other options +// +// ################################################################################## + +// For RP2040 processor and SPI displays, uncomment the following line to use the PIO interface. +//#define RP2040_PIO_SPI // Leave commented out to use standard RP2040 SPI port interface + +// For RP2040 processor and 8 or 16 bit parallel displays: +// The parallel interface write cycle period is derived from a division of the CPU clock +// speed so scales with the processor clock. This means that the divider ratio may need +// to be increased when overclocking. I may also need to be adjusted dependant on the +// display controller type (ILI94341, HX8357C etc). If RP2040_PIO_CLK_DIV is not defined +// the library will set default values which may not suit your display. +// The display controller data sheet will specify the minimum write cycle period. The +// controllers often work reliably for shorter periods, however if the period is too short +// the display may not initialise or graphics will become corrupted. +// PIO write cycle frequency = (CPU clock/(4 * RP2040_PIO_CLK_DIV)) +//#define RP2040_PIO_CLK_DIV 1 // 32ns write cycle at 125MHz CPU clock +//#define RP2040_PIO_CLK_DIV 2 // 64ns write cycle at 125MHz CPU clock +//#define RP2040_PIO_CLK_DIV 3 // 96ns write cycle at 125MHz CPU clock + +// For the RP2040 processor define the SPI port channel used (default 0 if undefined) +//#define TFT_SPI_PORT 1 // Set to 0 if SPI0 pins are used, or 1 if spi1 pins used + +// For the STM32 processor define the SPI port channel used (default 1 if undefined) +//#define TFT_SPI_PORT 2 // Set to 1 for SPI port 1, or 2 for SPI port 2 + +// Define the SPI clock frequency, this affects the graphics rendering speed. Too +// fast and the TFT driver will not keep up and display corruption appears. +// With an ILI9341 display 40MHz works OK, 80MHz sometimes fails +// With a ST7735 display more than 27MHz may not work (spurious pixels and lines) +// With an ILI9163 display 27 MHz works OK. + +// #define SPI_FREQUENCY 1000000 +// #define SPI_FREQUENCY 5000000 +// #define SPI_FREQUENCY 10000000 +// #define SPI_FREQUENCY 20000000 +//#define SPI_FREQUENCY 27000000 +// #define SPI_FREQUENCY 40000000 +#define SPI_FREQUENCY 55000000 // STM32 SPI1 only (SPI2 maximum is 27MHz) +// #define SPI_FREQUENCY 80000000 + +// Optional reduced SPI frequency for reading TFT +#define SPI_READ_FREQUENCY 20000000 + +// The XPT2046 requires a lower SPI clock rate of 2.5MHz so we define that here: +#define SPI_TOUCH_FREQUENCY 2500000 + +// The ESP32 has 2 free SPI ports i.e. VSPI and HSPI, the VSPI is the default. +// If the VSPI port is in use and pins are not accessible (e.g. TTGO T-Beam) +// then uncomment the following line: +//#define USE_HSPI_PORT + +// Comment out the following #define if "SPI Transactions" do not need to be +// supported. When commented out the code size will be smaller and sketches will +// run slightly faster, so leave it commented out unless you need it! + +// Transaction support is needed to work with SD library but not needed with TFT_SdFat +// Transaction support is required if other SPI devices are connected. + +// Transactions are automatically enabled by the library for an ESP32 (to use HAL mutex) +// so changing it here has no effect + +// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/include/XPT2046.h b/include/XPT2046.h new file mode 100644 index 0000000..813ce06 --- /dev/null +++ b/include/XPT2046.h @@ -0,0 +1,62 @@ +/* PacoMouseCYD throttle -- F. Cañada 2025-2026 -- https://usuaris.tinet.cat/fmco/ + Simple XPT2046 SPI/Bitbang interface for PacoMouseCYD +*/ + + +#ifndef XPT2046_TS_h +#define XPT2046_TS_h + +#include "Arduino.h" +#include "config.h" +#ifdef USE_XPT2046_SPI +#include +#endif + +typedef struct { + uint16_t x; + uint16_t y; + uint16_t z; +} TSPoint; + +struct TouchCalibration { + uint16_t xMin; + uint16_t xMax; + uint16_t yMin; + uint16_t yMax; + uint16_t rotation; +}; + +class XPT2046_TS { + public: + XPT2046_TS(uint8_t mosiPin, uint8_t misoPin, uint8_t clkPin, uint8_t csPin); + void begin(uint16_t width = 240, uint16_t height = 320); + bool touched(); + TSPoint getTouch(); + void setRotation(uint8_t n); + void setCalibration(uint16_t xMin, uint16_t xMax, uint16_t yMin, uint16_t yMax); + TouchCalibration getCalibration(); + void readData(uint16_t *x, uint16_t *y, uint16_t *z); + + private: + uint8_t _mosiPin; + uint8_t _misoPin; + uint8_t _clkPin; + uint8_t _csPin; + uint8_t _irqPin; + uint16_t _width; + uint16_t _height; + uint16_t _xraw; + uint16_t _yraw; + uint16_t _zraw; + uint32_t _msraw; + TouchCalibration cal; +#ifdef USE_XPT2046_SPI + SPIClass *hspi = NULL; +#endif +#ifdef USE_XPT2046_BITBANG + uint16_t readSPI(byte command); +#endif + void update(); +}; + +#endif diff --git a/include/color.h b/include/color.h new file mode 100644 index 0000000..68ddab0 --- /dev/null +++ b/include/color.h @@ -0,0 +1,50 @@ +// Good colors for my TFT displays +// BGR565 color codes for your TFT +// Inverted BGR565: color = 0xFFFF - standard BGR565 +// Color definitions for swapped red/blue (BGR instead of RGB) +// Inverted color definitions for your display +#define COLOR_BLACK 0xFFFF // black (inverted) +#define COLOR_WHITE 0x0000 // white (inverted) +#define COLOR_RED (0xFFFF - 0xF800) // red (inverted, now correct) +#define COLOR_GREEN (0xFFFF - 0x07E0) // green (inverted) +#define COLOR_BLUE (0xFFFF - 0x001F) // blue (inverted, now correct) +#define COLOR_YELLOW (0xFFFF - 0x07FF) // yellow (inverted) +#define COLOR_CYAN (0xFFFF - 0xFFE0) // cyan (inverted) +#define COLOR_MAGENTA (0xFFFF - 0xF81F) // magenta (inverted) +#define COLOR_PURPLE (0xFFFF - 0xF81F) // purple (inverted) + +// Wrong colors for my TFT displays, but good for debugging + + +// Secondary colors (BGR565) +// Secondary colors (inverted) +// ...existing code for other colors... + +// Other colors (BGR565, best effort) +// Other colors (inverted) +#define COLOR_DARKRED (0xFFFF - 0x0010) +#define COLOR_PINK (0xFFFF - 0xFC1F) +#define COLOR_NAVY (0xFFFF - 0x8000) +#define COLOR_AQUA (0xFFFF - 0xFD00) +#define COLOR_SKYBLUE (0xFFFF - 0xF6FB) +#define COLOR_GREENYELLOW (0xFFFF - 0xAFE5) +#define COLOR_DARKGREEN (0xFFFF - 0x03E0) +#define COLOR_DARKCYAN (0xFFFF - 0x03EF) +#define COLOR_GOLD (0xFFFF - 0x07FF) +#define COLOR_LIGHTGREY (0xFFFF - 0xC618) +#define COLOR_DARKGREY (0xFFFF - 0x7BEF) +#define COLOR_LIGHTBLACK (0xFFFF - 0x4208) +#define COLOR_SMOKYBLACK (0xFFFF - 0x2104) +#define COLOR_CHARCOAL (0xFFFF - 0x3186) +#define COLOR_VIOLET (0xFFFF - 0x9199) +#define COLOR_BROWN (0xFFFF - 0x8200) +#define COLOR_ORANGE (0xFFFF - 0xFD20) +#define COLOR_LIME (0xFFFF - 0x87E0) +#define COLOR_MAROON (0xFFFF - 0x7800) +#define COLOR_OLIVE (0xFFFF - 0x7BE0) +#define COLOR_SILVER (0xFFFF - 0xA510) +#define COLOR_CREAM (0xFFFF - 0xFFF9) +#define COLOR_GHOST_WHITE (0xFFFF - 0xF7BF) + +#define COLOR_BACKGROUND 0xB5B6 // 0xB6B6B6 +#define COLOR_TRANSPARENT TFT_TRANSPARENT \ No newline at end of file diff --git a/include/config.h b/include/config.h new file mode 100644 index 0000000..8bc6d56 --- /dev/null +++ b/include/config.h @@ -0,0 +1,184 @@ +/* PacoMouseCYD throttle -- F. Cañada 2025-2026 -- https://usuaris.tinet.cat/fmco/ +*/ + +#ifndef PACOMOUSECYD_CFG_H +#define PACOMOUSECYD_CFG_H + +#define CYD_TFT_28 0 // Cheap Yellow Display 2.8" +#define CYD_TFT_24 1 // Cheap Yellow Display 2.4" +#define CYD_TFT_32 2 // Cheap Yellow Display 3.2" +#define CYD_USER_DEFINED 3 // User defined board + +#define PRESENT 1 +#define UNUSED 0 + +#define MODE_SPI 0 +#define MODE_BITBANG 1 + + +//////////////////////////////////////////////////////////// +// ***** USER OPTIONS ***** +//////////////////////////////////////////////////////////// + +// Seleccione la version hardware del CYD (Cheap Yellow Display) - Select the hardware version of CYD (Cheap Yellow Display): CYD_TFT_28 / CYD_TFT_24 / CYD_TFT_32 / CYD_USER_DEFINED +// Use el archivo User_Setup.h correcto para la libreria TFT_eSPI - Use the correct User_Setup.h file for library TFT_eSPI + +#define CYD_HW_VERSION CYD_TFT_28 + +// Max. locomotoras guardadas en stack (hasta 254) - Max. locomotives saved in stack (up to 254): + +#define LOCOS_IN_STACK 100 + +// Delimitador en fichero CSV - CSV file delimiter: ';' / ',' +#define CSV_FILE_DELIMITER ';' + + + +#if (CYD_HW_VERSION == CYD_USER_DEFINED) +//////////////////////////////////////////////////////////// +// ***** USER DEFINED HARDWARE ***** +//////////////////////////////////////////////////////////// + +// Seleccione el modo de acceso al chip XPT2046 - Select XPT2046 chip access mode : MODE_SPI / MODE_BITBANG +#define XPT_MODE MODE_SPI + +// Seleccione rotacion de la pantalla tactil - Select Touchscreen rotation: 0 / 1 / 2 / 3 +#define XPT_ROTATION 3 + +// Touchscreen +#define XPT2046_IRQ 36 // T_IRQ +#define XPT2046_MOSI 13 // T_DIN +#define XPT2046_MISO 12 // T_OUT +#define XPT2046_CLK 14 // T_CLK +#define XPT2046_CS 33 // T_CS + +// Seleccione si usa el LED RGB - Select if use the RGB LED: PRESENT / UNUSED +#define USE_RGB_LED PRESENT + +//RGB LED Pins +#define RGB_LED_R 4 +#define RGB_LED_G 17 +#define RGB_LED_B 16 + +//SD Pins +#define SD_CS 5 + +// Encoder Pins +#define ENCODER_A 22 +#define ENCODER_B 21 +#define ENCODER_SW 35 + + +#endif +//////////////////////////////////////////////////////////// +// ***** END OF USER DEFINED HARDWARE ***** +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// ***** END OF USER OPTIONS ***** +//////////////////////////////////////////////////////////// + + + + + + +#if (CYD_HW_VERSION == CYD_TFT_28) +#define USE_CYD_28 1 // Cheap Yellow Display 2.8" (2432S028R) +#endif +#if (CYD_HW_VERSION == CYD_TFT_24) +#define USE_CYD_24 1 // Cheap Yellow Display 2.4" (2432S024R) +#endif +#if (CYD_HW_VERSION == CYD_TFT_32) +#define USE_CYD_24 1 // Cheap Yellow Display 3.2" (2432S032R) +#endif +#if (CYD_HW_VERSION == CYD_USER_DEFINED) +#if (XPT_MODE == MODE_SPI) // Cheap Yellow Display other type +#define USE_XPT2046_SPI +#endif +#if (XPT_MODE == MODE_BITBANG) +#define USE_XPT2046_BITBANG +#endif +#endif + + +#if defined(USE_CYD_28) && defined(USE_CYD_24) +#error Seleccione solo un tipo de CYD (Cheap Yellow Display) - Select only one type of CYD (Cheap Yellow Display) +#endif + + + +#define USER_MIN_BL 64 // User min backlight +#define SYS_MIN_BL 32 // System inactivity backlight + +#ifdef USE_CYD_28 +// Touchscreen pins +#define XPT2046_IRQ 36 // T_IRQ +#define XPT2046_MOSI 32 // T_DIN +#define XPT2046_MISO 39 // T_OUT +#define XPT2046_CLK 25 // T_CLK +#define XPT2046_CS 33 // T_CS + +#define USE_XPT2046_BITBANG + +#define XPT_ROTATION 0 + +/* +// I2C pins +#define I2C_SDA 27 +#define I2C_SCL 22 +*/ +//RGB LED +#define RGB_LED_R 4 +#define RGB_LED_G 16 +#define RGB_LED_B 17 + +#define USE_RGB_LED PRESENT + +//SD Pins +#define SD_CS 5 + +// Encoder +#define ENCODER_A 22 +#define ENCODER_B 27 +#define ENCODER_SW 35 + + +#endif + + +#ifdef USE_CYD_24 +// Touchscreen pins +#define XPT2046_IRQ 36 // T_IRQ +#define XPT2046_MOSI 13 // T_DIN +#define XPT2046_MISO 12 // T_OUT +#define XPT2046_CLK 14 // T_CLK +#define XPT2046_CS 33 // T_CS + +#define USE_XPT2046_SPI + +#define XPT_ROTATION 0 +/* +// I2C pins +#define I2C_SDA 21 +#define I2C_SCL 22 +*/ +//RGB LED +#define RGB_LED_R 4 +#define RGB_LED_G 17 +#define RGB_LED_B 16 + +#define USE_RGB_LED PRESENT + +//SD Pins +#define SD_CS 5 + +// Encoder +#define ENCODER_A 22 +#define ENCODER_B 21 +#define ENCODER_SW 35 + + +#endif + +#endif diff --git a/include/gui.h b/include/gui.h new file mode 100644 index 0000000..cf96c28 --- /dev/null +++ b/include/gui.h @@ -0,0 +1,117 @@ +/* PacoMouseCYD throttle -- F. Cañada 2025-2026 -- https://usuaris.tinet.cat/fmco/ + Very basic Graphical User Interface (GUI) for PacoMouseCYD + All data in absolute coordinates +*/ + +#include // Graphics and font library for ILI9341 driver chip v2.5.43 +#include "FreeSans7pt7b.h" +#include "FreeSansBold6pt7b.h" + + +#define MAX_OBJ_STACK 100 +#define MAX_LABEL_LNG 150 +#define TMR_RESOLUTION 100 + +#define NOT_USED 0xFF +#define OBJ_NOT_FOUND 0xFFFF + + +//////////////////////////////////////////////////////////// +// ***** FONTS ***** +//////////////////////////////////////////////////////////// + +#ifndef LOAD_GFXFF +ERROR_Please_enable_LOAD_GFXFF_in_User_Setup! +#endif + +#define GFXFF 1 +#define FSS7 &FreeSans7pt7b +#define FSS9 &FreeSans9pt7b +#define FSSB6 &FreeSansBold6pt7b +#define FSSB9 &FreeSansBold9pt7b +#define FSSB12 &FreeSansBold12pt7b + + +//////////////////////////////////////////////////////////// +// ***** COLORS ***** +//////////////////////////////////////////////////////////// + +// Colour definitions for 64K colour mode (RGB565) +// Bits 0..4 -> Blue 0..4 +// Bits 5..10 -> Green 0..5 +// Bits 11..15 -> Red 0..4 +// Assign human-readable names to some common 16-bit color values: http://rinkydinkelectronics.com/calc_rgb565.php +// Examples: https://github.com/newdigate/rgb565_colors + + + +const uint16_t colorDraw[] = {COLOR_BLACK, COLOR_BLUE, COLOR_RED, COLOR_MAGENTA, COLOR_GREEN, COLOR_CYAN, COLOR_YELLOW, COLOR_WHITE, + COLOR_BACKGROUND, COLOR_TRANSPARENT, COLOR_GHOST_WHITE, COLOR_AQUA, COLOR_CREAM, COLOR_SMOKYBLACK, COLOR_SKYBLUE, + COLOR_GOLD, + }; + + +//////////////////////////////////////////////////////////// +// ***** OBJECT ***** +//////////////////////////////////////////////////////////// + +enum objTypeGUI {OBJ_UNDEF, OBJ_TIMER, OBJ_WIN, OBJ_BUTTON, OBJ_LABEL, OBJ_TXT, OBJ_BAR, OBJ_DRAWSTR, OBJ_ICON, OBJ_KEYBOARD, OBJ_SWITCH, + OBJ_GAUGE, OBJ_LPIC, OBJ_FNC, OBJ_SLIDER, OBJ_RADIO, OBJ_CHAR, + }; + +struct wObj { // Graphic objects + uint16_t objType; + uint16_t objID; +}; + +struct wObj objStack[MAX_OBJ_STACK]; // Object stack +uint16_t endObjStack; +uint16_t lastWinStack; + + +//////////////////////////////////////////////////////////// +// ***** EVENT ***** +//////////////////////////////////////////////////////////// + +enum EventGUI {EVNT_CLICK, EVNT_DRAW, EVNT_WOPEN, EVNT_WCLOSE, EVNT_TIMER, EVNT_BOOT}; + +typedef struct { // Events + uint16_t objType; + uint16_t objID; + uint16_t eventID; +} wEvent; + +wEvent eventStack[32]; // stack for events (size 32, hardcoded in functions. Don't change!) +uint16_t eventIn; +uint16_t eventOut; +uint16_t eventsPending; +uint16_t lastClickX; +uint16_t lastClickY; + + +//////////////////////////////////////////////////////////// +// ***** TIMER ***** +//////////////////////////////////////////////////////////// + +enum timers {TMR_BLIGHT, TMR_END_LOGO, TMR_POWER, TMR_SPEEDO, TMR_INFO, TMR_WAIT, TMR_STEAM, TMR_ACCESSORY, TMR_SCAN, TMR_FNC_ECOS, + TMR_STA_RUN, + MAX_SYS_TIMER + }; + +enum timerType {TMR_STOP, TMR_ONESHOT, TMR_PERIODIC}; + +typedef struct { + uint16_t tmrDelay; + uint16_t tmrCount; + uint16_t type; +} wTimer; + +wTimer wTimerStack[MAX_SYS_TIMER]; +uint32_t timerSys; + +#if (TFT_WIDTH == 240) +#include "gui240x320.h" +#endif +#if (TFT_WIDTH == 320) +#include "gui320x480.h" +#endif diff --git a/include/gui240x320.h b/include/gui240x320.h new file mode 100644 index 0000000..2906431 --- /dev/null +++ b/include/gui240x320.h @@ -0,0 +1,1412 @@ +/* PacoMouseCYD throttle -- F. Cañada 2025-2026 -- https://usuaris.tinet.cat/fmco/ + Very basic Graphical User Interface (GUI) for PacoMouseCYD + All data in absolute coordinates + + TFT display 240x320 (The only supported original Cheap Yellow Display ILI9341 2.8") +*/ + +//////////////////////////////////////////////////////////// +// ***** WINDOW ***** +//////////////////////////////////////////////////////////// + +enum winObj {WIN_DEFAULT, WIN_LOGO, WIN_CALIBRATE, WIN_THROTTLE, WIN_SSID, WIN_WIFI, WIN_WIFI_PWD, WIN_PROTOCOL, + WIN_ALERT, WIN_CONFIG, WIN_SET_CLOCK, WIN_LOK_EDIT, WIN_EDIT_NAME, WIN_FUNC, WIN_CHG_FUNC, WIN_VMAX, + WIN_SEL_LOCO, WIN_ENTER_ADDR, WIN_SEL_IMAGE, WIN_MENU, WIN_SCREEN, WIN_SPEED, WIN_ABOUT, WIN_LOCK, + WIN_OPTIONS, WIN_SPEEDO, WIN_SPEEDO_LNG, WIN_SPEEDO_SCALE, WIN_READ_CV, WIN_PROG_CV, WIN_PROG_ADDR, + WIN_PROG_LNCV, WIN_STEAM, WIN_UTIL, WIN_ACCESSORY, WIN_PANELS, WIN_PANEL_NAME, WIN_ACC_CTRL, WIN_ACC_ASPECT, + WIN_ACC_TYPE, WIN_ACC_EDIT, WIN_ACC_NAME, WIN_ACC_ADDR1, WIN_ACC_ADDR2, WIN_WIFI_SCAN, + WIN_STA_RUN, WIN_STA_PLAY, WIN_STA_STARS, WIN_STA_EDIT, WIN_STA_KEYB, + MAX_WIN_OBJ + }; + +typedef struct { // Window data + uint16_t x; + uint16_t y; + uint16_t w; + uint16_t h; + bool modal; + uint16_t color; + uint16_t backgnd; +} wWinObj; + +//bool modalWindow; + +wWinObj winData[MAX_WIN_OBJ] = { + { 0, 0, 240, 320, true, COLOR_NAVY, COLOR_BACKGROUND}, // WIN_DEFAULT + { 0, 0, 240, 320, true, COLOR_NAVY, COLOR_WHITE}, // WIN_LOGO + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_BLACK}, // WIN_CALIBRATE + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_BACKGROUND}, // WIN_THROTTLE + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_DARKGREY}, // WIN_SSID + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_WIFI + { 0, 125, 240, 195, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_WIFI_PWD + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_WHITE}, // WIN_PROTOCOL + { 15, 120, 210, 80, true, COLOR_BLACK, COLOR_WHITE}, // WIN_ALERT + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_WHITE}, // WIN_CONFIG + { 15, 120, 210, 140, true, COLOR_BLACK, COLOR_BACKGROUND}, // WIN_SET_CLOCK + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_BACKGROUND}, // WIN_LOK_EDIT + { 0, 125, 240, 195, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_EDIT_NAME + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_FUNC + { 60, 100, 120, 100, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_CHG_FUNC + { 36, 30, 155, 245, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_VMAX + { 0, 0, 240, 320, true, COLOR_NAVY, COLOR_WHITE}, // WIN_SEL_LOCO + { 36, 30, 155, 245, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_ENTER_ADDR + { 0, 0, 240, 320, true, COLOR_NAVY, COLOR_BACKGROUND}, // WIN_SEL_IMAGE + { 0, 0, 240, 320, true, COLOR_AQUA, COLOR_BLACK}, // WIN_MENU + { 15, 80, 210, 140, true, COLOR_BLACK, COLOR_WHITE}, // WIN_SCREEN + { 15, 120, 210, 160, true, COLOR_BLACK, COLOR_WHITE}, // WIN_SPEED + { 5, 15, 230, 220, true, COLOR_NAVY, COLOR_WHITE}, // WIN_ABOUT + { 15, 120, 210, 160, true, COLOR_BLACK, COLOR_WHITE}, // WIN_LOCK + { 5, 75, 230, 205, true, COLOR_BLACK, COLOR_WHITE}, // WIN_OPTIONS + { 0, 0, 240, 320, true, COLOR_AQUA, COLOR_BACKGROUND}, // WIN_SPEEDO + { 36, 30, 155, 245, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_SPEEDO_LNG + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_SPEEDO_SCALE + { 0, 0, 240, 320, true, COLOR_AQUA, COLOR_WHITE}, // WIN_READ_CV + { 0, 0, 240, 320, true, COLOR_AQUA, COLOR_BACKGROUND}, // WIN_PROG_CV + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_PROG_ADDR + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_PROG_LNCV + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_BLACK}, // WIN_STEAM + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_WHITE}, // WIN_UTIL + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_WHITE}, // WIN_ACCESSORY + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_WHITE}, // WIN_PANELS + { 0, 125, 240, 195, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_PANEL_NAME + { 10, 25, 210, 255, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_ACC_CTRL + { 5, 95, 230, 80, true, COLOR_AQUA, COLOR_YELLOW}, // WIN_ACC_ASPECT + { 40, 100, 160, 100, true, COLOR_WHITE, COLOR_LIGHTGREY}, // WIN_ACC_TYPE + { 0, 0, 240, 240, true, COLOR_WHITE, COLOR_LIGHTGREY}, // WIN_ACC_EDIT + { 0, 125, 240, 195, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_ACC_NAME + { 36, 30, 155, 245, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_ACC_ADDR1 + { 36, 30, 155, 245, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_ACC_ADDR2 + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_BLACK}, // WIN_WIFI_SCAN + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BLUE}, // WIN_STA_RUN + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BLUE}, // WIN_STA_PLAY + { 10, 120, 220, 80, true, COLOR_BLACK, COLOR_WHITE}, // WIN_STA_STARS + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BLUE}, // WIN_STA_EDIT + { 85, 75, 150, 200, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_STA_KEYB +}; + + +//////////////////////////////////////////////////////////// +// ***** LABEL ***** +//////////////////////////////////////////////////////////// + +uint8_t currLanguage; + +enum labelObj {LBL_PACO_TXT, LBL_INIT, LBL_CONNECT, LBL_PRESS, LBL_CAL, LBL_CAL_DONE, + LBL_SCAN, LBL_SSID_SCAN, LBL_SSID, LBL_IP, LBL_PWD_HIDE, LBL_PORT, LBL_PROTOCOL, + LBL_SEL_PROT, LBL_SEL_Z21, LBL_SEL_XNET, LBL_SEL_ECOS, LBL_SEL_LNET, LBL_SEL_LBSERVER, LBL_SEL_BINARY, LBL_OPTIONS, + LBL_NAME, LBL_ADDR, LBL_IMAGE, LBL_VMAX, LBL_FUNC, LBL_SERVICE, LBL_KMH, LBL_SHUNTING, LBL_RATE, LBL_CHG_WIFI, + LBL_EDIT_FUNC, LBL_STACK_FULL, LBL_STOP_0, LBL_STOP_E, LBL_SEL_IMAGE, + LBL_MENU_DRIVE, LBL_MENU_ACC, LBL_MENU_CV, LBL_MENU_CFG, LBL_MENU_UTILS, + LBL_CFG_LANG, LBL_CFG_SCR, LBL_CFG_SPD, LBL_CFG_WIFI, LBL_CFG_FCLK, LBL_CFG_LOCK, LBL_CFG_ABOUT, LBL_SCR_ROTATE, LBL_PACO_WEB, + LBL_LOCK_LOK, LBL_LOCK_ACC, LBL_LOCK_PRG, LBL_OPT_ADR, LBL_OPT_IB2, LBL_OPT_UHLI, LBL_OPT_DIG, + LBL_ESTOP, LBL_SCALE, LBL_MM, LBL_SCALE_H0, LBL_SCALE_N, LBL_SCALE_TT, LBL_SCALE_Z, LBL_SCALE_0, LBL_MEASURE, + LBL_CV_ADDR, LBL_CV_SPD_L, LBL_CV_SPD_M, LBL_CV_SPD_H, LBL_CV_ACC, LBL_CV_DEC, LBL_CV_CFG, LBL_CV_MAN, + LBL_CV, LBL_LNCV, LBL_POM, LBL_BITS, LBL_CV_ERROR, LBL_UTIL_SPEED, LBL_UTIL_STEAM, LBL_UTIL_SCAN, LBL_UTIL_STA, + LBL_ASK_SURE, LBL_OPT_DISCOVER, LBL_LNCV_ART, LBL_LNCV_MOD, LBL_LNCV_NUM, LBL_ACC_TYPE, LBL_ACC_NAME, LBL_ACC_ADDR, + LBL_STA_RUN, LBL_STA_LEVEL, LBL_STA_START, LBL_STA_INSTR, LBL_STA_EXCEL, LBL_STA_GREAT, LBL_STA_TIMEOUT, + LBL_STA_STATIONS, LBL_STA_TURNOUTS, LBL_STA_TIME, LBL_STA_DESC, + MAX_LABEL_OBJ + }; + +typedef struct { // Label data + uint16_t x; + uint16_t y; + const GFXfont *font; + uint16_t color; + byte align; +} wLabelObj; +/* + Normally strings are printed relative to the top left corner but this can be + changed with the setTextDatum() function. The library has #defines for: + + TL_DATUM = Top left + TC_DATUM = Top centre + TR_DATUM = Top right + ML_DATUM = Middle left + MC_DATUM = Middle centre + MR_DATUM = Middle right + BL_DATUM = Bottom left + BC_DATUM = Bottom centre + BR_DATUM = Bottom right +*/ +wLabelObj labelData[MAX_LABEL_OBJ] = { + { 120, 35, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_PACO_TXT + { 20, 120, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_INIT + { 20, 120, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CONNECT + { 120, 160, FSSB12, COLOR_YELLOW, MC_DATUM}, // LBL_PRESS + { 120, 0, FSS9, COLOR_WHITE, TC_DATUM}, // LBL_CAL + { 120, 0, FSS9, COLOR_GREEN, TC_DATUM}, // LBL_CAL_DONE + { 120, 120, FSSB12, COLOR_YELLOW, MC_DATUM}, // LBL_SCAN + { 120, 25, FSSB12, COLOR_YELLOW, MC_DATUM}, // LBL_SSID_SCAN + { 10, 24, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_SSID + { 10, 134, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_IP + { 10, 94, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_PWD_HIDE + { 10, 174, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_PORT + { 10, 214, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_PROTOCOL + { 10, 10, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_PROT + { 50, 50, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_Z21 + { 50, 85, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_XNET + { 50, 120, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_ECOS + { 50, 155, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_LNET + { 90, 190, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_LBSERVER + { 90, 225, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_BINARY + { 70, 280, FSSB9, COLOR_BLACK, MC_DATUM}, // LBL_OPTIONS + { 5, 144, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_NAME Loco Data & .csv + { 5, 15, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_ADDR + { 5, 55, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_IMAGE + { 5, 184, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_VMAX + { 120, 232, FSSB9, COLOR_BLACK, MC_DATUM}, // LBL_FUNC + { 65, 160, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_SERVICE + { 120, 230, FSSB9, COLOR_BLACK, MC_DATUM}, // LBL_KMH + { 85, 133, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_SHUNTING + { 25, 174, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_RATE + { 65, 140, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CHG_WIFI + { 120, 55, FSSB9, COLOR_BLACK, MC_DATUM}, // LBL_EDIT_FUNC + { 65, 140, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_STACK_FULL + { 85, 174, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_STOP_0 + { 85, 205, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_STOP_E + { 100, 20, FSSB12, COLOR_YELLOW, MC_DATUM}, // LBL_SEL_IMAGE + { 45, 20, FSSB9, COLOR_WHITE, ML_DATUM}, // LBL_MENU_DRIVE + { 45, 60, FSSB9, COLOR_WHITE, ML_DATUM}, // LBL_MENU_ACC + { 45, 100, FSSB9, COLOR_WHITE, ML_DATUM}, // LBL_MENU_CV + { 45, 140, FSSB9, COLOR_WHITE, ML_DATUM}, // LBL_MENU_CFG + { 45, 180, FSSB9, COLOR_WHITE, ML_DATUM}, // LBL_MENU_UTILS + { 45, 20, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_LANG + { 45, 60, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_SCR + { 45, 100, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_SPD + { 45, 140, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_WIFI + { 45, 180, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_FCLK + { 45, 220, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_LOCK + { 45, 260, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_ABOUT + { 75, 138, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_SCR_ROTATE + { 120, 150, FSS9, COLOR_NAVY, MC_DATUM}, // LBL_PACO_WEB + { 75, 133, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_LOCK_LOK + { 75, 168, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_LOCK_ACC + { 75, 203, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_LOCK_PRG + { 60, 155, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_OPT_ADR + { 60, 120, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_OPT_IB2 + { 60, 155, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_OPT_UHLI + { 60, 190, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_OPT_DIG + { 65, 160, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_ESTOP + { 100, 74, FSSB9, COLOR_BLACK, TR_DATUM}, // LBL_SCALE + { 165, 148, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_MM + { 40, 95, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_SCALE_H0 + { 40, 135, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_SCALE_N + { 40, 175, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_SCALE_TT + { 40, 215, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_SCALE_Z + { 40, 255, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_SCALE_0 + { 0, 0, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_MEASURE + { 45, 20, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_ADDR + { 45, 60, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_SPD_L + { 45, 100, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_SPD_M + { 45, 140, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_SPD_H + { 45, 180, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_ACC + { 45, 220, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_DEC + { 45, 260, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_CFG + { 45, 300, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_MAN + { 10, 50, FSSB12, COLOR_BLACK, TL_DATUM}, // LBL_CV + { 45, 246, FSSB9, COLOR_BLACK, MC_DATUM}, // LBL_LNCV + { 35, 147, FSSB9, COLOR_BLACK, TC_DATUM}, // LBL_POM + { 15, 98, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_BITS + { 0, 0, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_CV_ERROR + { 45, 20, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_UTIL_SPEED + { 45, 60, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_UTIL_STEAM + { 45, 100, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_UTIL_SCAN + { 45, 140, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_UTIL_STA + { 65, 140, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_ASK_SURE + { 60, 85, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_OPT_DISCOVER + { 10, 20, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_LNCV_ART + { 10, 60, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_LNCV_MOD + { 10, 100, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_LNCV_NUM + { 120, 115, FSSB9, COLOR_NAVY, MC_DATUM}, // LBL_ACC_TYPE + { 37, 20, FSSB9, COLOR_NAVY, MC_DATUM}, // LBL_ACC_NAME + { 37, 60, FSSB9, COLOR_NAVY, MC_DATUM}, // LBL_ACC_ADDR + { 120, 20, FSSB9, COLOR_WHITE, MC_DATUM}, // LBL_STA_RUN + { 10, 60, FSS9, COLOR_WHITE, TL_DATUM}, // LBL_STA_LEVEL + { 120, 160, FSSB9, COLOR_WHITE, MC_DATUM}, // LBL_STA_START + { 120, 200, FSS7, COLOR_WHITE, TC_DATUM}, // LBL_STA_INSTR + { 75, 160, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_STA_EXCEL + { 75, 160, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_STA_GREAT + { 60, 150, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_STA_TIMEOUT + { 10, 50, FSSB9, COLOR_WHITE, TL_DATUM}, // LBL_STA_STATIONS + { 10, 90, FSSB9, COLOR_WHITE, TL_DATUM}, // LBL_STA_TURNOUTS + { 10, 10, FSSB9, COLOR_WHITE, TL_DATUM}, // LBL_STA_TIME + { 10, 130, FSS9, COLOR_YELLOW, TL_DATUM}, // LBL_STA_DESC + + +}; + + + +//////////////////////////////////////////////////////////// +// ***** DRAW STRING ***** +//////////////////////////////////////////////////////////// + +/* Kn Color n. From colorDraw[] + kn Sprite color depth + Xn Cursor X + xn Increment x position + Yn Cursor Y + yn Increment y position + Rw,h Fill rectangle width,height + rw,h Draw rectangle width,height + Cr Fill circle radius r + cr Draw circle radius r + Lx,y Draw Line to x,y + lx,y Draw polyline to x,y (X,Y set to end position: x,y) + px,y second point (for triangles) -> XxYypx,yTx,y + Tx,y fill triangle (X,Y),(px,y),(Tx,y) + tx,y draw triangle (X,Y),(px,y),(tx,y) + Sw,h create sprite and draw string into it. x & y set to 0, background color defined with Kn -> KnkdSw,h + sn draw sprite with transparent color n + Dw,h Degrade rectangle + dn Band height for degrade +*/ + +const char drwStrInit[] = {"K6R240,50K1Y50R240,6X0Y180R240,140"}; +const char drwStrIniStatus[] = {"K7X1Y105R180,35"}; +const char drwStrSpanish[] = {"K2S32,24K6y6R32,12s9"}; +const char drwStrCatalan[] = {"K6S32,24K2y3R32,3y5R32,3y5R32,3y5R32,3s9"}; // quatre barres +const char drwStrEnglish[] = {"K1S32,24" // blue background + "K7x13R6,24X0y9R32,6" // white cross + "X0Y1L11,8y21L11,15X1Y0L12,7y23L12,16" // left white lines + "X19Y7L30,0y9L30,23X20Y8L31,1y7L31,22" // right white lines + "K2X0Y10R32,4x14Y0R4,24" // red cross + "X0Y0L12,8y23L12,15X19Y8L31,0X19Y15L31,23" // red lines + "s9" + }; +const char drwStrGerman[] = {"K0S32,24K2y8R32,8K6y8R32,8s9"}; +const char drwStrClock[] = {"K7C12"}; //{"K7C12K0X97Y138L97,140y6L97,146"}; +const char drwStrSelLok[] = {"K0C21"}; // K10X133Y11R34,26"}; +const char drwStrMenu[] = {"K11L239,40y40L239,80y40L239,120y40L239,160y40L239,200"}; +const char drwStrCfgMenu[] = {"K11L239,40y40L239,80y40L239,120y40L239,160y40L239,200y40L239,240y40L239,280"}; +const char drwStrUtlMenu[] = {"K11L239,40y40L239,80y40L239,120y40L239,160y40L239,200y40L239,240y40L239,280"}; +const char drwStrAbout[] = {"K6R228,50K1y50R228,6y98R228,70"}; +const char drwStrSpdTrk[] = {"K0L199,125K2X81Y133p87,127T93,133X145Y133p151,127T157,133"}; +const char drwStrSpdDel[] = {"K8k16S32,18s9"}; +const char drwStrSteam[] = {"K14p70,0T0,70X32Y0R190,40X170Y0p239,0T239,70X35Y85C25X205Y85C25" // Sky + "K13X103Y32R34,8X101R38,2" // Chimney + "K7X120Y240c100Y300c30X139Y105C31X205Y255L210,255" // Cabin + "K15X37Y132R23,66K2X53Y139p57,135T57,143X53Y189p57,185T57,193" // Water level + }; +const char drwStrWifiScan[] = {"K0R240,257K10Y222L239,222X120Y290C27"}; + +const char drwStrStaPlay[] = {"K1d10D238,220K7X30Y100L210,100"}; + + +enum drwStrObj {DSTR_INIT, DSTR_INIT_STAT, DSTR_ENGLISH, DSTR_SPANISH, DSTR_CATALAN, DSTR_GERMAN, + DSTR_CLOCK, DSTR_SELLOK, DSTR_MENU, DSTR_CFG_MENU, DSTR_UTL_MENU, DSTR_ABOUT, + DSTR_SPEEDO_TRK, DSTR_SPEEDO_BLANK, DSTR_STEAM, DSTR_WIFI_SCAN, DSTR_STATION_PLAY, + MAX_DRAWSTR_OBJ + }; + +typedef struct { // drawStr data + uint16_t x; + uint16_t y; + const char *str; +} wDrawStr; + +wDrawStr drawStrData[MAX_DRAWSTR_OBJ] = { + { 0, 0, drwStrInit}, // DSTR_INIT + { 0, 0, drwStrIniStatus}, // DSTR_INIT_STAT + { 4, 8, drwStrEnglish}, // DSTR_ENGLISH + { 4, 8, drwStrSpanish}, // DSTR_SPANISH + { 4, 8, drwStrCatalan}, // DSTR_CATALAN + { 4, 8, drwStrGerman}, // DSTR_GERMAN + { 36, 141, drwStrClock}, // DSTR_CLOCK + { 58, 24, drwStrSelLok}, // DSTR_SELLOK + { 1, 40, drwStrMenu}, // DSTR_MENU + { 1, 40, drwStrCfgMenu}, // DSTR_CFG_MENU + { 1, 40, drwStrUtlMenu}, // DSTR_UTL_MENU + { 6, 16, drwStrAbout}, // DSTR_ABOUT + { 40, 125, drwStrSpdTrk}, // DSTR_SPEEDO_TRK + { 40, 107, drwStrSpdDel}, // DSTR_SPEEDO_BLANK + { 0, 0, drwStrSteam}, // DSTR_STEAM + { 0, 0, drwStrWifiScan}, // DSTR_WIFI_SCAN + { 1, 0, drwStrStaPlay}, // DSTR_STATION_PLAY +}; + + +//////////////////////////////////////////////////////////// +// ***** CHAR ***** +//////////////////////////////////////////////////////////// + +enum charObj {CHAR_CLK_COLON, CHAR_CV_EQUAL, CHAR_CV_0, CHAR_CV_1, CHAR_CV_2, CHAR_CV_3, CHAR_CV_4, CHAR_CV_5, CHAR_CV_6, CHAR_CV_7, + CHAR_LNCV_EQUAL, CHAR_STA_STAM, CHAR_STA_STAP, CHAR_STA_TURNM, CHAR_STA_TURNP, + MAX_CHAR_OBJ + }; + +typedef struct { // Char data + uint16_t x; + uint16_t y; + char chr; + const GFXfont *font; + uint16_t color; +} wCharObj; + +wCharObj charData[MAX_CHAR_OBJ] = { + { 95, 146, ':', FSSB9, COLOR_BLACK}, // CHAR_CLK_COLON + {135, 65, '=', FSSB12, COLOR_BLACK}, // CHAR_CV_EQUAL + {206, 105, '0', FSSB9, COLOR_BLACK}, // CHAR_CV_0 + {186, 105, '1', FSSB9, COLOR_BLACK}, // CHAR_CV_1 + {166, 105, '2', FSSB9, COLOR_BLACK}, // CHAR_CV_2 + {146, 105, '3', FSSB9, COLOR_BLACK}, // CHAR_CV_3 + {126, 105, '4', FSSB9, COLOR_BLACK}, // CHAR_CV_4 + {106, 105, '5', FSSB9, COLOR_BLACK}, // CHAR_CV_5 + { 86, 105, '6', FSSB9, COLOR_BLACK}, // CHAR_CV_6 + { 66, 105, '7', FSSB9, COLOR_BLACK}, // CHAR_CV_7 + {145, 107, '=', FSSB12, COLOR_BLACK}, // CHAR_LNCV_EQUAL + {132, 70, '-', FSSB12, COLOR_WHITE}, // CHAR_STA_STAM + {210, 70, '+', FSSB12, COLOR_WHITE}, // CHAR_STA_STAP + {132, 110, '-', FSSB12, COLOR_WHITE}, // CHAR_STA_TURNM + {210, 110, '+', FSSB12, COLOR_WHITE}, // CHAR_STA_TURNP +}; + + +//////////////////////////////////////////////////////////// +// ***** FUNCTIONS ***** +//////////////////////////////////////////////////////////// + +#define FNC_WIDTH 32 +#define FNC_HEIGHT 32 +#define FNC_MAX 28 +#define FNC_ICON_MAX 40 + +enum funcIconObj { FNC_BLANK_OFF, FNC_BLANK_ON, FNC_NO_ICON_OFF, FNC_NO_ICON_ON, FNC_FUNC_OFF, FNC_FUNC_ON, FNC_LIGHT_OFF, FNC_LIGHT_ON, FNC_INT_LIGHT_OFF, FNC_INT_LIGHT_ON, + FNC_UNI_LIGHT_OFF, FNC_UNI_LIGHT_ON, FNC_SOUND_OFF, FNC_SOUND_ON, FNC_GEN_SOUND_OFF, FNC_GEN_SOUND_ON, FNC_ANNOUN_OFF, FNC_ANNOUN_ON, FNC_SLOW_OFF, FNC_SLOW_ON, + FNC_ABV_OFF, FNC_ABV_ON, FNC_COUPLER_OFF, FNC_COUPLER_ON, FNC_SMOKE_OFF, FNC_SMOKE_ON, FNC_PANTO_OFF, FNC_PANTO_ON, FNC_BEAM_OFF, FNC_BEAM_ON, + FNC_BELL_OFF, FNC_BELL_ON, FNC_HORN_OFF, FNC_HORN_ON, FNC_WHISTLE_OFF, FNC_WHISTLE_ON, FNC_DOOR_OFF, FNC_DOOR_ON, FNC_FAN_OFF, FNC_FAN_ON, FNC_KOHLE_OFF, FNC_KOHLE_ON, + FNC_SHIFT_OFF, FNC_SHIFT_ON, FNC_PLATE_OFF, FNC_PLATE_ON, FNC_BRAKE_OFF, FNC_BRAKE_ON, FNC_WHEEL_OFF, FNC_WHEEL_ON, FNC_RADIO_OFF, FNC_RADIO_ON, FNC_COUPLERSND_OFF, FNC_COUPLERSND_ON, + FNC_TRACK_OFF, FNC_TRACK_ON, FNC_NOTCHP_OFF, FNC_NOTCHP_ON, FNC_NOTCHM_OFF, FNC_NOTCHM_ON, FNC_PFIFF_OFF, FNC_PFIFF_ON, FNC_UNI_LIGHT2_OFF, FNC_UNI_LIGHT2_ON, + FNC_CURVE_OFF, FNC_CURVE_ON, FNC_COMPR_OFF, FNC_COMPR_ON, FNC_AIRBLOW_OFF, FNC_AIRBLOW_ON, FNC_FIRBOX_OFF, FNC_FIREBOX_ON, FNC_SAND_OFF, FNC_SAND_ON, FNC_TABLE_OFF, FNC_TABLE_ON, + FNC_CABIN_OFF, FNC_CABIN_ON, FNC_MUTE_OFF, FNC_MUTE_ON, FNC_DIESEL_OFF, FNC_DIESEL_ON, + FNC_NEXT_OFF, FNC_NEXT_ON, FNC_PREV_OFF, FNC_PREV_ON, FNC_CV_OFF, FNC_CV_ON, FNC_VALVE_OFF, FNC_VALVE_ON, FNC_FIRE_CL_OFF, FNC_FIRE_CL_ON, FNC_FIRE_OP_OFF, FNC_FIRE_OP_ON, + FNC_ST_SMOKE_OFF, FNC_ST_SMOKE_ON, + FNC_TURNLD_OFF, FNC_TURNLD_ON, FNC_TURNLS_OFF, FNC_TURNLS_ON, FNC_TURNRD_OFF, FNC_TURNRD_ON, FNC_TURNRS_OFF, FNC_TURNRS_ON, + FNC_TURN3L_OFF, FNC_TURN3L_ON, FNC_TURN3R_OFF, FNC_TURN3R_ON, FNC_TURN3S_OFF, FNC_TURN3S_ON, FNC_CROSD_OFF, FNC_CROSD_ON, FNC_CROSS_OFF, FNC_CROSS_ON, + FNC_SIGRY_OFF, FNC_SIGRY_ON, FNC_SIGGW_OFF, FNC_SIGGW_ON, FNC_SEMR_OFF, FNC_SEMR_ON, FNC_SEMG_OFF, FNC_SEMG_ON, FNC_SEMY_OFF, FNC_SEMY_ON, FNC_PANR_OFF, FNC_PANR_ON, + FNC_PANG_OFF, FNC_PANG_ON, FNC_TTL_OFF, FNC_TTL_ON, FNC_TTR_OFF, FNC_TTR_ON, FNC_TTROT_OFF, FNC_TTROT_ON, FNC_TTTRK_OFF, FNC_TTTRK_ON, FNC_POWER_OFF, FNC_POWER_ON, + FNC_KEYPAD_OFF, FNC_KEYPAD_ON, FNC_DCROSSS1_OFF, FNC_DCROSSS1_ON, FNC_DCROSSS2_OFF, FNC_DCROSSS2_ON, FNC_DCROSSD1_OFF, FNC_DCROSSD1_ON, FNC_DCROSSD2_OFF, FNC_DCROSSD2_ON, + FNC_BRETELLED_OFF, FNC_BRETELLED_ON, FNC_BRETELLE_OFF, FNC_BRETELLE_ON, FNC_ACC_OFF, FNC_ACC_ON, FNC_STAR_OFF, FNC_STAR_ON, FNC_RAYO_OFF, FNC_RAYO_ON, + }; + +const unsigned char* funcIcon[] = { + blank32, blank32, + blank32, full32, + func_off, func_on, + light_off, light_on, + intlight_off, intlight_on, + unilight_off, unilight_on, + snd_off, snd_on, + gensnd_off, gensnd_on, + announce_off, announce_on, + maniobra_off, maniobra_on, + abv_off, abv_on, + uncoupler_off, uncoupler_on, + smoke_off, smoke_on, + panto_off, panto_on, + beam_off, beam_on, + bell_off, bell_on, + horn_off, horn_on, + whistle_off, whistle_on, + door_off, door_on, + fan_off, fan_on, + kohle_off, kohle_on, + shift_off, shift_on, + plate_off, plate_on, + brake_off, brake_on, + wheel_off, wheel_on, + radio_off, radio_on, + couplersnd_off, couplersnd_on, + track_off, track_on, + notchp_off, notchp_on, + notchm_off, notchm_on, + pfiff_off, pfiff_on, + unilight2_off, unilight2_on, + curve_off, curve_on, + compr_off, compr_on, + airblow_off, airblow_on, + firebox_off, firebox_on, + sand_off, sand_on, + table_off, table_on, + cabin_off, cabin_on, + mute_off, mute_on, + diesel_off, diesel_on, + nextP, nextP_on, + prevP, prevP_on, + readCV_off, readCV_on, + valve_off, valve_on, + fire_close_off, fire_close_on, + fire_open_off, fire_open_on, + steam_smoke_off, steam_smoke_on, + + turnL_off, tripleL_on, + turnLS_off, tripleS_on, + turnR_off, tripleR_on, + turnRS_off, tripleS_on, + tripleL_off, tripleL_on, + tripleR_off, tripleR_on, + tripleS_off, tripleS_on, + crossS2_off, crossS2_on, + crossS1_off, crossS1_on, + sig_off, sigRY_on, + sig_off, sigG_on, + semR_off, semR_on, + semG_off, semG_on, + semY_off, semY_on, + panR_off, panR_on, + panG_off, panG_on, + movG_off, movG_on, + movR_off, movR_on, + rotTT_off, rotTT_on, + outTT_off, blank32, + power, blank32, + keypad_off, keypad_on, + dcrossS1_off, dcrossS1_on, // + dcrossS2_off, dcrossS2_on, // + dcrossD1_off, dcrossD1_on, // + dcrossD2_off, dcrossD2_on, // + bretelleR_off, bretelleR_on, + bretelleG_off, bretelleG_on, + accPanel_off, accPanel_on, + + star_off, star_on, + rayo_off, rayo_on, +}; + +enum funcObj {FNC_FX0, FNC_FX1, FNC_FX2, FNC_FX3, FNC_FX4, FNC_FX5, FNC_FX6, FNC_FX7, FNC_FX8, FNC_FX9, + FNC_F0, FNC_F1, FNC_F2, FNC_F3, FNC_F4, FNC_F5, FNC_F6, FNC_F7, FNC_F8, FNC_F9, + FNC_F10, FNC_F11, FNC_F12, FNC_F13, FNC_F14, FNC_F15, FNC_F16, FNC_F17, FNC_F18, FNC_F19, + FNC_F20, FNC_F21, FNC_F22, FNC_F23, FNC_F24, FNC_F25, FNC_F26, FNC_F27, FNC_F28, + FNC_CHG, FNC_SPEEDO_DIR, FNC_CV_READ, FNC_ST_WATER, FNC_ST_WHISTLE, FNC_ST_TENDER, FNC_ST_FIRE, + FNC_ST_SMOKE, FNC_UTL_STEAM, FNC_ACC0, FNC_ACC1, FNC_ACC2, FNC_ACC3, FNC_ACC4, FNC_ACC5, + FNC_ACC6, FNC_ACC7, FNC_ACC8, FNC_ACC9, FNC_ACC10, FNC_ACC11, FNC_ACC12, FNC_ACC13, FNC_ACC14, + FNC_ACC15, FNC_ASPECT0, FNC_ASPECT1, FNC_ASPECT2, FNC_ASPECT3, FNC_ACC_TYPE, + FNC_EDIT_ASPECT0, FNC_EDIT_ASPECT1, FNC_EDIT_ASPECT2, FNC_EDIT_ASPECT3, FNC_ACC_PANEL, FNC_SEL_KEYPAD, + FNC_SCAN_RESET, FNC_STA_STARS, FNC_STA_DIR, FNC_STA_ACC0, FNC_STA_ACC1, FNC_STA_ACC2, FNC_STA_ACC3, + FNC_STA_STARC, FNC_STA_STAR1, FNC_STA_STAR2, FNC_STA_RAYO, + MAX_FNC_OBJ + }; + +typedef struct { // Function data + uint16_t x; + uint16_t y; + uint8_t num; + bool state; + uint16_t idIcon; + uint16_t color; + uint16_t colorOn; + uint16_t backgnd; +} wFncObj; + +wFncObj fncData[MAX_FNC_OBJ] = { + { 6, 80, 0, false, FNC_LIGHT_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX0 + { 6, 120, 1, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX1 + { 6, 160, 2, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX2 + { 6, 200, 3, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX3 + { 6, 240, 4, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX4 + {202, 80, 5, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX5 + {202, 120, 6, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX6 + {202, 160, 7, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX7 + {202, 200, 8, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX8 + {202, 240, 9, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX9 + + { 4, 80, 0, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F0 + { 44, 80, 1, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F1 + { 84, 80, 2, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F2 + {124, 80, 3, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F3 + {164, 80, 4, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F4 + {204, 80, 5, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F5 + { 4, 120, 6, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F6 + { 44, 120, 7, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F7 + { 84, 120, 8, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F8 + {124, 120, 9, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F9 + {164, 120, 10, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F10 + {204, 120, 11, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F11 + { 4, 160, 12, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F12 + { 44, 160, 13, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F13 + { 84, 160, 14, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F14 + {124, 160, 15, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F15 + {164, 160, 16, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F16 + {204, 160, 17, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F17 + { 4, 200, 18, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F18 + { 44, 200, 19, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F19 + { 84, 200, 20, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F20 + {124, 200, 21, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F21 + {164, 200, 22, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F22 + {204, 200, 23, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F23 + { 4, 240, 24, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F24 + { 44, 240, 25, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F25 + { 84, 240, 26, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F26 + {124, 240, 27, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F27 + {164, 240, 28, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F28 + + {104, 150, 99, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_CHG + + {104, 204, 99, true, FNC_NEXT_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_SPEEDO_DIR + { 29, 179, 99, true, FNC_CV_OFF, COLOR_BLACK, COLOR_ORANGE, COLOR_CREAM}, // FNC_CV_READ + + { 30, 210, 99, true, FNC_VALVE_OFF, COLOR_WHITE, COLOR_RED, COLOR_BLACK}, // FNC_ST_WATER + { 80, 55, 99, false, FNC_WHISTLE_OFF, COLOR_ORANGE, COLOR_YELLOW, COLOR_BLACK}, // FNC_ST_WHISTLE + { 43, 270, 99, true, FNC_VALVE_OFF, COLOR_WHITE, COLOR_RED, COLOR_BLACK}, // FNC_ST_TENDER + {104, 285, 99, true, FNC_FIRE_CL_OFF, COLOR_SILVER, COLOR_RED, COLOR_BLACK}, // FNC_ST_FIRE + {104, 0, 99, false, FNC_ST_SMOKE_OFF, COLOR_DARKGREY, COLOR_GHOST_WHITE, COLOR_SKYBLUE}, // FNC_ST_SMOKE + + { 4, 44, 99, true, FNC_SMOKE_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_WHITE}, // FNC_UTL_STEAM + + { 14, 14, 99, true, FNC_TURNLD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC0 + { 74, 14, 99, true, FNC_TURNLS_OFF, COLOR_BLACK, COLOR_GREEN, COLOR_LIGHTGREY}, // FNC_ACC1 + {134, 14, 99, true, FNC_TURNRD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC2 + {194, 14, 99, true, FNC_TURNRS_OFF, COLOR_BLACK, COLOR_GREEN, COLOR_LIGHTGREY}, // FNC_ACC3 + { 14, 84, 99, true, FNC_TURN3L_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC4 + { 74, 84, 99, true, FNC_TURN3R_OFF, COLOR_BLACK, COLOR_GREEN, COLOR_LIGHTGREY}, // FNC_ACC5 + {134, 84, 99, true, FNC_TURN3S_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC6 + {194, 84, 99, true, FNC_CROSD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC7 + { 14, 154, 99, true, FNC_CROSS_OFF, COLOR_BLACK, COLOR_GREEN, COLOR_LIGHTGREY}, // FNC_ACC8 + { 74, 154, 99, true, FNC_SIGRY_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC9 + {134, 154, 99, true, FNC_SIGGW_OFF, COLOR_BLACK, COLOR_GREEN, COLOR_LIGHTGREY}, // FNC_ACC10 + {194, 154, 3, true, FNC_SIGRY_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_LIGHTGREY}, // FNC_ACC11 + { 14, 224, 4, true, FNC_SIGGW_OFF, COLOR_BLACK, COLOR_WHITE, COLOR_LIGHTGREY}, // FNC_ACC12 + { 74, 224, 99, true, FNC_SEMR_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC13 + {134, 224, 99, true, FNC_SEMG_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC14 + {194, 224, 99, true, FNC_SEMY_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC15 + + { 29, 119, 99, true, FNC_BLANK_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ASPECT0 + { 79, 119, 99, true, FNC_BLANK_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ASPECT1 + {129, 119, 99, true, FNC_BLANK_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ASPECT2 + {179, 119, 99, true, FNC_BLANK_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ASPECT3 + + {104, 150, 99, true, FNC_BLANK_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_LIGHTGREY}, // FNC_ACC_TYPE + + { 20, 84, 99, true, FNC_NO_ICON_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_EDIT_ASPECT0 + { 20, 124, 99, true, FNC_NO_ICON_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_EDIT_ASPECT1 + { 20, 164, 99, true, FNC_NO_ICON_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_EDIT_ASPECT2 + { 20, 204, 99, true, FNC_NO_ICON_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_EDIT_ASPECT3 + + { 45, 284, 99, true, FNC_ACC_OFF, COLOR_BLACK, COLOR_RED, COLOR_BACKGROUND}, // FNC_ACC_PANEL + {134, 8, 99, true, FNC_KEYPAD_OFF, COLOR_BLACK, COLOR_CYAN, COLOR_WHITE}, // FNC_SEL_KEYPAD + {104, 272, 99, false, FNC_POWER_OFF, COLOR_RED, COLOR_RED, COLOR_GHOST_WHITE}, // FNC_SCAN_RESET + + { 10, 90, 99, true, FNC_STAR_OFF, COLOR_ORANGE, COLOR_YELLOW, COLOR_BLUE}, // FNC_STA_STARS + {104, 154, 99, true, FNC_NEXT_OFF, COLOR_ORANGE, COLOR_WHITE, COLOR_BLUE - 0x0010}, // FNC_STA_DIR + { 20, 254, 1, true, FNC_TURNLD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_STA_ACC0 + { 76, 254, 2, true, FNC_TURNLD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_STA_ACC1 + {132, 254, 3, true, FNC_TURNLD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_STA_ACC2 + {188, 254, 4, true, FNC_TURNLD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_STA_ACC3 + { 25, 130, 99, true, FNC_STAR_OFF, COLOR_ORANGE, COLOR_YELLOW, COLOR_BLUE - 0x000D}, // FNC_STA_STARC + { 30, 129, 99, true, FNC_STAR_OFF, COLOR_ORANGE, COLOR_YELLOW, COLOR_WHITE}, // FNC_STA_STAR1 + { 42, 161, 99, true, FNC_STAR_OFF, COLOR_ORANGE, COLOR_YELLOW, COLOR_WHITE}, // FNC_STA_STAR2 + {200, 5, 99, false, FNC_RAYO_OFF, COLOR_DARKGREY, COLOR_YELLOW, COLOR_BLUE}, // FNC_STA_RAYO +}; + + +//////////////////////////////////////////////////////////// +// ***** ICON ***** +//////////////////////////////////////////////////////////// + +enum iconObj {ICON_PACO, ICON_SDCARD, ICON_NO_SD, ICON_WIFI, ICON_NO_WIFI, ICON_WIFI_SSID, ICON_WIFI_CLOSE, ICON_WIFI_CFG, + ICON_WIFI_OK, ICON_PWD_OK, ICON_PWD_CNCL, ICON_PROT_OK, + ICON_CAL_OK, ICON_MENU, ICON_FNEXT, ICON_FWD, ICON_REV, ICON_POWER, ICON_WARNING, ICON_WARNING_ON, + ICON_BLIGHT, ICON_SET_CLOCK, ICON_CLOCK_OK, ICON_CLOCK_CNCL, ICON_INFO, ICON_LOK_EDIT, ICON_SEL_LOK,/* ICON_KEYB,*/ + ICON_LAST_UP, ICON_NUM_UP, ICON_NUM_DWN, ICON_NAME_UP, ICON_NAME_DWN, ICON_EDIT_SAVE, ICON_EDIT_DEL, ICON_EDIT_CNCL, + ICON_FNC_OK, ICON_FNC_CNCL, ICON_PREV_IMAGE, ICON_NEXT_IMAGE, ICON_INIT_LOCO, + ICON_MENU_DRIVE, ICON_MENU_ACC, ICON_MENU_CV, ICON_MENU_CFG, ICON_MENU_UTILS, + ICON_CFG_OK, ICON_CFG_CNCL, ICON_CFG_SCR, ICON_CFG_SPD, ICON_CFG_WIFI, ICON_CFG_FCLK, ICON_CFG_LOCK, ICON_CFG_ABOUT, ICON_CFG_EXIT, + ICON_CFG_TOUCH, ICON_SCR_OK, ICON_SCR_CNCL, ICON_SPD_OK, ICON_STOP, ICON_ABOUT_PACO, ICON_LOCK, ICON_OPT_OK, ICON_ESTOP, + ICON_SPEEDO_LOK, ICON_SPEEDO_CNCL, ICON_SPEEDO_RADAR, ICON_SPEEDO_CV, ICON_CV_CNCL, ICON_WAIT, ICON_WAIT_CV, ICON_ADDR, ICON_ADDR_CNCL, + ICON_MANOMETER, ICON_STEAM_CNCL, ICON_STEAM_EDIT, ICON_UTL_SPEED, ICON_UTL_EXIT, ICON_SURE_OK, ICON_SURE_CNCL, ICON_FIND_LNCV, + ICON_ACC_CNCL, ICON_ACC_EDIT, ICON_TYPE_OK, ICON_TYPE_CNCL, ICON_KEYB_ACC, ICON_PLUS_ONE, ICON_UTL_SCAN, ICON_UTL_STA, + ICON_STA_CLOCK, ICON_STA_STATION, ICON_STA_EDIT, ICON_STA_CNCL, ICON_STA_TARGET, ICON_STA_TRAIN, ICON_STA_PIN, ICON_STA_TIME, ICON_STA_COUNT, + ICON_STA_STOP, ICON_STA_TIMEOUT, ICON_STA_OK, + MAX_ICON_OBJ + }; + +typedef struct { // icon data + uint16_t x; + uint16_t y; + uint16_t w; + uint16_t h; + uint16_t color; + const uint8_t *bitmap; // img2cpp: Arduino Code output. Draw Mode set to Horizontal - 1 bit per pixel. Invert image colors +} wIconObj; + +wIconObj iconData[MAX_ICON_OBJ] = { + {185, 65, 44, 64, COLOR_BLACK, cara_paco44x64}, // ICON_PACO + { 20, 68, 16, 16, COLOR_BLACK, sdcard}, // ICON_SDCARD + { 28, 76, 16, 16, COLOR_RED, cancel}, // ICON_NO_SD + { 65, 64, 32, 24, COLOR_BLACK, wifi}, // ICON_WIFI + { 85, 76, 16, 16, COLOR_RED, cancel}, // ICON_NO_WIFI + { 10, 12, 32, 24, COLOR_BLACK, wifi}, // ICON_WIFI_SSID + {202, 15, 16, 16, COLOR_RED, cancel}, // ICON_WIFI_CLOSE + {104, 10, 32, 24, COLOR_BLACK, wifi}, // ICON_WIFI_CFG + { 37, 284, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_WIFI_OK + {117, 294, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_PWD_OK + {197, 294, 16, 16, COLOR_RED, cancel}, // ICON_PWD_CNCL + {187, 274, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_PROT_OK + {112, 152, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_CAL_OK + {203, 1, 32, 32, COLOR_BLACK, menu}, // ICON_MENU + {203, 288, 32, 24, COLOR_BLACK, fncnxt}, // ICON_FNEXT + {154, 100, 16, 16, COLOR_NAVY, arrowR}, // ICON_FWD + { 70, 100, 16, 16, COLOR_DARKGREY, arrowL}, // ICON_REV + { 3, 1, 32, 32, COLOR_DARKGREY, power}, // ICON_POWER + { 25, 144, 32, 32, COLOR_BLACK, warning_off}, // ICON_WARNING + { 25, 144, 32, 32, COLOR_YELLOW, warning_on}, // ICON_WARNING_ON + { 30, 90, 24, 24, COLOR_BLACK, brillo}, // ICON_BLIGHT + { 25, 130, 24, 24, COLOR_BLACK, Clock}, // ICON_SET_CLOCK + { 42, 224, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_CLOCK_OK (+17,+4) + { 97, 224, 16, 16, COLOR_RED, cancel}, // ICON_CLOCK_CNCL + { 25, 144, 32, 32, COLOR_NAVY, info}, // ICON_INFO + {108, 288, 24, 24, COLOR_BLACK, wrench}, // ICON_LOK_EDIT + { 42, 8, 32, 32, COLOR_WHITE, sel_lok}, // ICON_SEL_LOK + //{134, 12, 32, 24, COLOR_BLACK, keyb}, // ICON_KEYB // keyboard + //{134, 8, 32, 32, COLOR_WHITE, keypad_off}, // ICON_KEYB // keypad + { 10, 12, 16, 24, COLOR_BLACK, last_up}, // ICON_LAST_UP + { 10, 12, 16, 24, COLOR_BLACK, num_up}, // ICON_NUM_UP + { 10, 12, 16, 24, COLOR_BLACK, num_dwn}, // ICON_NUM_DWN + { 10, 12, 16, 24, COLOR_BLACK, name_up}, // ICON_NAME_UP + { 10, 12, 16, 24, COLOR_BLACK, name_dwn}, // ICON_NAME_DWN + { 37, 294, 16, 16, COLOR_BLACK, sdcard}, // ICON_EDIT_SAVE + {117, 294, 16, 16, COLOR_BLACK, trash}, // ICON_EDIT_DEL + {197, 294, 16, 16, COLOR_RED, cancel}, // ICON_EDIT_CNCL + {117, 294, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_FNC_OK + {197, 294, 16, 16, COLOR_RED, cancel}, // ICON_FNC_CNCL + { 5, 284, 32, 32, COLOR_BLACK, prevP}, // ICON_PREV_IMAGE + {204, 284, 32, 32, COLOR_BLACK, nextP}, // ICON_NEXT_IMAGE + {125, 64, 32, 24, COLOR_BLACK, sel_lok}, // ICON_INIT_LOCO + { 4, 8, 32, 24, COLOR_WHITE, sel_lok}, // ICON_MENU_DRIVE + { 4, 44, 32, 32, COLOR_WHITE, accessory}, // ICON_MENU_ACC + { 4, 84, 32, 32, COLOR_WHITE, prgCV}, // ICON_MENU_CV + { 4, 124, 32, 32, COLOR_WHITE, configure}, // ICON_MENU_CFG + { 8, 168, 24, 24, COLOR_WHITE, wrench}, // ICON_MENU_UTILS + { 4, 8, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_CFG_OK + { 4, 8, 16, 16, COLOR_RED, cancel}, // ICON_CFG_CNCL + { 4, 44, 32, 32, COLOR_RED, screen}, // ICON_CFG_SCR + { 4, 88, 32, 24, COLOR_BLACK, sel_lok}, // ICON_CFG_SPD + { 4, 128, 32, 24, COLOR_BLACK, wifi}, // ICON_CFG_WIFI + { 8, 168, 24, 24, COLOR_BLACK, Clock}, // ICON_CFG_FCLK + { 8, 208, 24, 24, COLOR_BLACK, padlock}, // ICON_CFG_LOCK + { 4, 244, 32, 32, COLOR_NAVY, info}, // ICON_CFG_ABOUT + { 4, 284, 32, 32, COLOR_BLACK, prevP}, // ICON_CFG_EXIT + {170, 178, 24, 24, COLOR_BLACK, touchscr}, // ICON_CFG_TOUCH + { 47, 182, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_SCR_OK + {107, 182, 16, 16, COLOR_RED, cancel}, // ICON_SCR_CNCL + {112, 242, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_SPD_OK + { 20, 180, 32, 32, COLOR_RED, stop0}, // ICON_STOP + {165, 75, 44, 64, COLOR_BLACK, cara_paco44x64}, // ICON_ABOUT_PACO + {108, 238, 24, 24, COLOR_BLACK, padlock}, // ICON_LOCK + {112, 242, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_OPT_OK + { 25, 144, 32, 32, COLOR_RED, stop0}, // ICON_ESTOP + { 40, 100, 32, 24, COLOR_MAROON, sel_lok}, // ICON_SPEEDO_LOK + {197, 204, 16, 16, COLOR_RED, cancel}, // ICON_SPEEDO_CNCL + { 40, 142, 32, 24, COLOR_BLACK, radar}, // ICON_SPEEDO_RADAR + { 19, 195, 32, 32, COLOR_BLACK, prgCV}, // ICON_SPEEDO_CV + { 37, 291, 16, 16, COLOR_RED, cancel}, // ICON_CV_CNCL + { 49, 148, 24, 24, COLOR_BLACK, Clock}, // ICON_WAIT + { 45, 144, 32, 32, COLOR_BLACK, prgCV}, // ICON_WAIT_CV + { 45, 40, 32, 24, COLOR_BLACK, sel_lok}, // ICON_ADDR + {112, 291, 16, 16, COLOR_RED, cancel}, // ICON_ADDR_CNCL + {110, 75, 60, 60, COLOR_BLACK, manometro_bar}, // ICON_MANOMETER + {212, 12, 16, 16, COLOR_RED, cancel}, // ICON_STEAM_CNCL + {165, 260, 24, 24, COLOR_SILVER, wrench}, // ICON_STEAM_EDIT + { 4, 8, 32, 24, COLOR_BLACK, radar}, // ICON_UTL_SPEED + { 4, 284, 32, 32, COLOR_BLACK, prevP}, // ICON_UTL_EXIT + {102, 169, 16, 16, COLOR_DARKGREEN, ok}, // ICON_SURE_OK + {162, 169, 16, 16, COLOR_RED, cancel}, // ICON_SURE_CNCL + {184, 29, 32, 32, COLOR_BLACK, search}, // ICON_FIND_LNCV + { 20, 292, 16, 16, COLOR_RED, cancel}, // ICON_ACC_CNCL + {204, 288, 24, 24, COLOR_BLACK, wrench}, // ICON_ACC_EDIT + { 57, 294, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_TYPE_OK + {167, 294, 16, 16, COLOR_RED, cancel}, // ICON_TYPE_CNCL + {152, 242, 16, 16, COLOR_RED, cancel}, // ICON_KEYB_ACC + {192, 13, 32, 24, COLOR_BLACK, plus_one}, // ICON_PLUS_ONE + { 4, 88, 32, 24, COLOR_BLACK, wifi}, // ICON_UTL_SCAN + { 4, 124, 32, 32, COLOR_BLACK, sel_lok}, // ICON_UTL_STA + {120, 94, 24, 24, COLOR_WHITE, gameclock}, // ICON_STA_CLOCK + {120, 45, 48, 32, COLOR_GREEN, station}, // ICON_STA_STATION + {200, 280, 24, 24, COLOR_WHITE, wrench}, // ICON_STA_EDIT + { 42, 284, 16, 16, COLOR_YELLOW, cancel}, // ICON_STA_CNCL + { 45, 69, 48, 32, COLOR_SILVER, station}, // ICON_STA_TARGET + {140, 69, 48, 32, COLOR_WHITE, train}, // ICON_STA_TRAIN + { 53, 39, 32, 32, COLOR_ORANGE, targetpin}, // ICON_STA_PIN + {120, 5, 24, 24, COLOR_WHITE, gameclock}, // ICON_STA_TIME + { 10, 2, 48, 32, COLOR_GREENYELLOW, station}, // ICON_STA_COUNT + {192, 162, 16, 16, COLOR_YELLOW, cancel}, // ICON_STA_STOP + {24, 148, 24, 24, COLOR_BLACK, gameclock}, // ICON_STA_TIMEOUT + {203, 18, 16, 16, COLOR_YELLOW, ok}, // ICON_STA_OK +}; + + +//////////////////////////////////////////////////////////// +// ***** BUTTON ***** +//////////////////////////////////////////////////////////// + +enum buttonObj {BUT_CAL_OK, BUT_SSID_CLOSE, BUT_WIFI_OK, BUT_PWD_OK, BUT_PWD_CNCL, BUT_PROT_OK, BUT_OPTIONS, + BUT_CLOCK_OK, BUT_CLOCK_CNCL, + BUT_EDIT_OK, BUT_EDIT_DEL, BUT_EDIT_CNCL, BUT_EDIT_FUNC, BUT_NAME_OK, BUT_NAME_CNCL, + BUT_FNC_OK, BUT_FNC_CNCL, BUT_IMAGE_CNCL, + BUT_MENU_I_DRIVE, BUT_MENU_I_ACC, BUT_MENU_I_CV, BUT_MENU_I_CFG, BUT_MENU_I_UTILS, + BUT_MENU_T_DRIVE, BUT_MENU_T_ACC, BUT_MENU_T_CV, BUT_MENU_T_CFG, BUT_MENU_T_UTILS, + BUT_CFG_I_LANG, BUT_CFG_I_SCR, BUT_CFG_I_SPD, BUT_CFG_I_WIFI, BUT_CFG_I_FCLK, BUT_CFG_I_LOCK, BUT_CFG_I_ABOUT, + BUT_CFG_T_LANG, BUT_CFG_T_SCR, BUT_CFG_T_SPD, BUT_CFG_T_WIFI, BUT_CFG_T_FCLK, BUT_CFG_T_LOCK, BUT_CFG_T_ABOUT, + BUT_CFG_TOUCH, BUT_SCR_OK, BUT_SCR_CNCL, BUT_SPD_OK, BUT_LOCK, BUT_OPT_OK, + BUT_SPEEDO_CNCL, BUT_SPEEDO_CV, BUT_SPEEDO_H0, BUT_SPEEDO_N, BUT_SPEEDO_TT, BUT_SPEEDO_Z, BUT_SPEEDO_0, + BUT_CV_ADDR, BUT_CV_SPD_L, BUT_CV_SPD_M, BUT_CV_SPD_H, BUT_CV_ACC, BUT_CV_DEC, BUT_CV_CFG, BUT_CV_MAN, + BUT_CV_READ, BUT_CV_CNCL, BUT_CV_LNCV, BUT_CV_0, BUT_CV_1, BUT_CV_2, BUT_CV_3, BUT_CV_4, BUT_CV_5, BUT_CV_6, BUT_CV_7, BUT_ADDR_CNCL, + BUT_UTL_I_SPEEDO, BUT_UTL_I_STEAM, BUT_UTL_I_SCAN, BUT_UTL_I_STA, BUT_UTL_T_SPEEDO, BUT_UTL_T_STEAM, BUT_UTL_T_SCAN, BUT_UTL_T_STA, + BUT_STEAM_CNCL, BUT_SURE_OK, BUT_SURE_CNCL, BUT_LNCV_FIND, BUT_LNCV_CNCL, BUT_ACC_0, BUT_ACC_1, BUT_ACC_2, BUT_ACC_3, BUT_ACC_4, + BUT_ACC_5, BUT_ACC_6, BUT_ACC_7, BUT_ACC_8, BUT_ACC_9, BUT_ACC_10, BUT_ACC_11, BUT_ACC_12, BUT_ACC_13, BUT_ACC_14, BUT_ACC_15, + BUT_ACC_CNCL, BUT_ACC_EDIT, BUT_ACC_RED, BUT_ACC_GREEN, BUT_ACC_ASPECT0, BUT_ACC_ASPECT1, BUT_ACC_ASPECT2, BUT_ACC_ASPECT3, + BUT_ACC_OUT0, BUT_ACC_OUT1, BUT_ACC_OUT2, BUT_ACC_OUT3, BUT_ACC_OUT4, BUT_ACC_OUT5, BUT_ACC_OUT6, BUT_ACC_OUT7, + BUT_ACC_OUT8, BUT_ACC_OUT9, BUT_ACC_OUT10, BUT_ACC_OUT11, BUT_ACC_OUT12, BUT_ACC_OUT13, BUT_ACC_OUT14, BUT_ACC_OUT15, + BUT_TYPE_OK, BUT_TYPE_CNCL, BUT_STA_START, BUT_STA_CNCL, BUT_STA_ACC0, BUT_STA_ACC1, BUT_STA_ACC2, BUT_STA_ACC3, BUT_STA_STOP, + BUT_STA_EDIT, BUT_STA_STAM, BUT_STA_STAP, BUT_STA_TURNM, BUT_STA_TURNP, + MAX_BUT_OBJ + }; + +typedef struct { // button data + uint16_t x; + uint16_t y; + uint16_t w; + uint16_t h; + uint16_t border; + uint16_t backgnd; + uint16_t objType; + uint16_t objID; +} wButtonObj; + +wButtonObj buttonData[MAX_BUT_OBJ] = { + {100, 145, 40, 30, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_CAL_OK}, // BUT_CAL_OK + {190, 10, 40, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_WIFI_CLOSE}, // BUT_SSID_CLOSE + { 10, 280, 70, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_WIFI_OK}, // BUT_WIFI_OK + {100, 290, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_PWD_OK}, // BUT_PWD_OK + {180, 290, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_PWD_CNCL}, // BUT_PWD_CNCL + {160, 265, 70, 34, COLOR_AQUA, COLOR_LIGHTBLACK, OBJ_ICON, ICON_PROT_OK}, // BUT_PROT_OK + { 10, 265, 120, 34, COLOR_AQUA, COLOR_LIGHTBLACK, OBJ_LABEL, LBL_OPTIONS}, // BUT_OPTIONS + { 25, 220, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_CLOCK_OK}, // BUT_CLOCK_OK + { 80, 220, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_CLOCK_CNCL}, // BUT_CLOCK_CNCL + { 20, 290, 50, 24, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_EDIT_SAVE}, // BUT_EDIT_OK + {100, 290, 50, 24, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_EDIT_DEL}, // BUT_EDIT_DEL + {180, 290, 50, 24, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_EDIT_CNCL}, // BUT_EDIT_CNCL + { 60, 220, 120, 26, COLOR_AQUA, COLOR_CREAM, OBJ_LABEL, LBL_FUNC}, // BUT_EDIT_FUNC + {100, 290, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_PWD_OK}, // BUT_NAME_OK + {180, 290, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_PWD_CNCL}, // BUT_NAME_CNCL + {100, 290, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_FNC_OK}, // BUT_FNC_OK + {180, 290, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_FNC_CNCL}, // BUT_FNC_CNCL + {190, 10, 40, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_WIFI_CLOSE}, // BUT_IMAGE_CNCL + { 1, 1, 39, 39, COLOR_BLACK, COLOR_BLACK, OBJ_ICON, ICON_MENU_DRIVE}, // BUT_MENU_I_DRIVE + { 1, 41, 39, 39, COLOR_BLACK, COLOR_BLACK, OBJ_ICON, ICON_MENU_ACC}, // BUT_MENU_I_ACC + { 1, 81, 39, 39, COLOR_BLACK, COLOR_BLACK, OBJ_ICON, ICON_MENU_CV}, // BUT_MENU_I_CV + { 1, 121, 39, 39, COLOR_BLACK, COLOR_BLACK, OBJ_ICON, ICON_MENU_CFG}, // BUT_MENU_I_CFG + { 1, 161, 39, 39, COLOR_BLACK, COLOR_BLACK, OBJ_ICON, ICON_MENU_UTILS}, // BUT_MENU_I_UTILS + { 41, 1, 198, 39, COLOR_BLACK, COLOR_BLACK, OBJ_LABEL, LBL_MENU_DRIVE}, // BUT_MENU_T_DRIVE + { 41, 41, 198, 39, COLOR_BLACK, COLOR_BLACK, OBJ_LABEL, LBL_MENU_ACC}, // BUT_MENU_T_ACC + { 41, 81, 198, 39, COLOR_BLACK, COLOR_BLACK, OBJ_LABEL, LBL_MENU_CV}, // BUT_MENU_T_CV + { 41, 121, 198, 39, COLOR_BLACK, COLOR_BLACK, OBJ_LABEL, LBL_MENU_CFG}, // BUT_MENU_T_CFG + { 41, 161, 198, 39, COLOR_BLACK, COLOR_BLACK, OBJ_LABEL, LBL_MENU_UTILS}, // BUT_MENU_T_UTILS + { 1, 1, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_DRAWSTR, DSTR_ENGLISH}, // BUT_CFG_I_LANG + { 1, 41, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_CFG_SCR}, // BUT_CFG_I_SCR + { 1, 81, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_CFG_SPD}, // BUT_CFG_I_SPD + { 1, 121, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_CFG_WIFI}, // BUT_CFG_I_WIFI + { 1, 161, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_CFG_FCLK}, // BUT_CFG_I_FCLK + { 1, 201, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_CFG_LOCK}, // BUT_CFG_I_LOCK + { 1, 241, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_CFG_ABOUT}, // BUT_CFG_I_ABOUT + { 41, 1, 198, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CFG_LANG}, // BUT_CFG_T_LANG + { 41, 41, 198, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CFG_SCR}, // BUT_CFG_T_SCR + { 41, 81, 198, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CFG_SPD}, // BUT_CFG_T_SPD + { 41, 121, 198, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CFG_WIFI}, // BUT_CFG_T_WIFI + { 41, 161, 198, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CFG_FCLK}, // BUT_CFG_T_FCLK + { 41, 201, 198, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CFG_LOCK}, // BUT_CFG_T_LOCK + { 41, 241, 198, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CFG_ABOUT}, // BUT_CFG_T_ABOUT + {150, 170, 60, 40, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_CFG_TOUCH}, // BUT_CFG_TOUCH + { 30, 170, 50, 40, COLOR_AQUA, COLOR_LIGHTBLACK, OBJ_ICON, ICON_SCR_OK}, // BUT_SCR_OK + { 90, 170, 50, 40, COLOR_AQUA, COLOR_LIGHTBLACK, OBJ_ICON, ICON_SCR_CNCL}, // BUT_SCR_CNCL + { 95, 230, 50, 40, COLOR_AQUA, COLOR_LIGHTBLACK, OBJ_ICON, ICON_SPD_OK}, // BUT_SPD_OK + { 95, 230, 50, 40, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_LOCK}, // BUT_LOCK + { 95, 230, 50, 40, COLOR_AQUA, COLOR_LIGHTBLACK, OBJ_ICON, ICON_OPT_OK}, // BUT_OPT_OK + {185, 191, 40, 40, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_SPEEDO_CNCL},// BUT_SPEEDO_CNCL + { 15, 191, 40, 40, COLOR_BLACK, COLOR_WHITE, OBJ_ICON, ICON_SPEEDO_CV}, // BUT_SPEEDO_CV + { 10, 80, 60, 30, COLOR_AQUA, COLOR_CREAM, OBJ_LABEL, LBL_SCALE_H0}, // BUT_SPEEDO_H0 + { 10, 120, 60, 30, COLOR_AQUA, COLOR_CREAM, OBJ_LABEL, LBL_SCALE_N}, // BUT_SPEEDO_N + { 10, 160, 60, 30, COLOR_AQUA, COLOR_CREAM, OBJ_LABEL, LBL_SCALE_TT}, // BUT_SPEEDO_TT + { 10, 200, 60, 30, COLOR_AQUA, COLOR_CREAM, OBJ_LABEL, LBL_SCALE_Z}, // BUT_SPEEDO_Z + { 10, 240, 60, 30, COLOR_AQUA, COLOR_CREAM, OBJ_LABEL, LBL_SCALE_0}, // BUT_SPEEDO_0 + { 1, 1, 238, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CV_ADDR}, // BUT_CV_ADDR + { 1, 41, 238, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CV_SPD_L}, // BUT_CV_SPD_L + { 1, 81, 238, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CV_SPD_M}, // BUT_CV_SPD_M + { 1, 121, 238, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CV_SPD_H}, // BUT_CV_SPD_H + { 1, 161, 238, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CV_ACC}, // BUT_CV_ACC + { 1, 201, 238, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CV_DEC}, // BUT_CV_DEC + { 1, 241, 238, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CV_CFG}, // BUT_CV_CFG + { 1, 281, 238, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_CV_MAN}, // BUT_CV_MAN + { 15, 175, 60, 40, COLOR_WHITE, COLOR_CREAM, OBJ_FNC, FNC_CV_READ}, // BUT_CV_READ + { 15, 280, 60, 35, COLOR_WHITE, COLOR_CREAM, OBJ_ICON, ICON_CV_CNCL}, // BUT_CV_CNCL + { 15, 230, 60, 35, COLOR_WHITE, COLOR_CREAM, OBJ_LABEL, LBL_LNCV}, // BUT_CV_LNCV + {202, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_0}, // BUT_CV_0 + {182, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_1}, // BUT_CV_1 + {162, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_2}, // BUT_CV_2 + {142, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_3}, // BUT_CV_3 + {122, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_4}, // BUT_CV_4 + {102, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_5}, // BUT_CV_5 + { 82, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_6}, // BUT_CV_6 + { 62, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_7}, // BUT_CV_7 + { 90, 280, 60, 35, COLOR_WHITE, COLOR_CREAM, OBJ_ICON, ICON_ADDR_CNCL}, // BUT_ADDR_CNCL + + { 1, 1, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_UTL_SPEED}, // BUT_UTL_I_SPEEDO + { 1, 41, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_FNC, FNC_UTL_STEAM}, // BUT_UTL_I_STEAM + { 1, 81, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_UTL_SCAN}, // BUT_UTL_I_SCAN + { 1, 121, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_UTL_STA}, // BUT_UTL_I_STA + { 41, 1, 198, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_UTIL_SPEED}, // BUT_UTL_T_SPEEDO + { 41, 41, 198, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_UTIL_STEAM}, // BUT_UTL_T_STEAM + { 41, 81, 198, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_UTIL_SCAN}, // BUT_UTL_T_SCAN + { 41, 121, 198, 39, COLOR_WHITE, COLOR_WHITE, OBJ_LABEL, LBL_UTIL_STA}, // BUT_UTL_T_STA + + {195, 1, 40, 32, COLOR_SKYBLUE, COLOR_SKYBLUE, OBJ_ICON, ICON_STEAM_CNCL}, // BUT_STEAM_CNCL + + { 85, 165, 50, 24, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_SURE_OK}, // BUT_SURE_OK + {145, 165, 50, 24, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_SURE_CNCL}, // BUT_SURE_CNCL + + {180, 25, 40, 40, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_FIND_LNCV}, // BUT_LNCV_FIND + { 15, 280, 60, 35, COLOR_WHITE, COLOR_CREAM, OBJ_ICON, ICON_CV_CNCL}, // BUT_LNCV_CNCL + + { 10, 10, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC0}, // BUT_ACC_0 + { 70, 10, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC1}, // BUT_ACC_1 + {130, 10, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC2}, // BUT_ACC_2 + {190, 10, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC3}, // BUT_ACC_3 + { 10, 80, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC4}, // BUT_ACC_4 + { 70, 80, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC5}, // BUT_ACC_5 + {130, 80, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC6}, // BUT_ACC_6 + {190, 80, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC7}, // BUT_ACC_7 + { 10, 150, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC8}, // BUT_ACC_8 + { 70, 150, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC9}, // BUT_ACC_9 + {130, 150, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC10}, // BUT_ACC_10 + {190, 150, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC11}, // BUT_ACC_11 + { 10, 220, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC12}, // BUT_ACC_12 + { 70, 220, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC13}, // BUT_ACC_13 + {130, 220, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC14}, // BUT_ACC_14 + {190, 220, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC15}, // BUT_ACC_15 + { 10, 284, 35, 32, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_ICON, ICON_ACC_CNCL}, // BUT_ACC_CNCL + {198, 284, 35, 32, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_ICON, ICON_ACC_EDIT}, // BUT_ACC_EDIT + {160, 35, 50, 40, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_RED + { 20, 35, 50, 40, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_GREEN + { 25, 115, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ASPECT0}, // BUT_ACC_ASPECT0 + { 75, 115, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ASPECT1}, // BUT_ACC_ASPECT1 + {125, 115, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ASPECT2}, // BUT_ACC_ASPECT2 + {175, 115, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ASPECT3}, // BUT_ACC_ASPECT3 + + { 80, 88, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT0 + {116, 88, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT1 + {160, 88, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT2 + {196, 88, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT3 + { 80, 128, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT4 + {116, 128, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT5 + {160, 128, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT6 + {196, 128, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT7 + { 80, 168, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT8 + {116, 168, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT9 + {160, 168, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT10 + {196, 168, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT11 + { 80, 208, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT12 + {116, 208, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT13 + {160, 208, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT14 + {196, 208, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT15 + { 40, 168, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_TYPE_OK}, // BUT_TYPE_OK + {150, 168, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_TYPE_CNCL}, // BUT_TYPE_CNCL + + { 60, 140, 120, 40, COLOR_WHITE, COLOR_ORANGE, OBJ_LABEL, LBL_STA_START}, // BUT_STA_START + { 20, 276, 60, 32, COLOR_WHITE, COLOR_BLUE, OBJ_ICON, ICON_STA_CNCL}, // BUT_STA_CNCL + + { 16, 240, 40, 60, COLOR_WHITE, COLOR_LIGHTGREY, OBJ_FNC, FNC_STA_ACC0}, // BUT_STA_ACC0 + { 72, 240, 40, 60, COLOR_WHITE, COLOR_LIGHTGREY, OBJ_FNC, FNC_STA_ACC1}, // BUT_STA_ACC1 + {128, 240, 40, 60, COLOR_WHITE, COLOR_LIGHTGREY, OBJ_FNC, FNC_STA_ACC2}, // BUT_STA_ACC2 + {184, 240, 40, 60, COLOR_WHITE, COLOR_LIGHTGREY, OBJ_FNC, FNC_STA_ACC3}, // BUT_STA_ACC3 + {180, 150, 40, 40, COLOR_WHITE, COLOR_BLACK, OBJ_ICON, ICON_STA_STOP}, // BUT_STA_STOP + {195, 10, 40, 32, COLOR_WHITE, COLOR_LIGHTGREY, OBJ_ICON, ICON_STA_OK}, // BUT_STA_EDIT + {120, 50, 32, 32, COLOR_WHITE, COLOR_BLACK, OBJ_CHAR, CHAR_STA_STAM}, // BUT_STA_STAM + {200, 50, 32, 32, COLOR_WHITE, COLOR_BLACK, OBJ_CHAR, CHAR_STA_STAP}, // BUT_STA_STAP + {120, 90, 32, 32, COLOR_WHITE, COLOR_BLACK, OBJ_CHAR, CHAR_STA_TURNM}, // BUT_STA_TURNM + {200, 90, 32, 32, COLOR_WHITE, COLOR_BLACK, OBJ_CHAR, CHAR_STA_TURNP}, // BUT_STA_TURNP +}; + + +//////////////////////////////////////////////////////////// +// ***** RADIO BUTTON ***** +//////////////////////////////////////////////////////////// + +enum radioObj {RAD_STOP_MODE, RAD_PROTOCOL, RAD_PROTOCOL_LN, RAD_CSTATION, + MAX_RAD_OBJ + }; + +typedef struct { // radio button data + uint16_t x; + uint16_t y; + uint16_t h; + uint16_t r; + uint16_t num; + uint16_t value; + uint16_t border; + uint16_t backgnd; +} wRadioObj; + +wRadioObj radioData[MAX_RAD_OBJ] = { + { 50, 165, 30, 10, 2, 0, COLOR_BLUE, COLOR_LIGHTGREY}, // RAD_STOP_MODE + { 10, 40, 35, 10, 4, 0, COLOR_BLUE, COLOR_LIGHTGREY}, // RAD_PROTOCOL + { 50, 180, 35, 10, 2, 0, COLOR_BLUE, COLOR_LIGHTGREY}, // RAD_PROTOCOL_LN + { 20, 110, 35, 10, 3, 0, COLOR_BLUE, COLOR_LIGHTGREY}, // RAD_CSTATION + +}; + +//////////////////////////////////////////////////////////// +// ***** PROGRESS BAR ***** +//////////////////////////////////////////////////////////// + +enum barObj {BAR_INIT, BAR_BLIGHT, BAR_WAIT, BAR_JOHNSON, BAR_WATER, BAR_TENDER, BAR_BRAKE, + MAX_BAR_OBJ + }; + +typedef struct { // Progress bar data + uint16_t x; + uint16_t y; + uint16_t w; + uint16_t h; + uint16_t r; + uint16_t colorOn; + uint16_t colorOff; + uint16_t border; + uint16_t backgnd; + uint16_t min; + uint16_t max; + uint16_t value; +} wBarObj; + +wBarObj barData[MAX_BAR_OBJ] = { + { 20, 150, 200, 20, 0, COLOR_DARKCYAN, COLOR_CYAN, COLOR_NAVY, COLOR_WHITE, 0, 100, 0}, // BAR_INIT + { 80, 95, 128, 12, 10, COLOR_NAVY, COLOR_WHITE, COLOR_AQUA, COLOR_WHITE, USER_MIN_BL, 255, 0}, // BAR_BLIGHT + { 85, 154, 100, 12, 0, COLOR_DARKCYAN, COLOR_CYAN, COLOR_NAVY, COLOR_WHITE, 0, 100, 0}, // BAR_WAIT + {220, 205, 10, 100, 10, COLOR_DARKGREY, COLOR_LIGHTGREY, COLOR_RED, COLOR_BLACK, 0, 6, 3}, // BAR_JOHNSON + { 40, 135, 12, 60, 0, COLOR_BLUE, COLOR_LIGHTGREY, COLOR_WHITE, COLOR_BLACK, 0, 50, 40}, // BAR_WATER + { 5, 265, 10, 50, 0, COLOR_BLUE, COLOR_LIGHTGREY, COLOR_WHITE, COLOR_BLACK, 0, 500, 400}, // BAR_TENDER + {175, 135, 50, 8, 8, COLOR_DARKGREY, COLOR_LIGHTGREY, COLOR_RED, COLOR_BLACK, 0, 4, 3}, // BAR_BRAKE +}; + + +//////////////////////////////////////////////////////////// +// ***** LOCO PICTURE ***** +//////////////////////////////////////////////////////////// + +#define LPIC_WIDTH 190 +#define LPIC_HEIGHT 40 + +enum locoPic {SYS_NO_LOK, SYS_ELOK, SYS_LOCO_2, SYS_LOCO_3, SYS_LOCO_4, SYS_LOCO_5, SYS_LOCO_6, SYS_LOCO_7, SYS_LOCO_8, SYS_LOCO_9, MAX_SYS_LPIC}; + +enum locoPicObj {LPIC_MAIN, LPIC_LOK_EDIT, LPIC_SEL_IMG1, LPIC_SEL_IMG2, LPIC_SEL_IMG3, LPIC_SEL_IMG4, LPIC_SEL_IMG5, LPIC_SEL_IMG6, + LPIC_SPEEDO, LPIC_STEAM, + MAX_LPIC_OBJ + }; + +const unsigned char* sysLocoPic[] = { + sysNoLoco, sysLocoPic0, sysLocoPic1, sysLocoPic2, sysLocoPic3, sysLocoPic4, + sysLocoPic5, sysLocoPic6, sysLocoPic7, sysLocoPic8 +}; + +typedef struct { // Loco picture data (190x40 pixel) + uint16_t x; + uint16_t y; + uint16_t id; +} wLpicObj; + +wLpicObj lpicData[MAX_LPIC_OBJ] = { + { 25, 32, SYS_NO_LOK}, // LPIC_MAIN + { 25, 80, SYS_NO_LOK}, // LPIC_LOK_EDIT + { 25, 40, SYS_NO_LOK}, // LPIC_SEL_IMG1 + { 25, 80, SYS_NO_LOK}, // LPIC_SEL_IMG2 + { 25, 120, SYS_NO_LOK}, // LPIC_SEL_IMG3 + { 25, 160, SYS_NO_LOK}, // LPIC_SEL_IMG4 + { 25, 200, SYS_NO_LOK}, // LPIC_SEL_IMG5 + { 25, 240, SYS_NO_LOK}, // LPIC_SEL_IMG6 + { 25, 16, SYS_NO_LOK}, // LPIC_SPEEDO + { 32, 0, SYS_LOCO_4}, // LPIC_STEAM +}; + +//////////////////////////////////////////////////////////// +// ***** GAUGE ***** +//////////////////////////////////////////////////////////// + +enum gaugeObj {GAUGE_SPEED, GAUGE_SPEEDO, GAUGE_STATION, + MAX_GAUGE_OBJ + }; + +typedef struct { // Gauge data + uint16_t x; + uint16_t y; + uint16_t r; // Speed gauge has Radius = 0 + uint16_t color; + uint16_t backgnd; + uint16_t value; // 0..255 +} wGaugeObj; + +wGaugeObj gaugeData[MAX_GAUGE_OBJ] = { + { 120, 200, 0, COLOR_BLACK, COLOR_DARKGREY, 0}, // GAUGE_SPEED + { 120, 220, 40, COLOR_BLUE, COLOR_CYAN, 128}, // GAUGE_SPEEDO + { 120, 170, 46, COLOR_ORANGE, COLOR_CYAN, 128}, // GAUGE_STATION + +}; + + +//////////////////////////////////////////////////////////// +// ***** TEXTBOX ***** +//////////////////////////////////////////////////////////// + +#define NAME_LNG 16 // loco names length +#define ADDR_LNG 4 // loco addr length +#define SSID_LNG 24 +#define PWD_LNG 32 +#define IP_LNG 3 +#define PORT_LNG 5 +#define PANEL_LNG 12 +#define ACC_LNG 6 + +char ssidName[SSID_LNG + 1]; +char ssidName1[SSID_LNG + 1]; +char ssidName2[SSID_LNG + 1]; +char ssidName3[SSID_LNG + 1]; +char ssidName4[SSID_LNG + 1]; +char ssidName5[SSID_LNG + 1]; +char ssidName6[SSID_LNG + 1]; +char keybIP1Buf[IP_LNG + 1]; // IP keyboard +char keybIP2Buf[IP_LNG + 1]; +char keybIP3Buf[IP_LNG + 1]; +char keybIP4Buf[IP_LNG + 1]; +char keybPwdHideBuf[NAME_LNG + 1]; +char keybPortBuf[PORT_LNG + 1]; +char keybPwdBuf[PWD_LNG + 1]; +char keybProtoBuf[PWD_LNG + 1]; +char locoName[NAME_LNG + 1]; +char locoAddr[ADDR_LNG + 1]; +char clockBuf[NAME_LNG + 1]; +char keybHourBuf[3]; +char keybMinBuf[3]; +char keybRateBuf[4]; +char locoEditName[NAME_LNG + 1]; +char locoEditAddr[ADDR_LNG + 1]; +char locoEditID[ADDR_LNG + 1]; +char locoEditVmax[ADDR_LNG + 1]; +char keybNameBuf[NAME_LNG + 1]; +char locoEditFunc[ADDR_LNG + 1]; +char selLocoAddr1[ADDR_LNG + 1]; +char selLocoAddr2[ADDR_LNG + 1]; +char selLocoAddr3[ADDR_LNG + 1]; +char selLocoAddr4[ADDR_LNG + 1]; +char selLocoAddr5[ADDR_LNG + 1]; +char selLocoAddr6[ADDR_LNG + 1]; +char selLocoName1[NAME_LNG + 1]; +char selLocoName2[NAME_LNG + 1]; +char selLocoName3[NAME_LNG + 1]; +char selLocoName4[NAME_LNG + 1]; +char selLocoName5[NAME_LNG + 1]; +char selLocoName6[NAME_LNG + 1]; +char locoKeybAddr[ADDR_LNG + 1]; +char aboutPacoMouseCYD[PWD_LNG + 1]; +char aboutIP[PWD_LNG + 1]; +char aboutMAC[PWD_LNG + 1]; +char spdScaleBuf[NAME_LNG + 1]; +char spdSelScaleBuf[NAME_LNG + 1]; +char spdSelScaleNumBuf[IP_LNG + 1]; +char spdLengthBuf[NAME_LNG + 1]; +char spdSpeedBuf[NAME_LNG + 1]; +char speedoKeybLng[PORT_LNG + 1]; +char keybCvBuf[ADDR_LNG + 1]; +char keybCvValBuf[IP_LNG + 1]; +char cvStatusBuf[PWD_LNG + 1]; +char keybLncvArtBuf[PORT_LNG + 1]; +char keybLncvModBuf[PORT_LNG + 1]; +char keybLncvAdrBuf[PORT_LNG + 1]; +char keybLncvValBuf[PORT_LNG + 1]; +char accNamesBuf[16][ACC_LNG + 1]; +char panelNameBuf[PANEL_LNG + 1]; +char panelNamesBuf[16][PANEL_LNG + 1]; +char accKeybAddr[ADDR_LNG + 1]; +char accKeybAddr1[ADDR_LNG + 1]; +char accKeybAddr2[ADDR_LNG + 1]; +char accKeybName[ACC_LNG + 1]; +char accKeybAdrEdit[ADDR_LNG + 1]; +char staLevelBuf[ADDR_LNG + 1]; +char staStationsBuf[ACC_LNG + 1]; +char staStarsBuf[ADDR_LNG + 1]; +char staTimeBuf[ACC_LNG + 1]; +char staStartTimeBuf[IP_LNG + 1]; +char staStatNumBuf[IP_LNG + 1]; +char staTurnNumBuf[IP_LNG + 1]; +char staTurnout1Buf[ADDR_LNG + 1]; +char staTurnout2Buf[ADDR_LNG + 1]; +char staTurnout3Buf[ADDR_LNG + 1]; +char staTurnout4Buf[ADDR_LNG + 1]; + + +enum textObj {TXT_SSID1, TXT_SSID2, TXT_SSID3, TXT_SSID4, TXT_SSID5, TXT_SSID6, + TXT_IP1, TXT_IP2, TXT_IP3, TXT_IP4, TXT_PORT, TXT_SSID, TXT_PWD_HIDE, TXT_PWD, TXT_PROTOCOL, + TXT_LOCO_NAME, TXT_LOCO_ADDR, TXT_CLOCK, TXT_HOUR, TXT_MIN, TXT_RATE, + TXT_EDIT_ADDR, TXT_EDIT_NAME, TXT_EDIT_IMAGE, TXT_EDIT_VMAX, TXT_NAME, TXT_EDIT_FNC, TXT_KEYB_VMAX, + TXT_SEL_ADDR1, TXT_SEL_ADDR2, TXT_SEL_ADDR3, TXT_SEL_ADDR4, TXT_SEL_ADDR5, TXT_SEL_ADDR6, + TXT_SEL_NAME1, TXT_SEL_NAME2, TXT_SEL_NAME3, TXT_SEL_NAME4, TXT_SEL_NAME5, TXT_SEL_NAME6, + TXT_KEYB_ADDR, TXT_ABOUT, TXT_ABOUT_IP, TXT_ABOUT_MAC, + TXT_SPEEDO_SCALE, TXT_SPEEDO_LNG, TXT_SPEEDO_SPD, TXT_EDIT_LNG, TXT_EDIT_SCALE, TXT_NUM_SCALE, + TXT_CV, TXT_CV_VAL, TXT_CV_STATUS, TXT_CV_ADDR, TXT_LNCV_ART, TXT_LNCV_MOD, TXT_LNCV_ADR, TXT_LNCV_VAL, + TXT_ACC_0, TXT_ACC_1, TXT_ACC_2, TXT_ACC_3, TXT_ACC_4, TXT_ACC_5, TXT_ACC_6, TXT_ACC_7, + TXT_ACC_8, TXT_ACC_9, TXT_ACC_10, TXT_ACC_11, TXT_ACC_12, TXT_ACC_13, TXT_ACC_14, TXT_ACC_15, + TXT_PANEL, TXT_PANEL0, TXT_PANEL1, TXT_PANEL2, TXT_PANEL3, TXT_PANEL4, TXT_PANEL5, TXT_PANEL6, TXT_PANEL7, + TXT_PANEL8, TXT_PANEL9, TXT_PANEL10, TXT_PANEL11, TXT_PANEL12, TXT_PANEL13, TXT_PANEL14, TXT_PANEL15, + TXT_ACC_ADDR, TXT_ACC_ADDR1, TXT_ACC_ADDR2, TXT_ACC_NAME, TXT_ACC_EDIT, TXT_STA_LEVEL, TXT_STA_STARS, + TXT_STA_STATION, TXT_STA_CLOCK, TXT_STA_TIME, TXT_STA_COUNT, TXT_STA_STARC, TXT_STA_STARTTIME, + TXT_STA_STATNUM, TXT_STA_TURNNUM, TXT_STA_TURNOUT1, TXT_STA_TURNOUT2, TXT_STA_TURNOUT3, TXT_STA_TURNOUT4, + MAX_TXT_OBJ + }; + +typedef struct { // Textbox data + uint16_t x; + uint16_t y; + uint16_t w; + uint16_t h; + uint16_t color; + uint16_t backgnd; + uint16_t border; + bool alignCenter; + uint16_t maxLength; + char *buf; + const GFXfont *font; +} wTxtObj; + +wTxtObj txtData[MAX_TXT_OBJ] = { + { 1, 50, 238, 40, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, false, SSID_LNG, ssidName1, FSS9}, // TXT_SSID1 + { 1, 90, 238, 40, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, false, SSID_LNG, ssidName2, FSS9}, // TXT_SSID2 + { 1, 130, 238, 40, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, false, SSID_LNG, ssidName3, FSS9}, // TXT_SSID3 + { 1, 170, 238, 40, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, false, SSID_LNG, ssidName4, FSS9}, // TXT_SSID4 + { 1, 210, 238, 40, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, false, SSID_LNG, ssidName5, FSS9}, // TXT_SSID5 + { 1, 250, 238, 40, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, false, SSID_LNG, ssidName6, FSS9}, // TXT_SSID6 + { 55, 130, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, IP_LNG, keybIP1Buf, FSS9}, // TXT_IP1 + {100, 130, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, IP_LNG, keybIP2Buf, FSS9}, // TXT_IP2 + {145, 130, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, IP_LNG, keybIP3Buf, FSS9}, // TXT_IP3 + {190, 130, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, IP_LNG, keybIP4Buf, FSS9}, // TXT_IP4 + { 80, 170, 60, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, PORT_LNG, keybPortBuf, FSS9}, // TXT_PORT + { 10, 50, 220, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, false, SSID_LNG, ssidName, FSS9}, // TXT_SSID + {140, 90, 90, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, false, NAME_LNG, keybPwdHideBuf, FSS9}, // TXT_PWD_HIDE + { 10, 135, 220, 24, COLOR_BLACK, COLOR_YELLOW, COLOR_WHITE, true, PWD_LNG, keybPwdBuf, FSS9}, // TXT_PWD + { 10, 240, 140, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, false, PWD_LNG, keybProtoBuf, FSS9}, // TXT_PROTOCOL + { 40, 72, 160, 24, COLOR_NAVY, COLOR_BACKGROUND, COLOR_BACKGROUND, true, NAME_LNG, locoName, FSS7}, // TXT_LOCO_NAME + { 90, 96, 60, 24, COLOR_NAVY, COLOR_BACKGROUND, COLOR_BACKGROUND, true, ADDR_LNG, locoAddr, FSSB9}, // TXT_LOCO_ADDR + { 40, 1, 160, 31, COLOR_BLACK, COLOR_BACKGROUND, COLOR_BACKGROUND, true, NAME_LNG, clockBuf, FSSB12}, // TXT_CLOCK + { 55, 130, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, 2, keybHourBuf, FSS9}, // TXT_HOUR + {100, 130, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, 2, keybMinBuf, FSS9}, // TXT_MIN + {100, 170, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, 3, keybRateBuf, FSS9}, // TXT_RATE + {120, 12, 60, 24, COLOR_BLUE, COLOR_BACKGROUND, COLOR_BACKGROUND, false, ADDR_LNG, locoEditAddr, FSSB9}, // TXT_EDIT_ADDR + { 80, 140, 150, 24, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, false, NAME_LNG, locoEditName, FSS9}, // TXT_EDIT_NAME + {120, 52, 60, 24, COLOR_BLUE, COLOR_BACKGROUND, COLOR_BACKGROUND, false, ADDR_LNG, locoEditID, FSSB9}, // TXT_EDIT_IMAGE + {125, 180, 50, 24, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ADDR_LNG, locoEditVmax, FSS9}, // TXT_EDIT_VMAX + { 10, 135, 220, 24, COLOR_BLACK, COLOR_YELLOW, COLOR_WHITE, true, NAME_LNG, keybNameBuf, FSS9}, // TXT_NAME + { 80, 115, 80, 31, COLOR_NAVY, COLOR_BACKGROUND, COLOR_BACKGROUND, true, ADDR_LNG, locoEditFunc, FSSB12}, // TXT_EDIT_FNC + { 75, 40, 80, 31, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, IP_LNG, locoEditVmax, FSSB12}, // TXT_KEYB_VMAX + { 1, 50, 60, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, true, ADDR_LNG, selLocoAddr1, FSSB12}, // TXT_SEL_ADDR1 + { 1, 90, 60, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, true, ADDR_LNG, selLocoAddr2, FSSB12}, // TXT_SEL_ADDR2 + { 1, 130, 60, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, true, ADDR_LNG, selLocoAddr3, FSSB12}, // TXT_SEL_ADDR3 + { 1, 170, 60, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, true, ADDR_LNG, selLocoAddr4, FSSB12}, // TXT_SEL_ADDR4 + { 1, 210, 60, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, true, ADDR_LNG, selLocoAddr5, FSSB12}, // TXT_SEL_ADDR5 + { 1, 250, 60, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, true, ADDR_LNG, selLocoAddr6, FSSB12}, // TXT_SEL_ADDR6 + { 61, 50, 178, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, false, NAME_LNG, selLocoName1, FSS9}, // TXT_SEL_NAME1 + { 61, 90, 178, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, false, NAME_LNG, selLocoName2, FSS9}, // TXT_SEL_NAME2 + { 61, 130, 178, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, false, NAME_LNG, selLocoName3, FSS9}, // TXT_SEL_NAME3 + { 61, 170, 178, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, false, NAME_LNG, selLocoName4, FSS9}, // TXT_SEL_NAME4 + { 61, 210, 178, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, false, NAME_LNG, selLocoName5, FSS9}, // TXT_SEL_NAME5 + { 61, 250, 178, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, false, NAME_LNG, selLocoName6, FSS9}, // TXT_SEL_NAME6 + { 75, 40, 80, 31, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ADDR_LNG, locoKeybAddr, FSSB12}, // TXT_KEYB_ADDR + { 30, 90, 120, 31, COLOR_NAVY, COLOR_WHITE, COLOR_WHITE, true, PWD_LNG, aboutPacoMouseCYD, FSSB12}, // TXT_ABOUT + { 15, 172, 150, 31, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, PWD_LNG, aboutIP, FSS7}, // TXT_ABOUT_IP + { 15, 195, 160, 31, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, PWD_LNG, aboutMAC, FSS7}, // TXT_ABOUT_MAC + {115, 67, 100, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, NAME_LNG, spdScaleBuf, FSSB9}, // TXT_SPEEDO_SCALE + { 87, 140, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, NAME_LNG, spdLengthBuf, FSSB9}, // TXT_SPEEDO_LNG + { 25, 270, 190, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, NAME_LNG, spdSpeedBuf, FSSB9}, // TXT_SPEEDO_SPD + { 75, 40, 80, 31, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, PORT_LNG, speedoKeybLng, FSSB12}, // TXT_EDIT_LNG + { 55, 20, 70, 30, COLOR_YELLOW, COLOR_BACKGROUND, COLOR_BACKGROUND, true, NAME_LNG, spdSelScaleBuf, FSSB12}, // TXT_EDIT_SCALE + {130, 20, 60, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, IP_LNG, spdSelScaleNumBuf, FSSB12}, // TXT_NUM_SCALE + { 50, 45, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, ADDR_LNG, keybCvBuf, FSSB12}, // TXT_CV + {160, 45, 60, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, IP_LNG, keybCvValBuf, FSSB12}, // TXT_CV_VAL + { 1, 5, 238, 30, COLOR_BLACK, COLOR_BACKGROUND, COLOR_BACKGROUND, true, PWD_LNG, cvStatusBuf, FSSB12}, // TXT_CV_STATUS + {100, 40, 80, 30, COLOR_BLUE, COLOR_WHITE, COLOR_BLACK, true, ADDR_LNG, locoEditAddr, FSSB12}, // TXT_CV_ADDR + { 85, 8, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, PORT_LNG, keybLncvArtBuf, FSSB12}, // TXT_LNCV_ART + { 85, 48, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, PORT_LNG, keybLncvModBuf, FSSB12}, // TXT_LNCV_MOD + { 75, 88, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, PORT_LNG, keybLncvAdrBuf, FSSB12}, // TXT_LNCV_ADR + {160, 88, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, PORT_LNG, keybLncvValBuf, FSSB12}, // TXT_LNCV_VAL + { 5, 50, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[0], FSSB6}, // TXT_ACC_0 + { 65, 50, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[1], FSSB6}, // TXT_ACC_1 + {125, 50, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[2], FSSB6}, // TXT_ACC_2 + {185, 50, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[3], FSSB6}, // TXT_ACC_3 + { 5, 120, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[4], FSSB6}, // TXT_ACC_4 + { 65, 120, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[5], FSSB6}, // TXT_ACC_5 + {125, 120, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[6], FSSB6}, // TXT_ACC_6 + {185, 120, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[7], FSSB6}, // TXT_ACC_7 + { 5, 190, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[8], FSSB6}, // TXT_ACC_8 + { 65, 190, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[9], FSSB6}, // TXT_ACC_9 + {125, 190, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[10], FSSB6}, // TXT_ACC_10 + {185, 190, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[11], FSSB6}, // TXT_ACC_11 + { 5, 260, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[12], FSSB6}, // TXT_ACC_12 + { 65, 260, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[13], FSSB6}, // TXT_ACC_13 + {125, 260, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[14], FSSB6}, // TXT_ACC_14 + {185, 260, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[15], FSSB6}, // TXT_ACC_15 + { 65, 284, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNameBuf, FSS7}, // TXT_PANEL + { 5, 4, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[0], FSS7}, // TXT_PANEL0 + {125, 4, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[1], FSS7}, // TXT_PANEL1 + { 5, 44, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[2], FSS7}, // TXT_PANEL2 + {125, 44, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[3], FSS7}, // TXT_PANEL3 + { 5, 84, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[4], FSS7}, // TXT_PANEL4 + {125, 84, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[5], FSS7}, // TXT_PANEL5 + { 5, 124, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[6], FSS7}, // TXT_PANEL6 + {125, 124, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[7], FSS7}, // TXT_PANEL7 + { 5, 164, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[8], FSS7}, // TXT_PANEL8 + {125, 164, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[9], FSS7}, // TXT_PANEL9 + { 5, 204, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[10], FSS7}, // TXT_PANEL10 + {125, 204, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[11], FSS7}, // TXT_PANEL11 + { 5, 244, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[12], FSS7}, // TXT_PANEL12 + {125, 244, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[13], FSS7}, // TXT_PANEL13 + { 5, 284, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[14], FSS7}, // TXT_PANEL14 + {125, 284, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[15], FSS7}, // TXT_PANEL15 + { 75, 40, 80, 31, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ADDR_LNG, accKeybAddr, FSSB12}, // TXT_ACC_ADDR + { 75, 45, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ADDR_LNG, accKeybAddr1, FSSB9}, // TXT_ACC_ADDR1 + {155, 45, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ADDR_LNG, accKeybAddr2, FSSB9}, // TXT_ACC_ADDR2 + { 75, 5, 100, 30, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ACC_LNG, accKeybName, FSSB9}, // TXT_ACC_NAME + { 75, 40, 80, 31, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ADDR_LNG, accKeybAdrEdit, FSSB12}, // TXT_ACC_EDIT + + { 65, 50, 40, 31, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, ADDR_LNG, staLevelBuf, FSS9}, // TXT_STA_LEVEL + { 50, 90, 40, 31, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, ADDR_LNG, staStarsBuf, FSS9}, // TXT_STA_STARS + {178, 50, 60, 31, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, ACC_LNG, staStationsBuf, FSS9}, // TXT_STA_STATION + {150, 90, 60, 31, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, ACC_LNG, staTimeBuf, FSS9}, // TXT_STA_CLOCK + {150, 2, 55, 27, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, ACC_LNG, staTimeBuf, FSS9}, // TXT_STA_TIME + { 60, 2, 55, 27, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, ACC_LNG, staStationsBuf, FSS9}, // TXT_STA_COUNT + { 22, 165, 40, 26, COLOR_WHITE, COLOR_BLUE - 0x0011, COLOR_BLUE - 0x0011, true, ADDR_LNG, staStarsBuf, FSS9}, // TXT_STA_STARC + + {120, 10, 60, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, IP_LNG, staStartTimeBuf, FSS9}, // TXT_STA_STARTTIME + {160, 50, 32, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, IP_LNG, staStatNumBuf, FSS9}, // TXT_STA_STATNUM + {160, 90, 32, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, IP_LNG, staTurnNumBuf, FSS9}, // TXT_STA_TURNNUM + { 10, 165, 60, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, ADDR_LNG, staTurnout1Buf, FSS9}, // TXT_STA_TURNOUT1 + { 10, 200, 60, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, ADDR_LNG, staTurnout2Buf, FSS9}, // TXT_STA_TURNOUT2 + { 10, 235, 60, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, ADDR_LNG, staTurnout3Buf, FSS9}, // TXT_STA_TURNOUT3 + { 10, 270, 60, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, ADDR_LNG, staTurnout4Buf, FSS9}, // TXT_STA_TURNOUT4 + +}; + + + +//////////////////////////////////////////////////////////// +// ***** SWITCH ***** +//////////////////////////////////////////////////////////// + +enum switchObj { SW_SHUNTING, SW_ROTATE, SW_LOCK_LOK, SW_LOCK_ACC, SW_LOCK_PRG, SW_OPT_TT_OFFSET, SW_OPT_ADR, SW_OPT_DISCOVER, + SW_POM, SW_STA_OR1, SW_STA_OR2, SW_STA_OR3, SW_STA_OR4, SW_STA_INV1, SW_STA_INV2, SW_STA_INV3, SW_STA_INV4, + MAX_SWITCH_OBJ + }; + +typedef struct { // Switch data + uint16_t x; + uint16_t y; + uint16_t h; + uint16_t colorOn; + uint16_t colorOff; + uint16_t colorKnob; + bool state; +} wSwitchObj; + +wSwitchObj switchData[MAX_SWITCH_OBJ] = { + { 35, 130, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_SHUNTING + { 30, 130, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_ROTATE + { 25, 130, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_LOCK_LOK + { 25, 165, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_LOCK_ACC + { 25, 200, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_LOCK_PRG + { 15, 50, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_OPT_TT_OFFSET + { 15, 155, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_OPT_ADR + { 15, 85, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_OPT_DISCOVER + { 15, 125, 21, COLOR_RED, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_POM + { 95, 170, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_OR1 + { 95, 205, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_OR2 + { 95, 240, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_OR3 + { 95, 275, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_OR4 + {170, 170, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_INV1 + {170, 205, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_INV2 + {170, 240, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_INV3 + {170, 275, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_INV4 + +}; + + +//////////////////////////////////////////////////////////// +// ***** KEYBOARD ***** +//////////////////////////////////////////////////////////// + +#define KEYB_WIDTH 240 +#define KEYB_HEIGHT 120 +#define KEYPAD_WIDTH 80 +#define KEYPAD_HEIGHT 120 +#define KEYPAD_BIG_WIDTH 150 +#define KEYPAD_BIG_HEIGHT 190 +#define CHR_BKSPC 8 +#define CHR_ENTER '\n' +#define CHR_REDRAW '\r' + +const char KeybAlphaCaps[3][12] = { + { 0, 12, 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'}, + {10, 11, 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L'}, + {30, 9, 'Z', 'X', 'C', 'V', 'B', 'N', 'M'}, +}; + +const char KeybAlpha[3][12] = { + { 0, 12, 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'}, + {10, 11, 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'}, + {30, 9, 'z', 'x', 'c', 'v', 'b', 'n', 'm'}, +}; + +const char KeybNum[3][12] = { + { 0, 12, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'}, + { 0, 12, '-', '/', ':', ';', '(', ')', '$', '&', '@', '"'}, + { 50, 7, '.', ',', '?', '!', '\''} +}; + +const char KeybSym[3][12] = { + { 0, 12, '[', ']', '{', '}', '#', '%', '^', '*', '+', '='}, + {40, 8, '_', '\\', '|', '~', '<', '>'}, + {50, 7, '.', ',', '?', '!', '\''} +}; + +const char KeybKeypad[3][12] = { + { 0, 5, '7', '8', '9'}, + { 0, 5, '4', '5', '6'}, + { 0, 5, '1', '2', '3'} +}; + +enum keybType {KEYB_ALPHA, KEYB_CAPS, KEYB_NUM, KEYB_SYM, KEYB_KEYPAD, KEYB_KEYPAD_BIG, KEYB_KEYPAD_OPT}; + +enum keybObj {KEYB_IP, KEYB_PWD, KEYB_CLOCK, KEYB_NAME, KEYB_VMAX, KEYB_ADDR, + KEYB_LNG, KEYB_SCALE, KEYB_CV, KEYB_CV_ADDR, KEYB_LNCV, KEYB_ACC, KEYB_ACC_ADDR, + KEYB_STA, + MAX_KEYB_OBJ + }; + + +typedef struct { // Keyboard data + uint16_t x; + uint16_t y; + uint16_t type; + uint16_t idTextbox; +} wKeybObj; + +wKeybObj keybData[MAX_KEYB_OBJ] = { + {150, 170, KEYB_KEYPAD, TXT_IP1}, // KEYB_IP + { 0, 165, KEYB_ALPHA, TXT_PWD}, // KEYB_PWD + {142, 130, KEYB_KEYPAD, TXT_HOUR}, // KEYB_CLOCK + { 0, 165, KEYB_CAPS, TXT_NAME}, // KEYB_NAME + { 40, 80, KEYB_KEYPAD_BIG, TXT_KEYB_VMAX}, // KEYB_VMAX + { 40, 80, KEYB_KEYPAD_BIG, TXT_KEYB_ADDR}, // KEYB_ADDR + { 40, 80, KEYB_KEYPAD_BIG, TXT_EDIT_LNG}, // KEYB_LNG + { 80, 80, KEYB_KEYPAD_BIG, TXT_NUM_SCALE}, // KEYB_SCALE + { 80, 125, KEYB_KEYPAD_BIG, TXT_CV_VAL}, // KEYB_CV + { 40, 80, KEYB_KEYPAD_BIG, TXT_CV_ADDR}, // KEYB_CV_ADDR + { 85, 125, KEYB_KEYPAD_BIG, TXT_LNCV_VAL}, // KEYB_LNCV + { 40, 80, KEYB_KEYPAD_OPT, TXT_ACC_ADDR}, // KEYB_ACC + { 40, 80, KEYB_KEYPAD_BIG, TXT_ACC_EDIT}, // KEYB_ACC_ADDR + { 85, 80, KEYB_KEYPAD_BIG, TXT_STA_STARTTIME}, // KEYB_STA +}; diff --git a/include/gui320x480.h b/include/gui320x480.h new file mode 100644 index 0000000..f0acd3a --- /dev/null +++ b/include/gui320x480.h @@ -0,0 +1,1412 @@ +/* PacoMouseCYD throttle -- F. Cañada 2025-2026 -- https://usuaris.tinet.cat/fmco/ + Very basic Graphical User Interface (GUI) for PacoMouseCYD + All data in absolute coordinates + + Alternate TFT display 320x480 (Only for testing purposes of CYD_USER_DEFINED types) +*/ + +//////////////////////////////////////////////////////////// +// ***** WINDOW ***** +//////////////////////////////////////////////////////////// + +enum winObj {WIN_DEFAULT, WIN_LOGO, WIN_CALIBRATE, WIN_THROTTLE, WIN_SSID, WIN_WIFI, WIN_WIFI_PWD, WIN_PROTOCOL, + WIN_ALERT, WIN_CONFIG, WIN_SET_CLOCK, WIN_LOK_EDIT, WIN_EDIT_NAME, WIN_FUNC, WIN_CHG_FUNC, WIN_VMAX, + WIN_SEL_LOCO, WIN_ENTER_ADDR, WIN_SEL_IMAGE, WIN_MENU, WIN_SCREEN, WIN_SPEED, WIN_ABOUT, WIN_LOCK, + WIN_OPTIONS, WIN_SPEEDO, WIN_SPEEDO_LNG, WIN_SPEEDO_SCALE, WIN_READ_CV, WIN_PROG_CV, WIN_PROG_ADDR, + WIN_PROG_LNCV, WIN_STEAM, WIN_UTIL, WIN_ACCESSORY, WIN_PANELS, WIN_PANEL_NAME, WIN_ACC_CTRL, WIN_ACC_ASPECT, + WIN_ACC_TYPE, WIN_ACC_EDIT, WIN_ACC_NAME, WIN_ACC_ADDR1, WIN_ACC_ADDR2, WIN_WIFI_SCAN, + WIN_STA_RUN, WIN_STA_PLAY, WIN_STA_STARS, WIN_STA_EDIT, WIN_STA_KEYB, + MAX_WIN_OBJ + }; + +typedef struct { // Window data + uint16_t x; + uint16_t y; + uint16_t w; + uint16_t h; + bool modal; + uint16_t color; + uint16_t backgnd; +} wWinObj; + +//bool modalWindow; + +wWinObj winData[MAX_WIN_OBJ] = { + { 0, 0, 320, 480, true, COLOR_NAVY, COLOR_BACKGROUND}, // WIN_DEFAULT + { 0, 0, 320, 480, true, COLOR_NAVY, COLOR_WHITE}, // WIN_LOGO + { 0, 0, 320, 480, true, COLOR_BLACK, COLOR_BLACK}, // WIN_CALIBRATE + { 0, 0, 320, 480, true, COLOR_BLACK, COLOR_BACKGROUND}, // WIN_THROTTLE + { 40, 80, 240, 320, true, COLOR_WHITE, COLOR_DARKGREY}, // WIN_SSID + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_WIFI + { 0, 125, 240, 195, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_WIFI_PWD + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_WHITE}, // WIN_PROTOCOL + { 15, 120, 210, 80, true, COLOR_BLACK, COLOR_WHITE}, // WIN_ALERT + { 0, 0, 320, 480, true, COLOR_BLACK, COLOR_WHITE}, // WIN_CONFIG + { 15, 120, 210, 140, true, COLOR_BLACK, COLOR_BACKGROUND}, // WIN_SET_CLOCK + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_BACKGROUND}, // WIN_LOK_EDIT + { 0, 125, 240, 195, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_EDIT_NAME + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_FUNC + { 60, 100, 120, 100, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_CHG_FUNC + { 36, 30, 155, 245, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_VMAX + { 0, 0, 240, 320, true, COLOR_NAVY, COLOR_WHITE}, // WIN_SEL_LOCO + { 36, 30, 155, 245, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_ENTER_ADDR + { 40, 80, 240, 320, true, COLOR_NAVY, COLOR_BACKGROUND}, // WIN_SEL_IMAGE + { 0, 0, 320, 480, true, COLOR_AQUA, COLOR_CHARCOAL}, // WIN_MENU + { 15, 80, 210, 140, true, COLOR_BLACK, COLOR_WHITE}, // WIN_SCREEN + { 15, 120, 210, 160, true, COLOR_BLACK, COLOR_WHITE}, // WIN_SPEED + { 45, 15, 230, 220, true, COLOR_NAVY, COLOR_WHITE}, // WIN_ABOUT + { 15, 120, 210, 160, true, COLOR_BLACK, COLOR_WHITE}, // WIN_LOCK + { 5, 75, 230, 205, true, COLOR_BLACK, COLOR_WHITE}, // WIN_OPTIONS + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_BACKGROUND}, // WIN_SPEEDO + { 36, 30, 155, 245, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_SPEEDO_LNG + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_BACKGROUND}, // WIN_SPEEDO_SCALE + { 0, 0, 320, 480, true, COLOR_AQUA, COLOR_WHITE}, // WIN_READ_CV + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_BACKGROUND}, // WIN_PROG_CV + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_PROG_ADDR + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_PROG_LNCV + { 0, 0, 320, 480, true, COLOR_BLACK, COLOR_BLACK}, // WIN_STEAM + { 0, 0, 320, 480, true, COLOR_BLACK, COLOR_WHITE}, // WIN_UTIL + { 0, 0, 320, 480, true, COLOR_BLACK, COLOR_WHITE}, // WIN_ACCESSORY + { 0, 0, 240, 320, true, COLOR_BLACK, COLOR_WHITE}, // WIN_PANELS + { 0, 125, 240, 195, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_PANEL_NAME + { 10, 25, 210, 255, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_ACC_CTRL + { 5, 95, 230, 80, true, COLOR_AQUA, COLOR_YELLOW}, // WIN_ACC_ASPECT + { 40, 100, 160, 100, true, COLOR_WHITE, COLOR_LIGHTGREY}, // WIN_ACC_TYPE + { 0, 0, 240, 240, true, COLOR_WHITE, COLOR_LIGHTGREY}, // WIN_ACC_EDIT + { 0, 125, 240, 195, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_ACC_NAME + { 36, 30, 155, 245, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_ACC_ADDR1 + { 36, 30, 155, 245, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_ACC_ADDR2 + { 0, 0, 320, 480, true, COLOR_BLACK, COLOR_BLACK}, // WIN_WIFI_SCAN + { 0, 0, 320, 480, true, COLOR_WHITE, COLOR_BLUE}, // WIN_STA_RUN + { 0, 0, 320, 480, true, COLOR_WHITE, COLOR_BLUE}, // WIN_STA_PLAY + { 10, 120, 220, 80, true, COLOR_BLACK, COLOR_WHITE}, // WIN_STA_STARS + { 0, 0, 240, 320, true, COLOR_WHITE, COLOR_BLUE}, // WIN_STA_EDIT + { 85, 75, 150, 200, true, COLOR_WHITE, COLOR_BACKGROUND}, // WIN_STA_KEYB +}; + + +//////////////////////////////////////////////////////////// +// ***** LABEL ***** +//////////////////////////////////////////////////////////// + +uint8_t currLanguage; + +enum labelObj {LBL_PACO_TXT, LBL_INIT, LBL_CONNECT, LBL_PRESS, LBL_CAL, LBL_CAL_DONE, + LBL_SCAN, LBL_SSID_SCAN, LBL_SSID, LBL_IP, LBL_PWD_HIDE, LBL_PORT, LBL_PROTOCOL, + LBL_SEL_PROT, LBL_SEL_Z21, LBL_SEL_XNET, LBL_SEL_ECOS, LBL_SEL_LNET, LBL_SEL_LBSERVER, LBL_SEL_BINARY, LBL_OPTIONS, + LBL_NAME, LBL_ADDR, LBL_IMAGE, LBL_VMAX, LBL_FUNC, LBL_SERVICE, LBL_KMH, LBL_SHUNTING, LBL_RATE, LBL_CHG_WIFI, + LBL_EDIT_FUNC, LBL_STACK_FULL, LBL_STOP_0, LBL_STOP_E, LBL_SEL_IMAGE, + LBL_MENU_DRIVE, LBL_MENU_ACC, LBL_MENU_CV, LBL_MENU_CFG, LBL_MENU_UTILS, + LBL_CFG_LANG, LBL_CFG_SCR, LBL_CFG_SPD, LBL_CFG_WIFI, LBL_CFG_FCLK, LBL_CFG_LOCK, LBL_CFG_ABOUT, LBL_SCR_ROTATE, LBL_PACO_WEB, + LBL_LOCK_LOK, LBL_LOCK_ACC, LBL_LOCK_PRG, LBL_OPT_ADR, LBL_OPT_IB2, LBL_OPT_UHLI, LBL_OPT_DIG, + LBL_ESTOP, LBL_SCALE, LBL_MM, LBL_SCALE_H0, LBL_SCALE_N, LBL_SCALE_TT, LBL_SCALE_Z, LBL_SCALE_0, LBL_MEASURE, + LBL_CV_ADDR, LBL_CV_SPD_L, LBL_CV_SPD_M, LBL_CV_SPD_H, LBL_CV_ACC, LBL_CV_DEC, LBL_CV_CFG, LBL_CV_MAN, + LBL_CV, LBL_LNCV, LBL_POM, LBL_BITS, LBL_CV_ERROR, LBL_UTIL_SPEED, LBL_UTIL_STEAM, LBL_UTIL_SCAN, LBL_UTIL_STA, + LBL_ASK_SURE, LBL_OPT_DISCOVER, LBL_LNCV_ART, LBL_LNCV_MOD, LBL_LNCV_NUM, LBL_ACC_TYPE, LBL_ACC_NAME, LBL_ACC_ADDR, + LBL_STA_RUN, LBL_STA_LEVEL, LBL_STA_START, LBL_STA_INSTR, LBL_STA_EXCEL, LBL_STA_GREAT, LBL_STA_TIMEOUT, + LBL_STA_STATIONS, LBL_STA_TURNOUTS, LBL_STA_TIME, LBL_STA_DESC, + MAX_LABEL_OBJ + }; + +typedef struct { // Label data + uint16_t x; + uint16_t y; + const GFXfont *font; + uint16_t color; + byte align; +} wLabelObj; +/* + Normally strings are printed relative to the top left corner but this can be + changed with the setTextDatum() function. The library has #defines for: + + TL_DATUM = Top left + TC_DATUM = Top centre + TR_DATUM = Top right + ML_DATUM = Middle left + MC_DATUM = Middle centre + MR_DATUM = Middle right + BL_DATUM = Bottom left + BC_DATUM = Bottom centre + BR_DATUM = Bottom right +*/ +wLabelObj labelData[MAX_LABEL_OBJ] = { + { 160, 35, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_PACO_TXT + { 20, 120, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_INIT + { 20, 120, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CONNECT + { 160, 240, FSSB12, COLOR_YELLOW, MC_DATUM}, // LBL_PRESS + { 160, 0, FSS9, COLOR_WHITE, TC_DATUM}, // LBL_CAL + { 160, 0, FSS9, COLOR_GREEN, TC_DATUM}, // LBL_CAL_DONE + { 160, 120, FSSB12, COLOR_YELLOW, MC_DATUM}, // LBL_SCAN + { 160, 105, FSSB12, COLOR_YELLOW, MC_DATUM}, // LBL_SSID_SCAN + { 10, 24, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_SSID + { 10, 134, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_IP + { 10, 94, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_PWD_HIDE + { 10, 174, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_PORT + { 10, 214, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_PROTOCOL + { 10, 10, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_PROT + { 50, 50, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_Z21 + { 50, 85, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_XNET + { 50, 120, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_ECOS + { 50, 155, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_LNET + { 90, 190, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_LBSERVER + { 90, 225, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_SEL_BINARY + { 70, 280, FSSB9, COLOR_BLACK, MC_DATUM}, // LBL_OPTIONS + { 5, 144, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_NAME Loco Data & .csv + { 5, 15, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_ADDR + { 5, 55, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_IMAGE + { 5, 184, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_VMAX + { 120, 232, FSSB9, COLOR_BLACK, MC_DATUM}, // LBL_FUNC + { 65, 160, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_SERVICE + { 159, 320, FSSB9, COLOR_BLACK, MC_DATUM}, // LBL_KMH + { 85, 133, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_SHUNTING + { 25, 174, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_RATE + { 65, 140, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CHG_WIFI + { 120, 55, FSSB9, COLOR_BLACK, MC_DATUM}, // LBL_EDIT_FUNC + { 65, 140, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_STACK_FULL + { 85, 174, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_STOP_0 + { 85, 205, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_STOP_E + { 140, 100, FSSB12, COLOR_YELLOW, MC_DATUM}, // LBL_SEL_IMAGE + { 85, 120, FSSB9, COLOR_WHITE, ML_DATUM}, // LBL_MENU_DRIVE + { 85, 180, FSSB9, COLOR_WHITE, ML_DATUM}, // LBL_MENU_ACC + { 85, 240, FSSB9, COLOR_WHITE, ML_DATUM}, // LBL_MENU_CV + { 85, 300, FSSB9, COLOR_WHITE, ML_DATUM}, // LBL_MENU_CFG + { 85, 360, FSSB9, COLOR_WHITE, ML_DATUM}, // LBL_MENU_UTILS + { 85, 30, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_LANG + { 85, 90, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_SCR + { 85, 150, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_SPD + { 85, 210, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_WIFI + { 85, 270, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_FCLK + { 85, 330, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_LOCK + { 85, 390, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CFG_ABOUT + { 75, 138, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_SCR_ROTATE + { 160, 150, FSS9, COLOR_NAVY, MC_DATUM}, // LBL_PACO_WEB + { 75, 133, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_LOCK_LOK + { 75, 168, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_LOCK_ACC + { 75, 203, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_LOCK_PRG + { 60, 155, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_OPT_ADR + { 60, 120, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_OPT_IB2 + { 60, 155, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_OPT_UHLI + { 60, 190, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_OPT_DIG + { 65, 160, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_ESTOP + { 100, 74, FSSB9, COLOR_BLACK, TR_DATUM}, // LBL_SCALE + { 165, 148, FSSB9, COLOR_BLACK, TL_DATUM}, // LBL_MM + { 40, 95, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_SCALE_H0 + { 40, 135, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_SCALE_N + { 40, 175, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_SCALE_TT + { 40, 215, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_SCALE_Z + { 40, 255, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_SCALE_0 + { 0, 0, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_MEASURE + { 85, 30, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_ADDR + { 85, 90, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_SPD_L + { 85, 150, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_SPD_M + { 85, 210, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_SPD_H + { 85, 270, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_ACC + { 85, 330, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_DEC + { 85, 390, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_CFG + { 85, 450, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_CV_MAN + { 10, 50, FSSB12, COLOR_BLACK, TL_DATUM}, // LBL_CV + { 45, 246, FSSB9, COLOR_BLACK, MC_DATUM}, // LBL_LNCV + { 35, 147, FSSB9, COLOR_BLACK, TC_DATUM}, // LBL_POM + { 15, 98, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_BITS + { 0, 0, FSSB12, COLOR_BLACK, MC_DATUM}, // LBL_CV_ERROR + { 85, 30, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_UTIL_SPEED + { 85, 90, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_UTIL_STEAM + { 85, 150, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_UTIL_SCAN + { 85, 210, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_UTIL_STA + { 65, 140, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_ASK_SURE + { 60, 85, FSS9, COLOR_BLACK, TL_DATUM}, // LBL_OPT_DISCOVER + { 10, 20, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_LNCV_ART + { 10, 60, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_LNCV_MOD + { 10, 100, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_LNCV_NUM + { 120, 115, FSSB9, COLOR_NAVY, MC_DATUM}, // LBL_ACC_TYPE + { 37, 20, FSSB9, COLOR_NAVY, MC_DATUM}, // LBL_ACC_NAME + { 37, 60, FSSB9, COLOR_NAVY, MC_DATUM}, // LBL_ACC_ADDR + { 160, 40, FSSB12, COLOR_WHITE, MC_DATUM}, // LBL_STA_RUN + { 10, 100, FSS9, COLOR_WHITE, TL_DATUM}, // LBL_STA_LEVEL + { 160, 229, FSSB9, COLOR_WHITE, MC_DATUM}, // LBL_STA_START + { 160, 300, FSS9, COLOR_WHITE, TC_DATUM}, // LBL_STA_INSTR + { 75, 160, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_STA_EXCEL + { 75, 160, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_STA_GREAT + { 60, 150, FSSB9, COLOR_BLACK, ML_DATUM}, // LBL_STA_TIMEOUT + { 10, 50, FSSB9, COLOR_WHITE, TL_DATUM}, // LBL_STA_STATIONS + { 10, 90, FSSB9, COLOR_WHITE, TL_DATUM}, // LBL_STA_TURNOUTS + { 10, 10, FSSB9, COLOR_WHITE, TL_DATUM}, // LBL_STA_TIME + { 10, 130, FSS9, COLOR_YELLOW, TL_DATUM}, // LBL_STA_DESC + + +}; + + + +//////////////////////////////////////////////////////////// +// ***** DRAW STRING ***** +//////////////////////////////////////////////////////////// + +/* Kn Color n. From colorDraw[] + kn Sprite color depth + Xn Cursor X + xn Increment x position + Yn Cursor Y + yn Increment y position + Rw,h Fill rectangle width,height + rw,h Draw rectangle width,height + Cr Fill circle radius r + cr Draw circle radius r + Lx,y Draw Line to x,y + lx,y Draw polyline to x,y (X,Y set to end position: x,y) + px,y second point (for triangles) -> XxYypx,yTx,y + Tx,y fill triangle (X,Y),(px,y),(Tx,y) + tx,y draw triangle (X,Y),(px,y),(tx,y) + Sw,h create sprite and draw string into it. x & y set to 0, background color defined with Kn -> KnkdSw,h + sn draw sprite with transparent color n + Dw,h Degrade rectangle + dn Band height for degrade +*/ + +const char drwStrInit[] = {"K6R320,50K1Y50R320,6X0Y200R320,280"}; +const char drwStrIniStatus[] = {"K7X1Y105R180,35"}; +const char drwStrSpanish[] = {"K2S32,24K6y6R32,12s9"}; +const char drwStrCatalan[] = {"K6S32,24K2y3R32,3y5R32,3y5R32,3y5R32,3s9"}; // quatre barres +const char drwStrEnglish[] = {"K1S32,24" // blue background + "K7x13R6,24X0y9R32,6" // white cross + "X0Y1L11,8y21L11,15X1Y0L12,7y23L12,16" // left white lines + "X19Y7L30,0y9L30,23X20Y8L31,1y7L31,22" // right white lines + "K2X0Y10R32,4x14Y0R4,24" // red cross + "X0Y0L12,8y23L12,15X19Y8L31,0X19Y15L31,23" // red lines + "s9" + }; +const char drwStrGerman[] = {"K0S32,24K2y8R32,8K6y8R32,8s9"}; +const char drwStrClock[] = {"K7C12"}; //{"K7C12K0X97Y138L97,140y6L97,146"}; +const char drwStrSelLok[] = {"K0C21"}; // K10X133Y11R34,26"}; +const char drwStrMenu[] = {""}; // X0Y0K14d16D320,480"}; // K11L319,90y60L319,150y60L319,210y60L319,270y60L319,330"}; +const char drwStrCfgMenu[] = {"X1Y0K7d15D318,480"}; // K11L239,40y40L239,80y40L239,120y40L239,160y40L239,200y40L239,240y40L239,280"}; +const char drwStrUtlMenu[] = {""}; // X1Y0K7d15D318,480"}; +const char drwStrAbout[] = {"K6R228,50K1y50R228,6y98R228,70"}; +const char drwStrSpdTrk[] = {"K0L199,125K2X81Y133p87,127T93,133X145Y133p151,127T157,133"}; +const char drwStrSpdDel[] = {"K8k16S32,18s9"}; +const char drwStrSteam[] = {"K14p90,0T0,90X32Y0R270,50X230Y0p319,0T319,90X35Y125C25X285Y125C25" // Sky + "K13X143Y32R34,18X141R38,2" // Chimney + "K7X160Y270c125Y340c40X139Y105C31X250Y305L255,305K8X5Y400R310,4" // Cabin + "K15X47Y172R23,66K2X63Y179p67,175T67,183X63Y229p67,225T67,233" // Water level + }; +const char drwStrWifiScan[] = {"K0R320,257K10X40'yY302L279,302X160Y370C27"}; + +const char drwStrStaPlay[] = {"K1d15D318,330K7X30Y150L210,150"}; + + +enum drwStrObj {DSTR_INIT, DSTR_INIT_STAT, DSTR_ENGLISH, DSTR_SPANISH, DSTR_CATALAN, DSTR_GERMAN, + DSTR_CLOCK, DSTR_SELLOK, DSTR_MENU, DSTR_CFG_MENU, DSTR_UTL_MENU, DSTR_ABOUT, + DSTR_SPEEDO_TRK, DSTR_SPEEDO_BLANK, DSTR_STEAM, DSTR_WIFI_SCAN, DSTR_STATION_PLAY, + MAX_DRAWSTR_OBJ + }; + +typedef struct { // drawStr data + uint16_t x; + uint16_t y; + const char *str; +} wDrawStr; + +wDrawStr drawStrData[MAX_DRAWSTR_OBJ] = { + { 0, 0, drwStrInit}, // DSTR_INIT + { 0, 0, drwStrIniStatus}, // DSTR_INIT_STAT + { 44, 18, drwStrEnglish}, // DSTR_ENGLISH + { 44, 18, drwStrSpanish}, // DSTR_SPANISH + { 44, 18, drwStrCatalan}, // DSTR_CATALAN + { 44, 18, drwStrGerman}, // DSTR_GERMAN + { 36, 141, drwStrClock}, // DSTR_CLOCK + { 58, 24, drwStrSelLok}, // DSTR_SELLOK + { 1, 90, drwStrMenu}, // DSTR_MENU + { 1, 40, drwStrCfgMenu}, // DSTR_CFG_MENU + { 1, 40, drwStrUtlMenu}, // DSTR_UTL_MENU + { 46, 16, drwStrAbout}, // DSTR_ABOUT + { 40, 125, drwStrSpdTrk}, // DSTR_SPEEDO_TRK + { 40, 107, drwStrSpdDel}, // DSTR_SPEEDO_BLANK + { 0, 0, drwStrSteam}, // DSTR_STEAM + { 0, 80, drwStrWifiScan}, // DSTR_WIFI_SCAN + { 1, 0, drwStrStaPlay}, // DSTR_STATION_PLAY +}; + + +//////////////////////////////////////////////////////////// +// ***** CHAR ***** +//////////////////////////////////////////////////////////// + +enum charObj {CHAR_CLK_COLON, CHAR_CV_EQUAL, CHAR_CV_0, CHAR_CV_1, CHAR_CV_2, CHAR_CV_3, CHAR_CV_4, CHAR_CV_5, CHAR_CV_6, CHAR_CV_7, + CHAR_LNCV_EQUAL, CHAR_STA_STAM, CHAR_STA_STAP, CHAR_STA_TURNM, CHAR_STA_TURNP, + MAX_CHAR_OBJ + }; + +typedef struct { // Char data + uint16_t x; + uint16_t y; + char chr; + const GFXfont *font; + uint16_t color; +} wCharObj; + +wCharObj charData[MAX_CHAR_OBJ] = { + { 95, 146, ':', FSSB9, COLOR_BLACK}, // CHAR_CLK_COLON + {135, 65, '=', FSSB12, COLOR_BLACK}, // CHAR_CV_EQUAL + {206, 105, '0', FSSB9, COLOR_BLACK}, // CHAR_CV_0 + {186, 105, '1', FSSB9, COLOR_BLACK}, // CHAR_CV_1 + {166, 105, '2', FSSB9, COLOR_BLACK}, // CHAR_CV_2 + {146, 105, '3', FSSB9, COLOR_BLACK}, // CHAR_CV_3 + {126, 105, '4', FSSB9, COLOR_BLACK}, // CHAR_CV_4 + {106, 105, '5', FSSB9, COLOR_BLACK}, // CHAR_CV_5 + { 86, 105, '6', FSSB9, COLOR_BLACK}, // CHAR_CV_6 + { 66, 105, '7', FSSB9, COLOR_BLACK}, // CHAR_CV_7 + {145, 107, '=', FSSB12, COLOR_BLACK}, // CHAR_LNCV_EQUAL + {132, 70, '-', FSSB12, COLOR_WHITE}, // CHAR_STA_STAM + {210, 70, '+', FSSB12, COLOR_WHITE}, // CHAR_STA_STAP + {132, 110, '-', FSSB12, COLOR_WHITE}, // CHAR_STA_TURNM + {210, 110, '+', FSSB12, COLOR_WHITE}, // CHAR_STA_TURNP +}; + + +//////////////////////////////////////////////////////////// +// ***** FUNCTIONS ***** +//////////////////////////////////////////////////////////// + +#define FNC_WIDTH 32 +#define FNC_HEIGHT 32 +#define FNC_MAX 28 +#define FNC_ICON_MAX 40 + +enum funcIconObj { FNC_BLANK_OFF, FNC_BLANK_ON, FNC_NO_ICON_OFF, FNC_NO_ICON_ON, FNC_FUNC_OFF, FNC_FUNC_ON, FNC_LIGHT_OFF, FNC_LIGHT_ON, FNC_INT_LIGHT_OFF, FNC_INT_LIGHT_ON, + FNC_UNI_LIGHT_OFF, FNC_UNI_LIGHT_ON, FNC_SOUND_OFF, FNC_SOUND_ON, FNC_GEN_SOUND_OFF, FNC_GEN_SOUND_ON, FNC_ANNOUN_OFF, FNC_ANNOUN_ON, FNC_SLOW_OFF, FNC_SLOW_ON, + FNC_ABV_OFF, FNC_ABV_ON, FNC_COUPLER_OFF, FNC_COUPLER_ON, FNC_SMOKE_OFF, FNC_SMOKE_ON, FNC_PANTO_OFF, FNC_PANTO_ON, FNC_BEAM_OFF, FNC_BEAM_ON, + FNC_BELL_OFF, FNC_BELL_ON, FNC_HORN_OFF, FNC_HORN_ON, FNC_WHISTLE_OFF, FNC_WHISTLE_ON, FNC_DOOR_OFF, FNC_DOOR_ON, FNC_FAN_OFF, FNC_FAN_ON, FNC_KOHLE_OFF, FNC_KOHLE_ON, + FNC_SHIFT_OFF, FNC_SHIFT_ON, FNC_PLATE_OFF, FNC_PLATE_ON, FNC_BRAKE_OFF, FNC_BRAKE_ON, FNC_WHEEL_OFF, FNC_WHEEL_ON, FNC_RADIO_OFF, FNC_RADIO_ON, FNC_COUPLERSND_OFF, FNC_COUPLERSND_ON, + FNC_TRACK_OFF, FNC_TRACK_ON, FNC_NOTCHP_OFF, FNC_NOTCHP_ON, FNC_NOTCHM_OFF, FNC_NOTCHM_ON, FNC_PFIFF_OFF, FNC_PFIFF_ON, FNC_UNI_LIGHT2_OFF, FNC_UNI_LIGHT2_ON, + FNC_CURVE_OFF, FNC_CURVE_ON, FNC_COMPR_OFF, FNC_COMPR_ON, FNC_AIRBLOW_OFF, FNC_AIRBLOW_ON, FNC_FIRBOX_OFF, FNC_FIREBOX_ON, FNC_SAND_OFF, FNC_SAND_ON, FNC_TABLE_OFF, FNC_TABLE_ON, + FNC_CABIN_OFF, FNC_CABIN_ON, FNC_MUTE_OFF, FNC_MUTE_ON, FNC_DIESEL_OFF, FNC_DIESEL_ON, + FNC_NEXT_OFF, FNC_NEXT_ON, FNC_PREV_OFF, FNC_PREV_ON, FNC_CV_OFF, FNC_CV_ON, FNC_VALVE_OFF, FNC_VALVE_ON, FNC_FIRE_CL_OFF, FNC_FIRE_CL_ON, FNC_FIRE_OP_OFF, FNC_FIRE_OP_ON, + FNC_ST_SMOKE_OFF, FNC_ST_SMOKE_ON, + FNC_TURNLD_OFF, FNC_TURNLD_ON, FNC_TURNLS_OFF, FNC_TURNLS_ON, FNC_TURNRD_OFF, FNC_TURNRD_ON, FNC_TURNRS_OFF, FNC_TURNRS_ON, + FNC_TURN3L_OFF, FNC_TURN3L_ON, FNC_TURN3R_OFF, FNC_TURN3R_ON, FNC_TURN3S_OFF, FNC_TURN3S_ON, FNC_CROSD_OFF, FNC_CROSD_ON, FNC_CROSS_OFF, FNC_CROSS_ON, + FNC_SIGRY_OFF, FNC_SIGRY_ON, FNC_SIGGW_OFF, FNC_SIGGW_ON, FNC_SEMR_OFF, FNC_SEMR_ON, FNC_SEMG_OFF, FNC_SEMG_ON, FNC_SEMY_OFF, FNC_SEMY_ON, FNC_PANR_OFF, FNC_PANR_ON, + FNC_PANG_OFF, FNC_PANG_ON, FNC_TTL_OFF, FNC_TTL_ON, FNC_TTR_OFF, FNC_TTR_ON, FNC_TTROT_OFF, FNC_TTROT_ON, FNC_TTTRK_OFF, FNC_TTTRK_ON, FNC_POWER_OFF, FNC_POWER_ON, + FNC_KEYPAD_OFF, FNC_KEYPAD_ON, FNC_DCROSSS1_OFF, FNC_DCROSSS1_ON, FNC_DCROSSS2_OFF, FNC_DCROSSS2_ON, FNC_DCROSSD1_OFF, FNC_DCROSSD1_ON, FNC_DCROSSD2_OFF, FNC_DCROSSD2_ON, + FNC_BRETELLED_OFF, FNC_BRETELLED_ON, FNC_BRETELLE_OFF, FNC_BRETELLE_ON, FNC_ACC_OFF, FNC_ACC_ON, FNC_STAR_OFF, FNC_STAR_ON, FNC_RAYO_OFF, FNC_RAYO_ON, + }; + +const unsigned char* funcIcon[] = { + blank32, blank32, + blank32, full32, + func_off, func_on, + light_off, light_on, + intlight_off, intlight_on, + unilight_off, unilight_on, + snd_off, snd_on, + gensnd_off, gensnd_on, + announce_off, announce_on, + maniobra_off, maniobra_on, + abv_off, abv_on, + uncoupler_off, uncoupler_on, + smoke_off, smoke_on, + panto_off, panto_on, + beam_off, beam_on, + bell_off, bell_on, + horn_off, horn_on, + whistle_off, whistle_on, + door_off, door_on, + fan_off, fan_on, + kohle_off, kohle_on, + shift_off, shift_on, + plate_off, plate_on, + brake_off, brake_on, + wheel_off, wheel_on, + radio_off, radio_on, + couplersnd_off, couplersnd_on, + track_off, track_on, + notchp_off, notchp_on, + notchm_off, notchm_on, + pfiff_off, pfiff_on, + unilight2_off, unilight2_on, + curve_off, curve_on, + compr_off, compr_on, + airblow_off, airblow_on, + firebox_off, firebox_on, + sand_off, sand_on, + table_off, table_on, + cabin_off, cabin_on, + mute_off, mute_on, + diesel_off, diesel_on, + nextP, nextP_on, + prevP, prevP_on, + readCV_off, readCV_on, + valve_off, valve_on, + fire_close_off, fire_close_on, + fire_open_off, fire_open_on, + steam_smoke_off, steam_smoke_on, + + turnL_off, tripleL_on, + turnLS_off, tripleS_on, + turnR_off, tripleR_on, + turnRS_off, tripleS_on, + tripleL_off, tripleL_on, + tripleR_off, tripleR_on, + tripleS_off, tripleS_on, + crossS2_off, crossS2_on, + crossS1_off, crossS1_on, + sig_off, sigRY_on, + sig_off, sigG_on, + semR_off, semR_on, + semG_off, semG_on, + semY_off, semY_on, + panR_off, panR_on, + panG_off, panG_on, + movG_off, movG_on, + movR_off, movR_on, + rotTT_off, rotTT_on, + outTT_off, blank32, + power, blank32, + keypad_off, keypad_on, + dcrossS1_off, dcrossS1_on, // + dcrossS2_off, dcrossS2_on, // + dcrossD1_off, dcrossD1_on, // + dcrossD2_off, dcrossD2_on, // + bretelleR_off, bretelleR_on, + bretelleG_off, bretelleG_on, + accPanel_off, accPanel_on, + + star_off, star_on, + rayo_off, rayo_on, +}; + +enum funcObj {FNC_FX0, FNC_FX1, FNC_FX2, FNC_FX3, FNC_FX4, FNC_FX5, FNC_FX6, FNC_FX7, FNC_FX8, FNC_FX9, + FNC_F0, FNC_F1, FNC_F2, FNC_F3, FNC_F4, FNC_F5, FNC_F6, FNC_F7, FNC_F8, FNC_F9, + FNC_F10, FNC_F11, FNC_F12, FNC_F13, FNC_F14, FNC_F15, FNC_F16, FNC_F17, FNC_F18, FNC_F19, + FNC_F20, FNC_F21, FNC_F22, FNC_F23, FNC_F24, FNC_F25, FNC_F26, FNC_F27, FNC_F28, + FNC_CHG, FNC_SPEEDO_DIR, FNC_CV_READ, FNC_ST_WATER, FNC_ST_WHISTLE, FNC_ST_TENDER, FNC_ST_FIRE, + FNC_ST_SMOKE, FNC_UTL_STEAM, FNC_ACC0, FNC_ACC1, FNC_ACC2, FNC_ACC3, FNC_ACC4, FNC_ACC5, + FNC_ACC6, FNC_ACC7, FNC_ACC8, FNC_ACC9, FNC_ACC10, FNC_ACC11, FNC_ACC12, FNC_ACC13, FNC_ACC14, + FNC_ACC15, FNC_ASPECT0, FNC_ASPECT1, FNC_ASPECT2, FNC_ASPECT3, FNC_ACC_TYPE, + FNC_EDIT_ASPECT0, FNC_EDIT_ASPECT1, FNC_EDIT_ASPECT2, FNC_EDIT_ASPECT3, FNC_ACC_PANEL, FNC_SEL_KEYPAD, + FNC_SCAN_RESET, FNC_STA_STARS, FNC_STA_DIR, FNC_STA_ACC0, FNC_STA_ACC1, FNC_STA_ACC2, FNC_STA_ACC3, + FNC_STA_STARC, FNC_STA_STAR1, FNC_STA_STAR2, FNC_STA_RAYO, + MAX_FNC_OBJ + }; + +typedef struct { // Function data + uint16_t x; + uint16_t y; + uint8_t num; + bool state; + uint16_t idIcon; + uint16_t color; + uint16_t colorOn; + uint16_t backgnd; +} wFncObj; + +wFncObj fncData[MAX_FNC_OBJ] = { + { 16, 150, 0, false, FNC_LIGHT_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX0 + { 16, 210, 1, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX1 + { 16, 270, 2, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX2 + { 16, 330, 3, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX3 + { 16, 390, 4, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX4 + {272, 150, 5, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX5 + {272, 210, 6, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX6 + {272, 270, 7, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX7 + {272, 330, 8, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX8 + {272, 390, 9, false, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_FX9 + + { 4, 80, 0, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F0 + { 44, 80, 1, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F1 + { 84, 80, 2, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F2 + {124, 80, 3, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F3 + {164, 80, 4, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F4 + {204, 80, 5, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F5 + { 4, 120, 6, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F6 + { 44, 120, 7, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F7 + { 84, 120, 8, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F8 + {124, 120, 9, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F9 + {164, 120, 10, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F10 + {204, 120, 11, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F11 + { 4, 160, 12, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F12 + { 44, 160, 13, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F13 + { 84, 160, 14, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F14 + {124, 160, 15, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F15 + {164, 160, 16, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F16 + {204, 160, 17, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F17 + { 4, 200, 18, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F18 + { 44, 200, 19, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F19 + { 84, 200, 20, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F20 + {124, 200, 21, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F21 + {164, 200, 22, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F22 + {204, 200, 23, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F23 + { 4, 240, 24, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F24 + { 44, 240, 25, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F25 + { 84, 240, 26, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F26 + {124, 240, 27, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F27 + {164, 240, 28, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_F28 + + {104, 150, 99, true, FNC_FUNC_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_CHG + + {104, 204, 99, true, FNC_NEXT_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_BACKGROUND}, // FNC_SPEEDO_DIR + { 29, 179, 99, true, FNC_CV_OFF, COLOR_BLACK, COLOR_ORANGE, COLOR_CREAM}, // FNC_CV_READ + + { 45, 250, 99, true, FNC_VALVE_OFF, COLOR_WHITE, COLOR_RED, COLOR_BLACK}, // FNC_ST_WATER + {210, 65, 99, false, FNC_WHISTLE_OFF, COLOR_ORANGE, COLOR_YELLOW, COLOR_BLACK}, // FNC_ST_WHISTLE + { 58, 310, 99, true, FNC_VALVE_OFF, COLOR_WHITE, COLOR_RED, COLOR_BLACK}, // FNC_ST_TENDER + {144, 324, 99, true, FNC_FIRE_CL_OFF, COLOR_SILVER, COLOR_RED, COLOR_BLACK}, // FNC_ST_FIRE + {144, 0, 99, false, FNC_ST_SMOKE_OFF, COLOR_DARKGREY, COLOR_GHOST_WHITE, COLOR_SKYBLUE}, // FNC_ST_SMOKE + + { 44, 74, 99, true, FNC_SMOKE_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_WHITE}, // FNC_UTL_STEAM + + { 33, 39, 99, true, FNC_TURNLD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC0 + {107, 39, 99, true, FNC_TURNLS_OFF, COLOR_BLACK, COLOR_GREEN, COLOR_LIGHTGREY}, // FNC_ACC1 + {181, 39, 99, true, FNC_TURNRD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC2 + {255, 39, 99, true, FNC_TURNRS_OFF, COLOR_BLACK, COLOR_GREEN, COLOR_LIGHTGREY}, // FNC_ACC3 + { 33, 129, 99, true, FNC_TURN3L_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC4 + {107, 129, 99, true, FNC_TURN3R_OFF, COLOR_BLACK, COLOR_GREEN, COLOR_LIGHTGREY}, // FNC_ACC5 + {181, 129, 99, true, FNC_TURN3S_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC6 + {255, 129, 99, true, FNC_CROSD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC7 + { 33, 219, 99, true, FNC_CROSS_OFF, COLOR_BLACK, COLOR_GREEN, COLOR_LIGHTGREY}, // FNC_ACC8 + {107, 219, 99, true, FNC_SIGRY_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC9 + {181, 219, 99, true, FNC_SIGGW_OFF, COLOR_BLACK, COLOR_GREEN, COLOR_LIGHTGREY}, // FNC_ACC10 + {255, 219, 3, true, FNC_SIGRY_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_LIGHTGREY}, // FNC_ACC11 + { 33, 309, 4, true, FNC_SIGGW_OFF, COLOR_BLACK, COLOR_WHITE, COLOR_LIGHTGREY}, // FNC_ACC12 + {107, 309, 99, true, FNC_SEMR_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC13 + {181, 309, 99, true, FNC_SEMG_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC14 + {255, 309, 99, true, FNC_SEMY_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ACC15 + + { 29, 119, 99, true, FNC_BLANK_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ASPECT0 + { 79, 119, 99, true, FNC_BLANK_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ASPECT1 + {129, 119, 99, true, FNC_BLANK_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ASPECT2 + {179, 119, 99, true, FNC_BLANK_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_ASPECT3 + + {104, 150, 99, true, FNC_BLANK_OFF, COLOR_BLACK, COLOR_YELLOW, COLOR_LIGHTGREY}, // FNC_ACC_TYPE + + { 20, 84, 99, true, FNC_NO_ICON_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_EDIT_ASPECT0 + { 20, 124, 99, true, FNC_NO_ICON_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_EDIT_ASPECT1 + { 20, 164, 99, true, FNC_NO_ICON_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_EDIT_ASPECT2 + { 20, 204, 99, true, FNC_NO_ICON_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_EDIT_ASPECT3 + + { 85, 420, 99, true, FNC_ACC_OFF, COLOR_BLACK, COLOR_RED, COLOR_BACKGROUND}, // FNC_ACC_PANEL + {134, 8, 99, true, FNC_KEYPAD_OFF, COLOR_BLACK, COLOR_CYAN, COLOR_WHITE}, // FNC_SEL_KEYPAD + {144, 352, 99, false, FNC_POWER_OFF, COLOR_RED, COLOR_RED, COLOR_GHOST_WHITE}, // FNC_SCAN_RESET + + { 10, 150, 99, true, FNC_STAR_OFF, COLOR_ORANGE, COLOR_YELLOW, COLOR_BLUE}, // FNC_STA_STARS + {144, 234, 99, true, FNC_NEXT_OFF, COLOR_ORANGE, COLOR_WHITE, COLOR_BLUE - 0x0010}, // FNC_STA_DIR + { 20, 384, 1, true, FNC_TURNLD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_STA_ACC0 + { 76, 384, 2, true, FNC_TURNLD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_STA_ACC1 + {132, 384, 3, true, FNC_TURNLD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_STA_ACC2 + {188, 384, 4, true, FNC_TURNLD_OFF, COLOR_BLACK, COLOR_RED, COLOR_LIGHTGREY}, // FNC_STA_ACC3 + { 25, 210, 99, true, FNC_STAR_OFF, COLOR_ORANGE, COLOR_YELLOW, COLOR_BLUE - 0x000D}, // FNC_STA_STARC + { 30, 129, 99, true, FNC_STAR_OFF, COLOR_ORANGE, COLOR_YELLOW, COLOR_WHITE}, // FNC_STA_STAR1 + { 42, 161, 99, true, FNC_STAR_OFF, COLOR_ORANGE, COLOR_YELLOW, COLOR_WHITE}, // FNC_STA_STAR2 + {270, 15, 99, false, FNC_RAYO_OFF, COLOR_DARKGREY, COLOR_YELLOW, COLOR_BLUE}, // FNC_STA_RAYO +}; + + +//////////////////////////////////////////////////////////// +// ***** ICON ***** +//////////////////////////////////////////////////////////// + +enum iconObj {ICON_PACO, ICON_SDCARD, ICON_NO_SD, ICON_WIFI, ICON_NO_WIFI, ICON_WIFI_SSID, ICON_WIFI_CLOSE, ICON_WIFI_CFG, + ICON_WIFI_OK, ICON_PWD_OK, ICON_PWD_CNCL, ICON_PROT_OK, + ICON_CAL_OK, ICON_MENU, ICON_FNEXT, ICON_FWD, ICON_REV, ICON_POWER, ICON_WARNING, ICON_WARNING_ON, + ICON_BLIGHT, ICON_SET_CLOCK, ICON_CLOCK_OK, ICON_CLOCK_CNCL, ICON_INFO, ICON_LOK_EDIT, ICON_SEL_LOK,/* ICON_KEYB,*/ + ICON_LAST_UP, ICON_NUM_UP, ICON_NUM_DWN, ICON_NAME_UP, ICON_NAME_DWN, ICON_EDIT_SAVE, ICON_EDIT_DEL, ICON_EDIT_CNCL, + ICON_FNC_OK, ICON_FNC_CNCL, ICON_PREV_IMAGE, ICON_NEXT_IMAGE, ICON_INIT_LOCO, + ICON_MENU_DRIVE, ICON_MENU_ACC, ICON_MENU_CV, ICON_MENU_CFG, ICON_MENU_UTILS, + ICON_CFG_OK, ICON_CFG_CNCL, ICON_CFG_SCR, ICON_CFG_SPD, ICON_CFG_WIFI, ICON_CFG_FCLK, ICON_CFG_LOCK, ICON_CFG_ABOUT, ICON_CFG_EXIT, + ICON_CFG_TOUCH, ICON_SCR_OK, ICON_SCR_CNCL, ICON_SPD_OK, ICON_STOP, ICON_ABOUT_PACO, ICON_LOCK, ICON_OPT_OK, ICON_ESTOP, + ICON_SPEEDO_LOK, ICON_SPEEDO_CNCL, ICON_SPEEDO_RADAR, ICON_SPEEDO_CV, ICON_CV_CNCL, ICON_WAIT, ICON_WAIT_CV, ICON_ADDR, ICON_ADDR_CNCL, + ICON_MANOMETER, ICON_STEAM_CNCL, ICON_STEAM_EDIT, ICON_UTL_SPEED, ICON_UTL_EXIT, ICON_SURE_OK, ICON_SURE_CNCL, ICON_FIND_LNCV, + ICON_ACC_CNCL, ICON_ACC_EDIT, ICON_TYPE_OK, ICON_TYPE_CNCL, ICON_KEYB_ACC, ICON_PLUS_ONE, ICON_UTL_SCAN, ICON_UTL_STA, + ICON_STA_CLOCK, ICON_STA_STATION, ICON_STA_EDIT, ICON_STA_CNCL, ICON_STA_TARGET, ICON_STA_TRAIN, ICON_STA_PIN, ICON_STA_TIME, ICON_STA_COUNT, + ICON_STA_STOP, ICON_STA_TIMEOUT, ICON_STA_OK, + MAX_ICON_OBJ + }; + +typedef struct { // icon data + uint16_t x; + uint16_t y; + uint16_t w; + uint16_t h; + uint16_t color; + const uint8_t *bitmap; // img2cpp: Arduino Code output. Draw Mode set to Horizontal - 1 bit per pixel. Invert image colors +} wIconObj; + +wIconObj iconData[MAX_ICON_OBJ] = { + {225, 65, 44, 64, COLOR_BLACK, cara_paco44x64}, // ICON_PACO + { 20, 68, 16, 16, COLOR_BLACK, sdcard}, // ICON_SDCARD + { 28, 76, 16, 16, COLOR_RED, cancel}, // ICON_NO_SD + { 65, 64, 32, 24, COLOR_BLACK, wifi}, // ICON_WIFI + { 85, 76, 16, 16, COLOR_RED, cancel}, // ICON_NO_WIFI + { 50, 92, 32, 24, COLOR_BLACK, wifi}, // ICON_WIFI_SSID + {242, 95, 16, 16, COLOR_RED, cancel}, // ICON_WIFI_CLOSE + {104, 10, 32, 24, COLOR_BLACK, wifi}, // ICON_WIFI_CFG + { 37, 284, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_WIFI_OK + {117, 294, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_PWD_OK + {197, 294, 16, 16, COLOR_RED, cancel}, // ICON_PWD_CNCL + {187, 274, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_PROT_OK + {152, 232, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_CAL_OK + {272, 11, 32, 32, COLOR_BLACK, menu}, // ICON_MENU + {223, 424, 32, 24, COLOR_BLACK, fncnxt}, // ICON_FNEXT + {194, 160, 16, 16, COLOR_NAVY, arrowR}, // ICON_FWD + {110, 160, 16, 16, COLOR_DARKGREY, arrowL}, // ICON_REV + { 13, 11, 32, 32, COLOR_DARKGREY, power}, // ICON_POWER + { 25, 144, 32, 32, COLOR_BLACK, warning_off}, // ICON_WARNING + { 25, 144, 32, 32, COLOR_YELLOW, warning_on}, // ICON_WARNING_ON + { 30, 90, 24, 24, COLOR_BLACK, brillo}, // ICON_BLIGHT + { 25, 130, 24, 24, COLOR_BLACK, Clock}, // ICON_SET_CLOCK + { 42, 224, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_CLOCK_OK (+17,+4) + { 97, 224, 16, 16, COLOR_RED, cancel}, // ICON_CLOCK_CNCL + { 25, 144, 32, 32, COLOR_NAVY, info}, // ICON_INFO + {148, 424, 24, 24, COLOR_BLACK, wrench}, // ICON_LOK_EDIT + { 42, 8, 32, 32, COLOR_WHITE, sel_lok}, // ICON_SEL_LOK + //{134, 12, 32, 24, COLOR_BLACK, keyb}, // ICON_KEYB // keyboard + //{134, 8, 32, 32, COLOR_WHITE, keypad_off}, // ICON_KEYB // keypad + { 10, 12, 16, 24, COLOR_BLACK, last_up}, // ICON_LAST_UP + { 10, 12, 16, 24, COLOR_BLACK, num_up}, // ICON_NUM_UP + { 10, 12, 16, 24, COLOR_BLACK, num_dwn}, // ICON_NUM_DWN + { 10, 12, 16, 24, COLOR_BLACK, name_up}, // ICON_NAME_UP + { 10, 12, 16, 24, COLOR_BLACK, name_dwn}, // ICON_NAME_DWN + { 37, 294, 16, 16, COLOR_BLACK, sdcard}, // ICON_EDIT_SAVE + {117, 294, 16, 16, COLOR_BLACK, trash}, // ICON_EDIT_DEL + {197, 294, 16, 16, COLOR_RED, cancel}, // ICON_EDIT_CNCL + {117, 294, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_FNC_OK + {197, 294, 16, 16, COLOR_RED, cancel}, // ICON_FNC_CNCL + { 45, 364, 32, 32, COLOR_BLACK, prevP}, // ICON_PREV_IMAGE + {244, 364, 32, 32, COLOR_BLACK, nextP}, // ICON_NEXT_IMAGE + {125, 64, 32, 24, COLOR_BLACK, sel_lok}, // ICON_INIT_LOCO + { 44, 108, 32, 24, COLOR_WHITE, sel_lok}, // ICON_MENU_DRIVE + { 44, 164, 32, 32, COLOR_WHITE, accessory}, // ICON_MENU_ACC + { 44, 224, 32, 32, COLOR_WHITE, prgCV}, // ICON_MENU_CV + { 44, 284, 32, 32, COLOR_WHITE, configure}, // ICON_MENU_CFG + { 48, 348, 24, 24, COLOR_WHITE, wrench}, // ICON_MENU_UTILS + { 4, 8, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_CFG_OK + { 4, 8, 16, 16, COLOR_RED, cancel}, // ICON_CFG_CNCL + { 44, 74, 32, 32, COLOR_RED, screen}, // ICON_CFG_SCR + { 44, 138, 32, 24, COLOR_BLACK, sel_lok}, // ICON_CFG_SPD + { 44, 198, 32, 24, COLOR_BLACK, wifi}, // ICON_CFG_WIFI + { 48, 258, 24, 24, COLOR_BLACK, Clock}, // ICON_CFG_FCLK + { 48, 318, 24, 24, COLOR_BLACK, padlock}, // ICON_CFG_LOCK + { 44, 374, 32, 32, COLOR_NAVY, info}, // ICON_CFG_ABOUT + { 44, 434, 32, 32, COLOR_WHITE, prevP}, // ICON_CFG_EXIT + {170, 178, 24, 24, COLOR_BLACK, touchscr}, // ICON_CFG_TOUCH + { 47, 182, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_SCR_OK + {107, 182, 16, 16, COLOR_RED, cancel}, // ICON_SCR_CNCL + {112, 242, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_SPD_OK + { 20, 180, 32, 32, COLOR_RED, stop0}, // ICON_STOP + {205, 75, 44, 64, COLOR_BLACK, cara_paco44x64}, // ICON_ABOUT_PACO + {108, 238, 24, 24, COLOR_BLACK, padlock}, // ICON_LOCK + {112, 242, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_OPT_OK + { 25, 144, 32, 32, COLOR_RED, stop0}, // ICON_ESTOP + { 40, 100, 32, 24, COLOR_MAROON, sel_lok}, // ICON_SPEEDO_LOK + {197, 204, 16, 16, COLOR_RED, cancel}, // ICON_SPEEDO_CNCL + { 40, 142, 32, 24, COLOR_BLACK, radar}, // ICON_SPEEDO_RADAR + { 19, 195, 32, 32, COLOR_BLACK, prgCV}, // ICON_SPEEDO_CV + { 37, 291, 16, 16, COLOR_RED, cancel}, // ICON_CV_CNCL + { 49, 148, 24, 24, COLOR_BLACK, Clock}, // ICON_WAIT + { 45, 144, 32, 32, COLOR_BLACK, prgCV}, // ICON_WAIT_CV + { 45, 40, 32, 24, COLOR_BLACK, sel_lok}, // ICON_ADDR + {112, 291, 16, 16, COLOR_RED, cancel}, // ICON_ADDR_CNCL + {110, 75, 60, 60, COLOR_BLACK, manometro_bar}, // ICON_MANOMETER + {282, 22, 16, 16, COLOR_RED, cancel}, // ICON_STEAM_CNCL + {205, 250, 24, 24, COLOR_SILVER, wrench}, // ICON_STEAM_EDIT + { 44, 14, 32, 24, COLOR_BLACK, radar}, // ICON_UTL_SPEED + { 44, 434, 32, 32, COLOR_BLACK, prevP}, // ICON_UTL_EXIT + {102, 169, 16, 16, COLOR_DARKGREEN, ok}, // ICON_SURE_OK + {162, 169, 16, 16, COLOR_RED, cancel}, // ICON_SURE_CNCL + {184, 29, 32, 32, COLOR_BLACK, search}, // ICON_FIND_LNCV + { 42, 407, 16, 16, COLOR_RED, cancel}, // ICON_ACC_CNCL + {260, 403, 24, 24, COLOR_BLACK, wrench}, // ICON_ACC_EDIT + { 57, 294, 16, 16, COLOR_GREENYELLOW, ok}, // ICON_TYPE_OK + {167, 294, 16, 16, COLOR_RED, cancel}, // ICON_TYPE_CNCL + {152, 242, 16, 16, COLOR_RED, cancel}, // ICON_KEYB_ACC + {192, 13, 32, 24, COLOR_BLACK, plus_one}, // ICON_PLUS_ONE + { 44, 138, 32, 24, COLOR_BLACK, wifi}, // ICON_UTL_SCAN + { 44, 194, 32, 32, COLOR_BLACK, sel_lok}, // ICON_UTL_STA + {160, 154, 24, 24, COLOR_WHITE, gameclock}, // ICON_STA_CLOCK + {160, 95, 48, 32, COLOR_GREEN, station}, // ICON_STA_STATION + {280, 430, 24, 24, COLOR_WHITE, wrench}, // ICON_STA_EDIT + { 52, 434, 16, 16, COLOR_YELLOW, cancel}, // ICON_STA_CNCL + { 45, 119, 48, 32, COLOR_SILVER, station}, // ICON_STA_TARGET + {140, 119, 48, 32, COLOR_WHITE, train}, // ICON_STA_TRAIN + { 53, 89, 32, 32, COLOR_ORANGE, targetpin}, // ICON_STA_PIN + {160, 15, 24, 24, COLOR_WHITE, gameclock}, // ICON_STA_TIME + { 10, 12, 48, 32, COLOR_GREENYELLOW, station}, // ICON_STA_COUNT + {252, 242, 16, 16, COLOR_YELLOW, cancel}, // ICON_STA_STOP + {24, 148, 24, 24, COLOR_BLACK, gameclock}, // ICON_STA_TIMEOUT + {203, 18, 16, 16, COLOR_YELLOW, ok}, // ICON_STA_OK +}; + + +//////////////////////////////////////////////////////////// +// ***** BUTTON ***** +//////////////////////////////////////////////////////////// + +enum buttonObj {BUT_CAL_OK, BUT_SSID_CLOSE, BUT_WIFI_OK, BUT_PWD_OK, BUT_PWD_CNCL, BUT_PROT_OK, BUT_OPTIONS, + BUT_CLOCK_OK, BUT_CLOCK_CNCL, + BUT_EDIT_OK, BUT_EDIT_DEL, BUT_EDIT_CNCL, BUT_EDIT_FUNC, BUT_NAME_OK, BUT_NAME_CNCL, + BUT_FNC_OK, BUT_FNC_CNCL, BUT_IMAGE_CNCL, + BUT_MENU_I_DRIVE, BUT_MENU_I_ACC, BUT_MENU_I_CV, BUT_MENU_I_CFG, BUT_MENU_I_UTILS, + BUT_MENU_T_DRIVE, BUT_MENU_T_ACC, BUT_MENU_T_CV, BUT_MENU_T_CFG, BUT_MENU_T_UTILS, + BUT_CFG_I_LANG, BUT_CFG_I_SCR, BUT_CFG_I_SPD, BUT_CFG_I_WIFI, BUT_CFG_I_FCLK, BUT_CFG_I_LOCK, BUT_CFG_I_ABOUT, + BUT_CFG_T_LANG, BUT_CFG_T_SCR, BUT_CFG_T_SPD, BUT_CFG_T_WIFI, BUT_CFG_T_FCLK, BUT_CFG_T_LOCK, BUT_CFG_T_ABOUT, + BUT_CFG_TOUCH, BUT_SCR_OK, BUT_SCR_CNCL, BUT_SPD_OK, BUT_LOCK, BUT_OPT_OK, + BUT_SPEEDO_CNCL, BUT_SPEEDO_CV, BUT_SPEEDO_H0, BUT_SPEEDO_N, BUT_SPEEDO_TT, BUT_SPEEDO_Z, BUT_SPEEDO_0, + BUT_CV_ADDR, BUT_CV_SPD_L, BUT_CV_SPD_M, BUT_CV_SPD_H, BUT_CV_ACC, BUT_CV_DEC, BUT_CV_CFG, BUT_CV_MAN, + BUT_CV_READ, BUT_CV_CNCL, BUT_CV_LNCV, BUT_CV_0, BUT_CV_1, BUT_CV_2, BUT_CV_3, BUT_CV_4, BUT_CV_5, BUT_CV_6, BUT_CV_7, BUT_ADDR_CNCL, + BUT_UTL_I_SPEEDO, BUT_UTL_I_STEAM, BUT_UTL_I_SCAN, BUT_UTL_I_STA, BUT_UTL_T_SPEEDO, BUT_UTL_T_STEAM, BUT_UTL_T_SCAN, BUT_UTL_T_STA, + BUT_STEAM_CNCL, BUT_SURE_OK, BUT_SURE_CNCL, BUT_LNCV_FIND, BUT_LNCV_CNCL, BUT_ACC_0, BUT_ACC_1, BUT_ACC_2, BUT_ACC_3, BUT_ACC_4, + BUT_ACC_5, BUT_ACC_6, BUT_ACC_7, BUT_ACC_8, BUT_ACC_9, BUT_ACC_10, BUT_ACC_11, BUT_ACC_12, BUT_ACC_13, BUT_ACC_14, BUT_ACC_15, + BUT_ACC_CNCL, BUT_ACC_EDIT, BUT_ACC_RED, BUT_ACC_GREEN, BUT_ACC_ASPECT0, BUT_ACC_ASPECT1, BUT_ACC_ASPECT2, BUT_ACC_ASPECT3, + BUT_ACC_OUT0, BUT_ACC_OUT1, BUT_ACC_OUT2, BUT_ACC_OUT3, BUT_ACC_OUT4, BUT_ACC_OUT5, BUT_ACC_OUT6, BUT_ACC_OUT7, + BUT_ACC_OUT8, BUT_ACC_OUT9, BUT_ACC_OUT10, BUT_ACC_OUT11, BUT_ACC_OUT12, BUT_ACC_OUT13, BUT_ACC_OUT14, BUT_ACC_OUT15, + BUT_TYPE_OK, BUT_TYPE_CNCL, BUT_STA_START, BUT_STA_CNCL, BUT_STA_ACC0, BUT_STA_ACC1, BUT_STA_ACC2, BUT_STA_ACC3, BUT_STA_STOP, + BUT_STA_EDIT, BUT_STA_STAM, BUT_STA_STAP, BUT_STA_TURNM, BUT_STA_TURNP, + MAX_BUT_OBJ + }; + +typedef struct { // button data + uint16_t x; + uint16_t y; + uint16_t w; + uint16_t h; + uint16_t border; + uint16_t backgnd; + uint16_t objType; + uint16_t objID; +} wButtonObj; + +wButtonObj buttonData[MAX_BUT_OBJ] = { + {140, 225, 40, 30, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_CAL_OK}, // BUT_CAL_OK + {230, 90, 40, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_WIFI_CLOSE}, // BUT_SSID_CLOSE + { 10, 280, 70, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_WIFI_OK}, // BUT_WIFI_OK + {100, 290, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_PWD_OK}, // BUT_PWD_OK + {180, 290, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_PWD_CNCL}, // BUT_PWD_CNCL + {160, 265, 70, 34, COLOR_AQUA, COLOR_LIGHTBLACK, OBJ_ICON, ICON_PROT_OK}, // BUT_PROT_OK + { 10, 265, 120, 34, COLOR_AQUA, COLOR_LIGHTBLACK, OBJ_LABEL, LBL_OPTIONS}, // BUT_OPTIONS + { 25, 220, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_CLOCK_OK}, // BUT_CLOCK_OK + { 80, 220, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_CLOCK_CNCL}, // BUT_CLOCK_CNCL + { 20, 290, 50, 24, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_EDIT_SAVE}, // BUT_EDIT_OK + {100, 290, 50, 24, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_EDIT_DEL}, // BUT_EDIT_DEL + {180, 290, 50, 24, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_EDIT_CNCL}, // BUT_EDIT_CNCL + { 60, 220, 120, 26, COLOR_AQUA, COLOR_CREAM, OBJ_LABEL, LBL_FUNC}, // BUT_EDIT_FUNC + {100, 290, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_PWD_OK}, // BUT_NAME_OK + {180, 290, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_PWD_CNCL}, // BUT_NAME_CNCL + {100, 290, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_FNC_OK}, // BUT_FNC_OK + {180, 290, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_FNC_CNCL}, // BUT_FNC_CNCL + {230, 90, 40, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_WIFI_CLOSE}, // BUT_IMAGE_CNCL + { 41, 101, 39, 39, COLOR_BLACK, COLOR_BLACK, OBJ_ICON, ICON_MENU_DRIVE}, // BUT_MENU_I_DRIVE + { 41, 161, 39, 39, COLOR_BLACK, COLOR_BLACK, OBJ_ICON, ICON_MENU_ACC}, // BUT_MENU_I_ACC + { 41, 221, 39, 39, COLOR_BLACK, COLOR_BLACK, OBJ_ICON, ICON_MENU_CV}, // BUT_MENU_I_CV + { 41, 281, 39, 39, COLOR_BLACK, COLOR_BLACK, OBJ_ICON, ICON_MENU_CFG}, // BUT_MENU_I_CFG + { 41, 341, 39, 39, COLOR_BLACK, COLOR_BLACK, OBJ_ICON, ICON_MENU_UTILS}, // BUT_MENU_I_UTILS + { 81, 101, 198, 39, COLOR_BLACK, COLOR_BLACK, OBJ_LABEL, LBL_MENU_DRIVE}, // BUT_MENU_T_DRIVE + { 81, 161, 198, 39, COLOR_BLACK, COLOR_BLACK, OBJ_LABEL, LBL_MENU_ACC}, // BUT_MENU_T_ACC + { 81, 221, 198, 39, COLOR_BLACK, COLOR_BLACK, OBJ_LABEL, LBL_MENU_CV}, // BUT_MENU_T_CV + { 81, 281, 198, 39, COLOR_BLACK, COLOR_BLACK, OBJ_LABEL, LBL_MENU_CFG}, // BUT_MENU_T_CFG + { 81, 341, 198, 39, COLOR_BLACK, COLOR_BLACK, OBJ_LABEL, LBL_MENU_UTILS}, // BUT_MENU_T_UTILS + { 41, 11, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_DRAWSTR, DSTR_ENGLISH}, // BUT_CFG_I_LANG + { 41, 71, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_CFG_SCR}, // BUT_CFG_I_SCR + { 41, 131, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_CFG_SPD}, // BUT_CFG_I_SPD + { 41, 191, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_CFG_WIFI}, // BUT_CFG_I_WIFI + { 41, 251, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_CFG_FCLK}, // BUT_CFG_I_FCLK + { 41, 311, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_CFG_LOCK}, // BUT_CFG_I_LOCK + { 41, 371, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_CFG_ABOUT}, // BUT_CFG_I_ABOUT + { 81, 11, 198, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CFG_LANG}, // BUT_CFG_T_LANG + { 81, 71, 198, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CFG_SCR}, // BUT_CFG_T_SCR + { 81, 131, 198, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CFG_SPD}, // BUT_CFG_T_SPD + { 81, 191, 198, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CFG_WIFI}, // BUT_CFG_T_WIFI + { 81, 251, 198, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CFG_FCLK}, // BUT_CFG_T_FCLK + { 81, 311, 198, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CFG_LOCK}, // BUT_CFG_T_LOCK + { 81, 371, 198, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CFG_ABOUT}, // BUT_CFG_T_ABOUT + {150, 170, 60, 40, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_CFG_TOUCH}, // BUT_CFG_TOUCH + { 30, 170, 50, 40, COLOR_AQUA, COLOR_LIGHTBLACK, OBJ_ICON, ICON_SCR_OK}, // BUT_SCR_OK + { 90, 170, 50, 40, COLOR_AQUA, COLOR_LIGHTBLACK, OBJ_ICON, ICON_SCR_CNCL}, // BUT_SCR_CNCL + { 95, 230, 50, 40, COLOR_AQUA, COLOR_LIGHTBLACK, OBJ_ICON, ICON_SPD_OK}, // BUT_SPD_OK + { 95, 230, 50, 40, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_LOCK}, // BUT_LOCK + { 95, 230, 50, 40, COLOR_AQUA, COLOR_LIGHTBLACK, OBJ_ICON, ICON_OPT_OK}, // BUT_OPT_OK + {185, 191, 40, 40, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_SPEEDO_CNCL},// BUT_SPEEDO_CNCL + { 15, 191, 40, 40, COLOR_BLACK, COLOR_WHITE, OBJ_ICON, ICON_SPEEDO_CV}, // BUT_SPEEDO_CV + { 10, 80, 60, 30, COLOR_AQUA, COLOR_CREAM, OBJ_LABEL, LBL_SCALE_H0}, // BUT_SPEEDO_H0 + { 10, 120, 60, 30, COLOR_AQUA, COLOR_CREAM, OBJ_LABEL, LBL_SCALE_N}, // BUT_SPEEDO_N + { 10, 160, 60, 30, COLOR_AQUA, COLOR_CREAM, OBJ_LABEL, LBL_SCALE_TT}, // BUT_SPEEDO_TT + { 10, 200, 60, 30, COLOR_AQUA, COLOR_CREAM, OBJ_LABEL, LBL_SCALE_Z}, // BUT_SPEEDO_Z + { 10, 240, 60, 30, COLOR_AQUA, COLOR_CREAM, OBJ_LABEL, LBL_SCALE_0}, // BUT_SPEEDO_0 + { 41, 11, 238, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CV_ADDR}, // BUT_CV_ADDR + { 41, 71, 238, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CV_SPD_L}, // BUT_CV_SPD_L + { 41, 131, 238, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CV_SPD_M}, // BUT_CV_SPD_M + { 41, 191, 238, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CV_SPD_H}, // BUT_CV_SPD_H + { 41, 251, 238, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CV_ACC}, // BUT_CV_ACC + { 41, 311, 238, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CV_DEC}, // BUT_CV_DEC + { 41, 371, 238, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CV_CFG}, // BUT_CV_CFG + { 41, 431, 238, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_CV_MAN}, // BUT_CV_MAN + { 15, 175, 60, 40, COLOR_WHITE, COLOR_CREAM, OBJ_FNC, FNC_CV_READ}, // BUT_CV_READ + { 15, 280, 60, 35, COLOR_WHITE, COLOR_CREAM, OBJ_ICON, ICON_CV_CNCL}, // BUT_CV_CNCL + { 15, 230, 60, 35, COLOR_WHITE, COLOR_CREAM, OBJ_LABEL, LBL_LNCV}, // BUT_CV_LNCV + {202, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_0}, // BUT_CV_0 + {182, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_1}, // BUT_CV_1 + {162, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_2}, // BUT_CV_2 + {142, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_3}, // BUT_CV_3 + {122, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_4}, // BUT_CV_4 + {102, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_5}, // BUT_CV_5 + { 82, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_6}, // BUT_CV_6 + { 62, 91, 18, 18, COLOR_WHITE, COLOR_BROWN, OBJ_CHAR, CHAR_CV_7}, // BUT_CV_7 + { 90, 280, 60, 35, COLOR_WHITE, COLOR_CREAM, OBJ_ICON, ICON_ADDR_CNCL}, // BUT_ADDR_CNCL + + { 41, 11, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_UTL_SPEED}, // BUT_UTL_I_SPEEDO + { 41, 71, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_FNC, FNC_UTL_STEAM}, // BUT_UTL_I_STEAM + { 41, 131, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_UTL_SCAN}, // BUT_UTL_I_SCAN + { 41, 191, 39, 39, COLOR_WHITE, COLOR_WHITE, OBJ_ICON, ICON_UTL_STA}, // BUT_UTL_I_STA + { 81, 11, 198, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_UTIL_SPEED}, // BUT_UTL_T_SPEEDO + { 81, 71, 198, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_UTIL_STEAM}, // BUT_UTL_T_STEAM + { 81, 131, 198, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_UTIL_SCAN}, // BUT_UTL_T_SCAN + { 81, 191, 198, 39, COLOR_NAVY, COLOR_WHITE, OBJ_LABEL, LBL_UTIL_STA}, // BUT_UTL_T_STA + + {265, 11, 40, 32, COLOR_SKYBLUE, COLOR_SKYBLUE, OBJ_ICON, ICON_STEAM_CNCL}, // BUT_STEAM_CNCL + + { 85, 165, 50, 24, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_SURE_OK}, // BUT_SURE_OK + {145, 165, 50, 24, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_SURE_CNCL}, // BUT_SURE_CNCL + + {180, 25, 40, 40, COLOR_AQUA, COLOR_CREAM, OBJ_ICON, ICON_FIND_LNCV}, // BUT_LNCV_FIND + { 15, 280, 60, 35, COLOR_WHITE, COLOR_CREAM, OBJ_ICON, ICON_CV_CNCL}, // BUT_LNCV_CNCL + + { 24, 30, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC0}, // BUT_ACC_0 + { 98, 30, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC1}, // BUT_ACC_1 + {172, 30, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC2}, // BUT_ACC_2 + {246, 30, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC3}, // BUT_ACC_3 + { 24, 120, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC4}, // BUT_ACC_4 + { 98, 120, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC5}, // BUT_ACC_5 + {172, 120, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC6}, // BUT_ACC_6 + {246, 120, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC7}, // BUT_ACC_7 + { 24, 210, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC8}, // BUT_ACC_8 + { 98, 210, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC9}, // BUT_ACC_9 + {172, 210, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC10}, // BUT_ACC_10 + {246, 210, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC11}, // BUT_ACC_11 + { 24, 300, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC12}, // BUT_ACC_12 + { 98, 300, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC13}, // BUT_ACC_13 + {172, 300, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC14}, // BUT_ACC_14 + {246, 300, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ACC15}, // BUT_ACC_15 + { 24, 390, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_ICON, ICON_ACC_CNCL}, // BUT_ACC_CNCL + {246, 390, 50, 50, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_ICON, ICON_ACC_EDIT}, // BUT_ACC_EDIT + {160, 35, 50, 40, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_RED + { 20, 35, 50, 40, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_GREEN + { 25, 115, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ASPECT0}, // BUT_ACC_ASPECT0 + { 75, 115, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ASPECT1}, // BUT_ACC_ASPECT1 + {125, 115, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ASPECT2}, // BUT_ACC_ASPECT2 + {175, 115, 40, 40, COLOR_AQUA, COLOR_LIGHTGREY, OBJ_FNC, FNC_ASPECT3}, // BUT_ACC_ASPECT3 + + { 80, 88, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT0 + {116, 88, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT1 + {160, 88, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT2 + {196, 88, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT3 + { 80, 128, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT4 + {116, 128, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT5 + {160, 128, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT6 + {196, 128, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT7 + { 80, 168, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT8 + {116, 168, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT9 + {160, 168, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT10 + {196, 168, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT11 + { 80, 208, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT12 + {116, 208, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT13 + {160, 208, 24, 24, COLOR_WHITE, COLOR_GREEN, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT14 + {196, 208, 24, 24, COLOR_WHITE, COLOR_RED, OBJ_UNDEF, OBJ_UNDEF}, // BUT_ACC_OUT15 + { 40, 168, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_TYPE_OK}, // BUT_TYPE_OK + {150, 168, 50, 24, COLOR_WHITE, COLOR_LIGHTBLACK, OBJ_ICON, ICON_TYPE_CNCL}, // BUT_TYPE_CNCL + + {100, 210, 120, 40, COLOR_WHITE, COLOR_ORANGE, OBJ_LABEL, LBL_STA_START}, // BUT_STA_START + { 30, 426, 60, 32, COLOR_WHITE, COLOR_BLUE, OBJ_ICON, ICON_STA_CNCL}, // BUT_STA_CNCL + + { 16, 370, 40, 60, COLOR_WHITE, COLOR_LIGHTGREY, OBJ_FNC, FNC_STA_ACC0}, // BUT_STA_ACC0 + { 72, 370, 40, 60, COLOR_WHITE, COLOR_LIGHTGREY, OBJ_FNC, FNC_STA_ACC1}, // BUT_STA_ACC1 + {128, 370, 40, 60, COLOR_WHITE, COLOR_LIGHTGREY, OBJ_FNC, FNC_STA_ACC2}, // BUT_STA_ACC2 + {184, 370, 40, 60, COLOR_WHITE, COLOR_LIGHTGREY, OBJ_FNC, FNC_STA_ACC3}, // BUT_STA_ACC3 + {240, 230, 40, 40, COLOR_WHITE, COLOR_BLACK, OBJ_ICON, ICON_STA_STOP}, // BUT_STA_STOP + {195, 10, 40, 32, COLOR_WHITE, COLOR_LIGHTGREY, OBJ_ICON, ICON_STA_OK}, // BUT_STA_EDIT + {120, 50, 32, 32, COLOR_WHITE, COLOR_BLACK, OBJ_CHAR, CHAR_STA_STAM}, // BUT_STA_STAM + {200, 50, 32, 32, COLOR_WHITE, COLOR_BLACK, OBJ_CHAR, CHAR_STA_STAP}, // BUT_STA_STAP + {120, 90, 32, 32, COLOR_WHITE, COLOR_BLACK, OBJ_CHAR, CHAR_STA_TURNM}, // BUT_STA_TURNM + {200, 90, 32, 32, COLOR_WHITE, COLOR_BLACK, OBJ_CHAR, CHAR_STA_TURNP}, // BUT_STA_TURNP +}; + + +//////////////////////////////////////////////////////////// +// ***** RADIO BUTTON ***** +//////////////////////////////////////////////////////////// + +enum radioObj {RAD_STOP_MODE, RAD_PROTOCOL, RAD_PROTOCOL_LN, RAD_CSTATION, + MAX_RAD_OBJ + }; + +typedef struct { // radio button data + uint16_t x; + uint16_t y; + uint16_t h; + uint16_t r; + uint16_t num; + uint16_t value; + uint16_t border; + uint16_t backgnd; +} wRadioObj; + +wRadioObj radioData[MAX_RAD_OBJ] = { + { 50, 165, 30, 10, 2, 0, COLOR_BLUE, COLOR_LIGHTGREY}, // RAD_STOP_MODE + { 10, 40, 35, 10, 4, 0, COLOR_BLUE, COLOR_LIGHTGREY}, // RAD_PROTOCOL + { 50, 180, 35, 10, 2, 0, COLOR_BLUE, COLOR_LIGHTGREY}, // RAD_PROTOCOL_LN + { 20, 110, 35, 10, 3, 0, COLOR_BLUE, COLOR_LIGHTGREY}, // RAD_CSTATION + +}; + +//////////////////////////////////////////////////////////// +// ***** PROGRESS BAR ***** +//////////////////////////////////////////////////////////// + +enum barObj {BAR_INIT, BAR_BLIGHT, BAR_WAIT, BAR_JOHNSON, BAR_WATER, BAR_TENDER, BAR_BRAKE, + MAX_BAR_OBJ + }; + +typedef struct { // Progress bar data + uint16_t x; + uint16_t y; + uint16_t w; + uint16_t h; + uint16_t r; + uint16_t colorOn; + uint16_t colorOff; + uint16_t border; + uint16_t backgnd; + uint16_t min; + uint16_t max; + uint16_t value; +} wBarObj; + +wBarObj barData[MAX_BAR_OBJ] = { + { 60, 150, 200, 20, 0, COLOR_DARKCYAN, COLOR_CYAN, COLOR_NAVY, COLOR_WHITE, 0, 100, 0}, // BAR_INIT + { 80, 95, 128, 12, 10, COLOR_NAVY, COLOR_WHITE, COLOR_AQUA, COLOR_WHITE, USER_MIN_BL, 255, 0}, // BAR_BLIGHT + { 85, 154, 100, 12, 0, COLOR_DARKCYAN, COLOR_CYAN, COLOR_NAVY, COLOR_WHITE, 0, 100, 0}, // BAR_WAIT + {270, 240, 10, 130, 10, COLOR_DARKGREY, COLOR_LIGHTGREY, COLOR_RED, COLOR_BLACK, 0, 6, 3}, // BAR_JOHNSON + { 50, 175, 12, 60, 0, COLOR_BLUE, COLOR_LIGHTGREY, COLOR_WHITE, COLOR_BLACK, 0, 50, 40}, // BAR_WATER + { 15, 305, 10, 50, 0, COLOR_BLUE, COLOR_LIGHTGREY, COLOR_WHITE, COLOR_BLACK, 0, 500, 400}, // BAR_TENDER + {255, 165, 50, 8, 8, COLOR_DARKGREY, COLOR_LIGHTGREY, COLOR_RED, COLOR_BLACK, 0, 4, 3}, // BAR_BRAKE +}; + + +//////////////////////////////////////////////////////////// +// ***** LOCO PICTURE ***** +//////////////////////////////////////////////////////////// + +#define LPIC_WIDTH 190 +#define LPIC_HEIGHT 40 + +enum locoPic {SYS_NO_LOK, SYS_ELOK, SYS_LOCO_2, SYS_LOCO_3, SYS_LOCO_4, SYS_LOCO_5, SYS_LOCO_6, SYS_LOCO_7, SYS_LOCO_8, SYS_LOCO_9, MAX_SYS_LPIC}; + +enum locoPicObj {LPIC_MAIN, LPIC_LOK_EDIT, LPIC_SEL_IMG1, LPIC_SEL_IMG2, LPIC_SEL_IMG3, LPIC_SEL_IMG4, LPIC_SEL_IMG5, LPIC_SEL_IMG6, + LPIC_SPEEDO, LPIC_STEAM, + MAX_LPIC_OBJ + }; + +const unsigned char* sysLocoPic[] = { + sysNoLoco, sysLocoPic0, sysLocoPic1, sysLocoPic2, sysLocoPic3, sysLocoPic4, + sysLocoPic5, sysLocoPic6, sysLocoPic7, sysLocoPic8 +}; + +typedef struct { // Loco picture data (190x40 pixel) + uint16_t x; + uint16_t y; + uint16_t id; +} wLpicObj; + +wLpicObj lpicData[MAX_LPIC_OBJ] = { + { 65, 52, SYS_NO_LOK}, // LPIC_MAIN + { 25, 80, SYS_NO_LOK}, // LPIC_LOK_EDIT + { 65, 120, SYS_NO_LOK}, // LPIC_SEL_IMG1 + { 65, 160, SYS_NO_LOK}, // LPIC_SEL_IMG2 + { 65, 200, SYS_NO_LOK}, // LPIC_SEL_IMG3 + { 65, 240, SYS_NO_LOK}, // LPIC_SEL_IMG4 + { 65, 280, SYS_NO_LOK}, // LPIC_SEL_IMG5 + { 65, 320, SYS_NO_LOK}, // LPIC_SEL_IMG6 + { 25, 16, SYS_NO_LOK}, // LPIC_SPEEDO + { 32, 0, SYS_LOCO_4}, // LPIC_STEAM +}; + +//////////////////////////////////////////////////////////// +// ***** GAUGE ***** +//////////////////////////////////////////////////////////// + +enum gaugeObj {GAUGE_SPEED, GAUGE_SPEEDO, GAUGE_STATION, + MAX_GAUGE_OBJ + }; + +typedef struct { // Gauge data + uint16_t x; + uint16_t y; + uint16_t r; // Speed gauge has Radius = 0 + uint16_t color; + uint16_t backgnd; + uint16_t value; // 0..255 +} wGaugeObj; + +wGaugeObj gaugeData[MAX_GAUGE_OBJ] = { + { 160, 290, 0, COLOR_BLACK, COLOR_DARKGREY, 0}, // GAUGE_SPEED + { 120, 220, 40, COLOR_BLUE, COLOR_CYAN, 128}, // GAUGE_SPEEDO + { 160, 250, 46, COLOR_ORANGE, COLOR_CYAN, 128}, // GAUGE_STATION + +}; + + +//////////////////////////////////////////////////////////// +// ***** TEXTBOX ***** +//////////////////////////////////////////////////////////// + +#define NAME_LNG 16 // loco names length +#define ADDR_LNG 4 // loco addr length +#define SSID_LNG 24 +#define PWD_LNG 32 +#define IP_LNG 3 +#define PORT_LNG 5 +#define PANEL_LNG 12 +#define ACC_LNG 6 + +char ssidName[SSID_LNG + 1]; +char ssidName1[SSID_LNG + 1]; +char ssidName2[SSID_LNG + 1]; +char ssidName3[SSID_LNG + 1]; +char ssidName4[SSID_LNG + 1]; +char ssidName5[SSID_LNG + 1]; +char ssidName6[SSID_LNG + 1]; +char keybIP1Buf[IP_LNG + 1]; // IP keyboard +char keybIP2Buf[IP_LNG + 1]; +char keybIP3Buf[IP_LNG + 1]; +char keybIP4Buf[IP_LNG + 1]; +char keybPwdHideBuf[NAME_LNG + 1]; +char keybPortBuf[PORT_LNG + 1]; +char keybPwdBuf[PWD_LNG + 1]; +char keybProtoBuf[PWD_LNG + 1]; +char locoName[NAME_LNG + 1]; +char locoAddr[ADDR_LNG + 1]; +char clockBuf[NAME_LNG + 1]; +char keybHourBuf[3]; +char keybMinBuf[3]; +char keybRateBuf[4]; +char locoEditName[NAME_LNG + 1]; +char locoEditAddr[ADDR_LNG + 1]; +char locoEditID[ADDR_LNG + 1]; +char locoEditVmax[ADDR_LNG + 1]; +char keybNameBuf[NAME_LNG + 1]; +char locoEditFunc[ADDR_LNG + 1]; +char selLocoAddr1[ADDR_LNG + 1]; +char selLocoAddr2[ADDR_LNG + 1]; +char selLocoAddr3[ADDR_LNG + 1]; +char selLocoAddr4[ADDR_LNG + 1]; +char selLocoAddr5[ADDR_LNG + 1]; +char selLocoAddr6[ADDR_LNG + 1]; +char selLocoName1[NAME_LNG + 1]; +char selLocoName2[NAME_LNG + 1]; +char selLocoName3[NAME_LNG + 1]; +char selLocoName4[NAME_LNG + 1]; +char selLocoName5[NAME_LNG + 1]; +char selLocoName6[NAME_LNG + 1]; +char locoKeybAddr[ADDR_LNG + 1]; +char aboutPacoMouseCYD[PWD_LNG + 1]; +char aboutIP[PWD_LNG + 1]; +char aboutMAC[PWD_LNG + 1]; +char spdScaleBuf[NAME_LNG + 1]; +char spdSelScaleBuf[NAME_LNG + 1]; +char spdSelScaleNumBuf[IP_LNG + 1]; +char spdLengthBuf[NAME_LNG + 1]; +char spdSpeedBuf[NAME_LNG + 1]; +char speedoKeybLng[PORT_LNG + 1]; +char keybCvBuf[ADDR_LNG + 1]; +char keybCvValBuf[IP_LNG + 1]; +char cvStatusBuf[PWD_LNG + 1]; +char keybLncvArtBuf[PORT_LNG + 1]; +char keybLncvModBuf[PORT_LNG + 1]; +char keybLncvAdrBuf[PORT_LNG + 1]; +char keybLncvValBuf[PORT_LNG + 1]; +char accNamesBuf[16][ACC_LNG + 1]; +char panelNameBuf[PANEL_LNG + 1]; +char panelNamesBuf[16][PANEL_LNG + 1]; +char accKeybAddr[ADDR_LNG + 1]; +char accKeybAddr1[ADDR_LNG + 1]; +char accKeybAddr2[ADDR_LNG + 1]; +char accKeybName[ACC_LNG + 1]; +char accKeybAdrEdit[ADDR_LNG + 1]; +char staLevelBuf[ADDR_LNG + 1]; +char staStationsBuf[ACC_LNG + 1]; +char staStarsBuf[ADDR_LNG + 1]; +char staTimeBuf[ACC_LNG + 1]; +char staStartTimeBuf[IP_LNG + 1]; +char staStatNumBuf[IP_LNG + 1]; +char staTurnNumBuf[IP_LNG + 1]; +char staTurnout1Buf[ADDR_LNG + 1]; +char staTurnout2Buf[ADDR_LNG + 1]; +char staTurnout3Buf[ADDR_LNG + 1]; +char staTurnout4Buf[ADDR_LNG + 1]; + + +enum textObj {TXT_SSID1, TXT_SSID2, TXT_SSID3, TXT_SSID4, TXT_SSID5, TXT_SSID6, + TXT_IP1, TXT_IP2, TXT_IP3, TXT_IP4, TXT_PORT, TXT_SSID, TXT_PWD_HIDE, TXT_PWD, TXT_PROTOCOL, + TXT_LOCO_NAME, TXT_LOCO_ADDR, TXT_CLOCK, TXT_HOUR, TXT_MIN, TXT_RATE, + TXT_EDIT_ADDR, TXT_EDIT_NAME, TXT_EDIT_IMAGE, TXT_EDIT_VMAX, TXT_NAME, TXT_EDIT_FNC, TXT_KEYB_VMAX, + TXT_SEL_ADDR1, TXT_SEL_ADDR2, TXT_SEL_ADDR3, TXT_SEL_ADDR4, TXT_SEL_ADDR5, TXT_SEL_ADDR6, + TXT_SEL_NAME1, TXT_SEL_NAME2, TXT_SEL_NAME3, TXT_SEL_NAME4, TXT_SEL_NAME5, TXT_SEL_NAME6, + TXT_KEYB_ADDR, TXT_ABOUT, TXT_ABOUT_IP, TXT_ABOUT_MAC, + TXT_SPEEDO_SCALE, TXT_SPEEDO_LNG, TXT_SPEEDO_SPD, TXT_EDIT_LNG, TXT_EDIT_SCALE, TXT_NUM_SCALE, + TXT_CV, TXT_CV_VAL, TXT_CV_STATUS, TXT_CV_ADDR, TXT_LNCV_ART, TXT_LNCV_MOD, TXT_LNCV_ADR, TXT_LNCV_VAL, + TXT_ACC_0, TXT_ACC_1, TXT_ACC_2, TXT_ACC_3, TXT_ACC_4, TXT_ACC_5, TXT_ACC_6, TXT_ACC_7, + TXT_ACC_8, TXT_ACC_9, TXT_ACC_10, TXT_ACC_11, TXT_ACC_12, TXT_ACC_13, TXT_ACC_14, TXT_ACC_15, + TXT_PANEL, TXT_PANEL0, TXT_PANEL1, TXT_PANEL2, TXT_PANEL3, TXT_PANEL4, TXT_PANEL5, TXT_PANEL6, TXT_PANEL7, + TXT_PANEL8, TXT_PANEL9, TXT_PANEL10, TXT_PANEL11, TXT_PANEL12, TXT_PANEL13, TXT_PANEL14, TXT_PANEL15, + TXT_ACC_ADDR, TXT_ACC_ADDR1, TXT_ACC_ADDR2, TXT_ACC_NAME, TXT_ACC_EDIT, TXT_STA_LEVEL, TXT_STA_STARS, + TXT_STA_STATION, TXT_STA_CLOCK, TXT_STA_TIME, TXT_STA_COUNT, TXT_STA_STARC, TXT_STA_STARTTIME, + TXT_STA_STATNUM, TXT_STA_TURNNUM, TXT_STA_TURNOUT1, TXT_STA_TURNOUT2, TXT_STA_TURNOUT3, TXT_STA_TURNOUT4, + MAX_TXT_OBJ + }; + +typedef struct { // Textbox data + uint16_t x; + uint16_t y; + uint16_t w; + uint16_t h; + uint16_t color; + uint16_t backgnd; + uint16_t border; + bool alignCenter; + uint16_t maxLength; + char *buf; + const GFXfont *font; +} wTxtObj; + +wTxtObj txtData[MAX_TXT_OBJ] = { + { 41, 130, 238, 40, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, false, SSID_LNG, ssidName1, FSS9}, // TXT_SSID1 + { 41, 170, 238, 40, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, false, SSID_LNG, ssidName2, FSS9}, // TXT_SSID2 + { 41, 210, 238, 40, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, false, SSID_LNG, ssidName3, FSS9}, // TXT_SSID3 + { 41, 250, 238, 40, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, false, SSID_LNG, ssidName4, FSS9}, // TXT_SSID4 + { 41, 290, 238, 40, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, false, SSID_LNG, ssidName5, FSS9}, // TXT_SSID5 + { 41, 330, 238, 40, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, false, SSID_LNG, ssidName6, FSS9}, // TXT_SSID6 + { 55, 130, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, IP_LNG, keybIP1Buf, FSS9}, // TXT_IP1 + {100, 130, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, IP_LNG, keybIP2Buf, FSS9}, // TXT_IP2 + {145, 130, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, IP_LNG, keybIP3Buf, FSS9}, // TXT_IP3 + {190, 130, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, IP_LNG, keybIP4Buf, FSS9}, // TXT_IP4 + { 80, 170, 60, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, PORT_LNG, keybPortBuf, FSS9}, // TXT_PORT + { 10, 50, 220, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, false, SSID_LNG, ssidName, FSS9}, // TXT_SSID + {140, 90, 90, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, false, NAME_LNG, keybPwdHideBuf, FSS9}, // TXT_PWD_HIDE + { 10, 135, 220, 24, COLOR_BLACK, COLOR_YELLOW, COLOR_WHITE, true, PWD_LNG, keybPwdBuf, FSS9}, // TXT_PWD + { 10, 240, 140, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, false, PWD_LNG, keybProtoBuf, FSS9}, // TXT_PROTOCOL + { 80, 102, 160, 24, COLOR_NAVY, COLOR_BACKGROUND, COLOR_BACKGROUND, true, NAME_LNG, locoName, FSS7}, // TXT_LOCO_NAME + {130, 156, 60, 24, COLOR_NAVY, COLOR_BACKGROUND, COLOR_BACKGROUND, true, ADDR_LNG, locoAddr, FSSB9}, // TXT_LOCO_ADDR + { 80, 11, 160, 31, COLOR_BLACK, COLOR_BACKGROUND, COLOR_BACKGROUND, true, NAME_LNG, clockBuf, FSSB12}, // TXT_CLOCK + { 55, 130, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, 2, keybHourBuf, FSS9}, // TXT_HOUR + {100, 130, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, 2, keybMinBuf, FSS9}, // TXT_MIN + {100, 170, 40, 24, COLOR_BLACK, COLOR_BACKGROUND, COLOR_WHITE, true, 3, keybRateBuf, FSS9}, // TXT_RATE + {120, 12, 60, 24, COLOR_BLUE, COLOR_BACKGROUND, COLOR_BACKGROUND, false, ADDR_LNG, locoEditAddr, FSSB9}, // TXT_EDIT_ADDR + { 80, 140, 150, 24, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, false, NAME_LNG, locoEditName, FSS9}, // TXT_EDIT_NAME + {120, 52, 60, 24, COLOR_BLUE, COLOR_BACKGROUND, COLOR_BACKGROUND, false, ADDR_LNG, locoEditID, FSSB9}, // TXT_EDIT_IMAGE + {125, 180, 50, 24, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ADDR_LNG, locoEditVmax, FSS9}, // TXT_EDIT_VMAX + { 10, 135, 220, 24, COLOR_BLACK, COLOR_YELLOW, COLOR_WHITE, true, NAME_LNG, keybNameBuf, FSS9}, // TXT_NAME + { 80, 115, 80, 31, COLOR_NAVY, COLOR_BACKGROUND, COLOR_BACKGROUND, true, ADDR_LNG, locoEditFunc, FSSB12}, // TXT_EDIT_FNC + { 75, 40, 80, 31, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, IP_LNG, locoEditVmax, FSSB12}, // TXT_KEYB_VMAX + { 1, 50, 60, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, true, ADDR_LNG, selLocoAddr1, FSSB12}, // TXT_SEL_ADDR1 + { 1, 90, 60, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, true, ADDR_LNG, selLocoAddr2, FSSB12}, // TXT_SEL_ADDR2 + { 1, 130, 60, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, true, ADDR_LNG, selLocoAddr3, FSSB12}, // TXT_SEL_ADDR3 + { 1, 170, 60, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, true, ADDR_LNG, selLocoAddr4, FSSB12}, // TXT_SEL_ADDR4 + { 1, 210, 60, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, true, ADDR_LNG, selLocoAddr5, FSSB12}, // TXT_SEL_ADDR5 + { 1, 250, 60, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, true, ADDR_LNG, selLocoAddr6, FSSB12}, // TXT_SEL_ADDR6 + { 61, 50, 178, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, false, NAME_LNG, selLocoName1, FSS9}, // TXT_SEL_NAME1 + { 61, 90, 178, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, false, NAME_LNG, selLocoName2, FSS9}, // TXT_SEL_NAME2 + { 61, 130, 178, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, false, NAME_LNG, selLocoName3, FSS9}, // TXT_SEL_NAME3 + { 61, 170, 178, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, false, NAME_LNG, selLocoName4, FSS9}, // TXT_SEL_NAME4 + { 61, 210, 178, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, false, NAME_LNG, selLocoName5, FSS9}, // TXT_SEL_NAME5 + { 61, 250, 178, 40, COLOR_NAVY, COLOR_WHITE, COLOR_LIGHTGREY, false, NAME_LNG, selLocoName6, FSS9}, // TXT_SEL_NAME6 + { 75, 40, 80, 31, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ADDR_LNG, locoKeybAddr, FSSB12}, // TXT_KEYB_ADDR + { 70, 90, 120, 31, COLOR_NAVY, COLOR_WHITE, COLOR_WHITE, true, PWD_LNG, aboutPacoMouseCYD, FSSB12}, // TXT_ABOUT + { 55, 172, 150, 31, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, PWD_LNG, aboutIP, FSS7}, // TXT_ABOUT_IP + { 55, 195, 160, 31, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, PWD_LNG, aboutMAC, FSS7}, // TXT_ABOUT_MAC + {115, 67, 100, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, NAME_LNG, spdScaleBuf, FSSB9}, // TXT_SPEEDO_SCALE + { 87, 140, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, NAME_LNG, spdLengthBuf, FSSB9}, // TXT_SPEEDO_LNG + { 25, 270, 190, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, NAME_LNG, spdSpeedBuf, FSSB9}, // TXT_SPEEDO_SPD + { 75, 40, 80, 31, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, PORT_LNG, speedoKeybLng, FSSB12}, // TXT_EDIT_LNG + { 55, 20, 70, 30, COLOR_YELLOW, COLOR_BACKGROUND, COLOR_BACKGROUND, true, NAME_LNG, spdSelScaleBuf, FSSB12}, // TXT_EDIT_SCALE + {130, 20, 60, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, IP_LNG, spdSelScaleNumBuf, FSSB12}, // TXT_NUM_SCALE + { 50, 45, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, ADDR_LNG, keybCvBuf, FSSB12}, // TXT_CV + {160, 45, 60, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, IP_LNG, keybCvValBuf, FSSB12}, // TXT_CV_VAL + { 1, 5, 238, 30, COLOR_BLACK, COLOR_BACKGROUND, COLOR_BACKGROUND, true, PWD_LNG, cvStatusBuf, FSSB12}, // TXT_CV_STATUS + {100, 40, 80, 30, COLOR_BLUE, COLOR_WHITE, COLOR_BLACK, true, ADDR_LNG, locoEditAddr, FSSB12}, // TXT_CV_ADDR + { 85, 8, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, PORT_LNG, keybLncvArtBuf, FSSB12}, // TXT_LNCV_ART + { 85, 48, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, PORT_LNG, keybLncvModBuf, FSSB12}, // TXT_LNCV_MOD + { 75, 88, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, PORT_LNG, keybLncvAdrBuf, FSSB12}, // TXT_LNCV_ADR + {160, 88, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, true, PORT_LNG, keybLncvValBuf, FSSB12}, // TXT_LNCV_VAL + { 24, 80, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[0], FSSB6}, // TXT_ACC_0 + { 98, 80, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[1], FSSB6}, // TXT_ACC_1 + {172, 80, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[2], FSSB6}, // TXT_ACC_2 + {246, 80, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[3], FSSB6}, // TXT_ACC_3 + { 24, 170, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[4], FSSB6}, // TXT_ACC_4 + { 98, 170, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[5], FSSB6}, // TXT_ACC_5 + {172, 170, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[6], FSSB6}, // TXT_ACC_6 + {246, 170, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[7], FSSB6}, // TXT_ACC_7 + { 24, 260, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[8], FSSB6}, // TXT_ACC_8 + { 98, 260, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[9], FSSB6}, // TXT_ACC_9 + {172, 260, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[10], FSSB6}, // TXT_ACC_10 + {246, 260, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[11], FSSB6}, // TXT_ACC_11 + { 24, 350, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[12], FSSB6}, // TXT_ACC_12 + { 98, 350, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[13], FSSB6}, // TXT_ACC_13 + {172, 350, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[14], FSSB6}, // TXT_ACC_14 + {246, 350, 50, 20, COLOR_BLACK, COLOR_WHITE, COLOR_WHITE, true, ACC_LNG, accNamesBuf[15], FSSB6}, // TXT_ACC_15 + {105, 400, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNameBuf, FSS7}, // TXT_PANEL + { 5, 4, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[0], FSS7}, // TXT_PANEL0 + {125, 4, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[1], FSS7}, // TXT_PANEL1 + { 5, 44, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[2], FSS7}, // TXT_PANEL2 + {125, 44, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[3], FSS7}, // TXT_PANEL3 + { 5, 84, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[4], FSS7}, // TXT_PANEL4 + {125, 84, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[5], FSS7}, // TXT_PANEL5 + { 5, 124, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[6], FSS7}, // TXT_PANEL6 + {125, 124, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[7], FSS7}, // TXT_PANEL7 + { 5, 164, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[8], FSS7}, // TXT_PANEL8 + {125, 164, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[9], FSS7}, // TXT_PANEL9 + { 5, 204, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[10], FSS7}, // TXT_PANEL10 + {125, 204, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[11], FSS7}, // TXT_PANEL11 + { 5, 244, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[12], FSS7}, // TXT_PANEL12 + {125, 244, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[13], FSS7}, // TXT_PANEL13 + { 5, 284, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[14], FSS7}, // TXT_PANEL14 + {125, 284, 110, 32, COLOR_NAVY, COLOR_CREAM, COLOR_BACKGROUND, true, PANEL_LNG, panelNamesBuf[15], FSS7}, // TXT_PANEL15 + { 75, 40, 80, 31, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ADDR_LNG, accKeybAddr, FSSB12}, // TXT_ACC_ADDR + { 75, 45, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ADDR_LNG, accKeybAddr1, FSSB9}, // TXT_ACC_ADDR1 + {155, 45, 70, 30, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ADDR_LNG, accKeybAddr2, FSSB9}, // TXT_ACC_ADDR2 + { 75, 5, 100, 30, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ACC_LNG, accKeybName, FSSB9}, // TXT_ACC_NAME + { 75, 40, 80, 31, COLOR_BLACK, COLOR_WHITE, COLOR_NAVY, true, ADDR_LNG, accKeybAdrEdit, FSSB12}, // TXT_ACC_EDIT + + { 65, 90, 40, 31, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, ADDR_LNG, staLevelBuf, FSS9}, // TXT_STA_LEVEL + { 50, 150, 40, 31, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, ADDR_LNG, staStarsBuf, FSS9}, // TXT_STA_STARS + {218, 90, 60, 31, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, ACC_LNG, staStationsBuf, FSS9}, // TXT_STA_STATION + {190, 150, 60, 31, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, ACC_LNG, staTimeBuf, FSS9}, // TXT_STA_CLOCK + {190, 12, 55, 27, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, ACC_LNG, staTimeBuf, FSS9}, // TXT_STA_TIME + { 60, 12, 55, 27, COLOR_WHITE, COLOR_BLUE, COLOR_BLUE, false, ACC_LNG, staStationsBuf, FSS9}, // TXT_STA_COUNT + { 22, 245, 40, 26, COLOR_WHITE, COLOR_BLUE - 0x0011, COLOR_BLUE - 0x0011, true, ADDR_LNG, staStarsBuf, FSS9}, // TXT_STA_STARC + + {120, 10, 60, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, IP_LNG, staStartTimeBuf, FSS9}, // TXT_STA_STARTTIME + {160, 50, 32, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, IP_LNG, staStatNumBuf, FSS9}, // TXT_STA_STATNUM + {160, 90, 32, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, IP_LNG, staTurnNumBuf, FSS9}, // TXT_STA_TURNNUM + { 10, 165, 60, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, ADDR_LNG, staTurnout1Buf, FSS9}, // TXT_STA_TURNOUT1 + { 10, 200, 60, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, ADDR_LNG, staTurnout2Buf, FSS9}, // TXT_STA_TURNOUT2 + { 10, 235, 60, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, ADDR_LNG, staTurnout3Buf, FSS9}, // TXT_STA_TURNOUT3 + { 10, 270, 60, 32, COLOR_WHITE, COLOR_BLUE, COLOR_WHITE, true, ADDR_LNG, staTurnout4Buf, FSS9}, // TXT_STA_TURNOUT4 + +}; + + + +//////////////////////////////////////////////////////////// +// ***** SWITCH ***** +//////////////////////////////////////////////////////////// + +enum switchObj { SW_SHUNTING, SW_ROTATE, SW_LOCK_LOK, SW_LOCK_ACC, SW_LOCK_PRG, SW_OPT_TT_OFFSET, SW_OPT_ADR, SW_OPT_DISCOVER, + SW_POM, SW_STA_OR1, SW_STA_OR2, SW_STA_OR3, SW_STA_OR4, SW_STA_INV1, SW_STA_INV2, SW_STA_INV3, SW_STA_INV4, + MAX_SWITCH_OBJ + }; + +typedef struct { // Switch data + uint16_t x; + uint16_t y; + uint16_t h; + uint16_t colorOn; + uint16_t colorOff; + uint16_t colorKnob; + bool state; +} wSwitchObj; + +wSwitchObj switchData[MAX_SWITCH_OBJ] = { + { 35, 130, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_SHUNTING + { 30, 130, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_ROTATE + { 25, 130, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_LOCK_LOK + { 25, 165, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_LOCK_ACC + { 25, 200, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_LOCK_PRG + { 15, 50, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_OPT_TT_OFFSET + { 15, 155, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_OPT_ADR + { 15, 85, 21, COLOR_BLUE, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_OPT_DISCOVER + { 15, 125, 21, COLOR_RED, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_POM + { 95, 170, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_OR1 + { 95, 205, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_OR2 + { 95, 240, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_OR3 + { 95, 275, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_OR4 + {170, 170, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_INV1 + {170, 205, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_INV2 + {170, 240, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_INV3 + {170, 275, 21, COLOR_CYAN, COLOR_DARKCYAN, COLOR_WHITE, false}, // SW_STA_INV4 + +}; + + +//////////////////////////////////////////////////////////// +// ***** KEYBOARD ***** +//////////////////////////////////////////////////////////// + +#define KEYB_WIDTH 240 +#define KEYB_HEIGHT 120 +#define KEYPAD_WIDTH 80 +#define KEYPAD_HEIGHT 120 +#define KEYPAD_BIG_WIDTH 150 +#define KEYPAD_BIG_HEIGHT 190 +#define CHR_BKSPC 8 +#define CHR_ENTER '\n' +#define CHR_REDRAW '\r' + +const char KeybAlphaCaps[3][12] = { + { 0, 12, 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'}, + {10, 11, 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L'}, + {30, 9, 'Z', 'X', 'C', 'V', 'B', 'N', 'M'}, +}; + +const char KeybAlpha[3][12] = { + { 0, 12, 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'}, + {10, 11, 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'}, + {30, 9, 'z', 'x', 'c', 'v', 'b', 'n', 'm'}, +}; + +const char KeybNum[3][12] = { + { 0, 12, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'}, + { 0, 12, '-', '/', ':', ';', '(', ')', '$', '&', '@', '"'}, + { 50, 7, '.', ',', '?', '!', '\''} +}; + +const char KeybSym[3][12] = { + { 0, 12, '[', ']', '{', '}', '#', '%', '^', '*', '+', '='}, + {40, 8, '_', '\\', '|', '~', '<', '>'}, + {50, 7, '.', ',', '?', '!', '\''} +}; + +const char KeybKeypad[3][12] = { + { 0, 5, '7', '8', '9'}, + { 0, 5, '4', '5', '6'}, + { 0, 5, '1', '2', '3'} +}; + +enum keybType {KEYB_ALPHA, KEYB_CAPS, KEYB_NUM, KEYB_SYM, KEYB_KEYPAD, KEYB_KEYPAD_BIG, KEYB_KEYPAD_OPT}; + +enum keybObj {KEYB_IP, KEYB_PWD, KEYB_CLOCK, KEYB_NAME, KEYB_VMAX, KEYB_ADDR, + KEYB_LNG, KEYB_SCALE, KEYB_CV, KEYB_CV_ADDR, KEYB_LNCV, KEYB_ACC, KEYB_ACC_ADDR, + KEYB_STA, + MAX_KEYB_OBJ + }; + + +typedef struct { // Keyboard data + uint16_t x; + uint16_t y; + uint16_t type; + uint16_t idTextbox; +} wKeybObj; + +wKeybObj keybData[MAX_KEYB_OBJ] = { + {150, 170, KEYB_KEYPAD, TXT_IP1}, // KEYB_IP + { 0, 165, KEYB_ALPHA, TXT_PWD}, // KEYB_PWD + {142, 130, KEYB_KEYPAD, TXT_HOUR}, // KEYB_CLOCK + { 0, 165, KEYB_CAPS, TXT_NAME}, // KEYB_NAME + { 40, 80, KEYB_KEYPAD_BIG, TXT_KEYB_VMAX}, // KEYB_VMAX + { 40, 80, KEYB_KEYPAD_BIG, TXT_KEYB_ADDR}, // KEYB_ADDR + { 40, 80, KEYB_KEYPAD_BIG, TXT_EDIT_LNG}, // KEYB_LNG + { 80, 80, KEYB_KEYPAD_BIG, TXT_NUM_SCALE}, // KEYB_SCALE + { 80, 125, KEYB_KEYPAD_BIG, TXT_CV_VAL}, // KEYB_CV + { 40, 80, KEYB_KEYPAD_BIG, TXT_CV_ADDR}, // KEYB_CV_ADDR + { 85, 125, KEYB_KEYPAD_BIG, TXT_LNCV_VAL}, // KEYB_LNCV + { 40, 80, KEYB_KEYPAD_OPT, TXT_ACC_ADDR}, // KEYB_ACC + { 40, 80, KEYB_KEYPAD_BIG, TXT_ACC_EDIT}, // KEYB_ACC_ADDR + { 85, 80, KEYB_KEYPAD_BIG, TXT_STA_STARTTIME}, // KEYB_STA +}; diff --git a/include/icon.h b/include/icon.h new file mode 100644 index 0000000..b357c73 --- /dev/null +++ b/include/icon.h @@ -0,0 +1,2814 @@ +/* PacoMouseCYD throttle -- F. Cañada 2025-2026 -- https://usuaris.tinet.cat/fmco/ +*/ + +// Monochrome icons +// img2cpp: Arduino Code output. Draw Mode set to Horizontal - 1 bit per pixel. Invert image colors + +//////////////////////////////////////////////////////////// +// ***** SYS ICON ***** +//////////////////////////////////////////////////////////// + +// 'cara_paco44x64', 44x64px +const unsigned char cara_paco44x64 [384] = { + 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x80, 0x00, 0x00, 0x3f, + 0xfc, 0x7f, 0x80, 0x00, 0x00, 0x7f, 0xfc, 0x03, 0xe0, 0x00, 0x00, 0xff, 0xf8, 0x01, 0xf0, 0x00, + 0x00, 0xff, 0x80, 0x00, 0xfc, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x3e, 0x00, 0x03, 0xfc, 0x00, 0x00, + 0x1e, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x1f, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x0f, 0x80, 0x07, 0xe0, + 0x00, 0x00, 0x0f, 0xc0, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x07, 0x80, 0x00, 0x00, 0x07, 0xc0, + 0x0f, 0x80, 0x00, 0x00, 0x07, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x0f, 0x00, 0x00, 0x00, + 0x03, 0xe0, 0x0f, 0xe0, 0x00, 0x00, 0x03, 0xe0, 0x0f, 0xfc, 0x00, 0x00, 0x03, 0xe0, 0x0f, 0xff, + 0x00, 0x7f, 0x03, 0xf0, 0x1f, 0xff, 0x00, 0xff, 0xe1, 0xf0, 0x1f, 0xff, 0x00, 0xff, 0xf1, 0xf0, + 0xff, 0x0e, 0x00, 0xff, 0xfb, 0xf0, 0xff, 0xfc, 0x00, 0x70, 0x79, 0xf0, 0xff, 0xff, 0x01, 0xff, + 0xe1, 0xf0, 0xdf, 0xff, 0x87, 0xff, 0xff, 0xf0, 0xdf, 0xfd, 0xff, 0x3f, 0xcf, 0xf0, 0xff, 0xfd, + 0xfe, 0x3f, 0xe7, 0xf0, 0xff, 0xe1, 0x8e, 0x3f, 0xe7, 0xf0, 0xfc, 0x01, 0x86, 0x0f, 0xe7, 0xf0, + 0xfc, 0x03, 0x86, 0x00, 0x07, 0xf0, 0x7f, 0x03, 0x87, 0x00, 0x07, 0xf0, 0x3f, 0xff, 0x03, 0x00, + 0x07, 0xf0, 0x37, 0xfe, 0x03, 0xf0, 0x3f, 0xf0, 0x30, 0x0c, 0x01, 0xff, 0xfd, 0xe0, 0x30, 0x0c, + 0x00, 0x07, 0x61, 0xe0, 0x70, 0x0e, 0x00, 0x00, 0x01, 0xe0, 0x70, 0x0f, 0x0c, 0x00, 0x01, 0xe0, + 0x70, 0x0f, 0xfe, 0x00, 0x01, 0xe0, 0x70, 0x3f, 0xff, 0xf0, 0x01, 0xe0, 0x70, 0x7f, 0xff, 0xfc, + 0x01, 0xe0, 0x70, 0xff, 0xff, 0xfe, 0x01, 0xe0, 0x78, 0xff, 0xff, 0xfe, 0x03, 0xe0, 0x79, 0xff, + 0xff, 0xfe, 0x03, 0xe0, 0x79, 0xff, 0xff, 0xfe, 0x03, 0xc0, 0x7f, 0xff, 0xff, 0xfe, 0x07, 0xc0, + 0x7f, 0xff, 0x00, 0x7e, 0x0f, 0xc0, 0x3f, 0xff, 0xff, 0xff, 0x1f, 0x80, 0x3f, 0xff, 0xff, 0xff, + 0xff, 0x80, 0x1f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0f, 0xff, + 0xff, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xe0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x7f, 0xff, 0xff, 0x80, 0x00, 0x00, 0x3f, + 0xff, 0xfc, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00 +}; + +// 'wifi', 32x24px +const unsigned char wifi [96] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x7f, 0xfe, 0x00, 0x07, 0xff, 0xff, 0x80, 0x1f, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xc0, 0x08, + 0x3f, 0xff, 0x80, 0x04, 0x72, 0x49, 0x9f, 0x64, 0x72, 0x4f, 0x98, 0x02, 0x72, 0x49, 0x9f, 0x62, + 0x78, 0x19, 0x98, 0x62, 0x79, 0x99, 0x98, 0x62, 0x79, 0x99, 0x98, 0x62, 0x3f, 0xff, 0x80, 0x04, + 0x3f, 0xff, 0x00, 0x04, 0x1f, 0xfe, 0x00, 0x08, 0x07, 0xff, 0xff, 0xf0, 0x00, 0x7f, 0xfe, 0x00, + 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'sdcard', 16x16px +const unsigned char sdcard [] = { + 0x00, 0x00, 0x0F, 0xFC, 0x18, 0x04, 0x37, 0xFC, 0x3F, 0xFC, 0x3F, 0xF8, 0x3F, 0xF8, 0x39, 0x1C, + 0x37, 0x6C, 0x3B, 0x6C, 0x3D, 0x6C, 0x33, 0x1C, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x00, 0x00 +}; + +// 'ok', 16x16px +const unsigned char ok [] = { + 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0e, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x78, 0xe0, 0xf0, + 0xf9, 0xf0, 0x7f, 0xe0, 0x3f, 0xe0, 0x1f, 0xc0, 0x0f, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'cancel', 16x16px +const unsigned char cancel [] = { + 0x10, 0x10, 0x38, 0x38, 0x7c, 0x7c, 0xfe, 0xfe, 0x7f, 0xfc, 0x3f, 0xf8, 0x1f, 0xf0, 0x0f, 0xe0, + 0x1f, 0xf0, 0x3f, 0xf8, 0x7f, 0xfc, 0xfe, 0xfe, 0x7c, 0x7c, 0x38, 0x38, 0x10, 0x10, 0x00, 0x00 +}; + +// 'shift', 16x16px +const unsigned char shift [] = { + 0x00, 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f, 0xf8, 0x1f, 0xfc, 0x03, 0xe0, + 0x03, 0xe0, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'del', 16x16px +const unsigned char del [] = { + 0x00, 0x00, 0x01, 0xff, 0x03, 0xff, 0x07, 0xff, 0x0f, 0xff, 0x1c, 0xf3, 0x3e, 0x67, 0x7f, 0x0f, + 0xff, 0x9f, 0x7f, 0x0f, 0x3e, 0x67, 0x1c, 0xf3, 0x0f, 0xff, 0x07, 0xff, 0x03, 0xff, 0x01, 0xff +}; +/* + // 'del', 16x16px + const unsigned char del [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfc, 0x0f, 0xfc, 0x1f, 0x74, 0x3f, 0xac, 0x7f, 0xdc, + 0x3f, 0xac, 0x1f, 0x74, 0x0f, 0xfc, 0x07, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +*/ +// 'arrowL', 16x16px +const unsigned char arrowL [] = { + 0x00, 0x00, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x3f, 0x00, 0xff, 0x03, 0xff, 0x0f, 0xff, 0x3f, 0xff, + 0x7f, 0xff, 0x3f, 0xff, 0x0f, 0xff, 0x03, 0xff, 0x00, 0xff, 0x00, 0x3f, 0x00, 0x0f, 0x00, 0x03 +}; + +// 'arrowR', 16x16px +const unsigned char arrowR [] = { + 0x00, 0x00, 0xc0, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0xff, 0x00, 0xff, 0xc0, 0xff, 0xf0, 0xff, 0xfc, + 0xff, 0xfe, 0xff, 0xfc, 0xff, 0xf0, 0xff, 0xc0, 0xff, 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xc0, 0x00 +}; + +// 'trash', 16x16px +const unsigned char trash [] = { + 0x00, 0x00, 0x03, 0x80, 0x3f, 0xf8, 0x3f, 0xf8, 0x10, 0x10, 0x15, 0x50, 0x15, 0x50, 0x15, 0x50, + 0x15, 0x50, 0x15, 0x50, 0x15, 0x50, 0x15, 0x50, 0x15, 0x50, 0x10, 0x10, 0x0f, 0xe0, 0x00, 0x00 +}; + +// 'menu', 32x32px +const unsigned char menu [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, + 0x1f, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, + 0x1f, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, + 0x1f, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'power', 32x32px +const unsigned char power [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, + 0x00, 0x03, 0xc0, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x33, 0xcc, 0x00, 0x00, 0xf3, 0xcf, 0x00, + 0x01, 0xf3, 0xcf, 0x80, 0x03, 0xe3, 0xc7, 0xc0, 0x07, 0x83, 0xc1, 0xe0, 0x07, 0x03, 0xc0, 0xe0, + 0x0f, 0x03, 0xc0, 0xf0, 0x0e, 0x03, 0xc0, 0x70, 0x1e, 0x03, 0xc0, 0x78, 0x1c, 0x03, 0xc0, 0x38, + 0x1c, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x38, + 0x1c, 0x00, 0x00, 0x38, 0x1e, 0x00, 0x00, 0x78, 0x0e, 0x00, 0x00, 0x70, 0x0f, 0x00, 0x00, 0xf0, + 0x07, 0x00, 0x00, 0xe0, 0x07, 0x80, 0x01, 0xe0, 0x03, 0xe0, 0x07, 0xc0, 0x01, 0xf8, 0x1f, 0x80, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'fncnxt', 32x24px +const unsigned char fncnxt [] = { + 0x0f, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xfe, 0x7e, 0x00, 0x7f, 0xfe, + 0xfe, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xfe, 0x1f, 0xff, 0xff, + 0xfe, 0x1f, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xfe, 0x03, 0xff, 0xff, 0xfe, 0x03, 0xff, 0xff, + 0xfe, 0x03, 0xde, 0xff, 0xfe, 0x03, 0xce, 0x7f, 0xfe, 0x1f, 0xc6, 0x3f, 0xfe, 0x1f, 0xc2, 0x1f, + 0xfe, 0x1f, 0xc0, 0x0f, 0xfe, 0x1f, 0xc2, 0x1f, 0xfe, 0x1f, 0xc6, 0x3f, 0xfe, 0x1f, 0xce, 0x7f, + 0x7e, 0x1f, 0xde, 0xfe, 0x7f, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xfc, 0x0f, 0xff, 0xff, 0xf0 +}; + + +// 'arc10', 11x13px +const unsigned char arc10 [] = { + 0xfc, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0x83, 0xe0, 0xfc, 0x00, + 0xfc, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfc, 0x00 +}; + +// 'needle', 36x15px +const unsigned char needle [] = { + 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xf0, 0x00, + 0x00, 0xff, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xe0, 0x7f, 0xff, + 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, + 0xf0, 0x00, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x70 +}; + +// 'brillo', 24x24px +const unsigned char brillo [] = { + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x10, 0x10, 0x08, 0x08, 0x00, 0x10, 0x04, + 0x7c, 0x20, 0x01, 0xff, 0x00, 0x03, 0x9f, 0x80, 0x07, 0x1f, 0xc0, 0x06, 0x1f, 0xc0, 0x0c, 0x1f, + 0xe0, 0xec, 0x1f, 0xee, 0x0c, 0x1f, 0xe0, 0x0c, 0x1f, 0xe0, 0x06, 0x1f, 0xc0, 0x07, 0x1f, 0xc0, + 0x03, 0x9f, 0x80, 0x01, 0xff, 0x00, 0x08, 0x7c, 0x20, 0x10, 0x00, 0x10, 0x20, 0x10, 0x08, 0x00, + 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00 +}; + +// 'Clock', 24x24px +const unsigned char Clock [] = { + 0x00, 0xfe, 0x00, 0x03, 0xff, 0x80, 0x07, 0x93, 0xc0, 0x0e, 0x10, 0xe0, 0x19, 0x11, 0x30, 0x30, + 0x00, 0x18, 0x70, 0x00, 0x9c, 0x68, 0x01, 0x2c, 0xe0, 0x82, 0x0e, 0xc0, 0x44, 0x06, 0xc0, 0x28, + 0x06, 0xf8, 0x10, 0x3e, 0xc0, 0x00, 0x06, 0xc0, 0x00, 0x06, 0xe0, 0x00, 0x0e, 0x68, 0x00, 0x2c, + 0x70, 0x00, 0x1c, 0x30, 0x00, 0x18, 0x19, 0x11, 0x30, 0x0e, 0x10, 0xe0, 0x07, 0x93, 0xc0, 0x03, + 0xff, 0x80, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00 +}; + +// 'game clock', 24x24px +const unsigned char gameclock [] = { + 0x00, 0x7e, 0x00, 0x03, 0x81, 0xc0, 0x06, 0x7e, 0x60, 0x09, 0xff, 0x90, 0x17, 0xef, 0xe8, 0x2f, + 0xef, 0xec, 0x6f, 0xef, 0xf6, 0x5f, 0xef, 0xfa, 0x5f, 0xef, 0xfa, 0xbf, 0xef, 0xfd, 0xbf, 0xef, + 0xfd, 0xbf, 0xe0, 0x1d, 0xbf, 0xff, 0xfd, 0xbf, 0xff, 0xfd, 0xbf, 0xff, 0xfd, 0x5f, 0xff, 0xfa, + 0x5f, 0xff, 0xfa, 0x6f, 0xff, 0xf6, 0x2f, 0xff, 0xf4, 0x13, 0xff, 0xe8, 0x0d, 0xff, 0x90, 0x06, + 0x7e, 0x60, 0x03, 0x81, 0xc0, 0x00, 0x7e, 0x00 +}; + +// 'padlock', 24x24px +const unsigned char padlock [] = { + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0x80, 0x03, 0xc3, 0xc0, 0x03, 0x81, 0xc0, 0x03, + 0x00, 0xc0, 0x03, 0x00, 0xc0, 0x03, 0x00, 0xc0, 0x03, 0x00, 0xc0, 0x03, 0x00, 0xc0, 0x0f, 0xff, + 0xf0, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xf0, + 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xf0, 0x0f, 0xff, 0xf0, 0x0f, + 0xff, 0xf0, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00 +}; + +// 'touchscr', 22x24px +const unsigned char touchscr [] = { + 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x10, 0x40, 0x00, 0x27, 0x20, 0x00, 0x48, 0x90, 0x00, 0x50, + 0x50, 0x00, 0x53, 0x50, 0x00, 0x53, 0xd0, 0x00, 0x4b, 0x90, 0x00, 0x27, 0xe0, 0x00, 0x11, 0xf6, + 0xc0, 0x0f, 0xff, 0xe0, 0x00, 0xff, 0xe0, 0x00, 0x7f, 0xf0, 0x00, 0x7f, 0xf0, 0x00, 0x3f, 0xf8, + 0x00, 0x3f, 0xf8, 0x00, 0x1f, 0xfc, 0x01, 0xff, 0xfc, 0x01, 0xff, 0xfc, 0x00, 0xff, 0xfc, 0x00, + 0x3f, 0xf8, 0x00, 0x0f, 0xf8, 0x00, 0x07, 0xf0 +}; + +// 'wrench', 24x24px +const unsigned char wrench [] = { + 0x00, 0x00, 0x70, 0x00, 0x00, 0xf0, 0x00, 0x01, 0xe0, 0x00, 0x01, 0xe0, 0x00, 0x01, 0xf3, 0x00, + 0x01, 0xff, 0x00, 0x01, 0xff, 0x00, 0x03, 0xfe, 0x00, 0x07, 0xfc, 0x00, 0x0f, 0x80, 0x00, 0x1f, + 0x00, 0x00, 0x3e, 0x00, 0x00, 0x7c, 0x00, 0x00, 0xf8, 0x00, 0x01, 0xf0, 0x00, 0x3f, 0xe0, 0x00, + 0x7f, 0xc0, 0x00, 0xff, 0x80, 0x00, 0xff, 0x80, 0x00, 0xcf, 0x80, 0x00, 0x07, 0x80, 0x00, 0x07, + 0x80, 0x00, 0x0f, 0x00, 0x00, 0x0e, 0x00, 0x00 +}; + +// 'info24', 24x24px +const unsigned char info24 [] = { + 0x00, 0x7e, 0x00, 0x03, 0xc7, 0xc0, 0x07, 0x83, 0xe0, 0x0f, 0x01, 0xf0, 0x1f, 0x01, 0xf8, 0x3f, + 0x83, 0xfc, 0x7f, 0xc7, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0xff, 0x03, 0xff, 0xff, 0x83, + 0xff, 0xff, 0xc3, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xc3, 0xff, 0x7f, 0xc3, 0xfe, + 0x7f, 0xc3, 0xfe, 0x7f, 0xc3, 0xfe, 0x3f, 0x81, 0xfc, 0x1e, 0x00, 0x78, 0x0e, 0x00, 0x70, 0x07, + 0xff, 0xe0, 0x03, 0xff, 0xc0, 0x00, 0x7e, 0x00 +}; + +// 'info', 32x32px +const unsigned char info [] = { + 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x01, 0xff, 0xff, 0x00, 0x03, 0xff, 0xff, 0x80, + 0x07, 0xff, 0xff, 0xc0, 0x0f, 0xfc, 0x7f, 0xe0, 0x1f, 0xf8, 0x3f, 0xf0, 0x3f, 0xf0, 0x1f, 0xf8, + 0x3f, 0xf0, 0x1f, 0xf8, 0x7f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfc, 0x7f, 0xfc, 0x7f, 0xff, 0xff, 0xfc, + 0xff, 0xff, 0xff, 0xfe, 0xff, 0xf0, 0x3f, 0xfe, 0xff, 0xf8, 0x3f, 0xfe, 0xff, 0xfc, 0x3f, 0xfe, + 0xff, 0xfc, 0x3f, 0xfe, 0xff, 0xfc, 0x3f, 0xfe, 0xff, 0xfc, 0x3f, 0xfe, 0x7f, 0xfc, 0x3f, 0xfc, + 0x7f, 0xfc, 0x3f, 0xfc, 0x7f, 0xfc, 0x3f, 0xfc, 0x3f, 0xf8, 0x1f, 0xf8, 0x3f, 0xe0, 0x07, 0xf8, + 0x1f, 0xe0, 0x07, 0xf0, 0x0f, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0x80, + 0x01, 0xff, 0xff, 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'sel_lok', 32x32px +const unsigned char sel_lok [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x18, + 0x0f, 0xff, 0xc0, 0x18, 0x0c, 0x44, 0x43, 0x98, 0x1c, 0x44, 0x47, 0x98, 0x3c, 0x44, 0x7f, 0xfe, + 0x7c, 0x44, 0x7f, 0xfe, 0x7f, 0xfc, 0x7f, 0xfe, 0x7f, 0xff, 0x7f, 0xfe, 0x7f, 0xff, 0xff, 0xfe, + 0x7f, 0xff, 0x80, 0x0e, 0x7f, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xfc, 0xf0, 0x00, 0x00, 0x1c, + 0xf0, 0x00, 0x00, 0x1e, 0x7f, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xf8, 0x01, 0xf7, 0xdf, 0x00, + 0x00, 0xe3, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +/* + // 'sel_lokL', 32x32px + const unsigned char sel_lokL [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x03, 0xff, 0xc0, + 0x18, 0x03, 0xff, 0xf0, 0x19, 0xc2, 0x22, 0x30, 0x19, 0xe2, 0x22, 0x38, 0x7f, 0xfe, 0x22, 0x3c, + 0x7f, 0xfe, 0x22, 0x3e, 0x7f, 0xfe, 0x3f, 0xfe, 0x7f, 0xfe, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xfe, + 0x70, 0x01, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xfe, 0x38, 0x00, 0x00, 0x0f, + 0x78, 0x00, 0x00, 0x0f, 0x7f, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xfe, 0x00, 0xfb, 0xef, 0x80, + 0x00, 0x71, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; +*/ + +// 'keyb', 32x24px +const unsigned char keyb [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0xe7, 0x9e, 0x7e, 0x79, 0xe7, 0x9e, 0x7e, + 0x79, 0xe7, 0x9e, 0x7e, 0x79, 0xe7, 0x9e, 0x7e, 0x00, 0x00, 0x00, 0x00, 0xf3, 0xde, 0xf7, 0x9f, + 0xf3, 0xde, 0xf7, 0x9f, 0xf3, 0xde, 0xf7, 0x9f, 0xf3, 0xde, 0xf7, 0x9f, 0x00, 0x00, 0x00, 0x00, + 0xfc, 0xf3, 0xcf, 0x3f, 0xfc, 0xf3, 0xcf, 0x3f, 0xfc, 0xf3, 0xcf, 0x3f, 0xfc, 0xf3, 0xcf, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xc0, + 0x03, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'last_up', 16x24px +const unsigned char last_up [] = { + 0x00, 0x00, 0x7f, 0x00, 0x7f, 0x00, 0x00, 0x38, 0x00, 0x38, 0x7e, 0x38, 0x7e, 0x38, 0x00, 0x38, + 0x00, 0x38, 0x7c, 0x38, 0x7c, 0x38, 0x00, 0x38, 0x00, 0x38, 0x78, 0x38, 0x78, 0x38, 0x00, 0x38, + 0x00, 0xfe, 0x70, 0x7c, 0x70, 0x38, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'num_up', 16x24px +const unsigned char num_up [] = { + 0x00, 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x66, 0x38, 0x66, 0x38, 0x66, 0x38, 0x66, 0x38, 0x66, 0x38, + 0x7e, 0x38, 0x3c, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x3c, 0x38, 0x7e, 0x38, 0x66, 0x38, + 0x66, 0xfe, 0x3e, 0x7c, 0x3e, 0x38, 0x06, 0x10, 0x3e, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'num_dwn', 16x24px +const unsigned char num_dwn [] = { + 0x00, 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x66, 0x38, 0x66, 0x38, 0x7e, 0x38, 0x3e, 0x38, 0x06, 0x38, + 0x3e, 0x38, 0x3c, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x3c, 0x38, 0x7e, 0x38, 0x66, 0x38, + 0x66, 0xfe, 0x66, 0x7c, 0x66, 0x38, 0x66, 0x10, 0x7e, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'name_up', 16x24px +const unsigned char name_up [] = { + 0x00, 0x00, 0x3c, 0x00, 0x7e, 0x00, 0x66, 0x38, 0x66, 0x38, 0x7e, 0x38, 0x7e, 0x38, 0x66, 0x38, + 0x66, 0x38, 0x66, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x7e, 0x38, 0x7e, 0x38, 0x06, 0x38, + 0x0e, 0xfe, 0x1c, 0x7c, 0x38, 0x38, 0x70, 0x10, 0x7e, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'name_dwn', 16x24px +const unsigned char name_dwn [] = { + 0x00, 0x00, 0x7e, 0x00, 0x7e, 0x00, 0x06, 0x38, 0x0e, 0x38, 0x1c, 0x38, 0x38, 0x38, 0x70, 0x38, + 0x7e, 0x38, 0x7e, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x3c, 0x38, 0x7e, 0x38, 0x66, 0x38, + 0x66, 0xfe, 0x7e, 0x7c, 0x7e, 0x38, 0x66, 0x10, 0x66, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +/* + // '7seg_segment', 28x7px + const unsigned char segment [] = { + 0x1f, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xf0, + 0x7f, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0xff, 0x80 + }; +*/ + +// 'configure', 32x32px +const unsigned char configure [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xe0, 0x00, + 0x00, 0x07, 0xe0, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x03, 0x9f, 0xf8, 0xc0, + 0x07, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xf0, 0x1f, 0xf8, 0x1f, 0xf8, + 0x1f, 0xf0, 0x0f, 0xf8, 0x07, 0xe0, 0x07, 0xf0, 0x03, 0xe0, 0x07, 0xc0, 0x03, 0xe0, 0x07, 0xc0, + 0x03, 0xe0, 0x07, 0xc0, 0x03, 0xe0, 0x07, 0xc0, 0x07, 0xe0, 0x07, 0xe0, 0x1f, 0xf0, 0x0f, 0xf8, + 0x1f, 0xf8, 0x1f, 0xf8, 0x0f, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xe0, + 0x03, 0x1f, 0xf8, 0xc0, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x07, 0xe0, 0x00, + 0x00, 0x07, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'prgCV', 32x32px +const unsigned char prgCV [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0x00, 0x00, 0xfe, 0xc6, 0x00, + 0x00, 0xc0, 0xee, 0x00, 0x00, 0xc0, 0x6c, 0x00, 0x00, 0xc0, 0x6c, 0x00, 0x00, 0xc0, 0x7c, 0x00, + 0x00, 0xfe, 0x38, 0x00, 0x00, 0x7c, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x07, 0xf0, 0x00, + 0x00, 0x01, 0xc0, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x03, 0xe0, 0x00, + 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x24, 0x92, 0x49, 0x24, 0x7f, 0xff, 0xff, 0xfe, 0x24, 0x92, 0x49, 0x24, 0x24, 0x92, 0x49, 0x24, + 0x7f, 0xff, 0xff, 0xfe, 0x24, 0x92, 0x49, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'search', 32x32px +const unsigned char search [] = { + 0x00, 0xfe, 0x00, 0x00, 0x03, 0x01, 0x80, 0x00, 0x04, 0xfe, 0x40, 0x00, 0x09, 0x01, 0x30, 0x00, + 0x16, 0x00, 0xd0, 0x00, 0x28, 0x1c, 0x28, 0x00, 0x48, 0x02, 0x24, 0x00, 0x50, 0x01, 0x14, 0x00, + 0xa0, 0x00, 0x94, 0x00, 0xa0, 0x00, 0x4a, 0x00, 0xa0, 0x00, 0x4a, 0x00, 0xa0, 0x00, 0x4a, 0x00, + 0xa0, 0x00, 0x0a, 0x00, 0xa0, 0x00, 0x0a, 0x00, 0xa0, 0x00, 0x14, 0x00, 0x50, 0x00, 0x14, 0x00, + 0x48, 0x00, 0x24, 0x00, 0x28, 0x00, 0x28, 0x00, 0x16, 0x00, 0xd8, 0x00, 0x19, 0x83, 0x3c, 0x00, + 0x04, 0x7c, 0x7e, 0x00, 0x03, 0x83, 0x9f, 0x00, 0x00, 0x7c, 0x1f, 0x80, 0x00, 0x00, 0x0f, 0xc0, + 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0xfc, + 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x0c +}; + +// 'accessory', 32x32px +const unsigned char accessory [] = { + 0x00, 0xf8, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x88, 0xc0, 0x00, 0x00, 0x89, 0x20, 0x00, + 0x00, 0x8a, 0x10, 0x00, 0x00, 0x8c, 0x10, 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, 0x98, 0x40, 0x00, + 0x00, 0xa8, 0x80, 0x00, 0x00, 0xc9, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, + 0x00, 0x88, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x88, 0xfc, 0x00, 0x00, 0x89, 0xfe, 0x00, + 0x00, 0x89, 0xce, 0x00, 0x00, 0x89, 0x86, 0x00, 0x00, 0xf9, 0x86, 0x00, 0x00, 0x01, 0xce, 0x00, + 0x00, 0x01, 0xfe, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x01, 0xce, 0x00, + 0x00, 0x01, 0x86, 0x00, 0x00, 0x01, 0x86, 0x00, 0x00, 0x01, 0xce, 0x00, 0x00, 0x01, 0xfe, 0x00, + 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00 +}; + +// 'screen', 32x32px +const unsigned char screen [] = { + 0x01, 0xff, 0xff, 0x00, 0x03, 0xff, 0xff, 0x80, 0x07, 0xff, 0xff, 0xc0, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0xff, 0xff, 0xc0, 0x07, 0xf8, 0x3f, 0xc0, 0x07, 0xf7, 0xdf, 0xc0, 0x07, 0xef, 0xef, 0xc0, + 0x07, 0xdf, 0xf7, 0xc0, 0x07, 0xdf, 0xf7, 0xc0, 0x07, 0xdf, 0xf7, 0xc0, 0x07, 0xdf, 0xf7, 0xc0, + 0x07, 0xef, 0xef, 0xc0, 0x07, 0xf7, 0xdf, 0xc0, 0x03, 0xf8, 0x3f, 0x80, 0x01, 0xff, 0xff, 0x00 +}; + +// 'stop', 32x32px +const unsigned char stop0 [] = { + 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x80, 0x01, 0x7f, 0xfe, 0x80, 0x02, 0xff, 0xff, 0x40, + 0x02, 0xff, 0xff, 0x40, 0x05, 0xff, 0xff, 0xa0, 0x05, 0xff, 0xff, 0xa0, 0x0b, 0xff, 0xff, 0xd0, + 0x0b, 0xff, 0xff, 0xd0, 0x17, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xe8, 0x2f, 0xff, 0xff, 0xf4, + 0x2c, 0x20, 0xc6, 0x14, 0x5b, 0xfb, 0xba, 0xea, 0x5b, 0xfb, 0xba, 0xea, 0xbc, 0x7b, 0xba, 0x1d, + 0xbf, 0xbb, 0xba, 0xfd, 0x5f, 0xbb, 0xba, 0xfa, 0x5f, 0xbb, 0xba, 0xfa, 0x28, 0x7b, 0xc6, 0xf4, + 0x2f, 0xff, 0xff, 0xf4, 0x17, 0xff, 0xff, 0xe8, 0x17, 0xff, 0xff, 0xe8, 0x0b, 0xff, 0xff, 0xd0, + 0x0b, 0xff, 0xff, 0xd0, 0x05, 0xff, 0xff, 0xa0, 0x05, 0xff, 0xff, 0xa0, 0x02, 0xff, 0xff, 0x40, + 0x02, 0xff, 0xff, 0x40, 0x01, 0x7f, 0xfe, 0x80, 0x01, 0x00, 0x00, 0x80, 0x00, 0xff, 0xff, 0x00 +}; + +// logo: radar 32x24 +const unsigned char radar [] = { + 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x08, 0x40, 0x00, + 0x00, 0x04, 0x03, 0xC0, 0x00, 0x22, 0x0F, 0xF0, 0x00, 0x22, 0x1F, 0xF8, 0x01, 0x11, 0x10, 0x08, + 0x00, 0x89, 0x10, 0x08, 0x00, 0x89, 0x10, 0x08, 0x18, 0x48, 0x9F, 0xF8, 0x3C, 0x48, 0x9F, 0xF8, + 0x3C, 0x48, 0x9F, 0xF8, 0x18, 0x48, 0x93, 0xC8, 0x00, 0x89, 0x13, 0xC8, 0x00, 0x89, 0x1F, 0xF8, + 0x01, 0x11, 0x1F, 0xF8, 0x00, 0x22, 0x08, 0x10, 0x00, 0x22, 0x10, 0x08, 0x00, 0x04, 0x3F, 0xFC, + 0x00, 0x08, 0x20, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00 +}; + +// 'manometro_bar', 60x60px +const unsigned char manometro_bar [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x11, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x11, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x11, 0x08, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x61, 0x10, 0x08, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x08, 0xc0, 0x00, 0x00, + 0x00, 0x04, 0x30, 0x00, 0x01, 0x86, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x01, 0x24, 0x00, 0x05, 0xc8, 0x00, 0x00, 0x00, 0x60, 0x6a, 0x00, 0x0d, 0x90, 0x60, 0x00, + 0x00, 0x30, 0x2a, 0x00, 0x04, 0x40, 0xc0, 0x00, 0x00, 0x18, 0x2a, 0x00, 0x05, 0x41, 0x00, 0x00, + 0x00, 0x08, 0x24, 0x00, 0x04, 0x82, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0x38, 0x00, 0x00, 0x00, 0x04, 0x4f, 0x80, 0x1f, 0x30, 0x00, 0x00, 0x00, 0x0a, 0xaf, 0x80, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0xa0, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x04, 0xa0, 0x00, + 0x00, 0x10, 0x00, 0x00, 0x00, 0x0e, 0x40, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x32, 0x80, 0x00, 0x01, 0x38, 0x00, 0x00, 0x00, 0x62, 0x80, 0x00, 0x02, 0xb0, 0xc0, 0x00, + 0x00, 0x8e, 0x80, 0x00, 0x00, 0x88, 0x60, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x01, 0x28, 0x10, 0x00, + 0x00, 0x30, 0x00, 0x00, 0x03, 0x96, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x98, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x01, 0x45, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9d, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'needle_bar', 19x19px +const unsigned char needle_bar [] = { + 0x00, 0x07, 0x00, 0x00, 0x07, 0x80, 0x00, 0x07, 0xc0, 0x00, 0x0f, 0xe0, 0x00, 0x0f, 0xe0, 0x00, + 0x1f, 0xe0, 0x00, 0x7f, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xd8, 0x00, 0x01, 0xf8, 0x00, 0x03, 0xf0, + 0x00, 0x03, 0xc0, 0x00, 0x07, 0x80, 0x00, 0x0e, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x38, 0x00, 0x00, + 0x70, 0x00, 0x00, 0xe0, 0x00, 0x00, 0xc0, 0x00, 0x00 +}; + +// 'speed_steam', 83x15px +const unsigned char speed_steam [] = { + 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x37, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, + 0x00, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x80, 0x53, 0x96, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x7f, 0x40, 0xb7, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x7f, 0x40, 0xaf, 0xeb, 0xfb, 0xff, 0xff, 0xef, 0xff, 0xff, 0xfe, 0xf7, 0xa0, 0xaf, 0xeb, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xe3, 0xa0, 0xaf, 0xeb, 0xfb, 0xff, 0xff, 0xef, 0xff, 0xff, + 0xfe, 0xf7, 0xa0, 0xb7, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x40, 0x53, 0x96, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7f, 0x40, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x9c, 0x80, 0x37, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x00, 0x18, + 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'plus_one', 32x24px +const unsigned char plus_one [] = { + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0x7c, 0x07, + 0xc0, 0x01, 0xff, 0x03, 0xc0, 0x07, 0xff, 0xc3, 0xc0, 0x0f, 0xff, 0xe3, 0xc0, 0x0f, 0xf1, 0xe3, + 0xc0, 0x1f, 0xe1, 0xf3, 0xc0, 0x1f, 0xf9, 0xf3, 0xc0, 0x3e, 0x79, 0xfb, 0xc0, 0x3e, 0x79, 0xfb, + 0xc0, 0x38, 0x19, 0xfb, 0xc0, 0x38, 0x19, 0xfb, 0xc0, 0x3e, 0x79, 0xfb, 0xc0, 0x1e, 0x79, 0xfb, + 0xc0, 0x1f, 0xe0, 0x73, 0xc0, 0x0f, 0xe0, 0x63, 0xc0, 0x0f, 0xff, 0xe3, 0xc0, 0x07, 0xff, 0xc3, + 0xc0, 0x01, 0xff, 0x03, 0xe0, 0x00, 0x7c, 0x07, 0x7f, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xfc +}; + +// 'targetpin', 32x32px +const unsigned char targetpin [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x3f, 0xf8, 0x00, + 0x00, 0x7f, 0xfc, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x00, 0x03, 0xff, 0xff, 0x80, + 0x03, 0xfc, 0x7f, 0x80, 0x07, 0xf8, 0x3f, 0xc0, 0x07, 0xf0, 0x1f, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, + 0x07, 0xe0, 0x0f, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x07, 0xf0, 0x1f, 0xc0, + 0x03, 0xf8, 0x3f, 0x80, 0x03, 0xfc, 0x7f, 0x80, 0x01, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x3f, 0xf8, 0x00, + 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x03, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'station', 48x32px +const unsigned char station [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x7f, + 0xff, 0x80, 0x03, 0xff, 0xfb, 0xbf, 0xff, 0xc0, 0x07, 0xff, 0xf6, 0xdf, 0xff, 0xe0, 0x0f, 0xff, + 0xee, 0xef, 0xff, 0xf0, 0x1f, 0xff, 0xee, 0x2f, 0xff, 0xf8, 0x3f, 0xff, 0xef, 0xef, 0xff, 0xfc, + 0x7f, 0xff, 0xe7, 0xcf, 0xff, 0xfe, 0xff, 0xff, 0xe3, 0x8f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x7f, 0x87, 0xfc, 0x3f, 0xe1, 0xfe, 0x7f, 0x03, 0xf8, 0x1f, 0xc0, 0xfe, + 0x7e, 0x01, 0xf0, 0x0f, 0x80, 0x7e, 0x7e, 0x01, 0xf0, 0x0f, 0x80, 0x7e, 0x7e, 0x01, 0xf0, 0x0f, + 0x80, 0x7e, 0x7e, 0x01, 0xf0, 0x0f, 0x80, 0x7e, 0x7e, 0x01, 0xf0, 0x0f, 0x80, 0x7e, 0x7e, 0x01, + 0xf0, 0x0f, 0x80, 0x7e, 0x7e, 0x01, 0xf0, 0x0f, 0x80, 0x7e, 0x7e, 0x01, 0xf0, 0x0f, 0x80, 0x7e, + 0x7e, 0x01, 0xf0, 0x0f, 0x80, 0x7e, 0x7e, 0x01, 0xf0, 0x0f, 0x80, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'train', 48x32px +const unsigned char train [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x1f, 0xff, + 0xff, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x38, 0xe0, 0x70, 0x38, 0x1c, 0x70, 0x38, 0xe0, 0x70, 0x38, + 0x1c, 0x70, 0x78, 0xe0, 0x70, 0x38, 0x1c, 0x78, 0x70, 0xe0, 0x70, 0x38, 0x1c, 0x38, 0x70, 0xe0, + 0x70, 0x38, 0x1c, 0x38, 0x70, 0xe0, 0x70, 0x38, 0x1c, 0x38, 0x70, 0xe0, 0x70, 0x38, 0x1c, 0x38, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf7, 0xf8, 0x7f, + 0xbf, 0xc0, 0x0f, 0xf7, 0xf8, 0x7f, 0xbf, 0xc0, 0x07, 0xe3, 0xf0, 0x3f, 0x1f, 0x80, 0x03, 0xc1, + 0xe0, 0x1e, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +//////////////////////////////////////////////////////////// +// ***** FUNCTION ICON ***** +//////////////////////////////////////////////////////////// + +// 'blank32', 32x32px +const unsigned char blank32 [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'full32', 32x32px +const unsigned char full32 [] = { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +}; + +// 'func_off', 32x32px +const unsigned char func_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, + 0x00, 0x30, 0x18, 0x00, 0x00, 0xc0, 0x06, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x80, + 0x04, 0x0f, 0xf8, 0x40, 0x04, 0x0f, 0xf8, 0x40, 0x08, 0x0f, 0xf8, 0x20, 0x08, 0x0e, 0x00, 0x20, + 0x10, 0x0e, 0x00, 0x10, 0x10, 0x0e, 0x00, 0x10, 0x10, 0x0f, 0xe0, 0x10, 0x10, 0x0f, 0xe0, 0x10, + 0x10, 0x0f, 0xe0, 0x10, 0x10, 0x0e, 0x00, 0x10, 0x10, 0x0e, 0x00, 0x10, 0x08, 0x0e, 0x00, 0x20, + 0x08, 0x0e, 0x00, 0x20, 0x04, 0x0e, 0x00, 0x40, 0x04, 0x0e, 0x00, 0x40, 0x02, 0x00, 0x00, 0x80, + 0x01, 0x00, 0x01, 0x00, 0x00, 0xc0, 0x06, 0x00, 0x00, 0x30, 0x18, 0x00, 0x00, 0x0f, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'func_on', 32x32px +const unsigned char func_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x00, + 0x03, 0xf0, 0x07, 0x80, 0x03, 0xf0, 0x07, 0x80, 0x07, 0xf0, 0x07, 0xc0, 0x07, 0xf1, 0xff, 0xc0, + 0x0f, 0xf1, 0xff, 0xe0, 0x0f, 0xf1, 0xff, 0xe0, 0x0f, 0xf0, 0x1f, 0xe0, 0x0f, 0xf0, 0x1f, 0xe0, + 0x0f, 0xf0, 0x1f, 0xe0, 0x0f, 0xf1, 0xff, 0xe0, 0x0f, 0xf1, 0xff, 0xe0, 0x07, 0xf1, 0xff, 0xc0, + 0x07, 0xf1, 0xff, 0xc0, 0x03, 0xf1, 0xff, 0x80, 0x03, 0xf1, 0xff, 0x80, 0x01, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'light_off', 32x32px +const unsigned char light_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, + 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x1c, 0x70, 0x00, + 0x00, 0x30, 0x18, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0xc0, 0x06, 0x00, 0x00, 0xc0, 0x06, 0x00, + 0x01, 0x80, 0x03, 0x00, 0x01, 0x80, 0x03, 0x00, 0x01, 0x80, 0x03, 0x00, 0x01, 0x80, 0x03, 0x00, + 0x01, 0x80, 0x03, 0x00, 0x00, 0xc0, 0x06, 0x00, 0x00, 0xc0, 0x06, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x00, 0x38, 0x38, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'light_on', 32x32px +const unsigned char light_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, + 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x3f, 0xf8, 0x00, + 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x7f, 0xfc, 0x78, 0x3c, 0x7f, 0xfc, 0x00, + 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x1f, 0xf0, 0x00, + 0x01, 0x07, 0xc1, 0x00, 0x02, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x40, 0x08, 0x00, 0x00, 0x20, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x10, 0x10, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'intlight_off', 32x32px +const unsigned char intlight_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, + 0x08, 0x00, 0x00, 0x10, 0x08, 0x03, 0xc0, 0x10, 0x08, 0x03, 0xc0, 0x10, 0x08, 0x03, 0xc0, 0x10, + 0x08, 0x04, 0x20, 0x10, 0x08, 0x08, 0x10, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, + 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x08, 0x10, 0x10, 0x08, 0x04, 0x20, 0x10, + 0x08, 0x03, 0xc0, 0x10, 0x08, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x10, + 0x08, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x10, + 0x08, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x10, + 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'intlight_on', 32x32px +const unsigned char intlight_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xc0, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x01, 0xcf, 0xf3, 0x80, + 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x03, 0xc0, 0x00, + 0x00, 0x10, 0x08, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x42, 0x42, 0x00, 0x00, 0x02, 0x40, 0x00, + 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'unilight_off', 32x32px +const unsigned char unilight_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, + 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x1c, 0x70, 0x00, + 0x00, 0x30, 0x18, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0xc0, 0x06, 0x00, 0x00, 0xc3, 0x06, 0x00, + 0x01, 0x81, 0x03, 0x00, 0x01, 0x81, 0x03, 0x00, 0x01, 0x81, 0x03, 0x00, 0x01, 0x81, 0x03, 0x00, + 0x01, 0x83, 0x83, 0x00, 0x00, 0xc0, 0x06, 0x00, 0x00, 0xc0, 0x06, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x00, 0x38, 0x38, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'unilight_on', 32x32px +const unsigned char unilight_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, + 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x3c, 0xf8, 0x00, + 0x00, 0x7e, 0xfc, 0x00, 0x00, 0x7e, 0xfc, 0x00, 0x00, 0x7e, 0xfc, 0x78, 0x3c, 0x7e, 0xfc, 0x00, + 0x00, 0x7c, 0x7c, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x1f, 0xf0, 0x00, + 0x01, 0x07, 0xc1, 0x00, 0x02, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x40, 0x08, 0x00, 0x00, 0x20, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x10, 0x10, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'snd_off', 32x32px +const unsigned char snd_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, + 0x00, 0x12, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, + 0x01, 0x02, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x00, + 0x1e, 0x02, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, + 0x00, 0x82, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, + 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'snd_on', 32x32px +const unsigned char snd_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x0c, 0x08, 0x80, 0x00, 0x1c, 0x04, 0x40, 0x00, 0x3c, 0x22, 0x40, 0x00, 0x7c, 0x11, 0x20, + 0x00, 0xfc, 0x09, 0x20, 0x01, 0xfc, 0x08, 0x90, 0x01, 0xfc, 0x04, 0x90, 0x01, 0xfc, 0x04, 0x90, + 0x01, 0xfc, 0x04, 0x90, 0x01, 0xfc, 0x04, 0x90, 0x01, 0xfc, 0x08, 0x90, 0x00, 0xfc, 0x09, 0x20, + 0x00, 0x7c, 0x11, 0x20, 0x00, 0x3c, 0x22, 0x40, 0x00, 0x1c, 0x04, 0x40, 0x00, 0x0c, 0x08, 0x80, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'gensnd_off', 32x32px +const unsigned char gensnd_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x24, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x01, 0x34, 0x00, 0x00, + 0x02, 0x54, 0x00, 0x00, 0x04, 0x94, 0x00, 0x00, 0x05, 0x14, 0x00, 0x00, 0x05, 0x14, 0x00, 0x00, + 0x05, 0x17, 0x00, 0x00, 0x05, 0x10, 0x80, 0x00, 0x05, 0x10, 0x80, 0x00, 0x05, 0x11, 0x00, 0x00, + 0x05, 0xce, 0x10, 0x00, 0x04, 0x20, 0x30, 0x00, 0x04, 0x20, 0x50, 0x00, 0x04, 0x40, 0x90, 0x00, + 0x03, 0x87, 0x10, 0x00, 0x00, 0x07, 0x10, 0x00, 0x00, 0x07, 0x10, 0x00, 0x00, 0x07, 0x10, 0x00, + 0x00, 0x07, 0x10, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x30, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'gensnd_on', 32x32px +const unsigned char gensnd_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x18, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, + 0x01, 0x88, 0x00, 0x00, 0x03, 0x08, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, + 0x02, 0x08, 0x00, 0x00, 0x02, 0x0f, 0x00, 0x00, 0x02, 0x0f, 0x00, 0x00, 0x02, 0x0e, 0x03, 0x00, + 0x02, 0x00, 0x00, 0x80, 0x03, 0xc0, 0x00, 0x40, 0x03, 0xc0, 0x22, 0x20, 0x03, 0x80, 0x61, 0x20, + 0x00, 0x00, 0xe4, 0x90, 0x00, 0x00, 0xe2, 0x90, 0x00, 0x00, 0xe2, 0x90, 0x00, 0x00, 0xe2, 0x90, + 0x00, 0x00, 0xe4, 0x90, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x22, 0x20, 0x00, 0x00, 0x00, 0x40, + 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'announce_off', 32x32px +const unsigned char announce_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x07, 0x00, 0xc0, + 0x00, 0x08, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00, 0x20, 0x00, 0x08, 0x00, 0x40, 0x00, 0x04, + 0x00, 0x40, 0x00, 0x04, 0x00, 0x40, 0x00, 0x04, 0x00, 0x40, 0x00, 0x04, 0x00, 0x20, 0x00, 0x08, + 0x00, 0x10, 0x00, 0x10, 0x00, 0x08, 0x00, 0x20, 0x00, 0x07, 0x01, 0xc0, 0x00, 0x00, 0xc2, 0x00, + 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x28, 0x00, 0x1f, 0xe0, 0x48, 0x00, 0x18, 0x40, 0x50, 0x00, + 0x0f, 0xf8, 0x50, 0x00, 0x0f, 0xc0, 0xa0, 0x00, 0x0c, 0x60, 0xa0, 0x00, 0x18, 0x38, 0xc0, 0x00, + 0x18, 0x30, 0x80, 0x00, 0x18, 0x30, 0x00, 0x00, 0x0c, 0x60, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, + 0x0f, 0xf0, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'announce_on', 32x32px +const unsigned char announce_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x07, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xf8, + 0x00, 0x3f, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xf8, 0x00, 0x1f, 0xff, 0xf0, + 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x07, 0xff, 0xc0, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x30, 0x00, 0x07, 0x80, 0x20, 0x00, + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x03, 0x80, 0x40, 0x00, 0x07, 0xc0, 0x00, 0x00, + 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'maniobra_off', 32x32px +const unsigned char maniobra_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x00, 0x7f, 0xf1, 0x80, + 0x00, 0xe0, 0x3b, 0xc0, 0x01, 0x80, 0x0e, 0x60, 0x03, 0x00, 0x04, 0x30, 0x06, 0x00, 0x00, 0x10, + 0x06, 0x00, 0x03, 0xf8, 0x0e, 0x3f, 0xc1, 0x80, 0x1f, 0x7f, 0xef, 0xc0, 0x03, 0x60, 0x6c, 0x00, + 0x03, 0x60, 0x6c, 0x00, 0x03, 0x60, 0x6c, 0x00, 0x03, 0xe0, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'maniobra_on', 32x32px +const unsigned char maniobra_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xc0, 0x00, 0x00, 0x7f, 0xf1, 0x80, 0x00, 0xff, 0xfb, 0xc0, 0x01, 0xff, 0xff, 0xe0, + 0x01, 0xff, 0xfc, 0x00, 0x01, 0xc0, 0x3e, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x80, 0x10, 0x00, + 0x00, 0x80, 0x10, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'abv_off', 32x32px +const unsigned char abv_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x80, 0x30, 0x01, 0x41, 0x40, 0x70, + 0x02, 0x22, 0x20, 0xf0, 0x04, 0x14, 0x11, 0xf0, 0x02, 0x08, 0x23, 0xf0, 0x01, 0x00, 0x47, 0xf0, + 0x00, 0x80, 0x8f, 0xf0, 0x00, 0x41, 0x1f, 0xf0, 0x00, 0x80, 0xbf, 0xf0, 0x01, 0x00, 0x7f, 0xf0, + 0x02, 0x08, 0x3f, 0xf0, 0x04, 0x14, 0x1f, 0xf0, 0x02, 0x22, 0x3f, 0xf0, 0x01, 0x47, 0x7f, 0xf0, + 0x00, 0x8f, 0xff, 0xf0, 0x00, 0x1f, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xf0, + 0x00, 0xff, 0xff, 0xf0, 0x01, 0xff, 0xff, 0xf0, 0x03, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00 +}; +// 'abv_on', 32x32px +const unsigned char abv_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x20, + 0x01, 0xc1, 0xc0, 0x60, 0x03, 0xe3, 0xe0, 0xe0, 0x01, 0xf7, 0xc1, 0xe0, 0x00, 0xff, 0x83, 0xe0, + 0x00, 0x7f, 0x07, 0xe0, 0x00, 0x3e, 0x0f, 0xe0, 0x00, 0x7f, 0x1f, 0xe0, 0x00, 0xff, 0xbf, 0xe0, + 0x01, 0xf7, 0xdf, 0xe0, 0x03, 0xe3, 0xef, 0xe0, 0x01, 0xc1, 0xdf, 0xe0, 0x00, 0x82, 0xbf, 0xe0, + 0x00, 0x07, 0x7f, 0xe0, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xe0, + 0x00, 0x7f, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'uncoupler_off', 32x32px +const unsigned char uncoupler_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, + 0x00, 0xc0, 0x06, 0x00, 0x01, 0xff, 0xff, 0x00, 0x03, 0xc0, 0x07, 0x80, 0x07, 0x80, 0x03, 0xc0, + 0x03, 0xc0, 0x07, 0x80, 0x01, 0xff, 0xff, 0x00, 0x00, 0xc0, 0x06, 0x00, 0x00, 0x40, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfc, 0x7f, 0x00, + 0x03, 0x18, 0x31, 0x80, 0x0e, 0x30, 0x18, 0xe0, 0x7c, 0xe0, 0x0e, 0x7c, 0x79, 0xc0, 0x07, 0x3c, + 0x73, 0x00, 0x01, 0x9c, 0x73, 0x00, 0x01, 0x9c, 0x73, 0x00, 0x01, 0x9c, 0x73, 0x00, 0x01, 0x9c, + 0x79, 0xc0, 0x07, 0x3c, 0x7c, 0x60, 0x0c, 0x7c, 0x0e, 0x30, 0x18, 0xe0, 0x03, 0x18, 0x31, 0x80, + 0x01, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'uncoupler_on', 32x32px +const unsigned char uncoupler_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x0e, 0x00, 0x01, 0xc0, 0x07, 0x00, 0x03, 0x00, 0x01, 0x80, 0x06, 0x00, 0x00, 0xc0, + 0x0c, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x60, + 0x06, 0x00, 0x00, 0xc0, 0x03, 0x80, 0x03, 0x80, 0x01, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0x0e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'smoke_on', 32x32px +const unsigned char smoke_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x00, + 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x7f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xf0, + 0x00, 0xff, 0xff, 0xf0, 0x00, 0xff, 0x8f, 0xf0, 0x00, 0x7e, 0x07, 0xf0, 0x00, 0x38, 0x03, 0xf0, + 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x70, + 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'smoke_off', 32x32px +const unsigned char smoke_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x10, 0x20, 0x00, + 0x00, 0x20, 0x10, 0x00, 0x00, 0x40, 0x08, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x80, 0x03, 0xc0, + 0x00, 0x80, 0x00, 0x20, 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x08, + 0x01, 0x00, 0x00, 0x08, 0x01, 0x00, 0x70, 0x08, 0x00, 0x81, 0x88, 0x08, 0x00, 0x46, 0x04, 0x08, + 0x00, 0x38, 0x02, 0x08, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x88, + 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x20, 0x3f, 0xf0, 0x00, 0xf8, + 0x1f, 0xf0, 0x00, 0x70, 0x18, 0xf0, 0x00, 0x70, 0x18, 0xf0, 0x00, 0x70, 0x18, 0xf0, 0xf0, 0x70, + 0x18, 0xf0, 0xf0, 0x70, 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00 +}; +// 'panto_off', 32x32px +const unsigned char panto_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x03, 0x80, 0x00, 0x00, 0x06, 0xc0, 0x00, 0x00, 0x0c, 0x60, 0x00, 0x00, 0x18, 0x30, 0x00, + 0x00, 0x30, 0x18, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0xc1, 0x06, 0x00, 0x01, 0x83, 0x83, 0x00, + 0x03, 0x07, 0xc1, 0x80, 0x06, 0x0f, 0xe0, 0xc0, 0x0c, 0x1f, 0xf0, 0x60, 0x18, 0x3f, 0xf8, 0x30, + 0x0c, 0x07, 0xc0, 0x60, 0x06, 0x07, 0xc0, 0xc0, 0x03, 0x07, 0xc1, 0x80, 0x01, 0x87, 0xc3, 0x00, + 0x00, 0xc7, 0xc6, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x30, 0x18, 0x00, 0x00, 0x18, 0x30, 0x00, + 0x00, 0x0c, 0x60, 0x00, 0x00, 0x06, 0xc0, 0x00, 0x00, 0x03, 0x80, 0x00, 0x03, 0xff, 0xff, 0x80, + 0x03, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'panto_on', 32x32px +const unsigned char panto_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x03, 0x80, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x03, 0x80, 0x00, + 0x00, 0x03, 0x80, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x03, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'beam_off', 32x32px +const unsigned char beam_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x07, 0x8c, 0xc0, 0x00, + 0x0e, 0x0c, 0xc0, 0x00, 0x18, 0x0c, 0xc0, 0x00, 0x30, 0x0c, 0xc0, 0x00, 0x30, 0x0c, 0xc0, 0x00, + 0x60, 0x0c, 0xc0, 0x00, 0x60, 0x0c, 0xc0, 0x00, 0x60, 0x0c, 0xc0, 0x00, 0x60, 0x0c, 0xc0, 0x00, + 0x60, 0x0c, 0xc0, 0x00, 0x60, 0x0c, 0xc0, 0x00, 0x60, 0x0c, 0xc0, 0x00, 0x60, 0x0c, 0xc0, 0x00, + 0x20, 0x0c, 0xc0, 0x00, 0x30, 0x0c, 0xc0, 0x00, 0x18, 0x0c, 0xc0, 0x00, 0x0e, 0x0c, 0xc0, 0x00, + 0x07, 0x8c, 0xc0, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'beam_on', 32x32px +const unsigned char beam_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x07, 0xfc, + 0x01, 0xf3, 0x07, 0xfc, 0x07, 0xf3, 0x00, 0x00, 0x0f, 0xf3, 0x00, 0x00, 0x0f, 0xf3, 0x07, 0xfc, + 0x1f, 0xf3, 0x07, 0xfc, 0x1f, 0xf3, 0x00, 0x00, 0x1f, 0xf3, 0x00, 0x00, 0x1f, 0xf3, 0x07, 0xfc, + 0x1f, 0xf3, 0x07, 0xfc, 0x1f, 0xf3, 0x00, 0x00, 0x1f, 0xf3, 0x00, 0x00, 0x1f, 0xf3, 0x07, 0xfc, + 0x1f, 0xf3, 0x07, 0xfc, 0x0f, 0xf3, 0x00, 0x00, 0x07, 0xf3, 0x00, 0x00, 0x01, 0xf3, 0x07, 0xfc, + 0x00, 0x73, 0x07, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'bell_off', 32x32px +const unsigned char bell_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x0f, 0xc0, 0x00, 0x00, + 0x1c, 0x60, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, + 0x60, 0x06, 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x30, 0x01, 0x80, 0x00, 0x30, 0x00, 0xe0, 0x00, + 0x10, 0x00, 0x78, 0x00, 0x18, 0x00, 0x70, 0x00, 0x18, 0x01, 0xe0, 0x00, 0x18, 0x07, 0x80, 0x00, + 0x0c, 0x1e, 0x00, 0x00, 0x0c, 0x78, 0x00, 0x00, 0x0d, 0xf0, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, + 0x1f, 0xf0, 0x00, 0x00, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'bell_on', 32x32px +const unsigned char bell_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, + 0x03, 0x80, 0x02, 0x20, 0x0f, 0xc0, 0x01, 0x10, 0x1f, 0xe0, 0x08, 0x90, 0x1f, 0xf0, 0x04, 0x48, + 0x1f, 0xf8, 0x02, 0x48, 0x1f, 0xfc, 0x02, 0x24, 0x0f, 0xfe, 0x01, 0x24, 0x0f, 0xff, 0x01, 0x24, + 0x0f, 0xff, 0x81, 0x24, 0x07, 0xff, 0x81, 0x24, 0x07, 0xfe, 0x02, 0x24, 0x07, 0xf8, 0x02, 0x48, + 0x03, 0xe0, 0x04, 0x48, 0x03, 0x80, 0x08, 0x90, 0x02, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x20, + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'horn_off', 32x32px +const unsigned char horn_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, + 0x00, 0x00, 0xe0, 0x00, 0x7f, 0xf1, 0xf0, 0x00, 0x7f, 0xf3, 0x38, 0x00, 0x60, 0x3e, 0x18, 0x00, + 0x60, 0x00, 0x18, 0x00, 0x60, 0x3e, 0x18, 0x00, 0x7f, 0xf3, 0x30, 0x00, 0x7f, 0xf1, 0xf0, 0x00, + 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'horn_on', 32x32px +const unsigned char horn_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, + 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x08, 0x90, 0x00, 0x00, 0x04, 0x48, + 0x00, 0x00, 0x02, 0x48, 0x00, 0x00, 0x02, 0x24, 0x00, 0x00, 0xc1, 0x24, 0x1f, 0xc1, 0xe1, 0x24, + 0x1f, 0xff, 0xe1, 0x24, 0x1f, 0xc1, 0xe1, 0x24, 0x00, 0x00, 0xc2, 0x24, 0x00, 0x00, 0x02, 0x48, + 0x00, 0x00, 0x04, 0x48, 0x00, 0x00, 0x08, 0x90, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x20, + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'whistle_off', 32x32px +const unsigned char whistle_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xfe, 0x00, 0x00, 0x07, 0xfe, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, + 0x06, 0x06, 0x00, 0x00, 0x06, 0x0c, 0x00, 0x00, 0x06, 0x18, 0x00, 0x00, 0x06, 0x30, 0x00, 0x00, + 0x06, 0x20, 0x00, 0x00, 0x06, 0x30, 0x00, 0x00, 0x06, 0x18, 0x00, 0x00, 0x06, 0x0c, 0x00, 0x00, + 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, + 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, + 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x07, 0xfe, 0x00, 0x00, + 0x07, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'whistle_on', 32x32px +const unsigned char whistle_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x01, 0xf8, 0x1f, 0x00, 0x01, 0xf8, 0x7c, 0x00, + 0x01, 0xf8, 0xf0, 0x00, 0x01, 0xf0, 0xc0, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, + 0x01, 0xc0, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x01, 0xf0, 0xc0, 0x00, + 0x01, 0xf8, 0xf0, 0x00, 0x01, 0xf8, 0x7c, 0x00, 0x01, 0xf8, 0x1f, 0x00, 0x01, 0xf8, 0x07, 0xc0, + 0x01, 0xf8, 0x01, 0xc0, 0x01, 0xf8, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, + 0x01, 0xf8, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'door_off', 32x32px +const unsigned char door_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x28, 0x00, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x04, 0x08, 0x00, + 0x00, 0x04, 0x08, 0x00, 0x0f, 0xf4, 0x08, 0x00, 0x08, 0x07, 0x08, 0x00, 0x08, 0xe0, 0x88, 0x00, + 0x09, 0x12, 0x48, 0x00, 0x0a, 0x0a, 0x28, 0x00, 0x0a, 0x0a, 0x18, 0x00, 0x0a, 0x0a, 0x00, 0x00, + 0x0a, 0x0a, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, + 0x09, 0x12, 0x00, 0x00, 0x08, 0xe2, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, + 0x08, 0x02, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, + 0x08, 0x02, 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'door_on', 32x32px +const unsigned char door_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x10, 0x40, + 0x00, 0x00, 0x31, 0x20, 0x00, 0x00, 0x70, 0x90, 0x00, 0x00, 0xf0, 0x50, 0x00, 0x03, 0xf0, 0x50, + 0x00, 0x03, 0xf0, 0x50, 0x00, 0x03, 0xf0, 0x90, 0x07, 0xf8, 0xf1, 0x20, 0x07, 0x1c, 0x70, 0x40, + 0x06, 0x0c, 0x30, 0x80, 0x04, 0x04, 0x10, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, + 0x04, 0x04, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, + 0x06, 0x0c, 0x00, 0x00, 0x07, 0x1c, 0x00, 0x00, 0x07, 0xfc, 0x00, 0x00, 0x07, 0xfc, 0x00, 0x00, + 0x07, 0xfc, 0x00, 0x00, 0x07, 0xfc, 0x00, 0x00, 0x07, 0xfc, 0x00, 0x00, 0x07, 0xfc, 0x00, 0x00, + 0x07, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'fan_off', 32x32px +const unsigned char fan_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x30, 0xc0, 0x00, + 0x00, 0x40, 0x20, 0x00, 0x00, 0xf0, 0x10, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x04, 0x08, 0x00, + 0x00, 0x02, 0x04, 0x20, 0x00, 0x02, 0x04, 0x30, 0x00, 0xc1, 0x08, 0x28, 0x03, 0x31, 0xc8, 0x28, + 0x04, 0x08, 0x30, 0x44, 0x08, 0x0b, 0xc0, 0x84, 0x10, 0x17, 0xe3, 0x04, 0x10, 0x17, 0xec, 0x04, + 0x20, 0x37, 0xe8, 0x08, 0x20, 0xc7, 0xe8, 0x08, 0x21, 0x03, 0xd0, 0x10, 0x22, 0x0c, 0x10, 0x20, + 0x14, 0x13, 0x8c, 0xc0, 0x14, 0x10, 0x83, 0x00, 0x0c, 0x20, 0x40, 0x00, 0x04, 0x20, 0x40, 0x00, + 0x00, 0x10, 0x20, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x08, 0x0f, 0x00, 0x00, 0x04, 0x02, 0x00, + 0x00, 0x03, 0x0c, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'fan_on', 32x32px +const unsigned char fan_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, + 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x03, 0xf0, 0x00, + 0x00, 0x01, 0xf8, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0xf0, 0x10, 0x00, 0xc0, 0x30, 0x10, + 0x03, 0xf0, 0x00, 0x38, 0x07, 0xf0, 0x00, 0x78, 0x0f, 0xe0, 0x00, 0xf8, 0x0f, 0xe0, 0x03, 0xf8, + 0x1f, 0xc0, 0x07, 0xf0, 0x1f, 0x00, 0x07, 0xf0, 0x1e, 0x00, 0x0f, 0xe0, 0x1c, 0x00, 0x0f, 0xc0, + 0x08, 0x0c, 0x03, 0x00, 0x08, 0x0f, 0x00, 0x00, 0x00, 0x1f, 0x80, 0x00, 0x00, 0x1f, 0x80, 0x00, + 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x03, 0xfc, 0x00, + 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'kohle_off', 32x32px +const unsigned char kohle_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, + 0x00, 0x00, 0xa0, 0x00, 0x7f, 0x81, 0x20, 0x00, 0x61, 0x06, 0x20, 0x00, 0x3f, 0xe4, 0x20, 0x00, + 0x3f, 0x04, 0x20, 0x00, 0x31, 0x84, 0x20, 0x00, 0x60, 0xe6, 0x20, 0x00, 0x60, 0xc1, 0x20, 0x00, + 0x60, 0xc0, 0xa0, 0x00, 0x31, 0x80, 0x60, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x3f, 0x80, 0x00, 0x00, + 0x3f, 0x83, 0x00, 0x00, 0x20, 0x86, 0x00, 0x00, 0x20, 0x8f, 0x00, 0x00, 0x20, 0x89, 0x80, 0x00, + 0x20, 0x80, 0xc8, 0x00, 0x20, 0x80, 0x7c, 0x00, 0x20, 0x80, 0x3e, 0x00, 0x20, 0x80, 0x7e, 0x60, + 0x20, 0x80, 0x1e, 0xf0, 0x20, 0x80, 0x6d, 0xf8, 0x20, 0x80, 0xf3, 0xf8, 0x3f, 0x80, 0xff, 0xfc, + 0x00, 0x01, 0xff, 0xfc, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00 +}; +// 'kohle_on', 32x32px +const unsigned char kohle_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x44, 0x80, 0x00, 0x00, 0xc2, 0x40, 0x1e, 0x01, 0xc1, 0x40, 0x00, 0x03, 0xc1, 0x40, + 0x00, 0x03, 0xc1, 0x40, 0x0e, 0x03, 0xc1, 0x40, 0x1f, 0x01, 0xc2, 0x40, 0x1f, 0x00, 0xc4, 0x80, + 0x1f, 0x00, 0x41, 0x00, 0x0e, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, + 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x60, + 0x1f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x61, 0xf8, 0x1f, 0x00, 0xf3, 0xf8, 0x00, 0x00, 0xff, 0xfc, + 0x00, 0x01, 0xff, 0xfc, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00 +}; + +// 'warning_off', 32x32px +const unsigned char warning_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x04, 0x40, 0x00, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x20, 0x08, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x43, 0x84, 0x00, 0x00, 0x47, 0xc4, 0x00, + 0x00, 0x87, 0xc2, 0x00, 0x00, 0x87, 0xc2, 0x00, 0x01, 0x07, 0xc1, 0x00, 0x01, 0x07, 0xc1, 0x00, + 0x02, 0x03, 0x80, 0x80, 0x02, 0x03, 0x80, 0x80, 0x04, 0x03, 0x80, 0x40, 0x04, 0x01, 0x00, 0x40, + 0x08, 0x01, 0x00, 0x20, 0x08, 0x01, 0x00, 0x20, 0x10, 0x00, 0x00, 0x10, 0x10, 0x03, 0x80, 0x10, + 0x20, 0x07, 0xc0, 0x08, 0x20, 0x07, 0xc0, 0x08, 0x40, 0x03, 0x80, 0x04, 0x40, 0x00, 0x00, 0x04, + 0x40, 0x00, 0x00, 0x04, 0x3f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'warning_on', 32x32px +const unsigned char warning_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x03, 0x80, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, + 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x3c, 0x78, 0x00, 0x00, 0x38, 0x38, 0x00, + 0x00, 0x78, 0x3c, 0x00, 0x00, 0x78, 0x3c, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0xf8, 0x3e, 0x00, + 0x01, 0xfc, 0x7f, 0x00, 0x01, 0xfc, 0x7f, 0x00, 0x03, 0xfc, 0x7f, 0x80, 0x03, 0xfe, 0xff, 0x80, + 0x07, 0xfe, 0xff, 0xc0, 0x07, 0xfe, 0xff, 0xc0, 0x0f, 0xff, 0xff, 0xe0, 0x0f, 0xfc, 0x7f, 0xe0, + 0x1f, 0xf8, 0x3f, 0xf0, 0x1f, 0xf8, 0x3f, 0xf0, 0x3f, 0xfc, 0x7f, 0xf8, 0x3f, 0xff, 0xff, 0xf8, + 0x3f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + + +// 'nextP', 32x32px +const unsigned char nextP [] = { + 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0xc0, + 0x07, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf8, 0x1f, 0xfb, 0xff, 0xf8, + 0x3f, 0xf1, 0xff, 0xfc, 0x3f, 0xe0, 0xff, 0xfc, 0x7f, 0xf0, 0x7f, 0xfe, 0x7f, 0xf8, 0x3f, 0xfe, + 0x7f, 0xfc, 0x1f, 0xfe, 0xff, 0xfe, 0x0f, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0x83, 0xff, + 0xff, 0xff, 0x83, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xfe, 0x0f, 0xff, 0x7f, 0xfc, 0x1f, 0xfe, + 0x7f, 0xf8, 0x3f, 0xfe, 0x7f, 0xf0, 0x7f, 0xfe, 0x3f, 0xe0, 0xff, 0xfc, 0x3f, 0xf1, 0xff, 0xfc, + 0x1f, 0xfb, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xf8, 0x0f, 0xff, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xe0, + 0x03, 0xff, 0xff, 0xc0, 0x01, 0xff, 0xff, 0x80, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x0f, 0xf0, 0x00 +}; + +// 'nextP_on', 32x32px +const unsigned char nextP_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x0e, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x03, 0xe0, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, + 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x03, 0xe0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'prevP', 32x32px +const unsigned char prevP [] = { + 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0xc0, + 0x07, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xdf, 0xf8, + 0x3f, 0xff, 0x8f, 0xfc, 0x3f, 0xff, 0x07, 0xfc, 0x7f, 0xfe, 0x0f, 0xfe, 0x7f, 0xfc, 0x1f, 0xfe, + 0x7f, 0xf8, 0x3f, 0xfe, 0xff, 0xf0, 0x7f, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xff, + 0xff, 0xc1, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0x7f, 0xf8, 0x3f, 0xfe, + 0x7f, 0xfc, 0x1f, 0xfe, 0x7f, 0xfe, 0x0f, 0xfe, 0x3f, 0xff, 0x07, 0xfc, 0x3f, 0xff, 0x8f, 0xfc, + 0x1f, 0xff, 0xdf, 0xf8, 0x1f, 0xff, 0xff, 0xf8, 0x0f, 0xff, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xe0, + 0x03, 0xff, 0xff, 0xc0, 0x01, 0xff, 0xff, 0x80, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x0f, 0xf0, 0x00 +}; + +// 'prevP_on', 32x32px +const unsigned char prevP_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x03, 0xe0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, + 0x00, 0x3e, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x03, 0xe0, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x70, 0x00, + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'readCV', 32x32px +const unsigned char readCV_off [] = { + 0x01, 0xfc, 0xe0, 0xe0, 0x03, 0xfe, 0xe0, 0xe0, 0x07, 0x9e, 0xf1, 0xe0, 0x07, 0x0e, 0x71, 0xc0, + 0x0f, 0x00, 0x7b, 0xc0, 0x0f, 0x00, 0x7b, 0xc0, 0x0f, 0x00, 0x3b, 0x80, 0x0f, 0x00, 0x3b, 0x80, + 0x07, 0x0e, 0x3f, 0x80, 0x07, 0x9e, 0x1f, 0x00, 0x03, 0xfe, 0x1f, 0x00, 0x01, 0xfc, 0x0e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, 0x08, 0x08, 0x00, + 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x00, + 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x00, 0x01, 0xf8, 0x0f, 0xc0, 0x00, 0x80, 0x00, 0x80, + 0x00, 0x40, 0x01, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x08, 0x08, 0x00, + 0x00, 0x04, 0x10, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00 +}; +// 'readCV_on', 32x32px +const unsigned char readCV_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf0, 0x00, + 0x00, 0x07, 0xf0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x07, 0xf0, 0x00, + 0x00, 0x07, 0xf0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x7f, 0xff, 0x00, + 0x00, 0x3f, 0xfe, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, 0x07, 0xf0, 0x00, + 0x00, 0x03, 0xe0, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'valve_off', 32x32px +const unsigned char valve_off [] = { + 0x00, 0x1c, 0x70, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x80, 0x02, 0x00, 0x01, 0x01, 0x01, 0x00, + 0x0e, 0x0f, 0xe0, 0xe0, 0x10, 0x10, 0x10, 0x10, 0x20, 0x10, 0x10, 0x08, 0x40, 0x08, 0x20, 0x04, + 0x87, 0x08, 0x21, 0xc2, 0x08, 0x84, 0x42, 0x21, 0x10, 0x42, 0x84, 0x11, 0x10, 0x22, 0x88, 0x11, + 0x10, 0x11, 0x10, 0x11, 0x0f, 0xf8, 0x3f, 0xe1, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x01, 0x0f, 0xf8, 0x3f, 0xe1, 0x10, 0x11, 0x10, 0x11, 0x10, 0x22, 0x88, 0x11, + 0x10, 0x42, 0x84, 0x11, 0x08, 0x84, 0x42, 0x21, 0x87, 0x08, 0x21, 0xc2, 0x40, 0x08, 0x20, 0x04, + 0x20, 0x10, 0x10, 0x08, 0x10, 0x10, 0x10, 0x10, 0x0e, 0x0f, 0xe0, 0xe0, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x80, 0x02, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x1c, 0x70, 0x00, 0x00, 0x03, 0x80, 0x00 +}; +// 'valve_on', 32x32px +const unsigned char valve_on [] = { + 0x00, 0x03, 0x80, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0xfe, 0xfe, 0x00, + 0x01, 0xf0, 0x1f, 0x00, 0x0f, 0xe0, 0x0f, 0xe0, 0x1f, 0xe0, 0x0f, 0xf0, 0x3f, 0xf0, 0x1f, 0xf8, + 0x78, 0xf0, 0x1e, 0x3c, 0xf0, 0x78, 0x3c, 0x1e, 0xe0, 0x3c, 0x78, 0x0e, 0xe0, 0x1c, 0x70, 0x0e, + 0xe0, 0x0e, 0xe0, 0x0e, 0xf0, 0x07, 0xc0, 0x1e, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xfe, 0xff, 0xfc, + 0xff, 0xff, 0xff, 0xfe, 0xf0, 0x07, 0xc0, 0x1e, 0xe0, 0x0e, 0xe0, 0x0e, 0xe0, 0x1c, 0x70, 0x0e, + 0xe0, 0x3c, 0x78, 0x0e, 0xf0, 0x78, 0x3c, 0x1e, 0x78, 0xf0, 0x1e, 0x3c, 0x3f, 0xf0, 0x1f, 0xf8, + 0x1f, 0xe0, 0x0f, 0xf0, 0x0f, 0xe0, 0x0f, 0xe0, 0x01, 0xf0, 0x1f, 0x00, 0x00, 0xfe, 0xfe, 0x00, + 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'fire_close_off', 32x32px +const unsigned char fire_close_off [] = { + 0x00, 0x07, 0xf0, 0x00, 0x00, 0x38, 0x0e, 0x00, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x00, 0x00, 0x40, + 0x02, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x04, + 0x10, 0x00, 0x00, 0x7e, 0x20, 0x00, 0x01, 0x8e, 0x20, 0x00, 0x02, 0x0e, 0x21, 0xc0, 0x3e, 0x0e, + 0x46, 0x7f, 0xc1, 0x8f, 0x44, 0x10, 0x00, 0x7f, 0x48, 0x08, 0x00, 0x05, 0x48, 0x08, 0x00, 0x01, + 0x48, 0x08, 0x00, 0x05, 0x44, 0x10, 0x00, 0x7f, 0x47, 0x3f, 0xc1, 0x8f, 0x21, 0xc0, 0x3e, 0x0e, + 0x20, 0x00, 0x02, 0x0e, 0x20, 0x00, 0x01, 0x8e, 0x10, 0x00, 0x00, 0x7e, 0x10, 0x00, 0x00, 0x04, + 0x08, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x40, + 0x00, 0xc0, 0x01, 0x80, 0x00, 0x38, 0x0e, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'fire_close_on', 32x32px +const unsigned char fire_close_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, + 0x07, 0xf0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, + 0x0f, 0xf8, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'fire_open_off', 32x32px +const unsigned char fire_open_off [] = { + 0x00, 0x07, 0xf0, 0x01, 0x00, 0x38, 0x0e, 0x01, 0x00, 0xc0, 0x01, 0x8f, 0x01, 0x00, 0x00, 0x49, + 0x02, 0x00, 0x00, 0x29, 0x04, 0x00, 0x00, 0x19, 0x08, 0x00, 0x00, 0x09, 0x10, 0x00, 0x00, 0x09, + 0x10, 0x00, 0x00, 0x19, 0x20, 0x00, 0x00, 0x11, 0x20, 0x00, 0x00, 0x11, 0x20, 0x00, 0x00, 0x11, + 0x40, 0x00, 0x00, 0x11, 0x40, 0x00, 0x00, 0x19, 0x40, 0x00, 0x00, 0x09, 0x40, 0x00, 0x00, 0x09, + 0x40, 0x00, 0x00, 0x09, 0x40, 0x00, 0x00, 0x09, 0x40, 0x00, 0x00, 0x09, 0x20, 0x00, 0x00, 0x19, + 0x20, 0x00, 0x00, 0x11, 0x21, 0xff, 0x80, 0x11, 0x13, 0xff, 0xfc, 0x11, 0x17, 0xff, 0xff, 0xf1, + 0x0f, 0xff, 0xff, 0xf9, 0x07, 0xff, 0xff, 0xf9, 0x03, 0xff, 0xff, 0xe9, 0x01, 0xff, 0xff, 0xc9, + 0x00, 0xff, 0xff, 0x89, 0x00, 0x3f, 0xfe, 0x0f, 0x00, 0x07, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x01 +}; + +// 'fire_open_on', 32x32px +const unsigned char fire_open_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x3f, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x80, + 0x01, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xf0, + 0x0f, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xe0, + 0x3f, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xf0, + 0x3f, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xe0, + 0x1f, 0xff, 0xff, 0xe0, 0x1e, 0x00, 0x7f, 0xe0, 0x0c, 0x00, 0x03, 0xe0, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'steam_smoke_off', 32x32px +const unsigned char steam_smoke_off [] = { + 0x7f, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, + 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xfe, + 0x7f, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, + 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, + 0x7f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xfe +}; +// 'steam_smoke_on', 32x32px +const unsigned char steam_smoke_on [] = { + 0x0f, 0xff, 0xff, 0xe0, 0x0f, 0xfc, 0x7f, 0xf0, 0x1f, 0xf8, 0x3f, 0xf0, 0x1f, 0xf8, 0x07, 0xf8, + 0x1f, 0xf0, 0x03, 0xf8, 0x1f, 0xf0, 0x03, 0xf8, 0x1f, 0xf0, 0x01, 0xf8, 0x0f, 0xf0, 0x01, 0xf8, + 0x0f, 0xf8, 0x01, 0xf8, 0x07, 0xf8, 0x01, 0xf0, 0x07, 0xf8, 0x03, 0xf0, 0x07, 0xf8, 0x03, 0xe0, + 0x07, 0xf8, 0x07, 0xf0, 0x07, 0xf8, 0x1f, 0xf0, 0x07, 0xf8, 0x0f, 0xf0, 0x07, 0xf8, 0x0f, 0xf0, + 0x07, 0xf8, 0x0f, 0xf0, 0x03, 0xfc, 0x0f, 0xf0, 0x03, 0xfc, 0x0f, 0xf0, 0x03, 0xfe, 0x07, 0xf0, + 0x01, 0xfe, 0x07, 0xe0, 0x01, 0xfe, 0x07, 0xe0, 0x00, 0xfe, 0x03, 0xe0, 0x00, 0x3e, 0x03, 0xc0, + 0x00, 0x3e, 0x03, 0xc0, 0x00, 0x3e, 0x03, 0xc0, 0x00, 0x3e, 0x03, 0x80, 0x00, 0x3e, 0x07, 0x00, + 0x00, 0x3f, 0x07, 0x00, 0x00, 0x3f, 0x07, 0x00, 0x00, 0x1f, 0xce, 0x00, 0x00, 0x1f, 0xfe, 0x00 +}; + +// 'star_off', 32x32px +const unsigned char star_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, + 0x00, 0x02, 0x80, 0x00, 0x00, 0x04, 0xc0, 0x00, 0x00, 0x04, 0xc0, 0x00, 0x00, 0x04, 0xc0, 0x00, + 0x00, 0x04, 0xc0, 0x00, 0x00, 0x08, 0x60, 0x00, 0x00, 0x08, 0x60, 0x00, 0x00, 0x08, 0x60, 0x00, + 0x3f, 0xf0, 0x3f, 0xf8, 0x40, 0x00, 0x1f, 0xfc, 0x30, 0x00, 0x00, 0x38, 0x08, 0x00, 0x00, 0x70, + 0x04, 0x00, 0x01, 0xc0, 0x02, 0x00, 0x03, 0x80, 0x01, 0x80, 0x07, 0x00, 0x00, 0x40, 0x04, 0x00, + 0x00, 0x40, 0x0c, 0x00, 0x00, 0x40, 0x0c, 0x00, 0x00, 0x80, 0x06, 0x00, 0x00, 0x81, 0x06, 0x00, + 0x00, 0x83, 0x06, 0x00, 0x01, 0x0e, 0x83, 0x00, 0x01, 0x1c, 0x63, 0x00, 0x01, 0x30, 0x13, 0x00, + 0x01, 0x60, 0x0b, 0x00, 0x03, 0xc0, 0x07, 0x80, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'star_on', 32x32px +const unsigned char star_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, + 0x00, 0x0f, 0xc0, 0x00, 0x3f, 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0x80, + 0x03, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x3f, 0xf8, 0x00, + 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x7e, 0xf8, 0x00, + 0x00, 0x7c, 0xf8, 0x00, 0x00, 0xf0, 0x7c, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xc0, 0x0c, 0x00, + 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +//////////////////////////////////////////////////////////// +// ***** SYS LOCO ICON ***** +//////////////////////////////////////////////////////////// + +// 'sysNoLoco', 190x40px +const unsigned char sysNoLoco [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x3f, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xfc, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x0f, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0xf0, 0x07, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'sysLocoPic0', 190x40px SYS_ELOK +const unsigned char sysLocoPic0 [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x7f, 0xff, 0xff, 0xf8, 0x03, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, + 0x71, 0x81, 0x03, 0x02, 0x06, 0x1c, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x71, 0x81, 0x03, 0x02, 0x06, 0x1c, 0x01, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc6, 0xdb, + 0x6d, 0xb6, 0xdb, 0x6d, 0xb6, 0xdb, 0x6c, 0x47, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc6, 0xdb, 0x6d, 0xb6, 0xdb, 0x6d, 0xb6, 0xdb, 0x6c, 0x47, + 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x46, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x4e, 0x00, 0x00, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x76, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x4e, 0x00, + 0x00, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x76, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x30, 0xc0, 0x0f, 0x80, 0x00, 0x12, 0x0f, + 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x30, 0xc0, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x30, 0xc0, 0x0f, 0x80, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x38, 0xc0, 0x00, 0x00, 0x00, 0x12, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, + 0x00, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xcf, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xbf, 0xc4, 0x8f, 0xf0, 0xdf, 0xff, 0x8f, 0xe3, 0x63, 0xf8, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xbf, 0xc4, + 0x8f, 0xf0, 0xdf, 0xff, 0x8f, 0xe3, 0x63, 0xf8, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x39, 0xd8, 0x6e, 0x77, 0xdf, 0xfe, 0x0e, 0xe4, 0x13, 0xb8, + 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3f, 0xff, + 0xff, 0xf0, 0x00, 0x1c, 0x0f, 0xff, 0xff, 0xf8, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0x1c, 0x0f, 0xff, 0xff, 0xf8, + 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, + 0x03, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'sysLocoPic1', 190x40px +const unsigned char sysLocoPic1 [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0xc0, + 0x3f, 0xfc, 0x00, 0xe0, 0xf1, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0xc0, 0x3f, 0xfc, 0x00, 0xe0, 0xf1, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xbf, + 0xe7, 0xff, 0xbf, 0xf8, 0xff, 0xf7, 0xff, 0x83, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0xb0, 0x24, 0x01, 0xb1, 0x18, 0x80, 0x36, 0x00, 0x82, + 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0xb0, + 0x24, 0x01, 0xb1, 0x18, 0x80, 0x36, 0x00, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xb0, 0x27, 0xff, 0xb1, 0x18, 0x80, 0x36, 0x00, 0x82, + 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0xb0, + 0x24, 0x01, 0xb1, 0x18, 0x80, 0x36, 0x00, 0x82, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0xb0, 0x24, 0x01, 0xb1, 0x18, 0x80, 0x36, 0x00, 0x82, + 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xb0, + 0x24, 0x01, 0xb1, 0x18, 0x80, 0x36, 0x00, 0x82, 0x46, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0xbf, 0xe7, 0xff, 0xb1, 0x18, 0xff, 0xf7, 0xff, 0x83, + 0xfe, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0xbf, + 0xe7, 0xff, 0xb1, 0x18, 0xff, 0xf7, 0xff, 0x83, 0xfe, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x80, 0x00, 0x00, 0x31, 0xd8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x80, + 0x00, 0x00, 0x31, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x80, 0x00, 0x00, 0x31, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x80, + 0x00, 0x00, 0x31, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0x76, 0xdb, 0x6d, 0xb1, 0x1b, 0x6d, 0xb6, 0xe7, 0x72, + 0x49, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0x76, + 0xdb, 0x6d, 0xb1, 0x1b, 0x6d, 0xb6, 0xe7, 0x72, 0x49, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf1, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0xfd, + 0xb7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfd, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfd, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x70, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'sysLocoPic2', 190x40px +const unsigned char sysLocoPic2 [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x90, 0x46, 0xc0, 0x00, + 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1c, 0x90, 0x46, 0xc0, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x90, 0x46, 0xc0, 0x00, + 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, + 0xff, 0xff, 0xff, 0xfb, 0x90, 0x46, 0x3f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x60, 0x00, 0x07, 0x9f, 0xfe, 0x20, 0x00, + 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x60, 0x00, 0x07, 0x9f, 0xfe, 0x20, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x60, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, + 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x60, 0x00, 0x00, 0x80, 0x41, 0x20, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x60, 0x00, 0x00, 0x80, 0x41, 0x20, 0x00, + 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x40, + 0x00, 0x60, 0x00, 0x00, 0x80, 0x41, 0x20, 0x00, 0x06, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x40, 0x00, 0x60, 0x00, 0x00, 0x80, 0x41, 0x20, 0x00, + 0x06, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x40, + 0x00, 0x60, 0x00, 0x00, 0x80, 0x41, 0x20, 0x00, 0x06, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x40, 0x00, 0x60, 0x00, 0x00, 0x80, 0x41, 0x20, 0x00, + 0x06, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x40, + 0x00, 0x60, 0x00, 0x00, 0x80, 0x41, 0x20, 0x00, 0x06, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x40, 0x00, 0x60, 0x00, 0x00, 0x80, 0x41, 0x20, 0x00, + 0x06, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x40, + 0x00, 0x60, 0x00, 0x00, 0x80, 0x41, 0x20, 0x00, 0x06, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x40, 0x00, 0x60, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, + 0x06, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x40, + 0x00, 0x60, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, 0x06, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x40, + 0x07, 0xfc, 0x00, 0xff, 0xfe, 0x41, 0x1f, 0xf0, 0x06, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x40, 0x07, 0xfc, 0x00, 0xff, 0xfe, 0x41, 0x1f, 0xf0, + 0x06, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xc7, + 0xff, 0xff, 0xf8, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xf7, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x4f, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0x41, 0xff, 0xff, + 0xfe, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x4f, + 0xff, 0xff, 0xfe, 0xff, 0xfe, 0x41, 0xff, 0xff, 0xfe, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xcf, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xff, 0xff, + 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xfc, 0x0f, 0xf0, 0x00, 0x00, 0x07, 0xf8, 0x1f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfc, 0x0f, 0xf0, 0x00, 0x00, 0x07, 0xf8, 0x1f, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf8, 0x03, 0xc0, 0x00, 0x00, 0x01, 0xe0, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'sysLocoPic3', 190x40px +const unsigned char sysLocoPic3 [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc7, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x20, 0xfe, 0x0f, 0xf8, 0x01, + 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, + 0xff, 0xfc, 0x00, 0x20, 0xfe, 0x0f, 0xf8, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x01, + 0x1c, 0x7f, 0xf9, 0xff, 0x9f, 0xf9, 0xff, 0x7f, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x01, 0x1c, 0x7f, 0xf9, 0xff, 0x9f, 0xf9, 0xff, 0x7f, + 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x01, + 0x1c, 0x7f, 0xf9, 0xff, 0x9f, 0xf9, 0xff, 0x7f, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc1, 0x1c, 0x7f, 0xf9, 0xff, 0x9f, 0xf9, 0xff, 0x7f, + 0xf7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc1, + 0x1c, 0x7f, 0xf9, 0xff, 0x9f, 0xf9, 0xff, 0x7f, 0xf7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x41, 0xff, 0xff, 0xf9, 0xff, 0x9f, 0xf9, 0xff, 0x7f, + 0xf7, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x41, + 0xff, 0xff, 0xf9, 0xff, 0x9f, 0xf9, 0xff, 0x7f, 0xf7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x41, 0xff, 0xff, 0xf9, 0xff, 0x9f, 0xf9, 0xff, 0x7f, + 0xf7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x41, + 0xe3, 0xff, 0xf9, 0xff, 0x9f, 0xf9, 0xff, 0x7f, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x41, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x41, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x41, 0xff, 0xff, 0xf9, 0xe3, 0x1e, 0x31, 0xe3, 0xfc, + 0x7e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x41, + 0xff, 0xff, 0xf6, 0x1b, 0x61, 0xb6, 0x1b, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x41, 0xff, 0xff, 0xf6, 0x1b, 0x61, 0xb6, 0x1b, 0xff, + 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xcf, + 0xff, 0xff, 0xc9, 0xff, 0xff, 0xff, 0x27, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xff, 0x1f, 0x88, 0xc7, 0x8f, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, + 0xff, 0x1f, 0x88, 0xc7, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x3f, 0xe7, 0x1f, 0xc9, 0x3c, 0x93, 0xf9, 0x3f, 0xff, + 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x08, + 0xff, 0x7f, 0xf6, 0x38, 0x63, 0x86, 0x38, 0xfc, 0x0f, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x08, 0xff, 0x7f, 0xf6, 0x38, 0x63, 0x86, 0x38, 0xfc, + 0x0f, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, + 0x3c, 0x00, 0x01, 0xe0, 0x1e, 0x01, 0xe0, 0x70, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'sysLocoPic4', 190x40px +const unsigned char sysLocoPic4 [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0d, 0xf6, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xf6, 0x00, 0x00, 0x00, 0x00, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0d, 0xf6, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x1f, 0x80, 0x00, 0x00, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x1f, 0x80, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfb, 0xff, 0xff, 0x18, 0x80, 0x00, 0x00, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfb, 0xf0, 0x3f, 0x1b, 0xf0, 0x3e, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfb, 0xf0, 0x3f, 0x1b, 0xf0, 0x3e, 0x00, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3b, 0xe0, 0x0f, 0x1b, 0xf0, 0x3e, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0xe0, 0x0f, 0x1b, 0xf0, 0x3e, 0x00, 0xec, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3b, 0xe0, 0x0f, 0x1b, 0xf0, 0x3e, 0x00, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1b, 0xe0, 0x0f, 0xe0, 0x00, 0x00, 0x07, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xe0, 0x0f, 0xe0, 0x00, 0x00, 0x07, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf3, 0xbf, 0xff, 0xff, 0xff, 0xe7, 0x9e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xf3, 0xbf, 0xff, 0xff, 0xff, 0xe7, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf3, 0xbf, 0xff, 0xff, 0xff, 0xe7, 0x9e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xf3, 0xbe, 0x00, 0x00, 0x00, 0xe7, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf3, 0xbe, 0xff, 0xff, 0xfe, 0xe7, 0x9f, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0xf3, 0xbe, 0xff, 0xff, 0xfe, 0xe7, 0x9f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf3, 0xbe, 0xff, 0xff, 0xfe, 0x07, 0x9f, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x23, 0xff, 0xf9, 0xfc, 0x1f, 0xc0, 0xff, 0x7e, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x7f, 0xf1, 0xff, 0xff, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0xff, 0xff, 0xff, 0x7f, 0xf1, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xf7, 0xdf, 0x7d, 0xf1, 0xe7, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xee, 0x01, 0xff, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0x01, 0xff, 0xff, 0xff, 0xff, 0x70, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0xf8, 0x0f, 0x80, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'sysLocoPic5', 190x40px +const unsigned char sysLocoPic5 [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x88, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x31, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x88, 0xc0, 0x0f, 0xf1, 0xfc, 0x7f, 0x8f, 0xe0, 0x02, + 0x31, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x88, + 0xc0, 0x0f, 0xf1, 0xfc, 0x7f, 0x8f, 0xe0, 0x02, 0x31, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x88, 0xc0, 0x0c, 0x31, 0x04, 0x61, 0x88, 0x20, 0x02, + 0x31, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x88, + 0xc0, 0x0f, 0xf1, 0xfc, 0x7f, 0x8f, 0xe0, 0x02, 0x31, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x88, 0xc0, 0x0f, 0xf1, 0xfc, 0x7f, 0x8f, 0xe0, 0x02, + 0x31, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf8, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x08, 0xc0, 0x0d, 0xb6, 0x3f, 0xfc, 0x49, 0x20, 0x02, + 0x30, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x08, + 0xc0, 0x0d, 0xb6, 0x3f, 0xfc, 0x49, 0x20, 0x02, 0x30, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x08, 0xc0, 0x02, 0x48, 0x3f, 0xfc, 0x36, 0xc0, 0x02, + 0x36, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x88, + 0xc0, 0x0d, 0xb6, 0x00, 0x00, 0x49, 0x20, 0x02, 0x31, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x88, 0xc0, 0x0d, 0xb6, 0x00, 0x00, 0x49, 0x20, 0x02, + 0x31, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x48, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x36, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x88, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x31, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x88, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x31, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x08, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x30, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x08, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x30, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xf9, 0xff, 0xef, 0xf9, 0x00, 0x1f, 0xcf, 0xfb, 0xff, + 0xbf, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0xf9, + 0xff, 0xef, 0xf9, 0x00, 0x1f, 0xcf, 0xfb, 0xff, 0xbf, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x7f, 0x3c, 0xff, 0xb9, 0xff, 0xff, 0xcf, 0x3f, 0x7d, + 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, + 0xff, 0xff, 0xf9, 0xff, 0xff, 0x87, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0x87, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, + 0x3f, 0x0f, 0xc0, 0x00, 0x00, 0x01, 0xf8, 0x7e, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'sysLocoPic6', 190x40px +const unsigned char sysLocoPic6 [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x03, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x70, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x03, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xe2, 0x00, 0x03, 0x1f, 0xff, 0xff, 0xff, + 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, + 0xff, 0xe2, 0x00, 0x03, 0x1f, 0xff, 0xff, 0xff, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x31, 0x18, 0x82, 0x00, 0x03, 0x0c, 0x46, 0x23, 0x11, + 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xb0, 0x27, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x27, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x20, 0x61, 0xb0, 0x24, 0x10, 0x30, 0x20, 0x60, + 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, + 0x20, 0x61, 0xb0, 0x24, 0x10, 0x30, 0x20, 0x60, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x20, 0x61, 0xb0, 0x24, 0x10, 0x30, 0x20, 0x60, + 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, + 0x20, 0x61, 0xb0, 0x24, 0x10, 0x30, 0x20, 0x60, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x20, 0x61, 0xb0, 0x24, 0x10, 0x30, 0x20, 0x60, + 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, + 0x20, 0x61, 0xb0, 0x24, 0x10, 0x30, 0x20, 0x60, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf1, 0xf0, 0x3c, 0x7f, 0xff, 0xff, 0xff, + 0xf1, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xf1, 0xf0, 0x3c, 0x7f, 0xff, 0xff, 0xff, 0xf1, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf1, 0xf8, 0xfc, 0x7f, 0xff, 0xff, 0xff, + 0xf1, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xf1, 0xf8, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xf1, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf1, 0xf8, 0xfc, 0x7f, 0xff, 0xff, 0xff, + 0xf1, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xf1, 0xf0, 0x3c, 0x7f, 0xff, 0xff, 0xff, 0xf1, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0x01, 0xdc, 0x71, 0xf8, 0xfc, 0x71, 0xce, 0x03, 0x9c, + 0x71, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x9f, 0x87, 0x07, 0xef, 0xff, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x9f, 0x87, 0x07, 0xef, 0xff, 0xff, 0xff, + 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, + 0xf8, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'sysLocoPic7', 190x40px +const unsigned char sysLocoPic7 [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x80, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xff, 0xfe, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0x7f, 0xfe, 0x00, 0x01, 0xc0, 0x1c, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01, 0xfe, 0x00, 0x01, 0xc0, 0x1c, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfc, 0x01, 0xfe, 0x00, 0x01, 0xc0, 0x1c, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x3e, 0x00, 0x01, 0xc0, 0x1c, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0x00, 0x7e, 0x00, 0x01, 0xc0, 0x1c, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x7e, 0x00, 0x01, 0xc0, 0x1c, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0x03, 0xc7, 0x00, 0x01, 0xc0, 0x1c, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x87, 0x00, 0x01, 0xff, 0xff, 0xff, + 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0x03, 0x87, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x7f, + 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x3f, 0x9f, 0xf7, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3f, 0x9f, 0xf7, 0xfc, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x3f, 0x9f, 0xf7, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, + 0xe4, 0xfc, 0x00, 0x38, 0x00, 0x0e, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe4, 0xfc, 0x00, 0x38, 0x00, 0x0e, 0x00, 0x0f, + 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, + 0xfc, 0xfc, 0x78, 0x38, 0x00, 0x0e, 0x1f, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x38, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x9e, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x38, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x9e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xfd, 0xce, 0xff, 0xff, 0xff, 0x3b, 0x9e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0d, 0xfe, 0xc0, 0x00, 0x01, 0x3f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xfe, 0xc0, 0x00, 0x01, 0x3f, 0x90, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'sysLocoPic8', 190x40px +const unsigned char sysLocoPic8 [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, + 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x80, 0x00, 0xf0, 0x07, 0xfc, 0x7f, 0xff, 0xc0, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xc0, + 0x1f, 0x00, 0x06, 0xc4, 0x6d, 0xb6, 0xf8, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xc0, 0x1f, 0x00, 0x06, 0xc4, 0x6d, 0xb6, 0xf8, 0xff, + 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x06, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, + 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x47, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0x00, + 0x47, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xff, + 0xd8, 0x8d, 0xff, 0xc3, 0xfe, 0x46, 0x27, 0xfe, 0x47, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0x80, 0xd8, 0x8d, 0xbe, 0xc3, 0x02, 0x46, 0x24, 0x02, + 0x46, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0x80, + 0xd8, 0x8d, 0xbe, 0xc3, 0x02, 0x46, 0x24, 0x02, 0x46, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0x80, 0xd8, 0x8d, 0x80, 0xc3, 0x02, 0x46, 0x24, 0x02, + 0x46, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xb1, + 0xd8, 0x8d, 0xc6, 0xc3, 0x62, 0x46, 0x27, 0x12, 0x7e, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xb1, 0xd8, 0x8d, 0xc6, 0xc3, 0x62, 0x46, 0x27, 0x12, + 0x7e, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xb1, + 0xd8, 0x8d, 0xc6, 0xc3, 0x62, 0x46, 0x27, 0x12, 0x4e, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xff, 0xdf, 0xfd, 0xff, 0xc3, 0xfe, 0x7f, 0xe7, 0xfe, + 0x46, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xff, + 0xdf, 0xfd, 0xff, 0xc3, 0xfe, 0x7f, 0xe7, 0xfe, 0x46, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x18, 0x8c, 0x00, 0x00, 0x00, 0x46, 0x20, 0x00, + 0x7e, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, + 0x18, 0x8c, 0x00, 0x00, 0x00, 0x46, 0x20, 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x18, 0x8c, 0x00, 0x00, 0x00, 0x46, 0x20, 0x00, + 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, + 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x06, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xff, 0x00, 0xf0, 0x7f, 0xff, 0xff, 0xf0, 0x3f, 0xe1, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7f, + 0x00, 0x00, 0x7f, 0xff, 0xf1, 0xf0, 0x3f, 0x9e, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7f, 0x00, 0x00, 0x7f, 0xff, 0xf1, 0xf0, 0x3f, 0x9e, + 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + + + + + +// 'rayo_off', 32x32px +const unsigned char rayo_off [] = { + 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x01, 0x88, + 0x00, 0x00, 0x06, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x30, 0x20, 0x00, 0x00, 0xc0, 0x40, + 0x00, 0x01, 0x00, 0x80, 0x00, 0x06, 0x01, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00, 0x60, 0x02, 0x00, + 0x01, 0x80, 0x04, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x60, 0x08, 0x00, 0x00, 0x18, 0x18, 0x00, + 0x00, 0x10, 0x06, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x20, 0x01, 0x80, 0x00, 0x40, 0x06, 0x00, + 0x00, 0x80, 0x18, 0x00, 0x00, 0x80, 0x60, 0x00, 0x01, 0x00, 0x80, 0x00, 0x02, 0x03, 0x00, 0x00, + 0x04, 0x0c, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x60, 0x00, 0x00, 0x11, 0x80, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'rayo_on', 32x32px +const unsigned char rayo_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x70, + 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x3f, 0x80, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x07, 0xfe, 0x00, 0x00, 0x1f, 0xfc, 0x00, + 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x07, 0xe0, 0x00, + 0x00, 0x0f, 0xf8, 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x3f, 0xf8, 0x00, + 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x7f, 0x80, 0x00, 0x00, 0xff, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, + 0x03, 0xf0, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + + +// 'shift_off', 32x32px +const unsigned char shift_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x03, + 0xce, 0x45, 0xde, 0xfb, 0xd1, 0x44, 0x90, 0x23, 0xd0, 0x44, 0x90, 0x23, 0xce, 0x7c, 0x9c, 0x23, + 0xc1, 0x44, 0x90, 0x23, 0xd1, 0x44, 0x90, 0x23, 0xce, 0x45, 0xd0, 0x23, 0xc0, 0x00, 0x00, 0x03, + 0xc0, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'shift_on', 32x32px +const unsigned char shift_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, + 0x31, 0xba, 0x21, 0x04, 0x2e, 0xbb, 0x6f, 0xdc, 0x2f, 0xbb, 0x6f, 0xdc, 0x31, 0x83, 0x63, 0xdc, + 0x3e, 0xbb, 0x6f, 0xdc, 0x2e, 0xbb, 0x6f, 0xdc, 0x31, 0xba, 0x2f, 0xdc, 0x3f, 0xff, 0xff, 0xfc, + 0x3f, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'plate_off', 32x32px +const unsigned char plate_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x03, 0xc0, 0x00, + 0x00, 0x04, 0x20, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x10, 0x08, 0x00, + 0x00, 0x10, 0x08, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x04, 0x20, 0x00, + 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x10, 0x00, 0x00, 0x08, 0x10, 0xf3, 0x3c, 0x88, + 0x10, 0x14, 0x05, 0x88, 0x10, 0x27, 0x18, 0x88, 0x10, 0x44, 0x84, 0x88, 0x10, 0x84, 0xa4, 0x88, + 0x10, 0x83, 0x18, 0x88, 0x10, 0x00, 0x00, 0x08, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00 +}; +// 'plate_on', 32x32px +const unsigned char plate_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xc0, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x01, 0xcf, 0xf3, 0x80, + 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x03, 0xc0, 0x00, + 0x00, 0x10, 0x08, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x42, 0x42, 0x00, 0x00, 0x02, 0x40, 0x00, + 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x0f, 0x0c, 0xc3, 0x70, + 0x0f, 0xeb, 0xfa, 0x70, 0x0f, 0xd8, 0xe7, 0x70, 0x0f, 0xbb, 0x7b, 0x70, 0x0f, 0x7b, 0x5b, 0x70, + 0x0f, 0x7c, 0xe7, 0x70, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'brake_off', 32x32px +const unsigned char brake_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0xc1, 0x00, 0x03, 0x98, 0x33, 0x80, + 0x07, 0xa1, 0x0b, 0xc0, 0x07, 0x43, 0x85, 0xc0, 0x0f, 0x43, 0x85, 0xe0, 0x0e, 0x83, 0x82, 0xe0, + 0x0e, 0x83, 0x82, 0xe0, 0x0e, 0x83, 0x82, 0xe0, 0x0e, 0x83, 0x82, 0xe0, 0x0e, 0x81, 0x02, 0xe0, + 0x0f, 0x40, 0x05, 0xe0, 0x07, 0x43, 0x85, 0xc0, 0x07, 0xa3, 0x8b, 0xc0, 0x03, 0x98, 0x33, 0x80, + 0x01, 0x07, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'brake_on', 32x32px +const unsigned char brake_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x00, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x09, 0x00, + 0x00, 0x00, 0x64, 0x80, 0x00, 0x00, 0x12, 0x80, 0x00, 0x00, 0x0a, 0x40, 0x00, 0x00, 0x0a, 0x40, + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x1e, 0xf0, 0x00, 0x00, 0x3c, 0x78, 0x00, 0x00, 0x3c, 0x78, 0x00, 0x00, 0x7c, 0x7c, 0x00, + 0x00, 0x7c, 0x7c, 0x00, 0x00, 0x7c, 0x7c, 0x00, 0x00, 0x7c, 0x7c, 0x00, 0x00, 0x7e, 0xfc, 0x00, + 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x3c, 0x78, 0x00, 0x00, 0x1c, 0x70, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'wheel_off', 32x32px +const unsigned char wheel_off [] = { + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, + 0x00, 0x04, 0x20, 0x00, 0x00, 0x03, 0xc0, 0x00, 0xfc, 0x00, 0x00, 0x3f, 0x23, 0x00, 0x00, 0xc4, + 0x20, 0xc0, 0x03, 0x04, 0x20, 0xa0, 0x05, 0x04, 0x21, 0x10, 0x08, 0x84, 0x22, 0x08, 0x10, 0x44, + 0x22, 0x0c, 0x30, 0x44, 0x24, 0x34, 0x2c, 0x24, 0x24, 0x44, 0x22, 0x24, 0xa9, 0x82, 0x41, 0x95, + 0x76, 0x02, 0x40, 0x6e, 0xf8, 0x02, 0x40, 0x1f, 0xff, 0xfe, 0x7f, 0xff, 0xf8, 0x02, 0x40, 0x1f, + 0x76, 0x02, 0x40, 0x6e, 0xa9, 0x82, 0x41, 0x95, 0x24, 0x44, 0x22, 0x24, 0x24, 0x34, 0x2c, 0x24, + 0x22, 0x0c, 0x30, 0x44, 0x22, 0x08, 0x10, 0x44, 0x21, 0x10, 0x08, 0x84, 0x20, 0xa0, 0x05, 0x04, + 0x20, 0xc0, 0x03, 0x04, 0x23, 0x00, 0x00, 0xc4, 0xfc, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00 +}; +// 'wheel_on', 32x32px +const unsigned char wheel_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x07, 0xe0, 0x00, + 0x00, 0x23, 0xc4, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x01, 0x08, 0x10, 0x80, 0x02, 0x12, 0x48, 0x40, + 0x00, 0x12, 0x48, 0x00, 0x00, 0x22, 0x44, 0x00, 0x00, 0x44, 0x22, 0x00, 0x00, 0x44, 0x22, 0x00, + 0x00, 0x84, 0x21, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'radio_off', 32x32px +const unsigned char radio_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x04, 0x40, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x70, 0x40, 0x00, 0x00, 0x70, 0x40, 0x00, 0x06, + 0x70, 0x40, 0x00, 0x06, 0x70, 0x40, 0x00, 0x06, 0x70, 0x40, 0x00, 0x06, 0x08, 0x40, 0x00, 0x06, + 0x04, 0x40, 0x00, 0x06, 0x02, 0x40, 0x00, 0x06, 0x01, 0x40, 0x00, 0x06, 0x00, 0xc0, 0x03, 0xfe, + 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x04, 0xf2, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x04, 0xf2, + 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x04, 0xf2, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x04, 0x02, + 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x04, 0x02, + 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, 0x00 +}; +// 'radio_on', 32x32px +const unsigned char radio_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x01, 0x80, 0x90, 0x00, + 0x03, 0x84, 0x48, 0x00, 0x07, 0x82, 0x48, 0x00, 0x0f, 0x82, 0x24, 0x00, 0x0f, 0x81, 0x24, 0x00, + 0x0f, 0x81, 0x24, 0x00, 0x0f, 0x81, 0x24, 0x00, 0x0f, 0x81, 0x24, 0x00, 0x07, 0x82, 0x24, 0x00, + 0x03, 0x82, 0x48, 0x00, 0x01, 0x84, 0x48, 0x00, 0x00, 0x80, 0x90, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x03, 0x0c, 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x03, 0x0c, + 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x03, 0x0c, 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x03, 0xfc, + 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x03, 0xfc, + 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'couplersnd_off', 32x32px +const unsigned char couplersnd_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, + 0x00, 0x22, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x03, 0x82, 0x00, 0x00, 0x03, 0x82, 0x00, 0x00, + 0x03, 0x82, 0x00, 0x00, 0x03, 0x82, 0x00, 0x00, 0x03, 0x82, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, + 0x00, 0x22, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xfc, 0x7f, 0x00, 0x03, 0x18, 0x31, 0x80, 0x0e, 0x30, 0x18, 0xe0, + 0x7c, 0xe0, 0x0e, 0x7c, 0x79, 0xc0, 0x07, 0x3c, 0x73, 0x00, 0x01, 0x9c, 0x73, 0x00, 0x01, 0x9c, + 0x73, 0x00, 0x01, 0x9c, 0x73, 0x00, 0x01, 0x9c, 0x79, 0xc0, 0x07, 0x3c, 0x7c, 0x60, 0x0c, 0x7c, + 0x0e, 0x30, 0x18, 0xe0, 0x03, 0x18, 0x31, 0x80, 0x01, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'couplersnd_on', 32x32px +const unsigned char couplersnd_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x80, 0x00, 0x0c, 0x04, 0x80, + 0x00, 0x1c, 0x22, 0x40, 0x00, 0x3c, 0x12, 0x40, 0x00, 0x7c, 0x11, 0x20, 0x00, 0x7c, 0x09, 0x20, + 0x00, 0x7c, 0x09, 0x20, 0x00, 0x7c, 0x09, 0x20, 0x00, 0x7c, 0x09, 0x20, 0x00, 0x3c, 0x11, 0x20, + 0x00, 0x1c, 0x12, 0x40, 0x00, 0x0c, 0x22, 0x40, 0x00, 0x04, 0x04, 0x80, 0x00, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x01, 0xc0, 0x07, 0x00, + 0x03, 0x00, 0x01, 0x80, 0x06, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x60, + 0x0c, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0xc0, 0x03, 0x80, 0x03, 0x80, + 0x01, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'track_off', 32x32px +const unsigned char track_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xc1, 0xce, + 0x00, 0x6b, 0x43, 0x5a, 0x00, 0x4a, 0x42, 0x52, 0x07, 0xdc, 0xfe, 0xe7, 0x04, 0x00, 0x30, 0x01, + 0x07, 0x99, 0xfc, 0xcf, 0x01, 0x33, 0x09, 0x98, 0x01, 0x32, 0x09, 0x90, 0x02, 0x64, 0x13, 0x20, + 0x02, 0x64, 0x13, 0x20, 0x04, 0xc8, 0x26, 0x40, 0x04, 0xc8, 0x26, 0x40, 0x09, 0x90, 0x4c, 0x80, + 0x09, 0xb0, 0x4d, 0x80, 0xf3, 0x3f, 0x99, 0xe0, 0x80, 0x0c, 0x00, 0x20, 0xe7, 0x3f, 0x39, 0xe0, + 0x4a, 0x42, 0x52, 0x00, 0x5a, 0xc2, 0xd6, 0x00, 0x73, 0x83, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'track_on', 32x32px +const unsigned char track_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x01, 0x08, 0x00, 0x01, 0x02, 0x10, + 0x00, 0x00, 0x82, 0x10, 0x00, 0x00, 0x82, 0x20, 0x00, 0x00, 0x44, 0x40, 0x00, 0x00, 0x44, 0x40, + 0x00, 0x00, 0x24, 0x80, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x80, 0x84, 0x00, 0x31, 0x81, 0x8c, 0x00, 0x23, 0x01, 0x18, 0x03, 0xff, 0xcf, 0xfe, + 0x00, 0x66, 0x03, 0x30, 0x00, 0xcc, 0x06, 0x60, 0x00, 0xcc, 0x06, 0x60, 0x01, 0x98, 0x0c, 0xc0, + 0x01, 0x98, 0x0c, 0xc0, 0x03, 0x30, 0x19, 0x80, 0x03, 0x30, 0x19, 0x80, 0x06, 0x60, 0x33, 0x00, + 0x06, 0x40, 0x32, 0x00, 0x0c, 0xc0, 0x66, 0x00, 0x7f, 0xf3, 0xff, 0xc0, 0x18, 0xc0, 0xc6, 0x00, + 0x31, 0x81, 0x8c, 0x00, 0x21, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'notchp_off', 32x32px +const unsigned char notchp_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, + 0x00, 0x00, 0x01, 0xfe, 0x00, 0x3f, 0xc1, 0xfe, 0x00, 0xff, 0xf0, 0x30, 0x03, 0xff, 0xfc, 0x30, + 0x07, 0xe0, 0x7e, 0x30, 0x0f, 0x80, 0x1f, 0x00, 0x1e, 0x00, 0x07, 0x80, 0x1c, 0x00, 0x03, 0x80, + 0x3d, 0x99, 0x13, 0xc0, 0x39, 0x55, 0xb1, 0xc0, 0x79, 0x55, 0x51, 0xe0, 0x71, 0x99, 0x10, 0xe0, + 0x71, 0x51, 0x10, 0xe0, 0x71, 0x51, 0x10, 0xe0, 0x70, 0x06, 0x00, 0xe0, 0x70, 0x0c, 0x00, 0xe0, + 0x70, 0x18, 0x00, 0xe0, 0x78, 0x30, 0x01, 0xe0, 0x38, 0x60, 0x01, 0xc0, 0x3c, 0xc0, 0x03, 0xc0, + 0x1c, 0x80, 0x03, 0x80, 0x1e, 0x00, 0x07, 0x80, 0x0f, 0x80, 0x1f, 0x00, 0x07, 0xe0, 0x7e, 0x00, + 0x03, 0xff, 0xfc, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'notchp_on', 32x32px +const unsigned char notchp_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, + 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, + 0x00, 0x1f, 0x80, 0x30, 0x00, 0x7f, 0xe0, 0x00, 0x01, 0xff, 0xf8, 0x00, 0x03, 0xff, 0xfc, 0x00, + 0x02, 0x66, 0xec, 0x00, 0x06, 0xaa, 0x4e, 0x00, 0x06, 0xaa, 0xae, 0x00, 0x0e, 0x66, 0xef, 0x00, + 0x0e, 0xae, 0xef, 0x00, 0x0e, 0xae, 0xef, 0x00, 0x0f, 0xf9, 0xff, 0x00, 0x0f, 0xf3, 0xff, 0x00, + 0x0f, 0xe7, 0xff, 0x00, 0x07, 0xcf, 0xfe, 0x00, 0x07, 0x9f, 0xfe, 0x00, 0x03, 0x3f, 0xfc, 0x00, + 0x03, 0x7f, 0xfc, 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x1f, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'notchm_off', 32x32px +const unsigned char notchm_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xfe, 0x00, 0x3f, 0xc1, 0xfe, 0x00, 0xff, 0xf0, 0x00, 0x03, 0xff, 0xfc, 0x00, + 0x07, 0xe0, 0x7e, 0x00, 0x0f, 0x80, 0x1f, 0x00, 0x1e, 0x00, 0x07, 0x80, 0x1c, 0x00, 0x03, 0x80, + 0x3d, 0x99, 0x13, 0xc0, 0x39, 0x55, 0xb1, 0xc0, 0x79, 0x55, 0x51, 0xe0, 0x71, 0x99, 0x10, 0xe0, + 0x71, 0x51, 0x10, 0xe0, 0x71, 0x51, 0x10, 0xe0, 0x70, 0x06, 0x00, 0xe0, 0x70, 0x0c, 0x00, 0xe0, + 0x70, 0x18, 0x00, 0xe0, 0x78, 0x30, 0x01, 0xe0, 0x38, 0x60, 0x01, 0xc0, 0x3c, 0xc0, 0x03, 0xc0, + 0x1c, 0x80, 0x03, 0x80, 0x1e, 0x00, 0x07, 0x80, 0x0f, 0x80, 0x1f, 0x00, 0x07, 0xe0, 0x7e, 0x00, + 0x03, 0xff, 0xfc, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'notchm_on', 32x32px +const unsigned char notchm_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0x80, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x01, 0xff, 0xf8, 0x00, 0x03, 0xff, 0xfc, 0x00, + 0x02, 0x66, 0xec, 0x00, 0x06, 0xaa, 0x4e, 0x00, 0x06, 0xaa, 0xae, 0x00, 0x0e, 0x66, 0xef, 0x00, + 0x0e, 0xae, 0xef, 0x00, 0x0e, 0xae, 0xef, 0x00, 0x0f, 0xf9, 0xff, 0x00, 0x0f, 0xf3, 0xff, 0x00, + 0x0f, 0xe7, 0xff, 0x00, 0x07, 0xcf, 0xfe, 0x00, 0x07, 0x9f, 0xfe, 0x00, 0x03, 0x3f, 0xfc, 0x00, + 0x03, 0x7f, 0xfc, 0x00, 0x01, 0xff, 0xf8, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x1f, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'pfiff_off', 32x32px +const unsigned char pfiff_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x07, 0xff, 0xf8, + 0x00, 0x0f, 0xff, 0xf8, 0x00, 0x1f, 0xff, 0xfc, 0x00, 0x3e, 0xff, 0xfc, 0x00, 0x7c, 0x7f, 0xfc, + 0x00, 0xf8, 0x3f, 0xfc, 0x01, 0xfc, 0x1f, 0xfc, 0x03, 0xfe, 0x3f, 0xf8, 0x07, 0xff, 0x7f, 0xf8, + 0x0f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, 0x17, 0xff, 0xff, 0xe0, 0x1b, 0xff, 0xff, 0xc0, + 0x0d, 0xff, 0xff, 0x80, 0x06, 0xff, 0x1e, 0x00, 0x03, 0x7e, 0x00, 0x00, 0x01, 0xbc, 0x00, 0x00, + 0x00, 0xf8, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'pfiff_on', 32x32px +const unsigned char pfiff_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, + 0x01, 0x08, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, + 0x10, 0x48, 0x00, 0x00, 0x0c, 0x40, 0x00, 0x00, 0x03, 0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'unilight2_off', 32x32px +const unsigned char unilight2_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, + 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x1c, 0x70, 0x00, + 0x00, 0x30, 0x18, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0xc0, 0x06, 0x00, 0x00, 0xc3, 0x86, 0x00, + 0x01, 0x84, 0x43, 0x00, 0x01, 0x80, 0x43, 0x00, 0x01, 0x80, 0x83, 0x00, 0x01, 0x81, 0x03, 0x00, + 0x01, 0x82, 0x03, 0x00, 0x00, 0xc7, 0xc6, 0x00, 0x00, 0xc0, 0x06, 0x00, 0x00, 0x60, 0x0c, 0x00, + 0x00, 0x38, 0x38, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'unilight2_on', 32x32px +const unsigned char unilight2_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, + 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x3c, 0x78, 0x00, + 0x00, 0x7b, 0xbc, 0x00, 0x00, 0x7f, 0xbc, 0x00, 0x00, 0x7f, 0x7c, 0x78, 0x3c, 0x7e, 0xfc, 0x00, + 0x00, 0x7d, 0xfc, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x1f, 0xf0, 0x00, + 0x01, 0x07, 0xc1, 0x00, 0x02, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x40, 0x08, 0x00, 0x00, 0x20, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x10, 0x10, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'curve_off', 32x32px +const unsigned char curve_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x01, 0xc4, 0x00, 0x00, 0x01, 0xc4, 0x00, 0x00, + 0x01, 0xc4, 0x00, 0x00, 0x01, 0xc4, 0x00, 0x00, 0x01, 0xc4, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x14, 0x40, 0x00, 0x00, 0x08, 0x28, 0x00, 0x00, 0x94, 0x10, + 0x00, 0x00, 0x64, 0x28, 0x01, 0x13, 0xc2, 0x40, 0x03, 0xfc, 0x21, 0x80, 0x01, 0x08, 0x21, 0x00, + 0x01, 0x08, 0x22, 0x80, 0x01, 0x08, 0x1c, 0x00, 0x01, 0x08, 0x30, 0x00, 0x01, 0x0b, 0xc8, 0x00, + 0x03, 0xfc, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'curve_on', 32x32px +const unsigned char curve_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x08, 0x88, 0x00, 0x00, 0x18, 0x48, 0x00, 0x00, 0x39, 0x24, 0x00, 0x00, 0x38, 0xa4, 0x00, + 0x00, 0x38, 0xa4, 0x00, 0x00, 0x38, 0xa4, 0x00, 0x00, 0x39, 0x24, 0x00, 0x00, 0x18, 0x48, 0x00, + 0x00, 0x08, 0x88, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'compr_off', 32x32px +const unsigned char compr_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, + 0x00, 0xfe, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x03, 0xff, 0xff, 0xc0, 0x0c, 0x00, 0x00, 0x30, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, + 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x23, 0x80, 0x00, 0x04, 0x24, 0x40, 0x00, 0x04, + 0x19, 0x20, 0x00, 0x08, 0x1b, 0xa0, 0x00, 0x08, 0x0b, 0xa0, 0x00, 0x30, 0x09, 0x3f, 0xff, 0xc0, + 0x04, 0x40, 0x03, 0x00, 0x03, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'compr_on', 32x32px +const unsigned char compr_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x0c, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x02, 0x40, + 0x00, 0x00, 0x19, 0x20, 0x00, 0x00, 0x04, 0xa0, 0x00, 0x00, 0x02, 0x90, 0x00, 0x20, 0x02, 0x90, + 0x00, 0x00, 0x00, 0x10, 0x00, 0xfe, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x0f, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0xf0, + 0x1f, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xf8, 0x1c, 0x7f, 0xff, 0xf8, 0x1b, 0xbf, 0xff, 0xf8, + 0x06, 0xdf, 0xff, 0xf0, 0x04, 0x5f, 0xff, 0xf0, 0x04, 0x5f, 0xff, 0xc0, 0x06, 0xc0, 0x00, 0x00, + 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'airblow_off', 32x32px +const unsigned char airblow_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x04, 0x40, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x70, 0x40, 0x00, 0x00, 0x70, 0x40, 0x00, 0x00, + 0x70, 0x40, 0x00, 0x00, 0x70, 0x40, 0x00, 0x00, 0x70, 0x40, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, + 0x04, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, 0x08, 0x01, 0x40, 0x00, 0x88, 0x00, 0xc0, 0x08, 0x90, + 0x00, 0x00, 0x04, 0x90, 0x00, 0x00, 0x04, 0xa0, 0x00, 0x00, 0x02, 0xa0, 0x00, 0x00, 0x02, 0x40, + 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfc, 0x01, 0x03, 0x00, 0x04, + 0x01, 0x03, 0x00, 0x04, 0x01, 0x03, 0x00, 0x04, 0x3f, 0xff, 0x00, 0x04, 0x01, 0x03, 0x00, 0x04, + 0x01, 0x03, 0x00, 0x04, 0x01, 0x03, 0x00, 0x04, 0x01, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00 +}; +// 'airblow_on', 32x32px +const unsigned char airblow_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x01, 0x80, 0x80, 0x00, + 0x03, 0x84, 0x40, 0x00, 0x07, 0x82, 0x40, 0x00, 0x0f, 0x89, 0x20, 0x00, 0x0f, 0x85, 0x20, 0x00, + 0x0f, 0x85, 0x20, 0x00, 0x0f, 0x85, 0x20, 0x00, 0x0f, 0x89, 0x20, 0x00, 0x07, 0x82, 0x40, 0x00, + 0x03, 0x84, 0x40, 0x00, 0x01, 0x80, 0x80, 0x08, 0x00, 0x81, 0x00, 0x88, 0x00, 0x06, 0x08, 0x90, + 0x00, 0x00, 0x04, 0x90, 0x00, 0x00, 0x04, 0xa0, 0x00, 0x00, 0x02, 0xa0, 0x00, 0x00, 0x02, 0x40, + 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xf8, + 0x00, 0xfc, 0xff, 0xf8, 0x00, 0xfc, 0xff, 0xf8, 0x00, 0x00, 0xff, 0xf8, 0x00, 0xfc, 0xff, 0xf8, + 0x00, 0xfc, 0xff, 0xf8, 0x00, 0xfc, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'firebox_off', 32x32px +const unsigned char firebox_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x08, 0x00, 0x00, 0x10, 0x08, 0x18, 0x00, 0x10, + 0x08, 0x0e, 0x00, 0x10, 0x08, 0x07, 0x80, 0x10, 0x08, 0x07, 0xc0, 0x10, 0x08, 0x03, 0xe0, 0x10, + 0x08, 0x01, 0xf0, 0x10, 0x08, 0x01, 0xf0, 0x10, 0x08, 0x13, 0xf1, 0x10, 0x08, 0x1f, 0xf9, 0x10, + 0x08, 0x3d, 0xf9, 0x10, 0x08, 0x3c, 0xfb, 0x10, 0x08, 0x78, 0x7f, 0x10, 0x08, 0x78, 0x3f, 0x10, + 0x08, 0x7c, 0x1f, 0x10, 0x08, 0x7e, 0x1f, 0x10, 0x08, 0x3f, 0x1e, 0x10, 0x08, 0x1e, 0x1c, 0x10, + 0x08, 0x0f, 0x38, 0x10, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'firebox_on', 32x32px +const unsigned char firebox_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x82, 0x00, 0x00, 0x10, 0x84, 0x00, 0x00, 0x08, 0x88, 0x00, + 0x02, 0x08, 0x88, 0x20, 0x01, 0x84, 0x10, 0xc0, 0x00, 0x60, 0x03, 0x00, 0x00, 0x10, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x07, 0xe7, 0xff, 0xe0, + 0x07, 0xf1, 0xff, 0xe0, 0x07, 0xf8, 0x7f, 0xe0, 0x07, 0xf8, 0x3f, 0xe0, 0x07, 0xfc, 0x1f, 0xe0, + 0x07, 0xfe, 0x0f, 0xe0, 0x07, 0xfe, 0x0f, 0xe0, 0x07, 0xec, 0x0e, 0xe0, 0x07, 0xe0, 0x06, 0xe0, + 0x07, 0xc2, 0x06, 0xe0, 0x07, 0xc3, 0x04, 0xe0, 0x07, 0x87, 0x80, 0xe0, 0x07, 0x87, 0xc0, 0xe0, + 0x07, 0x83, 0xe0, 0xe0, 0x07, 0x81, 0xe0, 0xe0, 0x07, 0xc0, 0xe1, 0xe0, 0x07, 0xe1, 0xe3, 0xe0, + 0x07, 0xf0, 0xc7, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'sand_off', 32x32px +const unsigned char sand_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, + 0x08, 0x80, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, + 0x70, 0x80, 0x00, 0x00, 0x70, 0x80, 0x01, 0xfe, 0x10, 0x80, 0x01, 0xfe, 0x08, 0x80, 0x00, 0xfc, + 0x04, 0x80, 0x00, 0x78, 0x02, 0x80, 0x00, 0x30, 0x01, 0x80, 0x00, 0x30, 0x00, 0x03, 0xf0, 0x30, + 0x00, 0x04, 0x08, 0x30, 0x00, 0x19, 0xe6, 0x30, 0x00, 0x16, 0x1a, 0x30, 0x00, 0x28, 0x05, 0x30, + 0x00, 0x48, 0x05, 0x30, 0x00, 0x50, 0x02, 0xb0, 0x00, 0x50, 0x02, 0xb0, 0x00, 0x50, 0x02, 0xb0, + 0x00, 0x50, 0x02, 0xb0, 0x00, 0x48, 0x05, 0x30, 0x00, 0x28, 0x05, 0x30, 0x00, 0x16, 0x1a, 0x70, + 0x00, 0x19, 0xe6, 0x60, 0x00, 0x06, 0x18, 0xc0, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'sand_on', 32x32px +const unsigned char sand_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0c, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, + 0x07, 0x19, 0x00, 0x00, 0x0f, 0x04, 0x80, 0x00, 0x0f, 0x12, 0x80, 0x00, 0x0f, 0x0a, 0x80, 0x00, + 0x0f, 0x12, 0x80, 0x00, 0x0f, 0x04, 0x81, 0xfe, 0x0f, 0x19, 0x01, 0xfe, 0x07, 0x02, 0x00, 0xfc, + 0x03, 0x0c, 0x00, 0x78, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, + 0x00, 0x03, 0xf0, 0x30, 0x00, 0x06, 0x18, 0x30, 0x00, 0x09, 0xe4, 0x30, 0x00, 0x17, 0xfa, 0x30, + 0x00, 0x37, 0xfa, 0x30, 0x00, 0x2f, 0xfd, 0x30, 0x00, 0x2f, 0xfd, 0x30, 0x00, 0x2f, 0xfd, 0x30, + 0x00, 0x2f, 0xfd, 0x30, 0x00, 0x37, 0xfa, 0x30, 0x00, 0x17, 0xfa, 0x30, 0x00, 0x09, 0xe4, 0x70, + 0x00, 0x06, 0x18, 0x60, 0x00, 0x01, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'table_off', 32x32px +const unsigned char table_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x10, 0x40, 0x00, + 0x00, 0x20, 0x20, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x7f, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xf8, + 0x7f, 0xff, 0xff, 0xf8, 0x18, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, + 0x18, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, + 0x18, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, + 0x18, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'table_on', 32x32px +const unsigned char table_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, + 0x00, 0x1f, 0xc0, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x50, 0x50, 0x00, 0x00, 0x90, 0x48, 0x00, 0x01, 0x10, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'cabin_off', 32x32px +const unsigned char cabin_off [] = { + 0x03, 0xff, 0xff, 0x80, 0x0f, 0xff, 0xff, 0xe0, 0x1f, 0x87, 0xc3, 0xf0, 0x1e, 0x0f, 0xe0, 0xf0, + 0x1c, 0x07, 0xc0, 0x70, 0x1c, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x00, 0x70, + 0x1c, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x00, 0x70, + 0x1c, 0x00, 0x00, 0x70, 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, + 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, + 0x1c, 0x7f, 0xfc, 0x70, 0x1c, 0x7f, 0xfc, 0x70, 0x1c, 0x7f, 0xfc, 0x70, 0x1f, 0xff, 0xff, 0xf0, + 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, + 0x07, 0x00, 0x01, 0xc0, 0x07, 0x00, 0x01, 0xc0, 0x07, 0x00, 0x01, 0xc0, 0x02, 0x00, 0x00, 0x80 +}; +// 'cabin_on', 32x32px +const unsigned char cabin_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x3c, 0x00, 0x01, 0xf0, 0x1f, 0x00, + 0x03, 0xf8, 0x3f, 0x80, 0x03, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0x80, + 0x03, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0x80, + 0x03, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'mute_off', 32x32px +const unsigned char mute_off [] = { + 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x01, 0x80, 0x03, 0x00, 0x02, 0x00, 0x00, 0x80, + 0x04, 0x00, 0x00, 0xc0, 0x08, 0x00, 0x01, 0xe0, 0x10, 0x00, 0x03, 0xf0, 0x20, 0x01, 0xc7, 0xc8, + 0x20, 0x02, 0x4f, 0x88, 0x40, 0x04, 0x5f, 0x04, 0x40, 0x08, 0x7e, 0x04, 0x40, 0x10, 0x7c, 0x04, + 0x80, 0x20, 0xfa, 0x02, 0x83, 0xc1, 0xf1, 0x02, 0x83, 0xc3, 0xe8, 0x82, 0x83, 0xc7, 0xc4, 0x82, + 0x83, 0xcf, 0xc4, 0x82, 0x83, 0xdf, 0x48, 0x82, 0x83, 0xfe, 0x41, 0x02, 0x40, 0x7c, 0x42, 0x04, + 0x40, 0xf8, 0x44, 0x04, 0x41, 0xf8, 0x40, 0x04, 0x23, 0xe4, 0x40, 0x08, 0x27, 0xc2, 0x40, 0x08, + 0x1f, 0x81, 0xc0, 0x10, 0x0f, 0x00, 0x00, 0x20, 0x0e, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x80, + 0x01, 0x80, 0x03, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'mute_on', 32x32px +const unsigned char mute_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x01, 0xff, 0xff, 0x00, + 0x03, 0xff, 0xff, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0xfc, 0x00, 0x1f, 0xfe, 0x38, 0x30, + 0x1f, 0xfc, 0x30, 0x70, 0x3f, 0xf8, 0x20, 0xf8, 0x3f, 0xf0, 0x01, 0xf8, 0x3f, 0xe0, 0x03, 0xf8, + 0x7f, 0xc0, 0x07, 0xfc, 0x7c, 0x00, 0x0f, 0xfc, 0x7c, 0x00, 0x1f, 0xfc, 0x7c, 0x00, 0x3f, 0xfc, + 0x7c, 0x00, 0x3f, 0xfc, 0x7c, 0x00, 0x3f, 0xfc, 0x7c, 0x00, 0x3f, 0xfc, 0x3f, 0x80, 0x3f, 0xf8, + 0x3f, 0x00, 0x3f, 0xf8, 0x3e, 0x00, 0x3f, 0xf8, 0x1c, 0x18, 0x3f, 0xf0, 0x18, 0x3c, 0x3f, 0xf0, + 0x00, 0x7e, 0x3f, 0xe0, 0x00, 0xff, 0xff, 0xc0, 0x01, 0xff, 0xff, 0x80, 0x01, 0xff, 0xff, 0x00, + 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'diesel_off', 32x32px +const unsigned char diesel_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xfe, 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x0c, 0x03, 0x98, 0x00, + 0x0f, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xdc, 0x00, 0x0f, 0xff, 0xec, 0x00, 0x0f, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xf8, 0x00, + 0x0f, 0xf7, 0xf8, 0x00, 0x0f, 0xf7, 0xf8, 0x00, 0x0f, 0xe3, 0xf8, 0x00, 0x0f, 0xe3, 0xf8, 0x00, + 0x0f, 0xe3, 0xf8, 0x00, 0x0f, 0xf7, 0xf8, 0x00, 0x0f, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xf8, 0x00, + 0x0f, 0xff, 0xf8, 0x00, 0x0f, 0xff, 0xf8, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'diesel_on', 32x32px +const unsigned char diesel_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x40, + 0x00, 0x00, 0x07, 0x20, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x03, 0x24, + 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, + 0x00, 0x1c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + + +// 'accPanel_off', 32x32px +const unsigned char accPanel_off [] = { + 0x00, 0x01, 0xfc, 0x10, 0x00, 0x01, 0xfc, 0x28, 0x00, 0x01, 0xfc, 0x44, 0x1f, 0xf1, 0xfc, 0x82, + 0x3f, 0xf9, 0xfd, 0x01, 0x78, 0x3d, 0xfd, 0x01, 0x77, 0xdd, 0xfa, 0x02, 0x6c, 0x6d, 0xf4, 0x04, + 0x58, 0x35, 0xf4, 0x08, 0x50, 0x15, 0xe8, 0x08, 0x70, 0x1d, 0xe8, 0x10, 0x70, 0x1d, 0xd0, 0x10, + 0x78, 0x3d, 0xd0, 0x20, 0x7c, 0x7d, 0xa0, 0x40, 0x7f, 0xfd, 0xa0, 0x40, 0x7f, 0xfd, 0xa0, 0x80, + 0x78, 0x3d, 0x40, 0x80, 0x77, 0xdd, 0x40, 0x80, 0x6c, 0x6d, 0x41, 0x00, 0x58, 0x34, 0x81, 0x00, + 0x50, 0x14, 0x81, 0x00, 0x70, 0x1c, 0x82, 0x00, 0x70, 0x1d, 0x02, 0x00, 0x78, 0x3d, 0x02, 0x00, + 0x7c, 0x7d, 0x02, 0x00, 0x3f, 0xf9, 0x04, 0x00, 0x1f, 0xf1, 0x04, 0x00, 0x00, 0x01, 0x04, 0x00, + 0x00, 0x01, 0x04, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'accPanel_on', 32x32px +const unsigned char accPanel_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x7c, + 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x03, 0xf8, + 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x0f, 0xe0, + 0x00, 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x1f, 0x80, 0x00, 0x00, 0x1f, 0x80, 0x00, 0x00, 0x1f, 0x00, + 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x03, 0x80, 0x3e, 0x00, 0x07, 0xc0, 0x7e, 0x00, + 0x0f, 0xe0, 0x7e, 0x00, 0x0f, 0xe0, 0x7c, 0x00, 0x0f, 0xe0, 0xfc, 0x00, 0x07, 0xc0, 0xfc, 0x00, + 0x03, 0x80, 0xfc, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xf8, 0x00, + 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'crossS1_off', 32x32px +const unsigned char crossS1_off [] = { + 0x01, 0xc0, 0x07, 0x00, 0x06, 0x20, 0x08, 0xc0, 0x08, 0x20, 0x08, 0x20, 0x04, 0x10, 0x10, 0x40, + 0x04, 0x10, 0x10, 0x40, 0x02, 0x08, 0x20, 0x80, 0x02, 0x08, 0x20, 0x80, 0x01, 0x04, 0x41, 0x00, + 0x01, 0x02, 0x81, 0x00, 0x00, 0x82, 0x82, 0x00, 0x00, 0x41, 0x04, 0x00, 0x00, 0x41, 0x04, 0x00, + 0x00, 0x22, 0x08, 0x00, 0x00, 0x14, 0x10, 0x00, 0x00, 0x14, 0x10, 0x00, 0x00, 0x08, 0x20, 0x00, + 0x00, 0x18, 0x30, 0x00, 0x00, 0x10, 0x50, 0x00, 0x00, 0x20, 0x48, 0x00, 0x00, 0x20, 0x88, 0x00, + 0x00, 0x41, 0x04, 0x00, 0x00, 0x41, 0x04, 0x00, 0x00, 0x82, 0x82, 0x00, 0x01, 0x02, 0x81, 0x00, + 0x01, 0x04, 0x41, 0x00, 0x02, 0x08, 0x20, 0x80, 0x02, 0x08, 0x20, 0x80, 0x04, 0x10, 0x10, 0x40, + 0x04, 0x10, 0x10, 0x40, 0x08, 0x20, 0x08, 0x20, 0x06, 0x20, 0x08, 0xc0, 0x01, 0xc0, 0x07, 0x00 +}; +// 'crossS1_on', 32x32px +const unsigned char crossS1_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x07, 0x00, 0x07, 0xc0, 0x07, 0xc0, 0x03, 0xe0, 0x0f, 0x80, + 0x03, 0xe0, 0x0f, 0x80, 0x01, 0xf0, 0x1f, 0x00, 0x01, 0xf0, 0x1f, 0x00, 0x00, 0xf8, 0x3e, 0x00, + 0x00, 0xfc, 0x7e, 0x00, 0x00, 0x7c, 0x7c, 0x00, 0x00, 0x3e, 0xf8, 0x00, 0x00, 0x3e, 0xf8, 0x00, + 0x00, 0x1d, 0xf0, 0x00, 0x00, 0x0b, 0xe0, 0x00, 0x00, 0x0b, 0xe0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x0f, 0xa0, 0x00, 0x00, 0x1f, 0xb0, 0x00, 0x00, 0x1f, 0x70, 0x00, + 0x00, 0x3e, 0xf8, 0x00, 0x00, 0x3e, 0xf8, 0x00, 0x00, 0x7c, 0x7c, 0x00, 0x00, 0xfc, 0x7e, 0x00, + 0x00, 0xf8, 0x3e, 0x00, 0x01, 0xf0, 0x1f, 0x00, 0x01, 0xf0, 0x1f, 0x00, 0x03, 0xe0, 0x0f, 0x80, + 0x03, 0xe0, 0x0f, 0x80, 0x07, 0xc0, 0x07, 0xc0, 0x01, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'crossS2_off', 32x32px +const unsigned char crossS2_off [] = { + 0x00, 0xe0, 0x0e, 0x00, 0x03, 0x10, 0x11, 0x80, 0x04, 0x08, 0x20, 0x40, 0x02, 0x08, 0x20, 0x80, + 0x02, 0x04, 0x40, 0x80, 0x01, 0x04, 0x41, 0x00, 0x01, 0x02, 0x81, 0x00, 0x00, 0x82, 0x82, 0x00, + 0x00, 0x81, 0x02, 0x00, 0x00, 0x41, 0x04, 0x00, 0x00, 0x21, 0x08, 0x00, 0x00, 0x22, 0x08, 0x00, + 0x00, 0x22, 0x08, 0x00, 0x00, 0x12, 0x10, 0x00, 0x00, 0x12, 0x10, 0x00, 0x00, 0x12, 0x10, 0x00, + 0x00, 0x12, 0x10, 0x00, 0x00, 0x12, 0x10, 0x00, 0x00, 0x12, 0x10, 0x00, 0x00, 0x22, 0x08, 0x00, + 0x00, 0x22, 0x08, 0x00, 0x00, 0x21, 0x08, 0x00, 0x00, 0x41, 0x04, 0x00, 0x00, 0x81, 0x02, 0x00, + 0x00, 0x82, 0x82, 0x00, 0x01, 0x02, 0x81, 0x00, 0x01, 0x04, 0x41, 0x00, 0x02, 0x04, 0x40, 0x80, + 0x02, 0x08, 0x20, 0x80, 0x04, 0x08, 0x20, 0x40, 0x03, 0x10, 0x11, 0x80, 0x00, 0xe0, 0x0e, 0x00 +}; +// 'crossS2_on', 32x32px +const unsigned char crossS2_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x03, 0xf0, 0x1f, 0x80, 0x01, 0xf0, 0x1f, 0x00, + 0x01, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0xfc, 0x7e, 0x00, 0x00, 0x7c, 0x7c, 0x00, + 0x00, 0x7c, 0xfc, 0x00, 0x00, 0x3c, 0xf8, 0x00, 0x00, 0x1c, 0xf0, 0x00, 0x00, 0x19, 0xf0, 0x00, + 0x00, 0x19, 0xf0, 0x00, 0x00, 0x09, 0xe0, 0x00, 0x00, 0x09, 0xe0, 0x00, 0x00, 0x09, 0xe0, 0x00, + 0x00, 0x09, 0xe0, 0x00, 0x00, 0x09, 0xe0, 0x00, 0x00, 0x09, 0xe0, 0x00, 0x00, 0x19, 0xf0, 0x00, + 0x00, 0x19, 0xf0, 0x00, 0x00, 0x1c, 0xf0, 0x00, 0x00, 0x3c, 0xf8, 0x00, 0x00, 0x7c, 0xfc, 0x00, + 0x00, 0x7c, 0x7c, 0x00, 0x00, 0xfc, 0x7e, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x01, 0xf8, 0x3f, 0x00, + 0x01, 0xf0, 0x1f, 0x00, 0x03, 0xf0, 0x1f, 0x80, 0x00, 0xe0, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'movG_off', 32x32px +const unsigned char movG_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x03, 0x20, 0x00, 0x00, 0x0c, 0x20, 0x00, 0x00, 0x10, 0x20, + 0x00, 0x00, 0x60, 0x20, 0x00, 0x01, 0x80, 0x20, 0x00, 0x06, 0x00, 0x20, 0x00, 0x08, 0x00, 0x20, + 0x00, 0x30, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x20, 0x03, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x20, + 0x03, 0x00, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x20, 0x00, 0x30, 0x00, 0x20, 0x00, 0x08, 0x00, 0x20, + 0x00, 0x06, 0x00, 0x20, 0x00, 0x01, 0x80, 0x20, 0x00, 0x00, 0x60, 0x20, 0x00, 0x00, 0x10, 0x20, + 0x00, 0x00, 0x0c, 0x20, 0x00, 0x00, 0x03, 0x20, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'movG_on', 32x32px +const unsigned char movG_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x0f, 0xc0, + 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x07, 0xff, 0xc0, + 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xc0, + 0x00, 0xff, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x07, 0xff, 0xc0, + 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x00, 0x0f, 0xc0, + 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'movR_off', 32x32px +const unsigned char movR_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x04, 0xc0, 0x00, 0x00, 0x04, 0x30, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, + 0x04, 0x06, 0x00, 0x00, 0x04, 0x01, 0x80, 0x00, 0x04, 0x00, 0x60, 0x00, 0x04, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x0c, 0x00, 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0xc0, 0x04, 0x00, 0x00, 0x20, + 0x04, 0x00, 0x00, 0xc0, 0x04, 0x00, 0x03, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x04, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x60, 0x00, 0x04, 0x01, 0x80, 0x00, 0x04, 0x06, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, + 0x04, 0x30, 0x00, 0x00, 0x04, 0xc0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'movR_on', 32x32px +const unsigned char movR_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, + 0x03, 0xf8, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0x03, 0xff, 0xe0, 0x00, + 0x03, 0xff, 0xf0, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xff, 0xc0, + 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x03, 0xff, 0xe0, 0x00, + 0x03, 0xff, 0x80, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, + 0x03, 0xc0, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'outTT_off', 32x32px +const unsigned char outTT_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, + 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, + 0x3c, 0x3c, 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x3c, 0x3c, 0x3c, + 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'panG_off', 32x32px +const unsigned char panG_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x10, 0x36, 0x00, 0x00, 0x10, 0x3e, 0x00, 0x00, 0x10, + 0x3e, 0x00, 0x00, 0x10, 0x3e, 0x00, 0x00, 0x10, 0x7f, 0x00, 0x00, 0x10, 0x7f, 0x00, 0x00, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'panG_on', 32x32px +const unsigned char panG_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1c, 0x00, + 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x01, 0x70, 0x00, + 0x00, 0x02, 0x20, 0x00, 0x00, 0x07, 0x40, 0x00, 0x00, 0x0b, 0x80, 0x00, 0x00, 0x11, 0x00, 0x00, + 0x00, 0x3a, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x01, 0xd0, 0x00, 0x00, + 0x02, 0xe0, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x0e, 0x80, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x22, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'panR_off', 32x32px +const unsigned char panR_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x3e, 0x00, 0x00, 0x10, 0x3e, 0x00, 0x00, 0x10, + 0x3e, 0x00, 0x00, 0x10, 0x3e, 0x00, 0x00, 0x10, 0x7f, 0x00, 0x00, 0x10, 0x7f, 0x00, 0x00, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'panR_on', 32x32px +const unsigned char panR_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x13, 0x9c, 0xe7, 0x38, + 0x13, 0x9c, 0xe7, 0x38, 0x1f, 0xff, 0xff, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'rotTT_off', 32x32px +const unsigned char rotTT_off [] = { + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x40, 0x04, 0x00, 0x01, 0x80, 0x03, 0x00, + 0x02, 0x07, 0xc0, 0x80, 0x04, 0x18, 0x30, 0x80, 0x04, 0x20, 0x08, 0x40, 0x08, 0x40, 0x04, 0x20, + 0x08, 0x80, 0x02, 0x20, 0x08, 0x80, 0x02, 0x20, 0x11, 0x00, 0x01, 0x10, 0x11, 0x00, 0x01, 0x10, + 0x11, 0x00, 0x01, 0x10, 0x11, 0x00, 0x01, 0x10, 0x11, 0x08, 0x21, 0x10, 0x10, 0x98, 0x32, 0x10, + 0x08, 0xa8, 0x2a, 0x20, 0x08, 0x48, 0x24, 0x20, 0x08, 0x08, 0x20, 0x20, 0x04, 0x08, 0x20, 0x40, + 0x02, 0x08, 0x20, 0x80, 0x04, 0x08, 0x20, 0x40, 0x08, 0x08, 0x20, 0x20, 0x1f, 0xf8, 0x3f, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x31, 0x00, 0x00, 0x49, 0x4a, 0x80, 0x00, 0xc9, 0x49, 0x00, + 0x00, 0x46, 0x48, 0x00, 0x00, 0x49, 0x48, 0x00, 0x00, 0x49, 0x48, 0x00, 0x00, 0x46, 0x30, 0x00 +}; +// 'rotTT_on', 32x32px +const unsigned char rotTT_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x7f, 0xfc, 0x00, + 0x01, 0xf8, 0x3f, 0x00, 0x03, 0xe0, 0x0f, 0x00, 0x03, 0xc0, 0x07, 0x80, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0x00, 0x01, 0xc0, 0x07, 0x00, 0x01, 0xc0, 0x0e, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x00, 0xe0, + 0x0e, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x01, 0xe0, + 0x07, 0x10, 0x11, 0xc0, 0x07, 0xb0, 0x1b, 0xc0, 0x07, 0xf0, 0x1f, 0xc0, 0x03, 0xf0, 0x1f, 0x80, + 0x01, 0xf0, 0x1f, 0x00, 0x03, 0xf0, 0x1f, 0x80, 0x07, 0xf0, 0x1f, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'semG_off', 32x32px +const unsigned char semG_off [] = { + 0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, + 0x00, 0x38, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00 +}; +// 'semG_on', 32x32px +const unsigned char semG_on [] = { + 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x07, 0x38, 0x00, 0x00, 0x06, 0x18, + 0x00, 0x00, 0x06, 0x18, 0x00, 0x00, 0x07, 0x38, 0x00, 0x00, 0x0b, 0xf0, 0x00, 0x00, 0x11, 0xe0, + 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x01, 0x10, 0x00, + 0x00, 0x02, 0x20, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x11, 0x00, 0x00, + 0x00, 0x22, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'semR_off', 32x32px +const unsigned char semR_off [] = { + 0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, + 0x00, 0x38, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00 +}; +// 'semR_on', 32x32px +const unsigned char semR_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x3f, 0xff, 0xe7, 0x00, 0x20, 0x00, 0xc3, + 0x00, 0x20, 0x00, 0xc3, 0x00, 0x3f, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x3c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'semY_off', 32x32px +const unsigned char semY_off [] = { + 0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, + 0x00, 0x38, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00 +}; +// 'semY_on', 32x32px +const unsigned char semY_on [] = { + 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x07, 0x38, 0x00, 0x00, 0x06, 0x18, + 0x00, 0x00, 0x06, 0x18, 0x00, 0x00, 0x07, 0x38, 0x00, 0x00, 0x0b, 0xf0, 0x00, 0x00, 0x11, 0xe0, + 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x01, 0x10, 0x00, + 0x00, 0x02, 0x21, 0xe0, 0x00, 0x04, 0x43, 0xf0, 0x00, 0x08, 0x87, 0x38, 0x00, 0x11, 0x06, 0x18, + 0x00, 0x22, 0x06, 0x18, 0x00, 0x14, 0x07, 0x38, 0x00, 0x08, 0x0b, 0xf0, 0x00, 0x00, 0x11, 0xe0, + 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x01, 0x10, 0x00, + 0x00, 0x02, 0x20, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x11, 0x00, 0x00, + 0x00, 0x22, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'sig_off', 32x32px +const unsigned char sig_off [] = { + 0x01, 0xff, 0xfe, 0x00, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xff, 0x00, 0x07, 0xf0, 0x3f, 0x80, + 0x07, 0xef, 0xdf, 0x80, 0x07, 0xd8, 0x6f, 0x80, 0x07, 0xb0, 0x37, 0x80, 0x07, 0x60, 0x1b, 0x80, + 0x07, 0x60, 0x1b, 0x80, 0x07, 0xe0, 0x1f, 0x80, 0x07, 0xe0, 0x1f, 0x80, 0x07, 0xe0, 0x1f, 0x80, + 0x07, 0xf0, 0x3f, 0x80, 0x07, 0xf8, 0x7f, 0x80, 0x07, 0xff, 0xff, 0x80, 0x07, 0xff, 0xff, 0x80, + 0x07, 0xff, 0xff, 0x80, 0x07, 0xf0, 0x3f, 0x80, 0x07, 0xef, 0xdf, 0x80, 0x07, 0xd8, 0x6f, 0x80, + 0x07, 0xb0, 0x37, 0x80, 0x07, 0x60, 0x1b, 0x80, 0x07, 0x60, 0x1b, 0x80, 0x07, 0xe0, 0x1f, 0x80, + 0x07, 0xe0, 0x1f, 0x80, 0x07, 0xe0, 0x1f, 0x80, 0x07, 0xf0, 0x3f, 0x80, 0x07, 0xf8, 0x7f, 0x80, + 0x07, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0x00, 0x03, 0xff, 0xff, 0x00, 0x01, 0xff, 0xfe, 0x00 +}; +// 'sigG_on', 32x32px +const unsigned char sigG_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'sigRY_on', 32x32px +const unsigned char sigRY_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, + 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x3f, 0xf0, 0x00, + 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x1f, 0xe0, 0x00, + 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'tripleL_off', 32x32px +const unsigned char tripleL_off [] = { + 0x02, 0x0f, 0xe0, 0x80, 0x05, 0x0f, 0xe1, 0xc0, 0x08, 0x8f, 0xe3, 0xe0, 0x10, 0x4f, 0xe7, 0xf0, + 0x20, 0x2f, 0xef, 0xf8, 0x20, 0x2f, 0xef, 0xf8, 0x10, 0x17, 0xff, 0xf0, 0x08, 0x0b, 0xdf, 0xe0, + 0x04, 0x0b, 0xdf, 0xc0, 0x04, 0x05, 0xdf, 0xc0, 0x02, 0x05, 0xdf, 0x80, 0x02, 0x02, 0xdf, 0x80, + 0x01, 0x02, 0xdf, 0x00, 0x00, 0x81, 0x5e, 0x00, 0x00, 0x81, 0x5e, 0x00, 0x00, 0x41, 0x5c, 0x00, + 0x00, 0x40, 0x9c, 0x00, 0x00, 0x40, 0x9c, 0x00, 0x00, 0x20, 0x98, 0x00, 0x00, 0x20, 0x58, 0x00, + 0x00, 0x20, 0x58, 0x00, 0x00, 0x10, 0x50, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x10, 0x10, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'tripleL_on', 32x32px +const unsigned char tripleL_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, + 0x1f, 0xc0, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, + 0x03, 0xf0, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, + 0x00, 0xfc, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, + 0x00, 0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x80, 0x00, + 0x00, 0x1f, 0x80, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x0f, 0xc0, 0x00, + 0x00, 0x0f, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'tripleR_off', 32x32px +const unsigned char tripleR_off [] = { + 0x02, 0x0f, 0xe0, 0x80, 0x07, 0x0f, 0xe1, 0x40, 0x0f, 0x8f, 0xe2, 0x20, 0x1f, 0xcf, 0xe4, 0x10, + 0x3f, 0xef, 0xe8, 0x08, 0x3f, 0xef, 0xe8, 0x08, 0x1f, 0xff, 0xd0, 0x10, 0x0f, 0xf7, 0xa0, 0x20, + 0x07, 0xf7, 0xa0, 0x40, 0x07, 0xf7, 0x40, 0x40, 0x03, 0xf7, 0x40, 0x80, 0x03, 0xf6, 0x80, 0x80, + 0x01, 0xf6, 0x81, 0x00, 0x00, 0xf5, 0x02, 0x00, 0x00, 0xf5, 0x02, 0x00, 0x00, 0x75, 0x04, 0x00, + 0x00, 0x72, 0x04, 0x00, 0x00, 0x72, 0x04, 0x00, 0x00, 0x32, 0x08, 0x00, 0x00, 0x34, 0x08, 0x00, + 0x00, 0x34, 0x08, 0x00, 0x00, 0x14, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x10, 0x10, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'tripleR_on', 32x32px +const unsigned char tripleR_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x03, 0xe0, + 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x1f, 0xc0, + 0x00, 0x00, 0x1f, 0x80, 0x00, 0x00, 0x3f, 0x80, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x7f, 0x00, + 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xf8, 0x00, + 0x00, 0x01, 0xf8, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x03, 0xf0, 0x00, + 0x00, 0x03, 0xf0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x07, 0xe0, 0x00, + 0x00, 0x07, 0xe0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'tripleS_off', 32x32px +const unsigned char tripleS_off [] = { + 0x02, 0x0f, 0xe0, 0x80, 0x07, 0x08, 0x21, 0xc0, 0x0f, 0x88, 0x23, 0xe0, 0x1f, 0xc8, 0x27, 0xf0, + 0x3f, 0xe8, 0x2f, 0xf8, 0x3f, 0xe8, 0x2f, 0xf8, 0x1f, 0xf8, 0x3f, 0xf0, 0x0f, 0xf0, 0x1f, 0xe0, + 0x07, 0xf0, 0x1f, 0xc0, 0x07, 0xf0, 0x1f, 0xc0, 0x03, 0xf0, 0x1f, 0x80, 0x03, 0xf0, 0x1f, 0x80, + 0x01, 0xf0, 0x1f, 0x00, 0x00, 0xf0, 0x1e, 0x00, 0x00, 0xf0, 0x1e, 0x00, 0x00, 0x70, 0x1c, 0x00, + 0x00, 0x70, 0x1c, 0x00, 0x00, 0x70, 0x1c, 0x00, 0x00, 0x30, 0x18, 0x00, 0x00, 0x30, 0x18, 0x00, + 0x00, 0x30, 0x18, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x10, 0x10, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'tripleS_on', 32x32px +const unsigned char tripleS_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'turnL_off', 32x32px +const unsigned char turnL_off [] = { + 0x02, 0x0f, 0xe0, 0x00, 0x05, 0x0f, 0xe0, 0x00, 0x08, 0x8f, 0xe0, 0x00, 0x10, 0x4f, 0xe0, 0x00, + 0x20, 0x2f, 0xe0, 0x00, 0x20, 0x2f, 0xe0, 0x00, 0x10, 0x17, 0xe0, 0x00, 0x08, 0x0b, 0xe0, 0x00, + 0x04, 0x0b, 0xe0, 0x00, 0x04, 0x05, 0xe0, 0x00, 0x02, 0x05, 0xe0, 0x00, 0x02, 0x02, 0xe0, 0x00, + 0x01, 0x02, 0xe0, 0x00, 0x00, 0x81, 0x60, 0x00, 0x00, 0x81, 0x60, 0x00, 0x00, 0x41, 0x60, 0x00, + 0x00, 0x40, 0xa0, 0x00, 0x00, 0x40, 0xa0, 0x00, 0x00, 0x20, 0xa0, 0x00, 0x00, 0x20, 0x40, 0x00, + 0x00, 0x20, 0x40, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x10, 0x20, 0x00, + 0x00, 0x10, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'turnLS_off', 32x32px +const unsigned char turnLS_off [] = { + 0x02, 0x0f, 0xe0, 0x00, 0x07, 0x08, 0x20, 0x00, 0x0f, 0x88, 0x20, 0x00, 0x1f, 0xc8, 0x20, 0x00, + 0x3f, 0xe8, 0x20, 0x00, 0x3f, 0xe8, 0x20, 0x00, 0x1f, 0xf8, 0x20, 0x00, 0x0f, 0xf0, 0x20, 0x00, + 0x07, 0xf0, 0x20, 0x00, 0x07, 0xf0, 0x20, 0x00, 0x03, 0xf0, 0x20, 0x00, 0x03, 0xf0, 0x20, 0x00, + 0x01, 0xf0, 0x20, 0x00, 0x00, 0xf0, 0x20, 0x00, 0x00, 0xf0, 0x20, 0x00, 0x00, 0x70, 0x20, 0x00, + 0x00, 0x70, 0x20, 0x00, 0x00, 0x70, 0x20, 0x00, 0x00, 0x30, 0x20, 0x00, 0x00, 0x30, 0x20, 0x00, + 0x00, 0x30, 0x20, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x10, 0x20, 0x00, + 0x00, 0x10, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'turnR_off', 32x32px +const unsigned char turnR_off [] = { + 0x00, 0x0f, 0xe0, 0x80, 0x00, 0x0f, 0xe1, 0x40, 0x00, 0x0f, 0xe2, 0x20, 0x00, 0x0f, 0xe4, 0x10, + 0x00, 0x0f, 0xe8, 0x08, 0x00, 0x0f, 0xe8, 0x08, 0x00, 0x0f, 0xd0, 0x10, 0x00, 0x0f, 0xa0, 0x20, + 0x00, 0x0f, 0xa0, 0x40, 0x00, 0x0f, 0x40, 0x40, 0x00, 0x0f, 0x40, 0x80, 0x00, 0x0e, 0x80, 0x80, + 0x00, 0x0e, 0x81, 0x00, 0x00, 0x0d, 0x02, 0x00, 0x00, 0x0d, 0x02, 0x00, 0x00, 0x0d, 0x04, 0x00, + 0x00, 0x0a, 0x04, 0x00, 0x00, 0x0a, 0x04, 0x00, 0x00, 0x0a, 0x08, 0x00, 0x00, 0x04, 0x08, 0x00, + 0x00, 0x04, 0x08, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, + 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'turnRS_off', 32x32px +const unsigned char turnRS_off [] = { + 0x00, 0x0f, 0xe0, 0x80, 0x00, 0x08, 0x21, 0xc0, 0x00, 0x08, 0x23, 0xe0, 0x00, 0x08, 0x27, 0xf0, + 0x00, 0x08, 0x2f, 0xf8, 0x00, 0x08, 0x2f, 0xf8, 0x00, 0x08, 0x3f, 0xf0, 0x00, 0x08, 0x1f, 0xe0, + 0x00, 0x08, 0x1f, 0xc0, 0x00, 0x08, 0x1f, 0xc0, 0x00, 0x08, 0x1f, 0x80, 0x00, 0x08, 0x1f, 0x80, + 0x00, 0x08, 0x1f, 0x00, 0x00, 0x08, 0x1e, 0x00, 0x00, 0x08, 0x1e, 0x00, 0x00, 0x08, 0x1c, 0x00, + 0x00, 0x08, 0x1c, 0x00, 0x00, 0x08, 0x1c, 0x00, 0x00, 0x08, 0x18, 0x00, 0x00, 0x08, 0x18, 0x00, + 0x00, 0x08, 0x18, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, + 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +// 'keypad_off', 32x32px +const unsigned char keypad_off [] = { + 0x03, 0xff, 0xff, 0x80, 0x04, 0x00, 0x00, 0x40, 0x08, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x10, + 0x13, 0xe7, 0xcf, 0x90, 0x13, 0xe7, 0xcf, 0x90, 0x13, 0xe7, 0xcf, 0x90, 0x13, 0xe7, 0xcf, 0x90, + 0x13, 0xe7, 0xcf, 0x90, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x13, 0xe7, 0xcf, 0x90, + 0x13, 0xe7, 0xcf, 0x90, 0x13, 0xe7, 0xcf, 0x90, 0x13, 0xe7, 0xcf, 0x90, 0x13, 0xe7, 0xcf, 0x90, + 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x13, 0xe7, 0xcf, 0x90, 0x13, 0xe7, 0xcf, 0x90, + 0x13, 0xe7, 0xcf, 0x90, 0x13, 0xe7, 0xcf, 0x90, 0x13, 0xe7, 0xcf, 0x90, 0x10, 0x00, 0x00, 0x10, + 0x10, 0x00, 0x00, 0x10, 0x10, 0x07, 0xc0, 0x10, 0x10, 0x07, 0xc0, 0x10, 0x10, 0x07, 0xc0, 0x10, + 0x10, 0x07, 0xc0, 0x10, 0x08, 0x07, 0xc0, 0x20, 0x04, 0x00, 0x00, 0x40, 0x03, 0xff, 0xff, 0x80 +}; +// 'keypad_on', 32x32px +const unsigned char keypad_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0x80, 0x07, 0xff, 0xff, 0xc0, 0x0f, 0xff, 0xff, 0xe0, + 0x0c, 0x18, 0x30, 0x60, 0x0c, 0x18, 0x30, 0x60, 0x0c, 0x18, 0x30, 0x60, 0x0c, 0x18, 0x30, 0x60, + 0x0c, 0x18, 0x30, 0x60, 0x0f, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xe0, 0x0c, 0x18, 0x30, 0x60, + 0x0c, 0x18, 0x30, 0x60, 0x0c, 0x18, 0x30, 0x60, 0x0c, 0x18, 0x30, 0x60, 0x0c, 0x18, 0x30, 0x60, + 0x0f, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xe0, 0x0c, 0x18, 0x30, 0x60, 0x0c, 0x18, 0x30, 0x60, + 0x0c, 0x18, 0x30, 0x60, 0x0c, 0x18, 0x30, 0x60, 0x0c, 0x18, 0x30, 0x60, 0x0f, 0xff, 0xff, 0xe0, + 0x0f, 0xff, 0xff, 0xe0, 0x0f, 0xf8, 0x3f, 0xe0, 0x0f, 0xf8, 0x3f, 0xe0, 0x0f, 0xf8, 0x3f, 0xe0, + 0x0f, 0xf8, 0x3f, 0xe0, 0x07, 0xf8, 0x3f, 0xc0, 0x03, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00 +}; +// 'dcrossD1_off', 32x32px +const unsigned char dcrossD1_off [] = { + 0x00, 0xe0, 0x0e, 0x00, 0x03, 0xf0, 0x11, 0x80, 0x07, 0xf8, 0x20, 0x40, 0x03, 0xf8, 0x20, 0x80, + 0x03, 0xfc, 0x40, 0x80, 0x01, 0xfc, 0x41, 0x00, 0x01, 0xfe, 0x81, 0x00, 0x00, 0xfe, 0x82, 0x00, + 0x00, 0xfe, 0x02, 0x00, 0x00, 0x7e, 0x04, 0x00, 0x00, 0x3e, 0x08, 0x00, 0x00, 0x3c, 0x08, 0x00, + 0x00, 0x3c, 0x08, 0x00, 0x00, 0x1c, 0x10, 0x00, 0x00, 0x1c, 0x10, 0x00, 0x00, 0x1c, 0x10, 0x00, + 0x00, 0x1c, 0x10, 0x00, 0x00, 0x1c, 0x10, 0x00, 0x00, 0x1c, 0x10, 0x00, 0x00, 0x3c, 0x08, 0x00, + 0x00, 0x3c, 0x08, 0x00, 0x00, 0x3e, 0x08, 0x00, 0x00, 0x7e, 0x04, 0x00, 0x00, 0xfe, 0x02, 0x00, + 0x00, 0xfe, 0x82, 0x00, 0x01, 0xfe, 0x81, 0x00, 0x01, 0xfc, 0x41, 0x00, 0x03, 0xfc, 0x40, 0x80, + 0x03, 0xf8, 0x20, 0x80, 0x07, 0xf8, 0x20, 0x40, 0x03, 0xf0, 0x11, 0x80, 0x00, 0xe0, 0x0e, 0x00 +}; +// 'dcrossD1_on', 32x32px +const unsigned char dcrossD1_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x1f, 0x80, 0x00, 0x00, 0x1f, 0x00, + 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x7c, 0x00, + 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, + 0x00, 0x01, 0xf0, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x01, 0xe0, 0x00, + 0x00, 0x01, 0xe0, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x01, 0xf0, 0x00, + 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0x00, + 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x3f, 0x00, + 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x80, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'dcrossD2_off', 32x32px +const unsigned char dcrossD2_off [] = { + 0x00, 0xe0, 0x0e, 0x00, 0x03, 0x10, 0x1f, 0x80, 0x04, 0x08, 0x3f, 0xc0, 0x02, 0x08, 0x3f, 0x80, + 0x02, 0x04, 0x7f, 0x80, 0x01, 0x04, 0x7f, 0x00, 0x01, 0x02, 0xff, 0x00, 0x00, 0x82, 0xfe, 0x00, + 0x00, 0x80, 0xfe, 0x00, 0x00, 0x40, 0xfc, 0x00, 0x00, 0x20, 0xf8, 0x00, 0x00, 0x20, 0x78, 0x00, + 0x00, 0x20, 0x78, 0x00, 0x00, 0x10, 0x70, 0x00, 0x00, 0x10, 0x70, 0x00, 0x00, 0x10, 0x70, 0x00, + 0x00, 0x10, 0x70, 0x00, 0x00, 0x10, 0x70, 0x00, 0x00, 0x10, 0x70, 0x00, 0x00, 0x20, 0x78, 0x00, + 0x00, 0x20, 0x78, 0x00, 0x00, 0x20, 0xf8, 0x00, 0x00, 0x40, 0xfc, 0x00, 0x00, 0x80, 0xfe, 0x00, + 0x00, 0x82, 0xfe, 0x00, 0x01, 0x02, 0xff, 0x00, 0x01, 0x04, 0x7f, 0x00, 0x02, 0x04, 0x7f, 0x80, + 0x02, 0x08, 0x3f, 0x80, 0x04, 0x08, 0x3f, 0xc0, 0x03, 0x10, 0x1f, 0x80, 0x00, 0xe0, 0x0e, 0x00 +}; +// 'dcrossD2_on', 32x32px +const unsigned char dcrossD2_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, + 0x01, 0xf8, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x00, 0x7e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, + 0x00, 0x1f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, + 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, + 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, + 0x00, 0x7c, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, + 0x01, 0xf0, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'dcrossS1_off', 32x32px +const unsigned char dcrossS1_off [] = { + 0x01, 0xc0, 0x07, 0x00, 0x07, 0xe0, 0x08, 0xc0, 0x0f, 0xe0, 0x08, 0x20, 0x07, 0xf0, 0x10, 0x40, + 0x07, 0xf0, 0x10, 0x40, 0x03, 0xf8, 0x20, 0x80, 0x03, 0xf8, 0x20, 0x80, 0x01, 0xfc, 0x41, 0x00, + 0x01, 0xfe, 0x81, 0x00, 0x00, 0xfe, 0x82, 0x00, 0x00, 0x7d, 0x04, 0x00, 0x00, 0x7d, 0x04, 0x00, + 0x00, 0x3a, 0x08, 0x00, 0x00, 0x14, 0x10, 0x00, 0x00, 0x14, 0x10, 0x00, 0x00, 0x08, 0x20, 0x00, + 0x00, 0x18, 0x30, 0x00, 0x00, 0x10, 0x50, 0x00, 0x00, 0x20, 0x58, 0x00, 0x00, 0x20, 0xb8, 0x00, + 0x00, 0x41, 0x7c, 0x00, 0x00, 0x41, 0x7c, 0x00, 0x00, 0x82, 0xfe, 0x00, 0x01, 0x02, 0xff, 0x00, + 0x01, 0x04, 0x7f, 0x00, 0x02, 0x08, 0x3f, 0x80, 0x02, 0x08, 0x3f, 0x80, 0x04, 0x10, 0x1f, 0xc0, + 0x04, 0x10, 0x1f, 0xc0, 0x08, 0x20, 0x0f, 0xe0, 0x06, 0x20, 0x0f, 0xc0, 0x01, 0xc0, 0x07, 0x00 +}; +// 'dcrossS1_on', 32x32px +const unsigned char dcrossS1_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x0f, 0x80, + 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x3e, 0x00, + 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xf8, 0x00, + 0x00, 0x01, 0xf0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x1f, 0x80, 0x00, 0x00, 0x1f, 0x00, 0x00, + 0x00, 0x3e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, + 0x00, 0xf8, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, + 0x03, 0xe0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'dcrossS2_off', 32x32px +const unsigned char dcrossS2_off [] = { + 0x01, 0xc0, 0x07, 0x00, 0x06, 0x20, 0x0f, 0xc0, 0x08, 0x20, 0x0f, 0xe0, 0x04, 0x10, 0x1f, 0xc0, + 0x04, 0x10, 0x1f, 0xc0, 0x02, 0x08, 0x3f, 0x80, 0x02, 0x08, 0x3f, 0x80, 0x01, 0x04, 0x7f, 0x00, + 0x01, 0x02, 0xff, 0x00, 0x00, 0x82, 0xfe, 0x00, 0x00, 0x41, 0x7c, 0x00, 0x00, 0x41, 0x7c, 0x00, + 0x00, 0x20, 0xb8, 0x00, 0x00, 0x10, 0x50, 0x00, 0x00, 0x10, 0x50, 0x00, 0x00, 0x08, 0x20, 0x00, + 0x00, 0x18, 0x30, 0x00, 0x00, 0x14, 0x10, 0x00, 0x00, 0x34, 0x08, 0x00, 0x00, 0x3a, 0x08, 0x00, + 0x00, 0x7d, 0x04, 0x00, 0x00, 0x7d, 0x04, 0x00, 0x00, 0xfe, 0x82, 0x00, 0x01, 0xfe, 0x81, 0x00, + 0x01, 0xfc, 0x41, 0x00, 0x03, 0xf8, 0x20, 0x80, 0x03, 0xf8, 0x20, 0x80, 0x07, 0xf0, 0x10, 0x40, + 0x07, 0xf0, 0x10, 0x40, 0x0f, 0xe0, 0x08, 0x20, 0x07, 0xe0, 0x08, 0xc0, 0x01, 0xc0, 0x07, 0x00 +}; +// 'dcrossS2_on', 32x32px +const unsigned char dcrossS2_on [] = { + 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, + 0x03, 0xe0, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, + 0x00, 0xfc, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, + 0x00, 0x1f, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x01, 0xf0, 0x00, + 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7e, 0x00, + 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x0f, 0x80, + 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'bretelleG_off', 32x32px +const unsigned char bretelleG_off [] = { + 0x08, 0x40, 0x04, 0x20, 0x08, 0x40, 0x04, 0x20, 0x08, 0x60, 0x0c, 0x20, 0x08, 0x60, 0x0c, 0x20, + 0x08, 0x70, 0x1c, 0x20, 0x08, 0x70, 0x1c, 0x20, 0x08, 0x78, 0x3c, 0x20, 0x08, 0x78, 0x3c, 0x20, + 0x08, 0x7c, 0x7c, 0x20, 0x08, 0x7e, 0xfc, 0x20, 0x08, 0x7e, 0xfc, 0x20, 0x08, 0x5e, 0xf4, 0x20, + 0x08, 0x5f, 0xf4, 0x20, 0x08, 0x4f, 0xe4, 0x20, 0x08, 0x4f, 0xe4, 0x20, 0x08, 0x47, 0xc4, 0x20, + 0x08, 0x47, 0xc4, 0x20, 0x08, 0x4f, 0xe4, 0x20, 0x08, 0x4f, 0xe4, 0x20, 0x08, 0x5f, 0xf4, 0x20, + 0x08, 0x5e, 0xf4, 0x20, 0x08, 0x7e, 0xfc, 0x20, 0x08, 0x7e, 0xfc, 0x20, 0x08, 0x7c, 0x7c, 0x20, + 0x08, 0x78, 0x3c, 0x20, 0x08, 0x78, 0x3c, 0x20, 0x08, 0x70, 0x1c, 0x20, 0x08, 0x70, 0x1c, 0x20, + 0x08, 0x60, 0x0c, 0x20, 0x08, 0x60, 0x0c, 0x20, 0x08, 0x40, 0x04, 0x20, 0x08, 0x40, 0x04, 0x20 +}; +// 'bretelleG_on', 32x32px +const unsigned char bretelleG_on [] = { + 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, + 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x03, 0xc0 +}; +// 'bretelleR_off', 32x32px +const unsigned char bretelleR_off [] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20, + 0x0c, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x60, 0x0e, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x00, 0xe0, + 0x0f, 0x00, 0x01, 0xe0, 0x0f, 0x00, 0x01, 0xe0, 0x0f, 0x80, 0x03, 0xe0, 0x0f, 0xc0, 0x07, 0xe0, + 0x0f, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x07, 0xe0, + 0x0f, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x07, 0xe0, + 0x0f, 0xc0, 0x07, 0xe0, 0x0f, 0x80, 0x03, 0xe0, 0x0f, 0x00, 0x01, 0xe0, 0x0f, 0x00, 0x01, 0xe0, + 0x0e, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x00, 0xe0, 0x0c, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x60, + 0x08, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +// 'bretelleR_on', 32x32px +const unsigned char bretelleR_on [] = { + 0x0f, 0xc0, 0x07, 0xe0, 0x07, 0xc0, 0x07, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x03, 0xe0, 0x0f, 0x80, + 0x03, 0xf0, 0x1f, 0x80, 0x01, 0xf0, 0x1f, 0x00, 0x01, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x3e, 0x00, + 0x00, 0xfc, 0x7e, 0x00, 0x00, 0x7e, 0xfc, 0x00, 0x00, 0x3e, 0xf8, 0x00, 0x00, 0x1f, 0xf0, 0x00, + 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x07, 0xc0, 0x00, + 0x00, 0x07, 0xc0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x1f, 0xf0, 0x00, + 0x00, 0x1f, 0xf0, 0x00, 0x00, 0x3e, 0xf8, 0x00, 0x00, 0x7e, 0xfc, 0x00, 0x00, 0xfc, 0x7e, 0x00, + 0x00, 0xf8, 0x3e, 0x00, 0x01, 0xf8, 0x3f, 0x00, 0x01, 0xf0, 0x1f, 0x00, 0x03, 0xf0, 0x1f, 0x80, + 0x03, 0xe0, 0x0f, 0x80, 0x07, 0xe0, 0x0f, 0xc0, 0x07, 0xc0, 0x07, 0xc0, 0x0f, 0xc0, 0x07, 0xe0 +}; diff --git a/include/lnet.h b/include/lnet.h new file mode 100644 index 0000000..2e75f86 --- /dev/null +++ b/include/lnet.h @@ -0,0 +1,298 @@ +/* PacoMouseCYD throttle -- F. Cañada 2025-2026 -- https://usuaris.tinet.cat/fmco/ + + This software and associated files are a DIY project that is not intended for commercial use. + This software uses libraries with different licenses, follow all their different terms included. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. + + Sources are only provided for building and uploading to the device. + You are not allowed to modify the source code or fork/publish this project. + Commercial use is forbidden. +*/ + +// OPCODES +#define OPC_GPOFF 0x82 // GLOBAL power OFF request +#define OPC_GPON 0x83 // GLOBAL power ON request + +#define OPC_LOCO_SPD 0xA0 // SET SLOT speed +#define OPC_LOCO_DIRF 0xA1 // SET SLOT dir,F0-4 state +#define OPC_LOCO_SND 0xA2 // SET SLOT sound functions +#define OPC_LOCO_F9F12 0xA3 // Uhlenbrock + +#define OPC_SW_REQ 0xB0 // REQ SWITCH function +#define OPC_SW_REP 0xB1 // Turnout SENSOR state REPORT +#define OPC_INPUT_REP 0xB2 // General SENSOR Input codes + +#define OPC_LONG_ACK 0xB4 // Long acknowledge +#define OPC_SLOT_STAT1 0xB5 // WRITE slot stat1 + +#define OPC_MOVE_SLOTS 0xBA // MOVE slot SRC to DEST +#define OPC_RQ_SL_DATA 0xBB // Request SLOT DATA/status block +#define OPC_SW_STATE 0xBC // REQ state of SWITCH +#define OPC_LOCO_ADR_UHLI 0xBE // REQ loco ADR Uhlenbrock +#define OPC_LOCO_ADR 0xBF // REQ loco ADR + +#define OPC_UHLI_FUN 0xD4 // Uhlenbrock + +#define OPC_PEER_XFER 0xE5 // move 8 bytes PEER to PEER, SRC->DST +#define OPC_SL_RD_UHLI 0xE6 // SLOT DATA return, 21 bytes Uhlenbrock +#define OPC_SL_RD_DATA 0xE7 // SLOT DATA return, 10 bytes +#define OPC_IMM_PACKET 0xED // SEND n-byte packet immediate +#define OPC_WR_SL_UHLI 0xEE // WRITE SLOT DATA, 21 bytes Uhlenbrock +#define OPC_WR_SL_DATA 0xEF // WRITE SLOT DATA, 10 bytes + + +// BIT MASK +#define OPC_SW_REP_INPUTS 0x40 // sensor inputs, outputs otherwise +#define OPC_SW_REP_SW 0x20 // switch input, aux input otherwise +#define OPC_SW_REP_HI 0x10 // input is HI, LO otherwise +#define OPC_SW_REP_CLOSED 0x20 // 'Closed' line is ON, OFF otherwise +#define OPC_SW_REP_THROWN 0x10 // 'Thrown' line is ON, OFF otherwise + +#define OPC_SW_REQ_DIR 0x20 // switch direction - closed/thrown +#define OPC_SW_REQ_OUT 0x10 // output On/Off + +#define OPC_INPUT_REP_SW 0x20 // input is switch input, aux otherwise +#define OPC_INPUT_REP_HI 0x10 // input is HI, LO otherwise + +#define STAT1_SL_BUSY 0x20 // BUSY/ACTIVE: bit encoding for SLOT activity +#define STAT1_SL_ACTIVE 0x10 + +#define GTRK_PROG_BUSY 0x08 // programming track is Busy +#define GTRK_IDLE 0x02 // 0 = Track paused, B'cast EMERG STOP, 1 = Power On +#define GTRK_POWER 0x01 // DCC packets are on and global power is up + +// VALUES +#define SLOT_0 0x00 // Slot 0. Identifies command station type if implemented +#define SLOT_FC 0x7B // Fast clock slot +#define SLOT_PRG 0x7C // This slot communicates with the programming track + +#define UHLI_PRG_START 0x41 // Intellibox II program task +#define UHLI_PRG_END 0x40 + +#define LNCV_REQID_CFGREAD 0x1F // LNCV task +#define LNCV_REQID_CFGWRITE 0x20 +#define LNCV_REQID_CFGREQUEST 0x21 +#define LNCV_FLAG_PRON 0x80 +#define LNCV_FLAG_PROFF 0x40 + + +// Message structure to determine the size of a message +typedef struct { + uint8_t command; /* LocoNet Op Code */ + uint8_t mesg_size; /* size of the message in bytes */ +} szMsg; + +/* Turnout sensor state report */ +typedef struct swrep_t { + uint8_t command; + uint8_t sn1; /* first byte of report */ + uint8_t sn2; /* second byte of report */ + uint8_t chksum; /* exclusive-or checksum for the message */ +} swRepMsg; + +/* Request Switch function */ +typedef struct swreq_t { + uint8_t command; + uint8_t sw1; /* first byte of request */ + uint8_t sw2; /* second byte of request */ + uint8_t chksum; /* exclusive-or checksum for the message */ +} swReqMsg; + +/* Sensor input report */ +typedef struct inputrep_t { + uint8_t command; + uint8_t in1; /* first byte of report */ + uint8_t in2; /* second byte of report */ + uint8_t chksum; /* exclusive-or checksum for the message */ +} inputRepMsg; + +/* Slot data request */ +typedef struct slotreq_t { + uint8_t command; + uint8_t slot; /* slot number for this request */ + uint8_t pad; /* should be zero */ + uint8_t chksum; /* exclusive-or checksum for the message */ +} slotReqMsg; + +/* Read/Write Slot data messages */ +typedef struct rwslotdata_t { + uint8_t command; + uint8_t mesg_size; /* ummmmm, size of the message in bytes? */ + uint8_t slot; /* slot number for this request */ + uint8_t stat; /* slot status */ + uint8_t adr; /* loco address */ + uint8_t spd; /* command speed */ + uint8_t dirf; /* direction and F0-F4 bits */ + uint8_t trk; /* track status */ + uint8_t ss2; /* slot status 2 (tells how to use ID1/ID2 & ADV Consist*/ + uint8_t adr2; /* loco address high */ + uint8_t snd; /* Sound 1-4 / F5-F8 */ + uint8_t id1; /* ls 7 bits of ID code */ + uint8_t id2; /* ms 7 bits of ID code */ + uint8_t chksum; /* exclusive-or checksum for the message */ +} rwSlotDataMsg; + +/* Fast Clock Message */ +typedef struct fastclock_t { + uint8_t command; + uint8_t mesg_size; /* ummmmm, size of the message in bytes? */ + uint8_t slot; /* slot number for this request */ + uint8_t clk_rate; /* 0 = Freeze clock, 1 = normal, 10 = 10:1 etc. Max is 0x7f */ + uint8_t frac_minsl; /* fractional minutes. not for external use. */ + uint8_t frac_minsh; + uint8_t mins_60; /* 256 - minutes */ + uint8_t track_stat; /* track status */ + uint8_t hours_24; /* 256 - hours */ + uint8_t days; /* clock rollovers */ + uint8_t clk_cntrl; /* bit 6 = 1; data is valid clock info */ + /* " " 0; ignore this reply */ + uint8_t id1; /* id1/id2 is device id of last device to set the clock */ + uint8_t id2; /* " " = zero shows not set has happened */ + uint8_t chksum; /* exclusive-or checksum for the message */ +} fastClockMsg; + +/* Programmer Task Message (used in Start and Final Reply, both )*/ +typedef struct progtask_t { + uint8_t command; + uint8_t mesg_size; /* ummmmm, size of the message in bytes? */ + uint8_t slot; /* slot number for this request - slot 124 is programmer */ + uint8_t pcmd; /* programmer command */ + uint8_t pstat; /* programmer status error flags in reply message */ + uint8_t hopsa; /* Ops mode - 7 high address bits of loco to program */ + uint8_t lopsa; /* Ops mode - 7 low address bits of loco to program */ + uint8_t trk; /* track status. Note: bit 3 shows if prog track is busy */ + uint8_t cvh; /* hi 3 bits of CV# and msb of data7 */ + uint8_t cvl; /* lo 7 bits of CV# */ + uint8_t data7; /* 7 bits of data to program, msb is in cvh above */ + uint8_t pad2; + uint8_t pad3; + uint8_t chksum; /* exclusive-or checksum for the message */ +} progTaskMsg; + +/* Set slot sound functions */ +typedef struct locosnd_t { + uint8_t command; + uint8_t slot; /* slot number for this request */ + uint8_t snd; /* sound/function request */ + uint8_t chksum; /* exclusive-or checksum for the message */ +} locoSndMsg; + +/* Set slot direction and F0-F4 functions */ +typedef struct locodirf_t { + uint8_t command; + uint8_t slot; /* slot number for this request */ + uint8_t dirf; /* direction & function request */ + uint8_t chksum; /* exclusive-or checksum for the message */ +} locoDirfMsg; + +/* Set slot speed functions */ +typedef struct locospd_t { + uint8_t command; + uint8_t slot; /* slot number for this request */ + uint8_t spd; /* speed request */ + uint8_t chksum; /* exclusive-or checksum for the message */ +} locoSpdMsg; + +/* send packet immediate message */ +typedef struct sendpkt_t { + uint8_t command; + uint8_t mesg_size; /* ummmmm, size of the message in bytes? */ + uint8_t val7f; /* fixed value of 0x7f */ + uint8_t reps; /* repeat count */ + uint8_t dhi; /* high bits of data bytes */ + uint8_t im1; + uint8_t im2; + uint8_t im3; + uint8_t im4; + uint8_t im5; + uint8_t chksum; /* exclusive-or checksum for the message */ +} sendPktMsg; + +/* Long ACK message */ +typedef struct longack_t { + uint8_t command; + uint8_t opcode; /* op-code of message getting the response (msb=0) */ + uint8_t ack1; /* response code */ + uint8_t chksum; /* exclusive-or checksum for the message */ +} longAckMsg; + +/* Write slot status message */ +typedef struct slotstat_t { + uint8_t command; + uint8_t slot; /* slot number for this request */ + uint8_t stat; /* status to be written */ + uint8_t chksum; /* exclusive-or checksum for the message */ +} slotStatusMsg; + +/* Move/Link Slot Message */ +typedef struct slotmove_t { + uint8_t command; + uint8_t src; /* source slot number for the move/link */ + uint8_t dest; /* destination slot for the move/link */ + uint8_t chksum; /* exclusive-or checksum for the message */ +} slotMoveMsg; + +typedef struct +{ + uint8_t command; // OPC_PEER_XFER for replies, OPC_IMM_PACKET for commands + uint8_t mesg_size; // 15 bytes + uint8_t SRC; // source + uint8_t DSTL; // destination, low byte + uint8_t DSTH; // destination, high byte + uint8_t ReqId; // Request ID, distinguishes commands + uint8_t PXCT1; // MSBs of following data + uint8_t D0; // Data Bytes + uint8_t D1; + uint8_t D2; + uint8_t D3; + uint8_t D4; + uint8_t D5; + uint8_t D6; +} UhlenbrockMsg; + +typedef struct +{ + uint8_t command; // OPC_SL_RD_UHLI for replies, OPC_WR_SL_UHLI for commands + uint8_t mesg_size; // 21 bytes + uint8_t unk0; + uint8_t slot; // slot number + uint8_t stat; // slot status + uint8_t adr; // loco address + uint8_t adr2; // loco address high + uint8_t trk; // track status + uint8_t spd; // command speed + uint8_t fhi; // function high bits: F12,F20,F28 + uint8_t dirf; // direction and F0-F4 bits + uint8_t snd2; // F5..F11 + uint8_t snd3; // F13..F19 + uint8_t snd4; // F21..F27 + uint8_t unk1; // steps??? + uint8_t unk2; + uint8_t unk3; + uint8_t unk4; + uint8_t unk5; + uint8_t unk6; +} UhliSlotMsg; + + +typedef union { + szMsg sz ; + swRepMsg srp ; + swReqMsg srq ; + inputRepMsg ir ; + slotReqMsg sr ; + rwSlotDataMsg sd ; + fastClockMsg fc ; + progTaskMsg pt ; + locoSndMsg ls ; + locoDirfMsg ldf ; + locoSpdMsg lsp ; + sendPktMsg sp ; + longAckMsg lack ; + slotStatusMsg ss ; + slotMoveMsg sm ; + UhlenbrockMsg ub; + UhliSlotMsg usd; + uint8_t data[32] ; +} lnMsg ; diff --git a/include/translations.h b/include/translations.h new file mode 100644 index 0000000..e418c88 --- /dev/null +++ b/include/translations.h @@ -0,0 +1,581 @@ +/* PacoMouseCYD throttle -- F. Cañada 2025-2026 -- https://usuaris.tinet.cat/fmco/ +*/ + +// Added LANG_FRENCH for French language support +enum language {LANG_ENGLISH, LANG_SPANISH, LANG_CATALAN, LANG_GERMAN, LANG_FRENCH, MAX_LANG}; + +// Added French translations (LANG_FRENCH) where possible. If missing, falls back to English. +static const char *translations[][MAX_LANG] = +{ + // DON'T CHANGE ORDER: Same order defined in labelObj. If a complete translation is missing, must be English definition. + { // LBL_PACO_TXT + [LANG_ENGLISH] = "PacoMouseCYD", + [LANG_FRENCH] = "PacoMouseCYD", + }, + { // LBL_INIT + [LANG_ENGLISH] = "Welcome!", + [LANG_SPANISH] = "Bienvenido!", + [LANG_CATALAN] = "Benvingut!", + [LANG_GERMAN] = "Willkommen!", + [LANG_FRENCH] = "Bienvenue!", + }, + { // LBL_CONNECT + [LANG_ENGLISH] = "Connecting...", + [LANG_SPANISH] = "Conectando...", + [LANG_CATALAN] = "Connectant...", + [LANG_GERMAN] = "Verbindung...", + [LANG_FRENCH] = "Connexion...", + }, + { // LBL_PRESS + [LANG_ENGLISH] = "Touch to start...", + [LANG_SPANISH] = "Toca para empezar...", + [LANG_CATALAN] = "Toca per iniciar...", + [LANG_GERMAN] = "Beruhren Sie den\nBildschirm, um \nzu beginnen...", + [LANG_FRENCH] = "Touchez l'écran pour\ncommencer...", + }, + { // LBL_CAL + [LANG_ENGLISH] = "To calibrate the\ntouchscreen, touch the\ncorners that appear\nwith the pen.", + [LANG_SPANISH] = "Para calibrar la pantalla,\ntoque las esquinas que\naparecen con el lapiz", + [LANG_CATALAN] = "Per calibrar la pantalla,\ntoqueu les cantonades que\napareixen amb el llapis", + [LANG_GERMAN] = "Um den Touchscreen\nzu kalibrieren, beruhren\nSie die angezeigten Ecken\nmit dem Stift.", + [LANG_FRENCH] = "Pour calibrer l'écran tactile,\ntouchez les coins affichés\navec le stylet.", + }, + { // LBL_CAL_DONE + [LANG_ENGLISH] = "Calibration done.", + [LANG_SPANISH] = "Calibracion realizada.", + [LANG_CATALAN] = "Calibratge realitzat.", + [LANG_GERMAN] = "Kalibrierung\nabgeschlossen.", + [LANG_FRENCH] = "Calibration terminée.", + }, + { // LBL_SCAN + [LANG_ENGLISH] = "SSID WiFi\nScanning...", + [LANG_SPANISH] = "SSID WiFi\nBuscando......", + [LANG_CATALAN] = "SSID WiFi\nEscanejant...", + [LANG_GERMAN] = "SSID WiFi\nScannen...", + [LANG_FRENCH] = "SSID WiFi\nRecherche...", + }, + { // LBL_SSID_SCAN + [LANG_ENGLISH] = "SSID WiFi", + [LANG_FRENCH] = "SSID WiFi", + }, + { // LBL_SSID + [LANG_ENGLISH] = "SSID", + [LANG_FRENCH] = "SSID", + }, + { // LBL_IP + [LANG_ENGLISH] = "IP", + [LANG_FRENCH] = "IP", + }, + { // LBL_PWD_HIDE + [LANG_ENGLISH] = "Password", + [LANG_SPANISH] = NULL, + [LANG_CATALAN] = NULL, + [LANG_GERMAN] = "Passwort", + [LANG_FRENCH] = "Mot de passe", + }, + { // LBL_PORT + [LANG_ENGLISH] = "Port", + [LANG_SPANISH] = "Puerto", + [LANG_FRENCH] = "Port", + }, + { // LBL_PROTOCOL + [LANG_ENGLISH] = "Protocol", + [LANG_SPANISH] = "Protocolo", + [LANG_CATALAN] = NULL, + [LANG_GERMAN] = "Protokoll", + [LANG_FRENCH] = "Protocole", + }, + { // LBL_SEL_PROT + [LANG_ENGLISH] = "Protocol", + [LANG_SPANISH] = "Protocolo", + [LANG_CATALAN] = NULL, + [LANG_GERMAN] = "Protokoll", + [LANG_FRENCH] = "Protocole", + }, + { // LBL_SEL_Z21 + [LANG_ENGLISH] = "Z21", + [LANG_FRENCH] = "Z21", + }, + { // LBL_SEL_XNET + [LANG_ENGLISH] = "Xpressnet LAN", + [LANG_FRENCH] = "Xpressnet LAN", + }, + { // LBL_SEL_ECOS + [LANG_ENGLISH] = "ECoS", + [LANG_FRENCH] = "ECoS", + }, + { // LBL_SEL_LNET + [LANG_ENGLISH] = "Loconet sur TCP/IP", + }, + { // LBL_SEL_LBSERVER + [LANG_ENGLISH] = "LBServer", + [LANG_FRENCH] = "LBServer", + }, + { // LBL_SEL_BINARY + [LANG_ENGLISH] = "Binaire", + }, + { // LBL_OPTIONS + [LANG_ENGLISH] = "Options", + [LANG_SPANISH] = "Opciones", + [LANG_CATALAN] = "Opcions", + [LANG_GERMAN] = "Optionen", + [LANG_FRENCH] = "Options", + }, + { // LBL_NAME + [LANG_ENGLISH] = "Name", + [LANG_SPANISH] = "Nombre", + [LANG_CATALAN] = "Nom", + [LANG_GERMAN] = NULL, + [LANG_FRENCH] = "Nom", + }, + { // LBL_ADDR + [LANG_ENGLISH] = "Address", + [LANG_SPANISH] = "Direccion", + [LANG_CATALAN] = "Direccio", + [LANG_GERMAN] = "Adresse", + [LANG_FRENCH] = "Adresse", + }, + { // LBL_IMAGE + [LANG_ENGLISH] = "Image", + [LANG_SPANISH] = "Imagen", + [LANG_CATALAN] = "Imatge", + [LANG_GERMAN] = "Bild", + [LANG_FRENCH] = "Image", + }, + { // LBL_VMAX + [LANG_ENGLISH] = "Speed max.", + [LANG_SPANISH] = "Vel. max.", + [LANG_CATALAN] = "Vel. max.", + [LANG_GERMAN] = "Geschw.max.", + [LANG_FRENCH] = "Vitesse max.", + }, + { // LBL_FUNC + [LANG_ENGLISH] = "Functions", + [LANG_SPANISH] = "Funciones", + [LANG_CATALAN] = "Funcions", + [LANG_GERMAN] = "Funktionen", + [LANG_FRENCH] = "Fonctions", + }, + { // LBL_SERVICE + [LANG_ENGLISH] = "Service Mode", + [LANG_SPANISH] = "Modo Servicio", + [LANG_CATALAN] = "Mode Servei", + [LANG_GERMAN] = "Servicemodus", + [LANG_FRENCH] = "Mode Service", + }, + { // LBL_KMH + [LANG_ENGLISH] = "km/h", + [LANG_FRENCH] = "km/h", + }, + { // LBL_SHUNTING + [LANG_ENGLISH] = "Shunting", + [LANG_SPANISH] = "Maniobras", + [LANG_CATALAN] = "Maniobres", + [LANG_GERMAN] = "Rangieren", + [LANG_FRENCH] = "Manœuvre", + }, + { // LBL_RATE + [LANG_ENGLISH] = "Rate 1:", + [LANG_SPANISH] = "Ratio 1:", + [LANG_CATALAN] = "Ratio 1:", + [LANG_GERMAN] = NULL, + [LANG_FRENCH] = "Rapport 1:", + }, + { // LBL_CHG_WIFI + [LANG_ENGLISH] = "Reset to apply\nchanges", + [LANG_SPANISH] = "Reinicie para\naplicar los\ncambios", + [LANG_CATALAN] = "Reiniciar per \naplicar els\ncanvis", + [LANG_GERMAN] = "Neustart, um die\nAnderungen zu\nübernehmen", + [LANG_FRENCH] = "Redémarrez pour\nappliquer les\nchangements", + }, + { // LBL_EDIT_FUNC + [LANG_ENGLISH] = "Functions", + [LANG_SPANISH] = "Funciones", + [LANG_CATALAN] = "Funcions", + [LANG_GERMAN] = "Funktionen", + [LANG_FRENCH] = "Fonctions", + }, + { // LBL_STACK_FULL + [LANG_ENGLISH] = "Locomotive stack\nfull!", + [LANG_SPANISH] = "Almacen de\nlocomotoras\nlleno!", + [LANG_CATALAN] = "Magatzem de\nlocomotores\nple!", + [LANG_GERMAN] = "Lokomotivstapel\nvoll!", + [LANG_FRENCH] = "Pile de locomotives\npleine!", + }, + { // LBL_STOP_0 + [LANG_ENGLISH] = "Speed 0", + [LANG_SPANISH] = "Velocidad 0", + [LANG_CATALAN] = "Velocitat 0", + [LANG_GERMAN] = "Geschw. 0", + [LANG_FRENCH] = "Vitesse 0", + }, + { // LBL_STOP_E + [LANG_ENGLISH] = "Emerg. Stop", + [LANG_SPANISH] = "Stop Emerg.", + [LANG_CATALAN] = "Stop Emerg.", + [LANG_GERMAN] = "Not-Halt", + [LANG_FRENCH] = "Arrêt d'urgence", + }, + { // LBL_SEL_IMAGE + [LANG_ENGLISH] = "Image", + [LANG_SPANISH] = "Imagen", + [LANG_CATALAN] = "Imatge", + [LANG_GERMAN] = "Bild", + }, + { // LBL_MENU_DRIVE + [LANG_ENGLISH] = "Drive", + [LANG_SPANISH] = "Conducir", + [LANG_CATALAN] = "Conduir", + [LANG_GERMAN] = "Fahren", + }, + { // LBL_MENU_ACC + [LANG_ENGLISH] = "Accesory", + [LANG_SPANISH] = "Accesorios", + [LANG_CATALAN] = "Accesoris", + [LANG_GERMAN] = "Zubehorartikel", + }, + { // LBL_MENU_CV + [LANG_ENGLISH] = "CV Programming", + [LANG_SPANISH] = "Programar CV", + [LANG_CATALAN] = "Programar CV", + [LANG_GERMAN] = "CV-Programmierung", + }, + { // LBL_MENU_CFG + [LANG_ENGLISH] = "Configure", + [LANG_SPANISH] = "Configurar", + [LANG_CATALAN] = "Configurar", + [LANG_GERMAN] = "Einstellungen", + }, + { // LBL_MENU_UTILS + [LANG_ENGLISH] = "Utilities", + [LANG_SPANISH] = "Utilidades", + [LANG_CATALAN] = "Utilitats", + [LANG_GERMAN] = "Dienstprogramme", + }, + { // LBL_CFG_LANG + [LANG_ENGLISH] = "Language", + [LANG_SPANISH] = "Idioma", + [LANG_CATALAN] = "Idioma", + [LANG_GERMAN] = "Sprache", + }, + { // LBL_CFG_SCR + [LANG_ENGLISH] = "Screen", + [LANG_SPANISH] = "Pantalla", + [LANG_CATALAN] = "Pantalla", + [LANG_GERMAN] = "Bildschirm", + }, + { // LBL_CFG_SPD + [LANG_ENGLISH] = "Speed", + [LANG_SPANISH] = "Velocidad", + [LANG_CATALAN] = "Velocitat", + [LANG_GERMAN] = "Geschwindigkeit", + }, + { // LBL_CFG_WIFI + [LANG_ENGLISH] = "WiFi", + }, + { // LBL_CFG_FCLK + [LANG_ENGLISH] = "Fast Clock", + [LANG_SPANISH] = "Reloj", + [LANG_CATALAN] = "Rellotge", + [LANG_GERMAN] = "Uhr", + }, + { // LBL_CFG_LOCK + [LANG_ENGLISH] = "Lock", + [LANG_SPANISH] = "Bloquear", + [LANG_CATALAN] = "Bloquejar", + [LANG_GERMAN] = "Sperre", + }, + { // LBL_CFG_ABOUT + [LANG_ENGLISH] = "About...", + [LANG_SPANISH] = "Acerca...", + [LANG_CATALAN] = "Sobre...", + [LANG_GERMAN] = "Info...", + }, + { // LBL_SCR_ROTATE + [LANG_ENGLISH] = "Rotate", + [LANG_SPANISH] = "Girar", + [LANG_CATALAN] = "Girar", + [LANG_GERMAN] = "Drehen", + }, + { // LBL_PACO_WEB + [LANG_ENGLISH] = "https://usuaris.tinet.cat/fmco", + }, + { // LBL_LOCK_LOK + [LANG_ENGLISH] = "Locomotives", + [LANG_SPANISH] = "Locomotoras", + [LANG_CATALAN] = "Locomotores", + [LANG_GERMAN] = "Lokomotiven", + }, + { // LBL_LOCK_ACC + [LANG_ENGLISH] = "Accesory", + [LANG_SPANISH] = "Accesorios", + [LANG_CATALAN] = "Accesoris", + [LANG_GERMAN] = "Zubehorartikel", + }, + { // LBL_LOCK_PRG + [LANG_ENGLISH] = "Programming", + [LANG_SPANISH] = "Programar", + [LANG_CATALAN] = "Programar", + [LANG_GERMAN] = "Programmierung", + }, + /* + { // LBL_OPT_ROCO + [LANG_ENGLISH] = "Turntable offset", + [LANG_SPANISH] = "Offset Plataforma", + [LANG_CATALAN] = "Offset Plataforma", + [LANG_GERMAN] = "Drehscheibe Versatz", + }, + */ + { // LBL_OPT_ADR + [LANG_ENGLISH] = "Short Addr. (1 to 99)", + [LANG_SPANISH] = "Dir. corta (1 a 99)", + [LANG_CATALAN] = "Dir. curta (1 a 99)", + [LANG_GERMAN] = "Kurze Adr. (1 bis 99)", + }, + { // LBL_OPT_IB2 + [LANG_ENGLISH] = "IBII / DR5000", + }, + { // LBL_OPT_UHLI + [LANG_ENGLISH] = "Uhlenbrock", + }, + { // LBL_OPT_DIG + [LANG_ENGLISH] = "Digitrax", + }, + { // LBL_ESTOP + [LANG_ENGLISH] = "Emergency Stop", + [LANG_SPANISH] = "Stop Emergencia", + [LANG_CATALAN] = "Stop Emergencia", + [LANG_GERMAN] = "Nothalt", + }, + { // LBL_SCALE + [LANG_ENGLISH] = "Scale", + [LANG_SPANISH] = "Escala", + [LANG_CATALAN] = "Escala", + [LANG_GERMAN] = "Skala", + }, + { // LBL_MM + [LANG_ENGLISH] = "mm", + }, + { // LBL_SCALE_H0 + [LANG_ENGLISH] = "H0", + }, + { // LBL_SCALE_N + [LANG_ENGLISH] = "N", + }, + { // LBL_SCALE_TT + [LANG_ENGLISH] = "TT", + }, + { // LBL_SCALE_Z + [LANG_ENGLISH] = "Z", + }, + { // LBL_SCALE_0 + [LANG_ENGLISH] = "0", + }, + { // LBL_MEASURE + [LANG_ENGLISH] = "Measuring", + [LANG_SPANISH] = "Midiendo", + [LANG_CATALAN] = "Mesurant", + [LANG_GERMAN] = "Messung", + }, + { // LBL_CV_ADDR + [LANG_ENGLISH] = "Loco Address", + [LANG_SPANISH] = "Direcc. Loco", + [LANG_CATALAN] = "Direcc. Loco", + [LANG_GERMAN] = "Lokadresse", + }, + { // LBL_CV_SPD_L + [LANG_ENGLISH] = "Speed min.", + [LANG_SPANISH] = "Velocidad min.", + [LANG_CATALAN] = "Velocitat min.", + [LANG_GERMAN] = "Minimale Geschw.", + }, + { // LBL_CV_SPD_M + [LANG_ENGLISH] = "Speed mid.", + [LANG_SPANISH] = "Velocidad media", + [LANG_CATALAN] = "Velocitat mitja", + [LANG_GERMAN] = "Mittlere Geschw.", + }, + { // LBL_CV_SPD_H + [LANG_ENGLISH] = "Speed max.", + [LANG_SPANISH] = "Velocidad max.", + [LANG_CATALAN] = "Velocitat max.", + [LANG_GERMAN] = "Maximale Geschw.", + }, + { // LBL_CV_ACC + [LANG_ENGLISH] = "Acceleration", + [LANG_SPANISH] = "Aceleracion", + [LANG_CATALAN] = "Acceleracio", + [LANG_GERMAN] = "Beschleunig", + }, + { // LBL_CV_DEC + [LANG_ENGLISH] = "Braking", + [LANG_SPANISH] = "Frenado", + [LANG_CATALAN] = "Frenada", + [LANG_GERMAN] = "Bremsen", + }, + { // LBL_CV_CFG + [LANG_ENGLISH] = "Configuration", + [LANG_SPANISH] = "Configuracion", + [LANG_CATALAN] = "Configuracio", + [LANG_GERMAN] = "Konfiguration", + }, + { // LBL_CV_MAN + [LANG_ENGLISH] = "Manufacturer", + [LANG_SPANISH] = "Fabricante", + [LANG_CATALAN] = "Fabricant", + [LANG_GERMAN] = "Hersteller", + }, + { // LBL_CV + [LANG_ENGLISH] = "CV", + }, + { // LBL_LNCV + [LANG_ENGLISH] = "LNCV", + }, + { // LBL_POM + [LANG_ENGLISH] = "PoM", + }, + { // LBL_BITS + [LANG_ENGLISH] = "Bits", + }, + { // LBL_CV_ERROR + [LANG_ENGLISH] = "CV ERROR", + [LANG_SPANISH] = "ERROR CV", + [LANG_CATALAN] = "ERROR CV", + [LANG_GERMAN] = "CV-FEHLER", + }, + { // LBL_UTIL_SPEED + [LANG_ENGLISH] = "Measure speed", + [LANG_SPANISH] = "Medir velocidad", + [LANG_CATALAN] = "Mesurar velocitat", + [LANG_GERMAN] = "Geschw. messen", + }, + { // LBL_UTIL_STEAM + [LANG_ENGLISH] = "Steam locomotive", + [LANG_SPANISH] = "Locomotora de vapor", + [LANG_CATALAN] = "Locomotora de vapor", + [LANG_GERMAN] = "Dampflokomotive", + }, + { // LBL_UTIL_SCAN + [LANG_ENGLISH] = "WiFi Analyzer", + [LANG_SPANISH] = "Analizador de WiFi", + [LANG_CATALAN] = "Analitzador de WiFi", + [LANG_GERMAN] = "WLAN-Analysator", + }, + { // LBL_UTIL_STA + [LANG_ENGLISH] = "Station Run", + [LANG_SPANISH] = "Carrera de estaciones", + [LANG_CATALAN] = "Carrera d'estacions", + [LANG_GERMAN] = "Bahnhofsrennen", + }, + { // LBL_ASK_SURE + [LANG_ENGLISH] = "Are you sure?", + [LANG_SPANISH] = "Estas seguro?", + [LANG_CATALAN] = "Segur?", + [LANG_GERMAN] = "Bist du sicher?", + }, + { // LBL_OPT_DISCOVER + [LANG_ENGLISH] = "Discover", + [LANG_SPANISH] = "Descubrir", + [LANG_CATALAN] = "Descobrir", + [LANG_GERMAN] = "Entdecken", + }, + { // LBL_LNCV_ART + [LANG_ENGLISH] = "Article", + [LANG_SPANISH] = "Articulo", + [LANG_CATALAN] = NULL, + [LANG_GERMAN] = "Artikel", + }, + { // LBL_LNCV_MOD + [LANG_ENGLISH] = "Module", + [LANG_SPANISH] = "Modulo", + [LANG_CATALAN] = "Modul", + [LANG_GERMAN] = "Modul", + }, + { // LBL_LNCV_NUM + [LANG_ENGLISH] = "LNCV", + }, + { // LBL_ACC_TYPE + [LANG_ENGLISH] = "Accessory type", + [LANG_SPANISH] = "Tipo accesorio", + [LANG_CATALAN] = "Tipus accessori", + [LANG_GERMAN] = "Zubehortyp", + }, + { // LBL_ACC_NAME + [LANG_ENGLISH] = "Name", + [LANG_SPANISH] = "Nombre", + [LANG_CATALAN] = "Nom", + [LANG_GERMAN] = NULL, + }, + { // LBL_ACC_ADDR + [LANG_ENGLISH] = "Addr.", + [LANG_SPANISH] = "Dir.", + [LANG_CATALAN] = "Dir.", + [LANG_GERMAN] = "Adr.", + }, + { // LBL_STA_RUN + [LANG_ENGLISH] = "Station Run", + [LANG_SPANISH] = "Carrera de estaciones", + [LANG_CATALAN] = "Carrera d'estacions", + [LANG_GERMAN] = "Bahnhofsrennen", + }, + { // LBL_STA_LEVEL + [LANG_ENGLISH] = "Level:", + [LANG_SPANISH] = "Nivel:", + [LANG_CATALAN] = "Nivell:", + [LANG_GERMAN] = NULL, + }, + { // LBL_STA_START + [LANG_ENGLISH] = "Start", + [LANG_SPANISH] = "Iniciar", + [LANG_CATALAN] = "Iniciar", + [LANG_GERMAN] = "Starten", + }, + { // LBL_STA_INSTR + [LANG_ENGLISH] = "Go to the station of your\ndestination color.\nPress it when you arrive", + [LANG_SPANISH] = "Ve a la estacion del color\nde tu destino.\nPulsala cuando llegues", + [LANG_CATALAN] = "Ves a l'estacio del color\nde la teva destinacio.\nPrem-la quan arribis", + [LANG_GERMAN] = "Gehen Sie sich zum Bahnhof\nIhrer Zielfarbe. Klicken Sie\ndas Symbol, wenn Sie ankommen", + }, + { // LBL_STA_EXCEL + [LANG_ENGLISH] = "Excellent!", + [LANG_SPANISH] = "Excelente!", + [LANG_CATALAN] = "Excel.lent!", + [LANG_GERMAN] = "Exzellent!", + }, + { // LBL_STA_GREAT + [LANG_ENGLISH] = "Great!", + [LANG_SPANISH] = "Muy bien!", + [LANG_CATALAN] = "Molt be!", + [LANG_GERMAN] = "Sehr gut!", + }, + { // LBL_STA_TIMEOUT + [LANG_ENGLISH] = "TIME'S UP\nThanks for playing", + [LANG_SPANISH] = "FIN DEL TIEMPO\nGracias por jugar", + [LANG_CATALAN] = "FINAL DEL TEMPS\nGracies per jugar", + [LANG_GERMAN] = "DIE ZEIT IST UM\nDanke furs Spielen", + }, + { // LBL_STA_STATIONS + [LANG_ENGLISH] = "Stations", + [LANG_SPANISH] = "Estaciones", + [LANG_CATALAN] = "Estacions", + [LANG_GERMAN] = "Bahnhofe", + }, + { // LBL_STA_TURNOUTS + [LANG_ENGLISH] = "Turnouts", + [LANG_SPANISH] = "Desvios", + [LANG_CATALAN] = "Agulles", + [LANG_GERMAN] = "Weichen", + }, + { // LBL_STA_TIME + [LANG_ENGLISH] = "Time", + [LANG_SPANISH] = "Tiempo", + [LANG_CATALAN] = "Temps", + [LANG_GERMAN] = "Zeit", + }, + { // LBL_STA_DESC + [LANG_ENGLISH] = "Address Orientat. Inverted", + [LANG_SPANISH] = "Direcc. Orientac. Invertido", + [LANG_CATALAN] = "Direcc. Orientacio Invertit", + [LANG_GERMAN] = "Adresse Ausricht. Invertiert", + }, +}; diff --git a/platformio.ini b/platformio.ini new file mode 100644 index 0000000..c4fb7ec --- /dev/null +++ b/platformio.ini @@ -0,0 +1,51 @@ +; PlatformIO Project Configuration File +; +; Build options: build flags, source filter +; Upload options: custom upload port, speed and extra flags +; Library options: dependencies, extra library storages +; Advanced options: extra scripting +; +; Please visit documentation for the other options and examples +; https://docs.platformio.org/page/projectconf.html + +[env:esp32-2432s028r] +platform = espressif32 +platform_packages = + framework-arduinoespressif32 @ 3.20007.0 +board = esp32dev +framework = arduino +monitor_speed = 115200 +lib_deps = + bodmer/TFT_eSPI + bblanchon/ArduinoJson + paulstoffregen/XPT2046_Touchscreen + WiFi + me-no-dev/AsyncTCP@1.1.1 + SD +build_flags = + -DYELLOW_DISPLAY + -DUSER_SETUP_LOADED + -DILI9341_2_DRIVER + -DTFT_WIDTH=240 + -DTFT_HEIGHT=320 + -DTFT_MISO=12 + -DTFT_MOSI=13 + -DTFT_SCLK=14 + -DTFT_CS=15 + -DTFT_DC=2 + -DTFT_RST=-1 + -DTFT_BL=21 + -DTFT_BACKLIGHT_ON=HIGH + -DTFT_BACKLIGHT_OFF=LOW + -DLOAD_GLCD + -DSPI_FREQUENCY=55000000 + -DSPI_READ_FREQUENCY=20000000 + -DSPI_TOUCH_FREQUENCY=2500000 + -DLOAD_FONT2 + -DLOAD_FONT4 + -DLOAD_FONT6 + -DLOAD_FONT7 + -DLOAD_FONT8 + -DLOAD_GFXFF + -DUSE_HSPI_PORT + -DTFT_RGB_ORDER=TFT_BGR diff --git a/run_pio_docker.sh b/run_pio_docker.sh new file mode 100755 index 0000000..cbf3174 --- /dev/null +++ b/run_pio_docker.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +# Usage: ./run_pio_docker.sh [additional docker args] +# Example: ./run_pio_docker.sh /dev/ttyUSB0 + +ESP_PORT="$1" +shift + +# if [ -z "$ESP_PORT" ]; then +# echo "Usage: $0 [additional docker args]" +# exit 1 +# fi + +IMAGE="easylinux/platformio-dev:1.0" +CONTAINER="pio-dev" +PROJECT_DIR="$(pwd)" + +# Run Docker container with ESP port and project directory mounted +# --device allows direct access to the ESP serial port + +if [ -z "$ESP_PORT" ]; then + docker run -d --rm --name "$CONTAINER" -v "$PROJECT_DIR:/workspace" -p 8022:22 "$IMAGE" "$@" +else + docker run -d --rm --name "$CONTAINER" -v "$PROJECT_DIR:/workspace" --device "$ESP_PORT" -p 8022:22 "$IMAGE" "$@" +fi + +# For advanced port forwarding, see UsingDocker.md (socat instructions) diff --git a/src/README.md b/src/README.md new file mode 100644 index 0000000..81a9f24 --- /dev/null +++ b/src/README.md @@ -0,0 +1,95 @@ +# Introduction + +This is the source files folder for the EasyDccMouse. + +EasyDccMouse is a system to remote control DCC scale locomotive, it is based on a ESP32 with tft display, touch screen, encoder and battery. + +EasyDccMouse sends actions to a DCC centrale station. + + +``` ++------------------------------------------------------+ +| [O] [⇄] [ID] [⚡] | <-- Header with 4 icons: +| ON Dir DCC Power | [O] Status (ON/OFF) +| | [⇄] Direction (Forward/Reverse) +| [================== Train ===================] | [ID] DCC id +| | [⚡] Power/Connection +| |██████████████████████████████████████████| | <-- Model picture (190x40 px) +| | +| ___ | +| .-' '-. | +| .' '. | +| / \ | +| | /\ /\ | | <-- Speedometer (arc + needle) +| | / \ / \ | | +| | / \_/ \ | | +| |/ \| | +| '---------------' | +| | | | +| | | | +| Needle | +| | +| [F1] [F2] [F3] [F4] [F5] [F6] [F7] [F8] | <-- Function pad (row 1) +| [F9] [F10][F11][F12][F13][F14][F15][F16] | <-- Function pad (row 2) ++------------------------------------------------------+ +``` + +# Implementation + + +## How to draw speedometer with arc and needle on my TFT display? + +To draw an arc-style speedometer with a moving needle on your TFT display (e.g., ILI9341), you can use the TFT_eSPI library. Here’s a step-by-step example: + +1. **Draw the arc:** + - Use `drawArc()` or draw multiple short lines to approximate an arc. + - Example: Draw an arc from 135° to 45° (like a semicircle at the bottom). + +2. **Draw the needle:** + - Calculate the angle for the needle based on the speed value. + - Use `drawLine()` from the center of the arc to the edge at the calculated angle. + +3. **Display the speed value:** + - Use `setCursor()` and `print()` to show the numeric speed. + +**Example code:** +```cpp +#include +#include + +TFT_eSPI tft = TFT_eSPI(); + +void drawSpeedometer(int speed) { + int cx = 120, cy = 120, r = 80; // Center and radius + int minAngle = 135, maxAngle = 45; // Degrees + int minSpeed = 0, maxSpeed = 100; + + // Draw arc (approximate with lines) + for (int a = minAngle; a >= maxAngle; a -= 3) { + float rad = a * 3.14159 / 180.0; + int x1 = cx + (r - 10) * cos(rad); + int y1 = cy + (r - 10) * sin(rad); + int x2 = cx + r * cos(rad); + int y2 = cy + r * sin(rad); + tft.drawLine(x1, y1, x2, y2, TFT_WHITE); + } + + // Draw needle + float angle = minAngle - (float)(speed - minSpeed) / (maxSpeed - minSpeed) * (minAngle - maxAngle); + float rad = angle * 3.14159 / 180.0; + int nx = cx + (r - 20) * cos(rad); + int ny = cy + (r - 20) * sin(rad); + tft.drawLine(cx, cy, nx, ny, TFT_RED); + + // Draw speed value + tft.setCursor(cx - 20, cy + 30); + tft.setTextColor(TFT_WHITE, TFT_BLACK); + tft.setTextSize(2); + tft.printf("%d", speed); +} +``` + +**Tips:** +- Clear the previous needle before drawing a new one for smooth animation. +- Adjust `cx`, `cy`, and `r` for your display size. +- You can enhance the arc with tick marks and labels for a more realistic look. \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..c82ae68 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,157 @@ +#include +#include +#include +#include +#include +#include +#include + +#include "color.h" + +void launchWiFiConfig(); + +// Read WiFi credentials from EEPROM +#define WIFI_SSID_ADDR 0 +#define WIFI_PASS_ADDR 64 +#define WIFI_MAX_LEN 32 + +#define DEBUG + +#ifdef DEBUG +char output[80]; +#define DEBUG_MSG(...) snprintf(output,80, __VA_ARGS__ ); \ + Serial.println(output); +#else +#define DEBUG_MSG(...) +#endif + +/* tft */ +#define TFT_BL 21 +TFT_eSPI tft = TFT_eSPI(); + +char wifi_ssid[WIFI_MAX_LEN]; +char wifi_pass[WIFI_MAX_LEN]; + +void setup() +{ + Serial.begin(115200); + + DEBUG_MSG("CYD DCC mouse Demo"); + // Turn on backlight and initialize TFT + pinMode(TFT_BL, OUTPUT); + digitalWrite(TFT_BL, HIGH); // Backlight ON + DEBUG_MSG("Backlight ON"); + tft.init(); + DEBUG_MSG("TFT init done"); + + DEBUG_MSG("Rotation set"); + + // Print hello world on tft + tft.fillScreen(COLOR_BLACK); + tft.setTextColor(COLOR_WHITE); + tft.setTextSize(1); + tft.setCursor(10, 10); + tft.println("Initialize Network..."); + + DEBUG_MSG("Reading WiFi credentials from EEPROM"); + EEPROM.begin(128); + for (int i = 0; i < WIFI_MAX_LEN; i++) { + wifi_ssid[i] = EEPROM.read(WIFI_SSID_ADDR + i); + wifi_pass[i] = EEPROM.read(WIFI_PASS_ADDR + i); + } + wifi_ssid[WIFI_MAX_LEN-1] = '\0'; + wifi_pass[WIFI_MAX_LEN-1] = '\0'; + + bool ssid_found = strlen(wifi_ssid) > 0 && wifi_ssid[0] != 0xFF; + bool pass_found = strlen(wifi_pass) > 0 && wifi_pass[0] != 0xFF; + + if (!ssid_found || !pass_found) + { + DEBUG_MSG("WiFi credentials not found in EEPROM"); + tft.setCursor(10, 25); + tft.setTextColor(COLOR_ORANGE); + tft.println("WiFi credentials missing!"); + tft.setCursor(10, 40); + tft.setTextColor(COLOR_YELLOW); + tft.println("Please connect to CYD_Config AP"); + tft.setCursor(10, 55); + tft.println("and set WiFi credentials"); + launchWiFiConfig(); // Function to start WiFi configuration mode (not implemented here) + + } else { + // Ok connect to WiFi + tft.setCursor(60, 10); + tft.setTextColor(COLOR_GREEN); + tft.println("OK"); + DEBUG_MSG("WiFi SSID: %s", wifi_ssid); + DEBUG_MSG("WiFi PASS: %s", wifi_pass); + } + // Try to open SD card and read content + if (!SD.begin()) { + tft.println("SD Card not found!"); + while (1); // or handle error as needed + } + if (!SD.exists("/loco")) { + tft.println("loco/ folder not found!"); + while (1); // or handle error as needed + } + +} + +void loop() { +// tft.fillScreen(TFT_PURPLE); +// Serial.println("RED"); +// delay(1000); +// tft.fillScreen(TFT_GREEN); +// Serial.println("GREEN"); +// delay(1000); +// tft.fillScreen(TFT_YELLOW); +// Serial.println("BLUE"); +// delay(1000); +// tft.fillScreen(TFT_BLACK); +// Serial.println("BLACK"); +// delay(1000); +// tft.fillScreen(TFT_WHITE); +// Serial.println("WHITE"); +// delay(1000); +} + +/** + * launchWiFiConfig() - Placeholder function to start WiFi configuration mode + * In a real implementation, this would start an access point and web server to allow the user + * to enter their WiFi credentials through a web interface. For this demo, it's just a placeholder. + */ +void launchWiFiConfig() +{ + // Start WiFi in AP mode, set up a web server, and handle incoming connections to save new credentials to EEPROM + WiFi.softAP("CYD_Config", "12345678"); + IPAddress myIP = WiFi.softAPIP(); + DEBUG_MSG("AP IP address: %s", myIP.toString().c_str()); + AsyncWebServer server(80); + server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){ + String html = "

WiFi Config

" + "
" + "SSID:
" + "Password:
" + "
"; + request->send(200, "text/html", html); + }); + server.on("/save", HTTP_POST, [](AsyncWebServerRequest *request){ + String ssid, pass; + if (request->hasParam("ssid", true)) ssid = request->getParam("ssid", true)->value(); + if (request->hasParam("pass", true)) pass = request->getParam("pass", true)->value(); + for (int i = 0; i < WIFI_MAX_LEN; i++) { + EEPROM.write(WIFI_SSID_ADDR + i, i < ssid.length() ? ssid[i] : 0); + EEPROM.write(WIFI_PASS_ADDR + i, i < pass.length() ? pass[i] : 0); + } + EEPROM.commit(); + request->send(200, "text/html", "Saved! Reboot device."); + }); + server.begin(); + tft.setCursor(10, 120); + tft.setTextColor(COLOR_CYAN); + tft.println("Connect to CYD_Config AP"); + tft.setCursor(10, 135); + tft.println("Open 192.168.4.1 in browser"); + while (true) { delay(1000); } +}