From f786aa24f26cb555d36213650eac8feac8de0629 Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 6 May 2014 10:16:29 +0700 Subject: [PATCH 01/32] revert back to first implementation --- nRF51822/projects/uartservice/btle.c | 226 +++++++++--------- nRF51822/projects/uartservice/btle.h | 37 +-- .../projects/uartservice/btle_advertising.c | 50 ++-- .../projects/uartservice/btle_advertising.h | 3 +- nRF51822/projects/uartservice/btle_uart.c | 16 +- nRF51822/projects/uartservice/main.c | 62 +---- 6 files changed, 162 insertions(+), 232 deletions(-) diff --git a/nRF51822/projects/uartservice/btle.c b/nRF51822/projects/uartservice/btle.c index 6640aa0..d13c8bb 100644 --- a/nRF51822/projects/uartservice/btle.c +++ b/nRF51822/projects/uartservice/btle.c @@ -47,39 +47,101 @@ #include "btle_gap.h" #include "btle_advertising.h" #include "custom_helper.h" +#include "btle_uart.h" -static void service_error_callback ( uint32_t nrf_error ); -void assert_nrf_callback ( uint16_t line_num, const uint8_t * p_file_name ); -void app_error_handler ( uint32_t error_code, uint32_t line_num, const uint8_t * p_file_name ); -static error_t bond_manager_init ( void ); -static void btle_handler ( ble_evt_t * p_ble_evt ); -static void btle_soc_event_handler ( uint32_t sys_evt ); +//--------------------------------------------------------------------+ +// MACRO CONSTANT TYPEDEF +//--------------------------------------------------------------------+ +// standard service UUID to driver offset +#define UUID2OFFSET(uuid) ((uuid)-0x1800) -/**************************************************************************/ -/*! - Checks is all values in the supplied array are zero +btle_service_driver_t const btle_service_driver[] = +{ + #if CFG_BLE_DEVICE_INFORMATION + [UUID2OFFSET(BLE_UUID_DEVICE_INFORMATION_SERVICE)] = + { + .init = device_information_init, + .event_handler = NULL, + }, + #endif - @returns 'true' if all values in the array are zero - 'false' if any value is non-zero -*/ -/**************************************************************************/ -static inline bool is_all_zeros(uint8_t arr[], uint32_t count) ATTR_ALWAYS_INLINE ATTR_PURE; -static inline bool is_all_zeros(uint8_t arr[], uint32_t count) + #if CFG_BLE_BATTERY + [UUID2OFFSET(BLE_UUID_BATTERY_SERVICE)] = + { + .init = battery_init, + .event_handler = battery_handler, + }, + #endif + + #if CFG_BLE_HEART_RATE +// [UUID2OFFSET(BLE_UUID_HEART_RATE_SERVICE)] = +// { +// .init = heart_rate_init, +// .event_handler = heart_rate_handler, +// }, + #endif + + #if CFG_BLE_IMMEDIATE_ALERT + [UUID2OFFSET(BLE_UUID_IMMEDIATE_ALERT_SERVICE)] = + { + .init = immediate_alert_init, + .event_handler = immediate_alert_handler, + }, + #endif + + #if CFG_BLE_TX_POWER + [UUID2OFFSET(BLE_UUID_TX_POWER_SERVICE)] = + { + .init = tx_power_init, + .event_handler = NULL, + }, + #endif + + #if CFG_BLE_LINK_LOSS + [UUID2OFFSET(BLE_UUID_LINK_LOSS_SERVICE)] = + { + .init = link_loss_init, + .event_handler = link_loss_handler, + }, + #endif +}; + +enum { + BTLE_SERVICE_MAX = sizeof(btle_service_driver) / sizeof(btle_service_driver_t) +}; + +btle_service_custom_driver_t btle_service_custom_driver[] = { - for ( uint32_t i = 0; i < count; i++) - { - if (arr[i] != 0 ) return false; - } + { + .uuid_base = BLE_UART_UUID_BASE, + .service_uuid.uuid = BLE_UART_UUID_PRIMARY_SERVICE, + .init = uart_service_init, + .event_handler = uart_service_handler + }, +}; - return true; -} +enum { + BTLE_SERVICE_CUSTOM_MAX = sizeof(btle_service_custom_driver) / sizeof(btle_service_custom_driver_t) +}; + +//--------------------------------------------------------------------+ +// INTERNAL OBJECT & FUNCTION DECLARATION +//--------------------------------------------------------------------+ +static void service_error_callback(uint32_t nrf_error); +void assert_nrf_callback(uint16_t line_num, const uint8_t * p_file_name); +void app_error_handler(uint32_t error_code, uint32_t line_num, const uint8_t * p_file_name); + +static error_t bond_manager_init(void); + +static void btle_handler(ble_evt_t * p_ble_evt); +static void btle_soc_event_handler(uint32_t sys_evt); /**************************************************************************/ /*! Initialises BTLE and the underlying HW/SoftDevice */ /**************************************************************************/ -error_t btle_init(btle_service_t service_list[], uint8_t const service_count) +error_t btle_init(void) { /* Initialise the SoftDevice using an external 32kHz XTAL for LFCLK */ SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, false); @@ -94,105 +156,35 @@ error_t btle_init(btle_service_t service_list[], uint8_t const service_count) /* Initialise GAP */ btle_gap_init(); - /* Initialise any services present on the GATT Server */ - /* This sequences will be repeated for every service */ - for ( uint8_t sid = 0; sid < service_count; sid++ ) + /* Standard Services */ + for(uint16_t i=0; iuuid_base, 16) ) + if ( btle_service_driver[i].init != NULL ) { - /* Seems to be a standard 16-bit BLE UUID */ - p_service->uuid_type = BLE_UUID_TYPE_BLE; + ASSERT_STATUS( btle_service_driver[i].init() ); } - else - { - /* Seems to be a custom UUID, which needs to be added */ - p_service->uuid_type = custom_add_uuid_base( p_service->uuid_base ); - ASSERT( p_service->uuid_type >= BLE_UUID_TYPE_VENDOR_BEGIN, ERROR_INVALIDPARAMETER ); - } - - /* Add the primary GATT service first ... */ - ble_uuid_t service_uuid = { .type = p_service->uuid_type, .uuid = p_service->uuid }; - ASSERT_STATUS( sd_ble_gatts_service_add(BLE_GATTS_SRVC_TYPE_PRIMARY, &service_uuid, &p_service->handle) ); + } - /* ... then add all of the GATT characteristics */ - for(uint8_t cid=0; cidchar_count; cid++) + /*Custom Services */ + for(uint16_t i=0; ichar_pool[cid]; - ble_uuid_t char_uuid = { .type = p_service->uuid_type, .uuid = p_char->uuid }; + /* add the custom UUID to stack */ + uint8_t uuid_type = custom_add_uuid_base(btle_service_custom_driver[i].uuid_base); + ASSERT( uuid_type >= BLE_UUID_TYPE_VENDOR_BEGIN, ERROR_INVALIDPARAMETER); - ASSERT_STATUS(custom_add_in_characteristic(p_service->handle, &char_uuid, p_char->properties, - p_char->init_value, p_char->len_min, p_char->len_max, - &p_char->handle) ); + btle_service_custom_driver[i].service_uuid.type = uuid_type; /* store for later use in advertising */ + ASSERT_STATUS( btle_service_custom_driver[i].init(uuid_type) ); } } - /* Now we can start the advertising process */ - btle_advertising_init(service_list, service_count); + btle_advertising_init(btle_service_driver, BTLE_SERVICE_MAX, btle_service_custom_driver, BTLE_SERVICE_CUSTOM_MAX); btle_advertising_start(); return ERROR_NONE; } -/**************************************************************************/ -/*! - This function will attempt to update the value of a GATT characteristic - - @param[in] p_char A pointer to the characteristic to update - @param[in] p_data A pointer to the data to use when updating - @param[in] len The size (in bytes) of p_data - - @returns ERROR_NONE if the update was successful, otherwise an - appropriate error_t value -*/ -/**************************************************************************/ -error_t btle_characteristic_update(btle_characteristic_t const * p_char, void const * p_data, uint16_t len) -{ - uint16_t const conn_handle = btle_gap_get_connection(); - - /* Special treatment is required if notify or indicate flags are set */ - if ( (p_char->properties.notify || p_char->properties.indicate) && (conn_handle != BLE_CONN_HANDLE_INVALID) ) - { - /* HVX params for the characteristic value */ - ble_gatts_hvx_params_t const hvx_params = - { - .handle = p_char->handle.value_handle, - .type = p_char->properties.notify ? BLE_GATT_HVX_NOTIFICATION : BLE_GATT_HVX_INDICATION, - .offset = 0, - .p_data = (uint8_t*) p_data, - .p_len = &len - }; - - /* Now pass the params down to the SD ... */ - error_t error = sd_ble_gatts_hvx(conn_handle, &hvx_params); - - /* ... and make sure nothing unfortunate happened */ - switch(error) - { - /* Ignore the following three error types */ - case ERROR_NONE : - case ERROR_INVALID_STATE : // Notification/indication bit not enabled in CCCD - case ERROR_BLEGATTS_SYS_ATTR_MISSING : - break; - - /* Make sure that the local value is updated and handle any other */ - /* error types errors here */ - default: - ASSERT_STATUS ( sd_ble_gatts_value_set(p_char->handle.value_handle, 0, &len, p_data) ); - ASSERT_STATUS ( error ); - break; - } - } - else - { - /* If notify or indicate aren't set we can update the value like this */ - ASSERT_STATUS ( sd_ble_gatts_value_set(p_char->handle.value_handle, 0, &len, p_data) ); - } - - return ERROR_NONE; -} /**************************************************************************/ /*! @@ -216,7 +208,23 @@ static void btle_handler(ble_evt_t * p_ble_evt) ble_bondmngr_on_ble_evt(p_ble_evt); ble_conn_params_on_ble_evt(p_ble_evt); - /* Next call the application specific event handlers */ + /* Standard Service Handler */ + for(uint16_t i=0; iheader.evt_id) { case BLE_GAP_EVT_CONNECTED: @@ -225,7 +233,7 @@ static void btle_handler(ble_evt_t * p_ble_evt) case BLE_GAP_EVT_DISCONNECTED: /* Since we are not in a connection and have not started advertising, store bonds */ - ASSERT_STATUS_RET_VOID ( ble_bondmngr_bonded_centrals_store() ); + (void) ble_bondmngr_bonded_centrals_store(); /* Start advertising again (change this if necessary!) */ btle_advertising_start(); break; diff --git a/nRF51822/projects/uartservice/btle.h b/nRF51822/projects/uartservice/btle.h index 054ae95..250e25e 100644 --- a/nRF51822/projects/uartservice/btle.h +++ b/nRF51822/projects/uartservice/btle.h @@ -45,32 +45,18 @@ #include "ble.h" #include "btle_uart.h" -enum -{ - BTLE_MAX_CHARACTERISTIC_PER_SERVICE = 10 -}; +typedef struct { + error_t (* const init) (void); + void (* const event_handler) (ble_evt_t * ); +}btle_service_driver_t; -/* Abstraction for custom GATT characteristics */ -typedef struct -{ - uint16_t uuid; - ble_gatt_char_props_t properties; // Characteristic properties/access-rights - uint16_t len_min; // Min length (in bytes) for the char value - uint16_t len_max; // Max length (in bytes) for the char value - uint8_t const * init_value; // Initial value for the char - ble_gatts_char_handles_t handle; // Characteristic handle -} btle_characteristic_t; +typedef struct { + error_t (* const init) (uint8_t); + void (* const event_handler) (ble_evt_t * ); -/* Abstraction for custom GATT services */ -typedef struct -{ - uint8_t uuid_base[16]; // All zeroes = standard BLE service - uint16_t uuid; // The primary service UUID - uint8_t uuid_type; // Standard = 1, Custom = 2, Invalid = 0 - uint16_t handle; // Service handle - uint8_t char_count; // Number of characteristics - btle_characteristic_t* char_pool[BTLE_MAX_CHARACTERISTIC_PER_SERVICE]; -} btle_service_t; + uint8_t const uuid_base[16]; + ble_uuid_t service_uuid; +}btle_service_custom_driver_t; /* Characteristic Presentation Format unit values aren't defined by Nordic */ /* See https://developer.bluetooth.org/gatt/units/Pages/default.aspx */ @@ -187,8 +173,7 @@ typedef enum ble_gatt_unit_e BLE_GATT_CPF_UNIT_IRRADIANCE_WATT_PER_SQUARE_METRE = 0x27B6 } ble_gatt_unit_t; -error_t btle_init ( btle_service_t service_list[], uint8_t const service_count ); -error_t btle_characteristic_update ( btle_characteristic_t const * p_char, void const * p_data, uint16_t len ); +error_t btle_init(void); #ifdef __cplusplus } diff --git a/nRF51822/projects/uartservice/btle_advertising.c b/nRF51822/projects/uartservice/btle_advertising.c index 4d79764..5ac73ae 100644 --- a/nRF51822/projects/uartservice/btle_advertising.c +++ b/nRF51822/projects/uartservice/btle_advertising.c @@ -65,7 +65,8 @@ @returns */ /**************************************************************************/ -error_t btle_advertising_init(btle_service_t const service_list[], uint16_t const service_count) +error_t btle_advertising_init(btle_service_driver_t const std_service[], uint16_t const std_count, + btle_service_custom_driver_t const custom_service[], uint16_t const custom_count) { enum { ADV_UUID_MAX = 20, @@ -84,46 +85,41 @@ error_t btle_advertising_init(btle_service_t const service_list[], uint16_t cons /*------------- UUID list -------------*/ ble_uuid_t adv_uuids[ADV_UUID_MAX]; - ASSERT( ADV_UUID_MAX >= service_count, ERROR_NO_MEM); // the total service count exceed 20, need to increase ADV_COUNT_MAX + ASSERT( ADV_UUID_MAX >= std_count + custom_count, ERROR_NO_MEM); // the total service count exceed 20, need to increase ADV_COUNT_MAX - uint16_t uuid_count; - - bool encounter_16_uuid_already = false; - bool encounter_128_uuid_already = false; + uint16_t uuid_count = 0; /* Standard Services are added first (higher priority), modify to your own need if required */ - for(uuid_count=0; uuid_count < service_count && byte_left > 0; uuid_count++) + if (std_count > 0) { - adv_uuids[uuid_count].type = service_list[uuid_count].uuid_type; - adv_uuids[uuid_count].uuid = service_list[uuid_count].uuid; - - /*------------- Standard 16-bit UUID -------------*/ - if ( BLE_UUID_TYPE_BLE == adv_uuids[uuid_count].type ) + byte_left -= ADV_FIELD_HEADER_LENGTH; + for (uint16_t i=0; (i < std_count) && (byte_left > 0) ; i++) { - if( !encounter_16_uuid_already ) + if (std_service[i].init != NULL) { - byte_left -= ADV_FIELD_HEADER_LENGTH; - encounter_16_uuid_already = true; + adv_uuids[uuid_count].uuid = i+0x1800; + adv_uuids[uuid_count].type = BLE_UUID_TYPE_BLE; + ++uuid_count; + byte_left -= 2; // 16-bit uuid } - byte_left -= sizeof(uint16_t); // size of 16-bit uuid } - /*------------- Custom 128-bit UUID -------------*/ - else if ( adv_uuids[uuid_count].type > BLE_UUID_TYPE_BLE) + } + + /* Custom Services are added later (lower priority), modify to your own need if required */ + if (custom_count > 0) + { + byte_left -= ADV_FIELD_HEADER_LENGTH; + for (uint16_t i=0; (i 0); i++) { - if( !encounter_128_uuid_already ) + if (custom_service[i].service_uuid.type >= BLE_UUID_TYPE_VENDOR_BEGIN) { - byte_left -= ADV_FIELD_HEADER_LENGTH; - encounter_128_uuid_already = true; + adv_uuids[uuid_count] = custom_service[i].service_uuid; + ++uuid_count; + byte_left -= 16; // 128-bit uuid } - byte_left -= sizeof(ble_uuid128_t); // size of 128-bit uuid - }else - { - ASSERT(false, 0); // uuid type is not initialized } } - if ( byte_left < 0) uuid_count--; // remove the last uuid from the adv list since it overflows - /*------------- Advertising Data -------------*/ ble_advdata_t advdata = { diff --git a/nRF51822/projects/uartservice/btle_advertising.h b/nRF51822/projects/uartservice/btle_advertising.h index c170037..86fa4eb 100644 --- a/nRF51822/projects/uartservice/btle_advertising.h +++ b/nRF51822/projects/uartservice/btle_advertising.h @@ -50,7 +50,8 @@ #include "common/common.h" -error_t btle_advertising_init(btle_service_t const service_list[], uint16_t const service_count); +error_t btle_advertising_init(btle_service_driver_t const std_service[], uint16_t const std_count, + btle_service_custom_driver_t const custom_service[], uint16_t const custom_count); error_t btle_advertising_start(void); #ifdef __cplusplus diff --git a/nRF51822/projects/uartservice/btle_uart.c b/nRF51822/projects/uartservice/btle_uart.c index ad10ec9..2fadcc2 100644 --- a/nRF51822/projects/uartservice/btle_uart.c +++ b/nRF51822/projects/uartservice/btle_uart.c @@ -40,6 +40,7 @@ #include "btle_uart.h" #include "custom_helper.h" #include "ble_srv_common.h" +#include "btle_gap.h" typedef struct { @@ -66,7 +67,6 @@ static uart_srvc_t m_uart_srvc; error_t uart_service_init(uint8_t uuid_base_type) { memclr_(&m_uart_srvc, sizeof(uart_srvc_t)); - m_uart_srvc.conn_handle = BLE_CONN_HANDLE_INVALID; m_uart_srvc.uuid_type = uuid_base_type; /* Add the primary service first ... */ @@ -107,14 +107,6 @@ void uart_service_handler(ble_evt_t * p_ble_evt) { switch (p_ble_evt->header.evt_id) { - case BLE_GAP_EVT_CONNECTED: - m_uart_srvc.conn_handle = p_ble_evt->evt.gap_evt.conn_handle; - break; - - case BLE_GAP_EVT_DISCONNECTED: - m_uart_srvc.conn_handle = BLE_CONN_HANDLE_INVALID; - break; - /* Capture the 'indicate' confirmation from the central here */ case BLE_GATTS_EVT_HVC: if( m_uart_srvc.in_handle.value_handle == p_ble_evt->evt.gatts_evt.params.hvc.handle ) @@ -171,7 +163,9 @@ void uart_service_handler(ble_evt_t * p_ble_evt) /**************************************************************************/ error_t uart_service_send(uint8_t p_data[], uint16_t length) { - ASSERT( m_uart_srvc.conn_handle != BLE_CONN_HANDLE_INVALID, ERROR_INVALID_STATE); + uint16_t const conn_handle = btle_gap_get_connection(); + + ASSERT( conn_handle != BLE_CONN_HANDLE_INVALID, ERROR_INVALID_STATE); ASSERT( length <= BLE_UART_MAX_LENGTH, ERROR_INVALID_PARAM); ble_gatts_hvx_params_t hvx_params = @@ -183,7 +177,7 @@ error_t uart_service_send(uint8_t p_data[], uint16_t length) }; m_uart_srvc.is_indication_waiting = true; - ASSERT_STATUS( sd_ble_gatts_hvx(m_uart_srvc.conn_handle, &hvx_params) ); + ASSERT_STATUS( sd_ble_gatts_hvx(conn_handle, &hvx_params) ); return ERROR_NONE; } diff --git a/nRF51822/projects/uartservice/main.c b/nRF51822/projects/uartservice/main.c index c5379a9..6b4660b 100644 --- a/nRF51822/projects/uartservice/main.c +++ b/nRF51822/projects/uartservice/main.c @@ -10,42 +10,6 @@ #include "nrf_gpiote.h" #include "nrf_gpio.h" -/* ---------------------------------------------------------------------- */ -/* HEART RATE SERVICE */ -/* ---------------------------------------------------------------------- */ -/*------------- Measurement Characteristic -------------*/ -btle_characteristic_t hrm_char_measure = -{ - .uuid = BLE_UUID_HEART_RATE_MEASUREMENT_CHAR, - .properties = { .notify = 1 }, - .len_min = 2, - .len_max = 2, - .init_value = NULL -}; - -/*------------- Body Location Characteristic -------------*/ -btle_characteristic_t hrm_char_body_location = -{ - .uuid = BLE_UUID_BODY_SENSOR_LOCATION_CHAR, - .properties = { .read = 1 }, - .len_min = 1, - .len_max = 1, - .init_value = (uint8_t []) { 3 } -}; - -btle_service_t btle_service[] = -{ - { - .uuid = BLE_UUID_HEART_RATE_SERVICE, - .char_count = 2, // TODO remove - .char_pool = { &hrm_char_measure, &hrm_char_body_location } - } -}; - -enum { - SERVICE_COUNT = sizeof(btle_service) / sizeof(btle_service_t) -}; - #define CFG_LED_CONNECTION 0 #define CFG_LED_ALERT 1 #define CFG_LED_LINK_LOSS 1 @@ -79,24 +43,6 @@ void boardButtonCallback(uint8_t button_num) } } -// periodically invoked by timer -void heart_rate_measurement_task(void * p_context) -{ - // https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.heart_rate_measurement.xml - static struct { - uint8_t flag; - uint8_t value; - }measurement = { 0, 70 }; - - // get timer tick for random changes from -1 0 +1 - uint32_t tick; - app_timer_cnt_get(&tick); - - measurement.value += (tick%3) - 1; - - btle_characteristic_update(&hrm_char_measure, &measurement, 2); -} - /**************************************************************************/ /*! @brief Main application entry point @@ -104,20 +50,20 @@ void heart_rate_measurement_task(void * p_context) /**************************************************************************/ int main(void) { - app_timer_id_t blinky_timer_id, hrm_timer_id; + app_timer_id_t blinky_timer_id, uart_timer_id; /* Initialize the target HW */ boardInit(); /* Initialise BLE and start advertising as an iBeacon */ - btle_init(btle_service, SERVICE_COUNT); + btle_init(); /* Initialise a 1 second blinky timer to show that we're alive */ ASSERT_STATUS ( app_timer_create(&blinky_timer_id, APP_TIMER_MODE_REPEATED, blinky_handler) ); ASSERT_STATUS ( app_timer_start (blinky_timer_id, APP_TIMER_TICKS(1000, CFG_TIMER_PRESCALER), NULL) ); - ASSERT_STATUS ( app_timer_create(&hrm_timer_id, APP_TIMER_MODE_REPEATED, heart_rate_measurement_task) ); - ASSERT_STATUS ( app_timer_start (hrm_timer_id, APP_TIMER_TICKS(1000, CFG_TIMER_PRESCALER), NULL) ); + ASSERT_STATUS ( app_timer_create(&uart_timer_id, APP_TIMER_MODE_REPEATED, uart_service_bridge_task) ); + ASSERT_STATUS ( app_timer_start (uart_timer_id, APP_TIMER_TICKS(100, CFG_TIMER_PRESCALER), NULL) ); ASSERT_STATUS( app_button_enable() ); From 5a88c1678180c3a761dae38889216983b0c07bee Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 6 May 2014 22:45:11 +0700 Subject: [PATCH 02/32] unify service list --- nRF51822/projects/uartservice/btle.c | 137 ++++++------------ nRF51822/projects/uartservice/btle.h | 12 +- .../projects/uartservice/btle_advertising.c | 52 ++++--- .../projects/uartservice/btle_advertising.h | 3 +- nRF51822/projects/uartservice/main.c | 2 +- 5 files changed, 78 insertions(+), 128 deletions(-) diff --git a/nRF51822/projects/uartservice/btle.c b/nRF51822/projects/uartservice/btle.c index d13c8bb..98ac76b 100644 --- a/nRF51822/projects/uartservice/btle.c +++ b/nRF51822/projects/uartservice/btle.c @@ -52,76 +52,18 @@ //--------------------------------------------------------------------+ // MACRO CONSTANT TYPEDEF //--------------------------------------------------------------------+ -// standard service UUID to driver offset -#define UUID2OFFSET(uuid) ((uuid)-0x1800) - -btle_service_driver_t const btle_service_driver[] = +btle_service_driver_t btle_service_list[] = { - #if CFG_BLE_DEVICE_INFORMATION - [UUID2OFFSET(BLE_UUID_DEVICE_INFORMATION_SERVICE)] = - { - .init = device_information_init, - .event_handler = NULL, - }, - #endif - - #if CFG_BLE_BATTERY - [UUID2OFFSET(BLE_UUID_BATTERY_SERVICE)] = - { - .init = battery_init, - .event_handler = battery_handler, - }, - #endif - - #if CFG_BLE_HEART_RATE -// [UUID2OFFSET(BLE_UUID_HEART_RATE_SERVICE)] = -// { -// .init = heart_rate_init, -// .event_handler = heart_rate_handler, -// }, - #endif - - #if CFG_BLE_IMMEDIATE_ALERT - [UUID2OFFSET(BLE_UUID_IMMEDIATE_ALERT_SERVICE)] = { - .init = immediate_alert_init, - .event_handler = immediate_alert_handler, - }, - #endif - - #if CFG_BLE_TX_POWER - [UUID2OFFSET(BLE_UUID_TX_POWER_SERVICE)] = - { - .init = tx_power_init, - .event_handler = NULL, - }, - #endif - - #if CFG_BLE_LINK_LOSS - [UUID2OFFSET(BLE_UUID_LINK_LOSS_SERVICE)] = - { - .init = link_loss_init, - .event_handler = link_loss_handler, - }, - #endif -}; - -enum { - BTLE_SERVICE_MAX = sizeof(btle_service_driver) / sizeof(btle_service_driver_t) -}; - -btle_service_custom_driver_t btle_service_custom_driver[] = -{ - { - .uuid_base = BLE_UART_UUID_BASE, - .service_uuid.uuid = BLE_UART_UUID_PRIMARY_SERVICE, - .init = uart_service_init, - .event_handler = uart_service_handler + .uuid_base = BLE_UART_UUID_BASE, + .uuid16 = BLE_UART_UUID_PRIMARY_SERVICE, + .init = uart_service_init, + .event_handler = uart_service_handler }, }; enum { - BTLE_SERVICE_CUSTOM_MAX = sizeof(btle_service_custom_driver) / sizeof(btle_service_custom_driver_t) + BTLE_SERVICE_COUNT = sizeof(btle_service_list) / sizeof(btle_service_driver_t) }; //--------------------------------------------------------------------+ @@ -136,6 +78,25 @@ static error_t bond_manager_init(void); static void btle_handler(ble_evt_t * p_ble_evt); static void btle_soc_event_handler(uint32_t sys_evt); +/**************************************************************************/ +/*! + Checks is all values in the supplied array are zero + + @returns 'true' if all values in the array are zero + 'false' if any value is non-zero +*/ +/**************************************************************************/ +static inline bool is_all_zeros(uint8_t arr[], uint32_t count) ATTR_ALWAYS_INLINE ATTR_PURE; +static inline bool is_all_zeros(uint8_t arr[], uint32_t count) +{ + for ( uint32_t i = 0; i < count; i++) + { + if (arr[i] != 0 ) return false; + } + + return true; +} + /**************************************************************************/ /*! Initialises BTLE and the underlying HW/SoftDevice @@ -156,30 +117,28 @@ error_t btle_init(void) /* Initialise GAP */ btle_gap_init(); - /* Standard Services */ - for(uint16_t i=0; iuuid_base, 16) ) { - ASSERT_STATUS( btle_service_driver[i].init() ); + /* Seems to be a standard 16-bit BLE UUID */ + p_service->uuid_type = BLE_UUID_TYPE_BLE; } - } - - /*Custom Services */ - for(uint16_t i=0; i= BLE_UUID_TYPE_VENDOR_BEGIN, ERROR_INVALIDPARAMETER); - - btle_service_custom_driver[i].service_uuid.type = uuid_type; /* store for later use in advertising */ - ASSERT_STATUS( btle_service_custom_driver[i].init(uuid_type) ); + /* Seems to be a custom UUID, which needs to be added */ + p_service->uuid_type = custom_add_uuid_base( p_service->uuid_base ); + ASSERT( p_service->uuid_type >= BLE_UUID_TYPE_VENDOR_BEGIN, ERROR_INVALIDPARAMETER ); } + + if ( p_service->init != NULL) ASSERT_STATUS( p_service->init(p_service->uuid_type) ); } - btle_advertising_init(btle_service_driver, BTLE_SERVICE_MAX, btle_service_custom_driver, BTLE_SERVICE_CUSTOM_MAX); + btle_advertising_init(btle_service_list, BTLE_SERVICE_COUNT); btle_advertising_start(); return ERROR_NONE; @@ -208,23 +167,15 @@ static void btle_handler(ble_evt_t * p_ble_evt) ble_bondmngr_on_ble_evt(p_ble_evt); ble_conn_params_on_ble_evt(p_ble_evt); - /* Standard Service Handler */ - for(uint16_t i=0; iheader.evt_id) { case BLE_GAP_EVT_CONNECTED: diff --git a/nRF51822/projects/uartservice/btle.h b/nRF51822/projects/uartservice/btle.h index 250e25e..25bc34f 100644 --- a/nRF51822/projects/uartservice/btle.h +++ b/nRF51822/projects/uartservice/btle.h @@ -45,18 +45,14 @@ #include "ble.h" #include "btle_uart.h" -typedef struct { - error_t (* const init) (void); - void (* const event_handler) (ble_evt_t * ); -}btle_service_driver_t; - typedef struct { error_t (* const init) (uint8_t); void (* const event_handler) (ble_evt_t * ); - uint8_t const uuid_base[16]; - ble_uuid_t service_uuid; -}btle_service_custom_driver_t; + uint8_t uuid_base[16]; /* Full base UUID, All zeroes = standard BLE service */ + uint16_t uuid16; /* The primary service UUID */ + uint8_t uuid_type; /* Standard = 1, Custom = 2+, Invalid = 0 */ +}btle_service_driver_t; /* Characteristic Presentation Format unit values aren't defined by Nordic */ /* See https://developer.bluetooth.org/gatt/units/Pages/default.aspx */ diff --git a/nRF51822/projects/uartservice/btle_advertising.c b/nRF51822/projects/uartservice/btle_advertising.c index 5ac73ae..d3af1ab 100644 --- a/nRF51822/projects/uartservice/btle_advertising.c +++ b/nRF51822/projects/uartservice/btle_advertising.c @@ -65,8 +65,7 @@ @returns */ /**************************************************************************/ -error_t btle_advertising_init(btle_service_driver_t const std_service[], uint16_t const std_count, - btle_service_custom_driver_t const custom_service[], uint16_t const custom_count) +error_t btle_advertising_init( btle_service_driver_t const service_list[], uint16_t const service_count) { enum { ADV_UUID_MAX = 20, @@ -85,41 +84,46 @@ error_t btle_advertising_init(btle_service_driver_t const std_service[], uint16_ /*------------- UUID list -------------*/ ble_uuid_t adv_uuids[ADV_UUID_MAX]; - ASSERT( ADV_UUID_MAX >= std_count + custom_count, ERROR_NO_MEM); // the total service count exceed 20, need to increase ADV_COUNT_MAX + ASSERT( ADV_UUID_MAX >= service_count, ERROR_NO_MEM); // the total service count exceed 20, need to increase ADV_COUNT_MAX - uint16_t uuid_count = 0; + uint16_t uuid_count; - /* Standard Services are added first (higher priority), modify to your own need if required */ - if (std_count > 0) + bool encounter_16_uuid_already = false; + bool encounter_128_uuid_already = false; + + /* Create Advertising UUID following the order of service list */ + for(uuid_count=0; uuid_count < service_count && byte_left > 0; uuid_count++) { - byte_left -= ADV_FIELD_HEADER_LENGTH; - for (uint16_t i=0; (i < std_count) && (byte_left > 0) ; i++) + adv_uuids[uuid_count].type = service_list[uuid_count].uuid_type; + adv_uuids[uuid_count].uuid = service_list[uuid_count].uuid16; + + /*------------- Standard 16-bit UUID -------------*/ + if ( BLE_UUID_TYPE_BLE == adv_uuids[uuid_count].type ) { - if (std_service[i].init != NULL) + if( !encounter_16_uuid_already ) { - adv_uuids[uuid_count].uuid = i+0x1800; - adv_uuids[uuid_count].type = BLE_UUID_TYPE_BLE; - ++uuid_count; - byte_left -= 2; // 16-bit uuid + byte_left -= ADV_FIELD_HEADER_LENGTH; + encounter_16_uuid_already = true; } + byte_left -= sizeof(uint16_t); // size of 16-bit uuid } - } - - /* Custom Services are added later (lower priority), modify to your own need if required */ - if (custom_count > 0) - { - byte_left -= ADV_FIELD_HEADER_LENGTH; - for (uint16_t i=0; (i 0); i++) + /*------------- Custom 128-bit UUID -------------*/ + else if ( adv_uuids[uuid_count].type > BLE_UUID_TYPE_BLE) { - if (custom_service[i].service_uuid.type >= BLE_UUID_TYPE_VENDOR_BEGIN) + if( !encounter_128_uuid_already ) { - adv_uuids[uuid_count] = custom_service[i].service_uuid; - ++uuid_count; - byte_left -= 16; // 128-bit uuid + byte_left -= ADV_FIELD_HEADER_LENGTH; + encounter_128_uuid_already = true; } + byte_left -= sizeof(ble_uuid128_t); // size of 128-bit uuid + }else + { + ASSERT(false, 0); // uuid type is not initialized } } + if ( byte_left < 0) uuid_count--; // remove the last uuid from the adv list since it overflows + /*------------- Advertising Data -------------*/ ble_advdata_t advdata = { diff --git a/nRF51822/projects/uartservice/btle_advertising.h b/nRF51822/projects/uartservice/btle_advertising.h index 86fa4eb..cd80a84 100644 --- a/nRF51822/projects/uartservice/btle_advertising.h +++ b/nRF51822/projects/uartservice/btle_advertising.h @@ -50,8 +50,7 @@ #include "common/common.h" -error_t btle_advertising_init(btle_service_driver_t const std_service[], uint16_t const std_count, - btle_service_custom_driver_t const custom_service[], uint16_t const custom_count); +error_t btle_advertising_init( btle_service_driver_t const service_list[], uint16_t const service_count); error_t btle_advertising_start(void); #ifdef __cplusplus diff --git a/nRF51822/projects/uartservice/main.c b/nRF51822/projects/uartservice/main.c index 6b4660b..56b29c1 100644 --- a/nRF51822/projects/uartservice/main.c +++ b/nRF51822/projects/uartservice/main.c @@ -63,7 +63,7 @@ int main(void) ASSERT_STATUS ( app_timer_start (blinky_timer_id, APP_TIMER_TICKS(1000, CFG_TIMER_PRESCALER), NULL) ); ASSERT_STATUS ( app_timer_create(&uart_timer_id, APP_TIMER_MODE_REPEATED, uart_service_bridge_task) ); - ASSERT_STATUS ( app_timer_start (uart_timer_id, APP_TIMER_TICKS(100, CFG_TIMER_PRESCALER), NULL) ); + ASSERT_STATUS ( app_timer_start (uart_timer_id, APP_TIMER_TICKS(1000, CFG_TIMER_PRESCALER), NULL) ); ASSERT_STATUS( app_button_enable() ); From 035d0ae662ecfbeb9715f81d0c3bbb0df5dd9d35 Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 6 May 2014 22:48:59 +0700 Subject: [PATCH 03/32] use gap get connection handle --> remove connection handle variable in btle_uart --- nRF51822/projects/uartservice/btle_uart.c | 1 - 1 file changed, 1 deletion(-) diff --git a/nRF51822/projects/uartservice/btle_uart.c b/nRF51822/projects/uartservice/btle_uart.c index 2fadcc2..f256315 100644 --- a/nRF51822/projects/uartservice/btle_uart.c +++ b/nRF51822/projects/uartservice/btle_uart.c @@ -45,7 +45,6 @@ typedef struct { uint16_t service_handle; - uint16_t conn_handle; uint8_t uuid_type; ble_gatts_char_handles_t in_handle; ble_gatts_char_handles_t out_handle; From 9226b9a20442a28bd0cfc40a2bcb27a0e1c9873f Mon Sep 17 00:00:00 2001 From: Kevin Townsend Date: Thu, 8 May 2014 00:30:48 +0700 Subject: [PATCH 04/32] Comment cleanup --- nRF51822/projects/uartservice/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nRF51822/projects/uartservice/main.c b/nRF51822/projects/uartservice/main.c index 56b29c1..baef4ae 100644 --- a/nRF51822/projects/uartservice/main.c +++ b/nRF51822/projects/uartservice/main.c @@ -55,13 +55,14 @@ int main(void) /* Initialize the target HW */ boardInit(); - /* Initialise BLE and start advertising as an iBeacon */ + /* Initialise BLE and start advertising */ btle_init(); /* Initialise a 1 second blinky timer to show that we're alive */ ASSERT_STATUS ( app_timer_create(&blinky_timer_id, APP_TIMER_MODE_REPEATED, blinky_handler) ); ASSERT_STATUS ( app_timer_start (blinky_timer_id, APP_TIMER_TICKS(1000, CFG_TIMER_PRESCALER), NULL) ); + /* Initialise a 1 second UART timer */ ASSERT_STATUS ( app_timer_create(&uart_timer_id, APP_TIMER_MODE_REPEATED, uart_service_bridge_task) ); ASSERT_STATUS ( app_timer_start (uart_timer_id, APP_TIMER_TICKS(1000, CFG_TIMER_PRESCALER), NULL) ); From 51b3303b86d735fb06b2ac65426befc7f7c5a622 Mon Sep 17 00:00:00 2001 From: Kevin Townsend Date: Sun, 11 May 2014 20:30:19 +0700 Subject: [PATCH 05/32] Updated config settings --- nRF51822/projects/uartservice/projectconfig.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nRF51822/projects/uartservice/projectconfig.h b/nRF51822/projects/uartservice/projectconfig.h index 2cb0836..bebd887 100644 --- a/nRF51822/projects/uartservice/projectconfig.h +++ b/nRF51822/projects/uartservice/projectconfig.h @@ -125,7 +125,7 @@ BTLE SETTINGS -----------------------------------------------------------------------*/ - #define CFG_BLE_TX_POWER_LEVEL 4 /**< in dBm (Valid values are -40, -20, -16, -12, -8, -4, 0, 4) */ + #define CFG_BLE_TX_POWER_LEVEL 0 /**< in dBm (Valid values are -40, -20, -16, -12, -8, -4, 0, 4) */ /*---------------------------- BOND MANAGER ---------------------------*/ #define CFG_BLE_BOND_FLASH_PAGE_BOND (BLE_FLASH_PAGE_END-1) /**< Flash page used for bond manager bonding information.*/ @@ -134,14 +134,14 @@ /*--------------------------------- GAP -------------------------------*/ #define CFG_GAP_APPEARANCE BLE_APPEARANCE_GENERIC_TAG - #define CFG_GAP_LOCAL_NAME "HRM" + #define CFG_GAP_LOCAL_NAME "UART" #define CFG_GAP_CONNECTION_MIN_INTERVAL_MS 500 /**< Minimum acceptable connection interval */ #define CFG_GAP_CONNECTION_MAX_INTERVAL_MS 1000 /**< Maximum acceptable connection interval */ #define CFG_GAP_CONNECTION_SUPERVISION_TIMEOUT_MS 4000 /**< Connection supervisory timeout */ #define CFG_GAP_CONNECTION_SLAVE_LATENCY 0 /**< Slave Latency in number of connection events. */ - #define CFG_GAP_ADV_INTERVAL_MS 25 /**< The advertising interval in miliseconds, should be multiply of 0.625 */ + #define CFG_GAP_ADV_INTERVAL_MS 25 /**< The advertising interval in milliseconds, should be multiply of 0.625 */ #define CFG_GAP_ADV_TIMEOUT_S 180 /**< The advertising timeout in units of seconds. */ /*=========================================================================*/ From f09a649ea8c0b702625520e6eaf3b75dc32b4dab Mon Sep 17 00:00:00 2001 From: Kevin Townsend Date: Mon, 12 May 2014 02:29:29 +0700 Subject: [PATCH 06/32] Update README.md --- nRF51822/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nRF51822/README.md b/nRF51822/README.md index 04b4704..67e2194 100644 --- a/nRF51822/README.md +++ b/nRF51822/README.md @@ -43,7 +43,7 @@ The SoftDevice must be unzipped and placed in the /lib/softdevice/* folder, and Make sure that you also include the matching SoftDevice header files, which will normally go in the folder below: ``` - [projfolder]/lib/softdevice/s110_nrf51822_6.0.0/s110_nrf51822_6.0.0/s110_nrf51822_6.0.0_API/include + [projfolder]/lib/softdevice/s110_nrf51822_6.0.0/s110_nrf51822_6.0.0_API/include ``` Similarly, the SDK files must be placed in the following folder, which allows you to maintain several versions of the SDK across different projects if necessary: From 6eac3a0b8d0efbf1d5c300a08124b772db16fe82 Mon Sep 17 00:00:00 2001 From: Kevin Townsend Date: Mon, 12 May 2014 02:31:12 +0700 Subject: [PATCH 07/32] Update README.md --- nRF51822/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nRF51822/README.md b/nRF51822/README.md index 67e2194..5d52af7 100644 --- a/nRF51822/README.md +++ b/nRF51822/README.md @@ -49,7 +49,7 @@ Make sure that you also include the matching SoftDevice header files, which will Similarly, the SDK files must be placed in the following folder, which allows you to maintain several versions of the SDK across different projects if necessary: ``` - [projfolder]/lib/sdk/nRF51_SDK_v5.1.0.36092/s110_nrf51822_6.0.0_softdevice.hex + [projfolder]/lib/sdk/nRF51_SDK_v5.1.0.36092 ``` The makefiles are located in the following folder, and reference makefiles are included in the default codebase as a reference. You will probably want to replace the default files in this folder from Nordic with the updated versions provided in this codbase: From c5484b64737802eac7526ec50a5be5c5b6821f35 Mon Sep 17 00:00:00 2001 From: Kevin Townsend Date: Mon, 12 May 2014 02:40:55 +0700 Subject: [PATCH 08/32] Added RKNRFGO for OSX --- nRF51822/tools/OSX/rknrfgo/RKNRFGO_V1.0.1.pkg | Bin 0 -> 245133 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 nRF51822/tools/OSX/rknrfgo/RKNRFGO_V1.0.1.pkg diff --git a/nRF51822/tools/OSX/rknrfgo/RKNRFGO_V1.0.1.pkg b/nRF51822/tools/OSX/rknrfgo/RKNRFGO_V1.0.1.pkg new file mode 100644 index 0000000000000000000000000000000000000000..a4cb3edcde6fab13d9e55cdffd1d8348f1684efc GIT binary patch literal 245133 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

bLd_dO~CQozDIHclQ+dZ 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

okP1_cl-Q2Nn&iZj%(+);; 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 IG#DF1>9UIdH3% zU3z!74(0-v+O6BR4s*VIS+#9;dFYQXoL^5$ts<{nIBm3kQ>oUw*>xj)>Q*Stnip|& z_MmkCEaOn+Su-jh&Cu@OQ=#MZ4N)2qNr6P_Y%A|#H-)k|8^WnOOF!0b3N!W9SdOW3 z+3{l$yO!=rSYkHi=ksq}RmRPaedO+-=lATh>XJ}lkIhCM^B&HMKFMsCrI47TY>{rv zV;Tju(MdCpXH|2FS!qK!tW_-IA4;*$%x^gg6Z_SI_-(3)gK2jP2kI!gp1M@y zoYG;vf>!ChM?;G>ZQC9?rS+(D17S2f@YHfe`!Yq=wZZ<1o!>b-X8G$g)VoD3)!V`> za9Nwxc1!2Oi-s(n_>?6-HuX1(B>XGhR&-#aP%+tSS z{1aTccdLKTopzIy`m3*7)c4HDpd~?L3$ypKs`#%5>a;yy+VQbY{Pbe&ab~gocC!zu z-ClS!?bYcvj||?W9P3@JQJ{zw;s*9mTW06I!q7m&Yp9Nk;~h_{p@;1!+fR1-$G1&> z>`njetB-6L<5l9EIyBY9b-8)=hwLX8b}iqrG-~Cm?5RDxR@}}`&JHx*)HAT#jG;fb zelKSFoU}jbm!4NRGI#K!{ikeZySc30yfQd5cx~{!;F*v6o%QK)Y+3rUL+!i@>|YdK z@9|H!PL4PJnS8x?zsG*-yMntsUDp9ynr6f5M#!O_jzw7L{)+Pu^I*A<*L2)9-U%79N>5rTE)~Pp4nnyjaeI5h5%U$UduFcW{1z&$?oxwbx=c5T{n z!u7=185c_{xOamVIIKIFpF2PI1b-tx?@>ti?MruD>zy|yZ{Ru0kb@KFzq5TZ)}V0S z2DfEyi!ONhRo$!}9(1I9f4OSZvj_u=9sQ1;-&}Zq^yr;~Z{=8>9#l3hZ}PgYeN=1~ z_%GO?`9L$!=#7zI-&aOmNB0^n=O45GW#PBech9Vi3J6I(KWD;|kfN(wA3Qs-tDx`0 zNhjW<4qO{h_(1ch=h5=dZ9nTZ88n$H*vw6tThjJRRpKPWqq9;g)nC;;D!%$|;S+_P zQ+w{c;kNDJhS67hU2StUPeoO$LF;B;ZQ-?vkBW7KON~Q~7Y3%p=iVG~Z{?FQufARO zxV`B4q%$#R9#q-f`BB`|M{SteQr89NS8QAUyi>W#_{{7*qn3`^b7;rojE#W zN!j%>*9D6-hiN7czTkS+rP9^IWvWZI%dl*JqtQiA2QM76kh|4Jvuo!LQ}rha3%*=` zFl_FV*N>H-yfro-x2ov%UEzV+f=lJQvjR_!p4huf=dQXBIltz$KUGlczWZa~;pAHO z?d3=3HZ6O8uFvyD?*bYH-Tp-Vri(t8)t`NQy7p=8CEW`jE;LQ=7uGL1Dg5}PpL4#S z?DsaR?XKCkc8|Mv*fTlcT!SBtB0dgM}2*8`SYwd zCI5W>rzyE+l4A1x2QQ9%@Lv-=di{`E3b*=V6y9{jTM+Kx@rlbcGygD;$E zh`RP_jor}d{Nq;NZhek<9$NSGMsj5R)@}2vcO19-oc<%XDdgk%r7vE4HF~Yww8$=b zn$q|8DF!iN&mMl6^`Xhkdh~R1OsNzSX!fAq3^!kW>Nj{pBZvDZ`g^!rQ_leK zL*s%4#wjuJqB+E%6l?Nhj3ANEO^Jz)O|VX}(Gyu%lbzp!!f+E)D=RA#o|%c6SzpqkZ^Go* zM1D%&*o5wMASfJX0sXD})M5oC^Mm7(5^ePKz=nQ7JY(XUZxovVsiM}&Quy&Erp7#z z=8&ntNo#A-!_9HR;c;=%wp7$2W1|v6`0)ZNf`d$O3luFAEM9b?O(4~_%H)+O2W^$_ zpWhloJ+toS>@Ylq@%n+nigC9m*L)otP+4F-Lczk!Elp9sR8eo~ie4F8LNDxh9=3V^ z*3jCZ3)h$K^4a%v^qcioMdl%UN=ls?a>2fOp5gyiKkDb+zC|<%s$R4Nc=mlr)uS_-!X=X^Px5f+_xo zGa-G}N6&3UaPHe48=MFRn`8g`5BC&v@9N$bF2%nRbtM@hy-YES$aK$tVJHz?n*9p7 zA%wHlw~yEbTr;LVq1S$b^?dC90!BN+XR&RntK_{i7ZOToWwX{U){~5|^XN3T{fa!V zhwAnc7wC1jXL8MQx8`9f^wH!pIJI>*lK*dsemkGHgHrbda5WdiTpyM+V(-&*$6Vg1 zv(qjI``e$d3l0eVr+m`*^Ur-wkMJAUfoW~KYs$fx5tpqCLJ|w-e_egHFm18VP_4tc z^Mk$Wv~>%DZNp5Bazgfx)Uxt-*=tg#y=a7K*CK7r3e(`JCkqQ+JWgC_TqziNx8v%{ zO}XbiZhK5#DVI2{YJC3XGdf9%!#nBU^wD21YjnILyHq%&`uOyd z1LLOLI}sHZ^=kC)wad48>VA9iCi$nz4_l?Q+N?p-O12$sx;_2Ft`k4!)^1PvTyyfr z7rVxW=N|_}o2;1mzOKZh^MGkV<-0eW7`?l(sq3`56EDB~FLu5tN;;%Ny1Pr-k!I-b?xA76L7(USIlS*$-}mQlt?&JZwRGL* z%sKn)eeG*sXWw^|iVexkp-hUyZegPSOYg-`iOUwJGnihdwnrE6QKAbC>?jg|gq9Ye zC=_ge*CCS_o%-dtydp-P&3=EJ4I$4fAyWD?YL;{IemGIkJL%A$v>&KMmmWE3^T`^< zx%Y@ty0JU3@xG&r6SQ$vx2eJeVzB-!)@AyN0Xj6f`}ty!ke-e%bYorfusg)dRa#ow zq5GuiqG1;^%HsopC(cWkt8-|R=OLe3RPKw2uj<}zoBDmx?jfU>SpCU~t{L0Duv2fZ zD@|`LQKk%(+;P2^dq+d?g?~R>uh`isY?PWr7djmXVR+U)uWXsqfrq3Do_~ zQWcaD+dWY$ZqO@1UDNsiH+lRcm3EJ?WHI2Qw;ux}>%h!4FV)bb+nn4!M6C?%t~$BO zsj})XnGGZ@G^RcHoJ7B(c;=B>^MkNwoiJEk*>reyAc<*$Ox0IZm345LGB0Q#@{3|^ zfIEdy;IWLw$6k6e<3@|jBzhx`Oryx0%;xOAbb;l=0j=)TrlOE-UnvQah9V;s$nke7 z0_&nN`gId|}QckS z%*4g@Gu*hWr;3drKU!?n;&xm7NY6;!lZ5g(NOuWPwR#22u41ZeX37h~{bpVWRt@sk zx$L-_F~`X>_%VE*+riRkH<(v%C& z&Vf58M+*lU&T(;ZBz0ymPw!N-YM1e^u0|!zRO;K~R~Lzi&+u?Ku|KqjSe!BQ7#^xU@mX<&(7SN(%0r%m6Qq3*!>^r%XLg?-m{>z^%n4829B!1=GMk4Rki zGh&)@wOfxxx^OgI5#l9Nx79Ceh8XxzF_jov(gm9&+m`RU6UDs5u9b^H^-^wsWok8RyCPGa(~=Y?=mx~SyyUMHwCX8 zGEf6|fODx^d2oCVSb$O?6ZZ^uqXG1Kgu#A1u$nG4AGK}R?l=VZew&qvB+{4KawN)wTHTySl3ZRBY({9N z00#i>Z6!8CkDbsv-F9g@6w$5ak4`iO&f7K}>c4hEHW+tvU6er@*X#F>sPl^MObGNM*mA$d{UB9QmBk8+7yp@i_KfZxh4`47a>r@g zs~SUBTOy=Nf@q(TwdF70yeH9FnmpRllIn(VD+#9jRmZfn_TTLkJH=lA8~+o#AuvI_ zp095an1mYwUA1V*Q8 z{lzT;gL}ijST~M{Zt*Ys8~#OL&l~jL<^OM5zRxRMKG|ex^m_ZHwVYkA-HVdJ-8fIq z_{0#C6}B={X$%+h!^6XInq>F$wnLVuy%z&RH8tbZIYS|}-<3LbsM#;T`qRM6nF~_J z(}Ap<96J4t{d5*D2rC~qH*_)i^2k+Ld5WOUzq{M6=^Q`Wy-fy&k8w7T>>)@H;q)Co ziHhIsB>KVh6KbKN3-YGv5Fxj@wz7MeXQd4<_`t^^1*}ol29*RBszzSQ$nM4J{SgNy z{bsoXUQsxKIbbJU+oQb3*Bj#vC&cR1acoS`XjYyxkCUmXx0Vgy(K;P(m`Rpl$*XDN z1(wF@lN<_hWliq~d0&tSnPaW25wI3tgN2 z%Miiy!mFVnhWuGq?S^xI9}Hrz8c(}POE*1QW24sAkcY#iLH=&qTJ9^gb=>m9+G>TN zT{|#H=T4!En^4STJ@h!3;XGMe-!}2bcJQa`U@wjfrJlmKSC*R}yT^>S@#+hqXBLHJp5RUtj>E zR5bKYOz@3DoV=zd(Z@ZcR~msr2YK!n+lTf|{fm=+o`pmH8%L*=3MZH#909BPFt$?| zW{Ji~%tH%`9$lVOM`f2P7CxCL=BEB8yA1nUP?l$c9?P=4f=)D#bBl6Hc*@4rD&8y# zU?kd?y)iPf&bBolCuz)T6w}w;Xt_6g;ruN9(~mu)H78FctxE10$ZgnxxN8|vrf{Uj4SL-p{6YbyCRU=XH)URc z5aL^`*jafhrB*+(b~m|t*i19VI5A)%(&cSK(9Yao#;YtoYtA!G7xQVyb#`0&*H$dC z;YWo}D+%h$I92U&JD+53SuyybfUL1{$^@8Aq}bg{`{c(x{~(hX*FZrXX(vM>Ett$7E6!T3g}?P@d)9U@UprQGeL2x)~>)WH#DD8 zAu8@`kC<(d^h}AUtnP%Uin(XrvFGUd)*#7e3nK;dMyr`bWxx^BB)MDUC+QE;F%w$r zWs2JuStrbOhdlP{?E2OZ>3dcuTF5~D8j+-55T>nbs{Wa0md(_ZqL3P*jG25HV> zDY_hJGjd*+&tz`52-~>m<JHvOF*&>phbNAWT9m|jPHV)S_`j}B5X zDnT19WC3$Z#!?#TaUDSOD!L-Sei9F(Mkf>t}W1EGJ73c`hyqT zbg$%Gpxllno)vw%(_HpW)45#CfvbUoE*%SAeo!7X&|@)Y!3h7KGt%npVP#()1#F(h zR=c|<u{^K9!J;PcMD5wNcx3EYd?NK1=Wp%3V%E zt6mj6rk71K!D#dWZXx0{gJKNx&R((ntWEo-V@+|EY#Lxd+Pite8ik-hV7swrq?7bW zNwGY$w|e!|vDOGf%*EF)U3BJhowUf}7`2TJFSu7n+P_$yd1=S0SNf0XY4jH#7J+9S zoCEI8(qjW!I-B33Q+ITV2)PoG5x~$p!i4s~5S57wYlzu*IzXfu7 zFY|qe2r#2x5kver2rxtR-+E^>rBm$CJZSCrTV9~tOv?YjEN{g!Mk;W|gmI|&p_FOK z9X6&{40Cve-iJ?y^sdtXut+8-#P66ERH9gQa?O&jWAuEiT7L~Z*p%MdDy?t7<2_y- zo!ha16gb^5iKmPvyV}p0= zUVLqW4Pm7(+>*?-^)_YjLyAvVHk&lQGrKIB8@*YnQ~p+pRPD(p$(<&_XW!Akc0Vr} zta>3+T3F*AR&RfOFikd#^(J;{Z>;#p#E$>9NF>=qWqo`@%1s@OM?I#%H_vmAucKy% zUnCt+P71>}SvMmI{$Ac-P*n~qfID_m4GX87+^5}3=~2uoohPo{9)9bOR~DX^Jm+%} zwAxJADv8|vR4n7hvn)xvkDF=!n)HByVBjH`(lboZ*F4-wZls}D=Eip2ik(HCWl8EIHPQgFk{_Gxu#OP~c%iLWF?Fh6-V={cF;1@`d^ihN+_PeS3rr`Fb&4 z6IbruJ?nim4X@j+G2nk^?mie&nbNy2`Ch^G(C)(r1$Tk8eWqJqSLglA3v{IhGzS?LR+ZnW*j$(W&MNpwi=+ zrtuH!l}N@DjL{24|L`f5G~;LM0iX7k`2C2t*zA=AQUx{64fxTs3=XRHHv6QMoY-DuawI0= zCtu6c9LZ23zlr|#lV`Y~l)i3)@pQNo<5q-+dbMl3))_|l?%E68_|)Orj$;uzygI!I zYqfD_r+wrKHnsb$i9}mk6kAppXaK%N!*bPj(ubY`fEX^lZ#|_goTT9nKnB$E>U$1r zvC7?#2qtyt9xczr@F7c>>YMTX=rM%=2TdjWUzvpGN!2-DbgZwNPn%Zl(&&TFsXU_u z>o~f3@jB`%842#3^}gG9M0?Js*%+T_acF<4TEDYkTNG$rNRA8cC7&!T#bB5$EtFw< zeSfH;RmTo9H<1$XKK!Iculv=bX98)vOxCbZ>UOqyBoDKOj;kQXgsaf`Kx_&En?MR; ztwA+&he+z~FPP8xHeRJs7fia#bau5jJPyuRUOcxLZ{?j|7fCbK(Qkh7K)j#v%j$O$ zne{rTGAov+2z-GVl8x+3b)t=;R>{T&bhF*eB+Fx;x8a-!T@rIV(|_Uky;Up8=wvDL z(|@D9@aK8q5(!JG(;~u7SCtKE9Js{A~8Y~^z!o`IP!e+T3b`h z!{J1~BTXQ$nN5y@XBOu0HRRbqH)ddnTv(s$@ZIRZJKPzVoK?Jv=}mzq^3su*6_JgB zJ_Y`9zCIcG(uxUs(!(0{4P>(|2f9zA>p;V`N!_-^+x~Gwcfjd#Nedd5{8BwElcm@c z@gdDo+o(ju)sE#Nbe4K~vhd2#S}!$L`%w#j4tKrPMKOypSvqgAjz*21{P0-SXwIqV z{Av3Legg3s1Hma#c)AKBU)svi>pBvRjlOE@3r0hf7a3m2>+x>Q%he;+JPU_Mdz*=&6N_ zcWZ+u(b@1r`(7#^po_dFu9)&3E>v%J^jJJ&$H_& zM~XEtJDIi6)1#-VtXdNu83ufu1?3r$$wFOH;2E!8-&t48Q7H=GM2(k^LMoan?e|rd zxYY7nsZlp=nVl3G@$ zjmf5*n?vVyEJM;r{z0dEL0(Sgl~>4t{ZDlDcf0G7In2*!1b*n)sLAW~Z3Gu&>we3} zmpDrzA|hcfY^A#rh#8)B@shVET+5yz`?8TE8&yyB++Jz7-OAchxqb+gC1XV_Ow1xr*QjQ(>Q-ar6tkc5xi0{7Wdkk1u96l_W9J=75JTv2XRL zH-VM2{a9oju&z!}Nl@$LQCnN$1pvkLKeE-VC?mfZFQCXoF6vOrQ2U# z`#C`%hEifF5@cK|nsM&#q*S}S_4Q#Bxzm@m^msOhvQN^F%rWJt}t3b?e7PLBwxJ$M{9TBPf)MJ$GZZ)C3Dbs6Zh4G$>~ zJJuo)imf^E7A&8d0=)cisSIo^&E@1<)zF-SsT`9?7ouDyJp(x7teBfBH(GXfBfF# z%aS)W3OX~ z?}ZLReFC?b^0?oWo!%4Ssy1nj&9Ot$9Hr7suWAa&8j2TLD9p+lqDqUURRj3>A+;g(k1tv=t`Rs#{OJE3XYR>czO&E zx(NK9=CWXp10vAD9P3DCB0>xPrdR#m&_j*mx_C_Re7@JxO4&Ks4=E!i zFG8cK5{a61aMc8Vk%BdVCSX78Wp^ZaBUVBOzg?o2l!jr;@<99zoH)0B+$3H}|xegL5PcLMzV_tT5#3_g{-<5!rPE+uX6^pCo)Z6vaLjxU>8`y3b zNpQ7}x0!dL)tl1mYP#0`Cd60TqkFky1WX-x{L0h~8xV%(Wb`Zwqj;e`>~XypRO`At;qQ9;md7#=zq}lzx(A%il^7awyL}gSi9?1om(0oe{I+5p z3qS)kujLTlx@|*(!QJ`POjh>xZ5s-;Ff!Q-cluizt8lXr5;ovkQyJ&>eVz|mDBylj zQo!xYwmo?e3dnn8_~Wh1HemxeS|X=s8UDX-L72Qa?pd~LUy`j3PxZliW^^=!KBgx} zM~-BC;c&c0^NM>@nB^@w;wTaySMt;etw|MrEcJa?5uqdft4r?LV@M`WCrh^{T4CfAAH2WR_}#v_169>XF+!7))NmG!+9^<<&_;`4A*#yg zT}f9vNs&^{j@ch)Hv5LF0Rh3p_|lm))^Q?BFC6gVArr$}dHM`^f*Kwhi;as*Q1BILdB=q7hhWZ+(!w1|iMrGD z8J)_q?z=(}Zt!zmkqxB!@nCXvR-d1KZnzuA!p3X7i#aTTAlJb24?9EiW&Pc(UA3&z2(q4;y z^2`pSM?C)vRQC%xQci1c>DB=eY=B^gBD3MZ)KvabB!Kzx8U?@VpMC*SMYc~B;#q3a zogE437DAFk+Uu*;h{&H~P%m1sh!(6tqpAcW*!z@%%!rie4lC--rNhe$!=5V!wd`oMN8V^JAF71>`6$VQu2}I7 zL7A2ZFP#Vgo+Y30d+-het#+fl2O|5HRh0R6G^6a1g08QToVM1m`ZiJw5U(91kcbYu z#yY{09X4kknUbT6t0W`uli2i*!N%jf$b)*YyO3ax#)gKgD?S&U{djDc+RvWQS;-R(}Y&}o7cN5LRa&2MMFzEqvT zbuLxhCjRT!vr2s^r&3676K(=8a!OuVI`os}?CB1Am5uqgSydL`(i$stF?m`MdKvt4 zY;rQobkJO~lSAnt81V!~?sw^V6K$TdI<09J&Yor_T85QPn3l= z*i`+L(E#g?e!V1#E;~G#=lYciU&qHwcjG(Ci7hhtr7CL4+wS~W^NwKbY?G#fg@eT zyWr)jii$jHxjWg4!Q+2|Lo+oJ(NNder*39=Y&y56yW0M&bQYwI_VrysfB_6-w#+a- zz>9GzxVIL%;%Z08IBSg2$00(l3QcotCNE9X>cJKlh<9?xwwC?s$}_2A)KQz5u1I&b zNvYJtS0pvePy;dE_jH9j*w`}tzelp*V(SHYLN(rvp$qlh9kx^}Iv*69WUg;BPKV-A z3Ro6(J9BA8C$L0FP!3;SdZde$@FO;4m~bp)Y-Im{xlmSwgID&;)`ewUzBF-$J*CamZs8_Z|@;^0eQ1VCO(t*DizXPkqe}v zJMShf&T1mIw^u#Z9hzW8EMr<;jW6os!6vQ!80QEFz*A>>jlg8 zuU}(iKDjzO_m;J!n4y8JxGr3%vA*TE;N2l**Uc?&#-s*uo2wSpbGAm#xkwO$pAFKg<+cM;1GUg05u~2fS|p| z%<1jkt%1`eCOt9Fb#rWh>Wf<#LEjwP(F^yEVn*iiGdIp6(p!#}cN3^37!kT~>a!K# zC*^S3WP+8-gJ6IVfKj~raJ??|y!F1RG|SrhSV`)Zyq7bu#i~0)I$o}i@`0~M{!!gb zJ+A=gvTREvVi(gXEtyd~oKDzsZj{9H?j4o+66m}0Y>HZRg3E~Ip7Q}29xtwXm@OcmIdN^I3QvgQ_b=5c1oO)PDLzQXdhbtJ-5p7Y4_AsAN z7 zHZ{ET@rS7=k5YR$$atlPiJ5L>1r+vX-t_4ft=HjxuCwx=@i+zk3oHx65!z+gLgIT|BJ7!#^pRh z%yxRh9U^Sh7&fzY7(~B%jiV zntB%%dqy2=`pF8EiTSm-_^=G`GhGz-F9@4|Ak*pYN_3Fnwy&Fz3Dvj|6k)2=2fM5Gno&v7 zGLZ5(2*LTH8a`gLD=~tNv&qO7bN%;+_|zvSCRBi>qEvk0^dx5YwS5Y=CfA~tc@AYY z(U$kF^BWb~r?!Fw#i(on~vz5+hU@ zWyu|>kN>cVz>#e(XLM$+TN8f5z2t6Jz7*oj0$712=)~N{5_Ao{-`Nohz9&fIit(c^ z27Jz2>8HG1yvd-40$wmlx!o=&HQ+T-^M42YcffxK{O=tQ zT3jqU!jY4{sG`j^X($VPd;gYXW9}0jT`on*W-WygndGC6hX!I}Xvv82wC($Zal(Q3 zfLMh&MzzLD4i+V@*3;XY`_)kk?}0BH)gC_LL?AjimSs-Bv2A1|b7B9ZSDPw-D(U%I z4YAB8d1M8Mz>!296ja;n;c5#W~^*)${J%J>mL938;rM6*hZbUFBwEXa+yT zbQlGMG|-X!dE8T2p-4?ZG4NV=+Pu7#30`X`?-~2bad78FbjrW00wn*;x%=nyTX>;) z7eyL8*|zJWHntR^Bc++4(9VsWu7C#j?I)0_DMKed^QVZsB?A=XZ*0{zH!Hnd2By9# zRI-Y?e3{e=^$M`j9yRXa#(hVqYo(Bg&=W~;IJL(cUvLMY2m=O!JC_w=RCVUa0l?fp zUm@_BLs?4jCPMFy{oL(+qddkFSVjW1ALSE1{J&~3YBgdhQ>)>KS@DJ_!Z}tO?oG4k z+*Tmx$+sgvvTi@Jxfcoof9}c^PNYeQE?%HA%ne7a9i5TqamLu5e6Bt!^&V#x;LPCV z4YK-)Yd+n znXW6GX>bsyxGHoX|IpWzay?5rrFNsl(E7E?!1aS^62L3mElN|LV%rJRwR17QUlSO!+gA#qjUP{7_u z)ykkY)R$pl-?ax^g0OQkgFsM_xv^ENaSVL6x&=im+3<7#W6%Rx5k&GxIHba`yz4;; zxP%twRvv#bRy|}z6vz$I0Y*=V)6;fyS5?c7+DVwXbe;8W>9HvmD=Uu|+SwlXzBd>7 zfyf2<@j}sI-LcdUl$m3s-C2(zMlGEUdxwlj@2)>#kTxtFNS}PQDsS{Qru?E2iYb#; zquFD|Mtw$$SOxFt{4L)ct!x%uxC$o2vb!4vPxsPYHV&?vjlZIsxJ3ijc6K)0H{)%q zjfXmd(Vd9Sh{K)=?~8yAU$@bsAWkPwMo+-mWYK3+;WFAADD#7a-%&!~j45GSXQ7u z`sSfkG>Wi>k#y6aZeDhy+>|*uY{bKs>%7^xxUNAA`$vpO3beRhZ=Sq)*WPS8WHO;e z;@30wglNL|Pq$u1N#lq%m!s@xAiRh^v|bV@gx6I`e&E;3#YC8BbO^O8@?!%=9DsY2 zYB(Sp`$yln<6TLU)zz!~@LELEQ6RHLhp}Qr+$7qqK>xVJ#Q8f$Z*<-w2rVl3p)E~8 z=CNBia5L-64F7bT_^vj9$WKyukvcdaJZAy~Xn>~nylj@lq(Vbx)4veTX$#jt#>h-Z z0-%8(!{f<-#vJ!XQ{n9+1VxOJ%;*Wxw z=nDD_jQQdCO4Q-FRVSM*v9~63G%F{kNxjYk#24Hy@k2{w<#W~B z4O#VbM~t|kWqil-u**Vyl9TlB9?y%6gEquMS%M2r;>F69@>yn@lD`rH*k6>Y2{p5`u$+N+vdF8C(Ko;xz z&73>1b#SAKYi&51K#JhpjpUMX_yRTS3t*4OG(@P@1K$L*qV7+We zci>>0wreD%1Tfxzqn4b<#xvg+b{F3Irq;Lf&@k}mZ3DFAfjMBqk%gt&1OzFnv>yMiRHtm8w)r*5Crnv{!4fX4~mMt z#F98wmUXn`@$3U*aq_T|{JWO&ICOt-FGu9O_qEtk^A^x)k)JMd83-HwSW3GGu? zL@v8k3k_3*f|rjHk*NbiG?bP1yFgr?D#H9pwAA+&{9X5X{C$4Zo?{2PyJ{=wSd@HJ zHCxRQ`e~|tJ*vy+{b7&zu{B=F$ySb--r;{fz(Mz+p%N})jRioi zd=LsK{_lYQ4*2hY|Gfh!t*m1)wzY2FbQAfjJuW_86`p|3JZ3(b4%|hY#77-9E-p@m zpG2KOUGQ08`!Gm};7!@hCo@b8mX@ipq+-k0eLnW}!?R09%3P2~7!sUbO`u8fdvf62NHdFv3@A zNVSw2a{sNRr7|3x6CZcw9yx0De9MAtZROLiiQbL9#iXAQgzBEN9b3pdXB&$vVV)9w z=SmCEqi}cE)I_SQtqa8D5i{_xf>)eD5%=HrN3|oQ*;-__z1@wS0X|)2sYm-}Y!vW} z7-Up}tH}zyI9I8XyB`!BoSV}v`5{9Y(V&mLe0mF+qXxybJ8>SW%Zd{#4yD!dYbsvc zQ(Jo_9P;GZvw^I8-vqLK$q{qL-u?1ThYKJ)T{%cgyYiZ7%1Z!T2_I|P-BT~5Cqa9` z<`FQ2%wL}Q_Rj-(r!4&FWOtKPp>#F5TN|DkXU_4ZWAHR>s9X=)_7`+fJhH=YwYF@c zF412z+*RMmJFn859eKeKnn!nvE2f#MUZ4q{XB2c(#y~)SCNgmuFrj}-leZl?(p++d z)SBg;e7%O(v){?rjS5r{SpEGmDl#K-BI0gB|L)%{S_GB>>wKuVn0DsY&>GWR#M<&b z!CQ#Yb0VDXvCrN5NNrb8<`HUw8jVzzM-r6`01reBrWxherPQDOFztc5`NNtlYL_5# z;R*yTD64t>St>)+pFJ_r(Q2H$mE_CquHkI zPMDMs6%rX)CXHu%*J&ksWs*Y=L_LnV*4Ry6;4uIE*ab7jqwgqCcY4~w-cYCLmFAF` zG6|w@e+KD5^*eaIWY9eAT0BR$teW0!Mmt<(?-tg1XV_fq!j^{dFdF1rPoI;%=Uobj z&6#O@eDskSaiv+P#z7QDuOBmiSreufOZynLz-(t%=3X><- zqVpFkp-S`+W(>UF^JgXIufC$t1LvNu~!1QS$$`NUfP*5FFvdWF|g24 z35PTYai_n1RPPzAa<86o9QPCupo3Sy8hVzN@fH>qN^nT+SQ(&3EXp;Jh`?Pp0*jZI z;Bxy|l>+V5j&Cx&7!Rzn2KF^t7B<#oWMmlR&uejw&)DR@j7OKE#HNqv9-DeK@d+XN z65!GIl~#t0>#ECd28Nd*zL|NR*9j`&+pWC-*78?j1N>K94M*|#&MU2EjDL_TEw?R; ziXxLKv1XP1G0n%nQeH-*iHg%7y;=PNj`TWGjV;KmO7`4IIbYSE-qgJ7YY7;}eFQW8 z(z$r8`Wmro6Z9OZgY6TU0PQCf(7kNxfS^tR>GRmPBqoSHK!r*Ojx;V=5W@zjeVpHV z9m>f!`B5F=$h_ba9d~?20cDi<)4W7&9_;UD{L^x@6wMl$59OL|!vObR0>G;JUBq>v zOZKXJyog1s4yYu^PRR(>-962XD`tqGG?{xugHB?H?(65~nf-)HBZMLdMdzk{ggU+_ z$3xJTgP-lwvHbxf(hEUBp8cDb+W(3O9{u25Q!$q@s^gi_ZCJp_5Chg4XMTc+gON9r ztR!8XzNzrY;AA8DO#K&Si9EBn;uG?2sjPQDDvBfWgGW= zC*(W-qh(4s5;ct@y5{OjvbT||)s|Ud+hiGvaH@jq5038vcnpPHH!Up7NAr~b-c9rb z+=lI6PGF>8WY{YPXb871p2~j8HAIFJ_-8Q-GC>Y9VMOmrTL}ede0&2|t_gj`WqHJb ztzG+?51}|(LS~C*^|Y%GjW`<-zy>rbs_PH@l+jvmmB`fx@gPE-G>S1Jh0zo0i<=N9 zz~N-?@oWEHd@HDw;6W9oAlUaBx!G(_3KGVYN7;6PaCCJ5an4Di=h%Sgb`u-t=tC36 zKs3bQpFml90${6rQ!3qDHVJTt^qif!aSF1|tL~dc@)0*bh?kR39=LmrDBbAbhL*@` z1M7-pWBw)m@C+EIEjjRT3UDr~JKfU1U8%{8 z;#G3hIolVLASKlX0?x`p=iQ#I`O`SS9+80=`T z6?TrJcVek{R^~43X*d8I5e#luY004gTz+ae$EfP1j9@v%Zq66RwnjXe;kDX zt4nYI9-5vm!0zcu((d{)dAzhiBw*vwefZ;P0Voilgxz}=c+K|O@IanyUSD;fK+?vAHO&^t%E?3YZ^8*979kOd8j&Zjus#eF&~7L_ zv#dV^Uyn>6GaXBOPph-HZDQI9tCi#cV5^WY5a}*QB;honR=B}hEgsa35x(l5f`N}a?10@GJ@!q>$cNs zuOPcZ*f@VZVn=QyJf0$Ta17inl$=h!9i{sXAxlX?VB~0^^X*;@rAJVCd3l0+*E|g; zx4T19oRMmT=f>6~Sc%B|LB`_uvhEJ|YS^P;1E@4}fvj-<8eA{;l5rpfZ*;}}DrlOG zka%3|+vifWD(o|~DlDS3a!3#OA(MF%6BBYmTH5k3Yg-nQ0xnL@3~K0E47#_z+cKWh zTK{vWwX;=77=`%DsGh}GMgD*GT*AxCrsMHHee`0mFRTz6_@;xj1(UnvWHGW=+8CtN z1joV2;B|4XEYnp}=&aS(47b0_t6fxgXtUSk@wUZ9UWjZw7oc7CZU)?eK{rQZVq24Aw2q#~@;PtO3J%iPVsA>?8qO^4Ly>tw#*=fx^)TWhl8IwjwCt8Vhg~w)YmEqqXhYLdA8ZQ&~T+Y)sDQdFQ{71C+$$&o<9k3_#d&`1o z^{WEAilk?2;sy1!P4Xxz|0Eefcp<-s6`%WiwU2#PR!pHaeV%f<-mMs*KX^aYgUEN9LY-_hF*= zjp)+3tl!^Rp;-^Un&Xa7(Z3e=lAa6*o9$GEJqsr3`JIQz>fz`5omkubmmMC5HZRBM z7pfI$;wWsZ{41SB!uPE(;j8|8(roRy4r1GUpeFvmO5J*F30Kt@%fI_c9*ZH>EYHp` z6a^WMt{>(hCtqF7swXBUx}GxbLA7mFTU%QNN1r5aj1=nT37)26`j)n`G@hoN*X?@H zM0%zx-)F=lLn>DJ2>bnWZ-ouu5J4X{w_1TDl0~4~LdXM!T-JaNNkd-nGWFG{$b?T>R&P!o9*g#0)-EWvB<82*GlpWkn2vi(6;Ah z)f^^#LF#Y|)Q4y2{PMCcwDPK|yg=q!TKlWa)*|#RDx@RcyL}?h$;3H4rFO5(L;ybT z;30co{OLOCFE>C%hU3fJo;Ui!V-=jGdf4`4)jd@KDEXX!bDd42X2E5BgR@IZ*=WHdC^QFy zm>a*yhJ6T|7$$@23N(QUF zi5s7|8**MYNBJ-hjU!J&4I~SZnm-B?qAb;Iod{m7zi{*wBm*^L!~IxV_>|zE>bcTt zTC2}6i8-Rj6f$btpnA3ECzM}DBKhF5Ozv)%s2t8%m2I;7Q2cCuuMq6A7W{DWJ&@;8 zDCkYFRkGJ&2k}{uIM=x&|JIF#NZy?Pg7Ue*=4d8ukDROtsg>1L2tm`S7}o+&4%77nIHO$8U0on9sInE>LUjD@Lg+&rF5Wj`b@iC@em_B6W1MVa zBouyJI9xnu{@sW4N__4qxEBVCZ#pAR{{YJf^SIpajN^tw6hqIY2k7?>X*i3dyC5i;G{enIjw*Ux9#-Vv@h>3}FMv2IQ_3t8$xBh+yvZ zKIwIf%o{wZu+0aT_rEE?Jh8?%Y zSfMoDmz{s9?gAU^m%VH5!1-Jux(;x=LaK1P1)l2X@#pS?-gU;z{DP}fvf_@kR@iR+ z;v-Ub89a1k`@mN=!PO}(`s%1~;xybTw2!79FJFfxoN^cL9-IcO48H*@1LdxIAtSVO zx2XFK%w@(cYZv;uMx^kXba~A$Yq!Z0%w%C;K*s+pjpjaCasG`AZ0`E|6%?Nh6nDlN z!{boF%j?tqMF?kH%@h1khYXkP3CKGhT##@mvi*ah9`4zvzmM4C=7=e{e!p4wQMox< z+f)E{c{q9cHYaWfc*W9H|X{?@Inh*0jj?KjaDK74vj+Mex~*T)CNVw`Fx*I^CT zvR#tMcO_S>$Cu_$QkblQz2u5npUNJFDyC=GHc_4i2 z6E1OW`LcA%(EhCKE|C7+>wM>XO8@55sZDG>w#X?W8ujpP&* z0Ra{1RJxJw4Fe3iJEWw$V^fsw?(Xj1_S--|-}9XF{0nE>o!9HSUUfq?H03>yPL6Ze z*EvN*1@p>uNU?5Nasn}4<;U;<5ST6UC3_7Z&0&+!8|9mk{U0&t;z)G!(r?vWiX;BN zyARmIo(bo_Ho`<@g|#?XIY|KlT0osgta2hE57S#(Tg0W|CH#Ld+bK#g=7?1&fJkg! z!c@1Q3Ub>U;H@$z0>ee2=4OxKPq7|$!PuiQm7o@M3l1jU1~z2)0OJ4Ha`0SSPdREm z=B}j&XRZB>Y5|MmEa^|A<-9|9H!p>P17&U>fB(jJkRxdQ2wnpJG+C9qS+okY3ee%~ zfkK1Q>%3oG^k*zB_&uM&1Ht|*sK5$1G&HAPI}}^1u?@E`%Fz-TKY48l!XSYmlo`;K zIHA8lF6qui6Coo?(=RHCV+uW9SA!%p=D7v14-`f;BDpn-7HA<1BfwYOGK`(aSZFh! zud7>Q`H6Vyy6WJJi?Q8s{Kp-yh{2w?tGi?M7NN4_FA0GGI5P($)p^~CVl;fw3nZ4$ z!7a}OH5Y)8;D?&^!uU|@Eb1h+9kp5|BZ0VY+QNA43pXwr(JcfeX%W_3?^h=LRD*i= zOLeMBM&lQ0<>l%ax+<#u-xH?38fZ|kX%LGED;oq;PrayL@Z^Mq==L27e(QOY${QUz zmk#B{2cW;{O&BG4qe`mm^z?M&8hOfpa{+K%nLVuGjNU@?$8ZX)+P>7FU|aF8JrrcJ z6OVv!;$>FXOs~tYlz93Ff~aeHBF*XOJkWxe3R;eO|oiKIUkGg4+8($K}zIe z-i8KP;2S^CsR;Ie4*dNWl(hq_tM#CJfa}zW$7~N|Wf{uo$48Sj@-=gvd!$F30{Z_0 zb>QhccZ+NcDDz*3vj0}In0EF%Baf$25^5$MLrcRZ4Q?0d=LUq(YkYdl1dq9i2tYS6 z>?Jgf$QxBYUT`r|-L&j$L08~U_$KB~!c^G-&FtCJbunx|4b|N7CSPxiI|BwX?c@Ld zR@6F8ew%5M5fPN4byWUwodXNUG@74LaOjx|~BC+nBHjn!Xk<8ZDO4`csS zfoa#`@li)7e|~y;{mAdPsa`pwuDo2RD4B%Iq9-Ul#855>4u;IG5I60{=($$)#V#)A zWM`9|O8ayj0y^d&G+uDUv8&OZHt=!X2!|Z>_Bt%qIj^d+2EM|T-kycYuCcwq=$jYi z&>+_<@m<-XV#m{zM9rOztt)1uJJHm1G~av=caf=T)+A_iQ%tVGlctq0mKV)UHmdJy zM(!*o)2ZGomA?a7Ds3Um`~J~XL1DiLfM#kMUEMr?z1^H(;M{ZKLDab88A_SIF*Ahj z(69BQm1Kt;z~7RvO#@|Cu-JOGuqgQ8H=Ouerkha0Ujmk3Xh_V&rQsr`C~Ry=Kq8i3KyP-S3{)mD(^ zuYB{$iVB|}IraI&rssvcg=mUwVWZRC-TkN8%&9i1P$lzk3Fb$`Gy|i?3-kphY5-S2 zsJ}?nNBrMH-a*6)sNBnrS&4DhynTc!YHtcrd){Lv7!MQCS$V9J!V2JlgLhILa?%&T>14HJmz~KF8)K*cIv(d|HJ=X0(EHV^JGUEo|Sb2Knok& zP`^oQkXuG$p~3OVEr@DLziKoGPb@3ei}#=Y=6>zz8;9ahqPXu7Y&2c&95xiczIL}W zkwlkvt*yl+#3u_VahO>0v-gq$#YlQ)P6Iwv#0io0Ac+wY@8*hq{CHk+)bkoa2p82qRnCrC_IXH z&}V8-6f<#fnxQ{Ouo=C_SvbRO;?OI|vF>?ek_A4%cWt6%z2|n({m)%L#JO~Y1~>7R zZ+sqopWz{NlCRM~$Nc2JPRt=H_`xeYARdT?B&+nfI#0~;+pSHFwHmxMtumsR#Kk-q z5kZ;w4OOos976-)-d>4>$DZ+au*DZtYU3rKJU@>@yeWJ1xw6B@FwnC#CKi9_e|SHh zy_El%BaiGI&XX<(md2x8iyh33^OG3dGNq^UCfuz357guO9sg7L0f5 z=ip`J;X!Qh;w72*KSQw?CGeX5oKwEzn=7 zF!J)Mn0F^pot03QT*>Y|OvA=w42y%d2tFih(Nu8 z>L*j`N}U~3`44&$X3#<@hc<@^3RMCA78dPpVfSUi+WYcJWVW&@3{YY&xOU@|>cH!& zGCoCxgxvAG+^$w{N%BXl{{sS&!Lf(cEC8Ow*qt4FD;t~g0xg#tFQfkwWeF2jiD^5j zm4kztpY7An0H7j&nm}-i=)HPO{7QsjU}EAwb4tZduP5#|2lSb}|C{E3_Dsb{AOlN1 z3Recl1rt{y?TdSALi5!Cm?C|vFaM3Gh)8=v<+7m$Oucc~oYD}cY$JpUKeJQy{_8L; zxrFrqPf>?D=yPaF+BcS+mex1QWOaL0tKmnf)tJ%`Qotm2;)IdMdUR`dC&TJdse;RC zMbKf6KzL7&s+Ikn*}yh_hKawngxi0-+}u;cb?7)IHdfip%xtLDnejS|25k}jlbjV1 z9lflqmH7PEe5e|%@nxM@mL%h>~pxX z5B=hB9s~GMTo|0KNBhq+$w#oXwAAL0OSkkkcwghsFzRed91Rv*6n*zC&f3D8T%1Cs zPr?p}EgGdEKTn$$l|L|ukmg-h%VB;a+~rI>TyS;ovVKrV(8sE*u~9{L3^7Y-Lwz$3 zV+H>Y&-YT3lN%R{f#)fgDC{>mFVUEw4K|?-c6D-clD1crH>o~4+Oj7T3)skOSbZQV z3}=H%8iUU5=(JEDmU8T__w^n{$(vJDK)@}XCLd3NUZ5OWFPc&?j+9!sDFU<~P!{s? z4)kQ8c;fKuu1{Q;HPFh+N^tP~C5n<)zfB$bYP-4Bp6J?C^xDpp!@_MJbsJEpc zZ;ZuEUgLjpk{IUaVPFEVUf(` zq-EE2*na+ryoaTVrE+ZoGHc)kEb$}!D>=7mmM5=X)pN~4 z-9KOb4OOquw{C{e@^(~o^frrhqeC!-7hxD+jd!8Bm$$q7m66t_oU-u0f^GzUmtZ1l zefab>heS`QNvlM0Mup^k#Y)mx;Pguv-udmaLgV0yNAKLO*M@J{Z z=!NkkhgbQ8Xycf&Ye#ha%jAL2)0~Gl7W{&w(i%Cf)+irtFHc5uFD6e|K2Qte15%e<*OO;<--TsoINfI{Ysp7%~|&e~>>P*2$M3WYzVk$t3i3A z)gKd2V=PduOteEVp)^RC$8tOIzty8z}e$iEHJO5npvLF|1u#znhm%*oG&1QWd z>tNFe(Q!_#M?{MWHXQM%Q9kGH&Rd_F(&yx)>EJ3v=8}4`BLlnHhHMW~3Oco1YY`!mOEG#5(bMj;(oISjEFxJ`0Gn_GX9;Hy zjD1}wLMs$XDc29Mm>BciqP!@TMA5G@E200JIYH*d4$8i}<7jD}-v_^)* zfm!H8Aho)cZI(bxi!QbEOH#@?3aB`ds|jo*hGMmOY-FMXS5Q?!^-v9*iY4vy8;?rX zJ}HP=T9=^9S?lodfMs^dBI{Il{q*i(?Z~9ok$vg^F z;E-xtl0LI|-1vMU^&HjccWi5;u{4r~Hqh*LXm_GmCwgP&q_~t)=?d|&34oJ0!ap-p zVN^oq;;BE;w^K<|bL6DjmF9K%mJ{kdR(*{b8EF$FOXBs|Ybf(i9;P5$@91DcxO`|mRHi}9kO!8HH6FxAyJXf(|nKm6_gbf z6@MMq8u*{Aev)h`<-N!yN-UpIbNlI<;~2dK zYn|9vsh%tG2jjhdqJ7+X%w01SIVoOwhXcdxYN%y?K?w5dqh`9k$NVQjm$kkh`Yz|` zL{DUuy+Sj2m#af%`M9+TO0pzXWsl-dyle>mF!-COyn3O9Z2*~eEqk~46hfUvegn8T zTW9%ZaJ~aJ;11qa`EFAgS|``5>m*gOc)2=##J__1U99&+kE9iyv`QS!HwSh?5|%o( zU?(D;$n(`@HON&)`A@xqW0uAJI-8U9Kst)GK3$|Qg8@%+U+;{f`Czew&tYN@TSRHn z=5Z-*Ja@>&fG<~y#{$0R{wKcHaD-#^9A;tf zJ|l1iYi&%K*yGkLuOyoFe}BR$>=b}$pEJe@Hvw!XQF?uXs{*|~9ePt5@q|hpeD*;S z8sXXIqEwT=?&BJedUbH-v=yUvQA-iKklAu+g11`~fvp@RlOOR91}}FaQ5QSzg@j0V z+OIP2=H4P4Rr*XO>+1t>=v@|$?-<1{nAM%nlmhh%F6U*EjC`Z^kNgzx=+13 zP+Yw97jDzCGyhmM92cWnhw%? z>V~)0M0Sc?Vo$$=bdQ>vox)ZnsmXY@;nRBn@m{$oUwM}uV1oqcjng>dnP54BRIn7KWGZEWPTva`1$zbJ*%tENclxVX01*KfxN zGaJ5f%QC8Qd@~Rf=r7L?KR~S&UWp&{$q}>S&*2K&VeC^QT810}=M_NjNyYoO@`|(& zfkZSEuPK2Jr)|ukQT01bdPjLe=t)xr(k}SWcXnkUBXXszMbk4gQ@~bMxm##B$Q5(! zR4B+7)W$bHXX%$lYZwVEQh=gZ)@=@3U~O%!)3SzE`}t~WuhTOj&qy{EC((q((BnCo z_SS@MqyyXLn>Ip?I)6d{`_(3EUb3=!v`I|Siom*JMA{1KCTKf|9Y$BmEM!us4?q6iIlFRbJ zj~-zuLJf4J5Z(A}XRx{Vgb@cyNrnic5@Y`yzt{FTP#IO%i=%Znw-7^Lp0v<9#EE;; z;eM~rwU(I+#<(u^bIH-Tap!?#IO^d^LN&GH)Y?zviRt zA#Z=Fry@~yWz#*R^oTJpuZ#5@$pdyDUx6#l5~(dIRU}%J0grIQt3jQBX)oJ~{jhU+exZ{i--9#e2rHpPs&B zk$!mw^`a+HFF8fpCPq)=WhgQ5Vt3JX)PP+s@Xm3%NW!%$S3{3EsnXvwo(;}kf)Nzock@mzmRzrSmIgK4N3VO<>eR09JwH$6U`s> zn}JA5^r0w=N}u;@^gukH|MtdBLc-DbfQ&TSqXT}xb3BHSq_IFGdFoNsm6eKic7?W6 zH7_-b^f{MpMmu7<6SI1*iYhBLyu7?3e6ro>X8bO<*=Mgts@;4)%wEeQ7M8I1zVReX zzQ-Al;|T;2+pxcq*u&5wBc|faL^ihpX=Cg9u+vj!dJem_r&nbgPAq%X=UI4pI=Zo8 zjn;GFJ3BjA3dP*69bFplrV0Oe#w)ai2ozflX1BM6Gvi8$bvbNgLzQPd6=nqZZ&q9q zz2Z~vGAYoaQxUwYBYU}3zFdVu7^UiF#+MLCU5uH$*_J@KJxZ&o(LTB3DD<$=3uZk3 z*wY5-gYh{ebD!_uQ6|F^5fSOxY&@Nr%uPVsnQw-?vkoXkaw}a3wTN}jY4gUW4xUPDadC4m|DiMtJ7-%nsbg66Vf!9Iq*-6PuKG^%7K^rB zS`K8#IW=yaSI8l-$@Z@9;|ZFLFN}XaX|$AVMXGlg=Ia)Pz0#*qgQ}7$cM^qKPc`n^ z*J7B1(}|9SqJl!8p2jO;jGm7GO5rfF<|IF24x26pMjDA!5gS@^{aO-VFlL$u z41}+Yr#s*=K1hQ%UG8v4va8YW-Jf~Ri&cco8Syz4(=CocX=%Q03$?FPe$c^ zQ&yF|X})#-vvRZ}SZs#l0`$Hl8k46b_}`aQFOsVBG#GkORMCh$pCsmmRz)ZZV{!n) zCpw&(3s}a}4L@0%6I(4@hA;B+vU(QrtZS&NRat{V$02U!g2C=Tj{zr9`;zd9cp+15baj#AgiciM&IWhFtWSwii z4=O@=Ngxtn>EPg=6)O6AU}9p!_MS)gu$Ho%+y^3quX)55sB^Ss_`0Ee=Q>6(rU3=P zi`cHvTK6$aTB0wV-|xFj8v+K$N?>eZ0$@3@^pFT>+S4#qwCvX}73384(!!r_%U6dz zk;F1*@Io%>LUvwWl_o^;uE)f!XpDQJod>QCi12iy((Aw*8XEd+h?puf`(``dFn(TV zHz{gmXA>#v9G%nc)BV8T$=<%`kgKgX_DyrZ7a1cRqsT7bBlYa(cMS}wS`Kp6e3eps zSK=SICCk*aq@|*&$IfS2yB)QJY(@$`;-*Pv}&e>!Q_piExWZX(JNCMYOq zy72ppQyWuYTT(NzJ1G!fYeO9ejRvXCG+;D!SK}QBvIFWPs_mY>Usrqgu9WOP+dv&( zAnYW;CMnbUzvGYF`qQg(O{vJ&)+&!5-qspZlSH_j&lCHRh?-wuEFcI24SSqv*m&~% zX{X<1PN$p?76|#D85kHGu|Iv6$wsbOY`EP(54n0rCGAy_=7ELf{rEwAYS|l&PuOb{B6{EBcGivTuit0CMkvDqB zpx|^2BaXU<7``0|A7WkDk0B`UL=9^hEc>`E7BX+GuA@+!5ZG!m#P4y8q2wAD6s^Dw zWUlt)iW9&4VF*_)=E@Jd2*#O`_i?|1A-WxwbjoQpiU-bK9=W~u-fh(KGnp7Rhz&(< zSs*M$cSJ)TlH&%+ad~06qDy*RaK(7!QZK-Fp{L3m)B`MD^^0W-m+)^^1jNE&vCv{ z^rU@#_inZoCP5Le5)FPY)EJW0aQtD&|M;Mjzms)^{^hhJ zyrrzS>GG>R-kR3?-%mdKu zor<8flzRx?&6AA{l#1BQ{p0Mob943XM2A||J45J}VKi(~&&6K`D6xJlV7o`eSj zwVx~3WVlA-ypgVpvK>9Z;<(=qU&giOX%AUIG~d{KLmr-JpEvJ9986BvFu5AWS!jaA zo%2aGs}6cg%WF8xXInR)BQHNcdG*cg$s&VZt>T=_<(3=}9;g;%xDA1Ch3y;mUY_AulG7e>%;SuAP>9SsBI!D!QYWGzjbqG2pa{zFldRzwHAz*<4T&w zp1P(K*Y8NYM;VyPoc~EhU0GPnhM>*FcBGN+(e$b;%99j8(T!{H2-D$vV0-sJX?ey< zknkC5x0An`?`&3vu&(RU>k!vD`O|6phDkcd4F1|Sc^%hs$fU!m)YRM=e;y_Qh{sB?yX@2n4e!NI{j1Rw)exktwJaQ~I{yBBM9mWFj+ z>$=XpsFm)->eQZ54vj((Ta&WXUEvOn?ZQ(?5@Dl9A%bq#C+ z@$4NLA^*Gh?!jH+H!X2~-s{IkY2@^!n&^+Vcj@>KM>Nkb>yrwIy7ucmC;@N-Zk@~< zfPC)udB1?T&H6S~ESode8T~xO;=|vy;W6n(q}@9O3IFg~j@FvW4@*Gf)e!KarpNPe zMMo^)q4SFND7yqk(~M#I*tO`St8udL)w8EgSvi+Kz>+#1QXd!|HdBdhji+1W+`(Jp zySxap!*Ixw3^-zild)==;DJz!3ZpwM@hrx?<+7k5JlZ_5RG0IGx;iuDVlcH}OHVjC zFE6jmTBz#XVynWST?mytSj=Nc1$Kml+0#Dmmkklq&!>g53ZYpff>*| z^#VMO%*VcSw&>@42PRusVf*7AdF-=CZ_<}mmK8CMH@UN~;9tOADMW><)~mO4LpJ6p zpdJA?U@HDgtdWOW8{d4VUB30S2{RXlsbR`So5ne8C`OfVH=9rD;1R#@tFM@#Xl5c!hyP z7k|OMzTW;>6w;mhl0rFW#%q(8{Y!XcBw43b3a#W6nw?2X>bbO9EBOGuhEZ=0ryMX7 z?n{Nv0QdIfh}+3m-hHi#!akWbqDO5z*sb3|pm}jD&cMJx5>!?e20l1Ay!5$Hc)9<+ z;^3gUL*HH^H_rqIoHQ689?tYhE}-pmc!ufK$7!>(ws6%G#V*{)_uvZP;jE9kbvJYF zFT;t6i6tY{MJ#!9AB0v(S-EgcSz9ta5vif26*X!S(?rNW~+?>wHNrnEm4LU3hf0>Pfu%Zzllst zsbY5mBzH_NBzb@+f@4+b)xtc!>D=YryV~8OrD^azGGI7 zFSTMh&lBPsw0yb?J2m79^!Bp-;>jk=D&x~X{B3qvLoW#H3=D-_qtnw)RyBX z_p?GJDO<%Z+QjvC>iOBQNLp|Expc@H`UvbeKfH_4m|zs0_e#7)0o7R)r+UFUA>AW@ z{}@Qve1H{6EjM0L{MxpWxVN7LAeF*Bo%UEr+vl@%z@0b8gk3G3?XO)HYmPTZ^#n3W z?Xf=F&D!Zk%S`+6St;OEz-K70_#eSNSAb8z_B zoP#5GbqFKYT#RYdG5X$$)9A{3iU+dhVgh6lPNr2XfU@%P$br$#N9#@ZFdB-H-hY%= z5nwsn8cajkOCpYjRUe8z6{N7}_cKiSjgdo+h;QZ-MNV!kU|Mx{yQvD`wT6byo1{N2 zi2}WHXduz(Jq+;#Bw=cX2yDkn9*Npd-M3_@5>o{l*Mp4imS}-ZnCO$~yRO0jcr6A; z^kyd@JiOWW=2~p)1ki*8YC@MMW!hLIhf)ofJM{vo&6u9m@DQMKEZ_8gE4+!JlK=|e zvbyhY2@<~b7M5+9+3+v`1QjcKIV|Ba<|vx?MTzVDPMKM5!(`cHl^vNcHMsASftg z(+JUrM+Vzwv?%z05IC|l@ju;}F6iTu8`Wl< z4>IMx%QBZTmph-tYc{#%Kc6xQ{mn(awAFCs)85`4eNt8RC}e5dlw{0OR7q)NU}}o? zY;O#kv5K>=n(f>+p)XdhtxfBn7!b6ZwK~0O+pMY@g*hE3e4?YHQ?o;jpA@Gn0iy0v5=pLqGpg~r z8WU)$85tUB=XOS%x5}mZ*NWh$67F`&e=4}E=cah_wL1U=Q0{!2IL)h9_1g`ofU#r< zyw`E;U&mg!kYip$HGeO|xEBs>k?@OZn4&%ZWpO&=Y&o8;b=f}?ppv-!Q^C)-iovdS z_~{Q)fW+FX$o^!%IV}5N2;3{CSo`7JrF~O;WF+_bIU3nXuZGpdTAvuy6TH^a+P&yx zxdg;fidP`E&%*zq|p9#q$3>~;#u@@$*)~D)Qgq{i&|6`d=zTaHflx* zHrDq0S#)AFZ-@b6B4h>mzjL~@-%l?cfpDyO##s1>rv@`i4^txIOl0X6gw%hTE;) zCCCVERo6gVT-=3g&W|4XlOxi|@E92%2bqlKpt11DVY*~2<-L2lL(FvxpP)qbOWp!S z+pZhxcR1!r8L>!;&c9dVjqwp1z<_yOz7$ru4z~4Xegqg))>b{ z-8|Ti!wpkbXCoueU=V3TANfd8)nD^4@MRf)`0iKv2e;1uQdPQ2eb!4*SfR&Zc+z5hQ*=leY zHB0A09p2)A_aec>B+p2(Q~*auM<5w$Qh>i279AM;*=p;G1U(E#!-MhKkzYFRa+Gt? z5QFTMabMwzww~_~&J~^vBFEar6eKh_n1)dZYGXb4Oya;i*9Z^@K5f~rm>a+NQC2pv zc{1kvtHwiOc=n<9R+G0o1traedlPO%h&nusuZ_1+C-uI5`*C$m&;@R#ojlrV5Ne8x_y^v`vLO+RxVj~RY3FFMbdI??&s2U_qk9F>qS){R7ePpIlDTTb0mDw^+mK<5u0fK3$ zq@6x)Jv2KA+1~e!0_H{te2ZYVx-+N(;KUna0e|n$9#7-PV+jPSs;bUm&!Z-RsX&Ra z1z;{|XAqr`ZcB%ymW5>VVlde_Hhg&9skkiYwwklhj%!rHTT;vFxu&)_iLRfD{P1B^ zX6oBppP|J-ujAPOasUg!C)tf!&X^MGZM?y=f^!^vfKB$>)sRf35!=<5>?pPHqM{`R z7UtX07=^4tnfwIqg{4Ptmb4W*Rf+rn##J|jYPZZ_dYme+vM~#Zh<2Am&6eB0d-6+2 z_vXp25->al1Xg!0$Dww?@*g5+j45^BQ3Pm9h*7Px0CxlU!#=6&E*QJ?tckK|Z( zcD9GwvJ{BK@e%qXIP#%+doDS(-FnqZ3Klu}2K;<{5&I^sb-Fph(XOsfY_}+Um0m#6 z&;@k5ZWaL@24*}BF8dB)0TjgDk_i8WSzOz(3Poz_s#=M`VG)s{k)?gmS*9hWit4iPwj6?7AI<#KrW{X^J~1u;mkTT3?!$bp_QUXSy>1lK$!E1?{BUk z900u3E(024<3q8`zf@!1dy8w4-PG1a!{)ab;?@l(s_Dj<|5dGjd}3VTc{RIJzia=* zT?fnfk1%>fNpS&_3EP*9=<(R9YIB*4f9#|Co7sE+_1tGQU+X@TEAh0-N)0Y9DQ}-D z2DvmMP=pe6tfgtatD;yL`}9XuktziraukkRdsI}l>~3X#4x3%7xUPr`V*x7AxklY1 zCvR6*la6L#Cg^=2W2Oi+9`1-97#t*{7x(%Kjv%zORTs}}8+}Uk z?GyDwlvjI_xuppBL}BtFBg-iD?B|M^1fx9$Z%6@XMp>c&HlabFmZzrljUd7NY0*t zO_E-kv|Riuz5M;pX+Cc7ww&@!l*3`@!) zqz;P|@KW8=J#8jmQ%h^p0Q+wdF*pJr&CDO|AllVTtz~;tWKr)4S=iax+n?IaI?9-w z7;y0NR(?0x94%ZNA?7xJugX}GkES|Xy`}leBrql{l8;`+qKVYiikao*qYmeH|0d~Q zkj4p^1Wft%N((wIwKdJS`Q@BurM_EO@)?BFFib#U&yUV6;?ZPst{lkN{77N~*b zn!PDuo`nIXd`L;fo+z!PWGx{zmh8ro-)B zAB$C^TUUb(o`=94tZrr~TK3nyRWM;vdVpD6$6~R1V^J}YTYZ8me=Du&{Tojvly@3W z4dX3SHj^xCkIFhT(MPJ^T6`8S$?sx)Wb3M!?0e^z)!x+JDfFrN3=*aoi2J;NscmBD zcFk3GHOmqn8oeCjQu$lHF5{0W`#V^ibclTw`~GBM;qCb@3hB`AJ<7RH_&h~QNAkeuk&JTV+NV zTzG?GEMMU3MyNV{-)@nJ$jHTw&vz1J3{-`*iaGc3O)V@s$+h&E;^X7@HRk$t_?!0L zD~Movp?L77m4>%G+xoUrdBlDk2{`-xt9T^Z};mQ^2+^$P^&^ zTn z4{@kXDpqymBo33YC%Z(rHhY~f$7Yq657znhGl57xtAI^dgX4wW2JU}dNJcL_vF)); zOp6^+ndjmyXBdR;w9>=)`AyIEc4myD)uJ5cdpbQD`-q52P~OjD+BG6EaZ}m*jf3gY zTEFVR?-m4Eiswpv$>9J5jYrkcmKW5LR=2ZC?|EZ;9QLD?d0GBUEBf1?<`(A8=fOIw zZhF6j`2cb0J<_I3+%6cT&4Y?R3|fpCId4}+gon@D)W5MQC@Fbi->}ZsuX4|hyY77U z!gbSjlLCRJ7T85l~^loDSh4af1tDI!E3*42AP?-&f=9sFOloY;L zL$BOb8bLNepJeVGVpaJt=eu}0&>8x^8oR{9fxBxcBeS?+rG)!!ZEaC1i9PF9yBt#_ zJ^kl{HlzS-@nT)iqlt=&XKIT3p@X-?gR1{^`XRW^Em@y26+-DPus};rJ z{7x^35B-rVPV(0dERgr58GV4L0LOHN@zb;-{Epk0tK9kr{g#)PA3D20vpSL0#K?Zs zrEC$>p>+;ZcTJK3NCdRtwaou(yH^jNQP0t(yK-RYU(ZQJuY;RThcq3S;n=-3+5PMG zPgI#%r|C?C=VZ>e;_J@{5QG6f-wkU1+q;6%&3`q;S98XDw{cAE_T261`!5)LbF_Y| zr_*|^rDM{@$b5yrcR$%ZN1@M}y))%H4JLNeh`wQ)IiK(Rg-AavqM02*tvJc9#)LN< zm}K6oE>NQAj@DdEs(p%U3zbEi>!=aKSjK%5s!mztKCw>i+b29Zj@M1Z!Te}MXat}A zGmi~-$7}mmMeqp56T(8mh!qBkY$LhZMZ9nDT?oosr`%jcyNA*Vs{Jkw9aLnhh82iJCh?ijgV!BTU#@& zV;6@JtjbFc5JZ0AbcPXT@;^Xm{%&2j_P3w zFd>PB8>M(DWviv~m0R?NY+f;{adB{jIV6DKu}w#;p8J0&m&Ywq?oQ9bvtQ}!^C-k~ zBaLL1?@hlN*36ojiXamnv_Z(5FWfU#8+8bL3-O=c6Zx7dDOLsczSLh6)5|S@Q2G({Z zN@}G*kmnDG{hKg~Vg&!=rO~ZT@pY2FQ;_E_v6~bc$79&yW}1=@|m1|x2%t3Q;9%yAwif>JFQFKqx2eHChBh+8`iah zQlb&plz$GB{_QS}$s@j=$Xk*=?p2uA(%thAPkLX$dqf>MDv2u%E>hvo_ezX57uHDalSr-JU@Z_0a>(59YJ=iXV2LLd5nA`^qNYOT%|vs`#^k4GU)XB zb}yhW0tqg4&c9wo^}sp?c+I=TB-ZVn5nBhlI^DD%KiWLUCzT=IC#$k39Yc?K90*O8 z2xferKpwY^2~QWV-Xj_Fco-;6w_2(Fvp=klV- zWaVmV|BWUz4hCn{iW%-AM!eyixvV8l%SyHDEi@SuWK5N&_j&(+7N3+v+uE%Mw!D&< zRbMaZuPZL{9EeHVV$k<4tf;K~lskDuj=9iT7_WmWP4eI7I-WQy-HGgVcWGJAagN?W zv*1uN2HHLjw{l=;cuqn6^;pQ6v(Jf>hhrS^Ny-}0bL=nTQ$T1II0 z(paQjA13dOHCF$>1W?-bzt66l**fd~YYufEhh7LD8c6TO(NZox#pZuHCL* zxEWt1j^EmYzfvQlQ=i~{b4#cX1R@k1%Nf>PqTkr58yRWmHjkV zY@7xl$L~1*fC0775D^_sUMKLeu-Vns6_d=-#?23-ttuKc!pw>lM;j|FVz4Le#yCGy z^?%0lUnuIN+NsAK#=VPHAWnA%-oJEpckjgDd5_fM?e`GEl@Hflbo&WPfQ-7FA#(pF zjEBkM;j2G-b^dF=wKLu#rF{m#*ORnUy+`Og4Czh~;TuuXxZXBDyfDC?T)gPN?u+jJ zn2pBAayEh(G}+tZpDj?rIO5~4*2#9|*O)08{MMMzSo^L)!|}QaFc=QJ;=aEJ>ihSc zvIlos{UGYfLiWTe%bC-ai?O2INKH;&a_5LZPVHgax z?JzJlc7LO^&+~fCk?64;IW$ZDwYyc z75^#*yG34JUVl9_LwPc35VEO|mY>hP=Q&hVDJ*t6DCb942(@>tw(S3JRYO~wBd|Mu zkp+k`|FyNX{hB7*?<8cV+c9}Ff~an>si2&GL^|!yMGRcAF zt2Bqbk3vhZRT&1~oZ!@n^YS{iCN+mV-(9rx``5jalQAqhniW%W)|DbXsl)WZyeqCR z$ZN4BxNL~UOr%Y>%=F8eH7;hm!wP_hGai-oIqZk8$Yy7f3rwDy>a#U%Ghsb|&ZP$; z4o;aB_%4++SDyBBqfPE_ACcl`u@#lo@x|d-JuAF_clg;;f3#wbuj-W%w3`rK6+s)x z_V#vspC8my#k!SBnu)P~25&_7^YaUd8jLX2wrO%tCU4f`ZAx`a*(& znL>i9TwK|R`EIcuiQ#S0$aEPMfFmIsAQYcM-_FBRAgXZGxK*6dXyAhHpsZZ(l3?Kc zuMKtB6_ALC=wOA$L7bniP)5mdsV%&0(!Rdk<8YuDJ#}Z%dpx|nuDlQX?2$V^M6eof zT~w}Ansri)m%RC~rs0Q}7#fPYItxN;fmfQ0om-t~ZDeeC9x<&pAfk|$mB;lsND`g{ zO2Try<*h91als{ks@dECG@_jTAA4^d7v=Wuf6o9WDoTie0!pcrw19Ls(v37jHxfhW z1_cBJq`L*A8w6AoknR*vx{+@9twG(}!Tp@`&-uNc=lP!b=zF-k*1A?)_qx{t)u}?Y zM|rkRBtLVUU;*Cc)GsERk30IFoWgVtEjL(aClH~;+z2GO#!vy-AjybYdqcE`~Q1LI*mo06W+=~+{!T+!$| z767lL+oonaq$$*(XEOntEqTr@qtMb84PKJ9M3$=iHQ2_OGMls2HNQt^zzG(9*ne( z4|J%b3kMLIGpY(au<)5X(WCx3V}vhaYsZDh@eSnrNPoGd!A#z_R&SmPQ~FcL9g*_J zD0T_>`X+uC1J@(dKKQ~dudtvXHM8Kuz+zv08tgpM=6S-rY`a9w`r`A-<8W$wM&< zZdekY%a?N_m4h;|Mh<;cNAb~C)6O77cosTM9A;3E_&PT7Ymzx%pFp}*w>w*jv+Y-2 z8_K?{Z|(h6x0F7ht4+9a+lCC;{`mGnZ=P~I_=ux_CHGY|4b;dr{gNl6C;#*GmtWo(wbtQT>1g6F!;2CR zrITebBs+%!zH(6>hjF@+X<8L<`WhT(Y`9|B6wMGyN-FJNs7+gdkU;X6eLd2aBwC## zu}AtH0aN?buvy9R8s#+j&*okR0S~cg;tO~@-I^;r9Ir7Ybe8qKv$&ZLrx@C5iI&=A z$1>+V6+$?DU$xk*6!2ndXBAS+JKayg{i2Ls|AX@LOE$ zi4&1cAyR2x&V46iZ+MW6O180yo|0hVx`?T6%8HB0vbC&8Y|7g9id}EN9POr;jU~}s zNZ=&4Iv#8$g67WpU|7ahy$)Tt#GskBRO#p2IAy2M2s%d$ygYfyc{-dS8Fc!qk{_@J zi-}|>a}ur0vWQnjIhxE%q_jlS;zcLb*d%|p=={p(nVlVwiFqAl#9nQ|d=oyXCk)A! zXA7z0i12bWK5@8-(FH=XmW`|yUvRPsT3QI)4Y%ku=URcfbnAF|-l8?hq}EYi^wYcS z2=@{Nw$;229{otRJQZE-tnd(Beji>k~BuOShknf~dLf+K3cFt~0^34wjh}(UEg# zZi-P9-`?az8%)S6)b|%5;mn3|=ul#DM@PfTP`j0ZZeNanW6gBDsM0Id2WyO^6rR{~ zS~=FIl9rhnbP_O|@izC8>$^dsztep8gmTQM;ch3~``*Vtgx8T$VFc{m7f`;d`@2vN zimWJvBjU$jXJf5X=QZraGMK;i;10ymBZ#CF#NhB>Z=vt9duoHy3|Lh>9%B8@?;;rig0<+F@X2s3<6Hsjb>jEzTV7a5RQCQCTIjU< zh-G?kVVh1(#9tGgf_T3h;{fq2BJos@;VQ|~Qs9fAt4GtI3l<}@Z5>sQ5j7nl)Wi^Z z#V5AxPgLQltu%yARWJ6?C>RRDf}$hHN(hG=riDw(NJ&dgwf6PCxl&CK;xrUb z6}qh0A|6T)^B5xTNwv628>kIJKUiLfNLVbRrQqjhx+{m4%_NeJ693O!C{JbcwY(x} zds|$Q`0pf0LwGvW4;n%SVSA6GLjB!2{hq0Gbsb~=VgwdKXvEjAAj=!mmFQg2$<2^a zL&J<>|9D7kFARnRXlKr2do5@90gLw3Zf2?>YLmyg}t-6(NfUGTPaHl7x+rx#I7o`AFLW7$kNiT+9k-XR8yQrr!kNM0;zs#}rY-Q;v8-s@S4-#||J z9{Rck%7fe;a%6edjhHPJ?PAnIbznXPRF+T=w_Z`j+KUsjs1IbQSSVUK6wktWyn&7U ze^)N^jtOOp!EWDUqtD}`9wg8f@M8PT%l-XhO^S&fYTJ)xmtCTQ8)NMaFJyc$=;JuJ z3|vE;!LX0~Fpw+f`SA4x1wk`LAG)61vgpSL#Mzn$dn=gp=OV1OQotK6*hpAId%FKs zzDnTdRee^0x2TaDK%m)chqWri%1EF&Vbm9@fYh7JbjMD)#|H+vXE=!AZ|##pt1y@1 zWKsZ=xcv}pGei%3en({CS7ZHyhFz@8CCBH$qN7AfO{pMw%a4JY6)%zjj(mGOZMGH< zmRhO~d6UtSxk&?8i7q%f34|^93u1ZuI9!n4o1*3W5l`M};S=rqv4t~x3cn)7YTp%`h0Z3z*IrO&+w_t}hX)EPwI@%)Q4b1AWXk2c{&?>W8~?7-pSWjG zRYAOXr*yY5?k%fbNT3%kZ(fS4ef9ziE97a(?Fk?t*P|GynYAE%2wNGv`*mB>h`896wsOo~a9nTbUJFpj$hxa;xs`Rigdv>P zzT5J4wnan+ZuD~;v@2f*R$`&3g-1;Ps;{<+tZ7GTKX@EbaDZ)^ke`a`DRTTLefjU@ z$U#fT-sV6Qi322|tIWMJE?t{tzZ+@{#Cp!&{&BR!c<@|Qv*CZEX6dQ8nmBHcNmJ#$ z+HEqjFB$QnylhLpeA%u&TJ?*>v_S-U)ydyXJxQ#~B7u_W!!}!c!S8iZkyFwakRCL; zm2MT1wMCq?Rh3)e4wd@z7|gI==GVUCAwAwpzMeH%S(xjR3}_V&0z<4O0ttgP+DKi^ zCI-Q$PrJ!%Kw&C(-GkOmGs#{*IUgQ)?=WYYd6D5UIWcBtDHFqvWv$ar1da$EdLBOM zw#h=9>qT2VmCs3WAhs9igdl?mzxi;LG+_+-+t zT1SOiQA!`VZiLpYVkIN^NFZl*>(G+XJ&4i zZnr69NRglUD(@VrVw*jdo+VMef$SGqt9>a*aBuUVV3Bw9g{GHvnZCeJ)2r3(WQ3jC zC%)m{73S|YUgOn0R2gG^pJ~r7XP!b^ks7D495zCed_PUz<98+g@Fllb1wJQJ&ynAe zK>UW1^zpm0Hu!vRVd;o6$>#vZ2kPtZfBoD#IC*=nsR<=S?&5UegASy58L`4p1iXs* zunpIaadS*sdsVEo0+?UyUF zE4C$$|Eq&8&>RK95|&$wpq#4Oasm%Qgfdtd?f4<{I?_rv!ug>=VoiKo8A2mbW&s&D z16Q9s{xlZhH_Ri4fgH+xo#qK*7#I+&e8kfH#&qFG)JmZfrL}H@8+71Cm-Gl{?WSw~ z-AU5Fh*T40bK4x2GVcWPMYYd;LeH(ZvU1`~$s85Gru^26uDC>x(a z5U5b5RoX-Ek=gecfV;G9ixab7={pGGG%nr1` z8&!73)@D`x8=qEs)2ZK0a$2$zik}>^^A-qU9d1Y$BP!|@iysa_s*lWkAFB!*rSid! zfQ|yx8k5<71!(2E+aKq$l1Z4bzeOP~-n702TK%RTg{fxqEl}Ji&=h3AuPY#XA{nZ! zHbpqgYzsdnb~ZA2#fm(xAzfeWTn~-u68Y6YN^0#OS}{$Wk~4>7GqwDJM?}ZKI)HjU$;*ZP?CnaZl-+nDmFx6+W-ru1Q#P&wWfp!Pgh*reLt*; z7X-v^c+FXUe{ZGzTBS_(O6wrT+ZPN2=rs355#N3)6KQOGJTd+5rJx*+#|&hMK$N16 zEM54QkxF-B^10ko;vJILX-Lm}52z)wKHH~J>c?m8q9vSG)jXquX zm&ZTC^{#8O9qB2y4)xWh+g_cVrgf~4s4D;1J>7B?1o8*u%mP$xw`>G5)YheOZTqD~ z`dXSThWq-fg##bOk$qU=z+IZA)|>^SuhAMQ*@lb%Q3nrT@u}~&{*1UT3^-WHy|X7EK)r{_9O1s+ zDNQ*rENY}qPgD;eV2ArQH-JIg3cH&DKQbV?V1h?(yB%Ex^@0=7db6Ac}t?r zJd*lwh~=X97W(5MicA{d^jC|rFNfGvXb7-d2!5*6jR^2tYyZX$plC0zZ}COxCHto* z-ADV$x|7|xw+%-Es;a8496B%y3Bjfb-dssL3tB{U08^p`ZC9U@kgfhS@RgparvZFS zY-GWd39_=#T#9_{5~C4MCwj!r1$Odr9z)2cNUn_v{pWkTr*6MT!q`qNC^NF%O4KD` zQGX_B=u%&)vKy9x=1yb0TZ z+Ugk2+3}5~2IttgbP+DKIx&S@B9JO3>Vc3hF_1pV`;Ob574kF^2rw1gz(IFS+Bsj1 zLrL1@=?XGtzU(FH7OcnWwtiV2ink{JgKeDtv&uz;cbQ>tpk;dpzYb|}RU=@NU+smc zte!ym>PsGsP2=UKCRLAC5$rL$Jo14jqfUjf(rTot+ z6i#FV2z+_J-gRVdW6mygV+|j~$SuDWGesAi{*tnM+Y?g$@h&NN?CT|<2|~;Q)8#r? z!+D_+bVt8{GrRe|q4h^oQx{_XIiL)nh=zt%QTUh!1IvFk8W;o-k_(xh7G$bAnG9I1 zs5X!?IgD)<9mYDS@$mDg=Z>cMbEtN0iA?uK_+e;GS<;cBgfC3R zVNxYI^{i2YOfn>ZSh3T zb0mSwTMT95Ujv`!XI#M{UUrPu_YZ97{TOoS;8}lGGh0S#8E{JxceiNhb}zOP-Tqee znwkk>zjn^BAXFxGK`QbxZ)3BHY%U5`!ju~sr*#Km?_ra@cxiO?8}MzG-hI%>4`lwH z9{V((grttVzOId&jf_j{YuVGB{X~0o<2nm#%-4dk+G#zns0zT>fnq!`_CIKLT=hwL z82zL$ce|R?rS3O_7pcn_R{3_`;7=_W(?I;TNm8>JFp1U$ps+~$y}viNsBu}RqYZtCVMRd^T zCs|&N*>AO(goB|09#s8%L_kA7H&pv~XmD1sKxw3OJm&i%@0J5$Iy30QzYRibH@#Dx zWVL+ayb4v#PUIoAA3nfQ1Y&=GGdW|~d|FUWQ~eAF6H^Mll@`INUS>SmlnzZzUWtZ{ zeEa|x&xYP%>F=ZygLMiHErL3n4c*jxA7<^S+P#n7#@7dQ(HWXGp;8|IP3FMf1!id= zIQ;3VL1;5Y5W?kGF+gh(kW!6lh;Kyjek1Ha@Ni}uLVoH~y>jzLiuEwk_;nJm6O&$I^*23I?Z~)lB zGU(?5)Qtr8#^6bR>`Nx>v*FN1@MiO%rB1ZA{Ut~knzkh+75Yb0^1J;ZDqe?g$<3Xf zuzMHnB%25SGVtiQM2KhAi*45_$uO4Om~h2LSzEATl=`4ty0A@L>kY`X@99+|41ROM zZ5LW5KN)zO=+wX&lWE#p*p;Dh-`SjT_Wab@q|rD@(v)bn&<-g5XkO@U(uv3)BPWigOlT9-?E+d9XU0hC|S2Wn2g3r};Vf76*^`Qc2FGaB#JFgw%+Rp4><< zf7C~3SHHHSH`O?G@uy7iyE^RukJwu0gkLoQ>oV!zFB@x zP*6UaHr{1iLc;t(Vp}1%)9?LO_O=mUO{(ywWzvEU`*k?+*;Z z<>|AvEzV(^OZTNxQqrU7+kFjOjzW^sj9Zmab#^rbFKCgg=;-mFh8<4N^Cl`07gf9)d7798}TwL?26Ez9E!U^mOgx4O1>pnyv|` zb6M9DycX=RQ(mogpeovy|AcCC7)WvV+O-ZmC->0w2ww}Uv#b!NyL~2q=wg>hOZO4U z2?Hy-`qRRpFR!+Qy3zr|MS^jW0(`_Ye^?k1AC1A;!sa@N6h!FfE{(9QV6K_=uZYBs zdxzturxew5r$l^XnxYa2S+-ow*pWaP=$=WMDc5otK9{d{ElJc>Ii_)jz05@E-V8GX zSx?auQ@Z&LVBa5>ah3cx1N-E?tclwcUt2~G3}vk}3I~@&WNqjUm&}HThK@AISeBHA zYZoQHDqn%-KFtL&LiAo}q6dAW#~I0T$2n!z66Xq%i~Nm|k!&vFTBgh|CA?_~LU%`| z8O&nr%$JHc8p#+lInb=2Rs^Sp@29b1uzzts>}5TlWuF-=r&dN5gvfiMd-^b@I5?AJ zvFplI{pNSi#2-JfCf!)r>7o$Cn3B}<)}>~#S#4!l_9>0uvZ3c{xV^0uih7Ukw4=Pd z0JAmpO%!R{pl?9*@aQMg8?yKt^(-%**~M12T=5cPTbwOjhw9g4^=u56KqH;sNLd6N zg}Nlq>d3moz}Gte6)nF~VHiKbN)sWkAr8iM$nu9iT3Sj{G=?pd-rD(xK>Rlz$wjM; z*;=g5DF-DVE5fHUJmy=2CyJQ=4EnPlHgzmMz-umIE+Y4Uh0%Oq(w-~P*nK>{-@$F8Xm7Qn_G^Jl1 zt$hVw?`q3g?$(}se7G$iF08?O8N-ubd?=5lV8GPP?d)b;X|-`x(d0nBPDsawj4gpF z9^8F{pxeB7*YDXE;!UUTpuS>uyd~&cZM0HWL z2F*?oHg6bU(BYC4BHkX#J(7z?qU$q7kL29Lh}#Lkua%oen%HfaMR3Q-M>t5sgN55*s)9q@|?9#l(<T~G*r z-D$RgR@7r#Vs8iLDw^qcLpHD-HkOUgdO@XH;A&UlUBHc-Cn~Cqq{+{Ztr6Wx@+cnu z^6?!KN1{)&Klzs8k&Pzo7$h-W03+R2v1evGpe1NVuLZ*K2rVXQ%MX;mtesjRXUncHjy z1;>JF8-*U`U$ zB;i)33~GW&MAc+>S6+pFt)b(5;eLaD4~ zA3rpW(KN4N6=a-JSoVqtrcp{#Lk-l|Q9e1X%EmP|Sl5Pq+vnVgr)uU3dPjg+C8NS5nJY1DdXA5YQQ8m1BW^%0vY5=qnAl zrSKcxbNvb#hQjbn_mAu~*XA}C*D-{I#8CWw(t5tw$(gd+FA52j!v)3b4V*-&76ia- zeg*Cr=>x^TO^+J$X-7MUGB%7l@9rEitr#M1c${kXD|XUy33I6pJE~I!%HY};Bl1G* z?g?xYN%e3c6@J6Z@lj}2&xGP_wR~a-E=7#w5Vm?Y3DYH5w9bimWmj#r%^!zuOqON4 zNS&90Lq=ifWY9^jmP<)2j(uj>>A=KaV+`yzb5F^ms*aknR)n7Ik*ks|P>A}-baFq; z3H9m8Xz@WYYCEETW6Wo}Kzh|jXTBe8uMF`*2{@$7LH zUlqHI;Sy7VfNxcN*L%f&?7Y?zS&*2(&9_T3XdGP7eY1YKIe~A^Q?I#XFluJBV4Qe; zHYXL2@MkjJ)FOA4?znR^&yv9KK7P-|`jfPFt)~oIEgw3cq0f+QkUW9B35EZV_|TCh z?>dV^*E}Ci)*ez!P*z>-q3C00W?K}0jYUDl$6p1H z!PN!KjP*hc#x=}tFbcs%OSIWxbk&a~7RtL5?dY?)rGTOZKTXr2T1dX{oZ!qHN z@VR2rGlc)?{{0(VCj3wHz}!4#KEtGz2rI?Ws-w+lJ^Z2DdPKJ9rD<$_-y&$p^@YBJ zdY_8cr~P3zP9d|j{<~wn;`A=FQh3+GH5{j`wsl}as{SqAr8ij=cw0k?PpYJ}Kl^oB z@}Hj#63#MHtwlj@VLg>YKnG9}O%^fzX||2x3dQC}*OO+_!@|l+LS-5e%`$SG>lH7t zNqWOc-_mQUH!qGd!kr4VA>1)i=_-QQRPa(CF6WeZ%wdpYJGbjmg{bhah?~sxqaWgI zO;oLiBYB$mm@c|}7*k+}9O`?V{8*bB@Uo-BVy6nVwxfA)Ag1lb1BN_>YEwgUz~57s zyK_`wLYv%MDr0R!E(j%*h>&qug(p??h0`hcEp)p} zomI0V!>5TdtO-s?{fTuP*3#%Q>=Ae@#hrcVJZ8c%Th;^bgvU5a#Q*r%VK*y-m-ebt zTf1y46nr`am}F@NI9kq>7Z*bKjBj>M@Sh z^Fb3^8SE^N&<_)Kd%qWpfV1TpFeYNmsA7`O@RJ+0AXqp2uJETdL`X4*RHl7O4}@25 z*CTSctIx_bIr>qzMV`!y0Nzos=l>p5j`&vx<|csuy5M<^e1%23*!4%R$SZIgrb|#G z-79_v>JoX~bU~N>?0RcCyhG6q*7YQk;;2f?6S>Dh@{F{DR{Oa zu8KxVLItrm>OP)rqWz+XdRPCJc1>a9SxrC}$dy%BNP@O#+p{_5cF6}*4b<4{$Der8 zd#gDZ82uxs$&e8`k0t0+{Aq}a>^c&uW$_2vi^_K6E<{|dj=pt=QrBT^O=PQ~g37LE zO3Uudu%?3{o9Hq@lHk6QWg1+=$3L^`D>jBjct_X|R)1IV9IE>e20K6PSS#5M-w@OI zzj!orrL=1egrqW&!fPo{vPp8KlxsKO{kH1dEni?IDL1sJo?U*Hp;S7qzva{fKJ+~n zfn~2~Rph4l9RTy^Bafq;?htbv<-n2RyQ71Nro1hisjk7QOvK0Sh+VAWRhBVeO)K2Ldix6Pv3uR_t}Xwq4XHR{pJ zEdk?`W~PwzmL0~V;I|JLH&rMh>!G~2f!N}Z>p?NYZW47PYY29$ai6Cn2O3c+rvTMn zoioE+2TJKYplteo>adUa$nW~mrJWW^+XV17FFpt1lPp&1QDhzN(KNv&G2w-r2+?1p z*;&)1IK#_=kwQ~Q?cHHWkuFA}6JQmg502BjR87rNoK71_TRtVX+H6fyrB_?3xzOM0 z8O{Au41=Mi>ubi*RS30FKH3@@K&Z$&H}R{Ge#R-OiB+@HUXd)?okH+yiv^l6VhDmi(t-9>rh9O-R- zDE>zWMm+&e;FbaZj1u0Bcy1EJ-p{G7kZZ(Y?KB+HqE6;ZYj!P^eXYc*hVq=FZuq3< zYpIGandGaBV5JsTbhNH}+Ie5LNZSxcO8_z!lWFkE`*9U1w&y?&Lyl+mqzo@Mg5X+* z&llk)RddaP$OdMXS6SM=q3v2zRHm#C?N`%*$P=A}k1~zIbd22EYg0v4aiK1CHFmkC|k|Qsn2;s2k#sd=}B9oI9+*I1H zQ%l1q*1?{${JfpG7x2xau-XsW2ucX@Le^pQVyAxN};stU80M!8~q+p0CO1e$>U~m5+{wUZW6caoNb5E4>ur$ji@x zEZQVcsp_O+w39o7<2L1*b{_(^`5E@j^$tg?%cQy4PAg$Y4XT4|RgO+$xC zHwur1;U;|rLDKxDEn$%@Dby5;HT7jYC#va&*?~2A;g#dOH%*x|%{1$;xJSV4pV#Ea zvR@xwfx0B(D7%_35YmlHZLLkUiAj-iJjKEGGWeZX`D=P!T7IcBdN0cSv}LX3e?hq+ zev7gq&zIAcvP3~mG$3d6p;gwS?QVr0yLd$lGBM(a@w)#iJ&Vg1Qg2qv`ZYXdfGFa8 z&`bWF;jN+mZBzITabYp>cHQ3Rn#{@^SyMILG9~}da%tT{>cpid+jR7VzT3TM(J|&v zr`d6Cn40@<$2B^?PCov&VrS$aUoQHZx*`8b3Wy@HARsK&>bA9Na@9s<^%gDEfH^;B zX1VykPTthdHe=RA@dy(a3Gkz9w~FJxZCJU}PF=bC5+Z|leYrdbnP(`xwf}WM*3GsX*aAUy*a_aQf_w5Jhr?zB)(NdwA@pr9IHnIayB;lDXTvIg88oH(PTU z1|p2s5Wy4JftOF_a9G%*==RQ7T$M;?B2;tl<0M`%CHbR-P+VTB2$bag-$c+Be`2>U%1< z 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

)vYtH-M+ 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

XuNSpnL;D}Rl4?Irg{0b_q5VPc zORD`qdY!D-`=R0&xkA#LB<&<=l%)4ankDHQk}i`}`&YDIM*AyH$h(sDb{k1=l{8LL z?H|*AHDi4)srCmfl=Psa+F$jrq!HrZ>nf@C_l=S?N7Ct%R!F*3(yfvnko2UaXC-x1 z%Y2ixqojI&POtm*zD+-Q*ZZV;|K2V6Pf5B~(*2TZ|Ip2n_LFpqqzff|R?-!cYJZT9 z>(Kr}?N{n3dN4uKyCuC>Qtii@Cg}o6mq@x%Qms$FlJuCQL&YA}>i})vYr9?Bke&qYkRA&qyr?)k~CLRZKr7aL)$ajPS@)Vy-rys=>|#l`r@#pdi|i+1;L_^TLHr% zJl;sE?GtU+47k8J1|1i8zJEGCQ2*0$f;xV%qMmYeJYw|))}#Nms0UxiHD2gHdpzX- z8V6Z)p8C4~b7B2lBJopO&r@E_zZY2E1=hPj;%ZKwr`~G8%RJ9G6{!pB|8^4ZvHCpa z4QOy-r@#YQqN1L|v!ZU3jf@mnDE4!i!`_3yj%!sx4(dY7E1ykX%NR$jiWC(oRx zyqXplR$is8-mMKe)p3Fs+3+Vf|y@b>k<+inm!S`R!%;IZ|VLNl}e$Vr(;vy=`bC6)oDx`c#UjM~k#k$`V?%DAK0qX-_EH zzjJ0YbC~gd-|zdq&-ebm&U6~r{lEA7y03Fz*SY7u_?6GX@qF;Q#_{C@8$ZXwrTE}2 zje_~3lZDIh!Lcm+tOOrij)g1o!Sz@;nh$PpRWN_5UK5-@+ion*2WQ)nMfl)syRIZ3 zoNafO<%2(+pnk(FT#XMd-y|5H#lq=)@N+C&l@D$_LHkCU1oNj^GZV+~!Dq7Y*?jN< z7Oubtw`A>mkmiHWW8tEF@GKTC#0THjBA7q+O@RL~LHWm6IF=92-jBnN|4vSTpJ(A+ zeDFNhdm5yS;MBiWF#n!z72N*LR>9-WryJTb!Gzma))64X_=sZ9!`+|iwW|7 z+aY-VRNWNJKc2S)mmhFTu>9D>!j1Ugr&+iKA6(?NVEt?QZNc@Qaa*u_0a>^SA3XH7 zVEJ+2Hm`oimP7344W9MQejmzyzseqO_WK=CMEFEBd%emoM~qKA_U~%h=Nkm^Nyi>v zb~zl1Vvh_e0)^`M=Ja#&E{n_QP%hf}~V~49CaL(`NS>NpOp+%EO zR6GF$#eE_u$*kkk#hIZdP-q;AmzRu<@$55ax!u^X95ls{W5e-mZ#&{tN-`-PPl*+W zbELv9W1wA*?R=c<+}+vHgQKJIE24vG5qQo?vUopN2XF55p?Cu91!!!s z{)}Q71>)h8E1|@^erB?nMW&&!HZL*pH6pV@GCvA4lMF zto*!K_Q8k=elLT}FOwC2ChMFW_IxV&dwjde@9X#V`}%$TzJ6c7uiw}IwM%v?jv5rC z=iu|-`cPH8?Z<@L1wvuoPC;|+e7HaMK{$IKJE|yEg$f2KGD3Wr0isJCyq&4GP_P_N zu(#d6@Ui!{3sSJ7;=JJ`c=!%7}{{9XB=> zyQcM=niiKEjg96TOp8L%pWNnORfgXedi`i)|s<0193cm$Nh7)lg9lhdYp3>=3UB_bh}O5(&R*9pS0 zp%_}Y4=EOENag^mQ-L598)SQt8l@SIrgG(>vORoYhc!?L$vK)55**EN-vKd^L@p2L zlMoyl#ll_=a<_{}gCSyQL=-VRF*qKof+!puMy63=FB(MH)fq7kE<2o*K%piO;q&hi zB#{yuoyw>lH6b`YoXJ}7Ve3$fa&5y>qr;$55<`d~uoumE?%v5&7&GFG6P;1?+@P`i zGJ3Q#gpb2dPHZ437BT=lcZr!bd2ucgL74W#J=nG9BN<7q)9G5yUm=4fchPpTq zQy|#!_R$mmFruL^`Ns@HMD0gJWr`FC7~uf4(FPEiZf6+djOO5Q<`4r=m<*6P3Z%xu zJqo*zfQJ|n4!fFxN0t-J_B+FvxpMz1o+L})(4 zT?rHMBu#qGRSfaB$GKFEuk+)C-DUOBrv8K`vQn4VHBDe69H8f zb{#|_Mvxd@XH5AB21~|IUWDr3Be#0|uU_>k$%-e?S~wZ^3Sd5{yAQCsFN&A>2zXf? zmdypo&Y=MGslnF7?otJY+PEO7M;E%>W)<4CSvU=5kY&D>G8RLkPQJfRj zh*l?-0?JP?RX{-KGwe|@cf5QDkdM~J$$Uf0ox;46i1+gHvU(-l3)OHtRO}Eig4v1z zK|BcJWKN**jKD{jRd|`>;^|O$7O)8lC`C7kP;EgkumW8t8U_C$kCVs2^;A+)l9fFR z7_|X;z%k$k0M{IclV!AFrpiWOJ$i0j5m1Ud0N5HNdYKo9eE>j^>Xn6Nc8xp^^|e%sv9 zE{o=+br7@*nm7L-1f770pN*i45%EtV@D>FA7n--epAobyhCy@qLl;5YAm~L1ItD?n z#_*P3gyAjkG$MX8g6>Ap?-1$XoVjTQA>R1v2wDq4n<8ir1icJFhazY)f=)uvnFxA2 zqP}Ga`aFWZhoA=$w6HKQt%{(hBWODW?T?_z2s#--XCvr+2>K9$zKEcoB4}YOFRhHA zK?H4&pnVW@D1xS8dHa7Qf?kK9vk~-m1ic?Ymm=t+2pSfu@Lme|>?HV|H@vTG7K*w5 z6Lv@e%TIVOv@P5==yrncdC={QV!rcsh3@&#?FQZMD5iXc-#5eix8Xfl@cV0cuQ1yy5;rF`ebW6@(`xYoD4eEHI{^nEPVjy$92wTOYd3 zpxYe9d>`+CV!n^}fNszKfVROGKedNA&Ps@PL4{aJjjtSyuN952E%Py83DBSUtImS# zT>@3=f5rYKNYkEJ%NC$u3pT2at8w!&uJN%zO<-ml*Tgold5xcH;xK8)=a|JKEmHHBG4i-))X?HRTF6!;b#yT-x4y` z1j1_`9nTWNYa`{ckn*#R{0nB0f5jd$))2zi0y5V0F~;VBGI4pjav9Y-Y!OYx@doLlR-_=7;X&2P!8Uuc0L+c&%9OkMYBMilX zX;l=OqXq=C9-r{KNC^c59EbEI&QDZg<5xt&8`My7SqpZYyJ)Dkg5q($x$(yOqjI|m zsBx|fi-%O?Z%9OnZxa4hx}P9?!_D941)VY?xAu)#dJNNA@yM}g z(HsRKlb4!H%9L-K7{r+!{uc6BB~|9dtE6G^;O0xulA+e?qw&=Zg`{_GUxgpNvC9Gt4R&d z9(EfzMPHlVyYkW}-`-1yw%VkDVttPq%E$y9i=(LrlHQCRLmY-OaVYVaL1Ybp@ zlmi8=duCQ|P3Yc@5j!doZy2LRKCm|Ji_V?G)r4;Sw>h;cS1W>=+9hh+hT`8>_ROj& z+}f+6-sIAM;m*a~E)?m&(plAMF{umJo!6)J(~FNJO{XmacRzHtJ0OHz0Bs< zZ>Fzl^h^A<@UH3|Ipxa!tEPR8pW8pUZM=~9y62Zzv)(cSCGy~t0FRn`g;{FJ4&U<4 zb=0hJKyMv(bBIyC`Ri?G2g-fJ^spPZp80mk@xxZ~g0BxYAGmo(vBSj{Vhorgno*;B zSQVf!ct}s8M)&=~w+xF}L^;gC-1E!cS1qo;(PiUsXc!h4-6_pZE6vJ_69+xIn|N&c z(VgJz-(-l>5*d#oBTwe)l#!RaqlJ0EVn<7V3wRPpKw+8=ARQ~l$VUngK^N0OIvM~7 z5}+7X*gzVCo+OOojsT@7&X6_&GlYb|4D{P#3>rYAMOD&{lwaPhDG5q(VgeFS!VpG2 z7(XGbJlfBPAP>sIgt)x89hDkQ!n?+X8WD6rZ8%UuUV|Cv00|TF3UVl8#es(eQUoO) zdZ-bUKm|A+MqY{;&znL?z&qH1la-|iCZGvOFfk#R5X=LVrA#cjNHCRP2pTX_N@_cj zl1S08xWcc>Brvr_X|hTHj7jaUzq0qKKP!d@t1cYu4qdH3U!fx`ESXOYGktKZ3@n zY!^CRlVW5#h3+KfL^&rN5V&^M-(8~jC8SMazHPMVi>_#t-ArAtbF|3u*2mgwD|ad9 zy9`S#R;tswTBK;TrghmB6Qax$@3pqCFII|%v5^rJ1WLp4W#AHoAg103;;>vZPY4ZhGcR*v;1RU9N{A}y zx%NknrT&&04ROcwc{A3YUs78c{7ocxhsoJHm#iDStRfu~O5X-fp}si!$Sqo3E6$L3 z>*~&n@AEfPNf`%}o=?IlXBn2a|By^s>?*0Z*7Q9pP3>e-<>^!BJRg^<9cWhFGhbp+ zxbbD1(>0CjX7wk>Bs3anEquTKAchh&bkOB6_VT%aXH%xkb6V54=aVk(41Q`nCH~Ja^?6%O&M#V!^(sZ> zN#%a~y0m#}>r1mb6kcZDTAcm4YEk11VST4+i3e^+&@yI~nN7idS&l8bG?DiiFFZa` zAvtgk%)pc}3!Reh)vnv zJ=xjojqtnWsp}2jSd{v^`@PLp&FcN)7X3-2Vk(G!sbVwYCDystu6*y8TdgY!w4-Ei zmYwTU)4wt$uP{yW59jQ_J4%+O*BfOPbSRK-wW!8_S|)vWEir#!8m7)KXTdV5k74Fo zif)QaG-`GYe=aDz;Z@hL*eg6o^dx@xdgTl}g?f4}0B$+sa6{(6oIwLuy-CeKJ5HUI zez08q-t{@BW*r-nkw)#1IH9RzlyG;pRCkC{MOoYqXCJ?YYGb>ak#Enb?SGZIJFS`G z9_6*$E~_yiL;|Cm%3&B1 zJ|q<%9Gi-#21Bc2Jfy5aiX06e915@hnQ2xqHrqpYEFLZcN(Jv~hjqL#NG-#|3t<{# z2Y)CfHjK=0*Ou6hx&!X;Yaoc^H-on<2=dj65No30ig2j1W_kA-~l9v zIrDBye$QZX{y@_0WYDu=%7%3t)b`DBwj4N;Z@X>AofEloT^EOF`R{Ls$y`tMH0vt0 z`I7Q0s#)aiYO8hGKKRa=jVCVc_Y{x%W$=B;VPUaV%C?JSCnt2C$=0%VF1t(7e)i_p z8R}yhr>DBDA7fJ9{e4PVxx8o1RP)wpcOS^yi@H;)ttC5LQkg?b54xrnC}zCl&k;wL z{-BwKil64_gyT1xMh;75+~|E%X8gq`GBB(@)HHc`mdK1nZyw5MN&a!ZDv6-EE?t@H*#z^yFwB?nJ9pA%vwrt zM;)!EkMo4`ucKg3lzp4o-5)#4zs{9AU|@!p3iS<1sJ(YA@$|Mo2UIO{rG!=!DvTvR zSvV?RDR{p$@9L`AE7YGX$&u0D9o4_!SKE%j^J z)*rq*93sOY~YCa^JqHWyg`etDoIN--4GFXXoVIxOL2a zmr7}3RoRv5Un`zZe?QMCWkb{KNXzfmlI?~IR|WJ1FVIOCaaZ0Ez3nkNwLDQ|_vAO5 zY=ul$+i2GLE2-bwBb2MbmVZy79(e@Xu*C@g2$_H&v{YfyAh2;NYn4I?rBS(L5lkAw zKhFt+#(q>h?y|U9R(5wN_bjpLQ>n%ZyU%gmSWuE9PSGHWM_7)#w8{Xa*}_s7A|UDb zlSfwegL+)DQk_-5aYZFkQcC`3N=lyRlL#GDg6U~6EeVRV8;HSx@>nhfjM3lYuM%}z zG%txQ*N9I$5bZQ+^PNfiLe_Tfp4RbQeerWJ{qB>-Q@5R^e1|q-`-1mKmR+4gK0o`p z?qa`3cXxO;SNaN%WS1MH#~yjqYpzV%mi5EaKQ`P=f6je9rBF$wxyr*K*|EJL9cLOn zvPZsu2=JM{>a5+|nJP{OQ=+YBKFi-A6EgCn#$YL`Uxs8@_rX8-$f3w$rHaP~&Zc|l zbXXVvQKbEC!>Ub@JsW4)HYF7{?fZMr@ScVlp&u=Cj@U(Qd!_lIwtL%yWg5|8b=Gm< z$JLX-;Hs4s*`C91I+V-i(ywGVS#4kV%Hzy+RLhOryYuinj2)hsA6O@ZTJVpDVK;JRd0)zK?0OLW?~qE1edl8s*fVV1Q|&Bnt>(+ z3lKE5G$RCnTBE2C0h*3KriWkLUhN?<f#QR$Q`$$YORv@`hXZV=kNRCzNtqYMYWrErTv_{t3I@K(*^-C`Cfd+vMk-qT)JszY$Wx-7+?@-eAe@kPtha}y$m zOg(-^o>kuZM&0#LZ1&8EhsKxtKROwd{B1ETxA}k&SrvcAcaXB~9kG0skwodvm8VF4 zKOcPGZ*!<`cu`8{t&1Ak)o~S5pBDz=XD&BPy3-TUsB*e_6Ui(=?eTv5KDm+%+$Asr zcMdDT?mZk@nvj7z3I!hGHb!LN_CP^9(Ex_mAQ8!x5)dj56j}oML(GL0*2f45V?j-> zxIzlPs5QZf*rjVkl!c3~Ek0FR?{>r(ElNfYxSfc4si`7k0*(%>#*ntbk_9{&sWjHXow`xl*=y1|^D zm%l-}F1PcRPiA7FYFdid*TL<%`#yjCaURUXdI< z;N$Yxqxa#BX>oU}P_C1OuyL#WJsrA&Z`14if4VL`@9}e_`|e}Wn3aYLzf95zeY4?R zIr*E$$B_re(^NH;4<{|Hxa>6FOm?ATdVi(0hnNnkvh3l!Q->bu=h_ih*Hv3RKKPd| zrcT;Yer|tS)oM|>Q{>YPG}X)EWeq!rJ`&VAy{IC&%RhWJ@Gu!pki$E4%dP3sA9-1H zGHLDOn!_sR^tzgjo$VjroBT<*Q$!)et<8ob4R$~Qng za)Ik9t*!2RNoTU@5fhU2@>tn4vd>`$i<2}W_{r1Rrw|z2-ExUYpLFwvM zUR8LT5Bt!z^WBd1{~0?^Gm^f$^2ndciA(j3%XPg=&X~~fU)&}e^>pRkaG8GY>Bk}< zFK_jrLQ!pk^Kz@aE4WqS_sPffcbz=8#pZUSWQ6Wz5WCKCi+S-W?{^XMrhDW^KJS?P z%l#qEx>NIV=Sz%4i>!i`LC>p}cXh8r$jb=ypeW^c_)kV<#m2D>3Yw;a>(+D)ZWh}3 z_27#D)NZ`O^qI4DJYEQ4=tDpC51Dm-kyFU|=ya^DZG^URV9FQMl@-lt_e%b7#x-5R z+lqWkv3=)z=WAPZx2Rsf()Jyu#ewUIVcQxUi%Ex$WlF0a++u$ZQj|o%4D<(<6kP4@ zA6hinf99XF`I1ZNA$-6I(65 zxmM*n&DQurW0%)e-R7UQX4GOS`PmmlJ@)UUSXn+SBz-y=I+WY&8nX=FY4t;_ZfMqE z$9!^_@Ve&k;10!`o}1A)KOkP*$}8cKUTi9H&Eax|8;fcd zMIU_C-&pnKHGZ2)lU~9z(FIvL_NmK12R(OMT=H$9>+&7*7o7cYhj!|r(8}lDMc2zz zmsLjXjV^rlHo?%*=1H)Ph|?OgM4i31`H6+i;5)ZV$vNYjeaDr0|E$?pjNgLZ;`XQB zI3JM~t*(@O()q!=fv;-Us%bTq-Z*(g@72g7YNn>uV7F<(m3W7HbL?_L(K3(6^6B#+{(Hq~@?-Zg2@7e5Zj!E++4mfPX-Ar1VkCN2zXr0~u^{?T}Ht}a_ zdtaIzRV=Pr8eT40nLn9S^IQhBH+xmp33MKQWKT<6wa{V1{vcdWmG14R@D@`iO3U8K z#rxMTklp!|{Ohfo)1XJ|RB8YFQ$=1(J-O*sL8sI8*tsvZ)qbCMcWKM<3gKBXmU?C7 z^GFoGl8DUL-Zm{mcmDc1_m4gu`l(q__pZG7Vv^o$QtI+_8@5cfujab7+v6u~(tlR( zy|wPQ+4r~E_qW;iKVzBn+w42W>`TZ%&xKYp)(m?@=0Cey;8G{KOcLo^z)9RT2`L_h zSAbOlR$!4<3F*w}-ZhqVlUIO3{85kdA{)eR_Jao8%C{sz9h?M06H7?pVYU1pmfhO8 zimDB_NpTW-`%>!9j$^{OVm7pG_xhR+@cyZVk$@LwIs(vEl32`tLWkP^ETTu2a%(9Z)^^ zm0m6TrLBq*=Ao6p({4%4q`+0W=L6LO%1h5TIk@Y6t*BjwC8b5%^H{bbW8S)WoQ z1E!|+Vy}AS{RljeS@h%4^}{(7FVyer|Ir0nGCrf11vvgi7(djMi}3Zfb9Hy}*3{Je QpV#NV06)q Date: Fri, 23 May 2014 16:20:33 +0700 Subject: [PATCH 09/32] make indication for send characteristic as optional --- nRF51822/projects/hrm/projectconfig.h | 4 ++-- nRF51822/projects/uartservice/btle_uart.c | 14 ++++++++++++-- nRF51822/projects/uartservice/btle_uart.h | 1 + nRF51822/projects/uartservice/projectconfig.h | 4 ++-- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/nRF51822/projects/hrm/projectconfig.h b/nRF51822/projects/hrm/projectconfig.h index 1ba52f6..2afe0f3 100644 --- a/nRF51822/projects/hrm/projectconfig.h +++ b/nRF51822/projects/hrm/projectconfig.h @@ -136,8 +136,8 @@ #define CFG_GAP_APPEARANCE BLE_APPEARANCE_GENERIC_TAG #define CFG_GAP_LOCAL_NAME "HRM" - #define CFG_GAP_CONNECTION_MIN_INTERVAL_MS 500 /**< Minimum acceptable connection interval */ - #define CFG_GAP_CONNECTION_MAX_INTERVAL_MS 1000 /**< Maximum acceptable connection interval */ + #define CFG_GAP_CONNECTION_MIN_INTERVAL_MS 10 /**< Minimum acceptable connection interval */ + #define CFG_GAP_CONNECTION_MAX_INTERVAL_MS 100 /**< Maximum acceptable connection interval */ #define CFG_GAP_CONNECTION_SUPERVISION_TIMEOUT_MS 4000 /**< Connection supervisory timeout */ #define CFG_GAP_CONNECTION_SLAVE_LATENCY 0 /**< Slave Latency in number of connection events. */ diff --git a/nRF51822/projects/uartservice/btle_uart.c b/nRF51822/projects/uartservice/btle_uart.c index f256315..2a6be25 100644 --- a/nRF51822/projects/uartservice/btle_uart.c +++ b/nRF51822/projects/uartservice/btle_uart.c @@ -78,8 +78,15 @@ error_t uart_service_init(uint8_t uuid_base_type) /* ... then add the individual characteristics */ ble_uuid.uuid = BLE_UART_UUID_IN; + + ble_gatt_char_props_t send_properties = + { + .indicate = BLE_UART_SEND_INDICATION, + .notify = 1-BLE_UART_SEND_INDICATION + }; + ASSERT_STATUS(custom_add_in_characteristic(m_uart_srvc.service_handle, - &ble_uuid, (ble_gatt_char_props_t) {.indicate = 1}, + &ble_uuid, send_properties, NULL, 1, BLE_UART_MAX_LENGTH, &m_uart_srvc.in_handle) ); @@ -106,6 +113,8 @@ void uart_service_handler(ble_evt_t * p_ble_evt) { switch (p_ble_evt->header.evt_id) { + +#if BLE_UART_SEND_INDICATION /* Capture the 'indicate' confirmation from the central here */ case BLE_GATTS_EVT_HVC: if( m_uart_srvc.in_handle.value_handle == p_ble_evt->evt.gatts_evt.params.hvc.handle ) @@ -126,6 +135,7 @@ void uart_service_handler(ble_evt_t * p_ble_evt) uart_service_indicate_callback(false); } break; +#endif /* Handle incoming data on the RXD characteristic */ case BLE_GATTS_EVT_WRITE: @@ -170,7 +180,7 @@ error_t uart_service_send(uint8_t p_data[], uint16_t length) ble_gatts_hvx_params_t hvx_params = { .handle = m_uart_srvc.in_handle.value_handle, - .type = BLE_GATT_HVX_INDICATION, + .type = BLE_UART_SEND_INDICATION ? BLE_GATT_HVX_INDICATION : BLE_GATT_HVX_NOTIFICATION, .p_data = p_data, .p_len = &length, }; diff --git a/nRF51822/projects/uartservice/btle_uart.h b/nRF51822/projects/uartservice/btle_uart.h index 76941cd..043e8d0 100644 --- a/nRF51822/projects/uartservice/btle_uart.h +++ b/nRF51822/projects/uartservice/btle_uart.h @@ -66,6 +66,7 @@ #define BLE_UART_UUID_PRIMARY_SERVICE (1) #define BLE_UART_UUID_IN (3) #define BLE_UART_UUID_OUT (2) + #define BLE_UART_SEND_INDICATION (0) /*=========================================================================*/ error_t uart_service_init ( uint8_t uuid_base_type ); diff --git a/nRF51822/projects/uartservice/projectconfig.h b/nRF51822/projects/uartservice/projectconfig.h index bebd887..6806a83 100644 --- a/nRF51822/projects/uartservice/projectconfig.h +++ b/nRF51822/projects/uartservice/projectconfig.h @@ -136,8 +136,8 @@ #define CFG_GAP_APPEARANCE BLE_APPEARANCE_GENERIC_TAG #define CFG_GAP_LOCAL_NAME "UART" - #define CFG_GAP_CONNECTION_MIN_INTERVAL_MS 500 /**< Minimum acceptable connection interval */ - #define CFG_GAP_CONNECTION_MAX_INTERVAL_MS 1000 /**< Maximum acceptable connection interval */ + #define CFG_GAP_CONNECTION_MIN_INTERVAL_MS 10 /**< Minimum acceptable connection interval */ + #define CFG_GAP_CONNECTION_MAX_INTERVAL_MS 100 /**< Maximum acceptable connection interval */ #define CFG_GAP_CONNECTION_SUPERVISION_TIMEOUT_MS 4000 /**< Connection supervisory timeout */ #define CFG_GAP_CONNECTION_SLAVE_LATENCY 0 /**< Slave Latency in number of connection events. */ From ecf19da7ac3bf9856ddf3c62e9e88ad9ca7012d4 Mon Sep 17 00:00:00 2001 From: Robert Davidson Date: Mon, 26 May 2014 22:33:30 -0600 Subject: [PATCH 10/32] initial commit Signed-off-by: Robert Davidson --- iOS/ANCS/ancs.bgs | 280 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 280 insertions(+) create mode 100644 iOS/ANCS/ancs.bgs diff --git a/iOS/ANCS/ancs.bgs b/iOS/ANCS/ancs.bgs new file mode 100644 index 0000000..fe27fd7 --- /dev/null +++ b/iOS/ANCS/ancs.bgs @@ -0,0 +1,280 @@ +# ANCS Demo +# Author: John Gallagher (slackhappy) +# https://github.com/slackhappy/ble112/tree/master/ancs +# +# Subscribes to iOS notifications, e.g. incoming calls. +# +# Modified from an excellent example: +# https://bluegiga.zendesk.com/entries/23999407--BGScript-htm-collector-Health-Thermometer-collector-BLE-master- by Jeff Rowberg +# with help from +# https://bluegiga.zendesk.com/entries/22882472--REFERENCE-Bonding-encryption-and-MITM-protection-with-the-BLE112 +# and +# http://blog.punchthrough.com/post/63658238857/the-apple-notification-center-service-or-wtf-is + +const STATE_STANDBY = 0 +const STATE_CONNECTING = 1 +const STATE_FINDING_SERVICES = 2 +const STATE_FINDING_ATTRIBUTES = 3 +const STATE_SUBSCRIBING_NS = 4 +const STATE_SUBSCRIBING_DS = 5 +const STATE_LISTENING = 6 + +const FOUND_NONE = 0 +const FOUND_DS = 1 +const FOUND_NS = 2 + +dim find_state +dim device_state + +dim att_handle_ns_ccc +dim att_handle_ns +dim att_handle_ds_ccc +dim att_handle_ds +dim att_handle_cp +dim att_handlesearch_start +dim att_handlesearch_end + +dim ancs_connection + +dim endpoint + +dim get_notification_attr_buf(30) +dim indicate_buf(2) + +dim atoi_buf(15) +dim atoi_buf_pos +dim atoi_buf_len +dim num + + +dim adv_data(30) + +# Boot event listener +# 7905F431-B5CE-4E99-A40F-4B1E122D00D0 ANCS Service +event system_boot(major, minor, patch, build, ll_version, protocol_version, hw) + device_state = STATE_STANDBY + atoi_buf_len = 15 + att_handle_ns_ccc = 0 + att_handle_ds_ccc = 0 + att_handle_ds = 0 + att_handle_ns = 0 + + # set the value for the attribute find state + find_state = FOUND_NONE + + + adv_data( 0:1) = $02 # ad field length = 2 bytes + adv_data( 1:1) = gap_ad_type_flags # ad field type = 0x01 (Flags) + adv_data( 2:1) = $02 # 3.C.18.1: 00000110b generaldisc, no BR/EDR + + adv_data( 3:1) = $04 # ad field length = 04 + adv_data( 4:1) = $09 # Complete local name + adv_data( 5:1) = $42 # B + adv_data( 6:1) = $4F # O + adv_data( 7:1) = $42 # B + + adv_data( 8:1) = $11 # ad field 17 + adv_data( 9:1) = $15 # Service Solicitation, 128-bit UUIDs + adv_data(25:1) = $79 + adv_data(24:1) = $05 + adv_data(23:1) = $F4 + adv_data(22:1) = $31 + adv_data(21:1) = $B5 + adv_data(20:1) = $CE + adv_data(19:1) = $4E + adv_data(18:1) = $99 + adv_data(17:1) = $A4 + adv_data(16:1) = $0F + adv_data(15:1) = $4B + adv_data(14:1) = $1E + adv_data(13:1) = $12 + adv_data(12:1) = $2D + adv_data(11:1) = $00 + adv_data(10:1) = $D0 + + # System started, enable advertising and allow connections + # set advertisement interval to 1s-2s, use all advertisement channels + # (note min/max parameters are in units of 625 uSec) + + call gap_set_adv_parameters(20, 32, 7) + call gap_set_adv_data(0, 26, adv_data(0:26)) + call gap_set_mode(gap_user_data, gap_undirected_connectable) + + # TODO: consider bonding for faster reconnect + + endpoint = system_endpoint_uart0 + call system_endpoint_tx(endpoint, 11, "\n\rBooted!\n\r") + +end + +# Connection event listener +event connection_status(connection, flags, address, address_type, conn_interval, timeout, latency, bonding) + call system_endpoint_tx(endpoint, 14, "\n\rConnected!\n\r") + ancs_connection = connection + + # start encryption + if flags != $03 then + call system_endpoint_tx(endpoint, 21, "Starting Encryption\r\n") + call sm_encrypt_start(ancs_connection, 0) + else + # kick off a discovery of ANCS + device_state = STATE_FINDING_SERVICES + call system_endpoint_tx(endpoint, 15, "Starting Find\r\n") + call attclient_read_by_group_type(connection, $0001, $ffff, 2, "\x00\x28") + end if +end + +event attclient_group_found(connection, start_handle, end_handle, uuid_len, uuid_data) + # TODO, use memcmp with the adv_data(10:16), or something smarter + if uuid_len =16 && uuid_data(0:1) = $D0 && uuid_data(1:1) = $00 then + # save the handle range for attribute enumeration + att_handlesearch_start = start_handle + att_handlesearch_end = end_handle + call system_endpoint_tx(endpoint, 16, "Found service!\r\n") + end if + # Actual uuid_data + #D0 00 2D 12 1E 4B 0F A4 99 4E CE B5 31 F4 05 79 +end + +event connection_disconnected(handle, result) + call gap_set_mode(gap_user_data, gap_undirected_connectable) +end + +# Callback for finding characteristics of a service +event attclient_find_information_found(connection, chrhandle, uuid_len, uuid_data) + if uuid_len = 16 then + # TODO, memcmp with actual GUID values instead of checking first 2 bytes + if uuid_data(0:1) = $fb && uuid_data(1:1) = $7b then + find_state = FOUND_DS + att_handle_ds = chrhandle + call system_endpoint_tx(endpoint, 10, "FOUND_DS\r\n") + end if + if uuid_data(0:1) = $bd && uuid_data(1:1) = $1d then + find_state = FOUND_NS + att_handle_ns = chrhandle + call system_endpoint_tx(endpoint, 10, "FOUND_NS\r\n") + end if + if uuid_data(0:1) = $d9 && uuid_data(1:1) = $d9 then + find_state = FOUND_NONE + att_handle_cp = chrhandle + call system_endpoint_tx(endpoint, 10, "FOUND_CP\r\n") + end if + end if + if uuid_len = 2 then + # Look for the Client Configuration Characteristic + if uuid_data(0:1) = $02 && uuid_data(1:1) = $29 then + if find_state = FOUND_DS then + att_handle_ds_ccc = chrhandle + find_state = FOUND_NONE + call system_endpoint_tx(endpoint, 14, "FOUND_DS_CCC\r\n") + end if + if find_state = FOUND_NS then + att_handle_ns_ccc = chrhandle + find_state = FOUND_NONE + call system_endpoint_tx(endpoint, 14, "FOUND_NS_CCC\r\n") + end if + end if + end if +end + +event attclient_attribute_value(connection, atthandle, type, value_len, value_data) + if device_state != STATE_LISTENING then + call system_endpoint_tx(endpoint, 12, "bad state!\r\n") + # reboot the device state machine + device_state = STATE_FINDING_SERVICES + call attclient_read_by_group_type(connection, $0001, $ffff, 2, "\x00\x28") + else + if atthandle = att_handle_ns then + # received a notification + if value_data(0:1) = $00 then + # notification added + if value_data(2:1) = $01 + call system_endpoint_tx(endpoint, 6, "CALL\r\n") + end if + if value_data(2:1) = $02 + call system_endpoint_tx(endpoint, 8, "MISSED\r\n") + end if + if value_data(2:1) = $03 + call system_endpoint_tx(endpoint, 7, "VMAIL\r\n") + end if + call system_endpoint_tx(endpoint, 4, "ns\r\n") + get_notification_attr_buf(0:1) = $00 # Get attr + get_notification_attr_buf(1:1) = value_data(4:1) + get_notification_attr_buf(2:1) = value_data(5:1) + get_notification_attr_buf(3:1) = value_data(6:1) + get_notification_attr_buf(4:1) = value_data(7:1) + get_notification_attr_buf(5:1) = $01 # Title + get_notification_attr_buf(6:1) = $0b # 11 + get_notification_attr_buf(7:1) = $00 # bytes max + # get the title for this notification from the control point + call attclient_attribute_write(connection, att_handle_cp, 8, get_notification_attr_buf(0:8)) + end if + end if + if atthandle = att_handle_ds then + call system_endpoint_tx(endpoint, 4, "ds\r\n") + # received attribute data from the control point via the data source + if value_len > 8 then + call system_endpoint_tx(endpoint, value_len - 8, value_data(8:value_len - 8)) + call system_endpoint_tx(endpoint, 2, "\r\n") + end if + end if + end if +end + +event attclient_procedure_completed(connection, result, chrhandle) + call system_endpoint_tx(endpoint, 8, "\n\rdone\n\r") + num = result + atoi_buf_pos = atoi_buf_len + while atoi_buf_pos > 0 + atoi_buf_pos = atoi_buf_pos - 1 + atoi_buf(atoi_buf_pos:1) = 48 + (num - ((num / 10) * 10)) + num = num / 10 + end while + call system_endpoint_tx(endpoint, atoi_buf_len, atoi_buf(0:atoi_buf_len)) + call system_endpoint_tx(endpoint, 2, "\r\n") + + # if result is $0405 (1029) - insufficient authentication + + # finished some attclient operation, so figure out what happened + # list each state last to first, since there is no else if + if device_state = STATE_SUBSCRIBING_NS then + if result = 0 then + device_state = STATE_LISTENING + call system_endpoint_tx(endpoint, 9, "inited!\r\n") + end if + end if + if device_state = STATE_SUBSCRIBING_DS then + if att_handle_ns_ccc > 0 then + # change state + device_state = STATE_SUBSCRIBING_NS + indicate_buf(0:1) = $01 + indicate_buf(1:1) = $00 + call attclient_attribute_write(0, att_handle_ns_ccc, 2, indicate_buf(0:2)) + else + call system_endpoint_tx(endpoint, 29, "att_handle_ns_ccc not found\r\n") + end if + end if + if device_state = STATE_FINDING_ATTRIBUTES then + if att_handle_ds_ccc > 0 then + # change state + device_state = STATE_SUBSCRIBING_DS + indicate_buf(0:1) = $01 + indicate_buf(1:1) = $00 + call attclient_attribute_write(0, att_handle_ds_ccc, 2, indicate_buf(0:2)) + else + call system_endpoint_tx(endpoint, 29, "att_handle_ds_ccc not found\r\n") + end if + end if + if device_state = STATE_FINDING_SERVICES then + if att_handlesearch_end > 0 then + # change state + device_state = STATE_FINDING_ATTRIBUTES + call system_endpoint_tx(endpoint, 23, "Finding attributes...\r\n") + # found the ANCS service, now get the attributes: CP, DS, NS, DS CCC, NS CCC + call attclient_find_information(0, att_handlesearch_start, att_handlesearch_end) + else + # couldn't find the ANCS service + call system_endpoint_tx(endpoint, 24, "Couldn't find service!\r\n") + end if + end if +end From 875b768ba3f9ce5dfc67a92d4accded23fe7b72d Mon Sep 17 00:00:00 2001 From: Robert Davidson Date: Thu, 29 May 2014 16:40:39 -0600 Subject: [PATCH 11/32] Signed-off-by: Robert Davidson --- iOS/ANCS/README.md | 82 + iOS/ANCS/attributes.txt | 1 + iOS/ANCS/gatt.xml | 62 + iOS/ANCS/hardware.xml | 8 + iOS/ANCS/out.hex | 8195 ++++++++++++++++++++++++++++ iOS/ANCS/project.xml | 7 + iOS/ANCS/variable_memory_usage.txt | 107 + 7 files changed, 8462 insertions(+) create mode 100644 iOS/ANCS/README.md create mode 100644 iOS/ANCS/attributes.txt create mode 100644 iOS/ANCS/gatt.xml create mode 100644 iOS/ANCS/hardware.xml create mode 100644 iOS/ANCS/out.hex create mode 100644 iOS/ANCS/project.xml create mode 100644 iOS/ANCS/variable_memory_usage.txt diff --git a/iOS/ANCS/README.md b/iOS/ANCS/README.md new file mode 100644 index 0000000..02ca327 --- /dev/null +++ b/iOS/ANCS/README.md @@ -0,0 +1,82 @@ +# Apple Notification Center Service Demo # +[Apple Notification Center Service](https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/AppleNotificationCenterServiceSpecification/AppleNotificationCenterServiceSpecification.pdf) is a GATT service that will send push notifications to an connected bluetooth device whenever a notification event occurs on the iOS device. +This code lays out the basic stuff you need to get ANCS working on a project with an embedded device, such as a DIY smartwatch. + +## Setting the Correct Advertising Packet ## +In order to have your device show up in the list of available bluetooth devices in the system settings pane, you need to register your interest. The Punch Through Design [blog post](http://blog.punchthrough.com/post/63658238857/the-apple-notification-center-service-or-wtf-is) on ANCS left a hint about how to do this. You need to use "Service Solicitation" to indicate that you are interested in subscribing to the ANCS service. + +Core 4.0 Vol 3 Part C, 18.9 gives the AD identifier, `$15`. I included a local name in my packet so that I could identify my device. In actual byte order, here is the contents of my packet: + +`02` AD Field, 2 bytes +`01` AD Flags +`02` General Discovery, no BR/EDR, you can change this as needed +`04` AD Field, 4 bytes +`09` AD Complete Local Name +`4C 45 44` LED, not sure why I called it that +`11` AD Field, 17 bytes +`15` AD Service Solicitation, 128 bits +`D0 00 2D 12 1E 4B 0F A4 99 4E CE B5 31 F4 05 79` The ANCS service in LSB to MSB order. + +## Pairing ## +Subscribing to events requires that the devices be paired. Bluegiga has a [doc](https://bluegiga.zendesk.com/entries/22882472--REFERENCE-Bonding-encryption-and-MITM-protection-with-the-BLE112) that I worked from to start encryption when the connection event is fired on the device. You do not need to have a pin. + +## Enumerating the iOS Services ## +Before you can enumerate the ANCS service, you must find its handle range. iOS will only return characteristics for the correct service range, so enumerating `$0000` to `$ffff` will not work. + +ANCS is a primary service, so listing all primary services will allow you to find it, as well as give you the start and end handles for attribute enumeration. An excellent bluegiga example [health thermometer collector](https://bluegiga.zendesk.com/entries/23999407--BGScript-htm-collector-Health-Thermometer-collector-BLE-master-), gave me the structure I needed for enumerating the services, enumerating the attributes of the service of interest, subscribing to a notifiable attribute using the Client Characteristic Configuration Descriptor, and receiving new values via an event callback. + +## Enumerating the ANCS Service ## +Here are the attributes of the ANCS service, as returned to my device, in the exact order that the bytes given to the buffer, essentially reverse-documentation order. + +`00 28` Primary Service + +`03 28` Characteristic Declaration +`d9 d9 aa fd bd 9b 21 98 a8 49 e1 45 f3 d8 d1 69` ANCS Control Point +`00 29` Characteristic Extended Properties + +`03 28` Characteristic Declaration +`bd 1d a2 99 e6 25 58 8c d9 42 01 63 0d 12 bf 9f` ANCS Notification Source +`02 29` Client Characteristic Configuration Descriptor + +`03 28` Characteristic Declaration +`fb 7b 7c ce 6a b3 44 be b5 4b d6 24 e9 c6 ea 22` ANCS Data Source +`02 29` Client Characteristic Configuration Descriptor + +Core 4.0 Vol 3 Part G, 3.4 lists built-in types, and 4.0 Vol 3 Part G, 3.3.3 provides more information on each type. + +Save the attribute handles for: +- The ANCS Control Point +- The Client Characteristic Configuration Descriptor for the Notification Source +- The Client Characteristic Configuration Descriptor for the Data Source + +## Subscribe to events ## +At minimum, set the Notification Source CCC for notification (indication is not supported) by writing `01 00` to the Notification Source CCC attribute. If you also want to get textual or other data, first subscribe to the Data Source by setting the Data Source CCC for notification, then set the Notification source after that. When you receive a notification, get the textual data from the notification by writing a message to the ANCS Control Point attribute. You will receive a response from the Data Source attribute with the notification id and data requested. + +Example incoming notification: + +New incoming call (value source is NS handle): + +`00` Event ID - Event Added +`02` Event Flags - Important +`01` Category ID - Incoming call +`01` Category Count - 1 +`15 00 00 00` Notification UID + +Get the caller id (write this to the CP handle) + +`00` Command ID - GetNotificationAttributes +`15 00 00 00` Notification UID +`01` Attribute ID - Title +`0B 00` Attribute max length (11 bytes) + +Response (value source is DS handle) + +`00` Command ID - GetNotificationAttributes +`15 00 00 00` Notification UID +`01` Attribute ID - Title +`0A 00` Attribute length (10 bytes) +`73 6c 61 63 6b 68 61 70 70 79` + + +## Demo ## +[View video](http://instagram.com/p/jf3HmdQwsb/embed/#) \ No newline at end of file diff --git a/iOS/ANCS/attributes.txt b/iOS/ANCS/attributes.txt new file mode 100644 index 0000000..cf1531b --- /dev/null +++ b/iOS/ANCS/attributes.txt @@ -0,0 +1 @@ +xgatt_led 17 diff --git a/iOS/ANCS/gatt.xml b/iOS/ANCS/gatt.xml new file mode 100644 index 0000000..5d621c1 --- /dev/null +++ b/iOS/ANCS/gatt.xml @@ -0,0 +1,62 @@ + + + + + Generic Access Profile + + + + LED + + + + + 4142 + + + + Device Information + + + Bluegiga + + + + 1.0 + + + + 25 + + + + BLE112 + + + + + LED Control Service + + LED Toggle + + 01 + + + + + + diff --git a/iOS/ANCS/hardware.xml b/iOS/ANCS/hardware.xml new file mode 100644 index 0000000..b3789ff --- /dev/null +++ b/iOS/ANCS/hardware.xml @@ -0,0 +1,8 @@ + + + + + +