From a1eab75dbecf8818a840a39523d4fbbefd923377 Mon Sep 17 00:00:00 2001 From: adbridge Date: Thu, 29 Nov 2018 14:07:06 +0000 Subject: [PATCH 001/100] Updating mbed-os to mbed-os-5.11.0-rc1 --- BLE_BatteryLevel/mbed-os.lib | 2 +- BLE_Beacon/mbed-os.lib | 2 +- BLE_Button/mbed-os.lib | 2 +- BLE_GAP/mbed-os.lib | 2 +- BLE_GAPButton/mbed-os.lib | 2 +- BLE_GattClient/mbed-os.lib | 2 +- BLE_GattServer/mbed-os.lib | 2 +- BLE_HeartRate/mbed-os.lib | 2 +- BLE_LED/mbed-os.lib | 2 +- BLE_LEDBlinker/mbed-os.lib | 2 +- BLE_Privacy/mbed-os.lib | 2 +- BLE_SM/mbed-os.lib | 2 +- BLE_Thermometer/mbed-os.lib | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/BLE_BatteryLevel/mbed-os.lib b/BLE_BatteryLevel/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_BatteryLevel/mbed-os.lib +++ b/BLE_BatteryLevel/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_Beacon/mbed-os.lib b/BLE_Beacon/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_Beacon/mbed-os.lib +++ b/BLE_Beacon/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_Button/mbed-os.lib b/BLE_Button/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_Button/mbed-os.lib +++ b/BLE_Button/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_GAP/mbed-os.lib b/BLE_GAP/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_GAP/mbed-os.lib +++ b/BLE_GAP/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_GAPButton/mbed-os.lib b/BLE_GAPButton/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_GAPButton/mbed-os.lib +++ b/BLE_GAPButton/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_GattClient/mbed-os.lib b/BLE_GattClient/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_GattClient/mbed-os.lib +++ b/BLE_GattClient/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_GattServer/mbed-os.lib b/BLE_GattServer/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_GattServer/mbed-os.lib +++ b/BLE_GattServer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_HeartRate/mbed-os.lib b/BLE_HeartRate/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_HeartRate/mbed-os.lib +++ b/BLE_HeartRate/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_LED/mbed-os.lib b/BLE_LED/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_LED/mbed-os.lib +++ b/BLE_LED/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_LEDBlinker/mbed-os.lib b/BLE_LEDBlinker/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_LEDBlinker/mbed-os.lib +++ b/BLE_LEDBlinker/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_Privacy/mbed-os.lib b/BLE_Privacy/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_Privacy/mbed-os.lib +++ b/BLE_Privacy/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_SM/mbed-os.lib b/BLE_SM/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_SM/mbed-os.lib +++ b/BLE_SM/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_Thermometer/mbed-os.lib b/BLE_Thermometer/mbed-os.lib index fa52de0f..0bb3a73b 100644 --- a/BLE_Thermometer/mbed-os.lib +++ b/BLE_Thermometer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 From 719d413d3403abd48e84f3848356c7db70a10df4 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 20 Nov 2018 13:29:53 +0000 Subject: [PATCH 002/100] update battery level to new API --- BLE_BatteryLevel/source/main.cpp | 164 +++++++++++++++++-------------- 1 file changed, 92 insertions(+), 72 deletions(-) diff --git a/BLE_BatteryLevel/source/main.cpp b/BLE_BatteryLevel/source/main.cpp index a4f735e3..fa24349d 100644 --- a/BLE_BatteryLevel/source/main.cpp +++ b/BLE_BatteryLevel/source/main.cpp @@ -20,95 +20,117 @@ #include "ble/Gap.h" #include "ble/services/BatteryService.h" -DigitalOut led1(LED1, 1); +static DigitalOut led1(LED1, 1); -const static char DEVICE_NAME[] = "BATTERY"; -static const uint16_t uuid16_list[] = {GattService::UUID_BATTERY_SERVICE}; +const static char DEVICE_NAME[] = "BATTERY"; -static uint8_t batteryLevel = 50; -static BatteryService* batteryServicePtr; +static events::EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); -static EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); +class BatteryDemo : ble::Gap::EventHandler { +public: + BatteryDemo(BLE &ble, events::EventQueue &eventQueue) : + _ble(ble), + _eventQueue(eventQueue), + _batteryUUID(GattService::UUID_BATTERY_SERVICE), + _batteryLevel(50), + _batteryService(ble, _batteryLevel) { } -void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *params) -{ - BLE::Instance().gap().startAdvertising(); -} + void start() { + _ble.gap().setEventHandler(this); + + _ble.init(this, &BatteryDemo::initComplete); + + _eventQueue.call_every(500, this, &BatteryDemo::blinkCallback); + _eventQueue.call_every(1000, this, &BatteryDemo::updateSensorValue); -void updateSensorValue() { - batteryLevel++; - if (batteryLevel > 100) { - batteryLevel = 20; + _eventQueue.dispatch_forever(); } - batteryServicePtr->updateBatteryLevel(batteryLevel); -} +private: + /** Callback triggered when the ble initialization process has finished */ + void initComplete(BLE::InitializationCompleteCallbackContext *params) { + if (params->error != BLE_ERROR_NONE) { + printf("Ble initialization failed."); + return; + } -void blinkCallback(void) -{ - led1 = !led1; /* Do blinky on LED1 while we're waiting for BLE events */ + printMacAddress(); - BLE &ble = BLE::Instance(); - if (ble.gap().getState().connected) { - eventQueue.call(updateSensorValue); - } -} + /* Create advertising parameters and payload */ -/** - * This function is called when the ble initialization process has failled - */ -void onBleInitError(BLE &ble, ble_error_t error) -{ - /* Initialization error handling should go here */ -} + ble::AdvertisingParameters adv_parameters( + ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::adv_interval_t(ble::millisecond_t(1000)) + ); -void printMacAddress() -{ - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - for (int i = 5; i >= 1; i--){ - printf("%02x:", address[i]); + uint8_t adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; + + ble::AdvertisingDataBuilder adv_data_builder(adv_buffer); + + adv_data_builder.setFlags(); + adv_data_builder.setLocalServiceList(mbed::make_Span(&_batteryUUID, 1)); + adv_data_builder.setName(DEVICE_NAME); + + /* Setup advertising */ + + _ble.gap().setAdvertisingParameters( + ble::LEGACY_ADVERTISING_HANDLE, + adv_parameters + ); + + _ble.gap().setAdvertisingPayload( + ble::LEGACY_ADVERTISING_HANDLE, + adv_data_builder.getAdvertisingData() + ); + + /* Start advertising */ + + _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } - printf("%02x\r\n", address[0]); -} -/** - * Callback triggered when the ble initialization process has finished - */ -void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) -{ - BLE& ble = params->ble; - ble_error_t error = params->error; + void updateSensorValue() { + if (_ble.gap().getState().connected) { + _batteryLevel++; + if (_batteryLevel > 100) { + _batteryLevel = 20; + } - if (error != BLE_ERROR_NONE) { - /* In case of error, forward the error handling to onBleInitError */ - onBleInitError(ble, error); - return; + _batteryService.updateBatteryLevel(_batteryLevel); + } } - /* Ensure that it is the default instance of BLE */ - if(ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { - return; + void blinkCallback(void) { + led1 = !led1; } - ble.gap().onDisconnection(disconnectionCallback); + void printMacAddress() { + /* Print out device MAC address to the console */ + Gap::AddressType_t addr_type; + Gap::Address_t address; + _ble.gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + for (int i = 5; i >= 1; i--){ + printf("%02x:", address[i]); + } + printf("%02x\r\n", address[0]); + } - /* Setup primary service */ - batteryServicePtr = new BatteryService(ble, batteryLevel); +private: + /* Event handler */ - /* Setup advertising */ - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *) uuid16_list, sizeof(uuid16_list)); - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *) DEVICE_NAME, sizeof(DEVICE_NAME)); - ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); - ble.gap().setAdvertisingInterval(1000); /* 1000ms */ - ble.gap().startAdvertising(); + void onDisconnection(const ble::DisconnectionEvent&) { + _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + } - printMacAddress(); -} +private: + BLE &_ble; + events::EventQueue &_eventQueue; + + UUID _batteryUUID; + + uint8_t _batteryLevel; + BatteryService _batteryService; +}; void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { BLE &ble = BLE::Instance(); @@ -117,13 +139,11 @@ void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) int main() { - eventQueue.call_every(500, blinkCallback); - BLE &ble = BLE::Instance(); ble.onEventsToProcess(scheduleBleEventsProcessing); - ble.init(bleInitComplete); - eventQueue.dispatch_forever(); + BatteryDemo demo(ble, eventQueue); + demo.start(); return 0; } From 95532c625905fb0a44b34f5638c29fe517b0e0d6 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 20 Nov 2018 14:42:59 +0000 Subject: [PATCH 003/100] beacon updated --- BLE_Beacon/source/main.cpp | 114 +++++++++++++++++++++---------------- 1 file changed, 65 insertions(+), 49 deletions(-) diff --git a/BLE_Beacon/source/main.cpp b/BLE_Beacon/source/main.cpp index d7c84b54..d6f6e59f 100644 --- a/BLE_Beacon/source/main.cpp +++ b/BLE_Beacon/source/main.cpp @@ -19,20 +19,9 @@ #include "ble/BLE.h" #include "ble/services/iBeacon.h" -static iBeacon* ibeaconPtr; +static events::EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); -static EventQueue eventQueue(/* event count */ 4 * EVENTS_EVENT_SIZE); - -/** - * This function is called when the ble initialization process has failled - */ -void onBleInitError(BLE &ble, ble_error_t error) -{ - /* Initialization error handling should go here */ -} - -void printMacAddress() -{ +void printMacAddress() { /* Print out device MAC address to the console*/ Gap::AddressType_t addr_type; Gap::Address_t address; @@ -44,45 +33,72 @@ void printMacAddress() printf("%02x\r\n", address[0]); } -/** - * Callback triggered when the ble initialization process has finished - */ -void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) -{ - BLE& ble = params->ble; - ble_error_t error = params->error; +class BeaconDemo : ble::Gap::EventHandler { +public: + BeaconDemo(BLE &ble, events::EventQueue &eventQueue) : + _ble(ble), + _eventQueue(eventQueue) { } + + void start() { + _ble.gap().setEventHandler(this); - if (error != BLE_ERROR_NONE) { - /* In case of error, forward the error handling to onBleInitError */ - onBleInitError(ble, error); - return; + _ble.init(this, &BeaconDemo::initComplete); + + _eventQueue.dispatch_forever(); } - /* Ensure that it is the default instance of BLE */ - if(ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { - return; +private: + /** Callback triggered when the ble initialization process has finished */ + void initComplete(BLE::InitializationCompleteCallbackContext *params) { + if (params->error != BLE_ERROR_NONE) { + printf("Ble initialization failed."); + return; + } + + printMacAddress(); + + /** + * The Beacon payload has the following composition: + * 128-Bit / 16byte UUID = E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 + * Major/Minor = 0x1122 / 0x3344 + * Tx Power = 0xC8 = 200, 2's compliment is 256-200 = (-56dB) + * + * Note: please remember to calibrate your beacons TX Power for more accurate results. + */ + static const uint8_t uuid[] = { 0xE2, 0x0A, 0x39, 0xF4, 0x73, 0xF5, 0x4B, 0xC4, + 0xA1, 0x2F, 0x17, 0xD1, 0xAD, 0x07, 0xA9, 0x61 }; + uint16_t majorNumber = 1122; + uint16_t minorNumber = 3344; + uint16_t txPower = 0xC8; + + _ibeaconPtr = new iBeacon(_ble, uuid, majorNumber, minorNumber, txPower); + + ble::AdvertisingParameters adv_parameters( + ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::adv_interval_t(ble::millisecond_t(1000)) + ); + + _ble.gap().setAdvertisingParameters( + ble::LEGACY_ADVERTISING_HANDLE, + adv_parameters + ); + + _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } - /** - * The Beacon payload has the following composition: - * 128-Bit / 16byte UUID = E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 - * Major/Minor = 0x1122 / 0x3344 - * Tx Power = 0xC8 = 200, 2's compliment is 256-200 = (-56dB) - * - * Note: please remember to calibrate your beacons TX Power for more accurate results. - */ - static const uint8_t uuid[] = {0xE2, 0x0A, 0x39, 0xF4, 0x73, 0xF5, 0x4B, 0xC4, - 0xA1, 0x2F, 0x17, 0xD1, 0xAD, 0x07, 0xA9, 0x61}; - uint16_t majorNumber = 1122; - uint16_t minorNumber = 3344; - uint16_t txPower = 0xC8; - ibeaconPtr = new iBeacon(ble, uuid, majorNumber, minorNumber, txPower); - - ble.gap().setAdvertisingInterval(1000); /* 1000ms. */ - ble.gap().startAdvertising(); - - printMacAddress(); -} +private: + /* Event handler */ + + void onDisconnection(const ble::DisconnectionEvent&) { + _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + } + +private: + BLE &_ble; + events::EventQueue &_eventQueue; + + iBeacon* _ibeaconPtr; +}; void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { BLE &ble = BLE::Instance(); @@ -93,9 +109,9 @@ int main() { BLE &ble = BLE::Instance(); ble.onEventsToProcess(scheduleBleEventsProcessing); - ble.init(bleInitComplete); - eventQueue.dispatch_forever(); + BeaconDemo demo(ble, eventQueue); + demo.start(); return 0; } From 9460c4d65a5426828f58e86473587f5cf17b5dcc Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 20 Nov 2018 14:43:28 +0000 Subject: [PATCH 004/100] button demo updated --- BLE_BatteryLevel/source/main.cpp | 24 ++--- BLE_Button/source/main.cpp | 146 ++++++++++++++++++------------- 2 files changed, 99 insertions(+), 71 deletions(-) diff --git a/BLE_BatteryLevel/source/main.cpp b/BLE_BatteryLevel/source/main.cpp index fa24349d..0562eb4e 100644 --- a/BLE_BatteryLevel/source/main.cpp +++ b/BLE_BatteryLevel/source/main.cpp @@ -26,6 +26,18 @@ const static char DEVICE_NAME[] = "BATTERY"; static events::EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); +void printMacAddress() { + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + for (int i = 5; i >= 1; i--){ + printf("%02x:", address[i]); + } + printf("%02x\r\n", address[0]); +} + class BatteryDemo : ble::Gap::EventHandler { public: BatteryDemo(BLE &ble, events::EventQueue &eventQueue) : @@ -103,18 +115,6 @@ class BatteryDemo : ble::Gap::EventHandler { led1 = !led1; } - void printMacAddress() { - /* Print out device MAC address to the console */ - Gap::AddressType_t addr_type; - Gap::Address_t address; - _ble.gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - for (int i = 5; i >= 1; i--){ - printf("%02x:", address[i]); - } - printf("%02x\r\n", address[0]); - } - private: /* Event handler */ diff --git a/BLE_Button/source/main.cpp b/BLE_Button/source/main.cpp index d79e130c..61a0e51a 100644 --- a/BLE_Button/source/main.cpp +++ b/BLE_Button/source/main.cpp @@ -22,38 +22,10 @@ DigitalOut led1(LED1, 1); InterruptIn button(BLE_BUTTON_PIN_NAME); - -static EventQueue eventQueue(/* event count */ 10 * EVENTS_EVENT_SIZE); - -const static char DEVICE_NAME[] = "Button"; -static const uint16_t uuid16_list[] = {ButtonService::BUTTON_SERVICE_UUID}; - ButtonService *buttonServicePtr; +const static char DEVICE_NAME[] = "Button"; -void buttonPressedCallback(void) -{ - eventQueue.call(Callback(buttonServicePtr, &ButtonService::updateButtonState), true); -} - -void buttonReleasedCallback(void) -{ - eventQueue.call(Callback(buttonServicePtr, &ButtonService::updateButtonState), false); -} - -void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *params) -{ - BLE::Instance().gap().startAdvertising(); // restart advertising -} - -void blinkCallback(void) -{ - led1 = !led1; /* Do blinky on LED1 to indicate system aliveness. */ -} - -void onBleInitError(BLE &ble, ble_error_t error) -{ - /* Initialization error handling should go here */ -} +static EventQueue eventQueue(/* event count */ 10 * EVENTS_EVENT_SIZE); void printMacAddress() { @@ -68,40 +40,97 @@ void printMacAddress() printf("%02x\r\n", address[0]); } -void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) -{ - BLE& ble = params->ble; - ble_error_t error = params->error; +void buttonPressedCallback(void) { + eventQueue.call(Callback(buttonServicePtr, &ButtonService::updateButtonState), true); +} + +void buttonReleasedCallback(void) { + eventQueue.call(Callback(buttonServicePtr, &ButtonService::updateButtonState), false); +} + +class BatteryDemo : ble::Gap::EventHandler { +public: + BatteryDemo(BLE &ble, events::EventQueue &eventQueue) : + _ble(ble), + _eventQueue(eventQueue), + _buttonUUID(ButtonService::BUTTON_SERVICE_UUID) { } + + void start() { + _ble.gap().setEventHandler(this); - if (error != BLE_ERROR_NONE) { - /* In case of error, forward the error handling to onBleInitError */ - onBleInitError(ble, error); - return; + _ble.init(this, &BatteryDemo::initComplete); + + _eventQueue.call_every(500, this, &BatteryDemo::blinkCallback); + + _eventQueue.dispatch_forever(); } - /* Ensure that it is the default instance of BLE */ - if(ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { - return; +private: + /** Callback triggered when the ble initialization process has finished */ + void initComplete(BLE::InitializationCompleteCallbackContext *params) { + if (params->error != BLE_ERROR_NONE) { + printf("Ble initialization failed."); + return; + } + + printMacAddress(); + + /* Setup primary service. */ + + buttonServicePtr = new ButtonService(_ble, false /* initial value for button pressed */); + + button.fall(buttonPressedCallback); + button.rise(buttonReleasedCallback); + + /* Create advertising parameters and payload */ + + ble::AdvertisingParameters adv_parameters( + ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::adv_interval_t(ble::millisecond_t(1000)) + ); + + uint8_t adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; + + ble::AdvertisingDataBuilder adv_data_builder(adv_buffer); + + adv_data_builder.setFlags(); + adv_data_builder.setLocalServiceList(mbed::make_Span(&_buttonUUID, 1)); + adv_data_builder.setName(DEVICE_NAME); + + /* Setup advertising */ + + _ble.gap().setAdvertisingParameters( + ble::LEGACY_ADVERTISING_HANDLE, + adv_parameters + ); + + _ble.gap().setAdvertisingPayload( + ble::LEGACY_ADVERTISING_HANDLE, + adv_data_builder.getAdvertisingData() + ); + + /* Start advertising */ + + _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } - ble.gap().onDisconnection(disconnectionCallback); + void blinkCallback(void) { + led1 = !led1; + } - button.fall(buttonPressedCallback); - button.rise(buttonReleasedCallback); +private: + /* Event handler */ - /* Setup primary service. */ - buttonServicePtr = new ButtonService(ble, false /* initial value for button pressed */); + void onDisconnection(const ble::DisconnectionEvent&) { + _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + } - /* setup advertising */ - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); - ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); - ble.gap().setAdvertisingInterval(1000); /* 1000ms. */ - ble.gap().startAdvertising(); +private: + BLE &_ble; + events::EventQueue &_eventQueue; - printMacAddress(); -} + UUID _buttonUUID; +}; void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { BLE &ble = BLE::Instance(); @@ -110,13 +139,12 @@ void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) int main() { - eventQueue.call_every(500, blinkCallback); - BLE &ble = BLE::Instance(); ble.onEventsToProcess(scheduleBleEventsProcessing); - ble.init(bleInitComplete); - eventQueue.dispatch_forever(); + BatteryDemo demo(ble, eventQueue); + demo.start(); return 0; } + From 4b0a1ec4119c994620cad020758090c3ab29c6f9 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 21 Nov 2018 11:32:03 +0000 Subject: [PATCH 005/100] missing virtual --- BLE_Button/source/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BLE_Button/source/main.cpp b/BLE_Button/source/main.cpp index 61a0e51a..0b3b0c4d 100644 --- a/BLE_Button/source/main.cpp +++ b/BLE_Button/source/main.cpp @@ -121,7 +121,7 @@ class BatteryDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnection(const ble::DisconnectionEvent&) { + virtual void onDisconnection(const ble::DisconnectionEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } From de12f0de207ff52b9ce7c7cdfae75c38b17de9d5 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 21 Nov 2018 13:40:48 +0000 Subject: [PATCH 006/100] partial API update of gap --- BLE_Button/source/main.cpp | 3 +- BLE_GAP/source/main.cpp | 126 +++++++++++++++++++------------------ 2 files changed, 66 insertions(+), 63 deletions(-) diff --git a/BLE_Button/source/main.cpp b/BLE_Button/source/main.cpp index 0b3b0c4d..0cdd1ca3 100644 --- a/BLE_Button/source/main.cpp +++ b/BLE_Button/source/main.cpp @@ -133,8 +133,7 @@ class BatteryDemo : ble::Gap::EventHandler { }; void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { - BLE &ble = BLE::Instance(); - eventQueue.call(Callback(&ble, &BLE::processEvents)); + eventQueue.call(Callback(&context->ble, &BLE::processEvents)); } int main() diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 000bc166..2bb1a419 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -30,6 +30,8 @@ * a connection will be made to a connectable device upon its discovery. */ +events::EventQueue event_queue; + static const uint8_t DEVICE_NAME[] = "GAP_device"; /* Duration of each mode in milliseconds */ @@ -104,24 +106,25 @@ static const char* to_string(Gap::Phy_t phy) { /** Demonstrate advertising, scanning and connecting */ -class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler +class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandler { public: - GAPDevice() : - _ble(BLE::Instance()), + GapDemo(BLE& ble, events::EventQueue& event_queue) : + _ble(ble), + _event_queue(event_queue), _led1(LED1, 0), _set_index(0), _is_in_scanning_mode(false), _is_connecting(false), _on_duration_end_id(0), - _scan_count(0) { }; + _scan_count(0) { } - ~GAPDevice() + ~GapDemo() { if (_ble.hasInitialized()) { _ble.shutdown(); } - }; + } /** Start BLE interface initialisation */ void run() @@ -133,21 +136,15 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler return; } - /* this will inform us off all events so we can schedule their handling - * using our event queue */ - _ble.onEventsToProcess( - makeFunctionPointer(this, &GAPDevice::schedule_ble_events) - ); - /* handle timeouts, for example when connection attempts fail */ _ble.gap().onTimeout( - makeFunctionPointer(this, &GAPDevice::on_timeout) + makeFunctionPointer(this, &GapDemo::on_timeout) ); /* handle gap events */ _ble.gap().setEventHandler(this); - error = _ble.init(this, &GAPDevice::on_init_complete); + error = _ble.init(this, &GapDemo::on_init_complete); if (error) { printf("Error returned by BLE::init.\r\n"); @@ -155,11 +152,11 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler } /* to show we're running we'll blink every 500ms */ - _event_queue.call_every(500, this, &GAPDevice::blink); + _event_queue.call_every(500, this, &GapDemo::blink); /* this will not return until shutdown */ _event_queue.dispatch_forever(); - }; + } private: /** This is called when BLE interface is initialised and starts the first mode */ @@ -186,21 +183,16 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler } /* all calls are serialised on the user thread through the event queue */ - _event_queue.call(this, &GAPDevice::demo_mode_start); - }; + _event_queue.call(this, &GapDemo::demo_mode_start); + } /** queue up start of the current demo mode */ void demo_mode_start() { if (_is_in_scanning_mode) { - /* when scanning we want to connect to a peer device so we need to - * attach callbacks that are used by Gap to notify us of events */ - _ble.gap().onConnection(this, &GAPDevice::on_connect); - _ble.gap().onDisconnection(this, &GAPDevice::on_disconnect); - - _event_queue.call(this, &GAPDevice::scan); + _event_queue.call(this, &GapDemo::scan); } else { - _event_queue.call(this, &GAPDevice::advertise); + _event_queue.call(this, &GapDemo::advertise); } /* for performance measurement keep track of duration of the demo mode */ @@ -210,7 +202,7 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler /* queue up next demo mode */ _on_duration_end_id = _event_queue.call_in( - MODE_DURATION_MS, this, &GAPDevice::on_duration_end + MODE_DURATION_MS, this, &GapDemo::on_duration_end ); printf("\r\n"); @@ -265,7 +257,7 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler printf("Advertising started (type: 0x%x, interval: %dms, timeout: %ds)\r\n", adv_type, interval, timeout); - }; + } /** Set up and start scanning */ void scan() @@ -297,7 +289,7 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler /* start scanning and attach a callback that will handle advertisements * and scan requests responses */ - error = _ble.gap().startScan(this, &GAPDevice::on_scan); + error = _ble.gap().startScan(); if (error) { printf("Error during Gap::startScan\r\n"); @@ -306,7 +298,7 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler printf("Scanning started (interval: %dms, window: %dms, timeout: %ds).\r\n", interval, window, timeout); - }; + } /** After a set duration this cycles to the next demo mode * unless a connection happened first */ @@ -315,11 +307,14 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler print_performance(); /* alloted time has elapsed, move to next demo mode */ - _event_queue.call(this, &GAPDevice::demo_mode_end); - }; + _event_queue.call(this, &GapDemo::demo_mode_end); + } + +private: + /* Gap::EventHandler */ /** Look at scan payload to find a peer device and connect to it */ - void on_scan(const Gap::AdvertisementCallbackParams_t *params) + virtual void onAdvertisingReport(const ble::AdvertisingReportEvent &event) { /* keep track of scan events for performance reporting */ _scan_count++; @@ -330,17 +325,17 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler } /* parse the advertising payload, looking for a discoverable device */ - for (uint8_t i = 0; i < params->advertisingDataLen; ++i) { + for (uint8_t i = 0; i < event.getAdvertisingData().size(); ++i) { /* The advertising payload is a collection of key/value records where * byte 0: length of the record excluding this byte * byte 1: The key, it is the type of the data * byte [2..N] The value. N is equal to byte0 - 1 */ - const uint8_t record_length = params->advertisingData[i]; + const uint8_t record_length = event.getAdvertisingData()[i]; if (record_length == 0) { continue; } - const uint8_t type = params->advertisingData[i + 1]; - const uint8_t *value = params->advertisingData + i + 2; + const uint8_t type = event.getAdvertisingData()[i + 1]; + const uint8_t *value = event.getAdvertisingData().data() + i + 2; /* connect to a discoverable device */ if ((type == GapAdvertisingData::FLAGS) @@ -351,15 +346,18 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler printf("We found a connectable device\r\n"); + const ble::ConnectionParameters connection_params; + ble_error_t error = _ble.gap().connect( - params->peerAddr, Gap::ADDR_TYPE_RANDOM_STATIC, - NULL, &connection_scan_params + event.getPeerAddressType().getTargetAddressType(), + event.getPeerAddress(), + connection_params ); if (error) { printf("Error during Gap::connect\r\n"); /* since no connection will be attempted end the mode */ - _event_queue.call(this, &GAPDevice::demo_mode_end); + _event_queue.call(this, &GapDemo::demo_mode_end); return; } @@ -373,11 +371,11 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler i += record_length; } - }; + } /** This is called by Gap to notify the application we connected, * in our case it immediately disconnects */ - void on_connect(const Gap::ConnectionCallbackParams_t *connection_event) + virtual void onConnectionComplete(const ble::ConnectionCompleteEvent &event) { print_performance(); @@ -389,17 +387,16 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler _event_queue.call_in( CONNECTION_DURATION, &_ble.gap(), &Gap::disconnect, Gap::REMOTE_USER_TERMINATED_CONNECTION ); - }; + } /** This is called by Gap to notify the application we disconnected, * in our case it calls demo_mode_end() to progress the demo */ - void on_disconnect(const Gap::DisconnectionCallbackParams_t *event) - { + virtual void onDisconnection(const ble::DisconnectionEvent &event) { printf("Disconnected\r\n"); /* we have successfully disconnected ending the demo, move to next mode */ - _event_queue.call(this, &GAPDevice::demo_mode_end); - }; + _event_queue.call(this, &GapDemo::demo_mode_end); + } /** * Implementation of Gap::EventHandler::onReadPhy @@ -451,6 +448,7 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler } } +private: /** called if timeout is reached during advertising, scanning * or connection initiation */ void on_timeout(const Gap::TimeoutSource_t source) @@ -466,14 +464,14 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler break; case Gap::TIMEOUT_SRC_CONN: printf("Failed to connect after scanning %d advertisements\r\n", _scan_count); - _event_queue.call(this, &GAPDevice::print_performance); - _event_queue.call(this, &GAPDevice::demo_mode_end); + _event_queue.call(this, &GapDemo::print_performance); + _event_queue.call(this, &GapDemo::demo_mode_end); break; default: printf("Unexpected timeout\r\n"); break; } - }; + } /** clean up after last run, cycle to the next mode and launch it */ void demo_mode_end() @@ -495,7 +493,7 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler _ble.shutdown(); _event_queue.break_dispatch(); - }; + } /** print some information about our radio activity */ void print_performance() @@ -552,23 +550,17 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler printf("We created at least %d tx and rx events\r\n", events); } } - }; - - /** Schedule processing of events from the BLE middleware in the event queue. */ - void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) - { - _event_queue.call(mbed::callback(&context->ble, &BLE::processEvents)); - }; + } /** Blink LED to show we're running */ void blink(void) { _led1 = !_led1; - }; + } private: BLE &_ble; - events::EventQueue _event_queue; + events::EventQueue &_event_queue; DigitalOut _led1; /* Keep track of our progress through demo modes */ @@ -585,12 +577,24 @@ class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler size_t _scan_count; }; +/** Schedule processing of events from the BLE middleware in the event queue. */ +void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) +{ + event_queue.call(Callback(&context->ble, &BLE::processEvents)); +} + int main() { - GAPDevice gap_device; + BLE &ble = BLE::Instance(); + + /* this will inform us off all events so we can schedule their handling + * using our event queue */ + ble.onEventsToProcess(schedule_ble_events); + + GapDemo demo(ble, event_queue); while (1) { - gap_device.run(); + demo.run(); wait_ms(TIME_BETWEEN_MODES_MS); printf("\r\nStarting next GAP demo mode\r\n"); }; From eb374610be822a3cc58597e1ff2bf2796e54795a Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 22 Nov 2018 11:10:43 +0000 Subject: [PATCH 007/100] update advertising api --- BLE_GAP/source/main.cpp | 176 +++++++++++++++++++++------------------- 1 file changed, 92 insertions(+), 84 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 2bb1a419..ed6eca4c 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -32,7 +32,7 @@ events::EventQueue event_queue; -static const uint8_t DEVICE_NAME[] = "GAP_device"; +static const char DEVICE_NAME[] = "GAP_device"; /* Duration of each mode in milliseconds */ static const size_t MODE_DURATION_MS = 6000; @@ -41,12 +41,11 @@ static const size_t MODE_DURATION_MS = 6000; static const size_t TIME_BETWEEN_MODES_MS = 2000; /* how long to wait before disconnecting in milliseconds */ -static const size_t CONNECTION_DURATION = 3000; +static const size_t CONNECTION_DURATION = 3000; typedef struct { - GapAdvertisingParams::AdvertisingType_t adv_type; - uint16_t interval; - uint16_t timeout; + ble::advertising_type_t adv_type; + ble::adv_interval_t interval; } AdvModeParam_t; typedef struct { @@ -59,10 +58,10 @@ typedef struct { /** the entries in this array are used to configure our advertising * parameters for each of the modes we use in our demo */ static const AdvModeParam_t advertising_params[] = { - /* advertising type interval timeout */ - { GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED, 40,/*ms*/ 3/*s*/}, - { GapAdvertisingParams::ADV_SCANNABLE_UNDIRECTED, 100, 4 }, - { GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED, 100, 0 } + /* advertising type interval */ + { ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, ble::adv_interval_t(40) }, + { ble::advertising_type_t::ADV_SCANNABLE_UNDIRECTED, ble::adv_interval_t(100) }, + { ble::advertising_type_t::ADV_NON_CONNECTABLE_UNDIRECTED, ble::adv_interval_t(100) } }; /* when we cycle through all our advertising modes we will move to scanning modes */ @@ -104,6 +103,19 @@ static const char* to_string(Gap::Phy_t phy) { } } +void printMacAddress() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + for (int i = 5; i >= 1; i--){ + printf("%02x:", address[i]); + } + printf("%02x\r\n", address[0]); +} + /** Demonstrate advertising, scanning and connecting */ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandler @@ -136,11 +148,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } - /* handle timeouts, for example when connection attempts fail */ - _ble.gap().onTimeout( - makeFunctionPointer(this, &GapDemo::on_timeout) - ); - /* handle gap events */ _ble.gap().setEventHandler(this); @@ -167,16 +174,12 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } - /* print device address */ - Gap::AddressType_t addr_type; - Gap::Address_t addr; - _ble.gap().getAddress(&addr_type, addr); - printf("Device address: %02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); + printMacAddress(); /* setup the default phy used in connection to 2M to reduce power consumption */ Gap::PhySet_t tx_phys(/* 1M */ false, /* 2M */ true, /* coded */ false); Gap::PhySet_t rx_phys(/* 1M */ false, /* 2M */ true, /* coded */ false); + ble_error_t err = _ble.gap().setPreferredPhys(&tx_phys, &rx_phys); if (err) { printf("INFO: GAP::setPreferedPhys failed with error code %s", BLE::errorToString(err)); @@ -202,7 +205,9 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* queue up next demo mode */ _on_duration_end_id = _event_queue.call_in( - MODE_DURATION_MS, this, &GapDemo::on_duration_end + MODE_DURATION_MS, + this, + &GapDemo::on_duration_end ); printf("\r\n"); @@ -212,20 +217,18 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle void advertise() { ble_error_t error; - GapAdvertisingData advertising_data; - /* add advertising flags */ - advertising_data.addFlags(GapAdvertisingData::LE_GENERAL_DISCOVERABLE - | GapAdvertisingData::BREDR_NOT_SUPPORTED); + uint8_t adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; - /* add device name */ - advertising_data.addData( - GapAdvertisingData::COMPLETE_LOCAL_NAME, - DEVICE_NAME, - sizeof(DEVICE_NAME) - ); + ble::AdvertisingDataBuilder adv_data_builder(adv_buffer); + + adv_data_builder.setFlags(); + adv_data_builder.setName(DEVICE_NAME); - error = _ble.gap().setAdvertisingPayload(advertising_data); + error = _ble.gap().setAdvertisingPayload( + ble::LEGACY_ADVERTISING_HANDLE, + adv_data_builder.getAdvertisingData() + ); if (error) { printf("Error during Gap::setAdvertisingPayload\r\n"); @@ -234,29 +237,35 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* set the advertising parameters according to currently selected set, * see @AdvertisingType_t for explanation of modes */ - GapAdvertisingParams::AdvertisingType_t adv_type = - advertising_params[_set_index].adv_type; + ble::advertising_type_t adv_type = advertising_params[_set_index].adv_type; - /* how many milliseconds between advertisements, lower interval - * increases the chances of being seen at the cost of more power */ - uint16_t interval = advertising_params[_set_index].interval; + /* interval between advertisements, lower interval increases the chances + * of being seen at the cost of more power */ + ble::adv_interval_t interval = advertising_params[_set_index].interval; - /* advertising will continue for this many seconds or until connected */ - uint16_t timeout = advertising_params[_set_index].timeout; + ble::AdvertisingParameters adv_parameters( + adv_type, + interval, + interval + ); - _ble.gap().setAdvertisingType(adv_type); - _ble.gap().setAdvertisingInterval(interval); - _ble.gap().setAdvertisingTimeout(timeout); + error = _ble.gap().setAdvertisingParameters( + ble::LEGACY_ADVERTISING_HANDLE, + adv_parameters + ); - error = _ble.gap().startAdvertising(); + error = _ble.gap().startAdvertising( + ble::LEGACY_ADVERTISING_HANDLE, + ble::adv_duration_t(ble::second_t(3)) + ); if (error) { printf("Error during Gap::startAdvertising.\r\n"); return; } - printf("Advertising started (type: 0x%x, interval: %dms, timeout: %ds)\r\n", - adv_type, interval, timeout); + printf("Advertising started (type: 0x%x, interval: %d * 0.625ms)\r\n", + adv_type.value(), interval.value()); } /** Set up and start scanning */ @@ -373,20 +382,44 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } } + virtual void onAdvertisingEnd(const ble::AdvertisingEndEvent_t &event) + { + if (!event.isConnected()) { + printf("Stopped advertising early due to timeout parameter\r\n"); + _demo_duration.stop(); + } + } + + virtual void onScanTimeout(const ble::ScanTimeoutEvent&) + { + printf("Stopped scanning early due to timeout parameter\r\n"); + _demo_duration.stop(); + } + /** This is called by Gap to notify the application we connected, * in our case it immediately disconnects */ virtual void onConnectionComplete(const ble::ConnectionCompleteEvent &event) { - print_performance(); + _event_queue.call(this, &GapDemo::print_performance); - printf("Connected in %dms\r\n", _demo_duration.read_ms()); + if (event.getStatus() == BLE_ERROR_NONE) { + printf("Connected in %dms\r\n", _demo_duration.read_ms()); - /* cancel the connect timeout since we connected */ - _event_queue.cancel(_on_duration_end_id); + /* cancel the connect timeout since we connected */ + _event_queue.cancel(_on_duration_end_id); - _event_queue.call_in( - CONNECTION_DURATION, &_ble.gap(), &Gap::disconnect, Gap::REMOTE_USER_TERMINATED_CONNECTION - ); + _event_queue.call_in( + CONNECTION_DURATION, + &_ble.gap(), + &Gap::disconnect, + event.getConnectionHandle(), + Gap::REMOTE_USER_TERMINATED_CONNECTION + ); + } else { + _demo_duration.stop(); + printf("Failed to connect after scanning %d advertisements\r\n", _scan_count); + _event_queue.call(this, &GapDemo::demo_mode_end); + } } /** This is called by Gap to notify the application we disconnected, @@ -449,29 +482,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } private: - /** called if timeout is reached during advertising, scanning - * or connection initiation */ - void on_timeout(const Gap::TimeoutSource_t source) - { - _demo_duration.stop(); - - switch (source) { - case Gap::TIMEOUT_SRC_ADVERTISING: - printf("Stopped advertising early due to timeout parameter\r\n"); - break; - case Gap::TIMEOUT_SRC_SCAN: - printf("Stopped scanning early due to timeout parameter\r\n"); - break; - case Gap::TIMEOUT_SRC_CONN: - printf("Failed to connect after scanning %d advertisements\r\n", _scan_count); - _event_queue.call(this, &GapDemo::print_performance); - _event_queue.call(this, &GapDemo::demo_mode_end); - break; - default: - printf("Unexpected timeout\r\n"); - break; - } - } /** clean up after last run, cycle to the next mode and launch it */ void demo_mode_end() @@ -499,7 +509,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle void print_performance() { /* measure time from mode start, may have been stopped by timeout */ - uint16_t duration = _demo_duration.read_ms(); + uint16_t duration_ms = _demo_duration.read_ms(); if (_is_in_scanning_mode) { /* convert ms into timeslots for accurate calculation as internally @@ -511,7 +521,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle scanning_params[_set_index].window ); uint16_t duration_ts = GapScanningParams::MSEC_TO_SCAN_DURATION_UNITS( - duration + duration_ms ); /* this is how long we scanned for in timeslots */ uint16_t rx_ts = (duration_ts / interval_ts) * window_ts; @@ -520,7 +530,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle printf("We have scanned for %dms with an interval of %d" " timeslot and a window of %d timeslots\r\n", - duration, interval_ts, window_ts); + duration_ms, interval_ts, window_ts); printf("We have been listening on the radio for at least %dms\r\n", rx_ms); @@ -528,23 +538,21 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* convert ms into timeslots for accurate calculation as internally * all durations are in timeslots (0.625ms) */ - uint16_t interval_ts = GapAdvertisingParams::MSEC_TO_ADVERTISEMENT_DURATION_UNITS( - advertising_params[_set_index].interval - ); + uint16_t interval_ts = advertising_params[_set_index].interval.value(); uint16_t duration_ts = GapAdvertisingParams::MSEC_TO_ADVERTISEMENT_DURATION_UNITS( - duration + duration_ms ); /* this is how many times we advertised */ uint16_t events = duration_ts / interval_ts; printf("We have advertised for %dms" " with an interval of %d timeslots\r\n", - duration, interval_ts); + duration_ms, interval_ts); /* non-scannable and non-connectable advertising * skips rx events saving on power consumption */ if (advertising_params[_set_index].adv_type - == GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED) { + == ble::advertising_type_t::ADV_NON_CONNECTABLE_UNDIRECTED) { printf("We created at least %d tx events\r\n", events); } else { printf("We created at least %d tx and rx events\r\n", events); From c9cbe657025ff64196581d317be0c6b74549e46a Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 22 Nov 2018 14:20:59 +0000 Subject: [PATCH 008/100] update scan params --- BLE_GAP/source/main.cpp | 105 +++++++++++++++++----------------------- 1 file changed, 45 insertions(+), 60 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index ed6eca4c..132c7c04 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -46,19 +46,19 @@ static const size_t CONNECTION_DURATION = 3000; typedef struct { ble::advertising_type_t adv_type; ble::adv_interval_t interval; -} AdvModeParam_t; +} DemoAdvParams_t; typedef struct { - uint16_t interval; - uint16_t window; - uint16_t timeout; + ble::scan_interval_t interval; + ble::scan_window_t window; + ble::scan_duration_t duration; bool active; -} ScanModeParam_t; +} DemoScanParam_t; /** the entries in this array are used to configure our advertising * parameters for each of the modes we use in our demo */ -static const AdvModeParam_t advertising_params[] = { - /* advertising type interval */ +static const DemoAdvParams_t advertising_params[] = { + /* advertising type interval */ { ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, ble::adv_interval_t(40) }, { ble::advertising_type_t::ADV_SCANNABLE_UNDIRECTED, ble::adv_interval_t(100) }, { ble::advertising_type_t::ADV_NON_CONNECTABLE_UNDIRECTED, ble::adv_interval_t(100) } @@ -68,27 +68,18 @@ static const AdvModeParam_t advertising_params[] = { /** the entries in this array are used to configure our scanning * parameters for each of the modes we use in our demo */ -static const ScanModeParam_t scanning_params[] = { -/* interval window timeout active */ - { 4,/*ms*/ 4,/*ms*/ 0,/*s*/ false }, - { 160, 100, 3, false }, - { 160, 40, 0, true }, - { 500, 10, 0, false } +static const DemoScanParam_t scanning_params[] = { +/* interval window duration active */ +/* 0.625ms 0.625ms 10ms */ + { ble::scan_interval_t(4), ble::scan_window_t(4), ble::scan_duration_t(0), false }, + { ble::scan_interval_t(160), ble::scan_window_t(100), ble::scan_duration_t(3), false }, + { ble::scan_interval_t(160), ble::scan_window_t(40), ble::scan_duration_t(0), true }, + { ble::scan_interval_t(500), ble::scan_window_t(10), ble::scan_duration_t(0), false } }; -/* parameters to use when attempting to connect to maximise speed of connection */ -static const GapScanningParams connection_scan_params( - GapScanningParams::SCAN_INTERVAL_MAX, - GapScanningParams::SCAN_WINDOW_MAX, - 3, - false -); - /* get number of items in our arrays */ -static const size_t SCAN_PARAM_SET_MAX = - sizeof(scanning_params) / sizeof(GapScanningParams); -static const size_t ADV_PARAM_SET_MAX = - sizeof(advertising_params) / sizeof(GapAdvertisingParams); +static const size_t SCAN_PARAM_SET_MAX = sizeof(scanning_params) / sizeof(DemoScanParam_t); +static const size_t ADV_PARAM_SET_MAX = sizeof(advertising_params) / sizeof(DemoAdvParams_t); static const char* to_string(Gap::Phy_t phy) { switch(phy.value()) { @@ -141,8 +132,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /** Start BLE interface initialisation */ void run() { - ble_error_t error; - if (_ble.hasInitialized()) { printf("Ble instance already initialised.\r\n"); return; @@ -151,7 +140,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* handle gap events */ _ble.gap().setEventHandler(this); - error = _ble.init(this, &GapDemo::on_init_complete); + ble_error_t error = _ble.init(this, &GapDemo::on_init_complete); if (error) { printf("Error returned by BLE::init.\r\n"); @@ -177,12 +166,11 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle printMacAddress(); /* setup the default phy used in connection to 2M to reduce power consumption */ - Gap::PhySet_t tx_phys(/* 1M */ false, /* 2M */ true, /* coded */ false); - Gap::PhySet_t rx_phys(/* 1M */ false, /* 2M */ true, /* coded */ false); + Gap::PhySet_t phys(/* 1M */ false, /* 2M */ true, /* coded */ false); - ble_error_t err = _ble.gap().setPreferredPhys(&tx_phys, &rx_phys); - if (err) { - printf("INFO: GAP::setPreferedPhys failed with error code %s", BLE::errorToString(err)); + ble_error_t error = _ble.gap().setPreferredPhys(&phys, &phys); + if (error) { + printf("INFO: GAP::setPreferedPhys failed with error code %s", BLE::errorToString(error)); } /* all calls are serialised on the user thread through the event queue */ @@ -216,8 +204,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /** Set up and start advertising */ void advertise() { - ble_error_t error; - uint8_t adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; ble::AdvertisingDataBuilder adv_data_builder(adv_buffer); @@ -225,7 +211,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle adv_data_builder.setFlags(); adv_data_builder.setName(DEVICE_NAME); - error = _ble.gap().setAdvertisingPayload( + ble_error_t error = _ble.gap().setAdvertisingPayload( ble::LEGACY_ADVERTISING_HANDLE, adv_data_builder.getAdvertisingData() ); @@ -254,6 +240,11 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle adv_parameters ); + if (error) { + printf("Error during Gap::setAdvertisingParameters.\r\n"); + return; + } + error = _ble.gap().startAdvertising( ble::LEGACY_ADVERTISING_HANDLE, ble::adv_duration_t(ble::second_t(3)) @@ -264,41 +255,44 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } - printf("Advertising started (type: 0x%x, interval: %d * 0.625ms)\r\n", - adv_type.value(), interval.value()); + printf("Advertising started (type: 0x%x, interval: %dms)\r\n", + adv_type.value(), interval.valueInMs() ); } /** Set up and start scanning */ void scan() { - ble_error_t error; - /* scanning happens repeatedly, interval is the number of milliseconds * between each cycle of scanning */ - uint16_t interval = scanning_params[_set_index].interval; + ble::scan_interval_t interval = scanning_params[_set_index].interval; /* number of milliseconds we scan for each time we enter * the scanning cycle after the interval set above */ - uint16_t window = scanning_params[_set_index].window; + ble::scan_window_t window = scanning_params[_set_index].window; /* how long to repeat the cycles of scanning in seconds */ - uint16_t timeout = scanning_params[_set_index].timeout; + ble::scan_duration_t duration = scanning_params[_set_index].duration; /* active scanning will send a scan request to any scanable devices that * we see advertising */ bool active = scanning_params[_set_index].active; /* set the scanning parameters according to currently selected set */ - error = _ble.gap().setScanParams(interval, window, timeout, active); + const ble::ScanParameters params(interval, window, active); + + ble_error_t error = _ble.gap().setScanParameters(params); if (error) { - printf("Error during Gap::setScanParams\r\n"); + printf("Error during Gap::setScanParameters\r\n"); return; } /* start scanning and attach a callback that will handle advertisements * and scan requests responses */ - error = _ble.gap().startScan(); + error = _ble.gap().startScan( + ble::duplicates_filter_t::DISABLE, + duration + ); if (error) { printf("Error during Gap::startScan\r\n"); @@ -306,7 +300,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } printf("Scanning started (interval: %dms, window: %dms, timeout: %ds).\r\n", - interval, window, timeout); + interval.value(), window.value(), duration.value()); } /** After a set duration this cycles to the next demo mode @@ -510,23 +504,17 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle { /* measure time from mode start, may have been stopped by timeout */ uint16_t duration_ms = _demo_duration.read_ms(); + uint16_t duration_ts = ble::scan_duration_t(ble::millisecond_t(duration_ms)).value(); if (_is_in_scanning_mode) { /* convert ms into timeslots for accurate calculation as internally * all durations are in timeslots (0.625ms) */ - uint16_t interval_ts = GapScanningParams::MSEC_TO_SCAN_DURATION_UNITS( - scanning_params[_set_index].interval - ); - uint16_t window_ts = GapScanningParams::MSEC_TO_SCAN_DURATION_UNITS( - scanning_params[_set_index].window - ); - uint16_t duration_ts = GapScanningParams::MSEC_TO_SCAN_DURATION_UNITS( - duration_ms - ); + uint16_t interval_ts = scanning_params[_set_index].interval.value(); + uint16_t window_ts = scanning_params[_set_index].window.value(); /* this is how long we scanned for in timeslots */ uint16_t rx_ts = (duration_ts / interval_ts) * window_ts; /* convert to milliseconds */ - uint16_t rx_ms = (rx_ts * GapScanningParams::UNIT_0_625_MS) / 1000; + uint16_t rx_ms = ble::scan_interval_t(rx_ts).valueInMs(); printf("We have scanned for %dms with an interval of %d" " timeslot and a window of %d timeslots\r\n", @@ -539,9 +527,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* convert ms into timeslots for accurate calculation as internally * all durations are in timeslots (0.625ms) */ uint16_t interval_ts = advertising_params[_set_index].interval.value(); - uint16_t duration_ts = GapAdvertisingParams::MSEC_TO_ADVERTISEMENT_DURATION_UNITS( - duration_ms - ); /* this is how many times we advertised */ uint16_t events = duration_ts / interval_ts; From f0cb500c6411ea2eddee50125b3fa052cbad5f9b Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 22 Nov 2018 16:18:59 +0000 Subject: [PATCH 009/100] update api in button --- BLE_Button/source/main.cpp | 43 ++++-- BLE_GAPButton/source/main.cpp | 249 ++++++++++++++++++++-------------- 2 files changed, 181 insertions(+), 111 deletions(-) diff --git a/BLE_Button/source/main.cpp b/BLE_Button/source/main.cpp index 0cdd1ca3..1aac5f95 100644 --- a/BLE_Button/source/main.cpp +++ b/BLE_Button/source/main.cpp @@ -52,22 +52,22 @@ class BatteryDemo : ble::Gap::EventHandler { public: BatteryDemo(BLE &ble, events::EventQueue &eventQueue) : _ble(ble), - _eventQueue(eventQueue), - _buttonUUID(ButtonService::BUTTON_SERVICE_UUID) { } + _event_queue(eventQueue), + _button_uuid(ButtonService::BUTTON_SERVICE_UUID) { } void start() { _ble.gap().setEventHandler(this); - _ble.init(this, &BatteryDemo::initComplete); + _ble.init(this, &BatteryDemo::on_init_complete); - _eventQueue.call_every(500, this, &BatteryDemo::blinkCallback); + _event_queue.call_every(500, this, &BatteryDemo::blinkCallback); - _eventQueue.dispatch_forever(); + _event_queue.dispatch_forever(); } private: /** Callback triggered when the ble initialization process has finished */ - void initComplete(BLE::InitializationCompleteCallbackContext *params) { + void on_init_complete(BLE::InitializationCompleteCallbackContext *params) { if (params->error != BLE_ERROR_NONE) { printf("Ble initialization failed."); return; @@ -82,6 +82,10 @@ class BatteryDemo : ble::Gap::EventHandler { button.fall(buttonPressedCallback); button.rise(buttonReleasedCallback); + start_advertising(); + } + + void start_advertising() { /* Create advertising parameters and payload */ ble::AdvertisingParameters adv_parameters( @@ -94,24 +98,39 @@ class BatteryDemo : ble::Gap::EventHandler { ble::AdvertisingDataBuilder adv_data_builder(adv_buffer); adv_data_builder.setFlags(); - adv_data_builder.setLocalServiceList(mbed::make_Span(&_buttonUUID, 1)); + adv_data_builder.setLocalServiceList(mbed::make_Span(&_button_uuid, 1)); adv_data_builder.setName(DEVICE_NAME); /* Setup advertising */ - _ble.gap().setAdvertisingParameters( + ble_error_t error = _ble.gap().setAdvertisingParameters( ble::LEGACY_ADVERTISING_HANDLE, adv_parameters ); - _ble.gap().setAdvertisingPayload( + if (error) { + print_error(err, "_ble.gap().setAdvertisingParameters() failed\r\n"); + return; + } + + error = _ble.gap().setAdvertisingPayload( ble::LEGACY_ADVERTISING_HANDLE, adv_data_builder.getAdvertisingData() ); + if (error) { + print_error(err, "_ble.gap().setAdvertisingPayload() failed\r\n"); + return; + } + /* Start advertising */ - _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + + if (error) { + print_error(err, "_ble.gap().startAdvertising() failed\r\n"); + return; + } } void blinkCallback(void) { @@ -127,9 +146,9 @@ class BatteryDemo : ble::Gap::EventHandler { private: BLE &_ble; - events::EventQueue &_eventQueue; + events::EventQueue &_event_queue; - UUID _buttonUUID; + UUID _button_uuid; }; void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { diff --git a/BLE_GAPButton/source/main.cpp b/BLE_GAPButton/source/main.cpp index 67305d6f..b74d4c9d 100644 --- a/BLE_GAPButton/source/main.cpp +++ b/BLE_GAPButton/source/main.cpp @@ -1,5 +1,5 @@ /* mbed Microcontroller Library - * Copyright (c) 2006-2013 ARM Limited + * Copyright (c) 2006-2018 ARM Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,20 +18,10 @@ #include #include "ble/BLE.h" -DigitalOut led1(LED1, 1); -InterruptIn button(BLE_BUTTON_PIN_NAME); -uint8_t cnt; - // Change your device name below -const char DEVICE_NAME[] = "GAPButton"; - -/* We can arbiturarily choose the GAPButton service UUID to be 0xAA00 - * as long as it does not overlap with the UUIDs defined here: - * https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx */ -#define GAPButtonUUID 0xAA00 -const uint16_t uuid16_list[] = {GAPButtonUUID}; +static const char DEVICE_NAME[] = "GAPButton"; -static EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); +static EventQueue event_queue(/* event count */ 16 * EVENTS_EVENT_SIZE); void print_error(ble_error_t error, const char* msg) { @@ -80,34 +70,8 @@ void print_error(ble_error_t error, const char* msg) printf("\r\n"); } -void updatePayload(void) -{ - // Update the count in the SERVICE_DATA field of the advertising payload - uint8_t service_data[3]; - service_data[0] = GAPButtonUUID & 0xff; - service_data[1] = GAPButtonUUID >> 8; - service_data[2] = cnt; // Put the button click count in the third byte - ble_error_t err = BLE::Instance().gap().updateAdvertisingPayload(GapAdvertisingData::SERVICE_DATA, (uint8_t *)service_data, sizeof(service_data)); - if (err != BLE_ERROR_NONE) { - print_error(err, "Updating payload failed"); - } -} - -void buttonPressedCallback(void) -{ - ++cnt; - - // Calling BLE api in interrupt context may cause race conditions - // Using mbed-events to schedule calls to BLE api for safety - eventQueue.call(updatePayload); -} - -void blinkCallback(void) -{ - led1 = !led1; -} -void printMacAddress() +void print_mac_address() { /* Print out device MAC address to the console*/ Gap::AddressType_t addr_type; @@ -120,90 +84,177 @@ void printMacAddress() printf("%02x\r\n", address[0]); } -void bleInitComplete(BLE::InitializationCompleteCallbackContext *context) +/** Demonstrate advertising, scanning and connecting + */ +class GapButtonDemo : private mbed::NonCopyable, public ble::Gap::EventHandler { - BLE& ble = context->ble; - ble_error_t err = context->error; +public: + GapButtonDemo(BLE& ble, events::EventQueue& event_queue) : + _ble(ble), + _event_queue(event_queue), + /* We can arbiturarily choose the GAPButton service UUID to be 0xAA00 + * as long as it does not overlap with the UUIDs defined here: + * https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx */ + _button_uuid(0xAA00), + _led1(LED1, 0), + _button(BLE_BUTTON_PIN_NAME), + _adv_data_builder(_adv_buffer) { } - if (err != BLE_ERROR_NONE) { - print_error(err, "BLE initialisation failed"); - return; + ~GapButtonDemo() + { + if (_ble.hasInitialized()) { + _ble.shutdown(); + } } - // Set up the advertising flags. Note: not all combination of flags are valid - // BREDR_NOT_SUPPORTED: Device does not support Basic Rate or Enchanced Data Rate, It is Low Energy only. - // LE_GENERAL_DISCOVERABLE: Peripheral device is discoverable at any moment - err = ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); - if (err != BLE_ERROR_NONE) { - print_error(err, "Setting GAP flags failed"); - return; + /** Start BLE interface initialisation */ + void run() + { + if (_ble.hasInitialized()) { + printf("Ble instance already initialised.\r\n"); + return; + } + + /* handle gap events */ + _ble.gap().setEventHandler(this); + + ble_error_t error = _ble.init(this, &GapButtonDemo::on_init_complete); + + if (error) { + printf("Error returned by BLE::init.\r\n"); + return; + } + + /* to show we're running we'll blink every 500ms */ + _event_queue.call_every(500, this, &GapButtonDemo::blink); + + /* this will not return until shutdown */ + _event_queue.dispatch_forever(); } - // Put the device name in the advertising payload - err = ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); - if (err != BLE_ERROR_NONE) { - print_error(err, "Setting device name failed"); - return; +private: + /** This is called when BLE interface is initialised and starts the first mode */ + void on_init_complete(BLE::InitializationCompleteCallbackContext *event) + { + if (event->error) { + printf("Error during the initialisation\r\n"); + return; + } + + print_mac_address(); + + _button.rise(Callback(this, &GapButtonDemo::button_pressed_callback)); + + start_advertising(); } - err = ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); - if (err != BLE_ERROR_NONE) { - print_error(err, "Setting service UUID failed"); - return; + void start_advertising() { + /* Create advertising parameters and payload */ + + ble::AdvertisingParameters adv_parameters( + ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::adv_interval_t(ble::millisecond_t(1000)) + ); + + ble::AdvertisingDataBuilder ; + + _adv_data_builder.setFlags(); + _adv_data_builder.setLocalServiceList(mbed::make_Span(&_button_uuid, 1)); + _adv_data_builder.setName(DEVICE_NAME); + + update_button_payload(); + + /* Setup advertising */ + + ble_error_t error = _ble.gap().setAdvertisingParameters( + ble::LEGACY_ADVERTISING_HANDLE, + adv_parameters + ); + + if (error) { + print_error(error, "_ble.gap().setAdvertisingParameters() failed\r\n"); + return; + } + + error = _ble.gap().setAdvertisingPayload( + ble::LEGACY_ADVERTISING_HANDLE, + _adv_data_builder.getAdvertisingData() + ); + + if (error) { + print_error(error, "_ble.gap().setAdvertisingPayload() failed\r\n"); + return; + } + + /* Start advertising */ + + error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + + if (error) { + print_error(error, "_ble.gap().startAdvertising() failed\r\n"); + return; + } } - // The Service Data data type consists of a service UUID with the data associated with that service. - // We will encode the number of button clicks in the Service Data field - // First two bytes of SERVICE_DATA field should contain the UUID of the service - uint8_t service_data[3]; - service_data[0] = GAPButtonUUID & 0xff; - service_data[1] = GAPButtonUUID >> 8; - service_data[2] = cnt; // Put the button click count in the third byte - err = ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::SERVICE_DATA, (uint8_t *)service_data, sizeof(service_data)); - if (err != BLE_ERROR_NONE) { - print_error(err, "Setting service data failed"); - return; + void update_button_payload(void) + { + /* The Service Data data type consists of a service UUID with the data associated with that service. */ + ble_error_t error = _adv_data_builder.setServiceData( + _button_uuid, + mbed::make_Span(&_button_count, 1) + ); + + if (error != BLE_ERROR_NONE) { + print_error(error, "Updating payload failed"); + } } - // It is not connectable as we are just boardcasting - ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED); + void button_pressed_callback(void) + { + ++_button_count; - // Send out the advertising payload every 1000ms - ble.gap().setAdvertisingInterval(1000); + /* Calling BLE api in interrupt context may cause race conditions + Using mbed-events to schedule calls to BLE api for safety */ + _event_queue.call(Callback(this, &GapButtonDemo::update_button_payload)); + } - err = ble.gap().startAdvertising(); - if (err != BLE_ERROR_NONE) { - print_error(err, "Start advertising failed"); - return; + /** Blink LED to show we're running */ + void blink(void) + { + _led1 = !_led1; } - printMacAddress(); -} +private: + BLE &_ble; + events::EventQueue &_event_queue; -void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { - BLE &ble = BLE::Instance(); - eventQueue.call(Callback(&ble, &BLE::processEvents)); + DigitalOut _led1; + const UUID _button_uuid; + + InterruptIn _button; + uint8_t _button_count; + + uint8_t _adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; + ble::AdvertisingDataBuilder _adv_data_builder; +}; + +/** Schedule processing of events from the BLE middleware in the event queue. */ +void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) +{ + event_queue.call(Callback(&context->ble, &BLE::processEvents)); } int main() { - cnt = 0; - BLE &ble = BLE::Instance(); - ble.onEventsToProcess(scheduleBleEventsProcessing); - ble_error_t err = ble.init(bleInitComplete); - if (err != BLE_ERROR_NONE) { - print_error(err, "BLE initialisation failed"); - return 0; - } - // Blink LED every 500 ms to indicate system aliveness - eventQueue.call_every(500, blinkCallback); + /* this will inform us of all events so we can schedule their handling + * using our event queue */ + ble.onEventsToProcess(schedule_ble_events); - // Register function to be called when button is released - button.rise(buttonPressedCallback); + GapButtonDemo demo(ble, event_queue); - eventQueue.dispatch_forever(); + demo.run(); return 0; } From 1a34ec98bf263376331c283765f3cf8d286e294b Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 22 Nov 2018 16:49:24 +0000 Subject: [PATCH 010/100] update gattclient --- BLE_GAP/source/main.cpp | 2 +- BLE_GAPButton/source/main.cpp | 2 -- BLE_GattClient/main.cpp | 54 +++++++++++++++++------------------ 3 files changed, 28 insertions(+), 30 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 132c7c04..cfb94897 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -1,5 +1,5 @@ /* mbed Microcontroller Library - * Copyright (c) 2006-2013 ARM Limited + * Copyright (c) 2006-2018 ARM Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/BLE_GAPButton/source/main.cpp b/BLE_GAPButton/source/main.cpp index b74d4c9d..dd037f71 100644 --- a/BLE_GAPButton/source/main.cpp +++ b/BLE_GAPButton/source/main.cpp @@ -18,7 +18,6 @@ #include #include "ble/BLE.h" -// Change your device name below static const char DEVICE_NAME[] = "GAPButton"; static EventQueue event_queue(/* event count */ 16 * EVENTS_EVENT_SIZE); @@ -70,7 +69,6 @@ void print_error(ble_error_t error, const char* msg) printf("\r\n"); } - void print_mac_address() { /* Print out device MAC address to the console*/ diff --git a/BLE_GattClient/main.cpp b/BLE_GattClient/main.cpp index 27bcdd93..abae8f96 100644 --- a/BLE_GattClient/main.cpp +++ b/BLE_GattClient/main.cpp @@ -1,6 +1,6 @@ /* mbed Microcontroller Library - * Copyright (c) 2006-2017 ARM Limited + * Copyright (c) 2006-2018 ARM Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,7 +42,8 @@ * notifications or indication when available. The client report server * indications and notification until the connection end. */ -class GattClientProcess : private mbed::NonCopyable { +class GattClientProcess : private mbed::NonCopyable, + public ble::Gap::EventHandler { // Internal typedef to this class type. // It is used as a shorthand to pass member function as callbacks. @@ -84,20 +85,7 @@ class GattClientProcess : private mbed::NonCopyable { _event_queue = &event_queue; _client = &_ble_interface->gattClient(); - _ble_interface->gap().onConnection(as_cb(&Self::on_connection)); - _ble_interface->gap().onDisconnection(as_cb(&Self::on_disconnection)); - } - - /** - * Event handler invoked when a connection is established. - * - * This function setup the connection handle to operate on then start the - * discovery process. - */ - void on_connection(const Gap::ConnectionCallbackParams_t* connection_event) - { - _connection_handle = connection_event->handle; - _event_queue->call(mbed::callback(this, &Self::start)); + _ble_interface->gap().setEventHandler(this); } /** @@ -133,17 +121,6 @@ class GattClientProcess : private mbed::NonCopyable { printf("Client process started: initiate service discovery.\r\n"); } - /** - * Stop the discovery process and clean the instance. - */ - void on_disconnection(const Gap::DisconnectionCallbackParams_t* disconnection_event) - { - if (!_client || disconnection_event->handle != _connection_handle) { - return; - } - stop(); - } - /** * Stop the discovery process and clean the instance. */ @@ -170,6 +147,29 @@ class GattClientProcess : private mbed::NonCopyable { printf("Client process stopped.\r\n"); } +private: + /** + * Event handler invoked when a connection is established. + * + * This function setup the connection handle to operate on then start the + * discovery process. + */ + void onConnectionComplete(const ble::ConnectionCompleteEvent &event) + { + _connection_handle = event.connectionHandle; + _event_queue->call(mbed::callback(this, &Self::start)); + } + + /** + * Stop the discovery process and clean the instance. + */ + void onDisconnection(const ble::DisconnectionEvent &event) + { + if (_client && event.connectionHandle == _connection_handle) { + stop(); + } + } + private: //////////////////////////////////////////////////////////////////////////////// // Service and characteristic discovery process. From 10aa534a5757fa79e2be0d6bf5cde7797ff25f7c Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 22 Nov 2018 17:22:23 +0000 Subject: [PATCH 011/100] heartrate api update --- BLE_BatteryLevel/source/main.cpp | 21 ++-- BLE_GAPButton/source/main.cpp | 6 +- BLE_HeartRate/source/main.cpp | 186 +++++++++++++++++++------------ 3 files changed, 128 insertions(+), 85 deletions(-) diff --git a/BLE_BatteryLevel/source/main.cpp b/BLE_BatteryLevel/source/main.cpp index 0562eb4e..1ec843a8 100644 --- a/BLE_BatteryLevel/source/main.cpp +++ b/BLE_BatteryLevel/source/main.cpp @@ -45,7 +45,8 @@ class BatteryDemo : ble::Gap::EventHandler { _eventQueue(eventQueue), _batteryUUID(GattService::UUID_BATTERY_SERVICE), _batteryLevel(50), - _batteryService(ble, _batteryLevel) { } + _batteryService(ble, _batteryLevel), + _adv_data_builder(_adv_buffer) { } void start() { _ble.gap().setEventHandler(this); @@ -75,13 +76,9 @@ class BatteryDemo : ble::Gap::EventHandler { ble::adv_interval_t(ble::millisecond_t(1000)) ); - uint8_t adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; - - ble::AdvertisingDataBuilder adv_data_builder(adv_buffer); - - adv_data_builder.setFlags(); - adv_data_builder.setLocalServiceList(mbed::make_Span(&_batteryUUID, 1)); - adv_data_builder.setName(DEVICE_NAME); + _adv_data_builder.setFlags(); + _adv_data_builder.setLocalServiceList(mbed::make_Span(&_batteryUUID, 1)); + _adv_data_builder.setName(DEVICE_NAME); /* Setup advertising */ @@ -92,7 +89,7 @@ class BatteryDemo : ble::Gap::EventHandler { _ble.gap().setAdvertisingPayload( ble::LEGACY_ADVERTISING_HANDLE, - adv_data_builder.getAdvertisingData() + _adv_data_builder.getAdvertisingData() ); /* Start advertising */ @@ -130,11 +127,13 @@ class BatteryDemo : ble::Gap::EventHandler { uint8_t _batteryLevel; BatteryService _batteryService; + + uint8_t _adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; + ble::AdvertisingDataBuilder _adv_data_builder; }; void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { - BLE &ble = BLE::Instance(); - eventQueue.call(Callback(&ble, &BLE::processEvents)); + eventQueue.call(Callback(&context->ble, &BLE::processEvents)); } int main() diff --git a/BLE_GAPButton/source/main.cpp b/BLE_GAPButton/source/main.cpp index dd037f71..c85f34c8 100644 --- a/BLE_GAPButton/source/main.cpp +++ b/BLE_GAPButton/source/main.cpp @@ -154,8 +154,6 @@ class GapButtonDemo : private mbed::NonCopyable, public ble::Gap: ble::adv_interval_t(ble::millisecond_t(1000)) ); - ble::AdvertisingDataBuilder ; - _adv_data_builder.setFlags(); _adv_data_builder.setLocalServiceList(mbed::make_Span(&_button_uuid, 1)); _adv_data_builder.setName(DEVICE_NAME); @@ -194,7 +192,7 @@ class GapButtonDemo : private mbed::NonCopyable, public ble::Gap: } } - void update_button_payload(void) + void update_button_payload() { /* The Service Data data type consists of a service UUID with the data associated with that service. */ ble_error_t error = _adv_data_builder.setServiceData( @@ -207,7 +205,7 @@ class GapButtonDemo : private mbed::NonCopyable, public ble::Gap: } } - void button_pressed_callback(void) + void button_pressed_callback() { ++_button_count; diff --git a/BLE_HeartRate/source/main.cpp b/BLE_HeartRate/source/main.cpp index 1aa11154..72f42c24 100644 --- a/BLE_HeartRate/source/main.cpp +++ b/BLE_HeartRate/source/main.cpp @@ -20,108 +20,154 @@ #include "ble/Gap.h" #include "ble/services/HeartRateService.h" -DigitalOut led1(LED1, 1); +const static char DEVICE_NAME[] = "Heartrate"; -const static char DEVICE_NAME[] = "HRM"; -static const uint16_t uuid16_list[] = {GattService::UUID_HEART_RATE_SERVICE}; +static events::EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); -static uint8_t hrmCounter = 100; // init HRM to 100bps -static HeartRateService *hrServicePtr; +void printMacAddress() { + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + for (int i = 5; i >= 1; i--){ + printf("%02x:", address[i]); + } + printf("%02x\r\n", address[0]); +} -static EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); +class HeartrateDemo : ble::Gap::EventHandler { +public: + HeartrateDemo(BLE &ble, events::EventQueue &eventQueue) : + _ble(ble), + _eventQueue(eventQueue), + _led1(LED1, 1), + _hr_uuid(GattService::UUID_HEART_RATE_SERVICE), + _hr_counter(100), + _hr_service(ble, _hr_counter, HeartRateService::LOCATION_FINGER), + _adv_data_builder(_adv_buffer) { } -void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *params) -{ - BLE::Instance().gap().startAdvertising(); // restart advertising -} + void start() { + _ble.gap().setEventHandler(this); -void updateSensorValue() { - // Do blocking calls or whatever is necessary for sensor polling. - // In our case, we simply update the HRM measurement. - hrmCounter++; + _ble.init(this, &HeartrateDemo::init_complete); - // 100 <= HRM bps <=175 - if (hrmCounter == 175) { - hrmCounter = 100; + _eventQueue.call_every(500, this, &HeartrateDemo::blink); + _eventQueue.call_every(1000, this, &HeartrateDemo::update_sensor_value); + + _eventQueue.dispatch_forever(); } - hrServicePtr->updateHeartRate(hrmCounter); -} +private: + /** Callback triggered when the ble initialization process has finished */ + void init_complete(BLE::InitializationCompleteCallbackContext *params) { + if (params->error != BLE_ERROR_NONE) { + printf("Ble initialization failed."); + return; + } -void periodicCallback(void) -{ - led1 = !led1; /* Do blinky on LED1 while we're waiting for BLE events */ + printMacAddress(); - if (BLE::Instance().getGapState().connected) { - eventQueue.call(updateSensorValue); + start_advertising(); } -} -void onBleInitError(BLE &ble, ble_error_t error) -{ - (void)ble; - (void)error; - /* Initialization error handling should go here */ -} + void start_advertising() { + /* Create advertising parameters and payload */ -void printMacAddress() -{ - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - for (int i = 5; i >= 1; i--){ - printf("%02x:", address[i]); + ble::AdvertisingParameters adv_parameters( + ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::adv_interval_t(ble::millisecond_t(1000)) + ); + + _adv_data_builder.setFlags(); + _adv_data_builder.setAppearance(ble::adv_data_appearance_t::GENERIC_HEART_RATE_SENSOR); + _adv_data_builder.setLocalServiceList(mbed::make_Span(&_hr_uuid, 1)); + _adv_data_builder.setName(DEVICE_NAME); + + /* Setup advertising */ + + ble_error_t error = _ble.gap().setAdvertisingParameters( + ble::LEGACY_ADVERTISING_HANDLE, + adv_parameters + ); + + if (error) { + printf("_ble.gap().setAdvertisingParameters() failed\r\n"); + return; + } + + error = _ble.gap().setAdvertisingPayload( + ble::LEGACY_ADVERTISING_HANDLE, + _adv_data_builder.getAdvertisingData() + ); + + if (error) { + printf("_ble.gap().setAdvertisingPayload() failed\r\n"); + return; + } + + /* Start advertising */ + + error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + + if (error) { + printf("_ble.gap().startAdvertising() failed\r\n"); + return; + } } - printf("%02x\r\n", address[0]); -} -void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) -{ - BLE& ble = params->ble; - ble_error_t error = params->error; + void update_sensor_value() { + if (_ble.gap().getState().connected) { + // Do blocking calls or whatever is necessary for sensor polling. + // In our case, we simply update the HRM measurement. + _hr_counter++; - if (error != BLE_ERROR_NONE) { - onBleInitError(ble, error); - return; + // 100 <= HRM bps <=175 + if (_hr_counter == 175) { + _hr_counter = 100; + } + + _hr_service.updateHeartRate(_hr_counter); + } } - if (ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { - return; + void blink(void) { + _led1 = !_led1; } - ble.gap().onDisconnection(disconnectionCallback); +private: + /* Event handler */ - /* Setup primary service. */ - hrServicePtr = new HeartRateService(ble, hrmCounter, HeartRateService::LOCATION_FINGER); + void onDisconnection(const ble::DisconnectionEvent&) { + _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + } - /* Setup advertising. */ - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::GENERIC_HEART_RATE_SENSOR); - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); - ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); - ble.gap().setAdvertisingInterval(1000); /* 1000ms */ - ble.gap().startAdvertising(); +private: + BLE &_ble; + events::EventQueue &_eventQueue; + DigitalOut _led1; - printMacAddress(); -} + UUID _hr_uuid; + + uint8_t _hr_counter; + HeartRateService _hr_service; + + uint8_t _adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; + ble::AdvertisingDataBuilder _adv_data_builder; +}; void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { - BLE &ble = BLE::Instance(); - eventQueue.call(Callback(&ble, &BLE::processEvents)); + eventQueue.call(Callback(&context->ble, &BLE::processEvents)); } int main() { - eventQueue.call_every(500, periodicCallback); - BLE &ble = BLE::Instance(); ble.onEventsToProcess(scheduleBleEventsProcessing); - ble.init(bleInitComplete); - eventQueue.dispatch_forever(); + HeartrateDemo demo(ble, eventQueue); + demo.start(); return 0; } + From b965440a3c00b01d542e5c9800fd40386a268129 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Fri, 23 Nov 2018 16:37:05 +0000 Subject: [PATCH 012/100] make examples more uniform --- BLE_BatteryLevel/source/demo.h | 95 +++++++++++ BLE_BatteryLevel/source/main.cpp | 95 ++++++----- BLE_Beacon/source/demo.h | 95 +++++++++++ BLE_Beacon/source/main.cpp | 187 +++++++++++++++++----- BLE_Button/source/demo.h | 95 +++++++++++ BLE_Button/source/main.cpp | 80 +++++----- BLE_GAP/source/demo.h | 95 +++++++++++ BLE_GAP/source/main.cpp | 81 +++++----- BLE_GAPButton/source/demo.h | 95 +++++++++++ BLE_GAPButton/source/main.cpp | 70 +-------- BLE_GattClient/{ => source}/BLEProcess.h | 0 BLE_GattClient/{ => source}/main.cpp | 0 BLE_GattServer/{ => source}/BLEProcess.h | 0 BLE_GattServer/{ => source}/main.cpp | 0 BLE_HeartRate/source/demo.h | 95 +++++++++++ BLE_HeartRate/source/main.cpp | 40 ++--- BLE_LED/.mbed | 2 + BLE_LED/source/demo.h | 95 +++++++++++ BLE_LED/source/main.cpp | 191 ++++++++++++++--------- BLE_LEDBlinker/source/demo.h | 95 +++++++++++ BLE_LEDBlinker/source/main.cpp | 6 +- BLE_Privacy/source/demo.h | 95 +++++++++++ BLE_Privacy/source/main.cpp | 8 +- BLE_SM/source/demo.h | 95 +++++++++++ BLE_SM/source/main.cpp | 1 + BLE_Thermometer/source/demo.h | 95 +++++++++++ BLE_Thermometer/source/main.cpp | 19 +-- 27 files changed, 1460 insertions(+), 365 deletions(-) create mode 100644 BLE_BatteryLevel/source/demo.h create mode 100644 BLE_Beacon/source/demo.h create mode 100644 BLE_Button/source/demo.h create mode 100644 BLE_GAP/source/demo.h create mode 100644 BLE_GAPButton/source/demo.h rename BLE_GattClient/{ => source}/BLEProcess.h (100%) rename BLE_GattClient/{ => source}/main.cpp (100%) rename BLE_GattServer/{ => source}/BLEProcess.h (100%) rename BLE_GattServer/{ => source}/main.cpp (100%) create mode 100644 BLE_HeartRate/source/demo.h create mode 100644 BLE_LED/source/demo.h create mode 100644 BLE_LEDBlinker/source/demo.h create mode 100644 BLE_Privacy/source/demo.h create mode 100644 BLE_SM/source/demo.h create mode 100644 BLE_Thermometer/source/demo.h diff --git a/BLE_BatteryLevel/source/demo.h b/BLE_BatteryLevel/source/demo.h new file mode 100644 index 00000000..e296748c --- /dev/null +++ b/BLE_BatteryLevel/source/demo.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_BatteryLevel/source/main.cpp b/BLE_BatteryLevel/source/main.cpp index 1ec843a8..a0f67114 100644 --- a/BLE_BatteryLevel/source/main.cpp +++ b/BLE_BatteryLevel/source/main.cpp @@ -19,56 +19,49 @@ #include "ble/BLE.h" #include "ble/Gap.h" #include "ble/services/BatteryService.h" +#include "demo.h" static DigitalOut led1(LED1, 1); const static char DEVICE_NAME[] = "BATTERY"; -static events::EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); - -void printMacAddress() { - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - for (int i = 5; i >= 1; i--){ - printf("%02x:", address[i]); - } - printf("%02x\r\n", address[0]); -} +static events::EventQueue event_queue(/* event count */ 16 * EVENTS_EVENT_SIZE); class BatteryDemo : ble::Gap::EventHandler { public: - BatteryDemo(BLE &ble, events::EventQueue &eventQueue) : + BatteryDemo(BLE &ble, events::EventQueue &event_queue) : _ble(ble), - _eventQueue(eventQueue), - _batteryUUID(GattService::UUID_BATTERY_SERVICE), - _batteryLevel(50), - _batteryService(ble, _batteryLevel), + _event_queue(event_queue), + _battery_uuid(GattService::UUID_BATTERY_SERVICE), + _battery_level(50), + _battery_service(ble, _battery_level), _adv_data_builder(_adv_buffer) { } void start() { _ble.gap().setEventHandler(this); - _ble.init(this, &BatteryDemo::initComplete); + _ble.init(this, &BatteryDemo::on_init_complete); - _eventQueue.call_every(500, this, &BatteryDemo::blinkCallback); - _eventQueue.call_every(1000, this, &BatteryDemo::updateSensorValue); + _event_queue.call_every(500, this, &BatteryDemo::blink); + _event_queue.call_every(1000, this, &BatteryDemo::update_sensor_value); - _eventQueue.dispatch_forever(); + _event_queue.dispatch_forever(); } private: /** Callback triggered when the ble initialization process has finished */ - void initComplete(BLE::InitializationCompleteCallbackContext *params) { + void on_init_complete(BLE::InitializationCompleteCallbackContext *params) { if (params->error != BLE_ERROR_NONE) { - printf("Ble initialization failed."); + print_error(params->error, "Ble initialization failed."); return; } - printMacAddress(); + print_mac_address(); + + start_advertising(); + } + void start_advertising() { /* Create advertising parameters and payload */ ble::AdvertisingParameters adv_parameters( @@ -77,38 +70,53 @@ class BatteryDemo : ble::Gap::EventHandler { ); _adv_data_builder.setFlags(); - _adv_data_builder.setLocalServiceList(mbed::make_Span(&_batteryUUID, 1)); + _adv_data_builder.setLocalServiceList(mbed::make_Span(&_battery_uuid, 1)); _adv_data_builder.setName(DEVICE_NAME); /* Setup advertising */ - _ble.gap().setAdvertisingParameters( + ble_error_t error = _ble.gap().setAdvertisingParameters( ble::LEGACY_ADVERTISING_HANDLE, adv_parameters ); - _ble.gap().setAdvertisingPayload( + if (error) { + print_error(error, "_ble.gap().setAdvertisingParameters() failed"); + return; + } + + error = _ble.gap().setAdvertisingPayload( ble::LEGACY_ADVERTISING_HANDLE, _adv_data_builder.getAdvertisingData() ); + if (error) { + print_error(error, "_ble.gap().setAdvertisingPayload() failed"); + return; + } + /* Start advertising */ - _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + + if (error) { + print_error(error, "_ble.gap().startAdvertising() failed"); + return; + } } - void updateSensorValue() { + void update_sensor_value() { if (_ble.gap().getState().connected) { - _batteryLevel++; - if (_batteryLevel > 100) { - _batteryLevel = 20; + _battery_level++; + if (_battery_level > 100) { + _battery_level = 20; } - _batteryService.updateBatteryLevel(_batteryLevel); + _battery_service.updateBatteryLevel(_battery_level); } } - void blinkCallback(void) { + void blink(void) { led1 = !led1; } @@ -121,27 +129,28 @@ class BatteryDemo : ble::Gap::EventHandler { private: BLE &_ble; - events::EventQueue &_eventQueue; + events::EventQueue &_event_queue; - UUID _batteryUUID; + UUID _battery_uuid; - uint8_t _batteryLevel; - BatteryService _batteryService; + uint8_t _battery_level; + BatteryService _battery_service; uint8_t _adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; ble::AdvertisingDataBuilder _adv_data_builder; }; -void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { - eventQueue.call(Callback(&context->ble, &BLE::processEvents)); +/** Schedule processing of events from the BLE middleware in the event queue. */ +void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) { + event_queue.call(Callback(&context->ble, &BLE::processEvents)); } int main() { BLE &ble = BLE::Instance(); - ble.onEventsToProcess(scheduleBleEventsProcessing); + ble.onEventsToProcess(schedule_ble_events); - BatteryDemo demo(ble, eventQueue); + BatteryDemo demo(ble, event_queue); demo.start(); return 0; diff --git a/BLE_Beacon/source/demo.h b/BLE_Beacon/source/demo.h new file mode 100644 index 00000000..e296748c --- /dev/null +++ b/BLE_Beacon/source/demo.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_Beacon/source/main.cpp b/BLE_Beacon/source/main.cpp index d6f6e59f..183a4a3f 100644 --- a/BLE_Beacon/source/main.cpp +++ b/BLE_Beacon/source/main.cpp @@ -17,45 +17,133 @@ #include #include #include "ble/BLE.h" -#include "ble/services/iBeacon.h" - -static events::EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); - -void printMacAddress() { - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - for (int i = 5; i >= 1; i--){ - printf("%02x:", address[i]); - } - printf("%02x\r\n", address[0]); -} +#include "demo.h" + +static events::EventQueue event_queue(/* event count */ 16 * EVENTS_EVENT_SIZE); class BeaconDemo : ble::Gap::EventHandler { public: - BeaconDemo(BLE &ble, events::EventQueue &eventQueue) : + BeaconDemo(BLE &ble, events::EventQueue &event_queue) : _ble(ble), - _eventQueue(eventQueue) { } + _event_queue(event_queue), + _adv_data_builder(_adv_buffer) { } void start() { _ble.gap().setEventHandler(this); - _ble.init(this, &BeaconDemo::initComplete); + _ble.init(this, &BeaconDemo::on_init_complete); - _eventQueue.dispatch_forever(); + _event_queue.dispatch_forever(); } private: + /** + * iBeacon payload builder. + * + * This data structure contains the payload of an iBeacon. The payload is + * built at construction time and application code can set up an iBeacon by + * injecting the raw field into the GAP advertising payload as a + * GapAdvertisingData::MANUFACTURER_SPECIFIC_DATA. + */ + union Payload { + /** + * Raw data of the payload. + */ + uint8_t raw[25]; + struct { + /** + * Beacon manufacturer identifier. + */ + uint16_t companyID; + + /** + * Packet ID; Equal to 2 for an iBeacon. + */ + uint8_t ID; + + /** + * Length of the remaining data presents in the payload. + */ + uint8_t len; + + /** + * Beacon UUID. + */ + uint8_t proximityUUID[16]; + + /** + * Beacon Major group ID. + */ + uint16_t majorNumber; + + /** + * Beacon minor ID. + */ + uint16_t minorNumber; + + /** + * Tx power received at 1 meter; in dBm. + */ + uint8_t txPower; + }; + + /** + * Assemble an iBeacon payload. + * + * @param[in] uuid Beacon network ID. iBeacon operators use this value + * to group their iBeacons into a single network, a single region and + * identify their organization among others. + * + * @param[in] majNum Beacon major group ID. iBeacon exploitants may use + * this field to divide the region into subregions, their network into + * subnetworks. + * + * @param[in] minNum Identifier of the Beacon in its subregion. + * + * @param[in] transmitPower Measured transmit power of the beacon at 1 + * meter. Scanners use this parameter to approximate the distance + * to the beacon. + * + * @param[in] companyIDIn ID of the beacon manufacturer. + */ + Payload( + const uint8_t *uuid, + uint16_t majNum, + uint16_t minNum, + uint8_t transmitPower, + uint16_t companyIDIn + ) : companyID(companyIDIn), + ID(0x02), + len(0x15), + majorNumber(__REV16(majNum)), + minorNumber(__REV16(minNum)), + txPower(transmitPower) + { + memcpy(proximityUUID, uuid, 16); + } + }; + /** Callback triggered when the ble initialization process has finished */ - void initComplete(BLE::InitializationCompleteCallbackContext *params) { + void on_init_complete(BLE::InitializationCompleteCallbackContext *params) { if (params->error != BLE_ERROR_NONE) { printf("Ble initialization failed."); return; } - printMacAddress(); + print_mac_address(); + + start_advertising(); + } + + void start_advertising() { + /* Create advertising parameters and payload */ + + ble::AdvertisingParameters adv_parameters( + ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::adv_interval_t(ble::millisecond_t(1000)) + ); + + _adv_data_builder.setFlags(); /** * The Beacon payload has the following composition: @@ -67,23 +155,45 @@ class BeaconDemo : ble::Gap::EventHandler { */ static const uint8_t uuid[] = { 0xE2, 0x0A, 0x39, 0xF4, 0x73, 0xF5, 0x4B, 0xC4, 0xA1, 0x2F, 0x17, 0xD1, 0xAD, 0x07, 0xA9, 0x61 }; - uint16_t majorNumber = 1122; - uint16_t minorNumber = 3344; - uint16_t txPower = 0xC8; + uint16_t major_number = 1122; + uint16_t minor_number = 3344; + uint16_t tx_power = 0xC8; + uint16_t comp_id = 0x004C; - _ibeaconPtr = new iBeacon(_ble, uuid, majorNumber, minorNumber, txPower); + Payload ibeacon(uuid, major_number, minor_number, tx_power, comp_id); - ble::AdvertisingParameters adv_parameters( - ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, - ble::adv_interval_t(ble::millisecond_t(1000)) - ); + _adv_data_builder.setManufacturerSpecificData(ibeacon.raw); - _ble.gap().setAdvertisingParameters( + /* Setup advertising */ + + ble_error_t error = _ble.gap().setAdvertisingParameters( ble::LEGACY_ADVERTISING_HANDLE, adv_parameters ); - _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + if (error) { + print_error(error, "_ble.gap().setAdvertisingParameters() failed"); + return; + } + + error = _ble.gap().setAdvertisingPayload( + ble::LEGACY_ADVERTISING_HANDLE, + _adv_data_builder.getAdvertisingData() + ); + + if (error) { + print_error(error, "_ble.gap().setAdvertisingPayload() failed"); + return; + } + + /* Start advertising */ + + error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + + if (error) { + print_error(error, "_ble.gap().startAdvertising() failed"); + return; + } } private: @@ -95,22 +205,23 @@ class BeaconDemo : ble::Gap::EventHandler { private: BLE &_ble; - events::EventQueue &_eventQueue; + events::EventQueue &_event_queue; - iBeacon* _ibeaconPtr; + uint8_t _adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; + ble::AdvertisingDataBuilder _adv_data_builder; }; -void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { - BLE &ble = BLE::Instance(); - eventQueue.call(Callback(&ble, &BLE::processEvents)); +/** Schedule processing of events from the BLE middleware in the event queue. */ +void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) { + event_queue.call(Callback(&context->ble, &BLE::processEvents)); } int main() { BLE &ble = BLE::Instance(); - ble.onEventsToProcess(scheduleBleEventsProcessing); + ble.onEventsToProcess(schedule_ble_events); - BeaconDemo demo(ble, eventQueue); + BeaconDemo demo(ble, event_queue); demo.start(); return 0; diff --git a/BLE_Button/source/demo.h b/BLE_Button/source/demo.h new file mode 100644 index 00000000..e296748c --- /dev/null +++ b/BLE_Button/source/demo.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_Button/source/main.cpp b/BLE_Button/source/main.cpp index 1aac5f95..adeafdc3 100644 --- a/BLE_Button/source/main.cpp +++ b/BLE_Button/source/main.cpp @@ -19,48 +19,30 @@ #include "ble/BLE.h" #include "ble/Gap.h" #include "ButtonService.h" +#include "demo.h" -DigitalOut led1(LED1, 1); -InterruptIn button(BLE_BUTTON_PIN_NAME); -ButtonService *buttonServicePtr; const static char DEVICE_NAME[] = "Button"; -static EventQueue eventQueue(/* event count */ 10 * EVENTS_EVENT_SIZE); +static EventQueue event_queue(/* event count */ 10 * EVENTS_EVENT_SIZE); -void printMacAddress() -{ - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - for (int i = 5; i >= 1; i--){ - printf("%02x:", address[i]); - } - printf("%02x\r\n", address[0]); -} - -void buttonPressedCallback(void) { - eventQueue.call(Callback(buttonServicePtr, &ButtonService::updateButtonState), true); -} - -void buttonReleasedCallback(void) { - eventQueue.call(Callback(buttonServicePtr, &ButtonService::updateButtonState), false); -} class BatteryDemo : ble::Gap::EventHandler { public: - BatteryDemo(BLE &ble, events::EventQueue &eventQueue) : + BatteryDemo(BLE &ble, events::EventQueue &event_queue) : _ble(ble), - _event_queue(eventQueue), - _button_uuid(ButtonService::BUTTON_SERVICE_UUID) { } + _event_queue(event_queue), + _led1(LED1, 1), + _button(BLE_BUTTON_PIN_NAME), + _button_service(NULL), + _button_uuid(ButtonService::BUTTON_SERVICE_UUID), + _adv_data_builder(_adv_buffer) { } void start() { _ble.gap().setEventHandler(this); _ble.init(this, &BatteryDemo::on_init_complete); - _event_queue.call_every(500, this, &BatteryDemo::blinkCallback); + _event_queue.call_every(500, this, &BatteryDemo::blink); _event_queue.dispatch_forever(); } @@ -73,14 +55,14 @@ class BatteryDemo : ble::Gap::EventHandler { return; } - printMacAddress(); + print_mac_address(); /* Setup primary service. */ - buttonServicePtr = new ButtonService(_ble, false /* initial value for button pressed */); + _button_service = new ButtonService(_ble, false /* initial value for button pressed */); - button.fall(buttonPressedCallback); - button.rise(buttonReleasedCallback); + _button.fall(Callback(this, &BatteryDemo::button_pressed)); + _button.rise(Callback(this, &BatteryDemo::button_released)); start_advertising(); } @@ -109,17 +91,17 @@ class BatteryDemo : ble::Gap::EventHandler { ); if (error) { - print_error(err, "_ble.gap().setAdvertisingParameters() failed\r\n"); + print_error(error, "_ble.gap().setAdvertisingParameters() failed"); return; } error = _ble.gap().setAdvertisingPayload( ble::LEGACY_ADVERTISING_HANDLE, - adv_data_builder.getAdvertisingData() + _adv_data_builder.getAdvertisingData() ); if (error) { - print_error(err, "_ble.gap().setAdvertisingPayload() failed\r\n"); + print_error(error, "_ble.gap().setAdvertisingPayload() failed"); return; } @@ -128,12 +110,20 @@ class BatteryDemo : ble::Gap::EventHandler { error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); if (error) { - print_error(err, "_ble.gap().startAdvertising() failed\r\n"); + print_error(error, "_ble.gap().startAdvertising() failed"); return; } } - void blinkCallback(void) { + void button_pressed(void) { + _event_queue.call(Callback(_button_service, &ButtonService::updateButtonState), true); + } + + void button_released(void) { + _event_queue.call(Callback(_button_service, &ButtonService::updateButtonState), false); + } + + void blink(void) { led1 = !led1; } @@ -148,19 +138,27 @@ class BatteryDemo : ble::Gap::EventHandler { BLE &_ble; events::EventQueue &_event_queue; + DigitalOut _led1; + InterruptIn _button; + ButtonService *_button_service; + UUID _button_uuid; + + uint8_t _adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; + ble::AdvertisingDataBuilder _adv_data_builder; }; -void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { - eventQueue.call(Callback(&context->ble, &BLE::processEvents)); +/** Schedule processing of events from the BLE middleware in the event queue. */ +void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) { + event_queue.call(Callback(&context->ble, &BLE::processEvents)); } int main() { BLE &ble = BLE::Instance(); - ble.onEventsToProcess(scheduleBleEventsProcessing); + ble.onEventsToProcess(schedule_ble_events); - BatteryDemo demo(ble, eventQueue); + BatteryDemo demo(ble, event_queue); demo.start(); return 0; diff --git a/BLE_GAP/source/demo.h b/BLE_GAP/source/demo.h new file mode 100644 index 00000000..e296748c --- /dev/null +++ b/BLE_GAP/source/demo.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index cfb94897..610ad818 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -17,6 +17,7 @@ #include #include #include "ble/BLE.h" +#include "demo.h" /** This example demonstrates all the basic setup required * to advertise, scan and connect to other devices. @@ -81,32 +82,6 @@ static const DemoScanParam_t scanning_params[] = { static const size_t SCAN_PARAM_SET_MAX = sizeof(scanning_params) / sizeof(DemoScanParam_t); static const size_t ADV_PARAM_SET_MAX = sizeof(advertising_params) / sizeof(DemoAdvParams_t); -static const char* to_string(Gap::Phy_t phy) { - switch(phy.value()) { - case Gap::Phy_t::LE_1M: - return "LE 1M"; - case Gap::Phy_t::LE_2M: - return "LE 2M"; - case Gap::Phy_t::LE_CODED: - return "LE coded"; - default: - return "invalid PHY"; - } -} - -void printMacAddress() -{ - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - for (int i = 5; i >= 1; i--){ - printf("%02x:", address[i]); - } - printf("%02x\r\n", address[0]); -} - /** Demonstrate advertising, scanning and connecting */ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandler @@ -120,7 +95,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _is_in_scanning_mode(false), _is_connecting(false), _on_duration_end_id(0), - _scan_count(0) { } + _scan_count(0), + _adv_data_builder(_adv_buffer) { } ~GapDemo() { @@ -143,7 +119,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ble_error_t error = _ble.init(this, &GapDemo::on_init_complete); if (error) { - printf("Error returned by BLE::init.\r\n"); + print_error(error, "Error returned by BLE::init"); return; } @@ -159,18 +135,18 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle void on_init_complete(BLE::InitializationCompleteCallbackContext *event) { if (event->error) { - printf("Error during the initialisation\r\n"); + print_error(event->error, "Error during the initialisation"); return; } - printMacAddress(); + print_mac_address(); /* setup the default phy used in connection to 2M to reduce power consumption */ Gap::PhySet_t phys(/* 1M */ false, /* 2M */ true, /* coded */ false); ble_error_t error = _ble.gap().setPreferredPhys(&phys, &phys); if (error) { - printf("INFO: GAP::setPreferedPhys failed with error code %s", BLE::errorToString(error)); + print_error(error, "INFO: GAP::setPreferedPhys failed"); } /* all calls are serialised on the user thread through the event queue */ @@ -217,7 +193,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); if (error) { - printf("Error during Gap::setAdvertisingPayload\r\n"); + print_error(error, "Error during Gap::setAdvertisingPayload"); return; } @@ -235,23 +211,34 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle interval ); - error = _ble.gap().setAdvertisingParameters( + /* Setup advertising */ + + ble_error_t error = _ble.gap().setAdvertisingParameters( ble::LEGACY_ADVERTISING_HANDLE, adv_parameters ); if (error) { - printf("Error during Gap::setAdvertisingParameters.\r\n"); + print_error(error, "_ble.gap().setAdvertisingParameters() failed"); return; } - error = _ble.gap().startAdvertising( + error = _ble.gap().setAdvertisingPayload( ble::LEGACY_ADVERTISING_HANDLE, - ble::adv_duration_t(ble::second_t(3)) + _adv_data_builder.getAdvertisingData() ); if (error) { - printf("Error during Gap::startAdvertising.\r\n"); + print_error(error, "_ble.gap().setAdvertisingPayload() failed"); + return; + } + + /* Start advertising */ + + error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + + if (error) { + print_error(error, "_ble.gap().startAdvertising() failed"); return; } @@ -283,7 +270,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ble_error_t error = _ble.gap().setScanParameters(params); if (error) { - printf("Error during Gap::setScanParameters\r\n"); + print_error(error, "Error during Gap::setScanParameters"); return; } @@ -295,7 +282,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); if (error) { - printf("Error during Gap::startScan\r\n"); + print_error(error, "Error during Gap::startScan"); return; } @@ -358,7 +345,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); if (error) { - printf("Error during Gap::connect\r\n"); + print_error(error, "Error during Gap::connect"); /* since no connection will be attempted end the mode */ _event_queue.call(this, &GapDemo::demo_mode_end); return; @@ -444,8 +431,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle printf( "Phy read on connection %d - Tx Phy: %s, Rx Phy: %s\r\n", connectionHandle, - to_string(txPhy), - to_string(rxPhy) + phy_to_string(txPhy), + phy_to_string(rxPhy) ); } } @@ -469,8 +456,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle printf( "Phy update on connection %d - Tx Phy: %s, Rx Phy: %s\r\n", connectionHandle, - to_string(txPhy), - to_string(rxPhy) + phy_to_string(txPhy), + phy_to_string(rxPhy) ); } } @@ -568,11 +555,13 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* Measure performance of our advertising/scanning */ Timer _demo_duration; size_t _scan_count; + + uint8_t _adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; + ble::AdvertisingDataBuilder _adv_data_builder; }; /** Schedule processing of events from the BLE middleware in the event queue. */ -void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) -{ +void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) { event_queue.call(Callback(&context->ble, &BLE::processEvents)); } diff --git a/BLE_GAPButton/source/demo.h b/BLE_GAPButton/source/demo.h new file mode 100644 index 00000000..e296748c --- /dev/null +++ b/BLE_GAPButton/source/demo.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_GAPButton/source/main.cpp b/BLE_GAPButton/source/main.cpp index c85f34c8..6ea7c3c8 100644 --- a/BLE_GAPButton/source/main.cpp +++ b/BLE_GAPButton/source/main.cpp @@ -17,71 +17,12 @@ #include #include #include "ble/BLE.h" +#include "demo.h" static const char DEVICE_NAME[] = "GAPButton"; static EventQueue event_queue(/* event count */ 16 * EVENTS_EVENT_SIZE); -void print_error(ble_error_t error, const char* msg) -{ - printf("%s: ", msg); - switch(error) { - case BLE_ERROR_NONE: - printf("BLE_ERROR_NONE: No error"); - break; - case BLE_ERROR_BUFFER_OVERFLOW: - printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); - break; - case BLE_ERROR_NOT_IMPLEMENTED: - printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); - break; - case BLE_ERROR_PARAM_OUT_OF_RANGE: - printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); - break; - case BLE_ERROR_INVALID_PARAM: - printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); - break; - case BLE_STACK_BUSY: - printf("BLE_STACK_BUSY: The stack is busy"); - break; - case BLE_ERROR_INVALID_STATE: - printf("BLE_ERROR_INVALID_STATE: Invalid state"); - break; - case BLE_ERROR_NO_MEM: - printf("BLE_ERROR_NO_MEM: Out of Memory"); - break; - case BLE_ERROR_OPERATION_NOT_PERMITTED: - printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); - break; - case BLE_ERROR_INITIALIZATION_INCOMPLETE: - printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); - break; - case BLE_ERROR_ALREADY_INITIALIZED: - printf("BLE_ERROR_ALREADY_INITIALIZED"); - break; - case BLE_ERROR_UNSPECIFIED: - printf("BLE_ERROR_UNSPECIFIED: Unknown error"); - break; - case BLE_ERROR_INTERNAL_STACK_FAILURE: - printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); - break; - } - printf("\r\n"); -} - -void print_mac_address() -{ - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - for (int i = 5; i >= 1; i--){ - printf("%02x:", address[i]); - } - printf("%02x\r\n", address[0]); -} - /** Demonstrate advertising, scanning and connecting */ class GapButtonDemo : private mbed::NonCopyable, public ble::Gap::EventHandler @@ -168,7 +109,7 @@ class GapButtonDemo : private mbed::NonCopyable, public ble::Gap: ); if (error) { - print_error(error, "_ble.gap().setAdvertisingParameters() failed\r\n"); + print_error(error, "_ble.gap().setAdvertisingParameters() failed"); return; } @@ -178,7 +119,7 @@ class GapButtonDemo : private mbed::NonCopyable, public ble::Gap: ); if (error) { - print_error(error, "_ble.gap().setAdvertisingPayload() failed\r\n"); + print_error(error, "_ble.gap().setAdvertisingPayload() failed"); return; } @@ -187,7 +128,7 @@ class GapButtonDemo : private mbed::NonCopyable, public ble::Gap: error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); if (error) { - print_error(error, "_ble.gap().startAdvertising() failed\r\n"); + print_error(error, "_ble.gap().startAdvertising() failed"); return; } } @@ -235,8 +176,7 @@ class GapButtonDemo : private mbed::NonCopyable, public ble::Gap: }; /** Schedule processing of events from the BLE middleware in the event queue. */ -void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) -{ +void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) { event_queue.call(Callback(&context->ble, &BLE::processEvents)); } diff --git a/BLE_GattClient/BLEProcess.h b/BLE_GattClient/source/BLEProcess.h similarity index 100% rename from BLE_GattClient/BLEProcess.h rename to BLE_GattClient/source/BLEProcess.h diff --git a/BLE_GattClient/main.cpp b/BLE_GattClient/source/main.cpp similarity index 100% rename from BLE_GattClient/main.cpp rename to BLE_GattClient/source/main.cpp diff --git a/BLE_GattServer/BLEProcess.h b/BLE_GattServer/source/BLEProcess.h similarity index 100% rename from BLE_GattServer/BLEProcess.h rename to BLE_GattServer/source/BLEProcess.h diff --git a/BLE_GattServer/main.cpp b/BLE_GattServer/source/main.cpp similarity index 100% rename from BLE_GattServer/main.cpp rename to BLE_GattServer/source/main.cpp diff --git a/BLE_HeartRate/source/demo.h b/BLE_HeartRate/source/demo.h new file mode 100644 index 00000000..e296748c --- /dev/null +++ b/BLE_HeartRate/source/demo.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_HeartRate/source/main.cpp b/BLE_HeartRate/source/main.cpp index 72f42c24..cec9667c 100644 --- a/BLE_HeartRate/source/main.cpp +++ b/BLE_HeartRate/source/main.cpp @@ -19,28 +19,17 @@ #include "ble/BLE.h" #include "ble/Gap.h" #include "ble/services/HeartRateService.h" +#include "demo.h" const static char DEVICE_NAME[] = "Heartrate"; -static events::EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); - -void printMacAddress() { - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - for (int i = 5; i >= 1; i--){ - printf("%02x:", address[i]); - } - printf("%02x\r\n", address[0]); -} +static events::EventQueue event_queue(/* event count */ 16 * EVENTS_EVENT_SIZE); class HeartrateDemo : ble::Gap::EventHandler { public: - HeartrateDemo(BLE &ble, events::EventQueue &eventQueue) : + HeartrateDemo(BLE &ble, events::EventQueue &event_queue) : _ble(ble), - _eventQueue(eventQueue), + _event_queue(event_queue), _led1(LED1, 1), _hr_uuid(GattService::UUID_HEART_RATE_SERVICE), _hr_counter(100), @@ -50,23 +39,23 @@ class HeartrateDemo : ble::Gap::EventHandler { void start() { _ble.gap().setEventHandler(this); - _ble.init(this, &HeartrateDemo::init_complete); + _ble.init(this, &HeartrateDemo::on_init_complete); - _eventQueue.call_every(500, this, &HeartrateDemo::blink); - _eventQueue.call_every(1000, this, &HeartrateDemo::update_sensor_value); + _event_queue.call_every(500, this, &HeartrateDemo::blink); + _event_queue.call_every(1000, this, &HeartrateDemo::update_sensor_value); - _eventQueue.dispatch_forever(); + _event_queue.dispatch_forever(); } private: /** Callback triggered when the ble initialization process has finished */ - void init_complete(BLE::InitializationCompleteCallbackContext *params) { + void on_init_complete(BLE::InitializationCompleteCallbackContext *params) { if (params->error != BLE_ERROR_NONE) { printf("Ble initialization failed."); return; } - printMacAddress(); + print_mac_address(); start_advertising(); } @@ -144,7 +133,7 @@ class HeartrateDemo : ble::Gap::EventHandler { private: BLE &_ble; - events::EventQueue &_eventQueue; + events::EventQueue &_event_queue; DigitalOut _led1; UUID _hr_uuid; @@ -156,8 +145,9 @@ class HeartrateDemo : ble::Gap::EventHandler { ble::AdvertisingDataBuilder _adv_data_builder; }; -void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { - eventQueue.call(Callback(&context->ble, &BLE::processEvents)); +/** Schedule processing of events from the BLE middleware in the event queue. */ +void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) { + event_queue.call(Callback(&context->ble, &BLE::processEvents)); } int main() @@ -165,7 +155,7 @@ int main() BLE &ble = BLE::Instance(); ble.onEventsToProcess(scheduleBleEventsProcessing); - HeartrateDemo demo(ble, eventQueue); + HeartrateDemo demo(ble, event_queue); demo.start(); return 0; diff --git a/BLE_LED/.mbed b/BLE_LED/.mbed index e87b56dc..d0a01aed 100644 --- a/BLE_LED/.mbed +++ b/BLE_LED/.mbed @@ -1 +1,3 @@ ROOT=. +TARGET=DISCO_L475VG_IOT01A +TOOLCHAIN=ARM diff --git a/BLE_LED/source/demo.h b/BLE_LED/source/demo.h new file mode 100644 index 00000000..7b7c264f --- /dev/null +++ b/BLE_LED/source/demo.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_LED/source/main.cpp b/BLE_LED/source/main.cpp index 6c6f2574..60a59141 100644 --- a/BLE_LED/source/main.cpp +++ b/BLE_LED/source/main.cpp @@ -18,111 +18,146 @@ #include #include "ble/BLE.h" #include "LEDService.h" +#include "demo.h" -DigitalOut alivenessLED(LED1, 0); -DigitalOut actuatedLED(LED2, 0); +const static char DEVICE_NAME[] = "LED"; -const static char DEVICE_NAME[] = "LED"; -static const uint16_t uuid16_list[] = {LEDService::LED_SERVICE_UUID}; +static EventQueue event_queue(/* event count */ 10 * EVENTS_EVENT_SIZE); -static EventQueue eventQueue(/* event count */ 10 * EVENTS_EVENT_SIZE); +class LEDDemo : ble::Gap::EventHandler { +public: + LEDDemo(BLE &ble, events::EventQueue &event_queue) : + _ble(ble), + _event_queue(event_queue), + _alive_led(LED1, 1), + _actuated_led(LED2, 0), + _led_uuid(LEDService::LED_SERVICE_UUID), + _led_service(NULL), + _adv_data_builder(_adv_buffer) { } -LEDService *ledServicePtr; + ~LEDDemo() { + delete _led_service; + } -void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *params) -{ - (void) params; - BLE::Instance().gap().startAdvertising(); -} + void start() { + _ble.gap().setEventHandler(this); -void blinkCallback(void) -{ - alivenessLED = !alivenessLED; /* Do blinky on LED1 to indicate system aliveness. */ -} + _ble.init(this, &LEDDemo::on_init_complete); -/** - * This callback allows the LEDService to receive updates to the ledState Characteristic. - * - * @param[in] params - * Information about the characterisitc being updated. - */ -void onDataWrittenCallback(const GattWriteCallbackParams *params) { - if ((params->handle == ledServicePtr->getValueHandle()) && (params->len == 1)) { - actuatedLED = *(params->data); + _event_queue.call_every(500, this, &LEDDemo::blink); + + _event_queue.dispatch_forever(); } -} -/** - * This function is called when the ble initialization process has failled - */ -void onBleInitError(BLE &ble, ble_error_t error) -{ - /* Initialization error handling should go here */ -} +private: + /** Callback triggered when the ble initialization process has finished */ + void on_init_complete(BLE::InitializationCompleteCallbackContext *params) { + if (params->error != BLE_ERROR_NONE) { + printf("Ble initialization failed."); + return; + } -void printMacAddress() -{ - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - for (int i = 5; i >= 1; i--){ - printf("%02x:", address[i]); + _led_service = new LEDService(_ble, false); + + _ble.gattServer().onDataWritten(this, &LEDDemo::on_data_written); + + print_mac_address(); + + start_advertising(); } - printf("%02x\r\n", address[0]); -} -/** - * Callback triggered when the ble initialization process has finished - */ -void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) -{ - BLE& ble = params->ble; - ble_error_t error = params->error; + void start_advertising() { + /* Create advertising parameters and payload */ + + ble::AdvertisingParameters adv_parameters( + ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::adv_interval_t(ble::millisecond_t(1000)) + ); + + _adv_data_builder.setFlags(); + _adv_data_builder.setLocalServiceList(mbed::make_Span(&_led_uuid, 1)); + _adv_data_builder.setName(DEVICE_NAME); + + /* Setup advertising */ + + ble_error_t error = _ble.gap().setAdvertisingParameters( + ble::LEGACY_ADVERTISING_HANDLE, + adv_parameters + ); + + if (error) { + printf("_ble.gap().setAdvertisingParameters() failed\r\n"); + return; + } + + error = _ble.gap().setAdvertisingPayload( + ble::LEGACY_ADVERTISING_HANDLE, + _adv_data_builder.getAdvertisingData() + ); + + if (error) { + printf("_ble.gap().setAdvertisingPayload() failed\r\n"); + return; + } + + /* Start advertising */ - if (error != BLE_ERROR_NONE) { - /* In case of error, forward the error handling to onBleInitError */ - onBleInitError(ble, error); - return; + error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + + if (error) { + printf("_ble.gap().startAdvertising() failed\r\n"); + return; + } } - /* Ensure that it is the default instance of BLE */ - if(ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { - return; + /** + * This callback allows the LEDService to receive updates to the ledState Characteristic. + * + * @param[in] params Information about the characterisitc being updated. + */ + void on_data_written(const GattWriteCallbackParams *params) { + if ((params->handle == _led_service->getValueHandle()) && (params->len == 1)) { + _actuated_led = *(params->data); + } } - ble.gap().onDisconnection(disconnectionCallback); - ble.gattServer().onDataWritten(onDataWrittenCallback); + void blink() { + _alive_led = !_alive_led; + } - bool initialValueForLEDCharacteristic = false; - ledServicePtr = new LEDService(ble, initialValueForLEDCharacteristic); +private: + /* Event handler */ - /* setup advertising */ - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); - ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); - ble.gap().setAdvertisingInterval(1000); /* 1000ms. */ - ble.gap().startAdvertising(); + void onDisconnection(const ble::DisconnectionEvent&) { + _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + } - printMacAddress(); -} +private: + BLE &_ble; + events::EventQueue &_event_queue; + DigitalOut _alive_led; + DigitalOut _actuated_led; -void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { - BLE &ble = BLE::Instance(); - eventQueue.call(Callback(&ble, &BLE::processEvents)); + UUID _led_uuid; + LEDService *_led_service; + + uint8_t _adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; + ble::AdvertisingDataBuilder _adv_data_builder; +}; + +/** Schedule processing of events from the BLE middleware in the event queue. */ +void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) { + event_queue.call(Callback(&context->ble, &BLE::processEvents)); } int main() { - eventQueue.call_every(500, blinkCallback); - BLE &ble = BLE::Instance(); - ble.onEventsToProcess(scheduleBleEventsProcessing); - ble.init(bleInitComplete); + ble.onEventsToProcess(schedule_ble_events); - eventQueue.dispatch_forever(); + LEDDemo demo(ble, event_queue); + demo.start(); return 0; } + diff --git a/BLE_LEDBlinker/source/demo.h b/BLE_LEDBlinker/source/demo.h new file mode 100644 index 00000000..e296748c --- /dev/null +++ b/BLE_LEDBlinker/source/demo.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_LEDBlinker/source/main.cpp b/BLE_LEDBlinker/source/main.cpp index 82b5ef9a..61052265 100644 --- a/BLE_LEDBlinker/source/main.cpp +++ b/BLE_LEDBlinker/source/main.cpp @@ -19,6 +19,7 @@ #include "ble/BLE.h" #include "ble/DiscoveredCharacteristic.h" #include "ble/DiscoveredService.h" +#include "demo.h" DigitalOut alivenessLED(LED1, 1); static DiscoveredCharacteristic ledCharacteristic; @@ -170,10 +171,7 @@ void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) ble.gattClient().onDataRead(triggerToggledWrite); ble.gattClient().onDataWrite(triggerRead); - // scan interval: 400ms and scan window: 400ms. - // Every 400ms the device will scan for 400ms - // This means that the device will scan continuously. - ble.gap().setScanParams(400, 400); + ble::ScanParams ble.gap().startScan(advertisementCallback); printMacAddress(); diff --git a/BLE_Privacy/source/demo.h b/BLE_Privacy/source/demo.h new file mode 100644 index 00000000..e296748c --- /dev/null +++ b/BLE_Privacy/source/demo.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_Privacy/source/main.cpp b/BLE_Privacy/source/main.cpp index 2e9fdf5a..02034fe3 100644 --- a/BLE_Privacy/source/main.cpp +++ b/BLE_Privacy/source/main.cpp @@ -19,6 +19,7 @@ #include "ble/BLE.h" #include "SecurityManager.h" #include +#include "demo.h" /** This example demonstrates privacy features in Gap. It shows how to use * private addresses when advertising and connecting and how filtering ties @@ -38,13 +39,6 @@ static const uint8_t DEVICE_NAME[] = "Privacy"; -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - /** Base class for both peripheral and central. The same class that provides * the logic for the application also implements the SecurityManagerEventHandler * which is the interface used by the Security Manager to communicate events diff --git a/BLE_SM/source/demo.h b/BLE_SM/source/demo.h new file mode 100644 index 00000000..e296748c --- /dev/null +++ b/BLE_SM/source/demo.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_SM/source/main.cpp b/BLE_SM/source/main.cpp index 61f9ec6d..105c8240 100644 --- a/BLE_SM/source/main.cpp +++ b/BLE_SM/source/main.cpp @@ -18,6 +18,7 @@ #include #include "ble/BLE.h" #include "SecurityManager.h" +#include "demo.h" #if MBED_CONF_APP_FILESYSTEM_SUPPORT #include "LittleFileSystem.h" diff --git a/BLE_Thermometer/source/demo.h b/BLE_Thermometer/source/demo.h new file mode 100644 index 00000000..e296748c --- /dev/null +++ b/BLE_Thermometer/source/demo.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_Thermometer/source/main.cpp b/BLE_Thermometer/source/main.cpp index c499c238..103d5db1 100644 --- a/BLE_Thermometer/source/main.cpp +++ b/BLE_Thermometer/source/main.cpp @@ -18,6 +18,7 @@ #include "mbed.h" #include "ble/BLE.h" #include "ble/services/HealthThermometerService.h" +#include "demo.h" DigitalOut led1(LED1, 1); @@ -51,24 +52,6 @@ void periodicCallback(void) } } -void onBleInitError(BLE &ble, ble_error_t error) -{ - /* Initialization error handling should go here */ -} - -void printMacAddress() -{ - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - for (int i = 5; i >= 1; i--){ - printf("%02x:", address[i]); - } - printf("%02x\r\n", address[0]); -} - void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) { BLE& ble = params->ble; From bb399400ed35d8b45aa74a4f404f28b9bbebfbed Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 26 Nov 2018 15:59:48 +0000 Subject: [PATCH 013/100] fix compilation errors and updates to mbed-os --- BLE_BatteryLevel/source/demo.h | 14 +++++++------- BLE_BatteryLevel/source/main.cpp | 2 +- BLE_Beacon/source/demo.h | 14 +++++++------- BLE_Beacon/source/main.cpp | 8 +++++++- BLE_Button/source/demo.h | 14 +++++++------- BLE_Button/source/main.cpp | 4 ++-- 6 files changed, 31 insertions(+), 25 deletions(-) diff --git a/BLE_BatteryLevel/source/demo.h b/BLE_BatteryLevel/source/demo.h index e296748c..7b7c264f 100644 --- a/BLE_BatteryLevel/source/demo.h +++ b/BLE_BatteryLevel/source/demo.h @@ -64,6 +64,13 @@ void print_error(ble_error_t error, const char* msg) printf("\r\n"); } +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + void print_mac_address() { /* Print out device MAC address to the console*/ @@ -74,13 +81,6 @@ void print_mac_address() print_address(address); } -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: diff --git a/BLE_BatteryLevel/source/main.cpp b/BLE_BatteryLevel/source/main.cpp index a0f67114..4bb784f8 100644 --- a/BLE_BatteryLevel/source/main.cpp +++ b/BLE_BatteryLevel/source/main.cpp @@ -65,7 +65,7 @@ class BatteryDemo : ble::Gap::EventHandler { /* Create advertising parameters and payload */ ble::AdvertisingParameters adv_parameters( - ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::advertising_type_t::CONNECTABLE_UNDIRECTED, ble::adv_interval_t(ble::millisecond_t(1000)) ); diff --git a/BLE_Beacon/source/demo.h b/BLE_Beacon/source/demo.h index e296748c..7b7c264f 100644 --- a/BLE_Beacon/source/demo.h +++ b/BLE_Beacon/source/demo.h @@ -64,6 +64,13 @@ void print_error(ble_error_t error, const char* msg) printf("\r\n"); } +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + void print_mac_address() { /* Print out device MAC address to the console*/ @@ -74,13 +81,6 @@ void print_mac_address() print_address(address); } -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: diff --git a/BLE_Beacon/source/main.cpp b/BLE_Beacon/source/main.cpp index 183a4a3f..da924808 100644 --- a/BLE_Beacon/source/main.cpp +++ b/BLE_Beacon/source/main.cpp @@ -21,6 +21,12 @@ static events::EventQueue event_queue(/* event count */ 16 * EVENTS_EVENT_SIZE); +/** @deprecated This demo is deprecated and no replacement is currently available. + */ +MBED_DEPRECATED_SINCE( + "mbed-os-5.11", + "This demo is deprecated and no replacement is currently available." +) class BeaconDemo : ble::Gap::EventHandler { public: BeaconDemo(BLE &ble, events::EventQueue &event_queue) : @@ -139,7 +145,7 @@ class BeaconDemo : ble::Gap::EventHandler { /* Create advertising parameters and payload */ ble::AdvertisingParameters adv_parameters( - ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::advertising_type_t::CONNECTABLE_UNDIRECTED, ble::adv_interval_t(ble::millisecond_t(1000)) ); diff --git a/BLE_Button/source/demo.h b/BLE_Button/source/demo.h index e296748c..7b7c264f 100644 --- a/BLE_Button/source/demo.h +++ b/BLE_Button/source/demo.h @@ -64,6 +64,13 @@ void print_error(ble_error_t error, const char* msg) printf("\r\n"); } +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + void print_mac_address() { /* Print out device MAC address to the console*/ @@ -74,13 +81,6 @@ void print_mac_address() print_address(address); } -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: diff --git a/BLE_Button/source/main.cpp b/BLE_Button/source/main.cpp index adeafdc3..58086a50 100644 --- a/BLE_Button/source/main.cpp +++ b/BLE_Button/source/main.cpp @@ -71,7 +71,7 @@ class BatteryDemo : ble::Gap::EventHandler { /* Create advertising parameters and payload */ ble::AdvertisingParameters adv_parameters( - ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::advertising_type_t::CONNECTABLE_UNDIRECTED, ble::adv_interval_t(ble::millisecond_t(1000)) ); @@ -124,7 +124,7 @@ class BatteryDemo : ble::Gap::EventHandler { } void blink(void) { - led1 = !led1; + _led1 = !_led1; } private: From d821f015e142e4f1d725252037d3a49ae09bf090 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 26 Nov 2018 17:11:32 +0000 Subject: [PATCH 014/100] update enum names --- BLE_GAP/source/demo.h | 14 +++++++------- BLE_GAP/source/main.cpp | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/BLE_GAP/source/demo.h b/BLE_GAP/source/demo.h index e296748c..7b7c264f 100644 --- a/BLE_GAP/source/demo.h +++ b/BLE_GAP/source/demo.h @@ -64,6 +64,13 @@ void print_error(ble_error_t error, const char* msg) printf("\r\n"); } +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + void print_mac_address() { /* Print out device MAC address to the console*/ @@ -74,13 +81,6 @@ void print_mac_address() print_address(address); } -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 610ad818..4eccff57 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -60,9 +60,9 @@ typedef struct { * parameters for each of the modes we use in our demo */ static const DemoAdvParams_t advertising_params[] = { /* advertising type interval */ - { ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, ble::adv_interval_t(40) }, - { ble::advertising_type_t::ADV_SCANNABLE_UNDIRECTED, ble::adv_interval_t(100) }, - { ble::advertising_type_t::ADV_NON_CONNECTABLE_UNDIRECTED, ble::adv_interval_t(100) } + { ble::advertising_type_t::CONNECTABLE_UNDIRECTED, ble::adv_interval_t(40) }, + { ble::advertising_type_t::SCANNABLE_UNDIRECTED, ble::adv_interval_t(100) }, + { ble::advertising_type_t::NON_CONNECTABLE_UNDIRECTED, ble::adv_interval_t(100) } }; /* when we cycle through all our advertising modes we will move to scanning modes */ @@ -524,7 +524,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* non-scannable and non-connectable advertising * skips rx events saving on power consumption */ if (advertising_params[_set_index].adv_type - == ble::advertising_type_t::ADV_NON_CONNECTABLE_UNDIRECTED) { + == ble::advertising_type_t::NON_CONNECTABLE_UNDIRECTED) { printf("We created at least %d tx events\r\n", events); } else { printf("We created at least %d tx and rx events\r\n", events); From 78bfe0c639512fa2e237593e2ee045f8e417009d Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 26 Nov 2018 17:23:04 +0000 Subject: [PATCH 015/100] apply more api updates --- BLE_GAP/source/main.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 4eccff57..fc9f5ee7 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -213,7 +213,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* Setup advertising */ - ble_error_t error = _ble.gap().setAdvertisingParameters( + error = _ble.gap().setAdvertisingParameters( ble::LEGACY_ADVERTISING_HANDLE, adv_parameters ); @@ -265,7 +265,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle bool active = scanning_params[_set_index].active; /* set the scanning parameters according to currently selected set */ - const ble::ScanParameters params(interval, window, active); + const ble::ScanParameters params(ble::phy_t::LE_1M, interval, window, active); ble_error_t error = _ble.gap().setScanParameters(params); @@ -339,7 +339,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle const ble::ConnectionParameters connection_params; ble_error_t error = _ble.gap().connect( - event.getPeerAddressType().getTargetAddressType(), + event.getPeerAddressType(), event.getPeerAddress(), connection_params ); @@ -363,7 +363,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } } - virtual void onAdvertisingEnd(const ble::AdvertisingEndEvent_t &event) + virtual void onAdvertisingEnd(const ble::AdvertisingEndEvent &event) { if (!event.isConnected()) { printf("Stopped advertising early due to timeout parameter\r\n"); From 1a0942b61e47f0a28b2bd701fd40d0202ace5ac5 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 26 Nov 2018 19:49:55 +0000 Subject: [PATCH 016/100] only one adv builder needed --- BLE_GAP/source/main.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index fc9f5ee7..a67ed95a 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -95,8 +95,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _is_in_scanning_mode(false), _is_connecting(false), _on_duration_end_id(0), - _scan_count(0), - _adv_data_builder(_adv_buffer) { } + _scan_count(0) { } ~GapDemo() { @@ -225,7 +224,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle error = _ble.gap().setAdvertisingPayload( ble::LEGACY_ADVERTISING_HANDLE, - _adv_data_builder.getAdvertisingData() + adv_data_builder.getAdvertisingData() ); if (error) { @@ -555,9 +554,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* Measure performance of our advertising/scanning */ Timer _demo_duration; size_t _scan_count; - - uint8_t _adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; - ble::AdvertisingDataBuilder _adv_data_builder; }; /** Schedule processing of events from the BLE middleware in the event queue. */ From d0a05fda90263a086a6a6f34d1431beae20074bf Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 26 Nov 2018 21:02:45 +0000 Subject: [PATCH 017/100] added advertising sets --- BLE_GAP/source/main.cpp | 187 ++++++++++++++++++++++++++++++---------- 1 file changed, 143 insertions(+), 44 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index a67ed95a..4171559d 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -44,6 +44,11 @@ static const size_t TIME_BETWEEN_MODES_MS = 2000; /* how long to wait before disconnecting in milliseconds */ static const size_t CONNECTION_DURATION = 3000; +/* how many advertising sets we want to crate at once */ +static const uint8_t ADV_SET_NUMBER = 2; + +static const uint16_t MAX_ADVERTISING_PAYLOAD_SIZE = 1000; + typedef struct { ble::advertising_type_t adv_type; ble::adv_interval_t interval; @@ -95,7 +100,11 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _is_in_scanning_mode(false), _is_connecting(false), _on_duration_end_id(0), - _scan_count(0) { } + _scan_count(0) { + for (uint8_t i = 0; i < ADV_SET_NUMBER; ++i) { + _adv_handles[i] = ble::INVALID_ADVERTISING_HANDLE; + } + } ~GapDemo() { @@ -179,22 +188,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /** Set up and start advertising */ void advertise() { - uint8_t adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; - - ble::AdvertisingDataBuilder adv_data_builder(adv_buffer); - - adv_data_builder.setFlags(); - adv_data_builder.setName(DEVICE_NAME); - - ble_error_t error = _ble.gap().setAdvertisingPayload( - ble::LEGACY_ADVERTISING_HANDLE, - adv_data_builder.getAdvertisingData() - ); - - if (error) { - print_error(error, "Error during Gap::setAdvertisingPayload"); - return; - } + ble_error_t error; /* set the advertising parameters according to currently selected set, * see @AdvertisingType_t for explanation of modes */ @@ -204,45 +198,103 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle * of being seen at the cost of more power */ ble::adv_interval_t interval = advertising_params[_set_index].interval; + /* create advertising paramters based on these */ ble::AdvertisingParameters adv_parameters( adv_type, interval, interval ); - /* Setup advertising */ + /* this is the memory backing for the payload */ + uint8_t adv_buffer[MAX_ADVERTISING_PAYLOAD_SIZE]; - error = _ble.gap().setAdvertisingParameters( - ble::LEGACY_ADVERTISING_HANDLE, - adv_parameters - ); + /* how many sets */ + uint8_t max_adv_set = _ble.gap().getMaxAdvertisingSetNumber(); - if (error) { - print_error(error, "_ble.gap().setAdvertisingParameters() failed"); - return; + if (max_adv_set > ADV_SET_NUMBER) { + max_adv_set = ADV_SET_NUMBER; } - error = _ble.gap().setAdvertisingPayload( - ble::LEGACY_ADVERTISING_HANDLE, - adv_data_builder.getAdvertisingData() - ); + /* how much payload in a set */ + uint8_t max_adv_size = _ble.gap().getMaxAdvertisingDataLength(); - if (error) { - print_error(error, "_ble.gap().setAdvertisingPayload() failed"); - return; + if (max_adv_size > MAX_ADVERTISING_PAYLOAD_SIZE) { + max_adv_size = MAX_ADVERTISING_PAYLOAD_SIZE; } - /* Start advertising */ + /* create and start all requested (and possible) advertising sets */ + for (uint8_t i = 0; i < max_adv_set; ++i) { - error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + /* If controller is capable of only one advertising set then only + * legacy advertising can be used. Legacy advertising set is created + * at startup. Calling createAdvertisingSet() would fail as there + * aren't any free sets left. */ + if (max_adv_set == 1) { - if (error) { - print_error(error, "_ble.gap().startAdvertising() failed"); - return; - } + /* only one set will be used - the legacy set which doesn't require creating */ + _adv_handles[i] = ble::LEGACY_ADVERTISING_HANDLE; + + /* since the legacy set has been created at startup with default parameters + * we have to apply our new parameters now */ + error = _ble.gap().setAdvertisingParameters( + _adv_handles[i], + adv_parameters + ); + + if (error) { + print_error(error, "_ble.gap().setAdvertisingParameters() failed"); + return; + } + + /* limit the size to what legacy advertising can handle */ + max_adv_size = ble::LEGACY_ADVERTISING_MAX_SIZE; + + } else { + /* we can have multiple sets - create a new advertising set with our parameters */ + error = _ble.gap().createAdvertisingSet( + &_adv_handles[i], + adv_parameters + ); - printf("Advertising started (type: 0x%x, interval: %dms)\r\n", - adv_type.value(), interval.valueInMs() ); + if (error) { + print_error(error, "_ble.gap().createAdvertisingSet() failed"); + return; + } + } + + /* use the helper to build the payload */ + ble::AdvertisingDataBuilder adv_data_builder( + adv_buffer, + max_adv_size + ); + + adv_data_builder.setFlags(); + adv_data_builder.setName(DEVICE_NAME); + + /* Set payload for the set */ + error = _ble.gap().setAdvertisingPayload( + _adv_handles[i], + adv_data_builder.getAdvertisingData() + ); + + if (error) { + print_error(error, "_ble.gap().setAdvertisingPayload() failed"); + return; + } + + /* Start advertising the set */ + error = _ble.gap().startAdvertising( + _adv_handles[i] + ); + + if (error) { + print_error(error, "_ble.gap().startAdvertising() failed"); + return; + } + + printf("Advertising started (type: 0x%x, interval: %dms)\r\n", + adv_type.value(), interval.valueInMs() ); + } } /** Set up and start scanning */ @@ -269,7 +321,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ble_error_t error = _ble.gap().setScanParameters(params); if (error) { - print_error(error, "Error during Gap::setScanParameters"); + print_error(error, "Error caused by Gap::setScanParameters"); return; } @@ -281,7 +333,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); if (error) { - print_error(error, "Error during Gap::startScan"); + print_error(error, "Error caused by Gap::startScan"); return; } @@ -293,10 +345,41 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle * unless a connection happened first */ void on_duration_end() { + ble_error_t error; + print_performance(); /* alloted time has elapsed, move to next demo mode */ _event_queue.call(this, &GapDemo::demo_mode_end); + + /* stop scanning and advertising */ + if (_is_in_scanning_mode) { + error = _ble.gap().stopScan(); + + if (error) { + print_error(error, "Error caused by Gap::stopScan"); + return; + } + } else { + for (uint8_t i = 0; i < ADV_SET_NUMBER; ++i) { + if (_adv_handles[i] != ble::INVALID_ADVERTISING_HANDLE) { + if (_ble.gap().isAdvertisingActive(_adv_handles[i])) { + error = _ble.gap().stopAdvertising(_adv_handles[i]); + + if (error) { + print_error(error, "Error caused by Gap::stopAdvertising"); + return; + } + } + error = _ble.gap().destroyAdvertisingSet(_adv_handles[i]); + + if (error) { + print_error(error, "Error caused by Gap::destroyAdvertisingSet"); + return; + } + } + } + } } private: @@ -344,7 +427,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); if (error) { - print_error(error, "Error during Gap::connect"); + print_error(error, "Error caused by Gap::connect"); /* since no connection will be attempted end the mode */ _event_queue.call(this, &GapDemo::demo_mode_end); return; @@ -509,17 +592,31 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle printf("We have been listening on the radio for at least %dms\r\n", rx_ms); } else /* advertising */ { + uint8_t number_of_active_sets = 0; + + for (uint8_t i = 0; i < ADV_SET_NUMBER; ++i) { + if (_adv_handles[i] != ble::INVALID_ADVERTISING_HANDLE) { + if (_ble.gap().isAdvertisingActive(_adv_handles[i])) { + number_of_active_sets++; + } + } + } /* convert ms into timeslots for accurate calculation as internally * all durations are in timeslots (0.625ms) */ uint16_t interval_ts = advertising_params[_set_index].interval.value(); /* this is how many times we advertised */ - uint16_t events = duration_ts / interval_ts; + uint16_t events =( duration_ts / interval_ts) * number_of_active_sets; printf("We have advertised for %dms" " with an interval of %d timeslots\r\n", duration_ms, interval_ts); + if (number_of_active_sets > 1) { + printf("We had %d active advertising sets\r\n", + number_of_active_sets); + } + /* non-scannable and non-connectable advertising * skips rx events saving on power consumption */ if (advertising_params[_set_index].adv_type @@ -554,6 +651,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* Measure performance of our advertising/scanning */ Timer _demo_duration; size_t _scan_count; + + ble::advertising_handle_t _adv_handles[ADV_SET_NUMBER]; }; /** Schedule processing of events from the BLE middleware in the event queue. */ From 8b311d48c79e007cf7e6ea5b0b3051fa0dfd829a Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 26 Nov 2018 22:07:34 +0000 Subject: [PATCH 018/100] handle ending early due to connection with many sets --- BLE_GAP/source/main.cpp | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 4171559d..0539b23e 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -179,7 +179,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _on_duration_end_id = _event_queue.call_in( MODE_DURATION_MS, this, - &GapDemo::on_duration_end + &GapDemo::end_demo_mode ); printf("\r\n"); @@ -242,7 +242,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); if (error) { - print_error(error, "_ble.gap().setAdvertisingParameters() failed"); + print_error(error, "Gap::setAdvertisingParameters() failed"); return; } @@ -257,7 +257,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); if (error) { - print_error(error, "_ble.gap().createAdvertisingSet() failed"); + print_error(error, "Gap::createAdvertisingSet() failed"); return; } } @@ -278,7 +278,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); if (error) { - print_error(error, "_ble.gap().setAdvertisingPayload() failed"); + print_error(error, "Gap::setAdvertisingPayload() failed"); return; } @@ -288,7 +288,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); if (error) { - print_error(error, "_ble.gap().startAdvertising() failed"); + print_error(error, "Gap::startAdvertising() failed"); return; } @@ -343,15 +343,12 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /** After a set duration this cycles to the next demo mode * unless a connection happened first */ - void on_duration_end() + void end_demo_mode() { ble_error_t error; print_performance(); - /* alloted time has elapsed, move to next demo mode */ - _event_queue.call(this, &GapDemo::demo_mode_end); - /* stop scanning and advertising */ if (_is_in_scanning_mode) { error = _ble.gap().stopScan(); @@ -380,6 +377,9 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } } } + + /* alloted time has elapsed, move to next demo mode */ + _event_queue.call(this, &GapDemo::next_demo_mode); } private: @@ -429,7 +429,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle if (error) { print_error(error, "Error caused by Gap::connect"); /* since no connection will be attempted end the mode */ - _event_queue.call(this, &GapDemo::demo_mode_end); + _event_queue.call(this, &GapDemo::end_demo_mode); return; } @@ -447,9 +447,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle virtual void onAdvertisingEnd(const ble::AdvertisingEndEvent &event) { - if (!event.isConnected()) { - printf("Stopped advertising early due to timeout parameter\r\n"); - _demo_duration.stop(); + if (event.isConnected()) { + printf("Stopped advertising early due to connection\r\n"); } } @@ -463,7 +462,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle * in our case it immediately disconnects */ virtual void onConnectionComplete(const ble::ConnectionCompleteEvent &event) { - _event_queue.call(this, &GapDemo::print_performance); + _demo_duration.stop(); if (event.getStatus() == BLE_ERROR_NONE) { printf("Connected in %dms\r\n", _demo_duration.read_ms()); @@ -479,19 +478,18 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle Gap::REMOTE_USER_TERMINATED_CONNECTION ); } else { - _demo_duration.stop(); printf("Failed to connect after scanning %d advertisements\r\n", _scan_count); - _event_queue.call(this, &GapDemo::demo_mode_end); + _event_queue.call(this, &GapDemo::end_demo_mode); } } /** This is called by Gap to notify the application we disconnected, - * in our case it calls demo_mode_end() to progress the demo */ + * in our case it calls next_demo_mode() to progress the demo */ virtual void onDisconnection(const ble::DisconnectionEvent &event) { printf("Disconnected\r\n"); /* we have successfully disconnected ending the demo, move to next mode */ - _event_queue.call(this, &GapDemo::demo_mode_end); + _event_queue.call(this, &GapDemo::end_demo_mode); } /** @@ -547,7 +545,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle private: /** clean up after last run, cycle to the next mode and launch it */ - void demo_mode_end() + void next_demo_mode() { /* reset the demo ready for the next mode */ _scan_count = 0; From 5fd22e9b17122e5b55f48d498825f3bb5d287f58 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 26 Nov 2018 22:32:07 +0000 Subject: [PATCH 019/100] use non legacy pdu, check errors, different names --- BLE_GAP/source/main.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 0539b23e..1ef67612 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -33,8 +33,6 @@ events::EventQueue event_queue; -static const char DEVICE_NAME[] = "GAP_device"; - /* Duration of each mode in milliseconds */ static const size_t MODE_DURATION_MS = 6000; @@ -49,6 +47,8 @@ static const uint8_t ADV_SET_NUMBER = 2; static const uint16_t MAX_ADVERTISING_PAYLOAD_SIZE = 1000; +static char DEVICE_NAME[] = "Advertiser 1"; + typedef struct { ble::advertising_type_t adv_type; ble::adv_interval_t interval; @@ -250,6 +250,10 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle max_adv_size = ble::LEGACY_ADVERTISING_MAX_SIZE; } else { + /* we can use larger PDUs */ + adv_parameters.setUseLegacyPDU(false); + adv_parameters.setOwnAddressType(ble::own_address_type_t::RANDOM); + /* we can have multiple sets - create a new advertising set with our parameters */ error = _ble.gap().createAdvertisingSet( &_adv_handles[i], @@ -269,7 +273,15 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); adv_data_builder.setFlags(); - adv_data_builder.setName(DEVICE_NAME); + + MBED_ASSERT(i < 9); + sprintf(DEVICE_NAME, "Advertiser %d", i); + error = adv_data_builder.setName(DEVICE_NAME); + + if (error) { + print_error(error, "Gap::setName() failed"); + return; + } /* Set payload for the set */ error = _ble.gap().setAdvertisingPayload( From b23287d1891b4696142fb3c10b4eaef477d9e3ad Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 26 Nov 2018 22:36:39 +0000 Subject: [PATCH 020/100] remove random type to make things simple --- BLE_GAP/source/main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 1ef67612..fb9b9904 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -252,7 +252,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } else { /* we can use larger PDUs */ adv_parameters.setUseLegacyPDU(false); - adv_parameters.setOwnAddressType(ble::own_address_type_t::RANDOM); /* we can have multiple sets - create a new advertising set with our parameters */ error = _ble.gap().createAdvertisingSet( @@ -274,6 +273,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle adv_data_builder.setFlags(); + + /* set different name to each set */ MBED_ASSERT(i < 9); sprintf(DEVICE_NAME, "Advertiser %d", i); error = adv_data_builder.setName(DEVICE_NAME); From 463c9f4be13a86ef6d9ce4d1ebf4c09f4fb53694 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 27 Nov 2018 14:34:46 +0000 Subject: [PATCH 021/100] don't destroy legacy --- BLE_GAP/source/main.cpp | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index fb9b9904..2971f897 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -47,7 +47,7 @@ static const uint8_t ADV_SET_NUMBER = 2; static const uint16_t MAX_ADVERTISING_PAYLOAD_SIZE = 1000; -static char DEVICE_NAME[] = "Advertiser 1"; +static char DEVICE_NAME[] = "Advertiser x"; typedef struct { ble::advertising_type_t adv_type; @@ -354,8 +354,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle interval.value(), window.value(), duration.value()); } - /** After a set duration this cycles to the next demo mode - * unless a connection happened first */ + /** Finish the mode by shutting down advertising or scanning and move to the next mode. */ void end_demo_mode() { ble_error_t error; @@ -371,8 +370,11 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } } else { + /* go through all the created advertising sets to shut them down and remove them */ for (uint8_t i = 0; i < ADV_SET_NUMBER; ++i) { + /* check if the set has been sucesfully created */ if (_adv_handles[i] != ble::INVALID_ADVERTISING_HANDLE) { + /* if it's still active, stop it */ if (_ble.gap().isAdvertisingActive(_adv_handles[i])) { error = _ble.gap().stopAdvertising(_adv_handles[i]); @@ -381,17 +383,21 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } } - error = _ble.gap().destroyAdvertisingSet(_adv_handles[i]); + /* you cannot destroy or create the legacy advertising set, + * it's always available, others may be removed when no longer needed */ + if (_adv_handles[i] != ble::LEGACY_ADVERTISING_HANDLE) { + error = _ble.gap().destroyAdvertisingSet(_adv_handles[i]); - if (error) { - print_error(error, "Error caused by Gap::destroyAdvertisingSet"); - return; + if (error) { + print_error(error, "Error caused by Gap::destroyAdvertisingSet"); + return; + } } } } } - /* alloted time has elapsed, move to next demo mode */ + /* alloted time has elapsed or be connected, move to next demo mode */ _event_queue.call(this, &GapDemo::next_demo_mode); } @@ -557,7 +563,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle private: - /** clean up after last run, cycle to the next mode and launch it */ + /** Clean up internal state after last run, cycle to the next mode and launch it */ void next_demo_mode() { /* reset the demo ready for the next mode */ @@ -597,7 +603,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle uint16_t rx_ms = ble::scan_interval_t(rx_ts).valueInMs(); printf("We have scanned for %dms with an interval of %d" - " timeslot and a window of %d timeslots\r\n", + " timeslots and a window of %d timeslots\r\n", duration_ms, interval_ts, window_ts); printf("We have been listening on the radio for at least %dms\r\n", rx_ms); @@ -619,8 +625,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* this is how many times we advertised */ uint16_t events =( duration_ts / interval_ts) * number_of_active_sets; - printf("We have advertised for %dms" - " with an interval of %d timeslots\r\n", + printf("We have advertised for %dms with an interval of %d timeslots\r\n", duration_ms, interval_ts); if (number_of_active_sets > 1) { From a28d54718fb969c3ff3afa75feacedc0a3136e5e Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 27 Nov 2018 15:06:47 +0000 Subject: [PATCH 022/100] fix timeout too short --- BLE_GAP/source/main.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 2971f897..2c0e5f93 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -75,12 +75,12 @@ static const DemoAdvParams_t advertising_params[] = { /** the entries in this array are used to configure our scanning * parameters for each of the modes we use in our demo */ static const DemoScanParam_t scanning_params[] = { -/* interval window duration active */ -/* 0.625ms 0.625ms 10ms */ - { ble::scan_interval_t(4), ble::scan_window_t(4), ble::scan_duration_t(0), false }, - { ble::scan_interval_t(160), ble::scan_window_t(100), ble::scan_duration_t(3), false }, - { ble::scan_interval_t(160), ble::scan_window_t(40), ble::scan_duration_t(0), true }, - { ble::scan_interval_t(500), ble::scan_window_t(10), ble::scan_duration_t(0), false } +/* interval window duration active */ +/* 0.625ms 0.625ms 10ms */ + { ble::scan_interval_t(4), ble::scan_window_t(4), ble::scan_duration_t(0), false }, + { ble::scan_interval_t(160), ble::scan_window_t(100), ble::scan_duration_t(300), false }, + { ble::scan_interval_t(160), ble::scan_window_t(40), ble::scan_duration_t(0), true }, + { ble::scan_interval_t(500), ble::scan_window_t(10), ble::scan_duration_t(0), false } }; /* get number of items in our arrays */ @@ -154,7 +154,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ble_error_t error = _ble.gap().setPreferredPhys(&phys, &phys); if (error) { - print_error(error, "INFO: GAP::setPreferedPhys failed"); + print_error(error, "GAP::setPreferedPhys failed"); } /* all calls are serialised on the user thread through the event queue */ From 06304219cf45c7236006bfaa1442c12ae8567735 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 27 Nov 2018 16:08:48 +0000 Subject: [PATCH 023/100] stop scan before connect --- BLE_GAP/source/main.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 2c0e5f93..004574a0 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -437,9 +437,16 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle printf("We found a connectable device\r\n"); + ble_error_t error = _ble.gap().stopScan(); + + if (error) { + print_error(error, "Error caused by Gap::stopScan"); + return; + } + const ble::ConnectionParameters connection_params; - ble_error_t error = _ble.gap().connect( + error = _ble.gap().connect( event.getPeerAddressType(), event.getPeerAddress(), connection_params From 29c7d6a9344f595b50d16253ca8b54324e24f1c5 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 27 Nov 2018 16:09:06 +0000 Subject: [PATCH 024/100] correct performance ms measure --- BLE_GAP/source/main.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 004574a0..82bb41d9 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -597,11 +597,11 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle { /* measure time from mode start, may have been stopped by timeout */ uint16_t duration_ms = _demo_duration.read_ms(); - uint16_t duration_ts = ble::scan_duration_t(ble::millisecond_t(duration_ms)).value(); if (_is_in_scanning_mode) { /* convert ms into timeslots for accurate calculation as internally * all durations are in timeslots (0.625ms) */ + uint16_t duration_ts = ble::scan_interval_t(ble::millisecond_t(duration_ms)).value(); uint16_t interval_ts = scanning_params[_set_index].interval.value(); uint16_t window_ts = scanning_params[_set_index].window.value(); /* this is how long we scanned for in timeslots */ @@ -628,9 +628,10 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* convert ms into timeslots for accurate calculation as internally * all durations are in timeslots (0.625ms) */ + uint16_t duration_ts = ble::adv_interval_t(ble::millisecond_t(duration_ms)).value(); uint16_t interval_ts = advertising_params[_set_index].interval.value(); /* this is how many times we advertised */ - uint16_t events =( duration_ts / interval_ts) * number_of_active_sets; + uint16_t events = (duration_ts / interval_ts) * number_of_active_sets; printf("We have advertised for %dms with an interval of %d timeslots\r\n", duration_ms, interval_ts); From 736339f51419d5c03b53b7ea4d4a7d453ee67561 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 27 Nov 2018 17:00:55 +0000 Subject: [PATCH 025/100] use the correct disconnect --- BLE_GAP/source/main.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 82bb41d9..6e5be858 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -496,12 +496,16 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* cancel the connect timeout since we connected */ _event_queue.cancel(_on_duration_end_id); + /* we have to specify the disconnect call because of ambiguous overloads */ + typedef ble_error_t (Gap::*disconnect_call_t)(ble::connection_handle_t, ble::local_disconnection_reason_t); + disconnect_call_t disconnect_call = &Gap::disconnect; + _event_queue.call_in( CONNECTION_DURATION, &_ble.gap(), - &Gap::disconnect, + disconnect_call, event.getConnectionHandle(), - Gap::REMOTE_USER_TERMINATED_CONNECTION + ble::local_disconnection_reason_t(ble::local_disconnection_reason_t::USER_TERMINATION) ); } else { printf("Failed to connect after scanning %d advertisements\r\n", _scan_count); From d3c81cb47170141888709b2840f6a6defc0078b9 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 27 Nov 2018 17:16:58 +0000 Subject: [PATCH 026/100] use data parser --- BLE_GAP/source/main.cpp | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 6e5be858..a870e26b 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -17,6 +17,8 @@ #include #include #include "ble/BLE.h" +#include "gap/Gap.h" +#include "gap/AdvertisingDataParser.h" #include "demo.h" /** This example demonstrates all the basic setup required @@ -274,9 +276,9 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle adv_data_builder.setFlags(); - /* set different name to each set */ + /* set different name for each set */ MBED_ASSERT(i < 9); - sprintf(DEVICE_NAME, "Advertiser %d", i); + sprintf(DEVICE_NAME, "Advertiser %d", i%10); error = adv_data_builder.setName(DEVICE_NAME); if (error) { @@ -415,22 +417,18 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } + ble::AdvertisingDataParser adv_data(event.getAdvertisingData()); + /* parse the advertising payload, looking for a discoverable device */ - for (uint8_t i = 0; i < event.getAdvertisingData().size(); ++i) { - /* The advertising payload is a collection of key/value records where - * byte 0: length of the record excluding this byte - * byte 1: The key, it is the type of the data * byte [2..N] The value. N is equal to byte0 - 1 */ const uint8_t record_length = event.getAdvertisingData()[i]; - if (record_length == 0) { - continue; - } - const uint8_t type = event.getAdvertisingData()[i + 1]; - const uint8_t *value = event.getAdvertisingData().data() + i + 2; + while (adv_data.hasNext()) { + ble::AdvertisingDataParser::element_t field = adv_data.next(); /* connect to a discoverable device */ - if ((type == GapAdvertisingData::FLAGS) - && (*value & GapAdvertisingData::LE_GENERAL_DISCOVERABLE)) { + if (field.type == ble::adv_data_type_t::FLAGS && + field.value.size() == 1 && + (field.value[0] & GapAdvertisingData::LE_GENERAL_DISCOVERABLE)) { /* abort timeout as the mode will end on disconnection */ _event_queue.cancel(_on_duration_end_id); @@ -465,9 +463,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _is_connecting = true; return; - } - i += record_length; + } } } From 2904f502b07abbe972e79c867ad74c4e1009a69a Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 27 Nov 2018 17:17:40 +0000 Subject: [PATCH 027/100] remove leftover lines --- BLE_GAP/source/main.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index a870e26b..d84dc09b 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -420,8 +420,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ble::AdvertisingDataParser adv_data(event.getAdvertisingData()); /* parse the advertising payload, looking for a discoverable device */ - * byte [2..N] The value. N is equal to byte0 - 1 */ - const uint8_t record_length = event.getAdvertisingData()[i]; while (adv_data.hasNext()) { ble::AdvertisingDataParser::element_t field = adv_data.next(); From 3b7922c27078e9aa79878ed8d489a9cb03a40979 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 28 Nov 2018 13:14:13 +0000 Subject: [PATCH 028/100] update api --- BLE_GAP/source/main.cpp | 6 +- BLE_GAPButton/source/demo.h | 14 +- BLE_GAPButton/source/main.cpp | 4 +- BLE_HeartRate/source/demo.h | 14 +- BLE_HeartRate/source/main.cpp | 18 ++- BLE_LED/source/LEDService.h | 3 +- BLE_LED/source/main.cpp | 2 +- BLE_LEDBlinker/source/demo.h | 14 +- BLE_LEDBlinker/source/main.cpp | 255 ++++++++++++++++++--------------- BLE_Privacy/mbed_app.json | 13 +- BLE_Privacy/source/demo.h | 14 +- BLE_SM/source/demo.h | 14 +- BLE_Thermometer/source/demo.h | 14 +- 13 files changed, 221 insertions(+), 164 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index d84dc09b..30973134 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -99,7 +99,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _event_queue(event_queue), _led1(LED1, 0), _set_index(0), - _is_in_scanning_mode(false), + _is_in_scanning_mode(true), _is_connecting(false), _on_duration_end_id(0), _scan_count(0) { @@ -417,6 +417,10 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } + if (event.getRssi() < -65) { + return; + } + ble::AdvertisingDataParser adv_data(event.getAdvertisingData()); /* parse the advertising payload, looking for a discoverable device */ diff --git a/BLE_GAPButton/source/demo.h b/BLE_GAPButton/source/demo.h index e296748c..7b7c264f 100644 --- a/BLE_GAPButton/source/demo.h +++ b/BLE_GAPButton/source/demo.h @@ -64,6 +64,13 @@ void print_error(ble_error_t error, const char* msg) printf("\r\n"); } +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + void print_mac_address() { /* Print out device MAC address to the console*/ @@ -74,13 +81,6 @@ void print_mac_address() print_address(address); } -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: diff --git a/BLE_GAPButton/source/main.cpp b/BLE_GAPButton/source/main.cpp index 6ea7c3c8..6b20b952 100644 --- a/BLE_GAPButton/source/main.cpp +++ b/BLE_GAPButton/source/main.cpp @@ -31,11 +31,11 @@ class GapButtonDemo : private mbed::NonCopyable, public ble::Gap: GapButtonDemo(BLE& ble, events::EventQueue& event_queue) : _ble(ble), _event_queue(event_queue), + _led1(LED1, 0), /* We can arbiturarily choose the GAPButton service UUID to be 0xAA00 * as long as it does not overlap with the UUIDs defined here: * https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx */ _button_uuid(0xAA00), - _led1(LED1, 0), _button(BLE_BUTTON_PIN_NAME), _adv_data_builder(_adv_buffer) { } @@ -91,7 +91,7 @@ class GapButtonDemo : private mbed::NonCopyable, public ble::Gap: /* Create advertising parameters and payload */ ble::AdvertisingParameters adv_parameters( - ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::advertising_type_t::CONNECTABLE_UNDIRECTED, ble::adv_interval_t(ble::millisecond_t(1000)) ); diff --git a/BLE_HeartRate/source/demo.h b/BLE_HeartRate/source/demo.h index e296748c..7b7c264f 100644 --- a/BLE_HeartRate/source/demo.h +++ b/BLE_HeartRate/source/demo.h @@ -64,6 +64,13 @@ void print_error(ble_error_t error, const char* msg) printf("\r\n"); } +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + void print_mac_address() { /* Print out device MAC address to the console*/ @@ -74,13 +81,6 @@ void print_mac_address() print_address(address); } -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: diff --git a/BLE_HeartRate/source/main.cpp b/BLE_HeartRate/source/main.cpp index cec9667c..ca78390a 100644 --- a/BLE_HeartRate/source/main.cpp +++ b/BLE_HeartRate/source/main.cpp @@ -17,7 +17,7 @@ #include #include #include "ble/BLE.h" -#include "ble/Gap.h" +#include "ble/gap/Gap.h" #include "ble/services/HeartRateService.h" #include "demo.h" @@ -31,6 +31,7 @@ class HeartrateDemo : ble::Gap::EventHandler { _ble(ble), _event_queue(event_queue), _led1(LED1, 1), + _connected(false), _hr_uuid(GattService::UUID_HEART_RATE_SERVICE), _hr_counter(100), _hr_service(ble, _hr_counter, HeartRateService::LOCATION_FINGER), @@ -64,7 +65,7 @@ class HeartrateDemo : ble::Gap::EventHandler { /* Create advertising parameters and payload */ ble::AdvertisingParameters adv_parameters( - ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::advertising_type_t::CONNECTABLE_UNDIRECTED, ble::adv_interval_t(ble::millisecond_t(1000)) ); @@ -106,7 +107,7 @@ class HeartrateDemo : ble::Gap::EventHandler { } void update_sensor_value() { - if (_ble.gap().getState().connected) { + if (_connected) { // Do blocking calls or whatever is necessary for sensor polling. // In our case, we simply update the HRM measurement. _hr_counter++; @@ -129,6 +130,13 @@ class HeartrateDemo : ble::Gap::EventHandler { void onDisconnection(const ble::DisconnectionEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + _connected = false; + } + + virtual void onConnectionComplete(const ble::ConnectionCompleteEvent &event) { + if (event.getStatus() == BLE_ERROR_NONE) { + _connected = true; + } } private: @@ -136,6 +144,8 @@ class HeartrateDemo : ble::Gap::EventHandler { events::EventQueue &_event_queue; DigitalOut _led1; + bool _connected; + UUID _hr_uuid; uint8_t _hr_counter; @@ -153,7 +163,7 @@ void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) { int main() { BLE &ble = BLE::Instance(); - ble.onEventsToProcess(scheduleBleEventsProcessing); + ble.onEventsToProcess(schedule_ble_events); HeartrateDemo demo(ble, event_queue); demo.start(); diff --git a/BLE_LED/source/LEDService.h b/BLE_LED/source/LEDService.h index 1223a779..40dd2f08 100644 --- a/BLE_LED/source/LEDService.h +++ b/BLE_LED/source/LEDService.h @@ -27,7 +27,8 @@ class LEDService { { GattCharacteristic *charTable[] = {&ledState}; GattService ledService(LED_SERVICE_UUID, charTable, sizeof(charTable) / sizeof(GattCharacteristic *)); - ble.addService(ledService); + + ble.gattServer().addService(ledService); } GattAttribute::Handle_t getValueHandle() const diff --git a/BLE_LED/source/main.cpp b/BLE_LED/source/main.cpp index 60a59141..c4ef62bb 100644 --- a/BLE_LED/source/main.cpp +++ b/BLE_LED/source/main.cpp @@ -70,7 +70,7 @@ class LEDDemo : ble::Gap::EventHandler { /* Create advertising parameters and payload */ ble::AdvertisingParameters adv_parameters( - ble::advertising_type_t::ADV_CONNECTABLE_UNDIRECTED, + ble::advertising_type_t::CONNECTABLE_UNDIRECTED, ble::adv_interval_t(ble::millisecond_t(1000)) ); diff --git a/BLE_LEDBlinker/source/demo.h b/BLE_LEDBlinker/source/demo.h index e296748c..e39d6730 100644 --- a/BLE_LEDBlinker/source/demo.h +++ b/BLE_LEDBlinker/source/demo.h @@ -64,6 +64,13 @@ void print_error(ble_error_t error, const char* msg) printf("\r\n"); } +/** print device address to the terminal */ +void print_address(const uint8_t *addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + void print_mac_address() { /* Print out device MAC address to the console*/ @@ -74,13 +81,6 @@ void print_mac_address() print_address(address); } -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: diff --git a/BLE_LEDBlinker/source/main.cpp b/BLE_LEDBlinker/source/main.cpp index 61052265..29857a39 100644 --- a/BLE_LEDBlinker/source/main.cpp +++ b/BLE_LEDBlinker/source/main.cpp @@ -19,51 +19,18 @@ #include "ble/BLE.h" #include "ble/DiscoveredCharacteristic.h" #include "ble/DiscoveredService.h" +#include "ble/gap/Gap.h" +#include "ble/gap/AdvertisingDataParser.h" #include "demo.h" -DigitalOut alivenessLED(LED1, 1); -static DiscoveredCharacteristic ledCharacteristic; -static bool triggerLedCharacteristic; -static const char PEER_NAME[] = "LED"; +const static char PEER_NAME[] = "LED"; -static EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); +static EventQueue event_queue(/* event count */ 10 * EVENTS_EVENT_SIZE); -void periodicCallback(void) { - alivenessLED = !alivenessLED; /* Do blinky on LED1 while we're waiting for BLE events */ -} - -void advertisementCallback(const Gap::AdvertisementCallbackParams_t *params) { - // parse the advertising payload, looking for data type COMPLETE_LOCAL_NAME - // The advertising payload is a collection of key/value records where - // byte 0: length of the record excluding this byte - // byte 1: The key, it is the type of the data - // byte [2..N] The value. N is equal to byte0 - 1 - for (uint8_t i = 0; i < params->advertisingDataLen; ++i) { - - const uint8_t record_length = params->advertisingData[i]; - if (record_length == 0) { - continue; - } - const uint8_t type = params->advertisingData[i + 1]; - const uint8_t* value = params->advertisingData + i + 2; - const uint8_t value_length = record_length - 1; - - if(type == GapAdvertisingData::COMPLETE_LOCAL_NAME) { - if ((value_length == sizeof(PEER_NAME)) && (memcmp(value, PEER_NAME, value_length) == 0)) { - printf( - "adv peerAddr[%02x %02x %02x %02x %02x %02x] rssi %d, isScanResponse %u, AdvertisementType %u\r\n", - params->peerAddr[5], params->peerAddr[4], params->peerAddr[3], params->peerAddr[2], - params->peerAddr[1], params->peerAddr[0], params->rssi, params->isScanResponse, params->type - ); - BLE::Instance().gap().connect(params->peerAddr, Gap::ADDR_TYPE_RANDOM_STATIC, NULL, NULL); - break; - } - } - i += record_length; - } -} +static DiscoveredCharacteristic led_characteristic; +static bool trigger_led_characteristic = false; -void serviceDiscoveryCallback(const DiscoveredService *service) { +void service_discovery(const DiscoveredService *service) { if (service->getUUID().shortOrLong() == UUID::UUID_TYPE_SHORT) { printf("S UUID-%x attrs[%u %u]\r\n", service->getUUID().getShortUUID(), service->getStartHandle(), service->getEndHandle()); } else { @@ -76,122 +43,186 @@ void serviceDiscoveryCallback(const DiscoveredService *service) { } } -void updateLedCharacteristic(void) { +void update_led_characteristic(void) { if (!BLE::Instance().gattClient().isServiceDiscoveryActive()) { - ledCharacteristic.read(); + led_characteristic.read(); } } -void characteristicDiscoveryCallback(const DiscoveredCharacteristic *characteristicP) { +void characteristic_discovery(const DiscoveredCharacteristic *characteristicP) { printf(" C UUID-%x valueAttr[%u] props[%x]\r\n", characteristicP->getUUID().getShortUUID(), characteristicP->getValueHandle(), (uint8_t)characteristicP->getProperties().broadcast()); if (characteristicP->getUUID().getShortUUID() == 0xa001) { /* !ALERT! Alter this filter to suit your device. */ - ledCharacteristic = *characteristicP; - triggerLedCharacteristic = true; + led_characteristic = *characteristicP; + trigger_led_characteristic = true; } } -void discoveryTerminationCallback(Gap::Handle_t connectionHandle) { +void discovery_termination(Gap::Handle_t connectionHandle) { printf("terminated SD for handle %u\r\n", connectionHandle); - if (triggerLedCharacteristic) { - triggerLedCharacteristic = false; - eventQueue.call(updateLedCharacteristic); - } -} - -void connectionCallback(const Gap::ConnectionCallbackParams_t *params) { - if (params->role == Gap::CENTRAL) { - BLE &ble = BLE::Instance(); - ble.gattClient().onServiceDiscoveryTermination(discoveryTerminationCallback); - ble.gattClient().launchServiceDiscovery(params->handle, serviceDiscoveryCallback, characteristicDiscoveryCallback, 0xa000, 0xa001); + if (trigger_led_characteristic) { + trigger_led_characteristic = false; + event_queue.call(update_led_characteristic); } } -void triggerToggledWrite(const GattReadCallbackParams *response) { - if (response->handle == ledCharacteristic.getValueHandle()) { - printf("triggerToggledWrite: handle %u, offset %u, len %u\r\n", response->handle, response->offset, response->len); +void trigger_toggled_write(const GattReadCallbackParams *response) { + if (response->handle == led_characteristic.getValueHandle()) { + printf("trigger_toggled_write: handle %u, offset %u, len %u\r\n", response->handle, response->offset, response->len); for (unsigned index = 0; index < response->len; index++) { printf("%c[%02x]", response->data[index], response->data[index]); } printf("\r\n"); uint8_t toggledValue = response->data[0] ^ 0x1; - ledCharacteristic.write(1, &toggledValue); + led_characteristic.write(1, &toggledValue); } } -void triggerRead(const GattWriteCallbackParams *response) { - if (response->handle == ledCharacteristic.getValueHandle()) { - ledCharacteristic.read(); +void trigger_read(const GattWriteCallbackParams *response) { + if (response->handle == led_characteristic.getValueHandle()) { + led_characteristic.read(); } } -void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *) { - printf("disconnected\r\n"); - /* Start scanning and try to connect again */ - BLE::Instance().gap().startScan(advertisementCallback); -} +class LEDBlinkerDemo : ble::Gap::EventHandler { +public: + LEDBlinkerDemo(BLE &ble, events::EventQueue &event_queue) : + _ble(ble), + _event_queue(event_queue), + _alive_led(LED1, 1), + _actuated_led(LED2, 0), + _is_connecting(false) { } -void onBleInitError(BLE &ble, ble_error_t error) -{ - /* Initialization error handling should go here */ -} + ~LEDBlinkerDemo() { } -void printMacAddress() -{ - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - for (int i = 5; i >= 1; i--){ - printf("%02x:", address[i]); + void start() { + _ble.gap().setEventHandler(this); + + _ble.init(this, &LEDBlinkerDemo::on_init_complete); + + _event_queue.call_every(500, this, &LEDBlinkerDemo::blink); + + _event_queue.dispatch_forever(); } - printf("%02x\r\n", address[0]); -} -void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) -{ - BLE& ble = params->ble; - ble_error_t error = params->error; +private: + /** Callback triggered when the ble initialization process has finished */ + void on_init_complete(BLE::InitializationCompleteCallbackContext *params) { + if (params->error != BLE_ERROR_NONE) { + printf("Ble initialization failed."); + return; + } + + print_mac_address(); + + _ble.gattClient().onDataRead(trigger_toggled_write); + _ble.gattClient().onDataWritten(trigger_read); - if (error != BLE_ERROR_NONE) { - /* In case of error, forward the error handling to onBleInitError */ - onBleInitError(ble, error); - return; + ble::ScanParameters scan_params; + _ble.gap().setScanParameters(scan_params); + _ble.gap().startScan(); } - /* Ensure that it is the default instance of BLE */ - if (ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { - return; + void blink() { + _alive_led = !_alive_led; } - ble.gap().onDisconnection(disconnectionCallback); - ble.gap().onConnection(connectionCallback); +private: + /* Event handler */ - ble.gattClient().onDataRead(triggerToggledWrite); - ble.gattClient().onDataWrite(triggerRead); + void onDisconnection(const ble::DisconnectionEvent&) { + _ble.gap().startScan(); + _is_connecting = false; + } - ble::ScanParams - ble.gap().startScan(advertisementCallback); + void onConnectionComplete(const ble::ConnectionCompleteEvent& event) { + if (event.getOwnRole() == Gap::CENTRAL) { + _ble.gattClient().onServiceDiscoveryTermination(discovery_termination); + _ble.gattClient().launchServiceDiscovery( + event.getConnectionHandle(), + service_discovery, + characteristic_discovery, + 0xa000, + 0xa001 + ); + } else { + _ble.gap().startScan(); + } + _is_connecting = false; + } - printMacAddress(); -} + void onAdvertisingReport(const ble::AdvertisingReportEvent &event) { + /* don't bother with analysing scan result if we're already connecting */ + if (_is_connecting) { + return; + } -void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { - BLE &ble = BLE::Instance(); - eventQueue.call(Callback(&ble, &BLE::processEvents)); + ble::AdvertisingDataParser adv_data(event.getAdvertisingData()); + + /* parse the advertising payload, looking for a discoverable device */ + while (adv_data.hasNext()) { + ble::AdvertisingDataParser::element_t field = adv_data.next(); + + /* connect to a discoverable device */ + if (field.type == ble::adv_data_type_t::COMPLETE_LOCAL_NAME && + field.value.size() == sizeof(PEER_NAME) && + (memcmp(field.value.data(), PEER_NAME, sizeof(PEER_NAME)) == 0)) { + + printf("Adv from: "); + print_address(event.getPeerAddress().data()); + printf(" rssi: %d, scan response: %u, connectable: %u\r\n", + event.getRssi(), event.getType().scan_response(), event.getType().connectable()); + + ble_error_t error = _ble.gap().stopScan(); + + if (error) { + print_error(error, "Error caused by Gap::stopScan"); + return; + } + + const ble::ConnectionParameters connection_params; + + error = _ble.gap().connect( + event.getPeerAddressType(), + event.getPeerAddress(), + connection_params + ); + + if (error) { + _ble.gap().startScan(); + return; + } + + /* we may have already scan events waiting + * to be processed so we need to remember + * that we are already connecting and ignore them */ + _is_connecting = true; + + return; + } + } + } + +private: + BLE &_ble; + events::EventQueue &_event_queue; + DigitalOut _alive_led; + DigitalOut _actuated_led; + bool _is_connecting; +}; + +/** Schedule processing of events from the BLE middleware in the event queue. */ +void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) { + event_queue.call(Callback(&context->ble, &BLE::processEvents)); } int main() { - triggerLedCharacteristic = false; - eventQueue.call_every(500, periodicCallback); - BLE &ble = BLE::Instance(); - ble.onEventsToProcess(scheduleBleEventsProcessing); - ble.init(bleInitComplete); + ble.onEventsToProcess(schedule_ble_events); - eventQueue.dispatch_forever(); + LEDBlinkerDemo demo(ble, event_queue); + demo.start(); return 0; } diff --git a/BLE_Privacy/mbed_app.json b/BLE_Privacy/mbed_app.json index 3d7e84e2..4309a7c2 100644 --- a/BLE_Privacy/mbed_app.json +++ b/BLE_Privacy/mbed_app.json @@ -1,5 +1,16 @@ { "target_overrides": { - + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + } } } diff --git a/BLE_Privacy/source/demo.h b/BLE_Privacy/source/demo.h index e296748c..7b7c264f 100644 --- a/BLE_Privacy/source/demo.h +++ b/BLE_Privacy/source/demo.h @@ -64,6 +64,13 @@ void print_error(ble_error_t error, const char* msg) printf("\r\n"); } +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + void print_mac_address() { /* Print out device MAC address to the console*/ @@ -74,13 +81,6 @@ void print_mac_address() print_address(address); } -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: diff --git a/BLE_SM/source/demo.h b/BLE_SM/source/demo.h index e296748c..7b7c264f 100644 --- a/BLE_SM/source/demo.h +++ b/BLE_SM/source/demo.h @@ -64,6 +64,13 @@ void print_error(ble_error_t error, const char* msg) printf("\r\n"); } +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + void print_mac_address() { /* Print out device MAC address to the console*/ @@ -74,13 +81,6 @@ void print_mac_address() print_address(address); } -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: diff --git a/BLE_Thermometer/source/demo.h b/BLE_Thermometer/source/demo.h index e296748c..7b7c264f 100644 --- a/BLE_Thermometer/source/demo.h +++ b/BLE_Thermometer/source/demo.h @@ -64,6 +64,13 @@ void print_error(ble_error_t error, const char* msg) printf("\r\n"); } +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + void print_mac_address() { /* Print out device MAC address to the console*/ @@ -74,13 +81,6 @@ void print_mac_address() print_address(address); } -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: From ead6a0742aa49cc6c372bd151d1738cd2bfdb587 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 28 Nov 2018 15:13:26 +0000 Subject: [PATCH 029/100] fix thermometer --- BLE_Thermometer/source/main.cpp | 158 +++++++++++++++++++++----------- 1 file changed, 106 insertions(+), 52 deletions(-) diff --git a/BLE_Thermometer/source/main.cpp b/BLE_Thermometer/source/main.cpp index 103d5db1..73784387 100644 --- a/BLE_Thermometer/source/main.cpp +++ b/BLE_Thermometer/source/main.cpp @@ -22,81 +22,135 @@ DigitalOut led1(LED1, 1); -const static char DEVICE_NAME[] = "Therm"; -static const uint16_t uuid16_list[] = {GattService::UUID_HEALTH_THERMOMETER_SERVICE}; +const static char DEVICE_NAME[] = "Therm"; -static float currentTemperature = 39.6; -static HealthThermometerService *thermometerServicePtr; +static events::EventQueue event_queue(/* event count */ 16 * EVENTS_EVENT_SIZE); -static EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); +class BatteryDemo : ble::Gap::EventHandler { +public: + BatteryDemo(BLE &ble, events::EventQueue &event_queue) : + _ble(ble), + _event_queue(event_queue), + _thermometer_uuid(GattService::UUID_HEALTH_THERMOMETER_SERVICE), + _current_temperature(39.6), + _thermometer_service(NULL), + _adv_data_builder(_adv_buffer) { } -/* Restart Advertising on disconnection*/ -void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *) -{ - BLE::Instance().gap().startAdvertising(); -} + void start() { + _ble.gap().setEventHandler(this); -void updateSensorValue(void) { - /* Do blocking calls or whatever is necessary for sensor polling. - In our case, we simply update the Temperature measurement. */ - currentTemperature = (currentTemperature + 0.1 > 43.0) ? 39.6 : currentTemperature + 0.1; - thermometerServicePtr->updateTemperature(currentTemperature); -} + _ble.init(this, &BatteryDemo::on_init_complete); -void periodicCallback(void) -{ - led1 = !led1; /* Do blinky on LED1 while we're waiting for BLE events */ + _event_queue.call_every(500, this, &BatteryDemo::blink); + _event_queue.call_every(1000, this, &BatteryDemo::update_sensor_value); - if (BLE::Instance().gap().getState().connected) { - eventQueue.call(updateSensorValue); + _event_queue.dispatch_forever(); } -} -void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) -{ - BLE& ble = params->ble; - ble_error_t error = params->error; +private: + /** Callback triggered when the ble initialization process has finished */ + void on_init_complete(BLE::InitializationCompleteCallbackContext *params) { + if (params->error != BLE_ERROR_NONE) { + print_error(params->error, "Ble initialization failed."); + return; + } + + print_mac_address(); + + /* Setup primary service. */ + _thermometer_service = new HealthThermometerService(_ble, _current_temperature, HealthThermometerService::LOCATION_EAR); + + start_advertising(); + } + + void start_advertising() { + /* Create advertising parameters and payload */ + + ble::AdvertisingParameters adv_parameters( + ble::advertising_type_t::CONNECTABLE_UNDIRECTED, + ble::adv_interval_t(ble::millisecond_t(1000)) + ); + + _adv_data_builder.setFlags(); + _adv_data_builder.setLocalServiceList(mbed::make_Span(&_thermometer_uuid, 1)); + _adv_data_builder.setAppearance(ble::adv_data_appearance_t::THERMOMETER_EAR); + _adv_data_builder.setName(DEVICE_NAME); + + /* Setup advertising */ - if (error != BLE_ERROR_NONE) { - onBleInitError(ble, error); - return; + ble_error_t error = _ble.gap().setAdvertisingParameters( + ble::LEGACY_ADVERTISING_HANDLE, + adv_parameters + ); + + if (error) { + print_error(error, "_ble.gap().setAdvertisingParameters() failed"); + return; + } + + error = _ble.gap().setAdvertisingPayload( + ble::LEGACY_ADVERTISING_HANDLE, + _adv_data_builder.getAdvertisingData() + ); + + if (error) { + print_error(error, "_ble.gap().setAdvertisingPayload() failed"); + return; + } + + /* Start advertising */ + + error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + + if (error) { + print_error(error, "_ble.gap().startAdvertising() failed"); + return; + } + } + + void update_sensor_value() { + if (_ble.gap().getState().connected) { + _current_temperature = (_current_temperature + 0.1 > 43.0) ? 39.6 : _current_temperature + 0.1; + _thermometer_service->updateTemperature(_current_temperature); + } } - if (ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { - return; + void blink(void) { + led1 = !led1; } - ble.gap().onDisconnection(disconnectionCallback); +private: + /* Event handler */ - /* Setup primary service. */ - thermometerServicePtr = new HealthThermometerService(ble, currentTemperature, HealthThermometerService::LOCATION_EAR); + void onDisconnection(const ble::DisconnectionEvent&) { + _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + } - /* setup advertising */ - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::THERMOMETER_EAR); - ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); - ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); - ble.gap().setAdvertisingInterval(1000); /* 1000ms */ - ble.gap().startAdvertising(); +private: + BLE &_ble; + events::EventQueue &_event_queue; - printMacAddress(); -} + UUID _thermometer_uuid; -void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { - BLE &ble = BLE::Instance(); - eventQueue.call(Callback(&ble, &BLE::processEvents)); + uint8_t _current_temperature; + HealthThermometerService *_thermometer_service; + + uint8_t _adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; + ble::AdvertisingDataBuilder _adv_data_builder; +}; + +/** Schedule processing of events from the BLE middleware in the event queue. */ +void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) { + event_queue.call(Callback(&context->ble, &BLE::processEvents)); } int main() { - eventQueue.call_every(500, periodicCallback); - BLE &ble = BLE::Instance(); - ble.onEventsToProcess(scheduleBleEventsProcessing); - ble.init(bleInitComplete); + ble.onEventsToProcess(schedule_ble_events); - eventQueue.dispatch_forever(); + BatteryDemo demo(ble, event_queue); + demo.start(); return 0; } From 63beb0999f14b7f8aa49cca359ebf59792aa4b25 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 28 Nov 2018 15:52:11 +0000 Subject: [PATCH 030/100] fix onDisconnect callback --- BLE_BatteryLevel/source/main.cpp | 2 +- BLE_Beacon/source/main.cpp | 2 +- BLE_GAP/source/main.cpp | 2 +- BLE_GAPButton/source/main.cpp | 7 +++++++ BLE_HeartRate/source/main.cpp | 2 +- BLE_LED/source/main.cpp | 2 +- BLE_LEDBlinker/source/main.cpp | 2 +- BLE_Thermometer/source/main.cpp | 2 +- 8 files changed, 14 insertions(+), 7 deletions(-) diff --git a/BLE_BatteryLevel/source/main.cpp b/BLE_BatteryLevel/source/main.cpp index 4bb784f8..e203ec91 100644 --- a/BLE_BatteryLevel/source/main.cpp +++ b/BLE_BatteryLevel/source/main.cpp @@ -123,7 +123,7 @@ class BatteryDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnection(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } diff --git a/BLE_Beacon/source/main.cpp b/BLE_Beacon/source/main.cpp index da924808..0dc914c5 100644 --- a/BLE_Beacon/source/main.cpp +++ b/BLE_Beacon/source/main.cpp @@ -205,7 +205,7 @@ class BeaconDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnection(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 30973134..60dde405 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -514,7 +514,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /** This is called by Gap to notify the application we disconnected, * in our case it calls next_demo_mode() to progress the demo */ - virtual void onDisconnection(const ble::DisconnectionEvent &event) { + virtual void onDisconnectionComplete(const ble::DisconnectionEvent &event) { printf("Disconnected\r\n"); /* we have successfully disconnected ending the demo, move to next mode */ diff --git a/BLE_GAPButton/source/main.cpp b/BLE_GAPButton/source/main.cpp index 6b20b952..6b5dca00 100644 --- a/BLE_GAPButton/source/main.cpp +++ b/BLE_GAPButton/source/main.cpp @@ -161,6 +161,13 @@ class GapButtonDemo : private mbed::NonCopyable, public ble::Gap: _led1 = !_led1; } +private: + /* Event handler */ + + void onDisconnectionComplete(const ble::DisconnectionEvent&) { + _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + } + private: BLE &_ble; events::EventQueue &_event_queue; diff --git a/BLE_HeartRate/source/main.cpp b/BLE_HeartRate/source/main.cpp index ca78390a..b65f6fa8 100644 --- a/BLE_HeartRate/source/main.cpp +++ b/BLE_HeartRate/source/main.cpp @@ -128,7 +128,7 @@ class HeartrateDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnection(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); _connected = false; } diff --git a/BLE_LED/source/main.cpp b/BLE_LED/source/main.cpp index c4ef62bb..3a4bdf2d 100644 --- a/BLE_LED/source/main.cpp +++ b/BLE_LED/source/main.cpp @@ -128,7 +128,7 @@ class LEDDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnection(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } diff --git a/BLE_LEDBlinker/source/main.cpp b/BLE_LEDBlinker/source/main.cpp index 29857a39..45624ef7 100644 --- a/BLE_LEDBlinker/source/main.cpp +++ b/BLE_LEDBlinker/source/main.cpp @@ -130,7 +130,7 @@ class LEDBlinkerDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnection(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionEvent&) { _ble.gap().startScan(); _is_connecting = false; } diff --git a/BLE_Thermometer/source/main.cpp b/BLE_Thermometer/source/main.cpp index 73784387..b61b993a 100644 --- a/BLE_Thermometer/source/main.cpp +++ b/BLE_Thermometer/source/main.cpp @@ -122,7 +122,7 @@ class BatteryDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnection(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } From ebbf8f06dfc47ebfb8f78edbf1c050610d101813 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 28 Nov 2018 16:04:35 +0000 Subject: [PATCH 031/100] use cordio LL for nordic --- BLE_GAP/mbed_app.json | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/BLE_GAP/mbed_app.json b/BLE_GAP/mbed_app.json index 4309a7c2..8af5a12e 100644 --- a/BLE_GAP/mbed_app.json +++ b/BLE_GAP/mbed_app.json @@ -11,6 +11,32 @@ "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "MCU_NRF52832" : { + "target.extra_labels_add": [ + "SOFTDEVICE_NONE", + "CORDIO", + "CORDIO_LL", + "NORDIC_CORDIO" + ], + "target.extra_labels_remove": [ + "NORDIC_SOFTDEVICE", + "SOFTDEVICE_COMMON", + "SOFTDEVICE_S140_FULL" + ] + }, + "MCU_NRF52840" : { + "target.extra_labels_add": [ + "SOFTDEVICE_NONE", + "CORDIO", + "CORDIO_LL", + "NORDIC_CORDIO" + ], + "target.extra_labels_remove": [ + "NORDIC_SOFTDEVICE", + "SOFTDEVICE_COMMON", + "SOFTDEVICE_S132_FULL" + ] } } } From c51a354d587a6a8aca5e11d0547189a5f28e972e Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 28 Nov 2018 16:59:40 +0000 Subject: [PATCH 032/100] fix target names --- BLE_GAP/mbed_app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BLE_GAP/mbed_app.json b/BLE_GAP/mbed_app.json index 8af5a12e..81e87634 100644 --- a/BLE_GAP/mbed_app.json +++ b/BLE_GAP/mbed_app.json @@ -12,7 +12,7 @@ "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] }, - "MCU_NRF52832" : { + "MCU_NRF52840" : { "target.extra_labels_add": [ "SOFTDEVICE_NONE", "CORDIO", @@ -25,7 +25,7 @@ "SOFTDEVICE_S140_FULL" ] }, - "MCU_NRF52840" : { + "MCU_NRF52_DK" : { "target.extra_labels_add": [ "SOFTDEVICE_NONE", "CORDIO", From 4b285ee6482e571576d6ad1e6cb92f4d09c79672 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Wed, 28 Nov 2018 17:10:42 +0000 Subject: [PATCH 033/100] BLE_GAP: Use a random address type for all operations. --- BLE_GAP/source/main.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 60dde405..b1c79f21 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -206,6 +206,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle interval, interval ); + adv_parameters.setOwnAddressType(ble::own_address_type_t::RANDOM); /* this is the memory backing for the payload */ uint8_t adv_buffer[MAX_ADVERTISING_PAYLOAD_SIZE]; @@ -331,7 +332,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle bool active = scanning_params[_set_index].active; /* set the scanning parameters according to currently selected set */ - const ble::ScanParameters params(ble::phy_t::LE_1M, interval, window, active); + ble::ScanParameters params(ble::phy_t::LE_1M, interval, window, active); + params.setOwnAddressType(ble::own_address_type_t::RANDOM); ble_error_t error = _ble.gap().setScanParameters(params); @@ -444,7 +446,16 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } - const ble::ConnectionParameters connection_params; + ble::ConnectionParameters connection_params( + ble::phy_t::LE_1M, + ble::scan_interval_t(50), + ble::scan_window_t(50), + ble::conn_interval_t(50), + ble::conn_interval_t(100), + ble::slave_latency_t(0), + ble::supervision_timeout_t(100) + ); + connection_params.setOwnAddressType(ble::own_address_type_t::RANDOM); error = _ble.gap().connect( event.getPeerAddressType(), From d157ea82a1962a00ddf80bdef87bea2cfc0bd68a Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Wed, 28 Nov 2018 17:11:34 +0000 Subject: [PATCH 034/100] BLE_Gap: simplify disconnect. --- BLE_GAP/source/main.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index b1c79f21..31885436 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -506,16 +506,11 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* cancel the connect timeout since we connected */ _event_queue.cancel(_on_duration_end_id); - /* we have to specify the disconnect call because of ambiguous overloads */ - typedef ble_error_t (Gap::*disconnect_call_t)(ble::connection_handle_t, ble::local_disconnection_reason_t); - disconnect_call_t disconnect_call = &Gap::disconnect; - _event_queue.call_in( CONNECTION_DURATION, - &_ble.gap(), - disconnect_call, - event.getConnectionHandle(), - ble::local_disconnection_reason_t(ble::local_disconnection_reason_t::USER_TERMINATION) + this, + &GapDemo::do_disconnect, + event.getConnectionHandle() ); } else { printf("Failed to connect after scanning %d advertisements\r\n", _scan_count); @@ -523,6 +518,11 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } } + void do_disconnect(ble::connection_handle_t handle) { + printf("Disconnecting\r\n"); + _ble.gap().disconnect(handle, ble::local_disconnection_reason_t::USER_TERMINATION); + } + /** This is called by Gap to notify the application we disconnected, * in our case it calls next_demo_mode() to progress the demo */ virtual void onDisconnectionComplete(const ble::DisconnectionEvent &event) { From 0d24ca49ad34b74bad708dd1df7836e9b0bdb8c5 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Wed, 28 Nov 2018 17:11:56 +0000 Subject: [PATCH 035/100] BLE: stop scan before connect. --- BLE_GAP/source/main.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 31885436..f0884351 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -457,6 +457,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); connection_params.setOwnAddressType(ble::own_address_type_t::RANDOM); + _ble.gap().stopScan(); + error = _ble.gap().connect( event.getPeerAddressType(), event.getPeerAddress(), From 9cb8c5df36b6fdf7706917e3721b4865ef07ce59 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 28 Nov 2018 17:29:51 +0000 Subject: [PATCH 036/100] update bluenrg --- BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib index d21d955b..4187af53 100644 --- a/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#51f60dfea514e35e5aa13c8e24005ecadc24a9f5 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 From 07742ef1badbc13e169a7e636e039c73f9df3ad2 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Wed, 28 Nov 2018 18:27:31 +0000 Subject: [PATCH 037/100] Fix release of the blink event. --- BLE_GAP/source/main.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index f0884351..e6ae1a10 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -102,7 +102,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _is_in_scanning_mode(true), _is_connecting(false), _on_duration_end_id(0), - _scan_count(0) { + _scan_count(0), + _blink_event(0) { for (uint8_t i = 0; i < ADV_SET_NUMBER; ++i) { _adv_handles[i] = ble::INVALID_ADVERTISING_HANDLE; } @@ -134,7 +135,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } /* to show we're running we'll blink every 500ms */ - _event_queue.call_every(500, this, &GapDemo::blink); + _blink_event = _event_queue.call_every(500, this, &GapDemo::blink); /* this will not return until shutdown */ _event_queue.dispatch_forever(); @@ -605,6 +606,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } _ble.shutdown(); + _event_queue.cancel(_blink_event); _event_queue.break_dispatch(); } @@ -692,6 +694,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle Timer _demo_duration; size_t _scan_count; + int _blink_event; + ble::advertising_handle_t _adv_handles[ADV_SET_NUMBER]; }; From a4812d875f920582811fd031070b0d9028fb9349 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 29 Nov 2018 10:04:46 +0000 Subject: [PATCH 038/100] fix error print --- BLE_GAP/source/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index e6ae1a10..837b2ffd 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -284,7 +284,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle error = adv_data_builder.setName(DEVICE_NAME); if (error) { - print_error(error, "Gap::setName() failed"); + print_error(error, "AdvertisingDataBuilder::setName() failed"); return; } From 9dde6e5c2c1e472e77b6d188f05f8b944a2d4e56 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 29 Nov 2018 10:05:14 +0000 Subject: [PATCH 039/100] update privacy to new api --- BLE_Privacy/source/demo.h | 2 +- BLE_Privacy/source/main.cpp | 321 ++++++++++++++++++++---------------- 2 files changed, 180 insertions(+), 143 deletions(-) diff --git a/BLE_Privacy/source/demo.h b/BLE_Privacy/source/demo.h index 7b7c264f..e39d6730 100644 --- a/BLE_Privacy/source/demo.h +++ b/BLE_Privacy/source/demo.h @@ -65,7 +65,7 @@ void print_error(ble_error_t error, const char* msg) } /** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) +void print_address(const uint8_t *addr) { printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); diff --git a/BLE_Privacy/source/main.cpp b/BLE_Privacy/source/main.cpp index 02034fe3..00c63021 100644 --- a/BLE_Privacy/source/main.cpp +++ b/BLE_Privacy/source/main.cpp @@ -20,6 +20,7 @@ #include "SecurityManager.h" #include #include "demo.h" +#include "ble/gap/AdvertisingDataParser.h" /** This example demonstrates privacy features in Gap. It shows how to use * private addresses when advertising and connecting and how filtering ties @@ -37,7 +38,11 @@ * turn on filtering based on stored IRKs. */ -static const uint8_t DEVICE_NAME[] = "Privacy"; +static const char DEVICE_NAME[] = "Privacy"; + +/* we have to specify the disconnect call because of ambiguous overloads */ +typedef ble_error_t (Gap::*disconnect_call_t)(ble::connection_handle_t, ble::local_disconnection_reason_t); +disconnect_call_t disconnect_call = &Gap::disconnect; /** Base class for both peripheral and central. The same class that provides * the logic for the application also implements the SecurityManagerEventHandler @@ -46,7 +51,8 @@ static const uint8_t DEVICE_NAME[] = "Privacy"; * your application is interested in. */ class PrivacyDevice : private mbed::NonCopyable, - public SecurityManager::EventHandler + public SecurityManager::EventHandler, + public ble::Gap::EventHandler { public: PrivacyDevice(BLE &ble, events::EventQueue &event_queue) : @@ -72,6 +78,9 @@ class PrivacyDevice : private mbed::NonCopyable, makeFunctionPointer(this, &PrivacyDevice::schedule_ble_events) ); + /* handle gap events */ + _ble.gap().setEventHandler(this); + if (_ble.hasInitialized()) { /* ble instance already initialised, skip init and start activity */ start(); @@ -94,27 +103,6 @@ class PrivacyDevice : private mbed::NonCopyable, /** Override to start chosen activity after initial bonding */ virtual void start_after_bonding() = 0; - /* event handler functions */ - - /** Inform the application of pairing */ - virtual void pairingResult( - ble::connection_handle_t connectionHandle, - SecurityManager::SecurityCompletionStatus_t result - ) { - if (result == SecurityManager::SEC_STATUS_SUCCESS) { - printf("Pairing successful\r\n"); - _bonded = true; - } else { - printf("Pairing failed\r\n"); - } - - /* disconnect in 2s */ - _event_queue.call_in( - 2000, &_ble.gap(), - &Gap::disconnect, _handle, Gap::REMOTE_USER_TERMINATED_CONNECTION - ); - } - /* callbacks */ /** This is called when BLE interface is initialised and starts the demonstration */ @@ -132,12 +120,6 @@ class PrivacyDevice : private mbed::NonCopyable, * to seed RNG as the address is unique */ print_local_address(); - /* when scanning we want to connect to a peer device so we need to - * attach callbacks that are used by Gap to notify us of events */ - _ble.gap().onConnection(this, &PrivacyDevice::on_connect); - _ble.gap().onDisconnection(this, &PrivacyDevice::on_disconnect); - _ble.gap().onTimeout(makeFunctionPointer(this, &PrivacyDevice::on_timeout)); - /* Privacy requires the security manager */ error = _ble.securityManager().init( @@ -172,27 +154,84 @@ class PrivacyDevice : private mbed::NonCopyable, start(); }; + /** Schedule processing of events from the BLE in the event queue. */ + void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) + { + _event_queue.call(mbed::callback(&context->ble, &BLE::processEvents)); + }; + + /** Blink LED to show we're running */ + void blink(void) + { + _led1 = !_led1; + }; + + void print_local_address() + { + /* show what address we are using now */ + Gap::AddressType_t addr_type; + Gap::Address_t addr; + _ble.gap().getAddress(&addr_type, addr); + printf("Device address: "); + print_address(addr); + + if (!_seeded) { + _seeded = true; + /* use the address as a seed */ + uint8_t* random_data = addr; + srand(*((unsigned int*)random_data)); + } + } + +private: + /* Event handler */ + + /** Inform the application of pairing */ + virtual void pairingResult( + ble::connection_handle_t connectionHandle, + SecurityManager::SecurityCompletionStatus_t result + ) { + if (result == SecurityManager::SEC_STATUS_SUCCESS) { + printf("Pairing successful\r\n"); + _bonded = true; + } else { + printf("Pairing failed\r\n"); + } + + /* disconnect in 2s */ + _event_queue.call_in( + 2000, + &_ble.gap(), + disconnect_call, + connectionHandle, + ble::local_disconnection_reason_t(ble::local_disconnection_reason_t::USER_TERMINATION) + ); + } + /** This is called by Gap to notify the application we connected */ - void on_connect(const Gap::ConnectionCallbackParams_t *connection_event) + virtual void onConnectionComplete(const ble::ConnectionCompleteEvent &event) { printf("Connected to peer: "); - print_address(connection_event->peerAddr); + print_address(event.getPeerAddress().data()); printf("Peer random resolvable address: "); - print_address(connection_event->peerResolvableAddr); + print_address(event.getPeerResolvablePrivateAddress().data()); - _handle = connection_event->handle; + _handle = event.getConnectionHandle(); if (_bonded) { /* disconnect in 2s */ _event_queue.call_in( - 2000, &_ble.gap(), - &Gap::disconnect, _handle, Gap::REMOTE_USER_TERMINATED_CONNECTION + 2000, + &_ble.gap(), + disconnect_call, + _handle, + ble::local_disconnection_reason_t(ble::local_disconnection_reason_t::USER_TERMINATION) ); } }; /** This is called by Gap to notify the application we disconnected */ - void on_disconnect(const Gap::DisconnectionCallbackParams_t *event) + virtual void onDisconnectionComplete(const ble::DisconnectionEvent &event) { if (_bonded) { /* we have connected to and bonded with the other device, from now @@ -206,41 +245,11 @@ class PrivacyDevice : private mbed::NonCopyable, } }; - /** When scanning on advertising time runs out this is called */ - void on_timeout(const Gap::TimeoutSource_t source) + virtual void onScanTimeout(const ble::ScanTimeoutEvent &) { /* if we failed to find the other device, abort so that we change roles */ printf("Haven't seen other device, switch modes.\r\n"); _event_queue.break_dispatch(); - }; - - /** Schedule processing of events from the BLE in the event queue. */ - void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) - { - _event_queue.call(mbed::callback(&context->ble, &BLE::processEvents)); - }; - - /** Blink LED to show we're running */ - void blink(void) - { - _led1 = !_led1; - }; - - void print_local_address() - { - /* show what address we are using now */ - Gap::AddressType_t addr_type; - Gap::Address_t addr; - _ble.gap().getAddress(&addr_type, addr); - printf("Device address: "); - print_address(addr); - - if (!_seeded) { - _seeded = true; - /* use the address as a seed */ - uint8_t* random_data = addr; - srand(*((unsigned int*)random_data)); - } } public: @@ -297,19 +306,23 @@ class PrivacyPeripheral : public PrivacyDevice { private: bool set_advertising_data() { - GapAdvertisingData advertising_data; - - /* add device name */ - advertising_data.addData( - GapAdvertisingData::COMPLETE_LOCAL_NAME, - DEVICE_NAME, - sizeof(DEVICE_NAME) + uint8_t adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; + /* use the helper to build the payload */ + ble::AdvertisingDataBuilder adv_data_builder( + adv_buffer ); - ble_error_t error = _ble.gap().setAdvertisingPayload(advertising_data); + adv_data_builder.setFlags(); + adv_data_builder.setName(DEVICE_NAME); + + /* Set payload for the set */ + ble_error_t error = _ble.gap().setAdvertisingPayload( + ble::LEGACY_ADVERTISING_HANDLE, + adv_data_builder.getAdvertisingData() + ); if (error) { - printf("Error during Gap::setAdvertisingPayload\r\n"); + print_error(error, "Gap::setAdvertisingPayload() failed"); _event_queue.break_dispatch(); return false; } @@ -319,25 +332,38 @@ class PrivacyPeripheral : public PrivacyDevice { bool start_advertising() { - _ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); - _ble.gap().setAdvertisingInterval(20); + ble::AdvertisingParameters adv_parameters( + ble::advertising_type_t::CONNECTABLE_UNDIRECTED + ); + + ble_error_t error = _ble.gap().setAdvertisingParameters( + ble::LEGACY_ADVERTISING_HANDLE, + adv_parameters + ); + + if (error) { + print_error(error, "Gap::setAdvertisingParameters() failed"); + return false; + } if (_bonded) { /* if we bonded it means we have found the other device, from now on * wait at each step until completion */ - _ble.gap().setAdvertisingTimeout(0); + error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } else { /* since we have two boards which might start running this example at the same time * we randomise the interval of advertising to have them meet when one is advertising * and the other one is scanning (we use their random address as source of randomness) */ - const uint16_t random_interval = 1 + rand() % 5; - _ble.gap().setAdvertisingTimeout(random_interval); + ble::millisecond_t random_duration_ms((1 + rand() % 5) * 1000); + ble::adv_duration_t random_duration(random_duration_ms); + error = _ble.gap().startAdvertising( + ble::LEGACY_ADVERTISING_HANDLE, + random_duration + ); } - ble_error_t error = _ble.gap().startAdvertising(); - if (error) { - printf("Error during Gap::startAdvertising.\r\n"); + print_error(error, "Gap::startAdvertising() failed"); _event_queue.break_dispatch(); return false; } @@ -382,75 +408,31 @@ class PrivacyCentral : public PrivacyDevice { start_scanning(); } - /* callbacks */ - - /** Look at scan payload to find a peer device and connect to it */ - void on_scan(const Gap::AdvertisementCallbackParams_t *params) - { - /* don't bother with analysing scan result if we're already connecting */ - if (_is_connecting) { - return; - } - - /* parse the advertising payload, looking for a discoverable device */ - for (uint8_t i = 0; (i + 2) < params->advertisingDataLen; ++i) { - /* The advertising payload is a collection of key/value records where - * byte 0: length of the record excluding this byte - * byte 1: The key, it is the type of the data - * byte [2..N] The value. N is equal to byte0 - 1 */ - const uint8_t max_record_length = params->advertisingDataLen - i; - const uint8_t record_length = std::min(params->advertisingData[i], - max_record_length); - const uint8_t type = params->advertisingData[i + 1]; - const uint8_t *value = params->advertisingData + i + 2; - - if (record_length < 2) { - /* malformed record */ - } else if (type == GapAdvertisingData::COMPLETE_LOCAL_NAME) { - /* connect based on the name of the device */ - if (memcmp((const char*)DEVICE_NAME, (const char*)value, record_length - 1) == 0) { - _ble.gap().stopScan(); - - ble_error_t error = _ble.gap().connect( - params->peerAddr, params->peerAddrType, - NULL, NULL - ); - - if (error) { - printf("Error during Gap::connect %d\r\n", error); - return; - } - - /* we may have already scan events waiting - * to be processed so we need to remember - * that we are already connecting and ignore them */ - _is_connecting = true; - - return; - } - } - - i += record_length; - } - }; - /* helper functions */ private: bool start_scanning() { + ble_error_t error; + ble::ScanParameters scan_params; + _ble.gap().setScanParameters(scan_params); + + _is_connecting = false; + if (_bonded) { /* if we bonded it means we have found the other device, from now on * wait at each step until completion */ - _ble.gap().setScanParams(4, 4, 0 /*timeout*/); + error = _ble.gap().startScan( + ble::duplicates_filter_t::DISABLE, + ble::scan_duration_t(0) + ); } else { /* otherwise only scan for a limited time before changing roles again * if we fail to find the other device */ - _ble.gap().setScanParams(4, 4, 4/*timeout*/); + error = _ble.gap().startScan( + ble::duplicates_filter_t::DISABLE, + ble::scan_duration_t(ble::millisecond_t(4000)) + ); } - _is_connecting = false; - - ble_error_t error = _ble.gap().startScan(this, &PrivacyCentral::on_scan); - if (error) { printf("Error during Gap::startScan %d\r\n", error); _event_queue.break_dispatch(); @@ -462,6 +444,61 @@ class PrivacyCentral : public PrivacyDevice { return true; } +private: + /* Event handler */ + + /** Look at scan payload to find a peer device and connect to it */ + virtual void onAdvertisingReport(const ble::AdvertisingReportEvent &event) + { + /* don't bother with analysing scan result if we're already connecting */ + if (_is_connecting) { + return; + } + + ble::AdvertisingDataParser adv_data(event.getAdvertisingData()); + + /* parse the advertising payload, looking for a discoverable device */ + while (adv_data.hasNext()) { + ble::AdvertisingDataParser::element_t field = adv_data.next(); + + /* connect to a known device by name */ + if (field.type == ble::adv_data_type_t::COMPLETE_LOCAL_NAME && + field.value.size() == sizeof(DEVICE_NAME) && + (memcmp(field.value.data(), DEVICE_NAME, sizeof(DEVICE_NAME)) == 0)) { + + printf("We found a connectable device\r\n"); + + ble_error_t error = _ble.gap().stopScan(); + + if (error) { + print_error(error, "Error caused by Gap::stopScan"); + return; + } + + const ble::ConnectionParameters connection_params; + + error = _ble.gap().connect( + event.getPeerAddressType(), + event.getPeerAddress(), + connection_params + ); + + if (error) { + print_error(error, "Error caused by Gap::connect"); + return; + } + + /* we may have already scan events waiting + * to be processed so we need to remember + * that we are already connecting and ignore them */ + _is_connecting = true; + + return; + + } + } + } + private: bool _is_connecting; }; From 35e6dfdcf62262878ca097ecad77fce89721a12c Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 29 Nov 2018 10:05:55 +0000 Subject: [PATCH 040/100] update sm --- BLE_SM/source/demo.h | 2 +- BLE_SM/source/main.cpp | 26 ++++++++++---------------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/BLE_SM/source/demo.h b/BLE_SM/source/demo.h index 7b7c264f..e39d6730 100644 --- a/BLE_SM/source/demo.h +++ b/BLE_SM/source/demo.h @@ -65,7 +65,7 @@ void print_error(ble_error_t error, const char* msg) } /** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) +void print_address(const uint8_t *addr) { printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); diff --git a/BLE_SM/source/main.cpp b/BLE_SM/source/main.cpp index 105c8240..1fd31208 100644 --- a/BLE_SM/source/main.cpp +++ b/BLE_SM/source/main.cpp @@ -53,7 +53,8 @@ static BLEProtocol::AddressBytes_t peer_address; * your application is interested in. */ class SMDevice : private mbed::NonCopyable, - public SecurityManager::EventHandler + public SecurityManager::EventHandler, + public ble::Gap::EventHandler { public: SMDevice(BLE &ble, events::EventQueue &event_queue, BLEProtocol::AddressBytes_t &peer_address) : @@ -90,6 +91,9 @@ class SMDevice : private mbed::NonCopyable, makeFunctionPointer(this, &SMDevice::schedule_ble_events) ); + /* handle gap events */ + _ble.gap().setEventHandler(this); + /* handle timeouts, for example when connection attempts fail */ _ble.gap().onTimeout( makeFunctionPointer(this, &SMDevice::on_timeout) @@ -225,21 +229,13 @@ class SMDevice : private mbed::NonCopyable, printf("Device address: %02x:%02x:%02x:%02x:%02x:%02x\r\n", addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); - /* when scanning we want to connect to a peer device so we need to - * attach callbacks that are used by Gap to notify us of events */ - _ble.gap().onConnection(this, &SMDevice::on_connect); - _ble.gap().onDisconnection(this, &SMDevice::on_disconnect); - /* start test in 500 ms */ _event_queue.call_in(500, this, &SMDevice::start); }; - /** This is called by Gap to notify the application we connected */ - virtual void on_connect(const Gap::ConnectionCallbackParams_t *connection_event) = 0; - /** This is called by Gap to notify the application we disconnected, * in our case it ends the demonstration. */ - void on_disconnect(const Gap::DisconnectionCallbackParams_t *event) + virtual void onDisconnectionComplete(const ble::DisconnectionEvent &) { { printf("Diconnected\r\n"); _event_queue.break_dispatch(); @@ -333,7 +329,7 @@ class SMDevicePeripheral : public SMDevice { /** This is called by Gap to notify the application we connected, * in our case it immediately requests a change in link security */ - virtual void on_connect(const Gap::ConnectionCallbackParams_t *connection_event) + virtual void onConnectionComplete(const ble::ConnectionCompleteEvent &event) { ble_error_t error; @@ -341,12 +337,10 @@ class SMDevicePeripheral : public SMDevice { * during the next demonstration */ memcpy(_peer_address, connection_event->peerAddr, sizeof(_peer_address)); - printf("Connected to: %02x:%02x:%02x:%02x:%02x:%02x\r\n", - _peer_address[5], _peer_address[4], _peer_address[3], - _peer_address[2], _peer_address[1], _peer_address[0]); + printf("Connected to peer: "); + print_address(event.getPeerAddress().data()); - /* store the handle for future Security Manager requests */ - _handle = connection_event->handle; + _handle = event.getConnectionHandle(); /* Request a change in link security. This will be done * indirectly by asking the master of the connection to From 196db7a18103b5c9131e9b86c1080f4d91d585d6 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 29 Nov 2018 10:37:00 +0000 Subject: [PATCH 041/100] Revert "BLE: stop scan before connect." This reverts commit 16c22c9d14659174745d984c961919fa64990f85. --- BLE_GAP/source/main.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 837b2ffd..07895ac2 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -458,8 +458,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); connection_params.setOwnAddressType(ble::own_address_type_t::RANDOM); - _ble.gap().stopScan(); - error = _ble.gap().connect( event.getPeerAddressType(), event.getPeerAddress(), From ff728ac38ba17e4f0f1f1f0cf05a1b69a04c6387 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 29 Nov 2018 14:07:56 +0000 Subject: [PATCH 042/100] depreacted mbedignore --- BLE_BatteryLevel/.mbedignore | 1 + BLE_Beacon/.mbedignore | 1 + BLE_Button/.mbedignore | 1 + BLE_GAP/.mbedignore | 1 + BLE_GAPButton/.mbedignore | 1 + BLE_GattClient/.mbedignore | 1 + BLE_GattServer/.mbedignore | 1 + BLE_HeartRate/.mbedignore | 1 + BLE_LED/.mbedignore | 1 + BLE_LEDBlinker/.mbedignore | 1 + BLE_Privacy/.mbedignore | 1 + BLE_Privacy/source/main.cpp | 5 ++++- BLE_SM/.mbedignore | 1 + BLE_Thermometer/.mbedignore | 1 + 14 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 BLE_BatteryLevel/.mbedignore create mode 100644 BLE_Beacon/.mbedignore create mode 100644 BLE_Button/.mbedignore create mode 100644 BLE_GAP/.mbedignore create mode 100644 BLE_GAPButton/.mbedignore create mode 100644 BLE_GattClient/.mbedignore create mode 100644 BLE_GattServer/.mbedignore create mode 100644 BLE_HeartRate/.mbedignore create mode 100644 BLE_LED/.mbedignore create mode 100644 BLE_LEDBlinker/.mbedignore create mode 100644 BLE_Privacy/.mbedignore create mode 100644 BLE_SM/.mbedignore create mode 100644 BLE_Thermometer/.mbedignore diff --git a/BLE_BatteryLevel/.mbedignore b/BLE_BatteryLevel/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_BatteryLevel/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file diff --git a/BLE_Beacon/.mbedignore b/BLE_Beacon/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_Beacon/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file diff --git a/BLE_Button/.mbedignore b/BLE_Button/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_Button/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file diff --git a/BLE_GAP/.mbedignore b/BLE_GAP/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_GAP/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file diff --git a/BLE_GAPButton/.mbedignore b/BLE_GAPButton/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_GAPButton/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file diff --git a/BLE_GattClient/.mbedignore b/BLE_GattClient/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_GattClient/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file diff --git a/BLE_GattServer/.mbedignore b/BLE_GattServer/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_GattServer/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file diff --git a/BLE_HeartRate/.mbedignore b/BLE_HeartRate/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_HeartRate/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file diff --git a/BLE_LED/.mbedignore b/BLE_LED/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_LED/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file diff --git a/BLE_LEDBlinker/.mbedignore b/BLE_LEDBlinker/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_LEDBlinker/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file diff --git a/BLE_Privacy/.mbedignore b/BLE_Privacy/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_Privacy/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file diff --git a/BLE_Privacy/source/main.cpp b/BLE_Privacy/source/main.cpp index 00c63021..dc002bc6 100644 --- a/BLE_Privacy/source/main.cpp +++ b/BLE_Privacy/source/main.cpp @@ -42,7 +42,7 @@ static const char DEVICE_NAME[] = "Privacy"; /* we have to specify the disconnect call because of ambiguous overloads */ typedef ble_error_t (Gap::*disconnect_call_t)(ble::connection_handle_t, ble::local_disconnection_reason_t); -disconnect_call_t disconnect_call = &Gap::disconnect; +const static disconnect_call_t disconnect_call = &Gap::disconnect; /** Base class for both peripheral and central. The same class that provides * the logic for the application also implements the SecurityManagerEventHandler @@ -141,6 +141,9 @@ class PrivacyDevice : private mbed::NonCopyable, * of any events. Class needs to implement SecurityManagerEventHandler. */ _ble.securityManager().setSecurityManagerEventHandler(this); + /* gap events also handled by this class */ + _ble.gap().setEventHandler(this); + /* privacy */ error = _ble.gap().enablePrivacy(true); diff --git a/BLE_SM/.mbedignore b/BLE_SM/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_SM/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file diff --git a/BLE_Thermometer/.mbedignore b/BLE_Thermometer/.mbedignore new file mode 100644 index 00000000..ebb9e732 --- /dev/null +++ b/BLE_Thermometer/.mbedignore @@ -0,0 +1 @@ +deprecated/* \ No newline at end of file From 65a7c03f04094ff34e6968a6a302374349092ad5 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 29 Nov 2018 14:09:53 +0000 Subject: [PATCH 043/100] update sm example --- BLE_GAP/source/main.cpp | 10 +- BLE_SM/source/main.cpp | 286 +++++++++++++++++++++++----------------- 2 files changed, 172 insertions(+), 124 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 07895ac2..68721d5d 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -406,6 +406,11 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _event_queue.call(this, &GapDemo::next_demo_mode); } + void do_disconnect(ble::connection_handle_t handle) { + printf("Disconnecting\r\n"); + _ble.gap().disconnect(handle, ble::local_disconnection_reason_t::USER_TERMINATION); + } + private: /* Gap::EventHandler */ @@ -519,11 +524,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } } - void do_disconnect(ble::connection_handle_t handle) { - printf("Disconnecting\r\n"); - _ble.gap().disconnect(handle, ble::local_disconnection_reason_t::USER_TERMINATION); - } - /** This is called by Gap to notify the application we disconnected, * in our case it calls next_demo_mode() to progress the demo */ virtual void onDisconnectionComplete(const ble::DisconnectionEvent &event) { diff --git a/BLE_SM/source/main.cpp b/BLE_SM/source/main.cpp index 1fd31208..e4fdc6e3 100644 --- a/BLE_SM/source/main.cpp +++ b/BLE_SM/source/main.cpp @@ -39,7 +39,11 @@ * progress. */ -static const uint8_t DEVICE_NAME[] = "SM_device"; +static const char DEVICE_NAME[] = "SM_device"; + +/* we have to specify the disconnect call because of ambiguous overloads */ +typedef ble_error_t (Gap::*disconnect_call_t)(ble::connection_handle_t, ble::local_disconnection_reason_t); +const static disconnect_call_t disconnect_call = &Gap::disconnect; /* for demonstration purposes we will store the peer device address * of the device that connects to us in the first demonstration @@ -94,11 +98,6 @@ class SMDevice : private mbed::NonCopyable, /* handle gap events */ _ble.gap().setEventHandler(this); - /* handle timeouts, for example when connection attempts fail */ - _ble.gap().onTimeout( - makeFunctionPointer(this, &SMDevice::on_timeout) - ); - error = _ble.init(this, &SMDevice::on_init_complete); if (error) { @@ -110,51 +109,6 @@ class SMDevice : private mbed::NonCopyable, _event_queue.dispatch_forever(); }; - /* event handler functions */ - - /** Respond to a pairing request. This will be called by the stack - * when a pairing request arrives and expects the application to - * call acceptPairingRequest or cancelPairingRequest */ - virtual void pairingRequest( - ble::connection_handle_t connectionHandle - ) { - printf("Pairing requested - authorising\r\n"); - _ble.securityManager().acceptPairingRequest(connectionHandle); - } - - /** Inform the application of a successful pairing. Terminate the demonstration. */ - virtual void pairingResult( - ble::connection_handle_t connectionHandle, - SecurityManager::SecurityCompletionStatus_t result - ) { - if (result == SecurityManager::SEC_STATUS_SUCCESS) { - printf("Pairing successful\r\n"); - } else { - printf("Pairing failed\r\n"); - } - } - - /** Inform the application of change in encryption status. This will be - * communicated through the serial port */ - virtual void linkEncryptionResult( - ble::connection_handle_t connectionHandle, - ble::link_encryption_t result - ) { - if (result == ble::link_encryption_t::ENCRYPTED) { - printf("Link ENCRYPTED\r\n"); - } else if (result == ble::link_encryption_t::ENCRYPTED_WITH_MITM) { - printf("Link ENCRYPTED_WITH_MITM\r\n"); - } else if (result == ble::link_encryption_t::NOT_ENCRYPTED) { - printf("Link NOT_ENCRYPTED\r\n"); - } - - /* disconnect in 2 s */ - _event_queue.call_in( - 2000, &_ble.gap(), - &Gap::disconnect, _handle, Gap::REMOTE_USER_TERMINATED_CONNECTION - ); - } - private: /** Override to start chosen activity when initialisation completes */ virtual void start() = 0; @@ -222,33 +176,19 @@ class SMDevice : private mbed::NonCopyable, * of any events. Class needs to implement SecurityManagerEventHandler. */ _ble.securityManager().setSecurityManagerEventHandler(this); + /* gap events also handled by this class */ + _ble.gap().setEventHandler(this); + /* print device address */ Gap::AddressType_t addr_type; Gap::Address_t addr; _ble.gap().getAddress(&addr_type, addr); - printf("Device address: %02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); + print_address(addr); /* start test in 500 ms */ _event_queue.call_in(500, this, &SMDevice::start); }; - /** This is called by Gap to notify the application we disconnected, - * in our case it ends the demonstration. */ - virtual void onDisconnectionComplete(const ble::DisconnectionEvent &) { - { - printf("Diconnected\r\n"); - _event_queue.break_dispatch(); - }; - - /** End demonstration unexpectedly. Called if timeout is reached during advertising, - * scanning or connection initiation */ - void on_timeout(const Gap::TimeoutSource_t source) - { - printf("Unexpected timeout - aborting\r\n"); - _event_queue.break_dispatch(); - }; - /** Schedule processing of events from the BLE in the event queue. */ void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) { @@ -261,6 +201,75 @@ class SMDevice : private mbed::NonCopyable, _led1 = !_led1; }; +private: + /* Event handler */ + + /** Respond to a pairing request. This will be called by the stack + * when a pairing request arrives and expects the application to + * call acceptPairingRequest or cancelPairingRequest */ + virtual void pairingRequest( + ble::connection_handle_t connectionHandle + ) { + printf("Pairing requested - authorising\r\n"); + _ble.securityManager().acceptPairingRequest(connectionHandle); + } + + /** Inform the application of a successful pairing. Terminate the demonstration. */ + virtual void pairingResult( + ble::connection_handle_t connectionHandle, + SecurityManager::SecurityCompletionStatus_t result + ) { + if (result == SecurityManager::SEC_STATUS_SUCCESS) { + printf("Pairing successful\r\n"); + } else { + printf("Pairing failed\r\n"); + } + } + + /** Inform the application of change in encryption status. This will be + * communicated through the serial port */ + virtual void linkEncryptionResult( + ble::connection_handle_t connectionHandle, + ble::link_encryption_t result + ) { + if (result == ble::link_encryption_t::ENCRYPTED) { + printf("Link ENCRYPTED\r\n"); + } else if (result == ble::link_encryption_t::ENCRYPTED_WITH_MITM) { + printf("Link ENCRYPTED_WITH_MITM\r\n"); + } else if (result == ble::link_encryption_t::NOT_ENCRYPTED) { + printf("Link NOT_ENCRYPTED\r\n"); + } + + /* disconnect in 2 s */ + _event_queue.call_in( + 2000, + &_ble.gap(), + disconnect_call, + _handle, + ble::local_disconnection_reason_t(ble::local_disconnection_reason_t::USER_TERMINATION) + ); + } + + /** This is called by Gap to notify the application we disconnected, + * in our case it ends the demonstration. */ + virtual void onDisconnectionComplete(const ble::DisconnectionEvent &) + { + printf("Diconnected\r\n"); + _event_queue.break_dispatch(); + }; + + virtual void onAdvertisingEnd(const ble::AdvertisingEndEvent &) + { + printf("Advertising timed out - aborting\r\n"); + _event_queue.break_dispatch(); + } + + virtual void onScanTimeout(const ble::ScanTimeoutEvent &) + { + printf("Scan timed out - aborting\r\n"); + _event_queue.break_dispatch(); + } + private: DigitalOut _led1; @@ -282,39 +291,45 @@ class SMDevicePeripheral : public SMDevice { virtual void start() { /* Set up and start advertising */ + uint8_t adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE]; + /* use the helper to build the payload */ + ble::AdvertisingDataBuilder adv_data_builder( + adv_buffer + ); - ble_error_t error; - GapAdvertisingData advertising_data; + adv_data_builder.setFlags(); + adv_data_builder.setName(DEVICE_NAME); - /* add advertising flags */ - advertising_data.addFlags(GapAdvertisingData::LE_GENERAL_DISCOVERABLE - | GapAdvertisingData::BREDR_NOT_SUPPORTED); + /* Set payload for the set */ + ble_error_t error = _ble.gap().setAdvertisingPayload( + ble::LEGACY_ADVERTISING_HANDLE, + adv_data_builder.getAdvertisingData() + ); - /* add device name */ - advertising_data.addData( - GapAdvertisingData::COMPLETE_LOCAL_NAME, - DEVICE_NAME, - sizeof(DEVICE_NAME) + if (error) { + print_error(error, "Gap::setAdvertisingPayload() failed"); + _event_queue.break_dispatch(); + return; + } + + ble::AdvertisingParameters adv_parameters( + ble::advertising_type_t::CONNECTABLE_UNDIRECTED ); - error = _ble.gap().setAdvertisingPayload(advertising_data); + error = _ble.gap().setAdvertisingParameters( + ble::LEGACY_ADVERTISING_HANDLE, + adv_parameters + ); if (error) { - printf("Error during Gap::setAdvertisingPayload\r\n"); + print_error(error, "Gap::setAdvertisingParameters() failed"); return; } - /* advertise to everyone */ - _ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); - /* how many milliseconds between advertisements, lower interval - * increases the chances of being seen at the cost of more power */ - _ble.gap().setAdvertisingInterval(20); - _ble.gap().setAdvertisingTimeout(0); - - error = _ble.gap().startAdvertising(); + error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); if (error) { - printf("Error during Gap::startAdvertising.\r\n"); + print_error(error, "Gap::startAdvertising() failed"); return; } @@ -335,7 +350,7 @@ class SMDevicePeripheral : public SMDevice { /* remember the device that connects to us now so we can connect to it * during the next demonstration */ - memcpy(_peer_address, connection_event->peerAddr, sizeof(_peer_address)); + memcpy(_peer_address, event.getPeerAddress().data(), sizeof(_peer_address)); printf("Connected to peer: "); print_address(event.getPeerAddress().data()); @@ -367,45 +382,70 @@ class SMDeviceCentral : public SMDevice { virtual void start() { - /* start scanning and attach a callback that will handle advertisements - * and scan requests responses */ - ble_error_t error = _ble.gap().startScan(this, &SMDeviceCentral::on_scan); + ble::ScanParameters params; + ble_error_t error = _ble.gap().setScanParameters(params); - printf("Please advertise\r\n"); + if (error) { + print_error(error, "Error in Gap::startScan %d\r\n"); + return; + } - printf("Scanning for: %02x:%02x:%02x:%02x:%02x:%02x\r\n", - _peer_address[5], _peer_address[4], _peer_address[3], - _peer_address[2], _peer_address[1], _peer_address[0]); + /* start scanning, results will be handled by onAdvertisingReport */ + error = _ble.gap().startScan(); if (error) { - printf("Error during Gap::startScan %d\r\n", error); + print_error(error, "Error in Gap::startScan %d\r\n"); return; } + + printf("Please advertise\r\n"); + + printf("Scanning for: "); + print_address(_peer_address); } +private: + /* Gap::EventHandler */ + /** Look at scan payload to find a peer device and connect to it */ - void on_scan(const Gap::AdvertisementCallbackParams_t *params) + virtual void onAdvertisingReport(const ble::AdvertisingReportEvent &event) { /* don't bother with analysing scan result if we're already connecting */ if (_is_connecting) { return; } - /* connect to the same device that connected to us */ - if (memcmp(params->peerAddr, _peer_address, sizeof(_peer_address)) == 0) { + /* parse the advertising payload, looking for a discoverable device */ + if (memcmp(event.getPeerAddress().data(), _peer_address, sizeof(_peer_address)) == 0) { + ble_error_t error = _ble.gap().stopScan(); + + if (error) { + print_error(error, "Error caused by Gap::stopScan"); + return; + } + + ble::ConnectionParameters connection_params( + ble::phy_t::LE_1M, + ble::scan_interval_t(50), + ble::scan_window_t(50), + ble::conn_interval_t(50), + ble::conn_interval_t(100), + ble::slave_latency_t(0), + ble::supervision_timeout_t(100) + ); + connection_params.setOwnAddressType(ble::own_address_type_t::RANDOM); - ble_error_t error = _ble.gap().connect( - params->peerAddr, params->peerAddrType, - NULL, NULL + error = _ble.gap().connect( + event.getPeerAddressType(), + event.getPeerAddress(), + connection_params ); if (error) { - printf("Error during Gap::connect %d\r\n", error); + print_error(error, "Error caused by Gap::connect"); return; } - printf("Connecting... "); - /* we may have already scan events waiting * to be processed so we need to remember * that we are already connecting and ignore them */ @@ -413,28 +453,36 @@ class SMDeviceCentral : public SMDevice { return; } - }; + } /** This is called by Gap to notify the application we connected, * in our case it immediately request pairing */ - virtual void on_connect(const Gap::ConnectionCallbackParams_t *connection_event) + virtual void onConnectionComplete(const ble::ConnectionCompleteEvent &event) { - ble_error_t error; + if (event.getStatus() == BLE_ERROR_NONE) { + /* store the handle for future Security Manager requests */ + _handle = event.getConnectionHandle(); - /* store the handle for future Security Manager requests */ - _handle = connection_event->handle; + printf("Connected\r\n"); - /* in this example the local device is the master so we request pairing */ - error = _ble.securityManager().requestPairing(_handle); + /* in this example the local device is the master so we request pairing */ + ble_error_t error = _ble.securityManager().requestPairing(_handle); - printf("Connected\r\n"); + if (error) { + printf("Error during SM::requestPairing %d\r\n", error); + return; + } + + /* upon pairing success the application will disconnect */ + } + + /* failed to connect - restart scan */ + ble_error_t error = _ble.gap().startScan(); if (error) { - printf("Error during SM::requestPairing %d\r\n", error); + print_error(error, "Error in Gap::startScan %d\r\n"); return; } - - /* upon pairing success the application will disconnect */ }; }; From 387e92ba23e66028339cadd631a9e63107ab4f26 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 29 Nov 2018 15:36:36 +0000 Subject: [PATCH 044/100] include deprecated examples --- .../deprecated/BLE_BatteryLevel/.mbed | 1 + .../BLE_BatteryLevel/img/connection.png | Bin 0 -> 71470 bytes .../BLE_BatteryLevel/img/discovery.png | Bin 0 -> 78157 bytes .../BLE_BatteryLevel/img/notifications.png | Bin 0 -> 71246 bytes .../img/register_to_notifications.png | Bin 0 -> 77654 bytes .../BLE_BatteryLevel/img/scan_result.png | Bin 0 -> 63186 bytes .../BLE_BatteryLevel/img/start_scan.png | Bin 0 -> 87513 bytes .../deprecated/BLE_BatteryLevel/mbed-os.lib | 1 + .../deprecated/BLE_BatteryLevel/mbed_app.json | 16 + .../deprecated/BLE_BatteryLevel/module.json | 16 + .../deprecated/BLE_BatteryLevel/readme.md | 68 ++ .../shields/TARGET_CORDIO_BLUENRG.lib | 1 + .../BLE_BatteryLevel/source/main.cpp | 129 ++++ BLE_Beacon/deprecated/BLE_Beacon/.mbed | 1 + .../BLE_Beacon/img/beacon_details.png | Bin 0 -> 65715 bytes .../deprecated/BLE_Beacon/img/discovery.png | Bin 0 -> 66562 bytes .../deprecated/BLE_Beacon/img/start_scan.png | Bin 0 -> 87513 bytes BLE_Beacon/deprecated/BLE_Beacon/mbed-os.lib | 1 + .../deprecated/BLE_Beacon/mbed_app.json | 16 + BLE_Beacon/deprecated/BLE_Beacon/module.json | 16 + BLE_Beacon/deprecated/BLE_Beacon/readme.md | 52 ++ .../BLE_Beacon/shields/TARGET_ST_BLUENRG.lib | 1 + .../deprecated/BLE_Beacon/source/main.cpp | 101 +++ BLE_Button/deprecated/BLE_Button/.mbed | 1 + .../BLE_Button/img/button_depressed.png | Bin 0 -> 69671 bytes .../BLE_Button/img/button_pressed.png | Bin 0 -> 69415 bytes .../deprecated/BLE_Button/img/connection.png | Bin 0 -> 70236 bytes .../deprecated/BLE_Button/img/discovery.png | Bin 0 -> 82646 bytes .../img/register_to_notifications.png | Bin 0 -> 75563 bytes .../BLE_Button/img/scan_results.png | Bin 0 -> 72941 bytes .../deprecated/BLE_Button/img/start_scan.png | Bin 0 -> 87513 bytes BLE_Button/deprecated/BLE_Button/mbed-os.lib | 1 + .../deprecated/BLE_Button/mbed_app.json | 35 + BLE_Button/deprecated/BLE_Button/module.json | 15 + BLE_Button/deprecated/BLE_Button/readme.md | 99 +++ .../shields/TARGET_CORDIO_BLUENRG.lib | 1 + .../BLE_Button/source/ButtonService.h | 42 ++ .../deprecated/BLE_Button/source/main.cpp | 122 ++++ BLE_GAP/deprecated/BLE_GAP/.mbed | 1 + BLE_GAP/deprecated/BLE_GAP/README.md | 24 + BLE_GAP/deprecated/BLE_GAP/mbed-os.lib | 1 + BLE_GAP/deprecated/BLE_GAP/mbed_app.json | 16 + BLE_GAP/deprecated/BLE_GAP/mbed_config.h | 237 +++++++ .../BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib | 1 + BLE_GAP/deprecated/BLE_GAP/source/main.cpp | 599 ++++++++++++++++++ BLE_GAPButton/deprecated/BLE_GAPButton/.mbed | 1 + .../deprecated/BLE_GAPButton/README.md | 87 +++ .../BLE_GAPButton/img/discovery.png | Bin 0 -> 70196 bytes .../BLE_GAPButton/img/first_press.png | Bin 0 -> 70263 bytes .../BLE_GAPButton/img/initial_state.png | Bin 0 -> 66740 bytes .../deprecated/BLE_GAPButton/img/result.png | Bin 0 -> 71025 bytes .../BLE_GAPButton/img/start_scan.png | Bin 0 -> 87513 bytes .../deprecated/BLE_GAPButton/mbed-os.lib | 1 + .../deprecated/BLE_GAPButton/mbed_app.json | 35 + .../deprecated/BLE_GAPButton/module.json | 12 + .../shields/TARGET_CORDIO_BLUENRG.lib | 1 + .../deprecated/BLE_GAPButton/source/main.cpp | 209 ++++++ .../deprecated/BLE_GattClient/.mbed | 1 + .../deprecated/BLE_GattClient/BLEProcess.h | 231 +++++++ .../deprecated/BLE_GattClient/README.md | 33 + .../deprecated/BLE_GattClient/main.cpp | 580 +++++++++++++++++ .../deprecated/BLE_GattClient/mbed-os.lib | 1 + .../deprecated/BLE_GattClient/mbed_app.json | 16 + .../shields/TARGET_CORDIO_BLUENRG.lib | 1 + .../deprecated/BLE_GattServer/.mbed | 1 + .../deprecated/BLE_GattServer/BLEProcess.h | 206 ++++++ .../deprecated/BLE_GattServer/main.cpp | 411 ++++++++++++ .../deprecated/BLE_GattServer/mbed-os.lib | 1 + .../deprecated/BLE_GattServer/mbed_app.json | 16 + .../shields/TARGET_CORDIO_BLUENRG.lib | 1 + BLE_HeartRate/deprecated/BLE_HeartRate/.mbed | 1 + .../BLE_HeartRate/img/connection.png | Bin 0 -> 68565 bytes .../BLE_HeartRate/img/discovery.png | Bin 0 -> 68889 bytes .../BLE_HeartRate/img/notifications.png | Bin 0 -> 71796 bytes .../img/register_to_notifications.png | Bin 0 -> 68894 bytes .../BLE_HeartRate/img/scan_result.png | Bin 0 -> 64327 bytes .../BLE_HeartRate/img/start_scan.png | Bin 0 -> 87513 bytes .../deprecated/BLE_HeartRate/mbed-os.lib | 1 + .../deprecated/BLE_HeartRate/mbed_app.json | 16 + .../deprecated/BLE_HeartRate/module.json | 16 + .../deprecated/BLE_HeartRate/readme.md | 64 ++ .../shields/TARGET_CORDIO_BLUENRG.lib | 1 + .../deprecated/BLE_HeartRate/source/main.cpp | 127 ++++ BLE_LED/deprecated/BLE_LED/.mbed | 1 + BLE_LED/deprecated/BLE_LED/img/LED_OFF.png | Bin 0 -> 62969 bytes BLE_LED/deprecated/BLE_LED/img/LED_ON.png | Bin 0 -> 62866 bytes BLE_LED/deprecated/BLE_LED/img/connection.png | Bin 0 -> 69387 bytes BLE_LED/deprecated/BLE_LED/img/discovery.png | Bin 0 -> 82189 bytes .../deprecated/BLE_LED/img/scan_results.png | Bin 0 -> 65085 bytes BLE_LED/deprecated/BLE_LED/img/start_scan.png | Bin 0 -> 87513 bytes .../BLE_LED/img/write_characteristic.png | Bin 0 -> 77228 bytes .../deprecated/BLE_LED/img/write_pannel.png | Bin 0 -> 67664 bytes BLE_LED/deprecated/BLE_LED/mbed-os.lib | 1 + BLE_LED/deprecated/BLE_LED/mbed_app.json | 16 + BLE_LED/deprecated/BLE_LED/module.json | 16 + BLE_LED/deprecated/BLE_LED/readme.md | 93 +++ .../BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib | 1 + .../deprecated/BLE_LED/source/LEDService.h | 43 ++ BLE_LED/deprecated/BLE_LED/source/main.cpp | 128 ++++ .../deprecated/BLE_LEDBlinker/.mbed | 1 + .../deprecated/BLE_LEDBlinker/mbed-os.lib | 1 + .../deprecated/BLE_LEDBlinker/mbed_app.json | 16 + .../deprecated/BLE_LEDBlinker/module.json | 15 + .../deprecated/BLE_LEDBlinker/readme.md | 54 ++ .../shields/TARGET_CORDIO_BLUENRG.lib | 1 + .../deprecated/BLE_LEDBlinker/source/main.cpp | 199 ++++++ BLE_Privacy/deprecated/BLE_Privacy/.mbed | 1 + BLE_Privacy/deprecated/BLE_Privacy/README.md | 27 + .../deprecated/BLE_Privacy/mbed-os.lib | 1 + .../deprecated/BLE_Privacy/mbed_app.json | 5 + .../shields/TARGET_CORDIO_BLUENRG.lib | 1 + .../deprecated/BLE_Privacy/source/main.cpp | 498 +++++++++++++++ BLE_SM/deprecated/BLE_SM/.mbed | 1 + BLE_SM/deprecated/BLE_SM/README.md | 29 + BLE_SM/deprecated/BLE_SM/mbed-os.lib | 1 + BLE_SM/deprecated/BLE_SM/mbed_app.json | 23 + BLE_SM/deprecated/BLE_SM/module.json | 15 + .../BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib | 1 + BLE_SM/deprecated/BLE_SM/source/main.cpp | 512 +++++++++++++++ .../deprecated/BLE_Thermometer/.mbed | 1 + .../BLE_Thermometer/img/connection.png | Bin 0 -> 77296 bytes .../BLE_Thermometer/img/discovery.png | Bin 0 -> 72459 bytes .../BLE_Thermometer/img/notifications.png | Bin 0 -> 68669 bytes .../img/register_to_notifications.png | Bin 0 -> 68068 bytes .../BLE_Thermometer/img/scan_results.png | Bin 0 -> 73954 bytes .../BLE_Thermometer/img/start_scan.png | Bin 0 -> 87513 bytes .../deprecated/BLE_Thermometer/mbed-os.lib | 1 + .../deprecated/BLE_Thermometer/mbed_app.json | 16 + .../deprecated/BLE_Thermometer/module.json | 15 + .../deprecated/BLE_Thermometer/readme.md | 80 +++ .../shields/TARGET_CORDIO_BLUENRG.lib | 1 + .../BLE_Thermometer/source/main.cpp | 119 ++++ README.md | 6 +- 133 files changed, 5625 insertions(+), 1 deletion(-) create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/.mbed create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/connection.png create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/discovery.png create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/notifications.png create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/register_to_notifications.png create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/scan_result.png create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/start_scan.png create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/mbed-os.lib create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/mbed_app.json create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/module.json create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/readme.md create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_BatteryLevel/deprecated/BLE_BatteryLevel/source/main.cpp create mode 100644 BLE_Beacon/deprecated/BLE_Beacon/.mbed create mode 100644 BLE_Beacon/deprecated/BLE_Beacon/img/beacon_details.png create mode 100644 BLE_Beacon/deprecated/BLE_Beacon/img/discovery.png create mode 100644 BLE_Beacon/deprecated/BLE_Beacon/img/start_scan.png create mode 100644 BLE_Beacon/deprecated/BLE_Beacon/mbed-os.lib create mode 100644 BLE_Beacon/deprecated/BLE_Beacon/mbed_app.json create mode 100644 BLE_Beacon/deprecated/BLE_Beacon/module.json create mode 100644 BLE_Beacon/deprecated/BLE_Beacon/readme.md create mode 100644 BLE_Beacon/deprecated/BLE_Beacon/shields/TARGET_ST_BLUENRG.lib create mode 100644 BLE_Beacon/deprecated/BLE_Beacon/source/main.cpp create mode 100644 BLE_Button/deprecated/BLE_Button/.mbed create mode 100644 BLE_Button/deprecated/BLE_Button/img/button_depressed.png create mode 100644 BLE_Button/deprecated/BLE_Button/img/button_pressed.png create mode 100644 BLE_Button/deprecated/BLE_Button/img/connection.png create mode 100644 BLE_Button/deprecated/BLE_Button/img/discovery.png create mode 100644 BLE_Button/deprecated/BLE_Button/img/register_to_notifications.png create mode 100644 BLE_Button/deprecated/BLE_Button/img/scan_results.png create mode 100644 BLE_Button/deprecated/BLE_Button/img/start_scan.png create mode 100644 BLE_Button/deprecated/BLE_Button/mbed-os.lib create mode 100644 BLE_Button/deprecated/BLE_Button/mbed_app.json create mode 100644 BLE_Button/deprecated/BLE_Button/module.json create mode 100644 BLE_Button/deprecated/BLE_Button/readme.md create mode 100644 BLE_Button/deprecated/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_Button/deprecated/BLE_Button/source/ButtonService.h create mode 100644 BLE_Button/deprecated/BLE_Button/source/main.cpp create mode 100644 BLE_GAP/deprecated/BLE_GAP/.mbed create mode 100644 BLE_GAP/deprecated/BLE_GAP/README.md create mode 100644 BLE_GAP/deprecated/BLE_GAP/mbed-os.lib create mode 100644 BLE_GAP/deprecated/BLE_GAP/mbed_app.json create mode 100644 BLE_GAP/deprecated/BLE_GAP/mbed_config.h create mode 100644 BLE_GAP/deprecated/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_GAP/deprecated/BLE_GAP/source/main.cpp create mode 100644 BLE_GAPButton/deprecated/BLE_GAPButton/.mbed create mode 100644 BLE_GAPButton/deprecated/BLE_GAPButton/README.md create mode 100644 BLE_GAPButton/deprecated/BLE_GAPButton/img/discovery.png create mode 100644 BLE_GAPButton/deprecated/BLE_GAPButton/img/first_press.png create mode 100644 BLE_GAPButton/deprecated/BLE_GAPButton/img/initial_state.png create mode 100644 BLE_GAPButton/deprecated/BLE_GAPButton/img/result.png create mode 100644 BLE_GAPButton/deprecated/BLE_GAPButton/img/start_scan.png create mode 100644 BLE_GAPButton/deprecated/BLE_GAPButton/mbed-os.lib create mode 100644 BLE_GAPButton/deprecated/BLE_GAPButton/mbed_app.json create mode 100644 BLE_GAPButton/deprecated/BLE_GAPButton/module.json create mode 100644 BLE_GAPButton/deprecated/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_GAPButton/deprecated/BLE_GAPButton/source/main.cpp create mode 100644 BLE_GattClient/deprecated/BLE_GattClient/.mbed create mode 100644 BLE_GattClient/deprecated/BLE_GattClient/BLEProcess.h create mode 100644 BLE_GattClient/deprecated/BLE_GattClient/README.md create mode 100644 BLE_GattClient/deprecated/BLE_GattClient/main.cpp create mode 100644 BLE_GattClient/deprecated/BLE_GattClient/mbed-os.lib create mode 100644 BLE_GattClient/deprecated/BLE_GattClient/mbed_app.json create mode 100644 BLE_GattClient/deprecated/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_GattServer/deprecated/BLE_GattServer/.mbed create mode 100644 BLE_GattServer/deprecated/BLE_GattServer/BLEProcess.h create mode 100644 BLE_GattServer/deprecated/BLE_GattServer/main.cpp create mode 100644 BLE_GattServer/deprecated/BLE_GattServer/mbed-os.lib create mode 100644 BLE_GattServer/deprecated/BLE_GattServer/mbed_app.json create mode 100644 BLE_GattServer/deprecated/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/.mbed create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/img/connection.png create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/img/discovery.png create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/img/notifications.png create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/img/register_to_notifications.png create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/img/scan_result.png create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/img/start_scan.png create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/mbed-os.lib create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/mbed_app.json create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/module.json create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/readme.md create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_HeartRate/deprecated/BLE_HeartRate/source/main.cpp create mode 100644 BLE_LED/deprecated/BLE_LED/.mbed create mode 100644 BLE_LED/deprecated/BLE_LED/img/LED_OFF.png create mode 100644 BLE_LED/deprecated/BLE_LED/img/LED_ON.png create mode 100644 BLE_LED/deprecated/BLE_LED/img/connection.png create mode 100644 BLE_LED/deprecated/BLE_LED/img/discovery.png create mode 100644 BLE_LED/deprecated/BLE_LED/img/scan_results.png create mode 100644 BLE_LED/deprecated/BLE_LED/img/start_scan.png create mode 100644 BLE_LED/deprecated/BLE_LED/img/write_characteristic.png create mode 100644 BLE_LED/deprecated/BLE_LED/img/write_pannel.png create mode 100644 BLE_LED/deprecated/BLE_LED/mbed-os.lib create mode 100644 BLE_LED/deprecated/BLE_LED/mbed_app.json create mode 100644 BLE_LED/deprecated/BLE_LED/module.json create mode 100644 BLE_LED/deprecated/BLE_LED/readme.md create mode 100644 BLE_LED/deprecated/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_LED/deprecated/BLE_LED/source/LEDService.h create mode 100644 BLE_LED/deprecated/BLE_LED/source/main.cpp create mode 100644 BLE_LEDBlinker/deprecated/BLE_LEDBlinker/.mbed create mode 100644 BLE_LEDBlinker/deprecated/BLE_LEDBlinker/mbed-os.lib create mode 100644 BLE_LEDBlinker/deprecated/BLE_LEDBlinker/mbed_app.json create mode 100644 BLE_LEDBlinker/deprecated/BLE_LEDBlinker/module.json create mode 100644 BLE_LEDBlinker/deprecated/BLE_LEDBlinker/readme.md create mode 100644 BLE_LEDBlinker/deprecated/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_LEDBlinker/deprecated/BLE_LEDBlinker/source/main.cpp create mode 100644 BLE_Privacy/deprecated/BLE_Privacy/.mbed create mode 100644 BLE_Privacy/deprecated/BLE_Privacy/README.md create mode 100644 BLE_Privacy/deprecated/BLE_Privacy/mbed-os.lib create mode 100644 BLE_Privacy/deprecated/BLE_Privacy/mbed_app.json create mode 100644 BLE_Privacy/deprecated/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_Privacy/deprecated/BLE_Privacy/source/main.cpp create mode 100644 BLE_SM/deprecated/BLE_SM/.mbed create mode 100644 BLE_SM/deprecated/BLE_SM/README.md create mode 100644 BLE_SM/deprecated/BLE_SM/mbed-os.lib create mode 100644 BLE_SM/deprecated/BLE_SM/mbed_app.json create mode 100644 BLE_SM/deprecated/BLE_SM/module.json create mode 100644 BLE_SM/deprecated/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_SM/deprecated/BLE_SM/source/main.cpp create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/.mbed create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/img/connection.png create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/img/discovery.png create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/img/notifications.png create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/img/register_to_notifications.png create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/img/scan_results.png create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/img/start_scan.png create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/mbed-os.lib create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/mbed_app.json create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/module.json create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/readme.md create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_Thermometer/deprecated/BLE_Thermometer/source/main.cpp diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/.mbed b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/connection.png b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/connection.png new file mode 100644 index 0000000000000000000000000000000000000000..046fc94c606febba470e87c577947eff9b468d83 GIT binary patch literal 71470 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

Ii>2LvdxqtJG%qZ1oT38j5d)OOCq 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 literal 0 HcmV?d00001 diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/discovery.png b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/discovery.png new file mode 100644 index 0000000000000000000000000000000000000000..90fb664d2c86ab41bc3954f0ac13515edb13beb1 GIT binary patch literal 78157 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�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 Umzgo=67bPb(@`yb`X=Om0LsxQ#sB~S literal 0 HcmV?d00001 diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/notifications.png b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..fd092cb3a6af8f6455041920744f099a689b3de1 GIT binary patch literal 71246 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 SFBffQ00K`}KbLh*2~7aM|ClZS literal 0 HcmV?d00001 diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/register_to_notifications.png b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/register_to_notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..87cdc0a0f9649e14c5884900ad0ddcf654d66727 GIT binary patch literal 77654 zcmeFYV{;|U7xo+5wr$(q@x(TEGO=yj$;6!4wyhn^#I`vx&i#L$x91a_Ixo7qSF?I` z)vB)F)g7&>EQ^dlfB*&th76FCQUe162ZDh?1i``lSJOzaU;bYP=_&!xfP;hE*i+g4 z&jfc>la&CgnD^>$z0wqGVh-el5u!YNDwgK zp<)@5WPH;{6BZL>CTMJMcu-gn5rs;U|0^Lu=wb!uN`p{zetJIuMY+8J3OWHM z@Gk>u!{&nnbWBwLbjqj$zxsxK#E7+-@>Qy^VpJWk`0!~rQ1j+|y#H8I?1e*&C%K(U z*7U~$clxOCoSXX=8RAImQM)T)n((Q5f7f8cqq>jDaEv{WFf%CJO|Vg6QmOM0XO!h6 zL>(d{D!!Y%og}05s|1D-bFngiY%ks$zNh}RL`wCBx_WESV7;tw7?dtdZn&eSjeEBX z;i@w-$oQxSG>O;0yF@dIA7F5C^#k;hMSsnzc$k~R52kC%5yXq)y?Xb0V^3ldgxw4j z$q&uzez%6=z;N)#EsVo{+qtI1);FCdB)gAx9mx{IN=(J0#uL+olO}xPi%zuosglJC zl$BU0wOno*_{Qc65#L-&sWFZq@bNO~qxq|=rJzU~ zezrfCHYY5~FVdP@-YL|U0e;b?cNgORjyjyLjp{V9aNxg_&!Orhd71a{K1f8K>rz(H zxBj(CZ=n4{BrEbMg9yOMbg$7SSL#-whc$a%EdNGv?cZzL@AI2YP9;E1Ulbot#2-qD zjgFohAz%bpp~79wRI&F6J!neq7d2M@D)%#Ptc`1sd#;*uo)vxC6g5V zlbl&!e~7Db!@N$<`rR}3y-ix`ue7N0P_H*%mT6m@72Ik+Jbg3B0Kl`gI&*rqr zOj&}!Mx8IiP8A9H!^{WA%}c6#ktLAGk~qljqQZC_lyLvGZ+O3`5qs>w%08q8m4LfI zBTp`hEPoW~a-%vs9_$-<#aC4I1zPipHq8OB0)D2_9o*5@rM<9~ofz5j*+b2eqjLRK zMPkPUk7XeORP=`Zxf+0hy3da=0dUER8G2rN>rREe5u(6ZU^ zPJ*$s%Oc>POkMkT5@HResDQ7fHf?Yo_!yd0OZrKiqHtaJ5x>rq6hMGjrZGDSCaDd_TJ2tU}o z%km2sHjIp0vzWYU8VUO#fnrCpGwBaAQNll-2s--V<68tGs4LUki+caPo0oWoNI;*! zIGq^vPZD2+g5t(mH}{ZKu2LnGuwMIa-eNe=hn1MUVP{jCmw{>!2zsD|m38^DFHV16 z5@PzrwRbIFdPMt4$B;3>P=`)=qmDX=^`LV8llEHK!?qs}3qcjq-EkN*j`D2+T*tKR z7DVf9*;szgRUdJ4jSlRq_ORdKZ(_e5jxr{nxs$qW)1403p)5WaxbYCUyaKWy?-qLY zE=n5F+-xt>_dOJ$76j>+50sD0pl{_*;0{IZjbd}>2ox3mFzG59ZEWotW* zh>^?16r#iq8zfopGDTaT{DKHR1drwgYh>N@(jmIpVsV^Vqkt@b&~J#d3YxFJvYjGB zvjR=`PyOSLnY@QA2Pf>44s7W&x3>KG{WO(N`uKLU_#VM<&jPQP!)E~XDWJ%8GqZka z7xH1X`q~fx`mIJJ?prO4%TF7WD``mS6bSd$ICg|CqJ#bxkicX>q@>gZC!+!_e$ClV zoH{EjRy9c%r`lL%v!!-VGo{e1yiB;1SHg-g#rt_jvq(aN#av%>K)?l=7unle98h1a zriddP5RHmTe(gd!lP+~nKIN@hNvHd4$LVR%c$y}UQb1V_Sf_VVIk#d?()p@zlAeox z@vL_IN-r-mOdlHWE7w*ir?JN_j@*7y0=C;*jDkkIl|irV5$ z4l!~J_dDMRBE`zGY#q(*h0XnA2&qeFP6QBrn-nuH{WiNEo#9>o`r4qg}i zF4c6w?L&z#t1&YbCR3nGS!YxQ0?JzjEOonX(iHVPRRcz(>|Ah%nZ$LdzZ84kFvql? z79Sj@q@PGAgcPTceqAwb@9JyH%2IQa>?lO{k=e;{DU!q-`W+>@BbwEOChtHjYr@Bg z(02ll&0&?7e!U}jY)7U!h1bj43lr$+$=gF6E|y3#OV6RJYC%z|w8ssvKH~V93oDYHs}9-T#9yMTyyc`5Anp5(ZGS#bJl+!^ z3fLcQ2Nlcz;HJ=pvvaI7fKm-@cjJUL{ye5QLCv_tn$xX?Uh7}#s^Ti)kX)jS#-*C+ zf8C1`bNTD{g7wk>)pD@atH;17iRLAd`VfDR0chV@QGoK=$FhGroW@!Qp2HDTa7jBh zL#BHUuY6B!{);?R2ewb6=4Yg6tX*N^y%?gzhf97Tp*JY|2Gy3mKQrbYUMjin3JYDl zelmEz{1=s9$}Lwp3&2T5B1h76G~ONt9^tsy<%tMJ5J6$SVy>qP9U(2%20DL#2;NEx z?z6E)7d{7oWkW``Jh#@-AeyM#u^qCmHNTfW4vu^7hG)3={|dQ=7r_oE6;=*Z#M^>h zlEdXXJ*;~d(Wj~xCq!%!f@BuW&^tK7c?#=Dv&V5c?@g#OFJ=B(O-eX7BC-8RH0E0^ znRLE{H%5xTD*lvYLB34`(~GShxdG`SDs-!bt6RA(hGzF)q$&CqT2iDkAX>3Qgxr4*M^u?xF zSepfpWr^Kd4a=1R>s?y{bJ1>wyqC?njA_k9N+1B%D7d9sO=r*fLX-NC>%3ewV0Ewv zWEYvK^U$a)@)743m7sh_E`#5DJF9jL#ye}|Dkk!3o_bG*XtwrHDkPgO5Hgl@fr`}5 zV4l^3hp!zLm!CV#M*VkEV&&Ei+=sF|&Zup}aPZx9#~yVL;5H);sTbp@)%4Lq5r zVhs${Jx~1JV3c&Ixo%-D|1sCKod+key;$G7T%)CkvD0q|W1gi5KwS94lA+C@$xP8& z?PY{Ljs4i64L@JcvX_l0hkQMm_V0SK+5%~FNXrCxLvBMA#5Lq|#%ua zk}$PdtH_-R)p~sjJG!2u)cm18L%{W;R8tNl%jR9#C!SU>JR@*aLh;eu5(YE9YUx`# zjH_^n*Bd~_CE5w?zKoFo&l}J*VM7v%qsW}obbYJ)?{gWds&L zf_%*;nC1oeAg_kg8>d-;E%ZLB*6EEzLqx`E3gPs4n4XosLtYLN6lT8@^|t#6q(35@ zCuSSv_a(En_&ga}3L1*$aU7|ng;vGA8A!K=q8X&~cImwA3Mj2GxMG9K_6mfIjuAtx zT#}!Z{gc>HspPa6I;^zb7gLxiDw~QyFk~oNlOiiFM$Ha^w^~(28>j!00QkD_O+GE&dLieH(+H_AR1ljfs1fMOb*wkzebBoAuz0ssDbH>+( zR5mv=))lx-*kR6`toTlMY|pehMG~Uo@89G4ef9jaF1jmeCD#gB9_@Sf*eb`mVcdrF z)u4EFIoUoYn|CHX7s<_dD`23M^m1nAq6G8k)p++T>`BM^QNrDEPBMPvZc=#v<-_Q8 zhubobII3Ujg5m_xhU=#ed+}n=5uYMkjj>551m(-Z_jSgaU;^WYThnLLQ|51CQVXR! zwgdWEoOvQ#%ZqAzYMA3(6^CB=?ND#G#i1)(tZm5DCvhi;tiCTY8Hrt?ThsENQxm!~ z=|B;rKv%DTf%Z9`~fVe#s9On#JNy{_-H%i%Z+ zlAuQ_5jpPHQt0T!ync0*!sk|b{>O7lli~a)3w3v2I--N`$mnidcB0r28KJlBpNHy- zMrBOmbJ1uMg{0cke!xs&6I!1dXZ~^z8``rM#QWP;%cEDGKj=?Ek0GDADTN<7>esVp zf<#FDpd~Kkf!a%p0vyPsW>$NYERFve1M- zwCMxxncJr*2`Uen;bO9)thb8*vsd_TzyB z=LbP8X?p$6;vH2i;)KLwIN*c&z4$2g`)QyMSqPv345c-nqfb>*@tSm6^kSPR8(mSL z{=m+1{?M&3Tgbh#lvl`GAX-JD$@C>mOTA4(<3~zmjPB%L$KJY9BU=4^$TNO|XUG~_ zX%?+8ZIu(Db$p1O!Xd4)O!@L-H5Hef$uM*>a(<{+iqIKXmW|>`V1Ptn>SFe-AqS` z9v1oiA)z(h7pZKc^(fb(Af*AjE2A_36%~4XVs0w`$x?Q8HVgHqq*XphKfqts5Z~Dq zIqZsR$KA8*BhQ+M{-K$Q0>Kuj#oKKULZK~e=Kr=5{3U1f|kcC2=29Q;vJr}_0_zOiJEo^BNpF)~NSU-Z!L!Fg{i?lRH+Y{a}(UZ0uC zz7c4gmr@13gj_R!$$ZaaxBO|^?FYG{VzBT_rV>?sQ00`!IQ&@X>&9N*wN6PTq=ss} z9hU(61Z%Ytbo2lvtj6bjO5s?q3$y#ao96_9ki@g|x*#N6Od(Db-X=qFt3PasgqJ)Q zDrneVpylh+?^GI-yeY?`7)&c^y!w7JtS)i?+PFF$E?qpTPbsYFj(|rZxi(aYwLnO5 zeaR0mBlr{bfq?eCg3op-ssF4ZVV+^x>n?s%G~n0f%Yx8RGCDNJCxp<^)8qBjkkaY#H1@BlqM!nTV{8O5_AM|Kl!O!o_3o!~^Wo}BN}$DYQG})C^G{v? zcg?X{dSV=_$Lv(*(W3svcw$78Yao}1a^~xx@yG`#x|M zVDi?CA`qUpe}hG)-zc{F*UN(5)Tr5CFc{-UyP_GINr1khRKRw1I>J7Y=?m>8*l8pY zV#xO!id!0x^%AN0?nhoQj5AD07UzqnttgrAdEQT~%w$xa6y072Rgr65`BnHuX>>$Z zI_O>biFr|U`{Jmd`)t=&`nkk~?Fkq!{%v06Sl5C|-g~MYYDpnFshTugMVZj}SfS$+ z<3Ls;Ts&%6yvZznixN8R1$lO4+LM?5d1MZ84(j7Mx#*{=hwYJ|gaPb(RoRS!wML?}9%ELt3K*PmAQDYfI`5jIH{ zt*}We@&ctBhXNteU~ZI*me4 zBk4WGrz1>5Fp-i>%yCl}{Nxc@_T8DRKH{Dce00>+jp==Ew~aE$;(!Wh{oHkY!?|>X zG>K?>Gb&%DBHGp$OQbm}tDQbP;7pii2jFFrz3)9M{=f{W&`-gfd>9Z^c7>%4@%M3N z1G|Hntb=5432R>_k5i?$wHWhITFQU#iqfA${X{!&f!?H9xy{*yGDRSEj#(|I4T{Y@ zDB>@F^Sw>4E0a8!uzA;X{y7vA^0C4wq<&yRxc-`_`j+2a*|j{f-?n48A?w#@ zTaT~-ZbY;I>6k1*w)-biMZrb~d?M1F5i3oAu+;LwcuPA&EJ;7+66~XB)j2ZHr=Df6g2x|=?+to;q)-!z`hoV zS>p|j>?EZuVz16fH>DWg#MRLJi--?R&{B!`gh!Hb0_rVyUHb=Z zn4LfsYkg<`&2F|3rW=Amw%%mC&ZiI4vi%s;qB7Byik{5~cgX%h%0qlQGE(ydImFi_ zgejZVlADp-=|s?5Z}hs0*?O0SHhg)0;jfhSzK3Fsft14oysA8YgsUtbY~yu0MC1)n z>MY~5ToMd$*4*ucMo58Pr_uNB&NzG&%en7qe?T^gRV7Pt$Shr-=?i2KYkaT7)JjAD zL(B!1ExFVW({QMl@)~ka=DjgHa>QG^SIw3cWs7}@M{!o{nQMQEMH8U1{2uFKOUm)juwvc1GK_C98mkB&EAg_t>~R$cOk(XPujDs8T%W zv*KOl7DLX46xQ!DnXE@k=P5r$8{#75sI*N0)*+MKt~?+iNiFpmYxr$7mhw4BH^m7> zK8}?%?(-x0asKC@!q;_;RKu z211rf6)7Z$T9^g+ThoK#s!T>YO&Q$hS-6dpj^?P)3nW6~%QZGBZ0B2Nxoh+=-BvIp zB4|SiRHFGCk(H7mabG09)pdv5PuJ~Y)hoNJwmzGH48g*ika%-HKo%7X&ZN-W$u`U& zKK~WfNMk4UHYejW_(;|s%v)}UG2>LR5G(+N- zX5{{Ab2)I6Gta_0I8!=&vvON1WcE0#!d7$yu|Gz9J4x~-xxVzidd2lX z^ERaUuqKxFDxFegwx-EqKdUvZbJHxGI(gsIt&?eyFO4~U9Sk58HE8z@_x*HMcGCh#2k?$?aj7;}27v4|G z+|(2hy39>++uUbtp@R^`)!uo#GX){<3tZs@AP3lg5d2S#3Z9Mzn-hQIt|bZ0oiVgZN%~a=vRwD zL561Rq#qCx(@v%&ml{(rm`LKY;H89rVMdpH$WoWu2hWj+CP zzQ7+;Gz;E$JKz}uMBdUaeNi)`&~%}Dr@SG~Mboga-$Eu<1P!u|a zL}Od{5-~Vv8)138h;WM#G#@fV?{Mu*(iy_(HJ4~JClW#VH;7X?0=se&5_YF3fk_9V zo|&02;jRio1Yj2lSME!dP_HIefLBYy7C9-oMVTCUY)p}Div*QB;m2{!jO&(3YozRLfflNKDDIbe6KB;n{5-o;* zOSa>ROXX?7;*DckjRTizzW{%K7Xjq=eCpw3fcx|Zsh+49wrp6^g7+)6dBO(C>2 z@_Naw5ptQ+4LIaB?lZX8h^MPmBh&E61*FyU6l9pcC`TK50on4glbS~`hQ6(Hv->4M zXGAb8{dR(R&Qy8!aO;|lc68wA7}{Ww@FdLaS zMSD92 z#b?_K=~--uLbB12y7z0<+@Cj0`w60Fy3tS`#e5`BOW4Gb@I+s2*|IL9jQGBEY6DBH zGGg0%htwj;OxjoqW&?lMcoXoru>voOv;faq5-)WL9NO2aCHYd zYh(ge75EEYDsaVb&M8hC)%=PW|6zQusmW?k2^@&{YyA%4#sAfTdI zyN;DXQp|<4PLy8Qic~EOC!#AMuqNgaiafypTte!T`mrL~YBwn3($vl58f{<@DFN8j(Hy&Z<3zE5d6@8{ zP#S6K$LU%ZlB-UXC>P}Y!nhp|8IliVDWbFUGy^DM^k>qn;2Wg74t9JfMG(98V5csO;w-KQ-?~mNoENgMC8;^83wNU3Pqbe|C5u)H~Z| zn0`v&3%P1(e6g7b)5zcmJHblUV4g~7CPr>kYU)HUP*Bi9x3TT0P=dMygnw+L(t>&-Y_95 zaxU=m_2`*z+Q^X?%zlh)3%p4U-9I_?_?5r1O zw2U+=b|vT3(ik?$ad+SN>o0CW|5i)Z%Fh?%(K0?pDoDV(!?#*CgYV4<;yq!6c^d8o zmdghC+OD#Qp`nNb>J}7%Bqf@CAP^(Lx|(s;jM2_|emN%PMC=@SDu~MvlipJ+PUE>C zsFn$xR4cxM&6|X0v`-sX13B4p1{%X!2$B#dgJyI{a}%=2l)n()hB@-^!{mx?EuMS} z@&&HqQ~g5MPgd6((|i9m{mxxF>x%3Z_70qLCLYv5)51V5NK$VmCx9u+kcV}$n&t!= z4Q$RUvVShmK=STjh{CZSB~TQ0;s&kMvs_X!dkj&jpv`L@c*ud^vM>gA+f9~b@nMzJ z!WDyGD&iK)ZbWYiq&? zM>Qc;#6)jUf%R|G{2IPZ=IDjAn|cZ2b1U6Mh0uhGhk5Ql|8btb7(wL@9-XKdD(Gda-z3WK9Fz65$L;6JApr;X14>UeeD1?CUWv$%{+Apoc%(PLuw~MU6;7!?0?uv>CkZ>It*o-jo3KckE*_mVo`_Ka^94W6art zJB}f?sAc`^eACDhX!u`-``5Nl2EJw{AL@&^=$nJ5yM7O?7sf*T%J_CD?|NTQ0{vxv z`0>~KHkQmZ8{ODemk5CXyS4ZpWd@Tq2=!$)EJT(rN2N)zP3jg|X$Sux*9obCo?M9; ze3iwcbM@|1`lFr4vy^_QlodLn5d1}1(a7okfLW2}v|7}z=dEd5<$5R195+(KW2FEL zo9`7EqH&@UZ31aR3qJeCllfZ>zO9~by^qai;no@noBV28B32yHkM#AokWwlHclU)jP;0CSAZeCd~aX(X*mHepXq|_#rm9>esu+*X^ z^1K`0^LSKSJ4`;Fc!5JQ`)$)M(B?05+2}&^Zy`-oDH(}~j&v)Jrzg{*#RUGu!7~)= z87f)FVt21U$I0Z!vf)zWMh~#og2u|TtLb&^e0d{R&QbpIslhU-oRpZo!4Mv4BN2SBBuCTBbFi-7f@1zycnMME4~!#c5(RihpnG zY1HYok7#EgX98ue)U+JO-L|r3^K!gMaGNRDDIu`QX)=*FBPozA_Jp5)`fx8P0nNjU!aK}p{U4E5@fo{*pLg%#11Vg&)N zgi-PF+_`!Q3IZAPjLf@QBh`@H)|prqzlzA!eG50?U9Jtlf1^w!X@c_49;R09jBBou z=6)D9{Dl(5Q+8@-x{DGiNXsVs`kS?9^=5B!Q+4Pf%rN5Aah=^Io1YsfrF09bxg(e% zXwhf&DNR|5IFk%TP}S#HSVeQvZ>jm0(B+^rxaN@&>QqYut2tfq`<{(k2+r8j$Frgh zGH}-&51aeVEcP-2M=%6)nXD6=g;T#01Ef_eW18gJ%#qwg;^1QmY*QU!bdmL5fyz(c zOe)Yfq?ED@^bP1mik4*dgU|RGupKHYe%~^EXjMR^@d-Z5 zl?ysBHd?QS|1BUdm_Tx6%XQCI?aGgz(8)4~Yv_?8qnl~6uSKukfdlJ>P3{awB;Gtu zQ+am51g3Z~YI%UaD(Q1XAE5M-=pclJ!ptA+GO$mL&Ser0h3u&n(G^jbT4;KaMRPPODLdoQUGpX}{)Tw+zUY5M~#kksR-2v&wlJoK-TJZZKj zD9POgQv}X32gd%{>6Qd&oOV%IDLM*IyF!&@x;P^q^x#^B&xk8;u>4U7 zJ_kH`4F9%)T!)cS%I?P=5AhHbN8=w?Q1GTIV+PUZaKQEW-aUm>Med60@4{s2lg%nptt$YnNaEv(|U`D8-!o z(X9bGRN5X4WJ5}c8Xo0O^w#S|>2+(Nt^Zi?p+s$@OQ{S#{NH~ss-+-D8-+AB^d!yh7!%eExFuf1-N%~(PwC5@YEuCP;wrLyNT05v0)$6)s z<37iOM@qwZzz}rgKAUrv_Eb^w5+@~Z55uw(a<9-9)LFEIH^Fg)3cvS6L}H6W$eHP5P5Jz!6J6qAt@ZlqoCB2&rBkBdNAChNDs?W1ZY$&?Z z<@e#VTbf=srbW*+XM7=2%&Fz9HM_!Fs9+$kX+SYSZ-7A)ZZNvaSBerZTiz`uoP6pf2Ot7xS zai5M&yynWZYqAX!~23%N#m+HN~m> zUHqNBZ216s)07kAye-D5FZ}Rf9VhM#jI))E`iCq`_+QZk*n;4GK|dS$$~=k`NXbGy z#Is28WdfH;*#FBTzy!Uke^PJ2&%#kzUHq1-F-|xHIv#VzcgDeMj2yGdF%ra;Bo-6nt+v`FC~jOInf;NjsK+1II1gF_BHU|)S&CA%bC zY%sOyZgm)Wf|*AB({+GNi0czIg_mJ8lG*rxwr?d;6N~!tqam0gvGtaGQSgvWROcen z^cC#qUWrJ!Zot1rpLZ{a@Um!Hb9B{MUIRcw{M(z>2l9BusK_jMxgJ*CK&%AOgZ|_O%;DO#-PQ@9;aB_ zN>A!ahbh-t81zUCL<=ex;JSGIf#}3)PYv<5>57BmPt*xiV>m%f_pqd-CZV#sBDjx$ zna)8(QAoY_J{ns@Kj+_30xPN)P9_VqkIU%7raa1zd9|1un1@)NHm`9zYHV zYRmRLq)EO->+EwYWjfUvvu+|(p^>BLXmTiGD=@A5@=kQ4!zG8TXWr*l{O`iV(O^jL zjcl`VWbq+Q|9EEQ{8&**0v*3j7m@%~!^FzNL@`W&o1Dm-n{x6cLY1D0$7^4Vi}q*_#^V{z$gfi_ z1+tlHrP%-8INRotdQNxcfkOWI`VkX2@6bpe5~Fqa^c}>V^Y!)C#tG?g_Y3u(R*X>e z7qru{)QhPHJR1Y2Po;>2^Ink&!sn<^TWsweCZ(cW)zrr1(o$`g(x^Ac3TGyl1;ob$ z+w-(uf1eH7^TKrU)a9yd1wIxGpF8fng{Nm!*)6cC$Zf0A5XuMWaUg)CDc{r1ZvHhT_t<>l{g> z_MKR0&iycC785HV)s=#{%*g8ChIDcMvyuE_6IR!_p4yYwOV^~_gOZl;$-}?4(50MQ z2k*96NsCnG3K$E~pugtM;_rQ=-oKdyA(Ti)K0yZ7CkwCVL-*)hE>q*nzg-uh$ibyx zOJ$ho;fL93>L*vyw%dhyq4MMh6rDoF$k6DZ?LF6sj}GfmEDslKUytAvaYE%lda)4^ z8zg$?eu_iMct*w^64buFwGg-G9a2~%X?vlfT>To6{bf1QkPN+ zAY;VE_FMXNFE(LXr5((#q@k~1Lx1y?e)oe?ifj_~oelW3Cp}%shu(pnR&(B4?2GidyU*wq5|x04m3;cz};NH$<7`zTRdL(+#36`*d19!kfzrU*_4!6H}uj1 zcD|rjZ}gY;`+LDnQA+|Zw9ZwCf?qH=1yQP`w;L=))EJrr9O`kuJVYNbRODChJI4%9 zSUcYq?5C#a1W@e+?IfQBRP6orAJW#`!yemYXyrh=tr%QpC22(ck}-pRyI#K|mfGU* z`(S_KYIJ5d3Ch%k{OzKIX)~V?v;DISG%QHa%1&Lna&z~2*f-B*X6MI$oWz0u@~b|4 zGpml%C5=y@n7I1qiI5rsTZqk|4ohV=0z(VVDUl_$KD%0fT`*F5T$+9=XF!ua4fb<4 zHEdaBs#dP* z;K!+~P2BdL2UH|neORh1^HtL@f)BGdrcsL-c4*tv==qq6hHqn1R^A=;Ed-1dCoS;| z)5z*)#cHe%=g|@&AD`4J>lwvb*jqLGpTBS{^$A9po~YED5O-! ziZpEm)0b%v2WsrUmJWxW0zG&LCdC&K7~Y2kp(hsou~}J(PuTbJc_E$D1W>(r?yXj$ z=dm7|+Wx-NOXml7P5)N;?|#wpP}yru#C5qUVO)>xAQ(G9ZjgUxA$@#a-@72vAjT$a zkdK2hJViAPr-HG10H>MyM?$T@4{Z#dBS=HWsT-%^ZufJNpeWCp-zaDoH+fT)9kGcU zEV6SUT&pa%!hHxE?6mOuUv1i7Ysk1F%e@$1;<6RA@b#~j?KPWzGF{xPEG6}<435mA zzk)4}O9vxjE>_JoOW6b})CX#JwJUh9y5|f! zCSK{dPACSX!tpN<4yv^uIiJrcfqrz)emeF_A1F9jMIN$L58r?@i1H{Af8gFVIjiZWq&gZoK%hSrWO|`NTy*6XTK0cfliDslh z8--{ZpHcZJb|cIA)qc<6Ok*bswvKGjB=68So>tTN#|zbYaUURWWa>-$GO_U({= z{--34jowd~FoA)bM@v#ovNCqA(g@S|>=lF@zdl(y&k{dfFouQKS-a;2$dsHD|J~yXfV0E^h3)G% zZ-*T!6MegtbJaCfGMl9`bq_|n!cDG`GH4f)HyN)>wWC$eKaV!pT~ z=b_PvN^RQ=hON+Vx)3$^Im*-ZATqslq|AM`lG8QhaCFMhv9e1uzsXjEjMb_@m#DKC z^C=cDm%lpv4 zglw>TUBe!r+i<~*`%;ulNITWe}pwD#f;7RHMcBejp$t-imtoFwv0#? zu0Oko86RfM-$=Pwk&UYDA3Hk~HhRO`??!?TPFRo; zL12IL)GtR@*?1#`tJBE0pmA+_H#je5DEjgpnE6lz>6KBG zI!D9VgjJIRrY(0p88JWlD#6JTULy^hgKE^2d7Jg+IL?Y1&>N(UAbSE}_gr3?%P8&I z{=y??tSMR7am>4>cd|H3LVv^oD%qfFP&X@rwOR3tK7fJZCuNZX1RLw1nrM5>utu}# zmUKj1Zl-niB%A~5&)j1Pc+%{AmZEXwLB@koTf1?bji_No)Mv8FbR6KAU(ieBd504oR{pD7W4GUqRDWF>xPq zdl&B4-9B=#wYhlK{475eE&s2mCt}FjtJls*i((p}U>lj{{xYPgnJ#J9UT6pIWo)`O zE>Uv81nfgG>)1Go19{&LiQLaj8eki~8(zH`)zTJr#2vd)-@_G*8wS5-tQDkFvfJK# zyXiKgc$I88K#9&Z=k6v1R40772yV*;zEH?dbQA!Nsh5$o(2$HB>cJH;Y#5M>#^93M zpk8d>{gNYQMa#>uLUD5N0SqgUSQ3esC*6jkL42H}KW~Z(wL(qDi8NR4?n@g;taqeC z={Ed<@9NL)orv;J5p!RQX{`_&AQ(BBX4fu&ZFvL5Vf9o#obN-Fs`zeN-D~`dzoj{? zd4^=C9-5asZggBmpC+<~cS$HbvEVo!t!ETK*Sn}_uF%cZ_=)E}choDuoZ|YUB^cF| zmjqcY&%;;usO*-<`lS{#Q-q*V)}K;^aL@If&aQE@znE9iGSHKbnRK|85u^F2%lRdb zwj;HSS_S-VJ9nWWSeNzUTvX(QE@-}YHZ%$BRS}c<`@Y@9{vlc6T~Gk8U(na+(eZa} zfxZ%DOldO7L(PNrtfW}*R97-}V^mq8TWKp5IQc0A5bXb9?XRNZYMwt{7ph!i+nVu zqI=9e1{YQ)2(Gr>UV%pS`yTHu{jb-JZ%}+Oa|{YXaNTRmpP*!y@V7Syzy6AmX!w17Lw;|f=7cdL zi`%xzU_*C;z=*mm@}PbXe#H0wc$a-sBG9ck7D&8+_%zUov5a?UvT~%eH@8PfxIk5^S?M zjG+!rr5B(9174;Y(y^nJqOMPQ)J!L%KIYcoX8#RC8s-N&dd$jrkT|jrI;;~(@~)e( zmIMBJaR?8^f~Cj;KDzeCCv9b=sZ)M)BQ)0rnDtDi(P*X$IGCh%y9jmn^-Y|({RzJ| zG1#V_3x=&;sruTXVH3u8?ow&u@w#RRtEPLT!FDo3{%6iFP+@1dMOo`O$*|oQEVKWx zDjlUSkFhj)1OAtVQMtV#;8$-Vb=1*JM&aDvX3#huT+>i0X230MA)P+5T)-k>C);tK zF_<(jNMA?GEfx*F@?a#^L6j%VU}lf>8<%9>Lr!N}@t))2tFSHiecN70`ns5w&PX{9 z7hwzg(_V%A$_X<-^yBaw($m>(89nypMYOiP{JjiIVX8#)RWoC| z1O>T^kR%}&Ig_49Kli=y0RL)P5CmFg^&JJr_964I3-#Jui}2_f6cgUBzBPp01!9CU zO!c3*b_=Y0jubaA!-gq@iyoQXK^$8)-8hhJi_}ZO~hh(cr2K7c;pYiDbm;lFWNlG!x^Cn@o6Jz^I7QtoWv}@1gB8ANic%Ss=POZ91IJ~ypTKw{_ z;HTD@n2@tVhuy%B@?)z(o+x6+X1%Tz^$EH=W+x&UTtRzG4>(+SPp8TiW!6g}dX7bB zs3i6xz3SR*#Ks{a$xKfN%4+vrU0W#o?9l4pXY4022HzyP$;M*qOWUGBI+U~hdE1G7 zmbsU-9;>NSoq`aad{Vr|yFX_^VWr4eEEgkF2HowC>6o)6Ykg38 zUWgk&EkTIU6Q+?D=4OdjDxLU!xq;AAZk!T}ah@=`Oo>(n(XC?}RWc{thej3Y6XI^B zoHN+1*A9%m?@n*HX-iC(lpe`l%+4jr@JYyEk4zRLD0j%bro1@0Z9&T?UpzdIw%KrN z8GC7k8g)_SahRPcbE7nkIF@+Rm>ihE6Q4=!UOyZK;8~)hO6o|UrilYJMo+m&8rh!i{L@Z8!(){1M{ATTz z;!TA43D>6t&&$UQR~=NJ23qyB0Wg%$>-V#l#`ly=KV;8-=VNM8HD8u7CPt+=ZAzuw)Amp;m8xj3MFvlXPOKCoELo`x)U*V9* zH4hNQi$9rw+voh@bW=MR@&9(=pJIdo@1AxP@Cbq2A)@qPh1WvnCy^z z^8E;${yY*K+Wx=o^1`9dECRAh?&mBRFA)2082fLy`{%>gxq+#{DEi(nzwYtXm@mG| z(NeTSTD0Es2nKVGySZ8Kzs@|I1YG0nR6+y88mIkz#oUD#I*G-b;XLth4jed65RwQs z1aFTof_bVdh6atA;A)Zv>uLYqmubXhu!b}=ylm528SB?E37O-=d{g+Z8 z3=%t}6on~uSXW4j+#8=Ab1T`5WC9J`zV?o{tO1(sPkrdLPufBlUGxDxLh)~DQC1lqqvG_8B9+cHXr;Ct@HyEj}!z{E6qk(T#{X%kmrq*eO z*pCufozvPvTjbN3sx@2r#eWqy!uvE7baV4bja}{ycfc33Y%2ML?MIWud-Q7t>Gy=y-6>1)xz{kBQV{rBGlM{pnAtT!Z6+w-BG$C%8q#nTvkZ2VvSkR?$xt5D3iq7!9nF-g%y0!$+Qu)!p05xathaD!5OEs;>aiOm zx{!!NQCSKxRt~7^0j}tT0=C{&adZ7rJW-iVoL%HhzMJYIzj`1G{x^GjT86hOQ2@16I>i}{{>bRJ=QNXis~XJ3Z-`v7IsuX8 zBR;LYVX2@|^9f}?7gSSDdv8&^r-lCNo$2#zJ2mE~Q)SdVS3<>vH*0*H+k5GDw^HWpl-*py!(pcI-}rc1AGI_t@bDq; z6aTcPN`R5Nq@#>^M1i%wd_Q-3;8i z@WYcL-xB@JIy+X4O!V(|G?*u+#SSUWNOTOuMOs6xNEij;DfRg`Bd$U{d`n+@H4I& zVmdro?FMf38`)=m@ppo<6x@His&!#4IOp`C#rgDY2|Y24n@q#?SQd)xqs31DdL5Dp zECt!EJI^S?*bLfKv5(7ZJ*b|_+`y_x6p+lSKf+F!<0$m(6pyKo{@6@W z*@0@0qG0&!nu{}UQzjM)n51LkEbPjb*=AO&M>$6(3i7de*H}r~LP79GabFv?n!qER zl0^9Q-=xf*z)S(C4;|o=YCSt)9%#z;7R#Mydos#46`L@+w4@`2=!1cCaj7UNF>aSk ziP}(nhsOIqG%bKD463N~>r_yCq4%3klwy0SPXMKT>OO5kGpn4`SZ}xot!=@NifbJ{ zT}{AljNp0K-)!4NNGov6I!71o>>S7^eBBI%t~<_$l<(RWCY|+!yf7((DOv)IRDqO6 z!~sB(paz|0hcBGEt!ftwEo%rsqhjgn0YO3CDu_$$l)I5pM4O892vEt_gZmZ;E{AXej`0w0kdc7 zD;|BzDP5bZ;h|mn%~N{spx0!6FM=0TPMKlXndD{GyMJktb!r|Cf+YSeGRyi z5niEp?529&WiZRL5?Q1IGLyXiiG1}PxPAsYJ~s?XZ{i3lNBq$%$TTBm{l&lmgHF=h z*UAean;Pt}E!bXolvXsOdXL`3^h4$98$W&sJ1xDT@oWusHQQH#%o5}4*hy?IYrB2V zAzb%4T^U7`#)shAiX-Pq45h&#j zSV@CSFg(bEx%l}JGtlVx)YOj%O;Sm1c#5s8*E2Sr-D!|5;{vxYg2ymiwHKsXEoBEF;E*ev_jcerE>}H7b>jE6 zPXD1OQ4{)L222mEd7Y*U?*Nx(JHL)AT?d>W)0O&&jCvijUzsf%?sm)#I&}8XlQ#$2HQK*e$Hq&xSfeJ0HM^ z4MrtwQs(%>ACAFmNd&LWru-d%4*D0cN*D8?6VjGz+2JpGN}|4A6;a+1p{qKm*uyHw z{i%3jQ`%K3a!F3y5R}{&d4H=SRlpI*807ZL?SGJ<;FQq0CP(u$>Lz%x3aU zxgK?6Mrl9Qa@wy?<4%!`f-6fGIrd@^sL-Gi9C;Zu8>#A;yav#5u{f5S(j(Q5I9ff` z8P-CM?I6w|i5xmGGWU=6z*%@!32lJWhZtO+GZi=C=Enf_gR)n+;{qpj^?prYt1OUi;IUfHwwJrz@SCc88xiKDeUJd^@Rn_6bl25Ttb_**H2dFPAm_b*D{~z3gP?%ctrN}p7 z#-rMTFT`{{NPS}c@!#Ig8UzS%-69oI_uo=ljLV+<8ZzP`G8Pwl7`Vyb;MZJ-zCQJc zQgSOY^7t_a_lSK(eYZtcCFM_+V(fF?&IO6ZSK!*gdZaCWbMH)!9tR=Doj4dw31VV0 z@skN+6{1O!GKIk(?hh@C)97=H##n}Z*8zwIe03Ku0=D#EJk<`Fo0_IPFo)sp(eGS) zMTz@M^X~|mcT<(J!^NY1%8pJ+(a-`IW0>R&UQN=GvTOCB`ow6|XgkMzt2)#ezA#pY z;RYLTWH#y=q&7=*>Cnn;&%n*zSp^MKG&@1d&Q@xU?6`*Jdj)@6o-a)m2N5MH4^cKN z6OSVvh7cRolOI+WV+yjFZiLnbD3l`qRtCzggCtc79g7B^IvDW1e3lu3x`%`t7T%=7 zw8UgZ-i0{JQxxgJX;}$&=~IuPv$mMS*~-SaS8wyM995OoQ%i6b_m+wbFDGYpn)d_4 ziNnK8pc)M4=9-Rv1(T+5?rw$$-sf&mBnUUC8C%O7&X?OddDhp-a+w!fcU!z-wd$A* zZa0kz{03o#tbYRpv~NFwF`5Nsnk$Z{rLwa5GQs1k(-M9=mG#s>82_^fvbJ*&|XdbLmmJj=(6UkzslT!WR z!TSd=`RaIrZ{~&kx3j#(e$P)>hBel4W;j) zB(5Yf<}1TYmg1tg?~J2^Wi1w~NQL8s#hiO8$kZxF?2RVEe(fy%Q(*bO?Zo!tYB0{1Ru$4v(y?@T=>51d}+^TnC_fP#p9$ntmRcl+>DtuSD`D?2?{k>Fm)t+;?fRA3N@2s!KxD%& zbt`Ek*z9DbH(dB%xVVg%Ma?ubOJ8PWJXgB9(q4lp-40rzTN##03f^A8(3`68+7jk` zX;UxHp1&d2Gs<8}Y{L(q35XqD)EZOstKEZtv?qtt%9MRs@fIn3MfsiXnzjJspf_;BM_%r9=7bT|wx;#w^)!wTFv@-cwt$L1k$9!8Gzg}mMjQ~I) zxEMmWHUpMNbfULSDFV~UD;W57AaE89E|0TJ{;L^i4Sw2=$BhyP$N^sq~D6l<6?#s_LfVoFX> zi*J58ly(ZH5osZXIf#A6gW(KeM>6)s zWRWmVdo@}%7$SvU>`NL_0s&Fbg{^MXAP-S4fQh|PH$njN{IQ`_#)P~g$40K8?6AfjYgyQzWt*3drhII>aj}uH}(fajEP}^A^4@F%%5n=nDLvv zH@gIR07AO}ADTu}r@Y$N;!|~ef-F1w(<~dxY7fIO{XmrQucyo+GLBZq#U}`?rM4+9 zpL^S9FyR0%_vhDE*_w0pkRKEDaSFI1gT3sIy6Q1R{A~ArQkXki)&B4uLv7pFBN>_3 zb4}{k;A8OmCpemRmef%hiS;jv(%>;F9vl4E?=|f*FXgb&u!ZHlXZuz>OG0L8hW-6!kX}`{BL-Ewna$mR89tn%DArS>?&An^>Z&b3>b8lK;)0DWFZ}V3K082U8S8X6+^KcOcbv!x-<> zqgwQC*Gu!M6)lO>M)=qjf2z}0-%sZ^J{Gim?pFbTZBPP~V4g)AMN`8MM$bEu@lDsP z&M=zaSFvd$OFOlw-VV+KzDJ?M@FiCnS>BAR6kl!suzVWs9JzQWqoTOk=`eJ=K(d45 zVR>HrGVKVC?S0I{T2q0A+>6@6?NoOtf3zQuYb%MkY3}jT@A1uR!u<>b9+m2x5#Jx! ztxNc9@Uz@BUpo>uF3!Vgch91g^9%k7CHV_BlBQPp9pGC}aj(2S0#@&3drVB;Pd~J= zmrK0fBZqtTFC_i%8I~RqY|bm?oKn1?$+E}6pI?x*O3?U@i`k2#K@y~TG0Zo_5Wbtf z#7#OCbeX6XKc~t>+}=Jm813J{7dcz9$mE!NULPzVixGiQF?u31Tc!IoKc2vkofp-w z6(Yhh0w1n>f!s%TLeO?tGwos=c&^s+mY2sWAHC&+qS!t`?DW>%v^{~qb@Kk{<}!bc zO}L;mzfJ^zoRpiL+IOFp8(N-72}-Ys4O%w$%!E}*#vX(WI7cL_(l&LAf@R3cKWT3t z8t>D;;?%xEMs~=@*RWnSq^Z2lrzU6ZQZVR{Xa70X60@sNSu*K2Jz#I3qri>|Niw>c z)+|N+7qyemvSJMUZpN}rm?tNLcrP*f$Ci5U>ettNQ8i+<_56F0Tq3xAf9F~D=<26i ze>xgmPHiFCC{o>CBzKC}6VJ&FnCtPc_G?PY07zx23E)SoV*Q7I$`o;=FNtXDc3#zN z<+q_@N!0Bh6@w>&uBEdG+) zp3;v6BjV=Cr8=qn6$NNB`*ytWgz>m**%j-Qm+Xxu8={om;R`H7+TFt4U)buXe>E9G*;f%`5TaA`K{`>9Yn6P26#c>){kc6~ z1v$G-c-T0CNiDt-pk&6rPN|G`MeGvx^tGx<)dvwwGWFy~M(R9hJROq-d_V8GzpnHW)+*UZ&igFZYp%*_+tHU|!v`B^rs-C3IC?aVES^uPx{hsJQ;E zli!m_PXzJT9JIWHi1$=6dE4$eXURFV02lIA&O2t2U(*n{>!Vlb32Uwx1Alfn6OWW& zXJ;0_L1R#DCTmvX;qMF{5SQFO`3LZwL2{a<=m{&P5ntOsWtq5ZiuLX3G#{HPWB3YzY|V_^BdORe0mrnNjj>3q7`EZ zRvQxCxHjpTI>!#t9W>>G1l^ST@gOi-Yh`hZ)oYX5o(@h`@*L0sPly zBSouDh?UGT^$X=(>|18QH{qYxAL#GV!Q5GUsU$)gDFFq%Qo6#Jyp8dV8WAQRyT-7)EEh(&@QB)IF6r_^tau*h!;!L7-=TO#w_e(fYv~#7Hq+SGr$IRYhN)h)7Y_$m7Oz=2 zz3zSG$+wEuiehG=)UU~K_^0y|{bu+gg`+UGu%YV1(hUhVCGSDQ^jogHV{A8OLp-&y zs5ZX*qZ?lh%fee9nS@&A<}07?mJ=;s=5i(nxZ6X+ zap_P*1)|40cJd@fHJoHaQ7)}SCBe5fyPAm*>Lt7_Mb##aN96j_LXKw5^R%jesG$GE zh`YSPq|WcI*P@9~aNG?+9^vnb_$W|W$my=PLJs0ozRY|K5_iWp|GV4@Ei=oL!uDfg zfVOtPb&*TGna}I8sz%v7$yApqY7Am1&jjs~037YcDP^jtc%iF6?U0)q;;*(9S;H5H zwnc@v1_kLyY_1`4l%QKW&Z)Gz?cZLZ&5^_DQ9S`Wu;43-a!B=#K#c<*Qwr<{RX1K%x&lF~|RAfnv`YLu{(#hYHRpiN_yA!&Y2{>&M z7<4&Dlg87{P8S%GhQI;?9f~kN$u3hQ#u|BW4NYKr8F%f zQI*(-!cK{$jQKo{e&n4#s>h{s+9eYPhwwMB@y8jRG;OD=HzCf3MynV^#o|*xk7$;W zMhm6qz9f%{S>vz^B)R-f0#>s?f#Z_%g-*|QB} z4}x!|e~^64NyoU&_Zn91R2z(UbPE*(cwCM^b5Tdp<>m+AYQ*pmEormTUB(K3*vq7L zt?63hW|2z=F`tIpkDVCIaI0$;cjBkFMoZR%-DtDE-{{O?V+rIE;WE1ei!`yL;URWGMcOqk9G;38LHT~!U34e(9F}N`aN;MVU$1eHIYW?aL4JQ&>Kg> zM7V~-$hbzYxO7MHk_TaSXAq-0&LH9j^7giPbSXzfw-#>eSR#4d4!lk#=A@&r=`<3O znWrDlYS*_}ru9&W_(}hL_X102Yyiz?V}>F?=e^K=c^9qeZ0aa9sZ-xlBxt1On*&Z4|jVFM@M9UvXu8 z5aLbJQ%fsz8{O^Xpuy;D15oV8N)m$)3;ko??)=C?zIL*zr+lqrpP^*vlb)tGfeb zxgL3afB72WvTi_Ax!=utkHa}qVER}6ow>v@cwS0Vc$7eaIRFh4@`bS-ro!{|hJ18X z{9IN05>MSiMk+qLZQtoad7{wIF~4;EvKhZ+<;;)|w#be;0#&ID$^*TsT~*I{+%PT7 zB1kZ&IOdCtc=2N8iBvXS2A{u5vwK0L-sKNx8(%f&E6%e#)GV9Wx7N0|xu?HH^F>NE z?P^PM!(XK+^^5nHYoZ0|E2W1&r&g-MJ$p?mZWx zUfL87-}IIs0|yPT`wfXBU2$r+UF`ogU`9pv7aIA?vU@3(=kAP}oGVY?vJgfFPPzn0 zv`aJUyLX_Wnjf6M59^u6|9+`{Jc`d741q~5nH@@gKZ-k$ZnQ2$tp}AprB+)+$;~{~ z5DO2^asoT{`VX{NLbr&(Tumh^Pxr0li0|JqeP(JKjJd>@VqE$BwJB?ig8FXT(OWUz z5BPtMpTkCOTE#OIf({o6W*iC}9~o}UJe8ed6Otu6gLfwM%)Q~uQS{C3bRU@#+KL$W z2-!eVL@w0*lC2*t--YuQ3SZ+>o-b!mSE)9sQ_#U${5OjqfZ?_~J%ZIOE%MAt!snxx zn~N}VBjD+8boe@m22jh zfWx`TggPEpAv>HuYSwhS{*HCUANs~saMz-+vh9NXTwM|kzejj`qRcuc&z5;GzuWDJjxCAq0!$+s2gx^Ik$qCC>I*{V34 z&8JvWZc`6Zmz)NWPA*pCS8<^@Z?W0&$uivV)R{G4w=*z+o2*)CP<6U=zi%jhbl{~2 z?8heKCyT5)E|A)8Fum66w}05t5pQhSsOnt{;CSZEuI@1qRt_Xaq;^fx+QuQnJ3je- z3~zXQCS@y z=61$#S@X@X144s9LrGlD_SgF>Kx@beoGLuYPSottJB59%od7eS`>2gx!^3K$T&I3O zrbnQLhz{fUE>?(EhCyRHZ(C@Hpj}v}v6*G|HD?+8&ihWi(K0yVCk!facw+K|1UDWH zNE|xl@4WBjl5yLb&wKAzK{`#Uit=Xg>>1kD=~BtfoErDrQ?*)J3HPl3>Y&|KT}%*Z zro-%7XSsz>hY`sJ(Q_Se7EL$_t*rvlrwJ7S9b!CuN2HEOcb-Thg^t#IUrQz8TYpf+ z&*7Lz=v^8~7@Ra38A|+a8&THJ_$$iYKI!K1o6oY7+{HWG@rJ&pLEmL^?fJQ{7KN_6 z#3&$dv^kHd+H*Z#s6w^&1EtRurdQR6osbyTHJx_%V^N8?OJ!}c3M=!NsP{)up!u%Z zX_)g2V8)6jg(*72BfnWsm?yQ6S|70EXpn5<9^jpGGh)7!XSk2&NZ5VSKYlrW{`zJW z))NpM|69yj2T%J-Q*@0Vj_l6{VVRNF7Jparps30mf(jEKWn7*~(@l$zs z(cn>I z!~goNgP%Q(fkwb?UKwE&=Hi=SBYM3H6^`Nar6ToK3C%h=n@cLWK|SvyQhiQv#!SRY zH>*_v+S_xRI4qz!a8ORYkM*jj$wHEnOmm>Bmeogh_(=ss%j#N^Kr7(q)NE<-FnGGS z$Jb&@BmFQQY|`5{c6v~h!nM4YTzMTE5pGpECijG__LZvIzzU@saB$mVAhln?Ezc!_ zm@~{9d{rOdENT3A<8W(DL0!FmtV9@2(1W^)9RetUD=)$5x!xgz$*@qlWS(r&LX30Jq4S=vLt7{*nSe`~Y$4W0Bb44pm?JNBSZ zCEC!{@zNA(jH^}PV;fGjblTqvL={Z%Zs#UkLxK_Ojx+n0$EmOu<#%sw-uSPuDgd$e zWZj5riznNf)?n5o?EDVI%1(m7gxSjv?l_&1QdDQ@Al?iPIUhHoURT@U zSEpAjy}+oYS=W`~)CV%9F>91W-wAtf+3xAPF@Jt5(JIUk6lef%;aA}rXduq znkgsvk7XZp?HXy@fKiZRzH~cZq9jnd58%o&mJCx^%~YYBf^Y}BQ^c2V)x>ye&YO_3 zJ7sN`k8v#ioGj5H6^{h8m7l&?7M4SP%y<{_tY!}2sVtSqb_z*`n|uW4y!(!%&vK3& zEb7w8yRpfk(G;9sTrkO$s|4pu%sS0L5XpaQM7R?poC?AJ%f>wb34bg6CCzs{`arrr z8mF}M@)G)bu|n1A=UTd+IH9~l#jfK(Y%XdFNh+(zCp^`U3}ocvsXrsfQV8epP=AMs zAq(W}AA}C?K%eXS-8v1cBNgYIs`c3wxO@WBZk@^XSG1QDFeN7BoVj$nH-#Wgd+?#tR ze+0_Fw$rQ(AI^dNXU9>Kf_|Td3_I0kiHNl~0x>4v-+rrT6vo?>-xOILS=AEX8P<@6 zM%G5=ehEZ{?7-8#rKu}j$XjB358{@Zx&@qHzsc-#dE1Zw7*cAJc_7H+n~Ae?wsGrq z-w^ha(Plhq(gW;B<4v3f z@RAL9_r;w);q_fnD_Fzhb4!XkfL<6*^|p!ULU`PpxX&7KIXVdJWa3J={-@5Ndw{yJ zdmfn>>DM;GdiX_P6903x^*(@p2kw_uiTLfSJ`PZbq1C{8-$lJX`n~$7Km9Zg+wqPt z>XQE|_lS-yf6dx=Bzg(uy76L>2A8Xa_1MKzXGZ_G1dCiUzcg2OEk8|f{ZPo&>|&Zv zNwzC!3D|QTQB&;~>1vL7p>&vF?cM>?dpzTk`D0Hh!~6h`ON)D`NLKi+DT-@5udIw< z^t{C-tD_K5P+q3vxv)->(0zfP@vwS|`g_0e|LWjS4#f`=>7CT_Urvf>t0G;Cxisac zH9d%4LlAooN~I!rb}6mXlDelo@=_2pd1#qSH>UqH`lwFGo<2p@mlft~>zFcN`9E}V zdmM8)nn8t0C8K7GW&d!SIq1)N&2UfyeX%gFDh3{LAyRK1`%d|%k_&QZAcN^5-SY1; zqp(m#1(kFDgC+BW1Pbzq|0~*RV}W=X+I2tV8va87`;l49!u$^gj3WV}W#E*5iD&rl zDI>U*y8nA#0=>z`XG$9jHNKoaMA%>HV)4f2>l*O!D6%8J9!qjW zN(jnB^Y_Rk7TJH*r=?_;s5aFcB8>ykrY`>=Lh>M&k7~5^KyIO3=tSNRXmIt=5tq(dCxNlYM%hvkiznB#Iz&ZnxRaaN5)R;;G&Z-9~H7oSAQIgF@lcYhb zx_Nf%Ej7RHPW<+Op(H*^S8Lu6>)>IN;-9h#y=6G4KRLMcTBPIYTo2(?VWqOkjM@mt zjT^sYpC5pg*I3^)9op%Pa&|^l{8Gn0tH-HP!oqOBrgJ5n-tHDl$Kvx^+|FqwB5)En zeO}}nY?d*YA&}U4DZc-S0aXNK?@s1tiSEWy+4A*U-Drv5UkcLgWZW~TAV9{qHS(R5 z6snwKP$83d7}Sak@?6SuL!T#!rU--fUw3&XgHadm?@xy$cYpSHjC-IYE};=|5(=|^ z$@KL0#`l4~-Vl+~E6(fbdYB@bpIlj4`GOhroXSBW=qOx8eHIp$>n=!Csd}sVJa^#6 z2$b{dqa)xj)180E43E=(ql`Dn6W9(q4yz>L2WYNtK}x4lrnLPC{CIzvJmsTbEdZ^Q zNq$%TEns)*9K}nkS#gFw$+hW4(du>{CmM_}3`$*&lnr2BA9thohhiyCcpS^Ms&il7 z_OkM|gfai)k9$Ei&G8AaT7z5-wq~*r#Q6%5K_@Og{)tb$Vz!`k)~SQ_LYZSIpW{x@ zq63N7r9a;v4xcysrL1}9x79RzL&pHDc!o4Ye71ve)wmhtRyV4THsyf%$p%hqZmYJmW5e;(@#REBi;6;TdnxRealbdGgZS99vci~*rYcst4lag77W{~**Ab~w!^2=6Wk?A!ic@0~C2 zTe?xHf4U_Ss2TaG6bn@nAr8aR+p}dhco7pwE7xe?A7X)(t7%CRnwn~id@6j5wxr%r zRL`JkO09euY*>z|SPDsAqZ5a@VpYjt0&a&K*y8bQp-noR1((j33%=I_rp8dN%zJ&GW`H9e4z&~xv@?p&nMA+EQKYi)_k&ryI$TPJ*!RNbhXi* zv}Ci-804iu(z|0$$0IMx-0QpK?FPH`6Bek(khk4vAvLvkH1=L&=$yqS2MoJ3xHP8j z{c-Dz1%)mh)U@B(o)^uO^EZ8%ibYLd2C|#H^WTQ4vx^?Kqf%@D<(YoinkxmzZ#(4% z1qzvIBI6_CpS~Fi!ru>_o$a5rbiBy>>rPuSN*t_R2ChNNB^RK^+~Tjr?Q#1{V1Oek){}SR+wA9Ib*n(EmUmXl&7&x zQHo1=xS15v1lliEbt_ls@kAf4?8jgRc4R^4qNj3yrt*J8NJ$aZSy$;zX8tecKtLR4 zQMO?Svzq0jN6@8( zknn%g1n|JFec>*&+kN5ny#Hk#ub|6164F%C|8j^eCsHH0XQv#yng4x}&!?vC{RP+w zO}E1zw>u!+R>`H*v(YEmYb1nn$JlU>MGxyfcmwSGK!~2*0feqC9d308`d|%vqLo=B z5ZE<|RLL5o?R5FzmGEzf4~`>;&0G_DDweiA{SuPL<7D~|>_zPFhjzO+9KXL*Z9;5x z=|Qt`Xo!FsB~LSUwp=?Owxv@g6dIEU=)=5^N3#)U(pt%|ngX=VJznk3qbn_q4FOdL zs;^>8{b(CZ3AGWzvA1P-%j_0ToKUe)^j( zm#EW4A1?JtH~H3IKwWfx_&nTLS2PclLkoSp-Z+8Qoy>ed{e@u6@xPH~O>rl9K&?%+aO)wX>7JSp_q;cAouwUm&L_DkS z&bc|h|J@p*rO|CDlgr>%=Ef`enqTKF@Zh>xDVHh?>KEZC5z=0GomI1Vv9WCCg$L;g z4P93!$5ra{FG&w&z+HAb4s_|BewuwB&5O@i%zdh8F=K?6#GqR+MpLR;so|KHzsR za4f~|zuzqeN@etml*qI@ecEBUx%OF38=3@dCOY~QX11) zyxr|`!Da|o|9naPumGSBwb$P6y*Cq4kZsfrjd2hgxyh3h~+b|UV-E8v(x z;RMt_`5b8LC6l(Z4#2>vb&=+>17YiY?w8F`GGfZ3f@gYm8_GJLfS}BZR@$p=lA^FI zKtZ}4QB?hDZcwJXwU=ltjguEUy6(%j{6qgD63oy~3lKnu`wbHbskoo%zM&j%&5oUg0%ef45gJ?a*r8{l)X*lZO`h1JSj39{0MCjC+khUHG*&Ty04 zqiLs6hQ=cI@|AXu^N%;6ue8ksl42{z&A~Z9K?6l@`O}Z?p);Ffq~ZLZc=#Ixh*nT* zvHXAYA>oEkW?(~wU_9W{K&U^Nfz*o?H0hr$EB{0kmX}VN{)Z?W{!Gq?>#axrLljzn zs-90z*i!#P6taS5T+UACX*K_OGJJo(N0FO3Ova%mkE>h=$kMw!P};4MBMi>Py}-QI zNMXOxrc!Aj@ZikY`3`cLbGgWZLO!oeWx9-c_@g3LvzGlhKz301RUBA;@ct+TFb@vxZN@` z^}5+OJFS+p1(b;9TA@FS0S)g3@(0dnpWSvhtwu?6;VQS|abCa3f1jEn=-on&9wJUSkn$Gnuj;;}ExoMR=JjyTn@V#t)Ze2ImAbDM^# zuTeYr3Re{ zKFn8zb`MCRTy%>)Jb1uFu64Kbl|kgX7{NCO0*~KBtDx41Oy`P}QRsK?5isEoPlj#&~~_ufb=3!GD=nTT=}byKnb=XlW&XA;yg);8JjkDMOJ{1*`A1nlGV2o~LD3 zRVvXaFByZ@*bV_P``BYZ#^fmwoPMPfoW{arwYWALNQG+k4{PHeo^W=|51=YwFL9l) z=lnaMM#jsljju@{`rhNLiQRIhFB0*Ank?l1Ve2acqUye{A40kj>6DNz>7kMC?r!OB zl$4Md8iwvhx{>aX?(Xge-;2Nh$M@?HGxyH9`>eh8TI)QX>!mYWudBxebI50)beGEl zEzCizD$o@zr}B}`{~Dm+4IB&so}+aUGDBEfLB#}E5$tcPcJT)b4QM+Pt8)ibwfW$9 zyY`1&N?3m9U0JizdT>^S(xQ#jGo@83o8?k{xbK>EDwSpFjGKuak90t;p@u*mBkjq~ zYLKT1!G!cofs}URckFTgys9{3f}X%#IQ`qH(UZmryD~?kc1wX@c3-8J8%gU|Ll-l+ zNIH6>`j{wfd}V>dh7A8(Jalbuw6AZ=bkdi@OwX4-kN z+Q4%M$4sRjX)5<6sW9+L)v0fIs;kaYcOIWbp(pqw>}j(Fl}}%Ga2%MSgPGj!6~Zlg zlF8}38-c5UKetDv-%f3%%n57`pP`}1Ey1QPF13@?o-Xf0$D;Xflh0x87+WP&pgB5} z^QDVL)uk-kYlYeiR zUDjNq1MNJmcLqw;P@Kd(eT;CLm@LckM|PW3`s@?3$MWl;qk3%YDV7Jz}D2fy|6D=i%_)|FC#tSi;Y7r-c1T={)N-P#?`mok|wG1qlJcFf$7&)S8b15*p`H14#K6dMa{cZv^#%|yf^HjpPb%r5cTP8aqI}bVjS9_F@ ztsmbruxs&kY|kjI3`BG-Wi0$OnBJLiKJFOpeJ zmK%Pe@<#XsQxn2Lks`nbWpP~O2UXwH9s=aS+=)}tq&I|NJMUwiDj0_b?Lp4?Lt+Yk$V&S#8P712gHO&$eG_I?qQ+6XM&5t<#kClHb6i&@MTEXLftQ38t-P znMP%+D3sb@v~j$=815n~YiJ`Mb!@n(0_D^ySIl6Jv4t87Zz?AFOQq6+7|@A%EYK54 zSfxRdYmmD0RjC^>=}66q-1B7#uVu{Ph1sESJNBKFj&=q&uF?M7+Gi|C{@M~r<4^$q zY1{`Xecj!r7&a6X4!J9v|AXcaa499RJ@y?h1w(M|!e)M(Mc=!sFZdtz*cBcxcLg&% zNB`uR0zHT(CW0q2SYL7<^|utKeFTroGK#42uaJ$246#m86RY8T@nP@jV-MCceX0SL zY3T!jLVj^P8rwliZ!AKM87&Ttg3(?QA8`egzJ8Z7dh`^ulaAUmHYP^dKx+I_#`!30 zIdT`hk33G`c>jgiWv`=hk_!j6*xdgTqjA@AAA&ruLXfAZm_{l&eEUSFFlgAyb2QAY zkMARIgp~_9<+0KDP#1?%NP^E|2Ex+EaR0JpF7{=vx*4s$?eUYLLPCjNh0Msi|2vWn z=(j?Igk*`}wEsbDLkxsB+7%|cIPA~AehU^B=*FPF|M^F+;lV;j1Krqf6KmuDbyQHo z0PGMl{2cqgUhVfA?l@0Q#rvOkObCMomKXz1juQBi0aS7hAP+Q90k!zQcf!B`pa(px zICdCNxBfqG`<=|@{kA8Zs!$F`tS07qJFb@ns3s6%1uWaYm=kG*7nL_le>zV5@tviY z_Tk=X-6+$% z0c3PSqez|n?;`*|1;7yJCN=-RUtgyIZo~`h5bXcj)|8*Xm5+!o=e-fxc(Bi6K&P20 zlw$b5YpZ#~SPMVWuK!W4-!g$qy~X~7J@W4!n!fq;*a;ouGXA~KIrdwF3vCwg??Zea z5nm6d-hX2#UtjLlM*2X82MbpnCjCGSGL`(j$%Xm$Yf1P}r@fe;@Bz{**W+Syd8ylX z1z^OY_V@RNs4%NM-UzTUlPn6e1duJjk%nVvH#Oa z!^*|PwP6xKXcy_^OD7;ndI4-9lI8133KBXxx}_hCvL&!+)}=+s+PWj+XcU@57bi$m zBAGZjXB~k?xn*rIjjM8N&cNTb171X9Jgbu@ATV%c186#5DIL)XIY+u7(B<eCjvpgRwR?U^2NbYfaW^=Oyadqp6PfXv^p@p#O`~x z5lVVXKqLNckfOVqtsLl#W-qqm6iWQZ)A{CJ9Vbu7S>{N4+9XKQEQnH}Ykg`ZSH ztt`cNao(0NGV}rU{_D#Vy~yE8OM}FtQ&u>TwvxB-g&Axr%>yA!cAMiakP2B?uUbTC6i!tt@B<4)x zZmY%GVy`=Z?T7;KaFIVi=!!?;WuIPE>Xkj5i>I=X=O_EaO*4$OV}2L%*G& zgcoW{I3fX`#<}N5l~7t}^M7olA9;)&q08xVQ-a!lPZ;)LW#W>3haNYpInH7pZM48+ z5pR3QoNdF(E~fZjkJF|-SQ5-b8d-c2BWi_=GQYEhnto#Rt;I&i+~y9m;SbU0z$SX0 z8gjD>(4IwplNo4?nlFUAxKNIT_oqMyAH=!Q6^tx12&S6p`FN(a1CXqTg|BJGd5Ql4 z1eb!GLqmFt<)55t>lwP6Q-J(e!RbGkDs0>3;&4qaft51^ZZR3++bss5X|ZJgPr^M+ z&*4PIe1HnqC-?vRa`&zP{qE-RsB##%fd`n0`k3vM)YRhq&99F~JHXSMz_scj+S|*m z@AqH^5SS7DrLPc}qOI+1BWtlI;;Bq+ciuPZQ_15>3JnoaO75DjOz`23OSv$I5lpYa z)S-WoV4xS;1DW?O745)c`8VxZL%7ekD8xYcRl0Ew@QE46=X#+}Kw0taE0QA`T#&3= zX_1Vj7~GXD+@p`V;Ta`(wvBcMp60;)d)hDTC%^ zsVV4_%(&d4Q){{LZTE;wi6!!bKf-e!!IJDj_ex;o?Y9@>id)sFmoJ6x6zO^kB zQX|#`@}<0SP+uFvuxUzIC>gPSP&2>eq?Z{Y-=t(zx*wa>^&{$3&T-SoCa>dA^Yav4 z*`bQL3-ndeAdhG8r%~Fu(Z%p$ueDr?3v41jf`>cL}Gq$KSnJ`8ouK-)9 z8v5N@g_O9to0=m;9f4#sANj#b(O|q9f4!>zO{j}LZqoaZM)Ow z=oJ6%o%+@io;GfwWfSWl@N6zgxucNEVCd_JHXT*1Z$*N!@$5A1K3NB7MF9#F0**Q=6_4e7zTCJkGXF zj?gk>QjYLxO<2%)%}zna9bwR{5|Tsv@JUf<1AP=E^(p{}n!hK7zNc50Wr4}BcH?H^;(6{gdUww=AL^&ze%0e?+wg>nZzs)cP+Rk>U{7X~(vcU#t z*8IK18}pZ_9gWW}PU5+Z*=hbvE8gjwoWjNQWv|*2T%~3{1}VNRdE>CvmY4Of!)P)b zGROBBZEfVY<(CKqlMiTR9-B`Er7Sr54YzQ9pE+-Jd2 zx6z?9cjp}cj>u}JB%xV>F*64p;XL6s$-wU*D$_gqK78%73Q!mSHwsOU#c*P$D2+k+ zHI=F(lfNLEdAY$z3XH38iE<7vih%XqHR|_i+No5%{LpVKPRYSE{_$tG?Fu31!eGj{ zBP4#&P!gHTKWAO@)6Ja5;$u8^pMN(hS5ejK=D4J;+%oVD3(ZQ94P)05ivX(8(L*Vo zMITSu1ZE!hQ^=%Kxv_61U$s)viLt-wjXe>7w`#h9tm+6{K))EJJ2-{wpzjxQceu%zWk z{^xkK_{YVf&dBpVa%Cz#15|9!XU~bU7(stO{{VVIH-K}H(0qEjIhxZL$EUgDywz~f zZd5JPR64Q!sbUIS_;Yx*&3h(ej!Kun)hj3_NSP&!1Gw`up#0) zo>}`M)gJ`R=V2>kVFAk+Bnar)&z33W7;*c>im}ydU$~lB+~#=oa40SKr3O?Qii?3s zT(q>#3>b_HufUP5vkG9#8G1mIt?YkbEuq!sRrd@afNJwmf}L;)gX69K=%*QiH{6nK zP;&}#aLcw?Zu~>sz;FA=r!#d+kBL3-c1^~Z2=ifdTYW#{@@0}rjQHy;Qc=sqq=Q`X znn$T9DL*kIe8qdD*CgN1Sktrj*N`l}W4R9NkaCtB{B$A-Oom=ddJU%@6LE*IM~6PG)KG(5KhG zw_aAo0r-}Mpv5N$WHJma3?_{F7cyD!mAG_I_D_7;h4Q`_So^kTHQXzEk^BH9{~KRH zf`xt~@>+D7NSpktG)$z>P``u?+KjMUM5t604Z1lfVKYf?@*79+3O42@o@czAQB+t9=(>A`x_9;y%g!~(g zFID80{z~i{6?m{fq0g_+%0Fwv3>0!gFcl-*;Kgb_RxeWQ#Bj+Uo{#=FKNMw1(L8BesiGZvr5#6uNTB+-3iF?|@3XEIBfYu?p zqWO?+!&-zNRG*Y~0A^{T0DJEBNiR#J&R?Vt3`lY@5t*|q_&(jLwH2$)R_K*hQNT^# zH;SdxQ#og4ng6g&q{>T*1<^fuPdA#c}RkYdo3@YUQw zpxsA+Yio~Hg_7O=$-|+S3{fT1wPb}6uTU`&iu6rf5`e%R0o*VZI)W9bRm@jEJSnC|do`R|K~gl=PPdjD4|UCYo- zKk8L9%JoYpCYimbo~XqZR})%*&NI7Ypud`J^LBsONivv*dPiU%vKOld5K3unW7YCC zqpc9wJtP%x@26&`&|p&`bB7AEKUmyp)kQ&YW(V# zn_ywRs14{!b`u~Ekd|$wrCFI){4*GI5E(Fza>~5Vsnam-cDgdQ$m09J$Fz(Z{So@7 z3;>bij{Ev+x$IYu1*~PT+s4?rY&H=Bp1!f@A^qBnHKMd4);Gz%%D?&$lbG=HBTt=K zF^aE!@}a}Y+_{mc*(10OOA}1Z6FMZvQL^chNl?x689By9@kdP{(s-(Q3+SQSY>@^g z8$~W2`JFP^0SeRb>mZETH1Ep#++ao9_pi^uzHHtvAI}>x`!V}?p&qTg4JWMNKdkrY z7IjErN&Tv^ipK}aHSGXQPe?HYltF&vy*>__!Uq%CfjSYpR`kan*O=Jq#0Ahuy`av)4AS2VG| z$y^USbv_uiQAq+&+d5r^&D+L0CphV`2ER?QYv%vP0 z*c(Y+$_BBMR4RM_S8PrmLZ%2ek&O#A;uOWiwid{-Zc9I9cEEg#6oKR2rS|XCfZ1sm zf@R{UMP`M~f*6#>Kw?|S^fw+E`K$k=x|3LlYzu0+uGX|YCg>EN3IMAb+cZIw+9&r( zdO$}*!P+)j{u}_JgFt6+#_kVNi0Rj9 z15h@baSuXWTBcqR?G#a`Np0gWAS$bU(UzKwLLOyM*FBsr-uh*-3Jiposj=)+a?_F< zU{L25G{e&F&j(ll3fOiWe}nUV<8CSsE63qQ;v%Qp+J*_+G1Q)CA}R?UbwApf3h~bT zDe8`kO+Zl4PJOa4Mb9Iv6}uGEG73_YDcgpQwze1C{pDfdfdWsRKP9oh- zQ!*xK2d&?E+=u6kXX};&2>~r4Ubla4z|K$=e#`sSSeEz{s){j=8Oh*aBqh+=4mFn7+Ntq=U3;y6fdd}C3^i&~$4A1McM+019zv}#MjO$T|_zNcy9j&<)Rb}uq&VE*&O5VtKg^xpO~ z3tv=WsG<0# zc_{eLVL|Z>%$`|;vGMYD8Kt`>x4I0p!Q-|uR=vh zc%xUtWLZd!zVwH&y$Z1I#=AVHS55rSrk^H>$wlGh;-3?Sr0rtzMhh7>fWw_tOd}O{<9xo}NqJw;9K-Yc zj!3Uy@yfq+mS?pwmvh|4dAfZIwZB>IZ!u?!&5U;cSKHyDr`xZSU9M3(^csA9cUF}d zD=sRflt%6M-oYjZIq&G0_UeBBvYTR)IKk+{J@^rR9oeANfEjf||LV%1U%zBX&oww#ZsBl_f|Zh4OX>6gjXp;;o^s5`@hy&Az)&EzlhVYYs`hq&FOWc`GCO-qOLd~Q0C>#U9lU#+9@QtIe0mrPgXd!Uy5r8rp6qLoMB|>+fn)=Q1L_`wFOmVvW|A<5ddLhjVWrxpBA#FOrwt*Xw$Q z_4HF}_5F}oe~CLq;a6gIv8dfq<}Vb{L;T}@49Zoh$Dpm49%QtI8}{)IS>TvdcG6M& z3Kw^q6?!%8HG1?l|LE!8tZ5zSC$tf{Uq}c9RETiLO(q4zc@q&6Ltl+z{zVkUd zvy!V*RGfWmu|RcR{p4K(;c-;ueEzIRR5&XcDzT>0@T8#s2_Bs&e#W2IpZWD(E5(s} znK+tBNBi<>Db@$8-Kb!Mmr=RZ)}9A7Zly1CO<9R^|FPov(Mu-MW-J1`6G8TJFLuwY6T|&fl>;uYY7|AM4~mWJlf=~tWyrpcU(C{N-JBEi^MU2`ugbq`cPOc zTBuIIWmm?Fe}t*^d8;aS-KhHg(J#Hv3gI6-M5R7?*g4T9Q#PC3q9RYbb-CEetkw{( zNdoMA6#D3sl=1!5_J`tR^dnTm*`kRDISa^Fjjg-w4R`F0>5RLG{?`$u?@-$v5?6p0* zmyVe)-P&TQ)<=LA8KhVA&(Ek4k#E``**G4ws@)oZB(*^ticj1K={;HreXHp@M#fIN zI>;d_%4OA4?;rMlc<0Z&v~Bm7f5}&vGk3a`b(ySQe+jhesg^y(6YfZEJzk+28qjK~ z`#ck=(;NXhrnn^bF8A{wyLj>)r-KX1IB)JVzYr}lpIG}zmmLkv{St#8G6xLIbE(N_2REFy2Qb~M0kN4n zu}ZOWKKR}*PP2Ueg6ffz-L7Exd1BQM(DF16rax?&jpEu~DF{56B9)JW#)!2fccWSr zN;v%$+cQ543;cD7d~P1$F(yyZ+yNn+>OynOMkLodFMtE%uKp7y{3-BJb#iRW+ffTTaZH&~*Lr2)qR1^Z)#Xq32Pu4bd*QEJZtZT=V3!0 zr^`rsmFvJU#ykBP#aTUs*s$SQnf!ZfaL2usm0n#s5g3c@>l_v>=*-0G9ODO_z4L{Y`n!vVw#^MluEO)j1m@-$L%J{ zjV_JLY8A~4!KX9c&umSF(ycvIylNv8=RQ_LBwPBQB+FZWIl)n9 z_8WK`ToNsiSzra`JA}#1KmWS1r*)x&`Z(T-l?u<~PJ=tBR%f4t&Eo%Dj~rKqED&nd zQ^OGUwNGm6v*AHGjw4$PcJOD%Pq=)^+|4U|NZOy}h)nX3>-H({xTWTG{OUp+zmS|K z1if;-KnTI5BsBy)*tXV}A&{xn(=z7|W137u!B=1M1C$A{O}nzP&k+tw1{TtKD$>Z* z2>B@u{BA?yAmr$v=dzyWdbo2g3*7853C=bRf;~3zZP=wkYk-sCuMm*-ByLB@ zB7r34WuPj8JF_~@GfGb?Fe8=`Dlr(-DQdQzRmeg?&s-Ss;nD#!Z!k-7;c~3(B%OKX z*O2QmvvZzgX=q;T<)aS$&q{B}_WMI*&qgbgFJsE>HK5r~4QY@#dJXA^Fj{>vw3du$HD*c9^G_$fHZGyX+^bBg_TJspfs=i%ui_%M~~*LLr{OE>1Gst z=R`h#rYEORHy(Rv$UzuuW%1b4@*v*CiG;X2Of>BBrMhD$gR^dDyS~G0q%d>XA~Q14 zHkd%VA*wE(mWp-E>O<}BoyfBm?L8oUu_4_-tvBUS530XZE~CP;XeHCCClC>#0jqwq<)nC_Iy-as}YC;DWW^u zMoBA+SZdmraeMQQR%<5Ty4+uE3U$^)2d;X~LS!bL7eDlm zwrP+vqTr5?2+^+km?ZQvvLz4`NyaAShaVN8YB}z@n-cK6-p2kb!&#Jfwd%*S@~4g| zjV?VuS(e>y;~1F(KFZr;{IFkft@Pm9?S4!G+B3mrp}xw)LKk&f%aJ58^l!Yyk z#VjD?xpVOu)X$ADNw~=|8>nJ>o{XhlK7B|&N^=Kuazsce6ZflwOr6zT!+I9Du7XNWawW(Z6t1RUCivV!;>jU04 zq-EKa#b6{c#0ZaZThXarBZSq_v}xCh&7}!bvJ!6enTD&jV|i!z!@*QMw6m<~eSVvy zWj!}cbe_jvA0dxApq=PfFQ?Tc!$5!)hNmErzb@VHuR)QzZH z-i9v;fxujczOX`0>P74~k?A@hw9pJ8&ss9XXvmx{&U5LK3fZ9!{?QaFK8d53M9=k_ ze>5&pabdo2e|Eij#wf>U#~Ud>rDMeeKRes%+%0T(us-tf?_(&BsAu0+&kP-H!cRg; z$1D2NCu9C^bAO5MalwR_dq^RqPO^~2BrHN!89y5^4rbqI2$9p}J|^PO&!1QPUH7;R z9ohTCqv>~8tPhD(G^@|Ol=MMcwqHaP*}#JirMaIol!P97{gtiag~gx|5TSU^SM^2!fr~<&RTIf#$_=J^K+cr4Ez%GK`ZbLD6+pv`5(i>k5Y* z`C(rF^X7!E=V>`>wb9p{)*EGwun2zoy>Qi}A=WK*B@PMJ84GMPIp=d zoV#3}SDl1Zd5T)a7=E-PUrq%IDMsJ@1W`z7KZ4ppBQO<)WlenkolU8^h8Jv?2lRIX z%vW5JgR{|F*XN(YIz2N$esWbo%||Qfl7k}I^Vlm^HWz9n7MJo2%3Z;G9O41jDM@4u zv~!LY!*H>KDFsqV-aF25?4lDXDD6^AM;{&Fo>0$p*}jPT2q@8Uw&;Wty-2LS9K&mI z`&Ud`IY*1>bMGwH5-;f|GBCF6`7&oJyox6NZP7Hhk4|{9w_{+PU!%YyJVGaA7oN52 zhCAVAyj>oAsop*RVx`?s#qjzyzXvW@CYLaEpp1Dn@!(2hICg4&>G_yetIjT3cdZr7 zkXENVMj^W*t|5hRdxQ(Xm! z1^Oh0E*(_oZfZr4`tS;9=~Co`52mR34}@YD40S~8O4+PxE0?O0+_mFrb-dGECDKM* zoX=vm*GrzRA%ljG&WP7KTlpB>dRM5cR+(64(AEha#(41V{V<5_E*btFEp|`4&SB{% z^E)~+cJ;D^fnIyb2#byj2BRCkoq>S8eCaJ3PWyMN~7?wl4rNe$k@fHOk5nlg#_f}Q`W z9&cdz9@jE(dx&@~AA^=l`tNs~9PYFc1$~quJimDYS-!q+t{RmaJ9}v&*n>JvIxtxU z%a0BXTsXhm3A;rfxC|`Z+5e^DbibxBljiM*Pp>nUo><(XFa(1Nk+3PgzdMeZ4Mrb& zz}SoO@C0(ei7ZH{H8Q-tQ4&5K&lZm3U5CkJe|mU!22KFf^8fRlct?Jq3O5s6BqkUY zK9nlAQN24Pi>0rAFSn^h47HaMfLZN0tmV1?y`HW`cn`}#(y4JoC$HWx30IYmyMjWtKf zDqWEBQeM=bFmxG8C=`SCoP)bEj^7(JI(XEoc}d73`Ht!fj1($s;Z&&~WI{)~2pekS3R z|9&gsc^Tt6LHDWP*h-v?lT%#ZtIu<6E!uvW+*j~bRe~EdJBnsIg}|jX!sfV?AkWn)?5&NI`X)--78Qz zgt~JyfF=Vt=-If-gD;QZUv|?|2N61zVuAAwr(6QcUsPER2g|vRAo`E<=31$Ji3jf;LYI&$;ShACn;vTth4nUk_m@F zQ4a)!1TH8@xdwHS-IHH|x_*GJ?nJ19;x4xIQw7 zdIkJO!A_)yC5P;hz)2LegI3WfsGael@QP*?(iy1|q?1gyqEAix&rm&C;n)g;p4|M!(H{M!j}YzE3smOHBOUe?e^ z$d^Hu0BS2pFTr1_IBG<9SQ$po>!Ue^Rlg@&e2_=g^}$p>jP?;{N)n;-DRWG6@(<#H za6^-{ep5h$z-GHxD@!BohS0F=6rozGe&Qqw&YfJV`CJ?J05L5a7B=0*#RZ$sy+gEbAYh!MbKV zstGV_uQ;;4(y9~;s3`DL0TPG=z*VU-6i@pRu+V%++-W|lP{~CsmCXQYePGni8<7A+ z8%f5!;e&v^JcydQlw}mqrj_U}5m&ZehHnA3r3t}=yD)Le34;y?7~Xx!1^PI2EE-jG(AgO>fm6UkC|N5<>J^|NUJWyF#m`K!FiM)Vm*01@GPilAX99@=mWQ zOT=cba;$ng*A76H8U;B0c?6!%Md3rv&^$Pco<^c?Ry?nEsfqpZ8VO zm}af9k=xzlYw}t9lYCouZF#lNgVT+Q;GE_!Y;tqAGAC^quAM=A1i&%Y9hmp_>ju`-+zw z9ewG5D6w}NW&AW7p8(mpGBWftrsbHmNLaPY!6fC*MI!UptmUS*Gll;FpTTz9%Mq&%>aY8eC4Y=Blr|DKvI+P6=k#B%3VDI zrDbcrKyJWHDValNLDHMHG+1g3k~?M4;#ST_BCo&rrLgoYm;E}GNgY%|2H0ceFiYcy z>@o;pnP{LjQW<$gKU>~fPKzHnln19$CW(Fht`Sgc`A6hsd-MH}p8E>bxWH4HL}*c+ z_@jU~JD;KsJgZl09H6nY(Y-P%;Z;9T`H498e$7One0W}qNfvgf%BXv~Wg24StWf<8 z*3GQ5CkIK?z~RWiJ`9i-=@|7PSA3z}jj$4U+|MQ1*zZRjM|ZUcvR$A$>3SoR|AYIE zBC;+$l><|)NELWUp_1$SCN{@TWdl-Mnt(hNb`IOPH_ynrAhc>uSpn)|K~pLh%@B^l zgzo47PLyt^Jo zTYKYaSl(VBj*;r(ao+u;fKahM)zwC`uM^3i@ou;x*r=jumtX@C5%Bna4J-_0LE${p zD1G;fssQP7&Hr!llw_j>yvC_xG_r5Ci1k;O7@%aOn{N|G`+o(zLahJt%3cAjBB+ivPZr%u^2S}Qr zr%W0#-nbD2ut=)D4N{jM$&V_v8eq$hS86A5lUjJ90{FN*1CZ~Mq@gM)UtX#@O z%2UJj+>*XwxQGV`VTY=D7}AYWJPOD`antr%e2`4^DwQMtQGf@|nRO@!7|fDCrO1xk ziPE8Iyc_Xxl*7M0$I}$A3LK!jGdRNpnx4%m6aSq!DgL|S%Tc*ojdMy3NO-ApM__Q; z)H8r9cv}lN=^)efHw=u&W1U*#pn$tyuA)irA1!Nl9xTC=^=XfnSU{>;YG{K8Z12uz z1flHjW_G&5U|F(SNg}F)rMzHSG%Q2q$Wky1rPE zf?1p2v^!G*MB?Cve}AlOT)?{1E69tlXX5(1IRWhon*R<1A5>TfoQ8%6s~jyP4?OWA z6VvZcO!M^mueY-Wjh>6q&P+Pu2dQM}F6qeR%Wx3yKf*`C@{0HJ6SG_D7yT8LI(NG?U z@pk#vmyUn`QH$dEI@_2#XXL%P!_l{|X}n1a$j?dqepmRqkF6PhL#2eHpN{4#HO`E4 zly_=$o16~0TKSeY?ppxeB%SU282{uWkQ~JC2cN_A&oJ^kpIz|b<$#`V6AJ@1mBzgT z5SVru@k(m#uMIoH9RWJA)5|g=%iR3vT7Hx|?Tqfi;L=x*52PBTla!s#D4w4Idr)t- z0@~e7$0Vi563a_brr)DgLkp1xpYl?j^oW6JYQ1qK@o~#OC`#mEsnM@lDa(UP&P%8oJ0x1-o znwz(aH8Iv?X2f+b1_mmxuNI3v;hTl<`|po2*tM3T6W{G|{}~&}BFJJ^_;~>%VQh$L z^;_BxEXnudiZ6r#Xg+BytZ(sZS_t2d%YYZgL{JA!|9K@q&AeKt!6=|2V0ge*mwq6|5VT}+-wi-{#Jk+Ia|STQ758emQ6nil^XWJyKK{Wk zT1CJzy?7WWA??VFl+j*ox58Ve7>sOqjD?F^7?rXq?{<44-n5)bh_}E+yh%a?h{fHQ zKWr$woQm{w-$zE+cnJM>Wsg(PUA25MmUeFX-p-!@2PZ%3wfZ!q@YjZty7mt>V4IwQ z#yxUQmot63J4*r*9g4kIg9uNretc?khH#7oA!1Lns<>^)J1&d)105tCDWxC- z^P9A?ME;wE!o>h>Y0N;C>{4#cpYarpjJ&R^4^7PQcMEtxm{xztGXWtM_pgmQ*CX}1 zzn{O59`)|ERyuB+x>5S!Ey5EvNyj;#X3q{f+ITOgP0ky*VZD!^wNX*Iw|NP2<-#ZT8)iPfQ$ zN_-W^Lnx*!SNeV_4K&b2xR zb&a@1Q~Q}W>S_fupfUMhaxg{J+%1!O>EL`}g%FsC_V&(9~LBj2JE&n-ClW6R^NkU@5$ zx}cz-PdaU5xOWw|^-A#%%c#&ih)}7wWg_V4<=19)PJnVnYOGdI*?G&(p*DB&!>|-D zRwT7WhW03SljrC63d5^F5{S#u>?jTO|3x!2!Nq9P+s;E|w>!#%WUx#^v!=G~oF5%D z(-GVkb3;ZzhR7;)xg>-7XFvMgrB0W9qk_!%6=yS)7SrKT@UrZt5?_YsD?g=Gt0j}1 zboh*MYuPQ<*2O?l>^DW0crt6s#z9w+d?<*Sjn+o+U6)T-o4ey-?9;EFrnpxefS%VC ziO2Q|z@j|(P;_)|jH%uY7GK^(IaX!_qVd@u+ogt zaq8E*=TwWIg`m@UoC}b|ZBxzB!}S7ptro6xvLq1djIkI8|Im%VUkRbcFLKCXEl;n} z-L3g|5P>`tZAnwXRkDC?CNGkRNBN#)(0RVf=yXmp5vUTXVhG-Kzcb2)Ya9*wx<~DV0af-fSI7vYNTgqJ(+acj#-CP@e#iC`sM4PTPpajo{*P_Tr!fqb< zRKG%!Ni6vJ{}K0AZE(wy1J{XSIsrXlra)a0tD1iMi|u{1z^g>Dz|MeN3PHQU*EvNXT%LdaAIC1<=b48&8bIX#{ zC5JSMSR&^${0gOJwr~Qzph3%ErVC)_%m>;5;$*Z>ra*pb9jviaIQ-eF$$5*MsL32| zbk-VEPh8My*1MVbU7!I_r|95{?)X`Z_(u+=Al9sF*s%$FzL5z<7mqLU1w|9kx+oN5}-MQYQQ9=7%a+z;N>P#i;&AiXwGjcvz659xVWxe?R87SdZl$@EAft*5|+TMY=|W z1nBo;>d9g;{yU~iEfwKEc@rqV%HnqjL(A}M_ZI+@T2EmN*%($(u8nNaDBq_y1wcZ? zbY@^<3O$fH4kgq3Uy=oUH7IN^a2Zl8obrH)PcXhTJ@PPWs$e{wch``O8OPh-jn{#9Wz@G7tzVZjLJ@w0%&k@c0^j*V`ajEMXMsP!D7qSBhMIpaATLV#D;O~W zASyrJUSIZrA*>X@ijE!{l*=-Zrwr`4d-e!*ok@AXT>aR`&3E<~+k`TL1}GF))cm;E z0QB>|Z=h5+x?PP@QP9&%b2^lW0fLjXK#O@(=lynsq&C^52?km^5T*Z%w%_SS(%CHP zh1jJD5g^RObOEYY59DwGZdg>Q)xkb_S$HR!{&jyMjSP^9NCYmqv-{bS&im#l|-(?bNNqWK5 zFHux-+4PFV(y-Kg!!blDFHd*lz~#<~wgIYR?>SQzKsD=VwWS81+gW;@-(f%U#~ZL$ zq)3YYaMc+b=4%55vY$uQtzXCdKrG$k1x$*nn6}cW|CKHX( z(^08G_WL3Nz<@=3D%N{89wYkqSu^!eLDLnG{#IFvd*6cwg}>u;Fzo<8!~Dy`zk`wv z|964iv3{0s+6+KKPTs6ma3$#OK2oodT&3I5WJUyd0w!SOm%~Csw;N#P8ZEgK{fRo@uxirE`TTPy32ow z?9DpWw!X!?dw^AP`_vsFuY2j{ zoNJT(C!f6}l|mpjdYpVKdE8>N=`>Q8;B zDF5XnlxMELVQlGctuN#y4IHVYfJl7kZsf;IA1{w)V~gWk*l#Z98);qZp2=3y5A!b&EED^3@IjG=Zc1iR_Cn=K;exXrrJukNrDcP>uVfV0{bZR#3N5yfhZm8n*lt`gi2_MN{XLDXzwS6|9Hn3o` zhvR{Vn4_|`AMWxF=uK{^@|MN~P?u#a2FoiSP$z4VP@SYp)s{$Z?7+ciEBkxp7$=Gu z=CzNDO1qc&Xz`Z-Hm3mo6YgT((Ftbv0UqK8ELlzbsqd0UFeSPK#RKoqt&I;U_>Q zIxVPCopxMwGn_5mYJT@yTt|2p3>#iueyIZ_9mHfDTh^T|x}Y$>3E|aRRMrilD>&iaEGDv>%lUboBlZF4`R2IaWm z)yi&7FY4&j2?RbQHv)HhV1D{70KZ}eNMm6&5TiWyTjvE~!ZrNn^O&z{sxDbEdI~F+ zu7~s*!Z8`xbO-mSM@^&w=jhv;=`e*eFooy(5lOCeKb$6>6F`pE>9;^^{_N(1KA9d{ zOL64$`Y-2_8*UXykq}{hW~UJtx^Q3YAXOXh$aiJhA4vkKmt{~6cs$1Es@*J23aaae zQEXG$NJ*x$*8XN}+l?3Is&bnGo)_0BjMKN*i?@|4E$@fD%O_xcqO&g>Cfwi2d0!>C za)_aOU=w*=gI99(7b&fP^>>*-<;PWaivOw~!GIZ|tLMI-X0pA>gG2pb{s7O|s{1E5 z42^S2Rh3x6qN)j0;R8}VB6<>Y7=uAzfk?%6qZ&+L+^vM|pDVH27yAy&fTKuxF}NfN zwe^#6*K>@fBoI*55Tl4B(3u;&nDE&r`IjUoUEFBH0o-(T;gQl|DuLl^-Gu$VxxAyc zgX{<&??0c2LUUq~A6)y2omIV_w=M%LmdbE=x}aB^lY!nD_|f*!jBnF_Psq>z={d|z zMKVY|LBJ*;Ckz1t?R>kw@J#4z%RPW9=RD}`EBx|n-PMyL5Nj69oTm~{5Ah(Ub*v&;$Lo?amWQW32Je}23lgG3GLL^jZ2b+B&zZ;1rY z!{oBnT`Z*|)?!sOpfA6oHCT0=HG`k^W<56kW#1<~If(~!MK@1HaAb^xByUL0H2?K) zpq=OZ7qcIU*)zd1-iQ(6g(FxCTMvcj9DN^DRO(~SU6L8azCw*TOp=$$0ud10tL<@y z!DbqYHkm{vvo7*Av->Y$WQoFwvww->aoSfsA;)H9Jw+p!7aiA~FHzB!jomJYmh$L6JgB zVz?oyS53_1Y?dgX{TbK=Gr$P`{w0*7<$l{*aqG&-<+I7)7FuyVCj=1acQnqiwQYd~%eB z*7D!(YBNNBuWdTc%KV~d*vv*9fpLuZP|P*bxCr~i(rmq92JBLQHEoXywZ-G z^7eq_izs)ZmmTMX{=YLEzeoWrnCtCp?Q(T(j^a*3XYfF@^(gyc^q;Y`ZxA?sU;$sM zc|c6ZVB~09cGX`dE#;_Fl^kO^*UM`+;Q3{%sr=E)Yx%QQkZSk)wry#a))6YpEi*vnA8zVjdD*F!cqP>@i#ql2 zev)OFADt~DmHNACC`^v~B8=6J;Stl%%!nRF#J4Y{WimfM&ewQjfHbU{S|vN_k)L8Y zKfkNB46$$&OZGERm7p@u?U;qXgyUzNlW%k_cKR&k_(@Dh3mbgwaoSetG5?uc0E#wf*kkB^9ZgzF2P{p_4OviF_?f+H< zHsqgd8ky6wEp?f!{f_xa@*LtZZ=f7j+o}NqORav`aLNhTPTgs*IM=3a zZm=h;Opt@u2}E3i1m70FZz(+B`m5VnNO;Oh6v6!w{-?MkY^2mr8_(xSylo|&a>Bl= zo5)^OG2g#V6Ks6qTxDtn)>>YA0Yih78%LG}B#cvSM1Up@m|Y_oI;YAtnsfleusE-# zHRs<0P%UxCJ5QvbOgN-D52ve!A$t8A65!r78`<-6W>c`(x{ogZP11KofcWDGK?eI& zTN`qWo#(-djrYHdUF?QYt;Q|vC{6Tp7}1>=Yj{qfF>NWE5>h5>0YG>9Uvo3ckC1|@ zW-ofAL<1i@Gr#dY6Ubsp$W))e{*#*ye86>xTUlkSiTNbNBrA^9?)fUE2Y*HsY>juf z<{)RbI0*LfJSB0jp>%`A@j)-4xulA!WJq@^I}-Nfz)Jrrf~~KHmR(Ydpe6!$ffaAl zB!?NMPMHeKA*=*z42x~kC6=ggD2W@|hs!O4=ls86;CPDPZ^ zI+(>M{a1ew$0-q6#=9l-OY|^FP!pT2^JR}!#Ge=N6N(Cok@E8Aw6>7Ij@ncnvWMp+~`iX;9oO z3LTP<9$BxJty{t1%#VHlMnS^OKr0y#Iiv|-uAu}C3@GDUWKNL-Vdk@R6bQ8klFo>3 z(^)Q|>o|ptjU-|5@tTUq89OS^lF?;3NQUTy$;8Phr}Bz{#wRARyS>BGm~bJ&ThmRz zY{JUV-0nm4Z#6G7Rh5CzQV4HIcx>6+iT0a4Pax{`CJN>Av1Yft7uJfYvKG8@ugE zjadp|uQRRvb6=}vL=VqwmhyW)=D6zWlw-)N$dk%+&%dsmOE8cke4rozke^WMY0`?8n zXI~1mO`u@{Lx9QKI$u+ATTGPZiP9bPtNMR|2@$8KzDnRZ&cRT(03UPzKO+Z>9j7zR zqOvCgC9HeXAerlktEJH`ba<3*bMQIu)}6VhJ&?7E>^&r&##%iUD>-Rf02UcB+4LsN zbx>GA56M{7IIuYa04+d(@(|p|yO<7K39wtDjzDU`Don-x_eu=fPkOo_z@wTCSW+V} zN~E!{?P&R#B>%mNM1n}m6^Fjlv;aOg7PVA_7~PRVgj4vxSJ(uQkNQN7!NuFVL~k6b zq^LsMdWqh$thsGIJ?D~_tFyEn#qB-|dNu2&1e8MWm-Ht%mhT*{n(Ak!p&!ZyG zX}_eTOs4s6ECRIabx!b&8=z~rBPsH%EA=Np6)?RiB{Gp`x4ZwmNfJ4a?=S&&W=Zf2 zEPk7E=|=CqE@EoR6j*+;N=x*!5Qk-*-WLySwmsE)v2x(wm<{RxFnhVjk&2j4vd(I6lE0k#lUF188i+1BNSoc7Sd+!iO>LQo(1d zMo~-D;WtFm#z;fb{D?>+;pjNzvf#~mEgG!BMaK!Ldpg9BK^IO2oQuJ;GJHWBiNC(V znG=z2gDTF#&#K>dA&n=<2(Pv;ge)&R7MM!D81TJ@$*p1!Ns)EE(|s!|4M0XqYCYRL zm1#`VtSAY0`;L5{sxyVMdmMsbwfts=iF11sq@p(Rl|fivkUd%5ybP0_j8nVqG*W;G zwKRHjZhQr9>_<>>KmQc~il+Z2_`tE2)WTi<0{fyA8*&|FI;d~Cs-jr>`wsk;cs@!} z(GGhcHp?KFu-;h*9-~;w2|l6Z}t2o z#MIX*4kqZoV+%Xkrm00U=N!|)Wtm73Y_reou3rOI$}}>}brj+XH)OvsUd$2?V*=mX z!*6jLJ2b4Xn)agKE1=259`yC4aYGN_?&xQdBFgY)ADay>eo6$X6LI z$zw&RNH%3rWlBTrZngI{5>5ZtYO)ucJP?V0Glmm5zeoh#Pq}XR=OR?P3IO*aZ4JXX(R{>adb3jc{{2F<2#K-o@L!ZOK*t3iDNB$8Ri>g<(>w@# zE~5*vR_dJ2`neDhc0g5M(S&4Z;X-(h2%wq_{41T%x(Zc4!oh$Qf<_XX&Tp7VE(kBd z>DYh3IiZnHD8-^EZyoTzxsi+1Nq%G?fyCv0GX`uFCNR64=D@lgvF_Y9B81BEXPD+~D5 zg(I*@s?|)gnlL1s0RkEp0Vg?u0>&^?PUo=GcWg+%!jgG8=H^z8{)|^z{!3@^)oc#) zB{5d7s&YUNQUwCJ*7yDoq^OhsgStf(h5_ex5DLP5RG@S%HACG1THRVADEh*}(>_5} zljO2})MCNuVjMt!ifDe_#HN&8OY%ENpI!y4@AdX`WN^bWHeD@Ku=uSONesLfML2~frdM`9e(RNZa?yZ}!f0IMx9H1m1ywo{o-Mj9gtZg(YJ-G|TwucMOpD{NVR`3IxU zYK+KwC5zUb1M8d7j_gu?T}GW(=aSIa9i!77)NkR~%wjvmPOJCz;oz(qg;i%8#xfnb!suxLyT=`HaaT#7n{$eCZ84x&Oe9W$2AH zdLtqZkUUcv(J zuM4jWj~y~*k17%ZX`047`ZX?fe0X7627s)CU&9-`C|LZVOx;Wa>fy=KOic)w9!bNuo$*cN4wi> zyAC&lnQ0QJ5_a8fR9Qee>|J9gq^HEd)7J{z?^5wE&-jwqo)24(zo6iwXLv}IJ-WsX z-Zl;s`S5fv1)d_GK?ehV;vx3Hyh3B~9z z64vP$Ii?&YzXba{l@6s7$)}|P9IUZl6Hwicfxoc9;-@c0B)>}Wgh~*ki92`qM&TM@ z;N5{WCJ2DPX!jUMRUoCI?720Py^~qY13`~(8Do&43H(1&z~w(Y(@~tVIcRWgdzw!M zF0NCeT!lHyOQ@T>TU(42s6k0JXEQw=KXuwO(*N%mF3<56{|zC2+B1HXK*J25D0+_06oxNkPc7(XEC1b9SC?~M0#pr0w1 zjF0sVLxpG_$2KGfAfss7{s+npA>G4zOVJz85cn8E>GL;6rgP`(5UY7etevoJ*8PQw z@2#dST)#GK)%*qP5lmGa`BPIpN58=|y1ot#`0+>M7^jl3BfjB1cLRMuO=I#sU+xL_ zCBDJlxy)QEa@p&*1oE9y^Rc@o?1=yzAYw$Q!#2apCtWTzv3eAlHYu?+Q*k+Z*JmFde2vh>eTKCSR6c0@k zl@WljBzt;4?0@gUIU5h0ooRJUWiCgH{v(N-CL*k6=4g3SFd-#|_FBwVrlBDH9Tz;f z5Qe9;X0;7Stu#bHelOn`G*!m?cLS_r-D9C#8`#HSJnK-2hCSJ{mU{?HM7E)3Fbiu> zO~OTEMs7uHPw=1g_5p@FO5njcg!JnsH64k;b`PW=W$66dzXcfg_|U<@MISED+y*gu zl1u{>9%v>S@Gl`!f>r3flyzF@@-M`OsV zmJorX^4h`MG{tZM?2Lwc!Vu!^{lX2r9tCh9wdN1!0G(C0&X`hS5#3Q5;2f|GU?Q8V zM0H|ePpz1K2l}q2Q+7}UcWUksqTT9r<)nB#Gbo5`vuW=>)Zg%dRd?9H{Tfb^5*5uU z?vD^NDI~>7z>g|tMwhcmzA_feMIo&`!Ed)c;3|U|4a&m&#B9@eo@A?r7;U$h{OuiXFBqeH*ciq2>rq5$B%+7Us#so#^}MFHyHB)#0{k11tj@ zUVTtl1J8+6+zk1~azYv<*0+KM4+b7XYP@+hFeO3!=G$MqZz^=69-K6?suE(QLkQhX zPw{Zs!9!r+R_2}=Y*He8Is4xo;)aQQl*hi_?wwq-tTED7wQPE<6x`)6md8!xSq}Zc8&(FP36CJOagGgO)>HoD&T!U zHb96tgQK4Mok`;O@reQyFb7H68uVWT8-dI+dS`|sFxNCd)O>Q(wQmsn{IOXY2wB)) zAc0!SWlf(SLNwn_>n0_VtLXrm9lH7s3jt+RxMg)YECQcVtL++RggN!x*L0KxfYH#~gVwycfuqo2D=!43dcANOw^J8LY>^!bANr|?2S zoB)H@WSh=pVCD-CNLv*n`m89xYH>d86>t;6_Bm+xo%y%_!!a=!f0dD5B{aX*Du(Au zqQdGpqWu8zG`F|B+fiQ0XhC}+3D?Jt0ncvnvc^(gGWhNJfWMC3pY>WepW$Bcx0x*} z$4O-at~kD(h;U|!XwD5;(xXtoz8wgEvxPxuJColW_xSrS?cGZyFZII<_T8l5ylvcc zbUvQHHhJBJ6jwhwqb}Yz)9de(n>2C`b2@YEH@4zx_@;Fv6>~nUi+}GdYr;O2fL!hY zn^BjTMX)!R@Diu$VV*mCgBaC#WlYF{;ba`ZpNq+xd_Pv(nd$zF&2K+uY(5vCZT$AW zZ5VC8S6D4NGnCP??Ss;|OL;(*jOr1Y!eM#k(V}6DY>|2Po?sqsY)UzKPs5BK!12k! zWCVApU0Im2U0sUg8qI>jtkI*n&s$XoflM&Q`qJa$9EJ5d^YhAL_d-8b4l^!S)Dv@` z>Eo!J_sjw^Nx%YIlF4(UtDCij?kh_^%%2qTH#f#(vq7@KXQy%H3p*CIA2xBaEv%+# zp;qb)U}f@N%TAqW<6(;se0zy!S!~*Fi$i)L9m2lrh59locKI73nf|b3#N?f zi4+p=AG%&JIb{Kf)4RiLo%P>X@g|Z*AT!N0>_PJ@`eSPqP|IXkdQOc^vDGEFE5N;& zFa3sj(vH28CBOE&*}7k8)+t0KXtDERz<%jd1HlLuyHv4JJDCyWHl^fQ4_scL%8f|B& zUSSuqG3)0&0b0ouE5|qBw@&U4yZ$hs+64d6gf?)(u~@I7g{3>6Q(^s_9XsDufyPQQ zIuNmqg2TBLh`w#3VbkRl>2YKvp^ZRgm*_hfWI)}A9h_=iY1sgy$5$WLj9L<}MDbhr z!xVoc41{8MuK4;u9@FB_{UELwxJUcJbd=L^QJk!M{Sm4c1}B++&NJ*M(vpo`psWa{ zZdXVC^0QxiWpWGnLVWpsrr!DK=tY_2xbD5z1_}2C*1WV&-L*xL0#KNE=S>=umh0VG zt?GkGbay*Q$%nh017t~CVi}$*t~*g0s4HhpT-X*LJ~<(ezqsdU@3iDIPv^pk1j|uq z4sL5ZbBykoPAWMgG%<)OcxJmFm-*7EXDscJq`Sc1vA7Y+5?yuOprZ8rtGb--IoZ_W zKLF6*3YubqI_oMiopRL%3T3z{eSR0@SbU09(cOF7E8p8Q+#jAxQr&L(pr8CEa|8S#B5jH^ps}L|)+$hNKiIg05 zMhcy&p0%6wBVsf#e$`BymKuvadM9dGyOpRY8^+Yy8{~tc@FU{xMfW5{_VK-b-);Fx z5ph#FI3qf2{l}1VA?Y?Fo{u)dv6RlOx<&hW`^k2WD-OPOeiur)+=@?saUENY>L@mCnPM%1Sxu(l6U)xdk(qDaEJ{{{%L?2CyC?3;5FPsW3la+W$6~ zFG@ZD_`9*mN8GP|YI{MdYj2Ua6H^dU{^h*t4lt-Pw@U^w*j7&wI?wu@M1NSzzw4S$ zgW!XbMI(idsluhk4!)^#S_P1+QCO|Amc#9tE7`n??I>5>eam@}UL&|Hlk=iI?=p&& zCtvFz9Hzz}Hu8y`{_W(p9}!aBKi;vg5SL#K^icr#Xzw%cCw%SgVvRkwf+G|zJ)@!W` z@Io}p%SjVZa^pHy#zr{XqmZH6pv^@5^szOm&Prc@Pbnos# zKqG$C?nc|Re{a>15!cukWqRs0>LY4A-@TRn2>JD+eYRf-ceeaX*?~4&9+NbF*ReDs z71=Z*M7=og$nBsjhiEgKnEk%5JmrD)G(O&)F2wF1^!?~KQj^#T-0P*-lC^PM7+Zbh zdTo;|Cl=1dUW-Z-H=rD2z`?Vj6{!T&v44*2+rRVV$lk9&U4d8n!+(YB-nozu&;d(l z-_~CCt~Quf%J#@jRfvuJ&*7Rq-?{HsHnQFghi2`S*^2e+6o&Xyw*wTZ?=0PrbtXsLcD==1u?+$rxQlm)`8ZZi7Yd1iBc*nGt1jR;|PilW=S zmKWBaL@}h?#&Fb>XhEI|sA!mmlBDm~S(Kok(GU)E3y*fyibw}n%hiLhLYyPayO^Az zXuI;VOMnr}>a&%pSQVZR;r5Ny$P0c)v1fJ3Sk3HE<~s)dU!{$6Xe=2cqxS7@2Up#e zswFLQj|Jf~ap=huh#6%K=mtY2^f;~aMMj85bvSLe=DHdoBjembhPW`}cukqLY_dKG z<(iu3OpYq~7A=PEAcsD@MB;^i1Q_ZvC)*I*F15RfkmginTrGD7Qh8#r=k+ES#ZjXTzYlb9sBD!K zXCdJj0b&nJ;~4mDSB?;UWnaT(NQFFH`4B~ZaJ#d~E{!SsG~dVLHg>#lHRxqr;jZDW z+yfMC0aE!Do9~resP1Jw7M{oFpRs8rhVc6LGfB(J5Tjl8LeRct*CY*aassXKMWTY71y_4rhl$WN#frdpjv#dTSk&Y7)0lOMDH0W7mP@0CMKy1 z)~!spn_ZdCW@UjE39pdWhKSF>iYp6TkmUrn9^`E!ZG`wr4itPCG->spR#_5zVbzKxg{6*M!XEJrp7j_7$@Zc0D7W9X;$zRemI@=#R`=eg z_OZvM^W%ms-K{ql5OG$OTApdBezg79#;^z@ea9x*#n?D|MNE#Q^@oF?en%H}D+`9L zFx@hX2a=UygK#Te0sxLu2oD3*Ft@^r&`hvwmgsJwZ^L{$fVu|5y+h8ECadtsZPy19 z^o*D*a4|)@7`d`GQht)um&gy9fjuNjsCp4gtI`q_NJW39;y06g!TCl{x^w*xC3?lC zDK!}|tLopOov91TpJj(h4&L*5kMQrQ|Hj>U6&>E8F|uiD@^KOb7zuQ@1yzHn8J<)w zV)b=5zt7Rmh#%2U<2alL_8MS4SnHsiLV~-3b#(Q&v+Ra&>@IzEZ=}0Ui=v@bL*K+n z7l^?rZhj+D;+VM38oJ%RYH*ZDyr=n06mDe_ncO2et{$RJ`~Xwfn)voRl3PS#?w5b= z>NRx+m+Ql*b4L)SdTCD~ean9-6*#}shyuE$E17q;EvCB*Wc~53M_j%wz7uIf$j`_? zNjBiSaogZ~Sj843M!&|!Ib553fA3!uAjrBJBx_{8uXj`+EXKt7O|4J-KR--2{XNNL zs-(2&=80%Pj?yUjXf{6ATdM5OnJG&% zs=|Po{DCX&&|82W)gkJF13aw9pW~_0S6hcc)evh z;=-_tRf(0b1BKWVSQl++cX;l0Q@a7ZD2&co{izlo0s5Hoqn2G8i|Xi5i?34UY#M=Ru)6<876u~{va4Q)$srWw5#^=*f>8U(~~o;IsS4=yFDR%of$5p-K#8t>Eu zW#eR+j;YBK9N*xvmoav!Vz(`@#O3(7D3#&c=1;>{Z1y&yo5sQ@^g2c!Hx+l6Y0fdl zBO+4hV$!Ns8TY+qOI8#`Djz!*Llxou1}A@GRn6|4UMk~Ier0`wd0^j({3aIF7MdA> zNvdH&D_64flib8zdm;30yxQy;L2sd-=RP zS+?7HyvaVfzX{Gl#{z?phUGFnBTE-0$V(^Bz?#1*U!jq@aCdr&f~hC_OT^>ecvFN# zxM5>eca|u;09dH3-dskzJF1x>JWn4HmX72ftYARXYk^m`OC$fQON^hrkXM*xw{S(m z@xI07C|yk_n$+!W(cDfB!B?s6XKkaa(pgt4@iF|b_}|2+oGf%28Myi!^@T=E$DbAR zE(b~r?*Z+P=uukCJB?$zE_qBjyI`i zH6gAHJG`}KrKiqm1!ZM1(K3mm%dO_`N42Z2Ue+0CMj6!2EqfOcu14&8{*YC?QZMv0 z)1sNGB|klB@oI`7-mPpc!6e<(W)NqVxs-xq7kJ^A>E)deJ^m`B2$5!0%ti89@DqMTIHg!v`iVNfALMZ|2#LWw@?x5Fsw72IgxRc9@7#WeCHlD&e2KxeLp zvsmyRk45%4m&HS^)|}eOybqX{%2|UwGDwO9)ITpPK*8<)KdE%I`b!l->pa@uW}m*A zbY2eOfh)I0)12*fe)OI!Sg4qEl|<@}k12no{`K43&gmF@`%r&IYHajtpJ|ro=Sy`& z+TbXov~&I(!zLpa4UZ>L`Pj|BLTVrI1&!MA;CAtj^^?W;e0RlZsb$K|qJ5AS&nZXp z`foO=rC8?ua5dvJij{YK zpRfs<|Fqrokz4I-Orw#s30M9v{mBI#tx2ozQumXj??M672Mnx=G&SkU+@!edjU6_U zm-TMlqedG-GNw>b169%cVH7|XzwiSn_122s*~ELzbK<8s;?iHVwzR5ZHx#$re>gBqSfCHUr5S7K;_ zK{;5D;8H!$O!UPr%*q5K+sL6Ra`mTEiD6|B#p7S-cB7!SD(B2xDS7nK7S@LFj-i~5moo6;_P@V zri_`-?X+EnszxU%L+h3uqfP${GCkG*X;g4#nD59^t-M!UjU{6%B~msxfmWXd@BQ)C zS*c5|$)p1&d9qB_?yzYlUR`1wvtP-ZAK5Xx^hLFwlS)}o*;K0ex}<+IC6ZjNcap?MB^L@N4ZGuHg^~vEn?=4NR%Z+DeJ<{AN*1yV z0yLAO2E_?8@XkNDYaz;R=281;@jcZZyQF=`VANL)a|)k#Owz>WNBgsmGZs01%27Lm z={)QunkeR7q*xza%l0q56#2lmjcBN~fLjCq0(S9BgpBX?V&hdl)yuwc?V25z|#^?Ib7*S`s;} zCx?00Rc4tuDRAnlXmhy0vw!x_dUX+&BO}f;(AiQpOOt^q7LC?)`N~h|m~u{#a_~Ws z>|Qlqg>QsG);Dqdr+vqUF%+6CNSMxPg`vs-xks4EW#*4Cilw?FZp275OWPV zZ#K-w^TfGCL@4Y~kYM`~wqNpw$uEg-iIrkdS#%thXTcU!cpzP|gWNS)Y zegqy#&;%Eq69!}1d{1Ox`B(+o94+EX!q0hEjHZ$wzGocDQE^qm!z*vbSmdvaGa_d% zgz)DI{zE)nnwfp8ED)%R32RXEq@1oq6mtCx zzm(1eWO3*7#3`xs^B*Ne3xm-u&;XTSpUzIsF#USg$25aq3KXP%{8hfMfGo6>KQ&h- zM}P~&Qp!?tSK{7ts?HcD=T6ntwYx67fX!v>Q_`D(kC&U*d)j}KjVd6@+2ZRjrVQ8l z+x7Wk^gCNI$oaaRg8U5q}hIm|R1nck{~V zVz1at@_a#pH~iJnDHG>YVxNMmK_}OorEI7rI=xPlfU#bEy}f#PV6_QfpCnZEM&0LzquElV|Pq<9KZLxtesf?SU3 zOfo4$U82glvT%oOcaE%$DpmGTL8VS!ns@liywO2-3g?^QW|egEXx2qa)_2eXJ=HQ* z?i|DyPGQ(~i4UFAms)gYa6k-M@BADeQc|KHM=}WeUE=BB%w-}_WODh^ZFjwM! zVoGVw&Tn>RIry2W05Soq+Qu-A+l%4>BmRH=EmS^iD$rs7Sa4378D`cn3-1l-Kzm98 z%Yw#04#Do(vyWqq5Svq9M#_zpVM`f}%Mo4u6sxRSch%>!^Mk5Pg^p+C6`oG}E&m-} z{5q2}2T!v!)s%^=TYQ#?^PM;J)Rr2d*&}VDUcM~kaSAmYzb!mATDYCR1*5lRfrG^@{|{99<7%oNJs3=@DJT z-W|11gEM0>v;xg?pf=0dYDIR_o_36?C7Sww0aGp&XR7}~t4T#a9mB3yf7LFSzDQ-R zB=eFZR;FvAGNmZ84iciu)EeN4!)U5Q(p#$c^p=|P9=wIH>Cr&sQZA-Ao`Xnk_u+t) z5A4z*A8S+`938Wd6EhtilOv_ubdPdZgp&aa#if6L)QCeHaC&OomiYoGX<1#WcY8Bs z%>JTK-3$S+YhvdT`=Z)uxM63hm$JiJOc%rO?@yZtN**slakK^U0kTevY&a*rHevJe z_0H4r&9BL5Ng8q7H^fP0bo+^uT%v4*y-Il zM(Iz1CKoI^kk!9(TNm9~I3~+`u3kkZ8m#Qa6c5dBcbe)(;m7jqEYsnOF&ar=a~3jx z+x5A4&s2N$jubx}6DBFGT(ki%UnVXyC&K9wIojCM{pFg^+tQVwX+y zxU6kHK8OXeeKxr03UKLR^ZVlGR#g}Y^JR`SA$UH$o#eBe{5pyw*k6%dvV5f+J;GBN z^6V)V09@Whje|<7$Mo3BhVqma-ZK_zqPQ_$`V|GtPwf>j>PZN;iuSjv53n`l>LTu- zhNeIZ8O-GSCQt5eZPXt$YR;A8yYy_@n0MtKR_n@Fnjt2Y6If9mCGgdIxZ@a)9xZ3G zO-yVl^lxr%V9}!F&sxyE`8=X@hCR}C!UktdPMT#JU#s^R4opAa7&8cYrjfXmv*dFjL;?El$?Aje^T;3 zVPx#?#9SUcygch37}X%hTBkNFYjzJBy9yngZQ&jplCYRw(PeU_$^R=-6=3#pZtB=f zzzMPZwoM7AOpw~0{xmT47$ufM=_Dr)Pw+-W^#I&l{kLSOB-(c+sCdFztArrEgc}FEmOtR2aVawX1U1^n1Jde7_v8Z&4$VLbI>5yj|A?+ zj;X@9IA&0kXsNYJJE|5pRM+w!xqLV?bRY_sRecM z^{dWKIkW$-xcmNR>kaz=-hMk!Ek)6qwQIMvY8SOv?Nz(f3Pr`rXw|4yt2RMt)hc4v zO2wvj2#FOGwPJ7b9MAJdJoz~%Ij@}LPI6z@=Y55Upxb-3)7J|CH^rmFWH&d;wioA+ z9P`B?AGDzzqNghk8&%9hsc*f^5iS4(Ve{Ue%5Heu$oWXp*S$PYzFb( z@LYrDos?x1<5!u*w5L}C*4HvVuA85R{qj&|ur{*SCpdQX9kkYsWp)~~m43I8xoI4EFUC-uJmm!nRe-ez%RmHtbKQK~#U(^#%%bTfxV}|66FZ`&@rueUsW?bNE z(drwmkHsoOMKE_#-|F5*4OB1L0)zT`0-aX<9{$B6!0=$fxo_w5QH?z8w!DE+_{^HF z4})TjkrizXwwd8ocoL6YuGfxSpxK2)#;t~X6;@;BTUS zXAfP$`6eT);(%qi+llJ=yua6f2G}eox|ujH`p5zX3H+>H4@yVPD0EEoG^+PND=f9L z_(|R06TU1=mMG`C@u^47+8+v(%YJfX+kd($`#-=5n)w56?q-``?C@(&S4I&SyJQ-h z-kCzm_Y!_b$qgPOCnuJI8wFArgq=7%J>Hb!9jotqku-({jIxn9A^MYK&0Q;waqsQ= z0&&b&)n<=*E9AUaqq_=mcfmum%kj;V?RHO1d|xK6xEVZ68M1r*+r(s8e_Wi@4NQ8p z%|P%NSbqpM{4YGW@AcP#tm1jvxIlw+pzO^bd&}OAvzzh{gXUU6HQk^)3^7r9<){gk zSh96b*Fn~x2BFv8d5Z>K!uxIidv6^`Ga;KXq=8anwT1J;m%R9UBt|2HoRZ$s{C&wj zukt~x>#6yRffnJYx|C$gcEfXIbgbKe4dq@zzMp$G!exUvlS0JX0Zkw(eO37V;?9l~ zBS{!el2nk+`P}Q)4>y$r$YdZE^nm}XKEI9MYiyjR*3Y#sMwnS-2e;qg588K8U+z*# zxNa3?e216LH9}doOA0b>SAYJ(>&RDsL*yIH(7)pSCuL}LL?~&psFh`XBSmllMvYTA4Z1{%yb{) zsYoN*J)At0Fr}Jy2U{JtV;f+erP1*9LaMVgU`WJ>u!kzQv+hHIKK}HI>(=|+CIx#1 zo4e-zUyE>0Y7Xh;{Ze}3y3`|WPB(JMi+h>=t@(9v`SfZ?eb+lqc{H5S(PmRE9W3^o z6*+uT%3#-jMKz;}7B;z1d@BUxmCjI@grjY^l`qY% z3K$N*b`)4~>W-D~Hj$^wETpX#f*J>i1dKr;tKZHS?{E~{nB0;tM~}CK>-F7TpnZm3 zf?U=>h~vma=0^R+5{30z%@qq_8+hGf?qV9}^4Hc1kSLb}kDRd88WM^$KW@Q+S0zrR z0YfV^4zkr|pJL(cT9re>Hj)G(?>gc_u{QALZ~J1J-KY&ytDa{~4-l}`a)KBc+dXF* zbS1$v=4;4daStSEZUa zvI)(0Rzo!qdRqEt(0BWx-T5F9BFv3MtM1)2ZWFzSbj^4@2ms;&Bs98OUo() zyTZINuK+6)i7v7pGAI9@0}D@!2n&bfq&5lu%(=#lwED=T8q8gWVB)+zUbyx)@uZv- zHKEJf`TeR|SI*$4wpYGkKQ5p1SBd_sh)o zb56ekiq1L9HT-cQMrrmw86I9?7|T>grZpZEG?sC8&%eZ*QJ4uFQ@UPrv%HgC)tRs4 zIlXW(cm}NUuGUs2JVpK81txHnvwTU=a>zp(Ath&AJeHa)-9cf=mzMYlU64`58*{|5BYd$3n=P^zn@JgzEyw#@ZJldg_rVj+ja%JZ@F?Ev zBkMkc+g)sowX{#ODt1K(j8ZfABhw}2w|-wE&>0>`T6xm9z^Aqo0)$LyW;N*t#E4VC z$(&kDXsk}yP5ZUcr&_aVCbhuzH=#hL6uHTyAYGz*m?v6iFp!Sza7quZg7VQ(ehIc$iwUT z*7qW}2@9DZ-atJX7H9YU*c)qo5p3g@w|n4+)+p-Wbr}wihT%@aR$B{8&8q8n(5A@F zjw2VvKe{5G+b3Ts^|S~-S{vni9FnsT_sk76dZ&tZUYfv9IkRDlyT~HQON@Tw%D1J9 zdmJt$fBDJf!j&GzSB+&fo6b@6q&P`9@pzZqaknUPN4ye_T&sENQxoW+K#5GOWoIdo z$3A#h)_2fWr^xe4XQX4c(L7+GOsZ{nP@YjjLmW@GiBc?W9>CeF4I7gV_C|$u1LnuD z;S`Pf@!NKT$0#&NYF5Y+ACu7TMLWWRYCEb(a~W5MFUuy>OIgA{R;)NghpmMM49G37 zZ+%mtx>Gmp;~u@2Ki8)y-m;Ii;VZ4*(IViOf2KCQ3A6Uc@l5#>n++DuRtXX6iB0Rh zg6K%aBc-GLayToVn`XIf25I*y;2#fx^SEwhK02%s$RKOX2pmNnvQ!PywCo*=h8N~s zSk*hv`w=>A&p4+5K!uQdjq0v0EM=?Z+brW}=@Y!Yp2h8YvUxdT)~@mbYvgH4b-50m zO#tC|>sY1bK7dP1z8#o+liBfRXYmEs3?#{$Fzeu3c#eGqw+`4yHfxhaPW%zpzh1px z=YM8OzF+ZpyJ4-Z1NjK~$r?gXC9HVC#In2(EC^9057o0dIw><=*E z9*bU+aW?7IFtFz5`6g5@U|n<~WNIS~)H+S-h*qpr{6XkX(JrD_L( z|8P`!L08%HQ>X}4W-UYeAuxSO6M4&pvY7RXY(UY6ZRjY>e4|-JGMl_afyV{aoZ__x z+3l}G4>YdR>M3qiYuu&_dp>Ty=4e27-hQ-Ah!GpOYnaCMN-znQy^p0VM_s7hi*_v} zsNUy|c3tReKP5JbLflB_Xg=`Nlf;3)sn!gaRsM?60ojO7@z|qo=&2Ws_4CDe9lEqr zlJb`=Z$b628gp1#?To-?zKU=2>5O9NAnVzrM!P6#4=FV675?wV%_Um&X%1Ih40uec zU2Py_XFSuZ{f0f6D=`B|AYOYK(7%vPYN9i>^4)(s)Jhg+W*f-Uw71hofa^<3PaQ@C zx8=i+wI@7JH`=oOXZW!;v3|&h5K?egL^))`-CMR$x4+V*(-3BjdwUVa7*2;eJl`5p zq1Jtx`Qn=Tt4|`$EAth5Pl=Q{-)GEh@04py+a9md*nhaOM2)qETK^GiM0}D?_%iF;dW{G`GiYGSjG#<*_^tgiA`IHq*u87)OHgIp6D^$D_ zOsw(>Q0;zQ<((Op$vbm5a*kzq@n9;LSRd@X(;)nUTdpIm`3)hg%~JWZC?&_xfTH|a z;oAjWsmOzR*9o7gt~TeLiRRGhnt@++W;>4o|04`FE7={g9 zpqz7s2Z&T34WP?_i=aX}&ofU+&D2Er4Fxmwi+qHh(2qH;RX|I9%Ln|*H3DfdNL;7F@WVke z1#PLtb!oS#yVcgh$5xT*{Y|D-vDfxy{P?+h&u;<6&6dAEIeYJQpE*nHadOt8 z9f|yOZh}Hu81V3;;8qK>g{^jlMwjkrp@xdPf2Rq$lX;choRkrDVNDfRQESt?l#>eF zqWLydea-M+KYmFv5y{WVd!n4>V$bsX({5re`a+kSW`SmNG(GkeD-7K6mw+t!c{|k_ zYH~E@bs_4OC<*K=H=;L#H)(!0Y-YUuwMdwCGP9W>+vqNNut?f=`te}=ZdzG0l(EqOoWFy77*xjv@!5X>V8^k8zC?MWxQld&*;TH*!~JZ#QL#i`(SNBQsWW zZTDU3XFKd`EZn_#%j-%kKzQ1El044~)#%V$NK_Y{fA&=j*d;wEjw;Q1Z~aAOQb(Q9 zZZkjl;#>jxyxRL`%Mz1;J7+UL@yfx>o56~UhPCJeNzcRsInCTKZsV%2uOw8rr5t~4 zP~jtptZ+zx&L6TgUKi4}L&b+yYcL`3T6zW_4>Kv!X|v`KL6{)2&>?_q&Ub#TYGs@F za}67?F2bm81E*h)_N@xSXpPB5*vt zjr8f)f0-x1w*(^y?@ziobeIVca_g-o?MvBE&nhgXRSY76!{8SSIfQHMN6$-aRl4~S zxy7e-_Kusig&ur9S*k;S&N&KA(^&ch&8)zC5<-b^(X;)cLNtV!Av%6uAarXv3#xY? zH5yQ)ey|&z%}l2wl+gBQgfwPqC5&rlv~Yt=_;2aKrzgs>jVsS*y0mVCyl2Y{7dznTkXpiG!)i~g`f}#txGY%yc zry`BLo6*^A3c>3%<4KGWF3Z*K&covAKfF-qdXNvDRG*u{vs~-d=TwCE=L$T2UL!)b z!Vr&r3A95rN(ut_Vr@;zI_f9O4_4pf1FT7#>(Cv48nvUU>djUY<8$ep}) zv{xGJF?Pk=p3XLS+7G>qI_hujIx^Qss?*o#uH{TL6f*j@StZ##EMDI(3NEbis!ngo zGsyRKY;ZX!E0Wm#@*IAqEFY1ExNnPK8wzc``KMdk!N3@B?mk*)oq6;GtJthOt@}>1 z{zO|sDt`{-h0}yf83-gAoi?^mBa!7=zbmkN8a(R*3}t%qOSsr`ssBo$Gzw#CLte?7sUbGQ>?l(fbVh2~M=O?VX4C=q+ ztIHHP%2?JbJf#=5Zl6&t1i zUiujPRUXsheri~|Rqz%QY{ZmqThNO`OIY8AqRtofdqCD9wZ845wW{ZWoZjUtI-X`z zVzklj1I!35ocy(ur$)XQ5hOTf&wq(EnlDB%fzivC9W@7nN~F!OzA(<1jujI>p@N}u7@f()4O6{nHi3v_7R?B z-M3t|jD}z?ihb48Jo0!mR`SzlKd~lPs;ObLlN80+vx1GiEOgD@aAdH z!BK_rZ6j+lXW=&iJA1yrecq?qTiF&an31)4?i4J&EzZL6QVAB=;0YO2X(yz8WiLU| z(Omg@tb#!2LH&8hwM7{j`H6c1MP07b{EDbJnJ`v>*}q=iS;(S(*E0e^|WqpK|Dow?(m)gV;Cb?eOkh-HG+k z^cAO9e>>x>v=GJj@-Qr-C;g6yjA*BJOGy#jz!$W6M5%BKTLi~$wcZEtV?%VY&C0rs z#pbX{zuRZOi*Yrp{{(5*1>$=dK5{x#3VLd}oOzi(f~K2NZe3f5oOW=G9NBzerX#QB zbiSu77x-0*!lDQFxr(O<0s-^SC=6t_-&c6mxfkVzCp50agC=&biukXV6cpTAFPKwRa(r4ggD ztZUZy-iiKf8`E@dxwZqUuAfAfEGbz_S2+bKRLu6_OeAX&bwZ|~{T{|TcO+f!000mH z+@sPJW?%Z_Rg8#YccSG>L#S5sOC5f}aS?f$2_5+wJs4DRe~Y-9w!wm!t%^mshuGw*iPZ0)PW$rT}a1L21nI-&{j6V+hh6=8s8wGLc7Qv2`;+ zCEGwsM&csdn^k%e2T-s~gNh_byL2-7rzXJfU3zlA^%r#R1DV{_o4#nYEeC{s;b85ge(qJLqFmJU3h9Uvqi5}iNmy*(xS-X#Sn1JlI z-U5)z@mK%=EiY>n0EX^9Gp18AyMJ|O_Tr%K5h?p@0a5xJGe2XQ-oVtvFYj9T4%#P* zf-C@PgS*C~+(#Zj%01W-m`@gE&QS^oY-+V4^>ZQN?WpLqd{xHSQzrM);rM{SJL3Or zFLqKb!qwjwv@%){-)-joSv)pyhhcg#+gIMn*nRwB>+n+oV5^HY?%wSHraBJ2zwN=k zm*5qDB0&yfmGXS0EyfTG7yk9-)9y9`NQ2jzUMT&}v&BsaEBV^;u2@c42^ul1YvQ`3 zTDD`KO;(DfP7Wh)%0Knlzods1D%UI8sA`-HZ6-P^L++h~O?*!QztgUso{_4V8&^_P zbLR9LdjBC!+{LrJ`M`2*_~dMNP!!}po*OJ`CRkdb%#ABV1Qk1`{{pVSd^59Wy?xiA z9tb(rck#cEg6*rNR<;Oaf7ijAb-bLT2q;|ggi90hk|YjT$%{bGM~kv`#<44I;r(xx zT~q#9*#iuY@a)o6JYGy%kawusJeq;1sM%EmsR`?lGr8SA|NCd8VlIR-9N2mnF9qaf zrRw@EV60@^ctGsGpi}@^n;-$f^n6Dab8}5%;9#&!i_|PYPzVE2i`0jT{o+{*uDq4O zHv@O&EEm44(O+*@e&WFrWYAf`oIu%4j=3cAC|-)T966W+bQc;pW5%JGXX#*|mZ26a zQ^+58g-=XVu&mm!D|u}=coL4^ZaxkNsRJ@#^}Qb_1`;C`L^#_aQDmGe+xo27Q=nK;dOf z+;b}_V_9vBzd$*gG-!ycSqp$_6zn)XL_X~hnvZ-ehJt=1$HK~S^+0o99U1)U5-+$ z!IN8EiWlCYT7w_XP^aIk9cqwrxyo+ngjPwrx!`nb@{%^Te4L6XW@OfA^1g>Q>zsU0rLV zUvyVjcdfN|w5qZU57#Ktl0OmhS1O7q9e-os;xSS>c0N4Vl z?EeSB-PL8p!D?p-&;J8Z)?!Lx|3xMue3(N2hv8ggb=|?h&^`V)z;~@ke89k-bmSz( zG<}RN4WWxPrEr83udlDs9Y!D|2Ovh?t_DZ1ubl?4u`n(vF%d9P9VE}MuV+8|oV~0& z{PuQwyq~Xxcg^P(ru=SpJ23X9KToE!IXL*-_SVSM)SxiIr9{zaT>zMLE_{oKbPzE? zJtUJ8SX z?pBcZuEqobgg_8kAC{35sA*=)OPJ=G9#4kUx~)O%0rEJq)3VFMPD3NXL0t)7i;;P99T81uJl?}l>veiB0<{KY%DA%T5b*$0E zwL<n*5*rmM)kCy-# zG_U#Y>RUgB<1XZsRc6H0Kq#WudPNpO&Gr4sqU8EJD)iAFU~IFquEwZ=zv^HSY#*ES zXpt)%zMe@6_mPSf!nl(Iqm(NaW{UJ7OUTFeN^y1?eL?6AsfGOD+{Twjs1}4pBW_8e zbzlxQb*7JH0};hVjOSG1PYOUKr7)*g7ABDQ+WLc3`|7V&ifa#Y{KWlkT|!FW zNiF^YWIm4O*vN!nzd;`QR>~dXPFCC8@j*Q_ao3~|qf;!cCI)TNb zlFYc+Kl<$L6@V!?ZxTE`D*T2l3q9nk@QXack8 z+WfhheQr?H&lXx+(~xfOFk*D8xF^T6r^H0%{Nt37^5c_^V92>7jp=_)K+)&RkfNUC zR@_kFTxzhK$%qPh&co&M;+nSp9dalDU`1&CdXS4oH{g#y#(WD_`7+D}9Re;N-;q+-y zJ+Tn_`@M^wJ2lT<7{U8YD|wp1l`>xI2>R5!!Kq2Hqb8QKPERXFm{-%wL0n%sqjb$7 zWqyg~?S%TYoF%l)*4p8PTV=be)*txRyU@kA7RapLkoMYovg_Bp%wR0P*(aZ~e|QHMzzv4HdtyN(P0 zU>6rzB+!6>uik0ICQH9Bmr=!E1RCEsXtc#E_0s3BWXDm}cWF0{T0`-H+0aG^jCu#uGcJ~+H&U53eO^S&HmY2~ zpTwJ?_)~1@(tz{(nQPMo*FcZabd zb zsgMY!BD~v#7I(6K5P$e~ZV&M{m1B8_{eCx!7I=Av5>+`ymQWhX(cWRC< z9i@+#9`p>@5ry*woVk$rpVAOR-aQHn} z#WVKf;|NRVby_gcCV_mID zlRQAW!eaOBCYa0CL}22ZX!cZQTH@Tcin5~yL(G^t>ETx8fNIge!;n9KWM=117#~)Q zM!ycR(4B*`SF)U%;~s)d#LJ(4L1FeP^j7V-35jTPOVB3Mvlx{9sMdDqbQ2ORo}ei~ zv>Mh?v@EeVY2{TQ45bcF*-H`?usl41{13%^Z$~FwB-btYwr?@~ecrd?I?9ao zx(AUD@9b}Y8q@uw+^*FsQa-$oO&8j^i!}axPP6JtEIxq>j;xrHbi(D!kocTOZu0lO zl$ayEe!!Bv=Ut$n*e@!R{XBEL3HHi`=i~U(uC+Hl|2*`4MY)Xw%*CL#J{m)$(Djk9 zdLeq=9jkAjt84njcNuuUD?pHg0_|cpJUkRDRJn%bTkxof#NUvyGI>O9ZDqSM>UjUC z`z~LY`ZTzr{FdKPXyB%LcpGL+E|!N>1kw!Qo!0LU#V5 z4;0%nf%SV25-Ib#igAOTR^|SxZ`m{k=C{cUzc?5BheWSS;ta)!=}?GK8-<2NXZCb= zUl?25pq44f_KX1mI5!K|G zeoK}m*GQwc!Z0J@8Jp+ezYEb?!_^H)FFJ0@Fiz&~(oG+3gJ!SrS62+pl{Z$54LSMKI1AR>-~hm}IBcW7C+kx}OM*fiF=fZn)`qImB|^q^4ih zU@}lCO~*r1{gEw2M034gF6Nfw;3_(9*Z0>qi}trZbdUu)Qn|vfixu(IGV`LxsE^zn zs=oQVZ%Pq~#*}s9U7zkC{7R+t9iiahK7yhKm+?Y0@C!nO`Wk~zkg=)T(;}e{%3STc zivy>B8}>?wE#CFC_5RRlQdT2)I*^Ig5JD-g5e?}8#%6F$)V;ktfP$~w_Qz}DrWn{& z)KI@c$nLv?4Km?kfv+S29$fALFfo9|-Ks8a>-LVR9pu8-Y;=4ERTxb!n&>V<9XA_h zdlYChA6?7w{zdLBPN2|c0L~N$*)nR#bP4B*x5a3&l1h`6klgxWnV4^Ko&KwJ)U;ch zC`6NGj1@Q`v15TOhkd}scJ@P&zzKOg;7(#kNf1sBA8H$Rv(47qn~aSd$@3jL|q9;FS8`L4Y>U`Zt+1^V~@WSc~cSn zwB77xixkS6*o$MKtzrg0QxL6W8QbSCot3);2!apvRd$3z< z)xBJ47dy`KQ@Zsp)JyINvT#vRU0o6;W?&g&x@1ATGN+V+kVRX~uTz^EX-jc`7d?X- zv2?cS_gkT7`5`trdO2`g0;RaF7AF-HAZp1pVh&w~Tbt}B181Ks>CB|dkO9w2; zC-{**gyKLdB2ndE^j)|xOHuio$OQ*P(YL;8}P`kT&(4Ce96yg90J*jf+TZsTsP&wmq&(Nj?d%eSmi6t(7K$0FypI;B19o)H&y7< z#ZYXQ?jO{UPKWqsEbSR{wrx%#DLNypa_cO=gBNXyW$sZ?iI^1 zKX4huij<0+=w%s(>z7tw`bPBW`aqEwn0l&W5dz_{e&!_13;vm^tg)Y%n0K39FKKPA z!?EqBqh6g`2rj(+D!ga=`+WnOkUlhzH!Mru2f|!J{?N1dReP3i+5|%t+1J$3ae}w) z+9@L}K*!D3_;01#wD!ot2^R7(kY`>vd0afw3Jm%uH z*`(O#8j@?#5Ol||ytWFPRTneKGT%wJEEAo+{(F|Ved9OB)(=+mjs_)~%gmZS&Z`$v zd-*uLIh$4=>`gKa=NtM9lUd)gcj9}>=@OE-94Been#rOttTLFyD9f-cAP-hp(01=< zBe6SG28x0RVyarU8E*e&64sMn_{^)K4hBB>bEFJut>kr8G6apveEE}PM(A%~exLk_ zsdOWzXeTB~X|{i3$nYK^n+A5#v!^`dbkHbOc?}T1Q_PtBF83J zd(ddDc8AEMOORAwpO^?##0^BT%~%u<60_U%j9$%=5jXo&CBwPf-FB$W8#|DV*z-7n zm`96uHO6I+HLQnFy1x(R^L8xd%Vuqm1rez;IiBoE%VM$9M_4;jvIL3@7j|a7O)gHk z$4+q#zmYXYvZ69(xRGiYrx_?MWAcB?+?LhTe23I~AW@ST!PViH^sDhsj{WZP9QrdV z7p#os?Mjy9-pGTDI)TACfzn!q#_CEKT`U@)iSAc#ofw>}@2dH`#ji05mz;3*X3ap( z7(uB@AYvsAX1?B7pt#00vG{SbPb};5GpvTSk@BB}4{g|6p2MZBa~@b1-UG;Cd>Z5D zRGad)#!r$RcvF>>=Q`xB4@YytuMb9jG-xi)irgJeo5;_F4Tr8%T-`t!?T$WzOW)s^ zEK7C9u9pvGZG>b2-#HAiH-GJ%8V1zzYJZ4*H0+!=L`icJ^77@WRq6P}A+f|3xmw7~U#P z4yXpP!^Fu3MhFC3G%Pl^w=zAPA7O7}UcYNXaEWOE1yYGgb-M3A5UNBW+iXT3!W|&RbefnE=^*Zj6{2f1(&fTwr@2~#l$0hm& zqkDyTs0|My$V;`O-#_fdaH}z~ySCp29}W@~Y0JQUyd@OS{kXxk>2{$tppzA=hD(Q2 zIQu6C!?n+LPrey@3Q-~%lpJ^d>u)Q@t-f^^h{Fgx;Fz_dN>k1yH6N5d9JmQ!oV7hw)*1(ezt`3HzM&tBy6?TfP18|`a*6W z{92c8)X82lrOZ4)$aLbTZ4lYQeA9DgE3Oq`SKv@RKT7r#C`jYjjB4l%c+-|@@z*WM z6h1}O56t&dDbgd8P_Z5mkzjxQ-N!%KkX%8IB^PnN3J7a<$Mc+%AdC5^w(K4_mRIzoQ<#grJ>L8 zP1&9yHg&yN`X_Gq9u&FW@%C!a1S;OWd3hn}z<5A@CfU`r6MQYPjWWo($NjLo3GX`( zsP7X3aHK6gZ??&Wb?f(Y!E&Y5qNS>A^LmX?f<~FxNq}>h9Ar_QRD8*TID&-S-Y(?4 zwK%YlsLn~3fus>bAf^@og=P$1c7x$kGft1!zSfI`aTxy@eYuJ2bU-pcB5&t{gvaknP)0ggdklu~@CV-}-I z@S-;sppOf?4JpBa~gW7?|$F&-G##;#i@nwC7Ux~l~_UbYxoqo()UC`psYdtHk z0ZUdLTVw#1`vv#DlDcF(nri$TLbdjCTimFq&OwrwvNi$5jS0Vk22_mW zsL>Vz&Y>&Uo`R~k@d|dt)CtK~`rRJxrW~lq>6T6k-3of1-JNUCzQ>KuTd2)=?1$$= z)?gW-G~HhLaR(-K^F{i1oH4lf?6dy8_}_DLcFRrYcWYI7oOFMW>VZcpql*O<=rpU0 zIFt{LAEaS_VkeG1rlbR$i{5WcMh<@(l4z(H4u4-x&&%xvu$)B8l*Sb*bQS(hc4%S) zx&N+l30483b4_X^>)}lGMgxcY1-+<1svEPN$cqDdN(h_ypI*ihjxThIS|inzlDQpd zPFdP6R3Oj7D}!R}W$twJMqw7+CYU@x%0gZM&L7cNI3f2GxsUhksUy_5gDD?clr?`L zwSuwVOKYP9(TQ8im?c8_j#T%qbAy0JQwyk}$2XIspF1*v1hqb2r9#JlAPFY#ba+?+ z#AMo{;J#??l3L@DnyRb)!~yUp2Eu%fBr5&W85oe?3hnZ|z9ClXR`0V!i-4inW86PA zhVWNe-041>v7&nA^za?ube`a#i@hq<_D*F>(=0B_Hr6+y~bjpsk+PY3lx9F9ZFh?je% ztecrh?^oht8Y)JlgcNuL2d{#D$f-)@b8llbYP8d)>?JwM2s7}n=4Yef!Rxe;yI_M@q@ z`#vKPShFOgpa2>4xy7R4SjnU1D9(%sd4R#k!wp6ny}nA`U~BhR7Qa*?iZDj}I9gqO z?AA2{M`Dxb*YfhSHPrT_pkl<3>r2O=XPQTqEqj)KM=jFzU-yoA!HkrGVSpD3HC*7hP|^L>Q;(^SSR*xB$C08pQgKsUHt2 z*>I0s*n-R}d2pxc?9Zq8DxdYefA(y#hG4=e|8Kt zzU9SWf0u88NFLV4y8_L4aU`eAjoSV4_x^Bs7s#mtj~w>oI4iMH5U?3#cVGtCSxj&5 zdJzL31b|sFJC~v`6Db@^+)jC9wkW9wRzESMdhxb6ZA!j8S7Tf(ujOa(d>P}po50;Q zE5{#P(z_yZv#8c%4!`` zAs-O}Rg8L-uR{s4jBl_~o7cjWe|5il>WEFIud%jjD6ZBFGbhg3zn%N{u^u>271n+h zVQetyT6d-7IqJq&pmHicQxZi_@ojs!GZZ#G#K_EYf06p-EX{S3dd%9|e0N0@EhXI< zsNGW3OIpB<%6%;FIzsa7()exfCpO$Xy~7W6fI-2exyDe(3)f?P9Vc& za+4cfJA%inaR0P^H<;)kT`N7Qsi!c(388#%s?QXFeBBEG@I&s~r2U^LbtwZX=4pEyu>!QZ?;4+ggpZaaVvHmA&jdMcqvO2}s&1XyN9%}zj z=pu!NT87Douz8F5PvfG6cnuCh_W%}E+y0->l>`AHKTj7_UibeX5&*5(DePoU#Q%lT zkrqMyzcf+w4Ulu%c-#K3+2B>pLrDTn6$&$0ki6b8a=fz!6x&y!yXby|HQ@`(-o~bc z#~2SR0o3l?tq&1_#U39dKhpnC1N1=yBWtVEmmbYi-Ae<_*PTqVJn%$eDirSK5{F1j zqg3i^N$0DwFqyP{nC-8{0{Ei8IX`JX*gFp{0nv zzld8Z4V}()1JTDo#f+-KWZl%Xzicza#gAR&l6rMJ2(%u@;^1udP9##**=(apF>X9N zW-AFpWbo`L;p@4dy>U1Ec)Ns3b{kpBP=7+>9KWkr!k+~GP?)shgm1+I@}z1xCR=|S z(iMKU>6I!j+gHPP$4;$5+ zJY2Ke?V7q@_WrOo1REqe8W`cHGen3Cg~=nEaOw8^MwC6tx3#xC9(6SJ;C4to)YDF* z_?yNSh-}<02BTymK#%Pt6IG#JY3AnDzZ*~Mv2bX;bvw%uzi3x#qTl>T zqCSqDGC)1?`<>aLz!QEq-HeGJLXGOMy^Od-=AdXxNIh%;N3s-n%9SicpZPd_j?Q_X z^I0BFP_^=VQH^@v-J`_qex?B}MA=;>H-XVgity#Puy8|g-e!9q9ka;aH?;VQizMIs z&tWe1gS=5UotZ^A5byp2-~AYQ+`Z^-6|)^PmO{jNZnq5kUeFu!`{pvO*iGom7k@{v zb>71~^+jJa_Zat$ll%Cd%=pbW`D=b?9|7-!fO|eb4&QZqzBflOK-DvK)FH`TA_@CA zf^F((V=p75l&BPXQLxce_qA7F2%~l3V!TS@LBczB!3k+H=xJKr#}PZy^{5*l`u{zvCAeOR7`d zFs2`pPc`Yo@0X18wmVD3<=ctK5eLJ^c(i&vU-hz3`3lnE)W{x_=Bn88)QW`X92xbl z4PvE-lbC!mc2k@8ByaZNM}qftN8PLwL0womqDY!w;+%@yU=J<2pd0;lIFNAN%vs!} zyPe+0mT%$>-%aRk|?pt&`wCg#4($xRZ*tQm9BjZp6dG z`9+4>xYlh5e7^d#-SQN&Q+pYf< zA>LWc6E>Tle2JepJ>O$yHnys=)cHH>N$%#op*}H!97gzvS#Z#`QHmm6a_zOGTjZWD z%So@Y-u}D=G-Feykf-uOHhx1YcDPQE$_#+}E%QYAh`hR2s=U33+7Em;=`KOAe36M) zC7bEEwgm!OoWVXG&l*8@RW4ftNFwB|2(0c0R@saV^5o1)P4dhQXQnOWBfJ!0xdl_~ z?eSJz+k=k@=dsDIvHoQ|y0#{&YWLfsZ%e#@pXRUs;zr%(25g#}_lk?T>I}q<1b<}+ z?sag>@{33LRPfR#J->TZGL4v8JLr|9z3LEO>o6$hVFEd$PG=#jrp`FGjvfv#Cd69UO1*#pz!H>1uXjSN`JlhIyaXSDg!2Y!Bu6Kqdf}Zv7AF|Vzsyu!3hQi$|4Cg1QDxazQ-R4 zh_bt(fq9>seOX}PH#B}dM<2!D>+x*?(YuU|^~sIcyy}9oqET|8dtZU|wMeX&^(JPC zwO>TU7V%XBf;3W^-%~iX-IhfudF6E75f5Uv*G~!``b$kc2j6WdcE=elz6xJo+ju@Y z9x;9<&_Zp9v{+s=PCV;b^{TQ-j45kQ!e*(8tP*4dzqgAd@LgZ zq=ShBu45xqoI1bxi`{T(S03iCqrInt2Uz4vkgw2EW%;tj;UuZtsXFb%`m$uJQ>GYh zgqo8>B#b?E>|iQ01B){q3!$C_@*u1`DgM*v`;YYbbf%dk5BlaxhN5gkX!X51Vp$IM zU~vMP8{@@4zZ}91Yp{gt?YFct1fD7hS4Yvj*^+n{VOufrRpT5kM*TogY{1YuT;L~$#c_7Zj_nLadd+9_u-)_c~SScF9Py;&Hghm zbv3Im0VcXhNT-Z+ZJUC6A6s9)wab*e@6eWj`xTmu@1cu4Zx1-lB5fUC1g(+Fd9_Y$ zMa>W^+va>iFteC-HC;M|++kZ-Z@VwEKKU+o(d)_b;g}vP%NIk+8cM?EQ@|-@?LP4J zW9SNdutP?E7@mabEnI|&-RlYNdnl?OtMDN;fn4#1<$tGk#{)|j$QpV=q|7c&A0ZM9 z>ALaIbKXFmpQX9@2n}9oP$CA)FfIIQB)jnu-%x_@qD|N1sIU&8>vLoaPRk9Dq_?4 z>K~SN%@XlZ(#LRm+A|rSG4-JGC%g%=p~LxVUeB^fc;&CALtTAocd)MCpoeC`(a9)T(jUG<3R|tWal-NORUF{ME1PNAkLltCuc4e z5yH>#SS?5R5n3X@n|CORo!(NX(O|$5nUHt?ZN1l$K3zTw&8F_fNf?Yud5zmY;jEJ> z_E1XEzV|E4*BRdZ=AnViFW?zYJHImmD)yGl#3i(^H+1*idbgHv%KvxYf~F0cqzdrc z)USu)>Uypt1mpcRm@DLhllONhE+S}h&WHw4$jWCNwwTlJ?s8@UZvA6TmIT7Pjy{?A zD91L_DND7VxYHzQ#Sg1fxw!nPHjxmgENq8L9qpcFxNY@&8!mUIHDj=TFGap?aJ#Rb z(IsrKqvkvafq$o4A|y!MY{sXh(j<#Xn?G2$cfSR(a@hDYd?-Q|&sedU z)@>X>+GdYBb^MC*Xo~rt`hqr7P`)Au9cBlyae&#NN^5TE7!R-)gp(eW-@IknjNT(_ zN!%eufUA2e)Pc{EOzFCJ)&^6S(@)7hjs&W_qA5zTF-JNw4zphlY`y7Z=aQ*XlEUZe z3c$hPITdTJ3^6okL}7ZPmM}z_(9)!Jg+c0`K#SD?K7bcri(?v%6;!O?e5u&REUbef zArCpEMn+_09bXUMkfCNm3~E4V-Mb7BIEfc9ezb%?f$0B% zB38m(tCclUSWoC1b&Ar(ptoBqpK1}z7g5|lsaV=0s9Q_iqPf}cMbg>qJFH9)CO?eY zjn-y6SY3`JqSstNot7V-AN=-$lz(jeJ5kJiwfJH9h~&QBre%pTFskDW5!*%GNA|V1YEv?;C#p@qkX0dpVF3WBJ z#c({L@TR;MZj>+f%XD$RFk<>VMWvF`$f9gAbowioCvu-kBRt}Q;do+_Au_b*Kekp; zITU5*Q6$M2_!+4QE;I)#@j332yw&DIKzsSDQWddKkq)$o*rc&halZt_iS6^vSrZH; zl-Zp9Na;*kE$+U#sF-E^VHIQj@<7T2ZV8UTfYCR~6@?kY>_0=9d%t=a;B(B;GorH9 z(l7+y=xiXb96qHW=CyN=t@{`u!d5EVkl2a%!VBaab+JTW9EHd@)~$AHYPi4*s!tI2 z2m1Dv?BAizwa``KFXnA1vo9-&$X|^t_d1B6pHkGU`JtgcsbSQLzn*7kX+EANG(&h* zphix*bT3K;#v5t2NpM2@Ic&+|S1~4eM?oWO{4-U6p4*ufX^1^iRZ1>DHFw#62g72l zRMaj{dEi1lv*cBiypT%1*$7CYvj~Jn=pG%DzSIXmDWqrDcEf>|Nt+Loty5k!$a6S! zUW8b5+7lzfHZcNkUG#b~Xged*t17O%mk!*Z|H@O22HN!&nC3f!gyIGJ|6R}mt0_JE zpYXTG==*qe-HfssE57UJk3c3ie>2tWf33-JBQ#ehg48&2fK|8LQOajv0_KnrX|WpG z9n^4lvjoY}{lbrDrd_8zqW3{?`=HMutIFQnDzBWjNmYq>kKfYSraNN`FhOX{l;hWIZ~HX0VoKWb3$^sR7PnRHyam63I;5$Ej2FuBY#&j9;rhjK3>K*hhTO+_B`7$iClft1$PA6n)b@F=vC#*#22jKQ0xa64^Zf*fSK7@ z2+A+A?cXP)yG->nTPUpM=CoRxz(k)o*0+)u(EL+^x3ayK7_~`DNj97ezX6i8FLD9P zXjv3f5{^S?-R8%TI16ZP6&Ip+Vp3pYIEOxcQ&3T-_>C%iM#EM6SnL+?CH9uK7Lp&3ZSYra1I$9U+59jPHn5 zL68rPFL^s3HR8r4&3$UJ%n3=%*EH*3K^=1=n!oc!Axn90R5>1IhIdhjedH%r&>LR( zXqx=7h_i8$3EWutU{_9J>G855AdZ~1LeS!IJ3b(f>y_^Y{|0i-@w=dvIX^)LE?r`~ zj+vLlH9ve2a*4kYM?AsaSHc~zm=zqBf6_Mmy-{1AS(EZFXVNSq&(FETX&dxLE8^IG zr2RpJtL467clCZr>c3~*P3u0(pkXn65Pv_S=4mk$K4Zbgzat!}8QBHG=YvYUK5vCR z{lmWgbR{k4p8>~`@OU{gue&*b_5|ixv6yG9wH8oOxW4Iw0}1sje-$frW=k_xjz{9!t^WT zkv+227QJzaVF*YPN0Go_Z170&$`sPgJ;IfKf>-yks0h0xqZS7G7}o6EaScg2HY2bQ zh{-xM`)G9>{6OZ5X|gP{jUS%oK3nd`O~6QvV=)^`1b!PGQ)F|HC?j6U>-4G=$c81Z zy-&Ma#Dn#%oUABJ!Vh=krGf}SZo4$J-=&+E2rEW}M&XG3rL&w#*WC@Ej-ARE%LcQ< z4X6!S)>l;wJwQukw9dLo-qQwYK0eN2i=v^LTn`vz;F9ESYES14%DtC4}^jd4yD%yN}bW?8I^iEbS; zm1h~;M@SU(SzysH+0N@UWh;Igx#~JO+dLKxN9c(dPOJ zx%RL2(6AC|63W`{{h}Lsh#1kVq^mDRTWaenW4h`8W4~!3pi#kBiV#f7Y%>0@k3$tn zZ|i^k8~-_Q|L1Tywpslj@7;x_8ZvwRwzkOd-!kCRqHvvH+6h)l|53q>1mIL>m$iXR zJ^!U)n*7)I@&6_L|8pb8lY2G9@ghyOkdv=uBj_3wXd?n+j)tiTC=vJ8W7@@|e)ArT zyN)zi3P9`|!D;s$0>>gaTzMNoc(aiCzkDibce(C(!(Krg-W%-5F2a=ckXa9InVG6x z7r~&se@cpZraEhwW@p2DyVmbT>wS(n*v8hx+oqQstKfB{u1Apmwkl=qY^M+m>t@Lx=c}fwo z{W}T25!+RW3kD=lL3pu8u^kZQEOafvS4xRL_58pye)iw5rgz9ry0A&NZo6CJO+}xA zK#iDAm-C?|)0nP^SWlCg?CMV%lp*%w|Za7Kbej;4@NCi`hzXNtiZl!N93>6wco?nh0P?I?UmAZ{{)_MhVHw*R!U z8*tCl4+Ko_KS>5162cl>Fvny*=k90NJvXTNkR0hv317oa`Ip2xP-?Wb{$?`KlPJPy zDW{A!g|&lM9p+|aHu{`~;#K1`8<bsYJTF~w)4RxDe>I(Y>I3S_N;7Vg z>T^3}Dl1LOVfnj%gyrw>U!?5KCv{wunce+btn{LLwFOaUC$?HZz4ErI@!4v3l)h#J ziUoWNh^U{E23T*TOk(uT(C(EsF|!kDTfzN2 zMcO#CbzJ-(VKy7^=ZM~}=Gkiez!NY8GY$ilB%$5L4(dcQB$X(y+kt!AtU>QAj`#I? zs+VFn`S`;s_bYVW)zJPS`Sh_MOgf5}95gG|{slhR!SVFi$8cOe@Id9EuRr&f?Oa7C zUq5xu#nOuLr$4QA>mSn0mOqqRswkH@3dM)p32z_PBiJ1WW8t7i@@+XL`pFtUtqdkW zn;FJci)Fn)| zK1fv1Z7P1&&vux}apTKoUi{+y-1pp2VA@ zKbval^>(8B0*38QoA!K(F1qPzHZz__oa4@l>3nD`~^LyAoo4GmpVHomRM#Wa?w2r`ekz ziWs_KCiRo9{B|*fPn*%7kB$OI?J$-@djPVrJwvrb0<^XFrJ|Q2NW>VXhMQXuBcI*4 zziu>|=1pkT)QV~m@<7kfULoCHaekTvjsI{_$KrX(MkCMlj9$Zp=I2j;nk}V@CW-&p zxe<@r%wkC4&#DeL#=ma2+n#Rp(pvA!Opcr%nhze|Kvgi?WJZfUixU8T)>?cPUb%(_ zwW(OHUP$6I|6@dATzEF5SroS0^!%%8>O5A7wqdtNYMf598og>0y}lqKz3|x>ay5PK zd=PPnRWr*^>$pgF@Log^ZD?Yhvm#AI<`vFC{SU^(FoMMrF;0WD40o@=5HxRIV@;Vj z`H3@2s3O68wc;?wV6W#x2pf(hdR90ePh#6o9d9vTkWF3hobmCEO#!yIpV8Sn(tlrJlL|@~8bNVE%^!=?TnNOLht&1%-Y~};x znYRl$`=hFji!zRbN;!WtoY#>o+H6>@jE>u`Ax-F9;PPK??}I?;E0em2V}m(w_Qy2Yc5~DB-7TWo0ZhUSqJ_p^dE4C~ zc`+BmjRNbEcHRAa`>5tu;{D9IA#`)chfCy==ILyvl*?9 zGO#%W(1K8EAKf;g4Kg>-zf27xMCKDV#oz6XtKtYXyW$8%7aLOzXQQ&f4*Tnc@gw~X zn)U~sS?M)u+b=_%gSod!Y`-J(*0Zj*OG-dBve`0{E?cSX#Sp^zEwk$(&oD+17@7(u zGO2?&O(rl=sPrO`p^ii*u`X&3M0=6hGGWvzOIS;0AH!Zq(lcK7qqDG`0w(%9(rn@a zzV?%LsTGMP*h0{I2HEN(78@}$>|iCuc(`cwOV*xc6e`diIr+X*gknvmCg>%b_8M%Z zda!<)bgxhCKhZl|TecAda0s9$GM}g^Mr8>r*}rI`6FU$&m&PsTiL%a09)mx4HgUpx~1nnul>~rU*Im%F~KEu`1)>Nhf>fo3#h4AE(7wb^C!tnG9E%afO7v8ta0% zI7H5NAc^Zp?tdR-D@wfu4vAi9bC3gQutp39A&rG$aGd0(r)IKU37KcLeRx}lOaRVa9{a5q9 z;|ioJ!9sr(JmWNpUkE5@$A-&l;M?3&XKGEs1oN6LnjVMSny}&a5H&Uucm7VszMM>E zt9i6LI8a=_DO0J0mmP4(%uA9U*m=HbyHlQyOt_sS##&%GXg&{A-)*vaA}!RE5p9sp zjUL&Uew^94iXI7_zgpx@i{=PwO6Uu$cW9~73^L)%^l{C1B z`*AO)G1@VNGXcDrOM(>1W`bmuQ^5EUIZ7HeZlOwdfsR!(g)03AWYxMNmUCh*l?5xh z=(&*W?X11AP9ZcB5?i=jPg^cuiCRK$H2}FU8rP2e;Z}S3JVJOb2q0?yhw3JC7B#fe z_Kp>}CY-2<{Dop6h*2W)rHexmp3EvUpQeKYuUbpYEI#XyS60coe=2=2%BPDea0;Jr z^Z}k$W=@dCZNwLw;h2!a(_JsL9nNGQcR~*=FH^0|6D1j)@QaL|(35oYwcT_cCy!-Z z>~^DGYA=uP6K^p<^x@?^=*_;j8IB{W!efOHcjFk+KP08&^jC{HlC*b``p)>Ct0q7 zD}{sNIqo^~eJH}~3ABzin(>d3nsL(4zdEnojN%QoM`%dszgh{zJ8~CZPRFHL)Ifmm zVM~5~f&^Ap8?cLT(>aF|h&7Dli{7+2YNb6+O##7$ha3X{Ou-`Vh6)fGuJbRpA`0@c zNqtpMm^L5l**MkEW6AtG9lvZjbIE5ycKw9l7^|z-e+p5+x!MvqIDpwMb|leiio1it zcUF`&ZRCbB5%B3IF(Wj3Lf`csW(#)3#4hyA$rK&;NUVZ^2IZPxOj;XWj8Cwl)re&) z7r)Ni0}kjPN`EA?hn@@PG_0=2s)XHZwA!e>I%Etn&@YlAwp!K41{$p2nQVq{cGHK!^(S5xkQxF=>k!4)a%Km_6vn9NSX7l^BD1mlVg-?CfFT(sIcdM{9*oxO{Q*t|4u*(;bs z7}(LoBQo}gV>pi9iSF&VDEVD@L4RW;7Qq>#>Y|zj6l(fZciSz$x(N@e7JSa9zszpW9GkAuTxG+W`KC>|S2+t^m~v5Hz+ ze4AmW!R#t0gkrc(=iL^d9&lhsVHYp!BL(lb9p_}_LQ15|F`i3Mh{BMAuju#&XLTg( zLn>tvcf5&HKx?zIMQz#!smjvV2h_X-(J0E30G{{5nDl&KZrS(5g{aosqOVB_Z>E!n zJ%iN5@t4JEpyfrF+&Q{=?(=9B89{&N<^B7M53oIboj&?MGTilEP=|hz72z7i+SxnA zJizVItnQ8r%c+g?s0nWZXz!7i{T8R?iOP%fO4NPZ{vDIW0d^`ApzQoh1F5+~bC8 z-jYt<9tmTu&F#et!>s3ZY^q4`lD8|{**;FvND)rD?AT+iv)}O(46Mt%I8(b?+UttF z=g~>1#xdFdjgw7C&7rT45)+1t@K{tHG_fPB`_jId)H1HAbC-(TL*s-DK#2N-t&Y6vCO^TRJ?&{FhJBgs0>Loy#w7OT|mMHaGCCqV*a>eS%BF z^L84}HVa0`*Z2AwJF;8U3r+dSlRz{^QdrqiBB0vQQ5U;>C7eDuTwkHc>K9DCPqK#2 z$!m`L6kP9gqw3tq?8)j@|}(8H$VTeTS%JERU_ioSHoIz7eWscdUMQ{Uh#O(J>op~zbsF_EzG07CvKmxjOEkt z;0|N!;(NTkP%g|j!YseDKZ8@q&O$S^T$l4A@1nw;X+Hyf_cAq@?e6hgnSq2`%pU zVScsOd1RQEMYgVNSO++O{$&SRjS{F~EC+%Xj5u2sh6Pd)xSS}Cw^#RDxV zUynTV^Ci4XC?qA|fMb;ca+lmjA;meG6WWC7_^ z^_c@k5%tsk$IXsX0vxb_9giiz7poy$1OotZ_Qp)=f4ngX01&75Xq##OUp$aM-_p1B zv5qVCdq30z!85V(8ErnAL*Ci&q@dlG{MaWjvC->7dm#DICBs67f*;Oi3pqA9RO{a* z8eyxU3mR>z7?}#hsQ@keeoi(@k>XuaFZyGkVt*gF>MTa^7pu*XFuo6R&{NT0CVhJk z%W}<)A9`roR+01P!j_}vaWse1j?u(sz(S4>d!NEUDZphl&W%w170{rc$zdlf28lpW zt7r8%EWfAOLGtni3v?7{ZmTo0yU^NF;IvZo^Fy||pN`;)@oO4$HM0Ju$)Sn`p%BPlFQ zJhpRRKyBW;@4{$Dsbmr(Idz2dWn&VVDjFqk)_feTXNwb{Ua)kHB9*M*##NuwHcs=w z_`uL|nB2ch6Q+#E%bb1?uPFnyHM^dy2&i=f6RFm~`{0}N5N+yUu0+sQJD10af!A)b zPPC3F#hj=4o8kxyDwxj~F zr#mx3QQt=2-v>n~mkJsuvn5H)290X`2ObaS10&dSB%Al+z`zuI`uh}`Yc-K=uSD#- zm-FcMw9Z${G=v=iqz84WnS%M!z(TOd&EgFs**8L@8Jbr%vAe;ZV zn`&fgH{mdY!t?87wPi$A?2$&l-Y&r`PDHyunvnX3%}>rH&L7rKk5h8wgqH)Fsv@*} ztFD@^IJLg_7m|rqMN-FJaUwU!2x*8Kz!P>P`?=NSq-l?+ugbJ9QUjQR`!eQt(UC@i zG}eLj5!3l*%k}ot`Er;OzE=k`azwm#;5sd)u?!xr-lu6rw!SeT6qoJ(7=`2*y|x*I zi=*0!_nEx*(Q|gY{lt#k9n+}6-Dg%=ZrU0LVB>#}LAZDr1}PfKOo5Hae6c~cQ#T4s zx0%Kw&=PUY|BwCsuhPos!uK(=jCCjt_RG9Fq9u$oYfyze1+(+5zQQmUkW!MnJ(EL= zJKbdg1em~`Cn29{4}O;FWF~xS9!dxAM&uqi%dsTuasRL``of@2HQ!5?Q~9x4vaHmg z@OzZkqHSecv|+~6^!7j;-+ag4CnowVSB=8NpPoPW<>u2llQcH)e82RERR34g>8xtgrgrdB4o`c>t8)`c{(Ka~&cRI=0`tL%cr zW^|i&AY%gv)U|CcyS$HPKX(a-fh5db173oW*iFsMRaiq z844sKt2N#UWHnA4A(UhvTl4q(PjaRnNq=iBMxrg1UBdort_eX2@TJ`EMhJ&}_!k)h z1I0DyVgnPc$HM-F@x{+TROg+oNl^#>`86$&IzwufxMzT16ps$Xbt@?rTSDM&8S zA{a81Dszr{3t>s7m7 zm{y6pMyN+6+hP4HA$DlV9J8TTMk}APIrUmZ5@yoL9O<;*>F~wE%b(`x{J0 z8Ll0$zh8~hrX-_wS=wj@kD`juF}KU#FPbU|Iv_8Z3~p;G+xd!QmkALahvox1-46e@ z+3z0|Z~5-+yn#D>TC)|q!lQd2)Y-OJ&#=IYV+BGtJDDf-O{WqRz+P*x^Jc+W5{M`?RzPH; z#KCavPXd(I_o-c%<|~O~R5EP}!oN@EjyX>Q3u{a=2X7D{f-~RMzo!{+*(6-$G^-SZ zt3E7CO=FOD0(#R>jqg?&l~Zb zYYa7?_Y=G9y5;!YB=D_yN@-VuScKe<*aOMy7--1kOjFpa}3uyd0bR#rRCX@ZFM zc7u2h(aAYsUa|M9bOcT!Jm+id&(c8m5r_3d7qf1igRLptYQ2<-tvcwp+xIu&!s(VJ zUuAYCz7ZEJ7hM*3hHRijf$35Gh4E4P}7*&G<~7Z@tuyZOSbv>eW-Rq zl&M_r2Pe^aX8`;+-C9fM^F9LNnDiGhL_F`??_tCO`?*0o!MG~%F~oeb>uiS2b-vd> zbqc@63Bb~d-H%i0{VI@m=;5?zBJo*>7=~I-+x5vjH(u(t`!-Q3;@GEiTI>X(vc>}$ zZMnD0>ce*}jtK!G`{nv_LJNn3)YDmvXaTn3lCte!LvT95r|a-Wx#AU^1G}W21eK zpUg5Dj~h8P>_X%EK~cAMEhkr*2m^hIl#l6)9vja~3`S%U9t$Qr^VSZx!@0N4^%J`H zeLx3VMg%_&u(jrEA~?Ih=cB3Pt%-Jvg*OZ3YF4vaQpksas*0YP?zz9=TaDaJ$sU6 zKH6FXU!C%DoSx&fVZ}M>K3&B`u16(UlFJIHH{oPdnQ_vS?P+A}c4>cG!=LdX#9WRK>a`_S4ss4(zQXn81KRa56Jn{rL`19)0l$*7-XfTyA$%Q*+nUoZanm!U z7SMziiV6vUfVh-aAbuUOFBQH_N;=YB$wIj_Lm5ld1L_=H*iY+v zx7Zhfrr6w2TC30omk$!_=occ0?zN>K5SMCmDqR4?I8Q)9j#fP*4c-e_Ipr9|RTbVO?1u%B_L6$6P(CN&72rbXUMn_B z*d5k$<&p}ma+>yrgTGMA#VUDR;iTmrruNVT<>(-K_XX5?EIGpO@fL-niTnt#TZen` zDEM+Gk5vfu4NzgpGr`UEl=%I*;W+mP3KPpamCXX;5ZpLzaCh#)?eQZKkIma!xDc8n z+Sy>owrlMP_7t^)^K)QHLF7!Qpa~nxwDO<+vV~^_I`$)0#o|=OSF;%dvd6b3LD&8G zqr>)1c-$)q9uDgbs|v)hzg(Y!(jm&)vEPkUQVd^wvJjgW*va!7(-@Mi+yruXCsIJ1 z=v?ig55q@nxQx_8A%m%4`RJznug*Q;n*OLv=aQ-KaL5w+#Zlgb`zh z=L6)9M{8g5<3t7NDtTMS!g3li9OD1^-HCa-?yF0@W_1$*TQm2p+#6B6gl zaM5NJLr7mee&?bTU`QiBl${y#@=rt-X4$H^;sSZ5Wf^oBO3wf2_7ROzA)(c4f@ErW z*}o&r$L)}&k+tS~UZ4J{-C^|H+RWv_adf8tvIGsoF`dlh9)>>6sj|3Ca`^TY#?#Ku5k~wz zh(~dFL6hj!P$`P$Zn<@hv!Zz-d$!_a%CWO{=KJXmm-5c@lV6|h>^$|;4zsK9W+ZbchwbV4OfyzfkBdA3&8OM7 zE4vnpP)T%p@Y6nBUzNdZPtKL1TjU=B0(=@AR!gTsd!1r|_4~6POmvKSLl48kc9s|& z>_IL#vBxV-Zj9gVMTX!ld0B_IZQL{y%4iDfj7^m~^kI?hytLj!mr0W7NJ^-NoW3UV zpl%^QCy}_)+hDbb_9Q8SE&q~v`mmiog*+ zOEil@H}G-0)o2h}J}MdbVjS}X`@NEU-c}%OytK02W~*oN9m29ca%rV=Ur0pMBv3ny z`W=}WclYcLa)Cs9n4PW&|2oVRDi7cH9C;y24Px1O7nU)L@mfVhDQ(1q+I^Gm-EbOW)4p)3S@tnICXZrj4eaCi@*WkH?4 z7~ny|lmc|#vERy?kTHl^yku{m{+#;s%XHUSJN-=}F!G&hbsSnFB-D29>)lKh>))i? zP!+xJ<@&TRNvrl$r5@u&{wF%Pij#?sb%7=y;wdr!6XdYwKM!JIM`$rs^6hkC zkk+mFUMg=+>x`2CQp2&Okj7!=(3$HspiP*LR(P~x+UxDljyDRFbS*k*C0fNcRlZzJ zYxGSqy&QO>&m9K!{#8OpTKTYew*NvYV+Aun(eOB0aD>PI;m&~ghtphk?2T)6^Kt$1 z4iM$yGQ~33_m}V-<>vtj$jqamC4}Rzf#B#XBIZDz8jy!WK^ScSm=nU7ucSeo(DG5X)TZOlueGX8VMu_(=mc@jLE<43lGY{!Gq(LYlc!pS z=uw9)NpjiJu`JK6h$+`rUZ-lzgQTX@_CNhQ5ybKO9ixJ7zoeCM$Hiw!%BlTZ;SyRK zU4PmfqFL!kWcgkUP0b&j7;<}fM$mfviCz}h==sL}iF>y(6$ZTmif2B38eQCh}z2}6;E%#D^{{Eb$4xzfx57QsoC$t;*4hj2o zH9%b}=K+_`L=smELFJ2r;I?p~@mQTWcCz4SnMRB>QKyaN=*Y|jZ-aOh_3Kvovoh0{ z)jxBQ!s6)A8mhJ_1%xdAKHkPX9b5~m3wTY3wB&!)4Zr=s8P@68@tD#y$O9|Dk}qV{ z$e@W%%}j{m9Zm?^8%g;=VUukr-(lH7T_!&)+=3-%k^Ig`(*FpgilK4|B8H|>Md$(R z=d#AVa-P}0r=R|E)m#7J`yqv~dAweSl5_20%i21C3cNT2b?Il;{dNJRj^R{r&lDW} zCjYw)#3Lv}0n5@!a_0kt%CQ^a=p5Z-uQxvgdT-_h9w@9IqfP?D)rbxWzm6b%-4IYW zVI7zklheHil`hbYkX#m3rXD31qHuRsO6pbB#NC7EKd`ygs@k1X=q_mYS?{!CThYqC z#7bY_ALN7ACHY*arV{G%%0k1kJ@ubMLoVQbiXV#OmMF+7)s7^e*>#v=JGo^V5T;H0QJ1kN@M@YwOtQnh--UuGvmaSFm&1N;;G7{ z$2mFZ_BbyKbYSTA^8?4}LSyUjmeR=m3aOmQV?kqU*3MDGO3ID`)!y3L4WRNQ-mkL0 zjl6}Tehow>P+pA5uj16Qdr%7MaJlbTW#N$bJ;3O(hihb!5Z+9LghtTwcMZB25v62K zwDxWt`u4y2&@0GLanNs~)1UeVVN8Vd?qy@czAO3X;jE=`{%y2ct5;&CCvBsTl#L}g zA(<~A*TlE$Rp>Jg(G%#2jp-fwN8g1)t%59jc5HRdTeVHj^<2|iXIt9MNXdf0DjGKCkn59~=kE@d;t8ZLr0m6sE1 zS1H-mg?poraO=QR-3AX?OltS6=Vp(+KH2-mhE^HTBa7;19{odYT8(gD{#aDC9lzTI zF-6EH2vKk<37b4EhOYSd)vkctI_ny}((QA2LG2TN3}iCx6Q6%!MpFPLUz1f(_14_i z#&r%%o!x#(ymm8U3chM9Pu62th09GajzjOn*h!PYQrlu&EeD4%->~CcS^A<&h9pZw zH#}V9$cmxIs>KtG)ot9>YXX)m*2eATp}UZquIg|hJ-vtF>GvCWT9&J5+(N5U4KI{i z8F*tW3|nNkHwqO()DtPKqOei=LA}wWyoW-AE^N^sF=+^G;z4??Z3Fd^M~fJZZ-DjY z$1pUhZoOvL5&`zW?${K_(%wNaxkIxIj>R6H>RogryPYuQqH}%?1s!dy-W^L*NE&2T zftE>L_<-S)L}YgP-P4trEMs3WLOq1-%rP+*gs*whJ#{{YzXPW!jLj zs#p96I94-`qt)6ln{ota?$ z98g@4KQE6a_Rg2-;x?efd$z$Mia+R2(>*;1WzyIpFJ?!U`_sK3KlcZ;%Lx4VomAXYdV_rm#OkHu%J zZ5k%sJwZ2-T1E+8b~<9uky8|CApOxJP$?_T(sh{o(_B6n_L2;*Gpa|!2KTCU0dQE9 zxQ7abz>^eQjD%NaJF@pT@KwD|fMklQ%+$I7(G85{i?{)tQ2M%B`XIT&9y+P<(I{FO z@8d=u0UX{T`Zc;+{|T1GJNrac&g~(-tDQ}mu_PFpI|c}+(&hG2?Yt-3KI^_J|GiMj z-qVmLf1ISVrm|&h88w*qwKo4y zsJT6H$m4;9Et#-qRl)aiy5Dc174AcYBPhyb>Tj-m0TJ{Mv-eg6dC7p!xTaOB-L5~m zufLdT3N&48PAnocbvf#Da6GbA$6j=f^fojXBN9bnwX!|1KUs<2Hn6&A%d>67>WJno zZ+KOYiIr3<^u74kAqktYqq4gsQhGVcMOQdqZ5(cUPyWqbG^?yO0s3`M8mzd+n(1mY zxywVp+f{-BbUHLM!`S_5iE6QqyRE1%(~p22AAQW0t@ejVz`3B>CyC;u^-=|Qw!~`+ za~=eWa#?|#4ORp)m&Ch#z4+*3*DCe;A$z&8M1qq!Y#(pQcGZ%n^uESlet342Fcjej zQ*i#UG;5HrrChee#lUzdHC{bmQHpA}dnVu8&~;QH*~HqmvL@;T5g~cdYsIuO%6&i; zADC4*U27X#AO9n)8PB@~i0;hIjll@1gMX(TcXMb(c;)?fpl6;yu{RbB{W%PN+JM8g zYNnQr4p-m<37)pyW;2E<52TZcjsX9sjv zDG|7CpfIH6i{By*o5hcdE=1|7HZe!sp1(6bY=L z?L#Ofu&&d#T(^_n_o`awQXg{uaS2sXSZcTftZ<;D56@m_C+169uvqX_)4$TL1sP~v zG(>2nEB!YtGm>n7}oePTQJ)r@5nypK9Y@%dU|Xg;r}@ zmMy-!oO4XNwrxm%_)@8+^edT#4t?ZJ>I|^wS~knOyIsxy&Jyp2T#%KEG@(nM8e{P8 zlE4m&QCF(~9E*JIdL&GLw~l-}(WBy2125LFy_a&VQRHszbw8Qm4Dgq_Iw*So+2^fT z^28E;Hx~SB*N}D$wD4lR3TFGhhC|^Z-7PE?#-L zK&G6N^S&64?|7%o%C&ZNj`yO!pcb-i~zySbd1Bi%l zku~*m8ZcjJgm56C@>7#PBN&%se1MJ4m?Y=3{~5hUnA~NQ!})GAtcXR`D*_D23ez;E$Ji-Zs zrsZ79B$P{boSA`zmNs6*^~G4aHc@b|5Af6EPx>jog+~v5{+YIdwr_w$**SZ37bNI(WQQ zK3e6OtT6|06^%A;x2B_-k%EuaD=;Wq`<)~p$BCI0@^43T6(}UpaRfU~5H2@D@~7q$ zQVkX8mt3 zF+WYOJf}HIOBF9bZdd;OhDrMiDr=+oyAR*-{FKluz*Ar8PF01^gUgIMK;y!fN=Y8c zqtx;1k#aCatwv2`Z&|Zx1QCZm{Ke9Bt%S&zZOr>B4d?{)f58}eYC^1mpTI<$6BISx zQPIbXN;lv2IOX@#*y|wx&JYypx#qP;s@vxMgK{{G%zH5Snrgq=Y+xAJQ#OgItt$v= z1TsKsbuvSzNaZrJ?AXBq%o>mub;BD;eSnq7+B&|Lh*RZ^&J)_KGYZo#74pl^p7O3pe^L0mjsP7pg+7&O%g zpLN2c^yoWRXconCNN_u@tpuL}q}Y{+;`l6vBY*+qLo`(QH-ilz}l;AO8O~4g0_Fpn#9~o&R zv|Ok%ff4dt2Vn>fKB%B)6cRAu!*6xp@(1R|&z7hQh3wc}R_u_}_463iQ^n&+eB!Zc zV=l^Z!O{_ocR^W**SWHxBq!5V9JkYx7*1t)cRlhZsps%ZO6E-&l`SjyT|<2(T@7|p zfIm$P_ko!RGOCHj8x^=U&+QmVz^u!mWvIMc^FCy8Y0>*(^Gx35o2aI9$`EmbjZXm8 z`wu5jkzNY%ECF^iVQr6&ksmE!<6DiMWt)Kfu0Kenj0O>S(Q6h0w|Oz`HMphTd5|&; znf@pP@MprWI^i+7s3lUguo=R>cUh#fhGm@j06R)fmnbw<5%#LayR(&PD19i#7QLR;v|RYqi!GN1 z20LCS0<1#ja;kx|!ss@DcFaF0YexLUC}9+|04BoN8(RA|ybPU-ciP)-{ZdJaP0qW) z_lJwMMI7X609HhtL~`7t4c7D+1{Q|zJXYOO0d8buAyj}FppYu_CH61ms>SaA>#c$(-K9p0^4>{3f4RaFax6JTLy@Q#;i7O7aXX=@;~8Dl?W1%W3hmM?EB zsD2ulgHVXBu5=G~sw!dqc;FbcT#2DkMu#$_VXJrGu71OiRlSfC*MR!5$rm+*+l^r(#7 zEYB<<%)_R7E?V3Lsg0kZ4wKJjmOHB@O6Ac*J)9hFTz!WR{2S5t@}g z?Rb$<+;2z1yTM8D>!-$3|F0fDQPfOq21A?F#e?01V&Tb+bt{ktmd!wG8A>287-NJ{ z+r=M9M`PY&g@{g)2yHnkviHfwE+#K}(gQB+;9qjre#*Y=4%Sv8 zsiK$5F)POLa|afl1Fd0sz7=&-@n+q*(~?z>p(EC}CoZiPrvfvOy`QC@L6Ai!iaD?z z`?ug+lz{^D36x8|l{M3^?)@m0aaeQ`X2WngO<>RV!#7Cqok6rP5nl>Q@a&Wa?ygA5 z@N6d|<;FF-=PHwCp;E;i0N_b2@4r&bGcc)o!Tg)#5(jn2!s+HKE7* zh2?;nmqc!hd-U&DGrn1fKBSjKkQqlvgM0JIWc z(hRh=3MOVV4Y*(Bgu0NYAUg3_&Lk8mN80!{uQ)QzXL!;@fVa~1zCbQ{jETNNVCb>q z@8g80t@_AbH>0=ZRB8AU*Kwb_Sh_KCA>Ws=7NfEN6u~_&rP$3qBrpbqQIzT0j zA3%YiEcOWCz;A2QvZVL^q$s^b@;g-UzcTp?ERvP3T>A<-g#W_)ZsBP5etl#Mv?Ph> zo@AL*8DGAbtm_n@9H$p(D};LeFgZq)c}O4SJftWeFzv76UdQU7!1R0`;2kW?PWaOz~|b zB&3}ZrQlVf+S+*%Ft{H1f$Z)RK;iYnqN+u^*?#w+7(`E5+auqAK(}A>rplWgSs_R` z72=jFRo}y`UN9kDqQr*v@b`N3dfLRe%$BH}J^;as!ALYlKNIo2763Q5h{07IWJo&a zd~rqQnFAOh6c5MkKsLUEOGn~RkQDHTYo!!c=t^P$Yv!CiS90s`rnJKR(SulOc8Pf= zc+2ZcP0JH@w2W54R#gOxu@q7bG*|+4=7)H75#yVWKi+^ySj=}GVw^h(gba@@&650$ zE>WnZ$$llHH_i&Lf~|ccI~}4w8_w>~X;z>(u{t?R8T)OnvSzK!_j$j41d2qCN?jHp z4e}~2*QYuqfB(5v&S<{cd=_bXyT%c5F|6D>%`zUM)8d-<-ppoFqRs$#XPpXyta;}Z z&vXTd5ZGqfQ1|sR%YG3OeDECZ*q)7P>pY2*F=+?-kO87p1F}@WG60mZ^$H9Q15b;iB#>& zwAHSJFz%0-n9W;@hUiU(Z@{HIT$NW_;i)>Pu{;w6wvb3%SK!13JxsWCv7HX?qgszIxh&R*79t1xFs*WLWHP;q@t!p6)o~NXDDmY4hGQt;gD}8# zVIgl>?!}e>cDp70fM+*6p}dkiU$3#ikP<^jt0mpfmCS%weFDXqh8hTC<)U$a(bfno z;62qpE4hg8=(9PH?Oui~5I6JE6O%fh=8WtHs4rB76Eof4f2>@mGs<2OR{^W>GPX9g z(RvuWsFG{#5?gxiq%PHsS@>QBge~+d{nUJP1);@Hitx^DOC!1;<*A!~K zbZecNPbU?_knL2e#mb-Sml)RH95Mlfc%Rx&Ve>A;*-~cNtr{)v_O({whAOK1WCX=Ix?;Z@}UEhz$U|zVlN&t+e90P zXi;23@O0io+Xidv3&0JuYwi>|h`W0)eZ2o9l+DA1KLhLyVvS@$P%fAdDi4f4@uHPJ4}sc;D8 zP5*?m8gXO;F@e=V1o3&^`n%h8r^s~|;uO@^{50QGnN+_}QYOtdb-?L(P7%y)nGdDc ztEK3o2s$FX{lb5d^8TjHo?x_UhZ};B#W4C-BCeZz%!=}4D$LtQ_%zPtZ^lxrdlSF|5%aLSa3~k z{ithH|SpBf1PqXk(`UFjf(t!GJqb%{`{sl z{c|dLucjKDgPB6@EBlcZvwZH+x7-$;Nj(n*_+-J*gt<3JJw=?aoa^uF{gXgHrK|Mn zz?-^3D;w*pjakHVLPkV_uEqB=2O7Q9xzM(E+goL>!quXAvxVEcS$kNCpY7A35a;#4 zwKku<$hB;f{duJON)XG3WzcfSnA5 zbs(LZuwe@!ujto%Dn?4(Os0s2cv;1Q>#e-%qE9r~K`6h3O_mM~9b6qB36Brx(d3kW z9@{E(Z&|;qJJ-;!N2=BEagSO~$kyjxg155&h_UIVcLPW#R)bl82xm(PT2dppK(;~k z{zc>bB+Bf8}0t>5t*Qc=z^ZZ%Gd; zNsCTTNiyWud?k5cAxQ?GBM8~u8W%ro#G7u!9`}C5Z?UsA&MzVVbmX&E2zu=y~x%Dj~mQKgOT~Rjvn^)+NR+5n`8q9HFd2Ibg0D~*s z>m*qqifuiJMabdlp2U)V{lfaQF|y|m-L}*}LgQ>ofj{*az9b^r`+S?+Whs#P0L3Sr zT}e>#2<6Z0f_4L!JG-=>C+>)v%`Iu9;-D*^XE~UxB&?KNA-GbN4Uh}C!DtgGJSvt` z%v-H?WY(|^%SY{PrJc_cw~XVSU;yqo5=CD|h0m5qlTSmkIb7MJ(6fr=j(Ao13Kiee zp<+ToK}FtKBd%K=QCR|t_3g}X&&9ijKgVY`=B}nycr}v_hYdYFn+#7S_dC!v5iJhj zADzmgZFvUO5{8;nf{%9qa6!Bf4lHPd%Z6z_N1eou4t5yWdD|Ku8 zvFbJV@5mgtA~(yV+I6<%NZr0rQjkgYfIG2w9@&#w6bY`%g+rnk$NjGuOCt|bzcvz z^xb8Zh>H!Y%}+Jq>yz9->1WRAE@9il@0JP=L}9|E6P0SS%#13;bwVOG3w3+_%a2hs z!ymNI4bC4fjB{LG5y%m!0~snNAUe}?J8dQ+UO3M$xN=lFTV;D1Gv$*z{^UqAK0`S z{zgxB>Ta5Soo0DK9calC+%PdH@ z%)~>CMKz_;9ib41{gBfh7i5WhJ7BZ_^&if(I}iYRVF`1XRvD8-WVciYr8unZap-;g zZR@``WuOwE+i#rroS5^})ED$lQAc4f;p)q@Bpp_2YgRnu(XF+bg6+DkKEh?vLm1$WQ~uz7L{G?|Jg(-}oTOi5Gzjnh>8TV3nY!wh z;pXO1JM3Ew=uY(d z?X-P7N}e;tt9prqIkWp(uK7-2jBKw+q6dC%b}%_D<%e|c1JQ+4S_`Q&Zp%^ASX zckSrPU=O+@B0~lNZZ-Air z-3%JwO^DY&zY&Oqr+gP^r45h_13;3zQqHleXOQH7A2j|JVTFm}4Vg?X#j}HhWh-;} zMIGUYjD}EInpy{8`m?z9orH^#3G0QEqd~7(O5+&4sw(7ls<)XHZ!N;Z_tJ_;GK)SL zik0<62aR4o-bU`skwGsde1dO{4LEM(wtbJ{jq_obADJ?FQ-d$@@K4f5(PNLW^?b)Y z8$b5iqHq&5IN^Q;M9WMkVOgfuPWD#whpi~KSjL?BY8|wRnB2xOt9btD$s2bCyfP`W z7oD$US4fz$ohBSvp^%eTC~Y zx6BQwF;(4esT=0F7MWERZdNo?T%o(!JO*hyAlKe0)DD75me2PX1Ru}8kQF&Ol7#L_ zmX;;jeN>5f%`*~t&e4ZQ(3@g=P=oFRG;ju2vDJDxG+^#toB}3yCha_h*=4kTa-h7_ zN5i+0a`C7tEp-{2)nT&81Gee6Rg4-Hv>UAxu7u>D2HIz**m=n+Ehf>T%<4^3oL%ml z42j0~+@sX?oE>2iCY~maacV#tBX0jWfPfSHf(5SLOD;&T1z*yS&DBH%+lQD`-Fl3M z7-C6LXkNYx7Y%+?k)(*5><&RyZsmW^!Y<2?!9qlq=^i4!K&RXvC88p!gi1e&5X-ju zvidt$uoUr@?1&W_u4rS59r9Rv;Q&Wt?c2zGDXSwWH^p%!&% zi|oDFVOl%hA#OWAA*KYqlShlSN!`5m;zwKIHQk6~e&mfw1om;lne5qT!8l}hzwk1s z_|e?5qmO;ZDIIFM+c+8A6*Vhet=F6iqufo`y6EH;?2U#!Dw<$KCEDc~XLVn+Lg-Rk z`x9)Iy!_%U(X#`$$$;XXt>N1bIrpi8uHTTz9Iv2j9+22Z#CfrpwkuNr}n z(;DWLZ}AYP2`5o_uk^>U<4g0AU5ts-SEMll#e7rQ+rIseR-RPx^9eSiLK9^L3PEAq ze^BDQ%!plHk1=rbKyrwlvh9;vo{17C2O3P}X}c#g;?`Qqssv4_yU`ygF{;d!LC!l&H3^2Qoz1J zcs)UXSi{psxaSD)*8;O%#o*vvJt$QE+VFj?8d`LmX*~tX+5dVB{dh)to6=4LHtqjk z+`VO3lx_R=tB6R4NH+{1-3ZbpASI%7cXvwNv~)^$iXh$H-5}jDfHZ?3>3fd%^Q`q> z+j_TceOe#Z`sQph*IaYW6~}q(`~EwkBGU9}pUbt_rU^LIXCT_#g&~}1c=%E}^3jr8>fU?Vq+N8!>RaPW zPw;=ExV2)LegomnXPtfN6`#*8vlO2u-MP~fInptle{j`>(A8IDraxP4%8E}f-e}|z zC5c+3s+Dc7f8{3OtmwXg>ppLwB@Vgf-=f)Yn3F(Vqcw;ny^in7nmIhm+`RVVn6Aic zb`Ko)igjP{3=!z|v>5jqyRBO}GyAq?;A0Sb>|7O`Z9}s;5r^@VcWJMf5%C8vLOD{$ zYSxl}AvLegLk&T6?II{XBZG}Y1_$$(3gienS0_!Ern5H%X_uLlTKX}5M$h~Nh4es8vz-Tj&V<>b68(pSDX{MYCdc*e`coM7BBNV!vV3Y@lh&ah6iM$ zs`S`v=_Fpd;LOlWia|b19J>WKXz;Z^9U}=^`;E}8AMk;C>>WyY3XI{t5o{s zu3OT`r&KRfd6&&J=r}RhS%iypUX{nE$#xK63{Cp~Sl?<@LNH6t&XZ%5t|^+1I)oU_ zrX*Q>&UurdGW;FKg@`Lf}Mw?mi z4?f+u_7Js;1VXdSD4|RBjoylySQY=C*r>jwW4{M$@XhqgTkP{UnV)^Z(>?BGo{1}#Y!ov3ZBwOSHf(IL7~O)Zd3{Y3g|QBTR#E)t zVYmb};b)Ij>95a!Gx4I5M-BCLY!w_gY+;TcPT3Cr2o0r+PVd)LmZLn=^}YYa(XYwj zn05>h3i6uilFo%z3LHQIj~c7yC)r6t%7$xIKS%FmEM3pMt+ui|cFK%pe=QnEmVZx|6OoSHx25P1M!C zjo1<^+bl+CU+|7oTQ{G&$Xy0;(R580JA^Zh;9>Oqwat?2Q^O|JWsik$mN%i98d4!1 zPN^clF*&w+%?@J@C#@9^7gBK8$|s+27?C0IxA4m>F$@?~85X;Vl|35OTE)pG@~3FZ zBAY3c+@zgsq%Szn#EqoVK;%o!Cedkn4XzWmy$!I^{)A!i0Pl8L;S3OyIM2>j;A_LJ zFD#%i3#$9cy#?yDie_NyZEc>bNL2d&!GH1drE?lb2iDUcElSX@NcZ;NE?o<+MP9v9 zK7SibdX{3dUzvgt)-68t;r*D z{KVUBMWCDh6SRyZ&2H9CFn#(Xuba;87Y8?QTL+myD_styIkDQ%pB?2Hv?{(nJ1$PL zoDR1^zvKjdVx3a!wvrd{@}dBm3}ZPV*n`ff2gtH<{MFV3(CJfnR5#8>aJf~ zW8qi0O-Gaxm~WnR=KFz7f)Sm*;1!I*NdXQ4c;P1s z3hZb8vj5?C`~k0aMWCs0&37!T)F{N0&>!Hf4N1!;AIH9wY&k8i$ndakGr zqU^}zq4wtcENo8YdvO%&HmN@(Y5u!Y+1QjZIR4~~=6NmrCXp9u4VuQ?ys^3b%d{wJ zh_PgMp)8_xTL@x$6HU3=^HnX*Uq2RNixz79`-Ob5WthaGbz5Yk2)UJbzpqfgZ}}=y ziOjK7rS2bfTHQF>np(H9*d*~bk&SiDt%ND$2V;gv!5q9z3)T%C$oXJo6?!s*6M@|e zh9~h-IP|#m$~R<`mgdX9tP&IX&3F_yr7*t1k59*Oh-fCtr>>#Vs{UrK9FBm5@B)i5 z2NG+_iEs3oOOl!&87psd%4pvsx;{o&*7zOyYBdH(zjBkggd5+sNe}?}Aqi-Z!?a1- z&)q1T%SX0Dv-Q#|-j)$_>LC_}Ce%XRv6a(wn?LIM59X;Iy!AkcBk{fhL2BTrSxj~> zYk&CU^rz{dEZ!{3n-{tO@~GfEtPNK;aJ5abIr#(h(5X6`CBYpzJypbWG{0-uu3YP< zU*}Bx3iOW=s!d1ZKvWy4>!ryTx6^bN1IMzM$Bw467Ib3EYUr74Pt3~EJ|s)}$#j9( zS~v;-jU@j*QrhhXVZOOL4-j|nX)!ukgFAD^;@@N=ZxbNg9@Xpl&=&0frnCprYs~gr6>IbkMaC;B0DyF!`)o)x$lt?&OA}^?h_gdPY>@d zD0^A6=B|blcU*YnXj^h#)uzT3JGzu>FgyY4_C_G+HrlL2n3fL!NR7Eyi9Yu?DeN^w zKfWr{5U;MXDN|b$_yYOWdu!^^-%B7rOmqs-duz|cpq}rBcQ=l-fj7ih;IRL!jI4s` zkCUo|$L{CX8v%y(TfWlnu*%m2M13Hz$}v*-bWTU{sZzh<@0@2}S6zA%1t?1gg^DmTVnAC&Gnt?B`fIq9dp zoIX?Ub-!n+_P_u$ED?3_@$WUiNdtTfSzOF0;wGsxG5e97;dQ3wtFMkV7Pd{-M}C~& ze~^Dr#>H|h#A?PEm{AcYK-hLp?h6A(De^WALg=EMu&GhKoF(wJ zz^!U&j*+DN?}6h5`)h<4KTQP^@F77fj`%?BH* z4DUMe4sIQl$n6yh8DC$Ij#SeoamRl;ot+<5nR zJ75K;mmh6Q3Sr(a0cX)WWSolaky5xl$AV2v-`~gRJoVI4jAG%jfKy1Y$##|siEPkw z0k>~VXjmA}VbT3_NoBu=dVAit$~&ZZy5bh=;4hqUxlv+yrz8mufveQ9*M69#KG_p) z{2HlFvuj(p6Ef;U&kI_z>Iy`GJ^+VWYX9=y0sONGaejl{$y+Ey%CJR|pD?PxiTh(I z_Q~WhCQHdY##y+WxKSOyEU37<9P1zHe!}DHSZQDZt3fB??CI$;NroKmPZy=NTc}it zmt%RhJ8aG0i)q%|+W1eB#zoi}kyn?MGa(R3tpk?O7hnY=lnRXB0?LGA*#+OXny?}8 z&*!jo7?;&-Y3NxZBf=7Wd*xs}eOiTAh`|`ZOYJqI!(n16+$e<~kheBa2l$t-QQ#6OwqV%9=8dWHZkV zsU5;g3fe_nlMgLH*6@S76u*>%7Lyp9slxE_TY?w3cfpN~1_fFMSc827Ir7ouLV_fW z-4!@yx&Cno@1HOsIA9}N20#;^-RZsr!g`X><$U*@51?wGwc~}=W=)k8t5+JnZ*+9u zTq`^SNuojESHpFR-jf?ttHq)Adk&8YO{6 zYxYp63ZRsxW#JaRD1Im*5jcZct=PnDCg7U<4~C5{$YL=j+Pl>~O)XaIj~vDRZht;y zqGvYhzD>MHff$!wAd5)_v0}6_vKNm4jFbK=NlIift>;d0-{WJ5`iI%tnUnN<8m}$t z#n%15!_9oa1WMEh2q&Y6UI2}S5f<4YjwV&|56lm=HvOLN;v*NXM_Jqp&qRanrW{ET+5gATKr zd1?Ia(Q&Ef5Zk+BPV2X(c(3yM_nH4{v$}|-R{OxfM}~U_{6H^Vefn6>oAwLSat#hi zN5E2^6h^LqveM*&Yg;LbG0#xft)C3{vIK_GtHNA`!BeApH0$hqNXkO>D~HNZ5?hvT z2lmqGMmGirT*2)Nr&)QPp6wv{}5cwpA3%D>)EH?Bu(X2w~(8spz3g_X>Gdg7Msu+`Vgf_5}JHt2y= zikSQ~GTVSf51Ry{|bHJDC){;L?nSir3m zc7Q0l>GCl^k=)2z0_RlhA9CCmRw8ws{2sO|gNbZu|+qj%Z##v z+*S?!k|ZD7vITpK!#^BJ|{_{oMY zuSTQu%zK!RxEMLBb*zt(Z4%ko+g7y8R7br4$wQ%@nJcfbSf!7<4V5 zL|kR-?#ek9cLJ8U*tHT`RkfFvBv8Q08O94{bx8m_O4EmABY^0p+YY#K$t{aFIiW$D zQWyJQyZx&P`eF8zyNa$3S3{x>PWpN3aMFZfdj#ch7Y*|F`38k=ZNWlWa$*=tH3ZK_ zD052UmcnVszGOQ9k&VcYvQAS=_*hJ0Jc3Rk75V-P{QCk&tc(2FIPlu$&_9)J@%{5) zis6U%$!Wqj)p#t3>O~x{cM{P!uqy*DhRguB0blp2`O6zNtqln6C`)2Q!1k{g3C!4O zMF9mq@!z0HIi(p{Bj$EEKiQKK+RBG;E5`L?S@u{cUE<~Z%z(AGI%|ESEDDQ6d!x@?Ea^IQa z!`*p5mfvmE*TV;7h{Qy*2=P8s&Qcct%d!2dfHx_tv>d6SEs|Uw?yAhs>h=^IH!3Qq z)`rT%d1cyVON#K7}@c0w{yc;Ij>|3@Alo6vFQa%tDDuPbAk=kl+WlxLbRWgC@o)C(|69F zUMQFdF8h2D0Y%PrgTuAKmX9v*$~!a*^V38V=(R+JY-rU^;i%lalrnltj{uLxyh%b4 zF~?MnizAU{!x(hJm6&pSdwlR?FekTMAyoJLF8^KL<7sgMEIq=wBzpbtJgc7MbJe)w zy?SY+Kl!Zax+<|0j_uItcy+^IzhP>?uCv0hC%2YIxOX;mm zuF`){4gUCH&)%n@SzSp07TD+)@?cfEGPngyu)CNEYKOivvR2-59(L^seB@9&`IzMP zEfkq4!E)dpHsd=?FgrGSPEFhko-Y)y6x;6%%q>=X5gy}Gn2wFEsTc30NU>R)0->+B zPdKE`cC&+#3zs4|C-aO&tByIa6?df9?WKJss=>8w+36_{|W+LuTsjU8u5n_T8D#Jc85CIJ7%MM8vu!6FiQ7ahOo?^7mv+Q zFCRW4x&j_q;x5RCZy(D~r2Z#-BA94Cyqlj{-5Vv*Bo((&NS-VmbX2&tfI-L8o$v2% zAD=y&7S*&$F%3hoQMH^av!O%byY9SyyliOpsWomLDvKp_5#!Ml`6az1!JMFQUc=V> zGkm?JJvskf)C~Zo6uCwP5-$T7tMZd~h>WST% z6p_9ZWD;RFw%*!@Qr7|LJL`vK6Tyu@T*2|rf}5Xd0&&?R1aKcp7tXB0A^ti zmG6E#JifBvrCU8()eYMZYL4R{S|*fJjJvx&Nt764%Z>sQB(@Em)&>KkT6}0Wy^Cp$ z@nmK}{7xe&dQ6a7@EBjY8@y_G^>~d6#|fHpaLU2}(q5|wk-TcQ%!3nZ31?4n%#Y}j zVa5)(F5F-$08|rv=8A58*S(E9Xnlq6L;x$g~SW7 znSE^5Z(xdw@FiFo(NzwPg`l2@6Z=upd%f$ka8Wrj5H;&tGZL3QN>mwuR2My!pg(|C!`t`5e z)|;1~8LoHub%pAn4zAt|(c#tye?)XeL-b!1-wYyYH*|8JI;EXYX+7*OUN+KBen;AF zsG?giC_@5LfRmEpB+8k7A?a2 zA(QZ@4ym4}Qlr0!>9;Fn70PZwa4*Tesxg!#L$%BC)}VX$7)AK^_tXY{eiEhipiO@M z!7KeH6ax-%!#q66&(N*M*o}?KF{()Hei2gq~4(q0=Rlw0u#QQ}q zSwj0j^(9pmYxE*_t!a;PIrU~s;g_0Dq=$X%#mIg86a1p+s_C-ymkPFs$E(R%^d)?+ z-sUuJfe1r9us|){<-<`W`?>RE&45`KbD&dbkpz8Bfiy^=6VTwxre^-*d$@8;^lyW$ zRh9^nrFZE9-i`6uIvG%^A~dpE)298&3$ddt*i+Iod&~`>gQ8j!pED`(3h%BCF+P3r z*vCzbwm6852zGEAEK#$#}rfTMRt)|F<_2S_Ugg^2O z;s+^EqCHO>DYV!STz0_;z3Y^i!g~nZJHsGtU@|1(03ENRYU}5mrWc51$6PE1Y+I#v zXwkSg_PTzoO>D{SjCDf$Xi)qL_p7*Pahw`Rv$gTazo-3w<-mejP@89kxP&3C8&4Ft zkiD}#&fHeFxB?sXf9Fno4kC$@p}NkVzoRuBKpN#GM)@}6#3!AlYlYCc8E@`>sELQW zdW7Wmw~at~ihUoK;V%Wrv^A*+?RR+^_)J#*(^q|?*Ogs0{(yv{;9Z|uR7yQhQk z;M#uSw~lO_o*iH&CGoebk&VoUGXR6+bQQz9V*sT_1UiOX0VREZyJe!8@URS5AhF-y z9$|_YKr(POSeE|nx@;4Hrlg?6SDgRr8#VvIS@*~A^mlnYRtQEQV$<&NMLr@~Jc)x= zmQ1bC2CYbiMp1|e7n^KBE+jXv1Xr5{lU+dPqZ#?BLLED03?8CQbf}{mvRkxHT+$?YkBE%CWWkp00s;ks)--gpXt#4sj^xtoaw> z;Qi|d$BBDT<&Ie`?Egd_w0tk>107dzOf}Ljcoi^!xb)@1Zs4dPT{MP`2$WIM0A<#f2>1Xu}Ddx zb}qj?DGZtp%Uw&u7{BsZJ9rl^pU_O%n*uNnk!oA#+`g8V@qh8l-IKvX4pS8Vg8OeDXu?$^iF zWQeq8mJTy9RzFa)D3wa*$v@Ndo;0fI!ch*-Ta)nZPB>T$$6Y%F)lDAVmM34ysDD5` zv=AoU;8463By;JC@>8!g3ZwVxbCoWj&3xCGlZ)GfE@@o?RC6Xq!@f`1ad?nS=Y;m` zo>(5l`xzCbl1Z{`Fj7mK`v7(eSa}n z_Iono_;>kuoK!vgV?)mJZPc_VzVigX7kYK3k=ffL#_HwAWNR|Kb!~T<&DBFUTVo** zwKh3~3mOv31c+!HPY?}LoAl_Hqc1d^sYCO0g!G}znfsJPd*-w2+Q@De`4vX6rr!}u zy;XUqoI$5#&siOe$nOIYM`H6-lCi9Ew+Es!-to$+VskSkXsK4=RK9YfsO;HQHTp$u zPj1v3O@&vP%2KOg>)g{0$C}4eg#F09US`qVe~%_|K0p)MNK3Sl5;_}f3G4AL;it}4 z9anyYi6=u?z!haYwfe4L3}hhxp`dE_?b9$ z-e4#c_j#38K!HWX(dVOV&~1BDk}n(RP{k@c<5Bq|4!bxq9=$)3#OzX;Lcq0jx7Q54 z+wqL79L09Ce{@i0^D;uA{8DuD`@0DsI{wVarmW4e^mTYC3Mp~o(9cT)$3K-2&snj zg!P9~dvYnMs=COohl?s6EOJ3U6C0k%kag!;IbIz_^Y;N%7KpKc>o8(I=n?DO6Pt7q z(3Zx`&!zhp=LR9NLP_Nn%v>JbD6M|A ztNcOm`B!jYCvR%{#n1RkTf$uUyF#hy7;j@^i@0O(k|)8rdrM2=D)ayP2<}QI-BwUmA|}J^*-P9*0Y``whK6X1TXly-)Yql zgw&2TB%6^uTX~d$Yx=a(kN)5-K|Xp!e8@u8aSOLp`z|krrEjUHWrkOXCXIkX37OV= zD3>lbS;d%zYthpchaI#+#T*L9nkt~sZnhqWhUvMRFi z=a_y|MpH2 z)GH#Bvo(KpLKy^5uRuDcvj44K=;5+yXkFo7=!58Uuo?QtiAaBg`jjH@vPY?ghvlyl z6DJBbgHpl$_3uYqhXOC6Pwsb%f2SZIg3ZYOQy}(VeOEn zqCUW+n2}}vAL}E;4{YYSzQw!0A90Qg7kDMLrvH^+Q4k&NtDFadcNuUmDc?Sf<@p_I z7=$X~L%DYSl8)DiieQqMK}4Q;osx)1RO1oM@oAC9_D!XFZ*04QtR*0 z5`_PD|F6H%*qJS=zNj=7tFZhFsHcaPe=Qk5@iEjQV$jP;o?+6GCr)HyE#hHe6Vm!H zU`)hg`}g+&0DTMkJu#=*LA<=gq2+55$+!4;45>8YLS)TbererZ_pl1jw8M_^qu-4t z%`@M1GcG+#oUr=!5|k{6-q!=P=RcDRsM$3LBl$n(n6^IoQ@X^cM*3byS1|w0 zH;#SJzo+wyPl)G&vhzRlG|qqO4NEbKZ;hhyEd3$mn18sWPt=bD|6-1jA8bI7$$mV+L^9#Q_@pYh8a~-Lb>x4W$ zpd=cMN6LT=B~)NEN@jWpyJZ$D*agKB2a+|lNO77B;nm3{v7Q5t_IA^Wph6JVy`peM z5o8&t&yJw*-Ch8%qzsZa~D{z z8dykiiE*y}Mr-nOKN10NfNT%&BjQyQ`FodzVIy1xV9*Aq`>Fmum^E^7vbMH-^}1|; zsS?b4830gq_*@Km2DY0x>WUIq)NEv$T>BSbH^|{Ys~tE%T-f`@z3l|D2LjO_>Z}*2fi~and@##G?DP9{qpJkq z;T`7)r;XnRL+l^PliBUULYQXI#r^^1_w2i)xe1eDI7+@AHIE%Wo=kT zfT;j$G#1>N@nmP+!Z;$k|NA_(=dU#4I{s%kP182rQYy&wk0OV{N{}CNE=RM(jDO)1 zEmfx+KDBvGMCFhPo>}i}%#{~vEaG16W zRL6v_w2PJVf>T}q)JDUkb_QK~ zw@oqgRd)Um`EZTbR&EUFROx~bzqcIwh|H3uA@^Y2K&u78CURwe-mCvAEGs1A_UU@;?Y=geZY`WkJ8r;*cg)I`LaI& zsW@H`RL1am54fhFR}S3;!wB?!0GxR_MsV;x*(fU1a&8tg(>jH_1w0<$-Eygk);G+U zY~p9Qae&=9B2ZHKp)ip&RwU6T&NNxudC2IfWN<@aIB1m8$G^riGO*nR)p1(k6%iZ8 zfwu#g1VBHd3mEn8@nI@Ug`quijH;!CtvX;4l}wqgo)4c`12kE$MxcF0;{O4_b7+`I zkl{WPxC>OE;jDYT@CZ@^!(XN{>EP)|kZ{d3b(|{mIH%j)?K;rqpF>qok4J zDbZ}JZgTb$^GO)KK8go|(xxMmFq6DWqsN$*!hDY4LLd1~`!meAXQ%tTQDAcdhPuhgS<@ zU;O`@+i%kk_sQ}=c?qtFByGTSoXVHQ-8zxK9E0Kgbpedgk40svVuiYhq-6cuuv z-rfzkgP5i;|X1uSfNKeDlGDOzA3$?%HivEJTE7OPd)j0A{qwTfbvebn^f&+*|N z$r|Pzez-ULoN%Ub=U?~!{~oF*FwpZYOD)KH0JbY?;BDf{l$kO2y*raOV$8oBz+n(d z{u`->b^}4-Bc|Y~s1ueX19;|S5b-;f1v?3(CmHY^j1jX%M267lD1L(pH4Qo1AiVb5 zn?bi zF5B{tEBR02;v*k+5{wK?dBPUQq>aJqP~&AyzatAr|`$U zQT`LLpB^f={%iW9Mnc~yxNk>ODRdJ@P5z0+yvm-?c6tddrf+r9Ykkg~VGy#R?D=E55n#yZ^ zO#pv(ucN~+Fpb&Suyg#)r{l^q=cnA zQchzTbZXZtfmH~<3Nt^Rf zv(lufCq_C)=0Yft0SOOg*S`#f3u^tVXpMT->t6jau;7WId&WASi*%q%p^uV!fMA^r zreHv+wN}@SY3or7<-WPd?LcU0R~He@Br9x+2)=qnu-K0se0f}bbIriDMTn%JOLj?B zSlVgp+?$yOk>>qQ*?#fQg3%9E6rD-&HzR8=pLtbI|FGrd-M`|=Vi(`e(OtN>3cUW@ zNLPUTLIx2`vavhw{f?6^zUj)^=V-QS35Kuy;|2vRxsV zBhnjKDY*tX^2tJ_MCM0}74&Mgmg=F0*ySy@OLe1x$c9kaI>Ux{y+dFmTI|159-NK- zM?ydU&kRWD`~2?``e&o%gAx)yvY$LE5PRXbja?DWdZ^0*Y#$`NlJ%?=AbMA+dUygL zuaQ*ZO>3hmT>bLAnrbSyQ7bhORyfe{EW57x(ca}o*XFac>#xdr^6a)*>tO!GiUsXr z06l-cYp|(ssYdTgXFhQethEEt`%V0LCw|<7FuEs92~DgaM%RY1GcPaadWG*mKYS{^ zO~qKx-62AR$1Cf+TQKknhHW6~KAGOv@)a!0L^W}K!$)!C%oeNkyYo+YcH2Ttj;5AX zGQ^{ikM{;vNP%I+>R2P!Rgv-h0fjz2hAAtN`Mc@?USFFtm=uum-M?`?!gCMKc<(DQ zI$mz1D~I&Sv9)qH5sunO)H8V>y)m_T%F-SClx`2!$ccSxg%}6M@Z9e^;K#2co_Lph zi4##;+z;;O>u2dWWgMWBcW*aq`55NMSp+x6Qj#NpDaxwEDRz(me=&bET4 zLV|l?(gd$i6^NKrOWE6}t;HOUL&sX}Ub^P8$`Gc?ymU_5@;O%1b_iPF?6e%kAm(QG zD7ZpY+vf#v8oKhjh*`nz*2QU-u~xqHaMh_Viu$hv=+u2XI_Aw3%-Baa@FvZ zk~@@ds>UMxymD&Wu~DU>Wc4Eck5OADn}nI6Vb_T>zWKO|{%W$XYrOLpy)9+LDg?g| zhj8c>4>SZs`{}>3lmoj*lF?q$oV>}z5i7xq-E3P|Ssd>A8^H%IcfACRb*aakqmN_l z8oxHa2)DnWKE%)g$Og>DtMQ%lM<8}G)o`+F)asMw<>B~*KSyjK;S{79lSWZqrYl3M ztgfcyZKZ}V66T%Ozyw6`Kf~@_DryZ9QPTiD#0^QVfuq5K^~VI1;S8#bLq@{jmfrq z*-D5xTt7}!$9{1;6`8Y>R+nP+aPvJ!jlL9>hm@TL;!PL0{o~OYRT-mza|DhM zQFf>swiWm5-}b4VlsVXS#60ar&;>635!bZcQxuE^+A{e3JZ|PgV<>;H2o(w2p9g4~ z-KHr;Nwv6r!<9DOSkiCdq!1%up_U}Z2%#!6OXn5DM^6^iS0}avBK{s&^>A-EpsPDG z2*AcplfRxtpm`=G@2X$peFE0bkrRO43r89D-1{v)ue2oS#(Lx;{d0^2*56`qVvRd< zy{s_{ApiNA_ZojPZT{Ri?IvRFcla;8QQtTb+d^NYjHlc4O|(HBjQ?{TUrlQtcY-$G z9Uy64zWO`k);6X?4@2}K0?i^yr;Xpd(XdNQg|~zMX>~c2+_f?Mn5Y8a-psM%_!Py@ zCo0CxzAUvsLx->I>-+Tgi^Jy+_mTO!vKKzBlTe;=m z%NrSwQwWYN^q*b|jXPhH)(J>tA7539b}sw(WgVlPr#zQ`fz`!@re3zY0 z9^-Px$KztoCSk+xj>2ef_uzgPa5GKyMgX%7u;622A}we%6%R%G4O;Oqaro2Za|Cck zNmLKttGE%5Sx;zWJruaIS!OP8lDg)0Z38F=XFTVbG0ZgGbPM|?M7)ICZTaj>SCHOk z%tz%g2k|ZgmqXDZF-guXgQ?$|&&t!du~9leg^$WeEtxj{6^V3iRo_z?3cx%kLXgGf z9{zJ~zyq90!q1t-QJ5iyakY&I?Iu&^el@y$+?V-r*&O!q1YvWtnc5su0<43dhd=C_ zw|iYXUW4WKc1{R6CrODqRpq(77^+QO;&%FVMfLpIc^{rK9RK4nl44fh&T!J4ai8Jf z@MjPBTBIAI9}A$_q8h;lelH8>q_1xfNP*|oF_c~aar&bgwblEY0f@O)IgfDSXSK4z)82$ zLDAXv64oYzN9+3NG!hda9e)t!k~GA;%BWZ6+K?# z?jxQZfOs4~{9={0B=c3)QSb4Uw;A>Fm+;i@0_bG7D^ZuOW*p`6QyGJ0*^a_yEi<1r zgl|GLSypYGyF(?*gC0k87oRyP9RV^@%GZOra<*mezRdOk&t>1VaNIUv{?lHNOL&E( zSXavMDvJ4&G8kN|YC^yH$V^dXD%%DTG6wzV(B<;ZNt%<8YRr_qXger9CH+^gGgeA# z6#_{G)tlfQgUYip!n~xXgM($1RcT%G)6H9W(@Ncnh**OuV>csNt>%f9auzEmap?=d zX|?obqxO~G{Xa*jY~?NU4d!7Rv+?jLq@69oKC9vN{0g}(9BszKsq)oR04Qf5P6?(~ z`YZB-xPPO_{~7o1262CrTh)K#{ztdV$8Azq?DZ3e9QqxP@?;ljDhY!<(ctzu(}P}j zaf~>6cPAx{=d`_;_gk$naJPZ(>&t?Z0L2pkJsn`?O89QiD(YP2E#FWqROliqI0aM( z7)ig$(V`AI)2I%OjB#jIYO{yZ=&o8P8xQ|n!mbkhPsZOqf$YP%{Dk~okc8!c2mx=> z|1RdgQ!$UB<&QtWL>fw1X3P<74$H^ly86Duo-W~7G?6u@)Ic2Os(mBplzg%pIeaaw zsKfzD+{@N%zc|FyQ#{C&qS`X zuNxRn7Cp47tnS>n)w|{aFpo&A&Mvp($lm-`HWS8in9m-GPhd)bWpcxrFLW(AKfEu1 zsHqUQ zYE@I5^-LPZFi|mS_(tYpplkr*bS2cRV6{jyhm7aPO&x>hGa=}aJluM8nT#)TT-*6w zps_n$rGc5GWOtl zuuS}dK5zS5AKa96__(W=MZ4S=Jm=qZvy-zj8r;}6ZUmDA-Wu6Ip-IbJAsjqtU@^QY17Q{;((0)pvU?}uUStl zTEcUi*Cx~3u1{*M=6JOltM1uZm?FZ5R~iS*)KHfsTdE+R`UIUEo;z&0ZN7-oZKy{Z zKEiM7c66djQfa_o?GKwZUjN%-oGuu-ymSKd^5@`8P72RWybO98g(9u{; z%#MIr;9n$wLKP*0s7e&R&1|U#N@#}U7`s>yWQWdtx7nIv zg1(eT0t~?h>TEgU-JDGvREm5uG;>U)H04q8{Zo|zkPWjm;~@@9xlR6H%wB zjOm<^=dvp2$zla}<2Fy!hbe`A0a9`pgz&0@UwN4{*lEqWDAeyZ$a=nl>ez~};}vwC z+f5W2V2Y6%)9~^8T-)-PTe9A)Kz%o$;D7<)F05PYp*&tl=bXMvyB@s}YiLT;mWwqO zGwHi{^a|d~b3q2JiU@|Qp+uF=b`%GA6jyR?ndjZ?+<6lTGhlc!%(G76*z~Dbb*{r+ z@xti?=+sB>x|`7$&=m0m2;sfncyI!c#?~VFCc-=NFcfIVt zwerWY!e>yVQZVw!@)BOHj+fdCl-P|!op=$B_51H5Rd57~dr$-wsmXyK{teCgnPzdJ zT->higl-6S&v2eoxn&x?;+u1IM%`uED4Nfbapvs@A1Vef1WIAqsa&$LiyUlmnDpO1 z5b_^Rz^ndUs@gm3;$QFLWb1+G14S40)Rd3$;*VZBAHqG!a9y-O$r~Du z)e$>S9%CPjsXltCG2UX$&tF>D*B2E-5Um6|r>>xhmb3}f{4V4(T9Q7S(AkYMpW@Wh zkCV9MwGNSx`#JWzlwS6mdX?AASg}z2hvIZd)4W)PwHJMC$Wv*|i}yK>n?D985jXG1 zQ+!<$nb}~SiXmrQt(4HX55syBtHZ?pbsZ|l{rf z`vKDt`{cxz@up8_=#ur2w{xk&d*XzWAlyk$Cg6(xoZB`TSQv`X5xw{|98GH=MsYN3 zWBl*F9!;fp)OBV-@Y!&Yc&thm`i2b|dt|S;qkhX+4$A0aeKtw$@$>W-(D}3Mq2Dhl zz}MX;;5*gUeG)-~9%Y^$f(PSANiuQSO@m^z^>6LDS61h~pp&9X`2<5vb3s(Vc5mWk z$`o#&ZR@?2CUpor{Y_W&ZVB3pu|G{a`^J1QWxuN19@VtXdwM7MUeI7!X>U&9`9|Sg z@moL+;5jm0l`|2aVDquGnOT>)JCClgBy(R6FEPM8aau!Kk@K?ai-qF{*`tg+6wAF9J_n1@cVffuleVQ;mqF(vIKVZIl%*NxT5wE@l@mPi$z(j^itgbbQje)gY;)xrK@> z8S&AiNGe;|p+QiDB6c0jtRt~9`Ku^_koI4$TdixVZ2TkA;LP_J(=OlD8vmm(6!dQOWSc- ztUE&OasJ*Q_o0l^#B?Gz2i%Yewv;Rxzn&ToD_Grs z^mglI1Mu#mb0IRWPcfN5t;>zcniQ+}(XuQy)8J#gn-z6_kFt!Gt;>yEYF~VA-)xPRlkr!)l zJhY!B zn%sp=uV+8osN}EovL`n27IHxh%t}7K2jA;mGaq4fM6Cbw-skZr2Bbx#8Vqxi`5>DP zM^4{23Z%M4yZD8f(y;&J;e-EK%yz3M{&5Z(w;i?tq8A@dKux3vgzPr+PD}tX;lJ6- zGXbJYvw}e_<-cYF2qKsy00G6Xw|ru{>rDgV{k&21AV{=o#th|p0GIJ!`$C76_!2&6 zS*Qfh?n)V%IlS|l9YdAPyC<${kg5ZG6$9kp45=QC zjXi&A%E9+C2pybO|Km-ZiW9@UHu00;uLkM4=7y&KlqMAQe@_@cy|t6$Mae4u>kP_9 zcBlCdkwE(bW;p2K686E@BaHOCQ~r7_``U5(bFU-raTce2TTOrKPc{V(gE5LWbsyat zu>+aEOAo0IKT%DT)Ktg)SB0|AV(i*|)q>&~w6yc(Ib!3a+;j`hJQu<}aUr5TSA8fr?M+<@Qzg3+ef) zUSqD+qtgd@1MPohPGf=p)!bRXMb(AxUIAs0E3<}BXxJ^#Tu*LC0*2KLNs_TIDhTF-OepBuq3+0)rD`q8mZkd4B`*GF~` zpc3)fGNLf-K>m16lJjVuZnQ)dWl7lb2{?j>vVLB|jeuUoX)#E`@E$K;`-``f5vZ=K zw!nPq;PDDhd$!q@-`ukx*R&~gr6inUA4_uRGL&ZgS*)h)z9ctHeCgBG>Q(DEAg;)E zozxj^@%0`01TX|*Rv=U17F-CA_LvlQ30~KWIi!U*Jr47)3*8SE9s9c3FXo+NghBh1 z!U-SvP{%~#oB|K%E8Kq|``h@Q&Ywx(Cb!8; z6ewEm+=l}2+f=LVmqZ;()hgwG%+*WP`wGeyQ1zr*;F`T9l z0LJHEVOzjrb`*I8q$gY#KnpOY2ar|LIs?gKnHN{8!w$Sp-AT@UMA=kn^q}K;9@)e? zGnvmHIh~edEjRl@CpRoL^Ee6i#FL^!)REVol+s23I1t1>)nJiC!15li)`$VyJM@Q2b^--3LRd5lQ~GGPCAZZPSNUf-Y$A^89kJsp;UjqE%|_PjQN&_IXz zq7BUH4ht+nqzVn1tuF6=Y<#B^+;6t9(D|-%)Gv)s-jn)eNo?(1pcUo7e}sfk5%x1c zw8fou@SrHxwQJbpb?&n!0X`HjGF7zuZIBvcL5I2fZ?PktLkF5B?E{1isXYq`A^I8=meq>Uf8xj zW~Kn^ue8IlN1Ez@E_W4Q!XNo@WwE=eu>QV}N5DXxV&V3|5d>>^C}=Nff-y!vK>SJ3 zLTZ_FaI2f-!#YI~dhE#_vQ~0g%uiHQ8SS}s(*#!6Tk_n7qT1}7#% zc=ZmjFf4W)0@HrqWAs7AjC^ZZ^L6k1uiuu|d8tVjSsrvLR9VB!uaE!rxPC} zH5uQj3%0>TQ1_jcu1dT}^KEZljKU7Y;FK|=MNs03B2*#cp4UH{>Z~V9-l$dE$%pL@ zd-T6OJ>#*NynHiJtV}Mo$~~m=BIEA1 zi0hs|B54Y+%M*^gkILII6s~<*2oP{jiPdse9IK76o`#Wy{1xxzjoo)ae&sxRI7n@y z5V1kurx-%F&?J#+^xG1?GV%9*wn&TDs;w6I;0rf2n-xqullJ)I4%=#LykITJ7Wa5zf$nz8H4*05Sglc{v97ymj&V>n0O^$ zRK1T)_`G~nKdt-OX(*eiV8%JY^xyiPYTWtGfDkKQCk&=vj|Uo_NIb&%uHC!Rj>8dU%xS>G-7 zRUzoKhMj;97MyVe1b<^|n2G|?RLTa4ZK*-i`~R2?K1v_$=WE~5DW(|h&#*s+>?o#y zre_bZQ{)-fA~=B>g}H|yTQt?rVthn>;Q3$A8rT6PM9am0jeTGd1ii0wiU}w1Jw5<^ z$3olINzle%)iUrXtmDj;KsMOc$0Q~kFhrcI$o3+w+7Q&%<9zs$DeZn03gn7CoudHi zo($tM%-T}bwfl3PuU7Vva)2@LV)oKw<;~XV(T{RpS1O6yY9kDtPfE;jbe=(JU!6M* zqKJ6<(=Jy#+Z(n<+&W|!G8`hN2xrtrck)4Jd!#_FggYw3WmLW`Je(e_`}siE8b-GT zkbG2A>ZIxZDC6=ie&8l3r+K^aNbLdRx0>hqu2rMb52OKI$_<;DPO1E-Jp@h3{)699qic@{h!Fwo^e*s{w2y)c6q|#%oI3KLresAzoS)ENK*D1l zC{Np!s-<*$0K`Fbu=sO8$F_c%=V(`~n950){RqHxdxFoX9t%M1e`6`75b~1mjRyA! zaahjGTceERpoTS@oh_MEWr`T7-wzTyrW6t+_r!qOg!N%l07Ttqk&y@ZP|+yg69kY7 z(Dk?U@dXuJAU#~BhG-ST!wu~pyX)Ra8B1=BOA;SOAYd^8UEGsx)5i#10^kRdwuk z`2N|w{ccGK<>P8By0$vbFp~aAyK=o@@%u{U{A2BmN_|nG>fEYtBn=Asf4;VRXp`?e zi@(2zny4dHV)}#o;~XAQAhFsd(Ax7`YnIc6fsdO2QP<#*inHqrD9X5cIvIAi5Jkso}f2jC>!Al^q!&?bp`0%4`o`1}(_c~)SM zA&Ss1-BQ9j>HDnemvoVNPRHH9%oeY;hY=5|T7?gvJo!H?i0@i_N6@TBXS-0}vB>kw zwU~5^d2>HWuS)!e?Ma;6rpJC+iea6Qsc?lcAfOWP^#f*r^Pa2P&-c?oQ?uXq`dq^P znHx`LwB5LMvY(Dtt#J8cU8>J8OLbF7tuf58TBU_hKrQzWd9o2|MWyVlS4+OMO_{Nz!+tli)-Q@PUVyp^Q5 z--$hqnHJRRL52Z89X{0EhZ>qqhY@6v?tB*}X&%hHfhJT8XIzxjCuI1(ua&@faQH32 z&zn2k5fF7Fr4>XFbKBD7993O1yMIa5MEOQS=DS?2(>D%AgjH%rLY!mwp`Srsw_Cyp!}+8G&2l;oC4{%M;Oj;MUtlB!7p8uULy`DDJ*tzdb$J zH0YUKJv4Lk<3Z8wT)^w+)%8%_z4H%_ZW1YZ2*m#bByohvFwpK zu$gd_kWF->@W?NQL_y%+=B!QGS%<-emDmsdkNL5c5q5aN#7WhiG#v@^YpfW?@C>ql zbj7QeAt%vi*X9aCzV$;lL0Lj0nM7!#UqcojJU+84cOH$kZq}>CL}odpM{3}{InZHZ zXlDA@`SZPO*}t_3R(md5%w$d3$6aX~^vOx?*|;IkOSPpZGSct>xb@#Br@tdcbcZ zPW8TI==^&cqs4TC0Sy9r@KxU$T%V5y1+P&yhg~kgvS|5|z?P_-k>$SaLuL-ZA+$CPuyd6U5<|`&X8GXcGkb;8n{XGbS zYg}{tXnB>Xmg7wyMA64&I29z$hYj&@)OLsz++mU#R`1&?p((UZ#5UJvytmY{bfC9ZjJQPT-DX-4fWf-oP5rHD+?MyN zG#+Nc#NQntp8TztXl(~VMj#AV{PIiNg9&qA2rwk zmus}AI|MKm& zkiYT~q%9&~&BL-``giFVlqAq=mjFp?;ML%bSH{+WpI6&)`|+-OalVa!s;vN(wZK+I zzKFc56QZkN@!NZY;sYCjQM-+`G@&QM_e*=;?p0wsgB(g!tb<>^J&2SoCC$wEVQd}% zq>Zkfu~jnp0oR!`9zR1J1kO@JIpG*~1M;ZVT#2{^$)~r*ga`u@I7C@jsuA*b{#0)d z`EKlz2}G(&Pe{1&;#Um+nGwrgs#VT<+g?(Lp*3Z&{Uf#?TXZmP73FWzg4H;dnDasz zO3*_f%D&M6+ZJe&^rJOen~TwB?^1Qt2D;pUlO}z!v0TsOC_nG9r;b82Q=4fzJoh8|DfUOkuKP88;x~HL@6j; zDOhy5iJ4+5DrzHc&C{W|4-1k{w&*B_yCLczy>ZZXlf2C72bBS;9-%+>3axg?=3X&Rkowox>i+roUBK$hnN|Yic88!>FQ*}yBvTy zvX0BFRk2J09rT#&>Bt!qihmJ>N?6X*jWS<8y6c)N+eU{tTubFGt$J zc1c=fdH8;*DrUOsWk=^E7lTeJlUC`exk#+QwN`@WKtD1Ub#x`p8kYVpVEHD`qI*l2 zV3>yGSLk5ed|#CiE&m!2F%jkx;ek!;eGBzP!F=<;;q`%1ihxwC7VGyb@)nxem2o~> zUlb*l(Gi{k2e~v;2?yjc_kZ{ZcY)$&0YwRXPyx=_^BScyKeKNCw*Bbiqg>`1hT5|W z`Zs*aBAgHRkwX1W#-Lb@xZgGsE}!j&eJlvdFx16t13w9tMzk3Zjd8K$alBNx+Pami zXoa2_#XB`Rs8f(US)OL5krk*)<@|*MvrpiCVJpRk=Fz#HgNao~s7)7hb8D+hb^FlSkh8szwu#f#ZlH|)Q2;qx} z0^yLTIb`UQn)pmFgSw$`H{s=x+eBm~bzHuv**sXn*OYevvG~vyG9k{Ue!1A&V7Du z9Di>I?y8C2jD8CxUj5sNe>#;R7B~q++t0^q99G(*nUzR~jknj8klo;pZcB*U4)J!3 ztn(!2bJ(6mTR98Lz>>(BQ(DfGNUOp)=Vh8Gf>zJ2 zu0s$1xg{GX*DgTAXEnalhSBJZIbgn|kJOnx%k6mQisEla5lbt9 z`5rlQYT1PJX|~rc)Sn zVcEYFaK_vY%I%=d;M0Lee3y%JUQ{dEp~m+w#XXgKrgVpcASn)UA%2SOQiH8|1%8J3 zheJYhm=KCT{`bI+nj&DIw~f&d0(nZQf(^ElSx$sLJ{Yz|k{(`oqy6uK1R=$}m{e}N zuB${M>Ww&3Cg<&XwDVVsZifk>@jH^i>qGJn^msd#vJ;hV2aBXZ&8pj$5xs;u5bl5+ z4kUU@04r*zvZIMMw183j6$VvuW_OX4DWP6<99)`57ZU`>|QuAz2vE*P<*M6@j0pxUSc^Z8B3G-m)XT->Td1MzVRSfbkUA^1n`1&I-MKAvt z7VDi1YvG}iXgJ1(1*$P;Ky`d>2UaMfA(&c~p%PYS&ZhJ8Xfz9myzBdXjY=(bNr{^+ z#vi6yQ)Te^5TFWC6qdIdhfg{de1a*<2tVD5;ku#lr3!cOAFTL=cm%iK%%1Pf-F-H} z#f`C5~>Xs>D`eaH5z>XiGwuU;UvD z*`QZ1tyqgQRgKlRX~jKf^-m6uaL5C8vB*R0vW?3MZ474a z$fMYMvT|$6^6s~4ye@`Z@zUS9CFl<^<{K70$6-Cmc`Y!;1|f>)81>`l=T!dCS}c6h zY_aw-`CihS5LqtxnTULN&C;Jt!6R=uVnsqDv^wOrHU@&YY57L0cSZVTCW@iIP&DZ? zT~w_d^-LBW?cXDCA!SloQ>cpyD;y!2H@XIR#5rwm`j#b*5C(Li(>3Q({wy%<$b^&O zvblZwpzv11K!Qd1rNPYZio*A)Th+M^>CvF&vD>%BQ08&A^|q>Q`1kzC5?4$*L!G}f z+W{mVT*ih^;vt3d>P8^+cF*!9Ji|>d>!|&V3ErC_!8u4xy#4tJ3l4@g$1!D{WUt)L zrH-+Z3Z1Q@8fju{44+8P5`s!O7Ol@~+^}q~zqrb9e+SAfD!UJqMvHQ7Nasa)@PWbk z^Q0|hv86dkfVp2vkD{gKNrBwh=B?biwmFr-D2>geeFS3WDDTa=uas z^<=Mq55cw~;gnt)Y({PK^Lbo$JggJDmv=N57{cXem(AnW(9v(1MJ;h)SoWi$*we&T zQs=iz1>=MPyeO}DLY`^z@H|7zqD47bhRX|CC3GEQ5A&eK1i>YG8To!1oNRcvqw}e! zeb=NPQJ%hSc*J-9>r2K|aa3n)4B?y!Ho~rcjze(+!OD+gXJnNdQWs~=!+MvYy~P>N zL}PV*!;glgK5wkis2_<+6Ig=ALlAG_?T>NC@4Qf8^F4+$VOGmUJM?+Shk;dYpKCBN zBYxT`3VD7zz~{x;5doi}ijl#2u~S*s)%L|~7E&eepX|rE` zCP&E>q~{$CK%#;Yg;UgJUw!`8V!2oeSFDQ^lWy<+0ij3`wnG0#jAMbw&m_UU^4xW# zS$tcDU?tD&W!;cEyKzs|C(+UhxxgeA9kXA{<lCV75%^2Y8I3_5KPAIY ziwzH~Xe9F6+j&!_W*m6v=W!_g$v|)F{8JXtm)`@xgP#nYUn+?)gJk`F{m$(LsN(JH zpz~3oK)+}mfLNnDCinM}*Hq<9IQU4$np7)ya-U6S{uZSwBjFdNY>xg@7?bbdcSnL`S*iOIS%*EYhZ3PmIY9m!b>NyyryP{!; zg3;W)^aHaLTNj+Bi%%dEon$iNNDKLh`Q|83DJj65A`S7snaBUzUsHU^SsNkuth%#K z!oot3G=fttH`-jmZ%J$P*v_z@ry)LmxAP-MCR`^plrmZi`xxqPOoVW1z_nEI*zD3UFu*D6OxFTXfuduQ@rE#&2K zk#X0_k^N7vPTL&{#8#HheW!=2U@>^Y_5P0UQz^~O9MLym2I*@<@~Mr8eRNoRWzN11 zX0(Y}M|wK?-o*A;M#eP4As#0D(>wXFih0710=;ZV|Ggg%bq=&G?Wu<2e}}Ig3rk`u zsGt}7ae_A<3HIAuTqEQ0f6ZY92icYKo74Y1iz1-(l?p!nBI{i69pO)#m?|x9aK@0EVmv^~!L3uxAXAo(0PRY9Bye zm))8C8Sw}f^#S0$5zs4CaYkokjs62t$8q&RYkvfgIk)f70f6vk1l0KnZKum6j8OcW zWyP_*ZNist{vcvr`Za=HyN?a9q~6=}37u}?JO@1^GXO!=H^zcTw}7sA!(^UJM4)f- zp@kire*L%!>~OhNmHe0)SQG45k`f8s$@YE@OIIaY3pPSBzz9>hZY&BL?Eeejn{fD>i`Hqxf*u8MIR%e z>M|>wF5=~8^KgI1LbJuU_({sS7L^9Qx&N$kNU$w3D@JliHaGn(rufX$o#GpP;p$1? z_7;&4$7^suu#7Dg7pBYUc6~2-atwUAhaO4HI;xxZus^w4v)W&B z{?Z4qb~FXqjdtA2T-R=7dEK^0X9+08(4o`|od9}j^RYeil%6wmMPQ5fjlC2|!H*a6^J6gEj&R$be+5lp zrv$>Gm^=m6IvOWcy;I;0#F+ZTQ@;qL86y|IKu}cZXk<(a&ET(aF)+hIXbe&;yn>+TnGbp=bdsKH zrn5k=v_orMm@Dg-kXit4WeqO>+)fu~mXZd)qe&X^V-FX}KfM|LURqxQG$76A#)&}e zYn4#`#17Kz>Z2rf=h8BAF=LVag;gy*@GMG-KTCt}reyuQ4eQxEfrVGKq6j(T?J#gS z+)`#1yiW$guFN_|GCj_~_2$LZ0AfS&$oS|TYiuWFw;M@HVH&ivC0D`Uv)i@p-N_1! zcU4x9YpjVu4Bdh!Fk0S8#Wej=^REI9sKU>TJa7A~OxpiSC;%vnWp2g#I8i~??-b2U zV>A|Np~>S6q;Aw`K!Gb&hEYBn zoITi68J^B*byACe3gik(qnebPC09iJFBiOG(-77H{z3$MI&QULzg}T5zMdH>HJbF> zerd7(WKc*K^pYKS0#I3Fe-*Hrkc&=5`U@y9ZjVG;$PC86II&wHruBy_-hN@y`h7O$ z#5a5A5ky9Grux239w)*=4Jl}4a|1v})>qix4!V(h*tOibML{u&dyIVt&bdhJT6Kgm zZZfMSxUEJD(ri>59g#Bb#X#pN%Y9ne3CHymq!Y*hHyDAoWKJ12mV~?2Wszbk4p>wE zR44@2ISQmSKQN@Ce4c~S literal 0 HcmV?d00001 diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/start_scan.png b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/start_scan.png new file mode 100644 index 0000000000000000000000000000000000000000..aa1a6fba5301b5d60af75f54d80b0883e7325714 GIT binary patch literal 87513 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 _-ZGrNKNa(LDSSk4Ss(bN}?5XFWUp#_eu5 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 literal 0 HcmV?d00001 diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/mbed-os.lib b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/mbed_app.json b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/mbed_app.json new file mode 100644 index 00000000..4309a7c2 --- /dev/null +++ b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/mbed_app.json @@ -0,0 +1,16 @@ +{ + "target_overrides": { + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + } + } +} diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/module.json b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/module.json new file mode 100644 index 00000000..42d3f5ab --- /dev/null +++ b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/module.json @@ -0,0 +1,16 @@ +{ + "name": "ble-batterylevel", + "version": "0.0.1", + "description": "An example of creating and updating a simple GATT Service using the BLE_API", + "licenses": [ + { + "url": "https://spdx.org/licenses/Apache-2.0", + "type": "Apache-2.0" + } + ], + "dependencies": { + "ble": "^2.0.0" + }, + "targetDependencies": {}, + "bin": "./source" +} diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/readme.md b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/readme.md new file mode 100644 index 00000000..1662eadf --- /dev/null +++ b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/readme.md @@ -0,0 +1,68 @@ +This example creates and updates a standard Battery Level service containing a single +GATT characteristic. + +The [battery service transmits](https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.battery_service.xml) a device's battery level in percentage, with 100% being a fully charged battery and 0% being a fully drained battery. + +Although the sample application runs on a BLE device, it doesn't show the device's real battery level (because that changes very slowly and will make for a dull example). Instead, it transmits a fake battery level that starts at 50% (half charged). Every half second, it increments the battery level, going in single increments until reaching 100% (as if the battery is charging). It then drops down to 20% to start incrementing again. + +# Running the application + +## Requirements + +The sample application can be seen on any BLE scanner on a smartphone. If you don't have a scanner on your phone, please install : + +- [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android. + +- [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone. + +Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Building instructions + +Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Checking for success + +**Note:** Screens captures depicted below show what is expected from this example if the scanner used is *nRF Master Control Panel* version 4.0.5. If you encounter any difficulties consider trying another scanner or another version of nRF Master Control Panel. Alternative scanners may require reference to their manuals. + +1. Build the application and install it on your board as explained in the building instructions. +1. Open the BLE scanner on your phone. +1. Start a scan. + + ![](img/start_scan.png) + + **figure 1** How to start scan using nRF Master Control Panel 4.0.5 + +1. Find your device; it should be named `BATTERY`. + + ![](img/scan_result.png) + + **figure 2** Scan results using nRF Master Control Panel 4.0.5 + +1. Establish a connection with your device. + + ![](img/connection.png) + + **figure 3** How to establish a connection using Master Control Panel 4.0.5 + +1. Discover the services and the characteristics on the device. The *Battery service* has the UUID 0x180F and includes the *Battery level* characteristic which has the UUID 0x2A19. + + ![](img/discovery.png) + + **figure 4** Representation of the Battery service using Master Control Panel 4.0.5 + +1. Register for the notifications sent by the *Battery level* characteristic. + + ![](img/register_to_notifications.png) + + **figure 5** How to register to notifications using Master Control Panel 4.0.5 + + +1. You should see the battery level value change every half second. It begins at 50, goes up to 100 (in steps of 1), resets to 20 and so on. + + ![](img/notifications.png) + + **figure 6** Notifications view using Master Control Panel 4.0.5 + +If you can see the characteristic, and if its value is incrementing correctly, the application is working properly. + diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..c8075908 --- /dev/null +++ b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/source/main.cpp b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/source/main.cpp new file mode 100644 index 00000000..a4f735e3 --- /dev/null +++ b/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/source/main.cpp @@ -0,0 +1,129 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2014 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include "ble/BLE.h" +#include "ble/Gap.h" +#include "ble/services/BatteryService.h" + +DigitalOut led1(LED1, 1); + +const static char DEVICE_NAME[] = "BATTERY"; +static const uint16_t uuid16_list[] = {GattService::UUID_BATTERY_SERVICE}; + +static uint8_t batteryLevel = 50; +static BatteryService* batteryServicePtr; + +static EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); + +void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *params) +{ + BLE::Instance().gap().startAdvertising(); +} + +void updateSensorValue() { + batteryLevel++; + if (batteryLevel > 100) { + batteryLevel = 20; + } + + batteryServicePtr->updateBatteryLevel(batteryLevel); +} + +void blinkCallback(void) +{ + led1 = !led1; /* Do blinky on LED1 while we're waiting for BLE events */ + + BLE &ble = BLE::Instance(); + if (ble.gap().getState().connected) { + eventQueue.call(updateSensorValue); + } +} + +/** + * This function is called when the ble initialization process has failled + */ +void onBleInitError(BLE &ble, ble_error_t error) +{ + /* Initialization error handling should go here */ +} + +void printMacAddress() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + for (int i = 5; i >= 1; i--){ + printf("%02x:", address[i]); + } + printf("%02x\r\n", address[0]); +} + +/** + * Callback triggered when the ble initialization process has finished + */ +void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) +{ + BLE& ble = params->ble; + ble_error_t error = params->error; + + if (error != BLE_ERROR_NONE) { + /* In case of error, forward the error handling to onBleInitError */ + onBleInitError(ble, error); + return; + } + + /* Ensure that it is the default instance of BLE */ + if(ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { + return; + } + + ble.gap().onDisconnection(disconnectionCallback); + + /* Setup primary service */ + batteryServicePtr = new BatteryService(ble, batteryLevel); + + /* Setup advertising */ + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *) uuid16_list, sizeof(uuid16_list)); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *) DEVICE_NAME, sizeof(DEVICE_NAME)); + ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); + ble.gap().setAdvertisingInterval(1000); /* 1000ms */ + ble.gap().startAdvertising(); + + printMacAddress(); +} + +void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { + BLE &ble = BLE::Instance(); + eventQueue.call(Callback(&ble, &BLE::processEvents)); +} + +int main() +{ + eventQueue.call_every(500, blinkCallback); + + BLE &ble = BLE::Instance(); + ble.onEventsToProcess(scheduleBleEventsProcessing); + ble.init(bleInitComplete); + + eventQueue.dispatch_forever(); + + return 0; +} diff --git a/BLE_Beacon/deprecated/BLE_Beacon/.mbed b/BLE_Beacon/deprecated/BLE_Beacon/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_Beacon/deprecated/BLE_Beacon/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_Beacon/deprecated/BLE_Beacon/img/beacon_details.png b/BLE_Beacon/deprecated/BLE_Beacon/img/beacon_details.png new file mode 100644 index 0000000000000000000000000000000000000000..2835e694903e7e37cbd71b45e9785379e768dd33 GIT binary patch literal 65715 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�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 literal 0 HcmV?d00001 diff --git a/BLE_Beacon/deprecated/BLE_Beacon/img/discovery.png b/BLE_Beacon/deprecated/BLE_Beacon/img/discovery.png new file mode 100644 index 0000000000000000000000000000000000000000..48b15406de9ae831297027f516f886616a93baae GIT binary patch literal 66562 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 _-ZGrNKNa(LDSSk4Ss(bN}?5XFWUp#_eu5 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 literal 0 HcmV?d00001 diff --git a/BLE_Beacon/deprecated/BLE_Beacon/mbed-os.lib b/BLE_Beacon/deprecated/BLE_Beacon/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_Beacon/deprecated/BLE_Beacon/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_Beacon/deprecated/BLE_Beacon/mbed_app.json b/BLE_Beacon/deprecated/BLE_Beacon/mbed_app.json new file mode 100644 index 00000000..4309a7c2 --- /dev/null +++ b/BLE_Beacon/deprecated/BLE_Beacon/mbed_app.json @@ -0,0 +1,16 @@ +{ + "target_overrides": { + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + } + } +} diff --git a/BLE_Beacon/deprecated/BLE_Beacon/module.json b/BLE_Beacon/deprecated/BLE_Beacon/module.json new file mode 100644 index 00000000..e0b3e29c --- /dev/null +++ b/BLE_Beacon/deprecated/BLE_Beacon/module.json @@ -0,0 +1,16 @@ +{ + "name": "ble-beacon", + "version": "0.0.1", + "description": "BLE iBeacon example, building with yotta", + "licenses": [ + { + "url": "https://spdx.org/licenses/Apache-2.0", + "type": "Apache-2.0" + } + ], + "dependencies": { + "ble": "^2.0.0" + }, + "targetDependencies": {}, + "bin": "./source" +} diff --git a/BLE_Beacon/deprecated/BLE_Beacon/readme.md b/BLE_Beacon/deprecated/BLE_Beacon/readme.md new file mode 100644 index 00000000..20a175d6 --- /dev/null +++ b/BLE_Beacon/deprecated/BLE_Beacon/readme.md @@ -0,0 +1,52 @@ +This example creates a BLE beacon: a method of advertising a small amount of information to nearby devices. The information doesn't have to be human-readable; it can be in a format that only an application can use. + +Beacons are very easy to set up: the code for all beacons is the same, and only the information you want to advertise - the beacon payload - needs to change. + +This example advertises a UUID, a major and minor number and the transmission strength. The major and minor numbers are an example of information that is not (normally) meaningful to humans, but that an application can use to identify the beacon and display related information. For example, if the major number is a store ID and the minor number is a location in that store, then a matching application can use these numbers to query a database and display location-specific information. + +# Running the application + +## Requirements + +The sample application can be seen on any BLE scanner on a smartphone. If you don't have a scanner on your phone, please install : + +- [nRF Connect for Mobile](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android. + +- [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone. + +Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Building instructions + +Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Checking for success + +**Note:** Screens captures depicted below show what is expected from this example if the scanner used is *nRF Master Control Panel* version 4.0.5. If you encounter any difficulties consider trying another scanner or another version of nRF Master Control Panel. Alternative scanners may require reference to their manuals. + +1. Build the application and install it on your board as explained in the building instructions. +1. Open the BLE scanner on your phone. +1. Start a scan. + + ![](img/start_scan.png) + + **figure 1** How to start scan using nRF Master Control Panel 4.0.5 + +1. Find your device; it should be tagged as an `iBeacon` and observe its advertisements (there is no need to connect to the beacon). + + ![](img/discovery.png) + + **figure 2** Scan results using nRF Master Control Panel 4.0.5 + +1. View the beacon's details; the exact steps depend on which scanner you're using. + + ![](img/beacon_details.png) + + **figure 3** Beacon details using nRF Master Control Panel 4.0.5 + + +**Tip:** If you are in an area with many BLE devices, it may be difficult to identify your beacon. The simplest solution is to turn your board off and on, initiate a new scan on your BLE scanner every time, and look for the beacon that appears only when your board is on. + +If you can see the beacon and all its information, the application worked properly. + +For more information, see the [mbed Classic version of this application](https://developer.mbed.org/teams/Bluetooth-Low-Energy/code/BLE_iBeacon/). diff --git a/BLE_Beacon/deprecated/BLE_Beacon/shields/TARGET_ST_BLUENRG.lib b/BLE_Beacon/deprecated/BLE_Beacon/shields/TARGET_ST_BLUENRG.lib new file mode 100644 index 00000000..a73dc227 --- /dev/null +++ b/BLE_Beacon/deprecated/BLE_Beacon/shields/TARGET_ST_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc \ No newline at end of file diff --git a/BLE_Beacon/deprecated/BLE_Beacon/source/main.cpp b/BLE_Beacon/deprecated/BLE_Beacon/source/main.cpp new file mode 100644 index 00000000..d7c84b54 --- /dev/null +++ b/BLE_Beacon/deprecated/BLE_Beacon/source/main.cpp @@ -0,0 +1,101 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2015 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include "ble/BLE.h" +#include "ble/services/iBeacon.h" + +static iBeacon* ibeaconPtr; + +static EventQueue eventQueue(/* event count */ 4 * EVENTS_EVENT_SIZE); + +/** + * This function is called when the ble initialization process has failled + */ +void onBleInitError(BLE &ble, ble_error_t error) +{ + /* Initialization error handling should go here */ +} + +void printMacAddress() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + for (int i = 5; i >= 1; i--){ + printf("%02x:", address[i]); + } + printf("%02x\r\n", address[0]); +} + +/** + * Callback triggered when the ble initialization process has finished + */ +void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) +{ + BLE& ble = params->ble; + ble_error_t error = params->error; + + if (error != BLE_ERROR_NONE) { + /* In case of error, forward the error handling to onBleInitError */ + onBleInitError(ble, error); + return; + } + + /* Ensure that it is the default instance of BLE */ + if(ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { + return; + } + + /** + * The Beacon payload has the following composition: + * 128-Bit / 16byte UUID = E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 + * Major/Minor = 0x1122 / 0x3344 + * Tx Power = 0xC8 = 200, 2's compliment is 256-200 = (-56dB) + * + * Note: please remember to calibrate your beacons TX Power for more accurate results. + */ + static const uint8_t uuid[] = {0xE2, 0x0A, 0x39, 0xF4, 0x73, 0xF5, 0x4B, 0xC4, + 0xA1, 0x2F, 0x17, 0xD1, 0xAD, 0x07, 0xA9, 0x61}; + uint16_t majorNumber = 1122; + uint16_t minorNumber = 3344; + uint16_t txPower = 0xC8; + ibeaconPtr = new iBeacon(ble, uuid, majorNumber, minorNumber, txPower); + + ble.gap().setAdvertisingInterval(1000); /* 1000ms. */ + ble.gap().startAdvertising(); + + printMacAddress(); +} + +void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { + BLE &ble = BLE::Instance(); + eventQueue.call(Callback(&ble, &BLE::processEvents)); +} + +int main() +{ + BLE &ble = BLE::Instance(); + ble.onEventsToProcess(scheduleBleEventsProcessing); + ble.init(bleInitComplete); + + eventQueue.dispatch_forever(); + + return 0; +} diff --git a/BLE_Button/deprecated/BLE_Button/.mbed b/BLE_Button/deprecated/BLE_Button/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_Button/deprecated/BLE_Button/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_Button/deprecated/BLE_Button/img/button_depressed.png b/BLE_Button/deprecated/BLE_Button/img/button_depressed.png new file mode 100644 index 0000000000000000000000000000000000000000..a9da976a7112d4a56b66c5c9b123e04c70b42e24 GIT binary patch literal 69671 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�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 YZ?YP+_C-gSyaNAZBoxHUMGgG_FFEF8tpET3 literal 0 HcmV?d00001 diff --git a/BLE_Button/deprecated/BLE_Button/img/button_pressed.png b/BLE_Button/deprecated/BLE_Button/img/button_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..af8a889a0958b0b6f6ca9d02aad63e08a67a425c GIT binary patch literal 69415 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�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 literal 0 HcmV?d00001 diff --git a/BLE_Button/deprecated/BLE_Button/img/discovery.png b/BLE_Button/deprecated/BLE_Button/img/discovery.png new file mode 100644 index 0000000000000000000000000000000000000000..02fb19a80dbc522a74654a499081bd84e9b82db4 GIT binary patch literal 82646 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 z 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

FBIxKWU%pJ; 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 J{nRSte*jI-*arXr literal 0 HcmV?d00001 diff --git a/BLE_Button/deprecated/BLE_Button/img/scan_results.png b/BLE_Button/deprecated/BLE_Button/img/scan_results.png new file mode 100644 index 0000000000000000000000000000000000000000..0c1e8cf321effe0278a46050092c706ec1aa5dbe GIT binary patch literal 72941 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

$b2cAn@O$*kEHq7 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

O zedim-*|z!c+U9Xh%4%l!?yJHFci-*Wj^=7Sx{*SIC_hoZbAXn!2^I?K(^EB;ZhW3B zqU{VY*=^S6+Uh%jnDRIK6UM_p?smuVnuZes3~}uGZ0i(k?fYe1V^?$G(^Q@DAxhnf zKhFV}$?68ABit;ppJFpt{YWh<~F zHv!A}oE?W?;BVTdWDX8W{a#qGuT`?OvQe@;ra3O7VNFtJZD-c&AY<6wn;jDTqK#<( z`BTb*L&7u*2qGT@=I7O+`TenGD#J-}V?&Xkj12YK@J><2UcI6ApeuBG;eRV!S2izJ zGHllZ;4WpOR3h|=SJtp>Pp7(J9`d?)w-EW^l(j8c;%FYoE1Gb(kzmpogZPi@n;j_6 z)|W@TKA-YcEpAhn`6|~|Rna4(+TksT=3cMs*@jf=*pFH^tzW$^UTr|m@8!8s`JE%> zO&9B)B8N>sP9K5o>up#y9>R7JtRU&U5#*b`r=w5Vivj?hU@Ed7-qi$+Q3CSb7wR8a zt;1Rcn^NZ063lkzyE6Szp(x4fPZ_@DQRZZhr-(4I>qSbl549%4=rJk$k=fQZKc-h} zVmAyPl0$Nr!!XsnK?KSaz@amjRYm~VZi{qh@8aMHnyHDb*;f`CwkON2lN!DPV50u- z(fC$kC#=9F3&_NN5-!>+)8BJ6RbLY?9;{GklRiKIu-XV=Wj`yDz5rsfvyVZ*ip_Y# z10U#E%evQ4F)14?oG}o|s2B{4y2Kpl zUK}s@D8crrlxlhLfg0dDmzv{rH6r((Lb{{$A3pdJ-@i%w8$ZRM@OW<#Qc}i0=GQxQ z=9whZy2rLPo#sBN@Zg(j7ywF#dRp@nC#V9NInwr?8T$FWY$wLB-1dVFRpzyQ0G*}u z4NdV=?cu}>{_35}TNz%p&(VM&yGCJP^cYfXcC9k?%NTKGV6x>ZIfw^Qg_jgd)mo7{ zM^qzKEw8->)V!ktCsjs0Q=SMgG53#M*Zflc7{?6(<2YV?)P~6k(Bf*aUimgL? Z#uokPJoEj_Z4w~hFw`@>iPm*}_CNTq%s&7C literal 0 HcmV?d00001 diff --git a/BLE_Button/deprecated/BLE_Button/img/start_scan.png b/BLE_Button/deprecated/BLE_Button/img/start_scan.png new file mode 100644 index 0000000000000000000000000000000000000000..aa1a6fba5301b5d60af75f54d80b0883e7325714 GIT binary patch literal 87513 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 _-ZGrNKNa(LDSSk4Ss(bN}?5XFWUp#_eu5 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 literal 0 HcmV?d00001 diff --git a/BLE_Button/deprecated/BLE_Button/mbed-os.lib b/BLE_Button/deprecated/BLE_Button/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_Button/deprecated/BLE_Button/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_Button/deprecated/BLE_Button/mbed_app.json b/BLE_Button/deprecated/BLE_Button/mbed_app.json new file mode 100644 index 00000000..e834b5a8 --- /dev/null +++ b/BLE_Button/deprecated/BLE_Button/mbed_app.json @@ -0,0 +1,35 @@ +{ + "config": { + "ble_button_pin_name": { + "help": "The pin name used as button in this application", + "macro_name": "BLE_BUTTON_PIN_NAME", + "required": true + } + }, + "target_overrides": { + "NRF51_DK": { + "ble_button_pin_name": "BUTTON1" + }, + "NRF52_DK": { + "ble_button_pin_name": "BUTTON1" + }, + "MTB_UBLOX_NINA_B1": { + "ble_button_pin_name": "BUTTON1" + }, + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "ble_button_pin_name": "SW2" + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "ble_button_pin_name": "USER_BUTTON" + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "ble_button_pin_name": "USER_BUTTON" + } + } +} diff --git a/BLE_Button/deprecated/BLE_Button/module.json b/BLE_Button/deprecated/BLE_Button/module.json new file mode 100644 index 00000000..484fa72b --- /dev/null +++ b/BLE_Button/deprecated/BLE_Button/module.json @@ -0,0 +1,15 @@ +{ + "name": "ble-button", + "version": "0.0.1", + "description": "The *input service template* demonstrates the use of a simple input (boolean values) from a read-only characteristic.", + "licenses": [ + { + "url": "https://spdx.org/licenses/Apache-2.0", + "type": "Apache-2.0" + } + ], + "bin": "./source", + "dependencies": { + "ble": "^2.0.0" + } +} diff --git a/BLE_Button/deprecated/BLE_Button/readme.md b/BLE_Button/deprecated/BLE_Button/readme.md new file mode 100644 index 00000000..b0d72030 --- /dev/null +++ b/BLE_Button/deprecated/BLE_Button/readme.md @@ -0,0 +1,99 @@ +BLE_Button is a BLE service template. It handles a read-only characteristic with a simple input (boolean values). The input's source is the button on the board itself - the characteristic's value changes when the button is pressed or released. + +The template covers: + +1. Setting up advertising and connection modes. + +1. Creating an input characteristic: read-only, boolean, with notifications. + +1. Constructing a service class and adding it to the BLE stack. + +1. Assigning UUIDs to the service and its characteristic. + +1. Pushing notifications when the characteristic's value changes. + +# Running the application + +## Requirements + +The sample application can be seen on any BLE scanner on a smartphone. If you don't have a scanner on your phone, please install : + +- [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android. + +- [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone. + +Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +### Porting this example on new boards + +This example requires a board with at least a button to work. While the pin name of the button is defined for the `NRF51_DK`, `NRF52_DK`, `K64F` and `NUCLEO_F401RE`, it is not specified for other boards. + +It is easy to add the button configuration for your board: +* Open the file named `mbed_app.json` at the root of this example. +* In the section `target_overides` add a new object named after your target if it doesn't exist. This object contain overridden parameters for your target. +* Override the property `ble_button_pin_name` in your target object. The value of the property should be equal to the pin name to use as a button. + +As an example, this is the JSON bit which has to be added in the `target_overrides` section of `mbed_app.json` for a `NUCLEO_F411RE` board. + +```json + "NUCLEO_F411RE": { + "ble_button_pin_name": "USER_BUTTON" + } +``` + + **Note:** You can get more informations about the configuration system in the [documentation](https://github.com/ARMmbed/mbed-os/blob/master/docs/config_system.md) + + **Important:** If your target use an ST BLE shield, other parameters have to be overridden for your target. More information are available in the global [README](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md#targets-for-ble) + +## Building instructions + +Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Checking for success + +**Note:** Screens captures depicted below show what is expected from this example if the scanner used is *nRF Master Control Panel* version 4.0.5. If you encounter any difficulties consider trying another scanner or another version of nRF Master Control Panel. Alternative scanners may require reference to their manuals. + +1. Build the application and install it on your board as explained in the building instructions. +1. Open the BLE scanner on your phone. +1. Start a scan. + + ![](img/start_scan.png) + + **figure 1** How to start scan using nRF Master Control Panel 4.0.5 + +1. Find your device; it should appear with the name `Button` in the scanner. + + ![](img/scan_results.png) + + **figure 2** Scan results using nRF Master Control Panel 4.0.5 + +1. Establish a connection with the device. + + ![](img/connection.png) + + **figure 3** How to establish a connection using Master Control Panel 4.0.5 + +1. Discover the services and the characteristics on the device. The *Button service* has the UUID `0xA000` and includes the *Button state characteristic* which has the UUID `0xA001`. Depending on your scanner, non standard 16-bit UUID's can be displayed as 128-bit UUID's. If it is the case the following format will be used: `0000XXXX-0000-1000-8000-00805F9B34FB` where `XXXX` is the hexadecimal representation of the 16-bit UUID value. + + ![](img/discovery.png) + + **figure 4** Representation of the Button service using Master Control Panel 4.0.5 + +1. Register for the notifications sent by the button state characteristic then the scanner will automatically receive a notification containing the new state of the button every time the state of the button changes. + + ![](img/register_to_notifications.png) + + **figure 5** How to register to notifications using Master Control Panel 4.0.5 + + +1. Pressing Button 1 on your board updates the state of the button and sends a notification to the scanner. The new state of the button characteristic value should be equal to 0x01. + + ![](img/button_pressed.png) + + **figure 6** Notification of button pressed using Master Control Panel 4.0.5 + +1. Releasing Button 1 on your board updates the state of the button and sends a notification to the scanner. The new state of the button characteristic value should be equal to 0x00. + + ![](img/button_depressed.png) + + **figure 7** Notification of button depressed using Master Control Panel 4.0.5 diff --git a/BLE_Button/deprecated/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Button/deprecated/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..a73dc227 --- /dev/null +++ b/BLE_Button/deprecated/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc \ No newline at end of file diff --git a/BLE_Button/deprecated/BLE_Button/source/ButtonService.h b/BLE_Button/deprecated/BLE_Button/source/ButtonService.h new file mode 100644 index 00000000..86c92040 --- /dev/null +++ b/BLE_Button/deprecated/BLE_Button/source/ButtonService.h @@ -0,0 +1,42 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __BLE_BUTTON_SERVICE_H__ +#define __BLE_BUTTON_SERVICE_H__ + +class ButtonService { +public: + const static uint16_t BUTTON_SERVICE_UUID = 0xA000; + const static uint16_t BUTTON_STATE_CHARACTERISTIC_UUID = 0xA001; + + ButtonService(BLE &_ble, bool buttonPressedInitial) : + ble(_ble), buttonState(BUTTON_STATE_CHARACTERISTIC_UUID, &buttonPressedInitial, GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY) + { + GattCharacteristic *charTable[] = {&buttonState}; + GattService buttonService(ButtonService::BUTTON_SERVICE_UUID, charTable, sizeof(charTable) / sizeof(GattCharacteristic *)); + ble.gattServer().addService(buttonService); + } + + void updateButtonState(bool newState) { + ble.gattServer().write(buttonState.getValueHandle(), (uint8_t *)&newState, sizeof(bool)); + } + +private: + BLE &ble; + ReadOnlyGattCharacteristic buttonState; +}; + +#endif /* #ifndef __BLE_BUTTON_SERVICE_H__ */ diff --git a/BLE_Button/deprecated/BLE_Button/source/main.cpp b/BLE_Button/deprecated/BLE_Button/source/main.cpp new file mode 100644 index 00000000..66418d32 --- /dev/null +++ b/BLE_Button/deprecated/BLE_Button/source/main.cpp @@ -0,0 +1,122 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include + +#include +#include "ble/BLE.h" +#include "ble/Gap.h" +#include "ButtonService.h" + +DigitalOut led1(LED1, 1); +InterruptIn button(BLE_BUTTON_PIN_NAME); + +static EventQueue eventQueue(/* event count */ 10 * EVENTS_EVENT_SIZE); + +const static char DEVICE_NAME[] = "Button"; +static const uint16_t uuid16_list[] = {ButtonService::BUTTON_SERVICE_UUID}; + +ButtonService *buttonServicePtr; + +void buttonPressedCallback(void) +{ + eventQueue.call(Callback(buttonServicePtr, &ButtonService::updateButtonState), true); +} + +void buttonReleasedCallback(void) +{ + eventQueue.call(Callback(buttonServicePtr, &ButtonService::updateButtonState), false); +} + +void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *params) +{ + BLE::Instance().gap().startAdvertising(); // restart advertising +} + +void blinkCallback(void) +{ + led1 = !led1; /* Do blinky on LED1 to indicate system aliveness. */ +} + +void onBleInitError(BLE &ble, ble_error_t error) +{ + /* Initialization error handling should go here */ +} + +void printMacAddress() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + for (int i = 5; i >= 1; i--){ + printf("%02x:", address[i]); + } + printf("%02x\r\n", address[0]); +} + +void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) +{ + BLE& ble = params->ble; + ble_error_t error = params->error; + + if (error != BLE_ERROR_NONE) { + /* In case of error, forward the error handling to onBleInitError */ + onBleInitError(ble, error); + return; + } + + /* Ensure that it is the default instance of BLE */ + if(ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { + return; + } + + ble.gap().onDisconnection(disconnectionCallback); + + button.fall(buttonPressedCallback); + button.rise(buttonReleasedCallback); + + /* Setup primary service. */ + buttonServicePtr = new ButtonService(ble, false /* initial value for button pressed */); + + /* setup advertising */ + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); + ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); + ble.gap().setAdvertisingInterval(1000); /* 1000ms. */ + ble.gap().startAdvertising(); + + printMacAddress(); +} + +void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { + BLE &ble = BLE::Instance(); + eventQueue.call(Callback(&ble, &BLE::processEvents)); +} + +int main() +{ + eventQueue.call_every(500, blinkCallback); + + BLE &ble = BLE::Instance(); + ble.onEventsToProcess(scheduleBleEventsProcessing); + ble.init(bleInitComplete); + + eventQueue.dispatch_forever(); + + return 0; +} diff --git a/BLE_GAP/deprecated/BLE_GAP/.mbed b/BLE_GAP/deprecated/BLE_GAP/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_GAP/deprecated/BLE_GAP/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_GAP/deprecated/BLE_GAP/README.md b/BLE_GAP/deprecated/BLE_GAP/README.md new file mode 100644 index 00000000..8f6132b9 --- /dev/null +++ b/BLE_GAP/deprecated/BLE_GAP/README.md @@ -0,0 +1,24 @@ +# GAP - Advertising, Scanning, Connecting + +Demo of the GAP profile. It shows advertising, scanning and connecting. The demo will cycle through several modes +and print over the serial connection information about current activity. + +# Running the application + +## Requirements + +The sample application can be seen on any BLE scanner on a smartphone. If you don't have a scanner on your phone, please install : + +- [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android. + +- [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone. + +Information about activity is printed over the serial connection - please have a client open. You may use: + +- [Tera Term](https://ttssh2.osdn.jp/index.html.en) + +Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Building instructions + +Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). diff --git a/BLE_GAP/deprecated/BLE_GAP/mbed-os.lib b/BLE_GAP/deprecated/BLE_GAP/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_GAP/deprecated/BLE_GAP/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_GAP/deprecated/BLE_GAP/mbed_app.json b/BLE_GAP/deprecated/BLE_GAP/mbed_app.json new file mode 100644 index 00000000..4309a7c2 --- /dev/null +++ b/BLE_GAP/deprecated/BLE_GAP/mbed_app.json @@ -0,0 +1,16 @@ +{ + "target_overrides": { + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + } + } +} diff --git a/BLE_GAP/deprecated/BLE_GAP/mbed_config.h b/BLE_GAP/deprecated/BLE_GAP/mbed_config.h new file mode 100644 index 00000000..2ab3094d --- /dev/null +++ b/BLE_GAP/deprecated/BLE_GAP/mbed_config.h @@ -0,0 +1,237 @@ +/* + * mbed SDK + * Copyright (c) 2017 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Automatically generated configuration file. +// DO NOT EDIT, content will be overwritten. + +#ifndef __MBED_CONFIG_DATA__ +#define __MBED_CONFIG_DATA__ + +// Configuration parameters +#define CLOCK_SOURCE USE_PLL_MSI // set by target:DISCO_L475VG_IOT01A +#define KVSTORE_ENABLED 1 // set by library:kvstore +#define LPTICKER_DELAY_TICKS 1 // set by target:FAMILY_STM32 +#define MBED_CONF_ATMEL_RF_ASSUME_SPACED_SPI 1 // set by library:atmel-rf[STM] +#define MBED_CONF_ATMEL_RF_FULL_SPI_SPEED 7500000 // set by library:atmel-rf +#define MBED_CONF_ATMEL_RF_FULL_SPI_SPEED_BYTE_SPACING 250 // set by library:atmel-rf +#define MBED_CONF_ATMEL_RF_IRQ_THREAD_STACK_SIZE 1024 // set by library:atmel-rf +#define MBED_CONF_ATMEL_RF_LOW_SPI_SPEED 3750000 // set by library:atmel-rf +#define MBED_CONF_ATMEL_RF_PROVIDE_DEFAULT 0 // set by library:atmel-rf +#define MBED_CONF_ATMEL_RF_USE_SPI_SPACING_API 0 // set by library:atmel-rf +#define MBED_CONF_CELLULAR_DEBUG_AT 0 // set by library:cellular +#define MBED_CONF_CELLULAR_RANDOM_MAX_START_DELAY 0 // set by library:cellular +#define MBED_CONF_CELLULAR_USE_APN_LOOKUP 1 // set by library:cellular +#define MBED_CONF_CORDIO_BLUENRG_VALID_PUBLIC_BD_ADDRESS 0 // set by library:cordio_bluenrg +#define MBED_CONF_DRIVERS_UART_SERIAL_RXBUF_SIZE 256 // set by library:drivers +#define MBED_CONF_DRIVERS_UART_SERIAL_TXBUF_SIZE 256 // set by library:drivers +#define MBED_CONF_ESP8266_DEBUG 0 // set by library:esp8266 +#define MBED_CONF_ESP8266_PROVIDE_DEFAULT 0 // set by library:esp8266 +#define MBED_CONF_ESP8266_SOCKET_BUFSIZE 8192 // set by library:esp8266 +#define MBED_CONF_EVENTS_PRESENT 1 // set by library:events +#define MBED_CONF_EVENTS_SHARED_DISPATCH_FROM_APPLICATION 0 // set by library:events +#define MBED_CONF_EVENTS_SHARED_EVENTSIZE 256 // set by library:events +#define MBED_CONF_EVENTS_SHARED_HIGHPRIO_EVENTSIZE 256 // set by library:events +#define MBED_CONF_EVENTS_SHARED_HIGHPRIO_STACKSIZE 1024 // set by library:events +#define MBED_CONF_EVENTS_SHARED_STACKSIZE 1024 // set by library:events +#define MBED_CONF_EVENTS_USE_LOWPOWER_TIMER_TICKER 0 // set by library:events +#define MBED_CONF_FILESYSTEM_PRESENT 1 // set by library:filesystem +#define MBED_CONF_FLASHIAP_BLOCK_DEVICE_BASE_ADDRESS 0xFFFFFFFF // set by library:flashiap-block-device +#define MBED_CONF_FLASHIAP_BLOCK_DEVICE_SIZE 0 // set by library:flashiap-block-device +#define MBED_CONF_LORA_ADR_ON 1 // set by library:lora +#define MBED_CONF_LORA_APPLICATION_EUI {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // set by library:lora +#define MBED_CONF_LORA_APPLICATION_KEY {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // set by library:lora +#define MBED_CONF_LORA_APPSKEY {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // set by library:lora +#define MBED_CONF_LORA_APP_PORT 15 // set by library:lora +#define MBED_CONF_LORA_AUTOMATIC_UPLINK_MESSAGE 1 // set by library:lora +#define MBED_CONF_LORA_DEVICE_ADDRESS 0x00000000 // set by library:lora +#define MBED_CONF_LORA_DEVICE_EUI {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // set by library:lora +#define MBED_CONF_LORA_DOWNLINK_PREAMBLE_LENGTH 5 // set by library:lora +#define MBED_CONF_LORA_DUTY_CYCLE_ON 1 // set by library:lora +#define MBED_CONF_LORA_DUTY_CYCLE_ON_JOIN 1 // set by library:lora +#define MBED_CONF_LORA_FSB_MASK {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00FF} // set by library:lora +#define MBED_CONF_LORA_FSB_MASK_CHINA {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF} // set by library:lora +#define MBED_CONF_LORA_LBT_ON 0 // set by library:lora +#define MBED_CONF_LORA_MAX_SYS_RX_ERROR 10 // set by library:lora +#define MBED_CONF_LORA_NB_TRIALS 12 // set by library:lora +#define MBED_CONF_LORA_NWKSKEY {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // set by library:lora +#define MBED_CONF_LORA_OVER_THE_AIR_ACTIVATION 1 // set by library:lora +#define MBED_CONF_LORA_PHY EU868 // set by library:lora +#define MBED_CONF_LORA_PUBLIC_NETWORK 1 // set by library:lora +#define MBED_CONF_LORA_TX_MAX_SIZE 64 // set by library:lora +#define MBED_CONF_LORA_UPLINK_PREAMBLE_LENGTH 8 // set by library:lora +#define MBED_CONF_LWIP_ADDR_TIMEOUT 5 // set by library:lwip +#define MBED_CONF_LWIP_ADDR_TIMEOUT_MODE 1 // set by library:lwip +#define MBED_CONF_LWIP_DEBUG_ENABLED 0 // set by library:lwip +#define MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE 512 // set by library:lwip +#define MBED_CONF_LWIP_ENABLE_PPP_TRACE 0 // set by library:lwip +#define MBED_CONF_LWIP_ETHERNET_ENABLED 1 // set by library:lwip +#define MBED_CONF_LWIP_IPV4_ENABLED 1 // set by library:lwip +#define MBED_CONF_LWIP_IPV6_ENABLED 0 // set by library:lwip +#define MBED_CONF_LWIP_IP_VER_PREF 4 // set by library:lwip +#define MBED_CONF_LWIP_MEM_SIZE 25600 // set by library:lwip[STM] +#define MBED_CONF_LWIP_PPP_THREAD_STACKSIZE 768 // set by library:lwip +#define MBED_CONF_LWIP_SOCKET_MAX 4 // set by library:lwip +#define MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE 1200 // set by library:lwip +#define MBED_CONF_LWIP_TCP_ENABLED 1 // set by library:lwip +#define MBED_CONF_LWIP_TCP_SERVER_MAX 4 // set by library:lwip +#define MBED_CONF_LWIP_TCP_SOCKET_MAX 4 // set by library:lwip +#define MBED_CONF_LWIP_UDP_SOCKET_MAX 4 // set by library:lwip +#define MBED_CONF_LWIP_USE_MBED_TRACE 0 // set by library:lwip +#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL 0 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK 0x7fff800 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL_PAGE 0 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_DEVICE_TYPE NET_6LOWPAN_ROUTER // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PANID_FILTER 0xffff // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PSK_KEY {0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf} // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PSK_KEY_ID 1 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_SECURITY_MODE NONE // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_SEC_LEVEL 5 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_HEAP_SIZE 32500 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_HEAP_STAT_INFO NULL // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL 22 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK 0x7fff800 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE 0 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_COMMISSIONING_DATASET_TIMESTAMP 0x10000 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_EXTENDED_PANID {0xf1, 0xb5, 0xa1, 0xb2,0xc4, 0xd5, 0xa1, 0xbd } // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_ML_PREFIX {0xfd, 0x0, 0x0d, 0xb8, 0x0, 0x0, 0x0, 0x0} // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME "Thread Network" // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_PANID 0x0700 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_PSKC {0xc8, 0xa6, 0x2e, 0xae, 0xf3, 0x68, 0xf3, 0x46, 0xa9, 0x9e, 0x57, 0x85, 0x98, 0x9d, 0x1c, 0xd0} // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_DEVICE_TYPE MESH_DEVICE_TYPE_THREAD_ROUTER // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_MASTER_KEY {0x10, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff} // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_PSKD "ABCDEFGH" // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_SECURITY_POLICY 255 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_THREAD_USE_STATIC_LINK_CONFIG 1 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_USE_MALLOC_FOR_HEAP 0 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_WISUN_BC_CHANNEL_FUNCTION 255 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_WISUN_BC_DWELL_INTERVAL 0 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_WISUN_BC_FIXED_CHANNEL 0xffff // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_WISUN_BC_INTERVAL 0 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_WISUN_NETWORK_NAME "NETWORK_NAME" // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_WISUN_OPERATING_CLASS 255 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_WISUN_OPERATING_MODE 255 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_WISUN_REGULATORY_DOMAIN 3 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_WISUN_UC_CHANNEL_FUNCTION 255 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_WISUN_UC_DWELL_INTERVAL 0 // set by library:mbed-mesh-api +#define MBED_CONF_MBED_MESH_API_WISUN_UC_FIXED_CHANNEL 0xffff // set by library:mbed-mesh-api +#define MBED_CONF_MCR20A_PROVIDE_DEFAULT 0 // set by library:mcr20a +#define MBED_CONF_NANOSTACK_CONFIGURATION nanostack_full // set by library:nanostack +#define MBED_CONF_NANOSTACK_HAL_CRITICAL_SECTION_USABLE_FROM_INTERRUPT 0 // set by library:nanostack-hal +#define MBED_CONF_NANOSTACK_HAL_EVENT_LOOP_DISPATCH_FROM_APPLICATION 0 // set by library:nanostack-hal +#define MBED_CONF_NANOSTACK_HAL_EVENT_LOOP_THREAD_STACK_SIZE 6144 // set by library:nanostack-hal +#define MBED_CONF_NANOSTACK_HAL_EVENT_LOOP_USE_MBED_EVENTS 0 // set by library:nanostack-hal +#define MBED_CONF_NANOSTACK_HAL_NVM_CFSTORE 0 // set by library:nanostack-hal +#define MBED_CONF_NSAPI_DEFAULT_MESH_TYPE THREAD // set by library:nsapi +#define MBED_CONF_NSAPI_DEFAULT_STACK LWIP // set by library:nsapi +#define MBED_CONF_NSAPI_DEFAULT_WIFI_SECURITY NONE // set by library:nsapi +#define MBED_CONF_NSAPI_DNS_CACHE_SIZE 3 // set by library:nsapi +#define MBED_CONF_NSAPI_DNS_RESPONSE_WAIT_TIME 5000 // set by library:nsapi +#define MBED_CONF_NSAPI_DNS_RETRIES 0 // set by library:nsapi +#define MBED_CONF_NSAPI_DNS_TOTAL_ATTEMPTS 3 // set by library:nsapi +#define MBED_CONF_NSAPI_PRESENT 1 // set by library:nsapi +#define MBED_CONF_PLATFORM_CRASH_CAPTURE_ENABLED 1 // set by library:platform[DISCO_L475VG_IOT01A] +#define MBED_CONF_PLATFORM_CTHUNK_COUNT_MAX 8 // set by library:platform +#define MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE 9600 // set by library:platform +#define MBED_CONF_PLATFORM_ERROR_ALL_THREADS_INFO 0 // set by library:platform +#define MBED_CONF_PLATFORM_ERROR_DECODE_HTTP_URL_STR "\nFor more info, visit: https://armmbed.github.io/mbedos-error/?error=0x%08X" // set by library:platform +#define MBED_CONF_PLATFORM_ERROR_FILENAME_CAPTURE_ENABLED 0 // set by library:platform +#define MBED_CONF_PLATFORM_ERROR_HIST_ENABLED 0 // set by library:platform +#define MBED_CONF_PLATFORM_ERROR_HIST_SIZE 4 // set by library:platform +#define MBED_CONF_PLATFORM_ERROR_REBOOT_MAX 1 // set by library:platform +#define MBED_CONF_PLATFORM_FATAL_ERROR_AUTO_REBOOT_ENABLED 1 // set by library:platform[DISCO_L475VG_IOT01A] +#define MBED_CONF_PLATFORM_FORCE_NON_COPYABLE_ERROR 0 // set by library:platform +#define MBED_CONF_PLATFORM_MAX_ERROR_FILENAME_LEN 16 // set by library:platform +#define MBED_CONF_PLATFORM_POLL_USE_LOWPOWER_TIMER 0 // set by library:platform +#define MBED_CONF_PLATFORM_STDIO_BAUD_RATE 9600 // set by library:platform +#define MBED_CONF_PLATFORM_STDIO_BUFFERED_SERIAL 0 // set by library:platform +#define MBED_CONF_PLATFORM_STDIO_CONVERT_NEWLINES 0 // set by library:platform +#define MBED_CONF_PLATFORM_STDIO_CONVERT_TTY_NEWLINES 0 // set by library:platform +#define MBED_CONF_PLATFORM_STDIO_FLUSH_AT_EXIT 1 // set by library:platform +#define MBED_CONF_PPP_CELL_IFACE_APN_LOOKUP 1 // set by library:ppp-cell-iface +#define MBED_CONF_PPP_CELL_IFACE_AT_PARSER_BUFFER_SIZE 256 // set by library:ppp-cell-iface +#define MBED_CONF_PPP_CELL_IFACE_AT_PARSER_TIMEOUT 8000 // set by library:ppp-cell-iface +#define MBED_CONF_PPP_CELL_IFACE_BAUD_RATE 115200 // set by library:ppp-cell-iface +#define MBED_CONF_QSPIF_QSPI_CSN QSPI_FLASH1_CSN // set by library:qspif +#define MBED_CONF_QSPIF_QSPI_FREQ 8000000 // set by library:qspif[DISCO_L475VG_IOT01A] +#define MBED_CONF_QSPIF_QSPI_IO0 QSPI_FLASH1_IO0 // set by library:qspif +#define MBED_CONF_QSPIF_QSPI_IO1 QSPI_FLASH1_IO1 // set by library:qspif +#define MBED_CONF_QSPIF_QSPI_IO2 QSPI_FLASH1_IO2 // set by library:qspif +#define MBED_CONF_QSPIF_QSPI_IO3 QSPI_FLASH1_IO3 // set by library:qspif +#define MBED_CONF_QSPIF_QSPI_POLARITY_MODE 0 // set by library:qspif +#define MBED_CONF_QSPIF_QSPI_SCK QSPI_FLASH1_SCK // set by library:qspif +#define MBED_CONF_RTOS_IDLE_THREAD_STACK_SIZE 512 // set by library:rtos +#define MBED_CONF_RTOS_IDLE_THREAD_STACK_SIZE_TICKLESS_EXTRA 256 // set by library:rtos +#define MBED_CONF_RTOS_MAIN_THREAD_STACK_SIZE 4096 // set by library:rtos +#define MBED_CONF_RTOS_PRESENT 1 // set by library:rtos +#define MBED_CONF_RTOS_THREAD_STACK_SIZE 4096 // set by library:rtos +#define MBED_CONF_RTOS_TIMER_THREAD_STACK_SIZE 768 // set by library:rtos +#define MBED_CONF_S2LP_PROVIDE_DEFAULT 0 // set by library:s2lp +#define MBED_CONF_STORAGE_DEFAULT_KV kv // set by library:storage +#define MBED_CONF_STORAGE_FILESYSTEM_BLOCKDEVICE default // set by library:storage_filesystem +#define MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_BASE_ADDRESS 0 // set by library:storage_filesystem +#define MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE 0 // set by library:storage_filesystem +#define MBED_CONF_STORAGE_FILESYSTEM_FILESYSTEM default // set by library:storage_filesystem +#define MBED_CONF_STORAGE_FILESYSTEM_FOLDER_PATH kvstore // set by library:storage_filesystem +#define MBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS 0 // set by library:storage_filesystem +#define MBED_CONF_STORAGE_FILESYSTEM_MOUNT_POINT kv // set by library:storage_filesystem +#define MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_BLOCKDEVICE default // set by library:storage_filesystem_no_rbp +#define MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_EXTERNAL_BASE_ADDRESS 0 // set by library:storage_filesystem_no_rbp +#define MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_EXTERNAL_SIZE 0 // set by library:storage_filesystem_no_rbp +#define MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_FILESYSTEM default // set by library:storage_filesystem_no_rbp +#define MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_FOLDER_PATH kvstore // set by library:storage_filesystem_no_rbp +#define MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_MOUNT_POINT kv // set by library:storage_filesystem_no_rbp +#define MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE 0 // set by library:storage_filesystem +#define MBED_CONF_STORAGE_FILESYSTEM_RBP_NUMBER_OF_ENTRIES 64 // set by library:storage_filesystem +#define MBED_CONF_STORAGE_STORAGE_TYPE TDB_EXTERNAL // set by library:storage +#define MBED_CONF_STORAGE_TDB_EXTERNAL_BLOCKDEVICE default // set by library:storage_tdb_external +#define MBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_BASE_ADDRESS 0 // set by library:storage_tdb_external +#define MBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_SIZE 0 // set by library:storage_tdb_external +#define MBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS 0 // set by library:storage_tdb_external +#define MBED_CONF_STORAGE_TDB_EXTERNAL_NO_RBP_BLOCKDEVICE default // set by library:storage_tdb_external_no_rbp +#define MBED_CONF_STORAGE_TDB_EXTERNAL_NO_RBP_EXTERNAL_BASE_ADDRESS 0 // set by library:storage_tdb_external_no_rbp +#define MBED_CONF_STORAGE_TDB_EXTERNAL_NO_RBP_EXTERNAL_SIZE 0 // set by library:storage_tdb_external_no_rbp +#define MBED_CONF_STORAGE_TDB_EXTERNAL_RBP_INTERNAL_SIZE 0 // set by library:storage_tdb_external +#define MBED_CONF_STORAGE_TDB_EXTERNAL_RBP_NUMBER_OF_ENTRIES 64 // set by library:storage_tdb_external +#define MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS 0 // set by library:storage_tdb_internal +#define MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE 0 // set by library:storage_tdb_internal +#define MBED_CONF_TARGET_BOOT_STACK_SIZE 0x400 // set by library:rtos[*] +#define MBED_CONF_TARGET_DEEP_SLEEP_LATENCY 0 // set by target:Target +#define MBED_CONF_TARGET_LPTICKER_LPTIM 1 // set by target:DISCO_L475VG_IOT01A +#define MBED_CONF_TARGET_LPTICKER_LPTIM_CLOCK 1 // set by target:FAMILY_STM32 +#define MBED_CONF_TARGET_LPUART_CLOCK_SOURCE USE_LPUART_CLK_LSE|USE_LPUART_CLK_PCLK1 // set by target:FAMILY_STM32 +#define MBED_CONF_TARGET_LSE_AVAILABLE 1 // set by target:FAMILY_STM32 +#define MBED_LFS_BLOCK_SIZE 512 // set by library:littlefs +#define MBED_LFS_ENABLE_INFO 0 // set by library:littlefs +#define MBED_LFS_INTRINSICS 1 // set by library:littlefs +#define MBED_LFS_LOOKAHEAD 512 // set by library:littlefs +#define MBED_LFS_PROG_SIZE 64 // set by library:littlefs +#define MBED_LFS_READ_SIZE 64 // set by library:littlefs +#define MEM_ALLOC malloc // set by library:mbed-trace +#define MEM_FREE free // set by library:mbed-trace +#define NSAPI_PPP_AVAILABLE 0 // set by library:lwip +#define NSAPI_PPP_IPV4_AVAILABLE 1 // set by library:lwip +#define NSAPI_PPP_IPV6_AVAILABLE 0 // set by library:lwip +#define NVSTORE_ENABLED 1 // set by library:nvstore +#define NVSTORE_MAX_KEYS 16 // set by library:nvstore +// Macros +#define MBEDTLS_CIPHER_MODE_CTR // defined by library:SecureStore +#define MBEDTLS_CMAC_C // defined by library:SecureStore +#define NS_USE_EXTERNAL_MBED_TLS // defined by library:nanostack +#define UNITY_INCLUDE_CONFIG_H // defined by library:utest +#define _RTE_ // defined by library:rtos + +#endif diff --git a/BLE_GAP/deprecated/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GAP/deprecated/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..a73dc227 --- /dev/null +++ b/BLE_GAP/deprecated/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc \ No newline at end of file diff --git a/BLE_GAP/deprecated/BLE_GAP/source/main.cpp b/BLE_GAP/deprecated/BLE_GAP/source/main.cpp new file mode 100644 index 00000000..000bc166 --- /dev/null +++ b/BLE_GAP/deprecated/BLE_GAP/source/main.cpp @@ -0,0 +1,599 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include "ble/BLE.h" + +/** This example demonstrates all the basic setup required + * to advertise, scan and connect to other devices. + * + * It contains a single class that performs both scans and advertisements. + * + * The demonstrations happens in sequence, after each "mode" ends + * the demo jumps to the next mode to continue. There are several modes + * that show scanning and several showing advertising. These are configured + * according to the two arrays containing parameters. During scanning + * a connection will be made to a connectable device upon its discovery. + */ + +static const uint8_t DEVICE_NAME[] = "GAP_device"; + +/* Duration of each mode in milliseconds */ +static const size_t MODE_DURATION_MS = 6000; + +/* Time between each mode in milliseconds */ +static const size_t TIME_BETWEEN_MODES_MS = 2000; + +/* how long to wait before disconnecting in milliseconds */ +static const size_t CONNECTION_DURATION = 3000; + +typedef struct { + GapAdvertisingParams::AdvertisingType_t adv_type; + uint16_t interval; + uint16_t timeout; +} AdvModeParam_t; + +typedef struct { + uint16_t interval; + uint16_t window; + uint16_t timeout; + bool active; +} ScanModeParam_t; + +/** the entries in this array are used to configure our advertising + * parameters for each of the modes we use in our demo */ +static const AdvModeParam_t advertising_params[] = { + /* advertising type interval timeout */ + { GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED, 40,/*ms*/ 3/*s*/}, + { GapAdvertisingParams::ADV_SCANNABLE_UNDIRECTED, 100, 4 }, + { GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED, 100, 0 } +}; + +/* when we cycle through all our advertising modes we will move to scanning modes */ + +/** the entries in this array are used to configure our scanning + * parameters for each of the modes we use in our demo */ +static const ScanModeParam_t scanning_params[] = { +/* interval window timeout active */ + { 4,/*ms*/ 4,/*ms*/ 0,/*s*/ false }, + { 160, 100, 3, false }, + { 160, 40, 0, true }, + { 500, 10, 0, false } +}; + +/* parameters to use when attempting to connect to maximise speed of connection */ +static const GapScanningParams connection_scan_params( + GapScanningParams::SCAN_INTERVAL_MAX, + GapScanningParams::SCAN_WINDOW_MAX, + 3, + false +); + +/* get number of items in our arrays */ +static const size_t SCAN_PARAM_SET_MAX = + sizeof(scanning_params) / sizeof(GapScanningParams); +static const size_t ADV_PARAM_SET_MAX = + sizeof(advertising_params) / sizeof(GapAdvertisingParams); + +static const char* to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} + +/** Demonstrate advertising, scanning and connecting + */ +class GAPDevice : private mbed::NonCopyable, public Gap::EventHandler +{ +public: + GAPDevice() : + _ble(BLE::Instance()), + _led1(LED1, 0), + _set_index(0), + _is_in_scanning_mode(false), + _is_connecting(false), + _on_duration_end_id(0), + _scan_count(0) { }; + + ~GAPDevice() + { + if (_ble.hasInitialized()) { + _ble.shutdown(); + } + }; + + /** Start BLE interface initialisation */ + void run() + { + ble_error_t error; + + if (_ble.hasInitialized()) { + printf("Ble instance already initialised.\r\n"); + return; + } + + /* this will inform us off all events so we can schedule their handling + * using our event queue */ + _ble.onEventsToProcess( + makeFunctionPointer(this, &GAPDevice::schedule_ble_events) + ); + + /* handle timeouts, for example when connection attempts fail */ + _ble.gap().onTimeout( + makeFunctionPointer(this, &GAPDevice::on_timeout) + ); + + /* handle gap events */ + _ble.gap().setEventHandler(this); + + error = _ble.init(this, &GAPDevice::on_init_complete); + + if (error) { + printf("Error returned by BLE::init.\r\n"); + return; + } + + /* to show we're running we'll blink every 500ms */ + _event_queue.call_every(500, this, &GAPDevice::blink); + + /* this will not return until shutdown */ + _event_queue.dispatch_forever(); + }; + +private: + /** This is called when BLE interface is initialised and starts the first mode */ + void on_init_complete(BLE::InitializationCompleteCallbackContext *event) + { + if (event->error) { + printf("Error during the initialisation\r\n"); + return; + } + + /* print device address */ + Gap::AddressType_t addr_type; + Gap::Address_t addr; + _ble.gap().getAddress(&addr_type, addr); + printf("Device address: %02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); + + /* setup the default phy used in connection to 2M to reduce power consumption */ + Gap::PhySet_t tx_phys(/* 1M */ false, /* 2M */ true, /* coded */ false); + Gap::PhySet_t rx_phys(/* 1M */ false, /* 2M */ true, /* coded */ false); + ble_error_t err = _ble.gap().setPreferredPhys(&tx_phys, &rx_phys); + if (err) { + printf("INFO: GAP::setPreferedPhys failed with error code %s", BLE::errorToString(err)); + } + + /* all calls are serialised on the user thread through the event queue */ + _event_queue.call(this, &GAPDevice::demo_mode_start); + }; + + /** queue up start of the current demo mode */ + void demo_mode_start() + { + if (_is_in_scanning_mode) { + /* when scanning we want to connect to a peer device so we need to + * attach callbacks that are used by Gap to notify us of events */ + _ble.gap().onConnection(this, &GAPDevice::on_connect); + _ble.gap().onDisconnection(this, &GAPDevice::on_disconnect); + + _event_queue.call(this, &GAPDevice::scan); + } else { + _event_queue.call(this, &GAPDevice::advertise); + } + + /* for performance measurement keep track of duration of the demo mode */ + _demo_duration.start(); + /* keep track of our state */ + _is_connecting = false; + + /* queue up next demo mode */ + _on_duration_end_id = _event_queue.call_in( + MODE_DURATION_MS, this, &GAPDevice::on_duration_end + ); + + printf("\r\n"); + } + + /** Set up and start advertising */ + void advertise() + { + ble_error_t error; + GapAdvertisingData advertising_data; + + /* add advertising flags */ + advertising_data.addFlags(GapAdvertisingData::LE_GENERAL_DISCOVERABLE + | GapAdvertisingData::BREDR_NOT_SUPPORTED); + + /* add device name */ + advertising_data.addData( + GapAdvertisingData::COMPLETE_LOCAL_NAME, + DEVICE_NAME, + sizeof(DEVICE_NAME) + ); + + error = _ble.gap().setAdvertisingPayload(advertising_data); + + if (error) { + printf("Error during Gap::setAdvertisingPayload\r\n"); + return; + } + + /* set the advertising parameters according to currently selected set, + * see @AdvertisingType_t for explanation of modes */ + GapAdvertisingParams::AdvertisingType_t adv_type = + advertising_params[_set_index].adv_type; + + /* how many milliseconds between advertisements, lower interval + * increases the chances of being seen at the cost of more power */ + uint16_t interval = advertising_params[_set_index].interval; + + /* advertising will continue for this many seconds or until connected */ + uint16_t timeout = advertising_params[_set_index].timeout; + + _ble.gap().setAdvertisingType(adv_type); + _ble.gap().setAdvertisingInterval(interval); + _ble.gap().setAdvertisingTimeout(timeout); + + error = _ble.gap().startAdvertising(); + + if (error) { + printf("Error during Gap::startAdvertising.\r\n"); + return; + } + + printf("Advertising started (type: 0x%x, interval: %dms, timeout: %ds)\r\n", + adv_type, interval, timeout); + }; + + /** Set up and start scanning */ + void scan() + { + ble_error_t error; + + /* scanning happens repeatedly, interval is the number of milliseconds + * between each cycle of scanning */ + uint16_t interval = scanning_params[_set_index].interval; + + /* number of milliseconds we scan for each time we enter + * the scanning cycle after the interval set above */ + uint16_t window = scanning_params[_set_index].window; + + /* how long to repeat the cycles of scanning in seconds */ + uint16_t timeout = scanning_params[_set_index].timeout; + + /* active scanning will send a scan request to any scanable devices that + * we see advertising */ + bool active = scanning_params[_set_index].active; + + /* set the scanning parameters according to currently selected set */ + error = _ble.gap().setScanParams(interval, window, timeout, active); + + if (error) { + printf("Error during Gap::setScanParams\r\n"); + return; + } + + /* start scanning and attach a callback that will handle advertisements + * and scan requests responses */ + error = _ble.gap().startScan(this, &GAPDevice::on_scan); + + if (error) { + printf("Error during Gap::startScan\r\n"); + return; + } + + printf("Scanning started (interval: %dms, window: %dms, timeout: %ds).\r\n", + interval, window, timeout); + }; + + /** After a set duration this cycles to the next demo mode + * unless a connection happened first */ + void on_duration_end() + { + print_performance(); + + /* alloted time has elapsed, move to next demo mode */ + _event_queue.call(this, &GAPDevice::demo_mode_end); + }; + + /** Look at scan payload to find a peer device and connect to it */ + void on_scan(const Gap::AdvertisementCallbackParams_t *params) + { + /* keep track of scan events for performance reporting */ + _scan_count++; + + /* don't bother with analysing scan result if we're already connecting */ + if (_is_connecting) { + return; + } + + /* parse the advertising payload, looking for a discoverable device */ + for (uint8_t i = 0; i < params->advertisingDataLen; ++i) { + /* The advertising payload is a collection of key/value records where + * byte 0: length of the record excluding this byte + * byte 1: The key, it is the type of the data + * byte [2..N] The value. N is equal to byte0 - 1 */ + const uint8_t record_length = params->advertisingData[i]; + if (record_length == 0) { + continue; + } + const uint8_t type = params->advertisingData[i + 1]; + const uint8_t *value = params->advertisingData + i + 2; + + /* connect to a discoverable device */ + if ((type == GapAdvertisingData::FLAGS) + && (*value & GapAdvertisingData::LE_GENERAL_DISCOVERABLE)) { + + /* abort timeout as the mode will end on disconnection */ + _event_queue.cancel(_on_duration_end_id); + + printf("We found a connectable device\r\n"); + + ble_error_t error = _ble.gap().connect( + params->peerAddr, Gap::ADDR_TYPE_RANDOM_STATIC, + NULL, &connection_scan_params + ); + + if (error) { + printf("Error during Gap::connect\r\n"); + /* since no connection will be attempted end the mode */ + _event_queue.call(this, &GAPDevice::demo_mode_end); + return; + } + + /* we may have already scan events waiting + * to be processed so we need to remember + * that we are already connecting and ignore them */ + _is_connecting = true; + + return; + } + + i += record_length; + } + }; + + /** This is called by Gap to notify the application we connected, + * in our case it immediately disconnects */ + void on_connect(const Gap::ConnectionCallbackParams_t *connection_event) + { + print_performance(); + + printf("Connected in %dms\r\n", _demo_duration.read_ms()); + + /* cancel the connect timeout since we connected */ + _event_queue.cancel(_on_duration_end_id); + + _event_queue.call_in( + CONNECTION_DURATION, &_ble.gap(), &Gap::disconnect, Gap::REMOTE_USER_TERMINATED_CONNECTION + ); + }; + + /** This is called by Gap to notify the application we disconnected, + * in our case it calls demo_mode_end() to progress the demo */ + void on_disconnect(const Gap::DisconnectionCallbackParams_t *event) + { + printf("Disconnected\r\n"); + + /* we have successfully disconnected ending the demo, move to next mode */ + _event_queue.call(this, &GAPDevice::demo_mode_end); + }; + + /** + * Implementation of Gap::EventHandler::onReadPhy + */ + virtual void onReadPhy( + ble_error_t error, + Gap::Handle_t connectionHandle, + Gap::Phy_t txPhy, + Gap::Phy_t rxPhy + ) { + if (error) { + printf( + "Phy read on connection %d failed with error code %s\r\n", + connectionHandle, + BLE::errorToString(error) + ); + } else { + printf( + "Phy read on connection %d - Tx Phy: %s, Rx Phy: %s\r\n", + connectionHandle, + to_string(txPhy), + to_string(rxPhy) + ); + } + } + + /** + * Implementation of Gap::EventHandler::onPhyUpdateComplete + */ + virtual void onPhyUpdateComplete( + ble_error_t error, + Gap::Handle_t connectionHandle, + Gap::Phy_t txPhy, + Gap::Phy_t rxPhy + ) { + if (error) { + printf( + "Phy update on connection: %d failed with error code %s\r\n", + connectionHandle, + BLE::errorToString(error) + ); + } else { + printf( + "Phy update on connection %d - Tx Phy: %s, Rx Phy: %s\r\n", + connectionHandle, + to_string(txPhy), + to_string(rxPhy) + ); + } + } + + /** called if timeout is reached during advertising, scanning + * or connection initiation */ + void on_timeout(const Gap::TimeoutSource_t source) + { + _demo_duration.stop(); + + switch (source) { + case Gap::TIMEOUT_SRC_ADVERTISING: + printf("Stopped advertising early due to timeout parameter\r\n"); + break; + case Gap::TIMEOUT_SRC_SCAN: + printf("Stopped scanning early due to timeout parameter\r\n"); + break; + case Gap::TIMEOUT_SRC_CONN: + printf("Failed to connect after scanning %d advertisements\r\n", _scan_count); + _event_queue.call(this, &GAPDevice::print_performance); + _event_queue.call(this, &GAPDevice::demo_mode_end); + break; + default: + printf("Unexpected timeout\r\n"); + break; + } + }; + + /** clean up after last run, cycle to the next mode and launch it */ + void demo_mode_end() + { + /* reset the demo ready for the next mode */ + _scan_count = 0; + _demo_duration.stop(); + _demo_duration.reset(); + + /* cycle through all demo modes */ + _set_index++; + + /* switch between advertising and scanning when we go + * through all the params in the array */ + if (_set_index >= (_is_in_scanning_mode? SCAN_PARAM_SET_MAX : ADV_PARAM_SET_MAX)) { + _set_index = 0; + _is_in_scanning_mode = !_is_in_scanning_mode; + } + + _ble.shutdown(); + _event_queue.break_dispatch(); + }; + + /** print some information about our radio activity */ + void print_performance() + { + /* measure time from mode start, may have been stopped by timeout */ + uint16_t duration = _demo_duration.read_ms(); + + if (_is_in_scanning_mode) { + /* convert ms into timeslots for accurate calculation as internally + * all durations are in timeslots (0.625ms) */ + uint16_t interval_ts = GapScanningParams::MSEC_TO_SCAN_DURATION_UNITS( + scanning_params[_set_index].interval + ); + uint16_t window_ts = GapScanningParams::MSEC_TO_SCAN_DURATION_UNITS( + scanning_params[_set_index].window + ); + uint16_t duration_ts = GapScanningParams::MSEC_TO_SCAN_DURATION_UNITS( + duration + ); + /* this is how long we scanned for in timeslots */ + uint16_t rx_ts = (duration_ts / interval_ts) * window_ts; + /* convert to milliseconds */ + uint16_t rx_ms = (rx_ts * GapScanningParams::UNIT_0_625_MS) / 1000; + + printf("We have scanned for %dms with an interval of %d" + " timeslot and a window of %d timeslots\r\n", + duration, interval_ts, window_ts); + + printf("We have been listening on the radio for at least %dms\r\n", rx_ms); + + } else /* advertising */ { + + /* convert ms into timeslots for accurate calculation as internally + * all durations are in timeslots (0.625ms) */ + uint16_t interval_ts = GapAdvertisingParams::MSEC_TO_ADVERTISEMENT_DURATION_UNITS( + advertising_params[_set_index].interval + ); + uint16_t duration_ts = GapAdvertisingParams::MSEC_TO_ADVERTISEMENT_DURATION_UNITS( + duration + ); + /* this is how many times we advertised */ + uint16_t events = duration_ts / interval_ts; + + printf("We have advertised for %dms" + " with an interval of %d timeslots\r\n", + duration, interval_ts); + + /* non-scannable and non-connectable advertising + * skips rx events saving on power consumption */ + if (advertising_params[_set_index].adv_type + == GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED) { + printf("We created at least %d tx events\r\n", events); + } else { + printf("We created at least %d tx and rx events\r\n", events); + } + } + }; + + /** Schedule processing of events from the BLE middleware in the event queue. */ + void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) + { + _event_queue.call(mbed::callback(&context->ble, &BLE::processEvents)); + }; + + /** Blink LED to show we're running */ + void blink(void) + { + _led1 = !_led1; + }; + +private: + BLE &_ble; + events::EventQueue _event_queue; + DigitalOut _led1; + + /* Keep track of our progress through demo modes */ + size_t _set_index; + bool _is_in_scanning_mode; + bool _is_connecting; + + /* Remember the call id of the function on _event_queue + * so we can cancel it if we need to end the mode early */ + int _on_duration_end_id; + + /* Measure performance of our advertising/scanning */ + Timer _demo_duration; + size_t _scan_count; +}; + +int main() +{ + GAPDevice gap_device; + + while (1) { + gap_device.run(); + wait_ms(TIME_BETWEEN_MODES_MS); + printf("\r\nStarting next GAP demo mode\r\n"); + }; + + return 0; +} diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/.mbed b/BLE_GAPButton/deprecated/BLE_GAPButton/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_GAPButton/deprecated/BLE_GAPButton/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/README.md b/BLE_GAPButton/deprecated/BLE_GAPButton/README.md new file mode 100644 index 00000000..65b76c64 --- /dev/null +++ b/BLE_GAPButton/deprecated/BLE_GAPButton/README.md @@ -0,0 +1,87 @@ +# Button count over GAP + +This application shows how to use GAP to transmit a simple value to a disconnected peer listening for advertisement every time that a value is updated: + +1. The value is a count of how many times a button on the device was pressed (the code actually monitors the button's releases, not press downs). + +1. We transmit the value in the SERVICE_DATA field of the advertising payload. + +# Running the application + +## Requirements + +The sample application can be seen on any BLE scanner on a smartphone. If you don't have a scanner on your phone, please install : + +- [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android. + +- [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone. + +Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +### Porting this example on new boards + +This example requires a board with at least 1 button to work. While the pin name of the button is defined for the `NRF51_DK`, `NRF52_DK`, `K64F` and `NUCLEO_F401RE`, it is not specified for other boards. + +It is easy to add the button configuration for your board: +* Open the file named `mbed_app.json` at the root of this example. +* In the section `target_overides` add a new object named after your target if it doesn't exist. This object contain overridden parameters for your target. +* Override the property `ble_button_pin_name` in your target object. The value of the property should be equal to the pin name to use as a button. + +As an example, this is the JSON bit which has to be added in the `target_overrides` section of `mbed_app.json` for a `NUCLEO_F411RE` board. + +```json + "NUCLEO_F411RE": { + "ble_button_pin_name": "USER_BUTTON" + } +``` + + **Note:** You can get more informations about the configuration system in the [documentation](https://github.com/ARMmbed/mbed-os/blob/master/docs/config_system.md) + + **Important:** If your target use an ST BLE shield, other parameters have to be overridden for your target. More information are available in the global [README](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md#targets-for-ble) + + +## Building instructions + +Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Checking for success + +**Note:** Screens captures depicted below show what is expected from this example if the scanner used is *nRF Master Control Panel* version 4.0.5. If you encounter any difficulties consider trying another scanner or another version of nRF Master Control Panel. Alternative scanners may require reference to their manuals. + +1. Build the application and install it on your board as explained in the building instructions. + +1. Open the BLE scanner on your phone. + +1. Start a scan. + + ![](img/start_scan.png) + + **figure 1** How to start scan using nRF Master Control Panel 4.0.5. + +1. Find your device; it should be named `GAPButton`; and look at the advertisement broadcasted by your device (there is no need to connect to your device). + + ![](img/discovery.png) + + **figure 2** Scan results using nRF Master Control Panel 4.0.5. + +1. The Service Data field of the advertisement packet broadcasted by your device reflects the button press count. The starting value is 0. + + ![](img/initial_state.png) + + **figure 3** Initial state of the button using nRF Master Control Panel 4.0.5. + +1. Press the button on the device. + + ![](img/first_press.png) + + **figure 3** State after 1 button press using nRF Master Control Panel 4.0.5. + +1. The Service Data field value of the advertisement packet should change every time you press the button. + + ![](img/result.png) + + **figure 3** State after 6 button press using nRF Master Control Panel 4.0.5. + +## Note + +Since broadcasting is not reliable and your phone may scan intermittently, it is possible that your phone will miss button updates. diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/img/discovery.png b/BLE_GAPButton/deprecated/BLE_GAPButton/img/discovery.png new file mode 100644 index 0000000000000000000000000000000000000000..21010d5401ba1aacdd75ab639a29cde62f333a18 GIT binary patch literal 70196 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 literal 0 HcmV?d00001 diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/img/initial_state.png b/BLE_GAPButton/deprecated/BLE_GAPButton/img/initial_state.png new file mode 100644 index 0000000000000000000000000000000000000000..22adc38315ec908c65df81a1fadf26a691a40422 GIT binary patch literal 66740 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

_tRT7kUl; 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⪻WPz`4^LDOXknA3{C)E3uOCeO@ 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 literal 0 HcmV?d00001 diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/img/notifications.png b/BLE_HeartRate/deprecated/BLE_HeartRate/img/notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..5898de628823dc9eafcdf2fbba0a73ed6c7d7d6d GIT binary patch literal 71796 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 z

ImqR=Xw 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 jf>ZR95o!K^FSV!7L5j literal 0 HcmV?d00001 diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/img/register_to_notifications.png b/BLE_HeartRate/deprecated/BLE_HeartRate/img/register_to_notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..12a3af8e701969453fd3d0c16e9db186bca1f4f8 GIT binary patch literal 68894 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

L}M( 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 _-ZGrNKNa(LDSSk4Ss(bN}?5XFWUp#_eu5 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 literal 0 HcmV?d00001 diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/mbed-os.lib b/BLE_HeartRate/deprecated/BLE_HeartRate/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_HeartRate/deprecated/BLE_HeartRate/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/mbed_app.json b/BLE_HeartRate/deprecated/BLE_HeartRate/mbed_app.json new file mode 100644 index 00000000..4309a7c2 --- /dev/null +++ b/BLE_HeartRate/deprecated/BLE_HeartRate/mbed_app.json @@ -0,0 +1,16 @@ +{ + "target_overrides": { + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + } + } +} diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/module.json b/BLE_HeartRate/deprecated/BLE_HeartRate/module.json new file mode 100644 index 00000000..5b6dd868 --- /dev/null +++ b/BLE_HeartRate/deprecated/BLE_HeartRate/module.json @@ -0,0 +1,16 @@ +{ + "name": "ble-heartrate", + "version": "0.0.1", + "description": "BLE Heartreate example, building with yotta", + "licenses": [ + { + "url": "https://spdx.org/licenses/Apache-2.0", + "type": "Apache-2.0" + } + ], + "dependencies": { + "ble": "^2.0.0" + }, + "targetDependencies": {}, + "bin": "./source" +} diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/readme.md b/BLE_HeartRate/deprecated/BLE_HeartRate/readme.md new file mode 100644 index 00000000..715a413a --- /dev/null +++ b/BLE_HeartRate/deprecated/BLE_HeartRate/readme.md @@ -0,0 +1,64 @@ +# BLE Heart Rate Monitor + +This application transmits a heart rate value using the [Bluetooth SIG Heart Rate Profile](https://developer.bluetooth.org/TechnologyOverview/Pages/HRP.aspx). The heart rate value is provided by the application itself, not by a sensor, so that you don't have to get a sensor just to run the example. + +Technical details are better presented [in the mbed Classic equivalent of this example](https://developer.mbed.org/teams/Bluetooth-Low-Energy/code/BLE_HeartRate/). + +# Running the application + +## Requirements + +To see the heart rate information on your phone, use a BLE scanner: + +- [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android. + +- [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone. + +Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Building instructions + +Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Checking for success + +**Note:** Screens captures depicted below show what is expected from this example if the scanner used is *nRF Master Control Panel* version 4.0.5. If you encounter any difficulties consider trying another scanner or another version of nRF Master Control Panel. Alternative scanners may require reference to their manuals. + +1. Build the application and install it on your board as explained in the building instructions. +1. Open the BLE scanner on your phone. +1. Start a scan. + + ![](img/start_scan.png) + + **figure 1** How to start scan using nRF Master Control Panel 4.0.5 + +1. Find your device; it should be named `HRM`. + + ![](img/scan_result.png) + + **figure 2** Scan results using nRF Master Control Panel 4.0.5 + +1. Establish a connection with your device. + + ![](img/connection.png) + + **figure 3** How to establish a connection using Master Control Panel 4.0.5 + +1. Discover the services and the characteristics on the device. The *Heart Rate* service has the UUID `0x180D` and includes the *Heart Rate Measurement* characteristic which has the UUID `0x2A37`. + + ![](img/discovery.png) + + **figure 4** Representation of the Heart Rate service using Master Control Panel 4.0.5 + +1. Register for the notifications sent by the *Heart Rate Measurement* characteristic. + + ![](img/register_to_notifications.png) + + **figure 5** How to register to notifications using Master Control Panel 4.0.5 + + +1. You should see the heart rate value change every half second. It begins at 100, goes up to 175 (in steps of 1), resets to 100 and so on. + + ![](img/notifications.png) + + **figure 6** Notifications view using Master Control Panel 4.0.5 diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_HeartRate/deprecated/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..a73dc227 --- /dev/null +++ b/BLE_HeartRate/deprecated/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc \ No newline at end of file diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/source/main.cpp b/BLE_HeartRate/deprecated/BLE_HeartRate/source/main.cpp new file mode 100644 index 00000000..1aa11154 --- /dev/null +++ b/BLE_HeartRate/deprecated/BLE_HeartRate/source/main.cpp @@ -0,0 +1,127 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2015 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include "ble/BLE.h" +#include "ble/Gap.h" +#include "ble/services/HeartRateService.h" + +DigitalOut led1(LED1, 1); + +const static char DEVICE_NAME[] = "HRM"; +static const uint16_t uuid16_list[] = {GattService::UUID_HEART_RATE_SERVICE}; + +static uint8_t hrmCounter = 100; // init HRM to 100bps +static HeartRateService *hrServicePtr; + +static EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); + +void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *params) +{ + BLE::Instance().gap().startAdvertising(); // restart advertising +} + +void updateSensorValue() { + // Do blocking calls or whatever is necessary for sensor polling. + // In our case, we simply update the HRM measurement. + hrmCounter++; + + // 100 <= HRM bps <=175 + if (hrmCounter == 175) { + hrmCounter = 100; + } + + hrServicePtr->updateHeartRate(hrmCounter); +} + +void periodicCallback(void) +{ + led1 = !led1; /* Do blinky on LED1 while we're waiting for BLE events */ + + if (BLE::Instance().getGapState().connected) { + eventQueue.call(updateSensorValue); + } +} + +void onBleInitError(BLE &ble, ble_error_t error) +{ + (void)ble; + (void)error; + /* Initialization error handling should go here */ +} + +void printMacAddress() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + for (int i = 5; i >= 1; i--){ + printf("%02x:", address[i]); + } + printf("%02x\r\n", address[0]); +} + +void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) +{ + BLE& ble = params->ble; + ble_error_t error = params->error; + + if (error != BLE_ERROR_NONE) { + onBleInitError(ble, error); + return; + } + + if (ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { + return; + } + + ble.gap().onDisconnection(disconnectionCallback); + + /* Setup primary service. */ + hrServicePtr = new HeartRateService(ble, hrmCounter, HeartRateService::LOCATION_FINGER); + + /* Setup advertising. */ + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::GENERIC_HEART_RATE_SENSOR); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); + ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); + ble.gap().setAdvertisingInterval(1000); /* 1000ms */ + ble.gap().startAdvertising(); + + printMacAddress(); +} + +void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { + BLE &ble = BLE::Instance(); + eventQueue.call(Callback(&ble, &BLE::processEvents)); +} + +int main() +{ + eventQueue.call_every(500, periodicCallback); + + BLE &ble = BLE::Instance(); + ble.onEventsToProcess(scheduleBleEventsProcessing); + ble.init(bleInitComplete); + + eventQueue.dispatch_forever(); + + return 0; +} diff --git a/BLE_LED/deprecated/BLE_LED/.mbed b/BLE_LED/deprecated/BLE_LED/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_LED/deprecated/BLE_LED/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_LED/deprecated/BLE_LED/img/LED_OFF.png b/BLE_LED/deprecated/BLE_LED/img/LED_OFF.png new file mode 100644 index 0000000000000000000000000000000000000000..9259867145ff7bfe8e2673f816880346c08e4a07 GIT binary patch literal 62969 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 z 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

vq^)L{u_?l*$7qjJ|fI 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 Jiub00{|BuKm)-yX literal 0 HcmV?d00001 diff --git a/BLE_LED/deprecated/BLE_LED/img/LED_ON.png b/BLE_LED/deprecated/BLE_LED/img/LED_ON.png new file mode 100644 index 0000000000000000000000000000000000000000..1d71afc56fb35188108730259eb36b9665c2b08e GIT binary patch literal 62866 zcmeF%RZ!(jxGrFvg}b}EyR%?mU~rhh-QC^Y-JLb);O_434DRmkdgkBz_S~PFbCF7Q zCzUVNom5wzHxY{R-;v<);laSbkff!)DT9H5n}dNt_yb`6_0;0;mi*g6I*CdD1ONbQ zI||$Xn&3{#-^IYHrU*~|HK5FZa=?FQ#v!~LK>usQ*-L3Sfq|hr|F?l}nv%GKfj!_# ze*^w>*FD#P)h8VM>+6_c-1@ZH&Nhe@-K+0;CFBgCMAf8~CPgKU7rTN2T+pC;A`u}D z=^I72$9P?JjwCXTH+^1Zwe!U-dda!bY~*ZiOUzxKC);g$-yKe7tq|hbTW6RnLSceS zh@wdeKv@>*L^Oy-`jdkIv=A`hROVPv{|+cZ&0&I59dp{GSJ0~BRhV^f8pA*cxJ6>x z!f9{TSfxoR-CQ0~QDrEVAhMXq7p;KyF8=WG;UU{(51JhBVuYk9Rzb{9!evM3a~R`Q1QMaTy-ZlHbo6w75Z;M4k<7r^@Zg)DsI=UIP< zm-_GwSdbbLa2;(-%b{S(;uPcNyZvl7GG=79Smoujk?}AfvRaI;gh{TPo4a+m3vfss z)i^-q?A_`T;@-xK3RFdaNHft7g9ghfki1yEJ(8JDc<<1@UX`cKHTmN!zg_Yqu|5qg zT+VHs9QO5r&+q5!oY(|esAS%6(Ks?{nhJOH zY}Muv`pxLm1!ULeov${k=)P_v2=+TAdXoqJ>bOYidyYVJwqJ+=NXBO?2%n;s%Ir|` z#6!LN;@eIoNHD04|EW!a!2e$H4UL@C(iYW_GkccT@^>vd7HPi)P?;n1H;qrZ#m|P{ z+*o5#C>vxrdG5yRblP9r^|!RrZMFel?TlBZvKnLyrZWZGnlX!pR&r?Pw4sQoX=0lo z-}C48RuyJeBIYciAK2CEOhmB640B}?gL9Dt37qZ$4`!sHXWS#_33f71$TmfXAPi$Q zwh5@4#QU;F<);0TKUm`@?*3Bs@a7Gy7TFLhURMEY;vV}AMB&_4wqxD=yGKrHIEHNIKpnqiu*!U9T4Cf2h8zR&9}L@mfVl&LzL)EUflVTvw>(Rp61{kv~Z= zq^UebA~mnE9%$75uyk6LMAz=*o+<4QVHz}l7ocR}QPbqMp`0Y(8JHgOdbge}{Jp?J z8{hotkOcsbdrqIfk(B z$0Ee2uo-m!VeML*+=+W22J7!EJsbbuYZHw5s*9CQ~i5j^iJM`xV z#CWG`r=Z(cp2?sBiOkJHb&>NcU?rqHda0orQtg^Jk8SGKfn@v+WfP52E1TQ+u+^cy zRUF-=SE-13{6mI3n|T(0P9q zI!sZ-6T&I*rWcHEze9bZK}rRb40vl&vDIj$W<_NsI>f20>UGHR3QUU6Uf z+zV6Yeqhkx-r*<>DfLiK915?sf1&rdIr-{Oe(%0LzN^kEZGAeTaDTj4VUd=m3uezn z!-MSE`m}Gf&U(m6p8U`??fR%#_xm_-+^zX2@+mhp2Y`t&C4%lE8-vvSgHG&n@TB}; z=KQWh#}A%^V1xYAh4BZAiL74Ddl*=F<+x>E#yD{sAu@UXGG;LUgIc@dyIBztjjUAK_GF4`BCGbmiV?$-Ah}mrm2^(cE z%4Lld(GXGbY+RrDg9gddWm$RK&DV=Mvt#AW`lI|_gy8WD{D;M~PY7WzM9y-K3XSi> zz}J`nRoI+;CwJJR^dqClh{+z=8QV1!UUTR8_i8}P8_H^O%(*-QrWHb3WoF_vp zj7BY;eM9xVyKor5N9wTHkM`0g&ph6ULLzMJMIX&Q3aI4~Cg%R|0;!2ZV_w_zw#e6{ zcpc1xe;4oR2L_zE$1@$o8WYIS26Wg#7IS_u>D9}p0{OH<^AJ+2laWFswquoN6q6fJ zzb>ZW5eXKi;+T?s;%V#pBkg;`*jW&Y;b6yMW9M_C#mjMSrv6^c}U#?y-xv%keva; zcwr=%QR{C*d{{ZdmH})u5WNHs>yXr*Z2T-Np>LNRbgWWCKOWi4(oNCWFf4fpb1;4* z!b3`DJ}RyL(0broSl_zeSUce2w!>Pk{q1nE(OK{P^$s~#_T3Dl0DIDfa9{(0T{_Un z{BLJcM7LdB)!~PuW;Tf|>6+E=WoN4`NqA)bU&cd(*V6XXh`X+4wc2-})KNT(mD?NT zCX3KytSNMjdf`v*15eBmi_N8K@!wFtA@bZI9uVj`Nur;D!tbYEFV|5Cw+HDF?QedC zTuvi)P zBfE$zMFzgl(5?q~Jte-3tB#S8#@cn`Q%$dbMMvkcsc8lkKB@mg3iE_tul^B4otj@s z<#_S&6}WEA-fAZS`||NpGR9?=N4b>aRY&Nw4VEG7r{s;#Kj$#tefU}8R)R8l9jcc@ zzm)5g*cwa3uUI^#fvWPVjkr!B+Wz&oHY_t^w6(kan`Gx#D#(PA+q!IZ2Vf8HaQdBd~CYJE{gv6Sq-FzISN~-{kV($|o2QzV4O^aQvKnDH%W2 zlN>QjWQ34Isf8klyQ<9mYVh~H1V}Sj5 zh&zhUVK4g0TP0ypaxUZN>UFPI>NX(tz{I}C?3G!LN%;VS-4=38!RwaAO+Wy=9^ zMz?cO#$WvWIP_f#^XSFA7(xo2upDZmE)txXD%Q+-bvrReW_GCfdCJ5j1XE7^g1?l< zzBBjN_514a_EEoSV7Hcqvb)~9tM{ds&puuM4ua803h2{riSo;#2*|{e@GtXx;E25b zdny$^dry?tPp+!;l@tYhFE+J|AD@TWlJo zXMk%kEfG}qFrP{e5~D5qqJAb!Z*&WA!`gU4K=rSEwQ#XEjz9KfXal?U?**4DO3#<- z85&lnOmoOemdMD}qu|!mW>{9i>JMY^^S@yDYx1P&(Sz4S1DWu75@RV*MW}kZ2#cl< zW+c#ka;bxNAfHmirv-ssUKc*CZ>s{V?mbiZb^zver_AY^l*b2nD1P*cVm|Vg9{2NW zvKoQrU?F}Oe#qaK8%(SeZ1swa_LrJ<>+dVoIPQoh)~kO4tU05iN&OmDf=4+f?tg&30IB7pYTgL zlIU`dlg9hOc#@nMTCMYF{PYFV#KwO%P<+bX)EVqUyOG z*L)Tp3m)Jx0~jsO=qeJlF*EN~{&|dz>GnIu>9TE4XBg=gRDz^xV9{gVAs>aNOr99?pMuv)f%gcziYb`yW9~ zY?Jt2=r|?!O{joJ6TrBuL)B?=r&HCtwpEqu!oi21xW< z+4+e&zLHSndBb5~i!FV6jkkU$A*b1}$C==Y{UETI)IwB2>l+R0={LnP{Z^ClG$_U( z4ixTOCC5tq2XrPbDw9yzo7WV||ThSCN+oIu{q&M$6{-8i+Z1QybpoAGct zzcOjR;tHKE{Ez4poN<9C=sA%<1bz!F2;T)?14y;nSp!}78z9~LC6UEqO)v56*qC`> zgz*eQmsmY?2X=1jL*}hTMNp0{6SjHI^Q)eRG41!R^R1f6X4k7kFBnRN9DX*{0NjY+|;fVOE0$+Aj^_8ru*?;Wc{*gsgp(kEiE>CNM} zVlqg(4>)t+lc;npQ%S47*Y>!)`6!H5ez_}4_Fl+m_IhI>@EL*XOp)x$p-e5z$1 zO7zBSm)4m%uo+XCFEmHlo^y6!-Dm7ojZY_f(FNT}Hr&w;8FgXqX1)DZy+!1Mv5~$s_|M?8#1R)t>xg zU~~aS#W2>K7i>gv`+n;3A1FlFno9s&zHNQKr(Od}~SR*J}PP*NXt`d9;6kneNzw}zKzBa4eU(M|j zomc=H^;cbp^>CbNfE_9G(=XpEER24DR*QV#&=&5{_qRfWbVms|0^WiMN>N~Q8+Xmd z$Lr4tkl+r!vnlf*&;B#NH=~|zo+&!7hTGynCv+A#3uNz5G<;X#9z{jEORga7u^N}# zH1If@?$;pF+>hz@xrV3Tq}e?SZLTvN5*WIL`f!~-4F4N zZ=7yDzF&BpTf%R70H*;|zPAz4_K&k11tq&}qfTBBt&8=>+(dp{n8rik9&!@oQ@~>^ zt9v!EBY^8*TkKFm?H#D;MojKzSbM!Mj>1YzUTdu$83&q`>YmU;+}b+4ec5}G(lZ|z z&UMJv_F0T5R+QoG3$9J6>%`F)IB~m{e7S`jE7o4W+L~)2rW?c_C$9u|F@e@ApJWSoS{= zM#?g~4l)lHlZF=e|2C0WEs|Ca;pRnhv_Hmb9vS09nDlB7%w;#Vug8()EN_PmZH45A0gfh9&P-gv!_XQ)jxJY8pVgj+wl^w~k8+PX)yQ7#&5M$=_@JXQi>27w^G3&UQcXbCnCFB;^j&#-i$Zo-P z%o}Yy6IdYkTRjv68&DfS;oFaFv(Fgq$vMFi_HiC5(tCNb0Z$~;W;^dxVmQN8EIcOy ztED1-@&(S&0=0%TJ2yP?v6SUU;n(#pI9eJa0m-Nj^G<#eiY+_BU}mboK&%{Y4qLxg z+n>|j(}KDyLYBvYEP`9VD2TY~p&XxO)=;;qJ~Q4+j!+UwCGexjSgRBhq95J4%B>rZ z!p%q&!3$SDo-tOy`;Yhg@kZB&9ohN)xqptu-aQ-_3<--#wl2&PSK=tjuT*T#W6v2@ zH<0eyF`U0^?)8b^HW^qJvsh&>&4~P%GUMmxqd#Rj{g|qJa>>@GI&lwmvF9~vZ2)xz z!L*26RbZHeJVQmTVl284FP+jgBHw()jmL& zoO(6A7Q_`B6ur~i(*<58Upt;sy)R+Crjhs)0xOx&{gc)XvDc5|lPx`O725-FCBb(% zf{x3sn;&}&ldc{2mthB3f;`01=JUg~dAn}*YeF}n0tbG2eJ*qKY};W@^1_;*Z_OgO zUP5wWp>Es%z8^WaTW_#pYj|%@MWEM>3+P0`NkoA4Mlhpg7>IXgqGKU5Ws`;h(~@Xs zBwnvKVbY!N{Kfrqm&V_xdVn;`b#NE!&rvXLM84u`n8i3T$BYA)&Ivi275GN43g`tJ z0*lV%5y_K5^Xm1`I44d+J(A%(KKkw(CP(<)DgvT|t1O!VL7#Zbl$i5)fZ|RFflOH~ zdsi_9h|hh|p3-t6%!)G#SeUjzi88err@cJCSE6@u1C=UKT+fpj_SYl2o19kV0B`ya ztSb$|tzAZB+d}?r%9SZP7smZ_Z2rZ1UiTg)nRDyPG1P*?33A7$tq{^n5YZv}*Ha_D6uTj}C2- z%47w7hdD)x(uFLX7u%|I4cVhjB}XuF-`G6=!QV_pDHT1lr3O!m6x85zD5;pW9F4sM z*6LapY}hWBl1Oxo7ScJ7=G1xQ#3bI zxxK_3`^PCsRR#B!`DDru2^7t{#y75ni(dY}5U~ofx-7~99-$G1XwEXI_a>yrm6Y93 zV!%rLTWfka`~!hn86S&Oy?NUA>fJDBGRGxt^ctPjp6<`0wi_4poc+ z%5?^7Q$0RIz1_rex1{A<#sao1O!O%!S=YWc--Ta3k@rKMvy58jIDeKcL#ZY8LOH^4?ko`_6;E$gb3EBn#nO zJy@%2VcV>bWy!?H%7jZbWKtCc8^;ICe76JK0?Ey!D}(oyl`sbWHs z(-=2iEWW6V@c`-mboS&bLo%UZ^=vgtKlvpUr)_*Kk0q@Yh>R|6v;X3*iSAruz|l7l zASqDqC2pZq0<+5W{WdVBIZ7_t&+3QkC__Crm0o`cX=Ayb7W4V0Xp=vPM8;8^Izf}O z)R+{EPkeKGXLfCs`> z!>soX_?Lj^C))%T8kavbTJb~pDvS7Ytj)#VE#^_OI-PQ-e@p4q9xN!eltQ<0zb~_@ zrr=d*L?7T@Z)PJQs#pIE1|4iyRIxgM9o};}6z1QS{=k56_iPTGYqFKY>x74>g$fJ` zwbQ6h&0hXpwE#479Qc}^h&kZ05a4pQ8FBSImM7StD|izAzN$|{OEZ!%=jyE_k7T!5 zQu}V_kRV&I7|Gq?eI=O~RP1ZZzduvao+ka#)_8C#jASxVhK|>Y=!jr)8`z02trEYK z6t4E;ut-XDuj98Jg$7vV<3=kfZK1;ClO^h^JL-)Y0)+9XbKI%60!)B&US_Qlx9FYe zW{GP#OC|8x16PzdH}IWlRNVKCdprqaM&UB64(PgbMIG)2zFQxz!Up+a$~M=e;vIj6 zgzHXS&60rjhoB#?r!W9E2{jyuVdR8psdjHkx>dbSPm!T(FUi)S;)4gV>-(M-qbw!2 zTIKP3!bdZ3Mqn|?@4dm*Ef2I_5}9rDd!w-#vm%Ge&Ya8vwZ>RG6-s5j(vc38uKS= z7S;W0y9wI#ryZCSe~ZaXiif2m*8QN6tlS08^w z2~~3Sqx2>i!nZoEj&PM5^~jx3*V!uBs<`K1?gv{{rg!)k#E*aeUl<}nUA;`N7nF?> zfVfZw{qT2c5^a*pm20{jdJ@AF3Z^Tni6vN)*X<5@r5$b+^P_@Kmi7YPa%`BiTX_uJ z1kb^3=ZOSlatV7Uh5XBIKnS8vnq$-K4(QH^IUiiQkHBbc)AP|!*G~3kABzbzZQ9`v zTP15S(o!sGIdFI38u77@60`^g4m_A%;|soY&C)Sa7ZdhIL4~ms&NjtXz=9JvHccxw z+ks?nbRNklrXTU<*nKhrPF7!wGP4vdYxrWHqE-{YIPJ9IgU)D@kW*RMudl51=o>)@Kf2({ zff#7Xn+reDA4ZMa^E&4wc z$_o3R1l=wN-Qq8(ZU6^V)ApY)#te-_gmKOUsBINnuh9{=c;YG!EwK2_4wr}@UQH-q zXbO~Ioe)z~T=I)^@450L!(qqP(M>)!y5uGXw~{U_(yPazIS0i>nLDJ|`+@xb zGw2mAUC%mU6fvHJcpsssk^Z>T0;mwHH@KOHuo2i0&YZ=CF^a|i)}PV-dF~O&^i2n) zV8{oynj|+sJ^YVS2D#21*=v?wE<{%`g_OFT_K z$ZN`o7JSJNV%W6u-B>XCeQL2VG`|2huA-i7|oF-NScB#eS&m?{*}~+VMB#Sss<_=KJMs$ zLqLKT)7?}@uPE126;xMNr)Ox{PA?1Tb~i@7aNvfae3a2Oo7-U4s2b{ZqznUr)2an` z2g}(|7Tb4pafvjCRP}7lvK04*1e7`2g1G#_?+F2@9i4o?z7gqVb!)iJJ%-$NMwOCX zJ&=+W)Trp26#$-k;XOoyP)`Eo2l1%$lt5!Hi*-7QVHVZ|vPvr+n^}6a?V{@qXFido zL^!ehKm_X9tGEn+zKxV-(>NWN#xzi2s&lj(j^Cw-d%PfM+3 zJ&pSgd6TK{dwbP`^(^o@$QfOpTi>UZ@vH@I0Gr>_(AN-x&vN1LUF=#u*yib*bE?tm z62~fQB^wtAuF}6rOzqFm447r0d)Cr4*QTOX&9=IjGRg#}TUZ_8p0rr=jhHKMEFz|` z)GPIXpM4*{2Ru=-pVLFG$@awVb1qU$*7l7M{tpauhTt-2Y=7Jq-2T|UUk^^6TJ2(Z~~9L>4LeC|vpTsp5Qb*r(ec;g`?b?6S{=V?p?U(fBufqN$S0W$CA z@^h4Qk@X49Bgi^=wXZUbliB#7CKJ^KnDP3wThwODBS$iV*U=F?5buAP)+}Ow{>9)H zUrq5)azg%zSLJE?plZy2ZhEej^ZNz=0>{8{ro({rwgGp`WQ)C?+-?}e-;Xe@4s)pB zr@ji6AtFaNdBX#pF|TC!NyT}fFq^Sx#Fh6rDy}d2iWL58yj)f}DS#(dU@;I1mgN$M z9GW%BR-b=f!BwBRfkg7m#ER+$OXg^>g1D;hf9c_zJiR~cJ17(^FWeZ}bvWK|MLx#56Nmb^<19zw=4ig?WzD z)ylTBf8qBMFNe#Q0oH#?-wnE@>j-lDy5SM$wE&4fJaWAI64ves6Y!2@S%4HCV8W$W zebuQ4SCO$RS~fE`QsTDi1J#Gqmi?_rgUL@R_vmSDL%b;#j3^{jJTkW*YKtnuZhn|(tSh2 zj`TpB@n8Ul5;ncKWbwr=*;rtuaRptCB1dH&!O65A_ZjP*0Zmo+-?t4}f^fkAVMO$h>laLKwVNsiwK_ z8(VlTdNkyuDc)XEEg381_EZxb(GcS+uq>*!rJ1ETPkX&I$oW`b1k03&14RO}t!K7A zkYnwpT&55=(G?6^iZ*Oqe{oqG^IH4@zI~l)#+P$-1-9a>pl9f2L|oQ z$dUebBQ8-V0sqO>w!m7oNx*vx;b$X&U`7dlFXwQ^^iL&|gwMR81C>F*xIa{j6rz^{ zxUq@wYKrd&XIc(8&lvWMyI!siE-!X3?Wp~5FyTb#x>Ke9;h)EvQDg|b%D`0Fize#g zA8$QbyP}L`G5r;puukfhb(4h{uyJgqg8I6!QeZJ$>` zmM~crQ#u?R(L?FmYS@n=x{~7c_$@fr7!AJuO5LPyjejmRpfiEnO>K&T`WPjf>AFl|o^+E5*m~HX%mL+o4!w5Y z$0Se$g~tWdm_C{7*<#bljwE`EK3*yW4x33!fvsRb>uy6k%+vo|n0o(S`L|7s{rM zcC;gfFc3x*s+FXn!9PrFP~4{B*d0JR%0NX53zrEolJnC?@erK!Z$Ge!(hUBLV>zHP zDG^nBVCSbJ2|!hgQ&P*BkpF1D*+XP~Z+9s8FDkqdXOOFS7Td1Ua*Mv9>QvAw(?^jT z2Ip39AAFg#lY|05&BuAyRz2R>%!E(4r>Zn2J)|Ol^$8kWB?vDZSrtq!9~K*?)xbZO zoD$4d=_-bIA`+?_^6Kf^@Cxk7EY#h@ZRJdtaw9=NO2^ksv!==6U2;n?+W2oDXbw8jAK4b*Ocu%a^fEPf(dSNV+yYGp<|Q( z_F!ze*VY^jY>%S1oZIR1w*r5G6uLgPVMSTSLhkB|1hy`qr(RWD&y!6SV1#U|9Qr@ zZ>?d26uXDyMoZs5jC12R2-sJ5CeKyUzZkqPd$uQ&bYei2ir2h-SRNc~xC((AxJQI% zv~?DP6(Uhl%j71`ZDH2e9ujRJfr_t+7)p)qfgYVUkjX_#ia60XJ*9UfU$6A^AHja01KBWqC;yvkTFrf;Jx?Owmfo`R6_z3f4b~ zEJyn%k*9}$$LRi%CpE=C@*J%!F;V+Reif4c$g@04jiKZpd1gfaBTwq)+*Fdi{JL-zfJ#XdBLPLY;Cpln$ zq^7=KN}7E1wEf?-Y)65OG?)OHP86$C-|K3BM*eV%+}}Tsg})`5Vb}YCHr>j=g=S_k zi>%RE^b@9`48yalp7FaX_Emgi3rpj5XjUpWaOl7JyZQH{%Lpx$Xit!6&G%-e_%u_y z)FR47d}OS&%R~`mYx+TfvBD-N5tMGf&JOhl7u@Ba<1BbkAEeeLR+y+er7#`&-JIF(j|=f93!_>3z709?+I^ zNo)RM_)XMih7F=<7BgV%8we&N{o7e*U(}N>)#YQDxC4Ef>j31~R_kk6asj z7JZQi9k2vbS56x(oCLgzXz|;$^*pNrKi5dgRLk=`)#gkeT11;FQbwmo`*|??CUR!$ zahdWv=(}eSQXS-WsMdnZRt$|TV$sjQSa8aie85j?i1wZuBoL9_LP1ydT4QeZQe{{6 zW~*(F7lo|<=xVx%Wr~(&#e}k%g)ZrOTcg#OhY$fYOqUepq}j8ZZndN`%GJQPV^;5#}c1eKG>e? zn?+0anrk?vNJKK-n=oXD#yqAHMulebaf0`t#d*wu(xPY+9fcJ zMVQ@o!!k$-3IwtT&q*HG3u3*{uk430Hxi`!iJT_)2N^vpi09z9 zD|>iZq(Dbg=)`=Wld}ejoI8}1%VOw79hCJ3T270!ubf5;97K3*gGg{48YigM>WA@d zStYyKo-3Vb*p)gCKGR4c;EHFg+C-9cj|$2_Tj3XeH_o=MmU$P$^^+;8FU9*Nx`khR zzIt)hCbiR!?*hbAn-Q4_n(tPC{0v|k?}%U^qscUDLejUxv;w7tj0;(qr1wb52zk>g zg42^UCPcRX?`P7|0-Y=zDP&au(`mYet?=oH>#{*3onTY?^CF(Dj)15t(ku*SUr3Lq znLWK4Bu8>rjFX8F=c0u9))4SLW6GJtdc*tKo7&hv)5oeqEnIM@$7G@b7RC%2H|qNC zttg&oT?;C4Cwvvpcp{&rr=1JPE3Q<{HS%SJ%6-Mu<39)KplLwe1a`H;E@5RS>^8mt zZz2|3*K2u7XHAyGx%!)^!K`iNAt1k21g89B2girBYE$mc7=4VV!bfMcQi|?1ZzVysV7@wks0WSshT0#u zR3kxslBKr>32F@?r@Gk4>5ieqVgEZJ`Ymm|Fl?I-7|1G)`%)^}tQr*eXOdYYeMr6- zJSH!@0j0sJS#Y$Ew&(=3jugQ5ELr>;gTr|zvMZ>3vRgYRAgh$aL0r9t>e`l|5KA2s z%_6FlqyJsZwru%=vL^=JcX`#jrM2(R^fR9q$EJjNb{ISKL2x}DOu_!VO+fea^L1jh zI+Ep7v8=nFK)CO2n+-e3{?t_e8g(VBN!@geEX+73jXHJaclt@^sPk5e__`syE!^$t zGg$4trTl)#AiJF>!OZFGqv&q`=YsPs=)AA+BRzu}FFXQW-JIImTT^g4tbIxR(lBqyt%PGRIt###4W78Vbq~P>_!#zCV$<)+LfnMvfD5qgirFCg-RVRU@Vq zKVWs9H^)|Al{b(Gak?Z>Km8EZTyCh7O0!3xJzk!T-`>dlq^bU9lA3jyr(8=Vv%tC% zRC$yDh;ONMr*$a~=!i^*>8b7@Ca82|6aFq?o=0Un9`L3)!D$}J+FS3hSvAFM8{UQ= zJbXk1I#_|$nF_^C#R?#ehGXb?!`8Bmx36uaI?N2HRnZR}0MER#+0P96?n~jxLT2kQ zio61)<)Br_hWn^iMZwBgOf83pF!r;<#1fBjo;r_xFx>NfR&g2TTH(y(3}p7-ChVod!DjFTIoU}L>xm+TJPwkgx{eX{LFZIsn!(wFkHTPw zBmC^vU;P25Db^kvQm}GT+DH(?hihKEOmLVM#HLTUK(7~SP_~?%X)q%>Wq!~C;df1x z6#A=m*JhwBTp?6EVJ(O@4c6v*{Z%HUfe(htPN&1=akmMVs0%GTuo#+p4(g&N@vs;) z+P@mh)FkfU3RP=!s4wGqxkRbgvh4yWK3|wY04{_o3PBOMNFrBy?%$GYg!dL;HM|5R zY{98hU0IvTw1bqTH_Jw2RmtA@j3v*RB2JO^*?zlO0~yBLGp0Xzpko&(Yi?P~ zu8*UPs$`D;PQeT`C2wHriW+QwI>Z?(k%@{yx~FxPb+tU}Izg|cgQl0xnO^qF>9IJ5 zSdKh_n?rGJ1r<>`a!^EQhPTY0)N%$y2R`0x1~T1#=97D1h@@rGIpA{o%#8q6#9G&& z8rT1(7cD?5*>2R%BUEbV~n;ktme5Uu^r5OC`> z=-NiHMo3Dz?+BUfw2)i&vxzL&JE|A__?2KaJM^MJ^h1S+e zWWA>h zRLjr<{Ydva+BFvG_gP;&&N3K*@>V;HA|7BXr!ps{DkvepOHA#1%dis0CJKV&ed4yY zDb49PUHSr}osr9#HgU6P4i6B4Ci>#HPjir}yrWK##5c7&Bm*mShPX;HnTCr6B&u5u z>`v3|8h~a@n>**`p9gsA4Jd>(ZN>2-$+&1WU_VKOc+m01d_-}24^*Faai`DNfLVjW z8vEpcv?CU?iY)Y!ltzeXcs68}bAxy{pIcG~mszu1W-j5-BhIWT4hg+9g}Dl~mpoH= z9pA-NOCzMEHeN%{ubFf6FzX3Ao*awcL{}S(TN8_i_-Ygiy+KXGA?kl=X5ap11RH0U z-dy&k8#yA;Z2jF|Y$ddHeZUiGC6(~<?6y)%vVnc`&|EWlA!7v@EZ>prmGbc-2Py%(IU4ch0%i}D$oWah0bGF8Kg!fTLF#>?mFWj8m~CN&^@ zy`Br&%}N;rZ>E{gkcbV6`?qwRFuA^inpMuA;g(%`^R}0}`(y{*-hf$7E<`50C~%!3 zeljC=+}DDzCUEhO3hI9}dg;32cz|L#?7vu&jHC73ZCw^Xtfi%t&JY9k4@qAuRk*(!D$&=(!;mKAJ+Q?EUv$|DkjE@u)AE5lx+X$wyy-hw z)Fo}*`G`ONa+XF9Thj&ey`RN~h;YBn;Q&RB!LNf#Bo*?HqRYX9qt6WY9HeIEuO;7#y%Q|U$#1iR#7Z?hzRX{$26Bq6K|uEcV?UV%7J ztoXcg2|8s?4Ha$UmNxFG*o0oH4VYA4dlTm?Ww{i$_-CQ?R*5i<9gpku_0-hQn$h#8L@C% zsR8e^`7dtPt?0#}GL`7OT*$O!K5j3d|; zc6T0K&RY#CuGN|A_;|VPg0?Qi=0_2XMHPqeFgWJ&)I|R|lnXyX*sDuAnmzp}@=$;q z)tr9&?XRg3YQy<){!HCK8{JuUwn@ZMz-U~Z+|nF5D*oBzBYDKN zt{>_)C9*kpO?3EDy@N1z7XqSdvQ0729(fSdhU=&p%z0cp0DWu1s*$k~A`ePK{+Pot z+VCHiM6}R_O|8MN%gp5mRMxom4lcv>q}vh099SL}Dn&juZP-CJqJI*)fe#=2YVe_QE zhym{s!0d^@HD4a#(h5 z1vVyr>*PmY0%=GI?6+ezeB0SXh?OMkXW46^X!p7FS@PQYB%%}P<|Pvi>gKJ(HaD0b z^PNoId}93cJ#fpb#lBhK({8IZJWCz+87>IHv+rCjpIlQAW|Rq&*;><#*C-0Ew-e=u! zt?y^gbXQlOs;)YF?{iMW^-q5&=W~%#ee|fyX!Pb&7jGZDm?mv1#n;}2vi-FpUjNhK zy!j5M+7}mgn7(*3R&MfWU2J{OIvk4WdGCX@vtc|IoBSS+=PzFGVNb)$j$CFayX}oM z-D4uqA}z9qq_}~QlZOZn9ko5aDc9^So?&C}xI%is%1PfooJLRJ@;vvbR=dSbZ+Xbd zW0zLYQ?B*8(5P^z*TpadDZ&&Y(q3jRg%cI_UI~UmDO?j%Y|Oq*yrkglkTp^SkT}eL zOEr^d*m-uGjyuj&sXIl6JR|a{3)a)=Q#AZ2sH&AWNWC{%*i0BFwqp0YmZtdmo{V$* zK`Xwyf6ZjaxySiR*P2jY2UewZO};9GSlKR)wv6c5n%U(%*nU1o4|_ZB7Mv40@zmRV zIcvMx`N=H*EsdcB0tM~b_pUZDszgIfGe^!85dm}SgL$tG)fQJVW4*o)OPLHvr!GB~ zlTQ9bVIsrY?Br%DD3_)xFM@hFu+2SmyB0Btpec+9fppqTT+(zIIRm4q$P67MA)v@c zXYVrRzdgosJC;U|JX_iESb=c%!IY3%D_uH|&4MknJA~r}vTaUbtQ;z0rR|7*^;!p6 zz^q27+kmG2FFV^1K{SLCSGa@Am~*G@H|pS*OzK~*guS0kv!p;nDlC8$z4Qk5R!BVJ zLp`ZgVFfju#IpQUK8Dn$&O-PvqR`!Fin;!c!LLos!_}PD?Q4c)`cPokdZ#;)geaIz zYJdA-b#oe;OB-K92D%a=R!Bn(RM1AD2qy$8#8w!oceDSi#}+l!D31x~rj_&9a>>;oR<3K8fa(9 z*7cK4owq#d#tK8$$TF4dE`UcA3u*aAfa4YpwZpJi6S|ifX8I20+KW94#3BM=r95cp z*B?m+*JnIKW{OF=^mMB>p#}*>8bi(pd#u^NCsXcTp2t5#0Nsmd#5XW~9_+R~Nd7u9 zontgCoA(~H`T^q35R(xtdV8D57XX4H2tZQ0`I{}~csGHK9vo3dUGO-?h3CJ>_w@jh zekA-EO+-tF`h0>pap5vb!sVjFP=39yeh-9yL&bYmPWM@vm%Np=*{jz%A^1Hv_Y0nKE8(JD6OBL3RIQCx$lf^^>zj+vn2#3-O+P1ZGx<) zWh1i@p0WECo?jp`e&R3ip8N>b+{bD*^MT=<*xbkeFh17Dns5{Mh34?a0*P6UTih?G zpL<%ddeYIs5yc0f+bDk80&`OQ;z@;Pc3&Oy0~B+qCqXIBIYrB)7e~j8l+I}xiS~OK zIhFbF2;(-#-3YVTW&&t<7;OYaYlyxW{5(Ln!{jD;<0pM8yb^q4I>C#ue~)x^-2I{= zJ$SHLht$OxwS+MP&n=8;t)kMmS(oWzYX^UyktH*gYH_v&VJNf}8~7a#U=b_Ym9NBc zz!VJN>=;^pI;mCU#rP7S)Py^I^#uu9;!fYF30be4e>fUtHuXMl7<@VmIrs5mt1liaFDgYpin~`G4hnmy$lER0Xws!c zOyNSCDy>j^9q%cFyrXN=uE;gdVE8bR5(WpOubl9#*^fg#W_*FO2KCT4Hx)m>MRp)k2Butk_FbwY-prgHZcI7JK z7_z|^3B#M=J%qaKpSu-u_qq!c;@46gO`iv5;S0S+W1v}TPiFMIp?CqGyH6tzlA(#8 z9mh2KeK#Ssr*I{Fw|Br%9hJ7Tu?rG)Z>Vh&Ep)Di_fJ>LtITT1P4iB%*_Xoi`=R%% zTyAcJcxYXLp;Dw=Ye*Sf)@hG41g%Ij6|r!JX-|EJ-lQV00|Jl22YyZ%Gaf%lN1>R# z$tPB~;KU(qL-?;A<9{Gy^Sym=BMUatI(k-E5#jwou;Ez+)M*`-t0w+DWid~#m0{`k zfm?{d&L=%L@>>Kjo^$J>F2PY4!y&Q{@^oPyyVrHipo6Ntngei5YPF*|nQp-EC~m#K zgE;%ihIIZ8$kn%JHpcDW+MfiQw$4(&)Y|6$AnXd1gvm_b6kA<6lvD=E7c(`-XhOaM zD^lcJ+vXU=HK0VM7)&7`lk;^Kq`ExgN(t?}ToMI?T1zhsVcA7RpSMAEo3ZfMbe91~_m z@H}}P85Ipaq7yGd*HP30OE%d4pTHsKO3=dI8vl;4DZxsCggv*#ztDJ0aj?{badV^l z??^4o&%+@fd|@jgxq)tDsrc81Ur8}w{b$dplHU{wlKg<;Ve}!l;u=bDi;E6Y?p-Gu z@w0TCgNH!B`9QqEpD&eVuN(v`MZN^qIHu~{Kg-`ZsU~FB6&Ar83qX<|dIu8LV>%b| zngWu@(mlsuN1T*}VcPiIQxU=0jST^!SoDq@AViI5Dj?m?U7{w7xv=L8?8>{OC2^tkf-LxI&SVn}X>CxeNlgAA;x0&ehv_+C9J9}RNq zw-ZbArbNNPjRhuiIQTa@ND632md=MC;Ic~a|DJjV9o%~w@SIp=)1v4~5cEr7j=5 z@g$!+cbYWH$WWVY_5GuWWcy`m;eD-?krERlu$^S@2Z^I9D(u^Z=fe7qXCwg&D(KQv z5AGbMuGj-%3iEwSSf-3kjAEc}I8U}sECC`)iA@<7w70f6sx=jYLz$CLx~J`_YqB+L z<7(u25b*`D4~+XQVl{y1^PY7JqkmAe3w&OMTHMaRsWp2SQS2!1+r`q9A(~{PM(v{O z*p2Bhmn{sT+re(ztm5*0o?DAnZ&haz$O(+Sh;TiLzc;Ih+x~s(&o^A=0X=sqc z)4Rs&4QROv6_sAq3}>-MIuU)(dbXgYN7$s$eL;Dad-~9!UgqIwzY=ma>UO|CQ>9)97m6gYC~CO>T$+fEM_{KJ0!(i;+LyDWz-iA%J;Fi@{D&GdvI9 zRZaxncI;}L!==X~HdQv=6ec8y;6Sl|2{ArjS~r~ug1753J#00VxWjTeD<(rsg374MO&x7#ReEm2eku<1^+YV<0S(Wqux zzCu`Pgah<9tpZO(i!d<>XvH)7;6gsAUHQ|i0B(a1 zDs&cA(b=4Y(&@AUi)02%WZ9M^Z>^E4JH-43l)wmnSt2}8gS*aRQ_=~VV*9M+FddwOp@_`ArD^qp z?VCWPhDoQ1vZUrT<-3whLluiIu6~?J#zldRJsVQ;yO5p0dc9K;w!WD4RggRRZi>)? zfgEXXe<9grN;bk^o6SLMj(1MCqof}_8-ZK^Q(zoLpLzL%r}MZlMef(`a9&EC_RVw% z8lEA#+IGI;pwVbEZ*~=HmL-g-UH@T-%yd~%o!|n0Pi@ze#8a-dRBNCyKFYtB)(u@YEN4WJngJF}o|~u= z?k{jbueMo0ghlIHV@PgN%fP;|(SCRf7j5*rK~~(lr>I_;Nn}HFIk;WedDND7F}w-C6f#~$qhC%^USNNpbmk@mIx{Bsekd!r0_3vHS|&?Y)& z9F;&d?52h<%_E<4^_}>+Ppyw<*E@uA9kNmOm+wq4S`DZ&7Q*L$gyhNtr;e=XymZt` zfG1{r-rWfL_d_J?bkScq+>=@wOcA_x2~RB$oKl7(6H~wOleQHfR#<+kLN$Go0(I+6 zwG+)wrYH^+a9DY(cJmlQCAk0?tlK@@-!AdV04`m)x4T}85tB!2kd24mW?Bq8Pr6^V z#J4vZjhaYOk>aln8V#44#6eLl^s%JE%Be#w%@b#Hy{Td^T;|Iwyw)p*mXhbVG>4;@ zuH!QA+ApS~;g;#+QBlqQ_IZ-j3QQSk48mJKsUk{`EmG@VaE?hyVELdw zxpn&{l61lW&UauRxoV$zQ++7s*wXjNt69vaj|tCRnGN5hw@Pt}>S|pF4cgVLyQ}Jp z79>0Hte0uin-WudZ>)9fVp@k-C7#}s%<>WawHho(GWeauM(vHe2R7WRI3&hj?~Yx~ zC<*5LVVhBr^ohjVu@-{Ic(?Rigq$wS0mvJqKn31ddRcyK#uc1FEFX>3Y z^@wwOgT_f=kC2hT^9vv5PBL1O!AqvE`So&EVscx1MF`8!gMy;FjTq34K2G7~ zeP1JwJe6!w_)A>nEgoZdo#l!Qm`ueTaYr-_kCdq+1ont~(aih=ZJo=bhejN7`4({COMGgXuh9Kiwosn@ zo01Og(DUc>Jq;7*{0X81qj;8A2axF~y)P=2&k59|Nz<^Y(%?i&55Xh-TW{*~PY+%r-VE6j;GfYGKv;6eNyxk&Ic5knQ#Z-YKw%GI4D5v#Tt&9m1(D1}hI|&zFPOQ1OKrYE&aBduz~;rtaxIZ2>6TYgNrPP_wGu%GEUk4Ss{A#*b<}a zkZIgNS%$qIcvk=s@6wY+RZDp1g9#FHAjwRsY56RnF6C;AQ&GLuf}Vi$ zA-U)qAMMR5Q}GUEjqBN}6d|uI(~b}6$47GOv57dB5{QU=A)94v$(h$DwC)czwE0P` z%lFYFg2snafyN{81GQd{j+`H^_<_B(aXFs%XX;1P59vfPF!%ec`J zQW}QwA4d|Gt2B7?iPh{0Le+)sh;0!Lgsap>Tvx#s-)UP1Ca0U!`%E+8`Q9IsM-FkV z`UhHo6O7&2NY0%)CpAO=jF(_oIc^Y|Pf#6{C(uS+@6GtwY&I^532>J&f^ron1JX{# zUOMo>tM-&uTVJGjbb8`q3P=y$WaX{-?VJFT(Km za)%|x~zfI1yTs2Ji7h-XIg(+DIBa2 zI_?W&;)H`l>_CMTToyC4<|(sof-Wa?+Ku-6TGUbLTs^6{)pL&IIcYgQuO2hF=h(Qm zaf<0Y{??xIDJ;6G(T%xY_$h>5n~!>K>jSCSe6iNc&8n6L-4*&(J_T{qKs!Z_mkti@ zhy2N+Vr^-v?C;z8h0h_%NhX!6;p!#})gHStY8k`a5V3zS$VDc8@kj>RAgXK2rvhEX z684elOwWnocoHrVo4(WilBx(MBbe#P z&WqwRYzRK*zG4t#vN!wy5Nb8qLX9_5)o)%Q>3b>JOzW|*s|Mz~w0l3hvL$jkW8!|SMrPJ-;A%>f zF>zOA6RpA<+E=*TE+*C0vr3bLx4&y7q~!u&G*4N}#pHV-p1f(G*ml7=3~Gr^teP4^ zxUt{@+#T?2hE?Gv2_>-3r)#sA`m{!Wln(^C3_Teez`--X;t(+XV6G#IfnF{(VU)}V z6)JN!8e{5F3Twxckn9ln*Fs{!&@c1iSlc3hOoT+K`31VN1+=N zI#e5Dy4tq>4vh83MlC&v<*yhz3geF)NdukiVNh}vKCe$RWg2!&j&q3v5qQAek%Zk8 z{X!zeMcCvt-^mPqEEbcxDD9;Hm}`_JtsgXTN|^#uremorSRWN)PaoRUiTMHeL_%q)Gn4Dy33csnwjZy+l5@=wRI416=yOH4&reCbs=8v?bBNizQ*su67 zbdE}%3H#XMxaUu@`@83K>?Z{-`l%}1J`N{o;s_ftKJ0U7WdC&QRy)VZRE@SqIdLSj z+i}I3^?;(|7>^1(zlSi$aKe+6Lx!Ac$0=2)T2`4+x(* z5j;0u?<$-fP5Ikg&qJQQ{?rWmPj3cLlR%QA~aqNY z+b@3lbE&rAJGzdEEDIX-Dn$QsjnPNR!ehf3c=KjrYsk*g+`k#BQIpMkX-Hn4{<~J< zL}snYn~&{=fg!Z0hMEnllqA!Up;G()xG{wLm*ZQb7 zmR4UA5*L5Ank^C{LgUp#2fC6NOFjw1c}@Yp)bh8Q=I{K+Danv^OzK0st?UVsvX@_z zxXoW#`lYEb?Q{>&nQVV=vqRmL@vT=qHiyNZxclMaeK;LpMR140dsRA%rZQV!GrsL{+Sn)=dwF^(9ta})h3zmMF1?^@s61s zb0@eNaNb^e`7Yza(WK*J^24ju&S7rjd6hNF89iEo32LRCpX(5%+nt>!J#v6W>C8T} z**tH_+<|bycqFi$X)vVZ>mpaLR96jOU52gmtlLM!>rwGj!cqJz{pfB*xxsN%Ur>lJ zVZPn=RRDq!=he|#edS9t`k8)gf)6uPo5J;$ZwJ<0uTGP?tNNDt1j{lX8XEh zP+{k;gR3r$pCW)W?* zWq9_ibUywtTSya5Cz{FMXM;L=Ve^b4jv9wNt#RlBHM>? z!G^hem`~LE-a>{d`fWaL_c?+Y3wX)`%41kSIS$H<(>CS;RYQgddE^?caH%bA&e7P6 z?g`a(bm42Auvj4Y?)f|{qa{J2_5#JDSGNvGQzSHVd)e?sfE$73M`e>XugIc)v4L4m z6!7$b)y(0w%8egQbPc!OIUU+dTVfYbGh19g|8AbCOHRc$EfM|Ns?xQL-ZjxLAudIT zMd<@@Ta5(}Kg&Zg5zo9vEi*Li;*cw3@o&K{>mhBzt>O1KJ0D^0e4TE0zutt!^b(kO zV77yHpW{V}8zhEKzx*64XtR8SiO{?NGitzXRn&vb_3X;BnJq zs(Hw(tNAue9O?6PRD|v_mR*P{cr9y^{TWeQ6h)0W(AVPcoqe;N?xZJsn?`)ohMa1aN|Dx=>xDx#H!}BAg==6+n9L$;HHii+eEU2c&3$0t2HnQt>eZl z;6-=GEPq`E%z2zL4H0F-g{bORQy=q2>?f4;99gA;LWQL4`&Ca$od@YV0}m4aqz<^@(?1*6`7!hC*Ggb z4aMKO+xz8BK9xL7#>WfpO=kU z{RZj_Het(}Ir{KW@qSyKu@9eF;ND3X=%w;x1NOi(F*Rm8WX5r{->n?#)wtrfa-n%Q zmpyADELUl^{kjZY)Z%mc;ElLnzXeaCLG|sKmWklQ>03Rt{I;{)+?nZZr;(zzOK5Qu z{<`ytQyWoZE!TlCEM+V?x0aq>ZCw`rdiH$2!MW$iO6y|F{pRCrPt1YO06PAHtbsQ!ML|p!bSO~7q8f|C}Hxza}ZJXitP}C)Pp65GGeTP_tdriT-j0ZXTY?S%@JH+} zrY%=kb^ORxjn4iT!QDAh(`fp|`D0t9P3PqfrlA!Nl`<#Lp&vaTTI8?#9`UsAU|yX8 z&%gX)n{KfFg^5%xMty70&|&cQZ+=wD#!DWq78==)pEl3+%G^EmzVh^|HVnT6>rXy@ zWJyRVtW16A8sO zx!A8#=&P(rQPrD&O{T-DG$4UA;S2BD&jm8~hbVxy_>vSVFSWIBkL_0wANCK z`!U=inBO6$1dik}m;ZdNB<=;Ch`Hz&%QU{)-6iu{rV?a=aJ$C`T*D`$9uvA~jDnUu zU8aX=v$-I?E9QXked-L^!GVz~Tw69m_pu%l_X|&b;wcakK(OJyqk2XkO{Q8}$Bh;` zsh)$xDU<6rm@@i80O?Sze8X|YmTGuPc&Vf0P6TbCNRlzi3%{J`&KKFnBYEmURj+fM z*?p+_Fw||(-FJ(E(HrDAvR+YueRptlQD`1n=OO1&vu}mV9}C>NFv<)Zkj}a!vcb;_ z50WX~?t$>gs3K~chJ+RC>rNqy&{84XyA$ZwViYR&gg!li2V{kTVoUKd#%}_ zHLA7fVxdgq9#>EJBThjq`6hX@S68Km+tyYdy$SAQY8~goEtaS3h}@E;b9crq5=JJg z%>b7ujrD5NeZuF_L$pb%jl)|zy?bXTil7Y2);9}%@wNWBj5xx;cOB_+O`uxgWkqkD z3sSHlz+&@2!ma(rA_Qwe=xz6MGsodQamf>1mO&f~*AYo~#G`Mi3!O)!O|S$S$v(8l z#P%*8%OH$lC|53vbb zX_Ke*&Yj^CfA2&2NIho$sFsi!;_Q=ABV8#{?=*~-*10&eZ^23MT| zM1xYqOJ$1=I?e1{&tN}MrOj&u9sMlQ@pa?9cF$+$J7wyB=`P@$0f$UT2P+C+*0&FS z1#43EGUSEf|Kvw|J;P#`k?~&4*+ZkH_SC&q29UA+#vdoj3eKQL~G zOKVPz@mEggdoo&5u-J^vR1IzhZgeU6i1W+pxAIgAA@GI8df<0OT!S^Wq46K3-yb8U z7EM$!mdSmop}O%;BFwqMkR1%QVKfeGEK;l)P0mQlXVm||CG&n;WoRb;mF(Ri`yy!R zQt?&V=(P=IBroC_&vpZk-hu+PcZo6Q3cb4BT=}7lPGhiKyiEpW*|PLb#~r1T|NSK~ zrP!SNt(zc|e_g$%HTY@jY=|6O;8uRZa(kF*YkGzOe99kmc$ta$v7UomwCg7?zTRXe z261iAI#1a~4I5T^`jYy|*dkOlMSc>D&CBw$Aq7xPAghqw@{>G?`Wu5tpG4 zg?<=um%CKb{8G<(!oPf3kSbgwH%4+ipLhquosA19CNzn$&X#mmiaZ->4*yUe|H-8 zfiCx~O%Yrh5L*!SK#LJz{dAUW!#jNvs%BLTeg}SuIbu`?9cO*`BP>9r7OkpWcP$7? zq&_oEU1hMa{5SiJ;UIVASou9CkHErK2Wy*FgQtj$OLs}bf3$LU_%FN2=DhdCg!THW zul0X+zsjlqv!)mZIV29Hd9c#|i0ZfCe9baEQPyz7;CCUn+_iva>jv2(19b z=x^HKCe>oZk{-m1I<)|S|FNH+<^QjaKI{cO3!C|9Q_KzSzdw@{xhj$KI0O{z>d_C$ zqCfV6`VV6rjn+$)c=}!r$r5FArDyO=I?XC)?bk}0Esg~zO&dNGd_MPW8zV1|*CrR6 zJy(Z$F{7bmK6D#i*HMx9>=K=CPgak+3CclaNUwclZ{$D!%*IV*3Z{cOiYH5_TFuEU z;qi?HJH{vEj8M#7+>vt=LsExt^@W;g;mp*w z8x2OX@5*WFcX%{#*{!d>fL#k7>(oeMel=9S_irzFw>~Z&fcaqsVIG@hN>a=MiIl^^D?&HWowy!NL$F_Cf+w(bV*UMGJ?!f_Y zxxs4uG~KpU?yT$YTV(Gr?%hQnT8im7fFP}Ax&C#{lTXxSkjAkv?vBSC^#ipjPsZto z#;a_fr;;P`Kv6;XNAO6G%FsciJ>M#9T zHlxM&aFo&d^BABc9;GPhh`#wT?9W`;#|o{6c%vBMdFs!a+ujkJzPLCz1RP7v4tXsn z^LnTNP@y8{`Rl_@%uKbRWbXd3*lDc)rz8vi+m9`7CN{_O6(JdNtzTS{S#&K;F^GrP z!CwJ$oTKK)TDaU9LNeRtQCXqRI`Qnk)aZIj61wPyqK#5O*0c*0xf-S#$M(;=ELP1M zZNNYPs8b_~6eZglgqqLfhdUq7k2}}O`Y($OMUxa*fC?RNre#8ZXE_WK%;ZYK@t@X% zI8=G+#}FtD%%W^o8oBFgcsIO2`G=>@vtjsrR#Z#hrM5Q%(UM`1a8u2=JXMVLIVaqT zX*g6`hG#d0je6rRY?{_^OJ}nGzL@0+cizm%=X$~$y3gCiUKlRV+A-_bO%Op;O#MA7zAp7+w%3f1$lJrtxH907 zF2;4$AvEsm=p~xyi@`2nH#@w?F4OY$>9&yJOR9DCCbH4@?aDZ@bMs#@s zcZk?2vSqS__T>Q2#19+Vazh86(!z;wsD!Y{_I+Jw z5i*w-x?gpQBG_x*iDon-y@bj_lGpiSBJ!=S_L6U|?d1wMo*2E?=zng{9?qkT%EP;A zA85T;O`+9Bh-u(~r{}gs>JSc*Jzc+pa=!)+dnTB<`;7dp{5uABm35Rs1OIY%39^b3 z9URxk7XQ;8dcGYm@QCLU;NjuYH-T4|^0X^70*?OF<6=dStzyf_?53*((dh-Uo;o%A zW_N!zSkXxn_*u$+T8)sznign+=-kcR)rwt3ngOLQis@dx5B0Ikr1&IXF z8psh*xt$SlWZWy6R=T4{>svnbJ33(OmX=j=+%?(zFZZt4b=h3)BQ_B=!}mh?1y~l1 z)ptyPx_-HyM8Y#2j3%)fm8)21@#8=dwFz;n7O85#8YLab&CI+vo6I8dkUlAXe7UXi z<$kok*m~A6bUh}i@-uPtieTIe1FYKlK5N(In2ik1M>T4o=E#uzOw6$FMVRUI_Pj2Z zi6J%B_2YBQIe1l9;vYcgTHvN@OCtQ)=uDc%)@G`_R+x&9I`px4#DSVGl;SL_{ z;DA9T89~C4*nVKw!B`sA--jX5UPP=S;MmYIr_HB{55@i}lBPMPzSrZt=>)yE3;K4W zQunm;p(Y})Hy|oRremOhX2oEX_3b#y1ES&iJcHgBaS}-&lh$do= z4FFHBG4tW_RBByfb zcTbqCzXQnd57)%iKNM}d1g|aURveST3=+v+%^J{si4lEkzTC+VF&3l>9(k&a?@oo| zhGC)9^4wx>TKysI3y_k{qE@h!*(@%<~gMc#1(7k;4{t);bKe6-%_^l%YZ9$@vI+tAbo0 z9~PsB>7p14;O>hD0o&9|kBiXrNnMoUZ2%Gr8;=!{Im`BPh_2V!LREISa=Zw5J?4b@ z<+zuhp=L;4;z*JCvv4G~PKyEe#5KdPRv%Mx0+EQ@(s)d?KkDA|_K!)uV5(X&08ppGLp{tRw{ToB~`~fvM0t)stWERFLtcDv-SBR5SF(d8dV!r)fQ;EE?h+t#=*K7| z)cLU2EqzUauym(8(f>fI=weIG(>|%mJZ{Bfb7wJ;STVwy!1no@CTB=aMY4j1U_6D~ z$a-F8jJgx%N2sC$YaLM(z@*#^4hq*#mAt~opj|n^o7_-R%X$h+rLmNL3vQ+^uVNb& z_zIFI@cib5JhjyGiUCPueuUXz`7y&|Ym*a>S;tJ|V3b*WW0$2mQA2gEr{Adr5m&c}>4E zJHBAcc)v&5GK7c?rt*CkW>Nai40y|57wb}2qR0Q3OcFFrzH`QIne22h!HpEKde|$5 zlI3on8@*1#gonq_Vj!o@>>4SBbThwc$=%?+FYZdo8(S^+My-BkyPNF#Bno0p1n|Oz z$rhqo4lto10MgaW84u_!%`$(^lkVd^34o%)p)e3KD!qt<__Q}AXuPX+yN=C&f)2pA zB9<7M<5!NweomlhIM51{oY;9JcTld07_*S5_-De@1E>uYZY-b9p_|=IZVIK5a`Z|0 zG(KH_RrjYtgdX0k&(VlDW}eHW6a0_qoEG{ZXjzG-vJG4J7BQLHdbo?Jq4a(QS6-Gc zwe3O?LH;H=o|wSNrzJ5mb=2?eLz%(E=2@O+{CUC&k!zBcZbH<;QhWyJMjp{@WT+lD z*Nu#qBN&2;;ELs>@YI%pO3ypepj?8MFq!Q_tWN#SUK(z#cufXK@4^x}(7tY5H#h}? zwDM)0iywU&Dfsd00&^oykLHFdbUQq?$7(TV{b=Gpq(m=4t{N~whb8liZPxf7w3L+x z7y1F!YSyc~TLk6(X5RuPVCjnoe_pIOmfySh3f2=wNNauR(0UXvg4xyztC#40*5!Q_ z{CKl9ZA=0a`wc~J95F8qjaK?7~qgF@#pf%lXxR5IBs$|C1u|p8*Wc zSwhu!Eb9M%|IZ<$KtCs^;+!U%Zkt7 zi(z%wXvB`+V|D2z-!BXNhV|`VxH&tt8;?8XP-iJ@CjQ&gI~b;eG{l&Kdj87y9}uqw z{UvZ>CS=a?ogCVKug>$o_?1gaOq4La5aoXvjOFDVjS4LqI5My5DU6J=d?;AtSOQMd z6AFwnjjCkBzK~#%d;*rNU;hErM3o>CNYs8SO?D|Rr^_Q_X`Filc>0O&dw8ww zn!pjLD27S5l`DvSr@;a=h<*=tv8k&%?zHIEw+A9X70mTQngQMPMH!UuC%KTII=-y3_4C#BwW2_~fa{s{?$X;h*CHG) z(|3cbt)}x6&U9Bw7Cp@wVglW$&(E}5VBEMn>HAhUmMyA(NYs4Z`3&e{#I$WaqIJLM zfinU7@6zNp!{g&gSW0~2>)!XePQXDbcV3GbYV4|S6Ylb9X$km%*k_@k|L2^|&!#s<%jJnRJ8R0V7U&yz^9}=s0$x!JzE{-4EX47-4?h z;UBZixmNg{_7fxKO4L7Y-GVXkXA6rGmE7j1KV^I1zu^afKp@uW!TZ#ZK|N_dkpVLq zo-Jl|W|KU%Z{Q&xj*}rxYp}TnBOf9TB-c(D@aI{=^jm`>A89G%uE5~(D}2-Sq^Q2n z!xr52eYs|x@$PWk9@{I}OvYgPqLU9KBp%g6U4HPsIEH zu^ODFAJE!68Zvdcnv8#619OoBQS*^o` zBXN#xzZ@jG0^|8~h_Md0bMV%VH#kzLLeF!E!}u*#HHL?S$lQ^Rg@wo01svQ)>V2b1 zz-ycFm=5Yb$nsPI$Fglk+=7{mNSg^FFcvqnwOOhic!}iJ}NIKDv~7-f}?7*_T(5=Ff9vRn_sWoOnnJ%gW4U+`FbTUGDPFd<7#IJyuWYjJ}=g z5jT^19OgFH$lpI{Ac|uNozM2ajjLvhy}vvuVDEi&a{xwIX@`>8{=tIIHuU0oZ3RDW zM)p1gbXC9#`9=Cr*w`lGCEaDO>t&C1@a+WFa*DP6B7prTn+Q&l8`NHEzRxg4XwX%? zJBTS(F;_eg)^xwdVP{Z9m)CmH;A~nc+m<5lC8s0kn3TG=1VIt4>v7y}H;gKptxEH zGhCJ}YBzkIO^k39GZ_Z@#Wxf!ajfRc5g=_ise8lGKA>0W|Qrj7cil?WPAep6&Jk>+3)jk>i+MYXu(QM z$I@1&QH=WIgac+ZYISj@frG;d6dE4;fm=T)RQOkKFyIZ8H^CodIqSIB+qw~2>cR8^FI)+k z^@SVU{rxZgY6LJk(lNx^9-N)*Z5)^gPZT2!pyo6=>#BQJK z@b~o|+-5`@T0)H{Z?cC~hA@V`JLt`pKUt_h!c_O(_08ryX{A_#;)l_4_I$Fbj5%V! zPuK(HGiO5fAD?tiB}7e@Gj-KJ=^#K;scY|7G8~r@GYM!>)%O9?{y7npemQ%H|Se&@a{fWRMAlQ?n{iL z7uQ2QCj>L1Q6IFl-cZ!PE#0|xd5-bUA8d^tKE<}Wb9AoJ8~e6)?((pls>~OyGRq5{ zYyWk=&vaYA-?y_d;#vFDMD(%D8$?e+Dq|q3o}{!lQ)`S08Q!{NLM(2k1TvQcdu=(b zRNabFLan_%`@h`!uSXag#5G(IW}d(v4LElT>@qYe=E10gy&nacZegYp%AcwMmGG8N z|50Ap$zw6#?uJy*z$NV7dG~pWSk>(IQGuHV3Gg%Iz<&}G<2J`Z`{)16U_;F1fa(qF zzyJHI7`B4rKV&_CGKcX0q_=^E3fO<{i>x}>eNh61O#c8|2izKA{pf%5;Vl18e%qJ8 zZv_9*6coXJlz<|UbVR{>Z~i|-eyMnoMW1=izlQC*uD)P!-84`C$|(fT9&p<#2=AU7 z~3-6B1h~i;o2V^|as5@0HI9S=Boad=57MKMaEHPX~WUnfoj3-}&GKz1F3I z|F*A!qGj^#@x6;nV%&#ZHvgNUS1MkH{O^9TgUJKs>`9wDONR*Xq$UAq* zn~M5il-GDYWZUrw+jhh7?BHb&@4^!Po1Q@!M-Q2{V6} zk1kKj3EjQW!LnlkR=x?yBEYO%{`A6;NMUU3CsT26JGXSs}i0Ij$2Y z{dlz$RNz_fC4LH^Y_J@*i$0-<$>dc*J)YMgect$D@iMuVZ@#1B{YBaRs#o06EoT4f zFm!LH89~%bfi*}Td>QVTb^KGJv=C7Cl&)7!w*U$3-!$kWdqSE6V>KxZr^4|G- zcz^bP{6)`N7#pGgi|@|W?H%%>RjfZw-128Q>*}xyb{Oj5F6G(bb?*gYt_sgQ3I}ZQ z94)JQh|GMNU*>`8luQM0>m(qG9)-)-vJtj!`XxB1nH4(wK7rc4;1&Cq2RqN;g=oAIF2~&5Eq2CzbnP=lr7vQ z*(~F`op$W8Zcxn&z%HK8(HFTf{rpYiMv1SKiLcAAf+JCIF3IWkYwqUvTsU9BNt!CJ z=*5kMHki0`bZdvV^r0cV-X7r{M0)DSQRnLx%@{5Hz?+e$KB$ z<+gZFDvM2q|FW_pZAS)y(&VmN0>^yoND=-{tE132Exk}(Tt8RiMI7BfR-KZ{%T zuw*(d6vbZ`#q4&0G(LICzXKt$5c1f#P?~W~4e9|#9^k9YJ@`YFx$;>F!hz zM7leqyE~=3yU!Zmcklh>{Lgirk2=iE6Z5Qf-@m${)USmmx&&Ic&MommytoEQUe?)( zW-4zk>G{p|s_?BNoVxxi3ri)_U9 zaV3>lS`F1LvKiHJP9j2w3Uh81mR zjhJjHrvEX~TEXoSQ(2U0+{kBjSAXAT5Kdph{=2Rtn+9XVNy$~QCF*$OuY#LEt7P_DQb6~rv5xf2? z(K}|2X18BRtX*perYpHhQaia^bI8T~`#rL)8OXE0YWJkkoGEeiti5{E6Sjeabb`P1 z!}P*!qlcC02-Q?SOKlx_A&kH3eaU||Fai0*T`*;7W60ceKJe|)oDZi^}+FGH! z?vM-pjJLmCgR*C~%ecPG*Oz!Ur9U!D=$V0Qh$*6WWM?S$0KR&lad>aE4530vu}V3F zpGBB(4es{)RbGe%1%s8X)z3r?DKnM=a*|q?ukt-I_!?3h&CYo}CHz*_ks72}xT8wd z%U%xKRWb|wzU)sP#^svV6CYf+@;dES(0FprFActjywIBaZ1^p0FK#X9JP1YXfJL@ zXE2@@^aAk**yko8aKa=_)(zx2og!{!X%O~BcOc&0fn)#!G948}D`WT;NI+h`5QWqu z4G&e9khP=}vSW3I7kq-$0s|1!eZ{<-)L#d27=IN{DPQ=!aA@w|eODk0%<7Z;cMG%- z<(I*oU8q-Q0~=hA2{<&S`kTsQ$VU#r{Y2tS*AVN6ylwK`b5MEgZBF+=zMGXKi!8#z zN~I29# z1av{+n}|uHo@5|a#5%a#)K^;YwxQ1ka?jC-O?U~P&u1ni(Ws68Ie5Q~Mj~p`{1StIeudIciOK_xeTk5x-Q>n- zyDD4`QW0QH>z1Vl|0T(kO@5^A?U}ESf~D4@fCMIK%B&t?e35 zc@mp-#;B?s*8%el;7Ms9Jt|2Adz;6$)9v{VqsO()8S>uUxEvq0J3tGo26^TxOxKzL zH~j-xhfcxK_g*b~)730GrQ&*?kJ`09hZP6#-$p21Grg;l{S^W(F00kT2Y~zJJTpJj z22kNZ)=04ym+9oMc-MpcybScY0-)0H!e+P0!UfPuxn4WW&2B+S7$01`V-a0u!$_7I5GKZvFv%pB76l}@V7JEIF?Er8HJmSY;zNZCL3!sA#vc0`LprX;JW?sjq)wCaE z=~6y~L8r%Qqk#hQ`WY+svjL`!+*B(?yJG){9JLQG^7$e1p}G>ciZ7Q1OI`%54lUb* z%clBSWE$~48)@9G<)gW#?nA@Fi7k&8C5ixWkT3g*H0~sQgwmClD`}V0+ZG7qZkf4< z=g2F=5Lk4G>xdg0XlH`mArOOIZuP(ww%Oz_LuqnmR~H#fTC$0(eA96Yz2KyjCwTHS z!XR9`ufdYB2(Yis_Hf}KM6|srq+=Nn`BHHT(YS2%aN``}?ssrFjuj8~9 zx%d4V0n+pFG~ISB=S9Q)TFsB7s-z+*ZySqU?zuU86ZFP%BsOoNh=c}~Nk4505tGfv zY`Yd|)C{4rR&Cq(uv*`m*rUa4hC_5MIsKIjBMr{hD}=v|nT&_x$TM67i-D%WAa)9} zluUvmhRHTc_^9b>X@od)-l7u9d2dPvqGz!h@Ap-I1WXYnGuA#(=X6mEz79^zf<=1w zS(L+UjadymCnTREjqU-I69D6jV^u4#?+AnguLj?)v{98b5|ir8f!Q8PT)DyRQX?Lj z)xSWPOS{QlrNp>@TY#iS<}Sr|b#oCydo*zeIngdOhxuwtLjYC^rk3icHaHcnZ)_xs zP1s1(17wT_%kg4&(tXAq+h<)S7O6_hY=U*fLJ-NL<13o`=iW+UmKR!E?47nyut*K^ zt#_IhO+eEU-jInz&4$Hx6N``k4y<5Vw?t94+PI|DZt5f1`iBd3;4;2mI~Dz&Q!Rm% z8tMxqB@9OJZWbe{eoN>MgYJ(vTLE4Zh(IwSU5A+mBeiS{Q{pTMsQy7FH>VLy87^iS zFlG-66SEKKzt*UDCVGa40X`QV$z-{n&gsawk)wgPCuk2><;a^IehVPI5}Vd< zG--ZA066z2!-?T#@ksdnkcv+rotlfW7q0jqtZrTiiL*%)7>}R+)U$fB+QaTkcFt@N zMPGN^-C3iMEsEW?RPR^-fx*88u$c`_cu9X3cF8X)J`O5$ORV?7nAZsj0UHLyEeH8uqtLA^k z5aY6_{e4$V1pjx|?J)ZaE}+V4cVi#P_OUV!hHhbQ`+;M=;NY?B=IwIwtB|vEUbL*b zXu6j z+}WjluI>$Pl{hwdNfx^@rS$Lp{RH{MPoXWF#o#aB4yK1ik=(M@xXBC zMun^S4_ATWG$>b&Li=%^SGA@Z`3rn*KDf(Gb%>_RwF_qiiB@ru#wF4Hw>7b{;k*7B zgIYS&bTXQh#`}}%m*$_mYZi)UiH9R}h!NN<;=keH^wYpPA@dlhlVBFk3n_;Z7B~wk z-`r=b6>P9U%}d<{Hk|#U6wbu0QEg6XQC6QCjAgp5j3cSvKMZpA;!@e&n!-qot3H@{ zALMLmc6*z?JoNi)&Th>oz3-tXtMweIVh6hFfqqU5y?-q{f@;mzdg z{ZP62SJVm5hi`r``cGqJ|4(D(+k9DpeR>@UP*2%5DWb*oJC$alv0R_Hhm9G#6P%|r^I3N5a0|~}>YMJXvyI}b+^-Wa z1de9vxU?1W;~wtPB&|&b={-?<>K+WDt2&8kc0(*?BNW^laQO;D?~fLIHeTIqS#S0< z9mysvBwYMh9~Mh=cbfk?ds+kfU}lP_axUlo6`XP9K8{E)Dim$EFZW*JU;H1rU+grp zL`##5(G$2@|30evyrC1xL~1;C`^>YgXSX;jZcR*HdGPE>Hfs3EB?ouXao8uPJnF|- ztT#^Se4`9>k~muFydrVX!LmYgvq>q1=#cd?x*p$BGgLZ@_&At_9G-VXg@QXNWmnu~ z|3RiilUI0XIZx*2Hp}6?bYE6!JdcAJAzl|0D_Q!%c8ff%`=uoblee>t;iu{KSTOu2 zE;t*GKQ@i)+=R#wC4-pjh+SQI$vH-Rhj!<_r)J~J({S9zbDsbwyF0cDp<#B`3xbg) zhf>1;)HvOlKxS6j`40zfRWTloDitvLhm^59-rRzH_&lChKh`z#Uu0M%UwGNYfx#W8 zYnEb?vs&HQ9Ndq8ice2^ZcZ=m9XCSUkJ#*qykC}kYLyMBseC+C^D0Uq9%+_1^uD%J z-d3}c>Cy7CB=JKWpTg*CvX+Z!5)d_vObg+TjNf?jAMk6a=Zh#OOsW(tcbmg6H_IRy zoRe;N)t+pvA2nOA#oKa1|3R!<9Q*bV?XABk|NMqU2eipB4?_cudq;jZlQE7R@<&WR zjN9{9p%1}hq>OzB*yvU<55Bs6VIoBoq<5xxBG^Rn64}5o&!bh zVuSOqg-pIW;$Zf8637J+AJQ2+M?CBGE9B#_mfwDux;S0eMRi)CG#P`Nc>i`xOF0os z&_J|%zQxi{UMqtyzhuGV@R_OPDpH^#A_!p0V95>)4{kdt2}coGYy6ENpYsjZUoCKb;n1gh7;A z6-8sk%+0!yuF ziC+fp9L#CyyjwJ;1f%J%TSD@=HmpkWny*B5$O~(1B$tczT+bGr0f=jelBvJM;ITMmEq^beN}eN^+gG@47GdItnXYQ2s% zxU|N4k{njMb{wZZXfgKVcXn90;#Rd-;c|DA7fHNT=Fd{`ECOl-vz^){pg4PS->1^I zBhDmZ4Qi1?mCY#8>drafc3PQ?wP-Bj_a+13q2;Y+qd6*8->UPbr?AT>uno<~_2F}A zY2O_PjFqbK)SVsl+I5PllEMexm7=H3*MHmhH)Alcj7|&f^ua3#^~c9$1$$sD(aF=7 z?VZWr%TKtP&yhuZJ&)&?Q4-6&)8BJt@+wugTvHYLJ4^HNR|?1b@@u)Ej9hA{Z?b(` z((+fK4>w{jaz-Gr*UCDPNaqIm*|XVc=B4sZI2*;Epg7K+ynL@vF<|mkrm`&^-PiA> zzei0*3#cuk#Z4B#I{n1ZT;Y35u_MUpY_#~?jpj26=9iH z)B3B6h+gY}&EZm!AqnP5E&3yFE*D~UqW-%OG}pV_qOrqB0*Op6-smUA?7*Vir6cG0 z=Q~E^BgL6Mdt*v`bc_Y7PDZX~3Oj(E|@=u)} z-Uxa<-5}bBF5w)X#H9Y=7`+;jGi+(`^2x92!Kj@)IG1*&i5zHrxAc;5?`%0>3$=;G zSFa_Z=XFjMa;Q0IeTyU%*NWu^X(}$aP!$K6<0qHfrXEpcg5jF7RC(N2wNLK@j+a`c zSMzPR{eH`bv|!I{)v6xV*Vn%t!K-#ZO0atka%9>%X;a=k%wc@cKi*_7REm|19Tk4a zVhYKc7W|UwXFe9LGeC_}I?DOtQytD6(}Cu)j(e%}P5&t4NksPNlf`av&sy>aX9s?E zi`v^PE5_%KNy~%URC!33(_yJ@Vw;lY>VqE^QBA_~U8SzMyaNP0S+qKQSEfpg`<-U; zQ2hAluySi3Z9hzLY%V*7MYrf2a;oF=ybKK>-13Hb18=?P##%r{Zh&Tvcb}z&bn7&u z{_=5POFzK`>deJ`-~}m`Jb|wV+34pg>?YA)^!Mib#C2#0?(^~lI0^bTYky+IUES>7?x8dBZ$bL<8iBrSsL6EkzzF+ehnt~t=(s# zxZjZ97$JVGw#73IS8#cWrJ$SVepwE+KK(E+HDtXM2lJMQO`*c+MerS6$pbZ=mSd@A zB>^S^>gG2l2fsj>hSf-K_U{XQ_m;;z5A(3cN&#e_?-@9Lo{?8xmFEphszaFxCI>uY zqnvCy@b2oa)e90Who^NeFH;R{b+kV>6k6|ll1ViFHtKoP-QI86s!L;E>^)KpbDMkwkuEom-4K4xzlFgtJ~!U|I;{`JFliH7^J3JS)%{k2Qp4c!wrK34Bon)3J@5eMHv+s_*Q=1U!N=9Zmx3ZsB`v|O zzOxjbYB-W$x`AZ^QJ5M8H`YHZiAg&=3{GW*KKW}= z$TI7+`=|p*x03FL@umveMTMs~Po=s^a*@8eqH#N2$2iC}2yF3DPk6LJne9-aJiF@| zG+|f?NNgUgucvwz=a`Si3)V(tWj2IS_gOLrqKaj9nN^Mo=^;VON%Q08Z{LMV4uE~z7rCQz2tpbYW8ffm@OBP zl#&{Bx4KtFh#orG|FTYFPYE1=Xdfg z0H6hNW5w%&tpQ&914ya^hwlX$Pe~}I3smIn?Cp^Ru68H;*Sjn8KWTh-@-DZyOr}wh zhPDizR_>9SNSJ6^&wz{CIkl>#kZ4qjSKVDpG^*bukn;TA8C=yIAMB%(OvUu1$`BlA z$;w0i4WPg*`OpC9b5A{oe2sn8=iKQQZ*QTIM!6VSPJxE?0m<1Gi9YQj4tyLbR`{4H z5paVQ{l28vbsOM+WyT3fkQF(ts31tKmTH^$Uc|%s1NtC^6Yg2>ta6}t!yBdVvf-s> zzd+M2O!zLpD@3BO@niITza+l&Gaf zNPKqHjo1Y+!>65%;wDH7#Z9vpr#4uxWZD?&W9XOU_#Qyq$W;Qw#HbK-1>}ijO1aX} z0BsZ7oyaFK=#B_~8$^{Grc-03RUz2VOeT}^Sy}$<^fYYH<7{(q41_!FOckZp!{iEb zvdD;JrI7ro64D5tm6}N)(F&g%4kh^xbHLbSE_RZ_sA*7Jpm108@pkddo=1=K@IiGo zDy#|S8n9b$v9OSz0f!@_`gvObLO9uA`LQv3wrAnSw9E5l*(MCXT}mk0m3mFn!Cwhq zwFIk;qQniK93Xy~ zW0E0oDEk(<3IKNM0_7sb7-iqd=c0yLZH%Z9PYWVoG|OVAaKDC^KVB@-+^6{>&*}F< ziMmwZ1;j{}#Ix;4?XH@;8QDxmTA2kE6r!)?3|bk z(^_a0#*>I$^2@UPJe_qgDV|(b(ACh=KqAC!A7`HDboTY?%4U6csm8D@_cekdK>7zG zGF=d_Mt6SquQDV>r9>M0r9EYKtdVh>d&7Pu*UmuTY6QeX{`Z zC!%oda}^)QgK=%8p!Y_6LoBA(GQygyHJ8SB2c6Q}Wp!PCuI)jAw-Qxd>n8oq}Qb*4y%d|)%W{xP#4tb+uqcx*eS zN~%NKzMMefXa&|Xc*v}ON>*QD{?`_*ZNoZV2~A=^j&gsydm9Z>8Uh z^8V(GutPT{z?%Em@T@J!P%k+Uqcf9e#9TfePUgI}B%Us{Iy*I68(p1I=ryNuHh#Ip z+;l{$j`9z?`8?6SaHs7tEIuvUY(!iCEQO;DySmEtFFz>{?L_itQFtrHfiz8j?&s>H zW|OzM(BDlk3(jAxl~aD^ZE>Dj8}tF$Zhe@E-@mVPM0{z`Ax)_HK9^-6L8@k}i4(4q zlJA9IgkKy?u6eV1p&uM){Qc(rtrs(QBec0XvEM{?yfb1y$+>5?;Wqn2pf5yYbw8?b%<`0p6^pLD^hP0oj z?~xL38wJh&eAv-@W9#Ja7ooe?jeRU8=(`a8K44c-R)%GrM@6s#;JC1dbzD{gMqF{M zZbzB5ozj4$UzSWZ?JeapFmzGgZ<7Wv&Dl3d7|m6hG6MCxJ>~^b5Uzf6;33xcABnqL zON=5^-iC=mmTdYRaQ2rqNbP}0u|Sf`miwPGpc}o7y4Lo7a6D6Z#U?)#!Lj*PsL{IV zBEgnp(Yobf0N)2}RK0*yuhT{QANjd(t|a_)m90Su0^id z{frCvwWVj`pvHL^L5c}a~^c8RRg7@XDu^mu1 zz{4{3QCAsI;$msq_z>Clk&Ux&XZeMByf(Ak-H;g!dLc6T3CHWS3WO!4Bv~ca$r(BdB=sc@W35;oln#XEb$J zCSON?38sP-KSVTaV2bLQ!H*@EyR@Xs#maBecRlPRSGXaZoxQbjF3|BL?!`JYCit%0 zCy>e5R{+EYq6R;1eEqnfsuls6{ti)m#0i!*^5dV@R(hZ@K;4v1l|;XTZZZ1IQ*#~b zFLg>bTCCHe9f(3;wX_vPPc3lv09+eM%$@n3^BggFoz7LXT|0B6V#wg_-0QUH^)g5uc=J$2-G(@i z8+QObpFC_S!ju=~g5FD~?)shQ%57V|Ao%0s$Am=o>-eAsUNzckJa}Iv=fDISjg(BU zYuhgy4>lK(7j-q!prUbYsYZdMT| zVQy}O+bq_W(`dKZ!7DEKG~M!Om~mn~M0Vpy45Q!8+x`bXvDJh3cAJE$c7Cxj%z(wA zMtT<;)9cwUJ6|Um#Ofp`pD16WJl?|(sRLUW%1%o<54$QxDXxPo(@Cbd!zWpP%009P zr(gZ5$_#QJx-Gr;+C=1CbDxku=yXWVHS!>iGyQy1NW^fJoaiRg0-gcjZ`SH`7e-(MdhF-S> zOxI}XvHPJ4el7_C$g|j-p0aBc|0E?R$%yDLfat@q=Sk-1AIX~v`q?`_Qw!^7!0Ar@EM zM9>yY71FPMe#AtN2V*wGEN53*8tSV&ZtR-GJMPerfpoWf-`EE~_o}wQa1Jf)g#moq zQQgBa6;3Jf5%6*Vm(@a{8Iw*5cT(QL{(jPwm(k0BlR|niH++fGB$&M9ed@}Ulk$sv z6EBR%kc33M&^+k+jg=-7qvViHEF`{`Q+cLrijdrJ1iHo%YECW3$xngn5NXaxy$=>2 z82HwrnsFB&+bE$ zqmxgX_k49;q2hRT3cdFhli7x*OXEr)&H#1XrQK9;$8xo$Mulv9r}$hU2m8p!Hu+C} zUS#N=@#xGr8HX&0xT6$d7?i9ZpkDf1F53*(5##N+R$k>7*>t9icR;*C+q~WJHgl~M zU#JPj^N!WH@Wx4rY*NIFXvWUOsm7h2M~q(_E;gi=L@3!LXHAnFf-2a}j*>pae- zej_*+k1Ry4af3)=EIo`Iue?2$UYwm2lU9`Bx(arKLeahRbOD86Ui(cvNOD5kbPus_e^L8^D z3H9@FopqrGN$EIY!G1|&__DDGcUVlYl*7Kx1$nMfid@WG0&Cq&UNFXs|`V=hY}s3p{Y5>?AxW#_rWJ9k&&T zm-?Qs|5Lc4oqx}wvWEu5eydaFBVbSg5=F$Age{rxdu*ixFp7{FoiG%?klu_ z`3xV+mvQMmUeN(o#!hIXZTJUuQezYRpa3u25$UHJ-HH~UE4dHe#DX05eziLggB-KZ z+wwdIrP#K8ivS7Qjd&&RlyRmXW|hsrcmrQRp$CWgP*!wrv8O$A0UwfD3!tzO0TZ8_=D$1En@ zke_mEGe|PG2rtXkoYrsThh2sQW@2TUoRILyDSIx6G`q|X(|P6aVo4>(Dg^GPiN?=m zHMKS%A9#hwfDciikD(Wyk9c?B+USc3sd@kRDJ7Zr${)RAK4pHMcP6>0Q|-eoK{UNT zh0A#(V7~Tm*}f0tvFbk{LTrcyB&!cT#fh3$f7^$`l#=ML{^2Jh^sl(Ag9zgK=d*qt z1&Hv25ReP}u~3#Ie2S`Sj4~4EAgNF&M3wm|fd*c` zgud|4p`M@bjBfy=W1<*==S13}5nE_Z)=)~$UyKXe2mApu%ImGihkn|Ifqh+|^SR^8 zmN5SZk*g<;Vukhu*+}nR!`1|3IE+ac?a`u`jAp|Z6quMbfgYF85-#QL+BM_()%jT| zF$}&c#zBvirQqLhFMs1xNn|3`arm394EJqj5mNTW-vlqnd$wlOQIPS!54SRXTjN0y zNd5Tt{44|@uPsBZ*A3`+oCMr__?rL`?u+_NhR5tjb)4f|3#) zeGdq{t_Zaf%0L7=S+Ud@-y@g{584bPji%1|RG2eMkd@_dxG+1xfX-225fBhC238={ z8>@v{1yIq_fU=Y&HT>(Feoo+m<^UNahM+}4+Y=TvS^$`nR3ttRB-x7$C86IEDj~Eu z8Da`H4FXs}a^u49AV=d2$+6KKjm$if7c8)dZ*7b}VTPrjK$iZ;VbV8F+dyuWIwZSzk5G@(C8(N7Zc1Y|Q%$C(+eE`gxm?{}R;jZVgIqU{qh(e7k zMsU;w4A?wwl|&Mo!!lx!#4*GD$%4e2`RWr$Y8kRZE{;@s(h^8Vq4J32lIBpQ=hN;; z6_(RK1etzB9-IB;Hfmfa?XQ!KqiHXKvL!sc{ zlZ8cTGSw-AJ75yJHxDK^U6vCPT^pESmabyB*J8h5(rSJH$!+PQWDdSPo zzKW>lw;yajuxEepygg^wN{Wh8<&`Q<3vUDn>gIr@S61Tuj%A(1cT(w87>VecW9hgb zQi&;*ZKhchb`qNwOt~^?F1fGvra=Ci67Q6sX&E92qlx^@pq|c7rF+A{wbIEL{Z$P) zVQ0>~gazsuEb6L}ZT;iz-VYFm1Ov6%8S2*p2JF2?6HgTpbYgVkHRB`|kR3djNa7O< ze`m;f0W!Y~DkagMb8P_EGa(R<7Txr=&#eBN2;0 zOn&c@>EC%y;>iw_p+$ivKSh9@#|qIKzZ86@6g4o1d4$8F**&VohGkSeJX1KP-t3K3;X^cl=E(yOt%ldb&m3KC+T? zB87KNB3CJ6ano177<;m@n1or#%4vxeaUDBH75o)1Qb)DS$6q)+_#Jg#8L6(*E#N?K z4pO~ir3=$zY=0&bfV{b`49W1c&DZEeYbRV^C)iQA_UTPWzXyy$OSmMQClOS!@@6|p z*h?+eJBC|M^0cI!s2Md6(_75YbNu-Ng-D^OvBC66>WTyj+k*O8Ww$$2E`Ro!qY1&e zI0+qATN!Gz0^q&=OGNo&3*~MXX7+UiT)K~ZPxlqBneVKFknsk-bTIlOkg}QWB2v58 z{`Nchic+?b)hiG@6O|QAux!9ZU%II28=;&R;-G}=g!|L=#JP$`1zNSx;S2ZlXKJ{2g{`R`3?BBFOc zjv}A-QI))P=cG$k8?vvrkN5p;xuot^ZX8VZq!=+9;7S$WLH({`1laxu9829@2!s1u{i?CXG&Y4kP* zOqv2DDDzaa`I-$Oq27EbbT9uw<|a}guuQa@Bmfwv{ANCd=iWaoXJ8f%Dwr9UtkD`i z#SaB)Py%yzL5Fg?At$NmUatTSeU-&ho~T%OR#Q0!)X6D+BgM-T-FBwt)-k>5`I(k z%TsIDF61(PS1AF>sI}& zA?HMbsi^64a}##dSB558@r1NDH+96K1xg~E!B|k{oB87Ez%dQnS2-^QDwxF73D=m| zkiGK;6V}@USiu0r*md#w!bS16EmG0D1+zg?)MmNUEKCXgJnSzm8nGcYV5Ec$6zL~) znsK{+5&f+6R2=H-G$)n%wow=<#k``_CGxb>SPTgx&GiZ#$8DC?ya#s{l@!GYzDE}l zwsXQVu4nlQp&|Cb|NiaeP@Ejy-9lG(Wh05&N)I7#1-6hroTGL8u4PN%Zc4 zU=QX?YrYsV0sEs=u^-Q!Sz5<2HW=@Js3bZ9Q-RHo@X^9+nM z0#4F8FxapROZ>roX7YGav7^pt^o|*O_IE-~uSYOK|0=qD4(Dur`N2K?3jfYSR_R5K zo*E4dCTxo4#Ds!E$jH?%bRWv)UCX>{r!s2Xx1`D~vPOeQ%BdT7jbaDU(3^+;p%chwu!v|jh~S~-gh?5Sg%{o3lRe}2F^E? z;_+n9l%ZDz2x;IrGhTF~C#EMo)=oI=bQjKh7zogK;I4`(Aq`?lItAS)<3040}CxE~C51MQ?$m4DSAieNt}ii9^&%QVBkzy(vTZ z;GjeQdCQ)Ig-cQ{r*|1|#lBz7x1trhVkf3Yb0O5>r9i!S@IFxZj?26%L5Hp1Q6HOB zTQtwZ8|VM~;NbG!{LZxy#Ij-^y|L0Ehq+fr+H0*SclCm;F}Ekrcwl~0lg6Zl-`>|A z{gr{wuGMmPA!f*(l(rgWZHC!36RW1`Ebpq(+12Vp+Ao6Lo(a^cm|{RfGTFftaeAj4#e4EP3B8cLw3v;q|?^ix<82@mI zGp!t!RP!Zsy2rqhyXHC{5gOca!d1Oifbv@D^1AIy#fLRUUj|%+Ub8`uySmfhQ17$Uf5UTk5y5%zef(|4+XJV!xWi5SA&%5}7I>Y#I)alztYY zNg$PYk;^Jn6b$?N(uvHBjk_u$rSJjw4WD<_)8kzbuh<()g%L|p_jmY~ zc>|$Gr_M3{JRYEv4SlCyJ8W?>LY8qfP+qR-bP^kcHOpClqmIJ^o9b}$-*X|6KG>>f zf354esP8sZPv)HoGt@$uUQcY@v{$sxRei7gG-9fCD zRb8-s?XYijEg&fLnM%hmhy1>ocyB&K+c9T+(&3+b>uSv;1?o8%pH_$gxXaDF7oZM zmk1w~2vXe9ttTbbQvLk(iHCBZ7iwa~%c-@-vmqt|DVv&zyC2YiEG(Pyk{24onRzbz_yuR1zv570;W5A!tml(LjE~1x%?94-uMT zLk>(@Pu|Z$%-t)FUoLqim$-)LOjQEt)mMdvi38Znvh5P+%myRpZJ}Fo_9wv?Ve2}B z#tB&xyNJoBY7`kkGWNp||JbgC<&yh$%d+vWLMf6aGRXRyXWwKi&vx!Y_?e-9rDdt{JBgZo+IP8Z)LU9RVzwTE zIbgfEDo86}m_@>u=33bL`Q234>m4@ytXrxJ%6D=i$dd(2JomFHbG95>cloR!@u3g{ zi->8bLhd~~0x8-`LmtvU9sCkg>SE4l= zqU7I}nKobrp$nrB{fG`=Jhx^ zvPV#8nzA`L_UK^P&Uk~5ZQ(GZF{w}>BE!XJ*PRe?EH-4xiB?l1qWm(Csr6Rp8+@$8 z>*B>KvG3oT(uY-HkTLG1-}c5XF=$HL4`NOYMnIdk%(Ol4yEPt9<1dM`*%_VpJ5h7; zB1*s1U6n~?>v!1skr>ErIdgcQ!g*r!AW=u3 z3l~>Q$#lC%c8JpS#t?C(K5%2mka}fihZwDvF2PzY?N3bkwd1kx8&|X2L=DW8WqTTh zdeu*L^_I_|RNk5%7SiUlFuUFnQ{-LUTHLf1bOVwF!XHyZ{P)OkX!cO$F=fdpf z${5M)X@zb_Y=>-HPMVF)W|q-3<^ERtS3X#yO)&yP5c_PpDsrRiJ{M}3rCFN(v&jD0 zk5n=`Wa{&#O}Ub=5yUpP;|CXG-DIgZ>ZiZ>vm|TW+^GhJc6ppKwfICGVM|_<(Wn4me00vwc>IJsiC`eNXlEq$eK-gM*!Cn z>rH;*drXr+cJd2r2pv4U9v`;oj5KYu9yv$rNBpqlz|u?{Wd#Y#8YOlz=kyFcFnT+! zU7R@^0wo>(3n1ViebYDMmBI~NG&39TxJWkp^T};cgQ8*r6!#7C|4`gl%+j??`35q5 zZj2r8bU;`c$gmKGtcCdGyRa>Lm{|F)#0RZXP8DNU@x}}qG1bL7n%rTAQuJ%~*@(ky zSvvNWx(^Y_%~$dscg5&l%orDS#8Js`A1MT4ztp)$adk9mm>mqUxG#yYyGVp^Yb2j2 zHqj)8etEhX_7>D(D7&%En}_6#I~4?+)l_ZN1PPtQv0YJ7cwJ;?veZ!9Uo8NH{&Q)$ z&L=$&^yvY5& zH+^hrLS31>OfANyOd3Tq12FhOW783)Ta20RILP&nr%2D0MK2QH4ukwI8uzP*;N!{X z#g`>iyw3On?dKg?{-x{9M{U-1!Hd{L2;RPYp)|%x$AMH(_q))e z(QFQBY(Ur@K-c3H2UBg{gF_hXyz$A8<^gl~7TJh`#Ka~JAJj2SCn^nf^tVC7R=PEO zJFy&Kd9L?#)KFd{psc+`qpZCOAs3sjCbqy99@;(V_?dZ2)*ey!)Y#25|5Y2~wZHj3i#m~_Ef8?Z>~0BW{*haJ+X zu;=AE>O5n%Hmy{yC+*XSmjHEisaBup?QVRFJ2GAECsd_Pk0)HGcWFX#$_Y!beT3O+ zdg8`_vci|4O#~+~Qt?a}voY5sAsyMUJ^?z}_=+W4c#ii-HTM&V(Cpct zeS_r|k6tBc2MTfOZPha3xbs82D;i1$U(P&|ho)J{l2hDx@9OW|#jFxH#+e0k_7`eO zV|2uKQG!73G^Ie6EAJp_;eAemf^04w13uZ&oe!jIG~4=>=$atOs+doY!1=G-b$*YGt3)$EK6yqt{EE)DJo1?QR2-v5x@eZs8FWrvnFKiaPV|M3Bd?`Ri4^0ZL zp+9Cm;{9m*?@z{BjO0Efm)q!`SBIP=WbX50l%WNd1bJper@s$_H|1$XrFux-ovR73 z<5)F`%w+|H)OrD5nHENR6g&-&jYROP9^m*xAOBe_jCfRvx0epj`%Vw0Q3hPSe6P?~ z+g`Km9ixvl{8C3p&m3}qr2aM`l1N35 zu2hUd-CDa97Zjlk#&fim&JC8!tLvC9mtCe4!>5*wPp1!?W^0&_@t=UiILLb5@8hk1 z_SzEGwa2>JWfo&}aC|#j`*7;kbRR{+-D`1k-&wcx;gb`_FgwiD$?pVM#PDw@P9nEA z%2W_ocjne(5`Pc`aby9on^eb>3}0|U6sz#ipxuFk!4uPHyt`Fj^{qOcC7ays{8&i} z$QnZAw=Y3`(Dq~PYM!|h;*)ydkfY9Amm};La|@HS4vYBKtZmkytUrHs4~pJUF3Z@q zN7#2^_aZtBMms7uzi(L&EZtes%|sCoq&hUbj1$I8a}^lH5~~qgQdq38foC|}hYEX1 zs#)iutBNB}^mZG5e^vZ^!LIv6Z~*=YquZZ$Kd9eg`QEH(-JZ}Vz~->%{Lt-NAg7qJ z%vFt!hS1u}JfnQVxN96d!`cT<_`(c0^IWf{5hcPTUDMdrdESt`NF$-ZQ z_*-VG3d~gi;xz9L=ASHdL7ke=cqbI!Sq*@B6bwKkd9Cfso|u#X&rxnHZBkwP>(h4B z>mFAgn!|I|C)Q+@z?- zey?4maF1$iT1#K$aCZ8r_XXa1H1B+{J&R~dwV+(R{h477Ys@YTy8uIs(v7 z{7+*)e;Bj`h0#NKKGRHh@imC5PeH@zb=ySD1;M&4=E{9v8Oe%iZh8`+Tx*`~Vw9|k z5&ArauTr8#j~0CnMHhv&N#ZXM%wEvJ7iUH{@3mJzrWXkh77ra6*&5lj?{MpI*xof? z#Rpk8IIne#34=U{IIoV}Clp;M@(cC5{Eztj>1|33)q{&j%5tkj>M3TKVRaJMh-_xa zz&wP77)f3d?49>8?5Mt>r_*k+tFh^%!DeLns`q42t@KDL++2Ja_sAg5VtExdJ-Bnc z3R)?_br=8E+h$-Ysw-YcRcZh2vvmLR2{En&8P2@M0l)`6c}2C zshU;X_jbyz-dg2VzhS53)$Kgx`=t@!%1l~r$jaHYyAZvPnRn;aVA)*HwY;0eoCwY8 zv7V?TjnRk*4fN9|F+veke^C-?X({#=nUh*F&921 zjUK!(&6Uw)cQ(u0G|tX6KAYk?6=!jRJo$2PPcJ=r%IBrWZC(dWqsz(olCQ!_s;}dJ z_RqmuGUF{sj6KA&J2>{GiQKwRqY>b!-w%uGBI&FdN1DQA#B>#AHbFBK9f(scKiJ7W znsJwhrMt|!2@cJw^ra>#eX>9m`iJWEhO7lUGeUXju6jMFhAerSIbqqdDy4Es3?Jte zF_O5*y;teRY~G;Qpbc&>DzdoY{ar}w8uyQaj@>nxPV*PZxNOMog273)d_ zpJdK$-vEEe2qZQ1W&8@^dYs;BBs)2xU_>;iIibL##N+R}IW}$IdU_-SKP>G^o)i{! zMSC6*(KGO#JPtG$Wo(LAoJ9y}H=d5{aB1a7tD&}lS-`r+N%9q_`gr>+k5%^mmb04g zclm2WU7A+$n-6xtA67dGMR$-b}59SOyvoOrS3^&Ij(!5rZ`xcj96PHjoa8ZspTdX&2*rL5`C;6!Z z))<$im)=cu74c5`t0g7!K+WK<^mndCZQ|aHbzJD@3d`_dK?%hjo;#f| zEC=pY-5L4P%h8)sLLHOwwvkB!Eq4BSu#F)s6{J zg*R!bz5D2GmuoD)TD#Wb93_rM=_Ezy&1~6X^dJ04n%}9~B9doR3X<)u^Qt}xlZ<3z zSnd(fV7}bju?@K#IoADno-Ww3MMK6_8{Y^lXUv0Da+L=P)tm z%5v~{A$|S%*g@cG|2%$VJ%N|(_q=b5Bq-m4CzscLs;G4<&e(Lz|7F`c!AU%Ug_J-V zYbro59igK(I=2IA4Ss|8)l{6CY4)u+_>dJ%`}0BX2I!g^+l1OY`fSD8cy(*_o0rjH zb!rO)Fp4Ez`+Zfo)yUyTP>Zjo#5rd2@aQOX$LeggNbLksZ+gib;Imcyy;o;ewfBnF zqCP=pBCl(jmHfH(gyYKDo<-aOHTg-?(RFRBz8HAk+2ImDi^@-nJ5;|FA=H%aB4tK$ z_y_N0T(F8l%Y~CEPqMShyAY`5qUUuPZ;#vKfCQYqrI{) zAv&aJm*Q(j$W6;zVv;fXP#GiraDjP)WsI6#L{xW;AWWG~?arUJW9I6*A3RVA`7M=rzP5QEO^;wl=({G*Of;@v}u-_lW?V@-VUUpOn{MC(&(dq9jA_7Y(pmTiiJ<5&69Lw#o{^&~`?_gB z%8+tKQNKI;OYNn{EQiK3{zoNNA$zIn=_ZHk!y?5Dqj0L<{&^M^*T`X}3oVVG<>chz zFX;(pg5J#kiLY__E|2mKs5XfClJqw^-{ElcEj;hvGB;hU4N>pD$HU$PRc8(QacDQL zc^nSfzUK%pW+4jGp+|O$wQON=}d;5EEEa_eK8PCoed{q zHdzY{^ZH|jHXpt*?3(My1^KI*U<$CnY-$vMs4X zh{MAKrw7`~84k}TsA=X%MD~ zkH3ti#fQkTQ+o3*ZY$!<#zn=1#Kzk9s(g^yt7Kl;A0@U6U zpJX;mo)>U#{Hdt{6_dflch!WuQ@_-7NO^1wCW_TX%+4*+_}$70iHIJ)dClIEt0f)O z@A#sk;>OZ(P@_Co@O@GHK~?pQ2SYA*sIity#qIDbbuBS5i<{|Fs>;&Snk(?oSMf;h ze)-DJzrRqvz>LJDd>((?PevXei+o$YVyoUFa&g ztgfb}rk9MBNF%13rbSg%Xi0oNtS$D9NZ0a$3l|c;D9-ssk*L6S`Dpa ztd~ z9YL2QFv#w3qf#t3uce7ZZx~eiDPeb-bwpzn)UIdP4NsU3 z!4uA<^;w69vn{b=?}6HfqPcnT&!Us5QY{EuX1l?o)P~skt50E>GU);06tIzJ4F-{n zq2~^c-Df-KK8PisX_4zc0p~Rlp;zwhnXsr_%g8tXk`*)Hyfj}TztLYT$*(WpPHUtk zedLbvpc`+rvo3|bBRr&T1agzor(6{QsAGQoHU>p}PTd;Ut zP<=RW{*LQ$d1kM1!T7fPYW^`8hsBtKU(+$_g^3AAZm$t? z`F#*J3%Gg?rowh}x;a#2bn8s!cX@eHboZT;dgbmJ-f=Bi2|xQi0I;$7g@)&j2Jw7k zAhRbi`uq1U(*hL)h*?AK4!%RjxAfeSQawAhi%uxL)=uF3rU8|+A{U7+!Eg2g!wBHc zr0cbNvs}!`yE{-C-7k-~wR=SsSHDP<$6YVdtrm+ls8<&X6}$jMmlhl7!x|CqR(ie7 z-j{_}T@!;_g3Mz~MOA@vx+4)DRaSzxD;| zlMq(LV}UtVexOb8@EZ@qo{NI6SjZ;nC!trOQK0G(gy6oC)87qQ6)i1G#!D0J1%5uB zg{aE)T1L3fl^VX5A#VUVGgTRFh}^jI!0~Fbq^Fl>SsR;Po5=`oHuv7Y6XlHJC57?x ze__+y|F7nrc~KWE9q;{H6f=@#x#*?EXSyM5csi zjh(-kw}wfa<@s0eg)S4{){S; zn5#3+Z~vqT;V=+cIQ5bSQuhrOK{(-31Sw8q?WSJd=Oy&&a997X8G(rvDu9tjQ1D2iEHLP9@6s=0j(*x}aQiAIEG};Tba5 z3ZL5JdD|W@6jiDr*y&D70m@XWuv*6_N|pXMwW9-+eJd|x;HkqG;%2OhEA0! z=x^Hd^&|tRx9etJhu=31?=;ISjvg$st*(mfGCs)Qq^W#qh(>p2*sO??(`+*e(rR-o z)M~RT^hnRMkX2{$BEH}ZaQwqd_`F=RcCbz3>%2KrIO=ZheSXC2w11wf?ZXHUr{Uyb z9h+Y-T;iJbuIkN)^|Q6CM{=wSR6E2*CkZ}A{QIk8)Fy7NP>g*Ci9pkrG<4DTh>&Sa+#TvvF?5*8X*aT;}UxOKq8Gf|22!ELGTk zyJ6ZeLnGzhoM;xULq8D@D{jPE49%Jp<8uc;<#9c6j<065HOc=QGt4sTEpvsPr z3%X-$5~2Lz77zF+9{*c6|M$u~jgtp!O1#OU!~4KKCQhd+@(*gwsTcz@3Be!YJu-qNvEaA&)Za^H)yyE1lkL1q%vE-?l05b_m8wJ!8AC2+Ba8M$bP@G*>MF85B(%9tx^2z^=JKPp@oL3R zImbP2j6yQ}?&=XFc%iiC97`tcBe`YV7gJ*_LD%BTC)2+4$T~1)&QC5H)_LmqPlwdd zi|=3CpSLv+dk{ViEOIk=sv%As`5cdAySp*>8S-W+GZTFma}RVw29gp_38hhx+v z>A#N4^8&xsB*uX6ikpypGKo=CO++(utx4g-JK;`>rxQIcqD!$U#MW7gx3OJ_+h$A< zT=at}Te^YIRHU~bvPSHTTZqEaOtGYxIy_lQtuvN*B9x1*5>SWer+H6yq~SJ8Di z8LuUD1kx(gzP=q!)E4kKMUFdt$9?qZk!-M_y$B!C6IPfEV(`*7fu~jxW{phu)Gp4X8BBZIFy5>N0Vsnfs61?Ik7F zT>Pm#nPv5Y?g(#x;sw6|Vb^n}xP6I9Ip)-^js0xR(}qS6S;lLp_+3H>ow`CrB{SB> ziUZds%$f&B--;{=8tZV zAhH&cGk&;t%Bfr*-L`q^rEcCUTD$#vPx)%YBbI!0jcc2NwfGo$lP?mOI-^Np*l{Tp z5(`dAG}!8%HVk391Q8WzZ!IXPXgDhr>AjDb>t7wC5tw!&mEnII9p1!J`eO-F_8@ zh{K_5*5Ysd;$2_9in8mRwgXN=6M!Xa1|h4bK&HGx^jD&?JCy1OA2aABHSiY z>o!COFRMx0eEkWgqk1L1`y+yp&{jQewAUbnP#tVL$~$qsa=#ySE*p2gLa8i=x%iW5 z)ZOnqdi-57U^&$6?D~lno8#4zaKNJw*tHZyFTq~bfL-zUuqg8$xqh7+dMy~6+t{94 zeIwOkV^>Y#k=I{q-uN%jI_Tq=LhoU!UIva;_5_|s*2mL~zA9W8*}Nx3{?L|aK`dDQ zM@M*OYro2Soc55np!Og0YSoc{b$bR24O815urW3wF|xA%*iI2Re{4Po;ok5YI?WBv zDa&;J6)GS&xW$B^Z>6T&llH!Mi)}JAjVBOnrhFqlL;qEEcao<(Dv+X>EVVy$Au9!Z zraH5Ivql6D>M^Svtcm=xjnaEih}7FXt+AgGxRZH=<4lYHI-IszSG>#fp&+q0cw~K3 zv4=x0K0K-6+VFRHJRayXW6CR>eRB86L*$`i$iJo&>5&OrO_@qrFD0!^vg9GVY@WuA zs5L^8A*MNxGH`+I#5zT&eiJy6@@_WnGOP^|1!eDJ*-X07Yu!i}zxk8gzOl?o$BXt* zi7qu}(}FLs%bS*2xSe8&U16Fa|5^4qS?!X|xECAJS$HJ+FT)}8vI(#+t zDW^?rW@9m*mHj4#L9V*^nF#&{y0hsSo;5UspY!+mV zgB}CD2`m~*xwEae$Adj65Oy0u{=bo*a`r(1FroqlzL3M2Z9?hWbK`$CV{4KonyHS- z+vxG%21CE@rnWzjebmkG{wX-zJSgv4gD z49cB4$V&blNJ_YKbs;g?hweW261nXqxjqjgy9vS^GylgPGl54iGyo zH$TtLwEMBXwPZ?V*qiFC^>en;r%@y|D%Z{n=vtv=+g$B_@$Uf#o(&tKd6XoNhGe#w zgg3!Vk+%8LsMk8N*H0r1&N_Zq*b@4O%d5k>JPn$A%)jJuu?w0AgGZ=w1W}`toJJK! z97)f#ToH9E;;0ccHM7?bO17ZtxcbfJ603T}pHvK18s<0fLILMLv%x6@7}XjbZ#*Fz zj`~PcHW>wU3;!ds4gX+({IO8rMg1?7{~Da1kx!qbGj`~;|6@vv2OMoeB)YX~|K)%F z58l>FmMZ9E_L0@P<|!}Fg1)mZZ9H?{A4fY3U^CzVI7?AaFDp&R#R@KJ;l%dhp$xWUYzj$ZdmOc9L(IV?KIU432p#ZOiL`lqHEwINMa4P-;{E-FA?(0!g z0H%a%)@^_8yJx>5avaBt{_WA6`b(;x#Q-XF+Oo^oS;4g8uq$is(BdA1WHKK94KB{4aD{Zn~D5m2CX z2A{Z1P!<~yvW?1JuP*`WshW8Z3k!4z_ubV|y-Nzf^JzLf8ctqMWPCp^T}He;_wqZd zC|cG!t`Z>Dy?OG*0A1SQP&`_Am2n>&(8t1o?4tg0pBtv)Ga3!y4M5N-a6Tpua6NQF z9B01oS)oW7RN{X2AMw9ma$AA0={6V)4h;?eR4Il}6v|^uIcx#)<$%J9yusG1(-`b)-BpoDc?$YD1QxDUp@f8xuVnH`pS=4Q6W`|a_5EbFZ7%K4Gc zS+6V?9gE>blO_Hi?;T(ctOCev1`v^_K-OxP!SERZ_qz8Y8xX@R?UYnhyjm)<#qTXf z`#Jg}!{^IhkEuM$loD4sGxf8NikCobwPJ;{`3X!@)0Vvk>Mc)CPv7Tk2EchJGh|YT zH1552jb?I|#{Zs`0Qzm}%M7?AsifZvWyB9-av^66E1(YSIUTu*a_j;~AABQ>g6%wbEL1N5fqARdqX| zaC6yDv^yL7e}SiEv><(^RBK&+B1Ysi)Fl_BD8c{bq7=Z0hY4He<2p}yO8tn~VE9_) zdov-=u0``lCmiUyLVPs8c8>Fa()AgYvlUtaMeR>O5Y1KVeq!`=%iNF$HpOvQyua8u zj*}EsGGVG467du|UC1h6GPz5;hl$zpcr<^cB;BQNC#H-?-qvFA>on-U0jjuK*8%a| zDW9@{daa5}LV(J--veh(PRB5-yQT=`oN_TXd}AQN_)sFl2`~4)U8~kA$;Ut(O!y@O z@RX$4wcSWRT}+<5Sbq-Tk}Usd;Q#*szPYK> literal 0 HcmV?d00001 diff --git a/BLE_LED/deprecated/BLE_LED/img/connection.png b/BLE_LED/deprecated/BLE_LED/img/connection.png new file mode 100644 index 0000000000000000000000000000000000000000..4b4e53791ac45310d5a8a63e79a55aab6fbd4a15 GIT binary patch literal 69387 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 Cd(k5ZI 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�Fsz4xv{vvok>jU$8r@`WAzgmB|JH4- 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Π!rU#v*?zW+d1$xGih(%EcCST3OlPtwQ=*DCY6 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 m$pY)tbyNNa8RDV_JYuwuJ literal 0 HcmV?d00001 diff --git a/BLE_LED/deprecated/BLE_LED/img/scan_results.png b/BLE_LED/deprecated/BLE_LED/img/scan_results.png new file mode 100644 index 0000000000000000000000000000000000000000..972f43a862a4e551babab0b00da3e743b3984860 GIT binary patch literal 65085 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�yJ!CIRCQfqcTS17-!$-w2Wg!d4?m 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 p>s+ZnQ@ly*wyh|si}4J- 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 _-ZGrNKNa(LDSSk4Ss(bN}?5XFWUp#_eu5 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 literal 0 HcmV?d00001 diff --git a/BLE_LED/deprecated/BLE_LED/img/write_characteristic.png b/BLE_LED/deprecated/BLE_LED/img/write_characteristic.png new file mode 100644 index 0000000000000000000000000000000000000000..853a9ae6f617a443fc9c27a4cf1341d53e9088b7 GIT binary patch literal 77228 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%0DBs>@}eS<*}Rv1bL)uLp#WkV^|S= zhLlMlA{T5IT_fzzC#xL+v4UyOY;z9J#~KMei@53jfIi((s{fX*iCaNr-`FKs#EIol zX{J1F49g=-0WW}A!cu?drTn?eU$;iM)U;7_&^7VvPyZCF@`>$Q63uE-BdLds_|d3);!(SE%Rl(&Dl317^B4Hkhrpxl(QrNCO8<$)`5M@~1>m zsYz_+yEyZ^N+KKFK6-e9nLi(7I2nGNA|vBzYooq121HiB}YTw+5;+>jlhC#<+|#OoXCtH z8Ev&lZ_#QWf&%G?0C^Fgp}{D`?{|?>k!pX=a=uNqW*rcwQxurI$ugD5gpotuTC|ep z>mAejxL|)t&V5SlXW)a_IC2mm{z2_$wQZD1yY7ZMcLMrkZ{bXFL{dN;} zXzSFER#!id7jQPH$=UpV_@o9DH&o((fgi!jV#nyG?=tgPvdnX#)gfT+&Qh+oQby!u zYbkMg%St5QuNCSvYDsnXrGe^D&v*rr0$nW$N+O~~O@B-OUjjj}a2J0H>3s8fRhq+16O6hvXLqUMcd4aaGRSYRm|-$u8VKjOCsLwzmLTKo zH!K?gHQvJovlcK8V~a z(0O9D;+2r@_Ny%!YV5C7aws{LLPC6_*+v7{&46*47L0VQXN4U08{8NmF((*P<2(yI z2j&L+UfA~PI~%dWaEO8NUZ5Hr;MH>Oj~zKMPx%UYc4|D#B_%Mc05k8qa+@od^>_Y)+)g<9n27e6B)>BwEwL|xAkGbkjaS9=!0hP7IZqn_MXvXi)da|aG>);u ze(kIe{#runFSE;e2VFRNQ|Hb-kldVfSt0O@OP9XMaI27^n7MyQQZWiu6$fk6anY#| zpASnwWWSc%IMi7^BTd3P^8bpg)@<8(`;Q)pk^R|9@u)S`8weorp^j-z>s?U2D9CeU zNc3Q~7y$A(Kt3BGJi)f75iZ{Qrxy{mMS+LOBb1bL`z+=UfEk z0?4GFP|1ULoB2t)s~PJrZ;k>qE&j*P5PS#xs!U3E>0($68U4%}CCunY)yF z;maME#;0s{IX;UOqCFI$r!${3QH^EVP`hq(R&g@K_qI)FvZ9!5;z|?DdoqgUiNFGc z--Dp?%G%O;RAn`)K&b{QTeG&pt^8 zrl!s4FkLQzD@1<};h^tW8~ zxJ^YN=4Q@2iI~Zg@;k#+onSW|PDnW5WyIPJ4xv`hwY4?mSDZ(eSrJw0Cei~a`6&05 zLqv?LB&4W5k0(t`zO8RK7pku{&eZ-*pY>wtRo!ii2}^lNm-0;uTg|UNhul&`Ua6O9 z&qu$QZ<}ze$f65i@b)3QyGtHL0N|ItX}y1Yj{mit?wl7l!JfdHP&<6)-XzH)tnvVn z8VjBJ*hkOd5}@D%%zBuzpYn5|I(FbwhREN(SlBAN|OiP zPO%s(IQ?An&WXQ${Z~zn3w>GukG(*9+&ui^HW|q~qF*UKZ7mz?mmK)=z3Zc=q2&Nl zsQXR|w6+#XAjM5=^rr>Ll6Sar7%urVpWae%*2rws3?Oj|n7RcDlD<>%%jedNS^sSI z$t#2$}tzp7NlX4v;6ae|=#FK8Nq2K+;uiz;?>!&5)^Y}Sw^q78+ z-&xC~-E1|+)b?a}Aq2q4{9j@j)O*=m69P9M-vIIJydOwMG4IGeJg$|pYnbH3W;Nz1FoJhvI|G1)Xg6ZzEqm z9el+Vwz(~+EsXJ=LYgV+z=;1T&^MQ+_}qFU00<8XtrtsoWh;;otuR5bAW` zM~VyZli0sus<80bs3r3JFcsZMRbOlBi4tQ2yN^*}<84H2PtO^^XdxK!o-X9!!oK6PkyEwmte6g%8u$w#X$L0T$Q- zs+5Ry(G2pe-{4kWzrlPs2g-IU+B3uLh&{+OaukFVl#z!hN%hIh8sFkP`Qj_Azs(ZJ z3ynu@ByuV>xA^{1*EPuQE+E@;58Bowos`+k8JV$x|50-%b*6mq2w=`&n=X2z(@BO; zEZhPmORmMUX|&ye`dtoy)E05wdyc@8tcjd|$f~6w7BI$EQ9Osc1*qCeK+;S-N5+mx zAtpCr^vJ-l>4TRtQ>@M;=Em3+G6S9v=7?d#K;FRm#BMP&EYoY8aoYM=cJ|v8uGo|+ zx?ZW~qffDP{TC7e5kntlZXN)CNJGuj_YbI=(W;n?vwe6BbhJ(36RY{cvM|R-yzwJd z_RN$dkl^8F(BK+%q%umq?viKG%-cf=^9 zc%yW*V*lHqM5S=uYP#D9*-rT}8ugW_Ws1t=?_AiJgU7!;M7-51ldqK98m^!IZedod zgyXVm>9M~l13y;yBOF|Pv@+(t((V_2Zf;6Hp3uvN%Y02*mIHDzd(r)%{%cp zb5_FN{O%9pp8-CYPnx)Lwo%Z2Ff${Sy*6;t=P1T0*0ng(UhYizd*TxZ)yt=_1T4cE zBRK;&P{-x>zy5vQ_JV@>jrps_F83Vjo#7nW$PHCOss}!Ehik)E`AJfurSlqU+up8^ zh3F4W3733B0aOM~Ni37ePjeuawr{%wAUNw^V@VuCPkG-kJZj3|@%B^0b)n3z~oGtrEz4v7MD1@{xMp4+pduVK3(A5G(X| zL}Ee??f&d5YGbPkv#?*bZA!*j9X{GL;fUPPe&I} zlo67Kx7+@|he5l#GlHNo?daO4h&Z74rLK%+y zmf{_tmXOwo#uzWU(XUXsj`y2o^}SgEKt=9mIglB;MJ(Embp`ZeK88}yl!$Sni z(s{ZN%=Zx=5@xY%pgmr?<9&zuFFNbjLfC4= zkzD!xwGimE{1LQR2!5$Jzk>Au5sMgAzI8X2wvm3yn3bBCAXL(vkC@Ggo_ zGm;E?0vZtmQ|Zga%jL-8<;C&9@JE}U(aT3NzmjiPT9oDQM-u^9P!4nu^hZ&sBZ_@p zPo|n7gAfO@>vCYjJ8?`MVsi;I@YqDmg#(9rOVB6%~?b`HHj`_o`(Sm)2>{ zv*bPnyEqPtQYq=@tqJ+nD6dIkgxceF%G+9Iw%=HtRd)5Aq+WusdbO=sT zmuC00IYlOg_0i!ruNL0+MO01Ov|>1N)c$m_T>6zI{p*kL9N7Twn^jNGdqCXpZcA!| zt!vkVgP4*`ZCB`!C0wnXp&W0`dNKmPRi|ZxN$jBY+@xmRa{L`~?Dn-^wp=zkO-F0= z^=Ku(jZ`@u_dJ7dNVN6FkN9(a8atOM_229sLi3cd03YSbq)qj<2UY9D7;;52Mg0?H z5ZUo$yR69up3!!feD45{+w+_ruiGk2u0{GvHQ#h5mY-P%`-L!2+WilrszS9 zbTCpTSg@F|J5aE#i3e!EpFab$@;dX6UfIPY2^_kD$5a3MviW|VGOQl5LF9xk8UNmG zAa4&(+WZk*C80%T2bqsSh4gQ6rA1bc3al=-NsaPvMofJBmz$H!yGGJ9*nWBwl`JQu zJj!#+=wdiU1u2Mt>h(8(Ng-`JR^r*bn%vGEGgTE?@cwZ-a60(rg@U*GP;j-kq7_H1 zQhM46c#a{D@=2b!{0e2PQ%DD$gSscT8YktWC*|7Y@~)w!nk-V=Vuo})@}JMq_9s9S zE}NFDW=YRSi7Ezfd&B*UH+rAD?%&(r0!3!;(Uxj9`1b}S(|;-4AMbosFMqbpAKaVO zEql7WSEs+#anjFbLw@$ySNgkOi3dEyZzQ(w!r~E@;s-xc>Xttp&YLl0zqr`++z*Fc zT)6ug?zxxQp#qT~|jHllWNNv)f-)n~>O9NkKiAliXSQ_>+47Hcs0v zN`~}Sx1SX)AL@BpFLwH)Vij$KG$7se^-|j%^^)omZ62OIBK42U`S!1i+4N)l&z9S( zW6R?TlBa_nCkvN6n@_WB^0N0|7&^nCQib zq3Vg*Sx)6Vee{e!?niru=PsK^6My$3h_Hm?jb#SYXd`LYXvfVWiCyM0FNUil9uh8_ z>cLFAVF~mtxO2Qe-`3D$ZB!=seZ*i zTiatB$Nu*6_1uKl;b?D#B8_S?Po;3F_$!{BS@2Nk{-klz;uu8={l)d&Xw~%$IBOgD z-t-4Hom{QX-d}f2m~61`3mjtIzj(FUZ@JVDUC%y$`NZ=&cA;9^gTSrs?k=7(cGP(= zZIjwGb+IA4JHWGUdrU_n@uf^?5qM+J4x@Z16OkPcHn2XPeNq43F!rEXhO*Q@-xGe0+BC68HB|nKV|N z6G7`kI3+dXnG*0sMV4He%ew6Ts*RVs+ds664WVK(urxsIjU)M4HgmqG{BvmeR^XuR zwBh;TQ^mxWwB{2_^!^a*7ruMbL1XxbQz`dD3i#336D6Jf=cv%f?_TIlG7o1~q)sA5 z!%4AhqhTao@-|h@R9@Dsh{~`*(8rO`qs8J$7uV`lj|T9Mr)+wyx?mDM<%eSxf zt;2j{Kb-n#01}}!%5w@m?=X(Zx)sxx8sFl}cq}$Lx!pTC_QxoEUbc?^d6e)y&<3Sw zvaWA^^>`$`i5@Czl&E{^K;J4uFHUozRb49jQ&xPUf%>D_wrS}l?(wKC&yw5LUnY@L z4DMrFC==&-nA>)sQFyFl{6o|em*%3(z3IcoMc1h+8!@W`-rt7fAYmQk7JS*B;iDKvIGaxIwd=wh9S3@iWMtiFO=f-=hcUnIlfZ^=t#$#ao zy}756=lc}x-{+e}kLMGXid7}MRL7Ypjv0;YnH_-PL8F`}69r&_+8%vZ0hvQ-380z} zd+=`{Z%%}Qfn#qhbM!(thaqZuIx-U)BAEqHJ(P3XM;Sh7McY08ynt$Z&FTrY58M{pBUOkq4=|_r9H(vnW&V3{>6X0bL$nP{^3`7Yi3X=Z=Q}{CDkmeL zm_LEM$pchfe)L7LZYi&2%eO`1y*8IyIv$ZwAeWJ6OKOv+|6&n&_~qtB+`Mzay42(D z+59MOzr1eoH63kpJAo1{PK(s7Ma?c>TrCRu6SwM&hADaC%Yf9pd;bb+>-xzTnpe#i z+YOwmiSXV2>%KCYiRyTM=RszkgNI%Ba6zF3(NC*C?B91Ks0TA~wfJ3aB(X_Z1uzur=ca#~<VpB*>+`9nS@ zD{nlYC*ZQy9>K_H0qiT5c0TxQ zNB%V2B7Uz|J?>YiD+$!rr-0MJ&GA|{o(!OgOkTaSL>QUdzXbdnHcySJ^Z8C}l|`h1N@+2%`&q}! z3-DW|wWvXS4RQ$1%Z<|t%7QCY?EO$IX)P=?83!P#{i$caUsAl;caT-1UCjmOBM{%PC z)C}Kx)HVMA0n0h&4tBR$ouAj>WN6+C7_W6d9biVg3ivT}8?ypD6w>NJnlU~B@ECm^ zAfP;D8g{z0a!_1;qDLT(U{KkE8x2%M*l9^YRNdZoq~~g06GAWN5rkgka>34YCq@rH z8{If?5G&QXV?(IBTce!$)Iy0W^_;7K;hSJmzI-e>?hdyxDJ{!NKQ0ZIFGk~U!XZ<& zakR$*vSon7`7+0fFBppV1?tyk7+3fV7NN54tLW|eKOeX|xBc9B*08Sv*Y&%s=o@REKx^4U zvD+e(ozo5gxL4(;U;Hkm3Ad4@J&pQ=x-tI-Q6Izu4 zCCZvnU8im=Q;7lJX#f}sZxCmq;QPOsMuZD)7*M5|m`;BTL=YnS z{TU)iM2LMJ>$lx%uOJ5#|0TfLA2{`Vb<-n#!3c)RptJ%AD1w|J(`Xt4Aloq*Gw>1| zktNxgFd#{T5weCg+k(0@aIf*KOGo%e_I#BubZz7xB`TVbE7duw2MLO}@P02kOpIt} z=Ib)vx{Y&U2b2HjY zKu+0$R|Bki`!}8_2CneBfqlU{FfmQZ@9{?vhc6EEv}7}WrGd;)vVAb}fp2~2!xeg^ z2Gtd;6`g-g6x@-1cBgg>Dlo4VynEjoFPIW!HxXNcVnSr za$D}Jk1MxJN|`|yzzFK>ftGou-}mc|uAYtt?p$ICkO6+!zn!qyQ_2z;8^WOzZUaP3 z#ttp`jB2x>Tyu>)e;kq|OOikl7|Y|NeFeV$5RDhpWGl5MRC&Tm6U#3_AAVF~6Dbok z<}?REUsA$q!V1Hr+;VtcxEIn)u3s;xtsfA3;)}in3w} zMqKonvv#z@p!da}Q3x{pj2F9V0ecbcm0yomEtu*EbLQz&*?-QH24jLHBf@~&KRWHd#xoe*ZE2QQ(}OK*5^K`HAxp4K?^ z1F{iJxh~eh9Prkkkm;FiL2}(qQTkq0qO8D94H*mISWMB6jKt9Wr(!I_?8HpL*`ro$ zp1Q^W{=I?jP~mSGjx_1_*;`GW4j&8^01!uSoQ`3e;ZK+8uS-7Um=C^fr=D$%`A{_4@EXvz?3p^_ z$k$$Q{V->rQHV2wg`8V7biC)dXW+A~lE=C5S)A)N;hnu8{lMJbR#;jdaHEOY_aXbg z;hen?#kw*-Fvh>*-h{=J74Ll~nBnPc=Z|#aLoNu-H6K^#s7T{$Vl3y#} zm34`Htb?2u#8S@!-$P5UErA3$Oh8UvWeWiOMU@29gXH2fT88hAtA+So(wc zTIj7-)0*4P?2IN-sxhiJav@0S=(UYgi6 zao~k->=pkX;SaA7f=gh`~Mx1I0mw%p!}m>nCH2-d?Ejcu+NmNd*ZSUB4HG@No8 zf1iSfKM*Wm#9PptZPj;Qh+E_@+CWo0yCrFV)ytZfzIn>zZvf`%4Fas+XF-v73`wA~ zf+o6w<0wTtqHC_)U{gBe1?IU7rJohWZ96x$WwlUbaDikU?HUR{ZPXqtPHG6!^F3c* zaBdH7h&>$APKiyT297t0o54g>3%~!ZZRtLiH6#YL#i*w*8V}U(-mF`z1YGJfoH$-B zaBSJRrLYffj()l_Sze5IaV=od2HgUkqZ0|owWP&!+wk@E#^h;sWErx6gE%5W!tUuc%RgZ`}dcQhyB53@Xc$+vOci$QDVp-^VYN95kH$yGDSx zHP5=c`8644jM~PCk%Uh!MWi4I-K1RrKIcaYesqsy3*MqRA~`CR zSp}gg%rC>sT!l_kIpC{V!w$Q{BW&a~XDlTGb1q?N>D!QI-4}$<%qiY!x-J!nYNXE7 zjdndp3!=L)@F6?;fwCs1jmaWGW%;MPPmw$=uqFJOyNLC3?otUy+$Pbzp^o`2Sx+G($o^ru6?9l>25Sza9y?yLISvtrSynmjLC_;# zyw#w_&qB{DFc5XwZpfUJo!hdBWAKu}2G!te+cR4@bYIYhD=)%nhCj(^Bs^ah6hG8V zfu4LquZN}jcdiyDQH`Tf|GEkvFeX_007ecUg#X?$G~yko_oo$nnoxMzL;wT?x{^Qa zL|mRL{20TmJWc=`iW+{=*~LVaB60^bD<4l6>Snw-nTbS5?Xpnnj7Aocc|zc%H-Uor z+^J=N&{T+(tP!GC!bS&uC_1>zz(W0~GayEtlwa#`IxFSGHBihpgt{LyloEyPAxz+} zOFln0f^$aTJn9x))0zR%TnzA)`0(G;cIxUghGicj#^>MAe>Jk;_gE!+%{4@CBS!hc zix^?_g)8m_G5No&NKb-+Z6eJP>J0&rR_B@>nxy(?c~}fqD$x@0(ia~!#FpJ{3E?+s zK-)l#Gpix6kj3PZCpSOndx_R4M(Chpj}ivddB;+7PtD$>4jE3vpLDGmyjornNO0tS z_I43}`^Xj8oyF$@!D(##>{LgTC?+EATs7%-1X=T&1r@&15!v+0=oe*xeq`maCx#%6 zfa!FQ*A!XVOwe>lpr6rwIL=?t;c=?Yz63k2r-M!09A?ES@dy5UInjhJYE-Me!p#Po z{W25hFVu1J{+PxnE49@9gd1aX5rp}@`7yN2<+S5K80XXH|7cC8LrLaO6V`AHObTd* z2;qIe<|kiv7jhuR*$9X9X_?f*2ut*D1A`wI2Dq{=eU=8e?Z6)~7cb6GrKoqpqDM)a zRqiF&oivr~<>9d#@IMf`)}XckD=&y~!^=2`zo3VXJ!P$OQA0rPddK%zF^YQ&iw_qC zJ>G!v_zRP}zey%qz6`JtWxUm3#<_c7ghRz-d7z{!F+u2P98goDgE_@8AZGv}d_Jkn z-@Un60K(MR_tr34xx%^bxru>e&TdP9v#9E`Bv&KmH9h?E_0xH!Mm^jt@Q;(^>rt~a ze|9awZaeaJdmszfyZJU?lv`0G8Zq;`QlHXfJ92EoFtYzVinAB|z#8R2Z_p89}$`&w;$wkee4u z9x&ScS=znZHOPI8O525eNo#b^aNC37J(wFK@fgdu8U(grR@k?`pd? ze*~-)#=1y)Z;8a`2*e#hrBtE}2^!1vS;kVC{#TBU{Nnv?{EILq(DlKD)ue+}3e1jW zrFLWhf*Ig|a`@x@`M*O=8hBl43`?Qb|6(G|~9Rc*G;H9sXUZl7}3M;`t#wus?%D5z7X-agNl(YfA14Xc;YVG*3?O=4Ax zO)uevNDN)IS?b1mS8eYMqeCgVbht#3qF`jIxjP{sWZu*@rB}XsUu)|81kCW_7yImY^_zcMM zQkfahHEy!Ev&h6T2pLs}m}O2i->h0fLnW2pBBZgqMu9+xU zcF1iBe71~e0;L+-tR1Q6pnmwX;}L?0IC10m%JWY*H4?@>Her7(cp{xF8j{R~v08kerBcI;4oB zkngHyFe;6Pi<^9PX}8CP=5gZYpW@_?HXsOF@3Oov+gW4rHBQ{_bsdN3n{~mEyNH5O zjX;6Z%BJ_|>#^a9VKpOWj#746wCNhH8gi`acEdMk7_&vEnK%dfYoW3pmnEkE9$9+I z@U9>QS4|V*urY}sg*0BrA|X`mj(JvjfwTi3;_v~E8)g+UBP5$|n8Ak&FL=2||J?Vo zkpu@TM3fT^<_#7gwubUGCCxa;HUjq=PT$jHyI|~6Q!9V=xH!uct=-k=a$Y7KB6*m( z1cym3Rya&Os4!IDQ8yrP78h2%8T9cv)u49yNTiG zC1%?hR{pxmn8fTkw1K)wMYN0t0oT+r9`Tq%OG(OaVy;V;lh5da+4-s9Y z2c_y7UEbB|A~1OU>Z1W^dREU4cWS`yeLu406dt>`Rp@KKKD)C@hs@6{2KKmH>D0M{ z6Uf`-5IJmy*;K(j{AMNEP_pbXTo!7ZI0%edCNYn?zSNxPho~?y zGv)Uo{ra@!u|{xXk!gPBM%SY^VJ*Di2oBsE-GUW-9h{ttJ&fody%g6mcBo#VtDzha zVWJ5JK8tqzDq;$YyNh1z=+khPuQ-^W!DK#gT4m$yrJ^huRqZ{#pAXG2)_!Su8$+Sc zkw0|J5)2z6^`q2*v&%-?Gb;(r>W(>0G5EI+lz4T}a6(9`OiUs&5x9Q{9XBMHG0w60 z4Z`G=JQhq&B!AO=E*oOyn8FIrt;#gxnW)r+1VKp^w2|vnRCTTyE-EcR1o!Wz*^s@{ zQ?mjd@{Lp=Q%-Z6Mq^6{aU6djtR40k6F9xlUyX+1@$p&5YS55<8S_*64oaY_T!#pi zdufbfCjwl$-HnpIf!#h*AEu?Unh5Q?cK%O?6|{SEhq!YGxn}*gT7tdC+K)M8rrr!wG&7RO(*0wO zc1tq{iZXhlWZzhX!@vvBw43szH|N19C!V48G7QL1*Jr+uq^!SP99hwSvzQ+S{_C(VGZ0{6H3&*xA{IQlBP{f^sQLk;i^L zo}E^w@vrI*uShGbC>07e?pUID$CV%^_C#iOytc}t4sO`hQSAoOfdQ=~faIMxC>f{Q z?c8lr@}x=FeW37A+5AJ7A$w5hYgYnP#q;=iQ3<`;*|maRjK8#nR|PbyAk_H7T7EL3bUoKBXY*U&6KzoL%Gh)FMJStiuW|ZOoCl&783X{fIbRI zRlsPJq1cK!HKeY~QL6&M+ z`i;M70G?ykpG(NJqNI9a8Ee!{%Su5_FR-niB`y+j`pDigdhwEIT6s<$;orgSi@|!q zLelPt25XyMBh%tgW2Jdte~il!PVVY!EPqKic86nu`i&W1YYl~9mtx%qzeQv8G9{Z) zXQ;DIVG$RZa3Joarz2xFQsu9n@Cu! z@fxctTkE*^-ZGfL)*+#F{n_#JH9gbP`#-63wN(zoL!=wZp+9k#2xwH~G`M0U8+jD_ z2~-G1zE9R+ZJ4~*F-RH84$1Wd`}?7g>un}BO{YpEe}IgQA$>rOX7z<-%BiUAn8A8w z6m7^lW|?$>1KCQXK-A5ALt&9&XR}wuGJ5@of1BX?9FY7V5E)T&E|Y9qtkkGb?iqwR zaP5ubDjR?1_rYN3+SJzx+((>L>`08o+pcmbLJ<&URm*daYL5FvP8NKgWWe2KZ1&if*~#^ zGI1~(a}3j07IvY&@Jw!v)DEWPf=K4`hLy;T!R6uAof&#jHpKO%{76zApfKIYDQ3R*~*&G zTh-w)&g+4a1fSoHMyJz~VSs4i8UMjF>KAjDqdTK9Bke;~(1|V%3~})tXG*4(KO+Mh zi*ey$?Gwvpx0NsdN)~@ba8V5+o%~)Bl1|HtgJPrccJ-}jyV-t6CMps5AIrDINbLf~ zJsP5V3Q!`==8Tl)LZ9>KbN?h?UJ$G>!)C*n0rJz16{v*2Dmuo5_F^yN_V}n3?1DTX ztoz6aY!}!POMB906bd-2p!mLqX1Tr-Ee42Zodz76_nc@0520X(0T2mJ*yI+q2 zJ0iO*1qELIC7!qlv4vdShy3UZzm;0}nM6rR+~Q<3A87ZONksXBU9z+Vw^|kiAeN*d zUTn9Ci~Z0Bu%QWxbe-@cMlGIGrDP>&umPVMtU`$DUR_tM>vHvrt#D!|fj3qRBfbqd z#{WX+VJB}v9IzTmOa)ld#ra4In&h5lW22nrP@&%3RCg?JxF)}A)yNHun3j>MkV;#N zNEV8D;Bp`y#->>wdD+*7C0u<*^hQ@Dl|}WI;A0od8#nX3T%+B2V5+a5^;agw?;Z71 zSb>P-D{$2L(c zET<5~D?SEDoYD**wY5-jcmgJyr;#J%FIpIz{7cDF#&X;^%+0&fKbHc}qaZN!4TdL9 zsEa_=gs&JLq_?QV((lSE%x2H6AdKIutnVD@T=$+NS%h_&M<$OQIgBQ+?Uzh6pz<)H zdBM=g7GrcLKU7j<9&%Mv+ZR>-N)2+8I7@QG@}O?UlNJI@x8yt09~+8h-5(!1*Lh+_#p;Q*q;Zmr$nIl1W@8_yqi=W_Cn~?rknB zqw23l|9DPQaw^c4Uv!d@Y`h;5Q4afza%Na%upgD13}L60zT_uBHIRrSN8Yc7HQ$NI zEq^T~N5dIp42gxEvFvb8ip|A_WTZ+mF70yGexeR8v*IVd>dH{m+5*m8_8U zh`fG{xO$zuS6m{)YyZ&F!R%O?ot9l4+HUVo+z~O*sB}iELeDxrBMc4}8M+2zrKnel zhib*RH)RTxK3b|R=H)v}Pf=XiN0raQ33HYnv1&hHG8|FJDHY#kB({?0ntV_v_-8lG zN7)Z;&X7D@jUimkHN=mwJ)$J1#+q9Q%N_ST&fXL{?AzQIxm)6>Nrv`ZC*09aG#SL| z1vo`iS7b6;``UI-RE6sH^%k-ZcgZ<=HGnO;E!s(7%+-d+_3x5!s8x+&X>WkcHA|n6 zs6y2i7DVk^mwW4gj_RSh2#r7#tI#x4yitj*Sb@<%OHv}L;q@t-Dzj14st?}=^~0+v zI1jAP(!=7mXb9Q=4(z+gP%smeAbb$uKdcUS|>`H8-ZJa>y1NFXS?HW6!w)-u+P2~lY+W|&n5L}oGK{PDB~u1Ixf1| zute6A^agPh%#jtdq#Ile!sg$LGIY=pe6b}TNs5?oUuYNVREfU|ZRgLJ#amQ$_8RvN zvK$y_V=m-PQ2R-qo+%i>tdoDVZpNpv+b z8u+80SLo>e_n5FP800{ZW$Gd%O^bte$iqy|^BL192@}Ufj2!hQDHuT=#W|^y-y{&n zDb;Wn%2+L3rSQ@>*o>ImD?GLy>~oEs;5l>VyOlx5U%{5ln8qxOcb;IScL~x=MY;OY zF+VYQBQL@Z=ei&dr(fg4$%xNDs!`YQ5{U<9t$;is44A|bn?PB#xYs*g;9nZ24fWoA zOJ(NUaeX9#*<*aJyvWkP4-?^njWGffV^K{()Togy?@BX9(n7#Oxi;@uu^@Xxp)^!$ z;>|G$c1YK$P?|WEQlzC>IAOW|*q?@o1}+pXLv6tt@dWuhwUf7u5ou7GL&Yp1wN@>7 zqj(n?wWxx0;sO?na0@ez-A-XFL$RkG{2`D4|TuQz=adupx49JGS)cgi!BPi6b@q-Igi+B;2KQ43K6(jBhOw?O#Fs_)5$|ZkX#t`hKm^}GAzy6Lltwh)zZbJ zjd94>`KsE9k!oWyW1&9{{h5$Xh0RO7;iFn@$a_{S*Qj5ca?^^48eyCH%Gcvp2+bYyRegaf-(1$LHN7cpbF@(YStB z&&G}@ut@H2L%&8kt6dfa0$pDh%MbHI^hz_~-UO*8d%<#JqWTFmd*o;RFw?Bfw90rx zaFcm~`Q2nTB#0I@B_cf@#oZ-OGf?`!XobCBk!GYxk;!Dwk2Fqdo-w#_W4kZ{hh@D+ z?U|kZafsy2O>tN^27UMi`lI(5dDQ-zfJdV79ahLhZ^eTBEgmLF*nh8PTJo*k{(o(vVAv9QH#aURNd7FHp}ye9Kt?@gXt?cV?ngsLcrK zc!`;~aV`&tSN>GxQ&pz}d1BZ=;V6CemR~9ikz6tZc{pn~x;Nz@Ov*aTVyQ^!?t842 zxoZrNe+)U5Or2%iZC9|rz1sfa`IB9A zQ`~t)HSvZ08i){-5>W)C1T24$4pOBT3o1=1(pv~cN+=41&=F9&fE0lMB2q&qbV8Hf ztCU2f_a1sV!?(W6b9vS}xt;7aYi8~B&dlEL^Zcldqm0YadtBh{RuZ%04TeyI^ye%F zW5M%PG!a@NpLf02$gKyzkm|M5i-a0!6c}|>bKkG!+p1VWDXUh6vs#m8bg{BjMTf&H z+P&vaEOt|M60oV{%kgLobNU_DKcWAaWvoayIk30q8can17 z}_98k5Peq}lu86+A?LTR|k*MCprCX9q_HE`?>is{EI z=G|f?vsf{8bYF)@QP#f`cjWb_Gz_3Z>U)az;84&{iuM84nFPHpZc z73SY2$=G}hCxtQm#UeH#;naotTQyHeBHN41sn?42pno(K=!~^Pe&x(*{_5ikNr(FN z#eBIh1w4?24Ss}gtjU0vqhAD(D$q?cZ!oJEb~}FK*M?9P5pQ8)^0!;#67PJ&7&9pB z$?|UB7@Bm<@!1SxGcCa1KMoDBs_?$_#i+z{^$~*=#KIiQ>SNkA^nHq7+y+@o%ME;@ z0fV0Erd5S|_Ki`Mr)LsvlNoG|Ya$j5zw3hvA@p~1!aQ7!G#D<+5o0K;iP4=2O$Aj% zsGt4d1>E22vzxA5Xh-3~OOASF8cH5*oiH4jo-#NZ#yF~!SgK=g11nz^?%&o{auT+1caG-nSby3^13Ic zE4nn;Phat=`^}!WBRm{E+xmGhB~)2N0J-dIMu)Hn6FReENIkv1a;X_j-l9%Jdo#2L zL2;&e>BN4T2wVL8llNg2KZO#le-2-WWdNxVf)mbmcf&d-g}m%>V~fm!ONqWUR2~Cs z4mP4ump$*ct3;nZJN^gHM^k*Sr3U?1XI0sPj(Wl?X@^=TE)xCgNoYZ>GS=j0Hzf@- z7A~xi&Uqu$%RCRUv^q-SPYohvxpZ6WwjNa~RFc0Rw&;yolSLiuoB3@?IkX)@Wj(9x zQm0L=ljIzNyN4^>VuBYJg!LLVi&NwrYQlZ&%0B>#t^-b^0-R1ijrGJwGCrh}E~3x# zU4doSYa_tWb=d*rwf_696k&=E|8u%d?ZHf3)tSO*oce1Fyl%f^7f7mP`*W_+tl5kR zbd&rG86>t7Q=LzWvvMZ&EV@5Xy$7=IfDs{ z>X9u5jnI*)TgcMo_fyGSB$%%3u1|k&3X$x^ack9qn`T=5%rIu3bJuf=4|6si`;WAk zMxl#JxdrCchvm-hAqd}~Psw%Iv?j{%L^Fal`bncdY^WnkQx^p4)<_-T| z#GiRBq;<9y;R=7(anyC-&c&xBduCn>s;+zk#DRo?ic}agwy*OYM+3-Oi{!;`a7rHuP;f@ zS^VWT&tXUM^Wnqld(Q=0Q41AfoYW&gWW#CiK4QLkuW#>p=~e($*L(Tn+{*$fh>*po zG3SIUMLp3=4IlFS@W)`oos1VMQ66sAaKDJmgKVZltEJEttIxmGND=uO@Y9KrGqsgd zBd`sHk`85rLih=i*r>n#ILCS&hY%EI_^C^-{E{Gi?ETTxf1%#^w9oMl4J$M~!n}%t&S%7JOsuGr4Gdj zW>auZJKw!e(Xtx9qA)BtVU`KRrD}F+ z^US5F-mWb1wLn8_AgjXqzLrL8Q0kI5&{W=O9>O~7Pd+YKJAZ4!YfjB_nO3@s7eEu% zTq*UHt7i6NHNKhJmw#C=$J6enUDjxS(B>`}uDc0Fc(!LVE@TDEP*BCAbC|O>) zxqU=b62)Bxj~P8?%ngty;-Y_wE(2Va{$2_s*NBS~%s|ykg|)Ia7VC^PrGURJ>%)iV z&)_!?BQG`(foLJtAPnB#f+#i?7YI3v0Nbihf;(QPHF(c20?tni1>~!#q=C`eaz45! zd+pAAi#7$GQAo;>{lTRI38O7)k#HXy7S5+iV)nq@f@*ZJ6SU2jXV zxr~k2#!^Z+S$p|zDc5Irr(I0r=<6waoH>ql@yK6nX?P*`UrXxv*l6I<9Ia@`rl@wj z3!0c@ownhR8jcW;|1ZJd71X8C6;CtXUGjqcfyVh(U8N=mb!OwbOa^lmze8rmBrdT<69nqBAQY zCIP@w0xO3M+6lGq5Kj&|GUw-_36rw@ImBLEufbW^egD!w zggxep71>BB(I4og92j3pLlH<F2_Z$8nTt~pe8CuOGzjGJ6CRxe$g!mGCg zxuosOFknZqpNDwYD2W`BwPZxyvp$&()#|f6-UR{}8m;D2k}G0hC=Jr4@h`sp<8h&h z7|uUzYgH%TD9BP2Qt;iy6dAu1-a1LSqM&Osx~7Rz<;}m$klLHX!n$1s$}j#=*5e-Nq@&B0Og7Nmd~OId?;-#Y1Ywyp3hVRD3KB<1vwSeZ~WRU@Qm4+v#8t>xSg z3Zz~SI2#J4O{K^nL)WpVo4ZT$=bfOI2eb-f2JUQIUp8ev! z&%CI7br)e5ra10cE@WVF?Aq4kS|M-ZNBw@-VnI@A+oWCBy%6aA+YKkL8d&8`1TN?9 z?4Ixzb^8AGe&_bb`2`ZNBjf9@H>fdv3KOVP@HssFd%BR4l2@05&N{1DYw4}Tb0!#h ze61sn8Pb^FW}n#(UXGl)sfKL8y&zy$bJrOozPSvAV zx`y5#k*(h@yCOv9KNPEOD?h`Z52~*?u<3H`HpZ}VowC7|J@2f#(;36F^B+;{1a@d% z78JIhWQ@bi*qig}*2E{;an8kEw;rsktVZZ(l{24s7<*E=z3go<%!jhK^so52s8UT+B*;&+yOh zynqrFoC5de4+!q2I8Q4q-c4cN>4uD<*O&h+jlq#~Y#e@@h$tUJDC*34N!C%o5JGs1 zbsFBhhx^k*8i{ILvl#du?LOb}ZXN)K+>qk2{Kgl(Moea>n9A5(+PHh5cTZ+KFV8PK z8=o=6f)1uM2%dZVh-(9j)k|r-`Iuc-{RJ-GZj8j=^`>4Punk!>zV$At2i}w2tbDP? zu2TivBVyGT4PZBK)LmyFQGn$*EdfX#oj`7%GuNv&-ynmLC0=++>tr46>+8;dMc^1&;qm6s3XFFK>V zjaOxxZc=Cw0e+-)>|F zD8Zq${snvC(pB>1 zUk3czd@}|-{zw4GRP~bo>B83GG`~CEy=eO5rT1M|CYk|G2CDq+Ir8^?V(st5*-gAEuU9N(-M=fbg zo6YyQ`skJ@J`2p$c^Awos3_bf*>Ab@o>6-6`qUXhc>h^uvsqXr!PGPNY%w}ew%G8y z=Sd)0p|{z8)Y>l?*XqZKzH>y0ZHPSG>2Kl|zlaKfd12B)i1ksJT;0EB3Es2q7tk4L zsiJC)Ejcl#-=II0&!gfu@p%y0uQPDm#j4%tw%RE2@VY3Is7OX(9IwD%Z zHsvUbDZIRKYlN$nhmXR7FIiVhs5};yl+m#?cujNZL`zv)vni-QGMM%fU#hg&@MaA7`tAu z`#b_MFwaa~G~NwjDa0uTZ%U0+%#H2UN=hgRH9W5ipKZgnG20y_9$AF(FDlFFDZ6*E ztGlJ+&CF!Ztv#XX1opz>fRwe9hMevwNiik4Y_wM?c;yuw+s*cPhA&M@z2VoA$LiRP zx{TZ1f~Zm~+ekYvYpJfZ(?lt4$WSrbMcCM~{!JI~j&x>x7ApP#%Znvo-7)w2&7C=P(7 znQj6P&8k?|4~<2}Q^`7O?j+bqP(gk02KQP)bv$3izWe-Aej(2}n^5Yau1`Vj;^gC= zijva->{Qpk5LOBbG*dx{)Q3mTjAp(<)EzhMuvY!$MSh zr-;rs!SdW4+kKYDnFW#s{ zIUwTPaLCyrCV9 zDDQSaF;%~cLyy$M%rmdfE~!2By@i#v>8c_r%Tr5X4ByzJj(p+IchNJ%MJdrSGBorh zdA|K&V=vjV%s_7~I|x-@*s61nicb2Wrm(`OCk9?V+%+J28;%suz#+NmMZ~V{8p&xm z>0M`8B3IBctqf+=C10I@oOtOqGreZ3xO@Df%qCIYR=P>@E0iZbz61*+ zd|n(sAsM-JCyKfJtv~F#wiH1)8=vx`HddB>1tX%91l>}E(;vYKl#v)k?0)#T=>m(1 zWo{c>h$``Rdc|Mi7fnNNeW&y@1AvhGv&EXb=}Flc&I_Fmcb%+Qd9>6|KR4*XetQed zQU*=J2P!E99wNki#J~!MR4u~%40VZ0JAR2w1;u$!y&{@AZwbd0@wG_e*dBm<=zjf{ zA?MYcjPwTeD04y$=spKoG3oc9`8|ZFx6A20@*&^#RFu!V@}`EclxlhClXbPCs&g5W z->cRw-MbV;<6CL}=x>%$(r9eczv~WO)txkyTixOl6uYK?^ox`$zHi<8Gp|l7p}MO( zk6`}%Eq>~0ti!nHpm0t8*EZFsic;4Os^Uixv_*QF{c}iy_o5-x8}>2x;`jXPE$h7p zwb>aBC5rZ+LVy+QL>Jq2ng|2L#06Hlgv0?ugK8W*wY*u>KHO(v&@((H-t9q()J4lm z;eGYG>FLt>5S4ixHwKQh$%ETvvcX{uBe3;Q(*2ZtNNAiE$5MkZiN11-4%cR`uw~L0 z|EOsV$Uzk7(_td9&tDmZSs#f#xX{%>2=Ut1iKIJ7{LD0v_*-^z4F=Yq9bbYy zuZJGLfijZsBxc5fSK%KU!f(^%OShdyr^I`zba0rHf>Pf&6$*^zd0M^~{xK%d!o+MVgPd zZQ0h%#lf=t#mjo#`)TkZZrJEVYF5!VeeqEENoR1gXC(5Rc7=H_L>ZDHXKwZOVQ%54 z)#5|#O9hG6DI^jdsq@a-mXPRgF4HkouZgqQA3Ke1GH2uN#@!b!;L=bDQ6|#+sB|d3 z=fA(n-SXk`@68Oom2MIXd#NUcPD0rY7gs%Lwo2xB&D80rn;ko1zt}*JD>EIqX(ncZ zPBP2O&x;*OG!^{wh0V?j)MG1r4CC8PpK|EfRw3e}SOv_EyB=SY@tLC7lO6G$LeSbe z*|c_P*yy$smw+JOMjmU1&%OG(kT(Ox!Mmynj@s5LdN?^d23?Qki^e=D=k1QhupW_BTqWBM}?`aH_oxryAzXKc6xc84Vb$xkh z;@nmp4E?A`pN4Z9$am}67fk!WI2x6;TNCmj`lB6v6!AQM{pi7k{3;?3#`Vq+>YM!h z=mPR2G7#Il5T`ySnG0S1$b!R`GW}p2Pt68D+woho^a(0l>ddca|G{NyH-bJj*Hw#m z5cnT!S>h?ZLiiJimrg~QsU^3C>Q}CPg+Vf?kE@aA<}m!?z4O7`>9L)Wt?2)fqG&QC zXH_pmh~|F@2+S1$VYpzl>i$3eDGdOk*pm$#Cb|4##{oE-t~-7e$1R>jp7Z3L0o)(%=NegHHi^BEz~m{DCrwJRss@uoX& zs)zsQDj&J7@kgBr;DyZccp>314RL&&AwFvT%`|n)$r5)gt%L`|b=o@|#=ftrKSWLcp3H9sL?f9(%Hh{z4uhCNq9g2z{HoP>s%gg1f=#^`y}BHrVyryh`zZ(jDDKwf{RH+zDYW!a=MOrNyfes zPHzjP%_*K8n`$pKuGNJCrzzUk+gexR_y$Dd$kyi!g%e!DB|Ka;wE*4ijU8qLhI9nh zR&Me{Wudi*zi25a*0Z}p`8$_iVZsV8raZ9-zNK-yQrQZB2~$Yo74hAQ4W; z!x!6tZDQ8IOUglFa@QqDQndMX$tSfKGnuKdOd-KG)8g}R=}kA_B;sfZfoQb8 zqPH2oV#k!$Pn#e<9EgTvE2>d+p4t^u2Dv%_tx9Q2ykhn_xuXdW?PKjg&750ccV zmGXa-x~jvnn!tob&A2ebt^l^=p8&%q-iaMqxuW6@6o9$7;oof=epM?SVy-L!52xN{ w|4(rTT@`n*K(;XF6(jfZijn(&al%V*Q+ukPQ@2(F3GjRQO#Nx0l3Bq20iOTwPwr$(C?cVdBeS7ZD&AG_Rs!CE-!Ai28 zw;~nfCE%d3p@D#a;G`r)m4JYNEr5VP0ss*IYU;7~OaHAvorR@T006+o-ml$%MPO$o z31Og`Y234a1u%0VIiY`h#=(3Vg8wT+IY??c0|6ns{I>van-O>b0sW*%i3+KB=w0f9 z8>mREbO95CL0w;~;cDe6NXN8yc>g?G!??E8+AZq#w0FQLP|^?m?(ilgMMNI;pT3;F zzh9lYHsct(K9={CyWj3iU~!+`Y;!i(OMK*R7i6Ub`5i!<2N=W!K{Kim)glxVL{b1l z1r82CZh{W_w}BFb>30CKOEkNzFlr^xGK(JeK4>7Hw`hZ#2fh1hhdL>b`Od@U=4+X9 zRw{G(qRs4{+hS1>XE^)hexvi{CK`UeYVWI78}qRcQv})u4}q)En#T0~a?bSeP6AzG z26dtim2AF)D234R5u{(PCCbS@#5lqF=@?E;{BKF~*RNkuDwXF_F(z3(>NOpYwB`Dh z5Dij^wGuI@k*!5;Q>RUIN1?7&8ca>t3eETT&?9o7!%*br#Uis{{x8?F0p_&OT4Vs7 zpg=rCAeUI^u`#C=GIJ>{D`*c}1k@Q26@jsbg)idkQlQ)?Z5Go(9D;&}Qg8}O9zpC- z_IS0ZEE}@~1N(KJU))XhWH`+>NpzIvZDf}54=_Jnn%913x@+x*ED$P9s;z;8;KJt% zU5%I1JGn(kL@>%`pBH_tMody(OIlbz7ZOeiEAS;QQgR=^7b|0Y9*WJXGa5_}OF#a+ z_pJydcI5hK7FqoneW$)iRT0u+w1*O*{W9fcU4OnjORBI=wNZYdM!Hl_w*(eMjAW@EhY)gvR(Xf zR~)*fLam2oXpAImXYV@;;=q))Y2WEgv2Ek9QvHl$0|%s8kb{)h7de#%7nQ|OVg>=J zQYj`joh&wm&~vxfy`4V3RE&4w)Op5zZPsHKYq`1ve5XU2EC`g^U~i_toi{>43m$+g zumsOaz;z|)9->noLSRzATl!nKZjhw(8)UT2^g$eP4#ZNWrTOuE6++i1Zmb>X#V_{} zp^Qvw*>;VZhtnELd_MVuZ*d)T^0rEipc*SrnLenwghKc(Y(qEgzDk#2EUP&IjKk*M zgOtEO{L?vs_N(<-e9zwa!_kMk_-GUYv9CXShr)PHuv0#$V0)39 zI9qz7MH^}H-;@PA-?Gt`k1T(_kcRrm0jg3WRsX=F?Itlj|9yH*o-@d?^r!H{sW;{4 zed=Ad4}_Vct`YO-Mzec_`(x!7j|ub=xO7i5yVMzd&&A|2%>gf`IkXe;ZHW9`EEvaG zs7gU1$@1uKAu`~9=OwES@Fw?XK&$K}6;oED47|#SN-uS%{yE1Gklsk5|AT+>IpThI zlPd7hmz1H33o;hm!&{zEK#-K>UdXWXzNsB*oDWZWqCfoWkCcBjn&pjSLuW*z*M)1>7|SA5RlR?M*0nOmbGp3ypB$ zH33&fLvZoVReCzUn6J#DJAr;e(e=SG$OMP5RwLWPOt zs?-+!Z-SCTg0V(>Kbw-{>)e^$wF!nUk~UAoaR+e|SRjNQub9h>pHx&@Y?=ptf4Lk? zw{%>AQ$fr1Ja}vnI6=C^ya(vN!5Vp;XE#|VQvUSw{#LK1PM5vigoGt=;`Nr{8T{C{ z;}5?Qs#*Lwf&{Arj^V86^gCZdNnQDLx^cN`;v@K;r%MwT8+v51SQLv4K_6^dHsDWu zKtUItR&ZO5VH;yjJWRo6f(%B2%~zmW~OG^YoOuL);;$)5ogne>Kzx2D(yDs6CE1#-1Dx zPiRT>4a%WU2QD)*@jRz5+1CK&^zk>< z>1o)GmSwXl0!bhnx1!S!CfIII)jbWeawU9 zf->zr$p$h`Wv_}S4HhW=7J!|nHlpHssr@UXd?;Uin_QjmzLQn>ME`E!C;AwbQpJFz zM8tddF;)OncTfH&ji}`2Dw88cWz}(u2qoruap7gm8DX1thSwp9iA=}sS!yq#iQ|hk zHlQZHjZZtr@7T{1-A!E2Ug)9oGYfG(ykx0KPq$nV?zux}#0YZy<2zF$Pe_0ZZGA3p z!al|F0Yj?sfIe{}Y>Of$k89I$LY1<|I0PPy`|`UK&&`3->4sx^?37mx29^s6aWQQr zmvzp0*3*-T*KbEIM~GRa0fB1(Gb$ooAxUJ83kf=pF}}!>pt!n8sI>3+ySay-p{l;E zvNyKNt`K*&xj5SQLCSKrrZ`eD@|YWbe;S5aD#+MkwmCF%r&`zg!H;rBHs{d;A_=&Z4hDgZG*Pb{?`qi$ zK7IV}8L@e1L4wKtmNC^dUw!}S$a}7Net;R?`0ZziMJ=lw-mZuyF7{+pI`$(=O&)##{G-h{$B%RHdHdmj?c2l1Q!@BpG9i zPK2U``Ik?=k7J6!__`R+p%oCZc|(hI=(FTmIv(c#lZ-~H36_B`48@MWqb+cP(02Z* z97S$P2|BawQY^)7PRlyfMRSC8vvce|?bCVO5y;2K{K7PPyRE*Hs!t*NfKDZgf;omY zt_y4yduB;Rv@)gn1FfO3X)+cQjQ-94bPJrAs557vYa;m5enmV3%na_@`nR z)_T95M=?T&SwKD>UC8;5VmVy~bo(v%e{}4`f4|&QmdY5G_S6Qg>0P}Jgxe*6ry;ur zQIXjXk$Qp^@`}ip@t5_oW-sUp1Rf`~UqPf}#VA>; zmQVz6_k{^PrKxdH1imVRTuunR>mcir&Yf5ab2hniVEMc|-miq~Pk^p$1^0ov zEjt9e?{)9)Bpgp=H`QX0%qAFsP9bfB4;La_L3TL%t`>^qu^^rU+w!s?v%n02oNWKG zp3LRr4j54wUT3S2DbX|mdn=qOnM$+HLAV6I!ZeE|LAW#oH1n8KH|>dJe%}^{%VjlQ z-&S>DT14)cS*!!T+Fc*1>U_Cdo|d^^chQAoZ~;yldAEHp&qXM4$#^h^NxD36?D<^5C_5QswHo^n(GkL;K(p;MNI%AvNlJI}dznYngNKrOyBdTWL$PxlK2792%)bz~ebQ@iX zmkZ4>Ogk~+l#c|$6UE3QX|Q%)UsI5kpD4WDairBDYQ69ZPV=85av8pUF|M>;?qDqy zPf4YwJwi86Cj`kg<}HxRfIhY!|p>X?fp{`G1TI- z>PS;ikj}#BDq-6E`BvVv2M9r%lJ*eDruGM8ALm2VTW>S(mowj-Y-@m`DR06u59I9j z*_Zd+Yqp*oJxO@IH61Jwm?#qX#a_J@;5Yo}d>A#tcSbM`o}C7bFJR?wNTXgqXSnV4 zK{fV%0aFet6tZ;9=1Fl&+)$s;#LeZ@KG<~;i;Y`@X97D_DW>(dF9 zfa@S)#-}d~ldZ{}BDCe4<>0&z*DFf@o~LA9=*Hc?tuAT70M8ho#5 z5tP}-p07hw%^#Xg4WwwPczRD48k4+4&>^$A75faK{SI@z)ZcovPMpEVS|C@S<~b$> zaaqhF0JMWfe8t^M?VZHbIhZUCU zUokD#^-XeOAN7CkB{T(|Wqy%(-AH8cm(~wYcR712xRcOxj>*SWPi#fPECC0Z>vnFs zdIJUN)xFxcwE}i7@aj$=kIa_|gx}Zs23~?0oS$?1C$KX5WR4zTuUgTX>B1;X<>R6f_&dI#hWZ zn-D?YC3p~>CdA>2j3-JMe~u@RJyIXTW@z8TE zeENbeBhd$YThg_X>A62c4Wl`YCY+25X+$6GAAG6jP_Wf;Y8OHM{^Aj};GGkk#>jH3 zq78>p*6)UCgknu4?njzk+<86cLm2>Q=gET*jl=F1`t}prSOJimoy3)s zmyca5t-&_7jwp;Fj-XcxSe%8H@c8{++2j1})0CeLj$$HDNcE8Cgzs$}@#84`pCE-gpTAR;It~mFW6iCyFWKzpLey32LbjXy_{vv2BRXHN&GGHa z9YDs?q6X~J3vg$rVrM);8>-s@Q(RfZZ~N`2`rM!{S34UP)6;b=l&O5R6NQm+Pr!|U zb2h_CjesHF3?74?AFQbSYi&LUzh}Z~X{SgV^K7RAmf1kJ3BUd9girA2TQWamhN8mtymy@O!+QecACFrIgN?#C zdftW(=2caCLB`xkuAguYx>op;U-W``5@_mtb31>;UEpa4NwK9w9(3V$w8BU|>Lr?Hd?}l%3fwFcRr2Ac!*F4{_t7<59MV1QYgd$qVeOtlq%<&?Yx?q9=6X7QY_wqt*XZ2S4Lv4pg7_L&A%!iSBW1)sFnc#H* z`o_=OxKS+vo*1t=??8=q@VuC^8!lE9>P8GhRbmH6My)e^kINK^<~kS8qxG|^Er!Y% zx_UF6=j`R%mJuo!E@dix^3(Y%+otpUa2HA#`ks~1;H6BRt}~2h9ES#6ucJculQ9lS zVwimB9U@)A7Qg?$5ON6epWct@^uJ zC-M$0dnhZq)Nt>;;=yOqvs9=PyHA9S><+B*;*H`?5aL}Z2wZ@LPCBQdt2*!Y7GcQD zjJC{d9<(n0uBG^I&DD%^nIE;PT_+dX5Sw@*2$C0n`)=v$_Dfu;ibWkTm^A$U0-OvE zqL!?5zG@Fiq5`~0yAgPo@1PZg2e(7#bwf}lYq`)hTGe@Fr5Lr8Xz(sl+6IS;w9H(J zwvKyJ7|i1WXJ0O-PTl}ux?Mv~y#~(XI^g?(MugWZ{|SRqb4VL0oYGu{{F{2E-m_wN zT@nR~*vgODyh`DLNr^7EITWBP-mB7=JtCk?dg0>kkum&nCCcyb=K#_)YUpLT)Kq~V zp`1bTl8Rfz`atq3oEaXmny_#&CD5vRg;-)fPAa8dIIe{%ri#(z6eHu2&=+1Ztfd7q ztdd}VL#4DhA*$VelI2QhwSI5d!12vM-SrQ%>FMY)O@TPg>iYZ-7)Bz#uTeaQIKHu$ z$AlJvKRh0Ss0jZ35VeqYo%65Kjd%>61|gl{C&MIAw(q>p%Ab&S9U}-mzq)_mYLe6< zfd#T$_Z9Ew23oMa`Q(IQgPFAP-YP~q2Ew{AbQqFKr=ht~pmOupn7T}sK*HXp2#;tj zmdxsVcPw_VMoaN|L@P>E+3`}`D0rN_;JN!!|81EKeHQAypV589l`r=+!X3+;&3rfq19BnI&*O1w!R5o!~08gq8WD+aZERp)AzF5 zl%jp4ztCPZaSI*LAvu)rT!Jo-letly+|aof8#z6C6@4#l=q3;gjwgwoUUt95<(&U;4jvRiwX08BG65L%1`^2ZW_ z3$6}a(29k{L#Oy;@)ITXE!O+0l}5csYk?t9owgw8QJn}0>mm1I{{1$v{S_S&qq`_k zQW1}~2lV$3>SxK6s;NG1lThx(JLjP{9>J#a21^ChV!N&J$|k|?lnNRs?xWM9v-U#7 z^4k0|rM@m;&Nx!&9xlIE0W5mYmIz;;4zZDd4aA%o;dHLe;~I!#Axf*IEPOh^4?_Rd zHKM|2tx0v%o4{k}4qmu)C=qEroNS*h`5o&^DEm9BS_>r)Z`CtnYw(PbLEI@rmz8m# zR|U_u9WGoX6uFfyv&M2$Zi0Ik_DoC?-&jyJ@#8r-!R#R(-6gHJKC_#i08S%n#wA*C}%C#k@ z8bPX>6R)f27SLjweI)tl*35!wC6kZ^DVIopF39ZmzK_p_E!Vbt8Hiov{Zhy_!^H5x zbLWsjWYGWD4=U7pV09mLf)TATy%8H5&XiZ~ZT73Vam<%2KbDCgUnJWm68HNiiFH zzx*t7Qg;DlfXmgAs=JKFXYpZ55d+T9Xhtg^n#YE-PSu(e67ChnUo?cf5A%9+$;5Jc z%auZ*6MHb;Qcd`gc57?Jk%0ZN|Ma+>R3PScNbHED0# zwuw+#=QV6FuQyfot0t$M)qV$#TRp%n>yVY73R!p8c+;(2RV$P2zV=7c5s%HW$co0~ zT?FSbfD7G_zKJ2u)2PO;NGIkgb{}Y~CUIM$#q|G5UyT~xZuYL7+-%TJv7JII7cGcw z2#XT8QDM`hw^G+_CaJ|Rvk?UUsy8Y5*N*Tv_a~b~-{EkF)^~jK$nK=W4le`;-z6&EbF(<*O= zRfM0V<(l2}SD*J4OQPvptj}6bluK4fL=*Rlyjb@0ICgS&UrZ#Ome``_*R;=?$wi!B zMwX5u_p)pXtnxBQdXH_(r4fD^23j^eTVnpDhd9FtrkNMoJP8I?r_ApnIw9{!QY=q? zf+Vmj+tpS^$Gkat`%I!IYIVU5GO3D|yXS_;JA316Jx}}Z=2Pod#3J&g#G|0*B~wVi zdmAN(32M1m(r*Zm_(m2cOb+Q^VPSt)MzzpjKT%r*mM;?{D;xQK0|}FDb~Z}Ty_sn? ze>OT|0K`b)z&uq)uoHuJR*o*2KG!e@TMP8q7Q&NRSN>W_l)8P|7xn3tzp;kkw?p{H} zqX=<>DY43^hK5(3|MPsy5sQnyk0pr;Hp=Rmni?Ro*a>JfKE1 z-Sh$sN(11ryZx4=oqQUpm9S#Qkbb^A(?i)TdDvXmz8Q-ysK&$Rh3Fs3-2^Do1mzolQ2+ zaYZc9=E6AKtEqNsM^n}owdTT7@f1W7XBTT{0&z23UqH&$$TVxtl8FvhPR37{;BSa_@ny zxj!7r4P{arYz)b5%D#wR4;A;PMRFhSU`O3Wqig8vZO>{T*5-3KT9UY6wAiU+eaP2p zRHy*>t=AU({?Fk}TQk%en5%Zpm_^?Qa%B#tg}+IRS~-jD?T;aXnA-T*l%Q6l0pfog zi!(j&k?9z*L2eLivh2j4&JoR^HFCou%;|(|3_iC(vkyg!e3|F3138b|P#|4iD=;O) zSj&TeOWJXv42!mMvEvwaU#uu6c87B~M~v^shE?{{d=Ed-Lsfoy_^@`Md? zkyWknGNpQBz7_aJF>(_u<#0tUFB}n2XOkgFj+=)Tw3WmvLJyXyik;ab@cd*c* zZGxM1CrhiLX~e>=`^<30X<5?yMBUph^?PJPT=za7%SI`A;}! z*LjJw@+5$pNPil7I*h%5R2RBy><>7PI#EzTRv>Dr-K5w;VV8l3>v&tzC$pi8nYQ*r zNCF1p%n3}3CwhTkryQZRk2%rR{B%01NxE66JBD4Vbh5Rm6>wX|&=cATY}`?wx3gmp z*Rlj{y;l_l_&uB~LGp-OvU+XvIj*RUt5j^^@)738-I~S@lVjI-Xr{qyx2Fl)ugY02 zGe0@ST7MQMPOO;q%)*wcDipS-vRWiG30{TccghR@_9bQv|G4H#-DH5)WWfN^EGhzU z+b!`JF7$jo#*dp`Fm_2~&jn+V;vbU2p8R%B!mtPUkN`K{uysqlf>0p5P%2BfWXrGV zE@q==HBaOP9{S%7dHB#g=>dXmy`xK;>>7+r$Pqg{0fY~?->CB1L^jDoTd(>#b1D`X zj~0~4U8a&ZXPVkmf6?C%gNy}hqLYG#5>YZraXzq1`+j{lYVwDYCr34vy%i}r3uA>D z0qqGda!fcMrc-6gYNjj8xOBVK38X-k?Cs_nI7&@_AYo&Bb6gJKDqCjUZjc*{{+jL9 z!R^2z4s3La8mzbC|yiboi)um_%wWZAa^ zs#gjrD{kbKWd=9Z0QKe^`*}5+t$|a7xK1wDX!>waOj#TZItF?)lsUcTSY>NrS+E7$0v7Tn2)eZKM#qh2K>{a{Y7| zb6XSHz!-laD+%jdi4BSFpAN~6A>M?dImCw(E<)o*Gf(po52Rkygn5>xE~$@U6f-?} zvyw`=1b1Ahc|j?0)8VuNrb`p`Cp06zoPA(?grIr>(@(_u-lG|)~4%wGa7Hz8&LF3DuN~%2@rUEu>oLwX$ z{#yr#=fPbtZq zL+XMvV-$WcD!3P1WH0hrT4I}$IxFvBFCO$Y|FH zmIqpWY35vEV70vw(UAW#A$@jz9C~5irblDKx~KcXP(@0J=Sai0H!+c}GcF6-=w+VBSwM=AvO(;J?K7=Nx(tS921;}$#%w>YOMA#P ztDfGcrTwbzy$Wloek?Y%rfk}Jp1!1=z*U!7Z~r&s*t$tS1WWHBEO2zm$S2izV)FMU zUhp|A1Ftbwn!uN#C5p*6Yw_aH4yuW~MC6HY;DcNjO_z^`ytbu&<;lUu)hJTsqgr)?iKqw_i++)HUMT7 zyaDQJvgFqYZIuEL7e}uV9v^u{FR%D=A#yL)mY){gK6^0KBqh|QpsDmOVALNTwaS#| z{?Nq3r;ZbNeGyA#$%vc4@k3K;T_5KC0z%v8G=hqb69VZ2|5St zs|Xgq3aaSv$uaJQ^ig)BG~6nv^{ft0)reg+kQdPiq7$x>FHd1(i`%+H<7GPa(#{lF1zo{1>fM#he3W?uqV5@e7r7w zm7|ChGF0XQ`$2jLOv4BqL1Rp(_qdXzPRtaK6u(~Qz++&bMshRH$!AcAlWkD82lM4h zIEVa({j)s;5e4~h)R=d@Yy=~MX+E=w$vQoLK^4_03ZG%+vzAA}ym)<%q?qOQQFjE) z*pjU5K)5kkqkAyxSvXQn>x!WRNoG`NB(7B*S-#YQIWj)dJfd|@&5T-tz5=YNxh%1Y|S zo`JEd!&79hnu$xKb@$}v2%@Z#m}s_#HRXu*d5bxO@%jiy{c3enc zvi#MsSeKzr^A|>yOh=w(Nm2D8^$6qAYi0r((!WqbVkI*>XfRMv9wDdEJyZ)V5pRwQ zbYu+1&meiZ2iUu8M)1eP#Q!QRH)^SJcsg~J#B)GjBW=+62|g7!k>TCBmZPMgx(&r$&nJ0+Rzil&_GdbY_S@ zHzd?fWC?vzz3g2Vk-DYdcc5NF3tGaAnZv{jpMHC^y^i(P*-UE&7B-AFo3*oG5$A=* z!H}ICZ&U9m?s?=7I_A;P5Mr~eu|U|X2$SE0fJwZpq8<77wf+;SIVuit#z16bOWQs* zIGZJ1H#CgLfjFfS2H8b_ij5eklDvKM=;7m*S1*!4nIy1w6aJtkl8xHgjQk)!tfD}7 zZySgUcK9`lWoilzG4@jLkSW%7``U>0ag=~*amG}iq9@ua09xarIy)UMG7Vu!7sxDx zGNduOxT=bO6u2UdXvi+=3g9h)V7nbG{QPQXmiXSQ;hmnAREuCif|;PJXYX&NMS;o$ z`zDvAFatST((umT%<7Ztjh-@B7DK+Mi%ReYw&>oqiM>$)uZIWWQUu+xX|ePkb0j-w z28^$B!*WM)Y706T3+s5`h47vsw+7S%0B}RNg<=uH&FA|ltqBH+=6bmNJ0xh_>Ff5z zSzvLKp9I?8N}B-K8Oz11SLu+1oC%s!d&8`la2(ZT3Gc4oCwI{8$Go7w2~aPM6hJ zJxZ!^@28$!X^}JUHBrF)lmgO-w6~sDT<{z2z={dM5?E^l|S>&50uxxqR_{0cvkai~*bD)$!8db8CKsKmDAYs{Et;Pyal` z|LJFr_OFSW|MWBFpMDB+)T+t<)6adZfBNZR$M^p``oCPdC@HXK^oYwo)qn~8T^4_g z9b<=o$Z6crpj9S`D48f^4iTRynYiSR1}xUg07AI%e)gwGb4mK%-Ym!DpW84NI@_RDiGO$LI#YoL zQ5_Hv@DX4TXO%^NL%T{}DOrVvtCH2CZg-)p?Q{=Ay5=Z=*7H+OE^9Af@^EMU8Q!-HPqI*k&Xo0s#yX%HxkCWn90HY?(gG8~gOjNPvIoK3Th&EYULDoWdnE5Wv@1i%@ zpXoCNk&6B7cmN;3W{${0zI-#a=l5+6OAb%0FaBjW4_*n@DW1P631xl}QXDe|U_jv< zcf3O!@YU2Z)K=yb)O8^{@YZ1)UT{c}$ULOMv(Q=3hKb^)Pxn4Ql*oaVX|(=p4s4%74J-Mq6-S| zPNeqRv+ibXG?h-&`B-B3j{89|?BN1Hnd{pm=j=~Bfm%6~55klzNhLn2)?hIX6K8omKIxyeP8TYSg3*YIc|$cp1jaHC^+>B;bzJqs_W{9IP(MR<9jo=gVMG zHh+|2Fk`-$=lf|`(JHk|xidFxbq@x)mI0zQHtOX7Ytm)i3S18!X zJVyCxh)xQBOm0V?(DL}*1cwfYpP`xl1Kx(HX85PW2zhIe9nIc0-58Z};PeXx7F9Du z_X#%sP_V;IA`vU%X|<*;ZUWftl@K`BbU2?4V$`Lzt0 z3IoYRl07XIEGFApKhOU3Za{dmjEwIX0%?~ znaMxwK#_NxY3aONWqa6hF6==*ST1ifeqZZ-ts)N!?Ws%8)3j| z-$SAaG=qY_5H#%}5fZ+?DT#9;Dx2{(kR(QO7AA}^#Zyh6`Wtc)@?2R9u`9IjZWcyq zvXPE6eXcBVB}Uyhi+kF5hbfoXdbqRBQ?ezBuX!)l(uQ+X(ArOK&}%ok-8eTsSoLu{ zRnXDw`Mr!~P5NGqu#*awJ;L!>O`PN2IKz(O?e#hOG*&dQ(&+P(Fge^Qh&&?RT8&@? z1xU>&&$*ufo3qq;kDB+G+XMl|($OM*Lrl$?!m#cM2vt0^T&MgoxHvu?{5wxQ-e8L; z=u!kql+2a~EVr3P!?Jvn9Gc!ihKJYfiDuD6m}JwbPg0$T6&Rh07~%+{YWbNH>m8H- zRx`A-A@s_2>+M^_XJs4vAK;_+eU;%~{~Zz@clykUlUD$p!7?Y^pWJShK_?W@b8hk2 zjJNX2{TVxvG$z`vjALCViZPWPDF2eEEtg>=3xI9)TB)=tX|pUN*&y1nQueT6y3;mq zbv+8MVxEOS?Kkc9igTw{2WCm8XHzzTVO>75*vZiQOrORTSml1$d+>}0wt9xU(?h?< zL`Y>?z{kwuGN2uqsjnpDX>GwJ9YFd^Hku};|J$7=$N?fx4=3S=fY4@J`!{eg-ac!u ztPRz6qbcc3KoVZu-Aa;b*d?$%-?@Rr zROcD~3d1KR$jW;E`+A6+A%RyU9_) zh}YZGSJc+ca+~#;5zgZCu&8FXCi^H7U7RcfemomEx{reyCp#@4P5lwCb^Q}&39B`o z8-*jJn1}am zWsBJR8cie!z9WK=w`fp}&2Ca{K8H>vm%_Fahbz zB4dxPP!NP$7>Uz{T*##yOiq+LM=l~iazt|SrdIhp>dGpt0$ATLFXCPeY(9#eO{NjV`({(471NI|1Fd^eM*>A|{Qgif#~!80v;_K`zo_q{#@KgO33=AsZ-!{K@0SfO z0ifu>l!cyO4#FvN1l+!MVm0x0`gw z;!R>C)%BTBv**j+=_TDcle4l?GoT3ePMb%wK!J75BeLckxPSO?Cugy3_7-e(4%kOI z?A#`}l%!9s0Iw{9_uRg?pO|_nMKxHmT7hN5_i<$@)6=RoiJWZ5#`Yv*LtjPd5nd** zg~M>`<4+^+f+WJxB4U(%4>kP(S`2r?gO+GqP`2j4ZseGibp)DZ0A(`3-6WKQFs#r> z&B$L7pSB2X1@XVdOA1qM>$e?ji1-yIl8_lhx#D4ayZJ5?+C&dQ=B~Tx>UPi!g4YcZ z5mW+Bt^{*c7kf-zJ2tQ$OVr8oK z_F_S@@&_#MS`r8BcGPAgub{^O-Dztos`m5*Q8LlZgVTD}!05o|yQO)&`=@)GH&g-j zbSg(6)~_NYjD}Drj(e*%97dUPkb=$ho)K7^>Rl$~rkfHN4%TC*9E3o@Oy0k;VWx}Q zovlcG1kDp}qv{j9t2NI?)}hn{q;e848O)TRByARBslm(*{)^_e>r^|$Jy3Pl%G>Y( zU+slV5}t?Qrq~nD&&uTd=F4;R$~vRr=*-*z4R!9-EF59QRj|F|c1e-P1Q?OKBzkeG z0^wQlSE{ee2}wtelIV+kM^*8WDzFtgdcu28zBFzh{t)pCnILO*@T}7#3EiQN14dut zlk1?^(O5LbykK&nh037T;ivJ5p3l8IG(w3vzcaQ9FP_Radz4}hp?p?p3rSjW5^&$p znplUpLh?;K81cu%T^lom^9ian6PM90| z3G5xW3X#}Cnapd>Rzk_HmhQvVK4p&Jvu?{GjfHp(MF*@Kc z>-edLs=1;!wbP`e2eL8lkVe0!gaYtp%k#0WHhqa`ti#!6x-4ODOPDe(Md8wKu}Lpi zfyl9f4QxFIZ30#xwx(Mh26LSa$cdT$R%v;tCpAuoIy6?!ypDlWtv_7k;kA{S2B|;% z1tS1xe`JwPLFk1(Z-Hl>)f)<@fygSu?byau&y-ZJn$4z^Bdm_8x0-52R?oS-(AuT< z+fkgre48|sc?aG$WIA6u`)9g>bX`o(=<^QO`>yXiDBMS}#wgr77+J6IY1kcK4VRR? zgITGBXJ(U`ADE47gLApiKA2C1~POU&)6pCC;x+y}W&!^2(ver^TPo2?@>ko3;OOM;=k8oU%AUigkdILt9vP z+XP;k^~S0TIJmRGi47NEm`Y^tO$kA5nnskggD=?OHg#r2FXn}@1VVn(BzP#OyE?X! zD4IjWCxcv)OA@P#nF)FUpBRN>80qiHApcXIM)$@T?!Ps6J7T8)zH|Y(1><+Scq;Xn z<)|7S@2G1-4G*RDmrh*^6!cvPl3JOD_ac@#CdkG%--hT4f>K$)JiVZ^_n>7=(XX-W z_rz~9f2Y7qijBG9YkU`UV>oR2yN3NCup)mX3_%`&8JLs#xD zOBihlA>Sd>EEwUI3^~2g7u93kFv8`uU3hj&s1e7E)v!wcRxZq-rykGt!cnYU!qw;u z&PU^g590}>@|~iJBU-`|&Ww9)5=GhhyKPLLjqT!KlYK?m5Ns=53}I=<&Od^Wx;i~M za0%w>f)4+b$wacNl86@#dc$4R=XO+?l^{1#k~+oO<+0J(YHE~`!~7>m6DFN4Tr=!@ zg%mN7z%;X_c#V*CIrB;kd9N#nu-Bh6Z>^V^SnnglQsY&gV^y&^9ik5_TF4drkPydm z);JR8u+p%BxdR3-P>=gjMnBLM6dz}<*3ML;pL!I+>zt6acO4wVxD?p9n+t4wsngaI zllM{woa5^#T=UfGwd_XNn|onbJ8+&8)%2Kf%8R3)(1)L5Qqo-6JIJc43OlU`$ zoLZ|?glLbL!}mgJ(ef6t(0m>kb9X}+I4d?VtlGz-kUGt<-3{#hBCYo+%Z<$-=jjrW zHKQ@xl6xZrx@hHBJ3H&}a@y6@pq5mT9$td=ENv0qeKuN?=w9auUW`we{;*^0<#XGI z?u+k-yW-nh)B)(?N0i7iFP)9nnm)_WGhb9s&pl6WJ^J1vmqL5K(FJYX170e+S+A>g zExWz{y`d(z!u$2IlZA2U`l^1qbbB$^0kESAB#pdIrf%ytZK*B6vC?MxrK zXI$pK9ilDTCeQy6^_5|9G)=U@U4pw?Ah^2)cL)&NWpP;C-QC?axVyW{;_d_wkl=DR z?{}Yjf9}rgY{f2=}i`@m#SKc3=Y2Lbzc~ooE@p)SSDu31b*Xz z&tzGV=0UMSxlGHOw9@1szMwfop1|NwVyE4}=NIHKvK-Gkr9imdwcCbhs}eICVceGt zl=|~D7oWieWih01ia*p8ugHjum`x1K=jm2g2bv>7HCwy+5_a?ZXTU}*m#R>T5Xg@< z79jWb*>R$=ThH#_3wa{`5r7Gr!T*ZJ@&oSDPhiS1)WjcC!8n_kJx8Uokvgh3>D!GW zti0*57K;z^QK84_;8R9FHqW)l1H}Fnc&}cmuEg+=%2d~1PKo?i@=w0yC@4*=7ril} zp^Qccwn#6JlIg&5Vz1JRRl49WY`CMi9&t4JYXfb36b>lhzbWyL{} z02J1_{D(q!5K9VoR{ZZ-1K-B3CtJykbwk@?DM2NIM#$oM{PkCXua=q9u^ z@FMpM86vKxjI3NffC;YN@#hSTY9i(Xsdp=dPLFOfHR%Ci$i*&PUust#U{c9sE^f1} zv5@Yv{V^=ix0^z)C+Ne|;_HCM-PNwMRgSLn$8w4R?lGLP8G+a5r*pGhj$ibr%rRoJ zRrR#MI|6Q;r!U0^yl50njVO7H1Q9pvM#2Hk-&G0<)v}#SS8aRIXkD0^$3*UPcn`hQ- zIq4y5*!9q128s)DzA2>$`;SbUNw8*dvkm{k~gieSSEHw?Z6rWtk?+<3(xC1~H^y*~w=P z^Gq*y5j-WHL$c*)bArQJ=8B{#Ub%u}`Rn=-U)QyfOn7?HQSB&8j|mt^p_kfv9Z%+E zB2%&17<>m(=Z+@ogFd=k2dPA@z-|b*-A8rcFK+lIsFqeB>kN|v2sCbj7fOSiSbUk@ zU%V$673xQr1UXIrxPp%aY?@>W_2XHx>v)?#nk^3Ui&;pDS)LUZ2$S>pqmL2J-W$s$ zy!ZuN(?*cAd-;k{ zU4idZ(tK4E{g^pfc$n`FB|uH$7t#O#abOMUy&&g_ITsM)pxAj9dLixk=Ov#OR;kxy zD2Py#)1ode*xrM-E$3zvBhJJi@hS3gN7wLfUF?^Vw>;?Q$Wjc!Esf=}pOGdV?h%uv zj)IVGlep9FvM0_hd(X+$E0{$^A;}#X9_-yUN3_c z1ef=2obxJp;twQWcs696fMV?Cp4r@k6BV!vmARdqAVS9CdH>{28eyV+`Xav}#BGef z?d1Q7Q-I$7ol6|Q8Yhj~VqkApapLc{Ay!nRCIcNc_#GG6 zbKt@R5=PC*Se@&0X$ZWKS$hW?Mu%}m<+Y-v#M^2@I2 z|9w&p1nWO(WNn#EV3~*xGJz}~ni#?Jx#qu5)ZzY~j>+JQ&b%Uh9X2UJKdrFkNWpT? z!l*7#9t&Dz=IwXNO+N}qfPW8Mp-APQMl|7X<#YrOf$q#qw6j*L|IL89iD33 zpWQ=N?l(}SD5tTs41S0olI)kAK8iL1-!>up$VA+myl7x~`CI9^oM$^QOWMmjHqIgEeX8Kx-EQ)1|;ntL_O zCaRXSD99`uRIO65cncJ4$E7Q%o_GjiskqFxP&3-t)cWRncxWjU|1Qdg*7a!D$#B_h zeOdZhG9dxS5nr|Cg^d5vW?EULn@6pewG=Pz;KODgWV4DP*3}-K);8oG4&`u|c&{15xB3LJgS_|I(LW;}$o|eyjjCNit)U zOz7tm#Q3|PwiMFUfNpwKV(6?+b|s;#c2p_Ws}v6O%}34+v;74|GS&o1mjx6A_L;Kq zMocQ17`}|JD20>j^*ZLZQ>@SvhQ1UixmTv|G%BGOai@Dfk;SS4UfF(@q%)Lw(nlc* zF~*~PXi@Ug!A*ji?64QfWsYmc6Z2G-&j2Y@(=Ym*$UNq<{@&L6Z)fUi#jx`Y zq1@%|YYocL<8t#6#;c8JLlBps-ID8X%|v+}QAnl4B>t78q>ZHnxzA+~XDLY2L?V`$12}lX#=A3bpTo-x^7L4o9mGoqT#(}K%nWQ5Q%A%I4 z40=rG%gV7qTz-JKk-1_dQ}SFhD$PW>{PDb<_5h;gLNI<;AWw6)B|CAwFK$K(isF?f z#052b=+2b{5Wy=5%vz1n!8sZUNx77p)IC~{n@4NH_)d}pH55vyf@Nb>NivGS(&f$} zYcXjhrO=APLRNg6ogC)wGxelgMk`r0%NP#q_z=~F#1aIK1)Fpp`E1xFc^7V*NzNe) z$ne-;Md0A|Wa|Klo}-_%CAP!R3%jzwbruOV*En567f<=)M687#i?Yq^^n>NC$YFkJ zb1_^^mB4Iw&XboZw*oiK2IN}A?OhMK1+4wN?X&so?k;rA&Ew9bpohHf7iI;0>eIfVU-yf3!~v!TNanbq zmw3<=R?yf0a0HY70Znld`e`CB<1ZA~^~Daezw7k$odaov%DKQ#YeT*ve9CP@YZhx%+4UDu($M)m*t28$G3yNwXF`Ar9 zegY$5rCUY%>bz+8`;C0dL5v*%O;gfI-kY_D)bDyvFBg5f@w&*3D3d)%nRa6e0e^mZ z3<%7OxR{4|jzI4#1(kODoY#1(5qh?Q-(0C})xAO*{i9wVnS(bQ})nc&zZX0XsURjRL*N3^qOR)z2rzJ0rgx}J9Mlm(T5EzPEc#!#b~V>Qm4(}Kt(S?H{7wo+>nl|q23v!;i7{amaTOkPnILXVC2oOy!L6>m2vbK9jCiZ43a5v?PB{ z`Cs4TAT!CiUL-D!ouIiVv&>=FS#SLuF;_gw;kpgUYAAu6`1ZnaofRVTnjO>O;Nr+@ zj#RZH@HKK~yJ_%iI+uTi3C(LSZ}*RcX1UU;E%L@+e*+($TWeqpeqrTZ3MIPExjjhv zUyg_-BF*Vixn?#CkR*j%^Qz?w+!9xE|F&oP+R5BA7_cVfc8X7f)-(8$^62aDj5pf+ zU8PV#8$uS5*)KD{+rF!aD2*|`_k;t9FYkpx0JPs3ZSCiF(%%au$gCm~Dcxl}9NFOc z*9uMpW}(dya}5c1KN0maCWit{j)-{%SsmjB(2Tu?NPZ_tm3|C?_*{)xpCO8c&o+SECbn=C_>sc9w;a9 zVgWVAoa|0ElYJquh7wpBIxEn4!;b4arbn>C0wp4s>?1VhHG03*5R#>C=mLn47%e_|?}*DkJrT4x;sPmZjWG~H!PVyQb_R%2143?Rg7eyZa*<+$ zQAn7jnyOJQd5L}Zt#;`U$WLr6q1OE)`-o6~#gn3@W-rbKw~^Qi5+XvHF)vw{HXf0! zDe9z!@OUi1H-1e#p&Hxu97DD6zt@Jrrz%(sb;GcTCj8yizT!R7Bt65TrbzDD=I1^D-W-AxCVWi44JQtTrW|k(oSvH8t`utshQE< zY$uoBZpSAk63><@vz%HBI=?5n(8F<^U`+y)dNcY5gOyVW5!%#>ZkdI^1pSLl`)X9z@l*!&)00Q2$iu}r zoYt}2<$808%Xv#_O;e+)wKK+EuAo=3Oj7AWl@@yji&58gyO#2(gt7fvL&{>6mKu#x z##aED&D2bSYc51ov4GdTy!e8k=l#H^`uVaHzUJ%KS8sflT|=#Qr;sYG#t~$H@0o@= z8>(Ni#QZ6IGL1ybRsC#yle%oG7c!j2DC;<}ViKB0iL~R%>$N)E#YCzO_+e^-ZbWtn zCxWf2<8IjxgE6CSTWO5kla_CVT1@X(wLvT-AO}<;`N8dnG&qo>@X1TIOZm1go3X;x z2K=4eu}Hw937TU!jO}Q#XFm;ic;T9k?;$&pOh09nAGuPqtJ6kh*JGZl6R;+h`C+kU zbXY;l#pp6<{5Qbe0v+B5Wugs*y*R%9?Z~r8JAT*lxf!T+&r*H%syoyxbb;TK&#F z$+_uDVg2Gjww9Xl1)F78qf)ziQ9ALcl?MM^Ka;?F@kDKrF(^Ta&QZ4X1y(V|jA<)E z4X{$@eJG`xJ;MnRf3`;^G!xk(9#oB@rsI=7d0QX@gvDxbi-qE%N6p@HbRCWY@WWkv zw>k^IJ4j?4Ndckmav_YI&{SV+c~!7v^(iRvD+_Hi%Q&@|jRoCHIY$FVATT&9(IS5bl8JPkm<0%*1g+H(-|5S;-4pgr^-r5MajRL=irQ~?jhobleF-VHiHKYG zHb2%#67oxo7JPEw|6cWDJRK)7f$8A4oo6OERAF!G6Gh3+M^T;;I0FJopXeap(OGgi zP0d~h{z6*hFUu7&Y3#rPE{1NPd-t6ORe0VU7Q15DoaRf#kfQku^hl>sGz>4Vca5!P z(!Ma>qlgkogWW|v36+@7IH9tz>PNkp`P8G-`g216LW?mP>Gc7xOmu-Fyj!bJ~CDD{{eym^6?F7wom)LrY%&|PhfXlLq!EEGKJ z>oOh*g2WGo8Z`WfpXbr$j@Jw&=DRION!upy zc_E<_^!m%Dxl*$g-ExVn`$#G4T?+u2tG3z+-tpIJ&n0K1NwLpxJe(~x9;1{(vZE~& zF?MNQ3(>?0`89wyf;!< ztgVF5Q5?VIJP8e9HQnqngCK2=xw(A-`yJzsS*~?r5~Shvx3zDW{qS_}Q7j->JdHoM zQ~LHqhT)1wV6ud8lY`x=PY{ci;#ra1xkMd@2Gy#zQnPj-aMx4Zse)|JoNW1cS_hA9 z3oFA7d$^c=V2hDyxW7(0PkuMoTfC>sO zA-Q7zeXMGEIHbip0xU-0ctu)u!RU;63vxy@PrtC{4S z8M_f(WrQpsBJo%p4c}8PK3}R|IEP>32|JJ2p;9+AMv`iqK32T0Eh2Ihd9`-Gt@rrg z8@MVfR8!k0OJ-l0G2*sgZpJ!9UnYmYWgGrjylCU#v`l2a9AGe_-!&$eNqVSa$Oew= z)w9xO@!U5Y+9GT+k${8bV*HnG;VS%Kp-GnlR#21Zj`?~C5>VTSu#ugVHrMN6pGqcO zr#z?3|96HIAi?D8pVIQSwKXNldLR!}S>`76ZrAk_5l$TSmPx6fw_U487V4+H6RqiY zCe*sC6uVNX%Q5`C2LU+jOC*V-$sb(A4_@BpGn4turIfkTaW1B`z|={D47|K69o@ff z!VhVZU*V+$QUh%DaS8rt>~=wBDbN_>(z>-N8sq}Fw6g=*wN%NO8S0Fz1i4}y=ItqF zzLpUZb8h?9c^vK1;IrkPq)|GkB|0_^?lc+2L7ir`br}w<#(MKD*HB=l_P-%HEfn=w zqyY$CYae#IU4F<@i9guxuWg!|T^byALfN^3_b4TOzp7z?srxd>$!0Y+qL5{}wa!U) z&e&kLMQ}hNl_YtG!x*z{)4aDtHrVXm*D;Fs$NlXFfHOp+vzsvBJpgG#&q> zN)aqVFNgBR$*?Fpx*kkBV7MKjj4F$1KZbq;-*19G+79~&(fb_$ryGu(PR3-1^XTT& z@@iloR~@@Pu6t2R&<)S;)CIRyX5_Ye%JU<9cG*a3$?b6<;u=%US*H-lNeG!!gwHoQ zm&&>KaE_{~n-YQQAVUTC@=Z24WE=V?<<^rYht0kGP@7h}RY~6`1b;V^(!&r1ulN(S z56*h%BASIDiW@wBjf2qwY36M_FsadipMDo1%TIjZQP0 z?Et&3588v%!yIa}T9Q3bS827=yN1Q^=9_tBvz^zpMn6+j$s`(uTcgoez*!x8T;heA z3i+=z(VsBCnJ?F{P#;h#2^50VdJ$INC#q{SO&UMRq-^N=Wi{%1?js{2-YUxT`;9!n zwi>xD9XYI?Na^qj7RSU{c)!}85fJ4XsA)UAe7)3{PRasju_Pf^K*T`oZNLy(9b~WD ziRypArO{h4PCD`=FdMAGd3X~0sJ9jc>2H@s^rxLzME46`{qDes68__6w)^KXq+aew z8JXfzbPmX(!1d%f*KgPq!|)Q-DoxLKV)nRzcz(r{bmWxU>3Sq<9)DW`@v&mtH&YzY z1!kW59*3;Li6CZi7X|JW64}i9Cr~Y{sbt;AZmE8}v~yPeUDt}`7eYfW>M@jA-uaq% z-NwzsYM#C@fNE#pf`6f;0da&fjh3u%0JQzdTkgX%tC3H!_zQPdpIf0JM#8mp>7W z^xE&OV-g9tJ!*#{`?$+sM&v_zTA#7(C4R)@aO#}zONvvOelQz)=nciIpDTE86<*g(a{kN|9QmT zJ3s;Pz9*}zIx6R`r?<`94i3i8gBJ{&-2jQ~cMtB4O))0SsL}v?c_a|))(e)wW+|W_ zzr5Um8~3{+uue7hfe5)#kVw;nh@k0{Hg(R%nxnf4yHUQR$u&0hRCeZV;c@q(cPN9* z*}gJ`RoPV9F@oRI?WV;JZCSon-f}@r)hC&nL&+ct4K^*I)X8kCu&&I3DOSu4&zvkw zo*Y;G)B{_=@+Dr7W#|_kv}k&(pdhw-FdLW51c|UWoDc+f!WSqeDH~82*^dT&Bys8c z-oN-}DVXJUIyB-KI$L^Vczh?#mXp9^ zte^LG_koEgzYL1Q&FVU*e!&1+st%|9w>-Qoz>M#Z5AY4l|Ix8S4;bd{njIRk1Z6Jn zwrAh+!Y^d<@ubvVHGjEtz&lw-Za$Z{Y(M4?=x_W@3Kax_w!-}l9&=(Cjw4xMHSeS^ ztB_{qjQTVrvsUX+gej~)&V?L@&|}2D&M2A&gQOr6F{>fYz$mK#PQ=afpsP(=DGQi? zB#cUvWkWDL3{DFHQ@X)oWIv%5j5iQIj@kJZ(-i717jk89DF9}M3GyPTe^Pe`ay08X z?d%vnw-R5>U19%ri07(2C9`7cDV}qWhLOtcG{hmyV7}e;n0dc-@w1C^HG6JZ4jdh& z1#-J@zU%fkz5sSKc~b}9H}P+BTnsZFTe~*_?ygoIpuSnN-|na1;b?2xU&jagMGyXo zC;MdR>VY(04{Ej?D{9Ff3L0@3GkH5096v0RR*Jj(*@vm zy)-U*`?dOhG)<1RV<^Mn<`Q^vf^h-|we>zTu2koh@ z%X+u_h91>SX}~cR&ZuB9184G(%93RF8d_k-JKeChiVIMciumX++AE3w(r!u}+Xhhh zx1)*(x^N%vZD9y|0iVg{jdnPxoU7HSK1IVe&oNH^+76Y3x zPSd-oLc*rcPHG1qNVMrFLnoblD+=6jb+{8~Pzns`EV2HVIX&CitQVRzMJ=FHmpEkp zs+cE%1@~;%V-w%q1q=YusY20eX|98|{(nZDqC{sEZ49L{@q5qhx@PsdXza?I)$gyW zhuATbgF*mtuRg6Y&>B+#p6hW+w33S3V=}XJ1coFnJZJmQW-eEHyp7bj3`pFLCY{~a zGrW@EuR$M~nY@!mANNNgL>@a=cBTjdfJ^p+)i#pp&Bl%RS-|D7`@jiDW1Daz_T54e z%y+P>VMvhCL+fQ@ED%p$1vAaO4Ev1cN>*xHIeuPz02?>I2|c_6g>NwsG@yb*g&&o- zfr!l>^G^XhLJDA`{B;Y{xUBI{j{|QJ3ZHN+Drs+|d8I!i1nYy~&>{pm|5#^RZ!>q_ z^hIMWu`$v46bZbc7yRq`2!Cpem!wy`U&(!iR_HAeCOdAE0;FNiq|A6(4uFdP)I>T# z=&#J{nD3F3Ddg63Gexkroa$ao-LNa!|AxH>-NAZZF-c10#E9P-A48O17#1*1VCSTP zDdmk2m-??&vZw(fhc?qh-d8UywRvb#tBEkwme%&JB#D#dg3Y4fq8h1!DQ;X zPY{bZfJS)lwq8-BK50mSnAQVZ#270;GzeDK?#fP$&rjfdvFa_M)#GGQO^I*05g}rQft5rDpQJ6ac}zZzhPyB6!f}J_WXN>-N4U3zMk01 zSORpc2Xn!y0eM(TGBT{Nm*3wxdc8heH%*9kj(ozdt^OUP1CFl0<38~w;^LwpIhLm> zjdu#YQ}1{(Zy$JJk1cqw?F?I7Mg45M%jJsxPbG@<_k;ebnP{-JdFpNcv@$*#!eKdi zrBQT0dOzdE_5bb?F+|BcB#hR46XYgnQt#gqwk@1_N!?Np(r^SjIM`8mAeX!L4izgI zH!M=E-yCZUm{F~VTszl8I$o&V>pB0`q@#n3i1T+*as`$FS?5kkyYr-S2q{idZ7m8T z&`Oq-|8wwP6ov>Z9+2fPzoHABkUcYVdf63Z_Ggfbbf^^+{<~vH#9!c)#^QmO`19wc z7qc>rOMyH}*4;(z|LNs|(2+pcCiaJXf~MZWXVA|gO=<<1e?Nqf@Q25W%E#sdTj<|Z zN(65)>^NjyCi*wp*%W;y92E6DU?E1Wf8OffuF-Kyk&hE;A@f3Ly<6L2-v6Gi{I3jN z6iil6F}O4TZpjB<#Ir^PkC?LJ=kP^rErgD2#8?d-@IT0s1hCx%F+EuU{$2jp`=6qf z$p333xbmLpsO6w#{XfgSe^w@Rer+vS{?{%HtN>}-Ic%@LXD)e|gna67>rVp~GuETA z#7^@PxYTq_+SRwQeGO)lhdnP>NiOHhG7ncA+l zu|!||-k-`|Z$?RP58{Log>gL3t6OD{CQ?ewCR2~MtZUjwvTc@oe7x=+TvqgG*)3+0 zgV2O{YV!4ayxTW@9=1xSY&TlAYA?Vm_(ZSkZq04K4$;yD9-Dy6)*-$P&1IJ

>D2fdHM)RXqxTE+nfSCcT2QG1`;PPln4l}L0JE5h z`0VECUc~&a94LC<-Jeg(%wFy-S zHW6p9+BPf-0acMyTxt+1pEQ_$HW9kd$jh@otGC_YqO85J871}WB6pbhl1xrnmPD(R zx>Ttt2k!IXeiU$WEY%{ghgG8i=_K|sNd*|u)c#0lI=7g){;K4k0qz5P|K*5(AA z{FoI-<^2XWggV_e0&O-~@9S+8{#bY;3LJ@h{_D$iZ(?dHO%|6eTdRG?DUHW|1noW| zrOxUgD!=^MVugw6h!yDG?P2dV8J{+RJtn`!>fNhg`vtr;k9>cwDDf!23$7dyNW+a9%1ZwE{@41OK&*Nz}z535|MbQ`q zacA^h+VGzm)$}L?9PveQLhDqrTKhgx?0)7J7KCi$Q&SviTkDge!264}<8A~@8fi(% zP-UQLzU!DsVPtFHbCT|6LksXkQGA95B{&K4qDPU*TrMWZ`@OT{Zzv^`?3KXpc5wPbuj)*fR1WZVD!9L()rUqYk-6l?6$$p-&G7elf$O#IgpqiT89pt@F+b(DgAUnyKBm}bhZy8Pr|=(h{t87QBycjP zbj)*Zy96avJ!XF@*b^7h#Znu|-P(~`8zUgq9c zr_;rXqzU z7+p&2<_?ZMG1Kuan#Oft4K3e;+6uaIdj4JB%->0jH=lPLf0YExVa^jHga&neC%DbXv5%_c<+ej){qIA6FDlN)J^J%tH;`=>JC4u=r z2jCz#D)5lT)NI3jd=shDb`*;gSo#(h!{PJnZ15(%Ok^t)z341cbpefhcQVV3GL3EO zipYSMt?l#ncg0-$X)la)0(?YWNRd!ksrLxBrYn~#iIpf8k<~9O`q*1tt(E}d6aWw+ z{AizIY)R9=_QE~@vN>c{_+#^M8r#ldmjWK{6XMStHqgB!=5&^Q&llbF3?9eAFSN~` zou4K+UIFYwL4Q52yC3cuP%kgKdJX#_ci4@krcZi5-fG9gg3xwO5IY;U_Yi*wjJCF^ z#+Hx2?R>oDY0Wj7nw(2+Fu=`G#tEp#@?Y@))|)Ckz&tpABa;Xb@7&$H3~i1neC9bp z@|HWwP^ix!J}S@dr#o8QpSJn?{XN!jMQH}UYnHPYP(#V3NHfX??t3u3%F6evX<^9t z7-`DXT_~B=Vknth42fmbMi`WYv6Y8S+6R<&XzJTqtHiZtJW#$tS4>ZeRWZd=p9X9*6s+0xTxH6ZJo z#B>5+sPQcWDI`0^7d+oeXY9LfLQl*7q5=LC-%dH!=%vFAs6JbciWQPO>2Z#SUJDM z$9-jxc^Rryib7dG(7Cs-=L&-6e?BF(IpPdRNKTO57 zHezgbxUjqIjmg~>t_1{-&!^=0f3vb(B+8J{c1;*TfP|S;*p#rH+UrzQh>VhS?mpnh zVnW4h64o|QOzZ%P4sCtX>u_e({!%u+IE4QTLpml6QjV?ZZ^=1nv*mJBX-w;m?*=lH zciK%jlsHx1;@-;zk9<-P_B4ML8gnA&b-kimsXPLW9Ku63mtTt@w-R^*A<6bZ{)9-^ z>m`2O4XOJs#2vUCB-bOM@&STCCh&FX>GvQS_tGvT9UNCCn#@?swG++AgJlB{)_CwG zdugG|9Aut%EWeidx{pv~nZjuYziu_|+)Rm|n0z6){=~yc>&WKdIWzLNO!SUdrlT#O z6xC{xBQIV65Jn>4UN;|F&dX|mQMOd~dL(WeBxZRzN9y-l|Jkzac=&VdT45uivJ@-}$@Z|D4K;OF)8Rm+G}FY2x&>u2LAacZnN*hi3=1_NU(!wkAHTAt&qJ zW52I$#UyDxIvvPG!&e8FI2;3chC?+Ck>0m#2sqj?k z4D}EHQF5T8*qSIFGTRkNk$Jo2JVhhfSPT>L;%){U?%A)cekaF*M5NTFC8yCJbt3jC zH5zIg79`HJPOunU<9VhNTQQrriXRrwA*y%BpHz}7g0xvD#RHE^vDPO%BG>UPvg`An zLV9MLP4-2;L6$L)!jaG5v?Gg@BIQaj1My ztb>XG!Y_A8ntKFwgCf8Im`yLQjm#WMGwt-7(q&?nL3Za^I!-rJ`P)KL5S8R*?g@Hu zp(s!d9w9#1PO~@X=m?T{e1W7-oYWqJeQT>tdHnYFD+X+8z?IBb;d2WpA9-HG8xl7h zr+g3a>oMkDp3Rj+b?|`v^veK55FQ8^{NylKl-H^k5f{4(ppO)J5+PG1beUjeq=MZ{Cs^23-wBe+IEAD)^|X zAG5lH`;AZOXNf0j`hqfEz?7Z`+dkb#u2iJ@DH-}HMFEEMX;ad%su(<#-tFg}`XOcy zsuX2Z$84Kp#V_tJ**rBOuefh>;%F)VkoimHw(Q&uGt^NB?8*m+=FhS{2G9`!%ty)& zBFghq5fW)cK1&J{xcMbft;ePRVa74|Z&v%t%(3wW%i;fZ4@?dJ|LaHa0ftgei{IB^r)zVIh;(AHac-P%Y`znQGTB4KfU=&;mW@O3 zqC!P1w&2*}M+mmUCXZb?cUgEMkSS4ReYa91blv4^NIsMr!e*i z^Y{yrB4aM8cepdU^d=62{&aTZp<$zmFKf81`g*};I*-`A^4BLT3p!iY=)6};UqcJj zkfA4HSzm`V;jMr?r~|3!oPc0&Fm6KZO~YqUyLbd-{7Pw}qmDI@vYIcH_``;js5*ej zAx!IXJ5Gz_2YwP~JG~ozLfe|-TgJG19`Oc#HtjIB#NiR@7+z(a@cXV~QwcT&r{hpp z7IAOU36+JSI{fcHr=aO%3C@%SjOL-4FcJtV0D}$~?uFM5*x9bh>{DH}15cip8ZZg# zAIpj1lv>a{216HgD+>iAoGz^8F`F=@tyrsUv{n=L#j%=`=f(VkgcPijx%r7{WOU+? zGo@|lrca%k&NN9tj<=zWZ?XhY!9sOA2*qBJS_^$v&yk-#J4_Jcl5o;NmPCliThEms z1Rs~cLyL=Wr$dWN=SdNQGx04cf1ZB%w?AN4LPVG#YqwCO^F&GbEqS+j@$3s^M1+Xg zMm`kh+E@bR(N*VlDgada6vJk{{IxM*_%ahWj)KK(0_*AZZuX%5m$v!8NP`~G#^HE) ze4NRSBlNfn)w^`k6xa###J(*qD;r5tgJ}^n7DF%KnQuOwX|5&@e({_2`9s`-VRL%s zSM8>;HvKK&te~&;h}%D4-2Qx4sj$ILtiOo|Dp#T0*^v*Dg~w&fK~t|WLSogz{$-a=GWT|op51%U z4dDAJlv2mKK;PcpQgL!FW$QjXpVv-CG564^|NNdXh$g(5Ub)@`ptQ(#41Im*{n)Cd z|1+xJ>)YLRzi#cc7lJ#nVc%=(`|$^)WCqTA8i+vyFUxb=AHY_Uy*r+!78W)Dr!>)M z>U)%QfpOw-M)y1TDKH^Xj%%8^KKEL^j$3~{z)-4KqgvZ(({U8R?b-@HTBN;Mv~eGt z1eFNpKQzJo0%k+>oayfghT5^p+8%mL8u{PdQh6)?(3fx{{F_1V%T=e?Df<=oj`sog zP7c3Y=4C$;F4JbM{9?ZE%Vn$B19(}fq(-9uk4~BMtV{9*N8(aU{=wU$$?3PMsw%Mu zw~JMB1Miy<0q~u-V8&;BxmqXaxZpE|xWC0G;PGIPr=swiv-n8w`*S5ZXq3cjit7FS zIX)Jx2D6&k4Ye#&XvX_8SC6sG}AA}K-i zuid@4c{ka)KM;==V5ed0PHe%M09%&$1<+Qsi#V1P1$B4bVE5VVl0`9ID3%G;%?T)0 zFw$)_kGa0zAC5v1RRcQ0xu)M7j1pdsh$)I!2UjnPpICC`#u5$Tp@B8Tiwh z!$V0q*u)N{fatdEQ8r)mg%EkM{K<<9L<}nCI!EPV&QjzV&gBJ`R_S#vBNKuBw60dT z4fOlrl!oMeNNBfKelMAPvF$6V&wNFA-3Kr8wn?5z_BTXFz`h}rGTj%Be;fdLrybJz{Jp!s2auSh!MxbCV^o@+YsP8t;y#bpoU#+VL!X(>hKN>)Q=hBLdJf>utaE;O zs?TCY&n*X>o61==pruA~IkN|wNk@md7{5lls`LuucPy5vXKC)d%(?kG7@@@ed2&)T zpy8^EM_Sj99dRf>Dg~yuSbh&xbPUb)<)+ zL}1cp>bz!^Vp``KhEeRzUs=dx-$*ZW)IuZbiWrrdX4ve$=vo$B#s&lpswoMo(?x)j zpYUw?2+YI59z3}#ZtM!H*vjiL=Uh}^ik?3;hc(=CINa-D12G%K^Zcs_$xIgIxw>_m zjV844qE8|vxj|C(WY_+#N%+fy1k8HXKgJF7C|OOBRe0;1@2hYM`2>~)V8`#Ho3%jM z8fAEdSRt9$q%={2_LGj(J?=KcG~*^X?{9NGKj)L4^Snf2Zm!)FF7nm#V1f+y* z7A~$%ImF!kh)5?XCxSJYsZ0;!bo`Vr)1OIOt_~8yqjM;>&|WT`Lj4AWir9w5;FR)N z52;W9rxXp8n(Jo|D?B7;24PS31M;hx`6(}V7u{QI)-ZlX1G-o~lVvQ`=xt1e(#Z)_ zh1vE2i*mwPShZ$yGdZozrPl=w!!p6A&^L@f@TwKD^;s{LtB9GAE7ySwr|>@>r5Ri` zCT%=O&&lTnA@!;P!N`{&v9wT(&;tNRZ}yelEFIU6HnbjZq8ep=3olLIvqFpPAP`SV z%OamfhP>!4&UAV{ZKYHp%lk@(O9){t6YnwUn{JsRv3T~MS{mL)DAf%n`rkx9tSYD! z5!rSeU2*J03VhPn`8ZDs#KSUA<{M7xXQ+&IG~Z3Pc%@a+dC>uM_|R1-ne3&CIeZx* zg7lx8K6V^OiC@e-!M>NlnX;eTU=C+-Jg7x+6pqVj04PIN9#X~J~*VXR&x0cj8U>boLc8kNNa7eda&7?^>#Z}MxM%u!=HjZ(1x z-1=12w2@5k#yU!*w!W5X;rb@<3nC0&&2oV3mkGVd&hZ~3VEJM>U0I`6-*)rUDbyK))wpJ z8b-6>F@Sj@N*I@S;uG%kD-1oK_h`pU{dFfcBr5F3gWrdRE9ttuw^PE*jP94bO;MSZ zg!i4R zc-e4vz`c+|$?8R0lcKG-D7Fh^EY(CtDBPp<7F+8kYgY`uP7v4BG_>xc18gR&^fuP_ zvWj3PkFIi~V2pBd(Ciu$2j9-#vcWSokUXLCKzH%L7;Zc{XYLv3R3Apbb7{*}M`AJ> z%ene{-;mv5S0sr94kptX&pnPE`h0V?slp7X+~6oyA>|QgB8(_!;{lT>7lrwP2xr>C zfm(KeZ>Tkq1SM#Mkr* zob+}y^PFTPI-bX|f3#ye-%IQF)HN)$K(H__M~BC|?dEwT86GPG7N^4KYBaSkhx3*8 z33x4CY!#Xar*4dqY|8g01{6h3?j<`~FJqoJLcSMxXZ(P(5-9fs2~G6I#z$J=@MQ?! zkASP+esxd=!9rPw@~ZG>)wwVPa0YFFCNnZT4U*{57_(yHq$^8_oh{Y zo{B0=m!|JlK*xK(Yi&}D7BeBC-(8CeV>jW~Qw*a09>`Yr#%OQ%@CL4m9XxP*b&cvp z3cWM3Sbl(m>z8sqzrpfn6X|ST4ACdL!pMmhZ2W6O>j|@f_65Bm+_loAWYacYU9NTU z{1_@=#BlXEj=6_-cvf{-A8O+7TEGcIc!#GKzV%Ap+AZ7rE`0C0Boj1RwtiH<83)X&xL$L@sWj}?j7OqFF-GVrXNeG6nQe=XjH$&3+Wy*SQcErhdMHQYL?6qQR zYUdCYC(0QkpA`7xU^^8knq{L5$|rIVzJ0%N3PW@WRI804V7||HB{334v}+d2QLr&L7Zas+?n ziIy&8KFfm|dFyiO#q()`(4hH!}56k>?qQqKFIpsiN1IqcE*tAOWz zhv@BW&TuQtZ_Ve5*32{><8q@q9j^WcR&#uWx2}zRd6~RILjA@JyynXn=?qqi&E7YO6M)w<=i(c_gpVUvQCt)GkzY=i~ zis3SGPf{G}|7d*vGBJIE`4e0(Mn;~4@A6&5s%}a`Wc5S_$9|NF>zxt+HCUFAg@s`R z9UZvQqwQcp24*wdFWMf0MuZRlV}_g_iYf#c7*$9`At4zQB)7m41car6-7{C$n&PDD zzgCECns|m)e{$|;R#?_FX=R%K*-!LV@BN%MVB7LDHR4>hkp7S3mNk8H6E3^84{U39QoikTI`JRfiAH`LV&A(>97)uPyg5Mr?kw8a=j57g ze(?zFZT1`NEtlab$-KhSe%ZNjHC40mntA^95qRJ7E5?;fz}y_eAXF~Z#pGdX(%_HwEv~x&VL;m zRZ=+Fod5;3qaNtvAt3z@hVx+)TB5XIAk&vmdj72!z$I8Wm?xRhEpV!dNU3U5n&#O; zIhybO4PKJyz6t6g{ha~80!(h~oEhxx{mZplw3ZqxHNLB^!-(G6YbX*6m1jzuM@48= z*MIt*%f@+ti>Bb-YT$EE6)amSp$d~1Ez&G#cXcY9yD?Wm{yF!@3w%L~`6TsX$`;vZ zp4j!$K^*F(xZ~D}5Qa9}%=~=ePYzISy~x48Y<8M%un;cdQ)4aoXQ%E@c4rrI zp+O0i$%-3XwOSE_6l16PI9YFludK*B6wfg{)Oxbooh-wboW|ZpZhz73?}3>v_s~|W z{Vr(?Tp_3*o{P?>`O$|@+*c`XSKYIlPg|a`?;S?c;)az}nLop9#^sRYdE+c?F_5-5 zj7P_I*(-i1(btlU=zS(N;>SK!VGpDJ*azy_G|6!w{?eYV{v}oyV|$Y-edlkMJd#8v zmwme$l(L(TV|ktTDNAbWM;*#$C~O>Y3M)-{xnd=w*U5s3c|51vfgaq97k4L(`@acx z7blDDrXtg6U8JO66-Y6PG@o~>V#Xj7Ux!&KHFg}rPf*}lLFvyCj6D~bXp!xykmbD{II;N{j`hFC?GE#dTBo|$Okf__ zz;+$>!uELR&$d+>Xtu@)zx8*v-6?x|4!Po*;rA=X8gY^DO|{ z>)6xv#o7p`(~`yXj_`NY68+C$s8bt%vD@I;KWoX%&hw`Dn}X$^Z4G8Tt=8V0kF}cT zj68G%D*p;JyV!Z&`5tv`_FThM)79EEz{CGX`1yXtwa@lUz6t3Ut5x%tV4~+!(F%FJ zhxU)6K00lPfn(|iSDU!Cv_l>^^!$gnYa_F}-umMTy4djn)_T=5@%g4{7V#zr8x7I@ zgY6+;xC>QgpPpo+G2!*$(Z5Z!7pQaw2Fckegc<+wCk72 z!KLCT&G)a3L1hR1FX;8H!>&YJ(l*{I*KXWe|3xjuTf-oYVf z*Ky(oz7rpK^dXZ9UUgs}@@-sUJ^m5*maR`kzGX9v0jb2$^Y#?h{i~46{;#_cFkmWF z0HkADrJqaB_s?ojzqLFkvfo}(DER!r88oN?A+7Oh*xlRy5;)&MiDn@fLWMWx?eJx| zUkAb84S7yiUT&9EnxBTNGRZUJPN=L2me@@2tv(%jfiL2%oNlT!Bf$O}XNjp!e>2yI zW2M|;491T1Xd?}9?340|??4KYPb}m6bf9D}N);wp{B{#|q=CoyW%OirKJJ9^S3QQJ z4t_0D0&EVe18LdVqOpBu?yJC?D2L&*%k5B>HZ%Ct$LA1=&l#7=DDBk&xZua-r3MJkjq?>xQR9J5*?n#LC?>1hLXJseG zbt2lO=uw{RjVwJ3Xkg>dL~qZVs`kV(~nqw*q&Sskra=)NB+j@4UI1Ttr2SgT7UW2_?9pQa)!G~2%N%HxMcRhiCxDKN zHzmAESQ4~PmRJ2)yxqxAGBinjO2Ut1DxIjO!d_BiI(I||dsO7XrW^Ud$qOAg(Oz?~ z_ec(3^GyX(`5OZ&e>{C(YFszAG7+}r{AO2we&}ViiKnUc8b_(Pj>Q@L5!g6@%Do;O z^t<0oKguG~%)ViM$EAYX=M+tfY#N34_347OdFvG3^tY^Vs8se?a(4*PSA+9p$<_Fs zuk6%v3CR|hdpzP}@&<_oHIa^n^F=-iNje$MGv%e1Qb!K;FW4Z>MG3UTxtQ~2c1?*kSZC2O;g}Zr3&xc6&fja4*H2>0qy0yuKRju*Y16~IJ1=2r^WX2i&ki)y!(fd%lc&n~NOlHdxqYndR?v)l4{LP44x`^8GR?L&)V&a)TRjA5 zOef8F7uJ15*C$JVm%AhJdRZamN>{qzGi7*%y(erqLKZIUr55G6utnwc>&9tg6A`AE0lc(Pwe&Sv}wQu2{Z%jhVvS}pv=j3)L=eK zzFklI`$B;}*n=)esVM9~HS*@ODZ%M1-x+6f1AI2MY(M@}vn+A*7A*L*nV{fBqVfZ? zoM)xQbU@`!a6d^L&aW(TXtW=#Sp##S_M4e|+uKpIy_$4Tup0Q|UZ&{OWen&U-y?PJ z!_DT5Q*@Uy83Laek27^yKz2R{X1uKy(Dp*m+bTR9p!DHw>GC4k-FcOc{?v=R{Nf`M zMd`C4kkcO~;6jHl=}y*MihUKYsbT$yJd3axs8enSTOvz4rvC_(Z=D| z$|mnWHQ)N{m@Uu|2XGo~xs*gpa1mVRE0V<5jyHXVLwi(y!QYq^vuN}A<FlXlo6E$sc&7*vspyxU-O8HV%s5YZ(qwGu)s(R&U98$7iR#GkQ_Ah&z8u1D994#ZoVVE| zgHqJNVTCYyS=#)Pht{@}2ENa(5ed@a%2Nm{4rLaOe>WL!Zd)|%1>Rm7{hs&(VAQnD z@@C#uow~K0w9e$R)S^h4dAd<|xQ0$QZP1O8S6YB#iOJ2>F9z6{8{u!H;L?BTB|+jk zt-MNbGBwoBL%hZh#JXK9L716UW)Dqknb1hTG#<=WZ<7YMn?ICCPB^u&vjKEaX5WEE zK6n8JS+)8NUs5X{tized<6;(EH3(dc8|}O26jo0#8?5S$(SY_W6`L5hkk44*&Q%BG z21@Ux5Z{&!!b$n=eXC=!tF+XS+E?!Hdl7r~n?J_T=Hn=#vguYmqh%I~VezbV+E z?z!tx%Bc+^3Zy z18xNzJq%1+nTL=-4pDm`xRqPX-hS^Y z{LYWf!Y%CUu}OdLDy|5Anhe>lrje4qREt%#6V^W^sFziFG$7|T;FwYU5rKBG-E%wq zU1zM9q-=ZYaXkk4)K`YsWB*&6OK*%L%oo(f@->t(z{ikyON~LOk%^7%B`+D?ju(d6f(MR#{Mo2V?iaT@Wb^r<>MNs}^c(&I5?nfaE(K|218z)ZmW)N(&rtZT%J>9}bWxHS3Xw5r) zMi}@$EmBDK!YE*DQYS zb3BPV3oi<-$8Lot8>Gw>`rO8;xi@|JdC^9N^*nQ*_PShrwGzPrcH;$!QxcC#KX z#vuNNkbx2w`-F~tF12y3rm3~~#{QMX#N;E- zIAz!D=0NU~@=JsMye7S-W@ix@sQO}csx?RkYE6eV;9~w9*H8ZIRr!n4D+y)2+Wp~A zacRdI)^J4?({3rnfk9#&= z;DsgSKX{IX2%R5ptZ|Fc1~QzWwWp=>3%5Pg>;cfg?K_$m+7CzDxvL}V&`Ww6`!5yT z!Z-y551Q`~(BIaJhJ+;d!9gvqUDxO8+ar4Lth^u!5*`i;r@MFIcEwPm>#x2Qc7K#3 zM3*~Hfpc=(@pSm&5yl!kV5yiPG(XhYy2j@2)8<~ar$0(TRWJE@WiUZxmqRB)02Wul0@=4nzWLEeQ`CNJY26~zyzP|7@on~6vVCF zfYQ1l1cKkV7V>GzV9R-TS{b{+El82bfHe>!n-$Y1Yml(lu}DRs-}3IE`StHq6@jU3 zJ;$K+*Bk-o>rk>}f1P$IFF}QeY>pM>Lc)Xt{rJ~vZXr7Oc>`t*gXa{&*X)p;eFaW0 zE6+noLL^g9b8+xPYMFSqA_W~(F1f>kQ3xoL&-EMpt&V5i^J;r~vN>0uBXL#|?CCrT&8tv8@5U!yr<#x|lgHh!SswEC>E3xs`ez31Ww8Bh4X+j7(0N za{7l`#h`|AwAuV~KV#p1js4_opYZzF@fxpV*DN9QG*LS({~v-d)K5eg^9m5uY~L)~ zCok4oAZvhFe%%=#tao(CW$;X5xD||Tgicgx!vh&)phz;F$911Q)B`XV12sHfE~01-cgSaSsPKW+zL`8VC~ zrtdWG-DH-Ch(TmbW(QM0cHgrDw!UP~(`KpNu}m9%s*-2|ZUv#2yDc%0^7|tB^mWu) zBbcaeuao+DN){IMezjdB&U=U*NxI}u(N>cl!u8(#l&33lAP1diSZ70Jm6 zKubbX+v|0;KM8oqurG-!0ZGAWaxb8`iR|+jqAMBz^aIR*VmtH0y z=uBJBgF+g|;6iPDydaJ8M3y|kty!|3`LEtPKo&H-P;IiK;6;8|oF5eju~=z0e4&FV zj|S7zT01(s$k^Fc^}Ws|-p=i|<8xZ4h~|Rgsi$&8p)Z$YS=uS;veBOu9?-S0BM8mQW>DfYwbUlw5==>dCaxm7TpcbGdzX*(o;OcS|L3Y+!)( z6QF+L7I#tH)ReU@$@Y1$BC7)Vao}V)1ngB25-c^^+YgMxF|#`Tg(!l~h^K8As&b?6 zeD8N~#H&Wrxo>-cQxy*If!1R@a~yzEfv?ld9^v33ilc_&nIemwh65AWE?nzfWWMeQS5zadd}n3fr%W- zOrKSa<^0dgapKXt*1uiK{1_-CLb}JUtFH5iqqzRvK&(qcX|VLOBvO^XFtkU0!YjL> zbXtLb)bgkfH2tkRNJc07f-XI&8&N6nU^z(32TP$sftxC^s zo*`g}i_i)nCb-(oX@t?cT=Tk=&n4mPnaCAKuIJ&@d=O%9YFAC;vbD~dtPO0iT*|dV z$|d4wV32KbbM>wqPiNzF+ErX;8)kPsRNLB;BLIhEGs*EDr~}@4LNVLSaiF6;;DY`J zjb^(+=yGv+8AMGGC&cNM)OF7-D3rn_Pd7*K<0-UmPV?P&A{d^)LWW9JGGqXSeu|Jb zF&!b=z1>ZMv)&hhXM*6lH(x(D>7D1-UG(Ny(N(xN~ugH|>L<3K4r-HYZ=?6|v%2Y-dk9LSf-C3V+yvtEWNrlshRzt;IL!d29= zedcbGwD2`?xz|61w3xV`C)2`S_~T$%Q>|#L5n1eHcpk0OF8`HP6dW%*6Q%{A25>K) z3>F)U82*|Y!@kwRjYY>BGUv#VM2>-u@LN!{A9_Gr5^|Qa5k8f&(upQ3Hcx6pRy{%p zMjSq}Kmy|8zX%0_%=<6y74?wIA1KV&<;&0+mTLXy>BWKw)B7{iSKmnyzMJUrCq{MQ z52w77r2v|K^hNgGR@{aVR8EzuHral#UT$gE{_^~^%3`NWW9}cdTYt?E`jqOX+z-`S zeT~CC<%4PW*em8m>|xHGm#7XV7i6S6MQEw>n}saQ!1o?72_tITPQ*6&{el3O!$jUd z;@Z62f4@hNL&~|F0Igf|e`wt@6ZFvk8(cyX1gzSOkazKg`ATlas+gT;T>?Y&%9g_k zSyFK&NT;IvfIa}0J=PF=GEmtKP{#wF0mSE$kgmFu!IQ?2+wl`5=)JQSukZ(EgOV1? zI#6LEc-H!#DmjN5?f=FN|1AvVfi3latj=$NuEC-N>Sg~i$kTY#;Qkw)GT^c{sWbZL zgvWRVqHeyIWhEO(0Xxjk04OP|cl|paAb6jU=*EOnkN+1$=ad6G-$E>Y&g&Uaztvl#5;=lQ7gaD&eU?Shme>5Z>8X(r;oPt3HE;%A1`LuE2+-&W z|4ml{22_i*rda3y7!f{&0k5NwP+I@*AA#9;FBQS{|3jtAAV4hKAPrqd3IEzJa;$W8 zAS5KDo7VqNYF+Fza>j82=koR{o{j13P3BZ32({TvgrOr=IIUiN*KUanop5RH)@v-7 z=wk4=o-Id9p0`v!Q|v5Kr}?vweiLZycuL9X_Bb&c$2K7$?6Hqkgq#=bxxLn9E7Lxf zX7q*Z?_mPg#pR~F3b&xdSU?+!m6m4*l-+V7jbeljeSbp*!*kjk;y%#*yE?V#H)an@0#^w5hak)hmj-!&U@yhlRXI1FK z;uG9<&JugHXSuwee<>rM3uxILujeV98>H0fHte0o^22#F{qdg+rxe6HAkCfGMw%iy zyRl19KKv|nT-8$mNC>;5`?Y~BZKl9c+dy+fk0;k}B2k0eOI`5G@*;U+{12#awr3BF z?>IUSUx^taOMhTn`xO`&gylH;w!L8R;%9#IM>W_OQv8JfIXS>Hn)yS=u8FVo?q+1o z2`W@em9euHKu+v zYpV6^)mA04GyG;H;s>YTf|*L{W_O~``-_>r%rPMySyTX;9O-nKCM0`ApTQR)%kH6X-VegL@jICf{8y4i#&bE^-L-^yD{UwYCK*<4Yd?q>F?@Y6Rpg6+|02iNI_aCM+i*4|z58ro zX!Uu1`#qg#e_|*Ffk=EtdVLuUtYRjm=P9quoS;vD^qRia{YbG`XNRzJq?BQ9=8B+` z{~2C?VOD!u8d?J%a=<2PYmDUXp`6uJu7ANsdl(jmv%UXF^N9o9*P9vd> zbLYJu$(P**zwt-M1UyE6bozSSId{>sPj%5BHyRZ7I58j*)8Vq%&MSp&H^zL$SfL{E z&T^gdR>wE}%ri;lol|ns7tPX!%YsL#5Txw?PPBKA=2roW8?0##A3C6?wC1wi>Y7tMn=tbKu_9%}w zk3upFMYE66xr*7ZFWX|AgPne`q&KVLnajp=##7(}7w}CSwAoAB_0;36quFvshvm*N4O$*khb4eoKd8VeMyPv(&svh zX;e6|wiDzqKYzg$6E6q2ozbtX@L^59ysc-7F#-b*{mu_}YxbI)pWyiW{UXP(epBYdwpJI0_I3E zg0J_>1ZV4g^|Z?>*Q^5tn;g1WMNeon{}_3^isk0aH!Sfb})?v6YdqA)wO8F)yJybAc5MbJxKL|8ZT(n-B-^m=R*X~ zV4KO^NM-qHI$59CdjVH9Pm_R>^Um>$zbRC4h|?16DRd+un6pLI^Fk<$Zruga>3okX zIJg)csf|Vk=O2sff2J~P5Kd|Pe8Y2kSUTBV^!c=FQRCp#*atUkP&KBe?SEswloU>| z8J43pINC@^ZDAp__|G0^{IS$oxIteER(HJzEFPkeht%e%8U>2$N@JK&ByhlOL~%`*1xPaX;U zqgsqh)n7rlrx!tiz~?~m9D(B{rgh^mJ=$Zs7_NGT;lLu7cr4A|kA&aUdU8Q*cGQ=0 zh*>1IQ+8U<_+b)^LE>riaUFJentRPL6skf+qibO2g~|RSieO!?+s^JM7h@ceg2t-@*W{)C6+|Eb`wKeC@F10HAzw7 zh#7V~lb+;dy(><+sC4D_9;JDcpE2%h&z2^lf>jEcXO8yBY66pmi6g16c*8_sPp}SL z9V_LF(Dy8TqNiu(Go&gO%;Ug(J03M8eO~dKHm{arpGV#DZ`{#>B6XjB1c+dLMW47y z*Z5;E)?SHlW`sZLAk*(5xvMR@6+cv>iLBLRz{_o%d#o^|7kKFO@Jij~iGUQCuc7|K z*42ITKJ^n>S$=y>+F9bPjR!XamTvc;DXFx_xS+V%DYVq^j+A?x*>IzDCjYMA;AjE*r*f3L5XMueIlYE z`-$K&Q^OSeecl{Af?`23p~P1Gy+85q{Kr)z+(x8nrHFyn#*+lRvO5QD;SKBuAR|S{mGn#{!b%T%f*r|w(ErLG}e(uDA=Q~^9n0l`z z|0T?84CZ#Jj1~~pPOom-MS(~r)S6ytoQKPwc@avCBZdxNyXIav4Z+DHpr9^kk$d8s#y&zPF;FxOocWJ}hbwwA087Lk`5J?dG%cSkuS*eBmbb$_ZB zaqAHhgn4PxP1$_tH!OE%Z1ydV?eIMlmdO%C3=bmR>u(GD)@pZhq!#<(=1)3gwr1DOo|4iRvKB3X@5th;ql)PQG4Z&LS>(Zu1eHu)Xkk{uMYRLeyh%g%u_Ft9jcj|V6YO(NyMMRrZ3#_P+%d|?mXsWbw|%oN zVVWt}Ruk;=k`na;=zOMuLhe9Qw<~PqWTV6>!F;@=snD&K?$5v4a6FQ{7qw;}xz>%= zHAp&N6yg?BV$(1jqWRhc7Lm0=bXOwis~q7t_1GhtkbdAg_u%@oVV`o)&gvNSP{2eO%Qjktuj4)JkkHH`RUSe0{ zM~^<_;ouG7@jy@(N} z&CZ0G6P2>nUB2LApk3E4*HRu0)(umMCUX?0{Q_b%TBu2pKmY4o_AGPPUChaUn^O2+ z&}c>WPXpXir!8~&4}eB02Lxd~Fmn0-dTl9bL%M5WPo+geLSKHEp+pjwW*fbVD#$|{ zh{|_Rv;CY^FIMC04Jl4`ak`q{@(}|2+6DinaK<}wIGox3^^pqizP2U`*)NW z`3OJ(_y5w>is~CA;zQ7s|Bs?44Iyq7ARIpaZ&2LJ=J?^SY%2oR{X3bnvya-s{}VWy z1-uz0utViTBxyhmVHYR2v~ zF|Xdj6Bt0B|}En9)bdgW~sf@flilkKCZe3eFG{6A-27R0||0F-U4? zak`NLAC`s+D_g{KzqlAJzYOZ0$*T}-`GmM+bx8V#(n1IC<)l0X({&J`tgsXzK?)`y z*19<5+mLMU;JEx4V?5PvUY!NMGkrs7Pa0=N!7;T3w`d3wF7l3j?j%@vhG(p+yFK90 z3)^~;BkSKazCkVm^tCgSoub?jx!DteA&SEZVakyI9fdhEqCdv7!Dmsa(`YCBhzSp~ z*64PUx5>(UxdJ3WP0h^k9?@Rc>a60wEL3&r5^&okK#aMtP!J#naFxSA&6RINXE50Z zmv+^9k+EQELpM&Z9ba8IFn>tzR= z&X;M7H#IrD*#}@@lX=NZI_4Z!NkPKUcqiga9etN~Zihc`6EyG~Fn`7~RA|j&R>#Lw z;1v{qWFi&S;c856#(`QbL~Yc{r_~8>eP_G##Q9T|0Db0;D~d?zivWL&l4k?^8|!fn z?}^@Ep)i2J5)07Z7(fhNhi~%Pl)m60{PrD_5T*&?!+FnSe@}57^JPMzes#$`({!J5 zVbgM=>w9Cdax<-ydq+Q;2H*(h5OZ^Dz-uZtny$lC;M@5uJK<3lT+XIchr)xUT4a9w zdsKc#!fNXAU0vichh;0LiutkHR%QpkRIuSLZBgb@s#H@4Jh{f6w+^-qUo|PG{o2a$ z9b&%&NxA;N?BEayl-;Q_aP1_$Df=C~`59X&(A-=hzkYe!2(*MfWUJ%o@fGHA6|*LC z?`c`k_%VFzmqopody7I~dp$pY5l+`o$@ne!gcdt2XvohOuj=XjfPjsBrNU)MynUv4 zx?_}CeHH6CCH^XM?FZVmgn&x`p%4!*YY|B@ttH zFaOKv)ztL#=y=}dMEw|?yN_J<8qu7N$@yllN~@dgR!e_p+f2APzb-59>>fSE#(Fl*9<-b6jgwq4!hgy3FV&1E^0nXYczpt(wsM6raUbM zFHU3OjNw7HoICeRLBk4A3(6N<7EcZ6H3|YP%zOvKF$~MZH7-xyXKasJ+@O$|E+@xW7UPokL+qrXr-d9p`*6D2&M~jyZ@Fwk#`FrexC0$;|s#O z=?Wt0?M7#x8@c}Lrx+$;2vZIn6uEK55uTEh8Oo<8Stt5$EmMLKlj>|XpiF2CSjrIx zQEEG8aN+w}C0$(_UOS|Hg-T@6Wl74rh~VguUPliOc?1{S!+LhqU54LY@SJaM@(%hV zZ;#oZ-VK&jo?A>E~0tmnnD9t06{O<_D>x3wOMGL(OQUy zpmF|w1V9LQ$5kc3*i(VgB*r9AGxMIA;i8HxEm`pF~&=vZpI8OgXf8%o}^FSpGySd zYHG*+VLA=80y-xXx8*jPfZA9Au&Q4G6=H&H^EgtegS;$N{v7j8<+kEmXhE8Lb|vSk zR@9SS!Zn?G>%<6rP8o=Sj~A$QqYlPb@w*-#SPmz#yS`Y%HF zr(uf< zK#9QIx4xeZSWaI6xW;H9TNe3Xw0#wNRVDxMZ})_Z=URu4bwHRF`}psbpUE3b=>^=Y<-;+bP^aS zr96J3ehq*X^a02uF-4n%)$!@mS36gL83?tDbFya#Wvo@Q0ZZQ@>=j0D&vVD5S!LK^ z#ePol_PqvL%nII+n+0iXwV?S(%0^>*ioWs*){rx|Q0x%=;MiP9tIqRm5$(P4%dz;3 z4DY_GB$(4?Zp5;j!@$A8BBz1h4HhLtMFIQ!3hMEM@J zZ=3^YjdBTK4iDsp5L>V9g|IS;UOodLyfhA;ubP+SzBSRj0CC&(mE*I|SrV_PDlHzZ z(v6{aR09fOYPg4jarCw~5?7H;2Dy{A)P{+aFTf{}YoWA?BW+AxhJC*a65De|GEyGb zg3sb!1=<8&Hdh$#e!x_uyoY5_tlG0fC$i?0NbH~-mL+^j3~3e8Vs0Qp3{Z6s29TiX z*)M;$-V8tbACeq8yMxIqgokx99yITrTkMoU8zcTwI7*TgbHJJR|0EMf4fi{W-@0T} zg}S05)$xuPG5%sG_5C9$;xmBH`Z#{aZ4v*(_YS(+B-_Y=IJwgc;L-B4H!ZKWMVN59 zSftLdGyZ*}whME@@o~X;304d#E%Sj#YSB`tsH)~N3(!NDr-6Y&dzuyD_<7Es8ZW!i zd8E?%Y#i&z3?zLqR>WC2+!2q z2)j1$Uc6v{nKH_0*!hMXVd?GKD)CeLZ%o<_rEGZX%FQ8Q5_D-C=V@?%3FHU+QzMN* z-FuI7uYK)tH|?fM)-}$WcKJG|Ws!=!@4{+xTZd=r!W448dc27;of_p_spc9o^qE%3g z-Yo3pumeye&K|_JHtRl*6?i+gA!eHaQ7S_jt(HRv>E!SAk#D0b}z+e?ilrl z!u54k{k>f=054Ee;wtnKa9UGBPK|*o#J%BjXcpw1@0UDIjaY=JBnc&V$tdPz%isFW%CU?v@o)svbx-B9G z6kflHlA9C!6@s2N%Gs5>q=ZLqrM2YrP6|0-m$yg_Ffz!>PUaQWdFyVS>IPHPsTlwq zm(N`ys%FM*h35=VLbq41Pi2uO9+`G?bCa_Xt_|q^s-6<=p`T#*5mkYGQOmMt%j`&X z<%#yGmx+ZRTM^MEDdaXF)hsOCfb|KuMAPu(l{sv69lBu6Cl3zGD!C}Rjk;mhTl@)x zU-Z;`as_TRi03k$R90?`Qv+scQoKI;#uX5?-MvSC?Gx`_|I<}7Mfj>=?xN({b{k`7gXi}@t(<{AH&dW2Q)~y8C z>jW^pQ!zORvQ9Zs2q)UyNl5gP?4K`rs;1>$aBG2swHes}lM!ug(vg6T`!#lWZNB+L4}iRekm$VD4- z{X@{pA;^v{TD2rOe+0+8pzf*I6*v2Qq#_>yVGwtbG@HZ6@iam$ZiY)ry`=c(fD6TO z6c0yMRu+QjouwAnvX71!s!KgqPDZbJb8_}rs2gNTg)p|DFsRO1V=hMDqHKmD#f&J& zQmkX%phBKARon`PXTVrS&EoO4sz+<|`?LZQLD84vC)FYaPJ~9A`7s0w<#Fi6EZg_h zFN}fhn(NXR$m&^!4A8lP}^=igre!x)Ks#1sj3Hf&r@ba zj-}zb5K3%2?-XHpVq+0u&ld&VJN{8&iFz`#cqav%NkG0cXxTk>O&Z6A&qFDEc*aXYRoM})eqHj)<7b$wAlT;QsD=}9eMxD)28K(J+vp#z z@q}8P;kC$RX602{^u;(BT^-A#s03LNd<=qR!G{MvR((a(DliWJf z{5rjGVBP(&WIf_Fwg~_12%=|Hq&&eo_I3vc^rGJgD0xTm9nzZEqu&Tw2-dyw)vKnl zjscW5_Te0J0HUKvKw@zeBKPB4cv#(P?dwMtdcqqEJ1!co&2wadv#F_$Ngg^~qO6Ko(_lK3 ze~D*N?ltBkbqNoT*ou{T@Xr2a^hGSrJbUBOf9%xob(6nqNX-jhc7@v{Acv`KuAOn> zLosFca!^;^ao>n=+}=i*a>2dCgHL(lyjIqfWu@U=^Eo1RNAccdX|!`J%gW6qPDim2 zj!bI4a_~ilWa?7RY9~L@(le(FNT@M9Kmt*`>ZG_UD}=$aYl`7uuUcK-0xXl?94gky2Qs_+A1hKDF1az+r-+!&dS z_x^|ZDIN}x-J#5) zL{i_^N%;NB;BcMjU|UgCN#qUFe)C_N=#760**>rH?f`%;CL0%eEazPvwZo?K=d+3X zFB=65^-+96KrZ9)mZkklr8e-u_w_M*vH;Lv1J5hzzx$3CAOrx909xg;m?D5qt94C= zuiKyew)2^zehv5+40f1N?|)gX>wnZmQgei~y#;M_G~&GRPWId$L3Gh{wSSZGNfh$jI`nq)2t?0!uO@&V@DC*r zCIXfOhQ34`IRHHmppd;x0(To{zBU0nI}-iE64$bh8g_iylo0BJ^e;7yDJ zrfW`5$FK#vRRxgs%Ml<~D#WjY%`k8Q7&pQvMH|B=CYG81@_`QI81G>!>3?he5%K=9xU?(QDk-Q9va!QC~uyAAFV z>^9%}AO3Y;@4Qv_n(6L2=hW${+O@ZwOn-rN-s924DeHJ;cs$_o- zKKa=%Maq`3EXR#AQNq;EUu89k92aS+ATtiqc)q}TbD9HUV%+Yk{4RGkvl+&L2yPxP zNq=-&&&05ALQ@;^R`TmWLJ45+F8L;r`f$;I1sE@@2hzM_Ts4yZ|}usNAnoRFC;8h0JVBPkb`12=tqi!AKA5lP7JF^ zfrdw6J*jfJ(2q;9Ki6ALDT;Mqgv{+%2MhKATA-_{iLeI7Pk^(Dcx93NMda;Q=JN64Yyr-k`Mw@>%?F zdBD8*$!@h`G8k&>B103>24orv%RG|EWYQ^RQw?pbrVAsizmuphvq~5eFiM8n?~k+f z;+q6^UZTg@ZujHH8osPJuzEeYDD?yCk;xsF`0~Ij%rP3cIcFvW0{ru`_e9Rgc2&Aw zt-%~2nY}Bu#_}Tfqe)(-UifWI!_)#%kv*d#kW?uEfFyvL zvO(TvOu!qD4L2u3zg!#wlVni7sWY(#i_dK4JqJUnV^bCj^4+7{*hq$snOO-5Jqn1- z5CgZ~17N?xz*i$mYt&5J_SDqgJ4t6cZ%^C7&4K~Oin;0K-%$j+q@qzK*;05o62NYl zLox`Y_=W)nfH^U22#w8FkCo1HLrDQ!VW00{?n}q|a5UgkCo@QAd|xUmi5fOtT-I6*M_6?qN@BF`UYZ;T=!PpLwwN#D{l(=-y_u{^?6 z#az)A>>q2-I~AL__~sZbu_N!}mS{qP38Qq>s(k~#MTFqd7FCn!I{kaYIGe0Lr5Wm< z#D|NFJw=P4Fx~zz+hNU${(u{`E|lNTWjKiTTeULtFN~y1;&n1{Jv)D%lcc?L0=06u z<*ch0+ji}!N0#1XwvgSV5InA8e#5ZwljJ2ZyRw+zznkyQWPo$_hU}WLPt*0K2wc>W zlP3VbuEn? zvxkI27NWC5h}R8x7^_y(VF=6Q`XGe_$DH4iX zJ|*p;$i+$ioS8G>*j-PjR!XDzt>AA!nNJm4>gm2<_74k#~|(qgm7TDAcq( zl3CODxyK7nV%q><+N^!{z6+ih=h6^w#w|qvJ`D)#)!Og35bZqyzR5sF++>E6b^^8H zdb=t;z7r^IkY1htcZFL`40?D;6fst51#@7I)RGv$jq@)QCT3?i(w4~eoq*o>I;)GW zawUt3y9)le9sp8iK=FzNMiwe>PA1m?^iY+@bJB9W(%^4@DAirR)0Op<24l#kD}5{z zHSyc?k}D)==NsL0s<=s_uE$zqS4vh~^lB>oRUVx5Wr2}YErKi-Ywd!6wn-vLfrS`_ zpNtiSKJnVW>Cl$(3k01MMR7mVz2YKVR~PU4$Df-yP4NBs=3eetsw2Q#We*1p&x?Tt z4-*KqoSzx**?i3GTS~QgLLeWJePn^Y$e$ba4RWpZ>h*E08MVsYclSN~v4Ua)XhGaF zf>3Cs87;!nlG=+t#Ir&%2~Ex=N&?h@DXGkDsG(CUWi4s2!QLzxg6oWR7bo`py8v%Q zOtS+-pPoLDX?@GhF#3auUo}J_ZSO~x26O$wTAMrmNy0;HogaFB?S*L|2?Fq94e6IL zIB8)=frr9qXp@LWnt3r@)4d1C_QH)G01DL9j`GExtmv3{E_^*u3|x1>9i0%cOJs9} zKoi0*JY4OkHEUR|r(nw}iO&A!?4Ec(8UidY+wU{Z`mnyqAQQi?NI7Anpv%UtZUmfd zyI)y*&=}D-{Tu6bn3~8*kZ7E8N_fl8nHpe%6SDCainP$4UA5&N*U$nCiB{uP;2I#4 z!4wi=$|NiIP%aKXlx&1+c0tA(i(M}ZXYR}(_4Qa7w_ew5`Yn!@T!+J;W^+kpJML?? zFBD3<4x!Ba3J|K+{-u8-du+O%l15&;4z9Wdr@_feJUs&(vaA{$OyuE~01tNKaGt&VPj{pfMOMnLe=T2>1^Ln&2 zc)b;$A~P9x!znAYxTx7fPjx9{$Ct_|6OU@~hnWhtOs(tDL^AO&T-BCrE;ALoVxWft zpTb+#E1IQ?npToA#D>n^O3=>?OLUXT^4B7IdWc!3*a8@L|NMrbeW&V)(?rtWaepLu zXUtBp44l2l2ohspgd(C-$*=VGi&RD*TL;$Fi4wyCWc9x+R(Z^Pdk80!jF`5p zJ6T`M_870D%_Ugwqhg}OpQ3)$l*db) z)z`Jn9uk!$>?`=-SxJlj^{RZ$DbyN!1j<)P|7L!utf|Ya)+6h#m@l?7oo7?nbG;D# zD}R=#C)7Lw8SM!{A0aN28y$!U>9{UKg4Gyx*jGv< zl)F-a=@tS}eBe%p3c^UrNPhV<;{X{bTlNqUqO&2`5?4YV!b84oc+M& zBZ1UUGwo|{r&L&BSNZLGai3HwS$wH+YLZYv$d~A7m@z7D%PwDw<^n`p{hdPgm0lC^ za#0VGw=)zUjHV+iji#pF8kStYf%FiXdD#o+)Pc8q3`C$^vKIg-MgYM985%GV`t&?~ zR{3kJ?%4FLP?;`+1o$|P_hKZLC?{2H(~N8zeZ>_ij-+s`vl8sQ#YWmT2QzgKQ1SPv z9LBHeLpmMTt#k@~(cMRC5cx|7ce`TfMzi4C z!}Yz&W3+?Sf4XRyD1E{%ao4zD<%W{}bV900AWxK_$u?lWe4%URnTuf`WHPA}I5mtYpw?+G|0gEc(i$AxA_0M)cwA91jY6xs6iL~lz#2y8pavAkXVO2K z2n=_QaeD;ehb4FL^-T_Ajg0KC1mvaZN!6;xXSEK`^mavd%XM#yo}dUx$6gyWSZO6j zyBx@6uLiD+TgulM6m5pslDT=~b3(B(Y}c^Z8Iv@M*b8RAR`N;3`-^cxL`A~YoG~yP z9eJWq$@Og9Tlij=yok&J?WKPAU(53$?>kg_xX;ThGS|CKmR3TH1!Vi^_GOX=sxEEF z^hcuzY|^+J^RI|P!cKZP*=5)E`z%kMAp8tVUIo7Z-&xpoa$MQ|uS7CvBE(t&62q!) zZKb*YFivJ3djaGcH+XQuPP()rdHH97_avULDICkwnamQSYFLSj+P#U87ogYea*Sg= zIU{LBa%jSsiMaH}ej9V0BomWTj#cx9j(xPHZubjbO@V1IKNPrqHjOahTc>63%y$Xa z+ev39g65H!d4hkz>Wg)j1kyO;9>?Q?JZ;YWwbM4vO~LPn0yUQV4yjZ;DOFZNECl%Po5nJGtwy$WaEMs*p&hPB5 zP$b3-GgA*Fa44+d&b{d3$?oxpt4N<84Y8xhX_b&uzkQ2?2}wvrk_^*eWN;4*BWqtj9HzYX(#^5{>OMADOGK)LTw}2 zXon?yK30F^+0*Ff={ySQn(C~@Ev{)_{@T8`V~ML2WB2LfJSQ7Y)5s%(#$*?2_hs?V zbt+X8Qi~HN)v}BIw`C|r{gTX1MFVa%p14s)AID9O_x}W<5FYZJkr9j~SRRcIcwvot zVTC~xZ=dt;o+KMYGWq+JlWs2>{B)i0s*xVzBKpn1Kl~F&5Mmp+To+~J#(ES}*;8ge zV-fK{)e{sq>+DzyOb&hjTo>{3n?W*ofrk*Q_R1fK=G9XEX8|M81|wosT{48LXN zU6M<|Uf(?lFl^C`XoeJp~MII^Lp0WvFp<*fY1hCa}=otyR38*68A= z0Y@>`XB}>ZcUWaa^dg!^!l&4F9q*gqZy}Y~>*EWgeEY{-^FPf` z`tT5)PBPdYng8MEbrA728*>Z`5xEj7m*@*kB31h&D_{lx!Y;b}c`#$%VABBm!7m`H z>swYbL;X7f&P zMfIf*T`=x9s++J5*B#Tp0N0MyM!F*%PVgg8AVGlU(LdwF`FLTBgyz~f^rLU$5*O zOPP5C8b%k_=m&ogA75|T?Z#utyi^yo=-Ps^I(T{f8eEaE_3KYET{hwReLqJx7~yjE zLd`Xq4dn2dRB!9oKDTz|a_|0q25@VwHZwu{sQmZYX)MNa$*UVbO?yWp@=G;Bcg?YU zg@h*0!#7R<6kt~uGofsC^*r!CPNlXo?X5s)vWNHo zVlx2G^110zd~3V|%t`J3A=d=U=1EE3nc?&&|aJYs} zttgakyIPA&`6n!r7KjE_(?Q@W!6fw7WUPb1{0|bsI}!tF{Oc$og0PM^1&=ChZ7R6d zDsy;KACf6u5?tcnS!L#3jM6>bbVeGqn9vN244B*WhZeUhXkWtw2O1X@bRFOVkT-0Z zPJ_n-lUWPv7Q{rYKWVddlbnkQ?SS-;vweaBwMY)077_) znr=)A;kLk$9C8qnFzg7@;@e#o;I|4wo#7G7LY`8*YVRwBCl^ zkxHd}=eH3gqP3echsV`R!yO(th0EW}1dmEowEsJtlp72y4_?>`6ha{4?4|{=4Gu&@ zUw$FRI*m@UKJhI^vmRg>^znt75Afx!=79?{Wwz+DbOK4NE%?0;eXK>7>#T?`yR2G< zhLG@BNr>~}xRCB4r<}Ikt-WNhPx4qP!LOMJ3}V&j3E}(`O*Wy+ZW%HJaHb-a&2Uqh4n@2Va83r8cWadwgm2Cnam-hQf1yHPZ>PIQcQ z^+kk0i%}_WA=n;t9m5PwtyxjP0Rx8*B{oUU+O0ZW-I&bKGw9N!RjUjoBW?Bp2kO@c z93gCBRz{)B{XpXelOGu0rLBO&DZt@0TO6oB9}-3hbVk35?Bp_*-%4Rya)C3~iQ{OD zFm9N>k(jJem=RqJjeWbnDbJ8wn`cAYDmlYa$i~Wb)OclF$#EbTxk%&No$Y(MsCR^U z9-d$MFR}O-sMj;`p#nQMM6>f4N_>1SZb2%$H`0_I_Q(uuJLtF)=*Bdp5%hUh3)LTj zUTw{C1&t-`U%1gD~LRXKgX z3Dx}pZOnJPIJ)%Ep84N;?DMQ6h->N#IF@;yPYON#fk5Ynv-4jLl5Wo03@To?wiy}L z<3a@r(x4rD6}swWeoDN1z6fBFf$X~CgQz@`Zd7pIZD|@~&}I<91f8i7P3NwaF~Uk< zTUTuklee0MGjFhMU$vciGW;xZ0F)}>&v1?THn^CgDZ_7`{1rExf>^|ZO&4rVH z5XJgTuOw=l*!CP*u4y`x^0F(f&(zf87fweEJUlVrh(&hLvAXVB|9zaWS%W^DT;qL- zfc87@V#;wD!*<-oOS@bD~~O4qHexN0cCec^<^ZG-6DolPyR$}stem%_Z*L=^m-@8AV= z?z^$O!5N%wNXAUPSYwxhaIRaSR4z@N5F~7$tvcTHc(^I(5I-A(-YC}l^L)O1ArFF` z5j9q?Z7#!s{f1>LMCf-$@H8rAAByrluhQ0$PDENRx)J$7rd(gEEO@tld81R-_~0nl z^03__MF(@MCUsfG;)Z}}3-@Kx)(`IYMI=`=s|0pF0<-Y(=QZj~e;J`{5D^-Fd(>(J zIw=K_TYx=tO+~vf9xZdX^lX?DZxhPIZf#kgpa<&1#`6{l&N9sz0~j z#*+DjrU@;#cdkjy6t^!h^&H@#2q{fEVeERD@;)$uc6`^v`L?-Qf4EdFqz0nFjI+uu zPEjcPaJ$^h0>UIc5zAi@;af&XsSJ3ilU3(ab_*`uU7F8xnHWI~`a`Xs@oHjBT+ii4 z4fPFahInsRTK7*6JSYlCz6W$>gG{2obmMZKVdujMZ}WMF)AWq=3f-u&_Pjq*-{#L5!MQR{*oA8n|#r7uxFIn)zx$Kp1NJc<$b<B_Q(<{3*iS>E%Ia zf);km!Q*!+0WoKuNJrr~e$w(xs1JkAq(^ZY*y#GhG2EAPqBh#=2l9$W`8H~v2pY+H zxh_KE8R&ZXqmI8btPVZgBfg&PXJ`0Ccp}EX0@vO3-f_c!q19_mJ+5X6`MpRsJq-81 z+)yhR2~-}CpvPq@2^yA@ZKrv^Fn;jIfUv3$!7=k%7yMlLq8@l_bQMCv8okx7X%5GS zG-yPFSnwAE+U&kbVO`K`9Q@G;*iHJSgiaBAw6cI zLl4Lj-=7bcrmz^_2B`-lT;{bcR6|V#jV^dHd;YtwI{FnfWz5GAsx%K4REd0ZI4HhC zB9lm@ogxL!64o(mY=g*|Ot;Yfoq~hsicK5+(n3PI5{TXKxL=S5aa{#x)KzshxmrzV zcZL?|U-}a}0QoO2mj{qhyC8J8*gb5u1uf%v3JWC~jWFsTd(;*=obFDm&$K>UqbBiJ zfVW~B{KfO$aWJq(LI{f-6y}N&EMMuk$|EyD1hf&h^T#N5Dk7vOD7_r zVH4gkoYe&p-TG7RaajhoOF!T0d49cx=)^KuLL~}#?3t*}>|mi0BXEXv7thu?fnonT z5{F4tlJi*1B$%+364jKo)vdPNnTDz5tWOLAfzs<+@?nxBvGDk=e_$=hQbFu+cnct+n0^_6f`zwmpyi<1v8N zHbw97i2<-}1qveh3Sn;@z_F1y2gvp!ZCv1GdXa5n$`Qi>@jE{bpzZhI3N8jKXgQ@8o%|>D`%`kw<+=L<{_aI8^)tc5W&5`M@FyDa z;jo&T$OjoyRVh3zuQk5F@n}XJEK@S0D%QX~b+|kbHk{8N8qQZruru#?Slbq6SbWsf(3V{5)9eE0s&!M7o_vCR z15f9FO6-aP<47T??xpJdsP8XqM(7qD`=FSSKhwOFV)eBvNeZMl-D43{q%NMfXj}hx zs`xy8Un(x0+*Sff;v-&Gu6G`x@}-m?LrI>}M1fZRq4ct{S$nHPYirK2?q7>l^)<8E zuA*>W_57&jU7vys=xf*|Hx+?BSgcD9`ozwT3w%ekE0qHl_TczkqF9?zp}2L&Fj6U* zf7l47hEw?{qK~fq(nxp{;)1e>hD=nOg-l4)p$BOJTb4G>vG^NRzGks$^O+W znvTv7Z5{f=wM&ZxVdH8Xb|1%w(dXzJ;Rj`z2L&`RAf&9vgdZKCQY}oq-|zuFP=HlZ z=c5j7n0fxnKO%6C9Oa7_hiKxN5!sFyyXKdS1pAWkiSzx+d5Vu4rieMe{WM34tSldO z8LuuTxwIWxpJmtBgD8DMhPPa%uF_&i@9$a`aeUsaHMW(rn@bNqkXcq79XGfwoc^mc zw+4bIUgF9c_?J)i6T_}d$M~j}+9hGEhrh>H&h6OsXDnrH!}=$=;lt9gC4F_?K&kF2 zsac{r3zI~B$?%$=PKKtzmuF>EEmq-~+LC$Uj#z|K*#miP!MsTN%=v!lQo1L}?1jVW zqBcyiRzcN;NOsCgV$5`Ds!KIVX?7aE^e+3Fk( z8gi1{P(v{+=V@Q0_A^zv`27HBGDW3hdo3c*ARAM|A*HG7k{hFPqYWrF_9Wn~^OP2z z1uESJwub7)lx^EamN|0bfnZZPQGGAj8~W#LE(wZ1wK+-S{bndH{joK#24PmJ z+So{2BDPy6i_a_|ngxrGVahmJS^gk1e3U!HOyJ z$x5JzLP`$Gpae7JD~PE^FB~n- zi_pNVIlgA9Nql(t=|$Ot3p%LD`!W13&QD2!OFb|fzQgFKgr?&*Q7J-dUcS2|wWH#8 zMjhoOD)JqIssTlZ@w3KyFKk2k5Ic>-U|sAAms+n;zM?kdU?yZpm%bE9r`}CPp^%si z-9f8!dcom92%mNul3>L3&%6?MdA}|xx+MOKetF(AQ^DZ4GMKeOq@s+u7?TgAQeGRb zAXUja+aei5LlcjcR{zOSu?gjiWWs}?)|3i_+<0t5pS`j=F29m6VL_MS>gw#1XRlEe z6(?#xtEdy%qkhck@?v`;CTkm|Wz~{NO*iiKr)X^q4nh5t^HlN}6NYbvCp-Gs+dE{S zMakvg*E7wE+_p5r%uE>430w?XSX5K}$*SWAJGvx0mVH8)svc`&iMGF z2J7Hoi3^lqe0{fgaN*u>5qVK?FQ@2b*tmQ;mkXqhsUOd_!0R#ZY1cxyYw` z{I#m<;DW|dkuQpC@xDy;p6U>?p}#q%4Wmwb^UqwR>q!YA?2{;j`Ga#6_OjH zqBV7Y#HDUyyZ%BxEpEc<`>Na6t910(ItR{S-TCm$g6;VF<==~!@CIIdJk!jIlr!E% z%ZvvfxUobGiiEz345W^{`?@WozBAe-=&UdMQTcT&QiwSkMzxSGLq>Dn;#*vEZ!4`r z!r!3l28R#Au@%?h28J?P{m0bih2NMX(V;EBG!Rylv@6-nuxHK6*V!|vWgssaJvies zXfEr2j8t}vPqO}w&MMA-Ckdq|8(~B=7cg&1l>XB^nnBkh*58vJDHL#hzGf`@sga>(J5|6S)wVO0;lr`Su7j8b<_ zL@ChFaRR%M7*KAvr6*-{*J zY@B7Nql?#kg~GpsThxoKY1+Vh(KRu1#X+jMQ#Brk3}jDTp@#zu#hbV<1~J-~nZ_|H z==ADfGrzD!)6t4UQ1%xB!?g3pH3-I09QgXj4{ySWdTqrW8axNZwsY_!et|{sPXbwRkaF{!?3w%aha1N3Q!KnWluOl5G_#lpyz`MWZmFPB7xRoD<5=1WL*5AruBP>*6~@{!eR9Q5s&T}=Lj(XNWIe!3e1ADy2sac*rsGqp_vAq z0WB?YQyfblly>B~$^{GW)?YgbIc+wIuTn-59LU&~pu+ECc1GzO%0YdEJWi~PS34dD z8=H*mcJK5(>nxj+)ySU|0%S8S8|^@}v8AK-K-HzQIGk2_$|)e*R2NMRFJ*;4$XJ=j zhfIM_xil`l^c?_KJ|W$N$R%$fV2XznkzJybiv4+gsT3!WQ1y!BdAUF5J5Pj$ni9C# z;dLJLe%%amUy){L$GIHFarpZw`sR4OW4-O_c3F?uMjNSxI*^(8P_50bU>SheD=1x1 z?}||JG*~;MzFz1#1AQwuJReQq510Pf=4sa1{8jiPwVGIt?dD^Dxrc8ZU?+}5y!rA3 zq&1v-hB)oK3yFHk+b>t_=|t8nD9&&*2-H!HbC~yZ8pbjtvY7LZ0)DDHHe_Uz3n@0; zS43*z9fQ&}q$lEGB!tUyVerV2m1Dm~a2EVbB!$nJfh66=l1rLL!DrmmVhS9oxL!h4 zZ}_{hTQBV(+>10ijitVv#oYO$@}Ga(SV15aZ&t{YvzeFAIz=Jk#<}cF%U2z$`A+mg z1c)rVRA6`Pbov-e1Q8>_)F8$C*HzmIuV(E`Lyx_SC34ycrI^dx4M)CL2Y;!t*(%0d zjl0@w+J5#CI~K+lkucI-2)^{6bX+F8jgBB5^!Ko17jb38|MQq>{Yzb_M-I;)`XX-E zBq~)d>Ke!N)sC@<;5bf{jLwpwZ#;#<@jHW((PEtiX^+Bj4@S!ut{9cQY35#nm>Rpo z>w%wM54*3Gi^9WuNn}HLKx&<=j5^akah|ql6}%f>Fu|MvRWWRjaLVCkgh zX?X!sv>yGe{dD_r$4Un6W0i6>$oTVdlW#PT6{2fAub*E5dJI9V zanzU}^M!9Esl#Nm8#I#2R=S$ZWUzveC-%!2RLr5Rvz17zzBTt~7l_O=7r}4p@ReBm zVuYb>M}=1B6sVYP%kkaJreD+6)p_F9I){6zQI~K7G)iiFgkakjFYzg7dga(w{GeH`6Y3y zITGg?z2=^_=M5Vm5j+Cr1oWyQcK8z75OH{=FIVaLyKkONw1l+N&a_!BtK1C>?6nkV z&jIzw=4yihID!eTMqj#f?yFH2e4K{{KnQ0HXh!O6yP9xb8Q0k#iACntS=8=?BQvS9B_4Re++;^GbefTSfSO-6MFg#=+ziW-yDuowlYa-T>YUJf{x;+E z*nYxRBntQN_GA^i9p1K5r*S;PTgbmk;Pi0;$gcPIKTz_o2Hu=C0XpFn(dVCaTA9%% zRtAXgGH<^+PnW5mHk(eb_&rqqxqG_SagPR7bv*4dWFE^q*IHTSzX7`lx5{1MrruLc zwAvQ7>`BkN)vSIpgfiv3YwT!&aI9=p+zAw$FVB_#WrUOP0_1M30A6XU#3bWeI*t}u ze2%6h-X>H5r$3bYf2}T#!g_Sy{RC~>$^Tp6!dT_r>R9V|^?7{S7dZ1iyXt*B^+|R( z&u$Bk_Fh|QIwh6QjeZr=xg%k?Q<=t5lHkaSr|*Lp~k#%VO)M{)i;6SmSTxeq&~wmoD} zcDDg&tKyZ2;_5s$dOJ$2Js$`X z@$3;ta#sE63VuB~!uihFnJqKOGwxo_OVJyy^Db;ha=uO=J31SO0R;~LJPE8I-N%i93+yX6yprY_#Ly?^@aE|3k=s} z+o`SSzbJvr0YU=qjq&rf+cHg~U)%W|7qGs6qVUg+nffLZLUAsid!nJm%J{jM6BUFr z^)T~rR7NS`kHVb7^Ft~3Qz05lFo&&4UZcl4=PrDI| zTxz;4;Fwgb%CDeH?h3^-ZG=HFBJilNo+n=3jqcVx?x%lWAJ)-|JiFbeuZZq4^C{6x zTPHVfEtfs{j#gh^9wtb}RtAW!Tr;l?r#Y2&OXodjNi5E@US9=P5GOh|;Qjmc*Ad#s zODq26J_7t>_G&ZViiOgp6+>NahIP&xT`zq1HT%)Z+%M=i;$!3CHQCm9{1z9Z>tF@ z9CI`u|Jm8niQG*Nw#!nTcYGMy)PVjbJ1^qBCF16%{=8~k9ITl(dK2ujvkI)W zHM`1>BIbPD5k0=W^?q%Boabt6ia4`8&+${uYoQEu`?6ARKK~91o=cx&I3!QZz4EFm z>RIkuFAZ7GN9gz|H;n${ZSl~TIzj=Gm%qu74g2k5_0wwc*R4S0z6zXHwQUiJJb8x} z=TkhJUA)6pNDoKwt33~%2+g2<_kn^{Bc&H49|wk|5edcC?< zpjY_O)FOo7k8X-_+$g}E(_&AC0#G^XC|%ZYoV=#$2gKas@;DeUrYA zqFx^({~Q2__(u_#`p6b@) zzJOOw_;jqw5kCbzl6Vrv75&7)0tsB_z!m;dy`M|7hMV$Lm0uQ2|98zIch~F5=+drc zg5>JqnxyUJy5Na%^sR@NivH($YSiyDWPcR>oTfM|J`f z#K^_9t4>usJ$I59uU+ib+6i7l{l3mkKSX*P>w72Nzi2mG@L?$Q;$xeL{6|OKP(U5*=r3$9gD zipX0yP0+5>Zycmz<*>N6-D4}{Dm$zPip6!wefM2))jx*U{}P+vrR7j*zgFR7{EUk@ zm9aH+Ku2s3D^!i-5v7H)@av+$yyN(vhq$P5kW!#=TI)argy+CEf%5MaAMOyWmP@|8 z`;<6$Z%TFC=F|v1qFc|k=X|6V39VmE70V_9@yEqO5kwjl+PnPLDJ`c5u&=I@#rkHZ z_a;{(csj94a|h@gzgc^LB_Vn_q^We7@*X(j^O`sdyf;?+p~SNy>|W(=P;wWHO`CkS z4LRzmh?*@`34$H%AtpQ|HW}yK4zJR6{@aIrGeJhS2KqeMVSJWZRTcW)zj=V=7zP3Q zxAzq~coR4Hez7PE1u_35JE3u2Wv_7eHlYY<1 zEzKaz!C#ugbV;@Rrv%h5#wTgU$}Fd&bojTQ79mT_XZ`wHC^uG?J(^6+`%E>cdJTg9neul333?(jNBXex z+eeK94%+1?$dg;QtMNgNVx4jJq+owhr)a-KZvg2CwJ{s{t9eHh^u$dIy;T|uWp6+T z$BjtF6hih>8LHiPiU$0NbHZsUf_o&pBl!i*(^ruvTL?hGHbhOff-=?XPKAGYDIUF3_$f~)CUQo)tJwV_ zseFw&>|u64@kg0}xs-iO5-=PeH8$%pu_4ux1^p83MB#Ya*gT)KRbq?{OeUy48}JRH z%Tx-k^NI`>EN0d^rPfQ>#auGL8+|qEGac2ZC)8|r8**I8+ZAFk@#hv?>nwM5f1J@ zw{D6&b@UwU(8DU-f2S`CKkp$%`&0AExh-CIvq1`?%P2m*@Q_*1jo&(o`eMyr(46DMFm7` z1^>KmIWE>o!l)SxytGrO4v)>(C#P4(`L19GFLMZ*M?xVW_?maBI~Jdj(WpJ4zJ%-u zlZNyd-`B1uiFM2>dP2tnlCCT*UZJ(nuLYEs#hS#o=LhFo8}dDK>DwlWk7(kf){3nB zX<6ij)#a|}eisF(+;q{>Q;ANpG9#oDut|>F?Ih_%EYwM2{@`PrQ=4Okv+{W=^oF@-sgPu`W5jzIeSr^ z;zr8iI$T&k5xBk>L{Ea8>6CUkeV1INw}5WZLELICFE-CWoixm~7Gv7zT@LNRsL1mz z!{YBWQ~N}YXtocm(}6Rs)uvR{vLQoX%E^djzbMK#XOw9kF^k@+ea%)_i&-AP=ds%P z^>K2)^WI%b3p`cD4+(}iQVwBHF-@anQrHkWCppH)RL`0gXphVl5YF=Y5!nHF2g8W4h4^jUR<(XI0`w_$I9`v=-mT zxjNv3xvIOeBb^B7XbdLEj29!Ck_anLP_Mg6>bNMp=f;sG*)Quoh6vUD>+8_z+lPJY zQrdq6q0|fqBY&YX|J=*i5Ixcy$-mH$Kv!J@)b2U~Oh7F9*UwuL^s^X1mCpyLX0k^3 zpgT;XX}tf>s)Kt^dN8+PR`B21Nmc+$BP(J8`yV!D5)UZpY5JEYyg_LK1*d^(9|v;I zXWjoSbD%0{gBgRz-ve4g>?s`R>{@osm~SqJ*-{;^vupuMnLXc}t*>@(); z0IxmNc=ZI(3iEi{{%AEVgxrt;9{6((P3&ze{+oEm6#%TtaP&2sYQZ0Vw);2N*gm^| zW^}}3vmwYhNBnv};LE97*XAeGvivY0@KT)>m&Bk$#MrSJi2tupHf`?CpZF>J43I%S z^nO{fpGYAJ4avq3d*=!y3A$cJo?l3 zC3)mCAU>0?8F_xZ3*rT2ZFLm?S#|1F4XPz%$4q?S4snmeNYV4&@_gE%6hO!zwB2jv zOm&?suPy~fCJ1)~&~b>di1X@VKlqr>s1|%O{Y6|kw>L=I zr4V4@?7yow7(jVrsAzONQh`51wk~YD=*REMYmk3L?@UX%{|PYu70~RL-g&)RLRu5M z&<@C;8cbrV1g-%<(9tr`q53-V6_xKgnht|v18$(PB5Q=cg_iajP+hHXNNJEz%Oc9> zFQva#9#c)Cb5!6eSNMtj{(DL7>vfR;Vb$1a%lfkwYsbl!NraZ=Vhy=PZOilRa@@@x z-{}kAQI<-}@sE}g49i)M3^QZ+BTHHFLtXz^9xG+sAXMVDyIxHB0J*5=aekO7XQ1zN zIgFakZA87fE6x8YoPdj2a^A%pIX{yvS*0F&WWRgulA0m?$Jo4oGQNKM_jMleqMjt(ZK2TAQ<++I?pct)livExyv{n%zdHYRs$cuo z{Jt z)5~24@rFFPaiK^iJh8{5gHk7zldkvJqw%>NB1+hR@3U8a2!W-J6U`fX0 z4PXKLhPDtInG<_6qyVEu(UPJL@V3`bfD3QS2Ak&rh66cZX#Hl#TzYez?*Uh@Jy}!# z7ciPJ0HfkZ8iFNoJ8l2#-q0OXOU44&0lbK|;Ku7azLFAflSvTuJK!TJD)+5ISl91= E08q;B8UO$Q literal 0 HcmV?d00001 diff --git a/BLE_LED/deprecated/BLE_LED/mbed-os.lib b/BLE_LED/deprecated/BLE_LED/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_LED/deprecated/BLE_LED/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_LED/deprecated/BLE_LED/mbed_app.json b/BLE_LED/deprecated/BLE_LED/mbed_app.json new file mode 100644 index 00000000..4309a7c2 --- /dev/null +++ b/BLE_LED/deprecated/BLE_LED/mbed_app.json @@ -0,0 +1,16 @@ +{ + "target_overrides": { + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + } + } +} diff --git a/BLE_LED/deprecated/BLE_LED/module.json b/BLE_LED/deprecated/BLE_LED/module.json new file mode 100644 index 00000000..bfff0062 --- /dev/null +++ b/BLE_LED/deprecated/BLE_LED/module.json @@ -0,0 +1,16 @@ +{ + "name": "ble-led", + "version": "0.0.1", + "description": "A simple service that demonstrates the use of a read-write characteristic to control a LED", + "licenses": [ + { + "url": "https://spdx.org/licenses/Apache-2.0", + "type": "Apache-2.0" + } + ], + "dependencies": { + "ble": "^2.0.0" + }, + "targetDependencies": {}, + "bin": "./source" +} diff --git a/BLE_LED/deprecated/BLE_LED/readme.md b/BLE_LED/deprecated/BLE_LED/readme.md new file mode 100644 index 00000000..8984462b --- /dev/null +++ b/BLE_LED/deprecated/BLE_LED/readme.md @@ -0,0 +1,93 @@ +To help you create your own BLE services, we have created this service template. +The LED example demonstrates the use of a read-write characteristic to control a +LED through a phone app. + +The template covers: + +* Setting up advertising and connection states. +* Assigning UUIDs to the service and its characteristic. +* Creating an input characteristic: read-write, boolean. This characteristic offers control of the LED. +* Constructing a service class and adding it to the BLE stack. + +# Running the application + +## Requirements + +The sample application can be seen on any BLE scanner on a smartphone. If you don't have a scanner on your phone, please install: + +- [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android. + +- [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone. + +Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +*NOTE:* If you have more than a single mbed board (e.g. nrf51dk or mkit) you can +run the BLE_LED and BLE_LEDBlinker at the same time. For more information please +refer to the BLE_LEDBlinker demo. + +## Building instructions + +Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Checking for success + +**Note:** Screens captures depicted below show what is expected from this example if the scanner used is *nRF Master Control Panel* version 4.0.5. If you encounter any difficulties consider trying another scanner or another version of nRF Master Control Panel. Alternative scanners may require reference to their manuals. + + +1. Build the application and install it on your board as explained in the building instructions. +1. Open the BLE scanner on your phone. + +1. Start a scan. + + ![](img/start_scan.png) + + **figure 1** How to start scan using nRF Master Control Panel 4.0.5 + +1. Find your device; it should be named `LED`. + + ![](img/scan_results.png) + + **figure 2** Scan results using nRF Master Control Panel 4.0.5 + +1. Establish a connection with your device. + + ![](img/connection.png) + + **figure 3** How to establish a connection using Master Control Panel 4.0.5 + +1. Discover the services and the characteristics on the device. The *LED service* has the UUID `0xA000` and includes the *LED state characteristic* which has the UUID `0xA001`. Depending on your scanner, non standard 16-bit UUID's can be displayed as 128-bit UUID's. If it is the case the following format will be used: `0000XXXX-0000-1000-8000-00805F9B34FB` where `XXXX` is the hexadecimal representation of the 16-bit UUID value. + + ![](img/discovery.png) + + **figure 4** Representation of the Led service using Master Control Panel 4.0.5 + +1. Open the write pannel of the *LED state* characteristic. + + ![](img/write_characteristic.png) + + **figure 5** How to read and write a characteristic value using Master Control Panel 4.0.5 + + +1. The characteristic accept a 1 byte value: + + ![](img/write_pannel.png) + + **figure 6** Write characteristic panel using Master Control Panel 4.0.5 + + * `0x00`: LED ON/OFF (board dependant) + + ![](img/LED_ON.png) + + **figure 6** Write characteristic panel to set the LED on using Master Control Panel 4.0.5 + + + * `0x01`: LED OFF/ON (board dependant) + + ![](img/LED_OFF.png) + + **figure 6** Write characteristic panel to set the LED off using Master Control Panel 4.0.5 + + +1. Toggle the LED characteristic value and see the LED turn ON or turn OFF according to the value you set. + +If you can see the characteristic, and the LED is turned on/off as you toggle its value, the application is working properly. diff --git a/BLE_LED/deprecated/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_LED/deprecated/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..a73dc227 --- /dev/null +++ b/BLE_LED/deprecated/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc \ No newline at end of file diff --git a/BLE_LED/deprecated/BLE_LED/source/LEDService.h b/BLE_LED/deprecated/BLE_LED/source/LEDService.h new file mode 100644 index 00000000..1223a779 --- /dev/null +++ b/BLE_LED/deprecated/BLE_LED/source/LEDService.h @@ -0,0 +1,43 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __BLE_LED_SERVICE_H__ +#define __BLE_LED_SERVICE_H__ + +class LEDService { +public: + const static uint16_t LED_SERVICE_UUID = 0xA000; + const static uint16_t LED_STATE_CHARACTERISTIC_UUID = 0xA001; + + LEDService(BLEDevice &_ble, bool initialValueForLEDCharacteristic) : + ble(_ble), ledState(LED_STATE_CHARACTERISTIC_UUID, &initialValueForLEDCharacteristic) + { + GattCharacteristic *charTable[] = {&ledState}; + GattService ledService(LED_SERVICE_UUID, charTable, sizeof(charTable) / sizeof(GattCharacteristic *)); + ble.addService(ledService); + } + + GattAttribute::Handle_t getValueHandle() const + { + return ledState.getValueHandle(); + } + +private: + BLEDevice &ble; + ReadWriteGattCharacteristic ledState; +}; + +#endif /* #ifndef __BLE_LED_SERVICE_H__ */ diff --git a/BLE_LED/deprecated/BLE_LED/source/main.cpp b/BLE_LED/deprecated/BLE_LED/source/main.cpp new file mode 100644 index 00000000..6c6f2574 --- /dev/null +++ b/BLE_LED/deprecated/BLE_LED/source/main.cpp @@ -0,0 +1,128 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include "ble/BLE.h" +#include "LEDService.h" + +DigitalOut alivenessLED(LED1, 0); +DigitalOut actuatedLED(LED2, 0); + +const static char DEVICE_NAME[] = "LED"; +static const uint16_t uuid16_list[] = {LEDService::LED_SERVICE_UUID}; + +static EventQueue eventQueue(/* event count */ 10 * EVENTS_EVENT_SIZE); + +LEDService *ledServicePtr; + +void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *params) +{ + (void) params; + BLE::Instance().gap().startAdvertising(); +} + +void blinkCallback(void) +{ + alivenessLED = !alivenessLED; /* Do blinky on LED1 to indicate system aliveness. */ +} + +/** + * This callback allows the LEDService to receive updates to the ledState Characteristic. + * + * @param[in] params + * Information about the characterisitc being updated. + */ +void onDataWrittenCallback(const GattWriteCallbackParams *params) { + if ((params->handle == ledServicePtr->getValueHandle()) && (params->len == 1)) { + actuatedLED = *(params->data); + } +} + +/** + * This function is called when the ble initialization process has failled + */ +void onBleInitError(BLE &ble, ble_error_t error) +{ + /* Initialization error handling should go here */ +} + +void printMacAddress() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + for (int i = 5; i >= 1; i--){ + printf("%02x:", address[i]); + } + printf("%02x\r\n", address[0]); +} + +/** + * Callback triggered when the ble initialization process has finished + */ +void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) +{ + BLE& ble = params->ble; + ble_error_t error = params->error; + + if (error != BLE_ERROR_NONE) { + /* In case of error, forward the error handling to onBleInitError */ + onBleInitError(ble, error); + return; + } + + /* Ensure that it is the default instance of BLE */ + if(ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { + return; + } + + ble.gap().onDisconnection(disconnectionCallback); + ble.gattServer().onDataWritten(onDataWrittenCallback); + + bool initialValueForLEDCharacteristic = false; + ledServicePtr = new LEDService(ble, initialValueForLEDCharacteristic); + + /* setup advertising */ + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); + ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); + ble.gap().setAdvertisingInterval(1000); /* 1000ms. */ + ble.gap().startAdvertising(); + + printMacAddress(); +} + +void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { + BLE &ble = BLE::Instance(); + eventQueue.call(Callback(&ble, &BLE::processEvents)); +} + +int main() +{ + eventQueue.call_every(500, blinkCallback); + + BLE &ble = BLE::Instance(); + ble.onEventsToProcess(scheduleBleEventsProcessing); + ble.init(bleInitComplete); + + eventQueue.dispatch_forever(); + + return 0; +} diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/.mbed b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/mbed-os.lib b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/mbed_app.json b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/mbed_app.json new file mode 100644 index 00000000..4309a7c2 --- /dev/null +++ b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/mbed_app.json @@ -0,0 +1,16 @@ +{ + "target_overrides": { + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + } + } +} diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/module.json b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/module.json new file mode 100644 index 00000000..aecbe4c1 --- /dev/null +++ b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/module.json @@ -0,0 +1,15 @@ +{ + "name": "ble-ledblinker", + "version": "0.0.1", + "description": "An initial demo showcasing the GattClient APIs. Drives an LED service exported by a BLE_LED peripheral. Shows scanning, connections, service-discovery, and reads/writes.", + "licenses": [ + { + "url": "https://spdx.org/licenses/Apache-2.0", + "type": "Apache-2.0" + } + ], + "dependencies": { + "ble": "^2.0.0" + }, + "bin": "./source" +} diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/readme.md b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/readme.md new file mode 100644 index 00000000..1539d2dc --- /dev/null +++ b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/readme.md @@ -0,0 +1,54 @@ +# BLE LED Blinker + +This example demonstrates using the ``GattClient`` API to control BLE client devices. + +The example uses two applications running on two different devices: + +1. The first device - the central - runs the application ``BLE_LEDBlinker`` from this repository. This application sends an on/off toggle over BLE. + +1. The second device - the peripheral - runs the application [``BLE_LED``](https://github.com/ARMmbed/mbed-os-example-ble/tree/master/BLE_LED) to respond to the toggle. + + The toggle simply turns the LED on the peripheral device on and off. + +# Running the application + +## Requirements + +Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +This example requires *two* devices. + +## Building instructions + +You will need to build both applications and flash each one to a different board. + +Please note: The application ``BLE_LEDBlinker`` in this repository initiate a connection to all ble devices which advertise "LED" as complete local name. By default, the application `BLE_LED` advertise "LED" as complete local name. If you change the local name advertised by the application `BLE_LED` you should reflect your change in this application by changing the value of the constant `PEER_NAME` in `main.cpp`. + +**Tip:** You may notice that the application also checks the LED characteristic's UUID; you don't need to change this parameter's value, because it already matches the UUID provided by the second application, ``BLE_LED``. + +Building instructions for all mbed OS samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Checking for success + +1. Build both applications and install one on each device, as explained in the building instructions. + +1. The LED number two of the device running ``BLE_LED`` should blink. + + +## Monitoring the application through a serial port + +You can run ``BLE_LEDBlinker`` and see that it works properly by monitoring its serial output. + +You need a terminal program to listen to the output through a serial port. You can download one, for example: + +* Tera Term for Windows. +* CoolTerm for Mac OS X. +* GNU Screen for Linux. + +To see the application's output: + +1. Check which serial port your device is connected to. +1. Run a terminal program with the correct serial port and set the baud rate to 9600. For example, to use GNU Screen, run: ``screen /dev/tty.usbmodem1412 9600``. +1. The application should start printing the toggle's value to the terminal. + +**Note:** ``BLE_LEDBlinker`` will not run properly if the ``BLE_LED`` application is not running on a second device. The terminal will show a few print statements, but you will not be able to see the application in full operation. diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..a73dc227 --- /dev/null +++ b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc \ No newline at end of file diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/source/main.cpp b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/source/main.cpp new file mode 100644 index 00000000..94ad8d57 --- /dev/null +++ b/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/source/main.cpp @@ -0,0 +1,199 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2015 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include "ble/BLE.h" +#include "ble/DiscoveredCharacteristic.h" +#include "ble/DiscoveredService.h" + +DigitalOut alivenessLED(LED1, 1); +static DiscoveredCharacteristic ledCharacteristic; +static bool triggerLedCharacteristic; +static const char PEER_NAME[] = "LED"; + +static EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); + +void periodicCallback(void) { + alivenessLED = !alivenessLED; /* Do blinky on LED1 while we're waiting for BLE events */ +} + +void advertisementCallback(const Gap::AdvertisementCallbackParams_t *params) { + // parse the advertising payload, looking for data type COMPLETE_LOCAL_NAME + // The advertising payload is a collection of key/value records where + // byte 0: length of the record excluding this byte + // byte 1: The key, it is the type of the data + // byte [2..N] The value. N is equal to byte0 - 1 + for (uint8_t i = 0; i < params->advertisingDataLen; ++i) { + + const uint8_t record_length = params->advertisingData[i]; + if (record_length == 0) { + continue; + } + const uint8_t type = params->advertisingData[i + 1]; + const uint8_t* value = params->advertisingData + i + 2; + const uint8_t value_length = record_length - 1; + + if(type == GapAdvertisingData::COMPLETE_LOCAL_NAME) { + if ((value_length == sizeof(PEER_NAME)) && (memcmp(value, PEER_NAME, value_length) == 0)) { + printf( + "adv peerAddr[%02x %02x %02x %02x %02x %02x] rssi %d, isScanResponse %u, AdvertisementType %u\r\n", + params->peerAddr[5], params->peerAddr[4], params->peerAddr[3], params->peerAddr[2], + params->peerAddr[1], params->peerAddr[0], params->rssi, params->isScanResponse, params->type + ); + BLE::Instance().gap().connect(params->peerAddr, Gap::ADDR_TYPE_RANDOM_STATIC, NULL, NULL); + break; + } + } + i += record_length; + } +} + +void serviceDiscoveryCallback(const DiscoveredService *service) { + if (service->getUUID().shortOrLong() == UUID::UUID_TYPE_SHORT) { + printf("S UUID-%x attrs[%u %u]\r\n", service->getUUID().getShortUUID(), service->getStartHandle(), service->getEndHandle()); + } else { + printf("S UUID-"); + const uint8_t *longUUIDBytes = service->getUUID().getBaseUUID(); + for (unsigned i = 0; i < UUID::LENGTH_OF_LONG_UUID; i++) { + printf("%02x", longUUIDBytes[i]); + } + printf(" attrs[%u %u]\r\n", service->getStartHandle(), service->getEndHandle()); + } +} + +void updateLedCharacteristic(void) { + if (!BLE::Instance().gattClient().isServiceDiscoveryActive()) { + ledCharacteristic.read(); + } +} + +void characteristicDiscoveryCallback(const DiscoveredCharacteristic *characteristicP) { + printf(" C UUID-%x valueAttr[%u] props[%x]\r\n", characteristicP->getUUID().getShortUUID(), characteristicP->getValueHandle(), (uint8_t)characteristicP->getProperties().broadcast()); + if (characteristicP->getUUID().getShortUUID() == 0xa001) { /* !ALERT! Alter this filter to suit your device. */ + ledCharacteristic = *characteristicP; + triggerLedCharacteristic = true; + } +} + +void discoveryTerminationCallback(Gap::Handle_t connectionHandle) { + printf("terminated SD for handle %u\r\n", connectionHandle); + if (triggerLedCharacteristic) { + triggerLedCharacteristic = false; + eventQueue.call(updateLedCharacteristic); + } +} + +void connectionCallback(const Gap::ConnectionCallbackParams_t *params) { + if (params->role == Gap::CENTRAL) { + BLE &ble = BLE::Instance(); + ble.gattClient().onServiceDiscoveryTermination(discoveryTerminationCallback); + ble.gattClient().launchServiceDiscovery(params->handle, serviceDiscoveryCallback, characteristicDiscoveryCallback, 0xa000, 0xa001); + } +} + +void triggerToggledWrite(const GattReadCallbackParams *response) { + if (response->handle == ledCharacteristic.getValueHandle()) { + printf("triggerToggledWrite: handle %u, offset %u, len %u\r\n", response->handle, response->offset, response->len); + for (unsigned index = 0; index < response->len; index++) { + printf("%c[%02x]", response->data[index], response->data[index]); + } + printf("\r\n"); + + uint8_t toggledValue = response->data[0] ^ 0x1; + ledCharacteristic.write(1, &toggledValue); + } +} + +void triggerRead(const GattWriteCallbackParams *response) { + if (response->handle == ledCharacteristic.getValueHandle()) { + ledCharacteristic.read(); + } +} + +void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *) { + printf("disconnected\r\n"); + /* Start scanning and try to connect again */ + BLE::Instance().gap().startScan(advertisementCallback); +} + +void onBleInitError(BLE &ble, ble_error_t error) +{ + /* Initialization error handling should go here */ +} + +void printMacAddress() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + for (int i = 5; i >= 1; i--){ + printf("%02x:", address[i]); + } + printf("%02x\r\n", address[0]); +} + +void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) +{ + BLE& ble = params->ble; + ble_error_t error = params->error; + + if (error != BLE_ERROR_NONE) { + /* In case of error, forward the error handling to onBleInitError */ + onBleInitError(ble, error); + return; + } + + /* Ensure that it is the default instance of BLE */ + if (ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { + return; + } + + ble.gap().onDisconnection(disconnectionCallback); + ble.gap().onConnection(connectionCallback); + + ble.gattClient().onDataRead(triggerToggledWrite); + ble.gattClient().onDataWrite(triggerRead); + + // scan interval: 400ms and scan window: 400ms. + // Every 400ms the device will scan for 400ms + // This means that the device will scan continuously. + ble.gap().setScanParams(400, 400); + ble.gap().startScan(advertisementCallback); + + printMacAddress(); +} + +void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { + BLE &ble = BLE::Instance(); + eventQueue.call(Callback(&ble, &BLE::processEvents)); +} + +int main() +{ + triggerLedCharacteristic = false; + eventQueue.call_every(500, periodicCallback); + + BLE &ble = BLE::Instance(); + ble.onEventsToProcess(scheduleBleEventsProcessing); + ble.init(bleInitComplete); + + eventQueue.dispatch_forever(); + + return 0; +} diff --git a/BLE_Privacy/deprecated/BLE_Privacy/.mbed b/BLE_Privacy/deprecated/BLE_Privacy/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_Privacy/deprecated/BLE_Privacy/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_Privacy/deprecated/BLE_Privacy/README.md b/BLE_Privacy/deprecated/BLE_Privacy/README.md new file mode 100644 index 00000000..d41ce7d7 --- /dev/null +++ b/BLE_Privacy/deprecated/BLE_Privacy/README.md @@ -0,0 +1,27 @@ +# Privacy - example usage of the privacy feature + +Demonstration of privacy features in Gap. It shows how to use private addresses when advertising and connecting and how filtering ties in with these operations. + +The application will start by repeatedly trying to connect to the same application running on another board. It will do this by advertising and scanning for random intervals waiting until the difference in intervals between the boards will make them meet when one is advertising and the other scanning. + +Two devices will be operating using random resolvable addresses. The application will connect to the peer and pair. It will attempt bonding and if possible create a whitelist based on the bond. + +Subsequent connections will turn on filtering if the whitelist has been successfully created. + +# Running the application + +## Requirements + +Application requires two devices. Each one should be loaded with the same example. The application will alternate between scanning and advertising until the two devices find each other and the demonstration proceeds. + +Information about activity is printed over the serial connection - please have two clients open, each connected to a device. You may use: + +- [Tera Term](https://ttssh2.osdn.jp/index.html.en) + +Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Building instructions + +Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +Note: example currently doesn't use ST provided stack and instead uses a Cordio port for the ST. diff --git a/BLE_Privacy/deprecated/BLE_Privacy/mbed-os.lib b/BLE_Privacy/deprecated/BLE_Privacy/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_Privacy/deprecated/BLE_Privacy/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_Privacy/deprecated/BLE_Privacy/mbed_app.json b/BLE_Privacy/deprecated/BLE_Privacy/mbed_app.json new file mode 100644 index 00000000..3d7e84e2 --- /dev/null +++ b/BLE_Privacy/deprecated/BLE_Privacy/mbed_app.json @@ -0,0 +1,5 @@ +{ + "target_overrides": { + + } +} diff --git a/BLE_Privacy/deprecated/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Privacy/deprecated/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..a73dc227 --- /dev/null +++ b/BLE_Privacy/deprecated/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc \ No newline at end of file diff --git a/BLE_Privacy/deprecated/BLE_Privacy/source/main.cpp b/BLE_Privacy/deprecated/BLE_Privacy/source/main.cpp new file mode 100644 index 00000000..2e9fdf5a --- /dev/null +++ b/BLE_Privacy/deprecated/BLE_Privacy/source/main.cpp @@ -0,0 +1,498 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include "ble/BLE.h" +#include "SecurityManager.h" +#include + +/** This example demonstrates privacy features in Gap. It shows how to use + * private addresses when advertising and connecting and how filtering ties + * in with these operations. + * + * The application will start by repeatedly trying to connect to the same + * application running on another board. It will do this by advertising and + * scanning for random intervals waiting until the difference in intervals + * between the boards will make them meet when one is advertising and the + * other scanning. + * + * Two devices will be operating using random resolvable addresses. The + * applications will connect to the peer and pair. It will attempt bonding + * to store the IRK that resolve the peer. Subsequent connections will + * turn on filtering based on stored IRKs. + */ + +static const uint8_t DEVICE_NAME[] = "Privacy"; + +/** print device address to the terminal */ +void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +/** Base class for both peripheral and central. The same class that provides + * the logic for the application also implements the SecurityManagerEventHandler + * which is the interface used by the Security Manager to communicate events + * back to the applications. You can provide overrides for a selection of events + * your application is interested in. + */ +class PrivacyDevice : private mbed::NonCopyable, + public SecurityManager::EventHandler +{ +public: + PrivacyDevice(BLE &ble, events::EventQueue &event_queue) : + _ble(ble), + _event_queue(event_queue), + _handle(0), + _bonded(false), + _led1(LED1, 0) { }; + + virtual ~PrivacyDevice() { + _ble.onEventsToProcess(NULL); + }; + + /** Start BLE interface initialisation */ + void run() + { + /* to show we're running we'll blink every 500ms */ + _event_queue.call_every(500, this, &PrivacyDevice::blink); + + /* this will inform us off all events so we can schedule their handling + * using our event queue */ + _ble.onEventsToProcess( + makeFunctionPointer(this, &PrivacyDevice::schedule_ble_events) + ); + + if (_ble.hasInitialized()) { + /* ble instance already initialised, skip init and start activity */ + start(); + } else { + ble_error_t error = _ble.init(this, &PrivacyDevice::on_init_complete); + + if (error) { + printf("Error returned by BLE::init.\r\n"); + return; + } + } + + /* this will not return until shutdown */ + _event_queue.dispatch_forever(); + }; + + /** Override to start chosen activity when initialisation completes */ + virtual void start() = 0; + + /** Override to start chosen activity after initial bonding */ + virtual void start_after_bonding() = 0; + + /* event handler functions */ + + /** Inform the application of pairing */ + virtual void pairingResult( + ble::connection_handle_t connectionHandle, + SecurityManager::SecurityCompletionStatus_t result + ) { + if (result == SecurityManager::SEC_STATUS_SUCCESS) { + printf("Pairing successful\r\n"); + _bonded = true; + } else { + printf("Pairing failed\r\n"); + } + + /* disconnect in 2s */ + _event_queue.call_in( + 2000, &_ble.gap(), + &Gap::disconnect, _handle, Gap::REMOTE_USER_TERMINATED_CONNECTION + ); + } + + /* callbacks */ + + /** This is called when BLE interface is initialised and starts the demonstration */ + void on_init_complete(BLE::InitializationCompleteCallbackContext *event) + { + ble_error_t error; + + if (event->error) { + printf("Error during the initialisation\r\n"); + _event_queue.break_dispatch(); + return; + } + + /* for use by tools we print out own address and also use it + * to seed RNG as the address is unique */ + print_local_address(); + + /* when scanning we want to connect to a peer device so we need to + * attach callbacks that are used by Gap to notify us of events */ + _ble.gap().onConnection(this, &PrivacyDevice::on_connect); + _ble.gap().onDisconnection(this, &PrivacyDevice::on_disconnect); + _ble.gap().onTimeout(makeFunctionPointer(this, &PrivacyDevice::on_timeout)); + + /* Privacy requires the security manager */ + + error = _ble.securityManager().init( + /* enableBonding */ true, + /* requireMITM */ false, + /* iocaps */ SecurityManager::IO_CAPS_NONE, + /* passkey */ NULL, + /* signing */ false, + /* dbFilepath */ NULL + ); + + if (error) { + printf("Error during security manager initialisation\r\n"); + _event_queue.break_dispatch(); + return; + } + + /* Tell the security manager to use methods in this class to inform us + * of any events. Class needs to implement SecurityManagerEventHandler. */ + _ble.securityManager().setSecurityManagerEventHandler(this); + + /* privacy */ + + error = _ble.gap().enablePrivacy(true); + + if (error) { + printf("Error enabling privacy.\r\n"); + _event_queue.break_dispatch(); + return; + } + + start(); + }; + + /** This is called by Gap to notify the application we connected */ + void on_connect(const Gap::ConnectionCallbackParams_t *connection_event) + { + printf("Connected to peer: "); + print_address(connection_event->peerAddr); + printf("Peer random resolvable address: "); + print_address(connection_event->peerResolvableAddr); + + _handle = connection_event->handle; + + if (_bonded) { + /* disconnect in 2s */ + _event_queue.call_in( + 2000, &_ble.gap(), + &Gap::disconnect, _handle, Gap::REMOTE_USER_TERMINATED_CONNECTION + ); + } + }; + + /** This is called by Gap to notify the application we disconnected */ + void on_disconnect(const Gap::DisconnectionCallbackParams_t *event) + { + if (_bonded) { + /* we have connected to and bonded with the other device, from now + * on we will use the second start function and stay in the same role + * as peripheral or central */ + printf("Disconnected.\r\n"); + _event_queue.call_in(2000, this, &PrivacyDevice::start_after_bonding); + } else { + printf("Failed to bond.\r\n"); + _event_queue.break_dispatch(); + } + }; + + /** When scanning on advertising time runs out this is called */ + void on_timeout(const Gap::TimeoutSource_t source) + { + /* if we failed to find the other device, abort so that we change roles */ + printf("Haven't seen other device, switch modes.\r\n"); + _event_queue.break_dispatch(); + }; + + /** Schedule processing of events from the BLE in the event queue. */ + void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) + { + _event_queue.call(mbed::callback(&context->ble, &BLE::processEvents)); + }; + + /** Blink LED to show we're running */ + void blink(void) + { + _led1 = !_led1; + }; + + void print_local_address() + { + /* show what address we are using now */ + Gap::AddressType_t addr_type; + Gap::Address_t addr; + _ble.gap().getAddress(&addr_type, addr); + printf("Device address: "); + print_address(addr); + + if (!_seeded) { + _seeded = true; + /* use the address as a seed */ + uint8_t* random_data = addr; + srand(*((unsigned int*)random_data)); + } + } + +public: + static bool _seeded; + +protected: + BLE &_ble; + events::EventQueue &_event_queue; + ble::connection_handle_t _handle; + bool _bonded; + +private: + DigitalOut _led1; +}; + +/** A peripheral device will advertise and accept the connections */ +class PrivacyPeripheral : public PrivacyDevice { +public: + PrivacyPeripheral(BLE &ble, events::EventQueue &event_queue) + : PrivacyDevice(ble, event_queue) { } + + /** Set up and start advertising accepting anyone */ + virtual void start() + { + if (!set_advertising_data()) { + return; + } + + Gap::PeripheralPrivacyConfiguration_t privacy_configuration = { + /* use_non_resolvable_random_address */ false, + Gap::PeripheralPrivacyConfiguration_t::PERFORM_PAIRING_PROCEDURE + }; + + _ble.gap().setPeripheralPrivacyConfiguration(&privacy_configuration); + + start_advertising(); + }; + + /** advertise and filter based on known devices */ + virtual void start_after_bonding() + { + Gap::PeripheralPrivacyConfiguration_t privacy_configuration = { + /* use_non_resolvable_random_address */ false, + Gap::PeripheralPrivacyConfiguration_t::REJECT_NON_RESOLVED_ADDRESS + }; + + _ble.gap().setPeripheralPrivacyConfiguration(&privacy_configuration); + + start_advertising(); + } + + /* helper functions */ + +private: + bool set_advertising_data() + { + GapAdvertisingData advertising_data; + + /* add device name */ + advertising_data.addData( + GapAdvertisingData::COMPLETE_LOCAL_NAME, + DEVICE_NAME, + sizeof(DEVICE_NAME) + ); + + ble_error_t error = _ble.gap().setAdvertisingPayload(advertising_data); + + if (error) { + printf("Error during Gap::setAdvertisingPayload\r\n"); + _event_queue.break_dispatch(); + return false; + } + + return true; + } + + bool start_advertising() + { + _ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); + _ble.gap().setAdvertisingInterval(20); + + if (_bonded) { + /* if we bonded it means we have found the other device, from now on + * wait at each step until completion */ + _ble.gap().setAdvertisingTimeout(0); + } else { + /* since we have two boards which might start running this example at the same time + * we randomise the interval of advertising to have them meet when one is advertising + * and the other one is scanning (we use their random address as source of randomness) */ + const uint16_t random_interval = 1 + rand() % 5; + _ble.gap().setAdvertisingTimeout(random_interval); + } + + ble_error_t error = _ble.gap().startAdvertising(); + + if (error) { + printf("Error during Gap::startAdvertising.\r\n"); + _event_queue.break_dispatch(); + return false; + } + + printf("Advertising...\r\n"); + + return true; + } + +}; + +/** A central device will scan and connect to a peer. */ +class PrivacyCentral : public PrivacyDevice { +public: + PrivacyCentral(BLE &ble, events::EventQueue &event_queue) + : PrivacyDevice(ble, event_queue), + _is_connecting(false) { } + + /** start scanning and attach a callback that will handle advertisements + * and scan requests responses */ + virtual void start() + { + Gap::CentralPrivacyConfiguration_t privacy_configuration = { + /* use_non_resolvable_random_address */ false, + Gap::CentralPrivacyConfiguration_t::DO_NOT_RESOLVE + }; + + _ble.gap().setCentralPrivacyConfiguration(&privacy_configuration); + + start_scanning(); + } + + virtual void start_after_bonding() + { + Gap::CentralPrivacyConfiguration_t privacy_configuration = { + /* use_non_resolvable_random_address */ false, + Gap::CentralPrivacyConfiguration_t::RESOLVE_AND_FILTER + }; + + _ble.gap().setCentralPrivacyConfiguration(&privacy_configuration); + + start_scanning(); + } + + /* callbacks */ + + /** Look at scan payload to find a peer device and connect to it */ + void on_scan(const Gap::AdvertisementCallbackParams_t *params) + { + /* don't bother with analysing scan result if we're already connecting */ + if (_is_connecting) { + return; + } + + /* parse the advertising payload, looking for a discoverable device */ + for (uint8_t i = 0; (i + 2) < params->advertisingDataLen; ++i) { + /* The advertising payload is a collection of key/value records where + * byte 0: length of the record excluding this byte + * byte 1: The key, it is the type of the data + * byte [2..N] The value. N is equal to byte0 - 1 */ + const uint8_t max_record_length = params->advertisingDataLen - i; + const uint8_t record_length = std::min(params->advertisingData[i], + max_record_length); + const uint8_t type = params->advertisingData[i + 1]; + const uint8_t *value = params->advertisingData + i + 2; + + if (record_length < 2) { + /* malformed record */ + } else if (type == GapAdvertisingData::COMPLETE_LOCAL_NAME) { + /* connect based on the name of the device */ + if (memcmp((const char*)DEVICE_NAME, (const char*)value, record_length - 1) == 0) { + _ble.gap().stopScan(); + + ble_error_t error = _ble.gap().connect( + params->peerAddr, params->peerAddrType, + NULL, NULL + ); + + if (error) { + printf("Error during Gap::connect %d\r\n", error); + return; + } + + /* we may have already scan events waiting + * to be processed so we need to remember + * that we are already connecting and ignore them */ + _is_connecting = true; + + return; + } + } + + i += record_length; + } + }; + + /* helper functions */ +private: + bool start_scanning() { + if (_bonded) { + /* if we bonded it means we have found the other device, from now on + * wait at each step until completion */ + _ble.gap().setScanParams(4, 4, 0 /*timeout*/); + } else { + /* otherwise only scan for a limited time before changing roles again + * if we fail to find the other device */ + _ble.gap().setScanParams(4, 4, 4/*timeout*/); + } + + _is_connecting = false; + + ble_error_t error = _ble.gap().startScan(this, &PrivacyCentral::on_scan); + + if (error) { + printf("Error during Gap::startScan %d\r\n", error); + _event_queue.break_dispatch(); + return false; + } + + printf("Scanning...\r\n"); + + return true; + } + +private: + bool _is_connecting; +}; + +/* only seed the random number generation once per application run */ +bool PrivacyDevice::_seeded = false; + +int main() +{ + BLE& ble = BLE::Instance(); + + while(1) { + { + events::EventQueue queue; + printf("\r\n * Device is a peripheral *\r\n\r\n"); + PrivacyPeripheral peripheral(ble, queue); + peripheral.run(); + } + { + events::EventQueue queue; + printf("\r\n * Device is a central *\r\n\r\n"); + PrivacyCentral central(ble, queue); + central.run(); + } + } + + return 0; +} diff --git a/BLE_SM/deprecated/BLE_SM/.mbed b/BLE_SM/deprecated/BLE_SM/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_SM/deprecated/BLE_SM/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_SM/deprecated/BLE_SM/README.md b/BLE_SM/deprecated/BLE_SM/README.md new file mode 100644 index 00000000..f082d213 --- /dev/null +++ b/BLE_SM/deprecated/BLE_SM/README.md @@ -0,0 +1,29 @@ +# SM - example usage of the Security Manager to pair and encrypt + +Demonstration of possible usage of the Security Manager. Security Manager deals with pairing, authentication and encryption. + +The application demonstrates usage as a central and a peripheral. The central will connect to any connectable device present. Please have one ready and advertising. Application will attempt pairing. Please authorise your peer device to pair. + +Upon success it will disconnect and start advertising to demonstrate usage as a peripheral. Please scan and connect using your peer device. Upon connection grant pairing if prompted. Upon success the application will disconnect. Observe the terminal to keep track of the sequence. + +# Running the application + +## Requirements + +The sample application can be seen on any BLE scanner on a smartphone. If you don't have a scanner on your phone, please install : + +- [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android. + +- [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone. + +Information about activity is printed over the serial connection - please have a client open. You may use: + +- [Tera Term](https://ttssh2.osdn.jp/index.html.en) + +Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Building instructions + +Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +Note: this example currently is currently not supported on ST BLUENRG targets. diff --git a/BLE_SM/deprecated/BLE_SM/mbed-os.lib b/BLE_SM/deprecated/BLE_SM/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_SM/deprecated/BLE_SM/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_SM/deprecated/BLE_SM/mbed_app.json b/BLE_SM/deprecated/BLE_SM/mbed_app.json new file mode 100644 index 00000000..c0c0def4 --- /dev/null +++ b/BLE_SM/deprecated/BLE_SM/mbed_app.json @@ -0,0 +1,23 @@ +{ + "config": { + "filesystem_support": { + "help": "Whether filesystem is supported on the target", + "value": 1 + } + }, + "target_overrides": { + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "filesystem_support": 0 + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + } + } +} diff --git a/BLE_SM/deprecated/BLE_SM/module.json b/BLE_SM/deprecated/BLE_SM/module.json new file mode 100644 index 00000000..ce0e2de6 --- /dev/null +++ b/BLE_SM/deprecated/BLE_SM/module.json @@ -0,0 +1,15 @@ +{ + "name": "ble-securitymanager", + "version": "0.0.1", + "description": "BLE Security Manager usage example", + "licenses": [ + { + "url": "https://spdx.org/licenses/Apache-2.0", + "type": "Apache-2.0" + } + ], + "dependencies": { + "ble": "^2.0.0" + }, + "bin": "./source" +} diff --git a/BLE_SM/deprecated/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_SM/deprecated/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..a73dc227 --- /dev/null +++ b/BLE_SM/deprecated/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc \ No newline at end of file diff --git a/BLE_SM/deprecated/BLE_SM/source/main.cpp b/BLE_SM/deprecated/BLE_SM/source/main.cpp new file mode 100644 index 00000000..61f9ec6d --- /dev/null +++ b/BLE_SM/deprecated/BLE_SM/source/main.cpp @@ -0,0 +1,512 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include "ble/BLE.h" +#include "SecurityManager.h" + +#if MBED_CONF_APP_FILESYSTEM_SUPPORT +#include "LittleFileSystem.h" +#include "HeapBlockDevice.h" +#endif //MBED_CONF_APP_FILESYSTEM_SUPPORT + +/** This example demonstrates all the basic setup required + * for pairing and setting up link security both as a central and peripheral + * + * The example is implemented as two classes, one for the peripheral and one + * for central inheriting from a common base. They are run in sequence and + * require a peer device to connect to. During the peripheral device demonstration + * a peer device is required to connect. In the central device demonstration + * this peer device will be scanned for and connected to - therefore it should + * be advertising with the same address as when it connected. + * + * During the test output is written on the serial connection to monitor its + * progress. + */ + +static const uint8_t DEVICE_NAME[] = "SM_device"; + +/* for demonstration purposes we will store the peer device address + * of the device that connects to us in the first demonstration + * so we can use its address to reconnect to it later */ +static BLEProtocol::AddressBytes_t peer_address; + +/** Base class for both peripheral and central. The same class that provides + * the logic for the application also implements the SecurityManagerEventHandler + * which is the interface used by the Security Manager to communicate events + * back to the applications. You can provide overrides for a selection of events + * your application is interested in. + */ +class SMDevice : private mbed::NonCopyable, + public SecurityManager::EventHandler +{ +public: + SMDevice(BLE &ble, events::EventQueue &event_queue, BLEProtocol::AddressBytes_t &peer_address) : + _led1(LED1, 0), + _ble(ble), + _event_queue(event_queue), + _peer_address(peer_address), + _handle(0), + _is_connecting(false) { }; + + virtual ~SMDevice() + { + if (_ble.hasInitialized()) { + _ble.shutdown(); + } + }; + + /** Start BLE interface initialisation */ + void run() + { + ble_error_t error; + + /* to show we're running we'll blink every 500ms */ + _event_queue.call_every(500, this, &SMDevice::blink); + + if (_ble.hasInitialized()) { + printf("Ble instance already initialised.\r\n"); + return; + } + + /* this will inform us off all events so we can schedule their handling + * using our event queue */ + _ble.onEventsToProcess( + makeFunctionPointer(this, &SMDevice::schedule_ble_events) + ); + + /* handle timeouts, for example when connection attempts fail */ + _ble.gap().onTimeout( + makeFunctionPointer(this, &SMDevice::on_timeout) + ); + + error = _ble.init(this, &SMDevice::on_init_complete); + + if (error) { + printf("Error returned by BLE::init.\r\n"); + return; + } + + /* this will not return until shutdown */ + _event_queue.dispatch_forever(); + }; + + /* event handler functions */ + + /** Respond to a pairing request. This will be called by the stack + * when a pairing request arrives and expects the application to + * call acceptPairingRequest or cancelPairingRequest */ + virtual void pairingRequest( + ble::connection_handle_t connectionHandle + ) { + printf("Pairing requested - authorising\r\n"); + _ble.securityManager().acceptPairingRequest(connectionHandle); + } + + /** Inform the application of a successful pairing. Terminate the demonstration. */ + virtual void pairingResult( + ble::connection_handle_t connectionHandle, + SecurityManager::SecurityCompletionStatus_t result + ) { + if (result == SecurityManager::SEC_STATUS_SUCCESS) { + printf("Pairing successful\r\n"); + } else { + printf("Pairing failed\r\n"); + } + } + + /** Inform the application of change in encryption status. This will be + * communicated through the serial port */ + virtual void linkEncryptionResult( + ble::connection_handle_t connectionHandle, + ble::link_encryption_t result + ) { + if (result == ble::link_encryption_t::ENCRYPTED) { + printf("Link ENCRYPTED\r\n"); + } else if (result == ble::link_encryption_t::ENCRYPTED_WITH_MITM) { + printf("Link ENCRYPTED_WITH_MITM\r\n"); + } else if (result == ble::link_encryption_t::NOT_ENCRYPTED) { + printf("Link NOT_ENCRYPTED\r\n"); + } + + /* disconnect in 2 s */ + _event_queue.call_in( + 2000, &_ble.gap(), + &Gap::disconnect, _handle, Gap::REMOTE_USER_TERMINATED_CONNECTION + ); + } + +private: + /** Override to start chosen activity when initialisation completes */ + virtual void start() = 0; + + /** This is called when BLE interface is initialised and starts the demonstration */ + void on_init_complete(BLE::InitializationCompleteCallbackContext *event) + { + ble_error_t error; + + if (event->error) { + printf("Error during the initialisation\r\n"); + return; + } + + /* This path will be used to store bonding information but will fallback + * to storing in memory if file access fails (for example due to lack of a filesystem) */ + const char* db_path = "/fs/bt_sec_db"; + /* If the security manager is required this needs to be called before any + * calls to the Security manager happen. */ + error = _ble.securityManager().init( + true, + false, + SecurityManager::IO_CAPS_NONE, + NULL, + false, + db_path + ); + + if (error) { + printf("Error during init %d\r\n", error); + return; + } + + error = _ble.securityManager().preserveBondingStateOnReset(true); + + if (error) { + printf("Error during preserveBondingStateOnReset %d\r\n", error); + } + +#if MBED_CONF_APP_FILESYSTEM_SUPPORT + /* Enable privacy so we can find the keys */ + error = _ble.gap().enablePrivacy(true); + + if (error) { + printf("Error enabling privacy\r\n"); + } + + Gap::PeripheralPrivacyConfiguration_t configuration_p = { + /* use_non_resolvable_random_address */ false, + Gap::PeripheralPrivacyConfiguration_t::REJECT_NON_RESOLVED_ADDRESS + }; + _ble.gap().setPeripheralPrivacyConfiguration(&configuration_p); + + Gap::CentralPrivacyConfiguration_t configuration_c = { + /* use_non_resolvable_random_address */ false, + Gap::CentralPrivacyConfiguration_t::RESOLVE_AND_FORWARD + }; + _ble.gap().setCentralPrivacyConfiguration(&configuration_c); + + /* this demo switches between being master and slave */ + _ble.securityManager().setHintFutureRoleReversal(true); +#endif + + /* Tell the security manager to use methods in this class to inform us + * of any events. Class needs to implement SecurityManagerEventHandler. */ + _ble.securityManager().setSecurityManagerEventHandler(this); + + /* print device address */ + Gap::AddressType_t addr_type; + Gap::Address_t addr; + _ble.gap().getAddress(&addr_type, addr); + printf("Device address: %02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); + + /* when scanning we want to connect to a peer device so we need to + * attach callbacks that are used by Gap to notify us of events */ + _ble.gap().onConnection(this, &SMDevice::on_connect); + _ble.gap().onDisconnection(this, &SMDevice::on_disconnect); + + /* start test in 500 ms */ + _event_queue.call_in(500, this, &SMDevice::start); + }; + + /** This is called by Gap to notify the application we connected */ + virtual void on_connect(const Gap::ConnectionCallbackParams_t *connection_event) = 0; + + /** This is called by Gap to notify the application we disconnected, + * in our case it ends the demonstration. */ + void on_disconnect(const Gap::DisconnectionCallbackParams_t *event) + { + printf("Diconnected\r\n"); + _event_queue.break_dispatch(); + }; + + /** End demonstration unexpectedly. Called if timeout is reached during advertising, + * scanning or connection initiation */ + void on_timeout(const Gap::TimeoutSource_t source) + { + printf("Unexpected timeout - aborting\r\n"); + _event_queue.break_dispatch(); + }; + + /** Schedule processing of events from the BLE in the event queue. */ + void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) + { + _event_queue.call(mbed::callback(&context->ble, &BLE::processEvents)); + }; + + /** Blink LED to show we're running */ + void blink(void) + { + _led1 = !_led1; + }; + +private: + DigitalOut _led1; + +protected: + BLE &_ble; + events::EventQueue &_event_queue; + BLEProtocol::AddressBytes_t &_peer_address; + ble::connection_handle_t _handle; + bool _is_connecting; +}; + +/** A peripheral device will advertise, accept the connection and request + * a change in link security. */ +class SMDevicePeripheral : public SMDevice { +public: + SMDevicePeripheral(BLE &ble, events::EventQueue &event_queue, BLEProtocol::AddressBytes_t &peer_address) + : SMDevice(ble, event_queue, peer_address) { } + + virtual void start() + { + /* Set up and start advertising */ + + ble_error_t error; + GapAdvertisingData advertising_data; + + /* add advertising flags */ + advertising_data.addFlags(GapAdvertisingData::LE_GENERAL_DISCOVERABLE + | GapAdvertisingData::BREDR_NOT_SUPPORTED); + + /* add device name */ + advertising_data.addData( + GapAdvertisingData::COMPLETE_LOCAL_NAME, + DEVICE_NAME, + sizeof(DEVICE_NAME) + ); + + error = _ble.gap().setAdvertisingPayload(advertising_data); + + if (error) { + printf("Error during Gap::setAdvertisingPayload\r\n"); + return; + } + + /* advertise to everyone */ + _ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); + /* how many milliseconds between advertisements, lower interval + * increases the chances of being seen at the cost of more power */ + _ble.gap().setAdvertisingInterval(20); + _ble.gap().setAdvertisingTimeout(0); + + error = _ble.gap().startAdvertising(); + + if (error) { + printf("Error during Gap::startAdvertising.\r\n"); + return; + } + + printf("Please connect to device\r\n"); + + /** This tells the stack to generate a pairingRequest event + * which will require this application to respond before pairing + * can proceed. Setting it to false will automatically accept + * pairing. */ + _ble.securityManager().setPairingRequestAuthorisation(true); + }; + + /** This is called by Gap to notify the application we connected, + * in our case it immediately requests a change in link security */ + virtual void on_connect(const Gap::ConnectionCallbackParams_t *connection_event) + { + ble_error_t error; + + /* remember the device that connects to us now so we can connect to it + * during the next demonstration */ + memcpy(_peer_address, connection_event->peerAddr, sizeof(_peer_address)); + + printf("Connected to: %02x:%02x:%02x:%02x:%02x:%02x\r\n", + _peer_address[5], _peer_address[4], _peer_address[3], + _peer_address[2], _peer_address[1], _peer_address[0]); + + /* store the handle for future Security Manager requests */ + _handle = connection_event->handle; + + /* Request a change in link security. This will be done + * indirectly by asking the master of the connection to + * change it. Depending on circumstances different actions + * may be taken by the master which will trigger events + * which the applications should deal with. */ + error = _ble.securityManager().setLinkSecurity( + _handle, + SecurityManager::SECURITY_MODE_ENCRYPTION_NO_MITM + ); + + if (error) { + printf("Error during SM::setLinkSecurity %d\r\n", error); + return; + } + }; +}; + +/** A central device will scan, connect to a peer and request pairing. */ +class SMDeviceCentral : public SMDevice { +public: + SMDeviceCentral(BLE &ble, events::EventQueue &event_queue, BLEProtocol::AddressBytes_t &peer_address) + : SMDevice(ble, event_queue, peer_address) { } + + virtual void start() + { + /* start scanning and attach a callback that will handle advertisements + * and scan requests responses */ + ble_error_t error = _ble.gap().startScan(this, &SMDeviceCentral::on_scan); + + printf("Please advertise\r\n"); + + printf("Scanning for: %02x:%02x:%02x:%02x:%02x:%02x\r\n", + _peer_address[5], _peer_address[4], _peer_address[3], + _peer_address[2], _peer_address[1], _peer_address[0]); + + if (error) { + printf("Error during Gap::startScan %d\r\n", error); + return; + } + } + + /** Look at scan payload to find a peer device and connect to it */ + void on_scan(const Gap::AdvertisementCallbackParams_t *params) + { + /* don't bother with analysing scan result if we're already connecting */ + if (_is_connecting) { + return; + } + + /* connect to the same device that connected to us */ + if (memcmp(params->peerAddr, _peer_address, sizeof(_peer_address)) == 0) { + + ble_error_t error = _ble.gap().connect( + params->peerAddr, params->peerAddrType, + NULL, NULL + ); + + if (error) { + printf("Error during Gap::connect %d\r\n", error); + return; + } + + printf("Connecting... "); + + /* we may have already scan events waiting + * to be processed so we need to remember + * that we are already connecting and ignore them */ + _is_connecting = true; + + return; + } + }; + + /** This is called by Gap to notify the application we connected, + * in our case it immediately request pairing */ + virtual void on_connect(const Gap::ConnectionCallbackParams_t *connection_event) + { + ble_error_t error; + + /* store the handle for future Security Manager requests */ + _handle = connection_event->handle; + + /* in this example the local device is the master so we request pairing */ + error = _ble.securityManager().requestPairing(_handle); + + printf("Connected\r\n"); + + if (error) { + printf("Error during SM::requestPairing %d\r\n", error); + return; + } + + /* upon pairing success the application will disconnect */ + }; +}; + + +#if MBED_CONF_APP_FILESYSTEM_SUPPORT +bool create_filesystem() +{ + static LittleFileSystem fs("fs"); + + /* replace this with any physical block device your board supports (like an SD card) */ + static HeapBlockDevice bd(4096, 256); + + int err = bd.init(); + + if (err) { + return false; + } + + err = bd.erase(0, bd.size()); + + if (err) { + return false; + } + + err = fs.mount(&bd); + + if (err) { + /* Reformat if we can't mount the filesystem */ + printf("No filesystem found, formatting...\r\n"); + + err = fs.reformat(&bd); + + if (err) { + return false; + } + } + + return true; +} +#endif //MBED_CONF_APP_FILESYSTEM_SUPPORT + +int main() +{ + BLE& ble = BLE::Instance(); + events::EventQueue queue; + +#if MBED_CONF_APP_FILESYSTEM_SUPPORT + /* if filesystem creation fails or there is no filesystem the security manager + * will fallback to storing the security database in memory */ + if (!create_filesystem()) { + printf("Filesystem creation failed, will use memory storage\r\n"); + } +#endif + + while(1) { + { + printf("\r\n PERIPHERAL \r\n\r\n"); + SMDevicePeripheral peripheral(ble, queue, peer_address); + peripheral.run(); + } + + { + printf("\r\n CENTRAL \r\n\r\n"); + SMDeviceCentral central(ble, queue, peer_address); + central.run(); + } + } + + return 0; +} diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/.mbed b/BLE_Thermometer/deprecated/BLE_Thermometer/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_Thermometer/deprecated/BLE_Thermometer/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/img/connection.png b/BLE_Thermometer/deprecated/BLE_Thermometer/img/connection.png new file mode 100644 index 0000000000000000000000000000000000000000..0f51e450b6d89b7f3268df85110da22d60ba8b93 GIT binary patch literal 77296 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 literal 0 HcmV?d00001 diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/img/discovery.png b/BLE_Thermometer/deprecated/BLE_Thermometer/img/discovery.png new file mode 100644 index 0000000000000000000000000000000000000000..03abd2f2362c0c081b537da16e499ba56b9963b3 GIT binary patch literal 72459 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¥h?a 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

ICB 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 V^#!YL_A~HDQC3Z+O3LiR{{U|KsK@{S literal 0 HcmV?d00001 diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/img/scan_results.png b/BLE_Thermometer/deprecated/BLE_Thermometer/img/scan_results.png new file mode 100644 index 0000000000000000000000000000000000000000..0f495f82adbc5eb6b28004c485fb3f48c3357bb0 GIT binary patch literal 73954 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

@@? z)Yd{UW-L-8*-zAZv3blm?CNANMSC_x7{U+^GrQrPf_Xv^1*Cj#H~QC@v{VH{$W^I9 zlXch+CK9_vDmGi-awE|^c5nzG#JI%RTQQNZB^Ob;!;3Iz+pz9AA(iP4l#0k1$Y8Rz zvKGb@>O(KBXEg9;bJ;|X;CACX)!Y1hep`5_!3eQ~n={%9-L$@hHdiNqGirfV6zm|R zcv4DALSF^+fG?XYkx&J28>rtj{%HQmqo;3ZQ*XF5jX5w!t1LSp!5p*Q01m`w3=*<+ z16NQR`pahnJjkS@F!H9YCrC=AE?2AP#rL={lN$>Lz4GWqV*=;P+Ie1g!lGS;%DR-jG4$nzI~xs`H@>#hR(QpgIE$aCL3r5JSZ58 z#~4PvS#%|zRPsdlKMaWHGD1SIMBB_{Qa^IHhr~~P!#b>Hd>EpAm5cB*s~|wA&enPO zVF7Uy*zryIvhQ0X8@|t0P z*_%SMND4!P!d@HtOreo7UpHBwLy3iDz~SRHyW4>Aw_)8K3%kiQB%Hg^;eqx>{CJCa z|KX&i66VlawT$zXu;Kp#@jwp0aF)i06FiPO7vYTiqM#inA2wzX>lKfW3!wK2r|XTbL^0kw6K>!!-jB{vM}v;hFcWg zp!GX>gPjm23MYxZQGR6_EP3I0FkpjOfHNYP)Lq`i-`H?~2xsC>_1bH%1?wpqu5CiO z=bn4aUf_OiV|Ny)&{GH1 zp{{kxQ?AF|e~AE!9fnsvVQ&Y?t}ZKmV9T4FL}31X-|BgA}@rBL|s76_hHV! zR1mWRkhB4C6tdd@Wyr^Cf55T!D>pkT^6(5NJ`VTU)R-+GKvU)L zhPZ+9hnEXbh~fVujik9&U{!tE@OA7J?Pzwm64!#H;|p15*Pu zc4(B)B*ljm?;>6SOcat2o@3=2XCNX17c@{2z_yS?r@~?+>LBML;pOF^vDC|5D@Hf!ZYd#f$f&p%{Sj1)Shij-S`(=?Tt1>Ck}lB? z(@PntOcPD>vxPVOj>T3jS|50m*@=BGl|09rceJ|3lCM{dK9)SariIeyboGn$Zd?Ky z8H$h|b8=Iks(l~Z6A{Swutkp~t8Z{jlx#|Jd$M1;RM#EYN??=W$I5OPp_7VUs9 zA_O5kof@F{aN3~aU1-Z7EPnOt*UwDhMPtTvAD$vML0G}70vi4+ue=g`1Z@;TU1HrL z9l|=o6aq7dOmUAWEYi9#*@U(zUTs9&^dl&V9XN$iN z`Fo3ONU+;LqJqJr!;8OYv~t~^?+F4rnrT5WMxR7qu=}&EO-nv*xYP>VoSMU9KzWOm-HTfO9+wqeHzW>&4 zLzW5ig?fQl2>V!on16%VwG5IW_&5H|F=>N;^J(8c78>Sn77oGt_y=!q^|3$;xrg_8 z@zC7k_^>`+SPOa1LeR(NiI98vg9D2jK6rOl@ELoWgz(0(Y|Y>7##ZQkCvR-q^|8<_ z#M?LDd}Hphb|1_e?>aAe(Y}v+Joxz7IFze$D9tLZ@iXH=AWAWW}*ImJH z#Y=z2h?+D(h?0L;lH=R=vjskSb*3+C&}?7T!E=njuKn&@U)}fo7ygZVc!o4cyYFWU zecvtK5)>}U@(;-=V^RXst{w+YEK=$7?_wb8OjDNFRT#y(1&49m|8s42 zuWQLCuN+XP0^PlD4I0|Bk$I;zzssn3C?&Qe*sOsgZ{Q+_1u^W~N6;7X3}7K?cCEpF z4BITs3~;*>n;q_9|G$_q;39@I)evkPE_vAO0YZ9A*WtYYj||+0r^4vbqk}Fuu&E*) z+~H7HxB%j8H3a*H$>o`6o-w}6pbZ-~nD-DL0q?-G0lW9G(+>QiUYIh$L0)*f_uhMr zDTKA=5Z;gDaUb?|V1&2~_I(7b0ZuUC*i&bDN9u{cVPb;4 z8*Y5y0r}X|YUGa%Lh#jwsRIkC#~*)u(#;#rRd;FQ*m_j)rxyI2^@+q8-ihau^#plW zz8mM?(g$FYil>}d-f{8}%e%#$HkRHK(?*q;GBz&FUW1OtzX<4+C#S6rjbwkEZrf2M zZ+Rvi&~3+(EubPjcjhI6)2>IPa-8X6;mxgVJHK$xW4&+JNj_HFoiChC*%=NpUfZ)R z{N4Hoo=csgrS;msiaK4o4lE@V&!TQWujQpoKzn7NxYMO;M=x$%5-ne}6f;c65PCKl z<%ZKLowJ6b-Wr@}-Q<12wkUCR^6s1g6(=vr!ZjW9iQ9`K9V??e6+Z$pGqI=O#le+q z8@7d7ak^I}3xjkL&NeTpFij>4vyz;T3h0vDdTGRax(H^`o}DuzTdPjyMuMVlf^;z< zh{ha?4ZNta+7rqv^(GE9qMAA4>&mtnqo_?8@o-$+T75h`JKsr{zM3urMKUl==R8z{ zPUqH1Q{LRP<&t276m8F5BurC?UD-+}GeSvd?~>HE;dqTAplz483^vgeriG!V(gXhZH|4zS(MB>Qyx3$yR_w6_Z zPVK;}+nbn6>@vc63fOLWVjc)rE}q-@IN!D1;JlO<$$J5LyFG_+fZJP1)tp4QK{&&I z8<7SPVK7>qBDr6NYiDQsgw>ANFJ1bKmv&1R^M=>2KiqdG{oQRw5KdVttxD7$FQCz| zh&znvbqJ_0odWj}C;6|x{xTsu<;Wa#9t7{l(NKtOfnfEBG6%v&4&;T+A|PxcK^zKP z`T6kvY|!nwTSP5jU7nq6#TsV&uo6N%N2o%X0r5i+ zoe-OhA_-FnP2ezO$Pg311tC@4Vxb@%HsK)FHx6q+oRerm8tjFDdmc0g?u0& z?BnUBEClsOv^)^fA!anRMDT@OiKsJpw(~+bRGby~%P+r}Bd_p_h<}m?p5sU>JVSoS z19+9R4@B(E;2ZTt9nrSY2v{M&5O$Cv1S}3@Kom0cAvbLogD%$4*$}VGru)M>voIJ7AspA|3Lx z&#pvze0NZe5X7vc`mV>_E<8FXB^F1z=EEPTkGClMctrMf>eLB;n)-qe{{exNgw8$p zTptU_;NSQMe>f&C1Z&zM_wfhrOOPaa=nOQ(A6iK44Wz?6co(rYK!{Jl+IUF*yj47; zTm(Aej%)6*urO&Q2oCOj`Q?}9o?Cf{34%1-`NO8M3%7$R$$dTo%;dozoVn#CjzGGk z0l$1EqK^kS6N?2gS9qop#Lz8h6boWgU&L_{;w|^SUcGvSyoWy!KLi1#kRHLUq;0|l zqmul1%f64p3WRMF=_jmJhV+eSeJq{NmrxYH%TDh<%tq+!{dKsb0n%oWgZF^doa{y3QjZGrnlvF6lIFZkxd&bnndKlKm^E0an%FDA4EJQVC%?FdXNV(%w0OsD4TS@38IuOI z=}6iyp23WPQ+4eAhdvLD8?k0^AKzQFwkzT;meS%%g@A^Q80Y@I`R1F(EFow5*~rSd zcD+Qu76gHpauIJDgfjzevOBdKpEyOlRdw}ghHhw@Nu!1^h=w>tKKvaBA|ix&)<$Sipi!dcR|6_0 zs7W*tF&g8n!8iqeMHGyP$UF!d^BYt|prfE51PCAs-Avt$VCAg)dR493wa;*0y;nom zeOOlYyJy&E4{NWp@6@~{9i=ABjkmLV+kBMO;3u#ZUbBXWQ4yRlHcBl3EWB(1vH$?% z6Aqg(@uFkASsi2a3(^=9zKSvf;^em5ZfmZ1@qTa&ZO|5dtZpDLYRM?y;Xz=j6SD9( zkSP3y-f0`wr12e&!GH_k&|-4;GC+sjEF853Yg%OZHCm;W+#sI;2jpUaS@WMpDGC0SOF$ zqpUMm${ceBpy`wVVz3zi8~}$~L6jTtL7m!u5U2pu$$nT9#^rwa;EE7j!iJB>dT<4W zeLo>(z~x^6eETlIl#Hlz@4WNQ6ArV+%-^{+rpB18UIy78_Qa)h3eG9!%z0s#tFF4L zVZi{9Q%^m$0R{jn`owiS?7f_#=biXWft`X7+ECAUsV+b|z9nY#jq1?DHP>7dP!fTi0HOeR z)S7WQr2U|@!FNv*T)Y!&>H}b$`0!;6_Nqxg+$#r62H#~wRw4BRM#F=pb;Dz>bFb+9yHf2$wl zJQ@Ll6Qf|suorGp!r##ScH3>&Ts?u4yEswElY~!y`qLXwvAzOuM@<>_Jmr*A8a9a! zPpr`<&^c~8f^9(_kQ@#^_~21sR^40wwD0SdB z$HW>SFG^8NKCl;027+1ZE)R?vaZ-P>5CDr8hv*L8g36P7^j9>_Gew-k~4FOaR&dB2!SQz@om&As*yyYzuoD|29$-#^e zY#y^g8vqCD%or1Qn1KypJlsL1*%I?&i_F(&ec}_J7@Zg6z%k*(0AzJ!fH0gLa$tOb z3g!c=fn0dC7G9?X5P_rPIAuZ`oNVF`=EpcHvp2?YE!KW?$cq!FxYP}xX1C+^-v9)x z>lx2@MwXF6@3;X7wP(Bz4J9H1i`MVa4!Q-{?y<)n6YiX2(#Od>lv2RFQAR=e3N>Z` zy4nOx6TS*Rf&VdB!5Xy=jy|}16eqng2W$%&U_;n+vTU1UrYwT_a&tg0AR}73z~6{R zltge0SEJy!-ff6}0B-oFy`vDau$+Q^9gP=*B#OY_e zVfIlbKFoP$>evYGer#0&=jmGSZ1TOy>L>-`lO1;^_a{;04#Xp8lz+|xv@$G@+4K|m zQ{^0bb;3-RbE@>A^LShD*>dK8E&=p(_{Mb1ss3mIITyQg;w0g87-X1p!q_|klgqxt zlwqciO})%E{fq^2>FR=+Zh=ldYCuaFT4%2D%{d9sHCx-so?sc4dulnOW6kwihOTPt zUO(dCTaMWlW2de>82r55h{Mr9DpuR<e8^`%sul)#riFO#9N&Pf2rG`)~=-tjA{Sf&pfjlpxZ2%&R-LxdfC%-p0Ht3 z=}H-GES+v!WBb9()P9ud^t1NTPF0VYpQOB#e}nY183)kADlN2O(ANE?I(Rx@9y|aH zGH3=bUGKK?d?KC>u$qoJhoRlUk4a#r&2rZ=PiFSD5}<2N@U^+veOO7u8ct6tOvb2P z--#MffVROk-TErqowppTq~3RfT*-9IIY{}3GnV>}Vo1#u8U08!;{dwNBJB1e*H_yz zShc>J>pK-ChH{X$(M;FYOMX0ILtVEyn?6j9mf16ApAI%V9diy-)BTTafmuo0F!5p5 z12h#^6Kttlr%MVRCWG!y0`?y?ZF-K>JMj!?5pZ#QGP^{g&& zaCy0>fvF0Vt!UYzRKh47FROX1MR$cp8*TO9R+H{@1XhjY-Fb%^Ee*fTRG;{3v!b;Y zpuH1_b~~wtDJiW@+Z1CTB+!@Soy*5P22`8Gr&4cSd1ETIJ#ns?49t{vR+TtPw{5El zbi0yrgW5tr1HSZt^3*(9Yo1=0T>EFAY$Ba14Rzo=Rhk|@k1b=^-PKgqmuoaI;~4ay zn2webQbF4$nA^0a;=3(ujSCL0%}l;h!>+RPjltQyW+WTGdSeOt&(w24^P=Eu{To$k z4A`~lG|*|F)4)vAz`UDpzPSNtZsSvU?VWTX+qLyxeeMM_mAy&8yL1h0v~R97Q6py? zWw*JM4s+{^FO@OlbxQov@0p={dcZ?pp!Rj6-s5}6n&-caxUXj-E9B!c_3owGlV5Gv zK^r|lYAb{8fNafOYr}RPD`So~26nsXFh z8&4nhgt+(0G^-bDOJ(`=Kia%hqOo|AvVpQ!w$Z*GZfIQRa0`9$gI9y`Z-V;Qt%Ik4w;zSH0dcm4oCIjr zm+>3Gtlz71O>}-ddjVk0r*rvcsI8ORb+iFx?c3G{UQl~r%kS)ZQkNUH1?V>GRj?@8 z-vW23y(fo`fxqqb?_O+_=1BpCk^+w)Xfi1I3}apWIM?5kIpt4Y?0d2+A+h5tCaF#F zH)O{9Iq^3Dn%@yfQwb(#KPz9!=i0`S;>+mY@%7~+B_?J;S+l4&Xu}8Byh5Bx4eX<}1A)ONM=)~qMTI&FV-Xb)^^=IghO>Sg@;>z?&% z{fPd^^{2pDkEdj}cJcsD{a$@v<3(eE+g|-nZPmtZHS%~MlmmAKVH?xAc;q~^p~eP} zS<9L+2OQVe)w|y-bs167|wR)jHq@+=@Ks{LYrg4BB zhAn9*fYNULuxDFmw&2D!XksV0r3H1_k$p`8^bz;j}j2Xq;6)RSZo+Q-3v&C*Nv!T7xeVY-j!D<+c2f7y6 zCZiy)ug%`NT~<9{Jpg0?Ggz~3SvBaCk)-DH9M>iwO^j{VTqA>(xfaCKMyVRKwW9?# ze{P&8?ICpvu&32D;z-4-^+VOI>OYlaQl%}sv+#7zxityuNk8jH7T7h3QV*rlgpT16AFe+aV;&H< zoxfQd0a`PmH*uLUbova?!! z(+@0ActoZoQw~f$K(WA_va=GJRDz)Vv;oGliA`m|-#odeziUeuIsN8<(jx$rUG<^3 zph+Z$3#x;XtwzVxhFp{tNP|=B)2T_?IA1QfYZo!7c61nt8kgT$0E0 zSubAkU5<@wpIX~nn@y-e=Ny$2)@%{{Agp(-VLE9}3OXf02W%PjX8f>5Mki6n%58H? ztF~+Hm%-JtsdGr1_Cqd$^d3wDhGLCUtTe#J9qkox0_A* zU@0a`$CaEYP^*nfW29so=UceUj>h6bbrJ<*Re-J2YDOy=mC8;nz%zEunEfb(vgnqb zi~x0Jo(LrPDR?T-DLCa4m<>9Prw%unwQ6u!IXwH7bf)V@Tdm1^iKHgESRIsPuwZFH z#jeZqpImvvliAwCmhUWRQ%0L4^*n{f40Ty5-C6%ouuaX`MxUN;Jsi-v6x_YIxBkmG zp>EWE(1~8BtXPEasb>%9y~J5cICj1I?;7H%de9oW7i+0Fwuza2JwKeceEIUxJ0w(r z3Zh<(NgbzDgYq0^Q1$9sXH2mmbv7teuW1H2vz%cKpunXGEd@SUuWlJF;A_9h0JL?W zlzyy}2%%D0pRF%}5Usz0mCHgePu1aIAK`)T}oh02(C4K587!j;{jgvB@e^13|%0L4@D)E;t+mQwA{Wb2O+tJt^h|y>3wm zPRh7F-KGG%MwcZWaXt+ykKxtWK*zG<<$T5_uYT8+@(nwlw#yy!fYO_zv{u!f&d0bR zm|D5uXO^6#bdv&N&z5!#-kPjUa&d=a>eq}P#RVOY7-3m5OBiU&c=Pn-#j0n=obTs+ zpf+YayXxBQI95+>6S2mZCx27ouu9JfR9a{%16eRgIe0(gdwrPkG^6Rd^n1O0PWxGz zQ*|aflGdTo*8@m3XleX@bz$e=PM{wfa4hPM>q-TW1rIu1oBCcqdP(V3frI0Ez^Cg& zJF+6`F4xEN3yg;!tz~0e^{*U2mTa#!wLoc!g@Q(#a-`LX^=bXLGD%y$@cfZ7_3IZ_ zKWd+xFO&dYkJreib1BQNB_vi>)p?^w`z(&OrHYax>G2f!wHc$fE!Sbelg`6n0XX9l zIxuH`QVcA|%rr#$a)+F&cSvrNZJ zS{{(8U6shBk{#RdJkI_NjnEU?=oz@%j5r4HK8Yhy^kRe_l|kZ2sKtd{ttVj&fW zIe$$7biYZkL>FJiZ#>%iaMwUovw$a4BipwIfcz;srl6j zRDa&w9@q^6Og#pe1EE@7YVyzkt6|WXqaUZW&R^0G)| zk6gk@%`+Nnc-$!d!7uc;D&0D=RT#6ir^p%>QZj&oU1`BOmdeGyEjX)FSy^j9hDxUH zwAA6T7;nCsd1?}b1)ADm%#E$Ur{j6-#5!jQ=t_1ku`Jb_>e?nO`mdhk)P&B3 zfHTHCA)_D-aArxv8o@etEx1__p&pe90S8j!W1R^ybmjb$ZvE?ej2!tt9|X`tpzmXiy>HtVnoRtC*uIe?}=BJW}J2GLYt3(_=3~(4bMUw2aFpA_W2keEPm7<;f(ZR9q-P z+ws-@7L2{v^%5@Et2d2s9=qck)cR7%*Xox#$@!9vebr+r_S#}mN^a{z-a1k{9&c@p z+$&eEY`m9?AZXbPX_=bAPTJ@nA%t=2(8dF< z$;v|?Q|7Dsw1HsRq0X;6Fk3Rn0iFgI+VK`-_F+6IKzl43<5*&o0uC>+SpDi)Uim@4 z!#tD;zx7Qx1Zw)e1>!*ivj_T~pLn}7O(OmJRu0T_V_Fhh0{tBEvef{^9gf=oI!hc@ zuvErU$5DeSD`8Oaw+GaNFuHY63nYBg37IntUMgMKB;~a)WpnCMS+uwHoGO5Bqie1$ z#}?EFbPfD|vI!^Wi<+1%OShn_{zq`s-BMdQZDO))hvz(04!bL>0ch&cZihYKqz;sw z@o)8avSizyiB;FuFYpbrUoOUK<1Zx-Z8Dj0JX}ZtzXf0QK~0?c{b+K{0kqA)3dkO- zQeajJZ`pvd(HvlU4B7&y&PlMq+<5vNpWCd?=VhuKi?Qo$o53-kEq7>Uos5$xSf#** zZ5W6(3Cc3)lFrozbT|d6HVMKDDyt)1w>r2@f(p=f{T`UtGCP%ry3*kE#xBjLG2!{B z0I?T&u`Qp?RcJE)V|*Q zI&Vs^9K(V!{!PZLiHhw=6jC~C<9j*VrPfs<26jwu9L1fsvFIf|i*dQ6kix%`pYeFE zT$94u#&$V?R-vqO^oX6~zO6wyhdO(|V=(aS z)>q2|ZR%p`NF`=w+j@a-zw-c@cF8gIoHJ_OxD7bdFH!*Q1-`e1_1JYv4sGk{kM`8W z$8!xfU{m_?%5zF6?7FmOOdwXUEdij8UGf=CXsV;q94TA1(S3jNc#hD6&g^AuW!nsVYk2&dFLA}qC-^r3q68`>XHX{8 zFUZqSluHey0FAk7!QW=vHf+dqxRNu~IB6YMyj7u(p2!Yc1+pb13k7?f}yOL zKyAUm17I>>T}O!tD??U0YaD0-(zT`l$|jCn9Ha<~?uOdfm~z+nl%0FB08PB{{M|Ba zYxjP2RFm8&kCkCG5l#hz_5fPHD;b%FCD1X$lQrYFm-X!&s<4!kq-05fTZu_1B!Ovwgpw-B~Je8I&HCO?pW$r!Rt>m8%rLHa2V8r;>}n_+i(e zzT^R_ZC?Y{HYV(PJ%VA&K%;&)Y=EY5O5mtYZL^(aiP%!&(z$q(P4f(A%SN?7|Ms$^ z7Z3`lCF9hvSFQ_l*(aRU0AMN$TX0G_SIMDLVCXRoZ!Fb4YwG=giIqR68=I(X2`$AE zZ4lV?=(s6XrT%2w==zy_IfwUey`|aE_8*3=(l^Edd zL`weY*~sfd-RI)M+gYXjOl{jXP8IWN{MZs3^dBV|QvuLzjllK_Zd^3)3IsUwM4$&U z7VuLtlma8C;2MBd=fqt2q4I}ec+JkGfU|*Pb(HF#0;Z_~=v>fhg0=G7S|kI*w)0q( zZDUzBSuu5*)1CSp``KD`ZjH5m;{h~%kmJ*4HDg+TpALZb;#kQ2Wp8* zPA(6NIIh}AlM8*dcoj##;M#9LT?}ho{0-KO>znyJ4V%$(%G7anyPRU~+J>yjj$s|v zGCS1)13*tG)dWQ@(b)dF{u)-}0d$Q+rU06Zuy$@`8rEM*iP7qoda~sY{a*b=ZADw_ zZ=1L^khy-37+AmI8rjx@gq4GUt+Lc4+8jVwdw2w)*6wPT$pW;ezkYC|EkM`!ma=^> z&WH&)c`f+nn7`fi%}9Wz!PFt~9fakB_4!&Vz3fOAo&q#w3MByXz}#cY7N`^)azTZD zoTKCjB@nN5@>-y;2~>~W>9*NRXr4pcz^Y;JHVNw1HYb;z-($_5j266MJ8O5{I;#() z{3sQ;EMMqv^;^oKPiZUxMXi6>WU1t+1VXh5#IBoj)b>xwVg1PBM=6GMTw4aQ3EyH( zNp|YLCaye!HKQ1G%7C~+gUp#uU$bB;Q^C-4ST8ZKuVouKpsUUPOgb7|ngIHl!`qfC zXx2Ju8@<|~&N*|6EnC)F(xC=~1y66sqV~=O6J@u-ZJ7=4PPL5M>j!x(8KCVgI8pBw z)X|Q%OOcY2&e|SVSyDP{1N<6?mc;ZkPAL)F_^I`M&t4w+%lTa{i7@ec@~6njj09*3 z%QtMJ-V8^#Hv`l-o`Nq8=LJ*A5lfj;WntSCQ->T1(gZJWj?%oNTcLOja?bEMCoMU& zGR6|~R2|!Kb6`Ag-a1kIvB!d9ExGzAK_mr?DZQ2SX#-NhitO2rk=v13-KkErpCu;@ zX8HuG;{=5)|7{eZ(G{ zc7UdlEYkrP#}k;NZ`xKvc%bBgL5e-uIq7^JfNS1*_rS7;`(xl=3veYMPcnvPs_|f*1KS#TY)QhFV^Tq^;K&=Gtgob!EBh+Y zvMv43%GJ~Nn67QIQ(#uGw*7L6I;SsPuLaT+sOWe#w($JX`f!cU+C*ySru=Q?^K7DX z(FSd0v^Y}Re_8=rS%b1G)R|Gz;3agL)wG?~i#!Lib!RF?nTH0P)`M-J==c`k>0n+P z9iQ`Zd+XhSraJK$jCJM|gG>P+zqfT$)$7Q}W1}_lod&1KXOt>c}#u z-rSF^NeK8GKLF|RA3LWPgtd;3cHVgfox?I*2CoPBmU&s<#J_U{fbv){P~EEk;%~BQ z0<;GnTo3z}c2Zt~;9OR>sl?aD1~xgC7;I{6kJwnBYs+}stfNg^m9-?(i~wjlm|owk zZ$426RDWE{*Hy*{-AH{1%{XIfCmX$nm(xE-kPqFft)qpYj0D)0ZYi z1#-64@(2F*{KA5JTR`y$5cN|7{v}|wM5c{=xweWIlTGM@l1crb}vvwSbXh(DW%LQm#?KnYN<;>bfa|&Y^_D zjzfP=0dxw$RQLM2Di5ejK$c7R)|E*xod5tJ#z{m$R3|Lq=m)$k4rrX{cz!4rmt;{u#fa|Sr8p=^6=I676%fo4r z@h1$eJ~dfdz%K<1ZIA*4+J(TY%-PzHHenmNOf-u{IL89IqU%l0Uv<4d$X0x|W?|~wfX<1LItqoYV^MIZ5)i@RVr`U(* z5DGjVxO+iubyi~@Z*9H#@B=W=pB^YEklW;>b9%Z-C7)iu-kiNS1X%a#wcfhCgw#*q z*7QLe4*+ZQn+nt%;N`|elEhE1{4@53XiGLAFMe1qM11KZ22wy-YqK_M_khdBZjBvs zaoa{7#RK{l^;Hu?s=J&XIgjp`a^y>8vFn)@fF>aF`OUbD4u5m&VYeU(R0^KfIW3^$ zIL6ZLo(J|h#e1@(97X|*YorXGBhfi6_@$hV#_-qKA;R-nRd#Tb9P}VNcCrZ9LF#ZVv0X}Cub_* zY%M7r`M*;b*#)_Yu4=F zZ#_@-=8Z9C_wgqvsXN*{6<9hxZLWQ5^u>O)!K>g;zfwI@W`czJuY!2aHk6w(*%F41 zO&KsY@5JT#9i4+DqQ>8A^j2!4FN4lhkP~Gr-g&2OJ=w?f3>lEXxN=;6 zH+GpH<*>fMr>dpao(d)=9z9N3Qh{SZ*VA*#2T}=^zQ5jj>oqzs7yRo0_&W-lQ}ja z#wIgZOYXHPMi?iP?eBr}%{Sj1mM>pk{o(`a*p8)%bE8EYxo?4o-saDrKPna( zm@+XY!cvT|598#zpIqDM40GK7zyq=#-AN#cj{PY3SYWY!MFt3h1U9XV+Dn{_%hWo& zxXZ;Y$0@~#&R64eIX!ECiy?!Yr)2Az;}bBhrc>KC9>c)Iyo`>_nU1AGS!dUOTj6b6 z0-a}s+_-v-Yt3a)W$n6FkKtS0kttblr!EK_ng~j4Ic1;CHs3rvZ-?iE4L96y9MC-R zNly$f_&?7L4?ghV8j$V<|KlG2_;A?bmo`_^+nN%u+c_608jZ=$sct02!BI-eE35j3JW({7&hH(v#?XN5q_6HV^=zOZFPN2 z9QclPYCeDr-|*er5qR z^>1c>{#JmuWAWb#xE^D+%w2)g3p|gx(3uIYHQOT_yp+wdg&c#iz+w~4Z=DKe@@!&X~u9k$wL>+qGYof#f{ z@WH0v!Zl#DaN)uT+KZa+dQ5y_*ers`CYx>&))!U@2Dos;g`=^Awg9wV+fCPOvBw@J zgkzg-8jo$VNm#G}*l90mtiS&Jrv0Yz2Xm!BZ$Sj<_10TI0IWBUi3#)IZ+?)Z?8AmI z*2WueJTBfx!6WV}wt4cC!;-~^h9^AniR0QdHd?cO>S4o$8#Z%dZqCc{023r^fHqtM z{*85Qy4j`y{ow=9Gd}m-dvCbs{^iYYexP6I2cW%Cv_a3$#@|TfB|UEouZab6^6f;t z>H~9n{TSaCBr%@GCli2ICh9ja>zsoa!>)n;bn?e(EN*6|^)w+ry<c-dmy&Kh8u*>obu`L>en0_OB?Ze z^hbXiKK`+fH2@BPdEZIz4Nr_f^^p&KI2`{Mf6)NTq6j8vv+tgJg(D7I60W`GCt=aX zJ@Dpdoi(*+0LsblIVrZ?J1jZ$<>41Uzp-J8J&<42jC<%yUlxuz>Q&*}mtGpyjoW<8 zy=>V}oA!$jerfnXfiaOcsrO1^|E(}Xwy|l3z0`$9ATp8vsnBRcR<(FL+UJ*ff>#esAANZ#aMqppi0O2;0b=*IPt`A<+raKW#!Z>SmmC(?H-=L;|s!tmtGuB`_dP~(MK)~*I##i!#Lml zuD@y6_1Wj16F&aQPlfM)|NCLRDANP62K(BWFwXk=*TY$7|6AB*+b4&sfAk}_uD$W1 zjl(= zYpzG_8iDfO`|b^Y8P{~rJ--TH`r;QGw%ynv0%9yG1SFrwJ??Sg-~$c}zg_)EIOkjE zhVw7JFg&p0{%~kaC|Dcx_k;iZLHL_@ydzw4@x|fa&iO_hXOnQ&nO_a>d+*8N)ToPZ zU2uMQ#xtK06VyvblLeB~d2u}G9w2?j>8FSHpZvb?&!731ru{zq?h_Wr_KV_JAkuo$ zuqG}T3wEbTfbwe81Xhv(#!$_CgJh-s#6nI+Z#*Sh8izG&_1ch3*>OudfuR62gy5^G za1#nIqw}1h&4N{tmNDkWQ3h*esC68zn-O4bSw-bjrmNZ7CI+^%3`5t`CJ?M19)5Ub zIP$2Y!l_^QLc{bfjv%qiOLmP6`O)x-BaUd;G}zgN7hDu}-*b#q-Qc+(rh5l6l%tRG7W-~7fo;YBZgQ8PB!+oH%2|KmTuA3pF8?;9;`fMEh?&W-@P z&p!Kvmn~jA$~b>~?T^C=Z+>e7w#)BZ-mv!dVwq*L%{L40dGAS0f_%|OP9=QMhaBnaMu)_}vKZ@Xf z|ML5LrG%J}KK9WMhj;z`-!*GiX4u%IIZrtf9(wqp@Rc*q44?SuN5c&_+|aA%BWmJt zB&mP<+F1?wzv=kn!ip6uniG|O^X_+r-{0a%;i8!E7R+DJfHXe;5^M77ufKky*LVN* zyTYa4zC54|g?@YPwO4pmWXE9c{6Ke&PepnEA%gkk-?<_@7VU=iJMOeoxa9K7!u>0j z3po3CUt&DZhm=5Q8?;6I5~TUiGT!iFcbO%S@nWG(+_z~vnOL#&9&Os~-Rj^Efv$9xg2%7;_`F3m@0CrsccM9xP zeyay7zo$Fc;P53&!Z*JDjRsuK{K{9tYhU;J807bb{SVwfTo&2yf(08i4Ds04zP16Y z9zOLhslb1**_K;v6?O!`8q52jLB|By&T&`U60=<(6B9 zfBNu;!cH&vlXz0|dEu*PoH3d-tX(1Z-Z2T>AHlg-rWk1e=0&@{DEv4AGf2YU{_VTM z$?tt{QwRRRRab@QKL7a*17>n`x1SO7e)F5(#FEhE;iZu&uUxgVNg60a;5X{|`ya4> z1DgEYxBR|vP}IpKmtNB7>cJ?}>)!C^;n%;P$ zyxUh#CMw9-1fXOFe_Q=(-&%rH1Bj_usp-o$D*GUrx?QIoI|bAO0caW+&In`b+qSLJ zJc_Rd(|Rx4Y9Fm%DIltXtrL2H+eZ0ZgPl+3@tm6(GiMwxo1#4e(}K2_EL5gca$B^? z#$oGiwr!nfP!kQbhJy%52SLElEL1^yldgWChy+DxQYAEn5EMf~2~|OXz=wh&(i9Mp z5-AD2LjY-!me2wi6+S|h79!^o;Od7r~Yat^XW(ci~I-+Gj+ zFT$lCeC5((+1V6_`!7`uF{nOe6Dyr_=0sh7^(B|WC;&0$m!WhlU}Qjt-|~$L?*d_E zXJR2jGfT)?FDK|QB-QNbh+QuehZW?rztYGclb&v>G@c39#JBN(Wie^|wFEq5oN+t3 z^ilZ^81lfH-dB@L9(}ylOdIs3h;|ozS@tpEwLhR=n@@nd0i46jcGfmFYwn-jYu&S} zxigkvH53u+9oUpi4lDm91!pPR6n%fQ$oN!pqJ42xVMEke&+3q_yQOOpv=7|vt_?>I zUM-Hl&;p0jJ4_~3oWXwE_R)UMP6Fp^WjZw{XHtdfXPZ@VwSIKgm> zJU|RseA6a@b-JZ6D@TD1EA0r9t7zY8sJvE1K#mrhK+2xO+UxzC84!`$2Op2O`C;y; zx}E=~=j4-bDyLo@_YwCic6h*AP>hFtpG=e|ghEtdw4Ul{`KoL5>KRi|=BxF?$N)^w z>pBPgh>+tB`~n%8tC&v)LD3fre?&;M1zj+5w9QQ9!y?wxq?ApsQsjv5gs%Jt^H0DS zO5_Ipj?+Cb(_8jRggSb>=}`{jFF58Kt-ZEa6!s4Rd292ga5xYLJwp91U`fb8g^?7x zg?uZ_(e#%c9oI~Lrv?Ixk)I++(~u*#zC)$()v8>K6GQ6yVZgwp=O&3k;fvBHV!+5- zP8kqX-`kg|Tp9{zxMkL_k_HWxNimBU2L z6}gPiybsg<`BQvhw}g)rZz+-*6Wek=>#$JunZ4BZ*Dv}SGwl5yoN>7bl9TSTgthS@mBUy7PxeUs zxb-vy61qE!tvgoWL+u_nw5M*g?9$h}ha!UMMGAjJBG);rEVyKIcbgZC26|^-1TS1o zC(J(kZ_mgg>ZBs(GPlE*RM(Bm(iJl7K_RU(ay!+__DkKhd4|Of3YZai%W!QSwXR^8 zD=+x}26&+NlEDl;S$UTVX3zNFI83`*+j?d1=h(3_H;yEV;7leY`XUR9%kDN13sE zn}26}zOUk{-HK~B7bU!Ult{IcvKLV{`rWf$PimA~7Q`;1wAj@>XVoZM!&B#u@b~-w z5QYi4O$_aM+j!L%@@t21GV3{9ZO|Z|q--R&%=qBaj-N7?U9P1jZ+v|*>sP){ z-ZoR^vrN&~mq2uuv|j_J@O5IQ<&imB;LRiB%KA(5I}2E}OWMy*>%VIUYY5<7Hc>aN zdl4v^oSs;z^1Ti1`RDeM-_m$W-8|6OIox~PabJbi*8;+pr6|GQ-L%VY@e?+bj;LV+ zV`A5&A9&K;>(y>sJ<*yZ%V?~Hf#I72GfAZ{r9aC4w{(jB2^vP`11Vg z(C?>vTs@KwbXaJ~E%wT8g2ubpTz=h7rF+3M4;BKybHceBRx17IBSt&^$zc`^3-$=t z++!ygG08*tMudcM0YB7cIQ5(mcvhCPN!?I+LoEvGRH``e)?iikLj+;dgDhUeu!DmW zZ}P>?!zqJ(98#%=uZ+S>v-`yKjoYH24nG&qT@<6~cxsrgTq@$2{5(Ah_BT1GS?SoQ zy*R%839=1ufPRyS3wB59y%=lYYuYuH=~;h@;yitWH;Z+)t-N-WTYj1-s@qih9K9VY z6fWNVyZ39ny*4axn8)3^1*A5w_>4aHD}CTQVh{v?T^Z%Ik!C@~V&pUBtP#t%dvK8R z(l_}3WqGqQKOO`U%+LkU5_f$vxQ__%(HG)T7^+IkTC;aVf4oerxGx_i@@PG`LIsnl z#*zWG$yG?n|)>ASSNJEfj?&5P|Ld3YilBQ)o3c4 zuGjwpVwdg%(bW!5*xe&<-z03D-w!s;-E`laGr)2 zS8}f9&G3_N{wB5$@X6UB5*#IKX+Px%s!M~az+oa*4~RG{^OLun|W2+&#MK~?RrXS&x?$8u{>P2uJoh-}3ZF0}eEO2#9w;k(`o5K+Es`RbXB7B0>BGvj z-M80f z<%APG3T;ug$&qwh&YOm3@U8O|{tUs^)Bc%BlQEym-44E$8>G(}opfjiB`V2ErV%#7 zFZa6e=1YN1uL}Gjo*$Y}CI)`H``SxLWb|QL+OeJp9(Pu^Q;>x|42`9vyVZ!Qc-39w z9CuqS!_ckAM$`Ojs?n{xMvs>x5Q{8fa5U8G)L=J$iTlz5Wbf|9yjN=O#=HU%)`7n! zr=om$PXtOa?mP%*^L05--VifoEe(mtL%y9MC-P^$C8#fMP;VNhX0ZC=-o*%`({?)H zplXeWUc(ny5p$_$@s`n!yylCmyg}6yT?K@i;HpY%k-Tf$)A&x7%cz*B{90{N*G z0)Kd(f(t`or5>;q^Xz!8eps3IeH6qg-&3*!YNt47$?}rD?$9cVfNEOtTeG=9Tcqnc zzKG$0L2D9p6d#xtkTIgpIV$o?{PNX-d+yc&)*Omq4@`fYj2G?EIlEEtT9%7a>)+8i z*IN|z`bNTMlFpp9k=69YZ3 z$%R(^W1Yblj2jWvU9z%)Qi4^Y**&J^>jaVY6k8Bc?^sr^}=H@_cHe^*8i+ zpMWzOz>A>J)yZb3kfLY^tEMxnr0Gx~E8;r>xVRcpo5->?jYHS`hOlO{d)Kn-N9D}3 zFLlzGbypweu`bs6{R#N_w@M(hN(b-g3lcMLGd%`K2qNvwd^KQJnP*ms6aOTHWlE?k z0VFJxuQa41nN>QNRsQAK+A1z565)Y)Ld$5rQH1i<}$J&%3z_2tBzu8`7 zX^fhF)UEwFWi7;iJJuK;(&wZ7jXqiDqCJ#rOjoYcS<=rIM!n z-8IdOF>G?@8xdW7jzq`=`i)EQ=@)B(5-hI{cO#E>2jk;G!$j5aCfIUx|C5c|r=)E$ z_r&wc+Pv@lp+j(~n}Y^emJ^^ZIPl^r7!_R}?bJL`T|RM!2H<@4z9vDNTE42-!aCHZ z7P!M50JctCRZZQe8+TXdrri!{u>kXly8xQe_+48GJ(f^H_ zB8LmUGl*S@qA7-3#H;zb`B}gNF=Nrr)f7$VTUxj@6aoqQu*SqD7* z!~(bKccG)!U?7ifqA>9S8CWs;1rz#fj)9>+o z9(~Sk4W;PH3YLtO%5lp^j63ERevIYQSKu5rSZfS=WqLa^2FAbzkyK%p(-u?wrn^&c zzDW;Mw3dBZNWXfwmT9X~!tCKr4U*pytnrTh`ex9Gl`bX=Ag-Se1GZ)M0DRJMBjpD@ z^`zQ3UiufHAt%q;)yK=)QUeej$QNs9fOL ze+~=pX7_)YAK>QtgBO`B$|rb5_Zz#dhb(R;vG1JLzn~1in7G0O@DtweScZtaKH37b zqx&rfJAP8+6l>4X`50~$ChOL$s1(9lbr0w?{@(DR@L!r8%y{`(425@!>6OkzrdPIo zodN&#%5?DJs!Ue8H|^;v(`HqCnKtYGGXV3~W^XWUR%u|IbLRg)6%=ZhSteBf*JksW zHXD=Pp#9fTm6$eLs^ujAgz5A_mzhq_riAocW>&Fdnz`cxJY>Y=5kXYCLqHm&TcjJ5lrE{ISvp0eL%OArUUFHwJEUXjj-^?8Uq0XW z_s5($_jB%fYUWH_*E8Yjs&aTQ$X);d06Ycx&zb-L%69+&H4q!~xuk|{qxgA;=K4wD z3pO_P(z@E(bBN-qDfbCbIYzPn9H3iEsYpF%#^OGhVm!wqyo$nl8VRhbT_@5xNrLG~-q@=R8xxGl~! zVF{zUQtmMWSNXBvU(&z-1<8`^LCUCnl5;=*FW^s-M54MCf6+Qk=N^WX@@8g;ww`tQ z_!jRjebJTv$v)tfDi1Ac_7q9E z_LH20C1@mj zZrl?s-Db;Nq}?U!$9zP4Qf}4Dc^A#^m`0MKcS;+Jn);2ib@8ec1781;2tZB*Xx;?m zeR#qpl`%61tjO1dtgCEESGO+^UViH5`h(}g>J!-Z&Hv!K>_rA8{8#(R?(%#*o-M#! zC}3}gwMk}&iV^14)Gq!I0X<&V$;z<)!gn40WUVNX--Fb8#Q^Z!M``&kw=7Spq?+-B z@?G%QXA1VdjAP^JA}!h!t8){ry=4YQHv}@nc0l`QCffZI)a2;U5KPXl%CFSNYhXlq zZjApP)V%)oi>v}v$I`>;4lh<9llQIDN2g9m+@B7XqF>VV>a?}JDBZQYCKHw~H8UM5 z82g|;?M*hEl;!tR$R?j`A84l?uiUREwI5Fx>;=Z}kfTvBP(|Pc#HV6226C-|nC-EN zrqR6&tn5`?X`e<9uke%dE|_0LX8V+xnp;ZURSd$DtANM+MlQa6hW+sY?!e`}m#Iu6 zVvDV}R}Obhej9jdP3BM6Cf(W@3ME|c(L+^|U9FdypAxYCePZqt0`N@N26$fpCJOf9iDGju#;b0(1%EQVhqd4(ktgg# zSzZyZ7*UtM=$SY31Qo1^MWb^Cw61!?e;;z_rFQ)Z@EOQ*-F$;b-yo;`V$Y4*$j%vb zwOIv;yf&OWcH6;&|IBZ2Hh4IDb~;z#E%Bq zdP*TL!}jX?B@Tdl|KboHUs&=xkx+v;escp|AD{V@Z$CLkzBBAM4X{DSj?QI?Ag1YTZcclO}ft|`BHNdQR)($RP&)>Z~W_h*D z17Wo#`bFn{9ZvQgUPX=I0jfieb&lJCJD8svg>$&;Mf9LA0%8twQW_KKbGVE&SUv`c zo&4k!9vc<43d4*G*mT+L`-n1e`n6_!?BsYy6}oMMm{DSJZKO|b7!Ie1r(oxJu&=%m zRDd&T5c(V^o;`Rp6*@))}%?h$X zS`6OAo!u2VCCK=@FMVCcZ!jo??jqYxV?>k#4`Wi^TcH}-#d|HsdKh)L2AthCFZn)F z$2OfHFJ3zf{vj7>E}8+#(i2vJFFhL%hj1aIDcNh;DdpQr0T8*U5_EZUd(BsX(P4%Q zW7Do>V01nw$Y)TOV+GVoqjRXl4@x01*sYR)t0qRRrIt~jBkjfD4;mXXqp)|{g2|9{2tm1D>A*-fQI|0u`(!V9leYD zdsf?{EnFhO`4NNnozS(erD@|W&jpme%8U8%jc}UI-R3*Ft;P6RAk~4$%MF z0W{f7D0#kT%y@ZWg<|*+a3Wo1?aPa7ly6x5_?T*#B*fXAW?&&8{iJ&GcVWeAOB>kQ z+h;i~>$~d+B(nctS(I1*0P2+;TONMAjIoB53P`XwO#BX2Bh;4zwv^v*+^2YumUK}? zjFhYMcM|sCP!EAG%q#sy{M3%15=*wyE8456*Li3Awnzk!%fJo06MpcWdRIblSRC)x58}R*Jfyvw3_=Pw z(7yR!7km{9IL+Qh+#8rIbm1-VCJLV-=?`JFCTM6DSGdiuP(;y6 za}`U{E<7JMx1F6a{p87z@O=}370Rj7{9M;XGHaPz(1jbyZoDDy>DxeYr+mwT$Lg08 z#vLPhxcTu4oXoYwIH>+}qEF2}TVGLT;(UX&cxrDu79*{BS* zx+@Gq89{P1HZA%T|0{J0VW#B%a5Zl4hJ7#869d+DfUX*r9q;&pCJ z+uEzf8?y^Yey?fX<)|m{_uUcoNx-1t<=QZWvkvmEet9}S4Mxf`S5${{mhR%9m|?Y7 zJj7iOo7VsiYCR>@!$rMPMm*v~Ro(>XU4BQg7g~u=ki&HOQ-jiiK{A&RIvYUURAcZ( z@r58)_YipV^#&)b$~5|9Teq(4QFvf>HI1-Q3MEC_(gVXO`>>#01hF9^#s@4_uom^8 z9MFGl?_Y-y*4vo8&G-AZ8;fw~;bUz>D=91I*4oNn%lu$eH*7nGI+7xO69H9z*ycG4 z4-ma=olsL2A4ItL*pHyKFXEB(9_jDp{zg@$S z`*8R*wZ2Vf9h+ojMH$m* z|4$CuF^vJ$88`msD7RNy9>Zizwj zs+8Y#$$Y9S^>caNug&IV&V?VyH@exriJ!DC(&_Ef+k!X#u_}`sRwnS}gj%Rzg`| zmX=Hd>v#^Yl&w{x>(_cCA_z`IGt|htm@vXId^5-Y7Oiq~j}>~jY}6&g#urxWhxBc{ zud&C4Y873##w4=%Gt%>aj@yo?a`U}#85ELjc4tI0l561Opvlcl5_1x-tL9KZA?hGX zD7~Dn4AgVGpco>@9ljct_b8^(uu7dTM9=Y)D%vw(hXyXWbQi*+6TbTIK8Q4j$k8@` znUxIBJ3eGk?aZ~%!Gu(3B#Vip`hpYaUS&R)K*22GPMw#}9`Hcj zc&r8lCL$~<@bvg&?v1@TyYr5>d1t??lR@BrQkEl%AD-XB3#Wmi)Ab*tG*0bqeT$>lx+%Wt7@|bYkuMrFif?@k zJ&W%X1y9Yu4tqZ;v=ff>6Ab{D7tKaCL6GG~;|CMO$J+8qhxRU1xccBJ!oXDnVLFJ} zcG^}5E4HwFR9L7-L0jsbZ33v7VRWGjPq}svA+SL?sQ@2IyK)6K3 zRX);U)ezM2v+{z8+Br*Nb==S6v5*Xf;oWy=hnMys7;_l=`f86{GdRd!CK)tj6+#Vr zin^cs?PyWIzuZ)QU#QVfT-_H$sv4W{LvYM}%p=y%RYX8xNJwJA5)XlfGB5EY=V3m` zhEyN?DH7AVXc#ICPOJ+I^Qmkv@KKxfev4n@ztiV&3=HDLe)Y#=Wsmcb`PD?)b*7K> z0c&IHX~R)MD%~dOj(B^gCTiO^gZ=MpUk03qdJ#?JC*GZu@6!&88DChlrV$kskGkae zu4?|XdIy?M{i1xv5Hr|m???;$HMuTuQxK)XY# zfyb71`cNwCmFp;xZ#=&%QVb^ifFXsjbui7@3PVyr1{2;PLJth(pCeo~9Ck9rJ64u>M| zE#k`<9|XD`=lo%$Jnv@B`B%C#9asi0Ltxl~aV+QYmUTEQ6*??g%cg5q+A8wNQ6 z{f}D#X<;-&(HHtS26Jiwntx#CV-md z#Y{7MdBI`wqy%M4+M%cqCurwYS+nsmhdXn3eOo@F5TvG{uPXaoUA2&DT`wvTxOy?G0I znekDB)wmeO!Mvg8jbmr`@s?G2VY>(9J_jHI9~j~PL@>re^ls9cJCMlgl_ydYp62Lq zqMZz#aqR6hRUJvv@xOqM0D9HPYt5{T~$2$j&T;z83?j84@ z{CkMN5{(d-a7PQJp^ZV1M6mL-`gM zH}r<2gT%nZVHV36i#@ZO^#rb4SY?Ta^F?97S2><%SlqgQ2Bw$L^QhV30v_t#?ku!c_yOn>ssUQ|5CrS@i1e;Z@bGj&@cKt=lkFX zRB>+0+5$GRWuLAyp0=3qP z^JwuWO9`)ir5oDULakpuY>T7p(dpHZ?5u-@?*r|1SD#rM*dDtuc;e7K4Q|hV{PcKa z0EdD%C}FNycz?PnA9sDgOM~sTGZDZ}>Tek{^E>atdZW?$hd})fkUSBohWjJ>PF4}k zPtL{dlYhuLHya|8d^L-#sP5()-0Py~y%P)Yn@N#|kpi9mntO6-Z1W~VZiwI`pRwr> z45=EGz&9Niy(j!bl(;4c$?wEiWF`k}G(PQs?qtm!Z#}CLLGU2U1Lndfgq?@S?>8|i zz3&B59C8pF@A23Oh%k18rAHlBFvg}BTr2a+CkX=Wzb2BMcJc6bYtGuC7UBEa)Y^9f zU*7_`Sqe>Ib`)DW=onr!sUu49q=LM%IrUW#^1U&&XmG7;qb;wYtwqUK(g`I3$C=fZ)Ek@5N6TczCzKc>b4U zozz8VBX$c){dgh-ikbe4)Ub%u;>ESB(N|5G>ggjAU43<_#7o_ze(<|&fD*Jor_o^T zrQ4taWM?@uIh^@*@@?~dq?pVb{2KC+0$|*+2`R~N&|yl-XDf#V#@woH#*m&UMiGn1 z6%{k`)H?y(mnz|*LuC2s=p_Wy0usogBXc-J=*QBnNB>SVmcToAYM0s}9?gHAva{7= z@$O|yPVZS#`%vp3 zI)C_)_TtELo8b?SOVv*c#4BER*%}FQgJff+VC~-@LpqFHP0+8|SySms;~jh{>6ApB zFIW=UxL(f~+IBFY?7@pqI>#88IoP4OM#Q3-59!O+LHAq40N!hq zmkR{aQwq$=4Lxp8r`@gSOSF2{?+IQ~WC&Yi5K~hcx5@7WYj%@jV@;ifPqe>h43&|| z%{s# zp})lsvM$B342~N@b3;9Yzc(vDGKD_!5v2<(VTKsww{s#IKxnCeb)Cj<3l2>^P4*f` z@dED$FIcxKGkEX?KXmDov;T2<_3GOUj9bi}8pNRjj`9xJ$y##MZtN z-D`p2R6~N$ttmNtF>rG|SZM>5&JtG--EUrXvhpv<(7h?+%&$vK|5m4Y@@@i79f+CF zrHLVo!G(c>@rkd)9wZ+Q{)~ZIs_>tVnJ7Syz&r%Tsp?$;6B?yFyv&>%gEdf`G`c&7 z#T)P?qfah<@y6a^x4hR-G6`hJ6$pO&C?a{(;M(|zHF3-qn%=07T90mvQ}+j5c)5`? z@~hio+;Mv0|1W&$hvU{{EdCnsy#g!r6k17)=XX&er~52@IwTb({ZHYO!XZ@hc+-A! z{}V$rG(pXnh8eQ#LH`}T_~qFOHI|y$HvFGBLUVIK`>&~K!tYu*(*RgeMCro+DWq0; z-KA%bq>uW@8dMWLewt0ImY2!W7(L!8hd1F`eSY|7j_`Xpy6l>bgQ0};&-Od2tmq`H z+^lOBh@Ig18#}-*V)&x=*(r&=pTb8|vk{dKV5a7i#J4=2H7{eFpe9t8#3VrTMEY26 zhANW=WGNrGHRuJ5-YVfmyfx%*DH%+v{@kmMr&P zW8Ph-9vw3Y{cS4Bki--C;X}oPVw2eQgCZJwJR`k`HkT^KIvCaTRF$Rn$orS8v8aI} zZ3u3OT_A@Y&6RsS`cE)=T$;E`26Za2p-~4sY^S%5 zzF$TQxY`|af?w@o^%Av_<%WTO&pc1B`WI9{v&=SDlpmm2kC|vAj=k}M%5u6aUeA2} zpB0kKB<|MSxh6W6EO$v)h|jJb{q8I3KzdHg5+uJ74m+k{$F~R>V4Y&C{^8pGTlsF= zdXayAy3rd^hBciv^WU{XQznX>Us;PfiD_Si#8PuE?QY3s8yM;UL%+vu(<>R-@-f9~ zd%WtD#rF+Zdod=4P&XgdKLUVLEgo_~wIQ-h zmHhIlpJ{IHq;A(xwy%$Zkq?>LkCFP)IG6`Db@}LkzMNzXDMMy*biM_}-n}x2`3?Y5 zfLWAQo0TD4);XKHu6a?(zgvNs8#G)SI>~bWcY}mAgyMbGAMAg%GP)$h{t0c*ruAha z`emgkETU*FO8+9$P4d-1rkCj@^+x^x*gP!oLRM*H8whhKE#EFm5!(g&OJ(C}(#q?g zO?2&HC8sVuS__mOesQwDoU?`(^#EnP| z*clksJiFV5n-q+VdRxzWlVBO=-dDJ+P;!Lf>@g(a^AtjK%@9L`u%|)an@ZreiXwweb(*yfd^RwaBadB>?g_B^3z|Eg#_jTguhal zmsM@M)$(~2L6L#mFtRtz**bPNeqRq1A|DRUWG!S9s}2ZmkE)ME;f^AFQMm{52JbTX zvS>L_0>`uvf}k#VbdcGfmrHv9O_>l zh}_l#&9Q#WAd=7zn5==vh@}8;CWSP!N!TCv${ShBS|8F7%Ro(+frGA6tnm-(VNdIR zw|XBHDI%4^%@MOnf`5l|xwBGrH19tcm1_O|(wX5w=BCzip)%+E&#!WGIjr_>@+Eg> zsLUTuKUg4Yn1?p_~m4gs0AemgSDjsb$xw07y7hgOmkzS#D|pU4gFIp<`OBoYuJ zelqzmiGSrDZ08(dFZC%{`FhR@pXOKTp9T~$WyFDUYeC`5&f(KsT8l96wcEEcouqRS z(XE$f+skY<6*0Bc9=OPx*8)`!hEK6-(4-ymZU4~E7U}aV1!?dZwaU1li>KhDRHGj>xm zNy$8|JS_VFr`5=C(IUtAmXE=GzR|+OuTJSPZ@1l+^U!wYYOF`bA3;M*Yte=p!%l6(zRBM5_q|V%f6&PO=-9SqDtY*tko|(I)^#hiqJn zS$@bRc=aKpty#nm=`q8${(nGX?ubL<%#DWTz5PC+!7r0E~h%HE%Fg1pl>p z%BEk6=po!wugHRD?@^m__o=!*uz`Y7!n5O;?Hux{gZDnF_Xk9_>2-qM_)R(6yk|^I z&I<<$v%UK&p_NAuRum6ciu-nfWf0Jx&mi@-=imae>a{4!sMWU}z+y>`Bg$?7xQfYr z0#`7Y43mraw`r^}ySmEiu%P&hEAwo;q$zBPXMZroOkqEDZ*p{OsTNuHyMO`>v~!3? zbmfl%3>Gk)w`)%z;i-I9;)28ORBh=Zw{QX2q(Iw&Fuvi;aR6)>{%pd3GivTxvn#m4 zleWw+hI3qzaWB2=Zq)nJcvwUIaDgW4aMZL4{|DPrMq(D{+<@sn2%?VuAb`ig=sM}o zQ*g~`fYKaC4E_MyLvjSjIWe5q&q4J^>vEF@ybM(`HDS&D;hu<~mu;_&p7WvC+Hd`V z`*8fkkFsVKy>UeJt%iZ=`k#MblIfWQg-u;GIv*Ipqd>yeJ=kY1u+0SS&6`y_ zEtot@z}nSKPhaA(V``g%VL*$;`xj$aE2oOu2@9|Ln6NB_jfxV12O~hIrynG4{euXI zmxW@uxe$wppSPHv(7JcMz-7k$|qlr@0tRwzk?;9QF41*T}H2RhvLw>~KGL6lo4cF^n~>6|ffKr~J#bN!k{+%uwHsJ?An;}`PXcRqGL~&bnYoGyWpvop%-bLNk}kn`s&NvS+U7? zdeVFV_AYFVk~HEi4^ur2F^Cf4WyIIAy(Ncxh6DXBZ?TzXs};*tq%c;ZgTnnSlYE`DsGK zDsgP$xUw!S$no)}G}Hs$?ZqtQEMS!~If3wJVz_GjIaZ8acEETRXp=RK)|lR=N8Fwp&F8jHW$kdLmD@8-K29U(-L zf$=cWTjICIH6r5G%(oHt{f}4qZ(u1p)F;W`zAN)7$S>r6)lL?g`-(Ziso>$22#c3F#}V_~2MVqs#!0SF`4i?Bb@ZH%)7I2y&1%?3Y>MH~`+)ZZ2F;E5L2(1tV`k^f}keFBTq@Pxwb>RW}KPeG; z)dYMY@w|*KjSj_9Ug{BSJVCuH+@;!ox=MQo!=u)leY}`rZLTjcrZ_pg^EuP{4IYmj zNbY2kXa|dE3{f&WK5Wd+!9pCd@!Q1m*}49vZ&A>oRFFpQ`|lfbLSm+<-0Tc5qejq+ zAvyj|rl9%00dMQbN4uRh=Vtre6bAF$(7EMqOVA86LTT`?j-dyzu`Ll_-MY{D(%X+1 zm;9B$vR^anA1}pOr;j1WDU8HtqbeLpS#*Y2iWH$rA6{#fV&+cb*gmivMq|$u@_*avlm+$|+xQ}i)&YX{XrNYtx|87+_3gmT^8gK4j z_j@jk({I-AsYnO5MEF*H_9i)zFZ*`S1-_#;nEc0EKrY?+<(2lsg_gNbLhPq*A}&MO zA>jRRdO!30`y-!~*Kq$dNGp;!w%MA&NBoT?PR*fD9LYcp3D{sIigxXxlX2Gre}KQ0 z(X>B7EWj1kx3MN*L46^8&vpo(x3fW{GSCag#PN}wR5A)CG04ov2z=t&!!@+yDkQ@B zie0MK@Y~<9(2(NmTu!H|J0SWyw)zyYt*WJQlY?mLHW3e_qq(D-jGyik5*?@=k2b|W zGHz60NJz=Fd?>8yXkR*LvMTYrPPU*H0*C}FKkO$>hw_o)(;<(sEYmmE}QdX?oWVcT{j7=tYsuiM$M@9lIhH4QaQj z_DjP?;1%$oF}dEs>^$j)f!u2(s3ii6biscPpcFyLE*B>ugXP8bxK4(EEU%v1J** zy{UOWW`V5dgA%cbz(O?_ZRvriBP>ZdSC!yrDV_jhT=D3;MvpdUVai2lKWPZ;AmpP>bGei0<&rcsK z^Dh}Pt>4`!REY+{y@{|qqSxxfM{Ha5{55Vh?`;A4*xH`shOEDL`zD}H2XTD6uH%#~ z5k9+XUk!JOb)3sg1b$FlJj%j@|MlYDmZj|p6k0eTtaaRWfwd(*vWwKUE9i)i2S)QJ zc##D3qeSS?nBVFvaWb;)lh|*}ei%blUTVhJ^-Lh^`ZeKIU}vP-C+hy}=XV0#2D&U( zgMBB&*S@`w2e zPRL=?%MoLHEfpfNTCq}UI%4I)-Zpce6r!CVg1N6MUd?%fmeITXC{(pWmqyLXT}w@VeD%0o`r8stiac0(4!8YEaRTB`{u4F z@|UT=fupyt;>`^nzz860Ao+Sx01io9dPyomN&U2|1UG}xe+Uf7Il?z|eOehOn3r4p z_Jcpp&TnLau;f77QC@?%u@@yd&V?dj#k$4-+YvB!fb=G=oImABFfM6aA`|>SK+KS!*G@hYGtGQa;p3%e9W=M$ zI$Yx61gryz_yP#gD;M)f4MZ~G>72U&z2`T>C<>^wQ4nu+d>-CQoj^}_=hQ|^3^7;q z99kX5;qW#1n(-f)y2YZvw{wj*L61o@xl6;S1_RL?Mqje71mFRV zE$82h>!fG1Kb3`={Z(kJL62kEL}1=_O5Uh^dU%-0^thp#N6M9&_di$W(p64gYuciJ z8rMjcyZbSuyx%|xKzJ&KrYF^mmmRXqsn`{AcU)DP=*RC7Nm7Z@EE8NYI7|552PYTv zQDl%vW1}Oe{7iDecJZe~wmyW7+v*|W1#s(AN0fu4NGdh`fIfJuFc zMSO{nE75HT@*^{4y^Ujpu5wSv(Q2Fz`XWJ(OIU2phTMx&Rvw8bm+{$8-wN6-p1`7M zU=?c|cTB_Sro-!JTv&_lHiv3E${+ceA7`SA)Azz*?WX<^Utu;}1ixkqjno~=$zYaA zf^P*##W7L(1Hb?Ir2el%TiBl6UdyTSxjRSS`A+`VosPRLSSxYgCq0HXgk{#=n+`-T z^-z`mK_vOhgTfU4__J~}ejJRZZg92(7dgFI)i>q7pakCK*Cu0$X1|e)7MnG`t)DL2 zR)_=G`_p}!v|kd>AT=qMfL*P!l5Z3FiI&7tqvJo+&C#G)Q7Yn1l>RhoEMw%FX8<@! zD})gD*NLJyainkC&PK>ILZ2os4_oiEr)db03SALIt#s>T&X2N z2oHWM<{sTo^~MTDE)oXyqLt;5rjNA^&p5aR;ApJUWFO#VnMjK|#3z};7jxIFk9y1& z)B@eoJRJQR6-#`o&NgJk-RCjpYL_bUT$070S)3=)gXvZo>8lDLgoGQ01MF<3s=5vr`qa2H~1gZm*Pa3 z&bY`P`bjQxU@kA8%i;VIhi^6{)tq7N{vE+|?pa2#=llajTM7U4Q7-1*pQ1@`QE462 zHe;01!%=CSRUU9NrdYv@0X}d*9uOIHeLE_XUCeEP&TWlXFqXT^<~Ns5X;0W;w&sGF zd8;FN;C*2-^_|xLnQk*YFTr9D@=pwO zC52D+btdYS4UP%-L@+NW=Inh&Slyj;NEwQE%oiWAy@rIqlaz+T-i`*%NlEVK>LnH0 z;El-uhTJvZBULepmA~zEhMbsVXZ)JaO*^9212C0Q+p@@ft=9s%wL!}qgeAl{OEPcx zs9lrMeI=B>u96B`FGzNMw+mDy(1aBvOBNEAfNZ~f82h7K{ye4si4Hpnoawb?e_$2;xV?^+FhQGEho+y`X_b zObR9EXNRjmk8;O>A4`&Rf;7^}?f&@p9e;A_)si?bOqTY9_5f9H$ttGR$~wG=9soQa z!7A|vjSr*sr>uJ_?jhp7a`Fw|%XSmnYmT$$ z!Mp?g9gBRBU{|PGh3FW&5CR)CT&4wM0kzIJQ2-cX260fM3J?%`@fs+8^uEzkHsaNssoXTGaG+C`<$uT)dHanM8Sh8|S_Yy1@CK z;|YDx&LHVHqt=~oWvx?f{kj;P5P^q8y5)rF zwevYNh#=3xfe}&t(NrsRNq7Lg$?l;yvXJ^6YId`Oku8)fF+Q80KBt8&JlZdk^TK3y z$+tbe*#a9&2Ch3Biy_0=>CZYE>cA<0`7j?=DszG z@hgOVv6)j>EB3j`B83m?6tr_U6`{1<%V*daI(*@w?=3y?GEet8x+(=4*OY!Et9WZ& z)}hzex}V?*E!?4kKi&Kqh>+4B+a6M}s6Tvh(G1y6mk`Hk{k8om`G!>(1}gO8jcU7D z2Q9aiT@7%&H<(BI@QT1xI8{8Ro+-Qmn?!7evF|I65mU&zQ6=z8gjq8SO04 z@^Pk>rXi8Ct6z0^Y;!i9OZZ|tLuM7xI#K9~;zwmbo82P-Ju6BQu1fW=L-8I`295DY zLPF+9a%#l1>iF_lT{zr3f5UIXQ7xvdAa4YWd;IKLZ|`3^Os-1o8>KNgm;`dsymr~8 zEweiIXxoti&Ad6e#(so7`-y>>T370JxFx6)%~3#76Se24TW2`4WpgB~7duo|2dX9y zy?C>z*QW|SVMolc8arjJ>Q0r#lq0cL_cI1{%3J*DnPSc-zxG2yv?))lBB%(6`{ma% z8Sh$lNB7}Mb8XWkWpzug+qcVebJ=S}N>G8~7rNtopMrIZmoBI|o5Gz4ClL`cF7 zRS}~iMj)iWhl_OBzw2=*+d9$PEC=_q+O)PwxC#W*Q`Do!N#NTz%Fg@KfcAgYI1t&T zsN*jC0Sk`xW97-iTf!~J`=0aLkM`HbN$Lg|W2a~+U5AKo!c*OU5~7yFb3+%fU!6fR zB*2+Ia)bm`%bzjADkM7n%zAH^JCR;9u=j!Kj8b{Ae8gnOV{eRG4j_Z@`9mX@#^d%+ z@1d#o&i+j|e5mxO2x8<##C;2TA081!);_6iSVf1`Pmr5cM@zqik;`x_`MN6XJ1yv@ zq6$i$leH!L3(v5vdjr^ler(v;Qan`#y4WBuk`~wzY$X71eStBj|A?g zrhxZlMox}{FAqjkh+M+tQLj*Lfx{A_+fTF}JhABO6;+;N4$kYmK*QVT1t`T=@Ph=SPFor0n2en*5?!*ae+ZUT`TQFc5eRR)8TWs2h0RO9-YvDFW4Qx z&SRWcHgby2V+lyM(5i~KpyHT3Er1q|(8^)fxg2?p;wHRTU`{T%8+wMnDx7N0n{j%h zVqn@Y&U;$?-#S#@p$Tj7e^5Mcan`%p=%4@5K9}U8)p4K*x~@qXXRSiRiwa`7T_0*1_gM z{}N_Q^dHm)<%PG}Z*!R@Px`epb^fYn!37hGX+BLNhZ9VVXh5m9JY6>@T6t z$_KZfiBAR)JKg&-l{rbl6ZDK9Pd|eecuyb|KgQ_dswPm|EEp9}0hX4WUTTFkN9>nH zAG0mVvawgAlnrpk)|9qdauS)1Qqr)8Y%(}M@Qfyeu51qUiRze-1iXP5E;2UC6e?f+ zv(s93<>7r?qcd-ojX0MrUh+7D6qa)hi$z7X*cD|A5?#humf78KwLtz+wFNeQ9o`q||B?JCF_2a9!6)#`> z9KrVP(@AGy$$7<}V^1lGyDgWUv#~-Ty(pWviWG+?EIorSf(gCG)}5I4tC^8n{)8y( zekIMYgUUi2X2+-9;zEWq6KU6tUl-wBDRC#(Qml=Z~DnTvdHo1cm^AZm020v`7E znr?YsurCP9p!^}taZIs$ZLX8%SYV*ycKuYi<6^Am04x&}-kV^=ojSv@H zFSS_cFkGiaRyMTOxxK*yBy#Feg+5*Yo z^(DyRntqpRSGC+u9YgcBQYE0BG%znPGABE6CV1|hmk^6o1szygVZBOCi8L2ieH}B+ zo|t$+5ei&L2(UQ(l`xp^7TP9B4bEb&wW<#=#IHlqoylU9HDhY`zs!m%#w}!PZoFCk zW-i+_x0<=b5w|e$n}=RUMT&>XFbS!8uLkQ`jrMmD z{=sklcAYZhj4(=|j9hoi09vcF9{$tP%fa+cJi-?Q^UExe?Z0hTumt7%BB4 zC#%M7c*yhL;!1!6(H0FfZI#$Gtu{O!LA4$G)FxesX;i;fC<`oRX1Vv&bGuVJ;&^VFfRDiseW+%x-%t}H;J~&u&y#ckWd;1~@_2I>Y_(JxJ1&`x`z+c3K zERAs^U)o$#MsmNeYkoBq5MY6lq7Dp(8E5T?v$tJTy7?w14pqXu za1hdG5HGNvo4I}U>#`Fb(XYifvzoS)k|5Hz==br%+3u7QzCC`Iiz%=r&3s|iAu@?o z4R~Hc=`pl~-Z~+SJ3h2?Un4J2wtzAaCFWIY6`hvN^x)b_89PiwX)L(?8+f(dVqGz& zyU|FQNO;6U@YY`t@cC)ZLoOo7W+6li(ytyOzH2I=jEZMO?@#Na!)*u`R+sS6150f` zFsD&I9JD)Leh8`44trD0i?1?gHkm-w&0>v{3K+_^pzXJ+S|nRCv4&x@3U`q___%-gd1Eypx; z)Jd8pZ$BwN(;0afP66m|Tq%LIQrulvB6dhg#@mzzsb0`?Hf7P+g@yaf{au#B>(?3D zqh!fS$^O+{!Wi-XFVz>Ev(KIu%jBz!@gEiMv?CU4IeB`L8YA6mL99cQ+8W7Y{_7n# z*A3|77@a0FdiWb#ZlhkUflu%2!a+>b2S0y*f0ioOE;19VfBftDFb_+H-1#-u8Y z#L~bXVC34}!jNlPnzyRH~Odds^l`X1t&WI&z$qg(}_5AD5v8L9AEF17anAkElR>z1@oKlp@9uLq|5 zI?=E)W7KWth+X-X37s9lv0VR$q$;;$)GK$IubbPfO&3+bl%6|iQNK^gFJ#p8WGkZb z<224LIgUur$XR~jN=4RkNYN3iqe#00Q?t`S_jezUL3(xj!7qVZli>34wJ=Q6dAQbd~x}qp#39v8o1c! z~*XH_Fny6QXiK;Iae#0;&?ZDE({NzKslk1{{(EkjF zQ-g{V&LHAyPD)9_P3cq*cf6Gj18GWLCTQ7Hw3Bh;JgHqKD7)$8HN}3u?5nd8h?6Ka*LS!+QJ3_l@GHD36~V{-*?QDM{KlLIu|4h{mddjRYE75DEKPX|w?Cq2Bb_g&<2C2C_m%;g#+PmYEP8c=b*(oJ5EumQ_m+~Lu08(p|(e@S#n--g$GXy z)VD)$__3-hzVG&GsTp}zU$Mf@^A@@HLv&GtxGHa^&@1!^RsWWor@L8w`mS-YHk?l` z-^#2{D;)@(l7qaTwU>nRMhG4WAgdOXKW01VIysmpkUpomoJu_?tNG2E>qrr$hO z@NX`1o$2rf1CWVAE>dd#q1L9L-(hw-ym`h+bwv&ht?HMp!O11{b7w4;3qVEZuY<#F zPJ?IatCmW|>5fMl+&W8qKm4^UrCNL*=d`>QIVIL)PvXxmi2<1Y!%l@+X z4hvILNm2+s+*w6>zL2)S#qXsNu1SLOgLkR0$RZRazJQS29=M<2tUo`?dsB_%G!mKV z9a|;X+xZ-K3;ck2(()|GAWbG?@(RaXWN|-u(2H+d{7G;uCJ_haS3eN+J(QUfuS=!q z9QXY|2Yo=Q;^+5UZTkN9H)e(|1Mx@J5z99NTtfvzo5U9`er5OSDgfU1nJ=t`Szx^Dy7eVmFdKTYQxjiP@m;nwI8ZjfO6EdrICHR# z*l4qA$J-O0da^xg+)l?Ddi8bs;nVtscmzzm_Ma%&}Me8YnLf{ z8$m|UkeSJP8Z&IK|G?)O!1U>SCmArhoF=kVON` z02kMAq}#!)m!wJP8gitBMZ&?)96pxL9nee z^%g3v@=`pK3@3(C2`Kx;LxPGK}}NAJ|~(a`LY+K-r+ApNH7t_rcQ z5k+cCtrY1IZGv}iiY2met6PcaUX{LI=yIvhsd4b~omp->w-uFmH3{9c7>-YV7)S`C zW#6Z9TTmm;!RcQ!TmLq5?M~fTwZq^hp{wX{_;}V~?zwTzfm6<6{#h@7axS^Kuo zPjsvIc|;D(6z?Zh&qIoKTic98(_G22W5Z^KFH}EpgWr}nGV8BX^%O0$H=iNvz9DvB z9n^ASQ`Rr4r%jpvrJrBE2v=6zn_pJ$l^-5^eTIMG65>=xutVPV2d{dF5|@ORTfFGz zazqwi5qZ_>5YyAM!`9GFfc2;bP|Vy=R1%!pr)Pm(59@Z>pnTocd%Wdgs-D)*gdI*T z@lW%jj#z>Aa^=*apzVY;zXm?@4&uG!NQNXu`G@cN4id zW>x=1ffOjlZ`sz{l6$#u)5Socj+7{FH){OK7Ae@z%fB`DPlC`%P*=uWLCsgD-C z>g__X@q)zjjV~;(Zg)S+B6gaxZec7}nKz|HH#<7OX)0Q7lDA&Pt4Y%6tvoqkTdr(K z(~YjO>UsR2@?GS`^ErLNS;J!oC!<~u9!FlYC?9~0MQDbB`GDiqH$BNr6MMRgLFB!U zhs=dO;MC>K{~}isBEi$#b4Sy9IshCCmPUe&|40%T#G(1#!!Oa55a@7B*x8Ix`;4L4 zm{u-lH|XCdM7nszIO8=P$LgKh65;AU+L?_>c)tSYR+`d zQ9UB*;g>Ge%zl6H_s7_Wr1YMzg0_qGBmBDsL8V8oo9zc(h$;wF%6&)ws`27qk~7i& zy#5L#qGb5&5wR>F2_A=KW4{>#q!Q)OFBj}2II@#WBlZ^F(uwk5krJ{Oi;(s{4gS{e zVbV1r6&xw7Soi&tkNVBBVm9DQvMj4_ZhZU+OH! zld6y}YxKN7=dHXNwhW^-?kB#_hW*N&Qg+(>`@gcOHT`CKJgOg%O}4_{lCBT1ZN2u;khPi)Q|8&e@Ip_e~^TMQ(HSzx~HItt&i%g@?d>DmcuiJpNbq?0uC} zQwD)VNc91&E6>dI=zlMCu{e_FN|tzM!s0Oe3EH8Uk2`P_TT*e^*%e)RJs^U(%?pPJ8S0A zN@E%L?TqS22yOlUhF`HDX>T2ka}B<~DZ?NSK%38?#mRCzpmPWq(0zy;jj*B_$oz4& z2}bd?u6=m$>BwDqWMzUEO(Z8ZfR%+)5{GFTzopAFw1jl6TOy%g@ynjzohw@K)+< z2kcK(lbMl7*hTj}Fknn{PGrUdcr^Y6yCjr+K{L~`378Y>wi`2psT%J!Y|iVc0H+12y63J`~} zLKn6fD%u1p?vJJ1@;JOSrjBgQ*nPl}c+t<`;ftM)P2{HBg=D~=XGR1yLFm@aMIF#_ z8n3WQ>)N6Z%uk^E#yeA)9g8k)knvs{+*6ecyPg8K5mFoX$lhJ9qOr7dUQf8R_t2}Q zx$fS?%z@U_y6)Y#=axV)@EndF;sTEbE`%I(B3)`aGerv8-eEKp!d?>Q3F$V=Z;Hk? z5(H}$K2j*|B2T$H0pIUcci#mE9Q~o$9DY*R@rT;1CCf5+=);7^oJD}2nMY^iMUIgb za3(+O?ut%9{$y0x#0h^6J4{(LcD35D-CP7)h=*Q!Ui^NdW4EuH2EsN4+2ztH$ZM27 z9alnbnh64swe zlR?w(RD-M}074eXd((#B25PHXn+ib@%rD4bSTGViAR?2-MAnI2tSE zh>(HZ_s~Mlj*T3b^OYyrLOWwsGP;w2>lsG%4+aEIKesh8H&r9m3!E3KvU-pKDCDgM z(r>@@?6_bmL^lPrnIBM}9foxgU5OEn&wI!6J~I)ical>{q@Qv4K)HzuJsCq+c~`xE z9cbc^?^oX@a;_nN*n?ZTja@;)?{-{+uv-i9}u&NgmFO!Vf>@+i<7;B}Ob<{2bu z;fj1JBqATbJ#X&b?@yqcs$$_KDthRa%u~}b>DIPgnz8ek$)O;~zQmSJ+&!-yt2-cfx|G-GfbQIxx@M%m z*#)}&z#h2r@a^HheX73@pj9dRLKpRQk~#QC>kmV`XdL=>rk0qBN^9`Zq=rC##NSF2 zNPSJ}gbf4ZP9%<3ID1p?hk$-64c^C$giS-=N{eINYo@5;_*u1c#j4sVb`p&n{xcy& z9B*Vh6rd-GdKiFV$7x{Su$xsDi0qUE&f*V-nSt>X1)$l*__(cX+!EDRRv8?39`{FJ zlS;)y*L(b0v%|34vpL8p{d&?hZ4TB>RpKP(X6;Z7j8C8BNtAb96J=TmNHZks9GhoHD&IQ8%42;_YC5wM1Vp>$@<3QQjrk=JW z;6ZXd^Fkgk)`V`_?Nk1(J4t*gy;s}E%B(gP%okBhutTNl#uW7)@2tj;QoV6TlO`S8 zH_cOHWau)7E^1cxQ0j-|7B*Xg&i8(>6;hCPo) zY1xW)|2r^`3jRA-|Nm8;!l9~@!9QVDX0viy}v1`^8Ok5 z)A}gJlRIbeD&!_&WrJB9%pmF7lzR&OPaJ~4dqr!fRg~GonyFBLimt8A=-dA)1W?~E zs7m+zc#b_L6?N+5ONlOUb}Gg)2-|7I+iT=w3kw!{Qm9=c+JJv9<4@iBcgTF&cgv7g44z_uXrpVcgag5w8H@_s>jrZXw zgv=Ypk>KJ)C{Ug{L454i%o`7n^yUi9ewIAgrxSK)7nScwmfrhR)3T~9F|^-xM+JYT zQQ6%tz5Q`@(I{DBl<8u9%zSfn`<;QR50_D;<5B#81Kh$OA zd&^xW>B!vT-beTFZnt7m)kuVULOJZvEV4@Sj*1264fnMyI61=R*{^9{3t_+gwENO@ z!Cmq;Qa2Gr+snZT_vue6c{i(UEWRwV7xL~?QTNMtKqv?vfU}w1r=r%`;=!fIQPF?u zkd8BcSb4-7B=_OG8Z#~?i(-vp-WOwruej$*{*qmk?5ldS?*RL{QL45)`0$&k|L6}n zCYMYEQlN1w-8HnlR?vHNUTzr`?>{HX9)0n+=4Qr^x2?>F2Q=y@=MVBPoluQ33K`9l zn;H8$6YzIVF!VcvaJl%UHdyLUB9&#*qD_PJYX3GG6X4rcJWCTNT-rj{H&8k>BlKvk zxoqXr#8m^I+GuI;pJ8aW`|vcK31q?>TFw&8#Jt^C#`CzK1#1I=s?B+yoad(=V6mVkW@&wrTb_U!0ngXabUpaS(s08I@)}s6@y~n zTPG5XPkM|8?OQYpoRIp8;xf3wM>?&z5{a} z_X9LoXd$uWt+09c3DTu&0>^J9 zyER89G*{f#a>(aJoXpxv3wib*HB!(w++Cj=UtCu?d9NQ?0M{v_Zpuk;@=kp1&m!uU z{D!CA;?xY4YHxoyw1fK)Y~}V{`lh419Y6W@r}XBc4>H26 zatn03&9qqX=1EZ7Ii@q&Z66JS2;K$M6&Yvwm_%l+Dmk zjkaxemG%{j2cjYUn&R%r`Oipr!33Qx|UQ5Hm89P1e+AW|=CnI{u zoOqG8`MoDrepd3wkDBk^KrOsXbIgN6Az7G@($`a&DBwqLoyYQ}5J7z#Ix*+U-Huh> z<{?XYPYu_b#}`ot`D;nnho*)e5n*uj+N)PT; zi!4H&MxHJH@o+^$r7#uQoj1E?h?WDSh>7oFNYe~GnY*k3@);oHy#j$m3{JhlB7Blm zE{d4XWnQz(>tSdd#~6AGB*{xPTN9BL!CiS`1V%hK$%Q7$UGRkN&1#%SBuRH)q*fwh zyMlwx_hq}U&Ci3D61yjnJ3mn@dB9D>#deyip|mo4usD6HfvVK~WrF3gZ*iwt!-;a} z*>MJZbA`tpeihFGp1Qi#gKgc+3|WX|A&QN<-3tKHEMF)4mYbWbUbLTwd*ma6Hk{mIqxJ_j5Xdj?FAk%_gUIXtSObHutgok?CV((#jWp zSRjjwxJ^o2T&6vYe$ripH9}eb?z1A( zQk(uG0Gb5vAJ<*ysNH%U2y^!m@H{@Yr3QHRAYfS><~E);AEG+6K@37w@vF6EI-}bT zGAiL7-66HoH$1AXN|bkz?bpz``h&d!m-I2@cm7}qy{OS4=CDfK{=n#Jiyv-P(z#vD zV-IElZmn3J`J12YlIeU2L-|oi^l^A2SFu_zA$MD8_FeQ%9!f8v0O#2(!;=G_i8fw!)1eg{r8_({AEY&La3Imu2I2_`C@?g0w8<8vGao$Q3mWXpk2ZG%RjOoN;-EV zS15e`ixYQWG>2nU3p~O*nXyt!he$g!KlKWx*0+D)$k)Cq9z9EbaqDphHdCJ!dzW-| zT*KlvzPDp*JgX|$x^QFy3K29;5u^4m8)ICp26ax!`XN~sHv`NDw7z(cx2=i~4noDN z6=mabe<*2GG5Kvj_ZRe0NzQbj_;TCb2{7Gza^Mw%+@2`U5yr3Va!9f*$y}NfS7*8| z$8GzH#M@9zD9QIcEfu3!=*OC{XnI4WTR6_Ql z(LpL=ZHMmQ;p&hT9jk!ukQOeb(5-qOB%!$c)VwH_g#SJ%E28q0!&z_!xc+HsF(K() zCpF)SJX2dE`sWs+>)>Mth|ELLSMHJm&Jsm&*^|s>Yr)m<=!js4J!40 zF4Ibq)OO&-CQBjz-Xie6Qvf6VW@krY3HW4=)vjbDBX)bW`C_)mMv8$`^h%A=atGRa zs@S}jiD?B}1~;c2w=gERHm{?q#LPJ{4Jh|x+gA4e2d}%Asp&ek4Ua%l6Z~KAzg=1? z8bchb)PyCPZ59h*egJ4(BYLd&xd3F-b;Tdtyb9n2L_G3LW}jW_nOO)tTi+o2|wX zYf?Rd`Ch#j$QN+$(VYVH>2bDgE3>FL0DZ!21KwNq%vkt_Tq>7}_W`d0#9K=^qJXLJOC*@(!!_x7#5On_VsUs*r96klj&bG7p!wCs)`@tLm=H6=-pJwE_>cy}| z4K`c_hgU)VMxry?1p?$-Pqmw`Bf5Qbth_#jgj`EBuMlBc5$@fSW700=x$fuW$xo9H zzTU=|*^e>qy9%9p|K;cM$1ICgpv5l?`x>_%>$6r4W)}yD zY9DN_s^LzpEL?bSY=;q@By){((f{JGP1z{SsLcyf*7kGCp@lGUhGII*HhaL*@Y@ylTe^B!KQ7lfsu#(|5!F8{ zy*N10b5M}`=CVyrJnSvF%_^kD)sG?ic90pQIDzhccoKyMpc?su-?KE`GlMXssHVo- zBMO#a{uf3Gf&rnppzI2ng-ncPebJHl!r2xX_>wcN=q3PR43>K(w!t~{Qh_JC1NghD zoDUOY?IEVf&{<^$+qQHiTWp|s}FffD(@~XupE%SV{NjX+;w9;%CL4F`d+Qr{2p?v z5R#crPi+}Sc~K$&90EE~w#J&&!?C`0EV!aa54167M0yxu7G?*{6Le|H8*{Q_!jI(( z;ojPL{*Ce@U2W?NJ%{nAUT2L%S{~7KRuilD8ingr zwo15*c)t{IEeRjM*VGkbhJ5e%b-3O5i@87TT3J4w z7E&GFUu*JBBZf*CWl5CJ`fAnuyNz2?Eeqky`LsS(NMiAw9!`+_&fNaww|!5j9LFwt zyKMI*sfD=VPx2OWD*6LPl5sZnpSR`z>N#^*D<(G=!V73m<8ZCzV1lN3vS!RJv!k7d zHkNV)IC<}C+&k#!0OR0PvLPiWs25I^UP8(;_Wzh;`j33c-$Tfu^c52*DF)BT;7b$? zf#?RpD=2+|A^8~s?O%sXJSoR7fb$-zs`w2j_9Q;M3Xn&cAirTH?O8rIg{FiG2p@$_N$vT+&IYXAa;`3xF-#J@rFTiLc(2Qw{ zC+c;gU+8~q`dHtuk=b8o3opJ3`e3@41=|b?AVm58Qv7{vzq?Dm(CI)d zOSvK-)Fo*{LtK-$kYSkUul&&viXpHSF^jfYCBD*(fRNhsFY>qZI@R+XfgL)*}x8k$0Es2(|+5%_PC}~(vrUIhD-b@Z? zN0jEN)^?4%-aqfVF$T-{${Q-IngQhDlTK@d7@!IO4Rzg)zW_96e;#%FTM6R_xl)fF ztK}>5Ji-WVX%bgGa+RJ~+Y{yRHt21KrPvNv6`^vl9A@Pl*23DQHQgmfeqgrXj;{^~ z&zKsxCmW5`uS;A~cARl@ z`A6j>61CCUNu6glX2$!iK4AY(XyOPfTgvpoi4da0E7m{tX{teu_n0oP*Zg+2fo2#0 z;`|!N1+=C981VlZ2%U1@;PCGvM|J%k=700b!lGfbTcWIMl-)I^LY(8u5h0@*874kXus}uR3 z@0iW+ZGFwJBHkvGi4i&*uO_n!i5I?xH|_IVSd&@IjT{%EV2|4+L?-{FoArOSnRDbL z-yiR`2>)bZ1+L+EtxIJc{yBrb{O>!=huS_&I^lW8K*ae5WzVPfsFk$DKOr)>A{_IM ziEw+^c}RZmE(Onme3WpQgUg(GIo%|k2$_%v)<24WGI2yVuRt5dGhjUBZbf2jb^>f# zENgK3^GT^gC@@ALsaMuRMq)0C5YpD$wiVd2_zm}C^Lez8Gs=eJ0=apkTdi0z*`WO$ ztd#Al{*@0*jT$7V7;c&GC4gXqgy*0 z$@nW)A|)4cQQCmT}k z4?annou8Ezy7jg{TU~d}cG#N*KT8i1XidJrw#S&dSIGDJnwln#*1&|r=iI#)POl$! zsOQgk=C{v*+Xy5ZWDBu1s|bEE8qWuC>>lO9ccd)*@VMq^(lt%kv;9%cD({zNPqU3Q zheboNy|i!PgAq!Qpo-Y>#^HgK&Ub`(@77HeUvfhfKkgV;@ymO@euqzfo1i`OP=AUc zm?~U$yTFtPKi}ZtZ|&y=ou(nMrZ0YOnoV-^muI^LZl3x1ef9Y?{<9<5&ir?|bv>IurK*|9HoVX9}(x ziLkDo-yPRI*#ogBN~DEKQ#qE8KfANrq-+fKziXFYoORG;E8e06?Z^>j5rj@1M=(a@ z-?>aaULDGmrI-7hAQ>_T461zbc!x{>)#(LdOGhyi`v8fb*GRl&pD-a2;Nc_l0+J&c zJ9S2>#;FKsfh>fl&F@o+aGjrr%E6X`UH@hbu1Jv&%=wina{ei&z3*6Fv+eu!=C-{_ za@bj8RaQ75J!%SJ>c(!KbC|)WPf7}H8vU`^%4my#79cV2&bWhcD(QGL`0=f>>kyg< z)xInd(a5(4%e}S+hp=4P*9T3D!rz6qm_1``1pnYjT;SBHNOLb``OR;~PLe4v8MYVE z^E%7}5^82bXHT)=6#53yc*wFVZn3gxzp~WZQKxT|y#Kd`Y}ix#ghi+jvZzeqdjWsC&Ene-%mS z6E<7z{G!HRbfGE}aUkcMC{?_!mv;(;==4!xSk1J6(%HO&5(J~|`5;q=(@xL7E0Mm6~r#5@)+WtR1;EO@Z^q>dpREiDnn#7&H2+QJc(i@9ti!EBI9?^j|l_Q3^u>GE?MSidQ8h=5t^7y(3G6bUinCW&HMdRW~A> zuGWT0^c*{+MpjPbShQFC-cA=9u##Is>_ycXNIluun|gAMe3-dYHiB9D`&MUuz#yN} zUmC=DO}i~9;q4t(Zr*J`&zb5WOD4Sb6^Yrr>hTmTJ40k{X3S6Q+d?m|HBw{8%7N?T zRu*P;Nd#ntp~4cvCSIRgfd0g?gu?srY zNMEbR_hESKTlev^I z{nYS3zD`dnS;r}(%it!Sjom*|#3|}GLz_V-e?O|cV>o-CSgI+#k%|)5Eeiz;G4b|U z0kux34!28@rvPCSvRU)F{UB5T13k>$?QmkhCQ(_@HP$U$`r_G0j_69-RF8Fz-ZwI@*KyPtG92%u$kLVOV=~u3{>7LnNO5#$mPbp!>;>!(MD+Q!{ ze)ehaUq_Xd_luQH*7ZEWkG)GtJ7d%Sc*%GI#hD94;rCx>2N@ys$2YHi)Jt8{G9EqH zxB?BzzrSwwt{r;hu<{K=yR}aa8pQE+G}U`ivF>WR4VO(boM%upc%i89Y2A^Gr){ z=V^{#?gqy)KJHeTyjxW7&_ca7jPBEM>AI|mjV-YXxuYA3)RcTH=somA7K(P;@Th@g zdy-1OVdHewaR4 z8dq0#s@JTRg(L0o;AZmYGmjz2D41)(ntcI#NgTSgm5yE(7j&<2@@HDxpn9l#DLC zc;_2j>D%>TFIkkSXdZHlX&5f#ZNJim$Zsafb69Txj@YVRqr^V_)OwAy>;=@$7D7(J zpwEiW)+%;iOJIsZm#Sk|`cwy>>W39ruvC9%I0&iusQA?d?wAok78De~1L7D-tbwMP z9a--1)H9~JP7j+xzDIn~FYjv99t{=iF?WG>g45nL0AUH-ZbfA!tYZbOC3|r@G{4Ah+`&ZKRd$rmG&lYHF8TP?48gal_+RF7w$+shaR(d*Sg% z2j-EQ`^mk+I-Ea2`^Bll@dpcRxZ^MTOI3y&3+Mf=Jr9?XIVqwbqM)h}_?{%-)w9*A z(I7v1D<;_N;Cnn1I_8*PqTh}mMN#!TtykI}9C&9P|K$-hK76=6kd)|#bl~YaZ;5e1 zD6gjs@W4tNJ;JQF>Apn@M~OteJQ*0GUO05GGh8?=Bz7chr`_`U?hw6Z5ljA!3z3KH zM8WX{8H)D@GNoF&?Vr2Q6>k|JirQOg^MGgdUtLEIg^X+7AwEd{l-&w&O>1I`0#w*N z!c*PI$2^38%f}TuJTeB>>t4G`H{I*vkZ};pnV4FgUX{+oXS5%GxSD{K3zv-b6vWAE zMq!$Jm#!BIfs5Qkc!yKm4m8&96H)XZP`mWdb~0Jxy?9@D?Y&C%wjL-_j!O;NhyT{@3!S1)`W;+QTt!)EvLbjF zn%bg1&Zo{JlFzH|z}-Np)hZ|^JEuqL5^nZbq0&@^w078vR9>cY05e|Aj%sO;hg$2o zAiC^&20VUPWp>wWRD!ngM^lpGwvqr8K_>~81NLWTc1`jx)ESkD_C|c)G;*5dEITo% z%0pA&k1C6vozm{XhmJt3&8yMgj3HO88gdpx}~Xd z*)v2j7uMyNzW94Z@GElq#60%|7eZ+V|Dg2P%w;~4v*ryCB|gclU|+T#6mvRi%ko1? z7`DXQW86NJyDjP}ANAD|6RdP?u+SFICYEs#(L$)mqtg`j@Qwc{8;dRKJ$Oy-_-5Ef z?UPaNC^kg1I{Tehhd8K9#1Yq&n6P)A_!RMp8V_){lu7%(o&;rMRWMNt!4wIqnv#)M z5&f1abMiy&Yl6>u#8SU(H+q}beaR-2EuavCih}gB_ZtD`rc!ESXDyad^AIDjWIBYNd-dFjO76Lhuj(m`myZbd?p7P>4xcXkB9U{QEko$E&X$Y3DS1rv zo~Z^_W>fgbdnNpFTT&Vog7Y^|6!S?r_LlAswu%-DD^s$o^ZEf@d{RZ_#KTkC<7)>COuxg3 z6~18R*L}fca(y|=M!x$Q0!7@kv#KtGr@mhe-`cAS+Z|-8mK4wZ1Y_(e_Y0ft-2mgb zB0P8pt^AIOB4X=gBsvrt7n0s2k-|usVwY2--o_xlIfMDUNsfW1!5k)!kBHvj4CyQ- z7C$l~WHzQzpjCQ07GB1htD5FO?9b^GAyX38h!l#DfvJj|%y@r3d%Tf{0_OQ zP<;=2UCDV*&z0T1Q5@T2!lJMI^Ws6Fa#lw}V@b$ZLOPGA5~8Zd`o!@t)3ByZ{lM~` zbfH*ESH3L-D70}nC9;Ki@TS%#up*z30=20h>!d85p`5Mx^Vv=Mx1r_!<3>@GP(yBO z3~ti;h@V~4vnt7o{VRK%Sx_jeGj7`;?eSjEIbjn;^EsGWn&Xp@hL!XBp7P(=X~TMxD!)weVWQ2 z_S_ynx8Y@f_s0jEW8$NdN_^}}J0_t|ho4MW3>(Mfs#3U*YA{ps>f~A&^0BjY>b_pF zt`wuKXRyM#;CPi;I%cRB{?Z;l2+oetQMaNVue|?mSDuGsg5h<}RbKG<0_ZjJiaf*4 zw-<$Jc+$(k$ZXO$ijoHk!s7_u7aT?P#ow&>oL*aiSL*9CVyf*n2{Z3-Xc4h~k-fu8 zq~ZF4VhEir$gsf^yj!x{U2>RI=v(n1sd(HNF z^>`IguObVY6(iFG8O(t~jOpAlxH3@pU%|4q6V5mTqZoQhdGT4NFHc47erQy}1zQ<EYEhrrQn|{w-_Ec}pS2%k3 zIYLy?eVNlwMXKaqOB`w@I=BS&i~)B<4Kph@_04qDGWU?lQewG{G#Q;9{xlG+jX#`f zb$2G5GOKDC?UO9&bRtAfV8Rp{5<%m!|BT1?$d!dW5@T8lgc+&3kV0j6b6Y=wCn(() zjU87Bf6m83|0Mi0*p$@MW%_Q<`Vv~{W-OPZ*w}XoM~AMy!%X-{D_y5F^zZ_OjKYjW(w3&Fyrs(c&eXA3Ok zu2Rfav`wjGe1@lrNMV(TA0Nz=BE<400mz4=s_li7yM8#ijQeY5hUKGILOiOg?hMQU(-8&*ya3T zBa@B*(8TF&kJ!n|UJrd8eFmYQ%O^&OIPOfQ=0U&P88M>CE^CJ%GQ$6uq(>w+^lwGo z(W-75SNiSoN6!1g0u}K?g8r6ilpBJ{@_7(774C_l6Af_p(<5aqW1ISSz>hdm_GN=jmLhH$TBl2&X>LMG3U?2WwR<_~fVO z|Jv*zH)rE&ayvA^=w@H#2`Fb(eNnWuHVRqZ?nwH)pW`-(C*$Cr7j1?x9Iu1qqY|$2J2R4pS_)aIOuC8EhLK>Czv#HtMZ%EX}~v9BZlz z1}wQLY-C%zDh{g}ZC^RhvLPD%dwoy#EZnk#npTg7pq6Ed?CEvK#>U;`(5^G4hd6Tb zf4#1qPuti>iLZYuMj@W{vW=JtNR83kg;~}tuZ=v-A=EQ)9@eid7sT?%qtapY6jqz7 z90Yd;M;4h6llcs+$UUX1JGNa-mdZPzJF#gGtnAAbXhvGzpH|mTjEad>>z+H{^WgKG zEMR(sUW5_iG9`mH&hrfZhTK-Jl1C^GZb=p{$ za9PD9IgnH50mD6npIN?`xDX4>pwr8kb8O01O#=)*G~r+YI4WiuR$u3@PvNERu!)E< z4Dv3UrTqQ)Tv*?p6XSBb?SxF)3G6Ztlcd|fgY!y4SQgzZR-7Ovs=>X(>x1RmLe_U9uT7!RM7 z+9ymMC=M3X)O&8{R`Y2uK8Y(c@cWjhE^fn^DJxDD`&C|4;^%yJh7y%1{Dez+=o&7gL^l!tPOeh^b7;-tsm&+45F@(PHK0O=o z9Uim_vJWS#3UK^Cj?OZm$@XpIgUL`Dr5jWvMY>0cB7&4O0s>>iCLlT4=#p0H?(V@* z!2wE+7@bN;mo&l#KJWhThkd_y$90|8ah}KT$j-jgJ|*RRS^9wt)D+~rd)T$9%^8@FhKASLK>)C~`vzq#hl1vzTXWj?e@o8lB6%1eU1^5Q9T{cQXs-iNU;yD0N zA(}-jTy@Vz#jn)TNz~8?LECc9VQ674r|i5u@t0ryoQ(bf1-90k#r{i@3bEP!wj{Bo zOIka<5R3$~7U9`tB$kDjiEF#m_okr^t1aNF{1c2sZ!e_2g@DOK>hy*`495Uhwu58& zQ{lzeE-Xt!nmHT-|Ir@x%&~I{VP|U4Tg@N)#&>86YT6g}m9U|qP;xhVuxcbAwS)c@ zE4f|1&152MAaanuF{tXWS^%|n3GdG{L8;0N>a|n~g#7tr9h+zjk*y#lYIN4Rl_wUA zSYh&0=1r*Jp!t+@aJhMi@Z0O0+3B=?q|zy*r^jjP;`M8A><|O_s8=@sKoibXL~$ zj9=v3E5gs-rKzTu%?ciZ<+5+>wwkbfeV0c?sd$v4X7C25HPvKlJ12Lhe9oV%Pasce zv3!%Aj>5Rsb7|&8KM?4iq+eRtb`3S~!{yA-}7f9u_|(y+EeS(}5R_JR1cn(BDz+ zOnmG0B`e?zO)&E3-ktT0afD^xZruf4EI<;r9N{yVocmD$Gy@U)ozCNKoE$==W6D098epNKi#dW9 zzp`-q$vcx}vc{ENDoi_)CJUGiDOP9UFsD+(%2E9mb4)93v2KCpAIu)@w50i2+M;Gm z?G$%d_3K zrae*C5ef{=-x(;w1fj;@P5rU(mNr`kQ8E+Pi@j*#UM+g=)y!GR=(o`JV&b$X#!DHr z(7G;*e=vF8lHd`=&~)qE2s6!_x$M#gfKN=m+$=>5D zj1$^oPH3F0l~)Z_Su5GAa$wU?AmpE|?{LPoFKrpE65^_-GX(gFB50Z-y{ksGXWC;{ z{uuYM(dj$kiIMe+ec?=RfWiKccsw^1Kh zpK0Ox&iuTCVhb-WCJ$OOK>P zz|cyOHzO%*8YsT%lAT<8m|-$M+t}!Fi8N}hDs#d>_LG1{mK?%gTUQ+svI`yyxObXjK8>2wiMLhG zHyCz{jb8}+)}poBE|PCCJT-D^yvC6gw)$f7^zr$D>=X#M2jOMV2?w_ zxC{fM!K`&94jjnN3gfXKlM=hglW{m_DiQw;OX6v29P-J~*B9TW)5wpvs%#KfHS#UI zZQ^2}GBN9FcWYze-|cC3)K7kz$2@fhg13u^)o4=B{73Y$!@DBuo6DnG2y1&;NB<2Vv+5 zRBpk4x|L+TR6bvk8j1%YF}ZFB{2ik2zSZv)FG<#_%()pFTFy(oU~CiJv8xQq{T?o; z%w+?jQ1{+oi2Y**;8-zU*u3>9P4bdpmNzvUEAlb5=hQ?x#&Frb(!!hCd0vO2W# zCvGbwTnZW`w^d3WMv{JcH>N-jhhtOHnI2HLtk`Gk8eBF8n_M&ic0PSN``{cZE?3uH zvq*WNhlf_v{80ig(FkeV?vFpYw(V0E0x02c!P6>Vq{`nPcX!Zjw6v-DMqlChLG8Xn z^u<|%YTAdn_!sLCbn;~5yqE#R%*jZ!MS`<}#PJ47Q{3|AJ)>JFHFyDj2cyr4WI4NI7tA%Ju&p~*2*2}# zH*KY0);XGN+wsYqA?i$(Cx>24L8MOr3#ZoT3!%iV&etp5QVwP>C8WUI6Q>nxOhg~e zd08l4HZf*r3aQOMNKg4(iyJ+EEp6$iLtSFkXNF}KL%HAB`%Ibx7!Y-$G>a;1$})&9 zaP_q-n{@6o?6$4Zmo}8-o{pP(UD3gGh#{PBe(v2KgO1!Hbj)CVRzCzh6xN3ksu%z(B^|qMAS{jr3vpG$nTSg1b zU2EN93 zu&ht9av{kcM82s?daI0Dng--TWw3iGp~a@U&6-X;Q?tmq!edV9cD5xJE=9-puXYEO zn6Dh@`W?|-bz>55nmS1xfT7Q(U%ax>-2OcOwF6udlq7^K*c&D`=WYNS^#N=&TI%K3 z7h!S3_u>>AOxs-?GNWAZ-w$OI5TKK!* z&lsx;uT6*u!0f-ohuVE0=gS1~tko%8HQ@;JWZj*lP*Fy<}sQI!kd69UM)* zq~LHmS>YhxSTg$B3bAhjarZ4rd_$(A7EPX1x=J0dX99tFRITv2LEz8L_yH@sIK2s! zT-A~!JvjR;bqe|HNnX1#NfQ*#Ug-&Fx$ee^Ban05UGoN(9k0Kf=oQ5-cgf3NUj0m* z8IgLq2+!6)e~1+Dlx8oNuqq47Ag6sgH|fqkxu1fKRsX#@K+=`+wYr34%z}d})S$*V z^6Fta_KK-7UkP7)-p&(5#DbIu7B(`HQj@o*7q$P?m(=)zJ>cg?quk7L9OyqMqFvH7 zge)3Wkjq0eUh3lqwSVAh{P_+56CRxNWLjTF4a~SWAJxfS%=}R_{WESf=G6}jbU)>6 z_Q5tM4Z93xcBO&cho``++qnU%(Tmw$zojanOcP3_{NC4Xy;Sei`DwHD!Du;mxdG4g zt>c`2=LS_ceE7>z1jewpdU=n@O{gQSVB1?e}g8c^^a!M>`;AwO1;iPhUBA8&u&bC zbM8kpO`e}{2-Bv~;O)z#k!F-+et#AxA=Gu}c`$j^rdN*M5A3EFL0zn*RRybVLN-LX zg#~NvA9rS6njW?e+@NH2=gj%+a(OR}yLY4yIoPKqqOWZG@bcnH9ABn|d^;MqUAJX{ z+BfakdTxg}UiLdjEs)D_7INEEC8L1mU$d?wil9}Yr9v{POH5W^=&0A*+8JjDD)7%J zw2>c;TmzedS?@gfUSOc@S=aSyvl z6PmYKSgKAyMXKNOX%jLcjJeh1 zotSkXw?SYn9cq`|AhAA9T(`87tRbq3zp-4PrtLFQ7YC404yU+f z_sUo!wCm>e%E|q7oAGbv9G&gcR_>7czl(tqci|d~xE!+dL5}$c;hdCf3?VEOke0}z z8P~v;eT#&YQ0AEna(6h<-H|%Ny#ez*Ch+ z=Lw=98h*ajy|x(r%dlrOG!6i6j_|1@4^|y%b&u=BaOWv@8KM_6V4r#ealEp|#}aVd z*%t7+wjweOhEFWDWDnl-_GG5|@65M8stfd;9hl!5lB>j3R(M6cScMIw`z|!5toKpM zP4mxH)WG(joJi#U7k!>t*N*8AB%Z5K~U*KpZai^Jbup~ zIVUEvCPo7TYen9P+6k^i&I3NOPQn)2!7zql-~)=MY0q!Ar$i$*b7!teumW$=!>-SE zulqu%`6#VFT^fYf7-eN(er&v6(U~ElMi)!-5d3AXaqVbr@OupsF2!&HT$-(^L#_@? z6t=+s#s6*CHEf7WSfcdQK4n9@+X*Bq1;s(ZfsL5=csTti&11F{3W(^Wfc2AS;AnOLve;WZ6ik#5|A(ccX zD0da=Z;bnq5`ljrsLVOEDWIg`=g8Q6}xSzq zhR}u58!TCL`H`f#-Z5dwSEekp%G&`4Rl|nHOr=-eC6k1gHBXqObWH`7oACw6)mE9> zpIUGA+1-O%UMD}%|LT^Ep-YiRZD1N{9y%pS0!GlvdCwvPj*dJK!>e6TY5rHcZ19F7 zvU)rgCC!-svw3kuo%S7=DDIX%RGs=9eTy;4Kr)W#XuCjFAp6591mbMT$d*iAj^|S- zDhp$3JrU-23J}KOO{x-dYGhL1r-r9~NKGIK4YOYo#?2kqwoBI^K-%Bwqg#&Ku}mdj z1aooLV}6L^mzz!J*-$O;w+Prh3WnM3lO|6)hXTx}@g&^vOxkle>?!{O?Jyq_%Zb)F z*Wabq?q$}s-D8WrQPa*>B3FD4fmiI4P7hwQj4~(9>=g-R7cln-ESN1>^Mjg)vMr4c zTf~=I5XY`UW33{>@i0^@$w0$o!K;8;F%Q>rv!N180G6}}zA_aYetUC3`i7Ak*VD;menz4AC!@)=sP<<+JMfvUy`#H9GmAjZH}mYS9}N5n-K5f3e`G{#x3b+DA89gLkz;AVz9=ZTM#_u5;eka_Rhx^J6+8 z!uH4VE-|sswz<2gsr8nr+il9aQOf1Q}LYZPZ9VgAwfyrwV?r0{1nsABtM57AoxC zjwhFQ6kS`l8x1`h`(Qgb%Xln1m_FPL4<4E+z!e}0lu#=jl~lO6ECk4&!WE&Dd;2nA z^8lu=glE|--C*BL zeSNd@bM2pkJ=<_Ka3J-O!;B-c*|@hvx;`adb!w>!#@bZegi7fmKa-{7)7~>9%i5oI z$i@Yak~d3;9EE6Uj?#oNn@l2Pz6;Z~6${+EVC#%fA9a2{pFbQ_+qk_~Tya$8rT$Rc zZKe2W(#Riz$%CXbcOYZ1^W6N=<~ENCu%yv5U_R}q%(F}Z3&WCH177fdO<+}$ z7J83CR>YSsPoP2SrH&jGalS!a+_T~%9OFhd%@Kv~6g%JtyzW~eRX+N}DH^NPKi-9LZra`H5sKz@khdq9hz&{7yGJE9T zY*?OkE?xH0DPe+X4Q;FpuP=SN2u_?+nCT}LNn$4J;h_l&1j4{X$GWT_n#nr0r7>h6 ze-Kba&uKw74RXA?L<(uYh-C-=vgB@DT)16;;Qyhd->+lAI3MNj5pe@=Uzhm_?oNhN z;uGyxdO9QwBL&BENvE-OHhM)n?d<*_56t^iApU1Vc{9iR=Wcz+pa1ckJ`X-@69c*i zlFR_Vmq6oe>d`QA6+nqrYb5a$#@(+(4?Yn{_F%DxfAAe5n}woP{FL9MvIZX%za|rU zERDyK4B)2)N(pmrJBTt?D!t0)v`m~Viz1sN7fEi+ zpIXZJ7U|wjwa1}%;W0Go*jv_4l=?c`!U7N%$L2v&DFwKGMbq>CNmc~r*ddR!qc`PO zPiWgXj6un~E6{6ONtqtDTsD1c$NjRteL(>wWcTvku2Z7g_^K_uQD=Q0X{}vb8}S#Mi;Ori5|+#VOZ4#Gqs9*rNRP zZ!v0ABul!Fjn#C(N+c^63nlYKszJ!<*^J!*Q;9fWPJN9!9h6zg>{I@>1(J$*SFlg92Jm4HFk5 zmYy5u;ICY&wV~G9lJK0>eJ`anXWHpw&a9xz&L7UUfVBw&wf_}a-f#A18*M#rbO5wN znroj~TM|1nxkJ`}yv>kt{YYGb{~xmHjN)Uv*oUs@{VZRnYuO~*J)67^`Gq8d^BogdF~6z> z%HmSw8bj#M&l$I9+OLd^yaP@WyWlPBPuE^mx9^-rP(5E z@8YtObh#5Ntp|s{VUY_fL__^74K<2o&DF>69pl6?TNLBEc-EZ#lM=^c6EI1xv42kp z6e~U@tCz5d2IN7i&-biL;^%0>eX920%74@ZwMY%Euh7xh1b&vA8EU+>Y@TKD!uJ`7 z^A{f<(j^Za6aZX6+X7)|#+RvOAY*O6oxy*aDp5`LAeVK?)K;lX*(9|T#q|O9g7)s) z&p-d5Qx+p`3-i*?Q~o1oBCVs_rRmNg3FnxH7LV&O;<{WkFHBqW6vc5-MqT?51TYrLM7XGON_`4#S+H&+RmsXk$|WiGXeYs(WRn)CmeuX}3k- z;C@ZhzO7|jfy-TNSVrPPdTt}h@Yf;>$Sy5WYAIEN&&#xK6~+05HyfO*2u{`@{GYmY zP@N97*8dE7+m~kjX8U~BF$ug*=dR2lb5ZzTjsGlHc!q~y*%H}aW9mU+G|$^$(sCD= zimdte=#eF2M-iisVaF`BN47EaN9bDdw{55P3>3lg_WMGHStnC?sjnoh3Qxr3ZPkRI zqG z|0Dee2%df=Tti53VirNYtnHJ9i^j<_`8cYS!pQ`ufv?X}t3kfX8_pLHaFmR?mX6rgWW~O;E^o}d z*t2>Qtt8>h@TlCK$bgpnX@ZCntwg0o#|O)kq#1b zsQdgoc5%KDr|r5m%Y#_^uqT@TWA0x=oVLeZbI&K7llgY2Gt>Xa2ci}#<)D^e@Nws; za|g{MNkmCbE2es8Hsm%Cri#Dny`9bUuSWl}Zh$(71&R8{*tWv*haJKW07rpz!hho`Y9JZY5N%r)?u zd`aMcWFHNAYNiM*VYP-yQYJsC>!-p#kE6=|8T|WFw#FAS7ty zwynj>UkyR*LPrsurD;|;aT0lNjzuf5;NR8%@UHTBi^CVW1nWzpdYdk)d|umD`MlQ9 zn33w8=_ww({#`P${9>YRaSAA5)+nJ`FC%%8fcCR-)s ze5_&BVf4G=nKA~#+rUCLqS9tQ581NJr=J58M!hWC{%$Kq+~*HT+%7iYg@BYN>sICq zC{*o!J(BogLh&fMSXDxEwx*a0A;R$J=1UE8v<+{CRI+8?cc}HBe(y&hS23=lC@y7O zh%}A^k?CDwK&=AUqLrI12yC2BTSB#AYo%_41ElAw`kTT46eVLy74Y2o!F z=WLxXa%BdhKPIzKj9;-Bt^gQ$PpHsz(yPg-abEnBxGm`)2^Qu1NNiPB)~j4IX!DC( zmTR{x5?J?B%0%?n`>EmDDWx;%Ujz-J!OJ>R2%aq=+W%eB#x~6!0A>J%&hg#Zt(_Kvq!8|u9`1ewNNg}uj;f6OYOgmLKbHl{A;wN8cdVC2Laii z&6ojdW0T1E!*iW!{3J!E3{M0^pf?%nJnqk)dxXw8=iykPlX4~v1#i&z?1)8tT!TRY zZai79*C6gRizFt|fZO<23JHpm|E>>$p>6jx(acWxVA6Jh-iKjR{pno3@>MJkNpnnB z@7xGULXF)dUuGu3$Euq;p_4`C*6^0SdR2AmxHRnTn0a|%_I`ADyGLJq%dOoz{DFu2 zj~#*(ERRxGUe=olBG5P~d&|?T*5?HAfOfd4!Ty_O{Y<~KXM$hwo=zjF zAaNr1TTnLvCn2Nb&YiEd-IS>}sv1;y;Ho%hS(RT7k!b^BIGZ0Y@QK-3Q(hz#?m@B^ z-2ltB17E@`cFA%|oy``qe43H3XGv&iHSc7H#Fw?({{JpFp>2;+u&KP@;-N;;YU~Vv zL&8oh#CjYJQDhOJiHMklIS>`a*sL#xKA)BdOGRrdn?f^72oBZrB*&iE>qd>FGp@EY zGS%s{I}~=tOrQFa$y}%luz2u;xLYx_FDba*dhSchrLKtSp;_|&q!l^WwEcYTslRwMW-g_Z6t;Zbm% zqIJUxf$tBjom77{@qX(GgnbBH4y7ba7MYeS+5XgzLCs(-wP_0A=ewWGg@B@>oHl*e z8*}LSiri2+;ACynFhc_&prw=(w8!+N_fhA#Jr7d4pdCzFJ7pdFv+2rj%GA?B=WUKh z!Q$#HnYtS6Hm%N&&>B7RuTB+jPN02ZvNF6Ctf`;yAND3+^g;V7`O0L?-b8z65F|)9 z>d)a1`lK{v+##*!A`Cs;^fc-1#t=kc{T6BJrq@r63o!GP7u8I!E?pt&K`qhV(CSo- z-?%w-V!A2fp31sVl8P`wxCCP0wiUey%-u5ldG~v5-QI)MPy6?p^Gy7Z!a=Ts5nK$C zX0`Z*djrR7)V*9fWAybBE{2nG(`uCB>glFtW4n7PMqP>qjKV0-fpA(I+Wg!;thwWB zKKw2^v!+++K9ns-yn@l3pY@f3Ugfj$ehzpiYdHEJ4a?vt?$&brrb2N|Xpe>}{bk2d zFXtkKI>>A?-)Q6T*Li}UpM=apDDDGL@^8JLaq1hBbvAeNG+sNYmuY74eGC;%2bYBN z`?@sP8Z}<}>8A=8QRFMhWLwUm{HB$AA;L3j;&N4tk4C*%db>KEXR}m=FV>EXU&_g8 zZQ$j?8$tym^BL;r>0MYX72>xwy4dmI8`0-z@45I}r8FTYaFR!#I%n!uBM_+4bXU56 zi+H(_EpbsTRj>l|*w=!v+5 zEY>eO>zJt$^%vwPJ7tpqIIE-L=PanTpnD6m5pnWtOT?o}X#CFP20Ds=Ww+`Atun zaRO(w_B0n;&e8573H$tFnl@ZgnFdR#U`IM-|2bdqIQXO}?NTJJD~RY~ympkpNX-6L z8qPB{K#aH%$1tV)p~?SYh_FSNiMP#IeS!!j|zvGXvr{ngE;7roRESyGPX z>aMIuDOBqQT=fYtcN4dK)9n^By5yTCNC@1q{ja-q>$}eW!ke-o>96edwzVKt ztE1S9K)XlZ0~!kkLv}uWnXjRkRLLw0L+J#Ei-ennn?9f+^NH1{F4Ba{j_<_Qh!}Kz zyepaiT(YDHzV|2GuzNV}5cAL((w9H?-Ur6wsTEbeZ_*?0=JFnp ztyL!8nP5(m?{1~VNM<1y1@CLuL9AQkK0!q}JmXH8(a)xy>e`Ep*AF+bJGDq)q|XDV zSVvAAy-=2NgWc(}eXz9a2L|UKy>%K6T*u4+2^z;~_W~(do<8<_6lk9O>-X=tEVuT; z{YTSBDe{W~KXk`vggv?*IR)grx?md4bha&9E3P+MY88#hjoP;QvfzE*zCW`WA*bAk z+Lb8G2_kHxc$#@Xa=Hiv_DE!GNuVz}lUoh=SO0xy#V(uKA|UdJ<24&GK#~=9S>67u zwADMhvpg2?#vjn_(|HbW^^Nqqb3rg{!vpztIfc8v2;C(1x;K6oq@0iD?wHRD^3eE2 zXri}a4@OEgNk7@>5>)BeKw;8x% z=;idPZ`dU_usbm)+B{aPloHXDu7~$~k&Q@vJ2kGi(|opnN9H6*{HGG@X~MU$|8e0T z>bR%fn5XKO^BzB%&E?4{T`7Ea-u1lFk#oxrGRP>G{qXq%$d#GAupC_4eLuSX?7n8< z&`h*qBLD|j%6=1#+zVaDfVMKim~2ed!5Yy`x)gs$eFS~DMISQ9JE)Yfnd-3see-e~ zY3Q>Q^SwtD$I8bex1@DeXTFmp5!A6hnd{_zuW~+0FL#N8gzIU3Zh;@>Aupbhrokod z;zjBkLzsW(lL)SfJ5cS*g}99PM){*H7a>gzkYKG zmfF~v2G?Y7?4kdb=(}y*aWt44i)YvIe)tPyYj>mJWv3j@drm!}pTjJe-n4IBH1J~Q zn?-~D-Qj9?;*O)zew?^oN-A(-onXoMj%sAsX#~M{J=5_|Rutvwx1Q}Ls#D)QuKTOw z3Efv0<=5XM#E9$hgU+Mwi=6MchDs-R5A>dsJ=5@O|G)= z@%T4TA~lY1ANcv-*LOqUW`kGKH_2po8L#KgQZ32`9jRMP^ILAkoOAz92#*?`RCN67 zXpB!%^6>%GEL=UPcc40BuRl=s3tjum`pj{Eq9DJ4T~Z*y|;dFFG6I zxjgknJ1r4odK~yqPXrTG@yL-dJ}|IE?IaWb+0@LkG;oDM<2LpCuiA;Bi%P6-ZqY+V zpNlm<{_Cgb>o)S{q^U#dt7!F|v=934#2PMcCyvU_%R$8SW(epw1o^$OZwqJfKyizwofqr6%v%`ty6_RD=GrFG6 zmdjr_z{$>F_Lp8-R1#dr=)4my24ZU?XZL0d$wHNG(?oP;9>J-b5NF)K*!0Qeh%A^j zQ>Qk-zJHkU=h3;mP1n{&-i&bO0)ETjvKT?Y;YE(&T2w5dLDCm9Z$mKQr`j}$iHPs5 zPhP8?O!h$4u^*$E?S+h^>k`&8Qz#bUnDyi?iMlcv4kZ(rof?(3ze}6RbWpl%0@* zI36%Q%OW3jsa{5&&q1I1yN3v#v-FYQ#cM1u=}0o*pzw( zPq~E-dYjt)-OpcY4eAQ{vc{)(6qs&|*4Y89*vDOUtGZ;18SFs&CdhsvnTh_mjNwD` zjrpdxj-K=sUq-`oe^y7+ z(wF@o=yz7e%6jcpdah)F!LLmuDZ0ZMkL_RRq-Wnf$vJ}2hInoPNL>Ot(g#DU02;UY z(?A`~Psr+u-n+Bf`McnHSOcE4OLklVA?|&+6JmCuo|h1L^}}DEC*UQd54`l71`H9? z4jB8VxxBPQX!zXYxXl`}p%+Sdko}_JsN`lYxAc9JQwVbClLyYVYxs@ZjNaYIrLNgB zSQNBN@!;<@Q_hjfCP@Sl2ky)ks^$A0c2RErlZub7C3e#a1#skn zohaMi2F7z!M^KR?q-pK^xH$vIPI73yS-7)oy|ar@%&s255QBe+(^EoGfm>ratB~&D z)Ln_g@}WnacDl-RIx1;tK$&ns(0*HL)?F*c^?3|-I{=-y0)!0*v3+)I^^=pXtEv;H zZidtW)xRC%L@h1vrYK4)0Fuc@`g6{pRmQ!;9bOq9pB2+_S3RqCtgyXAQ;-9sc}@?A z>mHMJ=C6FGe%jsmI|so93^q4rI`kW8{(D)57nrf&ecsY)=wMoMV6l*4N4lVzIxQ4| z+;@=7iqt(}8UlJGXiC05-$ck3wd?%MziKwI%Tg>CyBX#YBF%%TU$&9qJcf+7cUbtA zX3~&@{QPa+4&0v`7L$wXhSthj+p1H`*DwF2LL~`k2d2m}z%DedftC3$JF8=#T5Apz zbK;gw5RG${602vBhDv|mvg5HTzf!WS-6w^Aam^%VG@fdNB}Q@FTo}L$uqggb8vosJ z^$1p0XKpfNXQKF#f%dWl-j8gjx$$;l2$BBEPdG)<8m#cCSHMvxIIA>7p2GFYiJ8)- zba+WpHU4O)x_)G5_dMiPJg*vd=HI5ssc9PMV%mNxK9{BOlK>#WYyG~W-XIRJy3%&@ zq_=O*)wXTa0Rg+hO7=bKj!yE6F9ldh(M zAKU-iDEwX)#6vBSa+HA_>5^wJd3=-{7Wc68lAv1|N^FX05?w27w13Wy}o7=OZU42ef_Scz71xnRH$|ak!op* zzk6uBb7nL5UGg5e1=yz))$*-jRzQsk)7qix#YXy$1;hwcG6yvdzyzhpgO-{X2_3n^ z7Wpg3pLW6*W?^%|ip7_QF!4DlyX)tobw+bn?`II7LW zT*LuZex3I*<)}!V<#r5}72=^|16HTb@euL~tCPk0;iL(4IxJ1SpU(PFYtBn&M2^r0 zCN}9WZq~?dswmlb_r8d+nC>}lx%T#)(Ibf3UFy~=Um)N0`uCR@JqMFi95nQK^+{A1 zHNonC2_+wCdOP2BD>_Xb1TGPq#NSmu)mwa*cOAR_TG}bU#uyoYX{z@6aKb)S>ERnz zj_@Rw!4%)z&1xE-ci$wo9hb(iS_ONn!vsajPZ>*uc`Noa{Z(+!fniA9F9 zU5N~;0A_GE&D9Cl64}}eb=7%4y*;^Hn}bwmFp+`Em`RBBy~LW3eIK8|V`>VIX~(oT z+UK0J6;ou9%Q?7K+{bX$I*L*7<=Q6{X7TcZjCPhR??)lYm9Jg{oy_|??=JB-lpe{q zpjveGJMii%?EsYC9uazd|DH765at{0y!JXPIXkF(l*rUzruICuu@Zj5hFqEpf;)7F z_CQ-JvH4Qq{BO~96OEn@J?NY~I}=xxxrdeAUE~fLYqxA@^(hK9k0HUNxt6#*Va+wU z0%oflO}%b+ooQ6qW%gQV##MNDGoqzl)S&`S`QTIP>Fi%g`I}u(gx~kWp zKl#Dq>$c$klAxT_Ykd?H?f(HrhzA`V)+A*c-9`y7XdoK^c~ETY%gx%M4wo7A$|C>2D& z9#AiHJA@PTwt6M1Z;)}YF7&9?ZO_JMBqZKd13ngEtN0ke@jI@h@_SWLZv8)VidSYf zRmiHX);Vml;;Lf*SG-~pk574~^czhw!_Dmp4!_tx|69b5;zVY5Vf!PX$A_N(OXQNB zv5_V$L?F5teEgPB{;i~8wKisRn??q8=~r!so1dVzhoaVy9` zTC>K+RK-`hi{R*3GcGSBbnzI+W-M5x5k5d6_&RqKBKJD8fi}U>a z%Boe5p#D4oKb@nP;hm4@0()FpO?TG6I|*{ef|`BL%Sl_1_c?{wzeEq+XS6|7BiPP; zYQI|aIS7(!Li5sbHSTD@;`hl>%I;L+@y9$i?raqj8`YTDaGvq*RXxponD@<;TCFDU zOTYjnfghw;HCy>YsQNiK?1LXoS*87+`zEly9d;M5h`dTC+hQn)a+wQiv|efWK{xoO zx0A^5Z8Xf@R;shvfiO;*b;um#I9F=HJL5Q}&ugTKEPsweXjG2RKeKHyx5Q=aA>~}c z%hMG0Vda*#CsKWE%Y^Arhna4t5Au2ck^^~y7de`lHDdsrY#knchVM{9aZ@_Hcdpd) z@zkEcVQciYqg4{8=AmIAh3kk84s3llRbsELS6bF#xh7-@W*H8QZt-m~$BDkJ_Pgq{l;cls`0s=ECU=3O`v~HlftTAEYl{)@ zp%nLZq#wn$v%gOFUgGuK1Nm&>UiI{@M@%>2x6{8DA6Fhb^7aPqDrc#>|L%QXNCBgL zi0}_@N<^+YDE2xraZ2R3o|mJdVK!Kgmn2R|3V+VTUzLPide2pjxuM6G5JwZRVo{kh zmG%u4riG?(=3I&uD~fFjR-4h+2A;5d@8JGX$`Rq~`OIQm)ZiOA{==~r^@`5l=yfJ+ zZ1Z~v1PPWS#++6EOJi*iQ_ETwR*>%PCQO`&J>>yDND(>72r?#$%|E=cr+vGXZmwXd zGHkrdE6tuZrP$OcDh~71u3z1Aw?;zOieXbOXU>J>vB`WgUxcJBJ(mN*K0otSr=aS!T?CZh7A>Ha5=*CSHXSx9P1L0qN;Sr2wh$+FbqU z-cQlgLrD~GK`-3{vz{%iRafZMB5SxKPC2SX*2scs95v5xlkdOA9FBZHCG$6e3X2RG z2AYVZwge<}8b zO~dG0V5sj3u|~>%&MPtmzuo!0@_D^rV0+Jy%eo-)-Z6N2I@G(508NlmKww z*&Hc+uXJij>hw}DVC6O>cF{+L{~sKaO{ph*ZHe&0)G65m27eT&*gG4xgs|xvik)u< z#4Z=WcPHN0>q~?@0giwUGbi>1Xi9}jb+QfD&c^!V#^pF2fNPC}P8E8Z6uQ5^{_y=; zS~hyTgn(Pt@uTLOqNd_X573!K=YN2Is(MM;Butbws7HowQky4tKr?JhSiL3Zu03m- zL`1WehRlt+cvL&c92AdIU_?W~yt7EfbtVVO6p0Zi4OlS50%n>p^BI1g&n zCimp%PB=@0QS-Gv*vyxN#&w$F7Sov{2s4;-q%BbZu9Ye75Z5B?>fYePz4zy=YC^1I{H2#h!*z#fFU+^*&yK`)4 zlvJv~h=tiSKO%B#uBSz%GpXh5tdP`hP+XwUa0eD{O9b1QJ%rRhAM=m*v)vf5=PsV$ z4B)`*x7qHCMcm5z?4tb7U87R0?jr1oq!ms7w|pK}YA~&$2AJyb*XwekaVoc?FtHYw zHS=98MpV)R^a|D>IYm#JMo3PhCPmA~S(WgM>utvJQ_xp|!TBPPTd zD#)+68fdqlv2OTSkRL}>`;m8O&qK|581a(1Md?KEH|1!1PuEPt^E|8H>cP3?*B za+y;pmkv?6;<$*4la*3<(9U-BL>zSh$+&%aCKJg4_u_kTht)r+uM4 zZ}IdHg1SibSfPb1RAz<_YifaTCIX40eruTa`eKZeu5?VG5L-f&=9VA$4d%d?4+kC? z)ImCBOesm!WDHrB4Q~1W03|`%zVe;+XQ%FE`3Tv8@B5W(l`CF zj*v&&(qbSl;!xJO7}SgK6BQISfMMhJ1vT4-4PY@4HD~<5Ydal2ofVO9tH;9p`GA6_ z-&)GDfW_rC1}^5k%vRhOaM|P_WP33m^U2uyolj@J@(*Z*^sDVzrfAP{)$4sccLQ@{ zn~19cy4Bv%MZe56Cr^PkOY;rGmPFXFia18B?7)3j2~7Caa6SOic(v03Ia*-idVP#n z>yWYbvGcw$qr>1{1l05Bh5%Y;V;!+&-0k`W`!}DI@_>`N+^gij#)WdS+so(nzO!`pz8Cr1j7yG0%uwcLY50N%gMtPK-nC)N zV?6E{KNfIofb+?@DtQ*6V>4(A)IMGNz?4B)7X^LS`ht!4svzms%i1@D4e(YY})IL($;jTSjnV_tUdium}VSf3!(ST+Hk&ZdE zto&zDkdiUl3~3`45+W;25E^m9D-5!^pNX^O^ZroCh+oOB#y5sF<>g&amGJR|)%fvv+AAAzsiU0=}i z&1CxW-21u)Kj9y$F3)HBl|H%J?-ZQ%FF)9zQ#1fKZ|6wgvXTXN|6@6u9ZQM~R7b2UpWZ^VbuP+2WuA zXx#FhvQ?_wL>j3#en97Hfp>K40halt|~+CFS#-R*g#a22ew(8i8VWQR$jP- zm=CPIK{YQkEX!M~#%Sg4181EL*o1)Xa3E~4?EpFyl{AB9gR&8eKdYd*$j`#IZ5h-< z=X{FR@5&lwQK!voAB*UzWA^od2N!|2;lWWoMR1fpaGfxI~@4fe4w;81HR}>7IZ4dcRojTS1 z?Qef`&p-dX8#!{MJLHf*4rtpyQ7}-ko>ed2YV>=IcWmZ61I8arb}!_kZq+E3R;(N007q zleZvb7uIYxZO`*(05kf!_S$Q+{(Q32V91M8F}bjT1LVH`^{>0{e)qd>?z!jgHKrJy z{yY!B1vr26o8NTTU3Z;(;e{966Hh#mWv4zT&f`t9R-cU)8IxYGe|^`&ZUE4D#`a4u zz0`+aw&})u0J7Z~(Hd}8+u?B(m1Rs`EE_8?i!;hkh-RLgV|)}n-*x~UQc^5hg#gHc zRtU^3NT({HS?6Mfsq?@3>Z|U5|NEc2`R1E@0k9elvgQ|Ge9^uA_S@ZyH9W4&z33M$ z^TzBu$AM1Y1Ec|>plbtRiqYj|LO6#TkpLV3ks?`VO5atsL4dmQ$}2OHJMOrn`{56N z=*~X-Y=>Wa(Sv`sEYHbtj%69L{TTmw!B=eov=KzWzXlVwk-phGz}UY0oTU0n>NsNU zeCI>So61;aWP_s0NAYZhHh#9oa5Pb%yz-FgK zthlng!GXq&8|Qxi``>%-dIA6-BeGeW$_L-0K8iL9c11I2Tnj+fTUdE4z6=^|ag7b6 z93b@^XDkZbxb~cL&dI=T(xgd!M2B{0Lbqp*=g8F z?0xw~c?2y09_au4=ReQDI`tSkc5Id{ly7Z~e1 z@4Vw4ee_X>nFz{6HjsfA$Q0lTdH~$H=9()Thk}zY3x?x^U)H`3D}jI~ z1WX1;yvG^?#>;(zSL{~e^#`0sKlol{``BZTWjexVJ3i2c4zX~FcCWqmTE>I6)BbEQ zRd7-;XBlW9)pPc9nfkd6ekwx^7TSjmRvN@O&~yKsRM-T{^6jI|pzFgKmJ0)Ws*hUC zQ@db!Xqy3DBxHaEbH1r9e-C3;XJ%tc6-=3S3N$K2HfpPU@X!1fHCj0F9e3Q}e)F5( zxZQW(-Q9ls?O7?~%U}MoTXoe{voZhx6m{yK{`9Br10VQ+`}oH{-tEi)BTT>l`q#g9 z?->V=_$@!s;Axys765ht?YZZk+r3Z+nICxIfmsb2{GELA$=%a=0MRwqT;ndf=%S1_ zmCbhBZI|(d?{MzYOD}bY9(t(TV1o^^?{EMxPB`HNci(;YxzkQN%`Lawa&F&!_jL;` zw2(XNth2iNK)XNw@sI8w|M*9*MXe8h@PqEtpZ;_=p9*Zqz)=&1E?_GQFTAij{P4rw z{PWMB$pqg6=*~Rz%xtXcfCvH~{_uz07F%qQWyIDNG4_A{^Pldwzx}OSeDTFIJ-q(< z>sedKcB73p%KAeemFSjymcnx6@8LWq}3y)yx=y1-1L}_EJJrSTZ++`q$E6Uhx(!DuRdAkBX#X5#iW)@OG5D0}i{d^5F2W<6 z4t3aj?zzV;z4X!!wx%S4hRJzBLa}a>DFF*?aa~OsMu+7$t9O$EA*fG z)Tc7A0XU$ZecNrfWi&#+=?A*lJ@K9Id?$12U3S?e1B4Y;SixO*;e}aNjx2VYZMMlk z7Id+T;ZJ}1QwFX8aeyXjvFHmxwfgF-yTuk;%-wk7jae3r^9tnP19VqfX{9U}L3V%t z``3t_yMpX<3{}-0Rq5` zesmim77yQg>n*qQ&O5t3_ShrS4`^dOVSxn}aLX*SOcrR6-TwE#|IPYC;L@1`0s(ji z{mnPuygL(yzTbTF%?$Vf_9(9)NI(W?kN%K#BcT2Am%ns(-E~(+`=cNIXcov}R~R4Y zBVa=>>Pws`advHIsP-Jsgo@a?`bq2>_B&0;>~|rb=Iol=*kBS$xVT-6&!V_u@x=1L zIM^>G4y))QAj?LAr$9fCZoeI{;|=wi9AZFTeb%Q!nSn3*KrlGs zh$FJU0KHdUc_j-@fBDN_GSK_j$3B(?7F+`m`@||aU0iXcIz4qEG<8A%* z*LPq1;uo{)F#`dA_5iO7F1VoEc;k&Tki%F2zQ{_E)#5ww0HED_@4d4ZXaoGA5A^+q zKl~vho9FO8yH>CO4?p<94>G`oZa)9{&u6kmCXb*EzL9MMh{4mb#~z#Uh~NhK;XRjB zx~I_+kVE~d94ycL*#b<==C!XBALbxpvsz8^e1A1~SYASXa>B@CPT?^&Uf+2uPaPZ2 z-0)px0PS0iw#wBuoH3(~rt=DHc10C!I6LjH`m;Kd^27bw2y3(dDxxlc3t2Rr4O!{K z4?pY$4`jA?-g##xBY-gg2>^n>03(1c_|Xi?XE1Q?haP$;qrc^rTV{1!I5V6Ye03bYesRuMVy(iDt*jUaZ7{IOYh?g!BPvIIW{5Ll zTMtq|%o7S5R+-3E<{DMLttp4Hh%$YIt^oiXbkITBX#j{WHgS6Z4;GBT4{DZN#(;4G zgpmDVS|2h(03cq-c&(Fg-5>pGe*nRM{p(*@27Tg*CuT2XZOCi^LI6PU0uTmo_#V6f zTo4S_SYwS0NPP|sJ~4gAbtnxe56}Tw9 zN<9E*++1?XDW_y*BxK?MZ}f-0tPQFSGq3ngKjV7vz@-DFf$<{9;Xt;_fT!2Q|E)>rd+c8U%dT z>A51nss5|szzPS7l(*ds0#Xik&*a-lX00{5`P(jv* zx+g#x$G!L7n|+V+hP`#1<)mPwa#y}IlSM$$9S@uVv7zfiAwVA2;Tp_JzVVH3WPt;v z0hD%*JMOq_v68nYTAiuwS@|e1;d|XHZm-qAsOt#IBL_^MuP|s?n__TeU&4Fd>+JJ8 z24$t22O1WL^%@1+5DgAud=1Y^e8Ep;Z8OS{JW~D5@>|v~o4t7%7Vq%wf^Daa~Z zg&qP~6%e_O-0WtYsL~hp~`~ z9V6fW{`WJmMo9*{G(ejV4n97afJX!X$Pbx1%TIw*Z)8C&+6Q+0ot70C&{FIMGJqbz zFLYxwG7fYxA4&<*F|bq`9M~8j*`ICjW8PIZHc*Fjk%uq1CUtBnGSBl7#vor%&%+cQ zYo!3q3Soh>F>sa;ir5&m)`@%|pCUMGoGI7%+Jweo+gb%!ql!619)F+(aKn@yPKYgM zT_|x`K@AfybxyQ1pQv78o0Xh`w+h zfTURf02;d=0DLHOV8IZJba@A^#X=zZ1^)mx)hWh@+s+R@_~2~O4}lA%1?*J7_BCYX z$_w6u7tQ3ckP6Vob?8F_7s?%=kF9qc{1`;?92;^%xdn@K;6rCJxCZ=U+~^N_((RHO zP<78c`iH)FAuk4kDnne0F+ztputvakpbMKSLme0RhF)T~s)vG9o?TmC=OE+*N*|D0 z|BLyNw)cTwRhW>1B^I3R*hBJUeP%eA(pgFyo{CtYPPsm%jjf;BS{>7{0!g7CY7-Nt z1{A$svnDmBJU&zTf>W=x)>>KC36Nz&#b@jmK>ZmDao9nDtPmYC5j<>=P(DI-t+jc~TA+8x3qcH-Jzm&558BY9(t zOQcfmGp`-`(_qb@&A~tBui7@Heyn|Hzg3K(3=IwlYCF7!;0yQ`D=NEDg$0NAzQw4} zAekv$IOM;2own1*C9;RC;h8>_z~fVmAV|yV>n+XmjL| zM`l2PEnb+WW9klv20z#mhyAi}c7P?aIULw-hTRnWSWL?ot^qh>&n@JS&sc!N!Xf$t z$ew=s>D|+K=mGs70-J&DfOqVfMs^Qi$1Fni<+ItmM1#Ry6BN*}Gf5lpxF4JKDjoH+6mVvG%5M=Y zO7+!PJC>C%>kr|B78w7m1PHG8MYaxDwY+D_Z&s@`qchn(;)>}{N*e; zW(eAMY#myt9==BgjeX=O4QT)a00EpJ5AY8; zp&e@EpZ)A-vkcSDP+0zIE06=Wz3FHC1%KF?f^rUY0XmQ+WP~*Y-I9m47$0ZU-~|8* z962k6^(6Ajv@OI;d4J$nME>Tj#x3{UF>ZZooa)iH7>aR&U!|vG$5_BW(?=UCH}t6ww6eT|2mL_-y-xen87QvTc916r zrj!IIBqJ+pn;F~d^t{CpYu81=ImO6MI%**oC>~%4KZkE>!EAyBH1N!nsGcNLLx{vSpdmo^r2u2NC6~;iCa($6DDo6$w zy1dzHHN%0a~V%md#MD;??PO!K$k4g85GY7Ml?;n8&i} zlnk}3p@6nd?R``4X6UBKB}U(;_s}(YP7fJZq5HgSKa?f=zSr-3;2e_)&NClA`>_Dv zD-mjNOzDr?fObrl8kG1t>oYML48EIq7%JDx#U|m3Nz^r6?pMSC)g7Ni0LL4p*do zGjhngHpBz#y-bGRUl~+Lm+F+vdnmC;(E|s2eQ)Ig`gt=G>q}*I8j`IBMA*B&ir6~S zO$k6{`LF7_Jl)$qST;q$IfdV0DsVOw?udz~aq4+iR-Uu5;c+Cj8MjrW_UD_f7BP?% zL4=%%jnWsCQk;HVcI^s(C@6=^|LSV$K+zqD-UJM zF+N+@KA2|AHq@@wmie#JQ6I<~V_AUKWQ;SxP)U-LFAh>E_Q~=J=^`epqB?FxdmAW2 zm|5jmI%I!owu=KqL(z?mgxl%+(6u(RvzdnN&lhQVunIc(PRkrs0JRMimTzCwWaTt# z3?Z5N`t=!jNCqk6^69{r5i$t)4A2+6EpXWD^6V#OL=B1A#?7}mNG))1bw#I zJl)x#=o??kn2X4b1B8`DOg4G8s4y(JP=Der4I$@kRj#Ol9~n7cDg>VrX8!N`7$qSpb8w^ zHV>fmdhI*KE~=ELZ_F$sUogz;-zQ%?lM2;@L05O2`1%Neeu$qGfcDMun4YbdT3v>K zv`QVdf|k$TY|ztweKyG$WPvho7L%eAJKjR}W9v%RX?2!b9QCvX#}xC3-uAp z5ZJ(q^4SW*8AzI;DZI}ZS#E4VkRh)DsQj6>&qg?N#5KN>MH%Cc$y0Ui?vs><06Oj~usah^`B0ZIJ3QmP);Wm@5QjVeQ-u5vpW-vY@ z^f{aDFeDfSW((SO!6eT)G^4Xhu)M~U6B~P~5UW;XjBl1rGeDCkV+P)koHQV^Jy_m3 zbF9+9LzyG%%vW0DnF8z0j!{47$=7G|q0Ag~^0M|KdQ@LwSr@fc)o-hH!u0d_ZFVd^ zoC?iAY+o_|wShJ!>pWa3ny7ehR7sis*}?k+tlwFB_+D>4=Ic_8)V8w#q0W#8be!#R z=B>(NCkVA=fU45a%K|iKwXpyfI?sWUr+DB=^~j)W+l2I)s@tmM7^2H8$pw#!izYM^kz;6?l7zkTB9PmSd!`F8P&{puK42zFe)?1+`bK%{gS{CvR)efSg|i?(?{>XS(byxH(V z&g&~daQ0vU*k+q~IRZH`(_Oxxux*SZSwSEY5C+` zMCN$_Qz}uP;0PkVDzXog%l81NtJd5A-=G;=S^wZ6RmfQQ+g7 zY1$cs2Jx7I*}xEM--`1JphfqAtNe8AzN|Nt`BY)U3L<3#dPtTwp!3YID!!}IV;Mh* z^^Gz5##~m;Wv`26=^;Pwkmv4pYNYXP7h=M^Wr(8_i0e74bO;BxA2VQbL`#igXlJ(w z;XD0dOy<+lR9=+_{j3hhhQV#^*f|rkWI6lV4z z8@MA7Ka87cC7E63$;S`-Cld|v&T_W)Wbwr^sdmMQ2e&C3eDcN^6I4t-dc98`p>w@5 z=okYQ5K@GofWqKdR*)&t%jZN~AGA{(OOx9wpB#m4M(zWB1wvmIreJ6dShHSMvhv1L zXnoIpr0BuUZ1l5^m&Y2jgV1?f5>UQUv)R;kW%|eHj_K#-z)g;2VLo8MHc{Y-A&gv`M#SxoYFbLT?l18w+0W>Q#RR(7{ z7Elx%d_v&tfi?Wbyhj$wr_0cmEOmVX{wDA@{Klfrv5y!O2oH);1gZa=?& z+{xXuWwqNb<<}ItDPX`%!~&0XUTefQyHt8U04oXv3}AY#f^z8D&^}=+9p;J0%zW9b zsz^IKK6@?mp>neF*TAGkpT}Dn!?Hnv`%9%~b<5XT`K8eG$)%a>Uipjh5^^420JAiU z+Om!(&ta`@VnLm0hT1mti*nn!p<6HA&*IS2JWvJ>AKESr_F^*v4CRR1=itHLfcFvVoj?ATK1H*5*DV%yq&fvmdm>gZ^clYF?< z0CoH7q20kXXcdIbpzWfVFYUL}hGw&=P?qA0;QS-9p@5qCAK zlCw>gaJ_E^Y<)kE|DwFBjPW;bG1ylE;b59q_F;ZIIvQZv!)Nb2G!MvaADo%@KF76V zlq77f+f$}!@Wue1zO}J?7e~w)82veF@^#v#r~*UAzb-Sy)LDXvTb|@9O}2sIAYnNwUIoK@$qH#ZFQb976l;RY|F>LKdULLfxfHoEN6Zn zlVzSy_D z09Q*M{<24koY5xR2OUno8)P`@+34#t@UjYw0kuY8--dYGCy$98JykHicG`c{<7fUm%!WeF}%qy&dppG9S&fMNrS^(o)yW^`UAsA%8{ z`EN`%Rq$IhK(ft-7VG?c0~8e?{n={OI?0!h@&jJ*3hn6VOQlZ+od=Q};aa88SZ2li zDGxEl1JJABmoxQd47OF*`oLJn%~M^S;i!?OX7?emFFKwSfMEw>-eZoHII&(fF>n#u{pab`~g7l;o@T zH6u6Q4g{M;TlzeHm9bs*);4*&ADB*v57t-Sb|-6yc54>Kq`ai;E>Icd@o()awjHa8 zezk2#w;|j1wJ*{(k4L71eb2LI&CK>ehy1IEJgl7gvnBv3@{94$^6{-J;QFw<8fA{g zE$wNg2H#B6`d3WXeaDo)Q-kT-9Xj1V8XH~6 zd33S@jVh=rqp%&?Y$)v48ONY|~< z#o(c-w}AJ)72F%7u+5IABrMP>rYb(#91ud&aSj|I!LxAyH1w`QwC8gnAhE_}`}B=J zWh$pKWJlBY=%Wm0K_KR=KG2GRa17}3 z>clZ4jGebKtU`WP=T>HU9*MJLrBMv`;9l0_ZZ+>X@Tp-~ebf zGR;o7^pUFg7yxsI%rrS8w^?GIld6eFoioCYk5YHepH$Hu*YhO&0Czvlu|9E!ee#J%Wd9o1KlE%`&IT_8F@WoYB9& z%JvPqc!jpqF;DzH1e|&Ngr?{|;Lgh?b*v%YLh?(kd*;b9Pe=ATF4cq_#Flf4>ahqv zMQMlHTe+vw&AU$RF!Y!Eux*O=pVA(Ez?NfygR|`vx^Zykg|YArJk9r2gn~Xp13Ovt zRX)3CnKs@xUNN7?j+)NSnO!f;HhLe7hgk+4QcfAA`L0nA3`OuzHdjRSXp1M>p$?5h z`||Z|`?DZz&-=#YV z)uF)JxAqeYYMiJw-ZyA8%18~M_W1z-nvcFE4|=c?09qZ*4!o$7DIFiER8cO8nF{*Q z{m>8&^U(~TS+G|=eC38v9gn}~tz?=F+dyLZ_eI%QeLW_x)bp&n5U4S&W@KH2r=sJx zx+zk2$_twPVcRMf>-3?Llr5!%cvP7*+ADB0?!vP`lByfqE>BNY$u7k%8+@geI8p-# zCocNlZWS#nw+!qRpqnAW*D|oMLzDsgqCBB*WYKt8!&QM>o>KTq1!!Ny%>!QLk$Lrj zehB=~ANN@lu&jJ7Jw2Zyqrn2uMaSZ^!E`VvYQgF4l?NX$c8pr$u%O)+gn9!sKbJV2 zv)(OJ5{)W!QkK8abtwSNZ5r>pLO?bf>ANeVj6bD6R>_P+ojK&x%nU2QW-H!5Nw0?$3wr${xX5mg&NEUMwWmN%!d49 z(|Tx6)-`NcLpROpLHW_l*%zGSee~w90X|$F=zYt0p8oQZgE$|}SVs6ZaK%`cwlrl&kmuB8N2|Wn3}{*3 zR9|R@W>*O50%!n_?uIBk(*C)&$Jl+!~xaPEb333iB+SM_#-^4>8DyMA)HWOwcxBiWfP<3 z16+7qj6-&2RtTVbj7Cctn2z=RMO}?RY}D0?y=QwDgH#A0wT%^WieqVJYsbQYLh1W5 zAgw9ezI?S(RTP7*l^gGYW}b99%Q9ekRm#6?owrIJlvaukxoyZMLpH*WY@LTcmm3>T ziF@920+GTy_pOP8>b{zw?A!Se-a3~j3l218-ZQrN`tj-4r`yoI1R>vRB|xi=RPVgA zE4jphfpe`?*VQVz%|58pP$?kG3$F~l#QQ(+&36C5?j+& zgY!ARj*&BO-?-H&eLR)}j-IQ0^0%O&pW`(;KR0$}5vsd~#**SZYQOB@q3gJ<58yO7 zmyvCrJgp6dGU^mLt4yl_=uB#6xal=kwwD<19B_U5@s$FZK3@}(wJ(th(I}&1-!-Za zyLQC*ls&s2GK7bA>ngd+QK1l`v z9$yHcHFJnLK&mWkAmYz<)>4LMD9|xDYMUxRM(L`Y@<2TX(9MiD51=hw8wf(c;tLo$ z&MIWr%y@lc%A?16v4EwC2q!xsf2fk@GPHcfD=->Xd zgJ#BIgNl}cTFF1_Ty4iU?amvQI=2NYwk<9*6`{}kHT2x~7G>L}hraK2X8kTaB5SWY z4&PtvGj`1E7rq`-eZDHYN(nYxva-pI56GEjpWh@*8DJiWH#=~jGL>eYAzH^!p~U!M z;Ij^Gv(diB-E#%Y&6m-jC4;H9*YA8|64p0?N#gvXdR zzH8h%-BSXw`eQq`V@uU1`;_&aA~aKN*5XNsPhT+e$=!E-2q${s5S|AeGKf^+RoPAj zsDJHN7Y4eJVxU02qcD~+`2=OZ^C{LxSKGzcA7QBpmoCJt35HQhgX#Y*;NF>$l3riE{6QPhzYq#4|+ z;EolPI#r4pOA)?eea7lpseM&NC$+z#?bJq!UYF87g?3&Wc1~L|Na^2#63;T!4|sh> zvo(C@+qGo3llj1$*F-{P4z77O9{k_9|Do|}?3U7C(7SE%J0p2~MP*h+d(DhlE|xCO zlJs2B*>ei7*)OUT1;7--W!qSAD4TVF4g{tTPO{ULqI50T=heZAj6F5l=1q-@^yh1v z$Ad3($>XI6xEIxdCJqWZsj^FzkJ1ZG$z%N&wGkU|eHof28|A4i!l1B4MiYYIeYx zLXm4jZBq@EH?ddIFVjfnA@!P27FLyRIfISODpF-tWOk(e=LLNQN1MU2t=so0^5Gy7 zvT^3CjBe9p*873{Y1cGbmC>0`KX%s7Aj~$R7^m&|v-0E9X^}A%X&W0qXX4o|4je@? zpCZhJ+Om*%N>l}H22oXtFWOewSAWoIowMb0-`}>8#|=*{eY!292L`>Eqx!Paki&6X z3&uV^Q~W?_G5|3x&I~n^=Dy3wryZ`b0Bz-I6HV4*ULcKuTSgdMuL;#|G#k>t*u~Mz6TNKhiXF4e7*b>xYNKQFozJUfh1!R7 z;hSxQW*|0D^_NVlo)KAa&C@|1h%*RS9#dt*Hmtr=M1v5TQY@$-HY`!|)Tj|(P?Kn)Vl>7Y4aOFIiYOQn8%0snm}e}A zAW`f@4OY09-p^ZOt^4ou@BfT3=Ui*=a|>r3z3g-Lnq|yU{_)STT5itLZZp!0lC639 zMNXHcIij7qV#>TQrq|Q#O2X@L&W_7b>yEZ=C3a=Uhi>IJ^mZ{~BelWb*M=LSy~nEN zC5Mh(I~Ph7_KBpA@4QlleaE->mOzTZSx^31UoHdcSPag!^UO=1nn)tXs5;7(s1TpE zyPCdh8Cp`+aup|QwZXjNajpREZFf;mF(uBLRg^Jv-7pF?b_6!~tO{JtKu~t({jJVY z(`WrBm+9vn*8~!Lg#D(bUriewyJjx-D*y*-pPtUKC1*kcu&$9&<3#-oGUNN`c*N*y zWQf+qeLerH89QndVaF_EdVQm~tywe11E%m;{QIof!g5dUB%H^fV5J&d^B6m4C}zW$ zo0%rR2FsI0oqoCHEje8cyPp-n*3TOGHA#5jdw%s`ivX%wle)L7v+r^~>IEJHwU+L9 z4rWqXKd#j|binb%3>&iZcqlO-i7>lE(y-4``6EX>biU~1Xvx1f-jK%86b?YG-2Rw!$_YjpU$I1 zi1jk7eU`I7uLEl+-HsmFxlgj2$C}#5jn3l-UW3L5*#+RK7Z2gFR3hsPWO7HYN`PD7NYR{BSK_Fk9t>@2%5gld2Bt-V@)Ea34&6rOhpNi<|R+FgV24q^3nFEq*zr> zjdQ8eRq<*7I50{bLlQ{sI&Piqh61!bRA%+6IrvynJ_75iJ`{IWi1XUuFEk?iDb~=##XkEf`+c?*3&P~dX+`7y=quk zjh-0n)bHREUg^o^=jS3vfb8wYN-Vlo?pXmE$t4$)ARsj|ZES6#ns6==*|DgGjF^Ys zay~c|pqT(p(GOxH90x7X7GB;OC90{*?1lmtPp*R1I0X7&eq<-EMe@lORxG#8%^fA5 zA@bI&X=7+(J0<=X$rLfn?kySoP#ndb10SG3g{=>5O^#R^G^IB^N6XxwZ=f={$HV$k3sZt4p80NDyVbYp?dN9 zL2k_7$B(@j)C5(N7$BF%6U!TwZJ1eVJY#1xgrWBF#S+tv{E^p-7=jOKjoRD!*ZP6` zMiuT{T5Pm{8UeU(P7w;&eH@1Y2&@Emf|-o0yc(G|?l$~hxM?t6SeSlqobGyZf3NQ~ zD;TqHU?&B68JM{rerNml1>VxSl~j1iZhe3=vo>aO41l^856pA%=#_yKCp@xNCIG&c zXTg<{-TEH)WZ@kd`+=8qpcfqLvo`lmLI4>%mu4C)vc~D7?9V}l-!V6D@%k!M+efmi zgCW>!zwaX##?H-AGhS{SE=P1ufqxxXN97(c=;e zk%0#Q09Cz7L_t)W>0GGni)D?RBCqH8WS*5f^c+QBJq`(knm*B*_@p0LGXjcF{P7&h zt|OrL*q}!iyzgv2E)SIa9P23gb&ak(ko1U*=UZOiT3^oj9UrU3ft<}@zHc=hNC2XBi&9G!7P9vp6qsp*+rH_|98% zPPVeF0O+nR%;RfcP9UYV#p9rafq54{?QPA>lr}bSX4$ZQ4pbyn17I?_R#CD%Rhz2+p(`mjkK-41QbiBTCToS4fM9JG4UMFSmeqf6zKowHp5t}Ii; znAxuw3_PInl41!MbGilTvCml&F8r^?_lDYf)_!WA9Ef^4Rr}>niuTM~rkQMxLD#Mk^5@uo%~%LZTR;9O z@Yjr^cB~zP{Q_%(j?H=Tk_DX1W&PXQ;ouDNeRd(rtl0LRA0R>7F-_JS>6p<-YzfkM^a~r>?0+r|=&>*Hzn3*TnL1(nmW!&a(E=O$*QwxB&C8%T5XfP?kVi z+oHXJvXwIIA5Q+k!5MrR1l3lWl(n>`x`_faT7zdNZX5ZE%2fjhxmdF~YnZc_z%))Y z;c4=!O~M*Wo*$NcBWEA4Z!PHQj(A>V$>fC{*e2{J8fT1)HL;onXl87E6%M6%j>L?5 zh_iaKaB$>|iTU(1w^o(09Ee^$cBkf{^3Bg*dYg$8sL}*4sHH{8Z$dP z197yjz5zcAK&#L4-wMENS6*)oi72gAfiRbZ`q)|R&%nZViELft1ATqWi&eF`7sr}p z`p#P$M_&9Y_;Y;WSfBAHC5~Aa!I>da;yjo{1kSwe#WpkwNLFGWWqE-Z_xJ9=^IH!w z+)%mEZ=Ni|10j#g`QZa1&B4w-vieLOu!+sUX-=p|{CE>L4;VDdmM+6gf@ zd(002*he4pv>T7*)gi$)hY|&4tNeFq9T8x70K+9t)v4FsW6?+mHMZcoum{KF) z(wNOV3%ILHeQVb>>&~@lAC?qtPipSit66;CD;_+7!N8z!&p~psX!d6YgX?N*uBHG` z<*pF$*vJ5sKx@COhFV|!ndx$wflq>XyCv=i0A)~zz7^k z2jlLuzDW(5nP^TZFJtL;S^u6VVAV1NkDb_ey2a!1atxjI8I20^=(MSVT@r`h*^M{L)+{W?$M4L!UZl&Ag@c zWLaDjH#!Hd{?P)JlWH+j6Kw*8~(Bqy(^VVr5z$ za45Tqn0FLJ3gVcv11&SRH+h4lixqJJsTC=+Mjs-0KY&}Yt?-Ge5boLo`a zqBM`n?D>x3#XRC=V;Ez}8&x8Z@&Zf)w&XNuuPjV~HVPO8dNq_cKLJ1_9UIB$L!g&O-a|K zqpt`EOuB4eOIkrySBXt8Nk4S z*1htm!|;WL#Y>mwr5K)*w@S*IF<+^ssB$UTM{@I1(lpaYiOBmtm$Yh+F_VWZxw&RZ zm^!W|2cF-K>9aA|etKmKAJgQ3za#L=0elS@=Ga<90NDRZ{tf@kF-X-V$N-<5jQo}3 zk$s>0a*RZFV_>b>QIr^V1jsf0*q325!TJo{)O?F%> zj%#o+F0*%L16~sY0)TG- zsBr=>5LkyAP$l4jPWXxv06~pBL))mXu`YdRk(Ro6z9`vh{k0_HEC3DNd-m3{mItO0 zxa&HV4MukLk}`m`xqIu<@d@Or8NT7Sbw}Wp1;q@M~|iD^z1RQl3gMjn9Km>8*aEE**|^BF3X2; z0IC3EPrt)i6dv1}_r=Iwkgd;7sH8tHR=5v?@bGmnUYe%~yCmOueB;u9;#42$G9`{~ ztEm~E8BX6UUSf#4ZBrnrVI3a(%q0b|CTqiQ>!>M7Fd!+@^%!NXVQlWrH}A?xeRW(T zx3^odxv+k)wTSI0;|AMf1`4OtldvTnbUtDan!@f4PXV;Qr=JKIv2E1>Y@z;xc70j9 z+Sc>0C~?;K@H9zU|F?FRY&0IP*MR3+ePTNMzsr(R!c1Ca?5m&JHO`|QWJ7%!Y?-gjV8G=$b&Idb34dz>E6MEvf2mK+ z@yHG(8)Ix`K%O6|ujVVH zak9)YIrf<$YgkyYyGHS*pH}1HQZ>k-Gaz)MhqGxkJo|^hm?o7QNL#ae}Bn;MGl7NocskHQi3$AYfA{22l9Kh;%LXFK?RvOvA`E|HFf9!HFNb9)=_Eq7{x~)eb^ZAMb-1B1&$ko zw08ai;A`hGaBqj*sAlrn@$ToATQ+O3Yw{QMGjQH~-T9IJ=Z11xP#x+K?Hl2fyqsDB( z&R1rX^vF8W-G-MuX9X}gCG1|y9GY`omx&T4j&3So}9Vejbq7w@N#es=?RC&N7zIy_Qkbdm?;0Q)_zKQB zwgT`RnoPX0Sw4)5c70Be@j5)v<*_4us=?4sb*muD^8vu|03&|A6xNkF!} zq7Rt$(W&1SkE>udjJ4P&N**|#JJvl>6Y_KN>_aG67wm@^cZ)5yNLy~XW&5u!apVT? zqf8C}&8pb4;(HHtAWHUtxPW6)LIF{_6`p-&t` zozm*dR?0Ad=4WTHtR?XDfGuJGoJ1mhlx(H)l;q>_A`p%ejR%74cf1~5TOYZ+HG6@n zYhhr6t!JILr2lyw*R@49n#WxI#=tf8oNTbGw@(A)x?{$)6`(!e$;qd-WD;n=ywz4) zwaj^&ZMIniXa^q6eMfqw7Iw};IU#pu7Ry!Su-!d6E$ndpa6!k zStc)$;XBRPoaFEp6EJ2QoBP$s-KP!PP*2G98AsbPlN}07(N2WHPm{fuyb%}dA46r* zb$Uq&e!zB{*L=fl!mQITRl)}&9clcPY%@&GQZJL8|4pTj9>=;@f6ZbO-5FWzFfbcH z8*{cB)oh-&23_NT95^Ls^MX!+u67Ftps8V54C2aYOGzM?G;oY{5Y?3#l##sDDYcEK zPdEYtHpXKov9XOUc|t|pVd>z}=SbjjJ$k)z}m`St9w&2NMVGiIG3=O-B3^k!geplpoU zJ`Jon=`DF!k_Imv8J+NVRG;O^0Vt)*ivU;%9*p6gz>L_s^}#&Wk1tK)aXq<}*`jas zK0O9X`<=)1#(z~)qbxP=wK@;m$FrEca)jpd1 zN?@A1~}P*`Pf zrCF`dn~iiwW^3kBl^r*>Y@lp4X8VV~4WxMoHid7I5X#s#grk%|Z-`6?&>G`1E7UCu z0F49MD|%pV;-V&)wic#W&QQRmA5?0%VX+%CH?mCuOV%{#Efy+cS^pS z185Frl$E;nc3BrddT|7mDbgjz9pW29bd~Gl*_C~KsbAR@6TJSVFOBB;X7Nk)zuIw` zRKORYYx~>RMW{= zjsuPhju*s76l?Pa;L>;sg6!k01CHZWtF~x|UDQW+(;93MeU@bL09fOd^%}*ko+HDW zPwKm8S#BtmW%rm0&&$WT zT!CQ8few#j?Qq##?v2^7M~w|V*=zdo`aMt`3YOD>*qwYr;_*sFHL}*WL11Vi=KeLc zW-k^zebxA#lAo?m`LZs=46`uImpfLgt9i9k41jF-TuN|k=9?QZHbQbs`_F!u%<($W zzi+8YZK&A6AjKA7-PmwCaYJkZm-I~NkG^~lRC$N9fRMYUHddUPY4#qYr_F= zZ5620!AtXaS*^x7IBR)XaLBj}Isgrf!v@u01ju-xu1U*F1^_19Xo8zf*r=S1F<;Jp zu#L*v#~vj+l;-#P!x>pV^{LXleU8IVly!L^YvUqNx&1tK2HUY;<<}FxS;n(%&A55H zE#8#jk&q#ArR!sWU7EzYl18_2=+^Gp(2kaN;C=jrV|W6R%?Uo%6@CXuo3H2%CTw3| zp)zjvef++}FHqvp16VjO&SO0~NsThp7+!%LPRGunC5~vW8o=PSlw`K?P-;*e@LG5s zo?aMe`F9%wcl}`=Ubh|R_MS~V`=K2`hJ%)Mr1s$U+E)XUw`Ck~>_5t~y)p3})*7)+ z1Zl};dR+VQd^tZ-KP<_Y8!IZWz`vq3cK~G|(LLY?7ahPyxSu8<)phB3Cx2J}otCEq zNH1<`b&~TXPj8+ddh21|FC8!Wjp|4Jok82!vDp-t%dveuT}8Hl{xrs0GR7Ih6P~lP z0)uAm+P`y3Vh2Fx$ptF|nSx#63wn=dj;%TPg-tFPOm6_&tDp?X?H6Dr?Dp zIL`gJkEdI8l#;zvpQRx10t&XuC7POXYuczTqCQ??j6t+!X1`5&Th6yDPd^KyG^+-` z#<1TXw?I!n3%P~vbs)|5sI{dDZv1G-1aqX8Gn4oczO8 z8J_GM`xwK<;XaBn_`CSP{+dP2%V||P>I9xFYOI=IQze!Xi?s)sdJe8hf*p|)4$oub znenf??z+jdGZe(VI(Q8rdpfAmCHm<}sGJXIQmpltsK(2>tQl)a8`H(m+WCy8b+p-ioh?Wbd78lW+b)`30JP_v%CZ5YH9bD}j4v9l%;#36v$${F^L z{Rl~xYselcvo*86lmuW*wCQz{kb_6Fel06083l^wGrL~qg%f(fSpz5~IrR7>qpiE+ zhwDjf2+vXA&{&iGjps8Pd)7M^F*l!RMDXEQUp7*^UQI6SK;9S%219hu3>?8Q&-L+G z%bftcWF4)=bX(dbF6y&;pig(g?B=FlS8njwHU5P)N;tt9f0B5^~nM)cT2(v$XI}H!SHLfQ+2CG5W z8Z4KMSRu;5xSuMn)Rt?U%GLmUDAu#eBYAkM1V{Fm2s;7p^g*3CYOl3)$Zq{`{iCe` zubo;9PCfx-^=5vn!}P2v&`-aY*$5+BqQKRkcw#>1nHEy;Ahd$HRWs7viV%)z{#FM!3GuJ|AP*7`&VK-bQg zHLc&JNsDbWA%rjzXFz6)U^FFX%Nd&m<3QG|;VBx5;7nb^f^u>LXuR<;lwi zfy@TZU<&+J699BK&f=Y8dgrOfPVgP(h-9f*qxOY^@*KG!(4^tD1#suUz7%LR$CW)s zvfz799{o=B&$}lE?A(|thq5e;A>s_prl{ z?f6QR8ru$S!&smRi|t^?j49)BpLlqY#V>a198bFL$d^jrvt5+@^(t`;RZ!FqL7M{^ z>+5Ccnm##jVvsI@hB7h$7;n!Q#L*seprmpA_190HIyaqJ0nT}IV9g8)a1svyAg2c+ zIa}&ZC29-CSkfN@SIKVk@G;gC@6d8`YT(U7j%W-dW(`ITcm_E2|GaEVABV~ItS_l7 zUM+$cgpO+EStKCc8%q`zx|iVA`U|tvX)?1^11y`$r^h(KLKc2VJ|6kmJ}`gXC3gI5 z^-^-1r|(RzgU&6mc0$i^0O1@+dj|8EC>yL~;XNn-yve9}9r@s9Zc?3!E< zg9gIeZo6&!5A|iW4`Kq}!{$uTSSHL}w%zp0Qs7%tWMS>vwc(4mm=(fMDu`G5;0%R+ zXotlrd$8}Vjb$oityuyY<1^s!RsvbDl+isMfDuQIZ}Z^NIh+9GB$#}{H-F$>8F;Eeh*fDt|k`KM#HyXuND#M8SMLnVwsAH|b)9W?-* zW4IAO^FlalD|oXpZ7c=ulEd=xJ`7tEO#})aK${}5^HtIL*oE%^^>sBACO+q#v&wb>|kICV;K;YgW}j@Y*YQMvhUV*P-C%B@F$JZP$S`P6n6H^sDTwr)XVj zdv9$TSV$f@Jt&Yzz^dTQ%&f)_S(aR!a61Mu1{?-wFL^M?mGs1Mt^ftQs9phD>Z<_q z9H6s(d3>zZViJ$}WMI}en0T_XAF&ahzvP1L zqDe9b(2UZdEWAh9;6E8)6k z`-F_DWH<+pt?aloZ_V*ia@1tQj*eqd@Yc*<+lCYB^nB$j5)f1h8Vr64s>vEDWIPKXxSs zu3yHr%UVWb%*g4amaLWZ8rh)6)@%c}1`P++jIY9DvdC#6BtTzTPt773^!WFo8A|6= z22vxFWnp`U20yDAYXyt->aw1`y!nRcX{bJi%*BD0)0a24CjLd6)@Z(KqkyPjzyJ(@ ztW7*#GWEcTZK?Hh4lrEFq6wMVtQ`ZVFUUdTYnp*nv!LJV@UdGvBJq&J0k9Wb;@BbfSSA1xab$ zH8QBowIIgwYw3c0Mp>=`yRI3Jx$NZfSLo@EWx%?*9VagaLJby{Ct8;#2#ys`V)zfg z)x8Fct&LX};_rElSc_*vFLqUiT-;$@OYPMqOUN0mi)Ci;gKmHup3X5hCqXx0-O3$^y z9B>>pk}+ljX1qx|%CseLjDQN?^U23P#$-nTi}ThC`ItTQ0cQrKoP(+idB5ncmo5FM zZX>`(fHHWXELB=-jr~e;vhRQyLe{>%>?OS+F_r^UO;)_V5}_&qv;vxvIt4K34p&?7 zXKm@CBy$ARo<9MkIZ^SNIEk>0)kiQ+pO~I1ap<;7C$Pz}J;*s|DF8~&J;eD+W7Zr8 zFl#b0_G7ncqpZPfh__QUbFh(XK(x=84DclzFykt< zWjsj^Pm$yC)W32u#jzLZ2y4-{tRFs>16xn0eQmd-2Ay+MOjwfv{2;6sZ#kVbCk31m zpkr*=fZ6_m3GsE504iqP^{eb!>RN{~xZ1=9V66qWT3aAk;6t7sAY<*^(HP$M%uM@? z4}J4Cn#bq$18g}?bS_?hE}kO2Vmt;e_?dp!$JaDbc%Y->mGtN(A6^&hA_w4hOzX-9 z%(x1}SC_yDlby>gweb?kHsxEFUw(P_%qn_oFqF;;fPyfn zZXNM`?e;CFOg7{!4q2;k)W{I1$fCI6gi9I>o(yyhPPqi8>%n-u?JEUEZe8pgDhKPl zCdndss6PN?y+l%zTxPMU2k^Qs&wp~|4NqpZhnDXYv|$rXl6;AMg9}nB%0S7 zXBEGbP#4Hf3V>!Hhtrp8P&u}v4qXeXecNe3X=aDRAwyfe882 z{LbuK9l!57IoN6vg%|J|kSr71%X2_Za`OOKk@(*i5{`T z0bL8w3LXLGt?Is(nQ*dV85KahxuZnM@xaMS{Yt@^W$6LoI6r*oCo>m6r6@?wGQ zr|b{l3}0X}f>%Xh4bl4Sc*K&GVXAylyhgV1;>y}`eHXsYbMbhX6A7H_`6yK&-aLIl z1||!h9dj6v^MMj}lzhPRIbO4uv}$~w6(an&X;H^zWL5)Xc+eknuR9 z@w)hXzI=}RX%g{jy3Dk=4$THtfcCcF91wlis_k_wlvi{;5y*J!)`S-YkAer*-lx7- z(t8O|YV=VGey}3w&I3zL(3ls%44}5}wf^jZY9G6^O%*7?%2em<7d0gkjZ^h${+pSk zmM=Vi#9D{?h3bmeGc=ZTy*09_PC3!k*i&U?8CpHsNkSH+#&9(gdu<}{8#-RDAJ&0D z^iIOrcLvUO2_0Comnk{RDR_8H3v+YbnNKo#fx|#Qt3HN0Xf$umi5PtBcTEP7?rPUq zyOvTrJ`Uilsbe$vMWCw5%l^j6LGGhTVQ8#z!iUb)4l1`DhYtGAt1-mj%D{{pNEoD) zoG8e9vCtRfpaYIYX8%J7V9B2p2Rz)U@$uX|t?raTGmv-=H6-&fFspObEMiC-ok#yR zK;}1VdrqO*EC*oh#Jo*IV0g~MK{I5Ho|CYBJm%bY9tK$G!%HT7jOQ2<9J;O&lfm4j zc4`aE;{j|bz!i9Sop@Hbf|2gFhUmtdm%-SZGbd}#A9NRrvAKMKHDN8DZ*cuqW5cr< zlc`#NjTrRM7^ng0NUv&-T*8UwnZ(l-S6tEjZtn~0opC7Le9p zQd#&o9E!oiephg2r()&m`f~t{+MBiEQirlG20R6fApskKPQ>+g|$N;+piVE_g&gEi;u z@5R4|AyK){+SVjo%%jATb)oC6i8F6)+E1}UaVBc7x`}kqj(^ovSGC9tkj5mO^%Usv zw=P`!u%S8NYZR1oB4w*;B$LC=4&#IjJGFr`N*cMq^O!&hpm~ipHZy@-jSM>PF}W=+VsZE#dBVqfI?Zxjq(Li0#PZY_u*fVAi59K?O>lVgHW z!qT|#=JV{!C-YEG#;1n`ULxVSIQ}%jGqI^**OAV0B}B!g+BnPkwwHhupqZR#a`N=x z;pwVtuDNCc(AI$Krk$i1LK^%zaA1aPzw=Ean1^+Nb@qvmXx*OQ@^^iJwFJ<)*z0STNN)8Zwh89Y zT@Gv$m3mfPd+oI?Kx2UbDGoBv`8fgL57{w(iPw=jjDG^sC!p4>+L%W@pTf8Jyw&SO?naZm&ic z%iSjDN3;4EY%-p)V2JHm}XJrp`(T4+;ff}rek8AeK0j3_) zaWwmY1(>4j>2r9<5eJqktHfdy^!sLTn@igH<#J2cx&kiNKISMw1r% z0_Np5*fHp_QgV#etbxSqMv{QTdp^TJ#6ghLd(KZ-9;}sv(*yt7gb>9F12EcfVBhwaPbd3q_u4$m9u z6=T5WV8sl~oQOF#^!uEyYJAXZ<6*)O@b~(#AN2*&DB-G4)Ff>shB-fjj&kLi2y0v0 zvHE;&klPeVu~WZR^slFEi*q zbunfaC1$2=BZjHK!?H6t<(PWT8DYD51GG1uw}q|QJwSeL>*)_b%8AeXjdg=#k-oh0 z91{v%7uSp#lo_yd{>@{Td`9DyB zRnM$boPcCTjJ_TiBc^zKk1gW6+Ok@X372fC^AC-^2=w~KVq{NEAiA!ha!2w-dc*e~ z87MO78W760i44uo>}6~i8OmkW&F%3LS7Xl1QghqQ(wa2O4F!299CEQP7@$p_T1LQu z2B4_vn{$o`{1_NYHs&PE33wJK=Q&wM&!M?312n$pU4XY1mNQ~p9O!7HZS`;XIT$dn zqr`+ElYMgHQ~yK~=CykI@DfKU7QCd*yP*f!Bu@ZCm-9i6z@ZPHAl!8KXeUI;$|89`mpxZ^?C$DOK=mv zTW)}6Fj1$i2_9r?b|%|W+NE>NO*ZW_oRy7ow#4sVmh=Kb0W)Wunpz$Mi9X@11^}Zh zoXhZi0w4mzT9(4P2RQY0=o$tR0T0W`!0gGdLEy~`*&|lP{^T)j26P1t{hM#8_JWw@ zW52A`FS9dVSG2<^jjLrj``gw~(kn24cUh&mav<#;j$6M-JcC}Xb8%GxgnqBQ``&S_)wE}$ZME)Zh_2$kh~KF5q3N!I$op3#no{j%0? zJb;D|GWhgO#^}2t0NT?j%b#0|x3f~a!bji(wYtg4^iED;XqzC^kdD7`piTj$6hDgaR%CN*CCF8fKsJ_?7yI2i0Z zfU}(l#A~VevLl`&0yHQB3d@0)2j(7IR-j-IFO^0ZL=ZGNz|A>9EfD9N#B=sq+bM%l zpu{*H3ytcoQ2=NXlK^PXfCkK9&Tyid z1vBU%D|!y)B?k1>tQ#eO8b@Mzlu2;{7&3>qEobnnb<#e11!G}=(Zo|qp2}KFdh|fn z3ld&?1ilK;>Kk5g;qFvr)Cvj==pNxvaDv_y)U6%X5|NUU&iWo_St0=H1I+CAN@9kL zQ%b}dKefIOqLf=RC&UsstM4P}dh+Xc6QA9fN*oFfc;kuHn+?G9W`G*UWAKIHykIIh zVjp8f!O4zlvM>{i9JMqr*UWN;&pBzyp;=CqN5PMEtmEduc-5-S8u7cAM&O6pV-%DT zFh+VS=~IJ>!OHaDm2Yw-9n~G{g!^G0PTT-99K%%~2y`6pv!+taa2d!;auIPUjjJGy z{sladA&$jn27GslR$Kvw4L z0XREWw4G*FVC_A_v7^}U4A9KdBT$QEQ^uwJYXWC!kgS@3Wp@{K`=9owHlRvCu5vBf zzSZDl{@k1qBhj(Fnl%SZ6vVKT*%LQFK~C1Qmt4^oGNL_yuX5>HHQ6yRGgz1GqCOJ& z1h1FZ?as1B0{GnXROOOXxVO zaXYRTd09#8&I~dhIAaXWqN-F)DsV8C!5beyjwIvVfyO%V7>qh|#2_O8#P?b^oo2T; zPhNf2fx_mK;UFIeGY;~awPw#cQb6nGzL^q${cRvU{iAbwL6`#q54gR$qUV?P9fH>b zeDxXiP5YYx*OODnjR*+7H`)18JuhKFXPB?FlZxi_`bCMaj}0`oN(?p!(h8*NbA1_a zpLO(U%Q0M%X`=vWWH-LPncsYZ;|y^2T@IiXG?WprGc(|7rj3Bs`g>bco|h8>Z%6UF z$I6s(H1jA!t9tJ&|1G^j}(e~bA z-o=yxU+t_q>I={wu-Y8F(_ueBdj@Dd&PjklP1^x@BY=(ojCIeitMY(4XH!p}C??>~ zvjSdil4rjy`F{zZ;d6b*nWep_TlSsY*y|mjHK@Qu4V@Z#0$?kFoQIY z&0xsE9kEI;ICWm_%fRHxZ9$9eZ)sjHNhvt;9JSloX&`M~c;Yh#nyXeVzV%(#qe1GG zqoP1w)TfPa%&)6)cWatHVF-adeOr6zp#;jTAN2(e6aXvi!~UVb#SB?}%>yBTu?Hp* zdt6w!rD@*nWcXZ&mQIi$!Kwk&xnx#~od`fYfAres07~_h(@8W=2|ROh^4fF$!1h;P zRG%7xU(wu43w@>4&f&Nz1=-#hq}7|7S8ug7XAU+9%^;-HGh^gqJPrdy8~`04U_51l zEDOfYjm7;{evetQky(Zsr%|2Nn8-_7-FobwfdT*PK!N4Xu`4f-qU6)b+RfRWkTkIE z>b2gwyo59)aBKQl8xH_$^s7M}C8^r6EJ@nGuKd%LP}DadugQ#Zp~V+JV!*RQ)f9LwdNrT}Ee)1oopW zh*_Hgs5*gypN+-aJ3a{0F0kInbbFU{PqCqrB`o2 zR+B|bGehQ%k_+oNN}33+T=44n9EdIS~UIw^t^t%!;$WG64-30HU%mWI8ocjnjH_Doaq~SRW25FTf&$dS|(7-ejR7v3)aYiGHkf;e-vTFU`?AeBIkEh(LCKe`9W!oE z2TBN(OnH5BZI-A_F>iN$I!RQQx%o{_D`Vl#yGT!1 zm?<#k4V{`R+%0fG0UOrz`9{p*0pKS{`X#<&J#Kls59(wa4Es$YBn9Y?z+v&VMZ zZ|B~aWAkmb)mD>bVJ*zWY8ff|AWkm)#s#g;Y>q3gypq<#mpWP!UHs>Pm*>Cs9T=by zBqK`9s6BFk_=)1&i@RLhVw^s}UgL8)9OC|pA>41)c}iGVb9@QL)pY9H#$y;ZF)pJ6 zbB1HFQ0nabw+gRqZ9J}#vchxY@-cSoXx+@(d95B}(lNkL6x``TgWU3N+L zx#zvow%cwy1vIz6!|l`k{@1orEQwI^~YO#pE)$Rx7lW!^x+SED1G}|aYD!ejE=X(mRqC? z8lb%Qp7(5Z!ge)a{@l6eroTVogtXmu9e_u^Rq_Y0TY#X&$Ln7E+O&GR)oG`lcTRgZ zHnPw1kDWlAzE++4@cNKAuzSGc6tL65tLCsSZ`?lMsxfYVdnBj4#+BJ(?loxMBH?#) zL<40!jSkm1dtj;{%zq>MZ+^Seyi7k(dyN!8_?dq{mx{wzjtmxWXGL$Oj{DGGzPeO+trh( zvbF|jUE7^nmS~uQZK@sHX{YAcjytBUw=s6w0nV0NZq>HmsrhGfML@K51JYY;v1Kx_ z-la)QHjn*|A4^jDupt|3haGm9iu?(9Gz@R)~z3U*mm`{ z?VL6@=0$k`3DRs}ZLkLW+t#(y&O0URZ$4mpwx7!{yDa_kiZ$&geoVin9|P^}8XI(e zHhm+J2cF&*o)e47iMJEsst=pf>xY$OLRO-9`ZNA4z5oBduK|D#EDb!~^RNG!&OYbU>9h}@)_`FLV%u!H zO?umjZ%t2r%2S)tMsq#-O*f`Dz447LfE&QP^5w5cw{L*z^{;(hdhVb9c?&GtH(+9I z9(>?I>6k|!oh~^48)^F;I`GENX6tIv1}G=I?Bz|{gVWKEd{p}0cfZpz#SY}RZ^wP) z!yl2J^n}Ny&wl#TY4ZlaZSIRM`c~Wi$cH{Wy`gDiJ`^RuU2d~;`p9Xgr9+xI4%~nL z^wHB#Z^6uf-NwKCvdgDH+JOHB#~s _-ZGrNKNa(LDSSk4Ss(bN}?5XFWUp#_eu5 zX=CWz+PV40K1~-VpY;Cpu)~i?haUXk^qzOWyPek(g6Zz9C!W|Or|r`@pFSrY@Sy#g z%ieBk=e*z>-$;)=`Z4KNoDo@}3%L>r8FtBETGqX)LsQw-qXJ~eV zQ}FgG#|9<0C(baex`zx>57 zTEMV>|8>ztY2ODusAbca{?DcDcgA+lKI6=E?30h3obCU@xt~j0ZM{_sGM_o;ob;Fm zgm>F*xAf|Nd`$!FTem>C`|i7^Gd}gH^q!O6n_hJM@#%A){oI6=Lr!Cr2ky6jy6;~1 zOJ{!i?DU@Zy*EAa@yDibUii(HalZ5=f8Da{(>`{3defWVlD_n%FQqLSnXYVVuup3e z#;G6va60w0e@naXap!d2*S_Y~wRhNlhxDQs{AK!|W<6(o>a29mXFr?1@VU>Y=REUS zZBqK(-}}Av53hRFB!O5$I{AI?PYX9sUvoY2&ju(jyZo~Bf0{M@@|V9z?|biiTejWW zp#j9EsE{oA+~zj7Ne?~j@O0z#H>A@){;~AQv(HRduDv2XvPmemHq+l%{_`v8uV3_{ z^r^GYPXBiLN1AbVOsAgm!Su>koRHq#=;GsNd@}vP-Tt6SP!FFZ3rkL)XvQ<$8%Upg z(n;x6C%iKK^V|NVZGXsv4@pNh?YD2nG9t|<4Qu=Zz^OY;0F+mw<{08qNzHsi<96OS zP&*zIEiFsdtXJCrD|Fn_Zem#g+JwNXsq7{cTt??PL!ZSmNZG=eE#}7It-s1p>o^ST z0NAKRgX8>(-E401lnrqYJpYVkA?svVbWqM~fAo0Kl?b|Tqo6=*B zIi_XP#?H<>{zJ^oS#moG{L>U-0#G-1DB_g6*2i z*R-sCi>A!7^DaB5m%ZZU?a3=Euh@6jTys?mvPU=a{_(zz?Cb6}WxL*d%gt$@MxN(B z@44y9E3QbFH75+;^41gEB=Ex@{xCiIs7I%-HQ;{5nk%|eLX(i*_=eY|m;Bw|wrj@E zh-06^^)}I&weIZ8Or({c+f%VaSb~* z=8hlJUF-9Wyno+-`DZ?VZo0X#o3-C-@4eHfK66gGV(l6N=lH~`=R-^&Y|bftHpv|z zjfa-uh8NvsmOzGgeM5Y>PoG(0#RJuOG4&ik=kzx>fM(!9P0PR;myf{#N|(lX3f8T> zE-1G^WuY)aj*&8pRikMJ#Jad0`fC8_xcqkn_AI~ZL6eK8JF~%2M<1O&^5KuP;Bv|b zK9HXF^k+0detA0d@I%u%4g1}C>up+w_|&I8tp%(0YKm?j-+r3S?s%s=HLQEz1`yV^ z0QbG`em9+S&S#qK`Jw3%4}DlV?2reyTkjigSbVk!)@LW&EHNC`9JlrlIq2YY)FU6A zuDkZScI>ykvUzzV~ez zFp{IY{cJGr*T4RCQxf`2dU(T>uf6WtHfdNH!al8@f9PR{wxEfh%hz0Q`-(?|<+6>7MtxXM2?l=C<9!Lm&3g=C0anr|RsM9MAjeSJQ*` z->=GH=bxXhx%!%> zOmU}l(~UQ@Wd%C{_TBG%r>)Q4{SWWHZnx6}w*`F@s+Ig3B?6JqD zk2Txv(?0gmbb52b@$^rAqG8ehuLTbK!F2_8CB&1T`jqsEGtWpLZQ9sBD+he_{PWUf z%}Fq8|4(mubNcbm{wMvP7arf%a)17_OIwin<0dIw^zCn@FMs`O>DRN(#?yXZJLDl%?mF~_xQs-yEo1^y96t1*zY!$ zm4&|3Bsd$V)l*|{>;KJfUf7-#U3aZvd+esB{qNlMuIa)HE^NvfizhU#4^EmI5HI>% zcT0X}Hv{NpU3WNJ-yaS!s-;>wlqTA$v|77n3A$)&m9}URG*+!pC1%j^)nU}C+SI5j zVrvniDrv146(ROcjfjz0kzeB9-~H=8&wZaW?sLxj-upS{b6yJmWWe}h#KB6~e567g z@BHKXi;xn@11Tp(L!XqLaCA9!p9bkQ9J{LQaU>eQ_r-ITyW2`^nT01Fz+J;;gOVZZ z$crR+R$QD4cAJQIi=uKVW)-)U2dEu!tfZcUUevQDt96q_uWtoS9TmZ6k|I8q&jMM~;s4P@tEin@?f;_8QlEio9TIu^QIIx8(0I8VMNdEp**>(fYrE1_+e-HEigk2z}U> z@b%;o(>K_xH8OH5gRO#%m!Nc|*r(WM_0Mf{BjH)=dFwcRVO{1Q(^SJ% zuRi6~tljA^lspDT0ZJE$H6Bnms^zUL;CY$VSxeGh>PrvVjkIjKy2LiJ@?;;a6u4!` z@)|jQCLq@Fo+ zJAC;zpkWh?icIUk7EDOpeL`w-pKNz;acb%n`yjk3+kfZjE5Fosn^G(F>nw{OdA;ns z;Jr2KffK0TjhAi@W>o0!cDg*!-1+H1Dpyo+@$Oh~+Sn^vz`l$4G-l8k&U!>C7aivX-z$d`R z!!GHe#JpYa8@}fV>)v|<1XH~B@~0Zd@ujP>Ah8>27VSnovm?}SX5XP0R{IH_60iqe zmmz8AfyM<)DzV$|MO@j$pYHqnUUwkLJ9VSh&pilNy(BhD??TpGaA(cyFpLSF@pDHb z)hwT>XucD^$Z=#<`nD$J$Ss4VtQDk47x16 z)P?@1t;2m_lRGxH=DXi;$Qw!AuRN)9qNk^%1u#n5vNS~i{4z0dwgbcv>G?ow5ToP1 zHug*4xDzUy7m>qV@A<(Id%@NcJV<%?%H}XE%<|rYBQu_Fzzeze2%6CDS*2W6SKU49 z9eZt$_kqwl+vys?O)K^EHd02$uYaXCsNgq_c&`DQ>(2Rn9S&nDwoB#;S`*IjA!7yi zw8mZdg-w6gwhIF=U)x$^gh}ctQj3D%r$w39bhtWtaoA?gBij}05;_1YufaU%AZ6R~ zhpZVxEEz#Em!Y2o{RcBgg4qA79b}wK%`4R*8#Q$3H?6L!{}mTjOth|g_05LTR+7hfuX?(T%BiUS8iCTSENKYP0jQ+qT+fqeeng!f zYFYHCA7WHL-R*T+*>-%$S3WO{WnyAmTvL?>sLUL|FNL= z$7-k7n&Aii7rX-W;{VWsJUs?5=sSsuO~9=itGa$^Y@@~eD1SK(Ql2*3X*R`Jy|b69F|{Y5UHGn0(; z%7OE$ANyxjSAqw$Mw7ZWH}Tfk;4t5Z>~pv}&*JvP6lq#yfvYZKYk*QBUZW>S&3y3q zk@~4Vf(fN@0U%E3_ga|!R;=dfRK6?|U}Yzy7ra0V7ZNy}>^=0ycA;IJw;8Q+qHIq* z?Pr(@-`$`&dZWBMG`J3gYyBjx+3-j^+(Kf*xmz0`pFcIHaXH}ZPI)*$24UtVd)VJ^ z`Rt?1E{AzTh0dtnRXOppK^aJJICehqq2l{l9xGATI=;_sdU2v;E2dGH0k6JR;-7VsQ9BrAVLO%-WDtoJ`3F(()ACz>qTYD}p9T3a&(cZ!* zKksF4K&C=~PnLwsAYh26ClbuwL!bwA$dTo>;hPfYo#D2B!O(3=w?vHgdsQ_M5%-c`o{Ek(V*VtTldJ>0U2eJ9mpr5T?2%V10-Qs9Ls zkA2r~h~N`%Sy79uhNGF3YCVx^Rnynt~m)YSlag#Coy)-{A zl^N0@Yq)4aCLR%p?HLlV2Kan=PceuKdW$}Ypitfn8(87--KOGfmP z=*Hc{HjsV1})W)2V8J-Qz`MG!K-2%9;2q&q=3JPBFcnYG;7)~BDIZPXPtc??r>(j#7HLl zze~4vZgucRnBPxbag>QbmLw#`ADgb-N{r(!D~_f#)-CT2%&y3@IJibR3gP*Ad-))S9W6D+PRLWOX=dP+%KL}cq&tkB5wTB<_7 z2hVx~(N*p!EP!4{^*$FjsIr*%Y(@ODSTTF61zdZ}(5G&ctL|vUs@tEyYZQ&H!U!{< z#C6~ZD6&s|>*h1>7xHmudA&zM0Z*_H+Ru5RoR`L)UAx~dt5x?$t;UFpsVcgSTjWK+ zkRqe+h){W_zu5f}Fns#qqw~fp2Q}R6|6=dqp4}CiUMGI(p-;ub1F(I zVq-0fX7GNo9BhxfJE zliap^MmSiHb#XDSpcJF^ohH^!yUMD@BBvLZZvm&K^yfS%Amp%8h9B|KQ!0jGqPsgG z+-JM|ELoGFc=(Gr$sLX9b%+FgTt+eKYpHI#UC71+ovlBn1qvY(hjJ^}g|CWZB`)9z zt+j~5y{&0uyUxL^=AYFAu=KhN2nUmXqEQ>)EC{2q7{uCJ(~!wR zmQ!!j7Tq^b}M=x7ftmJH+;oT{|gXH~;w$jdPm|YSUA^ZBQ_6 zsDP>3VCk@m3AgQw%4&;x&PLuv2rY)I^A_G8crV7v2+>1zm{{ws9Su_-=2sJ;q{=8A!tTKBzHM(Tr$6sVnf12dxGV zb4U5+-OG%>hOU`Zzh?JSR8CLq-tP856HHNYT-Cn4R;I-L{)df~7U3+#se)0vndAXm zq%C>w6d^$W;g0b&VTt!qH@JqjqXD+BF%P5l@i4p&Y;QHWw%N;X)&}J1*xf#5smt0T zkU{M|29mZ*37rCDq6ObUi9=;0kEg{BR^8YcdAv@9gW5%JLwQK&U*JBGlPqDHgO9U9 zR{uQuVZa9sYZ~$;K&`XcAKR#2vP+j1wV{UE%r7}yPc7+8p8JuRqo-9hrtLI#3@46$ zDR1-2H&Sc(tgUx5F9j~SV>N`@S?X&&X_rnX!DHFUQFxElWU7bTAy;hm@vXcBlYesC zZ`lD+`cpR|W+w*39w!&s12&^)SH6BR9!0Or%C|+1s4~a-b#L>71MJ7c z7V8a2%z`a>BW$bPZn=ctu$b~ACv-l}0Q|#yquizT&Gpds>=hHy0{O~d zVrAwGT@pQM1#a4IRY3K?oEe1%(4rwPp{Y!pN|gIXyHIuM{u}@A@f=?|GLZWzP`>c0 zcVydljsm$Zb14_{>qF-uH+uJGH*FqI#s-IU6k9mxEHI z8!lDP-0;#kHH6^(7s4~2qu(?Kr4GUp+z-3y`hP?E%D@hZOTC2YG+o{Jd;dayfmDpf zIUY(VeejEMwneHkS+IJIq)?MTaz~3NJCbf4QDfDp_gJPaq&Fe+FE^K$3~J(#oraF= z)0Dxg2o+Q#i%C^D9kxq5#I|?F{$!5}bwRr7VY@STe3ALeg<{%19}mdR+aU{;Su`4i{9PsK=h-p3}= zBAC97D4ds9d1NaYxRdrxsCT)Zsxx;AH}L>y%+!TWpA~*8NkZrf<(hDey00>ZeGQzV z#YuS_f>lnTdLiqrw~4il)ke9oE&J3fqQarxveoaned@g<6onM=ig%WH4dxK2v@3@| z?Pq+V_X#wfL!b#Nk8y6M=S1BMql6O p|Nn0=0COkR^H|WnR%A!8gi9Q%W!_i5GXk)$JGV@3mR`4i@jq@8V7mYS literal 0 HcmV?d00001 diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/mbed-os.lib b/BLE_Thermometer/deprecated/BLE_Thermometer/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_Thermometer/deprecated/BLE_Thermometer/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/mbed_app.json b/BLE_Thermometer/deprecated/BLE_Thermometer/mbed_app.json new file mode 100644 index 00000000..4309a7c2 --- /dev/null +++ b/BLE_Thermometer/deprecated/BLE_Thermometer/mbed_app.json @@ -0,0 +1,16 @@ +{ + "target_overrides": { + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + } + } +} diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/module.json b/BLE_Thermometer/deprecated/BLE_Thermometer/module.json new file mode 100644 index 00000000..7a8cb037 --- /dev/null +++ b/BLE_Thermometer/deprecated/BLE_Thermometer/module.json @@ -0,0 +1,15 @@ +{ + "name": "ble-thermometer", + "version": "0.0.1", + "description": "This example demonstrates how to use the Health Thermometer Service. The Health Thermometer service reports two pieces of information, Temperature and Sensor Location.", + "licenses": [ + { + "url": "https://spdx.org/licenses/Apache-2.0", + "type": "Apache-2.0" + } + ], + "dependencies": { + "ble": "^2.0.0" + }, + "bin": "./source" +} diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/readme.md b/BLE_Thermometer/deprecated/BLE_Thermometer/readme.md new file mode 100644 index 00000000..0373faf4 --- /dev/null +++ b/BLE_Thermometer/deprecated/BLE_Thermometer/readme.md @@ -0,0 +1,80 @@ +# Thermometer + +This example uses the [Health Thermometer Profile](https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.health_thermometer.xml) to send thermometer information: + +1. Sensor location: thermometer placement on the body. The default value in this application is the ear (``LOCATION_EAR``). The [characteristic description](https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.temperature_type.xml) shows the other possible values. + +1. Temperature: the initial temperature is 39.6, and it's incremented by 0.1 every half second. It resets to 39.6 when it reaches 43.0. + +For more information see: + +* [Health Thermometer Service](https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.health_thermometer.xml): GATT profile details. + +* [Temperature Measurement](https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.temperature_measurement.xml): GATT characteristic details for temperature measurement. + +* [Temperature Type](https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.temperature_type.xml): GATT characteristic details for temperature type (sensor location). + +# Running the application + +## Requirements + +The sample application can be seen on any BLE scanner on a smartphone. If you don't have a scanner on your phone, please install : + +- [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android. + +- [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone. + +Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Building instructions + +Building instructions for all mbed OS samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Checking for success + +**Note:** Screens captures depicted below show what is expected from this example if the scanner used is *nRF Master Control Panel* version 4.0.5. If you encounter any difficulties consider trying another scanner or another version of nRF Master Control Panel. Alternative scanners may require reference to their manuals. + +1. Build the application and install it on your board as explained in the building instructions. + +1. Open the BLE scanner on your phone. + +1. Start a scan. + + ![](img/start_scan.png) + + **figure 1** How to start scan using nRF Master Control Panel 4.0.5 + +1. Find your device; it should be named *Therm*. + + ![](img/scan_results.png) + + **figure 2** Scan results using nRF Master Control Panel 4.0.5 + +1. Establish a connection with your device. + + ![](img/connection.png) + + **figure 3** How to establish a connection using Master Control Panel 4.0.5 + + +1. Discover the services and the characteristics on the device. The *Health Thermometer* service has the UUID `0x1809` and includes the *Temperature Measurement* characteristic which has the UUID `0x2A1C`. + + ![](img/discovery.png) + + **figure 4** Representation of the Thermometer service using Master Control Panel 4.0.5 + + +1. Register for the notifications sent by the *Temperature Measurement* characteristic. + + ![](img/register_to_notifications.png) + + **figure 5** How to register to notifications using Master Control Panel 4.0.5 + + +1. You should see the temperature value change every half second. It begins at 39.6, goes up to 43.0 (in steps of 0.1), resets to 39.6 and so on. + + ![](img/notifications.png) + + **figure 6** Notifications view using Master Control Panel 4.0.5 + + diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Thermometer/deprecated/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..a73dc227 --- /dev/null +++ b/BLE_Thermometer/deprecated/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc \ No newline at end of file diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/source/main.cpp b/BLE_Thermometer/deprecated/BLE_Thermometer/source/main.cpp new file mode 100644 index 00000000..c499c238 --- /dev/null +++ b/BLE_Thermometer/deprecated/BLE_Thermometer/source/main.cpp @@ -0,0 +1,119 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "mbed.h" +#include "ble/BLE.h" +#include "ble/services/HealthThermometerService.h" + +DigitalOut led1(LED1, 1); + +const static char DEVICE_NAME[] = "Therm"; +static const uint16_t uuid16_list[] = {GattService::UUID_HEALTH_THERMOMETER_SERVICE}; + +static float currentTemperature = 39.6; +static HealthThermometerService *thermometerServicePtr; + +static EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); + +/* Restart Advertising on disconnection*/ +void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *) +{ + BLE::Instance().gap().startAdvertising(); +} + +void updateSensorValue(void) { + /* Do blocking calls or whatever is necessary for sensor polling. + In our case, we simply update the Temperature measurement. */ + currentTemperature = (currentTemperature + 0.1 > 43.0) ? 39.6 : currentTemperature + 0.1; + thermometerServicePtr->updateTemperature(currentTemperature); +} + +void periodicCallback(void) +{ + led1 = !led1; /* Do blinky on LED1 while we're waiting for BLE events */ + + if (BLE::Instance().gap().getState().connected) { + eventQueue.call(updateSensorValue); + } +} + +void onBleInitError(BLE &ble, ble_error_t error) +{ + /* Initialization error handling should go here */ +} + +void printMacAddress() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + for (int i = 5; i >= 1; i--){ + printf("%02x:", address[i]); + } + printf("%02x\r\n", address[0]); +} + +void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) +{ + BLE& ble = params->ble; + ble_error_t error = params->error; + + if (error != BLE_ERROR_NONE) { + onBleInitError(ble, error); + return; + } + + if (ble.getInstanceID() != BLE::DEFAULT_INSTANCE) { + return; + } + + ble.gap().onDisconnection(disconnectionCallback); + + /* Setup primary service. */ + thermometerServicePtr = new HealthThermometerService(ble, currentTemperature, HealthThermometerService::LOCATION_EAR); + + /* setup advertising */ + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::THERMOMETER_EAR); + ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); + ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); + ble.gap().setAdvertisingInterval(1000); /* 1000ms */ + ble.gap().startAdvertising(); + + printMacAddress(); +} + +void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { + BLE &ble = BLE::Instance(); + eventQueue.call(Callback(&ble, &BLE::processEvents)); +} + +int main() +{ + eventQueue.call_every(500, periodicCallback); + + BLE &ble = BLE::Instance(); + ble.onEventsToProcess(scheduleBleEventsProcessing); + ble.init(bleInitComplete); + + eventQueue.dispatch_forever(); + + return 0; +} diff --git a/README.md b/README.md index db4d7d40..f2162423 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,6 @@ Targets for BLE The following targets have been tested and work with these examples: * Nordic: - * NRF51_DK * NRF52_DK * Boards with an ST shield plugged in: @@ -40,6 +39,11 @@ The following targets have been tested and work with these examples: * DISCO_L475VG_IOT01A (ref B-L475E-IOT01A) **Important:** if an ST shield is used with the K64F board, an hardware is patch required. Check out https://developer.mbed.org/teams/ST/code/X_NUCLEO_IDB0XA1/ for more information. + +The following board is no longer supported: + * NRF51_DK + +You may use the deprecated examples located in "deprecated" folder in each of the examples. ### Using ST Nucleo shield on other targets From 8e6a0b6b238d5027e32549cd046d50f5fa12f8cc Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 29 Nov 2018 15:43:55 +0000 Subject: [PATCH 045/100] use cordio LL --- BLE_BatteryLevel/mbed_app.json | 10 ++++++++++ BLE_Beacon/mbed_app.json | 10 ++++++++++ BLE_Button/mbed_app.json | 35 +++++++++++++--------------------- BLE_GAP/mbed_app.json | 32 ++++++++----------------------- BLE_GAPButton/mbed_app.json | 35 +++++++++++++--------------------- BLE_GattClient/mbed_app.json | 12 +++++++++++- BLE_GattServer/mbed_app.json | 12 +++++++++++- BLE_HeartRate/mbed_app.json | 10 ++++++++++ BLE_LED/mbed_app.json | 10 ++++++++++ BLE_LEDBlinker/mbed_app.json | 10 ++++++++++ BLE_Privacy/mbed_app.json | 10 ++++++++++ BLE_SM/mbed_app.json | 19 ++++++++++-------- BLE_Thermometer/mbed_app.json | 10 ++++++++++ 13 files changed, 137 insertions(+), 78 deletions(-) diff --git a/BLE_BatteryLevel/mbed_app.json b/BLE_BatteryLevel/mbed_app.json index 4309a7c2..f6d83692 100644 --- a/BLE_BatteryLevel/mbed_app.json +++ b/BLE_BatteryLevel/mbed_app.json @@ -11,6 +11,16 @@ "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } } diff --git a/BLE_Beacon/mbed_app.json b/BLE_Beacon/mbed_app.json index 4309a7c2..f6d83692 100644 --- a/BLE_Beacon/mbed_app.json +++ b/BLE_Beacon/mbed_app.json @@ -11,6 +11,16 @@ "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } } diff --git a/BLE_Button/mbed_app.json b/BLE_Button/mbed_app.json index e834b5a8..f6d83692 100644 --- a/BLE_Button/mbed_app.json +++ b/BLE_Button/mbed_app.json @@ -1,35 +1,26 @@ { - "config": { - "ble_button_pin_name": { - "help": "The pin name used as button in this application", - "macro_name": "BLE_BUTTON_PIN_NAME", - "required": true - } - }, "target_overrides": { - "NRF51_DK": { - "ble_button_pin_name": "BUTTON1" - }, - "NRF52_DK": { - "ble_button_pin_name": "BUTTON1" - }, - "MTB_UBLOX_NINA_B1": { - "ble_button_pin_name": "BUTTON1" - }, "K64F": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], - "ble_button_pin_name": "SW2" + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] }, "NUCLEO_F401RE": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], - "ble_button_pin_name": "USER_BUTTON" + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] }, "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], - "ble_button_pin_name": "USER_BUTTON" + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } } diff --git a/BLE_GAP/mbed_app.json b/BLE_GAP/mbed_app.json index 81e87634..f6d83692 100644 --- a/BLE_GAP/mbed_app.json +++ b/BLE_GAP/mbed_app.json @@ -12,31 +12,15 @@ "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] }, - "MCU_NRF52840" : { - "target.extra_labels_add": [ - "SOFTDEVICE_NONE", - "CORDIO", - "CORDIO_LL", - "NORDIC_CORDIO" - ], - "target.extra_labels_remove": [ - "NORDIC_SOFTDEVICE", - "SOFTDEVICE_COMMON", - "SOFTDEVICE_S140_FULL" - ] + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] }, - "MCU_NRF52_DK" : { - "target.extra_labels_add": [ - "SOFTDEVICE_NONE", - "CORDIO", - "CORDIO_LL", - "NORDIC_CORDIO" - ], - "target.extra_labels_remove": [ - "NORDIC_SOFTDEVICE", - "SOFTDEVICE_COMMON", - "SOFTDEVICE_S132_FULL" - ] + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } } diff --git a/BLE_GAPButton/mbed_app.json b/BLE_GAPButton/mbed_app.json index 15fd0abc..f6d83692 100644 --- a/BLE_GAPButton/mbed_app.json +++ b/BLE_GAPButton/mbed_app.json @@ -1,35 +1,26 @@ { - "config": { - "ble_button_pin_name": { - "help": "The pin name used as button in this application", - "macro_name": "BLE_BUTTON_PIN_NAME", - "required": true - } - }, "target_overrides": { - "NRF51_DK": { - "ble_button_pin_name": "BUTTON1" - }, - "NRF52_DK": { - "ble_button_pin_name": "BUTTON1" - }, - "MTB_UBLOX_NINA_B1": { - "ble_button_pin_name": "BUTTON1" - }, "K64F": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], - "ble_button_pin_name": "SW2" + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] }, "NUCLEO_F401RE": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], - "ble_button_pin_name": "USER_BUTTON" + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] }, "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], - "ble_button_pin_name": "USER_BUTTON" + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } } diff --git a/BLE_GattClient/mbed_app.json b/BLE_GattClient/mbed_app.json index d9083bba..f6d83692 100644 --- a/BLE_GattClient/mbed_app.json +++ b/BLE_GattClient/mbed_app.json @@ -11,6 +11,16 @@ "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } -} \ No newline at end of file +} diff --git a/BLE_GattServer/mbed_app.json b/BLE_GattServer/mbed_app.json index d9083bba..f6d83692 100644 --- a/BLE_GattServer/mbed_app.json +++ b/BLE_GattServer/mbed_app.json @@ -11,6 +11,16 @@ "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } -} \ No newline at end of file +} diff --git a/BLE_HeartRate/mbed_app.json b/BLE_HeartRate/mbed_app.json index 4309a7c2..f6d83692 100644 --- a/BLE_HeartRate/mbed_app.json +++ b/BLE_HeartRate/mbed_app.json @@ -11,6 +11,16 @@ "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } } diff --git a/BLE_LED/mbed_app.json b/BLE_LED/mbed_app.json index 4309a7c2..f6d83692 100644 --- a/BLE_LED/mbed_app.json +++ b/BLE_LED/mbed_app.json @@ -11,6 +11,16 @@ "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } } diff --git a/BLE_LEDBlinker/mbed_app.json b/BLE_LEDBlinker/mbed_app.json index 4309a7c2..f6d83692 100644 --- a/BLE_LEDBlinker/mbed_app.json +++ b/BLE_LEDBlinker/mbed_app.json @@ -11,6 +11,16 @@ "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } } diff --git a/BLE_Privacy/mbed_app.json b/BLE_Privacy/mbed_app.json index 4309a7c2..f6d83692 100644 --- a/BLE_Privacy/mbed_app.json +++ b/BLE_Privacy/mbed_app.json @@ -11,6 +11,16 @@ "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } } diff --git a/BLE_SM/mbed_app.json b/BLE_SM/mbed_app.json index c0c0def4..f6d83692 100644 --- a/BLE_SM/mbed_app.json +++ b/BLE_SM/mbed_app.json @@ -1,15 +1,8 @@ { - "config": { - "filesystem_support": { - "help": "Whether filesystem is supported on the target", - "value": 1 - } - }, "target_overrides": { "K64F": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], - "filesystem_support": 0 + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] }, "NUCLEO_F401RE": { "target.features_add": ["BLE"], @@ -18,6 +11,16 @@ "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } } diff --git a/BLE_Thermometer/mbed_app.json b/BLE_Thermometer/mbed_app.json index 4309a7c2..f6d83692 100644 --- a/BLE_Thermometer/mbed_app.json +++ b/BLE_Thermometer/mbed_app.json @@ -11,6 +11,16 @@ "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] } } } From 6308f75e4bc15eb288f4c9e3277426df710c351c Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 29 Nov 2018 15:53:54 +0000 Subject: [PATCH 046/100] update mbed-os --- BLE_BatteryLevel/mbed-os.lib | 2 +- BLE_Beacon/mbed-os.lib | 2 +- BLE_Button/mbed-os.lib | 2 +- BLE_GAP/mbed-os.lib | 2 +- BLE_GAPButton/mbed-os.lib | 2 +- BLE_GattClient/mbed-os.lib | 2 +- BLE_GattServer/mbed-os.lib | 2 +- BLE_HeartRate/mbed-os.lib | 2 +- BLE_LED/mbed-os.lib | 2 +- BLE_LEDBlinker/mbed-os.lib | 2 +- BLE_Privacy/mbed-os.lib | 2 +- BLE_SM/mbed-os.lib | 2 +- BLE_Thermometer/mbed-os.lib | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/BLE_BatteryLevel/mbed-os.lib b/BLE_BatteryLevel/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_BatteryLevel/mbed-os.lib +++ b/BLE_BatteryLevel/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b diff --git a/BLE_Beacon/mbed-os.lib b/BLE_Beacon/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_Beacon/mbed-os.lib +++ b/BLE_Beacon/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b diff --git a/BLE_Button/mbed-os.lib b/BLE_Button/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_Button/mbed-os.lib +++ b/BLE_Button/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b diff --git a/BLE_GAP/mbed-os.lib b/BLE_GAP/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_GAP/mbed-os.lib +++ b/BLE_GAP/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b diff --git a/BLE_GAPButton/mbed-os.lib b/BLE_GAPButton/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_GAPButton/mbed-os.lib +++ b/BLE_GAPButton/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b diff --git a/BLE_GattClient/mbed-os.lib b/BLE_GattClient/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_GattClient/mbed-os.lib +++ b/BLE_GattClient/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b diff --git a/BLE_GattServer/mbed-os.lib b/BLE_GattServer/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_GattServer/mbed-os.lib +++ b/BLE_GattServer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b diff --git a/BLE_HeartRate/mbed-os.lib b/BLE_HeartRate/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_HeartRate/mbed-os.lib +++ b/BLE_HeartRate/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b diff --git a/BLE_LED/mbed-os.lib b/BLE_LED/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_LED/mbed-os.lib +++ b/BLE_LED/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b diff --git a/BLE_LEDBlinker/mbed-os.lib b/BLE_LEDBlinker/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_LEDBlinker/mbed-os.lib +++ b/BLE_LEDBlinker/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b diff --git a/BLE_Privacy/mbed-os.lib b/BLE_Privacy/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_Privacy/mbed-os.lib +++ b/BLE_Privacy/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b diff --git a/BLE_SM/mbed-os.lib b/BLE_SM/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_SM/mbed-os.lib +++ b/BLE_SM/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b diff --git a/BLE_Thermometer/mbed-os.lib b/BLE_Thermometer/mbed-os.lib index fa52de0f..d1d492e4 100644 --- a/BLE_Thermometer/mbed-os.lib +++ b/BLE_Thermometer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#f9d07f373f087b0162cbfe1e92049a68898abd2b From 15532743036a164c6beac190f956251e7014579e Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 29 Nov 2018 15:54:12 +0000 Subject: [PATCH 047/100] clarify example deprecation --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f2162423..1aba435f 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,13 @@ To build these examples, you need to have a computer with software installed as In order to use BLE in mbed OS you need one of the following hardware combinations: -* A Nordic nRF51-based board such as [nrf51dk](https://www.nordicsemi.com/eng/Products/nRF51-DK) or [mkit](https://www.nordicsemi.com/eng/Products/Bluetooth-R-low-energy/nRF51822-mKIT). * A Nordic nRF52-based board such as [nrf52DK](https://os.mbed.com/platforms/Nordic-nRF52-DK/) * A supported target, such as the [NUCLEO-F401RE](http://www.st.com/en/evaluation-tools/nucleo-f401re.html), with a BLE shield or an external BLE peripheral, such as an [ST shield](http://www.st.com/web/catalog/tools/FM116/SC1075/PF260517). * A [DISCO_L475VG_IOT01A (ref B-L475E-IOT01A)](http://www.st.com/en/evaluation-tools/b-l475e-iot01a.html) board. +This target is currently not supported as the examples use Cordio link layer which doesn't have an implementation for it yet: +* A Nordic nRF51-based board such as [nrf51dk](https://www.nordicsemi.com/eng/Products/nRF51-DK) or [mkit](https://www.nordicsemi.com/eng/Products/Bluetooth-R-low-energy/nRF51822-mKIT). +You may still use the depracated examples for this target. The deprecated examples are located in the "deprecated" folder in each of the examples. The [BLE documentation](https://os.mbed.com/docs/latest/reference/bluetooth.html) describes the BLE APIs on mbed OS. @@ -42,8 +44,6 @@ The following targets have been tested and work with these examples: The following board is no longer supported: * NRF51_DK - -You may use the deprecated examples located in "deprecated" folder in each of the examples. ### Using ST Nucleo shield on other targets From 2fbc397724254a5a34aaf2a2fc6a45d3945fe1f1 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Fri, 30 Nov 2018 08:21:16 +0000 Subject: [PATCH 048/100] Fix demo.h (#4) * Mark functions in demo.h as inline. * Move demo.h into pretty_printer.h * Update .gitignore with clion exporters and mbed os build ignore patterns. --- .gitignore | 17 ++++ BLE_BatteryLevel/source/main.cpp | 2 +- .../source/{demo.h => pretty_printer.h} | 8 +- BLE_Beacon/source/main.cpp | 2 +- .../source/{demo.h => pretty_printer.h} | 8 +- BLE_Button/source/main.cpp | 2 +- .../source/{demo.h => pretty_printer.h} | 8 +- BLE_GAP/source/main.cpp | 2 +- BLE_GAP/source/{demo.h => pretty_printer.h} | 8 +- BLE_GAPButton/source/demo.h | 95 ------------------- BLE_GAPButton/source/main.cpp | 2 +- BLE_GAPButton/source/pretty_printer.h | 95 +++++++++++++++++++ BLE_HeartRate/source/demo.h | 95 ------------------- BLE_HeartRate/source/main.cpp | 2 +- BLE_HeartRate/source/pretty_printer.h | 95 +++++++++++++++++++ BLE_LED/source/demo.h | 95 ------------------- BLE_LED/source/main.cpp | 2 +- BLE_LED/source/pretty_printer.h | 95 +++++++++++++++++++ BLE_LEDBlinker/source/main.cpp | 2 +- .../source/{demo.h => pretty_printer.h} | 6 +- BLE_Privacy/source/main.cpp | 2 +- .../source/{demo.h => pretty_printer.h} | 6 +- BLE_SM/source/main.cpp | 2 +- BLE_SM/source/{demo.h => pretty_printer.h} | 6 +- BLE_Thermometer/source/demo.h | 95 ------------------- BLE_Thermometer/source/main.cpp | 2 +- BLE_Thermometer/source/pretty_printer.h | 95 +++++++++++++++++++ 27 files changed, 433 insertions(+), 416 deletions(-) rename BLE_BatteryLevel/source/{demo.h => pretty_printer.h} (94%) rename BLE_Beacon/source/{demo.h => pretty_printer.h} (94%) rename BLE_Button/source/{demo.h => pretty_printer.h} (94%) rename BLE_GAP/source/{demo.h => pretty_printer.h} (94%) delete mode 100644 BLE_GAPButton/source/demo.h create mode 100644 BLE_GAPButton/source/pretty_printer.h delete mode 100644 BLE_HeartRate/source/demo.h create mode 100644 BLE_HeartRate/source/pretty_printer.h delete mode 100644 BLE_LED/source/demo.h create mode 100644 BLE_LED/source/pretty_printer.h rename BLE_LEDBlinker/source/{demo.h => pretty_printer.h} (95%) rename BLE_Privacy/source/{demo.h => pretty_printer.h} (95%) rename BLE_SM/source/{demo.h => pretty_printer.h} (95%) delete mode 100644 BLE_Thermometer/source/demo.h create mode 100644 BLE_Thermometer/source/pretty_printer.h diff --git a/.gitignore b/.gitignore index 8fb0f2fe..efda7eee 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,20 @@ build/ yotta_modules/ yotta_targets/ .DS_Store + +# clion +.idea/ +cmake-build-*/ +CMakeLists.txt + +# exporters +GettingStarted.html + +# mbed build system +.mbed +mbed-os/ +mbed_settings.py +mbed_config.h +*.pyc +TARGET_CORDIO_BLUENRG/ + diff --git a/BLE_BatteryLevel/source/main.cpp b/BLE_BatteryLevel/source/main.cpp index e203ec91..d2bfb386 100644 --- a/BLE_BatteryLevel/source/main.cpp +++ b/BLE_BatteryLevel/source/main.cpp @@ -19,7 +19,7 @@ #include "ble/BLE.h" #include "ble/Gap.h" #include "ble/services/BatteryService.h" -#include "demo.h" +#include "pretty_printer.h" static DigitalOut led1(LED1, 1); diff --git a/BLE_BatteryLevel/source/demo.h b/BLE_BatteryLevel/source/pretty_printer.h similarity index 94% rename from BLE_BatteryLevel/source/demo.h rename to BLE_BatteryLevel/source/pretty_printer.h index 7b7c264f..b540135e 100644 --- a/BLE_BatteryLevel/source/demo.h +++ b/BLE_BatteryLevel/source/pretty_printer.h @@ -17,7 +17,7 @@ #include #include "ble/BLE.h" -void print_error(ble_error_t error, const char* msg) +inline void print_error(ble_error_t error, const char* msg) { printf("%s: ", msg); switch(error) { @@ -65,13 +65,13 @@ void print_error(ble_error_t error, const char* msg) } /** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) +inline void print_address(const Gap::Address_t &addr) { printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); } -void print_mac_address() +inline void print_mac_address() { /* Print out device MAC address to the console*/ Gap::AddressType_t addr_type; @@ -81,7 +81,7 @@ void print_mac_address() print_address(address); } -const char* phy_to_string(Gap::Phy_t phy) { +inline const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: return "LE 1M"; diff --git a/BLE_Beacon/source/main.cpp b/BLE_Beacon/source/main.cpp index 0dc914c5..13d78122 100644 --- a/BLE_Beacon/source/main.cpp +++ b/BLE_Beacon/source/main.cpp @@ -17,7 +17,7 @@ #include #include #include "ble/BLE.h" -#include "demo.h" +#include "pretty_printer.h" static events::EventQueue event_queue(/* event count */ 16 * EVENTS_EVENT_SIZE); diff --git a/BLE_Beacon/source/demo.h b/BLE_Beacon/source/pretty_printer.h similarity index 94% rename from BLE_Beacon/source/demo.h rename to BLE_Beacon/source/pretty_printer.h index 7b7c264f..b540135e 100644 --- a/BLE_Beacon/source/demo.h +++ b/BLE_Beacon/source/pretty_printer.h @@ -17,7 +17,7 @@ #include #include "ble/BLE.h" -void print_error(ble_error_t error, const char* msg) +inline void print_error(ble_error_t error, const char* msg) { printf("%s: ", msg); switch(error) { @@ -65,13 +65,13 @@ void print_error(ble_error_t error, const char* msg) } /** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) +inline void print_address(const Gap::Address_t &addr) { printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); } -void print_mac_address() +inline void print_mac_address() { /* Print out device MAC address to the console*/ Gap::AddressType_t addr_type; @@ -81,7 +81,7 @@ void print_mac_address() print_address(address); } -const char* phy_to_string(Gap::Phy_t phy) { +inline const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: return "LE 1M"; diff --git a/BLE_Button/source/main.cpp b/BLE_Button/source/main.cpp index 58086a50..5d10590f 100644 --- a/BLE_Button/source/main.cpp +++ b/BLE_Button/source/main.cpp @@ -19,7 +19,7 @@ #include "ble/BLE.h" #include "ble/Gap.h" #include "ButtonService.h" -#include "demo.h" +#include "pretty_printer.h" const static char DEVICE_NAME[] = "Button"; diff --git a/BLE_Button/source/demo.h b/BLE_Button/source/pretty_printer.h similarity index 94% rename from BLE_Button/source/demo.h rename to BLE_Button/source/pretty_printer.h index 7b7c264f..b540135e 100644 --- a/BLE_Button/source/demo.h +++ b/BLE_Button/source/pretty_printer.h @@ -17,7 +17,7 @@ #include #include "ble/BLE.h" -void print_error(ble_error_t error, const char* msg) +inline void print_error(ble_error_t error, const char* msg) { printf("%s: ", msg); switch(error) { @@ -65,13 +65,13 @@ void print_error(ble_error_t error, const char* msg) } /** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) +inline void print_address(const Gap::Address_t &addr) { printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); } -void print_mac_address() +inline void print_mac_address() { /* Print out device MAC address to the console*/ Gap::AddressType_t addr_type; @@ -81,7 +81,7 @@ void print_mac_address() print_address(address); } -const char* phy_to_string(Gap::Phy_t phy) { +inline const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: return "LE 1M"; diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 68721d5d..22f7fff6 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -19,7 +19,7 @@ #include "ble/BLE.h" #include "gap/Gap.h" #include "gap/AdvertisingDataParser.h" -#include "demo.h" +#include "pretty_printer.h" /** This example demonstrates all the basic setup required * to advertise, scan and connect to other devices. diff --git a/BLE_GAP/source/demo.h b/BLE_GAP/source/pretty_printer.h similarity index 94% rename from BLE_GAP/source/demo.h rename to BLE_GAP/source/pretty_printer.h index 7b7c264f..b540135e 100644 --- a/BLE_GAP/source/demo.h +++ b/BLE_GAP/source/pretty_printer.h @@ -17,7 +17,7 @@ #include #include "ble/BLE.h" -void print_error(ble_error_t error, const char* msg) +inline void print_error(ble_error_t error, const char* msg) { printf("%s: ", msg); switch(error) { @@ -65,13 +65,13 @@ void print_error(ble_error_t error, const char* msg) } /** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) +inline void print_address(const Gap::Address_t &addr) { printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); } -void print_mac_address() +inline void print_mac_address() { /* Print out device MAC address to the console*/ Gap::AddressType_t addr_type; @@ -81,7 +81,7 @@ void print_mac_address() print_address(address); } -const char* phy_to_string(Gap::Phy_t phy) { +inline const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: return "LE 1M"; diff --git a/BLE_GAPButton/source/demo.h b/BLE_GAPButton/source/demo.h deleted file mode 100644 index 7b7c264f..00000000 --- a/BLE_GAPButton/source/demo.h +++ /dev/null @@ -1,95 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2018 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include "ble/BLE.h" - -void print_error(ble_error_t error, const char* msg) -{ - printf("%s: ", msg); - switch(error) { - case BLE_ERROR_NONE: - printf("BLE_ERROR_NONE: No error"); - break; - case BLE_ERROR_BUFFER_OVERFLOW: - printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); - break; - case BLE_ERROR_NOT_IMPLEMENTED: - printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); - break; - case BLE_ERROR_PARAM_OUT_OF_RANGE: - printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); - break; - case BLE_ERROR_INVALID_PARAM: - printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); - break; - case BLE_STACK_BUSY: - printf("BLE_STACK_BUSY: The stack is busy"); - break; - case BLE_ERROR_INVALID_STATE: - printf("BLE_ERROR_INVALID_STATE: Invalid state"); - break; - case BLE_ERROR_NO_MEM: - printf("BLE_ERROR_NO_MEM: Out of Memory"); - break; - case BLE_ERROR_OPERATION_NOT_PERMITTED: - printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); - break; - case BLE_ERROR_INITIALIZATION_INCOMPLETE: - printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); - break; - case BLE_ERROR_ALREADY_INITIALIZED: - printf("BLE_ERROR_ALREADY_INITIALIZED"); - break; - case BLE_ERROR_UNSPECIFIED: - printf("BLE_ERROR_UNSPECIFIED: Unknown error"); - break; - case BLE_ERROR_INTERNAL_STACK_FAILURE: - printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); - break; - } - printf("\r\n"); -} - -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - -void print_mac_address() -{ - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - print_address(address); -} - -const char* phy_to_string(Gap::Phy_t phy) { - switch(phy.value()) { - case Gap::Phy_t::LE_1M: - return "LE 1M"; - case Gap::Phy_t::LE_2M: - return "LE 2M"; - case Gap::Phy_t::LE_CODED: - return "LE coded"; - default: - return "invalid PHY"; - } -} diff --git a/BLE_GAPButton/source/main.cpp b/BLE_GAPButton/source/main.cpp index 6b5dca00..56e7e1ee 100644 --- a/BLE_GAPButton/source/main.cpp +++ b/BLE_GAPButton/source/main.cpp @@ -17,7 +17,7 @@ #include #include #include "ble/BLE.h" -#include "demo.h" +#include "pretty_printer.h" static const char DEVICE_NAME[] = "GAPButton"; diff --git a/BLE_GAPButton/source/pretty_printer.h b/BLE_GAPButton/source/pretty_printer.h new file mode 100644 index 00000000..b540135e --- /dev/null +++ b/BLE_GAPButton/source/pretty_printer.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +inline void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +/** print device address to the terminal */ +inline void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +inline void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +inline const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_HeartRate/source/demo.h b/BLE_HeartRate/source/demo.h deleted file mode 100644 index 7b7c264f..00000000 --- a/BLE_HeartRate/source/demo.h +++ /dev/null @@ -1,95 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2018 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include "ble/BLE.h" - -void print_error(ble_error_t error, const char* msg) -{ - printf("%s: ", msg); - switch(error) { - case BLE_ERROR_NONE: - printf("BLE_ERROR_NONE: No error"); - break; - case BLE_ERROR_BUFFER_OVERFLOW: - printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); - break; - case BLE_ERROR_NOT_IMPLEMENTED: - printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); - break; - case BLE_ERROR_PARAM_OUT_OF_RANGE: - printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); - break; - case BLE_ERROR_INVALID_PARAM: - printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); - break; - case BLE_STACK_BUSY: - printf("BLE_STACK_BUSY: The stack is busy"); - break; - case BLE_ERROR_INVALID_STATE: - printf("BLE_ERROR_INVALID_STATE: Invalid state"); - break; - case BLE_ERROR_NO_MEM: - printf("BLE_ERROR_NO_MEM: Out of Memory"); - break; - case BLE_ERROR_OPERATION_NOT_PERMITTED: - printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); - break; - case BLE_ERROR_INITIALIZATION_INCOMPLETE: - printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); - break; - case BLE_ERROR_ALREADY_INITIALIZED: - printf("BLE_ERROR_ALREADY_INITIALIZED"); - break; - case BLE_ERROR_UNSPECIFIED: - printf("BLE_ERROR_UNSPECIFIED: Unknown error"); - break; - case BLE_ERROR_INTERNAL_STACK_FAILURE: - printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); - break; - } - printf("\r\n"); -} - -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - -void print_mac_address() -{ - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - print_address(address); -} - -const char* phy_to_string(Gap::Phy_t phy) { - switch(phy.value()) { - case Gap::Phy_t::LE_1M: - return "LE 1M"; - case Gap::Phy_t::LE_2M: - return "LE 2M"; - case Gap::Phy_t::LE_CODED: - return "LE coded"; - default: - return "invalid PHY"; - } -} diff --git a/BLE_HeartRate/source/main.cpp b/BLE_HeartRate/source/main.cpp index b65f6fa8..f658246b 100644 --- a/BLE_HeartRate/source/main.cpp +++ b/BLE_HeartRate/source/main.cpp @@ -19,7 +19,7 @@ #include "ble/BLE.h" #include "ble/gap/Gap.h" #include "ble/services/HeartRateService.h" -#include "demo.h" +#include "pretty_printer.h" const static char DEVICE_NAME[] = "Heartrate"; diff --git a/BLE_HeartRate/source/pretty_printer.h b/BLE_HeartRate/source/pretty_printer.h new file mode 100644 index 00000000..b540135e --- /dev/null +++ b/BLE_HeartRate/source/pretty_printer.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +inline void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +/** print device address to the terminal */ +inline void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +inline void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +inline const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_LED/source/demo.h b/BLE_LED/source/demo.h deleted file mode 100644 index 7b7c264f..00000000 --- a/BLE_LED/source/demo.h +++ /dev/null @@ -1,95 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2018 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include "ble/BLE.h" - -void print_error(ble_error_t error, const char* msg) -{ - printf("%s: ", msg); - switch(error) { - case BLE_ERROR_NONE: - printf("BLE_ERROR_NONE: No error"); - break; - case BLE_ERROR_BUFFER_OVERFLOW: - printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); - break; - case BLE_ERROR_NOT_IMPLEMENTED: - printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); - break; - case BLE_ERROR_PARAM_OUT_OF_RANGE: - printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); - break; - case BLE_ERROR_INVALID_PARAM: - printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); - break; - case BLE_STACK_BUSY: - printf("BLE_STACK_BUSY: The stack is busy"); - break; - case BLE_ERROR_INVALID_STATE: - printf("BLE_ERROR_INVALID_STATE: Invalid state"); - break; - case BLE_ERROR_NO_MEM: - printf("BLE_ERROR_NO_MEM: Out of Memory"); - break; - case BLE_ERROR_OPERATION_NOT_PERMITTED: - printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); - break; - case BLE_ERROR_INITIALIZATION_INCOMPLETE: - printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); - break; - case BLE_ERROR_ALREADY_INITIALIZED: - printf("BLE_ERROR_ALREADY_INITIALIZED"); - break; - case BLE_ERROR_UNSPECIFIED: - printf("BLE_ERROR_UNSPECIFIED: Unknown error"); - break; - case BLE_ERROR_INTERNAL_STACK_FAILURE: - printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); - break; - } - printf("\r\n"); -} - -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - -void print_mac_address() -{ - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - print_address(address); -} - -const char* phy_to_string(Gap::Phy_t phy) { - switch(phy.value()) { - case Gap::Phy_t::LE_1M: - return "LE 1M"; - case Gap::Phy_t::LE_2M: - return "LE 2M"; - case Gap::Phy_t::LE_CODED: - return "LE coded"; - default: - return "invalid PHY"; - } -} diff --git a/BLE_LED/source/main.cpp b/BLE_LED/source/main.cpp index 3a4bdf2d..93a3e567 100644 --- a/BLE_LED/source/main.cpp +++ b/BLE_LED/source/main.cpp @@ -18,7 +18,7 @@ #include #include "ble/BLE.h" #include "LEDService.h" -#include "demo.h" +#include "pretty_printer.h" const static char DEVICE_NAME[] = "LED"; diff --git a/BLE_LED/source/pretty_printer.h b/BLE_LED/source/pretty_printer.h new file mode 100644 index 00000000..b540135e --- /dev/null +++ b/BLE_LED/source/pretty_printer.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +inline void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +/** print device address to the terminal */ +inline void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +inline void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +inline const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} diff --git a/BLE_LEDBlinker/source/main.cpp b/BLE_LEDBlinker/source/main.cpp index 45624ef7..90cc3a93 100644 --- a/BLE_LEDBlinker/source/main.cpp +++ b/BLE_LEDBlinker/source/main.cpp @@ -21,7 +21,7 @@ #include "ble/DiscoveredService.h" #include "ble/gap/Gap.h" #include "ble/gap/AdvertisingDataParser.h" -#include "demo.h" +#include "pretty_printer.h" const static char PEER_NAME[] = "LED"; diff --git a/BLE_LEDBlinker/source/demo.h b/BLE_LEDBlinker/source/pretty_printer.h similarity index 95% rename from BLE_LEDBlinker/source/demo.h rename to BLE_LEDBlinker/source/pretty_printer.h index e39d6730..7b1a7d6e 100644 --- a/BLE_LEDBlinker/source/demo.h +++ b/BLE_LEDBlinker/source/pretty_printer.h @@ -17,7 +17,7 @@ #include #include "ble/BLE.h" -void print_error(ble_error_t error, const char* msg) +inline void print_error(ble_error_t error, const char* msg) { printf("%s: ", msg); switch(error) { @@ -71,7 +71,7 @@ void print_address(const uint8_t *addr) addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); } -void print_mac_address() +inline void print_mac_address() { /* Print out device MAC address to the console*/ Gap::AddressType_t addr_type; @@ -81,7 +81,7 @@ void print_mac_address() print_address(address); } -const char* phy_to_string(Gap::Phy_t phy) { +inline const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: return "LE 1M"; diff --git a/BLE_Privacy/source/main.cpp b/BLE_Privacy/source/main.cpp index dc002bc6..292f5f81 100644 --- a/BLE_Privacy/source/main.cpp +++ b/BLE_Privacy/source/main.cpp @@ -19,7 +19,7 @@ #include "ble/BLE.h" #include "SecurityManager.h" #include -#include "demo.h" +#include "pretty_printer.h" #include "ble/gap/AdvertisingDataParser.h" /** This example demonstrates privacy features in Gap. It shows how to use diff --git a/BLE_Privacy/source/demo.h b/BLE_Privacy/source/pretty_printer.h similarity index 95% rename from BLE_Privacy/source/demo.h rename to BLE_Privacy/source/pretty_printer.h index e39d6730..7b1a7d6e 100644 --- a/BLE_Privacy/source/demo.h +++ b/BLE_Privacy/source/pretty_printer.h @@ -17,7 +17,7 @@ #include #include "ble/BLE.h" -void print_error(ble_error_t error, const char* msg) +inline void print_error(ble_error_t error, const char* msg) { printf("%s: ", msg); switch(error) { @@ -71,7 +71,7 @@ void print_address(const uint8_t *addr) addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); } -void print_mac_address() +inline void print_mac_address() { /* Print out device MAC address to the console*/ Gap::AddressType_t addr_type; @@ -81,7 +81,7 @@ void print_mac_address() print_address(address); } -const char* phy_to_string(Gap::Phy_t phy) { +inline const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: return "LE 1M"; diff --git a/BLE_SM/source/main.cpp b/BLE_SM/source/main.cpp index e4fdc6e3..59c4ac27 100644 --- a/BLE_SM/source/main.cpp +++ b/BLE_SM/source/main.cpp @@ -18,7 +18,7 @@ #include #include "ble/BLE.h" #include "SecurityManager.h" -#include "demo.h" +#include "pretty_printer.h" #if MBED_CONF_APP_FILESYSTEM_SUPPORT #include "LittleFileSystem.h" diff --git a/BLE_SM/source/demo.h b/BLE_SM/source/pretty_printer.h similarity index 95% rename from BLE_SM/source/demo.h rename to BLE_SM/source/pretty_printer.h index e39d6730..7b1a7d6e 100644 --- a/BLE_SM/source/demo.h +++ b/BLE_SM/source/pretty_printer.h @@ -17,7 +17,7 @@ #include #include "ble/BLE.h" -void print_error(ble_error_t error, const char* msg) +inline void print_error(ble_error_t error, const char* msg) { printf("%s: ", msg); switch(error) { @@ -71,7 +71,7 @@ void print_address(const uint8_t *addr) addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); } -void print_mac_address() +inline void print_mac_address() { /* Print out device MAC address to the console*/ Gap::AddressType_t addr_type; @@ -81,7 +81,7 @@ void print_mac_address() print_address(address); } -const char* phy_to_string(Gap::Phy_t phy) { +inline const char* phy_to_string(Gap::Phy_t phy) { switch(phy.value()) { case Gap::Phy_t::LE_1M: return "LE 1M"; diff --git a/BLE_Thermometer/source/demo.h b/BLE_Thermometer/source/demo.h deleted file mode 100644 index 7b7c264f..00000000 --- a/BLE_Thermometer/source/demo.h +++ /dev/null @@ -1,95 +0,0 @@ -/* mbed Microcontroller Library - * Copyright (c) 2018 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include "ble/BLE.h" - -void print_error(ble_error_t error, const char* msg) -{ - printf("%s: ", msg); - switch(error) { - case BLE_ERROR_NONE: - printf("BLE_ERROR_NONE: No error"); - break; - case BLE_ERROR_BUFFER_OVERFLOW: - printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); - break; - case BLE_ERROR_NOT_IMPLEMENTED: - printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); - break; - case BLE_ERROR_PARAM_OUT_OF_RANGE: - printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); - break; - case BLE_ERROR_INVALID_PARAM: - printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); - break; - case BLE_STACK_BUSY: - printf("BLE_STACK_BUSY: The stack is busy"); - break; - case BLE_ERROR_INVALID_STATE: - printf("BLE_ERROR_INVALID_STATE: Invalid state"); - break; - case BLE_ERROR_NO_MEM: - printf("BLE_ERROR_NO_MEM: Out of Memory"); - break; - case BLE_ERROR_OPERATION_NOT_PERMITTED: - printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); - break; - case BLE_ERROR_INITIALIZATION_INCOMPLETE: - printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); - break; - case BLE_ERROR_ALREADY_INITIALIZED: - printf("BLE_ERROR_ALREADY_INITIALIZED"); - break; - case BLE_ERROR_UNSPECIFIED: - printf("BLE_ERROR_UNSPECIFIED: Unknown error"); - break; - case BLE_ERROR_INTERNAL_STACK_FAILURE: - printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); - break; - } - printf("\r\n"); -} - -/** print device address to the terminal */ -void print_address(const Gap::Address_t &addr) -{ - printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", - addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); -} - -void print_mac_address() -{ - /* Print out device MAC address to the console*/ - Gap::AddressType_t addr_type; - Gap::Address_t address; - BLE::Instance().gap().getAddress(&addr_type, address); - printf("DEVICE MAC ADDRESS: "); - print_address(address); -} - -const char* phy_to_string(Gap::Phy_t phy) { - switch(phy.value()) { - case Gap::Phy_t::LE_1M: - return "LE 1M"; - case Gap::Phy_t::LE_2M: - return "LE 2M"; - case Gap::Phy_t::LE_CODED: - return "LE coded"; - default: - return "invalid PHY"; - } -} diff --git a/BLE_Thermometer/source/main.cpp b/BLE_Thermometer/source/main.cpp index b61b993a..f501f4ae 100644 --- a/BLE_Thermometer/source/main.cpp +++ b/BLE_Thermometer/source/main.cpp @@ -18,7 +18,7 @@ #include "mbed.h" #include "ble/BLE.h" #include "ble/services/HealthThermometerService.h" -#include "demo.h" +#include "pretty_printer.h" DigitalOut led1(LED1, 1); diff --git a/BLE_Thermometer/source/pretty_printer.h b/BLE_Thermometer/source/pretty_printer.h new file mode 100644 index 00000000..b540135e --- /dev/null +++ b/BLE_Thermometer/source/pretty_printer.h @@ -0,0 +1,95 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +inline void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +/** print device address to the terminal */ +inline void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +inline void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); +} + +inline const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} From 678c33482ca63ac2fe821b05ae0f9945353a5285 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 16:29:53 +0000 Subject: [PATCH 049/100] BLE_GAP: Remove setOwnAddressType to random as this will get fixed in the API. --- BLE_GAP/source/main.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 22f7fff6..7bbdb12b 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -207,7 +207,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle interval, interval ); - adv_parameters.setOwnAddressType(ble::own_address_type_t::RANDOM); /* this is the memory backing for the payload */ uint8_t adv_buffer[MAX_ADVERTISING_PAYLOAD_SIZE]; @@ -334,7 +333,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* set the scanning parameters according to currently selected set */ ble::ScanParameters params(ble::phy_t::LE_1M, interval, window, active); - params.setOwnAddressType(ble::own_address_type_t::RANDOM); ble_error_t error = _ble.gap().setScanParameters(params); @@ -461,7 +459,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ble::slave_latency_t(0), ble::supervision_timeout_t(100) ); - connection_params.setOwnAddressType(ble::own_address_type_t::RANDOM); error = _ble.gap().connect( event.getPeerAddressType(), From 88c49931f47e2999654932441e2dabed501968f0 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 16:30:25 +0000 Subject: [PATCH 050/100] BLE_GAP: remove definition of connection params are reasonable default will be available in the API. --- BLE_GAP/source/main.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 7bbdb12b..99215e55 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -450,15 +450,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } - ble::ConnectionParameters connection_params( - ble::phy_t::LE_1M, - ble::scan_interval_t(50), - ble::scan_window_t(50), - ble::conn_interval_t(50), - ble::conn_interval_t(100), - ble::slave_latency_t(0), - ble::supervision_timeout_t(100) - ); + ble::ConnectionParameters connection_params; error = _ble.gap().connect( event.getPeerAddressType(), From 62c55bbba349004e7778b0a1fbdf421032bd6254 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 16:58:29 +0000 Subject: [PATCH 051/100] BLE_GAP: Split dispatch end_demo_mode and print_performance. --- BLE_GAP/source/main.cpp | 172 +++++++++++++++++++++------------------- 1 file changed, 90 insertions(+), 82 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 99215e55..2359d511 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -360,44 +360,10 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /** Finish the mode by shutting down advertising or scanning and move to the next mode. */ void end_demo_mode() { - ble_error_t error; - - print_performance(); - - /* stop scanning and advertising */ if (_is_in_scanning_mode) { - error = _ble.gap().stopScan(); - - if (error) { - print_error(error, "Error caused by Gap::stopScan"); - return; - } + end_scanning_mode(); } else { - /* go through all the created advertising sets to shut them down and remove them */ - for (uint8_t i = 0; i < ADV_SET_NUMBER; ++i) { - /* check if the set has been sucesfully created */ - if (_adv_handles[i] != ble::INVALID_ADVERTISING_HANDLE) { - /* if it's still active, stop it */ - if (_ble.gap().isAdvertisingActive(_adv_handles[i])) { - error = _ble.gap().stopAdvertising(_adv_handles[i]); - - if (error) { - print_error(error, "Error caused by Gap::stopAdvertising"); - return; - } - } - /* you cannot destroy or create the legacy advertising set, - * it's always available, others may be removed when no longer needed */ - if (_adv_handles[i] != ble::LEGACY_ADVERTISING_HANDLE) { - error = _ble.gap().destroyAdvertisingSet(_adv_handles[i]); - - if (error) { - print_error(error, "Error caused by Gap::destroyAdvertisingSet"); - return; - } - } - } - } + end_advertising_mode(); } /* alloted time has elapsed or be connected, move to next demo mode */ @@ -597,63 +563,105 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _event_queue.break_dispatch(); } + /** Finish the mode by shutting down advertising or scanning and move to the next mode. */ + void end_scanning_mode() + { + print_scanning_performance(); + ble_error_t error = _ble.gap().stopScan(); + + if (error) { + print_error(error, "Error caused by Gap::stopScan"); + } + } + + void end_advertising_mode() + { + print_advertising_performance(); + /* go through all the created advertising sets to shut them down and remove them */ + for (uint8_t i = 0; i < ADV_SET_NUMBER; ++i) { + /* check if the set has been sucesfully created */ + if (_adv_handles[i] != ble::INVALID_ADVERTISING_HANDLE) { + /* if it's still active, stop it */ + if (_ble.gap().isAdvertisingActive(_adv_handles[i])) { + ble_error_t error = _ble.gap().stopAdvertising(_adv_handles[i]); + + if (error) { + print_error(error, "Error caused by Gap::stopAdvertising"); + return; + } + } + /* you cannot destroy or create the legacy advertising set, + * it's always available, others may be removed when no longer needed */ + if (_adv_handles[i] != ble::LEGACY_ADVERTISING_HANDLE) { + ble_error_t error = _ble.gap().destroyAdvertisingSet(_adv_handles[i]); + + if (error) { + print_error(error, "Error caused by Gap::destroyAdvertisingSet"); + return; + } + } + } + } + } + /** print some information about our radio activity */ - void print_performance() + void print_scanning_performance() { /* measure time from mode start, may have been stopped by timeout */ uint16_t duration_ms = _demo_duration.read_ms(); - if (_is_in_scanning_mode) { - /* convert ms into timeslots for accurate calculation as internally - * all durations are in timeslots (0.625ms) */ - uint16_t duration_ts = ble::scan_interval_t(ble::millisecond_t(duration_ms)).value(); - uint16_t interval_ts = scanning_params[_set_index].interval.value(); - uint16_t window_ts = scanning_params[_set_index].window.value(); - /* this is how long we scanned for in timeslots */ - uint16_t rx_ts = (duration_ts / interval_ts) * window_ts; - /* convert to milliseconds */ - uint16_t rx_ms = ble::scan_interval_t(rx_ts).valueInMs(); - - printf("We have scanned for %dms with an interval of %d" - " timeslots and a window of %d timeslots\r\n", - duration_ms, interval_ts, window_ts); - - printf("We have been listening on the radio for at least %dms\r\n", rx_ms); - - } else /* advertising */ { - uint8_t number_of_active_sets = 0; - - for (uint8_t i = 0; i < ADV_SET_NUMBER; ++i) { - if (_adv_handles[i] != ble::INVALID_ADVERTISING_HANDLE) { - if (_ble.gap().isAdvertisingActive(_adv_handles[i])) { - number_of_active_sets++; - } + /* convert ms into timeslots for accurate calculation as internally + * all durations are in timeslots (0.625ms) */ + uint16_t duration_ts = ble::scan_interval_t(ble::millisecond_t(duration_ms)).value(); + uint16_t interval_ts = scanning_params[_set_index].interval.value(); + uint16_t window_ts = scanning_params[_set_index].window.value(); + /* this is how long we scanned for in timeslots */ + uint16_t rx_ts = (duration_ts / interval_ts) * window_ts; + /* convert to milliseconds */ + uint16_t rx_ms = ble::scan_interval_t(rx_ts).valueInMs(); + + printf("We have scanned for %dms with an interval of %d" + " timeslots and a window of %d timeslots\r\n", + duration_ms, interval_ts, window_ts); + + printf("We have been listening on the radio for at least %dms\r\n", rx_ms); + } + + /** print some information about our radio activity */ + void print_advertising_performance() + { + /* measure time from mode start, may have been stopped by timeout */ + uint16_t duration_ms = _demo_duration.read_ms(); + uint8_t number_of_active_sets = 0; + + for (uint8_t i = 0; i < ADV_SET_NUMBER; ++i) { + if (_adv_handles[i] != ble::INVALID_ADVERTISING_HANDLE) { + if (_ble.gap().isAdvertisingActive(_adv_handles[i])) { + number_of_active_sets++; } } + } - /* convert ms into timeslots for accurate calculation as internally - * all durations are in timeslots (0.625ms) */ - uint16_t duration_ts = ble::adv_interval_t(ble::millisecond_t(duration_ms)).value(); - uint16_t interval_ts = advertising_params[_set_index].interval.value(); - /* this is how many times we advertised */ - uint16_t events = (duration_ts / interval_ts) * number_of_active_sets; + /* convert ms into timeslots for accurate calculation as internally + * all durations are in timeslots (0.625ms) */ + uint16_t duration_ts = ble::adv_interval_t(ble::millisecond_t(duration_ms)).value(); + uint16_t interval_ts = advertising_params[_set_index].interval.value(); + /* this is how many times we advertised */ + uint16_t events = (duration_ts / interval_ts) * number_of_active_sets; - printf("We have advertised for %dms with an interval of %d timeslots\r\n", - duration_ms, interval_ts); + printf("We have advertised for %dms with an interval of %d timeslots\r\n", + duration_ms, interval_ts); - if (number_of_active_sets > 1) { - printf("We had %d active advertising sets\r\n", - number_of_active_sets); - } + if (number_of_active_sets > 1) { + printf("We had %d active advertising sets\r\n", number_of_active_sets); + } - /* non-scannable and non-connectable advertising - * skips rx events saving on power consumption */ - if (advertising_params[_set_index].adv_type - == ble::advertising_type_t::NON_CONNECTABLE_UNDIRECTED) { - printf("We created at least %d tx events\r\n", events); - } else { - printf("We created at least %d tx and rx events\r\n", events); - } + /* non-scannable and non-connectable advertising + * skips rx events saving on power consumption */ + if (advertising_params[_set_index].adv_type == ble::advertising_type_t::NON_CONNECTABLE_UNDIRECTED) { + printf("We created at least %d tx events\r\n", events); + } else { + printf("We created at least %d tx and rx events\r\n", events); } } From 1cac09c26c2af35a9d82bfb6f8a6f4aa254580ce Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 17:03:41 +0000 Subject: [PATCH 052/100] BLE_GAP: generalize array size computation. --- BLE_GAP/source/main.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 2359d511..11e2d69b 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -85,9 +85,12 @@ static const DemoScanParam_t scanning_params[] = { { ble::scan_interval_t(500), ble::scan_window_t(10), ble::scan_duration_t(0), false } }; -/* get number of items in our arrays */ -static const size_t SCAN_PARAM_SET_MAX = sizeof(scanning_params) / sizeof(DemoScanParam_t); -static const size_t ADV_PARAM_SET_MAX = sizeof(advertising_params) / sizeof(DemoAdvParams_t); +/* helper that gets the number of items in arrays */ +template +size_t size(const T (&)[N]) +{ + return N; +} /** Demonstrate advertising, scanning and connecting */ @@ -553,7 +556,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* switch between advertising and scanning when we go * through all the params in the array */ - if (_set_index >= (_is_in_scanning_mode? SCAN_PARAM_SET_MAX : ADV_PARAM_SET_MAX)) { + if (_set_index >= (_is_in_scanning_mode? size(scanning_params) : size(advertising_params))) { _set_index = 0; _is_in_scanning_mode = !_is_in_scanning_mode; } From 3a6854606c725c2a26549d7b6987b11cb3f1f2f2 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 17:07:47 +0000 Subject: [PATCH 053/100] BLE_GAP: use size helper where relevant. --- BLE_GAP/source/main.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 11e2d69b..5b2bb6a5 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -107,7 +107,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _on_duration_end_id(0), _scan_count(0), _blink_event(0) { - for (uint8_t i = 0; i < ADV_SET_NUMBER; ++i) { + for (uint8_t i = 0; i < size(_adv_handles); ++i) { _adv_handles[i] = ble::INVALID_ADVERTISING_HANDLE; } } @@ -217,8 +217,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* how many sets */ uint8_t max_adv_set = _ble.gap().getMaxAdvertisingSetNumber(); - if (max_adv_set > ADV_SET_NUMBER) { - max_adv_set = ADV_SET_NUMBER; + if (max_adv_set > size(_adv_handles)) { + max_adv_set = size(_adv_handles); } /* how much payload in a set */ @@ -581,7 +581,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle { print_advertising_performance(); /* go through all the created advertising sets to shut them down and remove them */ - for (uint8_t i = 0; i < ADV_SET_NUMBER; ++i) { + for (uint8_t i = 0; i < size(_adv_handles); ++i) { /* check if the set has been sucesfully created */ if (_adv_handles[i] != ble::INVALID_ADVERTISING_HANDLE) { /* if it's still active, stop it */ @@ -637,7 +637,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle uint16_t duration_ms = _demo_duration.read_ms(); uint8_t number_of_active_sets = 0; - for (uint8_t i = 0; i < ADV_SET_NUMBER; ++i) { + for (uint8_t i = 0; i < size(_adv_handles); ++i) { if (_adv_handles[i] != ble::INVALID_ADVERTISING_HANDLE) { if (_ble.gap().isAdvertisingActive(_adv_handles[i])) { number_of_active_sets++; From 6bb576a66173952928d290767af61c460e392ca6 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 17:13:10 +0000 Subject: [PATCH 054/100] BLE_GAP: Use types in namespace ble where relevant. --- BLE_GAP/source/main.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 5b2bb6a5..a7e9a269 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -156,7 +156,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle print_mac_address(); /* setup the default phy used in connection to 2M to reduce power consumption */ - Gap::PhySet_t phys(/* 1M */ false, /* 2M */ true, /* coded */ false); + ble::phy_set_t phys(/* 1M */ false, /* 2M */ true, /* coded */ false); ble_error_t error = _ble.gap().setPreferredPhys(&phys, &phys); if (error) { @@ -496,9 +496,9 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle */ virtual void onReadPhy( ble_error_t error, - Gap::Handle_t connectionHandle, - Gap::Phy_t txPhy, - Gap::Phy_t rxPhy + ble::connection_handle_t connectionHandle, + ble::phy_t txPhy, + ble::phy_t rxPhy ) { if (error) { printf( @@ -521,9 +521,9 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle */ virtual void onPhyUpdateComplete( ble_error_t error, - Gap::Handle_t connectionHandle, - Gap::Phy_t txPhy, - Gap::Phy_t rxPhy + ble::connection_handle_t connectionHandle, + ble::phy_t txPhy, + ble::phy_t rxPhy ) { if (error) { printf( @@ -556,7 +556,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* switch between advertising and scanning when we go * through all the params in the array */ - if (_set_index >= (_is_in_scanning_mode? size(scanning_params) : size(advertising_params))) { + if (_set_index >= (_is_in_scanning_mode ? size(scanning_params) : size(advertising_params))) { _set_index = 0; _is_in_scanning_mode = !_is_in_scanning_mode; } From 633c72779216f3112e00441d85b04a64eb573f31 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 17:14:38 +0000 Subject: [PATCH 055/100] BLE_GAP: Set default phy if the feature is supported. --- BLE_GAP/source/main.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index a7e9a269..b29200a1 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -156,11 +156,13 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle print_mac_address(); /* setup the default phy used in connection to 2M to reduce power consumption */ - ble::phy_set_t phys(/* 1M */ false, /* 2M */ true, /* coded */ false); + if (_ble.gap().isFeatureSupported(ble::controller_supported_features_t::LE_2M_PHY)) { + ble::phy_set_t phys(/* 1M */ false, /* 2M */ true, /* coded */ false); - ble_error_t error = _ble.gap().setPreferredPhys(&phys, &phys); - if (error) { - print_error(error, "GAP::setPreferedPhys failed"); + ble_error_t error = _ble.gap().setPreferredPhys(&phys, &phys); + if (error) { + print_error(error, "GAP::setPreferedPhys failed"); + } } /* all calls are serialised on the user thread through the event queue */ From e2efbaf2ee76e0f74ab3cffacb2787e848e9c736 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 17:19:10 +0000 Subject: [PATCH 056/100] BLE_GAP: remove stop scan before connect Fixed in the API itself. --- BLE_GAP/source/main.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index b29200a1..259d85e7 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -394,6 +394,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } + /* only look at events from devices at a close range */ if (event.getRssi() < -65) { return; } @@ -414,16 +415,9 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle printf("We found a connectable device\r\n"); - ble_error_t error = _ble.gap().stopScan(); - - if (error) { - print_error(error, "Error caused by Gap::stopScan"); - return; - } - ble::ConnectionParameters connection_params; - error = _ble.gap().connect( + ble_error_t error = _ble.gap().connect( event.getPeerAddressType(), event.getPeerAddress(), connection_params From abff0da8687e3efca5c9e7eaf3c95a507d30ec02 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 17:23:08 +0000 Subject: [PATCH 057/100] BLE_GAP: Reforctor branches in onAdvertisingReport. --- BLE_GAP/source/main.cpp | 52 +++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 259d85e7..4fd5a2a3 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -405,39 +405,41 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle while (adv_data.hasNext()) { ble::AdvertisingDataParser::element_t field = adv_data.next(); - /* connect to a discoverable device */ - if (field.type == ble::adv_data_type_t::FLAGS && - field.value.size() == 1 && - (field.value[0] & GapAdvertisingData::LE_GENERAL_DISCOVERABLE)) { + /* skip non discoverable device */ + if (field.type != ble::adv_data_type_t::FLAGS || + field.value.size() != 1 || + !(field.value[0] & GapAdvertisingData::LE_GENERAL_DISCOVERABLE)) { + continue; + } - /* abort timeout as the mode will end on disconnection */ - _event_queue.cancel(_on_duration_end_id); + /* connect to a discoverable device */ - printf("We found a connectable device\r\n"); + /* abort timeout as the mode will end on disconnection */ + _event_queue.cancel(_on_duration_end_id); - ble::ConnectionParameters connection_params; + printf("We found a connectable device\r\n"); - ble_error_t error = _ble.gap().connect( - event.getPeerAddressType(), - event.getPeerAddress(), - connection_params - ); + ble::ConnectionParameters connection_params; - if (error) { - print_error(error, "Error caused by Gap::connect"); - /* since no connection will be attempted end the mode */ - _event_queue.call(this, &GapDemo::end_demo_mode); - return; - } - - /* we may have already scan events waiting - * to be processed so we need to remember - * that we are already connecting and ignore them */ - _is_connecting = true; + ble_error_t error = _ble.gap().connect( + event.getPeerAddressType(), + event.getPeerAddress(), + connection_params + ); + if (error) { + print_error(error, "Error caused by Gap::connect"); + /* since no connection will be attempted end the mode */ + _event_queue.call(this, &GapDemo::end_demo_mode); return; - } + + /* we may have already scan events waiting + * to be processed so we need to remember + * that we are already connecting and ignore them */ + _is_connecting = true; + + return; } } From c21b5404bab8debbc75ba377c2c4462998dd5c56 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 17:26:45 +0000 Subject: [PATCH 058/100] BLE_GAP: rename variable. --- BLE_GAP/source/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 4fd5a2a3..765638fc 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -399,11 +399,11 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } - ble::AdvertisingDataParser adv_data(event.getAdvertisingData()); + ble::AdvertisingDataParser adv_parser(event.getAdvertisingData()); /* parse the advertising payload, looking for a discoverable device */ - while (adv_data.hasNext()) { - ble::AdvertisingDataParser::element_t field = adv_data.next(); + while (adv_parser.hasNext()) { + ble::AdvertisingDataParser::element_t field = adv_parser.next(); /* skip non discoverable device */ if (field.type != ble::adv_data_type_t::FLAGS || From a069200ea7b9442f69ab7670b8da5f5e11e9bdad Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 17:27:11 +0000 Subject: [PATCH 059/100] BLE_GAP: Use default connection params. --- BLE_GAP/source/main.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 765638fc..2990d8bf 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -418,13 +418,10 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _event_queue.cancel(_on_duration_end_id); printf("We found a connectable device\r\n"); - - ble::ConnectionParameters connection_params; - ble_error_t error = _ble.gap().connect( event.getPeerAddressType(), event.getPeerAddress(), - connection_params + ble::ConnectionParameters() // use the default connection parameters ); if (error) { From 486a322453902c247604568c0440fd1322311580 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 18:24:48 +0000 Subject: [PATCH 060/100] BLE_GAP: Use inline declaration for ble::ScanParameters --- BLE_GAP/source/main.cpp | 42 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 2990d8bf..e096a9a3 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -321,25 +321,23 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /** Set up and start scanning */ void scan() { - /* scanning happens repeatedly, interval is the number of milliseconds - * between each cycle of scanning */ - ble::scan_interval_t interval = scanning_params[_set_index].interval; - - /* number of milliseconds we scan for each time we enter - * the scanning cycle after the interval set above */ - ble::scan_window_t window = scanning_params[_set_index].window; - - /* how long to repeat the cycles of scanning in seconds */ - ble::scan_duration_t duration = scanning_params[_set_index].duration; - - /* active scanning will send a scan request to any scanable devices that - * we see advertising */ - bool active = scanning_params[_set_index].active; - - /* set the scanning parameters according to currently selected set */ - ble::ScanParameters params(ble::phy_t::LE_1M, interval, window, active); - - ble_error_t error = _ble.gap().setScanParameters(params); + const DemoScanParam_t &scan_params = scanning_params[_set_index]; + + /* + * Scanning happens repeatedly and is defined by: + * - The scan interval which is the time (in 0.625us) between each scan cycle. + * - The scan window which is the scanning time (in 0.625us) during a cycle. + * If the scanning process is active, the local device sends scan requests + * to discovered peer to get additional data. + */ + ble_error_t error = _ble.gap().setScanParameters( + ble::ScanParameters( + ble::phy_t::LE_1M, // scan on the 1M PHY + scan_params.interval, + scan_params.window, + scan_params.active + ) + ); if (error) { print_error(error, "Error caused by Gap::setScanParameters"); @@ -350,7 +348,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle * and scan requests responses */ error = _ble.gap().startScan( ble::duplicates_filter_t::DISABLE, - duration + scan_params.duration ); if (error) { @@ -358,8 +356,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } - printf("Scanning started (interval: %dms, window: %dms, timeout: %ds).\r\n", - interval.value(), window.value(), duration.value()); + printf("Scanning started (interval: %dms, window: %dms, timeout: %dms).\r\n", + scan_params.interval.valueInMs(), scan_params.window.valueInMs(), scan_params.duration.valueInMs()); } /** Finish the mode by shutting down advertising or scanning and move to the next mode. */ From d6e2fb9bdfd5fa515a762f8e7abc21f4f018c7ad Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 19:18:44 +0000 Subject: [PATCH 061/100] BLE_GAP: split legacy and extended advertising. --- BLE_GAP/source/main.cpp | 190 ++++++++++++++++++++++------------------ 1 file changed, 105 insertions(+), 85 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index e096a9a3..fc212778 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -49,11 +49,10 @@ static const uint8_t ADV_SET_NUMBER = 2; static const uint16_t MAX_ADVERTISING_PAYLOAD_SIZE = 1000; -static char DEVICE_NAME[] = "Advertiser x"; - typedef struct { - ble::advertising_type_t adv_type; - ble::adv_interval_t interval; + ble::advertising_type_t type; + ble::adv_interval_t min_interval; + ble::adv_interval_t max_interval; } DemoAdvParams_t; typedef struct { @@ -66,10 +65,10 @@ typedef struct { /** the entries in this array are used to configure our advertising * parameters for each of the modes we use in our demo */ static const DemoAdvParams_t advertising_params[] = { - /* advertising type interval */ - { ble::advertising_type_t::CONNECTABLE_UNDIRECTED, ble::adv_interval_t(40) }, - { ble::advertising_type_t::SCANNABLE_UNDIRECTED, ble::adv_interval_t(100) }, - { ble::advertising_type_t::NON_CONNECTABLE_UNDIRECTED, ble::adv_interval_t(100) } +/* advertising type | min interval - 0.625us | max interval - 0.625us */ + { ble::advertising_type_t::CONNECTABLE_UNDIRECTED, ble::adv_interval_t(40), ble::adv_interval_t(80) }, + { ble::advertising_type_t::SCANNABLE_UNDIRECTED, ble::adv_interval_t(100), ble::adv_interval_t(200) }, + { ble::advertising_type_t::NON_CONNECTABLE_UNDIRECTED, ble::adv_interval_t(100), ble::adv_interval_t(200) } }; /* when we cycle through all our advertising modes we will move to scanning modes */ @@ -196,81 +195,102 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /** Set up and start advertising */ void advertise() { - ble_error_t error; - - /* set the advertising parameters according to currently selected set, - * see @AdvertisingType_t for explanation of modes */ - ble::advertising_type_t adv_type = advertising_params[_set_index].adv_type; - - /* interval between advertisements, lower interval increases the chances - * of being seen at the cost of more power */ - ble::adv_interval_t interval = advertising_params[_set_index].interval; + const DemoAdvParams_t &adv_params = advertising_params[_set_index]; - /* create advertising paramters based on these */ - ble::AdvertisingParameters adv_parameters( - adv_type, - interval, - interval + /* + * Advertising parameters are mainly defined by an advertising type and + * and an interval between advertisements. lower interval increases the + * chances of being seen at the cost of more power. + * The Bluetooth controller may run concurrent operations with the radio; + * to help it, a minimum and maximum advertising interval should be + * provided. + * + * With Bluetooth 5; it is possible to advertise concurrently multiple + * payloads at different rate. The combination of payload and its associated + * parameters is named an advertising set. To refer to these advertising + * sets the Bluetooth system use an advertising set handle that needs to + * be created first. + * The only exception is the legacy advertising handle which is usable + * on Bluetooth 4 and Bluetooth 5 system. It is created at startup and + * its lifecycle is managed by the system. + */ + ble_error_t error = _ble.gap().setAdvertisingParameters( + ble::LEGACY_ADVERTISING_HANDLE, + ble::AdvertisingParameters( + adv_params.type, + adv_params.min_interval, + adv_params.max_interval + ) ); + if (error) { + print_error(error, "Gap::setAdvertisingParameters() failed"); + return; + } - /* this is the memory backing for the payload */ - uint8_t adv_buffer[MAX_ADVERTISING_PAYLOAD_SIZE]; - - /* how many sets */ - uint8_t max_adv_set = _ble.gap().getMaxAdvertisingSetNumber(); + /* Set payload for the set */ + error = _ble.gap().setAdvertisingPayload( + ble::LEGACY_ADVERTISING_HANDLE, + ble::AdvertisingDataSimpleBuilder() + .setFlags() + .setName("Legacy advertiser") + .getAdvertisingData() + ); + if (error) { + print_error(error, "Gap::setAdvertisingPayload() failed"); + return; + } - if (max_adv_set > size(_adv_handles)) { - max_adv_set = size(_adv_handles); + /* Start advertising the set */ + error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + if (error) { + print_error(error, "Gap::startAdvertising() failed"); + return; } - /* how much payload in a set */ - uint8_t max_adv_size = _ble.gap().getMaxAdvertisingDataLength(); + printf("Advertising started (type: 0x%x, interval: [%d : %d]ms)\r\n", + adv_params.type.value(), + adv_params.min_interval.valueInMs(), adv_params.max_interval.valueInMs() ); - if (max_adv_size > MAX_ADVERTISING_PAYLOAD_SIZE) { - max_adv_size = MAX_ADVERTISING_PAYLOAD_SIZE; + if (_ble.gap().isFeatureSupported(ble::controller_supported_features_t::LE_EXTENDED_ADVERTISING)) { + advertise_extended(); } + } - /* create and start all requested (and possible) advertising sets */ - for (uint8_t i = 0; i < max_adv_set; ++i) { - - /* If controller is capable of only one advertising set then only - * legacy advertising can be used. Legacy advertising set is created - * at startup. Calling createAdvertisingSet() would fail as there - * aren't any free sets left. */ - if (max_adv_set == 1) { - - /* only one set will be used - the legacy set which doesn't require creating */ - _adv_handles[i] = ble::LEGACY_ADVERTISING_HANDLE; - - /* since the legacy set has been created at startup with default parameters - * we have to apply our new parameters now */ - error = _ble.gap().setAdvertisingParameters( - _adv_handles[i], - adv_parameters - ); - - if (error) { - print_error(error, "Gap::setAdvertisingParameters() failed"); - return; - } + void advertise_extended() + { + const DemoAdvParams_t &adv_params = advertising_params[_set_index]; - /* limit the size to what legacy advertising can handle */ - max_adv_size = ble::LEGACY_ADVERTISING_MAX_SIZE; + /* this is the memory backing for the payload */ + uint8_t adv_buffer[MAX_ADVERTISING_PAYLOAD_SIZE]; - } else { - /* we can use larger PDUs */ - adv_parameters.setUseLegacyPDU(false); + /* how many sets */ + uint8_t max_adv_set = std::min( + _ble.gap().getMaxAdvertisingSetNumber(), + (uint8_t) size(_adv_handles) + ); - /* we can have multiple sets - create a new advertising set with our parameters */ - error = _ble.gap().createAdvertisingSet( - &_adv_handles[i], - adv_parameters - ); + /* how much payload in a set */ + uint16_t max_adv_size = std::min( + (uint16_t) _ble.gap().getMaxAdvertisingDataLength(), + MAX_ADVERTISING_PAYLOAD_SIZE + ); - if (error) { - print_error(error, "Gap::createAdvertisingSet() failed"); - return; - } + /* create and start all requested (and possible) advertising sets */ + /* Note: one advertising is reserved for legacy advertising (max_adv_set - 1) */ + for (uint8_t i = 0; i < (max_adv_set - 1); ++i) { + /* create the advertising set with its parameter */ + /* this time we do not use legacy PDUs */ + ble_error_t error = _ble.gap().createAdvertisingSet( + &_adv_handles[i], + ble::AdvertisingParameters( + adv_params.type, + adv_params.min_interval, + adv_params.max_interval + ).setUseLegacyPDU(false) + ); + if (error) { + print_error(error, "Gap::createAdvertisingSet() failed"); + return; } /* use the helper to build the payload */ @@ -279,14 +299,18 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle max_adv_size ); - adv_data_builder.setFlags(); - + /* set the flags */ + error = adv_data_builder.setFlags(); + if (error) { + print_error(error, "AdvertisingDataBuilder::setFlags() failed"); + return; + } /* set different name for each set */ MBED_ASSERT(i < 9); - sprintf(DEVICE_NAME, "Advertiser %d", i%10); - error = adv_data_builder.setName(DEVICE_NAME); - + char device_name[] = "Advertiser x"; + sprintf(device_name, "Advertiser %d", i%10); + error = adv_data_builder.setName(device_name); if (error) { print_error(error, "AdvertisingDataBuilder::setName() failed"); return; @@ -297,7 +321,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _adv_handles[i], adv_data_builder.getAdvertisingData() ); - if (error) { print_error(error, "Gap::setAdvertisingPayload() failed"); return; @@ -306,15 +329,15 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* Start advertising the set */ error = _ble.gap().startAdvertising( _adv_handles[i] - ); - + ); if (error) { print_error(error, "Gap::startAdvertising() failed"); return; } - printf("Advertising started (type: 0x%x, interval: %dms)\r\n", - adv_type.value(), interval.valueInMs() ); + printf("Advertising started (type: 0x%x, interval: [%d : %d]ms)\r\n", + adv_params.type.value(), + adv_params.min_interval.valueInMs(), adv_params.max_interval.valueInMs() ); } } @@ -338,7 +361,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle scan_params.active ) ); - if (error) { print_error(error, "Error caused by Gap::setScanParameters"); return; @@ -350,7 +372,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ble::duplicates_filter_t::DISABLE, scan_params.duration ); - if (error) { print_error(error, "Error caused by Gap::startScan"); return; @@ -421,7 +442,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle event.getPeerAddress(), ble::ConnectionParameters() // use the default connection parameters ); - if (error) { print_error(error, "Error caused by Gap::connect"); /* since no connection will be attempted end the mode */ @@ -641,7 +661,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* convert ms into timeslots for accurate calculation as internally * all durations are in timeslots (0.625ms) */ uint16_t duration_ts = ble::adv_interval_t(ble::millisecond_t(duration_ms)).value(); - uint16_t interval_ts = advertising_params[_set_index].interval.value(); + uint16_t interval_ts = advertising_params[_set_index].min_interval.value(); /* this is how many times we advertised */ uint16_t events = (duration_ts / interval_ts) * number_of_active_sets; @@ -654,7 +674,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* non-scannable and non-connectable advertising * skips rx events saving on power consumption */ - if (advertising_params[_set_index].adv_type == ble::advertising_type_t::NON_CONNECTABLE_UNDIRECTED) { + if (advertising_params[_set_index].type == ble::advertising_type_t::NON_CONNECTABLE_UNDIRECTED) { printf("We created at least %d tx events\r\n", events); } else { printf("We created at least %d tx and rx events\r\n", events); From 5f6ce5d19ece0604683d2a6b9d733d079b85de75 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 20:57:10 +0000 Subject: [PATCH 062/100] BLE_GAP: Add helper to test features. --- BLE_GAP/source/main.cpp | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index fc212778..fc6188a0 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -130,7 +130,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _ble.gap().setEventHandler(this); ble_error_t error = _ble.init(this, &GapDemo::on_init_complete); - if (error) { print_error(error, "Error returned by BLE::init"); return; @@ -155,10 +154,10 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle print_mac_address(); /* setup the default phy used in connection to 2M to reduce power consumption */ - if (_ble.gap().isFeatureSupported(ble::controller_supported_features_t::LE_2M_PHY)) { + if (is_2m_phy_supported()) { ble::phy_set_t phys(/* 1M */ false, /* 2M */ true, /* coded */ false); - ble_error_t error = _ble.gap().setPreferredPhys(&phys, &phys); + ble_error_t error = _ble.gap().setPreferredPhys(/* tx */&phys, /* rx */&phys); if (error) { print_error(error, "GAP::setPreferedPhys failed"); } @@ -251,7 +250,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle adv_params.type.value(), adv_params.min_interval.valueInMs(), adv_params.max_interval.valueInMs() ); - if (_ble.gap().isFeatureSupported(ble::controller_supported_features_t::LE_EXTENDED_ADVERTISING)) { + if (is_extended_advertising_supported()) { advertise_extended(); } } @@ -394,11 +393,24 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _event_queue.call(this, &GapDemo::next_demo_mode); } - void do_disconnect(ble::connection_handle_t handle) { + /** Execute the disconnection */ + void do_disconnect(ble::connection_handle_t handle) + { printf("Disconnecting\r\n"); _ble.gap().disconnect(handle, ble::local_disconnection_reason_t::USER_TERMINATION); } + bool is_2m_phy_supported() + { + return _ble.gap().isFeatureSupported(ble::controller_supported_features_t::LE_2M_PHY); + } + + bool is_extended_advertising_supported() + { + return _ble.gap().isFeatureSupported(ble::controller_supported_features_t::LE_EXTENDED_ADVERTISING); + } + + private: /* Gap::EventHandler */ From a5531f6dcfe64d1eb2886b97ef1fc8799d5678b0 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 21:12:22 +0000 Subject: [PATCH 063/100] BLE_GAP: split end_advertising into legacy and extended part. --- BLE_GAP/source/main.cpp | 51 +++++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index fc6188a0..288e68fb 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -227,6 +227,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } /* Set payload for the set */ + /* Use the simple builder to construct the payload; it fails at runtime error = _ble.gap().setAdvertisingPayload( ble::LEGACY_ADVERTISING_HANDLE, ble::AdvertisingDataSimpleBuilder() @@ -509,7 +510,8 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /** This is called by Gap to notify the application we disconnected, * in our case it calls next_demo_mode() to progress the demo */ - virtual void onDisconnectionComplete(const ble::DisconnectionEvent &event) { + virtual void onDisconnectionComplete(const ble::DisconnectionEvent &event) + { printf("Disconnected\r\n"); /* we have successfully disconnected ending the demo, move to next mode */ @@ -605,30 +607,39 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle void end_advertising_mode() { print_advertising_performance(); - /* go through all the created advertising sets to shut them down and remove them */ + + _ble.gap().stopAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + + if (is_extended_advertising_supported()) { + end_extended_advertising(); + } + } + + void end_extended_advertising() + { + /* iterate over the advertising handles */ for (uint8_t i = 0; i < size(_adv_handles); ++i) { /* check if the set has been sucesfully created */ - if (_adv_handles[i] != ble::INVALID_ADVERTISING_HANDLE) { - /* if it's still active, stop it */ - if (_ble.gap().isAdvertisingActive(_adv_handles[i])) { - ble_error_t error = _ble.gap().stopAdvertising(_adv_handles[i]); + if (_adv_handles[i] == ble::INVALID_ADVERTISING_HANDLE) { + continue; + } - if (error) { - print_error(error, "Error caused by Gap::stopAdvertising"); - return; - } - } - /* you cannot destroy or create the legacy advertising set, - * it's always available, others may be removed when no longer needed */ - if (_adv_handles[i] != ble::LEGACY_ADVERTISING_HANDLE) { - ble_error_t error = _ble.gap().destroyAdvertisingSet(_adv_handles[i]); - - if (error) { - print_error(error, "Error caused by Gap::destroyAdvertisingSet"); - return; - } + /* if it's still active, stop it */ + if (_ble.gap().isAdvertisingActive(_adv_handles[i])) { + ble_error_t error = _ble.gap().stopAdvertising(_adv_handles[i]); + if (error) { + print_error(error, "Error caused by Gap::stopAdvertising"); + continue; } } + + ble_error_t error = _ble.gap().destroyAdvertisingSet(_adv_handles[i]); + if (error) { + print_error(error, "Error caused by Gap::destroyAdvertisingSet"); + continue; + } + + _adv_handles[i] = ble::INVALID_ADVERTISING_HANDLE; } } From f847b994339b871aa633e69b38a32e2edde3cfb2 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 21:12:55 +0000 Subject: [PATCH 064/100] BLE_GAP: Improve formating --- BLE_GAP/source/main.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 288e68fb..38e46afc 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -228,6 +228,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* Set payload for the set */ /* Use the simple builder to construct the payload; it fails at runtime + * if there is not enough space left in the buffer */ error = _ble.gap().setAdvertisingPayload( ble::LEGACY_ADVERTISING_HANDLE, ble::AdvertisingDataSimpleBuilder() @@ -276,7 +277,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle ); /* create and start all requested (and possible) advertising sets */ - /* Note: one advertising is reserved for legacy advertising (max_adv_set - 1) */ for (uint8_t i = 0; i < (max_adv_set - 1); ++i) { /* create the advertising set with its parameter */ /* this time we do not use legacy PDUs */ @@ -327,9 +327,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } /* Start advertising the set */ - error = _ble.gap().startAdvertising( - _adv_handles[i] - ); + error = _ble.gap().startAdvertising(_adv_handles[i]); if (error) { print_error(error, "Gap::startAdvertising() failed"); return; @@ -466,7 +464,6 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle * to be processed so we need to remember * that we are already connecting and ignore them */ _is_connecting = true; - return; } } From 9081ac8e9e34f41e45042e5c9d0d59dca0b86551 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 21:13:12 +0000 Subject: [PATCH 065/100] BLE_GAP: Improve security. --- BLE_GAP/source/main.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 38e46afc..ea0807e6 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -270,6 +270,11 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle (uint8_t) size(_adv_handles) ); + /* one advertising set is reserved for legacy advertising */ + if (max_adv_set < 2) { + return; + } + /* how much payload in a set */ uint16_t max_adv_size = std::min( (uint16_t) _ble.gap().getMaxAdvertisingDataLength(), @@ -309,7 +314,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* set different name for each set */ MBED_ASSERT(i < 9); char device_name[] = "Advertiser x"; - sprintf(device_name, "Advertiser %d", i%10); + snprintf(device_name, size(device_name), "Advertiser %d", i%10); error = adv_data_builder.setName(device_name); if (error) { print_error(error, "AdvertisingDataBuilder::setName() failed"); From 4ce065afec494bb72880bef83e20c946632a8c1e Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 21:14:54 +0000 Subject: [PATCH 066/100] BLE_GAP: Add direct accessor to ble::Gap. --- BLE_GAP/source/main.cpp | 46 +++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index ea0807e6..72ffa261 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -98,6 +98,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle public: GapDemo(BLE& ble, events::EventQueue& event_queue) : _ble(ble), + _gap(ble.gap()), _event_queue(event_queue), _led1(LED1, 0), _set_index(0), @@ -127,7 +128,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } /* handle gap events */ - _ble.gap().setEventHandler(this); + _gap.setEventHandler(this); ble_error_t error = _ble.init(this, &GapDemo::on_init_complete); if (error) { @@ -157,7 +158,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle if (is_2m_phy_supported()) { ble::phy_set_t phys(/* 1M */ false, /* 2M */ true, /* coded */ false); - ble_error_t error = _ble.gap().setPreferredPhys(/* tx */&phys, /* rx */&phys); + ble_error_t error = _gap.setPreferredPhys(/* tx */&phys, /* rx */&phys); if (error) { print_error(error, "GAP::setPreferedPhys failed"); } @@ -213,7 +214,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle * on Bluetooth 4 and Bluetooth 5 system. It is created at startup and * its lifecycle is managed by the system. */ - ble_error_t error = _ble.gap().setAdvertisingParameters( + ble_error_t error = _gap.setAdvertisingParameters( ble::LEGACY_ADVERTISING_HANDLE, ble::AdvertisingParameters( adv_params.type, @@ -229,7 +230,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* Set payload for the set */ /* Use the simple builder to construct the payload; it fails at runtime * if there is not enough space left in the buffer */ - error = _ble.gap().setAdvertisingPayload( + error = _gap.setAdvertisingPayload( ble::LEGACY_ADVERTISING_HANDLE, ble::AdvertisingDataSimpleBuilder() .setFlags() @@ -242,7 +243,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } /* Start advertising the set */ - error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + error = _gap.startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); if (error) { print_error(error, "Gap::startAdvertising() failed"); return; @@ -266,7 +267,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* how many sets */ uint8_t max_adv_set = std::min( - _ble.gap().getMaxAdvertisingSetNumber(), + _gap.getMaxAdvertisingSetNumber(), (uint8_t) size(_adv_handles) ); @@ -277,7 +278,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* how much payload in a set */ uint16_t max_adv_size = std::min( - (uint16_t) _ble.gap().getMaxAdvertisingDataLength(), + (uint16_t) _gap.getMaxAdvertisingDataLength(), MAX_ADVERTISING_PAYLOAD_SIZE ); @@ -285,7 +286,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle for (uint8_t i = 0; i < (max_adv_set - 1); ++i) { /* create the advertising set with its parameter */ /* this time we do not use legacy PDUs */ - ble_error_t error = _ble.gap().createAdvertisingSet( + ble_error_t error = _gap.createAdvertisingSet( &_adv_handles[i], ble::AdvertisingParameters( adv_params.type, @@ -322,7 +323,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } /* Set payload for the set */ - error = _ble.gap().setAdvertisingPayload( + error = _gap.setAdvertisingPayload( _adv_handles[i], adv_data_builder.getAdvertisingData() ); @@ -332,7 +333,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } /* Start advertising the set */ - error = _ble.gap().startAdvertising(_adv_handles[i]); + error = _gap.startAdvertising(_adv_handles[i]); if (error) { print_error(error, "Gap::startAdvertising() failed"); return; @@ -356,7 +357,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle * If the scanning process is active, the local device sends scan requests * to discovered peer to get additional data. */ - ble_error_t error = _ble.gap().setScanParameters( + ble_error_t error = _gap.setScanParameters( ble::ScanParameters( ble::phy_t::LE_1M, // scan on the 1M PHY scan_params.interval, @@ -371,7 +372,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* start scanning and attach a callback that will handle advertisements * and scan requests responses */ - error = _ble.gap().startScan( + error = _gap.startScan( ble::duplicates_filter_t::DISABLE, scan_params.duration ); @@ -401,17 +402,17 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle void do_disconnect(ble::connection_handle_t handle) { printf("Disconnecting\r\n"); - _ble.gap().disconnect(handle, ble::local_disconnection_reason_t::USER_TERMINATION); + _gap.disconnect(handle, ble::local_disconnection_reason_t::USER_TERMINATION); } bool is_2m_phy_supported() { - return _ble.gap().isFeatureSupported(ble::controller_supported_features_t::LE_2M_PHY); + return _gap.isFeatureSupported(ble::controller_supported_features_t::LE_2M_PHY); } bool is_extended_advertising_supported() { - return _ble.gap().isFeatureSupported(ble::controller_supported_features_t::LE_EXTENDED_ADVERTISING); + return _gap.isFeatureSupported(ble::controller_supported_features_t::LE_EXTENDED_ADVERTISING); } @@ -453,7 +454,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle _event_queue.cancel(_on_duration_end_id); printf("We found a connectable device\r\n"); - ble_error_t error = _ble.gap().connect( + ble_error_t error = _gap.connect( event.getPeerAddressType(), event.getPeerAddress(), ble::ConnectionParameters() // use the default connection parameters @@ -599,7 +600,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle void end_scanning_mode() { print_scanning_performance(); - ble_error_t error = _ble.gap().stopScan(); + ble_error_t error = _gap.stopScan(); if (error) { print_error(error, "Error caused by Gap::stopScan"); @@ -610,7 +611,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle { print_advertising_performance(); - _ble.gap().stopAdvertising(ble::LEGACY_ADVERTISING_HANDLE); + _gap.stopAdvertising(ble::LEGACY_ADVERTISING_HANDLE); if (is_extended_advertising_supported()) { end_extended_advertising(); @@ -627,15 +628,15 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle } /* if it's still active, stop it */ - if (_ble.gap().isAdvertisingActive(_adv_handles[i])) { - ble_error_t error = _ble.gap().stopAdvertising(_adv_handles[i]); + if (_gap.isAdvertisingActive(_adv_handles[i])) { + ble_error_t error = _gap.stopAdvertising(_adv_handles[i]); if (error) { print_error(error, "Error caused by Gap::stopAdvertising"); continue; } } - ble_error_t error = _ble.gap().destroyAdvertisingSet(_adv_handles[i]); + ble_error_t error = _gap.destroyAdvertisingSet(_adv_handles[i]); if (error) { print_error(error, "Error caused by Gap::destroyAdvertisingSet"); continue; @@ -677,7 +678,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle for (uint8_t i = 0; i < size(_adv_handles); ++i) { if (_adv_handles[i] != ble::INVALID_ADVERTISING_HANDLE) { - if (_ble.gap().isAdvertisingActive(_adv_handles[i])) { + if (_gap.isAdvertisingActive(_adv_handles[i])) { number_of_active_sets++; } } @@ -714,6 +715,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle private: BLE &_ble; + ble::Gap &_gap; events::EventQueue &_event_queue; DigitalOut _led1; From c6285eec3e990492dff4b0d046b20cab3e8c9200 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Thu, 29 Nov 2018 21:20:08 +0000 Subject: [PATCH 067/100] BLE_GAP: Fix message in print_scanning_performances. --- BLE_GAP/source/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index 72ffa261..f4d2f121 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -687,11 +687,11 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* convert ms into timeslots for accurate calculation as internally * all durations are in timeslots (0.625ms) */ uint16_t duration_ts = ble::adv_interval_t(ble::millisecond_t(duration_ms)).value(); - uint16_t interval_ts = advertising_params[_set_index].min_interval.value(); + uint16_t interval_ts = advertising_params[_set_index].max_interval.value(); /* this is how many times we advertised */ uint16_t events = (duration_ts / interval_ts) * number_of_active_sets; - printf("We have advertised for %dms with an interval of %d timeslots\r\n", + printf("We have advertised for %dms with an interval of at least %d timeslots\r\n", duration_ms, interval_ts); if (number_of_active_sets > 1) { From 3ebd77270c50744beacf6dc47aa2e3c5dad2780a Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Fri, 30 Nov 2018 09:12:03 +0000 Subject: [PATCH 068/100] calrify support for nrf51 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1aba435f..63432c62 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ In order to use BLE in mbed OS you need one of the following hardware combinatio This target is currently not supported as the examples use Cordio link layer which doesn't have an implementation for it yet: * A Nordic nRF51-based board such as [nrf51dk](https://www.nordicsemi.com/eng/Products/nRF51-DK) or [mkit](https://www.nordicsemi.com/eng/Products/Bluetooth-R-low-energy/nRF51822-mKIT). -You may still use the depracated examples for this target. The deprecated examples are located in the "deprecated" folder in each of the examples. +You may still use the deprecated examples for this target. The deprecated examples are located in the "deprecated" folder in each of the examples. The [BLE documentation](https://os.mbed.com/docs/latest/reference/bluetooth.html) describes the BLE APIs on mbed OS. @@ -42,7 +42,7 @@ The following targets have been tested and work with these examples: **Important:** if an ST shield is used with the K64F board, an hardware is patch required. Check out https://developer.mbed.org/teams/ST/code/X_NUCLEO_IDB0XA1/ for more information. -The following board is no longer supported: +The following board is currently not supported as it doesn't yet support the Cordio: * NRF51_DK ### Using ST Nucleo shield on other targets From f9c6d80521a1e3a4c65def1c0366bd1cee030d85 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Fri, 30 Nov 2018 09:12:55 +0000 Subject: [PATCH 069/100] typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 63432c62..abfd0338 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ The following targets have been tested and work with these examples: **Important:** if an ST shield is used with the K64F board, an hardware is patch required. Check out https://developer.mbed.org/teams/ST/code/X_NUCLEO_IDB0XA1/ for more information. -The following board is currently not supported as it doesn't yet support the Cordio: +The following board is currently not supported as it doesn't yet support the Cordio stack: * NRF51_DK ### Using ST Nucleo shield on other targets From d469b138800544e89e3d358d7cba49b0b415f372 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Fri, 30 Nov 2018 13:21:51 +0000 Subject: [PATCH 070/100] move deprecated outside the examples update readme with the new location of deprecated examples --- .gitignore | 1 - BLE_GAP/deprecated/BLE_GAP/mbed_config.h | 237 ------------------ README.md | 2 +- .../BLE_BatteryLevel/.mbed | 0 .../BLE_BatteryLevel/img/connection.png | Bin .../BLE_BatteryLevel/img/discovery.png | Bin .../BLE_BatteryLevel/img/notifications.png | Bin .../img/register_to_notifications.png | Bin .../BLE_BatteryLevel/img/scan_result.png | Bin .../BLE_BatteryLevel/img/start_scan.png | Bin .../BLE_BatteryLevel/mbed-os.lib | 0 .../BLE_BatteryLevel/mbed_app.json | 0 .../BLE_BatteryLevel/module.json | 0 .../BLE_BatteryLevel/readme.md | 0 .../shields/TARGET_CORDIO_BLUENRG.lib | 0 .../BLE_BatteryLevel/source/main.cpp | 0 .../BLE_Beacon/.mbed | 0 .../BLE_Beacon/img/beacon_details.png | Bin .../BLE_Beacon/img/discovery.png | Bin .../BLE_Beacon/img/start_scan.png | Bin .../BLE_Beacon/mbed-os.lib | 0 .../BLE_Beacon/mbed_app.json | 0 .../BLE_Beacon/module.json | 0 .../BLE_Beacon/readme.md | 0 .../BLE_Beacon/shields/TARGET_ST_BLUENRG.lib | 0 .../BLE_Beacon/source/main.cpp | 0 .../BLE_Button/.mbed | 0 .../BLE_Button/img/button_depressed.png | Bin .../BLE_Button/img/button_pressed.png | Bin .../BLE_Button/img/connection.png | Bin .../BLE_Button/img/discovery.png | Bin .../img/register_to_notifications.png | Bin .../BLE_Button/img/scan_results.png | Bin .../BLE_Button/img/start_scan.png | Bin .../BLE_Button/mbed-os.lib | 0 .../BLE_Button/mbed_app.json | 0 .../BLE_Button/module.json | 0 .../BLE_Button/readme.md | 0 .../shields/TARGET_CORDIO_BLUENRG.lib | 0 .../BLE_Button/source/ButtonService.h | 0 .../BLE_Button/source/main.cpp | 0 .../deprecated => deprecated}/BLE_GAP/.mbed | 0 .../BLE_GAP/README.md | 0 .../BLE_GAP/mbed-os.lib | 0 .../BLE_GAP/mbed_app.json | 0 .../BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib | 0 .../BLE_GAP/source/main.cpp | 0 .../BLE_GAPButton/.mbed | 0 .../BLE_GAPButton/README.md | 0 .../BLE_GAPButton/img/discovery.png | Bin .../BLE_GAPButton/img/first_press.png | Bin .../BLE_GAPButton/img/initial_state.png | Bin .../BLE_GAPButton/img/result.png | Bin .../BLE_GAPButton/img/start_scan.png | Bin .../BLE_GAPButton/mbed-os.lib | 0 .../BLE_GAPButton/mbed_app.json | 0 .../BLE_GAPButton/module.json | 0 .../shields/TARGET_CORDIO_BLUENRG.lib | 0 .../BLE_GAPButton/source/main.cpp | 0 .../BLE_GattClient/.mbed | 0 .../BLE_GattClient/BLEProcess.h | 0 .../BLE_GattClient/README.md | 0 .../BLE_GattClient/main.cpp | 0 .../BLE_GattClient/mbed-os.lib | 0 .../BLE_GattClient/mbed_app.json | 0 .../shields/TARGET_CORDIO_BLUENRG.lib | 0 .../BLE_GattServer/.mbed | 0 .../BLE_GattServer/BLEProcess.h | 0 .../BLE_GattServer/main.cpp | 0 .../BLE_GattServer/mbed-os.lib | 0 .../BLE_GattServer/mbed_app.json | 0 .../shields/TARGET_CORDIO_BLUENRG.lib | 0 .../BLE_HeartRate/.mbed | 0 .../BLE_HeartRate/img/connection.png | Bin .../BLE_HeartRate/img/discovery.png | Bin .../BLE_HeartRate/img/notifications.png | Bin .../img/register_to_notifications.png | Bin .../BLE_HeartRate/img/scan_result.png | Bin .../BLE_HeartRate/img/start_scan.png | Bin .../BLE_HeartRate/mbed-os.lib | 0 .../BLE_HeartRate/mbed_app.json | 0 .../BLE_HeartRate/module.json | 0 .../BLE_HeartRate/readme.md | 0 .../shields/TARGET_CORDIO_BLUENRG.lib | 0 .../BLE_HeartRate/source/main.cpp | 0 .../deprecated => deprecated}/BLE_LED/.mbed | 0 .../BLE_LED/img/LED_OFF.png | Bin .../BLE_LED/img/LED_ON.png | Bin .../BLE_LED/img/connection.png | Bin .../BLE_LED/img/discovery.png | Bin .../BLE_LED/img/scan_results.png | Bin .../BLE_LED/img/start_scan.png | Bin .../BLE_LED/img/write_characteristic.png | Bin .../BLE_LED/img/write_pannel.png | Bin .../BLE_LED/mbed-os.lib | 0 .../BLE_LED/mbed_app.json | 0 .../BLE_LED/module.json | 0 .../BLE_LED/readme.md | 0 .../BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib | 0 .../BLE_LED/source/LEDService.h | 0 .../BLE_LED/source/main.cpp | 0 .../BLE_LEDBlinker/.mbed | 0 .../BLE_LEDBlinker/mbed-os.lib | 0 .../BLE_LEDBlinker/mbed_app.json | 0 .../BLE_LEDBlinker/module.json | 0 .../BLE_LEDBlinker/readme.md | 0 .../shields/TARGET_CORDIO_BLUENRG.lib | 0 .../BLE_LEDBlinker/source/main.cpp | 0 .../BLE_Privacy/.mbed | 0 .../BLE_Privacy/README.md | 0 .../BLE_Privacy/mbed-os.lib | 0 .../BLE_Privacy/mbed_app.json | 0 .../shields/TARGET_CORDIO_BLUENRG.lib | 0 .../BLE_Privacy/source/main.cpp | 0 .../deprecated => deprecated}/BLE_SM/.mbed | 0 .../BLE_SM/README.md | 0 .../BLE_SM/mbed-os.lib | 0 .../BLE_SM/mbed_app.json | 0 .../BLE_SM/module.json | 0 .../BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib | 0 .../BLE_SM/source/main.cpp | 0 .../BLE_Thermometer/.mbed | 0 .../BLE_Thermometer/img/connection.png | Bin .../BLE_Thermometer/img/discovery.png | Bin .../BLE_Thermometer/img/notifications.png | Bin .../img/register_to_notifications.png | Bin .../BLE_Thermometer/img/scan_results.png | Bin .../BLE_Thermometer/img/start_scan.png | Bin .../BLE_Thermometer/mbed-os.lib | 0 .../BLE_Thermometer/mbed_app.json | 0 .../BLE_Thermometer/module.json | 0 .../BLE_Thermometer/readme.md | 0 .../shields/TARGET_CORDIO_BLUENRG.lib | 0 .../BLE_Thermometer/source/main.cpp | 0 134 files changed, 1 insertion(+), 239 deletions(-) delete mode 100644 BLE_GAP/deprecated/BLE_GAP/mbed_config.h rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/.mbed (100%) rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/img/connection.png (100%) rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/img/discovery.png (100%) rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/img/notifications.png (100%) rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/img/register_to_notifications.png (100%) rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/img/scan_result.png (100%) rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/img/start_scan.png (100%) rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/mbed-os.lib (100%) rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/mbed_app.json (100%) rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/module.json (100%) rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/readme.md (100%) rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib (100%) rename {BLE_BatteryLevel/deprecated => deprecated}/BLE_BatteryLevel/source/main.cpp (100%) rename {BLE_Beacon/deprecated => deprecated}/BLE_Beacon/.mbed (100%) rename {BLE_Beacon/deprecated => deprecated}/BLE_Beacon/img/beacon_details.png (100%) rename {BLE_Beacon/deprecated => deprecated}/BLE_Beacon/img/discovery.png (100%) rename {BLE_Beacon/deprecated => deprecated}/BLE_Beacon/img/start_scan.png (100%) rename {BLE_Beacon/deprecated => deprecated}/BLE_Beacon/mbed-os.lib (100%) rename {BLE_Beacon/deprecated => deprecated}/BLE_Beacon/mbed_app.json (100%) rename {BLE_Beacon/deprecated => deprecated}/BLE_Beacon/module.json (100%) rename {BLE_Beacon/deprecated => deprecated}/BLE_Beacon/readme.md (100%) rename {BLE_Beacon/deprecated => deprecated}/BLE_Beacon/shields/TARGET_ST_BLUENRG.lib (100%) rename {BLE_Beacon/deprecated => deprecated}/BLE_Beacon/source/main.cpp (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/.mbed (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/img/button_depressed.png (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/img/button_pressed.png (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/img/connection.png (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/img/discovery.png (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/img/register_to_notifications.png (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/img/scan_results.png (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/img/start_scan.png (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/mbed-os.lib (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/mbed_app.json (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/module.json (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/readme.md (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/source/ButtonService.h (100%) rename {BLE_Button/deprecated => deprecated}/BLE_Button/source/main.cpp (100%) rename {BLE_GAP/deprecated => deprecated}/BLE_GAP/.mbed (100%) rename {BLE_GAP/deprecated => deprecated}/BLE_GAP/README.md (100%) rename {BLE_GAP/deprecated => deprecated}/BLE_GAP/mbed-os.lib (100%) rename {BLE_GAP/deprecated => deprecated}/BLE_GAP/mbed_app.json (100%) rename {BLE_GAP/deprecated => deprecated}/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib (100%) rename {BLE_GAP/deprecated => deprecated}/BLE_GAP/source/main.cpp (100%) rename {BLE_GAPButton/deprecated => deprecated}/BLE_GAPButton/.mbed (100%) rename {BLE_GAPButton/deprecated => deprecated}/BLE_GAPButton/README.md (100%) rename {BLE_GAPButton/deprecated => deprecated}/BLE_GAPButton/img/discovery.png (100%) rename {BLE_GAPButton/deprecated => deprecated}/BLE_GAPButton/img/first_press.png (100%) rename {BLE_GAPButton/deprecated => deprecated}/BLE_GAPButton/img/initial_state.png (100%) rename {BLE_GAPButton/deprecated => deprecated}/BLE_GAPButton/img/result.png (100%) rename {BLE_GAPButton/deprecated => deprecated}/BLE_GAPButton/img/start_scan.png (100%) rename {BLE_GAPButton/deprecated => deprecated}/BLE_GAPButton/mbed-os.lib (100%) rename {BLE_GAPButton/deprecated => deprecated}/BLE_GAPButton/mbed_app.json (100%) rename {BLE_GAPButton/deprecated => deprecated}/BLE_GAPButton/module.json (100%) rename {BLE_GAPButton/deprecated => deprecated}/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib (100%) rename {BLE_GAPButton/deprecated => deprecated}/BLE_GAPButton/source/main.cpp (100%) rename {BLE_GattClient/deprecated => deprecated}/BLE_GattClient/.mbed (100%) rename {BLE_GattClient/deprecated => deprecated}/BLE_GattClient/BLEProcess.h (100%) rename {BLE_GattClient/deprecated => deprecated}/BLE_GattClient/README.md (100%) rename {BLE_GattClient/deprecated => deprecated}/BLE_GattClient/main.cpp (100%) rename {BLE_GattClient/deprecated => deprecated}/BLE_GattClient/mbed-os.lib (100%) rename {BLE_GattClient/deprecated => deprecated}/BLE_GattClient/mbed_app.json (100%) rename {BLE_GattClient/deprecated => deprecated}/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib (100%) rename {BLE_GattServer/deprecated => deprecated}/BLE_GattServer/.mbed (100%) rename {BLE_GattServer/deprecated => deprecated}/BLE_GattServer/BLEProcess.h (100%) rename {BLE_GattServer/deprecated => deprecated}/BLE_GattServer/main.cpp (100%) rename {BLE_GattServer/deprecated => deprecated}/BLE_GattServer/mbed-os.lib (100%) rename {BLE_GattServer/deprecated => deprecated}/BLE_GattServer/mbed_app.json (100%) rename {BLE_GattServer/deprecated => deprecated}/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/.mbed (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/img/connection.png (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/img/discovery.png (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/img/notifications.png (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/img/register_to_notifications.png (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/img/scan_result.png (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/img/start_scan.png (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/mbed-os.lib (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/mbed_app.json (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/module.json (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/readme.md (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib (100%) rename {BLE_HeartRate/deprecated => deprecated}/BLE_HeartRate/source/main.cpp (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/.mbed (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/img/LED_OFF.png (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/img/LED_ON.png (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/img/connection.png (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/img/discovery.png (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/img/scan_results.png (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/img/start_scan.png (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/img/write_characteristic.png (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/img/write_pannel.png (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/mbed-os.lib (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/mbed_app.json (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/module.json (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/readme.md (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/source/LEDService.h (100%) rename {BLE_LED/deprecated => deprecated}/BLE_LED/source/main.cpp (100%) rename {BLE_LEDBlinker/deprecated => deprecated}/BLE_LEDBlinker/.mbed (100%) rename {BLE_LEDBlinker/deprecated => deprecated}/BLE_LEDBlinker/mbed-os.lib (100%) rename {BLE_LEDBlinker/deprecated => deprecated}/BLE_LEDBlinker/mbed_app.json (100%) rename {BLE_LEDBlinker/deprecated => deprecated}/BLE_LEDBlinker/module.json (100%) rename {BLE_LEDBlinker/deprecated => deprecated}/BLE_LEDBlinker/readme.md (100%) rename {BLE_LEDBlinker/deprecated => deprecated}/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib (100%) rename {BLE_LEDBlinker/deprecated => deprecated}/BLE_LEDBlinker/source/main.cpp (100%) rename {BLE_Privacy/deprecated => deprecated}/BLE_Privacy/.mbed (100%) rename {BLE_Privacy/deprecated => deprecated}/BLE_Privacy/README.md (100%) rename {BLE_Privacy/deprecated => deprecated}/BLE_Privacy/mbed-os.lib (100%) rename {BLE_Privacy/deprecated => deprecated}/BLE_Privacy/mbed_app.json (100%) rename {BLE_Privacy/deprecated => deprecated}/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib (100%) rename {BLE_Privacy/deprecated => deprecated}/BLE_Privacy/source/main.cpp (100%) rename {BLE_SM/deprecated => deprecated}/BLE_SM/.mbed (100%) rename {BLE_SM/deprecated => deprecated}/BLE_SM/README.md (100%) rename {BLE_SM/deprecated => deprecated}/BLE_SM/mbed-os.lib (100%) rename {BLE_SM/deprecated => deprecated}/BLE_SM/mbed_app.json (100%) rename {BLE_SM/deprecated => deprecated}/BLE_SM/module.json (100%) rename {BLE_SM/deprecated => deprecated}/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib (100%) rename {BLE_SM/deprecated => deprecated}/BLE_SM/source/main.cpp (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/.mbed (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/img/connection.png (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/img/discovery.png (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/img/notifications.png (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/img/register_to_notifications.png (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/img/scan_results.png (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/img/start_scan.png (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/mbed-os.lib (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/mbed_app.json (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/module.json (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/readme.md (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib (100%) rename {BLE_Thermometer/deprecated => deprecated}/BLE_Thermometer/source/main.cpp (100%) diff --git a/.gitignore b/.gitignore index efda7eee..f656732e 100644 --- a/.gitignore +++ b/.gitignore @@ -41,7 +41,6 @@ CMakeLists.txt GettingStarted.html # mbed build system -.mbed mbed-os/ mbed_settings.py mbed_config.h diff --git a/BLE_GAP/deprecated/BLE_GAP/mbed_config.h b/BLE_GAP/deprecated/BLE_GAP/mbed_config.h deleted file mode 100644 index 2ab3094d..00000000 --- a/BLE_GAP/deprecated/BLE_GAP/mbed_config.h +++ /dev/null @@ -1,237 +0,0 @@ -/* - * mbed SDK - * Copyright (c) 2017 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Automatically generated configuration file. -// DO NOT EDIT, content will be overwritten. - -#ifndef __MBED_CONFIG_DATA__ -#define __MBED_CONFIG_DATA__ - -// Configuration parameters -#define CLOCK_SOURCE USE_PLL_MSI // set by target:DISCO_L475VG_IOT01A -#define KVSTORE_ENABLED 1 // set by library:kvstore -#define LPTICKER_DELAY_TICKS 1 // set by target:FAMILY_STM32 -#define MBED_CONF_ATMEL_RF_ASSUME_SPACED_SPI 1 // set by library:atmel-rf[STM] -#define MBED_CONF_ATMEL_RF_FULL_SPI_SPEED 7500000 // set by library:atmel-rf -#define MBED_CONF_ATMEL_RF_FULL_SPI_SPEED_BYTE_SPACING 250 // set by library:atmel-rf -#define MBED_CONF_ATMEL_RF_IRQ_THREAD_STACK_SIZE 1024 // set by library:atmel-rf -#define MBED_CONF_ATMEL_RF_LOW_SPI_SPEED 3750000 // set by library:atmel-rf -#define MBED_CONF_ATMEL_RF_PROVIDE_DEFAULT 0 // set by library:atmel-rf -#define MBED_CONF_ATMEL_RF_USE_SPI_SPACING_API 0 // set by library:atmel-rf -#define MBED_CONF_CELLULAR_DEBUG_AT 0 // set by library:cellular -#define MBED_CONF_CELLULAR_RANDOM_MAX_START_DELAY 0 // set by library:cellular -#define MBED_CONF_CELLULAR_USE_APN_LOOKUP 1 // set by library:cellular -#define MBED_CONF_CORDIO_BLUENRG_VALID_PUBLIC_BD_ADDRESS 0 // set by library:cordio_bluenrg -#define MBED_CONF_DRIVERS_UART_SERIAL_RXBUF_SIZE 256 // set by library:drivers -#define MBED_CONF_DRIVERS_UART_SERIAL_TXBUF_SIZE 256 // set by library:drivers -#define MBED_CONF_ESP8266_DEBUG 0 // set by library:esp8266 -#define MBED_CONF_ESP8266_PROVIDE_DEFAULT 0 // set by library:esp8266 -#define MBED_CONF_ESP8266_SOCKET_BUFSIZE 8192 // set by library:esp8266 -#define MBED_CONF_EVENTS_PRESENT 1 // set by library:events -#define MBED_CONF_EVENTS_SHARED_DISPATCH_FROM_APPLICATION 0 // set by library:events -#define MBED_CONF_EVENTS_SHARED_EVENTSIZE 256 // set by library:events -#define MBED_CONF_EVENTS_SHARED_HIGHPRIO_EVENTSIZE 256 // set by library:events -#define MBED_CONF_EVENTS_SHARED_HIGHPRIO_STACKSIZE 1024 // set by library:events -#define MBED_CONF_EVENTS_SHARED_STACKSIZE 1024 // set by library:events -#define MBED_CONF_EVENTS_USE_LOWPOWER_TIMER_TICKER 0 // set by library:events -#define MBED_CONF_FILESYSTEM_PRESENT 1 // set by library:filesystem -#define MBED_CONF_FLASHIAP_BLOCK_DEVICE_BASE_ADDRESS 0xFFFFFFFF // set by library:flashiap-block-device -#define MBED_CONF_FLASHIAP_BLOCK_DEVICE_SIZE 0 // set by library:flashiap-block-device -#define MBED_CONF_LORA_ADR_ON 1 // set by library:lora -#define MBED_CONF_LORA_APPLICATION_EUI {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // set by library:lora -#define MBED_CONF_LORA_APPLICATION_KEY {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // set by library:lora -#define MBED_CONF_LORA_APPSKEY {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // set by library:lora -#define MBED_CONF_LORA_APP_PORT 15 // set by library:lora -#define MBED_CONF_LORA_AUTOMATIC_UPLINK_MESSAGE 1 // set by library:lora -#define MBED_CONF_LORA_DEVICE_ADDRESS 0x00000000 // set by library:lora -#define MBED_CONF_LORA_DEVICE_EUI {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // set by library:lora -#define MBED_CONF_LORA_DOWNLINK_PREAMBLE_LENGTH 5 // set by library:lora -#define MBED_CONF_LORA_DUTY_CYCLE_ON 1 // set by library:lora -#define MBED_CONF_LORA_DUTY_CYCLE_ON_JOIN 1 // set by library:lora -#define MBED_CONF_LORA_FSB_MASK {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x00FF} // set by library:lora -#define MBED_CONF_LORA_FSB_MASK_CHINA {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF} // set by library:lora -#define MBED_CONF_LORA_LBT_ON 0 // set by library:lora -#define MBED_CONF_LORA_MAX_SYS_RX_ERROR 10 // set by library:lora -#define MBED_CONF_LORA_NB_TRIALS 12 // set by library:lora -#define MBED_CONF_LORA_NWKSKEY {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // set by library:lora -#define MBED_CONF_LORA_OVER_THE_AIR_ACTIVATION 1 // set by library:lora -#define MBED_CONF_LORA_PHY EU868 // set by library:lora -#define MBED_CONF_LORA_PUBLIC_NETWORK 1 // set by library:lora -#define MBED_CONF_LORA_TX_MAX_SIZE 64 // set by library:lora -#define MBED_CONF_LORA_UPLINK_PREAMBLE_LENGTH 8 // set by library:lora -#define MBED_CONF_LWIP_ADDR_TIMEOUT 5 // set by library:lwip -#define MBED_CONF_LWIP_ADDR_TIMEOUT_MODE 1 // set by library:lwip -#define MBED_CONF_LWIP_DEBUG_ENABLED 0 // set by library:lwip -#define MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE 512 // set by library:lwip -#define MBED_CONF_LWIP_ENABLE_PPP_TRACE 0 // set by library:lwip -#define MBED_CONF_LWIP_ETHERNET_ENABLED 1 // set by library:lwip -#define MBED_CONF_LWIP_IPV4_ENABLED 1 // set by library:lwip -#define MBED_CONF_LWIP_IPV6_ENABLED 0 // set by library:lwip -#define MBED_CONF_LWIP_IP_VER_PREF 4 // set by library:lwip -#define MBED_CONF_LWIP_MEM_SIZE 25600 // set by library:lwip[STM] -#define MBED_CONF_LWIP_PPP_THREAD_STACKSIZE 768 // set by library:lwip -#define MBED_CONF_LWIP_SOCKET_MAX 4 // set by library:lwip -#define MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE 1200 // set by library:lwip -#define MBED_CONF_LWIP_TCP_ENABLED 1 // set by library:lwip -#define MBED_CONF_LWIP_TCP_SERVER_MAX 4 // set by library:lwip -#define MBED_CONF_LWIP_TCP_SOCKET_MAX 4 // set by library:lwip -#define MBED_CONF_LWIP_UDP_SOCKET_MAX 4 // set by library:lwip -#define MBED_CONF_LWIP_USE_MBED_TRACE 0 // set by library:lwip -#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL 0 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK 0x7fff800 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL_PAGE 0 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_DEVICE_TYPE NET_6LOWPAN_ROUTER // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PANID_FILTER 0xffff // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PSK_KEY {0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf} // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PSK_KEY_ID 1 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_SECURITY_MODE NONE // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_6LOWPAN_ND_SEC_LEVEL 5 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_HEAP_SIZE 32500 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_HEAP_STAT_INFO NULL // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL 22 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK 0x7fff800 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE 0 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_COMMISSIONING_DATASET_TIMESTAMP 0x10000 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_EXTENDED_PANID {0xf1, 0xb5, 0xa1, 0xb2,0xc4, 0xd5, 0xa1, 0xbd } // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_ML_PREFIX {0xfd, 0x0, 0x0d, 0xb8, 0x0, 0x0, 0x0, 0x0} // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME "Thread Network" // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_PANID 0x0700 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_CONFIG_PSKC {0xc8, 0xa6, 0x2e, 0xae, 0xf3, 0x68, 0xf3, 0x46, 0xa9, 0x9e, 0x57, 0x85, 0x98, 0x9d, 0x1c, 0xd0} // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_DEVICE_TYPE MESH_DEVICE_TYPE_THREAD_ROUTER // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_MASTER_KEY {0x10, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff} // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_PSKD "ABCDEFGH" // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_SECURITY_POLICY 255 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_THREAD_USE_STATIC_LINK_CONFIG 1 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_USE_MALLOC_FOR_HEAP 0 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_WISUN_BC_CHANNEL_FUNCTION 255 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_WISUN_BC_DWELL_INTERVAL 0 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_WISUN_BC_FIXED_CHANNEL 0xffff // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_WISUN_BC_INTERVAL 0 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_WISUN_NETWORK_NAME "NETWORK_NAME" // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_WISUN_OPERATING_CLASS 255 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_WISUN_OPERATING_MODE 255 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_WISUN_REGULATORY_DOMAIN 3 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_WISUN_UC_CHANNEL_FUNCTION 255 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_WISUN_UC_DWELL_INTERVAL 0 // set by library:mbed-mesh-api -#define MBED_CONF_MBED_MESH_API_WISUN_UC_FIXED_CHANNEL 0xffff // set by library:mbed-mesh-api -#define MBED_CONF_MCR20A_PROVIDE_DEFAULT 0 // set by library:mcr20a -#define MBED_CONF_NANOSTACK_CONFIGURATION nanostack_full // set by library:nanostack -#define MBED_CONF_NANOSTACK_HAL_CRITICAL_SECTION_USABLE_FROM_INTERRUPT 0 // set by library:nanostack-hal -#define MBED_CONF_NANOSTACK_HAL_EVENT_LOOP_DISPATCH_FROM_APPLICATION 0 // set by library:nanostack-hal -#define MBED_CONF_NANOSTACK_HAL_EVENT_LOOP_THREAD_STACK_SIZE 6144 // set by library:nanostack-hal -#define MBED_CONF_NANOSTACK_HAL_EVENT_LOOP_USE_MBED_EVENTS 0 // set by library:nanostack-hal -#define MBED_CONF_NANOSTACK_HAL_NVM_CFSTORE 0 // set by library:nanostack-hal -#define MBED_CONF_NSAPI_DEFAULT_MESH_TYPE THREAD // set by library:nsapi -#define MBED_CONF_NSAPI_DEFAULT_STACK LWIP // set by library:nsapi -#define MBED_CONF_NSAPI_DEFAULT_WIFI_SECURITY NONE // set by library:nsapi -#define MBED_CONF_NSAPI_DNS_CACHE_SIZE 3 // set by library:nsapi -#define MBED_CONF_NSAPI_DNS_RESPONSE_WAIT_TIME 5000 // set by library:nsapi -#define MBED_CONF_NSAPI_DNS_RETRIES 0 // set by library:nsapi -#define MBED_CONF_NSAPI_DNS_TOTAL_ATTEMPTS 3 // set by library:nsapi -#define MBED_CONF_NSAPI_PRESENT 1 // set by library:nsapi -#define MBED_CONF_PLATFORM_CRASH_CAPTURE_ENABLED 1 // set by library:platform[DISCO_L475VG_IOT01A] -#define MBED_CONF_PLATFORM_CTHUNK_COUNT_MAX 8 // set by library:platform -#define MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE 9600 // set by library:platform -#define MBED_CONF_PLATFORM_ERROR_ALL_THREADS_INFO 0 // set by library:platform -#define MBED_CONF_PLATFORM_ERROR_DECODE_HTTP_URL_STR "\nFor more info, visit: https://armmbed.github.io/mbedos-error/?error=0x%08X" // set by library:platform -#define MBED_CONF_PLATFORM_ERROR_FILENAME_CAPTURE_ENABLED 0 // set by library:platform -#define MBED_CONF_PLATFORM_ERROR_HIST_ENABLED 0 // set by library:platform -#define MBED_CONF_PLATFORM_ERROR_HIST_SIZE 4 // set by library:platform -#define MBED_CONF_PLATFORM_ERROR_REBOOT_MAX 1 // set by library:platform -#define MBED_CONF_PLATFORM_FATAL_ERROR_AUTO_REBOOT_ENABLED 1 // set by library:platform[DISCO_L475VG_IOT01A] -#define MBED_CONF_PLATFORM_FORCE_NON_COPYABLE_ERROR 0 // set by library:platform -#define MBED_CONF_PLATFORM_MAX_ERROR_FILENAME_LEN 16 // set by library:platform -#define MBED_CONF_PLATFORM_POLL_USE_LOWPOWER_TIMER 0 // set by library:platform -#define MBED_CONF_PLATFORM_STDIO_BAUD_RATE 9600 // set by library:platform -#define MBED_CONF_PLATFORM_STDIO_BUFFERED_SERIAL 0 // set by library:platform -#define MBED_CONF_PLATFORM_STDIO_CONVERT_NEWLINES 0 // set by library:platform -#define MBED_CONF_PLATFORM_STDIO_CONVERT_TTY_NEWLINES 0 // set by library:platform -#define MBED_CONF_PLATFORM_STDIO_FLUSH_AT_EXIT 1 // set by library:platform -#define MBED_CONF_PPP_CELL_IFACE_APN_LOOKUP 1 // set by library:ppp-cell-iface -#define MBED_CONF_PPP_CELL_IFACE_AT_PARSER_BUFFER_SIZE 256 // set by library:ppp-cell-iface -#define MBED_CONF_PPP_CELL_IFACE_AT_PARSER_TIMEOUT 8000 // set by library:ppp-cell-iface -#define MBED_CONF_PPP_CELL_IFACE_BAUD_RATE 115200 // set by library:ppp-cell-iface -#define MBED_CONF_QSPIF_QSPI_CSN QSPI_FLASH1_CSN // set by library:qspif -#define MBED_CONF_QSPIF_QSPI_FREQ 8000000 // set by library:qspif[DISCO_L475VG_IOT01A] -#define MBED_CONF_QSPIF_QSPI_IO0 QSPI_FLASH1_IO0 // set by library:qspif -#define MBED_CONF_QSPIF_QSPI_IO1 QSPI_FLASH1_IO1 // set by library:qspif -#define MBED_CONF_QSPIF_QSPI_IO2 QSPI_FLASH1_IO2 // set by library:qspif -#define MBED_CONF_QSPIF_QSPI_IO3 QSPI_FLASH1_IO3 // set by library:qspif -#define MBED_CONF_QSPIF_QSPI_POLARITY_MODE 0 // set by library:qspif -#define MBED_CONF_QSPIF_QSPI_SCK QSPI_FLASH1_SCK // set by library:qspif -#define MBED_CONF_RTOS_IDLE_THREAD_STACK_SIZE 512 // set by library:rtos -#define MBED_CONF_RTOS_IDLE_THREAD_STACK_SIZE_TICKLESS_EXTRA 256 // set by library:rtos -#define MBED_CONF_RTOS_MAIN_THREAD_STACK_SIZE 4096 // set by library:rtos -#define MBED_CONF_RTOS_PRESENT 1 // set by library:rtos -#define MBED_CONF_RTOS_THREAD_STACK_SIZE 4096 // set by library:rtos -#define MBED_CONF_RTOS_TIMER_THREAD_STACK_SIZE 768 // set by library:rtos -#define MBED_CONF_S2LP_PROVIDE_DEFAULT 0 // set by library:s2lp -#define MBED_CONF_STORAGE_DEFAULT_KV kv // set by library:storage -#define MBED_CONF_STORAGE_FILESYSTEM_BLOCKDEVICE default // set by library:storage_filesystem -#define MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_BASE_ADDRESS 0 // set by library:storage_filesystem -#define MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE 0 // set by library:storage_filesystem -#define MBED_CONF_STORAGE_FILESYSTEM_FILESYSTEM default // set by library:storage_filesystem -#define MBED_CONF_STORAGE_FILESYSTEM_FOLDER_PATH kvstore // set by library:storage_filesystem -#define MBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS 0 // set by library:storage_filesystem -#define MBED_CONF_STORAGE_FILESYSTEM_MOUNT_POINT kv // set by library:storage_filesystem -#define MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_BLOCKDEVICE default // set by library:storage_filesystem_no_rbp -#define MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_EXTERNAL_BASE_ADDRESS 0 // set by library:storage_filesystem_no_rbp -#define MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_EXTERNAL_SIZE 0 // set by library:storage_filesystem_no_rbp -#define MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_FILESYSTEM default // set by library:storage_filesystem_no_rbp -#define MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_FOLDER_PATH kvstore // set by library:storage_filesystem_no_rbp -#define MBED_CONF_STORAGE_FILESYSTEM_NO_RBP_MOUNT_POINT kv // set by library:storage_filesystem_no_rbp -#define MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE 0 // set by library:storage_filesystem -#define MBED_CONF_STORAGE_FILESYSTEM_RBP_NUMBER_OF_ENTRIES 64 // set by library:storage_filesystem -#define MBED_CONF_STORAGE_STORAGE_TYPE TDB_EXTERNAL // set by library:storage -#define MBED_CONF_STORAGE_TDB_EXTERNAL_BLOCKDEVICE default // set by library:storage_tdb_external -#define MBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_BASE_ADDRESS 0 // set by library:storage_tdb_external -#define MBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_SIZE 0 // set by library:storage_tdb_external -#define MBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS 0 // set by library:storage_tdb_external -#define MBED_CONF_STORAGE_TDB_EXTERNAL_NO_RBP_BLOCKDEVICE default // set by library:storage_tdb_external_no_rbp -#define MBED_CONF_STORAGE_TDB_EXTERNAL_NO_RBP_EXTERNAL_BASE_ADDRESS 0 // set by library:storage_tdb_external_no_rbp -#define MBED_CONF_STORAGE_TDB_EXTERNAL_NO_RBP_EXTERNAL_SIZE 0 // set by library:storage_tdb_external_no_rbp -#define MBED_CONF_STORAGE_TDB_EXTERNAL_RBP_INTERNAL_SIZE 0 // set by library:storage_tdb_external -#define MBED_CONF_STORAGE_TDB_EXTERNAL_RBP_NUMBER_OF_ENTRIES 64 // set by library:storage_tdb_external -#define MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS 0 // set by library:storage_tdb_internal -#define MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE 0 // set by library:storage_tdb_internal -#define MBED_CONF_TARGET_BOOT_STACK_SIZE 0x400 // set by library:rtos[*] -#define MBED_CONF_TARGET_DEEP_SLEEP_LATENCY 0 // set by target:Target -#define MBED_CONF_TARGET_LPTICKER_LPTIM 1 // set by target:DISCO_L475VG_IOT01A -#define MBED_CONF_TARGET_LPTICKER_LPTIM_CLOCK 1 // set by target:FAMILY_STM32 -#define MBED_CONF_TARGET_LPUART_CLOCK_SOURCE USE_LPUART_CLK_LSE|USE_LPUART_CLK_PCLK1 // set by target:FAMILY_STM32 -#define MBED_CONF_TARGET_LSE_AVAILABLE 1 // set by target:FAMILY_STM32 -#define MBED_LFS_BLOCK_SIZE 512 // set by library:littlefs -#define MBED_LFS_ENABLE_INFO 0 // set by library:littlefs -#define MBED_LFS_INTRINSICS 1 // set by library:littlefs -#define MBED_LFS_LOOKAHEAD 512 // set by library:littlefs -#define MBED_LFS_PROG_SIZE 64 // set by library:littlefs -#define MBED_LFS_READ_SIZE 64 // set by library:littlefs -#define MEM_ALLOC malloc // set by library:mbed-trace -#define MEM_FREE free // set by library:mbed-trace -#define NSAPI_PPP_AVAILABLE 0 // set by library:lwip -#define NSAPI_PPP_IPV4_AVAILABLE 1 // set by library:lwip -#define NSAPI_PPP_IPV6_AVAILABLE 0 // set by library:lwip -#define NVSTORE_ENABLED 1 // set by library:nvstore -#define NVSTORE_MAX_KEYS 16 // set by library:nvstore -// Macros -#define MBEDTLS_CIPHER_MODE_CTR // defined by library:SecureStore -#define MBEDTLS_CMAC_C // defined by library:SecureStore -#define NS_USE_EXTERNAL_MBED_TLS // defined by library:nanostack -#define UNITY_INCLUDE_CONFIG_H // defined by library:utest -#define _RTE_ // defined by library:rtos - -#endif diff --git a/README.md b/README.md index abfd0338..ec1a0e5b 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ In order to use BLE in mbed OS you need one of the following hardware combinatio This target is currently not supported as the examples use Cordio link layer which doesn't have an implementation for it yet: * A Nordic nRF51-based board such as [nrf51dk](https://www.nordicsemi.com/eng/Products/nRF51-DK) or [mkit](https://www.nordicsemi.com/eng/Products/Bluetooth-R-low-energy/nRF51822-mKIT). -You may still use the deprecated examples for this target. The deprecated examples are located in the "deprecated" folder in each of the examples. +You may still use the deprecated examples for this target. The deprecated examples are located in the "deprecated" folder. The [BLE documentation](https://os.mbed.com/docs/latest/reference/bluetooth.html) describes the BLE APIs on mbed OS. diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/.mbed b/deprecated/BLE_BatteryLevel/.mbed similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/.mbed rename to deprecated/BLE_BatteryLevel/.mbed diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/connection.png b/deprecated/BLE_BatteryLevel/img/connection.png similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/connection.png rename to deprecated/BLE_BatteryLevel/img/connection.png diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/discovery.png b/deprecated/BLE_BatteryLevel/img/discovery.png similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/discovery.png rename to deprecated/BLE_BatteryLevel/img/discovery.png diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/notifications.png b/deprecated/BLE_BatteryLevel/img/notifications.png similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/notifications.png rename to deprecated/BLE_BatteryLevel/img/notifications.png diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/register_to_notifications.png b/deprecated/BLE_BatteryLevel/img/register_to_notifications.png similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/register_to_notifications.png rename to deprecated/BLE_BatteryLevel/img/register_to_notifications.png diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/scan_result.png b/deprecated/BLE_BatteryLevel/img/scan_result.png similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/scan_result.png rename to deprecated/BLE_BatteryLevel/img/scan_result.png diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/start_scan.png b/deprecated/BLE_BatteryLevel/img/start_scan.png similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/img/start_scan.png rename to deprecated/BLE_BatteryLevel/img/start_scan.png diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/mbed-os.lib b/deprecated/BLE_BatteryLevel/mbed-os.lib similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/mbed-os.lib rename to deprecated/BLE_BatteryLevel/mbed-os.lib diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/mbed_app.json b/deprecated/BLE_BatteryLevel/mbed_app.json similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/mbed_app.json rename to deprecated/BLE_BatteryLevel/mbed_app.json diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/module.json b/deprecated/BLE_BatteryLevel/module.json similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/module.json rename to deprecated/BLE_BatteryLevel/module.json diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/readme.md b/deprecated/BLE_BatteryLevel/readme.md similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/readme.md rename to deprecated/BLE_BatteryLevel/readme.md diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib b/deprecated/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib rename to deprecated/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib diff --git a/BLE_BatteryLevel/deprecated/BLE_BatteryLevel/source/main.cpp b/deprecated/BLE_BatteryLevel/source/main.cpp similarity index 100% rename from BLE_BatteryLevel/deprecated/BLE_BatteryLevel/source/main.cpp rename to deprecated/BLE_BatteryLevel/source/main.cpp diff --git a/BLE_Beacon/deprecated/BLE_Beacon/.mbed b/deprecated/BLE_Beacon/.mbed similarity index 100% rename from BLE_Beacon/deprecated/BLE_Beacon/.mbed rename to deprecated/BLE_Beacon/.mbed diff --git a/BLE_Beacon/deprecated/BLE_Beacon/img/beacon_details.png b/deprecated/BLE_Beacon/img/beacon_details.png similarity index 100% rename from BLE_Beacon/deprecated/BLE_Beacon/img/beacon_details.png rename to deprecated/BLE_Beacon/img/beacon_details.png diff --git a/BLE_Beacon/deprecated/BLE_Beacon/img/discovery.png b/deprecated/BLE_Beacon/img/discovery.png similarity index 100% rename from BLE_Beacon/deprecated/BLE_Beacon/img/discovery.png rename to deprecated/BLE_Beacon/img/discovery.png diff --git a/BLE_Beacon/deprecated/BLE_Beacon/img/start_scan.png b/deprecated/BLE_Beacon/img/start_scan.png similarity index 100% rename from BLE_Beacon/deprecated/BLE_Beacon/img/start_scan.png rename to deprecated/BLE_Beacon/img/start_scan.png diff --git a/BLE_Beacon/deprecated/BLE_Beacon/mbed-os.lib b/deprecated/BLE_Beacon/mbed-os.lib similarity index 100% rename from BLE_Beacon/deprecated/BLE_Beacon/mbed-os.lib rename to deprecated/BLE_Beacon/mbed-os.lib diff --git a/BLE_Beacon/deprecated/BLE_Beacon/mbed_app.json b/deprecated/BLE_Beacon/mbed_app.json similarity index 100% rename from BLE_Beacon/deprecated/BLE_Beacon/mbed_app.json rename to deprecated/BLE_Beacon/mbed_app.json diff --git a/BLE_Beacon/deprecated/BLE_Beacon/module.json b/deprecated/BLE_Beacon/module.json similarity index 100% rename from BLE_Beacon/deprecated/BLE_Beacon/module.json rename to deprecated/BLE_Beacon/module.json diff --git a/BLE_Beacon/deprecated/BLE_Beacon/readme.md b/deprecated/BLE_Beacon/readme.md similarity index 100% rename from BLE_Beacon/deprecated/BLE_Beacon/readme.md rename to deprecated/BLE_Beacon/readme.md diff --git a/BLE_Beacon/deprecated/BLE_Beacon/shields/TARGET_ST_BLUENRG.lib b/deprecated/BLE_Beacon/shields/TARGET_ST_BLUENRG.lib similarity index 100% rename from BLE_Beacon/deprecated/BLE_Beacon/shields/TARGET_ST_BLUENRG.lib rename to deprecated/BLE_Beacon/shields/TARGET_ST_BLUENRG.lib diff --git a/BLE_Beacon/deprecated/BLE_Beacon/source/main.cpp b/deprecated/BLE_Beacon/source/main.cpp similarity index 100% rename from BLE_Beacon/deprecated/BLE_Beacon/source/main.cpp rename to deprecated/BLE_Beacon/source/main.cpp diff --git a/BLE_Button/deprecated/BLE_Button/.mbed b/deprecated/BLE_Button/.mbed similarity index 100% rename from BLE_Button/deprecated/BLE_Button/.mbed rename to deprecated/BLE_Button/.mbed diff --git a/BLE_Button/deprecated/BLE_Button/img/button_depressed.png b/deprecated/BLE_Button/img/button_depressed.png similarity index 100% rename from BLE_Button/deprecated/BLE_Button/img/button_depressed.png rename to deprecated/BLE_Button/img/button_depressed.png diff --git a/BLE_Button/deprecated/BLE_Button/img/button_pressed.png b/deprecated/BLE_Button/img/button_pressed.png similarity index 100% rename from BLE_Button/deprecated/BLE_Button/img/button_pressed.png rename to deprecated/BLE_Button/img/button_pressed.png diff --git a/BLE_Button/deprecated/BLE_Button/img/connection.png b/deprecated/BLE_Button/img/connection.png similarity index 100% rename from BLE_Button/deprecated/BLE_Button/img/connection.png rename to deprecated/BLE_Button/img/connection.png diff --git a/BLE_Button/deprecated/BLE_Button/img/discovery.png b/deprecated/BLE_Button/img/discovery.png similarity index 100% rename from BLE_Button/deprecated/BLE_Button/img/discovery.png rename to deprecated/BLE_Button/img/discovery.png diff --git a/BLE_Button/deprecated/BLE_Button/img/register_to_notifications.png b/deprecated/BLE_Button/img/register_to_notifications.png similarity index 100% rename from BLE_Button/deprecated/BLE_Button/img/register_to_notifications.png rename to deprecated/BLE_Button/img/register_to_notifications.png diff --git a/BLE_Button/deprecated/BLE_Button/img/scan_results.png b/deprecated/BLE_Button/img/scan_results.png similarity index 100% rename from BLE_Button/deprecated/BLE_Button/img/scan_results.png rename to deprecated/BLE_Button/img/scan_results.png diff --git a/BLE_Button/deprecated/BLE_Button/img/start_scan.png b/deprecated/BLE_Button/img/start_scan.png similarity index 100% rename from BLE_Button/deprecated/BLE_Button/img/start_scan.png rename to deprecated/BLE_Button/img/start_scan.png diff --git a/BLE_Button/deprecated/BLE_Button/mbed-os.lib b/deprecated/BLE_Button/mbed-os.lib similarity index 100% rename from BLE_Button/deprecated/BLE_Button/mbed-os.lib rename to deprecated/BLE_Button/mbed-os.lib diff --git a/BLE_Button/deprecated/BLE_Button/mbed_app.json b/deprecated/BLE_Button/mbed_app.json similarity index 100% rename from BLE_Button/deprecated/BLE_Button/mbed_app.json rename to deprecated/BLE_Button/mbed_app.json diff --git a/BLE_Button/deprecated/BLE_Button/module.json b/deprecated/BLE_Button/module.json similarity index 100% rename from BLE_Button/deprecated/BLE_Button/module.json rename to deprecated/BLE_Button/module.json diff --git a/BLE_Button/deprecated/BLE_Button/readme.md b/deprecated/BLE_Button/readme.md similarity index 100% rename from BLE_Button/deprecated/BLE_Button/readme.md rename to deprecated/BLE_Button/readme.md diff --git a/BLE_Button/deprecated/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib b/deprecated/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib similarity index 100% rename from BLE_Button/deprecated/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib rename to deprecated/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib diff --git a/BLE_Button/deprecated/BLE_Button/source/ButtonService.h b/deprecated/BLE_Button/source/ButtonService.h similarity index 100% rename from BLE_Button/deprecated/BLE_Button/source/ButtonService.h rename to deprecated/BLE_Button/source/ButtonService.h diff --git a/BLE_Button/deprecated/BLE_Button/source/main.cpp b/deprecated/BLE_Button/source/main.cpp similarity index 100% rename from BLE_Button/deprecated/BLE_Button/source/main.cpp rename to deprecated/BLE_Button/source/main.cpp diff --git a/BLE_GAP/deprecated/BLE_GAP/.mbed b/deprecated/BLE_GAP/.mbed similarity index 100% rename from BLE_GAP/deprecated/BLE_GAP/.mbed rename to deprecated/BLE_GAP/.mbed diff --git a/BLE_GAP/deprecated/BLE_GAP/README.md b/deprecated/BLE_GAP/README.md similarity index 100% rename from BLE_GAP/deprecated/BLE_GAP/README.md rename to deprecated/BLE_GAP/README.md diff --git a/BLE_GAP/deprecated/BLE_GAP/mbed-os.lib b/deprecated/BLE_GAP/mbed-os.lib similarity index 100% rename from BLE_GAP/deprecated/BLE_GAP/mbed-os.lib rename to deprecated/BLE_GAP/mbed-os.lib diff --git a/BLE_GAP/deprecated/BLE_GAP/mbed_app.json b/deprecated/BLE_GAP/mbed_app.json similarity index 100% rename from BLE_GAP/deprecated/BLE_GAP/mbed_app.json rename to deprecated/BLE_GAP/mbed_app.json diff --git a/BLE_GAP/deprecated/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib b/deprecated/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib similarity index 100% rename from BLE_GAP/deprecated/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib rename to deprecated/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib diff --git a/BLE_GAP/deprecated/BLE_GAP/source/main.cpp b/deprecated/BLE_GAP/source/main.cpp similarity index 100% rename from BLE_GAP/deprecated/BLE_GAP/source/main.cpp rename to deprecated/BLE_GAP/source/main.cpp diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/.mbed b/deprecated/BLE_GAPButton/.mbed similarity index 100% rename from BLE_GAPButton/deprecated/BLE_GAPButton/.mbed rename to deprecated/BLE_GAPButton/.mbed diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/README.md b/deprecated/BLE_GAPButton/README.md similarity index 100% rename from BLE_GAPButton/deprecated/BLE_GAPButton/README.md rename to deprecated/BLE_GAPButton/README.md diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/img/discovery.png b/deprecated/BLE_GAPButton/img/discovery.png similarity index 100% rename from BLE_GAPButton/deprecated/BLE_GAPButton/img/discovery.png rename to deprecated/BLE_GAPButton/img/discovery.png diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/img/first_press.png b/deprecated/BLE_GAPButton/img/first_press.png similarity index 100% rename from BLE_GAPButton/deprecated/BLE_GAPButton/img/first_press.png rename to deprecated/BLE_GAPButton/img/first_press.png diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/img/initial_state.png b/deprecated/BLE_GAPButton/img/initial_state.png similarity index 100% rename from BLE_GAPButton/deprecated/BLE_GAPButton/img/initial_state.png rename to deprecated/BLE_GAPButton/img/initial_state.png diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/img/result.png b/deprecated/BLE_GAPButton/img/result.png similarity index 100% rename from BLE_GAPButton/deprecated/BLE_GAPButton/img/result.png rename to deprecated/BLE_GAPButton/img/result.png diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/img/start_scan.png b/deprecated/BLE_GAPButton/img/start_scan.png similarity index 100% rename from BLE_GAPButton/deprecated/BLE_GAPButton/img/start_scan.png rename to deprecated/BLE_GAPButton/img/start_scan.png diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/mbed-os.lib b/deprecated/BLE_GAPButton/mbed-os.lib similarity index 100% rename from BLE_GAPButton/deprecated/BLE_GAPButton/mbed-os.lib rename to deprecated/BLE_GAPButton/mbed-os.lib diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/mbed_app.json b/deprecated/BLE_GAPButton/mbed_app.json similarity index 100% rename from BLE_GAPButton/deprecated/BLE_GAPButton/mbed_app.json rename to deprecated/BLE_GAPButton/mbed_app.json diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/module.json b/deprecated/BLE_GAPButton/module.json similarity index 100% rename from BLE_GAPButton/deprecated/BLE_GAPButton/module.json rename to deprecated/BLE_GAPButton/module.json diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib b/deprecated/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib similarity index 100% rename from BLE_GAPButton/deprecated/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib rename to deprecated/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/source/main.cpp b/deprecated/BLE_GAPButton/source/main.cpp similarity index 100% rename from BLE_GAPButton/deprecated/BLE_GAPButton/source/main.cpp rename to deprecated/BLE_GAPButton/source/main.cpp diff --git a/BLE_GattClient/deprecated/BLE_GattClient/.mbed b/deprecated/BLE_GattClient/.mbed similarity index 100% rename from BLE_GattClient/deprecated/BLE_GattClient/.mbed rename to deprecated/BLE_GattClient/.mbed diff --git a/BLE_GattClient/deprecated/BLE_GattClient/BLEProcess.h b/deprecated/BLE_GattClient/BLEProcess.h similarity index 100% rename from BLE_GattClient/deprecated/BLE_GattClient/BLEProcess.h rename to deprecated/BLE_GattClient/BLEProcess.h diff --git a/BLE_GattClient/deprecated/BLE_GattClient/README.md b/deprecated/BLE_GattClient/README.md similarity index 100% rename from BLE_GattClient/deprecated/BLE_GattClient/README.md rename to deprecated/BLE_GattClient/README.md diff --git a/BLE_GattClient/deprecated/BLE_GattClient/main.cpp b/deprecated/BLE_GattClient/main.cpp similarity index 100% rename from BLE_GattClient/deprecated/BLE_GattClient/main.cpp rename to deprecated/BLE_GattClient/main.cpp diff --git a/BLE_GattClient/deprecated/BLE_GattClient/mbed-os.lib b/deprecated/BLE_GattClient/mbed-os.lib similarity index 100% rename from BLE_GattClient/deprecated/BLE_GattClient/mbed-os.lib rename to deprecated/BLE_GattClient/mbed-os.lib diff --git a/BLE_GattClient/deprecated/BLE_GattClient/mbed_app.json b/deprecated/BLE_GattClient/mbed_app.json similarity index 100% rename from BLE_GattClient/deprecated/BLE_GattClient/mbed_app.json rename to deprecated/BLE_GattClient/mbed_app.json diff --git a/BLE_GattClient/deprecated/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib b/deprecated/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib similarity index 100% rename from BLE_GattClient/deprecated/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib rename to deprecated/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib diff --git a/BLE_GattServer/deprecated/BLE_GattServer/.mbed b/deprecated/BLE_GattServer/.mbed similarity index 100% rename from BLE_GattServer/deprecated/BLE_GattServer/.mbed rename to deprecated/BLE_GattServer/.mbed diff --git a/BLE_GattServer/deprecated/BLE_GattServer/BLEProcess.h b/deprecated/BLE_GattServer/BLEProcess.h similarity index 100% rename from BLE_GattServer/deprecated/BLE_GattServer/BLEProcess.h rename to deprecated/BLE_GattServer/BLEProcess.h diff --git a/BLE_GattServer/deprecated/BLE_GattServer/main.cpp b/deprecated/BLE_GattServer/main.cpp similarity index 100% rename from BLE_GattServer/deprecated/BLE_GattServer/main.cpp rename to deprecated/BLE_GattServer/main.cpp diff --git a/BLE_GattServer/deprecated/BLE_GattServer/mbed-os.lib b/deprecated/BLE_GattServer/mbed-os.lib similarity index 100% rename from BLE_GattServer/deprecated/BLE_GattServer/mbed-os.lib rename to deprecated/BLE_GattServer/mbed-os.lib diff --git a/BLE_GattServer/deprecated/BLE_GattServer/mbed_app.json b/deprecated/BLE_GattServer/mbed_app.json similarity index 100% rename from BLE_GattServer/deprecated/BLE_GattServer/mbed_app.json rename to deprecated/BLE_GattServer/mbed_app.json diff --git a/BLE_GattServer/deprecated/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib b/deprecated/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib similarity index 100% rename from BLE_GattServer/deprecated/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib rename to deprecated/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/.mbed b/deprecated/BLE_HeartRate/.mbed similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/.mbed rename to deprecated/BLE_HeartRate/.mbed diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/img/connection.png b/deprecated/BLE_HeartRate/img/connection.png similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/img/connection.png rename to deprecated/BLE_HeartRate/img/connection.png diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/img/discovery.png b/deprecated/BLE_HeartRate/img/discovery.png similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/img/discovery.png rename to deprecated/BLE_HeartRate/img/discovery.png diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/img/notifications.png b/deprecated/BLE_HeartRate/img/notifications.png similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/img/notifications.png rename to deprecated/BLE_HeartRate/img/notifications.png diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/img/register_to_notifications.png b/deprecated/BLE_HeartRate/img/register_to_notifications.png similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/img/register_to_notifications.png rename to deprecated/BLE_HeartRate/img/register_to_notifications.png diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/img/scan_result.png b/deprecated/BLE_HeartRate/img/scan_result.png similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/img/scan_result.png rename to deprecated/BLE_HeartRate/img/scan_result.png diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/img/start_scan.png b/deprecated/BLE_HeartRate/img/start_scan.png similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/img/start_scan.png rename to deprecated/BLE_HeartRate/img/start_scan.png diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/mbed-os.lib b/deprecated/BLE_HeartRate/mbed-os.lib similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/mbed-os.lib rename to deprecated/BLE_HeartRate/mbed-os.lib diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/mbed_app.json b/deprecated/BLE_HeartRate/mbed_app.json similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/mbed_app.json rename to deprecated/BLE_HeartRate/mbed_app.json diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/module.json b/deprecated/BLE_HeartRate/module.json similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/module.json rename to deprecated/BLE_HeartRate/module.json diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/readme.md b/deprecated/BLE_HeartRate/readme.md similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/readme.md rename to deprecated/BLE_HeartRate/readme.md diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib b/deprecated/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib rename to deprecated/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/source/main.cpp b/deprecated/BLE_HeartRate/source/main.cpp similarity index 100% rename from BLE_HeartRate/deprecated/BLE_HeartRate/source/main.cpp rename to deprecated/BLE_HeartRate/source/main.cpp diff --git a/BLE_LED/deprecated/BLE_LED/.mbed b/deprecated/BLE_LED/.mbed similarity index 100% rename from BLE_LED/deprecated/BLE_LED/.mbed rename to deprecated/BLE_LED/.mbed diff --git a/BLE_LED/deprecated/BLE_LED/img/LED_OFF.png b/deprecated/BLE_LED/img/LED_OFF.png similarity index 100% rename from BLE_LED/deprecated/BLE_LED/img/LED_OFF.png rename to deprecated/BLE_LED/img/LED_OFF.png diff --git a/BLE_LED/deprecated/BLE_LED/img/LED_ON.png b/deprecated/BLE_LED/img/LED_ON.png similarity index 100% rename from BLE_LED/deprecated/BLE_LED/img/LED_ON.png rename to deprecated/BLE_LED/img/LED_ON.png diff --git a/BLE_LED/deprecated/BLE_LED/img/connection.png b/deprecated/BLE_LED/img/connection.png similarity index 100% rename from BLE_LED/deprecated/BLE_LED/img/connection.png rename to deprecated/BLE_LED/img/connection.png diff --git a/BLE_LED/deprecated/BLE_LED/img/discovery.png b/deprecated/BLE_LED/img/discovery.png similarity index 100% rename from BLE_LED/deprecated/BLE_LED/img/discovery.png rename to deprecated/BLE_LED/img/discovery.png diff --git a/BLE_LED/deprecated/BLE_LED/img/scan_results.png b/deprecated/BLE_LED/img/scan_results.png similarity index 100% rename from BLE_LED/deprecated/BLE_LED/img/scan_results.png rename to deprecated/BLE_LED/img/scan_results.png diff --git a/BLE_LED/deprecated/BLE_LED/img/start_scan.png b/deprecated/BLE_LED/img/start_scan.png similarity index 100% rename from BLE_LED/deprecated/BLE_LED/img/start_scan.png rename to deprecated/BLE_LED/img/start_scan.png diff --git a/BLE_LED/deprecated/BLE_LED/img/write_characteristic.png b/deprecated/BLE_LED/img/write_characteristic.png similarity index 100% rename from BLE_LED/deprecated/BLE_LED/img/write_characteristic.png rename to deprecated/BLE_LED/img/write_characteristic.png diff --git a/BLE_LED/deprecated/BLE_LED/img/write_pannel.png b/deprecated/BLE_LED/img/write_pannel.png similarity index 100% rename from BLE_LED/deprecated/BLE_LED/img/write_pannel.png rename to deprecated/BLE_LED/img/write_pannel.png diff --git a/BLE_LED/deprecated/BLE_LED/mbed-os.lib b/deprecated/BLE_LED/mbed-os.lib similarity index 100% rename from BLE_LED/deprecated/BLE_LED/mbed-os.lib rename to deprecated/BLE_LED/mbed-os.lib diff --git a/BLE_LED/deprecated/BLE_LED/mbed_app.json b/deprecated/BLE_LED/mbed_app.json similarity index 100% rename from BLE_LED/deprecated/BLE_LED/mbed_app.json rename to deprecated/BLE_LED/mbed_app.json diff --git a/BLE_LED/deprecated/BLE_LED/module.json b/deprecated/BLE_LED/module.json similarity index 100% rename from BLE_LED/deprecated/BLE_LED/module.json rename to deprecated/BLE_LED/module.json diff --git a/BLE_LED/deprecated/BLE_LED/readme.md b/deprecated/BLE_LED/readme.md similarity index 100% rename from BLE_LED/deprecated/BLE_LED/readme.md rename to deprecated/BLE_LED/readme.md diff --git a/BLE_LED/deprecated/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib b/deprecated/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib similarity index 100% rename from BLE_LED/deprecated/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib rename to deprecated/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib diff --git a/BLE_LED/deprecated/BLE_LED/source/LEDService.h b/deprecated/BLE_LED/source/LEDService.h similarity index 100% rename from BLE_LED/deprecated/BLE_LED/source/LEDService.h rename to deprecated/BLE_LED/source/LEDService.h diff --git a/BLE_LED/deprecated/BLE_LED/source/main.cpp b/deprecated/BLE_LED/source/main.cpp similarity index 100% rename from BLE_LED/deprecated/BLE_LED/source/main.cpp rename to deprecated/BLE_LED/source/main.cpp diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/.mbed b/deprecated/BLE_LEDBlinker/.mbed similarity index 100% rename from BLE_LEDBlinker/deprecated/BLE_LEDBlinker/.mbed rename to deprecated/BLE_LEDBlinker/.mbed diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/mbed-os.lib b/deprecated/BLE_LEDBlinker/mbed-os.lib similarity index 100% rename from BLE_LEDBlinker/deprecated/BLE_LEDBlinker/mbed-os.lib rename to deprecated/BLE_LEDBlinker/mbed-os.lib diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/mbed_app.json b/deprecated/BLE_LEDBlinker/mbed_app.json similarity index 100% rename from BLE_LEDBlinker/deprecated/BLE_LEDBlinker/mbed_app.json rename to deprecated/BLE_LEDBlinker/mbed_app.json diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/module.json b/deprecated/BLE_LEDBlinker/module.json similarity index 100% rename from BLE_LEDBlinker/deprecated/BLE_LEDBlinker/module.json rename to deprecated/BLE_LEDBlinker/module.json diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/readme.md b/deprecated/BLE_LEDBlinker/readme.md similarity index 100% rename from BLE_LEDBlinker/deprecated/BLE_LEDBlinker/readme.md rename to deprecated/BLE_LEDBlinker/readme.md diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib b/deprecated/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib similarity index 100% rename from BLE_LEDBlinker/deprecated/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib rename to deprecated/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib diff --git a/BLE_LEDBlinker/deprecated/BLE_LEDBlinker/source/main.cpp b/deprecated/BLE_LEDBlinker/source/main.cpp similarity index 100% rename from BLE_LEDBlinker/deprecated/BLE_LEDBlinker/source/main.cpp rename to deprecated/BLE_LEDBlinker/source/main.cpp diff --git a/BLE_Privacy/deprecated/BLE_Privacy/.mbed b/deprecated/BLE_Privacy/.mbed similarity index 100% rename from BLE_Privacy/deprecated/BLE_Privacy/.mbed rename to deprecated/BLE_Privacy/.mbed diff --git a/BLE_Privacy/deprecated/BLE_Privacy/README.md b/deprecated/BLE_Privacy/README.md similarity index 100% rename from BLE_Privacy/deprecated/BLE_Privacy/README.md rename to deprecated/BLE_Privacy/README.md diff --git a/BLE_Privacy/deprecated/BLE_Privacy/mbed-os.lib b/deprecated/BLE_Privacy/mbed-os.lib similarity index 100% rename from BLE_Privacy/deprecated/BLE_Privacy/mbed-os.lib rename to deprecated/BLE_Privacy/mbed-os.lib diff --git a/BLE_Privacy/deprecated/BLE_Privacy/mbed_app.json b/deprecated/BLE_Privacy/mbed_app.json similarity index 100% rename from BLE_Privacy/deprecated/BLE_Privacy/mbed_app.json rename to deprecated/BLE_Privacy/mbed_app.json diff --git a/BLE_Privacy/deprecated/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib b/deprecated/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib similarity index 100% rename from BLE_Privacy/deprecated/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib rename to deprecated/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib diff --git a/BLE_Privacy/deprecated/BLE_Privacy/source/main.cpp b/deprecated/BLE_Privacy/source/main.cpp similarity index 100% rename from BLE_Privacy/deprecated/BLE_Privacy/source/main.cpp rename to deprecated/BLE_Privacy/source/main.cpp diff --git a/BLE_SM/deprecated/BLE_SM/.mbed b/deprecated/BLE_SM/.mbed similarity index 100% rename from BLE_SM/deprecated/BLE_SM/.mbed rename to deprecated/BLE_SM/.mbed diff --git a/BLE_SM/deprecated/BLE_SM/README.md b/deprecated/BLE_SM/README.md similarity index 100% rename from BLE_SM/deprecated/BLE_SM/README.md rename to deprecated/BLE_SM/README.md diff --git a/BLE_SM/deprecated/BLE_SM/mbed-os.lib b/deprecated/BLE_SM/mbed-os.lib similarity index 100% rename from BLE_SM/deprecated/BLE_SM/mbed-os.lib rename to deprecated/BLE_SM/mbed-os.lib diff --git a/BLE_SM/deprecated/BLE_SM/mbed_app.json b/deprecated/BLE_SM/mbed_app.json similarity index 100% rename from BLE_SM/deprecated/BLE_SM/mbed_app.json rename to deprecated/BLE_SM/mbed_app.json diff --git a/BLE_SM/deprecated/BLE_SM/module.json b/deprecated/BLE_SM/module.json similarity index 100% rename from BLE_SM/deprecated/BLE_SM/module.json rename to deprecated/BLE_SM/module.json diff --git a/BLE_SM/deprecated/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib b/deprecated/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib similarity index 100% rename from BLE_SM/deprecated/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib rename to deprecated/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib diff --git a/BLE_SM/deprecated/BLE_SM/source/main.cpp b/deprecated/BLE_SM/source/main.cpp similarity index 100% rename from BLE_SM/deprecated/BLE_SM/source/main.cpp rename to deprecated/BLE_SM/source/main.cpp diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/.mbed b/deprecated/BLE_Thermometer/.mbed similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/.mbed rename to deprecated/BLE_Thermometer/.mbed diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/img/connection.png b/deprecated/BLE_Thermometer/img/connection.png similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/img/connection.png rename to deprecated/BLE_Thermometer/img/connection.png diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/img/discovery.png b/deprecated/BLE_Thermometer/img/discovery.png similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/img/discovery.png rename to deprecated/BLE_Thermometer/img/discovery.png diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/img/notifications.png b/deprecated/BLE_Thermometer/img/notifications.png similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/img/notifications.png rename to deprecated/BLE_Thermometer/img/notifications.png diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/img/register_to_notifications.png b/deprecated/BLE_Thermometer/img/register_to_notifications.png similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/img/register_to_notifications.png rename to deprecated/BLE_Thermometer/img/register_to_notifications.png diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/img/scan_results.png b/deprecated/BLE_Thermometer/img/scan_results.png similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/img/scan_results.png rename to deprecated/BLE_Thermometer/img/scan_results.png diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/img/start_scan.png b/deprecated/BLE_Thermometer/img/start_scan.png similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/img/start_scan.png rename to deprecated/BLE_Thermometer/img/start_scan.png diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/mbed-os.lib b/deprecated/BLE_Thermometer/mbed-os.lib similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/mbed-os.lib rename to deprecated/BLE_Thermometer/mbed-os.lib diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/mbed_app.json b/deprecated/BLE_Thermometer/mbed_app.json similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/mbed_app.json rename to deprecated/BLE_Thermometer/mbed_app.json diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/module.json b/deprecated/BLE_Thermometer/module.json similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/module.json rename to deprecated/BLE_Thermometer/module.json diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/readme.md b/deprecated/BLE_Thermometer/readme.md similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/readme.md rename to deprecated/BLE_Thermometer/readme.md diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib b/deprecated/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib rename to deprecated/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib diff --git a/BLE_Thermometer/deprecated/BLE_Thermometer/source/main.cpp b/deprecated/BLE_Thermometer/source/main.cpp similarity index 100% rename from BLE_Thermometer/deprecated/BLE_Thermometer/source/main.cpp rename to deprecated/BLE_Thermometer/source/main.cpp From 59ef0e9e6603fe548f6fe23cca6f1db6ba1b0c2f Mon Sep 17 00:00:00 2001 From: adbridge Date: Wed, 5 Dec 2018 18:51:54 +0000 Subject: [PATCH 071/100] Updating mbed-os to mbed-os-5.11.0-rc2 --- BLE_BatteryLevel/mbed-os.lib | 2 +- BLE_Beacon/mbed-os.lib | 2 +- BLE_Button/mbed-os.lib | 2 +- BLE_GAP/mbed-os.lib | 2 +- BLE_GAPButton/mbed-os.lib | 2 +- BLE_GattClient/mbed-os.lib | 2 +- BLE_GattServer/mbed-os.lib | 2 +- BLE_HeartRate/mbed-os.lib | 2 +- BLE_LED/mbed-os.lib | 2 +- BLE_LEDBlinker/mbed-os.lib | 2 +- BLE_Privacy/mbed-os.lib | 2 +- BLE_SM/mbed-os.lib | 2 +- BLE_Thermometer/mbed-os.lib | 2 +- deprecated/BLE_BatteryLevel/mbed-os.lib | 2 +- deprecated/BLE_Beacon/mbed-os.lib | 2 +- deprecated/BLE_Button/mbed-os.lib | 2 +- deprecated/BLE_GAP/mbed-os.lib | 2 +- deprecated/BLE_GAPButton/mbed-os.lib | 2 +- deprecated/BLE_GattClient/mbed-os.lib | 2 +- deprecated/BLE_GattServer/mbed-os.lib | 2 +- deprecated/BLE_HeartRate/mbed-os.lib | 2 +- deprecated/BLE_LED/mbed-os.lib | 2 +- deprecated/BLE_LEDBlinker/mbed-os.lib | 2 +- deprecated/BLE_Privacy/mbed-os.lib | 2 +- deprecated/BLE_SM/mbed-os.lib | 2 +- deprecated/BLE_Thermometer/mbed-os.lib | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/BLE_BatteryLevel/mbed-os.lib b/BLE_BatteryLevel/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_BatteryLevel/mbed-os.lib +++ b/BLE_BatteryLevel/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/BLE_Beacon/mbed-os.lib b/BLE_Beacon/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_Beacon/mbed-os.lib +++ b/BLE_Beacon/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/BLE_Button/mbed-os.lib b/BLE_Button/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_Button/mbed-os.lib +++ b/BLE_Button/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/BLE_GAP/mbed-os.lib b/BLE_GAP/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_GAP/mbed-os.lib +++ b/BLE_GAP/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/BLE_GAPButton/mbed-os.lib b/BLE_GAPButton/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_GAPButton/mbed-os.lib +++ b/BLE_GAPButton/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/BLE_GattClient/mbed-os.lib b/BLE_GattClient/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_GattClient/mbed-os.lib +++ b/BLE_GattClient/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/BLE_GattServer/mbed-os.lib b/BLE_GattServer/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_GattServer/mbed-os.lib +++ b/BLE_GattServer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/BLE_HeartRate/mbed-os.lib b/BLE_HeartRate/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_HeartRate/mbed-os.lib +++ b/BLE_HeartRate/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/BLE_LED/mbed-os.lib b/BLE_LED/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_LED/mbed-os.lib +++ b/BLE_LED/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/BLE_LEDBlinker/mbed-os.lib b/BLE_LEDBlinker/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_LEDBlinker/mbed-os.lib +++ b/BLE_LEDBlinker/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/BLE_Privacy/mbed-os.lib b/BLE_Privacy/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_Privacy/mbed-os.lib +++ b/BLE_Privacy/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/BLE_SM/mbed-os.lib b/BLE_SM/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_SM/mbed-os.lib +++ b/BLE_SM/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/BLE_Thermometer/mbed-os.lib b/BLE_Thermometer/mbed-os.lib index 0bb3a73b..df0a9ecb 100644 --- a/BLE_Thermometer/mbed-os.lib +++ b/BLE_Thermometer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_BatteryLevel/mbed-os.lib b/deprecated/BLE_BatteryLevel/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_BatteryLevel/mbed-os.lib +++ b/deprecated/BLE_BatteryLevel/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_Beacon/mbed-os.lib b/deprecated/BLE_Beacon/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_Beacon/mbed-os.lib +++ b/deprecated/BLE_Beacon/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_Button/mbed-os.lib b/deprecated/BLE_Button/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_Button/mbed-os.lib +++ b/deprecated/BLE_Button/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_GAP/mbed-os.lib b/deprecated/BLE_GAP/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_GAP/mbed-os.lib +++ b/deprecated/BLE_GAP/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_GAPButton/mbed-os.lib b/deprecated/BLE_GAPButton/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_GAPButton/mbed-os.lib +++ b/deprecated/BLE_GAPButton/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_GattClient/mbed-os.lib b/deprecated/BLE_GattClient/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_GattClient/mbed-os.lib +++ b/deprecated/BLE_GattClient/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_GattServer/mbed-os.lib b/deprecated/BLE_GattServer/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_GattServer/mbed-os.lib +++ b/deprecated/BLE_GattServer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_HeartRate/mbed-os.lib b/deprecated/BLE_HeartRate/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_HeartRate/mbed-os.lib +++ b/deprecated/BLE_HeartRate/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_LED/mbed-os.lib b/deprecated/BLE_LED/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_LED/mbed-os.lib +++ b/deprecated/BLE_LED/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_LEDBlinker/mbed-os.lib b/deprecated/BLE_LEDBlinker/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_LEDBlinker/mbed-os.lib +++ b/deprecated/BLE_LEDBlinker/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_Privacy/mbed-os.lib b/deprecated/BLE_Privacy/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_Privacy/mbed-os.lib +++ b/deprecated/BLE_Privacy/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_SM/mbed-os.lib b/deprecated/BLE_SM/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_SM/mbed-os.lib +++ b/deprecated/BLE_SM/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 diff --git a/deprecated/BLE_Thermometer/mbed-os.lib b/deprecated/BLE_Thermometer/mbed-os.lib index fa52de0f..df0a9ecb 100644 --- a/deprecated/BLE_Thermometer/mbed-os.lib +++ b/deprecated/BLE_Thermometer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f +https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 From f99c8bfe39b2cbafd7f9adb593df7ac7cfda4d13 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Fri, 7 Dec 2018 18:13:08 +0000 Subject: [PATCH 072/100] Fix compilation issue due to API breakage. --- BLE_BatteryLevel/source/main.cpp | 2 +- BLE_Beacon/source/main.cpp | 2 +- BLE_Button/mbed_app.json | 30 ++++++++++++++++++++++++------ BLE_Button/source/main.cpp | 2 +- BLE_GAP/source/main.cpp | 9 +++------ BLE_GAPButton/mbed_app.json | 30 ++++++++++++++++++++++++------ BLE_GAPButton/source/main.cpp | 2 +- BLE_GattClient/source/main.cpp | 8 ++++---- BLE_HeartRate/source/main.cpp | 2 +- BLE_LED/source/main.cpp | 2 +- BLE_LEDBlinker/source/main.cpp | 4 ++-- BLE_Privacy/source/main.cpp | 10 +++------- BLE_SM/source/main.cpp | 2 +- BLE_Thermometer/source/main.cpp | 2 +- 14 files changed, 68 insertions(+), 39 deletions(-) diff --git a/BLE_BatteryLevel/source/main.cpp b/BLE_BatteryLevel/source/main.cpp index d2bfb386..39ed78fb 100644 --- a/BLE_BatteryLevel/source/main.cpp +++ b/BLE_BatteryLevel/source/main.cpp @@ -123,7 +123,7 @@ class BatteryDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnectionComplete(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionCompleteEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } diff --git a/BLE_Beacon/source/main.cpp b/BLE_Beacon/source/main.cpp index 13d78122..c1f777bd 100644 --- a/BLE_Beacon/source/main.cpp +++ b/BLE_Beacon/source/main.cpp @@ -205,7 +205,7 @@ class BeaconDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnectionComplete(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionCompleteEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } diff --git a/BLE_Button/mbed_app.json b/BLE_Button/mbed_app.json index f6d83692..92571a16 100644 --- a/BLE_Button/mbed_app.json +++ b/BLE_Button/mbed_app.json @@ -1,26 +1,44 @@ { + "config": { + "ble_button_pin_name": { + "help": "The pin name used as button in this application", + "macro_name": "BLE_BUTTON_PIN_NAME", + "required": true + } + }, "target_overrides": { + "NRF51_DK": { + "ble_button_pin_name": "BUTTON1" + }, "K64F": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "ble_button_pin_name": "SW2" }, "NUCLEO_F401RE": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "ble_button_pin_name": "USER_BUTTON" }, "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "ble_button_pin_name": "USER_BUTTON" }, "NRF52840_DK": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], - "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"], + "ble_button_pin_name": "BUTTON1" }, "NRF52_DK": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], - "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] - } + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"], + "ble_button_pin_name": "BUTTON1" + }, + "MTB_UBLOX_NINA_B1": { + "ble_button_pin_name": "BUTTON1" + } } } diff --git a/BLE_Button/source/main.cpp b/BLE_Button/source/main.cpp index 5d10590f..9516db5e 100644 --- a/BLE_Button/source/main.cpp +++ b/BLE_Button/source/main.cpp @@ -130,7 +130,7 @@ class BatteryDemo : ble::Gap::EventHandler { private: /* Event handler */ - virtual void onDisconnection(const ble::DisconnectionEvent&) { + virtual void onDisconnectionComplete(const ble::DisconnectionCompleteEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } diff --git a/BLE_GAP/source/main.cpp b/BLE_GAP/source/main.cpp index f4d2f121..aff9dc93 100644 --- a/BLE_GAP/source/main.cpp +++ b/BLE_GAP/source/main.cpp @@ -372,10 +372,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /* start scanning and attach a callback that will handle advertisements * and scan requests responses */ - error = _gap.startScan( - ble::duplicates_filter_t::DISABLE, - scan_params.duration - ); + error = _gap.startScan(scan_params.duration); if (error) { print_error(error, "Error caused by Gap::startScan"); return; @@ -435,7 +432,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle return; } - ble::AdvertisingDataParser adv_parser(event.getAdvertisingData()); + ble::AdvertisingDataParser adv_parser(event.getPayload()); /* parse the advertising payload, looking for a discoverable device */ while (adv_parser.hasNext()) { @@ -513,7 +510,7 @@ class GapDemo : private mbed::NonCopyable, public ble::Gap::EventHandle /** This is called by Gap to notify the application we disconnected, * in our case it calls next_demo_mode() to progress the demo */ - virtual void onDisconnectionComplete(const ble::DisconnectionEvent &event) + virtual void onDisconnectionComplete(const ble::DisconnectionCompleteEvent &event) { printf("Disconnected\r\n"); diff --git a/BLE_GAPButton/mbed_app.json b/BLE_GAPButton/mbed_app.json index f6d83692..92571a16 100644 --- a/BLE_GAPButton/mbed_app.json +++ b/BLE_GAPButton/mbed_app.json @@ -1,26 +1,44 @@ { + "config": { + "ble_button_pin_name": { + "help": "The pin name used as button in this application", + "macro_name": "BLE_BUTTON_PIN_NAME", + "required": true + } + }, "target_overrides": { + "NRF51_DK": { + "ble_button_pin_name": "BUTTON1" + }, "K64F": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "ble_button_pin_name": "SW2" }, "NUCLEO_F401RE": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "ble_button_pin_name": "USER_BUTTON" }, "DISCO_L475VG_IOT01A": { "target.features_add": ["BLE"], - "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "ble_button_pin_name": "USER_BUTTON" }, "NRF52840_DK": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], - "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"], + "ble_button_pin_name": "BUTTON1" }, "NRF52_DK": { "target.features_add": ["BLE"], "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], - "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] - } + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"], + "ble_button_pin_name": "BUTTON1" + }, + "MTB_UBLOX_NINA_B1": { + "ble_button_pin_name": "BUTTON1" + } } } diff --git a/BLE_GAPButton/source/main.cpp b/BLE_GAPButton/source/main.cpp index 56e7e1ee..0fdd26e9 100644 --- a/BLE_GAPButton/source/main.cpp +++ b/BLE_GAPButton/source/main.cpp @@ -164,7 +164,7 @@ class GapButtonDemo : private mbed::NonCopyable, public ble::Gap: private: /* Event handler */ - void onDisconnectionComplete(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionCompleteEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } diff --git a/BLE_GattClient/source/main.cpp b/BLE_GattClient/source/main.cpp index abae8f96..02784948 100644 --- a/BLE_GattClient/source/main.cpp +++ b/BLE_GattClient/source/main.cpp @@ -154,18 +154,18 @@ class GattClientProcess : private mbed::NonCopyable, * This function setup the connection handle to operate on then start the * discovery process. */ - void onConnectionComplete(const ble::ConnectionCompleteEvent &event) + virtual void onConnectionComplete(const ble::ConnectionCompleteEvent &event) { - _connection_handle = event.connectionHandle; + _connection_handle = event.getConnectionHandle(); _event_queue->call(mbed::callback(this, &Self::start)); } /** * Stop the discovery process and clean the instance. */ - void onDisconnection(const ble::DisconnectionEvent &event) + virtual void onDisconnectionComplete(const ble::DisconnectionCompleteEvent &event) { - if (_client && event.connectionHandle == _connection_handle) { + if (_client && event.getConnectionHandle() == _connection_handle) { stop(); } } diff --git a/BLE_HeartRate/source/main.cpp b/BLE_HeartRate/source/main.cpp index f658246b..26d3ac49 100644 --- a/BLE_HeartRate/source/main.cpp +++ b/BLE_HeartRate/source/main.cpp @@ -128,7 +128,7 @@ class HeartrateDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnectionComplete(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionCompleteEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); _connected = false; } diff --git a/BLE_LED/source/main.cpp b/BLE_LED/source/main.cpp index 93a3e567..a9170a68 100644 --- a/BLE_LED/source/main.cpp +++ b/BLE_LED/source/main.cpp @@ -128,7 +128,7 @@ class LEDDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnectionComplete(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionCompleteEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } diff --git a/BLE_LEDBlinker/source/main.cpp b/BLE_LEDBlinker/source/main.cpp index 90cc3a93..2e447f5c 100644 --- a/BLE_LEDBlinker/source/main.cpp +++ b/BLE_LEDBlinker/source/main.cpp @@ -130,7 +130,7 @@ class LEDBlinkerDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnectionComplete(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionCompleteEvent&) { _ble.gap().startScan(); _is_connecting = false; } @@ -157,7 +157,7 @@ class LEDBlinkerDemo : ble::Gap::EventHandler { return; } - ble::AdvertisingDataParser adv_data(event.getAdvertisingData()); + ble::AdvertisingDataParser adv_data(event.getPayload()); /* parse the advertising payload, looking for a discoverable device */ while (adv_data.hasNext()) { diff --git a/BLE_Privacy/source/main.cpp b/BLE_Privacy/source/main.cpp index 292f5f81..3870500b 100644 --- a/BLE_Privacy/source/main.cpp +++ b/BLE_Privacy/source/main.cpp @@ -234,7 +234,7 @@ class PrivacyDevice : private mbed::NonCopyable, }; /** This is called by Gap to notify the application we disconnected */ - virtual void onDisconnectionComplete(const ble::DisconnectionEvent &event) + virtual void onDisconnectionComplete(const ble::DisconnectionCompleteEvent &event) { if (_bonded) { /* we have connected to and bonded with the other device, from now @@ -423,15 +423,11 @@ class PrivacyCentral : public PrivacyDevice { if (_bonded) { /* if we bonded it means we have found the other device, from now on * wait at each step until completion */ - error = _ble.gap().startScan( - ble::duplicates_filter_t::DISABLE, - ble::scan_duration_t(0) - ); + error = _ble.gap().startScan(ble::scan_duration_t::forever()); } else { /* otherwise only scan for a limited time before changing roles again * if we fail to find the other device */ error = _ble.gap().startScan( - ble::duplicates_filter_t::DISABLE, ble::scan_duration_t(ble::millisecond_t(4000)) ); } @@ -458,7 +454,7 @@ class PrivacyCentral : public PrivacyDevice { return; } - ble::AdvertisingDataParser adv_data(event.getAdvertisingData()); + ble::AdvertisingDataParser adv_data(event.getPayload()); /* parse the advertising payload, looking for a discoverable device */ while (adv_data.hasNext()) { diff --git a/BLE_SM/source/main.cpp b/BLE_SM/source/main.cpp index 59c4ac27..3b655190 100644 --- a/BLE_SM/source/main.cpp +++ b/BLE_SM/source/main.cpp @@ -252,7 +252,7 @@ class SMDevice : private mbed::NonCopyable, /** This is called by Gap to notify the application we disconnected, * in our case it ends the demonstration. */ - virtual void onDisconnectionComplete(const ble::DisconnectionEvent &) + virtual void onDisconnectionComplete(const ble::DisconnectionCompleteEvent &) { printf("Diconnected\r\n"); _event_queue.break_dispatch(); diff --git a/BLE_Thermometer/source/main.cpp b/BLE_Thermometer/source/main.cpp index f501f4ae..eb5ccad1 100644 --- a/BLE_Thermometer/source/main.cpp +++ b/BLE_Thermometer/source/main.cpp @@ -122,7 +122,7 @@ class BatteryDemo : ble::Gap::EventHandler { private: /* Event handler */ - void onDisconnectionComplete(const ble::DisconnectionEvent&) { + void onDisconnectionComplete(const ble::DisconnectionCompleteEvent&) { _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE); } From b3baedfc58183b576946aa65ca573189a850ec58 Mon Sep 17 00:00:00 2001 From: adbridge Date: Wed, 12 Dec 2018 10:36:27 +0000 Subject: [PATCH 073/100] Updating mbed-os to mbed-os-5.11.0-rc3 --- BLE_BatteryLevel/mbed-os.lib | 2 +- BLE_Beacon/mbed-os.lib | 2 +- BLE_Button/mbed-os.lib | 2 +- BLE_GAP/mbed-os.lib | 2 +- BLE_GAPButton/mbed-os.lib | 2 +- BLE_GattClient/mbed-os.lib | 2 +- BLE_GattServer/mbed-os.lib | 2 +- BLE_HeartRate/mbed-os.lib | 2 +- BLE_LED/mbed-os.lib | 2 +- BLE_LEDBlinker/mbed-os.lib | 2 +- BLE_Privacy/mbed-os.lib | 2 +- BLE_SM/mbed-os.lib | 2 +- BLE_Thermometer/mbed-os.lib | 2 +- deprecated/BLE_BatteryLevel/mbed-os.lib | 2 +- deprecated/BLE_Beacon/mbed-os.lib | 2 +- deprecated/BLE_Button/mbed-os.lib | 2 +- deprecated/BLE_GAP/mbed-os.lib | 2 +- deprecated/BLE_GAPButton/mbed-os.lib | 2 +- deprecated/BLE_GattClient/mbed-os.lib | 2 +- deprecated/BLE_GattServer/mbed-os.lib | 2 +- deprecated/BLE_HeartRate/mbed-os.lib | 2 +- deprecated/BLE_LED/mbed-os.lib | 2 +- deprecated/BLE_LEDBlinker/mbed-os.lib | 2 +- deprecated/BLE_Privacy/mbed-os.lib | 2 +- deprecated/BLE_SM/mbed-os.lib | 2 +- deprecated/BLE_Thermometer/mbed-os.lib | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/BLE_BatteryLevel/mbed-os.lib b/BLE_BatteryLevel/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_BatteryLevel/mbed-os.lib +++ b/BLE_BatteryLevel/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/BLE_Beacon/mbed-os.lib b/BLE_Beacon/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_Beacon/mbed-os.lib +++ b/BLE_Beacon/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/BLE_Button/mbed-os.lib b/BLE_Button/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_Button/mbed-os.lib +++ b/BLE_Button/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/BLE_GAP/mbed-os.lib b/BLE_GAP/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_GAP/mbed-os.lib +++ b/BLE_GAP/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/BLE_GAPButton/mbed-os.lib b/BLE_GAPButton/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_GAPButton/mbed-os.lib +++ b/BLE_GAPButton/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/BLE_GattClient/mbed-os.lib b/BLE_GattClient/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_GattClient/mbed-os.lib +++ b/BLE_GattClient/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/BLE_GattServer/mbed-os.lib b/BLE_GattServer/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_GattServer/mbed-os.lib +++ b/BLE_GattServer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/BLE_HeartRate/mbed-os.lib b/BLE_HeartRate/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_HeartRate/mbed-os.lib +++ b/BLE_HeartRate/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/BLE_LED/mbed-os.lib b/BLE_LED/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_LED/mbed-os.lib +++ b/BLE_LED/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/BLE_LEDBlinker/mbed-os.lib b/BLE_LEDBlinker/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_LEDBlinker/mbed-os.lib +++ b/BLE_LEDBlinker/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/BLE_Privacy/mbed-os.lib b/BLE_Privacy/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_Privacy/mbed-os.lib +++ b/BLE_Privacy/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/BLE_SM/mbed-os.lib b/BLE_SM/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_SM/mbed-os.lib +++ b/BLE_SM/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/BLE_Thermometer/mbed-os.lib b/BLE_Thermometer/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/BLE_Thermometer/mbed-os.lib +++ b/BLE_Thermometer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_BatteryLevel/mbed-os.lib b/deprecated/BLE_BatteryLevel/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_BatteryLevel/mbed-os.lib +++ b/deprecated/BLE_BatteryLevel/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_Beacon/mbed-os.lib b/deprecated/BLE_Beacon/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_Beacon/mbed-os.lib +++ b/deprecated/BLE_Beacon/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_Button/mbed-os.lib b/deprecated/BLE_Button/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_Button/mbed-os.lib +++ b/deprecated/BLE_Button/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_GAP/mbed-os.lib b/deprecated/BLE_GAP/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_GAP/mbed-os.lib +++ b/deprecated/BLE_GAP/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_GAPButton/mbed-os.lib b/deprecated/BLE_GAPButton/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_GAPButton/mbed-os.lib +++ b/deprecated/BLE_GAPButton/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_GattClient/mbed-os.lib b/deprecated/BLE_GattClient/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_GattClient/mbed-os.lib +++ b/deprecated/BLE_GattClient/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_GattServer/mbed-os.lib b/deprecated/BLE_GattServer/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_GattServer/mbed-os.lib +++ b/deprecated/BLE_GattServer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_HeartRate/mbed-os.lib b/deprecated/BLE_HeartRate/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_HeartRate/mbed-os.lib +++ b/deprecated/BLE_HeartRate/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_LED/mbed-os.lib b/deprecated/BLE_LED/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_LED/mbed-os.lib +++ b/deprecated/BLE_LED/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_LEDBlinker/mbed-os.lib b/deprecated/BLE_LEDBlinker/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_LEDBlinker/mbed-os.lib +++ b/deprecated/BLE_LEDBlinker/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_Privacy/mbed-os.lib b/deprecated/BLE_Privacy/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_Privacy/mbed-os.lib +++ b/deprecated/BLE_Privacy/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_SM/mbed-os.lib b/deprecated/BLE_SM/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_SM/mbed-os.lib +++ b/deprecated/BLE_SM/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f diff --git a/deprecated/BLE_Thermometer/mbed-os.lib b/deprecated/BLE_Thermometer/mbed-os.lib index df0a9ecb..e2d521fc 100644 --- a/deprecated/BLE_Thermometer/mbed-os.lib +++ b/deprecated/BLE_Thermometer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#d9625811c9193ac3ab36a969bab93e28dac03776 +https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f From 234043b89546657b8b387e7df1784dd375179c8c Mon Sep 17 00:00:00 2001 From: Cruz Monrreal II Date: Thu, 13 Dec 2018 12:09:22 -0600 Subject: [PATCH 074/100] Updating mbed-os to mbed-os-5.11.0-rc4 --- BLE_BatteryLevel/mbed-os.lib | 2 +- BLE_Beacon/mbed-os.lib | 2 +- BLE_Button/mbed-os.lib | 2 +- BLE_GAP/mbed-os.lib | 2 +- BLE_GAPButton/mbed-os.lib | 2 +- BLE_GattClient/mbed-os.lib | 2 +- BLE_GattServer/mbed-os.lib | 2 +- BLE_HeartRate/mbed-os.lib | 2 +- BLE_LED/mbed-os.lib | 2 +- BLE_LEDBlinker/mbed-os.lib | 2 +- BLE_Privacy/mbed-os.lib | 2 +- BLE_SM/mbed-os.lib | 2 +- BLE_Thermometer/mbed-os.lib | 2 +- deprecated/BLE_BatteryLevel/mbed-os.lib | 2 +- deprecated/BLE_Beacon/mbed-os.lib | 2 +- deprecated/BLE_Button/mbed-os.lib | 2 +- deprecated/BLE_GAP/mbed-os.lib | 2 +- deprecated/BLE_GAPButton/mbed-os.lib | 2 +- deprecated/BLE_GattClient/mbed-os.lib | 2 +- deprecated/BLE_GattServer/mbed-os.lib | 2 +- deprecated/BLE_HeartRate/mbed-os.lib | 2 +- deprecated/BLE_LED/mbed-os.lib | 2 +- deprecated/BLE_LEDBlinker/mbed-os.lib | 2 +- deprecated/BLE_Privacy/mbed-os.lib | 2 +- deprecated/BLE_SM/mbed-os.lib | 2 +- deprecated/BLE_Thermometer/mbed-os.lib | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/BLE_BatteryLevel/mbed-os.lib b/BLE_BatteryLevel/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_BatteryLevel/mbed-os.lib +++ b/BLE_BatteryLevel/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/BLE_Beacon/mbed-os.lib b/BLE_Beacon/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_Beacon/mbed-os.lib +++ b/BLE_Beacon/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/BLE_Button/mbed-os.lib b/BLE_Button/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_Button/mbed-os.lib +++ b/BLE_Button/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/BLE_GAP/mbed-os.lib b/BLE_GAP/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_GAP/mbed-os.lib +++ b/BLE_GAP/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/BLE_GAPButton/mbed-os.lib b/BLE_GAPButton/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_GAPButton/mbed-os.lib +++ b/BLE_GAPButton/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/BLE_GattClient/mbed-os.lib b/BLE_GattClient/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_GattClient/mbed-os.lib +++ b/BLE_GattClient/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/BLE_GattServer/mbed-os.lib b/BLE_GattServer/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_GattServer/mbed-os.lib +++ b/BLE_GattServer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/BLE_HeartRate/mbed-os.lib b/BLE_HeartRate/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_HeartRate/mbed-os.lib +++ b/BLE_HeartRate/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/BLE_LED/mbed-os.lib b/BLE_LED/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_LED/mbed-os.lib +++ b/BLE_LED/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/BLE_LEDBlinker/mbed-os.lib b/BLE_LEDBlinker/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_LEDBlinker/mbed-os.lib +++ b/BLE_LEDBlinker/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/BLE_Privacy/mbed-os.lib b/BLE_Privacy/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_Privacy/mbed-os.lib +++ b/BLE_Privacy/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/BLE_SM/mbed-os.lib b/BLE_SM/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_SM/mbed-os.lib +++ b/BLE_SM/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/BLE_Thermometer/mbed-os.lib b/BLE_Thermometer/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/BLE_Thermometer/mbed-os.lib +++ b/BLE_Thermometer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_BatteryLevel/mbed-os.lib b/deprecated/BLE_BatteryLevel/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_BatteryLevel/mbed-os.lib +++ b/deprecated/BLE_BatteryLevel/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_Beacon/mbed-os.lib b/deprecated/BLE_Beacon/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_Beacon/mbed-os.lib +++ b/deprecated/BLE_Beacon/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_Button/mbed-os.lib b/deprecated/BLE_Button/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_Button/mbed-os.lib +++ b/deprecated/BLE_Button/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_GAP/mbed-os.lib b/deprecated/BLE_GAP/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_GAP/mbed-os.lib +++ b/deprecated/BLE_GAP/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_GAPButton/mbed-os.lib b/deprecated/BLE_GAPButton/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_GAPButton/mbed-os.lib +++ b/deprecated/BLE_GAPButton/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_GattClient/mbed-os.lib b/deprecated/BLE_GattClient/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_GattClient/mbed-os.lib +++ b/deprecated/BLE_GattClient/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_GattServer/mbed-os.lib b/deprecated/BLE_GattServer/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_GattServer/mbed-os.lib +++ b/deprecated/BLE_GattServer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_HeartRate/mbed-os.lib b/deprecated/BLE_HeartRate/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_HeartRate/mbed-os.lib +++ b/deprecated/BLE_HeartRate/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_LED/mbed-os.lib b/deprecated/BLE_LED/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_LED/mbed-os.lib +++ b/deprecated/BLE_LED/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_LEDBlinker/mbed-os.lib b/deprecated/BLE_LEDBlinker/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_LEDBlinker/mbed-os.lib +++ b/deprecated/BLE_LEDBlinker/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_Privacy/mbed-os.lib b/deprecated/BLE_Privacy/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_Privacy/mbed-os.lib +++ b/deprecated/BLE_Privacy/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_SM/mbed-os.lib b/deprecated/BLE_SM/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_SM/mbed-os.lib +++ b/deprecated/BLE_SM/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 diff --git a/deprecated/BLE_Thermometer/mbed-os.lib b/deprecated/BLE_Thermometer/mbed-os.lib index e2d521fc..69fff22f 100644 --- a/deprecated/BLE_Thermometer/mbed-os.lib +++ b/deprecated/BLE_Thermometer/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#2994c3f7dbf6ae11ef3b12404609fadde69c4e2f +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 From 4a025700c13a7757c1fb8c1388416357ef847979 Mon Sep 17 00:00:00 2001 From: Donatien Garnier Date: Fri, 14 Dec 2018 11:45:52 +0000 Subject: [PATCH 075/100] Update README.md --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index db4d7d40..02ad15c0 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ The following targets have been tested and work with these examples: * Nordic: * NRF51_DK * NRF52_DK + * NRF52840_DK * Boards with an ST shield plugged in: * K64F @@ -40,6 +41,21 @@ The following targets have been tested and work with these examples: * DISCO_L475VG_IOT01A (ref B-L475E-IOT01A) **Important:** if an ST shield is used with the K64F board, an hardware is patch required. Check out https://developer.mbed.org/teams/ST/code/X_NUCLEO_IDB0XA1/ for more information. + + Note: The Cordio Link layer is used for NRF52 platforms by default. To switch to using the Softdevice, remove these lines in mbed_app.json. +Bluetooth 5 features are only supported by the Cordio implementation, and some examples (such as BLE_GAP) use these. If you're using the Softdevice you can use the deprecated examples in this case. + +For NRF52_DK: +``` + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] +``` + +For NRF52840_DK: +``` + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] +``` ### Using ST Nucleo shield on other targets From 300143b0eda49110404fc3f783b9704892a32872 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 7 Jan 2019 14:41:36 +0000 Subject: [PATCH 076/100] remove redundant files --- BLE_BatteryLevel/.mbedignore | 1 - BLE_Beacon/.mbedignore | 1 - BLE_Button/.mbedignore | 1 - BLE_GAP/.mbedignore | 1 - BLE_GAPButton/.mbedignore | 1 - BLE_GattClient/.mbedignore | 1 - BLE_GattServer/.mbedignore | 1 - BLE_HeartRate/.mbedignore | 1 - BLE_LED/.mbedignore | 1 - BLE_LEDBlinker/.mbedignore | 1 - BLE_Privacy/.mbedignore | 1 - BLE_SM/.mbedignore | 1 - BLE_Thermometer/.mbedignore | 1 - 13 files changed, 13 deletions(-) delete mode 100644 BLE_BatteryLevel/.mbedignore delete mode 100644 BLE_Beacon/.mbedignore delete mode 100644 BLE_Button/.mbedignore delete mode 100644 BLE_GAP/.mbedignore delete mode 100644 BLE_GAPButton/.mbedignore delete mode 100644 BLE_GattClient/.mbedignore delete mode 100644 BLE_GattServer/.mbedignore delete mode 100644 BLE_HeartRate/.mbedignore delete mode 100644 BLE_LED/.mbedignore delete mode 100644 BLE_LEDBlinker/.mbedignore delete mode 100644 BLE_Privacy/.mbedignore delete mode 100644 BLE_SM/.mbedignore delete mode 100644 BLE_Thermometer/.mbedignore diff --git a/BLE_BatteryLevel/.mbedignore b/BLE_BatteryLevel/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_BatteryLevel/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file diff --git a/BLE_Beacon/.mbedignore b/BLE_Beacon/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_Beacon/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file diff --git a/BLE_Button/.mbedignore b/BLE_Button/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_Button/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file diff --git a/BLE_GAP/.mbedignore b/BLE_GAP/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_GAP/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file diff --git a/BLE_GAPButton/.mbedignore b/BLE_GAPButton/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_GAPButton/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file diff --git a/BLE_GattClient/.mbedignore b/BLE_GattClient/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_GattClient/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file diff --git a/BLE_GattServer/.mbedignore b/BLE_GattServer/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_GattServer/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file diff --git a/BLE_HeartRate/.mbedignore b/BLE_HeartRate/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_HeartRate/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file diff --git a/BLE_LED/.mbedignore b/BLE_LED/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_LED/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file diff --git a/BLE_LEDBlinker/.mbedignore b/BLE_LEDBlinker/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_LEDBlinker/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file diff --git a/BLE_Privacy/.mbedignore b/BLE_Privacy/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_Privacy/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file diff --git a/BLE_SM/.mbedignore b/BLE_SM/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_SM/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file diff --git a/BLE_Thermometer/.mbedignore b/BLE_Thermometer/.mbedignore deleted file mode 100644 index ebb9e732..00000000 --- a/BLE_Thermometer/.mbedignore +++ /dev/null @@ -1 +0,0 @@ -deprecated/* \ No newline at end of file From c2f3ce4a5fd2c47103ac656a8b7654f6e0002a5e Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 7 Jan 2019 16:52:04 +0000 Subject: [PATCH 077/100] update bluenrg lib --- BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 diff --git a/BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 diff --git a/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 diff --git a/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 diff --git a/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 diff --git a/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 diff --git a/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 diff --git a/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 diff --git a/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 diff --git a/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 diff --git a/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 diff --git a/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 diff --git a/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..fd72e546 100644 --- a/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 From 60ba7fd449aa7915bfe6f1203f1c3a64a9f0de7f Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 7 Jan 2019 16:59:46 +0000 Subject: [PATCH 078/100] fix hash in .lib --- BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_BatteryLevel/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc diff --git a/BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_Beacon/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc diff --git a/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_Button/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc diff --git a/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_GAP/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc diff --git a/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc diff --git a/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc diff --git a/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc diff --git a/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_HeartRate/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc diff --git a/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_LED/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc diff --git a/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_LEDBlinker/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc diff --git a/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_Privacy/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc diff --git a/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_SM/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc diff --git a/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib index fd72e546..22b07f40 100644 --- a/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_Thermometer/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#4a0ca4d3318089276c41804411f5fae34f511b65 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc From 83fc2eba6bfc6dc0181813f5cdadd6483f1ffcf9 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Fri, 30 Nov 2018 13:54:08 +0000 Subject: [PATCH 079/100] fix after event rename --- BLE_Button/source/main.cpp | 2 +- BLE_SM/source/main.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BLE_Button/source/main.cpp b/BLE_Button/source/main.cpp index 9516db5e..924c0120 100644 --- a/BLE_Button/source/main.cpp +++ b/BLE_Button/source/main.cpp @@ -32,7 +32,7 @@ class BatteryDemo : ble::Gap::EventHandler { _ble(ble), _event_queue(event_queue), _led1(LED1, 1), - _button(BLE_BUTTON_PIN_NAME), + _button(BUTTON1), _button_service(NULL), _button_uuid(ButtonService::BUTTON_SERVICE_UUID), _adv_data_builder(_adv_buffer) { } diff --git a/BLE_SM/source/main.cpp b/BLE_SM/source/main.cpp index 3b655190..019a5fcf 100644 --- a/BLE_SM/source/main.cpp +++ b/BLE_SM/source/main.cpp @@ -344,7 +344,7 @@ class SMDevicePeripheral : public SMDevice { /** This is called by Gap to notify the application we connected, * in our case it immediately requests a change in link security */ - virtual void onConnectionComplete(const ble::ConnectionCompleteEvent &event) + virtual void onConnectionComplete(const ble::DisconnectionCompleteEvent &event) { ble_error_t error; From 73afcc6725ab0c88117255aef62a5bc564667e4d Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Fri, 30 Nov 2018 15:30:52 +0000 Subject: [PATCH 080/100] wrong event updated fixed --- BLE_SM/.mbed | 2 ++ BLE_SM/source/main.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/BLE_SM/.mbed b/BLE_SM/.mbed index e87b56dc..7d868af6 100644 --- a/BLE_SM/.mbed +++ b/BLE_SM/.mbed @@ -1 +1,3 @@ ROOT=. +TARGET=DISCO_L475VG_IOT01A +TOOLCHAIN=GCC_ARM diff --git a/BLE_SM/source/main.cpp b/BLE_SM/source/main.cpp index 019a5fcf..3b655190 100644 --- a/BLE_SM/source/main.cpp +++ b/BLE_SM/source/main.cpp @@ -344,7 +344,7 @@ class SMDevicePeripheral : public SMDevice { /** This is called by Gap to notify the application we connected, * in our case it immediately requests a change in link security */ - virtual void onConnectionComplete(const ble::DisconnectionCompleteEvent &event) + virtual void onConnectionComplete(const ble::ConnectionCompleteEvent &event) { ble_error_t error; From 76f49b212716c2addd45b7f3df2cc40d297a0d8b Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 4 Dec 2018 14:05:41 +0000 Subject: [PATCH 081/100] periodic advertising added --- BLE_PeriodicAdvertising/.mbed | 1 + BLE_PeriodicAdvertising/mbed-os.lib | 1 + BLE_PeriodicAdvertising/mbed_app.json | 26 + .../shields/TARGET_CORDIO_BLUENRG.lib | 1 + BLE_PeriodicAdvertising/source/main.cpp | 493 ++++++++++++++++++ .../source/pretty_printer.h | 105 ++++ 6 files changed, 627 insertions(+) create mode 100644 BLE_PeriodicAdvertising/.mbed create mode 100644 BLE_PeriodicAdvertising/mbed-os.lib create mode 100644 BLE_PeriodicAdvertising/mbed_app.json create mode 100644 BLE_PeriodicAdvertising/shields/TARGET_CORDIO_BLUENRG.lib create mode 100644 BLE_PeriodicAdvertising/source/main.cpp create mode 100644 BLE_PeriodicAdvertising/source/pretty_printer.h diff --git a/BLE_PeriodicAdvertising/.mbed b/BLE_PeriodicAdvertising/.mbed new file mode 100644 index 00000000..e87b56dc --- /dev/null +++ b/BLE_PeriodicAdvertising/.mbed @@ -0,0 +1 @@ +ROOT=. diff --git a/BLE_PeriodicAdvertising/mbed-os.lib b/BLE_PeriodicAdvertising/mbed-os.lib new file mode 100644 index 00000000..0bb3a73b --- /dev/null +++ b/BLE_PeriodicAdvertising/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 diff --git a/BLE_PeriodicAdvertising/mbed_app.json b/BLE_PeriodicAdvertising/mbed_app.json new file mode 100644 index 00000000..f6d83692 --- /dev/null +++ b/BLE_PeriodicAdvertising/mbed_app.json @@ -0,0 +1,26 @@ +{ + "target_overrides": { + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NRF52840_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140_FULL", "NORDIC_SOFTDEVICE"] + }, + "NRF52_DK": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_LL", "SOFTDEVICE_NONE", "NORDIC_CORDIO"], + "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S132_FULL", "NORDIC_SOFTDEVICE"] + } + } +} diff --git a/BLE_PeriodicAdvertising/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_PeriodicAdvertising/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..4187af53 --- /dev/null +++ b/BLE_PeriodicAdvertising/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp new file mode 100644 index 00000000..e6821972 --- /dev/null +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -0,0 +1,493 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include "ble/BLE.h" +#include "gap/Gap.h" +#include "gap/AdvertisingDataParser.h" +#include "pretty_printer.h" +#include "BatteryService.h" + +/** This example demonstrates all the basic setup required + * to advertise, scan and connect to other devices. + * + * It contains a single class that performs both scans and advertisements. + */ + +events::EventQueue event_queue; + +static const char DEVICE_NAME[] = "Periodic"; + +static const uint16_t MAX_ADVERTISING_PAYLOAD_SIZE = 50; +static const uint8_t SCAN_TIME = 5; +static const uint8_t CONNECTION_DURATION = 2; + +/** Demonstrate periodic advertising and scanning and syncing with the advertising + */ +class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::EventHandler +{ +public: + PeriodicDemo(BLE& ble, events::EventQueue& event_queue) : + _ble(ble), + _gap(ble.gap()), + _event_queue(event_queue), + _led1(LED1, 0), + _is_scanner(false), + _is_connecting(false), + _is_syncing(false), + _role_established(false), + _battery_uuid(GattService::UUID_BATTERY_SERVICE), + _battery_level(100), + _battery_service(ble, _battery_level), + _adv_data_builder(_adv_buffer), + _adv_handle(ble::INVALID_ADVERTISING_HANDLE), + _sync_handle(ble::INVALID_ADVERTISING_HANDLE) + { + } + + ~PeriodicDemo() + { + if (_ble.hasInitialized()) { + _ble.shutdown(); + } + } + + /** Start BLE interface initialisation */ + void run() + { + if (_ble.hasInitialized()) { + printf("Ble instance already initialised.\r\n"); + return; + } + + /* handle gap events */ + _gap.setEventHandler(this); + + ble_error_t error = _ble.init(this, &PeriodicDemo::on_init_complete); + if (error) { + print_error(error, "Error returned by BLE::init"); + return; + } + + /* to show we're running we'll blink every 500ms */ + _event_queue.call_every(500, this, &PeriodicDemo::blink); + + /* this will not return until shutdown */ + _event_queue.dispatch_forever(); + } + +private: + /** This is called when BLE interface is initialised and starts the first mode */ + void on_init_complete(BLE::InitializationCompleteCallbackContext *event) + { + if (event->error) { + print_error(event->error, "Error during the initialisation"); + return; + } + + if (!_gap.isFeatureSupported(ble::controller_supported_features_t::LE_EXTENDED_ADVERTISING) || + !_gap.isFeatureSupported(ble::controller_supported_features_t::LE_PERIODIC_ADVERTISING)) { + printf("Periodic advertising not supported, cannot run example."); + return; + } + + print_mac_address(); + + /* all calls are serialised on the user thread through the event queue */ + _event_queue.call(this, &PeriodicDemo::start_role); + } + + void start_role() + { + /* This example is designed to be run on two boards at the same time, + * depending on our role we will either be the advertiser or scanner, + * until the roles are established we will cycle the roles until we find each other */ + if (_role_established) { + if (_is_scanner) { + _event_queue.call(this, &PeriodicDemo::scan_periodic); + } else { + _event_queue.call(this, &PeriodicDemo::advertise_periodic); + } + } else { + _is_scanner = !_is_scanner; + + if (_is_scanner) { + _event_queue.call(this, &PeriodicDemo::scan); + } else { + _event_queue.call(this, &PeriodicDemo::advertise); + } + } + } + + /** Set up and start advertising */ + void advertise() + { + ble::AdvertisingParameters adv_params; + adv_params.setUseLegacyPDU(false); + + /* create the advertising set with its parameter */ + ble_error_t error = _gap.createAdvertisingSet( + &_adv_handle, + adv_params + ); + + if (error) { + print_error(error, "Gap::createAdvertisingSet() failed"); + return; + } + + _adv_data_builder.setFlags(); + _adv_data_builder.setName(DEVICE_NAME); + + /* Set payload for the set */ + error = _gap.setAdvertisingPayload( + _adv_handle, + _adv_data_builder.getAdvertisingData() + ); + + if (error) { + print_error(error, "Gap::setAdvertisingPayload() failed"); + return; + } + + /* since we have two boards which might start running this example at the same time + * we randomise the interval of advertising to have them meet when one is advertising + * and the other one is scanning (we use their random address as source of randomness) */ + ble::millisecond_t random_duration_ms((1 + rand() % 5) * 1000); + ble::adv_duration_t random_duration(random_duration_ms); + + error = _ble.gap().startAdvertising( + _adv_handle, + random_duration + ); + + if (error) { + print_error(error, "Gap::startAdvertising() failed"); + return; + } + + printf("Advertising started\r\n"); + } + + void advertise_periodic() + { + + /* Start advertising the set as the advertising needs to be active + * before we start periodic advertising */ + ble_error_t error = _gap.startAdvertising(_adv_handle); + + if (error) { + print_error(error, "Gap::startAdvertising() failed"); + return; + } + + error = _gap.setPeriodicAdvertisingParameters( + _adv_handle, + ble::periodic_interval_t(50), + ble::periodic_interval_t(500) + ); + + if (error) { + print_error(error, "Gap::setPeriodicAdvertisingParameters() failed"); + return; + } + + /* we will put the battery level data in there and update it every second */ + update_paylod(); + + error = _gap.startPeriodicAdvertising(_adv_handle); + + if (error) { + print_error(error, "Gap::startPeriodicAdvertising() failed"); + return; + } + + printf("Periodic advertising started\r\n"); + + /* tick over our fake battery data, this will also update the advertising payload */ + _event_queue.call_every(1000, this, &PeriodicDemo::update_sensor_value); + } + + void update_paylod() + { + /* advertising payload will have the battery level which we will update */ + ble_error_t error = _adv_data_builder.setServiceData( + _battery_uuid, + mbed::make_Span(&_battery_level, 1) + ); + + if (error) { + print_error(error, "AdvertisingDataBuilder::setFlags() failed"); + return; + } + + /* the data in the local host buffer has been updated but now + * we have to update the data in the controller */ + error = _gap.setPeriodicAdvertisingPayload( + _adv_handle, + _adv_data_builder.getAdvertisingData() + ); + + if (error) { + print_error(error, "Gap::setPeriodicAdvertisingPayload() failed"); + return; + } + } + + /** Set up and start scanning */ + void scan() + { + /* keep track of our state */ + _is_connecting = false; + + ble_error_t error = _gap.setScanParameters( + ble::ScanParameters() + ); + + if (error) { + print_error(error, "Error caused by Gap::setScanParameters"); + return; + } + + error = _gap.startScan( + ble::duplicates_filter_t::DISABLE, + ble::scan_duration_t(ble::millisecond_t(SCAN_TIME)) + ); + + if (error) { + print_error(error, "Error caused by Gap::startScan"); + return; + } + } + + void scan_periodic() + { + ble_error_t error = _gap.startScan(); + + if (error) { + print_error(error, "Error caused by Gap::startScan"); + return; + } + + _is_syncing = false; + } + +private: + /* Gap::EventHandler */ + + /** Look at scan payload to find a peer device and connect to it */ + virtual void onAdvertisingReport( + const ble::AdvertisingReportEvent &event + ) { + if (_role_established) { + if (_is_syncing) { + return; + } + } else { + /* don't bother with analysing scan result if we're already connecting */ + if (_is_connecting) { + return; + } + + ble::AdvertisingDataParser adv_parser(event.getAdvertisingData()); + + /* parse the advertising payload, looking for a discoverable device */ + while (adv_parser.hasNext()) { + ble::AdvertisingDataParser::element_t field = adv_parser.next(); + + /* connect by name */ + if (field.type == ble::adv_data_type_t::COMPLETE_LOCAL_NAME && + field.value.size() == sizeof(DEVICE_NAME) && + (memcmp(field.value.data(), DEVICE_NAME, sizeof(DEVICE_NAME)) == 0)) { + + printf("We found the peer, connecting\r\n"); + + ble_error_t error = _gap.connect( + event.getPeerAddressType(), + event.getPeerAddress(), + ble::ConnectionParameters() // use the default connection parameters + ); + + if (error) { + print_error(error, "Error caused by Gap::connect\r\n"); + return; + } + + /* we may have already scan events waiting + * to be processed so we need to remember + * that we are already connecting and ignore them */ + _is_connecting = true; + return; + } + } + } + } + + virtual void onAdvertisingEnd( + const ble::AdvertisingEndEvent &event + ) { + if (event.isConnected()) { + printf("Stopped advertising due to connection\r\n"); + } else { + _event_queue.call(this, &PeriodicDemo::start_role); + } + } + + virtual void onScanTimeout( + const ble::ScanTimeoutEvent& + ) { + printf("Scanning ended, failed to find peer\r\n"); + _event_queue.call(this, &PeriodicDemo::start_role); + } + + /** This is called by Gap to notify the application we connected */ + virtual void onConnectionComplete( + const ble::ConnectionCompleteEvent &event + ) { + if (event.getStatus() == BLE_ERROR_NONE) { + printf("Roles established\r\n"); + _role_established = true; + + /* we have to specify the disconnect call because of ambiguous overloads */ + typedef ble_error_t (Gap::*disconnect_call_t)(ble::connection_handle_t, ble::local_disconnection_reason_t); + const disconnect_call_t disconnect_call = &Gap::disconnect; + + if (_is_scanner) { + _event_queue.call_in( + 2000, + &_ble.gap(), + disconnect_call, + event.getConnectionHandle(), + ble::local_disconnection_reason_t(ble::local_disconnection_reason_t::USER_TERMINATION) + ); + } + } else { + printf("Failed to connect\r\n"); + _event_queue.call(this, &PeriodicDemo::start_role); + } + } + + /** This is called by Gap to notify the application we disconnected */ + virtual void onDisconnectionComplete( + const ble::DisconnectionCompleteEvent &event + ) { + printf("Disconnected\r\n"); + _event_queue.call(this, &PeriodicDemo::start_role); + } + + /** Called when first advertising packet in periodic advertising is received. */ + virtual void onPeriodicAdvertisingSyncEstablished( + const ble::PeriodicAdvertisingSyncEstablishedEvent &event + ) { + if (event.getStatus() == BLE_ERROR_NONE) { + printf("Synced with periodic advertising\r\n"); + } else { + _event_queue.call(this, &PeriodicDemo::scan_periodic); + } + } + + /** Called when a periodic advertising packet is received. */ + virtual void onPeriodicAdvertisingReport( + const ble::PeriodicAdvertisingReportEvent &event + ) { + event.getPayload(); + + ble::AdvertisingDataParser adv_parser(event.getPayload()); + + /* parse the advertising payload, looking for a battery level */ + while (adv_parser.hasNext()) { + ble::AdvertisingDataParser::element_t field = adv_parser.next(); + + if (field.type == ble::adv_data_type_t::SERVICE_DATA) { + if (memcmp(field.value.data(), _battery_uuid.getBaseUUID(), _battery_uuid.getLen()) != 0) { + printf("Unexpected service data\r\n"); + } else { + /* battery level is right after the UUID */ + const uint8_t *battery_level = field.value.data() + _battery_uuid.getLen(); + printf("Peer battery level: %d\r\n", *battery_level); + } + } + } + } + + /** Called when a periodic advertising sync has been lost. */ + virtual void onPeriodicAdvertisingSyncLoss( + const ble::PeriodicAdvertisingSyncLoss &event + ) { + _event_queue.call(this, &PeriodicDemo::scan_periodic); + } + +private: + void update_sensor_value() { + _battery_level--; + if (_battery_level < 1) { + _battery_level = 100; + } + + _battery_service.updateBatteryLevel(_battery_level); + update_paylod(); + } + + /** Blink LED to show we're running */ + void blink(void) + { + _led1 = !_led1; + } + +private: + BLE &_ble; + ble::Gap &_gap; + events::EventQueue &_event_queue; + + DigitalOut _led1; + + bool _is_scanner; + bool _is_connecting; + bool _is_syncing; + bool _role_established; + + UUID _battery_uuid; + uint8_t _battery_level; + BatteryService _battery_service; + + uint8_t _adv_buffer[MAX_ADVERTISING_PAYLOAD_SIZE]; + ble::AdvertisingDataBuilder _adv_data_builder; + + ble::advertising_handle_t _adv_handle; + ble::periodic_sync_handle_t _sync_handle; +}; + +/** Schedule processing of events from the BLE middleware in the event queue. */ +void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context) { + event_queue.call(Callback(&context->ble, &BLE::processEvents)); +} + +int main() +{ + BLE &ble = BLE::Instance(); + + /* this will inform us off all events so we can schedule their handling + * using our event queue */ + ble.onEventsToProcess(schedule_ble_events); + + /* look for other device and then settle on a role and sync periodic advertising */ + PeriodicDemo demo(ble, event_queue); + + demo.run(); + + return 0; +} diff --git a/BLE_PeriodicAdvertising/source/pretty_printer.h b/BLE_PeriodicAdvertising/source/pretty_printer.h new file mode 100644 index 00000000..029ab385 --- /dev/null +++ b/BLE_PeriodicAdvertising/source/pretty_printer.h @@ -0,0 +1,105 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ble/BLE.h" + +/* for seeding random number generator */ +static bool seeded = false; + +inline void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +/** print device address to the terminal */ +inline void print_address(const Gap::Address_t &addr) +{ + printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", + addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); +} + +inline void print_mac_address() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + print_address(address); + + if (!seeded) { + seeded = true; + /* use the address as a seed */ + uint8_t* random_data = address; + srand(*((unsigned int*)random_data)); + } +} + +inline const char* phy_to_string(Gap::Phy_t phy) { + switch(phy.value()) { + case Gap::Phy_t::LE_1M: + return "LE 1M"; + case Gap::Phy_t::LE_2M: + return "LE 2M"; + case Gap::Phy_t::LE_CODED: + return "LE coded"; + default: + return "invalid PHY"; + } +} From dde9282fa6bec359f17df9192ee9c2781146c320 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 4 Dec 2018 16:00:40 +0000 Subject: [PATCH 082/100] update to api fixes --- BLE_PeriodicAdvertising/source/main.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index e6821972..83885817 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -264,7 +264,6 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E } error = _gap.startScan( - ble::duplicates_filter_t::DISABLE, ble::scan_duration_t(ble::millisecond_t(SCAN_TIME)) ); @@ -303,7 +302,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E return; } - ble::AdvertisingDataParser adv_parser(event.getAdvertisingData()); + ble::AdvertisingDataParser adv_parser(event.getPayload()); /* parse the advertising payload, looking for a discoverable device */ while (adv_parser.hasNext()) { From 2ecc04c83bfd867c480e3911884a13e930481a2e Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Tue, 4 Dec 2018 17:03:13 +0000 Subject: [PATCH 083/100] handle syncing alongside connecting --- BLE_PeriodicAdvertising/source/main.cpp | 74 ++++++++++++++----------- 1 file changed, 43 insertions(+), 31 deletions(-) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index 83885817..cf73d004 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -33,7 +33,7 @@ events::EventQueue event_queue; static const char DEVICE_NAME[] = "Periodic"; static const uint16_t MAX_ADVERTISING_PAYLOAD_SIZE = 50; -static const uint8_t SCAN_TIME = 5; +static const uint8_t SCAN_TIME = 5000; static const uint8_t CONNECTION_DURATION = 2; /** Demonstrate periodic advertising and scanning and syncing with the advertising @@ -47,8 +47,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E _event_queue(event_queue), _led1(LED1, 0), _is_scanner(false), - _is_connecting(false), - _is_syncing(false), + _is_connecting_or_syncing(false), _role_established(false), _battery_uuid(GattService::UUID_BATTERY_SERVICE), _battery_level(100), @@ -251,8 +250,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E /** Set up and start scanning */ void scan() { - /* keep track of our state */ - _is_connecting = false; + _is_connecting_or_syncing = false; ble_error_t error = _gap.setScanParameters( ble::ScanParameters() @@ -271,10 +269,14 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E print_error(error, "Error caused by Gap::startScan"); return; } + + printf("Scanning started\r\n"); } void scan_periodic() { + _is_connecting_or_syncing = false; + ble_error_t error = _gap.startScan(); if (error) { @@ -282,7 +284,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E return; } - _is_syncing = false; + printf("Scanning for periodic advertising started\r\n"); } private: @@ -292,27 +294,37 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E virtual void onAdvertisingReport( const ble::AdvertisingReportEvent &event ) { - if (_role_established) { - if (_is_syncing) { - return; - } - } else { - /* don't bother with analysing scan result if we're already connecting */ - if (_is_connecting) { - return; - } + /* don't bother with analysing scan result if we're already connecting */ + if (_is_connecting_or_syncing) { + return; + } - ble::AdvertisingDataParser adv_parser(event.getPayload()); + ble::AdvertisingDataParser adv_parser(event.getPayload()); - /* parse the advertising payload, looking for a discoverable device */ - while (adv_parser.hasNext()) { - ble::AdvertisingDataParser::element_t field = adv_parser.next(); + /* parse the advertising payload, looking for a discoverable device */ + while (adv_parser.hasNext()) { + ble::AdvertisingDataParser::element_t field = adv_parser.next(); - /* connect by name */ - if (field.type == ble::adv_data_type_t::COMPLETE_LOCAL_NAME && - field.value.size() == sizeof(DEVICE_NAME) && - (memcmp(field.value.data(), DEVICE_NAME, sizeof(DEVICE_NAME)) == 0)) { + /* identify peer by name */ + if (field.type == ble::adv_data_type_t::COMPLETE_LOCAL_NAME && + field.value.size() == sizeof(DEVICE_NAME) && + (memcmp(field.value.data(), DEVICE_NAME, sizeof(DEVICE_NAME)) == 0)) { + /* if we haven't established our roles connect, otherwise sync with advertising */ + if (_role_established) { + printf("We found the peer, syncing\r\n"); + ble_error_t error = _gap.createSync( + event.getPeerAddressType(), + event.getPeerAddress(), + event.getSID(), + 2, + ble::sync_timeout_t(ble::millisecond_t(500)) + ); + if (error) { + print_error(error, "Error caused by Gap::createSync\r\n"); + return; + } + } else { printf("We found the peer, connecting\r\n"); ble_error_t error = _gap.connect( @@ -325,13 +337,14 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E print_error(error, "Error caused by Gap::connect\r\n"); return; } - - /* we may have already scan events waiting - * to be processed so we need to remember - * that we are already connecting and ignore them */ - _is_connecting = true; - return; } + + /* we may have already scan events waiting to be processed + * so we need to remember that we are already connecting + * or syncing and ignore them */ + _is_connecting_or_syncing = true; + + return; } } } @@ -455,8 +468,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E DigitalOut _led1; bool _is_scanner; - bool _is_connecting; - bool _is_syncing; + bool _is_connecting_or_syncing; bool _role_established; UUID _battery_uuid; From eb6b496842ee9abb47d2c4f0f4c7b4725ca2176a Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 5 Dec 2018 09:28:20 +0000 Subject: [PATCH 084/100] fix timing --- BLE_PeriodicAdvertising/source/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index cf73d004..633c098f 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -33,7 +33,7 @@ events::EventQueue event_queue; static const char DEVICE_NAME[] = "Periodic"; static const uint16_t MAX_ADVERTISING_PAYLOAD_SIZE = 50; -static const uint8_t SCAN_TIME = 5000; +static const uint16_t SCAN_TIME = 5000; static const uint8_t CONNECTION_DURATION = 2; /** Demonstrate periodic advertising and scanning and syncing with the advertising @@ -179,7 +179,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E return; } - printf("Advertising started\r\n"); + printf("Advertising started for %dms\r\n", random_duration_ms); } void advertise_periodic() From 69eee6935d64943bc8c5a8e4640f64427719b9b6 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 5 Dec 2018 11:09:54 +0000 Subject: [PATCH 085/100] don't remake sets --- BLE_PeriodicAdvertising/source/main.cpp | 58 +++++++++++++++---------- 1 file changed, 34 insertions(+), 24 deletions(-) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index 633c098f..42ecca09 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -78,7 +78,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ble_error_t error = _ble.init(this, &PeriodicDemo::on_init_complete); if (error) { - print_error(error, "Error returned by BLE::init"); + print_error(error, "Error returned by BLE::init\r\n"); return; } @@ -94,13 +94,13 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E void on_init_complete(BLE::InitializationCompleteCallbackContext *event) { if (event->error) { - print_error(event->error, "Error during the initialisation"); + print_error(event->error, "Error during the initialisation\r\n"); return; } if (!_gap.isFeatureSupported(ble::controller_supported_features_t::LE_EXTENDED_ADVERTISING) || !_gap.isFeatureSupported(ble::controller_supported_features_t::LE_PERIODIC_ADVERTISING)) { - printf("Periodic advertising not supported, cannot run example."); + printf("Periodic advertising not supported, cannot run example.\r\n"); return; } @@ -125,8 +125,10 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E _is_scanner = !_is_scanner; if (_is_scanner) { + if (_adv_handle != ble::INVALID_ADVERTISING_HANDLE) _ble.gap().stopAdvertising(_adv_handle); _event_queue.call(this, &PeriodicDemo::scan); } else { + _ble.gap().stopScan(); _event_queue.call(this, &PeriodicDemo::advertise); } } @@ -135,20 +137,25 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E /** Set up and start advertising */ void advertise() { + ble_error_t error; + ble::AdvertisingParameters adv_params; adv_params.setUseLegacyPDU(false); - /* create the advertising set with its parameter */ - ble_error_t error = _gap.createAdvertisingSet( - &_adv_handle, - adv_params - ); + /* create the advertising set with its parameter if we haven't yet */ + if (_adv_handle == ble::INVALID_ADVERTISING_HANDLE) { + error = _gap.createAdvertisingSet( + &_adv_handle, + adv_params + ); - if (error) { - print_error(error, "Gap::createAdvertisingSet() failed"); - return; + if (error) { + print_error(error, "Gap::createAdvertisingSet() failed\r\n"); + return; + } } + _adv_data_builder.clear(); _adv_data_builder.setFlags(); _adv_data_builder.setName(DEVICE_NAME); @@ -159,7 +166,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ); if (error) { - print_error(error, "Gap::setAdvertisingPayload() failed"); + print_error(error, "Gap::setAdvertisingPayload() failed\r\n"); return; } @@ -170,12 +177,13 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ble::adv_duration_t random_duration(random_duration_ms); error = _ble.gap().startAdvertising( - _adv_handle, - random_duration + _adv_handle/*, + random_duration*/ + ); ); if (error) { - print_error(error, "Gap::startAdvertising() failed"); + print_error(error, "Gap::startAdvertising() failed\r\n"); return; } @@ -190,7 +198,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ble_error_t error = _gap.startAdvertising(_adv_handle); if (error) { - print_error(error, "Gap::startAdvertising() failed"); + print_error(error, "Gap::startAdvertising() failed\r\n"); return; } @@ -201,7 +209,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ); if (error) { - print_error(error, "Gap::setPeriodicAdvertisingParameters() failed"); + print_error(error, "Gap::setPeriodicAdvertisingParameters() failed\r\n"); return; } @@ -211,7 +219,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E error = _gap.startPeriodicAdvertising(_adv_handle); if (error) { - print_error(error, "Gap::startPeriodicAdvertising() failed"); + print_error(error, "Gap::startPeriodicAdvertising() failed\r\n"); return; } @@ -230,7 +238,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ); if (error) { - print_error(error, "AdvertisingDataBuilder::setFlags() failed"); + print_error(error, "AdvertisingDataBuilder::setFlags() failed\r\n"); return; } @@ -242,7 +250,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ); if (error) { - print_error(error, "Gap::setPeriodicAdvertisingPayload() failed"); + print_error(error, "Gap::setPeriodicAdvertisingPayload() failed\r\n"); return; } } @@ -257,7 +265,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ); if (error) { - print_error(error, "Error caused by Gap::setScanParameters"); + print_error(error, "Error caused by Gap::setScanParameters\r\n"); return; } @@ -266,7 +274,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ); if (error) { - print_error(error, "Error caused by Gap::startScan"); + print_error(error, "Error caused by Gap::startScan\r\n"); return; } @@ -280,7 +288,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ble_error_t error = _gap.startScan(); if (error) { - print_error(error, "Error caused by Gap::startScan"); + print_error(error, "Error caused by Gap::startScan\r\n"); return; } @@ -408,7 +416,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E if (event.getStatus() == BLE_ERROR_NONE) { printf("Synced with periodic advertising\r\n"); } else { - _event_queue.call(this, &PeriodicDemo::scan_periodic); + _sync_handle = event.getSyncHandle(); } } @@ -440,6 +448,8 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E virtual void onPeriodicAdvertisingSyncLoss( const ble::PeriodicAdvertisingSyncLoss &event ) { + printf("Sync to periodic advertising lost\r\n"); + _sync_handle = ble::INVALID_ADVERTISING_HANDLE; _event_queue.call(this, &PeriodicDemo::scan_periodic); } From d34993f6a2ab8a6421479bd29d905a1c999c620f Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 5 Dec 2018 11:10:59 +0000 Subject: [PATCH 086/100] stray paren --- BLE_PeriodicAdvertising/source/main.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index 42ecca09..219a581e 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -180,7 +180,6 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E _adv_handle/*, random_duration*/ ); - ); if (error) { print_error(error, "Gap::startAdvertising() failed\r\n"); From 030ca0b749178e5cf3d32ba59340924d6c035e68 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Wed, 5 Dec 2018 15:33:35 +0000 Subject: [PATCH 087/100] fix nma comparison --- BLE_PeriodicAdvertising/source/main.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index 219a581e..470b8327 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -314,8 +314,8 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E /* identify peer by name */ if (field.type == ble::adv_data_type_t::COMPLETE_LOCAL_NAME && - field.value.size() == sizeof(DEVICE_NAME) && - (memcmp(field.value.data(), DEVICE_NAME, sizeof(DEVICE_NAME)) == 0)) { + field.value.size() == strlen(DEVICE_NAME) && + (memcmp(field.value.data(), DEVICE_NAME, field.value.size()) == 0)) { /* if we haven't established our roles connect, otherwise sync with advertising */ if (_role_established) { printf("We found the peer, syncing\r\n"); @@ -362,6 +362,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E if (event.isConnected()) { printf("Stopped advertising due to connection\r\n"); } else { + printf("Advertising ended\r\n"); _event_queue.call(this, &PeriodicDemo::start_role); } } From bebdc625778739e63c8ef80232c0ec3fbf10b447 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 6 Dec 2018 11:36:14 +0000 Subject: [PATCH 088/100] fix name comparison --- BLE_LEDBlinker/source/main.cpp | 4 ++-- BLE_Privacy/source/main.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BLE_LEDBlinker/source/main.cpp b/BLE_LEDBlinker/source/main.cpp index 2e447f5c..a6f31ef7 100644 --- a/BLE_LEDBlinker/source/main.cpp +++ b/BLE_LEDBlinker/source/main.cpp @@ -165,8 +165,8 @@ class LEDBlinkerDemo : ble::Gap::EventHandler { /* connect to a discoverable device */ if (field.type == ble::adv_data_type_t::COMPLETE_LOCAL_NAME && - field.value.size() == sizeof(PEER_NAME) && - (memcmp(field.value.data(), PEER_NAME, sizeof(PEER_NAME)) == 0)) { + field.value.size() == strlen(PEER_NAME) && + (memcmp(field.value.data(), PEER_NAME, field.value.size()) == 0)) { printf("Adv from: "); print_address(event.getPeerAddress().data()); diff --git a/BLE_Privacy/source/main.cpp b/BLE_Privacy/source/main.cpp index 3870500b..e4769d94 100644 --- a/BLE_Privacy/source/main.cpp +++ b/BLE_Privacy/source/main.cpp @@ -462,8 +462,8 @@ class PrivacyCentral : public PrivacyDevice { /* connect to a known device by name */ if (field.type == ble::adv_data_type_t::COMPLETE_LOCAL_NAME && - field.value.size() == sizeof(DEVICE_NAME) && - (memcmp(field.value.data(), DEVICE_NAME, sizeof(DEVICE_NAME)) == 0)) { + field.value.size() == strlen(DEVICE_NAME) && + (memcmp(field.value.data(), DEVICE_NAME, field.value.size()) == 0)) { printf("We found a connectable device\r\n"); From e6166a3c00270582ab67d5c83e4473663af42b26 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 6 Dec 2018 11:44:41 +0000 Subject: [PATCH 089/100] add periodic demo readme --- BLE_PeriodicAdvertising/README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 BLE_PeriodicAdvertising/README.md diff --git a/BLE_PeriodicAdvertising/README.md b/BLE_PeriodicAdvertising/README.md new file mode 100644 index 00000000..ddc78b8b --- /dev/null +++ b/BLE_PeriodicAdvertising/README.md @@ -0,0 +1,27 @@ +# Periodic advertising and scanning + +Demo of the periodic advertising. This requires two devices to run. Both devices run the same program. They attempt to find find each other after which they adopt complementary roles. One sets up periodic advertising. The other attempts to scan and sync with the periodic advertising. + +The role of the scanner device can also be performed by a BLE scanner on a smartphone. Connect to the advertiser. This will establish it as the advertiser. After you disconnect the device will begin periodic advertising. + +# Running the application + +## Requirements + +Devices must support extended advertising and periodic advertising (Bluetooth version 5+). + +The sample application can also be monitored by any BLE scanner on a smartphone. + +If you don't have a scanner on your phone, please install: + +- [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android. + +- [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone. + +Information about activity is printed over the serial connection - please have a client open. You may use: + +- [Tera Term](https://ttssh2.osdn.jp/index.html.en) + +## Building instructions + +Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). From b1bddb6a2f29751150889a4e722a41cff53eae57 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Fri, 7 Dec 2018 14:19:10 +0000 Subject: [PATCH 090/100] timeouts now work --- BLE_PeriodicAdvertising/source/main.cpp | 30 ++++++++++++------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index 470b8327..0a16cbd0 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -22,10 +22,7 @@ #include "pretty_printer.h" #include "BatteryService.h" -/** This example demonstrates all the basic setup required - * to advertise, scan and connect to other devices. - * - * It contains a single class that performs both scans and advertisements. +/** This example demonstrates extended and periodic advertising */ events::EventQueue event_queue; @@ -125,10 +122,8 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E _is_scanner = !_is_scanner; if (_is_scanner) { - if (_adv_handle != ble::INVALID_ADVERTISING_HANDLE) _ble.gap().stopAdvertising(_adv_handle); _event_queue.call(this, &PeriodicDemo::scan); } else { - _ble.gap().stopScan(); _event_queue.call(this, &PeriodicDemo::advertise); } } @@ -141,6 +136,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ble::AdvertisingParameters adv_params; adv_params.setUseLegacyPDU(false); + adv_params.setOwnAddressType(ble::own_address_type_t::PUBLIC); /* create the advertising set with its parameter if we haven't yet */ if (_adv_handle == ble::INVALID_ADVERTISING_HANDLE) { @@ -153,6 +149,8 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E print_error(error, "Gap::createAdvertisingSet() failed\r\n"); return; } + } else { + _gap.setAdvertisingParameters(_adv_handle, adv_params); } _adv_data_builder.clear(); @@ -173,12 +171,12 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E /* since we have two boards which might start running this example at the same time * we randomise the interval of advertising to have them meet when one is advertising * and the other one is scanning (we use their random address as source of randomness) */ - ble::millisecond_t random_duration_ms((1 + rand() % 5) * 1000); + ble::millisecond_t random_duration_ms((3 + rand() % 5) * 1000); ble::adv_duration_t random_duration(random_duration_ms); error = _ble.gap().startAdvertising( - _adv_handle/*, - random_duration*/ + _adv_handle, + random_duration ); if (error) { @@ -259,18 +257,17 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E { _is_connecting_or_syncing = false; - ble_error_t error = _gap.setScanParameters( - ble::ScanParameters() - ); + ble::ScanParameters scan_params; + scan_params.setOwnAddressType(ble::own_address_type_t::PUBLIC); + + ble_error_t error = _gap.setScanParameters(scan_params); if (error) { print_error(error, "Error caused by Gap::setScanParameters\r\n"); return; } - error = _gap.startScan( - ble::scan_duration_t(ble::millisecond_t(SCAN_TIME)) - ); + error = _gap.startScan(ble::scan_duration_t(500)); if (error) { print_error(error, "Error caused by Gap::startScan\r\n"); @@ -415,8 +412,9 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ) { if (event.getStatus() == BLE_ERROR_NONE) { printf("Synced with periodic advertising\r\n"); - } else { _sync_handle = event.getSyncHandle(); + } else { + printf("Synced with periodic advertising failed\r\n"); } } From a485f4f0e9f4861b867acca267b9489686eba734 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Sat, 8 Dec 2018 21:35:31 +0000 Subject: [PATCH 091/100] fix per example flow --- BLE_PeriodicAdvertising/source/main.cpp | 13 +++++++++---- BLE_PeriodicAdvertising/source/pretty_printer.h | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index 0a16cbd0..cd9fced7 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -235,7 +235,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ); if (error) { - print_error(error, "AdvertisingDataBuilder::setFlags() failed\r\n"); + print_error(error, "AdvertisingDataBuilder::setServiceData() failed\r\n"); return; } @@ -316,6 +316,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E /* if we haven't established our roles connect, otherwise sync with advertising */ if (_role_established) { printf("We found the peer, syncing\r\n"); + _gap.stopScan(); ble_error_t error = _gap.createSync( event.getPeerAddressType(), event.getPeerAddress(), @@ -367,8 +368,10 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E virtual void onScanTimeout( const ble::ScanTimeoutEvent& ) { - printf("Scanning ended, failed to find peer\r\n"); - _event_queue.call(this, &PeriodicDemo::start_role); + if (!_is_connecting_or_syncing) { + printf("Scanning ended, failed to find peer\r\n"); + _event_queue.call(this, &PeriodicDemo::start_role); + } } /** This is called by Gap to notify the application we connected */ @@ -376,6 +379,8 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E const ble::ConnectionCompleteEvent &event ) { if (event.getStatus() == BLE_ERROR_NONE) { + printf("Connected to: "); + print_address(event.getPeerAddress().data()); printf("Roles established\r\n"); _role_established = true; @@ -414,7 +419,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E printf("Synced with periodic advertising\r\n"); _sync_handle = event.getSyncHandle(); } else { - printf("Synced with periodic advertising failed\r\n"); + printf("Sync with periodic advertising failed\r\n"); } } diff --git a/BLE_PeriodicAdvertising/source/pretty_printer.h b/BLE_PeriodicAdvertising/source/pretty_printer.h index 029ab385..46f0372b 100644 --- a/BLE_PeriodicAdvertising/source/pretty_printer.h +++ b/BLE_PeriodicAdvertising/source/pretty_printer.h @@ -68,7 +68,7 @@ inline void print_error(ble_error_t error, const char* msg) } /** print device address to the terminal */ -inline void print_address(const Gap::Address_t &addr) +inline void print_address(const uint8_t *addr) { printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n", addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]); From 7293b766f9317b1a2aaa120765d022a4bf939c87 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Sat, 8 Dec 2018 21:38:55 +0000 Subject: [PATCH 092/100] omit reports without periodic interval --- BLE_PeriodicAdvertising/source/main.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index cd9fced7..ffdce452 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -303,6 +303,11 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E return; } + /* if we're looking for periodic advertising don't bother unless it's present */ + if (_role_established && event.isPeriodicIntervalPresent()) { + return; + } + ble::AdvertisingDataParser adv_parser(event.getPayload()); /* parse the advertising payload, looking for a discoverable device */ @@ -317,6 +322,9 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E if (_role_established) { printf("We found the peer, syncing\r\n"); _gap.stopScan(); + + printf("We found the peer, syncing with SID %d %d\r\n", event.getSID()); + ble_error_t error = _gap.createSync( event.getPeerAddressType(), event.getPeerAddress(), From c22576d7f235f49de078fb5c8851b43b1a0d6aa1 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Sun, 9 Dec 2018 19:09:47 +0000 Subject: [PATCH 093/100] fixed periodic --- BLE_PeriodicAdvertising/source/main.cpp | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index ffdce452..2fcc34de 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -189,10 +189,21 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E void advertise_periodic() { + ble::AdvertisingParameters adv_params; + adv_params.setType(ble::advertising_type_t::NON_CONNECTABLE_UNDIRECTED); + adv_params.setUseLegacyPDU(false); + adv_params.setOwnAddressType(ble::own_address_type_t::PUBLIC); + + ble_error_t error = _gap.setAdvertisingParameters(_adv_handle, adv_params); + + if (error) { + print_error(error, "Gap::setAdvertisingParameters() failed\r\n"); + return; + } /* Start advertising the set as the advertising needs to be active * before we start periodic advertising */ - ble_error_t error = _gap.startAdvertising(_adv_handle); + error = _gap.startAdvertising(_adv_handle); if (error) { print_error(error, "Gap::startAdvertising() failed\r\n"); @@ -304,7 +315,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E } /* if we're looking for periodic advertising don't bother unless it's present */ - if (_role_established && event.isPeriodicIntervalPresent()) { + if (_role_established && !event.isPeriodicIntervalPresent()) { return; } @@ -320,10 +331,9 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E (memcmp(field.value.data(), DEVICE_NAME, field.value.size()) == 0)) { /* if we haven't established our roles connect, otherwise sync with advertising */ if (_role_established) { - printf("We found the peer, syncing\r\n"); - _gap.stopScan(); - - printf("We found the peer, syncing with SID %d %d\r\n", event.getSID()); + printf("We found the peer, syncing with SID %d" + "and periodic interval %dms\r\n", + event.getSID(), event.getPeriodicInterval().valueInMs()); ble_error_t error = _gap.createSync( event.getPeerAddressType(), @@ -333,6 +343,8 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ble::sync_timeout_t(ble::millisecond_t(500)) ); + _is_connecting_or_syncing = true; + if (error) { print_error(error, "Error caused by Gap::createSync\r\n"); return; From 11e17a0de0eaa3e0bdad1be7f67ac9c390ed5592 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Sun, 9 Dec 2018 19:10:56 +0000 Subject: [PATCH 094/100] remove redundant lines --- BLE_PeriodicAdvertising/source/main.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index 2fcc34de..a7d9f367 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -343,8 +343,6 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ble::sync_timeout_t(ble::millisecond_t(500)) ); - _is_connecting_or_syncing = true; - if (error) { print_error(error, "Error caused by Gap::createSync\r\n"); return; @@ -447,8 +445,6 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E virtual void onPeriodicAdvertisingReport( const ble::PeriodicAdvertisingReportEvent &event ) { - event.getPayload(); - ble::AdvertisingDataParser adv_parser(event.getPayload()); /* parse the advertising payload, looking for a battery level */ From 8cff36f0adf594d4bcb133a7e94068e5d86bedc6 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 3 Jan 2019 15:53:34 +0000 Subject: [PATCH 095/100] use corret macro for button --- BLE_Button/source/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BLE_Button/source/main.cpp b/BLE_Button/source/main.cpp index 924c0120..9516db5e 100644 --- a/BLE_Button/source/main.cpp +++ b/BLE_Button/source/main.cpp @@ -32,7 +32,7 @@ class BatteryDemo : ble::Gap::EventHandler { _ble(ble), _event_queue(event_queue), _led1(LED1, 1), - _button(BUTTON1), + _button(BLE_BUTTON_PIN_NAME), _button_service(NULL), _button_uuid(ButtonService::BUTTON_SERVICE_UUID), _adv_data_builder(_adv_buffer) { } From bd55fe4c15f718e379815fe5462ab98b9a558497 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Thu, 3 Jan 2019 15:55:22 +0000 Subject: [PATCH 096/100] remove toolchain and arch from .mbed --- BLE_SM/.mbed | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/BLE_SM/.mbed b/BLE_SM/.mbed index 7d868af6..ceaf11b8 100644 --- a/BLE_SM/.mbed +++ b/BLE_SM/.mbed @@ -1,3 +1 @@ -ROOT=. -TARGET=DISCO_L475VG_IOT01A -TOOLCHAIN=GCC_ARM +ROOT=. \ No newline at end of file From ccab5f0759c822fd61c7391e0a36c627e15c4393 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 7 Jan 2019 16:57:16 +0000 Subject: [PATCH 097/100] update .lib bluenrg --- BLE_PeriodicAdvertising/shields/TARGET_CORDIO_BLUENRG.lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BLE_PeriodicAdvertising/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_PeriodicAdvertising/shields/TARGET_CORDIO_BLUENRG.lib index 4187af53..22b07f40 100644 --- a/BLE_PeriodicAdvertising/shields/TARGET_CORDIO_BLUENRG.lib +++ b/BLE_PeriodicAdvertising/shields/TARGET_CORDIO_BLUENRG.lib @@ -1 +1 @@ -https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#d0a0b2790533b1622541bccf96335aac7f0551a2 +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#811f3fea7aa8083c0bbf378e1b51a8b131d7efcc From 1090ea5a9d2497bfcb3473c37c8a9b20cdb1615a Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 7 Jan 2019 17:08:28 +0000 Subject: [PATCH 098/100] set own addr type to random instead of public --- BLE_PeriodicAdvertising/source/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index a7d9f367..7cf004ed 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -136,7 +136,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ble::AdvertisingParameters adv_params; adv_params.setUseLegacyPDU(false); - adv_params.setOwnAddressType(ble::own_address_type_t::PUBLIC); + adv_params.setOwnAddressType(ble::own_address_type_t::RANDOM); /* create the advertising set with its parameter if we haven't yet */ if (_adv_handle == ble::INVALID_ADVERTISING_HANDLE) { @@ -192,7 +192,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E ble::AdvertisingParameters adv_params; adv_params.setType(ble::advertising_type_t::NON_CONNECTABLE_UNDIRECTED); adv_params.setUseLegacyPDU(false); - adv_params.setOwnAddressType(ble::own_address_type_t::PUBLIC); + adv_params.setOwnAddressType(ble::own_address_type_t::RANDOM); ble_error_t error = _gap.setAdvertisingParameters(_adv_handle, adv_params); @@ -269,7 +269,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E _is_connecting_or_syncing = false; ble::ScanParameters scan_params; - scan_params.setOwnAddressType(ble::own_address_type_t::PUBLIC); + scan_params.setOwnAddressType(ble::own_address_type_t::RANDOM); ble_error_t error = _gap.setScanParameters(scan_params); From 7b4c54944a58ee7063f3f492fa6c8c39d67f8d22 Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 7 Jan 2019 17:08:42 +0000 Subject: [PATCH 099/100] typo in func name --- BLE_PeriodicAdvertising/source/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BLE_PeriodicAdvertising/source/main.cpp b/BLE_PeriodicAdvertising/source/main.cpp index 7cf004ed..dc98e039 100644 --- a/BLE_PeriodicAdvertising/source/main.cpp +++ b/BLE_PeriodicAdvertising/source/main.cpp @@ -222,7 +222,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E } /* we will put the battery level data in there and update it every second */ - update_paylod(); + update_payload(); error = _gap.startPeriodicAdvertising(_adv_handle); @@ -237,7 +237,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E _event_queue.call_every(1000, this, &PeriodicDemo::update_sensor_value); } - void update_paylod() + void update_payload() { /* advertising payload will have the battery level which we will update */ ble_error_t error = _adv_data_builder.setServiceData( @@ -480,7 +480,7 @@ class PeriodicDemo : private mbed::NonCopyable, public ble::Gap::E } _battery_service.updateBatteryLevel(_battery_level); - update_paylod(); + update_payload(); } /** Blink LED to show we're running */ From 4240d47a0e7720fd964e9fac83cd646a10acef7f Mon Sep 17 00:00:00 2001 From: paul-szczepanek-arm <33840200+paul-szczepanek-arm@users.noreply.github.com> Date: Mon, 7 Jan 2019 17:09:34 +0000 Subject: [PATCH 100/100] update mbedos .lib --- BLE_PeriodicAdvertising/mbed-os.lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BLE_PeriodicAdvertising/mbed-os.lib b/BLE_PeriodicAdvertising/mbed-os.lib index 0bb3a73b..0ec01f6e 100644 --- a/BLE_PeriodicAdvertising/mbed-os.lib +++ b/BLE_PeriodicAdvertising/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#103c9cb509c706ac972f0e8767141a5bf0270651 +https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e \ No newline at end of file

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 LD2ms9F%0}48|{>F literal 0 HcmV?d00001 diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/img/result.png b/BLE_GAPButton/deprecated/BLE_GAPButton/img/result.png new file mode 100644 index 0000000000000000000000000000000000000000..c0681355b10a31fe08431947a09c94d89bf62ec4 GIT binary patch literal 71025 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 _-ZGrNKNa(LDSSk4Ss(bN}?5XFWUp#_eu5 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 literal 0 HcmV?d00001 diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/mbed-os.lib b/BLE_GAPButton/deprecated/BLE_GAPButton/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_GAPButton/deprecated/BLE_GAPButton/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/mbed_app.json b/BLE_GAPButton/deprecated/BLE_GAPButton/mbed_app.json new file mode 100644 index 00000000..15fd0abc --- /dev/null +++ b/BLE_GAPButton/deprecated/BLE_GAPButton/mbed_app.json @@ -0,0 +1,35 @@ +{ + "config": { + "ble_button_pin_name": { + "help": "The pin name used as button in this application", + "macro_name": "BLE_BUTTON_PIN_NAME", + "required": true + } + }, + "target_overrides": { + "NRF51_DK": { + "ble_button_pin_name": "BUTTON1" + }, + "NRF52_DK": { + "ble_button_pin_name": "BUTTON1" + }, + "MTB_UBLOX_NINA_B1": { + "ble_button_pin_name": "BUTTON1" + }, + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "ble_button_pin_name": "SW2" + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "ble_button_pin_name": "USER_BUTTON" + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"], + "ble_button_pin_name": "USER_BUTTON" + } + } +} diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/module.json b/BLE_GAPButton/deprecated/BLE_GAPButton/module.json new file mode 100644 index 00000000..83c154cf --- /dev/null +++ b/BLE_GAPButton/deprecated/BLE_GAPButton/module.json @@ -0,0 +1,12 @@ +{ + "name": "ble-gapbutton", + "version": "0.0.1", + "bin": "./source", + "description": "BLE button that uses gap advertisement to broadcast its state.", + "author": "Liyou Zhou", + "license": "Apache-2.0", + "dependencies": { + "mbed-drivers": "*", + "ble": "^2.0.0" + } +} diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GAPButton/deprecated/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..a73dc227 --- /dev/null +++ b/BLE_GAPButton/deprecated/BLE_GAPButton/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc \ No newline at end of file diff --git a/BLE_GAPButton/deprecated/BLE_GAPButton/source/main.cpp b/BLE_GAPButton/deprecated/BLE_GAPButton/source/main.cpp new file mode 100644 index 00000000..67305d6f --- /dev/null +++ b/BLE_GAPButton/deprecated/BLE_GAPButton/source/main.cpp @@ -0,0 +1,209 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include "ble/BLE.h" + +DigitalOut led1(LED1, 1); +InterruptIn button(BLE_BUTTON_PIN_NAME); +uint8_t cnt; + +// Change your device name below +const char DEVICE_NAME[] = "GAPButton"; + +/* We can arbiturarily choose the GAPButton service UUID to be 0xAA00 + * as long as it does not overlap with the UUIDs defined here: + * https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx */ +#define GAPButtonUUID 0xAA00 +const uint16_t uuid16_list[] = {GAPButtonUUID}; + +static EventQueue eventQueue(/* event count */ 16 * EVENTS_EVENT_SIZE); + +void print_error(ble_error_t error, const char* msg) +{ + printf("%s: ", msg); + switch(error) { + case BLE_ERROR_NONE: + printf("BLE_ERROR_NONE: No error"); + break; + case BLE_ERROR_BUFFER_OVERFLOW: + printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted"); + break; + case BLE_ERROR_NOT_IMPLEMENTED: + printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW"); + break; + case BLE_ERROR_PARAM_OUT_OF_RANGE: + printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range"); + break; + case BLE_ERROR_INVALID_PARAM: + printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid"); + break; + case BLE_STACK_BUSY: + printf("BLE_STACK_BUSY: The stack is busy"); + break; + case BLE_ERROR_INVALID_STATE: + printf("BLE_ERROR_INVALID_STATE: Invalid state"); + break; + case BLE_ERROR_NO_MEM: + printf("BLE_ERROR_NO_MEM: Out of Memory"); + break; + case BLE_ERROR_OPERATION_NOT_PERMITTED: + printf("BLE_ERROR_OPERATION_NOT_PERMITTED"); + break; + case BLE_ERROR_INITIALIZATION_INCOMPLETE: + printf("BLE_ERROR_INITIALIZATION_INCOMPLETE"); + break; + case BLE_ERROR_ALREADY_INITIALIZED: + printf("BLE_ERROR_ALREADY_INITIALIZED"); + break; + case BLE_ERROR_UNSPECIFIED: + printf("BLE_ERROR_UNSPECIFIED: Unknown error"); + break; + case BLE_ERROR_INTERNAL_STACK_FAILURE: + printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack faillure"); + break; + } + printf("\r\n"); +} + +void updatePayload(void) +{ + // Update the count in the SERVICE_DATA field of the advertising payload + uint8_t service_data[3]; + service_data[0] = GAPButtonUUID & 0xff; + service_data[1] = GAPButtonUUID >> 8; + service_data[2] = cnt; // Put the button click count in the third byte + ble_error_t err = BLE::Instance().gap().updateAdvertisingPayload(GapAdvertisingData::SERVICE_DATA, (uint8_t *)service_data, sizeof(service_data)); + if (err != BLE_ERROR_NONE) { + print_error(err, "Updating payload failed"); + } +} + +void buttonPressedCallback(void) +{ + ++cnt; + + // Calling BLE api in interrupt context may cause race conditions + // Using mbed-events to schedule calls to BLE api for safety + eventQueue.call(updatePayload); +} + +void blinkCallback(void) +{ + led1 = !led1; +} + +void printMacAddress() +{ + /* Print out device MAC address to the console*/ + Gap::AddressType_t addr_type; + Gap::Address_t address; + BLE::Instance().gap().getAddress(&addr_type, address); + printf("DEVICE MAC ADDRESS: "); + for (int i = 5; i >= 1; i--){ + printf("%02x:", address[i]); + } + printf("%02x\r\n", address[0]); +} + +void bleInitComplete(BLE::InitializationCompleteCallbackContext *context) +{ + BLE& ble = context->ble; + ble_error_t err = context->error; + + if (err != BLE_ERROR_NONE) { + print_error(err, "BLE initialisation failed"); + return; + } + + // Set up the advertising flags. Note: not all combination of flags are valid + // BREDR_NOT_SUPPORTED: Device does not support Basic Rate or Enchanced Data Rate, It is Low Energy only. + // LE_GENERAL_DISCOVERABLE: Peripheral device is discoverable at any moment + err = ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); + if (err != BLE_ERROR_NONE) { + print_error(err, "Setting GAP flags failed"); + return; + } + + // Put the device name in the advertising payload + err = ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); + if (err != BLE_ERROR_NONE) { + print_error(err, "Setting device name failed"); + return; + } + + err = ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); + if (err != BLE_ERROR_NONE) { + print_error(err, "Setting service UUID failed"); + return; + } + + // The Service Data data type consists of a service UUID with the data associated with that service. + // We will encode the number of button clicks in the Service Data field + // First two bytes of SERVICE_DATA field should contain the UUID of the service + uint8_t service_data[3]; + service_data[0] = GAPButtonUUID & 0xff; + service_data[1] = GAPButtonUUID >> 8; + service_data[2] = cnt; // Put the button click count in the third byte + err = ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::SERVICE_DATA, (uint8_t *)service_data, sizeof(service_data)); + if (err != BLE_ERROR_NONE) { + print_error(err, "Setting service data failed"); + return; + } + + // It is not connectable as we are just boardcasting + ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED); + + // Send out the advertising payload every 1000ms + ble.gap().setAdvertisingInterval(1000); + + err = ble.gap().startAdvertising(); + if (err != BLE_ERROR_NONE) { + print_error(err, "Start advertising failed"); + return; + } + + printMacAddress(); +} + +void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) { + BLE &ble = BLE::Instance(); + eventQueue.call(Callback(&ble, &BLE::processEvents)); +} + +int main() +{ + cnt = 0; + + BLE &ble = BLE::Instance(); + ble.onEventsToProcess(scheduleBleEventsProcessing); + ble_error_t err = ble.init(bleInitComplete); + if (err != BLE_ERROR_NONE) { + print_error(err, "BLE initialisation failed"); + return 0; + } + + // Blink LED every 500 ms to indicate system aliveness + eventQueue.call_every(500, blinkCallback); + + // Register function to be called when button is released + button.rise(buttonPressedCallback); + + eventQueue.dispatch_forever(); + + return 0; +} diff --git a/BLE_GattClient/deprecated/BLE_GattClient/.mbed b/BLE_GattClient/deprecated/BLE_GattClient/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_GattClient/deprecated/BLE_GattClient/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_GattClient/deprecated/BLE_GattClient/BLEProcess.h b/BLE_GattClient/deprecated/BLE_GattClient/BLEProcess.h new file mode 100644 index 00000000..a298477d --- /dev/null +++ b/BLE_GattClient/deprecated/BLE_GattClient/BLEProcess.h @@ -0,0 +1,231 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2015 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GATT_EXAMPLE_BLE_PROCESS_H_ +#define GATT_EXAMPLE_BLE_PROCESS_H_ + +#include +#include + +#include "events/EventQueue.h" +#include "platform/Callback.h" +#include "platform/NonCopyable.h" + +#include "ble/BLE.h" +#include "ble/Gap.h" +#include "ble/GapAdvertisingParams.h" +#include "ble/GapAdvertisingData.h" +#include "ble/FunctionPointerWithContext.h" + +/** + * Handle initialization and shutdown of the BLE Instance. + * + * Setup advertising payload and manage advertising state. + * Delegate to GattClientProcess once the connection is established. + */ +class BLEProcess : private mbed::NonCopyable { +public: + /** + * Construct a BLEProcess from an event queue and a ble interface. + * + * Call start() to initiate ble processing. + */ + BLEProcess(events::EventQueue &event_queue, BLE &ble_interface) : + _event_queue(event_queue), + _ble_interface(ble_interface), + _post_init_cb() { + } + + ~BLEProcess() + { + stop(); + } + + /** + * Initialize the ble interface, configure it and start advertising. + */ + bool start() + { + printf("Ble process started.\r\n"); + + if (_ble_interface.hasInitialized()) { + printf("Error: the ble instance has already been initialized.\r\n"); + return false; + } + + _ble_interface.onEventsToProcess( + makeFunctionPointer(this, &BLEProcess::schedule_ble_events) + ); + + ble_error_t error = _ble_interface.init( + this, &BLEProcess::when_init_complete + ); + + if (error) { + printf("Error: %u returned by BLE::init.\r\n", error); + return false; + } + + return true; + } + + /** + * Close existing connections and stop the process. + */ + void stop() + { + if (_ble_interface.hasInitialized()) { + _ble_interface.shutdown(); + printf("Ble process stopped."); + } + } + + /** + * Subscription to the ble interface initialization event. + * + * @param[in] cb The callback object that will be called when the ble + * interface is initialized. + */ + void on_init(mbed::Callback cb) + { + _post_init_cb = cb; + } + +private: + /** + * Sets up adverting payload and start advertising. + * + * This function is invoked when the ble interface is initialized. + */ + void when_init_complete(BLE::InitializationCompleteCallbackContext *event) + { + if (event->error) { + printf("Error %u during the initialization\r\n", event->error); + return; + } + printf("Ble instance initialized\r\n"); + + Gap &gap = _ble_interface.gap(); + ble_error_t error = gap.setAdvertisingPayload(make_advertising_data()); + if (error) { + printf("Error %u during gap.setAdvertisingPayload\r\n", error); + return; + } + + gap.setAdvertisingParams(make_advertising_params()); + + gap.onConnection(this, &BLEProcess::when_connection); + gap.onDisconnection(this, &BLEProcess::when_disconnection); + + start_advertising(); + + if (_post_init_cb) { + _post_init_cb(_ble_interface, _event_queue); + } + } + + /** + * Start the gatt client process when a connection event is received. + */ + void when_connection(const Gap::ConnectionCallbackParams_t *connection_event) + { + printf("Connected.\r\n"); + } + + /** + * Stop the gatt client process when the device is disconnected then restart + * advertising. + */ + void when_disconnection(const Gap::DisconnectionCallbackParams_t *event) + { + printf("Disconnected.\r\n"); + start_advertising(); + } + + /** + * Setup the advertising parameters. + */ + void setup_advertising() + { + Gap &gap = _ble_interface.gap(); + gap.setAdvertisingPayload(make_advertising_data()); + gap.setAdvertisingParams(make_advertising_params()); + } + + /** + * Start the advertising process; it ends when a device connects. + */ + void start_advertising() + { + ble_error_t error = _ble_interface.gap().startAdvertising(); + if (error) { + printf("Error %u during gap.startAdvertising.\r\n", error); + } else { + printf("Advertising started.\r\n"); + } + } + + /** + * Schedule processing of events from the BLE middleware in the event queue. + */ + void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *event) + { + _event_queue.call(mbed::callback(&event->ble, &BLE::processEvents)); + } + + /** + * Build data advertised by the BLE interface. + */ + static GapAdvertisingData make_advertising_data(void) + { + static const uint8_t device_name[] = "GattClient"; + GapAdvertisingData advertising_data; + + // add advertising flags + advertising_data.addFlags( + GapAdvertisingData::LE_GENERAL_DISCOVERABLE | + GapAdvertisingData::BREDR_NOT_SUPPORTED + ); + + // add device name + advertising_data.addData( + GapAdvertisingData::COMPLETE_LOCAL_NAME, + device_name, + sizeof(device_name) + ); + + return advertising_data; + } + + /** + * Build advertising parameters used by the BLE interface. + */ + static GapAdvertisingParams make_advertising_params(void) + { + return GapAdvertisingParams( + /* type */ GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED, + /* interval */ GapAdvertisingParams::MSEC_TO_ADVERTISEMENT_DURATION_UNITS(500), + /* timeout */ 0 + ); + } + + events::EventQueue &_event_queue; + BLE &_ble_interface; + mbed::Callback _post_init_cb; +}; + + +#endif /* GATT_EXAMPLE_BLE_PROCESS_H_ */ diff --git a/BLE_GattClient/deprecated/BLE_GattClient/README.md b/BLE_GattClient/deprecated/BLE_GattClient/README.md new file mode 100644 index 00000000..a6fbe00e --- /dev/null +++ b/BLE_GattClient/deprecated/BLE_GattClient/README.md @@ -0,0 +1,33 @@ +# BLE Gatt Client example + +This application demonstrates detailed uses of the GattClient APIs. + +When the application is started it advertises itself to its environment with the +device name `GattClient`. Once you have connected to the device with your mobile +phone, the application starts a discovery of the GATT server exposed by your +mobile phone. + +After the discovery, this application reads the value of the characteristics +discovered and subscribes to the characteristics emitting notifications or +indications. + +The device prints the value of any indication or notification received from the +mobile phone. + +# Running the application + +## Requirements + +You may use a generic BLE scanners: + +- [nRF Master Control Panel](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) for Android. + +- [LightBlue](https://itunes.apple.com/gb/app/lightblue-bluetooth-low-energy/id557428110?mt=8) for iPhone. + +Hardware requirements are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + +## Building instructions + +Building instructions for all samples are in the [main readme](https://github.com/ARMmbed/mbed-os-example-ble/blob/master/README.md). + + diff --git a/BLE_GattClient/deprecated/BLE_GattClient/main.cpp b/BLE_GattClient/deprecated/BLE_GattClient/main.cpp new file mode 100644 index 00000000..27bcdd93 --- /dev/null +++ b/BLE_GattClient/deprecated/BLE_GattClient/main.cpp @@ -0,0 +1,580 @@ + +/* mbed Microcontroller Library + * Copyright (c) 2006-2017 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include + +#include "events/EventQueue.h" +#include "platform/NonCopyable.h" + +#include "ble/BLE.h" +#include "ble/Gap.h" +#include "ble/GattClient.h" +#include "ble/GapAdvertisingParams.h" +#include "ble/GapAdvertisingData.h" +#include "ble/GattClient.h" +#include "ble/DiscoveredService.h" +#include "ble/DiscoveredCharacteristic.h" +#include "ble/CharacteristicDescriptorDiscovery.h" + +#include "BLEProcess.h" + +/** + * Handle discovery of the GATT server. + * + * First the GATT server is discovered in its entirety then each readable + * characteristic is read and the client register to characteristic + * notifications or indication when available. The client report server + * indications and notification until the connection end. + */ +class GattClientProcess : private mbed::NonCopyable { + + // Internal typedef to this class type. + // It is used as a shorthand to pass member function as callbacks. + typedef GattClientProcess Self; + + typedef CharacteristicDescriptorDiscovery::DiscoveryCallbackParams_t + DiscoveryCallbackParams_t; + + typedef CharacteristicDescriptorDiscovery::TerminationCallbackParams_t + TerminationCallbackParams_t; + + typedef DiscoveredCharacteristic::Properties_t Properties_t; + +public: + + /** + * Construct an empty client process. + * + * The function start() shall be called to initiate the discovery process. + */ + GattClientProcess() : + _client(NULL), + _connection_handle(), + _characteristics(NULL), + _it(NULL), + _descriptor_handle(0), + _ble_interface(NULL), + _event_queue(NULL) { + } + + ~GattClientProcess() + { + stop(); + } + + void init(BLE &ble_interface, events::EventQueue &event_queue) + { + _ble_interface = &ble_interface; + _event_queue = &event_queue; + _client = &_ble_interface->gattClient(); + + _ble_interface->gap().onConnection(as_cb(&Self::on_connection)); + _ble_interface->gap().onDisconnection(as_cb(&Self::on_disconnection)); + } + + /** + * Event handler invoked when a connection is established. + * + * This function setup the connection handle to operate on then start the + * discovery process. + */ + void on_connection(const Gap::ConnectionCallbackParams_t* connection_event) + { + _connection_handle = connection_event->handle; + _event_queue->call(mbed::callback(this, &Self::start)); + } + + /** + * Start the discovery process. + * + * @param[in] client The GattClient instance which will discover the distant + * GATT server. + * @param[in] connection_handle Reference of the connection to the GATT + * server which will be discovered. + */ + void start() + { + // setup the event handlers called during the process + _client->onDataWritten().add(as_cb(&Self::when_descriptor_written)); + _client->onHVX().add(as_cb(&Self::when_characteristic_changed)); + + // The discovery process will invoke when_service_discovered when a + // service is discovered, when_characteristic_discovered when a + // characteristic is discovered and when_service_discovery_ends once the + // discovery process has ended. + _client->onServiceDiscoveryTermination(as_cb(&Self::when_service_discovery_ends)); + ble_error_t error = _client->launchServiceDiscovery( + _connection_handle, + as_cb(&Self::when_service_discovered), + as_cb(&Self::when_characteristic_discovered) + ); + + if (error) { + printf("Error %u returned by _client->launchServiceDiscovery.\r\n", error); + return; + } + + printf("Client process started: initiate service discovery.\r\n"); + } + + /** + * Stop the discovery process and clean the instance. + */ + void on_disconnection(const Gap::DisconnectionCallbackParams_t* disconnection_event) + { + if (!_client || disconnection_event->handle != _connection_handle) { + return; + } + stop(); + } + + /** + * Stop the discovery process and clean the instance. + */ + void stop() + { + if (!_client) { + return; + } + + // unregister event handlers + _client->onDataWritten().detach(as_cb(&Self::when_descriptor_written)); + _client->onHVX().detach(as_cb(&Self::when_characteristic_changed)); + _client->onServiceDiscoveryTermination(NULL); + + // remove discovered characteristics + clear_characteristics(); + + // clean up the instance + _connection_handle = 0; + _characteristics = NULL; + _it = NULL; + _descriptor_handle = 0; + + printf("Client process stopped.\r\n"); + } + +private: +//////////////////////////////////////////////////////////////////////////////// +// Service and characteristic discovery process. + + /** + * Handle services discovered. + * + * The GattClient invokes this function when a service has been discovered. + * + * @see GattClient::launchServiceDiscovery + */ + void when_service_discovered(const DiscoveredService *discovered_service) + { + // print information of the service discovered + printf("Service discovered: value = "); + print_uuid(discovered_service->getUUID()); + printf(", start = %u, end = %u.\r\n", + discovered_service->getStartHandle(), + discovered_service->getEndHandle() + ); + } + + /** + * Handle characteristics discovered. + * + * The GattClient invoke this function when a characteristic has been + * discovered. + * + * @see GattClient::launchServiceDiscovery + */ + void when_characteristic_discovered(const DiscoveredCharacteristic *discovered_characteristic) + { + // print characteristics properties + printf("\tCharacteristic discovered: uuid = "); + print_uuid(discovered_characteristic->getUUID()); + printf(", properties = "); + print_properties(discovered_characteristic->getProperties()); + printf( + ", decl handle = %u, value handle = %u, last handle = %u.\r\n", + discovered_characteristic->getDeclHandle(), + discovered_characteristic->getValueHandle(), + discovered_characteristic->getLastHandle() + ); + + // add the characteristic into the list of discovered characteristics + bool success = add_characteristic(discovered_characteristic); + if (!success) { + printf("Error: memory allocation failure while adding the discovered characteristic.\r\n"); + _client->terminateServiceDiscovery(); + stop(); + return; + } + } + + /** + * Handle termination of the service and characteristic discovery process. + * + * The GattClient invokes this function when the service and characteristic + * discovery process ends. + * + * @see GattClient::onServiceDiscoveryTermination + */ + void when_service_discovery_ends(Gap::Handle_t connection_handle) + { + if (!_characteristics) { + printf("No characteristics discovered, end of the process.\r\n"); + return; + } + + printf("All services and characteristics discovered, process them.\r\n"); + + // reset iterator and start processing characteristics in order + _it = NULL; + _event_queue->call(mbed::callback(this, &Self::process_next_characteristic)); + } + +//////////////////////////////////////////////////////////////////////////////// +// Processing of characteristics based on their properties. + + /** + * Process the characteristics discovered. + * + * - If the characteristic is readable then read its value and print it. Then + * - If the characteristic can emit notification or indication then discover + * the characteristic CCCD and subscribe to the server initiated event. + * - Otherwise skip the characteristic processing. + */ + void process_next_characteristic(void) + { + if (!_it) { + _it = _characteristics; + } else { + _it = _it->next; + } + + while (_it) { + Properties_t properties = _it->value.getProperties(); + + if (properties.read()) { + read_characteristic(_it->value); + return; + } else if(properties.notify() || properties.indicate()) { + discover_descriptors(_it->value); + return; + } else { + printf( + "Skip processing of characteristic %u\r\n", + _it->value.getValueHandle() + ); + _it = _it->next; + } + } + + printf("All characteristics discovered have been processed.\r\n"); + } + + /** + * Initate the read of the characteristic in input. + * + * The completion of the operation will happens in when_characteristic_read() + */ + void read_characteristic(const DiscoveredCharacteristic &characteristic) + { + printf("Initiating read at %u.\r\n", characteristic.getValueHandle()); + ble_error_t error = characteristic.read( + 0, as_cb(&Self::when_characteristic_read) + ); + + if (error) { + printf( + "Error: cannot initiate read at %u due to %u\r\n", + characteristic.getValueHandle(), error + ); + stop(); + } + } + + /** + * Handle the reception of a read response. + * + * If the characteristic can emit notification or indication then start the + * discovery of the the characteristic descriptors then subscribe to the + * server initiated event by writing the CCCD discovered. Otherwise start + * the processing of the next characteristic discovered in the server. + */ + void when_characteristic_read(const GattReadCallbackParams *read_event) + { + printf("\tCharacteristic value at %u equal to: ", read_event->handle); + for (size_t i = 0; i < read_event->len; ++i) { + printf("0x%02X ", read_event->data[i]); + } + printf(".\r\n"); + + Properties_t properties = _it->value.getProperties(); + + if(properties.notify() || properties.indicate()) { + discover_descriptors(_it->value); + } else { + process_next_characteristic(); + } + } + + /** + * Initiate the discovery of the descriptors of the characteristic in input. + * + * When a descriptor is discovered, the function when_descriptor_discovered + * is invoked. + */ + void discover_descriptors(const DiscoveredCharacteristic &characteristic) + { + printf("Initiating descriptor discovery of %u.\r\n", characteristic.getValueHandle()); + + _descriptor_handle = 0; + ble_error_t error = characteristic.discoverDescriptors( + as_cb(&Self::when_descriptor_discovered), + as_cb(&Self::when_descriptor_discovery_ends) + ); + + if (error) { + printf( + "Error: cannot initiate discovery of %04X due to %u.\r\n", + characteristic.getValueHandle(), error + ); + stop(); + } + } + + /** + * Handle the discovery of the characteristic descriptors. + * + * If the descriptor found is a CCCD then stop the discovery. Once the + * process has ended subscribe to server initiated events by writing the + * value of the CCCD. + */ + void when_descriptor_discovered(const DiscoveryCallbackParams_t* event) + { + printf("\tDescriptor discovered at %u, UUID: ", event->descriptor.getAttributeHandle()); + print_uuid(event->descriptor.getUUID()); + printf(".\r\n"); + + if (event->descriptor.getUUID() == BLE_UUID_DESCRIPTOR_CLIENT_CHAR_CONFIG) { + _descriptor_handle = event->descriptor.getAttributeHandle(); + _client->terminateCharacteristicDescriptorDiscovery( + event->characteristic + ); + } + } + + /** + * If a CCCD has been found subscribe to server initiated events by writing + * its value. + */ + void when_descriptor_discovery_ends(const TerminationCallbackParams_t *event) { + // shall never happen but happen with android devices ... + // process the next charateristic + if (!_descriptor_handle) { + printf("\tWarning: characteristic with notify or indicate attribute without CCCD.\r\n"); + process_next_characteristic(); + return; + } + + Properties_t properties = _it->value.getProperties(); + + uint16_t cccd_value = + (properties.notify() << 0) | (properties.indicate() << 1); + + ble_error_t error = _client->write( + GattClient::GATT_OP_WRITE_REQ, + _connection_handle, + _descriptor_handle, + sizeof(cccd_value), + reinterpret_cast(&cccd_value) + ); + + if (error) { + printf( + "Error: cannot initiate write of CCCD %u due to %u.\r\n", + _descriptor_handle, error + ); + stop(); + } + } + + /** + * Called when the CCCD has been written. + */ + void when_descriptor_written(const GattWriteCallbackParams* event) + { + // should never happen + if (!_descriptor_handle) { + printf("\tError: received write response to unsolicited request.\r\n"); + stop(); + return; + } + + printf("\tCCCD at %u written.\r\n", _descriptor_handle); + _descriptor_handle = 0; + process_next_characteristic(); + } + + /** + * Print the updated value of the characteristic. + * + * This function is called when the server emits a notification or an + * indication of a characteristic value the client has subscribed to. + * + * @see GattClient::onHVX() + */ + void when_characteristic_changed(const GattHVXCallbackParams* event) + { + printf("Change on attribute %u: new value = ", event->handle); + for (size_t i = 0; i < event->len; ++i) { + printf("0x%02X ", event->data[i]); + } + printf(".\r\n"); + } + + struct DiscoveredCharacteristicNode { + DiscoveredCharacteristicNode(const DiscoveredCharacteristic &c) : + value(c), next(NULL) { } + + DiscoveredCharacteristic value; + DiscoveredCharacteristicNode *next; + }; + + /** + * Add a discovered characteristic into the list of discovered characteristics. + */ + bool add_characteristic(const DiscoveredCharacteristic *characteristic) + { + DiscoveredCharacteristicNode* new_node = + new(std::nothrow) DiscoveredCharacteristicNode(*characteristic); + + if (new_node == false) { + printf("Error while allocating a new characteristic.\r\n"); + return false; + } + + if (_characteristics == NULL) { + _characteristics = new_node; + } else { + DiscoveredCharacteristicNode* c = _characteristics; + while(c->next) { + c = c->next; + } + c->next = new_node; + } + + return true; + } + + /** + * Clear the list of discovered characteristics. + */ + void clear_characteristics(void) + { + DiscoveredCharacteristicNode *c= _characteristics; + + while (c) { + DiscoveredCharacteristicNode *n = c->next; + delete c; + c = n; + } + } + + /** + * Helper to construct an event handler from a member function of this + * instance. + */ + template + FunctionPointerWithContext as_cb( + void (Self::*member)(ContextType context) + ) { + return makeFunctionPointer(this, member); + } + + /** + * Print the value of a UUID. + */ + static void print_uuid(const UUID &uuid) + { + const uint8_t *uuid_value = uuid.getBaseUUID(); + + // UUIDs are in little endian, print them in big endian + for (size_t i = 0; i < uuid.getLen(); ++i) { + printf("%02X", uuid_value[(uuid.getLen() - 1) - i]); + } + } + + /** + * Print the value of a characteristic properties. + */ + static void print_properties(const Properties_t &properties) + { + const struct { + bool (Properties_t::*fn)() const; + const char* str; + } prop_to_str[] = { + { &Properties_t::broadcast, "broadcast" }, + { &Properties_t::read, "read" }, + { &Properties_t::writeWoResp, "writeWoResp" }, + { &Properties_t::write, "write" }, + { &Properties_t::notify, "notify" }, + { &Properties_t::indicate, "indicate" }, + { &Properties_t::authSignedWrite, "authSignedWrite" } + }; + + printf("["); + for (size_t i = 0; i < (sizeof(prop_to_str) / sizeof(prop_to_str[0])); ++i) { + if ((properties.*(prop_to_str[i].fn))()) { + printf(" %s", prop_to_str[i].str); + } + } + printf(" ]"); + } + + GattClient *_client; + Gap::Handle_t _connection_handle; + DiscoveredCharacteristicNode *_characteristics; + DiscoveredCharacteristicNode *_it; + GattAttribute::Handle_t _descriptor_handle; + BLE *_ble_interface; + events::EventQueue *_event_queue; +}; + + +int main() { + + BLE &ble_interface = BLE::Instance(); + events::EventQueue event_queue; + BLEProcess ble_process(event_queue, ble_interface); + GattClientProcess gatt_client_process; + + // Register GattClientProcess::init in the ble_process; this function will + // be called once the ble_interface is initialized. + ble_process.on_init( + mbed::callback(&gatt_client_process, &GattClientProcess::init) + ); + + // bind the event queue to the ble interface, initialize the interface + // and start advertising + ble_process.start(); + + // Process the event queue. + event_queue.dispatch_forever(); + + return 0; +} diff --git a/BLE_GattClient/deprecated/BLE_GattClient/mbed-os.lib b/BLE_GattClient/deprecated/BLE_GattClient/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_GattClient/deprecated/BLE_GattClient/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_GattClient/deprecated/BLE_GattClient/mbed_app.json b/BLE_GattClient/deprecated/BLE_GattClient/mbed_app.json new file mode 100644 index 00000000..d9083bba --- /dev/null +++ b/BLE_GattClient/deprecated/BLE_GattClient/mbed_app.json @@ -0,0 +1,16 @@ +{ + "target_overrides": { + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + } + } +} \ No newline at end of file diff --git a/BLE_GattClient/deprecated/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GattClient/deprecated/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..a73dc227 --- /dev/null +++ b/BLE_GattClient/deprecated/BLE_GattClient/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc \ No newline at end of file diff --git a/BLE_GattServer/deprecated/BLE_GattServer/.mbed b/BLE_GattServer/deprecated/BLE_GattServer/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_GattServer/deprecated/BLE_GattServer/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_GattServer/deprecated/BLE_GattServer/BLEProcess.h b/BLE_GattServer/deprecated/BLE_GattServer/BLEProcess.h new file mode 100644 index 00000000..30ba7d02 --- /dev/null +++ b/BLE_GattServer/deprecated/BLE_GattServer/BLEProcess.h @@ -0,0 +1,206 @@ +/* mbed Microcontroller Library + * Copyright (c) 2017 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef GATT_SERVER_EXAMPLE_BLE_PROCESS_H_ +#define GATT_SERVER_EXAMPLE_BLE_PROCESS_H_ + +#include +#include + +#include "events/EventQueue.h" +#include "platform/Callback.h" +#include "platform/NonCopyable.h" + +#include "ble/BLE.h" +#include "ble/Gap.h" +#include "ble/GapAdvertisingParams.h" +#include "ble/GapAdvertisingData.h" +#include "ble/FunctionPointerWithContext.h" + +/** + * Handle initialization adn shutdown of the BLE Instance. + * + * Setup advertising payload and manage advertising state. + * Delegate to GattClientProcess once the connection is established. + */ +class BLEProcess : private mbed::NonCopyable { +public: + /** + * Construct a BLEProcess from an event queue and a ble interface. + * + * Call start() to initiate ble processing. + */ + BLEProcess(events::EventQueue &event_queue, BLE &ble_interface) : + _event_queue(event_queue), + _ble_interface(ble_interface), + _post_init_cb() { + } + + ~BLEProcess() + { + stop(); + } + + /** + * Subscription to the ble interface initialization event. + * + * @param[in] cb The callback object that will be called when the ble + * interface is initialized. + */ + void on_init(mbed::Callback cb) + { + _post_init_cb = cb; + } + + /** + * Initialize the ble interface, configure it and start advertising. + */ + bool start() + { + printf("Ble process started.\r\n"); + + if (_ble_interface.hasInitialized()) { + printf("Error: the ble instance has already been initialized.\r\n"); + return false; + } + + _ble_interface.onEventsToProcess( + makeFunctionPointer(this, &BLEProcess::schedule_ble_events) + ); + + ble_error_t error = _ble_interface.init( + this, &BLEProcess::when_init_complete + ); + + if (error) { + printf("Error: %u returned by BLE::init.\r\n", error); + return false; + } + + return true; + } + + /** + * Close existing connections and stop the process. + */ + void stop() + { + if (_ble_interface.hasInitialized()) { + _ble_interface.shutdown(); + printf("Ble process stopped."); + } + } + +private: + + /** + * Schedule processing of events from the BLE middleware in the event queue. + */ + void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *event) + { + _event_queue.call(mbed::callback(&event->ble, &BLE::processEvents)); + } + + /** + * Sets up adverting payload and start advertising. + * + * This function is invoked when the ble interface is initialized. + */ + void when_init_complete(BLE::InitializationCompleteCallbackContext *event) + { + if (event->error) { + printf("Error %u during the initialization\r\n", event->error); + return; + } + printf("Ble instance initialized\r\n"); + + Gap &gap = _ble_interface.gap(); + ble_error_t error = gap.setAdvertisingPayload(make_advertising_data()); + if (error) { + printf("Error %u during gap.setAdvertisingPayload\r\n", error); + return; + } + + gap.setAdvertisingParams(make_advertising_params()); + + gap.onConnection(this, &BLEProcess::when_connection); + gap.onDisconnection(this, &BLEProcess::when_disconnection); + + start_advertising(); + + if (_post_init_cb) { + _post_init_cb(_ble_interface, _event_queue); + } + } + + void when_connection(const Gap::ConnectionCallbackParams_t *connection_event) + { + printf("Connected.\r\n"); + } + + void when_disconnection(const Gap::DisconnectionCallbackParams_t *event) + { + printf("Disconnected.\r\n"); + start_advertising(); + } + + void start_advertising(void) + { + ble_error_t error = _ble_interface.gap().startAdvertising(); + if (error) { + printf("Error %u during gap.startAdvertising.\r\n", error); + return; + } else { + printf("Advertising started.\r\n"); + } + } + + static GapAdvertisingData make_advertising_data(void) + { + static const uint8_t device_name[] = "GattServer"; + GapAdvertisingData advertising_data; + + // add advertising flags + advertising_data.addFlags( + GapAdvertisingData::LE_GENERAL_DISCOVERABLE | + GapAdvertisingData::BREDR_NOT_SUPPORTED + ); + + // add device name + advertising_data.addData( + GapAdvertisingData::COMPLETE_LOCAL_NAME, + device_name, + sizeof(device_name) + ); + + return advertising_data; + } + + static GapAdvertisingParams make_advertising_params(void) + { + return GapAdvertisingParams( + /* type */ GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED, + /* interval */ GapAdvertisingParams::MSEC_TO_ADVERTISEMENT_DURATION_UNITS(500), + /* timeout */ 0 + ); + } + + events::EventQueue &_event_queue; + BLE &_ble_interface; + mbed::Callback _post_init_cb; +}; + +#endif /* GATT_SERVER_EXAMPLE_BLE_PROCESS_H_ */ diff --git a/BLE_GattServer/deprecated/BLE_GattServer/main.cpp b/BLE_GattServer/deprecated/BLE_GattServer/main.cpp new file mode 100644 index 00000000..29cc72ad --- /dev/null +++ b/BLE_GattServer/deprecated/BLE_GattServer/main.cpp @@ -0,0 +1,411 @@ +/* mbed Microcontroller Library + * Copyright (c) 2017 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +#include "platform/Callback.h" +#include "events/EventQueue.h" +#include "platform/NonCopyable.h" + +#include "ble/BLE.h" +#include "ble/Gap.h" +#include "ble/GattClient.h" +#include "ble/GapAdvertisingParams.h" +#include "ble/GapAdvertisingData.h" +#include "ble/GattServer.h" +#include "BLEProcess.h" + +using mbed::callback; + +/** + * A Clock service that demonstrate the GattServer features. + * + * The clock service host three characteristics that model the current hour, + * minute and second of the clock. The value of the second characteristic is + * incremented automatically by the system. + * + * A client can subscribe to updates of the clock characteristics and get + * notified when one of the value is changed. Clients can also change value of + * the second, minute and hour characteristric. + */ +class ClockService { + typedef ClockService Self; + +public: + ClockService() : + _hour_char("485f4145-52b9-4644-af1f-7a6b9322490f", 0), + _minute_char("0a924ca7-87cd-4699-a3bd-abdcd9cf126a", 0), + _second_char("8dd6a1b7-bc75-4741-8a26-264af75807de", 0), + _clock_service( + /* uuid */ "51311102-030e-485f-b122-f8f381aa84ed", + /* characteristics */ _clock_characteristics, + /* numCharacteristics */ sizeof(_clock_characteristics) / + sizeof(_clock_characteristics[0]) + ), + _server(NULL), + _event_queue(NULL) + { + // update internal pointers (value, descriptors and characteristics array) + _clock_characteristics[0] = &_hour_char; + _clock_characteristics[1] = &_minute_char; + _clock_characteristics[2] = &_second_char; + + // setup authorization handlers + _hour_char.setWriteAuthorizationCallback(this, &Self::authorize_client_write); + _minute_char.setWriteAuthorizationCallback(this, &Self::authorize_client_write); + _second_char.setWriteAuthorizationCallback(this, &Self::authorize_client_write); + } + + + + void start(BLE &ble_interface, events::EventQueue &event_queue) + { + if (_event_queue) { + return; + } + + _server = &ble_interface.gattServer(); + _event_queue = &event_queue; + + // register the service + printf("Adding demo service\r\n"); + ble_error_t err = _server->addService(_clock_service); + + if (err) { + printf("Error %u during demo service registration.\r\n", err); + return; + } + + // read write handler + _server->onDataSent(as_cb(&Self::when_data_sent)); + _server->onDataWritten(as_cb(&Self::when_data_written)); + _server->onDataRead(as_cb(&Self::when_data_read)); + + // updates subscribtion handlers + _server->onUpdatesEnabled(as_cb(&Self::when_update_enabled)); + _server->onUpdatesDisabled(as_cb(&Self::when_update_disabled)); + _server->onConfirmationReceived(as_cb(&Self::when_confirmation_received)); + + // print the handles + printf("clock service registered\r\n"); + printf("service handle: %u\r\n", _clock_service.getHandle()); + printf("\thour characteristic value handle %u\r\n", _hour_char.getValueHandle()); + printf("\tminute characteristic value handle %u\r\n", _minute_char.getValueHandle()); + printf("\tsecond characteristic value handle %u\r\n", _second_char.getValueHandle()); + + _event_queue->call_every(1000 /* ms */, callback(this, &Self::increment_second)); + } + +private: + + /** + * Handler called when a notification or an indication has been sent. + */ + void when_data_sent(unsigned count) + { + printf("sent %u updates\r\n", count); + } + + /** + * Handler called after an attribute has been written. + */ + void when_data_written(const GattWriteCallbackParams *e) + { + printf("data written:\r\n"); + printf("\tconnection handle: %u\r\n", e->connHandle); + printf("\tattribute handle: %u", e->handle); + if (e->handle == _hour_char.getValueHandle()) { + printf(" (hour characteristic)\r\n"); + } else if (e->handle == _minute_char.getValueHandle()) { + printf(" (minute characteristic)\r\n"); + } else if (e->handle == _second_char.getValueHandle()) { + printf(" (second characteristic)\r\n"); + } else { + printf("\r\n"); + } + printf("\twrite operation: %u\r\n", e->writeOp); + printf("\toffset: %u\r\n", e->offset); + printf("\tlength: %u\r\n", e->len); + printf("\t data: "); + + for (size_t i = 0; i < e->len; ++i) { + printf("%02X", e->data[i]); + } + + printf("\r\n"); + } + + /** + * Handler called after an attribute has been read. + */ + void when_data_read(const GattReadCallbackParams *e) + { + printf("data read:\r\n"); + printf("\tconnection handle: %u\r\n", e->connHandle); + printf("\tattribute handle: %u", e->handle); + if (e->handle == _hour_char.getValueHandle()) { + printf(" (hour characteristic)\r\n"); + } else if (e->handle == _minute_char.getValueHandle()) { + printf(" (minute characteristic)\r\n"); + } else if (e->handle == _second_char.getValueHandle()) { + printf(" (second characteristic)\r\n"); + } else { + printf("\r\n"); + } + } + + /** + * Handler called after a client has subscribed to notification or indication. + * + * @param handle Handle of the characteristic value affected by the change. + */ + void when_update_enabled(GattAttribute::Handle_t handle) + { + printf("update enabled on handle %d\r\n", handle); + } + + /** + * Handler called after a client has cancelled his subscription from + * notification or indication. + * + * @param handle Handle of the characteristic value affected by the change. + */ + void when_update_disabled(GattAttribute::Handle_t handle) + { + printf("update disabled on handle %d\r\n", handle); + } + + /** + * Handler called when an indication confirmation has been received. + * + * @param handle Handle of the characteristic value that has emitted the + * indication. + */ + void when_confirmation_received(GattAttribute::Handle_t handle) + { + printf("confirmation received on handle %d\r\n", handle); + } + + /** + * Handler called when a write request is received. + * + * This handler verify that the value submitted by the client is valid before + * authorizing the operation. + */ + void authorize_client_write(GattWriteAuthCallbackParams *e) + { + printf("characteristic %u write authorization\r\n", e->handle); + + if (e->offset != 0) { + printf("Error invalid offset\r\n"); + e->authorizationReply = AUTH_CALLBACK_REPLY_ATTERR_INVALID_OFFSET; + return; + } + + if (e->len != 1) { + printf("Error invalid len\r\n"); + e->authorizationReply = AUTH_CALLBACK_REPLY_ATTERR_INVALID_ATT_VAL_LENGTH; + return; + } + + if ((e->data[0] >= 60) || + ((e->data[0] >= 24) && (e->handle == _hour_char.getValueHandle()))) { + printf("Error invalid data\r\n"); + e->authorizationReply = AUTH_CALLBACK_REPLY_ATTERR_WRITE_NOT_PERMITTED; + return; + } + + e->authorizationReply = AUTH_CALLBACK_REPLY_SUCCESS; + } + + /** + * Increment the second counter. + */ + void increment_second(void) + { + uint8_t second = 0; + ble_error_t err = _second_char.get(*_server, second); + if (err) { + printf("read of the second value returned error %u\r\n", err); + return; + } + + second = (second + 1) % 60; + + err = _second_char.set(*_server, second); + if (err) { + printf("write of the second value returned error %u\r\n", err); + return; + } + + if (second == 0) { + increment_minute(); + } + } + + /** + * Increment the minute counter. + */ + void increment_minute(void) + { + uint8_t minute = 0; + ble_error_t err = _minute_char.get(*_server, minute); + if (err) { + printf("read of the minute value returned error %u\r\n", err); + return; + } + + minute = (minute + 1) % 60; + + err = _minute_char.set(*_server, minute); + if (err) { + printf("write of the minute value returned error %u\r\n", err); + return; + } + + if (minute == 0) { + increment_hour(); + } + } + + /** + * Increment the hour counter. + */ + void increment_hour(void) + { + uint8_t hour = 0; + ble_error_t err = _hour_char.get(*_server, hour); + if (err) { + printf("read of the hour value returned error %u\r\n", err); + return; + } + + hour = (hour + 1) % 24; + + err = _hour_char.set(*_server, hour); + if (err) { + printf("write of the hour value returned error %u\r\n", err); + return; + } + } + +private: + /** + * Helper that construct an event handler from a member function of this + * instance. + */ + template + FunctionPointerWithContext as_cb(void (Self::*member)(Arg)) + { + return makeFunctionPointer(this, member); + } + + /** + * Read, Write, Notify, Indicate Characteristic declaration helper. + * + * @tparam T type of data held by the characteristic. + */ + template + class ReadWriteNotifyIndicateCharacteristic : public GattCharacteristic { + public: + /** + * Construct a characteristic that can be read or written and emit + * notification or indication. + * + * @param[in] uuid The UUID of the characteristic. + * @param[in] initial_value Initial value contained by the characteristic. + */ + ReadWriteNotifyIndicateCharacteristic(const UUID & uuid, const T& initial_value) : + GattCharacteristic( + /* UUID */ uuid, + /* Initial value */ &_value, + /* Value size */ sizeof(_value), + /* Value capacity */ sizeof(_value), + /* Properties */ GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ | + GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_WRITE | + GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY | + GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_INDICATE, + /* Descriptors */ NULL, + /* Num descriptors */ 0, + /* variable len */ false + ), + _value(initial_value) { + } + + /** + * Get the value of this characteristic. + * + * @param[in] server GattServer instance that contain the characteristic + * value. + * @param[in] dst Variable that will receive the characteristic value. + * + * @return BLE_ERROR_NONE in case of success or an appropriate error code. + */ + ble_error_t get(GattServer &server, T& dst) const + { + uint16_t value_length = sizeof(dst); + return server.read(getValueHandle(), &dst, &value_length); + } + + /** + * Assign a new value to this characteristic. + * + * @param[in] server GattServer instance that will receive the new value. + * @param[in] value The new value to set. + * @param[in] local_only Flag that determine if the change should be kept + * locally or forwarded to subscribed clients. + */ + ble_error_t set( + GattServer &server, const uint8_t &value, bool local_only = false + ) const { + return server.write(getValueHandle(), &value, sizeof(value), local_only); + } + + private: + uint8_t _value; + }; + + ReadWriteNotifyIndicateCharacteristic _hour_char; + ReadWriteNotifyIndicateCharacteristic _minute_char; + ReadWriteNotifyIndicateCharacteristic _second_char; + + // list of the characteristics of the clock service + GattCharacteristic* _clock_characteristics[3]; + + // demo service + GattService _clock_service; + + GattServer* _server; + events::EventQueue *_event_queue; +}; + +int main() { + BLE &ble_interface = BLE::Instance(); + events::EventQueue event_queue; + ClockService demo_service; + BLEProcess ble_process(event_queue, ble_interface); + + ble_process.on_init(callback(&demo_service, &ClockService::start)); + + // bind the event queue to the ble interface, initialize the interface + // and start advertising + ble_process.start(); + + // Process the event queue. + event_queue.dispatch_forever(); + + return 0; +} diff --git a/BLE_GattServer/deprecated/BLE_GattServer/mbed-os.lib b/BLE_GattServer/deprecated/BLE_GattServer/mbed-os.lib new file mode 100644 index 00000000..fa52de0f --- /dev/null +++ b/BLE_GattServer/deprecated/BLE_GattServer/mbed-os.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/mbed-os/#bf6f2c3c6434a6de9eb9511feffa5948b3d1f20f diff --git a/BLE_GattServer/deprecated/BLE_GattServer/mbed_app.json b/BLE_GattServer/deprecated/BLE_GattServer/mbed_app.json new file mode 100644 index 00000000..d9083bba --- /dev/null +++ b/BLE_GattServer/deprecated/BLE_GattServer/mbed_app.json @@ -0,0 +1,16 @@ +{ + "target_overrides": { + "K64F": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "NUCLEO_F401RE": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + }, + "DISCO_L475VG_IOT01A": { + "target.features_add": ["BLE"], + "target.extra_labels_add": ["CORDIO", "CORDIO_BLUENRG"] + } + } +} \ No newline at end of file diff --git a/BLE_GattServer/deprecated/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib b/BLE_GattServer/deprecated/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib new file mode 100644 index 00000000..a73dc227 --- /dev/null +++ b/BLE_GattServer/deprecated/BLE_GattServer/shields/TARGET_CORDIO_BLUENRG.lib @@ -0,0 +1 @@ +https://github.com/ARMmbed/cordio-ble-x-nucleo-idb0xa1/#5e49580a0303c48c11f78ad2e5d92b5ffc02aadc \ No newline at end of file diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/.mbed b/BLE_HeartRate/deprecated/BLE_HeartRate/.mbed new file mode 100644 index 00000000..ceaf11b8 --- /dev/null +++ b/BLE_HeartRate/deprecated/BLE_HeartRate/.mbed @@ -0,0 +1 @@ +ROOT=. \ No newline at end of file diff --git a/BLE_HeartRate/deprecated/BLE_HeartRate/img/connection.png b/BLE_HeartRate/deprecated/BLE_HeartRate/img/connection.png new file mode 100644 index 0000000000000000000000000000000000000000..83c3570ddccd38e7789dc52d3958c71efec4e295 GIT binary patch literal 68565 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