0@0 LibraryRoot LibraryGroup-Триггеры 0@0 99 0@-560 281 537 0@-96 root output globalVariable 2 b28b9c53-0d2a-470f-beaa-d08ba9352b36 LibraryGroup-Преобразование данных LibraryGroup-Интервалы LibraryGroup-Mqtt 0@-264 3 1 Инициализация ELClient 450@30 480@30 corner: 567.0d@60 450@30 corner: 597.0d@60 484@48.5d 180@0 210@0 corner: 295.0d@120 180@0 corner: 325.0d@120 217.5d@19.5d 295.0d@30 corner: 325.0d@60 600@30 630@30 corner: 690@90 600@30 corner: 720@90 646.5d@49.5d 600@60 corner: 630@90 735@60 765@60 corner: 846.0d@90 735@60 corner: 876.0d@90 769@78.5d 735@60 corner: 765@90 846.0d@75 876.0d@75 846.0d@60 corner: 876.0d@90 735@75 TCPReceveOK 73.0d 7.0d 765@75 720@75 corner: 720@75 Q 9.0d 690@75 720@75 690@60 corner: 720@90 600@75 I 630@75 325.0d@75 corner: 325.0d@75 rcvTCPok 46.0d 295.0d@75 325.0d@75 ELClientSetup ReceveTcpData 084b423d-2ac2-44ad-a70b-49f54ec35ecc 8f74e797-9aeb-4b25-b18e-0c0abdc6d6d8 2db83ad7-405f-4b8a-9445-f55dad7ea785 ELClient Setup ipTcpServer 192.168.31.36 8c7d74c7-bb6f-4e99-9f2c-8ca7cc6b190a 985854be-f7ec-434f-81bd-aba018358aa5 esp.Process(); 15 Serial.begin(115200); esp.wifiCb.attach(wifiCb); // wifi status change callback, optional (delete if not desired) bool ok; do { ok = esp.Sync(); // sync up with esp-link, blocks for up to 2 seconds if (!ok) Serial.println(F("EL-Client sync failed!")); } while(!ok); Serial.println(F("EL-Client synced!")); mqtt.connectedCb.attach(mqttConnected); mqtt.disconnectedCb.attach(mqttDisconnected); mqtt.publishedCb.attach(mqttPublished); mqtt.dataCb.attach(mqttData); mqtt.setup(); // Wit for WiFi to be connected. esp.GetWifiStatus(); ELClientPacket *packet; Serial.print(F("Waiting for WiFi ")); if ((packet=esp.WaitReturn()) != NULL) { Serial.print(F(".")); Serial.println(packet->value); } tcpConnNum = tcp.begin(tcpServer, tcpPort, SOCKET_TCP_CLIENT_LISTEN, tcpCb); // SOCKET_CLIENT ==> we expect a response if (tcpConnNum < 0) { Serial.println(F("TCP socket setup failed, try again in 10 seconds after reboot")); delay(10000); asm volatile (" jmp 0"); } else { Serial.println(String(tcpServer)+":"+String(tcpPort)+" is served over connection number # = "+String(tcpConnNum)); } Serial.println(F("EL-TCP ready")); wait = millis()+29000; // Start first sending in 1 second 1266 #include <ELClient.h> #include <ELClientSocket.h> #include <ELClientCmd.h> #include <ELClientMqtt.h> PROGMEM = ipTcpServer; char * const tcpServer PROGMEM = 23; uint16_t const tcpPort esp (&Serial, &Serial); ELClient Initialize a TCP socket client on the connection to esp-link tcp (&esp); ELClientSocket Connection number for tcp tcpConnNum ; int Timer value to send out data wait ; uint32_t Time to wait between sending out data waitTime ; uint32_t Flag for wifi connection wifiConnected = false; boolean Parse error codes and returns error message as char * Definitions from error values from espconn.h (Espressif SDK) // #define ESPCONN_OK 0 /**< No error, everything OK. */ errTxt [] PROGMEM = {"No error, everything OK.","Out of memory.","Unknown code.","Timeout.","Routing problem.","Operation in progress.", "Unknown code.","Total number exceeds the maximum limitation.","Connection aborted.","Connection reset.","Connection closed.", "Not connected.","Illegal argument.","Unknown code.","UDP send error.","Already connected."}; char* const Initialize CMD client (for GetTime) cmd (&esp); ELClientCmd Initialize the MQTT client mqtt (&esp); ELClientMqtt connected ; bool топик полученный от брокера topic_res ; String данные из топика полученного от брокера data_res ; String ReceveTcpData ; String count ; static int last ; static uint32_t // Callback made from esp-link to notify of wifi status changes // Here we print something out and set a global flag ELClientResponse *res = (ELClientResponse*)response; if (res->argc() == 1) { uint8_t status; res->popArg(&status, 1); if(status == STATION_GOT_IP) { Serial.println(F("WIFI CONNECTED")); wifiConnected = true; } else { Serial.print(F("WIFI NOT READY: ")); Serial.println(status); wifiConnected = false; } } 479 void wifiCb void *response // Callback when MQTT is connected mqtt.subscribe("#"); //сюда надо вставлять топики на которые подписывается устройство, вид пописки: mqtt.subscribe("Топик"); connected = true; 180 void mqttConnected void* response // Callback when MQTT is disconnected connected = false; 58 void mqttDisconnected void* response // Callback when an MQTT message arrives for one of our subscriptions ELClientResponse *res = (ELClientResponse *)response; String topic = res->popString(); topic_res=topic; //вывод полученных данных в основной цикл программы String data = res->popString(); data_res=data; //вывод полученных данных в основной цикл программы 340 void mqttData void* response void mqttPublished void* response commError = commError*-1; if (commError <= 15) { return (char *) pgm_read_word (&errTxt[commError]); } else { return (char *) pgm_read_word (&errTxt[2]); // Unknown code } 187 char * getErrTxt int16_t commError if (resp_type == USERCB_SENT) { } else if (resp_type == USERCB_RECV) { char recvData[len+1]; // Prepare buffer for the received data memcpy(recvData, data, len); // Copy received data into the buffer recvData[len] = '\0'; // Terminate the buffer with 0 for proper printout! Serial.println(String(recvData)); ReceveTcpData = String(recvData); } else if (resp_type == USERCB_RECO) { if (len != -11) { // ignore "not connected" error, handled in USERCB_CONN Serial.print("\tConnection problem: "); Serial.println(getErrTxt(len)); } } else if (resp_type == USERCB_CONN) { } else { Serial.println("Received invalid response type"); } 685 void tcpCb uint8_t resp_type uint8_t client_num uint16_t len char *data ELClient .gitignore 2A2E6F0A2E6465700A2E6C69620A646F63730A ELClient 2F2A21205C66696C6520454C436C69656E742E6370700A202020205C627269656620436F6E7374727563746F7220616E642066756E6374696F6E7320666F7220454C436C69656E740A202020205C617574686F7220422E2052756E6E656C730A202020205C617574686F7220542E20766F6E204569636B656E0A202020205C6461746520323031360A2A2F0A2F2F20436F7079726967687420286329203230313620627920422E2052756E6E656C7320616E6420542E20766F6E204569636B656E0A0A23696E636C7564652022454C436C69656E742E68220A0A23646566696E6520534C49505F454E4420202020202030333030202020202F2A2A3C20496E6469636174657320656E64206F66207061636B6574202A2F0A23646566696E6520534C49505F45534320202020202030333333202020202F2A2A3C20496E646963617465732062797465207374756666696E67202A2F0A23646566696E6520534C49505F4553435F454E44202030333334202020202F2A2A3C20455343204553435F454E44206D65616E7320454E4420646174612062797465202A2F0A23646566696E6520534C49505F4553435F455343202030333335202020202F2A2A3C20455343204553435F455343206D65616E732045534320646174612062797465202A2F0A0A2F2F3D3D3D3D3D20496E7075740A0A2F2A212070726F746F436F6D706C65746564436228766F6964202A726573290A4062726965662050726F63657373206120726563656976656420534C4950206D6573736167650A4064657461696C732043616C6C6261636B20746F2070726F63657373206120534C4950206D65737361676520616E6420636865636B20435243730A094966206120757365722063616C6C6261636B2066756E6374696F6E2077617320646566696E656420696E20746865206D6573736167652C20454C436C69656E74526573706F6E73652069732063616C6C656420746F2068616E646C65207468652063616C6C6261636B2E0A406E6F74650A09546869732066756E6374696F6E20697320757375616C6C79206E6F74206E656564656420666F72206170706C69636174696F6E732E2054686520636F6D6D756E69636174696F6E20746F2074686520455350383236362069732068616E646C65642062792074686520636D642C20726573742C206D7174742C2074637020616E6420756470206C6962726172792070617274732E0A4072657475726E203C636F64653E454C436C69656E745061636B65743C2F636F64653E0A09506F696E74657220746F20454C436C69656E745061636B6574207374727563747572652067656E657261746564206F72204E554C4C20696620697420746865206D6573736167652069732066726F6D20612063616C6C6261636B206F7220696620616E206572726F72206F6363757265640A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A454C436C69656E745061636B65742A20454C436C69656E743A3A70726F746F436F6D706C65746564436228766F696429207B0A20202F2F20746865207061636B6574207374617274732077697468206120454C436C69656E745061636B65740A2020454C436C69656E745061636B65742A207061636B6574203D2028454C436C69656E745061636B65742A295F70726F746F2E6275663B0A2020696620285F6465627567456E29207B0A202F2F2020205F64656275672D3E7072696E742822454C433A20676F742022293B0A202F2F2020205F64656275672D3E7072696E74285F70726F746F2E646174614C656E293B0A202F2F2020205F64656275672D3E7072696E742822204022293B0A202F2F2020205F64656275672D3E7072696E74282875696E7433325F74295F70726F746F2E6275662C203136293B0A202F2F2020205F64656275672D3E7072696E7428223A2022293B0A202F2F2020205F64656275672D3E7072696E74287061636B65742D3E636D642C203136293B0A202F2F2020205F64656275672D3E7072696E7428222022293B0A202F2F2020205F64656275672D3E7072696E74287061636B65742D3E76616C75652C203136293B0A2F2F202020205F64656275672D3E7072696E7428222022293B0A2F2F202020205F64656275672D3E7072696E74287061636B65742D3E617267632C203136293B0A2F2F20202020666F72202875696E7431365F7420693D383B20693C5F70726F746F2E646174614C656E3B20692B2B29207B0A2F2F2020202020205F64656275672D3E7072696E7428222022293B0A202F2F20202020205F64656275672D3E7072696E74282A2875696E74385F742A29285F70726F746F2E6275662B69292C203136293B0A202F2F2020207D0A202F2F2020205F64656275672D3E7072696E746C6E28293B0A20207D0A0A20202F2F20766572696679204352430A202075696E7431365F7420637263203D20637263313644617461285F70726F746F2E6275662C205F70726F746F2E646174614C656E2D322C2030293B0A202075696E7431365F7420726573705F637263203D202A2875696E7431365F742A29285F70726F746F2E6275662B5F70726F746F2E646174614C656E2D32293B0A20206966202863726320213D20726573705F63726329207B0A202020204442472822454C433A20496E76616C69642043524322293B0A2020202072657475726E204E554C4C3B0A20207D0A0A20202F2F206469737061746368206261736564206F6E20636F6D6D616E640A202073776974636820287061636B65742D3E636D6429207B0A20206361736520434D445F524553505F563A202F2F20726573706F6E7365207769746820612076616C75653A2072657475726E20746865207061636B65740A202020202F2F2076616C756520726573706F6E73650A20202020696620285F6465627567456E29207B0A20202020202020205F64656275672D3E7072696E742822524553505F563A2022293B0A20202020202020205F64656275672D3E7072696E746C6E287061636B65742D3E76616C7565293B0A202020207D0A2020202072657475726E207061636B65743B0A20206361736520434D445F524553505F43423A202F2F20726573706F6E73652063616C6C6261636B3A20706572666F726D207468652063616C6C6261636B210A2020202046503C766F69642C20766F69642A3E202A66703B0A202020202F2F2063616C6C6261636B207265706F6E73650A20202020696620285F6465627567456E29207B0A202F2F202020202020205F64656275672D3E7072696E742822524553505F43423A2022293B0A202F2F202020202020205F64656275672D3E7072696E74287061636B65742D3E76616C7565293B0A202F2F202020202020205F64656275672D3E7072696E7428222022293B0A202F2F202020202020205F64656275672D3E7072696E746C6E287061636B65742D3E61726763293B0A202020207D0A202020206670203D202846503C766F69642C20766F69642A3E2A297061636B65742D3E76616C75653B0A202020206966202866702D3E6174746163686564282929207B0A202020202020454C436C69656E74526573706F6E73652072657370287061636B6574293B0A202020202020282A667029282672657370293B0A202020207D0A2020202072657475726E204E554C4C3B0A20206361736520434D445F53594E433A202F2F206573702D6C696E6B206973206E6F7420696E2073796E632C206974206D617920686176652072657365742C207369676E616C2075702074686520737461636B0A202020205F64656275672D3E7072696E746C6E28224E4545445F53594E432122293B0A20202020696620287265736574436220213D204E554C4C2920282A726573657443622928293B0A2020202072657475726E204E554C4C3B0A202064656661756C743A0A202020202F2F20636F6D6D616E6420284E4F5420494D504C454D454E544544290A20202020696620285F6465627567456E29205F64656275672D3E7072696E746C6E2822434D443F3F22293B0A2020202072657475726E204E554C4C3B0A20207D0A7D0A0A2F2A212050726F6365737328290A4062726965662048616E646C652073657269616C20696E7075742E0A4064657461696C73205265616420616C6C206368617261637465727320617661696C61626C65206F6E207468652073657269616C20696E70757420616E642070726F6365737320616E79206D657373616765732074686174206172726976652C0A096275742073746F702069662061206E6F6E2D63616C6C6261636B20726573706F6E736520636F6D657320696E0A4072657475726E203C636F64653E454C436C69656E745061636B65743C2F636F64653E0A09506F696E74657220746F20454C436C69656E74526573706F6E73652073747275637475726520776974682074686520726563656976656420726573706F6E73650A40706172204578616D706C650A40636F64650A09766F6964206C6F6F7028290A097B0A0909454C436C69656E745061636B6574202A7061636B65743B0A09092F2F2070726F6365737320616E792063616C6C6261636B7320636F6D696E672066726F6D206573705F6C696E6B0A09097061636B6574203D206573702E50726F6365737328293B0A0909696620287061636B657420213D2030290A09097B0A0909092F2F2070726F6365737320746865207265636569766564207061636B616765202F2F0A09097D0A097D0A40656E64636F64650A2A2F0A454C436C69656E745061636B6574202A454C436C69656E743A3A50726F636573732829207B0A2020696E742076616C75653B0A20207768696C6520285F73657269616C2D3E617661696C61626C65282929207B0A2020202076616C7565203D205F73657269616C2D3E7265616428293B0A202020206966202876616C7565203D3D20534C49505F45534329207B0A2020202020205F70726F746F2E6973457363203D20313B0A202020207D20656C7365206966202876616C7565203D3D20534C49505F454E4429207B0A202020202020454C436C69656E745061636B6574202A7061636B6574203D205F70726F746F2E646174614C656E203E3D2038203F2070726F746F436F6D706C6574656443622829203A20303B0A2020202020205F70726F746F2E646174614C656E203D20303B0A2020202020205F70726F746F2E6973457363203D20303B0A202020202020696620287061636B657420213D204E554C4C292072657475726E207061636B65743B0A202020207D20656C7365207B0A202020202020696620285F70726F746F2E697345736329207B0A20202020202020206966202876616C7565203D3D20534C49505F4553435F454E44292076616C7565203D20534C49505F454E443B0A20202020202020206966202876616C7565203D3D20534C49505F4553435F455343292076616C7565203D20534C49505F4553433B0A20202020202020205F70726F746F2E6973457363203D20303B0A2020202020207D0A202020202020696620285F70726F746F2E646174614C656E203C205F70726F746F2E62756653697A6529207B0A20202020202020205F70726F746F2E6275665B5F70726F746F2E646174614C656E2B2B5D203D2076616C75653B0A20202020207D0A202020207D0A20207D0A202072657475726E204E554C4C3B0A7D0A0A2F2F3D3D3D3D3D204F75747075740A0A2F2A212077726974652875696E74385F742064617461290A4062726965662053656E64206120627974650A4064657461696C732057726974652061206279746520746F20746865206F75747075742073747265616D20616E6420706572666F726D20534C4950206573636170696E670A406E6F74650A09546869732066756E6374696F6E20697320757375616C6C79206E6F74206E656564656420666F72206170706C69636174696F6E732E2054686520636F6D6D756E69636174696F6E20746F2074686520455350383236362069732068616E646C65642062792074686520636D642C20726573742C206D7174742C2074637020616E6420756470206C6962726172792070617274732E0A40706172616D20646174610A094279746520746F2062652073656E740A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E743A3A77726974652875696E74385F74206461746129207B0A202073776974636820286461746129207B0A20206361736520534C49505F454E443A0A202020205F73657269616C2D3E777269746528534C49505F455343293B0A202020205F73657269616C2D3E777269746528534C49505F4553435F454E44293B0A20202020627265616B3B0A20206361736520534C49505F4553433A0A202020205F73657269616C2D3E777269746528534C49505F455343293B0A202020205F73657269616C2D3E777269746528534C49505F4553435F455343293B0A20202020627265616B3B0A202064656661756C743A0A202020205F73657269616C2D3E77726974652864617461293B0A20207D0A7D0A0A2F2A2120777269746528766F69642A20646174612C2075696E7431365F74206C656E290A4062726965662053656E64207365766572616C20627974650A4064657461696C7320577269746520736F6D6520627974657320746F20746865206F75747075742073747265616D2C206E6F20534C4950206573636170696E6720697320706572666F726D65640A406E6F74650A09546869732066756E6374696F6E20697320757375616C6C79206E6F74206E656564656420666F72206170706C69636174696F6E732E2054686520636F6D6D756E69636174696F6E20746F2074686520455350383236362069732068616E646C65642062792074686520636D642C20726573742C206D7174742C2074637020616E6420756470206C6962726172792070617274732E0A40706172616D20646174610A09506F696E74657220746F20646174612062756666657220746F2062652073656E740A40706172616D206C656E0A0953697A65206F662064617461206275666665720A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E743A3A777269746528766F69642A20646174612C2075696E7431365F74206C656E29207B0A202075696E74385F74202A64203D202875696E74385F742A29646174613B0A20207768696C6520286C656E2D2D290A202020207772697465282A642B2B293B0A7D0A0A2F2A2120526571756573742875696E7431365F7420636D642C2075696E7433325F742076616C75652C2075696E7431365F742061726763290A406272696566205374617274206120726571756573740A4064657461696C7320537461727420707265706172696E67206120726571756573742062792073656E64696E672074686520636F6D6D616E642C206E756D626572206F6620617267756D656E74730A09616E642074686520666972737420617267756D656E74202877686963682063616E20626520612063616C6C6261636B20706F696E746572290A406E6F74650A09546869732066756E6374696F6E20697320757375616C6C79206E6F74206E656564656420666F72206170706C69636174696F6E732E2054686520636F6D6D756E69636174696F6E20746F2074686520455350383236362069732068616E646C65642062792074686520636D642C20726573742C206D7174742C2074637020616E6420756470206C6962726172792070617274732E0A40706172616D20636D640A09436F6D6D616E6420666F7220746865204553502C2073656520656E756D20436D644E616D6520666F7220617661696C61626C6520636F6D6D616E64730A40706172616D2076616C75650A09466972737420617267756D656E74206F7220706F696E74657220746F20612063616C6C6261636B2066756E6374696F6E0A40706172616D20617267630A094E756D626572206F6620617267756D656E747320696E207468697320726571756573740A40706172204578616D706C650A40636F64650A095F656C632D3E5265717565737428434D445F4D5154545F4C57542C20302C2034293B0A095F656C632D3E5265717565737428746F7069632C207374726C656E28746F70696329293B0A095F656C632D3E52657175657374286D6573736167652C207374726C656E286D65737361676529293B0A095F656C632D3E526571756573742826716F732C2031293B0A095F656C632D3E52657175657374282672657461696E2C2031293B0A095F656C632D3E5265717565737428293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E743A3A526571756573742875696E7431365F7420636D642C2075696E7433325F742076616C75652C2075696E7431365F74206172676329207B0A2020637263203D20303B0A20205F73657269616C2D3E777269746528534C49505F454E44293B0A202077726974652826636D642C2032293B0A2020637263203D206372633136446174612828756E7369676E656420636F6E737420636861722A2926636D642C20322C20637263293B0A0A202077726974652826617267632C2032293B0A2020637263203D206372633136446174612828756E7369676E656420636F6E737420636861722A2926617267632C20322C20637263293B0A0A20207772697465282676616C75652C2034293B0A2020637263203D206372633136446174612828756E7369676E656420636F6E737420636861722A292676616C75652C20342C20637263293B0A7D0A0A2F2A2120526571756573742875696E7431365F7420636D642C2075696E7433325F742076616C75652C2075696E7431365F742061726763290A40627269656620417070656E6420616E20617267756D656E7420746F2074686520726571756573740A4064657461696C732053656E64206164646974696F6E616C20617267756D656E747320617320617070656E646D656E7420746F20746865204553500A406E6F74650A09546869732066756E6374696F6E20697320757375616C6C79206E6F74206E656564656420666F72206170706C69636174696F6E732E2054686520636F6D6D756E69636174696F6E20746F2074686520455350383236362069732068616E646C65642062792074686520636D642C20726573742C206D7174742C2074637020616E6420756470206C6962726172792070617274732E0A40706172616D20646174610A09506F696E74657220746F207468652062756666657220776974682074686520617267756D656E740A40706172616D206C656E0A0953697A65206F662074686520617267756D656E74206275666665720A40706172204578616D706C650A40636F64650A095F656C632D3E5265717565737428434D445F4D5154545F4C57542C20302C2034293B0A095F656C632D3E5265717565737428746F7069632C207374726C656E28746F70696329293B0A095F656C632D3E52657175657374286D6573736167652C207374726C656E286D65737361676529293B0A095F656C632D3E526571756573742826716F732C2031293B0A095F656C632D3E52657175657374282672657461696E2C2031293B0A095F656C632D3E5265717565737428293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E743A3A5265717565737428636F6E737420766F69642A20646174612C2075696E7431365F74206C656E29207B0A202075696E74385F74202A64203D202875696E74385F742A29646174613B0A0A20202F2F20777269746520746865206C656E6774680A2020777269746528266C656E2C2032293B0A2020637263203D206372633136446174612828756E7369676E656420636F6E737420636861722A29266C656E2C20322C20637263293B0A0A20202F2F206F75747075742074686520646174610A2020666F72202875696E7431365F74206C3D6C656E3B206C3E303B206C2D2D29207B0A202020207772697465282A64293B0A20202020637263203D206372633136416464282A642C20637263293B0A20202020642B2B3B0A20207D0A0A20202F2F206F75747075742070616464696E670A202075696E7431365F7420706164203D2028342D286C656E2633292926333B0A202075696E74385F742074656D70203D20303B0A20207768696C6520287061642D2D29207B0A2020202077726974652874656D70293B0A20202020637263203D2063726331364164642874656D702C20637263293B0A20207D0A7D0A0A2F2A21205265717565737428636F6E7374205F5F466C617368537472696E6748656C7065722A20646174612C2075696E7431365F74206C656E290A40627269656620417070656E6420616E20617267756D656E7420746F2074686520726571756573740A4064657461696C732053656E64206164646974696F6E616C20617267756D656E7473206C6F636174656420696E20666C61736820617320617070656E646D656E7420746F20746865204553500A406E6F74650A09546869732066756E6374696F6E20697320757375616C6C79206E6F74206E656564656420666F72206170706C69636174696F6E732E2054686520636F6D6D756E69636174696F6E20746F2074686520455350383236362069732068616E646C65642062792074686520636D642C20726573742C206D7174742C2074637020616E6420756470206C6962726172792070617274732E0A40706172616D20646174610A09506F696E74657220746F207468652062756666657220776974682074686520617267756D656E740A40706172616D206C656E0A0953697A65206F662074686520617267756D656E74206275666665720A40706172204578616D706C650A40636F64650A095F656C632D3E5265717565737428434D445F4D5154545F4C57542C20302C2034293B0A095F656C632D3E5265717565737428746F7069632C207374726C656E28746F70696329293B0A095F656C632D3E52657175657374286D6573736167652C207374726C656E286D65737361676529293B0A095F656C632D3E526571756573742826716F732C2031293B0A095F656C632D3E52657175657374282672657461696E2C2031293B0A095F656C632D3E5265717565737428293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E743A3A5265717565737428636F6E7374205F5F466C617368537472696E6748656C7065722A20646174612C2075696E7431365F74206C656E29207B0A20202F2F20777269746520746865206C656E6774680A2020777269746528266C656E2C2032293B0A2020637263203D206372633136446174612828756E7369676E656420636F6E737420636861722A29266C656E2C20322C20637263293B0A0A20202F2F206F75747075742074686520646174610A202050474D5F502070203D207265696E746572707265745F636173743C50474D5F503E2864617461293B0A2020666F72202875696E7431365F74206C3D6C656E3B206C3E303B206C2D2D29207B0A2020202075696E74385F742063203D2070676D5F726561645F6279746528702B2B293B0A2020202077726974652863293B0A20202020637263203D20637263313641646428632C20637263293B0A20207D0A0A20202F2F206F75747075742070616464696E670A202075696E7431365F7420706164203D2028342D286C656E2633292926333B0A202075696E74385F742074656D70203D20303B0A20207768696C6520287061642D2D29207B0A2020202077726974652874656D70293B0A20202020637263203D2063726331364164642874656D702C20637263293B0A20207D0A7D0A0A2F2A21205265717565737428766F6964290A4062726965662046696E6973682074686520726571756573740A4064657461696C732053656E642066696E616C2043524320616E6420534C49505F454E4420746F207468652045535020746F2066696E6973682074686520726571756573740A406E6F74650A09546869732066756E6374696F6E20697320757375616C6C79206E6F74206E656564656420666F72206170706C69636174696F6E732E2054686520636F6D6D756E69636174696F6E20746F2074686520455350383236362069732068616E646C65642062792074686520636D642C20726573742C206D7174742C2074637020616E6420756470206C6962726172792070617274732E0A40706172204578616D706C650A40636F64650A095F656C632D3E5265717565737428434D445F4D5154545F4C57542C20302C2034293B0A095F656C632D3E5265717565737428746F7069632C207374726C656E28746F70696329293B0A095F656C632D3E52657175657374286D6573736167652C207374726C656E286D65737361676529293B0A095F656C632D3E526571756573742826716F732C2031293B0A095F656C632D3E52657175657374282672657461696E2C2031293B0A095F656C632D3E5265717565737428293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E743A3A5265717565737428766F696429207B0A20207772697465282875696E74385F742A29266372632C2032293B0A20205F73657269616C2D3E777269746528534C49505F454E44293B0A7D0A0A2F2F3D3D3D3D3D20496E697469616C697A6174696F6E0A0A2F2A2120696E697428290A40627269656620496E697469616C697A6520454C436C69656E742070726F746F636F6C0A4064657461696C7320507265706172652062756666657220666F722070726F746F636F6C0A406E6F74650A09546869732066756E6374696F6E20697320757375616C6C79206E6F74206E656564656420666F72206170706C69636174696F6E732E2054686520636F6D6D756E69636174696F6E20746F2074686520455350383236362069732068616E646C65642062792074686520636D642C20726573742C206D7174742C2074637020616E6420756470206C6962726172792070617274732E0A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E743A3A696E69742829207B0A20205F70726F746F2E627566203D205F70726F746F4275663B0A20205F70726F746F2E62756653697A65203D2073697A656F66285F70726F746F427566293B0A20205F70726F746F2E646174614C656E203D20303B0A20205F70726F746F2E6973457363203D20303B0A7D0A0A2F2A2120454C436C69656E742853747265616D2A2073657269616C290A40627269656620496E697469616C697A6520454C436C69656E740A4064657461696C732053746F72652073657269616C2073747265616D20746F206265207573656420666F722074686520636F6D6D756E69636174696F6E0A40706172616D2073657269616C0A0953657269616C2073747265616D20666F7220636F6D6D756E69636174696F6E2077697468204553500A40706172204578616D706C6520666F722068617264776172652073657269616C20706F7274730A40636F64650A092F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A092F2F20466F7220626F61726473207573696E67207468652068617264776172652073657269616C20706F7274210A092F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A092F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F727420666F7220534C4950206D657373616765732E0A09454C436C69656E7420657370282653657269616C293B0A40656E64636F64650A40706172204578616D706C6520666F722041524455494E4F20554E4F205749464920626F61726420776974682049324320746F2073657269616C206368697020636F6E6E656374656420746F2074686520455350383236360A40636F64650A092F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A092F2F20466F722041524455494E4F20554E4F205749464920626F61726420776974682049324320746F2073657269616C206368697020636F6E6E656374656420746F207468652045535038323636210A092F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A092F2F2053657269616C20706F727420746F20455350383236360A0923696E636C756465203C5343313649533735302E683E0A095343313649533735302069326375617274203D20534331364953373530285343313649533735305F50524F544F434F4C5F4932432C5343313649533735305F414444524553535F4141293B0A092F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E672074686520493243756172742063686970206F66207468652041726475696E6F20556E6F205769466920626F61726420666F7220534C4950206D657373616765732E0A09454C436C69656E7420657370282669326375617274293B0A40656E64636F64650A2A2F0A454C436C69656E743A3A454C436C69656E742853747265616D2A2073657269616C29203A0A5F73657269616C2873657269616C29207B0A20205F6465627567456E203D2066616C73653B0A2020696E697428293B0A7D0A0A2F2A2120454C436C69656E742853747265616D2A2073657269616C2C2053747265616D2A206465627567290A40627269656620496E697469616C697A6520454C436C69656E7420616E6420656E61626C65206465627567206F75747075740A4064657461696C732053746F72652073657269616C2073747265616D7320746F206265207573656420666F722074686520636F6D6D756E69636174696F6E0A40706172616D2073657269616C0A0953657269616C2073747265616D20666F7220636F6D6D756E69636174696F6E2077697468204553500A40706172616D2064656275670A0953657269616C2073747265616D20666F72206465627567206F75747075740A40706172204578616D706C6520666F722068617264776172652073657269616C20706F7274730A40636F64650A092F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A092F2F20466F7220626F61726473207573696E67207468652068617264776172652073657269616C20706F7274210A092F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A092F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F727420626F746820666F7220534C495020616E6420666F72206465627567206D657373616765732E0A09454C436C69656E7420657370282653657269616C2C202653657269616C293B0A40656E64636F64650A40706172204578616D706C6520666F722041524455494E4F20554E4F205749464920626F61726420776974682049324320746F2073657269616C206368697020636F6E6E656374656420746F2074686520455350383236360A40636F64650A092F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A092F2F20466F722041524455494E4F20554E4F205749464920626F61726420776974682049324320746F2073657269616C206368697020636F6E6E656374656420746F207468652045535038323636210A092F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A092F2F2053657269616C20706F727420746F20455350383236360A0923696E636C756465203C5343313649533735302E683E0A095343313649533735302069326375617274203D20534331364953373530285343313649533735305F50524F544F434F4C5F4932432C5343313649533735305F414444524553535F4141293B0A092F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E672074686520493243756172742063686970206F66207468652041726475696E6F20556E6F205769466920626F61726420666F7220534C4950206D657373616765732E0A09454C436C69656E74206573702826693263756172742C202653657269616C293B0A40656E64636F64650A2A2F0A454C436C69656E743A3A454C436C69656E742853747265616D2A2073657269616C2C2053747265616D2A20646562756729203A0A5F6465627567286465627567292C205F73657269616C2873657269616C29207B0A20205F6465627567456E203D20747275653B0A2020696E697428293B0A7D0A0A2F2A2120454C436C69656E743A3A44424728636F6E737420636861722A20696E666F290A4062726965662053656E64206465627567206D657373616765206F7665722073657269616C2064656275672073747265616D0A40706172616D20696E666F0A094465627567206D6573736167650A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E743A3A44424728636F6E737420636861722A20696E666F29207B0A2020696620285F6465627567456E29205F64656275672D3E7072696E746C6E28696E666F293B0A7D0A0A2F2F3D3D3D3D3D20526573706F6E7365730A0A2F2A21205761697452657475726E2875696E7433325F742074696D656F7574290A406272696566205761697420666F72206120726573706F6E73652066726F6D2045535020666F72206120676976656E2074696D656F75740A40706172616D2074696D656F75740A0954696D6520696E206D696C6C697365636F6E647320746F207761697420666F72206120726573706F6E73652C2064656661756C747320746F204553505F54494D454F55540A4072657475726E203C636F64653E454C436C69656E745061636B65743C2F636F64653E0A095265636569766564207061636B6574206F72206E756C6C2069662074696D656F7574206F6363757265640A40706172204578616D706C650A40636F64650A092F2F205761697420666F72205769466920746F20626520636F6E6E65637465642E0A096573702E4765745769666953746174757328293B0A09454C436C69656E745061636B6574202A7061636B65743B0A0953657269616C2E7072696E74282257616974696E6720666F7220576946692022293B0A0969662028287061636B65743D6573702E5761697452657475726E28292920213D204E554C4C29207B0A090953657269616C2E7072696E7428222E22293B0A090953657269616C2E7072696E746C6E287061636B65742D3E76616C7565293B0A097D0A0953657269616C2E7072696E746C6E282222293B0A40656E64636F64650A2A2F0A454C436C69656E745061636B6574202A454C436C69656E743A3A5761697452657475726E2875696E7433325F742074696D656F757429207B0A202075696E7433325F742077616974203D206D696C6C697328293B0A20207768696C6520286D696C6C69732829202D2077616974203C2074696D656F757429207B0A20202020454C436C69656E745061636B6574202A7061636B6574203D2050726F6365737328293B0A20202020696620287061636B657420213D204E554C4C292072657475726E207061636B65743B0A20207D0A202072657475726E204E554C4C3B0A7D0A0A2F2F3D3D3D3D3D204352432068656C7065722066756E6374696F6E730A0A2F2A2120637263313641646428756E7369676E6564206368617220622C2075696E7431365F7420616363290A406272696566204372656174652043524320666F72206120627974652061646420697420746F20616E206578697374696E672043524320636865636B73756D20616E642072657475726E2074686520726573756C740A40706172616D20620A0942797465207768696368204352432077696C6C2062652061646465640A40706172616D206163630A094578697374696E672043524320636865636B73756D0A4072657475726E203C636F64653E75696E7431365F743C2F636F64653E0A094E65772043524320636865636B73756D0A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A75696E7431365F7420454C436C69656E743A3A637263313641646428756E7369676E6564206368617220622C2075696E7431365F7420616363290A7B0A2020616363205E3D20623B0A2020616363203D2028616363203E3E203829207C2028616363203C3C2038293B0A2020616363205E3D202861636320262030786666303029203C3C20343B0A2020616363205E3D2028616363203E3E203829203E3E20343B0A2020616363205E3D202861636320262030786666303029203E3E20353B0A202072657475726E206163633B0A7D0A0A2F2A212063726331364461746128636F6E737420756E7369676E65642063686172202A646174612C2075696E7431365F74206C656E2C2075696E7431365F7420616363290A406272696566204372656174652F6164642043524320666F7220612064617461206275666665720A40706172616D20646174610A095468652064617461206275666665722077686963682077696C6C2062652043524365640A40706172616D206C656E0A0953697A65206F66207468652064617461206275666665720A40706172616D206163630A094578697374696E672043524320636865636B73756D0A4072657475726E203C636F64653E75696E7431365F743C2F636F64653E0A094E65772043524320636865636B73756D0A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A75696E7431365F7420454C436C69656E743A3A63726331364461746128636F6E737420756E7369676E65642063686172202A646174612C2075696E7431365F74206C656E2C2075696E7431365F7420616363290A7B0A2020666F72202875696E7431365F7420693D303B20693C6C656E3B20692B2B290A20202020616363203D206372633136416464282A646174612B2B2C20616363293B0A202072657475726E206163633B0A7D0A0A2F2F3D3D3D3D3D204261736963207265717565737473206275696C7420696E746F20456C436C69656E740A0A2F2A212053796E632875696E7433325F742074696D656F7574290A4062726965662053796E6368726F6E697A652074686520636F6D6D756E69636174696F6E206265747765656E20746865204D435520616E6420746865204553500A40706172616D2074696D656F75740A0954696D656F757420666F722073796E6368726F6E697A6174696F6E20726571756573740A4072657475726E203C636F64653E626F6F6C65616E3C2F636F64653E0A09547275652069662073796E6368726F6E697A6174696F6E207375636365656473206F722046616C7365206966206974206661696C730A40706172204578616D706C650A40636F64650A092F2F2053796E632D75702077697468206573702D6C696E6B2C207468697320697320726571756972656420617420746865207374617274206F6620616E7920736B6574636820616E6420696E697469616C697A6573207468652063616C6C6261636B7320746F20746865207769666920737461747573206368616E67652063616C6C6261636B2E205468652063616C6C6261636B20676574732063616C6C656420776974682074686520696E697469616C207374617475732072696768742061667465722053796E6328292062656C6F7720636F6D706C657465732E0A096573702E7769666943622E61747461636828776966694362293B202F2F207769666920737461747573206368616E67652063616C6C6261636B2C206F7074696F6E616C202864656C657465206966206E6F742064657369726564290A09626F6F6C206F6B3B0A09646F0A097B0A09096F6B203D206573702E53796E6328293B202F2F2073796E632075702077697468206573702D6C696E6B2C20626C6F636B7320666F7220757020746F2032207365636F6E64730A090969662028216F6B292053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E63206661696C65642122293B0A097D207768696C6528216F6B293B0A0953657269616C2E7072696E746C6E2822454C2D436C69656E742073796E6365642122293B0A40656E64636F64650A2A2F0A626F6F6C65616E20454C436C69656E743A3A53796E632875696E7433325F742074696D656F757429207B0A20202F2F2073656E64206120534C495020454E44206368617220746F206D616B65207375726520776520676574206120636C65616E2073746172740A20205F73657269616C2D3E777269746528534C49505F454E44293B0A20202F2F2073656E642073796E6320726571756573740A20205265717565737428434D445F53594E432C202875696E7433325F7429267769666943622C2030293B0A20205265717565737428293B0A20202F2F20776520646F6E27742077616E7420746F206765742061207374616C6520726573706F6E73652074686174207765206E65656420746F2073796E63202763617573652074686174206861732074686520656666656374206F660A20202F2F2063616C6C696E6720757320616761696E207265637572736976656C792E2E2E2E0A2020766F696420282A7272292829203D20726573657443623B0A202072657365744362203D204E554C4C3B0A20202F2F20656D7074792074686520726573706F6E736520717565756520686F70696E6720746F2066696E64207468652077696669436220616464726573730A2020454C436C69656E745061636B6574202A7061636B65743B0A20207768696C652028287061636B6574203D205761697452657475726E2874696D656F7574292920213D204E554C4C29207B0A20202020696620287061636B65742D3E76616C7565203D3D202875696E7433325F74292677696669436229207B0A2020202020202020696620285F6465627567456E29205F64656275672D3E7072696E746C6E282253594E432122293B0A202020202020202072657365744362203D2072723B0A202020202020202072657475726E20747275653B0A202020207D0A20202020696620285F6465627567456E29207B0A20202020202020205F64656275672D3E7072696E7428224241443A2022293B0A20202020202020205F64656275672D3E7072696E746C6E287061636B65742D3E76616C7565293B0A202020207D0A20207D0A20202F2F20646F65736E2774206C6F6F6B206C696B6520776520676F742061207265616C20726573706F6E73650A202072657365744362203D2072723B0A202072657475726E2066616C73653B0A7D0A0A2F2A21204765745769666953746174757328766F6964290A40627269656620526571756573742057694669207374617475732066726F6D20746865204553500A40706172204578616D706C650A40636F64650A092F2F205761697420666F72205769466920746F20626520636F6E6E65637465642E0A096573702E4765745769666953746174757328293B0A09454C436C69656E745061636B6574202A7061636B65743B0A0953657269616C2E7072696E74282257616974696E6720666F7220576946692022293B0A0969662028287061636B65743D6573702E5761697452657475726E28292920213D204E554C4C29207B0A090953657269616C2E7072696E7428222E22293B0A090953657269616C2E7072696E746C6E287061636B65742D3E76616C7565293B0A097D0A0953657269616C2E7072696E746C6E282222293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E743A3A4765745769666953746174757328766F696429207B0A20205265717565737428434D445F574946495F5354415455532C20302C2030293B0A20205265717565737428293B0A7D0A .cpp ELClient 2F2A21205C66696C6520454C436C69656E742E680A202020205C627269656620446566696E6974696F6E7320666F7220454C436C69656E740A2A2F0A0A2369666E646566205F454C5F434C49454E545F485F0A23646566696E65205F454C5F434C49454E545F485F0A0A23696E636C756465203C6176722F70676D73706163652E683E0A23696E636C756465203C486172647761726553657269616C2E683E0A23696E636C756465203C41726475696E6F2E683E0A23696E636C7564652022454C436C69656E74526573706F6E73652E68220A23696E636C756465202246502E68220A0A23646566696E65204553505F54494D454F55542032303030202F2A2A3C2044656661756C742074696D656F757420666F7220544350207265717565737473207768656E2077616974696E6720666F72206120726573706F6E7365202A2F0A0A2F2F20456E756D65726174696F6E206F6620636F6D6D616E647320737570706F72746564206279206573702D6C696E6B2C2074686973206E6565647320746F206D617463682074686520646566696E6974696F6E20696E0A2F2F206573702D6C696E6B210A7479706564656620656E756D207B0A2020434D445F4E554C4C203D20302C20202020202F2A2A3C206E756C6C2C206D61696E6C7920746F2070726576656E7420302066726F6D20646F696E6720736F6D657468696E6720626164202A2F0A2020434D445F53594E432C2020202020202020202F2A2A3C2053796E6368726F6E697A652C20737461727473207468652070726F746F636F6C202A2F0A2020434D445F524553505F562C202020202020202F2A2A3C20526573706F6E7365207769746820612076616C7565202A2F0A2020434D445F524553505F43422C2020202020202F2A2A3C20526573706F6E7365207769746820612063616C6C6261636B202A2F0A2020434D445F574946495F5354415455532C20202F2A2A3C2047657420746865207769666920737461747573202A2F0A2020434D445F43425F4144442C202020202020202F2A2A3C20416464206120637573746F6D2063616C6C6261636B202A2F0A2020434D445F43425F4556454E54532C202020202F2A2A3C203F3F3F202A2F0A2020434D445F4745545F54494D452C20202020202F2A2A3C204765742063757272656E742074696D6520696E207365636F6E64732073696E63652074686520756E69782065706F6368202A2F0A20202F2F434D445F4745545F494E464F2C0A0A2020434D445F4D5154545F5345545550203D2031302C202F2A2A3C2052656769737465722063616C6C6261636B2066756E6374696F6E73202A2F0A2020434D445F4D5154545F5055424C4953482C202020202F2A2A3C205075626C697368204D51545420746F706963202A2F0A2020434D445F4D5154545F5355425343524942452C20202F2A2A3C2053756273637269626520746F204D51545420746F706963202A2F0A2020434D445F4D5154545F4C57542C20202020202020202F2A2A3C20446566696E65204D515454206C6173742077696C6C202A2F0A0A2020434D445F524553545F5345545550203D2032302C202F2A2A3C205365747570205245535420636F6E6E656374696F6E202A2F0A2020434D445F524553545F524551554553542C202020202F2A2A3C204D616B65207265717565737420746F205245535420736572766572202A2F0A2020434D445F524553545F5345544845414445522C20202F2A2A3C20446566696E652048544D4C20686561646572202A2F0A0A2020434D445F5745425F5345545550203D2033302C20202F2A2A3C207765622D736572766572207365747570202A2F0A2020434D445F5745425F444154412C20202020202020202F2A2A3C207573656420666F72207075626C697368696E67207765622D7365727665722064617461202A2F0A0A2020434D445F534F434B45545F5345545550203D2034302C20202F2A2A3C20536574757020736F636B657420636F6E6E656374696F6E202A2F0A2020434D445F534F434B45545F53454E442C20202020202020202F2A2A3C2053656E6420736F636B6574207061636B6574202A2F0A7D20436D644E616D653B202F2A2A3C20456E756D65726174696F6E206F6620636F6D6D616E647320737570706F72746564206279206573702D6C696E6B2C2074686973206E6565647320746F206D617463682074686520646566696E6974696F6E20696E206573702D6C696E6B21202A2F0A0A656E756D20574946495F535441545553207B0A202053544154494F4E5F49444C45203D20302C20202020202020202F2A2A3C2049646C6520737461747573202A2F0A202053544154494F4E5F434F4E4E454354494E472C2020202020202F2A2A3C20547279696E6720746F20636F6E6E656374202A2F0A202053544154494F4E5F57524F4E475F50415353574F52442C20202F2A2A3C20436F6E6E656374696F6E206572726F722C2077726F6E672070617373776F7264202A2F0A202053544154494F4E5F4E4F5F41505F464F554E442C20202020202F2A2A3C20436F6E6E656374696F6E206572726F722C204150206E6F7420666F756E64202A2F0A202053544154494F4E5F434F4E4E4543545F4641494C2C202020202F2A2A3C20436F6E6E656374696F6E206572726F722C20636F6E6E656374696F6E206661696C6564202A2F0A202053544154494F4E5F474F545F495020202020202020202020202F2A2A3C20436F6E6E65637465642C207265636569766564204950202A2F0A7D3B202F2A2A3C20456E756D65726174696F6E206F6620706F737369626C65205769466920737461747573202A2F0A0A7479706564656620737472756374207B0A202075696E74385F742A206275663B0A202075696E7431365F742062756653697A653B0A202075696E7431365F7420646174614C656E3B0A202075696E74385F742069734573633B0A7D20454C436C69656E7450726F746F636F6C3B202F2A2A3C2050726F746F636F6C2073747275637475726520202A2F0A0A2F2F2054686520454C436C69656E7420636C61737320696D706C656D656E7473207468652062617369632070726F746F636F6C20746F20636F6D6D756E69636174652077697468206573702D6C696E6B207573696E6720534C49502E0A2F2F2054686520534C49502070726F746F636F6C206A7573742070726F7669646573206672616D696E672C20692E652E2C2069742064656C696E65617465732074686520737461727420616E6420656E64206F66207061636B6574732E0A2F2F2054686520666F726D6174206F662065616368207061636B657420697320646963746174656420627920454C436C69656E7420616E6420636F6E7369737473206F66206120322D6279746520636F6D6D616E642C206120322D627974650A2F2F20636F756E74206F6620617267756D656E74732C206120342D627974652063616C6C6261636B20616464722C207468656E2074686520617267756D656E74732C20616E642066696E616C6C7920203120322D62797465204352432E0A2F2F0A2F2F20454C436C69656E742068616E646C657320636F6D6D756E69636174696F6E207365742D757020616E642072657365742E2049742068617320746F2074616B652061206E756D626572206F66207363656E6172696F7320696E746F0A2F2F206163636F756E742C20696E636C7564696E672073696D756C74616E656F757320706F7765722D6F6E207265736574206F662061726475696E6F20616E64206573702D6C696E6B2C2073706F6E74616E656F7573207265736574206F660A2F2F206573702D6C696E6B2C20616E64207265736574206F662061726475696E6F2E2052657475726E696E6720746F206120636F6E73697374656E7420737461746520696E20616C6C2074686573652063617365732069732068616E646C65642062790A2F2F207468652053796E632066756E6374696F6E20616E64206E756C6C20636F6D6D616E64732E0A2F2F0A2F2F205768656E20454C436C69656E7420737461727473206974206E6565647320746F2073656E6420612053796E6320746F206573702D6C696E6B2E205468697320636C6561727320616C6C20737461746520616E642063616C6C6261636B73206F6E0A2F2F20746865206573702D6C696E6B207369646520616E64207468656E20454C436C69656E742063616E20696E7374616C6C2063616C6C6261636B732C206574632E20496E206F7264657220746F206361746368207468652063617365732077686572650A2F2F206573702D6C696E6B2072657365747320454C436C69656E7420656E737572657320746861742069742073656E647320706572696F64696320636F6D6D616E647320746F206573702D6C696E6B20616E6420636865636B7320776865746865720A2F2F206573702D6C696E6B20726573706F6E64732077697468206120226E6F742073796E63656422206572726F722C20776869636820696E6469636174657320746861742069742072657365742E204966207375636820616E206572726F720A2F2F206F636375727320454C436C69656E7420737461727473207769746820612066726573682053796E632E20556E666F7274756E6174656C7920746869732068617320746F2062652070726F70616761746564207570207468650A2F2F20636F6D6D756E69636174696F6E206C617965727320626563617573652074686520636C69656E74206D6179206861766520746F2072652D73756273637269626520746F204D515454206D65737361676573206F7220746F206365727461696E0A2F2F2063616C6C6261636B732E0A636C61737320454C436C69656E74207B0A20207075626C69633A0A202020202F2F2043726561746520616E206573702D6C696E6B20636C69656E74206261736564206F6E20612073747265616D20616E642077697468206120737065636966696564206465627567206F75747075742073747265616D2E0A20202020454C436C69656E742853747265616D2A2073657269616C2C2053747265616D2A206465627567293B0A202020202F2F2043726561746520616E206573702D6C696E6B20636C69656E74206261736564206F6E20612073747265616D2077697468206E6F206465627567206F75747075740A20202020454C436C69656E742853747265616D2A2073657269616C293B0A0A2020202053747265616D2A205F64656275673B202F2A2A3C20446174612073747265616D20666F7220646562756720757365202A2F0A0A202020202F2F3D3D2052657175657374730A202020202F2F205374617274206120726571756573742E20636D642069732074686520636F6D6D616E6420746F20657865637574652C2076616C756520697320656974686572207468652061646472657373206F6620612066756E6374696F6E0A202020202F2F20746F2063616C6C2077697468206120726573706F6E7365206F72206120666972737420617267756D656E7420746F2074686520636F6D6D616E64206966207468657265206973206E6F2043422E0A202020202F2F204172676320697320746865206E756D626572206F66206164646974696F6E616C20617267756D656E74730A20202020766F696420526571756573742875696E7431365F7420636D642C2075696E7433325F742076616C75652C2075696E7431365F742061726763293B0A202020202F2F20416464206120616E20617267756D656E7420636F6E73697374696E67206F662061206461746120626C6F636B20746F206120726571756573740A20202020766F6964205265717565737428636F6E737420766F69642A20646174612C2075696E7431365F74206C656E293B0A202020202F2F20416464206120616E20617267756D656E7420636F6E73697374696E67206F662061206461746120626C6F636B20696E20666C61736820746F206120726571756573740A20202020766F6964205265717565737428636F6E7374205F5F466C617368537472696E6748656C7065722A20646174612C2075696E7431365F74206C656E293B0A202020202F2F2046696E697368206120726571756573740A20202020766F6964205265717565737428766F6964293B0A0A202020202F2F3D3D20526573706F6E7365730A202020202F2F2050726F636573732074686520696E7075742073747265616D2C2063616C6C207468697320696E206C6F6F70282920746F2064697370617463682063616C6C2D6261636B20626173656420726573706F6E7365732E0A202020202F2F2043616C6C6261636B73206F6E2046502061726520696E766F6B6564207769746820616E20456C436C69656E74526573706F6E736520706F696E74657220617320617267756D656E742E0A202020202F2F2052657475726E732074686520454C436C69656E745061636B65742069662061206E6F6E2D63616C6C6261636B20726573706F6E7365207761732072656365697665642C207479706963616C6C7920746869732069730A202020202F2F207573656420746F2063726561746520616E20454C436C69656E74526573706F6E73652E2052657475726E73204E554C4C206966206E6F20726573706F6E7365206E6565647320746F2062652070726F6365737365642E0A20202020454C436C69656E745061636B6574202A50726F6365737328766F6964293B0A202020202F2F2042757379207761697420666F72206120726573706F6E7365207769746820612074696D656F757420696E206D696C6C697365636F6E64732C2072657475726E7320616E20454C436C69656E745061636B65740A202020202F2F206966206120726573706F6E7365207761732072656376276420616E64204E554C4C206F74686572776973652E2054686520454C436C69656E745061636B6574206973207479706963616C6C79207573656420746F0A202020202F2F2063726561746520616E20454C436C69656E74526573706F6E73652E0A20202020454C436C69656E745061636B6574202A5761697452657475726E2875696E7433325F742074696D656F75743D4553505F54494D454F5554293B0A0A202020202F2F3D3D20436F6D6D616E6473206275696C742D696E746F20454C436C69656E740A202020202F2F20496E697469616C697A6520616E642073796E6368726F6E697A6520636F6D6D756E69636174696F6E2077697468206573702D6C696E6B207769746820612074696D656F757420696E206D696C6C697365636F6E64732C0A202020202F2F20616E642072656D6F766520616C6C206578697374696E672063616C6C6261636B732E20526567697374657273207468652077696669436220616E642072657475726E732074727565206F6E20737563636573730A20202020626F6F6C65616E2053796E632875696E7433325F742074696D656F75743D4553505F54494D454F5554293B0A202020202F2F2052657175657374207468652077696669207374617475730A20202020766F6964204765745769666953746174757328766F6964293B0A0A202020202F2F2043616C6C6261636B20666F72207769666920737461747573206368616E6765732E20546869732063616C6C6261636B206D757374206265206174746163686564206265666F72652063616C6C696E672053796E630A2020202046503C766F69642C20766F69642A3E207769666943623B202F2A2A3C20506F696E74657220746F2063616C6C6261636B2066756E6374696F6E202A2F0A202020202F2F2043616C6C6261636B20746F20696E6469636174652070726F746F636F6C2072657365742C207479706963616C6C792064756520746F206573702D6C696E6B20726573657474696E672E205468652063616C6C6261636B0A202020202F2F2073686F756C642063616C6C2053796E6320616E6420706572666F726D20616E79206F746865722063616C6C6261636B20726567697374726174696F6E206166726573682E0A20202020766F696420282A726573657443622928293B202F2A2A3C20506F696E74657220746F2063616C6C6261636B2066756E6374696F6E202A2F0A0A20202F2F707269766174653A0A2020202053747265616D2A205F73657269616C3B202F2A2A3C2053657269616C2073747265616D20666F7220636F6D6D756E69636174696F6E207769746820455350202A2F0A20202020626F6F6C65616E205F6465627567456E3B202F2A2A3C20466C616720666F72206465627567202D2054727565203D20656E61626C65642C2046616C7365203D2064697361626C6564202A2F0A2020202075696E7431365F74206372633B202F2A2A3C2043524320636865636B73756D202A2F0A20202020454C436C69656E7450726F746F636F6C205F70726F746F3B202F2A2A3C2050726F746F636F6C20737472756374757265202A2F0A2020202075696E74385F74205F70726F746F4275665B3132385D3B202F2A2A3C2050726F746F636F6C20627566666572202A2F0A0A20202020766F696420696E697428293B0A20202020766F69642044424728636F6E737420636861722A20696E666F293B0A20202020454C436C69656E745061636B6574202A70726F746F436F6D706C65746564436228766F6964293B0A20202020766F69642077726974652875696E74385F742064617461293B0A20202020766F696420777269746528766F69642A20646174612C2075696E7431365F74206C656E293B0A2020202075696E7431365F7420637263313641646428756E7369676E6564206368617220622C2075696E7431365F7420616363293B0A2020202075696E7431365F742063726331364461746128636F6E737420756E7369676E65642063686172202A646174612C2075696E7431365F74206C656E2C2075696E7431365F7420616363293B0A7D3B0A23656E646966202F2F205F454C5F434C49454E545F485F0A .h ELClientCmd 2F2A21205C66696C6520454C436C69656E74436D642E6370700A202020205C627269656620436F6E7374727563746F7220616E642066756E6374696F6E7320666F7220454C436C69656E74436D640A202020205C617574686F7220422E2052756E6E656C730A202020205C617574686F7220542E20766F6E204569636B656E0A202020205C6461746520323031360A2A2F0A2F2F20436F7079726967687420286329203230313620627920422E2052756E6E656C7320616E6420542E20766F6E204569636B656E0A0A23696E636C7564652022454C436C69656E74436D642E68220A0A2F2A2120454C436C69656E74436D6428454C436C69656E742A20656C63290A2020202040627269656620436F6E7374727563746F7220666F7220454C436C69656E74436D640A2A2F0A454C436C69656E74436D643A3A454C436C69656E74436D6428454C436C69656E742A20656C6329203A5F656C6328656C6329207B7D0A0A2F2A212047657454696D6528290A406272696566204765742074696D652066726F6D204553500A4064657461696C732054696D652066726F6D207468652045535020697320756E666F726D617465642076616C7565206F66207365636F6E64730A407761726E696E6720496620746865204553502063616E6E6F7420636F6E6E65637420746F20746865204E545020736572766572206F722074686520636F6E6E656374696F6E204E545020736572766572206973206E6F742073657475702C200A097468656E20746869732074696D6520697320746865206E756D626572206F66207365636F6E64732073696E636520746865206C617374207265626F6F74206F6620746865204553500A4072657475726E203C636F64653E75696E7433325F743C2F636F64653E0A0963757272656E742074696D65206173206E756D626572206F66207365636F6E64730A092D2073696E636520546875204A616E2020312030303A30303A353820555443203139373020696620455350206861732074696D652066726F6D204E54500A092D2073696E6365206C617374207265626F6F74206F6620455350206966206E6F204E54502074696D6520697320617661696C61626C650A40706172204578616D706C650A40636F64650A0975696E7433325F742074203D20636D642E47657454696D6528293B0A0953657269616C2E7072696E74282254696D653A2022293B2053657269616C2E7072696E746C6E2874293B0A40656E64636F64650A2A2F0A75696E7433325F7420454C436C69656E74436D643A3A47657454696D652829207B0A20205F656C632D3E5265717565737428434D445F4745545F54494D452C20302C2030293B0A20205F656C632D3E5265717565737428293B0A0A2020454C436C69656E745061636B6574202A706B74203D205F656C632D3E5761697452657475726E28293B0A202072657475726E20706B74203F20706B742D3E76616C7565203A20303B0A7D0A0A .cpp ELClientCmd 2F2A21205C66696C6520454C436C69656E74436D642E680A202020205C627269656620446566696E6974696F6E7320666F7220454C436C69656E74436D640A095C6E6F7465204D697363656C6C616E656F757320636F6D6D616E64730A2A2F0A2F2F204D697363656C6C616E656F757320636F6D6D616E64730A0A2369666E646566205F454C5F434C49454E545F434D445F485F0A23646566696E65205F454C5F434C49454E545F434D445F485F0A0A23696E636C756465203C41726475696E6F2E683E0A23696E636C7564652022454C436C69656E742E68220A23696E636C756465202246502E68220A0A636C61737320454C436C69656E74436D64207B0A20207075626C69633A0A202020202F2F20436F6E7374727563746F720A20202020454C436C69656E74436D6428454C436C69656E742A20656C63293B0A202020202F2F20476574207468652063757272656E742074696D6520696E207365636F6E64732073696E6365207468652065706F63682C2030206966207468652074696D6520697320756E6B6E6F776E0A2020202075696E7433325F742047657454696D6528293B0A0A2020707269766174653A0A20202020454C436C69656E742A205F656C633B202F2A2A3C20454C436C69656E7420696E7374616E6365202A2F0A7D3B0A23656E6469660A .h ELClientMqtt 2F2A21205C66696C6520454C436C69656E744D7174742E6370700A202020205C627269656620436F6E7374727563746F7220616E642066756E6374696F6E7320666F7220454C436C69656E744D7174740A202020205C617574686F7220422E2052756E6E656C730A202020205C617574686F7220542E20766F6E204569636B656E0A202020205C6461746520323031360A2A2F0A2F2F20436F7079726967687420286329203230313620627920422E2052756E6E656C7320616E6420542E20766F6E204569636B656E0A0A23696E636C756465203C41726475696E6F2E683E0A23696E636C7564652022454C436C69656E744D7174742E68220A0A2F2F20636F6E7374727563746F720A2F2A2120454C436C69656E744D71747428454C436C69656E742A20656C63290A40627269656620436F6E7374727563746F7220666F7220454C436C69656E744D7174740A40706172204578616D706C650A40636F64650A2020454C436C69656E744D71747428454C436C69656E742A20656C63293B0A40656E64636F64650A2A2F0A454C436C69656E744D7174743A3A454C436C69656E744D71747428454C436C69656E742A20656C6329203A5F656C6328656C6329207B7D0A0A2F2A2120736574757028766F6964290A406272696566205365747570206D7174740A4064657461696C732053656E642063616C6C6261636B2066756E6374696F6E7320666F72204D515454206576656E747320746F20746865204553500A40706172204578616D706C650A40636F64650A20206D7174742E636F6E6E656374656443622E617474616368286D717474436F6E6E6563746564293B0A20206D7174742E646973636F6E6E656374656443622E617474616368286D717474446973636F6E6E6563746564293B0A20206D7174742E7075626C697368656443622E617474616368286D7174745075626C6973686564293B0A20206D7174742E6461746143622E617474616368286D71747444617461293B0A20206D7174742E736574757028293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E744D7174743A3A736574757028766F696429207B0A202053657269616C2E7072696E7428462822436F6E6E656374656443422069732030782229293B2053657269616C2E7072696E746C6E282875696E7433325F742926636F6E6E656374656443622C203136293B0A20205F656C632D3E5265717565737428434D445F4D5154545F53455455502C20302C2034293B0A202075696E7433325F74206362203D202875696E7433325F742926636F6E6E656374656443623B0A20205F656C632D3E52657175657374282663622C2034293B0A20206362203D202875696E7433325F742926646973636F6E6E656374656443623B0A20205F656C632D3E52657175657374282663622C2034293B0A20206362203D202875696E7433325F7429267075626C697368656443623B0A20205F656C632D3E52657175657374282663622C2034293B0A20206362203D202875696E7433325F7429266461746143623B0A20205F656C632D3E52657175657374282663622C2034293B0A20205F656C632D3E5265717565737428293B0A7D0A0A2F2F204C57540A0A2F2A21206C777428636F6E737420636861722A20746F7069632C20636F6E737420636861722A206D6573736167652C2075696E74385F7420716F732C2075696E74385F742072657461696E290A40627269656620536574204D515454206C6173742077696C6C2E0A4064657461696C732053656E64732074686520226C6173742077696C6C2220746F20746865204553502E0A40706172616D20746F7069630A20204C6173742077696C6C20746F706963206E616D650A40706172616D206D6573736167650A20204C6173742077696C6C206D6573736167650A40706172616D20716F730A2020286F7074696F6E616C292052657175657374656420716F73206C6576656C2C2064656661756C7420300A40706172616D2072657461696E0A2020286F7074696F6E616C29205265717565737465642072657461696E206C6576656C2C2064656661756C7420300A407761726E696E6720417420746865206D6F6D656E74206F6E6C7920716F73206C6576656C203020697320696D706C656D656E74656420616E6420737570706F72746564210A40706172204578616D706C650A40636F64650A202053657269616C2E7072696E746C6E282241524455494E4F3A207365747570206D717474206C777422293B0A20206D7174742E6C777428222F6C7774222C20226F66666C696E65222C20302C2030293B202F2F6F72206D7174742E6C777428222F6C7774222C20226F66666C696E6522293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E744D7174743A3A6C777428636F6E737420636861722A20746F7069632C20636F6E737420636861722A206D6573736167652C2075696E74385F7420716F732C2075696E74385F742072657461696E29207B0A20205F656C632D3E5265717565737428434D445F4D5154545F4C57542C20302C2034293B0A20205F656C632D3E5265717565737428746F7069632C207374726C656E28746F70696329293B0A20205F656C632D3E52657175657374286D6573736167652C207374726C656E286D65737361676529293B0A20205F656C632D3E526571756573742826716F732C2031293B0A20205F656C632D3E52657175657374282672657461696E2C2031293B0A20205F656C632D3E5265717565737428293B0A7D0A0A2F2A21206C777428636F6E7374205F5F466C617368537472696E6748656C7065722A20746F7069632C20636F6E7374205F5F466C617368537472696E6748656C7065722A206D6573736167652C2075696E74385F7420716F732C2075696E74385F742072657461696E290A40627269656620536574204D515454206C6173742077696C6C2E0A4064657461696C732053656E64732074686520226C6173742077696C6C2220746F207468652045535020776974682074686520746F70696320616E64206D6573736167652073746F72656420696E2070726F6772616D206D656D6F72790A40706172616D20746F7069630A20204C6173742077696C6C20746F706963206E616D650A40706172616D206D6573736167650A20204C6173742077696C6C206D6573736167650A40706172616D20716F730A2020286F7074696F6E616C292052657175657374656420716F73206C6576656C2C2064656661756C7420300A40706172616D2072657461696E0A2020286F7074696F6E616C29205265717565737465642072657461696E206C6576656C2C2064656661756C7420300A407761726E696E6720417420746865206D6F6D656E74206F6E6C7920716F73206C6576656C203020697320696D706C656D656E74656420616E6420737570706F72746564210A40706172204578616D706C650A40636F64650A20206E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E744D7174743A3A6C777428636F6E7374205F5F466C617368537472696E6748656C7065722A20746F7069632C20636F6E7374205F5F466C617368537472696E6748656C7065722A206D6573736167652C0A2020202075696E74385F7420716F732C2075696E74385F742072657461696E290A7B0A20205F656C632D3E5265717565737428434D445F4D5154545F4C57542C20302C2034293B0A20205F656C632D3E5265717565737428746F7069632C207374726C656E5F502828636F6E737420636861722A29746F70696329293B0A20205F656C632D3E52657175657374286D6573736167652C207374726C656E5F502828636F6E737420636861722A296D65737361676529293B0A20205F656C632D3E526571756573742826716F732C2031293B0A20205F656C632D3E52657175657374282672657461696E2C2031293B0A20205F656C632D3E5265717565737428293B0A7D0A0A2F2F205355425343524942450A0A2F2A212073756273637269626528636F6E737420636861722A20746F7069632C2075696E74385F7420716F73290A4062726965662053756273637269626520746F204D51545420746F7069630A4064657461696C732053656E647320746865204D51545420737562736372697074696F6E207265717565737420746F20746865204553500A40706172616D20746F7069630A2020546F706963206E616D650A40706172616D20716F730A2020286F7074696F6E616C292052657175657374656420716F73206C6576656C2C2064656661756C7420300A407761726E696E6720417420746865206D6F6D656E74206F6E6C7920716F73206C6576656C203020697320696D706C656D656E74656420616E6420737570706F72746564210A40706172204578616D706C650A40636F64650A20206D7174742E73756273637269626528222F6573702D6C696E6B2F3122293B0A20206D7174742E73756273637269626528222F68656C6C6F2F776F726C642F2322293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E744D7174743A3A73756273637269626528636F6E737420636861722A20746F7069632C2075696E74385F7420716F7329207B0A20205F656C632D3E5265717565737428434D445F4D5154545F5355425343524942452C20302C2032293B0A20205F656C632D3E5265717565737428746F7069632C207374726C656E28746F70696329293B0A20205F656C632D3E526571756573742826716F732C2031293B0A20205F656C632D3E5265717565737428293B0A7D0A0A2F2A212073756273637269626528636F6E7374205F5F466C617368537472696E6748656C7065722A20746F7069632C2075696E74385F7420716F73290A4062726965662053756273637269626520746F204D51545420746F7069630A4064657461696C732053656E647320746865204D51545420737562736372697074696F6E207265717565737420746F207468652045535020776974682074686520746F70696320616E64206D6573736167652073746F72656420696E2070726F6772616D206D656D6F72790A40706172616D20746F7069630A2020546F706963206E616D650A40706172616D20716F730A2020286F7074696F6E616C292052657175657374656420716F73206C6576656C2C2064656661756C7420300A407761726E696E6720417420746865206D6F6D656E74206F6E6C7920716F73206C6576656C203020697320696D706C656D656E74656420616E6420737570706F72746564210A40706172204578616D706C650A40636F64650A20206E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E744D7174743A3A73756273637269626528636F6E7374205F5F466C617368537472696E6748656C7065722A20746F7069632C2075696E74385F7420716F7329207B0A20205F656C632D3E5265717565737428434D445F4D5154545F5355425343524942452C20302C2032293B0A20205F656C632D3E5265717565737428746F7069632C207374726C656E5F502828636F6E737420636861722A29746F70696329293B0A20205F656C632D3E526571756573742826716F732C2031293B0A20205F656C632D3E5265717565737428293B0A7D0A0A2F2F205055424C4953480A0A2F2A21207075626C69736828636F6E737420636861722A20746F7069632C20636F6E73742075696E74385F742A20646174612C20636F6E73742075696E7431365F74206C656E2C2075696E74385F7420716F732C2075696E74385F742072657461696E290A4062726965662053756273637269626520746F204D51545420746F7069630A4064657461696C732053656E647320746865204D51545420737562736372697074696F6E207265717565737420746F20746865204553500A40706172616D20746F7069630A2020546F706963206E616D650A40706172616D20646174610A2020506F696E74657220746F2064617461206275666665720A40706172616D206C656E0A202053697A65206F662064617461206275666665720A40706172616D20716F730A2020286F7074696F6E616C292052657175657374656420716F73206C6576656C2C2064656661756C7420300A40706172616D2072657461696E0A2020286F7074696F6E616C29205265717565737465642072657461696E206C6576656C2C2064656661756C7420300A407761726E696E6720417420746865206D6F6D656E74206F6E6C7920716F73206C6576656C203020697320696D706C656D656E74656420616E6420737570706F72746564210A40706172204578616D706C650A40636F64650A202063686172206275665B31325D3B0A202069746F6128636F756E742B2B2C206275662C203130293B0A20206D7174742E7075626C69736828222F6573702D6C696E6B2F31222C20627566293B0A202069746F6128636F756E742B39392C206275662C203130293B0A20206D7174742E7075626C69736828222F68656C6C6F2F776F726C642F61726475696E6F222C206275662C203132293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E744D7174743A3A7075626C69736828636F6E737420636861722A20746F7069632C20636F6E73742075696E74385F742A20646174612C20636F6E73742075696E7431365F74206C656E2C0A2020202075696E74385F7420716F732C2075696E74385F742072657461696E290A7B0A20205F656C632D3E5265717565737428434D445F4D5154545F5055424C4953482C20302C2035293B0A20205F656C632D3E5265717565737428746F7069632C207374726C656E28746F70696329293B0A20205F656C632D3E5265717565737428646174612C206C656E293B0A20205F656C632D3E5265717565737428266C656E2C2032293B0A20205F656C632D3E526571756573742826716F732C2031293B0A20205F656C632D3E52657175657374282672657461696E2C2031293B0A20205F656C632D3E5265717565737428293B0A7D0A0A2F2A21207075626C69736828636F6E737420636861722A20746F7069632C20636F6E737420636861722A20646174612C2075696E74385F7420716F732C2075696E74385F742072657461696E290A4062726965662053756273637269626520746F204D51545420746F7069630A4064657461696C732053656E647320746865204D51545420737562736372697074696F6E207265717565737420746F20746865204553502E2044617461206D757374206265206E756C6C2D7465726D696E617465640A40706172616D20746F7069630A2020546F706963206E616D650A40706172616D20646174610A2020506F696E74657220746F2064617461206275666665720A40706172616D20716F730A2020286F7074696F6E616C292052657175657374656420716F73206C6576656C2C2064656661756C7420300A40706172616D2072657461696E0A2020286F7074696F6E616C29205265717565737465642072657461696E206C6576656C2C2064656661756C7420300A407761726E696E6720417420746865206D6F6D656E74206F6E6C7920716F73206C6576656C203020697320696D706C656D656E74656420616E6420737570706F72746564210A40706172204578616D706C650A40636F64650A202063686172206275665B31325D3B0A202069746F6128636F756E742B2B2C206275662C203130293B0A20206D7174742E7075626C69736828222F6573702D6C696E6B2F31222C20627566293B0A202069746F6128636F756E742B39392C206275662C203130293B0A20206D7174742E7075626C69736828222F68656C6C6F2F776F726C642F61726475696E6F222C20627566293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E744D7174743A3A7075626C69736828636F6E737420636861722A20746F7069632C20636F6E737420636861722A20646174612C2075696E74385F7420716F732C2075696E74385F742072657461696E290A7B0A20207075626C69736828746F7069632C202875696E74385F742A29646174612C207374726C656E2864617461292C20716F732C2072657461696E293B0A7D0A0A2F2A21207075626C69736828636F6E7374205F5F466C617368537472696E6748656C7065722A20746F7069632C20636F6E7374205F5F466C617368537472696E6748656C7065722A20646174612C20636F6E73742075696E7431365F74206C656E2C2075696E74385F7420716F732C2075696E74385F742072657461696E290A4062726965662053756273637269626520746F204D51545420746F7069630A4064657461696C732053656E647320746865204D51545420737562736372697074696F6E207265717565737420746F207468652045535020776974682074686520746F70696320616E6420646174612073746F72656420696E2070726F6772616D206D656D6F72790A40706172616D20746F7069630A2020546F706963206E616D650A40706172616D20646174610A2020506F696E74657220746F2064617461206275666665720A40706172616D206C656E0A202053697A65206F662064617461206275666665720A40706172616D20716F730A2020286F7074696F6E616C292052657175657374656420716F73206C6576656C2C2064656661756C7420300A40706172616D2072657461696E0A2020286F7074696F6E616C29205265717565737465642072657461696E206C6576656C2C2064656661756C7420300A407761726E696E6720417420746865206D6F6D656E74206F6E6C7920716F73206C6576656C203020697320696D706C656D656E74656420616E6420737570706F72746564210A40706172204578616D706C650A40636F64650A20206E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E744D7174743A3A7075626C69736828636F6E7374205F5F466C617368537472696E6748656C7065722A20746F7069632C20636F6E7374205F5F466C617368537472696E6748656C7065722A20646174612C0A20202020636F6E73742075696E7431365F74206C656E2C2075696E74385F7420716F732C2075696E74385F742072657461696E290A7B0A20205F656C632D3E5265717565737428434D445F4D5154545F5055424C4953482C20302C2035293B0A20205F656C632D3E5265717565737428746F7069632C207374726C656E5F502828636F6E737420636861722A29746F70696329293B0A20205F656C632D3E5265717565737428646174612C206C656E293B0A20205F656C632D3E5265717565737428266C656E2C2032293B0A20205F656C632D3E526571756573742826716F732C2031293B0A20205F656C632D3E52657175657374282672657461696E2C2031293B0A20205F656C632D3E5265717565737428293B0A7D0A0A2F2A2120454C436C69656E744D7174743A3A7075626C69736828636F6E737420636861722A20746F7069632C20636F6E7374205F5F466C617368537472696E6748656C7065722A20646174612C20636F6E73742075696E7431365F74206C656E2C2075696E74385F7420716F732C2075696E74385F742072657461696E290A4062726965662053756273637269626520746F204D51545420746F7069630A4064657461696C732053656E647320746865204D51545420737562736372697074696F6E207265717565737420746F207468652045535020776974682074686520646174612073746F72656420696E2070726F6772616D206D656D6F72790A40706172616D20746F7069630A2020546F706963206E616D650A40706172616D20646174610A2020506F696E74657220746F2064617461206275666665720A40706172616D206C656E0A202053697A65206F662064617461206275666665720A40706172616D20716F730A2020286F7074696F6E616C292052657175657374656420716F73206C6576656C2C2064656661756C7420300A40706172616D2072657461696E0A2020286F7074696F6E616C29205265717565737465642072657461696E206C6576656C2C2064656661756C7420300A407761726E696E6720417420746865206D6F6D656E74206F6E6C7920716F73206C6576656C203020697320696D706C656D656E74656420616E6420737570706F72746564210A40706172204578616D706C650A40636F64650A20206E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E744D7174743A3A7075626C69736828636F6E737420636861722A20746F7069632C20636F6E7374205F5F466C617368537472696E6748656C7065722A20646174612C0A20202020636F6E73742075696E7431365F74206C656E2C2075696E74385F7420716F732C2075696E74385F742072657461696E290A7B0A20205F656C632D3E5265717565737428434D445F4D5154545F5055424C4953482C20302C2035293B0A20205F656C632D3E5265717565737428746F7069632C207374726C656E28746F70696329293B0A20205F656C632D3E5265717565737428646174612C206C656E293B0A20205F656C632D3E5265717565737428266C656E2C2032293B0A20205F656C632D3E526571756573742826716F732C2031293B0A20205F656C632D3E52657175657374282672657461696E2C2031293B0A20205F656C632D3E5265717565737428293B0A7D0A0A2F2A21207075626C69736828636F6E7374205F5F466C617368537472696E6748656C7065722A20746F7069632C20636F6E73742075696E74385F742A20646174612C20636F6E73742075696E7431365F74206C656E2C2075696E74385F7420716F732C2075696E74385F742072657461696E290A4062726965662053756273637269626520746F204D51545420746F7069630A4064657461696C732053656E647320746865204D51545420737562736372697074696F6E207265717565737420746F207468652045535020776974682074686520746F7069632073746F72656420696E2070726F6772616D206D656D6F72790A40706172616D20746F7069630A2020546F706963206E616D650A40706172616D20646174610A2020506F696E74657220746F2064617461206275666665720A40706172616D206C656E0A202053697A65206F662064617461206275666665720A40706172616D20716F730A2020286F7074696F6E616C292052657175657374656420716F73206C6576656C2C2064656661756C7420300A40706172616D2072657461696E0A2020286F7074696F6E616C29205265717565737465642072657461696E206C6576656C2C2064656661756C7420300A407761726E696E6720417420746865206D6F6D656E74206F6E6C7920716F73206C6576656C203020697320696D706C656D656E74656420616E6420737570706F72746564210A40706172204578616D706C650A40636F64650A20206E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E744D7174743A3A7075626C69736828636F6E7374205F5F466C617368537472696E6748656C7065722A20746F7069632C20636F6E73742075696E74385F742A20646174612C0A20202020636F6E73742075696E7431365F74206C656E2C2075696E74385F7420716F732C2075696E74385F742072657461696E290A7B0A20205F656C632D3E5265717565737428434D445F4D5154545F5055424C4953482C20302C2035293B0A20205F656C632D3E5265717565737428746F7069632C207374726C656E5F502828636F6E737420636861722A29746F70696329293B0A20205F656C632D3E5265717565737428646174612C206C656E293B0A20205F656C632D3E5265717565737428266C656E2C2032293B0A20205F656C632D3E526571756573742826716F732C2031293B0A20205F656C632D3E52657175657374282672657461696E2C2031293B0A20205F656C632D3E5265717565737428293B0A7D0A .cpp ELClientMqtt 2F2A21205C66696C6520454C436C69656E744D7174742E680A202020205C627269656620446566696E6974696F6E7320666F7220454C436C69656E744D7174740A202020205C617574686F7220422E2052756E6E656C730A202020205C617574686F7220542E20766F6E204569636B656E0A202020205C6461746520323031360A2A2F0A2F2F20436F7079726967687420286329203230313620627920422E2052756E6E656C7320616E6420542E20766F6E204569636B656E0A0A2369666E646566205F454C5F434C49454E545F4D5154545F485F0A23646566696E65205F454C5F434C49454E545F4D5154545F485F0A0A23696E636C756465203C737464696E742E683E0A23696E636C756465202246502E68220A23696E636C7564652022454C436C69656E742E68220A0A2F2F20436C61737320746F2073656E6420616E642072656365697665204D515454206D657373616765732E205468697320636C6173732073686F756C642062652075736564207769746820612073696E676C65746F6E206F626A6563740A2F2F206265636175736520746865206573702D6C696E6B20696D706C656D656E746174696F6E2063757272656E746C79206F6E6C7920737570706F72747320612073696E676C65204D515454207365727665722C20736F2074686572652069730A2F2F206E6F2076616C756520696E20696E7374616E74696174696E67206D756C7469706C6520454C436C69656E744D717474206F626A656374732028616C74686F756768206974277320706F737369626C65292E0A2F2F20416C6C20746865207365727665722073657474696E677320617265206D61646520696E206573702D6C696E6B20616E64206573702D6C696E6B2074616B6573206361726520746F206175746F6D61746963616C6C790A2F2F207265636F6E6E65637420616E642072657472792069662074686520636F6E6E656374696F6E206973206C6F73742E2054686973206D65616E732074686174206F6E207468652061726475696E6F207369646520746865206F6E6C790A2F2F20636F64652074686174206973206E656365737361727920697320746F2073656E6420616E642072656365697665206D65737373616765732E0A636C61737320454C436C69656E744D717474207B0A20207075626C69633A0A202020202F2F20496E697469616C697A65207769746820616E20454C436C69656E74206F626A6563740A20202020454C436C69656E744D71747428454C436C69656E742A20656C63293B0A0A202020202F2F207365747570207472616E736D6974732074686520736574206F662063616C6C6261636B7320746F206573702D6C696E6B2E20497420617373756D657320746861742074686520646573697265642063616C6C6261636B730A202020202F2F20686176652070726576696F75736C79206265656E206174746163686564207573696E6720736F6D657468696E67206C696B65206D7174742D3E636F6E6E656374656443622E617474616368286D7943616C6C6261636B46756E292E0A202020202F2F2041667465722073657475702069732063616C6C6564206569746865722074686520636F6E6E65637465644362206F722074686520646973636F6E6E6563746564436220697320696E766F6B656420746F2070726F766964650A202020202F2F20696E666F726D6174696F6E2061626F75742074686520696E697469616C20636F6E6E656374696F6E207374617475732E0A20202020766F696420736574757028766F6964293B0A0A202020202F2F2063616C6C6261636B7320746861742063616E206265206174746163686564207072696F7220746F2063616C6C696E672073657475700A2020202046503C766F69642C20766F69642A3E20636F6E6E656374656443623B202020202F2A2A3C2063616C6C6261636B2077697468206E6F2061726773207768656E204D51545420697320636F6E6E6563746564202A2F0A2020202046503C766F69642C20766F69642A3E20646973636F6E6E656374656443623B202F2A2A3C2063616C6C6261636B2077697468206E6F2061726773207768656E204D51545420697320646973636F6E6E6563746564202A2F0A2020202046503C766F69642C20766F69642A3E207075626C697368656443623B202020202F2A2A3C206E6F742079657420696D706C656D656E746564202A2F0A2020202046503C766F69642C20766F69642A3E206461746143623B2020202020202020202F2A2A3C2063616C6C6261636B207768656E2061206D6573736167652069732072656365697665642C2063616C6C656420776974682074776F20617267756D656E74733A2074686520746F70696320616E6420746865206D65737361676520286D6178207E31313020627974657320666F7220626F746829202A2F0A0A202020202F2F2073756273637269626520746F206120746F7069632C207468652064656661756C7420716F7320697320302E205768656E206D657373616765732061726520726563657669656420666F722074686520746F706963207468650A202020202F2F20646174612063616C6C6261636B20697320696E766F6B65642E0A20202020766F69642073756273637269626528636F6E737420636861722A20746F7069632C2075696E74385F7420716F733D30293B0A20202020766F69642073756273637269626528636F6E7374205F5F466C617368537472696E6748656C7065722A20746F7069632C2075696E74385F7420716F733D30293B0A0A202020202F2F207075626C6973682061206D65737361676520746F206120746F7069630A20202020766F6964207075626C69736828636F6E737420636861722A20746F7069632C20636F6E73742075696E74385F742A20646174612C0A2020202020202020636F6E73742075696E7431365F74206C656E2C2075696E74385F7420716F733D302C2075696E74385F742072657461696E3D30293B0A20202020766F6964207075626C69736828636F6E737420636861722A20746F7069632C20636F6E737420636861722A20646174612C0A202020202020202075696E74385F7420716F733D302C2075696E74385F742072657461696E3D30293B0A20202020766F6964207075626C69736828636F6E7374205F5F466C617368537472696E6748656C7065722A20746F7069632C20636F6E7374205F5F466C617368537472696E6748656C7065722A20646174612C0A2020202020202020636F6E73742075696E7431365F74206C656E2C2075696E74385F7420716F733D302C2075696E74385F742072657461696E3D30293B0A20202020766F6964207075626C69736828636F6E737420636861722A20746F7069632C20636F6E7374205F5F466C617368537472696E6748656C7065722A20646174612C0A2020202020202020636F6E73742075696E7431365F74206C656E2C2075696E74385F7420716F733D302C2075696E74385F742072657461696E3D30293B0A20202020766F6964207075626C69736828636F6E7374205F5F466C617368537472696E6748656C7065722A20746F7069632C20636F6E73742075696E74385F742A20646174612C0A2020202020202020636F6E73742075696E7431365F74206C656E2C2075696E74385F7420716F733D302C2075696E74385F742072657461696E3D30293B0A0A202020202F2F207365742061206C6173742D77696C6C20746F7069632026206D6573736167650A20202020766F6964206C777428636F6E737420636861722A20746F7069632C20636F6E737420636861722A206D6573736167652C2075696E74385F7420716F733D302C2075696E74385F742072657461696E3D30293B0A20202020766F6964206C777428636F6E7374205F5F466C617368537472696E6748656C7065722A20746F7069632C20636F6E7374205F5F466C617368537472696E6748656C7065722A206D6573736167652C0A202020202020202075696E74385F7420716F733D302C2075696E74385F742072657461696E3D30293B0A0A2020707269766174653A0A20202020454C436C69656E742A205F656C633B202F2A2A3C20454C436C69656E7420696E7374616E6365202A2F0A7D3B0A0A23656E646966202F2F205F454C5F434C49454E545F4D5154545F485F0A .h ELClientResponse 2F2A21205C66696C6520454C436C69656E74526573706F6E73652E6370700A202020205C627269656620436F6E7374727563746F7220616E642066756E6374696F6E7320666F7220454C436C69656E74526573706F6E73650A2A2F0A23696E636C7564652022454C436C69656E74526573706F6E73652E68220A0A2F2A2120454C436C69656E74526573706F6E736528454C436C69656E745061636B65742A207061636B6574290A40627269656620436F6E7374727563746F7220666F7220454C436C69656E74526573706F6E7365207769746820454C436C69656E745061636B6574207061636B65740A40706172616D207061636B65740A09506F696E74657220746F207061636B657420666F7220726573706F6E73650A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A454C436C69656E74526573706F6E73653A3A454C436C69656E74526573706F6E736528454C436C69656E745061636B65742A207061636B657429207B0A20205F636D64203D207061636B65743B0A20205F6172675F707472203D205F636D642D3E617267733B0A20205F6172675F6E756D203D20303B0A7D0A0A2F2A2120454C436C69656E74526573706F6E736528766F69642A207061636B6574290A40627269656620436F6E7374727563746F7220666F7220454C436C69656E74526573706F6E7365207769746820766F6964207061636B65740A40706172616D207061636B65740A09506F696E74657220746F207061636B657420666F7220726573706F6E73650A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A454C436C69656E74526573706F6E73653A3A454C436C69656E74526573706F6E736528766F69642A207061636B657429207B0A20205F636D64203D2028454C436C69656E745061636B6574202A297061636B65743B0A20205F6172675F707472203D205F636D642D3E617267733B0A20205F6172675F6E756D203D20303B0A7D0A0A2F2A2120706F7041726750747228766F6964202A2A64617461290A406272696566204578747261637420706F696E74657220746F20616E20617267756D656E742066726F6D2074686520726573706F6E7365207061636B65740A40706172616D20646174610A09506F696E74657220746F2062756666657220666F722074686520617267756D656E7420706F696E7465720A4072657475726E203C636F64653E696E7431365F743C2F636F64653E0A0953697A65206F6620617267756D656E740A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A696E7431365F7420454C436C69656E74526573706F6E73653A3A706F7041726750747228766F6964202A2A6461746129207B0A2020696620285F6172675F6E756D203E3D205F636D642D3E61726763292072657475726E202D313B0A0A202075696E7431365F74206C656E203D202A2875696E7431365F742A295F6172675F7074723B0A202075696E7431365F7420706164203D2028342D28286C656E2B32292633292926333B202020202F2F2070616420746F206E657874206D756C7469706C65206F6620342C20696E636C7564696E67206C656E6774680A20205F6172675F707472202B3D20323B0A20205F6172675F6E756D2B2B3B0A0A20202A64617461203D205F6172675F7074723B0A20205F6172675F707472202B3D206C656E202B207061643B0A202072657475726E206C656E3B0A7D0A0A2F2A2120706F7041726728766F69642A20642C2075696E7431365F74206D61784C656E290A406272696566204578747261637420616E20617267756D656E742066726F6D2074686520726573706F6E7365207061636B65740A40706172616D20640A09506F696E74657220746F2062756666657220666F722074686520617267756D656E740A40706172616D206D61784C656E0A0953697A65206F66207468652062756666657220666F722074686520617267756D656E740A4072657475726E203C636F64653E696E7431365F743C2F636F64653E0A0953697A65206F6620617267756D656E740A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A696E7431365F7420454C436C69656E74526573706F6E73653A3A706F7041726728766F69642A20642C2075696E7431365F74206D61784C656E29207B0A2020696620285F6172675F6E756D203E3D205F636D642D3E61726763292072657475726E202D313B0A0A202075696E7431365F74206C656E203D202A2875696E7431365F742A295F6172675F7074723B0A202075696E7431365F7420706164203D2028342D28286C656E2B32292633292926333B202020202F2F2070616420746F206E657874206D756C7469706C65206F6620342C20696E636C7564696E67206C656E6774680A20205F6172675F707472202B3D20323B0A20205F6172675F6E756D2B2B3B0A0A202075696E74385F74202A64617461203D202875696E74385F74202A29643B0A202075696E7431365F74206C203D206C656E203E206D61784C656E203F206D61784C656E203A206C656E3B0A202075696E74385F74202A70203D205F6172675F7074723B0A20207768696C6520286C2D2D290A202020202A646174612B2B203D202A702B2B3B0A0A20205F6172675F707472202B3D206C656E202B207061643B0A202072657475726E206C656E3B0A7D0A0A2F2A2120706F704368617228636861722A20627566666572290A40627269656620457874726163742061206368617261637465722066726F6D2074686520726573706F6E7365207061636B65740A40706172616D206275666665720A09506F696E74657220746F2062756666657220666F7220746865206368617261637465720A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E74526573706F6E73653A3A706F704368617228636861722A2062756666657229207B0A202075696E7431365F74206C656E203D202A2875696E7431365F742A295F6172675F7074723B0A202075696E7431365F7420706164203D2028342D28286C656E2B32292633292926333B202020202F2F2070616420746F206E657874206D756C7469706C65206F6620342C20696E636C7564696E67206C656E6774680A20205F6172675F707472202B3D20323B0A20205F6172675F6E756D2B2B3B0A0A202075696E74385F7420693B0A2020666F72202869203D20303B2069203C206C656E3B20692B2B29207B0A202020206275666665725B695D203D202863686172292A5F6172675F7074722B2B3B0A20207D0A20206275666665725B695D203D20275C30273B0A0A20205F6172675F707472202B3D207061643B0A7D0A0A2F2A2120706F70537472696E6728290A4062726965662045787472616374206120737472696E672066726F6D2074686520726573706F6E7365207061636B65740A4072657475726E203C636F64653E537472696E673C2F636F64653E0A09537472696E67206578747261637465642066726F6D2074686520726573706F6E7365207061636B65740A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A537472696E6720454C436C69656E74526573706F6E73653A3A706F70537472696E672829207B0A2020537472696E67207265743B0A202075696E7431365F74206C656E203D202A2875696E7431365F742A295F6172675F7074723B0A202075696E7431365F7420706164203D2028342D28286C656E2B32292633292926333B202020202F2F2070616420746F206E657874206D756C7469706C65206F6620342C20696E636C7564696E67206C656E6774680A20205F6172675F707472202B3D20323B0A20205F6172675F6E756D2B2B3B0A0A20207768696C6520286C656E2D2D290A20202020726574202B3D202863686172292A5F6172675F7074722B2B3B0A0A20205F6172675F707472202B3D207061643B0A202072657475726E207265743B0A7D0A0A2F2A2120706F70537472696E6728537472696E672A2064617461290A40627269656620457874726163742074686520706F696E74657220746F206120737472696E672066726F6D2074686520726573706F6E7365207061636B65740A40706172616D20646174610A09506F696E74657220746F2062652073657420746F2074686520737472696E6720696E2074686520726573706F6E7365207061636B65740A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E74526573706F6E73653A3A706F70537472696E6728537472696E672A206461746129207B0A202075696E7431365F74206C656E203D202A2875696E7431365F742A295F6172675F7074723B0A202075696E7431365F7420706164203D2028342D28286C656E2B32292633292926333B202020202F2F2070616420746F206E657874206D756C7469706C65206F6620342C20696E636C7564696E67206C656E6774680A20205F6172675F707472202B3D20323B0A20205F6172675F6E756D2B2B3B0A0A20207768696C6520286C656E2D2D290A20202020646174612D3E636F6E636174282863686172292A5F6172675F7074722B2B293B0A0A20205F6172675F707472202B3D207061643B0A7D0A .cpp ELClientResponse 2F2A21205C66696C6520454C436C69656E74526573706F6E73652E680A202020205C627269656620446566696E6974696F6E7320666F7220454C436C69656E74526573706F6E73650A2A2F0A2369666E646566205F454C5F434C49454E545F524553504F4E53455F485F0A23646566696E65205F454C5F434C49454E545F524553504F4E53455F485F0A0A236966205F4D53435F5645520A23646566696E65205041434B45440A23656C73650A23646566696E65205041434B4544205F5F6174747269627574655F5F2028285F5F7061636B65645F5F29290A23656E6469660A0A23696E636C756465203C41726475696E6F2E683E0A0A23646566696E65205641524941424C455F4152475F4E554D203235350A0A7479706564656620737472756374205041434B4544207B0A202075696E7431365F7420636D643B2020202020202020202020202F2A2A3C20436F6D6D616E6420746F2065786563757465202A2F0A202075696E7431365F7420617267633B20202020202020202020202F2A2A3C204E756D626572206F6620617267756D656E7473202A2F0A202075696E7433325F742076616C75653B202020202020202020202F2A2A3C2043616C6C6261636B20746F20696E766F6B652C204E554C4C206966206E6F6E653B206F7220726573706F6E73652076616C7565202A2F0A202075696E74385F742020617267735B305D3B20202020202020202F2A2A3C20417267756D656E7473202A2F0A7D20454C436C69656E745061636B65743B202F2A2A3C205061636B65742073747275637475726520202A2F0A0A2F2F20454C436C69656E74526573706F6E736520697320612070617273657220666F7220726573706F6E7365732E2054686520636F6E7374727563746F7220696E697469616C697A65732074686520706172736572206261736564206F6E0A2F2F2061207061636B657420616E642074686520766172696F757320706F702066756E6374696F6E7320636F6E73756D65206F6E6520726573706F6E736520617267756D656E7420617420612074696D652E0A636C61737320454C436C69656E74526573706F6E7365207B0A20207075626C69633A0A202020202F2F20437265617465206120726573706F6E73652066726F6D2061207061636B65742C207468697320697320646F6E6520696E7465726E616C6C7920696E20454C436C69656E740A20202020454C436C69656E74526573706F6E736528454C436C69656E745061636B65742A207061636B6574293B0A20202020454C436C69656E74526573706F6E736528766F6964202A7061636B6574293B0A0A202020202F2F204163636573736F727320746F2074686520726573706F6E7365206669656C64730A2020202075696E7431365F7420617267632829207B2072657475726E205F636D642D3E617267633B207D202F2A2A3C20476574206E756D626572206F6620617267756D656E747320202A2F0A2020202075696E7431365F7420636D642829207B2072657475726E205F636D642D3E636D643B207D202F2A2A3C2047657420636F6D6D616E6420202A2F0A2020202075696E7433325F742076616C75652829207B2072657475726E205F636D642D3E76616C75653B207D202F2A2A3C204765742072657475726E65642076616C756520202A2F0A0A202020202F2F2052657475726E20746865206C656E677468206F6620746865206E65787420617267756D656E740A2020202075696E7431365F74206172674C656E2829207B2072657475726E202A2875696E7431365F742A295F6172675F7074723B207D202F2A2A3C20476574206C656E677468206F6620617267756D656E7420202A2F0A202020202F2F20506F70206F6E6520617267756D656E742066726F6D2074686520726573706F6E73652C2072657475726E73207468652061637475616C206C656E6774682E2052657475726E73202D312069662074686572652069730A202020202F2F206E6F20617267206C6566742E0A20202020696E7431365F7420706F7041726728766F69642A20646174612C2075696E7431365F74206D61784C656E293B0A202020202F2F20506F70206F6E6520617267756D656E74206173206120706F696E65722066726F6D2074686520726573706F6E73652C2072657475726E73207468652061637475616C206C656E6774682E0A20202020696E7431365F7420706F7041726750747228766F6964202A2A64617461293B0A202020202F2F20506F70206F6E6520617267756D656E7420696E746F206120737472696E672062756666657220616E6420617070656E642061206E756C6C206368617261637465722E2054686520627566666572206E6565647320746F0A202020202F2F206265206C6172676520656E6F75676820286172674C656E28292B31290A20202020766F696420706F704368617228636861722A20627566666572293B0A202020202F2F20506F70206F6E6520617267756D656E7420696E746F206120537472696E67206275666665720A20202020537472696E6720706F70537472696E6728293B0A202020202F2F20506F70206F6E6520617267756D656E7420696E746F206120537472696E67206275666665720A20202020766F696420706F70537472696E6728537472696E672A2064617461293B0A0A2020707269766174653A0A2020202075696E7431365F74205F6172675F6E756D3B202F2A2A3C20417267756D656E74206E756D626572202A2F0A2020202075696E74385F742A205F6172675F7074723B202F2A2A3C20506F696E74657220746F20617267756D656E74202A2F0A20202020454C436C69656E745061636B65742A205F636D643B202F2A2A3C20506F696E74657220746F207061636B6574202A2F0A7D3B0A0A23656E646966202F2F205F454C5F434C49454E545F524553504F4E53455F485F0A .h ELClientRest 2F2A21205C66696C6520454C436C69656E74526573742E6370700A202020205C627269656620436F6E7374727563746F7220616E642066756E6374696F6E7320666F7220454C436C69656E74526573740A202020205C617574686F7220422E2052756E6E656C730A202020205C617574686F7220542E20766F6E204569636B656E0A202020205C6461746520323031360A2A2F0A2F2F20436F7079726967687420286329203230313620627920422E2052756E6E656C7320616E6420542E20766F6E204569636B656E0A0A23696E636C7564652022454C436C69656E74526573742E68220A0A7479706564656620656E756D207B0A20204845414445525F47454E45524943203D20302C202020202F2A2A3C204865616465722069732067656E65726963202A2F0A20204845414445525F434F4E54454E545F545950452C2020202F2A2A3C2048656164657220697320636F6E74656E742074797065202A2F0A20204845414445525F555345525F4147454E542020202020202F2A2A3C204865616465722069732075736572206167656E74202A2F0A7D204845414445525F545950453B202F2A2A3C20456E756D206F6620686561646572207479706573202A2F0A0A2F2A2120454C436C69656E745265737428454C436C69656E74202A65290A40627269656620436F6E7374727563746F7220666F7220454C436C69656E74526573740A40706172616D20650A09506F696E74657220746F20454C436C69656E74207374727563747572650A40706172204578616D706C650A40636F64650A09454C436C69656E745265737428454C436C69656E74202A65293B0A40656E64636F64650A2A2F0A454C436C69656E74526573743A3A454C436C69656E745265737428454C436C69656E74202A65290A7B0A20205F656C63203D20653B0A202072656D6F74655F696E7374616E6365203D202D313B0A7D0A0A2F2A21207265737443616C6C6261636B28766F6964202A726573290A4062726965662046756E6374696F6E2063616C6C6564206279206573702D6C696E6B207768656E20646174612069732073656E742C207265636569766564206F7220616E206572726F72206F6363757265642E0A4064657461696C73205468652066756E6374696F6E2069732063616C6C6564206279206573702D6C696E6B207768656E20646174612069732073656E74206F722072656365697665642066726F6D207468652072656D6F7465207365727665722E0A406E6F746520496E7465726E616C206C6962726172792066756E6374696F6E0A40706172616D207265730A09506F696E74657220746F20454C436C69656E74526573706F6E7365207374727563747572650A407761726E696E672054686520636F6E74656E74206F662074686520726573706F6E736520737472756374757265206973206F7665727772697474656E207768656E20746865206E657874207061636B6167652061727269766573210A2A2F0A766F696420454C436C69656E74526573743A3A7265737443616C6C6261636B28766F6964202A726573290A7B0A20206966202821726573292072657475726E3B0A0A2020454C436C69656E74526573706F6E7365202A72657370203D2028454C436C69656E74526573706F6E7365202A297265733B0A0A2020726573702D3E706F7041726728265F7374617475732C2073697A656F66285F73746174757329293B0A2020696620285F656C632D3E5F6465627567456E29207B0A202020205F656C632D3E5F64656275672D3E7072696E7428225245535420636F64652022293B0A202020205F656C632D3E5F64656275672D3E7072696E746C6E285F737461747573293B0A20207D0A0A20205F6C656E203D20726573702D3E706F7041726750747228265F64617461293B0A7D0A0A2F2A2120626567696E28636F6E737420636861722A20686F73742C2075696E7431365F7420706F72742C20626F6F6C65616E207365637572697479290A40627269656620496E697469616C697A6520636F6D6D756E69636174696F6E20746F20612052455354207365727665720A4064657461696C7320496E697469616C697A6520636F6D6D756E69636174696F6E20746F20612072656D6F7465207365727665722C0A097468697320636F6D6D756E6963617465732077697468206573702D6C696E6B2062757420646F6573206E6F74206F70656E206120636F6E6E656374696F6E20746F207468652072656D6F7465207365727665722E0A40706172616D20686F73740A09486F737420746F20626520636F6E6E65637465642E2043616E20626520612055524C206F7220616E204950206164647265737320696E2074686520666F726D6174206F66207878782E7878782E7878782E787878202E0A40706172616D20706F72740A09506F727420746F206265207573656420746F2073656E642F72656365697665207061636B6574732E20506F7274204D555354204E4F542062652038302C203233206F7220323332332C20617320746865736520706F7274732061726520616C7265616479207573656420627920454C2D434C49454E54206F6E2074686520455350383236360A40706172616D2073656375726974790A09466C61672069662073656375726520636F6E6E656374696F6E2073686F756C642062652065737461626C69736865640A407761726E696E6720506F7274204D555354204E4F542062652038302C203233206F7220323332332C20617320746865736520706F7274732061726520616C7265616479207573656420627920454C2D434C49454E54206F6E2074686520455350383236362E0A094D6178203420636F6E6E656374696F6E732061726520737570706F72746564210A40706172204578616D706C650A40636F64650A09696E7420657272203D20726573742E626567696E28227777772E74696D656170692E6F726722293B0A096966202865727220213D203029200A097B0A090953657269616C2E7072696E7428225245535420626567696E206661696C65643A2022293B0A090953657269616C2E7072696E746C6E28657272293B0A09097768696C65283129203B0A097D0A40656E64636F64650A2A2F0A696E7420454C436C69656E74526573743A3A626567696E28636F6E737420636861722A20686F73742C2075696E7431365F7420706F72742C20626F6F6C65616E207365637572697479290A7B0A202075696E74385F7420736563203D20212173656375726974793B0A20207265737443622E61747461636828746869732C2026454C436C69656E74526573743A3A7265737443616C6C6261636B293B0A0A20205F656C632D3E5265717565737428434D445F524553545F53455455502C202875696E7433325F7429267265737443622C2033293B0A20205F656C632D3E5265717565737428686F73742C207374726C656E28686F737429293B0A20205F656C632D3E526571756573742826706F72742C2032293B0A20205F656C632D3E5265717565737428267365632C2031293B0A20205F656C632D3E5265717565737428293B0A0A2020454C436C69656E745061636B6574202A706B74203D205F656C632D3E5761697452657475726E28293B0A202069662028706B742026262028696E7433325F7429706B742D3E76616C7565203E3D203029207B0A2020202072656D6F74655F696E7374616E6365203D20706B742D3E76616C75653B0A2020202072657475726E20303B0A20207D0A202072657475726E2028696E7429706B742D3E76616C75653B0A7D0A0A2F2A21207265717565737428636F6E737420636861722A20706174682C20636F6E737420636861722A206D6574686F642C20636F6E737420636861722A20646174612C20696E74206C656E290A4062726965662053656E64207265717565737420746F2052455354207365727665722E0A40706172616D20706174680A0950617468207468617420657874656E6473207468652055524C206F6620746865205245535420726571756573742028636F6D6D616E64206F72206461746120666F7220746865205245535420736572766572290A40706172616D206D6574686F640A0952455354206D6574686F642C20616C6C6F7765642076616C756573206172652022474554222C2022504F5354222C202250555422206F72202244454C455445220A40706172616D20646174610A09506F696E74657220746F2064617461206275666665720A40706172616D206C656E0A0953697A65206F662064617461206275666665720A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E74526573743A3A7265717565737428636F6E737420636861722A20706174682C20636F6E737420636861722A206D6574686F642C20636F6E737420636861722A20646174612C20696E74206C656E290A7B0A20205F737461747573203D20303B0A20206966202872656D6F74655F696E7374616E6365203C2030292072657475726E3B0A2020696620286461746120213D2030202626206C656E203E203029205F656C632D3E5265717565737428434D445F524553545F524551554553542C2072656D6F74655F696E7374616E63652C2033293B0A2020656C7365202020202020202020202020202020202020202020205F656C632D3E5265717565737428434D445F524553545F524551554553542C2072656D6F74655F696E7374616E63652C2032293B0A20205F656C632D3E52657175657374286D6574686F642C207374726C656E286D6574686F6429293B0A20205F656C632D3E5265717565737428706174682C207374726C656E287061746829293B0A2020696620286461746120213D204E554C4C202626206C656E203E203029207B0A202020205F656C632D3E5265717565737428646174612C206C656E293B0A20207D0A0A20205F656C632D3E5265717565737428293B0A7D0A0A2F2A21207265717565737428636F6E737420636861722A20706174682C20636F6E737420636861722A206D6574686F642C20636F6E737420636861722A2064617461290A4062726965662053656E64207265717565737420746F2052455354207365727665722E0A4064657461696C73205468652064617461206D757374206265206E756C6C2D7465726D696E617465642E0A40706172616D20706174680A0950617468207468617420657874656E6473207468652055524C206F6620746865205245535420726571756573742028636F6D6D616E64206F72206461746120666F7220746865205245535420736572766572290A40706172616D206D6574686F640A0952455354206D6574686F642C20616C6C6F7765642076616C756573206172652022474554222C2022504F5354222C202250555422206F72202244454C455445220A40706172616D20646174610A09506F696E74657220746F2064617461206275666665720A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E74526573743A3A7265717565737428636F6E737420636861722A20706174682C20636F6E737420636861722A206D6574686F642C20636F6E737420636861722A2064617461290A7B0A20207265717565737428706174682C206D6574686F642C20646174612C207374726C656E286461746129293B0A7D0A0A2F2A212067657428636F6E737420636861722A20706174682C20636F6E737420636861722A2064617461290A4062726965662053656E6420474554207265717565737420746F2052455354207365727665720A407761726E696E67205468652072656365697665642064617461206D69676874206E6F74206265206E756C6C2D7465726D696E617465642E0A40706172616D20706174680A0950617468207468617420657874656E6473207468652055524C206F6620746865205245535420726571756573742028636F6D6D616E64206F72206461746120666F7220746865205245535420736572766572290A40706172616D20646174610A09506F696E74657220746F206461746120627566666572200A40706172204578616D706C650A40636F64650A092F2F2052657175657374202F7574632F6E6F772066726F6D207468652070726576696F75736C79207365742D7570207365727665720A09726573742E67657428222F7574632F6E6F7722293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E74526573743A3A67657428636F6E737420636861722A20706174682C20636F6E737420636861722A206461746129207B207265717565737428706174682C2022474554222C2064617461293B207D0A0A2F2A2120706F737428636F6E737420636861722A20706174682C20636F6E737420636861722A2064617461290A4062726965662053656E6420504F5354207265717565737420746F2052455354207365727665720A407761726E696E67205468652072656365697665642064617461206D757374206265206E756C6C2D7465726D696E617465642E0A40706172616D20706174680A0950617468207468617420657874656E6473207468652055524C206F6620746865205245535420726571756573742028636F6D6D616E64206F72206461746120666F7220746865205245535420736572766572290A40706172616D20646174610A09506F696E74657220746F206461746120627566666572200A40706172204578616D706C650A40636F64650A092F2F2047656E657261746520612066616B652076616C7565207374617274696E672066726F6D2031303020676F696E6720757020746F203330300A09736F6C617256616C7565203D20736F6C617256616C7565202B20302E353B0A0969662028736F6C617256616C7565203D3D2033303029200A097B0A0909736F6C617256616C7565203D203130303B0A097D0A09537472696E6720736F6C617256616C537472696E67203D20537472696E6728736F6C617256616C7565293B0A09636F6E73742063686172202A736F6C617256616C43686172203D20736F6C617256616C537472696E672E635F73747228293B0A092F2F205265736572766520612062756666657220666F722073656E64696E672074686520646174610A096368617220706174685F646174615B4255464C454E5D3B0A092F2F20436F707920746865207061746820616E6420415049206B657920696E746F20746865206275666665720A09737072696E746628706174685F646174612C20222573222C20222F7570646174653F6170695F6B65793D22293B0A09737072696E746628706174685F64617461202B207374726C656E28706174685F64617461292C20222573222C206170695F6B6579293B0A092F2F20436F707920746865206669656C64206E756D62657220616E642076616C756520696E746F20746865206275666665720A092F2F20496620796F752068617665206D6F7265207468616E206F6E65206669656C6420746F207570646174652C0A092F2F2072657065617420616E64206368616E6765206669656C643120746F206669656C64322C206669656C64332C202E2E2E0A09737072696E746628706174685F64617461202B207374726C656E28706174685F64617461292C20222573222C2022266669656C64313D22293B0A09737072696E746628706174685F64617461202B207374726C656E28706174685F64617461292C20222573222C20736F6C617256616C43686172293B0A092F2F2053656E6420505554207265717565737420746F207468696E67737065616B2E636F6D0A09726573742E706F737428706174685F646174612C2222293B090A40656E64636F64650A2A2F0A766F696420454C436C69656E74526573743A3A706F737428636F6E737420636861722A20706174682C20636F6E737420636861722A206461746129207B207265717565737428706174682C2022504F5354222C2064617461293B207D0A0A2F2A212070757428636F6E737420636861722A20706174682C20636F6E737420636861722A2064617461290A4062726965662053656E6420505554207265717565737420746F2052455354207365727665720A407761726E696E67205468652072656365697665642064617461206D757374206265206E756C6C2D7465726D696E617465642E0A40706172616D20706174680A0950617468207468617420657874656E6473207468652055524C206F6620746865205245535420726571756573742028636F6D6D616E64206F72206461746120666F7220746865205245535420736572766572290A40706172616D20646174610A09506F696E74657220746F206461746120627566666572200A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E74526573743A3A70757428636F6E737420636861722A20706174682C20636F6E737420636861722A206461746129207B207265717565737428706174682C2022505554222C2064617461293B207D0A0A2F2A212064656C28636F6E737420636861722A2070617468290A4062726965662053656E642044454C455445207265717565737420746F2052455354207365727665720A40706172616D20706174680A0950617468207468617420657874656E6473207468652055524C206F6620746865205245535420726571756573742028636F6D6D616E64206F72206461746120666F7220746865205245535420736572766572290A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E74526573743A3A64656C28636F6E737420636861722A207061746829207B207265717565737428706174682C202244454C455445222C2030293B207D0A0A2F2A212073657448656164657228636F6E737420636861722A2076616C7565290A406272696566205365742067656E657269632068656164657220636F6E74656E740A4064657461696C73204966206E6F2067656E6572696320686561646572206973207365742C2069742064656661756C747320746F20616E20656D70747920737472696E670A40706172616D2076616C75650A0948656164657220636F6E74656E740A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E74526573743A3A73657448656164657228636F6E737420636861722A2076616C7565290A7B0A202075696E74385F74206865616465725F696E646578203D204845414445525F47454E455249433B0A20205F656C632D3E5265717565737428434D445F524553545F5345544845414445522C2072656D6F74655F696E7374616E63652C2032293B0A20205F656C632D3E5265717565737428266865616465725F696E6465782C2031293B0A20205F656C632D3E526571756573742876616C75652C207374726C656E2876616C756529293B0A20205F656C632D3E5265717565737428293B0A7D0A0A2F2A2120736574436F6E74656E745479706528636F6E737420636861722A2076616C7565290A4062726965662053657420636F6E74656E742074797065206F66206865616465720A4064657461696C73204966206E6F20636F6E74656E742074797065206973207365742C2069742064656661756C747320746F2022782D7777772D666F726D2D75726C656E636F646564220A40706172616D2076616C75650A09436F6E74656E7420747970650A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E74526573743A3A736574436F6E74656E745479706528636F6E737420636861722A2076616C7565290A7B0A202075696E74385F74206865616465725F696E646578203D204845414445525F434F4E54454E545F545950453B0A20205F656C632D3E5265717565737428434D445F524553545F5345544845414445522C2072656D6F74655F696E7374616E63652C2032293B0A20205F656C632D3E5265717565737428266865616465725F696E6465782C2031293B0A20205F656C632D3E526571756573742876616C75652C207374726C656E2876616C756529293B0A20205F656C632D3E5265717565737428293B0A7D0A0A2F2A2120736574557365724167656E7428636F6E737420636861722A2076616C7565290A406272696566205365742075736572206167656E74206F66206865616465720A4064657461696C73204966206E6F2075736572206167656E74206973207365742C2069742064656661756C747320746F20226573702D6C696E6B220A40706172616D2076616C75650A0955736572206167656E740A40706172204578616D706C650A40636F64650A096E6F206578616D706C6520636F6465207965740A40656E64636F64650A2A2F0A766F696420454C436C69656E74526573743A3A736574557365724167656E7428636F6E737420636861722A2076616C7565290A7B0A202075696E74385F74206865616465725F696E646578203D204845414445525F555345525F4147454E543B0A20205F656C632D3E5265717565737428434D445F524553545F5345544845414445522C2072656D6F74655F696E7374616E63652C2032293B0A20205F656C632D3E5265717565737428266865616465725F696E6465782C2031293B0A20205F656C632D3E526571756573742876616C75652C207374726C656E2876616C756529293B0A20205F656C632D3E5265717565737428293B0A7D0A0A2F2A2120676574526573706F6E736528636861722A20646174612C2075696E7431365F74206D61784C656E290A40627269656620526574726965766520726573706F6E73652E0A4064657461696C7320436865636B73206966206120726573706F6E73652066726F6D207468652072656D6F746520736572766572207761732072656365697665642C0A0972657475726E732074686520485454502073746174757320636F6465206F722030206966206E6F20726573706F6E736520286D6179206E65656420746F2077616974206C6F6E676572290A40706172616D20646174610A09506F696E74657220746F2062756666657220666F72207265636569766564207061636B65740A40706172616D206D61784C656E0A0953697A65206F662062756666657220666F72207265636569766564207061636B65742E20496620746865207265636569766564207061636B6574206973206C6172676572207468616E20746865206275666665722C20746865207265636569766564207061636B65742077696C6C206265207472756E63617465642E0A4072657475726E203C636F64653E75696E7431365F743C2F636F64653E0A0953697A65206F66207265636569766564207061636B6574206F72206E756D626572206F662073656E74206279746573206F722030206966206E6F20726573706F6E73650A40706172204578616D706C650A40636F64650A0923646566696E65204255464C454E203236360A09766F6964206C6F6F7028290A097B0A09092F2F2070726F6365737320616E792063616C6C6261636B7320636F6D696E672066726F6D206573705F6C696E6B0A09096573702E50726F6365737328293B0A0909766F6964206C6F6F7028290A09097B0A0909092F2F2070726F6365737320616E792063616C6C6261636B7320636F6D696E672066726F6D206573705F6C696E6B0A0909096573702E50726F6365737328293B0A0909092F2F20696620776527726520636F6E6E6563746564206D616B6520616E204854545020726571756573740A09090969662877696669436F6E6E6563746564290A0909097B0A090909092F2F2052657175657374202F7574632F6E6F772066726F6D207468652070726576696F75736C79207365742D7570207365727665720A09090909726573742E67657428222F7574632F6E6F7722293B0A090909096368617220726573706F6E73655B4255464C454E5D3B0A090909096D656D73657428726573706F6E73652C20302C204255464C454E293B0A0909090975696E7431365F7420636F6465203D20726573742E77616974526573706F6E736528726573706F6E73652C204255464C454E293B0A09090909696628636F6465203D3D20485454505F5354415455535F4F4B290A090909097B0A090909090953657269616C2E7072696E746C6E282241524455494E4F3A20474554207375636365737366756C3A22293B0A090909090953657269616C2E7072696E746C6E28726573706F6E7365293B0A090909097D0A09090909656C73650A090909097B0A090909090953657269616C2E7072696E74282241524455494E4F3A20474554206661696C65643A2022293B0A090909090953657269616C2E7072696E746C6E28636F6465293B0A090909097D0A0909090964656C61792831303030293B0A0909097D0A09097D0A097D0A40656E64636F64650A2A2F0A75696E7431365F7420454C436C69656E74526573743A3A676574526573706F6E736528636861722A20646174612C2075696E7431365F74206D61784C656E290A7B0A2020696620285F737461747573203D3D2030292072657475726E20303B0A20206D656D63707928646174612C205F646174612C205F6C656E3E6D61784C656E3F6D61784C656E3A5F6C656E293B0A2020696E7431365F742073203D205F7374617475733B0A20205F737461747573203D20303B0A202072657475726E20733B0A7D0A0A2F2A212077616974526573706F6E736528636861722A20646174612C2075696E7431365F74206D61784C656E2C2075696E7433325F742074696D656F7574290A406272696566205761697420666F722074686520726573706F6E73650A4064657461696C73205761697420666F722074686520726573706F6E73652066726F6D207468652072656D6F74652073657276657220666F72203C636F64653E74696D655F6F75743C2F636F64653E2C0A0972657475726E732074686520485454502073746174757320636F64652C2030206966206E6F20726573706F6E736520286D6179206E65656420746F2077616974206C6F6E676572290A407761726E696E6720426C6F636B73207468652041726475696E6F20636F646520666F722035207365636F6E647321206E6F74207265636F6D6D656E64656420746F207573652E0A095265636569766564207061636B6574206973204E4F54206E756C6C2D7465726D696E617465640A40706172616D20646174610A09506F696E74657220746F2062756666657220666F72207265636569766564207061636B65740A40706172616D206D61784C656E0A0953697A65206F662062756666657220666F72207265636569766564207061636B65742E20496620746865207265636569766564207061636B6574206973206C6172676572207468616E20746865206275666665722C20746865207265636569766564207061636B65742077696C6C206265207472756E63617465642E0A40706172616D2074696D656F75740A09286F7074696F6E616C292054696D6F757420696E206D696C6C69207365636F6E647320746F207761697420666F72206120726573706F6E73652C2064656661756C747320746F20353030306D730A4072657475726E203C636F64653E75696E7431365F743C2F636F64653E0A0953697A65206F66207265636569766564207061636B6574206F72206E756D626572206F662073656E74206279746573206F722030206966206E6F20726573706F6E73650A40706172204578616D706C650A40636F64650A0923646566696E65204255464C454E203236360A09766F6964206C6F6F702829200A097B0A09092F2F2070726F6365737320616E792063616C6C6261636B7320636F6D696E672066726F6D206573705F6C696E6B0A09096573702E50726F6365737328293B0A09092F2F20696620776527726520636F6E6E6563746564206D616B6520616E204854545020726571756573740A090969662877696669436F6E6E656374656429200A09097B0A0909092F2F2052657175657374202F7574632F6E6F772066726F6D207468652070726576696F75736C79207365742D7570207365727665720A090909726573742E67657428222F7574632F6E6F7722293B0A0909096368617220726573706F6E73655B4255464C454E5D3B0A0909096D656D73657428726573706F6E73652C20302C204255464C454E293B0A09090975696E7431365F7420636F6465203D20726573742E77616974526573706F6E736528726573706F6E73652C204255464C454E293B0A090909696628636F6465203D3D20485454505F5354415455535F4F4B290A0909097B0A0909090953657269616C2E7072696E746C6E282241524455494E4F3A20474554207375636365737366756C3A22293B0A0909090953657269616C2E7072696E746C6E28726573706F6E7365293B0A0909097D0A090909656C73650A0909097B0A0909090953657269616C2E7072696E74282241524455494E4F3A20474554206661696C65643A2022293B0A0909090953657269616C2E7072696E746C6E28636F6465293B0A0909097D0A09090964656C61792831303030293B0A09097D0A097D0A40656E64636F64650A2A2F0A75696E7431365F7420454C436C69656E74526573743A3A77616974526573706F6E736528636861722A20646174612C2075696E7431365F74206D61784C656E2C2075696E7433325F742074696D656F7574290A7B0A202075696E7433325F742077616974203D206D696C6C697328293B0A20207768696C6520285F737461747573203D3D203020262620286D696C6C69732829202D2077616974203C2074696D656F75742929207B0A202020205F656C632D3E50726F6365737328293B0A20207D0A202072657475726E20676574526573706F6E736528646174612C206D61784C656E293B0A7D0A .cpp ELClientRest 2F2A21205C66696C6520454C436C69656E74526573742E680A202020205C627269656620446566696E6974696F6E7320666F7220454C436C69656E745265730A202020205C617574686F7220422E2052756E6E656C730A202020205C617574686F7220542E20766F6E204569636B656E0A202020205C6461746520323031360A2A2F0A2F2F20436F7079726967687420286329203230313620627920422E2052756E6E656C7320616E6420542E20766F6E204569636B656E0A0A2369666E646566205F454C5F434C49454E545F524553545F485F0A23646566696E65205F454C5F434C49454E545F524553545F485F0A0A23696E636C756465203C41726475696E6F2E683E0A23696E636C756465202246502E68220A23696E636C7564652022454C436C69656E742E68220A0A2F2F2044656661756C742074696D656F757420666F722052455354207265717565737473207768656E2077616974696E6720666F72206120726573706F6E73650A23646566696E652044454641554C545F524553545F54494D454F5554202035303030202F2A2A3C2044656661756C742074696D656F757420666F722052455354207265717565737473207768656E2077616974696E6720666F72206120726573706F6E7365202A2F0A0A7479706564656620656E756D207B0A2020485454505F5354415455535F4F4B203D20323030202F2A2A3C204854545020737461747573204F4B20726573706F6E73652E202A2F0A7D20485454505F5354415455533B0A0A2F2F2054686520454C436C69656E745265737420636C617373206D616B65732073696D706C65205245535420726571756573747320746F20612072656D6F7465207365727665722E204561636820696E7374616E63650A2F2F206973207573656420746F20636F6D6D756E69636174652077697468206F6E652073657276657220616E64206D756C7469706C6520696E7374616E6365732063616E206265206372656174656420746F206D616B650A2F2F20726571756573747320746F206D756C7469706C6520736572766572732E0A2F2F2054686520454C436C69656E745265737420636C61737320646F6573206E6F7420737570706F727420636F6E63757272656E7420726571756573747320746F207468652073616D652073657276657220626563617573650A2F2F206F6E6C7920612073696E676C6520726573706F6E73652063616E20626520726563657669656420617420612074696D6520616E642074686520726573706F6E736573206F66207468652074776F2072657175657374730A2F2F206D617920617272697665206F7574206F66206F726465722E0A2F2F2041206D616A6F72206C696D69746174696F6E206F6620746865205245535420636C617373206973207468617420697420646F6573206E6F742073746F72652074686520726573706F6E736520626F64792E205468650A2F2F20726573706F6E73652073746174757320697320736176656420696E2074686520636C61737320696E7374616E63652C20736F2061667465722061207265717565737420636F6D706C6574657320616E64206265666F72650A2F2F20746865206E6578742072657175657374206973206D61646520612063616C6C20746F20676574526573706F6E73652077696C6C2072657475726E20746865207374617475732E20486F77657665722C206F6E6C79206120706F696E7465720A2F2F20746F2074686520726573706F6E736520626F64792069732073617665642C207768696368206D65616E73207468617420696620616E79206F74686572206D657373616765206172726976657320616E642069730A2F2F2070726F636573736564207468656E2074686520726573706F6E736520626F6479206973206F7665727772697474656E2062792069742E20576861742074686973206D65616E73206973207468617420696620796F750A2F2F206E6565642074686520726573706F6E736520626F647920796F752062657374207573652077616974526573706F6E7365206F7220656E73757265207468617420616E792063616C6C20746F20454C436C69656E743A3A70726F636573730A2F2F20697320666F6C6C6F77656420627920612063616C6C20746F20676574526573706F6E73652E20496465616C6C7920736F6D656F6E6520696D70726F766573207468697320636C61737320746F2074616B6520612063616C6C6261636B0A2F2F20696E746F207468652075736572277320736B657463683F0A2F2F20416E6F74686572206C696D69746174696F6E20697320746861742074686520726573706F6E736520626F647920697320313030206368617273206C6F6E67206174206D6F73742C20746869732069732064756520746F207468650A2F2F206C696D69746174696F6E206F662074686520534C49502070726F746F636F6C2062756666657220617661696C61626C652E0A636C61737320454C436C69656E7452657374207B0A20207075626C69633A0A20202020454C436C69656E745265737428454C436C69656E74202A65293B0A0A202020202F2F20496E697469616C697A6520636F6D6D756E69636174696F6E20746F20612072656D6F7465207365727665722C207468697320636F6D6D756E6963617465732077697468206573702D6C696E6B2062757420646F6573206E6F740A202020202F2F206F70656E206120636F6E6E656374696F6E20746F207468652072656D6F7465207365727665722E20486F7374206D6179206265206120686F73746E616D65206F7220616E20495020616464726573732C0A202020202F2F2073656375726974792063617573657320485454505320746F206265207573656420286E6F742079657420737570706F72746564292E2052657475726E73203020696620746865207365742D75702069730A202020202F2F207375636365737366756C2C2072657475726E732061206E65676174697665206572726F7220636F6465206966206974206661696C65642E0A20202020696E7420626567696E28636F6E737420636861722A20686F73742C2075696E7431365F7420706F72743D38302C20626F6F6C65616E2073656375726974793D66616C7365293B0A0A202020202F2F204D616B652061207265717565737420746F207468652072656D6F7465207365727665722E205468652064617461206D757374206265206E756C6C2D7465726D696E617465640A20202020766F6964207265717565737428636F6E737420636861722A20706174682C20636F6E737420636861722A206D6574686F642C20636F6E737420636861722A20646174613D4E554C4C293B0A0A202020202F2F204D616B652061207265717565737420746F207468652072656D6F7465207365727665722E0A20202020766F6964207265717565737428636F6E737420636861722A20706174682C20636F6E737420636861722A206D6574686F642C20636F6E737420636861722A20646174612C20696E74206C656E293B0A0A202020202F2F204D616B65206120474554207265717565737420746F207468652072656D6F7465207365727665722077697468204E554C4C2D7465726D696E6174656420646174610A20202020766F69642067657428636F6E737420636861722A20706174682C20636F6E737420636861722A20646174613D4E554C4C293B0A0A202020202F2F204D616B65206120504F5354207265717565737420746F207468652072656D6F7465207365727665722077697468204E554C4C2D7465726D696E6174656420646174610A20202020766F696420706F737428636F6E737420636861722A20706174682C20636F6E737420636861722A2064617461293B0A0A202020202F2F204D616B65206120505554207265717565737420746F207468652072656D6F7465207365727665722077697468204E554C4C2D7465726D696E6174656420646174610A20202020766F69642070757428636F6E737420636861722A20706174682C20636F6E737420636861722A2064617461293B0A0A202020202F2F204D616B6520612044454C455445207265717565737420746F207468652072656D6F7465207365727665720A20202020766F69642064656C28636F6E737420636861722A2070617468293B0A0A202020202F2F2052657472696576652074686520726573706F6E73652066726F6D207468652072656D6F7465207365727665722C2072657475726E732074686520485454502073746174757320636F64652C2030206966206E6F0A202020202F2F20726573706F6E736520286D6179206E65656420746F2077616974206C6F6E676572290A2020202075696E7431365F7420676574526573706F6E736528636861722A20646174612C2075696E7431365F74206D61784C656E293B0A0A202020202F2F205761697420666F722074686520726573706F6E73652066726F6D207468652072656D6F7465207365727665722C2072657475726E732074686520485454502073746174757320636F64652C2030206966206E6F0A202020202F2F20726573706F6E7365202874696D656F7574206F63637572726564292E2054686973206973206E6F74207265636F6D6D656E6465642065786365707420666F7220717569636B2064656D6F732C207573650A202020202F2F20676574526573706F6E736520706572696F646963616C6C7920696E73746561642E0A2020202075696E7431365F742077616974526573706F6E736528636861722A20646174612C2075696E7431365F74206D61784C656E2C2075696E7433325F742074696D656F75743D44454641554C545F524553545F54494D454F5554293B0A0A202020202F2F205365742074686520757365722D6167656E7420666F7220616C6C2073756273657175656E742072657175657374730A20202020766F696420736574557365724167656E7428636F6E737420636861722A2076616C7565293B0A0A202020202F2F205365742074686520436F6E74656E742D547970652048656164657220666F7220616C6C2073756273657175656E742072657175657374730A20202020766F696420736574436F6E74656E745479706528636F6E737420636861722A2076616C7565293B0A0A202020202F2F20536574206120637573746F6D2068656164657220666F7220616C6C2073756273657175656E742072657175657374730A20202020766F69642073657448656164657228636F6E737420636861722A2076616C7565293B0A0A2020707269766174653A0A20202020696E7433325F742072656D6F74655F696E7374616E63653B202F2A2A3C20436F6E6E656374696F6E206E756D6265722C2076616C75652063616E206265203020746F2033202A2F0A20202020454C436C69656E74202A5F656C633B202F2A2A3C20454C436C69656E7420696E7374616E6365202A2F0A20202020766F6964207265737443616C6C6261636B28766F69642A2072657370293B0A2020202046503C766F69642C20766F69642A3E207265737443623B202F2A2A3C20506F696E74657220746F2065787465726E616C2063616C6C6261636B2066756E6374696F6E202A2F0A0A20202020696E7431365F74205F7374617475733B202F2A2A3C20436F6E6E656374696F6E20737461747573202A2F0A2020202075696E7431365F74205F6C656E3B202F2A2A3C204E756D626572206F662073656E742F7265636569766564206279746573202A2F0A20202020766F6964202A5F646174613B202F2A2A3C2042756666657220666F722072656365697665642064617461202A2F0A0A0A7D3B0A23656E646966202F2F205F454C5F434C49454E545F524553545F485F0A .h ELClientSocket 2F2A21205C66696C6520454C436C69656E74536F636B65742E6370700A095C627269656620436F6E7374727563746F7220616E642066756E6374696F6E7320666F7220454C436C69656E74536F636B65740A095C617574686F72204265654765650A095C76657273696F6E20312E300A095C6461746520323031360A095C636F7079726967687420474E55205075626C6963204C6963656E73652E0A095C7761726E696E67204E65656473204553502D4C494E4B2056322E340A2A2F0A0A23696E636C7564652022454C436C69656E74536F636B65742E68220A0A2F2A2120454C436C69656E74536F636B657428454C436C69656E74202A65290A40627269656620436C61737320746F2073656E642F7265636569766520646174610A4064657461696C732054686520454C436C69656E74536F636B657420636C6173732073656E64732064617461206F766572206120536F636B657420746F20612072656D6F746520736572766572206F72206163747320617320612054435020736F636B6574207365727665722E0A094561636820696E7374616E6365206973207573656420746F20636F6D6D756E69636174652077697468206F6E652073657276657220616E64206D756C7469706C6520696E7374616E6365732063616E206265206372656174656420746F2073656E6420746F206D756C7469706C6520736572766572732E0A0954686520454C436C69656E74536F636B657420636C61737320646F6573206E6F7420737570706F727420636F6E63757272656E7420726571756573747320746F207468652073616D65207365727665722062656361757365206F6E6C7920612073696E676C6520726573706F6E73652063616E20626520726563657669656420617420612074696D6520616E642074686520726573706F6E736573206F66207468652074776F207265717565737473206D617920617272697665206F7574206F66206F726465722E0A40706172616D20650A09506F696E74657220746F20454C436C69656E742E20436865636B20454C436C69656E742041504920646F63756D656E746174696F6E2E0A40706172204578616D706C650A40636F64650A09454C436C69656E74536F636B657420736F636B65742826657370293B0A40656E64636F64650A2A2F0A454C436C69656E74536F636B65743A3A454C436C69656E74536F636B657428454C436C69656E74202A65290A7B0A095F656C63203D20653B0A0972656D6F74655F696E7374616E6365203D202D313B0A7D0A0A2F2A2120736F636B657443616C6C6261636B28766F6964202A726573290A4062726965662043616C6C6261636B2066756E6374696F6E207768656E20646174612069732073656E742C207265636569766564206F7220616E206572726F72206F6363757265642E0A4064657461696C73205468652066756E6374696F6E2069732063616C6C6564207768656E20646174612069732073656E74206F722072656365697665642066726F6D207468652072656D6F7465207365727665722E0A094966206120757365722063616C6C6261636B2066756E6374696F6E2028757365724362292077617320646566696E65642069742069732063616C6C656420616E642074686520726573706F6E73652069732073656E7420617320616E20617267756D656E742E0A406E6F746520496E7465726E616C206C6962726172792066756E6374696F6E0A40706172616D207265730A09506F696E74657220746F20454C436C69656E74526573706F6E7365207374727563747572650A407761726E696E672054686520636F6E74656E74206F662074686520726573706F6E736520737472756374757265206973206F7665727772697474656E207768656E20746865206E657874207061636B6167652061727269766573210A2A2F0A766F696420454C436C69656E74536F636B65743A3A736F636B657443616C6C6261636B28766F6964202A726573290A7B0A096966202821726573292072657475726E3B0A0A09454C436C69656E74526573706F6E7365202A72657370203D2028454C436C69656E74526573706F6E7365202A297265733B0A0A092369666465662044454255475F454E0A0909696E74206172674E756D203D20726573702D3E6172676328293B0A090953657269616C2E7072696E746C6E28224E756D626572206F6620617267756D656E74733A20222B537472696E67286172674E756D29293B0A090975696E7431365F74205F636D64203D20726573702D3E636D6428293B0A090953657269616C2E7072696E746C6E2822436F6D6D616E643A20222B537472696E67285F636D6429293B0A090975696E7431365F74205F76616C7565203D20726573702D3E76616C756528293B0A090953657269616C2E7072696E746C6E282256616C75653A20222B537472696E67285F76616C756529293B0A0923656E6469660A0A09726573702D3E706F7041726728265F726573705F747970652C2031293B0A09726573702D3E706F7041726728265F636C69656E745F6E756D2C2031293B0A09726573702D3E706F7041726728265F6C656E2C2032293B0A092369666465662044454255475F454E0A090953657269616C2E7072696E742822547970653A2022293B0A090953657269616C2E7072696E74285F726573705F74797065293B0A090953657269616C2E7072696E74282220636C69656E743A2022293B0A090953657269616C2E7072696E74285F636C69656E745F6E756D293B0A090953657269616C2E7072696E7428222073697A653A20222B537472696E67285F6C656E29293B0A0923656E6469660A09696620285F726573705F74797065203D3D2031290A097B0A09092369666465662044454255475F454E0A090909696E74206172674C656E203D20726573702D3E6172674C656E28293B0A09090953657269616C2E7072696E7428222064617461206C656E6774683A20222B537472696E67286172674C656E29293B0A090923656E6469660A0909726573702D3E706F704172675074722828766F69642A2A29265F64617461293B0A09092369666465662044454255475F454E0A0909095F646174615B5F6C656E5D203D20275C30273B0A09090953657269616C2E7072696E74282220646174613A20222B537472696E67285F6461746129293B0A090923656E6469660A097D0A092369666465662044454255475F454E0A090953657269616C2E7072696E746C6E282222293B0A0923656E6469660A095F737461747573203D20313B0A09696620285F686173557365724362290A097B0A09095F757365724362285F726573705F747970652C205F636C69656E745F6E756D2C205F6C656E2C205F64617461293B0A097D0A7D0A0A2F2A2120626567696E28636F6E737420636861722A20686F73742C2075696E7431365F7420706F72742C2075696E74385F7420736F636B5F6D6F64652C20766F696420282A757365724362292875696E74385F7420726573705F747970652C2075696E74385F7420636C69656E745F6E756D2C2075696E7431365F74206C656E2C2063686172202A6461746129290A40627269656620496E697469616C697A6520636F6D6D756E69636174696F6E20746F20612072656D6F7465207365727665720A4064657461696C7320496E697469616C697A6520636F6D6D756E69636174696F6E20746F20612072656D6F7465207365727665722C0A097468697320636F6D6D756E6963617465732077697468206573702D6C696E6B2062757420646F6573206E6F74206F70656E206120636F6E6E656374696F6E20746F207468652072656D6F7465207365727665722E0A40706172616D20686F73740A09486F737420746F20626520636F6E6E65637465642E2043616E20626520612055524C206F7220616E204950206164647265737320696E2074686520666F726D6174206F66207878782E7878782E7878782E787878202E0A40706172616D20706F72740A09506F727420746F206265207573656420746F2073656E642F72656365697665207061636B6574732E20506F7274204D555354204E4F542062652038302C203233206F7220323332332C20617320746865736520706F7274732061726520616C7265616479207573656420627920454C2D434C49454E54206F6E2074686520455350383236360A40706172616D20736F636B5F6D6F64650A0953657420736F636B6574206D6F646520746F20534F434B45545F5443505F434C49454E542C20534F434B45545F5443505F434C49454E545F4C495354454E2C20534F434B45545F5443505F534552564552206F7220534F434B45545F5544500A40706172616D20282A757365724362292875696E74385F7420726573705F747970652C2075696E74385F7420636C69656E745F6E756D2C2075696E7431365F74206C656E2C2063686172202A64617461290A09286F7074696F6E616C2920506F696E74657220746F2063616C6C6261636B2066756E6374696F6E20746861742069732063616C6C65642069662064617461206166746572206461746120686173206265656E2073656E742C207265636569766564206F7220696620616E206572726F72206F6363757265640A407761726E696E6720506F7274204D555354204E4F542062652038302C203233206F7220323332332C20617320746865736520706F7274732061726520616C7265616479207573656420627920454C2D434C49454E54206F6E2074686520455350383236362E0A094D6178203420636F6E6E656374696F6E732061726520737570706F72746564210A40706172204578616D706C65310A40636F64650A092F2F20536574757020612073696D706C6520636C69656E7420746F2073656E64206461746120616E6420646973636F6E6E6563742061667465722064617461207761732073656E740A09736F636B6574436F6E6E4E756D203D20736F636B65742E626567696E28736F636B65745365727665722C20736F636B6574506F72742C20534F434B45545F5443505F434C49454E542C20736F636B65744362293B0A40656E64636F64650A40706172204578616D706C65320A40636F64650A092F2F205365747570206120636C69656E7420746F2073656E64206461746120616E64207761697420666F7220726573706F6E73652066726F6D2072656D6F7465207365727665720A09736F636B6574436F6E6E4E756D203D20736F636B65742E626567696E28736F636B65745365727665722C20736F636B6574506F72742C20534F434B45545F5443505F434C49454E545F4C495354454E2C20736F636B65744362293B0A40656E64636F64650A40706172204578616D706C65330A40636F64650A092F2F2053657475702061205443502073657276657220616E64207761697420666F72206120636C69656E7420746F20636F6E6E6563740A09736F636B6574436F6E6E4E756D203D20736F636B65742E626567696E28736F636B65745365727665722C20736F636B6574506F72742C20534F434B45545F5443505F5345525645522C20736F636B65744362293B0A40656E64636F64650A40706172204578616D706C65330A40636F64650A092F2F2053657475702061205443502073657276657220616E64207761697420666F72206120636C69656E7420746F20636F6E6E6563740A09736F636B6574436F6E6E4E756D203D20736F636B65742E626567696E28736F636B65745365727665722C20736F636B6574506F72742C20534F434B45545F5544502C20736F636B65744362293B0A40656E64636F64650A2A2F0A696E7420454C436C69656E74536F636B65743A3A626567696E28636F6E737420636861722A20686F73742C2075696E7431365F7420706F72742C2075696E74385F7420736F636B5F6D6F64652C20766F696420282A757365724362292875696E74385F7420726573705F747970652C2075696E74385F7420636C69656E745F6E756D2C2075696E7431365F74206C656E2C2063686172202A6461746129290A7B0A096966202875736572436220213D2030290A097B0A09095F757365724362203D207573657243623B0A09095F686173557365724362203D20747275653B0A097D0A0A09736F636B657443622E61747461636828746869732C2026454C436C69656E74536F636B65743A3A736F636B657443616C6C6261636B293B0A0A095F656C632D3E5265717565737428434D445F534F434B45545F53455455502C202875696E7433325F742926736F636B657443622C2033293B0A095F656C632D3E5265717565737428686F73742C207374726C656E28686F737429293B0A095F656C632D3E526571756573742826706F72742C2032293B0A095F656C632D3E526571756573742826736F636B5F6D6F64652C2031293B0A095F656C632D3E5265717565737428293B0A0A09454C436C69656E745061636B6574202A706B74203D205F656C632D3E5761697452657475726E28293B0A0A0969662028706B742026262028696E7433325F7429706B742D3E76616C7565203E3D2030290A097B0A090972656D6F74655F696E7374616E6365203D20706B742D3E76616C75653B0A09092F2F2072657475726E20303B0A097D0A0972657475726E2028696E7429706B742D3E76616C75653B0A7D0A0A2F2A212073656E6428636F6E737420636861722A20646174612C20696E74206C656E290A4062726965662053656E64206461746120746F207468652072656D6F7465207365727665722E0A40706172616D20646174610A09506F696E74657220746F20534F434B4554207061636B65740A40706172616D206C656E0A094C656E677468206F6620534F434B4554207061636B65740A40706172204578616D706C650A40636F64650A0953657269616C2E7072696E746C6E282253656E64696E67204A534F4E20617272617920746F20534F434B45542073657276657222293B0A096368617220736F636B65745061636B6574203D20227B22646576696365223A2273706D222C2273223A3632322E30322C2263223A2D3136352E38367D220A09736F636B65742E73656E6428736F636B65745061636B65742C203339293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E74536F636B65743A3A73656E6428636F6E737420636861722A20646174612C20696E74206C656E290A7B0A095F737461747573203D20303B0A096966202872656D6F74655F696E7374616E6365203C2030292072657475726E3B0A095F656C632D3E5265717565737428434D445F534F434B45545F53454E442C2072656D6F74655F696E7374616E63652C2032293B0A095F656C632D3E5265717565737428646174612C207374726C656E286461746129293B0A09696620286461746120213D204E554C4C202626206C656E203E2030290A097B0A09095F656C632D3E5265717565737428646174612C206C656E293B0A097D0A0A095F656C632D3E5265717565737428293B0A7D0A0A2F2A212073656E6428636F6E737420636861722A2064617461290A4062726965662053656E64206E756C6C2D7465726D696E61746564206461746120746F207468652072656D6F7465207365727665722E0A40706172616D20646174610A09506F696E74657220746F20534F434B4554207061636B65742C206D757374206265206E756C6C2D7465726D696E617465640A40706172204578616D706C650A40636F64650A0953657269616C2E7072696E746C6E282253656E64696E672074657874206D65737361676520746F20534F434B45542073657276657222293B0A09736F636B65742E73656E6428224D6573736167652066726F6D20796F75722041726475696E6F20556E6F2057694669206F7665722054435020736F636B657422293B0A40656E64636F64650A2A2F0A766F696420454C436C69656E74536F636B65743A3A73656E6428636F6E737420636861722A2064617461290A7B0A0973656E6428646174612C207374726C656E286461746129293B0A7D0A0A2F2A2120676574526573706F6E73652875696E74385F74202A726573705F747970652C2075696E74385F74202A636C69656E745F6E756D2C20636861722A20646174612C2075696E7431365F74206D61784C656E290A40627269656620526574726965766520726573706F6E73652E0A4064657461696C7320436865636B206966206120726573706F6E73652066726F6D207468652072656D6F746520736572766572207761732072656365697665642C0A0972657475726E7320746865206E756D626572206F662073656E64206F722072656365697665642062797465732C0A0930206966206E6F20726573706F6E736520286D6179206E65656420746F2077616974206C6F6E676572290A40706172616D20726573705F747970650A09506F696E74657220746F20726573706F6E736520747970652E204973205553455243425F53454E54206966207061636B6574207761732073656E74206F72205553455243425F524543562069662061207061636B6574207761732072656365697665642E0A40706172616D20636C69656E745F6E756D0A09506F696E74657220746F20636F6E6E656374696F6E206E756D6265722E2043616E206265207573656420746F2064697374696E6775697368206265747765656E20646966666572656E7420736F636B657420636C69656E74732E0A40706172616D20646174610A09506F696E74657220746F2062756666657220666F72207265636569766564207061636B65740A40706172616D206D61784C656E0A0953697A65206F662062756666657220666F72207265636569766564207061636B65742E20496620746865207265636569766564207061636B6574206973206C6172676572207468616E20746865206275666665722C20746865207265636569766564207061636B65742077696C6C206265207472756E63617465642E0A4072657475726E203C636F64653E75696E7431365F743C2F636F64653E0A0953697A65206F66207265636569766564207061636B6574206F72206E756D626572206F662073656E74206279746573206F722030206966206E6F20726573706F6E73650A40706172204578616D706C650A40636F64650A0923646566696E65204255464C454E203236360A09766F6964206C6F6F7028290A097B0A09092F2F2070726F6365737320616E792063616C6C6261636B7320636F6D696E672066726F6D206573705F6C696E6B0A09096573702E50726F6365737328293B0A09092F2F20436865636B2069662077652072656365697665642061207061636B6574206F7220696620746865206C6173742073656E642072657175657374206861732066696E69736865640A09096368617220726573706F6E73655B4255464C454E5D3B0A09096D656D73657428726573706F6E73652C20302C204255464C454E293B0A090975696E74385F7420726573705F747970653B0A090975696E74385F7420636C69656E745F6E756D3B0A090975696E7431365F74206C656E203D20736F636B65742E676574526573706F6E73652826726573705F747970652C2026636C69656E745F6E756D2C20726573706F6E73652C204255464C454E293B0A0909696620286C656E20213D2030290A09097B0A09090969662028726573705F74797065203D3D205553455243425F53454E54290A0909097B0A0909090953657269616C2E7072696E746C6E282253656E7420222B537472696E67286C656E292B2220627974657322293B0A0909097D0A090909656C73650A0909097B0A0909090953657269616C2E7072696E7428225265636569766564207061636B65743A2022293B0A09090909666F722028696E7420693D303B20693C6C656E3B20692B2B290A090909097B0A090909090953657269616C2E7072696E7428726573706F6E73655B695D293B0A090909097D0A0909090953657269616C2E7072696E746C6E282222293B0A0909097D0A09097D0A097D0A40656E64636F64650A2A2F0A75696E7431365F7420454C436C69656E74536F636B65743A3A676574526573706F6E73652875696E74385F74202A726573705F747970652C2075696E74385F74202A636C69656E745F6E756D2C20636861722A20646174612C2075696E7431365F74206D61784C656E290A7B0A09696620285F737461747573203D3D2030292072657475726E20303B0A096D656D63707928646174612C205F646174612C205F6C656E3E6D61784C656E3F6D61784C656E3A5F6C656E293B0A092A726573705F74797065203D205F726573705F747970653B0A092A636C69656E745F6E756D203D205F636C69656E745F6E756D3B0A095F737461747573203D20303B0A0972657475726E205F6C656E3B0A7D0A0A2F2A212077616974526573706F6E73652875696E74385F74202A726573705F747970652C2075696E74385F74202A636C69656E745F6E756D2C20636861722A20646174612C2075696E7431365F74206D61784C656E2C2075696E7433325F742074696D656F7574290A406272696566205761697420666F722074686520726573706F6E73650A4064657461696C7320436865636B73206966206120726573706F6E73652066726F6D207468652072656D6F74652073657276657220686173206172726976656420666F72203C636F64653E74696D656F75743C2F636F64653E207365636F6E64732C0A0972657475726E7320746865206E756D626572206F662073656E64206F722072656365697665642062797465732C0A0930206966206E6F20726573706F6E736520286D6179206E65656420746F2077616974206C6F6E676572290A407761726E696E6720426C6F636B73207468652041726475696E6F20636F646520666F722035207365636F6E647321206E6F74207265636F6D6D656E64656420746F207573652E205573652063616C6C6261636B2066756E6374696F6E20696E7374656164210A095265636569766564207061636B6574206973204E4F54206E756C6C2D7465726D696E617465640A40706172616D20726573705F747970650A09506F696E74657220746F20726573706F6E736520747970652E204973205553455243425F53454E54206966207061636B6574207761732073656E74206F72205553455243425F524543562069662061207061636B6574207761732072656365697665642E0A40706172616D20636C69656E745F6E756D0A09506F696E74657220746F20636F6E6E656374696F6E206E756D6265722E2043616E206265207573656420746F2064697374696E6775697368206265747765656E20646966666572656E7420736F636B657420636C69656E74732E0A40706172616D20646174610A09506F696E74657220746F2062756666657220666F72207265636569766564207061636B65740A40706172616D206D61784C656E0A0953697A65206F662062756666657220666F72207265636569766564207061636B65742E20496620746865207265636569766564207061636B6574206973206C6172676572207468616E20746865206275666665722C20746865207265636569766564207061636B65742077696C6C206265207472756E63617465642E0A40706172616D2074696D656F75740A09286F7074696F6E616C292054696D6F757420696E206D696C6C69207365636F6E647320746F207761697420666F72206120726573706F6E73652C2064656661756C747320746F20353030306D730A4072657475726E203C636F64653E75696E7431365F743C2F636F64653E0A0953697A65206F66207265636569766564207061636B6574206F72206E756D626572206F662073656E74206279746573206F722030206966206E6F20726573706F6E73650A40706172204578616D706C650A40636F64650A0923646566696E65204255464C454E203236360A09626F6F6C206861766552656D6F7465526573706F6E7365203D20747275653B0A09766F6964206C6F6F7028290A097B0A09092F2F2070726F6365737320616E792063616C6C6261636B7320636F6D696E672066726F6D206573705F6C696E6B0A09096573702E50726F6365737328293B0A0909696620286861766552656D6F7465526573706F6E736529202F2F204966206C617374207061636B6574207761732073656E742C2073656E642061206E6577206F6E650A09097B0A09090953657269616C2E7072696E746C6E282253656E64696E67204A534F4E20617272617920746F205443502073657276657222293B0A0909096368617220736F636B65745061636B6574203D20227B22646576696365223A2273706D222C2273223A3632322E30322C2263223A2D3136352E38367D220A090909736F636B65742E73656E6428736F636B65745061636B65742C203339293B0A0909096861766552656D6F7465526573706F6E7365203D2066616C73653B0A09097D0A09092F2F20436865636B2069662077652072656365697665642061207061636B6574206F7220696620746865206C6173742073656E642072657175657374206861732066696E69736865640A09096368617220726573706F6E73655B4255464C454E5D3B0A09096D656D73657428726573706F6E73652C20302C204255464C454E293B0A090975696E74385F7420726573705F747970653B0A090975696E74385F7420636C69656E745F6E756D3B0A090975696E7431365F74206C656E203D20736F636B65742E77616974526573706F6E73652826726573705F747970652C2026636C69656E745F6E756D2C20726573706F6E73652C204255464C454E293B0A0909696620286C656E20213D2030290A09097B0A09090969662028726573705F74797065203D3D205553455243425F53454E54290A0909097B0A0909090953657269616C2E7072696E746C6E282253656E7420222B537472696E67286C656E292B2220627974657322293B0A0909097D0A090909656C73650A0909097B0A0909090953657269616C2E7072696E7428225265636569766564207061636B65743A2022293B0A09090909666F722028696E7420693D303B20693C6C656E3B20692B2B290A090909097B0A090909090953657269616C2E7072696E7428726573706F6E73655B695D293B0A090909097D0A0909090953657269616C2E7072696E746C6E282222293B0A090909096861766552656D6F7465526573706F6E7365203D20747275653B0A0909097D0A09097D0A097D0A40656E64636F64650A2A2F0A75696E7431365F7420454C436C69656E74536F636B65743A3A77616974526573706F6E73652875696E74385F74202A726573705F747970652C2075696E74385F74202A636C69656E745F6E756D2C20636861722A20646174612C2075696E7431365F74206D61784C656E2C2075696E7433325F742074696D656F7574290A7B0A0975696E7433325F742077616974203D206D696C6C697328293B0A097768696C6520285F737461747573203D3D203029207B0A090969662028206D696C6C69732829202D2077616974203C2074696D656F7574290A09097B0A0909095F656C632D3E50726F6365737328293B0A09097D20656C7365207B0A09090972657475726E202D333B0A09097D0A097D0A0972657475726E20676574526573706F6E736528726573705F747970652C20636C69656E745F6E756D2C20646174612C206D61784C656E293B0A7D0A .cpp ELClientSocket 2F2A21205C66696C6520454C436C69656E74536F636B65742E680A095C627269656620446566696E6974696F6E7320666F7220454C436C69656E74536F636B65740A095C617574686F72204265654765650A095C76657273696F6E20312E300A095C6461746520323031360A095C636F7079726967687420474E55205075626C6963204C6963656E73652E0A095C7761726E696E67204E65656473204553502D4C494E4B2056322E340A2A2F0A0A2369666E646566205F454C5F434C49454E545F534F434B45545F485F0A23646566696E65205F454C5F434C49454E545F534F434B45545F485F0A0A23696E636C756465203C41726475696E6F2E683E0A23696E636C756465202246502E68220A23696E636C7564652022454C436C69656E742E68220A0A23646566696E652044454641554C545F534F434B45545F54494D454F55540935303030202F2A2A3C2044656661756C742074696D656F757420666F7220534F434B4554207265717565737473207768656E2077616974696E6720666F72206120726573706F6E7365202A2F0A0A23646566696E65205553455243425F53454E542030202F2A2A3C2054797065206F662063616C6C6261636B2066726F6D20454C436C69656E742E20534F434B4554207061636B657420686173206265656E2073656E74202A2F0A23646566696E65205553455243425F524543562031202F2A2A3C2054797065206F662063616C6C6261636B2066726F6D20454C436C69656E742E20534F434B4554207061636B657420686173206265656E207265636569766564202A2F0A23646566696E65205553455243425F5245434F2032202F2A2A3C2054797065206F662063616C6C6261636B2066726F6D20454C436C69656E742E20534F434B455420636F6E6E656374696F6E206572726F72202A2F0A23646566696E65205553455243425F434F4E4E2033202F2A2A3C2054797065206F662063616C6C6261636B2066726F6D20454C436C69656E742E20534F434B455420736F636B657420636F6E6E6563746564206F7220646973636F6E6E6563746564202A2F0A0A2F2F20536F636B6574206D6F646520646566696E6974696F6E730A23646566696E6520534F434B45545F5443505F434C49454E542030202F2A2A3C2054435020736F636B657420636C69656E7420666F722073656E64696E67206F6E6C792C20646F65736E2774207761697420666F7220726573706F6E73652066726F6D20736572766572202A2F0A23646566696E6520534F434B45545F5443505F434C49454E545F4C495354454E2031202F2A2A3C2054435020736F636B657420636C69656E742C20776169747320666F7220726573706F6E73652066726F6D207365727665722061667465722073656E64696E67202A2F0A23646566696E6520534F434B45545F5443505F5345525645522032202F2A2A3C2054435020736F636B657420736572766572202A2F0A23646566696E6520534F434B45545F5544502033202F2A2A3C2055445020736F636B657420666F722073656E64696E6720616E6420726563656976696E6720554450207061636B657473202A2F0A090A2F2F20456E61626C652F64697361626C65206465627567206F75747075742E20496620646566696E656420656E61626C657320746865206465627567206F7574707574206F6E2053657269616C20706F72740A2F2F23646566696E652044454255475F454E202F2A2A3C20456E61626C652F64697361626C65206465627567206F7574707574202A2F0A0A2F2F2054686520454C436C69656E74536F636B657420636C6173732073656E64732064617461206F76657220612073696D706C6520536F636B657420636F6E6E656374696F6E20746F20612072656D6F7465207365727665722E204561636820696E7374616E63650A2F2F206973207573656420746F20636F6D6D756E69636174652077697468206F6E652073657276657220616E64206D756C7469706C6520696E7374616E6365732063616E206265206372656174656420746F2073656E640A2F2F20746F206D756C7469706C6520736572766572732E0A2F2F2054686520454C436C69656E74536F636B657420636C61737320646F6573206E6F7420737570706F727420636F6E63757272656E7420726571756573747320746F207468652073616D652073657276657220626563617573650A2F2F206F6E6C7920612073696E676C6520726573706F6E73652063616E20626520726563657669656420617420612074696D6520616E642074686520726573706F6E736573206F66207468652074776F2072657175657374730A2F2F206D617920617272697665206F7574206F66206F726465722E0A2F2F2041206D616A6F72206C696D69746174696F6E206F662074686520536F636B657420636C617373206973207468617420697420646F6573206E6F74207761697420666F722074686520726573706F6E736520646174612E200A636C61737320454C436C69656E74536F636B6574207B0A097075626C69633A0A0909454C436C69656E74536F636B657428454C436C69656E74202A65293B0A0A09092F2F20496E697469616C697A6520636F6D6D756E69636174696F6E20746F20612072656D6F7465207365727665722C207468697320636F6D6D756E6963617465732077697468206573702D6C696E6B2062757420646F6573206E6F740A09092F2F206F70656E206120636F6E6E656374696F6E20746F207468652072656D6F7465207365727665722E20486F7374206D6179206265206120686F73746E616D65206F7220616E20495020616464726573732E0A09092F2F20506F7274206E6565647320746F20626520646566696E656420646966666572656E742066726F6D20757375616C20485454502F48545450532F4654502F53534820706F7274730A09092F2F20736F636B5F6D6F646520646566696E657320776865746865722074686520736F636B657420616374206173206120636C69656E74202877697468206F7220776974686F757420726563656976657229206F722061732061207365727665720A09092F2F2052657475726E73203020696620746865207365742D75702069730A09092F2F207375636365737366756C2C2072657475726E732061206E65676174697665206572726F7220636F6465206966206974206661696C65642E0A09092F2F204F7074696F6E616C206120706F696E74657220746F20612063616C6C6261636B2066756E6374696F6E2062652061646465642E205468652063616C6C6261636B2066756E6374696F6E2077696C6C2062652063616C6C656420616674657220646174612069732073656E74206F75742C200A09092F2F206166746572206461746120776173207265636569766564206F72207768656E20616E206572726F72206F6363757265642E20536565206578616D706C6520636F646520706F727420686F7720746F207573652069742E0A0909696E7420626567696E28636F6E737420636861722A20686F73742C2075696E7431365F7420706F72742C2075696E74385F7420736F636B5F6D6F64652C20766F696420282A757365724362292875696E74385F7420726573705F747970652C2075696E74385F7420636C69656E745F6E756D2C2075696E7431365F74206C656E2C2063686172202A64617461293D30293B0A0A09092F2F2053656E64206461746120746F207468652072656D6F7465207365727665722E205468652064617461206D757374206265206E756C6C2D7465726D696E617465640A0909766F69642073656E6428636F6E737420636861722A2064617461293B0A0A09092F2F2053656E64206461746120746F207468652072656D6F7465207365727665722E0A0909766F69642073656E6428636F6E737420636861722A20646174612C20696E74206C656E293B0A0A09092F2F2052657472696576652074686520726573706F6E73652066726F6D207468652072656D6F7465207365727665722C2072657475726E7320746865206E756D626572206F662073656E64206F722072656365697665642062797465732C2030206966206E6F0A09092F2F20726573706F6E736520286D6179206E65656420746F2077616974206C6F6E676572290A09092F2F202121212055445020646F65736E277420636865636B20696620746865206461746120776173207265636569766564206F72206966207468652072656365697665722049502F736F636B657420697320617661696C61626C652021212120596F75206E65656420746F20696D706C656D656E7420796F7572206F776E0A09092F2F206572726F7220636F6E74726F6C210A090975696E7431365F7420676574526573706F6E73652875696E74385F74202A726573705F747970652C2075696E74385F74202A636C69656E745F6E756D2C20636861722A20646174612C2075696E7431365F74206D61784C656E293B0A0A09092F2F205761697420666F722074686520726573706F6E73652066726F6D207468652072656D6F7465207365727665722C2072657475726E7320746865206C656E677468206F662072656365697665642064617461206F722030206966206E6F0A09092F2F20726573706F6E7365202874696D656F7574206F63637572726564290A09092F2F20426C6F636B73207468652041726475696E6F20636F646520666F722035207365636F6E647321206E6F74207265636F6D6D656E64656420746F207573652E2053656520636F6465206578616D706C657320686F7720746F20757365207468652063616C6C6261636B2066756E6374696F6E20696E73746561640A090975696E7431365F742077616974526573706F6E73652875696E74385F74202A726573705F747970652C2075696E74385F74202A636C69656E745F6E756D2C20636861722A20646174612C2075696E7431365F74206D61784C656E2C2075696E7433325F742074696D656F75743D44454641554C545F534F434B45545F54494D454F5554293B0A0A0909696E7433325F742072656D6F74655F696E7374616E63653B202F2A2A3C20436F6E6E656374696F6E206E756D6265722C2076616C75652063616E206265203020746F2033202A2F0A0A09707269766174653A0A0909454C436C69656E74202A5F656C633B202F2A2A3C20454C436C69656E7420696E7374616E6365202A2F0A0909766F696420736F636B657443616C6C6261636B28766F69642A2072657370293B0A090946503C766F69642C20766F69642A3E20736F636B657443623B202F2A2A3C20506F696E74657220746F2065787465726E616C2063616C6C6261636B2066756E6374696F6E202A2F0A0A09092F2A2120766F696420282A205F7573657243616C6C6261636B292875696E74385F7420726573705F747970652C2075696E74385F7420636C69656E745F6E756D2C2075696E7431365F74206C656E2C2063686172202A64617461290A09094062726965662043616C6C6261636B2066756E6374696F6E207768656E20646174612069732073656E74206F722072656365697665640A09094064657461696C7320546869732066756E6374696F6E2069732063616C6C656420627920454C436C69656E74206C696272617279207768656E2061207061636B6574207761732073656E742C2061207061636B657420776173207265636569766564206F7220616E206572726F72206F6363757265640A0909095468652066756E6374696F6E206973207573657220737065636966696320616E64207468657265666F7220696E636C7564656420696E207468652070726F6772616D20636F64652C206E6F7420696E20746865206C6962726172790A090909546869732066756E6374696F6E20646F6573206E6F7420626C6F636B207468652041726475696E6F20636F646520657865637574696F6E0A090940706172616D20726573705F747970650A090909526573706F6E736520747970652E204973205553455243425F53454E54206966207061636B6574207761732073656E742C205553455243425F524543562069662061207061636B6574207761732072656365697665642C205553455243425F5245434F206966206120636F6E6E656374696F6E206572726F72206F636375726564206F72205553455243425F434F4E4E206F6E206120636F6E6E656374206F7220646973636F6E6E656374206576656E740A090940706172616D20636C69656E745F6E756D0A090909436F6E6E656374696F6E206E756D6265722E2043616E206265207573656420746F2064697374696E6775697368206265747765656E20646966666572656E742055445020636C69656E74732E0A090940706172616D206C656E0A09090953697A65206F66207265636569766564207061636B6574206F72206E756D626572206F662073656E742062797465732E0A090940706172616D20646174610A090909427566666572207769746820746865207265636569766564207061636B65742E0A0909406E6F74650A0909095468652066756E6374696F6E206973207573657220737065636966696320616E64207468657265666F7220696E636C7564656420696E207468652070726F6772616D20636F64652C206E6F7420696E20746865206C6962726172790A090940706172204578616D706C650A090940636F64650A090909766F696420736F636B657443622875696E74385F7420726573705F747970652C2075696E74385F7420636C69656E745F6E756D2C2075696E7431365F74206C656E2C2063686172202A64617461290A0909097B0A0909090953657269616C2E7072696E746C6E2822736F636B6574436220636F6E6E656374696F6E2023222B537472696E6728636C69656E745F6E756D29293B0A0909090969662028726573705F74797065203D3D205553455243425F53454E54290A090909097B0A090909090953657269616C2E7072696E746C6E28225C7453656E742022202B20537472696E67286C656E29202B2022206279746573206F76657220636C69656E742322202B20537472696E6728636C69656E745F6E756D29293B0A090909097D0A09090909656C73652069662028726573705F74797065203D3D205553455243425F52454356290A090909097B0A0909090909636861722072656376446174615B6C656E2B315D3B202F2F20507265706172652062756666657220666F722074686520726563656976656420646174610A09090909096D656D6370792872656376446174612C20646174612C206C656E293B202F2F20436F7079207265636569766564206461746120696E746F20746865206275666665720A090909090972656376446174615B6C656E5D203D20275C30273B202F2F205465726D696E61746520746865206275666665722077697468203020666F722070726F706572207072696E746F7574210A090909090953657269616C2E7072696E746C6E28225C7452656365697665642022202B20537472696E67286C656E29202B2022206279746573206F7665722074686520736572766572206F6E20636F6E6E656374696F6E202322202B20537472696E6728636C69656E745F6E756D29293B0A090909090953657269616C2E7072696E746C6E28225C7452656365697665643A2022202B20537472696E6728726563764461746129293B0A0909090909636861722072657370446174615B6C656E2B31315D3B202F2F20507265706172652062756666657220666F722074686520726573706F6E736520646174610A090909090963686172202A72657370486472203D202252656365697665643A20223B0A09090909096D656D637079202872657370446174612C20726573704864722C203130293B0A09090909096D656D637079282672657370446174615B31305D2C2072656376446174612C206C656E293B202F2F20436F7079207265636569766564206461746120696E746F20746865206275666665720A090909090972657370446174615B6C656E2B31305D203D20275C30273B0A090909090953657269616C2E7072696E746C6E28225C7453656E6420726573706F6E73653A2022202B20537472696E6728726573704461746129293B0A0909090909736F636B65742E73656E64287265737044617461293B0A090909097D0A09090909656C73652069662028726573705F74797065203D3D205553455243425F5245434F290A090909097B0A090909090953657269616C2E7072696E746C6E2822436F6E6E656374696F6E2070726F626C656D3A20222B537472696E67286C656E29293B0A090909097D0A09090909656C73652069662028726573705F74797065203D3D205553455243425F434F4E4E290A090909097B0A0909090909696620286C656E203D3D2030290A09090909097B0A09090909090953657269616C2E7072696E746C6E28225C74446973636F6E6E656374656422293B0A09090909097D0A0909090909656C73650A09090909097B0A09090909090953657269616C2E7072696E746C6E28225C74436F6E6E656374656422293B0A09090909097D0A090909097D0A09090909656C73650A090909097B0A090909090953657269616C2E7072696E746C6E2822526563656976656420696E76616C696420726573706F6E7365207479706522293B0A090909097D0A0909097D0A090940656E64636F64650A09092A2F0A09097479706564656620766F696420282A205F7573657243616C6C6261636B292875696E74385F7420726573705F747970652C2075696E74385F7420636C69656E745F6E756D2C2075696E7431365F74206C656E2C2063686172202A64617461293B0A09095F7573657243616C6C6261636B205F7573657243623B202F2A2A3C20506F696E74657220746F20696E7465726E616C2063616C6C6261636B2066756E6374696F6E202A2F0A0A0909626F6F6C205F686173557365724362203D2066616C73653B202F2A2A3C20466C616720666F7220757365722063616C6C6261636B2C207472756520696620757365722063616C6C6261636B20686173206265656E20736574202A2F0A0909696E7431365F74205F7374617475733B202F2A2A3C20436F6E6E656374696F6E20737461747573202A2F0A090975696E7431365F74205F6C656E3B202F2A2A3C204E756D626572206F662073656E742F7265636569766564206279746573202A2F0A090963686172202A5F646174613B202F2A2A3C2042756666657220666F722072656365697665642064617461202A2F0A090975696E74385F74205F726573705F747970653B202F2A2A3C20526573706F6E736520747970653A2030203D2073656E642C2031203D20726563656976653B2032203D20726573657420636F6E6E656374696F6E2C2033203D20636F6E6E656374696F6E202A2F0A090975696E74385F74205F636C69656E745F6E756D3B202F2A2A3C20436F6E6E656374696F6E206E756D6265722C2076616C75652063616E206265203020746F2033202A2F0A7D3B0A23656E646966202F2F205F454C5F434C49454E545F534F434B45545F485F0A .h ELClientWebServer 2F2A21205C66696C6520454C436C69656E745765625365727665722E6370700A202020205C627269656620436F6E7374727563746F7220616E642066756E6374696F6E7320666F7220454C436C69656E745765625365727665720A2A2F0A23696E636C7564652022454C436C69656E745765625365727665722E68220A0A7479706564656620656E756D207B0A202057535F4C4F41443D302C20202F2F2070616765206669727374206C6F61640A202057535F524546524553482C202F2F207061676520726566726573680A202057535F425554544F4E2C20202F2F20627574746F6E2070726573730A202057535F5355424D49542C20202F2F20666F726D207375626D697373696F6E0A7D2052657175657374526561736F6E3B0A0A7479706564656620656E756D0A7B0A20205745425F535452494E473D302C20202F2F2076616C7565207479706520737472696E670A20205745425F4E554C4C2C2020202020202F2F2076616C75652074797065206E756C6C0A20205745425F494E54454745522C2020202F2F2076616C7565207479706520696E74656765720A20205745425F424F4F4C45414E2C2020202F2F2076616C7565207479706520626F6F6C65616E0A20205745425F464C4F41542C20202020202F2F2076616C7565207479706520666C6F61740A20205745425F4A534F4E202020202020202F2F2076616C75652074797065206A736F6E0A7D2057656256616C7565547970653B0A0A0A454C436C69656E74576562536572766572202A20454C436C69656E745765625365727665723A3A696E7374616E6365203D20303B0A0A0A2F2A2120454C436C69656E7457656253657276657228454C436C69656E742A20656C436C69656E74290A40627269656620437265617465732061205765622D53657276657220696E7374616E63652E0A4064657461696C732054686973206D6574686F6420637265617465732061207765622D736572766572206F626A6563742E0A40706172616D20656C436C69656E740A20205265666572656E636520746F20454C436C69656E74206F626A6563742E0A40706172204578616D706C6520636F64650A40636F64650A20202F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F72740A20202F2F2044454255472069732064697361626C65642062656361757365206F6620706572666F726D616E636520726561736F6E730A2020454C436C69656E7420657370282653657269616C293B0A0A20202F2F20496E697469616C697A6520746865205765622D53657276657220636C69656E740A2020454C436C69656E74576562536572766572207765625365727665722826657370293B0A40656E64636F64650A2A2F0A0A454C436C69656E745765625365727665723A3A454C436C69656E7457656253657276657228454C436C69656E742A20656C6329203A5F656C6328656C63292C68616E646C6572732830292C206172675F707472283029207B0A20202F2F2073617665207468652063757272656E74207061636B65742068616E646C657220616E642072656769737465722061206E6577206F6E650A2020696E7374616E6365203D20746869733B0A0A202077656253657276657243622E6174746163682826454C436C69656E745765625365727665723A3A7765625365727665725061636B657448616E646C6572293B0A7D0A0A2F2F207061636B65742068616E646C657220666F72207765622D7365727665720A766F696420454C436C69656E745765625365727665723A3A7765625365727665725061636B657448616E646C657228766F6964202A20726573706F6E7365290A7B0A2020454C436C69656E745765625365727665723A3A676574496E7374616E636528292D3E70726F63657373526573706F6E73652828454C436C69656E74526573706F6E73652A29726573706F6E7365293B0A7D0A0A0A2F2A212063726561746555524C48616E646C657228636F6E73742063686172202A2055524C290A406272696566204372656174657320616E642072656769737465727320616E2055524C2068616E646C65722E0A4064657461696C732054686973206D6574686F6420697320726573706F6E7369626C6520666F72206372656174696E6720616E64207265676973746572696E6720616E2055524C2068616E646C6572206F626A6563742E0A40706172616D2055524C0A20205468652055524C207468652068616E646C65722068616E646C65732E2055524C20697320222F22202B207468652048544D4C2066696C65206E616D65202B20222E6A736F6E222E0A4072657475726E730A202054686520637265617465642055524C48616E646C6572206F626A6563742E0A40706172204578616D706C6520636F64650A40636F64650A2020766F6964206D794C6F616443622863686172202A2075726C29207B0A202020202E2E2E0A20207D0A0A2020766F6964206D795265667265736843622863686172202A2075726C29207B0A202020202E2E2E0A20207D0A0A2020766F6964206D79427574746F6E507265737343622863686172202A20627574746F6E5F696429207B0A202020202E2E2E0A20207D0A0A2020766F6964206D795365744669656C6443622863686172202A206669656C645F696429207B0A202020202E2E2E0A20207D0A0A2020766F696420736574757028290A20207B0A202020202E2E2E0A2020202055524C48616E646C6572202A68616E646C6572203D207765625365727665722E63726561746555524C48616E646C657228222F6D79706167652E68746D6C2E6A736F6E22293B0A2020202068616E646C65722D3E6C6F616443622E61747461636828266D794C6F61644362293B0A2020202068616E646C65722D3E7265667265736843622E61747461636828266D79526566726573684362293B0A2020202068616E646C65722D3E627574746F6E43622E61747461636828266D79427574746F6E50726573734362293B0A2020202068616E646C65722D3E7365744669656C6443622E61747461636828266D795365744669656C644362293B0A202020202E2E2E0A20207D0A40656E64636F64650A2A2F0A0A55524C48616E646C6572202A20454C436C69656E745765625365727665723A3A63726561746555524C48616E646C657228636F6E73742063686172202A2055524C290A7B0A2020537472696E672073203D2055524C3B0A202072657475726E2063726561746555524C48616E646C65722873293B0A7D0A0A0A2F2A212063726561746555524C48616E646C657228636F6E7374205F5F466C617368537472696E6748656C706572202A2055524C290A406272696566204372656174657320616E642072656769737465727320616E2055524C2068616E646C65722E0A4064657461696C732054686973206D6574686F6420697320726573706F6E7369626C6520666F72206372656174696E6720616E64207265676973746572696E6720616E2055524C2068616E646C6572206F626A6563742E0A40706172616D2055524C0A20205468652055524C207468652068616E646C65722068616E646C65732E2055524C20697320222F22202B207468652048544D4C2066696C65206E616D65202B20222E6A736F6E222E0A4072657475726E730A202054686520637265617465642055524C48616E646C6572206F626A6563742E0A40706172204578616D706C6520636F64650A40636F64650A2020766F6964206D794C6F616443622863686172202A2075726C29207B0A202020202E2E2E0A20207D0A0A2020766F6964206D795265667265736843622863686172202A2075726C29207B0A202020202E2E2E0A20207D0A0A2020766F6964206D79427574746F6E507265737343622863686172202A20627574746F6E5F696429207B0A202020202E2E2E0A20207D0A0A2020766F6964206D795365744669656C6443622863686172202A206669656C645F696429207B0A202020202E2E2E0A20207D0A0A2020766F696420736574757028290A20207B0A202020202E2E2E0A2020202055524C48616E646C6572202A68616E646C6572203D207765625365727665722E63726561746555524C48616E646C6572284628222F6D79706167652E68746D6C2E6A736F6E2229293B0A2020202068616E646C65722D3E6C6F616443622E61747461636828266D794C6F61644362293B0A2020202068616E646C65722D3E7265667265736843622E61747461636828266D79526566726573684362293B0A2020202068616E646C65722D3E627574746F6E43622E61747461636828266D79427574746F6E50726573734362293B0A2020202068616E646C65722D3E7365744669656C6443622E61747461636828266D795365744669656C644362293B0A202020202E2E2E0A20207D0A40656E64636F64650A2A2F0A0A55524C48616E646C6572202A20454C436C69656E745765625365727665723A3A63726561746555524C48616E646C657228636F6E7374205F5F466C617368537472696E6748656C706572202A2055524C290A7B0A2020537472696E672073203D2055524C3B0A202072657475726E2063726561746555524C48616E646C65722873293B0A7D0A0A0A2F2A212063726561746555524C48616E646C657228636F6E737420537472696E67202655524C290A406272696566204372656174657320616E642072656769737465727320616E2055524C2068616E646C65722E0A4064657461696C732054686973206D6574686F6420697320726573706F6E7369626C6520666F72206372656174696E6720616E64207265676973746572696E6720616E2055524C2068616E646C6572206F626A6563742E0A40706172616D2055524C0A20205468652055524C207468652068616E646C65722068616E646C65732E2055524C20697320222F22202B207468652048544D4C2066696C65206E616D65202B20222E6A736F6E222E0A4072657475726E730A202054686520637265617465642055524C48616E646C6572206F626A6563742E0A40706172204578616D706C6520636F64650A40636F64650A2020766F6964206D794C6F616443622863686172202A2075726C29207B0A202020202E2E2E0A20207D0A0A2020766F6964206D795265667265736843622863686172202A2075726C29207B0A202020202E2E2E0A20207D0A0A2020766F6964206D79427574746F6E507265737343622863686172202A20627574746F6E5F696429207B0A202020202E2E2E0A20207D0A0A2020766F6964206D795365744669656C6443622863686172202A206669656C645F696429207B0A202020202E2E2E0A20207D0A0A2020766F696420736574757028290A20207B0A202020202E2E2E0A20202020537472696E672075726C203D204628222F6D79706167652E68746D6C2E6A736F6E22293B0A2020202055524C48616E646C6572202A68616E646C6572203D207765625365727665722E63726561746555524C48616E646C65722875726C293B0A2020202068616E646C65722D3E6C6F616443622E61747461636828266D794C6F61644362293B0A2020202068616E646C65722D3E7265667265736843622E61747461636828266D79526566726573684362293B0A2020202068616E646C65722D3E627574746F6E43622E61747461636828266D79427574746F6E50726573734362293B0A2020202068616E646C65722D3E7365744669656C6443622E61747461636828266D795365744669656C644362293B0A202020202E2E2E0A20207D0A40656E64636F64650A2A2F0A0A55524C48616E646C6572202A20454C436C69656E745765625365727665723A3A63726561746555524C48616E646C657228636F6E737420537472696E67202655524C290A7B0A20207374727563742055524C5F48414E444C4552202A20686E64203D206E6577207374727563742055524C5F48414E444C455228293B202F2F20226E6577222069732075736564206865726520696E7374656164206F66206D616C6C6F6320746F2063616C6C20537472696E672064657374727563746F722061742066726565696E672E20444F6E277420757365206D616C6C6F632F667265652E0A2020686E642D3E55524C203D2055524C3B202020202020202020202020202F2F2068616E646C65722055524C0A2020686E642D3E6E657874203D2068616E646C6572733B202020202020202F2F206E6578742068616E646C65720A202068616E646C657273203D20686E643B202020202020202020202020202F2F206368616E6765207468652066697273742068616E646C65720A202072657475726E20686E643B0A7D0A0A0A2F2A212064657374726F7955524C48616E646C65722855524C48616E646C6572202A2068616E646C6572290A40627269656620556E72656769737465727320616E2064657374726F797320616E2055524C2068616E646C65722E0A4064657461696C732054686973206D6574686F6420697320726573706F6E7369626C652064657374726F79696E6720616E2055524C2068616E646C6572206F626A6563742E0A40706172616D2068616E646C65720A20205468652068616E646C657220746F2064657374726F792E0A40706172204578616D706C6520636F64650A40636F64650A202055524C48616E646C6572202A68616E646C6572203D202E2E2E0A0A202064657374726F7955524C48616E646C65722868616E646C6572293B0A40656E64636F64650A2A2F0A0A766F696420454C436C69656E745765625365727665723A3A64657374726F7955524C48616E646C65722855524C48616E646C6572202A2068616E646C6572290A7B0A20207374727563742055524C5F48414E444C4552202A70726576203D20303B0A20207374727563742055524C5F48414E444C4552202A686E64203D2068616E646C6572733B0A20207768696C652820686E6420213D203020290A20207B0A2020202069662820686E64203D3D2068616E646C657220290A202020207B0A2020202020206966282070726576203D3D203020290A202020202020202068616E646C657273203D20686E642D3E6E6578743B0A202020202020656C73650A2020202020202020707265762D3E6E657874203D20686E642D3E6E6578743B0A0A20202020202064656C65746520686E643B0A20202020202072657475726E3B0A202020207D0A2020202070726576203D20686E643B0A20202020686E64203D20686E642D3E6E6578743B0A20207D0A7D0A0A0A2F2A2120736574757028290A40627269656620496E697469616C697A6573207765622D7365727665722E0A4064657461696C7320496E697469616C697A6174696F6E206D65616E7320746F2073756273637269626520746F205765622D5365727665722063616C6C6261636B206F66204573702D4C696E6B2E0A40706172204578616D706C6520636F64650A40636F64650A2020766F6964207265736574436228766F696429207B0A2020202053657269616C2E7072696E746C6E2822454C2D436C69656E74202872652D297374617274696E672122293B0A20202020626F6F6C206F6B203D2066616C73653B0A20202020646F207B0A2020202020206F6B203D206573702E53796E6328293B2020202020202F2F2073796E632075702077697468206573702D6C696E6B2C20626C6F636B7320666F7220757020746F2032207365636F6E64730A20202020202069662028216F6B292053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E63206661696C65642122293B0A202020207D207768696C6528216F6B293B0A2020202053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E6365642122293B0A0A202020207765625365727665722E736574757028293B0A20207D0A0A2020766F696420736574757028290A20207B0A2020202053657269616C2E626567696E28313135323030293B0A0A2020202055524C48616E646C6572202A68616E646C6572203D207765625365727665722E63726561746555524C48616E646C6572284628222F6D79706167652E68746D6C2E6A736F6E2229293B0A2020202068616E646C65722D3E6C6F616443622E61747461636828266D794C6F61644362293B0A2020202068616E646C65722D3E7265667265736843622E61747461636828266D79526566726573684362293B0A2020202068616E646C65722D3E627574746F6E43622E61747461636828266D79427574746F6E50726573734362293B0A2020202068616E646C65722D3E7365744669656C6443622E61747461636828266D795365744669656C644362293B0A0A202020206573702E72657365744362203D20726573657443623B0A202020207265736574436228293B0A20207D0A40656E64636F64650A2A2F0A0A766F696420454C436C69656E745765625365727665723A3A736574757028290A7B0A20202F2F2057656253657276657220646F65736E27742073656E64206D6573736167657320746F204D4355206F6E6C792069662061736B65640A20202F2F207265676973746572206865726520746F20746865207765622063616C6C6261636B0A20202F2F20706572696F646963207265726567697374726174696F6E20697320726571756972656420696E2063617365206F6620455350383236362072657365740A20205F656C632D3E5265717565737428434D445F5745425F53455455502C20302C2031293B0A202075696E7433325F74206362203D202875696E7433325F74292677656253657276657243623B0A20205F656C632D3E52657175657374282663622C2034293B0A20205F656C632D3E5265717565737428293B0A7D0A0A766F696420454C436C69656E745765625365727665723A3A70726F63657373526573706F6E736528454C436C69656E74526573706F6E7365202A726573706F6E7365290A7B0A202075696E7431365F7420736872743B0A2020726573706F6E73652D3E706F704172672826736872742C2032293B0A202052657175657374526561736F6E20726561736F6E203D202852657175657374526561736F6E29736872743B202F2F207265717565737420726561736F6E0A0A2020726573706F6E73652D3E706F704172672872656D6F74655F69702C2034293B202020202F2F2072656D6F746520495020616464726573730A2020726573706F6E73652D3E706F70417267282672656D6F74655F706F72742C2032293B202F2F2072656D6F746520706F72740A0A202063686172202A2075726C3B0A202075696E7431365F742075726C4C656E203D20726573706F6E73652D3E706F704172675074722828766F69642A2A292675726C293B0A0A20207374727563742055524C5F48414E444C4552202A686E64203D2068616E646C6572733B0A20207768696C652820686E6420213D203020290A20207B0A2020202069662820686E642D3E55524C2E6C656E6774682829203D3D2075726C4C656E202626206D656D636D70282075726C2C20686E642D3E55524C2E635F73747228292C2075726C4C656E2029203D3D203020290A202020202020627265616B3B0A20202020686E64203D20686E642D3E6E6578743B0A20207D0A0A202069662820686E64203D3D20302029202F2F206E6F2068616E646C657220666F756E6420666F72207468652055524C0A20207B0A20202020696628205F656C632D3E5F6465627567456E20290A202020207B0A2020202020205F656C632D3E5F64656275672D3E7072696E742846282248616E646C6572206E6F7420666F756E6420666F722055524C3A2229293B0A0A202020202020666F722875696E7431365F7420693D303B2069203C2075726C4C656E3B20692B2B290A20202020202020205F656C632D3E5F64656275672D3E7072696E74282075726C5B695D20293B0A2020202020205F656C632D3E5F64656275672D3E7072696E746C6E28293B0A202020207D0A2020202072657475726E3B0A20207D0A0A202073776974636828726561736F6E290A20207B0A20202020636173652057535F425554544F4E3A202F2F20696E766F6B6564207768656E206120627574746F6E20707265737365640A2020202020207B0A202020202020202063686172202A2069645074723B0A2020202020202020696E742069644C656E203D20726573706F6E73652D3E706F704172675074722828766F69642A2A29266964507472293B0A0A20202020202020202F2F20616464207465726D696E6174696E6720300A2020202020202020636861722069645B69644C656E2B315D3B0A20202020202020206D656D6370792869642C2069645074722C2069644C656E293B0A202020202020202069645B69644C656E5D203D20303B0A0A2020202020202020686E642D3E627574746F6E4362286964293B0A2020202020207D0A202020202020627265616B3B0A20202020636173652057535F5355424D49543A202F2F20696E766F6B6564207768656E206120666F726D207375626D69747465640A2020202020207B0A202020202020202075696E7431365F7420636E74203D20343B0A0A20202020202020207768696C652820636E74203C20726573706F6E73652D3E61726763282920290A20202020202020207B0A2020202020202020202063686172202A2069645074723B0A20202020202020202020696E742069644C656E203D20726573706F6E73652D3E706F704172675074722828766F69642A2A29266964507472293B0A20202020202020202020696E74206E616D654C656E203D207374726C656E2869645074722B31293B0A20202020202020202020696E742076616C75654C656E203D2069644C656E202D206E616D654C656E202D323B0A0A202020202020202020202F2F20616464207465726D696E6174696E6720300A202020202020202020206172675F707472203D202863686172202A296D616C6C6F632876616C75654C656E2B31293B0A202020202020202020206172675F7074725B76616C75654C656E5D203D20303B0A202020202020202020206D656D637079286172675F7074722C206964507472202B2032202B206E616D654C656E2C2076616C75654C656E293B0A0A20202020202020202020686E642D3E7365744669656C6443622869645074722B31293B0A0A2020202020202020202066726565286172675F707472293B0A202020202020202020206172675F707472203D20303B0A20202020202020202020636E742B2B3B0A20202020202020207D0A2020202020207D0A20202020202072657475726E3B0A20202020636173652057535F4C4F41443A202F2F20696E766F6B65642061742072656672657368202F206C6F61640A20202020636173652057535F524546524553483A0A202020202020627265616B3B0A2020202064656661756C743A0A20202020202072657475726E3B0A20207D0A0A20202F2F2074686520726573706F6E73652069732067656E6572617465642068657265207769746820746865206669656C647320746F20726566726573680A0A20205F656C632D3E5265717565737428434D445F5745425F444154412C203130302C205641524941424C455F4152475F4E554D293B0A20205F656C632D3E526571756573742872656D6F74655F69702C2034293B2020202020202020202020202020202F2F2073656E642072656D6F746520495020616464726573730A20205F656C632D3E52657175657374282875696E74385F74202A292672656D6F74655F706F72742C2032293B202F2F2073656E642072656D6F746520706F72740A0A202069662820726561736F6E203D3D2057535F4C4F414420290A20202020686E642D3E6C6F61644362282028636861722A29686E642D3E55524C2E635F737472282920293B0A2020656C73650A20202020686E642D3E726566726573684362282028636861722A29686E642D3E55524C2E635F737472282920293B0A0A20205F656C632D3E52657175657374282875696E74385F74202A294E554C4C2C2030293B2020202020202020202F2F20656E6420696E64696361746F720A20205F656C632D3E5265717565737428293B2020202020202020202020202020202020202020202020202020202F2F2066696E697368207061636B65740A7D0A0A2F2A21207365744172674A736F6E28636F6E73742063686172202A206E616D652C20636F6E73742063686172202A2076616C7565290A4062726965662053657473204A534F4E2076616C7565206F662061206669656C640A4064657461696C732053657473204A534F4E2076616C756520746F20646973706C617920616E2048544D4C206669656C6420286C6973742C207461626C65292E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C640A40706172616D2076616C75650A20204A534F4E2076616C75650A4070617220537570706F727465642048544D4C20636F6E74726F6C730A406C692020554C0A406C6920204F4C0A406C6920205441424C450A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C65204C6973742048544D4C0A40636F64650A20203C554C2069643D226C697374222F3E0A40656E64636F64650A40706172204578616D706C65204C69737420636F64650A40636F64650A2020766F69642072656672657368436228636F6E73742063686172202A2075726C290A20207B0A202020207765625365727665722E7365744172674A736F6E2820226C697374222C20225B5C22415C222C5C22425C222C5C22435C225D2220293B0A20207D0A40656E64636F64650A40706172204578616D706C65205461626C652048544D4C0A40636F64650A20203C5441424C452069643D227461626C65222F3E0A40656E64636F64650A40706172204578616D706C65205461626C6520636F64650A40636F64650A2020766F69642072656672657368436228636F6E73742063686172202A2075726C290A20207B0A202020207765625365727665722E7365744172674A736F6E2820227461626C65222C20225B5B5C22415C222C5C22425C225D2C5B5C22315C222C5C22325C225D5D2220293B0A20207D0A40656E64636F64650A2A2F0A766F696420454C436C69656E745765625365727665723A3A7365744172674A736F6E28636F6E73742063686172202A206E616D652C20636F6E73742063686172202A2076616C7565290A7B0A202075696E74385F74206E6C656E203D207374726C656E286E616D65293B0A202075696E74385F7420766C656E203D207374726C656E2876616C7565293B0A202063686172206275665B6E6C656E2B766C656E2B335D3B0A20206275665B305D203D205745425F4A534F4E3B0A2020737472637079286275662B312C206E616D65293B0A2020737472637079286275662B322B6E6C656E2C2076616C7565293B0A20205F656C632D3E52657175657374286275662C206E6C656E2B766C656E2B32293B0A7D0A0A2F2A21207365744172674A736F6E28636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20636F6E7374205F5F466C617368537472696E6748656C706572202A2076616C7565290A4062726965662053657473204A534F4E2076616C7565206F662061206669656C640A4064657461696C732053657473204A534F4E2076616C756520746F20646973706C617920616E2048544D4C206669656C6420286C6973742C207461626C65292E2049742063616E20667265652075702052414D206D656D6F727920696620737472696E6720636F6E7374616E7473206172652073746F72656420696E20666C61736820696E7374656164206F662052414D2E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C64202873746F72656420696E20666C617368290A40706172616D2076616C75650A20204A534F4E2076616C7565202873746F72656420696E20666C617368290A4070617220537570706F727465642048544D4C20636F6E74726F6C730A406C692020554C0A406C6920204F4C0A406C6920205441424C450A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C65204C6973742048544D4C0A40636F64650A20203C554C2069643D226C697374222F3E0A40656E64636F64650A40706172204578616D706C65204C69737420636F64650A40636F64650A2020766F69642072656672657368436228636F6E73742063686172202A2075726C290A20207B0A202020207765625365727665722E7365744172674A736F6E28204628226C69737422292C204628225B5C22415C222C5C22425C222C5C22435C225D222920293B0A20207D0A40656E64636F64650A40706172204578616D706C65205461626C652048544D4C0A40636F64650A20203C5441424C452069643D227461626C65222F3E0A40656E64636F64650A40706172204578616D706C65205461626C6520636F64650A40636F64650A2020766F69642072656672657368436228636F6E73742063686172202A2075726C290A20207B0A202020207765625365727665722E7365744172674A736F6E28204628227461626C6522292C204628225B5B5C22415C222C5C22425C225D2C5B5C22315C222C5C22325C225D5D222920293B0A20207D0A40656E64636F64650A2A2F0A766F696420454C436C69656E745765625365727665723A3A7365744172674A736F6E28636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20636F6E7374205F5F466C617368537472696E6748656C706572202A2076616C7565290A7B0A2020636F6E73742063686172202A206E616D655F70203D207265696E746572707265745F636173743C636F6E73742063686172202A3E286E616D65293B0A2020636F6E73742063686172202A2076616C75655F70203D207265696E746572707265745F636173743C636F6E73742063686172202A3E2876616C7565293B0A0A202075696E74385F74206E6C656E203D207374726C656E5F50286E616D655F70293B0A202075696E74385F7420766C656E203D207374726C656E5F502876616C75655F70293B0A202063686172206275665B6E6C656E2B766C656E2B335D3B0A20206275665B305D203D205745425F4A534F4E3B0A20207374726370795F50286275662B312C206E616D655F70293B0A20207374726370795F50286275662B322B6E6C656E2C2076616C75655F70293B0A20205F656C632D3E52657175657374286275662C206E6C656E2B766C656E2B32293B0A7D0A0A0A2F2A21207365744172674A736F6E28636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20636F6E73742063686172202A2076616C7565290A4062726965662053657473204A534F4E2076616C7565206F662061206669656C640A4064657461696C732053657473204A534F4E2076616C756520746F20646973706C617920616E2048544D4C206669656C6420286C6973742C207461626C65292E2049742063616E20667265652075702052414D206D656D6F727920696620737472696E6720636F6E7374616E7473206172652073746F72656420696E20666C61736820696E7374656164206F662052414D2E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C64202873746F72656420696E20666C617368290A40706172616D2076616C75650A20204A534F4E2076616C75650A4070617220537570706F727465642048544D4C20636F6E74726F6C730A406C692020554C0A406C6920204F4C0A406C6920205441424C450A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C65204C6973742048544D4C0A40636F64650A20203C554C2069643D226C697374222F3E0A40656E64636F64650A40706172204578616D706C65204C69737420636F64650A40636F64650A2020766F69642072656672657368436228636F6E73742063686172202A2075726C290A20207B0A202020207765625365727665722E7365744172674A736F6E28204628226C69737422292C20225B5C22415C222C5C22425C222C5C22435C225D2220293B0A20207D0A40656E64636F64650A40706172204578616D706C65205461626C652048544D4C0A40636F64650A20203C5441424C452069643D227461626C65222F3E0A40656E64636F64650A40706172204578616D706C65205461626C6520636F64650A40636F64650A2020766F69642072656672657368436228636F6E73742063686172202A2075726C290A20207B0A202020207765625365727665722E7365744172674A736F6E28204628227461626C6522292C20225B5B5C22415C222C5C22425C225D2C5B5C22315C222C5C22325C225D5D2220293B0A20207D0A40656E64636F64650A2A2F0A766F696420454C436C69656E745765625365727665723A3A7365744172674A736F6E28636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20636F6E73742063686172202A2076616C7565290A7B0A2020636F6E73742063686172202A206E616D655F70203D207265696E746572707265745F636173743C636F6E73742063686172202A3E286E616D65293B0A0A202075696E74385F74206E6C656E203D207374726C656E5F50286E616D655F70293B0A202075696E74385F7420766C656E203D207374726C656E2876616C7565293B0A202063686172206275665B6E6C656E2B766C656E2B335D3B0A20206275665B305D203D205745425F4A534F4E3B0A20207374726370795F50286275662B312C206E616D655F70293B0A2020737472637079286275662B322B6E6C656E2C2076616C7565293B0A20205F656C632D3E52657175657374286275662C206E6C656E2B766C656E2B32293B0A7D0A0A0A2F2A2120736574417267537472696E6728636F6E73742063686172202A206E616D652C20636F6E73742063686172202A2076616C7565290A406272696566205365747320737472696E672076616C7565206F662061206669656C640A4064657461696C7320536574732074686520737472696E67206F7220696E6E65722048544D4C2076616C7565206F6620616E2048544D4C206669656C642E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C640A40706172616D2076616C75650A2020537472696E672076616C75650A4070617220537570706F727465642048544D4C20636F6E74726F6C730A0A7C202A48544D4C204669656C642A207C202020202A547970652A202020207C0A7C2D2D2D2D2D2D2D2D2D2D2D2D2D2D7C2D2D2D2D2D2D2D2D2D2D2D2D2D2D7C0A7C20202020202020502020202020207C20496E6E65722048544D4C2020207C0A7C20202020202044495620202020207C20496E6E65722048544D4C2020207C0A7C20202020202054522020202020207C20496E6E65722048544D4C2020207C0A7C20202020202054482020202020207C20496E6E65722048544D4C2020207C0A7C20202020202054442020202020207C20496E6E65722048544D4C2020207C0A7C20202054455854415245412020207C20496E6E65722048544D4C2020207C0A7C20202020205350414E20202020207C20496E6E65722048544D4C2020207C0A7C20202020494E50555420202020207C20537472696E672076616C7565207C0A7C2020202053454C454354202020207C20537472696E672076616C7565207C0A0A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C6520666F7220696E6E65722048544D4C202848544D4C290A40636F64650A20203C4449562069643D22646976222F3E0A40656E64636F64650A40706172204578616D706C6520666F7220696E6E65722048544D4C2028636F6465290A40636F64650A2020766F69642072656672657368436228636F6E73742063686172202A2075726C290A20207B0A202020207765625365727665722E736574417267537472696E67282022646976222C20224C696E652031203C62722F3E204C696E6520322220293B0A20207D0A40656E64636F64650A40706172204578616D706C6520666F7220737472696E672076616C7565202848544D4C290A40636F64650A20203C666F726D3E0A202020203C696E707574206E616D653D22696E7075742220747970653D2274657874222F3E0A202020203C696E70757420747970653D227375626D6974223E0A20203C2F666F726D3E0A40656E64636F64650A40706172204578616D706C6520666F7220737472696E672076616C75652028636F6465290A40636F64650A2020766F6964206C6F6164436228636F6E73742063686172202A2075726C290A20207B0A202020202F2F2073657473207468652064656661756C742076616C7565206174206C6F6164696E670A202020207765625365727665722E736574417267537472696E67282022696E707574222C202254686973206973207468652076616C75652220293B0A20207D0A40656E64636F64650A2A2F0A0A766F696420454C436C69656E745765625365727665723A3A736574417267537472696E6728636F6E73742063686172202A206E616D652C20636F6E73742063686172202A2076616C7565290A7B0A202075696E74385F74206E6C656E203D207374726C656E286E616D65293B0A202075696E74385F7420766C656E203D207374726C656E2876616C7565293B0A202063686172206275665B6E6C656E2B766C656E2B335D3B0A20206275665B305D203D205745425F535452494E473B0A2020737472637079286275662B312C206E616D65293B0A2020737472637079286275662B322B6E6C656E2C2076616C7565293B0A20205F656C632D3E52657175657374286275662C206E6C656E2B766C656E2B32293B0A7D0A0A2F2A2120736574417267537472696E6728636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20636F6E7374205F5F466C617368537472696E6748656C706572202A2076616C7565290A406272696566205365747320737472696E672076616C7565206F662061206669656C640A4064657461696C7320536574732074686520737472696E67206F7220696E6E65722048544D4C2076616C7565206F6620616E2048544D4C206669656C642E2049742063616E20667265652075702052414D206D656D6F727920696620737472696E6720636F6E7374616E7473206172652073746F72656420696E20666C61736820696E7374656164206F662052414D2E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C64202873746F72656420696E20666C617368290A40706172616D2076616C75650A2020537472696E672076616C7565202873746F72656420696E20666C617368290A4070617220537570706F727465642048544D4C20636F6E74726F6C730A0A7C202A48544D4C204669656C642A207C202020202A547970652A202020207C0A7C2D2D2D2D2D2D2D2D2D2D2D2D2D2D7C2D2D2D2D2D2D2D2D2D2D2D2D2D2D7C0A7C20202020202020502020202020207C20496E6E65722048544D4C2020207C0A7C20202020202044495620202020207C20496E6E65722048544D4C2020207C0A7C20202020202054522020202020207C20496E6E65722048544D4C2020207C0A7C20202020202054482020202020207C20496E6E65722048544D4C2020207C0A7C20202020202054442020202020207C20496E6E65722048544D4C2020207C0A7C20202054455854415245412020207C20496E6E65722048544D4C2020207C0A7C20202020205350414E20202020207C20496E6E65722048544D4C2020207C0A7C20202020494E50555420202020207C20537472696E672076616C7565207C0A7C2020202053454C454354202020207C20537472696E672076616C7565207C0A0A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C6520666F7220696E6E65722048544D4C202848544D4C290A40636F64650A20203C4449562069643D22646976222F3E0A40656E64636F64650A40706172204578616D706C6520666F7220696E6E65722048544D4C2028636F6465290A40636F64650A2020766F69642072656672657368436228636F6E73742063686172202A2075726C290A20207B0A202020207765625365727665722E736574417267537472696E67282046282264697622292C204628224C696E652031203C62722F3E204C696E652032222920293B0A20207D0A40656E64636F64650A40706172204578616D706C6520666F7220737472696E672076616C7565202848544D4C290A40636F64650A20203C666F726D3E0A202020203C696E707574206E616D653D22696E7075742220747970653D2274657874222F3E0A202020203C696E70757420747970653D227375626D6974223E0A20203C2F666F726D3E0A40656E64636F64650A40706172204578616D706C6520666F7220737472696E672076616C75652028636F6465290A40636F64650A2020766F6964206C6F6164436228636F6E73742063686172202A2075726C290A20207B0A202020202F2F2073657473207468652064656661756C742076616C7565206174206C6F6164696E670A202020207765625365727665722E736574417267537472696E672820462822696E70757422292C2046282254686973206973207468652076616C7565222920293B0A20207D0A40656E64636F64650A2A2F0A0A766F696420454C436C69656E745765625365727665723A3A736574417267537472696E6728636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20636F6E7374205F5F466C617368537472696E6748656C706572202A2076616C7565290A7B0A2020636F6E73742063686172202A206E616D655F70203D207265696E746572707265745F636173743C636F6E73742063686172202A3E286E616D65293B0A2020636F6E73742063686172202A2076616C75655F70203D207265696E746572707265745F636173743C636F6E73742063686172202A3E2876616C7565293B0A0A202075696E74385F74206E6C656E203D207374726C656E5F50286E616D655F70293B0A202075696E74385F7420766C656E203D207374726C656E5F502876616C75655F70293B0A202063686172206275665B6E6C656E2B766C656E2B335D3B0A20206275665B305D203D205745425F535452494E473B0A20207374726370795F50286275662B312C206E616D655F70293B0A20207374726370795F50286275662B322B6E6C656E2C2076616C75655F70293B0A20205F656C632D3E52657175657374286275662C206E6C656E2B766C656E2B32293B0A7D0A0A2F2A2120736574417267537472696E6728636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20636F6E73742063686172202A2076616C7565290A406272696566205365747320737472696E672076616C7565206F662061206669656C640A4064657461696C7320536574732074686520737472696E67206F7220696E6E65722048544D4C2076616C7565206F6620616E2048544D4C206669656C642E2049742063616E20667265652075702052414D206D656D6F727920696620737472696E6720636F6E7374616E7473206172652073746F72656420696E20666C61736820696E7374656164206F662052414D2E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C64202873746F72656420696E20666C617368290A40706172616D2076616C75650A2020537472696E672076616C75650A4070617220537570706F727465642048544D4C20636F6E74726F6C730A0A7C202A48544D4C204669656C642A207C202020202A547970652A202020207C0A7C2D2D2D2D2D2D2D2D2D2D2D2D2D2D7C2D2D2D2D2D2D2D2D2D2D2D2D2D2D7C0A7C20202020202020502020202020207C20496E6E65722048544D4C2020207C0A7C20202020202044495620202020207C20496E6E65722048544D4C2020207C0A7C20202020202054522020202020207C20496E6E65722048544D4C2020207C0A7C20202020202054482020202020207C20496E6E65722048544D4C2020207C0A7C20202020202054442020202020207C20496E6E65722048544D4C2020207C0A7C20202054455854415245412020207C20496E6E65722048544D4C2020207C0A7C20202020205350414E20202020207C20496E6E65722048544D4C2020207C0A7C20202020494E50555420202020207C20537472696E672076616C7565207C0A7C2020202053454C454354202020207C20537472696E672076616C7565207C0A0A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C6520666F7220696E6E65722048544D4C202848544D4C290A40636F64650A20203C4449562069643D22646976222F3E0A40656E64636F64650A40706172204578616D706C6520666F7220696E6E65722048544D4C2028636F6465290A40636F64650A2020766F69642072656672657368436228636F6E73742063686172202A2075726C290A20207B0A202020207765625365727665722E736574417267537472696E67282046282264697622292C20224C696E652031203C62722F3E204C696E6520322220293B0A20207D0A40656E64636F64650A40706172204578616D706C6520666F7220737472696E672076616C7565202848544D4C290A40636F64650A20203C666F726D3E0A202020203C696E707574206E616D653D22696E7075742220747970653D2274657874222F3E0A202020203C696E70757420747970653D227375626D6974223E0A20203C2F666F726D3E0A40656E64636F64650A40706172204578616D706C6520666F7220737472696E672076616C75652028636F6465290A40636F64650A2020766F6964206C6F6164436228636F6E73742063686172202A2075726C290A20207B0A202020202F2F2073657473207468652064656661756C742076616C7565206174206C6F6164696E670A202020207765625365727665722E736574417267537472696E672820462822696E70757422292C202254686973206973207468652076616C75652220293B0A20207D0A40656E64636F64650A2A2F0A766F696420454C436C69656E745765625365727665723A3A736574417267537472696E6728636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20636F6E73742063686172202A2076616C7565290A7B0A2020636F6E73742063686172202A206E616D655F70203D207265696E746572707265745F636173743C636F6E73742063686172202A3E286E616D65293B0A0A202075696E74385F74206E6C656E203D207374726C656E5F50286E616D655F70293B0A202075696E74385F7420766C656E203D207374726C656E2876616C7565293B0A202063686172206275665B6E6C656E2B766C656E2B335D3B0A20206275665B305D203D205745425F535452494E473B0A20207374726370795F50286275662B312C206E616D655F70293B0A2020737472637079286275662B322B6E6C656E2C2076616C7565293B0A20205F656C632D3E52657175657374286275662C206E6C656E2B766C656E2B32293B0A7D0A0A0A2F2A2120736574417267426F6F6C65616E28636F6E73742063686172202A206E616D652C2075696E74385F742076616C7565290A406272696566205365747320626F6F6C65616E2076616C7565206F662061206669656C640A4064657461696C73205365747320626F6F6C65616E2076616C7565206F6620616E2048544D4C206669656C642E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C640A40706172616D2076616C75650A2020426F6F6C65616E2076616C75650A4070617220537570706F727465642048544D4C20636F6E74726F6C730A406C692020494E5055540A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C652048544D4C0A40636F64650A20203C666F726D3E0A202020203C696E707574206E616D653D22696E7075742220747970653D22636865636B626F78222F3E0A202020203C696E70757420747970653D227375626D6974223E0A20203C2F666F726D3E0A40656E64636F64650A40706172204578616D706C6520636F64650A40636F64650A2020766F6964206C6F6164436228636F6E73742063686172202A2075726C290A20207B0A202020202F2F2073657473207468652064656661756C742076616C7565206174206C6F6164696E670A202020207765625365727665722E736574417267426F6F6C65616E282022696E707574222C205452554520293B0A20207D0A40656E64636F64650A2A2F0A0A766F696420454C436C69656E745765625365727665723A3A736574417267426F6F6C65616E28636F6E73742063686172202A206E616D652C2075696E74385F742076616C7565290A7B0A202075696E74385F74206E6C656E203D207374726C656E286E616D65293B0A202063686172206275665B6E6C656E202B20345D3B0A20206275665B305D203D205745425F424F4F4C45414E3B0A2020737472637079286275662B312C206E616D65293B0A20206275665B32202B206E6C656E5D203D2076616C75653B0A20205F656C632D3E52657175657374286275662C206E6C656E2B33293B0A7D0A0A0A2F2A2120736574417267426F6F6C65616E28636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C2075696E74385F742076616C7565290A406272696566205365747320626F6F6C65616E2076616C7565206F662061206669656C640A4064657461696C73205365747320626F6F6C65616E2076616C7565206F6620616E2048544D4C206669656C642E2049742063616E20667265652075702052414D206D656D6F727920696620737472696E6720636F6E7374616E7473206172652073746F72656420696E20666C61736820696E7374656164206F662052414D2E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C64202873746F72656420696E20666C617368290A40706172616D2076616C75650A2020426F6F6C65616E2076616C75650A4070617220537570706F727465642048544D4C20636F6E74726F6C730A406C692020494E5055540A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C652048544D4C0A40636F64650A20203C666F726D3E0A202020203C696E707574206E616D653D22696E7075742220747970653D22636865636B626F78222F3E0A202020203C696E70757420747970653D227375626D6974223E0A20203C2F666F726D3E0A40656E64636F64650A40706172204578616D706C6520636F64650A40636F64650A2020766F6964206C6F6164436228636F6E73742063686172202A2075726C290A20207B0A202020202F2F2073657473207468652064656661756C742076616C7565206174206C6F6164696E670A202020207765625365727665722E736574417267426F6F6C65616E2820462822696E70757422292C205452554520293B0A20207D0A40656E64636F64650A2A2F0A0A766F696420454C436C69656E745765625365727665723A3A736574417267426F6F6C65616E28636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C2075696E74385F742076616C7565290A7B0A2020636F6E73742063686172202A206E616D655F70203D207265696E746572707265745F636173743C636F6E73742063686172202A3E286E616D65293B0A0A202075696E74385F74206E6C656E203D207374726C656E5F50286E616D655F70293B0A202063686172206275665B6E6C656E202B20345D3B0A20206275665B305D203D205745425F424F4F4C45414E3B0A20207374726370795F50286275662B312C206E616D655F70293B0A20206275665B32202B206E6C656E5D203D2076616C75653B0A20205F656C632D3E52657175657374286275662C206E6C656E2B33293B0A7D0A0A0A2F2A2120736574417267496E7428636F6E73742063686172202A206E616D652C20696E7433325F742076616C7565290A406272696566205365747320696E74656765722076616C7565206F662061206669656C640A4064657461696C73205365747320696E74656765722076616C7565206F6620616E2048544D4C206669656C642E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C640A40706172616D2076616C75650A2020496E74656765722076616C75650A4070617220537570706F727465642048544D4C20636F6E74726F6C730A406C692020494E5055540A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C652048544D4C0A40636F64650A20203C666F726D3E0A202020203C696E707574206E616D653D22696E7075742220747970653D226E756D626572222F3E0A202020203C696E70757420747970653D227375626D6974223E0A20203C2F666F726D3E0A40656E64636F64650A40706172204578616D706C6520636F64650A40636F64650A2020766F6964206C6F6164436228636F6E73742063686172202A2075726C290A20207B0A202020202F2F2073657473207468652064656661756C742076616C7565206174206C6F6164696E670A202020207765625365727665722E736574417267496E74282022696E707574222C2031323320293B0A20207D0A40656E64636F64650A2A2F0A0A766F696420454C436C69656E745765625365727665723A3A736574417267496E7428636F6E73742063686172202A206E616D652C20696E7433325F742076616C7565290A7B0A202075696E74385F74206E6C656E203D207374726C656E286E616D65293B0A202063686172206275665B6E6C656E202B20375D3B0A20206275665B305D203D205745425F494E54454745523B0A2020737472637079286275662B312C206E616D65293B0A20206D656D637079286275662B322B6E6C656E2C202676616C75652C2034293B0A20205F656C632D3E52657175657374286275662C206E6C656E2B36293B0A7D0A0A0A2F2A2120736574417267496E7428636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20696E7433325F742076616C7565290A406272696566205365747320696E74656765722076616C7565206F662061206669656C640A4064657461696C73205365747320696E74656765722076616C7565206F6620616E2048544D4C206669656C642E2049742063616E20667265652075702052414D206D656D6F727920696620737472696E6720636F6E7374616E7473206172652073746F72656420696E20666C61736820696E7374656164206F662052414D2E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C64202873746F72656420696E20666C617368290A40706172616D2076616C75650A2020496E74656765722076616C75650A4070617220537570706F727465642048544D4C20636F6E74726F6C730A406C692020494E5055540A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C652048544D4C0A40636F64650A20203C666F726D3E0A202020203C696E707574206E616D653D22696E7075742220747970653D226E756D626572222F3E0A202020203C696E70757420747970653D227375626D6974223E0A20203C2F666F726D3E0A40656E64636F64650A40706172204578616D706C6520636F64650A40636F64650A2020766F6964206C6F6164436228636F6E73742063686172202A2075726C290A20207B0A202020202F2F2073657473207468652064656661756C742076616C7565206174206C6F6164696E670A202020207765625365727665722E736574417267496E742820462822696E70757422292C2031323320293B0A20207D0A40656E64636F64650A2A2F0A0A766F696420454C436C69656E745765625365727665723A3A736574417267496E7428636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20696E7433325F742076616C7565290A7B0A2020636F6E73742063686172202A206E616D655F70203D207265696E746572707265745F636173743C636F6E73742063686172202A3E286E616D65293B0A0A202075696E74385F74206E6C656E203D207374726C656E5F50286E616D655F70293B0A202063686172206275665B6E6C656E202B20375D3B0A20206275665B305D203D205745425F494E54454745523B0A20207374726370795F50286275662B312C206E616D655F70293B0A20206D656D637079286275662B322B6E6C656E2C202676616C75652C2034293B0A20205F656C632D3E52657175657374286275662C206E6C656E2B36293B0A7D0A0A0A2F2A21207365744172674E756C6C28636F6E73742063686172202A206E616D65290A4062726965662053657473206E756C6C2076616C756520746F2061206669656C640A4064657461696C732053657473206E756C6C2076616C756520746F20616E2048544D4C206669656C642E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C640A4070617220537570706F727465642048544D4C20636F6E74726F6C730A406C6920500A406C69204449560A406C692054520A406C692054480A406C692054440A406C692054455854415245410A406C69205350414E0A406C6920494E5055540A406C692053454C4543540A0A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C652048544D4C0A40636F64650A20203C4449562069643D22646976222F3E0A40656E64636F64650A40706172204578616D706C6520636F64650A40636F64650A2020766F69642072656672657368436228636F6E73742063686172202A2075726C290A20207B0A202020207765625365727665722E7365744172674E756C6C2820226469762220293B0A20207D0A40656E64636F64650A2A2F0A0A766F696420454C436C69656E745765625365727665723A3A7365744172674E756C6C28636F6E73742063686172202A206E616D65290A7B0A202075696E74385F74206E6C656E203D207374726C656E286E616D65293B0A202063686172206275665B6E6C656E202B20325D3B0A20206275665B305D203D205745425F4E554C4C3B0A2020737472637079286275662B312C206E616D65293B0A20205F656C632D3E52657175657374286275662C206E6C656E2B32293B0A7D0A0A0A2F2A21207365744172674E756C6C28636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D65290A4062726965662053657473206E756C6C2076616C756520746F2061206669656C640A4064657461696C732053657473206E756C6C2076616C756520746F20616E2048544D4C206669656C642E2049742063616E20667265652075702052414D206D656D6F727920696620737472696E6720636F6E7374616E7473206172652073746F72656420696E20666C61736820696E7374656164206F662052414D2E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C64202873746F72656420696E20666C617368290A4070617220537570706F727465642048544D4C20636F6E74726F6C730A406C6920500A406C69204449560A406C692054520A406C692054480A406C692054440A406C692054455854415245410A406C69205350414E0A406C6920494E5055540A406C692053454C4543540A0A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C652048544D4C0A40636F64650A20203C4449562069643D22646976222F3E0A40656E64636F64650A40706172204578616D706C6520636F64650A40636F64650A2020766F69642072656672657368436228636F6E73742063686172202A2075726C290A20207B0A202020207765625365727665722E7365744172674E756C6C2820462822646976222920293B0A20207D0A40656E64636F64650A2A2F0A0A766F696420454C436C69656E745765625365727665723A3A7365744172674E756C6C28636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D65290A7B0A2020636F6E73742063686172202A206E616D655F70203D207265696E746572707265745F636173743C636F6E73742063686172202A3E286E616D65293B0A0A202075696E74385F74206E6C656E203D207374726C656E5F50286E616D655F70293B0A202063686172206275665B6E6C656E202B20325D3B0A20206275665B305D203D205745425F4E554C4C3B0A20207374726370795F50286275662B312C206E616D655F70293B0A20205F656C632D3E52657175657374286275662C206E6C656E2B32293B0A7D0A0A0A2F2A2120736574417267466C6F617428636F6E73742063686172202A206E616D652C20666C6F61742076616C7565290A406272696566205365747320666C6F61742076616C7565206F662061206669656C640A4064657461696C73205365747320666C6F61742076616C7565206F6620616E2048544D4C206669656C642E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C640A40706172616D2076616C75650A2020466C6F61742076616C75650A4070617220537570706F727465642048544D4C20636F6E74726F6C730A406C692020494E5055540A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C652048544D4C0A40636F64650A20203C666F726D3E0A202020203C696E707574206E616D653D22696E7075742220747970653D226E756D6265722220737465703D22302E3031222F3E0A202020203C696E70757420747970653D227375626D6974223E0A20203C2F666F726D3E0A40656E64636F64650A40706172204578616D706C6520636F64650A40636F64650A2020766F6964206C6F6164436228636F6E73742063686172202A2075726C290A20207B0A202020202F2F2073657473207468652064656661756C742076616C7565206174206C6F6164696E670A202020207765625365727665722E736574417267466C6F6174282022696E707574222C2031322E336620293B0A20207D0A40656E64636F64650A2A2F0A0A766F696420454C436C69656E745765625365727665723A3A736574417267466C6F617428636F6E73742063686172202A206E616D652C20666C6F61742076616C7565290A7B0A202075696E74385F74206E6C656E203D207374726C656E286E616D65293B0A202063686172206275665B6E6C656E202B20375D3B0A20206275665B305D203D205745425F464C4F41543B0A2020737472637079286275662B312C206E616D65293B0A20206D656D637079286275662B322B6E6C656E2C202676616C75652C2034293B0A20205F656C632D3E52657175657374286275662C206E6C656E2B36293B0A7D0A0A0A2F2A2120736574417267466C6F617428636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20666C6F61742076616C7565290A406272696566205365747320666C6F61742076616C7565206F662061206669656C640A4064657461696C73205365747320666C6F61742076616C7565206F6620616E2048544D4C206669656C642E2049742063616E20667265652075702052414D206D656D6F727920696620737472696E6720636F6E7374616E7473206172652073746F72656420696E20666C61736820696E7374656164206F662052414D2E0A40706172616D206E616D650A2020546865206E616D65206F6620746865206669656C64202873746F72656420696E20666C617368290A40706172616D2076616C75650A2020466C6F61742076616C75650A4070617220537570706F727465642048544D4C20636F6E74726F6C730A406C692020494E5055540A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207265667265736843622F6C6F616443622E0A40706172204578616D706C652048544D4C0A40636F64650A20203C666F726D3E0A202020203C696E707574206E616D653D22696E7075742220747970653D226E756D6265722220737465703D22302E3031222F3E0A202020203C696E70757420747970653D227375626D6974223E0A20203C2F666F726D3E0A40656E64636F64650A40706172204578616D706C6520636F64650A40636F64650A2020766F6964206C6F6164436228636F6E73742063686172202A2075726C290A20207B0A202020202F2F2073657473207468652064656661756C742076616C7565206174206C6F6164696E670A202020207765625365727665722E736574417267466C6F61742820462822696E70757422292C2031322E336620293B0A20207D0A40656E64636F64650A2A2F0A0A766F696420454C436C69656E745765625365727665723A3A736574417267466C6F617428636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20666C6F61742076616C7565290A7B0A2020636F6E73742063686172202A206E616D655F70203D207265696E746572707265745F636173743C636F6E73742063686172202A3E286E616D65293B0A0A202075696E74385F74206E6C656E203D207374726C656E5F50286E616D655F70293B0A202063686172206275665B6E6C656E202B20375D3B0A20206275665B305D203D205745425F464C4F41543B0A20207374726370795F50286275662B312C206E616D655F70293B0A20206D656D637079286275662B322B6E6C656E2C202676616C75652C2034293B0A20205F656C632D3E52657175657374286275662C206E6C656E2B36293B0A7D0A0A2F2A2120676574417267496E7428290A4062726965662052657475726E7320616E2048544D4C206669656C642076616C756520617320696E74656765720A4064657461696C732052657475726E7320616E2048544D4C206669656C642076616C756520617320696E74656765722E2054686973206D6574686F642069732075736564206174207365744669656C6443622E2057656253657276657220646F65736E2774206B6E6F77207468652074797065206F662061206669656C642C206576657279206669656C64206172726976657320617320737472696E672E0A202054686973206D6574686F6420636F6E76657274732074686520737472696E6720746F2074686520657870656374656420747970652E20446F6E27742063616C6C2074686973206D6574686F64206F757473696465206F66207365744669656C6443622C206F74686572776973652069742063616E2072657365742F63726173682F667265657A65204D43552E0A4072657475726E20496E74656765722076616C7565206F6620746865206669656C640A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207365744669656C6443622C206F74686572776973652063726173682C20667265657A652C204D43552072657365742C206F72206F7468657220756E6578706563746564206265686176696F75722063616E2068617070656E2E0A40706172204578616D706C650A40636F64650A2020696E7433325F7420696E745F76616C7565203D20303B0A0A20202F2F2074686973206D6574686F642073686F756C64206265206661737420746F2070726576656E742055415254207265636569766520627566666572206F76657272756E0A2020766F6964207365744669656C64436228636F6E73742063686172202A206669656C645F737472290A20207B0A20202020537472696E67206669656C64203D206669656C645F7374723B0A20202020696628206669656C64203D3D204628226669656C645F6964222920290A202020207B0A202020202020696E745F76616C7565203D207765625365727665722E676574417267496E7428293B0A202020207D0A20207D0A40656E64636F64650A2A2F0A0A696E7433325F7420454C436C69656E745765625365727665723A3A676574417267496E7428290A7B0A202072657475726E2028696E7433325F742961746F6C286172675F707472293B0A7D0A0A2F2A2120676574417267537472696E6728290A4062726965662052657475726E7320616E2048544D4C206669656C642076616C756520617320737472696E670A4064657461696C732052657475726E7320616E2048544D4C206669656C642076616C756520617320737472696E672E20446F6E27742063616C6C2074686973206D6574686F64206F757473696465206F66207365744669656C6443622C206F74686572776973652069742063616E2072657365742F63726173682F667265657A65204D43552E0A4072657475726E20537472696E672076616C7565206F6620746865206669656C640A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207365744669656C6443622C206F74686572776973652063726173682C20667265657A652C204D43552072657365742C206F72206F7468657220756E6578706563746564206265686176696F75722063616E2068617070656E2E0A40706172204578616D706C650A40636F64650A2020537472696E67207374723B0A0A20202F2F2074686973206D6574686F642073686F756C64206265206661737420746F2070726576656E742055415254207265636569766520627566666572206F76657272756E0A2020766F6964207365744669656C64436228636F6E73742063686172202A206669656C645F737472290A20207B0A20202020537472696E67206669656C64203D206669656C645F7374723B0A20202020696628206669656C64203D3D204628226669656C645F6964222920290A202020207B0A202020202020737472203D207765625365727665722E676574417267537472696E6728293B0A202020207D0A20207D0A40656E64636F64650A2A2F0A0A63686172202A20454C436C69656E745765625365727665723A3A676574417267537472696E6728290A7B0A202072657475726E206172675F7074723B0A7D0A0A2F2A2120676574417267426F6F6C65616E28290A4062726965662052657475726E7320616E2048544D4C206669656C642076616C756520617320626F6F6C65616E0A4064657461696C732052657475726E7320616E2048544D4C206669656C642076616C756520617320626F6F6C65616E2E2054686973206D6574686F642069732075736564206174207365744669656C6443622E2057656253657276657220646F65736E2774206B6E6F77207468652074797065206F662061206669656C642C206576657279206669656C64206172726976657320617320737472696E672E0A202054686973206D6574686F6420636F6E76657274732074686520737472696E6720746F2074686520657870656374656420747970652E20446F6E27742063616C6C2074686973206D6574686F64206F757473696465206F66207365744669656C6443622C206F74686572776973652069742063616E2072657365742F63726173682F667265657A65204D43552E0A4072657475726E20426F6F6C65616E2076616C7565206F6620746865206669656C640A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207365744669656C6443622C206F74686572776973652063726173682C20667265657A652C204D43552072657365742C206F72206F7468657220756E6578706563746564206265686176696F75722063616E2068617070656E2E0A40706172204578616D706C650A40636F64650A202075696E74385F7420626F6F6C65616E5F76616C75653B0A0A20202F2F2074686973206D6574686F642073686F756C64206265206661737420746F2070726576656E742055415254207265636569766520627566666572206F76657272756E0A2020766F6964207365744669656C64436228636F6E73742063686172202A206669656C645F737472290A20207B0A20202020537472696E67206669656C64203D206669656C645F7374723B0A20202020696628206669656C64203D3D204628226669656C645F6964222920290A202020207B0A202020202020626F6F6C65616E5F76616C7565203D207765625365727665722E676574417267426F6F6C65616E28293B0A202020207D0A20207D0A40656E64636F64650A2A2F0A0A75696E74385F7420454C436C69656E745765625365727665723A3A676574417267426F6F6C65616E28290A7B0A202069662820737472636D705F50286172675F7074722C205053545228226F6E222929203D3D203020290A2020202072657475726E20313B0A202069662820737472636D705F50286172675F7074722C2050535452282274727565222929203D3D203020290A2020202072657475726E20313B0A202069662820737472636D705F50286172675F7074722C20505354522822796573222929203D3D203020290A2020202072657475726E20313B0A202069662820737472636D705F50286172675F7074722C2050535452282231222929203D3D203020290A2020202072657475726E20313B0A202072657475726E20303B0A7D0A0A2F2A2120676574417267466C6F617428290A4062726965662052657475726E7320616E2048544D4C206669656C642076616C756520617320666C6F61740A4064657461696C732052657475726E7320616E2048544D4C206669656C642076616C756520617320666C6F61742E2054686973206D6574686F642069732075736564206174207365744669656C6443622E2057656253657276657220646F65736E2774206B6E6F77207468652074797065206F662061206669656C642C206576657279206669656C64206172726976657320617320737472696E672E0A202054686973206D6574686F6420636F6E76657274732074686520737472696E6720746F2074686520657870656374656420747970652E20446F6E27742063616C6C2074686973206D6574686F64206F757473696465206F66207365744669656C6443622C206F74686572776973652069742063616E2072657365742F63726173682F667265657A65204D43552E0A4072657475726E20466C6F61742076616C7565206F6620746865206669656C640A407761726E696E67205573652074686973206D6574686F64206F6E6C7920696E207365744669656C6443622C206F74686572776973652063726173682C20667265657A652C204D43552072657365742C206F72206F7468657220756E6578706563746564206265686176696F75722063616E2068617070656E2E0A40706172204578616D706C650A40636F64650A2020666C6F617420666C6F61745F76616C75653B0A0A20202F2F2074686973206D6574686F642073686F756C64206265206661737420746F2070726576656E742055415254207265636569766520627566666572206F76657272756E0A2020766F6964207365744669656C64436228636F6E73742063686172202A206669656C645F737472290A20207B0A20202020537472696E67206669656C64203D206669656C645F7374723B0A20202020696628206669656C64203D3D204628226669656C645F6964222920290A202020207B0A202020202020666C6F61745F76616C7565203D207765625365727665722E676574417267466C6F617428293B0A202020207D0A20207D0A40656E64636F64650A2A2F0A0A666C6F617420454C436C69656E745765625365727665723A3A676574417267466C6F617428290A7B0A202072657475726E2061746F66286172675F707472293B0A7D0A .cpp ELClientWebServer 2F2A21205C66696C6520454C436C69656E745765625365727665722E680A202020205C627269656620446566696E6974696F6E7320666F7220454C436C69656E745765625365727665720A202020205C617574686F722043732E204B617261690A202020205C617574686F7220542E20766F6E204569636B656E0A202020205C6461746520323031360A2A2F0A2F2F20436F707972696768742028632920323031362062792043732E204B6172616920616E6420542E20766F6E204569636B656E0A0A2369666E646566205F454C5F434C49454E545F5745425F5345525645525F485F0A23646566696E65205F454C5F434C49454E545F5745425F5345525645525F485F0A0A23696E636C756465203C41726475696E6F2E683E0A23696E636C7564652022454C436C69656E742E68220A23696E636C756465202246502E68220A0A2F2A2A20576562205365727665722055524C2068616E646C6572207374727563747572652E202A2F0A74797065646566207374727563742055524C5F48414E444C45520A7B0A0A2020537472696E672020202020202020202020202020202055524C3B2020202020202020202F2F2F3C207468652055524C20746F2068616E646C650A0A20202F2A21206C6F6164436228290A2020204062726965662043616C6C6261636B20666F722048544D4C2070616765206C6F6164696E670A2020204064657461696C7320546869732063616C6C6261636B2069732063616C6C6564207768656E2062726F77736572206C6F616473206120637573746F6D207061676520666F72207468652066697273742074696D652E0A20202020205468652063616C6C6261636B2073686F756C6420706F70756C61746520616C6C20746865206669656C647320746861742061726520726571756972656420666F7220646973706C6179696E672074686520706167652E0A20202040706172616D2075726C0A20202020205468652055524C206F6620746865207061676520746F206C6F61642E0A20202040706172204578616D706C650A20202040636F64650A202020766F6964206C6F616443622863686172202A2075726C290A2020207B0A20202020207765625365727665722E736574417267537472696E67284628226669656C643122292C2046282276616C75652229293B0A20202020207765625365727665722E736574417267496E74284628226669656C643222292C20313233293B0A20202020207765625365727665722E736574417267466C6F6174284628226669656C643322292C2031322E33293B0A2020207D0A20202040656E64636F64650A2020202A2F0A202046503C766F69642C20636861722A3E202020202020206C6F616443623B0A0A20202F2A212072656672657368436228290A2020204062726965662043616C6C6261636B20666F722048544D4C207061676520726566726573680A2020204064657461696C7320546869732063616C6C6261636B2069732063616C6C6564207768656E2062726F7773657220726566726573686573206120706167652E205468652063616C6C6261636B2073686F756C6420706F70756C6174650A2020202020616C6C20746865206669656C647320746861742061726520726571756972656420666F7220646973706C6179696E67206368616E676573206F6E2074686520706167652E0A20202040706172616D2075726C0A20202020205468652055524C206F6620746865207061676520746F206C6F61642E0A20202040706172204578616D706C650A20202040636F64650A202020766F6964207265667265736843622863686172202A2075726C290A2020207B0A20202020207765625365727665722E736574417267537472696E67284628226669656C643122292C204628226368616E6765645F76616C75652229293B0A20202020207765625365727665722E736574417267496E74284628226669656C643222292C20353433293B0A20202020207765625365727665722E736574417267466C6F6174284628226669656C643322292C2035342E33293B0A2020207D0A20202040656E64636F64650A2020202A2F0A202046503C766F69642C20636861722A3E202020202020207265667265736843623B0A0A20202F2A2120627574746F6E436228290A2020204062726965662063616C6C6261636B20666F722073657474696E672061206669656C642066726F6D20612048544D4C20666F726D0A2020204064657461696C7320546869732063616C6C6261636B2069732063616C6C6564207768656E20612048544D4C20666F726D206973207375626D69747465642E205468652063616C6C6261636B2073686F756C6420736176650A20202020206669656C64206368616E6765732E202041667465722070726F63657373696E67207468652063616C6C6261636B2C2061207061676520726566726573682077696C6C20616C736F20626520696E6974696174656420746F0A20202020207265666C65637420746865206368616E6765732E0A0A20202020205468652073697A65206F6620746865207265636569766520627566666572206F6E20454C436C69656E74206973203132382062797465732077686963682063616E20626520736D616C6C20666F7220726563656976696E670A202020202061206C6172676520666F726D2E205768656E2074686520646174612065786365656473203132382062797465732C204573702D4C696E6B207365676D656E74732074686520717565727920696E746F20736D616C6C65720A202020202070617274732E204966207468652063616C6C6261636B20697320736C6F772C206974277320706F737369626C65207468617420746865205541525420627566666572206F76657272756E73207768696C6520726563656976696E670A2020202020746865206E657874207061636B65742063617573696E672064617461206C6F73732E205468652063616C6C6261636B2068617320356D7320746F2070726F63657373207468652072657175657374206966206461746120636F6D65730A202020202061742031313532303020626175642E0A0A2020202020496620646562756767696E6720697320656E61626C65642C2064617461206C6F73732069732076657279206C696B656C7920746F2068617070656E2062656361757365206F66207061636B6574206C6F6767696E672E0A202020407761726E696E67205772697465207468697320726F7574696E6520746F206265206173206661737420617320706F737369626C6520616E64207475726E206F666620646562756767696E6720666F7220726563656976696E670A20202020206C6172676520666F726D732E0A0A20202040706172616D206669656C645F69640A2020202020546865204944206F6620746865206669656C640A20202040706172204578616D706C650A20202040636F64650A202020696E7433325F742076616C75653B0A0A2020202F2F207468697320636F64652073686F756C6420626520666173740A202020766F6964207365744669656C6443622863686172202A206669656C645F6964290A2020207B0A2020202020537472696E67206964203D206669656C645F69643B0A0A2020202020696628206964203D3D204628226D795F6669656C64222920290A20202020207B0A2020202020202076616C7565203D207765625365727665722E676574417267496E7428293B0A20202020207D0A2020207D0A20202040656E64636F64650A2020202A2F0A202046503C766F69642C20636861722A3E202020202020207365744669656C6443623B0A0A20202F2A2120627574746F6E436228290A2020204062726965662063616C6C6261636B20666F7220612048544D4C20627574746F6E2070726573730A2020204064657461696C7320546869732063616C6C6261636B2069732063616C6C6564207768656E2075736572207072657373657320612048544D4C20627574746F6E2E2041667465722070726F63657373696E6720746869730A202020202063616C6C6261636B2C2061207061676520726566726573682077696C6C20616C736F2062652063616C6C656420746F207265666C65637420746865206368616E6765732E0A20202040706172616D20627574746F6E5F69640A2020202020546865204944206F662074686520627574746F6E0A20202040706172204578616D706C650A20202040636F64650A202020766F696420627574746F6E43622863686172202A20627574746F6E5F6964290A2020207B0A2020202020537472696E67206964203D20627574746F6E5F69643B0A0A2020202020696628206964203D3D204628226D795F627574746F6E222920290A20202020207B0A2020202020202053657269616C2E7072696E746C6E28224D7920627574746F6E20776173207072657373656422293B0A20202020207D0A2020207D0A20202040656E64636F64650A2020202A2F0A202046503C766F69642C20636861722A3E20202020202020627574746F6E43623B0A20207374727563742055524C5F48414E444C4552202A20206E6578743B20202020202020202F2F2F3C206E6578742068616E646C65720A7D2055524C48616E646C65723B0A0A2F2F205468697320636C61737320696D706C656D656E74732066756E6374696F6E7320666F7220746865207765622D7365727665720A636C61737320454C436C69656E74576562536572766572207B0A7075626C69633A0A20202F2F20496E697469616C697A65207769746820616E20454C436C69656E74206F626A6563740A2020454C436C69656E7457656253657276657228454C436C69656E742A20656C63293B0A0A20202F2F20696E697469616C697A657320746865207765622D7365727665720A2020766F696420202020736574757028293B0A0A20202F2F206372656174657320612055524C2068616E646C65720A202055524C48616E646C6572202A2063726561746555524C48616E646C657228636F6E73742063686172202A2055524C293B0A20202F2F206372656174657320612055524C2068616E646C65722066726F6D20666C6173680A202055524C48616E646C6572202A2063726561746555524C48616E646C657228636F6E7374205F5F466C617368537472696E6748656C706572202A2055524C293B0A20202F2F206372656174657320612055524C2068616E646C65722066726F6D20537472696E670A202055524C48616E646C6572202A2063726561746555524C48616E646C657228636F6E737420537472696E67202673293B0A0A20202F2F2064657374726F797320612055524C2068616E646C65720A2020766F69642020202064657374726F7955524C48616E646C65722855524C48616E646C6572202A2068616E646C6572293B0A0A20202F2F207365747320696E742076616C7565206F6620612048544D4C206669656C640A2020766F696420202020736574417267496E7428636F6E73742063686172202A206E616D652C20696E7433325F742076616C7565293B0A20202F2F207365747320696E742076616C7565206F6620612048544D4C206669656C640A2020766F696420202020736574417267496E7428636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20696E7433325F742076616C7565293B0A20202F2F2073657473204A534F4E2076616C7565206F6620612048544D4C206669656C640A2020766F6964202020207365744172674A736F6E28636F6E73742063686172202A206E616D652C20636F6E73742063686172202A2076616C7565293B0A20202F2F2073657473204A534F4E2076616C7565206F6620612048544D4C206669656C640A2020766F6964202020207365744172674A736F6E28636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20636F6E73742063686172202A2076616C7565293B0A20202F2F2073657473204A534F4E2076616C7565206F6620612048544D4C206669656C640A2020766F6964202020207365744172674A736F6E28636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20636F6E7374205F5F466C617368537472696E6748656C706572202A2076616C7565293B0A20202F2F207365747320737472696E672076616C7565206F6620612048544D4C206669656C640A2020766F696420202020736574417267537472696E6728636F6E73742063686172202A206E616D652C20636F6E73742063686172202A2076616C7565293B0A20202F2F207365747320737472696E672076616C7565206F6620612048544D4C206669656C640A2020766F696420202020736574417267537472696E6728636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20636F6E73742063686172202A2076616C7565293B0A20202F2F207365747320737472696E672076616C7565206F6620612048544D4C206669656C640A2020766F696420202020736574417267537472696E6728636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20636F6E7374205F5F466C617368537472696E6748656C706572202A2076616C7565293B0A20202F2F207365747320626F6F6C65616E2076616C7565206F6620612048544D4C206669656C640A2020766F696420202020736574417267426F6F6C65616E28636F6E73742063686172202A206E616D652C2075696E74385F742076616C7565293B0A20202F2F207365747320626F6F6C65616E2076616C7565206F6620612048544D4C206669656C640A2020766F696420202020736574417267426F6F6C65616E28636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C2075696E74385F742076616C7565293B0A20202F2F2073657473206E756C6C2076616C7565206F6620612048544D4C206669656C640A2020766F6964202020207365744172674E756C6C28636F6E73742063686172202A206E616D65293B0A20202F2F2073657473206E756C6C2076616C7565206F6620612048544D4C206669656C640A2020766F6964202020207365744172674E756C6C28636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D65293B0A20202F2F207365747320666C6F61742076616C7565206F6620612048544D4C206669656C640A2020766F696420202020736574417267466C6F617428636F6E73742063686172202A206E616D652C20666C6F61742066293B0A20202F2F207365747320666C6F61742076616C7565206F6620612048544D4C206669656C640A2020766F696420202020736574417267466C6F617428636F6E7374205F5F466C617368537472696E6748656C706572202A206E616D652C20666C6F61742066293B0A0A0A20202F2F207365744669656C6443623A2067657473207468652076616C7565206F6620746865206669656C6420617320696E74656765720A2020696E7433325F7420676574417267496E7428293B0A20202F2F207365744669656C6443623A2067657473207468652076616C7565206F6620746865206669656C6420617320737472696E670A202063686172202A2020676574417267537472696E6728293B0A20202F2F207365744669656C6443623A2067657473207468652076616C7565206F6620746865206669656C6420617320626F6F6C65616E0A202075696E74385F7420676574417267426F6F6C65616E28293B0A20202F2F207365744669656C6443623A2067657473207468652076616C7565206F6620746865206669656C6420617320666C6F61740A2020666C6F6174202020676574417267466C6F617428293B0A0A0A20202F2A2120454C436C69656E745765625365727665723A3A676574496E7374616E636528290A20204062726965662052657475726E73207468652073696E676C65746F6E207765622D73657276657220696E7374616E63652E0A20204064657461696C73205765622D53657276657220697320612073696E676C65746F6E206F626A6563742E2054686973206F626A6563742063616E20626520726561642062792063616C6C696E6720454C436C69656E745765625365727665723A3A676574496E7374616E636528292E0A20204072657475726E730A202020205468652073696E676C65746F6E207765622D73657276657220696E7374616E63652E0A202040706172204578616D706C6520636F64650A202040636F64650A20202020454C436C69656E74576562536572766572202A776562536572766572203D20454C436C69656E745765625365727665723A3A676574496E7374616E636528293B0A202040656E64636F64650A20202A2F0A202073746174696320454C436C69656E74576562536572766572202A20676574496E7374616E63652829207B2072657475726E20696E7374616E63653B207D0A0A707269766174653A0A2020454C436C69656E742A205F656C633B0A0A202073746174696320766F6964207765625365727665725061636B657448616E646C657228766F6964202A207061636B6574293B0A2020766F69642070726F63657373526573706F6E736528454C436C69656E74526573706F6E7365202A7061636B6574293B202F2F20696E7465726E616C0A202073746174696320454C436C69656E74576562536572766572202A20696E7374616E63653B0A0A202075696E74385F74202020202020202020202020202020202020202072656D6F74655F69705B345D3B0A202075696E7431365F742020202020202020202020202020202020202072656D6F74655F706F72743B0A0A20207374727563742055524C5F48414E444C4552202020202020202A2068616E646C6572733B0A202063686172202A2020202020202020202020202020202020202020206172675F7074723B0A202046503C766F69642C20766F69642A3E20202020202020202020202077656253657276657243623B0A7D3B0A0A23656E646966202F2F205F454C5F434C49454E545F5745425F5345525645525F485F0A .h examples arduino 235F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F0A230A23202020202020202020202020202020202020202020202020206564616D27732041726475696E6F206D616B6566696C650A235F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F0A23202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202076657273696F6E20302E366465760A230A2320436F707972696768742028432920323031312D3230313420746F20323031332054696D204D617273746F6E203C74696D4065642E616D3E2E0A230A23205065726D697373696F6E20697320686572656279206772616E7465642C2066726565206F66206368617267652C20746F20616E7920706572736F6E206F627461696E696E67206120636F70790A23206F66207468697320736F66747761726520616E64206173736F63696174656420646F63756D656E746174696F6E2066696C657320287468652022536F66747761726522292C20746F206465616C0A2320696E2074686520536F66747761726520776974686F7574207265737472696374696F6E2C20696E636C7564696E6720776974686F7574206C696D69746174696F6E20746865207269676874730A2320746F207573652C20636F70792C206D6F646966792C206D657267652C207075626C6973682C20646973747269627574652C207375626C6963656E73652C20616E642F6F722073656C6C0A2320636F70696573206F662074686520536F6674776172652C20616E6420746F207065726D697420706572736F6E7320746F2077686F6D2074686520536F6674776172652069730A23206675726E697368656420746F20646F20736F2C207375626A65637420746F2074686520666F6C6C6F77696E6720636F6E646974696F6E733A0A230A23205468652061626F766520636F70797269676874206E6F7469636520616E642074686973207065726D697373696F6E206E6F74696365207368616C6C20626520696E636C7564656420696E0A2320616C6C20636F70696573206F72207375627374616E7469616C20706F7274696F6E73206F662074686520536F6674776172652E0A230A232054484520534F4654574152452049532050524F564944454420224153204953222C20574954484F55542057415252414E5459204F4620414E59204B494E442C2045585052455353204F520A2320494D504C4945442C20494E434C5544494E4720425554204E4F54204C494D4954454420544F205448452057415252414E54494553204F46204D45524348414E544142494C4954592C0A23204649544E45535320464F52204120504152544943554C415220505552504F534520414E44204E4F4E494E4652494E47454D454E542E2020494E204E4F204556454E54205348414C4C205448450A2320415554484F5253204F5220434F5059524947485420484F4C44455253204245204C4941424C4520464F5220414E5920434C41494D2C2044414D41474553204F52204F544845520A23204C494142494C4954592C205748455448455220494E20414E20414354494F4E204F4620434F4E54524143542C20544F5254204F52204F54484552574953452C2041524953494E472046524F4D2C0A23204F5554204F46204F5220494E20434F4E4E454354494F4E20574954482054484520534F465457415245204F522054484520555345204F52204F54484552204445414C494E475320494E205448450A2320534F4654574152452E0A230A235F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F0A230A230A23205468697320697320612067656E6572616C20707572706F7365206D616B6566696C6520666F722075736520776974682041726475696E6F20686172647761726520616E640A2320736F6674776172652E2020497420697320696E74656E64656420746F20626520612064726F702D696E207265706C6163656D656E7420666F72207468652041726475696E6F2049444527730A23206275696C642073797374656D2E2020497420776F726B732077697468207468652041726475696E6F20312E3020616E6420312E3520736F6674776172652072656C65617365732C206F6E0A2320474E552F4C696E757820616E64204F5320582E2020546F20646F776E6C6F616420746865206C61746573742076657273696F6E206F662074686973206D616B6566696C652076697369740A232074686520666F6C6C6F77696E67207765627369746520776865726520796F752063616E20616C736F2066696E6420646F63756D656E746174696F6E206F6E2069742773207573652E0A23202854686520666F6C6C6F77696E6720746578742063616E206F6E6C79207265616C6C7920626520636F6E736964657265642061207265666572656E63652E290A230A23202020687474703A2F2F65642E616D2F6465762F6D616B652F61726475696E6F2D6D6B0A230A2320546F207573652074686973206D616B6566696C652C20636F70792061726475696E6F2E6D6B20696E20746F20796F75722070726F6A656374206469726563746F72792E20204F722C20796F750A2320636F756C64207361766520697420736F6D657768657265202849206B656570206D696E65206174207E2F7372632F61726475696E6F2E6D6B2920616E642063726561746520610A232073796D6C696E6B20746F20697420696E20796F75722070726F6A656374206469726563746F72792C206E616D656420224D616B6566696C65222E2020466F72206578616D706C653A0A230A2320202024206C6E202D73207E2F7372632F61726475696E6F2E6D6B204D616B6566696C650A230A23205468652041726475696E6F20736F667477617265202876657273696F6E20312E30206F72206C617465722C20696E636C7564696E6720746865206E657720312E352042455441292069730A232072657175697265642E20204F6E20474E552F4C696E757820796F752063616E2070726F6261626C7920696E7374616C6C2074686520736F6674776172652066726F6D20796F75720A23207061636B616765206D616E616765722E2020496620796F7520617265207573696E672044656269616E20286F7220612064657269766174697665292C2074727920606170742D6765740A2320696E7374616C6C2061726475696E6F602E20204F74686572776973652C20796F752063616E20646F776E6C6F6164207468652041726475696E6F20736F667477617265206D616E75616C6C790A232066726F6D20687474703A2F2F61726475696E6F2E63632F2E2020497420697320737567676573746564207468617420796F7520696E7374616C6C2069742061740A23207E2F6F70742F61726475696E6F20286F72202F4170706C69636174696F6E73206F6E204F5320582920696620796F752061726520756E737572652E0A230A2320496620796F7520646F776E6C6F61646564207468652041726475696E6F20736F667477617265206D616E75616C6C7920616E6420756E7061636B656420697420736F6D6577686572650A23202A6F746865722A207468616E207E2F6F70742F61726475696E6F20286F72202F4170706C69636174696F6E73292C20796F752077696C6C206E65656420746F20736574207570207468650A232041524455494E4F44495220656E7669726F6E6D656E74207661726961626C6520746F20626520746865206469726563746F727920776865726520796F7520756E7061636B65642069742E0A232028496620756E7365742C2041524455494E4F4449522064656661756C747320746F20736F6D652073656E7369626C6520706C61636573292E2020596F7520636F756C642073657420746869730A2320696E20796F7572207E2F2E70726F66696C6520627920616464696E6720736F6D657468696E67206C696B6520746869733A0A230A232020206578706F72742041524455494E4F4449523D7E2F736F6D6577686572652F61726475696E6F2D312E302E350A230A2320466F7220656163682070726F6A6563742C20796F752077696C6C20616C736F206E65656420746F2073657420424F41524420746F207468652074797065206F662041726475696E6F0A2320796F75277265206275696C64696E6720666F722E20205479706520606D616B6520626F617264736020666F722061206C697374206F662061636365707461626C652076616C7565732E0A2320466F72206578616D706C653A0A230A2320202024206578706F727420424F4152443D756E6F0A230A23204E6F7465207468617420696620796F75277265207573696E6720746865206E6577657220312E352041726475696E6F20736F66747761726520616E642074686520626F61726420796F750A232077616E7420746F2075736520697320617661696C626C65207769746820646966666572656E742070726F636573736F72732C20796F752077696C6C20616C736F206E65656420746F0A232073706563696679206F6E652E2020466F72206578616D706C653A0A230A2320202024206578706F727420424F4152443D6D696E692E61746D6567613332380A230A2320596F75206D617920616C736F206E65656420746F207365742053455249414C44455620696620796F75722041726475696E6F206973206E6F7420646574656374656420636F72726563746C792E0A230A23205468652070726573656E6365206F662061202E696E6F20286F72202E706465292066696C6520636175736573207468652061726475696E6F2E6D6B20746F206175746F6D61746963616C6C790A232064657465726D696E652076616C75657320666F7220534F55524345532C2054415247455420616E64207768696368206C696272617269657320746F2070756C6C2D696E20746F207468650A23206275696C642028616C74686F75676820796F752063616E207374696C6C206F766572726964652074686975732062792073657474696E67204C4942524152494553292E2020416E79202E632C0A23202E636320616E64202E6370702066696C657320696E207468652070726F6A656374206469726563746F727920286F7220616E7920227574696C22206F7220227574696C697479220A23207375626469726563746F726965732920617265206175746F6D61746963616C6C7920696E636C7564656420696E20746865206275696C6420616E6420617265207363616E6E656420666F720A232041726475696E6F206C696272617269657320746861742068617665206265656E2023696E636C756465642E20204E6F74652C2074686572652063616E206F6E6C79206265206F6E65202E696E6F0A2320286F72202E706465292066696C6520696E20612070726F6A656374206469726563746F727920616E6420696620796F752077616E7420746F20626520636F6D70617469626C6520776974680A23207468652041726475696E6F204944452C2069742073686F756C642062652063616C6C6564207468652073616D6520617320746865206469726563746F7279206E616D652E0A230A2320416C7465726E61746976656C792C20696620796F752077616E7420746F206D616E75616C6C792073706563696679206275696C64207661726961626C65732C2063726561746520610A23204D616B6566696C65207468617420646566696E657320534F555243455320616E64204C494252415249455320616E64207468656E20696E636C756465732061726475696E6F2E6D6B2E0A232028596F7520646F6E2774206E65656420746F20646566696E6520544152474554292E2020596F752063616E20616C736F20737065636966792074686520424F41524420686572652C2069660A23207468652070726F6A656374206861732061207370656369666963206F6E652E20204865726520697320616E206578616D706C65204D616B6566696C653A0A230A23202020534F5552434553203A3D206D61696E2E6363206F746865722E63630A232020204C4942524152494553203A3D20454550524F4D0A23202020424F415244203A3D2070726F35760A23202020696E636C756465207E2F7372632F61726475696E6F2E6D6B0A230A232048657265206973206120636F6D706C657465206C697374206F6620656E7669726F6E6D656E74207661726961626C657320746861742061666665637420746865206275696C643A0A230A232041524455494E4F444952202020546865206469726563746F7279207768657265207468652041726475696E6F20736F6674776172652072657369646573206F6E20796F75722073797374656D2E0A230A232041524455494E4F434F4E5354205468652041726475696E6F20736F6674776172652076657273696F6E2C20617320616E20696E74656765722C207573656420746F20646566696E65207468650A23202020202020202020202020202041524455494E4F2076657273696F6E20636F6E7374616E742E2020546869732064656661756C747320746F2031303020696620756E646566696E65642E0A230A232041565244554445434F4E46202054686520617672647564652E636F6E6620746F207573652E2020496620756E646566696E65642C20746869732064656661756C747320746F20612067756573730A2320202020202020202020202020206261736564206F6E20776865726520617672647564652069732E202049662073657420656D7074792C206E6F20617672647564652E636F6E662069730A23202020202020202020202020202070617373656420746F20617672647564652028736F207468652073797374656D2064656661756C742069732075736564292E0A230A232041565244554445464C414753205370656369667920616E79206164646974696F6E616C20666C61677320666F7220617672647564652E202054686520757375616C20666C6167732C0A232020202020202020202020202020726571756972656420746F206275696C64207468652070726F6A6563742C2077696C6C20626520617070656E64656420746F20746869732E0A230A2320415652544F4F4C535041544820412073706163652D736570617261746564206C697374206F66206469726563746F72696573207468617420697320736561726368656420696E206F726465720A2320202020202020202020202020207768656E206C6F6F6B696E6720666F722074686520617672206275696C6420746F6F6C732E2020546869732064656661756C747320746F20504154482C0A232020202020202020202020202020666F6C6C6F776564206279207375626469726563746F7269657320696E2041524455494E4F4449522E0A230A2320424F41524420202020202020205370656369667920612074617267657420626F61726420747970652E202052756E20606D616B6520626F617264736020746F2073656520617661696C61626C650A232020202020202020202020202020626F6172642074797065732E2020466F722041726475696E6F20312E352C20796F752077696C6C20616C736F206E65656420746F207370656369667920610A23202020202020202020202020202070726F636573736F722069662074686520626F61726420737570706F727473206D756C7469706C652070726F636573736F727320287365652061626F7665292E0A230A2320435050464C41475320202020205370656369667920616E79206164646974696F6E616C20666C61677320666F722074686520636F6D70696C65722E202054686520757375616C20666C6167732C0A232020202020202020202020202020726571756972656420746F206275696C64207468652070726F6A6563742C2077696C6C20626520617070656E64656420746F20746869732E0A230A23204C494E4B464C414753202020205370656369667920616E79206164646974696F6E616C20666C61677320666F7220746865206C696E6B65722E202054686520757375616C20666C6167732C0A232020202020202020202020202020726571756972656420746F206275696C64207468652070726F6A6563742C2077696C6C20626520617070656E64656420746F20746869732E0A230A23204C49425241524945532020202041206C697374206F662041726475696E6F206C696272617269657320746F206275696C6420616E6420696E636C7564652E202054686973206973207365740A2320202020202020202020202020206175746F6D61746963616C6C792069662061202E696E6F20286F72202E7064652920697320666F756E642E0A230A23204C494252415259504154482020412073706163652D736570617261746564206C697374206F66206469726563746F72696573207468617420697320736561726368656420696E206F726465720A2320202020202020202020202020207768656E206C6F6F6B696E6720666F722041726475696E6F206C69627261726965732E2020546869732064656661756C747320746F20226C696273222C0A232020202020202020202020202020226C6962726172696573222028696E207468652070726F6A656374206469726563746F7279292C207468656E20796F757220736B65746368626F6F6B0A232020202020202020202020202020226C696272617269657322206469726563746F72792C207468656E207468652041726475696E6F206C6962726172696573206469726563746F72792E0A230A232053455249414C4445562020202054686520504F53495820646576696365206E616D65206F66207468652073657269616C206465766963652074686174206973207468652041726475696E6F2E0A232020202020202020202020202020496620756E7370656369666965642C20616E20617474656D7074206973206D61646520746F20677565737320746865206E616D65206F6620610A232020202020202020202020202020636F6E6E65637465642041726475696E6F27732073657269616C206465766963652C207768696368206D617920776F726B20696E20736F6D652063617365732E0A230A2320534F555243455320202020202041206C697374206F6620616C6C20736F757263652066696C6573206F66207768617465766572206C616E67756167652E2020546865206C616E67756167650A232020202020202020202020202020747970652069732064657465726D696E6564206279207468652066696C6520657874656E73696F6E2E202054686973206973207365740A2320202020202020202020202020206175746F6D61746963616C6C792069662061202E696E6F20286F72202E7064652920697320666F756E642E0A230A232054415247455420202020202020546865206E616D65206F6620746865207461726765742066696C652E20205468697320697320736574206175746F6D61746963616C6C7920696620610A2320202020202020202020202020202E696E6F20286F72202E7064652920697320666F756E642C20627574206974206973206E6F74206E656365737361727920746F207365742069740A2320202020202020202020202020206F74686572776973652E0A230A232054686973206D616B6566696C6520616C736F20646566696E65732074686520666F6C6C6F77696E6720676F616C7320666F7220757365206F6E2074686520636F6D6D616E64206C696E650A23207768656E20796F752072756E206D616B653A0A230A2320616C6C2020202020202020202054686973206973207468652064656661756C74206966206E6F20676F616C206973207370656369666965642E20204974206275696C6473207468650A2320202020202020202020202020207461726765742E0A230A2320746172676574202020202020204275696C647320746865207461726765742E0A230A232075706C6F61642020202020202055706C6F616473207468652074617267657420286275696C64696E672069742C206173206E65636573736172792920746F20616E2061747461636865640A23202020202020202020202020202041726475696E6F2E0A230A2320636C65616E202020202020202044656C657465732066696C6573206372656174656420647572696E6720746865206275696C642E0A230A2320626F6172647320202020202020446973706C61792061206C697374206F6620617661696C61626C6520626F617264206E616D65732C20736F207468617420796F752063616E20736574207468650A232020202020202020202020202020424F41524420656E7669726F6E6D656E74207661726961626C6520617070726F7072696174656C792E0A230A23206D6F6E69746F722020202020205374617274206073637265656E60206F6E207468652073657269616C206465766963652E202054686973206973206D65616E7420746F20626520616E0A2320202020202020202020202020206571756976616C656E7420746F207468652041726475696E6F2073657269616C206D6F6E69746F722E0A230A232073697A65202020202020202020446973706C6179732073697A6520696E666F726D6174696F6E2061626F757420746865206275696C74207461726765742E0A230A2320626F6F746C6F616465722020204275726E732074686520626F6F746C6F6164657220666F7220796F757220626F61726420746F2069742E0A230A23203C66696C653E202020202020204275696C647320746865207370656369666965642066696C652C2065697468657220616E206F626A6563742066696C65206F7220746865207461726765742C0A23202020202020202020202020202066726F6D2074686F73652074686174207468617420776F756C64206265206275696C7420666F72207468652070726F6A6563742E0A235F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F0A230A0A232064656661756C742061726475696E6F20736F667477617265206469726563746F72790A69666E6465662041524455494E4F4449520A41524455494E4F444952203A3D2024286669727374776F726420242877696C6463617264207E2F6F70742F61726475696E6F202F7573722F73686172652F61726475696E6F205C0A092F4170706C69636174696F6E732F41726475696E6F2E6170702F436F6E74656E74732F5265736F75726365732F4A617661205C0A092428484F4D45292F4170706C69636174696F6E732F41726475696E6F2E6170702F436F6E74656E74732F5265736F75726365732F4A61766129290A656E6469660A0A2320636865636B2041524455494E4F4449522028616E642064657465726D696E65207768696368206261636B656E64732061726520617661696C61626C65290A69666E65712022222022242877696C646361726420242841524455494E4F444952292F68617264776172652F61726475696E6F2F626F617264732E74787429220A41524455494E4F4241434B454E4453203A3D202F0A656C73652069666E65712022222022242877696C646361726420242841524455494E4F444952292F68617264776172652F61726475696E6F2F6176722F626F617264732E74787429220A41524455494E4F4241434B454E4453203A3D202F617672202F73616D0A656C73650A24286572726F722041524455494E4F444952206973206E6F742073657420636F72726563746C793B2061726475696E6F20736F667477617265206E6F7420666F756E64290A656E6469660A0A23206E6F20626F6172643F0A69666E64656620424F4152440A69666E6571202224284D414B45434D44474F414C5329222022626F61726473220A69666E6571202224284D414B45434D44474F414C5329222022636C65616E220A24286572726F7220424F41524420697320756E7365742E20205479706520276D616B6520626F617264732720746F2073656520706F737369626C652076616C756573290A656E6469660A656E6469660A656E6469660A0A23206F627461696E20626F61726420706172616D65746572732066726F6D207468652061726475696E6F20626F617264732E7478742066696C652873290A424F4152445346494C4553203A3D202428666F7265616368206469722C20242841524455494E4F4241434B454E4453292C205C0A09242841524455494E4F444952292F68617264776172652F61726475696E6F2428646972292F626F617264732E747874290A696665712022242841524455494E4F4241434B454E4453292220222F220A72656164626F61726473706172616D203D2024287368656C6C20736564202D6E652022732F5E2428424F415244295C5C2E242831293D5C282E2A5C292F5C312F7022205C0A20202020202020202428424F4152445346494C455329290A656C73650A72656164626F61726473706172616D203D2024286669727374776F7264205C0A09242863616C6C2072656164626F617264736D656E75706172616D2C242831292C2428626173656E616D65202428424F41524429292C2428737566666978202428424F415244292929205C0A0924287368656C6C20736564202D6E652022732F5E2428626173656E616D65202428424F41524429295C5C2E242831293D5C282E2A5C292F5C312F7022205C0A09092428424F4152445346494C45532929290A69666E65712022242877696C6463617264202F7573722F62696E2F7065726C29222022220A72656164626F617264736D656E75706172616D203D2024287368656C6C207065726C202D6E65205C0A09272F5E242832295C2E6D656E755C2E6370752F20262620732F2E2A242833295C2E242831293D282E2A292F5C312F69202626207072696E7427202428424F4152445346494C455329290A656C73650A72656164626F617264736D656E75706172616D203D2024287368656C6C20736564202D6E6520272F5E242832295C2E6D656E755C2E6370752F207B27205C0A092D652027732F2E2A242833295C2E242831293D5C282E2A5C292F5C312F7027202D6520277D27202428424F4152445346494C455329290A656E6469660A656E6469660A424F4152445F4255494C445F4D4355203A3D20242863616C6C2072656164626F61726473706172616D2C6275696C642E6D6375290A424F4152445F4255494C445F46435055203A3D20242863616C6C2072656164626F61726473706172616D2C6275696C642E665F637075290A424F4152445F4255494C445F56415249414E54203A3D20242863616C6C2072656164626F61726473706172616D2C6275696C642E76617269616E74290A424F4152445F4255494C445F434F5245203A3D20242863616C6C2072656164626F61726473706172616D2C6275696C642E636F7265290A424F4152445F4255494C445F424F415244203A3D20242863616C6C2072656164626F61726473706172616D2C6275696C642E626F617264290A424F4152445F55504C4F41445F5350454544203A3D20242863616C6C2072656164626F61726473706172616D2C75706C6F61642E7370656564290A424F4152445F55504C4F41445F50524F544F434F4C203A3D20242863616C6C2072656164626F61726473706172616D2C75706C6F61642E70726F746F636F6C290A424F4152445F5553425F564944203A3D20242863616C6C2072656164626F61726473706172616D2C6275696C642E766964290A424F4152445F5553425F504944203A3D20242863616C6C2072656164626F61726473706172616D2C6275696C642E706964290A424F4152445F424F4F544C4F414445525F554E4C4F434B203A3D20242863616C6C2072656164626F61726473706172616D2C626F6F746C6F616465722E756E6C6F636B5F62697473290A424F4152445F424F4F544C4F414445525F4C4F434B203A3D20242863616C6C2072656164626F61726473706172616D2C626F6F746C6F616465722E6C6F636B5F62697473290A424F4152445F424F4F544C4F414445525F4C4655534553203A3D20242863616C6C2072656164626F61726473706172616D2C626F6F746C6F616465722E6C6F775F6675736573290A424F4152445F424F4F544C4F414445525F484655534553203A3D20242863616C6C2072656164626F61726473706172616D2C626F6F746C6F616465722E686967685F6675736573290A424F4152445F424F4F544C4F414445525F454655534553203A3D20242863616C6C2072656164626F61726473706172616D2C626F6F746C6F616465722E657874656E6465645F6675736573290A424F4152445F424F4F544C4F414445525F50415448203A3D20242863616C6C2072656164626F61726473706172616D2C626F6F746C6F616465722E70617468290A424F4152445F424F4F544C4F414445525F46494C45203A3D20242863616C6C2072656164626F61726473706172616D2C626F6F746C6F616465722E66696C65290A0A2320696E76616C696420626F6172643F0A6966657120222428424F4152445F4255494C445F4D435529222022220A69666E6571202224284D414B45434D44474F414C5329222022626F61726473220A69666E6571202224284D414B45434D44474F414C5329222022636C65616E220A24286572726F7220424F41524420697320696E76616C69642E20205479706520276D616B6520626F617264732720746F2073656520706F737369626C652076616C756573290A656E6469660A656E6469660A656E6469660A0A23206F627461696E20707265666572656E6365732066726F6D2074686520494445277320707265666572656E6365732E7478740A505245464552454E43455346494C45203A3D2024286669727374776F726420242877696C6463617264205C0A092428484F4D45292F2E61726475696E6F2F707265666572656E6365732E747874202428484F4D45292F4C6962726172792F41726475696E6F2F707265666572656E6365732E74787429290A69666E657120222428505245464552454E43455346494C4529222022220A72656164707265666572656E636573706172616D203D2024287368656C6C20736564202D6E652022732F242831293D5C282E2A5C292F5C312F7022202428505245464552454E43455346494C4529290A534B45544348424F4F4B444952203A3D20242863616C6C2072656164707265666572656E636573706172616D2C736B65746368626F6F6B2E70617468290A656E6469660A0A232061726475696E6F206469726563746F726965730A41524455494E4F4241434B454E44444952203A3D2024287374726970202428666F7265616368206469722C20242841524455494E4F4241434B454E4453292C205C0A09242869662024287368656C6C2067726570205E2428626173656E616D65202428424F41524429295C5C2E6E616D65205C0A0909242841524455494E4F444952292F68617264776172652F61726475696E6F2428646972292F626F617264732E747874292C205C0A09242841524455494E4F444952292F68617264776172652F61726475696E6F2428646972292929290A41524455494E4F4241434B454E44415243483D4156520A41524455494E4F434F5245444952203A3D20242841524455494E4F4241434B454E44444952292F636F7265732F2428424F4152445F4255494C445F434F5245290A0A232064656661756C74206C69627261727920706174682028706C6163657320746F206C6F6F6B20666F72206C6962726172696573290A4C49425241525950415448203F3D206C6962726172696573206C696273202428534B45544348424F4F4B444952292F6C6962726172696573205C0A09242841524455494E4F444952292F6C696272617269657320242841524455494E4F4241434B454E44444952292F6C69627261726965730A0A23206175746F206D6F64653F0A494E4F46494C45203A3D20242877696C6463617264202A2E696E6F202A2E706465290A696664656620494E4F46494C450A69666E657120222428776F726473202428494E4F46494C45292922202231220A24286572726F72205468657265206973206D6F7265207468616E206F6E65202E706465206F72202E696E6F2066696C6520696E2074686973206469726563746F727921290A656E6469660A0A23206175746F6D61746963616C6C792064657465726D696E6520736F757263657320616E64207461726765740A544152474554203A3D202428626173656E616D65202428494E4F46494C4529290A534F5552434553203A3D202428494E4F46494C4529205C0A09242877696C6463617264202A2E63202A2E6363202A2E637070202A2E43202A2E73202A2E5329205C0A09242877696C6463617264202428616464707265666978207574696C2F2C202A2E63202A2E6363202A2E637070202A2E43202A2E73202A2E532929205C0A09242877696C6463617264202428616464707265666978207574696C6974792F2C202A2E63202A2E6363202A2E637070202A2E43202A2E73202A2E5329290A0A23206175746F6D61746963616C6C792064657465726D696E65206C696272617279206469726563746F726965732028746F2070756C6C206C69627261727920736F757263657320696E2066726F6D290A23206279206D61746368696E6720696E636C75646564206865616465727320696E2070726F6A65637420736F757263657320746F2068656164657273207468617420657869737420696E207468650A2320726F6F7473206F6620616E79206C696272617279206469726563746F726965732C20676976696E67207072696F7269747920746F206C696272617269657320696E20746865206F726465720A23207468657927726520696E204C494252415259504154482C20616E64207468656E20746F2074686520616C7068616265746963616C6C792D67726561746572206E616D6564206C6962726172790A232028746869732069732061207265616C6C792073747570696420776179206F6620646F696E672069742C20627574206974277320686F77207468652049444520776F726B73202D2D2069660A2320697427732063617573696E672070726F626C656D732C20796F752063616E206F766572726964652069742062792073657474696E67204C4942524152494553206D616E75616C6C79290A494E434C5544454448454144455253203A3D2024287368656C6C20736564202D6E6520272F5E5B205C745D2A5C235B205C745D2A696E636C7564655B205C743C225D2F207B27205C0A09202D652027732F5E2E2A5B3C225D5C282E2A5C295B3E225D2E2A2F5C312F7027202D6520277D27202428534F555243455329290A72657665727365203D202428696620242831292C242863616C6C20726576657273652C2428776F72646C69737420322C2428776F7264732024283129292C24283129292929205C0A0924286669727374776F72642024283129290A4C49425241525948454144455253203A3D202428666F7265616368206469722C2024284C49425241525950415448292C205C0A09242863616C6C20726576657273652C202428736F727420242877696C6463617264202428646972292F2A292929290A4C49425241525948454144455253203A3D202428666F7265616368206469722C2024284C49425241525948454144455253292C20242877696C6463617264202428646972292F2A2E6829290A4C49425241525944495253203A3D202428666F7265616368206864722C202428494E434C5544454448454144455253292C202428706174737562737420252F2428686472292C20252C205C0A0924286669727374776F726420242866696C74657220252F2428686472292C2024284C4942524152594845414445525329292929290A0A656E6469660A0A2320657870616E64204C494252415259444952532028696E697469616C697365642066726F6D204C49425241524945532C20696620737065636966696564290A69666E6571202224284C494252415249455329222022220A4C49425241525944495253203A3D202428666F7265616368206C69622C2024284C4942524152494553292C205C0A0924286669727374776F726420242877696C6463617264202428616464737566666978202F24286C6962292C2024284C4942524152595041544829292929290A2428696E666F204C49425241524945533D24284C494252415249455329204C494252415259444952533D24284C4942524152594449525329290A656E6469660A4C49425241525944495253203A3D2024284C4942524152594449525329205C0A092428616464737566666978202F7574696C6974792C2024284C494252415259444952532929205C0A092428616464737566666978202F7372632C2024284C4942524152594449525329290A0A0A232066696C65730A544152474554203A3D2024286966202428544152474554292C2428544152474554292C612E6F7574290A4F424A45435453203A3D202428616464737566666978202E6F2C202428626173656E616D65202428534F55524345532929290A44455046494C4553203A3D202428706174737562737420252C202E6465702F252E6465702C202428534F555243455329290A41524455494E4F4C4942203A3D202E6C69622F61726475696E6F2E610A41524455494E4F4C49424F424A53203A3D202428666F7265616368206469722C20242841524455494E4F434F5245444952292024284C49425241525944495253292C205C0A092428706174737562737420252C202E6C69622F252E6F2C20242877696C6463617264202428616464707265666978202428646972292F2C205C0A09092A2E63202A2E6363202A2E637070202A2E43202A2E73202A2E53292929290A424F4F544C4F41444552484558203A3D202428616464707265666978205C0A09242841524455494E4F4241434B454E44444952292F626F6F746C6F61646572732F2428424F4152445F424F4F544C4F414445525F50415448292F2C205C0A092428424F4152445F424F4F544C4F414445525F46494C4529290A0A2320736F6674776172650A4255494C44544F4F4C5350415448203F3D2024287375627374203A2C202C20242850415448292920242841524455494E4F444952292F68617264776172652F746F6F6C73205C0A09242841524455494E4F444952292F68617264776172652F746F6F6C732F6176722F62696E0A66696E64736F667477617265203D2024286669727374776F726420242877696C6463617264202428616464737566666978202F242831292C2024284255494C44544F4F4C5350415448292929290A4343203A3D20242863616C6C2066696E64736F6674776172652C6176722D676363290A435858203A3D20242863616C6C2066696E64736F6674776172652C6176722D672B2B290A4C44203A3D20242863616C6C2066696E64736F6674776172652C6176722D6C64290A4152203A3D20242863616C6C2066696E64736F6674776172652C6176722D6172290A4153203A3D20242863616C6C2066696E64736F6674776172652C6176722D6173290A4F424A434F5059203A3D20242863616C6C2066696E64736F6674776172652C6176722D6F626A636F7079290A41565244554445203A3D20242863616C6C2066696E64736F6674776172652C61767264756465290A41565253495A45203A3D20242863616C6C2066696E64736F6674776172652C6176722D73697A65290A0A232064656661756C742061726475696E6F2076657273696F6E0A41524455494E4F434F4E5354203F3D202428696620242866696C746572202F2C20242841524455494E4F4241434B454E445329292C3130302C313530290A0A232064656661756C742073657269616C2064657669636520746F206120706F6F722067756573732028736F6D657468696E672074686174206D6967687420626520616E2061726475696E6F290A53455249414C4445564755455353203A3D20300A69666E6465662053455249414C4445560A53455249414C444556203A3D2024286669727374776F726420242877696C6463617264205C0A092F6465762F74747941434D3F202F6465762F7474795553423F202F6465762F7474792E75736273657269616C2A202F6465762F7474792E7573626D6F64656D2A29290A53455249414C4445564755455353203A3D20310A656E6469660A0A23206176726475646520636F6E66696675726174696F6E0A696665712022242841565244554445434F4E4629222022220A69666571202224284156524455444529222022242841524455494E4F444952292F68617264776172652F746F6F6C732F6176722F62696E2F61767264756465220A41565244554445434F4E46203A3D20242841524455494E4F444952292F68617264776172652F746F6F6C732F6176722F6574632F617672647564652E636F6E660A656C73650A41565244554445434F4E46203A3D20242877696C646361726420242841565244554445292E636F6E66290A656E6469660A656E6469660A0A2320666C6167730A435050464C414753202B3D202D4F73202D57616C6C202D666E6F2D657863657074696F6E73202D6666756E6374696F6E2D73656374696F6E73202D66646174612D73656374696F6E730A435050464C414753202B3D202D66756E7369676E65642D63686172202D66756E7369676E65642D6269746669656C6473202D667061636B2D737472756374202D6673686F72742D656E756D730A435050464C414753202B3D202D667065726D697373697665202D6D6D63753D2428424F4152445F4255494C445F4D4355290A435050464C414753202B3D202D44465F4350553D2428424F4152445F4255494C445F4643505529202D4441524455494E4F3D242841524455494E4F434F4E5354290A435050464C414753202B3D202D4441524455494E4F5F2428424F4152445F4255494C445F424F41524429202D4441524455494E4F5F415243485F242841524455494E4F4241434B454E4441524348290A435050464C414753202B3D202D445553425F5649443D2428424F4152445F5553425F56494429202D445553425F5049443D2428424F4152445F5553425F504944290A435050464C414753202B3D202D492E202D497574696C202D497574696C697479202D4920242841524455494E4F434F5245444952290A435050464C414753202B3D202D4920242841524455494E4F4241434B454E44444952292F76617269616E74732F2428424F4152445F4255494C445F56415249414E54292F0A435050464C414753202B3D202428616464707265666978202D49202C2024284C4942524152594449525329290A435050444550464C414753203D202D4D4D44202D4D50202D4D46202E6465702F243C2E6465700A435050494E4F464C414753203A3D202D7820632B2B202D696E636C75646520242841524455494E4F434F5245444952292F41726475696E6F2E680A41565244554445464C414753202B3D202428616464707265666978202D43202C20242841565244554445434F4E462929202D44560A41565244554445464C414753202B3D202D702428424F4152445F4255494C445F4D435529202D50242853455249414C44455629202D632428424F4152445F55504C4F41445F50524F544F434F4C290A41565244554445464C414753202B3D202428616464707265666978202D622C202428424F4152445F55504C4F41445F535045454429290A4C494E4B464C414753202B3D202D4F73202D576C2C2D2D67632D73656374696F6E73202D6D6D63753D2428424F4152445F4255494C445F4D4355290A0A2320666967757265206F75742077686963682061726720746F20757365207769746820737474792028666F72204F5320582C20474E5520616E642062757379626F782073747479290A5354545946415247203A3D2024287368656C6C2073747479202D2D68656C7020323E2631207C205C0A0967726570202D712027696C6C6567616C206F7074696F6E27202626206563686F202D66207C7C206563686F202D46290A0A2320696E636C75646520646570656E64656E636965730A69666E6571202224284D414B45434D44474F414C5329222022636C65616E220A2D696E636C75646520242844455046494C4553290A656E6469660A0A232064656661756C742072756C650A2E44454641554C545F474F414C203A3D20616C6C0A0A235F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F0A23202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202052554C45530A0A2E50484F4E593A09616C6C207461726765742075706C6F616420636C65616E20626F61726473206D6F6E69746F722073697A6520626F6F746C6F616465720A0A616C6C3A207461726765740A0A7461726765743A202428544152474554292E6865780A0A75706C6F61643A207461726765740A09406563686F20225C6E55706C6F6164696E6720746F20626F6172642E2E2E220A094074657374202D6E2022242853455249414C4445562922207C7C207B205C0A09096563686F20226572726F723A2053455249414C44455620636F756C64206E6F742062652064657465726D696E6564206175746F6D61746963616C6C792E22203E26323B205C0A09096578697420313B207D0A0940746573742030202D657120242853455249414C444556475545535329207C7C207B205C0A09096563686F20222A4755455353494E472A2061742073657269616C206465766963653A2220242853455249414C444556293B205C0A09096563686F3B207D0A6966657120222428424F4152445F424F4F544C4F414445525F50415448292220226361746572696E61220A097374747920242853545459464152472920242853455249414C4445562920737065656420313230300A09736C65657020310A656C736520696665712022222022242866696C746572206E65743A25207573623A252C242853455249414C4445562929220A097374747920242853545459464152472920242853455249414C4445562920687570636C0A656E6469660A092428415652445544452920242841565244554445464C41475329202D5520666C6173683A773A2428544152474554292E6865783A690A0A636C65616E3A0A09726D202D662024284F424A45435453290A09726D202D66202428544152474554292E656C66202428544152474554292E68657820242841524455494E4F4C494229202A7E0A09726D202D7266202E6C6962202E6465700A0A626F617264733A0A09406563686F2022417661696C61626C6520424F4152442076616C7565733A220A0940736564202D6E6520272F5B5B3A616C6E756D3A5D5D2A5C2E6E616D653D2F7027205C0A09092D6520272F5E5B5B3A616C6E756D3A5D5D2A5C2E6D656E755C2E6370755C2E5B5B3A616C6E756D3A5D5D2A3D2F7027202428424F4152445346494C455329207C205C0A0909736564202D652027732F5C285B5B3A616C6E756D3A5D5D2A5C295C2E6E616D653D5C282E2A5C292F5C31202020202020202020202020202020202020205C322F27205C0A0909092D652027732F5E2E2A5C285C2E5B5B3A616C6E756D3A5D5D2A5C293D5C282E2A5C292F20205C312020202020202020202020202020202020202D2D5C322F27205C0A0909092D652027732F5C282E5C7B31395C7D5C29202A5C282E2A5C292F20205C31205C322F27202D652027732F2D2D2F20202E2E2E77697468202F270A69666E65712022242841524455494E4F4241434B454E4453292220222F220A09406563686F0A09406563686F20224E4F54453A207768657265206120626F61726420737570706F727473206D756C7469706C6520435055732C20796F75206D757374207370656369667922205C0A0909226F6E652E2020466F72206578616D706C652C220A09406563686F202227756E6F27206973204F4B2C20616E6420736F206973202770726F2E31366D687A61746D656761333238272E2020427574202770726F272C206F6E22205C0A090922697473206F776E2C206973206E6F742E220A656E6469660A0A6D6F6E69746F723A0A094074657374202D6E2022242853455249414C4445562922207C7C207B205C0A09096563686F20226572726F723A2053455249414C44455620636F756C64206E6F742062652064657465726D696E6564206175746F6D61746963616C6C792E22203E26323B205C0A09096578697420313B207D0A094074657374202D6E206077686963682073637265656E60207C7C207B205C0A09096563686F20226572726F723A2063616E27742066696E6420474E552073637265656E2C20796F75206D69676874206E65656420746F20696E7374616C6C2069742E22203E2632205C0A09096578697420313B207D0A0940746573742030202D657120242853455249414C444556475545535329207C7C207B205C0A09096563686F20222A4755455353494E472A2061742073657269616C206465766963653A2220242853455249414C444556293B205C0A09096563686F3B207D0A0973637265656E20242853455249414C444556290A0A73697A653A202428544152474554292E656C660A096563686F20225C6E2220262620242841565253495A4529202D2D666F726D61743D617672202D2D6D63753D2428424F4152445F4255494C445F4D435529202428544152474554292E656C660A0A626F6F746C6F616465723A0A09406563686F20224275726E696E6720626F6F746C6F6164657220746F20626F6172642E2E2E220A094074657374202D6E2022242853455249414C4445562922207C7C207B205C0A09096563686F20226572726F723A2053455249414C44455620636F756C64206E6F742062652064657465726D696E6564206175746F6D61746963616C6C792E22203E26323B205C0A09096578697420313B207D0A0940746573742030202D657120242853455249414C444556475545535329207C7C207B205C0A09096563686F20222A4755455353494E472A2061742073657269616C206465766963653A2220242853455249414C444556293B205C0A09096563686F3B207D0A097374747920242853545459464152472920242853455249414C4445562920687570636C0A092428415652445544452920242841565244554445464C41475329202D55206C6F636B3A773A2428424F4152445F424F4F544C4F414445525F554E4C4F434B293A6D0A092428415652445544452920242841565244554445464C41475329202D6555206C667573653A773A2428424F4152445F424F4F544C4F414445525F4C4655534553293A6D0A092428415652445544452920242841565244554445464C41475329202D552068667573653A773A2428424F4152445F424F4F544C4F414445525F484655534553293A6D0A69666E657120222428424F4152445F424F4F544C4F414445525F45465553455329222022220A092428415652445544452920242841565244554445464C41475329202D552065667573653A773A2428424F4152445F424F4F544C4F414445525F454655534553293A6D0A656E6469660A69666E657120222428424F4F544C4F4144455248455829222022220A092428415652445544452920242841565244554445464C41475329202D5520666C6173683A773A2428424F4F544C4F41444552484558293A690A656E6469660A092428415652445544452920242841565244554445464C41475329202D55206C6F636B3A773A2428424F4152445F424F4F544C4F414445525F4C4F434B293A6D0A0A23206275696C64696E6720746865207461726765740A0A2428544152474554292E6865783A202428544152474554292E656C660A0924284F424A434F505929202D4F2069686578202D52202E656570726F6D20243C2024400A0A2E494E5445524D4544494154453A202428544152474554292E656C660A0A2428544152474554292E656C663A20242841524455494E4F4C4942292024284F424A45435453290A0924284343292024284C494E4B464C414753292024284F424A454354532920242841524455494E4F4C494229202D6C6D202D6F2024400A0A252E6F3A20252E696E6F0A096D6B646972202D70202E6465702F2428706174687375627374202E2F252C252C242864697220243C29290A092428434F4D50494C452E63707029202428435050444550464C41475329202D6F202440202428435050494E4F464C4147532920243C0A0A252E6F3A20252E7064650A096D6B646972202D70202E6465702F2428706174687375627374202E2F252C252C242864697220243C29290A092428434F4D50494C452E63707029202428435050444550464C41475329202D6F202440202428435050494E4F464C4147532920243C0A0A252E6F3A20252E630A096D6B646972202D70202E6465702F2428706174687375627374202E2F252C252C242864697220243C29290A092428434F4D50494C452E6329202428435050444550464C41475329202D6F20244020243C0A0A252E6F3A20252E6370700A096D6B646972202D70202E6465702F2428706174687375627374202E2F252C252C242864697220243C29290A092428434F4D50494C452E63707029202428435050444550464C41475329202D6F20244020243C0A0A252E6F3A20252E63630A096D6B646972202D70202E6465702F2428706174687375627374202E2F252C252C242864697220243C29290A092428434F4D50494C452E63707029202428435050444550464C41475329202D6F20244020243C0A0A252E6F3A20252E430A096D6B646972202D70202E6465702F2428706174687375627374202E2F252C252C242864697220243C29290A092428434F4D50494C452E63707029202428435050444550464C41475329202D6F20244020243C0A0A252E6F3A20252E530A096D6B646972202D70202E6465702F2428706174687375627374202E2F252C252C242864697220243C29290A092428434F4D50494C452E5329202428435050444550464C41475329202D6F20244020243C0A0A23206275696C64696E67207468652061726475696E6F206C6962726172790A0A242841524455494E4F4C4942293A20242841524455494E4F4C49424F424A53290A0924284152292072637320244020243F0A0A2E6C69622F252E632E6F3A20252E630A096D6B646972202D70202428646972202440290A092428434F4D50494C452E6329202D6F20244020243C0A0A2E6C69622F252E6370702E6F3A20252E6370700A096D6B646972202D70202428646972202440290A092428434F4D50494C452E63707029202D6F20244020243C0A0A2E6C69622F252E63632E6F3A20252E63630A096D6B646972202D70202428646972202440290A092428434F4D50494C452E63707029202D6F20244020243C0A0A2E6C69622F252E432E6F3A20252E430A096D6B646972202D70202428646972202440290A092428434F4D50494C452E63707029202D6F20244020243C0A0A2E6C69622F252E732E6F3A20252E730A096D6B646972202D70202428646972202440290A092428434F4D50494C452E7329202D6F20244020243C0A0A2E6C69622F252E532E6F3A20252E530A096D6B646972202D70202428646972202440290A092428434F4D50494C452E5329202D6F20244020243C0A0A23204C6F63616C205661726961626C65733A0A23206D6F64653A206D616B6566696C650A23207461622D77696474683A20340A2320456E643A0A .mk avrflash 2321202F62696E2F626173680A230A2320466C61736820616E204156522077697468206F707469626F6F74207573696E6720746865206573702D6C696E6B206275696C742D696E2070726F6772616D6D65720A23204261736963616C6C79207765206669727374207265736574207468652041565220616E642067657420696E2073796E632C20616E64207468656E2073656E6420746865206865782066696C650A230A23202D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0A23202254484520424545522D57415245204C4943454E53452220285265766973696F6E203432293A0A232054686F727374656E20766F6E204569636B656E2077726F746520746869732066696C652E204173206C6F6E6720617320796F752072657461696E200A232074686973206E6F7469636520796F752063616E20646F20776861746576657220796F752077616E74207769746820746869732073747566662E204966207765206D65657420736F6D65206461792C200A2320616E6420796F75207468696E6B207468697320737475666620697320776F7274682069742C20796F752063616E20627579206D652061206265657220696E2072657475726E2E200A23202D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0A0A73686F775F68656C702829207B0A2020636174203C3C454F540A55736167653A20247B3023232A2F7D205B2D6F7074696F6E732E2E2E5D20686F73746E616D6520736B657463682E6865780A466C61736820746865204156522072756E6E696E67206F707469626F6F7420617474616368656420746F206573702D6C696E6B20776974682074686520736B657463682E0A20202D762020202020202020202020202020202020202020426520766572626F73650A20202D68202020202020202020202020202020202020202073686F7720746869732068656C700A0A4578616D706C653A20247B3023232A2F7D202D76206573702D6C696E6B206D79736B657463682E6865780A202020202020202020247B3023232A2F7D203139322E3136382E342E31206D79736B657463682E6865780A454F540A7D0A0A69662021207768696368206375726C203E2F6465762F6E756C6C3B207468656E0A20206563686F20224552524F523A2043616E6E6F742066696E64206375726C3A20697420697320726571756972656420666F722074686973207363726970742E22203E26320A20206578697420310A66690A0A73746172743D6064617465202B2573600A0A23203D3D3D3D3D20506172736520617267756D656E74730A0A766572626F73653D0A0A7768696C65206765746F70747320226876783A22206F70743B20646F0A2020636173652022246F70742220696E0A2020202068292073686F775F68656C703B20657869742030203B3B0A20202020762920766572626F73653D31203B3B0A20202020782920666F6F3D22244F505441524722203B3B0A20202020273F27292073686F775F68656C70203E26323B20657869742031203B3B0A2020657361630A646F6E650A0A23205368696674206F666620746865206F7074696F6E7320616E64206F7074696F6E616C202D2D2E0A736869667420222428284F5054494E442D312929220A0A23204765742074686520666978656420617267756D656E74730A6966205B5B20242320213D2032205D5D3B207468656E0A202073686F775F68656C70203E26320A20206578697420310A66690A686F73746E616D653D24310A6865783D24320A0A72653D275B2D412D5A612D7A302D392E5D2B270A6966205B5B2021202224686F73746E616D6522203D7E20247265205D5D3B207468656E0A20206563686F20224552524F523A20686F73746E616D6520247B686F73746E616D657D206973206E6F7420612076616C696420686F73746E616D65206F72206970206164647265737322203E26320A20206578697420310A66690A0A6966205B5B2021202D7220222468657822205D5D3B207468656E0A20206563686F20224552524F523A2063616E6E6F742072656164206865782066696C652028246865782922203E26320A20206578697420310A66690A0A23203D3D3D3D3D204765742041565220696E2073796E630A0A5B5B202D6E202224766572626F736522205D5D202626206563686F2022526573657474696E6720415652207769746820687474703A2F2F24686F73746E616D652F70676D2F73796E6322203E26320A763D3B205B5B202D6E202224766572626F736522205D5D20262620763D2D760A73796E633D606375726C202D6D203130202476202D73202D772027257B687474705F636F64657D27202D58504F53542022687474703A2F2F24686F73746E616D652F70676D2F73796E6322600A6966205B5B20243F20213D2030207C7C20222473796E632220213D20323034205D5D3B207468656E0A20206563686F20224572726F7220726573657474696E672041565222203E26320A20206578697420310A66690A0A7768696C6520747275653B20646F0A202073796E633D606375726C202D6D203130202476202D732022687474703A2F2F24686F73746E616D652F70676D2F73796E6322600A20206966205B5B20243F20213D2030205D5D3B207468656E0A202020206563686F20224572726F7220636865636B696E672073796E6322203E26320A202020206578697420310A202066690A20206361736520222473796E632220696E0A202053594E432A290A202020206563686F202241565220696E202473796E632220203E26320A20202020627265616B3B3B0A2020224E4F54205245414459222A290A202020205B5B202D6E202224766572626F736522205D5D202626206563686F2022202057616974696E6720666F722073796E632E2E2E22203E26320A202020203B3B0A20202A290A202020206563686F20224572726F7220636865636B696E672073796E633A202473796E6322203E26320A202020206578697420310A202020203B3B0A2020657361630A2020736C65657020302E310A646F6E650A0A23203D3D3D3D3D2053656E64204845582066696C650A0A5B5B202D6E202224766572626F736522205D5D202626206563686F202253656E64696E67204845582066696C6520666F722070726F6772616D6D696E6722203E26320A73796E633D606375726C202D6D203130202476202D73202D67202D6420224024686578222022687474703A2F2F24686F73746E616D652F70676D2F75706C6F616422600A6563686F202473796E630A6966205B5B20243F20213D2030207C7C202120222473796E6322203D7E205E53756363657373205D5D3B207468656E0A20206563686F20224572726F722070726F6772616D6D696E672041565222203E26320A20206578697420310A66690A0A7365633D242828206064617465202B257360202D202473746172742029290A6563686F2022537563636573732C20746F6F6B2024736563207365636F6E647322203E26320A6578697420300A demo .dep demo.ino 64656D6F2E6F3A2064656D6F2E696E6F205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F41726475696E6F2E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F62696E6172792E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F574368617261637465722E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F57537472696E672E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F486172647761726553657269616C2E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F53747265616D2E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F5072696E742E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F5072696E7461626C652E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F6E65772E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F76617269616E74732F7374616E646172642F70696E735F61726475696E6F2E68205C0A20202E2E2F2E2E2F2E2E2F6573706475696E6F2F6573706475696E6F2E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F486172647761726553657269616C2E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F41726475696E6F2E68205C0A20202E2E2F2E2E2F2E2E2F6573706475696E6F2F46502E68202E2E2F2E2E2F2E2E2F6573706475696E6F2F63726331362E68205C0A20202E2E2F2E2E2F2E2E2F6573706475696E6F2F72696E676275662E68202E2E2F2E2E2F2E2E2F6573706475696E6F2F726573742E680A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F41726475696E6F2E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F62696E6172792E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F574368617261637465722E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F57537472696E672E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F486172647761726553657269616C2E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F53747265616D2E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F5072696E742E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F5072696E7461626C652E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F6E65772E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F76617269616E74732F7374616E646172642F70696E735F61726475696E6F2E683A0A0A2E2E2F2E2E2F2E2E2F6573706475696E6F2F6573706475696E6F2E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F486172647761726553657269616C2E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F41726475696E6F2E683A0A0A2E2E2F2E2E2F2E2E2F6573706475696E6F2F46502E683A0A0A2E2E2F2E2E2F2E2E2F6573706475696E6F2F63726331362E683A0A0A2E2E2F2E2E2F2E2E2F6573706475696E6F2F72696E676275662E683A0A0A2E2E2F2E2E2F2E2E2F6573706475696E6F2F726573742E683A0A .dep temperature.ino 74656D70657261747572652E6F3A2074656D70657261747572652E696E6F205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F41726475696E6F2E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F62696E6172792E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F574368617261637465722E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F57537472696E672E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F486172647761726553657269616C2E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F53747265616D2E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F5072696E742E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F5072696E7461626C652E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F6E65772E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F76617269616E74732F7374616E646172642F70696E735F61726475696E6F2E68205C0A20202E2E2F2E2E2F2E2E2F6573706475696E6F2F6573706475696E6F2E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F486172647761726553657269616C2E68205C0A20202F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F41726475696E6F2E68205C0A20202E2E2F2E2E2F2E2E2F6573706475696E6F2F46502E68202E2E2F2E2E2F2E2E2F6573706475696E6F2F63726331362E68205C0A20202E2E2F2E2E2F2E2E2F6573706475696E6F2F72696E676275662E68202E2E2F2E2E2F2E2E2F6573706475696E6F2F726573742E680A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F41726475696E6F2E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F62696E6172792E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F574368617261637465722E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F57537472696E672E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F486172647761726553657269616C2E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F53747265616D2E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F5072696E742E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F5072696E7461626C652E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F6E65772E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F76617269616E74732F7374616E646172642F70696E735F61726475696E6F2E683A0A0A2E2E2F2E2E2F2E2E2F6573706475696E6F2F6573706475696E6F2E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F486172647761726553657269616C2E683A0A0A2F686F6D652F61726475696E6F2F61726475696E6F2D312E302E352F68617264776172652F61726475696E6F2F2F636F7265732F61726475696E6F2F41726475696E6F2E683A0A0A2E2E2F2E2E2F2E2E2F6573706475696E6F2F46502E683A0A0A2E2E2F2E2E2F2E2E2F6573706475696E6F2F63726331362E683A0A0A2E2E2F2E2E2F2E2E2F6573706475696E6F2F72696E676275662E683A0A0A2E2E2F2E2E2F2E2E2F6573706475696E6F2F726573742E683A0A .dep demo 3A3130303030303030304339343633303030433934384230303043393438423030304339343842303036430A3A3130303031303030304339343842303030433934384230303043393438423030304339343842303033340A3A3130303032303030304339343842303030433934384230303043393438423030304339343842303032340A3A3130303033303030304339343842303030433934384230303043393438423030304339343842303031340A3A3130303034303030304339344545303630433934384230303043393444393037304339343237303841320A3A3130303035303030304339343842303030433934384230303043393438423030304339343842303046340A3A3130303036303030304339343842303030433934384230303030303030303030323430303237303045460A3A3130303037303030324130303030303030303030323530303238303032423030303030303030303044450A3A3130303038303030323330303236303032393030303430343034303430343034303430343032303244410A3A3130303039303030303230323032303230333033303330333033303330313032303430383130323030370A3A3130303041303030343038303031303230343038313032303031303230343038313032303030303031320A3A3130303042303030303030373030303230313030303030333034303630303030303030303030303032390A3A3130303043303030303030303135303539333039313132343146424543464546443845304445424635350A3A3130303044303030434442463132453041304530423145304532453346374532303243303035393039430A3A3130303045303030304439324138334142313037443946373135453041384541423245303031433032440A3A3130303046303030314439324133333942313037453146373130453043364543443045303034433043460A3A3130303130303030323239374645303130453934354331334332334344313037433946373045393445450A3A3130303131303030453930393043393439373133304339343030303043463933444639334243303137320A3A3130303132303030383233303931303531304634363245303730453041303931393130354230393145390A3A3130303133303030393230354544303134304530353045304530453046304530323143303838383137300A3A3130303134303030393938313836313739373037363946343841383139423831333039373139463030360A3A3130303135303030393338333832383330344330393039333932303538303933393130354645303135450A3A3130303136303030333443303638313737393037333846343431313535313035313946303834313732300A3A3130303137303030393530373038463441433031464530313841383139423831394330314539303138440A3A3130303138303030323039374539463634313135353130354139463143413031383631423937304238350A3A3130303139303030303439373038463442413031453045304630453032414330384439313943393134380A3A3130303141303030313139373834313739353037463946343634313737353037383146343132393636460A3A3130303142303030384439313943393131333937333039373139463039333833383238333034433039420A3A3130303143303030393039333932303538303933393130354644303133323936344343304341303132460A3A3130303144303030383631423937304246443031453830464639314636313933373139333032393733450A3A3130303145303030384439333943393334304330464430313832383139333831394330314439303133340A3A3130303146303030313039374131463638303931384630353930393139303035383932423431463437440A3A3130303230303030383039313933303239303931393430323930393339303035383039333846303533320A3A3130303231303030343039313935303235303931393630323431313535313035343146343444423731380A3A3130303232303030354542373830393139313032393039313932303234383142353930423230393145380A3A3130303233303030384630353330393139303035434130313832314239333042383631373937303739330A3A3130303234303030383046304142303134453546354634463834313739353037353046303432304636460A3A3130303235303030353331463530393339303035343039333846303546393031363139333731393335420A3A3130303236303030303243304530453046304530434630314446393143463931303839354346393339440A3A3130303237303030444639333030393730394634353043304543303132323937314238323141383238390A3A3130303238303030413039313931303542303931393230353130393730394631343045303530453044450A3A3130303239303030414331374244303730384631424238334141383346453031323139313331393130300A3A3130303241303030453230464633314641453137424630373739463438443931394339313131393736300A3A3130303242303030323830463339314632453546334634463339383332383833313239363844393136370A3A3130303243303030394339313133393739423833384138333431313535313035373146344430393342380A3A3130303244303030393230354330393339313035323043303132393638443931394339313133393732310A3A3130303245303030414430313030393731314630444330314433434646413031443338334332383342330A3A3130303246303030323139313331393145323046463331464345313744463037363946343838383135360A3A3130303330303030393938313238304633393146324535463346344646413031333138333230383344370A3A3130303331303030384138313942383139333833383238334446393143463931303839354130453041450A3A3130303332303030423045304535453946314530304339343632313336433031303039373239463436380A3A3130303333303030434230313045393438443030364330314331433038454546383832453846454632330A3A3130303334303030393832453843304339443143383630313036304631373146303831353139303538390A3A3130303335303030303846344232433046343031413038314231383141363137423730374238463043340A3A3130303336303030413533304231303530384634414143304344303130343937383631373937303746380A3A3130303337303030303846344134433031323937413631424237304246383031413139334231393338300A3A3130303338303030443430313644393337433933434630313045393433373031393743303742303130430A3A3130303339303030454131414642304145454546464645464545304546463145333630313641304543310A3A3130303341303030374231454330393139313035443039313932303541413234424232343434323443300A3A3130303342303030353532343441433043363135443730354531463534383831353938313445313532370A3A3130303343303030354630354238463143413031303439373845313539463035423046343132393632370A3A3130303344303030413430464235314646343031423138334130383332413831334238313431313438450A3A3130303345303030353130343331463044323031313339363343393332453933313239373636433042430A3A3130303346303030333039333932303532303933393130353631433038413831394238314638303131390A3A3130303430303030393338333832383334323530353034303445313935463039353138333430383334390A3A3130303431303030343131343531303433314630443230313133393631433933304539333132393739430A3A3130303432303030303443303130393339323035303039333931303546343031373138333630383344390A3A3130303433303030343543303838383139393831413831364239303630384634354330313245303138460A3A3130303434303030384138313942383139433031453930313230393730394630423343463830393142420A3A3130303435303030384630353930393139303035383631353937303545394634413631364237303643350A3A3130303436303030443046343230393139353032333039313936303232313135333130353431463438360A3A3130303437303030324442373345423738303931393130323930393139323032323831423339304243330A3A3130303438303030303231373133303743384634313039333930303530303933384630354434303134390A3A3130303439303030364439333743393331334330434230313045393438443030454330313030393746420A3A3130303441303030353946304634303134303831353138314236303130453934363430324336303146350A3A3130303442303030304539343337303136453031303243304343323444443234433630314344423746350A3A3130303443303030444542374530453130433934374531334642303144433031303243303031393037390A3A3130303444303030304439323431353035303430443846373038393546423031444330313031393038360A3A3130303445303030304439323030323045314637303839354145453042304530454145374632453031370A3A3130303446303030304339343645313330443839314538393836453038433833314138333039383330300A3A3130303530303030384645463946453739453833384438333945303132373545334634464345303133350A3A3130303531303030303139363646383937383844413930313045393439383032324638313338383546340A3A3130303532303030303230463133314646383031313038323245393645344530304339343841313333380A3A3130303533303030414245304230453045454539463245303043393436303133334330313242303137420A3A3130303534303030354130314643303131373832313638323833383138314644303343303646454637460A3A3130303535303030374645464336433139414530383932453145303130383934323131433331314333300A3A3130303536303030463330313233383146323031323346443835393132334646383139313246303136360A3A3130303537303030383832333039463442324331383533323339463432334644383539313233464632340A3A3130303538303030383139313246303138353332323946343930453042333031304539343842303430300A3A3130303539303030453743463938324646463234454532343939323446464531464631354430463033380A3A3130303541303030394233323639463039433332323846343930333235394630393333323931463445360A3A3130303542303030304543303944333234394630393033333639463434314530323443303532453030450A3A3130303543303030463532413834453046383241323843303938453046393241323543304530453135440A3A3130303544303030464532413232433046374643323943303839324638303533384133303730463438430A3A3130303545303030463646453035433039383943393032433131323439383045313543304538394332450A3A3130303546303030453032433131323445383045463045324646324130454330394533323239463430450A3A3130303630303030463646433642433134304534463432413037433039433336313946343530453841430A3A3130303631303030463532413032433039383336343946344632303132334644393539313233464639330A3A3130303632303030393139313246303139393233303946304238434638393246383535343833333046380A3A3130303633303030313846303830353238333330333846343434453035304530413430454235314532380A3A3130303634303030354645333539383330464330393333363331463039333337373946303933333544380A3A3130303635303030303946303536433032304330463530313830383138393833343245303530453035360A3A3130303636303030413430454235314536313031303145303130453031324330463530314330383043410A3A3130303637303030443138304636464330334330364645463746454630324330363932443730453030300A3A3130303638303030343245303530453041343045423531454336303130453934383030343843303131390A3A3130303639303030354645374635323231344330463530314330383044313830463646433033433045440A3A3130303641303030364645463746454630324330363932443730453034324530353045304134304544320A3A3130303642303030423531454336303130453934373530343843303135304538463532414633464542300A3A3130303643303030303743303141433038304532393045304233303130453934384230344541393435340A3A3130303644303030384532443930453030383137313930374138463330454330463630314637464335440A3A3130303645303030383539314637464538313931364630313930453042333031304539343842303432380A3A3130303646303030453131304541393430313530313034303031313531313035373946374541433041340A3A3130303730303030393433363131463039393336363946354637464530384330463530313230383139440A3A3130303731303030333138313432383135333831383445303930453030414330463530313830383146420A3A3130303732303030393138313943303134343237333746443430393535343246383245303930453035310A3A3130303733303030413830454239314539464536463932323537464630394330353039353430393542330A3A3130303734303030333039353231393533463446344634463546344645304538464532414341303139390A3A3130303735303030423930314131303132414530333045303045393442373034443832454432313844360A3A3130303736303030343043303935333732394634314632443146374532414530333045303144433043300A3A3130303737303030314632443139374639463336363146303930333732304634393833353039463043450A3A3130303738303030414343303046433039303337333946303938333730394630413643303034433034430A3A3130303739303030323845303330453030414330313036313134464431343630323045313330453037300A3A3130303741303030303443303134464431363630323045313332453031374646303843304635303131370A3A3130303742303030363038313731383138323831393338313434453035304530303843304635303133440A3A3130303743303030383038313931383142433031383045303930453034324530353045304134304538350A3A3130303744303030423531454131303130453934423730344438324544323138384645374638324542420A3A3130303745303030463132324636464530424330354545464635323244393134333846344634464543380A3A3130303746303030303743304632464330354330384645454638323230324330314432443031433031420A3A3130303830303030313932444634464530444330464530314544304446313144383038313830333332380A3A3130303831303030313946343939454546393232303843303146354646324645303543303033433036420A3A3130303832303030384632443836373830394630314635463046324446334643313443304630464541410A3A3130303833303030304643303145313531304630394432433042433039443243394530433931314130340A3A3130303834303030314532443036433038304532393045304233303130453934384230343146354636320A3A3130303835303030314531354330463330344330314531353130463445313141303143304545323445390A3A3130303836303030303446463046433038304533393045304233303130453934384230343032464646440A3A3130303837303030314443303031464430334330383845373930453030454330383845353930453035300A3A3130303838303030304243303830324638363738393146303031464630324330384245323031433037460A3A3130303839303030383045324637464338444532393045304233303130453934384230343036433037390A3A3130303841303030383045333930453042333031304539343842303439413934443931344330463343320A3A3130303842303030444139344631303145443044463131443830383139304530423330313045393430390A3A3130303843303030384230344444323041394637303643303830453239304530423330313045393430450A3A3130303844303030384230344541393445453230433146373433434546333031363638313737383136310A3A3130303845303030434230313242393645324531304339343743313346433031303539303631353034360A3A3130303846303030373034303031313044384637383039353930393538453046394631463038393533360A3A3130303930303030464330313631353037303430303139303031313044384637383039353930393544450A3A3130303931303030384530463946314630383935304639333146393343463933444639333843303132410A3A3130303932303030454230313842383138314646314243303832464630444330324538313346383142370A3A3130303933303030384338313944383132383137333930373634463445383831463938313031393333450A3A3130303934303030463938334538383330364330453838354639383538303246303939353839324230450A3A3130303935303030333146343845383139463831303139363946383338453833303243303046454642390A3A3130303936303030314645464338303144463931434639313146393130463931303839354641303146380A3A3130303937303030414132373238333035314631323033313831463145383934364639333645374644450A3A3130303938303030364535463746344638463446394634464146344642314530334544304234453043460A3A3130303939303030334344303637304637383146383931463941314641313144363830463739314631300A3A3130303941303030384131463931314441313144364130463731314438313144393131444131314432310A3A3130303942303030323044303039463436383934334639313241453032363946313132343330313933310A3A3130303943303030333035443331393344454636434630313038393534363246343737303430354443430A3A3130303944303030343139334233453030464430433946374636434634363246344637303430354437420A3A3130303945303030344133333138463034393544333146443430353234313933303244304139463744360A3A3130303946303030454143464234453041363935393739353837393537373935363739354241393544300A3A3130304130303030433946373030393736313035373130353038393539423031414330313041324539350A3A3130304131303030303639343537393534373935333739353237393542413935433946373632304636430A3A3130304132303030373331463834314639353146413031443038393530463933314639333038454133440A3A3130304133303030313245304338303136444536373545303434453035304530304539344530304337310A3A3130304134303030383445433934453042383031304539343343313231463931304639313038393532430A3A3130304135303030314639333138324638303532384533354530463038444536393545303630453031300A3A3130304136303030373145303045393446363041363132463632393536463730364133303130463039330A3A3130304137303030363935433031433036303544384445363935453030453934323230413631324645440A3A3130304138303030364637303641333031304630363935433031433036303544384445363935453043320A3A3130304139303030303343303844453639354530363132463045393432323041314639313038393530300A3A3130304141303030384639323946393241463932424639324346393244463932454639324646393237450A3A3130304142303030304639333146393344463933434639334344423744454237434135344431343043360A3A3130304143303030304642364638393444454246304642454344424638384541393245303045393435390A3A3130304144303030324230463830393144373034383832333039463442464330304539343336303745410A3A3130304145303030344230313543303138444237394542373038393730464236463839343945424637370A3A3130304146303030304642453844424645444237464542373331393638453031304635463146344635320A3A3130304230303030414442374245423731323936314339333045393331313937383345303931453039380A3A3130304231303030393338333832383338303931443830343930393144393034413039314441303443300A3A3130304232303030423039314442303438343833393538334136383342373833304539343734303230420A3A3130304233303030454442374645423733383936304642364638393446454246304642454544424630370A3A3130304234303030384445363935453036464532373145303045393446363041384445363935453039310A3A3130304235303030423830313045393446393041383445433934453042383031304539343834313136330A3A3130304236303030383145344338324544313243434330454444314538344543393445304236303142440A3A3130304237303030344145303531453030453934354531303843303138383343393130353439463545350A3A3130304238303030384445363935453036324534373145303045393446393041384445363935453035390A3A3130304239303030364145353731453030453934463630414436303130443930303032304539463739460A3A3130304241303030374430313038393445313038463130384543313846443038303045303130453037300A3A3130304242303030303843304636303145303046463131463830383130453934323830353046354633390A3A3130304243303030314634463045313531463035414346333844453639354530364145363731453034380A3A3130304244303030303643303030393733394634384445363935453036444536373145303045393435440A3A3130304245303030463930413044433038444536393545303634453837314530304539344636304130450A3A3130304246303030384445363935453042383031344145303530453030453934443930413045393444330A3A3130304330303030333630373638313937393039384130393942303936303933443830343730393339420A3A3130304331303030443930343830393344413034393039334442303438444536393545303641453943390A3A3130304332303030373145303045393446363041343039314438303435303931443930343630393137350A3A3130304333303030444130343730393144423034384445363935453032414530333045303045393435320A3A3130304334303030434130413844453639354530363945413731453030453934463930413638454234430A3A3130304335303030374245303830453039304530304539343434303736344536373045303830453038320A3A3130304336303030393045303045393434343037433635424445344630464236463839344445424645420A3A3130304337303030304642454344424643463931444639313146393130463931464639304546393045440A3A3130304338303030444639304346393042463930414639303946393038463930303839353844453641410A3A3130304339303030393545303430453035324543363145303730453030453934363230383641453039410A3A3130304341303030373045303830453039304530304539343434303738444536393545303643454146390A3A3130304342303030373145303045393446393041383845413932453030453934433630433641453039430A3A3130304343303030373045303830453039304530304539343434303738384541393245303045393439310A3A3130304344303030463630443641453037304530383045303930453030414330384445363935453046350A3A3130304345303030364545423731453030453934463930413638454537334530383045303930453033430A3A3130304346303030304539343434303738384541393245303045393442463046383832333731463341340A3A3130304430303030384445363935453036384544373145303045393446393041383445433934453043430A3A3130304431303030363345463731453030453934333631323838323333394634384445363935453038360A3A3130304432303030363645303732453030453934463930414646434638444536393545303642453238330A3A3130304433303030373245303045393446393041384145413932453036464541373645303045393438350A3A3130304434303030314631303838454139324530364645333732453041423031304539343139304537370A3A3130304435303030384445363935453036304534373245303045393446393041303839353046393333310A3A3130304436303030314639334446393343463933434442374445423732413937304642364638393444320A3A3130304437303030444542463046424543444246424330313845303130423546314634464338303139300A3A3130304438303030304539344544304243383031304539344637304230313937453146344338303132360A3A3130304439303030424530313646354637463446343445303530453030453934464630423839383145450A3A3130304441303030394138314142383142433831303539374131303542313035353146343844453630460A3A3130304442303030393545303638453537324530304539344639304138314530383039334437303432420A3A3130304443303030303243303130393244373034324139363046423646383934444542463046424536390A3A3130304444303030434442464346393144463931314639313046393130383935314639323046393237380A3A3130304445303030304642363046393231313234324639333346393338463933394639334146393333450A3A3130304446303030424639333830393145303034393039314531303441303931453230344230393134450A3A3130304530303030453330343330393145343034303139364131314442313144323332463244354635310A3A3130304531303030324433373230463032443537303139364131314442313144323039334534303431430A3A3130304532303030383039334530303439303933453130344130393345323034423039334533303438300A3A3130304533303030383039314443303439303931444430344130393144453034423039314446303438380A3A3130304534303030303139364131314442313144383039334443303439303933444430344130393335350A3A3130304535303030444530344230393344463034424639314146393139463931384639313346393144410A3A3130304536303030324639313046393030464245304639303146393031383935384642374638393438390A3A3130304537303030323039314530303433303931453130343430393145323034353039314533303442380A3A3130304538303030384642464239303143413031303839353942303141433031374642374638393445370A3A3130304539303030383039314443303439303931444430344130393144453034423039314446303432380A3A3130304541303030363642354138394230354330364633463139463030313936413131444231314434350A3A3130304542303030374642464241324641393246393832463838323738363046393131444131314442430A3A3130304543303030423131443632453038383046393931464141314642423146364139354431463735390A3A3130304544303030424330313244433046464237463839343830393144433034393039314444303433330A3A3130304545303030413039314445303442303931444630344536423541383942303543304546334646410A3A3130304546303030313946303031393641313144423131444646424642413246413932463938324638300A3A3130304630303030383832373845304639313144413131444231314445324530383830463939314634410A3A3130304631303030414131464242314645413935443146373836314239373042383835453933343045420A3A3130304632303030433846323231353033303430343034303530343036383531374334463231313535430A3A3130304633303030333130353431303535313035373146363038393537383934383442353832363042340A3A3130304634303030383442443834423538313630383442443835423538323630383542443835423536440A3A3130304635303030383136303835424445454536463045303830383138313630383038334531453831430A3A3130304636303030463045303130383238303831383236303830383338303831383136303830383335340A3A3130304637303030453045384630453038303831383136303830383345314542463045303830383135370A3A3130304638303030383436303830383345304542463045303830383138313630383038334541453732390A3A3130304639303030463045303830383138343630383038333830383138323630383038333830383142320A3A3130304641303030383136303830383338303831383036383830383331303932433130303038393537310A3A3130304642303030303839353146393230463932304642363046393231313234324639333346393331330A3A3130304643303030344639333846393339463933454639334646393338303931433030303832464438370A3A3130304644303030314443303430393143363030323039313235303533303931323630353246354634380A3A3130304645303030334634463246373333303730383039313237303539303931323830353238313736370A3A3130304646303030333930373731463045303931323530354630393132363035454235314642344638330A3A3130313030303030343038333330393332363035323039333235303530324330383039314336303042390A3A3130313031303030464639314546393139463931384639313446393133463931324639313046393036310A3A3130313032303030304642453046393031463930313839354530393137393035463039313741303530390A3A3130313033303030453035434646344638313931393139313230383133313831383231423933304236340A3A3130313034303030384637333930373038393242313146303045393444383037303839353146393231410A3A3130313035303030304639323046423630463932313132343246393333463933384639333946393336430A3A3130313036303030454639334646393332303931363930353330393136413035383039313642303539430A3A3130313037303030393039313643303532383137333930373331463438303931433130303846374435430A3A3130313038303030383039334331303031344330453039313642303546303931364330354537354441310A3A3130313039303030464134463230383138303931364230353930393136433035303139363846373342410A3A3130313041303030393037303930393336433035383039333642303532303933433630304646393132300A3A3130313042303030454639313946393138463931334639313246393130463930304642453046393043350A3A3130313043303030314639303138393541463932424639324446393245463932464639323046393330440A3A3130313044303030314639334346393344463933454330313741303138423031444432343430333032350A3A3130313045303030383145453538303738304530363830373830453037383037313146304444323438320A3A3130313046303030443339343931453041393245423132434543383946443839444432303639463031330A3A3130313130303030433530313038413030324330383830463939314630413934453246373830383345360A3A3130313131303030363045303739453038444533393045303035433031303832363045383734453835420A3A3130313132303030384545313930453041383031393730313045393433383133323135303330343044310A3A3130313133303030343034303530343035363935343739353337393532373935383045313230333039460A3A3130313134303030333830373230463044443230313146304444323444364346453838394639383942390A3A3130313135303030333038334541383946423839323038333139413245453839464638393430383143370A3A3130313136303030323145303330453043393031304338433032433038383046393931463041393435440A3A3130313137303030453246373438324234303833454538394646383934303831433930313044384333440A3A3130313138303030303243303838304639393146304139344532463734383242343038334545383932410A3A3130313139303030464638393430383143393031304538433032433038383046393931463041393446330A3A3130313141303030453246373438324234303833454538394646383938303831304638433032433044330A3A3130313142303030323230463333314630413934453246373230393532383233323038334446393132320A3A3130313143303030434639313146393130463931464639304546393044463930424639304146393036340A3A3130313144303030303839354443303131433936454439314643393131443937453035434646344639410A3A3130313145303030323139313331393138303831393138313238314233393042324637333330373041460A3A3130313146303030433930313038393544433031314339364544393146433931314439374530354346450A3A3130313230303030464634463230383133313831453035344630343044463031414535424246344645320A3A3130313231303030384439313943393131313937323831373339303731394634324645463346454630330A3A3130313232303030303743303844393139433931453830464639314638303831323832463330453033350A3A3130313233303030433930313038393544433031314339364544393146433931314439374530354342440A3A3130313234303030464634463230383133313831453035344630343044463031414535424246344641320A3A3130313235303030384439313943393131313937323831373339303731394634324645463346454643330A3A3130313236303030313043303844393139433931313139374538304646393146323038313844393145440A3A3130313237303030394339313131393730313936384637333930373031313936394339333845393330390A3A3130313238303030333045304339303130383935444330313931393638433931393139373838323346330A3A3130313239303030333946303534393645443931464339313535393738303831383646464639434646360A3A3130313241303030393139363143393230383935434639334446393345433031454538354646383531340A3A3130313242303030453035434646344632303831333138314530353446303430324635463346344644310A3A3130313243303030324637333330373044463031414535424246344638443931394339313131393746320A3A3130313244303030323831373339303744314633453035434646344638303831393138314530353446410A3A3130313245303030463034304538304646393146363038334545383546463835453035434646344635420A3A3130313246303030333138333230383345453839464638393230383138314530393045303046384338420A3A3130313330303030303243303838304639393146304139344532463732383242323038333831453046450A3A3130313331303030383941334543383946443839383038313830363438303833383145303930453045440A3A3130313332303030444639314346393130383935313039323730303531303932364630353838454541440A3A3130313333303030393345304130453042304530383039333731303539303933373230354130393344340A3A3130313334303030373330354230393337343035384245393932453039303933364530353830393344410A3A3130313335303030364430353835454539344530393039333741303538303933373930353839453239360A3A3130313336303030393545303930393337433035383039333742303538354543393045303930393343440A3A3130313337303030374530353830393337443035383445433930453039303933383030353830393342410A3A3130313338303030374630353830454339304530393039333832303538303933383130353831454334440A3A3130313339303030393045303930393338343035383039333833303538324543393045303930393339350A3A3130313341303030383630353830393338353035383645433930453039303933383830353830393337300A3A3130313342303030383730353834453038303933383930353833453038303933384130353837453033300A3A3130313343303030383039333842303538354530383039333843303538314530383039333844303536420A3A3130313344303030303839354346393344463933304539343944303730453934343730364334453143320A3A3130313345303030443845303045393435303035323039374531463330453934313430384639434633440A3A3130313346303030434639324446393245463932464639323046393331463933434639334446393345310A3A3130313430303030374330313642303138413031433045304430453030464330443630313644393137340A3A3130313431303030364430314437303145443931464339313031393046303831453032444337303141340A3A3130313432303030303939354338304644393146303135303130343030313135313130353731463731410A3A3130313433303030434530314446393143463931314639313046393146463930454639304446393034300A3A3130313434303030434639303038393544433031454439314643393130313930463038314530324441390A3A3130313435303030303939353038393545463932464639323046393331463933384330314443303138310A3A3130313436303030454439314643393130313930463038314530324436444530303939353743303146410A3A3130313437303030443830314544393146433931303139304630383145303244433830313641453036360A3A3130313438303030303939353943303132453044334631444339303131463931304639314646393045310A3A3130313439303030454639303038393543463933444639334543303136313135373130353139463437360A3A3130313441303030323045303330453030464330444230313044393030303230453946373131393733430A3A3130313442303030413631424237304245383831463938313032383046333831453032444144303131350A3A3130313443303030303939353943303143393031444639314346393130383935344639323546393244380A3A3130313444303030374639323846393239463932414639324246393243463932444639324546393243340A3A3130313445303030464639323046393331463933444639334346393343444237444542374131393746320A3A3130313446303030304642364638393444454246304642454344424632433031373432454342303130410A3A3130313530303030323233303038463432414530313941323331453243333245443132434343304545440A3A3130313531303030444431453832324539393234414132344242323436373244373532464135303144380A3A3130313532303030393430313045393433383133373930313841303143383031423730314135303130440A3A3130313533303030393430313045393431393133343732443436314230383934433130384431303833350A3A3130313534303030344133303130463434303544303143303439354346363031343038334531313436420A3A3130313535303030463130343031303531313035323146303745324335463244433830314444434642450A3A3130313536303030433230314236303130453934344130414131393630464236463839344445424645360A3A3130313537303030304642454344424643463931444639313146393130463931464639304546393045340A3A3130313538303030444639304346393042463930414639303946393038463930374639303546393042330A3A3130313539303030344639303038393544433031323131353331303534314634454439314643393134360A3A3130313541303030303139304630383145303244363432463039393530383935304539343636304134430A3A3130313542303030303839354346393244463932454639324646393230463933314639333643303145390A3A3130313543303030374230313941303130304530313045304238303141373031304539344341304135440A3A3130313544303030384330314336303130453934324130413038304631393146433830313146393131390A3A3130313545303030304639314646393045463930444639304346393030383935304539343441304145430A3A3130313546303030303839354546393246463932304639333146393337433031304539343441304137350A3A3130313630303030384330314337303130453934324130413038304631393146433830313146393145370A3A3130313631303030304639314646393045463930303839354146393242463932434639324446393231420A3A3130313632303030454639324646393230463933314639334346393344463933354330313642303142370A3A3130313633303030454532344646323443304530443045303130433044353031454439314643393137340A3A3130313634303030303038313131383143363031424530313045393435333042363832464335303141340A3A3130313635303030463830313039393545383045463931453231393646363031383438313935383131440A3A3130313636303030433831374439303735304633433730314446393143463931314639313046393139300A3A3130313637303030464639304546393044463930434639304246393041463930303839354546393245320A3A3130313638303030464639323046393331463933374330313045393430433042384330314337303145410A3A3130313639303030304539343241304139433031323030463331314643393031314639313046393133450A3A3130313641303030464639304546393030383935464330313834383139353831363831373739303737380A3A3130313642303030343846343031393046303831453032443330393732314630453630464637314646430A3A3130313643303030383038313038393538304530303839353046393331463933434639334446393335370A3A3130313644303030454330313842303136463546374634463838383139393831304539343846303141300A3A3130313645303030303039373131463438304530303543303939383338383833314238333041383345370A3A3130313646303030383145304446393143463931314639313046393130383935434639334446393346380A3A3130313730303030454330313838383139393831383932423239463038413831394238313836313733380A3A3130313731303030393730373630463443453031304539343634304238383233343146303843383130450A3A3130313732303030394438313839324231394634453838314639383131303832383145304446393139340A3A3130313733303030434639313038393543463933444639334543303138383831393938313030393733310A3A3130313734303030313146303045393433373031313938323138383231443832314338323142383241460A3A3130313735303030314138324446393143463931303839354546393246463932304639333146393331410A3A3130313736303030434639334446393345433031374230313841303142413031304539343745304243420A3A3130313737303030383832333231463443453031304539343941304230374330314438333043383339440A3A3130313738303030383838313939383142373031304539343644303243453031444639314346393143450A3A3130313739303030314639313046393146463930454639303038393543463933444639334543303138440A3A3130313741303030313938323138383231423832314138323144383231433832314538323631313537380A3A3130313742303030373130353531463044423031304439303030323045394637313139374136314239300A3A3130313743303030423730424144303130453934414330424446393143463931303839354643303145360A3A3130313744303030383038313931383130453934333730313038393546433031434230313735383342450A3A3130313745303030363438333043393639333833383238333131383231303832303839354443303142360A3A3130313746303030313439364544393146433931313539373832383539333835303839353046393332410A3A3130313830303030314639334346393344463933444330314542303138413031313439364544393144360A3A3130313831303030464339313135393732443931334339313131393738323835393338353238313746450A3A3130313832303030333930373238463032464546334645463446454635464546333443303132393645430A3A3130313833303030454439314643393131333937363139313731393131333936464339334545393334360A3A3130313834303030313239374142303132304530333045303141433031323936454439314643393141360A3A3130313835303030313339373831393138383833313339364643393345453933313239373246354644310A3A3130313836303030334634463431353035303430303231373133303734304634384439313943393131370A3A3130313837303030313139373031393638443933394339333938303130424330323139363431313536390A3A3130313838303030353130353139463738443931394339313131393730313936384439333943393331390A3A3130313839303030394230313430453035304530423930314341303144463931434639313146393135370A3A3130313841303030304639313038393531463933434639334446393345433031313632463836324638450A3A3130313842303030384435374146383542383839383333304138463445443931464339313131393743440A3A3130313843303030303139304630383145303244434430313644453730393935454638354638383935340A3A3130313844303030413038314231383136304532363132373244393133433931434630314639303139360A3A3130313845303030303939353038433045443931464339313131393730313930463038314530324444300A3A3130313846303030434430313039393544463931434639313146393130383935454639324646393234440A3A3130313930303030304639333146393343463933444639333743303138423031454130313037433046340A3A3130313931303030463830313631393138463031433730313045393435323043323139373230393731350A3A3130313932303030423946374446393143463931314639313046393146463930454639303038393533430A3A3130313933303030304639333146393344463933434639333030443043444237444542373843303130390A3A3130313934303030374138333639383342453031364635463746344634324530353045303045393435460A3A3130313935303030374530434438303131463936454439314643393135303937413038314231383132410A3A3130313936303030324439313343393143463031364645374639303130393935304639303046393046300A3A3130313937303030434639314446393131463931304639313038393546433031383138393838323346380A3A3130313938303030323146303830383139313831304539343346304230383935464330314536354536390A3A3130313939303030464434463830383136314530304539343938313230383935464330313441393646330A3A3130313941303030393338423832384238304530393245303935384238343842313738413136384143410A3A3130313942303030313038454536354546443446383038313631453030453934353931323038393530440A3A3130313943303030434639324446393245463932464639323046393331463933384330313742303144360A3A3130313944303030364130313032393630453934313931304638303146303841453738363036354546350A3A3130313945303030314434464638303144313832433038323041353131323430463830313131384142430A3A3130313946303030433830313045393443453043314639313046393146463930454639304446393044350A3A3130314130303030434639303038393538463932394639324146393242463932434639324446393232340A3A3130314131303030454639324646393230463933314639334446393343463933303044303046393231420A3A3130314132303030434442374445423735433031344230313641303137393031413930313446354642370A3A3130314133303030354634464339303138333730393037303839324231314630394130314636434632360A3A3130314134303030334238333241383331393832384530313045354631463446433530314238303141370A3A3130314135303030343245303530453030453934374530434338303136324530373045304134303130380A3A3130314136303030304539344543313238433031313943304335303146363031363038313045393433300A3A3130314137303030353230434336303136314530373045304138303130453934454331323843303144410A3A3130314138303030384138313942383130303937313946303031393739423833384138333038393433300A3A3130314139303030433131434431314330383934453130384631303845313134463130343231463746430A3A3130314141303030304643303639383130313937394238333841383343353031304539343532304346340A3A3130314142303030433730313631453037304530413830313045393445433132384330313034433033330A3A3130314143303030374530313038393445313143463131433841383139423831303039373439463746330A3A3130314144303030433830313046393030463930304639304346393144463931314639313046393134300A3A3130314145303030464639304546393044463930434639304246393041463930394639303846393033450A3A3130314146303030303839354146393242463932434639324446393245463932464639323046393333310A3A3130314230303030314639334446393343463933434442374445423732433937304642364638393432320A3A3130314231303030444542463046424543444246354330313741383336393833324238333343383331430A3A3130314232303030344438333545383345463832463838363039383731413837444338364342383633310A3A3130314233303030444330313146393645443931464339313530393741303831423138313244393131300A3A3130314234303030334339314346303136454537463930313039393543353031384530313046354634380A3A3130314235303030314634464238303134324530353045303045393437453043433830313632453044350A3A3130314236303030373045303430453035304530304539344543313237433031384530313044354642440A3A3130314237303030314634464335303142383031343445303530453030453934374530434338303132460A3A3130314238303030363445303730453041373031304539344543313237433031384530313039354630350A3A3130314239303030314634464335303142383031343445303530453030453934374530434338303130460A3A3130314241303030363445303730453041373031304539344543313237433031384530313035354645390A3A3130314242303030314634464335303142383031343245303530453030453934374530434338303146310A3A3130314243303030363245303730453041373031304539344543313232433936304642364638393432380A3A3130314244303030444542463046424543444246434639314446393131463931304639314646393036300A3A3130314245303030454639304446393043463930424639304146393030383935414639324246393245420A3A3130314246303030434639324446393245463932464639323046393331463933354330313631453030460A3A3130314330303030373045303230453033304530343045303530453045453234464632343837303136370A3A3130314331303030434332344444323430453934373930444243303143353031304539343938304345320A3A3130314332303030314639313046393146463930454639304446393043463930424639304146393046410A3A3130314333303030303839353646393237463932384639323946393241463932424639324346393242300A3A3130314334303030444639324546393246463932304639333146393335433031393632453837324545370A3A3130314335303030373432453635324538324530393045304138304542393145393530313434323745460A3A3130314336303030333746443430393535343246384545463946454641383045423931454335303138410A3A3130314337303030363345303730453045453234464632343837303145324530434532454431324335390A3A3130314338303030304539343739304442433031453932444638324444463031304439303030323039370A3A3130314339303030453946373131393741453142424630424335303134393244353832443944303143410A3A3130314341303030304539343032304442433031453732444636324444463031304439303030323046320A3A3130314342303030453946373131393741453142424630424335303134373244353632443944303141450A3A3130314343303030304539343032304442433031433530313045393439383043314639313046393134410A3A3130314344303030464639304546393044463930434639304246393041463930394639303846393034430A3A3130314345303030374639303646393030383935344639323546393236463932374639323846393234340A3A3130314346303030394639324146393242463932434639324446393245463932464639323046393339420A3A3130314430303030314639334446393343463933434442374445423732373937304642364638393432350A3A3130314431303030444542463046424543444246354330314643303143323838443338384636303144370A3A3130314432303030363238343733383438363031303435463146344643363031364345303730453031420A3A3130314433303030343045303530453030453934454331324143303132324330433830313632453031390A3A3130314434303030373045303045393445433132414330314632453034463245353132433430304544430A3A3130314435303030353131453732303138343031304243304337303136314530373045303045393435360A3A3130314436303030454331324143303130383934453131434631314330313530313034303031313536420A3A3130314437303030313130353931463738323031303830443139314430383934363130383731303837390A3A3130314438303030463830313830383039313830363131343731303443314636343831353539303545440A3A3130314439303030383146303845303130463546314634464338303136374536373245303045393435440A3A3130314441303030434430424335303142383031304539344244304343383031304539344537304231340A3A3130314442303030334243304636303145323830463338303034383131353831453131344631303435370A3A3130314443303030303130353131303543394630383038313931383146353031393538373834383730450A3A3130314444303030463630313836383139373831413038354231383546353031383038373931383737440A3A3130314445303030413238374233383743373031304539343442313038383233453946304337303137460A3A3130314446303030423630313045393432333130313843304636303138323835393338353839324242350A3A3130314530303030393946343831453046353031383638374636303138303831393138314635303145310A3A3130314531303030393538373834383746363031383638313937383141303835423138354635303133340A3A3130314532303030383038373931383741323837423338373237393630464236463839344445424638350A3A3130314533303030304642454344424643463931444639313146393130463931464639304546393031420A3A3130314534303030444639304346393042463930414639303946393038463930374639303646393044410A3A3130314535303030354639303446393030383935304639333146393343463933444639334543303130320A3A3130314536303030313145303030453234334330454638354638383941303831423138313136393641380A3A3130314537303030324439313343393131373937434630314639303130393935363832463845333736350A3A3130314538303030333146303846333734394630384433373631463431383846324643303146384144410A3A3130314539303030314538413138384531393846324143304345303130453934373330453139384543390A3A3130314541303030323543303839384438383233363946343839383938383233463946304538383132300A3A3130314542303030463938314130383142313831324439313343393143463031463930313039393536320A3A3130314543303030313543303838384438383233313146303630323731383845324538393346383944300A3A3130314544303030384338393944383932383137333930373438463445413839464238394532304632340A3A3130314545303030463331463630383332463546334634463346384232453842454638354638383936390A3A3130314546303030413038314231383131343936324439313343393131353937434630314639303145340A3A3130314630303030303939353839324230394630414643464446393143463931314639313046393145380A3A3130314631303030303839354146393242463932434639324446393245463932464639323046393330430A3A3130314632303030314639334346393344463933454330313541303136423031314538363138383633350A3A3130314633303030313938363141383631423836314438363143383630453934333630373742303132310A3A3130314634303030384330313845383538383233373946343045393433363037364531393746303945420A3A3130314635303030383030423931304236413135374230353843303539443035323046344345303134350A3A3130314636303030304539343242304645454346384538354446393143463931314639313046393141350A3A3130314637303030464639304546393044463930434639304246393041463930303839354246393230390A3A3130314638303030434639324446393245463932464639323046393331463933434639334446393334350A3A3130314639303030454330314235453042423245333943303145383631383836313938363141383635430A3A3130314641303030314238364345303136324530373045303230453033304530343045303530453043460A3A3130314642303030413145304541324546313243303132443131324443433234444432343045393436430A3A3130314643303030373930444243303143453031304539343938304330453934333630373742303135450A3A3130314644303030384330313845383538383233343946353045393433363037364531393746303938410A3A3130314645303030383030423931304236383545373334303830343039303430463046344345303130450A3A3130314646303030304539343242304645454346383838353939383541413835424238353030393731370A3A3130323030303030413130354231303531314630383145303036433042413934384645464238313642320A3A3130323031303030303946304332434638304530444639314346393131463931304639314646393032370A3A3130323032303030454639304446393043463930424639303038393538453835383832333139463741390A3A3130323033303030454343464643303131313832313038323133383231323832303839354643303130300A3A3130323034303030373338333632383330383935464330313232383133333831323131353331303535380A3A3130323035303030303946313430383135313831343131353531303543394630383438313935383137330A3A3130323036303030383046463045433046433031463539354537393545343046463531463031393038380A3A3130323037303030463038314530324445323046463331463031393046303831453032443031433030460A3A3130323038303030463930313935393538373935383430463935314630393935303839354342303143320A3A3130323039303030463930313039393530383935464330313830383139313831383932423239463432410A3A3130323041303030323045303832383139333831383932423039463032314530383232463038393531440A3A3130323042303030464330313831453038303842373238423631384230383935364639323746393231460A3A3130323043303030384639323946393241463932424639324346393244463932454639324646393234380A3A3130323044303030304639333146393344463933434639333030443030304430303044304344423745340A3A3130323045303030444542373743303133423031344130314443303135303936314339323045393434340A3A3130323046303030333630373542303136433031463730313830383938383233303946303536433031460A3A3130323130303030304539343336303736413139374230393843303939443039443730313134393632430A3A3130323131303030324439313344393134443931354339313137393736323137373330373834303733430A3A3130323132303030393530373038463034334330313839363844393139433931313939373045393443440A3A3130323133303030324230464531434646373031363138393732383938453031304635463146344636440A3A3130323134303030433830313045393445443042433830314233303141343031304539344646304235450A3A3130323135303030394230314143303143343031413045304230453032383137333930373441303739310A3A3130323136303030354230373130463446393031303243304634303133313937453630444637314438390A3A3130323137303030313038324437303131383936454439314643393131393937323038353331383533310A3A3130323138303030433930313236393630464236463839344445424630464245434442464346393132320A3A3130323139303030444639313146393130463931464639304546393044463930434639304246393035340A3A3130323141303030414639303946393038463930374639303646393030383935463730313830383946360A3A3130323142303030383832333039463042464346323045303330453045324346344639323546393235410A3A3130323143303030364639323746393238463932394639324146393242463932434639324446393234370A3A3130323144303030454639324646393230463933314639334446393343463933303044304344423737310A3A3130323145303030444542373543303135363245343732453934324538353245333930313141383342380A3A3130323146303030303938334643303138303831393138314132383142333831303039374131303541460A3A3130323230303030423130353039463436454330323038353331383531303136313130363734463445440A3A3130323231303030433930313643453037304530323045303330453034304530353045304545323445360A3A3130323232303030464632343837303145354530434532454431324330444330433930313643453036320A3A3130323233303030373045303230453033304530343045303530453045453234464632343837303133310A3A3130323234303030423345304342324544313243304539343739304442433031463530313830383532350A3A3130323235303030393138354135303132344530333045303045393430323044424330314539324432410A3A3130323236303030463832444446303130443930303032304539463731313937414531424246304239310A3A3130323237303030463530313830383539313835343932443538324439443031304539343032304430330A3A3130323238303030424330314535324446343244444630313044393030303230453946373131393733390A3A3130323239303030414531424246304246353031383038353931383534353244353432443944303130390A3A3130323241303030304539343032304442433031383938313941383131383136313930364134463442360A3A3130323242303030463530313830383539313835414530313446354635463446323245303330453046300A3A3130323243303030304539343032304442433031323938313341383146353031383038353931383532410A3A3130323244303030413330313045393430323044424330314635303138303835393138353045393433390A3A3130323245303030393830433046393030463930434639314446393131463931304639314646393035440A3A3130323246303030454639304446393043463930424639304146393039463930384639303746393041360A3A3130323330303030364639303546393034463930303839353046393331463933344445373532453041390A3A3130323331303030323045303330453030304530313045303045393444453130314639313046393146440A3A3130323332303030303839353846393239463932414639324246393243463932444639324546393244390A3A3130323333303030464639323046393331463933444639334346393330304430304639324344423745460A3A3130323334303030444542373543303139363245383732453542383334413833313938323232323339370A3A3130323335303030313146303831453038393833383045303930453041304530423045303838453543320A3A3130323336303030393045314635303142333836413238363834383739353837413638374237383731330A3A3130323337303030384145303930453041383045423931453935303134343237333746443430393545430A3A3130323338303030353432464136454642464546414130454242314546353031383038353931383545350A3A3130323339303030364245303730453041314530454132454631324330313244313132444633453041440A3A3130323341303030434632454431324330453934373930444243303145393244463832444446303133330A3A3130323342303030304439303030323045394637313139374145314242463042463530313830383534410A3A3130323343303030393138353439324435383244394430313045393430323044424330314435303131410A3A3130323344303030313839363844393139433931313939374145303134453546354634463232453034380A3A3130323345303030333045303045393430323044424330314635303138303835393138354145303141460A3A3130323346303030344635463546344632314530333045303045393430323044424330314435303132430A3A3130323430303030313839363844393139433931313939373045393439383043463530313434383132320A3A3130323431303030353538313636383137373831383038353931383530453934383930463838323330370A3A3130323432303030413146304435303131383936454439314643393131393937383038353931383543310A3A3130323433303030413238354233383530303937413130354231303533394630463530313830383332380A3A3130323434303030393138334132383342333833383145303031433038304530304639303046393035440A3A3130323435303030304639304346393144463931314639313046393146463930454639304446393034300A3A3130323436303030434639304246393041463930394639303846393030383935343045353530453033460A3A3130323437303030323045303045393439313131303839354546393246463932304639333146393331350A3A3130323438303030384330313742303130413936304539343139313046383031463138364530383630320A3A3130323439303030313038323131383231323832313338323838453839334531413045304230453046410A3A3130323441303030383438333935383341363833423738333146393130463931464639304546393034430A3A3130323442303030303839354346393344463933343832463530453043413031383635363946344636460A3A3130323443303030464330313334393134413537354634464641303138343931383832333639463145360A3A3130323444303030393045303838304639393146464330314538353946463446413539314234393133360A3A3130323445303030464330314545353846463446433539314434393136363233353146343246423745430A3A3130323446303030463839343843393139333246393039353839323338433933383838313839323343430A3A3130323530303030304243303632333036314634324642374638393438433931393332463930393541330A3A3130323531303030383932333843393338383831383332423838383332464246303643303946423732340A3A3130323532303030463839343843393138333242384339333946424644463931434639313038393536410A3A3130323533303030343832463530453043413031383235353946344646433031323439314341303145370A3A3130323534303030383635363946344646433031393439313441353735463446464130313334393139300A3A3130323535303030333332333039463434304330323232333531463132333330373146303234333039390A3A3130323536303030323846343231333041314630323233303131463531344330323633304231463034410A3A3130323537303030323733304331463032343330443946343034433038303931383030303846373744370A3A3130323538303030303343303830393138303030384637443830393338303030313043303834423534460A3A3130323539303030384637373032433038344235384637443834424430394330383039314230303036330A3A3130323541303030384637373033433038303931423030303846374438303933423030304533324643300A3A3130323542303030463045304545304646463146454535384646344641353931423439313246423733420A3A3130323543303030463839343636323332314634384339313930393538393233303243303843393131340A3A3130323544303030383932423843393332464246303839354346393344463933454330314130453035430A3A3130323545303030423045303230433038393931393045303834323739353237463832464539324634420A3A3130323546303030434630313830373032344530383830463939314632413935453146373845323737430A3A3130323630303030394632373943303132333246333332373232393532463730323832373339323742360A3A3130323631303030413930313430373045354530353639353437393545413935453146373432323731340A3A3130323632303030353332373131393641363137423730374543463243413031444639314346393139350A3A3130323633303030303839353632394644303031373339464630303138323946453030444631314430430A3A3130323634303030363439464530304446313144393239464630304438333946463030443734394632430A3A3130323635303030463030443635394646303044393932373732394642303044453131444639314644380A3A3130323636303030363339464230304445313144463931464244303143463031313132343038393533350A3A3130323637303030413145323141324541413142424231424644303130444330414131464242314638360A3A3130323638303030454531464646314641323137423330374534303746353037323046304132314246380A3A3130323639303030423330424534304246353042363631463737314638383146393931463141393436350A3A3130323641303030363946373630393537303935383039353930393539423031414330314244303138460A3A3130323642303030434630313038393545453046464631463035393046343931453032443039393443450A3A3130323643303030324639323346393234463932354639323646393237463932384639323946393234320A3A3130323644303030414639324246393243463932444639324546393246463932304639333146393333300A3A3130323645303030434639334446393343444237444542374341314244423042304642364638393445310A3A3130323646303030444542463046424543444246303939343241383833393838343838383546383432310A3A3130323730303030364538343744383438433834394238344141383442393834433838344446383039310A3A3130323731303030454538304644383030433831314238314141383142393831434530464431314437350A3A3130323732303030304642364638393444454246304642454344424645443031303839354638393434420A3A30323237333030304646434644390A3A3130323733323030354337383030324637353730363436313734363533463631373036393546364243450A3A3130323734323030363537393344344434313539333033333431344234413434344435303530333445370A3A3130323735323030353933343439323636363639363536433634333133443235364336343030343144330A3A3130323736323030353234343535343934453446334132303733363536453634323036373635373433320A3A3130323737323030323030303431353234343535343934453446334132303437343535343230373335380A3A3130323738323030373536333633363537333733363637353643303034313532343435353439344542370A3A3130323739323030344633413230363736463734323033433343303033453345303034313532343435390A3A3130323741323030353534393445344633413230343734353534323037343639364436353634323035460A3A3130323742323030364637353734303034313532343435353439344534463341323034373435353437330A3A3130323743323030323036363631363936433635363433413230303034313532343435353439344536350A3A3130323744323030344633413230373436463646364232303030364437333030343135323434353536350A3A3130323745323030343934453446334132303733373436313732373436393645363730303431353241380A3A3130323746323030343435353439344534463341323034353533353032303645364637343230373231330A3A3130323830323030363536313634373932453245324530303431353234343535343934453446334134440A3A3130323831323030323037333635373437353730323037323635373337343230363336433639363543410A3A3130323832323030364537343030363137303639324537343638363936453637373337303635363139390A3A3130323833323030364232453633364636443030343135323434353534393445344633413230363645430A3A3130323834323030363136393643363536343230373436463230373336353734373537303230373241310A3A3130323835323030363537333734323036333643363936353645373430303431353234343535343931360A3A3130323836323030344534463341323037333635373437353730323037373639363636393030303036460A3A3130323837323030343135323434353534393445344633413230373337393733373436353644323032350A3A3130323838323030373337343631373237343635363430303537343934363439323034333446344532300A3A3130323839323030344534353433353434353434303034313532343435353439344534463341323031370A3A3130323841323030343936453736363136433639363432303433353234333030303034373435353438370A3A3130323842323030303034343435344334353534343530303530353535343030353034463533353432340A3A3130323843323030303032303030393330353030303030303030303030303533303946383039453930380A3A30383238443230303038314130394641303834333039303038350A3A303030303030303146460A .hex demo 2F2A2A0A202A2044656D6F20736B657463682074686174206D616B657320612072657374207265717565737420746F206170692E7468696E67737065616B2E636F6D20776974682074686520525454206F66207468652070726576696F75730A202A20726571756573742E0A202A2F0A0A23696E636C756465203C6573706475696E6F2E683E0A23696E636C756465203C726573742E683E0A0A45535020657370282653657269616C2C2034293B0A0A5245535420726573742826657370293B0A0A626F6F6C65616E2077696669436F6E6E6563746564203D2066616C73653B0A0A766F69642077696669436228766F69642A20726573706F6E7365290A7B0A202075696E7433325F74207374617475733B0A2020524553504F4E53452072657328726573706F6E7365293B0A0A20206966287265732E676574417267632829203D3D203129207B0A202020207265732E706F7041726773282875696E74385F742A29267374617475732C2034293B0A20202020696628737461747573203D3D2053544154494F4E5F474F545F495029207B0A20202020202053657269616C2E7072696E746C6E28225749464920434F4E4E454354454422293B0A20202020200A20202020202077696669436F6E6E6563746564203D20747275653B0A202020207D20656C7365207B0A20202020202077696669436F6E6E6563746564203D2066616C73653B0A202020207D0A20207D0A7D0A0A766F69642073657475702829207B0A202053657269616C2E626567696E28313135323030293B0A202064656C6179283130293B0A202053657269616C2E7072696E746C6E282241524455494E4F3A207374617274696E6722293B0A20206573702E656E61626C6528293B0A202064656C6179283130293B0A20206573702E726573657428293B0A202064656C6179283130293B0A20207768696C6528216573702E7265616479282929207B0A2020202053657269616C2E7072696E746C6E282241524455494E4F3A20455350206E6F742072656164792E2E2E22293B0A2020202064656C61792831303030293B0A20207D0A0A202053657269616C2E7072696E746C6E282241524455494E4F3A207365747570207265737420636C69656E7422293B0A202069662821726573742E626567696E28226170692E7468696E67737065616B2E636F6D222929207B0A2020202053657269616C2E7072696E746C6E282241524455494E4F3A206661696C656420746F207365747570207265737420636C69656E7422293B0A202020207768696C652831293B0A20207D0A0A20202F2A736574757020776966692A2F0A202053657269616C2E7072696E746C6E282241524455494E4F3A207365747570207769666922293B0A20206573702E7769666943622E6174746163682826776966694362293B0A0A20206573702E77696669436F6E6E6563742822222C2222293B0A202053657269616C2E7072696E746C6E282241524455494E4F3A2073797374656D207374617274656422293B0A7D0A0A766F6964207072696E74436861722863686172206329207B0A20206966202863203C20272027207C7C2063203E3D20277E2729207B0A2020202053657269616C2E7072696E7428225C5C7822293B0A2020202075696E74385F74206331203D202875696E74385F742963203E3E20343B0A2020202053657269616C2E7072696E7428286368617229286331203E3D203130203F202741272B63312D3130203A20273027202B20633129293B0A2020202075696E74385F74206332203D202875696E74385F7429632026203078663B0A2020202053657269616C2E7072696E7428286368617229286332203E3D203130203F202741272B63322D3130203A20273027202B20633229293B0A20207D20656C7365207B0A2020202053657269616C2E7072696E742863293B0A20207D0A7D0A0A75696E7433325F742074696D6572203D20303B0A0A766F6964206C6F6F702829207B0A20206368617220726573706F6E73655B3236365D3B0A20206573702E70726F6365737328293B0A202069662877696669436F6E6E656374656429207B0A202020206368617220627566665B36345D3B0A2020202075696E7433325F74207430203D206D696C6C697328293B0A20202020737072696E746628627566662C20222F7570646174653F6170695F6B65793D4D41593033414B4A444D505034593449266669656C64313D256C64222C2074696D6572293B0A2020202053657269616C2E7072696E74282241524455494E4F3A2073656E64206765742022293B0A2020202053657269616C2E7072696E746C6E2862756666293B0A20202020726573742E6765742828636F6E737420636861722A2962756666293B0A0A2020202075696E7431365F7420657272203D20726573742E676574526573706F6E736528726573706F6E73652C20323636293B0A20202020696628657272203D3D20485454505F5354415455535F4F4B297B0A20202020202053657269616C2E7072696E746C6E282241524455494E4F3A20474554207375636365737366756C22293B0A20202020202053657269616C2E7072696E74282241524455494E4F3A20676F74203C3C22293B0A202020202020696E74206C656E203D207374726C656E28726573706F6E7365293B0A202020202020666F722028696E7420693D303B20693C6C656E3B20692B2B29207072696E744368617228726573706F6E73655B695D293B0A20202020202053657269616C2E7072696E746C6E28223E3E22293B0A202020207D20656C73652069662028657272203D3D203029207B0A20202020202053657269616C2E7072696E746C6E282241524455494E4F3A204745542074696D6564206F757422293B0A202020207D20656C7365207B0A20202020202053657269616C2E7072696E74282241524455494E4F3A20474554206661696C65643A2022293B0A20202020202053657269616C2E7072696E746C6E28657272293B0A202020207D0A2020202074696D6572203D206D696C6C69732829202D2074303B0A2020202053657269616C2E7072696E74282241524455494E4F3A20746F6F6B2022293B0A2020202053657269616C2E7072696E742874696D6572293B0A2020202053657269616C2E7072696E746C6E28226D7322293B0A2020202064656C61792833303030293B0A20207D0A202064656C617928313030293B0A7D0A .ino Makefile 4C49425241525950415448203D20242841524455494E4F444952292F6C6962726172696573202E2E2F2E2E2F2E2E0A4C4942524152494553203D206573706475696E6F0A435050464C414753203D200A53455249414C444556203D206E65743A6573702D6C696E6B3A32330A696E636C756465202E2E2F61726475696E6F2E6D6B0A0A72756E3A2075706C6F61642073697A650A096E63206573702D6C696E6B2032330A README 53696D706C652064656D6F0A3D3D3D3D3D3D3D3D3D3D3D0A0A2A2A5741524E494E473A2074686973206578616D706C6520686173206E6F74206265656E207570646174656420666F7220454C2D436C69656E74212A2A0A0A .md mqtt Makefile 484F5354203F3D206573702D6C696E6B0A4C49425241525950415448203D20242841524455494E4F444952292F6C6962726172696573202E2E2F2E2E2F2E2E0A4C4942524152494553203D20454C436C69656E740A435050464C414753203D200A53455249414C444556203D206E65743A2428484F5354293A323332330A696E636C756465202E2E2F61726475696E6F2E6D6B0A0A666C6173683A20616C6C0A092E2E2F617672666C617368202428484F535429206D7174742E6865780A096E63202428484F5354292032330A0A72756E3A2075706C6F61642073697A650A096E63202428484F5354292032330A mqtt 3A3130303030303030304339343346303030433934363730303043393436373030304339343637303046430D0A3A3130303031303030304339343637303030433934363730303043393436373030304339343637303043340D0A3A3130303032303030304339343637303030433934363730303043393436373030304339343637303042340D0A3A3130303033303030304339343637303030433934363730303043393436373030304339343637303041340D0A3A3130303034303030304339344638303130433934363730303043393434443033304339343746303346450D0A3A3130303035303030304339343637303030433934363730303043393436373030304339343637303038340D0A3A3130303036303030304339343637303030433934363730303433364636453645363536333734363535330D0A3A3130303037303030363434333432323036393733323033303738303045353031414630333131323430360D0A3A3130303038303030314642454346454644384530444542464344424631324530413045304231453046310D0A3A3130303039303030453845424645453130324330303539303044393241343336423130374439463735360D0A3A3130303041303030323345304134453642324530303143303144393241373343423230374531463734440D0A3A3130303042303030313045304346453344304530303443303231393746453031304539344531304345340D0A3A3130303043303030434433334431303743394637304539343236303530433934354130463043393432320D0A3A3130303044303030303030303636453037314530383645323933453030453934363630343130393230300D0A3A3130303045303030364130323038393536384531373145303836453239334530304339343636303438380D0A3A3130303046303030363745323731453038364532393345303045393436363034343045303637453331350D0A3A3130303130303030373145303842453639324530304539343037303734304530363345343731453035330D0A3A3130303131303030384245363932453030453934303730373831453038303933364130323038393543460D0A3A3130303132303030304639333146393343463933444639334344423744454237324339373046423630360D0A3A3130303133303030463839344445424630464245434442463843303136324535373145303836453242300D0A3A3130303134303030393345303045393434453034423830314345303130373936304539343531304332340D0A3A3130303135303030424530313639354637463446383645323933453030453934353430343633453632430D0A3A3130303136303030373145303836453239334530304539343445303442383031434530313031393635300D0A3A3130303137303030304539343531304342453031364635463746344638364532393345303045393441380D0A3A3130303138303030353430344345303130313936304539343839303243453031303739363045393437360D0A3A3130303139303030383930323243393630464236463839344445424630464245434442464446393135420D0A3A3130303141303030434639313146393130463931303839354346393344463933314639324344423746390D0A3A3130303142303030444542374443303131343936454439314643393131353937323238313333383131350D0A3A3130303143303030323133303331303546314634343145303530453042453031364635463746344631370D0A3A3130303144303030304539343043304338393831383533303339463436394536373145303836453237310D0A3A3130303145303030393345303045393436363034304443303638453737314530383645323933453034380D0A3A3130303146303030304539343445303434414530353045303639383138364532393345303045393434410D0A3A3130303230303030453030343046393044463931434639313038393532364530343045303532454339410D0A3A3130303231303030363145303730453038364532393345303045393446423035363945383731453032450D0A3A3130303232303030383645323933453030453934363630343634454437304530383945383932453036330D0A3A3130303233303030304539344341303734304544353745303630453037304530383745383932453037360D0A3A3130303234303030304539343838304238313131303743303644453937314530383645323933453039450D0A3A3130303235303030304539343636303445464346363445423731453038364532393345303045393442370D0A3A3130303236303030363630343638453737304530384245363932453030453934434130373639453645300D0A3A3130303237303030373045303831453739324530304539344341303736324537373045303837453744410D0A3A3130303238303030393245303045393443413037363045393730453038444537393245303045393436380D0A3A3130303239303030434130373842453639324530304539343742303636364543373145303836453237430D0A3A3130303241303030393345303043393436363034434639324446393245463932464639323046393334420D0A3A3130303242303030434639334446393343444237444542373243393730464236463839344445424641300D0A3A3130303243303030304642454344424638374538393245303045393431393041383039313641303242320D0A3A3130303244303030383832333039463436434330304539343432303243303930363430324430393034450D0A3A3130303245303030363530324530393036363032463039303637303244433031434230313843313939380D0A3A3130303246303030394430394145303942463039383133413946343041313035423130353038463445370D0A3A3130303330303030353643303634454437314530383645323933453030453934363630343830393133440D0A3A3130303331303030363830323930393136393032394330313246354633463446333039333639303230300D0A3A3130303332303030323039333638303234414530424530313646354637463446304539344545304538440D0A3A3130303333303030303045303230453041453031344635463546344636374533373145303842453643360D0A3A3130303334303030393245303045393442333037383039313638303239303931363930323441453041450D0A3A3130303335303030424530313646354637463446384435393946344630453934454530453230453044300D0A3A3130303336303030414530313446354635463446364645443731453038424536393245303045393435300D0A3A3130303337303030423330373835453839324530304539343933304336423031374330313634454636370D0A3A3130303338303030373145303836453239334530304539343445303432414530333045304237303137420D0A3A3130303339303030413630313836453239334530304539343133303530453934343230323630393334380D0A3A3130303341303030363430323730393336353032383039333636303239303933363730323243393642340D0A3A3130303342303030304642364638393444454246304642454344424644463931434639313046393138360D0A3A3130303343303030464639304546393044463930434639303038393534364532353345304241303139450D0A3A3130303344303030383745383932453030453934363830383637453837324530383545383932453041410D0A3A3130303345303030304539343846304336374538373245303842453639324530304339343630303634360D0A3A3130303346303030314639323046393230464236304639323131323432463933334639333846393335410D0A3A3130303430303030394639334146393342463933383039313145303339303931314630334130393138300D0A3A3130303431303030323030334230393132313033333039313144303332334530323330463244333744410D0A3A3130303432303030323046343031393641313144423131443035433032364538323330463032393646380D0A3A3130303433303030413131444231314432303933314430333830393331453033393039333146303345340D0A3A3130303434303030413039333230303342303933323130333830393132323033393039313233303337320D0A3A3130303435303030413039313234303342303931323530333031393641313144423131443830393341350D0A3A3130303436303030323230333930393332333033413039333234303342303933323530334246393130390D0A3A3130303437303030414639313946393138463931334639313246393130463930304642453046393035310D0A3A3130303438303030314639303138393532464237463839343630393131453033373039313146303336390D0A3A3130303439303030383039313230303339303931323130333246424630383935373839343834423531330D0A3A3130303441303030383236303834424438344235383136303834424438354235383236303835424437300D0A3A3130303442303030383542353831363038354244454545364630453038303831383136303830383335360D0A3A3130303443303030453145384630453031303832383038313832363038303833383038313831363033390D0A3A3130303444303030383038334530453846304530383038313831363038303833453145424630453030300D0A3A3130303445303030383038313834363038303833453045424630453038303831383136303830383341340D0A3A3130303446303030454145374630453038303831383436303830383338303831383236303830383338440D0A3A3130303530303030383038313831363038303833383038313830363838303833313039324331303042370D0A3A3130303531303030303839354643303138303831393138313043393437433044434639334446393333310D0A3A3130303532303030454330313838383139393831303039373131463030453934374330443139383235440D0A3A3130303533303030313838323144383231433832314238323141383244463931434639313038393533450D0A3A3130303534303030304639333146393343463933444639334543303138423031364635463746344636450D0A3A3130303535303030383838313939383130453934313430453030393733314630393938333838383344350D0A3A3130303536303030314238333041383338314530303143303830453044463931434639313146393135450D0A3A3130303537303030304639313038393543463933444639334543303138383831393938313839324241360D0A3A3130303538303030323946303841383139423831383631373937303736304634434530313045393432420D0A3A3130303539303030413030323838323334314630384338313944383138393242313946344538383138380D0A3A3130303541303030463938313130383238314530444639314346393130383935454639324646393235460D0A3A3130303542303030304639333146393343463933444639334543303137423031384130314241303136340D0A3A3130303543303030304539344241303238313131303443304345303130453934384530323037433041460D0A3A3130303544303030314438333043383342373031383838313939383130453934453730454345303141420D0A3A3130303545303030444639314346393131463931304639314646393045463930303839354643303134330D0A3A3130303546303030313138323130383231333832313238323135383231343832363131353731303539340D0A3A3130303630303030353146304642303130313930303032304539463733313937414630313436314234330D0A3A3130303631303030353730423043393444363032303839354546393246463932304639333146393346440D0A3A3130303632303030434639334446393346433031323438313335383136313135373130353131463441440D0A3A3130303633303030383045303139433034313135353130354139463037423031454330313841303134380D0A3A3130303634303030303230463133314642383031304539344241303238383233383946333238383138300D0A3A3130303635303030333938313843383139443831423730313832304639333146304539344537304532330D0A3A3130303636303030314438333043383338314530444639314346393131463931304639314646393034420D0A3A3130303637303030454639303038393543463933444639333030443043444237444542373639383342350D0A3A3130303638303030314138323431453035304530424530313646354637463446304539343043303337310D0A3A3130303639303030304639303046393044463931434639313038393531463932304639323046423639380D0A3A3130303641303030304639323131323432463933384639333946393345463933464639334530393144390D0A3A3130303642303030333630334630393133373033383038314530393133433033463039313344303344340D0A3A3130303643303030383246443132433039303831383039313346303338463546384637333230393144340D0A3A3130303644303030343030333832313735314630453039313346303346304530454135444643344645380D0A3A3130303645303030393538463830393333463033303143303830383146463931454639313946393138460D0A3A3130303646303030384639313246393130463930304642453046393031463930313839353146393230320D0A3A3130303730303030304639323046423630463932313132343246393333463933344639333546393334350D0A3A3130303731303030364639333746393338463933394639334146393342463933454639334646393343390D0A3A3130303732303030383645323933453030453934373130354646393145463931424639314146393133360D0A3A3130303733303030394639313846393137463931364639313546393134463931334639313246393146390D0A3A3130303734303030304639303046424530463930314639303138393538364532393345303045393443350D0A3A3130303735303030333530353231453038393242303946343230453038323246303839354536453239370D0A3A3130303736303030463345303133383231323832383845453933453041304530423045303834383338440D0A3A3130303737303030393538334136383342373833383045313932453039313833383038333835454341330D0A3A3130303738303030393045303935383738343837383445433930453039373837383638373830454335420D0A3A3130303739303030393045303931384238303842383145433930453039333842383238423832454334430D0A3A3130303741303030393045303935384238343842383645433930453039373842383638423131384546360D0A3A3130303742303030313238453133384531343845303839354346393244463932454639324646393244350D0A3A3130303743303030304639333146393343463933444639333643303137413031384230314330453045440D0A3A3130303744303030443045304345313544463035383946304438303136443931384430314436303145440D0A3A3130303745303030454439314643393130313930463038314530324443363031303939353839324244360D0A3A3130303746303030313146343745303130324330323139364543434643373031444639314346393141390D0A3A3130303830303030314639313046393146463930454639304446393043463930303839353631313541390D0A3A3130303831303030373130353739463046423031303139303030323045394637333139374146303146340D0A3A3130303832303030343631423537304244433031454439314643393130323830463338314530324431410D0A3A3130303833303030303939343830453039304530303839354546393246463932304639333146393334380D0A3A3130303834303030434639334446393338433031374230314330453044304530463730314543304638380D0A3A3130303835303030464431463634393136363233363146304438303145443931464339313031393033380D0A3A3130303836303030463038314530324443383031303939353839324231314630323139364545434637410D0A3A3130303837303030434530314446393143463931314639313046393146463930454639303038393544450D0A3A3130303838303030444330314544393146433931444230313134393634443931354339313135393738330D0A3A3130303839303030364439313743393130323830463338314530324430393934304339343037303430320D0A3A3130303841303030364245463731453030433934303730343046393331463933434639334446393343410D0A3A3130303842303030454330313045393434303034384330314345303130453934353030343830304638340D0A3A3130303843303030393131464446393143463931314639313046393130383935304639333146393336370D0A3A3130303844303030434639334446393345433031304539343037303438433031434530313045393441430D0A3A3130303845303030353030343830304639313146444639314346393131463931304639313038393542380D0A3A3130303846303030384639323946393241463932424639324346393244463932454639324646393233300D0A3A3130303930303030304639333146393343463933444639334344423744454237413139373046423641390D0A3A3130303931303030463839344445424630464245434442463743303144343245433532454442303130370D0A3A3130303932303030313941323232333030384634324145303845303130463544314634463832324539420D0A3A3130303933303030393132434131324342313243364432443743324443443031413530313934303130340D0A3A3130303934303030304539344246304344323245433332454441303130313530313130393641333036390D0A3A3130303935303030373130353831303539313035313046343630354430314330363935434638303143350D0A3A3130303936303030363038333233324232343242323532423331463742383031433730313045393436430D0A3A3130303937303030303730344131393630464236463839344445424630464245434442464446393137450D0A3A3130303938303030434639313146393130463931464639304546393044463930434639304246393038430D0A3A3130303939303030414639303946393038463930303839353231313533313035343146344443303141460D0A3A3130303941303030454439314643393130313930463038314530324436343246303939343043393435440D0A3A3130303942303030373830343941303134363246353045303630453037304530304339344343303437420D0A3A3130303943303030304639333146393343463933444639334543303139413031343632463530453044320D0A3A3130303944303030363045303730453030453934434330343843303143453031304539343530303443330D0A3A3130303945303030383030463931314644463931434639313146393130463931303839353941303137300D0A3A3130303946303030414230313630453037304530304339344343303430463933314639334346393339350D0A3A3130304130303030444639334543303139413031414230313630453037304530304539344343303433450D0A3A3130304131303030384330314345303130453934353030343830304639313146444639314346393137350D0A3A3130304132303030314639313046393130383935304639333146393343463933444639334543303143340D0A3A3130304133303030304539344343303438433031434530313045393435303034383030463931314642330D0A3A3130304134303030444639314346393131463931304639313038393530383935304539343445303235410D0A3A3130304135303030304539343235303530453934303530314333453644354530304539343533303143450D0A3A3130304136303030323039374531463330453934363330354639434646433031393138443232384435460D0A3A3130304137303030383932463930453038303543394634463832314239313039384637333939323738420D0A3A3130304138303030303839354643303139313844383238443938313733314630383238444538304643390D0A3A3130304139303030463131443835384439304530303839353846454639464546303839354643303138330D0A3A3130304141303030393138443832384439383137363146303832384444463031413830464231314441350D0A3A3130304142303030354439363843393139323844394635463946373339323846393045303038393543390D0A3A3130304143303030384645463946454630383935383545413933453038393242343946303830453034450D0A3A3130304144303030393045303839324232394630304539344135303338313131304339343030303035440D0A3A3130304145303030303839354643303138343844444630314138304642313144413335414246344645420D0A3A3130304146303030324339313834384439304530303139363846373339393237383438464136383931440D0A3A3130304230303030423738393243393341303839423138393843393138303634384339333933384434330D0A3A3130304231303030383438443938313330364330303238384633383945303244383038313846374433330D0A3A3130304232303030383038333038393543463933444639334543303138383844383832334339463045420D0A3A3130304233303030454138394642383938303831383546443035433041383839423938393843393145360D0A3A3130304234303030383646443046433030464236303746434635434638303831383546464632434638310D0A3A3130304235303030413838394239383938433931383546464544434643453031304539343731303544450D0A3A3130304236303030453743464446393143463931303839354546393246463932304639333146393346430D0A3A3130304237303030434639334446393345433031383145303838384639423844384338443938313335300D0A3A3130304238303030303543304538383946393839383038313835464432344330463632453042384438410D0A3A3130304239303030313045303046354631463446304637333131323745303245384338444538313241450D0A3A3130304241303030304343303046423630374643464143464538383946393839383038313835464637300D0A3A3130304242303030463543464345303130453934373130354631434638423844464530314538304642430D0A3A3130304243303030463131444533354146463446463038323042384645413839464238393830383138380D0A3A3130304244303030383036323037433045453839464638393630383345383839463938393830383139360D0A3A3130304245303030383036343830383338314530393045304446393143463931314639313046393132440D0A3A3130304246303030464639304546393030383935434639324446393245463932464639323146393342340D0A3A3130304330303030434639334446393345433031364130313742303131323246453838394639383930380D0A3A3130304331303030383245303830383334313135353134453631303537313035423146303630453042440D0A3A3130304332303030373945303844453339304530413730313936303130453934424630434441303130340D0A3A3130304333303030433930313031393741313039423130394236393541373935393739353837393531460D0A3A3130304334303030414330313431313538304531353830374138463045383839463938393130383243340D0A3A3130304335303030363045383734453838454531393045304137303139363031304539344246304336350D0A3A3130304336303030424130314139303134313530353130393631303937313039373639353637393534390D0A3A3130304337303030353739353437393545433835464438353530383345453835464638353430383332430D0A3A3130304338303030313838454543383946443839313038334541383946423839383038313830363135370D0A3A3130304339303030383038334541383946423839383038313838363038303833454138394642383937370D0A3A3130304341303030383038313830363838303833454138394642383938303831384637443830383335310D0A3A3130304342303030444639314346393131463931464639304546393044463930434639303038393533420D0A3A3130304343303030304639333146393343463933444639334543303138423031304539344334303731360D0A3A3130304344303030434530313036393630453934433430374345303130433936304539344334303735450D0A3A3130304345303030434530313432393630453934433430373139384630383846444639314346393145310D0A3A3130304346303030314639313046393130383935384639323946393241463932424639324546393241320D0A3A3130304430303030464639323046393331463933434639334446393330304430303044304344423730360D0A3A3130304431303030444542373743303136384536373045303836453239334530304539343143303438360D0A3A3130304432303030343730313046324330303043414130384242303832304531333045304235303146380D0A3A3130304433303030413430313836453239334530304539343133303530344530313045303230453041350D0A3A3130304434303030333045304139303136414530373045304637303138303844393138443045393438410D0A3A3130304435303030413830413839383239413832414238324243383234344530353045304245303133430D0A3A3130304436303030364635463746344646373031383038443931384430453934323530424337303132410D0A3A3130304437303030303639363039324530303043414130424242304238393833394138334142383343320D0A3A3130304438303030424338333434453035304530424530313646354637463446463730313830384437300D0A3A3130304439303030393138443045393432353042433730313043393630393245303030434141304230310D0A3A3130304441303030424230423839383339413833414238334243383334344530353045304245303144340D0A3A3130304442303030364635463746344646373031383038443931384430453934323530424337303144410D0A3A3130304443303030343239363039324530303043414130424242304238393833394138334142383333360D0A3A3130304444303030424338333434453035304530424530313646354637463446463730313830384432300D0A3A3130304445303030393138443045393432353042463730313830384439313844304539343532303846340D0A3A3130304446303030304639303046393030463930304639304446393143463931314639313046393135370D0A3A3130304530303030464639304546393042463930414639303946393038463930303839354346393246410D0A3A3130304531303030444639324546393246463932304639333146393343463933444639333146393237360D0A3A3130304532303030434442374445423737433031364230313439383330324530313045303230453032320D0A3A3130304533303030333045304139303136434530373045304643303138303844393138443045393439320D0A3A3130304534303030413830414636303130313930303032304539463733313937414630313443313938420D0A3A3130304535303030354430394236303146373031383038443931384430453934323530423431453035460D0A3A3130304536303030353045304245303136463546374634464637303138303844393138443045393433320D0A3A3130304537303030323530424637303138303844393138443045393435323038304639304446393131340D0A3A3130304538303030434639313146393130463931464639304546393044463930434639303038393533390D0A3A3130304539303030384639323946393241463932424639324346393244463932454639323046393337390D0A3A3130304541303030314639334346393344463933303044303030443043444237444542373643303139360D0A3A3130304542303030354230313441303133413833323938333042383345433832303545303130453035310D0A3A3130304543303030323045303330453041393031364245303730453046433031383038443931384441350D0A3A3130304544303030304539344138304146353031303139303030323045394637333139374146303142460D0A3A3130304545303030344131393542303942353031463630313830384439313844304539343235304239310D0A3A3130304546303030343938313541383142343031463630313830384439313844304539343235304241340D0A3A3130304630303030343245303530453042453031364635463746344646363031383038443931384431320D0A3A3130304631303030304539343235304234314530353045304245303136443546374634464636303135450D0A3A3130304632303030383038443931384430453934323530423431453035304530424530313643354645390D0A3A3130304633303030374634464636303138303844393138443045393432353042463630313830384445420D0A3A3130304634303030393138443045393435323038304639303046393030463930304639304446393139420D0A3A3130304635303030434639313146393130463931454639304446393043463930424639304146393030360D0A3A3130304636303030394639303846393030383935454639323046393346413031303139303030323043370D0A3A3130304637303030453946373331393745343142463530424530324530323246394630313045393434390D0A3A3130304638303030343830373046393145463930303839354643303131313832313038323133383239460D0A3A3130304639303030313238323038393546433031373338333632383330383935444330313132393632360D0A3A3130304641303030454439314643393131333937333039374631463032443931334339313131393742310D0A3A3130304642303030323131353331303542314630313439363444393135433931313539374341303133380D0A3A3130304643303030393539353837393534304646304143304439303141383046423931463444393138420D0A3A3130304644303030354339314534304646353146303139304630383145303244383230463933314643420D0A3A3130304645303030303939344342303130393934303839354643303138303831393138313839324239410D0A3A3130304646303030333946343831453032323831333338313233324231394634383045303038393542340D0A3A3130313030303030383145303038393543463933444639334543303138413835394238353630334335360D0A3A3130313031303030413146303642334432314635444330314544393146433931303139304630383139370D0A3A3130313032303030453032443642454430393935384138353942383544433031454439314643393141360D0A3A3130313033303030303139304630383145303244364445443138433044433031454439314643393138370D0A3A3130313034303030303139304630383145303244364245443039393538413835394238354443303138460D0A3A3130313035303030454439314643393130313930463038314530324436434544303643304443303137410D0A3A3130313036303030454439314643393130313930463038314530324444463931434639313039393446390D0A3A3130313037303030454639324646393230463933314639334346393344463933374330314542303143440D0A3A3130313038303030384230313034304631353146433031374431303732394630363939314337303130330D0A3A3130313039303030304539343032303846384346444639314346393131463931304639314646393032450D0A3A3130313041303030454639303038393543463933444639334543303142433031363335463746344631360D0A3A3130313042303030343245303530453030453934333830383841383539423835444330314544393137320D0A3A3130313043303030464339313031393046303831453032443630454344463931434639313039393443420D0A3A3130313044303030304639333146393343463933444639334543303138423031464330313431393339450D0A3A3130313045303030353139334346303130453934433430373142383730413837383145303843383733380D0A3A3130313046303030434530313436393639383842384638373830453839304530394138423839384246420D0A3A3130313130303030314338413142384131443841444639314346393131463931304639313038393533300D0A3A3130313131303030464330313234383532323233323146303830383139313831304339343636303442360D0A3A3130313132303030303839353436323733343246323532464139303134343237383445303434304633320D0A3A3130313133303030353531463841393545314637343232373533323743413031383932463939323731450D0A3A3130313134303030383239353846373034383237353932374341303138383237333545303936393545300D0A3A3130313135303030383739353341393545314637383432373935323730383935454639324646393242360D0A3A3130313136303030304639333146393343463933444639333743303143393031454230313842303139380D0A3A3130313137303030303430463135314643303137443130373331463036393931414330314337303145390D0A3A3130313138303030304539343931303846374346444639314346393131463931304639314646393041460D0A3A3130313139303030454639303038393541463932424639324346393244463932454639324646393242440D0A3A3130313141303030304639333146393343463933444639333030443030304430303044304344423732330D0A3A3130313142303030444542373843303144433031314639364544393046433930353039373143393644390D0A3A3130313143303030384339313143393738383233303946343744433036434531373245303844393141440D0A3A3130313144303030394339313045393434453034463830313633383937343839344145303530453042320D0A3A3130313145303030383038313931383130453934463730343636453237324530443830313844393142450D0A3A3130313146303030394339313045393434453034463830313437383535303839303532453030304346310D0A3A3130313230303030363630423737304232304531333045303830383139313831304539344343303435350D0A3A3130313231303030364145343732453044383031384439313943393130453934344530344637303131450D0A3A3130313232303030363038313731383134304531353045304438303138443931394339313045393444340D0A3A3130313233303030463730343642453437324530463830313830383139313831304539343445303431320D0A3A3130313234303030443730313134393634443931354439313644393137433931313739373230453139360D0A3A3130313235303030333045304638303138303831393138313045393443433034364245343732453035460D0A3A3130313236303030443830313844393139433931304539343445303446373031363238313733383139370D0A3A3130313237303030343045313530453044383031384439313943393130453934463730343838453046340D0A3A3130313238303030433832454431324346383031323338393334383938303831393138314332313631450D0A3A3130313239303030443330364230463436424534373245303045393434453034443830313146393641450D0A3A3130313241303030454439314643393135303937454330444644314434304531353045303630383130370D0A3A3130313242303030384439313943393130453934443930344246454643423141444230414532434633420D0A3A3130313243303030304539343530303444383031353339364344393044433930353439374232453032300D0A3A3130313244303030434231414431303846383031413738344230383832304530333045304136303133440D0A3A3130313245303030423530314338303130453934414530384635303145433044464431443230383137440D0A3A3130313246303030333138313832313739333037333146303639453237324530433830313045393445300D0A3A3130313330303030383830383832433044373031384439313943393138323330393130353339463037370D0A3A3130313331303030383333303931303546314630303139373039463036434330354243304638303144320D0A3A3130313332303030383438353838323330394634373343303641453337324530383038313931383132370D0A3A3130313333303030304539343445303444373031313439363444393135443931364439313743393136300D0A3A3130313334303030313739373241453033304530463830313830383139313831304539343133303530460D0A3A3130313335303030354543304438303131433936384339313143393738383233323946313633453430380D0A3A3130313336303030373245303844393139433931304539343445303446373031343438313535383135390D0A3A3130313337303030363638313737383132414530333045304438303138443931394339313045393441450D0A3A3130313338303030434330343642453437324530463830313830383139313831304539343445303445430D0A3A3130313339303030443730313132393636443931374339313133393734414530353045304638303143350D0A3A3130313341303030383038313931383130453934464430344437303131343936304439313143393142410D0A3A3130313342303030313539374338303130453934463430373838323333314631423730314345303143370D0A3A3130313343303030303139363045393430323043424530313646354637463446433830313045393431300D0A3A3130313344303030434530373141433036444534373245304638303138303831393138313045393430440D0A3A3130313345303030363630344438303131383936454439314643393131393937333039373631463033390D0A3A3130313346303030303939353041433046383031383438353838323333314630363845353732453031380D0A3A3130313430303030383038313931383130453934363630343830453039304530303143304337303136340D0A3A3130313431303030323639363046423646383934444542463046424543444246444639314346393146390D0A3A3130313432303030314639313046393146463930454639304446393043463930424639304146393030320D0A3A3130313433303030303839353146393343463933444639334543303131314530384138353942383537430D0A3A3130313434303030444330314544393146433931303438304635383145303244303939353839324235420D0A3A3130313435303030303946343433433038413835394238354443303145443931464339313036383045460D0A3A3130313436303030463738314530324430393935384233443931303531314634314438424536434639390D0A3A3130313437303030324238393343383938303343393130353739463432383330333130353230463039360D0A3A3130313438303030434530313045393443413038303243303830453039304530314338413142384133430D0A3A3130313439303030314438413030393739394632323343303444383934343233363146303843334434390D0A3A3130313441303030393130353331463038443344393130353239463438424544393045303032433035450D0A3A3130313442303030383045433930453031443841343938393541383932343137333530373038463038350D0A3A3130313443303030424443463446383535383839423930313646354637463446374338423642384238380D0A3A3130313444303030464130314532304646333146383038334231434638304530393045304446393134420D0A3A3130313445303030434639313146393130383935384639323946393241463932424639324346393230410D0A3A3130313446303030444639324546393246463932304639333146393343463933444639334543303135340D0A3A3130313530303030364130313742303130453934343230323442303135433031304539343432303237460D0A3A3130313531303030384230313943303130383139313930393241303933423039304331353144303541350D0A3A3130313532303030324530353346303533304634434530313045393431393041303039373731463339310D0A3A3130313533303030303243303830453039304530444639314346393131463931304639314646393036410D0A3A3130313534303030454639304446393043463930424639304146393039463930384639303038393544350D0A3A3130313535303030454639324646393230463933314639334346393344463933434442374445423733380D0A3A3130313536303030323839373046423646383934444542463046424543444246374330313741383346420D0A3A3130313537303030363938333242383333433833344438333545383331383837304638334443303135330D0A3A3130313538303030314539363143393231453932314439373141393638443931394339313142393745380D0A3A3130313539303030444330314544393146433931303139304630383145303244363045433039393536410D0A3A3130313541303030343245303530453042453031364635463746344643373031304539343338303845340D0A3A3130313542303030463730313235383533363835343245303530453042453031364635463746344632310D0A3A3130313543303030433730313045393441453038443730313145393639433933384539333144393736420D0A3A3130313544303030343245303530453042453031363935463746344643373031304539343338303842410D0A3A3130313545303030463730313235383533363835343245303530453042453031363935463746344646370D0A3A3130313546303030433730313045393441453038443730313145393639433933384539333144393733420D0A3A3130313630303030343445303530453042453031364435463746344643373031304539343338303838330D0A3A3130313631303030463730313235383533363835343445303530453042453031364435463746344643300D0A3A3130313632303030433730313045393441453038443730313145393639433933384539333144393730410D0A3A3130313633303030323839363046423646383934444542463046424543444246444639314346393144350D0A3A3130313634303030314639313046393146463930454639303038393543463932444639324546393234430D0A3A3130313635303030464639323046393331463933434639334446393330304430434442374445423745380D0A3A3130313636303030384330313742303135413833343938333432453035304530424530313646354645390D0A3A3130313637303030374634463045393433383038463830313235383533363835343245303530453030410D0A3A3130313638303030424530313646354637463446433830313045393441453038463830313936383743380D0A3A3130313639303030383538374339383044413830434530434446314345433134464430343931463034340D0A3A3130313641303030463730313630383143383031304539343032303846383031343538353536383534450D0A3A3130313642303030463730313631393137463031433830313045393439313038463830313936383741360D0A3A3130313643303030383538374542434645393830464138304631393445313934463130384633453041420D0A3A3130313644303030454632324646323446314530454631414631303837384630363045304338303139320D0A3A3130313645303030304539343032303846383031343538353536383536304530433830313045393430350D0A3A3130313646303030393130384638303139363837383538374544434630463930304639304446393143350D0A3A3130313730303030434639313146393130463931464639304546393044463930434639303038393542300D0A3A3130313731303030344639323546393236463932374639324146393242463932434639324446393238310D0A3A3130313732303030454639324646393230463933314639334346393344463933454330313241303136370D0A3A3130313733303030334230313841383539423835444330314544393146433931303139304630383135340D0A3A3130313734303030453032443630454330393935364530314232453043423045443131433044324341320D0A3A3130313735303030303030434545303846463038303045303130453041373031393630313631453033300D0A3A3130313736303030373045304345303130453934413830414345303130453934353230384138383430460D0A3A3130313737303030423938343139383631383836423330314132303143453031304539343733304141410D0A3A3130313738303030384330313839324236394631463830313434383135353831363638313737383134420D0A3A3130313739303030384338353443313535443035364530353746303536314634383832333331463035440D0A3A3130313741303030363245353732453038383831393938313045393436363034423938364138383630340D0A3A3130313742303030383145303139433038383233463946323645453537324530383838313939383139310D0A3A3130313743303030304539343445303444383031313439363444393135443931364439313743393143420D0A3A3130313744303030313739373241453033304530383838313939383130453934313330354342434643410D0A3A3130313745303030423938364138383638304530444639314346393131463931304639314646393037440D0A3A3130313746303030454639304446393043463930424639304146393037463930364639303546393031310D0A3A3130313830303030344639303038393546433031373538333634383336383546374634463733383346350D0A3A3130313831303030363238333131383231303832303839354546393246463932304639333146393342420D0A3A3130313832303030434639334446393345433031383838313939383145433831464438313232383134360D0A3A3130313833303030333338313832313739333037363046354541383146423831303139313131393135310D0A3A3130313834303030324545463346454632303142333130423739303141334530454132324646323441410D0A3A3130313835303030464238334541383330313936393938333838383343423031394130313034313735440D0A3A3130313836303030313530373038463439383031323630463337314638323137393330373239463046300D0A3A3130313837303030343139314443303134443933434430314638434639373031323030463331314632440D0A3A3130313838303030384138313942383132383046333931463342383332413833433830313032433041430D0A3A3130313839303030384645463946454644463931434639313146393130463931464639304546393030450D0A3A3130313841303030303839354346393244463932454639324646393230463933314639334346393330310D0A3A3130313842303030444639333643303145423031364445463731453030453934463730324541383141410D0A3A3130313843303030464238314531393046313930304545463146454630453139314630393033373044440D0A3A3130313844303030313132374642383345413833383838313939383130313936393938333838383330340D0A3A3130313845303030454138314642383145313134463130343631463043463031303139363942383335310D0A3A3130313846303030384138333630383143363031304539343341303338314530453831414631303846380D0A3A3130313930303030454643463045304631463146314238333041383343363031444639314346393146430D0A3A3130313931303030314639313046393146463930454639304446393043463930303839354643303130310D0A3A3130313932303030373138333630383330383935304639333146393343463933444639334543303132450D0A3A3130313933303030303045303130453032304530333045304139303136374530373045303838383137440D0A3A3130313934303030393938313045393441383041383838313939383130453934353230383430454444440D0A3A3130313935303030353745303630453037304530383838313939383130453934373330413030393745370D0A3A3130313936303030333146304643303136343831373538313836383139373831303343303630453035430D0A3A3130313937303030373045304342303144463931434639313146393130463931303839354131453230420D0A3A3130313938303030314132454141314242423142464430313044433041413146424231464545314646390D0A3A3130313939303030464631464132313742333037453430374635303732304630413231424233304234340D0A3A3130313941303030453430424635304236363146373731463838314639393146314139343639463743300D0A3A3130313942303030363039353730393538303935393039353942303141433031424430314346303131430D0A3A3130313943303030303839354545304646463146303539304634393145303244303939344346393333390D0A3A3130313944303030444639333832333039313035313046343832453039304530453039314335303333450D0A3A3130313945303030463039314336303332304530333045304330453044304530333039373131463138340D0A3A3130313946303030343038313531383134383137353930374330463034383137353930373631463444310D0A3A3130314130303030383238313933383132303937313946303942383338413833324243303930393343360D0A3A3130314131303030433630333830393343353033323643303231313533313035313946303432313736450D0A3A3130314132303030353330373138463439413031424530314446303145463031303238304633383133300D0A3A3130314133303030453032444443434632313135333130353039463132383142333930423234333041440D0A3A3130314134303030333130353930463431323936384439313943393131333937363131353731303535330D0A3A3130314135303030323146304642303139333833383238333034433039303933433630333830393339420D0A3A3130314136303030433530334644303133323936343443304644303145323046463331463831393343460D0A3A3130314137303030393139333232353033313039324439333343393333414330323039314333303339360D0A3A3130314138303030333039314334303332333242343146343230393130323031333039313033303144320D0A3A3130314139303030333039334334303332303933433330333230393130303031333039313031303143450D0A3A3130314141303030323131353331303534314634324442373345423734303931303430313530393130350D0A3A3130314142303030303530313234314233353042453039314333303346303931433430334532313732390D0A3A3130314143303030463330374130463432453142334630423238313733393037373846304143303136310D0A3A3130314144303030344535463546344632343137333530373438463034453046354631463530393333450D0A3A3130314145303030433430333430393343333033383139333931393330324330453045304630453030430D0A3A3130314146303030434630314446393143463931303839353046393331463933434639334446393338310D0A3A3130314230303030303039373039463438434330464330313332393731333832313238323030393137350D0A3A3130314231303030433530333130393143363033303131353131303538314634323038313331383139460D0A3A3130314232303030383230463933314632303931433330333330393143343033323831373339303746340D0A3A3130314233303030373946354630393343343033453039334333303337314330443830313430453038410D0A3A3130314234303030353045304145313742463037353046343132393632443931334339313133393742390D0A3A3130314235303030414430313231313533313035303946314439303146334346394430314441303135430D0A3A3130314236303030333338333232383336303831373138313836304639373146383231373933303743390D0A3A3130314237303030363946344543303132383831333938313236304633373146324535463346344631320D0A3A3130314238303030333138333230383338413831394238313933383338323833343532423239463432460D0A3A3130314239303030463039334336303345303933433530333432433031333936464339334545393330330D0A3A3130314241303030313239374544303134393931353939313945303132343046333531464532313742420D0A3A3130314242303030463330373731463438303831393138313834304639353146303239363131393632440D0A3A3130314243303030394339333845393338323831393338313133393639433933384539333132393730430D0A3A3130314244303030453045304630453044383031313239363844393139433931313339373030393736380D0A3A3130314245303030313946304638303138433031463643463844393139433931393830313245354633300D0A3A3130314246303030334634463832304639333146323039314333303333303931433430333238313744360D0A3A3130314330303030333930373639463433303937323946343130393243363033313039324335303337450D0A3A3130314331303030303243303133383231323832313039334334303330303933433330334446393141360D0A3A3130314332303030434639313146393130463931303839354130453042304530454145314645453041450D0A3A3130314333303030304339343237304645433031303039373231463443423031304539344537304344340D0A3A3130314334303030423843304643303145363046463731463943303132323530333130394532313744320D0A3A3130314335303030463330373038463441434330443930313044393131433931313139373036313733380D0A3A3130314336303030313730374230463030353330313130353038463439464330433830313034393741430D0A3A3130314337303030383631373937303730384634393943303032353031313039303631423137304232350D0A3A3130314338303030303139333131393336443933374339334346303130453934374330443844433043350D0A3A3130314339303030354230314130314142313041344330313830304539313145413039314335303346300D0A3A3130314341303030423039314336303334304530353045304531324346313243313039373039463430430D0A3A3130314342303030344143304138313542393035443146353644393037433930313139373633303143340D0A3A3130314343303030383245304338304544313143434131344442303438304631413330313441313942410D0A3A3130314344303030354230393641303138324530433830454431314331323936424339303132393737330D0A3A3130314345303030313339364143393142354530434231364431303434304630423238324133383333390D0A3A3130314346303030353138333430383344393031364439333743393330414330304535463146344642460D0A3A3130314430303030433330313830304639313146463930313931383338303833454232444641324637450D0A3A3130314431303030453131344631303433314630443730313133393646433933454539333132393737450D0A3A3130314432303030343443304630393343363033453039334335303333464330384439313943393144450D0A3A3130314433303030313139373438313735393037303846344143303137443031313239363044393044300D0A3A3130314434303030424339314130324442334346383039314333303339303931433430333838313539420D0A3A3130314435303030393930354531463434363137353730374338463438303931303030313930393136360D0A3A3130314436303030303130313030393734314634384442373945423734303931303430313530393135350D0A3A3130314437303030303530313834314239353042453831374639303743384634463039334334303331390D0A3A3130314438303030453039334333303346393031373138333630383330464330434230313045393430430D0A3A3130314439303030453730433743303130303937353946304138303142453031304539344445304546440D0A3A3130314441303030434530313045393437433044433730313034433043453031303243303830453042430D0A3A3130314442303030393045304344423744454237454545303043393434333046464230314443303130310D0A3A3130314443303030303243303031393030443932343135303530343044384637303839354642303139380D0A3A3130314444303030444330313031393030443932303032304531463730383935424232373441333030350D0A3A3130314445303030333146343939323332324634424445323930393538313935394634463043393439340D0A3A3130314446303030464130454242323746423031353532374141323738383046393931464141314639380D0A3A3130314530303030413431373130463041343142383339353530353142394637413035444141333331350D0A3A3130314531303030303846304139354441313933303039373739463742313131423139333131393245300D0A3A3130314532303030434230313043393431333046444330314643303136373246373139313737323331380D0A3A3130314533303030453146373332393730344330374339313644393337303833363239314145313738350D0A3A3130314534303030424630374338463330383935324639323346393234463932354639323646393230460D0A3A3130314535303030374639323846393239463932414639324246393243463932444639324546393233410D0A3A3130314536303030464639323046393331463933434639334446393343444237444542374341314242420D0A3A3130314537303030444230423046423646383934444542463046424543444246303939343241383845360D0A3A3130314538303030333938383438383835463834364538343744383438433834394238344141383438450D0A3A3130314539303030423938344338383444463830454538304644383030433831314238314141383131420D0A3A3130314541303030423938314345304644313144304642364638393444454246304642454344424645360D0A3A30383145423030304544303130383935463839344646434634350D0A3A3130314542383030303030304337303338303030344435313534353432303634363937333633364635380D0A3A3130314543383030364536453635363337343635363430303444353135343534323037303735363237430D0A3A3130314544383030364336393733363836353634303034443531353435343230363336463645364536440D0A3A3130314545383030363536333734363536343231303032463635373337303244364336393645364237320D0A3A3130314546383030324633313030324636383635364336433646324637373646373236433634324642310D0A3A3130314630383030323330303532363536333635363937363635363433413230373436463730363936390D0A3A3130314631383030363333443030363436313734363133443030353734393436343932303433344636310D0A3A3130314632383030344534453435343335343435343430303537343934363439323034453446353436380D0A3A3130314633383030323035323435343134343539334132303030343534433244343336433639363536460D0A3A3130314634383030364537343230373337343631373237343639364536373231303034353443324433430D0A3A3130314635383030343336433639363536453734323037333739364536333230363636313639364338310D0A3A3130314636383030363536343231303034353443324434333643363936353645373432303733373935360D0A3A3130314637383030364536333635363432313030343534433244344435313534353432303732363541330D0A3A3130314638383030363136343739303037303735363236433639373336383639364536373030324641370D0A3A3130314639383030363836353643364336463246373736463732364336343246363137323634373546330D0A3A3130314641383030363936453646303035343639364436353341323030303044304130303645363131340D0A3A3130314642383030364530303639364536363030364637363636303032453030303030303030303046350D0A3A3130314643383030423430354443303333353035344630353431303539323035343534433433334146380D0A3A3130314644383030323036373646373432303030323034303030343534433433334132303439364532410D0A3A3130314645383030373636313643363936343230343335323433303035323435353335303546353646320D0A3A3130314646383030334132303030353234353533353035463433343233413230303034453435343532460D0A3A3130323030383030343435463533353934453433323130303433344434343346334630303432343146320D0A3A3034323031383030343433413230303032360D0A3A303030303030303146460D0A .hex mqtt 2F2A2A0A202A2053696D706C65206578616D706C6520746F2064656D6F20746865206573702D6C696E6B204D51545420636C69656E740A202A2F0A0A23696E636C756465203C454C436C69656E742E683E0A23696E636C756465203C454C436C69656E74436D642E683E0A23696E636C756465203C454C436C69656E744D7174742E683E0A0A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F727420626F746820666F720A2F2F20534C495020616E6420666F72206465627567206D657373616765732E0A454C436C69656E7420657370282653657269616C2C202653657269616C293B0A0A2F2F20496E697469616C697A6520434D4420636C69656E742028666F722047657454696D65290A454C436C69656E74436D6420636D642826657370293B0A0A2F2F20496E697469616C697A6520746865204D51545420636C69656E740A454C436C69656E744D717474206D7174742826657370293B0A0A2F2F2043616C6C6261636B206D6164652066726F6D206573702D6C696E6B20746F206E6F74696679206F66207769666920737461747573206368616E6765730A2F2F2048657265207765206A757374207072696E7420736F6D657468696E67206F757420666F72206772696E730A766F69642077696669436228766F69642A20726573706F6E736529207B0A2020454C436C69656E74526573706F6E7365202A726573203D2028454C436C69656E74526573706F6E73652A29726573706F6E73653B0A2020696620287265732D3E617267632829203D3D203129207B0A2020202075696E74385F74207374617475733B0A202020207265732D3E706F7041726728267374617475732C2031293B0A0A20202020696628737461747573203D3D2053544154494F4E5F474F545F495029207B0A20202020202053657269616C2E7072696E746C6E28225749464920434F4E4E454354454422293B0A202020207D20656C7365207B0A20202020202053657269616C2E7072696E74282257494649204E4F542052454144593A2022293B0A20202020202053657269616C2E7072696E746C6E28737461747573293B0A202020207D0A20207D0A7D0A0A626F6F6C20636F6E6E65637465643B0A0A2F2F2043616C6C6261636B207768656E204D51545420697320636F6E6E65637465640A766F6964206D717474436F6E6E656374656428766F69642A20726573706F6E736529207B0A202053657269616C2E7072696E746C6E28224D51545420636F6E6E65637465642122293B0A20206D7174742E73756273637269626528222F6573702D6C696E6B2F3122293B0A20206D7174742E73756273637269626528222F68656C6C6F2F776F726C642F2322293B0A20202F2F6D7174742E73756273637269626528222F6573702D6C696E6B2F32222C2031293B0A20202F2F6D7174742E7075626C69736828222F6573702D6C696E6B2F30222C2022746573743122293B0A2020636F6E6E6563746564203D20747275653B0A7D0A0A2F2F2043616C6C6261636B207768656E204D51545420697320646973636F6E6E65637465640A766F6964206D717474446973636F6E6E656374656428766F69642A20726573706F6E736529207B0A202053657269616C2E7072696E746C6E28224D51545420646973636F6E6E656374656422293B0A2020636F6E6E6563746564203D2066616C73653B0A7D0A0A2F2F2043616C6C6261636B207768656E20616E204D515454206D657373616765206172726976657320666F72206F6E65206F66206F757220737562736372697074696F6E730A766F6964206D7174744461746128766F69642A20726573706F6E736529207B0A2020454C436C69656E74526573706F6E7365202A726573203D2028454C436C69656E74526573706F6E7365202A29726573706F6E73653B0A0A202053657269616C2E7072696E74282252656365697665643A20746F7069633D22293B0A2020537472696E6720746F706963203D207265732D3E706F70537472696E6728293B0A202053657269616C2E7072696E746C6E28746F706963293B0A0A202053657269616C2E7072696E742822646174613D22293B0A2020537472696E672064617461203D207265732D3E706F70537472696E6728293B0A202053657269616C2E7072696E746C6E2864617461293B0A7D0A0A766F6964206D7174745075626C697368656428766F69642A20726573706F6E736529207B0A202053657269616C2E7072696E746C6E28224D515454207075626C697368656422293B0A7D0A0A766F69642073657475702829207B0A202053657269616C2E626567696E28313135323030293B0A202053657269616C2E7072696E746C6E2822454C2D436C69656E74207374617274696E672122293B0A0A20202F2F2053796E632D75702077697468206573702D6C696E6B2C207468697320697320726571756972656420617420746865207374617274206F6620616E7920736B6574636820616E6420696E697469616C697A6573207468650A20202F2F2063616C6C6261636B7320746F20746865207769666920737461747573206368616E67652063616C6C6261636B2E205468652063616C6C6261636B20676574732063616C6C656420776974682074686520696E697469616C0A20202F2F207374617475732072696768742061667465722053796E6328292062656C6F7720636F6D706C657465732E0A20206573702E7769666943622E61747461636828776966694362293B202F2F207769666920737461747573206368616E67652063616C6C6261636B2C206F7074696F6E616C202864656C657465206966206E6F742064657369726564290A2020626F6F6C206F6B3B0A2020646F207B0A202020206F6B203D206573702E53796E6328293B2020202020202F2F2073796E632075702077697468206573702D6C696E6B2C20626C6F636B7320666F7220757020746F2032207365636F6E64730A2020202069662028216F6B292053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E63206661696C65642122293B0A20207D207768696C6528216F6B293B0A202053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E6365642122293B0A0A20202F2F205365742D75702063616C6C6261636B7320666F72206576656E747320616E6420696E697469616C697A6520776974682065732D6C696E6B2E0A20206D7174742E636F6E6E656374656443622E617474616368286D717474436F6E6E6563746564293B0A20206D7174742E646973636F6E6E656374656443622E617474616368286D717474446973636F6E6E6563746564293B0A20206D7174742E7075626C697368656443622E617474616368286D7174745075626C6973686564293B0A20206D7174742E6461746143622E617474616368286D71747444617461293B0A20206D7174742E736574757028293B0A0A20202F2F53657269616C2E7072696E746C6E282241524455494E4F3A207365747570206D717474206C777422293B0A20202F2F6D7174742E6C777428222F6C7774222C20226F66666C696E65222C20302C2030293B202F2F6F72206D7174742E6C777428222F6C7774222C20226F66666C696E6522293B0A0A202053657269616C2E7072696E746C6E2822454C2D4D51545420726561647922293B0A7D0A0A73746174696320696E7420636F756E743B0A7374617469632075696E7433325F74206C6173743B0A0A766F6964206C6F6F702829207B0A20206573702E50726F6365737328293B0A0A202069662028636F6E6E656374656420262620286D696C6C697328292D6C61737429203E203430303029207B0A2020202053657269616C2E7072696E746C6E28227075626C697368696E6722293B0A2020202063686172206275665B31325D3B0A0A2020202069746F6128636F756E742B2B2C206275662C203130293B0A202020206D7174742E7075626C69736828222F6573702D6C696E6B2F31222C20627566293B0A0A2020202069746F6128636F756E742B39392C206275662C203130293B0A202020206D7174742E7075626C69736828222F68656C6C6F2F776F726C642F61726475696E6F222C20627566293B0A0A2020202075696E7433325F742074203D20636D642E47657454696D6528293B0A2020202053657269616C2E7072696E74282254696D653A2022293B2053657269616C2E7072696E746C6E2874293B0A0A202020206C617374203D206D696C6C697328293B0A20207D0A7D0A .ino README 4D515454206578616D706C650A3D3D3D3D3D3D3D3D3D3D3D3D0A0A5468697320697320612073696D706C65206578616D706C65206F66206120736B657463682074686174207375627363726962657320746F20616E206D71747420746F70696320616E64207468656E207075626C6973686573206D657373616765730A746F207468617420746F7069632C2077686963682069742073756273657175656E746C7920726563656976657320616E64207072696E74732E0A0A2A2A496D706F7274616E742A2A20466F72207468697320736B6574636820746F20776F726B20796F75206D757374207475726E206F6666207468652055415254206465627567206C6F6720696E206573702D6C696E6B20286F6E0A746865204465627567204C6F672070616765292E2054686520726561736F6E2069732074686174206F7468657277697365206573702D6C696E6B207072696E747320746F6F206D75636820746F20697473207561727420616E64207468656E0A6D697373657320696E636F6D696E6720636861726163746572732E0A .md rest Makefile 484F5354203F3D206573702D6C696E6B0A4C49425241525950415448203D20242841524455494E4F444952292F6C6962726172696573202E2E2F2E2E2F2E2E0A4C4942524152494553203D20454C436C69656E740A435050464C414753203D200A53455249414C444556203D206E65743A2428484F5354293A323332330A696E636C756465202E2E2F61726475696E6F2E6D6B0A0A666C6173683A20616C6C0A092E2E2F617672666C617368202428484F53542920726573742E6865780A096E63202428484F5354292032330A0A72756E3A2075706C6F61642073697A650A096E63202428484F5354292032330A README 52455354206578616D706C650A3D3D3D3D3D3D3D3D3D3D3D3D0A0A53696D706C652052455354206578616D706C65207468617420636F6E666967757265732061205245535420636C69656E7420746F2074616C6B20746F207777772E74696D656170692E6F726720616E64207468656E0A6D616B657320612072657175657374206576657279207365636F6E6420746F20676574207468652063757272656E742074696D6520616E64207072696E742069742E0A0A54686973206578616D706C65207072696E747320612077686F6C65206C6F74206D6F7265207468616E206F6E6520776F756C64206E6F726D616C6C7920676976656E20746865207479706963616C20737061636520636F6E73747261696E74732E2E2E0A0A .md rest 3A3130303030303030304339343336303030433934354530303043393435453030304339343545303032300D0A3A3130303031303030304339343545303030433934354530303043393435453030304339343545303045380D0A3A3130303032303030304339343545303030433934354530303043393435453030304339343545303044380D0A3A3130303033303030304339343545303030433934354530303043393435453030304339343545303043380D0A3A3130303034303030304339343741303130433934354530303043393435363032304339343838303237350D0A3A3130303035303030304339343545303030433934354530303043393435453030304339343545303041380D0A3A3130303036303030304339343545303030433934354530303644303142383032313132343146424535410D0A3A3130303037303030434645464438453044454246434442463132453041304530423145304538453331330D0A3A3130303038303030463845313032433030353930304439324145333542313037443946373233453033330D0A3A3130303039303030414545354232453030314330314439324142334142323037453146373130453036350D0A3A3130303041303030434345364430453030344330323239374645303130453934304430434338333642390D0A3A3130303042303030443130374339463730453934343130343043393431413043304339343030303035420D0A3A3130303043303030434639334446393331463932434442374445423744433031313439364544393138440D0A3A3130303044303030464339313135393732323831333338313231333033313035313946353431453044410D0A3A3130303045303030353045304245303136463546374634463045393443333039383938313835333035380D0A3A3130303046303030353146343636453037314530384545303933453030453934394230343831453041310D0A3A3130303130303030383039333545303230464330363545313731453038454530393345303045393439330D0A3A3130303131303030384530343441453035304530363938313845453039334530304539343743303530350D0A3A3130303132303030313039323545303230463930444639314346393130383935434639334446393345440D0A3A3130303133303030323645303430453035324543363145303730453038454530393345303045393434370D0A3A3130303134303030444530333636453237314530384545303933453030453934394230343630453643440D0A3A3130303135303030373045303833453739324530304539344146304234304544353745303630453037330D0A3A3130303136303030373045303831453739324530304539343141303938313131303743303641453346410D0A3A3130303137303030373145303845453039334530304539343942303445464346363145393731453042330D0A3A3130303138303030384545303933453030453934394230343831453739324530304539343735303935330D0A3A3130303139303030343045443537453036304530373045303831453739324530304539343039303844450D0A3A3130303141303030454330313030393738314630363145353731453038454530393345303045393434300D0A3A3130303142303030384530343443383135443831364538313746383132414530333045303845453038420D0A3A3130303143303030393345303045393441463035323045303430453535304530364645353731453036430D0A3A3130303144303030384645353932453030453934343930414543303130303937373146303646453630410D0A3A3130303145303030373145303845453039334530304539343845303434414530353045304245303139300D0A3A3130303146303030384545303933453030453934353030354646434636334538373145303845453034460D0A3A3130303230303030393345304446393143463931304339343942303445463932464639323046393342380D0A3A3130303231303030314639334346393344463933434442374445423743413530443134303046423634460D0A3A3130303232303030463839344445424630464245434442463831453739324530304539344230303731390D0A3A3130303233303030383039313545303238383233303946343432433034304530353045303633454130360D0A3A3130303234303030373145303846453539324530304539343434304239453031324635463346344643420D0A3A3130303235303030373930313841453039314530463930313943303131313932323135303330343032450D0A3A3130303236303030453146373038453831334531323045303330453034414530353145304237303141460D0A3A3130303237303030384645353932453030453934363730423843303138383343393130353631463434380D0A3A3130303238303030364345413731453038454530393345303045393439423034423730313845453037460D0A3A3130303239303030393345303045393439423034304443303635454337314530384545303933453035410D0A3A3130303241303030304539343845303434414530353045304238303138454530393345303045393438340D0A3A3130303242303030393930353638454537334530383045303930453030453934463330314336354636430D0A3A3130303243303030444534463046423646383934444542463046424543444246444639314346393145410D0A3A3130303244303030314639313046393146463930454639303038393534454530353345304241303130370D0A3A3130303245303030383145373932453030453934323730363631453737324530384645353932453045350D0A3A3130303246303030304339343332304131463932304639323046423630463932313132343246393337330D0A3A3130303330303030334639333846393339463933414639334246393338303931303630333930393146380D0A3A3130303331303030303730334130393130383033423039313039303333303931303530333233453037450D0A3A3130303332303030323330463244333732304634303139364131314442313144303543303236453832440D0A3A3130303333303030323330463032393641313144423131443230393330353033383039333036303339300D0A3A3130303334303030393039333037303341303933303830334230393330393033383039313041303344350D0A3A3130303335303030393039313042303341303931304330334230393130443033303139364131314438380D0A3A3130303336303030423131443830393330413033393039333042303341303933304330334230393345390D0A3A3130303337303030304430334246393141463931394639313846393133463931324639313046393035450D0A3A3130303338303030304642453046393031463930313839353246423746383934363039313036303333390D0A3A3130303339303030373039313037303338303931303830333930393130393033324642463038393537450D0A3A3130303341303030334642374638393438303931304130333930393130423033413039313043303333450D0A3A3130303342303030423039313044303332364235413839423035433032463346313946303031393646420D0A3A3130303343303030413131444231314433464246363632373738324638393246394132463632304637440D0A3A3130303344303030373131443831314439313144343245303636304637373146383831463939314642370D0A3A3130303345303030344139354431463730383935434639324446393245463932464639324346393338330D0A3A3130303346303030444639333642303137433031304539344430303145423031433131344431303439390D0A3A3130303430303030453130344631303438394630304539344538304230453934443030313643314230410D0A3A3130303431303030374430423638334537333430393046333831453043383141443130384531303837330D0A3A3130303432303030463130384338353144433446454143464446393143463931464639304546393046380D0A3A3130303433303030444639304346393030383935373839343834423538323630383442443834423542300D0A3A3130303434303030383136303834424438354235383236303835424438354235383136303835424443460D0A3A3130303435303030454545364630453038303831383136303830383345314538463045303130383245380D0A3A3130303436303030383038313832363038303833383038313831363038303833453045384630453032390D0A3A3130303437303030383038313831363038303833453145424630453038303831383436303830383331330D0A3A3130303438303030453045424630453038303831383136303830383345414537463045303830383134410D0A3A3130303439303030383436303830383338303831383236303830383338303831383136303830383341410D0A3A3130303441303030383038313830363838303833313039324331303030383935314639323046393230450D0A3A3130303442303030304642363046393231313234324639333846393339463933454639334646393337370D0A3A3130303443303030453039313145303346303931314630333830383145303931323430334630393144440D0A3A3130303444303030323530333832464431324330393038313830393132373033384635463846373336370D0A3A3130303445303030323039313238303338323137353146304530393132373033463045304532354641410D0A3A3130303446303030464334463935384638303933323730333031433038303831464639314546393137450D0A3A3130303530303030394639313846393132463931304639303046424530463930314639303138393537340D0A3A3130303531303030314639323046393230464236304639323131323432463933334639333446393337380D0A3A3130303532303030354639333646393337463933384639333946393341463933424639334546393335420D0A3A3130303533303030464639333845453039334530304539343336303346463931454639314246393130440D0A3A3130303534303030414639313946393138463931374639313646393135463931344639313346393136420D0A3A3130303535303030324639313046393030464245304639303146393031383935384545303933453039330D0A3A3130303536303030304539344642303232314530383932423039463432304530383232463038393545430D0A3A3130303537303030313039323131303331303932313030333838454539334530413045304230453031370D0A3A3130303538303030383039333132303339303933313330334130393331343033423039333135303336350D0A3A3130303539303030384645443931453039303933304630333830393330453033383545433930453033340D0A3A3130303541303030393039333142303338303933314130333834454339304530393039333144303342370D0A3A3130303542303030383039333143303338304543393045303930393331463033383039333145303342340D0A3A3130303543303030383145433930453039303933323130333830393332303033383245433930453046330D0A3A3130303544303030393039333233303338303933323230333836454339304530393039333235303336440D0A3A3130303545303030383039333234303331303932323730333130393232383033313039323239303336410D0A3A3130303546303030313039323241303330383935464330313831384432323844393045303830354338390D0A3A3130303630303030394634463832314239313039384637333939323730383935464330313931384434420D0A3A3130303631303030383238443938313733314630383238444538304646313144383538443930453036350D0A3A3130303632303030303839353846454639464546303839354643303139313844383238443938313741420D0A3A3130303633303030363146303832384444463031413830464231314435443936384339313932384443360D0A3A3130303634303030394635463946373339323846393045303038393538464546394645463038393543330D0A3A3130303635303030384545413932453038393242343946303830453039304530383932423239463032360D0A3A3130303636303030304539344145303238313131304339343030303030383935464330313834384435420D0A3A3130303637303030444630314138304642313144413335414246344632433931383438443930453043430D0A3A3130303638303030303139363846373339393237383438464136383942373839324339334130383941370D0A3A3130303639303030423138393843393138303634384339333933384438343844393831333036433035450D0A3A3130303641303030303238384633383945303244383038313846374438303833303839354346393332380D0A3A3130303642303030444639334543303138383844383832334339463045413839464238393830383136410D0A3A3130303643303030383546443035433041383839423938393843393138364644304643303046423633430D0A3A3130303644303030303746434635434638303831383546464632434641383839423938393843393137440D0A3A3130303645303030383546464544434643453031304539343336303345374346444639314346393139410D0A3A3130303646303030303839354346393244463932464639323046393331463933434639334446393344320D0A3A3130303730303030314639324344423744454237364330313831453044363031353839363843393336440D0A3A3130303731303030353839373542393639433931354239373543393638433931354339373938313332440D0A3A3130303732303030303743303530393645443931464339313531393738303831383546443245433042380D0A3A3130303733303030463630313033384431304530304635463146344630463733313132374630324538450D0A3A3130303734303030463630313834384446383132313143303046423630374643463943464436303135460D0A3A3130303735303030353039364544393146433931353139373830383138354646463143464336303142340D0A3A3130303736303030363938333045393433363033363938314542434638333844453830464631314430390D0A3A3130303737303030453335414646344636303833443630313542393630433933354239373532393643410D0A3A3130303738303030454439314643393135333937383038313830363230434330443630313536393630320D0A3A3130303739303030454439314643393135373937363038333530393645443931464339313531393741340D0A3A3130303741303030383038313830363438303833383145303930453030463930444639314346393132310D0A3A3130303742303030314639313046393146463930444639304346393030383935424639324346393233440D0A3A3130303743303030444639324546393246463932434639334446393345433031364130313742303146450D0A3A3130303744303030423232454538383946393839383245303830383334313135383145453538303742440D0A3A3130303745303030363130353731303541314630363045303739453038444533393045304137303137420D0A3A3130303746303030393630313045393445393042323135303331303934313039353130393536393539320D0A3A3130303830303030343739353337393532373935323131353830453133383037393846304538383942350D0A3A3130303831303030463938393130383236304538373445383845453139304530413730313936303130320D0A3A3130303832303030304539344539304232313530333130393431303935313039353639353437393531430D0A3A3130303833303030333739353237393545433835464438353330383345453835464638353230383346300D0A3A3130303834303030313838454543383946443839423038324541383946423839383038313830363146430D0A3A3130303835303030383038334541383946423839383038313838363038303833454138394642383942420D0A3A3130303836303030383038313830363838303833454138394642383938303831384637443830383339350D0A3A3130303837303030444639314346393146463930454639304446393043463930424639303038393545300D0A3A3130303838303030303839353045393431423032304539343430303430453934393630304338453234340D0A3A3130303839303030443345303045393430353031323039374531463330453934323830334639434644440D0A3A3130303841303030434639324446393245463932464639323046393331463933434639334446393333430D0A3A3130303842303030364330313741303145423031453630454637314530304530313045304345313541380D0A3A3130303843303030444630353631463036393931443630314544393146433931303139304630383131350D0A3A3130303844303030453032444336303130393935303830463139314646314346433830314446393135450D0A3A3130303845303030434639313146393130463931464639304546393044463930434639303038393544460D0A3A3130303846303030363131353731303538314630444230313044393030303230453946374144303137340D0A3A3130303930303030343135303531303934363142353730424443303145443931464339313032383043460D0A3A3130303931303030463338314530324430393934383045303930453030383935304339343738303433300D0A3A3130303932303030444330314544393146433931303139304630383145303244303939343642454544410D0A3A3130303933303030373145303043393437383034304639333146393343463933444639334543303133350D0A3A3130303934303030304539343738303438433031434530313045393439373034383030463931314642310D0A3A3130303935303030444639314346393131463931304639313038393538463932394639324146393234370D0A3A3130303936303030424639324346393244463932454639324646393230463933314639334346393339430D0A3A3130303937303030444639334344423744454237413139373046423646383934444542463046424546390D0A3A3130303938303030434442463743303143343245453532464342303144323245313941323231453044300D0A3A3130303939303030324431353130463032414530443232453845303130463544314634463844324345390D0A3A3130303941303030393132434131324342313243364332443745324641353031393430313045393442440D0A3A3130303942303030453930423843324444323945383031393131323430313530313130393841333032370D0A3A3130303943303030313046343830354430314330383935434638303138303833323131353331303533380D0A3A3130303944303030343130353531303532314630433232454533324643413031453443464238303133310D0A3A3130303945303030433730313045393437383034413139363046423646383934444542463046424532460D0A3A3130303946303030434442464446393143463931314639313046393146463930454639304446393043450D0A3A3130304130303030434639304246393041463930394639303846393030383935434639324446393233430D0A3A3130304131303030454639324646393230463933314639334346393344463933454330313641303134340D0A3A3130304132303030374230313231313533313035373946344538383146393831303139304630383138430D0A3A3130304133303030453032443634324644463931434639313146393130463931464639304546393045380D0A3A3130304134303030444639304346393030393934324133303331303545394634373746463141433037450D0A3A3130304135303030364445323045393439303034384330313434323735353237424130313443313937440D0A3A3130304136303030354430393645303937463039324145304345303130453934414430343830304636360D0A3A3130304137303030393131464446393143463931314639313046393146463930454639304446393032390D0A3A3130304138303030434639303038393532414530423730314136303143453031444639314346393136320D0A3A3130304139303030314639313046393146463930454639304446393043463930304339344144303444390D0A3A3130304141303030304639333146393343463933444639334543303139413031414230313636323735440D0A3A3130304142303030353746443630393537363246304539343036303538433031434530313045393439440D0A3A3130304143303030393730343830304639313146444639314346393131463931304639313038393538460D0A3A3130304144303030323131353331303534314634444330314544393146433931303139304630383138420D0A3A3130304145303030453032443634324630393934304339344144303439413031343632463530453033380D0A3A3130304146303030363045303730453030433934363830353046393331463933434639334446393333310D0A3A3130304230303030454330313941303134363246353045303630453037304530304539343638303531390D0A3A3130304231303030384330314345303130453934393730343830304639313146444639314346393132440D0A3A3130304232303030314639313046393130383935394130314142303136304530373045303043393436310D0A3A3130304233303030363830353046393331463933434639334446393345433031394130314142303145430D0A3A3130304234303030363045303730453030453934363830353843303143453031304539343937303436440D0A3A3130304235303030383030463931314644463931434639313146393130463931303839353046393346370D0A3A3130304236303030314639334346393344463933454330313045393436383035384330314345303141370D0A3A3130304237303030304539343937303438303046393131464446393143463931314639313046393144390D0A3A3130304238303030303839354346393344463933454330313838383539393835363033434131463041460D0A3A3130304239303030364233443231463544433031454439314643393130313930463038314530324441300D0A3A3130304241303030364245443039393538383835393938354443303145443931464339313031393041420D0A3A3130304242303030463038314530324436444544313843304443303145443931464339313031393030430D0A3A3130304243303030463038314530324436424544303939353838383539393835444330314544393132420D0A3A3130304244303030464339313031393046303831453032443643454430364330444330314544393146460D0A3A3130304245303030464339313031393046303831453032444446393143463931303939344546393237420D0A3A3130304246303030464639323046393331463933434639334446393337433031384130314542303134380D0A3A3130304330303030303630463137314643303137443130373239463036393931433730313045393436440D0A3A3130304331303030433130354638434644463931434639313146393130463931464639304546393031390D0A3A3130304332303030303839354346393344463933454330314243303136353546374634463432453046350D0A3A3130304333303030353045303045393446373035383838353939383544433031454439314643393144330D0A3A3130304334303030303139304630383145303244363045434446393143463931303939343046393333410D0A3A3130304335303030314639334346393344463933454330313842303146433031343139333531393345300D0A3A3130304336303030434630313045393441393042313938373038383738314530384138374345303145450D0A3A3130304337303030343439363945383738443837383045383930453039383842384638373141384141430D0A3A3130304338303030313938413142384144463931434639313146393130463931303839354643303136320D0A3A3130304339303030323238353232323332314630383038313931383130433934394230343038393536380D0A3A3130304341303030343632373534323734353237353432373941303132323237383445303232304646430D0A3A3130304342303030333331463841393545314637323432373335323743393031383932463939323730320D0A3A3130304343303030383239353846373038323237393332373943303132323237353545303336393543350D0A3A3130304344303030323739353541393545314637383232373933323730383935454639324646393237460D0A3A3130304345303030304639333146393343463933444639333743303138413031433930314542303131450D0A3A3130304346303030303630463137314643303137443130373331463036393931414330314337303136410D0A3A3130304430303030304539343530303646374346444639314346393131463931304639314646393037360D0A3A3130304431303030454639303038393541463932424639324346393244463932454639324646393234310D0A3A3130304432303030304639333146393343463933444639333030443030304430303044304344423741370D0A3A3130304433303030444542373843303144433031314439364544393046433930314539373141393639330D0A3A3130304434303030384339313141393738383233303946343744433036434546373145303844393132360D0A3A3130304435303030394339313045393438453034463830313631383937323839344145303530453046410D0A3A3130304436303030383038313931383130453934393330353636453037324530443830313844393141370D0A3A3130304437303030394339313045393438453034463830313435383535363835363632373537464439330D0A3A3130304438303030363039353736324632304531333045303830383139313831304539343638303539360D0A3A3130304439303030364145323732453044383031384439313943393130453934384530344637303136350D0A3A3130304441303030363038313731383134304531353045304438303138443931394339313045393435390D0A3A3130304442303030393330353642453237324530463830313830383139313831304539343845303442430D0A3A3130304443303030443730313134393634443931354439313644393137433931313739373230453131420D0A3A3130304444303030333045304638303138303831393138313045393436383035364245323732453034390D0A3A3130304445303030443830313844393139433931304539343845303446373031363238313733383144430D0A3A3130304446303030343045313530453044383031384439313943393130453934393330353638453046430D0A3A3130304530303030433632454431324346383031323138393332383938303831393138314332313641380D0A3A3130304531303030443330364230463436424532373245303045393438453034443830313144393646360D0A3A3130304532303030454439314643393131453937454330444644314434304531353045303630383142440D0A3A3130304533303030384439313943393130453934373530354246454643423141444230414532434632320D0A3A3130304534303030304539343937303444383031353139364344393044433930353239374232453036310D0A3A3130304535303030434231414431303846383031413538344236383432304530333045304136303143310D0A3A3130304536303030423530314338303130453934364530364635303145433044464431443230383134330D0A3A3130304537303030333138313832313739333037333146303639453037324530433830313045393436360D0A3A3130304538303030343730363542433044373031324439313343393146383031383038313931383138420D0A3A3130304539303030323233303331303541314634364145313732453030453934384530344437303138430D0A3A3130304541303030313439363444393135443931364439313743393131373937324145303330453046390D0A3A3130304542303030463830313830383139313831304539344146303543373031343043303233333042350D0A3A3130304543303030333130354239463536334532373245303045393438453034443730313134393646310D0A3A3130304544303030344439313544393136443931374339313137393732414530333045304638303137410D0A3A3130304545303030383038313931383130453934363830353642453237324530443830313844393134410D0A3A3130304546303030394339313045393438453034463730313632383137333831344145303530453036380D0A3A3130304630303030443830313844393139433931304539343939303546373031303438313135383136410D0A3A3130304631303030433830313045393444413042383832333831463042373031434530313031393634370D0A3A3130304632303030304539343841303942453031364635463746344643383031304539344233304230380D0A3A3130304633303030303443303644453237324530304539343942303438304530393045303236393637460D0A3A3130304634303030304642364638393444454246304642454344424644463931434639313146393144410D0A3A3130304635303030304639314646393045463930444639304346393042463930414639303038393545410D0A3A3130304636303030314639334346393344463933454330313131453038383835393938354443303131350D0A3A3130304637303030454439314643393130343830463538314530324430393935383932423039463431300D0A3A3130304638303030343243303838383539393835444330314544393146433931303638304637383134450D0A3A3130304639303030453032443039393538423344393130353131463431423842453643463239383933360D0A3A3130304641303030334138393830334339313035373946343238333033313035323046304345303135320D0A3A3130304642303030304539343841303630324330383045303930453031413841313938413142384138310D0A3A3130304643303030303039373939463232324330344238393434323336314630384333443931303533320D0A3A3130304644303030333146303844334439313035323946343842454439304530303243303830454335440D0A3A3130304645303030393045303142384134463835353838393234313733353037303846304244434633430D0A3A3130304646303030454438354645383541393031344635463546344635413842343938424532304634430D0A3A3130313030303030463331463830383342324346383045303930453044463931434639313146393146410D0A3A3130313031303030303839353846393239463932414639324246393243463932444639324546393246430D0A3A3130313032303030464639324346393344463933454330313641303137423031304539344334303132300D0A3A3130313033303030344230313543303130453934433430313638313937393039384130393942303936360D0A3A3130313034303030364331353744303538453035394630353330463443453031304539344230303731410D0A3A3130313035303030303039373831463330324330383045303930453044463931434639314646393039340D0A3A3130313036303030454639304446393043463930424639304146393039463930384639303038393542410D0A3A3130313037303030454639324646393230463933314639334346393344463933434442374445423731440D0A3A3130313038303030323839373046423646383934444542463046424543444246374330313741383345300D0A3A3130313039303030363938333242383333433833344438333545383331383837304638334443303133380D0A3A3130313041303030314339363143393231453932314239373138393638443931394339313139393744350D0A3A3130313042303030444330314544393146433931303139304630383145303244363045433039393534460D0A3A3130313043303030343245303530453042453031364635463746344643373031304539344637303530440D0A3A3130313044303030463730313233383533343835343245303530453042453031364635463746344630410D0A3A3130313045303030433730313045393436453036443730313143393639433933384539333142393739360D0A3A3130313046303030343245303530453042453031363935463746344643373031304539344637303545330D0A3A3130313130303030463730313233383533343835343245303530453042453031363935463746344644460D0A3A3130313131303030433730313045393436453036443730313143393639433933384539333142393736350D0A3A3130313132303030343445303530453042453031364435463746344643373031304539344637303541430D0A3A3130313133303030463730313233383533343835343445303530453042453031364435463746344641390D0A3A3130313134303030433730313045393436453036443730313143393639433933384539333142393733350D0A3A3130313135303030323839363046423646383934444542463046424543444246444639314346393142410D0A3A3130313136303030314639313046393146463930454639303038393543463932444639324546393233310D0A3A3130313137303030464639323046393331463933434639334446393330304430434442374445423743440D0A3A3130313138303030384330313742303135413833343938333432453035304530424530313646354643450D0A3A3130313139303030374634463045393446373035463830313233383533343835343245303530453033370D0A3A3130313141303030424530313646354637463446433830313045393436453036463830313934383746310D0A3A3130313142303030383338374339383044413830434530434446314345433134464430343931463032420D0A3A3130313143303030463730313630383143383031304539344331303546383031343338353534383537420D0A3A3130313144303030463730313631393137463031433830313045393435303036463830313934383744300D0A3A3130313145303030383338374542434645393830464138304631393445313934463130384633453039320D0A3A3130313146303030454632324646323445313134463130343931463036304530433830313045393441350D0A3A3130313230303030433130354638303134333835353438353630453043383031304539343530303637440D0A3A3130313231303030463830313934383738333837463145304546314146313038454243463046393038340D0A3A3130313232303030304639304446393143463931314639313046393146463930454639304446393038320D0A3A3130313233303030434639303038393538463932394639324146393242463932434639324446393246430D0A3A3130313234303030454639324646393230463933314639334346393344463933454330313441303132430D0A3A3130313235303030354230313643303138324530433830454431314345453234443746434530393434370D0A3A3130313236303030464532433030453031304530413730313936303136314530373045304345303145350D0A3A3130313237303030304539343338303843453031304539343131303642353031413430314345303144410D0A3A3130313238303030304539343039303838433031303039373131463146383031343438313535383146310D0A3A3130313239303030363638313737383138383831393938313443313535443035364530353746303539320D0A3A3130313241303030333146343633453337324530304539343942303438314530313143303639453343320D0A3A3130313242303030373245303045393438453034463830313434383135353831363638313737383133350D0A3A3130313243303030324145303330453038383831393938313045393441463035443643463830453038360D0A3A3130313244303030444639314346393131463931304639314646393045463930444639304346393031320D0A3A3130313245303030424639304146393039463930384639303038393530463933314639334346393343460D0A3A3130313246303030444639334543303130304530313045303230453033304530413930313634453043310D0A3A3130313330303030373045303045393433383038434530314446393143463931314639313046393142430D0A3A3130313331303030304339343131303646433031373538333634383336383546374634463733383341460D0A3A3130313332303030363238333131383231303832303839354346393344463933464330313830383134340D0A3A3130313333303030393138314134383142353831313239363244393133433931313339373832313743410D0A3A3130313334303030393330374530463441323831423338313244393133443931423338334132383346310D0A3A3130313335303030303139363931383338303833454230314239383341383833384545463946454638310D0A3A3130313336303030383231423933304238333730393932373832304639333146343238313533383142350D0A3A3130313337303030343830463539314635333833343238334339303130324330384645463946454636420D0A3A3130313338303030444639314346393130383935304639333146393343463933444639334643303143420D0A3A3130313339303030413038314231383143343831443538313841383139423831413831374239303742390D0A3A3130313341303030353046354332383144333831323939313339393138454546394645463832314233350D0A3A3130313342303030393330423833373039393237443338334332383331313936423138334130383334330D0A3A3130313343303030384530314542303144413031323431373335303730384634443930313641304630310D0A3A3130313344303030374231464336313744373037323946304438303134443931384430313439393337450D0A3A3130313345303030463843463832304639333146343238313533383134383046353931463533383342370D0A3A3130313346303030343238334339303130324330384645463946454644463931434639313146393131300D0A3A3130313430303030304639313038393530463933314639334346393344463933454330313842303146450D0A3A3130313431303030363131353731303531314631424330313634354637463446343245303530453033450D0A3A3130313432303030433830313045393443333039454338314644383136464533373245303830383146350D0A3A3130313433303030393138313045393438453034364338353744383545433831464438313441453035450D0A3A3130313434303030353045303830383139313831304539343530303542453031363035463746344631360D0A3A3130313435303030433830313045393439343039394638373845383744463931434639313146393143390D0A3A3130313436303030304639313038393530463933314639334346393344463933454330313842303139450D0A3A3130313437303030303639363045393441393042314438333043383334464546354645464241303130340D0A3A3130313438303030343838333539383336413833374238334446393143463931314639313046393141410D0A3A3130313439303030303839354346393244463932454639324646393230463933314639334346393331350D0A3A3130313441303030444639333030443031463932434442374445423737433031364230313542383336390D0A3A3130313442303030344138333239383346433031393738333836383334324530354145303630453046370D0A3A3130313443303030373045303430383735313837363238373733383739433031324135463346344639360D0A3A3130313444303030343432373337464434303935353432463033453031304530363445313730453041440D0A3A3130313445303030383438313935383130453934333830384636303130313930303032304539463737370D0A3A3130313446303030414630313431353035313039344331393544303942363031463730313834383144320D0A3A3130313530303030393538313045393442353038343245303530453042453031364535463746344642410D0A3A3130313531303030463730313834383139353831304539344235303834314530353045304245303134390D0A3A3130313532303030364635463746344646373031383438313935383130453934423530384637303142350D0A3A3130313533303030383438313935383130453934313130363430454435374530363045303730453045330D0A3A3130313534303030463730313834383139353831304539343039303830303937373946304643303144380D0A3A3130313535303030343438313535383136363831373738313737464430384330463730313430383331410D0A3A3130313536303030353138333632383337333833383045303930453030334330464330313834383133370D0A3A3130313537303030393538313046393030463930304639304446393143463931314639313046393135380D0A3A3130313538303030464639304546393044463930434639303038393538463932394639324146393234460D0A3A3130313539303030424639324346393244463932454639324646393230463933314639334346393336300D0A3A3130313541303030444639334543303135423031344130313739303136383031314438363143383630440D0A3A3130313542303030323838313339383134413831354238313537464434394330384338313944383139390D0A3A3130313543303030453131344631303433314630313031363131303631434634303345303130453046300D0A3A3130313544303030303243303032453031304530363545313730453030453934333830384634303130410D0A3A3130313545303030303139303030323045394637414630313431353035313039343831393539303930430D0A3A3130313546303030423430313843383139443831304539344235303846353031303139303030323030350D0A3A3130313630303030453946374146303134313530353130393441313935423039423530313843383144350D0A3A3130313631303030394438313045393442353038453131344631303434394630314331343144303444390D0A3A3130313632303030333446344136303142373031384338313944383130453934423530383843383139430D0A3A3130313633303030394438314446393143463931314639313046393146463930454639304446393045460D0A3A3130313634303030434639304246393041463930394639303846393030433934313130364446393133380D0A3A3130313635303030434639313146393130463931464639304546393044463930434639304246393041460D0A3A3130313636303030414639303946393038463930303839353046393331463933463930313031393037310D0A3A3130313637303030303032304539463738463031303135303131303930323142313330423045393439320D0A3A3130313638303030433530413146393130463931303839353941303134414534353245303043393430330D0A3A3130313639303030333430424346393344463933454330314342303132433835334438353233324242440D0A3A3130313641303030383946304545383546463835394130314534313746353037303846343946303139430D0A3A3130313642303030363838393739383941393031304539343131304338433835394438353144383646380D0A3A3130313643303030314338363032433038304530393045304446393143463931303839353446393239380D0A3A3130313644303030354639323646393237463932384639323946393241463932424639324346393243320D0A3A3130313645303030444639324546393246463932304639333146393343463933444639334543303136320D0A3A3130313646303030354230313441303132383031333930313045393443343031364230313743303139300D0A3A3130313730303030384338353944383538393242413946304134303142353031434530314446393142460D0A3A3130313731303030434639313146393130463931464639304546393044463930434639304246393045450D0A3A3130313732303030414639303946393038463930374639303646393035463930344639303043393442300D0A3A3130313733303030343930423045393443343031364331393744303938453039394630393634313532420D0A3A3130313734303030373530353836303539373035303046373843383139443831304539344230303737440D0A3A3130313735303030443743464643303131313832313038323133383231323832303839354643303146450D0A3A3130313736303030373338333632383330383935444330313132393645443931464339313133393743370D0A3A3130313737303030333039374639463032443931334339313131393732313135333130354239463037310D0A3A3130313738303030313439363844393139433931313539374143303135353935343739353830464643360D0A3A3130313739303030304143304439303141343046423531463044393042433931413032444145304641410D0A3A3130313741303030424631464544393146433931433930313834304639353146303939344342303144360D0A3A3130313742303030303939343038393546433031383038313931383138393242333946343831453039440D0A3A3130313743303030323238313333383132333242313946343830453030383935383145303038393536430D0A3A3130313744303030303839354131453231413245414131424242314246443031304443304141314637320D0A3A3130313745303030424231464545314646463146413231374233303745343037463530373230463038410D0A3A3130313746303030413231424233304245343042463530423636314637373146383831463939314630350D0A3A3130313830303030314139343639463736303935373039353830393539303935394230314143303134440D0A3A3130313831303030424430314346303130383935454530464646314630353930463439314530324435420D0A3A3130313832303030303939344642303144433031303243303031393030443932343135303530343032460D0A3A30383138333030304438463730383935463839344646434645410D0A3A3130313833383030303030304142303338303030353734393436343932303433344634453445343542300D0A3A3130313834383030343335343435343430303537343934363439323034453446353432303532343537390D0A3A3130313835383030343134343539334132303030343534433244343336433639363536453734323030420D0A3A3130313836383030373337343631373237343639364536373231303034353443324434333643363930440D0A3A3130313837383030363536453734323037333739364536333230363636313639364336353634323139360D0A3A3130313838383030303035373639363636393230373337343631373437353733334132303030373732430D0A3A3130313839383030373737373245373436393644363536313730363932453646373236373030353237330D0A3A3130313841383030343535333534323036323635363736393645323036363631363936433635363439410D0A3A3130313842383030334132303030343534433244353234353533353432303732363536313634373939350D0A3A3130313843383030303034353443324434333643363936353645373432303733373936453633363542310D0A3A3130313844383030363432313030324637353734363332463645364637373030343135323434353535310D0A3A3130313845383030343934453446334132303437343535343230373337353633363336353733373342370D0A3A3130313846383030363637353643334130303431353234343535343934453446334132303437343536370D0A3A3130313930383030353432303636363136393643363536343341323030303030303030303030373932330D0A3A3130313931383030303335303034464230323134303330363033353730333044304130303645363130420D0A3A3130313932383030364530303639364536363030364637363636303032453030343534433433334137440D0A3A3130313933383030323036373646373432303030323034303030343534433433334132303439364544300D0A3A3130313934383030373636313643363936343230343335323433303035323435353335303546353639380D0A3A3130313935383030334132303030353234353533353035463433343233413230303034333444343444390D0A3A3130313936383030334633463030353335393445343332313030343234313434334132303030353232300D0A3A3130313937383030343535333534323036333646363436353230303034373435353430303530344631390D0A3A30453139383830303533353430303530353535343030343434353443343535343435303046450D0A3A303030303030303146460D0A .hex rest 2F2A2A0A202A2053696D706C65206578616D706C6520746F2064656D6F2074686520456C2D436C69656E7420524553542063616C6C730A202A2F0A0A23696E636C756465203C454C436C69656E742E683E0A23696E636C756465203C454C436C69656E74526573742E683E0A0A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F727420626F746820666F720A2F2F20534C495020616E6420666F72206465627567206D657373616765732E0A454C436C69656E7420657370282653657269616C2C202653657269616C293B0A0A2F2F20496E697469616C697A652061205245535420636C69656E74206F6E2074686520636F6E6E656374696F6E20746F206573702D6C696E6B0A454C436C69656E745265737420726573742826657370293B0A0A626F6F6C65616E2077696669436F6E6E6563746564203D2066616C73653B0A0A2F2F2043616C6C6261636B206D6164652066726F6D206573702D6C696E6B20746F206E6F74696679206F66207769666920737461747573206368616E6765730A2F2F2048657265207765207072696E7420736F6D657468696E67206F757420616E6420736574206120676C6F62616C20666C61670A766F69642077696669436228766F6964202A726573706F6E736529207B0A2020454C436C69656E74526573706F6E7365202A726573203D2028454C436C69656E74526573706F6E73652A29726573706F6E73653B0A2020696620287265732D3E617267632829203D3D203129207B0A2020202075696E74385F74207374617475733B0A202020207265732D3E706F7041726728267374617475732C2031293B0A0A20202020696628737461747573203D3D2053544154494F4E5F474F545F495029207B0A20202020202053657269616C2E7072696E746C6E28225749464920434F4E4E454354454422293B0A20202020202077696669436F6E6E6563746564203D20747275653B0A202020207D20656C7365207B0A20202020202053657269616C2E7072696E74282257494649204E4F542052454144593A2022293B0A20202020202053657269616C2E7072696E746C6E28737461747573293B0A20202020202077696669436F6E6E6563746564203D2066616C73653B0A202020207D0A20207D0A7D0A0A766F69642073657475702829207B0A202053657269616C2E626567696E28313135323030293B2020202F2F20746865206261756420726174652068657265206E6565647320746F206D6174636820746865206573702D6C696E6B20636F6E6669670A202053657269616C2E7072696E746C6E2822454C2D436C69656E74207374617274696E672122293B0A0A20202F2F2053796E632D75702077697468206573702D6C696E6B2C207468697320697320726571756972656420617420746865207374617274206F6620616E7920736B6574636820616E6420696E697469616C697A6573207468650A20202F2F2063616C6C6261636B7320746F20746865207769666920737461747573206368616E67652063616C6C6261636B2E205468652063616C6C6261636B20676574732063616C6C656420776974682074686520696E697469616C0A20202F2F207374617475732072696768742061667465722053796E6328292062656C6F7720636F6D706C657465732E0A20206573702E7769666943622E61747461636828776966694362293B202F2F207769666920737461747573206368616E67652063616C6C6261636B2C206F7074696F6E616C202864656C657465206966206E6F742064657369726564290A2020626F6F6C206F6B3B0A2020646F207B0A202020206F6B203D206573702E53796E6328293B2020202020202F2F2073796E632075702077697468206573702D6C696E6B2C20626C6F636B7320666F7220757020746F2032207365636F6E64730A2020202069662028216F6B292053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E63206661696C65642122293B0A20207D207768696C6528216F6B293B0A202053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E6365642122293B0A0A20202F2F2047657420696D6D65646961746520776966692073746174757320696E666F20666F722064656D6F20707572706F7365732E2054686973206973206E6F74206E6F726D616C6C7920757365642062656361757365207468650A20202F2F2077696669207374617475732063616C6C6261636B20726567697374657265642061626F766520676574732063616C6C656420696D6D6564696174656C792E200A20206573702E4765745769666953746174757328293B0A2020454C436C69656E745061636B6574202A7061636B65743B0A202069662028287061636B65743D6573702E5761697452657475726E28292920213D204E554C4C29207B0A2020202053657269616C2E7072696E74282257696669207374617475733A2022293B0A2020202053657269616C2E7072696E746C6E287061636B65742D3E76616C7565293B0A20207D0A0A20202F2F2053657420757020746865205245535420636C69656E7420746F2074616C6B20746F207777772E74696D656170692E6F72672C207468697320646F65736E277420636F6E6E65637420746F2074686174207365727665722C0A20202F2F206974206A75737420736574732D7570207374756666206F6E20746865206573702D6C696E6B20736964650A2020696E7420657272203D20726573742E626567696E28227777772E74696D656170692E6F726722293B0A20206966202865727220213D203029207B0A2020202053657269616C2E7072696E7428225245535420626567696E206661696C65643A2022293B0A2020202053657269616C2E7072696E746C6E28657272293B0A202020207768696C65283129203B0A20207D0A202053657269616C2E7072696E746C6E2822454C2D5245535420726561647922293B0A7D0A0A23646566696E65204255464C454E203236360A0A766F6964206C6F6F702829207B0A20202F2F2070726F6365737320616E792063616C6C6261636B7320636F6D696E672066726F6D206573705F6C696E6B0A20206573702E50726F6365737328293B0A0A20202F2F20696620776527726520636F6E6E6563746564206D616B6520616E204854545020726571756573740A202069662877696669436F6E6E656374656429207B0A202020202F2F2052657175657374202F7574632F6E6F772066726F6D207468652070726576696F75736C79207365742D7570207365727665720A20202020726573742E67657428222F7574632F6E6F7722293B0A0A202020206368617220726573706F6E73655B4255464C454E5D3B0A202020206D656D73657428726573706F6E73652C20302C204255464C454E293B0A2020202075696E7431365F7420636F6465203D20726573742E77616974526573706F6E736528726573706F6E73652C204255464C454E293B0A20202020696628636F6465203D3D20485454505F5354415455535F4F4B297B0A20202020202053657269616C2E7072696E746C6E282241524455494E4F3A20474554207375636365737366756C3A22293B0A20202020202053657269616C2E7072696E746C6E28726573706F6E7365293B0A202020207D20656C7365207B0A20202020202053657269616C2E7072696E74282241524455494E4F3A20474554206661696C65643A2022293B0A20202020202053657269616C2E7072696E746C6E28636F6465293B0A202020207D0A2020202064656C61792831303030293B0A20207D0A7D0A .ino tcp_client tcp_client 2F2A2A0A202A2053696D706C65206578616D706C6520746F2064656D6F2074686520456C2D436C69656E742054435020636C69656E740A202A2054686973206578616D706C652073656E6473206F75742061206D65737361676520746F20612054435020736F636B657420736572766572200A202A20616E6420646F65736E2774207761697420666F72206120726573706F6E73652066726F6D20746865207365727665720A202A2F0A0A23696E636C756465203C454C436C69656E742E683E0A23696E636C756465203C454C436C69656E74536F636B65742E683E0A0A2F2F204950206164647265737320666F7220746869732064656D6F2069732061206C6F63616C2049502E0A2F2F205265706C616365206974207769746820746865204950206164647265737320776865726520796F75206861766520612054435020736F636B6574207365727665722072756E6E696E670A63686172202A20636F6E7374207463705365727665722050524F474D454D203D20223139322E3136382E302E313032223B0A2F2F20506F727420666F7220746869732064656D6F2069732074686520706F72742075736564206279207468652054435020736F636B6574207365727665722E0A2F2F205265706C61636520697420776974682074686520706F7274207468617420796F75722054435020736F636B657420736572766572206973206C697374656E696E6720746F0A75696E7431365F7420636F6E737420746370506F72742050524F474D454D203D20373030313B0A0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F722041524455494E4F20554E4F205749464920776974682049324320746F2073657269616C2063686970210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F2053657269616C20706F727420746F20455350383236360A23696E636C756465203C5343313649533735302E683E0A5343313649533735302069326375617274203D20534331364953373530285343313649533735305F50524F544F434F4C5F4932432C5343313649533735305F414444524553535F4141293B0A0A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E672074686520493243756172742063686970206F66207468652041726475696E6F20556E6F205769466920626F61726420666F720A2F2F20534C4950206D657373616765732E0A454C436C69656E7420657370282669326375617274293B0A0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F7220626F61726473207573696E67207468652068617264776172652073657269616C20706F7274210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F727420626F746820666F720A2F2F20534C495020616E6420666F72206465627567206D657373616765732E0A2F2F454C436C69656E7420657370282653657269616C2C202653657269616C293B0A0A2F2F20496E697469616C697A6520612054435020736F636B657420636C69656E74206F6E2074686520636F6E6E656374696F6E20746F206573702D6C696E6B0A454C436C69656E74536F636B6574207463702826657370293B0A2F2F20436F6E6E656374696F6E206E756D62657220666F72207463700A696E7420746370436F6E6E4E756D3B0A0A2F2F2054696D65722076616C756520746F2073656E64206F75742064617461200A75696E7433325F7420776169743B0A2F2F2054696D6520746F2077616974206265747765656E2073656E64696E67206F757420646174610A75696E7433325F74207761697454696D653B0A2F2F20466C616720666F72207769666920636F6E6E656374696F6E0A626F6F6C65616E2077696669436F6E6E6563746564203D2066616C73653B0A0A2F2F205061727365206572726F7220636F64657320616E642072657475726E73206572726F72206D6573736167652061732063686172202A0A2F2F20446566696E6974696F6E732066726F6D206572726F722076616C7565732066726F6D20657370636F6E6E2E6820284573707265737369662053444B290A2F2F2023646566696E6520455350434F4E4E5F4F4B20202020202020202020203020202F2A2A3C204E6F206572726F722C2065766572797468696E67204F4B2E2020202A2F0A2F2F2023646566696E6520455350434F4E4E5F4D454D2020202020202020202D3120202F2A2A3C204F7574206F66206D656D6F72792E202020202020202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F54494D454F555420202020202D3320202F2A2A3C2054696D656F75742E202020202020202020202020202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F5254452020202020202020202D3420202F2A2A3C20526F7574696E672070726F626C656D2E20202020202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F494E50524F475245535320202D3520202F2A2A3C204F7065726174696F6E20696E2070726F67726573732E20202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F4D41584E554D2020202020202D3720202F2A2A3C20546F74616C206E756D626572206578636565647320746865206D6178696D756D206C696D69746174696F6E2E202A2F0A0A2F2F2023646566696E6520455350434F4E4E5F4142525420202020202020202D3820202F2A2A3C20436F6E6E656374696F6E2061626F727465642E202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F5253542020202020202020202D3920202F2A2A3C20436F6E6E656374696F6E2072657365742E2020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F434C5344202020202020202D313020202F2A2A3C20436F6E6E656374696F6E20636C6F7365642E20202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F434F4E4E202020202020202D313120202F2A2A3C204E6F7420636F6E6E65637465642E2020202020202020202A2F0A0A2F2F2023646566696E6520455350434F4E4E5F41524720202020202020202D313220202F2A2A3C20496C6C6567616C20617267756D656E742E2020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F49462020202020202020202D313420202F2A2A3C205544502073656E64206572726F722E20202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F4953434F4E4E20202020202D313520202F2A2A3C20416C726561647920636F6E6E65637465642E20202020202A2F0A0A636861722A20636F6E7374206572725478745B5D2050524F474D454D203D207B224E6F206572726F722C2065766572797468696E67204F4B2E222C224F7574206F66206D656D6F72792E222C22556E6B6E6F776E20636F64652E222C2254696D656F75742E222C22526F7574696E672070726F626C656D2E222C224F7065726174696F6E20696E2070726F67726573732E222C0A090909090922556E6B6E6F776E20636F64652E222C22546F74616C206E756D626572206578636565647320746865206D6178696D756D206C696D69746174696F6E2E222C22436F6E6E656374696F6E2061626F727465642E222C22436F6E6E656374696F6E2072657365742E222C22436F6E6E656374696F6E20636C6F7365642E222C0A0909090909224E6F7420636F6E6E65637465642E222C22496C6C6567616C20617267756D656E742E222C22556E6B6E6F776E20636F64652E222C225544502073656E64206572726F722E222C22416C726561647920636F6E6E65637465642E227D3B0A63686172202A2067657445727254787428696E7431365F7420636F6D6D4572726F7229207B0A09636F6D6D4572726F72203D20636F6D6D4572726F722A2D313B0A0969662028636F6D6D4572726F72203C3D20313529207B0A090972657475726E202863686172202A292070676D5F726561645F776F72642028266572725478745B636F6D6D4572726F725D293B0A097D20656C7365207B0A090972657475726E202863686172202A292070676D5F726561645F776F72642028266572725478745B325D293B202F2F20556E6B6E6F776E20636F64650A097D0A7D0A0A2F2F2043616C6C6261636B20666F722054435020736F636B65742C2063616C6C65642069662064617461207761732073656E74206F722072656365697665640A2F2F20526563656976657320736F636B657420636C69656E74206E756D6265722C2063616E2062652072657573656420666F7220616C6C20696E697469616C697A65642054435020736F636B657420636F6E6E656374696F6E730A766F69642074637043622875696E74385F7420726573705F747970652C2075696E74385F7420636C69656E745F6E756D2C2075696E7431365F74206C656E2C2063686172202A6461746129207B0A0953657269616C2E7072696E746C6E2822746370436220636F6E6E656374696F6E2023222B537472696E6728636C69656E745F6E756D29293B0A0969662028726573705F74797065203D3D205553455243425F53454E5429207B0A090953657269616C2E7072696E746C6E28225C7453656E742022202B20537472696E67286C656E29202B2022206279746573206F76657220636C69656E742322202B20537472696E6728636C69656E745F6E756D29293B0A097D20656C73652069662028726573705F74797065203D3D205553455243425F5245435629207B0A0909636861722072656376446174615B6C656E2B315D3B202F2F20507265706172652062756666657220666F722074686520726563656976656420646174610A09096D656D6370792872656376446174612C20646174612C206C656E293B202F2F20436F7079207265636569766564206461746120696E746F20746865206275666665720A090972656376446174615B6C656E5D203D20275C30273B202F2F205465726D696E61746520746865206275666665722077697468203020666F722070726F706572207072696E746F7574210A0A090953657269616C2E7072696E746C6E28225C7452656365697665642022202B20537472696E67286C656E29202B2022206279746573206F7665722074686520636C69656E74206F6E20636F6E6E656374696F6E202322202B20537472696E6728636C69656E745F6E756D29293B0A090953657269616C2E7072696E746C6E28225C7452656365697665643A2022202B20537472696E6728726563764461746129293B0A097D20656C73652069662028726573705F74797065203D3D205553455243425F5245434F29207B0A0909696620286C656E20213D202D313129207B202F2F2069676E6F726520226E6F7420636F6E6E656374656422206572726F722C2068616E646C656420696E205553455243425F434F4E4E0A09090953657269616C2E7072696E7428225C74436F6E6E656374696F6E2070726F626C656D3A2022293B0A09090953657269616C2E7072696E746C6E28676574457272547874286C656E29293B0A09097D0A097D20656C73652069662028726573705F74797065203D3D205553455243425F434F4E4E29207B0A0909696620286C656E203D3D203029207B0A09090953657269616C2E7072696E746C6E28225C74446973636F6E6E656374656422293B0A09097D20656C7365207B0A09090953657269616C2E7072696E746C6E28225C74436F6E6E656374656422293B0A09097D0A097D20656C7365207B0A090953657269616C2E7072696E746C6E2822526563656976656420696E76616C696420726573706F6E7365207479706522293B0A097D0A7D0A0A2F2F2043616C6C6261636B206D6164652066726F6D206573702D6C696E6B20746F206E6F74696679206F66207769666920737461747573206368616E6765730A2F2F2048657265207765207072696E7420736F6D657468696E67206F757420616E6420736574206120676C6F62616C20666C61670A766F69642077696669436228766F6964202A726573706F6E736529207B0A09454C436C69656E74526573706F6E7365202A726573203D2028454C436C69656E74526573706F6E73652A29726573706F6E73653B0A09696620287265732D3E617267632829203D3D203129207B0A090975696E74385F74207374617475733B0A09097265732D3E706F7041726728267374617475732C2031293B0A0A0909696628737461747573203D3D2053544154494F4E5F474F545F495029207B0A09090953657269616C2E7072696E746C6E284628225749464920434F4E4E45435445442229293B0A09090977696669436F6E6E6563746564203D20747275653B0A09097D20656C7365207B0A09090953657269616C2E7072696E742846282257494649204E4F542052454144593A202229293B0A09090953657269616C2E7072696E746C6E28737461747573293B0A09090977696669436F6E6E6563746564203D2066616C73653B0A09097D0A097D0A7D0A0A766F69642073657475702829207B0A0953657269616C2E626567696E28313135323030293B0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F722041524455494E4F20554E4F205749464920776974682049324320746F2073657269616C2063686970210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A09693263756172742E626567696E2839363030293B0A090A0953657269616C2E7072696E746C6E28462822454C2D436C69656E74207374617274696E67212229293B0A0A092F2F2053796E632D75702077697468206573702D6C696E6B2C207468697320697320726571756972656420617420746865207374617274206F6620616E7920736B6574636820616E6420696E697469616C697A6573207468650A092F2F2063616C6C6261636B7320746F20746865207769666920737461747573206368616E67652063616C6C6261636B2E205468652063616C6C6261636B20676574732063616C6C656420776974682074686520696E697469616C0A092F2F207374617475732072696768742061667465722053796E6328292062656C6F7720636F6D706C657465732E0A096573702E7769666943622E61747461636828776966694362293B202F2F207769666920737461747573206368616E67652063616C6C6261636B2C206F7074696F6E616C202864656C657465206966206E6F742064657369726564290A09626F6F6C206F6B3B0A09646F207B0A09096F6B203D206573702E53796E6328293B0909092F2F2073796E632075702077697468206573702D6C696E6B2C20626C6F636B7320666F7220757020746F2032207365636F6E64730A090969662028216F6B292053657269616C2E7072696E746C6E28462822454C2D436C69656E742073796E63206661696C6564212229293B0A097D207768696C6528216F6B293B0A0953657269616C2E7072696E746C6E28462822454C2D436C69656E742073796E636564212229293B0A0A092F2F2057697420666F72205769466920746F20626520636F6E6E65637465642E200A096573702E4765745769666953746174757328293B0A09454C436C69656E745061636B6574202A7061636B65743B0A0953657269616C2E7072696E742846282257616974696E6720666F722057694669202229293B0A0969662028287061636B65743D6573702E5761697452657475726E28292920213D204E554C4C29207B0A090953657269616C2E7072696E74284628222E2229293B0A090953657269616C2E7072696E746C6E287061636B65742D3E76616C7565293B0A097D0A0953657269616C2E7072696E746C6E282222293B0A0A092F2F20536574207570207468652054435020736F636B657420636C69656E7420666F72206120636F6E6E656374696F6E20746F203C7463705365727665723E206F6E20706F7274203C3E2C207468697320646F65736E277420636F6E6E65637420746F2074686174207365727665722C0A092F2F206974206A75737420736574732D7570207374756666206F6E20746865206573702D6C696E6B207369646520616E6420776169747320756E74696C2077652073656E6420736F6D6520646174610A09746370436F6E6E4E756D203D207463702E626567696E287463705365727665722C20746370506F72742C20534F434B45545F5443505F434C49454E542C207463704362293B202F2F20534F434B45545F434C49454E54203D3D3E20776520646F6E277420657870656374206120726573706F6E73650A0969662028746370436F6E6E4E756D203C203029207B0A090953657269616C2E7072696E746C6E2846282254435020736F636B6574207365747570206661696C65642C2074727920616761696E20696E203130207365636F6E6473206166746572207265626F6F742229293B0A090964656C6179283130303030293B0A090961736D20766F6C6174696C6520282220206A6D70203022293B0A097D20656C7365207B0A090953657269616C2E7072696E746C6E28537472696E6728746370536572766572292B223A222B537472696E6728746370506F7274292B2220697320736572766564206F76657220636F6E6E656374696F6E206E756D6265722023203D20222B537472696E6728746370436F6E6E4E756D29293B0A097D0A090A0953657269616C2E7072696E746C6E28462822454C2D5443502072656164792229293B0A0977616974203D206D696C6C697328292B32393030303B202F2F2053746172742066697273742073656E64696E6720696E2031207365636F6E640A7D0A0A766F6964206C6F6F702829207B0A092F2F2070726F6365737320616E792063616C6C6261636B7320636F6D696E672066726F6D206573705F6C696E6B0A096573702E50726F6365737328293B0A0A092F2F20696620776527726520636F6E6E65637465642073656E642064617461206F7665722054435020736F636B65740A0969662877696669436F6E6E656374656429207B0A0909696620286D696C6C69732829202D2077616974203E20333030303029207B202F2F2053656E6420736F6D652064617461206576657279203330207365636F6E64730A09090977616974203D206D696C6C697328293B0A0A0909092F2F2053656E64206D65737361676520746F207468652070726576696F75736C79207365742D7570207365727665722023310A09090953657269616C2E7072696E742846282253656E64696E67206D65737361676520746F202229293B0A09090953657269616C2E7072696E7428746370536572766572293B0A09090953657269616C2E7072696E7428223A22293B0A09090953657269616C2E7072696E746C6E28746370506F7274293B0A0909097463702E73656E6428224D6573736167652066726F6D2041726475696E6F20556E6F2057694669206F7665722054435022293B0A09097D0A097D20656C7365207B0A09092F2F2054686973206973206A75737420666F722064656D6F2C20796F752063616E2061732077656C6C206A7573742074727920746F207265636F6E6E6563740A09092F2F20616E642073657475702074686520636F6E6E656374696F6E20746F206573702D6C696E6B20616761696E200A090953657269616C2E7072696E746C6E284628224C6F7374205769466920636F6E6E656374696F6E2C2074727920746F207265626F6F742229293B0A090964656C6179283130303030293B0A090961736D20766F6C6174696C6520282220206A6D70203022293B0A097D0A7D0A .ino tcp_client_resp tcp_client_resp 2F2A2A0A202A2053696D706C65206578616D706C6520746F2064656D6F2074686520456C2D436C69656E742054435020636C69656E740A202A2054686973206578616D706C652073656E6473206F75742061206D65737361676520746F20612054435020736F636B657420736572766572200A202A20616E6420776169747320666F72206120726573706F6E73652066726F6D20746865207365727665720A202A2F0A0A23696E636C756465203C454C436C69656E742E683E0A23696E636C756465203C454C436C69656E74536F636B65742E683E0A0A2F2F204950206164647265737320666F7220746869732064656D6F2069732061206C6F63616C2049502E0A2F2F205265706C616365206974207769746820746865204950206164647265737320776865726520796F75206861766520612054435020736F636B6574207365727665722072756E6E696E670A63686172202A20636F6E7374207463705365727665722050524F474D454D203D20223139322E3136382E302E313032223B0A2F2F20506F727420666F7220746869732064656D6F2069732074686520706F72742075736564206279207468652054435020736F636B6574207365727665722E0A2F2F205265706C61636520697420776974682074686520706F7274207468617420796F75722054435020736F636B657420736572766572206973206C697374656E696E6720746F0A75696E7431365F7420636F6E737420746370506F72742050524F474D454D203D20373030313B0A0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F722041524455494E4F20554E4F205749464920776974682049324320746F2073657269616C2063686970210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F2053657269616C20706F727420746F20455350383236360A23696E636C756465203C5343313649533735302E683E0A5343313649533735302069326375617274203D20534331364953373530285343313649533735305F50524F544F434F4C5F4932432C5343313649533735305F414444524553535F4141293B0A0A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E672074686520493243756172742063686970206F66207468652041726475696E6F20556E6F205769466920626F61726420666F720A2F2F20534C4950206D657373616765732E0A454C436C69656E7420657370282669326375617274293B0A0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F7220626F61726473207573696E67207468652068617264776172652073657269616C20706F7274210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F727420626F746820666F720A2F2F20534C495020616E6420666F72206465627567206D657373616765732E0A2F2F454C436C69656E7420657370282653657269616C2C202653657269616C293B0A0A2F2F20496E697469616C697A6520612054435020736F636B657420636C69656E74206F6E2074686520636F6E6E656374696F6E20746F206573702D6C696E6B0A454C436C69656E74536F636B6574207463702826657370293B0A2F2F20436F6E6E656374696F6E206E756D62657220666F72207463700A696E7420746370436F6E6E4E756D3B0A0A2F2F2054696D65722076616C756520746F2073656E64206F75742064617461200A75696E7433325F7420776169743B0A2F2F2054696D6520746F2077616974206265747765656E2073656E64696E67206F757420646174610A75696E7433325F74207761697454696D653B0A2F2F20466C616720666F72207769666920636F6E6E656374696F6E0A626F6F6C65616E2077696669436F6E6E6563746564203D2066616C73653B0A0A2F2F205061727365206572726F7220636F64657320616E642072657475726E73206572726F72206D6573736167652061732063686172202A0A2F2F20446566696E6974696F6E732066726F6D206572726F722076616C7565732066726F6D20657370636F6E6E2E6820284573707265737369662053444B290A2F2F2023646566696E6520455350434F4E4E5F4F4B20202020202020202020203020202F2A2A3C204E6F206572726F722C2065766572797468696E67204F4B2E2020202A2F0A2F2F2023646566696E6520455350434F4E4E5F4D454D2020202020202020202D3120202F2A2A3C204F7574206F66206D656D6F72792E202020202020202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F54494D454F555420202020202D3320202F2A2A3C2054696D656F75742E202020202020202020202020202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F5254452020202020202020202D3420202F2A2A3C20526F7574696E672070726F626C656D2E20202020202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F494E50524F475245535320202D3520202F2A2A3C204F7065726174696F6E20696E2070726F67726573732E20202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F4D41584E554D2020202020202D3720202F2A2A3C20546F74616C206E756D626572206578636565647320746865206D6178696D756D206C696D69746174696F6E2E202A2F0A0A2F2F2023646566696E6520455350434F4E4E5F4142525420202020202020202D3820202F2A2A3C20436F6E6E656374696F6E2061626F727465642E202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F5253542020202020202020202D3920202F2A2A3C20436F6E6E656374696F6E2072657365742E2020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F434C5344202020202020202D313020202F2A2A3C20436F6E6E656374696F6E20636C6F7365642E20202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F434F4E4E202020202020202D313120202F2A2A3C204E6F7420636F6E6E65637465642E2020202020202020202A2F0A0A2F2F2023646566696E6520455350434F4E4E5F41524720202020202020202D313220202F2A2A3C20496C6C6567616C20617267756D656E742E2020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F49462020202020202020202D313420202F2A2A3C205544502073656E64206572726F722E20202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F4953434F4E4E20202020202D313520202F2A2A3C20416C726561647920636F6E6E65637465642E20202020202A2F0A0A636861722A20636F6E7374206572725478745B5D2050524F474D454D203D207B224E6F206572726F722C2065766572797468696E67204F4B2E222C224F7574206F66206D656D6F72792E222C22556E6B6E6F776E20636F64652E222C2254696D656F75742E222C22526F7574696E672070726F626C656D2E222C224F7065726174696F6E20696E2070726F67726573732E222C0A090909090922556E6B6E6F776E20636F64652E222C22546F74616C206E756D626572206578636565647320746865206D6178696D756D206C696D69746174696F6E2E222C22436F6E6E656374696F6E2061626F727465642E222C22436F6E6E656374696F6E2072657365742E222C22436F6E6E656374696F6E20636C6F7365642E222C0A0909090909224E6F7420636F6E6E65637465642E222C22496C6C6567616C20617267756D656E742E222C22556E6B6E6F776E20636F64652E222C225544502073656E64206572726F722E222C22416C726561647920636F6E6E65637465642E227D3B0A63686172202A2067657445727254787428696E7431365F7420636F6D6D4572726F7229207B0A09636F6D6D4572726F72203D20636F6D6D4572726F722A2D313B0A0969662028636F6D6D4572726F72203C3D20313529207B0A090972657475726E202863686172202A292070676D5F726561645F776F72642028266572725478745B636F6D6D4572726F725D293B0A097D20656C7365207B0A090972657475726E202863686172202A292070676D5F726561645F776F72642028266572725478745B325D293B202F2F20556E6B6E6F776E20636F64650A097D0A7D0A0A2F2F2043616C6C6261636B20666F722054435020736F636B65742C2063616C6C65642069662064617461207761732073656E74206F722072656365697665640A2F2F20526563656976657320736F636B657420636C69656E74206E756D6265722C2063616E2062652072657573656420666F7220616C6C20696E697469616C697A65642054435020736F636B657420636F6E6E656374696F6E730A766F69642074637043622875696E74385F7420726573705F747970652C2075696E74385F7420636C69656E745F6E756D2C2075696E7431365F74206C656E2C2063686172202A6461746129207B0A0953657269616C2E7072696E746C6E2822746370436220636F6E6E656374696F6E2023222B537472696E6728636C69656E745F6E756D29293B0A0969662028726573705F74797065203D3D205553455243425F53454E5429207B0A090953657269616C2E7072696E746C6E28225C7453656E742022202B20537472696E67286C656E29202B2022206279746573206F76657220636C69656E742322202B20537472696E6728636C69656E745F6E756D29293B0A097D20656C73652069662028726573705F74797065203D3D205553455243425F5245435629207B0A0909636861722072656376446174615B6C656E2B315D3B202F2F20507265706172652062756666657220666F722074686520726563656976656420646174610A09096D656D6370792872656376446174612C20646174612C206C656E293B202F2F20436F7079207265636569766564206461746120696E746F20746865206275666665720A090972656376446174615B6C656E5D203D20275C30273B202F2F205465726D696E61746520746865206275666665722077697468203020666F722070726F706572207072696E746F7574210A0A090953657269616C2E7072696E746C6E28225C7452656365697665642022202B20537472696E67286C656E29202B2022206279746573206F7665722074686520636C69656E74206F6E20636F6E6E656374696F6E202322202B20537472696E6728636C69656E745F6E756D29293B0A090953657269616C2E7072696E746C6E28225C7452656365697665643A2022202B20537472696E6728726563764461746129293B0A097D20656C73652069662028726573705F74797065203D3D205553455243425F5245434F29207B0A0909696620286C656E20213D202D313129207B202F2F2069676E6F726520226E6F7420636F6E6E656374656422206572726F722C2068616E646C656420696E205553455243425F434F4E4E0A09090953657269616C2E7072696E7428225C74436F6E6E656374696F6E2070726F626C656D3A2022293B0A09090953657269616C2E7072696E746C6E28676574457272547874286C656E29293B0A09097D0A097D20656C73652069662028726573705F74797065203D3D205553455243425F434F4E4E29207B0A0909696620286C656E203D3D203029207B0A09090953657269616C2E7072696E746C6E28225C74446973636F6E6E656374656422293B0A09097D20656C7365207B0A09090953657269616C2E7072696E746C6E28225C74436F6E6E656374656422293B0A09097D0A097D20656C7365207B0A090953657269616C2E7072696E746C6E2822526563656976656420696E76616C696420726573706F6E7365207479706522293B0A097D0A7D0A0A2F2F2043616C6C6261636B206D6164652066726F6D206573702D6C696E6B20746F206E6F74696679206F66207769666920737461747573206368616E6765730A2F2F2048657265207765207072696E7420736F6D657468696E67206F757420616E6420736574206120676C6F62616C20666C61670A766F69642077696669436228766F6964202A726573706F6E736529207B0A09454C436C69656E74526573706F6E7365202A726573203D2028454C436C69656E74526573706F6E73652A29726573706F6E73653B0A09696620287265732D3E617267632829203D3D203129207B0A090975696E74385F74207374617475733B0A09097265732D3E706F7041726728267374617475732C2031293B0A0A0909696628737461747573203D3D2053544154494F4E5F474F545F495029207B0A09090953657269616C2E7072696E746C6E284628225749464920434F4E4E45435445442229293B0A09090977696669436F6E6E6563746564203D20747275653B0A09097D20656C7365207B0A09090953657269616C2E7072696E742846282257494649204E4F542052454144593A202229293B0A09090953657269616C2E7072696E746C6E28737461747573293B0A09090977696669436F6E6E6563746564203D2066616C73653B0A09097D0A097D0A7D0A0A766F69642073657475702829207B0A0953657269616C2E626567696E28313135323030293B0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F722041524455494E4F20554E4F205749464920776974682049324320746F2073657269616C2063686970210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A09693263756172742E626567696E2839363030293B0A0A0953657269616C2E7072696E746C6E28462822454C2D436C69656E74207374617274696E67212229293B0A0A092F2F2053796E632D75702077697468206573702D6C696E6B2C207468697320697320726571756972656420617420746865207374617274206F6620616E7920736B6574636820616E6420696E697469616C697A6573207468650A092F2F2063616C6C6261636B7320746F20746865207769666920737461747573206368616E67652063616C6C6261636B2E205468652063616C6C6261636B20676574732063616C6C656420776974682074686520696E697469616C0A092F2F207374617475732072696768742061667465722053796E6328292062656C6F7720636F6D706C657465732E0A096573702E7769666943622E61747461636828776966694362293B202F2F207769666920737461747573206368616E67652063616C6C6261636B2C206F7074696F6E616C202864656C657465206966206E6F742064657369726564290A09626F6F6C206F6B3B0A09646F207B0A09096F6B203D206573702E53796E6328293B0909092F2F2073796E632075702077697468206573702D6C696E6B2C20626C6F636B7320666F7220757020746F2032207365636F6E64730A090969662028216F6B292053657269616C2E7072696E746C6E28462822454C2D436C69656E742073796E63206661696C6564212229293B0A097D207768696C6528216F6B293B0A0953657269616C2E7072696E746C6E28462822454C2D436C69656E742073796E636564212229293B0A0A092F2F2057697420666F72205769466920746F20626520636F6E6E65637465642E200A096573702E4765745769666953746174757328293B0A09454C436C69656E745061636B6574202A7061636B65743B0A0953657269616C2E7072696E742846282257616974696E6720666F722057694669202229293B0A0969662028287061636B65743D6573702E5761697452657475726E28292920213D204E554C4C29207B0A090953657269616C2E7072696E74284628222E2229293B0A090953657269616C2E7072696E746C6E287061636B65742D3E76616C7565293B0A097D0A0953657269616C2E7072696E746C6E282222293B0A0A092F2F20536574207570207468652054435020736F636B657420636C69656E7420666F72206120636F6E6E656374696F6E20746F203C7463705365727665723E206F6E20706F7274203C3E2C207468697320646F65736E277420636F6E6E65637420746F2074686174207365727665722C0A092F2F206974206A75737420736574732D7570207374756666206F6E20746865206573702D6C696E6B207369646520616E6420776169747320756E74696C2077652073656E6420736F6D6520646174610A09746370436F6E6E4E756D203D207463702E626567696E287463705365727665722C20746370506F72742C20534F434B45545F5443505F434C49454E545F4C495354454E2C207463704362293B202F2F20534F434B45545F434C49454E54203D3D3E20776520657870656374206120726573706F6E73650A0969662028746370436F6E6E4E756D203C203029207B0A090953657269616C2E7072696E746C6E2846282254435020736F636B6574207365747570206661696C65642C2074727920616761696E20696E203130207365636F6E6473206166746572207265626F6F742229293B0A090964656C6179283130303030293B0A090961736D20766F6C6174696C6520282220206A6D70203022293B0A097D20656C7365207B0A090953657269616C2E7072696E746C6E28537472696E6728746370536572766572292B223A222B537472696E6728746370506F7274292B2220697320736572766564206F76657220636F6E6E656374696F6E206E756D6265722023203D20222B537472696E6728746370436F6E6E4E756D29293B0A097D0A090A0953657269616C2E7072696E746C6E28462822454C2D5443502072656164792229293B0A0977616974203D206D696C6C697328292B32393030303B202F2F2053746172742066697273742073656E64696E6720696E2031207365636F6E640A7D0A0A766F6964206C6F6F702829207B0A092F2F2070726F6365737320616E792063616C6C6261636B7320636F6D696E672066726F6D206573705F6C696E6B0A096573702E50726F6365737328293B0A0A092F2F20696620776527726520636F6E6E65637465642073656E642064617461206F7665722054435020736F636B65740A0969662877696669436F6E6E656374656429207B0A0909696620286D696C6C69732829202D2077616974203E20333030303029207B202F2F2053656E6420736F6D652064617461206576657279203330207365636F6E64730A09090977616974203D206D696C6C697328293B0A0A0909092F2F2053656E64206D65737361676520746F207468652070726576696F75736C79207365742D7570207365727665722023310A09090953657269616C2E7072696E742846282253656E64696E67206D65737361676520746F202229293B0A09090953657269616C2E7072696E7428746370536572766572293B0A09090953657269616C2E7072696E7428223A22293B0A09090953657269616C2E7072696E746C6E28746370506F7274293B0A0909097463702E73656E6428224D6573736167652066726F6D20556E6F2057694669206F7665722054435020736F636B657422293B0A09097D0A097D20656C7365207B0A09092F2F2054686973206973206A75737420666F722064656D6F2C20796F752063616E2061732077656C6C206A7573742074727920746F207265636F6E6E6563740A09092F2F20616E642073657475702074686520636F6E6E656374696F6E20746F206573702D6C696E6B20616761696E200A090953657269616C2E7072696E746C6E284628224C6F7374205769466920636F6E6E656374696F6E2C2074727920746F207265626F6F742229293B0A090964656C6179283130303030293B0A090961736D20766F6C6174696C6520282220206A6D70203022293B0A097D0A7D0A .ino tcp_server tcp_server 2F2A2A0A202A2053696D706C65206578616D706C6520746F2064656D6F2074686520456C2D436C69656E7420544350207365727665720A202A2054686973206578616D706C652073746172747320612054435020736F636B65742073657276657220616E642077616974730A202A20666F7220636C69656E747320746F20636F6E6E6563740A202A2F0A0A23696E636C756465203C454C436C69656E742E683E0A23696E636C756465203C454C436C69656E74536F636B65742E683E0A0A2F2F204950206164647265737320666F7220746869732064656D6F2069732061206C6F63616C2049502E0A2F2F205265706C616365206974207769746820746865204950206164647265737320776865726520796F75206861766520612054435020736F636B6574207365727665722072756E6E696E670A63686172202A20636F6E7374207463705365727665722050524F474D454D203D20223139322E3136382E302E313032223B0A2F2F20506F727420666F7220746869732064656D6F2069732074686520706F72742075736564206279207468652054435020736F636B6574207365727665722E0A2F2F205265706C61636520697420776974682074686520706F7274207468617420796F75722054435020736F636B657420736572766572206973206C697374656E696E6720746F0A75696E7431365F7420636F6E737420746370506F72742050524F474D454D203D20373030323B0A0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F722041524455494E4F20554E4F205749464920776974682049324320746F2073657269616C2063686970210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F2053657269616C20706F727420746F20455350383236360A23696E636C756465203C5343313649533735302E683E0A5343313649533735302069326375617274203D20534331364953373530285343313649533735305F50524F544F434F4C5F4932432C5343313649533735305F414444524553535F4141293B0A0A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E672074686520493243756172742063686970206F66207468652041726475696E6F20556E6F205769466920626F61726420666F720A2F2F20534C4950206D657373616765732E0A454C436C69656E7420657370282669326375617274293B0A0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F7220626F61726473207573696E67207468652068617264776172652073657269616C20706F7274210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F727420626F746820666F720A2F2F20534C495020616E6420666F72206465627567206D657373616765732E0A2F2F454C436C69656E7420657370282653657269616C2C202653657269616C293B0A0A2F2F20496E697469616C697A6520612054435020736F636B657420636C69656E74206F6E2074686520636F6E6E656374696F6E20746F206573702D6C696E6B0A454C436C69656E74536F636B6574207463702826657370293B0A2F2F20436F6E6E656374696F6E206E756D62657220666F72207463700A696E7420746370436F6E6E4E756D3B0A0A2F2F2054696D65722076616C756520746F2073656E64206F75742064617461200A75696E7433325F7420776169743B0A2F2F2054696D6520746F2077616974206265747765656E2073656E64696E67206F757420646174610A75696E7433325F74207761697454696D653B0A2F2F20466C616720666F72207769666920636F6E6E656374696F6E0A626F6F6C65616E2077696669436F6E6E6563746564203D2066616C73653B0A0A2F2F205061727365206572726F7220636F64657320616E642072657475726E73206572726F72206D6573736167652061732063686172202A0A2F2F20446566696E6974696F6E732066726F6D206572726F722076616C7565732066726F6D20657370636F6E6E2E6820284573707265737369662053444B290A2F2F2023646566696E6520455350434F4E4E5F4F4B20202020202020202020203020202F2A2A3C204E6F206572726F722C2065766572797468696E67204F4B2E2020202A2F0A2F2F2023646566696E6520455350434F4E4E5F4D454D2020202020202020202D3120202F2A2A3C204F7574206F66206D656D6F72792E202020202020202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F54494D454F555420202020202D3320202F2A2A3C2054696D656F75742E202020202020202020202020202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F5254452020202020202020202D3420202F2A2A3C20526F7574696E672070726F626C656D2E20202020202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F494E50524F475245535320202D3520202F2A2A3C204F7065726174696F6E20696E2070726F67726573732E20202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F4D41584E554D2020202020202D3720202F2A2A3C20546F74616C206E756D626572206578636565647320746865206D6178696D756D206C696D69746174696F6E2E202A2F0A0A2F2F2023646566696E6520455350434F4E4E5F4142525420202020202020202D3820202F2A2A3C20436F6E6E656374696F6E2061626F727465642E202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F5253542020202020202020202D3920202F2A2A3C20436F6E6E656374696F6E2072657365742E2020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F434C5344202020202020202D313020202F2A2A3C20436F6E6E656374696F6E20636C6F7365642E20202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F434F4E4E202020202020202D313120202F2A2A3C204E6F7420636F6E6E65637465642E2020202020202020202A2F0A0A2F2F2023646566696E6520455350434F4E4E5F41524720202020202020202D313220202F2A2A3C20496C6C6567616C20617267756D656E742E2020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F49462020202020202020202D313420202F2A2A3C205544502073656E64206572726F722E20202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F4953434F4E4E20202020202D313520202F2A2A3C20416C726561647920636F6E6E65637465642E20202020202A2F0A0A636861722A20636F6E7374206572725478745B5D2050524F474D454D203D207B224E6F206572726F722C2065766572797468696E67204F4B2E222C224F7574206F66206D656D6F72792E222C22556E6B6E6F776E20636F64652E222C2254696D656F75742E222C22526F7574696E672070726F626C656D2E222C224F7065726174696F6E20696E2070726F67726573732E222C0A090909090922556E6B6E6F776E20636F64652E222C22546F74616C206E756D626572206578636565647320746865206D6178696D756D206C696D69746174696F6E2E222C22436F6E6E656374696F6E2061626F727465642E222C22436F6E6E656374696F6E2072657365742E222C22436F6E6E656374696F6E20636C6F7365642E222C0A0909090909224E6F7420636F6E6E65637465642E222C22496C6C6567616C20617267756D656E742E222C22556E6B6E6F776E20636F64652E222C225544502073656E64206572726F722E222C22416C726561647920636F6E6E65637465642E227D3B0A63686172202A2067657445727254787428696E7431365F7420636F6D6D4572726F7229207B0A09636F6D6D4572726F72203D20636F6D6D4572726F722A2D313B0A0969662028636F6D6D4572726F72203C3D20313529207B0A090972657475726E202863686172202A292070676D5F726561645F776F72642028266572725478745B636F6D6D4572726F725D293B0A097D20656C7365207B0A090972657475726E202863686172202A292070676D5F726561645F776F72642028266572725478745B325D293B202F2F20556E6B6E6F776E20636F64650A097D0A7D0A0A2F2F2043616C6C6261636B20666F722054435020736F636B65742C2063616C6C65642069662064617461207761732073656E74206F722072656365697665640A2F2F20526563656976657320736F636B657420636C69656E74206E756D6265722C2063616E2062652072657573656420666F7220616C6C20696E697469616C697A65642054435020736F636B657420636F6E6E656374696F6E730A766F69642074637043622875696E74385F7420726573705F747970652C2075696E74385F7420636C69656E745F6E756D2C2075696E7431365F74206C656E2C2063686172202A6461746129207B0A0953657269616C2E7072696E746C6E2822746370436220636F6E6E656374696F6E2023222B537472696E6728636C69656E745F6E756D29293B0A0969662028726573705F74797065203D3D205553455243425F53454E5429207B0A090953657269616C2E7072696E746C6E28225C7453656E742022202B20537472696E67286C656E29202B2022206279746573206F76657220636C69656E742322202B20537472696E6728636C69656E745F6E756D29293B0A097D20656C73652069662028726573705F74797065203D3D205553455243425F5245435629207B0A0909636861722072656376446174615B6C656E2B315D3B202F2F20507265706172652062756666657220666F722074686520726563656976656420646174610A09096D656D6370792872656376446174612C20646174612C206C656E293B202F2F20436F7079207265636569766564206461746120696E746F20746865206275666665720A090972656376446174615B6C656E5D203D20275C30273B202F2F205465726D696E61746520746865206275666665722077697468203020666F722070726F706572207072696E746F7574210A0A090953657269616C2E7072696E746C6E28225C7452656365697665642022202B20537472696E67286C656E29202B2022206279746573206F7665722074686520736572766572206F6E20636F6E6E656374696F6E202322202B20537472696E6728636C69656E745F6E756D29293B0A090953657269616C2E7072696E746C6E28225C7452656365697665643A2022202B20537472696E6728726563764461746129293B0A09092F2F20544F444F2061646420736F6D652066756E6374696F6E7320746F20726561637420746F2074686520726563656976656420646174610A0909636861722072657370446174615B6C656E2B31315D3B202F2F20507265706172652062756666657220666F722074686520726573706F6E736520646174610A090963686172202A72657370486472203D202252656365697665643A20223B0A09096D656D637079202872657370446174612C20726573704864722C203130293B0A09096D656D637079282672657370446174615B31305D2C2072656376446174612C206C656E293B202F2F20436F7079207265636569766564206461746120696E746F20746865206275666665720A090972657370446174615B6C656E2B31305D203D20275C30273B0A090953657269616C2E7072696E746C6E28225C7453656E6420726573706F6E73653A2022202B20537472696E6728726573704461746129293B0A09097463702E73656E64287265737044617461293B0A097D20656C73652069662028726573705F74797065203D3D205553455243425F5245434F29207B0A0909696620286C656E20213D202D313129207B202F2F2069676E6F726520226E6F7420636F6E6E656374656422206572726F722C2068616E646C656420696E205553455243425F434F4E4E0A09090953657269616C2E7072696E7428225C74436F6E6E656374696F6E2070726F626C656D3A2022293B0A09090953657269616C2E7072696E746C6E28676574457272547874286C656E29293B0A09097D0A097D20656C73652069662028726573705F74797065203D3D205553455243425F434F4E4E29207B0A0909696620286C656E203D3D203029207B0A09090953657269616C2E7072696E746C6E28225C74446973636F6E6E656374656422293B0A09097D20656C7365207B0A09090953657269616C2E7072696E746C6E28225C74436F6E6E656374656422293B0A09097D0A097D20656C7365207B0A090953657269616C2E7072696E746C6E2822526563656976656420696E76616C696420726573706F6E7365207479706522293B0A097D0A7D0A0A2F2F2043616C6C6261636B206D6164652066726F6D206573702D6C696E6B20746F206E6F74696679206F66207769666920737461747573206368616E6765730A2F2F2048657265207765207072696E7420736F6D657468696E67206F757420616E6420736574206120676C6F62616C20666C61670A766F69642077696669436228766F6964202A726573706F6E736529207B0A09454C436C69656E74526573706F6E7365202A726573203D2028454C436C69656E74526573706F6E73652A29726573706F6E73653B0A09696620287265732D3E617267632829203D3D203129207B0A090975696E74385F74207374617475733B0A09097265732D3E706F7041726728267374617475732C2031293B0A0A0909696628737461747573203D3D2053544154494F4E5F474F545F495029207B0A09090953657269616C2E7072696E746C6E284628225749464920434F4E4E45435445442229293B0A09090977696669436F6E6E6563746564203D20747275653B0A09097D20656C7365207B0A09090953657269616C2E7072696E742846282257494649204E4F542052454144593A202229293B0A09090953657269616C2E7072696E746C6E28737461747573293B0A09090977696669436F6E6E6563746564203D2066616C73653B0A09097D0A097D0A7D0A0A766F69642073657475702829207B0A0953657269616C2E626567696E28313135323030293B0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F722041524455494E4F20554E4F205749464920776974682049324320746F2073657269616C2063686970210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A09693263756172742E626567696E2839363030293B0A0A0953657269616C2E7072696E746C6E28462822454C2D436C69656E74207374617274696E67212229293B0A0A092F2F2053796E632D75702077697468206573702D6C696E6B2C207468697320697320726571756972656420617420746865207374617274206F6620616E7920736B6574636820616E6420696E697469616C697A6573207468650A092F2F2063616C6C6261636B7320746F20746865207769666920737461747573206368616E67652063616C6C6261636B2E205468652063616C6C6261636B20676574732063616C6C656420776974682074686520696E697469616C0A092F2F207374617475732072696768742061667465722053796E6328292062656C6F7720636F6D706C657465732E0A096573702E7769666943622E61747461636828776966694362293B202F2F207769666920737461747573206368616E67652063616C6C6261636B2C206F7074696F6E616C202864656C657465206966206E6F742064657369726564290A09626F6F6C206F6B3B0A09646F207B0A09096F6B203D206573702E53796E6328293B0909092F2F2073796E632075702077697468206573702D6C696E6B2C20626C6F636B7320666F7220757020746F2032207365636F6E64730A090969662028216F6B292053657269616C2E7072696E746C6E28462822454C2D436C69656E742073796E63206661696C6564212229293B0A097D207768696C6528216F6B293B0A0953657269616C2E7072696E746C6E28462822454C2D436C69656E742073796E636564212229293B0A0A092F2F2057697420666F72205769466920746F20626520636F6E6E65637465642E200A096573702E4765745769666953746174757328293B0A09454C436C69656E745061636B6574202A7061636B65743B0A0953657269616C2E7072696E742846282257616974696E6720666F722057694669202229293B0A0969662028287061636B65743D6573702E5761697452657475726E28292920213D204E554C4C29207B0A090953657269616C2E7072696E74284628222E2229293B0A090953657269616C2E7072696E746C6E287061636B65742D3E76616C7565293B0A097D0A0953657269616C2E7072696E746C6E282222293B0A0A092F2F20536574207570207468652054435020736F636B65742073657276657220746F207761697420666F72206120636C69656E74206F6E20706F7274203C3E2C0A092F2F206974206A75737420736574732D7570207374756666206F6E20746865206573702D6C696E6B207369646520616E6420776169747320756E74696C206120636C69656E742073656E647320736F6D6520646174610A09746370436F6E6E4E756D203D207463702E626567696E287463705365727665722C20746370506F72742C20534F434B45545F5443505F5345525645522C207463704362293B202F2F20534F434B45545F534552564552203D3D3E2061636365707420636F6E6E656374696F6E730A0969662028746370436F6E6E4E756D203C203029207B0A090953657269616C2E7072696E746C6E2846282254435020736F636B6574207365747570206661696C65642C2074727920616761696E20696E203130207365636F6E6473206166746572207265626F6F742229293B0A090964656C6179283130303030293B0A090961736D20766F6C6174696C6520282220206A6D70203022293B0A097D20656C7365207B0A090953657269616C2E7072696E746C6E28537472696E6728746370536572766572292B223A222B537472696E6728746370506F7274292B2220697320736572766564206F76657220636F6E6E656374696F6E206E756D6265722023203D20222B537472696E6728746370436F6E6E4E756D29293B0A097D0A0953657269616C2E7072696E746C6E28462822454C2D5443502072656164792229293B0A7D0A0A766F6964206C6F6F702829207B0A092F2F2070726F6365737320616E792063616C6C6261636B7320636F6D696E672066726F6D206573705F6C696E6B0A096573702E50726F6365737328293B0A7D0A .ino test-reset Makefile 4553505F484F53544E414D45203F3D206573702D6C696E6B0A4C49425241525950415448203D20242841524455494E4F444952292F6C6962726172696573202E2E2F2E2E2F2E2E0A4C4942524152494553203D20454C436C69656E740A435050464C414753203D200A53455249414C444556203D206E65743A24284553505F484F53544E414D45293A323332330A696E636C756465202E2E2F61726475696E6F2E6D6B0A0A666C6173683A20616C6C0A092E2E2F617672666C6173682024284553505F484F53544E414D452920746573742E6865780A096E632024284553505F484F53544E414D45292032330A0A72756E3A2075706C6F61642073697A650A096E632024284553505F484F53544E414D45292032330A README 4D515454206578616D706C650A3D3D3D3D3D3D3D3D3D3D3D3D0A0A5468697320697320612073696D706C65206578616D706C65206F66206120736B657463682074686174207375627363726962657320746F20616E206D71747420746F70696320616E64207468656E207075626C6973686573206D657373616765730A746F207468617420746F7069632C2077686963682069742073756273657175656E746C7920726563656976657320616E64207072696E74732E0A0A2A2A496D706F7274616E742A2A20466F72207468697320736B6574636820746F20776F726B20796F75206D757374207475726E206F6666207468652055415254206465627567206C6F6720696E206573702D6C696E6B20286F6E0A746865204465627567204C6F672070616765292E2054686520726561736F6E2069732074686174206F7468657277697365206573702D6C696E6B207072696E747320746F6F206D75636820746F20697473207561727420616E647468656E0A6D697373657320696E636F6D696E6720636861726163746572732E0A .md test 3A3130303030303030304339343336303030433934354530303043393435453030304339343545303032300D0A3A3130303031303030304339343545303030433934354530303043393435453030304339343545303045380D0A3A3130303032303030304339343545303030433934354530303043393435453030304339343545303044380D0A3A3130303033303030304339343545303030433934354530303043393435453030304339343545303043380D0A3A3130303034303030304339343132303130433934354530303043393441333031304339344435303134350D0A3A3130303035303030304339343545303030433934354530303043393435453030304339343545303041380D0A3A3130303036303030304339343545303030433934354530303035303130353032313132343146424537350D0A3A3130303037303030434645464438453044454246434442463131453041304530423145304543453331300D0A3A3130303038303030463245313032433030353930304439324138334542313037443946373233453033360D0A3A3130303039303030413845454231453030314330314439324141333242323037453146373130453036430D0A3A3130303041303030434345364430453030344330323239374645303130453934313830394338333642310D0A3A3130303042303030443130374339463730453934384530333043393431433039304339343030303031300D0A3A3130303043303030363645303731453038444538393245303045393445313033343045443537453043380D0A3A3130303044303030363045303730453038454545393145303045393446323037383131313033433042330D0A3A3130303045303030364645313731453045464346363645333731453038444538393245303043393439300D0A3A3130303046303030453130334346393344463933314639324344423744454237444330313134393646370D0A3A3130303130303030454439314643393131353937323238313333383132313330333130354631463437350D0A3A3130303131303030343145303530453042453031364635463746344630453934373630383839383130390D0A3A3130303132303030383533303339463436384534373145303844453839324530304539344531303345330D0A3A3130303133303030304443303637453537314530384445383932453030453934444230333441453043340D0A3A3130303134303030353045303639383138444538393245303045393436303034304639304446393139390D0A3A3130303135303030434639313038393532364530343045303532454336314530373045303844453833380D0A3A3130303136303030393245303045393432423033363945373730453038304546393145303045393432420D0A3A3130303137303030424230383830453639304530393039334637303138303933463630313043393432310D0A3A3130303138303030363030304346393244463932454639324646393238454545393145303045393439430D0A3A3130303139303030454430363045393435433031433039304538303144303930453930314530393037410D0A3A3130303141303030454130314630393045423031364331393744303938453039394630393631334131330D0A3A3130303142303030374634303831303539313035323046313638453637314530384445383932453043440D0A3A3130303143303030304539344531303338434545393145303045393441393034364230313743303138360D0A3A3130303144303030363845373731453038444538393245303045393444423033324145303330453046450D0A3A3130303145303030423730314136303138444538393245303045393439333034304539343543303139310D0A3A3130303146303030363039334538303137303933453930313830393345413031393039334542303132390D0A3A3130303230303030464639304546393044463930434639303038393534444538353245304241303135330D0A3A3130303231303030384545453931453030453934334230353645454537314530384345453931453037370D0A3A3130303232303030304339344135303431463932304639323046423630463932313132343246393344360D0A3A3130303233303030334639333846393339463933414639334246393338303931383530323930393134420D0A3A3130303234303030383630324130393138373032423039313838303233303931383430323233453035370D0A3A3130303235303030323330463244333732304634303139364131314442313144303543303236453846450D0A3A3130303236303030323330463032393641313144423131443230393338343032383039333835303236350D0A3A3130303237303030393039333836303241303933383730324230393338383032383039313839303241450D0A3A3130303238303030393039313841303241303931384230324230393138433032303139364131314444460D0A3A3130303239303030423131443830393338393032393039333841303241303933384230324230393334300D0A3A3130303241303030384330324246393141463931394639313846393133463931324639313046393042310D0A3A3130303242303030304642453046393031463930313839353246423746383934363039313835303238430D0A3A3130303243303030373039313836303238303931383730323930393138383032324642463038393544350D0A3A3130303244303030373839343834423538323630383442443834423538313630383442443835423532310D0A3A3130303245303030383236303835424438354235383136303835424445454536463045303830383145380D0A3A3130303246303030383136303830383345314538463045303130383238303831383236303830383330390D0A3A3130303330303030383038313831363038303833453045384630453038303831383136303830383338420D0A3A3130303331303030453145424630453038303831383436303830383345304542463045303830383142440D0A3A3130303332303030383136303830383345414537463045303830383138343630383038333830383135460D0A3A3130303333303030383236303830383338303831383136303830383338303831383036383830383330370D0A3A3130303334303030313039324331303030383935314639323046393230464236304639323131323443300D0A3A3130303335303030324639333846393339463933454639334646393345303931394430324630393145320D0A3A3130303336303030394530323830383145303931413330324630393141343032383246443132433035450D0A3A3130303337303030393038313830393141363032384635463846373332303931413730323832313744300D0A3A3130303338303030353146304530393141363032463045304533353746443446393538463830393338360D0A3A3130303339303030413630323031433038303831464639314546393139463931384639313246393144330D0A3A3130303341303030304639303046424530463930314639303138393531463932304639323046423643460D0A3A3130303342303030304639323131323432463933334639333446393335463933364639333746393345420D0A3A3130303343303030384639333946393341463933424639334546393346463933384445383932453034410D0A3A3130303344303030304539343833303246463931454639314246393141463931394639313846393130360D0A3A3130303345303030374639313646393135463931344639313346393132463931304639303046424533310D0A3A3130303346303030304639303146393031383935384445383932453030453934343830323231453032450D0A3A3130303430303030383932423039463432304530383232463038393531303932393030323130393231370D0A3A3130303431303030384630323838454539334530413045304230453038303933393130323930393338390D0A3A3130303432303030393230324130393339333032423039333934303238334538393145303930393339380D0A3A3130303433303030384530323830393338443032383545433930453039303933394130323830393344370D0A3A3130303434303030393930323834454339304530393039333943303238303933394230323830454335340D0A3A3130303435303030393045303930393339453032383039333944303238314543393045303930393342370D0A3A3130303436303030413030323830393339463032383245433930453039303933413230323830393337450D0A3A3130303437303030413130323836454339304530393039334134303238303933413330323130393244340D0A3A3130303438303030413630323130393241373032313039324138303231303932413930323038393534330D0A3A3130303439303030464330313831384432323844393045303830354339463446383231423931303933310D0A3A3130303441303030384637333939323730383935464330313931384438323844393831373331463046330D0A3A3130303442303030383238444538304646313144383538443930453030383935384645463946454646440D0A3A3130303443303030303839354643303139313844383238443938313736314630383238444446303137360D0A3A3130303444303030413830464231314435443936384339313932384439463546394637333932384633370D0A3A3130303445303030393045303038393538464546394645463038393538424546393145303839324242370D0A3A3130303446303030343946303830453039304530383932423239463030453934464230313831313146360D0A3A3130303530303030304339343030303030383935464330313834384444463031413830464231314433420D0A3A3130303531303030413335414246344632433931383438443930453030313936384637333939323733390D0A3A3130303532303030383438464136383942373839324339334130383942313839384339313830363432360D0A3A3130303533303030384339333933384438343844393831333036433030323838463338394530324445370D0A3A3130303534303030383038313846374438303833303839354346393344463933454330313838384432380D0A3A3130303535303030383832334339463045413839464238393830383138354644303543304138383943370D0A3A3130303536303030423938393843393138364644304643303046423630374643463543463830383134440D0A3A3130303537303030383546464632434641383839423938393843393138354646454443464345303139370D0A3A3130303538303030304539343833303245374346444639314346393130383935434639324446393234460D0A3A3130303539303030464639323046393331463933434639334446393331463932434442374445423744380D0A3A3130303541303030364330313831453044363031353839363843393335383937354239363943393138430D0A3A3130303542303030354239373543393638433931354339373938313330374330353039364544393137310D0A3A3130303543303030464339313531393738303831383546443245433046363031303338443130453043450D0A3A3130303544303030304635463146344630463733313132374630324546363031383438444638313235350D0A3A3130303545303030313143303046423630374643463943464436303135303936454439314643393145320D0A3A3130303546303030353139373830383138354646463143464336303136393833304539343833303246340D0A3A3130303630303030363938314542434638333844453830464631314445333541464634463630383343330D0A3A3130303631303030443630313542393630433933354239373532393645443931464339313533393741340D0A3A3130303632303030383038313830363230434330443630313536393645443931464339313537393735460D0A3A3130303633303030363038333530393645443931464339313531393738303831383036343830383331360D0A3A3130303634303030383145303930453030463930444639314346393131463931304639314646393038420D0A3A3130303635303030444639304346393030383935424639324346393244463932454639324646393246410D0A3A3130303636303030434639334446393345433031364130313742303142323245453838394639383930460D0A3A3130303637303030383245303830383334313135383145453538303736313035373130354131463038340D0A3A3130303638303030363045303739453038444533393045304137303139363031304539344634303831340D0A3A3130303639303030323135303331303934313039353130393536393534373935333739353237393542430D0A3A3130303641303030323131353830453133383037393846304538383946393839313038323630453831460D0A3A3130303642303030373445383845453139304530413730313936303130453934463430383231353042310D0A3A3130303643303030333130393431303935313039353639353437393533373935323739354543383538430D0A3A3130303644303030464438353330383345453835464638353230383331383845454338394644383941410D0A3A3130303645303030423038324541383946423839383038313830363138303833454138394642383930350D0A3A3130303646303030383038313838363038303833454138394642383938303831383036383830383332420D0A3A3130303730303030454138394642383938303831384637443830383344463931434639314646393038330D0A3A3130303731303030454639304446393043463930424639303038393530383935304539343638303146380D0A3A3130303732303030304539343844303330453934414130304335453744324530304539344331303038410D0A3A3130303733303030323039374531463330453934373530324639434643463932444639324546393246410D0A3A3130303734303030464639323046393331463933434639334446393336433031374130314542303131430D0A3A3130303735303030453630454637314530304530313045304345313544463035363146303639393141450D0A3A3130303736303030443630314544393146433931303139304630383145303244433630313039393533330D0A3A3130303737303030303830463139314646314346433830314446393143463931314639313046393138310D0A3A3130303738303030464639304546393044463930434639303038393536313135373130353831463039330D0A3A3130303739303030444230313044393030303230453946374144303134313530353130393436314245360D0A3A3130303741303030353730424443303145443931464339313032383046333831453032443039393435460D0A3A3130303742303030383045303930453030383935304339344335303336464538373145303043393431430D0A3A3130303743303030433530333046393331463933434639334446393345433031304539344335303345320D0A3A3130303744303030384330314345303130453934444430333830304639313146444639314346393132430D0A3A3130303745303030314639313046393130383935384639323946393241463932424639324346393244370D0A3A3130303746303030444639324546393246463932304639333146393343463933444639334344423743410D0A3A3130303830303030444542374131393730464236463839344445424630464245434442463743303135370D0A3A3130303831303030433432454535324643423031443232453139413232314530324431353130463030380D0A3A3130303832303030324145304432324538453031304635443146344638443243393132434131324331320D0A3A3130303833303030423132433643324437453246413530313934303130453934463430383843324430330D0A3A3130303834303030443239453830313931313234303135303131303938413330313046343830354436340D0A3A3130303835303030303143303839354346383031383038333231313533313035343130353531303545450D0A3A3130303836303030323146304332324545333246434130314534434642383031433730313045393444340D0A3A3130303837303030433530334131393630464236463839344445424630464245434442464446393143320D0A3A3130303838303030434639313146393130463931464639304546393044463930434639304246393038440D0A3A3130303839303030414639303946393038463930303839353231313533313035343146344443303142300D0A3A3130303841303030454439314643393130313930463038314530324436343246303939343043393435450D0A3A3130303842303030463330333941303134363246353045303630453037304530304339343443303438320D0A3A3130303843303030304639333146393343463933444639334543303139413031343632463530453044330D0A3A3130303844303030363045303730453030453934344330343843303143453031304539344444303342380D0A3A3130303845303030383030463931314644463931434639313146393130463931303839353941303137310D0A3A3130303846303030414230313630453037304530304339343443303430463933314639334346393331360D0A3A3130303930303030444639334543303139413031414230313630453037304530304539343443303442460D0A3A3130303931303030384330314345303130453934444430333830304639313146444639314346393145410D0A3A3130303932303030314639313046393130383935304639333146393343463933444639334543303143350D0A3A3130303933303030304539343443303438433031434530313045393444443033383030463931314641380D0A3A3130303934303030444639314346393131463931304639313038393546433031373138333630383331360D0A3A3130303935303030303839353046393331463933434639334446393345433031303045303130453031350D0A3A3130303936303030323045303330453041393031363745303730453038383831393938313045393437310D0A3A3130303937303030373530373838383139393831304539343235303534304544353745303630453036380D0A3A3130303938303030373045303838383139393831304539343436303730303937333146304643303135300D0A3A3130303939303030363438313735383138363831393738313033433036304530373045304342303133450D0A3A3130303941303030444639314346393131463931304639313038393543463933444639334543303143390D0A3A3130303942303030384138353942383536303343413146303642334432314635444330314544393143320D0A3A3130303943303030464339313031393046303831453032443642454430393935384138353942383536360D0A3A3130303944303030444330314544393146433931303139304630383145303244364445443138433045450D0A3A3130303945303030444330314544393146433931303139304630383145303244364245443039393531410D0A3A3130303946303030384138353942383544433031454439314643393130313930463038314530324444310D0A3A3130304130303030364345443036433044433031454439314643393130313930463038314530324444300D0A3A3130304131303030444639314346393130393934454639324646393230463933314639334346393341310D0A3A3130304132303030444639333743303138413031454230313036304631373146433031374431303736360D0A3A3130304133303030323946303639393143373031304539344435303446384346444639314346393143390D0A3A3130304134303030314639313046393146463930454639303038393543463933444639334543303145410D0A3A3130304135303030424330313633354637463446343245303530453030453934304230353841383533360D0A3A3130304136303030394238354443303145443931464339313031393046303831453032443630454332330D0A3A3130304137303030444639314346393130393934304639333146393343463933444639334543303146340D0A3A3130304138303030384230314643303134313933353139334346303130453934423530383142383735340D0A3A3130304139303030304138373831453038433837434530313436393639383842384638373830453830350D0A3A3130304141303030393045303941384238393842314338413142384131443841444639314346393144420D0A3A3130304142303030314639313046393130383935464330313234383532323233323146303830383134430D0A3A3130304143303030393138313043393445313033303839353436323735343237343532373534323732340D0A3A3130304144303030394130313232323738344530323230463333314638413935453146373234323730390D0A3A3130304145303030333532374339303138393246393932373832393538463730383232373933323745460D0A3A3130304146303030394330313232323735354530333639353237393535413935453146373832323745340D0A3A3130304230303030393332373038393545463932464639323046393331463933434639334446393335340D0A3A3130304231303030374330313841303143393031454230313036304631373146433031374431303731440D0A3A3130304232303030333146303639393141433031433730313045393436343035463743464446393146340D0A3A3130304233303030434639313146393130463931464639304546393030383935414639324246393243380D0A3A3130304234303030434639324446393245463932464639323046393331463933434639334446393339390D0A3A3130304235303030303044303030443030304430434442374445423738433031444330313146393645440D0A3A3130304236303030454439304643393035303937314339363843393131433937383832333039463436420D0A3A3130304237303030374443303630454137314530384439313943393130453934444230334638303144390D0A3A3130304238303030363338393734383934414530353045303830383139313831304539343737303446320D0A3A3130304239303030364145413731453044383031384439313943393130453934444230334638303131330D0A3A3130304241303030343738353530383936363237353746443630393537363246323045313330453031340D0A3A3130304242303030383038313931383130453934344330343645454337314530443830313844393138450D0A3A3130304243303030394339313045393444423033463730313630383137313831343045313530453035430D0A3A3130304244303030443830313844393139433931304539343737303436464543373145304638303132460D0A3A3130304245303030383038313931383130453934444230334437303131343936344439313544393132340D0A3A3130304246303030364439313743393131373937323045313330453046383031383038313931383131460D0A3A3130304330303030304539343443303436464543373145304438303138443931394339313045393438300D0A3A3130304331303030444230334637303136323831373338313430453135304530443830313844393144460D0A3A3130304332303030394339313045393437373034363845304336324544313243463830313233383939430D0A3A3130304333303030333438393830383139313831433231364433303642304634364645433731453045330D0A3A3130304334303030304539344442303344383031314639364544393146433931353039374543304441420D0A3A3130304335303030464431443430453135304530363038313844393139433931304539343539303446450D0A3A3130304336303030424645464342314144423041453243463045393444443033443830313533393631370D0A3A3130304337303030434439304443393035343937423245304342314144313038463830314137383434430D0A3A3130304338303030423038383230453033304530413630314235303143383031304539343832303543440D0A3A3130304339303030463530314543304446443144323038313331383138323137393330373331463041340D0A3A3130304341303030364445413731453043383031304539343542303538324330443730313844393139390D0A3A3130304342303030394339313832333039313035333946303833333039313035463146303031393744340D0A3A3130304343303030303946303643433035424330463830313834383538383233303946343733433030370D0A3A3130304344303030364545423731453038303831393138313045393444423033443730313134393635350D0A3A3130304345303030344439313544393136443931374339313137393732414530333045304638303136430D0A3A3130304346303030383038313931383130453934393330343545433044383031314339363843393145320D0A3A3130304430303030314339373838323332394631363745433731453038443931394339313045393444410D0A3A3130304431303030444230334637303134343831353538313636383137373831324145303330453036390D0A3A3130304432303030443830313844393139433931304539343443303436464543373145304638303130380D0A3A3130304433303030383038313931383130453934444230334437303131323936364439313743393139350D0A3A3130304434303030313339373441453035304530463830313830383139313831304539343744303437300D0A3A3130304435303030443730313134393630443931314339313135393743383031304539344536303843310D0A3A3130304436303030383832333331463142373031434530313031393630453934364330384245303143330D0A3A3130304437303030364635463746344643383031304539344246303831414330363145443731453032430D0A3A3130304438303030463830313830383139313831304539344531303344383031313839364544393143430D0A3A3130304439303030464339313139393733303937363146303039393530414330463830313834383539340D0A3A3130304441303030383832333331463036434544373145303830383139313831304539344531303333340D0A3A3130304442303030383045303930453030314330433730313236393630464236463839344445424633300D0A3A3130304443303030304642454344424644463931434639313146393130463931464639304546393039430D0A3A3130304444303030444639304346393042463930414639303038393531463933434639334446393339340D0A3A3130304445303030454330313131453038413835394238354443303145443931464339313034383038410D0A3A3130304446303030463538314530324430393935383932423039463434324330384138353942383546300D0A3A3130304530303030444330314544393146433931303638304637383145303244303939353842334438390D0A3A3130304531303030393130353131463431443842453643463242383933433839383033433931303530460D0A3A3130304532303030373946343238333033313035323046304345303130453934394530353032433045310D0A3A3130304533303030383045303930453031433841314238413144384130303937393946323232433045430D0A3A3130304534303030344438393434323336314630384333443931303533314630384433443931303533340D0A3A3130304535303030323946343842454439304530303243303830454339304530314438413439383937360D0A3A3130304536303030354138393234313733353037303846304244434645463835463838394139303130350D0A3A3130304537303030344635463546344635433842344238424532304646333146383038334232434644320D0A3A3130304538303030383045303930453044463931434639313146393130383935384639323946393232330D0A3A3130304539303030414639324246393243463932444639324546393246463932434639334446393330380D0A3A3130304541303030454330313641303137423031304539343543303134423031354330313045393432340D0A3A3130304542303030354330313638313937393039384130393942303936433135374430353845303530350D0A3A3130304543303030394630353330463443453031304539344544303630303937383146333032433032390D0A3A3130304544303030383045303930453044463931434639314646393045463930444639304346393039360D0A3A3130304545303030424639304146393039463930384639303038393545463932464639323046393344350D0A3A3130304546303030314639334346393344463933434442374445423732383937304642364638393434330D0A3A3130304630303030444542463046424543444246374330313741383336393833324238333343383331380D0A3A3130304631303030344438333545383331383837304638334443303131453936314339323145393230300D0A3A3130304632303030314439373141393638443931394339313142393744433031454439314643393137380D0A3A3130304633303030303139304630383145303244363045433039393534324530353045304245303141370D0A3A3130304634303030364635463746344643373031304539343042303546373031323538353336383532450D0A3A3130304635303030343245303530453042453031364635463746344643373031304539343832303546330D0A3A3130304636303030443730313145393639433933384539333144393734324530353045304245303145300D0A3A3130304637303030363935463746344643373031304539343042303546373031323538353336383530340D0A3A3130304638303030343245303530453042453031363935463746344643373031304539343832303543390D0A3A3130304639303030443730313145393639433933384539333144393734344530353045304245303141450D0A3A3130304641303030364435463746344643373031304539343042303546373031323538353336383544300D0A3A3130304642303030343445303530453042453031364435463746344643373031304539343832303539330D0A3A3130304643303030443730313145393639433933384539333144393732383936304642364638393438320D0A3A3130304644303030444542463046424543444246444639314346393131463931304639314646393036430D0A3A3130304645303030454639303038393536463932374639323846393239463932414639324246393245460D0A3A3130304646303030434639324446393245463932464639323046393331463933434639334446393345350D0A3A3130313030303030454330313441303135423031384138353942383544433031454439314643393133350D0A3A3130313031303030303139304630383145303244363045433039393536453031423245304342304546440D0A3A3130313032303030443131434545323444374643453039344645324330304530313045304137303144380D0A3A3130313033303030393630313631453037304530434530313045393437353037434530313045393432410D0A3A3130313034303030323530353038383531393835313938363138383642353031413430314345303145340D0A3A3130313035303030304539343436303733433031303039373639463146333031383438313935383136340D0A3A3130313036303030413638314237383132433835384331353944303541453035424630353631463436310D0A3A3130313037303030323232333331463036364544373145303838383139393831304539344531303342440D0A3A3130313038303030313938373038383738314530313943303232323346394632363245453731453032360D0A3A3130313039303030383838313939383130453934444230334433303131343936344439313544393136330D0A3A3130313041303030364439313743393131373937324145303330453038383831393938313045393441380D0A3A3130313042303030393330344342434631393837303838373830453044463931434639313146393146300D0A3A3130313043303030304639314646393045463930444639304346393042463930414639303946393045370D0A3A3130313044303030384639303746393036463930303839354643303137353833363438333638354641330D0A3A3130313045303030374634463733383336323833313138323130383230383935304639333146393334310D0A3A3130313046303030434639334446393346433031413038314231383143343831443538313841383132360D0A3A3130313130303030394238314138313742393037353046354332383144333831323939313339393145340D0A3A3130313131303030384545463946454638323142393330423833373039393237443338334332383333420D0A3A3130313132303030313139364231383341303833384530314542303144413031323431373335303746340D0A3A3130313133303030303846344439303136413046374231464336313744373037323946304438303131390D0A3A3130313134303030344439313844303134393933463843463832304639333146343238313533383142360D0A3A3130313135303030343830463539314635333833343238334339303130324330384645463946454638440D0A3A3130313136303030444639314346393131463931304639313038393546433031313138323130383241300D0A3A3130313137303030313338323132383230383935464330313733383336323833303839354443303135370D0A3A3130313138303030313239364544393146433931313339373330393746394630324439313343393143370D0A3A3130313139303030313139373231313533313035423946303134393638443931394339313135393746310D0A3A3130313141303030414330313535393534373935383046463041433044393031413430464235314632320D0A3A3130313142303030304439304243393141303244414530464246314645443931464339314339303130380D0A3A3130313143303030383430463935314630393934434230313039393430383935464330313830383133370D0A3A3130313144303030393138313839324233394634383145303232383133333831323332423139463430390D0A3A3130313145303030383045303038393538314530303839354131453231413245414131424242314239450D0A3A3130313146303030464430313044433041413146424231464545314646463146413231374233303745330D0A3A3130313230303030453430374635303732304630413231424233304245343042463530423636314646380D0A3A3130313231303030373731463838314639393146314139343639463736303935373039353830393542430D0A3A3130313232303030393039353942303141433031424430314346303130383935454530464646314630410D0A3A304331323330303030353930463439314530324430393934463839344646434639340D0A3A3130313233433030303030303241303338303030343534433244343336433639363536453734323042380D0A3A3130313234433030323837323635324432393733373436313732373436393645363732313030343536420D0A3A3130313235433030344332443433364336393635364537343230373337393645363332303636363145360D0A3A3130313236433030363936433635363432313030343534433244343336433639363536453734323037360D0A3A3130313237433030373337393645363336353634323130303537343934363439323034333446344538430D0A3A3130313238433030344534353433353434353434303035373439343634393230344534463534323033460D0A3A3130313239433030353234353431343435393341323030303732363537313735363537333734363930310D0A3A3130313241433030364536373230373436393644363530303534363936443635334132303030303041350D0A3A3130313242433030303030303030433630323944303334383032363130323533303241343032304430350D0A3A3130313243433030304130303645363136453030363936453636303036463736363630303245303031350D0A3A3130313244433030343534433433334132303637364637343230303032303430303034353443343333360D0A3A3130313245433030334132303439364537363631364336393634323034333532343330303532343534320D0A3A3130313246433030353335303546353633413230303035323435353335303546343334323341323042380D0A3A3130313330433030303034453435343534343546353335393445343332313030343334443434334645350D0A3A30383133314330303346303034323431343433413230303036390D0A3A303030303030303146460D0A .hex test 2F2A2A0A202A2053696D706C65206578616D706C6520746F207465737420726573657474696E67206569746865722061726475696E6F206F72206573702D6C696E6B207768696C6520646F696E67204D5154540A202A2F0A0A23696E636C756465203C454C436C69656E742E683E0A23696E636C756465203C454C436C69656E74436D642E683E0A0A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F727420626F746820666F720A2F2F20534C495020616E6420666F72206465627567206D657373616765732E204573702D6C696E6B2077696C6C2073686F7720746865206465627567206D6573736167657320696E2074686520754320636F6E736F6C650A2F2F2062656361757365207468657920617265206E6F7420534C4950206672616D65642E0A454C436C69656E7420657370282653657269616C2C202653657269616C293B0A0A2F2F20496E697469616C697A6520434D4420636C69656E742028666F722047657454696D65290A454C436C69656E74436D6420636D642826657370293B0A0A2F2F2043616C6C6261636B206D6164652066726F6D206573702D6C696E6B20746F206E6F74696679206F66207769666920737461747573206368616E6765730A2F2F2048657265207765206A757374207072696E7420736F6D657468696E67206F757420666F72206772696E730A766F69642077696669436228766F69642A20726573706F6E736529207B0A2020454C436C69656E74526573706F6E7365202A726573203D2028454C436C69656E74526573706F6E73652A29726573706F6E73653B0A2020696620287265732D3E617267632829203D3D203129207B0A2020202075696E74385F74207374617475733B0A202020207265732D3E706F7041726728267374617475732C2031293B0A0A20202020696628737461747573203D3D2053544154494F4E5F474F545F495029207B0A20202020202053657269616C2E7072696E746C6E28225749464920434F4E4E454354454422293B0A202020207D20656C7365207B0A20202020202053657269616C2E7072696E74282257494649204E4F542052454144593A2022293B0A20202020202053657269616C2E7072696E746C6E28737461747573293B0A202020207D0A20207D0A7D0A0A2F2F2043616C6C6261636B206D61646520666F726D206573702D6C696E6B20746F206E6F74696679207468617420697420686173206A75737420636F6D65206F7574206F6620612072657365742E2054686973206D65616E732077650A2F2F206E65656420746F20696E697469616C697A65206974210A766F6964207265736574436228766F696429207B0A202053657269616C2E7072696E746C6E2822454C2D436C69656E74202872652D297374617274696E672122293B0A2020626F6F6C206F6B203D2066616C73653B0A2020646F207B0A202020206F6B203D206573702E53796E6328293B2020202020202F2F2073796E632075702077697468206573702D6C696E6B2C20626C6F636B7320666F7220757020746F2032207365636F6E64730A2020202069662028216F6B292053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E63206661696C65642122293B0A20207D207768696C6528216F6B293B0A202053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E6365642122293B0A7D0A0A766F69642073657475702829207B0A202053657269616C2E626567696E28313135323030293B0A0A20202F2F2053796E632D75702077697468206573702D6C696E6B2C207468697320697320726571756972656420617420746865207374617274206F6620616E7920736B6574636820616E6420696E697469616C697A6573207468650A20202F2F2063616C6C6261636B7320746F20746865207769666920737461747573206368616E67652063616C6C6261636B2E205468652063616C6C6261636B20676574732063616C6C656420776974682074686520696E697469616C0A20202F2F207374617475732072696768742061667465722053796E6328292062656C6F7720636F6D706C657465732E0A20206573702E7769666943622E61747461636828776966694362293B202F2F207769666920737461747573206368616E67652063616C6C6261636B2C206F7074696F6E616C202864656C657465206966206E6F742064657369726564290A20206573702E72657365744362203D20726573657443623B0A20207265736574436228293B0A7D0A0A7374617469632075696E7433325F74206C6173743B0A0A766F6964206C6F6F702829207B0A20206573702E50726F6365737328293B0A0A202069662028286D696C6C697328292D6C61737429203E203430303029207B0A2020202053657269616C2E7072696E746C6E282272657175657374696E672074696D6522293B0A2020202075696E7433325F742074203D20636D642E47657454696D6528293B0A2020202053657269616C2E7072696E74282254696D653A2022293B2053657269616C2E7072696E746C6E2874293B0A0A202020206C617374203D206D696C6C697328293B0A20207D0A7D0A .ino thingspeak README 5468696E67737065616B206578616D706C650A3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D0A0A2A2A5741524E494E473A2074686973206578616D706C6520686173206E6F74206265656E207570646174656420666F7220454C2D436C69656E74212A2A0A .md thingspeak 2F2A2A0A202A205C66696C650A202A0909092045535038323636205245535466756C205468696E67737065616B206578616D706C650A202A205C617574686F720A202A090909204265654765650A202A2F0A0A23696E636C756465203C454C436C69656E742E683E0A23696E636C756465203C454C436C69656E74526573742E683E0A0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F722041524455494E4F20554E4F205749464920776974682049324320746F2073657269616C2063686970210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F2053657269616C20706F727420746F20455350383236360A2F2F2023696E636C756465203C5343313649533735302E683E0A2F2F205343313649533735302069326375617274203D20534331364953373530285343313649533735305F50524F544F434F4C5F4932432C5343313649533735305F414444524553535F4141293B0A0A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E672074686520493243756172742063686970206F66207468652041726475696E6F20556E6F205769466920626F61726420666F720A2F2F20534C4950206D657373616765732E0A2F2F20454C436C69656E7420657370282669326375617274293B0A0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F7220626F61726473207573696E67207468652068617264776172652073657269616C20706F7274210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F727420626F746820666F720A2F2F20534C495020616E6420666F72206465627567206D657373616765732E0A454C436C69656E7420657370282653657269616C2C202653657269616C293B0A0A2F2F20496E697469616C697A652061205245535420636C69656E74206F6E2074686520636F6E6E656374696F6E20746F206573702D6C696E6B0A454C436C69656E745265737420726573742826657370293B0A0A626F6F6C65616E2077696669436F6E6E6563746564203D2066616C73653B0A0A2F2F2043616C6C6261636B206D6164652066726F6D206573702D6C696E6B20746F206E6F74696679206F66207769666920737461747573206368616E6765730A2F2F2048657265207765207072696E7420736F6D657468696E67206F757420616E6420736574206120676C6F62616C20666C61670A766F69642077696669436228766F6964202A726573706F6E736529207B0A09454C436C69656E74526573706F6E7365202A726573203D2028454C436C69656E74526573706F6E73652A29726573706F6E73653B0A09696620287265732D3E617267632829203D3D203129207B0A090975696E74385F74207374617475733B0A09097265732D3E706F7041726728267374617475732C2031293B0A0A0909696628737461747573203D3D2053544154494F4E5F474F545F495029207B0A09090953657269616C2E7072696E746C6E28225749464920434F4E4E454354454422293B0A09090977696669436F6E6E6563746564203D20747275653B0A09097D20656C7365207B0A09090953657269616C2E7072696E74282257494649204E4F542052454144593A2022293B0A09090953657269616C2E7072696E746C6E28737461747573293B0A09090977696669436F6E6E6563746564203D2066616C73653B0A09097D0A097D0A7D0A0A766F69642073657475702829207B0A0953657269616C2E626567696E2839363030293B0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F722041524455494E4F20554E4F205749464920776974682049324320746F2073657269616C2063686970210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A092F2F20693263756172742E626567696E2839363030293B0A090A0953657269616C2E7072696E746C6E282222293B0A0953657269616C2E7072696E746C6E2822454C2D436C69656E74207374617274696E672122293B0A0A092F2F2053796E632D75702077697468206573702D6C696E6B2C207468697320697320726571756972656420617420746865207374617274206F6620616E7920736B6574636820616E6420696E697469616C697A6573207468650A092F2F2063616C6C6261636B7320746F20746865207769666920737461747573206368616E67652063616C6C6261636B2E205468652063616C6C6261636B20676574732063616C6C656420776974682074686520696E697469616C0A092F2F207374617475732072696768742061667465722053796E6328292062656C6F7720636F6D706C657465732E0A096573702E7769666943622E61747461636828776966694362293B202F2F207769666920737461747573206368616E67652063616C6C6261636B2C206F7074696F6E616C202864656C657465206966206E6F742064657369726564290A09626F6F6C206F6B3B0A09646F207B0A09096F6B203D206573702E53796E6328293B0909092F2F2073796E632075702077697468206573702D6C696E6B2C20626C6F636B7320666F7220757020746F2032207365636F6E64730A090969662028216F6B29207B0A09090953657269616C2E7072696E7428225C6E454C2D436C69656E742073796E63206661696C656421206572723A2022293B0A09090953657269616C2E7072696E746C6E286F6B293B0A09097D0A097D207768696C6528216F6B293B0A0953657269616C2E7072696E746C6E2822454C2D436C69656E742073796E6365642122293B0A0A092F2F205761697420666F72205769466920746F20626520636F6E6E65637465642E200A53657269616C2E7072696E746C6E28226573702E47657457696669537461747573282922293B0A096573702E4765745769666953746174757328293B0A09454C436C69656E745061636B6574202A7061636B65743B0A0953657269616C2E7072696E746C6E282257616974696E6720666F7220576946692022293B0A0969662028287061636B65743D6573702E5761697452657475726E28292920213D204E554C4C29207B0A090953657269616C2E7072696E7428222E22293B0A090953657269616C2E7072696E746C6E287061636B65742D3E76616C7565293B0A097D0A0953657269616C2E7072696E746C6E282222293B0A0A092F2F2053657420757020746865205245535420636C69656E7420746F2074616C6B20746F206170692E7468696E67737065616B2E636F6D2C207468697320646F65736E277420636F6E6E65637420746F2074686174207365727665722C0A092F2F206974206A75737420736574732D7570207374756666206F6E20746865206573702D6C696E6B20736964650A092F2F20696E7420657272203D20726573742E626567696E28226170692E7468696E67737065616B2E636F6D22293B0A09696E7420657272203D20726573742E626567696E28223138342E3130362E3135332E31343922293B0A096966202865727220213D203029207B0A090953657269616C2E7072696E7428225245535420626567696E206661696C65643A2022293B0A090953657269616C2E7072696E746C6E28657272293B0A09097768696C65283129203B0A097D0A0953657269616C2E7072696E746C6E2822454C2D5245535420726561647922293B0A7D0A0A666C6F617420736F6C617256616C7565203D2039392E353B0A2F2F204368616E676520746F20796F7572206F776E205468696E67737065616B20415049206B65790A63686172202A6170695F6B6579203D20224B394C44525853374258534E3858314A223B0A2F2F20657870616E64206275666665722073697A6520746F20796F7572206E656564730A23646566696E65204255464C454E203236360A0A766F6964206C6F6F702829207B0A092F2F2070726F6365737320616E792063616C6C6261636B7320636F6D696E672066726F6D206573705F6C696E6B0A096573702E50726F6365737328293B0A0A092F2F20696620776527726520636F6E6E6563746564206D616B6520616E205245535420726571756573740A0969662877696669436F6E6E656374656429207B0A09090A09092F2F2047656E657261746520612066616B652076616C7565207374617274696E672066726F6D2031303020676F696E6720757020746F203330300A0909736F6C617256616C7565203D20736F6C617256616C7565202B20302E353B0A090969662028736F6C617256616C7565203D3D2033303029207B0A090909736F6C617256616C7565203D203130303B0A09097D0A0909537472696E6720736F6C617256616C537472696E67203D20537472696E6728736F6C617256616C7565293B0A0909636F6E73742063686172202A736F6C617256616C43686172203D20736F6C617256616C537472696E672E635F73747228293B0A09090A09092F2F205265736572766520612062756666657220666F722073656E64696E672074686520646174610A09096368617220706174685F646174615B4255464C454E5D3B0A09092F2F20436F707920746865207061746820616E6420415049206B657920696E746F20746865206275666665720A0909737072696E746628706174685F646174612C20222573222C20222F7570646174653F6170695F6B65793D22293B0A0909737072696E746628706174685F64617461202B207374726C656E28706174685F64617461292C20222573222C206170695F6B6579293B0A09090A09092F2F20436F707920746865206669656C64206E756D62657220616E642076616C756520696E746F20746865206275666665720A09092F2F20496620796F752068617665206D6F7265207468616E206F6E65206669656C6420746F207570646174652C0A09092F2F2072657065617420616E64206368616E6765206669656C643120746F206669656C64322C206669656C64332C202E2E2E0A0909737072696E746628706174685F64617461202B207374726C656E28706174685F64617461292C20222573222C2022266669656C64313D22293B0A0909737072696E746628706174685F64617461202B207374726C656E28706174685F64617461292C20222573222C20736F6C617256616C43686172293B0A09090A09092F2F2053656E6420505554207265717565737420746F207468696E67737065616B2E636F6D0A0909726573742E706F737428706174685F646174612C2222293B090A0A09092F2F205265736572766520612062756666657220666F722074686520726573706F6E73652066726F6D205468696E67737065616B0A09096368617220726573706F6E73655B4255464C454E5D3B0A09092F2F20436C65617220746865206275666665720A09096D656D73657428726573706F6E73652C20302C204255464C454E293B0A09092F2F205761697420666F7220726573706F6E73652066726F6D205468696E67737065616B0A090975696E7431365F7420636F6465203D20726573742E77616974526573706F6E736528726573706F6E73652C204255464C454E2D31293B0A09092F2F20436865636B2074686520726573706F6E73652066726F6D205468696E67737065616B0A0909696628636F6465203D3D20485454505F5354415455535F4F4B297B0A09090953657269616C2E7072696E746C6E28225468696E67737065616B3A20504F5354207375636365737366756C3A22293B0A09090953657269616C2E7072696E742822526573706F6E73653A2022293B0A09090953657269616C2E7072696E746C6E28726573706F6E7365293B0A09097D20656C7365207B0A09090953657269616C2E7072696E7428225468696E67737065616B3A20504F5354206661696C65642077697468206572726F722022293B0A09090953657269616C2E7072696E746C6E28636F6465293B0A09090953657269616C2E7072696E742822526573706F6E73653A2022293B0A09090953657269616C2E7072696E746C6E28726573706F6E7365293B0A09097D0A09092F2F2053656E64206E657874206461746120696E203230207365636F6E64730A090964656C6179283230303030293B0A097D0A7D .ino udp udp 2F2A2A0A202A2053696D706C65206578616D706C6520746F2064656D6F2074686520456C2D436C69656E74205544502063616C6C730A202A2F0A0A23696E636C756465203C454C436C69656E742E683E0A23696E636C756465203C454C436C69656E74536F636B65742E683E0A0A2F2F204950206164647265737320666F7220746869732064656D6F2069732061206C6F63616C2049502E0A2F2F205265706C616365206974207769746820746865204950206164647265737320776865726520796F75206861766520612055445020736F636B6574207365727665722072756E6E696E670A63686172202A20636F6E7374207564705365727665722050524F474D454D203D20223139322E3136382E302E313032223B202F2F2053656E6420746F2073696E676C6520697020616464726573730A63686172202A20636F6E737420756470536572766572322050524F474D454D203D20223139322E3136382E302E323535223B202F2F2042726F61646361737420746F20676976656E206E6574776F726B206970206D61736B0A2F2F20506F727420666F7220746869732064656D6F2069732074686520706F72742075736564206279207468652055445020736F636B6574207365727665722E0A2F2F205265706C61636520697420776974682074686520706F7274207468617420796F75722055445020736F636B657420736572766572206973206C697374656E696E6720746F0A75696E7431365F7420636F6E737420756470506F72742050524F474D454D203D20353030303B0A75696E7431365F7420636F6E737420756470506F7274322050524F474D454D203D20373030303B0A0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F722041524455494E4F20554E4F205749464920776974682049324320746F2073657269616C2063686970210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F2053657269616C20706F727420746F20455350383236360A23696E636C756465203C5343313649533735302E683E0A5343313649533735302069326375617274203D20534331364953373530285343313649533735305F50524F544F434F4C5F4932432C5343313649533735305F414444524553535F4141293B0A0A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E672074686520493243756172742063686970206F66207468652041726475696E6F20556E6F205769466920626F61726420666F720A2F2F20534C4950206D657373616765732E0A454C436C69656E7420657370282669326375617274293B0A0A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20466F7220626F61726473207573696E67207468652068617264776172652073657269616C20706F7274210A2F2F23232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323230A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F727420626F746820666F720A2F2F20534C495020616E6420666F72206465627567206D657373616765732E0A2F2F454C436C69656E7420657370282653657269616C2C202653657269616C293B0A0A2F2F20496E697469616C697A6520612055445020636C69656E74206F6E2074686520636F6E6E656374696F6E20746F206573702D6C696E6B0A454C436C69656E74536F636B6574207564702826657370293B0A2F2F20496E697469616C697A6520612055445020636C69656E74206F6E2074686520636F6E6E656374696F6E20746F206573702D6C696E6B0A454C436C69656E74536F636B657420756470322826657370293B0A0A2F2F2054696D65722076616C756520746F2073656E64206F757420646174610A75696E7433325F7420776169743B0A2F2F2054696D6520746F2077616974206265747765656E2073656E64696E67206F757420646174610A75696E7433325F74207761697454696D653B0A2F2F20466C616720666F72207769666920636F6E6E656374696F6E0A626F6F6C65616E2077696669436F6E6E6563746564203D2066616C73653B0A0A2F2F205061727365206572726F7220636F64657320616E642072657475726E73206572726F72206D6573736167652061732063686172202A0A2F2F20446566696E6974696F6E732066726F6D206572726F722076616C7565732066726F6D20657370636F6E6E2E6820284573707265737369662053444B290A2F2F2023646566696E6520455350434F4E4E5F4F4B20202020202020202020203020202F2A2A3C204E6F206572726F722C2065766572797468696E67204F4B2E2020202A2F0A2F2F2023646566696E6520455350434F4E4E5F4D454D2020202020202020202D3120202F2A2A3C204F7574206F66206D656D6F72792E202020202020202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F54494D454F555420202020202D3320202F2A2A3C2054696D656F75742E202020202020202020202020202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F5254452020202020202020202D3420202F2A2A3C20526F7574696E672070726F626C656D2E20202020202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F494E50524F475245535320202D3520202F2A2A3C204F7065726174696F6E20696E2070726F67726573732E20202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F4D41584E554D2020202020202D3720202F2A2A3C20546F74616C206E756D626572206578636565647320746865206D6178696D756D206C696D69746174696F6E2E202A2F0A0A2F2F2023646566696E6520455350434F4E4E5F4142525420202020202020202D3820202F2A2A3C20436F6E6E656374696F6E2061626F727465642E202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F5253542020202020202020202D3920202F2A2A3C20436F6E6E656374696F6E2072657365742E2020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F434C5344202020202020202D313020202F2A2A3C20436F6E6E656374696F6E20636C6F7365642E20202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F434F4E4E202020202020202D313120202F2A2A3C204E6F7420636F6E6E65637465642E2020202020202020202A2F0A0A2F2F2023646566696E6520455350434F4E4E5F41524720202020202020202D313220202F2A2A3C20496C6C6567616C20617267756D656E742E2020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F49462020202020202020202D313420202F2A2A3C205544502073656E64206572726F722E20202020202020202A2F0A2F2F2023646566696E6520455350434F4E4E5F4953434F4E4E20202020202D313520202F2A2A3C20416C726561647920636F6E6E65637465642E20202020202A2F0A0A636861722A20636F6E7374206572725478745B5D2050524F474D454D203D207B224E6F206572726F722C2065766572797468696E67204F4B2E222C224F7574206F66206D656D6F72792E222C22556E6B6E6F776E20636F64652E222C2254696D656F75742E222C22526F7574696E672070726F626C656D2E222C224F7065726174696F6E20696E2070726F67726573732E222C0A090909090922556E6B6E6F776E20636F64652E222C22546F74616C206E756D626572206578636565647320746865206D6178696D756D206C696D69746174696F6E2E222C22436F6E6E656374696F6E2061626F727465642E222C22436F6E6E656374696F6E2072657365742E222C22436F6E6E656374696F6E20636C6F7365642E222C0A0909090909224E6F7420636F6E6E65637465642E222C22496C6C6567616C20617267756D656E742E222C22556E6B6E6F776E20636F64652E222C225544502073656E64206572726F722E222C22416C726561647920636F6E6E65637465642E227D3B0A63686172202A2067657445727254787428696E7431365F7420636F6D6D4572726F7229207B0A09636F6D6D4572726F72203D20636F6D6D4572726F722A2D313B0A0969662028636F6D6D4572726F72203C3D20313529207B0A090972657475726E202863686172202A292070676D5F726561645F776F72642028266572725478745B636F6D6D4572726F725D293B0A097D20656C7365207B0A090972657475726E202863686172202A292070676D5F726561645F776F72642028266572725478745B325D293B202F2F20556E6B6E6F776E20636F64650A097D0A7D0A0A2F2F2043616C6C6261636B20666F722055445020736F636B65742C2063616C6C65642069662064617461207761732073656E74206F722072656365697665640A2F2F20526563656976657320736F636B657420636C69656E74206E756D6265722C2063616E2062652072657573656420666F7220616C6C20696E697469616C697A65642055445020736F636B657420636F6E6E656374696F6E730A2F2F202121212055445020646F65736E277420636865636B20696620746865206461746120776173207265636569766564206F72206966207468652072656365697665722049502F736F636B657420697320617661696C61626C652021212120596F75206E65656420746F20696D706C656D656E7420796F7572206F776E0A2F2F206572726F7220636F6E74726F6C210A766F69642075647043622875696E74385F7420726573705F747970652C2075696E74385F7420636C69656E745F6E756D2C2075696E7431365F74206C656E2C2063686172202A6461746129207B0A0953657269616C2E7072696E746C6E282275647043622069732063616C6C656422293B0A09696620286C656E203E203029207B202F2F2073656E64696E6720636F6D706C65746520286E6F20636F6E6669726D6174696F6E2074686174206974207761732072656365697665642129206F7220776520726563656976656420736F6D657468696E670A090969662028726573705F74797065203D3D205553455243425F53454E5429207B0A09090953657269616C2E7072696E746C6E28225C7453656E742022202B20537472696E67286C656E29202B2022206279746573206F76657220636F6E6E656374696F6E202322202B20537472696E6728636C69656E745F6E756D29293B0A09097D20656C73652069662028726573705F74797065203D3D205553455243425F5245435629207B0A090909636861722072656376446174615B6C656E2B315D3B202F2F20507265706172652062756666657220666F722074686520726563656976656420646174610A0909096D656D6370792872656376446174612C20646174612C206C656E293B202F2F20436F7079207265636569766564206461746120696E746F20746865206275666665720A09090972656376446174615B6C656E5D203D20275C30273B202F2F205465726D696E61746520746865206275666665722077697468203020666F722070726F706572207072696E746F7574210A0A09090953657269616C2E7072696E746C6E28225C7452656365697665642022202B20537472696E67286C656E29202B2022206279746573206F76657220636C69656E742322202B20537472696E6728636C69656E745F6E756D29293B0A09090953657269616C2E7072696E746C6E28225C7452656365697665643A2022202B20537472696E6728726563764461746129293B0A09097D20656C7365207B0A09090953657269616C2E7072696E746C6E2822526563656976656420696E76616C696420726573706F6E7365207479706522293B0A09097D0A097D20656C736520696620286C656E203C203029207B202F2F206E6567617469766520726573756C74206D65616E732074686572652077617320612070726F626C656D0A090953657269616C2E7072696E742846282253656E64206572726F723A202229293B0A090953657269616C2E7072696E746C6E28676574457272547874286C656E29293B0A097D0A7D0A0A2F2F2043616C6C6261636B206D6164652066726F6D206573702D6C696E6B20746F206E6F74696679206F66207769666920737461747573206368616E6765730A2F2F2048657265207765207072696E7420736F6D657468696E67206F757420616E6420736574206120676C6F62616C20666C61670A766F69642077696669436228766F6964202A726573706F6E736529207B0A09454C436C69656E74526573706F6E7365202A726573203D2028454C436C69656E74526573706F6E73652A29726573706F6E73653B0A09696620287265732D3E617267632829203D3D203129207B0A090975696E74385F74207374617475733B0A09097265732D3E706F7041726728267374617475732C2031293B0A0A0909696628737461747573203D3D2053544154494F4E5F474F545F495029207B0A09090953657269616C2E7072696E746C6E284628225749464920434F4E4E45435445442229293B0A09090977696669436F6E6E6563746564203D20747275653B0A09097D20656C7365207B0A09090953657269616C2E7072696E742846282257494649204E4F542052454144593A202229293B0A09090953657269616C2E7072696E746C6E28737461747573293B0A09090977696669436F6E6E6563746564203D2066616C73653B0A09097D0A097D0A7D0A0A766F69642073657475702829207B0A0953657269616C2E626567696E28313135323030293B0A09693263756172742E626567696E2839363030293B0A0953657269616C2E7072696E746C6E28462822454C2D436C69656E74207374617274696E67212229293B0A0A092F2F2053796E632D75702077697468206573702D6C696E6B2C207468697320697320726571756972656420617420746865207374617274206F6620616E7920736B6574636820616E6420696E697469616C697A6573207468650A092F2F2063616C6C6261636B7320746F20746865207769666920737461747573206368616E67652063616C6C6261636B2E205468652063616C6C6261636B20676574732063616C6C656420776974682074686520696E697469616C0A092F2F207374617475732072696768742061667465722053796E6328292062656C6F7720636F6D706C657465732E0A096573702E7769666943622E61747461636828776966694362293B202F2F207769666920737461747573206368616E67652063616C6C6261636B2C206F7074696F6E616C202864656C657465206966206E6F742064657369726564290A09626F6F6C206F6B3B0A09646F207B0A09096F6B203D206573702E53796E6328293B0909092F2F2073796E632075702077697468206573702D6C696E6B2C20626C6F636B7320666F7220757020746F2032207365636F6E64730A090969662028216F6B292053657269616C2E7072696E746C6E28462822454C2D436C69656E742073796E63206661696C6564212229293B0A097D207768696C6528216F6B293B0A0953657269616C2E7072696E746C6E28462822454C2D436C69656E742073796E636564212229293B0A0A092F2F2047657420696D6D65646961746520776966692073746174757320696E666F20666F722064656D6F20707572706F7365732E2054686973206973206E6F74206E6F726D616C6C7920757365642062656361757365207468650A092F2F2077696669207374617475732063616C6C6261636B20726567697374657265642061626F766520676574732063616C6C656420696D6D6564696174656C792E0A096573702E4765745769666953746174757328293B0A09454C436C69656E745061636B6574202A7061636B65743B0A0969662028287061636B65743D6573702E5761697452657475726E28292920213D204E554C4C29207B0A090953657269616C2E7072696E742846282257696669207374617475733A202229293B0A090953657269616C2E7072696E746C6E287061636B65742D3E76616C7565293B0A097D0A0A092F2F20536574207570207468652055445020736F636B657420636C69656E7420746F2073656E6420612073686F7274206D65737361676520746F203C7564705365727665723E206F6E20706F7274203C3E2C207468697320646F65736E277420636F6E6E65637420746F2074686174207365727665722C0A092F2F206974206A75737420736574732D7570207374756666206F6E20746865206573702D6C696E6B20736964650A09696E7420657272203D207564702E626567696E287564705365727665722C20756470506F72742C20534F434B45545F5544502C207564704362293B0A0969662028657272203C203029207B0A090953657269616C2E7072696E742846282255445020626567696E206661696C65643A202229293B0A090953657269616C2E7072696E746C6E28657272293B0A090964656C6179283130303030293B0A090961736D20766F6C6174696C6520282220206A6D70203022293B0A097D0A0A09657272203D20756470322E626567696E28756470536572766572322C20756470506F7274322C20534F434B45545F5544502C207564704362293B0A0969662028657272203C203029207B0A090953657269616C2E7072696E74284628225544503220626567696E206661696C65643A202229293B0A090953657269616C2E7072696E746C6E28657272293B0A090964656C6179283130303030293B0A090961736D20766F6C6174696C6520282220206A6D70203022293B0A097D0A0A0953657269616C2E7072696E746C6E28462822454C2D436C69656E74207265616479212229293B0A0977616974203D206D696C6C697328292B32393030303B202F2F2053746172742066697273742073656E64696E6720696E2031207365636F6E640A7D0A0A766F6964206C6F6F702829207B0A092F2F2070726F6365737320616E792063616C6C6261636B7320636F6D696E672066726F6D206573705F6C696E6B0A096573702E50726F6365737328293B0A0A092F2F20696620776527726520636F6E6E65637465642073656E642064617461206F7665722055445020736F636B65740A0969662877696669436F6E6E656374656429207B0A0909696620286D696C6C69732829202D2077616974203E20333030303029207B202F2F2053656E6420736F6D652064617461206576657279203330207365636F6E64730A09090977616974203D206D696C6C697328293B0A0909092F2F2053656E64206D65737361676520746F207468652070726576696F75736C79207365742D7570207365727665722023310A09090953657269616C2E7072696E742846282253656E64696E67206D65737361676520746F202229293B0A09090953657269616C2E7072696E746C6E28756470536572766572293B0A0909097564702E73656E6428224D6573736167652066726F6D20796F75722041726475696E6F20556E6F2057694669206F7665722055445020736F636B657422293B0A0A0909092F2F2053656E64206D65737361676520746F207468652070726576696F75736C79207365742D7570207365727665722023320A09090953657269616C2E7072696E742846282253656E64696E672062726F61646361737420746F202229293B0A09090953657269616C2E7072696E746C6E2875647053657276657232293B0A090909756470322E73656E64282242726F6164636173742066726F6D20796F75722041726475696E6F20556E6F2057694669206F7665722055445020736F636B657422293B0A09097D0A097D20656C7365207B0A09092F2F2054686973206973206A75737420666F722064656D6F2C20796F752063616E2061732077656C6C206A7573742074727920746F207265636F6E6E6563740A09092F2F20616E642073657475702074686520636F6E6E656374696F6E20746F206573702D6C696E6B20616761696E0A090953657269616C2E7072696E746C6E284628224C6F737420636F6E6E656374696F6E2C2074727920746F207265626F6F742229293B0A090964656C6179283130303030293B0A090961736D20766F6C6174696C6520282220206A6D70203022293B0A097D0A7D0A .ino webserver_controls LED 20203C212D2D204573704C696E6B2077696C6C20616464206865616465722068657265202D2D3E0A20200A20203C64697620636C6173733D22686561646572223E0A202020203C68313E4C454420636F6E66696775726174696F6E3C2F68313E0A20203C2F6469763E0A0A20203C64697620636C6173733D22636F6E74656E74223E0A202020203C64697620636C6173733D22707572652D67223E3C64697620636C6173733D22707572652D752D3120707572652D752D6D642D312D32223E0A2020202020203C64697620636C6173733D2263617264223E0A20202020202020203C68313E436F6E74726F6C3C2F68313E0A20202020202020203C627574746F6E2069643D2262746E5F6F6E2220747970653D22627574746F6E223E5475726E206F6E3C2F627574746F6E3E0A20202020202020203C627574746F6E2069643D2262746E5F626C696E6B2220747970653D22627574746F6E223E537461727420626C696E6B696E673C2F627574746F6E3E0A20202020202020203C627574746F6E2069643D2262746E5F6F66662220747970653D22627574746F6E223E5475726E206F66663C2F627574746F6E3E0A20202020202020203C702069643D2274657874222F3E0A2020202020203C2F6469763E0A2020202020203C64697620636C6173733D2263617264223E0A20202020202020203C68313E4672657175656E637920616E6420647574793C2F68313E0A20202020202020203C666F726D3E0A202020202020202020203C623E447574793A3C2F623E3C62722F3E0A202020202020202020203C696E70757420747970653D22726164696F22206E616D653D2264757479222076616C75653D2232355F3735223E323525206F6E20373525206F66663C2F696E7075743E3C62722F3E0A202020202020202020203C696E70757420747970653D22726164696F22206E616D653D2264757479222076616C75653D2235305F3530223E353025206F6E20353025206F66663C2F696E7075743E3C62722F3E0A202020202020202020203C696E70757420747970653D22726164696F22206E616D653D2264757479222076616C75653D2237355F3235223E373525206F6E20323525206F66663C2F696E7075743E3C62722F3E0A20202020202020200A202020202020202020203C623E4672657175656E63793A3C2F623E3C62722F3E0A202020202020202020203C696E70757420747970653D2272616E676522206E616D653D226672657175656E637922206D696E3D223122206D61783D223235223E3C62722F3E0A202020202020202020203C696E70757420747970653D227375626D6974223E0A20202020202020203C2F666F726D3E0A2020202020203C2F6469763E3C2F6469763E0A2020202020203C64697620636C6173733D22707572652D752D3120707572652D752D6D642D312D32223E0A2020202020203C64697620636C6173733D226361726422207374796C653D226D696E2D6865696768743A203430307078223E0A20202020202020203C68313E4C6F67733C2F68313E0A20202020202020203C756C2069643D226C65645F686973746F7279222F3E0A2020202020203C2F6469763E2020202020200A202020203C2F6469763E3C2F6469763E0A20203C2F6469763E0A3C2F626F64793E3C2F68746D6C3E0A .html LedPage 23696E636C756465203C454C436C69656E745765625365727665722E683E0A0A2F2F207468652050494E20746F20666C6173680A23646566696E65204C45445F50494E202031330A0A696E74385F74202020626C696E6B696E67203D20303B2020202020202020202020202F2F2077686574686572204C454420697320626C696E6B696E670A75696E74385F742020626C696E6B696E675F64757479203D20323B202020202020202F2F20626C696E6B696E6720647574790A696E74385F74202020626C696E6B696E675F6672657175656E6379203D2031303B202F2F20626C696E6B696E67206672657175656E63790A0A75696E7433325F7420626C696E6B696E675F6E6578745F7473203D20303B202020202F2F20746865206E6578742074696D657374616D7020746F20626C696E6B0A75696E7431365F7420626C696E6B696E675F70686173652020203D203130303B20202F2F20626C696E6B696E672070686173650A75696E7431365F7420626C696E6B696E675F706572696F6420203D203230303B20202F2F20626C696E6B696E6720706572696F64202832303030202F206672657175656E6379290A0A23646566696E65204D41585F4C4F475320350A75696E7433325F74206C6F675F74735B4D41585F4C4F47535D3B20202020202020202F2F206C6F672074696D657374616D700A75696E74385F7420206C6F675F6D73675B4D41585F4C4F47535D3B202020202020202F2F206C6F67206D6573736167650A75696E74385F7420206C6F675F707472203D20303B202020202020202020202020202F2F206C6F6720706F696E7465720A0A7479706564656620656E756D0A7B0A20204C4F475F445554595F32355F3735203D20307845312C0A20204C4F475F445554595F35305F35302C0A20204C4F475F445554595F37355F32352C0A20204C4F475F5345545F4C45445F4F4E203D20307846302C0A20204C4F475F5345545F4C45445F424C494E4B494E472C0A20204C4F475F5345545F4C45445F4F46462C0A7D204C6F674D6573736167653B0A0A2F2F204C4544206C6F6F7020636F64650A766F6964206C65644C6F6F7028290A7B200A202069662820626C696E6B696E672029202F2F20696620626C696E6B696E6720697320656E61626C65640A20207B0A2020202069662820626C696E6B696E675F6E6578745F7473203C3D206D696C6C6973282920290A202020207B0A2020202020206469676974616C5772697465284C45445F50494E2C20216469676974616C52656164284C45445F50494E29293B202F2F20626C696E6B204C45440A202020202020626C696E6B696E675F6E6578745F7473202B3D20626C696E6B696E675F70686173653B0A202020202020626C696E6B696E675F7068617365203D20626C696E6B696E675F706572696F64202D20626C696E6B696E675F70686173653B0A202020207D0A20207D0A7D0A0A2F2F20616464732061206E6577206C6F67206D6573736167650A766F6964206C65644164644C6F672875696E74385F74206D7367290A7B0A20202F2F20636865636B206966206D6178206C6F6720697320726561636865640A2020696628206C6F675F707472203E3D204D41585F4C4F475320290A202020206C6F675F707472203D204D41585F4C4F4753202D20313B0A0A20202F2F206D6F7665206C6F6773206261636B2077697468206F6E6520616E642064656C65746520746865206F6C64657374206C6F670A2020666F7228696E74385F7420693D6C6F675F7074722D313B2069203E3D20303B20692D2D290A20207B0A202020206C6F675F74735B692B315D203D206C6F675F74735B695D3B0A202020206C6F675F6D73675B692B315D203D206C6F675F6D73675B695D3B0A20207D0A20200A20206C6F675F6D73675B305D203D206D73673B20202020202F2F206C6F67206D6573736167650A20206C6F675F74735B305D203D206D696C6C697328293B202F2F206C6F672074696D657374616D700A20206C6F675F7074722B2B3B2020202020202020202020202F2F2061206E6577206C6F67207761732061646465640A7D0A0A2F2F20637265617465206C6F67206D6573736167657320746F20737472696E670A537472696E67206C6564486973746F7279546F4C6F6728290A7B0A2020537472696E6720737472203D20225B223B0A0A2020666F722875696E74385F7420693D303B2069203C206C6F675F7074723B20692B2B290A20207B0A20202020696628206920213D203020290A202020202020737472202B3D20272C273B0A0A20202020737472202B3D20275C22273B0A20202020737472202B3D20286C6F675F74735B695D202F2031303030293B0A20202020737472202B3D2022733A20223B0A0A20202020737769746368286C6F675F6D73675B695D29202F2F206C6F67206D6573736167650A202020207B0A20202020202063617365204C4F475F445554595F32355F37353A0A2020202020202020737472202B3D20462822736574206475747920746F203235252D37352522293B0A2020202020202020627265616B3B0A20202020202063617365204C4F475F445554595F35305F35303A0A2020202020202020737472202B3D20462822736574206475747920746F203530252D35302522293B0A2020202020202020627265616B3B0A20202020202063617365204C4F475F445554595F37355F32353A0A2020202020202020737472202B3D20462822736574206475747920746F203735252D32352522293B0A2020202020202020627265616B3B0A20202020202063617365204C4F475F5345545F4C45445F4F4E3A0A2020202020202020737472202B3D20462822736574206C6564206F6E22293B0A2020202020202020627265616B3B0A20202020202063617365204C4F475F5345545F4C45445F424C494E4B494E473A0A2020202020202020737472202B3D20462822736574206C656420626C696E6B696E6722293B0A2020202020202020627265616B3B0A20202020202063617365204C4F475F5345545F4C45445F4F46463A0A2020202020202020737472202B3D20462822736574206C6564206F666622293B0A2020202020202020627265616B3B0A20202020202064656661756C743A0A2020202020202020737472202B3D20462822736574206672657175656E637920746F2022293B0A2020202020202020737472202B3D2028696E74296C6F675F6D73675B695D3B0A2020202020202020737472202B3D2046282220487A22293B0A2020202020202020627265616B3B0A202020207D0A20202020737472202B3D20275C22273B0A20207D0A2020737472202B3D20275D273B0A20200A202072657475726E207374723B0A7D0A0A2F2F2063616C6C656420617420627574746F6E207072657373696E670A766F6964206C6564427574746F6E5072657373436228636F6E73742063686172202A20627574746F6E290A7B0A2020537472696E672062746E203D20627574746F6E3B0A20206966282062746E203D3D2046282262746E5F6F6E222920290A20207B0A2020202069662820626C696E6B696E67207C7C206469676974616C52656164284C45445F50494E29203D3D2066616C736520290A2020202020206C65644164644C6F67284C4F475F5345545F4C45445F4F4E293B0A20202020626C696E6B696E67203D20303B0A202020206469676974616C5772697465284C45445F50494E2C2074727565293B0A20207D0A2020656C7365206966282062746E203D3D2046282262746E5F6F6666222920290A20207B0A2020202069662820626C696E6B696E67207C7C206469676974616C52656164284C45445F50494E29203D3D207472756520290A2020202020206C65644164644C6F67284C4F475F5345545F4C45445F4F4646293B0A20202020626C696E6B696E67203D20303B0A202020206469676974616C5772697465284C45445F50494E2C2066616C7365293B0A20207D0A2020656C7365206966282062746E203D3D2046282262746E5F626C696E6B222920290A20207B0A202020206966282021626C696E6B696E6720290A2020202020206C65644164644C6F67284C4F475F5345545F4C45445F424C494E4B494E47293B0A20202020626C696E6B696E67203D20313B0A20202020626C696E6B696E675F6E6578745F7473203D206D696C6C69732829202B20626C696E6B696E675F70686173653B0A20207D0A7D0A0A2F2F2073657474696E67207468652076616C7565206F662061206669656C640A2F2F0A2F2F2068616E646C652064617461206173206661737420617320706F737369626C650A2F2F202D20687567652048544D4C20666F726D732063616E2061727269766520696E206D756C7469706C65207061636B6574730A2F2F202D2069662074686973206D6574686F6420697320736C6F772C2055415254207265636569766520627566666572206D6179206F76657272756E0A766F6964206C65645365744669656C64436228636F6E73742063686172202A206669656C64290A7B0A2020537472696E6720666C64203D206669656C643B0A202069662820666C64203D3D204628226672657175656E6379222920290A20207B0A20202020696E74385F74206F6C6466203D20626C696E6B696E675F6672657175656E63793B0A20202020626C696E6B696E675F6672657175656E6379203D207765625365727665722E676574417267496E7428293B0A0A20202020626C696E6B696E675F706572696F64203D2032303030202F20626C696E6B696E675F6672657175656E63793B0A20202020626C696E6B696E675F7068617365203D20626C696E6B696E675F64757479202A20626C696E6B696E675F706572696F64202F20343B0A20200A20202020696628206F6C646620213D20626C696E6B696E675F6672657175656E637920290A202020207B0A2020202020206C65644164644C6F6728626C696E6B696E675F6672657175656E6379293B0A20202020202069662820626C696E6B696E6720290A20202020202020206469676974616C5772697465284C45445F50494E2C2066616C7365293B0A202020207D0A20207D0A2020656C73652069662820666C64203D3D2046282264757479222920290A20207B0A20202020696E74385F74206F6C6470203D20626C696E6B696E675F647574793B0A20202020537472696E6720617267203D207765625365727665722E676574417267537472696E6728293B0A0A2020202069662820617267203D3D2046282232355F3735222920290A202020202020626C696E6B696E675F64757479203D20313B0A20202020656C73652069662820617267203D3D2046282235305F3530222920290A202020202020626C696E6B696E675F64757479203D20323B0A20202020656C73652069662820617267203D3D2046282237355F3235222920290A202020202020626C696E6B696E675F64757479203D20333B0A0A2020202069662820626C696E6B696E6720290A2020202020206469676974616C5772697465284C45445F50494E2C2066616C7365293B0A0A20202020626C696E6B696E675F7068617365203D20626C696E6B696E675F64757479202A20626C696E6B696E675F706572696F64202F20343B0A0A20202020696628206F6C647020213D20626C696E6B696E675F6475747920290A2020202020206C65644164644C6F67284C4F475F445554595F32355F3735202D2031202B20626C696E6B696E675F64757479293B0A20207D0A7D0A0A2F2F2063616C6C656420617420706167652072656672657368696E670A766F6964206C656452656672657368436228636F6E73742063686172202A2075726C290A7B0A202069662820626C696E6B696E6720290A202020207765625365727665722E736574417267537472696E67284628227465787422292C204628224C454420697320626C696E6B696E672229293B0A2020656C73650A202020207765625365727665722E736574417267537472696E67284628227465787422292C206469676974616C52656164284C45445F50494E29203F204628224C4544206973207475726E6564206F6E2229203A204628224C4544206973207475726E6564206F66662229293B0A0A2020537472696E67206C6F67203D206C6564486973746F7279546F4C6F6728293B0A20207765625365727665722E7365744172674A736F6E284628226C65645F686973746F727922292C206C6F672E626567696E2829293B0A7D0A0A2F2F2063616C6C65642061742070616765206C6F6164696E670A766F6964206C65644C6F6164436228636F6E73742063686172202A2075726C290A7B0A20207765625365727665722E736574417267496E74284628226672657175656E637922292C20626C696E6B696E675F6672657175656E6379293B0A0A202073776974636828626C696E6B696E675F64757479290A20207B0A202020206361736520313A0A2020202020207765625365727665722E736574417267537472696E67284628226475747922292C2046282232355F37352229293B0A202020202020627265616B3B0A202020206361736520323A0A2020202020207765625365727665722E736574417267537472696E67284628226475747922292C2046282235305F35302229293B0A202020202020627265616B3B0A202020206361736520333A0A2020202020207765625365727665722E736574417267537472696E67284628226475747922292C2046282237355F32352229293B0A202020202020627265616B3B0A20207D0A20200A20206C6564526566726573684362282075726C20293B0A7D0A0A2F2F204C454420736574757020636F64650A766F6964206C6564496E697428290A7B0A20202F2F20736574206D6F646520746F206F757470757420616E64207475726E204C4544206F66660A202070696E4D6F6465284C45445F50494E2C204F5554505554293B0A20206469676974616C5772697465284C45445F50494E2C2066616C7365293B0A20200A202055524C48616E646C6572202A6C656448616E646C6572203D207765625365727665722E63726561746555524C48616E646C6572284628222F4C45442E68746D6C2E6A736F6E2229293B0A20206C656448616E646C65722D3E627574746F6E43622E617474616368286C6564427574746F6E50726573734362293B0A20206C656448616E646C65722D3E7365744669656C6443622E617474616368286C65645365744669656C644362293B0A20206C656448616E646C65722D3E6C6F616443622E617474616368286C65644C6F61644362293B0A20206C656448616E646C65722D3E7265667265736843622E617474616368286C6564526566726573684362293B0A7D0A0A .ino Pages 2369666E6465662050414745535F480A23646566696E652050414745535F480A0A766F6964206C65644C6F6F7028293B0A766F6964206C6564496E697428293B0A0A766F69642075736572496E697428293B0A0A766F696420766F6C746167654C6F6F7028293B0A766F696420766F6C74616765496E697428293B0A0A23656E646966202F2A2050414745535F48202A2F0A0A0A .h User 20203C212D2D204573704C696E6B2077696C6C20616464206865616465722068657265202D2D3E0A20200A20203C64697620636C6173733D22686561646572223E0A202020203C68313E557365722073657475703C2F68313E0A20203C2F6469763E0A0A20203C64697620636C6173733D22636F6E74656E74223E0A202020203C666F726D3E0A2020202020204669727374206E616D653A3C62722F3E3C696E707574206E616D653D2266697273745F6E616D652220747970653D2274657874222F3E0A2020202020204C617374206E616D653A3C62722F3E3C696E707574206E616D653D226C6173745F6E616D652220747970653D2274657874222F3E0A2020202020204167653A0A2020202020203C696E707574206E616D653D226167652220747970653D226E756D626572222F3E0A20202020202047656E6465723A0A2020202020203C73656C656374206E616D653D2267656E646572223E0A20202020202020203C6F7074696F6E2076616C75653D2266656D616C65223E46656D616C653C2F6F7074696F6E3E0A20202020202020203C6F7074696F6E2076616C75653D226D616C65223E4D616C653C2F6F7074696F6E3E0A2020202020203C2F73656C6563743E0A2020202020203C62723E0A2020202020204E6F74696669636174696F6E733C696E707574206E616D653D226E6F74696669636174696F6E732220747970653D22636865636B626F78222F3E0A2020202020203C62723E0A2020202020203C696E70757420747970653D227375626D6974223E0A202020203C2F666F726D3E0A20203C2F6469763E0A3C2F626F64793E3C2F68746D6C3E0A .html UserPage 23696E636C756465203C454550524F4D2E683E0A23696E636C756465203C454C436C69656E745765625365727665722E683E0A0A23646566696E65204D41474943203078414245460A23646566696E65204D41585F5354525F4C454E202033320A0A2F2F20454550524F4D20636F6E74656E74200A23646566696E6520454550524F4D5F504F535F4D4147494320202020202020202020300A23646566696E6520454550524F4D5F504F535F46495253545F4E414D45202020202028454550524F4D5F504F535F4D41474943202B2032290A23646566696E6520454550524F4D5F504F535F4C4153545F4E414D4520202020202028454550524F4D5F504F535F46495253545F4E414D45202B204D41585F5354525F4C454E290A23646566696E6520454550524F4D5F504F535F41474520202020202020202020202028454550524F4D5F504F535F4C4153545F4E414D45202B204D41585F5354525F4C454E290A23646566696E6520454550524F4D5F504F535F47454E44455220202020202020202028454550524F4D5F504F535F4147452B31290A23646566696E6520454550524F4D5F504F535F4E4F54494649434154494F4E53202028454550524F4D5F504F535F47454E4445522B31290A0A2F2F207772697465206120737472696E6720746F20454550524F4D0A766F6964207573657257726974655374722863686172202A207374722C20696E74206E6478290A7B0A2020666F722875696E74385F7420693D303B2069203C204D41585F5354525F4C454E2D313B20692B2B290A20207B0A20202020454550524F4D2E757064617465286E6478202B20692C207374725B695D293B0A20202020696628207374725B695D203D3D203020290A202020202020627265616B3B0A20207D0A2020454550524F4D2E757064617465286E6478202B204D41585F5354525F4C454E202D20312C2030293B0A7D0A0A0A2F2F2072656164206120737472696E672066726F6D20454550524F4D0A766F69642075736572526561645374722863686172202A207374722C20696E74206E6478290A7B0A2020666F722875696E74385F7420693D303B2069203C204D41585F5354525F4C454E3B20692B2B290A20207B0A202020207374725B695D203D20454550524F4D5B6E6478202B20695D3B0A20207D0A7D0A0A0A2F2F2073657474696E67207468652076616C7565206F662061206669656C640A2F2F0A2F2F2068616E646C652064617461206173206661737420617320706F737369626C650A2F2F202D20687567652048544D4C20666F726D732063616E2061727269766520696E206D756C7469706C65207061636B6574730A2F2F202D2069662074686973206D6574686F6420697320736C6F772C2055415254207265636569766520627566666572206D6179206F76657272756E0A766F696420757365725365744669656C64436228636F6E73742063686172202A206669656C64290A7B0A2020537472696E6720666C64203D206669656C643B0A202069662820666C64203D3D2046282266697273745F6E616D652229290A20202020757365725772697465537472287765625365727665722E676574417267537472696E6728292C20454550524F4D5F504F535F46495253545F4E414D45293B0A2020656C73652069662820666C64203D3D204628226C6173745F6E616D652229290A20202020757365725772697465537472287765625365727665722E676574417267537472696E6728292C20454550524F4D5F504F535F4C4153545F4E414D45293B0A2020656C73652069662820666C64203D3D204628226167652229290A20202020454550524F4D2E75706461746528454550524F4D5F504F535F4147452C202875696E74385F74297765625365727665722E676574417267496E742829293B0A2020656C73652069662820666C64203D3D2046282267656E6465722229290A20207B0A20202020537472696E672067656E646572203D207765625365727665722E676574417267537472696E6728293B0A20202020454550524F4D2E75706461746528454550524F4D5F504F535F47454E4445522C202867656E646572203D3D204628226D616C65222929203F20276D27203A20276627293B0A20207D0A2020656C73652069662820666C64203D3D204628226E6F74696669636174696F6E732229290A20202020454550524F4D2E75706461746528454550524F4D5F504F535F4E4F54494649434154494F4E532C207765625365727665722E676574417267426F6F6C65616E2829293B0A7D0A0A2F2F2063616C6C65642061742070616765206C6F6164696E670A766F696420757365724C6F6164436228636F6E73742063686172202A2075726C290A7B0A202063686172206275665B4D41585F5354525F4C454E5D3B0A2020757365725265616453747228206275662C20454550524F4D5F504F535F46495253545F4E414D4520293B0A20207765625365727665722E736574417267537472696E672846282266697273745F6E616D6522292C20627566293B0A2020757365725265616453747228206275662C20454550524F4D5F504F535F4C4153545F4E414D4520293B0A20207765625365727665722E736574417267537472696E67284628226C6173745F6E616D6522292C20627566293B0A20207765625365727665722E736574417267496E742846282261676522292C202875696E74385F7429454550524F4D5B454550524F4D5F504F535F4147455D293B0A20207765625365727665722E736574417267537472696E672846282267656E64657222292C2028454550524F4D5B454550524F4D5F504F535F47454E4445525D203D3D20276D2729203F204628226D616C652229203A2046282266656D616C652229293B0A20207765625365727665722E736574417267426F6F6C65616E284628226E6F74696669636174696F6E7322292C20454550524F4D5B454550524F4D5F504F535F4E4F54494649434154494F4E535D20213D2030293B0A7D0A0A2F2F20696E697469616C697A6174696F6E0A766F69642075736572496E697428290A7B0A202075696E7431365F74206D616769633B0A2020454550524F4D2E67657428454550524F4D5F504F535F4D414749432C206D61676963293B0A0A2020696628206D6167696320213D204D414749432029202F2F20454550524F4D20697320756E696E697469616C697A65643F0A20207B0A202020206D61676963203D204D414749433B0A202020202F2F207365742064656661756C742076616C7565730A20202020454550524F4D2E70757428454550524F4D5F504F535F4D414749432C206D61676963293B0A20202020454550524F4D2E75706461746528454550524F4D5F504F535F46495253545F4E414D452C2030293B0A20202020454550524F4D2E75706461746528454550524F4D5F504F535F4C4153545F4E414D452C2030293B0A20202020454550524F4D2E75706461746528454550524F4D5F504F535F4147452C2030293B0A20202020454550524F4D2E75706461746528454550524F4D5F504F535F47454E4445522C20276627293B0A20202020454550524F4D2E75706461746528454550524F4D5F504F535F4E4F54494649434154494F4E532C2030293B0A20207D0A0A202055524C48616E646C6572202A757365725061676548616E646C6572203D207765625365727665722E63726561746555524C48616E646C6572284628222F557365722E68746D6C2E6A736F6E2229293B0A2020757365725061676548616E646C65722D3E7365744669656C6443622E61747461636828757365725365744669656C644362293B0A2020757365725061676548616E646C65722D3E6C6F616443622E61747461636828757365724C6F61644362293B0A7D0A .ino Voltage 20203C212D2D204573704C696E6B2077696C6C20616464206865616465722068657265202D2D3E0A20200A20203C6D657461206E616D653D22726566726573682D726174652220636F6E74656E743D2235303022202F3E0A20200A20203C64697620636C6173733D22686561646572223E0A202020203C68313E566F6C74616765206D6561737572656D656E743C2F68313E0A20203C2F6469763E0A0A20203C64697620636C6173733D22636F6E74656E74223E0A202020203C702069643D22766F6C746167652220616C69676E3D2263656E74657222207374796C653D22666F6E742D73697A653A2038303025222F3E0A0A202020203C7461626C6520636C6173733D22707572652D7461626C6520707572652D7461626C652D626F7264657265642220616C69676E3D2263656E746572222069643D227461626C65222F3E0A20203C2F6469763E0A20200A3C2F626F64793E3C2F68746D6C3E0A .html VoltagePage 23696E636C756465203C454C436C69656E745765625365727665722E683E0A23696E636C756465203C6176722F696F2E683E0A0A23646566696E652053414D504C455F434F554E54203130300A23646566696E6520504552494F445F434F554E542028313335202A2053414D504C455F434F554E54290A0A75696E7431365F74206164635F6D696E203D203078464646463B2020202020202020202F2F206D696E2076616C7565206F66204144430A75696E7431365F74206164635F6D6178203D20303B20202020202020202020202020202F2F206D61782076616C7565206F66204144430A75696E7433325F74206164635F617667203D20303B20202020202020202020202020202F2F2041564720617665726167650A0A75696E7431365F742073616D706C655F636F756E743B202020202020202020202020202F2F20636F6C6C65637465642073616D706C650A75696E7433325F7420766F6C746167655F617667203D20303B202020202020202020202F2F20415647207573656420666F7220766F6C74616765206D6561737572656D656E740A75696E7431365F74206D656173757265645F766F6C74616765203D20303B20202020202F2F206D6561737572656420766F6C746167650A0A23646566696E65204D41585F484953544F5259203320202020202020202020202020202F2F206D617820686973746F727920636F756E740A0A75696E74385F742020686973746F72795F636E74203D20303B202020202020202020202F2F206E756D626572206F6620686973746F726965730A75696E7433325F7420686973746F72795F74735B4D41585F484953544F52595D3B20202F2F2074696D657374616D700A75696E7431365F7420686973746F72795F6D696E5B4D41585F484953544F52595D3B202F2F206D696E0A75696E7431365F7420686973746F72795F6D61785B4D41585F484953544F52595D3B202F2F206D61780A75696E7431365F7420686973746F72795F6176675B4D41585F484953544F52595D3B202F2F206176670A0A75696E7431365F742063616C696272617465203D2030783132383B202F2F2063616C6962726174652074686973206D616E75616C6C790A0A2F2F20766F6C74616765206D6561737572696E67206C6F6F700A766F696420766F6C746167654C6F6F7028290A7B0A202075696E7431365F7420616463203D20616E616C6F6752656164284130293B202F2F2072656164204144430A0A20202F2F20736574206D696E2F6D61782F6176670A202069662820616463203C206164635F6D696E20290A202020206164635F6D696E203D206164633B0A202069662820616463203E206164635F6D617820290A202020206164635F6D6178203D206164633B0A20206164635F617667202B3D206164633B0A20200A2020766F6C746167655F617667202B3D206164633B0A202073616D706C655F636F756E742B2B3B0A0A2020696628202873616D706C655F636F756E7420252053414D504C455F434F554E5429203D3D20302029202F2F206D61782073616D706C657320726561636865643F0A20207B0A202020202F2F2063616C63756C617465206D6561737572656420766F6C746167650A20202020766F6C746167655F617667202F3D2053414D504C455F434F554E543B0A202020206D656173757265645F766F6C74616765203D20766F6C746167655F617667202A2063616C696272617465202F203235363B0A20202020766F6C746167655F617667203D20303B0A20207D0A20206966282073616D706C655F636F756E74203D3D20504552494F445F434F554E5420290A20207B0A202020202F2F2063616C63756C617465206D696E2F6D61782F61766720616E642070757420696E746F20686973746F72790A202020200A20202020666F7228696E74385F7420693D4D41585F484953544F52592D323B2069203E3D303B20692D2D20290A202020207B0A202020202020686973746F72795F74735B692B315D203D20686973746F72795F74735B695D3B0A202020202020686973746F72795F6D696E5B692B315D203D20686973746F72795F6D696E5B695D3B0A202020202020686973746F72795F6D61785B692B315D203D20686973746F72795F6D61785B695D3B0A202020202020686973746F72795F6176675B692B315D203D20686973746F72795F6176675B695D3B0A202020207D0A0A20202020686973746F72795F74735B305D203D206D696C6C697328293B0A20202020686973746F72795F6D696E5B305D203D202875696E7433325F74296164635F6D696E202A2063616C696272617465202F203235363B0A20202020686973746F72795F6D61785B305D203D202875696E7433325F74296164635F6D6178202A2063616C696272617465202F203235363B0A20202020686973746F72795F6176675B305D203D20286164635F617667202F20504552494F445F434F554E5429202A2063616C696272617465202F203235363B0A0A202020206164635F6D696E203D203078464646463B0A202020206164635F6D6178203D20303B0A202020206164635F617667203D20303B0A0A2020202069662820686973746F72795F636E74203C204D41585F484953544F525920290A202020202020686973746F72795F636E742B2B3B0A2020202073616D706C655F636F756E74203D20303B0A20207D0A7D0A0A2F2F20737072696E7466202566206973206E6F7420737570706F72746564206F6E2041726475696E6F2E2E2E0A537472696E6720666C6F6174546F537472696E6728666C6F61742066290A7B0A2020696E7431365F7420696E7467203D2028696E7431365F74292866202A203130302E66293B0A2020696E7431365F7420696E745F70617274203D20696E7467202F203130303B0A2020696E7431365F742066726163745F70617274203D20696E74672025203130303B0A0A202063686172206275665B32305D3B0A2020737072696E7466286275662C202225642E25303264222C20696E745F706172742C2066726163745F70617274293B0A20200A202072657475726E20537472696E6728627566293B0A7D0A0A766F696420766F6C7461676552656672657368436228636F6E73742063686172202A2075726C290A7B0A20202F2F2063616C63756C61746520766F6C746167652076616C75650A2020537472696E672076203D20666C6F6174546F537472696E672828666C6F6174296D656173757265645F766F6C74616765202F203235362E66293B0A202076202B3D20222056223B0A20207765625365727665722E736574417267537472696E6728462822766F6C7461676522292C20762E626567696E2829293B0A0A202063686172206275665B32305D3B0A20202F2F2063616C63756C61746520686973746F7279207461626C650A2020537472696E67207461626C65203D204628225B5B5C2254696D655C222C5C224D696E5C222C5C224156475C222C5C224D61785C225D22293B0A0A2020666F722875696E74385F7420693D303B2069203C20686973746F72795F636E743B20692B2B20290A20207B0A20202020666C6F6174206D696E5F66203D2028666C6F617429686973746F72795F6D696E5B695D202F203235362E663B0A20202020666C6F6174206D61785F66203D2028666C6F617429686973746F72795F6D61785B695D202F203235362E663B0A20202020666C6F6174206176675F66203D2028666C6F617429686973746F72795F6176675B695D202F203235362E663B0A0A202020207461626C65202B3D204628222C5B5C2222293B0A202020207461626C65202B3D2028686973746F72795F74735B695D202F2031303030293B0A202020207461626C65202B3D2046282220735C222C5C2222293B0A202020207461626C65202B3D20666C6F6174546F537472696E67286D696E5F66293B0A202020207461626C65202B3D202220565C222C5C22223B0A202020207461626C65202B3D20666C6F6174546F537472696E67286176675F66293B0A202020207461626C65202B3D202220565C222C5C22223B0A202020207461626C65202B3D20666C6F6174546F537472696E67286D61785F66293B0A202020207461626C65202B3D202220565C225D223B0A20207D0A0A20207461626C65202B3D20275D273B0A20207765625365727665722E7365744172674A736F6E284628227461626C6522292C207461626C652E626567696E2829293B0A7D0A0A2F2F20706167652073657475700A766F696420766F6C74616765496E697428290A7B0A2020616E616C6F675265666572656E63652844454641554C54293B0A202073616D706C655F636F756E74203D20303B0A20200A202055524C48616E646C6572202A766F6C7461676548616E646C6572203D207765625365727665722E63726561746555524C48616E646C6572284628222F566F6C746167652E68746D6C2E6A736F6E2229293B0A0A2020766F6C7461676548616E646C65722D3E6C6F616443622E61747461636828766F6C74616765526566726573684362293B0A2020766F6C7461676548616E646C65722D3E7265667265736843622E61747461636828766F6C74616765526566726573684362293B0A7D0A .ino webserver_controls 2F2A2A0A202A205468697320697320612073616D706C6520666F7220747279696E67206F757420656163682048544D4C20636F6E74726F6C0A202A200A202A205465737420626F6172643A0A202A2020202045535038323636205258202020203C2D2D6C6576656C20736869667465722D2D3E2020202041726475696E6F2054580A202A2020202045535038323636205458202020203C2D2D6C6576656C20736869667465722D2D3E2020202041726475696E6F2052580A202A2020202045535038323636204750494F30203C2D2D6C6576656C20736869667465722D2D3E2020202041726475696E6F205245534554202020286F7074696F6E616C290A202A202020200A202A2020202041726475696E6F204C4544206973206F6E2050494E2031330A202A20202020436F6E6E65637420616E20314B207472696D6D657220746F2041726475696E6F2028766F6C74616765293A2020564343203C2D3E204130203C2D3E20474E440A202A200A202A200A202A20566964656F3A0A202A2020202068747470733A2F2F7777772E796F75747562652E636F6D2F77617463683F763D76424553434F30556859490A202A2F0A0A23696E636C756465203C454C436C69656E742E683E0A23696E636C756465203C454C436C69656E745765625365727665722E683E0A23696E636C756465202250616765732E68220A0A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F72740A2F2F0A2F2F204445425547206973206469736173626C65642061730A2F2F202D207061636B6574206C6F6767696E6720697320736C6F7720616E6420554152542072656365697665206275666665722063616E206F76657272756E202848544D4C20666F726D207375626D697373696F6E290A454C436C69656E7420657370282653657269616C2C202653657269616C293B0A0A2F2F20496E697469616C697A6520746865205765622D53657276657220636C69656E740A454C436C69656E74576562536572766572207765625365727665722826657370293B0A0A0A2F2F2043616C6C6261636B206D61646520666F726D206573702D6C696E6B20746F206E6F74696679207468617420697420686173206A75737420636F6D65206F7574206F6620612072657365742E2054686973206D65616E732077650A2F2F206E65656420746F20696E697469616C697A65206974210A766F6964207265736574436228766F696429207B0A202053657269616C2E7072696E746C6E2822454C2D436C69656E74202872652D297374617274696E672122293B0A2020626F6F6C206F6B203D2066616C73653B0A2020646F207B0A202020206F6B203D206573702E53796E6328293B2020202020202F2F2073796E632075702077697468206573702D6C696E6B2C20626C6F636B7320666F7220757020746F2032207365636F6E64730A2020202069662028216F6B292053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E63206661696C65642122293B0A20207D207768696C6528216F6B293B0A202053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E6365642122293B0A20200A20207765625365727665722E736574757028293B0A7D0A0A766F696420736574757028290A7B0A202053657269616C2E626567696E28313135323030293B0A20200A20206573702E72657365744362203D20726573657443623B0A20200A20206C6564496E697428293B0A202075736572496E697428293B0A2020766F6C74616765496E697428293B0A0A20207265736574436228293B0A7D0A0A766F6964206C6F6F7028290A7B0A20206573702E50726F6365737328293B0A0A20206C65644C6F6F7028293B0A2020766F6C746167654C6F6F7028293B0A7D0A0A .ino webserver_led Makefile 484F5354203F3D206573702D6C696E6B0A4C49425241525950415448203D20242841524455494E4F444952292F6C6962726172696573202E2E2F2E2E2F2E2E0A4C4942524152494553203D20454C436C69656E740A435050464C414753203D200A53455249414C444556203D206E65743A2428484F5354293A323332330A696E636C756465202E2E2F61726475696E6F2E6D6B0A0A666C6173683A20616C6C0A092E2E2F617672666C617368202428484F535429207765627365727665725F6C65642E6865780A096E63202428484F5354292032330A0A72756E3A2075706C6F61642073697A650A096E63202428484F5354292032330A SimpleLED 20203C212D2D204573704C696E6B2077696C6C20616464206865616465722068657265202D2D3E0A20200A20203C683120636C6173733D22686561646572223E53696D706C65204C454420636F6E74726F6C3C2F68313E0A20203C68323E3C6469762069643D2274657874222F3E3C2F68323E0A20203C627574746F6E2069643D2262746E5F6F6E2220747970653D22627574746F6E223E5475726E206F6E3C2F627574746F6E3E0A20203C627574746F6E2069643D2262746E5F6F66662220747970653D22627574746F6E223E5475726E206F66663C2F627574746F6E3E0A3C2F626F64793E3C2F68746D6C3E0A .html webserver_led 3A3130303030303030304339343844303030433934423530303043393442353030304339344235303043340D0A3A3130303031303030304339344235303030433934423530303043393442353030304339344235303038430D0A3A3130303032303030304339344235303030433934423530303043393442353030304339344235303037430D0A3A3130303033303030304339344235303030433934423530303043393442353030304339344235303036430D0A3A3130303034303030304339343638304430433934423530303043393431373033304339343439303341300D0A3A3130303035303030304339344235303030433934423530303043393442353030304339344235303034430D0A3A3130303036303030304339344235303030433934423530303246353336393644373036433635344330310D0A3A3130303037303030343534343245363837343644364332453641373336463645303036323734364545380D0A3A3130303038303030354636463636363630303632373436453546364636453030373436353738373439310D0A3A3130303039303030303034433435343432303639373332303646363636363030373436353738373436460D0A3A3130303041303030303034433435343432303639373332303646364530303030303030303038303037410D0A3A3130303042303030303230313030303030333034303730303030303030303030303030303030303132450D0A3A3130303043303030303230343038313032303430383030313032303430383130323030313032303445430D0A3A3130303044303030303831303230303430343034303430343034303430343032303230323032303242450D0A3A3130303045303030303230333033303330333033303330303030303030303233303032363030323938410D0A3A3130303046303030303030303030303030303235303032383030324230303438363136453634364341310D0A3A3130303130303030363537323230364536463734323036363646373536453634323036363646373230340D0A3A3130303131303030323035353532344333413030363330313739303331313234314642454346454645320D0A3A3130303132303030443845304445424643444246313145304130453042314530453245314631453235360D0A3A3130303133303030303243303035393030443932413233424231303744394637323345304132454244340D0A3A3130303134303030423145303031433031443932413633304232303745314637313045304344453841320D0A3A3130303135303030443045303034433032313937464530313045393431443045434233384431303743430D0A3A3130303136303030433946373045393443303034304339343837313030433934303030303146393345300D0A3A3130303137303030434639334446393343444237444542373243393730464236463839344445424645310D0A3A3130303138303030304642454344424642433031434530313037393630453934354630323635453839440D0A3A3130303139303030373045304345303130313936304539344344303242453031364635463746344644440D0A3A3130303141303030434530313037393630453934303630333138324643453031303139363045393445390D0A3A3130303142303030463130313131323331314630363145303135433036444537373045304345303138460D0A3A3130303143303030303139363045393443443032424530313646354637463446434530313037393636300D0A3A3130303144303030304539343036303331383246434530313031393630453934463130313131323346460D0A3A3130303145303030323146303630453038444530304539343938303143453031303739363045393430380D0A3A3130303146303030463130313243393630464236463839344445424630464245434442464446393139340D0A3A3130303230303030434639313146393130383935363645303731453038414535393245303045393432370D0A3A3130303231303030313730343430454435374530363045303730453038344543393145303045393434430D0A3A3130303232303030373030433831313130334330364645313731453045464346363645333731453030340D0A3A3130303233303030384145353932453030453934313730343832454239314530304339344535303642370D0A3A3130303234303030384445303045393443383031383932423239463034314541353045303643453935390D0A3A3130303235303030373045303034433034314539353045303643453837304530383245423931453041450D0A3A3130303236303030304339343844303843463933444639333236453034304530353245433631453045300D0A3A3130303237303030373045303841453539324530304539343935303536384536373045303832454230360D0A3A3130303238303030393145303045393443303036454330313630453237314530303639363045393444370D0A3A3130303239303030303030363630453237314530434530313043393630453934303030363637454235410D0A3A3130303241303030373045304345303134383936304539343030303638334530393145303930393342320D0A3A3130303242303030434430313830393343433031444639314346393130433934303330313834454341430D0A3A3130303243303030393145303043393430313042364145353732453038344543393145303045393445440D0A3A3130303244303030353430393634454337314530383245423931453030433934363830363833333038310D0A3A3130303245303030383146303238463438313330393946303832333041314630303839353837333042300D0A3A3130303246303030413946303838333042394630383433304431463438303931383030303846374445450D0A3A3130303330303030303343303830393138303030384637373830393338303030303839353834423532410D0A3A3130303331303030384637373032433038344235384637443834424430383935383039314230303033310D0A3A3130303332303030384637373033433038303931423030303846374438303933423030303038393544370D0A3A3130303333303030314639334346393344463933323832463330453046393031453535354646344634450D0A3A3130303334303030383439314639303145313534464634464434393146393031454435324646344632460D0A3A3130303335303030433439314343323343394630313632463831313130453934364630314543324639430D0A3A3130303336303030463045304545304646463146454635304646344641353931423439313846423735340D0A3A3130303337303030463839343131313130354330394339314544324645303935453932333032433037450D0A3A3130303338303030454339314544324245433933384642464446393143463931314639313038393545450D0A3A3130303339303030434639334446393332383246333045304639303145353535464634463834393138420D0A3A3130303341303030463930314531353446463446443439314639303145443532464634464334393138460D0A3A3130303342303030434332333931463038313131304539343646303145433246463045304545304634310D0A3A3130303343303030464631464539353146463446413539314234393145433931454432333831453031450D0A3A3130303344303030393045303231463438304530303243303830453039304530444639314346393144360D0A3A3130303345303030303839354643303138303831393138313043393442383045434639334446393332360D0A3A3130303346303030454330313838383139393831303039373131463030453934423830453139383235320D0A3A3130303430303030313838323144383231433832314238323141383244463931434639313038393536460D0A3A3130303431303030304639333146393343463933444639334543303138423031364635463746344639460D0A3A3130303432303030383838313939383130453934353030463030393733314630393938333838383343390D0A3A3130303433303030314238333041383338314530303143303830453044463931434639313146393138460D0A3A3130303434303030304639313038393543463933444639334543303138383831393938313839324244370D0A3A3130303435303030323946303841383139423831383631373937303736304634434530313045393435430D0A3A3130303436303030303830323838323334314630384338313944383138393242313946344538383135310D0A3A3130303437303030463938313130383238314530444639314346393130383935454639324646393239300D0A3A3130303438303030304639333146393343463933444639334543303137423031384130314241303139350D0A3A3130303439303030304539343232303238313131303443304345303130453934463630313037433031310D0A3A3130303441303030314438333043383342373031383838313939383130453934343931304345303137380D0A3A3130303442303030444639314346393131463931304639314646393045463930303839354643303137340D0A3A3130303443303030313138323130383231333832313238323135383231343832363131353731303543350D0A3A3130303444303030353146304642303130313930303032304539463733313937414630313436314237350D0A3A3130303445303030353730423043393433453032303839354546393246463932304639333146393343370D0A3A3130303446303030434639334446393345433031374230313841303142413031304539343232303242330D0A3A3130303530303030383131313034433043453031304539344636303130374330314438333043383333370D0A3A3130303531303030423730313838383139393831304539343141313043453031444639314346393139350D0A3A3130303532303030314639313046393146463930454639303038393543463933444639334543303130460D0A3A3130303533303030464230313836313739373037363146303630383137313831363131353731303537340D0A3A3130303534303030323946303434383135353831304539343345303230324330304539344636303142410D0A3A3130303535303030434530314446393143463931303839353046393331463933434639334446393333370D0A3A3130303536303030303044304344423744454237384330313631313537313035363146304342303130430D0A3A3130303537303030363938333741383330453934323131304143303136393831374138314338303136340D0A3A3130303538303030304539343734303230324330304539344636303143383031304639303046393046310D0A3A3130303539303030444639314346393131463931304639313038393546433031313138323130383237430D0A3A3130303541303030313338323132383231353832313438323043393441433032434639334446393344330D0A3A3130303542303030444330314544393146433931454230314138383142393831333039373131463033430D0A3A3130303543303030313039374339463431303937353946304542303132433831334438313233324233320D0A3A3130303544303030333146303843393139304530393139353831393539313039313443303330393746430D0A3A3130303545303030383146304443303131343936384439313943393131353937383932423439463032460D0A3A3130303546303030383038313930453030384330424430314346303144463931434639313043393443340D0A3A3130303630303030343031303830453039304530444639314346393130383935464330313434383139420D0A3A3130303631303030353538314642303132343831333538313432313735333037323946343045393433420D0A3A3130303632303030443630323231453038393242303946303230453038323246303839353146393234350D0A3A3130303633303030304639323046423630463932313132343246393338463933394639334546393345360D0A3A3130303634303030464639334530393136413032463039313642303238303831453039313730303236390D0A3A3130303635303030463039313731303238324644313243303930383138303931373330323846354644300D0A3A3130303636303030384637333230393137343032383231373531463045303931373330324630453044310D0A3A3130303637303030453635414644344639353846383039333733303230314330383038314646393146300D0A3A3130303638303030454639313946393138463931324639313046393030464245304639303146393032300D0A3A3130303639303030313839353146393230463932304642363046393231313234324639333346393332430D0A3A3130303641303030344639333546393336463933374639333846393339463933414639334246393337410D0A3A3130303642303030454639334646393338414535393245303045393430423035464639314546393138330D0A3A3130303643303030424639314146393139463931384639313746393136463931354639313446393136410D0A3A3130303644303030334639313246393130463930304642453046393031463930313839353841453542340D0A3A3130303645303030393245303045393443463034323145303839324230394634323045303832324643300D0A3A3130303646303030303839354541453546324530313338323132383238384545393345304130453032410D0A3A3130303730303030423045303834383339353833413638334237383338444535393145303931383345300D0A3A3130303731303030383038333835454339304530393538373834383738344543393045303937383744300D0A3A3130303732303030383638373830454339304530393138423830384238314543393045303933384242450D0A3A3130303733303030383238423832454339304530393538423834384238364543393045303937384239420D0A3A3130303734303030383638423131384531323845313338453134384530383935434639324446393241370D0A3A3130303735303030454639324646393230463933314639334346393344463933364330313741303137370D0A3A3130303736303030384230314330453044304530434531354446303538394630443830313644393139360D0A3A3130303737303030384430314436303145443931464339313031393046303831453032444336303133330D0A3A3130303738303030303939353839324231314634374530313032433032313936454343464337303139370D0A3A3130303739303030444639314346393131463931304639314646393045463930444639304346393035440D0A3A3130303741303030303839353631313537313035373946304642303130313930303032304539463743410D0A3A3130303742303030333139374146303134363142353730424443303145443931464339313032383039340D0A3A3130303743303030463338314530324430393934383045303930453030383935454639324646393238430D0A3A3130303744303030304639333146393343463933444639333843303137423031433045304430453039380D0A3A3130303745303030463730314543304646443146363439313636323336314630443830314544393144340D0A3A3130303746303030464339313031393046303831453032444338303130393935383932423131463034310D0A3A3130303830303030323139364545434643453031444639314346393131463931304639314646393046360D0A3A3130303831303030454639303038393530433934443130334443303145443931464339313031393043460D0A3A3130303832303030463038314530324430393934363845343731453030433934443130333046393346410D0A3A3130303833303030314639334346393344463933454330313045393444313033384330314345303137330D0A3A3130303834303030304539343133303438303046393131464446393143463931314639313046393139300D0A3A3130303835303030303839353846393239463932414639324246393243463932444639324546393243340D0A3A3130303836303030464639323046393331463933434639334446393343444237444542374131393737450D0A3A3130303837303030304642364638393444454246304642454344424637433031443432454335324542460D0A3A3130303838303030444230313139413232323330303846343241453038453031304635443146344631300D0A3A3130303839303030383232453931324341313243423132433644324437433244434430314135303138410D0A3A3130303841303030393430313045393446423044443232454333324544413031303135303131303944320D0A3A3130303842303030364133303731303538313035393130353130463436303544303143303639354343350D0A3A3130303843303030463830313630383332333242323432423235324233314637423830314337303142360D0A3A3130303844303030304539344431303341313936304642364638393444454246304642454344424632340D0A3A3130303845303030444639314346393131463931304639314646393045463930444639304346393030430D0A3A3130303846303030424639304146393039463930384639303038393532313135333130353431463444450D0A3A3130303930303030444330314544393146433931303139304630383145303244363432463039393443300D0A3A3130303931303030304339343239303439413031343632463530453036304530373045303043393439410D0A3A3130303932303030374430343941303141423031363045303730453030433934374430343046393341430D0A3A3130303933303030314639334346393344463933454330313941303141423031363045303730453036440D0A3A3130303934303030304539343744303438433031434530313045393431333034383030463931314633300D0A3A3130303935303030444639314346393131463931304639313038393530463933314639334346393332340D0A3A3130303936303030444639334543303130453934374430343843303143453031304539343133303446300D0A3A3130303937303030383030463931314644463931434639313146393130463931303839353038393544450D0A3A3130303938303030304539344245304430453934424630343045393433323031434445464434453035300D0A3A3130303939303030304539343546303132303937453146333045393446443034463943464643303136320D0A3A3130303941303030393138443232384438393246393045303830354339463446383231423931303935310D0A3A3130303942303030384637333939323730383935464330313931384438323844393831373331463044450D0A3A3130303943303030383238444538304646313144383538443930453030383935384645463946454645380D0A3A3130303944303030303839354643303139313844383238443938313736314630383238444446303136310D0A3A3130303945303030413830464231314435443936384339313932384439463546394637333932384632320D0A3A3130303946303030393045303038393538464546394645463038393538464536393345303839324241350D0A3A3130304130303030343946303830453039304530383932423239463030453934364630333831313136410D0A3A3130304131303030304339343030303030383935464330313834384444463031413830464231314432360D0A3A3130304132303030413335414246344632433931383438443930453030313936384637333939323732340D0A3A3130304133303030383438464136383942373839324339334130383942313839384339313830363431310D0A3A3130304134303030384339333933384438343844393831333036433030323838463338394530324444320D0A3A3130304135303030383038313846374438303833303839354346393344463933454330313838384431330D0A3A3130304136303030383832334339463045413839464238393830383138354644303543304138383942320D0A3A3130304137303030423938393843393138364644304643303046423630374643463543463830383133380D0A3A3130304138303030383546464632434641383839423938393843393138354646454443464345303138320D0A3A3130304139303030304539343042303545374346444639314346393130383935454639324646393236460D0A3A3130304141303030304639333146393343463933444639334543303138314530383838463942384439310D0A3A3130304142303030384338443938313330354330453838394639383938303831383546443234433035330D0A3A3130304143303030463632453042384431304530304635463146344630463733313132374530324544360D0A3A3130304144303030384338444538313230434330304642363037464346414346453838394639383942330D0A3A3130304145303030383038313835464646354346434530313045393430423035463143463842384436340D0A3A3130304146303030464530314538304646313144453335414646344646303832304238464541383945380D0A3A3130304230303030464238393830383138303632303743304545383946463839363038334538383936340D0A3A3130304231303030463938393830383138303634383038333831453039304530444639314346393143410D0A3A3130304232303030314639313046393146463930454639303038393543463932444639324546393237370D0A3A3130304233303030464639323146393343463933444639334543303136413031374230313132324638390D0A3A3130304234303030453838394639383938324530383038333431313535313445363130353731303537430D0A3A3130304235303030423146303630453037394530384445333930453041373031393630313045393439410D0A3A3130304236303030464230444441303143393031303139374131303942313039423639354137393535350D0A3A3130304237303030393739353837393541433031343131353830453135383037413846304538383936310D0A3A3130304238303030463938393130383236304538373445383845453139304530413730313936303138460D0A3A3130304239303030304539344642304442413031413930313431353035313039363130393731303937370D0A3A3130304241303030373639353637393535373935343739354543383546443835353038334545383533440D0A3A3130304242303030464638353430383331383845454338394644383931303833454138394642383943330D0A3A3130304243303030383038313830363138303833454138394642383938303831383836303830383335440D0A3A3130304244303030454138394642383938303831383036383830383345413839464238393830383133410D0A3A3130304245303030384637443830383344463931434639313146393146463930454639304446393046390D0A3A3130304246303030434639303038393546433031313138323130383231333832313238323038393531310D0A3A3130304330303030464330313733383336323833303839354443303131323936454439314643393144460D0A3A3130304331303030313339373330393746314630324439313343393131313937323131353331303545330D0A3A3130304332303030423146303134393634443931354339313135393743413031393539353837393546310D0A3A3130304333303030343046463041433044393031413830464239314634443931354339314534304638340D0A3A3130304334303030463531463031393046303831453032443832304639333146303939344342303144350D0A3A3130304335303030303939343038393546433031313138323130383231333832313238323038393537320D0A3A3130304336303030464330313733383336323833303839354443303131323936454439314643393137460D0A3A3130304337303030313339373330393746314630324439313343393131313937323131353331303538330D0A3A3130304338303030423146303134393634443931354339313135393743413031393539353837393539310D0A3A3130304339303030343046463041433044393031413830464239314634443931354339314534304632340D0A3A3130304341303030463531463031393046303831453032443832304639333146303939344342303137350D0A3A3130304342303030303939343038393546433031383038313931383138393242333946343831453041380D0A3A3130304343303030323238313333383132333242313946343830453030383935383145303038393537370D0A3A3130304344303030304639333146393343463933444639334543303137393833363838333139383637390D0A3A3130304345303030313838363142383631413836384330313034354631463446433830313045393435430D0A3A3130304346303030324130364430393346383032433039334637303236364538373845304338303141430D0A3A3130304430303030444639314346393131463931304639313043393433303036454639324646393244420D0A3A3130304431303030304639333146393343463933444639333843303137423031383045323930453044300D0A3A3130304432303030304539344639304445433031383045324645303131313932384139354539463732420D0A3A3130304433303030364145343731453043453031304539343546303243453031303639363045393433350D0A3A3130304434303030464130354345303130433936304539344641303543453031343239363045393434390D0A3A3130304435303030464130354345303134383936304539344641303542373031434530313045393431440D0A3A3130304436303030393530324638303138303835393138353946384638453846443138374330383745450D0A3A3130304437303030434530314446393143463931314639313046393146463930454639303038393544390D0A3A3130304438303030304639333146393343463933444639333030443030304430303044304344423734370D0A3A3130304439303030444542373843303143453031303139363045393443443032424530313646354643440D0A3A3130304441303030374634464338303130453934383630363843303143453031303139363045393445390D0A3A3130304442303030463130314338303132363936304642364638393444454246304642454344424637350D0A3A3130304443303030444639314346393131463931304639313038393545463932464639323046393342320D0A3A3130304444303030314639334346393344463933303044303030443043444237444542373743303135370D0A3A3130304445303030303145303130453032304530333045304139303136454531373045304643303144430D0A3A3130304446303030383038313931383130453934393030424337303130433936303932453030304346360D0A3A3130304530303030414130424242304238393833394138334142383342433833343445303530453037440D0A3A3130304531303030424530313646354637463446463730313830383139313831304539343044304342310D0A3A3130304532303030463730313830383139313831304539343345303930463930304639303046393046310D0A3A3130304533303030304639304446393143463931314639313046393146463930454639303038393534380D0A3A3130304534303030324639323346393234463932354639323646393237463932384639323946393244410D0A3A3130304535303030414639324246393243463932444639324546393246463932304639333146393343380D0A3A3130304536303030434639334446393343444237444542373238393730464236463839344445424645380D0A3A3130304537303030304642454344424637433031384230313244423733454237333838373246383343360D0A3A3130304538303030343245303530453042453031364235463746344643383031304539343233304431450D0A3A3130304539303030344438303545383034373031333245303833304539313143343445303530453042420D0A3A3130304541303030423430314338303130453934323330443337303138364530363830453731314335310D0A3A3130304542303030343245303530453042333031433830313045393432333044424530313644354630360D0A3A3130304543303030374634464338303130453934463430433543303144373031313839364344393041390D0A3A3130304544303030444339303139393732423830334338304331313444313034333146314636303143430D0A3A3130304545303030383438313935383138413135394230353431463436303831373138314135303146410D0A3A3130304546303030433130313045393432413130383932423331463044363031354539364344393035370D0A3A3130304630303030444339303546393745394346433230313939323738323330393130353939463137320D0A3A3130304631303030304346344136433030333937303946304439433038344530383832453931324336380D0A3A3130304632303030313630313232453132323045333131433531433044373031454439314643393133360D0A3A3130304633303030383438353838323330394634434143303642454637304530383038313931383142390D0A3A3130304634303030304539344536303330304530313045304637303141303831423138313041313544430D0A3A3130304635303030314230353631463045423831464338314530304646313146363038313844393133390D0A3A3130304636303030394339313045393430433034304635463146344645454346384439313943393142450D0A3A3130304637303030304539343133303441424330324442363345423642453031364635463746344631420D0A3A3130304638303030433830313045393446343043384330313031393632444237334542373238314242360D0A3A3130304639303030333930423046423646383934334542463046424532444246384442373945423736440D0A3A3130304641303030303139363543303136393831374138314138303130453934333731304635303145300D0A3A3130304642303030453030464631314631303832423530314336303134383936304539343034303639390D0A3A3130304643303030304642364638393433454245304642453244424534414330443830313134393638460D0A3A3130304644303030454439314643393131353937383238313933383138383136393930363038463030450D0A3A3130304645303030373543304245303136463546374634464338303130453934463430433439383033440D0A3A3130304646303030354138303332303141464546364131413741304146333031303139303030323039390D0A3A3130313030303030453946373331393736463031433631384437303835433031414331384244303832350D0A3A3130313031303030433530313031393730453934323330454637303139333837383238374135303144450D0A3A3130313032303030343235303531303946433031453430464635314631303832463245304346304538460D0A3A3130313033303030443131434232303136433044374431443045393433373130423330314331303139450D0A3A3130313034303030304539343034303644373031314139363844393139433931314239373045393443440D0A3A3130313035303030423830454637303131333836313238364646454638463141394630414236434644430D0A3A3130313036303030304645463130453032344536333045303430453035304530364645313730453038380D0A3A3130313037303030463730313830383139313831304539343930304234344530353045304234303131460D0A3A3130313038303030443730313844393139433931304539343044304334324530353045304233303137430D0A3A3130313039303030463730313830383139313831304539343044304344363031364439313743393141380D0A3A3130313041303030433630313431313030324330303639363031433030433936304539343034303642420D0A3A3130313042303030343045303530453036304530373045304637303138303831393138313045393441330D0A3A3130313043303030304430434437303138443931394339313045393433453039454638314638383530450D0A3A3130313044303030304642364638393446454246304642454544424632383936304642364638393437410D0A3A3130313045303030444542463046424543444246444639314346393131463931304639314646393035420D0A3A3130313046303030454639304446393043463930424639304146393039463930384639303746393042380D0A3A3130313130303030364639303546393034463930334639303246393030383935424330313830393131390D0A3A3130313131303030463730323930393146383032304339343230303736463932374639323846393243310D0A3A3130313132303030394639324146393242463932434639324446393245463932464639323046393337360D0A3A3130313133303030314639334346393344463933303044304344423744454237344330313641303138380D0A3A3130313134303030414442364245423643423031363938333741383330453934323131303843303142330D0A3A3130313135303030433630313045393432313130313132373938303132383046333131444339303144350D0A3A3130313136303030333930313332453036333045373131433033393645444237464542374538314234300D0A3A3130313137303030463930423046423646383934464542463046424545444246324442373345423730420D0A3A3130313138303030324635463346344637393031313138323639383137413831433930313031393646300D0A3A3130313139303030304539343141313043383031303239364236303138453044394631443045393437320D0A3A3130313141303030314131304133303142373031463430313830383139313831304539343044304346360D0A3A3130313142303030304642364638393442454245304642454144424530463930304639304446393137430D0A3A3130313143303030434639313146393130463931464639304546393044463930434639304246393034340D0A3A3130313144303030414639303946393038463930374639303646393030383935434639334446393330330D0A3A3130313145303030454330313841383539423835363033434131463036423344323146354443303131420D0A3A3130313146303030454439314643393130313930463038314530324436424544303939353841383544300D0A3A3130313230303030394238354443303145443931464339313031393046303831453032443644454436440D0A3A3130313231303030313843304443303145443931464339313031393046303831453032443642454441370D0A3A3130313232303030303939353841383539423835444330314544393146433931303139304630383130370D0A3A3130313233303030453032443643454430364330444330314544393146433931303139304630383139380D0A3A3130313234303030453032444446393143463931303939344546393246463932304639333146393342450D0A3A3130313235303030434639334446393337433031454230313842303130343046313531464330313741370D0A3A3130313236303030443130373239463036393931433730313045393445453038463843464446393146430D0A3A3130313237303030434639313146393130463931464639304546393030383935434639334446393333460D0A3A3130313238303030454330314243303136333546374634463432453035304530304539343234303930330D0A3A3130313239303030384138353942383544433031454439314643393130313930463038314530324432380D0A3A3130313241303030363045434446393143463931303939343046393331463933434639334446393335440D0A3A3130313242303030454330313842303130323936304539343241303631423837304138373143383637360D0A3A3130313243303030434530313436393639383842384638373830453839304530394138423839384232390D0A3A3130313244303030314338413142384131443841444639314346393131463931304639313038393535460D0A3A3130313245303030464330313234383532323233323146303830383139313831304339343137303433340D0A3A3130313246303030303839353436323733343246323532464139303134343237383445303434304636310D0A3A3130313330303030353531463841393545314637343232373533323743413031383932463939323734430D0A3A3130313331303030383239353846373034383237353932374341303138383237333545303936393530450D0A3A3130313332303030383739353341393545314637383432373935323730383935454639324646393245340D0A3A3130313333303030304639333146393343463933444639333743303143393031454230313842303143360D0A3A3130313334303030303430463135314643303137443130373331463036393931414330314337303131370D0A3A3130313335303030304539343739303946374346444639314346393131463931304639314646393046340D0A3A3130313336303030454639303038393541463932424639324346393244463932454639324646393245420D0A3A3130313337303030304639333146393343463933444639333030443030304430303044304344423735310D0A3A3130313338303030444542373843303144433031314639364544393046433930353039373143393630370D0A3A3130313339303030384339313143393738383233303946343744433036394536373145303844393144410D0A3A3130313341303030394339313045393430413034463830313633383937343839344145303530453032340D0A3A3130313342303030383038313931383130453934393130343633453737314530443830313844393135310D0A3A3130313343303030394339313045393430413034463830313437383535303839303532453030304336330D0A3A3130313344303030363630423737304232304531333045303830383139313831304539343744303444330D0A3A3130313345303030363745393731453044383031384439313943393130453934304130344637303139300D0A3A3130313346303030363038313731383134304531353045304438303138443931394339313045393430330D0A3A3130313430303030393130343638453937314530463830313830383139313831304539343041303445390D0A3A3130313431303030443730313134393634443931354439313644393137433931313739373230453143340D0A3A3130313432303030333045304638303138303831393138313045393437443034363845393731453044420D0A3A3130313433303030443830313844393139433931304539343041303446373031363238313733383130390D0A3A3130313434303030343045313530453044383031384439313943393130453934393130343838453038380D0A3A3130313435303030433832454431324346383031323338393334383938303831393138314332313634430D0A3A3130313436303030443330364230463436384539373145303045393430413034443830313146393631460D0A3A3130313437303030454439314643393135303937454330444644314434304531353045303630383133350D0A3A3130313438303030384439313943393130453934384130344246454643423141444230414532434642380D0A3A3130313439303030304539343133303444383031353339364344393044433930353439374232453038420D0A3A3130313441303030434231414431303846383031413738344230383832304530333045304136303136420D0A3A3130313442303030423530314338303130453934393630394635303145433044464431443230383143320D0A3A3130313443303030333138313832313739333037333146303636453737314530433830313045393430440D0A3A3130313444303030373030393832433044373031384439313943393138323330393130353339463042440D0A3A3130313445303030383333303931303546314630303139373039463036434330354243304638303130310D0A3A3130313446303030383438353838323330394634373343303637453837314530383038313931383135350D0A3A3130313530303030304539343041303444373031313439363444393135443931364439313743393144320D0A3A3130313531303030313739373241453033304530463830313830383139313831304539344144303441340D0A3A3130313532303030354543304438303131433936384339313143393738383233323946313630453933340D0A3A3130313533303030373145303844393139433931304539343041303446373031343438313535383143430D0A3A3130313534303030363638313737383132414530333045304438303138443931394339313045393444430D0A3A3130313535303030374430343638453937314530463830313830383139313831304539343041303441430D0A3A3130313536303030443730313132393636443931374339313133393734414530353045304638303146330D0A3A3130313537303030383038313931383130453934393730344437303131343936304439313143393134450D0A3A3130313538303030313539374338303130453934354130363838323333314631423730314345303139300D0A3A3130313539303030303139363045393445413043424530313646354637463446433830313045393435360D0A3A3130313541303030333430363141433036414539373145304638303138303831393138313045393444350D0A3A3130313542303030313730344438303131383936454439314643393131393937333039373631463042360D0A3A3130313543303030303939353041433046383031383438353838323333314630363545413731453034350D0A3A3130313544303030383038313931383130453934313730343830453039304530303143304337303145320D0A3A3130313545303030323639363046423646383934444542463046424543444246444639314346393132380D0A3A3130313546303030314639313046393146463930454639304446393043463930424639304146393033310D0A3A3130313630303030303839353146393343463933444639334543303131314530384138353942383541410D0A3A3130313631303030444330314544393146433931303438304635383145303244303939353839324238390D0A3A3130313632303030303946343433433038413835394238354443303145443931464339313036383031440D0A3A3130313633303030463738314530324430393935384233443931303531314634314438424536434643370D0A3A3130313634303030324238393343383938303343393130353739463432383330333130353230463043340D0A3A3130313635303030434530313045393442323039303243303830453039304530314338413142384138310D0A3A3130313636303030314438413030393739394632323343303444383934343233363146303843334437370D0A3A3130313637303030393130353331463038443344393130353239463438424544393045303032433038430D0A3A3130313638303030383045433930453031443841343938393541383932343137333530373038463042330D0A3A3130313639303030424443463446383535383839423930313646354637463446374338423642384242360D0A3A3130313641303030464130314532304646333146383038334231434638304530393045304446393137390D0A3A3130313642303030434639313146393130383935384639323946393241463932424639324346393233380D0A3A3130313643303030444639324546393246463932304639333146393343463933444639334543303138320D0A3A3130313644303030364130313742303130453934423230443442303135433031304539344232304442380D0A3A3130313645303030384230313943303130383139313930393241303933423039304331353144303544340D0A3A3130313646303030324530353346303533304634434530313045393430313042303039373731463344370D0A3A3130313730303030303243303830453039304530444639314346393131463931304639314646393039380D0A3A3130313731303030454639304446393043463930424639304146393039463930384639303038393530330D0A3A3130313732303030454639324646393230463933314639334346393344463933434442374445423736360D0A3A3130313733303030323839373046423646383934444542463046424543444246374330313741383332390D0A3A3130313734303030363938333242383333433833344438333545383331383837304638334443303138310D0A3A3130313735303030314539363143393231453932314439373141393638443931394339313142393731360D0A3A3130313736303030444330314544393146433931303139304630383145303244363045433039393539380D0A3A3130313737303030343245303530453042453031364635463746344643373031304539343234303932350D0A3A3130313738303030463730313235383533363835343245303530453042453031364635463746344634460D0A3A3130313739303030433730313045393439363039443730313145393639433933384539333144393742300D0A3A3130313741303030343245303530453042453031363935463746344643373031304539343234303946420D0A3A3130313742303030463730313235383533363835343245303530453042453031363935463746344632350D0A3A3130313743303030433730313045393439363039443730313145393639433933384539333144393738300D0A3A3130313744303030343445303530453042453031364435463746344643373031304539343234303943350D0A3A3130313745303030463730313235383533363835343445303530453042453031364435463746344645460D0A3A3130313746303030433730313045393439363039443730313145393639433933384539333144393735300D0A3A3130313830303030323839363046423646383934444542463046424543444246444639314346393130330D0A3A3130313831303030314639313046393146463930454639303038393543463932444639324546393237410D0A3A3130313832303030464639323046393331463933434639334446393330304430434442374445423731360D0A3A3130313833303030384330313742303135413833343938333432453035304530424530313646354631370D0A3A3130313834303030374634463045393432343039463830313235383533363835343245303530453034420D0A3A3130313835303030424530313646354637463446433830313045393439363039463830313936383730440D0A3A3130313836303030383538374339383044413830434530434446314345433134464430343931463037320D0A3A3130313837303030463730313630383143383031304539344545303846383031343538353536383539300D0A3A3130313838303030463730313631393137463031433830313045393437393039463830313936383745420D0A3A3130313839303030383538374542434645393830464138304631393445313934463130384633453044390D0A3A3130313841303030454632324646323446314530454631414631303837384630363045304338303143300D0A3A3130313842303030304539344545303846383031343538353536383536304530433830313045393434370D0A3A3130313843303030373930394638303139363837383538374544434630463930304639304446393130410D0A3A3130313844303030434639313146393130463931464639304546393044463930434639303038393544460D0A3A3130313845303030344639323546393236463932374639324146393242463932434639324446393242300D0A3A3130313846303030454639324646393230463933314639334346393344463933454330313241303139360D0A3A3130313930303030334230313841383539423835444330314544393146433931303139304630383138320D0A3A3130313931303030453032443630454330393935364530314232453043423045443131433044324344300D0A3A3130313932303030303030434545303846463038303045303130453041373031393630313631453035450D0A3A3130313933303030373045304345303130453934393030424345303130453934334530394138383436370D0A3A3130313934303030423938343139383631383836423330314132303143453031304539343542304245460D0A3A3130313935303030384330313839324236394631463830313434383135353831363638313737383137390D0A3A3130313936303030384338353443313535443035364530353746303536314634383832333331463038420D0A3A3130313937303030364645393731453038383831393938313045393431373034423938364138383637310D0A3A3130313938303030383145303139433038383233463946323642454137314530383838313939383142450D0A3A3130313939303030304539343041303444383031313439363444393135443931364439313743393133440D0A3A3130313941303030313739373241453033304530383838313939383130453934414430344342434635460D0A3A3130313942303030423938364138383638304530444639314346393131463931304639314646393041420D0A3A3130313943303030454639304446393043463930424639304146393037463930364639303546393033460D0A3A3130313944303030344639303038393546433031373538333634383336383546374634463733383332340D0A3A3130313945303030363238333131383231303832303839354346393344463933464330313830383137450D0A3A3130313946303030393138314134383142353831313239363244393133433931313339373832313730340D0A3A3130314130303030393330374530463441323831423338313444393135443931423338334132383345410D0A3A3130314131303030303139363931383338303833454230314239383341383833324545463346454637410D0A3A3130314132303030323431423335304232333730333332373234304633353146383238313933383141430D0A3A3130314133303030323830463339314633333833323238334341303130324330384645463946454632330D0A3A3130314134303030444639314346393130383935454639324646393230463933314639334346393336310D0A3A3130314135303030444639334543303138383831393938314543383146443831323238313333383143320D0A3A3130314136303030383231373933303736304635454138314642383130313931313139313245454642360D0A3A3130314137303030334645463230314233313042373930314133453045413232464632344642383331370D0A3A3130314138303030454138333031393639393833383838334342303139413031303431373135303738440D0A3A3130314139303030303846343938303132363046333731463832313739333037323946303431393130380D0A3A3130314141303030444330313444393343443031463843463937303132303046333131463841383143320D0A3A3130314142303030394238313238304633393146334238333241383343383031303243303846454630370D0A3A3130314143303030394645464446393143463931314639313046393146463930454639303038393542440D0A3A3130314144303030314639323046393230464236304639323131323432463933334639333846393336330D0A3A3130314145303030394639334146393342463933383039314641303239303931464230324130393144340D0A3A3130314146303030464330324230393146443032333039314639303232334530323330463244333735330D0A3A3130314230303030323046343031393641313144423131443035433032364538323330463032393630310D0A3A3130314231303030413131444231314432303933463930323830393346413032393039334642303235430D0A3A3130314232303030413039334643303242303933464430323830393146453032393039314646303230460D0A3A3130314233303030413039313030303342303931303130333031393641313144423131443830393346360D0A3A3130314234303030464530323930393346463032413039333030303342303933303130334246393141340D0A3A3130314235303030414639313946393138463931334639313246393130463930304642453046393035410D0A3A3130314236303030314639303138393532464237463839343630393146413032373039314642303242430D0A3A3130314237303030383039314643303239303931464430323246424630383935373839343834423536360D0A3A3130314238303030383236303834424438344235383136303834424438354235383236303835424437390D0A3A3130314239303030383542353831363038354244454545364630453038303831383136303830383335460D0A3A3130314241303030453145384630453031303832383038313832363038303833383038313831363034320D0A3A3130314242303030383038334530453846304530383038313831363038303833453145424630453030390D0A3A3130314243303030383038313834363038303833453045424630453038303831383136303830383341440D0A3A3130314244303030454145374630453038303831383436303830383338303831383236303830383339360D0A3A3130314245303030383038313831363038303833383038313830363838303833313039324331303043310D0A3A3130314246303030303839353043393432333045413145323141324541413142424231424644303131330D0A3A3130314330303030304443304141314642423146454531464646314641323137423330374534303744420D0A3A3130314331303030463530373230463041323142423330424534304246353042363631463737314633330D0A3A3130314332303030383831463939314631413934363946373630393537303935383039353930393531330D0A3A3130314333303030394230314143303142443031434630313038393545453046464631463035393038300D0A3A3130314334303030463439314530324430393934434639334446393338323330393130353130463434350D0A3A3130314335303030383245303930453045303931303430334630393130353033323045303330453041310D0A3A3130314336303030433045304430453033303937313146313430383135313831343831373539303730390D0A3A3130314337303030433046303438313735393037363146343832383139333831323039373139463043390D0A3A3130314338303030394238333841383332424330393039333035303338303933303430333236433031330D0A3A3130314339303030323131353331303531394630343231373533303731384634394130314245303142360D0A3A3130314341303030444630314546303130323830463338314530324444434346323131353331303534410D0A3A3130314342303030303946313238314233393042323433303331303539304634313239363844393143460D0A3A3130314343303030394339313133393736313135373130353231463046423031393338333832383332390D0A3A3130314344303030303443303930393330353033383039333034303346443031333239363434433033310D0A3A3130314345303030464430314532304646333146383139333931393332323530333130393244393334460D0A3A3130314346303030334339333341433032303931303230333330393130333033323332423431463431420D0A3A3130314430303030323039313032303133303931303330313330393330333033323039333032303344390D0A3A3130314431303030323039313030303133303931303130313231313533313035343146343244423743390D0A3A3130314432303030334542373430393130343031353039313035303132343142333530424530393131310D0A3A3130314433303030303230334630393130333033453231374633303741304634324531423346304246440D0A3A3130314434303030323831373339303737384630414330313445354635463446323431373335303732440D0A3A3130314435303030343846303445304635463146353039333033303334303933303230333831393339420D0A3A3130314436303030393139333032433045304530463045304346303144463931434639313038393543300D0A3A3130314437303030304639333146393343463933444639333030393730394634384343304643303135450D0A3A3130314438303030333239373133383231323832303039313034303331303931303530333031313530410D0A3A3130314439303030313130353831463432303831333138313832304639333146323039313032303336430D0A3A3130314441303030333039313033303332383137333930373739463546303933303330334530393338330D0A3A3130314442303030303230333731433044383031343045303530453041453137424630373530463446350D0A3A3130314443303030313239363244393133433931313339374144303132313135333130353039463132320D0A3A3130314444303030443930314633434639443031444130313333383332323833363038313731383143300D0A3A3130314445303030383630463937314638323137393330373639463445433031323838313339383143380D0A3A3130314446303030323630463337314632453546334634463331383332303833384138313942383142460D0A3A3130314530303030393338333832383334353242323946344630393330353033453039333034303332350D0A3A3130314531303030343243303133393646433933454539333132393745443031343939313539393141430D0A3A3130314532303030394530313234304633353146453231374633303737314634383038313931383132310D0A3A3130314533303030383430463935314630323936313139363943393338453933383238313933383142350D0A3A3130314534303030313339363943393338453933313239374530453046304530443830313132393644460D0A3A3130314535303030384439313943393131333937303039373139463046383031384330314636434641320D0A3A3130314536303030384439313943393139383031324535463346344638323046393331463230393137460D0A3A3130314537303030303230333330393130333033323831373339303736394634333039373239463444360D0A3A3130314538303030313039323035303331303932303430333032433031333832313238323130393337310D0A3A3130314539303030303330333030393330323033444639314346393131463931304639313038393545370D0A3A3130314541303030413045304230453045364535464645303043393435343130454330313030393746300D0A3A3130314542303030323146344342303130453934323330454238433046433031453630464637314645450D0A3A3130314543303030394330313232353033313039453231374633303730384634414343304439303139340D0A3A3130314544303030304439313143393131313937303631373137303742304630303533303131303545390D0A3A3130314545303030303846343946433043383031303439373836313739373037303846343939433041330D0A3A3130314546303030303235303131303930363142313730423031393331313933364439333743393345430D0A3A3130314630303030434630313045393442383045384443303542303141303141423130413443303132450D0A3A3130314631303030383030453931314541303931303430334230393130353033343045303530453042330D0A3A3130314632303030453132434631324331303937303946343441433041383135423930354431463539380D0A3A3130314633303030364439303743393031313937363330313832453043383045443131434341313438390D0A3A3130314634303030444230343830463141333031344131393542303936413031383245304338304533330D0A3A3130314635303030443131433132393642433930313239373133393641433931423545304342313639420D0A3A3130314636303030443130343430463042323832413338333531383334303833443930313644393341310D0A3A3130314637303030374339333041433030453546314634464333303138303046393131464639303142300D0A3A3130314638303030393138333830383345423244464132464531313446313034333146304437303131360D0A3A3130314639303030313339364643393345453933313239373434433046303933303530334530393344440D0A3A3130314641303030303430333346433038443931394339313131393734383137353930373038463437440D0A3A3130314642303030414330313744303131323936304439304243393141303244423343463830393130340D0A3A3130314643303030303230333930393130333033383831353939303545314634343631373537303731410D0A3A3130314644303030433846343830393130303031393039313031303130303937343146343844423730300D0A3A3130314645303030394542373430393130343031353039313035303138343142393530424538313741310D0A3A3130314646303030463930374338463446303933303330334530393330323033463930313731383333360D0A3A3130323030303030363038333046433043423031304539343233304537433031303039373539463032320D0A3A3130323031303030413830314245303130453934333731304345303130453934423830454337303137300D0A3A3130323032303030303443304345303130324330383045303930453043444237444542374545453041340D0A3A3130323033303030304339343730313046423031444330313035393030443932303032304531463737420D0A3A3130323034303030303839354643303130353930303032304539463738303935393039353845304638410D0A3A3130323035303030394631463038393546423031444330313034433038443931303139303830313934300D0A3A3130323036303030323146343431353035303430433846373838314239393042303839354642303139420D0A3A3130323037303030444330313032433030313930304439323431353035303430443846373038393530340D0A3A3130323038303030464230314443303138443931303139303830313930313130443946333939304241450D0A3A3130323039303030303839354642303144433031303139303044393230303230453146373038393530350D0A3A3130323041303030324639323346393234463932354639323646393237463932384639323946393236380D0A3A3130323042303030414639324246393243463932444639324546393246463932304639333146393335360D0A3A3130323043303030434639334446393343444237444542374341314244423042304642364638393430370D0A3A3130323044303030444542463046424543444246303939343241383833393838343838383546383434370D0A3A3130323045303030364538343744383438433834394238344141383442393834433838344446383042380D0A3A3130323046303030454538304644383030433831314238314141383142393831434530464431314439430D0A3A3130323130303030304642364638393444454246304642454344424645443031303839354638393437310D0A3A30323231313030304646434646460D0A3A3130323131323030303030303036303338303030343534433244343336433639363536453734323046370D0A3A3130323132323030323837323635324432393733373436313732373436393645363732313030343538360D0A3A3130323133323030344332443433364336393635364537343230373337393645363332303636363130310D0A3A3130323134323030363936433635363432313030343534433244343336433639363536453734323039310D0A3A3130323135323030373337393645363336353634323130303044304130303645363136453030363931390D0A3A3130323136323030364536363030364637363636303032453030303030303030303034453035413632370D0A3A3130323137323030303343463034453930344442303432433035343534433433334132303637364638360D0A3A3130323138323030373432303030323034303030343534433433334132303439364537363631364333310D0A3A3130323139323030363936343230343335323433303035323435353335303546353633413230303032460D0A3A3130323141323030353234353533353035463433343233413230303034453435343534343546353345370D0A3A3130323142323030353934453433323130303433344434343346334630303432343134343341323039460D0A3A30323231433230303030303031420D0A3A303030303030303146460D0A .hex webserver_led 2F2A2A0A202A2053696D706C65206578616D706C6520666F72204C454420666C617368696E67207573696E67207765622D7365727665720A202A200A202A205465737420626F6172643A0A202A2020202045535038323636205258202020203C2D2D6C6576656C20736869667465722D2D3E2020202041726475696E6F2054580A202A2020202045535038323636205458202020203C2D2D6C6576656C20736869667465722D2D3E2020202041726475696E6F2052580A202A2020202045535038323636204750494F30203C2D2D6C6576656C20736869667465722D2D3E2020202041726475696E6F205245534554202020286F7074696F6E616C290A202A200A202A2020202041726475696E6F204C4544206973206F6E2050494E2031330A202A200A202A20566964656F3A0A202A2020202068747470733A2F2F7777772E796F75747562652E636F6D2F77617463683F763D76424553434F30556859490A202A2F0A0A23696E636C756465203C454C436C69656E742E683E0A23696E636C756465203C454C436C69656E745765625365727665722E683E0A0A2F2F20666C617368204C4544206F6E2050494E2031330A23646566696E65204C45445F50494E2031330A0A2F2F20496E697469616C697A65206120636F6E6E656374696F6E20746F206573702D6C696E6B207573696E6720746865206E6F726D616C2068617264776172652073657269616C20706F72740A2F2F0A2F2F204445425547206973206469736173626C65642061730A2F2F202D207061636B6574206C6F6767696E6720697320736C6F7720616E6420554152542072656365697665206275666665722063616E206F76657272756E202848544D4C20666F726D207375626D697373696F6E290A454C436C69656E7420657370282653657269616C293B0A0A2F2F20496E697469616C697A6520746865205765622D53657276657220636C69656E740A454C436C69656E74576562536572766572207765625365727665722826657370293B0A0A766F6964206C6564506167654C6F6164416E645265667265736843622863686172202A2075726C290A7B0A2020696628206469676974616C52656164284C45445F50494E2920290A202020207765625365727665722E736574417267537472696E67284628227465787422292C204628224C4544206973206F6E2229293B0A2020656C73650A202020207765625365727665722E736574417267537472696E67284628227465787422292C204628224C4544206973206F66662229293B0A7D0A0A766F6964206C6564427574746F6E507265737343622863686172202A2062746E4964290A7B0A2020537472696E67206964203D2062746E49643B0A2020696628206964203D3D2046282262746E5F6F6E222920290A202020206469676974616C5772697465284C45445F50494E2C2074727565293B0A2020656C736520696628206964203D3D2046282262746E5F6F6666222920290A202020206469676974616C5772697465284C45445F50494E2C2066616C7365293B0A7D0A0A2F2F2043616C6C6261636B206D61646520666F726D206573702D6C696E6B20746F206E6F74696679207468617420697420686173206A75737420636F6D65206F7574206F6620612072657365742E2054686973206D65616E732077650A2F2F206E65656420746F20696E697469616C697A65206974210A766F6964207265736574436228766F696429207B0A202053657269616C2E7072696E746C6E2822454C2D436C69656E74202872652D297374617274696E672122293B0A2020626F6F6C206F6B203D2066616C73653B0A2020646F207B0A202020206F6B203D206573702E53796E6328293B2020202020202F2F2073796E632075702077697468206573702D6C696E6B2C20626C6F636B7320666F7220757020746F2032207365636F6E64730A2020202069662028216F6B292053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E63206661696C65642122293B0A20207D207768696C6528216F6B293B0A202053657269616C2E7072696E746C6E2822454C2D436C69656E742073796E6365642122293B0A20200A20207765625365727665722E736574757028293B0A7D0A0A766F696420736574757028290A7B0A202053657269616C2E626567696E28313135323030293B0A20200A202055524C48616E646C6572202A6C656448616E646C6572203D207765625365727665722E63726561746555524C48616E646C6572284628222F53696D706C654C45442E68746D6C2E6A736F6E2229293B0A20206C656448616E646C65722D3E6C6F616443622E61747461636828266C6564506167654C6F6164416E64526566726573684362293B0A20206C656448616E646C65722D3E7265667265736843622E61747461636828266C6564506167654C6F6164416E64526566726573684362293B0A20206C656448616E646C65722D3E627574746F6E43622E61747461636828266C6564427574746F6E50726573734362293B0A0A20206573702E72657365744362203D20726573657443623B0A20207265736574436228293B0A7D0A0A766F6964206C6F6F7028290A7B0A20206573702E50726F6365737328293B0A7D0A .ino FP 2F2A2A0A202A204066696C652020202046502E6370700A202A20406272696566202020436F7265205574696C697479202D2054656D706C617465642046756E6374696F6E20506F696E74657220436C6173730A202A2040617574686F72202073616D2067726F76650A202A204076657273696F6E20312E300A202A204073656520202020200A202A0A202A20436F707972696768742028632920323031330A202A0A202A204C6963656E73656420756E6465722074686520417061636865204C6963656E73652C2056657273696F6E20322E30202874686520224C6963656E736522293B0A202A20796F75206D6179206E6F742075736520746869732066696C652065786365707420696E20636F6D706C69616E6365207769746820746865204C6963656E73652E0A202A20596F75206D6179206F627461696E206120636F7079206F6620746865204C6963656E73652061740A202A0A202A2020202020687474703A2F2F7777772E6170616368652E6F72672F6C6963656E7365732F4C4943454E53452D322E300A202A0A202A20556E6C657373207265717569726564206279206170706C696361626C65206C6177206F722061677265656420746F20696E2077726974696E672C20736F6674776172650A202A20646973747269627574656420756E64657220746865204C6963656E7365206973206469737472696275746564206F6E20616E20224153204953222042415349532C0A202A20574954484F55542057415252414E54494553204F5220434F4E444954494F4E53204F4620414E59204B494E442C206569746865722065787072657373206F7220696D706C6965642E0A202A2053656520746865204C6963656E736520666F7220746865207370656369666963206C616E677561676520676F7665726E696E67207065726D697373696F6E7320616E640A202A206C696D69746174696F6E7320756E64657220746865204C6963656E73652E0A202A2F0A0A23696E636C756465202246502E68220A23696E636C756465203C737464696E742E683E0A0A74656D706C6174653C636C61737320726574542C20636C61737320617267543E0A46503C726574542C20617267543E3A3A465028290A7B0A202020206F626A5F63616C6C6261636B203D20303B0A20202020635F63616C6C6261636B203D20303B0A7D0A0A74656D706C6174653C636C61737320726574542C20636C61737320617267543E0A626F6F6C2046503C726574542C20617267543E3A3A617474616368656428290A7B0A2020202072657475726E206F626A5F63616C6C6261636B207C7C20635F63616C6C6261636B3B0A7D0A0A0A74656D706C6174653C636C61737320726574542C20636C61737320617267543E0A766F69642046503C726574542C20617267543E3A3A64657461636828290A7B0A202020206F626A5F63616C6C6261636B203D20303B0A20202020635F63616C6C6261636B203D20303B0A7D0A0A0A74656D706C6174653C636C61737320726574542C20636C61737320617267543E0A766F69642046503C726574542C20617267543E3A3A617474616368287265745420282A66756E6374696F6E29286172675429290A7B0A20202020635F63616C6C6261636B203D2066756E6374696F6E3B0A7D0A0A74656D706C6174653C636C61737320726574542C20636C61737320617267543E0A726574542046503C726574542C20617267543E3A3A6F70657261746F7228292861726754206172672920636F6E73740A7B0A20202020696628203020213D20635F63616C6C6261636B20290A202020207B0A202020202020202072657475726E206F626A5F63616C6C6261636B203F20286F626A5F63616C6C6261636B2D3E2A6D6574686F645F63616C6C6261636B292861726729203A20282A635F63616C6C6261636B2928617267293B0A202020207D0A2020202072657475726E20287265745429303B0A7D0A0A2F2F207072652D646566696E652074686520747970657320666F7220746865206C696E6B65720A74656D706C61746520636C6173732046503C766F69642C636861723E3B0A74656D706C61746520636C6173732046503C766F69642C636861722A3E3B0A74656D706C61746520636C6173732046503C766F69642C696E74385F743E3B0A74656D706C61746520636C6173732046503C766F69642C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C766F69642C75696E74385F743E3B0A74656D706C61746520636C6173732046503C766F69642C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C766F69642C696E7431365F743E3B0A74656D706C61746520636C6173732046503C766F69642C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C766F69642C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C766F69642C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C766F69642C696E7433325F743E3B0A74656D706C61746520636C6173732046503C766F69642C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C766F69642C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C766F69642C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C766F69642C696E7436345F743E3B0A74656D706C61746520636C6173732046503C766F69642C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C766F69642C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C766F69642C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C766F69642C626F6F6C3E3B0A74656D706C61746520636C6173732046503C766F69642C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C766F69642C666C6F61743E3B0A74656D706C61746520636C6173732046503C766F69642C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C766F69642C646F75626C653E3B0A74656D706C61746520636C6173732046503C766F69642C646F75626C652A3E3B0A74656D706C61746520636C6173732046503C766F69642C766F69642A3E3B0A0A74656D706C61746520636C6173732046503C696E74385F742C636861723E3B0A74656D706C61746520636C6173732046503C696E74385F742C636861722A3E3B0A74656D706C61746520636C6173732046503C696E74385F742C696E74385F743E3B0A74656D706C61746520636C6173732046503C696E74385F742C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742C75696E74385F743E3B0A74656D706C61746520636C6173732046503C696E74385F742C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742C696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E74385F742C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E74385F742C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742C696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E74385F742C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E74385F742C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742C696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E74385F742C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E74385F742C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742C626F6F6C3E3B0A74656D706C61746520636C6173732046503C696E74385F742C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C696E74385F742C666C6F61743E3B0A74656D706C61746520636C6173732046503C696E74385F742C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742C646F75626C653E3B0A74656D706C61746520636C6173732046503C696E74385F742C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C696E74385F742A2C636861723E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C636861722A3E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C696E74385F743E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C75696E74385F743E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C626F6F6C3E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C666C6F61743E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C646F75626C653E3B0A74656D706C61746520636C6173732046503C696E74385F742A2C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C75696E74385F742C636861723E3B0A74656D706C61746520636C6173732046503C75696E74385F742C636861722A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742C696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742C75696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742C696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742C696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742C696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742C626F6F6C3E3B0A74656D706C61746520636C6173732046503C75696E74385F742C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742C666C6F61743E3B0A74656D706C61746520636C6173732046503C75696E74385F742C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742C646F75626C653E3B0A74656D706C61746520636C6173732046503C75696E74385F742C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C75696E74385F742A2C636861723E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C636861722A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C75696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C626F6F6C3E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C666C6F61743E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C646F75626C653E3B0A74656D706C61746520636C6173732046503C75696E74385F742A2C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C696E7431365F742C636861723E3B0A74656D706C61746520636C6173732046503C696E7431365F742C636861722A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742C696E74385F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742C75696E74385F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742C696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742C696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742C696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742C626F6F6C3E3B0A74656D706C61746520636C6173732046503C696E7431365F742C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742C666C6F61743E3B0A74656D706C61746520636C6173732046503C696E7431365F742C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742C646F75626C653E3B0A74656D706C61746520636C6173732046503C696E7431365F742C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C696E7431365F742A2C636861723E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C636861722A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C696E74385F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C75696E74385F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C626F6F6C3E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C666C6F61743E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C646F75626C653E3B0A74656D706C61746520636C6173732046503C696E7431365F742A2C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C75696E7431365F742C636861723E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C636861722A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C75696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C626F6F6C3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C666C6F61743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C646F75626C653E3B0A74656D706C61746520636C6173732046503C75696E7431365F742C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C75696E7431365F742A2C636861723E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C636861722A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C75696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C626F6F6C3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C666C6F61743E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C646F75626C653E3B0A74656D706C61746520636C6173732046503C75696E7431365F742A2C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C696E7433325F742C636861723E3B0A74656D706C61746520636C6173732046503C696E7433325F742C636861722A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742C696E74385F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742C75696E74385F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742C696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742C696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742C696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742C626F6F6C3E3B0A74656D706C61746520636C6173732046503C696E7433325F742C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742C666C6F61743E3B0A74656D706C61746520636C6173732046503C696E7433325F742C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742C646F75626C653E3B0A74656D706C61746520636C6173732046503C696E7433325F742C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C696E7433325F742A2C636861723E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C636861722A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C696E74385F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C75696E74385F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C626F6F6C3E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C666C6F61743E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C646F75626C653E3B0A74656D706C61746520636C6173732046503C696E7433325F742A2C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C75696E7433325F742C636861723E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C636861722A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C75696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C626F6F6C3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C666C6F61743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C646F75626C653E3B0A74656D706C61746520636C6173732046503C75696E7433325F742C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C75696E7433325F742A2C636861723E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C636861722A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C75696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C626F6F6C3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C666C6F61743E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C646F75626C653E3B0A74656D706C61746520636C6173732046503C75696E7433325F742A2C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C696E7436345F742C636861723E3B0A74656D706C61746520636C6173732046503C696E7436345F742C636861722A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742C696E74385F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742C75696E74385F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742C696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742C696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742C696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742C626F6F6C3E3B0A74656D706C61746520636C6173732046503C696E7436345F742C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742C666C6F61743E3B0A74656D706C61746520636C6173732046503C696E7436345F742C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742C646F75626C653E3B0A74656D706C61746520636C6173732046503C696E7436345F742C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C696E7436345F742A2C636861723E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C636861722A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C696E74385F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C75696E74385F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C626F6F6C3E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C666C6F61743E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C646F75626C653E3B0A74656D706C61746520636C6173732046503C696E7436345F742A2C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C75696E7436345F742C636861723E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C636861722A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C75696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C626F6F6C3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C666C6F61743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C646F75626C653E3B0A74656D706C61746520636C6173732046503C75696E7436345F742C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C75696E7436345F742A2C636861723E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C636861722A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C75696E74385F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C626F6F6C3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C666C6F61743E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C646F75626C653E3B0A74656D706C61746520636C6173732046503C75696E7436345F742A2C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C666C6F61742C636861723E3B0A74656D706C61746520636C6173732046503C666C6F61742C636861722A3E3B0A74656D706C61746520636C6173732046503C666C6F61742C696E74385F743E3B0A74656D706C61746520636C6173732046503C666C6F61742C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742C75696E74385F743E3B0A74656D706C61746520636C6173732046503C666C6F61742C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742C696E7431365F743E3B0A74656D706C61746520636C6173732046503C666C6F61742C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C666C6F61742C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742C696E7433325F743E3B0A74656D706C61746520636C6173732046503C666C6F61742C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C666C6F61742C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742C696E7436345F743E3B0A74656D706C61746520636C6173732046503C666C6F61742C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C666C6F61742C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742C626F6F6C3E3B0A74656D706C61746520636C6173732046503C666C6F61742C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C666C6F61742C666C6F61743E3B0A74656D706C61746520636C6173732046503C666C6F61742C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742C646F75626C653E3B0A74656D706C61746520636C6173732046503C666C6F61742C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C666C6F61742A2C636861723E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C636861722A3E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C696E74385F743E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C75696E74385F743E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C696E7431365F743E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C696E7433325F743E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C696E7436345F743E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C626F6F6C3E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C666C6F61743E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C646F75626C653E3B0A74656D706C61746520636C6173732046503C666C6F61742A2C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C646F75626C652C636861723E3B0A74656D706C61746520636C6173732046503C646F75626C652C636861722A3E3B0A74656D706C61746520636C6173732046503C646F75626C652C696E74385F743E3B0A74656D706C61746520636C6173732046503C646F75626C652C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652C75696E74385F743E3B0A74656D706C61746520636C6173732046503C646F75626C652C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652C696E7431365F743E3B0A74656D706C61746520636C6173732046503C646F75626C652C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C646F75626C652C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652C696E7433325F743E3B0A74656D706C61746520636C6173732046503C646F75626C652C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C646F75626C652C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652C696E7436345F743E3B0A74656D706C61746520636C6173732046503C646F75626C652C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C646F75626C652C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652C626F6F6C3E3B0A74656D706C61746520636C6173732046503C646F75626C652C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C646F75626C652C666C6F61743E3B0A74656D706C61746520636C6173732046503C646F75626C652C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652C646F75626C653E3B0A74656D706C61746520636C6173732046503C646F75626C652C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C646F75626C652A2C636861723E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C636861722A3E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C696E74385F743E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C696E74385F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C75696E74385F743E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C75696E74385F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C696E7431365F743E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C75696E7431365F743E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C75696E7431365F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C696E7433325F743E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C75696E7433325F743E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C75696E7433325F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C696E7436345F743E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C75696E7436345F743E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C75696E7436345F742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C626F6F6C3E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C626F6F6C2A3E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C666C6F61743E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C666C6F61742A3E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C646F75626C653E3B0A74656D706C61746520636C6173732046503C646F75626C652A2C646F75626C652A3E3B0A0A74656D706C61746520636C6173732046503C636861722C20636861723E3B0A74656D706C61746520636C6173732046503C636861722C20636861722A3E3B0A74656D706C61746520636C6173732046503C636861722C20636F6E737420636861722A3E3B0A0A74656D706C61746520636C6173732046503C636861722A2C20636861723E3B0A74656D706C61746520636C6173732046503C636861722A2C20636861722A3E3B0A74656D706C61746520636C6173732046503C636861722A2C20636F6E737420636861722A3E3B0A0A0A0A .cpp FP 2F2A2A0A202A204066696C652020202046502E680A202A20406272696566202020436F7265205574696C697479202D2054656D706C617465642046756E6374696F6E20506F696E74657220436C6173730A202A2040617574686F72202073616D2067726F76650A202A204076657273696F6E20312E300A202A204073656520202020200A202A0A202A20436F707972696768742028632920323031330A202A0A202A204C6963656E73656420756E6465722074686520417061636865204C6963656E73652C2056657273696F6E20322E30202874686520224C6963656E736522293B0A202A20796F75206D6179206E6F742075736520746869732066696C652065786365707420696E20636F6D706C69616E6365207769746820746865204C6963656E73652E0A202A20596F75206D6179206F627461696E206120636F7079206F6620746865204C6963656E73652061740A202A0A202A2020202020687474703A2F2F7777772E6170616368652E6F72672F6C6963656E7365732F4C4943454E53452D322E300A202A0A202A20556E6C657373207265717569726564206279206170706C696361626C65206C6177206F722061677265656420746F20696E2077726974696E672C20736F6674776172650A202A20646973747269627574656420756E64657220746865204C6963656E7365206973206469737472696275746564206F6E20616E20224153204953222042415349532C0A202A20574954484F55542057415252414E54494553204F5220434F4E444954494F4E53204F4620414E59204B494E442C206569746865722065787072657373206F7220696D706C6965642E0A202A2053656520746865204C6963656E736520666F7220746865207370656369666963206C616E677561676520676F7665726E696E67207065726D697373696F6E7320616E640A202A206C696D69746174696F6E7320756E64657220746865204C6963656E73652E0A202A2F0A0A2369666E6465662046505F480A23646566696E652046505F480A0A2F2A2A204578616D706C65207573696E672074686520465020436C617373207769746820676C6F62616C2066756E6374696F6E730A202A2040636F64650A202A202023696E636C75646520226D6265642E68220A202A202023696E636C756465202246502E68220A202A20200A202A202046503C766F69642C626F6F6C3E66703B0A202A20204469676974616C4F7574206D796C6564284C454431293B0A202A20200A202A2020766F69642068616E646C657228626F6F6C2076616C7565290A202A20207B0A202A2020202020206D796C6564203D2076616C75653B0A202A20202020202072657475726E3B0A202A20207D0A202A20200A202A2020696E74206D61696E28290A202A20207B0A202A20202020202066702E617474616368282668616E646C6572293B0A202A2020202020200A202A2020202020207768696C65283129200A202A2020202020207B0A202A2020202020202020202066702831293B0A202A202020202020202020207761697428302E32293B0A202A2020202020202020202066702830293B0A202A202020202020202020207761697428302E32293B0A202A2020202020207D0A202A20207D0A202A2040656E64636F64650A202A2F0A200A2F2A2A204578616D706C65207573696E672074686520465020436C617373207769746820646966666572656E7420636C617373206D656D6265722066756E6374696F6E730A202A2040636F64650A202A202023696E636C75646520226D6265642E68220A202A202023696E636C756465202246502E68220A202A20200A202A202046503C766F69642C626F6F6C3E66703B0A202A20204469676974616C4F7574206D796C6564284C454434293B0A202A20200A202A2020636C61737320577261707065720A202A20207B0A202A20207075626C69633A0A202A2020202020205772617070657228297B7D0A202A20200A202A202020202020766F69642068616E646C657228626F6F6C2076616C7565290A202A2020202020207B0A202A202020202020202020206D796C6564203D2076616C75653B0A202A2020202020202020202072657475726E3B0A202A2020202020207D0A202A20207D3B0A202A20200A202A2020696E74206D61696E28290A202A20207B0A202A2020202020205772617070657220777261707065643B0A202A20202020202066702E6174746163682826777261707065642C2026577261707065723A3A68616E646C6572293B0A202A2020202020200A202A2020202020207768696C65283129200A202A2020202020207B0A202A2020202020202020202066702831293B0A202A202020202020202020207761697428302E32293B0A202A2020202020202020202066702830293B0A202A202020202020202020207761697428302E32293B0A202A2020202020207D0A202A20207D0A202A2040656E64636F64650A202A2F0A200A202F2A2A204578616D706C65207573696E672074686520465020436C6173732077697468206D656D62657220465020616E64206D656D6265722066756E6374696F6E0A202A2040636F64650A202A202023696E636C75646520226D6265642E68220A202A202023696E636C756465202246502E68220A202A20200A202A20204469676974616C4F7574206D796C6564284C454432293B0A202A20200A202A2020636C61737320577261707065720A202A20207B0A202A20207075626C69633A0A202A2020202020205772617070657228290A202A2020202020207B0A202A2020202020202020202066702E61747461636828746869732C2026577261707065723A3A68616E646C6572293B0A202A2020202020207D0A202A20200A202A202020202020766F69642068616E646C657228626F6F6C2076616C7565290A202A2020202020207B0A202A202020202020202020206D796C6564203D2076616C75653B0A202A2020202020202020202072657475726E3B0A202A2020202020207D0A202A2020202020200A202A20202020202046503C766F69642C626F6F6C3E66703B0A202A20207D3B0A202A20200A202A2020696E74206D61696E28290A202A20207B0A202A2020202020205772617070657220777261707065643B0A202A2020202020200A202A2020202020207768696C65283129200A202A2020202020207B0A202A20202020202020202020777261707065642E66702831293B0A202A202020202020202020207761697428302E32293B0A202A20202020202020202020777261707065642E66702830293B0A202A202020202020202020207761697428302E32293B0A202A2020202020207D0A202A20207D0A202A2040656E64636F64650A202A2F0A0A2F2A2A0A202A202040636C6173732046500A202A202040627269656620415049206162737472616374696F6E20666F7220612046756E6374696F6E20506F696E746572730A202A2F200A74656D706C6174653C636C61737320726574542C20636C61737320617267543E0A636C6173732046500A7B0A7075626C69633A0A202020202F2A2A2043726561746520746865204650206F626A6563740A20202020202A2F200A20202020465028293B0A0A202020202F2A2A2041646420612063616C6C6261636B2066756E6374696F6E20746F2074686520636C6173730A20202020202A202040706172616D206974656D202D2041646472657373206F662074686520696E697469616C697A656420636C6173730A20202020202A202040706172616D206D6574686F64202D2041646472657373206F6620746865206D656D6265722066756E6374696F6E2028646F6E7420666F72676574207468652073636F70652074686174207468652066756E6374696F6E20697320646566696E656420696E290A20202020202A2F0A2020202074656D706C6174653C636C61737320543E0A20202020766F6964206174746163682854202A6974656D2C20726574542028543A3A2A6D6574686F6429286172675429290A202020207B0A20202020202020206F626A5F63616C6C6261636B203D20284650747244756D6D79202A29286974656D293B0A20202020202020206D6574686F645F63616C6C6261636B203D20287265745420284650747244756D6D793A3A2A2928617267542929286D6574686F64293B0A202020202020202072657475726E3B0A202020207D0A0A202020202F2A2A2041646420612063616C6C6261636B2066756E6374696F6E20746F2074686520636C6173730A20202020202A202040706172616D2066756E6374696F6E202D205468652061646472657373206F66206120676C6F62616C6C7920646566696E65642066756E6374696F6E0A20202020202A2F0A20202020766F696420617474616368287265745420282A66756E6374696F6E29286172675429293B0A202020200A202020202F2A2A20496E766F6B65207468652066756E6374696F6E20617474616368656420746F2074686520636C6173730A20202020202A202040706172616D20617267202D20416E20617267756D656E7420746861742069732070617373656420696E746F207468652066756E6374696F6E2068616E646C657220746861742069732063616C6C65640A20202020202A20204072657475726E205468652072657475726E2066726F6D207468652066756E6374696F6E2068616E6C6465722063616C6C6564206279207468697320636C6173730A20202020202A2F0A2020202072657454206F70657261746F7228292861726754206172672920636F6E73743B0A202020200A20202020626F6F6C20617474616368656428293B0A202020200A20202020766F69642064657461636828293B0A0A707269766174653A0A202020200A202020202F2F20656D7074792074797065207573656420666F722063617374696E670A20202020636C617373204650747244756D6D793B0A202020200A202020204650747244756D6D79202A6F626A5F63616C6C6261636B3B0A202020200A202020202F2A2A0A20202020202A202040756E696F6E2046756E6369746F6E0A20202020202A2020406272696566204D656D626572206F7220676C6F62616C2063616C6C6261636B2066756E6374696F6E0A20202020202A2F200A20202020756E696F6E0A202020207B0A20202020202020207265745420282A635F63616C6C6261636B292861726754293B202020202020202020202020202020202020202F2A213C20466F6F747072696E7420666F72206120676C6F62616C2066756E6374696F6E202A2F0A20202020202020207265745420284650747244756D6D793A3A2A6D6574686F645F63616C6C6261636B292861726754293B2020202F2A213C20466F6F747072696E7420666F722061206D656D6265722066756E6374696F6E202A2F0A202020207D3B0A7D3B0A0A23656E6469660A0A .h library 7B0A2020226E616D65223A2022454C436C69656E74222C0A2020226B6579776F726473223A2022776966692C206D7174742C20726573742C20736F636B6574222C0A2020226465736372697074696F6E223A202257696669206C6962726172792028436869702045535038323636205769666920536F4329207573696E6720534C49502070726F746F636F6C207669612053657269616C20706F7274222C0A20202275726C223A202268747470733A2F2F6769746875622E636F6D2F6A65656C6162732F6573702D6C696E6B222C0A2020227265706F7369746F7279223A0A20207B0A202020202274797065223A2022676974222C0A202020202275726C223A202268747470733A2F2F6769746875622E636F6D2F6A65656C6162732F6573702D6C696E6B220A20207D2C0A202022696E636C756465223A2022454C436C69656E74222C0A2020226672616D65776F726B73223A202261726475696E6F222C0A202022706C6174666F726D73223A205B0A202020202261746D656C617672222C0A202020202261746D656C73616D222C0A20202020227465656E7379220A20205D0A7D .json LICENSE 436F70797269676874202863292054686F727374656E20766F6E204569636B656E2C20323031352D323031360A416C6C207269676874732072657365727665642E0A0A5265646973747269627574696F6E20616E642075736520696E20736F7572636520616E642062696E61727920666F726D732C2077697468206F7220776974686F75740A6D6F64696669636174696F6E2C20617265207065726D69747465642070726F766964656420746861742074686520666F6C6C6F77696E6720636F6E646974696F6E730A617265206D65743A0A0A312E205265646973747269627574696F6E73206F6620736F7572636520636F6465206D7573742072657461696E207468652061626F766520636F70797269676874206E6F746963652C0A74686973206C697374206F6620636F6E646974696F6E7320616E642074686520666F6C6C6F77696E6720646973636C61696D65722E0A0A322E205265646973747269627574696F6E7320696E2062696E61727920666F726D206D75737420726570726F64756365207468652061626F766520636F707972696768740A6E6F746963652C2074686973206C697374206F6620636F6E646974696F6E7320616E642074686520666F6C6C6F77696E6720646973636C61696D657220696E207468650A646F63756D656E746174696F6E20616E642F6F72206F74686572206D6174657269616C732070726F766964656420776974682074686520646973747269627574696F6E2E0A0A5448495320534F4654574152452049532050524F56494445442042592054484520434F5059524947485420484F4C4445525320414E4420434F4E5452494255544F52530A2241532049532220414E4420414E592045585052455353204F5220494D504C4945442057415252414E544945532C20494E434C5544494E472C20425554204E4F540A4C494D4954454420544F2C2054484520494D504C4945442057415252414E54494553204F46204D45524348414E544142494C49545920414E44204649544E45535320464F520A4120504152544943554C415220505552504F53452041524520444953434C41494D45442E20494E204E4F204556454E54205348414C4C2054484520434F505952494748540A484F4C444552204F5220434F4E5452494255544F5253204245204C4941424C4520464F5220414E59204449524543542C20494E4449524543542C20494E434944454E54414C2C0A5350454349414C2C204558454D504C4152592C204F5220434F4E53455155454E5449414C2044414D414745532028494E434C5544494E472C20425554204E4F54204C494D495445440A544F2C2050524F435552454D454E54204F46205355425354495455544520474F4F4453204F522053455256494345533B204C4F5353204F46205553452C20444154412C204F520A50524F464954533B204F5220425553494E45535320494E54455252555054494F4E2920484F57455645522043415553454420414E44204F4E20414E59205448454F5259204F460A4C494142494C4954592C205748455448455220494E20434F4E54524143542C20535452494354204C494142494C4954592C204F5220544F52542028494E434C5544494E470A4E45474C4947454E4345204F52204F5448455257495345292041524953494E4720494E20414E5920574159204F5554204F462054484520555345204F4620544849530A534F4654574152452C204556454E2049462041445649534544204F462054484520504F53534942494C495459204F4620535543482044414D4147452E0A0A .txt README 454C436C69656E740A3D3D3D3D3D3D3D3D0A5468697320697320612057696669206C69627261727920666F722061726475696E6F207468617420757365732074686520534C49502070726F746F636F6C20746F20636F6D6D756E6963617465207669612073657269616C20776974680A616E2045535038323636206D6F64756C652072756E6E696E6720746865205B6573702D6C696E6B206669726D776172655D2868747470733A2F2F6769746875622E636F6D2F6A65656C6162732F6573702D6C696E6B292E0A0A54686973206C696272617279207265717569726573206573702D6C696E6B2076322E322E6265746132206F72206C617465722E0A0A46656174757265730A3D3D3D3D3D3D3D3D0A2D20432B2B20636C617373657320746F206D616E6167652074686520636F6D6D756E69636174696F6E2077697468206573702D6C696E6B0A2D20537570706F7274206F7574626F756E6420524553542072657175657374730A2D20537570706F7274204D515454207075622F7375620A2D20537570706F7274206164646974696F6E616C20636F6D6D616E647320746F207175657279206573702D6C696E6B2061626F7574207769666920616E6420737563680A0A2D204D5154542066756E6374696F6E616C6974793A200A202020202B204D5154542070726F746F636F6C20697473656C6620696D706C656D656E746564206279206573702D6C696E6B0A202020202B20537570706F7274207375627363726962696E672C207075626C697368696E672C204C57542C206B65657020616C6976652070696E677320616E6420616C6C20516F53206C6576656C73203026310A0A2D20524553542066756E6374696F6E616C6974793A0A202020202B20537570706F7274206D6574686F6473204745542C20504F53542C205055542C2044454C4554450A202020202B20736574436F6E74656E7420747970652C20736574206865616465722C207365742055736572204167656E740A0A2D2055445020736F636B65742066756E6374696F6E616C6974793A0A202020202B20537570706F72742073656E64696E6720616E6420726563656976696E672055445020736F636B6574207061636B65747320616E642062726F616463617374696E672055445020736F636B6574207061636B6574730A0A2D2054435020736F636B65742066756E6374696F6E616C6974793A0A202020202B20537570706F72742054435020736F636B657420636C69656E747320746F2073656E64207061636B65747320746F206120544350207365727665720A202020202B20537570706F72742054435020736F636B65742073657276657220746F2072656365697665207061636B6574732066726F6D2054435020736F636B657420636C69656E747320616E642073656E64206261636B20726573706F6E7365730A0A4578616D706C65730A3D3D3D3D3D3D3D3D0A43757272656E746C792074776F206578616D706C6573206172652070726F7669646564207468617420617265206B6E6F776E20746F20776F726B20616E64207468617420636F6D652077697468204845582066696C65732072656164790A746F206C6F616420696E746F20616E2041746D656761203332382062617365642061726475696E6F3A0A2D20412052455354206578616D706C6520746861742066657463686573207468652063757272656E742074696D652066726F6D206120736572766572206F6E2074686520696E7465726E657420616E64207072696E74732069742E0A202054686973206578616D706C6520697320696E20602E2F454C436C69656E742F6578616D706C65732F72657374602E0A2D20416E204D515454206578616D706C652074686174207075626C6973686573206D6573736167657320746F20616E204D5154542073657276657220616E64207375627363726962657320736F20697420726563656976657320616E640A20207072696E747320697473206F776E206D657373616765732E2054686973206578616D706C6520697320696E20602E2F454C436C69656E742F6578616D706C65732F6D717474602E0A2D20416E2055445020736F636B657420636C69656E74206578616D706C6520746F20636F6E6E65637420746F20612055445020736F636B657420736572766572206F722062726F61646361737420746F2061206C6F63616C206E6574776F726B2E2054686973206578616D706C6520697320696E20602E2F454C436C69656E742F6578616D706C65732F756470602E0A2D20412073696D706C652054435020736F636B657420636C69656E74206578616D706C6520746861742073656E6473206461746120746F2061205443502073657276657220776974686F75742077616974696E6720666F7220726573706F6E73652E2054686973206578616D706C6520697320696E20602E2F454C436C69656E742F6578616D706C65732F7463702D636C69656E74602E0A2D20412054435020736F636B657420636C69656E74206578616D706C6520746861742073656E6473206461746120746F2061205443502073657276657220616E6420776169747320666F72206120726573706F6E73652E2054686973206578616D706C6520697320696E20602E2F454C436C69656E742F6578616D706C65732F7463702D636C69656E745F72657370602E0A2D20412054435020736F636B657420736572766572206578616D706C65207468617420776169747320666F7220636F6E6E656374696F6E732066726F6D20612054435020736F636B657420636C69656E742E2054686973206578616D706C6520697320696E20602E2F454C436C69656E742F6578616D706C65732F7463702D736572766572602E0A2D2041205468696E67737065616B206578616D706C6520746F20757365205245535420504F535420746F2073656E64206461746120746F207468696E67737065616B2E2054686973206578616D706C6520697320696E20602E2F454C436C69656E742F6578616D706C65732F756470602E0A0A546865202264656D6F22206578616D706C65206172652063757272656E746C79206E6F74206D61696E7461696E656420616E64207468657265666F726520776F6E277420776F726B2061732D69732E0A0A41504920646F63756D656E746174696F6E0A3D3D3D3D3D3D3D3D0A41207072656C696D656E61727920646F63756D656E746174696F6E20666F7220746865206C69627261727920697320617661696C61626C65206F6E205B454C436C69656E742041504920446F635D28687474703A2F2F6465736972652E6769657365636B652E746B2F646F63732F656C2D636C69656E742F292E .md rcvTCP Данные, полученные от TCP сервера e0ca269f-2036-4f2d-b02b-faa9aab06abb Ответ получен и записан в rcvTCP 517d9091-78a4-415d-be7c-6bf8e4adf2ef fd20c715-4d4a-4baf-aa55-d0d6c3f2168c // Callback when MQTT is connected mqtt.subscribe("#"); //сюда надо вставлять топики на которые подписывается устройство, вид пописки: mqtt.subscribe("Топик"); connected = true; rcvTCPok = false; if (resp_type == USERCB_RECV) { char recvData[len+1]; // Prepare buffer for the received data memcpy(recvData, data, len); // Copy received data into the buffer recvData[len] = '\0'; // Terminate the buffer with 0 for proper printout! Serial.println(String(recvData)); rcvTCP = (char*) recvData; rcvTCPok = true; } else if (resp_type == USERCB_RECO) { if (len != -11) { // ignore "not connected" error, handled in USERCB_CONN Serial.print("\tConnection problem: "); Serial.println(getErrTxt(len)); } } else if (resp_type == USERCB_CONN) { } else { Serial.println("Received invalid response type"); } 713 295.0d@60 corner: 325.0d@90 450@90 480@90 corner: 551.0d@120 450@90 corner: 581.0d@120 484@108.5d 450@90 corner: 480@120 0.0d 551.0d@105 581.0d@105 551.0d@90 corner: 581.0d@120 450@105 MillisOnStart 63.0d 7.0d 480@105 325.0d@105 corner: 325.0d@105 Millis10s 43.0d 295.0d@105 325.0d@105 59b5ce19-8d65-4ec7-bcdc-9c9d57cf3491 Появляется через 10 с после старта. Можно все слать. 40a3a77f-9602-4659-97d5-f07929272907 baa75c0e-02d2-4463-a8d8-5f33d4dc9f27 ELClient Setup V2 Блок для инициализации TCP, MQTT и CMD клиентов. Ставится один раз в начале программы. В параметрах необходимо установить ip адрес или hostname TCP сервера. Если требуется можно поменять порт сервера - тут стандартный для Esp-Link - 23. На выходе блока данные полученные от TCP сервера к которому производился запрос. Желателен дополнительный анализ этих данных, например по длинне пакета или заголовку. 407 IP адрес сервера, к которому будет производиться запрос esp.Process(); if (millis()-wait < 10000) { // ждем 10 секунд от старта Millis10s = true; // разрешение на запросы } 134 delay(3000); // Serial.begin(115200); esp.wifiCb.attach(wifiCb); // wifi status change callback, optional (delete if not desired) bool ok; do { ok = esp.Sync(); // sync up with esp-link, blocks for up to 2 seconds if (!ok) Serial.println(F("EL-Client sync failed!")); } while(!ok); Serial.println(F("EL-Client synced!")); mqtt.connectedCb.attach(mqttConnected); mqtt.disconnectedCb.attach(mqttDisconnected); mqtt.publishedCb.attach(mqttPublished); mqtt.dataCb.attach(mqttData); mqtt.setup(); // Wit for WiFi to be connected. esp.GetWifiStatus(); ELClientPacket *packet; Serial.print(F("Waiting for WiFi ")); if ((packet=esp.WaitReturn()) != NULL) { Serial.print(F(".")); Serial.println(packet->value); } tcpConnNum = tcp.begin(tcpServer, tcpPort, SOCKET_TCP_CLIENT_LISTEN, tcpCb); // SOCKET_CLIENT ==> we expect a response if (tcpConnNum < 0) { Serial.println(F("TCP socket setup failed, try again in 10 seconds after reboot")); delay(10000); asm volatile (" jmp 0"); } else { Serial.println(String(tcpServer)+":"+String(tcpPort)+" is served over connection number # = "+String(tcpConnNum)); } Serial.println(F("EL-TCP ready")); wait = millis(); // Запомнили время старта. if (resp_type == USERCB_SENT) { rcvTCPok = false; } else if (resp_type == USERCB_RECV) { char recvData[len+1]; // Prepare buffer for the received data memcpy(recvData, data, len); // Copy received data into the buffer recvData[len] = '\0'; // Terminate the buffer with 0 for proper printout! Serial.print(String(recvData)); rcvTCP = (char*) recvData; rcvTCPok = true; } else if (resp_type == USERCB_RECO) { if (len != -11) { // ignore "not connected" error, handled in USERCB_CONN Serial.print("\tConnection problem: "); Serial.println(getErrTxt(len)); } } else if (resp_type == USERCB_CONN) { } else { Serial.println("Received invalid response type"); } 754 295.0d@90 corner: 325.0d@120 325.0d@45 80b1a0df-6cf3-45c3-aa1b-f9164926a8aa ELClient Setup V2 delay(1000); // Serial.begin(115200); esp.wifiCb.attach(wifiCb); // wifi status change callback, optional (delete if not desired) bool ok; do { ok = esp.Sync(); // sync up with esp-link, blocks for up to 2 seconds if (!ok) Serial.println(F("EL-Client sync failed!")); } while(!ok); Serial.println(F("EL-Client synced!")); mqtt.connectedCb.attach(mqttConnected); mqtt.disconnectedCb.attach(mqttDisconnected); mqtt.publishedCb.attach(mqttPublished); mqtt.dataCb.attach(mqttData); mqtt.setup(); // Wit for WiFi to be connected. esp.GetWifiStatus(); ELClientPacket *packet; Serial.print(F("Waiting for WiFi ")); if ((packet=esp.WaitReturn()) != NULL) { Serial.print(F(".")); Serial.println(packet->value); } tcpConnNum = tcp.begin(tcpServer, tcpPort, SOCKET_TCP_CLIENT_LISTEN, tcpCb); // SOCKET_CLIENT ==> we expect a response if (tcpConnNum < 0) { Serial.println(F("TCP socket setup failed, try again in 10 seconds after reboot")); delay(10000); asm volatile (" jmp 0"); } else { Serial.println(String(tcpServer)+":"+String(tcpPort)+"serv conn num = "+String(tcpConnNum)); } Serial.println(F("EL-TCP ready")); wait = millis(); // Запомнили время старта. 1244 if (resp_type == USERCB_SENT) { rcvTCPok = false; } else if (resp_type == USERCB_RECV) { char recvData[len+1]; // Prepare buffer for the received data memcpy(recvData, data, len); // Copy received data into the buffer recvData[len] = '\0'; // Terminate the buffer with 0 for proper printout! // Serial.print(String(recvData)); rcvTCP = recvData; // (char*) rcvTCPok = true; } else if (resp_type == USERCB_RECO) { if (len != -11) { // ignore "not connected" error, handled in USERCB_CONN Serial.print(F("\tConnection problem: ")); Serial.println(getErrTxt(len)); } } else if (resp_type == USERCB_CONN) { } else { Serial.println(F("Received invalid response type")); } 770 85.0d 35.0d 295.0d@45 325.0d@45 corner: 325.0d@45 450@45 480@45 450@30 corner: 480@60 567.0d@45 597.0d@45 567.0d@30 corner: 597.0d@60 TCPReceveData 79.0d 7.0d 240 210@120 240@120 corner: 327.0d@150 210@120 corner: 357.0d@150 244@138.5d 210@135 240@135 210@120 corner: 240@150 465@60 495@60 corner: 615@150 465@60 corner: 645@150 521.5d@78.5d 330@30 360@30 corner: 420@120 330@30 corner: 450@120 378.5d@48.5d 30@60 60@60 corner: 131.0d@90 30@60 corner: 161.0d@90 64@78.5d 30@75 60@75 30@60 corner: 60@90 131.0d@60 corner: 161.0d@90 161.0d@75 63.0d 7.0d 0.0d 131.0d@75 161.0d@75 corner: 161.0d@75 330@75 360@75 330@60 corner: 360@90 120@90 150@90 corner: 231.0d@120 120@90 corner: 261.0d@120 154@108.5d 120@105 261.0d@105 73.0d 7.0d 0.0d 231.0d@105 261.0d@105 corner: 261.0d@105 330@105 360@105 330@90 corner: 360@120 420@90 corner: 450@120 450@105 Q 9.0d 420@105 450@105 corner: 450@105 send 465@105 495@105 465@90 corner: 495@120 465@120 corner: 495@150 465@135 0 115200 398@558 70975375 398@538 36119198 front 1000 D 495@135 357.0d@135 corner: 357.0d@135 0.0d 327.0d@135 357.0d@135 327.0d@120 corner: 357.0d@150 79.0d 7.0d REST запросы к серверу по такому плану 255@30 285@30 corner: 375@90 255@30 corner: 405@90 316.0d@48.5d 105@60 135@60 corner: 206.0d@90 105@60 corner: 236.0d@90 139@78.5d 105@75 236.0d@75 63.0d 7.0d 0.0d 206.0d@75 236.0d@75 corner: 236.0d@75 EN 255@75 285@75 255@60 corner: 285@90 435@105 465@105 corner: 525@165 435@105 corner: 555@165 487.5d@123.5d 435@135 corner: 459@165 615@135 645@135 corner: 710.0d@165 615@135 corner: 740.0d@165 649@154.5d 615@135 corner: 639@165 710.0d@150 740.0d@150 710.0d@135 corner: 740.0d@165 615@150 По первому заднему фронту - получаем время -30@-24.0d 229.0d 3@12.0d 9.0d 585@111.0d corner: 820.0d@131.0d left GetMyTime 13 57.0d 9.0d 639@150 615@210 645@210 corner: 712.0d@240 615@210 corner: 742.0d@240 649@228.5d 615@210 corner: 645@240 712.0d@225 742.0d@225 712.0d@210 corner: 742.0d@240 615@225 По второму заднему фронту шлем MQTT -12@-24.0d 206.0d 3@12.0d 9.0d 603@186.0d corner: 815.0d@206.0d MQTTsend1 4 59.0d 7.0d 645@225 555@150 corner: 555@225 Q 9.0d 525@150 555@150 525@135 corner: 555@165 435@150 T 459@150 435@30 465@30 corner: 525@90 435@30 corner: 555@90 481.5d@49.5d 435@60 corner: 465@90 630@60 660@60 corner: 715.0d@90 630@60 corner: 745.0d@90 664@78.5d 630@60 corner: 660@90 715.0d@75 745.0d@75 715.0d@60 corner: 745.0d@90 630@75 TCPSend 14 47.0d 7.0d 660@75 555@75 corner: 555@75 Q 9.0d 525@75 555@75 525@60 corner: 555@90 435@75 I 465@75 405@75 corner: 405@150 Q 9.0d 375@75 405@75 375@60 corner: 405@90 simetricMulti 10000 435@285 465@285 corner: 550.0d@375 435@285 corner: 580.0d@375 472.5d@304.5d 285@315 315@315 corner: 370.0d@345 285@315 corner: 400.0d@345 319@333.5d 285@330 400.0d@330 47.0d 7.0d 0.0d 370.0d@330 400.0d@330 corner: 400.0d@330 AskMyServ 435@330 465@330 Tcp_client_resp AskNow eb91652c-7529-47e5-a3df-5d1625429f31 ee27b98a-c364-4ad1-b1d8-41f4ba9f94e5 ReceveData 79efb466-50ae-4ffb-8cb7-d8d945964cc7 88ce56a4-fbdb-4295-af4f-447823d04e11 75ce7028-2c4a-482c-b31b-0b228e163559 TCP Client Response AnsvString zapr vsep 6f151642-d0bb-4646-82d9-4db70de571ad db8e698e-ffe2-426d-8dba-71e22ccfe4ff if(wifiConnected) { tcp.send(AnsvString.c_str()); } 63 if (resp_type == USERCB_SENT) { } else if (resp_type == USERCB_RECV) { char recvData[len+1]; // Prepare buffer for the received data memcpy(recvData, data, len); // Copy received data into the buffer recvData[len] = '\0'; // Terminate the buffer with 0 for proper printout! Serial.println(String(recvData)); ReceveData = String(recvData); } else if (resp_type == USERCB_RECO) { if (len != -11) { // ignore "not connected" error, handled in USERCB_CONN Serial.print("\tConnection problem: "); Serial.println(getErrTxt(len)); } } else if (resp_type == USERCB_CONN) { } else { Serial.println("Received invalid response type"); } 682 void tcpCb uint8_t resp_type uint8_t client_num uint16_t len char *data 2d27d463-cfea-4aa5-b98f-1c1f00c1b8b8 if(AskNow && !lastAsk) { if(wifiConnected) { tcp.send(AnsvString.c_str()); } } lastAsk = AskNow; 117 lastAsk =0; bool По переднему фронту производится запрос у TCP сервера 435@315 corner: 465@345 RequestString zapr vsep 435@360 465@360 389.0d@363.5d b7b1f5a3-66b8-46fc-bed0-10a15132d0e6 Текст запроса у TCP сервера 24fefbf7-56bf-48a0-b466-9094a91a0ec3 8e81fc4c-6a09-4f2a-9cfc-4d97d0e9aded Блок производит запрос у TCP сервера. ip и порт сервера задаются в блоке ELClient Setup, тк спрашивать можно только у одного сервера! Но запросы могут быть разные, в т.ч. управляющие (если сервер их понимает). 210 if(AskMyServ && !LastAskServ) { if(wifiConnected) { tcp.send(RequestString.c_str()); } } LastAskServ = AskMyServ; LastAskServ =0; bool 435@345 corner: 465@375 TCP запрос данных 23@-24.0d 99.0d 3@12.0d 9.0d 458@261.0d corner: 563.0d@281.0d TcpClientResp 5cdaca97-958e-4edd-89ed-9cb45225c606 85.0d 465 Запрос на получение времени. 585@60 615@60 corner: 663.0d@90 585@60 corner: 693.0d@90 619@79.5d 345@30 375@30 corner: 493.0d@90 345@30 corner: 523.0d@90 402.0d@48.5d 180@60 210@60 corner: 275.0d@90 180@60 corner: 305.0d@90 214@79.5d 180@75 305.0d@75 57.0d 9.0d 0.0d 275.0d@75 305.0d@75 corner: 305.0d@75 AskTime 345@75 375@75 GetUnixTime 7eb8c6f5-7b10-4738-a775-f2ea0f8a853a По переднему фронту производит запрос и получение времени с Esp8266 fe3785f8-c6cd-4834-ab5a-05942fddb1e0 GetTime GettingTime 88241df8-82a8-4d98-aa05-26d1039f55bc f79388ac-80cd-4902-a6d4-c615c1270863 51273910-0c29-4fe8-a122-e11958435fcb GetTime V1 GettingTime= cmd.GetTime(); 27 a51fe4e2-283d-44a0-a0b0-5c05fcb5c03f GetUnixTime V1 UNIX-время - способ кодирования времени, принятый в UNIX операционных системах. Моментом начала отсчёта считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970 (англ. Unix Epoch). Время UNIX согласуется с UTC. Способ хранения времени в виде количества секунд можно использовать при сравнении дат (с точностью до секунды), а также для хранения дат: при необходимости их можно преобразовать в другой формат. Дата и время в этом формате занимают мало места - 4 байта. Обычная дата(Human readable time) Секунды 1 минута 60 секунд 1 час 3600 секунд 1 день 86400 секунд 1 неделя 604800 секунд 1 месяц (30.44 дней) 2629743 секунд 1 год (365.24 дней) 31556926 секунд 861 if ( AskTime && !LastAskTime ) { GettingTime= cmd.GetTime(); } LastAskTime = AskTime; 85 LastAskTime =0; bool 345@60 corner: 375@90 493.0d@60 corner: 523.0d@90 523.0d@75 118.0d 61.0d 493.0d@75 523.0d@75 corner: 523.0d@75 585@75 615@75 585@60 corner: 615@90 663.0d@75 693.0d@75 663.0d@60 corner: 693.0d@90 MyTime 12 40.0d 9.0d Шлем в наш(и) топики нужное Например - Юникс-время 675@0 705@0 corner: 824.0d@120 675@0 corner: 854.0d@120 712.5d@19.5d TopicNm Esp12 675@45 705@45 645.0d@49.5d Pub q&r c6cfc600-ab55-41a4-be27-037fd6efcce3 Название топика 8c7b3fb9-a8a5-4a48-bbe8-cedf354e1a8c публикация EN 318171b4-42be-4c6f-88a0-eb7f0a53f85e 93a0ac74-96f4-4192-99d9-7b10091de4aa data cfafcc0c-85fc-4514-8b93-41b76eb8db73 410090c6-5d6d-45b8-ba99-ab93dcd1f7b3 7125018b-3052-40e7-a35e-a9461c32e8c8 el-client publish pubtopic 97971ab5-dd4c-45b0-a79f-b3302a896483 0e465d1e-3152-44dd-90c4-3f864fb23050 if ( EN==1 ){ mqtt.publish(" pubtopic ", "data" ); } 54 SEND 1de4a658-999d-4c5a-b528-5f52c1cd812c TopicName el-client publish_0.1 Блок для публикации данных на MQTT брокер. SEND - отправка по переднему фронту. data - данные для отправки в строковом виде. pubtopic, в параметрах пользователя - топик в который публикуются данные, тип имени - строчный. qos классификация доставки сообщения -неважное, важное, очень важное (https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels здесь можно почитать подробнее). retain - сохранить сообщение на брокере и отправлять его всем подключающимся клиентам подписанным на этот топик, независимо от того отправлялось им раньше это сообщение или нет 583 qos 0 0,1 или 2 5aa93e03-022b-4ce4-beb2-6e8ed3035d8e 0 593fd8a9-501f-4ce7-a0a8-5c4c89a6c523 retain 0 0,1 258ed96c-ae17-4b36-a3d8-57f421ad248a 0 4fe70705-f807-49d0-8a7c-cd4dffef665c if ( SEND && !lastSend ) { mqtt.publish(TopicNm, (char*) data .c_str(), qos, retain); } lastSend = SEND ; lastSend =0; bool 675@30 corner: 705@60 465@60 495@60 corner: 562.0d@90 465@60 corner: 592.0d@90 499@78.5d 465@75 495@75 465@60 corner: 495@90 562.0d@60 corner: 592.0d@90 592.0d@75 59.0d 7.0d 0.0d 562.0d@75 592.0d@75 corner: 592.0d@75 675@75 705@75 675@60 corner: 705@90 345@60 375@60 corner: 435@120 345@60 corner: 465@120 388.5d@78.5d 135@90 165@90 corner: 213.0d@120 135@90 corner: 243.0d@120 169@109.5d 135@105 165@105 135@90 corner: 165@120 213.0d@90 corner: 243.0d@120 243.0d@105 40.0d 9.0d 0.0d 213.0d@105 243.0d@105 corner: 243.0d@105 I 345@105 375@105 465@105 dec Q 9.0d 435@105 465@105 corner: 465@105 675@105 705@105 675@90 corner: 705@120 675@105 TopName MQTT Pub bb6eefaa-65d2-4757-a20d-b9ecd0a91cf3 TopicName ELClient publish V1 if ( SEND && !lastSend ) { mqtt.publish(TopicNm.c_str(), (char*) data .c_str(), qos, retain); } lastSend = SEND ; 124 119.0d Читаем топик 645@60 675@60 corner: 741.0d@90 645@60 corner: 771.0d@90 679@78.5d 315@30 345@30 corner: 485.0d@120 315@30 corner: 515.0d@120 373.5d@49.5d TopicName Esp12 315@75 345@75 285.0d@79.5d TopName Subscr 40a76eb2-7e7e-4282-b462-78ac2e344811 Имя топика с которого ждем данные. Желательно - константа, в случае использования переменной рискуете пропустить данные! b7ad424c-be36-4d89-aa69-9127cc1f4df6 подписка out ad08541a-cd6d-46fc-b018-07d0e6385ef2 1eeeafb8-3cf1-4eae-b7ad-eb3255f51701 825ce8e7-928a-4fea-b8dc-43f3c4ac9507 el-client subscribe Topic topic c15651f9-9845-49bb-bfbc-d8f6f46fda93 7650400d-3d67-437b-93cf-999791cd4374 if (connected && (millis()-last) > 4000) { mqtt.subscribe(" Topic "); last = millis(); } 103 переключаемый выход, в зависимости от поступивших данных (on-off) outData 50b56c4a-7b81-498a-a820-6af702a49d46 данные из топика 07d2a287-8622-468b-9ca7-d948083d7d54 4f585823-2e3e-4661-aee9-013300118096 Блок для подписки на топик. Выход out сделан для переключения 0-1 при поступивших данных off-on. Выход outData сделан для выдачи поступивших данных в строковом виде. Topic в параметрах пользователя - топик для подписки. Есть здесь одна сложность, команду на подписку (mqtt.subscribe("Topic");) надо переносить из раздела setup в функцию "void mqttConnected(void* response)" в тексте скомпилированной программы, иначе подписки не происходит. Возможно найдется способ исправить это для упрощения использования. Пока так. 519 Topic topic c15651f9-9845-49bb-bfbc-d8f6f46fda93 rele4 if (topic_res == "Topic" ) { //если пришло сообщение от топика outData == data_res; if (data_res == "on"){ // и если команда "включить", то out = 1; } if (data_res == "off"){ // если выключить, то out = 0; } } 218 mqtt.subscribe("Topic"); 24 MQTTdataOK a482b4f0-dd09-4133-8c75-681d341ac099 Получены данные с этого топика 29652a67-8dc4-438c-a51b-c8233bcfc23b da033c58-9675-4d3a-85d3-f45b8d749556 TopicName ELClient Subscribe V2 Блок для подписки на топик. Выход out сделан для переключения 0-1 при поступивших данных off-on. Выход outData сделан для выдачи поступивших данных в строковом виде. Включить-выключить настраиваемый параметр при получении, которого из топика будет происходить переключение выхода out. Topic в параметрах пользователя - топик для подписки. Есть здесь одна сложность, команду на подписку (mqtt.subscribe("Topic");) надо переносить из раздела setup в функцию "void mqttConnected(void* response)" в тексте скомпилированной программы, иначе подписки не происходит. Возможно найдется способ исправить это для упрощения использования. Пока так. 638 qos 0 0,1 или 2 cb21df0d-0199-41a1-9a65-391fd3fe91a2 1a4a4448-0435-432c-8a09-c414d2a27e4e MQTTdataOK = false; if (topic_res == "Topic" ) //если пришло сообщение от топика { outData = data_res; MQTTdataOK = true; //Флаг - пришли данные с этого топика. } 173 63d3c510-d46d-478c-98a0-626a93e690d8 MQTTdataOK = false; if (topic_res == TopicName.c_str()) //если пришло сообщение от топика { outData = data_res; MQTTdataOK = true; //Флаг - пришли данные с этого топика. } 182 315@60 corner: 345@90 485.0d@60 corner: 515.0d@90 540@90 570@90 corner: 630.0d@120 540@90 corner: 660.0d@120 574@108.5d 540@90 corner: 570@120 630.0d@105 660.0d@105 630.0d@90 corner: 660.0d@120 540@105 NewMQTT 5 52.0d 7.0d 570@105 515.0d@105 corner: 515.0d@105 69.0d 485.0d@105 515.0d@105 485.0d@90 corner: 515.0d@120 515.0d@75 06d2a3c3-a712-4146-9320-8852cea63a0c Блок для подписки на топик. Выход outData сделан для выдачи поступивших данных в строковом виде. TopicName - название топика для подписки. В блоке Setup стоит команда на подписку (mqtt.subscribe("#");) на ВСЕ (#) ТОПИКИ. Соответственно, этот блок просто ждет когда придут данные с топика TopicName, обновляет переменную на выходе и взводит флаг, что данные пришли. Надо бы заменить на одноцикловую переменную... 416 MQTTdataOK = false; if (topic_res == TopicName) //если пришло сообщение от топика { outData = data_res; MQTTdataOK = true; //Флаг - пришли данные с этого топика. } 174 140.0d 38.0d 485.0d@75 515.0d@75 corner: 515.0d@75 645@75 675@75 645@60 corner: 675@90 741.0d@75 771.0d@75 741.0d@60 corner: 771.0d@90 MQTTdata1 6 58.0d 7.0d Шлем что прочитали в UART 690@0 720@0 corner: 840@90 690@0 corner: 870@90 746.5d@18.5d 480@30 510@30 corner: 570.0d@60 480@30 corner: 600.0d@60 514@48.5d 480@45 510@45 480@30 corner: 510@60 570.0d@30 corner: 600.0d@60 600.0d@45 52.0d 7.0d 0.0d 570.0d@45 600.0d@45 corner: 600.0d@45 send 690@45 720@45 345@60 375@60 corner: 441.0d@90 345@60 corner: 471.0d@90 379@78.5d 345@75 375@75 345@60 corner: 375@90 441.0d@60 corner: 471.0d@90 471.0d@75 58.0d 7.0d 0.0d 441.0d@75 471.0d@75 corner: 471.0d@75 D 690@75 720@75 (0 to: 240) (240 to: 480) (480 to: 945) (945 to: 1185) (1185 to: 1425) (1425 to: 1665) (1665 to: 1905) MyHour 7 MyMin 8 MyTemp1 9 MyTemp2 10 MyChnStatus 11 TCPinterval TestVar 16 StringTest 17 TCPReceveGood 18 TCPokInterval 20 TCPWait 19 TCPWaitClear 21 WarnWiFi 22 9600 arduinoIDE 1024 262145178 Arduino Uno 142360727