From d042fd481a07111b58e6606916db553d0d49202d Mon Sep 17 00:00:00 2001 From: sfeakes Date: Sun, 5 May 2024 17:29:37 -0500 Subject: [PATCH] Few bugs left to fix Most of work adding aqualinktouch protocol to PDA is complete. --- README.md | 15 ++- aq_panel.c | 15 ++- aq_programmer.c | 21 +++- aq_programmer.h | 1 + aq_serial.c | 3 + aq_serial.h | 4 +- aqualinkd.c | 10 +- color_lights.c | 4 +- iaqtouch.c | 146 ++++++++++++---------- iaqtouch.h | 1 + iaqtouch_aq_programmer.c | 213 ++++++++++++++++++++++++++++++-- iaqtouch_aq_programmer.h | 2 +- release/aqualinkd | Bin 437908 -> 434088 bytes release/aqualinkd.test.pda.conf | 4 +- release/serial_logger | Bin 49896 -> 50108 bytes rs_msg_utils.c | 37 ++++++ rs_msg_utils.h | 3 + 17 files changed, 393 insertions(+), 86 deletions(-) diff --git a/README.md b/README.md index a04eff6..c215372 100644 --- a/README.md +++ b/README.md @@ -85,10 +85,23 @@ Designed to mimic AqualinkRS devices, used to fully configure the master control * Create iAqualink Touch Simulator # Update in Release 2.3.5 -* Added support for reading extended information for Jandy JXi heaters +* NEED TO FIX + * Not saying programming mode + * Not always doing on/off + * serial_logger + * Add wiki documentation + * about Heat vs Heater + * Panel version + * can't use iaquatouch panel / wireless + +* Added support for reading extended information for Jandy JXi heaters. +* Added Color Light to iAqualinkTouch protocol. * Added iAqualinkTouch support for PDA only panels that can use that protocol. * PDA panel needs to be Rev 6.0 or newer. * This makes the PDA only panels quicker and less error prone. + * Introduces color light support and VSP + * Consider this PDA support Beta. + * Read PDA Wiki * Fixed issue mqtt_timed_update (1~2 min rather than between 2 & 20 min) # Update in Release 2.3.4 diff --git a/aq_panel.c b/aq_panel.c index 520dad3..633911f 100644 --- a/aq_panel.c +++ b/aq_panel.c @@ -525,9 +525,14 @@ bool setDeviceState(struct aqualinkdata *aqdata, int deviceIndex, bool isON) LOG(AQUA_LOG, LOG_INFO, "received '%s' for '%s', turning '%s'\n", (isON == false ? "OFF" : "ON"), button->name, (isON == false ? "OFF" : "ON")); #ifdef AQ_PDA if (isPDA_PANEL) { - char msg[PTHREAD_ARG]; - sprintf(msg, "%-5d%-5d", deviceIndex, (isON == false ? OFF : ON)); - aq_programmer(AQ_PDA_DEVICE_ON_OFF, msg, aqdata); + if (button->special_mask & PROGRAM_LIGHT && isPDA_IAQT) { + // AqualinkTouch in PDA mode, we can program light. (if turing off, use standard AQ_PDA_DEVICE_ON_OFF below) + programDeviceLightMode(aqdata, (isON?0:-1), deviceIndex); // -1 means off 0 means use current light mode + } else { + char msg[PTHREAD_ARG]; + sprintf(msg, "%-5d%-5d", deviceIndex, (isON == false ? OFF : ON)); + aq_programmer(AQ_PDA_DEVICE_ON_OFF, msg, aqdata); + } } else #endif { @@ -598,7 +603,7 @@ void programDeviceLightMode(struct aqualinkdata *aqdata, int value, int button) int i; clight_detail *light = NULL; #ifdef AQ_PDA - if (isPDA_PANEL) { + if (isPDA_PANEL && !isPDA_IAQT) { LOG(AQUA_LOG,LOG_ERR, "Light mode control not supported in PDA mode\n"); return; } @@ -642,7 +647,7 @@ void programDeviceLightMode(struct aqualinkdata *aqdata, int value, int button) //bool panel_device_request(struct aqualinkdata *aqdata, action_type type, int deviceIndex, int value, int subIndex, bool fromMQTT) bool panel_device_request(struct aqualinkdata *aqdata, action_type type, int deviceIndex, int value, request_source source) { - //LOG(AQUA_LOG,LOG_NOTICE, "Device request type %d for deviceindex %d of value %d from %d\n",type,deviceIndex, value, source); + LOG(AQUA_LOG,LOG_INFO, "Device request type %d for deviceindex %d of value %d from %d\n",type,deviceIndex, value, source); switch (type) { case ON_OFF: //setDeviceState(&aqdata->aqbuttons[deviceIndex], value<=0?false:true, deviceIndex ); diff --git a/aq_programmer.c b/aq_programmer.c index eb73f0b..80135e8 100644 --- a/aq_programmer.c +++ b/aq_programmer.c @@ -475,7 +475,8 @@ bool in_light_programming_mode(struct aqualinkdata *aq_data) { if ( ( aq_data->active_thread.thread_id != 0 ) && ( aq_data->active_thread.ptype == AQ_SET_LIGHTPROGRAM_MODE || - aq_data->active_thread.ptype == AQ_SET_LIGHTCOLOR_MODE) + aq_data->active_thread.ptype == AQ_SET_LIGHTCOLOR_MODE || + aq_data->active_thread.ptype == AQ_SET_IAQTOUCH_LIGHTCOLOR_MODE) ) { return true; } @@ -535,7 +536,8 @@ bool in_iaqt_programming_mode(struct aqualinkdata *aq_data) aq_data->active_thread.ptype == AQ_SET_IAQTOUCH_SPA_HEATER_TEMP || aq_data->active_thread.ptype == AQ_SET_IAQTOUCH_SET_TIME || aq_data->active_thread.ptype == AQ_SET_IAQTOUCH_PUMP_VS_PROGRAM || - aq_data->active_thread.ptype == AQ_SET_IAQTOUCH_DEVICE_ON_OFF) + aq_data->active_thread.ptype == AQ_SET_IAQTOUCH_DEVICE_ON_OFF || + aq_data->active_thread.ptype == AQ_SET_IAQTOUCH_LIGHTCOLOR_MODE) ) { return true; } @@ -754,6 +756,9 @@ void _aq_programmer(program_type r_type, char *args, struct aqualinkdata *aq_dat type = AQ_SET_IAQTOUCH_DEVICE_ON_OFF; } break; + case AQ_SET_LIGHTCOLOR_MODE: + type = AQ_SET_IAQTOUCH_LIGHTCOLOR_MODE; + break; default: type = r_type; break; @@ -1045,6 +1050,12 @@ void _aq_programmer(program_type r_type, char *args, struct aqualinkdata *aq_dat return; } break; + case AQ_SET_IAQTOUCH_LIGHTCOLOR_MODE: + if( pthread_create( &programmingthread->thread_id , NULL , set_aqualink_iaqtouch_light_colormode, (void*)programmingthread) < 0) { + LOG(PROG_LOG, LOG_ERR, "could not create thread\n"); + return; + } + break; #endif #ifdef AQ_PDA case AQ_PDA_INIT: @@ -2639,7 +2650,10 @@ const char *ptypeName(program_type type) return "Set iAqualink Set Time"; break; case AQ_SET_IAQTOUCH_DEVICE_ON_OFF: - return "Set iAqualink Device On/Off"; + return "Set iAqualink Device On/Off"; + break; + case AQ_SET_IAQTOUCH_LIGHTCOLOR_MODE: + return "Set iAqualink Light Color (using panel)"; break; #endif #ifdef AQ_PDA @@ -2706,6 +2720,7 @@ const char *programtypeDisplayName(program_type type) break; case AQ_SET_LIGHTPROGRAM_MODE: case AQ_SET_LIGHTCOLOR_MODE: + case AQ_SET_IAQTOUCH_LIGHTCOLOR_MODE: return "Programming: setting light color"; break; case AQ_SET_SWG_PERCENT: diff --git a/aq_programmer.h b/aq_programmer.h index 68527d9..65ebb54 100644 --- a/aq_programmer.h +++ b/aq_programmer.h @@ -84,6 +84,7 @@ typedef enum { AQ_SET_IAQTOUCH_SPA_HEATER_TEMP, AQ_SET_IAQTOUCH_SET_TIME, AQ_SET_IAQTOUCH_DEVICE_ON_OFF, + AQ_SET_IAQTOUCH_LIGHTCOLOR_MODE, AQ_GET_RSSADAPTER_SETPOINTS, AQ_SET_RSSADAPTER_POOL_HEATER_TEMP, AQ_SET_RSSADAPTER_SPA_HEATER_TEMP, diff --git a/aq_serial.c b/aq_serial.c index 1570160..503757b 100644 --- a/aq_serial.c +++ b/aq_serial.c @@ -143,6 +143,9 @@ const char* get_packet_type(unsigned char* packet , int length) case CMD_IAQ_TITLE_MESSAGE: return "iAq ProductName"; break; + case CMD_IAQ_MSG_LONG: + return "iAq Popup message"; + break; case RSSA_DEV_STATUS: // This is a fail reply 0x10|0x02|0x48|0x13|0x02|0x00|0x10|0x00|0x7f|0x10|0x03| // Rather than check all, just check 0x02 and checksum sin't I'm not sure 0x10 means faiure without 0x00 around it. diff --git a/aq_serial.h b/aq_serial.h index 7abb6f1..ef2a0d5 100644 --- a/aq_serial.h +++ b/aq_serial.h @@ -359,6 +359,7 @@ SPILLOVER IS DISABLED WHILE SPA IS ON #define KEY_IAQTCH_STATUS 0x06 #define KEY_IAQTCH_PREV_PAGE 0x20 #define KEY_IAQTCH_NEXT_PAGE 0x21 +#define KEY_IAQTCH_OK 0x01 //HEX: 0x10|0x02|0x00|0x01|0x00|0x01|0x14|0x10|0x03|. OK BUTTON #define KEY_IAQTCH_PREV_PAGE_ALTERNATE 0x1d // System setup prev #define KEY_IAQTCH_NEXT_PAGE_ALTERNATE 0x1e // System setup next @@ -414,8 +415,9 @@ SPILLOVER IS DISABLED WHILE SPA IS ON #define IAQ_PAGE_VSP_SETUP 0x2d #define IAQ_PAGE_FREEZE_PROTECT 0x11 #define IAQ_PAGE_LABEL_AUX 0x32 +#define IAQ_PAGE_HELP 0x0c //#define IAQ_PAGE_START_BOOST 0x3f -#define IAQ_PAGE_DEGREES 0xFF // Added this as never want to actually select the page, just go to it. +//#define IAQ_PAGE_DEGREES 0xFF // Added this as never want to actually select the page, just go to it. diff --git a/aqualinkd.c b/aqualinkd.c index 08361c2..cdcace6 100644 --- a/aqualinkd.c +++ b/aqualinkd.c @@ -180,6 +180,12 @@ bool checkAqualinkTime() LOG(AQUA_LOG,LOG_DEBUG, "time not checked, will check in %d seconds\n", TIME_CHECK_INTERVAL - time_difference); return true; } + else if (strlen(_aqualink_data.date) <=0 || + strlen(_aqualink_data.time) <=0) + { + LOG(AQUA_LOG,LOG_DEBUG, "time not checked, no time from panel\n"); + return true; + } else { last_checked = now; @@ -188,7 +194,7 @@ bool checkAqualinkTime() char datestr[DATE_STRING_LEN]; #ifdef AQ_PDA - if (isPDA_PANEL) { + if (isPDA_PANEL && !isPDA_IAQT) { LOG(AQUA_LOG,LOG_DEBUG, "PDA Time Check\n"); // date is simply a day or week for PDA. localtime_r(&now, &aq_tm); @@ -1890,6 +1896,8 @@ void main_loop() _aqualink_data.updated = process_iaqtouch_packet(packet_buffer, packet_length, &_aqualink_data); _aqualink_data.updated = true; // FORCE UPDATE SINCE THIS IS NOT WORKING YET caculate_ack_packet(rs_fd, packet_buffer, IAQTOUCH); + if (checkAqualinkTime() == false) // Need to do this better. + {aq_programmer(AQ_SET_TIME, NULL, &_aqualink_data);} } else /*if (_aqualink_data.simulator_active == SIM_NONE)*/ { caculate_ack_packet(rs_fd, packet_buffer, AQUAPDA); diff --git a/color_lights.c b/color_lights.c index 262d788..e43245f 100644 --- a/color_lights.c +++ b/color_lights.c @@ -50,8 +50,8 @@ const char *_color_light_options[NUMBER_LIGHT_COLOR_TYPES][LIGHT_COLOR_OPTIONS] }, { // Color Logic "Voodoo Lounge", - "Blue Sea", - "Royal Blue", + "Deep Blue Sea", + //"Royal Blue", "Afternoon Skies", //"Aqua Green", "Emerald", diff --git a/iaqtouch.c b/iaqtouch.c index 7cdf6b0..4af519f 100644 --- a/iaqtouch.c +++ b/iaqtouch.c @@ -112,6 +112,11 @@ unsigned char iaqtCurrentPage() { return _currentPage; } +unsigned char iaqtCurrentPageLoading() +{ + return _currentPageLoading; +} + const char *iaqtGetMessageLine(int index) { if (index < IAQ_STATUS_PAGE_LINES) @@ -137,10 +142,6 @@ struct iaqt_page_button *iaqtFindButtonByIndex(int index) { buttons = _devicePageButtons[1]; else if (_currentPage == IAQ_PAGE_DEVICES3) buttons = _devicePageButtons[2]; - /* - else if (_currentPage == IAQ_PAGE_DEVICES2 ) - buttons = _devicePage2Buttons; - */ else if (_currentPage == IAQ_PAGE_SYSTEM_SETUP ) buttons = _deviceSystemSetupButtons[0]; else if (_currentPage == IAQ_PAGE_SYSTEM_SETUP2 ) @@ -169,9 +170,6 @@ struct iaqt_page_button *iaqtFindButtonByLabel(char *label) { buttons = _devicePageButtons[1]; else if (_currentPage == IAQ_PAGE_DEVICES3) buttons = _devicePageButtons[2]; - - //else if (_currentPage == IAQ_PAGE_DEVICES2 ) - // buttons = _devicePage2Buttons; else if (_currentPage == IAQ_PAGE_SYSTEM_SETUP ) buttons = _deviceSystemSetupButtons[0]; else if (_currentPage == IAQ_PAGE_SYSTEM_SETUP2 ) @@ -308,7 +306,7 @@ void processPageButton(unsigned char *message, int length, struct aqualinkdata * else { button = &_pageButtons[index]; // if _currentPageLoading = 0x00 then we should use current page - LOG(IAQT_LOG,LOG_WARNING, "Not sure where to add Button %d %s - LoadingPage = %s\n",index,button->name,iaqt_page_name(_currentPageLoading)); + LOG(IAQT_LOG,LOG_NOTICE, "Not sure where to add Button %d %s - LoadingPage = %s\n",index,button->name,iaqt_page_name(_currentPageLoading)); } button->state = message[PKT_IAQT_BUTSTATE]; @@ -391,16 +389,6 @@ void processPageButton(unsigned char *message, int length, struct aqualinkdata * } } } - -/* - _pageButtons[index].state = (int)message[5]; - _pageButtons[index].type = (int)message[7]; - _pageButtons[index].unknownByte = (int)message[6]; - // This doesn't work with return which is 0x00 - strncpy(&_pageButtons[index].name, (char *)message + 8, AQ_MSGLEN); - - LOG(IAQT_LOG,LOG_NOTICE, "Added Button %d %s\n",index,_pageButtons[index].name); -*/ } @@ -535,21 +523,23 @@ void passDeviceStatusPage(struct aqualinkdata *aq_data) LOG(IAQT_LOG,LOG_INFO, "Set Cemlink ORP = %d PH = %f from message '%s'\n",orp,ph,_deviceStatus[i]); } } -#ifdef READ_SWG_FROM_EXTENDED_ID - else if (rsm_strcmp(_deviceStatus[i],"AQUAPURE") == 0) { +//#ifdef READ_SWG_FROM_EXTENDED_ID + else if (isPDA_PANEL) { + if (rsm_strcmp(_deviceStatus[i],"AQUAPURE") == 0) { //aq_data->swg_percent = rsm_atoi(&_deviceStatus[i][9]); if (changeSWGpercent(aq_data, rsm_atoi(&_deviceStatus[i][9]))) LOG(IAQT_LOG,LOG_DEBUG, "Set swg %% to %d from message'%s'\n",aq_data->swg_percent,_deviceStatus[i]); - } else if (rsm_strcmp(_deviceStatus[i],"salt") == 0) { + } else if (rsm_strcmp(_deviceStatus[i],"salt") == 0) { aq_data->swg_ppm = rsm_atoi(&_deviceStatus[i][5]); aq_data->updated = true; LOG(IAQT_LOG,LOG_DEBUG, "Set swg PPM to %d from message'%s'\n",aq_data->swg_ppm,_deviceStatus[i]); - } else if (rsm_strcmp(_deviceStatus[i],"Boost Pool") == 0) { + } else if (rsm_strcmp(_deviceStatus[i],"Boost Pool") == 0) { aq_data->boost = true; aq_data->updated = true; // Let RS pickup time remaing message. - } -#endif + } + } +//#endif } // for } @@ -563,6 +553,8 @@ void debugPrintButtons(struct iaqt_page_button buttons[]) } } +//#define member_size(type, member) (sizeof( ((type*)0)->member )) + void processPage(struct aqualinkdata *aq_data) { //static int _home_cnt = 0; @@ -606,34 +598,13 @@ void processPage(struct aqualinkdata *aq_data) // If Button 15 has type 0x02 then we have previous, if 0x00 nothing (previous send code KEY_IAQTCH_PREV_PAGE) // If Button 16 has type 0x03 then we have next, if 0x00 nothing (next send code KEY_IAQTCH_NEXT_PAGE) if ( (isPDA_PANEL || PANEL_SIZE() >= 16) && !in_iaqt_programming_mode(aq_data) ) { - printf("********* button 16 type = 0x%02hhx **********\n",_devicePageButtons[dp][16].type); if (_devicePageButtons[dp][16].type == 0x03) { - printf("********* NEXT PAGE FROM DEVICES **********\n"); iaqt_queue_cmd(KEY_IAQTCH_NEXT_PAGE); } else { - printf("********* STATUS FROM DEVICES **********\n"); iaqt_queue_cmd(KEY_IAQTCH_STATUS); } } break; - /* - case IAQ_PAGE_DEVICES2: - //LOG(IAQT_LOG,LOG_INFO, "Devices Page #2:-\n"); - debugPrintButtons(_devicePage2Buttons); - - // If Button 15 has type 0x02 then we have previous, if 0x00 nothing (previous send code KEY_IAQTCH_PREV_PAGE) - // If Button 16 has type 0x03 then we have next, if 0x00 nothing (next send code KEY_IAQTCH_NEXT_PAGE) - if (isPDA_PANEL && !in_iaqt_programming_mode(aq_data) ) { - printf("********* button 16 type = 0x%02hhx **********\n",_devicePage2Buttons[16].type); - if (_devicePage2Buttons[16].type == 0x03) { - printf("********* NEXT PAGE FROM DEVICES2 **********\n"); - iaqt_queue_cmd(KEY_IAQTCH_NEXT_PAGE); - } else { - printf("********* STATUS FROM DEVICES2 **********\n"); - iaqt_queue_cmd(KEY_IAQTCH_STATUS); - } - } - break;*/ case IAQ_PAGE_COLOR_LIGHT: //LOG(IAQT_LOG,LOG_INFO, "Color Light Page :-\n"); debugPrintButtons(_pageButtons); @@ -652,7 +623,7 @@ void processPage(struct aqualinkdata *aq_data) //Info: iAQ Touch: Home Status page 01| 72 //Info: iAQ Touch: Home Status page 04| Spa Temp //Info: iAQ Touch: Home Status page 05| Air Temp - if (isPDA_PANEL) { + if (isPDA_PANEL) { // Set temp if PDA panel if (rsm_strcmp(_homeStatus[5],"Air Temp") == 0) { aq_data->air_temp = atoi(_homeStatus[1]); LOG(IAQT_LOG,LOG_DEBUG, "Air Temp set to %d\n",aq_data->air_temp); @@ -663,8 +634,8 @@ void processPage(struct aqualinkdata *aq_data) LOG(IAQT_LOG,LOG_DEBUG, "Pool Temp set to %d\n",aq_data->air_temp); aq_data->updated = true; } else if (rsm_strcmp(_homeStatus[4],"Spa Temp") == 0) { - aq_data->pool_temp = atoi(_homeStatus[0]); - LOG(IAQT_LOG,LOG_DEBUG, "Spa Temp set to %d\n",aq_data->air_temp); + aq_data->spa_temp = atoi(_homeStatus[0]); + LOG(IAQT_LOG,LOG_DEBUG, "Spa Temp set to %d\n",aq_data->spa_temp); aq_data->updated = true; } } @@ -687,6 +658,25 @@ void processPage(struct aqualinkdata *aq_data) case IAQ_PAGE_SET_VSP: debugPrintButtons(_pageButtons); break; + case IAQ_PAGE_HELP: + /* + Info: iAQ Touch: Table Messages 01| Interface: AquaLink Touch + Info: iAQ Touch: Table Messages 02| Model: RS-8 Combo + Info: iAQ Touch: Table Messages 03| AquaLink: REV T.0.1 + Info: iAQ Touch: Table Messages 04| CPU p/n: B0029221 + Info: iAQ Touch: Table Messages 05| TL Rev: + */ + if (isPDA_PANEL && ((char *)_tableInformation[03]) > 0) { + if ( rsm_get_revision(aq_data->revision,(char *)_tableInformation[3], sizeof(aq_data->revision) ) == TRUE) { + int len = rsm_get_boardcpu(aq_data->version, sizeof(aq_data->version), (char *)_tableInformation[4], IAQT_TABLE_MSGLEN ); + sprintf(aq_data->version+len, " REV %s",aq_data->revision); + LOG(IAQT_LOG,LOG_NOTICE, "Control Panel revision %s\n", aq_data->revision); + LOG(IAQT_LOG,LOG_NOTICE, "Control Panel version %s\n", aq_data->version); + aq_data->updated = true; + } + } + + break; default: //LOG(IAQT_LOG,LOG_INFO, "** UNKNOWN PAGE 0x%02hhx **\n",_currentPage); @@ -711,10 +701,13 @@ bool process_iaqtouch_packet(unsigned char *packet, int length, struct aqualinkd static bool gotInit = false; static int cnt = 0; static bool gotStatus = true; + static char message[AQ_MSGLONGLEN + 1]; + bool fake_pageend = false; //char buff[1024]; // NSF Take this out if ( packet[3] != CMD_IAQ_POLL && getLogLevel(IAQT_LOG) >= LOG_DEBUG ) { + //if ( getLogLevel(IAQT_LOG) >= LOG_DEBUG ) { char buff[1000]; beautifyPacket(buff, packet, length, false); LOG(IAQT_LOG,LOG_DEBUG, "Received message : %s", buff); @@ -722,6 +715,9 @@ bool process_iaqtouch_packet(unsigned char *packet, int length, struct aqualinkd if (packet[PKT_CMD] == CMD_IAQ_PAGE_START) { + // Reset and messages on new page + aq_data->last_display_message[0] = ' '; + aq_data->last_display_message[1] = '\0'; LOG(IAQT_LOG,LOG_DEBUG, "Turning IAQ SEND off\n"); set_iaq_cansend(false); _currentPageLoading = packet[PKT_IAQT_PAGTYPE]; @@ -743,13 +739,19 @@ bool process_iaqtouch_packet(unsigned char *packet, int length, struct aqualinkd } else { LOG(IAQT_LOG,LOG_DEBUG, "Page end message without proceding page start, ignoring!\n"); } - // Time is in the page end command - // 1/18/2011 13:42 - //Hex |0x10|0x02|0x33|0x28|0x01|0x12|0x0b|0x0d|0x2a|0xc2|0x10|0x03| - //Dec | 16| 2| 51| 40| 1| 18| 11| 13| 42| 194| 16| 3 - //Ascii | | | 3| (| | | | | *| | | - snprintf(aq_data->date, sizeof(aq_data->date), "%d/%d/%d", packet[4],packet[5],packet[6]); - snprintf(aq_data->time, sizeof(aq_data->date), "%d:%d", packet[7],packet[8]); + + if (isPDA_PANEL) { + // Time is in the page end command + // 1/18/2011 13:42 + //Hex |0x10|0x02|0x33|0x28|0x01|0x12|0x0b|0x0d|0x2a|0xc2|0x10|0x03| + //Dec | 16| 2| 51| 40| 1| 18| 11| 13| 42| 194| 16| 3 + //Ascii | | | 3| (| | | | | *| | | + snprintf(aq_data->date, sizeof(aq_data->date), "%02d/%02d/%02d", packet[4],packet[5],packet[6]); + if (packet[7] <= 12) + snprintf(aq_data->time, sizeof(aq_data->date), "%d:%02d am", packet[7],packet[8]); + else + snprintf(aq_data->time, sizeof(aq_data->date), "%d:%02d pm", (packet[7] - 12),packet[8]); + } processPage(aq_data); @@ -773,18 +775,32 @@ bool process_iaqtouch_packet(unsigned char *packet, int length, struct aqualinkd // if we get a button with 0x00 state on Light Page, that's the end of page. if (_currentPageLoading == IAQ_PAGE_COLOR_LIGHT) { - if (packet[7] == 0x00) { + if (packet[7] == 0x00 && packet[4] == 0x0e) { // packet[4] is button number 0x0e is 14 (last button) //printf("** MANUAL PAGE END\n"); LOG(IAQT_LOG,LOG_DEBUG, "MANUAL PAGE END\n"); _currentPage = _currentPageLoading; //_currentPageLoading = NUL; processPage(aq_data); set_iaq_cansend(true); + // For programming mode + fake_pageend = true; // Also END page here, as you can send commands. // NEED to rethink this approach. ie, selecting light needs to hold open while showing page, no page end, then select light color, then message "please wait", the finally done } } - } + } else if (isPDA_PANEL && packet[PKT_CMD] == CMD_IAQ_MSG_LONG) { + // Set disply message if PDA panel + memset(message, 0, AQ_MSGLONGLEN + 1); + rsm_strncpy(message, packet + 6, AQ_MSGLONGLEN, length-9); + LOG(IAQT_LOG,LOG_NOTICE, "Popup message '%s'\n",message); + strcpy(aq_data->last_display_message, message); // Also display the message on web UI + /* + for(int i=0; i REQUEST_STATUS_POLL_COUNT && in_programming_mode(aq_data) == false ) { -printf("********* START REQUEST LOOP **********\n"); if (isPDA_PANEL || PANEL_SIZE() >= 16) { iaqt_queue_cmd(KEY_IAQTCH_HOMEP_KEY08); -printf("********* REQUEST OTHER DEVICES FROM HOME **********\n"); } else { iaqt_queue_cmd(KEY_IAQTCH_STATUS); -printf("********* REQUEST OTHER SATUS FROM HOME **********\n"); } gotStatus = false; // Reset if we got status page, for fix panel bug. //aq_programmer(AQ_GET_IAQTOUCH_VSP_ASSIGNMENT, NULL, aq_data); @@ -834,14 +847,18 @@ printf("********* REQUEST OTHER SATUS FROM HOME **********\n"); // -5 seems to be too quick for VSP/GPM so using 10 cnt = REQUEST_STATUS_POLL_COUNT - 10; } - + // On poll no need to kick programming threads return false; } //debuglogPacket(IAQT_LOG ,packet, length); //_lastMsgType = packet[PKT_CMD]; - set_iaqtouch_lastmsg(packet[PKT_CMD]); + if (fake_pageend){ + set_iaqtouch_lastmsg(CMD_IAQ_PAGE_END); + } else { + set_iaqtouch_lastmsg(packet[PKT_CMD]); + } //debuglogPacket(IAQT_LOG ,packet, length); //beautifyPacket(buff, packet, length); //LOG(IAQT_LOG,LOG_DEBUG, "%s", buff); @@ -926,6 +943,9 @@ const char *iaqt_page_name(const unsigned char page) case IAQ_PAGE_LABEL_AUX: return "Label Aux"; break; + case IAQ_PAGE_HELP: + return "Help Page"; + break; default: sprintf (_namebuf,"** Unknown 0x%02hhx **",page); return _namebuf; diff --git a/iaqtouch.h b/iaqtouch.h index 74b3a4b..91bae5d 100644 --- a/iaqtouch.h +++ b/iaqtouch.h @@ -15,6 +15,7 @@ struct iaqt_page_button { bool process_iaqtouch_packet(unsigned char *packet, int length, struct aqualinkdata *aq_data); unsigned char iaqtThreadKickType(); unsigned char iaqtCurrentPage(); +unsigned char iaqtCurrentPageLoading(); bool wasiaqtThreadKickTypePage(); struct iaqt_page_button *iaqtFindButtonByLabel(char *label); struct iaqt_page_button *iaqtFindButtonByIndex(int index); diff --git a/iaqtouch_aq_programmer.c b/iaqtouch_aq_programmer.c index 743775e..dcbe166 100644 --- a/iaqtouch_aq_programmer.c +++ b/iaqtouch_aq_programmer.c @@ -32,6 +32,7 @@ #include "config.h" #include "devices_jandy.h" #include "packetLogger.h" +#include "color_lights.h" // System Page is obfiously fixed and not dynamic loaded, so set buttons to stop confustion. @@ -173,9 +174,64 @@ bool waitfor_iaqt_ctrl_queue2empty() } return true; } +/* +unsigned const char _waitfor_iaqt_nextPage(struct aqualinkdata *aq_data, int numMessageReceived) { + + waitfor_iaqt_queue2empty(); + int i=0; + + pthread_mutex_lock(&aq_data->active_thread.thread_mutex); + + while( ++i <= numMessageReceived) + { + //LOG(IAQT_LOG,LOG_DEBUG, "waitfor_iaqt_nextPage (%d of %d)\n",i,numMessageReceived); + pthread_cond_wait(&aq_data->active_thread.thread_cond, &aq_data->active_thread.thread_mutex); + if(wasiaqtThreadKickTypePage()) break; + } + + LOG(IAQT_LOG,LOG_DEBUG, "waitfor_iaqt_nextPage finished in (%d of %d)\n",i,numMessageReceived); + + pthread_mutex_unlock(&aq_data->active_thread.thread_mutex); + + if(wasiaqtThreadKickTypePage()) + return iaqtCurrentPage(); + else + return NUL; + +} + +unsigned const char shortwaitfor_iaqt_nextPage(struct aqualinkdata *aq_data) { + return _waitfor_iaqt_nextPage(aq_data, 3); +} +*/ +unsigned const char waitfor_iaqt_messages(struct aqualinkdata *aq_data, int numMessageReceived) { + //return _waitfor_iaqt_nextPage(aq_data, 30); + + waitfor_iaqt_queue2empty(); + + int i=0; + + LOG(IAQT_LOG,LOG_DEBUG, "waitfor_iaqt_messages (%d of %d)\n",i,numMessageReceived); + + pthread_mutex_lock(&aq_data->active_thread.thread_mutex); + + while( ++i <= numMessageReceived) + { + //LOG(IAQT_LOG,LOG_DEBUG, "waitfor_iaqt_nextPage (%d of %d)\n",i,numMessageReceived); + pthread_cond_wait(&aq_data->active_thread.thread_cond, &aq_data->active_thread.thread_mutex); + + } + + LOG(IAQT_LOG,LOG_DEBUG, "waitfor_iaqt_messages finished in (%d of %d)\n",i,numMessageReceived); + + pthread_mutex_unlock(&aq_data->active_thread.thread_mutex); + + return iaqtLastMsg(); +} unsigned const char waitfor_iaqt_nextPage(struct aqualinkdata *aq_data) { + //return _waitfor_iaqt_nextPage(aq_data, 30); waitfor_iaqt_queue2empty(); @@ -199,9 +255,10 @@ unsigned const char waitfor_iaqt_nextPage(struct aqualinkdata *aq_data) { return iaqtCurrentPage(); else return NUL; - } + + unsigned const char waitfor_iaqt_nextMessage(struct aqualinkdata *aq_data, const unsigned char msg_type) { waitfor_iaqt_queue2empty(); @@ -324,7 +381,7 @@ bool goto_iaqt_page(const unsigned char pageID, struct aqualinkdata *aq_data) { return true; } else if (pageID == IAQ_PAGE_MENU || pageID == IAQ_PAGE_SET_TEMP || pageID == IAQ_PAGE_SET_TIME || pageID == IAQ_PAGE_SET_SWG || pageID == IAQ_PAGE_SYSTEM_SETUP || pageID == IAQ_PAGE_FREEZE_PROTECT || pageID == IAQ_PAGE_LABEL_AUX || - pageID == IAQ_PAGE_VSP_SETUP || pageID == IAQ_PAGE_DEGREES) { + pageID == IAQ_PAGE_VSP_SETUP) { // All other pages require us to go to Menu page send_aqt_cmd(KEY_IAQTCH_MENU); if (waitfor_iaqt_nextPage(aq_data) != IAQ_PAGE_MENU) { @@ -387,9 +444,6 @@ bool goto_iaqt_page(const unsigned char pageID, struct aqualinkdata *aq_data) { case IAQ_PAGE_VSP_SETUP: menuText = "VSP Setup"; break; - case IAQ_PAGE_DEGREES: - menuText = "Degrees"; - break; default: LOG(IAQT_LOG, LOG_ERR, "IAQ Touch unknown menu '0x%02hhx'\n", pageID); return false; @@ -424,7 +478,7 @@ bool goto_iaqt_page(const unsigned char pageID, struct aqualinkdata *aq_data) { void *set_aqualink_iaqtouch_device_on_off( void *ptr ) { -struct programmingThreadCtrl *threadCtrl; + struct programmingThreadCtrl *threadCtrl; threadCtrl = (struct programmingThreadCtrl *) ptr; struct aqualinkdata *aq_data = threadCtrl->aq_data; char *buf = (char*)threadCtrl->thread_args; @@ -469,9 +523,150 @@ struct programmingThreadCtrl *threadCtrl; } send_aqt_cmd(button->keycode); - + //LOG(IAQT_LOG, LOG_ERR, "******* CURRENT MENU '0x%02hhx' *****\n",iaqtCurrentPage()); // NSF NEED TO CHECK FOR POPUP MESSAGE, AND KILL IT. + //page IAQ_PAGE_SET_TEMP hit button 0 + //page IAQ_PAGE_COLOR_LIGHT hit button ??????? + // Heater popup can be cleared with a home button and still turn on. + // Color light can be cleared with a home button, but won;t turn on. + waitfor_iaqt_queue2empty(); + //waitfor_iaqt_messages(aq_data,1); + + // OR maybe use waitfor_iaqt_messages(aq_data,1) + + // Turn spa on when pump off, ned to remove message "spa will turn on after safty delay", home doesn't clear. + send_aqt_cmd(KEY_IAQTCH_HOME); + + // Turn spa off need to read message if heater is on AND hit ok...... + + f_end: + goto_iaqt_page(IAQ_PAGE_HOME, aq_data); + cleanAndTerminateThread(threadCtrl); + + // just stop compiler error, ptr is not valid as it's just been freed + return ptr; +} + +void *set_aqualink_iaqtouch_light_colormode( void *ptr ) +{ + struct programmingThreadCtrl *threadCtrl; + threadCtrl = (struct programmingThreadCtrl *) ptr; + struct aqualinkdata *aq_data = threadCtrl->aq_data; + char *buf = (char*)threadCtrl->thread_args; + //char device_name[15]; + struct iaqt_page_button *button; + const char *mode_name; + int val = atoi(&buf[0]); + int btn = atoi(&buf[5]); + int typ = atoi(&buf[10]); + bool use_current_mode = false; + bool turn_off = false; + + waitForSingleThreadOrTerminate(threadCtrl, AQ_SET_IAQTOUCH_LIGHTCOLOR_MODE); + + //char *buf = (char*)threadCtrl->thread_args; + + + if (btn < 0 || btn >= aq_data->total_buttons ) { + LOG(IAQT_LOG, LOG_ERR, "Can't program light mode on button %d\n", btn); + cleanAndTerminateThread(threadCtrl); + return ptr; + } + + aqkey *key = &aq_data->aqbuttons[btn]; + //unsigned char code = key->code; + + // We also need to cater for light being ON AND changing the color mode. we have extra OK to hit. + if (val == 0) { + use_current_mode = true; + LOG(IAQT_LOG, LOG_INFO, "Light Programming #: %d, button: %s, color light type: %d, using current mode\n", val, key->label, typ); + // NOT SURE WHAT TO DO HERE..... No color mode and iaatouch doesn;t support last color in PDA mode. + } else if (val == -1) { + turn_off = true; + LOG(IAQT_LOG, LOG_INFO, "Light Programming #: %d, button: %s, color light type: %d, Turning off\n", val, key->label, typ); + } else { + mode_name = light_mode_name(typ, val-1); + use_current_mode = false; + if (mode_name == NULL) { + LOG(IAQT_LOG, LOG_ERR, "Light Programming #: %d, button: %s, color light type: %d, couldn't find mode name '%s'\n", val, key->label, typ, mode_name); + cleanAndTerminateThread(threadCtrl); + return ptr; + } else { + LOG(IAQT_LOG, LOG_INFO, "Light Programming #: %d, button: %s, color light type: %d, name '%s'\n", val, key->label, typ, mode_name); + } + } + + // See if it's on the current page + button = iaqtFindButtonByLabel(key->label); + + if (button == NULL) { + // No luck, go to the device page + if ( goto_iaqt_page(IAQ_PAGE_DEVICES, aq_data) == false ) + goto f_end; + + button = iaqtFindButtonByLabel(key->label); + + // If not found see if page has next + if (button == NULL && iaqtFindButtonByIndex(16)->type == 0x03 ) { + iaqt_queue_cmd(KEY_IAQTCH_NEXT_PAGE); + waitfor_iaqt_nextPage(aq_data); + // This will fail, since not looking at device page 2 buttons + button = iaqtFindButtonByLabel(key->label); + } + } + + if (button == NULL) { + LOG(IAQT_LOG, LOG_ERR, "IAQ Touch did not find '%s' button on device list\n", key->label); + goto f_end; + } + // WE have a iaqualink button, press it. + send_aqt_cmd(button->keycode); + + // See if we want to use the last color, or turn it off + if (use_current_mode || turn_off) { + // After pressing the button, Just need to wait for 5 seconds and it will :- + // a) if off turn on and default to last color. + // b) if on, turn off. (pain that we need to wait 5 seconds.) + waitfor_iaqt_queue2empty(); + waitfor_iaqt_nextPage(aq_data); + if (use_current_mode) { + // Their is no message for this, so give one. + sprintf(aq_data->last_display_message, "Light will turn on in 5 seconds"); + aq_data->updated = true; + } + // Wait for next page maybe? + // Below needs a timeout. + while (waitfor_iaqt_nextPage(aq_data) == IAQ_PAGE_COLOR_LIGHT); + goto f_end; + } + + // BELOW WE NEED TO CATER FOR OK POPUP IF LIGHT IS ALREADY ON + if (button->state == 0x01) { // Light is on, need to select the BUTTON + waitfor_iaqt_queue2empty(); + // We Should wait for popup message, before sending code + send_aqt_cmd(KEY_IAQTCH_OK); + } + + if (waitfor_iaqt_nextPage(aq_data) != IAQ_PAGE_COLOR_LIGHT) { + LOG(IAQT_LOG, LOG_ERR, "IAQ Touch did not color light page\n"); + goto f_end; + } + + button = iaqtFindButtonByLabel(mode_name); + + if (button == NULL) { + LOG(IAQT_LOG, LOG_ERR, "IAQ Touch did find color '%s' in color light page\n",mode_name); + goto f_end; + } + + //LOG(IAQT_LOG, LOG_ERR, "IAQ Touch WAIYING FOR 1 MESSAGES\n"); + //waitfor_iaqt_messages(aq_data, 1); + + // Finally found the color. select it + send_aqt_cmd(button->keycode); + waitfor_iaqt_nextPage(aq_data); + f_end: goto_iaqt_page(IAQ_PAGE_HOME, aq_data); cleanAndTerminateThread(threadCtrl); @@ -662,6 +857,10 @@ void *get_aqualink_iaqtouch_setpoints( void *ptr ) waitForSingleThreadOrTerminate(threadCtrl, AQ_GET_IAQTOUCH_SETPOINTS); + // Get product info. + send_aqt_cmd(KEY_IAQTCH_HELP); + unsigned char page = waitfor_iaqt_nextPage(aq_data); + if ( goto_iaqt_page(IAQ_PAGE_SET_TEMP, aq_data) == false ) goto f_end; diff --git a/iaqtouch_aq_programmer.h b/iaqtouch_aq_programmer.h index 0411d0b..94d943f 100644 --- a/iaqtouch_aq_programmer.h +++ b/iaqtouch_aq_programmer.h @@ -19,7 +19,7 @@ void *set_aqualink_iaqtouch_spa_heater_temp( void *ptr ); void *set_aqualink_iaqtouch_pool_heater_temp( void *ptr ); void *set_aqualink_iaqtouch_time( void *ptr ); void *set_aqualink_iaqtouch_pump_vs_program( void *ptr ); - +void *set_aqualink_iaqtouch_light_colormode( void *ptr ); void *set_aqualink_iaqtouch_device_on_off( void *ptr ); // For PDA only int ref_iaqt_control_cmd(unsigned char **cmd); diff --git a/release/aqualinkd b/release/aqualinkd index aa3e118e10534ee90b121357c0ef16f8e2db7a7d..f6f840c17d789a0f705984e657e09bbb694fd311 100755 GIT binary patch delta 153126 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 QbZ+ph2hE$F3Z40X0L;hS8UO$Q delta 159631 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%0Dlm(T7AlGm-1N2jt#I zv+-weE&0p8T4tY=>9)$e32rpY=&wCCBD6t@s<}zNf7s{r?J_R5-iK}Ajlur!YN`Wh z2f7-efp)-4#Jd%|1=wUgOIkhjQtSCR_$YA5dhP~iQbx)t3qyy@1W8iolw|}I_4*f$>ZRd zBjtToxeVGHOnZZQ_S)K$elkhVBz=gQ=T31lc-@51A*@bXaM1&A9FjTou-8iKw(u?s zcUid8!W|a&a`59bOTL53$O$z2bKd7U>arpfERi_xE@#zECKwa6#-so7kDr2?*|mm z$G~%rpG^Z~oZ#UIu!)Q?r{|+m5!%TV$dVg%-suU=8;-H85Y7%H^req)%38&1C`WcA zd4*o64;^^cHL9nW!4~^cuXZG7nLbw^THHoMjWl`;ETVGw!->r3E<>@vWX9?f{bS)+ zR-itiH|f5RT;j+;2QKf?gBm)~N^4@0<|IwR1|nBkAq0ErN&@WC)m)fKr)Pi8aAOk< zv!j^RQS`Ayc9f1{k1>+J8%|Xo*L>Bne-gCs&&Xz!vTpdc6&n5h(Sxp|8xQdP5hfJG zQk16`Oyf?>EmvRAROE0a_3t!IB8a@TX((@1cQ)nsizQh;gN=qPc9Zpwnudlvu*6qN zNxA2++m<^vAtf6O7i;tcYY2q;3>n53$5M5;hjw@bA8Q2|$}}JbjO4iztcYv*k)sx5 zIVI*KK~5Ej#5<&2I3-^H5}R9w90HPe=X#4o`YiYQrb=Tii@k#by|w= zSltWDKeW~PBrf$E%sQFW{fPW**eQjTNq_hBRicA3%u8{^=YIuWDoW!0mauM-%2blHp%&+Nl6HjEqQ<&Tz^YS_ z9cxJJ-zKlYe|tz(MUr~#d%jD!Z=Luf4fUe|q36)R@zHyXJVJ)qRSkyUUxPO0#q)UK zHJE2FFq+03QH(8IoER0}X^i&iS3Nl>Bt^2L4aO9j<1Ix(4pG9>UoAf675H)I9>br* zE?J1e#Uy=^9OY{;Wbi)HWE?X18yLLQolV5}=nC%jdQ-krAwe>^HpoF#La%1~A4q@E zjiZc7e%?~~;fMR)eO~WM${4ySJcu!MqNNP|izo9#GiX|DGn-WDHbTxZo-?iICZ5H3 zTs*5lj61Zc8F8)XDwtw*sipI@%}=DwKT_u(GE`fg%WQSzLJUTF8$72bijPV%7Fn$v zEKz$g7O_b28kYaAkJ`-hCZOyDOC7if+zPf^tYQJuki)eSJY?yT*9@|*R6Vahwtmo{ zIV79mZYx=uChMj3V{?x2HcADW(s#h(_v#<5&(FGv0f^i)^qlYKk5Bxa*Fe@#MJwj@ zm%z)1_LKe-8LB0k&-J4%3#@om~e4NAQIwWcQg8?8@F+`2e3j~vSZS7u#J4eEjsRxtRARGzTDkwsN|E84 z%q(IOJ4q-eK}I3Z@57;Q9qT0x$PToX298gD2Wy$1^y_1OFfPv<_)3M#{x-c_M!viT(fGRJ+w)Q%G#sUeOy8P>^e8O8^@8d- zzT+K3eCJHxMq{}WTP;s6LpLsOL&!i8nk)pe`Yon$QTSvUE|mp<7v?U;iy@e2uLO0WtxZWWg^&DeJ5i zWkto8k0q~SO|60;cS?d z>t|YYk2@o}(~SvvvUtu4?8GbDJ zqJOMD=JeOcgrRWsDkB`7X=KITWzTI$cmj_lT!9s_tRSvHZ1({t(&!(pH(h}+`EGv= z9tqbCVvohKf(%?h+eNHT_RbR339&Nb((Z+K^@_OW7SQa~{C*6tWn}N@= zBJmwt$I_N25?1u#v-(i9?Mt=o6DdxT)_b$#=IF?D8@~()9ljT67PXA+OCteKqKL3aBWg!R;g6NAN+zb{&Hg{_|p1%MC zd6tA_VRMp}O}Tzj-n)}n_fCTeb+`?eH3BnwNAq%Cdrpsx%aNq7@;9XU|C~QAfBdic zll3e#LFPtSR!9ONRSgLi978pxCMAcWc$fid;oFQ`{>tQJ{$z)77J$qEWg-CDmW55L zkk5e>S0v^qFGgspg|o7{COKNE*OdBZvI8$cq6#bo=3;lB*p$d0gVRm;lYZ!~BWcN^b~^1J_%D&Is5k!1>VV`XKv_!)N{l>Y}t7Iir+ zdMXw3fE7fT5vEvO_ElPS9ND2rvY869o(<+Q$opJ+a|UBcloy|Xnq`Ta#zz+=qhi?f zfaE?Vw0{cw&I`K@8PzUE$M+`n=Ou6DhbIb@x;`m)LA@{_3#sM{$9sJP68r#xNAs;r$P$CCYw&S<(u!VNfKw655FbnF2{?fTb)F ziHE)iM_Iv(6B;kyac%dRQ4l(KjLxNj55T?h5g!$$QK_6wL$c(!XkZofQ%sd53rY7P z33CuF)$xa0K73E4)HfK>_;CUTT9)Lu1Gt^HKL6r8&?#=)3o5q0SthXQd!c0 z)GnpIQ-#V{qc$2>@Q@OHb^KdC;Tn-sn7f3B`>2$`t>mtk7^rSGUS@XO1@q6+AWmX| z6J~fW7)*QOf8^!j7{ZKP=M-^^BxD9DZ?z#aCcAa8sc*iVz!K$nDWVjHq$&#Bh`5NI4!C*ZNk5T6@NaSSZIFybTI_q8&sZWMscb*ucSGB z3Qp4u9zy?)QyGkIG{k-!{`y3wcR#PeR=_}gEGx?XW}fAPCp$M);Sa|g-uZYPfW!|7 zzQmcY9t?&6^>P-IO1y_xF4|}!f$d~qWd-saZe`sAgiW0b7@AaY>fU^Ze+q} z4Ptj9sTHCsRI8yLk({XLDJ17&&=S>P!I7k+ zy(}{RNU}oVccQWdY;p^zCk~#JzlwU|tSK0{MKG$6%jQiuWm^C(Q#r(06X&g0^@g5p z!+Yx_V>u85vi}8qjwc7U$7ib8)>(Ao1DOda7bBclCN$FEl;zR9v&8L>yQATlFUDwn z9~n0>IJe~ab{xpY4nAX$l)-I?9<0Jg(qf@h2EKm5ak!MY&5I>(#>4&{No`t9^2L(W z{UYJk3j^3fazd=xm=FLM`KR0d5-+BXrg)*;8H;ZLG|#Z4i!;WH+x}>N>*+a~a#e#2 zs2o@<1GM_l^gsNh?|EkHR*K_1dOq)zp3|ktb9^OF@4vY^^oCr)f&n=o_6JKKPnz69 zN8$_>vBk%NeEjAGVEVyazGelu~7?T`Ul5)_OArhxl z`x#~oH~_eMIa7o4z>A5+fSaLpI z%z~e3Y8S91g?TM!B{W%hvxVC&JQbW5!0M2HIvkZgY*m^U<|1(eraKsx7+8S#ix`)J zA=YKhJc6UYO;$d~2Q&Xu>NNU7sY*DjW}<|kmRki~RvK>7;l);3rj>S(G&zAwhh8g9 zPV#d4mNcK0_AY5|rcV0MC4)EzrUz3_4C}=Zh0`6SIW0oOqJl73JjprYNTM3q+PW^} z;~?gqqaqT2aqf-$JZ{|^#uR1Sw0f=s*BhOrojB5L4Ekej zqS{v-Yu#33EMCGU6QbdYZM8;qVQs8EUSoJ-kz_Q!gGx12+F`UUtTATM@HZG;lm=Q$ zstq^dKF!ZYLcNZhYRYXl+O%q;JzkAOwi^#S)V>L^jm8?(7w|V2kNMc0R3tvj*I;;j z?BS$Ke>a>~n+WxX`z182sv_~&opf+-waNWb8lT3>A&qwN6@7-u*!C|wTv%=7e^8q! zoj@HJ?*mg+)M?XdjJ_(8ER8js97KCzjSnaqR12Di(>0 z$fnX^C7nrw)i4yc8tf*`;aeSRr}5d)Y3ax)yofo9q^?0iA{{>?E~8#C9r<3zaH%(t zGE!Dm;K{h1-4MNYFq+PV+YOJV_64Xo3&WeBHX0tJqoONfa>c#o-r5)u zo0#bQTC=m&MqZeMDyoRC_&qPYYGcuoE@Lebp=q?yClX2C^kHq{#_z&dyxv&5wKmqe zB5XvTiJEFGrA$UBM&Lu-2FkR=zIdey|3f0S>ui zT@>gtGAgjE?DlnqPIf8`$jHyJI+l^T8F?|Hmyt(vUN=X+ zka;YlFJ|gGt+mImNay@|Gyhf7H02@?skr&oiK1U@D=R65tC65I79Tk!qWFPbHp-Qml82=Gs^kl zh_-Dj81)L{4(77x+OFd%3?i*(bJX50V>5lF)hrSZ$;kg~bu1&#Bz`3N${D)C)b$Fu z6ZdKcZE?TaL5kbbAh&ucu+6q<{|Ekz6%spABT`1Yy zui2&QnP-ROxG5f_$lzKcG#yVg8^k7(SuEn&Dw4bifotANR4}zp76?-WXiTPPgbf>}J~_!$GfX+v zwWLLbsWpz^+C-mlU2J89vygvHtZqe$p?n|rl0)n2jA&t}p&BE}+nD9TRa;J-(Ls9W zx=tgbahu6ZKgCs382abF-k$lCxyKtxE};P*l9?S7$wUnei&{$FLh>9wEDTHg7G)Mu zCc6=dSw9DChx1WbVisQ&el7spUkzHZhIhSdAA~rEra5{HZoE zj0W4ZH8A~}0aLk(XH@0vAit9|nfNXKu6UFm8DM83NM{C}b5HX{oSnbI&$_?X*mVsa z$e3EAwNMWkgV7~1N*wQM<8w}ZMWxL~*GzzD&5MP*jaf4?w9LaCJ?r-bu(F0!8Ggm5;`dDgR>4)}p8^LxB5qBl>ipNxIv+#&l&d_E1u$nRtKQ8V(vAbr$Y0jmVrHq(^za&GegA7zZdLv)~%I z=U|*%2X@1t_}=1UUkAgoZ47w^GIBbn4!-l*ZAaaW9a?_;i0hF@Si+!ky$mN&9fRftCt zNxngtX>(PxQ7LIb963q+iQLRZ=jC8IMRqEF4+bb&mB9f$L#+oQz-Hh8a0EC8v{QB} zH~`EBg1`cx0$2=G0n30Gdl!BaKzE zK~SiDTMb?VM!0Z?QOBA+2#-P5>(y1OW2^6_jE^;(%54~`98F4S(BJqlLdWWCOXMf?~zXz+y~3aGSQ;a6-E)FfNR06>f=~5Iy0Vn4A(tIyacp zv(A{t^8~hYmya(Wn0_^s6Hz-+$t?1&hM5WYY#oIo4GoF57uJOg5o)WDbi+O$k7! zC2%nkFpr}XVVcp^gjry4G^XNd*5u&j(6Bh^VWzU2CJCS!HAuhZN_x4996|-?OeFcbly`VUx8}SHTfDirJ5ba*)S&RagrvwcAI%_dEUO%(tC>RC8iJPP3PzM1DAQ0kJdgi*dXq z0yQ#hUa`qU_pLc$W69Pqj5Zk0IEd1s>&CO#Lx@1htE{?YwkMd3sx4Rn!~8AT;9=5A!Y5A!BBB03`+!I5?r4as4C1+UE830+M6Q1*UY zH%2Rg9C5+Sk;khUF%b&V!n~;&bSCfevHa|t2$f)_#dwg45u>oH`va+F8QUHO@%prUt@SbNe3kntoqAGe$TB zNv-v+jcul`FxE%i$lHN%?1m3(6aA|QVlEDFp=?oZGxZviuJDu zMdGcDP&yZ5E2i`G$TML;j4rQ*SA$sViJi?D-!^lawZ%Ch3h;rGCd;mif@!PUD{}D0wUhd31IYu2OZZ zIwtXx$KtiIEL9!zur3ILqVsD*>=7k@L}HH_eHzWBHF+bVY~99)?~R&Kq*nAEUANtI z=gsI5ok~14BZ_Lbb)x&V%m|zs7!KiR#E-l!zZSa2j2?)A`QGO|Jx(HvYvFRO(K+{Z zBM%FgXi++HG^2u%MN=mtiJ?gJC>=u)Ny>tgjv7haL?Q|q!F2qD;88`FI60yCPC9pS zF-s&Mu?~rg2-h8RvD~@a4e3N;q^CxUT5}i$;w`iGgGtgMp^DTJZbpfWbjU(Flg?$Z zTj|fujj35gFROi_>X^Jh6VXbf=+qHUrUPMM;c1)`8D%;yR(r|_Wpr*j|GEyJphK|< z8DMu$GpDBc$?2$Cf<&buI!KQ+9VN;@8j96QRyc_q$m-?@v#M3G1y|tP1zF9!QR8mx z=If$EGRjR`YmGdN?Avsng=+H{q=ZOZv?)d`0~RJi9Za=O=DX-uMmm)^X*xQj{9VQr z7!*d*ks^&W8L2%YWEb!CGFop+oe~U^PGriZ2PsTRKiwWvr6DsSB+(#=1WAXoZcB&h zNRZhf;>Xa18et+m!Z4vv8Jz@!`o(Bh0znK?7)cMZO-l!ZLe*xc5(Sb@)1$LT zfb5-(rZdr_G&YQmJg6!gJ(@uv%V5)L{NJe18^SOo`XOH{h>>JKU+}+;0{tHZf%sVG z|Mw^mi*H{}iE&r+GYu+Pt{(lt-!VBOS3Zx@JERZp0bZtT=lBh+Np$UX= z>%H~7P2su>QZOeh>Qc}KTTln-olIhun0P;5BsZIgkIa1WuUevij7N$1aQ*PhNYJ8_ zk)V)-g8ow^D19ZhEyH?E$C@VR<1J%3yTX))gv4ItwVc>RH;b~1&Lj%3H>bmTRmYn; z(km%5SL3=Bb=)neFp5vri2EAGzlxxLhmUhG-kwvTuUPaz13?nGSdnkXZ&l6siVMk*igVV`9tToU^-#BrQhn}j_=688{4Wl;swD~xM^XdG3t zH4*QaYsEW=dwgA-LrxB|>E1;fr^Y!X24ZemVVto>Y>cgIIJ4qpr~{RX7m$1%?!=lG z#)xy!n8Z0M{Vd2-a#FcZ1#u24t0;S6j7Giefxc9n<6%a)r3~Y2lFgNHB#aLsZ9`?V zv6M84b4a@UBv~aLibLllO(H_>M)9xFe@2APDli`F+>=3tAH&otVqSZ95c4X*sV3hZ zA&{tmLH6rKLTQVok8dj1Y))O-RWn|zLMxA1&2p8hZ$iPZQzSK7mhS7Qat792N3G7h;kw}=q%6mvT1@woB z!6ENPW79Ui{tHIpW>_G~@@ho|GJPxmPoe^HL_yRiqXI{}zl;imP7Mn71(dCdC zUUo1)*9O3q#^+rWXUW4W+Z?a!oX6I0Bni+e`Wxk zDwK+MN{CTnof2k@0GokyxG^2~l(3`3J|*<{|0e#Kj;Ven#F^1+#yItde={U>F`^AJ z1?AqB=6}PGZ&}Mo(-dM3m^zHtaU)W8va|ULTnjRF$!p=KSe^cE!$*0A@qL3j?1u4d zq~_%IzSA!e1@41;KjuVHlkgFi&?w{N7ooX^w?@*OzV0gyI{me=zxo`BtJxS-IO5D~ zjA(r*IMaI88Y4~`^338{v+|2z_IQBJgiiX<>5C;D@%m5oyW3|BdHSDxH72h{`1$R# zKIJF-7}I=s{Ehxa`_S=+cBe)l_poJjmFQPSCZjzpAE$?94~Qh+)C*rOK9j<-OZ}L_ zZm+!2u1)-jG`Y?wro9z>0=-B$c$Su-hh83^C!B7!HM)aF^(`+Kd6tnVz5Iuv?|b>o zPzk@5so47)d2hv6XmZtwwAd zXa&qmZ2`_xaef1Vn^-Sue~CL@_a;WjYb$>wURKm(ZoPS|6*a0R6e}-lGQ$veofhU& z(=~DKRHJk5^MWfo3%ry@9hBqpx<@Xyr6su(#>JbG z&rsy|RMY8qpG*(Ed?_2S4=m`<3cxV{!CpL-R%AzkldIKG3)j zSml-bWPJDXaKrm&VPH(zI43)TDiMCSRGsWhzBH0@Qa3=IB3oJZ{p3^WvS-TWPZIuu zc$xP}uGt=TfcJq#oy!~<$_E62#f}X9&%Y}iulzb1WTtS3Obb@?TXMvDTK$=5ZfHDXl^%-47WoS%GDJr>5|@*gBRCV8%a=6#Xk;*=V`Me6Xa!|I zrp-Fp1%*6q;{bI?!xT9~bd7r+s@E!CpK<1mLmGa8_ zc!NE@aBDhljMT-YvO6HT8Q}kD`TP-7i!ss zTJ9RTDxrB-#@vYYv&&V_>$Fpi)Ewbj?h=I2@p{%>-Ei>h)+r;Nm&=l=tHwx87e>rq zB7Mr`4-s%Qt#|!bthW{Gtz;Bw>y_`GI}7*Pte3{UkDJCTpTA_VInx|i<30Io z880`CpGq5}i?-7FogvH6Mp=pIC@BqzMT;d5L)T(JoB#FIX*w7N(=&k&P7BgAK-+aPAtpBGHDJ z?G4DRko8zB+s&-tZvJ66WqIc;*Q(-AA&J!HvC`l)a&q&K`@h!a5lZ%@v!zs&sgniA z=2zfMr?=mffaI6c=}Ij29mkzW;*WidUQT+Y-qlbuIqRuxyO z>w>Z$?=cOtKn+kHxuGm?$+f=xNDm)fKk56>Ig9{sYFrPphNX*hZKYtEt#no3f`}_abpbJ;9T1i_*;p#1-}S!cekWP_?Mas8r&dMO zSD(Vt0$W!>1xYhwdxe6sr$cC+0X z6aOckPqJM9pI9FL-?02JrHB7FEZ=tu%lCW@%Xj>LW%>I5#4>+X=_`u2OId!Pq5prw z^7K>U^`)s_cwy=E$j&E=P^M*E1|Nzu!P!Amy*bz`>WifOyrirV;sPJ> zHHS`Cc*p#NUS7MWejU^a1324nX8LRQu149aBOJ_25(w(Vjhp~xvFrdzzp-RD`8|BC> z+{^Pb7p;hS(a8>8^U3!9t$*^9@cg=o=n?NU$&Shi2Zq^&(c!l5oo4=W%yZv6jX;1X zwK{b)*;kG7<+*?A`L)xm=fPBVaN)GEBpTZ`G7^ufg)yatV^a1ZKD@l`)?05C2IMD3 zINl@`zQjCKcIdBs%>a}G3RpzDH<+Kp&Lt4sY|O>cdQSA$hBa|rE79cai0!zDi%Wr9 zVtQBS;7}u_L`UU_Ll*u_oJkqhrpb>R%Onrox&smCC>(*)1Cd-8L;QffT^tTBbUr8C zI0KO!bXUONA38jn{rN??E0&#`lr}CxG%Y(GH{_Soq^)tZbsO!#l(UF9Nv^|J9@7Y- zy7)~Rg%crOEZ@g?w7{H%i%Rk}iCkQ=H#%DKX{?yW#=zKO8f+c?xUnmS(W!ZHbpC=C zjr^#8ie_?@Cz(AS&0n2p#SV7Tro6=7BA>l5RraYsB>8I+Wi%)_r=8I(4T#8AB${?a zV>_-!CxObCYkF<$=TaGw{uVrk#ww}%9JDZ0!83UpBg+-$gt6zXyxHVQx{O@XCI4q~ zi>-)^pMnR2e*z9;eWLKq;92}Ku563)qj2kajsTg*`JKJ*WvF@}y&kw3UD(}dWb*q& zniz5@E526_`tonwc2lmA^qUm!^U>;vfb2pkDkIzGFA!n3mp@pW(+LuIbOK zX|XEyu$g}n8PApDp4rxL+8Rw;8Kfcm8X~Drr7aLk<4;cZhQ7AbPdLX&hvimhK6qbs zN@vA%_H_*N)y^8JD@@AfDM!2yk$XDLOPbu^KTO(*3?eDB`k({^Uj#P)3TZGBFQR}W zjCbD{iECAn_?ADh#t|KtkDlb*qAKKD6ArRo`S5veav>wjVVPnwdj^2<^gKVxkHkl3 zHHLx>5Na8;u5kG(x-N<*wYlQeaBHpkm(fFCFV1_RlE0*)Qj)FEI$unXt_ z+JG%U1ZV>4fc=yeSZ>i(;7VWtFb4=6MxWVe{ZCE?WeMI`;`rTm?t7!ERO z82uypTV-X*x6!AIg2g8brpmoXxxu`IkcsT26F1U2f~x9a@+hzYXacra&ysd3Y_igh z3l3QiwcvDvdug!MN|(wVK)3Dr)CRl0Ca;~ebbB5D4TGUm8Pw0yxQv_$CTi%+4KL(5hs^wLr6 z5OU6yhb3f4_(teTX!*-qLYG6!uSE%62K|Ob&w=K%eKUO)w48IL%rs~TB?w&#Eq_K< z=n2rSBm!`bBE;2?@VGJuE zg%10`+reYOQ81fo^0(k3a61@xBl!||Ah-=Y6#OE15V#dQ3@ktNn-6XQi^q|6TR-9V zLn?bisd@iXGG#d(AB^O}Rs5Gc?`NY(7ZyYO+g~Zm2s=+nPm(U1_*5s6_)KmS%YFjL zM!tSMzvSD&k9xkuuNJ=SRu#WubAO&+Jp83wRc+$OcSAqr*LNds6^@el0}^NPdtL!D zuHyH-rtqEj+5EQGMN|Tooa0tUi-2qgKi1_^ZG#-D{O2yUd8+2RrG7(;pH7wH@G`PqtL0Kad)%>AL>V-7^q;+z6=ESV%d_Ydr2A#jF%L}AxBMKE!!sb+L7H$5FIu`k z92O^K3-(e*wqAHJ$HD%Xl)qY@Zm)+jX4DQx zQWg@qqTY%sHvnRcQE(^F4Kx9p0r4C!rcGI0pjs`R-9U-$e;> zc9Lj~xZPv)iQOaJa(8yU{{8Nep@$fUtin!q=Bn_^gT-f;$+m>aB?p%HUoazhlCD^A zd9y^v(4_(AjS0IwgPWGkAV#B0k7>kyaI%l?7ErHeV#{15%$AII$WD_*yIO$ z9>Nl;8MLevePJXE&EtZ`RYilbg+XEKanH^W$1$sMBH6Dkr@;rP$oG@4`Fu|p{(+Cv z@!X_O1WcpyYI*{U1YsaZ*)lpW`yr0F)j2Mz=`p4mSW3O{l*h&QjY~Zbj5tev@MPYk z=9R*TXP|2Mn{Xyvu7;~V6g0Z@@4Pc8Q~?iiH%-h|2K@%__`6G*pYUH(ZG;DMyRSrl zvb}_MV=;MtfE2%R~ zrY*mcRJ9e&vmqoapMhBTgM%_SR|_gWMY_e7bY)O>>CUCGzKr9SU0)ThY<+n&o=3ZV z!dUCN9~{&kMr##c720T1Xradq5r$oAyZnr{5vd_Gad|{&XVaN@E=_c1*O*Lb*^f6= z;D1wYi*2(I$rn@4O}#y@r(#97fqnd7Ra)a(2sbrEBeE}x0p}@xSilq|$37aI<8OW< z07IFGP@#$m%u$&*rK+sm?tDA{_x---`*@zg+H1}+#~gFaF~^*9%*$$MXIf!r+Ks2`zV=XU z8U$HAS02w$yqH(D=HGB$_5ga*taZyp5=xxE>QHk&nf>vhR#_*$y7>J+o3QGQvG=H7 zDYQyk9mb)gI{V6(y>qYs&>P?9W$z3!($ZeXvnzD9i_}c@>eJ(?G&I|sTa(c2lInvn zt9qf#?;{TQN_S%pPwLq@A!7$?_VAaxUI4p`- zBi3J$Xf|d*-3&UF(j_A$_TU>O&1Pkn1PnnJFt>FN+cdNxY0IYr4GD&ZRy8!%C&6H# zwFw^%Pu;WW_|mU@Zd-?I4SSm~oq76)l@O*PS1+^LXUEH|9%r@1e|3KU)%QKaPZDZR zcgW2@1~mE85gz4N?!R+{XOVRqi*KJ`)!Up&SW7<^HS9S*7B6>%{|$Rtf0l39W&B;0 zLZu*3CX01OQtukaV}BMkbSmiY813^njHdn#qYqk)Ci;ZwU*e+HgMKh;tbTHsgG zjxg(6NYFXD*6XL2vDMoT`zEmK)9PFqA9=Oz9b>1}91R=(9(xbCTm$r%s=t~r{Aqty zy>g4kUaS9cYn4IWe$h$V64aY(d3yPX%cYDOLO?CCD}Ecd=K1`}LttBV=5JOf{;ZQf zIOXpvrn5Nl`enuRcblI8yKyDC{FlXvV@Lj4)GF|GF6OW0hY9=Pe=lm*pQ^4stol-N zdUEv1>CnqcWE2YkSYWq*^*a)lTk_%L>=} zPZ~_{--n1E@#)p+W$q|t*9Zx8W7n%YA&yUE7)1C~yLTY+=U!KnO+od-Gp1kZa;4P{ zvEmL`ae6_RQ98v8D%DYNui8-z3zV*r$|1_6muvb!Uw17jo(m@Hm%wP&TP3x*uIa}^ zLVXBoq=wPd0k5g6WlImZ3$NsiZdwWc1on({%~+Ktt&f~hNQk4SIA4G z(YQcYU#wfNrfMFQ*@ob0dR{_qAbrDl?&oWL839aX$g>d8#0_0(O|Rx%FQCy+S=N2b z<}L{9CQ?RShg!VxO!bmUI!fg70$W;S)QnM<<>(A>wWz+H5u{2%C17YhFvom$AxvkQ8Q5__Qd;|SFrBaVmh{sx{Wr>F_H+4E&Y^EO%BE2`4p4#PtU#$b4dtsh#x3&!WnrF_(7qh-+)Z^9Zfs@$=2F8Eqw$ExZ30$TrDA!{6nvm;D0a0UgXgT2L83AP6KcXsRc|{I!QTMHEP{-Fu4hibzDbZ zdq^3$pzma^P29=+w#zbCywl+Ar2hTuUhB33Xw- zI`BGQ2Ch6`8*i!7h_9**_TYO9^KCHGdOmJxZ%OqpWOy)np7+Ug-SJ5C_E49h(=9VT z>LO`NQfru6TIXm&J=1GaT`$)xhmOnjO4Vbe)y=EA+eZu4I*UF;t00(?Uf`g;Myi>9 zkm*_*R_gS$%6Jl+@%L8g4mM?KyH<@ou*e`I^<+8{`T-hFoYk|I`bN^$psn=Lnm*vG z?o3pJ2@QJYUbWiZ)m!NhIRcSpmF!@LsbIqW+xx$XGt$#)MyRsc%(AHF4uPoC4JecP z8DVAkEk94ZbYW%Vz%$W>aW{FHJA477j&_2X6%?ij0A3D-H}F2ArTgejvN zo%C7M{YwO@$9ahpNZ16zbgt;%i#|`-F~ahnwdSuNmn z_ruZVoi!N5PuR2TUwm5XdZFF#9=vWV_-y^T1RbaWTwMH zXMIka8>6S{GW1CmzOypuDT!rGZhFlkG(3!YDp@_xTarwdPLpDLz3$`G8%e)+<)zll z%CD|%HdL)eDi_bc@-Mm))Xy1Jwzk_5-B5Kbq%}_4QCHg0jkF`Z^_A?ZJCc*;sEycZ zC&Q`aOCw88L>`jjxWLFP7T!WsEXyo|aH(rN?x#Tw$jfOe`w91NDtd8-!$&1bqvO1e z_DD&2nT@6@FFXBs=}ewEKKk{o&i|(`EoKH%2#c9Xmod}XkC`ft_G?r4H}$~Q4y(W| z?M#;WWunc%e=M-qmq(UryB7F~%kuCa3w%Hxs_nXhq2mEZ;WiMi+r<|7g{>uQ8Daht zwN->ICd^-nmlK8w&$2G6bO^pfplW+x2s(yo0b#1`TFW{HaBzzVza1s^m$0M6ol#Cz zV|i}PSpTpjzCuRW zGlZ#AdKP|H@7Jo9@;vyTzC4ZASaQZ5ExjaS!u z=XtxXVd!>VTN2&v0g(ir{-1?G=$NA zUB+mxUkke)8cy>be_8X6^rL^BFLUz79iW^w_lx|y%&)LBUvgRIx+L#NDF_+{dZ*IS z{$wy#lL>3xX%yRONq=zup3O{kR+C0Dh7RM-5{P%DZjWE9`Gqjn4(fF2-O1o2VgDjb zGf?H5qs*kH*7Surz1A)WF{}OsX82r5PP!`6Ibvs66QWJli8H_a!lwsnz*G-LTvkGD zmJad`2XojE%e;WQUQ(nh9~%QYlmY3B)-fo=02?Qqn=KgI`G41BCVV z!_#Xm)PVV10=6FH5x8AN40lN&JGNpP;mVAYp}&jhAWhKr;aV<%&Y?bkg42|vdDoWN zYjk#vx_}O@Qb$J*ruEr1_4AM%Q~IE+66TZfbgM3(@5p!1RQ z>Dwt?_Wf8>`6_LO7!-9#?D4C=o9s+}*rpmk-8&niWq$E`t%Y8LqGJim{eur_mF+{) zafVL!=a80)vA(#X3?JfM3zPw!2G{|MtELdrdz1K_g7tMRW>S2HLtT8nMaixptDgi%ypp7(~cs^!ya zLOfIfan*3FcPToHRxhd9MOu@QmWyzgpUM83+Z9eTWl=+vuD%8E`h$0D3_CQEeWqN; zA&$Ya?$Jr0_oT^K#$}>i6$NBcFP`l)wxtWEy=q$yLUh~7WQU7!A-GPu3_INv(m6&) zM^kE!o#t3UIw#Jywpo9%^?FjLA)G&;#QbK@9sG#A0};p8>-H(f2&rKz@ynnswERa{ zbNu2o^Q#7GKcnqmn++XJ3p?}J%QE*j#kmmC9xsRj#v?^() z%$!*5vX~e|M*5Z5<9@BBANWTY94X!*og||hS^F8~>`7&jno^t~(&H-hzDG$ae%31R zox;(Z5B!_m{Sexg#IOuS3b2jNRp4kpa+sFjq|@<)|FrE6(yfN!`OwbwG3K-XZHd77 zSi21Oy^2yf{4CC8jVV+8N^m213m~9P&$0W_gyHtLHgdFx}}uQ*6gm zM_rCPcL(uK^IQI9Z!T&ifUgd_LP6B!G-be*L{nrs*X37y3>Y1!=|MI``-9wf_25)$ zE!$?S!^(k(djitaxSR|5olZu?oa2CeI(#}^$r;{fP;gxaRJ5+3=lqeMdD5NL%^FRX zRDVZqt^JZ5BZ=-x)P>@WaJLOO284$NxjaA;@S4pv3h*b_P5ukl9hd%<>rcUh>-rYk zJuJ4fKD>W%XrcS@Abz$$|eepc1Is z&qlW}J{IiwgFJkuOAE!srCL|h%y_GSwW_FX_)yx-d?bw_d~FkO;u&bf@xioP2v

{j_@98DE#4ij{0cD+uJ=@zYdeXWl)othwF@yL3YdY}b=h z(5vTpZ;I!GW@Mt>a~nJ`{XV35(O)pRtsd`k#kQF zT@X$6i@eJ(&a&U>n9vN{f-)1w|7`gWcGDys8fpVV{b;n&OzD<&4C#U?HQz4RHcLv^ z|NCN=F000E2G%amvdKOAWu6`O@ zn~yO}N66zaqQmwXJlQW;r>*rETCHnLy1t}ifd8vCrn~$G2WpHMBGtN5X#srMxH+2Z zj0pl=lWRVwRDm9b)?kNo1FV$7cB^SA#L zne{rHBX?_!_`{nyGD?X`EOEc-4JFR$(LAmh**3LA^$SrY?3{4xFv>B- z^N~{aZ3R|c>c%NGeZ4*N-egDPz zMeT3(v)>kr)HsiC1?81AZ3EAtO?^Gr z3R@YuD&G!3M-7S) zRgot<*ve|$@2oGrj%T2t(Kr5%iE6(Q?n=6+(N>>>3py5 zJ)iB-CO@54tNiK&xtQNthiZF1wN+^wB5pH<#ao`GU-CsTp8J6+pn|@~75-OsYR$V= zgVw*V8d~Rh!!E0bT_60l9t`Rs?f+dpZ02$TrylP9FZIyXR}YgetB3k_JuHSh|9Y4Y z$?V(y=X#h8PFuSkW|7{~Cc7Toc0J?~{+D|A9+Ro{@Btr3y1X7*{rgfq#Pj>|dPqX9 zdY4QGp23IsST#?l9(GX=sl59)Ypn-u)^vDwJw)eu7oGlVdl+cfgK}?D2j88_kNY*E z+hY`tO`Cs?-U9t}y0u-nJ`}DL1yjZQx83#^VG|mHt2R-?kDkka{nv=BgA8pP(~#|_ z?|1)=oQI(ALu`FlGtwR${k)p$bvv@86S4Mg>nKpOs7Dh@8lc2Hl*lk>Ka4) z4kX9*$V`5&^U{Y@Cs$HNMqaA&k@U2#_-ya%mHA80CYU=u$Uk~^Xxfpz+-q!e{g|Jz zJm@Epec)WKc^i?)Mq47Pr8~iS5{W1$J5J{p{^rgS3LVN}Un8DjpJ!54j-Aa6!ZoZB zabxYU*9g<@UWIp`jydggeeL)h;v;PG%Mb(`xvY_v3V1w)F1PJMAo6Mrw7fFtK~7K5 zRRigOzfiMz&js>;0w5GnrNrRWYR{}a^v+*=H8!3M!hX-6crGIAYCnY;;3u9*mU#Z! zPtt!_`+2pW>%DrmCp0_c|F$}ebz7WZHqpzCBNtIF)ei< zsxB2BICg_KS3FmX@UHeYzu@=QAsq=+x)-+OZ~r|qB0+IzijL<@qkh_wfA06ltm}zV zOX)-%hwbPHrZd10KxY8vt2h6kI>;cp){~Lv)it(MBphOkK(9~=fph1bZVl%v_eA@L zQNqTAx%|WON}5+UBk=bv@CR{MHpk?7AGIZa<@u;AJ;0?s?|(k`iTpHqR=!$(vIWuz zif3{8x!5Yl>rlDskaq_c3xzW#56$zrI`v|qiVq6CuFC1&W6&tOmETBLm)P)RAJVS5 z9mA$zXjRcQs|IOz{3W;zUAV*YsMB+7sm|k`foCupnyGpq9K_E+tep1#$~8qz2P{J7@RPa`@!QPvC-Xv@pX>o6AuNtF#AN}At@TJnOY%GKa9#ZbOw-xcHGr7M zkJ&{w;YXc9HE>lWLQ7Ao=mMkxv-!_mUv;cxo_Exs$u&V)c_p<`a9tH|T^?xd>vu8O zR}rbm0@1!VY@%HtN{MP+sDw_3v^0^H%ZrbVl8MgSQIEf+G0~=Rn@z(SdO#yfiCke5 z35AG}or|-lZ#4%3-Q6LmLs(@x2#*aWYI;B!dueM;zZWp>u}oNRR3(;Tk^ zu$-YsHc$0bR1vNhqUf4V1z~MmsrhTto5nd!n0H+6^WJnBFXxrH^4<(|&6}(zxHbMP z`1)5@nV)%apc%R)|Io!L=E==(4mNHvw!AshNHceBezVR zM8-5`5bt(xw%%yz3yZYF!maa{bG^FxAn?@OWBG*lrQ{~1cDeGrjVP_saN=JjUX7L$ zA85yiTJ$VD`Oq+$x>xVH_`QC;au4h4Wr&~%*ae)5l#_-LYyQ4j+@=u|d4tUe%NFaI zbJw)+@J)N_C)g!k&lVYI8g4Utvt*jaXtVofsWXk(knc9@q))u-H%nvy@hx{tVt`R- zHr*@-0*r~~Pn#qy(1P zgZaFDFn5%pHr2yqMv&1wAq|w^B++|!EOE4J#T*838SHwhtncc`@8LiJaOyB$B5fsy zf{cX7yGS=a-N(*P{8n~2#$d5izDZ*1!_Li{B&ELLj=eS7=kTH3hA6wL=1jV4J*4}| zFW*y#WoCV&Q`j`Z15>wKQ$|im9pAG>Y6v&SZIY;9Bc}gIjZfl3IMDLN^W{{mwe}?= zvCzAk(mImp5H`YBMrzG4MjTQ2STwAW%`1!3@3T>6eLYV}^+()Mp?n?OC<~x(KD0@8 z1{?0IiQqEFui@TnOJrI`#fu@`^ThE@${PQ$2MOzl-O;jXxZ>?GKdqj4-1U7&aCK)c zP!j-O9igj6FdSWG6Hv{4q*aFmro!r6x#Yio%|{@v*d-$x7_nKu^ZR3j#Q?^d4Vtc! z+D#l(-bR?(7o8z!SOsBf*tDl~!qyPBp0HptQPa{4TH5uE+~ZqU(8VeTcL}(P69SGF zR`aC?m1ZHvRh^3LNGDM<#=lVdJZW+;t1~ct5nbyd-`U*%Yx=nUW zbNU9&-aV_a(b8Q4uEWA*xa}Kb*amHs5si((5o5utAJ1BiXO36>9mibry!ULBn#L5T z&!^I@iP7!eWIvqN;HUy~exSNBGTuY|Xwfu}*@#a0F5nqTBOJ?f5m4DINWN%d+-Ux` zLCjDHU-7Ao2t{N6y+LM%(&D~cFKa`M_OT~82iD@U0xq|SHu|8xMOcZB93c@+F?jE8 zkmRPu#E5dz;kB$j@9I($?J4wz(~@#F$bqKDU~|qcNenaM%t0GuL>O`&vR5p>>?YWC5kV2iJ%gy^LnEC){Xhp7=ygh9i&4b>hC#=oI%kC&iRj3(_`( zmNqu0lC(m6%EcZCEvH8co5RPe>t%OyBTYghAXxN?#6?iRVe4gJ3nNi-B8(Ph_9s#t zVGJ~fejYH<_%w%IF#K0`iLHG^Gv$^N>Y2L)EeC zB*JaPUNNo$LxC*SlG?INcN;Aea>>J~!^)6~lMSdB-QnjH%=J-ySGws_Y@ZxurJKC& zu<|Of+(o(M)d(MBJMy|3{q9g9iB}tm3EeKE{Ru)-Z=FLsbi0rCu|Mlb7Hj(Y>tyHE zNZhqfzPTEG3#gFBEseyeEB)vx4M*QD)v=6dX~eqsQ&wxvjT~6A@J4%PTKw&jg~RT*cs{wK#6K$wShQ9Jv%HVwisJf;bUxWg^#h4a%C)1Dy}hFMy_sS*qT9ovo9Ww1&L^Zu!R$ptRnD6WmGs>8fH3(=8IA1I4%I^+< z=VPBKNayziAQw=xP{335S}z+4{g+SVvk7xlViCVpEqqd9K!W*qxppK+#}#;YwH2v< zopGBPTP~fhgZtziGV3}c*$gO`L;8O84oQeMMzq?ymJX6{cZIvA)SSMx74fHlyWW@BJB=vmdV|q2EX5|`5cq6| zjJp8>;Sf+qh9?{kH%s!$b(6KSR0%YDUv}RB$1(qspw>oz^JJL}Zq2*#FDc|1@zMJ@ zR9JjcQKcvN(pJ7N-?XL#Tgy~J5z_ibqjjr&Z1HnS@S|OVUhLBSN9NZ*bPt;+cVBN@ z88I7b?Vwi1e9w_x{`*pRBb-Q?Y`&44mu{CcH^Rx7GU*x1`{eC1E!K#NOd)L}jJI;~ zTD&j)1B7X%xvrIyt)cN?nVgI@60;stW-dd6<0t9Ks%UFz-MW#p4T!8+Ij8x+BXO}du>o#OYK#i zgGr>S9?nxwXgO*;oJ>`9FR8K|y2*$$!lgkQ;}P@Z8X4TiXn(t53pMreR^ApUY~^+P zI4(b>=F>8!w4pw|8fz=?4#HFxfj$L}GS>KNC-`Rc>o6N(#zTPbGu5236D%o{E;l2z zs44Hawla#g?OZOU?*p^{TtJPB6 z78(iLp*vh+uu>P$S&Dag~g_ z9SV1TD64NbCPlj8u%e}pf|f!l=m2I1Vcu2JvxCvi+`CGOJ0O8CN@a5gV`#*|QtjmD zcr&i?RqE`!T6vePlEgcxmG??z;2lV5>sFa{hmjod@+u#0bfiyxk~+2WPFy7?@4#AQ zm-_TEJ`sJK!5WbgRV^t4X*mf7u9DG-H2mkb%FaY1CgLuLb!gSf+u?2>!)jeM1ne1&c5)SN0aST7+vQ_AX=0bu*ES&uQ_d z^@)t&8VbemI^LR`(s!9bvgIzLhq>qjY21mD-BKzeI^jULo`gCR4B!G5HeTwM)7m2u zzJY&asjTdT5;QNBojemmZQKxWtH5P;SX*G@Hn8JZe-B_cvK2SMjx$Ro@@^CwIw^Nk zz#ra|G5S3Ap3Ktc;rC>{KKH&SNAE`2cDyG+NmP5~dlHjGy0Z5qEs1ahGm)pe`**87h4TNlsiQbzP`>e|y;YreOAwOmM|Ot(~v`yRuc z*4oC^OAZ3S-NR*Nfi~{7#JTvbo1pc~!P~^EYk2^jmo}&$SNdc(4nL*JqATH~t^RJM zOuGk%NMHE;_^nMRmDlS?tFk@Y%*X4)?@7%)l=r{;GMZCCvJ?eyrZTV=P%4!;LJIvbJhJM8#G;#GE-9$!O~u;+k3Dr;-4gTh8Mt~fTX9|KKK$t`<>$_fyP6%A_V*ca zS-WwVsV>}O@v9A~>h4?|YhCFTM*>B^)pL#InGNItCBSmv7;pkO3j|(A_Y8P|*1+=b zS&rkG3(N*|;F-ZW+$H>W2Al1o8GuFyJ>)7Qu;V$tt4oX45oQsv1n3*XA?oW{U*Q=I zbOkDbJRpO_IzFe>->pKehmhjwbGNLJgf0|r+7=nt1*@I8Mb>sPVk0i%$gd1}|76#Y zQp^9%#>VyMD&R!(yfHXs3T7_ z+;vW#;HpEp0S@JFaVSq4(2SuPRX=q;Bmmr30) zK>yq6SS+8B~tB*z0O9}NkmOAQ;Vk7~nZ=n!`mjOo5O;zQ&4dKf3KjBg9>lQmaDYR96tFX^6m!1zAUEKFru2wdn^7$4` zxX7-kLCa+|@d-Ct@ddb6X%!``z$9LEQWuE_eCcbsvq-1HGfCTywD&BR*zQ;$+`;|3 zV=3vta`(5Zacv!u2=GJSuU^h`Ap!vc|A3l?Ctyy2k*-p7|paVq=`T`KESk@aUwL27!#|MGPb z(#LQ|WG_YL^sa7XK7rmhlu`f5cO|h8%M(%W%FaFv2q~+XW+Wu^o?yD#{nK=9d(m{A z077~1V25eAf(IB&oc_+4AVbse9)1KLy2gjmt!_b`xw5$-a*1zvttZ@dh0AoYw3fc( z+vhg;bd|jKrlEiBmP*7Ul=qPh<;jm2X@+TRkixzwP3XIFt}g}IyhNh<@hn>+-TE2s zs1*=amy%jfY)kcsP_`*kvAP0lur9J`iA?Ed#CGdWrSt|od)WL%Mdk6k127wy(3;(@ zKwo|z1hnU<;8_No1zHl<4oCtDZjf{R7-|3dj&$jdqGhj_;{G(CmhZ~i{s`~EC2~^V z_q`)Qj~a1_r?L?m(E26Q)fv#={xE>BJz1tJknmhPu88-OOJww;`1~T4$ksBYf}GSC*2-HfbYH|;~q0o64&B-o20`r z+tpq{8IAxdgONAVP=QoH%k1IV4k!YuTFZsUjP>RV>ty{v=4Fqqlh{Ez4B9U#gN!a_ z@;aF{h9rI!l7Z4aLQR#@Q(K;EOPPNT`M`ooXwi6X{GTrFX z=@8zx?&#~Omp2{X%+<#%{MY89BdQk=Ix1_)8k&w`Gwe04#LIAhTP(>>U=zAl$iyeG{~hrdK0z51D&)Wu3@UCQUtOv@ z>$emWg>P;M)fQGEX+w;(!RO1l7YUs3HolHetD*Z%|GS;ok1VSQujHvVM(sv#-X{PX zfo(uLpaXPHfYXBCMS$xjY5XKI8S%EnJ!!mQY>~}RQfn*9rS3^;@kT2+L52)9X2%RK z_w9|G0FBN$s3p8OQzy++r%$unNYpSR(`@y&6b~~VsRzoAujSk@!|i@{k?#CFRI zyIrMMzg#8_N5rozlGVeF#P%ofifLc(EEUea&U76stM57vsM)Qwi(r}Kn^~X$s$l&o zV|&C3(&n&|^L(0qX-LoJmsEehP%b=WL`BUbj)@wdhkVo9@gm#*-`wWa9lOE2>v^M- zizIo35!>@M@C^7$h3_NCKt-i_C6Uh%KzWEh%H^u@Or$8EZqm>z>vWM_af1n`tf*YR z_ZF`@xn=VRqxqFi6iJ5Pa<7GscfNr8nSh z>Gm}9&J=JR@kINHv8!LWvbzmdJ5M)VLokZR`JH>S6hCboh^Sk`fp@AeJiCjo>Q`%T z`NblcHqtm0)FzIjp>Z-|6zd}M7E19b9LTROl#`>3n4pftb&r$XqiOM@7K-~BBTfoN z8y*g*REY}nG0FyyC=9FjE7PPjXw)ry$MRKU@mzNiIa#7BdY5=3w%P=%ajyfadlzH zt9l2g7^H=^zfiY{Fogtg&B-b8pX-l3}cqLc%h^` zYfLj=UMPp2r2sE16mtw_eaJ#d8)I~ds)(mc8idqtrOg7_KnY=`z(!z6ylfsrgZ+KJ z)Q!QG-3Vhzp4^(QSFsl?iTzjH?4If$V+GNC>+LZ|t|32Y;xXR(|qZ9N0I!FA?L6o?&5x zANLDy{Jvz4GwMvw0vYY zYa}rK<8K>KOFc^Dn@o&+-5Lpbk!ST9iF*+te6dE-Uc~nu0bj1voT_twT&(-X<^^Bl z0&v3W6Q^ZW{*>pnYvd3#2A?aTtRb^42fkI7^jE5u&=h8%IkQWA7fPAW&iM8yQ(;Xz zpE#xM$ZRg}yV}n7uCwFk@UC)j;@?~&11A^>S+l9+<-kT@7jXInQ|Mt>D1NIlsP)i6 zqbkR2Ko#p0an97ZAc2k`n6U{@9bh(Ui{b>?vtxeiI!o7fOtpbrW?nj=oXv0bo}X{W zNf`BDH)1-ai#Hyg?R09z@9sQHfN*|S@NCU<56|fKWO&*)&u`7|T*B22uTHkvz=RuNGhqWQ-4ajuSxxeud7WZTgIzsj`8yPKaI$Q*AcchTQ%WYXf13Kv@fUg zp-tx>_`3dyQa}H<=_GO@gRa)|r2Ryc=#dhcHqnS{JV(>!F;&D=FDaGn6PXI%O?p>S zPL*~m(=4BlZ)fkEQZcjemEB^;V+v|B?RfqDN~t6he`6~VXzd#uSD<@a! ztPw|YZHYXbWi-FBiH)uwgy?Uh>+h%h(Dn13=|1#}^L*TSK+gPk=pN8L7P|XK z8$Ah>L>payKLE4YF#EL~pG{b-9k0Ld@FSP)V>TORKeN$|MqE8(qwDV*{m_k$7PE@J z#YQ(l39-@j_f>xACg?B=y8AtcI=kA=saGnSn&Ec?n0*Om=Q-pEtFz-xe*Xq(N3!Of zmSkTd_ct7JA>1?JkmL7ve&|M`#jK)dIn+Vf=}_nQmwxCb=r9Yq`OG|ton)ki%?7pT zS=#=Wg{_p2+c=rhtsJ{ z;5`q}W>o^Tdx~bPwnR5p(KKD9z7dz+M+Qdq+_^G1$LOE6vzT4@o>yzO;U;csbuv?` zJ|aw;&C``sM(UKR<-|EdgU!S>MD2?-3>?1pQMHb+JU$VU=NDE+SUhyI{leZOEQzp; zOJR3cEhVt@y0^UPmjbKaCajFGRKKti!j==3?)wJ)>A+rXakb#gd}$1B+$!6lM`Uie>c_M!0ds5;v8_rSM{zH5I&&V%a>E z4(a?{IWrZP*XMI(K`yiA6>}xw6=SP8f$&!t3q4mPU8b>&S&G1&Va_&w?*~o*uG_im zkzIG8Je^LU4Zphr>3|yk*Laoz2Z0lStHY&EBAnl$Ks3-B$Og2Nc#Wra6dk(r-T@=8 zzEa1qY7fu>m`(4XLkk^ZEFppG4iW(^0M(3mo=b@9&hO#GCjn~QwU^ofBdT2`JSPCH ziK|CVS6+A6+YaB`HFMDrdegny`(=ifv;TBTRaYXK-_+|w#9Vp(RV;MqTv_}o)6_F> zN%Cv>fNI_%QKfHScz@ihHJYY@XHrdS(^lTyMY8fWB%l439C(d6GlAXLLOlU?~s^0hPbB+%lqdUVTQS^P)5%%21b;uHC-9N1fT%O1%|9GubIILuvzad z3CqVFbuY;IDAQMkvRdD-E|kUvOcl!u%exgAZo|A~jtqU%7#-4rEImM*L^=8y&TSj4{Oyc$MW>95LmE_GfZj{MI#*2}6UrrvfrdB7}+&^0)=h6ss zMW)Q9k@k}E#dD2`0cO@LiJ4D%%y(tze8$&bFOi?;8&N?Wk!ANpaW4S5V6h}FFxI-~ z;WDXc`=(brzPa~(0`oCi& z_aBQ_;xh)Jok@=SosU3KJF}R&c-T`Oil-NH}J;l1+NZC`{ zQbb-_4Bc^*(NWI4gIYfIkt8f(+?4o^Oj&~D65f%;ON?njTI|Y>(*9i|A;O?2+uCw+ znt?u3DYs7LDDK2}jo6@{7IP_0M_KtUG!8Eob19APNMiZ4rA##93hu&)0j+^0Ku6#p za2^N-CIG2GB{1Z!^0*bo=z#x+iDYLfx_oSboGUfD#e^^^r(M*U@q4_XegY39T))v1 z-U%J)BqLT)@^uSj@hZ}Ovq%oCqTPMAND@}lUN$X~Onoj}BwO`4XOV=g!TP_717Hn$ z_u?X%v|~MY=NR-MUDYmhsJx?7JC`lV3E?Y@WM1$$>Iv$IZZh zAH4dDr04s*pJpcgzL6YN%lxiBZA3?`C2c2rbuV=uX?Fp^N%Rs)Vy-oklTUnUx()&z z4*8z?+aJRJOSpq`>Pwlj))gSNHa4!kZ~KR$T29=2KXJcKz`m}WJV-0_vQ}ix^zDUymNs}+GxbKk0-8v`~h!C z+o_zKIpBR9JZ+w8MP_3L{43n2tX9R>Y@`E-Sm2Y(_B@|lHs<-{@?oA&E*tWEaw*OG zd$}wn{BpVM)4B40kxO67{(q3mz|BS^hxhm-Ic4y9wmw9Gecmn&3uS89CP_UpEC$eN zv4#{9{)RgKFTIEIuJe1nhTgERq94CU_HJexmyyS}1gP7VE{-t1A&s{f%^N^gcdC!P zN8+{^?UQ>`tU%U6f?03S-+BTpp8m>7W-58I4tC{uxveOKPv_JrYZEA*(#gF?7H`4! z$1azh(2M+pb&`5mSKSii%A4+8ME20P)}dnZB(f6RYw{$yk}A2lOvY6ju?h9aSNlZ0 zSYr`%i-6^Tb-OoD&FlPd+8NJEV8=bOw-TGtbiTxXV7R+{4Uc+<2mNoYx+wloHPzWM zd3z}OwAX!QP)8c4)bx8}A*bwes71HsG3^6-j*?;t*~-oir&{8v0#_0aM~3=3MblY& zUa@rBY7DD~7>?|fwOd&x`=8MJ7EA1h#xpj0@rQW1+A+5N(8vt(C6mN$#%j}3A}6;o z^l4He2_NC?=$g#H3eb7Ia?pVlw@SMtx(d~XcP2d58|*MH#ShV&LN#oy9j3Q8>GnYl zTV;neBuu|h+lPgpo~aDJVyD;Y86L{#-!w4C4m?U= zUmG#Y4%6K~UG1<;J4`Rn(RA$ye~z%wCeKutm_CR1a-_Kt*a7SZs(=%~c_8p!1}H!a zAR2IGnb}p^CXG-&J!|BDs~+g_3^}w-YIW!l_{Z!_BM@o2%}8H6tSMn?SCyGwb{L0( zLXzyT6gv#Dhs4`q57=QyC?rc0h9+$~o`t5W_(KtYJe(x~-GRQq5Wt$0f}3{_%x3#E z6-}=-reFNNiL31RRh79l^yIa z`M?ZH%_*ynsd{-pZj~xv6ea7Nbbn2~)a)t`U7{`(>y+aPyTs9ySnoR0uwW}JE48*2 zfk*7X02@&?f0rG0ffA~1Qq9+dw_Wrtl$6D5X;W)W4p-_(k5Qg=lE8s9;)UTJQXD+>Z_(RXuX-1~zX7ksr^$9maG07QMIp27QloMP@- z+c_hr#$@p}fbVPKH+JKvz-ajT%kflG0dOAu(JI^nQ~;M(Wd>nt^bYcr*LE1`=80lC zxx;WrdYQ0mPow5pkN@Rjdn)))a*O*&(OF_XW&rsy6Znsf_Hi4)wdw^90^>j8{z;!n z*ED@u=jja$A)Thry-$vQY$U`jRQjnb^-;ol*Q%Mk2Z!W+H4Rk6d_h{IY2x9DyG;HruNNZA`R$m3i9@QuirFd+}Te+O0cU z=gRuMMuH?AG(x509wXEoH&;^jAc2gza&)&5_3*H{J_&?&@k!Zb)Vs}BQ-7axPjW7^ zbM9*AtWEy#dcv82b&#JvHJX_zb7kmf#!U0ZxpM9^1Rri^+t`iuzlW_Mvf{q}~pWc9zvcfnf{ae$dl!CR7YfC29q zye|hB<*eBtAzz@z{oazqFO0~bhoSk{G8y;45hMcxb~ayd&!qg>v#BgZr97iTKhO=-vt5^WX$ADAq5z>1w?;t!;(! z`j>{g{U+iU-8!4L9) zi_+`&$hkb+{Rh0M>?fd4{>@nHpop-N`x$8SJk=S)$}^hx0YE6w0q72l1PXu&K<@q0 z=`f?vhYDrzVP>)|bEWt&^^-kSb|0ph_s^9&;=`gXUaV_+tSc2(O_j(aMpW`0Q`tyD z_f{_+{lz_@ls9D3gv*cYn;0rANqb z+gjOv#7GR81-{lr>!}j*6|(tij>LWipS9(Z!h7Rgc&?OQBiBB!td-2KjJUW>gpEhO z%PE)2qeE9lF2DdF1ISZAcTW(%?S47%mC@GNBOynPE+LgQysnWg*X@$;_ zfmKFC&vvk_X;SSL-NDXJ^A1qnldP|Ka6cUb6Yz8)`v%e&NxpX{UBM0b4#_9!f%5HD zMuL&`po%{|wMH-2r+>G$CpUz^eRg=V4j2d@!VXUjzuOM)W{2zLbsDbfp>$dkPES&+ zUn|h?ws!ac8^5(3ezPz9rkW>-(2T?F2<2J{>8?d3pv2BIl)84REU3ZjwtcdM)M9Tc zCQGtDmrj<3S=wF6z;cW@MFX`s|m;`F~%@_*WTlFz&vls!%Wk;~gzH(;WOz2ftt9TZ$s1R!){K-_SN*7a95uG8ikeoA8L)&$cS%A!+E*A-x>qsdXr`__y_$oD1vh9mIl?H`X1i}7I|n; z;$#_k+=z$`Azm*YR}EK<3sQV$xz~c<0DLWv4*Fv!OYw1|n{_a7BeGR(+rv|5nytGb ze_%FH0jL&EP#ho$IPxF^K*GoKTL*(4-X{RZd3OseZCDo7T;HhPY zm$uw?496$&S?3P%(`DFq#+BxdSu*iEJTA}YNaH#qBB&S#==mBsdV(>`fI7othUUn` zI(&6IUY6~3Se%_XQdfsdrp;t&|2^;5O_u)pbWfIv`fNH`7U(m0vTWDqMey}`h73;d zyn2=-oS@Ct=170uBZA5BH6&e$VPcN z-&g--+4`e#(-oMT4I1~8@uN{zp768L z+_;J^RMjc|Vblo~E=~Nl~3qz3$^JVidM*D#;)?KXo5hqF@eS_W$(h+r5v(&>5 z(_LO|?69tOm|l5XFFv^@Fq94h+)&p%uU?^B0LRh$@y(HU0T8@jdY)z^|KLlq;51D# z7@y#26lFd$i2ty-)%#6Z{~tE@%zWwM_gAMLVh2An%WPB}ZvwZ}x)-*ZUZWNCeYQlM zVW}}YUy9FQ4#wxp<}++c9Gy?Pq@CVU^4^6BF=!48n@q34=l=bko9tb2IB|x6xA5-i zHI;s0gYqTnSEJaxJzuu|%Kp#mz}cV3_vK?RrHdqN2Vpz>!mc80qu=|L`Q_ct8p%f3 zwwaudzVTAx%9&F98}@kBOgZ!$c4kg&Cc{Q+(uxJ&%POY`KYVMazRAzp`l4*nwEU4HK+IP^?2 z&Me526w`briz;?i|EHc-dmd_*0aO4Td(swpw&3a7S$OCCTPivq;djSgv{%$4n`bc3 zMLc%^L%`Mcr0q)E(`mw5^kx)C8b^iuf^&p$rwyt~XE{3UYX9W6A`)mL)5hpDveUd@ zYG}R&TLn>dE=~YH9q0ZyeLyb%?swSOqtTu>|!2& zL3TGa+nW!+C_!Q7I5YA^nHXjcG=pB0qhV&Gc_C9SgqhvU?=z)aGerJ%reroV-EnRD z!7k7d=*xB}^=Go@w^nCbE}Ej|6{>SSnvIdkEfHpN^$= zN;vs^|ALGTH{CIBffGm?X9Hi=3p$F&MtamvPOULrT~`(yk?zT8aNkpq=neI2shZAQ2|kxwIB z=N)73AhOHKYZp~7pYi*>jnw!mJY;!Z-{Lc%rxH%#=FU8z%9v?3;EzGEhy_yd) zz-bzyChivAkG#P36=qCI3p);N+8H>R{|NCSU*?Gi?Tj>YtsL#ZHKPHSWz_ewj7~hS z8MSwZYkEG7(U^j%5H+p#s2MMmBgC{ov*q*ULlH`VIia77xYnHJzAz4TV1gB&6j)<= zaxB-K={oT3*>Tc1igtB!oV1TZj^B)vv?wz%;tTKtT+M5LgG1*6y9xcu7e|?F=`8In zN3S#85l@5U!uM}wPd)E{jv=5K2?>XrfZMM1tQ?>-N7HDfVo1G$` z9gF*hs#Uf8>I}mLTjjNgBgRVHjb=*YG}7JfdBPef_8MD0?M5^9O81k`-~~u}k~^3t z*91b8g>`&CQ>q3%BfC49HD=5+vifdwt@+ky8Ifd8On7nh#qS5u9+T`0p69(D=~S=u z4yQeS?~1o;bh-N;v(7ZX7%f4a%@p&4QIgi#eBGQkTE6LwvFkco;_fruX5}d9b|1#< zHv4_WD4BI1HT(2vS<5q}=O_;4Bl&g=2=$Jjc*Yey2n#3d(Kx0`gy{lLSHf5u3xD+tLwR3N04Z6{~*^YexK&|@qQB3#r(z$A0;98o3UntQPTc?YGU0e8F9Zk*ladR zc58U>C^>gOJbXAx++EG&7JZa97iZD6S$lz1U}r}13FqJk%p@u6YPO3=uu=2^Zk36m z>>F8rp{q$B{n*IzlikcXBV;6uwSXb2Hl{lneDt(*>2CHkJ3TFh-4T*!WO-e8Qe;*B zBfwQP)(8H-ov{BupX7JHmAR9#^YqWuKg|F4UvbKdA2NFem~)b5z+4{ zt?1shIY}i=Ly}4YRQ2ngl8`iTe;qDyY35NgdW1B7#9V5&cuLkkV$KS?Fr40iX31XD z>K2|MHFJl{;J!4mUxrIsKl9G3XuXSoCO5cT!-ftWs;ygF{P8kb+Ruz}UqkX>#*#X< zGPD7tYGWzzHhW6y`k7OLRL|P=mvQ~g$WGnCHC!2V968?RD1!@pwU?TvIjrlX#xcyz zcvofdjh73&i-yVG{$@gCf)-J)d)1Y<_>zEd95K#z-)7AlJ_~x?JPo>Va75i}y}E zkMZuw4shkQD^Ex_Cz*{Ec`T9l64~KV**X}DdCf41eZm}V8pEXU3G}7a(DHAdFxMMq z@sqOPNpqU{;FA(J)aEzmQ5nJS$Sa;yp;d7=<796zpgxDt^vTu*1&5!M%|j_u*^^QO zuKCpvaSx;6&w5f)hM7-aNnOvOuG@6qzz!%X(B6%Ub`;pRkh;t(196iR%@ zkn*KZnca-YtA43zgVF~dm2)G_p|R^pqh>kK!(~#WRqcx>PrZ4;TK(r; zEAf^mWZEeDiT@0i*wHkU9|lXe(dL1$MgtHvaMcw)-r@&H!ZYSxtCBkmkdO?szd3Di z`OpkX8KTU01sTRCJ&R=850(%U6#vV~mJT z2me*YblGypU^)2@b7!XyANREhSBCaf+9voqIwh+|8XfTH%Abo_A(N%20<|T>f=)Q9D~AV z9X|3(s#&jfzc^TGp2OZ>^SCq~M^7BDWl%nlsy2-_gJs}2Ga`10olZv=y_9F#W*}`- zS3u9`K-4bJs&pv^-~Af+TCOR?U*Yj}l3Knc>9Skn=P8fGXA-aNU(?s8hUcWqg>j}k z><`i_?+!1&Jub1&n<-Y!4H+O4pEr}ur_*KY^YH$~<8tzOb5hvIVtR|YtULmXiUM4X z=9NzxkK@d|k)5izk|~K@+I&@dM<*L@efa17&R%bB)gj zN<=p1<@g}!l5MVyRj*YJc-xpBWh*`&s9c`9mr<)zEsT-PXP*a3%uD7;v*phcG0D8p zKIt*v=UYm_EdtI09>NatTm)1CyMQ)?y~Z<`=bi!O-Ci~a8r?K;90Ns7*qPsbf#HCD z4@L<(#JUdg5!A#=NC_%2CB6q(G@$(F9CL)xMG5|YKy1MjxHAt75HlAM?W8^Bno|ak zhqz8j$3IRc{LY8V1;82L?=n`dFE7deK`ic9uzqR(jabWpzRWKtdLCwUE~v!+yND$A zRSZ$wfbzkwnx|Nlran1E6 z#ZRy4z^tZWN#(a2@tM0yOR5+4)AYU-|6lvb#C&Y`X8N>zGc$1>>Dn4UyXx~ zx?WD<3xFj+1yBj>0a^^A>F|u_*%5e+-+g(izU=3DiudS2<^5-=_+RcP1BLo%+pm0< zm_dg5bzdo-&A7R!pTx~EGtFN8Wa%7pXwWH(f{l!;N_rB21%zPGtI1iL}nGyr@qv;JZi4l*f296DNiUi zGY#|mG+8;%+->%FL?)J)i9O$V1ha&+bP~da8a3+a?w;l|W%?UGLo-)WRX{Oe+S&D1 zR@f>?m^I39-h;`#4bUQ8LgvGM#3RywzL^-?*QQ_Jrmvmel{S5=1GMQ6OOws>&4?f$ zjq*eD%^D+WH;B>3T(6Y?HSq8|jIh2e$+hNplQcQH(Cij-zK=DL;R2?T>fiXS@ok7d z!*5r*&)xq^A4yqceiNBN`tx=n+QD!sJ|Vq)pz;y?K&S^gdF5Oop)|` zvEKLdK7@BxWUTi+ybtFcFNyWOtGC21F}sDWBfK}^4G3qmO33@Y*@sN6mGv%9d)JIL zB30a#z%F1vpeNX?cpd|e(_<}V=JR_mF_)RKjemxiR-NwWy1%z1E@Q5}rk4y}M#*mI zE$f$=2@$7Ar!JR6B|8Vp0Jz?5X@mrURRj2%#>adwUY6~J-sAt zr5P8p14(3~_!AzN*ERf?p0ahN*{$*7Uh0?0p%k>>UgCbwjB|h9lQ5=vedGTZYwsVQ zbJ;%rU)SsP+HAAmw&B9e%rMN%%#WBQ7K@pmNm|QWlB5xCNhTo)sc;CfB*`twEt4ck zlH2W;BuTQ(B~3|4@?$>F6-d@lKHN&-lJtb zfR10qJBqU&C_VqKfywoozNJI|X2dy-EqyqC%t$-XM?&61=)BiQCcJ0tG=lp`hs~_p z|Hzj~o0%eSg@d><(_B438TZ{+3a1za8E3HS@} zSK-#+P%m`Pq0B@z`62&C<#OCc+?{=HRPM)r^&3?{Q4LID8H&jK`je34ZP_8NAO(PJHt&UJ@ji#W>~Q9rzbv z&N<0muAVrwbmczAb@Z`Z>P9c9+OC#F<1Viyu^t(yC9w{^S`usH>(Hrrm&cMAUX5@z zY0!`=zQ`@j{im_tG#2EF>q}NNopWXQmx#V*xw2XPnz<5q2;a<=f$IO#LslOG?^q8x zf5;f_>O>`~ab1}y`9!sZoD*6Zc=*IUJxa%Zg%)V6>ruM=YxMBw>D|5e$@FO|m2m|< zN)I0~CRuTh-^qP1Mw31xpa&2)U^E$hrwsqjNG{IqfWr7+a4K#-ZUn}(jr==M`D8f$ zL{yeH@pbjqo%qpw55f;sZf@A^p{iqB7eDvcfBZ6`e|qG(vV)(jB5pEi_u;DsQj7Fy zxSt?&KK@q>!cq7WiH{r<7~xpNx~C(7Y4}b4tJHOz`NzWnvxdo%?~U^4-8uFWVroel ze^PZFxU+QL3FENSSeGNi%URlWzEftGLy1qi$>ws#fmS__UtwLNn8mnnF+P5Q+sF6m zVPaIk182JF^R?ctUCcE91K}L@ihQt&Zl$>u*lk?TQo3V9emPQQYcwP^;sX+Y&PaE?dWT0zaWBPh$L#b9KHH;ixubOCIpmQ`DXT0y zheW#9sWL{X>lj{|a{-ZH{Be8f%-_%^q9cdXr}UX(U;aJ7ku+SET!Out3@@#`WDIo% zsyd%EytMCS_XUcH7lCyoXcRDh4x?9cJ-gUc#UxCaMv!%loqadyjJbo}-QIvM$ zl(L&1iM%&k)?Z=5=$2g?c-06rj88gC_;u#Wq(PE%-MFm*<`vz+R(Y;xsu>|=W;W{x z#FkOW!Q#%PE3dO@V)W`Pr>dBpGCG&$-cUeA*1~z_R%26EX|B`k8)!7^B+ILrqm778 z5*}ox8fK@`tRQox(`Y_O%7e{Q_@#S8OvVR*OQ9w=6>pQcFms8q$4&mt}}ZM_8ad6mHftVs0y)8E&38jJrF?q$u-JbYWY|5sEvVX*pKmHno*$(PpO6 zq=Rf#e?td3A8qCsK^=Iz+ni~fYR^uKInuMTjzLIf442FpbBf_^FPme`dB(@>OLJn) z5O}5?uhH{>VE+a(rKTBIS`=qmPUGcvGNGo~Az3S?5-%U8a#t7QD*e>@oX>B7RL8rP zA%|<4$wpjzsj5k9r?-=oT4o1hcsm(h%S?~EhZ5A1;AG922A>~g-T6^_S+6*K+DT%c%PZj*JIu}%G+z>+FOox zWTX|-9@I*vu|21^hnvX9^-LaIPc)AhKeZ`c+t8ftjPDQf2;8a$-VEpP{ehDy_q^$t z_)uxzM&@k8_&!69H#TSHEhBObZUZj=J<}1(scEgnWx@_hie&L#3#a0}EB+8%Pn-&l z=J;E{t3?`Ju^xMrP-uc$0)0&&<%$%)da|?#hi>*r!w=mZ_jqh5^ zw3g=Ckge$|s9tq%Nta1!=0KxqYdM$(wYs&I4z1|ApVDP(D_Cu5dg-NB=4z+$ODo=( zr2*GkNlJ#9YkZI{6Ee)y=mlg{Bb7}mcvY37v~<~=0bhUHN{$n6e9}t7+n5uK@vUTL z8}p!1)Jg_t0?%kAvop=A@T6AW<2<@p_%%%ywPjcyN|XI<%`58fZD*zy@1VVVwCyZI zN2!mSg;VoD3)=5*Z_t(cA>x#N7i^jyVFUAl1cyhYwnMCL!fnG{#OVqz3Flk!O(svB zA`^()jketUVXhWWRK!6X?j}PA-z8+I4`gk@KY+7vwQw5|M$Pfla2dFExQ@7NTvuFo zTu)p+u0L)NZV0XjHwU+iymjtXt@Ae;R)5BsKHZUm?cw`#EhVdinONKxf;rOi%a<}> z_i@{}M)=(FUJ7FnGskiA-V5t)!*&7t$%frw!#)6Z&4y*!uuZ^1xrMCxwYOn!1FLJp zGQ6<+D^>$+ZUbA|h%10~v|%YWY%#E&Hms2idlA?W8tlQv#l`Un$ zZ7}jHEoF)N^IOXH+YrEOT1s9=guzcOWhB1K-BKGqsBHPQ8(1R;>SdS^RrtPdS-QNV z8EqJYTgt{PbGOSk)O1!=eZGHVW>_e`pmFI-oy}>^a34a(BXr**rHQwjU7X=*1T;c{ z8y=FeUCe2&+NoOP0JT9>Bw*xcQ#44KcXg_S-(l9|KxXnCW_m=QY_5+oX=WU%=Ex3U zg1WZ0<1Ll3=wRKv~DyNIK*S9W^#B{3!e4s zHp6Xj#Omu#Qqa|OrF_6k33|h=7D^&BMuo;%6g2xeRlj(8f@@W}b9-R4tnA7VcXyVM zZsuUu{?6Wbjax@rMzAOCp3X9*o0*vP5%E|{D<}KKZ3U+F(!Z_v@ZSTbe{3D%2iwqD zj(0QTa@YEmp}T>;G^_mJdPd7pgni>NmYKL6xMR2y+-ce#il6bAWaXHN;V;3hF!~ofQTbC#V(QeyPNfse^tI8h+t+%YyPW#& zfwtL{I|_FIS5hQZ-Oc1MJ!PbWNq2%?kXAj+nyv0tP`>9hLCDO7`mMrldilv}4t}%8 zh9+kz`zlVM7w0K?qKDbg_?dG~J&?X`&N-?7-OF;khjMoouZEh_jHk0?NiN~Xv*ci| zInp^pI^AWqHFC3L!d=MT+p>6{)9m29M}7wEyh|GO#OoyY^)&0}=|hy4skJ^z=@^5& z!_~!UtD58Qz=e*5m%$mv_cGi#+;rT0oa!Q$!@D!S=YZ_(Y4$Zvbdva9W@^@SYc!Ug#u4^UT!b zXFA=e%;8Lv?gQ(2GcDr?`5(ZYz}0=6`j3^(dCVjA;iNp%6<62{6Q9Wz5gh$wpyNyl zX=|XP_C^}?Zzd_dp|90hay8tonGDzPZ&^IRX*Sdg?cK>zf0n5?!u98+Js+3tz0LIa zkI7c~Bp_{ic_9oM$skDM8O0BP$1(5{sq{#U`jNunM%HY0GbYe%@-q)<( zf)Zha_yZ3E=&pRD#iJQMZ?27#(AJ*)Fuz3aK-|j55A#DyaiZ zSNK8d^cCWhL_;lP$jq$ zM1_LhkJQF)YAOW-%{XIyQ#QCwSNtUE-Sw7wE5WqhlX(zfpqZT5m3#-`Jfj)^);#Cg zdCv0YY4mR@DdcSoyiIcMz9qfZRnv!1Cp{IabsEuB<|%$gQ(23joC&>#+2s}Cp95c) zd5YWBa-7jitHYW|<=tj{SY7ImEu%~)y;c%C$gCgjBDs>f1*m%SuU8Yv8Dyr0Ic-#( zlH=s*L1t^$l@4CHa1IHsNve~ikR;8T$bOP^{=Ui0+%FSjf-N>;`6InFGOgFC1lfA^n{oEeuG8PF$ zH|fGpiF0r-*qQQ)%^^o#P$+b z$fOn4UPcz0iOKzmpNP}EJ(h~>lCskSxkRtlibAh8kaf3gEHsmght0Gcb)U5yJ7!pp zS$wPS?<_mcANK$9eVKffUS0Xmfo>N6p6ubMJ1UBKzdXYR27&OaMnvY9{}nTtj?*xd z3#)LUdpq#RWN*i-eA{Hs^a#$6+sTp#n3}E)l)Voyj@P%7Q-qUOvYNLddArk5Qt|Vk z8)wq-+re}mhDuoIjv(wFBprs5=B0KraH!d(pzCv%L)~OQH%ei%EXPUQFdA_H-xsg& zS$<)KPbAzQUzK8=PW9kQBzIWf9VnM5BU-H)zPKphiw8>Xe_^1h3EX@1%3HVl2T9*y zW}++ArU#3A4?QAmdR%QJ^M=v+Rc&SUFf%2$rk9`|+zFVrmH455F@ZwK@1(aNfg{ zFMG^a>o&>W5oW_sq7^lCVxS{f#_Td{26}@M_psTylO0>cY@##C+eu0hJv)KRFDYx{ zT;YC%9#J97DkLZXxW>l-f3T5MjWpw2_uKI;=wV;{PmUGtdm2gVBgFT!;~V+K?;^fe zBPr1MJMDOO^8QS}jQHE(B#pn#j@QfRzWm1#-=>jlf5hz9h{pYltHMQmQO%KnYlZ8A z>xUbL8~=su9m!(!C7So|nldNJ+mxAh{H;xyn&fTDBs>1rri@GSHf6LOe``}lBzc=M z)Q-QkDMOMxO)35#HN}1@L3@cF3#BJ|HuN?t71^Y{a}Da;X~UY?Fzt~pHmr#aI|i(i z4Wmh}VokgcU^^R_Xd`X|*4l<)VDS{P4p^!Ut82rS0c&c**v#kBV!}NHNmN6Mv zeH(^_&}4tI1`9@sc+|}O-w*+Is91+kS!b+p|6u2bQO2c%To<4!*%uJMfcWqI;$!^c zClf!8_^<7F1i!;o!w;blg#IA>(=P+djt{1QuEcjG{xdtCgJB_Bu>P4W1Ng@_TrD38 zPXcZM|KKKEf6L;jaA^7pxqGzPz<9f%Od8Fq<&B22MEzGA%2xFkHk704&uu7I@H1zS ziDs%?jYi`d#JsPAv)Im@y&0EIDN2oO;?6<&i47(1F+}v(hBEvyGu}1Q##MbJl)SE? z?3I8wtf4Fi&sA`YN_dg!D(;`?WzRTz z*}=bsJUxRr(otIrU*%DA{A`@AX>CbV(kIKPN**k7XyJ zd%7&q@M9TLJ{F68BjO(?+>`jnNx!dwtbUyQT4l)5$IVH`H?3sgIN(->%v1kTYuP;x z{FALEd_3W{4J2p0`J}F*Z=DgYjgZ5jgsf`qy%Rd60gotSuB+8RI!r)4ncG@MYPfp? znKuExn%r8}6OMlzeEQ1sgoK_pnFq&BUf|(aG2pnBEq*MG~%=mzRB(O;; zUrfjBKKU!vWUcybTFYMbTeOzSzp!K+M_!9@Cvml&l<0|Oa!PGG&kN+W zWy1>hfb}!Vo!LC*I-h%>Q_;JNFoE&R$-D#^I+1z@ww9R_$#Z9dtj5p1gt1%e?Ypj! zmT*%i|AjbR5=Ec_DW7r}(2Ljm!_#e86Wmgt@F&RkSh}P>L08NgAVZ&^>vpBfyeG_@ zG&|pB;^zuy`Bz&V8CqN6jA2p9U4<$kj)zYxs_B-HnR+8f}}h}{SGn~o-zxJm?xTp?ZD z67o`;aeqI097~hbr=jtIG%0x6j1L?|9?Pc4w5QFKxbgo6zcfvDf?xdCG%q9ju79ac z?fJ$=F_l|~-h8|^0@dPt+rbPZ&pVcr;%{nsIv}2|qR%jlR;Mp@X6yNH%AQA=x<~TDM(5;#=g&ah;wA7IGd<-V;1p5T+&%!N z#f4E^HApim@#gsGohCz{F*6fy2R|^I^B#;7O?RoUj*S6jye#C>wCDTE)@N8MrKic^ zXCQZzG^u*VOpLBix&TkQ98bDKeImC@H^(|R?OJ=)>M`SxOTV$#s4}4V+d#CYB4nD6w4*ei*1&;nXI96`pU?e zu=KQ+vS=p5Vth;4OE|6}^azG_6aCuqU`q*k)=cRznDXcU!R8-rZEnZ&5TR#z+K)Ij zt*M>QM}s_IDz^gq%IIe)yK76C_pBM0m<8M?r;hlsZ#&>RY@+MQ?q{L>U+c=*XAw;e zTT1v#W_rDcW6Gi3Eq<|mgCv--89G-b`^MT+zP6UqnPGQH`W!PkB#JcJ)-!cv=p5QQqmIl3Zd_}@lgegdVrd;^79LHb zt)Ft>QkkX5k1@`)kn?jedT)RxZ7I7}zW3T?cW^>cIM)Ji1-!}AUR&>c{KYu`Ij-F_ zc4X-5{=hfzJqo9T&4GUanA(QbR;-Mq*DwAEmPZD zbA8_;AC{;4?c-*uYKub4`g&gR>6PQkV*A){2!XC@Oo)(H9t7$t@&s zK0>K>3+XT)q4XJedZd}L;`x1&W*po?Ce25vI9tdP#l6^E_Rlvnho5SWNrOVPQd*&5 z@R?6YeNWu`5Ko27Lc47LJijKsjQCK}C$wS-$ak6_pZ=40t>?_%GV(<;{`OA^j|JzN zAEEn=o>Bf0aG!wlSJK`Gu4TXMQblY=`9Ar_vxxoXF0Y(h)!ZZJj6#>BBJTz-0R48d zSC;h2)E9tt1g0vO?)hZU2ZvxWm1oWQ_Q|(pg#WW_lhrRVr;XQYQXSojh$hee&&W~A zH6Cs*S6)KR8Pr^|US=-r(_99>Y~~r4@?`DH46)YD<>1SZJh{09E-c0@{v4(xMSq)gKO7?08=u4oF`KjP@bc?EMLG7-jF9d7nsR$tKr@5kl(*+PB)XP z1*|cb=1JT_>Tsl)WGyt~LJqQPrz*#~+ESqKZnb6RLh|~snXFw%-cQt)z3RW+Oe*nn z-vD1x;gNC}(yvnXrhyx{W&fXnF5t z-XSCJedMF#f)@)bl6=zuB49&Lwx#^U?&H+yt>3(3L=R<+AkH`LMm3YOix{^By(C5G zi-FA~M`%wT8=hh&CwC>SJ|5x2&nB$&*6F10Mea|qM$fM;8^s)2{3&}g+ydsTdP&(% z{YKPhleRwfQ?^x>)qYcYzFixYJb}Zh3?c0^N7_qnU6VNS=ei>)Lv;jwaKaZ~9hm0p zu0_5@bNL7Bt8QIaO($HPr7cDbd3iA>_O7PL#>EhBb1gZ%*o;rEWZ%=bN2djyBFv4e zN`F~hmLjfKm}_6|%)G4iFjrD0#uSL3z&?VHF@DjFIq2(K z$OhSa3`+CU#OZ)s(Nh9ng}IJ5mE>0`V_r|meHF!XKk*zN^(-tG^T!LHFxmrLnPp{7 zm^YgR@O&23Q<>+AN-747=AbWi$f_wTU!|VxiSF0Di)zYQ^;fZvxty~v{i(0c0od^W zl zR9q#*e|ndUE|+gnlS%BCglS_h=Kze9g>>d-^VvLx%~75mo1J|V1vSp|u1be)FJ zRPpo)8*2te58PCo3hw#%K0)0-_P?*ARS>BFQsH!&yj0+;j^Wwx%GVcbXGrJQ%|;=4 zR7@43CUG+Qbryji#me&6IX%`ExJPSdB*$?6FOU=c&g|*sT!?ik{)Jd?yuzy?eFEtW zf33Q)ZqLFTzD2gi`x^!76YswWSBWqnd`9_V^8Lq+8xgmfLGo6asUbmjWy@n_<|=yR z$yiyxippMK7jjO-oLW{ zD$)a`_Zw!5%sn6tSngf=zea)DA}q>fxAUz_R*a5EORyy=%U3J$+K)QK%EmVsG8-Gq z;WuFK(Xnz#{gsU+ZnYU7zr-%sH~jv!VClP>gO$&M(+~TMwc#0-&YT>Hm6ujC41SG~ z!>i4d_&A1}nn}#5nCcOKj;Wq|^%ZI|shunFZ^H6}8%yS!5H!EB6sR8pf#0MaS&e1& zo7AsOW7(_Wbum);CS1~>vAEWlDbZ?=+XE~5+2jVUF|(o#>ZEP>=B2lTn{@KJbrCM4@h!rOVknG` z)OAW^j0|2&LBTPeRk-nVvMgB(Q98xQR`tgu%h9zEYXlWoOGOHjCHb$wd&PJc;=Rdt z1oO`S<3fD-U&*^|vh4gT=Xt*FF3IbVk2R8|?>bIr2avbQ!pKh|k zy{6qw8UEKsa{g^ID>IXh_R(+K@zyc=EPCJn>+cIHdLT9~d{4Vki@ z@{1cu;3hLZ@iyXg?WMm~m;!U|Ys@|>bD1yC#~Mkw;tvP^9q2oRdcT95?%jwhW7PM? zoj2=yf_ds9^O-Mg=SH&f9qPLmI{E6m#&0fb>Q`UGuf8jzZ`OBdw4`pJ{2F$B|4E#$ zzN&!LB|rcAa=zpx#lMmyn>Uy#A-}Ngrt{_MJEd|1eBn-#kazLFOOlj#>5o0pGFZc( zC&{FDS*v~ozB2fPJ7w*=^v~ub*-d=ndWFNcx;9Whtb z;LE_Zp329ONJm}Us*O@bx#IV>+o5nhpR4)S^2_%b(&w}1jAHG%D5Z1v_-I+Zk-AQx zP8-eC#F1KdK1Lg+2#v2#Us#TTY9R9r(mHoa+~1fF`zFai{LJs5x33>A`VIV!oW{eeJ;&M*puuay=Nw-etS!r`F?3)NaIhS&!VK@ zJ?gWkp-g!X0&Tmc9%F8%^$_UM9NGUKoy?9~<$EY|uY=!7l~nHBEMq07ha!CSS=LZe zH#6w?#dx6;&8~3Wjf$cMX^-2u(QOn1EA(KQBT<$sd`qHif1jn{M(}l1%!!oa z?^9NzNbgR^tKjKQ$32mfyVZ;@mc~jgJWwSuy31`DB;`8fqCI% zpg(b`>t~Y*2B!095qq(|_2w}WufwT&sKb95>&^wX2=Litt~QX3+vwz_T_x^A2={dZ z>GC1^$KM<9kRrAl-;&|81~QHKxba=F38j^kEhf&#xup$cCuxjfUFH0TaPUgf9y#MN z(^Mqbcs?7zQsTbQICK_FaV~v{>XQh)cR81rt>%_*4`<5bJDcy;zOh-vXh1iihi2N>GR&Hl)QJc&b+g#_%Y)k_=x}8Q3 zZy$sY{4$Ap->i|U zYv;xavPHSSX|n-vWx}h}cK{}zA@9n5wS_MT_u70y8+dI#d%|Vj4&c`kWc?1ap!g(v zb(1OHe`)+ZFnv4Re`$OaSOp?omms=)@V5blKI>&%Wzz1m81c9vz!u}S;e1Sck?$k8 z5jdNHYyP>B+8khW5=P=!FR%QVn?SSb%h`{a118p&)Sax6M%I_%J6VqvC&~)aS_WmjRyh(~fLbQV;N$8TONb`QE2}f~3`_W{nhc zysE_c75akXR?YE{3C^;l2G{4q{Oe`+ST*vSs(rq&DGdlnywkR-c6Q936)N1x#?@Ldu}hvV82?vJ|$OdI(VzDgfG!>nh8wZS83$q45P z_d9lLI9L%h1lSN@YyDvPQ7c^TY=Ce00rfOU2Cx$OVz*hN=~BO_1fuj@(IP)sB(Tdg z=S2zo%&Z^#oL|&Q2&f0TrpxW0kyEi>l>XI5kAh6{gXt>>vw)44r#>@V7N67ZK|#_1 z+I=Fs{*ZoL!cEevwX-!nJ&Yu7Kip2>>Y;Ca6*`|d#nVUmMnSYEA=Eg0<)~Tsddg%0 z{wmx$+!ov}+@a?J>pM>JaSo@{b*P&i=!n8^*CEi+_MqhMF>``VdMklbfW5`J*Q_I( z_Lz0^F0hNLJmGA$+wH(rL;RIA@ZO+No;gFj@|%vP`A~B++ls!1J{+oARd%`l0R~fB zN{ujy|J=+<-Wy^ zGkF=W#7l?0NX~ijGJLPuFb!Hv{u<_?c^1uUiz_6YLD+ZvZ&p5C13e$2_|@|MUbAu3 zW0c_I__2WN%ddOQJK_cdK54V>x>vb7M=qzol-$3Y@lK~a{CBfX)5jkt<^25eHk^{F zLrQ%J@i+KjF%sV~wWKW3hCM8AgYFzEpZ}dr)MoK={_p1S+EI472`Z1+t5eg*5qPkj zjM)cvE19bv0%4!onElu<_L((eS1OmyFDctX#X{}eUzI=hnGYrY6T+T`vz(5{_3eNf zTbb7eBL7v^>$Qc8V`bVu5QQJslePaaI~0FAR-5hl(~Wt$_4I&KY)KV?r}&3_aWqV| zL*m`KMW%7ejr;8Q-$|ooa^}2JIk6BLjZkXiCgOg=`Ckkgg{V|})G6nsjAZX87wh)&D{L^gcoGnfNY1XOtjHU;< z+WZoyv*d)S#t1c*453#h%LD)9On8@ivgn`YSfdeJnFpXroqCdf0EVhwPsScF2Rakw z^8@tMnYwcR0JFf+x{~J#~PDUNS6p>#=(!!+*LLrFWus z*~jwrUX+g<|NU;1oc#j6-akfM2eEd(7;@uGOL$);qIN+bVa5X2zowQu_|{Vwll=tB zj^|6y?wM42*74-rpP#QQV-Io{`!DPsDwpf*XFUJmPda9`u4!#JR`xv7_<1QmNYiIZ z`!CJbaXmrbm&Om7cFg5xPA{L1aD@KYzqw5N()=KdRKrN&t-a(PGE@7!P()ZYcNFLJ8bqd9<0MZTg<-Br{un`;h`LMfxqS&^l*9qYlidv^3~U7 z{d#xXS@}3e_nH?lur#}Ti8{i?y~fQX^N3l$&n^7qyVl`9tbBasf45GrFqD(lpU?FE z-Tdce^%1VcOnl7S7}XD6moiG~^{5T%0cbJ9OWU|WJFx^KjmdFnji-~fgXZh-o9gYv ziQr5m{yvSjhvY2j^$k6>$0bv~F_UX|wX@c<@S1HXNwkNu(ZgdByipGv2r5O%xVqh6_uKWa8Jie0kuC==vxuXk%uWgz%`hJ}B}Xb1Q@$JY_s398=ohkN=nX-3;^Qq`tAu6Grr_b~%>uVX|cHA)H+7b7;v^Z|o>ATZLVHz_z zkE^GhPya79l|K~~TQOO3+)Qje*+l>Ka~G`u#}U7)Po3`F)BROs}HGD6qdMnhRTVvbFG`G1tZXKrA z2)di&mPaETi;@1%o_-TM{wan~TY2#mq}#{sms4ieeWOXvdzGGf@77h3lE9T3=&pV4Fk2~5{I~dGz(nS zSOn`IZY;QE0Y(fpU@+P%UW}8$l~`{k#>w_dGbhaTsCS@g`mqvq25u>cljJiDf(lb| z&#+$a5+{q!F!R1qU-q6s0c#c~=g)AUW1=Zteln+ZS*wJl7*7=#g!AAq9b7u_bO0)6 zCC$Ow1y}vc0A%o;2F3sk{F#Bh)s*C)8EAKzGWusT)3u!qvv;e=TYpoHO&X=wW2c^M z%68(7wQQ38%z^(B@N_QrZ86TGth#eKkUvK<&oV_El!0e4Le8+!RMx#rw{)K?OU}~F z8Z~9R`XL@4bMjd;GUUP78#|wVPmcnnL5(+ z{Cz)tSjMG)Qqgp4D4(>uHBFEyXMbS=TWUz^IocIY8mHYZ-J#TW(KTiJ44Fc_aV17J zpEDCPf2E663;gfxVui?ot$qbl%XME}^)tP&t+H~5A>qH8sZmErt6Hb_Nq>X2y*zN< ztSKjcGcDsqLq`5e8&1xZnZHt=o5#0*rG9tBN!73HH!LTurkhB8&vQ=sWet;;9_)%R zq~JV#)swoOH&bGdJGGAa6&xsc4Y;VAov*szkPpvuE~zL+j-RLb&NvCYK$3zONxndF z`7u&(f#SYphxr1stxb&Vy#W0`id z{FL+T&ggMXrFPeOJi7tKPvU0rJr3W(*Jnz5awYa6-1->#{br_zd`3E@)N4+e{TpV> z_ccuGRKsaQYu>mfc}ktJPB}%q(J5BqE^%G-74UpLy@%GSwZzxcTCSEwj~84r$2!C1 zi<(vqIeCdQ$s=k=)g{RA2hIPT`nPgQ?(e+JaToddsQQ^hru8BXbfc&95>FKy6UNa*5CL( z&dGR_Bew=Uq$?{G07(b~wfg)(I^{0kma@;jt~e*6CH@b}8WSTqe^9Ue(K7rG$}EhL z+3IhLmi2$ol|5qQ)E{)=>(LT@g;CN9{3~XB@I3N<8v1OLkFTKoB#`V1$tIKR3M8!# zXAn+(NULD~e0Uoq)rGQ>RLQB`xq~j;gLAy#8BD2H$)jJi^u3Bus_T&DSIyLj4DwJi zYL{-fQ6=AAHS3u_^Ktd6*{VZbV!tHUCJEj~YvXDHQ*q%jEwYr4A@|8RwZwQBi0`g1 z$na~F77#77ubEw1k82R%*k`+Cwx8hV>-Q~AZd@}THTFfx=<6!WqPzxpUH$FytIU=t z*?!$jHfK}gAFi7%idTY&mAp*b6Mv)X%sdXX>S=R50SSkN#PVnj52~p0SavV*Gl~C@ z7HY=L{W6|UKJNk7)(t`+Y74vKw&4!oYR$jdTD7-)+?n**E1J1gnk;Cr>qOVv|Lerb z6o*F=IP)=xQK=JzosMoN^m{;xY_BrYa}NMh>E$Gy!uNS_*kR}UcD{9NX`Wi)PYJ8< z%kN_kt~bBT6zOn-UFW0GvhoHzl@TTTZ_ow1qviY!th}Ys3sWtmb=1PXRsuo_bo-hK^Wwg_B#eEvdD8V?A(bBsKp^UI2QkFZd zbaMu@|I%qSNL>q(0n(n-n@Dc}Q(+i=-7Dx`;39S?o2Mn|l4w|&&gSx35<`8IVI@?b z4z4z@psGs5u-ZpFt^nGv8T@j+O1?L&24*v2P1EXQ{2V0%O)JH?Gg7#(kZ61pC96#< zJ?_FVZ&7n8D)=1V^;Wpg4wJK{EKPZ&}H;XVB-q z@x&U$_3M@n)Kt&NS4+#oAHIV^(rj5#p?zj*A0!GwpiC7~w`R8DD6SrIZX$cjs@ z3g@JiAN&g8+rjPW2m38t_6AwW)n`I`C5ChAEP1Da6)Ta!)b2#M#0Oi+HOJVoI&Ukf zwAm)rrRd-@lmkV$mkI%r-Es~8{rZXLc?ASmy{5zL;8$s zRc8VdV0JoONAD%hG{$fqatp`3N;neWYs_?VR}OlH$IC*jbaeF3L#&2eDEc|XYHeJJ zki_aRMgMTgt4=AWB4liJtFQ3|omL%k?u-y46nK2NB!^P^yAhJ3;jnNS8A`fWBV-Zq zz$;-l&U{oQlR_c++z2_WxRqhNk7%VNPlCk$eDWA1JixA-uM55=?Z_(LOtf5yBX7aI zOS{Go_p>mW7Dl;uN67jxD?VToX@lj(FsqJnXM~&uWULC4@NiHvBBVn&C@+GtM(Txw zk`y7602xn*$r440qLtya=Fu>zq;x07!U%|RG2FxLDbpL=G{pBN7hfY@<2A26`5X-{ zVsjkQSA@%y2(mfKP9A<>Cb+Y&c^YJV9xkUMC^9)r0wclMLied36DE0)R&rnnxCPg| zgrjR0MOyL2S3+-=^*Y?L0>L^R0jk1P1?ow@kG;q<>bB=8J3dc~4FkVYL|ys_jRn@}!ra zr2mr2>3nt&xcaK!CcWgfqU%WnRSh*Ad|6>34YpsYx_NCRU(cpZFMl6cjOJhH-TC;v zh4&@_qksW8q@-dig&;r6lI(&Vg>&`g*@{he;eWFW*GaXA3KVJu>`K%k6TQEp8^~p3 zT$f(-X3V*jPzjHQ`b$G4J=z)=H-r3C1ka}&AI{WJSsrc06+cNCIX z2(#!ioj+s!8u{EUjqDjJqifK}J3{598Z@#61>D-mCZSSQgGM&|4~?u#8vjPtB7AEj zYXJLqjSK^RYa@ezX(O{~k6$Be{)a}&+8AqsF)7TekY>jsN)J`%uWktX2g77Std&`F zTXm1TD=%TMUinV>ZT%lr@=2`K)L2(t&c<3@jHT5jJq}W|2$O+vR=P2xx@yPqA@A8s z*tjs+7)PdKZ1{ZN(l$(tnpT!^cXjDfllWfMWh8#w9TcitouBhaj%v6%(|!}m|JM*E z`$OemP0C8CE|)aT2cZ&Qi*QZysAZ)Zt3zch;Y@=(s*^``>}7gTp{Kp)ue@*-i@i!2 z-CP=CYt9P)EkyR#qCW6uNNw^w79y#&DRWe)46coI`8-4>Dg0h|SHoLE_)8jf=n*QX zYEyQnP>FK^UlJmjF7TR@PW@RSGQ~xF%}`lSxcG6qe4VGRRPiSg#ILTQb&u93ZTc_Z zu^gPLK+S<4p-XkowiYnmzgV6LN3Euf}f0e`urfL1pP;JMn8 zif#WP|FjS}PX4W%`Q?9z{Pn*ibu|A%8c;OfeJ}a@DsN#ti@jVWjq6$s;$op*cv?xt z1|}?@G>Ht6g1T02-1T7ZAk6oRyBsXr>soQK7syaKN%vj${>bZISioKKV_mDEaWYuK z>(Pc&oPYVlc1b zGT`c0mwEBje^Rhav8?!zb_^OAx~zJ2IUaAtrBok!z%z7Qf=>gUt=`V4>*Au?OToq}bphW`;FhY1f(A&(EV(j4H>gB+LXN1xo8QwKxP zLe_kj13XM!SHEFc|LIZXY&P%_xFXzQTnTQ^Ldi?867#yI`18Q@@~TUJGBI0koDNRD zab_3?NtF$hhgCDvfqXs4^B87DPdiRwmxE+`0xaStPUZAZ_5o3iI}s%D4Xilh+Z4%c zV2w8J3Gs-;@c!WV7~yY09-$`Z8dyO_*AThVz#16+GMTBl_(goRr0|dFp^0?Jv>;iO zXyqEiFG;zEhXzSpLpo?skYqJPV%`}f(;C7}-vrC*hQzn>W*#!fmUcUX#Yh6bUXY|D z!F}%rOHLB_Yl3AYew;;l^&q^zgj^ELUkmA+7lLKK;-0A{=QWSX!QyH}_((O$YJ?Pe zC|E`l&ibSp8k--tenhwoNyICn6>41cF~$49{|mXUL;nvmUAmM=ti*E9t9=BK}UgP8} z;6A~+kMB_6s;YIxpN#XGd2Z?e9=-&xCvN^C8Q26e-nb}Jn$Q)_YOm1oQfl1hbF z1nQF3CC!_{7vqB@v#FJ7d~#7nH>I(=0%cxPE3wr;`pai$(v^wsQ!hYcQAwdTp1%d& zjQ7}~7CvCrG`a@K6;kW|NqmZxUT}=6`kE2C*gKT;P@juj^pCclyQD>2xp9 z>ya7cK8LVRT0TvfIk950A8c}n|PPPKI@WBBQq~n zaX*+BJ{=9+49T(=E=X=O$Z}VpjBN&|cL(ilZ`;~ zZh^@9gLQFr(n~d2-`wgO_QQp$Gog{MxK%g&LY%2qeQDl8DO}CFM$T`6wsIgq3R;lK z1D-_jvZ{rZVZ3`mj<%qrc3#YI2SUI%h+huylqN-~WR+A+CZ#e+qwFkCq>|;R06CjV zme&I%t|gI`f!^{awGXghPSp-8XXVt4szd;dkYm_$Bg1@ z+-;=&n>aJ9I*I#lL0tgqC_mI@mYgR`+3gMU$Ro~$Y3eN`Q|1)n^pG}1`sfPU3)(M zGMr~{;p;qg0RJNH*7-_hh4*lwcV}n;ikmm=*$gtv795n>ZLB&y{)Bt+y8l+q5yj-~ zFs2^h3Ei(aI&y#k^oedL9jP7UiJSUw;-+4bsy5c5L`~oQP&LP)%heovcyf5wF%IfE zgB(FWbHOo~-wH;_=1gmXbFQ>#Yu)8RS5!^%AJCVywF(TQZt0b_tODXr3_?HH!Jbm2 z?nKTxp@#&%9V9b5Sc&mZv)Q1Jf9Ny5hp4O8MeE!Xzwi~=-N8zBek?zCu|#(!NyvO1z`hqC9;5fjLDr)=$L#XpcwwhlOmhVIk7K zlU0Y4N&`As&01XMKT*!9Gd;&!c(*WQh>dj~xaM{QSsl&`3=aO_GEUy^WIYysh|7-3 z-H`}Cwi{BitoYbogFvT3pjVc}dMos?+?Qq5Nxq#ZCnMW(%yz%p=2N$tZ`G_j!Y`ZY z>=0yGnZd8yrLL3jvaFgRL7-?UqnuKeWpxOiZAY({+dEq|JLv5Yjqb<(#(~xg-Fjwb zL5#QXCvDV3JwE0bT(N`03;L3Tw&UvE@=|9jCwQohGhfQcu9anH*UZjNFWg>6MONbW zvr!vDqSH1kPnu?1cc-+oqlzf0YsNx%^@NhL?&D^-9SL(i^UV-6ajhjM_SR-wiH~O6 z$s5|~GRablP;ES3VI}$Hj*^lZE+`+B{cO3F{ha4sS0wRq#2a>RaXH-;Yqv<~XV2*@ zxleYWZh!>fF|Jl(~*qj(w0iB`c;eeTbnvw=eP6&DabgHWjz{nr8B&eo-(PJO3a z&v2`{eiEYI1r?NlJo^x0B%G+wu5=`LyRw`-g6up_*m?9;g4=oggm5E|Vs{5J`H9_j zE$pz3$k{qiVL=%)+y_(&Lc1Q|?XvOq-GbKyJiWG(1l~j7Ewk}<-h$U1ys6-6Upx!m zh^S(3!CU+gwT4=7PrKk|AnI9Nt>Ahauese4EjY<8SSzTnG%MaJ8?Tj(rv+a_rO|>P z2Ja%f@rt*k*hb_Pg^-{mUIhig;pkg&AYny77%+Y6%^+MovLwoxz!naPx7dlFx6`f# z?{ve3o-Wa}=uQFdsv9ATZ%KQCF3}S+TJU5$Z80}aLz+;ql1>w2LJFt}Y{)H%VW~)yawo21-*CHStSi&u7TaZ>IqMlcpj?>50^(-a_!kRg1En#^>ARpg> z(*v6Rhm`ctlAZ#byhOsgStE;sVA5LHJ_cn^FFymH*Rt(z>qzTN%Pt>`-N59a%5>yk z$B_Y!WB(6sh@GatU)rAD@8bV!hFw9L?w9C)QusPQ{8fJ6o9yp7ez1&@#XR}z2iWKL z?O)ig{{Z*L*#^#J+&J7Q8-E!7GW%O`GyJ|ae5}r`06V+@UlQ)LN{UB0yaz!Xu&Y{e z3*iPmypn_98HBIa+ICA>PvDAh_Bn9RO^h``-m~HBfG@-K#D(I5{@~y>{x)1KTp?}_ zZZb}HF`MJ>!7V;mO>XOMyrTykn2RPyqM4$P@96x|?MUpsjqU_AGa^iozUWNH`Ae+iF%CU&MJa@{u z`m^b7o-h83%}<7EAmbbxXFvXQ3cW-Zi1Z9Vd>hf=bLQm{5uiJ%tB98P$wOZ$dd z5&JOu(Y1^f?rUA;Xujnt=J5}g6GqpET8y+W%f7V333m7sJDg;P|3-K*=@C^G&V*fm zih{SuSIg?HC$13(QIxG_TW-#s35N`sOm^RZ(+2+w{83$3xcfNz%Hw^kC?jE<_He3f z>SHx8KF=1ZuN!r?I?(zisa4?o&ZdM49Mq+wT4G(h#N$}LcYr%<+N=}XOkUb}=9v?R zVvo3wS5}=l)aHms>>Q-zRm62a!!|6n+h;h=9AJ*0cn2o~ALmaPk4~@Yp|*)^(&^I2 zGoMw-`rcNT@NHC1d$kD(P7L+%rTKQ%4e8v=x;=cQ9XYG-3ipno%2cV+y`L2s`vMXE zoR!}N#Y-OThZ*ZBZ^p4>?X*wXt?SEO=!c}NpH-vYX|yF14NJ`}%Im{GRlV`mHoN)j zPE>zTwt%9lrVnM1A4*HPT~YM9tETdy^z=iiFJnL{9t4Un`gXtQNE)1dJISY(RHX48 zO(jyHTsoAC1nvNy0$lH4B{)~O@9zT-MCO-s!Z9QUm_F`1*oLW69FoAEAk$iXdS-F! zMefT99PKn`_WiT)M8CodDMSxHA0R;wJCl3qYR#kwSh$_ZHZu8{O87Dl0=_}Y2GFkR ze%a|3*L;$VC%OUcz)p1LI!k(8g3f0W(aA#fB3)}9;gXOlVQYZv(zH8a-B-~yur8H# zg7K{{b=j;F&<=3xf~QO9J@~9Si#-eGVFX?ylj->LwJ`iOxJ|hG2p8d>Bk?)rf1{AA zARK7C{(Z0VGzKkiZ@aejTj5SiTj)+F>`Z&6JS}a8`vLwwxdxVx$o>*-vcG3ORvevS z=MtyGBf?coZ)CFy$}XwVB(0bq2nUI;!P6k3-S%g zNdH*W1b-TSGQMsGG{PT5rS#m6<`v2LF~x5RJcf#@vfn)6E02o1qL>6)6E#FRc&7gs z-hFardnKB$5~o=o`B<;yDswMgvy`r}n5PdAcL1$JrJ%#HQ!kB`HE2;%vBOZU1l}fK@r2b7t*|wOi(LSwlR-qnm+k;Z-?DDhj+H@0M8YQwtV8Z$j90DsK@@Q% zH;2JotKgFW;-Uyo=6+ov89rk?bApHWP6VZOD^DPOAez!{SW@#~MO>+k+(hG)+OLpD z8igPGv8wn?a|+kL+xT>*@zuQ|Yyvt{En0dHEe!?v3o3f70j*-3YX3&0?Q}07<0LAv zh79+O@wQ55KPCGW1iK^cYxljx7eeJVeKhS??(T$n^wd?2ia8v`{jdo;T>4_7kHp=T z#2{*o9ciDrH(jGks7PljqOF-rp}unz${QWQ*Z7vix3DWW8XSeC0~_L(cPnu9WjjZj zGG)JtHroF&o>uKd&pPA|V7jp=B#m7-D-xZHrM>i7fdHih{T#%-Zl#+3Gd>9O@e!nfud&5p)Tk%OdOOw!3<8Go;Mw-+#|)ww zDo-@$p9#tX{UCP|X`+E?1(kW{kY1_r2L~Y(zbo;R{qnp3d^a$yWFeJY>ivGG0y~LE zj~`46bP=rvDb-*vGUk2uFBK*Yum!5XQQ@;}xmVci!XJlATY+AWUx*upJ1`oJ7k>dp ztt9+w%VqSv%uwk+R#jS&2R!e??>H^n@8w`y^V5tFu5DhWQ6V(o-0dHpZhV@5&RA2z z7o4uD3;=(JlZ&#aWzrDKm3;k&|Biq8hpNhI2?wxM9dJ(v_vzEJbqJ>7${(bBh}EHZ z1ZBKK+w^G7gM2$2huw$CM`utDJiAavDlO7!+50H-nq!6gUhs6|@*>}Z_}0xyy(XYI zpMZ1H{@%g&G5h;Nz7N^oTlwC{caPHyGJU13n(}nySMF^9O<3a&GMx=vFB52{>q($D zWjX<$4!p#MuK~W;{(ggRogox|CEt4QSHD;AJ=OkR#`i?~`xU;699TsZX%T@DcErnk zcYU4S)1JdG!QY2tzuhqkH{vx8@!$vHCgaxN4&W@{k@y|e@tuS}AAbk#CtR(S+_lFY z!%f7k!^KGZvu2&>eYTO<>G0kp*mqEN7g%}WmB@9}-b#&MH(CjUiFg}*vZ#AvI{g0|j9~NC2@{^sTny^n;fl_h5)xvo2 zl0+9`^-udjG7GKrRtqWG!JLGpOo97sxEKPLLxMr_~A#U~LPP3gwkTt8Vf9 zlCrMpD`Ig0UAy3SSrOoH^rv5(&gh|K-|%*%9rQGY zH3ElXcLsza;zNlaMQwPo#Zx0~?6AU;PcFZ<;!_mMz5MI3(pfl==eQjqccDgj-ip)l zem{xQ@h>yJwJDnLBKp}b1eCA9fp#-Bj^9%6)m=E|0L7PTL#?I}-Rw+`doz*FL#^0G z9sN?V3%|Et0TxO$_dHUv>?@080Hw(jL#>v@jX~8JjqzLd`YBe@P(aW8CNW*>Szkpj z2i_aFQfQe?Aw;yvb#0GP^f%)9u_d$Uj1#ohwY&F?Gn>q3X%Kfn(!6TGGP|FuQ=W=< zwbS#Oe(~uKK;8hdUSLWq_ z?E+4#W~C=n^i+zTT+vf09>!2638;l;1a}<5bzQ}n!bReiy)L`|%j&@4Qs*$MarEcp ziOufJ_c$fOYp0~cFe@?OHX8n$JTQ!7z#Bo)sBwUPloy9tHEX{G$jN1`AZtYcE;bp` z4J^CpTQ-o?&NwC*W<|bI^6r zF39Yd|4O-Yeo2jq3--7_1b#1Y6d;p-nuN@kM<28rhCfD9wMS_F-A~E#2ic9Pa95pq z^`aDvx9X?Bx`XZ9>yrD6nmby?L~`FnoR6k`IMh;oxYdHo0quud4Ffuork^}8+-h09 zC7;T~dpK>ibhuSJHW`3}|DY+yjTM6vSP#I z?P?DgJ*)hCw{&^PN-h5VcZdwL>P+}J&1gh@oh)R1%&N`Y2)sUU)g$y#hexzcP-bA- zf!HR5jkHf=hx@_wqNEAz0Y8{U*dTpfU`o{#M}CcIH*Q3_&cSHDp?T={D!K8HRonar zA9Y4pjaqy{^~R8Fl^;89*D6yj4?AKRxO#!ti^2Ir9vxxTDSnse)dUMk;^XplzU53dQtW-a#t(N zU)!#t`lq4#`{eI23Y?n2u+#!Q!*hlE!bxm>Y2*vs!LK>h2I<9@gAZGo$$iL6`Ki*w zMmL3GM?cDU|6Ni?T8XaCo^riUkoXfJa+QQXV#S5r#kqME1z~RfS;SG?H!1r8HvXqs z@dKNXUp(nG{siy=^oz0ybB@b*kksQdrw~`Egx8-_^&364Tz?{|M{!){lwZ1` z#Ou1V>na&N%Ic7OkT|8wBe&4SU-|s}lI$O4Wm@AYPiisUh22gr`sTd@t$&ZSdemy1 zx0;MphPLw~sHzwxm#REhReW5iu%*EMg|N3wst|hhqgK}cDeZmWs;Kh#?*Z;bLQGUr zGSaJ&l98g3qETU?;zovw#kORaSX8K_Sk#&qTQVv%Dr~5zsHmu@s3@tZ*j;L=sI1tc zqC$ltBc-CEUABIo&&)Z@ckZv}^?IJyGcT{q`+UCV@0@ey%$b=pBmbrn7lX!ocs-u@ zy7p%?e1m7^*mDp++KcrOtq`MR|7|G!4W4PE4jpjPg~d-cc&1NWi7_#iVmk3;%9oLPJShUhSc!T4pz z{>gaz$BV+`@#HXMGPF<3E3foSp1l{hfbWDiddY(GJKx&{^e$3p6yqiy+;ySUAm~c- z?}%}H0lYEBZScBV6~Otb0Dj#6+qX}CZxw*w2fNE*!vcs$@DDKf;*9-E5PTFgT>xuf z6BymSu;sK~Hribu?j7ry-Sc2O9|e?$9G#87CjKViFRRO?NQ;4qO{NV)3iGv1o})2>`_c(@N|Nwjw($9^ki0B$FcQ4k!z%{dB-XP3 z3}eBLatuWaZtCJAr#D`CLl+CLakgnc#ZkPorwS) z=h*zI@XTh+@p33GD_PNvoPT*ghv#GAkqrU43!kX=$KuFGDL=IR5Oz%92S_0Q>V6hs z?dun{`%Pun>b8sN{R}DL2z=$X8}?g~;~Lk4LG`NDSf1PT95uHBB2)N0LTH0Ad-+`` zo&8q_92*(P#uD)OK%x6%Er8GpSk)P&qVLRuHU|` zF|WJEbKC`M5DcZ`ke^DG9~_~Hp$Rv2{cZLQU5!C^^n9Y+-$R<$Bg)<2pYfO9WYN`| zH8>kJ)Ed)czr5C*Sd7O97wj_^6nifJ(|-{Du_$+*1Xf4k=;DaR;{<_nv95HD>YY84 zkrrJ}Utnm#YQ_&8UV!*?%{l+Dd8pVker6#+dVUm{Lc>4&Xhv{}F1#U+`J@5!H^edi7O;_U zmvxD{#+sq2-uLdHIrDFxnVHur+i~cNv<ddxR+PD`1lgVr=8Q=m!qTJbsXv&n zmUw1d+=6=8&K?u>P}fh^OZKAdSvmSp~|`_PN>EkSGajmsi_h(nLSeZ}QH$>V?2(5c-IwQ-_SWOeGz)Qs5`r$Km3ciVuxqy*fO~P4SYA!z(UEk z3(PzC1!j)SXRh;1zL+0D*$5NLvyp^HR1!QWizH~e%r1cqXR;rL&an+=W@ALOtD#2* zVf|UQ zd*MeT-^CTEFUxkAvv%Qa?wp%E(UCv)<1C;`qz&0MlXrTeL-VjV^*d|qc6k^g`4Uz< zHV?pkyebgfLY>$zy2X!RLrvG`accihuxo>zt~zb7V?BNw>67(&#CPV*n>`a3yapY2 z0S*Mif58$|#e@tzXkfflck+%N&Lisc#`CcIsn5Qc_zYDQ(+1by?3p|2A-KQvvweQw zYA$@(Gj0^3=E^<$qLKU$%-gnmCeLj}rN0%HJo?Mw{02heSqCfnx#kRaz~(6&I;_+5 zZP`?F=G}P4=7{S(Bag~et?Mcn>{QX6Yei?KmwCdx-+qo3V8!LXQ9DJiJcgVZ`kU^W5E@3Al*O!X^G5r0rdpvfh_}ZoYIEy5e}`>8o$8 zwq~Ym@_76Y!H5RyAbk3*T`j*v*$;@;em88W>Bjc4+RugEUfAg>QVu(--ydW5|9Zui zw_(q;55S&}w(Db7au^p&l^z^qb9=fLsun87x8s1+f1`B^09( zybM{qe;Vwwg?)pv&xbwE+WW@9?}-?ZvCZNAEZlFwzz1POFV3->{JnO|=UvXwz$Xt==t~fkB75?e>f3V-A?C~i5#6sBV)-VS)yvJUH zwPQJYTa5VPj>9*@Jd>v&IY#6^yg^Ko3fc$rc`8Z2c3MfYZbI!w6z6_xPZ-ssKZsCK zzYF)XRMb}?sY|fWgTEPVo_6|x8?e6|(VqdGjgnU-;}8!kq#h8ksBqD0U!zsO>HQH8 z(uS+Fv>_g=`0&>2qw74Q%;LK}9_#hiOQB3rDdT*@7x2YGsfPPeDrLBq2|pV9OA#|} zS5F)Y!UvzJ;btVpgx36BAN=Y*{2heh!z}JuND)d0mn_xeSb(e{96R2KG1dvlOC z9e>jfyatav^Zs_w?)qX7SrrU)J>CQTU32*@o^ey7P$_~6oC*;SvpUHC#9a|Kvl}|? zb~pw3`0SuPU(tpBq!KpNFM#`dh=w(F1fntEUmx^aVZ)aj`q9meQe}WQMZ@vf?*3$a zNrBgIc16XrFRBGx4?orDvskf%BF0(I0%rgA+qayOV7TaZ{Rggr(MaU41_A$~BL6QQ z!DqnJ5OBE&SU1Id_(>B1AI3z^Vg#J+1bkpEY`$^LP1sWt9EosRfwvaR9?P*;FYiR} zXx(>w-0mScAF&nt>^0d_R^!L}kzsJ-D(1W=*$9n8mgA5UUpcV4ZrV^I?v zRbIe&2F=yC<0Y~i51QBBj;rgFktj~9V6Ai+oXbdCJtJM$3iLw_2;TO9|@NmbZ?AAWm(G^bT~rXBeP_CLoR55|4Jiu+W= z^V2uxt}4X+tctr3Zr^-kz6$^T#{%LG9A9#>hzE+3ODu#~92Bb{GVIgX2S>^`zHiuH zhOj+8`w}b!d73a1)gFbl7q7&#uz04cK^kiwPncV@W`T5jS_2zu`m}bR+Q++RuFH?}VaHl< z9%>c;>cYQWB^1-)6Z!msD*TfVoDC00_^h0>k9!a@!Gftp z0luxm!UHqpf)Upo?~vm({r3v z8BPbTQsp{9mFsgz!g{M*C;3?!X26DJ+XweGDhay+D#H}maI_Lw8CVfmAp$EyU^lt~ z;c^^_ZZv!v(o^?9C@HV`NZl@y<3o&S>|Q`sf1SBJ{bauQ~>m&Z+~r<7F)>uxT{o+7IF>ZDo6TQJ6C*SH|s+kct-bYyM?TS zPHj5Etb%`5q`(%E4I65@h483njdFL56)Nt)7IF^!%AWC6q~#_RmeoRbC@H_PTMT!$fUr-j?lQCnnOcoZVLsjJFOPu@_0QqH0&(aTa-NDWu!W39g$q!%_U+{fWQS*0PciF^s0KWZYZ z1hR=#gL#sjru$2ElI1c{;XYmgaBO$O{(m4YR1T~Qg!2w7`#E8D?FdBz*p^s3KJB+_ zM*|{%8#fA=$ek(^Cm?_WU)i;zT4ms3xPAQ9AJ+~OHq>P8xC4n|Ez$kwd(atoVC^V{ zU)_JQ1^tS&w5YJG+VOV6<=WO_!I0|J8pvhN44Wj=zlhMVyR23|C|S0rph%^m1`Z6aEVo} zcI7w@HZ1oZxL=@>5Lh`T!sh==<(Py@;Ny_E04Gx{9L2@AoXT^%ay+zO!c^9-IbScbTejf@4|n?n#U)D|F-GN2`5Q zu8EvA*4K+4z%R@BeI$f`_19T=Hzi$VdJFt#K6w9#9^O*<;;^}_2GjLT@c1F_lCXq! zBh{;RnH#oaIn9h4F@G})4&U^ckJn(}`UnhZln1xZd(2O3JQKsK;Ko}h&mJ~^t3fAN z27X8dw(ev57D^E8U+%H*&lErG@k}gI0WE;=bdQ})-bZ<^$Gq=h+$hM0&SUXJkNN7u zo{8tJ1@j4y24#C3vcVi|K}1Hvr#&?|J6IQIxcEe|+LyyAZ+Tb2Up{PbnQh&);I)<> zi!A%bocV}nT6ijKtm=z3tRBH5eRIKCu;&ek7F=?$V~}T!h$rlGX)OMBL+4G0MC|jC zpE%Tsc+?3Fu8d;LkB2jF)d!X#pOMB+Otb9VpY;(65r-IurRQvDoj9%XFfYUO3~WOV zT-IYA`KV{&;_dL{fgu)W+CTqv+h_%jIqOZ5dQgSq8!r;fQ`32>a26t<7))TXfW{v- zH$3W@H1%gZ2R;e~!DS62@P->7JP9&(c3q4(g5me%9`h;0IqhrMk!LV0758WrcZhNR zxJnfK&xg!Ik9y{g-3!~Vai`-e{MZ52eq_$A<@!i)XB{31w=^f(+pa{& zQMi{iBwAs9ulWK(3eQoo{`!r1=rLU3p5JSRKkk{hIs@)Yk>aiJgQH{JLOC051z=sZ zmVi@W!;-uSIZQqik1j&j^9MX?r^7}cjbvy%8c%#=UjI1aJ_#Cg{Khx7Z4W5>xkBm6vHKOqI;TLyk&+YGG zC6}=SFdM?J55I2w+P~d1_I=OwM~q##_6h?(-_^5xXKh@+e$9qld;`X_W71^{uk>wR zSD3o)s>{}{!&el@1?Q~Wym`%~Ky$%oo~w>rv2x`?-&yN(eTz12+PKO5;4{y(>FYAK ztS|7b$T$an?EUlC6c%n)`*B+~T(M!})f-MQ$8~z9?8)f#Ly+LN&SDr+F9G+uM!7mfP9Q?N8SAkzWe$Dvp#cu$=sADiYhF=1H zY53*hSBPIJeiiuD;Ma)XUi`Z88^SLp2Dc#a%fhb^zf%0F@N2}c1HYjdy#DAr774&F z49`O6;%_m2RruB8*M?s&e#RsOhF=nXIrv4PCi0hrU#9vM;BN(fjret{A8m}I@sbRF z8Tb|ASBYOeetWIoW%f=#fW|s7?lV9}Kw}1Cdw?BF1Md6{POt-|PCMb8b4y|2 z#trat?uK=l8@H^*9FJivUAWxd-}BA4o=bzx*nUrfnQ_Q7&3yMePo(+QA-rT9aTrHE zv)>atHuthz--eBazDq9Kkn5X%{O0N5<|T(bi_N&ho}oQO{hqy%dkTWQ{i8?wE$n!VG!F=p6w>=jJ&rkKgoy?r68RxUKB$9Yc} ze`Y>%xN;pH$-o*W8?RZD@1u*kI?g*YWaYy3dv1yI?i*p&AM1_Zlb_%%5A#P~fY+K} zoOT6XUlRM7;1K1Wg?(+4gMF`Z&r>$}_*;ZuFx4gt!rwZzUyr{{YQGtO+wen} zeuL1igbw`eR{Op9JE-;(<4|9*kM7&>puffge3{zY{;^m;rSu_ip?hRQp5t z8@=APkHOz$wV#5&nQA}FkDUSqh4@>F9|Ntv9CP8yy&Qk*)qVs1cB%b#{Owo!-S|78 z_6PAd8kL6$jlthI{Fs>p{7qK-bWg?aOd6$OCksFBXX9^y+Rww^LbYFnzolxw41cTC ze)R@(!KvQ4W0P=rlJV>KGkO&KO})ar{#5Skl#N@b~{m7-tU$l7vW-@ykQtN%KRD zmi`bU9e>lo@%Sa|>&=VHG&5zCf&?+jYA=bY2L=A3Cd7m@u{oX#*1;@oq5sf*5Ade)+q!dTd@ z%v_kcYULjo9%+TgB&Tg$zs_ft7kej|EydnkGhw^;t}(f@j^{t>$LB7@vYvpU~l;~|M3Uy zdH*)=tYCBSK5yd0SPYFY-ERy&HNrRsf7xm#;y3h^x%htX8A0{tj{CiT4S$;bkhSd@ zUF}^OZ2GFb9y9AfuP>zYtWXmHE}Y(d78)deMk=2C!Y>BDc>I#_OUEx0zXaR(*o*$( z7^fhxbo{d6F$;fl8MxST;GTzHB7TMV4MN|Fzle+}I>BFeCR#8YD)6huuO7cf{F?D= zg4T*(JARCy3xE6Y3*6eE4Z+=mz$5UB#xEAXy>MrQjJyLsCWg5boB8=|-XlhL!m$g# zZv1-fl+86))p(Z#=Va}&ETZn;q1Z?rcjP-Z1wba?+h8U3+w+-_ci+S+4 zg&3Hy$2K&~<19AR;R`XMY_8Y#N0G-F+0SZ+@s>eXgZaTD-qmw-#0DZxgHkdr$kGjC zl*KxshB4aW>}So3AN8&dj(y+!$D`hv!Ex`KKRoKa&!38S_3dqxaW-~J1vA{Z1h<|j zn0jQgTOSZiz4|n_-Xa*f-{{6-0`_JnAUefi2H;6`m)G3`vg-DTjYe7 zhWL%H#f}3Fh6Gy?EOG0Nf~of}b?b?La+rG3xehb@Cc$ZJ)D`BK$Gx-s394%8BbKX< zykU$t#v%wZLka?0@nU5Fdz)ZPhR_eT^$A8Cb_T&6sJ%hP1Y;g}?@L%Q)bc;UU=rKG zJiAlJ$`XF#BRJ>)uE5U6g8kqQ5x`yGPVjaWz@y*`Uv~UAfOEiX6^wuhP7xV=1-jlm z#`nLUZJ4J&;awZ_toh&*-ZQ3%tk9=!HEa+eNHe;?;5rnUYD@+i*IYR3#ufyow?0uq zd+c^>#c4-~x_OaKh23Tv1@lNX3ubt2f~ouW3I`f=3Z_AqVCu;^PK4A`1yj!!Og&dH z^#Q@q{YKatCqNn`3AQ2-Og-*m$DVqQVCt2EsaFZ6p1n@`N8`y64m2nf%m9i6Q!f=v zy-YCm8o|_S1yj$-6A3{4MvHKuLC0mn0Ng9sO2FlAy;3msB-VUuv%8}-!PLw09o^3q zHVFqBG^}?FEL|}5`VDTqQ84wrg6Y3QF!e!){Z^0d+2{mF1D{|9kRX_Pkzne@f~hxP zZpGe48>`T&$aXUxZCnIy0n-9qhJ9+u7ai4!r{fv~Yk$B%NoK!L z1TF&Wj)@6q6A757y~15L+uQ<`VL#4wI}t!N9BOg?3|8m9iejfkn8V)f4l{z79S&2E z6->SMMz`K7n0i*Jt)u?gl_WYezU7q$!V zvlB36J6KGEs9o*=Vgyr963h}v5llVXobrr!vcEXMIRW!=_BPsh2nA2(xFtvpGE#;9 zBy_#$BUcg-UX@@bqv2L3*+_=pNaLCz)@J9kS1{8#c)MHo+~F|w62Xk1R511S3df#$ zzhG-{P_o-?P%fAObPHwxy@IKyR=WLf6->QSF#T5vPGkSpEF5UiDwqLm<(b&p>=LRF zOg-Xmw;nB+daPiEA1ByPgQO~V0NH}6ciivRI|WlOsdnq7g01i$aO=qqLNqXm6v9Z=mZ<*YeJQ1ZUMc8DJ4-3ubtgf~nVPX8%TmCheeFd$VBb z9fBD^r(o&>f~gM*re5}#JAoC7t^SP$C6Bue>I7475X=Y~1yk=5Og-ueCp_v#ox{{4 zY-atpOCTe_phPeONPfv3z<^-t(eJtSYQfa=-*@Xp7Bha8fXolv204NmK<$Tay-6_j zvVXhvTEW!Y1hWK;k6>@buM*JS;RHYr8NWHL;Ji`vVQ;z;4hj1KR8n#+O!PUj{1YcU zMpz^GD6|f;zg2k1{M79sU+@fgAWQogEQ4!rcE^+`_zc*SrG2;1nV_N1g6#b3Ly*wv z4lr488axyWW&mY^saFc7UL}}%B5qIFo1NgSFZ_-J4cY??It5ej7t9EZF9ZB{Ic(|s z9H#$V!PN8o!hr^Z`yCH72;=G|)@HYo$Zm(Jw+W{IRzcDZsyA>YhQNvl+w-2O5O^M;L%p z1zQ0Oxpkjl>S@2b^{s-b=LG8$+bF}j%qbTRG-wEQ44A{n5e`$Y33r%!yI|_g5pKO- zF!jX9VcovWDRLaFlVakSVFT+jC{r*4h#c$I69iN5k8$NrWV~j--5)d#JJ_wQ zV1hQV^>V>h0*-d;X@aS@PIT+WF%DDr#VF=5fJK<89n>iyev;#XdY)hgU`%%FF@mWl z`P_P%VCr$l**fZ<>JgQL?ve8aGXaHy89-S8Cxtizr%apz$PKXL<-=-lpJ4iL#=r|3 z>%TpNRPAvB$b$#H>62cii12FYWL{b7lU{wSJI9TJtsEck*5fT^{Hn-@0t_OjIUa6C zgycTNs3UBj;pi-(A;FBW_C&YdAeg!l58aAi9Rd#>tj(^3MS>Z@R>2G)8w)Von|%n& z1XGWg<<_GGQ*Q>_@v8*12O1=}185h_0Lo^&^(w*C)8@GKEWy;;QJJ6s{=z=Z({xjSLt%7M#nBvyU1XE91=+-j@Q#a0Z>(PR#<7SQ9pjj{tY8Sh8-x7zZ zXP@gZOK3AAdo-P==-{=qy44_Le11P`D9YE^k4pZ;i;4u9sZgiM>-e!lX*9x|# z0eppSgE+wqpy_J29?5wvYqOi_kYGlDugSag%xfK{UMkp{257s^Z4k4~VJ09mppupe zrrx*Rv1bIn>m8;ZSK=`BRKfmw^lWr+^=zeX4+%Fp%m6zDGr&H<)P1)&_Ev;~sYjI! z>-PCS#&NLD|IwWJvo^b3rwV2OmAl+}gJ9~df|-Ce!PGm4S)Kp8h8^r84;%qz7H}CffeXVLk#P8r3UD$w;_nV8g2Vpd@KUhnpCkBC zu9d)*^bgkl^XR|D;p^!Cb;rIG90i8G-wNPf2JnVsPz#O$>i}N?NB_&w{{@Z(YrPZf zYjyOm!0}+M{}&whro)lAzK(l~x6p9@VF|?Xf_tx1gmb_iuss1f!AJ&2gHu$Fmw~f{ z{c3Qw;EmuMus#Ggf^&t=I#R_tVW0m-8+XD$Z+gVj98if$ZgW?mW@bLMc29*9J-))NCkdurCYTYF3#MKrn0j@EIRDe2A;6$XF!gr944^|W z^`<-B3G5O~y|&t|mpl;Am3BPfHs}`201_W`>nVb%r_{RjJi*kfo^tCY{-+%W8k9cc zFmqTTn0j=BTTc^AJ?DA1o-3GopJ0Y>7PNUI{S7a;eKiWEul^Suog6XK>CPTO%_ZyG zNF40P2&R3!u&@8WYr5a?yyT9cLok!sDVPDKwmA0G(*#pbTHqw`wf{RpqgdF#$4-C_ zeekFU_qkjS+}i9jP`+SB(DyI5?rC+HdWm2ruv{?p{x==_v#mz>mg7K!gtr~GawwR3 zahqE&6->QNF#YcpOnpeOH3?w6;{-^94#5ndQ!w?6y^cNgV!_n=K6L9b?G96KaM&IM zG&v5|ARwy4@xTb;1T%otPuzN@VCofu>AyoT^^{Mwe>Dim9Cok=0r`R%K)qlF5dE1B zz^)^4f~i+^y7gwk)FZo;t|tK!wS&4ME!*b=a2U0?FyJYXJe*PN4IgMhg(u@oXPwc; zg7XC*2QCnt3@!xo3}p=hn4)CSY%*b>H+@E`7YU+$n_!kuyI|_wf~ofkrtaHsWsvpX zF2Y#b!D1Q|3T6Psf~ofkramZ``p^NV1gXb%JG>SdBscOTsM~#;FrbG{!3=O~j}rj( z62a7suiSc=VCva|=|7ijwSRTYdjkym1v7w>uiX)p38r3zV`^^`j4j9^S&u@l2VW!j z4)9j6Ussw3;ZO_*%};|%ga<}Y`kn4iM;os|*PE^*wE+og=yeiI|53wF`;9i<9@xp-y^@4dwS_D&%2@wH+V+B)>_c%JaTx2K;86fM%YTePVTjJy}_78HH91viq zU?#9vFe9u9a}r=>Krr>NQNy}@7SDDZ)KvbkfyMDlodllz2MH`1apV-wu)3R^*X`SBcdF8>M??;=V;bv@m%eodh}YsRs@0>K)+z> z1A?h1@s_Q%*_AL^u$2JCsDHLWZh%3?cy|Dqf*C;G1h-xy*oq+9trrTW-Z{ zv`lwA(4a2P&BdbKX5biBfN8;}U)O*u1=D|psP&s^FKYc(+FOkHc_~j1X`+&p!a#4j zoi~aE-2t5(gV_vyis_i`B$$V!eU8I5uqS7!Q_>S)zSa@R{4)SdlvwY0@Pdf^37GGG zgeg7@=6fD&x70%*@LiE;#S_5ALQepf3tk4U0Jkf9Eb?Y#%?&a9d~{CdpaE~Y*qePw z`1XtD&G3+(6ymzxiN^~lT4#>=;)>>5VNccxegw=HR`AD)?-lIeg%&)qsvO?O4&Qju z{55v6!1$)ZZ~~+7wu`;l3FO-_nxn9a8d>{~1M}?|oq!ZD-?Gu10Zv|kcX+fz4jfWo zP>m2-BHO@x_a{Sf1(@#v9QlqDX4~^8T3jAs2rU&|N%ddy+!1&=$-9JUCi-cje) zlb-}z@v8*%KIJw@f7)RN(B0rLBglB(;k!`j$enQ4t;qL+qtiZKFvClD3Fm+O#b(#? zt#Gh6bx2-ym;odSW&mNYx%EiF)U%r1dX8Y~RsRgZCt9q{PC)fP9S=0{z3#A;1Hse> z1XCXpOns~QzC&<-F~$N&3T6Nq zf|-v@!PIL$aQm+pOuhI+w_YOHx?LUD?ly=Q%m6$ex%DW))RQ{gda_{ZL!Y?y$WI-% zZdbQ|?l>@qeS#T4f0tYL>~r{8)NOLL7$ubKcXWnVBlsV%C-aUW+k$nCYkckY5HI*0 zct`-tld$ib0DHkquyN3>hY6-$>9Bo`Tjw}fmm8Vix&z1){23BN&c>{nZp}6QZhO8V zZf~QEZ(vW>mlsSx$af1wDl?NqmiUcn4-Krka56ihw! zG`Igu!Lf*t94X>UJ;S5Uv8oQ_p5X+*0P7bz%m_OKQ!hWut=9^sUcK0@w+p78xzw7e z$DT?+A)mysHoKjcq&v(6v z^}~0SMjL0Mh{?rp=ToBT;Dl9JtUz%#I0qb|_$shJ9}ej_CiHLz92(EJmoXvV4{j3t z1h^T@`xVrm2e*RxvOW1#a2Hs=<@P3c06bCY2f&e8q1M~|wEy2o^gju3;OqNzn1H0E zfjM(SW)7>w+}14UHDH#BezUtq%w;X0F6Oe9fNR0}sS}15k7Z8mZM3l>Lf1dI=(((< zOPwO8hg895gVO|4-zu1TsbK1Df~j{1w$A@4e7win?2aN`Fau~7%m7*hQ%}0w?LS8_ z^)kWqUoO}>|F?)Dq=yu*Q$(v#gnH8@6mx|WA?;fQZ~6oKcA*zRC#TyTpZ(Ta#Cj({ zrqCzYga>jHPT9KWt158YcM4{LdIdAQKEc$BuGIe3`M+e?!EW~zf*C-iUM@&i1ok2I38vnxS)czqv;#UK8nkY92hb&$dQqWUFB43C=qk4!eYL~Xn~H44yqlfE zcJupwTn>a?uG08L+#9R>#45m!nfK1MC&d66q66J!0o@ zfR_Jg!PFB3(|^)1qdTBM;jn|C762AZEn3E$-!_o1^U*XUo3>aW1j;Xy(Fm8^q z`EfX~5~bjn?s(s+Gqf+f+Np#q{@|DoiUeK)ogB?|Rdg3`+~eecIgAv{2x6<;dZJ+J zzI)wzg5YvQNS0&K==*6eE(cO92e_#oIlI~&V7_2R*iqxw2Lw~Edf2Vk2&SI!2y}Zm zVpqB(I#`=sDcc3JL^=gOjvSG(Jlk*yc0K0!r+xI}4u1f9a;+GRm(}5NKu1Uq&2Z4n z6lOf>F!gM~)N`M4>$QTZ=RE7y3j|vw@La&&=3xmw)Qk2Lw~E`NFOD z3Wn}C`oDA=M07c91t6Fu&>)z4c8_CEy+ttfQgl@IHo=&RIzXlm`%X9NfAKX=&lL{? zz3IVkn+R|obaJk^ijV%<8KXim=QDyW(1vrsYix5_SCz*4pWZ^b=bP_>ktk!=n~8Tszx{- zsMiRlo*d@Z3j|Y-80prN9JWV#sS$3262T0hTrd+*A=pZwVCvO^sn-dnUO&ugq}MU* zV4rj&MmY&$0E2w9#oFvcl3(id4%8dP!0KG|24o&}j-&FxO@fQS&6@o%D2GFfb^tTL zGSNTPKqsGU1!xbvn!#;~>!^R=47^?h?-Kk5_*TImg3A?Kk0^f$huejLRb-#&9FI1> zhpso>|HX~b`Y0nDOT~~AME{pQ*3ntyS%MjUq0Jm=*hO9xV9+3#0W=9_0P*A85hMzx z-YJ;=dj(SuJBt3Tk&c~!D9ZtEYNS^qm;uxZW&lIc?gaRbc9?oTK09DM)$DVr0REMn$f$jKJj=KX4dId9p z+~eE<+7-UX$e3 z+mif_gB8IU4zq|-1yipVOua!cbzh3xf2?5YF{y67z%LxE0MgwCMS`gp@C`X@v+GQW zVCu<#c64%9nbT3FqfU|awCY0`_4^Bi13lb&_eDwrjZc)2@(LBZ5BuW;)z>m8;ZFPPz{Z5Y<=8^0xvgLU?66U+dT3Whyc zdP9-J)RV7qm=Q!@=P>mG!PFCqwXV+p8Fx9&ga&Om9ork8oJFnw3~bMZ*{A0U(Mk%S z?-pmz>%f)ZI0V4UiCe(ULazk3fUWTX-&1CUIU)fMz(8-hnN<#_*zPGC1T%+?f*Br` z09QfS{Y0x^>M`4G9re#Ph*b{y?AIZf5p)ZF2?-=Oz+GQ7mt60Tuu^a*?8(()n!&ii zvSy7gqT6~8+DX6|wu6bfbl^|!k9Ho?>rD&2aeVCseUxb+IK z9luIIPPN;hN-zURu5s%Hf-U_qw_YNcdeYNwz2fPB^MBg#ORRRC$Pml`;+}N}kSf?p z!1HcBM=U1c_%u>i zaR@ri&3l~)=^=V}k!`!$`2+_py6ui&jPVr`q$3P6>;>#)ArC~R0_*Lg7=&Bg;jnSm z<{oPt1J;Xhb5ZV@3`4DOAB0=hjIi)o^USc&1^#)^xX?=l+{U8OE~jn2{XqXzaL$RS zg3sD<`EVt9A#^^s%ZVx4uLpC6d`S5(2J_sRh;tG3W2Zt;8`s{igwFfe8Q6#JH=ck) zt6DN+3{G9If_YaXO-1l;FuRp76fgrE0P{6JE*m%o2|5Cya!j1AB0Sz+;opjqyYum1 zTKfniC5-kHjKyFs7|x?U*1*X+3l1%KaxM<@wT$2rFxPpD#;Jw81I!2KY!9Q1U0{BV z1mRiwqhPL#SEBeeu->@a9>8CNc_Y3E+F0I}`3(*O=^;iF9l#^;O#)tqq?J24SE*Vb<;UY0Q163N3aN7@z3Dl5?IFYX7CkmJG?w_m<){M)!<+hgV*)0EbFosk5BrSpIB?#*LBq{%Zh-wVaP16_QK0PCfca8L z8<+`L4{rD4+%gaOxS!Kb|} zgXh7V-EUPXeji+d945e?3HTh$CvYm2|L?#%)o_I+`a78KY~YU--bj4Nha*Vc6P|dq z8mvNx0V0P1uZ?wt%lYM>V}gxLm4HoPK5w6)xRkou=>I`5Um)NDiOk{ctbJ;u{yg+# z^c%WazUhZUM{bDWQ$_v}xJymkG6#KNuIbeT&kQgGPrPx(U0sBu!F&m{U+FQ_@iKU+ zO5kEXA*VJb;Ll**_^QP|!}D*41Hbi>idsmAN^oaWuu-K9YRP!}JVyoiAvhI1*;d8< z-~udoqEAji_(l@frH)YkBf)$NH3JuH41Y41&pHmF*@6AWNpRSU6?P+)hlOC?dW%%& z`}4t>=vw2Iz6q>1A9l8b`IfytchrFS99kJPM%W1Ef+u|Qh1^E}sKj<1!ufwc9C)Wo zNAL@n3&TaL1OzX{ArU=aI68>(ybz-SCBRBJ9$br)l^x(HEEo#LG-rxRz%+0e1|ZBJ z4`~9J4_zY&`~1HM4tzO+BO0dgQn225%&rIXes3KfsiIyE=KAs_(8v#hxfVISk(;o? zB{RDfzX|R`EAy!EzX0=wPX-cTo&Wz!pK4=-kywtMOZ+Ecp8-w<^Evfm6+j|55i?Av zGM0W0xB~-I6d zH-OiGIrFOn*be3^k^``%|69NnczH}`pc0%4W1rG%zKgZ{|X*x)0L z4ah0Kc~Yo~^mTa1#Cy5A$Ugz|a}+VEM0&tEsD#M~oH=fqfgEE|vIZ~{_&szk>0hln zrXet2ulMtGNP|(6aZEa~e1~c#J}^IP!vLwz1arm97R9OHG+ZaJnK8m;V1B@(MkRPP zSZ~a60hlky=#J-RFjlzq4?El+;Ncl?Ioc_k4I}tFn2%%WX8LY`{XTF39_36_3HUxh zAK^nY#~t!6gvSgW1Fnn0JCkY3VHzCx28}MVnP9#S*P;SU1@rB*dc_xjyQZsgJOaEN zT!_N*|UP|C>{ax9vA*tDSi$+`~+gE z;&;IO&_#u+17CvqyjZ?U;7{PKZ5RQmLpo*(I<`xlVf=AmKVOh(QUNByfeT2tC=W}) zUFe$Qg6st3fH^aqjLSh5;TEvon4{alT;V!f`F{#rRTg3tLZkhQV7^X*uEFAur||rb zOKs~IV}Q{EgDde}h#+`i2@Hbu#t6cvYGMGmW(eSuz^ORjGdxDP5L~Oyrc-dOcpjLq zP^K$AZ>k?pHC*F#6ooM05}8>@0R!-Z`B-JT%JJ=By)gkbU`}bZs~o)r=5waG%Kt%d z;qd8vyzwKLH~Yijm*F4jKMpsH<|-Dt z60ZaE_C*XdMohU|KEc{%}q|%`6Za^ zIqFt%5X|M0HAfteBE_4=3045OG6M6}!E9Ax)4^P(z1U+XC>6|iwhOA6?p z*Z=u&;Eh+G3cwHMllD4-UEtO$?PJUwRD!w4U8S;r0<1Td(5qlhMXMqFCI)px`o5C*r~UdP=mi zKPSNc66zQQ;}F{C|1058t)A^=9ViBKahMd9;+w&olCwG@^b;mnZ%jZPm@iqys}lJ; zxHj4|JOKG3z}}dSlaZBRw0}+_jidwa5H+eRmkD6Lmunp({AMnaRWGsOMFrT2) zMY;scH}&#DZ2bZ-pBHae_LqapL*^HDcySla@cM!9LqW~3e1mC7AbuKm~Z0sDxLw>8|z3im=7g- zR0jSGPF;umXQ&7-g+tt#&M0>)nD@fNM%qPeg7wA#9|!ZbFBF7z2%ZP?F{c*AEnvR= z=|hpSgxkT1xlYG+0Nm)urBbF!z+pJ>F{B6;z{iY5ZQS)>OqctiGhc8dn9HuB8Cem0 zw@h1;@x4muyi=?X$?;&mP7;4g)S|mV-Y`@iMTUyyx|Q-^sW%J27~; z6=Xx_3;(6cej}K#0_s+=1I$&d>Xd#bnBN}DRjp+5Ld4GnpQDt)BQW4iwgSa3gSp_e z9)P?D=9)`sO8*r6fM{0x!KG+}%pogrA2=N&syQfO)|o*tmyXmW5_#fq{_P^0ib*BC z`LL4=eg{1v{96H>3+6Y4tQiqRuo|pq$0N~?Tmk0FBpI-00s@y1tRei^k1o_UD=1J)Y@j6kO!hGBUM_L+bv zFu$|W638tQ zMZ7b>zT!_fq(3^>eosQ@(vjJ)NBDlDDZs;f;3^zbJI51@4saf7eKI`o81|4cPdKQG z^mlNnD4~%jF)8-O1Ro3L#~Wd0W$1V?zvXSW0$l&k5Ag6OFhAtyQywk|(DT7uqp3vc zH-Pz}s$RvFV6L9Y1hWJm1M`89M#Zmz`K6o)9s-{K+u^`(oT8twJbVT2#F`AcWBMOB z4eJi-0K#XYSuSu6Q4Cmb%<(L6K`J^fWRVG24lX+!Y}Eic17&FD*SvVy4x>1UX;An6(1`rWSp9!|slvNox6TB58rgZ46)T_XH zV*<8;`LW1m_J53ECmgu)NUaLsVenpj0Adiv)SJNkCP$OvPZ+?N7-Xsh9R%~Wj(FwY zn}8DS!LVD|M}hUm1k3^R`*Z2+e;C0kIB)?AoF6Q{0?bb+>j>UQGvfE1>{^Qp6X?Z1 zk1$ps0c;hwf%V1+9s=`Lc8uz3Uk7u|+N~=5ZZKD?@kc3#emEpyPNy24nV=BN_wy@@ zS&B!4`N4@YOdL>;=luYjO!AeU1m=o_ohrg5;7H7>MJjy_m@BN}m|Ok}z}W2mmnr@m z9QX}EyWNjBZnF(6E9y^x`QTLy_L+cYaCrpo6T*YVXeIo>RISoKf}STX&wIdJPA@@a zcmP~F2er6R9mAkGNFgc}6TkpRg7wA(93Q~*z(t~#rv&IL!Td^!9>f-a(@${b3$}w> z{fk44B$cAu;gExOlv5EIhe(fuGcgrg3TA>{0P_P==*}&E9n2*T)0Dm!%=bnxi(~0u zfw|&pw9#llC@OUE_r}N?S-&hz;fdk*X&sGs6gZTm(dP^(7CE!w4am9ZI^Tqgh z#d)+x$Ca!iybjC{UFte;8<<~3X;u2eCnJ77s-`R1i!jg|6Z9sSE01E}YbD@YFh9Lh z1dSyUo`{|i*Md5S6T$qZpzg>{0P`b;N#kt$IpFMfgNHk+MTy8iA2;x^$j}omg8@Ib z+@K;@4dxRg11bU6f%!H;mMY?1;2cz1ZYwa}0&YD09t-9Ns-jc^XMy>}t45W9bHLeX0+r}G z8NUBQIBYEs9=mB*%ysK0fcbUS zHswDR%&$w=D_#cw1IfB4#rgj)0RiNLQ`caEK}B#41AM`mHme46spl#c;L~8f;=*Rj z1h<0u990{R3i)Gj{FfoamGV0(p=v+iaSJJ&;u0@~|ydPYeik?-K=#OBv@%)cSk~r&y z%V%Y<5S$~r*1n@K3>WwH&W4^nJcb)(Tmc z^!fiGIPfhW-IKiv)*BPp3D(aPv7h)3e49wn5SZ`!>N;@beE4}M*eHfymY5H$H-?u0 zPFfpcRO9}$WpFwi_~km?PA>%OhnyJUdT<%;cx1yf1KbAY$4_-vy&KH0N5?AtA+X*U z;qzdAxuFC5^#2Ap5&eK)SCURRbWU|1yEzmPfPss}?gIM`2kS%xm@h9Es0CfiV+s1~~S{ z5Th6ovILfc`KY?KzYxq%Z04&3YyoqTd)-ss0OlHJdX#)Oc=-Iw6g>k6KKb3C0(cGF zKIlBT)CT4=waqF)Jz%~WmhG_<_&b>2Z!A?MI_4OZ&~)c?JeJM;Rdhtk|5dQ}b5VMo z!|5>KcLCV0nd1duy)l950em5t%S(i*1aG7N3N%A?X?7>L>z?upa3qFsVJf`CV7@I~ zuh@H0{wI0kaM&%=1T+TiIdSq0RdbI=Ihz%s?wE%lkp&uF7kT=?4Jhn z6TrHa{GI-1z(3N3I_5Xp;lQ;$Ds2bjKVU9ps@r+w890637c~5U;j!RajQRAH%~WuT zXr_&_d&yJ&wLtuWtNq1ynDKJzUuKx|==oF3iFQ)9>y3x(*#Q0!9NX?Za`6S2%ezDd z+2IABiDrlajgS2=BN#)6zhacC`u5|&mATH@Y9^RZe&YhyvR?+~3+Mxi*MSp}Bi(Zr zg89a&K4dq5`2xsjB$oFZZU=M0tpXl@Cg34B@X7Be72sRo#wD0k8fEM4;2d$K^EH?s z3)aW@cW{$v*CWqDE1BQ@LKM5f={|C&^ zsG@hZ^ogmcBY1rwOGPjr%-5RrwP6Ohxpk)BJB^b{ircMlRCkb_$aM_-t@44hj5Ql_(R;w}wz4R)lN7tvKPz`0O$xiz*%_m-p2qiDD4H;pM$m7 zQSF(5|A6rV=J18gq{TR7m>1NCI1b#7$!T_6>__GQ~*1{-NQMaVB8N*F0=1;GlD0;QMkA7^V;Dx zg1J77EZ2w;;B;seh34-F$X`wY;7W5LgV;V@b}8O-lD7b<-wIBz&X zv+k2)8tO<=xNtj{g4gY|~{|5#)S4jrQ1?gw*ai$oRR#Tbz2jU_S!Ju8k6 zkJ}|Ma;a9yXyahMTjx{yiC`{nR;f4x%thC%66f{*l>q^4C!-(L2`C41ZLkVexb2WP(n9Xhk=8{Vz?D2th{*Q(O7dLKK9_E4*#0`dY zaP4eS^vmhe{`>Z4Pg86OWG>GI{@KzjRjPxyj0nGI(bI|`-4sXDr z6W2{$DuBJF8!-p$%o+h*F%iGD!e{$?`6&q?!REJ2iKwWP+Xd2kHUop z#+_CIj)p_idgnr8(iyBom{L(iI4$5>ZUF;mc1FER!O*^taAM`yWCTjer4D^aTu@%jfY%Pk@I(Fqho(Df`va z(eClcg>IH18R(klIQI)Cfc3@%oe;pMXQ2H@I#;8{*)+i2>RS9^g4PCjxE35ErrB-+ zb0I5MTH03!*uNCO>sO$}#I@i%ei+n<5lJ^V8{L+kGWiu8os9BUMLcFXN(i+$Qbl+i zm~R#9LwFWuP@2W9+lA2MF#yrWd>ObU4AXe34*7H7pf?s#F}Mp)!_{G*IVuOYA00N_ zZfgSUXX6l9YlW!DpzM_G+?RF@@g9k;X-w5TP za}2oPO%%C`@I-Lh4Y(_&5+{S)A}_4X7EYxVQs0`bu5zrb9{U*Edz0+-|JISgUb{#!5?eko#j zJpYFU%z8}(^DW^h6=4dPYiJmSBGr(Lrn8%QnC<7doizg!0F~1l*h^|*(&u;|t-T2|N z8(445&^=&&?@zaq$H8&v*W-h&^FLl5qeEe^(W{E|pWqJE`Z}=-MjMli-j!#+h_l z1m-8R!&D{wGgxoT(dA&Sg_DaIcu34AQ$thtWTb|M1o>yrHr8*x^rHNY8w+O6PE1Oi zYg}~MhRX`izpOBC#Y)TN6eEAl=E95C=B-2}H~M!}|yYu9bweAx#2#eWFI zQsx=!;k@S3br#LF{4Pxe%%7cPsGWJn+D(O<3%6Wy$xQQuMWMfpnm7NHImX3XE}1!R z{`@5Kqs5_Tj9j~M!{$OnQZO^gT)rgqM03TG&~Zo2GtOFhe&$(eGv}SG_vR<=xphhC z(%?P&mxj&^8gtp^m3bSlK4)X@x|s!QHWkiH*faX<&~0HS&ppN1Qjoi*aNXvaNeT0j z%MEMRuVa)+v*#rkmu@Uvid+Nco@}h$VC^KD@2m{1oS2wkTzt{yf;G?*XJhx`jT<*p zPn@&IpBcJ4c+c_Yhh8{pPi1cCqL4iyd7-}q?-_GN=)8nIOYRB%DJXcT&OH6z&`F_u zUnBN?^Wu9$r-t*<#`yO!$p6gTMXjYS)M%+QpM@66ce&f@%unwPJAG&zlqP x51k%?c`4t0cuft};w1B&`$LZj-MTW=xM`KS;r`I6(cZ^G4X<5utqP=f{||KVnFas= diff --git a/release/aqualinkd.test.pda.conf b/release/aqualinkd.test.pda.conf index 470bd62..5ac3c9f 100644 --- a/release/aqualinkd.test.pda.conf +++ b/release/aqualinkd.test.pda.conf @@ -50,8 +50,8 @@ debug_log_mask = 1024 #debug_log_mask = 4096 # Log any packets from this device. (less outpit that DEBUG_SERIAL) -# debug_log_mask = 512 - MUST be set for this to work. -#RSSD_LOG_filter = 0x33 +#debug_log_mask = 512 - MUST be set for this to work. +RSSD_LOG_filter = 0x33 display_warnings_in_web = yes rs485_frame_delay = 4 diff --git a/release/serial_logger b/release/serial_logger index b082f8d43ab28fb51194c2d853000db23600ea24..c0b4b1dbc00023bccb5074d352545a1909ecbf5b 100755 GIT binary patch delta 18570 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 delta 18324 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®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

oMjm5d;s-N9;gMJ=@=ToOmbF!|0UEN%@8t}(B zg6ZcRC$^7Svg>CBUT%R)QB5jNBlEC$an0a-Ay&`4i1Xpm*atp;{lJMuek*sL+C%=& zfvd1Zt3sUo-^B3$1YAA=x3wDoQ@s8YTYiXNcW4QJgNpj0ivsXnh3cYtUMK!0Mj(Dc zAx^k)`=jx5fO)h*pynTm$R_OHPHFf?GPH*Z-)X@b!~K~XfE7Fvli`^dybYL#iXJWh zFM&_htpgi7K6P%Mgo_4r&i!;bg_QoOf?M< zWiU1_SIaa7od1^x**T`z$Ae+A|O?9nPX0jxhxL@ohyGpx@lH?Be)_xIUE zB4*hE;3LTErN%>$z>5-9BP_thz}!Mm82RIY`3o6dqEW#cf%S(y;EBNtfKN^D>#>Jo z_y;H``gl=+5NnWu=d^klA1izo_}rB-N)}szs|`K$N{qla4cG~J9|7yG&Ve5LyMfR8 zz5?b?wYW9HT+9@BDXOm5wMe1@4q*LZfdb%~D?^Yeih;AP;6b8{Dr;7jlW$21#wHb%h9z&ugu3cmro2}bJE%D)ZF6~0Nse~u|1 z0JdNjd26%`=a9f9Ul;fvU><;?HZe#f;DV0VExh2Mf?3fEJCr8IOGw~ac*6B6hRp!; z5~xzc6~NIhhYgtqiK)@@Y=2Zh0}^HlH$(z6;ET?F8KxyMYxJSO^WgK8d=PQwx50`l z;Td;pI1iWy8g!D%F9zlwXp6?b9+;qpc;>A%RD-dJXgDTYsp)OTb4K z^mXyifw_Y@1|Ai9lld|2bcL43c-BA0$omA?%S~pnrt#^R499`FOUu|8%3^m`sf+PzO8(8w#5ya0#%#0zXaB z@Q;9b0?XC>2ENqlH-zf{C4szrsNnN4@_&&OwZAJFI*@_C4x09V2& z^)CJt*Z~D}BmDx{iCIH4OM&D0H!v@V^l6xa9^=Nj8GQCoh>n66Kz=PD4;dVWX}2(X zjSX(J1tVg*{CfG(t~9UFu06c4;--1HK(KV9Zq&m&Qn38-q8+;O)S> zVP&P7ymmVVu^9)}fR?Zi8Tjfu>NzsShrsEJ`aB1}UfYiKHQGm+;!EIKOoJY+{3Yhc zJld{d3vTv#Rx8vnf2zNEcHbBbPsSiN+|g$h_^G2w72FDk(2 zS!}sh!A$VEZ|~6Xbnx|uRx}^D&uRyW#n?n#d6?nx7~BfX>n*#c&?_1b{~AN zreGDZ_E6s4z`V*X#m<5ieu{afzotkvC7DEh`}|*ZE6EckUOQIY^T?uWCQO`I)_(iz zKUUh!?U~m0(H%cAxBuyP8_ja=+Z&V<^7Pwz34C?L1B6qibmk@S#nEo8$~)ymAig%5 z3+K}$=Xd7C@ug89Q9ju@%*yvgjq{w37P;}AyaaAFEE};)RLdTG$8O~WER`qU8KIO)>;4f+lN`N&MDiZy k86pHeq7X@P{{9^6sb325h+MtDAnT5O_yCB?XpbKKZ~f2?i~s-t diff --git a/rs_msg_utils.c b/rs_msg_utils.c index 3d3a122..8263bf5 100644 --- a/rs_msg_utils.c +++ b/rs_msg_utils.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "utils.h" #include "rs_msg_utils.h" @@ -83,6 +84,42 @@ bool rsm_get_revision(char *dest, const char *src, int src_len) return true; } +/* +pull board CPU from strings line + ' CPU p/n: B0029221' + 'B0029221 REV T.0.1' + 'E0260801 REV. O.2' +*/ +int rsm_get_boardcpu(char *dest, int dest_len, const char *src, int src_len) +{ + //char *regexString="/\\w\\d{4,10}/gi"; + //char *regexString="/[[:alpha:]][[:digit:]]{4,10}/gi"; + char *regexString="[[:alpha:]][[:digit:]]{4,10}"; + regex_t regexCompiled; + regmatch_t match; + int rc, begin, end, len; + + if (0 != (rc = regcomp(®exCompiled, regexString, REG_EXTENDED))) { + LOG(AQUA_LOG,LOG_ERR, "regcomp() failed, returning nonzero (%d)\n", rc); + return 0; + } + + if ((regexec(®exCompiled,src,1,&match,0)) != 0) { + regfree(®exCompiled); + printf("********** ERROR didn;t line match \n"); + return 0; + } + + begin = (int)match.rm_so; + end = (int)match.rm_eo; + len = MIN((end-begin), dest_len); + + strncpy(dest, src+match.rm_so, len ); + + regfree(®exCompiled); + + return len; +} /* Find first char after a space in haystack after searching needle. diff --git a/rs_msg_utils.h b/rs_msg_utils.h index 669f121..34284b4 100644 --- a/rs_msg_utils.h +++ b/rs_msg_utils.h @@ -1,8 +1,11 @@ #ifndef RS_MSG_UTILS_H_ #define RS_MSG_UTILS_H_ +#define MIN(x, y) (((x) < (y)) ? (x) : (y)) bool rsm_get_revision(char *dest, const char *src, int src_len); +int rsm_get_boardcpu(char *dest, int dest_len, const char *src, int src_len); + char *rsm_charafterstr(const char *haystack, const char *needle, int length); char *rsm_strstr(const char *haystack, const char *needle);