MKR1000 embedded html images è un progetto di cui ti parlerò oggi dopo averci lavorato negli ultimi giorni testando diversi metodi fino a quello di cui leggerai tra poco.
Se hai realizzato qualche esperimento con la mkr1000 e le pagine HTML servite dalla scheda stessa avrai probabilmente voluto costruire una grafica con il tuo logo o con una immagine di sfondo.
Purtroppo il metodo utilizzato per inserire le immagini servite dai server web non possono essere utilizzati con arduino e schede simili. E’ quindi necessario far in modo che nel tuo sketch ci sia anche l’immagine che vuoi sia visualizzata.
Alla MKR1000 ho già in passato dedicato altri articoli:
MKR1000 embedded html images encoded base64
MKR1000 embedded html images encoded base64 ti ha già chiarito la tecnica che puoi utilizzare per codificare l’immagine ed inserirla nel codice html in modo che lo sketch arduino wifi su mkr1000 lo serva al browser.
Procedi per gradi.
Il primo passo è scegliere una immagine e codificarla a in base64. Io ho scelto, come esempio, il mio logo.
Ecco un sito interessante: base64-image.de
con il quale puoi “encodare”, ossia codificare in base64 una immagine.
Trascina l’immagine che desideri utilizzare nella tua pagina web o clicca sul bottone “CLICK HERE”, l’immagine sarà trasferita sul sito e codificata:
nota che il sito ti restituisce anche le dimensioni dell’immagine ( 420×420 px ) utili per realizzare la pagina web. Clicca sul pulsante “show code” e ti si presenterà un box simile al seguente:
in cui puoi scegliere il codice da includere come immagine o come sfondo css.
Per questo esempio seleziona il secondo: For use as CSS background:
e copialo con il pulsante copy to clipboard ed incollalo in un file con il nome che preferisci, ad esempio: miaImmagine.txt ricordati che questo file ti servirà in seguito.
Sei pronto per includere il tuo codice nel progetto mkr1000 embedded html images.
MKR1000 embedded html images crea la pagina HTML
Il passo successivo è creare la tua pagina html. Per farlo puoi usare qualsiasi editor tu preferisca, io solitamente uso il vi di linux.
Realizza una pagina html semplice per questo primo esperimento:
in quanto lo scopo del progetto mkr1000 embedded html images è inserire una immagine di sfondo codificata nel codice arduino e servita dal WiFi Web Server.
Ecco il codice iniziale, così come lo avresti scritto per un server web tradizionale:
<!DOCTYPE html> <html> <head> <style> header { background: linear-gradient(to right, #007398 0%,#46b5dd 100%); color: #fff; padding:10px; text-align: center; vertical-align: middle; } body { padding:15px; margin: 0px; height: 570px; color: #676767; font-family: Helvetica,Arial,sans-serif; font-variant: small-caps; font-size:1em; text-align: center; background-image:url('LogoMA_02bianco.png'); background-repeat: no-repeat; background-position: center; } p { height: 400px; } footer { background: linear-gradient(to left, #007398 0%,#46b5dd 100%); color: #fff; padding:10px; text-align: right; vertical-align: bottom; } </style> </head><body> <header>MauroAlfieri logo embedded</header><h2>:: www.mauroalfieri.it ::</h2> <p onclick="if(window.location.href.slice(-1) == 'L') {window.location.href='H'} else { window.location.href='L'};"></p> <footer>powerd by mauroalfieri</br>CC licence</footer></body></html>
se non conosci il linguaggio html ti consiglio di cercare su internet un manuale anche semplice per comprenderne le basi, purtroppo, questo tutorial si occupa delle parti specifiche al poter inserire una immagine codificata all’interno del codice arduino ed in particolare della mkr1000.
Soffermati sulla linea 03 in cui trovi:
background-image:url('LogoMA_02bianco.png');
che rappresenta il codice css necessario ad inserire una immagine come sfondo, nel mio esempio la “LogoMA_02bianco.png” ossia il mio logo.
Inseriamo questo esempio nel codice arduino mkr1000 embedded html images partendo dall’esempio
Sketch MKR1000 Simple WebServer
Parti dall’esempio contenuto nell’IDE arduino e denominato “SimpleWebServerWiFi”:
al quale applicherai delle modifiche:
/* WiFi Web Server LED Blink A simple web server that lets you blink an LED via the web. This sketch will print the IP address of your WiFi Shield (once connected) to the Serial monitor. From there, you can open that address in a web browser to turn on and off the LED on pin 9. If the IP address of your shield is yourAddress: http://yourAddress/H turns the LED on http://yourAddress/L turns it off This example is written for a network using WPA encryption. For WEP or WPA, change the WiFi.begin() call accordingly. Circuit: * WiFi shield attached * LED attached to pin 9 created 25 Nov 2012 by Tom Igoe */ #include <SPI.h> #include <WiFi101.h> ///////please enter your sensitive data in the Secret tab/arduino_secrets.h char ssid[] = SECRET_SSID; // your network SSID (name) char pass[] = SECRET_PASS; // your network password (use for WPA, or use as key for WEP) int keyIndex = 0; // your network key Index number (needed only for WEP) int status = WL_IDLE_STATUS; WiFiServer server(80); void setup() { Serial.begin(9600); // initialize serial communication pinMode(LED_BUILTIN, OUTPUT); // set the LED pin mode // check for the presence of the shield: if (WiFi.status() == WL_NO_SHIELD) { Serial.println("WiFi shield not present"); while (true); // don't continue } // attempt to connect to WiFi network: while ( status != WL_CONNECTED) { Serial.print("Attempting to connect to Network named: "); Serial.println(ssid); // print the network name (SSID); // Connect to WPA/WPA2 network. Change this line if using open or WEP network: status = WiFi.begin(ssid, pass); // wait 10 seconds for connection: delay(10000); } server.begin(); // start the web server on port 80 printWiFiStatus(); // you're connected now, so print out the status } void loop() { WiFiClient client = server.available(); // listen for incoming clients if (client) { // if you get a client, Serial.println("new client"); // print a message out the serial port String currentLine = ""; // make a String to hold incoming data from the client while (client.connected()) { // loop while the client's connected if (client.available()) { // if there's bytes to read from the client, char c = client.read(); // read a byte, then Serial.write(c); // print it out the serial monitor if (c == '\n') { // if the byte is a newline character // if the current line is blank, you got two newline characters in a row. // that's the end of the client HTTP request, so send a response: if (currentLine.length() == 0) { // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK) // and a content-type so the client knows what's coming, then a blank line: client.println("HTTP/1.1 200 OK"); client.println("Content-type:text/html"); client.println(); htmlPage( client ); // The HTTP response ends with another blank line: client.println(); // break out of the while loop: break; } else { // if you got a newline, then clear currentLine: currentLine = ""; } } else if (c != '\r') { // if you got anything else but a carriage return character, currentLine += c; // add it to the end of the currentLine } // Check to see if the client request was "GET /H" or "GET /L": if (currentLine.endsWith("GET /H")) { digitalWrite(LED_BUILTIN, HIGH); // GET /H turns the LED on } if (currentLine.endsWith("GET /L")) { digitalWrite(LED_BUILTIN, LOW); // GET /L turns the LED off } } } // close the connection: client.stop(); Serial.println("client disonnected"); } } void htmlPage( WiFiClient client ) { client.print("<!DOCTYPE html> <html> <head> <style> "); client.print("header { background: linear-gradient(to right, #007398 0%,#46b5dd 100%); color: #fff; padding:10px; text-align: center; vertical-align: middle; } "); client.print("body { padding:15px; margin: 0px; height: 570px; color: #676767; font-family: Helvetica,Arial,sans-serif; font-variant: small-caps; font-size:1em; text-align: center; "); client.print("background-image:url('LogoMA_02bianco.png');"); client.print("background-repeat: no-repeat; background-position: center; }"); client.print("p { height: 400px; }"); client.print("footer { background: linear-gradient(to left, #007398 0%,#46b5dd 100%); color: #fff; padding:10px; text-align: right; vertical-align: bottom; } "); client.print("</style>"); client.print("</head><body> "); client.print("<header>MauroAlfieri logo embedded</header><h2>:: www.mauroalfieri.it ::</h2>"); client.print("<p onclick=\"if(window.location.href.slice(-1) == 'L') {window.location.href='H'} else { window.location.href='L'};\"></p>"); client.print("<footer>powerd by mauroalfieri</br>CC licence</footer>"); client.print("</body></html>"); } void printWiFiStatus() { // print the SSID of the network you're attached to: Serial.print("SSID: "); Serial.println(WiFi.SSID()); // print your WiFi shield's IP address: IPAddress ip = WiFi.localIP(); Serial.print("IP Address: "); Serial.println(ip); // print the received signal strength: long rssi = WiFi.RSSI(); Serial.print("signal strength (RSSI):"); Serial.print(rssi); Serial.println(" dBm"); // print where to go in a browser: Serial.print("To see this page in action, open a browser to http://"); Serial.println(ip); }
la prima modifica riguarda le linee 80-84: che sostituisci con la chiamata alla nuova funzione htmlPage( client ) passandole l’istanza client;
la funzione htmlPage la definisci, nuova, alla linea 110 in cui l’argomento atteso client è di tipo WiFiClient in quanto istanza della classe omonima;
linee 112-124: nota che ciascuna linea è identica ad una delle linee della pagina html, postata sopra, semplicemente includa nel comando client.print(“”); che indica al web server di inviare in streaming il contenuto all’istanza client, il tuo browser.
In particolare la linea 115 è volutamente separata e contiene il tag css background-image visto sopra, il tag che ti permette di inserire una immagine di sfondo.
Purtroppo così com’è il codice, se lo caricassi sulla mkr1000 o altra scheda WiFi arduino non ti darebbe errore ma non funzionerebbe in quanto la MKR1000 non saprebbe dove recuperare l’immagine “LogoMA_02bianco.png”.
Ci viene quindi incontro il lavoro eseguito prima di codifica dell’immagine, anche se prima è necessaria una piccola rielaborazione.
Elabora l’immagine base64 per MKR1000
Ricordi il file miaImmagine.txt ? E’ giunto il momento di utilizzarlo e di includere l’immagine nel codice arduino.
Prima di poter essere utilizzata, però, l’immagine codificata, devi rielaborarla per:
- dividere in linee di 162 caratteri circa il file
- aggiungere il comando client.print(“ prima di ciascuna linea e “); in fondo a ciascuna
La scelta dei 162 caratteri è nata da alcuni test che ho eseguito facendo in modo di trovare un compromesso tra il buffer del comando client.print() e un numero di linee in cui dividere il file miaImmagine.txt non eccessivo.
Per eseguire questa operazione ho usato una sequenza di comandi linux:
$ fold -w162 miaImmagine.txt | sed -e "s/^/client.print(\"/" |sed -e "s/$/\");/"
in cui il comando fold -w162 divide il file in linee da 162 caratteri ciascuna;
i successivi sed in PIPE aggiungono il prefisso ed il suffisso a ciascuna linea, il risultato che ottieni è simile al seguente:
client.print("background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaQAAAGkCAYAAAB+TFE1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAbmRJREFUeNrsvQmQHNWZ73"); client.print("syq7pb3VLT2vcF7WhDEthoYZFAGIvdGINnzMM21+8O+D7P8ogbcWNsRzy/CNtz78Qbz8yde8fYM17wQozZzCJAWEhoQwsgISGEhPZ9X7rVknqtypdfVmbVyaxzTp6srqqu5f+XTmRW1p6Znb/6f+c73zEYBBVRP/"); client.print("jBD2hhRHyakeO2fD4v7DmWxnMsjedYOTzP0nw/5Wdzjw0E9ZoM7AKohABkaGw3IoBE9NhyAZKl+Twrx9cHoCAACQKE8giU4HouQDI0P0uUv5coLkdnu+gxYY/ThZY2TAEoCECCKgVAYRf4KMDR3a6zlMEsV+cUxalY"); client.print("ChBZIYCKur2nzgpwggAkqGIgFLYuWoaBR2eb6DV0gKb6zMFtYa5D5YJEQFFBxlK8hu42HeABUBCABJU1hMLCYboOx5CARee2oQEfXbDpOrxcQnQqaKggZQkaC3lMVHBFcVOAEwQgQSUJIVUYTBcGMriYiseEAUkHZm"); client.print("GAYhGBxHJwMlHAE6XJIJXMAVBR3BPgBAFIUK9ASDd0ZuS5mREeq+umigEkXUcT1pKa97PAY0W3rZDbjMlDf4ATBCBBJQmhKAAyc9xmRngOCzgsU+Pzhn1nHQDpQikIiKB7SWqAKKl5XxjEZJ+hJ2E+gAkCkKAegyhX"); client.print("CJmaADIV20T3R70v+L5hQArrSwqDkk6GmyqsJnMzKujIljqPUT1W9hlUjg5wggAkqNchpOtmRMuwbaJ1nfukn2f48OH9Zs2aNcGyLGPgwIFDGxsbh9L2+vr6YX369BnmfflYLNbXvj0hn/"); client.print("u+vb39QCKRuOzd7ujoONXW1naaLs6XL18+c+HCBWd9x44d+0+ePNkaAqSkZD3sfp3Hh7mpZA5wApggAAmKBKJcIBTmXILrotth9+m+ljF9+vRhI0eOHDZixIjxtbW1/"); client.print("WzgTIjH4/3s9WE1NTVDy+mYdXV1ne7s7DxNEGttbd1n37586tSpAydOnDhlQ+uUBDBh25IRn6cTFtTJ/gOcIAAJECoKhHRAwreYAkimDqzmz58/"); client.print("YciQIcOGDh063obOxLq6OnI446vp+NqOaz8By3ZX+86ePbvfbqfee++9fQGYJBQwSkQAlsqNRYUTwAQBSACREjy6EAouY4FtMQ0IxTQAld62ZMmSWeR4+vfvP6Fv374Tqg08UdXR0bH/6tWr+1taWvbZjmr/22+/"); client.print("vU0CoUQOgAoDVlhYDyE9CECqchDJ+oaipFbrOBgRdGRLb913e968eRMmT548E/ApCKT2EaT279+/ff369fs4AMmWYQBThfnCQnxwTRCAVKUg0nFDpgJCRoiLES2D68L77rjjjlnXXnvtzAEDBsyqr68fT8kEOKKFVz"); client.print("KZvEwhv+bm5m1Hjx7dvnz58m0ucERwSuQAKVEShW5ojyngBDABSFCFgCjMCan6f3ShE1Pdd9NNN00kBzR8+PB5/"); client.print("fr1m4mjWDqyHdT2M2fOrHcd1N4AjIKASoYsLQWo8uGaACYACaoQEJkKEIlcUBh4pG3YsGHX3HrrrfPsJbmgeXBA5eOgWlpa3jt79uy2NWvWrD9x4sQlAaBELko3xNeT/"); client.print("iaACUCCygREKhiF9QeJ+ndEQIoH7ouLXNCoUaPuoDAcjlz5i/qgTp48udx1T3s4+HRLQCVyVDqJETrhPIAJQILKFESycTwxDSekAk+cXxKE5syZc/ugQYPm1dbWDsVRq1zR+Kjm5ub1H3/88dscnLpDACVLmogKJ4A"); client.print("JQIJKEERhMFKNBZL1B8VkwAksASHIg9MpG07v2XBa7sIpCKQwByUDVNggXIAJQIJKzBGF9RHJMuNkTijogOJBEF133XXD58+ff8eIESNuB4QgXt3d3afOnj27fNOmTW/bgDrOASkMUj1xTQATgAT1MogYU9eMUzmim"); client.print("C58vDZ06FAnMWHixIn319fXX4sjBYWpo6Nj35EjR15as2bNuuPHjzczcVhPBqawVHKACUCCSgREYXXjVBASht6CAPLa7bfffv306dNvHzBgwE3IjoNyEWXrXbp0af2ePXuWv/XWW1sDrkmn3ykY1hPV2dMFE6AEIEE"); client.print("5wCgsfTusf0jW4iGthtzQnXfeefu4cePuQ0gOyqcopGe7pRdXrFix3HVNHoi6mD+c1x3imBI9dEwAE4AE5QlEPXFDWQDy1j//+c9Pstu9AwcOhBuCiuKatm7d+uK6dev2uEDqFgBJ1deUYNFCeQjjAUiQJoh4+IhAp"); client.print("Crjo3JCsSB4guv33HPP/GnTpt3br1+/GTg6ULF19erVbfv373/x5ZdfXsu5pTA45QImuCUACYroisIGs6pApHJDNRyIKCzXdMstt8ybOnXqo7W1tUNwZKDeFoXzDh48+GsuCaJb0BIhcAor7soAJgAJINIPz6kKnOq"); client.print("MF4pLHFGNByLbEd07evToexGWg0pRFM47ffr0i2+88caLHJi6BG5JlAgRVqIoLIwHKAFIVQsj2WBWVep2mBuqESxrbCc04rbbbrtv2LBhiwEiqFzAdP78+eXvvffei9u3bz8mAJMMTmEDbRHGA5AAIoEbCsucC4bnw"); client.print("kJyPjdEt20QjVyyZMmjQ4YMWYwjApWrmpubl69evfrXCjCpHJMoIy8JtwQgAUbqsURh6ds6EEo7IoAIqnAwdYW4prBQHtwSgARXxNRzEMUEjijGQkJybqu1AdT0pS996dGRI0feg6MBVarOnj374quvvvrr48ePX1S"); client.print("ASac8kSzpAVACkKrCFcnmIYoJYCRK264RNQLRPffcc9+YMWMoWaEBRwOqdHHJDy/0AEyqqg9wSwBSxbsiWT+RLDQnA1Gtt/7QQw/dPmPGjG8CRFC1gmn//v3/67nnnnvThVFXAEpeFQhRH5PF/"); client.print("LPbwi0BSFXjivhBrQbT6yOSgmjRokXXL1y48NsYRwRBqXFMW7du/"); client.print("e9vvfXWFvtmJwcjVR8T3BKABFfE5Jlzwr4hblk7ZcqUEffdd9+3Gxsbp+NIQJBfVPnhT3/6099xiQ88lLqYvPJDEm4JQKpUV6RT6seDUXAQa60ASJSw0P/"); client.print("BBx98ZNSoUXfjKECQWufOnXvxlVde+ZXbv9QpcUuyVHG4JQCpLGGkm0GnCs/VBGBUG4SR20/0DfQTQZC+uP6lNwJQUoFJ5JYwbglAKltXpIJR0BVlOSEOSLU33njjpEWLFn0d4TkIyl0Uxtu8efP/"); client.print("XLt27e4AlLo03JJOpQdACUAqCRj1xBXJYOSE5+6+++57x48f/zCOAATlRydPnvzVm2+++fyxY8cuRgBT2Iy1DGACkHoLRrr150QwCrqiWhGMbrvttutvvvnmp5A9B0H5F2XjffTRR39ng+lDF0SdObolJDwASCXhih"); client.print("hTJy6IXFFNiCuqc5MWvoKkBQgqvCjp4dVXX/2Fwi11sfBq4gjhAUi9CiOdEF08BEY+EHGu6Em4IgjqNbfUyeRhPFGlB1kmHgOYAKRiwigYohONKwpLWuBdEaVyL8Xeh6Bed0sXWM/7lhjcEoBUKBAxpp5GXJa4oAKR"); client.print("AyO4IggqObf0Y4lbCg6qRQivAIphF0RyRapU7jjLTlKo41ofrtV//etff3Tu3LlPYbI8CCoNmabZj/pvp06dam7ZsuUTJg/Ti2Z61v2RbyxevJitXr0aOxwOKWcYqYAU13RFTl/"); client.print("R5MmTRz700ENP19fXj8PpB0GlqY6Ojn1vvfXWd7dv336URetbkrklBrcEh5RvZyQLy/"); client.print("HOqI5b8q6ozxe/+MUFd911139DiA6CSlvxeHzglClT7h4yZMjxXbt2HdNwRmE/+A24JTikfMFIVZk7zBXVDR48uP8jjzzy9aFDh96GUw6CykvNzc1vvfTSS//"); client.print("TTXjw3BJfTVxWegj9SgBSTiAKc0YydxRXgMhZ3nDDDZOWLFnyZENDA0J0EFSmohDexo0bf7xmzZpdLoxkdfFUkwACSiGqqpCdJoxEIBKF6IIA6sMCYbovfvGL821L/"); client.print("nRdXR1CdBBUxqIQ3tixY5coQniq8JzOD3+E76oJSBFDdKqEhayQHBP0F33rW9/65vTp0/8P0zRr8OcMQeUvwzBqhw4dumTmzJnXfPDBBx8yefZdzm9R7VCqipBdjpl0ourcwSSGuiCYBg8ePODxxx//m2uuuWYa/"); client.print("oTzp9X7TzjL5rZOtv3E+az7F00c4Sz719exOSMHYYdBBVVbW9u255577m/dskOqEB41PnynmmOJV1WG8CoeSDnAyKu6wJf/qdFwSHVz586dtHTp0r+pra0djD/Z3ETAIfgQdGi57cQ5Z1tUXTuwkV07oJEtnjiSzbY"); client.print("BRcv+9bXYwVDeRANp169f/12NfqVupp6VFlCqBiDlCCNRuE424JXWnb6jBx988PZZs2Y9hgn0omubDZ9XPznEXvnkoLNeKJFz+tLM8ezBmdfCRUF5EU0AeODAgX/5/"); client.print("e9//3oASsEsPJ3xSoxVebJDxQIpTzAKdUUEpMcff/zhCRMmPIQ/z2hO6Ncffsb+ed0OduhCa9Hfn4D0jc9PZd/83FQ4J6jHonmWfv7zn//"); client.print("CBVEHE09pkRC4JaSFVzqQ8gAjUXXuLBDR8qmnnnpy2LBht+BPUk+HLray//dPW9ivP/isJD4PwYhc0/9z141OiA+Ccv6R1dz81j//8z//WAIlkVNKAEoVDqQ8w0iWTeckLzzxxBPfbWhoGIs/"); client.print("xfIDkUjftB0TwAT1RDRe6Xe/+91fHTt27DwTh/BUJYeqHkoVlfbdAxjFNR1RPS3nzp07+eGHH/4bwEjjV2NbJ/"); client.print("sf725jD/367YL2D+VD9PkohGjY/+aMHMz61KD2MBRNNF5pxowZ82Kx2GeHDx9uzreBqPS08Ir5i+shjEQVF7JA5MHo3nvv/W5dXR0y6UJEWXJ3//"); client.print("ub7JVPDpXd5/7D9v1OPxNl60FQVCjRIFp7dUsAShirVA1AyhOMRO7IN2XELbfcMvuuu+76r8ikC3dFf/vmZvbtl9bllLJdKt/h2Q/3sBZ7OX/cMLglKBo1DKN23LhxS/"); client.print("r27fvZvn37TsMpVQmQigAjckf1lNa9cOHCv0blBbUo7EXhuVd2HqqI77PpyBn29mdHHSgNb8TvECgalGgm6NGjR5/ZsWPHAe7aFLxW5fTyAFJ1wSgNpQceeOD2uXPn/"); client.print("mf8ialFoTmC0aGLlyvqe51qbWN/2LaPXTd0gN3640BDkTRw4MBbbTCdtaG0n0WbzE+pSnRJZQukIsGo/"); client.print("tFHH7131qxZ38CflVo0pujPf7eStXcnKvL70ff6w7b9Tp8SJTxAUBQNGjTolgkTJrRt27Ztdz5NWKVBqWyBZB+IgvcZPWXr2muvvRd/TmpROvf//eqGqviuVFGC6uVRCA+CoqipqemmOXPmjNi8eXNP/"); client.print("lisSoZSWQJJ4I4KAiMMeA3XE39Yzf5p3Y6q+s7Up0TJDkuvG4MTAIqkPn36TLahNLKHUKpYp1R2QCoCjPoARnqiMB25o2oUJTsgfAflCKVJGlCyqhFKZQUkRb+RCRgVH0ZP/"); client.print("Mfqqt4HFL4DlKACQMnK8WXLHkpmBcAIzqjIotTu3oaRYRjp1pui/VDqFSig0lT//v2X/vVf//X3mX/2AP5aFWf+0mb8fG2ySQHLuhxcWTgkDRiJJtYLTqoHGOVBNGB07j++WLBsOg8ypmmml9RisZhwXXSbf54HrEL"); client.print("Ci1LCn1owA4NnoXw7JZlzUjqocnZJZfEXFJJRJ4MRXw4IMMqTqBTQ7jP5KdEVBA+BxWs8aGKmvYylls46B580lLj7go/zXod/v3zCieD82dlm9mdzJuEEgXKFUjD7TgWfsJO3bEN3JQ+kkCSGMBiJKnb7YETjjJDar"); client.print("SfKpvvZxk97DKAgfJxmuiDywBOEUpYr8jceTOnHGe5tQ3BfwFH1FFAEaaSDQz2A0uRRo0adcQfPytxRlJO0LKFU0kDSyKjjpxxXTawnHPRKFRhmzZr1dfw5hIumj/"); client.print("jz370TOVTHQ0gKIpPfRo9zl879qWUKKO56zBSCxYGL6b2fkX4cDywHTl7LM5w2HznN/mzuJAdMEBRVNHiWq+ignEW2UqFUskDShJEogYGfcrxOBaO5c+d+C38Genro13+KFKqjizrvbqjFY/"); client.print("EMgNwWj8dc8HAQcm87bol3SGmX5H8N030s/3iTc0OGQaByIWW6j0tDKJaCJgcpD2pR4USwPmyDG6E7qCdQcmvfqZwSi3CfASAVD0Ymy2Si6Ibp6m+++ebr7faXOP31RNMx6Iw34vuC4vG4D0LOMuiOXMgEHZMXtjPT"); client.print("/Ul82C4mcUcxFy5m9mPSAIqlXZLhNQ9SRiApwsgNTATtxRNHYtoKKGdR7buGhoYdbpVwmVPSSnAglZNLKkkgKZIYTJbdbxRn4jmNsvqLqM2ZM2fSF7/4xadRtVtftz/"); client.print("zunIaCc8NqUJxnoPxXEwsLgJRPO2WvHBd2hl5zocDmRm4z+DCe77nePdxgMoK4aUdlJF2VWkYmRlA6YBp+4nz7KkF03HiQDlrxIgRlGT14eHDhy8y8eyxUVQ2obuSA5JmEkOMc0d8mE7pjAhG991333/"); client.print("DfEb6ogGwz36wJxxEpj8hIeaFzzwImV7Yjk9iiAvdkpl+jXh63fQenw7RxdKuKH3b7X+ipWHG/CCy7/dBKe2MDEEfUgY+Wdl5Zvj4J6oOjgGzUE/kzadkLwlKFzg3ZClCdFa5QylehjDSmX48C0qDBg0a8IUvfOH/"); client.print("BIyiSRSq8y7IDigM0fgf96Luu204QPD6c/iBrWkI8INdgwNf0wAwMqvOaWG5/7m/Rcu+ZVnukhbJ1G2W2m7x9yeTLOncth+TtJzPS/cl7e2WmVrS56fHmEl7mTRZ0rCfYyad+7yWev2M/"); client.print("nntDvbNz03FCQTlLPtc7LdgwYLv7t+//6+OHTt2XgAjK7Du3U5KQGX00GlVj0OKkFEnGvgqc0be1OP13/nOd77X0NAwFqe5vmh+o2Cad1amnJeYYPIZcjEuLOeFz+IZR+R7DXd7nHdK8fR2M710t8dF4bqM2zL5sF0"); client.print("62SE4fsnI9COlbxvphAYnRMdS2wy+TykdvvMD1DtreSiRS0JfEtRjxxCPD5wxY8a89evXLxO4IFUmnnBbqbukkgFSoN8oSkmgUBg9+eST/3nAgAEzcXpHE01BTunewfBcdoJCAEQ8BDgQZUJrHoTc1/"); client.print("GWQhDZLe6BiNYz0PKaEc+AJxWaC4b0XFeW7jeK+UNwpukDj0mM8dyckQnt+ZydCybHsXFhPB5KLe2dyLiD8gIlbuCspQGlsg3dlQSQFO5IlcQQOuiVYPTYY499eezYsXfitI4mApE3x5Evc87rC/Kla8fSzscDRszM"); client.print("OJgYl2TggYggY6ah5C697dx6rMZd5yBmxmp8QOKhxrsmI+YHVQZGBgcnM9A/5CY0+NwQ75S8dZYVamTuNs8tUcbd39x6PUoKQT0WDZydOnWqsWXLlu0hTklHJQulXv9LiViJQQQjmTuqv//++xfbdvfPcDpH168/3M"); client.print("P+tOdYxhW5MEqlc5uco8kAxwm78ena6fviPhBlwnQ1DsA8ONEy7mxL3ZeCTI0DoNRja9KwSt8fD4T00uscjPikhVjKDcUM0wclHkLpdHDODaVhFNJ4KJGGN9ajegOUFzU2Ns51xyjtC4AolwG0BoDUMxjFNGCUhtLs"); client.print("2bMn3nbbbX+B9O7c9F/++B47e7XDP5YoDaPskF2Md0C+FO14Vr+QA5OaoDuqcWAUc+ETq3EhVMPDKLPN5FyWs52Dksll6PlCd3wauJf67TkhL92beo9M5s+08yATgI8p2BaE0qnWq+zJ+dNwQkF5Uf/+/"); client.print("edymXdhY5SUcCpFl9TbWXY6E+0Fa9SFhuwoo+7uu+/+DjLqctPhi5fZJ6ebM6E3X/mdmKJsT3DMjxs6c8f+GNxtw+13yqRnx1z3khrcytzXYG5IjKXDY+6p4p05bp8NnzVnuVlzzMmc81ois0wkUplxTiad/"); client.print("f7OfalthknZdCZL2o+xrNR7Ws77JlLZdgl73X5dp7/IBVDSbokAlBL2P3uN7bD3Y3N7J+vfpxYnFtRjUebdLbfc8uP9+/c/"); client.print("wWXeqZoHI0MAJ8M2BZZrDKobSIqdoNN3FJxOgodS3eOPP/5/1dXVDcLpm5te23UkMozS4HGBFPP6cLwxQL5xQN59cbefx4WUmUlISCcVxMy0C0k5D/"); client.print("GflsOlpJvOnfTSuCkl2wVRIpGBkgMkF0LO9pizzUymtlNqN31OWjcSBC37/ZOG81wbPzaQUu4oGYRQej31OROJ1O3XPz3CHr8ByQ1Qni7a8fjwr33ta3/393//999x/"); client.print("wKSXBNByZv3LimCEiuhVPBeCdlFGPwaOYnhiSee+NqwYcNuwmmbu36y7hO27/xlbiqImCBM5x/garr9R5kwXCZrzuT7jpxwXK3bUqE5J+RWU8fite62WjekV2eDrcZg8TrD3mafBHaLuc1+in1fqtlcs1/"); client.print("XXtqPNeN2q8mkmhP0fEkO3rgovoSQV4EhEKIzmckBxnT+bp3bTByq84f1WGrd/tdku6P7p43BiQXlTTU1NcNnzpzZ+IEtlj0eSRSik0KnlEJ3vQIkRYq3riuqZYFiqdTuvPPOz8+aNeurOF17+IPhne3sSnci3TcUz"); client.print("xo7FCgNlE5qyGTLxT0guIkJqT6jWrcPyINRrQ2WFJziBKFa+71q7fepJQilAETL1G272ctYnQeoTIt76zaMCGCxmLtun0FmLFX1O+3IDDd0aGTAlOo3CiQtuGFBZ8257Z6kXnadAEpZt1mmL+lbn5uMEwvKqxoaGmY"); client.print("MHjz4wK5du44w8UBZGYiC20om667oIbtAqC5Kv1EwmcEXpps9e/"); client.print("aE+fPnP4HTtGc60nyFHW9t40r2mJmpH7LCdpm6b844ITPllBzn4QLJWToZeqn7DG5skTeuyHE15HDso22460Ys5XycBANvaWQKNtDS4v7knC4k6jZKpFqSlt1Gakm3ab3bYkmbclZ30l6P2fdRaLDb/"); client.print("twJ+7bJkvY6AcrpJyKHlDCcqgwUrjPsN6C3TtK6kepDou1JL44YBBJ3hu8804ITCyqIpk+f/rfnzp07uWbNmp0ciFThO0nQuzRCd0V1SJrjjWIsfG4jnzuiJIaHH34Y/UZ5EHXC/8cnR7IqKpi+jDozUzeOq9Bg1ri"); client.print("15tIp2Z4z4jPnajMhO9sROWE5z+mQ87GPaNxr9hGuIZdknwU0lKfGBmDcbs7SSK1Ti5mcK6KwHYXxatwwXoxv3Dgik+un8kJ0Bh+iM9IhN4P+TpPJTCiOGRyDvMd4/9wTnAeTvbx53BA2tn9fnGBQXkU170aMGDHj0"); client.print("KFDqy9dutSh4ZRKOnRnFnv/abgjVciuVgQmG0Z/3rdvXwTp86ANR85xs7e6UOLnHfIgxBdRdUJgzB0Y6/"); client.print("YfpQe1uunctV5ozm519jYbRPE+NlzsI+i0BrvZ1+tau9XZ2+tssNTZL1pnX8z7MK+5sVmu8SU5vF8pzvNsONXS6/d1W33qfTKwo1BfPPV5+P4r3xinlLujE5OfTj3GwTh79loO3lx18mMtbTi5oILI/iE+yb4G/"); client.print("hXLzANXw107+WgTf30VVQc2ejvjrmghO81QnWpaCVFSQ92dd975OfsXwgKclnn7xZU9fXjWvEOZOYQMvmI2FSDlB6q644MM1ymZ3kBYLiGBEhTM2lQ/EfX5xAQxW1PxlxSMUVBLcMuE/YSE/"); client.print("foJG1DJzpRTSnbRdosl6T7HFdUwo9vI9BcZXSxdos7qctK7LTMVM6RMO0bp4BSscx0ShfH8pzL3GV2XdPTSVZxcUMHUv3//u20orX/ppZdWBf4ckoE/"); client.print("k9BU8N4M3RUlZJdDqK6GacxvNGHChJF33333X2Pwa/70D+99xo5fbg/AyF8Xju9H4qcYJzg5SQpu8oJTmcF2HfF0qC7GJSrYB9cJ0aVCdTVm9sGutS/m1Pq4rY5rtVyrcRuF8WKBlj7BjFS/"); client.print("lNMMFujrSWXUsXTyQua+ZEdHKmTH+Mw5P2wyyQ7cDS6ER7fHNNWzpZNH4ASDCqbBgwfPa2lpWX369OnLTD4eKbTMUG+G7ooVstMN1cWYegZYn0P68pe//F/sC2c9TsU8nhBZziiWntAu5s686oXx/"); client.print("GV5UiEqg8bzeCE7vu/IJo4DIzcrjmBEoTPqI7JvZg6qC596u9GoZup16ee2a9zWRL8I3WWTu63RbfT4Bi6MV8dBq5b6n2rcEKGXxZfO0jNTIUa3CoTj7JyT0hKPu/JCcmagP830+t4y2+n2sdZ2nFxQof92+9k/0H8"); client.print("cCN3VCEJ3MS7YUFKhu4KH7CKE6kTTSgjDdNQee+yxB9FvVBggBWEUE4Tq0hUZjMz8R87SSqYOpq9St30fXfhrMuOInOSFuBuTJXcjOej8uvdYk4sreKG5LmqW5Sw73Nud7snU7d3vhiSdjD7nNaz0SZhwfjdSCnjce"); client.print("WFnBGFrR3p+pNRcSszJtnPus7gZmCyDZU9B4/87Nw0TJxdUcFF/0l/8xV/8p5///Of/JgjbBcN3ZqmF7goasstDVp1wAOzChQtnff7zn/8GTr/865/"); client.print("e38eudCUFMHKXhqmo1uBWYbChVNO30R3wGncGrHowclwJwagmFWJzwm3MX27DSViwt/"); client.print("e1Wz+3NdrtGrt5rqjRdU0N7knhwIsP1XHNCJx8XmzACctZhu9PMXXbYMn2NpbsbOfGFPkz7BgX7vNe1FAEBkZfU8++Mn0UTjCo4KIirPaP9e179+49KQCRVcqhu0L/"); client.print("bIsSqgtLZHCuVwMHDux/2223AUYF0onLHZnsMVG5oFgsBEipMTusu8sN2xmOE4p5rSaVmm1vzh7p7IXqCEJuKI5CczQROPW+jLYbzbA4JrAc7d5PjxvgPo+HFd/"); client.print("v5ItjxFOJFQRH73M6VR9sEFvtbdxMuILvafjHYsU4Z8kngcS4/QJBxdLcuXO/O3r06IEhYbuSC90VDEg5hurCBsHWPvjggw9gvFHhQ3bBwa/ZF+JMuI6fttxbT7ZdccYHUVZbCkZuFQUCgMEdaK9/"); client.print("h6DhAqTBBQo5oUEubIa7sKlPh+/s59it3m793ftHuI/vzzL9SX0491XjhQfTTsrN9PNKD8VT45msjqup0KNh+r5TEEz8bUMF6Zjplh6CoOKI6t3Z18r/"); client.print("xPyRcB5MpuS6bAiMREU4JEOyzdQI2Yn6jWoXLFgwfezYsXfgdCsmkLi0bsNfncG/"); client.print("zl206UJOhU07r2bK93gOyU3t9sAQPOD1LpAaHbAYbIgbqotlVUNgvsGpphvWo8c3uWG+egdYASBxzYFS4LMRQLuvXAnMMGsIwGRkQdoQwikT5oSgYmrw4MGP3HPPPZ+Tnf7MP6pCCqViuqSC/JXk4I5UYTqnUahu0a"); client.print("JFCNUV+oQIOiCDh5KR7QwMP4i8Sgh0X+LyZbeWnAsiaqbrTlh2KmXql0cqy66vA6IUnGQ/3UQnWYPrrJxwnZFJHa9hmXBdVtzC+Yypz5lsa3Ng6uuDMhUw8lykIYIRv88QsoN6LXQ3QOCQRFDq9QGzeQeSIJEheM1Q"); client.print("jT0SwoiuUw888MD9CNUVyyEZ0jCUyCkYXKHSjKOg+Rdsl3SV+mKY2wzJwc+E0Sicx4fucrmMe1Uc6lgmO88Jz3mhOmb4/"); client.print("xK5z9fVctUtwGr6pi3PuCQjG8RpKHnN5JaZfQJBJRq6C3VJxQrdFcIhqRIZTJZdQFWUyOADE4Xqxo0bh1BdsYCUvqAa3IWZD9MJYGSY3JTfGZh1XLjspFennueHkVNn253uQVSeI6b0QvK/"); client.print("nRgLqZvC1aDzblPrvHjVyf/2wSULTKbwuxuB/iZ/31Jqn0BQL4fuZCWFRKG7sMhX6QNJEaozAzASJTMIHZIbqvs6TqtiAcnI6j/JhOtE7iAbRhlHQRl3jHU1t6dL8aR/"); client.print("lXjzDglOEE8WfwqlO4xYoP8oUCHB8ENKFS9O9z+xVOnwzovtwjmO0n1oZqZUUua7u4/"); client.print("hQJ1pPMTgkKCSCd2p+pLM3nRJ+f7ZZoT8pFWBSOiOli5deidCdUUEkmH6nYFpZl9kQ2AUvKB32kCiWVxTc+AF5hdKw8cbMGE4k3932Y/p9nNIqw+JGj2vy25UYs6pQ+cOgQ3+ZaUBSO7oQkdqHFL6c2e+bxBO/"); client.print("u8pCN1x8OYdFgT1ZujOdklfZeICrCaTl40saoJD3oCU5+KpTrv++uvHT548+V6cTsWTYfpdjt8dGYGLtApGGYgRjDovtAeQECywlZpbKGGkgEJVFqgcaSLi50+4z6PnU2UGqtKQAhNzphwPIs25lbBY+/"); client.print("mO9BQUZvA7mmI4ZTvF7O9ucOFPCOpNjRgx4onbbrvtOgWUTI3QXUFP5LwAKUIiQ4yJxx0JoXTHHXc8itOoyEAyMiGp7CYAkRRGhi9k1X6+k1kJK+uMTrruhUDkwMiFCU3WQBUiWyNAqdt9/GX3+V4JIa/6twM+zjV5"); client.print("ajvb4TzAcGcBNAIwNrhlllsK7BfeRabCnwYcElQymjdv3l8x8RQVcaY5NqmQLilfDimsIoMR4o6yMuvuvffem5uamjDvc9FDdl4fkvhinF6XhOeCMPImuqMLfjtd+Blft8RwnUsKGB6MOjggNdvtIueWgrVOLM4V0W"); client.print("NbOCB1uq/ZzUGJB5NTIsi+o/1cV/bEfIYLE1/pIH/YTgQm0wzsr8CU5hDUm2poaJjz2GOP3Ru4Bsvyf4pewaHHxVUFHywsVBfsPxKNOWqaO3fuIzh9eiNkZ/oupNmhKCPEHWXDyLvYt53pYA2DUjPFWoZ//"); client.print("qKECw7+L8GDTSp8Z/jSuL37vcKpBLF2X7OcbZ2cS+KdEnOh1GY7N8cdpWvSubUmudKSTlFVw/v9lsz8AnMLvSa9PjEfuGhfWf59AUEloAkTJvzl6NGj1x47duwc96eRcK/"); client.print("Lotp3RSu+mg+HJMrC0AGRLJHBGXOEaSV6K2RnSJxPwAEx5l9y4BHByEuzvnq6MxU2Y/5q3XxFbs8htdmPv2K3S3Zrtp9zwW7n7HaWa+fc7XT/"); client.print("JbtdNlJuiXqsaCajTruJXJLTEhZrs90R46ci9z5vZmYkJXDF20xhYgQElUQUxDT7BcYm8S6pVxMcegSkHBIZRFUZfC5p/Pjxw8aNG3c7TpveA5Iw9TnYh2Ka0sd6KdhBGNGyo7mLJTqTvlleeYfU6UKEYHKV4GK3K0"); client.print("aqb6jFDctd4Fqz2y65oToHRvbjOygxwvASGwynBWvxt5503VE6nTzzOVkgfGfy34VzQkwJ7wygGIAElZBobNLs2bPHMHEaeFj6t8iMlIRDCkvzVvUdCUN2Nrkx5qg3fz1J+oMMJr/"); client.print("gMuF9LAtG3kX+6pnOrDmWu9PgSIGk08gkNxBkrrjtsqBdcR/T5rZ2lklo6Haz9lLQS6WUO+/XZdlw7Hajc4YQSnyfEjOYdIySodMYgASVlu66666/"); client.print("FbikSBUc8u2ScgZSHtwRPweb0xYsWDANiQyl5JA4R8BP+S0I1QmhxAzhxZ5A0N1pce4oBQpv/FC3CxSvtXNg4uF0hdvmAamD+Sfo81K/vSy+FAANduVMVwYUoVASfVeWtV8yzxPvRwgqJVGCw913330jk09RUXSX1B"); client.print("OHpOuOVOWBfA5p0aJFj+M0Kb2QHWNhzohl9bsYXEgrfcHnLv5t5JIsbyCsCwyW6UviM+6CcBItOwUtDSPG9R8R8GwYdrYkMt9XBSUWcIdB4EjDnNlQgqBS0w033PC3AofUay4ppyy7HOc6UqZ733vvvQtRkaEkkOQ"); client.print("Djg9GWe4o9fi2tjb27rrVrKurq/B/QHOnsC8/tMiX4kPLjz7aw17+45qCvveXH/gyTSmbDr9ZVsb50NJy0/Fo1tnU/"); client.print("rE4dwQiQaUnquDwta997Z7nnnvuNZadcedl3QUz7iyBEclLxp2Z81VL7o789TPl4bq0Sxo4cOA1c+fO/QpOj1JwSCwbRMoQHVn/vuzGOTcU5fNttcHzog2eS+2d6ay8l+zbhYaRt28y/UH+UJw/"); client.print("qUPkKnFuQaWpiRMn/qVb5y7qfEl5d0mRgaThjmTzHanq1S1BmnephewCdeS8/pK0i2I+KI0cMZJNv25aUT7jNhtKv/7lMnauuZU9868vO7eL5B2ZN0aJdz7p/qEAuPVmcoKg3hWlgd9zzz2PMnkaeNFKCpk5/"); client.print("V2GuyPZ9BJZDokGwY4fPx5p3iUFpMBF1XMBWfdnLtR0e/p109mQwUOK8jlPnzrP/vdP/sNZFm/nBF1SJps7y00ylpUQAUGlqmHDhn1l1KhRA5i6L6ngLikSkCK6I62xRw888MA98Xgc7qh0kORr2aEoPmOMG3fk6u"); client.print("b5C1lNTU2F7hnu7y8Q2mR8YnfW+CScVVDpu6QvfelLTzD5zLJFcUlm5L9JfXekdEa0fu2112IQbMk5JJYdrnPvMHynAH+hzWSj1dbUslsW3FzRuE5/"); client.print("X4NxocvMDjS4xzGuvwmCSlmDBw/+yuzZs0czdY27grokbSBFcEcxpleVoeYLX/gCppYocYckCtfxF1jvwsw/"); client.print("ZejgoWzm9BkVu2vSkUxR2I4FwGTwiSIQVNpavHjxE0w+UFar8GqxHJKuOwpCSVS3robc0ciRI+fhFChhh8T8CQ38YzwYZZ8VqW0zp89ko0eOrjAeGZKwHfMnNhioywCVp/r377/"); client.print("UdkmjmF4V8Ly7JC0g5dB3FDYgttZ2R/fg8JcjsAwfePyXav/Q2Pmfn8f69u1bkUaJ+dwRF8YMkh0hOwguKe8OKdfMOmFVb9sdDYU7KuXLLRebMoysi3B2/5FYtbW17Labb63I3WNkhezE/"); client.print("UgI2UFwSfkHUhR3FAtxRzWLFi1CIkNZuqPsC+u586fZoaP7pc8Z0H8Au3HujZVkjSCo4nXzzTc/wrLHJBV8XFIokCSkC0tokIbqBgwY0Dh69Gi4oxKGjijDLhtMGYew/ZMtrPnSReEYUHrMdVOmsjGjKqE/"); client.print("yci6GZbYgEGxUDlq0KBBS0eNGtU/cC1XzZGUl5PdjP5XGDoJXxBGvvWlS5fejnFHlaWurk62YfNqZynTgnkLmP1jBDsLgspANC7p3nvv/"); client.print("QrLDtlpz5eUS9jOjOCOjACMZKnesQCM0g7JviBdM2HChMU43JWnK1cvs3fX/"); client.print("UnyMyY1PmnhvIVOvxIEQaUvt3pD0CWJQncyKEV2S2EOKWyKCVlmnbCG3YIFC2bDHVWumlsusPe3vJe64av9m7oxsP8A9rm5n8OOgqAycUmLFi26lan7kvKa3BAly04nkUEEorRbuv766+/GYa5sHTy8z2kyTRw/"); client.print("wW4TsaMgqAw0fvz4bzJ5yC4ssSGyS5ICKSSZwWT+cJ0pAVEaRrfffvucurq6gTjEla/NH65nZ86ecr2RlXZLlrvy+Rs+xwaWZX+SlXXT+06W9x0tK/Moi59GBoLKTzRf0pe//"); client.print("OXbmLovyZQYl+iuLMQV5eqQsvqRbHe0GIe3DC65Fte8S6nFX3StzMVXcaFdt3Elu3y1VXhfTW0NW3zrYvQnQVAZaOLEiV9h4RXApU4pStjO1HBHhgRKOlUZnPWZM2eO69+//yQc2jJzAx6Z0r/xM3O0WiE/+ju7Ot"); client.print("m6DStZZ2dn5pncFK/9+vZjN89bWH4GyeJ2DRODmrkuyWL8LoRLgspTDQ0Nc2699dapTD5IVjnFeRS3ZGq4oyCUVHXrRBW+KZlhEQ5ruV11dYCVClHJdLH5Atv0wTrudf0aM3oMmzZ1WlnuIRaAUZZn5GAOQeWuG26"); client.print("44SssWgVwH0d0XZJOlp0s1Vs1CV8aRjQQdujQodfjkJbJxVYQsrN4p2Tphew8HTtxmH386dasfqRy7E+y3H/cl+HAZDGOUFmAB5ugctY111xzSyAFXOWUdEyOHpA0KzPoZNg5H/"); client.print("z222+fh1TvcnRIXGyKB5N3aY5wgd2x8yN24NDerLCdp7LpT7L8n1+W0GAhZAdVmCgF/Atf+MJSJk5s0JorKVeHlGsyQ7A6g+OQpkyZshiHs0wdUiCxoSdQ2rJtE7t48bzfJbkvQP1Jt99aHqdJBjjq/iN/hh0cElT"); client.print("+sh1SMGwnq/6dc3KDqXiCTjKDEkrz5s2bglTv8ndIltv4sF0GSnpXWkpyWLNhBevs7PC7C3c5bOgwNnvW7BLfM/5wnWX5LRPff2SlG7qSoMoQpYDffffdNzB5H1Iw0y5y5QZT8wlRkxm8VG8UUS07h2RxDsl1AoGw"); client.print("Xfq+iBfaK1cusxWr38wK3XmX8tkzr2fDbTCVMqt9+4Vxty0O3owP11kBcEFQ+WrKlClLmXxMkiyxIS9ZdrlOM+GsDxgwoN/QoUNn4RCWG5BY1q/7YNjOn/4d7UJ7sfk82/j+Gr/"); client.print("T4qBUyv1JvEOyOIck6kMKOk0LNgmqALnJDU1Mr65d5LCdGfLAIOl4GCnDdahbV74OKXghtQJhO9/tHEQJDvsP7RFCiWBUqv1JQcfjhxLXdyQI2YFHUCWIq28XyxFKhq5D0hl7JKvwnRWumzZtGsYelSeSAsDxX3Ct"); client.print("QHKDlWMoauP7a9mpMyeyoWSvU38SpYOX4r7hw3Y8lPwhu0DYEyE7qII0duxY0bQUqtp22mE7U8MViaaaUALp2muvHdyvX79ROHTl6ZD8/UTZzsi/"); client.print("nvt7rX3vHXb5Sqsgc81i1025zhk4W3L7hsndkWzf5dLfBkGlqrq6uknuFOc8iPh+JNWUFMqwnal4QM79RwsWLEAyQ9kDKem/"); client.print("sEpcUk/6RpzMOxtKlHlncQ7JA9PCeQuclPDS2zfZ4UwW3E+CBkGVonnz5gWTG0wWPqMszxalQ1KF63QGwsb59XHjxt2EQ1buQFL92udaD9/"); client.print("PSXL4YK0vQ80DU01NDVt0620ltG9C9oVlSaGFkB1USRoyZMhSJu9HCi0lFAakoCtiTJ1lJ033njlz5hiMPSpfJX0X1WT4RTcPv/yPHT/"); client.print("MPt65NZ1izoNpQBNN6ndjCcGa+WDsLZMCd5RMwiFBlSkak3TrrbdOYXrFVrMkC9uZGuE62fijuMgd3XjjjXBHZe6QIkMpD9rx6UcOmPixT9761CnXsQnjJ5QIkLj9kUxquqUkgARVnK6//"); client.print("vqlTFxCSDVPElO5JVExvLBiqsqBscOHD8fYo3IGkuQim/m1nyxY3whVBqcQHt+X5LmwG+fcwAb07+0irNz+4PeBu8/8jiiZtb8gqJLUv3//"); client.print("W5i4rp2qpp0ybBcXuCLG9MJ1WTCicF2fPn0Qritzh0QX2CQdcsOiWJRzITZN7+Jq2vfZt+kibJrMymPfCCU5rN2wki2988HU4FiLTjzDeY+aeA2b//"); client.print("l5bOu2rdmndfZErppwSa11dXWx5pbm0GcEQ3B+MCWFMEpyj4GgSpIXtlu3bt0nLMewXTBCFxc8Lmp2XRpON9544+dxmMpbdPE0vItq0r5sm3yxVdO5KJumfZ9huhfa/L7/lauXndlm77htaRpG3llp/"); client.print("yJjdyy+w9kuQUwWkbKmULeyl2fOnWFr1q/VgHVSGI5LBpxkugUcFARVmihsZwNpF1Nn2vFcsQKs8f1hyGrZBYvlIVxXLQ6J3FHS/8uev9D6Q3iFudCeOXuKfbb3U/"); client.print("v9k1mp1EyR6RYM9em0KFD1PSeZ9LmjzP7gWjLpexwEVZokYbuwlG+ttG/dqcpFIbsYwnWV45C8C24aTkn/hda7+HrLQsgZm+QBJqkLl6QknJZ9Xy4JB9kwSmZB2nNG6cZBCYIqNWynCNlFGiQblvYtsmBZMKLl5Mm"); client.print("TJ+HwVACQXPgkuf6PZJZLShbUIclDZMG09Gyn4wdYUtrnk8whMUMMI4E7SnINfUhQhWvixIlzmH76t7K2nawPSVS7TgYjp02YMAHp3hUCJMNInQaGk76QCvKSDzJNuj/1O4b6kZJJs2AXWjEo/LXGfX1M2Q/"); client.print("LmkTPe12v/ygzuZ6mQ1LAKOUkAy7J5zABJKgyNXz4cEr/fp6FT0fh9RkZ/r9UMZBEsb4wh+SAiaaasDUSh6b8lbq4pmCUNFwSEaGSKSwFoVQwIDGLKyNkOAl/wd9WMhhZ/COCMAosMzXpdBxS0td/"); client.print("lgUj11mmt6VDhanbEFSJotp2NCXF8ePHOyXMML0rCRMkMvBSVWYNS/dOu6T58+cjmaGCHFLqYspdVNO3rayLcMF++RMokv5MtmRIX1Ims80LnXFhu6R/PFVwXJXevrEyIc2s/"); client.print("ZD09btl+t8sOCSo4rVo0aJbWA7zI5H4fqS4BEQm00tocJpNR/QfVRCQHEdieKdE5pe9YXpGyUg7pUL98vcSEQzLcE/jTPgtNO077ZT8IbvspeeQkpqfSRSqc10QF56TNQiqVA0ePJj6kZYxccUG2SBZi2OPFQQSY+"); client.print("rsOimUhg0bNhOHpLKAFLzm082EexI4ZHLDd4UM2dHF3jC8GJwHSfUcTJZvfvQQGLkP0HdIXsiOAxKfSce7SyuJPiSoatTU1HQzk1f+FmVxW0wyDskIacoKDZTujZlhK0cJ5wKaYMmE/4KaCF5wufFKhXFILJBWLUg"); client.print("cyGrJdAjOH14ThNm8jLlk9JCdP1wngBHtr/T+S6T3HQRVqmgm2VtvvXUyE49HEg2U9ckL26nGIck6p3xgmjx58kQcjspySH4IJbLDT4mE72JcGCBZWRd+4eBTX7N846b4/ptgv5hvAHDSynHfCNYTPIz8oIKgShaX"); client.print("/m2GQEg6tbluH5K0/2jMmDFIaKgwIMmCaOml04EU9vieW6RUH5J3drpJ3pbOU7n0cFFmnbs9M8lgUnPfJDi4BaEm6jdy3ZENcAsOCapwDRkyhBIbnmfhqd8+CHEXFwdIsioNYeneThswYAAcUgUpkUgIWWSlr+1m6"); client.print("oaZSc0ulENystYYD6TgbyojDa8gNrNAFIAQS5cYYtphR1Goz5+BmHGUCc5NImQHVYMaGhpmM3lkLayuHXOvLkKHxDfRfBfOtptuugnZdRXokBKJzEU14VxgM31KTkgqvT1Z2Cy7pCDEFgwdJvwhxazHZbmXRFY/"); client.print("mK57CYboEq4DSoXpEr7bzv5KZBySblgQgspZS5cuncPE/"); client.print("Uda6d8yhyTrO+KdkjlhwgS4owp2SFaW8+Cn5TZdd1E4INHF3OCckCFyRwqH5H3msLRvXYeU4OrS8QkTGXcEhwRVt8aOHUtA+oCFj0USVv8W9SGZTLNKw9ChQ+GQKg1IyUQWjDLzT6QWppm5/"); client.print("Bfql7930TfSp6zh55CoSIMVwKclB1Lq+1lpJ6bnkFJOxxI5LyvbvaWdVCLlMiGo0tXU1DQnaFyYuh/Jp3gARmEOydcaGxtRLqjCRBdSflAps3hv5PYbcS6psCG7BOPHH/"); client.print("HnscQgBWCkckZ8MVa970ChOD57z4NQMEyY7Y4QsoOqQ3369JnI1HMjifIV0n+4caY/"); client.print("Bsn34jNmzBiF8UeVp277IhrzBpe6F+wY44qdes203MGrhfnln3EuAWeknAFZF0Z+MCWtaA7Jg5GqOkO6ny2R6W+CoEoXjUe65ZZbJq9fv34Hy56CwtR1SIxFHH80ZcoU9B9VoBKuQ/Iu7JavSraVrmxAzYwQ7ooOp"); client.print("FRyQBBEhqF6jghMipJBEUN2CTc5wQ8jKxOuSwT6jyjJIYHSQVB1adKkSbNtIO1k6nmRDBmQwtyRyCHFBg0aNAq7vkKBlLps204pxryOI8ted9xSVkHTQofsCEKioQthLik73ZsFQMSsqEBK+pMZBOOPEoGsPy/7Dk"); client.print("CCqkXXXHPNJKZXzy4rsSGugFFw6nLfXBdNTU0AUoUCyQFPLJYJ2cVYpr8lAKVEgS60dLF34JgefxTNIfkHxbpbAvXrvOktIjkk3h0FgJROhU/4b3tQgqBqUENDwyQm7z8S/QWn+5F0i6v63NGAAQP6Yv6jypV3gU7"); client.print("1H8XSbol3Rh6U6OJbEIfkhr4yEbvgwFgjyxXxjkjojngYcaG7hDaQurPHRFmBAbECGDn7EzkNUJWorq5uItObyjzUIZkhzXFHkydPhjuqAiil4RPzwnV+KJlWYZMaCAAOhjhbpBewk4AovfRn2Wk7pMAA3ETSH8IT"); client.print("wQhVvqFqFA2QXb58+SYmT2qQ9iEFnZGsDykdExw1ahTcURXIcsNmciglCxeyS/qTGnz+yBA4JN9USPKkBn78URpImi4v0d0tHn+UEITtMOUEVMUaPnw4uaT3WXj/"); client.print("URaQwmCU1ZDQUJ1uyYOSaZnMTJr2bbNgDindh8T8SQ16fUj8wF7/NOV8uI6l+8H0vkN3IhFI+baEIEICA1TtchMbVP1IwsSGOBOXDVIOkG1qaoJDqkK31G07BNM0nRYzY5EqZUd+P8chdbNMMkMQSn6HJIWRZ6BcE"); client.print("PHrUTMFu+3PEwQRJuKDoGwJEhtCqzR4QGIRHJITtkNCA9yS55T4Kc7z65CSjiPx17IzQp+XqTDBuSNZhp27TVjhXKBEdwIggiANBRIbdMYhGbxD0qnW4LzgjBkzACO4pXT2mGEUqJad7UKozybtjLISG7Kz7LKnnh"); client.print("BDycoaS6UZsnP6kPwTASI8B0Fi3XLLLZM0KjZkhexYwCUp+4+GDBkyELsaYoyb3M7I/2t7WWrM55CYuhOJZReFTU/Ix/"); client.print("zljywOTomEfsiOnwcJgiC5bFYMtxfBig2yWnYszCEJgTR8+HA4JKjwsLMv+ORI0jAKOqRAdVV/"); client.print("fVVxyncaSBxMLS55QschITQHQXoaPHgwhe3eZeHZdWmXJBqHpJyCYsCAAciwgwourw9JCKP0DSNY6tvnhoJLUcp3FCABRhCkr8bGxkksvEsoyyExpi4f5HNMDQ0NA7CroYIDyXFIXSwz/"); client.print("UR6QJKgD4mlM+jSt6z01nQNOz4F3PKVP0JZHwjKt2pra4eziCWE4iziGCRk2EHFA5LfIWV3H2XP1mdZCoeUHn/Eckr7hiBIX4JMO5k78oXsGNPMsBs7diwSGqCiiCpAdNkOyXAtkeFzSNk/"); client.print("rniHFFwPhu34xkMLgqD8atasWSN27NhxgGV3BzEWMakhC0zDhw8HkKDiOSSrO+CQNMYhWVbWOuADQb2jkSNHDreBdCjEHWUBiQWIJYz72S8+Aru4fGX8158V6JXNvL8iZZMnmL9vJyqQSkmr95/Q2v/W//"); client.print("ckTlSoYmSbmAksU9PODIOSKGRnyhxSXV0dpiyHsmFk1RXlneBuIKi8VFtb28j0+o+cJutsEjqkgQMHIuUbgiAI0lK/fv0msgjVvsMqsPoAVVNTA4cEQRAEaSkWizUycaUGJgMSE1knkUOqr6/HGCQIgiBIS7W1tcN"); client.print("YeMguN4fUp08fAAmCIAjSUk1NzTAWHrIL7UPKav3790e4DoIgCIqkkSNH9mOKRIYwhxSM9znrU6ZMQYUGCIIgKJJmzZo1iWlO0CfqQxIRzLAsy8CuhSAIgiJKlV3n22ZyG5nKKQ0aNAj9RxAEQVAkDRgwICyxweeQ"); client.print("ZB1MPkA1NTX1x66FIAiCoqixsXEY05sPyQgWujOZImyHXQtBEATlIK3BscGQnfSJ/"); client.print("fr1Q2FVCIIgKJLq6+uHM3UkzgckQ4NgRt++fdGHBEEQBEVSXV3dMIFbEq37HFLYoCUIgiAIiiQ3Q1tZoUEGJCYAFAOQIAiCoB7IFPBEOP2ECERZUIrH46jUUOZ699v3F+R1jx07xp5//vnIz3v66adLZt+88MIL7O"); client.print("jRo5Ge8+ijj7LRo0fjxIIghWKxWD8BU4SRuLgCRr7tjY2NmJyvzLV4YmGKbexJXGbr7VYqnycXba1NsETE73DTiP5sykQUMIEglfr06TOByaNuvuhc2FSfCNVBEARBPZURYnykQJINWoIgCIKgXIFkhJkdk6lHzkI"); client.print("QBEFQPqFkyO4Lc0jIsoMgCILyASMZlEL7kOCQIAiCoEJAScoZE/sIgiAIKrJDEko0QV8Y1SAIgiAo74JDgiAIgorpkgAkCIIgqHc0Y8YMUYFVrXFIEARBEJQ37dy584zCNaFSAwRBEFRagkOCIAiCygJIFnYRBEEQ"); client.print("BIcEQRAEVbIs3vgASBAEQVAxwCMFEYAEQRAE9SaUmAhIVqBFfhEIgiAI6qngkCAIgqBiuSNLZXJMxZPhjCAIgqB8Q0nKGTPkSWmqtba2nsT+hCAIgqKovb39gMAhiTjj60NSkqu7u7sduxaCIAiKokQicUUBIx9zw"); client.print("hwSYwjfQRAEQT2T1BXxQqUGCIIgqFgwCq5LgSR7oLP9ypUrF7FfIQiCoCi6fPnyAZYdrhNm3Zki+ATWndutra0AEgRBEBRJXV1dlwVMEQEq3YdkScCklTsOQRAEQSIZhkHsSErcEWOCWnah5GppaWnGroUgCIKiqL"); client.print("W19QyTh+x8Mpk4RJfVzp8/DyBBEARBkXThwoXTgU3SbDtT8oCs5touCIIgCIoqrW6goENKyhzT3r17UakBgiAIiqQdO3YcYOoIXBaQVHniTmtubm7DroUgCIKi6NSpU5eZelaJ9PZgyI5/QpJzTE5rb29HPxIEQRC"); client.print("kpa6urtO67shzSEzljPh29epVjEWCIAiCtNTZ2XkmaGyYYoiRaIK+oDNKr9u0Q9gOgiAI0lJ3d3dYuC7LIVm67cKFC0hsgCAIgrTU2tq6n8nzFEKTGmTNcU0dHR2YggKCIAjSUmdn5xUW3oeUldTAmDx0lw7ZHT9+"); client.print("HA4JgiAI0tKpU6cOaMAoN4d0+vRpJDVAEARBWjpx4sRplp2XwEQwUgEpKXJIR48eBZAgCIIgLe3cuTOntO8gjKSAam1tPYXdDEEQBKnU3t5+QMITaYKDbD4koUNiGIsEQRAEaaijo+O0iiVMMv2Edh8SQ+o3BEEQp"); client.print("KHW1tYDTB51EyY1xEW2ickz7ZKnTp06OW3aNOztKlNbWxs7evSos75nzx5nOWjQIKcdO3asYO97/"); client.print("vx5XyONGTOG1dfXO+tTpkzBwYGgEtTZs2f5kF1wyZigHynOwhMafM1+E4TsqkQEmo0bN7Jt27alYVAMbd++3XlfAt/"); client.print("Vq1dDH09QJDBRmzNnThpWEAT1KpBEGXaqfiSlQ0qKQLVr1y6E7EpQTz31VOTnPP3000KHQSBYtmxZ2gkVSwQhet+o8KPH03OpPfvss2zBggXsvvvuc0AFQVDvyP573M/"); client.print("UfUhBWXEJhJJMkdxAmXaNjY3DscsrSxSWows6OaJiioBC75svAHpwIihRgyCouNLIsBOCKc7k9YWkYbvm5uaTAFJlicJzP/3pT4samvPc2DPPPKMVmosqclsU/iMniDAeBBVPV65c0UloYAH2SMchJSXuyFk/"); client.print("d+4cwnYVBqOf/OQnRYcRuRh630LAyBMlYtB7kPuDIKg4amlpOcDk4TrGelBc1XuxhLd+4sQJDI6tMBgVEgoyUZiuGCIokfuDIKg4OnnypCrDTjo/kqy4qtAZee3DDz88iF1e/"); client.print("iJH1FswKrYoNLhq1SocdAgqgt55550dAoaEhu1kE/Tx6wkRmFBCqPz1wgsvVAWMPFGfEkJ3EFRYtbe3H2TRsusY75B0BsX6QnbMTWzAri9vVROMvO+7cuVKHHgIKqCuXLmyP8gLFp5xlwYSY/oZdt6bJJDYAJWjKJ"); client.print("ECgqDCSZDQoF3tWzYOSQUmB0p79+49NHfuXOz9ChaV6Bk9erQzwJT6YPjyQYWUV5KI3p9E75mv96Z+M0rkoO8FQVD+ZbNB1n8UGrqLB26rEhoSvA3btWvXie7u7vZ4PN4Hh6ByRCCgwaSyEjwEBgp7UX9MvkXvSe8"); client.print("tgwXBhN63py6HBv4CSBCUfyUSiSubNm06IOGItGSQzCExiTtKiMB06dKlUwMHDrwWh6EyRCV3Hn30UeUgUrrPA1Y+M/S+8Y1vOO8fBkt6HJU76knKeLFLIkFQtcj+wXqAhfcfMYERSg+MlZUOUiY1sFTlb6R/VxCM"); client.print("6GKvW9GAHEa+yvIQBMNgJAJnrir2AGAIqhZdvHhxh4QXWv1IonFIsnAd746cduDAAQCpAkR9NQSjqLrjjjt6XMCU3A69TjHfG0CCoMLo8OHDOyQwChuH5AOSLO07IYBRen3Lli0AUgXokUce6ZGz6ol64rKWLFmCg"); client.print("wdBJaSVK1fuUMAoyULGIvFTmMsGyCpDdxcuXDiEw1De7qgnk9z15LnePEa98d4QBOVXly9f/oSJ+4/CatlpjUMSZdhlNdui7cKhKF/11OH0BAqUGNETIVMOgkpHp0+f3ihghE617yyHxFMrLLHB12g8Eg5F+ao3L+"); client.print("oACgRVjgLjj1QJDUwCJkunuKrSIXnjkXA4ylO9GfbKx4yu3uBZCIJ6TzT+aPPmzQcEzkgFJZ9+8IMfZDmkIJy0XNLJkyd345BAvQEkTLwHQb2v5ubmTUzdf5QMcUeOgg5JO+Wbf/"); client.print("Njx44h2w7qFSBBENT7On369A4Wvf9IOg5J1I+k4466qdlWDYkNEARBVaq1a9duChoVgTNiCofkq9TAmHoaioSqtbS0XMX8SBAEQdUnmv/IdkitAnckSpCT9h8FHRJj6mkolFDat2/"); client.print("fNhwaCIKg6tLx48dXsujjj5gITqbg9WUlhGQwcsJ2e/"); client.print("fuRT8SBEFQlclN9xa5o7A6diwIJpOpc8RVmXbdbkunf9vWrRmHB4IgqDrU1dV1ZvPmzftZdmm5SOneIoekO425tNnWDckNEARBVaLz589v4gxKQgKj0In5REDiwSQK14mgxLuk7g8//"); client.print("BD9SBAEQVWibdu2rQrASMcdRZoxVpb+rXJHzgfavXu3E7br06dPfxwqCMoWTZ8umtSwXArF0tQd3vQd3lTzUb8viuJWhgThOllig7JckAhI3kaDqdO/k0EIBZ0She0mTpy4AIcLglKiKde3b9/"); client.print("uTJ2uEpVBomK31EQVKOji/vzzz2dt954jE83sK3ovftoR+oyiqeGffvppZ0mz7NL08fxsuzR1iGj6EHrMqlWrlN+XCuvOnj27x8V9oV79cbJJ4Y50Zor19R/JHJLBwlO/"); client.print("u5kgsYG5YTsACYJSAKGp1o8ePar1eHocNbrwEwiCxWfJaYimXw9zHDpTtpPrkT2OQKUzZXxbW5vzuDDwuqEep9Fr0+SQqNpRfnLDdUEYeeuqYqrKat9MACWRK5KF77p5MHlhOxwuqMp/PTrORBdGQfDQc0thZtsoM"); client.print("KLPrAOjICx/9KMfOfCGykeScJ3utOVMBiZRlh1j+hUbugXbaGpzJDdAVS26iIv6ijxHQ6EuClfJqpXTcyns1dt64YUXtB6XK3x5ABPUoPLQyZMnVwXMiAhEWtUZeMVZJkzHgymXsF262b+qPpo+ffpiHDaoGkW/9k"); client.print("Xhr4aGBmEojsAj6hvK9QKfT8mgyotCjLLPSuCl/iL6zuT4yHHR9w2+Lt2mfUDhO6j0ZR/HlUxRcJtpVvfOAhJRSkAqVTKDaHCsL2xn/0FeoNp2jY2Nw3HooGqTrC+GLs6iSQnvuOMOIZBKSeTk6HMSXLyECy+kKHN"); client.print("yBBc+aYH6iTxAkSMKQolgRfejP6m0ZTvZg7t37z7JsnMI+O4d3Un5shxSEESMybPtZOnfWWDasWPHpoULF34Jhw+qNhF0RNlnlFVWjiKAPPXUU1nbCRyUPShyUarMP9o/"); client.print("BDdyVkHR69F9UOnqwIEDrzNxl40qXKdM9w4CKUrYTgkir73//vu7brrppqXxeLwPDiFUTaI+It2xNuQydPtpekMUZlSF0WShOoKYSgQrEZAoKQJAKl3RzLDr1q2TpXsnmGa4TtR/"); client.print("lAZShLCdNpRaWlqu0EyyttWfg8MIVbuoX4ngQxdwb3ApP8i0VEWuTjUrryw8GeYGvUG1we9f6vuj2nXx4sXNp0+fvsTkoTrZ+COtfqS4YJtO2E46WZ/durx1235vA5CgahVdXMkFyMJa5SBZFmA+BCCVn3bt2iUqF"); client.print("aRToUHEGCWQwsJ2kRwStS1bthy48847UUoIqjrpjt8pdYmSMKDqFI09WrVq1ceB67zO+CMfhGThOpIZ8iDdCfukUPr000834VBC1SQKY6lgRK6D+lgo8eHb3/42+8d//"); client.print("EfsNKjkdfjw4dcFIOrxYFiZQxJZKoPlnmnnhO7Wrl370fXXX78YyQ1QtUiWpEAQovpxxUxrLnQFBEp6EIlCb2HfU9T/VMgQIZS7KJlhxYoVqyTuSFXl2yeVO/I5JAm9ZJW/"); client.print("tfuRvOQGHFKoWiTKPKOLM6VOFwJGKugUenCtLJswrH6e7H6ECEtTFy9efP/MmTOXmP5UE5EHxWYBqQdhOx5EXUG3tGHDhs04pFA1S5UGrutiZDCji7us7I6ognc+Jcumo2QOVSkgUcp32H6Cek8ffPDB64Fre1jIT"); client.print("mVwtB2SCkT8zH+y6cyFYbvdu3cfv3DhwmEcVqhapYKObpUGGZC8sju8vMrbOpW+eyL6TCKIUMiO3l8EJdnnotfCdBSlp8uXL+98//3397Pw7DrldOVh4TqSLO3bUMApLFwXDNs5y48++mjTkiVLxuHwQp"); client.print("Uu6lcJpnlT6OyZZ55Jlw+iC7U3x1CUsBpd/EUXc2/OJS/kJZsIsBB69NFH2Q9/+MOs7TTIlT4ruSiCDX1n2iZL7abXgUpPtqFY5l7HEyxa31GkcJ0QSIFBsrkmN3QFl+vXr/904cKFzfX19UgBhypadAEWhcq8OYB"); client.print("64qrIQchcj2y+pEKLIEjVHESZhfSZdMKG9L3KtbRSJauzs/PMG2+8sTFwPefDdj0ee8RLFrKLktwgc0lBKJFLWoNDDFW66Je+LPtMJlE4TlYjLkomGj2+GP0y9D65Ohx6Lqp8l6bsHzjPM0kRbZansUehQNJIbhBB"); client.print("SdqH5C2pvl13d3c7DjNUyaJSOzTNhA44CEQ0FknWd0JhuKDotXUgs2TJkqJe6KkGne5n4787YFSaCtStizJVeaSxR7ziGo+xJFBSTdrXJXBIXS0tLZc/++yzzTNmzFiEw51f9WZ2Um++d6mOW6Ew1ve+9z0HKBRGC"); client.print("/YT0T6jz+6FqWQFWUXOyQMevS69vui1CXDec8m5BN1W0MHJnFTU/UuvQZ+Nwo0UnhT1ZdFjvDmSoNKVfezeOHPmTAsLz67rcTKDDpB0kxuCLknWl+Ssr1ixYtPUqVPnYaBsfkUXgWp8bxpoWsoi4Oj0jRBkooJdt6"); client.print("q4zoXfK3aaTyADOOXtjt58881lTBz54q/5OtUZtCVN+w5QTTa9uawfiSdqF9/IJR06dGg7DjkEQVBpynZG77ruSKcyQ1IBoEhgMkPu101ukCU18C0NqjVr1qC+HQRBUInKvka/wcSFDhIazihyMoMWkCJWbtDuSzp"); client.print("27Nj5I0eOwCVBEASVmM6ePfvuZ599dpKJM+vCEhpydkc6DkkFIllfkizbjlqnt75ixYrVOPQQBEGlpZUrVz4vcEdRYRTZHekCyVLASTYmSRW664JLgiAIKkl3tNp1R8HuFt2CqlZP3j8USJLkBp2wnaofCS4JgiCo"); client.print("vNxREEZJBYTym2UX0SUFodTNxFXAO4Muad++fagEDkEQ1Ms6dOjQC7Y7OiGAUbAygyq"); client.print("pQWRk8gskDZeUFHxgWciukwfTsmXLVqN6AwRBUO8pkUhcdccdiaJaQYdUEHcUxSFFcUkJpp4ryQcmr3oDTgkIgqDe0dGjR984e/"); client.print("ZsiwBEsoQGaVXvXN1RJCBFdElhMPI1qt4AlwRBENQr7uhKwB11s2jJDHlxR1EdUlSXlFCAyRe2s11S6/vvv/8nnBoQBEHF1aeffvpsRHeULIQ7igwkjXJCQZekHIvEg8l2SR+1tbU14/SAIAgqjjo7O8++/"); client.print("PLLq0rBHeXikJjkQ6hcUtiYJA9Qne+8885rOEUgCIKKow0bNvyrwCiI5j1KFNod5QSkHFySaFxSJ/OH7Zzl1q1b91+4cOEwThMIgqDCqrW19dM1a9bsYNlZdbp16/LqjnJ1SDouSTd0F2xdf/zjH1/"); client.print("FqQJBEFRYLVu27F8DxkAWqiuKO8oZSBGqN4SF7bKgdOzYsXMYLAtBEFQ4nThx4s09e/acYNFDdQVzRz1xSLIPIapxJ4NSJxP3JWGwLARBUIFEg2BfeeWV5wXX4KjTTOTVHfUISDnWuFOF7fjBspQG/"); client.print("jZOHQiCoPxq586dfJp3ZwiMRANhC+KOSLGePHnx4sW08KY5NwLrwaXJLUPbgQMHzl9//fXj6+vr++MUggqltrY2dvDgQbZx40ZnPYqOHTvGLl26xPbs2ePcbmhoYDU1NdipUMmKEhl+ZctebXdbBxOH7bTSvfPpjk"); client.print("jxnjyZPgz3gSyBY0q6EPJckul+2Zj75WPuZ+h0l15ztq9YsWL5V7/61SdxGkH5FIGEAEQgOXr0aM6vQ88NPn/MmDFsypQpbMGCBWz06NHY2VBJae3atc8yf1RKNglfotjuqMdA4j6UIdgmSnDwgOQ5oRjXsoC0e/"); client.print("fu47a9XDNjxoxFOJWgnoogtGrVqh5BSBdSK1eudMB03333OUsI6m0dOnToxQ8//HAfk/"); client.print("cdqUJ1BXdHjPUwZEdavXo1he4MwV3BEF7wtlbo7vjx4+dnz549s6ampg9OKSgXkRP6yU9+4gCJQmzF0vnz59NOjKBEIT0I6g1RRYY//OEP/3r16tVW5g/VidySljuia3/JAYkU6EtiAscUBJMZWJe2jo4Oq62t7dz"); client.print("UqVNn47SCooj6hJ577jn2wgsvRO4fyjeYNm3axMaPH88GDRqEAwMVXevWrfuHTz/99JACRl1MPM1E0dxR3oCkcElM4pKCYFImPJw8ebJ19OjRDQMHDkRQHtKGEbminTt3lsTn6erqctwS9TENHz4cBwgqmo4fP/7W"); client.print("H//4x7c5GHUonJEoZMcCLqkg7oixno1DyrJwgXXVYFnZjLKiwbLOzqOxSSi+CkWBUSH7inLVs88+6yRVQFAxRKG6V1999QWJIxKF6EKLqBbKHeUVSO6H1B0sm2ThpYR8JKexSSi+Cunopz/9aUnCiHT16lUHShBUD"); client.print("L333nvPnD17tpllz7LAh+l4KCkHwbICZNbxiuXzxSIkOPAwFIXxgs3ZjtAdFCbbSTuhsVIWJVZQXxKF7yCoUHJDdcu5H/dek01RHprIUEh3RIoX4DVlaeDJAIAS7tJLA+fHJomakw5Oobsnn3xyKgbMQkFR8gABqa"); client.print("eijDgvK84bS+QNfqX3oHVa9kTbt293xipBUCEkCdWJiqiq6tUVJZGhoEBSDJblwcQDyQyBEj82KeaF7u6///6v47SDgu6oJ6IxQ0uWLGH2jx0hpHiRC6P3yxVM27ZtwwGDCqZAqE42EDZsNtjgtbvgMgv0umEJDrL"); client.print("iq6LkBr4vyVnSvEk7d+5ci9MOCrqOXERO6Pvf/74DJBGMRCJ3Q8/pSRq357ogKJ86ePDgS2vXrv1Y4oyizAZbVHdUMCCFJDioKoHLsu2CUOp48cUX321tbT2F0w/yYEQJA7noqaeeyqnMD8HrG9/4BnY+VDJqa2s7"); client.print("/Jvf/EYUqutk8j6jsAn4rGJ9/kI5JJ1q4EEoJTShlM68e94WpqmAeuI2vP6iXEXPzTU5AQ4JyqdoWok//vGP/yC4Vqpq1oWG6orljgoKJAFZcwnddSqg1HHs2LGza9asQSo4lHOadz4SC1CrDioFffjhh8/"); client.print("s3bv3BAtPZCi5UF1RgKQxNkk2s2zQJQWJn769fv36nUeOHNmO07G6lWtyQT5gotvvBEGF0pkzZ9YuX758ExNXYlANgi2JUJ2neKHfQJF1x6eBe1AKZt3xjc+88217+eWXl3/"); client.print("rW98a3tjYOAynZnWKkgtySTBAbTmo3EX9Ri+++OKvmThUJyoNVHKhuqIBiQORIYCSFQKmIJBEgDJbWlouvfnmm688/PDD34jH46gKXoV6+umne+29UQoI6i1Rv9HKlSt/KkjxDmbWlXSozpNZjDfJIetONt05/"); client.print("wuALxTYsXv37mPoT4J6A0YYUwT1lqjfaMuWLfskzojvN+rWhRHrhVBdUYEkIK5u1p2q6GpWkgP1J+3bt28zTlOoGKLJ/qiIKwT1ho4fP77c1mYW3m+kKqCaZRJ6yx2R4kV+P1XoTlTFgS8tJAvd+drvf//75d/5zn"); client.print("eGDxo0aBxOWSjfolRtGvNErqin5YMgKFe1trbu+vd//3eq0iua30g2x1GvzXNUkkByExyi1rrj+5O0Zpr97W9/+4cnn3zyL1DvDooqggw1msLCSyUnCPG3Iag31dnZee43v/"); client.print("nNTxQgko016tVK3qXokHRr3TEOTqa7k7VmmGVuksNrr732/MMPP/"); client.print("x1JDlAIlHfDwHGK5YK4EDlIEpiePvtt39y7ty5i0weqlONOSrJUF2vAYkDjyp0F+xTEoXulIDavXv30ffff/9PCxcufACnMUTgoVAbwYdarmWGIKg39cknn/"); client.print("x269at+wQwErkjnXFHaaNQCuoVIGmG7hgHI8bkU6DL5k8yVqxYsaWpqan/jBkzbsOpXJ2iqtyUfFBu7occ3PPPP5+1nSpLhFWXoO/"); client.print("sOUBPNN6KnkcDgel+0ZxRvZk6r6sXXnhBeCzL4bP3VAcOHHj5lVdeeVcBI9m4o5LNqisVhxQWuuP7kxISIJkSx+S7/8UXX1zV2NjYNHbs2Nm4PFePyA3RBb1cEw/IwYlq3akqSxCEaLZc2XcmKNHzvTBlOYpgVI01"); client.print("AE+fPr3ut7/97Ysse7K9sNJAof1GpeKOGCti2rdEOrXuRGOTvPFJwkrgLDBW6Ve/+tUrqAxeHaK+oGeeeUZ5Ya5EEYwoBR2Zf5Un+8fJ4WfopE5dz9qZOlRXNineJQckwYBZSwNMwVp3QTC1Bw6c037xi1/8xobSa"); client.print("ZzelQ0juigXc6AqOY45c+b0+ncnN4h+scqEkf2D+kchzqhLA0Yl229USg4pShWHsIrgHZLmgMkrL4TpKipX5IoK3VdEYS8C0KOPPsp+9KMfOX0XucyllE+pQnA0NYY3xQbq9pWX3LJAP3cz6lTjjWS16sqi34hXvB"); client.print("Q+RIT+JFWfktdvJN1OmXcvvfTSb5AOXnmixIV89i14F3BqdFGnit6lOs2ELExHSQyiCQRpZlxq5ahqSF7wYPTGG2/8+KOPPtoncUeqMUdl1W9UckDiQGRIoBTMvmMhMJImO1DNu7feeuuF+++//3Fcx"); client.print("itDFKpbtmxZXpzP7NmzK2Z+o1IIJUK5ac2aNf9kw2gvy+5+kPUZ6fYbsVKFUUkBSZAKLpqqQgQk2bq0UR6/"); client.print("fQF6DWOUKkMrV67Muf+koaHBcQt33HFHWX1nr6IESVZtPBjK80DLPzfoCnXg75VNCr42OUkCepjo8waPV3D6EG/MGIVg6Rg98sgjzv2i5+p+9nKRvX//bd26dTtYdhFp3YoMSVZmobpSdEhhUBIlOXiQ6YoCJOaOU"); client.print("bIsi918882AUplLNKZGF0al0AeU63cOc4XBcUypRC35c737ZSAi8FNoVAQED046gKfPFQyvemFEAs6zzz6b1RdIr0dAEj037LOXG4xeffXVVRJnpKrGoFXFu5TdEckstQ+k2GGqKc/"); client.print("DkhzamSAD75133tn63nvvvY5LevlK9mtfR9S/Uo4wKrYIEj/84Q8diIU5UbqfoEHZjgSxqO9Dz6vWEk67du36vQ2jdxXOSFbFW+WOygZGJQmkEGekO39SGJQ6OChtwRTo5Q2kXKQbXtJRJQ/UzHV8E+0TynrUlZey"); client.print("X62p6zTw1Qb5mxrOSJXeXdYwKlkgaYxPEqWDqyb0a1c0Z+AsoFSeyhUG+YKRdzEttryqC17fjQy63mNy6WNRQYJCc2HvT8dGN9mEwojVDCNu4Kto6Eqw3yhKejcrFxiR4qX6wUL6kxiTZ97xy+A2UXNEUHriiScYS"); client.print("gxBUR1ab4SY+Jp2dOEXTRRIiQA96eyXhejofWkcFqXC8/Cha2rw8dTntGTJEt9jRQo+z0u1J/DRfbSsUBitt/fbz0Q/"); client.print("lBXOSDujjpV4EkPZAImDkmznJhVPDUtqEILKhtKrNpQMG0rX41IL6f6yr0SROxJ9N0olF41tIvDR9mCYjmBCr6ObxUjOj16nkrLmQmBEzqiNqbPpRFORqxIZ0tfLcnJHJLMMPqPIGen0J4mmPw/2KWU1hO+qQ/kIs"); client.print("9FrkAOoRFFqt8gdqQbUUhhUVA1CF9pe1mMVw0g03ijn9O5yg1FZAElSWiis5l23BEoiGLUBStWnfNS7q+T6cbK+Oa8KuayJ+pN0Q5peancVwaidZSdddSjckW56NytHGJHi5fAhFfMnMSbuS2LMP0YpuD3UlaFPqT"); client.print("yU669p6vshd5PrgFgaK1Op4Tpv/4gk6qvSEWXrhaXYV0NliQCMRIWgo878akl+sJelzHL5oBEz72RTVajCdiKn9MctW7b8CZf90lVPflGTw4kacvOmt6hkGBVCOk6y0seEffTRR7+IAKPuXGFUru6obBySwinJCrF"); client.print("6TighcEyh7oh/3WXLlm1ot4WKDqULJGq5jkciKFH4zptNVQQ4ghCFo+hxVNIG0zxAucDotddee9f94dvRA2dkVSqMyg5IHJRU9pSvDh4VRiIwWTR41jAMhtp3pSkK9VBZm1zl9X8EIUcgqtaqATLlWm1bNlapSmD0"); client.print("7zaMVjO9BAZVEkNFw6gsgcTBwlBASdavFAlE/G2qfWf/Cm+5++67H8HUFaUl6gfqCZCC6kk5oijqjQG1UQAiSmzwxgdB4aIpJFavXv0v69ev/"); client.print("zjgiHoKI1aJMCpbIEmSHHTHKOkASQimrVu37r169SrmUyoxkZuhwZf5hFIxVMruS9afQ5BSVbkgkAf71+j4eIN4qwlGy5Yt++/"); client.print("btm3bn2cYVUR6t0xmuX5wjXRwVXkhUYkhWYJDG3e7bffu3UdeeumlZzEdemmJxsf0VliIxs9UWiUBCoOKvhNVb1A5O8o+pMfwrZJr/Ylk/2g98sYbbxCM9rHsZKl8wohVEozKGkh5hBI/KrpDBiL+xKKZZ3/"); client.print("xi18QlE4BBaUhCiPRCP9ig6EnU1iU8oWa9qcoJZ5cHaV+U3JH8LvQlO6i70TutZpg9Mtf/vJ/uDO9RkntjgwjVsbp3TLFy/0L9DB8J5q8StiHFGwtLS1J+w/zZ0888cSXMFapdMJMBAcqX1OMPiByZE899VTW5HJR"); client.print("pDM+p7dEIKHwW3BfEpR0K3lTqK5apvg4derUez/72c/+jYmz6FQT7OUEo0pzR2XvkArklETjlIJOKe2WaKzSzp071wIHpQOl73//+wUdZEmuiIqLfu9730uDKNdwYam7pG9/+9s5u07aJ7SfqkH79+9/1YWRcEwj0"); client.print("0vvrmoYVQyQegAlHkyy0J0ISr4w3osvvrhyw4YNr3V3d7cDCaVxISXnku+6aN4FlkJTwXBWrtNZlHoihuc6owKXHk/Pq/SMPEpeoDFGv/vd714K/"); client.print("lgVuKNcxhlVDYxI8Ur6MjmG7yzB48IqQliBkye5YsWKD44ePXrqgQceeNT+I+wPLPS+CEZ0UfQyv4LjjcJE7sebU0hWOJR/bK5jdChJoJQv3AQlcoPe1OeqcCjtL4J1NWTVdXR0nF++fPm/"); client.print("cJl0fBZdJwufYA8wCsioxC/lHjRD8F29ZnJLajG3xblW47Zat9W5jdb7uOt9uO3OelNT0zWPP/74V+0L1DggoTRF/TZh1RaqoeJ0rvLGafFw96pcVENxVFJLS8tnv/3tb//F3g/"); client.print("NTN1f5HUHdANGVQokTSjxQOKhFAuBUm0QQgEwOe2xxx5bOmnSpHm4fEFQZeno0aPv/PKXv/w9k1fq1gnRAUYCxSr1i61evZotXrw4KnQtybZgWM+S3JduO3bsOJhIJM6OHTt2ommacfwZQ1B5i/"); client.print("qLNm7c+POXXnppOZPP8KoqktrNwuczqloYVTSQcoSSFQInxsSp4kx0Yh05cuT82bNnD44bN25MXV1dP/xJQ1B56urVq0eXL1/+vzZs2PAJk2fQdTB/iC5s+oik5AdvVcKo4oHUA6ekckih7ohv586du/Lpp5/"); client.print("uGjlyZGNTU9Nw/GlDUHnp1KlTG37/+98/c/DgwRMKZyQb7Bp0RQmWnRRV0fXpAKT8QckKWQ8FErWOjo7ubdu27UEID4LKR16I7oUXXljW1tZ2WQEiFYySTH/a8aqGUU9cQ1kqJNHBWzeZfrIDn/"); client.print("DAJzuImnP/6NGjhzxqq7GxEW4JgkpUV65cOfryyy//7wMHDpxk/pBch8IVqcoAVc0UEnBIhXFKloYzYkxdasgb95Q+ES9dutRu/+raNmTIEHPo0KFIDYegEtO+ffte/9nPfvbMxYsXKaVbNKFep8QdiTLpLMAIQMo"); client.print("XlFSAitSXFGyffvrpkdbW1qNjx44dV1NTg6ksIKiXRQNd33333X99880317Ls8FyUygt8mM4CjPRlVPOXjzhWyWD+8J1OCC8Yxsu63dTU1HjfffctxpglCOo9HTlyZOWrti5cuNDMsmtaBt1Q"); client.print("MIsuSogOMIJDKrpbEv0qEt62f5V17dix4wDcEgT1miv66euvv76KS1wQVeuWhehkMOL/5hlgBCD1BpR0wnhJ0frJkyebP/"); client.print("nkkx2DBw+uGThw4GicmhBUcFe06rnnnvv5nj17jggAJIKRTj062ZTjgJGGDOyClCJk4MlKDsXdZQ2Th/"); client.print("HqmLg2nu++G264YeKdd975AIq0QlBhXNHatWuf3bBhw07mD891MnnCgmr+IvQXwSGVhFNSlRoKa0nB0mm2W2oht9TY2JgYOnTotTg6EJQf7d27d9kf/vCHX7muSDaRXtgYI/"); client.print("QXwSGVjFtSVQw3I7ilWoVzSt933XXXjfrCF76wdODAgUgRh6Ac1dLSsmfVqlXPf/zxxweZv+acCj4yV4T+IgCpJKGkqhoeZ/JMPBmYsoDkthobSjfcdNNNX4zH40h6gCBNJRKJtm3btj2/bNmy9wLwCQORqq9INb6"); client.print("IAUYAUm9AiTF5arhOhYcwMGU1pIhDkL4OHz686rXXXnv9woULLUzdRxRMWAibLgIhOgCppMBkCByTKuEhDExhMOIfUzN69OjBDz300IMDBw68FkcHgvyi8Nyrr776m4MHD56SQChqeA4hOgCprNxSWAgv2LfkQUk0"); client.print("CWBNCJDSt5GNB0EZUfbcmjVrfrNx48ZdCickS1ToYv45i8JAhBAdgFTSUGI9cEtxDjo1gfUw10T9S3PRvwRVq6if6KOPPnrhjTfeeE8AHh4+/O3uHFwRQnQAUlmAyVA4Jh23xIOpNgAopUvyltS/ZINp/tSpU+cBT"); client.print("FC1gOjAgQOrli9fvtLtJwpzQp0BCIlckWjeItFEeoARgFS2bkmUIi5yS7JQnmwZ3FaDxAeoGrR37943XBBdUrggWWhONq14cICrbJArYAQglRWUGIs2bokHUw0Lz8qTASkNJkp8uOuuuxaPGTNmNo4UVCk6efLkph"); client.print("UrViw7ePDgaQl4wlK4ZeE5i2XP5orEBQCpYt2SydTjlkyWHcZTZeWpljUAE1TBIOrSBFFYPxFcEYAEt8TkM9PyUAoL5clAVCtyVjaYBi1atGj+tddeOwd9TFA5iPqIjh07tnHNmjWrFCDqCgFRIgCjJFMnLcAVAUh"); client.print("V55ZkmXiqadPD+piUQPKe19TU1M92TPOnTJkyH2CCShVEBw4ceJfrIwoCR9U3JKqwIOon0hngChgBSFXvlviJAGUZeTLHJINSXASmm266adoNN9ywuE+fPhjHBPW6Ojo6LuzYseONjRs3bpOAKMwN6aZwy8YVwRUB"); client.print("SHBLTJ2Np6qPFwRTXOGORIByXuPWW2+dPmfOnPmo/AD1hpqbm/"); client.print("faIHp31apVHwVAExwzFAYhUeacbj8RXBGABLfELWVJDzqp4rrOKS6BkrOkyuILFy6cP2LEiOsQzoMKqe7u7razZ89ut93QuzaMDgugoxOSE0EoiiOCKwKQACYJmAwNxyTqX4ppgklnm/NcCuctWrRozrRp0xYgnAf"); client.print("lUxSW27t377u2Nl64cKFVAhxRunaXBoR0yv0kmXi2Z8AIQAKUAkBiTD52yWD+MJ6ofykMTnFNOKXbjTfeOGH27Nlz4ZqgnrihM2fOfGw7oU22PlO4niCUwkJyIgiFzd6K8ByABEV0S4xlh/"); client.print("GihPJ4MPEDbmMS+NRIoBXnXFPfefPmTZ85c+b8xsbG4TiKUJiuXLlyfNeuXe9u2LBh+8WLF1tDICRbD6Ztq0Ck20cknOkZMAKQACX5MVFVElfVyNOFkyrEF9zuc15jxowZNH/+/LkTJkyYg5AexItCcocPH968ceP"); client.print("GTYcOHTobcDdhEIrihmTp22EDW+GKACQoRzCF9TGJMvKC1R+CQIqJIKOAkSx5wnn+tGnTRt54441zRo0aNQ1wql4InTx58uOtW7du3rFjxxEOIiLYqACkckKJEAgBRAASVGAwGRquSQUmkWuS9TfFIsAo+BzndW04"); client.print("jQKcqgtCW7Zsef+TTz45InA1URxQT92QaiwRwnMAElQCYDIVjkkEprDECBWQ4kHoEZwm"); client.print("T548ftKkSXPR51QZunz58vGDBw9utp3QDjccl1CAKAxAokoKYRCSheWSABGABBUXSvkAkxkCphgT9zmpQCV7fnq9qampYd68edNGjx49fsSIEdOQrVcecrPjdhw/fnzvxo0bd1y8ePGywtVEhU+3AEAiCCVYeMYcQ"); client.print("AQgQWUCJlUhV1lITwUpmTNSwckMuKeR5J7GjRs3HdUhSkvNzc37jxw58vHevXv3ffLJJ8ckAOlWuKOEYqkKx0XpH2IMmXMAElSWYIrqmnT6ncIAFNNsznt97nOfm2Br/"); client.print("LBhw8Zfc801I+CgiueALl++fOL06dN7Dx48uH/z5s17BdBQuRsVrBIRnJCstI8qUQGOCECCyhxMOnBS9TmFOahYyONNEZCC6+SgpkyZcu3gwYNHNDU1jUQfVH5E8GlpaTl+/"); client.print("vz5Y7YD2u86oCAoEppw0QWPbOCqbv8QQAQgQRUMJsbC6+bphPbMCE5IBiSZM8t6b9tFjR81atRwQCoyfI7bOvH+++/vU4TJEhqtW/NxYX1CsqkfdKsqAEQAElQhYGIsWl8TPx2GGbIMg5SpsV01nirrc5GTGjJkyI"); client.print("DhtgYOHDiyoaFhQLWBisBz9erVCxcvXjx+6tSpE2fPnr2wc+fO45KQWNCpJDShlGTyuYV0+oMspjcHEUAEIEFVACbdcJ5sfiYd92QqQnI620UAEkFK9dmc22PGjBkwbNiwAeSo6urq6m1YjaipqaknYJXb+Kj29va"); client.print("LbW1tF7u6uq7a0DnR0dHRRo7n9OnTVBHhfMhFPykJl+kAReV4dNKzdQqc6oTkACIACaowMPXUNRkagAqDlA5wYgoQxZi/wKyhAJSsDqCz3r9///rJkyePsCyLDRo0aIB9u7+9btjw6jNgwICR3g6j5ArbcY3Is6M5"); client.print("acOlzbtN7qa1tfWCYRiU4XbxwoULF+mCu2fPnuP27TYmHgCqch0yGCVDQnZJDeDoQkg2aDVKyjZABCBBVQommXNiCjiF9T+FAUsXYDqva0SFkuQ7hu2jKFL90hcN5lS5BxWIZGBKaLolGbh0nE+uEIrihgAiAAmCa"); client.print("9IK6xkaQIgCKN37wpyRGQIhbzsTwMkIAZGhASEZmCwBhJjiAp7UgJIOkKwQwOQDProQCoM1QAQgQQBT1vmQC5xkSRIGC+//iQofGZCMkG2Gwg0Gb/fk78QS3JZBqScuSdcxRYVNkoWPDQKEIAAJ6rWQHtMI60Xti9"); client.print("JJojDyEKIzQ0J1YTCK8rdiRYCSKHSnAyRLAxrJiACzNMCjk54dFq4EiCAACcoJTFHhpAqN6biZsFCgGcEFhbkinVBdvoAUFrrTdUthYbyoj1E9lrHoNeQAIQhAgkoGTkzgQpgGIMwI62GhuFxAlC8YRYFST8CkCyv"); client.print("d26L7GJMnX+QKIYAIApCgvIBJdsFmgnCXzoVflFwQFTC68NEFkRHh+8sgJLvPygOYdGGlAoyluG1p3AaEIAAJKmk4hbknWVhMlO2WC1x0XkcXRIUCUj7AlCu4ZC4nGeHzMUAIApCgcoBTmHvSBZSus9IBkuq9dJxR"); client.print("PtO+dZxST4DFNOCj89467gcQggAkqGzhFAVQIjjoJCBEvV8HQvkGUi5wigKsXJ1OTwAECEF50/8vwABid+BT8m2+QgAAAABJRU5ErkJggg==');");
copialo ed incolliamolo nello sketch mkr1000 embedded html images per verificare se tutta la procedura è andata a buon fine.
Lo sketch finale mkr1000 embedded html images
lo sketch finale del progetto mkr1000 embedded html images è il seguente:
/* WiFi Web Server LED Blink A simple web server that lets you blink an LED via the web. This sketch will print the IP address of your WiFi Shield (once connected) to the Serial monitor. From there, you can open that address in a web browser to turn on and off the LED on pin 9. If the IP address of your shield is yourAddress: http://yourAddress/H turns the LED on http://yourAddress/L turns it off This example is written for a network using WPA encryption. For WEP or WPA, change the WiFi.begin() call accordingly. Circuit: * WiFi shield attached * LED attached to pin 9 created 25 Nov 2012 by Tom Igoe */ #include <SPI.h> #include <WiFi101.h> ///////please enter your sensitive data in the Secret tab/arduino_secrets.h char ssid[] = "Almanet Estesa"; // your network SSID (name) char pass[] = "mauroevale23giugno2000mi"; // your network password (use for WPA, or use as key for WEP) int keyIndex = 0; // your network key Index number (needed only for WEP) int status = WL_IDLE_STATUS; WiFiServer server(80); void setup() { Serial.begin(9600); // initialize serial communication pinMode(LED_BUILTIN, OUTPUT); // set the LED pin mode // check for the presence of the shield: if (WiFi.status() == WL_NO_SHIELD) { Serial.println("WiFi shield not present"); while (true); // don't continue } // attempt to connect to WiFi network: while ( status != WL_CONNECTED) { Serial.print("Attempting to connect to Network named: "); Serial.println(ssid); // print the network name (SSID); // Connect to WPA/WPA2 network. Change this line if using open or WEP network: status = WiFi.begin(ssid, pass); // wait 10 seconds for connection: delay(10000); } server.begin(); // start the web server on port 80 printWiFiStatus(); // you're connected now, so print out the status } void loop() { WiFiClient client = server.available(); // listen for incoming clients if (client) { // if you get a client, Serial.println("new client"); // print a message out the serial port String currentLine = ""; // make a String to hold incoming data from the client while (client.connected()) { // loop while the client's connected if (client.available()) { // if there's bytes to read from the client, char c = client.read(); // read a byte, then Serial.write(c); // print it out the serial monitor if (c == '\n') { // if the byte is a newline character // if the current line is blank, you got two newline characters in a row. // that's the end of the client HTTP request, so send a response: if (currentLine.length() == 0) { // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK) // and a content-type so the client knows what's coming, then a blank line: client.println("HTTP/1.1 200 OK"); client.println("Content-type:text/html"); client.println(); htmlPage( client ); // The HTTP response ends with another blank line: client.println(); // break out of the while loop: break; } else { // if you got a newline, then clear currentLine: currentLine = ""; } } else if (c != '\r') { // if you got anything else but a carriage return character, currentLine += c; // add it to the end of the currentLine } // Check to see if the client request was "GET /H" or "GET /L": if (currentLine.endsWith("GET /H")) { digitalWrite(LED_BUILTIN, HIGH); // GET /H turns the LED on } if (currentLine.endsWith("GET /L")) { digitalWrite(LED_BUILTIN, LOW); // GET /L turns the LED off } } } // close the connection: client.stop(); Serial.println("client disonnected"); } } void htmlPage( WiFiClient client ) { client.print("<!DOCTYPE html> <html> <head> <style> "); client.print("header { background: linear-gradient(to right, #007398 0%,#46b5dd 100%); color: #fff; padding:10px; text-align: center; vertical-align: middle; } "); client.print("body { padding:15px; margin: 0px; height: 570px; color: #676767; font-family: Helvetica,Arial,sans-serif; font-variant: small-caps; font-size:1em; text-align: center; "); client.print("background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaQAAAGkCAYAAAB+TFE1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAbmRJREFUeNrsvQmQHNWZ73"); client.print("syq7pb3VLT2vcF7WhDEthoYZFAGIvdGINnzMM21+8O+D7P8ogbcWNsRzy/CNtz78Qbz8yde8fYM17wQozZzCJAWEhoQwsgISGEhPZ9X7rVknqtypdfVmbVyaxzTp6srqqu5f+XTmRW1p6Znb/6f+c73zEYBBVRP/"); client.print("jBD2hhRHyakeO2fD4v7DmWxnMsjedYOTzP0nw/5Wdzjw0E9ZoM7AKohABkaGw3IoBE9NhyAZKl+Twrx9cHoCAACQKE8giU4HouQDI0P0uUv5coLkdnu+gxYY/ThZY2TAEoCECCKgVAYRf4KMDR3a6zlMEsV+cUxalY"); client.print("ChBZIYCKur2nzgpwggAkqGIgFLYuWoaBR2eb6DV0gKb6zMFtYa5D5YJEQFFBxlK8hu42HeABUBCABJU1hMLCYboOx5CARee2oQEfXbDpOrxcQnQqaKggZQkaC3lMVHBFcVOAEwQgQSUJIVUYTBcGMriYiseEAUkHZm"); client.print("GAYhGBxHJwMlHAE6XJIJXMAVBR3BPgBAFIUK9ASDd0ZuS5mREeq+umigEkXUcT1pKa97PAY0W3rZDbjMlDf4ATBCBBJQmhKAAyc9xmRngOCzgsU+Pzhn1nHQDpQikIiKB7SWqAKKl5XxjEZJ+hJ2E+gAkCkKAegyhX"); client.print("CJmaADIV20T3R70v+L5hQArrSwqDkk6GmyqsJnMzKujIljqPUT1W9hlUjg5wggAkqNchpOtmRMuwbaJ1nfukn2f48OH9Zs2aNcGyLGPgwIFDGxsbh9L2+vr6YX369BnmfflYLNbXvj0hn/"); client.print("u+vb39QCKRuOzd7ujoONXW1naaLs6XL18+c+HCBWd9x44d+0+ePNkaAqSkZD3sfp3Hh7mpZA5wApggAAmKBKJcIBTmXILrotth9+m+ljF9+vRhI0eOHDZixIjxtbW1/"); client.print("WzgTIjH4/3s9WE1NTVDy+mYdXV1ne7s7DxNEGttbd1n37586tSpAydOnDhlQ+uUBDBh25IRn6cTFtTJ/gOcIAAJECoKhHRAwreYAkimDqzmz58/"); client.print("YciQIcOGDh063obOxLq6OnI446vp+NqOaz8By3ZX+86ePbvfbqfee++9fQGYJBQwSkQAlsqNRYUTwAQBSACREjy6EAouY4FtMQ0IxTQAld62ZMmSWeR4+vfvP6Fv374Tqg08UdXR0bH/6tWr+1taWvbZjmr/22+/"); client.print("vU0CoUQOgAoDVlhYDyE9CECqchDJ+oaipFbrOBgRdGRLb913e968eRMmT548E/ApCKT2EaT279+/ff369fs4AMmWYQBThfnCQnxwTRCAVKUg0nFDpgJCRoiLES2D68L77rjjjlnXXnvtzAEDBsyqr68fT8kEOKKFVz"); client.print("KZvEwhv+bm5m1Hjx7dvnz58m0ucERwSuQAKVEShW5ojyngBDABSFCFgCjMCan6f3ShE1Pdd9NNN00kBzR8+PB5/"); client.print("fr1m4mjWDqyHdT2M2fOrHcd1N4AjIKASoYsLQWo8uGaACYACaoQEJkKEIlcUBh4pG3YsGHX3HrrrfPsJbmgeXBA5eOgWlpa3jt79uy2NWvWrD9x4sQlAaBELko3xNeT/"); client.print("iaACUCCygREKhiF9QeJ+ndEQIoH7ouLXNCoUaPuoDAcjlz5i/qgTp48udx1T3s4+HRLQCVyVDqJETrhPIAJQILKFESycTwxDSekAk+cXxKE5syZc/ugQYPm1dbWDsVRq1zR+Kjm5ub1H3/88dscnLpDACVLmogKJ4A"); client.print("JQIJKEERhMFKNBZL1B8VkwAksASHIg9MpG07v2XBa7sIpCKQwByUDVNggXIAJQIJKzBGF9RHJMuNkTijogOJBEF133XXD58+ff8eIESNuB4QgXt3d3afOnj27fNOmTW/bgDrOASkMUj1xTQATgAT1MogYU9eMUzmim"); client.print("C58vDZ06FAnMWHixIn319fXX4sjBYWpo6Nj35EjR15as2bNuuPHjzczcVhPBqawVHKACUCCSgREYXXjVBASht6CAPLa7bfffv306dNvHzBgwE3IjoNyEWXrXbp0af2ePXuWv/XWW1sDrkmn3ykY1hPV2dMFE6AEIEE"); client.print("5wCgsfTusf0jW4iGthtzQnXfeefu4cePuQ0gOyqcopGe7pRdXrFix3HVNHoi6mD+c1x3imBI9dEwAE4AE5QlEPXFDWQDy1j//+c9Pstu9AwcOhBuCiuKatm7d+uK6dev2uEDqFgBJ1deUYNFCeQjjAUiQJoh4+IhAp"); client.print("Crjo3JCsSB4guv33HPP/GnTpt3br1+/GTg6ULF19erVbfv373/x5ZdfXsu5pTA45QImuCUACYroisIGs6pApHJDNRyIKCzXdMstt8ybOnXqo7W1tUNwZKDeFoXzDh48+GsuCaJb0BIhcAor7soAJgAJINIPz6kKnOq"); client.print("MF4pLHFGNByLbEd07evToexGWg0pRFM47ffr0i2+88caLHJi6BG5JlAgRVqIoLIwHKAFIVQsj2WBWVep2mBuqESxrbCc04rbbbrtv2LBhiwEiqFzAdP78+eXvvffei9u3bz8mAJMMTmEDbRHGA5AAIoEbCsucC4bnw"); client.print("kJyPjdEt20QjVyyZMmjQ4YMWYwjApWrmpubl69evfrXCjCpHJMoIy8JtwQgAUbqsURh6ds6EEo7IoAIqnAwdYW4prBQHtwSgARXxNRzEMUEjijGQkJybqu1AdT0pS996dGRI0feg6MBVarOnj374quvvvrr48ePX1S"); client.print("ASac8kSzpAVACkKrCFcnmIYoJYCRK264RNQLRPffcc9+YMWMoWaEBRwOqdHHJDy/0AEyqqg9wSwBSxbsiWT+RLDQnA1Gtt/7QQw/dPmPGjG8CRFC1gmn//v3/67nnnnvThVFXAEpeFQhRH5PF/"); client.print("LPbwi0BSFXjivhBrQbT6yOSgmjRokXXL1y48NsYRwRBqXFMW7du/"); client.print("e9vvfXWFvtmJwcjVR8T3BKABFfE5Jlzwr4hblk7ZcqUEffdd9+3Gxsbp+NIQJBfVPnhT3/6099xiQ88lLqYvPJDEm4JQKpUV6RT6seDUXAQa60ASJSw0P/"); client.print("BBx98ZNSoUXfjKECQWufOnXvxlVde+ZXbv9QpcUuyVHG4JQCpLGGkm0GnCs/VBGBUG4SR20/0DfQTQZC+uP6lNwJQUoFJ5JYwbglAKltXpIJR0BVlOSEOSLU33njjpEWLFn0d4TkIyl0Uxtu8efP/"); client.print("XLt27e4AlLo03JJOpQdACUAqCRj1xBXJYOSE5+6+++57x48f/zCOAATlRydPnvzVm2+++fyxY8cuRgBT2Iy1DGACkHoLRrr150QwCrqiWhGMbrvttutvvvnmp5A9B0H5F2XjffTRR39ng+lDF0SdObolJDwASCXhih"); client.print("hTJy6IXFFNiCuqc5MWvoKkBQgqvCjp4dVXX/2Fwi11sfBq4gjhAUi9CiOdEF08BEY+EHGu6Em4IgjqNbfUyeRhPFGlB1kmHgOYAKRiwigYohONKwpLWuBdEaVyL8Xeh6Bed0sXWM/7lhjcEoBUKBAxpp5GXJa4oAKR"); client.print("AyO4IggqObf0Y4lbCg6qRQivAIphF0RyRapU7jjLTlKo41ofrtV//etff3Tu3LlPYbI8CCoNmabZj/pvp06dam7ZsuUTJg/Ti2Z61v2RbyxevJitXr0aOxwOKWcYqYAU13RFTl/"); client.print("R5MmTRz700ENP19fXj8PpB0GlqY6Ojn1vvfXWd7dv336URetbkrklBrcEh5RvZyQLy/"); client.print("HOqI5b8q6ozxe/+MUFd911139DiA6CSlvxeHzglClT7h4yZMjxXbt2HdNwRmE/+A24JTikfMFIVZk7zBXVDR48uP8jjzzy9aFDh96GUw6CykvNzc1vvfTSS//"); client.print("TTXjw3BJfTVxWegj9SgBSTiAKc0YydxRXgMhZ3nDDDZOWLFnyZENDA0J0EFSmohDexo0bf7xmzZpdLoxkdfFUkwACSiGqqpCdJoxEIBKF6IIA6sMCYbovfvGL821L/"); client.print("nRdXR1CdBBUxqIQ3tixY5coQniq8JzOD3+E76oJSBFDdKqEhayQHBP0F33rW9/65vTp0/8P0zRr8OcMQeUvwzBqhw4dumTmzJnXfPDBBx8yefZdzm9R7VCqipBdjpl0ourcwSSGuiCYBg8ePODxxx//m2uuuWYa/"); client.print("oTzp9X7TzjL5rZOtv3E+az7F00c4Sz719exOSMHYYdBBVVbW9u255577m/dskOqEB41PnynmmOJV1WG8CoeSDnAyKu6wJf/qdFwSHVz586dtHTp0r+pra0djD/Z3ETAIfgQdGi57cQ5Z1tUXTuwkV07oJEtnjiSzbY"); client.print("BRcv+9bXYwVDeRANp169f/12NfqVupp6VFlCqBiDlCCNRuE424JXWnb6jBx988PZZs2Y9hgn0omubDZ9XPznEXvnkoLNeKJFz+tLM8ezBmdfCRUF5EU0AeODAgX/5/"); client.print("e9//3oASsEsPJ3xSoxVebJDxQIpTzAKdUUEpMcff/zhCRMmPIQ/z2hO6Ncffsb+ed0OduhCa9Hfn4D0jc9PZd/83FQ4J6jHonmWfv7zn//"); client.print("CBVEHE09pkRC4JaSFVzqQ8gAjUXXuLBDR8qmnnnpy2LBht+BPUk+HLray//dPW9ivP/isJD4PwYhc0/9z141OiA+Ccv6R1dz81j//8z//WAIlkVNKAEoVDqQ8w0iWTeckLzzxxBPfbWhoGIs/"); client.print("xfIDkUjftB0TwAT1RDRe6Xe/+91fHTt27DwTh/BUJYeqHkoVlfbdAxjFNR1RPS3nzp07+eGHH/4bwEjjV2NbJ/"); client.print("sf725jD/367YL2D+VD9PkohGjY/+aMHMz61KD2MBRNNF5pxowZ82Kx2GeHDx9uzreBqPS08Ir5i+shjEQVF7JA5MHo3nvv/W5dXR0y6UJEWXJ3//"); client.print("ub7JVPDpXd5/7D9v1OPxNl60FQVCjRIFp7dUsAShirVA1AyhOMRO7IN2XELbfcMvuuu+76r8ikC3dFf/vmZvbtl9bllLJdKt/h2Q/3sBZ7OX/cMLglKBo1DKN23LhxS/"); client.print("r27fvZvn37TsMpVQmQigAjckf1lNa9cOHCv0blBbUo7EXhuVd2HqqI77PpyBn29mdHHSgNb8TvECgalGgm6NGjR5/ZsWPHAe7aFLxW5fTyAFJ1wSgNpQceeOD2uXPn/"); client.print("mf8ialFoTmC0aGLlyvqe51qbWN/2LaPXTd0gN3640BDkTRw4MBbbTCdtaG0n0WbzE+pSnRJZQukIsGo/"); client.print("tFHH7131qxZ38CflVo0pujPf7eStXcnKvL70ff6w7b9Tp8SJTxAUBQNGjTolgkTJrRt27Ztdz5NWKVBqWyBZB+IgvcZPWXr2muvvRd/TmpROvf//eqGqviuVFGC6uVRCA+CoqipqemmOXPmjNi8eXNP/"); client.print("lisSoZSWQJJ4I4KAiMMeA3XE39Yzf5p3Y6q+s7Up0TJDkuvG4MTAIqkPn36TLahNLKHUKpYp1R2QCoCjPoARnqiMB25o2oUJTsgfAflCKVJGlCyqhFKZQUkRb+RCRgVH0ZP/"); client.print("Mfqqt4HFL4DlKACQMnK8WXLHkpmBcAIzqjIotTu3oaRYRjp1pui/VDqFSig0lT//v2X/vVf//X3mX/2AP5aFWf+0mb8fG2ySQHLuhxcWTgkDRiJJtYLTqoHGOVBNGB07j++WLBsOg8ypmmml9RisZhwXXSbf54HrEL"); client.print("Ci1LCn1owA4NnoXw7JZlzUjqocnZJZfEXFJJRJ4MRXw4IMMqTqBTQ7jP5KdEVBA+BxWs8aGKmvYylls46B580lLj7go/zXod/v3zCieD82dlm9mdzJuEEgXKFUjD7TgWfsJO3bEN3JQ+kkCSGMBiJKnb7YETjjJDar"); client.print("SfKpvvZxk97DKAgfJxmuiDywBOEUpYr8jceTOnHGe5tQ3BfwFH1FFAEaaSDQz2A0uRRo0adcQfPytxRlJO0LKFU0kDSyKjjpxxXTawnHPRKFRhmzZr1dfw5hIumj/"); client.print("jz370TOVTHQ0gKIpPfRo9zl879qWUKKO56zBSCxYGL6b2fkX4cDywHTl7LM5w2HznN/mzuJAdMEBRVNHiWq+ignEW2UqFUskDShJEogYGfcrxOBaO5c+d+C38Genro13+KFKqjizrvbqjFY/"); client.print("EMgNwWj8dc8HAQcm87bol3SGmX5H8N030s/3iTc0OGQaByIWW6j0tDKJaCJgcpD2pR4USwPmyDG6E7qCdQcmvfqZwSi3CfASAVD0Ymy2Si6Ibp6m+++ebr7faXOP31RNMx6Iw34vuC4vG4D0LOMuiOXMgEHZMXtjPT"); client.print("/Ul82C4mcUcxFy5m9mPSAIqlXZLhNQ9SRiApwsgNTATtxRNHYtoKKGdR7buGhoYdbpVwmVPSSnAglZNLKkkgKZIYTJbdbxRn4jmNsvqLqM2ZM2fSF7/4xadRtVtftz/"); client.print("zunIaCc8NqUJxnoPxXEwsLgJRPO2WvHBd2hl5zocDmRm4z+DCe77nePdxgMoK4aUdlJF2VWkYmRlA6YBp+4nz7KkF03HiQDlrxIgRlGT14eHDhy8y8eyxUVQ2obuSA5JmEkOMc0d8mE7pjAhG991333/"); client.print("DfEb6ogGwz36wJxxEpj8hIeaFzzwImV7Yjk9iiAvdkpl+jXh63fQenw7RxdKuKH3b7X+ipWHG/CCy7/dBKe2MDEEfUgY+Wdl5Zvj4J6oOjgGzUE/kzadkLwlKFzg3ZClCdFa5QylehjDSmX48C0qDBg0a8IUvfOH/"); client.print("BIyiSRSq8y7IDigM0fgf96Luu204QPD6c/iBrWkI8INdgwNf0wAwMqvOaWG5/7m/Rcu+ZVnukhbJ1G2W2m7x9yeTLOncth+TtJzPS/cl7e2WmVrS56fHmEl7mTRZ0rCfYyad+7yWev2M/"); client.print("nntDvbNz03FCQTlLPtc7LdgwYLv7t+//6+OHTt2XgAjK7Du3U5KQGX00GlVj0OKkFEnGvgqc0be1OP13/nOd77X0NAwFqe5vmh+o2Cad1amnJeYYPIZcjEuLOeFz+IZR+R7DXd7nHdK8fR2M710t8dF4bqM2zL5sF0"); client.print("62SE4fsnI9COlbxvphAYnRMdS2wy+TykdvvMD1DtreSiRS0JfEtRjxxCPD5wxY8a89evXLxO4IFUmnnBbqbukkgFSoN8oSkmgUBg9+eST/3nAgAEzcXpHE01BTunewfBcdoJCAEQ8BDgQZUJrHoTc1/"); client.print("GWQhDZLe6BiNYz0PKaEc+AJxWaC4b0XFeW7jeK+UNwpukDj0mM8dyckQnt+ZydCybHsXFhPB5KLe2dyLiD8gIlbuCspQGlsg3dlQSQFO5IlcQQOuiVYPTYY499eezYsXfitI4mApE3x5Evc87rC/Kla8fSzscDRszM"); client.print("OJgYl2TggYggY6ah5C697dx6rMZd5yBmxmp8QOKhxrsmI+YHVQZGBgcnM9A/5CY0+NwQ75S8dZYVamTuNs8tUcbd39x6PUoKQT0WDZydOnWqsWXLlu0hTklHJQulXv9LiViJQQQjmTuqv//++xfbdvfPcDpH168/3M"); client.print("P+tOdYxhW5MEqlc5uco8kAxwm78ena6fviPhBlwnQ1DsA8ONEy7mxL3ZeCTI0DoNRja9KwSt8fD4T00uscjPikhVjKDcUM0wclHkLpdHDODaVhFNJ4KJGGN9ajegOUFzU2Ns51xyjtC4AolwG0BoDUMxjFNGCUhtLs"); client.print("2bMn3nbbbX+B9O7c9F/++B47e7XDP5YoDaPskF2Md0C+FO14Vr+QA5OaoDuqcWAUc+ETq3EhVMPDKLPN5FyWs52Dksll6PlCd3wauJf67TkhL92beo9M5s+08yATgI8p2BaE0qnWq+zJ+dNwQkF5Uf/+/"); client.print("edymXdhY5SUcCpFl9TbWXY6E+0Fa9SFhuwoo+7uu+/+DjLqctPhi5fZJ6ebM6E3X/mdmKJsT3DMjxs6c8f+GNxtw+13yqRnx1z3khrcytzXYG5IjKXDY+6p4p05bp8NnzVnuVlzzMmc81ois0wkUplxTiad/"); client.print("f7OfalthknZdCZL2o+xrNR7Ws77JlLZdgl73X5dp7/IBVDSbokAlBL2P3uN7bD3Y3N7J+vfpxYnFtRjUebdLbfc8uP9+/c/"); client.print("wWXeqZoHI0MAJ8M2BZZrDKobSIqdoNN3FJxOgodS3eOPP/5/1dXVDcLpm5te23UkMozS4HGBFPP6cLwxQL5xQN59cbefx4WUmUlISCcVxMy0C0k5D/"); client.print("GflsOlpJvOnfTSuCkl2wVRIpGBkgMkF0LO9pizzUymtlNqN31OWjcSBC37/ZOG81wbPzaQUu4oGYRQej31OROJ1O3XPz3CHr8ByQ1Qni7a8fjwr33ta3/393//999x/"); client.print("wKSXBNByZv3LimCEiuhVPBeCdlFGPwaOYnhiSee+NqwYcNuwmmbu36y7hO27/xlbiqImCBM5x/garr9R5kwXCZrzuT7jpxwXK3bUqE5J+RWU8fite62WjekV2eDrcZg8TrD3mafBHaLuc1+in1fqtlcs1/"); client.print("XXtqPNeN2q8mkmhP0fEkO3rgovoSQV4EhEKIzmckBxnT+bp3bTByq84f1WGrd/tdku6P7p43BiQXlTTU1NcNnzpzZ+IEtlj0eSRSik0KnlEJ3vQIkRYq3riuqZYFiqdTuvPPOz8+aNeurOF17+IPhne3sSnci3TcUz"); client.print("xo7FCgNlE5qyGTLxT0guIkJqT6jWrcPyINRrQ2WFJziBKFa+71q7fepJQilAETL1G272ctYnQeoTIt76zaMCGCxmLtun0FmLFX1O+3IDDd0aGTAlOo3CiQtuGFBZ8257Z6kXnadAEpZt1mmL+lbn5uMEwvKqxoaGmY"); client.print("MHjz4wK5du44w8UBZGYiC20om667oIbtAqC5Kv1EwmcEXpps9e/"); client.print("aE+fPnP4HTtGc60nyFHW9t40r2mJmpH7LCdpm6b844ITPllBzn4QLJWToZeqn7DG5skTeuyHE15HDso22460Ys5XycBANvaWQKNtDS4v7knC4k6jZKpFqSlt1Gakm3ab3bYkmbclZ30l6P2fdRaLDb/"); client.print("twJ+7bJkvY6AcrpJyKHlDCcqgwUrjPsN6C3TtK6kepDou1JL44YBBJ3hu8804ITCyqIpk+f/rfnzp07uWbNmp0ciFThO0nQuzRCd0V1SJrjjWIsfG4jnzuiJIaHH34Y/UZ5EHXC/8cnR7IqKpi+jDozUzeOq9Bg1ri"); client.print("15tIp2Z4z4jPnajMhO9sROWE5z+mQ87GPaNxr9hGuIZdknwU0lKfGBmDcbs7SSK1Ti5mcK6KwHYXxatwwXoxv3Dgik+un8kJ0Bh+iM9IhN4P+TpPJTCiOGRyDvMd4/9wTnAeTvbx53BA2tn9fnGBQXkU170aMGDHj0"); client.print("KFDqy9dutSh4ZRKOnRnFnv/abgjVciuVgQmG0Z/3rdvXwTp86ANR85xs7e6UOLnHfIgxBdRdUJgzB0Y6/"); client.print("YfpQe1uunctV5ozm519jYbRPE+NlzsI+i0BrvZ1+tau9XZ2+tssNTZL1pnX8z7MK+5sVmu8SU5vF8pzvNsONXS6/d1W33qfTKwo1BfPPV5+P4r3xinlLujE5OfTj3GwTh79loO3lx18mMtbTi5oILI/iE+yb4G/"); client.print("hXLzANXw107+WgTf30VVQc2ejvjrmghO81QnWpaCVFSQ92dd975OfsXwgKclnn7xZU9fXjWvEOZOYQMvmI2FSDlB6q644MM1ymZ3kBYLiGBEhTM2lQ/EfX5xAQxW1PxlxSMUVBLcMuE/YSE/"); client.print("foJG1DJzpRTSnbRdosl6T7HFdUwo9vI9BcZXSxdos7qctK7LTMVM6RMO0bp4BSscx0ShfH8pzL3GV2XdPTSVZxcUMHUv3//u20orX/ppZdWBf4ckoE/"); client.print("k9BU8N4M3RUlZJdDqK6GacxvNGHChJF33333X2Pwa/70D+99xo5fbg/AyF8Xju9H4qcYJzg5SQpu8oJTmcF2HfF0qC7GJSrYB9cJ0aVCdTVm9sGutS/m1Pq4rY5rtVyrcRuF8WKBlj7BjFS/"); client.print("lNMMFujrSWXUsXTyQua+ZEdHKmTH+Mw5P2wyyQ7cDS6ER7fHNNWzpZNH4ASDCqbBgwfPa2lpWX369OnLTD4eKbTMUG+G7ooVstMN1cWYegZYn0P68pe//F/sC2c9TsU8nhBZziiWntAu5s686oXx/"); client.print("GV5UiEqg8bzeCE7vu/IJo4DIzcrjmBEoTPqI7JvZg6qC596u9GoZup16ee2a9zWRL8I3WWTu63RbfT4Bi6MV8dBq5b6n2rcEKGXxZfO0jNTIUa3CoTj7JyT0hKPu/JCcmagP830+t4y2+n2sdZ2nFxQof92+9k/0H8"); client.print("cCN3VCEJ3MS7YUFKhu4KH7CKE6kTTSgjDdNQee+yxB9FvVBggBWEUE4Tq0hUZjMz8R87SSqYOpq9St30fXfhrMuOInOSFuBuTJXcjOej8uvdYk4sreKG5LmqW5Sw73Nud7snU7d3vhiSdjD7nNaz0SZhwfjdSCnjce"); client.print("WFnBGFrR3p+pNRcSszJtnPus7gZmCyDZU9B4/87Nw0TJxdUcFF/0l/8xV/8p5///Of/JgjbBcN3ZqmF7goasstDVp1wAOzChQtnff7zn/8GTr/865/"); client.print("e38eudCUFMHKXhqmo1uBWYbChVNO30R3wGncGrHowclwJwagmFWJzwm3MX27DSViwt/"); client.print("e1Wz+3NdrtGrt5rqjRdU0N7knhwIsP1XHNCJx8XmzACctZhu9PMXXbYMn2NpbsbOfGFPkz7BgX7vNe1FAEBkZfU8++Mn0UTjCo4KIirPaP9e179+49KQCRVcqhu0L/"); client.print("bIsSqgtLZHCuVwMHDux/2223AUYF0onLHZnsMVG5oFgsBEipMTusu8sN2xmOE4p5rSaVmm1vzh7p7IXqCEJuKI5CczQROPW+jLYbzbA4JrAc7d5PjxvgPo+HFd/"); client.print("v5ItjxFOJFQRH73M6VR9sEFvtbdxMuILvafjHYsU4Z8kngcS4/QJBxdLcuXO/O3r06IEhYbuSC90VDEg5hurCBsHWPvjggw9gvFHhQ3bBwa/ZF+JMuI6fttxbT7ZdccYHUVZbCkZuFQUCgMEdaK9/"); client.print("h6DhAqTBBQo5oUEubIa7sKlPh+/s59it3m793ftHuI/vzzL9SX0491XjhQfTTsrN9PNKD8VT45msjqup0KNh+r5TEEz8bUMF6Zjplh6CoOKI6t3Z18r/"); client.print("xPyRcB5MpuS6bAiMREU4JEOyzdQI2Yn6jWoXLFgwfezYsXfgdCsmkLi0bsNfncG/"); client.print("zl206UJOhU07r2bK93gOyU3t9sAQPOD1LpAaHbAYbIgbqotlVUNgvsGpphvWo8c3uWG+egdYASBxzYFS4LMRQLuvXAnMMGsIwGRkQdoQwikT5oSgYmrw4MGP3HPPPZ+Tnf7MP6pCCqViuqSC/JXk4I5UYTqnUahu0a"); client.print("JFCNUV+oQIOiCDh5KR7QwMP4i8Sgh0X+LyZbeWnAsiaqbrTlh2KmXql0cqy66vA6IUnGQ/3UQnWYPrrJxwnZFJHa9hmXBdVtzC+Yypz5lsa3Ng6uuDMhUw8lykIYIRv88QsoN6LXQ3QOCQRFDq9QGzeQeSIJEheM1Q"); client.print("jT0SwoiuUw888MD9CNUVyyEZ0jCUyCkYXKHSjKOg+Rdsl3SV+mKY2wzJwc+E0Sicx4fucrmMe1Uc6lgmO88Jz3mhOmb4/"); client.print("xK5z9fVctUtwGr6pi3PuCQjG8RpKHnN5JaZfQJBJRq6C3VJxQrdFcIhqRIZTJZdQFWUyOADE4Xqxo0bh1BdsYCUvqAa3IWZD9MJYGSY3JTfGZh1XLjspFennueHkVNn253uQVSeI6b0QvK/"); client.print("nRgLqZvC1aDzblPrvHjVyf/2wSULTKbwuxuB/iZ/31Jqn0BQL4fuZCWFRKG7sMhX6QNJEaozAzASJTMIHZIbqvs6TqtiAcnI6j/JhOtE7iAbRhlHQRl3jHU1t6dL8aR/"); client.print("lXjzDglOEE8WfwqlO4xYoP8oUCHB8ENKFS9O9z+xVOnwzovtwjmO0n1oZqZUUua7u4/"); client.print("hQJ1pPMTgkKCSCd2p+pLM3nRJ+f7ZZoT8pFWBSOiOli5deidCdUUEkmH6nYFpZl9kQ2AUvKB32kCiWVxTc+AF5hdKw8cbMGE4k3932Y/p9nNIqw+JGj2vy25UYs6pQ+cOgQ3+ZaUBSO7oQkdqHFL6c2e+bxBO/"); client.print("u8pCN1x8OYdFgT1ZujOdklfZeICrCaTl40saoJD3oCU5+KpTrv++uvHT548+V6cTsWTYfpdjt8dGYGLtApGGYgRjDovtAeQECywlZpbKGGkgEJVFqgcaSLi50+4z6PnU2UGqtKQAhNzphwPIs25lbBY+/"); client.print("mO9BQUZvA7mmI4ZTvF7O9ucOFPCOpNjRgx4onbbrvtOgWUTI3QXUFP5LwAKUIiQ4yJxx0JoXTHHXc8itOoyEAyMiGp7CYAkRRGhi9k1X6+k1kJK+uMTrruhUDkwMiFCU3WQBUiWyNAqdt9/GX3+V4JIa/6twM+zjV5"); client.print("ajvb4TzAcGcBNAIwNrhlllsK7BfeRabCnwYcElQymjdv3l8x8RQVcaY5NqmQLilfDimsIoMR4o6yMuvuvffem5uamjDvc9FDdl4fkvhinF6XhOeCMPImuqMLfjtd+Blft8RwnUsKGB6MOjggNdvtIueWgrVOLM4V0W"); client.print("NbOCB1uq/ZzUGJB5NTIsi+o/1cV/bEfIYLE1/pIH/YTgQm0wzsr8CU5hDUm2poaJjz2GOP3Ru4Bsvyf4pewaHHxVUFHywsVBfsPxKNOWqaO3fuIzh9eiNkZ/oupNmhKCPEHWXDyLvYt53pYA2DUjPFWoZ//"); client.print("qKECw7+L8GDTSp8Z/jSuL37vcKpBLF2X7OcbZ2cS+KdEnOh1GY7N8cdpWvSubUmudKSTlFVw/v9lsz8AnMLvSa9PjEfuGhfWf59AUEloAkTJvzl6NGj1x47duwc96eRcK/"); client.print("Lotp3RSu+mg+HJMrC0AGRLJHBGXOEaSV6K2RnSJxPwAEx5l9y4BHByEuzvnq6MxU2Y/5q3XxFbs8htdmPv2K3S3Zrtp9zwW7n7HaWa+fc7XT/"); client.print("JbtdNlJuiXqsaCajTruJXJLTEhZrs90R46ci9z5vZmYkJXDF20xhYgQElUQUxDT7BcYm8S6pVxMcegSkHBIZRFUZfC5p/Pjxw8aNG3c7TpveA5Iw9TnYh2Ka0sd6KdhBGNGyo7mLJTqTvlleeYfU6UKEYHKV4GK3K0"); client.print("aqb6jFDctd4Fqz2y65oToHRvbjOygxwvASGwynBWvxt5503VE6nTzzOVkgfGfy34VzQkwJ7wygGIAElZBobNLs2bPHMHEaeFj6t8iMlIRDCkvzVvUdCUN2Nrkx5qg3fz1J+oMMJr/"); client.print("gMuF9LAtG3kX+6pnOrDmWu9PgSIGk08gkNxBkrrjtsqBdcR/T5rZ2lklo6Haz9lLQS6WUO+/XZdlw7Hajc4YQSnyfEjOYdIySodMYgASVlu66666/"); client.print("FbikSBUc8u2ScgZSHtwRPweb0xYsWDANiQyl5JA4R8BP+S0I1QmhxAzhxZ5A0N1pce4oBQpv/FC3CxSvtXNg4uF0hdvmAamD+Sfo81K/vSy+FAANduVMVwYUoVASfVeWtV8yzxPvRwgqJVGCw913330jk09RUXSX1B"); client.print("OHpOuOVOWBfA5p0aJFj+M0Kb2QHWNhzohl9bsYXEgrfcHnLv5t5JIsbyCsCwyW6UviM+6CcBItOwUtDSPG9R8R8GwYdrYkMt9XBSUWcIdB4EjDnNlQgqBS0w033PC3AofUay4ppyy7HOc6UqZ733vvvQtRkaEkkOQ"); client.print("Djg9GWe4o9fi2tjb27rrVrKurq/B/QHOnsC8/tMiX4kPLjz7aw17+45qCvveXH/gyTSmbDr9ZVsb50NJy0/Fo1tnU/"); client.print("rE4dwQiQaUnquDwta997Z7nnnvuNZadcedl3QUz7iyBEclLxp2Z81VL7o789TPl4bq0Sxo4cOA1c+fO/QpOj1JwSCwbRMoQHVn/vuzGOTcU5fNttcHzog2eS+2d6ay8l+zbhYaRt28y/UH+UJw/"); client.print("qUPkKnFuQaWpiRMn/qVb5y7qfEl5d0mRgaThjmTzHanq1S1BmnephewCdeS8/pK0i2I+KI0cMZJNv25aUT7jNhtKv/7lMnauuZU9868vO7eL5B2ZN0aJdz7p/qEAuPVmcoKg3hWlgd9zzz2PMnkaeNFKCpk5/"); client.print("V2GuyPZ9BJZDokGwY4fPx5p3iUFpMBF1XMBWfdnLtR0e/p109mQwUOK8jlPnzrP/vdP/sNZFm/nBF1SJps7y00ylpUQAUGlqmHDhn1l1KhRA5i6L6ngLikSkCK6I62xRw888MA98Xgc7qh0kORr2aEoPmOMG3fk6u"); client.print("b5C1lNTU2F7hnu7y8Q2mR8YnfW+CScVVDpu6QvfelLTzD5zLJFcUlm5L9JfXekdEa0fu2112IQbMk5JJYdrnPvMHynAH+hzWSj1dbUslsW3FzRuE5/"); client.print("X4NxocvMDjS4xzGuvwmCSlmDBw/+yuzZs0czdY27grokbSBFcEcxpleVoeYLX/gCppYocYckCtfxF1jvwsw/"); client.print("ZejgoWzm9BkVu2vSkUxR2I4FwGTwiSIQVNpavHjxE0w+UFar8GqxHJKuOwpCSVS3robc0ciRI+fhFChhh8T8CQ38YzwYZZ8VqW0zp89ko0eOrjAeGZKwHfMnNhioywCVp/r377/"); client.print("UdkmjmF4V8Ly7JC0g5dB3FDYgttZ2R/fg8JcjsAwfePyXav/Q2Pmfn8f69u1bkUaJ+dwRF8YMkh0hOwguKe8OKdfMOmFVb9sdDYU7KuXLLRebMoysi3B2/5FYtbW17Labb63I3WNkhezE/"); client.print("UgI2UFwSfkHUhR3FAtxRzWLFi1CIkNZuqPsC+u586fZoaP7pc8Z0H8Au3HujZVkjSCo4nXzzTc/wrLHJBV8XFIokCSkC0tokIbqBgwY0Dh69Gi4oxKGjijDLhtMGYew/ZMtrPnSReEYUHrMdVOmsjGjKqE/"); client.print("yci6GZbYgEGxUDlq0KBBS0eNGtU/cC1XzZGUl5PdjP5XGDoJXxBGvvWlS5fejnFHlaWurk62YfNqZynTgnkLmP1jBDsLgspANC7p3nvv/"); client.print("QrLDtlpz5eUS9jOjOCOjACMZKnesQCM0g7JviBdM2HChMU43JWnK1cvs3fX/"); client.print("UnyMyY1PmnhvIVOvxIEQaUvt3pD0CWJQncyKEV2S2EOKWyKCVlmnbCG3YIFC2bDHVWumlsusPe3vJe64av9m7oxsP8A9rm5n8OOgqAycUmLFi26lan7kvKa3BAly04nkUEEorRbuv766+/GYa5sHTy8z2kyTRw/"); client.print("wW4TsaMgqAw0fvz4bzJ5yC4ssSGyS5ICKSSZwWT+cJ0pAVEaRrfffvucurq6gTjEla/NH65nZ86ecr2RlXZLlrvy+Rs+xwaWZX+SlXXT+06W9x0tK/Moi59GBoLKTzRf0pe//"); client.print("OXbmLovyZQYl+iuLMQV5eqQsvqRbHe0GIe3DC65Fte8S6nFX3StzMVXcaFdt3Elu3y1VXhfTW0NW3zrYvQnQVAZaOLEiV9h4RXApU4pStjO1HBHhgRKOlUZnPWZM2eO69+//yQc2jJzAx6Z0r/xM3O0WiE/+ju7Ot"); client.print("m6DStZZ2dn5pncFK/9+vZjN89bWH4GyeJ2DRODmrkuyWL8LoRLgspTDQ0Nc2699dapTD5IVjnFeRS3ZGq4oyCUVHXrRBW+KZlhEQ5ruV11dYCVClHJdLH5Atv0wTrudf0aM3oMmzZ1WlnuIRaAUZZn5GAOQeWuG26"); client.print("44SssWgVwH0d0XZJOlp0s1Vs1CV8aRjQQdujQodfjkJbJxVYQsrN4p2Tphew8HTtxmH386dasfqRy7E+y3H/cl+HAZDGOUFmAB5ugctY111xzSyAFXOWUdEyOHpA0KzPoZNg5H/"); client.print("z222+fh1TvcnRIXGyKB5N3aY5wgd2x8yN24NDerLCdp7LpT7L8n1+W0GAhZAdVmCgF/Atf+MJSJk5s0JorKVeHlGsyQ7A6g+OQpkyZshiHs0wdUiCxoSdQ2rJtE7t48bzfJbkvQP1Jt99aHqdJBjjq/iN/hh0cElT"); client.print("+sh1SMGwnq/6dc3KDqXiCTjKDEkrz5s2bglTv8ndIltv4sF0GSnpXWkpyWLNhBevs7PC7C3c5bOgwNnvW7BLfM/5wnWX5LRPff2SlG7qSoMoQpYDffffdNzB5H1Iw0y5y5QZT8wlRkxm8VG8UUS07h2RxDsl1AoGw"); client.print("Xfq+iBfaK1cusxWr38wK3XmX8tkzr2fDbTCVMqt9+4Vxty0O3owP11kBcEFQ+WrKlClLmXxMkiyxIS9ZdrlOM+GsDxgwoN/QoUNn4RCWG5BY1q/7YNjOn/4d7UJ7sfk82/j+Gr/"); client.print("T4qBUyv1JvEOyOIck6kMKOk0LNgmqALnJDU1Mr65d5LCdGfLAIOl4GCnDdahbV74OKXghtQJhO9/tHEQJDvsP7RFCiWBUqv1JQcfjhxLXdyQI2YFHUCWIq28XyxFKhq5D0hl7JKvwnRWumzZtGsYelSeSAsDxX3Ct"); client.print("QHKDlWMoauP7a9mpMyeyoWSvU38SpYOX4r7hw3Y8lPwhu0DYEyE7qII0duxY0bQUqtp22mE7U8MViaaaUALp2muvHdyvX79ROHTl6ZD8/UTZzsi/"); client.print("nvt7rX3vHXb5Sqsgc81i1025zhk4W3L7hsndkWzf5dLfBkGlqrq6uknuFOc8iPh+JNWUFMqwnal4QM79RwsWLEAyQ9kDKem/"); client.print("sEpcUk/6RpzMOxtKlHlncQ7JA9PCeQuclPDS2zfZ4UwW3E+CBkGVonnz5gWTG0wWPqMszxalQ1KF63QGwsb59XHjxt2EQ1buQFL92udaD9/"); client.print("PSXL4YK0vQ80DU01NDVt0620ltG9C9oVlSaGFkB1USRoyZMhSJu9HCi0lFAakoCtiTJ1lJ033njlz5hiMPSpfJX0X1WT4RTcPv/yPHT/"); client.print("MPt65NZ1izoNpQBNN6ndjCcGa+WDsLZMCd5RMwiFBlSkak3TrrbdOYXrFVrMkC9uZGuE62fijuMgd3XjjjXBHZe6QIkMpD9rx6UcOmPixT9761CnXsQnjJ5QIkLj9kUxquqUkgARVnK6//"); client.print("vqlTFxCSDVPElO5JVExvLBiqsqBscOHD8fYo3IGkuQim/m1nyxY3whVBqcQHt+X5LmwG+fcwAb07+0irNz+4PeBu8/8jiiZtb8gqJLUv3//"); client.print("W5i4rp2qpp0ybBcXuCLG9MJ1WTCicF2fPn0Qritzh0QX2CQdcsOiWJRzITZN7+Jq2vfZt+kibJrMymPfCCU5rN2wki2988HU4FiLTjzDeY+aeA2b//"); client.print("l5bOu2rdmndfZErppwSa11dXWx5pbm0GcEQ3B+MCWFMEpyj4GgSpIXtlu3bt0nLMewXTBCFxc8Lmp2XRpON9544+dxmMpbdPE0vItq0r5sm3yxVdO5KJumfZ9huhfa/L7/lauXndlm77htaRpG3llp/"); client.print("yJjdyy+w9kuQUwWkbKmULeyl2fOnWFr1q/VgHVSGI5LBpxkugUcFARVmihsZwNpF1Nn2vFcsQKs8f1hyGrZBYvlIVxXLQ6J3FHS/8uev9D6Q3iFudCeOXuKfbb3U/"); client.print("v9k1mp1EyR6RYM9em0KFD1PSeZ9LmjzP7gWjLpexwEVZokYbuwlG+ttG/dqcpFIbsYwnWV45C8C24aTkn/hda7+HrLQsgZm+QBJqkLl6QknJZ9Xy4JB9kwSmZB2nNG6cZBCYIqNWynCNlFGiQblvYtsmBZMKLl5Mm"); client.print("TJ+HwVACQXPgkuf6PZJZLShbUIclDZMG09Gyn4wdYUtrnk8whMUMMI4E7SnINfUhQhWvixIlzmH76t7K2nawPSVS7TgYjp02YMAHp3hUCJMNInQaGk76QCvKSDzJNuj/1O4b6kZJJs2AXWjEo/LXGfX1M2Q/"); client.print("LmkTPe12v/ygzuZ6mQ1LAKOUkAy7J5zABJKgyNXz4cEr/fp6FT0fh9RkZ/r9UMZBEsb4wh+SAiaaasDUSh6b8lbq4pmCUNFwSEaGSKSwFoVQwIDGLKyNkOAl/wd9WMhhZ/COCMAosMzXpdBxS0td/"); client.print("lgUj11mmt6VDhanbEFSJotp2NCXF8ePHOyXMML0rCRMkMvBSVWYNS/dOu6T58+cjmaGCHFLqYspdVNO3rayLcMF++RMokv5MtmRIX1Ims80LnXFhu6R/PFVwXJXevrEyIc2s/"); client.print("ZD09btl+t8sOCSo4rVo0aJbWA7zI5H4fqS4BEQm00tocJpNR/QfVRCQHEdieKdE5pe9YXpGyUg7pUL98vcSEQzLcE/jTPgtNO077ZT8IbvspeeQkpqfSRSqc10QF56TNQiqVA0ePJj6kZYxccUG2SBZi2OPFQQSY+"); client.print("rsOimUhg0bNhOHpLKAFLzm082EexI4ZHLDd4UM2dHF3jC8GJwHSfUcTJZvfvQQGLkP0HdIXsiOAxKfSce7SyuJPiSoatTU1HQzk1f+FmVxW0wyDskIacoKDZTujZlhK0cJ5wKaYMmE/4KaCF5wufFKhXFILJBWLUg"); client.print("cyGrJdAjOH14ThNm8jLlk9JCdP1wngBHtr/T+S6T3HQRVqmgm2VtvvXUyE49HEg2U9ckL26nGIck6p3xgmjx58kQcjspySH4IJbLDT4mE72JcGCBZWRd+4eBTX7N846b4/ptgv5hvAHDSynHfCNYTPIz8oIKgShaX"); client.print("/m2GQEg6tbluH5K0/2jMmDFIaKgwIMmCaOml04EU9vieW6RUH5J3drpJ3pbOU7n0cFFmnbs9M8lgUnPfJDi4BaEm6jdy3ZENcAsOCapwDRkyhBIbnmfhqd8+CHEXFwdIsioNYeneThswYAAcUgUpkUgIWWSlr+1m6"); client.print("oaZSc0ulENystYYD6TgbyojDa8gNrNAFIAQS5cYYtphR1Goz5+BmHGUCc5NImQHVYMaGhpmM3lkLayuHXOvLkKHxDfRfBfOtptuugnZdRXokBKJzEU14VxgM31KTkgqvT1Z2Cy7pCDEFgwdJvwhxazHZbmXRFY/"); client.print("mK57CYboEq4DSoXpEr7bzv5KZBySblgQgspZS5cuncPE/"); client.print("Uda6d8yhyTrO+KdkjlhwgS4owp2SFaW8+Cn5TZdd1E4INHF3OCckCFyRwqH5H3msLRvXYeU4OrS8QkTGXcEhwRVt8aOHUtA+oCFj0USVv8W9SGZTLNKw9ChQ+GQKg1IyUQWjDLzT6QWppm5/"); client.print("Bfql7930TfSp6zh55CoSIMVwKclB1Lq+1lpJ6bnkFJOxxI5LyvbvaWdVCLlMiGo0tXU1DQnaFyYuh/Jp3gARmEOydcaGxtRLqjCRBdSflAps3hv5PYbcS6psCG7BOPHH/"); client.print("HnscQgBWCkckZ8MVa970ChOD57z4NQMEyY7Y4QsoOqQ3369JnI1HMjifIV0n+4caY/"); client.print("Bsn34jNmzBiF8UeVp277IhrzBpe6F+wY44qdes203MGrhfnln3EuAWeknAFZF0Z+MCWtaA7Jg5GqOkO6ny2R6W+CoEoXjUe65ZZbJq9fv34Hy56CwtR1SIxFHH80ZcoU9B9VoBKuQ/Iu7JavSraVrmxAzYwQ7ooOp"); client.print("FRyQBBEhqF6jghMipJBEUN2CTc5wQ8jKxOuSwT6jyjJIYHSQVB1adKkSbNtIO1k6nmRDBmQwtyRyCHFBg0aNAq7vkKBlLps204pxryOI8ted9xSVkHTQofsCEKioQthLik73ZsFQMSsqEBK+pMZBOOPEoGsPy/7Dk"); client.print("CCqkXXXHPNJKZXzy4rsSGugFFw6nLfXBdNTU0AUoUCyQFPLJYJ2cVYpr8lAKVEgS60dLF34JgefxTNIfkHxbpbAvXrvOktIjkk3h0FgJROhU/4b3tQgqBqUENDwyQm7z8S/QWn+5F0i6v63NGAAQP6Yv6jypV3gU7"); client.print("1H8XSbol3Rh6U6OJbEIfkhr4yEbvgwFgjyxXxjkjojngYcaG7hDaQurPHRFmBAbECGDn7EzkNUJWorq5uItObyjzUIZkhzXFHkydPhjuqAiil4RPzwnV+KJlWYZMaCAAOhjhbpBewk4AovfRn2Wk7pMAA3ETSH8IT"); client.print("wQhVvqFqFA2QXb58+SYmT2qQ9iEFnZGsDykdExw1ahTcURXIcsNmciglCxeyS/qTGnz+yBA4JN9USPKkBn78URpImi4v0d0tHn+UEITtMOUEVMUaPnw4uaT3WXj/"); client.print("URaQwmCU1ZDQUJ1uyYOSaZnMTJr2bbNgDindh8T8SQ16fUj8wF7/NOV8uI6l+8H0vkN3IhFI+baEIEICA1TtchMbVP1IwsSGOBOXDVIOkG1qaoJDqkK31G07BNM0nRYzY5EqZUd+P8chdbNMMkMQSn6HJIWRZ6BcE"); client.print("PHrUTMFu+3PEwQRJuKDoGwJEhtCqzR4QGIRHJITtkNCA9yS55T4Kc7z65CSjiPx17IzQp+XqTDBuSNZhp27TVjhXKBEdwIggiANBRIbdMYhGbxD0qnW4LzgjBkzACO4pXT2mGEUqJad7UKozybtjLISG7Kz7LKnnh"); client.print("BDycoaS6UZsnP6kPwTASI8B0Fi3XLLLZM0KjZkhexYwCUp+4+GDBkyELsaYoyb3M7I/2t7WWrM55CYuhOJZReFTU/Ix/"); client.print("zljywOTomEfsiOnwcJgiC5bFYMtxfBig2yWnYszCEJgTR8+HA4JKjwsLMv+ORI0jAKOqRAdVV/"); client.print("fVVxyncaSBxMLS55QschITQHQXoaPHgwhe3eZeHZdWmXJBqHpJyCYsCAAciwgwourw9JCKP0DSNY6tvnhoJLUcp3FCABRhCkr8bGxkksvEsoyyExpi4f5HNMDQ0NA7CroYIDyXFIXSwz/"); client.print("UR6QJKgD4mlM+jSt6z01nQNOz4F3PKVP0JZHwjKt2pra4eziCWE4iziGCRk2EHFA5LfIWV3H2XP1mdZCoeUHn/Eckr7hiBIX4JMO5k78oXsGNPMsBs7diwSGqCiiCpAdNkOyXAtkeFzSNk/"); client.print("rniHFFwPhu34xkMLgqD8atasWSN27NhxgGV3BzEWMakhC0zDhw8HkKDiOSSrO+CQNMYhWVbWOuADQb2jkSNHDreBdCjEHWUBiQWIJYz72S8+Aru4fGX8158V6JXNvL8iZZMnmL9vJyqQSkmr95/Q2v/W//"); client.print("ckTlSoYmSbmAksU9PODIOSKGRnyhxSXV0dpiyHsmFk1RXlneBuIKi8VFtb28j0+o+cJutsEjqkgQMHIuUbgiAI0lK/fv0msgjVvsMqsPoAVVNTA4cEQRAEaSkWizUycaUGJgMSE1knkUOqr6/HGCQIgiBIS7W1tcN"); client.print("YeMguN4fUp08fAAmCIAjSUk1NzTAWHrIL7UPKav3790e4DoIgCIqkkSNH9mOKRIYwhxSM9znrU6ZMQYUGCIIgKJJmzZo1iWlO0CfqQxIRzLAsy8CuhSAIgiJKlV3n22ZyG5nKKQ0aNAj9RxAEQVAkDRgwICyxweeQ"); client.print("ZB1MPkA1NTX1x66FIAiCoqixsXEY05sPyQgWujOZImyHXQtBEATlIK3BscGQnfSJ/"); client.print("fr1Q2FVCIIgKJLq6+uHM3UkzgckQ4NgRt++fdGHBEEQBEVSXV3dMIFbEq37HFLYoCUIgiAIiiQ3Q1tZoUEGJCYAFAOQIAiCoB7IFPBEOP2ECERZUIrH46jUUOZ699v3F+R1jx07xp5//vnIz3v66adLZt+88MIL7O"); client.print("jRo5Ge8+ijj7LRo0fjxIIghWKxWD8BU4SRuLgCRr7tjY2NmJyvzLV4YmGKbexJXGbr7VYqnycXba1NsETE73DTiP5sykQUMIEglfr06TOByaNuvuhc2FSfCNVBEARBPZURYnykQJINWoIgCIKgXIFkhJkdk6lHzkI"); client.print("QBEFQPqFkyO4Lc0jIsoMgCILyASMZlEL7kOCQIAiCoEJAScoZE/sIgiAIKrJDEko0QV8Y1SAIgiAo74JDgiAIgorpkgAkCIIgqHc0Y8YMUYFVrXFIEARBEJQ37dy584zCNaFSAwRBEFRagkOCIAiCygJIFnYRBEEQ"); client.print("BIcEQRAEVbIs3vgASBAEQVAxwCMFEYAEQRAE9SaUmAhIVqBFfhEIgiAI6qngkCAIgqBiuSNLZXJMxZPhjCAIgqB8Q0nKGTPkSWmqtba2nsT+hCAIgqKovb39gMAhiTjj60NSkqu7u7sduxaCIAiKokQicUUBIx9zw"); client.print("hwSYwjfQRAEQT2T1BXxQqUGCIIgqFgwCq5LgSR7oLP9ypUrF7FfIQiCoCi6fPnyAZYdrhNm3Zki+ATWndutra0AEgRBEBRJXV1dlwVMEQEq3YdkScCklTsOQRAEQSIZhkHsSErcEWOCWnah5GppaWnGroUgCIKiqL"); client.print("W19QyTh+x8Mpk4RJfVzp8/DyBBEARBkXThwoXTgU3SbDtT8oCs5touCIIgCIoqrW6goENKyhzT3r17UakBgiAIiqQdO3YcYOoIXBaQVHniTmtubm7DroUgCIKi6NSpU5eZelaJ9PZgyI5/QpJzTE5rb29HPxIEQRC"); client.print("kpa6urtO67shzSEzljPh29epVjEWCIAiCtNTZ2XkmaGyYYoiRaIK+oDNKr9u0Q9gOgiAI0lJ3d3dYuC7LIVm67cKFC0hsgCAIgrTU2tq6n8nzFEKTGmTNcU0dHR2YggKCIAjSUmdn5xUW3oeUldTAmDx0lw7ZHT9+"); client.print("HA4JgiAI0tKpU6cOaMAoN4d0+vRpJDVAEARBWjpx4sRplp2XwEQwUgEpKXJIR48eBZAgCIIgLe3cuTOntO8gjKSAam1tPYXdDEEQBKnU3t5+QMITaYKDbD4koUNiGIsEQRAEaaijo+O0iiVMMv2Edh8SQ+o3BEEQp"); client.print("KHW1tYDTB51EyY1xEW2ickz7ZKnTp06OW3aNOztKlNbWxs7evSos75nzx5nOWjQIKcdO3asYO97/"); client.print("vx5XyONGTOG1dfXO+tTpkzBwYGgEtTZs2f5kF1wyZigHynOwhMafM1+E4TsqkQEmo0bN7Jt27alYVAMbd++3XlfAt/"); client.print("Vq1dDH09QJDBRmzNnThpWEAT1KpBEGXaqfiSlQ0qKQLVr1y6E7EpQTz31VOTnPP3000KHQSBYtmxZ2gkVSwQhet+o8KPH03OpPfvss2zBggXsvvvuc0AFQVDvyP573M/"); client.print("UfUhBWXEJhJJMkdxAmXaNjY3DscsrSxSWows6OaJiioBC75svAHpwIihRgyCouNLIsBOCKc7k9YWkYbvm5uaTAFJlicJzP/3pT4samvPc2DPPPKMVmosqclsU/iMniDAeBBVPV65c0UloYAH2SMchJSXuyFk/"); client.print("d+4cwnYVBqOf/OQnRYcRuRh630LAyBMlYtB7kPuDIKg4amlpOcDk4TrGelBc1XuxhLd+4sQJDI6tMBgVEgoyUZiuGCIokfuDIKg4OnnypCrDTjo/kqy4qtAZee3DDz88iF1e/"); client.print("iJH1FswKrYoNLhq1SocdAgqgt55550dAoaEhu1kE/Tx6wkRmFBCqPz1wgsvVAWMPFGfEkJ3EFRYtbe3H2TRsusY75B0BsX6QnbMTWzAri9vVROMvO+7cuVKHHgIKqCuXLmyP8gLFp5xlwYSY/oZdt6bJJDYAJWjKJ"); client.print("ECgqDCSZDQoF3tWzYOSQUmB0p79+49NHfuXOz9ChaV6Bk9erQzwJT6YPjyQYWUV5KI3p9E75mv96Z+M0rkoO8FQVD+ZbNB1n8UGrqLB26rEhoSvA3btWvXie7u7vZ4PN4Hh6ByRCCgwaSyEjwEBgp7UX9MvkXvSe8"); client.print("tgwXBhN63py6HBv4CSBCUfyUSiSubNm06IOGItGSQzCExiTtKiMB06dKlUwMHDrwWh6EyRCV3Hn30UeUgUrrPA1Y+M/S+8Y1vOO8fBkt6HJU76knKeLFLIkFQtcj+wXqAhfcfMYERSg+MlZUOUiY1sFTlb6R/VxCM"); client.print("6GKvW9GAHEa+yvIQBMNgJAJnrir2AGAIqhZdvHhxh4QXWv1IonFIsnAd746cduDAAQCpAkR9NQSjqLrjjjt6XMCU3A69TjHfG0CCoMLo8OHDOyQwChuH5AOSLO07IYBRen3Lli0AUgXokUce6ZGz6ol64rKWLFmCg"); client.print("wdBJaSVK1fuUMAoyULGIvFTmMsGyCpDdxcuXDiEw1De7qgnk9z15LnePEa98d4QBOVXly9f/oSJ+4/CatlpjUMSZdhlNdui7cKhKF/11OH0BAqUGNETIVMOgkpHp0+f3ihghE617yyHxFMrLLHB12g8Eg5F+ao3L+"); client.print("oACgRVjgLjj1QJDUwCJkunuKrSIXnjkXA4ylO9GfbKx4yu3uBZCIJ6TzT+aPPmzQcEzkgFJZ9+8IMfZDmkIJy0XNLJkyd345BAvQEkTLwHQb2v5ubmTUzdf5QMcUeOgg5JO+Wbf/"); client.print("Njx44h2w7qFSBBENT7On369A4Wvf9IOg5J1I+k4466qdlWDYkNEARBVaq1a9duChoVgTNiCofkq9TAmHoaioSqtbS0XMX8SBAEQdUnmv/IdkitAnckSpCT9h8FHRJj6mkolFDat2/"); client.print("fNhwaCIKg6tLx48dXsujjj5gITqbg9WUlhGQwcsJ2e/"); client.print("fuRT8SBEFQlclN9xa5o7A6diwIJpOpc8RVmXbdbkunf9vWrRmHB4IgqDrU1dV1ZvPmzftZdmm5SOneIoekO425tNnWDckNEARBVaLz589v4gxKQgKj0In5REDiwSQK14mgxLuk7g8//"); client.print("BD9SBAEQVWibdu2rQrASMcdRZoxVpb+rXJHzgfavXu3E7br06dPfxwqCMoWTZ8umtSwXArF0tQd3vQd3lTzUb8viuJWhgThOllig7JckAhI3kaDqdO/k0EIBZ0She0mTpy4AIcLglKiKde3b9/"); client.print("uTJ2uEpVBomK31EQVKOji/vzzz2dt954jE83sK3ovftoR+oyiqeGffvppZ0mz7NL08fxsuzR1iGj6EHrMqlWrlN+XCuvOnj27x8V9oV79cbJJ4Y50Zor19R/JHJLBwlO/"); client.print("u5kgsYG5YTsACYJSAKGp1o8ePar1eHocNbrwEwiCxWfJaYimXw9zHDpTtpPrkT2OQKUzZXxbW5vzuDDwuqEep9Fr0+SQqNpRfnLDdUEYeeuqYqrKat9MACWRK5KF77p5MHlhOxwuqMp/PTrORBdGQfDQc0thZtsoM"); client.print("KLPrAOjICx/9KMfOfCGykeScJ3utOVMBiZRlh1j+hUbugXbaGpzJDdAVS26iIv6ijxHQ6EuClfJqpXTcyns1dt64YUXtB6XK3x5ABPUoPLQyZMnVwXMiAhEWtUZeMVZJkzHgymXsF262b+qPpo+ffpiHDaoGkW/9k"); client.print("Xhr4aGBmEojsAj6hvK9QKfT8mgyotCjLLPSuCl/iL6zuT4yHHR9w2+Lt2mfUDhO6j0ZR/HlUxRcJtpVvfOAhJRSkAqVTKDaHCsL2xn/0FeoNp2jY2Nw3HooGqTrC+GLs6iSQnvuOMOIZBKSeTk6HMSXLyECy+kKHN"); client.print("yBBc+aYH6iTxAkSMKQolgRfejP6m0ZTvZg7t37z7JsnMI+O4d3Un5shxSEESMybPtZOnfWWDasWPHpoULF34Jhw+qNhF0RNlnlFVWjiKAPPXUU1nbCRyUPShyUarMP9o/"); client.print("BDdyVkHR69F9UOnqwIEDrzNxl40qXKdM9w4CKUrYTgkir73//vu7brrppqXxeLwPDiFUTaI+It2xNuQydPtpekMUZlSF0WShOoKYSgQrEZAoKQJAKl3RzLDr1q2TpXsnmGa4TtR/"); client.print("lAZShLCdNpRaWlqu0EyyttWfg8MIVbuoX4ngQxdwb3ApP8i0VEWuTjUrryw8GeYGvUG1we9f6vuj2nXx4sXNp0+fvsTkoTrZ+COtfqS4YJtO2E46WZ/durx1235vA5CgahVdXMkFyMJa5SBZFmA+BCCVn3bt2iUqF"); client.print("aRToUHEGCWQwsJ2kRwStS1bthy48847UUoIqjrpjt8pdYmSMKDqFI09WrVq1ceB67zO+CMfhGThOpIZ8iDdCfukUPr000834VBC1SQKY6lgRK6D+lgo8eHb3/42+8d//"); client.print("EfsNKjkdfjw4dcFIOrxYFiZQxJZKoPlnmnnhO7Wrl370fXXX78YyQ1QtUiWpEAQovpxxUxrLnQFBEp6EIlCb2HfU9T/VMgQIZS7KJlhxYoVqyTuSFXl2yeVO/I5JAm9ZJW/"); client.print("tfuRvOQGHFKoWiTKPKOLM6VOFwJGKugUenCtLJswrH6e7H6ECEtTFy9efP/MmTOXmP5UE5EHxWYBqQdhOx5EXUG3tGHDhs04pFA1S5UGrutiZDCji7us7I6ognc+Jcumo2QOVSkgUcp32H6Cek8ffPDB64Fre1jIT"); client.print("mVwtB2SCkT8zH+y6cyFYbvdu3cfv3DhwmEcVqhapYKObpUGGZC8sju8vMrbOpW+eyL6TCKIUMiO3l8EJdnnotfCdBSlp8uXL+98//3397Pw7DrldOVh4TqSLO3bUMApLFwXDNs5y48++mjTkiVLxuHwQp"); client.print("Uu6lcJpnlT6OyZZ55Jlw+iC7U3x1CUsBpd/EUXc2/OJS/kJZsIsBB69NFH2Q9/+MOs7TTIlT4ruSiCDX1n2iZL7abXgUpPtqFY5l7HEyxa31GkcJ0QSIFBsrkmN3QFl+vXr/904cKFzfX19UgBhypadAEWhcq8OYB"); client.print("64qrIQchcj2y+pEKLIEjVHESZhfSZdMKG9L3KtbRSJauzs/PMG2+8sTFwPefDdj0ee8RLFrKLktwgc0lBKJFLWoNDDFW66Je+LPtMJlE4TlYjLkomGj2+GP0y9D65Ohx6Lqp8l6bsHzjPM0kRbZansUehQNJIbhBB"); client.print("SdqH5C2pvl13d3c7DjNUyaJSOzTNhA44CEQ0FknWd0JhuKDotXUgs2TJkqJe6KkGne5n4787YFSaCtStizJVeaSxR7ziGo+xJFBSTdrXJXBIXS0tLZc/++yzzTNmzFiEw51f9WZ2Um++d6mOW6Ew1ve+9z0HKBRGC"); client.print("/YT0T6jz+6FqWQFWUXOyQMevS69vui1CXDec8m5BN1W0MHJnFTU/UuvQZ+Nwo0UnhT1ZdFjvDmSoNKVfezeOHPmTAsLz67rcTKDDpB0kxuCLknWl+Ssr1ixYtPUqVPnYaBsfkUXgWp8bxpoWsoi4Oj0jRBkooJdt6"); client.print("q4zoXfK3aaTyADOOXtjt58881lTBz54q/5OtUZtCVN+w5QTTa9uawfiSdqF9/IJR06dGg7DjkEQVBpynZG77ruSKcyQ1IBoEhgMkPu101ukCU18C0NqjVr1qC+HQRBUInKvka/wcSFDhIazihyMoMWkCJWbtDuSzp"); client.print("27Nj5I0eOwCVBEASVmM6ePfvuZ599dpKJM+vCEhpydkc6DkkFIllfkizbjlqnt75ixYrVOPQQBEGlpZUrVz4vcEdRYRTZHekCyVLASTYmSRW664JLgiAIKkl3tNp1R8HuFt2CqlZP3j8USJLkBp2wnaofCS4JgiCo"); client.print("vNxREEZJBYTym2UX0SUFodTNxFXAO4Muad++fagEDkEQ1Ms6dOjQC7Y7OiGAUbAygyq"); client.print("pQWRk8gskDZeUFHxgWciukwfTsmXLVqN6AwRBUO8pkUhcdccdiaJaQYdUEHcUxSFFcUkJpp4ryQcmr3oDTgkIgqDe0dGjR984e/"); client.print("ZsiwBEsoQGaVXvXN1RJCBFdElhMPI1qt4AlwRBENQr7uhKwB11s2jJDHlxR1EdUlSXlFCAyRe2s11S6/vvv/8nnBoQBEHF1aeffvpsRHeULIQ7igwkjXJCQZekHIvEg8l2SR+1tbU14/SAIAgqjjo7O8++/"); client.print("PLLq0rBHeXikJjkQ6hcUtiYJA9Qne+8885rOEUgCIKKow0bNvyrwCiI5j1KFNod5QSkHFySaFxSJ/OH7Zzl1q1b91+4cOEwThMIgqDCqrW19dM1a9bsYNlZdbp16/LqjnJ1SDouSTd0F2xdf/zjH1/"); client.print("FqQJBEFRYLVu27F8DxkAWqiuKO8oZSBGqN4SF7bKgdOzYsXMYLAtBEFQ4nThx4s09e/acYNFDdQVzRz1xSLIPIapxJ4NSJxP3JWGwLARBUIFEg2BfeeWV5wXX4KjTTOTVHfUISDnWuFOF7fjBspQG/"); client.print("jZOHQiCoPxq586dfJp3ZwiMRANhC+KOSLGePHnx4sW08KY5NwLrwaXJLUPbgQMHzl9//fXj6+vr++MUggqltrY2dvDgQbZx40ZnPYqOHTvGLl26xPbs2ePcbmhoYDU1NdipUMmKEhl+ZctebXdbBxOH7bTSvfPpjk"); client.print("jxnjyZPgz3gSyBY0q6EPJckul+2Zj75WPuZ+h0l15ztq9YsWL5V7/61SdxGkH5FIGEAEQgOXr0aM6vQ88NPn/MmDFsypQpbMGCBWz06NHY2VBJae3atc8yf1RKNglfotjuqMdA4j6UIdgmSnDwgOQ5oRjXsoC0e/"); client.print("fu47a9XDNjxoxFOJWgnoogtGrVqh5BSBdSK1eudMB03333OUsI6m0dOnToxQ8//HAfk/"); client.print("cdqUJ1BXdHjPUwZEdavXo1he4MwV3BEF7wtlbo7vjx4+dnz549s6ampg9OKSgXkRP6yU9+4gCJQmzF0vnz59NOjKBEIT0I6g1RRYY//OEP/3r16tVW5g/VidySljuia3/JAYkU6EtiAscUBJMZWJe2jo4Oq62t7dz"); client.print("UqVNn47SCooj6hJ577jn2wgsvRO4fyjeYNm3axMaPH88GDRqEAwMVXevWrfuHTz/99JACRl1MPM1E0dxR3oCkcElM4pKCYFImPJw8ebJ19OjRDQMHDkRQHtKGEbminTt3lsTn6erqctwS9TENHz4cBwgqmo4fP/7W"); client.print("H//4x7c5GHUonJEoZMcCLqkg7oixno1DyrJwgXXVYFnZjLKiwbLOzqOxSSi+CkWBUSH7inLVs88+6yRVQFAxRKG6V1999QWJIxKF6EKLqBbKHeUVSO6H1B0sm2ThpYR8JKexSSi+Cunopz/9aUnCiHT16lUHShBUD"); client.print("L333nvPnD17tpllz7LAh+l4KCkHwbICZNbxiuXzxSIkOPAwFIXxgs3ZjtAdFCbbSTuhsVIWJVZQXxKF7yCoUHJDdcu5H/dek01RHprIUEh3RIoX4DVlaeDJAIAS7tJLA+fHJomakw5Oobsnn3xyKgbMQkFR8gABqa"); client.print("eijDgvK84bS+QNfqX3oHVa9kTbt293xipBUCEkCdWJiqiq6tUVJZGhoEBSDJblwcQDyQyBEj82KeaF7u6///6v47SDgu6oJ6IxQ0uWLGH2jx0hpHiRC6P3yxVM27ZtwwGDCqZAqE42EDZsNtjgtbvgMgv0umEJDrL"); client.print("iq6LkBr4vyVnSvEk7d+5ci9MOCrqOXERO6Pvf/74DJBGMRCJ3Q8/pSRq357ogKJ86ePDgS2vXrv1Y4oyizAZbVHdUMCCFJDioKoHLsu2CUOp48cUX321tbT2F0w/yYEQJA7noqaeeyqnMD8HrG9/4BnY+VDJqa2s7"); client.print("/Jvf/EYUqutk8j6jsAn4rGJ9/kI5JJ1q4EEoJTShlM68e94WpqmAeuI2vP6iXEXPzTU5AQ4JyqdoWok//vGP/yC4Vqpq1oWG6orljgoKJAFZcwnddSqg1HHs2LGza9asQSo4lHOadz4SC1CrDioFffjhh8/"); client.print("s3bv3BAtPZCi5UF1RgKQxNkk2s2zQJQWJn769fv36nUeOHNmO07G6lWtyQT5gotvvBEGF0pkzZ9YuX758ExNXYlANgi2JUJ2neKHfQJF1x6eBe1AKZt3xjc+88217+eWXl3/"); client.print("rW98a3tjYOAynZnWKkgtySTBAbTmo3EX9Ri+++OKvmThUJyoNVHKhuqIBiQORIYCSFQKmIJBEgDJbWlouvfnmm688/PDD34jH46gKXoV6+umne+29UQoI6i1Rv9HKlSt/KkjxDmbWlXSozpNZjDfJIetONt05/"); client.print("wuALxTYsXv37mPoT4J6A0YYUwT1lqjfaMuWLfskzojvN+rWhRHrhVBdUYEkIK5u1p2q6GpWkgP1J+3bt28zTlOoGKLJ/qiIKwT1ho4fP77c1mYW3m+kKqCaZRJ6yx2R4kV+P1XoTlTFgS8tJAvd+drvf//75d/5zn"); client.print("eGDxo0aBxOWSjfolRtGvNErqin5YMgKFe1trbu+vd//3eq0iua30g2x1GvzXNUkkByExyi1rrj+5O0Zpr97W9/+4cnn3zyL1DvDooqggw1msLCSyUnCPG3Iag31dnZee43v/"); client.print("nNTxQgko016tVK3qXokHRr3TEOTqa7k7VmmGVuksNrr732/MMPP/"); client.print("x1JDlAIlHfDwHGK5YK4EDlIEpiePvtt39y7ty5i0weqlONOSrJUF2vAYkDjyp0F+xTEoXulIDavXv30ffff/9PCxcufACnMUTgoVAbwYdarmWGIKg39cknn/"); client.print("x269at+wQwErkjnXFHaaNQCuoVIGmG7hgHI8bkU6DL5k8yVqxYsaWpqan/jBkzbsOpXJ2iqtyUfFBu7occ3PPPP5+1nSpLhFWXoO/"); client.print("sOUBPNN6KnkcDgel+0ZxRvZk6r6sXXnhBeCzL4bP3VAcOHHj5lVdeeVcBI9m4o5LNqisVhxQWuuP7kxISIJkSx+S7/8UXX1zV2NjYNHbs2Nm4PFePyA3RBb1cEw/IwYlq3akqSxCEaLZc2XcmKNHzvTBlOYpgVI01"); client.print("AE+fPr3ut7/97Ysse7K9sNJAof1GpeKOGCti2rdEOrXuRGOTvPFJwkrgLDBW6Ve/+tUrqAxeHaK+oGeeeUZ5Ya5EEYwoBR2Zf5Un+8fJ4WfopE5dz9qZOlRXNineJQckwYBZSwNMwVp3QTC1Bw6c037xi1/8xobSa"); client.print("ZzelQ0juigXc6AqOY45c+b0+ncnN4h+scqEkf2D+kchzqhLA0Yl229USg4pShWHsIrgHZLmgMkrL4TpKipX5IoK3VdEYS8C0KOPPsp+9KMfOX0XucyllE+pQnA0NYY3xQbq9pWX3LJAP3cz6lTjjWS16sqi34hXvB"); client.print("Q+RIT+JFWfktdvJN1OmXcvvfTSb5AOXnmixIV89i14F3BqdFGnit6lOs2ELExHSQyiCQRpZlxq5ahqSF7wYPTGG2/8+KOPPtoncUeqMUdl1W9UckDiQGRIoBTMvmMhMJImO1DNu7feeuuF+++//3Fcx"); client.print("itDFKpbtmxZXpzP7NmzK2Z+o1IIJUK5ac2aNf9kw2gvy+5+kPUZ6fYbsVKFUUkBSZAKLpqqQgQk2bq0UR6/"); client.print("fQF6DWOUKkMrV67Muf+koaHBcQt33HFHWX1nr6IESVZtPBjK80DLPzfoCnXg75VNCr42OUkCepjo8waPV3D6EG/MGIVg6Rg98sgjzv2i5+p+9nKRvX//bd26dTtYdhFp3YoMSVZmobpSdEhhUBIlOXiQ6YoCJOaOU"); client.print("bIsi918882AUplLNKZGF0al0AeU63cOc4XBcUypRC35c737ZSAi8FNoVAQED046gKfPFQyvemFEAs6zzz6b1RdIr0dAEj037LOXG4xeffXVVRJnpKrGoFXFu5TdEckstQ+k2GGqKc/"); client.print("DkhzamSAD75133tn63nvvvY5LevlK9mtfR9S/Uo4wKrYIEj/84Q8diIU5UbqfoEHZjgSxqO9Dz6vWEk67du36vQ2jdxXOSFbFW+WOygZGJQmkEGekO39SGJQ6OChtwRTo5Q2kXKQbXtJRJQ/UzHV8E+0TynrUlZey"); client.print("X62p6zTw1Qb5mxrOSJXeXdYwKlkgaYxPEqWDqyb0a1c0Z+AsoFSeyhUG+YKRdzEttryqC17fjQy63mNy6WNRQYJCc2HvT8dGN9mEwojVDCNu4Kto6Eqw3yhKejcrFxiR4qX6wUL6kxiTZ97xy+A2UXNEUHriiScYS"); client.print("gxBUR1ab4SY+Jp2dOEXTRRIiQA96eyXhejofWkcFqXC8/Cha2rw8dTntGTJEt9jRQo+z0u1J/DRfbSsUBitt/fbz0Q/"); client.print("lBXOSDujjpV4EkPZAImDkmznJhVPDUtqEILKhtKrNpQMG0rX41IL6f6yr0SROxJ9N0olF41tIvDR9mCYjmBCr6ObxUjOj16nkrLmQmBEzqiNqbPpRFORqxIZ0tfLcnJHJLMMPqPIGen0J4mmPw/2KWU1hO+qQ/kIs"); client.print("9FrkAOoRFFqt8gdqQbUUhhUVA1CF9pe1mMVw0g03ijn9O5yg1FZAElSWiis5l23BEoiGLUBStWnfNS7q+T6cbK+Oa8KuayJ+pN0Q5peancVwaidZSdddSjckW56NytHGJHi5fAhFfMnMSbuS2LMP0YpuD3UlaFPqT"); client.print("yU669p6vshd5PrgFgaK1Op4Tpv/4gk6qvSEWXrhaXYV0NliQCMRIWgo878akl+sJelzHL5oBEz72RTVajCdiKn9MctW7b8CZf90lVPflGTw4kacvOmt6hkGBVCOk6y0seEffTRR7+IAKPuXGFUru6obBySwinJCrF"); client.print("6TighcEyh7oh/3WXLlm1ot4WKDqULJGq5jkciKFH4zptNVQQ4ghCFo+hxVNIG0zxAucDotddee9f94dvRA2dkVSqMyg5IHJRU9pSvDh4VRiIwWTR41jAMhtp3pSkK9VBZm1zl9X8EIUcgqtaqATLlWm1bNlapSmD0"); client.print("7zaMVjO9BAZVEkNFw6gsgcTBwlBASdavFAlE/G2qfWf/Cm+5++67H8HUFaUl6gfqCZCC6kk5oijqjQG1UQAiSmzwxgdB4aIpJFavXv0v69ev/"); client.print("zjgiHoKI1aJMCpbIEmSHHTHKOkASQimrVu37r169SrmUyoxkZuhwZf5hFIxVMruS9afQ5BSVbkgkAf71+j4eIN4qwlGy5Yt++/"); client.print("btm3bn2cYVUR6t0xmuX5wjXRwVXkhUYkhWYJDG3e7bffu3UdeeumlZzEdemmJxsf0VliIxs9UWiUBCoOKvhNVb1A5O8o+pMfwrZJr/Ylk/2g98sYbbxCM9rHsZKl8wohVEozKGkh5hBI/KrpDBiL+xKKZZ3/"); client.print("xi18QlE4BBaUhCiPRCP9ig6EnU1iU8oWa9qcoJZ5cHaV+U3JH8LvQlO6i70TutZpg9Mtf/vJ/uDO9RkntjgwjVsbp3TLFy/0L9DB8J5q8StiHFGwtLS1J+w/zZ0888cSXMFapdMJMBAcqX1OMPiByZE899VTW5HJR"); client.print("pDM+p7dEIKHwW3BfEpR0K3lTqK5apvg4derUez/72c/+jYmz6FQT7OUEo0pzR2XvkArklETjlIJOKe2WaKzSzp071wIHpQOl73//+wUdZEmuiIqLfu9730uDKNdwYam7pG9/+9s5u07aJ7SfqkH79+9/1YWRcEwj0"); client.print("0vvrmoYVQyQegAlHkyy0J0ISr4w3osvvrhyw4YNr3V3d7cDCaVxISXnku+6aN4FlkJTwXBWrtNZlHoihuc6owKXHk/Pq/SMPEpeoDFGv/vd714K/"); client.print("lgVuKNcxhlVDYxI8Ur6MjmG7yzB48IqQliBkye5YsWKD44ePXrqgQceeNT+I+wPLPS+CEZ0UfQyv4LjjcJE7sebU0hWOJR/bK5jdChJoJQv3AQlcoPe1OeqcCjtL4J1NWTVdXR0nF++fPm/"); client.print("cJl0fBZdJwufYA8wCsioxC/lHjRD8F29ZnJLajG3xblW47Zat9W5jdb7uOt9uO3OelNT0zWPP/74V+0L1DggoTRF/TZh1RaqoeJ0rvLGafFw96pcVENxVFJLS8tnv/3tb//F3g/"); client.print("NTN1f5HUHdANGVQokTSjxQOKhFAuBUm0QQgEwOe2xxx5bOmnSpHm4fEFQZeno0aPv/PKXv/w9k1fq1gnRAUYCxSr1i61evZotXrw4KnQtybZgWM+S3JduO3bsOJhIJM6OHTt2ommacfwZQ1B5i/"); client.print("qLNm7c+POXXnppOZPP8KoqktrNwuczqloYVTSQcoSSFQInxsSp4kx0Yh05cuT82bNnD44bN25MXV1dP/xJQ1B56urVq0eXL1/+vzZs2PAJk2fQdTB/iC5s+oik5AdvVcKo4oHUA6ekckih7ohv586du/Lpp5/"); client.print("uGjlyZGNTU9Nw/GlDUHnp1KlTG37/+98/c/DgwRMKZyQb7Bp0RQmWnRRV0fXpAKT8QckKWQ8FErWOjo7ubdu27UEID4LKR16I7oUXXljW1tZ2WQEiFYySTH/a8aqGUU9cQ1kqJNHBWzeZfrIDn/"); client.print("DAJzuImnP/6NGjhzxqq7GxEW4JgkpUV65cOfryyy//7wMHDpxk/pBch8IVqcoAVc0UEnBIhXFKloYzYkxdasgb95Q+ES9dutRu/+raNmTIEHPo0KFIDYegEtO+ffte/9nPfvbMxYsXKaVbNKFep8QdiTLpLMAIQMo"); client.print("XlFSAitSXFGyffvrpkdbW1qNjx44dV1NTg6ksIKiXRQNd33333X99880317Ls8FyUygt8mM4CjPRlVPOXjzhWyWD+8J1OCC8Yxsu63dTU1HjfffctxpglCOo9HTlyZOWrti5cuNDMsmtaBt1Q"); client.print("MIsuSogOMIJDKrpbEv0qEt62f5V17dix4wDcEgT1miv66euvv76KS1wQVeuWhehkMOL/5hlgBCD1BpR0wnhJ0frJkyebP/"); client.print("nkkx2DBw+uGThw4GicmhBUcFe06rnnnvv5nj17jggAJIKRTj062ZTjgJGGDOyClCJk4MlKDsXdZQ2Th/"); client.print("HqmLg2nu++G264YeKdd975AIq0QlBhXNHatWuf3bBhw07mD891MnnCgmr+IvQXwSGVhFNSlRoKa0nB0mm2W2oht9TY2JgYOnTotTg6EJQf7d27d9kf/vCHX7muSDaRXtgYI/"); client.print("QXwSGVjFtSVQw3I7ilWoVzSt933XXXjfrCF76wdODAgUgRh6Ac1dLSsmfVqlXPf/zxxweZv+acCj4yV4T+IgCpJKGkqhoeZ/JMPBmYsoDkthobSjfcdNNNX4zH40h6gCBNJRKJtm3btj2/bNmy9wLwCQORqq9INb6"); client.print("IAUYAUm9AiTF5arhOhYcwMGU1pIhDkL4OHz686rXXXnv9woULLUzdRxRMWAibLgIhOgCppMBkCByTKuEhDExhMOIfUzN69OjBDz300IMDBw68FkcHgvyi8Nyrr776m4MHD56SQChqeA4hOgCprNxSWAgv2LfkQUk0"); client.print("CWBNCJDSt5GNB0EZUfbcmjVrfrNx48ZdCickS1ToYv45i8JAhBAdgFTSUGI9cEtxDjo1gfUw10T9S3PRvwRVq6if6KOPPnrhjTfeeE8AHh4+/O3uHFwRQnQAUlmAyVA4Jh23xIOpNgAopUvyltS/ZINp/tSpU+cBT"); client.print("FC1gOjAgQOrli9fvtLtJwpzQp0BCIlckWjeItFEeoARgFS2bkmUIi5yS7JQnmwZ3FaDxAeoGrR37943XBBdUrggWWhONq14cICrbJArYAQglRWUGIs2bokHUw0Lz8qTASkNJkp8uOuuuxaPGTNmNo4UVCk6efLkph"); client.print("UrViw7ePDgaQl4wlK4ZeE5i2XP5orEBQCpYt2SydTjlkyWHcZTZeWpljUAE1TBIOrSBFFYPxFcEYAEt8TkM9PyUAoL5clAVCtyVjaYBi1atGj+tddeOwd9TFA5iPqIjh07tnHNmjWrFCDqCgFRIgCjJFMnLcAVAUh"); client.print("V55ZkmXiqadPD+piUQPKe19TU1M92TPOnTJkyH2CCShVEBw4ceJfrIwoCR9U3JKqwIOon0hngChgBSFXvlviJAGUZeTLHJINSXASmm266adoNN9ywuE+fPhjHBPW6Ojo6LuzYseONjRs3bpOAKMwN6aZwy8YVwRUB"); client.print("SHBLTJ2Np6qPFwRTXOGORIByXuPWW2+dPmfOnPmo/AD1hpqbm/"); client.print("faIHp31apVHwVAExwzFAYhUeacbj8RXBGABLfELWVJDzqp4rrOKS6BkrOkyuILFy6cP2LEiOsQzoMKqe7u7razZ89ut93QuzaMDgugoxOSE0EoiiOCKwKQACYJmAwNxyTqX4ppgklnm/NcCuctWrRozrRp0xYgnAf"); client.print("lUxSW27t377u2Nl64cKFVAhxRunaXBoR0yv0kmXi2Z8AIQAKUAkBiTD52yWD+MJ6ofykMTnFNOKXbjTfeOGH27Nlz4ZqgnrihM2fOfGw7oU22PlO4niCUwkJyIgiFzd6K8ByABEV0S4xlh/"); client.print("GihPJ4MPEDbmMS+NRIoBXnXFPfefPmTZ85c+b8xsbG4TiKUJiuXLlyfNeuXe9u2LBh+8WLF1tDICRbD6Ztq0Ck20cknOkZMAKQACX5MVFVElfVyNOFkyrEF9zuc15jxowZNH/+/LkTJkyYg5AexItCcocPH968ceP"); client.print("GTYcOHTobcDdhEIrihmTp22EDW+GKACQoRzCF9TGJMvKC1R+CQIqJIKOAkSx5wnn+tGnTRt54441zRo0aNQ1wql4InTx58uOtW7du3rFjxxEOIiLYqACkckKJEAgBRAASVGAwGRquSQUmkWuS9TfFIsAo+BzndW04"); client.print("jQKcqgtCW7Zsef+TTz45InA1URxQT92QaiwRwnMAElQCYDIVjkkEprDECBWQ4kHoEZwm"); client.print("T548ftKkSXPR51QZunz58vGDBw9utp3QDjccl1CAKAxAokoKYRCSheWSABGABBUXSvkAkxkCphgT9zmpQCV7fnq9qampYd68edNGjx49fsSIEdOQrVcecrPjdhw/fnzvxo0bd1y8ePGywtVEhU+3AEAiCCVYeMYcQ"); client.print("AQgQWUCJlUhV1lITwUpmTNSwckMuKeR5J7GjRs3HdUhSkvNzc37jxw58vHevXv3ffLJJ8ckAOlWuKOEYqkKx0XpH2IMmXMAElSWYIrqmnT6ncIAFNNsznt97nOfm2Br/"); client.print("LBhw8Zfc801I+CgiueALl++fOL06dN7Dx48uH/z5s17BdBQuRsVrBIRnJCstI8qUQGOCECCyhxMOnBS9TmFOahYyONNEZCC6+SgpkyZcu3gwYNHNDU1jUQfVH5E8GlpaTl+/"); client.print("vz5Y7YD2u86oCAoEppw0QWPbOCqbv8QQAQgQRUMJsbC6+bphPbMCE5IBiSZM8t6b9tFjR81atRwQCoyfI7bOvH+++/vU4TJEhqtW/NxYX1CsqkfdKsqAEQAElQhYGIsWl8TPx2GGbIMg5SpsV01nirrc5GTGjJkyI"); client.print("DhtgYOHDiyoaFhQLWBisBz9erVCxcvXjx+6tSpE2fPnr2wc+fO45KQWNCpJDShlGTyuYV0+oMspjcHEUAEIEFVACbdcJ5sfiYd92QqQnI620UAEkFK9dmc22PGjBkwbNiwAeSo6urq6m1YjaipqaknYJXb+Kj29va"); client.print("LbW1tF7u6uq7a0DnR0dHRRo7n9OnTVBHhfMhFPykJl+kAReV4dNKzdQqc6oTkACIACaowMPXUNRkagAqDlA5wYgoQxZi/wKyhAJSsDqCz3r9///rJkyePsCyLDRo0aIB9u7+9btjw6jNgwICR3g6j5ArbcY3Is6M5"); client.print("acOlzbtN7qa1tfWCYRiU4XbxwoULF+mCu2fPnuP27TYmHgCqch0yGCVDQnZJDeDoQkg2aDVKyjZABCBBVQommXNiCjiF9T+FAUsXYDqva0SFkuQ7hu2jKFL90hcN5lS5BxWIZGBKaLolGbh0nE+uEIrihgAiAAmCa"); client.print("9IK6xkaQIgCKN37wpyRGQIhbzsTwMkIAZGhASEZmCwBhJjiAp7UgJIOkKwQwOQDProQCoM1QAQgQQBT1vmQC5xkSRIGC+//iQofGZCMkG2Gwg0Gb/fk78QS3JZBqScuSdcxRYVNkoWPDQKEIAAJ6rWQHtMI60Xti9"); client.print("JJojDyEKIzQ0J1YTCK8rdiRYCSKHSnAyRLAxrJiACzNMCjk54dFq4EiCAACcoJTFHhpAqN6biZsFCgGcEFhbkinVBdvoAUFrrTdUthYbyoj1E9lrHoNeQAIQhAgkoGTkzgQpgGIMwI62GhuFxAlC8YRYFST8CkCyv"); client.print("d26L7GJMnX+QKIYAIApCgvIBJdsFmgnCXzoVflFwQFTC68NEFkRHh+8sgJLvPygOYdGGlAoyluG1p3AaEIAAJKmk4hbknWVhMlO2WC1x0XkcXRIUCUj7AlCu4ZC4nGeHzMUAIApCgcoBTmHvSBZSus9IBkuq9dJxR"); client.print("PtO+dZxST4DFNOCj89467gcQggAkqGzhFAVQIjjoJCBEvV8HQvkGUi5wigKsXJ1OTwAECEF50/8vwABid+BT8m2+QgAAAABJRU5ErkJggg==');"); client.print("background-repeat: no-repeat; background-position: center; }"); client.print("p { height: 400px; }"); client.print("footer { background: linear-gradient(to left, #007398 0%,#46b5dd 100%); color: #fff; padding:10px; text-align: right; vertical-align: bottom; } "); client.print("</style>"); client.print("</head><body> "); client.print("<header>MauroAlfieri logo embedded</header><h2>:: www.mauroalfieri.it ::</h2>"); client.print("<p onclick=\"if(window.location.href.slice(-1) == 'L') {window.location.href='H'} else { window.location.href='L'};\"></p>"); client.print("<footer>powerd by mauroalfieri</br>CC licence</footer>"); client.print("</body></html>"); } void printWiFiStatus() { // print the SSID of the network you're attached to: Serial.print("SSID: "); Serial.println(WiFi.SSID()); // print your WiFi shield's IP address: IPAddress ip = WiFi.localIP(); Serial.print("IP Address: "); Serial.println(ip); // print the received signal strength: long rssi = WiFi.RSSI(); Serial.print("signal strength (RSSI):"); Serial.print(rssi); Serial.println(" dBm"); // print where to go in a browser: Serial.print("To see this page in action, open a browser to http://"); Serial.println(ip); }
in cui hai solo sostituito la linea 115 con il risultato dell’elaborazione del file miaImmagine.txt eseguito nel paragrafo precedente.
Mi rendo conto che il processo per arrivare all’mkr1000 embedded html images è un po’ lungo e complesso ma il risultato è davvero interessante e ti permette di inserire nel codice tutte le immagini che desideri.
Esegui l’upload dello sketch ed apri il monitor seriale, leggerai qualcosa di simile:
che ti invita a collegarti alla mkr1000 embedded html images da un browser digitando “http://192.168.2.17” nel mio caso la rete è su questo indirizzo, nel tuo potrebbe essere differente.
Apri l’indirizzo in un browser connesso alla stessa rete della MKR1000 e vedrai:
questa pagina, mentre sul monitor seriale Arduino ti informa che ha ricevuto una chiamata da un browser:
prova a cliccare sul logo e guarda la MKR1000 .. scoprirai che accade qualcosa di semplice ma interessante.