From 7b5cd47d07353747aa4b92bb9ac212d18371da20 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Fri, 12 Apr 2019 15:43:53 +0200 Subject: [PATCH] Set ESP-IDF to 3.2 (#2662) * Set IDF to v3.2 * Remove BLE submodule * Add BLE lib source * Update Camera example to support OV3660 --- .gitmodules | 3 - boards.txt | 52 +- libraries/BLE | 1 - libraries/BLE/README.md | 15 + .../BLE/examples/BLE_client/BLE_client.ino | 160 ++ .../BLE/examples/BLE_iBeacon/BLE_iBeacon.ino | 103 + .../BLE/examples/BLE_notify/BLE_notify.ino | 110 + libraries/BLE/examples/BLE_scan/BLE_scan.ino | 40 + .../BLE/examples/BLE_server/BLE_server.ino | 45 + .../BLE_server_multiconnect.ino | 111 + libraries/BLE/examples/BLE_uart/BLE_uart.ino | 125 + .../BLE/examples/BLE_write/BLE_write.ino | 65 + libraries/BLE/library.properties | 10 + libraries/BLE/src/BLE2902.cpp | 62 + libraries/BLE/src/BLE2902.h | 34 + libraries/BLE/src/BLE2904.cpp | 74 + libraries/BLE/src/BLE2904.h | 74 + libraries/BLE/src/BLEAddress.cpp | 95 + libraries/BLE/src/BLEAddress.h | 34 + libraries/BLE/src/BLEAdvertisedDevice.cpp | 529 +++++ libraries/BLE/src/BLEAdvertisedDevice.h | 123 + libraries/BLE/src/BLEAdvertising.cpp | 505 ++++ libraries/BLE/src/BLEAdvertising.h | 78 + libraries/BLE/src/BLEBeacon.cpp | 89 + libraries/BLE/src/BLEBeacon.h | 43 + libraries/BLE/src/BLECharacteristic.cpp | 760 ++++++ libraries/BLE/src/BLECharacteristic.h | 137 ++ libraries/BLE/src/BLECharacteristicMap.cpp | 133 ++ libraries/BLE/src/BLEClient.cpp | 536 +++++ libraries/BLE/src/BLEClient.h | 103 + libraries/BLE/src/BLEDescriptor.cpp | 296 +++ libraries/BLE/src/BLEDescriptor.h | 77 + libraries/BLE/src/BLEDescriptorMap.cpp | 147 ++ libraries/BLE/src/BLEDevice.cpp | 650 ++++++ libraries/BLE/src/BLEDevice.h | 99 + libraries/BLE/src/BLEEddystoneTLM.cpp | 150 ++ libraries/BLE/src/BLEEddystoneTLM.h | 51 + libraries/BLE/src/BLEEddystoneURL.cpp | 148 ++ libraries/BLE/src/BLEEddystoneURL.h | 43 + libraries/BLE/src/BLEExceptions.cpp | 9 + libraries/BLE/src/BLEExceptions.h | 31 + libraries/BLE/src/BLEHIDDevice.cpp | 243 ++ libraries/BLE/src/BLEHIDDevice.h | 75 + libraries/BLE/src/BLERemoteCharacteristic.cpp | 588 +++++ libraries/BLE/src/BLERemoteCharacteristic.h | 84 + libraries/BLE/src/BLERemoteDescriptor.cpp | 181 ++ libraries/BLE/src/BLERemoteDescriptor.h | 55 + libraries/BLE/src/BLERemoteService.cpp | 340 +++ libraries/BLE/src/BLERemoteService.h | 85 + libraries/BLE/src/BLEScan.cpp | 331 +++ libraries/BLE/src/BLEScan.h | 83 + libraries/BLE/src/BLESecurity.cpp | 104 + libraries/BLE/src/BLESecurity.h | 72 + libraries/BLE/src/BLEServer.cpp | 424 ++++ libraries/BLE/src/BLEServer.h | 140 ++ libraries/BLE/src/BLEService.cpp | 418 ++++ libraries/BLE/src/BLEService.h | 97 + libraries/BLE/src/BLEServiceMap.cpp | 134 ++ libraries/BLE/src/BLEUUID.cpp | 407 ++++ libraries/BLE/src/BLEUUID.h | 39 + libraries/BLE/src/BLEUtils.cpp | 2033 +++++++++++++++++ libraries/BLE/src/BLEUtils.h | 63 + libraries/BLE/src/BLEValue.cpp | 139 ++ libraries/BLE/src/BLEValue.h | 39 + libraries/BLE/src/FreeRTOS.cpp | 274 +++ libraries/BLE/src/FreeRTOS.h | 71 + libraries/BLE/src/GeneralUtils.cpp | 544 +++++ libraries/BLE/src/GeneralUtils.h | 35 + libraries/BLE/src/HIDKeyboardTypes.h | 402 ++++ libraries/BLE/src/HIDTypes.h | 96 + .../CameraWebServer/CameraWebServer.ino | 97 +- .../Camera/CameraWebServer/app_httpd.cpp | 7 +- .../Camera/CameraWebServer/camera_index.h | 789 +++++-- .../Camera/CameraWebServer/camera_pins.h | 99 + platform.txt | 4 +- tools/gen_esp32part.py | 148 +- tools/platformio-build.py | 6 +- tools/sdk/bin/bootloader_dio_40m.bin | Bin 16432 -> 16848 bytes tools/sdk/bin/bootloader_dio_80m.bin | Bin 17968 -> 15328 bytes tools/sdk/bin/bootloader_dout_40m.bin | Bin 16432 -> 15328 bytes tools/sdk/bin/bootloader_dout_80m.bin | Bin 16464 -> 15328 bytes tools/sdk/bin/bootloader_qio_40m.bin | Bin 17952 -> 16848 bytes tools/sdk/bin/bootloader_qio_80m.bin | Bin 17968 -> 16832 bytes tools/sdk/bin/bootloader_qout_40m.bin | Bin 17952 -> 16848 bytes tools/sdk/bin/bootloader_qout_80m.bin | Bin 17968 -> 16832 bytes tools/sdk/include/app_trace/esp_app_trace.h | 26 +- tools/sdk/include/app_update/esp_ota_ops.h | 106 - .../bootloader_support/bootloader_common.h | 53 +- .../include/bootloader_support/esp_efuse.h | 99 + .../bootloader_support/esp_image_format.h | 19 - tools/sdk/include/bt/esp_gap_ble_api.h | 23 +- tools/sdk/include/config/sdkconfig.h | 24 +- tools/sdk/include/driver/driver/can.h | 31 +- tools/sdk/include/driver/driver/i2s.h | 27 - tools/sdk/include/driver/driver/rmt.h | 27 - tools/sdk/include/driver/driver/spi_common.h | 34 +- tools/sdk/include/driver/driver/spi_master.h | 4 - tools/sdk/include/driver/driver/spi_slave.h | 31 +- tools/sdk/include/driver/driver/uart.h | 7 +- tools/sdk/include/efuse/esp_efuse.h | 362 --- tools/sdk/include/efuse/esp_efuse_table.h | 68 - tools/sdk/include/esp-face/fd_forward.h | 1 + tools/sdk/include/esp-face/fr_flash.h | 2 +- tools/sdk/include/esp-face/fr_forward.h | 6 +- tools/sdk/include/esp-tls/esp_tls.h | 23 +- tools/sdk/include/esp32-camera/esp_camera.h | 3 +- tools/sdk/include/esp32-camera/sensor.h | 10 + tools/sdk/include/esp32/esp_attr.h | 35 +- tools/sdk/include/esp32/esp_clk.h | 1 - tools/sdk/include/esp32/esp_core_dump.h | 55 +- .../sdk/include/esp32/esp_flash_data_types.h | 14 +- tools/sdk/include/esp32/esp_phy_init.h | 12 - tools/sdk/include/esp32/esp_sleep.h | 2 + tools/sdk/include/esp32/esp_wifi.h | 8 - tools/sdk/include/esp32/esp_wifi_internal.h | 74 - tools/sdk/include/esp32/rom/crc.h | 57 +- tools/sdk/include/esp32/rom/uart.h | 6 +- tools/sdk/include/esp_event/esp_event.h | 166 +- .../include/esp_http_client/esp_http_client.h | 4 +- .../include/esp_http_server/esp_http_server.h | 310 +-- .../sdk/include/esp_https_ota/esp_https_ota.h | 1 - .../esp_https_server/esp_https_server.h | 130 -- tools/sdk/include/espcoredump/esp_core_dump.h | 85 - tools/sdk/include/fatfs/ffconf.h | 9 +- tools/sdk/include/freemodbus/mbcontroller.h | 2 +- .../freertos/freertos/FreeRTOSConfig.h | 7 +- tools/sdk/include/idf_test/idf_performance.h | 14 +- tools/sdk/include/lwip/lwipopts.h | 44 +- tools/sdk/include/newlib/sys/poll.h | 34 +- tools/sdk/include/nvs_flash/nvs.h | 14 - tools/sdk/include/pthread/esp_pthread.h | 20 +- tools/sdk/include/soc/soc/apb_ctrl_struct.h | 2 - tools/sdk/include/soc/soc/can_struct.h | 2 - tools/sdk/include/soc/soc/efuse_reg.h | 53 +- tools/sdk/include/soc/soc/gpio_sd_struct.h | 2 - tools/sdk/include/soc/soc/gpio_struct.h | 2 - tools/sdk/include/soc/soc/hinf_struct.h | 2 - tools/sdk/include/soc/soc/host_struct.h | 2 - tools/sdk/include/soc/soc/i2c_struct.h | 2 - tools/sdk/include/soc/soc/i2s_struct.h | 2 - tools/sdk/include/soc/soc/ledc_reg.h | 104 +- tools/sdk/include/soc/soc/ledc_struct.h | 2 - tools/sdk/include/soc/soc/mcpwm_struct.h | 2 - tools/sdk/include/soc/soc/pcnt_struct.h | 2 - tools/sdk/include/soc/soc/rmt_reg.h | 436 +--- tools/sdk/include/soc/soc/rmt_struct.h | 2 - tools/sdk/include/soc/soc/rtc_cntl_struct.h | 2 - tools/sdk/include/soc/soc/rtc_io_struct.h | 2 - tools/sdk/include/soc/soc/sdmmc_struct.h | 2 - tools/sdk/include/soc/soc/sens_struct.h | 2 - tools/sdk/include/soc/soc/slc_struct.h | 2 - tools/sdk/include/soc/soc/soc.h | 2 + tools/sdk/include/soc/soc/soc_memory_layout.h | 13 +- tools/sdk/include/soc/soc/spi_struct.h | 2 - tools/sdk/include/soc/soc/syscon_struct.h | 2 - .../sdk/include/soc/soc/timer_group_struct.h | 2 - tools/sdk/include/soc/soc/uart_struct.h | 2 - tools/sdk/include/soc/soc/uhci_struct.h | 2 - tools/sdk/include/spi_flash/esp_partition.h | 1 - tools/sdk/include/spi_flash/esp_spi_flash.h | 19 +- .../sdk/include/tcpip_adapter/tcpip_adapter.h | 648 +++--- .../tcpip_adapter/tcpip_adapter_internal.h | 66 - tools/sdk/include/ulp/esp32/ulp.h | 3 - tools/sdk/include/unity/unity.h | 503 ---- tools/sdk/include/unity/unity_config.h | 53 - tools/sdk/include/unity/unity_internals.h | 928 -------- tools/sdk/include/unity/unity_test_runner.h | 174 -- tools/sdk/include/vfs/esp_vfs.h | 25 +- tools/sdk/ld/esp32.common.ld | 356 +-- .../sdk/ld/esp32.spiram.rom-functions-dram.ld | 143 ++ .../sdk/ld/esp32.spiram.rom-functions-iram.ld | 140 ++ tools/sdk/ld/wifi_iram.ld | 4 + tools/sdk/lib/libapp_trace.a | Bin 23000 -> 23000 bytes tools/sdk/lib/libapp_update.a | Bin 84496 -> 53042 bytes tools/sdk/lib/libasio.a | Bin 2004656 -> 2004332 bytes tools/sdk/lib/libbootloader_support.a | Bin 298962 -> 297524 bytes tools/sdk/lib/libbt.a | Bin 13131210 -> 13103086 bytes tools/sdk/lib/libbtdm_app.a | Bin 360038 -> 358900 bytes tools/sdk/lib/libcoap.a | Bin 458066 -> 458066 bytes tools/sdk/lib/libcoexist.a | Bin 59386 -> 59386 bytes tools/sdk/lib/libconsole.a | Bin 401616 -> 401752 bytes tools/sdk/lib/libcore.a | Bin 6724 -> 11638 bytes tools/sdk/lib/libcxx.a | Bin 63624 -> 63624 bytes tools/sdk/lib/libdl_lib.a | Bin 641850 -> 709546 bytes tools/sdk/lib/libdriver.a | Bin 2492626 -> 2469102 bytes tools/sdk/lib/libefuse.a | Bin 131676 -> 0 bytes tools/sdk/lib/libesp-tls.a | Bin 81356 -> 80228 bytes tools/sdk/lib/libesp32-camera.a | Bin 483800 -> 610798 bytes tools/sdk/lib/libesp32.a | Bin 1364654 -> 1323020 bytes tools/sdk/lib/libesp_adc_cal.a | Bin 39920 -> 39920 bytes tools/sdk/lib/libesp_event.a | Bin 95118 -> 88746 bytes tools/sdk/lib/libesp_http_client.a | Bin 183266 -> 181594 bytes tools/sdk/lib/libesp_http_server.a | Bin 270976 -> 256792 bytes tools/sdk/lib/libesp_https_ota.a | Bin 20922 -> 20518 bytes tools/sdk/lib/libesp_https_server.a | Bin 33100 -> 0 bytes tools/sdk/lib/libesp_ringbuf.a | Bin 118288 -> 118268 bytes tools/sdk/lib/libespcoredump.a | Bin 20332 -> 0 bytes tools/sdk/lib/libespnow.a | Bin 46530 -> 46530 bytes tools/sdk/lib/libethernet.a | Bin 178978 -> 178254 bytes tools/sdk/lib/libexpat.a | Bin 1219082 -> 1219082 bytes tools/sdk/lib/libface_detection.a | Bin 35660 -> 47790 bytes tools/sdk/lib/libface_recognition.a | Bin 83232 -> 82500 bytes tools/sdk/lib/libfatfs.a | Bin 466584 -> 455036 bytes tools/sdk/lib/libfb_gfx.a | Bin 22804 -> 22804 bytes tools/sdk/lib/libfreemodbus.a | Bin 247056 -> 247036 bytes tools/sdk/lib/libfreertos.a | Bin 538640 -> 538596 bytes tools/sdk/lib/libheap.a | Bin 236462 -> 230938 bytes tools/sdk/lib/libimage_util.a | Bin 57938 -> 57938 bytes tools/sdk/lib/libjsmn.a | Bin 21694 -> 21694 bytes tools/sdk/lib/libjson.a | Bin 300090 -> 300090 bytes tools/sdk/lib/liblibsodium.a | Bin 1814296 -> 1814296 bytes tools/sdk/lib/liblog.a | Bin 41348 -> 40640 bytes tools/sdk/lib/liblwip.a | Bin 3295156 -> 3294900 bytes tools/sdk/lib/libmbedtls.a | Bin 3430756 -> 3447104 bytes tools/sdk/lib/libmdns.a | Bin 677696 -> 682220 bytes tools/sdk/lib/libmesh.a | Bin 931276 -> 932788 bytes tools/sdk/lib/libmicro-ecc.a | Bin 155340 -> 155340 bytes tools/sdk/lib/libmqtt.a | Bin 188444 -> 188444 bytes tools/sdk/lib/libnet80211.a | Bin 1031898 -> 967780 bytes tools/sdk/lib/libnewlib.a | Bin 138844 -> 124936 bytes tools/sdk/lib/libnghttp.a | Bin 1560590 -> 1560590 bytes tools/sdk/lib/libnvs_flash.a | Bin 841732 -> 840744 bytes tools/sdk/lib/libopenssl.a | Bin 288624 -> 288624 bytes tools/sdk/lib/libphy.a | Bin 196800 -> 189068 bytes tools/sdk/lib/libpp.a | Bin 483822 -> 483530 bytes tools/sdk/lib/libprotobuf-c.a | Bin 329210 -> 329210 bytes tools/sdk/lib/libprotocomm.a | Bin 427828 -> 427324 bytes tools/sdk/lib/libpthread.a | Bin 123322 -> 118026 bytes tools/sdk/lib/libsdmmc.a | Bin 255528 -> 255528 bytes tools/sdk/lib/libsmartconfig.a | Bin 104474 -> 104474 bytes tools/sdk/lib/libsmartconfig_ack.a | Bin 22294 -> 22294 bytes tools/sdk/lib/libsoc.a | Bin 233658 -> 232658 bytes tools/sdk/lib/libspi_flash.a | Bin 223304 -> 212624 bytes tools/sdk/lib/libspiffs.a | Bin 590434 -> 585862 bytes tools/sdk/lib/libtcp_transport.a | Bin 147992 -> 147740 bytes tools/sdk/lib/libtcpip_adapter.a | Bin 134932 -> 134876 bytes tools/sdk/lib/libulp.a | Bin 37430 -> 37442 bytes tools/sdk/lib/libunity.a | Bin 174150 -> 0 bytes tools/sdk/lib/libvfs.a | Bin 248784 -> 237804 bytes tools/sdk/lib/libwear_levelling.a | Bin 236028 -> 235896 bytes tools/sdk/lib/libwifi_provisioning.a | Bin 147662 -> 147662 bytes tools/sdk/lib/libwpa.a | Bin 158376 -> 158376 bytes tools/sdk/lib/libwpa2.a | Bin 25158 -> 25158 bytes tools/sdk/lib/libwpa_supplicant.a | Bin 3099006 -> 3099006 bytes tools/sdk/lib/libwps.a | Bin 69606 -> 69606 bytes tools/sdk/lib/libxtensa-debug-module.a | Bin 12130 -> 12130 bytes tools/sdk/sdkconfig | 70 +- 247 files changed, 15350 insertions(+), 5221 deletions(-) delete mode 160000 libraries/BLE create mode 100644 libraries/BLE/README.md create mode 100644 libraries/BLE/examples/BLE_client/BLE_client.ino create mode 100644 libraries/BLE/examples/BLE_iBeacon/BLE_iBeacon.ino create mode 100644 libraries/BLE/examples/BLE_notify/BLE_notify.ino create mode 100644 libraries/BLE/examples/BLE_scan/BLE_scan.ino create mode 100644 libraries/BLE/examples/BLE_server/BLE_server.ino create mode 100644 libraries/BLE/examples/BLE_server_multiconnect/BLE_server_multiconnect.ino create mode 100644 libraries/BLE/examples/BLE_uart/BLE_uart.ino create mode 100644 libraries/BLE/examples/BLE_write/BLE_write.ino create mode 100644 libraries/BLE/library.properties create mode 100644 libraries/BLE/src/BLE2902.cpp create mode 100644 libraries/BLE/src/BLE2902.h create mode 100644 libraries/BLE/src/BLE2904.cpp create mode 100644 libraries/BLE/src/BLE2904.h create mode 100644 libraries/BLE/src/BLEAddress.cpp create mode 100644 libraries/BLE/src/BLEAddress.h create mode 100644 libraries/BLE/src/BLEAdvertisedDevice.cpp create mode 100644 libraries/BLE/src/BLEAdvertisedDevice.h create mode 100644 libraries/BLE/src/BLEAdvertising.cpp create mode 100644 libraries/BLE/src/BLEAdvertising.h create mode 100644 libraries/BLE/src/BLEBeacon.cpp create mode 100644 libraries/BLE/src/BLEBeacon.h create mode 100644 libraries/BLE/src/BLECharacteristic.cpp create mode 100644 libraries/BLE/src/BLECharacteristic.h create mode 100644 libraries/BLE/src/BLECharacteristicMap.cpp create mode 100644 libraries/BLE/src/BLEClient.cpp create mode 100644 libraries/BLE/src/BLEClient.h create mode 100644 libraries/BLE/src/BLEDescriptor.cpp create mode 100644 libraries/BLE/src/BLEDescriptor.h create mode 100644 libraries/BLE/src/BLEDescriptorMap.cpp create mode 100644 libraries/BLE/src/BLEDevice.cpp create mode 100644 libraries/BLE/src/BLEDevice.h create mode 100644 libraries/BLE/src/BLEEddystoneTLM.cpp create mode 100644 libraries/BLE/src/BLEEddystoneTLM.h create mode 100644 libraries/BLE/src/BLEEddystoneURL.cpp create mode 100644 libraries/BLE/src/BLEEddystoneURL.h create mode 100644 libraries/BLE/src/BLEExceptions.cpp create mode 100644 libraries/BLE/src/BLEExceptions.h create mode 100644 libraries/BLE/src/BLEHIDDevice.cpp create mode 100644 libraries/BLE/src/BLEHIDDevice.h create mode 100644 libraries/BLE/src/BLERemoteCharacteristic.cpp create mode 100644 libraries/BLE/src/BLERemoteCharacteristic.h create mode 100644 libraries/BLE/src/BLERemoteDescriptor.cpp create mode 100644 libraries/BLE/src/BLERemoteDescriptor.h create mode 100644 libraries/BLE/src/BLERemoteService.cpp create mode 100644 libraries/BLE/src/BLERemoteService.h create mode 100644 libraries/BLE/src/BLEScan.cpp create mode 100644 libraries/BLE/src/BLEScan.h create mode 100644 libraries/BLE/src/BLESecurity.cpp create mode 100644 libraries/BLE/src/BLESecurity.h create mode 100644 libraries/BLE/src/BLEServer.cpp create mode 100644 libraries/BLE/src/BLEServer.h create mode 100644 libraries/BLE/src/BLEService.cpp create mode 100644 libraries/BLE/src/BLEService.h create mode 100644 libraries/BLE/src/BLEServiceMap.cpp create mode 100644 libraries/BLE/src/BLEUUID.cpp create mode 100644 libraries/BLE/src/BLEUUID.h create mode 100644 libraries/BLE/src/BLEUtils.cpp create mode 100644 libraries/BLE/src/BLEUtils.h create mode 100644 libraries/BLE/src/BLEValue.cpp create mode 100644 libraries/BLE/src/BLEValue.h create mode 100644 libraries/BLE/src/FreeRTOS.cpp create mode 100644 libraries/BLE/src/FreeRTOS.h create mode 100644 libraries/BLE/src/GeneralUtils.cpp create mode 100644 libraries/BLE/src/GeneralUtils.h create mode 100644 libraries/BLE/src/HIDKeyboardTypes.h create mode 100644 libraries/BLE/src/HIDTypes.h create mode 100644 libraries/ESP32/examples/Camera/CameraWebServer/camera_pins.h create mode 100644 tools/sdk/include/bootloader_support/esp_efuse.h delete mode 100644 tools/sdk/include/efuse/esp_efuse.h delete mode 100644 tools/sdk/include/efuse/esp_efuse_table.h delete mode 100644 tools/sdk/include/esp_https_server/esp_https_server.h delete mode 100644 tools/sdk/include/espcoredump/esp_core_dump.h delete mode 100644 tools/sdk/include/tcpip_adapter/tcpip_adapter_internal.h delete mode 100644 tools/sdk/include/unity/unity.h delete mode 100644 tools/sdk/include/unity/unity_config.h delete mode 100644 tools/sdk/include/unity/unity_internals.h delete mode 100644 tools/sdk/include/unity/unity_test_runner.h create mode 100644 tools/sdk/ld/esp32.spiram.rom-functions-dram.ld create mode 100644 tools/sdk/ld/esp32.spiram.rom-functions-iram.ld create mode 100644 tools/sdk/ld/wifi_iram.ld mode change 100644 => 100755 tools/sdk/lib/libbtdm_app.a delete mode 100644 tools/sdk/lib/libefuse.a delete mode 100644 tools/sdk/lib/libesp_https_server.a delete mode 100644 tools/sdk/lib/libespcoredump.a delete mode 100644 tools/sdk/lib/libunity.a diff --git a/.gitmodules b/.gitmodules index eeeb114e..c9e5e6fd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "libraries/BLE"] - path = libraries/BLE - url = https://github.com/nkolban/ESP32_BLE_Arduino.git [submodule "libraries/AzureIoT"] path = libraries/AzureIoT url = https://github.com/VSChina/ESP32_AzureIoT_Arduino diff --git a/boards.txt b/boards.txt index 7e610288..324a4347 100644 --- a/boards.txt +++ b/boards.txt @@ -9,31 +9,7 @@ menu.PSRAM=PSRAM menu.Revision=Board Revision ############################################################## - -esp32cam.name=AI Thinker ESP32-CAM - -esp32cam.upload.tool=esptool_py -esp32cam.upload.maximum_size=3145728 -esp32cam.upload.maximum_data_size=327680 -esp32cam.upload.wait_for_upload_port=true -esp32cam.upload.speed=460800 - -esp32cam.serial.disableDTR=true -esp32cam.serial.disableRTS=true - -esp32cam.build.mcu=esp32 -esp32cam.build.core=esp32 -esp32cam.build.variant=esp32 -esp32cam.build.board=ESP32_DEV -esp32cam.build.f_cpu=240000000L -esp32cam.build.flash_size=4MB -esp32cam.build.flash_freq=80m -esp32cam.build.flash_mode=dio -esp32cam.build.boot=qio -esp32cam.build.partitions=huge_app -esp32cam.build.defines=-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -esp32cam.build.code_debug=0 - +### DO NOT PUT BOARDS ABOVE THE OFFICIAL ESPRESSIF BOARDS! ### ############################################################## esp32.name=ESP32 Dev Module @@ -3449,4 +3425,30 @@ frogboard.menu.DebugLevel.verbose.build.code_debug=5 ############################################################## +esp32cam.name=AI Thinker ESP32-CAM + +esp32cam.upload.tool=esptool_py +esp32cam.upload.maximum_size=3145728 +esp32cam.upload.maximum_data_size=327680 +esp32cam.upload.wait_for_upload_port=true +esp32cam.upload.speed=460800 + +esp32cam.serial.disableDTR=true +esp32cam.serial.disableRTS=true + +esp32cam.build.mcu=esp32 +esp32cam.build.core=esp32 +esp32cam.build.variant=esp32 +esp32cam.build.board=ESP32_DEV +esp32cam.build.f_cpu=240000000L +esp32cam.build.flash_size=4MB +esp32cam.build.flash_freq=80m +esp32cam.build.flash_mode=dio +esp32cam.build.boot=qio +esp32cam.build.partitions=huge_app +esp32cam.build.defines=-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue +esp32cam.build.code_debug=0 + +############################################################## + diff --git a/libraries/BLE b/libraries/BLE deleted file mode 160000 index b232e7f5..00000000 --- a/libraries/BLE +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b232e7f5f0e87f36afbc2f4e03a2c49c48dd47bc diff --git a/libraries/BLE/README.md b/libraries/BLE/README.md new file mode 100644 index 00000000..e80fbe0c --- /dev/null +++ b/libraries/BLE/README.md @@ -0,0 +1,15 @@ +# ESP32 BLE for Arduino +The Arduino IDE provides an excellent library package manager where versions of libraries can be downloaded and installed. This Github project provides the repository for the ESP32 BLE support for Arduino. + +The actual source of the project which is being maintained can be found here: + +https://github.com/nkolban/esp32-snippets + +Issues and questions should be raised here: + +https://github.com/nkolban/esp32-snippets/issues + + +Documentation for using the library can be found here: + +https://github.com/nkolban/esp32-snippets/tree/master/Documentation \ No newline at end of file diff --git a/libraries/BLE/examples/BLE_client/BLE_client.ino b/libraries/BLE/examples/BLE_client/BLE_client.ino new file mode 100644 index 00000000..4c58299e --- /dev/null +++ b/libraries/BLE/examples/BLE_client/BLE_client.ino @@ -0,0 +1,160 @@ +/** + * A BLE client example that is rich in capabilities. + * There is a lot new capabilities implemented. + * author unknown + * updated by chegewara + */ + +#include "BLEDevice.h" +//#include "BLEScan.h" + +// The remote service we wish to connect to. +static BLEUUID serviceUUID("4fafc201-1fb5-459e-8fcc-c5c9c331914b"); +// The characteristic of the remote service we are interested in. +static BLEUUID charUUID("beb5483e-36e1-4688-b7f5-ea07361b26a8"); + +static boolean doConnect = false; +static boolean connected = false; +static boolean doScan = false; +static BLERemoteCharacteristic* pRemoteCharacteristic; +static BLEAdvertisedDevice* myDevice; + +static void notifyCallback( + BLERemoteCharacteristic* pBLERemoteCharacteristic, + uint8_t* pData, + size_t length, + bool isNotify) { + Serial.print("Notify callback for characteristic "); + Serial.print(pBLERemoteCharacteristic->getUUID().toString().c_str()); + Serial.print(" of data length "); + Serial.println(length); + Serial.print("data: "); + Serial.println((char*)pData); +} + +class MyClientCallback : public BLEClientCallbacks { + void onConnect(BLEClient* pclient) { + } + + void onDisconnect(BLEClient* pclient) { + connected = false; + Serial.println("onDisconnect"); + } +}; + +bool connectToServer() { + Serial.print("Forming a connection to "); + Serial.println(myDevice->getAddress().toString().c_str()); + + BLEClient* pClient = BLEDevice::createClient(); + Serial.println(" - Created client"); + + pClient->setClientCallbacks(new MyClientCallback()); + + // Connect to the remove BLE Server. + pClient->connect(myDevice); // if you pass BLEAdvertisedDevice instead of address, it will be recognized type of peer device address (public or private) + Serial.println(" - Connected to server"); + + // Obtain a reference to the service we are after in the remote BLE server. + BLERemoteService* pRemoteService = pClient->getService(serviceUUID); + if (pRemoteService == nullptr) { + Serial.print("Failed to find our service UUID: "); + Serial.println(serviceUUID.toString().c_str()); + pClient->disconnect(); + return false; + } + Serial.println(" - Found our service"); + + + // Obtain a reference to the characteristic in the service of the remote BLE server. + pRemoteCharacteristic = pRemoteService->getCharacteristic(charUUID); + if (pRemoteCharacteristic == nullptr) { + Serial.print("Failed to find our characteristic UUID: "); + Serial.println(charUUID.toString().c_str()); + pClient->disconnect(); + return false; + } + Serial.println(" - Found our characteristic"); + + // Read the value of the characteristic. + if(pRemoteCharacteristic->canRead()) { + std::string value = pRemoteCharacteristic->readValue(); + Serial.print("The characteristic value was: "); + Serial.println(value.c_str()); + } + + if(pRemoteCharacteristic->canNotify()) + pRemoteCharacteristic->registerForNotify(notifyCallback); + + connected = true; +} +/** + * Scan for BLE servers and find the first one that advertises the service we are looking for. + */ +class MyAdvertisedDeviceCallbacks: public BLEAdvertisedDeviceCallbacks { + /** + * Called for each advertising BLE server. + */ + void onResult(BLEAdvertisedDevice advertisedDevice) { + Serial.print("BLE Advertised Device found: "); + Serial.println(advertisedDevice.toString().c_str()); + + // We have found a device, let us now see if it contains the service we are looking for. + if (advertisedDevice.haveServiceUUID() && advertisedDevice.isAdvertisingService(serviceUUID)) { + + BLEDevice::getScan()->stop(); + myDevice = new BLEAdvertisedDevice(advertisedDevice); + doConnect = true; + doScan = true; + + } // Found our server + } // onResult +}; // MyAdvertisedDeviceCallbacks + + +void setup() { + Serial.begin(115200); + Serial.println("Starting Arduino BLE Client application..."); + BLEDevice::init(""); + + // Retrieve a Scanner and set the callback we want to use to be informed when we + // have detected a new device. Specify that we want active scanning and start the + // scan to run for 5 seconds. + BLEScan* pBLEScan = BLEDevice::getScan(); + pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks()); + pBLEScan->setInterval(1349); + pBLEScan->setWindow(449); + pBLEScan->setActiveScan(true); + pBLEScan->start(5, false); +} // End of setup. + + +// This is the Arduino main loop function. +void loop() { + + // If the flag "doConnect" is true then we have scanned for and found the desired + // BLE Server with which we wish to connect. Now we connect to it. Once we are + // connected we set the connected flag to be true. + if (doConnect == true) { + if (connectToServer()) { + Serial.println("We are now connected to the BLE Server."); + } else { + Serial.println("We have failed to connect to the server; there is nothin more we will do."); + } + doConnect = false; + } + + // If we are connected to a peer BLE Server, update the characteristic each time we are reached + // with the current time since boot. + if (connected) { + String newValue = "Time since boot: " + String(millis()/1000); + Serial.println("Setting new characteristic value to \"" + newValue + "\""); + + // Set the characteristic's value to be the array of bytes that is actually a string. + pRemoteCharacteristic->writeValue(newValue.c_str(), newValue.length()); + }else if(doScan){ + BLEDevice::getScan()->start(0); // this is just eample to start scan after disconnect, most likely there is better way to do it in arduino + } + + delay(1000); // Delay a second between loops. +} // End of loop diff --git a/libraries/BLE/examples/BLE_iBeacon/BLE_iBeacon.ino b/libraries/BLE/examples/BLE_iBeacon/BLE_iBeacon.ino new file mode 100644 index 00000000..e43174d4 --- /dev/null +++ b/libraries/BLE/examples/BLE_iBeacon/BLE_iBeacon.ino @@ -0,0 +1,103 @@ +/* + Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleScan.cpp + Ported to Arduino ESP32 by pcbreflux +*/ + + +/* + Create a BLE server that will send periodic iBeacon frames. + The design of creating the BLE server is: + 1. Create a BLE Server + 2. Create advertising data + 3. Start advertising. + 4. wait + 5. Stop advertising. + 6. deep sleep + +*/ +#include "sys/time.h" + +#include "BLEDevice.h" +#include "BLEUtils.h" +#include "BLEBeacon.h" +#include "esp_sleep.h" + +#define GPIO_DEEP_SLEEP_DURATION 10 // sleep x seconds and then wake up +RTC_DATA_ATTR static time_t last; // remember last boot in RTC Memory +RTC_DATA_ATTR static uint32_t bootcount; // remember number of boots in RTC Memory + +#ifdef __cplusplus +extern "C" { +#endif + +uint8_t temprature_sens_read(); +//uint8_t g_phyFuns; + +#ifdef __cplusplus +} +#endif + +// See the following for generating UUIDs: +// https://www.uuidgenerator.net/ +BLEAdvertising *pAdvertising; +struct timeval now; + +#define BEACON_UUID "8ec76ea3-6668-48da-9866-75be8bc86f4d" // UUID 1 128-Bit (may use linux tool uuidgen or random numbers via https://www.uuidgenerator.net/) + +void setBeacon() { + + BLEBeacon oBeacon = BLEBeacon(); + oBeacon.setManufacturerId(0x4C00); // fake Apple 0x004C LSB (ENDIAN_CHANGE_U16!) + oBeacon.setProximityUUID(BLEUUID(BEACON_UUID)); + oBeacon.setMajor((bootcount & 0xFFFF0000) >> 16); + oBeacon.setMinor(bootcount&0xFFFF); + BLEAdvertisementData oAdvertisementData = BLEAdvertisementData(); + BLEAdvertisementData oScanResponseData = BLEAdvertisementData(); + + oAdvertisementData.setFlags(0x04); // BR_EDR_NOT_SUPPORTED 0x04 + + std::string strServiceData = ""; + + strServiceData += (char)26; // Len + strServiceData += (char)0xFF; // Type + strServiceData += oBeacon.getData(); + oAdvertisementData.addData(strServiceData); + + pAdvertising->setAdvertisementData(oAdvertisementData); + pAdvertising->setScanResponseData(oScanResponseData); + +} + +void setup() { + + + Serial.begin(115200); + gettimeofday(&now, NULL); + + Serial.printf("start ESP32 %d\n",bootcount++); + + Serial.printf("deep sleep (%lds since last reset, %lds since last boot)\n",now.tv_sec,now.tv_sec-last); + + last = now.tv_sec; + + // Create the BLE Device + BLEDevice::init(""); + + // Create the BLE Server + // BLEServer *pServer = BLEDevice::createServer(); // <-- no longer required to instantiate BLEServer, less flash and ram usage + + pAdvertising = BLEDevice::getAdvertising(); + + setBeacon(); + // Start advertising + pAdvertising->start(); + Serial.println("Advertizing started..."); + delay(100); + pAdvertising->stop(); + Serial.printf("enter deep sleep\n"); + esp_deep_sleep(1000000LL * GPIO_DEEP_SLEEP_DURATION); + Serial.printf("in deep sleep\n"); +} + +void loop() { +} diff --git a/libraries/BLE/examples/BLE_notify/BLE_notify.ino b/libraries/BLE/examples/BLE_notify/BLE_notify.ino new file mode 100644 index 00000000..42b9e727 --- /dev/null +++ b/libraries/BLE/examples/BLE_notify/BLE_notify.ino @@ -0,0 +1,110 @@ +/* + Video: https://www.youtube.com/watch?v=oCMOYS71NIU + Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleNotify.cpp + Ported to Arduino ESP32 by Evandro Copercini + updated by chegewara + + Create a BLE server that, once we receive a connection, will send periodic notifications. + The service advertises itself as: 4fafc201-1fb5-459e-8fcc-c5c9c331914b + And has a characteristic of: beb5483e-36e1-4688-b7f5-ea07361b26a8 + + The design of creating the BLE server is: + 1. Create a BLE Server + 2. Create a BLE Service + 3. Create a BLE Characteristic on the Service + 4. Create a BLE Descriptor on the characteristic + 5. Start the service. + 6. Start advertising. + + A connect hander associated with the server starts a background task that performs notification + every couple of seconds. +*/ +#include +#include +#include +#include + +BLEServer* pServer = NULL; +BLECharacteristic* pCharacteristic = NULL; +bool deviceConnected = false; +bool oldDeviceConnected = false; +uint32_t value = 0; + +// See the following for generating UUIDs: +// https://www.uuidgenerator.net/ + +#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" +#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" + + +class MyServerCallbacks: public BLEServerCallbacks { + void onConnect(BLEServer* pServer) { + deviceConnected = true; + }; + + void onDisconnect(BLEServer* pServer) { + deviceConnected = false; + } +}; + + + +void setup() { + Serial.begin(115200); + + // Create the BLE Device + BLEDevice::init("ESP32"); + + // Create the BLE Server + pServer = BLEDevice::createServer(); + pServer->setCallbacks(new MyServerCallbacks()); + + // Create the BLE Service + BLEService *pService = pServer->createService(SERVICE_UUID); + + // Create a BLE Characteristic + pCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID, + BLECharacteristic::PROPERTY_READ | + BLECharacteristic::PROPERTY_WRITE | + BLECharacteristic::PROPERTY_NOTIFY | + BLECharacteristic::PROPERTY_INDICATE + ); + + // https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.descriptor.gatt.client_characteristic_configuration.xml + // Create a BLE Descriptor + pCharacteristic->addDescriptor(new BLE2902()); + + // Start the service + pService->start(); + + // Start advertising + BLEAdvertising *pAdvertising = BLEDevice::getAdvertising(); + pAdvertising->addServiceUUID(SERVICE_UUID); + pAdvertising->setScanResponse(false); + pAdvertising->setMinPreferred(0x0); // set value to 0x00 to not advertise this parameter + BLEDevice::startAdvertising(); + Serial.println("Waiting a client connection to notify..."); +} + +void loop() { + // notify changed value + if (deviceConnected) { + pCharacteristic->setValue((uint8_t*)&value, 4); + pCharacteristic->notify(); + value++; + delay(3); // bluetooth stack will go into congestion, if too many packets are sent, in 6 hours test i was able to go as low as 3ms + } + // disconnecting + if (!deviceConnected && oldDeviceConnected) { + delay(500); // give the bluetooth stack the chance to get things ready + pServer->startAdvertising(); // restart advertising + Serial.println("start advertising"); + oldDeviceConnected = deviceConnected; + } + // connecting + if (deviceConnected && !oldDeviceConnected) { + // do stuff here on connecting + oldDeviceConnected = deviceConnected; + } +} \ No newline at end of file diff --git a/libraries/BLE/examples/BLE_scan/BLE_scan.ino b/libraries/BLE/examples/BLE_scan/BLE_scan.ino new file mode 100644 index 00000000..094f7933 --- /dev/null +++ b/libraries/BLE/examples/BLE_scan/BLE_scan.ino @@ -0,0 +1,40 @@ +/* + Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleScan.cpp + Ported to Arduino ESP32 by Evandro Copercini +*/ + +#include +#include +#include +#include + +int scanTime = 5; //In seconds +BLEScan* pBLEScan; + +class MyAdvertisedDeviceCallbacks: public BLEAdvertisedDeviceCallbacks { + void onResult(BLEAdvertisedDevice advertisedDevice) { + Serial.printf("Advertised Device: %s \n", advertisedDevice.toString().c_str()); + } +}; + +void setup() { + Serial.begin(115200); + Serial.println("Scanning..."); + + BLEDevice::init(""); + pBLEScan = BLEDevice::getScan(); //create new scan + pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks()); + pBLEScan->setActiveScan(true); //active scan uses more power, but get results faster + pBLEScan->setInterval(100); + pBLEScan->setWindow(99); // less or equal setInterval value +} + +void loop() { + // put your main code here, to run repeatedly: + BLEScanResults foundDevices = pBLEScan->start(scanTime, false); + Serial.print("Devices found: "); + Serial.println(foundDevices.getCount()); + Serial.println("Scan done!"); + pBLEScan->clearResults(); // delete results fromBLEScan buffer to release memory + delay(2000); +} \ No newline at end of file diff --git a/libraries/BLE/examples/BLE_server/BLE_server.ino b/libraries/BLE/examples/BLE_server/BLE_server.ino new file mode 100644 index 00000000..3f9176ac --- /dev/null +++ b/libraries/BLE/examples/BLE_server/BLE_server.ino @@ -0,0 +1,45 @@ +/* + Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleServer.cpp + Ported to Arduino ESP32 by Evandro Copercini + updates by chegewara +*/ + +#include +#include +#include + +// See the following for generating UUIDs: +// https://www.uuidgenerator.net/ + +#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" +#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" + +void setup() { + Serial.begin(115200); + Serial.println("Starting BLE work!"); + + BLEDevice::init("Long name works now"); + BLEServer *pServer = BLEDevice::createServer(); + BLEService *pService = pServer->createService(SERVICE_UUID); + BLECharacteristic *pCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID, + BLECharacteristic::PROPERTY_READ | + BLECharacteristic::PROPERTY_WRITE + ); + + pCharacteristic->setValue("Hello World says Neil"); + pService->start(); + // BLEAdvertising *pAdvertising = pServer->getAdvertising(); // this still is working for backward compatibility + BLEAdvertising *pAdvertising = BLEDevice::getAdvertising(); + pAdvertising->addServiceUUID(SERVICE_UUID); + pAdvertising->setScanResponse(true); + pAdvertising->setMinPreferred(0x06); // functions that help with iPhone connections issue + pAdvertising->setMinPreferred(0x12); + BLEDevice::startAdvertising(); + Serial.println("Characteristic defined! Now you can read it in your phone!"); +} + +void loop() { + // put your main code here, to run repeatedly: + delay(2000); +} \ No newline at end of file diff --git a/libraries/BLE/examples/BLE_server_multiconnect/BLE_server_multiconnect.ino b/libraries/BLE/examples/BLE_server_multiconnect/BLE_server_multiconnect.ino new file mode 100644 index 00000000..90704ef1 --- /dev/null +++ b/libraries/BLE/examples/BLE_server_multiconnect/BLE_server_multiconnect.ino @@ -0,0 +1,111 @@ +/* + Video: https://www.youtube.com/watch?v=oCMOYS71NIU + Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleNotify.cpp + Ported to Arduino ESP32 by Evandro Copercini + updated by chegewara + + Create a BLE server that, once we receive a connection, will send periodic notifications. + The service advertises itself as: 4fafc201-1fb5-459e-8fcc-c5c9c331914b + And has a characteristic of: beb5483e-36e1-4688-b7f5-ea07361b26a8 + + The design of creating the BLE server is: + 1. Create a BLE Server + 2. Create a BLE Service + 3. Create a BLE Characteristic on the Service + 4. Create a BLE Descriptor on the characteristic + 5. Start the service. + 6. Start advertising. + + A connect hander associated with the server starts a background task that performs notification + every couple of seconds. +*/ +#include +#include +#include +#include + +BLEServer* pServer = NULL; +BLECharacteristic* pCharacteristic = NULL; +bool deviceConnected = false; +bool oldDeviceConnected = false; +uint32_t value = 0; + +// See the following for generating UUIDs: +// https://www.uuidgenerator.net/ + +#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" +#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" + + +class MyServerCallbacks: public BLEServerCallbacks { + void onConnect(BLEServer* pServer) { + deviceConnected = true; + BLEDevice::startAdvertising(); + }; + + void onDisconnect(BLEServer* pServer) { + deviceConnected = false; + } +}; + + + +void setup() { + Serial.begin(115200); + + // Create the BLE Device + BLEDevice::init("ESP32"); + + // Create the BLE Server + pServer = BLEDevice::createServer(); + pServer->setCallbacks(new MyServerCallbacks()); + + // Create the BLE Service + BLEService *pService = pServer->createService(SERVICE_UUID); + + // Create a BLE Characteristic + pCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID, + BLECharacteristic::PROPERTY_READ | + BLECharacteristic::PROPERTY_WRITE | + BLECharacteristic::PROPERTY_NOTIFY | + BLECharacteristic::PROPERTY_INDICATE + ); + + // https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.descriptor.gatt.client_characteristic_configuration.xml + // Create a BLE Descriptor + pCharacteristic->addDescriptor(new BLE2902()); + + // Start the service + pService->start(); + + // Start advertising + BLEAdvertising *pAdvertising = BLEDevice::getAdvertising(); + pAdvertising->addServiceUUID(SERVICE_UUID); + pAdvertising->setScanResponse(false); + pAdvertising->setMinPreferred(0x0); // set value to 0x00 to not advertise this parameter + BLEDevice::startAdvertising(); + Serial.println("Waiting a client connection to notify..."); +} + +void loop() { + // notify changed value + if (deviceConnected) { + pCharacteristic->setValue((uint8_t*)&value, 4); + pCharacteristic->notify(); + value++; + delay(10); // bluetooth stack will go into congestion, if too many packets are sent, in 6 hours test i was able to go as low as 3ms + } + // disconnecting + if (!deviceConnected && oldDeviceConnected) { + delay(500); // give the bluetooth stack the chance to get things ready + pServer->startAdvertising(); // restart advertising + Serial.println("start advertising"); + oldDeviceConnected = deviceConnected; + } + // connecting + if (deviceConnected && !oldDeviceConnected) { + // do stuff here on connecting + oldDeviceConnected = deviceConnected; + } +} diff --git a/libraries/BLE/examples/BLE_uart/BLE_uart.ino b/libraries/BLE/examples/BLE_uart/BLE_uart.ino new file mode 100644 index 00000000..35b570b9 --- /dev/null +++ b/libraries/BLE/examples/BLE_uart/BLE_uart.ino @@ -0,0 +1,125 @@ +/* + Video: https://www.youtube.com/watch?v=oCMOYS71NIU + Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleNotify.cpp + Ported to Arduino ESP32 by Evandro Copercini + + Create a BLE server that, once we receive a connection, will send periodic notifications. + The service advertises itself as: 6E400001-B5A3-F393-E0A9-E50E24DCCA9E + Has a characteristic of: 6E400002-B5A3-F393-E0A9-E50E24DCCA9E - used for receiving data with "WRITE" + Has a characteristic of: 6E400003-B5A3-F393-E0A9-E50E24DCCA9E - used to send data with "NOTIFY" + + The design of creating the BLE server is: + 1. Create a BLE Server + 2. Create a BLE Service + 3. Create a BLE Characteristic on the Service + 4. Create a BLE Descriptor on the characteristic + 5. Start the service. + 6. Start advertising. + + In this example rxValue is the data received (only accessible inside that function). + And txValue is the data to be sent, in this example just a byte incremented every second. +*/ +#include +#include +#include +#include + +BLEServer *pServer = NULL; +BLECharacteristic * pTxCharacteristic; +bool deviceConnected = false; +bool oldDeviceConnected = false; +uint8_t txValue = 0; + +// See the following for generating UUIDs: +// https://www.uuidgenerator.net/ + +#define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" // UART service UUID +#define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E" +#define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E" + + +class MyServerCallbacks: public BLEServerCallbacks { + void onConnect(BLEServer* pServer) { + deviceConnected = true; + }; + + void onDisconnect(BLEServer* pServer) { + deviceConnected = false; + } +}; + +class MyCallbacks: public BLECharacteristicCallbacks { + void onWrite(BLECharacteristic *pCharacteristic) { + std::string rxValue = pCharacteristic->getValue(); + + if (rxValue.length() > 0) { + Serial.println("*********"); + Serial.print("Received Value: "); + for (int i = 0; i < rxValue.length(); i++) + Serial.print(rxValue[i]); + + Serial.println(); + Serial.println("*********"); + } + } +}; + + +void setup() { + Serial.begin(115200); + + // Create the BLE Device + BLEDevice::init("UART Service"); + + // Create the BLE Server + pServer = BLEDevice::createServer(); + pServer->setCallbacks(new MyServerCallbacks()); + + // Create the BLE Service + BLEService *pService = pServer->createService(SERVICE_UUID); + + // Create a BLE Characteristic + pTxCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID_TX, + BLECharacteristic::PROPERTY_NOTIFY + ); + + pTxCharacteristic->addDescriptor(new BLE2902()); + + BLECharacteristic * pRxCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID_RX, + BLECharacteristic::PROPERTY_WRITE + ); + + pRxCharacteristic->setCallbacks(new MyCallbacks()); + + // Start the service + pService->start(); + + // Start advertising + pServer->getAdvertising()->start(); + Serial.println("Waiting a client connection to notify..."); +} + +void loop() { + + if (deviceConnected) { + pTxCharacteristic->setValue(&txValue, 1); + pTxCharacteristic->notify(); + txValue++; + delay(10); // bluetooth stack will go into congestion, if too many packets are sent + } + + // disconnecting + if (!deviceConnected && oldDeviceConnected) { + delay(500); // give the bluetooth stack the chance to get things ready + pServer->startAdvertising(); // restart advertising + Serial.println("start advertising"); + oldDeviceConnected = deviceConnected; + } + // connecting + if (deviceConnected && !oldDeviceConnected) { + // do stuff here on connecting + oldDeviceConnected = deviceConnected; + } +} diff --git a/libraries/BLE/examples/BLE_write/BLE_write.ino b/libraries/BLE/examples/BLE_write/BLE_write.ino new file mode 100644 index 00000000..24a0cd23 --- /dev/null +++ b/libraries/BLE/examples/BLE_write/BLE_write.ino @@ -0,0 +1,65 @@ +/* + Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleWrite.cpp + Ported to Arduino ESP32 by Evandro Copercini +*/ + +#include +#include +#include + +// See the following for generating UUIDs: +// https://www.uuidgenerator.net/ + +#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" +#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" + + +class MyCallbacks: public BLECharacteristicCallbacks { + void onWrite(BLECharacteristic *pCharacteristic) { + std::string value = pCharacteristic->getValue(); + + if (value.length() > 0) { + Serial.println("*********"); + Serial.print("New value: "); + for (int i = 0; i < value.length(); i++) + Serial.print(value[i]); + + Serial.println(); + Serial.println("*********"); + } + } +}; + +void setup() { + Serial.begin(115200); + + Serial.println("1- Download and install an BLE scanner app in your phone"); + Serial.println("2- Scan for BLE devices in the app"); + Serial.println("3- Connect to MyESP32"); + Serial.println("4- Go to CUSTOM CHARACTERISTIC in CUSTOM SERVICE and write something"); + Serial.println("5- See the magic =)"); + + BLEDevice::init("MyESP32"); + BLEServer *pServer = BLEDevice::createServer(); + + BLEService *pService = pServer->createService(SERVICE_UUID); + + BLECharacteristic *pCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID, + BLECharacteristic::PROPERTY_READ | + BLECharacteristic::PROPERTY_WRITE + ); + + pCharacteristic->setCallbacks(new MyCallbacks()); + + pCharacteristic->setValue("Hello World"); + pService->start(); + + BLEAdvertising *pAdvertising = pServer->getAdvertising(); + pAdvertising->start(); +} + +void loop() { + // put your main code here, to run repeatedly: + delay(2000); +} \ No newline at end of file diff --git a/libraries/BLE/library.properties b/libraries/BLE/library.properties new file mode 100644 index 00000000..8c2a019f --- /dev/null +++ b/libraries/BLE/library.properties @@ -0,0 +1,10 @@ +name=ESP32 BLE Arduino +version=1.0.1 +author=Neil Kolban +maintainer=Dariusz Krempa +sentence=BLE functions for ESP32 +paragraph=This library provides an implementation Bluetooth Low Energy support for the ESP32 using the Arduino platform. +category=Communication +url=https://github.com/nkolban/ESP32_BLE_Arduino +architectures=esp32 +includes=BLEDevice.h, BLEUtils.h, BLEScan.h, BLEAdvertisedDevice.h diff --git a/libraries/BLE/src/BLE2902.cpp b/libraries/BLE/src/BLE2902.cpp new file mode 100644 index 00000000..23d9c77c --- /dev/null +++ b/libraries/BLE/src/BLE2902.cpp @@ -0,0 +1,62 @@ +/* + * BLE2902.cpp + * + * Created on: Jun 25, 2017 + * Author: kolban + */ + +/* + * See also: + * https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.descriptor.gatt.client_characteristic_configuration.xml + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include "BLE2902.h" + +BLE2902::BLE2902() : BLEDescriptor(BLEUUID((uint16_t) 0x2902)) { + uint8_t data[2] = { 0, 0 }; + setValue(data, 2); +} // BLE2902 + + +/** + * @brief Get the notifications value. + * @return The notifications value. True if notifications are enabled and false if not. + */ +bool BLE2902::getNotifications() { + return (getValue()[0] & (1 << 0)) != 0; +} // getNotifications + + +/** + * @brief Get the indications value. + * @return The indications value. True if indications are enabled and false if not. + */ +bool BLE2902::getIndications() { + return (getValue()[0] & (1 << 1)) != 0; +} // getIndications + + +/** + * @brief Set the indications flag. + * @param [in] flag The indications flag. + */ +void BLE2902::setIndications(bool flag) { + uint8_t *pValue = getValue(); + if (flag) pValue[0] |= 1 << 1; + else pValue[0] &= ~(1 << 1); +} // setIndications + + +/** + * @brief Set the notifications flag. + * @param [in] flag The notifications flag. + */ +void BLE2902::setNotifications(bool flag) { + uint8_t *pValue = getValue(); + if (flag) pValue[0] |= 1 << 0; + else pValue[0] &= ~(1 << 0); +} // setNotifications + +#endif diff --git a/libraries/BLE/src/BLE2902.h b/libraries/BLE/src/BLE2902.h new file mode 100644 index 00000000..397360ab --- /dev/null +++ b/libraries/BLE/src/BLE2902.h @@ -0,0 +1,34 @@ +/* + * BLE2902.h + * + * Created on: Jun 25, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLE2902_H_ +#define COMPONENTS_CPP_UTILS_BLE2902_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include "BLEDescriptor.h" + +/** + * @brief Descriptor for Client Characteristic Configuration. + * + * This is a convenience descriptor for the Client Characteristic Configuration which has a UUID of 0x2902. + * + * See also: + * https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.descriptor.gatt.client_characteristic_configuration.xml + */ +class BLE2902: public BLEDescriptor { +public: + BLE2902(); + bool getNotifications(); + bool getIndications(); + void setNotifications(bool flag); + void setIndications(bool flag); + +}; // BLE2902 + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLE2902_H_ */ diff --git a/libraries/BLE/src/BLE2904.cpp b/libraries/BLE/src/BLE2904.cpp new file mode 100644 index 00000000..02252a1d --- /dev/null +++ b/libraries/BLE/src/BLE2904.cpp @@ -0,0 +1,74 @@ +/* + * BLE2904.cpp + * + * Created on: Dec 23, 2017 + * Author: kolban + */ + +/* + * See also: + * https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.descriptor.gatt.characteristic_presentation_format.xml + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include "BLE2904.h" + + +BLE2904::BLE2904() : BLEDescriptor(BLEUUID((uint16_t) 0x2904)) { + m_data.m_format = 0; + m_data.m_exponent = 0; + m_data.m_namespace = 1; // 1 = Bluetooth SIG Assigned Numbers + m_data.m_unit = 0; + m_data.m_description = 0; + setValue((uint8_t*) &m_data, sizeof(m_data)); +} // BLE2902 + + +/** + * @brief Set the description. + */ +void BLE2904::setDescription(uint16_t description) { + m_data.m_description = description; + setValue((uint8_t*) &m_data, sizeof(m_data)); +} + + +/** + * @brief Set the exponent. + */ +void BLE2904::setExponent(int8_t exponent) { + m_data.m_exponent = exponent; + setValue((uint8_t*) &m_data, sizeof(m_data)); +} // setExponent + + +/** + * @brief Set the format. + */ +void BLE2904::setFormat(uint8_t format) { + m_data.m_format = format; + setValue((uint8_t*) &m_data, sizeof(m_data)); +} // setFormat + + +/** + * @brief Set the namespace. + */ +void BLE2904::setNamespace(uint8_t namespace_value) { + m_data.m_namespace = namespace_value; + setValue((uint8_t*) &m_data, sizeof(m_data)); +} // setNamespace + + +/** + * @brief Set the units for this value. It should be one of the encoded values defined here: + * https://www.bluetooth.com/specifications/assigned-numbers/units + * @param [in] unit The type of units of this characteristic as defined by assigned numbers. + */ +void BLE2904::setUnit(uint16_t unit) { + m_data.m_unit = unit; + setValue((uint8_t*) &m_data, sizeof(m_data)); +} // setUnit + +#endif diff --git a/libraries/BLE/src/BLE2904.h b/libraries/BLE/src/BLE2904.h new file mode 100644 index 00000000..cb337e22 --- /dev/null +++ b/libraries/BLE/src/BLE2904.h @@ -0,0 +1,74 @@ +/* + * BLE2904.h + * + * Created on: Dec 23, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLE2904_H_ +#define COMPONENTS_CPP_UTILS_BLE2904_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include "BLEDescriptor.h" + +struct BLE2904_Data { + uint8_t m_format; + int8_t m_exponent; + uint16_t m_unit; // See https://www.bluetooth.com/specifications/assigned-numbers/units + uint8_t m_namespace; + uint16_t m_description; + +} __attribute__((packed)); + +/** + * @brief Descriptor for Characteristic Presentation Format. + * + * This is a convenience descriptor for the Characteristic Presentation Format which has a UUID of 0x2904. + * + * See also: + * https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.descriptor.gatt.characteristic_presentation_format.xml + */ +class BLE2904: public BLEDescriptor { +public: + BLE2904(); + static const uint8_t FORMAT_BOOLEAN = 1; + static const uint8_t FORMAT_UINT2 = 2; + static const uint8_t FORMAT_UINT4 = 3; + static const uint8_t FORMAT_UINT8 = 4; + static const uint8_t FORMAT_UINT12 = 5; + static const uint8_t FORMAT_UINT16 = 6; + static const uint8_t FORMAT_UINT24 = 7; + static const uint8_t FORMAT_UINT32 = 8; + static const uint8_t FORMAT_UINT48 = 9; + static const uint8_t FORMAT_UINT64 = 10; + static const uint8_t FORMAT_UINT128 = 11; + static const uint8_t FORMAT_SINT8 = 12; + static const uint8_t FORMAT_SINT12 = 13; + static const uint8_t FORMAT_SINT16 = 14; + static const uint8_t FORMAT_SINT24 = 15; + static const uint8_t FORMAT_SINT32 = 16; + static const uint8_t FORMAT_SINT48 = 17; + static const uint8_t FORMAT_SINT64 = 18; + static const uint8_t FORMAT_SINT128 = 19; + static const uint8_t FORMAT_FLOAT32 = 20; + static const uint8_t FORMAT_FLOAT64 = 21; + static const uint8_t FORMAT_SFLOAT16 = 22; + static const uint8_t FORMAT_SFLOAT32 = 23; + static const uint8_t FORMAT_IEEE20601 = 24; + static const uint8_t FORMAT_UTF8 = 25; + static const uint8_t FORMAT_UTF16 = 26; + static const uint8_t FORMAT_OPAQUE = 27; + + void setDescription(uint16_t); + void setExponent(int8_t exponent); + void setFormat(uint8_t format); + void setNamespace(uint8_t namespace_value); + void setUnit(uint16_t unit); + +private: + BLE2904_Data m_data; +}; // BLE2904 + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLE2904_H_ */ diff --git a/libraries/BLE/src/BLEAddress.cpp b/libraries/BLE/src/BLEAddress.cpp new file mode 100644 index 00000000..d6883340 --- /dev/null +++ b/libraries/BLE/src/BLEAddress.cpp @@ -0,0 +1,95 @@ +/* + * BLEAddress.cpp + * + * Created on: Jul 2, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include "BLEAddress.h" +#include +#include +#include +#include +#include +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + + +/** + * @brief Create an address from the native ESP32 representation. + * @param [in] address The native representation. + */ +BLEAddress::BLEAddress(esp_bd_addr_t address) { + memcpy(m_address, address, ESP_BD_ADDR_LEN); +} // BLEAddress + + +/** + * @brief Create an address from a hex string + * + * A hex string is of the format: + * ``` + * 00:00:00:00:00:00 + * ``` + * which is 17 characters in length. + * + * @param [in] stringAddress The hex representation of the address. + */ +BLEAddress::BLEAddress(std::string stringAddress) { + if (stringAddress.length() != 17) return; + + int data[6]; + sscanf(stringAddress.c_str(), "%x:%x:%x:%x:%x:%x", &data[0], &data[1], &data[2], &data[3], &data[4], &data[5]); + m_address[0] = (uint8_t) data[0]; + m_address[1] = (uint8_t) data[1]; + m_address[2] = (uint8_t) data[2]; + m_address[3] = (uint8_t) data[3]; + m_address[4] = (uint8_t) data[4]; + m_address[5] = (uint8_t) data[5]; +} // BLEAddress + + +/** + * @brief Determine if this address equals another. + * @param [in] otherAddress The other address to compare against. + * @return True if the addresses are equal. + */ +bool BLEAddress::equals(BLEAddress otherAddress) { + return memcmp(otherAddress.getNative(), m_address, 6) == 0; +} // equals + + +/** + * @brief Return the native representation of the address. + * @return The native representation of the address. + */ +esp_bd_addr_t *BLEAddress::getNative() { + return &m_address; +} // getNative + + +/** + * @brief Convert a BLE address to a string. + * + * A string representation of an address is in the format: + * + * ``` + * xx:xx:xx:xx:xx:xx + * ``` + * + * @return The string representation of the address. + */ +std::string BLEAddress::toString() { + std::stringstream stream; + stream << std::setfill('0') << std::setw(2) << std::hex << (int) ((uint8_t*) (m_address))[0] << ':'; + stream << std::setfill('0') << std::setw(2) << std::hex << (int) ((uint8_t*) (m_address))[1] << ':'; + stream << std::setfill('0') << std::setw(2) << std::hex << (int) ((uint8_t*) (m_address))[2] << ':'; + stream << std::setfill('0') << std::setw(2) << std::hex << (int) ((uint8_t*) (m_address))[3] << ':'; + stream << std::setfill('0') << std::setw(2) << std::hex << (int) ((uint8_t*) (m_address))[4] << ':'; + stream << std::setfill('0') << std::setw(2) << std::hex << (int) ((uint8_t*) (m_address))[5]; + return stream.str(); +} // toString +#endif diff --git a/libraries/BLE/src/BLEAddress.h b/libraries/BLE/src/BLEAddress.h new file mode 100644 index 00000000..7eff4da4 --- /dev/null +++ b/libraries/BLE/src/BLEAddress.h @@ -0,0 +1,34 @@ +/* + * BLEAddress.h + * + * Created on: Jul 2, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEADDRESS_H_ +#define COMPONENTS_CPP_UTILS_BLEADDRESS_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include // ESP32 BLE +#include + + +/** + * @brief A %BLE device address. + * + * Every %BLE device has a unique address which can be used to identify it and form connections. + */ +class BLEAddress { +public: + BLEAddress(esp_bd_addr_t address); + BLEAddress(std::string stringAddress); + bool equals(BLEAddress otherAddress); + esp_bd_addr_t* getNative(); + std::string toString(); + +private: + esp_bd_addr_t m_address; +}; + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEADDRESS_H_ */ diff --git a/libraries/BLE/src/BLEAdvertisedDevice.cpp b/libraries/BLE/src/BLEAdvertisedDevice.cpp new file mode 100644 index 00000000..3f55e8c8 --- /dev/null +++ b/libraries/BLE/src/BLEAdvertisedDevice.cpp @@ -0,0 +1,529 @@ +/* + * BLEAdvertisedDevice.cpp + * + * During the scanning procedure, we will be finding advertised BLE devices. This class + * models a found device. + * + * + * See also: + * https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile + * + * Created on: Jul 3, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include "BLEAdvertisedDevice.h" +#include "BLEUtils.h" +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG="BLEAdvertisedDevice"; +#endif + +BLEAdvertisedDevice::BLEAdvertisedDevice() { + m_adFlag = 0; + m_appearance = 0; + m_deviceType = 0; + m_manufacturerData = ""; + m_name = ""; + m_rssi = -9999; + m_serviceData = ""; + m_txPower = 0; + m_pScan = nullptr; + + m_haveAppearance = false; + m_haveManufacturerData = false; + m_haveName = false; + m_haveRSSI = false; + m_haveServiceData = false; + m_haveServiceUUID = false; + m_haveTXPower = false; + +} // BLEAdvertisedDevice + + +/** + * @brief Get the address. + * + * Every %BLE device exposes an address that is used to identify it and subsequently connect to it. + * Call this function to obtain the address of the advertised device. + * + * @return The address of the advertised device. + */ +BLEAddress BLEAdvertisedDevice::getAddress() { + return m_address; +} // getAddress + + +/** + * @brief Get the appearance. + * + * A %BLE device can declare its own appearance. The appearance is how it would like to be shown to an end user + * typcially in the form of an icon. + * + * @return The appearance of the advertised device. + */ +uint16_t BLEAdvertisedDevice::getAppearance() { + return m_appearance; +} // getAppearance + + +/** + * @brief Get the manufacturer data. + * @return The manufacturer data of the advertised device. + */ +std::string BLEAdvertisedDevice::getManufacturerData() { + return m_manufacturerData; +} // getManufacturerData + + +/** + * @brief Get the name. + * @return The name of the advertised device. + */ +std::string BLEAdvertisedDevice::getName() { + return m_name; +} // getName + + +/** + * @brief Get the RSSI. + * @return The RSSI of the advertised device. + */ +int BLEAdvertisedDevice::getRSSI() { + return m_rssi; +} // getRSSI + + +/** + * @brief Get the scan object that created this advertisement. + * @return The scan object. + */ +BLEScan* BLEAdvertisedDevice::getScan() { + return m_pScan; +} // getScan + + +/** + * @brief Get the service data. + * @return The ServiceData of the advertised device. + */ +std::string BLEAdvertisedDevice::getServiceData() { + return m_serviceData; +} //getServiceData + + +/** + * @brief Get the service data UUID. + * @return The service data UUID. + */ +BLEUUID BLEAdvertisedDevice::getServiceDataUUID() { + return m_serviceDataUUID; +} // getServiceDataUUID + + +/** + * @brief Get the Service UUID. + * @return The Service UUID of the advertised device. + */ +BLEUUID BLEAdvertisedDevice::getServiceUUID() { //TODO Remove it eventually, is no longer useful + return m_serviceUUIDs[0]; +} // getServiceUUID + +/** + * @brief Check advertised serviced for existence required UUID + * @return Return true if service is advertised + */ +bool BLEAdvertisedDevice::isAdvertisingService(BLEUUID uuid){ + for (int i = 0; i < m_serviceUUIDs.size(); i++) { + if (m_serviceUUIDs[i].equals(uuid)) return true; + } + return false; +} + +/** + * @brief Get the TX Power. + * @return The TX Power of the advertised device. + */ +int8_t BLEAdvertisedDevice::getTXPower() { + return m_txPower; +} // getTXPower + + + +/** + * @brief Does this advertisement have an appearance value? + * @return True if there is an appearance value present. + */ +bool BLEAdvertisedDevice::haveAppearance() { + return m_haveAppearance; +} // haveAppearance + + +/** + * @brief Does this advertisement have manufacturer data? + * @return True if there is manufacturer data present. + */ +bool BLEAdvertisedDevice::haveManufacturerData() { + return m_haveManufacturerData; +} // haveManufacturerData + + +/** + * @brief Does this advertisement have a name value? + * @return True if there is a name value present. + */ +bool BLEAdvertisedDevice::haveName() { + return m_haveName; +} // haveName + + +/** + * @brief Does this advertisement have a signal strength value? + * @return True if there is a signal strength value present. + */ +bool BLEAdvertisedDevice::haveRSSI() { + return m_haveRSSI; +} // haveRSSI + + +/** + * @brief Does this advertisement have a service data value? + * @return True if there is a service data value present. + */ +bool BLEAdvertisedDevice::haveServiceData() { + return m_haveServiceData; +} // haveServiceData + + +/** + * @brief Does this advertisement have a service UUID value? + * @return True if there is a service UUID value present. + */ +bool BLEAdvertisedDevice::haveServiceUUID() { + return m_haveServiceUUID; +} // haveServiceUUID + + +/** + * @brief Does this advertisement have a transmission power value? + * @return True if there is a transmission power value present. + */ +bool BLEAdvertisedDevice::haveTXPower() { + return m_haveTXPower; +} // haveTXPower + + +/** + * @brief Parse the advertising pay load. + * + * The pay load is a buffer of bytes that is either 31 bytes long or terminated by + * a 0 length value. Each entry in the buffer has the format: + * [length][type][data...] + * + * The length does not include itself but does include everything after it until the next record. A record + * with a length value of 0 indicates a terminator. + * + * https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile + */ +void BLEAdvertisedDevice::parseAdvertisement(uint8_t* payload, size_t total_len) { + uint8_t length; + uint8_t ad_type; + uint8_t sizeConsumed = 0; + bool finished = false; + m_payload = payload; + m_payloadLength = total_len; + + while(!finished) { + length = *payload; // Retrieve the length of the record. + payload++; // Skip to type + sizeConsumed += 1 + length; // increase the size consumed. + + if (length != 0) { // A length of 0 indicates that we have reached the end. + ad_type = *payload; + payload++; + length--; + + char* pHex = BLEUtils::buildHexData(nullptr, payload, length); + ESP_LOGD(LOG_TAG, "Type: 0x%.2x (%s), length: %d, data: %s", + ad_type, BLEUtils::advTypeToString(ad_type), length, pHex); + free(pHex); + + switch(ad_type) { + case ESP_BLE_AD_TYPE_NAME_CMPL: { // Adv Data Type: 0x09 + setName(std::string(reinterpret_cast(payload), length)); + break; + } // ESP_BLE_AD_TYPE_NAME_CMPL + + case ESP_BLE_AD_TYPE_TX_PWR: { // Adv Data Type: 0x0A + setTXPower(*payload); + break; + } // ESP_BLE_AD_TYPE_TX_PWR + + case ESP_BLE_AD_TYPE_APPEARANCE: { // Adv Data Type: 0x19 + setAppearance(*reinterpret_cast(payload)); + break; + } // ESP_BLE_AD_TYPE_APPEARANCE + + case ESP_BLE_AD_TYPE_FLAG: { // Adv Data Type: 0x01 + setAdFlag(*payload); + break; + } // ESP_BLE_AD_TYPE_FLAG + + case ESP_BLE_AD_TYPE_16SRV_CMPL: + case ESP_BLE_AD_TYPE_16SRV_PART: { // Adv Data Type: 0x02 + for (int var = 0; var < length/2; ++var) { + setServiceUUID(BLEUUID(*reinterpret_cast(payload + var * 2))); + } + break; + } // ESP_BLE_AD_TYPE_16SRV_PART + + case ESP_BLE_AD_TYPE_32SRV_CMPL: + case ESP_BLE_AD_TYPE_32SRV_PART: { // Adv Data Type: 0x04 + for (int var = 0; var < length/4; ++var) { + setServiceUUID(BLEUUID(*reinterpret_cast(payload + var * 4))); + } + break; + } // ESP_BLE_AD_TYPE_32SRV_PART + + case ESP_BLE_AD_TYPE_128SRV_CMPL: { // Adv Data Type: 0x07 + setServiceUUID(BLEUUID(payload, 16, false)); + break; + } // ESP_BLE_AD_TYPE_128SRV_CMPL + + case ESP_BLE_AD_TYPE_128SRV_PART: { // Adv Data Type: 0x06 + setServiceUUID(BLEUUID(payload, 16, false)); + break; + } // ESP_BLE_AD_TYPE_128SRV_PART + + // See CSS Part A 1.4 Manufacturer Specific Data + case ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE: { + setManufacturerData(std::string(reinterpret_cast(payload), length)); + break; + } // ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE + + case ESP_BLE_AD_TYPE_SERVICE_DATA: { // Adv Data Type: 0x16 (Service Data) - 2 byte UUID + if (length < 2) { + ESP_LOGE(LOG_TAG, "Length too small for ESP_BLE_AD_TYPE_SERVICE_DATA"); + break; + } + uint16_t uuid = *(uint16_t*)payload; + setServiceDataUUID(BLEUUID(uuid)); + if (length > 2) { + setServiceData(std::string(reinterpret_cast(payload + 2), length - 2)); + } + break; + } //ESP_BLE_AD_TYPE_SERVICE_DATA + + case ESP_BLE_AD_TYPE_32SERVICE_DATA: { // Adv Data Type: 0x20 (Service Data) - 4 byte UUID + if (length < 4) { + ESP_LOGE(LOG_TAG, "Length too small for ESP_BLE_AD_TYPE_32SERVICE_DATA"); + break; + } + uint32_t uuid = *(uint32_t*) payload; + setServiceDataUUID(BLEUUID(uuid)); + if (length > 4) { + setServiceData(std::string(reinterpret_cast(payload + 4), length - 4)); + } + break; + } //ESP_BLE_AD_TYPE_32SERVICE_DATA + + case ESP_BLE_AD_TYPE_128SERVICE_DATA: { // Adv Data Type: 0x21 (Service Data) - 16 byte UUID + if (length < 16) { + ESP_LOGE(LOG_TAG, "Length too small for ESP_BLE_AD_TYPE_128SERVICE_DATA"); + break; + } + + setServiceDataUUID(BLEUUID(payload, (size_t)16, false)); + if (length > 16) { + setServiceData(std::string(reinterpret_cast(payload + 16), length - 16)); + } + break; + } //ESP_BLE_AD_TYPE_32SERVICE_DATA + + default: { + ESP_LOGD(LOG_TAG, "Unhandled type: adType: %d - 0x%.2x", ad_type, ad_type); + break; + } + } // switch + payload += length; + } // Length <> 0 + + + if (sizeConsumed >= total_len) + finished = true; + + } // !finished +} // parseAdvertisement + + +/** + * @brief Set the address of the advertised device. + * @param [in] address The address of the advertised device. + */ +void BLEAdvertisedDevice::setAddress(BLEAddress address) { + m_address = address; +} // setAddress + + +/** + * @brief Set the adFlag for this device. + * @param [in] The discovered adFlag. + */ +void BLEAdvertisedDevice::setAdFlag(uint8_t adFlag) { + m_adFlag = adFlag; +} // setAdFlag + + +/** + * @brief Set the appearance for this device. + * @param [in] The discovered appearance. + */ +void BLEAdvertisedDevice::setAppearance(uint16_t appearance) { + m_appearance = appearance; + m_haveAppearance = true; + ESP_LOGD(LOG_TAG, "- appearance: %d", m_appearance); +} // setAppearance + + +/** + * @brief Set the manufacturer data for this device. + * @param [in] The discovered manufacturer data. + */ +void BLEAdvertisedDevice::setManufacturerData(std::string manufacturerData) { + m_manufacturerData = manufacturerData; + m_haveManufacturerData = true; + char* pHex = BLEUtils::buildHexData(nullptr, (uint8_t*) m_manufacturerData.data(), (uint8_t) m_manufacturerData.length()); + ESP_LOGD(LOG_TAG, "- manufacturer data: %s", pHex); + free(pHex); +} // setManufacturerData + + +/** + * @brief Set the name for this device. + * @param [in] name The discovered name. + */ +void BLEAdvertisedDevice::setName(std::string name) { + m_name = name; + m_haveName = true; + ESP_LOGD(LOG_TAG, "- setName(): name: %s", m_name.c_str()); +} // setName + + +/** + * @brief Set the RSSI for this device. + * @param [in] rssi The discovered RSSI. + */ +void BLEAdvertisedDevice::setRSSI(int rssi) { + m_rssi = rssi; + m_haveRSSI = true; + ESP_LOGD(LOG_TAG, "- setRSSI(): rssi: %d", m_rssi); +} // setRSSI + + +/** + * @brief Set the Scan that created this advertised device. + * @param pScan The Scan that created this advertised device. + */ +void BLEAdvertisedDevice::setScan(BLEScan* pScan) { + m_pScan = pScan; +} // setScan + + +/** + * @brief Set the Service UUID for this device. + * @param [in] serviceUUID The discovered serviceUUID + */ +void BLEAdvertisedDevice::setServiceUUID(const char* serviceUUID) { + return setServiceUUID(BLEUUID(serviceUUID)); +} // setServiceUUID + + +/** + * @brief Set the Service UUID for this device. + * @param [in] serviceUUID The discovered serviceUUID + */ +void BLEAdvertisedDevice::setServiceUUID(BLEUUID serviceUUID) { + m_serviceUUIDs.push_back(serviceUUID); + m_haveServiceUUID = true; + ESP_LOGD(LOG_TAG, "- addServiceUUID(): serviceUUID: %s", serviceUUID.toString().c_str()); +} // setServiceUUID + + +/** + * @brief Set the ServiceData value. + * @param [in] data ServiceData value. + */ +void BLEAdvertisedDevice::setServiceData(std::string serviceData) { + m_haveServiceData = true; // Set the flag that indicates we have service data. + m_serviceData = serviceData; // Save the service data that we received. +} //setServiceData + + +/** + * @brief Set the ServiceDataUUID value. + * @param [in] data ServiceDataUUID value. + */ +void BLEAdvertisedDevice::setServiceDataUUID(BLEUUID uuid) { + m_haveServiceData = true; // Set the flag that indicates we have service data. + m_serviceDataUUID = uuid; +} // setServiceDataUUID + + +/** + * @brief Set the power level for this device. + * @param [in] txPower The discovered power level. + */ +void BLEAdvertisedDevice::setTXPower(int8_t txPower) { + m_txPower = txPower; + m_haveTXPower = true; + ESP_LOGD(LOG_TAG, "- txPower: %d", m_txPower); +} // setTXPower + + +/** + * @brief Create a string representation of this device. + * @return A string representation of this device. + */ +std::string BLEAdvertisedDevice::toString() { + std::stringstream ss; + ss << "Name: " << getName() << ", Address: " << getAddress().toString(); + if (haveAppearance()) { + ss << ", appearance: " << getAppearance(); + } + if (haveManufacturerData()) { + char *pHex = BLEUtils::buildHexData(nullptr, (uint8_t*)getManufacturerData().data(), getManufacturerData().length()); + ss << ", manufacturer data: " << pHex; + free(pHex); + } + if (haveServiceUUID()) { + ss << ", serviceUUID: " << getServiceUUID().toString(); + } + if (haveTXPower()) { + ss << ", txPower: " << (int)getTXPower(); + } + return ss.str(); +} // toString + +uint8_t* BLEAdvertisedDevice::getPayload() { + return m_payload; +} + +esp_ble_addr_type_t BLEAdvertisedDevice::getAddressType() { + return m_addressType; +} + +void BLEAdvertisedDevice::setAddressType(esp_ble_addr_type_t type) { + m_addressType = type; +} + +size_t BLEAdvertisedDevice::getPayloadLength() { + return m_payloadLength; +} + +#endif /* CONFIG_BT_ENABLED */ + diff --git a/libraries/BLE/src/BLEAdvertisedDevice.h b/libraries/BLE/src/BLEAdvertisedDevice.h new file mode 100644 index 00000000..aec83746 --- /dev/null +++ b/libraries/BLE/src/BLEAdvertisedDevice.h @@ -0,0 +1,123 @@ +/* + * BLEAdvertisedDevice.h + * + * Created on: Jul 3, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEADVERTISEDDEVICE_H_ +#define COMPONENTS_CPP_UTILS_BLEADVERTISEDDEVICE_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include + +#include + +#include "BLEAddress.h" +#include "BLEScan.h" +#include "BLEUUID.h" + + +class BLEScan; +/** + * @brief A representation of a %BLE advertised device found by a scan. + * + * When we perform a %BLE scan, the result will be a set of devices that are advertising. This + * class provides a model of a detected device. + */ +class BLEAdvertisedDevice { +public: + BLEAdvertisedDevice(); + + BLEAddress getAddress(); + uint16_t getAppearance(); + std::string getManufacturerData(); + std::string getName(); + int getRSSI(); + BLEScan* getScan(); + std::string getServiceData(); + BLEUUID getServiceDataUUID(); + BLEUUID getServiceUUID(); + int8_t getTXPower(); + uint8_t* getPayload(); + size_t getPayloadLength(); + esp_ble_addr_type_t getAddressType(); + void setAddressType(esp_ble_addr_type_t type); + + + bool isAdvertisingService(BLEUUID uuid); + bool haveAppearance(); + bool haveManufacturerData(); + bool haveName(); + bool haveRSSI(); + bool haveServiceData(); + bool haveServiceUUID(); + bool haveTXPower(); + + std::string toString(); + +private: + friend class BLEScan; + + void parseAdvertisement(uint8_t* payload, size_t total_len=62); + void setAddress(BLEAddress address); + void setAdFlag(uint8_t adFlag); + void setAdvertizementResult(uint8_t* payload); + void setAppearance(uint16_t appearance); + void setManufacturerData(std::string manufacturerData); + void setName(std::string name); + void setRSSI(int rssi); + void setScan(BLEScan* pScan); + void setServiceData(std::string data); + void setServiceDataUUID(BLEUUID uuid); + void setServiceUUID(const char* serviceUUID); + void setServiceUUID(BLEUUID serviceUUID); + void setTXPower(int8_t txPower); + + bool m_haveAppearance; + bool m_haveManufacturerData; + bool m_haveName; + bool m_haveRSSI; + bool m_haveServiceData; + bool m_haveServiceUUID; + bool m_haveTXPower; + + + BLEAddress m_address = BLEAddress((uint8_t*)"\0\0\0\0\0\0"); + uint8_t m_adFlag; + uint16_t m_appearance; + int m_deviceType; + std::string m_manufacturerData; + std::string m_name; + BLEScan* m_pScan; + int m_rssi; + std::vector m_serviceUUIDs; + int8_t m_txPower; + std::string m_serviceData; + BLEUUID m_serviceDataUUID; + uint8_t* m_payload; + size_t m_payloadLength = 0; + esp_ble_addr_type_t m_addressType; +}; + +/** + * @brief A callback handler for callbacks associated device scanning. + * + * When we are performing a scan as a %BLE client, we may wish to know when a new device that is advertising + * has been found. This class can be sub-classed and registered such that when a scan is performed and + * a new advertised device has been found, we will be called back to be notified. + */ +class BLEAdvertisedDeviceCallbacks { +public: + virtual ~BLEAdvertisedDeviceCallbacks() {} + /** + * @brief Called when a new scan result is detected. + * + * As we are scanning, we will find new devices. When found, this call back is invoked with a reference to the + * device that was found. During any individual scan, a device will only be detected one time. + */ + virtual void onResult(BLEAdvertisedDevice advertisedDevice) = 0; +}; + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEADVERTISEDDEVICE_H_ */ diff --git a/libraries/BLE/src/BLEAdvertising.cpp b/libraries/BLE/src/BLEAdvertising.cpp new file mode 100644 index 00000000..230d77cb --- /dev/null +++ b/libraries/BLE/src/BLEAdvertising.cpp @@ -0,0 +1,505 @@ +/* + * BLEAdvertising.cpp + * + * This class encapsulates advertising a BLE Server. + * Created on: Jun 21, 2017 + * Author: kolban + * + * The ESP-IDF provides a framework for BLE advertising. It has determined that there are a common set + * of properties that are advertised and has built a data structure that can be populated by the programmer. + * This means that the programmer doesn't have to "mess with" the low level construction of a low level + * BLE advertising frame. Many of the fields are determined for us while others we can set before starting + * to advertise. + * + * Should we wish to construct our own payload, we can use the BLEAdvertisementData class and call the setters + * upon it. Once it is populated, we can then associate it with the advertising and what ever the programmer + * set in the data will be advertised. + * + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include "BLEAdvertising.h" +#include +#include "BLEUtils.h" +#include "GeneralUtils.h" + +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLEAdvertising"; +#endif + + + +/** + * @brief Construct a default advertising object. + * + */ +BLEAdvertising::BLEAdvertising() { + m_advData.set_scan_rsp = false; + m_advData.include_name = true; + m_advData.include_txpower = true; + m_advData.min_interval = 0x20; + m_advData.max_interval = 0x40; + m_advData.appearance = 0x00; + m_advData.manufacturer_len = 0; + m_advData.p_manufacturer_data = nullptr; + m_advData.service_data_len = 0; + m_advData.p_service_data = nullptr; + m_advData.service_uuid_len = 0; + m_advData.p_service_uuid = nullptr; + m_advData.flag = (ESP_BLE_ADV_FLAG_GEN_DISC | ESP_BLE_ADV_FLAG_BREDR_NOT_SPT); + + m_advParams.adv_int_min = 0x20; + m_advParams.adv_int_max = 0x40; + m_advParams.adv_type = ADV_TYPE_IND; + m_advParams.own_addr_type = BLE_ADDR_TYPE_PUBLIC; + m_advParams.channel_map = ADV_CHNL_ALL; + m_advParams.adv_filter_policy = ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY; + m_advParams.peer_addr_type = BLE_ADDR_TYPE_PUBLIC; + + m_customAdvData = false; // No custom advertising data + m_customScanResponseData = false; // No custom scan response data +} // BLEAdvertising + + +/** + * @brief Add a service uuid to exposed list of services. + * @param [in] serviceUUID The UUID of the service to expose. + */ +void BLEAdvertising::addServiceUUID(BLEUUID serviceUUID) { + m_serviceUUIDs.push_back(serviceUUID); +} // addServiceUUID + + +/** + * @brief Add a service uuid to exposed list of services. + * @param [in] serviceUUID The string representation of the service to expose. + */ +void BLEAdvertising::addServiceUUID(const char* serviceUUID) { + addServiceUUID(BLEUUID(serviceUUID)); +} // addServiceUUID + + +/** + * @brief Set the device appearance in the advertising data. + * The appearance attribute is of type 0x19. The codes for distinct appearances can be found here: + * https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml. + * @param [in] appearance The appearance of the device in the advertising data. + * @return N/A. + */ +void BLEAdvertising::setAppearance(uint16_t appearance) { + m_advData.appearance = appearance; +} // setAppearance + +void BLEAdvertising::setMinInterval(uint16_t mininterval) { + m_advParams.adv_int_min = mininterval; +} // setMinInterval + +void BLEAdvertising::setMaxInterval(uint16_t maxinterval) { + m_advParams.adv_int_max = maxinterval; +} // setMaxInterval + +void BLEAdvertising::setMinPreferred(uint16_t mininterval) { + m_advData.min_interval = mininterval; +} // + +void BLEAdvertising::setMaxPreferred(uint16_t maxinterval) { + m_advData.max_interval = maxinterval; +} // + +void BLEAdvertising::setScanResponse(bool set) { + m_scanResp = set; +} + +/** + * @brief Set the filtering for the scan filter. + * @param [in] scanRequestWhitelistOnly If true, only allow scan requests from those on the white list. + * @param [in] connectWhitelistOnly If true, only allow connections from those on the white list. + */ +void BLEAdvertising::setScanFilter(bool scanRequestWhitelistOnly, bool connectWhitelistOnly) { + ESP_LOGD(LOG_TAG, ">> setScanFilter: scanRequestWhitelistOnly: %d, connectWhitelistOnly: %d", scanRequestWhitelistOnly, connectWhitelistOnly); + if (!scanRequestWhitelistOnly && !connectWhitelistOnly) { + m_advParams.adv_filter_policy = ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY; + ESP_LOGD(LOG_TAG, "<< setScanFilter"); + return; + } + if (scanRequestWhitelistOnly && !connectWhitelistOnly) { + m_advParams.adv_filter_policy = ADV_FILTER_ALLOW_SCAN_WLST_CON_ANY; + ESP_LOGD(LOG_TAG, "<< setScanFilter"); + return; + } + if (!scanRequestWhitelistOnly && connectWhitelistOnly) { + m_advParams.adv_filter_policy = ADV_FILTER_ALLOW_SCAN_ANY_CON_WLST; + ESP_LOGD(LOG_TAG, "<< setScanFilter"); + return; + } + if (scanRequestWhitelistOnly && connectWhitelistOnly) { + m_advParams.adv_filter_policy = ADV_FILTER_ALLOW_SCAN_WLST_CON_WLST; + ESP_LOGD(LOG_TAG, "<< setScanFilter"); + return; + } +} // setScanFilter + + +/** + * @brief Set the advertisement data that is to be published in a regular advertisement. + * @param [in] advertisementData The data to be advertised. + */ +void BLEAdvertising::setAdvertisementData(BLEAdvertisementData& advertisementData) { + ESP_LOGD(LOG_TAG, ">> setAdvertisementData"); + esp_err_t errRc = ::esp_ble_gap_config_adv_data_raw( + (uint8_t*)advertisementData.getPayload().data(), + advertisementData.getPayload().length()); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_config_adv_data_raw: %d %s", errRc, GeneralUtils::errorToString(errRc)); + } + m_customAdvData = true; // Set the flag that indicates we are using custom advertising data. + ESP_LOGD(LOG_TAG, "<< setAdvertisementData"); +} // setAdvertisementData + + +/** + * @brief Set the advertisement data that is to be published in a scan response. + * @param [in] advertisementData The data to be advertised. + */ +void BLEAdvertising::setScanResponseData(BLEAdvertisementData& advertisementData) { + ESP_LOGD(LOG_TAG, ">> setScanResponseData"); + esp_err_t errRc = ::esp_ble_gap_config_scan_rsp_data_raw( + (uint8_t*)advertisementData.getPayload().data(), + advertisementData.getPayload().length()); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_config_scan_rsp_data_raw: %d %s", errRc, GeneralUtils::errorToString(errRc)); + } + m_customScanResponseData = true; // Set the flag that indicates we are using custom scan response data. + ESP_LOGD(LOG_TAG, "<< setScanResponseData"); +} // setScanResponseData + +/** + * @brief Start advertising. + * Start advertising. + * @return N/A. + */ +void BLEAdvertising::start() { + ESP_LOGD(LOG_TAG, ">> start: customAdvData: %d, customScanResponseData: %d", m_customAdvData, m_customScanResponseData); + + // We have a vector of service UUIDs that we wish to advertise. In order to use the + // ESP-IDF framework, these must be supplied in a contiguous array of their 128bit (16 byte) + // representations. If we have 1 or more services to advertise then we allocate enough + // storage to host them and then copy them in one at a time into the contiguous storage. + int numServices = m_serviceUUIDs.size(); + if (numServices > 0) { + m_advData.service_uuid_len = 16 * numServices; + m_advData.p_service_uuid = new uint8_t[m_advData.service_uuid_len]; + uint8_t* p = m_advData.p_service_uuid; + for (int i = 0; i < numServices; i++) { + ESP_LOGD(LOG_TAG, "- advertising service: %s", m_serviceUUIDs[i].toString().c_str()); + BLEUUID serviceUUID128 = m_serviceUUIDs[i].to128(); + memcpy(p, serviceUUID128.getNative()->uuid.uuid128, 16); + p += 16; + } + } else { + m_advData.service_uuid_len = 0; + ESP_LOGD(LOG_TAG, "- no services advertised"); + } + + esp_err_t errRc; + + if (!m_customAdvData) { + // Set the configuration for advertising. + m_advData.set_scan_rsp = false; + m_advData.include_name = !m_scanResp; + m_advData.include_txpower = !m_scanResp; + errRc = ::esp_ble_gap_config_adv_data(&m_advData); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gap_config_adv_data: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + } + + if (!m_customScanResponseData && m_scanResp) { + m_advData.set_scan_rsp = true; + m_advData.include_name = m_scanResp; + m_advData.include_txpower = m_scanResp; + errRc = ::esp_ble_gap_config_adv_data(&m_advData); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gap_config_adv_data (Scan response): rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + } + + // If we had services to advertise then we previously allocated some storage for them. + // Here we release that storage. + if (m_advData.service_uuid_len > 0) { + delete[] m_advData.p_service_uuid; + m_advData.p_service_uuid = nullptr; + } + + // Start advertising. + errRc = ::esp_ble_gap_start_advertising(&m_advParams); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gap_start_advertising: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + ESP_LOGD(LOG_TAG, "<< start"); +} // start + + +/** + * @brief Stop advertising. + * Stop advertising. + * @return N/A. + */ +void BLEAdvertising::stop() { + ESP_LOGD(LOG_TAG, ">> stop"); + esp_err_t errRc = ::esp_ble_gap_stop_advertising(); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_stop_advertising: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + ESP_LOGD(LOG_TAG, "<< stop"); +} // stop + +/** + * @brief Add data to the payload to be advertised. + * @param [in] data The data to be added to the payload. + */ +void BLEAdvertisementData::addData(std::string data) { + if ((m_payload.length() + data.length()) > ESP_BLE_ADV_DATA_LEN_MAX) { + return; + } + m_payload.append(data); +} // addData + + +/** + * @brief Set the appearance. + * @param [in] appearance The appearance code value. + * + * See also: + * https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml + */ +void BLEAdvertisementData::setAppearance(uint16_t appearance) { + char cdata[2]; + cdata[0] = 3; + cdata[1] = ESP_BLE_AD_TYPE_APPEARANCE; // 0x19 + addData(std::string(cdata, 2) + std::string((char*) &appearance, 2)); +} // setAppearance + + +/** + * @brief Set the complete services. + * @param [in] uuid The single service to advertise. + */ +void BLEAdvertisementData::setCompleteServices(BLEUUID uuid) { + char cdata[2]; + switch (uuid.bitSize()) { + case 16: { + // [Len] [0x02] [LL] [HH] + cdata[0] = 3; + cdata[1] = ESP_BLE_AD_TYPE_16SRV_CMPL; // 0x03 + addData(std::string(cdata, 2) + std::string((char*) &uuid.getNative()->uuid.uuid16, 2)); + break; + } + + case 32: { + // [Len] [0x04] [LL] [LL] [HH] [HH] + cdata[0] = 5; + cdata[1] = ESP_BLE_AD_TYPE_32SRV_CMPL; // 0x05 + addData(std::string(cdata, 2) + std::string((char*) &uuid.getNative()->uuid.uuid32, 4)); + break; + } + + case 128: { + // [Len] [0x04] [0] [1] ... [15] + cdata[0] = 17; + cdata[1] = ESP_BLE_AD_TYPE_128SRV_CMPL; // 0x07 + addData(std::string(cdata, 2) + std::string((char*) uuid.getNative()->uuid.uuid128, 16)); + break; + } + + default: + return; + } +} // setCompleteServices + + +/** + * @brief Set the advertisement flags. + * @param [in] The flags to be set in the advertisement. + * + * * ESP_BLE_ADV_FLAG_LIMIT_DISC + * * ESP_BLE_ADV_FLAG_GEN_DISC + * * ESP_BLE_ADV_FLAG_BREDR_NOT_SPT + * * ESP_BLE_ADV_FLAG_DMT_CONTROLLER_SPT + * * ESP_BLE_ADV_FLAG_DMT_HOST_SPT + * * ESP_BLE_ADV_FLAG_NON_LIMIT_DISC + */ +void BLEAdvertisementData::setFlags(uint8_t flag) { + char cdata[3]; + cdata[0] = 2; + cdata[1] = ESP_BLE_AD_TYPE_FLAG; // 0x01 + cdata[2] = flag; + addData(std::string(cdata, 3)); +} // setFlag + + + +/** + * @brief Set manufacturer specific data. + * @param [in] data Manufacturer data. + */ +void BLEAdvertisementData::setManufacturerData(std::string data) { + ESP_LOGD("BLEAdvertisementData", ">> setManufacturerData"); + char cdata[2]; + cdata[0] = data.length() + 1; + cdata[1] = ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE; // 0xff + addData(std::string(cdata, 2) + data); + ESP_LOGD("BLEAdvertisementData", "<< setManufacturerData"); +} // setManufacturerData + + +/** + * @brief Set the name. + * @param [in] The complete name of the device. + */ +void BLEAdvertisementData::setName(std::string name) { + ESP_LOGD("BLEAdvertisementData", ">> setName: %s", name.c_str()); + char cdata[2]; + cdata[0] = name.length() + 1; + cdata[1] = ESP_BLE_AD_TYPE_NAME_CMPL; // 0x09 + addData(std::string(cdata, 2) + name); + ESP_LOGD("BLEAdvertisementData", "<< setName"); +} // setName + + +/** + * @brief Set the partial services. + * @param [in] uuid The single service to advertise. + */ +void BLEAdvertisementData::setPartialServices(BLEUUID uuid) { + char cdata[2]; + switch (uuid.bitSize()) { + case 16: { + // [Len] [0x02] [LL] [HH] + cdata[0] = 3; + cdata[1] = ESP_BLE_AD_TYPE_16SRV_PART; // 0x02 + addData(std::string(cdata, 2) + std::string((char *) &uuid.getNative()->uuid.uuid16, 2)); + break; + } + + case 32: { + // [Len] [0x04] [LL] [LL] [HH] [HH] + cdata[0] = 5; + cdata[1] = ESP_BLE_AD_TYPE_32SRV_PART; // 0x04 + addData(std::string(cdata, 2) + std::string((char *) &uuid.getNative()->uuid.uuid32, 4)); + break; + } + + case 128: { + // [Len] [0x04] [0] [1] ... [15] + cdata[0] = 17; + cdata[1] = ESP_BLE_AD_TYPE_128SRV_PART; // 0x06 + addData(std::string(cdata, 2) + std::string((char *) &uuid.getNative()->uuid.uuid128, 16)); + break; + } + + default: + return; + } +} // setPartialServices + + +/** + * @brief Set the service data (UUID + data) + * @param [in] uuid The UUID to set with the service data. Size of UUID will be used. + * @param [in] data The data to be associated with the service data advert. + */ +void BLEAdvertisementData::setServiceData(BLEUUID uuid, std::string data) { + char cdata[2]; + switch (uuid.bitSize()) { + case 16: { + // [Len] [0x16] [UUID16] data + cdata[0] = data.length() + 3; + cdata[1] = ESP_BLE_AD_TYPE_SERVICE_DATA; // 0x16 + addData(std::string(cdata, 2) + std::string((char*) &uuid.getNative()->uuid.uuid16, 2) + data); + break; + } + + case 32: { + // [Len] [0x20] [UUID32] data + cdata[0] = data.length() + 5; + cdata[1] = ESP_BLE_AD_TYPE_32SERVICE_DATA; // 0x20 + addData(std::string(cdata, 2) + std::string((char*) &uuid.getNative()->uuid.uuid32, 4) + data); + break; + } + + case 128: { + // [Len] [0x21] [UUID128] data + cdata[0] = data.length() + 17; + cdata[1] = ESP_BLE_AD_TYPE_128SERVICE_DATA; // 0x21 + addData(std::string(cdata, 2) + std::string((char*) &uuid.getNative()->uuid.uuid128, 16) + data); + break; + } + + default: + return; + } +} // setServiceData + + +/** + * @brief Set the short name. + * @param [in] The short name of the device. + */ +void BLEAdvertisementData::setShortName(std::string name) { + ESP_LOGD("BLEAdvertisementData", ">> setShortName: %s", name.c_str()); + char cdata[2]; + cdata[0] = name.length() + 1; + cdata[1] = ESP_BLE_AD_TYPE_NAME_SHORT; // 0x08 + addData(std::string(cdata, 2) + name); + ESP_LOGD("BLEAdvertisementData", "<< setShortName"); +} // setShortName + + +/** + * @brief Retrieve the payload that is to be advertised. + * @return The payload that is to be advertised. + */ +std::string BLEAdvertisementData::getPayload() { + return m_payload; +} // getPayload + +void BLEAdvertising::handleGAPEvent( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param) { + + ESP_LOGD(LOG_TAG, "handleGAPEvent [event no: %d]", (int)event); + + switch(event) { + case ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT: { + // m_semaphoreSetAdv.give(); + break; + } + case ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT: { + // m_semaphoreSetAdv.give(); + break; + } + case ESP_GAP_BLE_ADV_START_COMPLETE_EVT: { + // m_semaphoreSetAdv.give(); + break; + } + case ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT: { + ESP_LOGI(LOG_TAG, "STOP advertising"); + start(); + break; + } + default: + break; + } +} + + +#endif /* CONFIG_BT_ENABLED */ diff --git a/libraries/BLE/src/BLEAdvertising.h b/libraries/BLE/src/BLEAdvertising.h new file mode 100644 index 00000000..3128b50f --- /dev/null +++ b/libraries/BLE/src/BLEAdvertising.h @@ -0,0 +1,78 @@ +/* + * BLEAdvertising.h + * + * Created on: Jun 21, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEADVERTISING_H_ +#define COMPONENTS_CPP_UTILS_BLEADVERTISING_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include "BLEUUID.h" +#include +#include "FreeRTOS.h" + +/** + * @brief Advertisement data set by the programmer to be published by the %BLE server. + */ +class BLEAdvertisementData { + // Only a subset of the possible BLE architected advertisement fields are currently exposed. Others will + // be exposed on demand/request or as time permits. + // +public: + void setAppearance(uint16_t appearance); + void setCompleteServices(BLEUUID uuid); + void setFlags(uint8_t); + void setManufacturerData(std::string data); + void setName(std::string name); + void setPartialServices(BLEUUID uuid); + void setServiceData(BLEUUID uuid, std::string data); + void setShortName(std::string name); + void addData(std::string data); // Add data to the payload. + std::string getPayload(); // Retrieve the current advert payload. + +private: + friend class BLEAdvertising; + std::string m_payload; // The payload of the advertisement. +}; // BLEAdvertisementData + + +/** + * @brief Perform and manage %BLE advertising. + * + * A %BLE server will want to perform advertising in order to make itself known to %BLE clients. + */ +class BLEAdvertising { +public: + BLEAdvertising(); + void addServiceUUID(BLEUUID serviceUUID); + void addServiceUUID(const char* serviceUUID); + void start(); + void stop(); + void setAppearance(uint16_t appearance); + void setMaxInterval(uint16_t maxinterval); + void setMinInterval(uint16_t mininterval); + void setAdvertisementData(BLEAdvertisementData& advertisementData); + void setScanFilter(bool scanRequertWhitelistOnly, bool connectWhitelistOnly); + void setScanResponseData(BLEAdvertisementData& advertisementData); + void setPrivateAddress(esp_ble_addr_type_t type = BLE_ADDR_TYPE_RANDOM); + + void handleGAPEvent(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t* param); + void setMinPreferred(uint16_t); + void setMaxPreferred(uint16_t); + void setScanResponse(bool); + +private: + esp_ble_adv_data_t m_advData; + esp_ble_adv_params_t m_advParams; + std::vector m_serviceUUIDs; + bool m_customAdvData = false; // Are we using custom advertising data? + bool m_customScanResponseData = false; // Are we using custom scan response data? + FreeRTOS::Semaphore m_semaphoreSetAdv = FreeRTOS::Semaphore("startAdvert"); + bool m_scanResp = true; + +}; +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEADVERTISING_H_ */ \ No newline at end of file diff --git a/libraries/BLE/src/BLEBeacon.cpp b/libraries/BLE/src/BLEBeacon.cpp new file mode 100644 index 00000000..68f8d8ed --- /dev/null +++ b/libraries/BLE/src/BLEBeacon.cpp @@ -0,0 +1,89 @@ +/* + * BLEBeacon.cpp + * + * Created on: Jan 4, 2018 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include "BLEBeacon.h" +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLEBeacon"; +#endif + +#define ENDIAN_CHANGE_U16(x) ((((x)&0xFF00)>>8) + (((x)&0xFF)<<8)) + + +BLEBeacon::BLEBeacon() { + m_beaconData.manufacturerId = 0x4c00; + m_beaconData.subType = 0x02; + m_beaconData.subTypeLength = 0x15; + m_beaconData.major = 0; + m_beaconData.minor = 0; + m_beaconData.signalPower = 0; + memset(m_beaconData.proximityUUID, 0, sizeof(m_beaconData.proximityUUID)); +} // BLEBeacon + +std::string BLEBeacon::getData() { + return std::string((char*) &m_beaconData, sizeof(m_beaconData)); +} // getData + +uint16_t BLEBeacon::getMajor() { + return m_beaconData.major; +} + +uint16_t BLEBeacon::getManufacturerId() { + return m_beaconData.manufacturerId; +} + +uint16_t BLEBeacon::getMinor() { + return m_beaconData.minor; +} + +BLEUUID BLEBeacon::getProximityUUID() { + return BLEUUID(m_beaconData.proximityUUID, 16, false); +} + +int8_t BLEBeacon::getSignalPower() { + return m_beaconData.signalPower; +} + +/** + * Set the raw data for the beacon record. + */ +void BLEBeacon::setData(std::string data) { + if (data.length() != sizeof(m_beaconData)) { + ESP_LOGE(LOG_TAG, "Unable to set the data ... length passed in was %d and expected %d", data.length(), sizeof(m_beaconData)); + return; + } + memcpy(&m_beaconData, data.data(), sizeof(m_beaconData)); +} // setData + +void BLEBeacon::setMajor(uint16_t major) { + m_beaconData.major = ENDIAN_CHANGE_U16(major); +} // setMajor + +void BLEBeacon::setManufacturerId(uint16_t manufacturerId) { + m_beaconData.manufacturerId = ENDIAN_CHANGE_U16(manufacturerId); +} // setManufacturerId + +void BLEBeacon::setMinor(uint16_t minor) { + m_beaconData.minor = ENDIAN_CHANGE_U16(minor); +} // setMinior + +void BLEBeacon::setProximityUUID(BLEUUID uuid) { + uuid = uuid.to128(); + memcpy(m_beaconData.proximityUUID, uuid.getNative()->uuid.uuid128, 16); +} // setProximityUUID + +void BLEBeacon::setSignalPower(int8_t signalPower) { + m_beaconData.signalPower = signalPower; +} // setSignalPower + + +#endif diff --git a/libraries/BLE/src/BLEBeacon.h b/libraries/BLE/src/BLEBeacon.h new file mode 100644 index 00000000..277bd670 --- /dev/null +++ b/libraries/BLE/src/BLEBeacon.h @@ -0,0 +1,43 @@ +/* + * BLEBeacon2.h + * + * Created on: Jan 4, 2018 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEBEACON_H_ +#define COMPONENTS_CPP_UTILS_BLEBEACON_H_ +#include "BLEUUID.h" +/** + * @brief Representation of a beacon. + * See: + * * https://en.wikipedia.org/wiki/IBeacon + */ +class BLEBeacon { +private: + struct { + uint16_t manufacturerId; + uint8_t subType; + uint8_t subTypeLength; + uint8_t proximityUUID[16]; + uint16_t major; + uint16_t minor; + int8_t signalPower; + } __attribute__((packed)) m_beaconData; +public: + BLEBeacon(); + std::string getData(); + uint16_t getMajor(); + uint16_t getMinor(); + uint16_t getManufacturerId(); + BLEUUID getProximityUUID(); + int8_t getSignalPower(); + void setData(std::string data); + void setMajor(uint16_t major); + void setMinor(uint16_t minor); + void setManufacturerId(uint16_t manufacturerId); + void setProximityUUID(BLEUUID uuid); + void setSignalPower(int8_t signalPower); +}; // BLEBeacon + +#endif /* COMPONENTS_CPP_UTILS_BLEBEACON_H_ */ diff --git a/libraries/BLE/src/BLECharacteristic.cpp b/libraries/BLE/src/BLECharacteristic.cpp new file mode 100644 index 00000000..e3402874 --- /dev/null +++ b/libraries/BLE/src/BLECharacteristic.cpp @@ -0,0 +1,760 @@ +/* + * BLECharacteristic.cpp + * + * Created on: Jun 22, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include +#include +#include "sdkconfig.h" +#include +#include "BLECharacteristic.h" +#include "BLEService.h" +#include "BLEDevice.h" +#include "BLEUtils.h" +#include "BLE2902.h" +#include "GeneralUtils.h" +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLECharacteristic"; +#endif + +#define NULL_HANDLE (0xffff) + + +/** + * @brief Construct a characteristic + * @param [in] uuid - UUID (const char*) for the characteristic. + * @param [in] properties - Properties for the characteristic. + */ +BLECharacteristic::BLECharacteristic(const char* uuid, uint32_t properties) : BLECharacteristic(BLEUUID(uuid), properties) { +} + +/** + * @brief Construct a characteristic + * @param [in] uuid - UUID for the characteristic. + * @param [in] properties - Properties for the characteristic. + */ +BLECharacteristic::BLECharacteristic(BLEUUID uuid, uint32_t properties) { + m_bleUUID = uuid; + m_handle = NULL_HANDLE; + m_properties = (esp_gatt_char_prop_t)0; + m_pCallbacks = nullptr; + + setBroadcastProperty((properties & PROPERTY_BROADCAST) != 0); + setReadProperty((properties & PROPERTY_READ) != 0); + setWriteProperty((properties & PROPERTY_WRITE) != 0); + setNotifyProperty((properties & PROPERTY_NOTIFY) != 0); + setIndicateProperty((properties & PROPERTY_INDICATE) != 0); + setWriteNoResponseProperty((properties & PROPERTY_WRITE_NR) != 0); +} // BLECharacteristic + +/** + * @brief Destructor. + */ +BLECharacteristic::~BLECharacteristic() { + //free(m_value.attr_value); // Release the storage for the value. +} // ~BLECharacteristic + + +/** + * @brief Associate a descriptor with this characteristic. + * @param [in] pDescriptor + * @return N/A. + */ +void BLECharacteristic::addDescriptor(BLEDescriptor* pDescriptor) { + ESP_LOGD(LOG_TAG, ">> addDescriptor(): Adding %s to %s", pDescriptor->toString().c_str(), toString().c_str()); + m_descriptorMap.setByUUID(pDescriptor->getUUID(), pDescriptor); + ESP_LOGD(LOG_TAG, "<< addDescriptor()"); +} // addDescriptor + + +/** + * @brief Register a new characteristic with the ESP runtime. + * @param [in] pService The service with which to associate this characteristic. + */ +void BLECharacteristic::executeCreate(BLEService* pService) { + ESP_LOGD(LOG_TAG, ">> executeCreate()"); + + if (m_handle != NULL_HANDLE) { + ESP_LOGE(LOG_TAG, "Characteristic already has a handle."); + return; + } + + m_pService = pService; // Save the service to which this characteristic belongs. + + ESP_LOGD(LOG_TAG, "Registering characteristic (esp_ble_gatts_add_char): uuid: %s, service: %s", + getUUID().toString().c_str(), + m_pService->toString().c_str()); + + esp_attr_control_t control; + control.auto_rsp = ESP_GATT_RSP_BY_APP; + + m_semaphoreCreateEvt.take("executeCreate"); + esp_err_t errRc = ::esp_ble_gatts_add_char( + m_pService->getHandle(), + getUUID().getNative(), + static_cast(m_permissions), + getProperties(), + nullptr, + &control); // Whether to auto respond or not. + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gatts_add_char: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + m_semaphoreCreateEvt.wait("executeCreate"); + + BLEDescriptor* pDescriptor = m_descriptorMap.getFirst(); + while (pDescriptor != nullptr) { + pDescriptor->executeCreate(this); + pDescriptor = m_descriptorMap.getNext(); + } // End while + + ESP_LOGD(LOG_TAG, "<< executeCreate"); +} // executeCreate + + +/** + * @brief Return the BLE Descriptor for the given UUID if associated with this characteristic. + * @param [in] descriptorUUID The UUID of the descriptor that we wish to retrieve. + * @return The BLE Descriptor. If no such descriptor is associated with the characteristic, nullptr is returned. + */ +BLEDescriptor* BLECharacteristic::getDescriptorByUUID(const char* descriptorUUID) { + return m_descriptorMap.getByUUID(BLEUUID(descriptorUUID)); +} // getDescriptorByUUID + + +/** + * @brief Return the BLE Descriptor for the given UUID if associated with this characteristic. + * @param [in] descriptorUUID The UUID of the descriptor that we wish to retrieve. + * @return The BLE Descriptor. If no such descriptor is associated with the characteristic, nullptr is returned. + */ +BLEDescriptor* BLECharacteristic::getDescriptorByUUID(BLEUUID descriptorUUID) { + return m_descriptorMap.getByUUID(descriptorUUID); +} // getDescriptorByUUID + + +/** + * @brief Get the handle of the characteristic. + * @return The handle of the characteristic. + */ +uint16_t BLECharacteristic::getHandle() { + return m_handle; +} // getHandle + +void BLECharacteristic::setAccessPermissions(esp_gatt_perm_t perm) { + m_permissions = perm; +} + +esp_gatt_char_prop_t BLECharacteristic::getProperties() { + return m_properties; +} // getProperties + + +/** + * @brief Get the service associated with this characteristic. + */ +BLEService* BLECharacteristic::getService() { + return m_pService; +} // getService + + +/** + * @brief Get the UUID of the characteristic. + * @return The UUID of the characteristic. + */ +BLEUUID BLECharacteristic::getUUID() { + return m_bleUUID; +} // getUUID + + +/** + * @brief Retrieve the current value of the characteristic. + * @return A pointer to storage containing the current characteristic value. + */ +std::string BLECharacteristic::getValue() { + return m_value.getValue(); +} // getValue + +/** + * @brief Retrieve the current raw data of the characteristic. + * @return A pointer to storage containing the current characteristic data. + */ +uint8_t* BLECharacteristic::getData() { + return m_value.getData(); +} // getData + + +/** + * Handle a GATT server event. + */ +void BLECharacteristic::handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param) { + ESP_LOGD(LOG_TAG, ">> handleGATTServerEvent: %s", BLEUtils::gattServerEventTypeToString(event).c_str()); + + switch(event) { + // Events handled: + // + // ESP_GATTS_ADD_CHAR_EVT + // ESP_GATTS_CONF_EVT + // ESP_GATTS_CONNECT_EVT + // ESP_GATTS_DISCONNECT_EVT + // ESP_GATTS_EXEC_WRITE_EVT + // ESP_GATTS_READ_EVT + // ESP_GATTS_WRITE_EVT + + // + // ESP_GATTS_EXEC_WRITE_EVT + // When we receive this event it is an indication that a previous write long needs to be committed. + // + // exec_write: + // - uint16_t conn_id + // - uint32_t trans_id + // - esp_bd_addr_t bda + // - uint8_t exec_write_flag - Either ESP_GATT_PREP_WRITE_EXEC or ESP_GATT_PREP_WRITE_CANCEL + // + case ESP_GATTS_EXEC_WRITE_EVT: { + if (param->exec_write.exec_write_flag == ESP_GATT_PREP_WRITE_EXEC) { + m_value.commit(); + if (m_pCallbacks != nullptr) { + m_pCallbacks->onWrite(this); // Invoke the onWrite callback handler. + } + } else { + m_value.cancel(); + } +// ??? + esp_err_t errRc = ::esp_ble_gatts_send_response( + gatts_if, + param->write.conn_id, + param->write.trans_id, ESP_GATT_OK, nullptr); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gatts_send_response: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + break; + } // ESP_GATTS_EXEC_WRITE_EVT + + + // ESP_GATTS_ADD_CHAR_EVT - Indicate that a characteristic was added to the service. + // add_char: + // - esp_gatt_status_t status + // - uint16_t attr_handle + // - uint16_t service_handle + // - esp_bt_uuid_t char_uuid + case ESP_GATTS_ADD_CHAR_EVT: { + if (getHandle() == param->add_char.attr_handle) { + // we have created characteristic, now we can create descriptors + // BLEDescriptor* pDescriptor = m_descriptorMap.getFirst(); + // while (pDescriptor != nullptr) { + // pDescriptor->executeCreate(this); + // pDescriptor = m_descriptorMap.getNext(); + // } // End while + m_semaphoreCreateEvt.give(); + } + break; + } // ESP_GATTS_ADD_CHAR_EVT + + + // ESP_GATTS_WRITE_EVT - A request to write the value of a characteristic has arrived. + // + // write: + // - uint16_t conn_id + // - uint16_t trans_id + // - esp_bd_addr_t bda + // - uint16_t handle + // - uint16_t offset + // - bool need_rsp + // - bool is_prep + // - uint16_t len + // - uint8_t *value + // + case ESP_GATTS_WRITE_EVT: { +// We check if this write request is for us by comparing the handles in the event. If it is for us +// we save the new value. Next we look at the need_rsp flag which indicates whether or not we need +// to send a response. If we do, then we formulate a response and send it. + if (param->write.handle == m_handle) { + if (param->write.is_prep) { + m_value.addPart(param->write.value, param->write.len); + } else { + setValue(param->write.value, param->write.len); + } + + ESP_LOGD(LOG_TAG, " - Response to write event: New value: handle: %.2x, uuid: %s", + getHandle(), getUUID().toString().c_str()); + + char* pHexData = BLEUtils::buildHexData(nullptr, param->write.value, param->write.len); + ESP_LOGD(LOG_TAG, " - Data: length: %d, data: %s", param->write.len, pHexData); + free(pHexData); + + if (param->write.need_rsp) { + esp_gatt_rsp_t rsp; + + rsp.attr_value.len = param->write.len; + rsp.attr_value.handle = m_handle; + rsp.attr_value.offset = param->write.offset; + rsp.attr_value.auth_req = ESP_GATT_AUTH_REQ_NONE; + memcpy(rsp.attr_value.value, param->write.value, param->write.len); + + esp_err_t errRc = ::esp_ble_gatts_send_response( + gatts_if, + param->write.conn_id, + param->write.trans_id, ESP_GATT_OK, &rsp); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gatts_send_response: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + } // Response needed + + if (m_pCallbacks != nullptr && param->write.is_prep != true) { + m_pCallbacks->onWrite(this); // Invoke the onWrite callback handler. + } + } // Match on handles. + break; + } // ESP_GATTS_WRITE_EVT + + + // ESP_GATTS_READ_EVT - A request to read the value of a characteristic has arrived. + // + // read: + // - uint16_t conn_id + // - uint32_t trans_id + // - esp_bd_addr_t bda + // - uint16_t handle + // - uint16_t offset + // - bool is_long + // - bool need_rsp + // + case ESP_GATTS_READ_EVT: { + if (param->read.handle == m_handle) { + + + +// Here's an interesting thing. The read request has the option of saying whether we need a response +// or not. What would it "mean" to receive a read request and NOT send a response back? That feels like +// a very strange read. +// +// We have to handle the case where the data we wish to send back to the client is greater than the maximum +// packet size of 22 bytes. In this case, we become responsible for chunking the data into units of 22 bytes. +// The apparent algorithm is as follows: +// +// If the is_long flag is set then this is a follow on from an original read and we will already have sent at least 22 bytes. +// If the is_long flag is not set then we need to check how much data we are going to send. If we are sending LESS than +// 22 bytes, then we "just" send it and thats the end of the story. +// If we are sending 22 bytes exactly, we just send it BUT we will get a follow on request. +// If we are sending more than 22 bytes, we send the first 22 bytes and we will get a follow on request. +// Because of follow on request processing, we need to maintain an offset of how much data we have already sent +// so that when a follow on request arrives, we know where to start in the data to send the next sequence. +// Note that the indication that the client will send a follow on request is that we sent exactly 22 bytes as a response. +// If our payload is divisible by 22 then the last response will be a response of 0 bytes in length. +// +// The following code has deliberately not been factored to make it fewer statements because this would cloud the +// the logic flow comprehension. +// + + // get mtu for peer device that we are sending read request to + uint16_t maxOffset = getService()->getServer()->getPeerMTU(param->read.conn_id) - 1; + ESP_LOGD(LOG_TAG, "mtu value: %d", maxOffset); + if (param->read.need_rsp) { + ESP_LOGD(LOG_TAG, "Sending a response (esp_ble_gatts_send_response)"); + esp_gatt_rsp_t rsp; + + if (param->read.is_long) { + std::string value = m_value.getValue(); + + if (value.length() - m_value.getReadOffset() < maxOffset) { + // This is the last in the chain + rsp.attr_value.len = value.length() - m_value.getReadOffset(); + rsp.attr_value.offset = m_value.getReadOffset(); + memcpy(rsp.attr_value.value, value.data() + rsp.attr_value.offset, rsp.attr_value.len); + m_value.setReadOffset(0); + } else { + // There will be more to come. + rsp.attr_value.len = maxOffset; + rsp.attr_value.offset = m_value.getReadOffset(); + memcpy(rsp.attr_value.value, value.data() + rsp.attr_value.offset, rsp.attr_value.len); + m_value.setReadOffset(rsp.attr_value.offset + maxOffset); + } + } else { // read.is_long == false + + std::string value = m_value.getValue(); + + if (value.length() + 1 > maxOffset) { + // Too big for a single shot entry. + m_value.setReadOffset(maxOffset); + rsp.attr_value.len = maxOffset; + rsp.attr_value.offset = 0; + memcpy(rsp.attr_value.value, value.data(), rsp.attr_value.len); + } else { + // Will fit in a single packet with no callbacks required. + rsp.attr_value.len = value.length(); + rsp.attr_value.offset = 0; + memcpy(rsp.attr_value.value, value.data(), rsp.attr_value.len); + } + + if (m_pCallbacks != nullptr) { // If is.long is false then this is the first (or only) request to read data, so invoke the callback + m_pCallbacks->onRead(this); // Invoke the read callback. + } + } + rsp.attr_value.handle = param->read.handle; + rsp.attr_value.auth_req = ESP_GATT_AUTH_REQ_NONE; + + char *pHexData = BLEUtils::buildHexData(nullptr, rsp.attr_value.value, rsp.attr_value.len); + ESP_LOGD(LOG_TAG, " - Data: length=%d, data=%s, offset=%d", rsp.attr_value.len, pHexData, rsp.attr_value.offset); + free(pHexData); + + esp_err_t errRc = ::esp_ble_gatts_send_response( + gatts_if, param->read.conn_id, + param->read.trans_id, + ESP_GATT_OK, + &rsp); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gatts_send_response: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + } // Response needed + } // Handle matches this characteristic. + break; + } // ESP_GATTS_READ_EVT + + + // ESP_GATTS_CONF_EVT + // + // conf: + // - esp_gatt_status_t status – The status code. + // - uint16_t conn_id – The connection used. + // + case ESP_GATTS_CONF_EVT: { + // ESP_LOGD(LOG_TAG, "m_handle = %d, conf->handle = %d", m_handle, param->conf.handle); + if(param->conf.conn_id == getService()->getServer()->getConnId()) // && param->conf.handle == m_handle) // bug in esp-idf and not implemented in arduino yet + m_semaphoreConfEvt.give(param->conf.status); + break; + } + + case ESP_GATTS_CONNECT_EVT: { + break; + } + + case ESP_GATTS_DISCONNECT_EVT: { + m_semaphoreConfEvt.give(); + break; + } + + default: { + break; + } // default + + } // switch event + + // Give each of the descriptors associated with this characteristic the opportunity to handle the + // event. + + m_descriptorMap.handleGATTServerEvent(event, gatts_if, param); + ESP_LOGD(LOG_TAG, "<< handleGATTServerEvent"); +} // handleGATTServerEvent + + +/** + * @brief Send an indication. + * An indication is a transmission of up to the first 20 bytes of the characteristic value. An indication + * will block waiting a positive confirmation from the client. + * @return N/A + */ +void BLECharacteristic::indicate() { + + ESP_LOGD(LOG_TAG, ">> indicate: length: %d", m_value.getValue().length()); + notify(false); + ESP_LOGD(LOG_TAG, "<< indicate"); +} // indicate + + +/** + * @brief Send a notify. + * A notification is a transmission of up to the first 20 bytes of the characteristic value. An notification + * will not block; it is a fire and forget. + * @return N/A. + */ +void BLECharacteristic::notify(bool is_notification) { + ESP_LOGD(LOG_TAG, ">> notify: length: %d", m_value.getValue().length()); + + assert(getService() != nullptr); + assert(getService()->getServer() != nullptr); + + GeneralUtils::hexDump((uint8_t*)m_value.getValue().data(), m_value.getValue().length()); + + if (getService()->getServer()->getConnectedCount() == 0) { + ESP_LOGD(LOG_TAG, "<< notify: No connected clients."); + return; + } + + // Test to see if we have a 0x2902 descriptor. If we do, then check to see if notification is enabled + // and, if not, prevent the notification. + + BLE2902 *p2902 = (BLE2902*)getDescriptorByUUID((uint16_t)0x2902); + if(is_notification) { + if (p2902 != nullptr && !p2902->getNotifications()) { + ESP_LOGD(LOG_TAG, "<< notifications disabled; ignoring"); + return; + } + } + else{ + if (p2902 != nullptr && !p2902->getIndications()) { + ESP_LOGD(LOG_TAG, "<< indications disabled; ignoring"); + return; + } + } + for (auto &myPair : getService()->getServer()->getPeerDevices(false)) { + uint16_t _mtu = (myPair.second.mtu); + if (m_value.getValue().length() > _mtu - 3) { + ESP_LOGW(LOG_TAG, "- Truncating to %d bytes (maximum notify size)", _mtu - 3); + } + + size_t length = m_value.getValue().length(); + if(!is_notification) + m_semaphoreConfEvt.take("indicate"); + esp_err_t errRc = ::esp_ble_gatts_send_indicate( + getService()->getServer()->getGattsIf(), + myPair.first, + getHandle(), length, (uint8_t*)m_value.getValue().data(), !is_notification); // The need_confirm = false makes this a notify. + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gatts_send_ %s: rc=%d %s",is_notification?"notify":"indicate", errRc, GeneralUtils::errorToString(errRc)); + m_semaphoreConfEvt.give(); + return; + } + if(!is_notification) + m_semaphoreConfEvt.wait("indicate"); + } + ESP_LOGD(LOG_TAG, "<< notify"); +} // Notify + + +/** + * @brief Set the permission to broadcast. + * A characteristics has properties associated with it which define what it is capable of doing. + * One of these is the broadcast flag. + * @param [in] value The flag value of the property. + * @return N/A + */ +void BLECharacteristic::setBroadcastProperty(bool value) { + //ESP_LOGD(LOG_TAG, "setBroadcastProperty(%d)", value); + if (value) { + m_properties = (esp_gatt_char_prop_t)(m_properties | ESP_GATT_CHAR_PROP_BIT_BROADCAST); + } else { + m_properties = (esp_gatt_char_prop_t)(m_properties & ~ESP_GATT_CHAR_PROP_BIT_BROADCAST); + } +} // setBroadcastProperty + + +/** + * @brief Set the callback handlers for this characteristic. + * @param [in] pCallbacks An instance of a callbacks structure used to define any callbacks for the characteristic. + */ +void BLECharacteristic::setCallbacks(BLECharacteristicCallbacks* pCallbacks) { + ESP_LOGD(LOG_TAG, ">> setCallbacks: 0x%x", (uint32_t)pCallbacks); + m_pCallbacks = pCallbacks; + ESP_LOGD(LOG_TAG, "<< setCallbacks"); +} // setCallbacks + + +/** + * @brief Set the BLE handle associated with this characteristic. + * A user program will request that a characteristic be created against a service. When the characteristic has been + * registered, the service will be given a "handle" that it knows the characteristic as. This handle is unique to the + * server/service but it is told to the service, not the characteristic associated with the service. This internally + * exposed function can be invoked by the service against this model of the characteristic to allow the characteristic + * to learn its own handle. Once the characteristic knows its own handle, it will be able to see incoming GATT events + * that will be propagated down to it which contain a handle value and now know that the event is destined for it. + * @param [in] handle The handle associated with this characteristic. + */ +void BLECharacteristic::setHandle(uint16_t handle) { + ESP_LOGD(LOG_TAG, ">> setHandle: handle=0x%.2x, characteristic uuid=%s", handle, getUUID().toString().c_str()); + m_handle = handle; + ESP_LOGD(LOG_TAG, "<< setHandle"); +} // setHandle + + +/** + * @brief Set the Indicate property value. + * @param [in] value Set to true if we are to allow indicate messages. + */ +void BLECharacteristic::setIndicateProperty(bool value) { + //ESP_LOGD(LOG_TAG, "setIndicateProperty(%d)", value); + if (value) { + m_properties = (esp_gatt_char_prop_t)(m_properties | ESP_GATT_CHAR_PROP_BIT_INDICATE); + } else { + m_properties = (esp_gatt_char_prop_t)(m_properties & ~ESP_GATT_CHAR_PROP_BIT_INDICATE); + } +} // setIndicateProperty + + +/** + * @brief Set the Notify property value. + * @param [in] value Set to true if we are to allow notification messages. + */ +void BLECharacteristic::setNotifyProperty(bool value) { + //ESP_LOGD(LOG_TAG, "setNotifyProperty(%d)", value); + if (value) { + m_properties = (esp_gatt_char_prop_t)(m_properties | ESP_GATT_CHAR_PROP_BIT_NOTIFY); + } else { + m_properties = (esp_gatt_char_prop_t)(m_properties & ~ESP_GATT_CHAR_PROP_BIT_NOTIFY); + } +} // setNotifyProperty + + +/** + * @brief Set the Read property value. + * @param [in] value Set to true if we are to allow reads. + */ +void BLECharacteristic::setReadProperty(bool value) { + //ESP_LOGD(LOG_TAG, "setReadProperty(%d)", value); + if (value) { + m_properties = (esp_gatt_char_prop_t)(m_properties | ESP_GATT_CHAR_PROP_BIT_READ); + } else { + m_properties = (esp_gatt_char_prop_t)(m_properties & ~ESP_GATT_CHAR_PROP_BIT_READ); + } +} // setReadProperty + + +/** + * @brief Set the value of the characteristic. + * @param [in] data The data to set for the characteristic. + * @param [in] length The length of the data in bytes. + */ +void BLECharacteristic::setValue(uint8_t* data, size_t length) { + char* pHex = BLEUtils::buildHexData(nullptr, data, length); + ESP_LOGD(LOG_TAG, ">> setValue: length=%d, data=%s, characteristic UUID=%s", length, pHex, getUUID().toString().c_str()); + free(pHex); + if (length > ESP_GATT_MAX_ATTR_LEN) { + ESP_LOGE(LOG_TAG, "Size %d too large, must be no bigger than %d", length, ESP_GATT_MAX_ATTR_LEN); + return; + } + m_value.setValue(data, length); + ESP_LOGD(LOG_TAG, "<< setValue"); +} // setValue + + +/** + * @brief Set the value of the characteristic from string data. + * We set the value of the characteristic from the bytes contained in the + * string. + * @param [in] Set the value of the characteristic. + * @return N/A. + */ +void BLECharacteristic::setValue(std::string value) { + setValue((uint8_t*)(value.data()), value.length()); +} // setValue + +void BLECharacteristic::setValue(uint16_t& data16) { + uint8_t temp[2]; + temp[0] = data16; + temp[1] = data16 >> 8; + setValue(temp, 2); +} // setValue + +void BLECharacteristic::setValue(uint32_t& data32) { + uint8_t temp[4]; + temp[0] = data32; + temp[1] = data32 >> 8; + temp[2] = data32 >> 16; + temp[3] = data32 >> 24; + setValue(temp, 4); +} // setValue + +void BLECharacteristic::setValue(int& data32) { + uint8_t temp[4]; + temp[0] = data32; + temp[1] = data32 >> 8; + temp[2] = data32 >> 16; + temp[3] = data32 >> 24; + setValue(temp, 4); +} // setValue + +void BLECharacteristic::setValue(float& data32) { + uint8_t temp[4]; + *((float*)temp) = data32; + setValue(temp, 4); +} // setValue + +void BLECharacteristic::setValue(double& data64) { + uint8_t temp[8]; + *((double*)temp) = data64; + setValue(temp, 8); +} // setValue + + +/** + * @brief Set the Write No Response property value. + * @param [in] value Set to true if we are to allow writes with no response. + */ +void BLECharacteristic::setWriteNoResponseProperty(bool value) { + //ESP_LOGD(LOG_TAG, "setWriteNoResponseProperty(%d)", value); + if (value) { + m_properties = (esp_gatt_char_prop_t)(m_properties | ESP_GATT_CHAR_PROP_BIT_WRITE_NR); + } else { + m_properties = (esp_gatt_char_prop_t)(m_properties & ~ESP_GATT_CHAR_PROP_BIT_WRITE_NR); + } +} // setWriteNoResponseProperty + + +/** + * @brief Set the Write property value. + * @param [in] value Set to true if we are to allow writes. + */ +void BLECharacteristic::setWriteProperty(bool value) { + //ESP_LOGD(LOG_TAG, "setWriteProperty(%d)", value); + if (value) { + m_properties = (esp_gatt_char_prop_t)(m_properties | ESP_GATT_CHAR_PROP_BIT_WRITE); + } else { + m_properties = (esp_gatt_char_prop_t)(m_properties & ~ESP_GATT_CHAR_PROP_BIT_WRITE); + } +} // setWriteProperty + + +/** + * @brief Return a string representation of the characteristic. + * @return A string representation of the characteristic. + */ +std::string BLECharacteristic::toString() { + std::stringstream stringstream; + stringstream << std::hex << std::setfill('0'); + stringstream << "UUID: " << m_bleUUID.toString() + ", handle: 0x" << std::setw(2) << m_handle; + stringstream << " " << + ((m_properties & ESP_GATT_CHAR_PROP_BIT_READ) ? "Read " : "") << + ((m_properties & ESP_GATT_CHAR_PROP_BIT_WRITE) ? "Write " : "") << + ((m_properties & ESP_GATT_CHAR_PROP_BIT_WRITE_NR) ? "WriteNoResponse " : "") << + ((m_properties & ESP_GATT_CHAR_PROP_BIT_BROADCAST) ? "Broadcast " : "") << + ((m_properties & ESP_GATT_CHAR_PROP_BIT_NOTIFY) ? "Notify " : "") << + ((m_properties & ESP_GATT_CHAR_PROP_BIT_INDICATE) ? "Indicate " : ""); + return stringstream.str(); +} // toString + + +BLECharacteristicCallbacks::~BLECharacteristicCallbacks() {} + + +/** + * @brief Callback function to support a read request. + * @param [in] pCharacteristic The characteristic that is the source of the event. + */ +void BLECharacteristicCallbacks::onRead(BLECharacteristic* pCharacteristic) { + ESP_LOGD("BLECharacteristicCallbacks", ">> onRead: default"); + ESP_LOGD("BLECharacteristicCallbacks", "<< onRead"); +} // onRead + + +/** + * @brief Callback function to support a write request. + * @param [in] pCharacteristic The characteristic that is the source of the event. + */ +void BLECharacteristicCallbacks::onWrite(BLECharacteristic* pCharacteristic) { + ESP_LOGD("BLECharacteristicCallbacks", ">> onWrite: default"); + ESP_LOGD("BLECharacteristicCallbacks", "<< onWrite"); +} // onWrite + +#endif /* CONFIG_BT_ENABLED */ diff --git a/libraries/BLE/src/BLECharacteristic.h b/libraries/BLE/src/BLECharacteristic.h new file mode 100644 index 00000000..5eb1e8d6 --- /dev/null +++ b/libraries/BLE/src/BLECharacteristic.h @@ -0,0 +1,137 @@ +/* + * BLECharacteristic.h + * + * Created on: Jun 22, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLECHARACTERISTIC_H_ +#define COMPONENTS_CPP_UTILS_BLECHARACTERISTIC_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include "BLEUUID.h" +#include +#include +#include "BLEDescriptor.h" +#include "BLEValue.h" +#include "FreeRTOS.h" + +class BLEService; +class BLEDescriptor; +class BLECharacteristicCallbacks; + +/** + * @brief A management structure for %BLE descriptors. + */ +class BLEDescriptorMap { +public: + void setByUUID(const char* uuid, BLEDescriptor* pDescriptor); + void setByUUID(BLEUUID uuid, BLEDescriptor* pDescriptor); + void setByHandle(uint16_t handle, BLEDescriptor* pDescriptor); + BLEDescriptor* getByUUID(const char* uuid); + BLEDescriptor* getByUUID(BLEUUID uuid); + BLEDescriptor* getByHandle(uint16_t handle); + std::string toString(); + void handleGATTServerEvent(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t* param); + BLEDescriptor* getFirst(); + BLEDescriptor* getNext(); +private: + std::map m_uuidMap; + std::map m_handleMap; + std::map::iterator m_iterator; +}; + + +/** + * @brief The model of a %BLE Characteristic. + * + * A BLE Characteristic is an identified value container that manages a value. It is exposed by a BLE server and + * can be read and written to by a %BLE client. + */ +class BLECharacteristic { +public: + BLECharacteristic(const char* uuid, uint32_t properties = 0); + BLECharacteristic(BLEUUID uuid, uint32_t properties = 0); + virtual ~BLECharacteristic(); + + void addDescriptor(BLEDescriptor* pDescriptor); + BLEDescriptor* getDescriptorByUUID(const char* descriptorUUID); + BLEDescriptor* getDescriptorByUUID(BLEUUID descriptorUUID); + BLEUUID getUUID(); + std::string getValue(); + uint8_t* getData(); + + void indicate(); + void notify(bool is_notification = true); + void setBroadcastProperty(bool value); + void setCallbacks(BLECharacteristicCallbacks* pCallbacks); + void setIndicateProperty(bool value); + void setNotifyProperty(bool value); + void setReadProperty(bool value); + void setValue(uint8_t* data, size_t size); + void setValue(std::string value); + void setValue(uint16_t& data16); + void setValue(uint32_t& data32); + void setValue(int& data32); + void setValue(float& data32); + void setValue(double& data64); + void setWriteProperty(bool value); + void setWriteNoResponseProperty(bool value); + std::string toString(); + uint16_t getHandle(); + void setAccessPermissions(esp_gatt_perm_t perm); + + static const uint32_t PROPERTY_READ = 1<<0; + static const uint32_t PROPERTY_WRITE = 1<<1; + static const uint32_t PROPERTY_NOTIFY = 1<<2; + static const uint32_t PROPERTY_BROADCAST = 1<<3; + static const uint32_t PROPERTY_INDICATE = 1<<4; + static const uint32_t PROPERTY_WRITE_NR = 1<<5; + +private: + + friend class BLEServer; + friend class BLEService; + friend class BLEDescriptor; + friend class BLECharacteristicMap; + + BLEUUID m_bleUUID; + BLEDescriptorMap m_descriptorMap; + uint16_t m_handle; + esp_gatt_char_prop_t m_properties; + BLECharacteristicCallbacks* m_pCallbacks; + BLEService* m_pService; + BLEValue m_value; + esp_gatt_perm_t m_permissions = ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE; + + void handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param); + + void executeCreate(BLEService* pService); + esp_gatt_char_prop_t getProperties(); + BLEService* getService(); + void setHandle(uint16_t handle); + FreeRTOS::Semaphore m_semaphoreCreateEvt = FreeRTOS::Semaphore("CreateEvt"); + FreeRTOS::Semaphore m_semaphoreConfEvt = FreeRTOS::Semaphore("ConfEvt"); +}; // BLECharacteristic + + +/** + * @brief Callbacks that can be associated with a %BLE characteristic to inform of events. + * + * When a server application creates a %BLE characteristic, we may wish to be informed when there is either + * a read or write request to the characteristic's value. An application can register a + * sub-classed instance of this class and will be notified when such an event happens. + */ +class BLECharacteristicCallbacks { +public: + virtual ~BLECharacteristicCallbacks(); + virtual void onRead(BLECharacteristic* pCharacteristic); + virtual void onWrite(BLECharacteristic* pCharacteristic); +}; +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLECHARACTERISTIC_H_ */ diff --git a/libraries/BLE/src/BLECharacteristicMap.cpp b/libraries/BLE/src/BLECharacteristicMap.cpp new file mode 100644 index 00000000..d73aae99 --- /dev/null +++ b/libraries/BLE/src/BLECharacteristicMap.cpp @@ -0,0 +1,133 @@ +/* + * BLECharacteristicMap.cpp + * + * Created on: Jun 22, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include "BLEService.h" +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + + +/** + * @brief Return the characteristic by handle. + * @param [in] handle The handle to look up the characteristic. + * @return The characteristic. + */ +BLECharacteristic* BLECharacteristicMap::getByHandle(uint16_t handle) { + return m_handleMap.at(handle); +} // getByHandle + + +/** + * @brief Return the characteristic by UUID. + * @param [in] UUID The UUID to look up the characteristic. + * @return The characteristic. + */ +BLECharacteristic* BLECharacteristicMap::getByUUID(const char* uuid) { + return getByUUID(BLEUUID(uuid)); +} + + +/** + * @brief Return the characteristic by UUID. + * @param [in] UUID The UUID to look up the characteristic. + * @return The characteristic. + */ +BLECharacteristic* BLECharacteristicMap::getByUUID(BLEUUID uuid) { + for (auto &myPair : m_uuidMap) { + if (myPair.first->getUUID().equals(uuid)) { + return myPair.first; + } + } + //return m_uuidMap.at(uuid.toString()); + return nullptr; +} // getByUUID + + +/** + * @brief Get the first characteristic in the map. + * @return The first characteristic in the map. + */ +BLECharacteristic* BLECharacteristicMap::getFirst() { + m_iterator = m_uuidMap.begin(); + if (m_iterator == m_uuidMap.end()) return nullptr; + BLECharacteristic* pRet = m_iterator->first; + m_iterator++; + return pRet; +} // getFirst + + +/** + * @brief Get the next characteristic in the map. + * @return The next characteristic in the map. + */ +BLECharacteristic* BLECharacteristicMap::getNext() { + if (m_iterator == m_uuidMap.end()) return nullptr; + BLECharacteristic* pRet = m_iterator->first; + m_iterator++; + return pRet; +} // getNext + + +/** + * @brief Pass the GATT server event onwards to each of the characteristics found in the mapping + * @param [in] event + * @param [in] gatts_if + * @param [in] param + */ +void BLECharacteristicMap::handleGATTServerEvent(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t* param) { + // Invoke the handler for every Service we have. + for (auto& myPair : m_uuidMap) { + myPair.first->handleGATTServerEvent(event, gatts_if, param); + } +} // handleGATTServerEvent + + +/** + * @brief Set the characteristic by handle. + * @param [in] handle The handle of the characteristic. + * @param [in] characteristic The characteristic to cache. + * @return N/A. + */ +void BLECharacteristicMap::setByHandle(uint16_t handle, BLECharacteristic* characteristic) { + m_handleMap.insert(std::pair(handle, characteristic)); +} // setByHandle + + +/** + * @brief Set the characteristic by UUID. + * @param [in] uuid The uuid of the characteristic. + * @param [in] characteristic The characteristic to cache. + * @return N/A. + */ +void BLECharacteristicMap::setByUUID(BLECharacteristic* pCharacteristic, BLEUUID uuid) { + m_uuidMap.insert(std::pair(pCharacteristic, uuid.toString())); +} // setByUUID + + +/** + * @brief Return a string representation of the characteristic map. + * @return A string representation of the characteristic map. + */ +std::string BLECharacteristicMap::toString() { + std::stringstream stringStream; + stringStream << std::hex << std::setfill('0'); + int count = 0; + for (auto &myPair: m_uuidMap) { + if (count > 0) { + stringStream << "\n"; + } + count++; + stringStream << "handle: 0x" << std::setw(2) << myPair.first->getHandle() << ", uuid: " + myPair.first->getUUID().toString(); + } + return stringStream.str(); +} // toString + + +#endif /* CONFIG_BT_ENABLED */ diff --git a/libraries/BLE/src/BLEClient.cpp b/libraries/BLE/src/BLEClient.cpp new file mode 100644 index 00000000..0e552ece --- /dev/null +++ b/libraries/BLE/src/BLEClient.cpp @@ -0,0 +1,536 @@ +/* + * BLEDevice.cpp + * + * Created on: Mar 22, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include +#include +#include "BLEClient.h" +#include "BLEUtils.h" +#include "BLEService.h" +#include "GeneralUtils.h" +#include +#include +#include +#include "BLEDevice.h" +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLEClient"; +#endif + + +/* + * Design + * ------ + * When we perform a searchService() requests, we are asking the BLE server to return each of the services + * that it exposes. For each service, we received an ESP_GATTC_SEARCH_RES_EVT event which contains details + * of the exposed service including its UUID. + * + * The objects we will invent for a BLEClient will be as follows: + * * BLERemoteService - A model of a remote service. + * * BLERemoteCharacteristic - A model of a remote characteristic + * * BLERemoteDescriptor - A model of a remote descriptor. + * + * Since there is a hierarchical relationship here, we will have the idea that from a BLERemoteService will own + * zero or more remote characteristics and a BLERemoteCharacteristic will own zero or more remote BLEDescriptors. + * + * We will assume that a BLERemoteService contains a map that maps BLEUUIDs to the set of owned characteristics + * and that a BLECharacteristic contains a map that maps BLEUUIDs to the set of owned descriptors. + * + * + */ + +BLEClient::BLEClient() { + m_pClientCallbacks = nullptr; + m_conn_id = ESP_GATT_IF_NONE; + m_gattc_if = ESP_GATT_IF_NONE; + m_haveServices = false; + m_isConnected = false; // Initially, we are flagged as not connected. +} // BLEClient + + +/** + * @brief Destructor. + */ +BLEClient::~BLEClient() { + // We may have allocated service references associated with this client. Before we are finished + // with the client, we must release resources. + for (auto &myPair : m_servicesMap) { + delete myPair.second; + } + m_servicesMap.clear(); +} // ~BLEClient + + +/** + * @brief Clear any existing services. + * + */ +void BLEClient::clearServices() { + ESP_LOGD(LOG_TAG, ">> clearServices"); + // Delete all the services. + for (auto &myPair : m_servicesMap) { + delete myPair.second; + } + m_servicesMap.clear(); + m_haveServices = false; + ESP_LOGD(LOG_TAG, "<< clearServices"); +} // clearServices + +/** + * Add overloaded function to ease connect to peer device with not public address + */ +bool BLEClient::connect(BLEAdvertisedDevice* device) { + BLEAddress address = device->getAddress(); + esp_ble_addr_type_t type = device->getAddressType(); + return connect(address, type); +} + +/** + * @brief Connect to the partner (BLE Server). + * @param [in] address The address of the partner. + * @return True on success. + */ +bool BLEClient::connect(BLEAddress address, esp_ble_addr_type_t type) { + ESP_LOGD(LOG_TAG, ">> connect(%s)", address.toString().c_str()); + +// We need the connection handle that we get from registering the application. We register the app +// and then block on its completion. When the event has arrived, we will have the handle. + m_appId = BLEDevice::m_appId++; + BLEDevice::addPeerDevice(this, true, m_appId); + m_semaphoreRegEvt.take("connect"); + + // clearServices(); // we dont need to delete services since every client is unique? + esp_err_t errRc = ::esp_ble_gattc_app_register(m_appId); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_app_register: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return false; + } + + m_semaphoreRegEvt.wait("connect"); + + m_peerAddress = address; + + // Perform the open connection request against the target BLE Server. + m_semaphoreOpenEvt.take("connect"); + errRc = ::esp_ble_gattc_open( + m_gattc_if, + *getPeerAddress().getNative(), // address + type, // Note: This was added on 2018-04-03 when the latest ESP-IDF was detected to have changed the signature. + 1 // direct connection <-- maybe needs to be changed in case of direct indirect connection??? + ); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_open: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return false; + } + + uint32_t rc = m_semaphoreOpenEvt.wait("connect"); // Wait for the connection to complete. + ESP_LOGD(LOG_TAG, "<< connect(), rc=%d", rc==ESP_GATT_OK); + return rc == ESP_GATT_OK; +} // connect + + +/** + * @brief Disconnect from the peer. + * @return N/A. + */ +void BLEClient::disconnect() { + ESP_LOGD(LOG_TAG, ">> disconnect()"); + esp_err_t errRc = ::esp_ble_gattc_close(getGattcIf(), getConnId()); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_close: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + ESP_LOGD(LOG_TAG, "<< disconnect()"); +} // disconnect + + +/** + * @brief Handle GATT Client events + */ +void BLEClient::gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* evtParam) { + + ESP_LOGD(LOG_TAG, "gattClientEventHandler [esp_gatt_if: %d] ... %s", + gattc_if, BLEUtils::gattClientEventTypeToString(event).c_str()); + + // Execute handler code based on the type of event received. + switch(event) { + + case ESP_GATTC_SRVC_CHG_EVT: + ESP_LOGI(LOG_TAG, "SERVICE CHANGED"); + break; + + case ESP_GATTC_CLOSE_EVT: { + // esp_ble_gattc_app_unregister(m_appId); + // BLEDevice::removePeerDevice(m_gattc_if, true); + break; + } + + // + // ESP_GATTC_DISCONNECT_EVT + // + // disconnect: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + case ESP_GATTC_DISCONNECT_EVT: { + // If we receive a disconnect event, set the class flag that indicates that we are + // no longer connected. + m_isConnected = false; + if (m_pClientCallbacks != nullptr) { + m_pClientCallbacks->onDisconnect(this); + } + BLEDevice::removePeerDevice(m_appId, true); + esp_ble_gattc_app_unregister(m_gattc_if); + m_semaphoreRssiCmplEvt.give(); + m_semaphoreSearchCmplEvt.give(1); + break; + } // ESP_GATTC_DISCONNECT_EVT + + // + // ESP_GATTC_OPEN_EVT + // + // open: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + // + case ESP_GATTC_OPEN_EVT: { + m_conn_id = evtParam->open.conn_id; + if (m_pClientCallbacks != nullptr) { + m_pClientCallbacks->onConnect(this); + } + if (evtParam->open.status == ESP_GATT_OK) { + m_isConnected = true; // Flag us as connected. + } + m_semaphoreOpenEvt.give(evtParam->open.status); + break; + } // ESP_GATTC_OPEN_EVT + + + // + // ESP_GATTC_REG_EVT + // + // reg: + // esp_gatt_status_t status + // uint16_t app_id + // + case ESP_GATTC_REG_EVT: { + m_gattc_if = gattc_if; + m_semaphoreRegEvt.give(); + break; + } // ESP_GATTC_REG_EVT + + case ESP_GATTC_CFG_MTU_EVT: + if(evtParam->cfg_mtu.status != ESP_GATT_OK) { + ESP_LOGE(LOG_TAG,"Config mtu failed"); + } + m_mtu = evtParam->cfg_mtu.mtu; + break; + + case ESP_GATTC_CONNECT_EVT: { + BLEDevice::updatePeerDevice(this, true, m_gattc_if); + esp_err_t errRc = esp_ble_gattc_send_mtu_req(gattc_if, evtParam->connect.conn_id); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_send_mtu_req: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } +#ifdef CONFIG_BLE_SMP_ENABLE // Check that BLE SMP (security) is configured in make menuconfig + if(BLEDevice::m_securityLevel){ + esp_ble_set_encryption(evtParam->connect.remote_bda, BLEDevice::m_securityLevel); + } +#endif // CONFIG_BLE_SMP_ENABLE + break; + } // ESP_GATTC_CONNECT_EVT + + // + // ESP_GATTC_SEARCH_CMPL_EVT + // + // search_cmpl: + // - esp_gatt_status_t status + // - uint16_t conn_id + // + case ESP_GATTC_SEARCH_CMPL_EVT: { + esp_ble_gattc_cb_param_t* p_data = (esp_ble_gattc_cb_param_t*)evtParam; + if (p_data->search_cmpl.status != ESP_GATT_OK){ + ESP_LOGE(LOG_TAG, "search service failed, error status = %x", p_data->search_cmpl.status); + break; + } +#ifndef ARDUINO_ARCH_ESP32 +// commented out just for now to keep backward compatibility + // if(p_data->search_cmpl.searched_service_source == ESP_GATT_SERVICE_FROM_REMOTE_DEVICE) { + // ESP_LOGI(LOG_TAG, "Get service information from remote device"); + // } else if (p_data->search_cmpl.searched_service_source == ESP_GATT_SERVICE_FROM_NVS_FLASH) { + // ESP_LOGI(LOG_TAG, "Get service information from flash"); + // } else { + // ESP_LOGI(LOG_TAG, "unknown service source"); + // } +#endif + m_semaphoreSearchCmplEvt.give(0); + break; + } // ESP_GATTC_SEARCH_CMPL_EVT + + + // + // ESP_GATTC_SEARCH_RES_EVT + // + // search_res: + // - uint16_t conn_id + // - uint16_t start_handle + // - uint16_t end_handle + // - esp_gatt_id_t srvc_id + // + case ESP_GATTC_SEARCH_RES_EVT: { + BLEUUID uuid = BLEUUID(evtParam->search_res.srvc_id); + BLERemoteService* pRemoteService = new BLERemoteService( + evtParam->search_res.srvc_id, + this, + evtParam->search_res.start_handle, + evtParam->search_res.end_handle + ); + m_servicesMap.insert(std::pair(uuid.toString(), pRemoteService)); + m_servicesMapByInstID.insert(std::pair(pRemoteService, evtParam->search_res.srvc_id.inst_id)); + break; + } // ESP_GATTC_SEARCH_RES_EVT + + + default: { + break; + } + } // Switch + + // Pass the request on to all services. + for (auto &myPair : m_servicesMap) { + myPair.second->gattClientEventHandler(event, gattc_if, evtParam); + } + +} // gattClientEventHandler + + +uint16_t BLEClient::getConnId() { + return m_conn_id; +} // getConnId + + + +esp_gatt_if_t BLEClient::getGattcIf() { + return m_gattc_if; +} // getGattcIf + + +/** + * @brief Retrieve the address of the peer. + * + * Returns the Bluetooth device address of the %BLE peer to which this client is connected. + */ +BLEAddress BLEClient::getPeerAddress() { + return m_peerAddress; +} // getAddress + + +/** + * @brief Ask the BLE server for the RSSI value. + * @return The RSSI value. + */ +int BLEClient::getRssi() { + ESP_LOGD(LOG_TAG, ">> getRssi()"); + if (!isConnected()) { + ESP_LOGD(LOG_TAG, "<< getRssi(): Not connected"); + return 0; + } + // We make the API call to read the RSSI value which is an asynchronous operation. We expect to receive + // an ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT to indicate completion. + // + m_semaphoreRssiCmplEvt.take("getRssi"); + esp_err_t rc = ::esp_ble_gap_read_rssi(*getPeerAddress().getNative()); + if (rc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< getRssi: esp_ble_gap_read_rssi: rc=%d %s", rc, GeneralUtils::errorToString(rc)); + return 0; + } + int rssiValue = m_semaphoreRssiCmplEvt.wait("getRssi"); + ESP_LOGD(LOG_TAG, "<< getRssi(): %d", rssiValue); + return rssiValue; +} // getRssi + + +/** + * @brief Get the service BLE Remote Service instance corresponding to the uuid. + * @param [in] uuid The UUID of the service being sought. + * @return A reference to the Service or nullptr if don't know about it. + */ +BLERemoteService* BLEClient::getService(const char* uuid) { + return getService(BLEUUID(uuid)); +} // getService + + +/** + * @brief Get the service object corresponding to the uuid. + * @param [in] uuid The UUID of the service being sought. + * @return A reference to the Service or nullptr if don't know about it. + * @throws BLEUuidNotFound + */ +BLERemoteService* BLEClient::getService(BLEUUID uuid) { + ESP_LOGD(LOG_TAG, ">> getService: uuid: %s", uuid.toString().c_str()); +// Design +// ------ +// We wish to retrieve the service given its UUID. It is possible that we have not yet asked the +// device what services it has in which case we have nothing to match against. If we have not +// asked the device about its services, then we do that now. Once we get the results we can then +// examine the services map to see if it has the service we are looking for. + if (!m_haveServices) { + getServices(); + } + std::string uuidStr = uuid.toString(); + for (auto &myPair : m_servicesMap) { + if (myPair.first == uuidStr) { + ESP_LOGD(LOG_TAG, "<< getService: found the service with uuid: %s", uuid.toString().c_str()); + return myPair.second; + } + } // End of each of the services. + ESP_LOGD(LOG_TAG, "<< getService: not found"); + return nullptr; +} // getService + + +/** + * @brief Ask the remote %BLE server for its services. + * A %BLE Server exposes a set of services for its partners. Here we ask the server for its set of + * services and wait until we have received them all. + * @return N/A + */ +std::map* BLEClient::getServices() { +/* + * Design + * ------ + * We invoke esp_ble_gattc_search_service. This will request a list of the service exposed by the + * peer BLE partner to be returned as events. Each event will be an an instance of ESP_GATTC_SEARCH_RES_EVT + * and will culminate with an ESP_GATTC_SEARCH_CMPL_EVT when all have been received. + */ + ESP_LOGD(LOG_TAG, ">> getServices"); +// TODO implement retrieving services from cache + clearServices(); // Clear any services that may exist. + + esp_err_t errRc = esp_ble_gattc_search_service( + getGattcIf(), + getConnId(), + NULL // Filter UUID + ); + + m_semaphoreSearchCmplEvt.take("getServices"); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_search_service: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return &m_servicesMap; + } + // If sucessfull, remember that we now have services. + m_haveServices = (m_semaphoreSearchCmplEvt.wait("getServices") == 0); + ESP_LOGD(LOG_TAG, "<< getServices"); + return &m_servicesMap; +} // getServices + + +/** + * @brief Get the value of a specific characteristic associated with a specific service. + * @param [in] serviceUUID The service that owns the characteristic. + * @param [in] characteristicUUID The characteristic whose value we wish to read. + * @throws BLEUuidNotFound + */ +std::string BLEClient::getValue(BLEUUID serviceUUID, BLEUUID characteristicUUID) { + ESP_LOGD(LOG_TAG, ">> getValue: serviceUUID: %s, characteristicUUID: %s", serviceUUID.toString().c_str(), characteristicUUID.toString().c_str()); + std::string ret = getService(serviceUUID)->getCharacteristic(characteristicUUID)->readValue(); + ESP_LOGD(LOG_TAG, "<read_rssi_cmpl.rssi); + break; + } // ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT + + default: + break; + } +} // handleGAPEvent + + +/** + * @brief Are we connected to a partner? + * @return True if we are connected and false if we are not connected. + */ +bool BLEClient::isConnected() { + return m_isConnected; +} // isConnected + + + + +/** + * @brief Set the callbacks that will be invoked. + */ +void BLEClient::setClientCallbacks(BLEClientCallbacks* pClientCallbacks) { + m_pClientCallbacks = pClientCallbacks; +} // setClientCallbacks + + +/** + * @brief Set the value of a specific characteristic associated with a specific service. + * @param [in] serviceUUID The service that owns the characteristic. + * @param [in] characteristicUUID The characteristic whose value we wish to write. + * @throws BLEUuidNotFound + */ +void BLEClient::setValue(BLEUUID serviceUUID, BLEUUID characteristicUUID, std::string value) { + ESP_LOGD(LOG_TAG, ">> setValue: serviceUUID: %s, characteristicUUID: %s", serviceUUID.toString().c_str(), characteristicUUID.toString().c_str()); + getService(serviceUUID)->getCharacteristic(characteristicUUID)->writeValue(value); + ESP_LOGD(LOG_TAG, "<< setValue"); +} // setValue + +uint16_t BLEClient::getMTU() { + return m_mtu; +} + +/** + * @brief Return a string representation of this client. + * @return A string representation of this client. + */ +std::string BLEClient::toString() { + std::ostringstream ss; + ss << "peer address: " << m_peerAddress.toString(); + ss << "\nServices:\n"; + for (auto &myPair : m_servicesMap) { + ss << myPair.second->toString() << "\n"; + // myPair.second is the value + } + return ss.str(); +} // toString + + +#endif // CONFIG_BT_ENABLED diff --git a/libraries/BLE/src/BLEClient.h b/libraries/BLE/src/BLEClient.h new file mode 100644 index 00000000..1b8144d5 --- /dev/null +++ b/libraries/BLE/src/BLEClient.h @@ -0,0 +1,103 @@ +/* + * BLEDevice.h + * + * Created on: Mar 22, 2017 + * Author: kolban + */ + +#ifndef MAIN_BLEDEVICE_H_ +#define MAIN_BLEDEVICE_H_ + +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include +#include +#include +#include +#include "BLEExceptions.h" +#include "BLERemoteService.h" +#include "BLEService.h" +#include "BLEAddress.h" +#include "BLEAdvertisedDevice.h" + +class BLERemoteService; +class BLEClientCallbacks; +class BLEAdvertisedDevice; + +/** + * @brief A model of a %BLE client. + */ +class BLEClient { +public: + BLEClient(); + ~BLEClient(); + + bool connect(BLEAdvertisedDevice* device); + bool connect(BLEAddress address, esp_ble_addr_type_t type = BLE_ADDR_TYPE_PUBLIC); // Connect to the remote BLE Server + void disconnect(); // Disconnect from the remote BLE Server + BLEAddress getPeerAddress(); // Get the address of the remote BLE Server + int getRssi(); // Get the RSSI of the remote BLE Server + std::map* getServices(); // Get a map of the services offered by the remote BLE Server + BLERemoteService* getService(const char* uuid); // Get a reference to a specified service offered by the remote BLE server. + BLERemoteService* getService(BLEUUID uuid); // Get a reference to a specified service offered by the remote BLE server. + std::string getValue(BLEUUID serviceUUID, BLEUUID characteristicUUID); // Get the value of a given characteristic at a given service. + + + void handleGAPEvent( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param); + + bool isConnected(); // Return true if we are connected. + + void setClientCallbacks(BLEClientCallbacks *pClientCallbacks); + void setValue(BLEUUID serviceUUID, BLEUUID characteristicUUID, std::string value); // Set the value of a given characteristic at a given service. + + std::string toString(); // Return a string representation of this client. + uint16_t getConnId(); + esp_gatt_if_t getGattcIf(); + uint16_t getMTU(); + +uint16_t m_appId; +private: + friend class BLEDevice; + friend class BLERemoteService; + friend class BLERemoteCharacteristic; + friend class BLERemoteDescriptor; + + void gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* param); + + BLEAddress m_peerAddress = BLEAddress((uint8_t*)"\0\0\0\0\0\0"); // The BD address of the remote server. + uint16_t m_conn_id; +// int m_deviceType; + esp_gatt_if_t m_gattc_if; + bool m_haveServices = false; // Have we previously obtain the set of services from the remote server. + bool m_isConnected = false; // Are we currently connected. + + BLEClientCallbacks* m_pClientCallbacks; + FreeRTOS::Semaphore m_semaphoreRegEvt = FreeRTOS::Semaphore("RegEvt"); + FreeRTOS::Semaphore m_semaphoreOpenEvt = FreeRTOS::Semaphore("OpenEvt"); + FreeRTOS::Semaphore m_semaphoreSearchCmplEvt = FreeRTOS::Semaphore("SearchCmplEvt"); + FreeRTOS::Semaphore m_semaphoreRssiCmplEvt = FreeRTOS::Semaphore("RssiCmplEvt"); + std::map m_servicesMap; + std::map m_servicesMapByInstID; + void clearServices(); // Clear any existing services. + uint16_t m_mtu = 23; +}; // class BLEDevice + + +/** + * @brief Callbacks associated with a %BLE client. + */ +class BLEClientCallbacks { +public: + virtual ~BLEClientCallbacks() {}; + virtual void onConnect(BLEClient *pClient) = 0; + virtual void onDisconnect(BLEClient *pClient) = 0; +}; + +#endif // CONFIG_BT_ENABLED +#endif /* MAIN_BLEDEVICE_H_ */ diff --git a/libraries/BLE/src/BLEDescriptor.cpp b/libraries/BLE/src/BLEDescriptor.cpp new file mode 100644 index 00000000..ba5753de --- /dev/null +++ b/libraries/BLE/src/BLEDescriptor.cpp @@ -0,0 +1,296 @@ +/* + * BLEDescriptor.cpp + * + * Created on: Jun 22, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include +#include +#include "sdkconfig.h" +#include +#include "BLEService.h" +#include "BLEDescriptor.h" +#include "GeneralUtils.h" +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLEDescriptor"; +#endif + + + + +#define NULL_HANDLE (0xffff) + + +/** + * @brief BLEDescriptor constructor. + */ +BLEDescriptor::BLEDescriptor(const char* uuid, uint16_t len) : BLEDescriptor(BLEUUID(uuid), len) { +} + +/** + * @brief BLEDescriptor constructor. + */ +BLEDescriptor::BLEDescriptor(BLEUUID uuid, uint16_t max_len) { + m_bleUUID = uuid; + m_value.attr_len = 0; // Initial length is 0. + m_value.attr_max_len = max_len; // Maximum length of the data. + m_handle = NULL_HANDLE; // Handle is initially unknown. + m_pCharacteristic = nullptr; // No initial characteristic. + m_pCallback = nullptr; // No initial callback. + + m_value.attr_value = (uint8_t*) malloc(max_len); // Allocate storage for the value. +} // BLEDescriptor + + +/** + * @brief BLEDescriptor destructor. + */ +BLEDescriptor::~BLEDescriptor() { + free(m_value.attr_value); // Release the storage we created in the constructor. +} // ~BLEDescriptor + + +/** + * @brief Execute the creation of the descriptor with the BLE runtime in ESP. + * @param [in] pCharacteristic The characteristic to which to register this descriptor. + */ +void BLEDescriptor::executeCreate(BLECharacteristic* pCharacteristic) { + ESP_LOGD(LOG_TAG, ">> executeCreate(): %s", toString().c_str()); + + if (m_handle != NULL_HANDLE) { + ESP_LOGE(LOG_TAG, "Descriptor already has a handle."); + return; + } + + m_pCharacteristic = pCharacteristic; // Save the characteristic associated with this service. + + esp_attr_control_t control; + control.auto_rsp = ESP_GATT_AUTO_RSP; + m_semaphoreCreateEvt.take("executeCreate"); + esp_err_t errRc = ::esp_ble_gatts_add_char_descr( + pCharacteristic->getService()->getHandle(), + getUUID().getNative(), + (esp_gatt_perm_t)m_permissions, + &m_value, + &control); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gatts_add_char_descr: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + m_semaphoreCreateEvt.wait("executeCreate"); + ESP_LOGD(LOG_TAG, "<< executeCreate"); +} // executeCreate + + +/** + * @brief Get the BLE handle for this descriptor. + * @return The handle for this descriptor. + */ +uint16_t BLEDescriptor::getHandle() { + return m_handle; +} // getHandle + + +/** + * @brief Get the length of the value of this descriptor. + * @return The length (in bytes) of the value of this descriptor. + */ +size_t BLEDescriptor::getLength() { + return m_value.attr_len; +} // getLength + + +/** + * @brief Get the UUID of the descriptor. + */ +BLEUUID BLEDescriptor::getUUID() { + return m_bleUUID; +} // getUUID + + + +/** + * @brief Get the value of this descriptor. + * @return A pointer to the value of this descriptor. + */ +uint8_t* BLEDescriptor::getValue() { + return m_value.attr_value; +} // getValue + + +/** + * @brief Handle GATT server events for the descripttor. + * @param [in] event + * @param [in] gatts_if + * @param [in] param + */ +void BLEDescriptor::handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param) { + switch (event) { + // ESP_GATTS_ADD_CHAR_DESCR_EVT + // + // add_char_descr: + // - esp_gatt_status_t status + // - uint16_t attr_handle + // - uint16_t service_handle + // - esp_bt_uuid_t char_uuid + case ESP_GATTS_ADD_CHAR_DESCR_EVT: { + if (m_pCharacteristic != nullptr && + m_bleUUID.equals(BLEUUID(param->add_char_descr.descr_uuid)) && + m_pCharacteristic->getService()->getHandle() == param->add_char_descr.service_handle && + m_pCharacteristic == m_pCharacteristic->getService()->getLastCreatedCharacteristic()) { + setHandle(param->add_char_descr.attr_handle); + m_semaphoreCreateEvt.give(); + } + break; + } // ESP_GATTS_ADD_CHAR_DESCR_EVT + + // ESP_GATTS_WRITE_EVT - A request to write the value of a descriptor has arrived. + // + // write: + // - uint16_t conn_id + // - uint16_t trans_id + // - esp_bd_addr_t bda + // - uint16_t handle + // - uint16_t offset + // - bool need_rsp + // - bool is_prep + // - uint16_t len + // - uint8_t *value + case ESP_GATTS_WRITE_EVT: { + if (param->write.handle == m_handle) { + setValue(param->write.value, param->write.len); // Set the value of the descriptor. + + if (m_pCallback != nullptr) { // We have completed the write, if there is a user supplied callback handler, invoke it now. + m_pCallback->onWrite(this); // Invoke the onWrite callback handler. + } + } // End of ... this is our handle. + + break; + } // ESP_GATTS_WRITE_EVT + + // ESP_GATTS_READ_EVT - A request to read the value of a descriptor has arrived. + // + // read: + // - uint16_t conn_id + // - uint32_t trans_id + // - esp_bd_addr_t bda + // - uint16_t handle + // - uint16_t offset + // - bool is_long + // - bool need_rsp + // + case ESP_GATTS_READ_EVT: { + if (param->read.handle == m_handle) { // If this event is for this descriptor ... process it + + if (m_pCallback != nullptr) { // If we have a user supplied callback, invoke it now. + m_pCallback->onRead(this); // Invoke the onRead callback method in the callback handler. + } + + } // End of this is our handle + break; + } // ESP_GATTS_READ_EVT + + default: + break; + } // switch event +} // handleGATTServerEvent + + +/** + * @brief Set the callback handlers for this descriptor. + * @param [in] pCallbacks An instance of a callback structure used to define any callbacks for the descriptor. + */ +void BLEDescriptor::setCallbacks(BLEDescriptorCallbacks* pCallback) { + ESP_LOGD(LOG_TAG, ">> setCallbacks: 0x%x", (uint32_t) pCallback); + m_pCallback = pCallback; + ESP_LOGD(LOG_TAG, "<< setCallbacks"); +} // setCallbacks + + +/** + * @brief Set the handle of this descriptor. + * Set the handle of this descriptor to be the supplied value. + * @param [in] handle The handle to be associated with this descriptor. + * @return N/A. + */ +void BLEDescriptor::setHandle(uint16_t handle) { + ESP_LOGD(LOG_TAG, ">> setHandle(0x%.2x): Setting descriptor handle to be 0x%.2x", handle, handle); + m_handle = handle; + ESP_LOGD(LOG_TAG, "<< setHandle()"); +} // setHandle + + +/** + * @brief Set the value of the descriptor. + * @param [in] data The data to set for the descriptor. + * @param [in] length The length of the data in bytes. + */ +void BLEDescriptor::setValue(uint8_t* data, size_t length) { + if (length > ESP_GATT_MAX_ATTR_LEN) { + ESP_LOGE(LOG_TAG, "Size %d too large, must be no bigger than %d", length, ESP_GATT_MAX_ATTR_LEN); + return; + } + m_value.attr_len = length; + memcpy(m_value.attr_value, data, length); +} // setValue + + +/** + * @brief Set the value of the descriptor. + * @param [in] value The value of the descriptor in string form. + */ +void BLEDescriptor::setValue(std::string value) { + setValue((uint8_t*) value.data(), value.length()); +} // setValue + +void BLEDescriptor::setAccessPermissions(esp_gatt_perm_t perm) { + m_permissions = perm; +} + +/** + * @brief Return a string representation of the descriptor. + * @return A string representation of the descriptor. + */ +std::string BLEDescriptor::toString() { + std::stringstream stringstream; + stringstream << std::hex << std::setfill('0'); + stringstream << "UUID: " << m_bleUUID.toString() + ", handle: 0x" << std::setw(2) << m_handle; + return stringstream.str(); +} // toString + + +BLEDescriptorCallbacks::~BLEDescriptorCallbacks() {} + +/** + * @brief Callback function to support a read request. + * @param [in] pDescriptor The descriptor that is the source of the event. + */ +void BLEDescriptorCallbacks::onRead(BLEDescriptor* pDescriptor) { + ESP_LOGD("BLEDescriptorCallbacks", ">> onRead: default"); + ESP_LOGD("BLEDescriptorCallbacks", "<< onRead"); +} // onRead + + +/** + * @brief Callback function to support a write request. + * @param [in] pDescriptor The descriptor that is the source of the event. + */ +void BLEDescriptorCallbacks::onWrite(BLEDescriptor* pDescriptor) { + ESP_LOGD("BLEDescriptorCallbacks", ">> onWrite: default"); + ESP_LOGD("BLEDescriptorCallbacks", "<< onWrite"); +} // onWrite + + +#endif /* CONFIG_BT_ENABLED */ diff --git a/libraries/BLE/src/BLEDescriptor.h b/libraries/BLE/src/BLEDescriptor.h new file mode 100644 index 00000000..03cc5791 --- /dev/null +++ b/libraries/BLE/src/BLEDescriptor.h @@ -0,0 +1,77 @@ +/* + * BLEDescriptor.h + * + * Created on: Jun 22, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEDESCRIPTOR_H_ +#define COMPONENTS_CPP_UTILS_BLEDESCRIPTOR_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include "BLEUUID.h" +#include "BLECharacteristic.h" +#include +#include "FreeRTOS.h" + +class BLEService; +class BLECharacteristic; +class BLEDescriptorCallbacks; + +/** + * @brief A model of a %BLE descriptor. + */ +class BLEDescriptor { +public: + BLEDescriptor(const char* uuid, uint16_t max_len = 100); + BLEDescriptor(BLEUUID uuid, uint16_t max_len = 100); + virtual ~BLEDescriptor(); + + uint16_t getHandle(); // Get the handle of the descriptor. + size_t getLength(); // Get the length of the value of the descriptor. + BLEUUID getUUID(); // Get the UUID of the descriptor. + uint8_t* getValue(); // Get a pointer to the value of the descriptor. + void handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param); + + void setAccessPermissions(esp_gatt_perm_t perm); // Set the permissions of the descriptor. + void setCallbacks(BLEDescriptorCallbacks* pCallbacks); // Set callbacks to be invoked for the descriptor. + void setValue(uint8_t* data, size_t size); // Set the value of the descriptor as a pointer to data. + void setValue(std::string value); // Set the value of the descriptor as a data buffer. + + std::string toString(); // Convert the descriptor to a string representation. + +private: + friend class BLEDescriptorMap; + friend class BLECharacteristic; + BLEUUID m_bleUUID; + uint16_t m_handle; + BLEDescriptorCallbacks* m_pCallback; + BLECharacteristic* m_pCharacteristic; + esp_gatt_perm_t m_permissions = ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE; + FreeRTOS::Semaphore m_semaphoreCreateEvt = FreeRTOS::Semaphore("CreateEvt"); + esp_attr_value_t m_value; + + void executeCreate(BLECharacteristic* pCharacteristic); + void setHandle(uint16_t handle); +}; // BLEDescriptor + + +/** + * @brief Callbacks that can be associated with a %BLE descriptors to inform of events. + * + * When a server application creates a %BLE descriptor, we may wish to be informed when there is either + * a read or write request to the descriptors value. An application can register a + * sub-classed instance of this class and will be notified when such an event happens. + */ +class BLEDescriptorCallbacks { +public: + virtual ~BLEDescriptorCallbacks(); + virtual void onRead(BLEDescriptor* pDescriptor); + virtual void onWrite(BLEDescriptor* pDescriptor); +}; +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEDESCRIPTOR_H_ */ diff --git a/libraries/BLE/src/BLEDescriptorMap.cpp b/libraries/BLE/src/BLEDescriptorMap.cpp new file mode 100644 index 00000000..6b845833 --- /dev/null +++ b/libraries/BLE/src/BLEDescriptorMap.cpp @@ -0,0 +1,147 @@ +/* + * BLEDescriptorMap.cpp + * + * Created on: Jun 22, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include "BLECharacteristic.h" +#include "BLEDescriptor.h" +#include // ESP32 BLE +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +/** + * @brief Return the descriptor by UUID. + * @param [in] UUID The UUID to look up the descriptor. + * @return The descriptor. If not present, then nullptr is returned. + */ +BLEDescriptor* BLEDescriptorMap::getByUUID(const char* uuid) { + return getByUUID(BLEUUID(uuid)); +} + + +/** + * @brief Return the descriptor by UUID. + * @param [in] UUID The UUID to look up the descriptor. + * @return The descriptor. If not present, then nullptr is returned. + */ +BLEDescriptor* BLEDescriptorMap::getByUUID(BLEUUID uuid) { + for (auto &myPair : m_uuidMap) { + if (myPair.first->getUUID().equals(uuid)) { + return myPair.first; + } + } + //return m_uuidMap.at(uuid.toString()); + return nullptr; +} // getByUUID + + +/** + * @brief Return the descriptor by handle. + * @param [in] handle The handle to look up the descriptor. + * @return The descriptor. + */ +BLEDescriptor* BLEDescriptorMap::getByHandle(uint16_t handle) { + return m_handleMap.at(handle); +} // getByHandle + + +/** + * @brief Set the descriptor by UUID. + * @param [in] uuid The uuid of the descriptor. + * @param [in] characteristic The descriptor to cache. + * @return N/A. + */ +void BLEDescriptorMap::setByUUID(const char* uuid, BLEDescriptor* pDescriptor){ + m_uuidMap.insert(std::pair(pDescriptor, uuid)); +} // setByUUID + + + +/** + * @brief Set the descriptor by UUID. + * @param [in] uuid The uuid of the descriptor. + * @param [in] characteristic The descriptor to cache. + * @return N/A. + */ +void BLEDescriptorMap::setByUUID(BLEUUID uuid, BLEDescriptor* pDescriptor) { + m_uuidMap.insert(std::pair(pDescriptor, uuid.toString())); +} // setByUUID + + +/** + * @brief Set the descriptor by handle. + * @param [in] handle The handle of the descriptor. + * @param [in] descriptor The descriptor to cache. + * @return N/A. + */ +void BLEDescriptorMap::setByHandle(uint16_t handle, BLEDescriptor* pDescriptor) { + m_handleMap.insert(std::pair(handle, pDescriptor)); +} // setByHandle + + +/** + * @brief Return a string representation of the descriptor map. + * @return A string representation of the descriptor map. + */ +std::string BLEDescriptorMap::toString() { + std::stringstream stringStream; + stringStream << std::hex << std::setfill('0'); + int count = 0; + for (auto &myPair : m_uuidMap) { + if (count > 0) { + stringStream << "\n"; + } + count++; + stringStream << "handle: 0x" << std::setw(2) << myPair.first->getHandle() << ", uuid: " + myPair.first->getUUID().toString(); + } + return stringStream.str(); +} // toString + + +/** + * @breif Pass the GATT server event onwards to each of the descriptors found in the mapping + * @param [in] event + * @param [in] gatts_if + * @param [in] param + */ +void BLEDescriptorMap::handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param) { + // Invoke the handler for every descriptor we have. + for (auto &myPair : m_uuidMap) { + myPair.first->handleGATTServerEvent(event, gatts_if, param); + } +} // handleGATTServerEvent + + +/** + * @brief Get the first descriptor in the map. + * @return The first descriptor in the map. + */ +BLEDescriptor* BLEDescriptorMap::getFirst() { + m_iterator = m_uuidMap.begin(); + if (m_iterator == m_uuidMap.end()) return nullptr; + BLEDescriptor* pRet = m_iterator->first; + m_iterator++; + return pRet; +} // getFirst + + +/** + * @brief Get the next descriptor in the map. + * @return The next descriptor in the map. + */ +BLEDescriptor* BLEDescriptorMap::getNext() { + if (m_iterator == m_uuidMap.end()) return nullptr; + BLEDescriptor* pRet = m_iterator->first; + m_iterator++; + return pRet; +} // getNext +#endif /* CONFIG_BT_ENABLED */ diff --git a/libraries/BLE/src/BLEDevice.cpp b/libraries/BLE/src/BLEDevice.cpp new file mode 100644 index 00000000..cb2db41f --- /dev/null +++ b/libraries/BLE/src/BLEDevice.cpp @@ -0,0 +1,650 @@ +/* + * BLE.cpp + * + * Created on: Mar 16, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include +#include +#include +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 ESP-IDF +#include // Part of C++ Standard library +#include // Part of C++ Standard library +#include // Part of C++ Standard library + +#include "BLEDevice.h" +#include "BLEClient.h" +#include "BLEUtils.h" +#include "GeneralUtils.h" + +#if defined(ARDUINO_ARCH_ESP32) +#include "esp32-hal-bt.h" +#endif + +#if defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLEDevice"; +#endif + + +/** + * Singletons for the BLEDevice. + */ +BLEServer* BLEDevice::m_pServer = nullptr; +BLEScan* BLEDevice::m_pScan = nullptr; +BLEClient* BLEDevice::m_pClient = nullptr; +bool initialized = false; +esp_ble_sec_act_t BLEDevice::m_securityLevel = (esp_ble_sec_act_t)0; +BLESecurityCallbacks* BLEDevice::m_securityCallbacks = nullptr; +uint16_t BLEDevice::m_localMTU = 23; // not sure if this variable is useful +BLEAdvertising* BLEDevice::m_bleAdvertising = nullptr; +uint16_t BLEDevice::m_appId = 0; +std::map BLEDevice::m_connectedClientsMap; +gap_event_handler BLEDevice::m_customGapHandler = nullptr; +gattc_event_handler BLEDevice::m_customGattcHandler = nullptr; +gatts_event_handler BLEDevice::m_customGattsHandler = nullptr; + +/** + * @brief Create a new instance of a client. + * @return A new instance of the client. + */ +/* STATIC */ BLEClient* BLEDevice::createClient() { + ESP_LOGD(LOG_TAG, ">> createClient"); +#ifndef CONFIG_GATTC_ENABLE // Check that BLE GATTC is enabled in make menuconfig + ESP_LOGE(LOG_TAG, "BLE GATTC is not enabled - CONFIG_GATTC_ENABLE not defined"); + abort(); +#endif // CONFIG_GATTC_ENABLE + m_pClient = new BLEClient(); + ESP_LOGD(LOG_TAG, "<< createClient"); + return m_pClient; +} // createClient + + +/** + * @brief Create a new instance of a server. + * @return A new instance of the server. + */ +/* STATIC */ BLEServer* BLEDevice::createServer() { + ESP_LOGD(LOG_TAG, ">> createServer"); +#ifndef CONFIG_GATTS_ENABLE // Check that BLE GATTS is enabled in make menuconfig + ESP_LOGE(LOG_TAG, "BLE GATTS is not enabled - CONFIG_GATTS_ENABLE not defined"); + abort(); +#endif // CONFIG_GATTS_ENABLE + m_pServer = new BLEServer(); + m_pServer->createApp(m_appId++); + ESP_LOGD(LOG_TAG, "<< createServer"); + return m_pServer; +} // createServer + + +/** + * @brief Handle GATT server events. + * + * @param [in] event The event that has been newly received. + * @param [in] gatts_if The connection to the GATT interface. + * @param [in] param Parameters for the event. + */ +/* STATIC */ void BLEDevice::gattServerEventHandler( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param +) { + ESP_LOGD(LOG_TAG, "gattServerEventHandler [esp_gatt_if: %d] ... %s", + gatts_if, + BLEUtils::gattServerEventTypeToString(event).c_str()); + + BLEUtils::dumpGattServerEvent(event, gatts_if, param); + + switch (event) { + case ESP_GATTS_CONNECT_EVT: { +#ifdef CONFIG_BLE_SMP_ENABLE // Check that BLE SMP (security) is configured in make menuconfig + if(BLEDevice::m_securityLevel){ + esp_ble_set_encryption(param->connect.remote_bda, BLEDevice::m_securityLevel); + } +#endif // CONFIG_BLE_SMP_ENABLE + break; + } // ESP_GATTS_CONNECT_EVT + + default: { + break; + } + } // switch + + + if (BLEDevice::m_pServer != nullptr) { + BLEDevice::m_pServer->handleGATTServerEvent(event, gatts_if, param); + } + + if(m_customGattsHandler != nullptr) { + m_customGattsHandler(event, gatts_if, param); + } + +} // gattServerEventHandler + + +/** + * @brief Handle GATT client events. + * + * Handler for the GATT client events. + * + * @param [in] event + * @param [in] gattc_if + * @param [in] param + */ +/* STATIC */ void BLEDevice::gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* param) { + + ESP_LOGD(LOG_TAG, "gattClientEventHandler [esp_gatt_if: %d] ... %s", + gattc_if, BLEUtils::gattClientEventTypeToString(event).c_str()); + BLEUtils::dumpGattClientEvent(event, gattc_if, param); + + switch(event) { + case ESP_GATTC_CONNECT_EVT: { +#ifdef CONFIG_BLE_SMP_ENABLE // Check that BLE SMP (security) is configured in make menuconfig + if(BLEDevice::m_securityLevel){ + esp_ble_set_encryption(param->connect.remote_bda, BLEDevice::m_securityLevel); + } +#endif // CONFIG_BLE_SMP_ENABLE + break; + } // ESP_GATTS_CONNECT_EVT + + default: + break; + } // switch + for(auto &myPair : BLEDevice::getPeerDevices(true)) { + conn_status_t conn_status = (conn_status_t)myPair.second; + if(((BLEClient*)conn_status.peer_device)->getGattcIf() == gattc_if || ((BLEClient*)conn_status.peer_device)->getGattcIf() == ESP_GATT_IF_NONE || gattc_if == ESP_GATT_IF_NONE){ + ((BLEClient*)conn_status.peer_device)->gattClientEventHandler(event, gattc_if, param); + } + } + + if(m_customGattcHandler != nullptr) { + m_customGattcHandler(event, gattc_if, param); + } + + +} // gattClientEventHandler + + +/** + * @brief Handle GAP events. + */ +/* STATIC */ void BLEDevice::gapEventHandler( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t *param) { + + BLEUtils::dumpGapEvent(event, param); + + switch(event) { + + case ESP_GAP_BLE_OOB_REQ_EVT: /* OOB request event */ + ESP_LOGI(LOG_TAG, "ESP_GAP_BLE_OOB_REQ_EVT"); + break; + case ESP_GAP_BLE_LOCAL_IR_EVT: /* BLE local IR event */ + ESP_LOGI(LOG_TAG, "ESP_GAP_BLE_LOCAL_IR_EVT"); + break; + case ESP_GAP_BLE_LOCAL_ER_EVT: /* BLE local ER event */ + ESP_LOGI(LOG_TAG, "ESP_GAP_BLE_LOCAL_ER_EVT"); + break; + case ESP_GAP_BLE_NC_REQ_EVT: /* NUMERIC CONFIRMATION */ + ESP_LOGI(LOG_TAG, "ESP_GAP_BLE_NC_REQ_EVT"); +#ifdef CONFIG_BLE_SMP_ENABLE // Check that BLE SMP (security) is configured in make menuconfig + if(BLEDevice::m_securityCallbacks != nullptr){ + esp_ble_confirm_reply(param->ble_security.ble_req.bd_addr, BLEDevice::m_securityCallbacks->onConfirmPIN(param->ble_security.key_notif.passkey)); + } +#endif // CONFIG_BLE_SMP_ENABLE + break; + case ESP_GAP_BLE_PASSKEY_REQ_EVT: /* passkey request event */ + ESP_LOGI(LOG_TAG, "ESP_GAP_BLE_PASSKEY_REQ_EVT: "); + // esp_log_buffer_hex(LOG_TAG, m_remote_bda, sizeof(m_remote_bda)); +#ifdef CONFIG_BLE_SMP_ENABLE // Check that BLE SMP (security) is configured in make menuconfig + if(BLEDevice::m_securityCallbacks != nullptr){ + esp_ble_passkey_reply(param->ble_security.ble_req.bd_addr, true, BLEDevice::m_securityCallbacks->onPassKeyRequest()); + } +#endif // CONFIG_BLE_SMP_ENABLE + break; + /* + * TODO should we add white/black list comparison? + */ + case ESP_GAP_BLE_SEC_REQ_EVT: + /* send the positive(true) security response to the peer device to accept the security request. + If not accept the security request, should sent the security response with negative(false) accept value*/ + ESP_LOGI(LOG_TAG, "ESP_GAP_BLE_SEC_REQ_EVT"); +#ifdef CONFIG_BLE_SMP_ENABLE // Check that BLE SMP (security) is configured in make menuconfig + if(BLEDevice::m_securityCallbacks!=nullptr){ + esp_ble_gap_security_rsp(param->ble_security.ble_req.bd_addr, BLEDevice::m_securityCallbacks->onSecurityRequest()); + } + else{ + esp_ble_gap_security_rsp(param->ble_security.ble_req.bd_addr, true); + } +#endif // CONFIG_BLE_SMP_ENABLE + break; + /* + * + */ + case ESP_GAP_BLE_PASSKEY_NOTIF_EVT: //the app will receive this evt when the IO has Output capability and the peer device IO has Input capability. + //display the passkey number to the user to input it in the peer deivce within 30 seconds + ESP_LOGI(LOG_TAG, "ESP_GAP_BLE_PASSKEY_NOTIF_EVT"); +#ifdef CONFIG_BLE_SMP_ENABLE // Check that BLE SMP (security) is configured in make menuconfig + ESP_LOGI(LOG_TAG, "passKey = %d", param->ble_security.key_notif.passkey); + if(BLEDevice::m_securityCallbacks!=nullptr){ + BLEDevice::m_securityCallbacks->onPassKeyNotify(param->ble_security.key_notif.passkey); + } +#endif // CONFIG_BLE_SMP_ENABLE + break; + case ESP_GAP_BLE_KEY_EVT: + //shows the ble key type info share with peer device to the user. + ESP_LOGD(LOG_TAG, "ESP_GAP_BLE_KEY_EVT"); +#ifdef CONFIG_BLE_SMP_ENABLE // Check that BLE SMP (security) is configured in make menuconfig + ESP_LOGI(LOG_TAG, "key type = %s", BLESecurity::esp_key_type_to_str(param->ble_security.ble_key.key_type)); +#endif // CONFIG_BLE_SMP_ENABLE + break; + case ESP_GAP_BLE_AUTH_CMPL_EVT: + ESP_LOGI(LOG_TAG, "ESP_GAP_BLE_AUTH_CMPL_EVT"); +#ifdef CONFIG_BLE_SMP_ENABLE // Check that BLE SMP (security) is configured in make menuconfig + if(BLEDevice::m_securityCallbacks != nullptr){ + BLEDevice::m_securityCallbacks->onAuthenticationComplete(param->ble_security.auth_cmpl); + } +#endif // CONFIG_BLE_SMP_ENABLE + break; + default: { + break; + } + } // switch + + if (BLEDevice::m_pClient != nullptr) { + BLEDevice::m_pClient->handleGAPEvent(event, param); + } + + if (BLEDevice::m_pScan != nullptr) { + BLEDevice::getScan()->handleGAPEvent(event, param); + } + + if(m_bleAdvertising != nullptr) { + BLEDevice::getAdvertising()->handleGAPEvent(event, param); + } + + if(m_customGapHandler != nullptr) { + BLEDevice::m_customGapHandler(event, param); + } + +} // gapEventHandler + + +/** + * @brief Get the BLE device address. + * @return The BLE device address. + */ +/* STATIC*/ BLEAddress BLEDevice::getAddress() { + const uint8_t* bdAddr = esp_bt_dev_get_address(); + esp_bd_addr_t addr; + memcpy(addr, bdAddr, sizeof(addr)); + return BLEAddress(addr); +} // getAddress + + +/** + * @brief Retrieve the Scan object that we use for scanning. + * @return The scanning object reference. This is a singleton object. The caller should not + * try and release/delete it. + */ +/* STATIC */ BLEScan* BLEDevice::getScan() { + //ESP_LOGD(LOG_TAG, ">> getScan"); + if (m_pScan == nullptr) { + m_pScan = new BLEScan(); + //ESP_LOGD(LOG_TAG, " - creating a new scan object"); + } + //ESP_LOGD(LOG_TAG, "<< getScan: Returning object at 0x%x", (uint32_t)m_pScan); + return m_pScan; +} // getScan + + +/** + * @brief Get the value of a characteristic of a service on a remote device. + * @param [in] bdAddress + * @param [in] serviceUUID + * @param [in] characteristicUUID + */ +/* STATIC */ std::string BLEDevice::getValue(BLEAddress bdAddress, BLEUUID serviceUUID, BLEUUID characteristicUUID) { + ESP_LOGD(LOG_TAG, ">> getValue: bdAddress: %s, serviceUUID: %s, characteristicUUID: %s", bdAddress.toString().c_str(), serviceUUID.toString().c_str(), characteristicUUID.toString().c_str()); + BLEClient* pClient = createClient(); + pClient->connect(bdAddress); + std::string ret = pClient->getValue(serviceUUID, characteristicUUID); + pClient->disconnect(); + ESP_LOGD(LOG_TAG, "<< getValue"); + return ret; +} // getValue + + +/** + * @brief Initialize the %BLE environment. + * @param deviceName The device name of the device. + */ +/* STATIC */ void BLEDevice::init(std::string deviceName) { + if(!initialized){ + initialized = true; // Set the initialization flag to ensure we are only initialized once. + + esp_err_t errRc = ESP_OK; +#ifdef ARDUINO_ARCH_ESP32 + if (!btStart()) { + errRc = ESP_FAIL; + return; + } +#else + errRc = ::nvs_flash_init(); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "nvs_flash_init: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + +#ifndef CLASSIC_BT_ENABLED + esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT); +#endif + esp_bt_controller_config_t bt_cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT(); + errRc = esp_bt_controller_init(&bt_cfg); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_bt_controller_init: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + +#ifndef CLASSIC_BT_ENABLED + errRc = esp_bt_controller_enable(ESP_BT_MODE_BLE); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_bt_controller_enable: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } +#else + errRc = esp_bt_controller_enable(ESP_BT_MODE_BTDM); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_bt_controller_enable: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } +#endif +#endif + + esp_bluedroid_status_t bt_state = esp_bluedroid_get_status(); + if (bt_state == ESP_BLUEDROID_STATUS_UNINITIALIZED) { + errRc = esp_bluedroid_init(); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_bluedroid_init: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + } + + if (bt_state != ESP_BLUEDROID_STATUS_ENABLED) { + errRc = esp_bluedroid_enable(); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_bluedroid_enable: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + } + + errRc = esp_ble_gap_register_callback(BLEDevice::gapEventHandler); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_register_callback: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + +#ifdef CONFIG_GATTC_ENABLE // Check that BLE client is configured in make menuconfig + errRc = esp_ble_gattc_register_callback(BLEDevice::gattClientEventHandler); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_register_callback: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } +#endif // CONFIG_GATTC_ENABLE + +#ifdef CONFIG_GATTS_ENABLE // Check that BLE server is configured in make menuconfig + errRc = esp_ble_gatts_register_callback(BLEDevice::gattServerEventHandler); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gatts_register_callback: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } +#endif // CONFIG_GATTS_ENABLE + + errRc = ::esp_ble_gap_set_device_name(deviceName.c_str()); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_set_device_name: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + }; + +#ifdef CONFIG_BLE_SMP_ENABLE // Check that BLE SMP (security) is configured in make menuconfig + esp_ble_io_cap_t iocap = ESP_IO_CAP_NONE; + errRc = ::esp_ble_gap_set_security_param(ESP_BLE_SM_IOCAP_MODE, &iocap, sizeof(uint8_t)); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_set_security_param: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + }; +#endif // CONFIG_BLE_SMP_ENABLE + } + vTaskDelay(200 / portTICK_PERIOD_MS); // Delay for 200 msecs as a workaround to an apparent Arduino environment issue. +} // init + + +/** + * @brief Set the transmission power. + * The power level can be one of: + * * ESP_PWR_LVL_N14 + * * ESP_PWR_LVL_N11 + * * ESP_PWR_LVL_N8 + * * ESP_PWR_LVL_N5 + * * ESP_PWR_LVL_N2 + * * ESP_PWR_LVL_P1 + * * ESP_PWR_LVL_P4 + * * ESP_PWR_LVL_P7 + * @param [in] powerLevel. + */ +/* STATIC */ void BLEDevice::setPower(esp_power_level_t powerLevel) { + ESP_LOGD(LOG_TAG, ">> setPower: %d", powerLevel); + esp_err_t errRc = ::esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_DEFAULT, powerLevel); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_tx_power_set: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + }; + ESP_LOGD(LOG_TAG, "<< setPower"); +} // setPower + + +/** + * @brief Set the value of a characteristic of a service on a remote device. + * @param [in] bdAddress + * @param [in] serviceUUID + * @param [in] characteristicUUID + */ +/* STATIC */ void BLEDevice::setValue(BLEAddress bdAddress, BLEUUID serviceUUID, BLEUUID characteristicUUID, std::string value) { + ESP_LOGD(LOG_TAG, ">> setValue: bdAddress: %s, serviceUUID: %s, characteristicUUID: %s", bdAddress.toString().c_str(), serviceUUID.toString().c_str(), characteristicUUID.toString().c_str()); + BLEClient* pClient = createClient(); + pClient->connect(bdAddress); + pClient->setValue(serviceUUID, characteristicUUID, value); + pClient->disconnect(); +} // setValue + + +/** + * @brief Return a string representation of the nature of this device. + * @return A string representation of the nature of this device. + */ +/* STATIC */ std::string BLEDevice::toString() { + std::ostringstream oss; + oss << "BD Address: " << getAddress().toString(); + return oss.str(); +} // toString + + +/** + * @brief Add an entry to the BLE white list. + * @param [in] address The address to add to the white list. + */ +void BLEDevice::whiteListAdd(BLEAddress address) { + ESP_LOGD(LOG_TAG, ">> whiteListAdd: %s", address.toString().c_str()); + esp_err_t errRc = esp_ble_gap_update_whitelist(true, *address.getNative()); // True to add an entry. + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_update_whitelist: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + ESP_LOGD(LOG_TAG, "<< whiteListAdd"); +} // whiteListAdd + + +/** + * @brief Remove an entry from the BLE white list. + * @param [in] address The address to remove from the white list. + */ +void BLEDevice::whiteListRemove(BLEAddress address) { + ESP_LOGD(LOG_TAG, ">> whiteListRemove: %s", address.toString().c_str()); + esp_err_t errRc = esp_ble_gap_update_whitelist(false, *address.getNative()); // False to remove an entry. + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_update_whitelist: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + ESP_LOGD(LOG_TAG, "<< whiteListRemove"); +} // whiteListRemove + +/* + * @brief Set encryption level that will be negotiated with peer device durng connection + * @param [in] level Requested encryption level + */ +void BLEDevice::setEncryptionLevel(esp_ble_sec_act_t level) { + BLEDevice::m_securityLevel = level; +} + +/* + * @brief Set callbacks that will be used to handle encryption negotiation events and authentication events + * @param [in] cllbacks Pointer to BLESecurityCallbacks class callback + */ +void BLEDevice::setSecurityCallbacks(BLESecurityCallbacks* callbacks) { + BLEDevice::m_securityCallbacks = callbacks; +} + +/* + * @brief Setup local mtu that will be used to negotiate mtu during request from client peer + * @param [in] mtu Value to set local mtu, should be larger than 23 and lower or equal to 517 + */ +esp_err_t BLEDevice::setMTU(uint16_t mtu) { + ESP_LOGD(LOG_TAG, ">> setLocalMTU: %d", mtu); + esp_err_t err = esp_ble_gatt_set_local_mtu(mtu); + if (err == ESP_OK) { + m_localMTU = mtu; + } else { + ESP_LOGE(LOG_TAG, "can't set local mtu value: %d", mtu); + } + ESP_LOGD(LOG_TAG, "<< setLocalMTU"); + return err; +} + +/* + * @brief Get local MTU value set during mtu request or default value + */ +uint16_t BLEDevice::getMTU() { + return m_localMTU; +} + +bool BLEDevice::getInitialized() { + return initialized; +} + +BLEAdvertising* BLEDevice::getAdvertising() { + if(m_bleAdvertising == nullptr) { + m_bleAdvertising = new BLEAdvertising(); + ESP_LOGI(LOG_TAG, "create advertising"); + } + ESP_LOGD(LOG_TAG, "get advertising"); + return m_bleAdvertising; +} + +void BLEDevice::startAdvertising() { + ESP_LOGD(LOG_TAG, ">> startAdvertising"); + getAdvertising()->start(); + ESP_LOGD(LOG_TAG, "<< startAdvertising"); +} // startAdvertising + +/* multi connect support */ +/* requires a little more work */ +std::map BLEDevice::getPeerDevices(bool _client) { + return m_connectedClientsMap; +} + +BLEClient* BLEDevice::getClientByGattIf(uint16_t conn_id) { + return (BLEClient*)m_connectedClientsMap.find(conn_id)->second.peer_device; +} + +void BLEDevice::updatePeerDevice(void* peer, bool _client, uint16_t conn_id) { + ESP_LOGD(LOG_TAG, "update conn_id: %d, GATT role: %s", conn_id, _client? "client":"server"); + std::map::iterator it = m_connectedClientsMap.find(ESP_GATT_IF_NONE); + if (it != m_connectedClientsMap.end()) { + std::swap(m_connectedClientsMap[conn_id], it->second); + m_connectedClientsMap.erase(it); + }else{ + it = m_connectedClientsMap.find(conn_id); + if (it != m_connectedClientsMap.end()) { + conn_status_t _st = it->second; + _st.peer_device = peer; + std::swap(m_connectedClientsMap[conn_id], _st); + } + } +} + +void BLEDevice::addPeerDevice(void* peer, bool _client, uint16_t conn_id) { + ESP_LOGI(LOG_TAG, "add conn_id: %d, GATT role: %s", conn_id, _client? "client":"server"); + conn_status_t status = { + .peer_device = peer, + .connected = true, + .mtu = 23 + }; + + m_connectedClientsMap.insert(std::pair(conn_id, status)); +} + +void BLEDevice::removePeerDevice(uint16_t conn_id, bool _client) { + ESP_LOGI(LOG_TAG, "remove: %d, GATT role %s", conn_id, _client?"client":"server"); + if(m_connectedClientsMap.find(conn_id) != m_connectedClientsMap.end()) + m_connectedClientsMap.erase(conn_id); +} + +/* multi connect support */ + +/** + * @brief de-Initialize the %BLE environment. + * @param release_memory release the internal BT stack memory + */ +/* STATIC */ void BLEDevice::deinit(bool release_memory) { + if (!initialized) return; + + esp_bluedroid_disable(); + esp_bluedroid_deinit(); + esp_bt_controller_disable(); + esp_bt_controller_deinit(); +#ifndef ARDUINO_ARCH_ESP32 + if (release_memory) { + esp_bt_controller_mem_release(ESP_BT_MODE_BTDM); // <-- require tests because we released classic BT memory and this can cause crash (most likely not, esp-idf takes care of it) + } else { + initialized = false; + } +#endif +} + +void BLEDevice::setCustomGapHandler(gap_event_handler handler) { + m_customGapHandler = handler; +} + +void BLEDevice::setCustomGattcHandler(gattc_event_handler handler) { + m_customGattcHandler = handler; +} + +void BLEDevice::setCustomGattsHandler(gatts_event_handler handler) { + m_customGattsHandler = handler; +} + +#endif // CONFIG_BT_ENABLED diff --git a/libraries/BLE/src/BLEDevice.h b/libraries/BLE/src/BLEDevice.h new file mode 100644 index 00000000..e9cd40a3 --- /dev/null +++ b/libraries/BLE/src/BLEDevice.h @@ -0,0 +1,99 @@ +/* + * BLEDevice.h + * + * Created on: Mar 16, 2017 + * Author: kolban + */ + +#ifndef MAIN_BLEDevice_H_ +#define MAIN_BLEDevice_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include // ESP32 BLE +#include // ESP32 BLE +#include // Part of C++ STL +#include +#include + +#include "BLEServer.h" +#include "BLEClient.h" +#include "BLEUtils.h" +#include "BLEScan.h" +#include "BLEAddress.h" + +/** + * @brief BLE functions. + */ +typedef void (*gap_event_handler)(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t* param); +typedef void (*gattc_event_handler)(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gattc_cb_param_t* param); +typedef void (*gatts_event_handler)(esp_gatts_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gatts_cb_param_t* param); + +class BLEDevice { +public: + + static BLEClient* createClient(); // Create a new BLE client. + static BLEServer* createServer(); // Cretae a new BLE server. + static BLEAddress getAddress(); // Retrieve our own local BD address. + static BLEScan* getScan(); // Get the scan object + static std::string getValue(BLEAddress bdAddress, BLEUUID serviceUUID, BLEUUID characteristicUUID); // Get the value of a characteristic of a service on a server. + static void init(std::string deviceName); // Initialize the local BLE environment. + static void setPower(esp_power_level_t powerLevel); // Set our power level. + static void setValue(BLEAddress bdAddress, BLEUUID serviceUUID, BLEUUID characteristicUUID, std::string value); // Set the value of a characteristic on a service on a server. + static std::string toString(); // Return a string representation of our device. + static void whiteListAdd(BLEAddress address); // Add an entry to the BLE white list. + static void whiteListRemove(BLEAddress address); // Remove an entry from the BLE white list. + static void setEncryptionLevel(esp_ble_sec_act_t level); + static void setSecurityCallbacks(BLESecurityCallbacks* pCallbacks); + static esp_err_t setMTU(uint16_t mtu); + static uint16_t getMTU(); + static bool getInitialized(); // Returns the state of the device, is it initialized or not? + /* move advertising to BLEDevice for saving ram and flash in beacons */ + static BLEAdvertising* getAdvertising(); + static void startAdvertising(); + static uint16_t m_appId; + /* multi connect */ + static std::map getPeerDevices(bool client); + static void addPeerDevice(void* peer, bool is_client, uint16_t conn_id); + static void updatePeerDevice(void* peer, bool _client, uint16_t conn_id); + static void removePeerDevice(uint16_t conn_id, bool client); + static BLEClient* getClientByGattIf(uint16_t conn_id); + static void setCustomGapHandler(gap_event_handler handler); + static void setCustomGattcHandler(gattc_event_handler handler); + static void setCustomGattsHandler(gatts_event_handler handler); + static void deinit(bool release_memory = false); + static uint16_t m_localMTU; + static esp_ble_sec_act_t m_securityLevel; + +private: + static BLEServer* m_pServer; + static BLEScan* m_pScan; + static BLEClient* m_pClient; + static BLESecurityCallbacks* m_securityCallbacks; + static BLEAdvertising* m_bleAdvertising; + static esp_gatt_if_t getGattcIF(); + static std::map m_connectedClientsMap; + + static void gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* param); + + static void gattServerEventHandler( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param); + + static void gapEventHandler( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param); + +public: +/* custom gap and gatt handlers for flexibility */ + static gap_event_handler m_customGapHandler; + static gattc_event_handler m_customGattcHandler; + static gatts_event_handler m_customGattsHandler; + +}; // class BLE + +#endif // CONFIG_BT_ENABLED +#endif /* MAIN_BLEDevice_H_ */ diff --git a/libraries/BLE/src/BLEEddystoneTLM.cpp b/libraries/BLE/src/BLEEddystoneTLM.cpp new file mode 100644 index 00000000..a92bcdb2 --- /dev/null +++ b/libraries/BLE/src/BLEEddystoneTLM.cpp @@ -0,0 +1,150 @@ +/* + * BLEEddystoneTLM.cpp + * + * Created on: Mar 12, 2018 + * Author: pcbreflux + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include +#include "BLEEddystoneTLM.h" + +static const char LOG_TAG[] = "BLEEddystoneTLM"; +#define ENDIAN_CHANGE_U16(x) ((((x)&0xFF00)>>8) + (((x)&0xFF)<<8)) +#define ENDIAN_CHANGE_U32(x) ((((x)&0xFF000000)>>24) + (((x)&0x00FF0000)>>8)) + ((((x)&0xFF00)<<8) + (((x)&0xFF)<<24)) + +BLEEddystoneTLM::BLEEddystoneTLM() { + beaconUUID = 0xFEAA; + m_eddystoneData.frameType = EDDYSTONE_TLM_FRAME_TYPE; + m_eddystoneData.version = 0; + m_eddystoneData.volt = 3300; // 3300mV = 3.3V + m_eddystoneData.temp = (uint16_t) ((float) 23.00); + m_eddystoneData.advCount = 0; + m_eddystoneData.tmil = 0; +} // BLEEddystoneTLM + +std::string BLEEddystoneTLM::getData() { + return std::string((char*) &m_eddystoneData, sizeof(m_eddystoneData)); +} // getData + +BLEUUID BLEEddystoneTLM::getUUID() { + return BLEUUID(beaconUUID); +} // getUUID + +uint8_t BLEEddystoneTLM::getVersion() { + return m_eddystoneData.version; +} // getVersion + +uint16_t BLEEddystoneTLM::getVolt() { + return m_eddystoneData.volt; +} // getVolt + +float BLEEddystoneTLM::getTemp() { + return (float)m_eddystoneData.temp; +} // getTemp + +uint32_t BLEEddystoneTLM::getCount() { + return m_eddystoneData.advCount; +} // getCount + +uint32_t BLEEddystoneTLM::getTime() { + return m_eddystoneData.tmil; +} // getTime + +std::string BLEEddystoneTLM::toString() { + std::stringstream ss; + std::string out = ""; + uint32_t rawsec; + ss << "Version "; + ss << std::dec << m_eddystoneData.version; + ss << "\n"; + + ss << "Battery Voltage "; + ss << std::dec << ENDIAN_CHANGE_U16(m_eddystoneData.volt); + ss << " mV\n"; + + ss << "Temperature "; + ss << (float) m_eddystoneData.temp; + ss << " °C\n"; + + ss << "Adv. Count "; + ss << std::dec << ENDIAN_CHANGE_U32(m_eddystoneData.advCount); + + ss << "\n"; + + ss << "Time "; + + rawsec = ENDIAN_CHANGE_U32(m_eddystoneData.tmil); + std::stringstream buffstream; + buffstream << "0000"; + buffstream << std::dec << rawsec / 864000; + std::string buff = buffstream.str(); + + ss << buff.substr(buff.length() - 4, buff.length()); + ss << "."; + + buffstream.str(""); + buffstream.clear(); + buffstream << "00"; + buffstream << std::dec << (rawsec / 36000) % 24; + buff = buffstream.str(); + ss << buff.substr(buff.length()-2, buff.length()); + ss << ":"; + + buffstream.str(""); + buffstream.clear(); + buffstream << "00"; + buffstream << std::dec << (rawsec / 600) % 60; + buff = buffstream.str(); + ss << buff.substr(buff.length() - 2, buff.length()); + ss << ":"; + + buffstream.str(""); + buffstream.clear(); + buffstream << "00"; + buffstream << std::dec << (rawsec / 10) % 60; + buff = buffstream.str(); + ss << buff.substr(buff.length() - 2, buff.length()); + ss << "\n"; + + return ss.str(); +} // toString + +/** + * Set the raw data for the beacon record. + */ +void BLEEddystoneTLM::setData(std::string data) { + if (data.length() != sizeof(m_eddystoneData)) { + ESP_LOGE(LOG_TAG, "Unable to set the data ... length passed in was %d and expected %d", data.length(), sizeof(m_eddystoneData)); + return; + } + memcpy(&m_eddystoneData, data.data(), data.length()); +} // setData + +void BLEEddystoneTLM::setUUID(BLEUUID l_uuid) { + beaconUUID = l_uuid.getNative()->uuid.uuid16; +} // setUUID + +void BLEEddystoneTLM::setVersion(uint8_t version) { + m_eddystoneData.version = version; +} // setVersion + +void BLEEddystoneTLM::setVolt(uint16_t volt) { + m_eddystoneData.volt = volt; +} // setVolt + +void BLEEddystoneTLM::setTemp(float temp) { + m_eddystoneData.temp = (uint16_t)temp; +} // setTemp + +void BLEEddystoneTLM::setCount(uint32_t advCount) { + m_eddystoneData.advCount = advCount; +} // setCount + +void BLEEddystoneTLM::setTime(uint32_t tmil) { + m_eddystoneData.tmil = tmil; +} // setTime + +#endif diff --git a/libraries/BLE/src/BLEEddystoneTLM.h b/libraries/BLE/src/BLEEddystoneTLM.h new file mode 100644 index 00000000..a93e224f --- /dev/null +++ b/libraries/BLE/src/BLEEddystoneTLM.h @@ -0,0 +1,51 @@ +/* + * BLEEddystoneTLM.cpp + * + * Created on: Mar 12, 2018 + * Author: pcbreflux + */ + +#ifndef _BLEEddystoneTLM_H_ +#define _BLEEddystoneTLM_H_ +#include "BLEUUID.h" + +#define EDDYSTONE_TLM_FRAME_TYPE 0x20 + +/** + * @brief Representation of a beacon. + * See: + * * https://github.com/google/eddystone + */ +class BLEEddystoneTLM { +public: + BLEEddystoneTLM(); + std::string getData(); + BLEUUID getUUID(); + uint8_t getVersion(); + uint16_t getVolt(); + float getTemp(); + uint32_t getCount(); + uint32_t getTime(); + std::string toString(); + void setData(std::string data); + void setUUID(BLEUUID l_uuid); + void setVersion(uint8_t version); + void setVolt(uint16_t volt); + void setTemp(float temp); + void setCount(uint32_t advCount); + void setTime(uint32_t tmil); + +private: + uint16_t beaconUUID; + struct { + uint8_t frameType; + uint8_t version; + uint16_t volt; + uint16_t temp; + uint32_t advCount; + uint32_t tmil; + } __attribute__((packed)) m_eddystoneData; + +}; // BLEEddystoneTLM + +#endif /* _BLEEddystoneTLM_H_ */ diff --git a/libraries/BLE/src/BLEEddystoneURL.cpp b/libraries/BLE/src/BLEEddystoneURL.cpp new file mode 100644 index 00000000..af3b674c --- /dev/null +++ b/libraries/BLE/src/BLEEddystoneURL.cpp @@ -0,0 +1,148 @@ +/* + * BLEEddystoneURL.cpp + * + * Created on: Mar 12, 2018 + * Author: pcbreflux + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include "BLEEddystoneURL.h" + +static const char LOG_TAG[] = "BLEEddystoneURL"; + +BLEEddystoneURL::BLEEddystoneURL() { + beaconUUID = 0xFEAA; + lengthURL = 0; + m_eddystoneData.frameType = EDDYSTONE_URL_FRAME_TYPE; + m_eddystoneData.advertisedTxPower = 0; + memset(m_eddystoneData.url, 0, sizeof(m_eddystoneData.url)); +} // BLEEddystoneURL + +std::string BLEEddystoneURL::getData() { + return std::string((char*) &m_eddystoneData, sizeof(m_eddystoneData)); +} // getData + +BLEUUID BLEEddystoneURL::getUUID() { + return BLEUUID(beaconUUID); +} // getUUID + +int8_t BLEEddystoneURL::getPower() { + return m_eddystoneData.advertisedTxPower; +} // getPower + +std::string BLEEddystoneURL::getURL() { + return std::string((char*) &m_eddystoneData.url, sizeof(m_eddystoneData.url)); +} // getURL + +std::string BLEEddystoneURL::getDecodedURL() { + std::string decodedURL = ""; + + switch (m_eddystoneData.url[0]) { + case 0x00: + decodedURL += "http://www."; + break; + case 0x01: + decodedURL += "https://www."; + break; + case 0x02: + decodedURL += "http://"; + break; + case 0x03: + decodedURL += "https://"; + break; + default: + decodedURL += m_eddystoneData.url[0]; + } + + for (int i = 1; i < lengthURL; i++) { + if (m_eddystoneData.url[i] > 33 && m_eddystoneData.url[i] < 127) { + decodedURL += m_eddystoneData.url[i]; + } else { + switch (m_eddystoneData.url[i]) { + case 0x00: + decodedURL += ".com/"; + break; + case 0x01: + decodedURL += ".org/"; + break; + case 0x02: + decodedURL += ".edu/"; + break; + case 0x03: + decodedURL += ".net/"; + break; + case 0x04: + decodedURL += ".info/"; + break; + case 0x05: + decodedURL += ".biz/"; + break; + case 0x06: + decodedURL += ".gov/"; + break; + case 0x07: + decodedURL += ".com"; + break; + case 0x08: + decodedURL += ".org"; + break; + case 0x09: + decodedURL += ".edu"; + break; + case 0x0A: + decodedURL += ".net"; + break; + case 0x0B: + decodedURL += ".info"; + break; + case 0x0C: + decodedURL += ".biz"; + break; + case 0x0D: + decodedURL += ".gov"; + break; + default: + break; + } + } + } + return decodedURL; +} // getDecodedURL + + + +/** + * Set the raw data for the beacon record. + */ +void BLEEddystoneURL::setData(std::string data) { + if (data.length() > sizeof(m_eddystoneData)) { + ESP_LOGE(LOG_TAG, "Unable to set the data ... length passed in was %d and max expected %d", data.length(), sizeof(m_eddystoneData)); + return; + } + memset(&m_eddystoneData, 0, sizeof(m_eddystoneData)); + memcpy(&m_eddystoneData, data.data(), data.length()); + lengthURL = data.length() - (sizeof(m_eddystoneData) - sizeof(m_eddystoneData.url)); +} // setData + +void BLEEddystoneURL::setUUID(BLEUUID l_uuid) { + beaconUUID = l_uuid.getNative()->uuid.uuid16; +} // setUUID + +void BLEEddystoneURL::setPower(int8_t advertisedTxPower) { + m_eddystoneData.advertisedTxPower = advertisedTxPower; +} // setPower + +void BLEEddystoneURL::setURL(std::string url) { + if (url.length() > sizeof(m_eddystoneData.url)) { + ESP_LOGE(LOG_TAG, "Unable to set the url ... length passed in was %d and max expected %d", url.length(), sizeof(m_eddystoneData.url)); + return; + } + memset(m_eddystoneData.url, 0, sizeof(m_eddystoneData.url)); + memcpy(m_eddystoneData.url, url.data(), url.length()); + lengthURL = url.length(); +} // setURL + + +#endif diff --git a/libraries/BLE/src/BLEEddystoneURL.h b/libraries/BLE/src/BLEEddystoneURL.h new file mode 100644 index 00000000..0b538c07 --- /dev/null +++ b/libraries/BLE/src/BLEEddystoneURL.h @@ -0,0 +1,43 @@ +/* + * BLEEddystoneURL.cpp + * + * Created on: Mar 12, 2018 + * Author: pcbreflux + */ + +#ifndef _BLEEddystoneURL_H_ +#define _BLEEddystoneURL_H_ +#include "BLEUUID.h" + +#define EDDYSTONE_URL_FRAME_TYPE 0x10 + +/** + * @brief Representation of a beacon. + * See: + * * https://github.com/google/eddystone + */ +class BLEEddystoneURL { +public: + BLEEddystoneURL(); + std::string getData(); + BLEUUID getUUID(); + int8_t getPower(); + std::string getURL(); + std::string getDecodedURL(); + void setData(std::string data); + void setUUID(BLEUUID l_uuid); + void setPower(int8_t advertisedTxPower); + void setURL(std::string url); + +private: + uint16_t beaconUUID; + uint8_t lengthURL; + struct { + uint8_t frameType; + int8_t advertisedTxPower; + uint8_t url[16]; + } __attribute__((packed)) m_eddystoneData; + +}; // BLEEddystoneURL + +#endif /* _BLEEddystoneURL_H_ */ diff --git a/libraries/BLE/src/BLEExceptions.cpp b/libraries/BLE/src/BLEExceptions.cpp new file mode 100644 index 00000000..b6adfd82 --- /dev/null +++ b/libraries/BLE/src/BLEExceptions.cpp @@ -0,0 +1,9 @@ +/* + * BLExceptions.cpp + * + * Created on: Nov 27, 2017 + * Author: kolban + */ + +#include "BLEExceptions.h" + diff --git a/libraries/BLE/src/BLEExceptions.h b/libraries/BLE/src/BLEExceptions.h new file mode 100644 index 00000000..ea9db855 --- /dev/null +++ b/libraries/BLE/src/BLEExceptions.h @@ -0,0 +1,31 @@ +/* + * BLExceptions.h + * + * Created on: Nov 27, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEEXCEPTIONS_H_ +#define COMPONENTS_CPP_UTILS_BLEEXCEPTIONS_H_ +#include "sdkconfig.h" + +#if CONFIG_CXX_EXCEPTIONS != 1 +#error "C++ exception handling must be enabled within make menuconfig. See Compiler Options > Enable C++ Exceptions." +#endif + +#include + + +class BLEDisconnectedException : public std::exception { + const char* what() const throw () { + return "BLE Disconnected"; + } +}; + +class BLEUuidNotFoundException : public std::exception { + const char* what() const throw () { + return "No such UUID"; + } +}; + +#endif /* COMPONENTS_CPP_UTILS_BLEEXCEPTIONS_H_ */ diff --git a/libraries/BLE/src/BLEHIDDevice.cpp b/libraries/BLE/src/BLEHIDDevice.cpp new file mode 100644 index 00000000..69e18be7 --- /dev/null +++ b/libraries/BLE/src/BLEHIDDevice.cpp @@ -0,0 +1,243 @@ +/* + * BLEHIDDevice.cpp + * + * Created on: Jan 03, 2018 + * Author: chegewara + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include "BLEHIDDevice.h" +#include "BLE2904.h" + + +BLEHIDDevice::BLEHIDDevice(BLEServer* server) { + /* + * Here we create mandatory services described in bluetooth specification + */ + m_deviceInfoService = server->createService(BLEUUID((uint16_t) 0x180a)); + m_hidService = server->createService(BLEUUID((uint16_t) 0x1812), 40); + m_batteryService = server->createService(BLEUUID((uint16_t) 0x180f)); + + /* + * Mandatory characteristic for device info service + */ + m_pnpCharacteristic = m_deviceInfoService->createCharacteristic((uint16_t) 0x2a50, BLECharacteristic::PROPERTY_READ); + + /* + * Mandatory characteristics for HID service + */ + m_hidInfoCharacteristic = m_hidService->createCharacteristic((uint16_t) 0x2a4a, BLECharacteristic::PROPERTY_READ); + m_reportMapCharacteristic = m_hidService->createCharacteristic((uint16_t) 0x2a4b, BLECharacteristic::PROPERTY_READ); + m_hidControlCharacteristic = m_hidService->createCharacteristic((uint16_t) 0x2a4c, BLECharacteristic::PROPERTY_WRITE_NR); + m_protocolModeCharacteristic = m_hidService->createCharacteristic((uint16_t) 0x2a4e, BLECharacteristic::PROPERTY_WRITE_NR | BLECharacteristic::PROPERTY_READ); + + /* + * Mandatory battery level characteristic with notification and presence descriptor + */ + BLE2904* batteryLevelDescriptor = new BLE2904(); + batteryLevelDescriptor->setFormat(BLE2904::FORMAT_UINT8); + batteryLevelDescriptor->setNamespace(1); + batteryLevelDescriptor->setUnit(0x27ad); + + m_batteryLevelCharacteristic = m_batteryService->createCharacteristic((uint16_t) 0x2a19, BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_NOTIFY); + m_batteryLevelCharacteristic->addDescriptor(batteryLevelDescriptor); + m_batteryLevelCharacteristic->addDescriptor(new BLE2902()); + + /* + * This value is setup here because its default value in most usage cases, its very rare to use boot mode + * and we want to simplify library using as much as possible + */ + const uint8_t pMode[] = { 0x01 }; + protocolMode()->setValue((uint8_t*) pMode, 1); +} + +BLEHIDDevice::~BLEHIDDevice() { +} + +/* + * @brief + */ +void BLEHIDDevice::reportMap(uint8_t* map, uint16_t size) { + m_reportMapCharacteristic->setValue(map, size); +} + +/* + * @brief This function suppose to be called at the end, when we have created all characteristics we need to build HID service + */ +void BLEHIDDevice::startServices() { + m_deviceInfoService->start(); + m_hidService->start(); + m_batteryService->start(); +} + +/* + * @brief Create manufacturer characteristic (this characteristic is optional) + */ +BLECharacteristic* BLEHIDDevice::manufacturer() { + m_manufacturerCharacteristic = m_deviceInfoService->createCharacteristic((uint16_t) 0x2a29, BLECharacteristic::PROPERTY_READ); + return m_manufacturerCharacteristic; +} + +/* + * @brief Set manufacturer name + * @param [in] name manufacturer name + */ +void BLEHIDDevice::manufacturer(std::string name) { + m_manufacturerCharacteristic->setValue(name); +} + +/* + * @brief + */ +void BLEHIDDevice::pnp(uint8_t sig, uint16_t vid, uint16_t pid, uint16_t version) { + uint8_t pnp[] = { sig, (uint8_t) (vid >> 8), (uint8_t) vid, (uint8_t) (pid >> 8), (uint8_t) pid, (uint8_t) (version >> 8), (uint8_t) version }; + m_pnpCharacteristic->setValue(pnp, sizeof(pnp)); +} + +/* + * @brief + */ +void BLEHIDDevice::hidInfo(uint8_t country, uint8_t flags) { + uint8_t info[] = { 0x11, 0x1, country, flags }; + m_hidInfoCharacteristic->setValue(info, sizeof(info)); +} + +/* + * @brief Create input report characteristic that need to be saved as new characteristic object so can be further used + * @param [in] reportID input report ID, the same as in report map for input object related to created characteristic + * @return pointer to new input report characteristic + */ +BLECharacteristic* BLEHIDDevice::inputReport(uint8_t reportID) { + BLECharacteristic* inputReportCharacteristic = m_hidService->createCharacteristic((uint16_t) 0x2a4d, BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_NOTIFY); + BLEDescriptor* inputReportDescriptor = new BLEDescriptor(BLEUUID((uint16_t) 0x2908)); + BLE2902* p2902 = new BLE2902(); + inputReportCharacteristic->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED); + inputReportDescriptor->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED); + p2902->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED); + + uint8_t desc1_val[] = { reportID, 0x01 }; + inputReportDescriptor->setValue((uint8_t*) desc1_val, 2); + inputReportCharacteristic->addDescriptor(p2902); + inputReportCharacteristic->addDescriptor(inputReportDescriptor); + + return inputReportCharacteristic; +} + +/* + * @brief Create output report characteristic that need to be saved as new characteristic object so can be further used + * @param [in] reportID Output report ID, the same as in report map for output object related to created characteristic + * @return Pointer to new output report characteristic + */ +BLECharacteristic* BLEHIDDevice::outputReport(uint8_t reportID) { + BLECharacteristic* outputReportCharacteristic = m_hidService->createCharacteristic((uint16_t) 0x2a4d, BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_WRITE | BLECharacteristic::PROPERTY_WRITE_NR); + BLEDescriptor* outputReportDescriptor = new BLEDescriptor(BLEUUID((uint16_t) 0x2908)); + outputReportCharacteristic->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED); + outputReportDescriptor->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED); + + uint8_t desc1_val[] = { reportID, 0x02 }; + outputReportDescriptor->setValue((uint8_t*) desc1_val, 2); + outputReportCharacteristic->addDescriptor(outputReportDescriptor); + + return outputReportCharacteristic; +} + +/* + * @brief Create feature report characteristic that need to be saved as new characteristic object so can be further used + * @param [in] reportID Feature report ID, the same as in report map for feature object related to created characteristic + * @return Pointer to new feature report characteristic + */ +BLECharacteristic* BLEHIDDevice::featureReport(uint8_t reportID) { + BLECharacteristic* featureReportCharacteristic = m_hidService->createCharacteristic((uint16_t) 0x2a4d, BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_WRITE); + BLEDescriptor* featureReportDescriptor = new BLEDescriptor(BLEUUID((uint16_t) 0x2908)); + + featureReportCharacteristic->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED); + featureReportDescriptor->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED); + + uint8_t desc1_val[] = { reportID, 0x03 }; + featureReportDescriptor->setValue((uint8_t*) desc1_val, 2); + featureReportCharacteristic->addDescriptor(featureReportDescriptor); + + return featureReportCharacteristic; +} + +/* + * @brief + */ +BLECharacteristic* BLEHIDDevice::bootInput() { + BLECharacteristic* bootInputCharacteristic = m_hidService->createCharacteristic((uint16_t) 0x2a22, BLECharacteristic::PROPERTY_NOTIFY); + bootInputCharacteristic->addDescriptor(new BLE2902()); + + return bootInputCharacteristic; +} + +/* + * @brief + */ +BLECharacteristic* BLEHIDDevice::bootOutput() { + return m_hidService->createCharacteristic((uint16_t) 0x2a32, BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_WRITE | BLECharacteristic::PROPERTY_WRITE_NR); +} + +/* + * @brief + */ +BLECharacteristic* BLEHIDDevice::hidControl() { + return m_hidControlCharacteristic; +} + +/* + * @brief + */ +BLECharacteristic* BLEHIDDevice::protocolMode() { + return m_protocolModeCharacteristic; +} + +void BLEHIDDevice::setBatteryLevel(uint8_t level) { + m_batteryLevelCharacteristic->setValue(&level, 1); +} +/* + * @brief Returns battery level characteristic + * @ return battery level characteristic + *//* +BLECharacteristic* BLEHIDDevice::batteryLevel() { + return m_batteryLevelCharacteristic; +} + + + +BLECharacteristic* BLEHIDDevice::reportMap() { + return m_reportMapCharacteristic; +} + +BLECharacteristic* BLEHIDDevice::pnp() { + return m_pnpCharacteristic; +} + + +BLECharacteristic* BLEHIDDevice::hidInfo() { + return m_hidInfoCharacteristic; +} +*/ +/* + * @brief + */ +BLEService* BLEHIDDevice::deviceInfo() { + return m_deviceInfoService; +} + +/* + * @brief + */ +BLEService* BLEHIDDevice::hidService() { + return m_hidService; +} + +/* + * @brief + */ +BLEService* BLEHIDDevice::batteryService() { + return m_batteryService; +} + +#endif // CONFIG_BT_ENABLED + diff --git a/libraries/BLE/src/BLEHIDDevice.h b/libraries/BLE/src/BLEHIDDevice.h new file mode 100644 index 00000000..33e6b46c --- /dev/null +++ b/libraries/BLE/src/BLEHIDDevice.h @@ -0,0 +1,75 @@ +/* + * BLEHIDDevice.h + * + * Created on: Jan 03, 2018 + * Author: chegewara + */ + +#ifndef _BLEHIDDEVICE_H_ +#define _BLEHIDDEVICE_H_ + +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include "BLECharacteristic.h" +#include "BLEService.h" +#include "BLEDescriptor.h" +#include "BLE2902.h" +#include "HIDTypes.h" + +#define GENERIC_HID 0x03C0 +#define HID_KEYBOARD 0x03C1 +#define HID_MOUSE 0x03C2 +#define HID_JOYSTICK 0x03C3 +#define HID_GAMEPAD 0x03C4 +#define HID_TABLET 0x03C5 +#define HID_CARD_READER 0x03C6 +#define HID_DIGITAL_PEN 0x03C7 +#define HID_BARCODE 0x03C8 + +class BLEHIDDevice { +public: + BLEHIDDevice(BLEServer*); + virtual ~BLEHIDDevice(); + + void reportMap(uint8_t* map, uint16_t); + void startServices(); + + BLEService* deviceInfo(); + BLEService* hidService(); + BLEService* batteryService(); + + BLECharacteristic* manufacturer(); + void manufacturer(std::string name); + //BLECharacteristic* pnp(); + void pnp(uint8_t sig, uint16_t vid, uint16_t pid, uint16_t version); + //BLECharacteristic* hidInfo(); + void hidInfo(uint8_t country, uint8_t flags); + //BLECharacteristic* batteryLevel(); + void setBatteryLevel(uint8_t level); + + + //BLECharacteristic* reportMap(); + BLECharacteristic* hidControl(); + BLECharacteristic* inputReport(uint8_t reportID); + BLECharacteristic* outputReport(uint8_t reportID); + BLECharacteristic* featureReport(uint8_t reportID); + BLECharacteristic* protocolMode(); + BLECharacteristic* bootInput(); + BLECharacteristic* bootOutput(); + +private: + BLEService* m_deviceInfoService; //0x180a + BLEService* m_hidService; //0x1812 + BLEService* m_batteryService = 0; //0x180f + + BLECharacteristic* m_manufacturerCharacteristic; //0x2a29 + BLECharacteristic* m_pnpCharacteristic; //0x2a50 + BLECharacteristic* m_hidInfoCharacteristic; //0x2a4a + BLECharacteristic* m_reportMapCharacteristic; //0x2a4b + BLECharacteristic* m_hidControlCharacteristic; //0x2a4c + BLECharacteristic* m_protocolModeCharacteristic; //0x2a4e + BLECharacteristic* m_batteryLevelCharacteristic; //0x2a19 +}; +#endif // CONFIG_BT_ENABLED +#endif /* _BLEHIDDEVICE_H_ */ diff --git a/libraries/BLE/src/BLERemoteCharacteristic.cpp b/libraries/BLE/src/BLERemoteCharacteristic.cpp new file mode 100644 index 00000000..b6d36d88 --- /dev/null +++ b/libraries/BLE/src/BLERemoteCharacteristic.cpp @@ -0,0 +1,588 @@ +/* + * BLERemoteCharacteristic.cpp + * + * Created on: Jul 8, 2017 + * Author: kolban + */ + +#include "BLERemoteCharacteristic.h" + +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include +#include + +#include +#include "BLEExceptions.h" +#include "BLEUtils.h" +#include "GeneralUtils.h" +#include "BLERemoteDescriptor.h" +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLERemoteCharacteristic"; // The logging tag for this class. +#endif + + + +/** + * @brief Constructor. + * @param [in] handle The BLE server side handle of this characteristic. + * @param [in] uuid The UUID of this characteristic. + * @param [in] charProp The properties of this characteristic. + * @param [in] pRemoteService A reference to the remote service to which this remote characteristic pertains. + */ +BLERemoteCharacteristic::BLERemoteCharacteristic( + uint16_t handle, + BLEUUID uuid, + esp_gatt_char_prop_t charProp, + BLERemoteService* pRemoteService) { + ESP_LOGD(LOG_TAG, ">> BLERemoteCharacteristic: handle: %d 0x%d, uuid: %s", handle, handle, uuid.toString().c_str()); + m_handle = handle; + m_uuid = uuid; + m_charProp = charProp; + m_pRemoteService = pRemoteService; + m_notifyCallback = nullptr; + + retrieveDescriptors(); // Get the descriptors for this characteristic + ESP_LOGD(LOG_TAG, "<< BLERemoteCharacteristic"); +} // BLERemoteCharacteristic + + +/** + *@brief Destructor. + */ +BLERemoteCharacteristic::~BLERemoteCharacteristic() { + removeDescriptors(); // Release resources for any descriptor information we may have allocated. +} // ~BLERemoteCharacteristic + + +/** + * @brief Does the characteristic support broadcasting? + * @return True if the characteristic supports broadcasting. + */ +bool BLERemoteCharacteristic::canBroadcast() { + return (m_charProp & ESP_GATT_CHAR_PROP_BIT_BROADCAST) != 0; +} // canBroadcast + + +/** + * @brief Does the characteristic support indications? + * @return True if the characteristic supports indications. + */ +bool BLERemoteCharacteristic::canIndicate() { + return (m_charProp & ESP_GATT_CHAR_PROP_BIT_INDICATE) != 0; +} // canIndicate + + +/** + * @brief Does the characteristic support notifications? + * @return True if the characteristic supports notifications. + */ +bool BLERemoteCharacteristic::canNotify() { + return (m_charProp & ESP_GATT_CHAR_PROP_BIT_NOTIFY) != 0; +} // canNotify + + +/** + * @brief Does the characteristic support reading? + * @return True if the characteristic supports reading. + */ +bool BLERemoteCharacteristic::canRead() { + return (m_charProp & ESP_GATT_CHAR_PROP_BIT_READ) != 0; +} // canRead + + +/** + * @brief Does the characteristic support writing? + * @return True if the characteristic supports writing. + */ +bool BLERemoteCharacteristic::canWrite() { + return (m_charProp & ESP_GATT_CHAR_PROP_BIT_WRITE) != 0; +} // canWrite + + +/** + * @brief Does the characteristic support writing with no response? + * @return True if the characteristic supports writing with no response. + */ +bool BLERemoteCharacteristic::canWriteNoResponse() { + return (m_charProp & ESP_GATT_CHAR_PROP_BIT_WRITE_NR) != 0; +} // canWriteNoResponse + + +/* +static bool compareSrvcId(esp_gatt_srvc_id_t id1, esp_gatt_srvc_id_t id2) { + if (id1.id.inst_id != id2.id.inst_id) { + return false; + } + if (!BLEUUID(id1.id.uuid).equals(BLEUUID(id2.id.uuid))) { + return false; + } + return true; +} // compareSrvcId +*/ + +/* +static bool compareGattId(esp_gatt_id_t id1, esp_gatt_id_t id2) { + if (id1.inst_id != id2.inst_id) { + return false; + } + if (!BLEUUID(id1.uuid).equals(BLEUUID(id2.uuid))) { + return false; + } + return true; +} // compareCharId +*/ + + +/** + * @brief Handle GATT Client events. + * When an event arrives for a GATT client we give this characteristic the opportunity to + * take a look at it to see if there is interest in it. + * @param [in] event The type of event. + * @param [in] gattc_if The interface on which the event was received. + * @param [in] evtParam Payload data for the event. + * @returns N/A + */ +void BLERemoteCharacteristic::gattClientEventHandler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gattc_cb_param_t* evtParam) { + switch(event) { + // ESP_GATTC_NOTIFY_EVT + // + // notify + // - uint16_t conn_id - The connection identifier of the server. + // - esp_bd_addr_t remote_bda - The device address of the BLE server. + // - uint16_t handle - The handle of the characteristic for which the event is being received. + // - uint16_t value_len - The length of the received data. + // - uint8_t* value - The received data. + // - bool is_notify - True if this is a notify, false if it is an indicate. + // + // We have received a notification event which means that the server wishes us to know about a notification + // piece of data. What we must now do is find the characteristic with the associated handle and then + // invoke its notification callback (if it has one). + case ESP_GATTC_NOTIFY_EVT: { + if (evtParam->notify.handle != getHandle()) break; + if (m_notifyCallback != nullptr) { + ESP_LOGD(LOG_TAG, "Invoking callback for notification on characteristic %s", toString().c_str()); + m_notifyCallback(this, evtParam->notify.value, evtParam->notify.value_len, evtParam->notify.is_notify); + } // End we have a callback function ... + break; + } // ESP_GATTC_NOTIFY_EVT + + // ESP_GATTC_READ_CHAR_EVT + // This event indicates that the server has responded to the read request. + // + // read: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - uint16_t handle + // - uint8_t* value + // - uint16_t value_len + case ESP_GATTC_READ_CHAR_EVT: { + // If this event is not for us, then nothing further to do. + if (evtParam->read.handle != getHandle()) break; + + // At this point, we have determined that the event is for us, so now we save the value + // and unlock the semaphore to ensure that the requestor of the data can continue. + if (evtParam->read.status == ESP_GATT_OK) { + m_value = std::string((char*) evtParam->read.value, evtParam->read.value_len); + if(m_rawData != nullptr) free(m_rawData); + m_rawData = (uint8_t*) calloc(evtParam->read.value_len, sizeof(uint8_t)); + memcpy(m_rawData, evtParam->read.value, evtParam->read.value_len); + } else { + m_value = ""; + } + + m_semaphoreReadCharEvt.give(); + break; + } // ESP_GATTC_READ_CHAR_EVT + + // ESP_GATTC_REG_FOR_NOTIFY_EVT + // + // reg_for_notify: + // - esp_gatt_status_t status + // - uint16_t handle + case ESP_GATTC_REG_FOR_NOTIFY_EVT: { + // If the request is not for this BLERemoteCharacteristic then move on to the next. + if (evtParam->reg_for_notify.handle != getHandle()) break; + + // We have processed the notify registration and can unlock the semaphore. + m_semaphoreRegForNotifyEvt.give(); + break; + } // ESP_GATTC_REG_FOR_NOTIFY_EVT + + // ESP_GATTC_UNREG_FOR_NOTIFY_EVT + // + // unreg_for_notify: + // - esp_gatt_status_t status + // - uint16_t handle + case ESP_GATTC_UNREG_FOR_NOTIFY_EVT: { + if (evtParam->unreg_for_notify.handle != getHandle()) break; + // We have processed the notify un-registration and can unlock the semaphore. + m_semaphoreRegForNotifyEvt.give(); + break; + } // ESP_GATTC_UNREG_FOR_NOTIFY_EVT: + + // ESP_GATTC_WRITE_CHAR_EVT + // + // write: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - uint16_t handle + case ESP_GATTC_WRITE_CHAR_EVT: { + // Determine if this event is for us and, if not, pass onwards. + if (evtParam->write.handle != getHandle()) break; + + // There is nothing further we need to do here. This is merely an indication + // that the write has completed and we can unlock the caller. + m_semaphoreWriteCharEvt.give(); + break; + } // ESP_GATTC_WRITE_CHAR_EVT + + + default: + break; + } // End switch +}; // gattClientEventHandler + + +/** + * @brief Populate the descriptors (if any) for this characteristic. + */ +void BLERemoteCharacteristic::retrieveDescriptors() { + ESP_LOGD(LOG_TAG, ">> retrieveDescriptors() for characteristic: %s", getUUID().toString().c_str()); + + removeDescriptors(); // Remove any existing descriptors. + + // Loop over each of the descriptors within the service associated with this characteristic. + // For each descriptor we find, create a BLERemoteDescriptor instance. + uint16_t offset = 0; + esp_gattc_descr_elem_t result; + while(true) { + uint16_t count = 10; + esp_gatt_status_t status = ::esp_ble_gattc_get_all_descr( + getRemoteService()->getClient()->getGattcIf(), + getRemoteService()->getClient()->getConnId(), + getHandle(), + &result, + &count, + offset + ); + + if (status == ESP_GATT_INVALID_OFFSET) { // We have reached the end of the entries. + break; + } + + if (status != ESP_GATT_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_get_all_descr: %s", BLEUtils::gattStatusToString(status).c_str()); + break; + } + + if (count == 0) break; + + ESP_LOGD(LOG_TAG, "Found a descriptor: Handle: %d, UUID: %s", result.handle, BLEUUID(result.uuid).toString().c_str()); + + // We now have a new characteristic ... let us add that to our set of known characteristics + BLERemoteDescriptor* pNewRemoteDescriptor = new BLERemoteDescriptor( + result.handle, + BLEUUID(result.uuid), + this + ); + + m_descriptorMap.insert(std::pair(pNewRemoteDescriptor->getUUID().toString(), pNewRemoteDescriptor)); + + offset++; + } // while true + //m_haveCharacteristics = true; // Remember that we have received the characteristics. + ESP_LOGD(LOG_TAG, "<< retrieveDescriptors(): Found %d descriptors.", offset); +} // getDescriptors + + +/** + * @brief Retrieve the map of descriptors keyed by UUID. + */ +std::map* BLERemoteCharacteristic::getDescriptors() { + return &m_descriptorMap; +} // getDescriptors + + +/** + * @brief Get the handle for this characteristic. + * @return The handle for this characteristic. + */ +uint16_t BLERemoteCharacteristic::getHandle() { + //ESP_LOGD(LOG_TAG, ">> getHandle: Characteristic: %s", getUUID().toString().c_str()); + //ESP_LOGD(LOG_TAG, "<< getHandle: %d 0x%.2x", m_handle, m_handle); + return m_handle; +} // getHandle + + +/** + * @brief Get the descriptor instance with the given UUID that belongs to this characteristic. + * @param [in] uuid The UUID of the descriptor to find. + * @return The Remote descriptor (if present) or null if not present. + */ +BLERemoteDescriptor* BLERemoteCharacteristic::getDescriptor(BLEUUID uuid) { + ESP_LOGD(LOG_TAG, ">> getDescriptor: uuid: %s", uuid.toString().c_str()); + std::string v = uuid.toString(); + for (auto &myPair : m_descriptorMap) { + if (myPair.first == v) { + ESP_LOGD(LOG_TAG, "<< getDescriptor: found"); + return myPair.second; + } + } + ESP_LOGD(LOG_TAG, "<< getDescriptor: Not found"); + return nullptr; +} // getDescriptor + + +/** + * @brief Get the remote service associated with this characteristic. + * @return The remote service associated with this characteristic. + */ +BLERemoteService* BLERemoteCharacteristic::getRemoteService() { + return m_pRemoteService; +} // getRemoteService + + +/** + * @brief Get the UUID for this characteristic. + * @return The UUID for this characteristic. + */ +BLEUUID BLERemoteCharacteristic::getUUID() { + return m_uuid; +} // getUUID + + +/** + * @brief Read an unsigned 16 bit value + * @return The unsigned 16 bit value. + */ +uint16_t BLERemoteCharacteristic::readUInt16() { + std::string value = readValue(); + if (value.length() >= 2) { + return *(uint16_t*)(value.data()); + } + return 0; +} // readUInt16 + + +/** + * @brief Read an unsigned 32 bit value. + * @return the unsigned 32 bit value. + */ +uint32_t BLERemoteCharacteristic::readUInt32() { + std::string value = readValue(); + if (value.length() >= 4) { + return *(uint32_t*)(value.data()); + } + return 0; +} // readUInt32 + + +/** + * @brief Read a byte value + * @return The value as a byte + */ +uint8_t BLERemoteCharacteristic::readUInt8() { + std::string value = readValue(); + if (value.length() >= 1) { + return (uint8_t)value[0]; + } + return 0; +} // readUInt8 + + +/** + * @brief Read the value of the remote characteristic. + * @return The value of the remote characteristic. + */ +std::string BLERemoteCharacteristic::readValue() { + ESP_LOGD(LOG_TAG, ">> readValue(): uuid: %s, handle: %d 0x%.2x", getUUID().toString().c_str(), getHandle(), getHandle()); + + // Check to see that we are connected. + if (!getRemoteService()->getClient()->isConnected()) { + ESP_LOGE(LOG_TAG, "Disconnected"); + throw BLEDisconnectedException(); + } + + m_semaphoreReadCharEvt.take("readValue"); + + // Ask the BLE subsystem to retrieve the value for the remote hosted characteristic. + // This is an asynchronous request which means that we must block waiting for the response + // to become available. + esp_err_t errRc = ::esp_ble_gattc_read_char( + m_pRemoteService->getClient()->getGattcIf(), + m_pRemoteService->getClient()->getConnId(), // The connection ID to the BLE server + getHandle(), // The handle of this characteristic + ESP_GATT_AUTH_REQ_NONE); // Security + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_read_char: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return ""; + } + + // Block waiting for the event that indicates that the read has completed. When it has, the std::string found + // in m_value will contain our data. + m_semaphoreReadCharEvt.wait("readValue"); + + ESP_LOGD(LOG_TAG, "<< readValue(): length: %d", m_value.length()); + return m_value; +} // readValue + + +/** + * @brief Register for notifications. + * @param [in] notifyCallback A callback to be invoked for a notification. If NULL is provided then we are + * unregistering a notification. + * @return N/A. + */ +void BLERemoteCharacteristic::registerForNotify(notify_callback notifyCallback, bool notifications) { + ESP_LOGD(LOG_TAG, ">> registerForNotify(): %s", toString().c_str()); + + m_notifyCallback = notifyCallback; // Save the notification callback. + + m_semaphoreRegForNotifyEvt.take("registerForNotify"); + + if (notifyCallback != nullptr) { // If we have a callback function, then this is a registration. + esp_err_t errRc = ::esp_ble_gattc_register_for_notify( + m_pRemoteService->getClient()->getGattcIf(), + *m_pRemoteService->getClient()->getPeerAddress().getNative(), + getHandle() + ); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_register_for_notify: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + + uint8_t val[] = {0x01, 0x00}; + if(!notifications) val[0] = 0x02; + BLERemoteDescriptor* desc = getDescriptor(BLEUUID((uint16_t)0x2902)); + desc->writeValue(val, 2); + } // End Register + else { // If we weren't passed a callback function, then this is an unregistration. + esp_err_t errRc = ::esp_ble_gattc_unregister_for_notify( + m_pRemoteService->getClient()->getGattcIf(), + *m_pRemoteService->getClient()->getPeerAddress().getNative(), + getHandle() + ); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_unregister_for_notify: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + + uint8_t val[] = {0x00, 0x00}; + BLERemoteDescriptor* desc = getDescriptor((uint16_t)0x2902); + desc->writeValue(val, 2); + } // End Unregister + + m_semaphoreRegForNotifyEvt.wait("registerForNotify"); + + ESP_LOGD(LOG_TAG, "<< registerForNotify()"); +} // registerForNotify + + +/** + * @brief Delete the descriptors in the descriptor map. + * We maintain a map called m_descriptorMap that contains pointers to BLERemoteDescriptors + * object references. Since we allocated these in this class, we are also responsible for deleteing + * them. This method does just that. + * @return N/A. + */ +void BLERemoteCharacteristic::removeDescriptors() { + // Iterate through all the descriptors releasing their storage and erasing them from the map. + for (auto &myPair : m_descriptorMap) { + m_descriptorMap.erase(myPair.first); + delete myPair.second; + } + m_descriptorMap.clear(); // Technically not neeeded, but just to be sure. +} // removeCharacteristics + + +/** + * @brief Convert a BLERemoteCharacteristic to a string representation; + * @return a String representation. + */ +std::string BLERemoteCharacteristic::toString() { + std::ostringstream ss; + ss << "Characteristic: uuid: " << m_uuid.toString() << + ", handle: " << getHandle() << " 0x" << std::hex << getHandle() << + ", props: " << BLEUtils::characteristicPropertiesToString(m_charProp); + return ss.str(); +} // toString + + +/** + * @brief Write the new value for the characteristic. + * @param [in] newValue The new value to write. + * @param [in] response Do we expect a response? + * @return N/A. + */ +void BLERemoteCharacteristic::writeValue(std::string newValue, bool response) { + writeValue((uint8_t*)newValue.c_str(), strlen(newValue.c_str()), response); +} // writeValue + + +/** + * @brief Write the new value for the characteristic. + * + * This is a convenience function. Many BLE characteristics are a single byte of data. + * @param [in] newValue The new byte value to write. + * @param [in] response Whether we require a response from the write. + * @return N/A. + */ +void BLERemoteCharacteristic::writeValue(uint8_t newValue, bool response) { + writeValue(&newValue, 1, response); +} // writeValue + + +/** + * @brief Write the new value for the characteristic from a data buffer. + * @param [in] data A pointer to a data buffer. + * @param [in] length The length of the data in the data buffer. + * @param [in] response Whether we require a response from the write. + */ +void BLERemoteCharacteristic::writeValue(uint8_t* data, size_t length, bool response) { + // writeValue(std::string((char*)data, length), response); + ESP_LOGD(LOG_TAG, ">> writeValue(), length: %d", length); + + // Check to see that we are connected. + if (!getRemoteService()->getClient()->isConnected()) { + ESP_LOGE(LOG_TAG, "Disconnected"); + throw BLEDisconnectedException(); + } + + m_semaphoreWriteCharEvt.take("writeValue"); + // Invoke the ESP-IDF API to perform the write. + esp_err_t errRc = ::esp_ble_gattc_write_char( + m_pRemoteService->getClient()->getGattcIf(), + m_pRemoteService->getClient()->getConnId(), + getHandle(), + length, + data, + response?ESP_GATT_WRITE_TYPE_RSP:ESP_GATT_WRITE_TYPE_NO_RSP, + ESP_GATT_AUTH_REQ_NONE + ); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_write_char: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + m_semaphoreWriteCharEvt.wait("writeValue"); + + ESP_LOGD(LOG_TAG, "<< writeValue"); +} // writeValue + +/** + * @brief Read raw data from remote characteristic as hex bytes + * @return return pointer data read + */ +uint8_t* BLERemoteCharacteristic::readRawData() { + return m_rawData; +} + +#endif /* CONFIG_BT_ENABLED */ diff --git a/libraries/BLE/src/BLERemoteCharacteristic.h b/libraries/BLE/src/BLERemoteCharacteristic.h new file mode 100644 index 00000000..fbcafe8d --- /dev/null +++ b/libraries/BLE/src/BLERemoteCharacteristic.h @@ -0,0 +1,84 @@ +/* + * BLERemoteCharacteristic.h + * + * Created on: Jul 8, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEREMOTECHARACTERISTIC_H_ +#define COMPONENTS_CPP_UTILS_BLEREMOTECHARACTERISTIC_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include + +#include + +#include "BLERemoteService.h" +#include "BLERemoteDescriptor.h" +#include "BLEUUID.h" +#include "FreeRTOS.h" + +class BLERemoteService; +class BLERemoteDescriptor; +typedef void (*notify_callback)(BLERemoteCharacteristic* pBLERemoteCharacteristic, uint8_t* pData, size_t length, bool isNotify); + +/** + * @brief A model of a remote %BLE characteristic. + */ +class BLERemoteCharacteristic { +public: + ~BLERemoteCharacteristic(); + + // Public member functions + bool canBroadcast(); + bool canIndicate(); + bool canNotify(); + bool canRead(); + bool canWrite(); + bool canWriteNoResponse(); + BLERemoteDescriptor* getDescriptor(BLEUUID uuid); + std::map* getDescriptors(); + uint16_t getHandle(); + BLEUUID getUUID(); + std::string readValue(); + uint8_t readUInt8(); + uint16_t readUInt16(); + uint32_t readUInt32(); + void registerForNotify(notify_callback _callback, bool notifications = true); + void writeValue(uint8_t* data, size_t length, bool response = false); + void writeValue(std::string newValue, bool response = false); + void writeValue(uint8_t newValue, bool response = false); + std::string toString(); + uint8_t* readRawData(); + +private: + BLERemoteCharacteristic(uint16_t handle, BLEUUID uuid, esp_gatt_char_prop_t charProp, BLERemoteService* pRemoteService); + friend class BLEClient; + friend class BLERemoteService; + friend class BLERemoteDescriptor; + + // Private member functions + void gattClientEventHandler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gattc_cb_param_t* evtParam); + + BLERemoteService* getRemoteService(); + void removeDescriptors(); + void retrieveDescriptors(); + + // Private properties + BLEUUID m_uuid; + esp_gatt_char_prop_t m_charProp; + uint16_t m_handle; + BLERemoteService* m_pRemoteService; + FreeRTOS::Semaphore m_semaphoreReadCharEvt = FreeRTOS::Semaphore("ReadCharEvt"); + FreeRTOS::Semaphore m_semaphoreRegForNotifyEvt = FreeRTOS::Semaphore("RegForNotifyEvt"); + FreeRTOS::Semaphore m_semaphoreWriteCharEvt = FreeRTOS::Semaphore("WriteCharEvt"); + std::string m_value; + uint8_t *m_rawData; + notify_callback m_notifyCallback; + + // We maintain a map of descriptors owned by this characteristic keyed by a string representation of the UUID. + std::map m_descriptorMap; +}; // BLERemoteCharacteristic +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEREMOTECHARACTERISTIC_H_ */ diff --git a/libraries/BLE/src/BLERemoteDescriptor.cpp b/libraries/BLE/src/BLERemoteDescriptor.cpp new file mode 100644 index 00000000..96a8a577 --- /dev/null +++ b/libraries/BLE/src/BLERemoteDescriptor.cpp @@ -0,0 +1,181 @@ +/* + * BLERemoteDescriptor.cpp + * + * Created on: Jul 8, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include "BLERemoteDescriptor.h" +#include "GeneralUtils.h" +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLERemoteDescriptor"; +#endif + + + + +BLERemoteDescriptor::BLERemoteDescriptor( + uint16_t handle, + BLEUUID uuid, + BLERemoteCharacteristic* pRemoteCharacteristic) { + + m_handle = handle; + m_uuid = uuid; + m_pRemoteCharacteristic = pRemoteCharacteristic; +} + + +/** + * @brief Retrieve the handle associated with this remote descriptor. + * @return The handle associated with this remote descriptor. + */ +uint16_t BLERemoteDescriptor::getHandle() { + return m_handle; +} // getHandle + + +/** + * @brief Get the characteristic that owns this descriptor. + * @return The characteristic that owns this descriptor. + */ +BLERemoteCharacteristic* BLERemoteDescriptor::getRemoteCharacteristic() { + return m_pRemoteCharacteristic; +} // getRemoteCharacteristic + + +/** + * @brief Retrieve the UUID associated this remote descriptor. + * @return The UUID associated this remote descriptor. + */ +BLEUUID BLERemoteDescriptor::getUUID() { + return m_uuid; +} // getUUID + + +std::string BLERemoteDescriptor::readValue() { + ESP_LOGD(LOG_TAG, ">> readValue: %s", toString().c_str()); + + // Check to see that we are connected. + if (!getRemoteCharacteristic()->getRemoteService()->getClient()->isConnected()) { + ESP_LOGE(LOG_TAG, "Disconnected"); + throw BLEDisconnectedException(); + } + + m_semaphoreReadDescrEvt.take("readValue"); + + // Ask the BLE subsystem to retrieve the value for the remote hosted characteristic. + esp_err_t errRc = ::esp_ble_gattc_read_char_descr( + m_pRemoteCharacteristic->getRemoteService()->getClient()->getGattcIf(), + m_pRemoteCharacteristic->getRemoteService()->getClient()->getConnId(), // The connection ID to the BLE server + getHandle(), // The handle of this characteristic + ESP_GATT_AUTH_REQ_NONE); // Security + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_read_char: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return ""; + } + + // Block waiting for the event that indicates that the read has completed. When it has, the std::string found + // in m_value will contain our data. + m_semaphoreReadDescrEvt.wait("readValue"); + + ESP_LOGD(LOG_TAG, "<< readValue(): length: %d", m_value.length()); + return m_value; +} // readValue + + +uint8_t BLERemoteDescriptor::readUInt8() { + std::string value = readValue(); + if (value.length() >= 1) { + return (uint8_t) value[0]; + } + return 0; +} // readUInt8 + + +uint16_t BLERemoteDescriptor::readUInt16() { + std::string value = readValue(); + if (value.length() >= 2) { + return *(uint16_t*) value.data(); + } + return 0; +} // readUInt16 + + +uint32_t BLERemoteDescriptor::readUInt32() { + std::string value = readValue(); + if (value.length() >= 4) { + return *(uint32_t*) value.data(); + } + return 0; +} // readUInt32 + + +/** + * @brief Return a string representation of this BLE Remote Descriptor. + * @retun A string representation of this BLE Remote Descriptor. + */ +std::string BLERemoteDescriptor::toString() { + std::stringstream ss; + ss << "handle: " << getHandle() << ", uuid: " << getUUID().toString(); + return ss.str(); +} // toString + + +/** + * @brief Write data to the BLE Remote Descriptor. + * @param [in] data The data to send to the remote descriptor. + * @param [in] length The length of the data to send. + * @param [in] response True if we expect a response. + */ +void BLERemoteDescriptor::writeValue(uint8_t* data, size_t length, bool response) { + ESP_LOGD(LOG_TAG, ">> writeValue: %s", toString().c_str()); + // Check to see that we are connected. + if (!getRemoteCharacteristic()->getRemoteService()->getClient()->isConnected()) { + ESP_LOGE(LOG_TAG, "Disconnected"); + throw BLEDisconnectedException(); + } + + esp_err_t errRc = ::esp_ble_gattc_write_char_descr( + m_pRemoteCharacteristic->getRemoteService()->getClient()->getGattcIf(), + m_pRemoteCharacteristic->getRemoteService()->getClient()->getConnId(), + getHandle(), + length, // Data length + data, // Data + response ? ESP_GATT_WRITE_TYPE_RSP : ESP_GATT_WRITE_TYPE_NO_RSP, + ESP_GATT_AUTH_REQ_NONE + ); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_write_char_descr: %d", errRc); + } + ESP_LOGD(LOG_TAG, "<< writeValue"); +} // writeValue + + +/** + * @brief Write data represented as a string to the BLE Remote Descriptor. + * @param [in] newValue The data to send to the remote descriptor. + * @param [in] response True if we expect a response. + */ +void BLERemoteDescriptor::writeValue(std::string newValue, bool response) { + writeValue((uint8_t*) newValue.data(), newValue.length(), response); +} // writeValue + + +/** + * @brief Write a byte value to the Descriptor. + * @param [in] The single byte to write. + * @param [in] True if we expect a response. + */ +void BLERemoteDescriptor::writeValue(uint8_t newValue, bool response) { + writeValue(&newValue, 1, response); +} // writeValue + + +#endif /* CONFIG_BT_ENABLED */ diff --git a/libraries/BLE/src/BLERemoteDescriptor.h b/libraries/BLE/src/BLERemoteDescriptor.h new file mode 100644 index 00000000..7bbc48f1 --- /dev/null +++ b/libraries/BLE/src/BLERemoteDescriptor.h @@ -0,0 +1,55 @@ +/* + * BLERemoteDescriptor.h + * + * Created on: Jul 8, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEREMOTEDESCRIPTOR_H_ +#define COMPONENTS_CPP_UTILS_BLEREMOTEDESCRIPTOR_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include + +#include + +#include "BLERemoteCharacteristic.h" +#include "BLEUUID.h" +#include "FreeRTOS.h" + +class BLERemoteCharacteristic; +/** + * @brief A model of remote %BLE descriptor. + */ +class BLERemoteDescriptor { +public: + uint16_t getHandle(); + BLERemoteCharacteristic* getRemoteCharacteristic(); + BLEUUID getUUID(); + std::string readValue(void); + uint8_t readUInt8(void); + uint16_t readUInt16(void); + uint32_t readUInt32(void); + std::string toString(void); + void writeValue(uint8_t* data, size_t length, bool response = false); + void writeValue(std::string newValue, bool response = false); + void writeValue(uint8_t newValue, bool response = false); + + +private: + friend class BLERemoteCharacteristic; + BLERemoteDescriptor( + uint16_t handle, + BLEUUID uuid, + BLERemoteCharacteristic* pRemoteCharacteristic + ); + uint16_t m_handle; // Server handle of this descriptor. + BLEUUID m_uuid; // UUID of this descriptor. + std::string m_value; // Last received value of the descriptor. + BLERemoteCharacteristic* m_pRemoteCharacteristic; // Reference to the Remote characteristic of which this descriptor is associated. + FreeRTOS::Semaphore m_semaphoreReadDescrEvt = FreeRTOS::Semaphore("ReadDescrEvt"); + + +}; +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEREMOTEDESCRIPTOR_H_ */ diff --git a/libraries/BLE/src/BLERemoteService.cpp b/libraries/BLE/src/BLERemoteService.cpp new file mode 100644 index 00000000..c2b7d344 --- /dev/null +++ b/libraries/BLE/src/BLERemoteService.cpp @@ -0,0 +1,340 @@ +/* + * BLERemoteService.cpp + * + * Created on: Jul 8, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include +#include "BLERemoteService.h" +#include "BLEUtils.h" +#include "GeneralUtils.h" +#include +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLERemoteService"; +#endif + + + +BLERemoteService::BLERemoteService( + esp_gatt_id_t srvcId, + BLEClient* pClient, + uint16_t startHandle, + uint16_t endHandle + ) { + + ESP_LOGD(LOG_TAG, ">> BLERemoteService()"); + m_srvcId = srvcId; + m_pClient = pClient; + m_uuid = BLEUUID(m_srvcId); + m_haveCharacteristics = false; + m_startHandle = startHandle; + m_endHandle = endHandle; + + ESP_LOGD(LOG_TAG, "<< BLERemoteService()"); +} + + +BLERemoteService::~BLERemoteService() { + removeCharacteristics(); +} + +/* +static bool compareSrvcId(esp_gatt_srvc_id_t id1, esp_gatt_srvc_id_t id2) { + if (id1.id.inst_id != id2.id.inst_id) { + return false; + } + if (!BLEUUID(id1.id.uuid).equals(BLEUUID(id2.id.uuid))) { + return false; + } + return true; +} // compareSrvcId +*/ + +/** + * @brief Handle GATT Client events + */ +void BLERemoteService::gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* evtParam) { + switch (event) { + // + // ESP_GATTC_GET_CHAR_EVT + // + // get_char: + // - esp_gatt_status_t status + // - uin1t6_t conn_id + // - esp_gatt_srvc_id_t srvc_id + // - esp_gatt_id_t char_id + // - esp_gatt_char_prop_t char_prop + // + /* + case ESP_GATTC_GET_CHAR_EVT: { + // Is this event for this service? If yes, then the local srvc_id and the event srvc_id will be + // the same. + if (compareSrvcId(m_srvcId, evtParam->get_char.srvc_id) == false) { + break; + } + + // If the status is NOT OK then we have a problem and continue. + if (evtParam->get_char.status != ESP_GATT_OK) { + m_semaphoreGetCharEvt.give(); + break; + } + + // This is an indication that we now have the characteristic details for a characteristic owned + // by this service so remember it. + m_characteristicMap.insert(std::pair( + BLEUUID(evtParam->get_char.char_id.uuid).toString(), + new BLERemoteCharacteristic(evtParam->get_char.char_id, evtParam->get_char.char_prop, this) )); + + + // Now that we have received a characteristic, lets ask for the next one. + esp_err_t errRc = ::esp_ble_gattc_get_characteristic( + m_pClient->getGattcIf(), + m_pClient->getConnId(), + &m_srvcId, + &evtParam->get_char.char_id); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_get_characteristic: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + break; + } + + //m_semaphoreGetCharEvt.give(); + break; + } // ESP_GATTC_GET_CHAR_EVT +*/ + default: + break; + } // switch + + // Send the event to each of the characteristics owned by this service. + for (auto &myPair : m_characteristicMapByHandle) { + myPair.second->gattClientEventHandler(event, gattc_if, evtParam); + } +} // gattClientEventHandler + + +/** + * @brief Get the remote characteristic object for the characteristic UUID. + * @param [in] uuid Remote characteristic uuid. + * @return Reference to the remote characteristic object. + * @throws BLEUuidNotFoundException + */ +BLERemoteCharacteristic* BLERemoteService::getCharacteristic(const char* uuid) { + return getCharacteristic(BLEUUID(uuid)); +} // getCharacteristic + +/** + * @brief Get the characteristic object for the UUID. + * @param [in] uuid Characteristic uuid. + * @return Reference to the characteristic object. + * @throws BLEUuidNotFoundException + */ +BLERemoteCharacteristic* BLERemoteService::getCharacteristic(BLEUUID uuid) { +// Design +// ------ +// We wish to retrieve the characteristic given its UUID. It is possible that we have not yet asked the +// device what characteristics it has in which case we have nothing to match against. If we have not +// asked the device about its characteristics, then we do that now. Once we get the results we can then +// examine the characteristics map to see if it has the characteristic we are looking for. + if (!m_haveCharacteristics) { + retrieveCharacteristics(); + } + std::string v = uuid.toString(); + for (auto &myPair : m_characteristicMap) { + if (myPair.first == v) { + return myPair.second; + } + } + // throw new BLEUuidNotFoundException(); // <-- we dont want exception here, which will cause app crash, we want to search if any characteristic can be found one after another + return nullptr; +} // getCharacteristic + + +/** + * @brief Retrieve all the characteristics for this service. + * This function will not return until we have all the characteristics. + * @return N/A + */ +void BLERemoteService::retrieveCharacteristics() { + ESP_LOGD(LOG_TAG, ">> getCharacteristics() for service: %s", getUUID().toString().c_str()); + + removeCharacteristics(); // Forget any previous characteristics. + + uint16_t offset = 0; + esp_gattc_char_elem_t result; + while (true) { + uint16_t count = 10; // this value is used as in parameter that allows to search max 10 chars with the same uuid + esp_gatt_status_t status = ::esp_ble_gattc_get_all_char( + getClient()->getGattcIf(), + getClient()->getConnId(), + m_startHandle, + m_endHandle, + &result, + &count, + offset + ); + + if (status == ESP_GATT_INVALID_OFFSET) { // We have reached the end of the entries. + break; + } + + if (status != ESP_GATT_OK) { // If we got an error, end. + ESP_LOGE(LOG_TAG, "esp_ble_gattc_get_all_char: %s", BLEUtils::gattStatusToString(status).c_str()); + break; + } + + if (count == 0) { // If we failed to get any new records, end. + break; + } + + ESP_LOGD(LOG_TAG, "Found a characteristic: Handle: %d, UUID: %s", result.char_handle, BLEUUID(result.uuid).toString().c_str()); + + // We now have a new characteristic ... let us add that to our set of known characteristics + BLERemoteCharacteristic *pNewRemoteCharacteristic = new BLERemoteCharacteristic( + result.char_handle, + BLEUUID(result.uuid), + result.properties, + this + ); + + m_characteristicMap.insert(std::pair(pNewRemoteCharacteristic->getUUID().toString(), pNewRemoteCharacteristic)); + m_characteristicMapByHandle.insert(std::pair(result.char_handle, pNewRemoteCharacteristic)); + offset++; // Increment our count of number of descriptors found. + } // Loop forever (until we break inside the loop). + + m_haveCharacteristics = true; // Remember that we have received the characteristics. + ESP_LOGD(LOG_TAG, "<< getCharacteristics()"); +} // getCharacteristics + + +/** + * @brief Retrieve a map of all the characteristics of this service. + * @return A map of all the characteristics of this service. + */ +std::map* BLERemoteService::getCharacteristics() { + ESP_LOGD(LOG_TAG, ">> getCharacteristics() for service: %s", getUUID().toString().c_str()); + // If is possible that we have not read the characteristics associated with the service so do that + // now. The request to retrieve the characteristics by calling "retrieveCharacteristics" is a blocking + // call and does not return until all the characteristics are available. + if (!m_haveCharacteristics) { + retrieveCharacteristics(); + } + ESP_LOGD(LOG_TAG, "<< getCharacteristics() for service: %s", getUUID().toString().c_str()); + return &m_characteristicMap; +} // getCharacteristics + +/** + * @brief This function is designed to get characteristics map when we have multiple characteristics with the same UUID + */ +void BLERemoteService::getCharacteristics(std::map* pCharacteristicMap) { +#pragma GCC diagnostic ignored "-Wunused-but-set-parameter" + pCharacteristicMap = &m_characteristicMapByHandle; +} // Get the characteristics map. + +/** + * @brief Get the client associated with this service. + * @return A reference to the client associated with this service. + */ +BLEClient* BLERemoteService::getClient() { + return m_pClient; +} // getClient + + +uint16_t BLERemoteService::getEndHandle() { + return m_endHandle; +} // getEndHandle + + +esp_gatt_id_t* BLERemoteService::getSrvcId() { + return &m_srvcId; +} // getSrvcId + + +uint16_t BLERemoteService::getStartHandle() { + return m_startHandle; +} // getStartHandle + + +uint16_t BLERemoteService::getHandle() { + ESP_LOGD(LOG_TAG, ">> getHandle: service: %s", getUUID().toString().c_str()); + ESP_LOGD(LOG_TAG, "<< getHandle: %d 0x%.2x", getStartHandle(), getStartHandle()); + return getStartHandle(); +} // getHandle + + +BLEUUID BLERemoteService::getUUID() { + return m_uuid; +} + +/** + * @brief Read the value of a characteristic associated with this service. + */ +std::string BLERemoteService::getValue(BLEUUID characteristicUuid) { + ESP_LOGD(LOG_TAG, ">> readValue: uuid: %s", characteristicUuid.toString().c_str()); + std::string ret = getCharacteristic(characteristicUuid)->readValue(); + ESP_LOGD(LOG_TAG, "<< readValue"); + return ret; +} // readValue + + + +/** + * @brief Delete the characteristics in the characteristics map. + * We maintain a map called m_characteristicsMap that contains pointers to BLERemoteCharacteristic + * object references. Since we allocated these in this class, we are also responsible for deleteing + * them. This method does just that. + * @return N/A. + */ +void BLERemoteService::removeCharacteristics() { + for (auto &myPair : m_characteristicMap) { + delete myPair.second; + //m_characteristicMap.erase(myPair.first); // Should be no need to delete as it will be deleted by the clear + } + m_characteristicMap.clear(); // Clear the map + for (auto &myPair : m_characteristicMapByHandle) { + delete myPair.second; + } + m_characteristicMapByHandle.clear(); // Clear the map +} // removeCharacteristics + + +/** + * @brief Set the value of a characteristic. + * @param [in] characteristicUuid The characteristic to set. + * @param [in] value The value to set. + * @throws BLEUuidNotFound + */ +void BLERemoteService::setValue(BLEUUID characteristicUuid, std::string value) { + ESP_LOGD(LOG_TAG, ">> setValue: uuid: %s", characteristicUuid.toString().c_str()); + getCharacteristic(characteristicUuid)->writeValue(value); + ESP_LOGD(LOG_TAG, "<< setValue"); +} // setValue + + +/** + * @brief Create a string representation of this remote service. + * @return A string representation of this remote service. + */ +std::string BLERemoteService::toString() { + std::ostringstream ss; + ss << "Service: uuid: " + m_uuid.toString(); + ss << ", start_handle: " << std::dec << m_startHandle << " 0x" << std::hex << m_startHandle << + ", end_handle: " << std::dec << m_endHandle << " 0x" << std::hex << m_endHandle; + for (auto &myPair : m_characteristicMap) { + ss << "\n" << myPair.second->toString(); + // myPair.second is the value + } + return ss.str(); +} // toString + + +#endif /* CONFIG_BT_ENABLED */ diff --git a/libraries/BLE/src/BLERemoteService.h b/libraries/BLE/src/BLERemoteService.h new file mode 100644 index 00000000..2ab86738 --- /dev/null +++ b/libraries/BLE/src/BLERemoteService.h @@ -0,0 +1,85 @@ +/* + * BLERemoteService.h + * + * Created on: Jul 8, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEREMOTESERVICE_H_ +#define COMPONENTS_CPP_UTILS_BLEREMOTESERVICE_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include + +#include "BLEClient.h" +#include "BLERemoteCharacteristic.h" +#include "BLEUUID.h" +#include "FreeRTOS.h" + +class BLEClient; +class BLERemoteCharacteristic; + + +/** + * @brief A model of a remote %BLE service. + */ +class BLERemoteService { +public: + virtual ~BLERemoteService(); + + // Public methods + BLERemoteCharacteristic* getCharacteristic(const char* uuid); // Get the specified characteristic reference. + BLERemoteCharacteristic* getCharacteristic(BLEUUID uuid); // Get the specified characteristic reference. + BLERemoteCharacteristic* getCharacteristic(uint16_t uuid); // Get the specified characteristic reference. + std::map* getCharacteristics(); + std::map* getCharacteristicsByHandle(); // Get the characteristics map. + void getCharacteristics(std::map* pCharacteristicMap); + + BLEClient* getClient(void); // Get a reference to the client associated with this service. + uint16_t getHandle(); // Get the handle of this service. + BLEUUID getUUID(void); // Get the UUID of this service. + std::string getValue(BLEUUID characteristicUuid); // Get the value of a characteristic. + void setValue(BLEUUID characteristicUuid, std::string value); // Set the value of a characteristic. + std::string toString(void); + +private: + // Private constructor ... never meant to be created by a user application. + BLERemoteService(esp_gatt_id_t srvcId, BLEClient* pClient, uint16_t startHandle, uint16_t endHandle); + + // Friends + friend class BLEClient; + friend class BLERemoteCharacteristic; + + // Private methods + void retrieveCharacteristics(void); // Retrieve the characteristics from the BLE Server. + esp_gatt_id_t* getSrvcId(void); + uint16_t getStartHandle(); // Get the start handle for this service. + uint16_t getEndHandle(); // Get the end handle for this service. + + void gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* evtParam); + + void removeCharacteristics(); + + // Properties + + // We maintain a map of characteristics owned by this service keyed by a string representation of the UUID. + std::map m_characteristicMap; + + // We maintain a map of characteristics owned by this service keyed by a handle. + std::map m_characteristicMapByHandle; + + bool m_haveCharacteristics; // Have we previously obtained the characteristics. + BLEClient* m_pClient; + FreeRTOS::Semaphore m_semaphoreGetCharEvt = FreeRTOS::Semaphore("GetCharEvt"); + esp_gatt_id_t m_srvcId; + BLEUUID m_uuid; // The UUID of this service. + uint16_t m_startHandle; // The starting handle of this service. + uint16_t m_endHandle; // The ending handle of this service. +}; // BLERemoteService + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEREMOTESERVICE_H_ */ diff --git a/libraries/BLE/src/BLEScan.cpp b/libraries/BLE/src/BLEScan.cpp new file mode 100644 index 00000000..d851a47a --- /dev/null +++ b/libraries/BLE/src/BLEScan.cpp @@ -0,0 +1,331 @@ +/* + * BLEScan.cpp + * + * Created on: Jul 1, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + + +#include + +#include + +#include "BLEAdvertisedDevice.h" +#include "BLEScan.h" +#include "BLEUtils.h" +#include "GeneralUtils.h" +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLEScan"; +#endif + + + + +/** + * Constructor + */ +BLEScan::BLEScan() { + m_scan_params.scan_type = BLE_SCAN_TYPE_PASSIVE; // Default is a passive scan. + m_scan_params.own_addr_type = BLE_ADDR_TYPE_PUBLIC; + m_scan_params.scan_filter_policy = BLE_SCAN_FILTER_ALLOW_ALL; + m_pAdvertisedDeviceCallbacks = nullptr; + m_stopped = true; + m_wantDuplicates = false; + setInterval(100); + setWindow(100); +} // BLEScan + + +/** + * @brief Handle GAP events related to scans. + * @param [in] event The event type for this event. + * @param [in] param Parameter data for this event. + */ +void BLEScan::handleGAPEvent( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param) { + + switch(event) { + + // --------------------------- + // scan_rst: + // esp_gap_search_evt_t search_evt + // esp_bd_addr_t bda + // esp_bt_dev_type_t dev_type + // esp_ble_addr_type_t ble_addr_type + // esp_ble_evt_type_t ble_evt_type + // int rssi + // uint8_t ble_adv[ESP_BLE_ADV_DATA_LEN_MAX] + // int flag + // int num_resps + // uint8_t adv_data_len + // uint8_t scan_rsp_len + case ESP_GAP_BLE_SCAN_RESULT_EVT: { + + switch(param->scan_rst.search_evt) { + // + // ESP_GAP_SEARCH_INQ_CMPL_EVT + // + // Event that indicates that the duration allowed for the search has completed or that we have been + // asked to stop. + case ESP_GAP_SEARCH_INQ_CMPL_EVT: { + ESP_LOGW(LOG_TAG, "ESP_GAP_SEARCH_INQ_CMPL_EVT"); + m_stopped = true; + m_semaphoreScanEnd.give(); + if (m_scanCompleteCB != nullptr) { + m_scanCompleteCB(m_scanResults); + } + break; + } // ESP_GAP_SEARCH_INQ_CMPL_EVT + + // + // ESP_GAP_SEARCH_INQ_RES_EVT + // + // Result that has arrived back from a Scan inquiry. + case ESP_GAP_SEARCH_INQ_RES_EVT: { + if (m_stopped) { // If we are not scanning, nothing to do with the extra results. + break; + } + +// Examine our list of previously scanned addresses and, if we found this one already, +// ignore it. + BLEAddress advertisedAddress(param->scan_rst.bda); + bool found = false; + + if (m_scanResults.m_vectorAdvertisedDevices.count(advertisedAddress.toString()) != 0) { + found = true; + } + + if (found && !m_wantDuplicates) { // If we found a previous entry AND we don't want duplicates, then we are done. + ESP_LOGD(LOG_TAG, "Ignoring %s, already seen it.", advertisedAddress.toString().c_str()); + vTaskDelay(1); // <--- allow to switch task in case we scan infinity and dont have new devices to report, or we are blocked here + break; + } + + // We now construct a model of the advertised device that we have just found for the first + // time. + // ESP_LOG_BUFFER_HEXDUMP(LOG_TAG, (uint8_t*)param->scan_rst.ble_adv, param->scan_rst.adv_data_len + param->scan_rst.scan_rsp_len, ESP_LOG_DEBUG); + // ESP_LOGW(LOG_TAG, "bytes length: %d + %d, addr type: %d", param->scan_rst.adv_data_len, param->scan_rst.scan_rsp_len, param->scan_rst.ble_addr_type); + BLEAdvertisedDevice *advertisedDevice = new BLEAdvertisedDevice(); + advertisedDevice->setAddress(advertisedAddress); + advertisedDevice->setRSSI(param->scan_rst.rssi); + advertisedDevice->setAdFlag(param->scan_rst.flag); + advertisedDevice->parseAdvertisement((uint8_t*)param->scan_rst.ble_adv, param->scan_rst.adv_data_len + param->scan_rst.scan_rsp_len); + advertisedDevice->setScan(this); + advertisedDevice->setAddressType(param->scan_rst.ble_addr_type); + + if (!found) { // If we have previously seen this device, don't record it again. + m_scanResults.m_vectorAdvertisedDevices.insert(std::pair(advertisedAddress.toString(), advertisedDevice)); + } + + if (m_pAdvertisedDeviceCallbacks) { + m_pAdvertisedDeviceCallbacks->onResult(*advertisedDevice); + } + if(found) + delete advertisedDevice; + + break; + } // ESP_GAP_SEARCH_INQ_RES_EVT + + default: { + break; + } + } // switch - search_evt + + + break; + } // ESP_GAP_BLE_SCAN_RESULT_EVT + + default: { + break; + } // default + } // End switch +} // gapEventHandler + + +/** + * @brief Should we perform an active or passive scan? + * The default is a passive scan. An active scan means that we will wish a scan response. + * @param [in] active If true, we perform an active scan otherwise a passive scan. + * @return N/A. + */ +void BLEScan::setActiveScan(bool active) { + if (active) { + m_scan_params.scan_type = BLE_SCAN_TYPE_ACTIVE; + } else { + m_scan_params.scan_type = BLE_SCAN_TYPE_PASSIVE; + } +} // setActiveScan + + +/** + * @brief Set the call backs to be invoked. + * @param [in] pAdvertisedDeviceCallbacks Call backs to be invoked. + * @param [in] wantDuplicates True if we wish to be called back with duplicates. Default is false. + */ +void BLEScan::setAdvertisedDeviceCallbacks(BLEAdvertisedDeviceCallbacks* pAdvertisedDeviceCallbacks, bool wantDuplicates) { + m_wantDuplicates = wantDuplicates; + m_pAdvertisedDeviceCallbacks = pAdvertisedDeviceCallbacks; +} // setAdvertisedDeviceCallbacks + + +/** + * @brief Set the interval to scan. + * @param [in] The interval in msecs. + */ +void BLEScan::setInterval(uint16_t intervalMSecs) { + m_scan_params.scan_interval = intervalMSecs / 0.625; +} // setInterval + + +/** + * @brief Set the window to actively scan. + * @param [in] windowMSecs How long to actively scan. + */ +void BLEScan::setWindow(uint16_t windowMSecs) { + m_scan_params.scan_window = windowMSecs / 0.625; +} // setWindow + + +/** + * @brief Start scanning. + * @param [in] duration The duration in seconds for which to scan. + * @param [in] scanCompleteCB A function to be called when scanning has completed. + * @param [in] are we continue scan (true) or we want to clear stored devices (false) + * @return True if scan started or false if there was an error. + */ +bool BLEScan::start(uint32_t duration, void (*scanCompleteCB)(BLEScanResults), bool is_continue) { + ESP_LOGD(LOG_TAG, ">> start(duration=%d)", duration); + + m_semaphoreScanEnd.take(std::string("start")); + m_scanCompleteCB = scanCompleteCB; // Save the callback to be invoked when the scan completes. + + // if we are connecting to devices that are advertising even after being connected, multiconnecting peripherals + // then we should not clear map or we will connect the same device few times + if(!is_continue) { + for(auto _dev : m_scanResults.m_vectorAdvertisedDevices){ + delete _dev.second; + } + m_scanResults.m_vectorAdvertisedDevices.clear(); + } + + esp_err_t errRc = ::esp_ble_gap_set_scan_params(&m_scan_params); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_set_scan_params: err: %d, text: %s", errRc, GeneralUtils::errorToString(errRc)); + m_semaphoreScanEnd.give(); + return false; + } + + errRc = ::esp_ble_gap_start_scanning(duration); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_start_scanning: err: %d, text: %s", errRc, GeneralUtils::errorToString(errRc)); + m_semaphoreScanEnd.give(); + return false; + } + + m_stopped = false; + + ESP_LOGD(LOG_TAG, "<< start()"); + return true; +} // start + + +/** + * @brief Start scanning and block until scanning has been completed. + * @param [in] duration The duration in seconds for which to scan. + * @return The BLEScanResults. + */ +BLEScanResults BLEScan::start(uint32_t duration, bool is_continue) { + if(start(duration, nullptr, is_continue)) { + m_semaphoreScanEnd.wait("start"); // Wait for the semaphore to release. + } + return m_scanResults; +} // start + + +/** + * @brief Stop an in progress scan. + * @return N/A. + */ +void BLEScan::stop() { + ESP_LOGD(LOG_TAG, ">> stop()"); + + esp_err_t errRc = ::esp_ble_gap_stop_scanning(); + + m_stopped = true; + m_semaphoreScanEnd.give(); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_stop_scanning: err: %d, text: %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + ESP_LOGD(LOG_TAG, "<< stop()"); +} // stop + +// delete peer device from cache after disconnecting, it is required in case we are connecting to devices with not public address +void BLEScan::erase(BLEAddress address) { + ESP_LOGI(LOG_TAG, "erase device: %s", address.toString().c_str()); + BLEAdvertisedDevice *advertisedDevice = m_scanResults.m_vectorAdvertisedDevices.find(address.toString())->second; + m_scanResults.m_vectorAdvertisedDevices.erase(address.toString()); + delete advertisedDevice; +} + + +/** + * @brief Dump the scan results to the log. + */ +void BLEScanResults::dump() { + ESP_LOGD(LOG_TAG, ">> Dump scan results:"); + for (int i=0; isecond; + for (auto it = m_vectorAdvertisedDevices.begin(); it != m_vectorAdvertisedDevices.end(); it++) { + dev = *it->second; + if (x==i) break; + x++; + } + return dev; +} + +BLEScanResults BLEScan::getResults() { + return m_scanResults; +} + +void BLEScan::clearResults() { + for(auto _dev : m_scanResults.m_vectorAdvertisedDevices){ + delete _dev.second; + } + m_scanResults.m_vectorAdvertisedDevices.clear(); +} + +#endif /* CONFIG_BT_ENABLED */ diff --git a/libraries/BLE/src/BLEScan.h b/libraries/BLE/src/BLEScan.h new file mode 100644 index 00000000..2f71a727 --- /dev/null +++ b/libraries/BLE/src/BLEScan.h @@ -0,0 +1,83 @@ +/* + * BLEScan.h + * + * Created on: Jul 1, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLESCAN_H_ +#define COMPONENTS_CPP_UTILS_BLESCAN_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include + +// #include +#include +#include "BLEAdvertisedDevice.h" +#include "BLEClient.h" +#include "FreeRTOS.h" + +class BLEAdvertisedDevice; +class BLEAdvertisedDeviceCallbacks; +class BLEClient; +class BLEScan; + + +/** + * @brief The result of having performed a scan. + * When a scan completes, we have a set of found devices. Each device is described + * by a BLEAdvertisedDevice object. The number of items in the set is given by + * getCount(). We can retrieve a device by calling getDevice() passing in the + * index (starting at 0) of the desired device. + */ +class BLEScanResults { +public: + void dump(); + int getCount(); + BLEAdvertisedDevice getDevice(uint32_t i); + +private: + friend BLEScan; + std::map m_vectorAdvertisedDevices; +}; + +/** + * @brief Perform and manage %BLE scans. + * + * Scanning is associated with a %BLE client that is attempting to locate BLE servers. + */ +class BLEScan { +public: + void setActiveScan(bool active); + void setAdvertisedDeviceCallbacks( + BLEAdvertisedDeviceCallbacks* pAdvertisedDeviceCallbacks, + bool wantDuplicates = false); + void setInterval(uint16_t intervalMSecs); + void setWindow(uint16_t windowMSecs); + bool start(uint32_t duration, void (*scanCompleteCB)(BLEScanResults), bool is_continue = false); + BLEScanResults start(uint32_t duration, bool is_continue = false); + void stop(); + void erase(BLEAddress address); + BLEScanResults getResults(); + void clearResults(); + +private: + BLEScan(); // One doesn't create a new instance instead one asks the BLEDevice for the singleton. + friend class BLEDevice; + void handleGAPEvent( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param); + void parseAdvertisement(BLEClient* pRemoteDevice, uint8_t *payload); + + + esp_ble_scan_params_t m_scan_params; + BLEAdvertisedDeviceCallbacks* m_pAdvertisedDeviceCallbacks = nullptr; + bool m_stopped = true; + FreeRTOS::Semaphore m_semaphoreScanEnd = FreeRTOS::Semaphore("ScanEnd"); + BLEScanResults m_scanResults; + bool m_wantDuplicates; + void (*m_scanCompleteCB)(BLEScanResults scanResults); +}; // BLEScan + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLESCAN_H_ */ diff --git a/libraries/BLE/src/BLESecurity.cpp b/libraries/BLE/src/BLESecurity.cpp new file mode 100644 index 00000000..921f5424 --- /dev/null +++ b/libraries/BLE/src/BLESecurity.cpp @@ -0,0 +1,104 @@ +/* + * BLESecurity.cpp + * + * Created on: Dec 17, 2017 + * Author: chegewara + */ + +#include "BLESecurity.h" +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +BLESecurity::BLESecurity() { +} + +BLESecurity::~BLESecurity() { +} +/* + * @brief Set requested authentication mode + */ +void BLESecurity::setAuthenticationMode(esp_ble_auth_req_t auth_req) { + m_authReq = auth_req; + esp_ble_gap_set_security_param(ESP_BLE_SM_AUTHEN_REQ_MODE, &m_authReq, sizeof(uint8_t)); // <--- setup requested authentication mode +} + +/** + * @brief Set our device IO capability to let end user perform authorization + * either by displaying or entering generated 6-digits pin code + */ +void BLESecurity::setCapability(esp_ble_io_cap_t iocap) { + m_iocap = iocap; + esp_ble_gap_set_security_param(ESP_BLE_SM_IOCAP_MODE, &iocap, sizeof(uint8_t)); +} // setCapability + + +/** + * @brief Init encryption key by server + * @param key_size is value between 7 and 16 + */ +void BLESecurity::setInitEncryptionKey(uint8_t init_key) { + m_initKey = init_key; + esp_ble_gap_set_security_param(ESP_BLE_SM_SET_INIT_KEY, &m_initKey, sizeof(uint8_t)); +} // setInitEncryptionKey + + +/** + * @brief Init encryption key by client + * @param key_size is value between 7 and 16 + */ +void BLESecurity::setRespEncryptionKey(uint8_t resp_key) { + m_respKey = resp_key; + esp_ble_gap_set_security_param(ESP_BLE_SM_SET_RSP_KEY, &m_respKey, sizeof(uint8_t)); +} // setRespEncryptionKey + + +/** + * + * + */ +void BLESecurity::setKeySize(uint8_t key_size) { + m_keySize = key_size; + esp_ble_gap_set_security_param(ESP_BLE_SM_MAX_KEY_SIZE, &m_keySize, sizeof(uint8_t)); +} //setKeySize + + +/** + * @brief Debug function to display what keys are exchanged by peers + */ +char* BLESecurity::esp_key_type_to_str(esp_ble_key_type_t key_type) { + char* key_str = nullptr; + switch (key_type) { + case ESP_LE_KEY_NONE: + key_str = (char*) "ESP_LE_KEY_NONE"; + break; + case ESP_LE_KEY_PENC: + key_str = (char*) "ESP_LE_KEY_PENC"; + break; + case ESP_LE_KEY_PID: + key_str = (char*) "ESP_LE_KEY_PID"; + break; + case ESP_LE_KEY_PCSRK: + key_str = (char*) "ESP_LE_KEY_PCSRK"; + break; + case ESP_LE_KEY_PLK: + key_str = (char*) "ESP_LE_KEY_PLK"; + break; + case ESP_LE_KEY_LLK: + key_str = (char*) "ESP_LE_KEY_LLK"; + break; + case ESP_LE_KEY_LENC: + key_str = (char*) "ESP_LE_KEY_LENC"; + break; + case ESP_LE_KEY_LID: + key_str = (char*) "ESP_LE_KEY_LID"; + break; + case ESP_LE_KEY_LCSRK: + key_str = (char*) "ESP_LE_KEY_LCSRK"; + break; + default: + key_str = (char*) "INVALID BLE KEY TYPE"; + break; + } + return key_str; +} // esp_key_type_to_str +#endif // CONFIG_BT_ENABLED diff --git a/libraries/BLE/src/BLESecurity.h b/libraries/BLE/src/BLESecurity.h new file mode 100644 index 00000000..48d09d2f --- /dev/null +++ b/libraries/BLE/src/BLESecurity.h @@ -0,0 +1,72 @@ +/* + * BLESecurity.h + * + * Created on: Dec 17, 2017 + * Author: chegewara + */ + +#ifndef COMPONENTS_CPP_UTILS_BLESECURITY_H_ +#define COMPONENTS_CPP_UTILS_BLESECURITY_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include + +class BLESecurity { +public: + BLESecurity(); + virtual ~BLESecurity(); + void setAuthenticationMode(esp_ble_auth_req_t auth_req); + void setCapability(esp_ble_io_cap_t iocap); + void setInitEncryptionKey(uint8_t init_key); + void setRespEncryptionKey(uint8_t resp_key); + void setKeySize(uint8_t key_size = 16); + static char* esp_key_type_to_str(esp_ble_key_type_t key_type); + +private: + esp_ble_auth_req_t m_authReq; + esp_ble_io_cap_t m_iocap; + uint8_t m_initKey; + uint8_t m_respKey; + uint8_t m_keySize; + +}; // BLESecurity + + +/* + * @brief Callbacks to handle GAP events related to authorization + */ +class BLESecurityCallbacks { +public: + virtual ~BLESecurityCallbacks() {}; + + /** + * @brief Its request from peer device to input authentication pin code displayed on peer device. + * It requires that our device is capable to input 6-digits code by end user + * @return Return 6-digits integer value from input device + */ + virtual uint32_t onPassKeyRequest() = 0; + + /** + * @brief Provide us 6-digits code to perform authentication. + * It requires that our device is capable to display this code to end user + * @param + */ + virtual void onPassKeyNotify(uint32_t pass_key) = 0; + + /** + * @brief Here we can make decision if we want to let negotiate authorization with peer device or not + * return Return true if we accept this peer device request + */ + + virtual bool onSecurityRequest() = 0 ; + /** + * Provide us information when authentication process is completed + */ + virtual void onAuthenticationComplete(esp_ble_auth_cmpl_t) = 0; + + virtual bool onConfirmPIN(uint32_t pin) = 0; +}; // BLESecurityCallbacks + +#endif // CONFIG_BT_ENABLED +#endif // COMPONENTS_CPP_UTILS_BLESECURITY_H_ diff --git a/libraries/BLE/src/BLEServer.cpp b/libraries/BLE/src/BLEServer.cpp new file mode 100644 index 00000000..6a780aa9 --- /dev/null +++ b/libraries/BLE/src/BLEServer.cpp @@ -0,0 +1,424 @@ +/* + * BLEServer.cpp + * + * Created on: Apr 16, 2017 + * Author: kolban + */ + +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include "GeneralUtils.h" +#include "BLEDevice.h" +#include "BLEServer.h" +#include "BLEService.h" +#include "BLEUtils.h" +#include +#include +#include +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLEServer"; +#endif + + + + +/** + * @brief Construct a %BLE Server + * + * This class is not designed to be individually instantiated. Instead one should create a server by asking + * the BLEDevice class. + */ +BLEServer::BLEServer() { + m_appId = ESP_GATT_IF_NONE; + m_gatts_if = ESP_GATT_IF_NONE; + m_connectedCount = 0; + m_connId = ESP_GATT_IF_NONE; + m_pServerCallbacks = nullptr; +} // BLEServer + + +void BLEServer::createApp(uint16_t appId) { + m_appId = appId; + registerApp(appId); +} // createApp + + +/** + * @brief Create a %BLE Service. + * + * With a %BLE server, we can host one or more services. Invoking this function causes the creation of a definition + * of a new service. Every service must have a unique UUID. + * @param [in] uuid The UUID of the new service. + * @return A reference to the new service object. + */ +BLEService* BLEServer::createService(const char* uuid) { + return createService(BLEUUID(uuid)); +} + + +/** + * @brief Create a %BLE Service. + * + * With a %BLE server, we can host one or more services. Invoking this function causes the creation of a definition + * of a new service. Every service must have a unique UUID. + * @param [in] uuid The UUID of the new service. + * @param [in] numHandles The maximum number of handles associated with this service. + * @param [in] inst_id With multiple services with the same UUID we need to provide inst_id value different for each service. + * @return A reference to the new service object. + */ +BLEService* BLEServer::createService(BLEUUID uuid, uint32_t numHandles, uint8_t inst_id) { + ESP_LOGD(LOG_TAG, ">> createService - %s", uuid.toString().c_str()); + m_semaphoreCreateEvt.take("createService"); + + // Check that a service with the supplied UUID does not already exist. + if (m_serviceMap.getByUUID(uuid) != nullptr) { + ESP_LOGW(LOG_TAG, "<< Attempt to create a new service with uuid %s but a service with that UUID already exists.", + uuid.toString().c_str()); + } + + BLEService* pService = new BLEService(uuid, numHandles); + pService->m_instId = inst_id; + m_serviceMap.setByUUID(uuid, pService); // Save a reference to this service being on this server. + pService->executeCreate(this); // Perform the API calls to actually create the service. + + m_semaphoreCreateEvt.wait("createService"); + + ESP_LOGD(LOG_TAG, "<< createService"); + return pService; +} // createService + + +/** + * @brief Get a %BLE Service by its UUID + * @param [in] uuid The UUID of the new service. + * @return A reference to the service object. + */ +BLEService* BLEServer::getServiceByUUID(const char* uuid) { + return m_serviceMap.getByUUID(uuid); +} + +/** + * @brief Get a %BLE Service by its UUID + * @param [in] uuid The UUID of the new service. + * @return A reference to the service object. + */ +BLEService* BLEServer::getServiceByUUID(BLEUUID uuid) { + return m_serviceMap.getByUUID(uuid); +} + +/** + * @brief Retrieve the advertising object that can be used to advertise the existence of the server. + * + * @return An advertising object. + */ +BLEAdvertising* BLEServer::getAdvertising() { + return BLEDevice::getAdvertising(); +} + +uint16_t BLEServer::getConnId() { + return m_connId; +} + + +/** + * @brief Return the number of connected clients. + * @return The number of connected clients. + */ +uint32_t BLEServer::getConnectedCount() { + return m_connectedCount; +} // getConnectedCount + + +uint16_t BLEServer::getGattsIf() { + return m_gatts_if; +} + + +/** + * @brief Handle a GATT Server Event. + * + * @param [in] event + * @param [in] gatts_if + * @param [in] param + * + */ +void BLEServer::handleGATTServerEvent(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t* param) { + ESP_LOGD(LOG_TAG, ">> handleGATTServerEvent: %s", + BLEUtils::gattServerEventTypeToString(event).c_str()); + + switch(event) { + // ESP_GATTS_ADD_CHAR_EVT - Indicate that a characteristic was added to the service. + // add_char: + // - esp_gatt_status_t status + // - uint16_t attr_handle + // - uint16_t service_handle + // - esp_bt_uuid_t char_uuid + // + case ESP_GATTS_ADD_CHAR_EVT: { + break; + } // ESP_GATTS_ADD_CHAR_EVT + + case ESP_GATTS_MTU_EVT: + updatePeerMTU(param->mtu.conn_id, param->mtu.mtu); + break; + + // ESP_GATTS_CONNECT_EVT + // connect: + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + // + case ESP_GATTS_CONNECT_EVT: { + m_connId = param->connect.conn_id; + addPeerDevice((void*)this, false, m_connId); + if (m_pServerCallbacks != nullptr) { + m_pServerCallbacks->onConnect(this); + m_pServerCallbacks->onConnect(this, param); + } + m_connectedCount++; // Increment the number of connected devices count. + break; + } // ESP_GATTS_CONNECT_EVT + + + // ESP_GATTS_CREATE_EVT + // Called when a new service is registered as having been created. + // + // create: + // * esp_gatt_status_t status + // * uint16_t service_handle + // * esp_gatt_srvc_id_t service_id + // + case ESP_GATTS_CREATE_EVT: { + BLEService* pService = m_serviceMap.getByUUID(param->create.service_id.id.uuid, param->create.service_id.id.inst_id); // <--- very big bug for multi services with the same uuid + m_serviceMap.setByHandle(param->create.service_handle, pService); + m_semaphoreCreateEvt.give(); + break; + } // ESP_GATTS_CREATE_EVT + + + // ESP_GATTS_DISCONNECT_EVT + // + // disconnect + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + // - esp_gatt_conn_reason_t reason + // + // If we receive a disconnect event then invoke the callback for disconnects (if one is present). + // we also want to start advertising again. + case ESP_GATTS_DISCONNECT_EVT: { + m_connectedCount--; // Decrement the number of connected devices count. + if (m_pServerCallbacks != nullptr) { // If we have callbacks, call now. + m_pServerCallbacks->onDisconnect(this); + } + startAdvertising(); //- do this with some delay from the loop() + removePeerDevice(param->disconnect.conn_id, false); + break; + } // ESP_GATTS_DISCONNECT_EVT + + + // ESP_GATTS_READ_EVT - A request to read the value of a characteristic has arrived. + // + // read: + // - uint16_t conn_id + // - uint32_t trans_id + // - esp_bd_addr_t bda + // - uint16_t handle + // - uint16_t offset + // - bool is_long + // - bool need_rsp + // + case ESP_GATTS_READ_EVT: { + break; + } // ESP_GATTS_READ_EVT + + + // ESP_GATTS_REG_EVT + // reg: + // - esp_gatt_status_t status + // - uint16_t app_id + // + case ESP_GATTS_REG_EVT: { + m_gatts_if = gatts_if; + m_semaphoreRegisterAppEvt.give(); // Unlock the mutex waiting for the registration of the app. + break; + } // ESP_GATTS_REG_EVT + + + // ESP_GATTS_WRITE_EVT - A request to write the value of a characteristic has arrived. + // + // write: + // - uint16_t conn_id + // - uint16_t trans_id + // - esp_bd_addr_t bda + // - uint16_t handle + // - uint16_t offset + // - bool need_rsp + // - bool is_prep + // - uint16_t len + // - uint8_t* value + // + case ESP_GATTS_WRITE_EVT: { + break; + } + + case ESP_GATTS_OPEN_EVT: + m_semaphoreOpenEvt.give(param->open.status); + break; + + default: + break; + } + + // Invoke the handler for every Service we have. + m_serviceMap.handleGATTServerEvent(event, gatts_if, param); + + ESP_LOGD(LOG_TAG, "<< handleGATTServerEvent"); +} // handleGATTServerEvent + + +/** + * @brief Register the app. + * + * @return N/A + */ +void BLEServer::registerApp(uint16_t m_appId) { + ESP_LOGD(LOG_TAG, ">> registerApp - %d", m_appId); + m_semaphoreRegisterAppEvt.take("registerApp"); // Take the mutex, will be released by ESP_GATTS_REG_EVT event. + ::esp_ble_gatts_app_register(m_appId); + m_semaphoreRegisterAppEvt.wait("registerApp"); + ESP_LOGD(LOG_TAG, "<< registerApp"); +} // registerApp + + +/** + * @brief Set the server callbacks. + * + * As a %BLE server operates, it will generate server level events such as a new client connecting or a previous client + * disconnecting. This function can be called to register a callback handler that will be invoked when these + * events are detected. + * + * @param [in] pCallbacks The callbacks to be invoked. + */ +void BLEServer::setCallbacks(BLEServerCallbacks* pCallbacks) { + m_pServerCallbacks = pCallbacks; +} // setCallbacks + +/* + * Remove service + */ +void BLEServer::removeService(BLEService* service) { + service->stop(); + service->executeDelete(); + m_serviceMap.removeService(service); +} + +/** + * @brief Start advertising. + * + * Start the server advertising its existence. This is a convenience function and is equivalent to + * retrieving the advertising object and invoking start upon it. + */ +void BLEServer::startAdvertising() { + ESP_LOGD(LOG_TAG, ">> startAdvertising"); + BLEDevice::startAdvertising(); + ESP_LOGD(LOG_TAG, "<< startAdvertising"); +} // startAdvertising + +/** + * Allow to connect GATT server to peer device + * Probably can be used in ANCS for iPhone + */ +bool BLEServer::connect(BLEAddress address) { + esp_bd_addr_t addr; + memcpy(&addr, address.getNative(), 6); + // Perform the open connection request against the target BLE Server. + m_semaphoreOpenEvt.take("connect"); + esp_err_t errRc = ::esp_ble_gatts_open( + getGattsIf(), + addr, // address + 1 // direct connection + ); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_open: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return false; + } + + uint32_t rc = m_semaphoreOpenEvt.wait("connect"); // Wait for the connection to complete. + ESP_LOGD(LOG_TAG, "<< connect(), rc=%d", rc==ESP_GATT_OK); + return rc == ESP_GATT_OK; +} // connect + + + +void BLEServerCallbacks::onConnect(BLEServer* pServer) { + ESP_LOGD("BLEServerCallbacks", ">> onConnect(): Default"); + ESP_LOGD("BLEServerCallbacks", "Device: %s", BLEDevice::toString().c_str()); + ESP_LOGD("BLEServerCallbacks", "<< onConnect()"); +} // onConnect + +void BLEServerCallbacks::onConnect(BLEServer* pServer, esp_ble_gatts_cb_param_t* param) { + ESP_LOGD("BLEServerCallbacks", ">> onConnect(): Default"); + ESP_LOGD("BLEServerCallbacks", "Device: %s", BLEDevice::toString().c_str()); + ESP_LOGD("BLEServerCallbacks", "<< onConnect()"); +} // onConnect + + +void BLEServerCallbacks::onDisconnect(BLEServer* pServer) { + ESP_LOGD("BLEServerCallbacks", ">> onDisconnect(): Default"); + ESP_LOGD("BLEServerCallbacks", "Device: %s", BLEDevice::toString().c_str()); + ESP_LOGD("BLEServerCallbacks", "<< onDisconnect()"); +} // onDisconnect + +/* multi connect support */ +/* TODO do some more tweaks */ +void BLEServer::updatePeerMTU(uint16_t conn_id, uint16_t mtu) { + // set mtu in conn_status_t + const std::map::iterator it = m_connectedServersMap.find(conn_id); + if (it != m_connectedServersMap.end()) { + it->second.mtu = mtu; + std::swap(m_connectedServersMap[conn_id], it->second); + } +} + +std::map BLEServer::getPeerDevices(bool _client) { + return m_connectedServersMap; +} + + +uint16_t BLEServer::getPeerMTU(uint16_t conn_id) { + return m_connectedServersMap.find(conn_id)->second.mtu; +} + +void BLEServer::addPeerDevice(void* peer, bool _client, uint16_t conn_id) { + conn_status_t status = { + .peer_device = peer, + .connected = true, + .mtu = 23 + }; + + m_connectedServersMap.insert(std::pair(conn_id, status)); +} + +void BLEServer::removePeerDevice(uint16_t conn_id, bool _client) { + m_connectedServersMap.erase(conn_id); +} +/* multi connect support */ + +/** + * Update connection parameters can be called only after connection has been established + */ +void BLEServer::updateConnParams(esp_bd_addr_t remote_bda, uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout) { + esp_ble_conn_update_params_t conn_params; + memcpy(conn_params.bda, remote_bda, sizeof(esp_bd_addr_t)); + conn_params.latency = latency; + conn_params.max_int = maxInterval; // max_int = 0x20*1.25ms = 40ms + conn_params.min_int = minInterval; // min_int = 0x10*1.25ms = 20ms + conn_params.timeout = timeout; // timeout = 400*10ms = 4000ms + esp_ble_gap_update_conn_params(&conn_params); +} +#endif // CONFIG_BT_ENABLED diff --git a/libraries/BLE/src/BLEServer.h b/libraries/BLE/src/BLEServer.h new file mode 100644 index 00000000..d39d8bfe --- /dev/null +++ b/libraries/BLE/src/BLEServer.h @@ -0,0 +1,140 @@ +/* + * BLEServer.h + * + * Created on: Apr 16, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLESERVER_H_ +#define COMPONENTS_CPP_UTILS_BLESERVER_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include + +#include +#include +// #include "BLEDevice.h" + +#include "BLEUUID.h" +#include "BLEAdvertising.h" +#include "BLECharacteristic.h" +#include "BLEService.h" +#include "BLESecurity.h" +#include "FreeRTOS.h" +#include "BLEAddress.h" + +class BLEServerCallbacks; +/* TODO possibly refactor this struct */ +typedef struct { + void *peer_device; // peer device BLEClient or BLEServer - maybe its better to have 2 structures or union here + bool connected; // do we need it? + uint16_t mtu; // every peer device negotiate own mtu +} conn_status_t; + + +/** + * @brief A data structure that manages the %BLE servers owned by a BLE server. + */ +class BLEServiceMap { +public: + BLEService* getByHandle(uint16_t handle); + BLEService* getByUUID(const char* uuid); + BLEService* getByUUID(BLEUUID uuid, uint8_t inst_id = 0); + void handleGATTServerEvent(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t* param); + void setByHandle(uint16_t handle, BLEService* service); + void setByUUID(const char* uuid, BLEService* service); + void setByUUID(BLEUUID uuid, BLEService* service); + std::string toString(); + BLEService* getFirst(); + BLEService* getNext(); + void removeService(BLEService *service); + int getRegisteredServiceCount(); + +private: + std::map m_handleMap; + std::map m_uuidMap; + std::map::iterator m_iterator; +}; + + +/** + * @brief The model of a %BLE server. + */ +class BLEServer { +public: + uint32_t getConnectedCount(); + BLEService* createService(const char* uuid); + BLEService* createService(BLEUUID uuid, uint32_t numHandles=15, uint8_t inst_id=0); + BLEAdvertising* getAdvertising(); + void setCallbacks(BLEServerCallbacks* pCallbacks); + void startAdvertising(); + void removeService(BLEService* service); + BLEService* getServiceByUUID(const char* uuid); + BLEService* getServiceByUUID(BLEUUID uuid); + bool connect(BLEAddress address); + uint16_t m_appId; + void updateConnParams(esp_bd_addr_t remote_bda, uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout); + + /* multi connection support */ + std::map getPeerDevices(bool client); + void addPeerDevice(void* peer, bool is_client, uint16_t conn_id); + void removePeerDevice(uint16_t conn_id, bool client); + BLEServer* getServerByConnId(uint16_t conn_id); + void updatePeerMTU(uint16_t connId, uint16_t mtu); + uint16_t getPeerMTU(uint16_t conn_id); + uint16_t getConnId(); + + +private: + BLEServer(); + friend class BLEService; + friend class BLECharacteristic; + friend class BLEDevice; + esp_ble_adv_data_t m_adv_data; + // BLEAdvertising m_bleAdvertising; + uint16_t m_connId; + uint32_t m_connectedCount; + uint16_t m_gatts_if; + std::map m_connectedServersMap; + + FreeRTOS::Semaphore m_semaphoreRegisterAppEvt = FreeRTOS::Semaphore("RegisterAppEvt"); + FreeRTOS::Semaphore m_semaphoreCreateEvt = FreeRTOS::Semaphore("CreateEvt"); + FreeRTOS::Semaphore m_semaphoreOpenEvt = FreeRTOS::Semaphore("OpenEvt"); + BLEServiceMap m_serviceMap; + BLEServerCallbacks* m_pServerCallbacks = nullptr; + + void createApp(uint16_t appId); + uint16_t getGattsIf(); + void handleGATTServerEvent(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t *param); + void registerApp(uint16_t); +}; // BLEServer + + +/** + * @brief Callbacks associated with the operation of a %BLE server. + */ +class BLEServerCallbacks { +public: + virtual ~BLEServerCallbacks() {}; + /** + * @brief Handle a new client connection. + * + * When a new client connects, we are invoked. + * + * @param [in] pServer A reference to the %BLE server that received the client connection. + */ + virtual void onConnect(BLEServer* pServer); + virtual void onConnect(BLEServer* pServer, esp_ble_gatts_cb_param_t *param); + /** + * @brief Handle an existing client disconnection. + * + * When an existing client disconnects, we are invoked. + * + * @param [in] pServer A reference to the %BLE server that received the existing client disconnection. + */ + virtual void onDisconnect(BLEServer* pServer); +}; // BLEServerCallbacks + + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLESERVER_H_ */ diff --git a/libraries/BLE/src/BLEService.cpp b/libraries/BLE/src/BLEService.cpp new file mode 100644 index 00000000..3034cf18 --- /dev/null +++ b/libraries/BLE/src/BLEService.cpp @@ -0,0 +1,418 @@ +/* + * BLEService.cpp + * + * Created on: Mar 25, 2017 + * Author: kolban + */ + +// A service is identified by a UUID. A service is also the container for one or more characteristics. + +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include + +#include +#include +#include + +#include "BLEServer.h" +#include "BLEService.h" +#include "BLEUtils.h" +#include "GeneralUtils.h" + +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLEService"; // Tag for logging. +#endif + +#define NULL_HANDLE (0xffff) + + +/** + * @brief Construct an instance of the BLEService + * @param [in] uuid The UUID of the service. + * @param [in] numHandles The maximum number of handles associated with the service. + */ +BLEService::BLEService(const char* uuid, uint16_t numHandles) : BLEService(BLEUUID(uuid), numHandles) { +} + + +/** + * @brief Construct an instance of the BLEService + * @param [in] uuid The UUID of the service. + * @param [in] numHandles The maximum number of handles associated with the service. + */ +BLEService::BLEService(BLEUUID uuid, uint16_t numHandles) { + m_uuid = uuid; + m_handle = NULL_HANDLE; + m_pServer = nullptr; + //m_serializeMutex.setName("BLEService"); + m_lastCreatedCharacteristic = nullptr; + m_numHandles = numHandles; +} // BLEService + + +/** + * @brief Create the service. + * Create the service. + * @param [in] gatts_if The handle of the GATT server interface. + * @return N/A. + */ + +void BLEService::executeCreate(BLEServer* pServer) { + ESP_LOGD(LOG_TAG, ">> executeCreate() - Creating service (esp_ble_gatts_create_service) service uuid: %s", getUUID().toString().c_str()); + m_pServer = pServer; + m_semaphoreCreateEvt.take("executeCreate"); // Take the mutex and release at event ESP_GATTS_CREATE_EVT + + esp_gatt_srvc_id_t srvc_id; + srvc_id.is_primary = true; + srvc_id.id.inst_id = m_instId; + srvc_id.id.uuid = *m_uuid.getNative(); + esp_err_t errRc = ::esp_ble_gatts_create_service(getServer()->getGattsIf(), &srvc_id, m_numHandles); // The maximum number of handles associated with the service. + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gatts_create_service: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + m_semaphoreCreateEvt.wait("executeCreate"); + ESP_LOGD(LOG_TAG, "<< executeCreate"); +} // executeCreate + + +/** + * @brief Delete the service. + * Delete the service. + * @return N/A. + */ + +void BLEService::executeDelete() { + ESP_LOGD(LOG_TAG, ">> executeDelete()"); + m_semaphoreDeleteEvt.take("executeDelete"); // Take the mutex and release at event ESP_GATTS_DELETE_EVT + + esp_err_t errRc = ::esp_ble_gatts_delete_service(getHandle()); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gatts_delete_service: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + m_semaphoreDeleteEvt.wait("executeDelete"); + ESP_LOGD(LOG_TAG, "<< executeDelete"); +} // executeDelete + + +/** + * @brief Dump details of this BLE GATT service. + * @return N/A. + */ +void BLEService::dump() { + ESP_LOGD(LOG_TAG, "Service: uuid:%s, handle: 0x%.2x", + m_uuid.toString().c_str(), + m_handle); + ESP_LOGD(LOG_TAG, "Characteristics:\n%s", m_characteristicMap.toString().c_str()); +} // dump + + +/** + * @brief Get the UUID of the service. + * @return the UUID of the service. + */ +BLEUUID BLEService::getUUID() { + return m_uuid; +} // getUUID + + +/** + * @brief Start the service. + * Here we wish to start the service which means that we will respond to partner requests about it. + * Starting a service also means that we can create the corresponding characteristics. + * @return Start the service. + */ +void BLEService::start() { +// We ask the BLE runtime to start the service and then create each of the characteristics. +// We start the service through its local handle which was returned in the ESP_GATTS_CREATE_EVT event +// obtained as a result of calling esp_ble_gatts_create_service(). +// + ESP_LOGD(LOG_TAG, ">> start(): Starting service (esp_ble_gatts_start_service): %s", toString().c_str()); + if (m_handle == NULL_HANDLE) { + ESP_LOGE(LOG_TAG, "<< !!! We attempted to start a service but don't know its handle!"); + return; + } + + BLECharacteristic *pCharacteristic = m_characteristicMap.getFirst(); + + while (pCharacteristic != nullptr) { + m_lastCreatedCharacteristic = pCharacteristic; + pCharacteristic->executeCreate(this); + + pCharacteristic = m_characteristicMap.getNext(); + } + // Start each of the characteristics ... these are found in the m_characteristicMap. + + m_semaphoreStartEvt.take("start"); + esp_err_t errRc = ::esp_ble_gatts_start_service(m_handle); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gatts_start_service: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + m_semaphoreStartEvt.wait("start"); + + ESP_LOGD(LOG_TAG, "<< start()"); +} // start + + +/** + * @brief Stop the service. + */ +void BLEService::stop() { +// We ask the BLE runtime to start the service and then create each of the characteristics. +// We start the service through its local handle which was returned in the ESP_GATTS_CREATE_EVT event +// obtained as a result of calling esp_ble_gatts_create_service(). + ESP_LOGD(LOG_TAG, ">> stop(): Stopping service (esp_ble_gatts_stop_service): %s", toString().c_str()); + if (m_handle == NULL_HANDLE) { + ESP_LOGE(LOG_TAG, "<< !!! We attempted to stop a service but don't know its handle!"); + return; + } + + m_semaphoreStopEvt.take("stop"); + esp_err_t errRc = ::esp_ble_gatts_stop_service(m_handle); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gatts_stop_service: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + m_semaphoreStopEvt.wait("stop"); + + ESP_LOGD(LOG_TAG, "<< stop()"); +} // start + + +/** + * @brief Set the handle associated with this service. + * @param [in] handle The handle associated with the service. + */ +void BLEService::setHandle(uint16_t handle) { + ESP_LOGD(LOG_TAG, ">> setHandle - Handle=0x%.2x, service UUID=%s)", handle, getUUID().toString().c_str()); + if (m_handle != NULL_HANDLE) { + ESP_LOGE(LOG_TAG, "!!! Handle is already set %.2x", m_handle); + return; + } + m_handle = handle; + ESP_LOGD(LOG_TAG, "<< setHandle"); +} // setHandle + + +/** + * @brief Get the handle associated with this service. + * @return The handle associated with this service. + */ +uint16_t BLEService::getHandle() { + return m_handle; +} // getHandle + + +/** + * @brief Add a characteristic to the service. + * @param [in] pCharacteristic A pointer to the characteristic to be added. + */ +void BLEService::addCharacteristic(BLECharacteristic* pCharacteristic) { + // We maintain a mapping of characteristics owned by this service. These are managed by the + // BLECharacteristicMap class instance found in m_characteristicMap. We add the characteristic + // to the map and then ask the service to add the characteristic at the BLE level (ESP-IDF). + + ESP_LOGD(LOG_TAG, ">> addCharacteristic()"); + ESP_LOGD(LOG_TAG, "Adding characteristic: uuid=%s to service: %s", + pCharacteristic->getUUID().toString().c_str(), + toString().c_str()); + + // Check that we don't add the same characteristic twice. + if (m_characteristicMap.getByUUID(pCharacteristic->getUUID()) != nullptr) { + ESP_LOGW(LOG_TAG, "<< Adding a new characteristic with the same UUID as a previous one"); + //return; + } + + // Remember this characteristic in our map of characteristics. At this point, we can lookup by UUID + // but not by handle. The handle is allocated to us on the ESP_GATTS_ADD_CHAR_EVT. + m_characteristicMap.setByUUID(pCharacteristic, pCharacteristic->getUUID()); + + ESP_LOGD(LOG_TAG, "<< addCharacteristic()"); +} // addCharacteristic + + +/** + * @brief Create a new BLE Characteristic associated with this service. + * @param [in] uuid - The UUID of the characteristic. + * @param [in] properties - The properties of the characteristic. + * @return The new BLE characteristic. + */ +BLECharacteristic* BLEService::createCharacteristic(const char* uuid, uint32_t properties) { + return createCharacteristic(BLEUUID(uuid), properties); +} + + +/** + * @brief Create a new BLE Characteristic associated with this service. + * @param [in] uuid - The UUID of the characteristic. + * @param [in] properties - The properties of the characteristic. + * @return The new BLE characteristic. + */ +BLECharacteristic* BLEService::createCharacteristic(BLEUUID uuid, uint32_t properties) { + BLECharacteristic* pCharacteristic = new BLECharacteristic(uuid, properties); + addCharacteristic(pCharacteristic); + return pCharacteristic; +} // createCharacteristic + + +/** + * @brief Handle a GATTS server event. + */ +void BLEService::handleGATTServerEvent(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t* param) { + switch (event) { + // ESP_GATTS_ADD_CHAR_EVT - Indicate that a characteristic was added to the service. + // add_char: + // - esp_gatt_status_t status + // - uint16_t attr_handle + // - uint16_t service_handle + // - esp_bt_uuid_t char_uuid + + // If we have reached the correct service, then locate the characteristic and remember the handle + // for that characteristic. + case ESP_GATTS_ADD_CHAR_EVT: { + if (m_handle == param->add_char.service_handle) { + BLECharacteristic *pCharacteristic = getLastCreatedCharacteristic(); + if (pCharacteristic == nullptr) { + ESP_LOGE(LOG_TAG, "Expected to find characteristic with UUID: %s, but didnt!", + BLEUUID(param->add_char.char_uuid).toString().c_str()); + dump(); + break; + } + pCharacteristic->setHandle(param->add_char.attr_handle); + m_characteristicMap.setByHandle(param->add_char.attr_handle, pCharacteristic); + break; + } // Reached the correct service. + break; + } // ESP_GATTS_ADD_CHAR_EVT + + + // ESP_GATTS_START_EVT + // + // start: + // esp_gatt_status_t status + // uint16_t service_handle + case ESP_GATTS_START_EVT: { + if (param->start.service_handle == getHandle()) { + m_semaphoreStartEvt.give(); + } + break; + } // ESP_GATTS_START_EVT + + // ESP_GATTS_STOP_EVT + // + // stop: + // esp_gatt_status_t status + // uint16_t service_handle + // + case ESP_GATTS_STOP_EVT: { + if (param->stop.service_handle == getHandle()) { + m_semaphoreStopEvt.give(); + } + break; + } // ESP_GATTS_STOP_EVT + + + // ESP_GATTS_CREATE_EVT + // Called when a new service is registered as having been created. + // + // create: + // * esp_gatt_status_t status + // * uint16_t service_handle + // * esp_gatt_srvc_id_t service_id + // * - esp_gatt_id id + // * - esp_bt_uuid uuid + // * - uint8_t inst_id + // * - bool is_primary + // + case ESP_GATTS_CREATE_EVT: { + if (getUUID().equals(BLEUUID(param->create.service_id.id.uuid)) && m_instId == param->create.service_id.id.inst_id) { + setHandle(param->create.service_handle); + m_semaphoreCreateEvt.give(); + } + break; + } // ESP_GATTS_CREATE_EVT + + + // ESP_GATTS_DELETE_EVT + // Called when a service is deleted. + // + // delete: + // * esp_gatt_status_t status + // * uint16_t service_handle + // + case ESP_GATTS_DELETE_EVT: { + if (param->del.service_handle == getHandle()) { + m_semaphoreDeleteEvt.give(); + } + break; + } // ESP_GATTS_DELETE_EVT + + default: + break; + } // Switch + + // Invoke the GATTS handler in each of the associated characteristics. + m_characteristicMap.handleGATTServerEvent(event, gatts_if, param); +} // handleGATTServerEvent + + +BLECharacteristic* BLEService::getCharacteristic(const char* uuid) { + return getCharacteristic(BLEUUID(uuid)); +} + + +BLECharacteristic* BLEService::getCharacteristic(BLEUUID uuid) { + return m_characteristicMap.getByUUID(uuid); +} + + +/** + * @brief Return a string representation of this service. + * A service is defined by: + * * Its UUID + * * Its handle + * @return A string representation of this service. + */ +std::string BLEService::toString() { + std::stringstream stringStream; + stringStream << "UUID: " << getUUID().toString() << + ", handle: 0x" << std::hex << std::setfill('0') << std::setw(2) << getHandle(); + return stringStream.str(); +} // toString + + +/** + * @brief Get the last created characteristic. + * It is lamentable that this function has to exist. It returns the last created characteristic. + * We need this because the descriptor API is built around the notion that a new descriptor, when created, + * is associated with the last characteristics created and we need that information. + * @return The last created characteristic. + */ +BLECharacteristic* BLEService::getLastCreatedCharacteristic() { + return m_lastCreatedCharacteristic; +} // getLastCreatedCharacteristic + + +/** + * @brief Get the BLE server associated with this service. + * @return The BLEServer associated with this service. + */ +BLEServer* BLEService::getServer() { + return m_pServer; +} // getServer + +#endif // CONFIG_BT_ENABLED diff --git a/libraries/BLE/src/BLEService.h b/libraries/BLE/src/BLEService.h new file mode 100644 index 00000000..b42d57f2 --- /dev/null +++ b/libraries/BLE/src/BLEService.h @@ -0,0 +1,97 @@ +/* + * BLEService.h + * + * Created on: Mar 25, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLESERVICE_H_ +#define COMPONENTS_CPP_UTILS_BLESERVICE_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include + +#include "BLECharacteristic.h" +#include "BLEServer.h" +#include "BLEUUID.h" +#include "FreeRTOS.h" + +class BLEServer; + +/** + * @brief A data mapping used to manage the set of %BLE characteristics known to the server. + */ +class BLECharacteristicMap { +public: + void setByUUID(BLECharacteristic* pCharacteristic, const char* uuid); + void setByUUID(BLECharacteristic* pCharacteristic, BLEUUID uuid); + void setByHandle(uint16_t handle, BLECharacteristic* pCharacteristic); + BLECharacteristic* getByUUID(const char* uuid); + BLECharacteristic* getByUUID(BLEUUID uuid); + BLECharacteristic* getByHandle(uint16_t handle); + BLECharacteristic* getFirst(); + BLECharacteristic* getNext(); + std::string toString(); + void handleGATTServerEvent(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t* param); + +private: + std::map m_uuidMap; + std::map m_handleMap; + std::map::iterator m_iterator; +}; + + +/** + * @brief The model of a %BLE service. + * + */ +class BLEService { +public: + void addCharacteristic(BLECharacteristic* pCharacteristic); + BLECharacteristic* createCharacteristic(const char* uuid, uint32_t properties); + BLECharacteristic* createCharacteristic(BLEUUID uuid, uint32_t properties); + void dump(); + void executeCreate(BLEServer* pServer); + void executeDelete(); + BLECharacteristic* getCharacteristic(const char* uuid); + BLECharacteristic* getCharacteristic(BLEUUID uuid); + BLEUUID getUUID(); + BLEServer* getServer(); + void start(); + void stop(); + std::string toString(); + uint16_t getHandle(); + uint8_t m_instId = 0; + +private: + BLEService(const char* uuid, uint16_t numHandles); + BLEService(BLEUUID uuid, uint16_t numHandles); + friend class BLEServer; + friend class BLEServiceMap; + friend class BLEDescriptor; + friend class BLECharacteristic; + friend class BLEDevice; + + BLECharacteristicMap m_characteristicMap; + uint16_t m_handle; + BLECharacteristic* m_lastCreatedCharacteristic = nullptr; + BLEServer* m_pServer = nullptr; + BLEUUID m_uuid; + + FreeRTOS::Semaphore m_semaphoreCreateEvt = FreeRTOS::Semaphore("CreateEvt"); + FreeRTOS::Semaphore m_semaphoreDeleteEvt = FreeRTOS::Semaphore("DeleteEvt"); + FreeRTOS::Semaphore m_semaphoreStartEvt = FreeRTOS::Semaphore("StartEvt"); + FreeRTOS::Semaphore m_semaphoreStopEvt = FreeRTOS::Semaphore("StopEvt"); + + uint16_t m_numHandles; + + BLECharacteristic* getLastCreatedCharacteristic(); + void handleGATTServerEvent(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t* param); + void setHandle(uint16_t handle); + //void setService(esp_gatt_srvc_id_t srvc_id); +}; // BLEService + + +#endif // CONFIG_BT_ENABLED +#endif /* COMPONENTS_CPP_UTILS_BLESERVICE_H_ */ diff --git a/libraries/BLE/src/BLEServiceMap.cpp b/libraries/BLE/src/BLEServiceMap.cpp new file mode 100644 index 00000000..cf4f75f4 --- /dev/null +++ b/libraries/BLE/src/BLEServiceMap.cpp @@ -0,0 +1,134 @@ +/* + * BLEServiceMap.cpp + * + * Created on: Jun 22, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include "BLEService.h" + + +/** + * @brief Return the service by UUID. + * @param [in] UUID The UUID to look up the service. + * @return The characteristic. + */ +BLEService* BLEServiceMap::getByUUID(const char* uuid) { + return getByUUID(BLEUUID(uuid)); +} + +/** + * @brief Return the service by UUID. + * @param [in] UUID The UUID to look up the service. + * @return The characteristic. + */ +BLEService* BLEServiceMap::getByUUID(BLEUUID uuid, uint8_t inst_id) { + for (auto &myPair : m_uuidMap) { + if (myPair.first->getUUID().equals(uuid)) { + return myPair.first; + } + } + //return m_uuidMap.at(uuid.toString()); + return nullptr; +} // getByUUID + + +/** + * @brief Return the service by handle. + * @param [in] handle The handle to look up the service. + * @return The service. + */ +BLEService* BLEServiceMap::getByHandle(uint16_t handle) { + return m_handleMap.at(handle); +} // getByHandle + + +/** + * @brief Set the service by UUID. + * @param [in] uuid The uuid of the service. + * @param [in] characteristic The service to cache. + * @return N/A. + */ +void BLEServiceMap::setByUUID(BLEUUID uuid, BLEService* service) { + m_uuidMap.insert(std::pair(service, uuid.toString())); +} // setByUUID + + +/** + * @brief Set the service by handle. + * @param [in] handle The handle of the service. + * @param [in] service The service to cache. + * @return N/A. + */ +void BLEServiceMap::setByHandle(uint16_t handle, BLEService* service) { + m_handleMap.insert(std::pair(handle, service)); +} // setByHandle + + +/** + * @brief Return a string representation of the service map. + * @return A string representation of the service map. + */ +std::string BLEServiceMap::toString() { + std::stringstream stringStream; + stringStream << std::hex << std::setfill('0'); + for (auto &myPair: m_handleMap) { + stringStream << "handle: 0x" << std::setw(2) << myPair.first << ", uuid: " + myPair.second->getUUID().toString() << "\n"; + } + return stringStream.str(); +} // toString + +void BLEServiceMap::handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param) { + // Invoke the handler for every Service we have. + for (auto &myPair : m_uuidMap) { + myPair.first->handleGATTServerEvent(event, gatts_if, param); + } +} + +/** + * @brief Get the first service in the map. + * @return The first service in the map. + */ +BLEService* BLEServiceMap::getFirst() { + m_iterator = m_uuidMap.begin(); + if (m_iterator == m_uuidMap.end()) return nullptr; + BLEService* pRet = m_iterator->first; + m_iterator++; + return pRet; +} // getFirst + +/** + * @brief Get the next service in the map. + * @return The next service in the map. + */ +BLEService* BLEServiceMap::getNext() { + if (m_iterator == m_uuidMap.end()) return nullptr; + BLEService* pRet = m_iterator->first; + m_iterator++; + return pRet; +} // getNext + +/** + * @brief Removes service from maps. + * @return N/A. + */ +void BLEServiceMap::removeService(BLEService* service) { + m_handleMap.erase(service->getHandle()); + m_uuidMap.erase(service); +} // removeService + +/** + * @brief Returns the amount of registered services + * @return amount of registered services + */ +int BLEServiceMap::getRegisteredServiceCount(){ + return m_handleMap.size(); +} + +#endif /* CONFIG_BT_ENABLED */ diff --git a/libraries/BLE/src/BLEUUID.cpp b/libraries/BLE/src/BLEUUID.cpp new file mode 100644 index 00000000..4ddf8fc2 --- /dev/null +++ b/libraries/BLE/src/BLEUUID.cpp @@ -0,0 +1,407 @@ +/* + * BLEUUID.cpp + * + * Created on: Jun 21, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include +#include +#include +#include +#include "BLEUUID.h" + +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLEUUID"; +#endif + + +/** + * @brief Copy memory from source to target but in reverse order. + * + * When we move memory from one location it is normally: + * + * ``` + * [0][1][2]...[n] -> [0][1][2]...[n] + * ``` + * + * with this function, it is: + * + * ``` + * [0][1][2]...[n] -> [n][n-1][n-2]...[0] + * ``` + * + * @param [in] target The target of the copy + * @param [in] source The source of the copy + * @param [in] size The number of bytes to copy + */ +static void memrcpy(uint8_t* target, uint8_t* source, uint32_t size) { + assert(size > 0); + target += (size - 1); // Point target to the last byte of the target data + while (size > 0) { + *target = *source; + target--; + source++; + size--; + } +} // memrcpy + + +/** + * @brief Create a UUID from a string. + * + * Create a UUID from a string. There will be two possible stories here. Either the string represents + * a binary data field or the string represents a hex encoding of a UUID. + * For the hex encoding, here is an example: + * + * ``` + * "beb5483e-36e1-4688-b7f5-ea07361b26a8" + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + * 12345678-90ab-cdef-1234-567890abcdef + * ``` + * + * This has a length of 36 characters. We need to parse this into 16 bytes. + * + * @param [in] value The string to build a UUID from. + */ +BLEUUID::BLEUUID(std::string value) { + m_valueSet = true; + if (value.length() == 4) { + m_uuid.len = ESP_UUID_LEN_16; + m_uuid.uuid.uuid16 = 0; + for(int i=0;i '9') MSB -= 7; + if(LSB > '9') LSB -= 7; + m_uuid.uuid.uuid16 += (((MSB&0x0F) <<4) | (LSB & 0x0F))<<(2-i)*4; + i+=2; + } + } + else if (value.length() == 8) { + m_uuid.len = ESP_UUID_LEN_32; + m_uuid.uuid.uuid32 = 0; + for(int i=0;i '9') MSB -= 7; + if(LSB > '9') LSB -= 7; + m_uuid.uuid.uuid32 += (((MSB&0x0F) <<4) | (LSB & 0x0F))<<(6-i)*4; + i+=2; + } + } + else if (value.length() == 16) { // how we can have 16 byte length string reprezenting 128 bit uuid??? needs to be investigated (lack of time) + m_uuid.len = ESP_UUID_LEN_128; + memrcpy(m_uuid.uuid.uuid128, (uint8_t*)value.data(), 16); + } + else if (value.length() == 36) { + // If the length of the string is 36 bytes then we will assume it is a long hex string in + // UUID format. + m_uuid.len = ESP_UUID_LEN_128; + int n = 0; + for(int i=0;i '9') MSB -= 7; + if(LSB > '9') LSB -= 7; + m_uuid.uuid.uuid128[15-n++] = ((MSB&0x0F) <<4) | (LSB & 0x0F); + i+=2; + } + } + else { + ESP_LOGE(LOG_TAG, "ERROR: UUID value not 2, 4, 16 or 36 bytes"); + m_valueSet = false; + } +} //BLEUUID(std::string) + + +/** + * @brief Create a UUID from 16 bytes of memory. + * + * @param [in] pData The pointer to the start of the UUID. + * @param [in] size The size of the data. + * @param [in] msbFirst Is the MSB first in pData memory? + */ +BLEUUID::BLEUUID(uint8_t* pData, size_t size, bool msbFirst) { + if (size != 16) { + ESP_LOGE(LOG_TAG, "ERROR: UUID length not 16 bytes"); + return; + } + m_uuid.len = ESP_UUID_LEN_128; + if (msbFirst) { + memrcpy(m_uuid.uuid.uuid128, pData, 16); + } else { + memcpy(m_uuid.uuid.uuid128, pData, 16); + } + m_valueSet = true; +} // BLEUUID + + +/** + * @brief Create a UUID from the 16bit value. + * + * @param [in] uuid The 16bit short form UUID. + */ +BLEUUID::BLEUUID(uint16_t uuid) { + m_uuid.len = ESP_UUID_LEN_16; + m_uuid.uuid.uuid16 = uuid; + m_valueSet = true; +} // BLEUUID + + +/** + * @brief Create a UUID from the 32bit value. + * + * @param [in] uuid The 32bit short form UUID. + */ +BLEUUID::BLEUUID(uint32_t uuid) { + m_uuid.len = ESP_UUID_LEN_32; + m_uuid.uuid.uuid32 = uuid; + m_valueSet = true; +} // BLEUUID + + +/** + * @brief Create a UUID from the native UUID. + * + * @param [in] uuid The native UUID. + */ +BLEUUID::BLEUUID(esp_bt_uuid_t uuid) { + m_uuid = uuid; + m_valueSet = true; +} // BLEUUID + + +/** + * @brief Create a UUID from the ESP32 esp_gat_id_t. + * + * @param [in] gattId The data to create the UUID from. + */ +BLEUUID::BLEUUID(esp_gatt_id_t gattId) : BLEUUID(gattId.uuid) { +} // BLEUUID + + +BLEUUID::BLEUUID() { + m_valueSet = false; +} // BLEUUID + + +/** + * @brief Get the number of bits in this uuid. + * @return The number of bits in the UUID. One of 16, 32 or 128. + */ +uint8_t BLEUUID::bitSize() { + if (!m_valueSet) return 0; + switch (m_uuid.len) { + case ESP_UUID_LEN_16: + return 16; + case ESP_UUID_LEN_32: + return 32; + case ESP_UUID_LEN_128: + return 128; + default: + ESP_LOGE(LOG_TAG, "Unknown UUID length: %d", m_uuid.len); + return 0; + } // End of switch +} // bitSize + + +/** + * @brief Compare a UUID against this UUID. + * + * @param [in] uuid The UUID to compare against. + * @return True if the UUIDs are equal and false otherwise. + */ +bool BLEUUID::equals(BLEUUID uuid) { + //ESP_LOGD(TAG, "Comparing: %s to %s", toString().c_str(), uuid.toString().c_str()); + if (!m_valueSet || !uuid.m_valueSet) return false; + + if (uuid.m_uuid.len != m_uuid.len) { + return uuid.toString() == toString(); + } + + if (uuid.m_uuid.len == ESP_UUID_LEN_16) { + return uuid.m_uuid.uuid.uuid16 == m_uuid.uuid.uuid16; + } + + if (uuid.m_uuid.len == ESP_UUID_LEN_32) { + return uuid.m_uuid.uuid.uuid32 == m_uuid.uuid.uuid32; + } + + return memcmp(uuid.m_uuid.uuid.uuid128, m_uuid.uuid.uuid128, 16) == 0; +} // equals + + +/** + * Create a BLEUUID from a string of the form: + * 0xNNNN + * 0xNNNNNNNN + * 0x + * NNNN + * NNNNNNNN + * + */ +BLEUUID BLEUUID::fromString(std::string _uuid) { + uint8_t start = 0; + if (strstr(_uuid.c_str(), "0x") != nullptr) { // If the string starts with 0x, skip those characters. + start = 2; + } + uint8_t len = _uuid.length() - start; // Calculate the length of the string we are going to use. + + if(len == 4) { + uint16_t x = strtoul(_uuid.substr(start, len).c_str(), NULL, 16); + return BLEUUID(x); + } else if (len == 8) { + uint32_t x = strtoul(_uuid.substr(start, len).c_str(), NULL, 16); + return BLEUUID(x); + } else if (len == 36) { + return BLEUUID(_uuid); + } + return BLEUUID(); +} // fromString + + +/** + * @brief Get the native UUID value. + * + * @return The native UUID value or NULL if not set. + */ +esp_bt_uuid_t* BLEUUID::getNative() { + //ESP_LOGD(TAG, ">> getNative()") + if (m_valueSet == false) { + ESP_LOGD(LOG_TAG, "<< Return of un-initialized UUID!"); + return nullptr; + } + //ESP_LOGD(TAG, "<< getNative()"); + return &m_uuid; +} // getNative + + +/** + * @brief Convert a UUID to its 128 bit representation. + * + * A UUID can be internally represented as 16bit, 32bit or the full 128bit. This method + * will convert 16 or 32 bit representations to the full 128bit. + */ +BLEUUID BLEUUID::to128() { + //ESP_LOGD(LOG_TAG, ">> toFull() - %s", toString().c_str()); + + // If we either don't have a value or are already a 128 bit UUID, nothing further to do. + if (!m_valueSet || m_uuid.len == ESP_UUID_LEN_128) { + return *this; + } + + // If we are 16 bit or 32 bit, then set the 4 bytes of the variable part of the UUID. + if (m_uuid.len == ESP_UUID_LEN_16) { + uint16_t temp = m_uuid.uuid.uuid16; + m_uuid.uuid.uuid128[15] = 0; + m_uuid.uuid.uuid128[14] = 0; + m_uuid.uuid.uuid128[13] = (temp >> 8) & 0xff; + m_uuid.uuid.uuid128[12] = temp & 0xff; + + } + else if (m_uuid.len == ESP_UUID_LEN_32) { + uint32_t temp = m_uuid.uuid.uuid32; + m_uuid.uuid.uuid128[15] = (temp >> 24) & 0xff; + m_uuid.uuid.uuid128[14] = (temp >> 16) & 0xff; + m_uuid.uuid.uuid128[13] = (temp >> 8) & 0xff; + m_uuid.uuid.uuid128[12] = temp & 0xff; + } + + // Set the fixed parts of the UUID. + m_uuid.uuid.uuid128[11] = 0x00; + m_uuid.uuid.uuid128[10] = 0x00; + + m_uuid.uuid.uuid128[9] = 0x10; + m_uuid.uuid.uuid128[8] = 0x00; + + m_uuid.uuid.uuid128[7] = 0x80; + m_uuid.uuid.uuid128[6] = 0x00; + + m_uuid.uuid.uuid128[5] = 0x00; + m_uuid.uuid.uuid128[4] = 0x80; + m_uuid.uuid.uuid128[3] = 0x5f; + m_uuid.uuid.uuid128[2] = 0x9b; + m_uuid.uuid.uuid128[1] = 0x34; + m_uuid.uuid.uuid128[0] = 0xfb; + + m_uuid.len = ESP_UUID_LEN_128; + //ESP_LOGD(TAG, "<< toFull <- %s", toString().c_str()); + return *this; +} // to128 + + + + +/** + * @brief Get a string representation of the UUID. + * + * The format of a string is: + * 01234567 8901 2345 6789 012345678901 + * 0000180d-0000-1000-8000-00805f9b34fb + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + * + * @return A string representation of the UUID. + */ +std::string BLEUUID::toString() { + if (!m_valueSet) return ""; // If we have no value, nothing to format. + + // If the UUIDs are 16 or 32 bit, pad correctly. + std::stringstream ss; + + if (m_uuid.len == ESP_UUID_LEN_16) { // If the UUID is 16bit, pad correctly. + ss << "0000" << + std::hex << + std::setfill('0') << + std::setw(4) << + m_uuid.uuid.uuid16 << + "-0000-1000-8000-00805f9b34fb"; + return ss.str(); // Return the string + } // End 16bit UUID + + if (m_uuid.len == ESP_UUID_LEN_32) { // If the UUID is 32bit, pad correctly. + ss << std::hex << + std::setfill('0') << + std::setw(8) << + m_uuid.uuid.uuid32 << + "-0000-1000-8000-00805f9b34fb"; + return ss.str(); // return the string + } // End 32bit UUID + + // The UUID is not 16bit or 32bit which means that it is 128bit. + // + // UUID string format: + // AABBCCDD-EEFF-GGHH-IIJJ-KKLLMMNNOOPP + ss << std::hex << std::setfill('0') << + std::setw(2) << (int) m_uuid.uuid.uuid128[15] << + std::setw(2) << (int) m_uuid.uuid.uuid128[14] << + std::setw(2) << (int) m_uuid.uuid.uuid128[13] << + std::setw(2) << (int) m_uuid.uuid.uuid128[12] << "-" << + std::setw(2) << (int) m_uuid.uuid.uuid128[11] << + std::setw(2) << (int) m_uuid.uuid.uuid128[10] << "-" << + std::setw(2) << (int) m_uuid.uuid.uuid128[9] << + std::setw(2) << (int) m_uuid.uuid.uuid128[8] << "-" << + std::setw(2) << (int) m_uuid.uuid.uuid128[7] << + std::setw(2) << (int) m_uuid.uuid.uuid128[6] << "-" << + std::setw(2) << (int) m_uuid.uuid.uuid128[5] << + std::setw(2) << (int) m_uuid.uuid.uuid128[4] << + std::setw(2) << (int) m_uuid.uuid.uuid128[3] << + std::setw(2) << (int) m_uuid.uuid.uuid128[2] << + std::setw(2) << (int) m_uuid.uuid.uuid128[1] << + std::setw(2) << (int) m_uuid.uuid.uuid128[0]; + return ss.str(); +} // toString + +#endif /* CONFIG_BT_ENABLED */ diff --git a/libraries/BLE/src/BLEUUID.h b/libraries/BLE/src/BLEUUID.h new file mode 100644 index 00000000..700739be --- /dev/null +++ b/libraries/BLE/src/BLEUUID.h @@ -0,0 +1,39 @@ +/* + * BLEUUID.h + * + * Created on: Jun 21, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEUUID_H_ +#define COMPONENTS_CPP_UTILS_BLEUUID_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include + +/** + * @brief A model of a %BLE UUID. + */ +class BLEUUID { +public: + BLEUUID(std::string uuid); + BLEUUID(uint16_t uuid); + BLEUUID(uint32_t uuid); + BLEUUID(esp_bt_uuid_t uuid); + BLEUUID(uint8_t* pData, size_t size, bool msbFirst); + BLEUUID(esp_gatt_id_t gattId); + BLEUUID(); + uint8_t bitSize(); // Get the number of bits in this uuid. + bool equals(BLEUUID uuid); + esp_bt_uuid_t* getNative(); + BLEUUID to128(); + std::string toString(); + static BLEUUID fromString(std::string uuid); // Create a BLEUUID from a string + +private: + esp_bt_uuid_t m_uuid; // The underlying UUID structure that this class wraps. + bool m_valueSet = false; // Is there a value set for this instance. +}; // BLEUUID +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEUUID_H_ */ diff --git a/libraries/BLE/src/BLEUtils.cpp b/libraries/BLE/src/BLEUtils.cpp new file mode 100644 index 00000000..5cd55f93 --- /dev/null +++ b/libraries/BLE/src/BLEUtils.cpp @@ -0,0 +1,2033 @@ +/* + * BLEUtils.cpp + * + * Created on: Mar 25, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include "BLEAddress.h" +#include "BLEClient.h" +#include "BLEUtils.h" +#include "BLEUUID.h" +#include "GeneralUtils.h" + +#include +#include +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 ESP-IDF +#include // Part of C++ STL +#include +#include + +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "BLEUtils"; // Tag for logging. +#endif + + +/* +static std::map g_addressMap; +static std::map g_connIdMap; +*/ + +typedef struct { + uint32_t assignedNumber; + const char* name; +} member_t; + +static const member_t members_ids[] = { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + {0xFE08, "Microsoft"}, + {0xFE09, "Pillsy, Inc."}, + {0xFE0A, "ruwido austria gmbh"}, + {0xFE0B, "ruwido austria gmbh"}, + {0xFE0C, "Procter & Gamble"}, + {0xFE0D, "Procter & Gamble"}, + {0xFE0E, "Setec Pty Ltd"}, + {0xFE0F, "Philips Lighting B.V."}, + {0xFE10, "Lapis Semiconductor Co., Ltd."}, + {0xFE11, "GMC-I Messtechnik GmbH"}, + {0xFE12, "M-Way Solutions GmbH"}, + {0xFE13, "Apple Inc."}, + {0xFE14, "Flextronics International USA Inc."}, + {0xFE15, "Amazon Fulfillment Services, Inc."}, + {0xFE16, "Footmarks, Inc."}, + {0xFE17, "Telit Wireless Solutions GmbH"}, + {0xFE18, "Runtime, Inc."}, + {0xFE19, "Google Inc."}, + {0xFE1A, "Tyto Life LLC"}, + {0xFE1B, "Tyto Life LLC"}, + {0xFE1C, "NetMedia, Inc."}, + {0xFE1D, "Illuminati Instrument Corporation"}, + {0xFE1E, "Smart Innovations Co., Ltd"}, + {0xFE1F, "Garmin International, Inc."}, + {0xFE20, "Emerson"}, + {0xFE21, "Bose Corporation"}, + {0xFE22, "Zoll Medical Corporation"}, + {0xFE23, "Zoll Medical Corporation"}, + {0xFE24, "August Home Inc"}, + {0xFE25, "Apple, Inc. "}, + {0xFE26, "Google Inc."}, + {0xFE27, "Google Inc."}, + {0xFE28, "Ayla Networks"}, + {0xFE29, "Gibson Innovations"}, + {0xFE2A, "DaisyWorks, Inc."}, + {0xFE2B, "ITT Industries"}, + {0xFE2C, "Google Inc."}, + {0xFE2D, "SMART INNOVATION Co.,Ltd"}, + {0xFE2E, "ERi,Inc."}, + {0xFE2F, "CRESCO Wireless, Inc"}, + {0xFE30, "Volkswagen AG"}, + {0xFE31, "Volkswagen AG"}, + {0xFE32, "Pro-Mark, Inc."}, + {0xFE33, "CHIPOLO d.o.o."}, + {0xFE34, "SmallLoop LLC"}, + {0xFE35, "HUAWEI Technologies Co., Ltd"}, + {0xFE36, "HUAWEI Technologies Co., Ltd"}, + {0xFE37, "Spaceek LTD"}, + {0xFE38, "Spaceek LTD"}, + {0xFE39, "TTS Tooltechnic Systems AG & Co. KG"}, + {0xFE3A, "TTS Tooltechnic Systems AG & Co. KG"}, + {0xFE3B, "Dolby Laboratories"}, + {0xFE3C, "Alibaba"}, + {0xFE3D, "BD Medical"}, + {0xFE3E, "BD Medical"}, + {0xFE3F, "Friday Labs Limited"}, + {0xFE40, "Inugo Systems Limited"}, + {0xFE41, "Inugo Systems Limited"}, + {0xFE42, "Nets A/S "}, + {0xFE43, "Andreas Stihl AG & Co. KG"}, + {0xFE44, "SK Telecom "}, + {0xFE45, "Snapchat Inc"}, + {0xFE46, "B&O Play A/S "}, + {0xFE47, "General Motors"}, + {0xFE48, "General Motors"}, + {0xFE49, "SenionLab AB"}, + {0xFE4A, "OMRON HEALTHCARE Co., Ltd."}, + {0xFE4B, "Philips Lighting B.V."}, + {0xFE4C, "Volkswagen AG"}, + {0xFE4D, "Casambi Technologies Oy"}, + {0xFE4E, "NTT docomo"}, + {0xFE4F, "Molekule, Inc."}, + {0xFE50, "Google Inc."}, + {0xFE51, "SRAM"}, + {0xFE52, "SetPoint Medical"}, + {0xFE53, "3M"}, + {0xFE54, "Motiv, Inc."}, + {0xFE55, "Google Inc."}, + {0xFE56, "Google Inc."}, + {0xFE57, "Dotted Labs"}, + {0xFE58, "Nordic Semiconductor ASA"}, + {0xFE59, "Nordic Semiconductor ASA"}, + {0xFE5A, "Chronologics Corporation"}, + {0xFE5B, "GT-tronics HK Ltd"}, + {0xFE5C, "million hunters GmbH"}, + {0xFE5D, "Grundfos A/S"}, + {0xFE5E, "Plastc Corporation"}, + {0xFE5F, "Eyefi, Inc."}, + {0xFE60, "Lierda Science & Technology Group Co., Ltd."}, + {0xFE61, "Logitech International SA"}, + {0xFE62, "Indagem Tech LLC"}, + {0xFE63, "Connected Yard, Inc."}, + {0xFE64, "Siemens AG"}, + {0xFE65, "CHIPOLO d.o.o."}, + {0xFE66, "Intel Corporation"}, + {0xFE67, "Lab Sensor Solutions"}, + {0xFE68, "Qualcomm Life Inc"}, + {0xFE69, "Qualcomm Life Inc"}, + {0xFE6A, "Kontakt Micro-Location Sp. z o.o."}, + {0xFE6B, "TASER International, Inc."}, + {0xFE6C, "TASER International, Inc."}, + {0xFE6D, "The University of Tokyo"}, + {0xFE6E, "The University of Tokyo"}, + {0xFE6F, "LINE Corporation"}, + {0xFE70, "Beijing Jingdong Century Trading Co., Ltd."}, + {0xFE71, "Plume Design Inc"}, + {0xFE72, "St. Jude Medical, Inc."}, + {0xFE73, "St. Jude Medical, Inc."}, + {0xFE74, "unwire"}, + {0xFE75, "TangoMe"}, + {0xFE76, "TangoMe"}, + {0xFE77, "Hewlett-Packard Company"}, + {0xFE78, "Hewlett-Packard Company"}, + {0xFE79, "Zebra Technologies"}, + {0xFE7A, "Bragi GmbH"}, + {0xFE7B, "Orion Labs, Inc."}, + {0xFE7C, "Telit Wireless Solutions (Formerly Stollmann E+V GmbH)"}, + {0xFE7D, "Aterica Health Inc."}, + {0xFE7E, "Awear Solutions Ltd"}, + {0xFE7F, "Doppler Lab"}, + {0xFE80, "Doppler Lab"}, + {0xFE81, "Medtronic Inc."}, + {0xFE82, "Medtronic Inc."}, + {0xFE83, "Blue Bite"}, + {0xFE84, "RF Digital Corp"}, + {0xFE85, "RF Digital Corp"}, + {0xFE86, "HUAWEI Technologies Co., Ltd. ( )"}, + {0xFE87, "Qingdao Yeelink Information Technology Co., Ltd. ( )"}, + {0xFE88, "SALTO SYSTEMS S.L."}, + {0xFE89, "B&O Play A/S"}, + {0xFE8A, "Apple, Inc."}, + {0xFE8B, "Apple, Inc."}, + {0xFE8C, "TRON Forum"}, + {0xFE8D, "Interaxon Inc."}, + {0xFE8E, "ARM Ltd"}, + {0xFE8F, "CSR"}, + {0xFE90, "JUMA"}, + {0xFE91, "Shanghai Imilab Technology Co.,Ltd"}, + {0xFE92, "Jarden Safety & Security"}, + {0xFE93, "OttoQ Inc."}, + {0xFE94, "OttoQ Inc."}, + {0xFE95, "Xiaomi Inc."}, + {0xFE96, "Tesla Motor Inc."}, + {0xFE97, "Tesla Motor Inc."}, + {0xFE98, "Currant, Inc."}, + {0xFE99, "Currant, Inc."}, + {0xFE9A, "Estimote"}, + {0xFE9B, "Samsara Networks, Inc"}, + {0xFE9C, "GSI Laboratories, Inc."}, + {0xFE9D, "Mobiquity Networks Inc"}, + {0xFE9E, "Dialog Semiconductor B.V."}, + {0xFE9F, "Google Inc."}, + {0xFEA0, "Google Inc."}, + {0xFEA1, "Intrepid Control Systems, Inc."}, + {0xFEA2, "Intrepid Control Systems, Inc."}, + {0xFEA3, "ITT Industries"}, + {0xFEA4, "Paxton Access Ltd"}, + {0xFEA5, "GoPro, Inc."}, + {0xFEA6, "GoPro, Inc."}, + {0xFEA7, "UTC Fire and Security"}, + {0xFEA8, "Savant Systems LLC"}, + {0xFEA9, "Savant Systems LLC"}, + {0xFEAA, "Google Inc."}, + {0xFEAB, "Nokia Corporation"}, + {0xFEAC, "Nokia Corporation"}, + {0xFEAD, "Nokia Corporation"}, + {0xFEAE, "Nokia Corporation"}, + {0xFEAF, "Nest Labs Inc."}, + {0xFEB0, "Nest Labs Inc."}, + {0xFEB1, "Electronics Tomorrow Limited"}, + {0xFEB2, "Microsoft Corporation"}, + {0xFEB3, "Taobao"}, + {0xFEB4, "WiSilica Inc."}, + {0xFEB5, "WiSilica Inc."}, + {0xFEB6, "Vencer Co, Ltd"}, + {0xFEB7, "Facebook, Inc."}, + {0xFEB8, "Facebook, Inc."}, + {0xFEB9, "LG Electronics"}, + {0xFEBA, "Tencent Holdings Limited"}, + {0xFEBB, "adafruit industries"}, + {0xFEBC, "Dexcom, Inc. "}, + {0xFEBD, "Clover Network, Inc."}, + {0xFEBE, "Bose Corporation"}, + {0xFEBF, "Nod, Inc."}, + {0xFEC0, "KDDI Corporation"}, + {0xFEC1, "KDDI Corporation"}, + {0xFEC2, "Blue Spark Technologies, Inc."}, + {0xFEC3, "360fly, Inc."}, + {0xFEC4, "PLUS Location Systems"}, + {0xFEC5, "Realtek Semiconductor Corp."}, + {0xFEC6, "Kocomojo, LLC"}, + {0xFEC7, "Apple, Inc."}, + {0xFEC8, "Apple, Inc."}, + {0xFEC9, "Apple, Inc."}, + {0xFECA, "Apple, Inc."}, + {0xFECB, "Apple, Inc."}, + {0xFECC, "Apple, Inc."}, + {0xFECD, "Apple, Inc."}, + {0xFECE, "Apple, Inc."}, + {0xFECF, "Apple, Inc."}, + {0xFED0, "Apple, Inc."}, + {0xFED1, "Apple, Inc."}, + {0xFED2, "Apple, Inc."}, + {0xFED3, "Apple, Inc."}, + {0xFED4, "Apple, Inc."}, + {0xFED5, "Plantronics Inc."}, + {0xFED6, "Broadcom Corporation"}, + {0xFED7, "Broadcom Corporation"}, + {0xFED8, "Google Inc."}, + {0xFED9, "Pebble Technology Corporation"}, + {0xFEDA, "ISSC Technologies Corporation"}, + {0xFEDB, "Perka, Inc."}, + {0xFEDC, "Jawbone"}, + {0xFEDD, "Jawbone"}, + {0xFEDE, "Coin, Inc."}, + {0xFEDF, "Design SHIFT"}, + {0xFEE0, "Anhui Huami Information Technology Co."}, + {0xFEE1, "Anhui Huami Information Technology Co."}, + {0xFEE2, "Anki, Inc."}, + {0xFEE3, "Anki, Inc."}, + {0xFEE4, "Nordic Semiconductor ASA"}, + {0xFEE5, "Nordic Semiconductor ASA"}, + {0xFEE6, "Silvair, Inc."}, + {0xFEE7, "Tencent Holdings Limited"}, + {0xFEE8, "Quintic Corp."}, + {0xFEE9, "Quintic Corp."}, + {0xFEEA, "Swirl Networks, Inc."}, + {0xFEEB, "Swirl Networks, Inc."}, + {0xFEEC, "Tile, Inc."}, + {0xFEED, "Tile, Inc."}, + {0xFEEE, "Polar Electro Oy"}, + {0xFEEF, "Polar Electro Oy"}, + {0xFEF0, "Intel"}, + {0xFEF1, "CSR"}, + {0xFEF2, "CSR"}, + {0xFEF3, "Google Inc."}, + {0xFEF4, "Google Inc."}, + {0xFEF5, "Dialog Semiconductor GmbH"}, + {0xFEF6, "Wicentric, Inc."}, + {0xFEF7, "Aplix Corporation"}, + {0xFEF8, "Aplix Corporation"}, + {0xFEF9, "PayPal, Inc."}, + {0xFEFA, "PayPal, Inc."}, + {0xFEFB, "Telit Wireless Solutions (Formerly Stollmann E+V GmbH)"}, + {0xFEFC, "Gimbal, Inc."}, + {0xFEFD, "Gimbal, Inc."}, + {0xFEFE, "GN ReSound A/S"}, + {0xFEFF, "GN Netcom"}, + {0xFFFF, "Reserved"}, /*for testing purposes only*/ +#endif + {0, "" } +}; + +typedef struct { + uint32_t assignedNumber; + const char* name; +} gattdescriptor_t; + +static const gattdescriptor_t g_descriptor_ids[] = { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + {0x2905,"Characteristic Aggregate Format"}, + {0x2900,"Characteristic Extended Properties"}, + {0x2904,"Characteristic Presentation Format"}, + {0x2901,"Characteristic User Description"}, + {0x2902,"Client Characteristic Configuration"}, + {0x290B,"Environmental Sensing Configuration"}, + {0x290C,"Environmental Sensing Measurement"}, + {0x290D,"Environmental Sensing Trigger Setting"}, + {0x2907,"External Report Reference"}, + {0x2909,"Number of Digitals"}, + {0x2908,"Report Reference"}, + {0x2903,"Server Characteristic Configuration"}, + {0x290E,"Time Trigger Setting"}, + {0x2906,"Valid Range"}, + {0x290A,"Value Trigger Setting"}, +#endif + { 0, "" } +}; + +typedef struct { + uint32_t assignedNumber; + const char* name; +} characteristicMap_t; + +static const characteristicMap_t g_characteristicsMappings[] = { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + {0x2A7E,"Aerobic Heart Rate Lower Limit"}, + {0x2A84,"Aerobic Heart Rate Upper Limit"}, + {0x2A7F,"Aerobic Threshold"}, + {0x2A80,"Age"}, + {0x2A5A,"Aggregate"}, + {0x2A43,"Alert Category ID"}, + {0x2A42,"Alert Category ID Bit Mask"}, + {0x2A06,"Alert Level"}, + {0x2A44,"Alert Notification Control Point"}, + {0x2A3F,"Alert Status"}, + {0x2AB3,"Altitude"}, + {0x2A81,"Anaerobic Heart Rate Lower Limit"}, + {0x2A82,"Anaerobic Heart Rate Upper Limit"}, + {0x2A83,"Anaerobic Threshold"}, + {0x2A58,"Analog"}, + {0x2A59,"Analog Output"}, + {0x2A73,"Apparent Wind Direction"}, + {0x2A72,"Apparent Wind Speed"}, + {0x2A01,"Appearance"}, + {0x2AA3,"Barometric Pressure Trend"}, + {0x2A19,"Battery Level"}, + {0x2A1B,"Battery Level State"}, + {0x2A1A,"Battery Power State"}, + {0x2A49,"Blood Pressure Feature"}, + {0x2A35,"Blood Pressure Measurement"}, + {0x2A9B,"Body Composition Feature"}, + {0x2A9C,"Body Composition Measurement"}, + {0x2A38,"Body Sensor Location"}, + {0x2AA4,"Bond Management Control Point"}, + {0x2AA5,"Bond Management Features"}, + {0x2A22,"Boot Keyboard Input Report"}, + {0x2A32,"Boot Keyboard Output Report"}, + {0x2A33,"Boot Mouse Input Report"}, + {0x2AA6,"Central Address Resolution"}, + {0x2AA8,"CGM Feature"}, + {0x2AA7,"CGM Measurement"}, + {0x2AAB,"CGM Session Run Time"}, + {0x2AAA,"CGM Session Start Time"}, + {0x2AAC,"CGM Specific Ops Control Point"}, + {0x2AA9,"CGM Status"}, + {0x2ACE,"Cross Trainer Data"}, + {0x2A5C,"CSC Feature"}, + {0x2A5B,"CSC Measurement"}, + {0x2A2B,"Current Time"}, + {0x2A66,"Cycling Power Control Point"}, + {0x2A66,"Cycling Power Control Point"}, + {0x2A65,"Cycling Power Feature"}, + {0x2A65,"Cycling Power Feature"}, + {0x2A63,"Cycling Power Measurement"}, + {0x2A64,"Cycling Power Vector"}, + {0x2A99,"Database Change Increment"}, + {0x2A85,"Date of Birth"}, + {0x2A86,"Date of Threshold Assessment"}, + {0x2A08,"Date Time"}, + {0x2A0A,"Day Date Time"}, + {0x2A09,"Day of Week"}, + {0x2A7D,"Descriptor Value Changed"}, + {0x2A00,"Device Name"}, + {0x2A7B,"Dew Point"}, + {0x2A56,"Digital"}, + {0x2A57,"Digital Output"}, + {0x2A0D,"DST Offset"}, + {0x2A6C,"Elevation"}, + {0x2A87,"Email Address"}, + {0x2A0B,"Exact Time 100"}, + {0x2A0C,"Exact Time 256"}, + {0x2A88,"Fat Burn Heart Rate Lower Limit"}, + {0x2A89,"Fat Burn Heart Rate Upper Limit"}, + {0x2A26,"Firmware Revision String"}, + {0x2A8A,"First Name"}, + {0x2AD9,"Fitness Machine Control Point"}, + {0x2ACC,"Fitness Machine Feature"}, + {0x2ADA,"Fitness Machine Status"}, + {0x2A8B,"Five Zone Heart Rate Limits"}, + {0x2AB2,"Floor Number"}, + {0x2A8C,"Gender"}, + {0x2A51,"Glucose Feature"}, + {0x2A18,"Glucose Measurement"}, + {0x2A34,"Glucose Measurement Context"}, + {0x2A74,"Gust Factor"}, + {0x2A27,"Hardware Revision String"}, + {0x2A39,"Heart Rate Control Point"}, + {0x2A8D,"Heart Rate Max"}, + {0x2A37,"Heart Rate Measurement"}, + {0x2A7A,"Heat Index"}, + {0x2A8E,"Height"}, + {0x2A4C,"HID Control Point"}, + {0x2A4A,"HID Information"}, + {0x2A8F,"Hip Circumference"}, + {0x2ABA,"HTTP Control Point"}, + {0x2AB9,"HTTP Entity Body"}, + {0x2AB7,"HTTP Headers"}, + {0x2AB8,"HTTP Status Code"}, + {0x2ABB,"HTTPS Security"}, + {0x2A6F,"Humidity"}, + {0x2A2A,"IEEE 11073-20601 Regulatory Certification Data List"}, + {0x2AD2,"Indoor Bike Data"}, + {0x2AAD,"Indoor Positioning Configuration"}, + {0x2A36,"Intermediate Cuff Pressure"}, + {0x2A1E,"Intermediate Temperature"}, + {0x2A77,"Irradiance"}, + {0x2AA2,"Language"}, + {0x2A90,"Last Name"}, + {0x2AAE,"Latitude"}, + {0x2A6B,"LN Control Point"}, + {0x2A6A,"LN Feature"}, + {0x2AB1,"Local East Coordinate"}, + {0x2AB0,"Local North Coordinate"}, + {0x2A0F,"Local Time Information"}, + {0x2A67,"Location and Speed Characteristic"}, + {0x2AB5,"Location Name"}, + {0x2AAF,"Longitude"}, + {0x2A2C,"Magnetic Declination"}, + {0x2AA0,"Magnetic Flux Density - 2D"}, + {0x2AA1,"Magnetic Flux Density - 3D"}, + {0x2A29,"Manufacturer Name String"}, + {0x2A91,"Maximum Recommended Heart Rate"}, + {0x2A21,"Measurement Interval"}, + {0x2A24,"Model Number String"}, + {0x2A68,"Navigation"}, + {0x2A3E,"Network Availability"}, + {0x2A46,"New Alert"}, + {0x2AC5,"Object Action Control Point"}, + {0x2AC8,"Object Changed"}, + {0x2AC1,"Object First-Created"}, + {0x2AC3,"Object ID"}, + {0x2AC2,"Object Last-Modified"}, + {0x2AC6,"Object List Control Point"}, + {0x2AC7,"Object List Filter"}, + {0x2ABE,"Object Name"}, + {0x2AC4,"Object Properties"}, + {0x2AC0,"Object Size"}, + {0x2ABF,"Object Type"}, + {0x2ABD,"OTS Feature"}, + {0x2A04,"Peripheral Preferred Connection Parameters"}, + {0x2A02,"Peripheral Privacy Flag"}, + {0x2A5F,"PLX Continuous Measurement Characteristic"}, + {0x2A60,"PLX Features"}, + {0x2A5E,"PLX Spot-Check Measurement"}, + {0x2A50,"PnP ID"}, + {0x2A75,"Pollen Concentration"}, + {0x2A2F,"Position 2D"}, + {0x2A30,"Position 3D"}, + {0x2A69,"Position Quality"}, + {0x2A6D,"Pressure"}, + {0x2A4E,"Protocol Mode"}, + {0x2A62,"Pulse Oximetry Control Point"}, + {0x2A60,"Pulse Oximetry Pulsatile Event Characteristic"}, + {0x2A78,"Rainfall"}, + {0x2A03,"Reconnection Address"}, + {0x2A52,"Record Access Control Point"}, + {0x2A14,"Reference Time Information"}, + {0x2A3A,"Removable"}, + {0x2A4D,"Report"}, + {0x2A4B,"Report Map"}, + {0x2AC9,"Resolvable Private Address Only"}, + {0x2A92,"Resting Heart Rate"}, + {0x2A40,"Ringer Control point"}, + {0x2A41,"Ringer Setting"}, + {0x2AD1,"Rower Data"}, + {0x2A54,"RSC Feature"}, + {0x2A53,"RSC Measurement"}, + {0x2A55,"SC Control Point"}, + {0x2A4F,"Scan Interval Window"}, + {0x2A31,"Scan Refresh"}, + {0x2A3C,"Scientific Temperature Celsius"}, + {0x2A10,"Secondary Time Zone"}, + {0x2A5D,"Sensor Location"}, + {0x2A25,"Serial Number String"}, + {0x2A05,"Service Changed"}, + {0x2A3B,"Service Required"}, + {0x2A28,"Software Revision String"}, + {0x2A93,"Sport Type for Aerobic and Anaerobic Thresholds"}, + {0x2AD0,"Stair Climber Data"}, + {0x2ACF,"Step Climber Data"}, + {0x2A3D,"String"}, + {0x2AD7,"Supported Heart Rate Range"}, + {0x2AD5,"Supported Inclination Range"}, + {0x2A47,"Supported New Alert Category"}, + {0x2AD8,"Supported Power Range"}, + {0x2AD6,"Supported Resistance Level Range"}, + {0x2AD4,"Supported Speed Range"}, + {0x2A48,"Supported Unread Alert Category"}, + {0x2A23,"System ID"}, + {0x2ABC,"TDS Control Point"}, + {0x2A6E,"Temperature"}, + {0x2A1F,"Temperature Celsius"}, + {0x2A20,"Temperature Fahrenheit"}, + {0x2A1C,"Temperature Measurement"}, + {0x2A1D,"Temperature Type"}, + {0x2A94,"Three Zone Heart Rate Limits"}, + {0x2A12,"Time Accuracy"}, + {0x2A15,"Time Broadcast"}, + {0x2A13,"Time Source"}, + {0x2A16,"Time Update Control Point"}, + {0x2A17,"Time Update State"}, + {0x2A11,"Time with DST"}, + {0x2A0E,"Time Zone"}, + {0x2AD3,"Training Status"}, + {0x2ACD,"Treadmill Data"}, + {0x2A71,"True Wind Direction"}, + {0x2A70,"True Wind Speed"}, + {0x2A95,"Two Zone Heart Rate Limit"}, + {0x2A07,"Tx Power Level"}, + {0x2AB4,"Uncertainty"}, + {0x2A45,"Unread Alert Status"}, + {0x2AB6,"URI"}, + {0x2A9F,"User Control Point"}, + {0x2A9A,"User Index"}, + {0x2A76,"UV Index"}, + {0x2A96,"VO2 Max"}, + {0x2A97,"Waist Circumference"}, + {0x2A98,"Weight"}, + {0x2A9D,"Weight Measurement"}, + {0x2A9E,"Weight Scale Feature"}, + {0x2A79,"Wind Chill"}, +#endif + {0, ""} +}; + +/** + * @brief Mapping from service ids to names + */ +typedef struct { + const char* name; + const char* type; + uint32_t assignedNumber; +} gattService_t; + + +/** + * Definition of the service ids to names that we know about. + */ +static const gattService_t g_gattServices[] = { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + {"Alert Notification Service", "org.bluetooth.service.alert_notification", 0x1811}, + {"Automation IO", "org.bluetooth.service.automation_io", 0x1815 }, + {"Battery Service","org.bluetooth.service.battery_service", 0x180F}, + {"Blood Pressure", "org.bluetooth.service.blood_pressure", 0x1810}, + {"Body Composition", "org.bluetooth.service.body_composition", 0x181B}, + {"Bond Management", "org.bluetooth.service.bond_management", 0x181E}, + {"Continuous Glucose Monitoring", "org.bluetooth.service.continuous_glucose_monitoring", 0x181F}, + {"Current Time Service", "org.bluetooth.service.current_time", 0x1805}, + {"Cycling Power", "org.bluetooth.service.cycling_power", 0x1818}, + {"Cycling Speed and Cadence", "org.bluetooth.service.cycling_speed_and_cadence", 0x1816}, + {"Device Information", "org.bluetooth.service.device_information", 0x180A}, + {"Environmental Sensing", "org.bluetooth.service.environmental_sensing", 0x181A}, + {"Generic Access", "org.bluetooth.service.generic_access", 0x1800}, + {"Generic Attribute", "org.bluetooth.service.generic_attribute", 0x1801}, + {"Glucose", "org.bluetooth.service.glucose", 0x1808}, + {"Health Thermometer", "org.bluetooth.service.health_thermometer", 0x1809}, + {"Heart Rate", "org.bluetooth.service.heart_rate", 0x180D}, + {"HTTP Proxy", "org.bluetooth.service.http_proxy", 0x1823}, + {"Human Interface Device", "org.bluetooth.service.human_interface_device", 0x1812}, + {"Immediate Alert", "org.bluetooth.service.immediate_alert", 0x1802}, + {"Indoor Positioning", "org.bluetooth.service.indoor_positioning", 0x1821}, + {"Internet Protocol Support", "org.bluetooth.service.internet_protocol_support", 0x1820}, + {"Link Loss", "org.bluetooth.service.link_loss", 0x1803}, + {"Location and Navigation", "org.bluetooth.service.location_and_navigation", 0x1819}, + {"Next DST Change Service", "org.bluetooth.service.next_dst_change", 0x1807}, + {"Object Transfer", "org.bluetooth.service.object_transfer", 0x1825}, + {"Phone Alert Status Service", "org.bluetooth.service.phone_alert_status", 0x180E}, + {"Pulse Oximeter", "org.bluetooth.service.pulse_oximeter", 0x1822}, + {"Reference Time Update Service", "org.bluetooth.service.reference_time_update", 0x1806}, + {"Running Speed and Cadence", "org.bluetooth.service.running_speed_and_cadence", 0x1814}, + {"Scan Parameters", "org.bluetooth.service.scan_parameters", 0x1813}, + {"Transport Discovery", "org.bluetooth.service.transport_discovery", 0x1824}, + {"Tx Power", "org.bluetooth.service.tx_power", 0x1804}, + {"User Data", "org.bluetooth.service.user_data", 0x181C}, + {"Weight Scale", "org.bluetooth.service.weight_scale", 0x181D}, +#endif + {"", "", 0 } +}; + + +/** + * @brief Convert characteristic properties into a string representation. + * @param [in] prop Characteristic properties. + * @return A string representation of characteristic properties. + */ +std::string BLEUtils::characteristicPropertiesToString(esp_gatt_char_prop_t prop) { + std::stringstream stream; + stream << + "broadcast: " << ((prop & ESP_GATT_CHAR_PROP_BIT_BROADCAST)?"1":"0") << + ", read: " << ((prop & ESP_GATT_CHAR_PROP_BIT_READ)?"1":"0") << + ", write_nr: " << ((prop & ESP_GATT_CHAR_PROP_BIT_WRITE_NR)?"1":"0") << + ", write: " << ((prop & ESP_GATT_CHAR_PROP_BIT_WRITE)?"1":"0") << + ", notify: " << ((prop & ESP_GATT_CHAR_PROP_BIT_NOTIFY)?"1":"0") << + ", indicate: " << ((prop & ESP_GATT_CHAR_PROP_BIT_INDICATE)?"1":"0") << + ", auth: " << ((prop & ESP_GATT_CHAR_PROP_BIT_AUTH)?"1":"0"); + return stream.str(); +} // characteristicPropertiesToString + +/** + * @brief Convert an esp_gatt_id_t to a string. + */ +static std::string gattIdToString(esp_gatt_id_t gattId) { + std::stringstream stream; + stream << "uuid: " << BLEUUID(gattId.uuid).toString() << ", inst_id: " << (int)gattId.inst_id; + //sprintf(buffer, "uuid: %s, inst_id: %d", uuidToString(gattId.uuid).c_str(), gattId.inst_id); + return stream.str(); +} // gattIdToString + + +/** + * @brief Convert an esp_ble_addr_type_t to a string representation. + */ +const char* BLEUtils::addressTypeToString(esp_ble_addr_type_t type) { + switch (type) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + case BLE_ADDR_TYPE_PUBLIC: + return "BLE_ADDR_TYPE_PUBLIC"; + case BLE_ADDR_TYPE_RANDOM: + return "BLE_ADDR_TYPE_RANDOM"; + case BLE_ADDR_TYPE_RPA_PUBLIC: + return "BLE_ADDR_TYPE_RPA_PUBLIC"; + case BLE_ADDR_TYPE_RPA_RANDOM: + return "BLE_ADDR_TYPE_RPA_RANDOM"; +#endif + default: + return " esp_ble_addr_type_t"; + } +} // addressTypeToString + + +/** + * @brief Convert the BLE Advertising Data flags to a string. + * @param adFlags The flags to convert + * @return std::string A string representation of the advertising flags. + */ +std::string BLEUtils::adFlagsToString(uint8_t adFlags) { + std::stringstream ss; + if (adFlags & (1 << 0)) { + ss << "[LE Limited Discoverable Mode] "; + } + if (adFlags & (1 << 1)) { + ss << "[LE General Discoverable Mode] "; + } + if (adFlags & (1 << 2)) { + ss << "[BR/EDR Not Supported] "; + } + if (adFlags & (1 << 3)) { + ss << "[Simultaneous LE and BR/EDR to Same Device Capable (Controller)] "; + } + if (adFlags & (1 << 4)) { + ss << "[Simultaneous LE and BR/EDR to Same Device Capable (Host)] "; + } + return ss.str(); +} // adFlagsToString + + +/** + * @brief Given an advertising type, return a string representation of the type. + * + * For details see ... + * https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile + * + * @return A string representation of the type. + */ +const char* BLEUtils::advTypeToString(uint8_t advType) { + switch (advType) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + case ESP_BLE_AD_TYPE_FLAG: // 0x01 + return "ESP_BLE_AD_TYPE_FLAG"; + case ESP_BLE_AD_TYPE_16SRV_PART: // 0x02 + return "ESP_BLE_AD_TYPE_16SRV_PART"; + case ESP_BLE_AD_TYPE_16SRV_CMPL: // 0x03 + return "ESP_BLE_AD_TYPE_16SRV_CMPL"; + case ESP_BLE_AD_TYPE_32SRV_PART: // 0x04 + return "ESP_BLE_AD_TYPE_32SRV_PART"; + case ESP_BLE_AD_TYPE_32SRV_CMPL: // 0x05 + return "ESP_BLE_AD_TYPE_32SRV_CMPL"; + case ESP_BLE_AD_TYPE_128SRV_PART: // 0x06 + return "ESP_BLE_AD_TYPE_128SRV_PART"; + case ESP_BLE_AD_TYPE_128SRV_CMPL: // 0x07 + return "ESP_BLE_AD_TYPE_128SRV_CMPL"; + case ESP_BLE_AD_TYPE_NAME_SHORT: // 0x08 + return "ESP_BLE_AD_TYPE_NAME_SHORT"; + case ESP_BLE_AD_TYPE_NAME_CMPL: // 0x09 + return "ESP_BLE_AD_TYPE_NAME_CMPL"; + case ESP_BLE_AD_TYPE_TX_PWR: // 0x0a + return "ESP_BLE_AD_TYPE_TX_PWR"; + case ESP_BLE_AD_TYPE_DEV_CLASS: // 0x0b + return "ESP_BLE_AD_TYPE_DEV_CLASS"; + case ESP_BLE_AD_TYPE_SM_TK: // 0x10 + return "ESP_BLE_AD_TYPE_SM_TK"; + case ESP_BLE_AD_TYPE_SM_OOB_FLAG: // 0x11 + return "ESP_BLE_AD_TYPE_SM_OOB_FLAG"; + case ESP_BLE_AD_TYPE_INT_RANGE: // 0x12 + return "ESP_BLE_AD_TYPE_INT_RANGE"; + case ESP_BLE_AD_TYPE_SOL_SRV_UUID: // 0x14 + return "ESP_BLE_AD_TYPE_SOL_SRV_UUID"; + case ESP_BLE_AD_TYPE_128SOL_SRV_UUID: // 0x15 + return "ESP_BLE_AD_TYPE_128SOL_SRV_UUID"; + case ESP_BLE_AD_TYPE_SERVICE_DATA: // 0x16 + return "ESP_BLE_AD_TYPE_SERVICE_DATA"; + case ESP_BLE_AD_TYPE_PUBLIC_TARGET: // 0x17 + return "ESP_BLE_AD_TYPE_PUBLIC_TARGET"; + case ESP_BLE_AD_TYPE_RANDOM_TARGET: // 0x18 + return "ESP_BLE_AD_TYPE_RANDOM_TARGET"; + case ESP_BLE_AD_TYPE_APPEARANCE: // 0x19 + return "ESP_BLE_AD_TYPE_APPEARANCE"; + case ESP_BLE_AD_TYPE_ADV_INT: // 0x1a + return "ESP_BLE_AD_TYPE_ADV_INT"; + case ESP_BLE_AD_TYPE_32SOL_SRV_UUID: + return "ESP_BLE_AD_TYPE_32SOL_SRV_UUID"; + case ESP_BLE_AD_TYPE_32SERVICE_DATA: // 0x20 + return "ESP_BLE_AD_TYPE_32SERVICE_DATA"; + case ESP_BLE_AD_TYPE_128SERVICE_DATA: // 0x21 + return "ESP_BLE_AD_TYPE_128SERVICE_DATA"; + case ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE: // 0xff + return "ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE"; +#endif + default: + ESP_LOGV(LOG_TAG, " adv data type: 0x%x", advType); + return ""; + } // End switch +} // advTypeToString + + +esp_gatt_id_t BLEUtils::buildGattId(esp_bt_uuid_t uuid, uint8_t inst_id) { + esp_gatt_id_t retGattId; + retGattId.uuid = uuid; + retGattId.inst_id = inst_id; + return retGattId; +} + +esp_gatt_srvc_id_t BLEUtils::buildGattSrvcId(esp_gatt_id_t gattId, bool is_primary) { + esp_gatt_srvc_id_t retSrvcId; + retSrvcId.id = gattId; + retSrvcId.is_primary = is_primary; + return retSrvcId; +} + +/** + * @brief Create a hex representation of data. + * + * @param [in] target Where to write the hex string. If this is null, we malloc storage. + * @param [in] source The start of the binary data. + * @param [in] length The length of the data to convert. + * @return A pointer to the formatted buffer. + */ +char* BLEUtils::buildHexData(uint8_t* target, uint8_t* source, uint8_t length) { + // Guard against too much data. + if (length > 100) length = 100; + + if (target == nullptr) { + target = (uint8_t*) malloc(length * 2 + 1); + if (target == nullptr) { + ESP_LOGE(LOG_TAG, "buildHexData: malloc failed"); + return nullptr; + } + } + char* startOfData = (char*) target; + + for (int i = 0; i < length; i++) { + sprintf((char*) target, "%.2x", (char) *source); + source++; + target += 2; + } + + // Handle the special case where there was no data. + if (length == 0) { + *startOfData = 0; + } + + return startOfData; +} // buildHexData + + +/** + * @brief Build a printable string of memory range. + * Create a string representation of a piece of memory. Only printable characters will be included + * while those that are not printable will be replaced with '.'. + * @param [in] source Start of memory. + * @param [in] length Length of memory. + * @return A string representation of a piece of memory. + */ +std::string BLEUtils::buildPrintData(uint8_t* source, size_t length) { + std::ostringstream ss; + for (int i = 0; i < length; i++) { + char c = *source; + ss << (isprint(c) ? c : '.'); + source++; + } + return ss.str(); +} // buildPrintData + + +/** + * @brief Convert a close/disconnect reason to a string. + * @param [in] reason The close reason. + * @return A string representation of the reason. + */ +std::string BLEUtils::gattCloseReasonToString(esp_gatt_conn_reason_t reason) { + switch (reason) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + case ESP_GATT_CONN_UNKNOWN: { + return "ESP_GATT_CONN_UNKNOWN"; + } + case ESP_GATT_CONN_L2C_FAILURE: { + return "ESP_GATT_CONN_L2C_FAILURE"; + } + case ESP_GATT_CONN_TIMEOUT: { + return "ESP_GATT_CONN_TIMEOUT"; + } + case ESP_GATT_CONN_TERMINATE_PEER_USER: { + return "ESP_GATT_CONN_TERMINATE_PEER_USER"; + } + case ESP_GATT_CONN_TERMINATE_LOCAL_HOST: { + return "ESP_GATT_CONN_TERMINATE_LOCAL_HOST"; + } + case ESP_GATT_CONN_FAIL_ESTABLISH: { + return "ESP_GATT_CONN_FAIL_ESTABLISH"; + } + case ESP_GATT_CONN_LMP_TIMEOUT: { + return "ESP_GATT_CONN_LMP_TIMEOUT"; + } + case ESP_GATT_CONN_CONN_CANCEL: { + return "ESP_GATT_CONN_CONN_CANCEL"; + } + case ESP_GATT_CONN_NONE: { + return "ESP_GATT_CONN_NONE"; + } +#endif + default: { + return "Unknown"; + } + } +} // gattCloseReasonToString + + +std::string BLEUtils::gattClientEventTypeToString(esp_gattc_cb_event_t eventType) { + switch (eventType) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + case ESP_GATTC_ACL_EVT: + return "ESP_GATTC_ACL_EVT"; + case ESP_GATTC_ADV_DATA_EVT: + return "ESP_GATTC_ADV_DATA_EVT"; + case ESP_GATTC_ADV_VSC_EVT: + return "ESP_GATTC_ADV_VSC_EVT"; + case ESP_GATTC_BTH_SCAN_CFG_EVT: + return "ESP_GATTC_BTH_SCAN_CFG_EVT"; + case ESP_GATTC_BTH_SCAN_DIS_EVT: + return "ESP_GATTC_BTH_SCAN_DIS_EVT"; + case ESP_GATTC_BTH_SCAN_ENB_EVT: + return "ESP_GATTC_BTH_SCAN_ENB_EVT"; + case ESP_GATTC_BTH_SCAN_PARAM_EVT: + return "ESP_GATTC_BTH_SCAN_PARAM_EVT"; + case ESP_GATTC_BTH_SCAN_RD_EVT: + return "ESP_GATTC_BTH_SCAN_RD_EVT"; + case ESP_GATTC_BTH_SCAN_THR_EVT: + return "ESP_GATTC_BTH_SCAN_THR_EVT"; + case ESP_GATTC_CANCEL_OPEN_EVT: + return "ESP_GATTC_CANCEL_OPEN_EVT"; + case ESP_GATTC_CFG_MTU_EVT: + return "ESP_GATTC_CFG_MTU_EVT"; + case ESP_GATTC_CLOSE_EVT: + return "ESP_GATTC_CLOSE_EVT"; + case ESP_GATTC_CONGEST_EVT: + return "ESP_GATTC_CONGEST_EVT"; + case ESP_GATTC_CONNECT_EVT: + return "ESP_GATTC_CONNECT_EVT"; + case ESP_GATTC_DISCONNECT_EVT: + return "ESP_GATTC_DISCONNECT_EVT"; + case ESP_GATTC_ENC_CMPL_CB_EVT: + return "ESP_GATTC_ENC_CMPL_CB_EVT"; + case ESP_GATTC_EXEC_EVT: + return "ESP_GATTC_EXEC_EVT"; + //case ESP_GATTC_GET_CHAR_EVT: +// return "ESP_GATTC_GET_CHAR_EVT"; + //case ESP_GATTC_GET_DESCR_EVT: +// return "ESP_GATTC_GET_DESCR_EVT"; + //case ESP_GATTC_GET_INCL_SRVC_EVT: +// return "ESP_GATTC_GET_INCL_SRVC_EVT"; + case ESP_GATTC_MULT_ADV_DATA_EVT: + return "ESP_GATTC_MULT_ADV_DATA_EVT"; + case ESP_GATTC_MULT_ADV_DIS_EVT: + return "ESP_GATTC_MULT_ADV_DIS_EVT"; + case ESP_GATTC_MULT_ADV_ENB_EVT: + return "ESP_GATTC_MULT_ADV_ENB_EVT"; + case ESP_GATTC_MULT_ADV_UPD_EVT: + return "ESP_GATTC_MULT_ADV_UPD_EVT"; + case ESP_GATTC_NOTIFY_EVT: + return "ESP_GATTC_NOTIFY_EVT"; + case ESP_GATTC_OPEN_EVT: + return "ESP_GATTC_OPEN_EVT"; + case ESP_GATTC_PREP_WRITE_EVT: + return "ESP_GATTC_PREP_WRITE_EVT"; + case ESP_GATTC_READ_CHAR_EVT: + return "ESP_GATTC_READ_CHAR_EVT"; + case ESP_GATTC_REG_EVT: + return "ESP_GATTC_REG_EVT"; + case ESP_GATTC_REG_FOR_NOTIFY_EVT: + return "ESP_GATTC_REG_FOR_NOTIFY_EVT"; + case ESP_GATTC_SCAN_FLT_CFG_EVT: + return "ESP_GATTC_SCAN_FLT_CFG_EVT"; + case ESP_GATTC_SCAN_FLT_PARAM_EVT: + return "ESP_GATTC_SCAN_FLT_PARAM_EVT"; + case ESP_GATTC_SCAN_FLT_STATUS_EVT: + return "ESP_GATTC_SCAN_FLT_STATUS_EVT"; + case ESP_GATTC_SEARCH_CMPL_EVT: + return "ESP_GATTC_SEARCH_CMPL_EVT"; + case ESP_GATTC_SEARCH_RES_EVT: + return "ESP_GATTC_SEARCH_RES_EVT"; + case ESP_GATTC_SRVC_CHG_EVT: + return "ESP_GATTC_SRVC_CHG_EVT"; + case ESP_GATTC_READ_DESCR_EVT: + return "ESP_GATTC_READ_DESCR_EVT"; + case ESP_GATTC_UNREG_EVT: + return "ESP_GATTC_UNREG_EVT"; + case ESP_GATTC_UNREG_FOR_NOTIFY_EVT: + return "ESP_GATTC_UNREG_FOR_NOTIFY_EVT"; + case ESP_GATTC_WRITE_CHAR_EVT: + return "ESP_GATTC_WRITE_CHAR_EVT"; + case ESP_GATTC_WRITE_DESCR_EVT: + return "ESP_GATTC_WRITE_DESCR_EVT"; +#endif + default: + ESP_LOGV(LOG_TAG, "Unknown GATT Client event type: %d", eventType); + return "Unknown"; + } +} // gattClientEventTypeToString + + +/** + * @brief Return a string representation of a GATT server event code. + * @param [in] eventType A GATT server event code. + * @return A string representation of the GATT server event code. + */ +std::string BLEUtils::gattServerEventTypeToString(esp_gatts_cb_event_t eventType) { + switch (eventType) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + case ESP_GATTS_REG_EVT: + return "ESP_GATTS_REG_EVT"; + case ESP_GATTS_READ_EVT: + return "ESP_GATTS_READ_EVT"; + case ESP_GATTS_WRITE_EVT: + return "ESP_GATTS_WRITE_EVT"; + case ESP_GATTS_EXEC_WRITE_EVT: + return "ESP_GATTS_EXEC_WRITE_EVT"; + case ESP_GATTS_MTU_EVT: + return "ESP_GATTS_MTU_EVT"; + case ESP_GATTS_CONF_EVT: + return "ESP_GATTS_CONF_EVT"; + case ESP_GATTS_UNREG_EVT: + return "ESP_GATTS_UNREG_EVT"; + case ESP_GATTS_CREATE_EVT: + return "ESP_GATTS_CREATE_EVT"; + case ESP_GATTS_ADD_INCL_SRVC_EVT: + return "ESP_GATTS_ADD_INCL_SRVC_EVT"; + case ESP_GATTS_ADD_CHAR_EVT: + return "ESP_GATTS_ADD_CHAR_EVT"; + case ESP_GATTS_ADD_CHAR_DESCR_EVT: + return "ESP_GATTS_ADD_CHAR_DESCR_EVT"; + case ESP_GATTS_DELETE_EVT: + return "ESP_GATTS_DELETE_EVT"; + case ESP_GATTS_START_EVT: + return "ESP_GATTS_START_EVT"; + case ESP_GATTS_STOP_EVT: + return "ESP_GATTS_STOP_EVT"; + case ESP_GATTS_CONNECT_EVT: + return "ESP_GATTS_CONNECT_EVT"; + case ESP_GATTS_DISCONNECT_EVT: + return "ESP_GATTS_DISCONNECT_EVT"; + case ESP_GATTS_OPEN_EVT: + return "ESP_GATTS_OPEN_EVT"; + case ESP_GATTS_CANCEL_OPEN_EVT: + return "ESP_GATTS_CANCEL_OPEN_EVT"; + case ESP_GATTS_CLOSE_EVT: + return "ESP_GATTS_CLOSE_EVT"; + case ESP_GATTS_LISTEN_EVT: + return "ESP_GATTS_LISTEN_EVT"; + case ESP_GATTS_CONGEST_EVT: + return "ESP_GATTS_CONGEST_EVT"; + case ESP_GATTS_RESPONSE_EVT: + return "ESP_GATTS_RESPONSE_EVT"; + case ESP_GATTS_CREAT_ATTR_TAB_EVT: + return "ESP_GATTS_CREAT_ATTR_TAB_EVT"; + case ESP_GATTS_SET_ATTR_VAL_EVT: + return "ESP_GATTS_SET_ATTR_VAL_EVT"; + case ESP_GATTS_SEND_SERVICE_CHANGE_EVT: + return "ESP_GATTS_SEND_SERVICE_CHANGE_EVT"; +#endif + default: + return "Unknown"; + } +} // gattServerEventTypeToString + + + +/** + * @brief Convert a BLE device type to a string. + * @param [in] type The device type. + */ +const char* BLEUtils::devTypeToString(esp_bt_dev_type_t type) { + switch (type) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + case ESP_BT_DEVICE_TYPE_BREDR: + return "ESP_BT_DEVICE_TYPE_BREDR"; + case ESP_BT_DEVICE_TYPE_BLE: + return "ESP_BT_DEVICE_TYPE_BLE"; + case ESP_BT_DEVICE_TYPE_DUMO: + return "ESP_BT_DEVICE_TYPE_DUMO"; +#endif + default: + return "Unknown"; + } +} // devTypeToString + + +/** + * @brief Dump the GAP event to the log. + */ +void BLEUtils::dumpGapEvent( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param) { + ESP_LOGV(LOG_TAG, "Received a GAP event: %s", gapEventToString(event)); + switch (event) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + // ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT + // adv_data_cmpl + // - esp_bt_status_t + case ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %d]", param->adv_data_cmpl.status); + break; + } // ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT + + // ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT + // + // adv_data_raw_cmpl + // - esp_bt_status_t status + case ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %d]", param->adv_data_raw_cmpl.status); + break; + } // ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT + + // ESP_GAP_BLE_ADV_START_COMPLETE_EVT + // + // adv_start_cmpl + // - esp_bt_status_t status + case ESP_GAP_BLE_ADV_START_COMPLETE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %d]", param->adv_start_cmpl.status); + break; + } // ESP_GAP_BLE_ADV_START_COMPLETE_EVT + + // ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT + // + // adv_stop_cmpl + // - esp_bt_status_t status + case ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %d]", param->adv_stop_cmpl.status); + break; + } // ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT + + // ESP_GAP_BLE_AUTH_CMPL_EVT + // + // auth_cmpl + // - esp_bd_addr_t bd_addr + // - bool key_present + // - esp_link_key key + // - bool success + // - uint8_t fail_reason + // - esp_bd_addr_type_t addr_type + // - esp_bt_dev_type_t dev_type + case ESP_GAP_BLE_AUTH_CMPL_EVT: { + ESP_LOGV(LOG_TAG, "[bd_addr: %s, key_present: %d, key: ***, key_type: %d, success: %d, fail_reason: %d, addr_type: ***, dev_type: %s]", + BLEAddress(param->ble_security.auth_cmpl.bd_addr).toString().c_str(), + param->ble_security.auth_cmpl.key_present, + param->ble_security.auth_cmpl.key_type, + param->ble_security.auth_cmpl.success, + param->ble_security.auth_cmpl.fail_reason, + BLEUtils::devTypeToString(param->ble_security.auth_cmpl.dev_type) + ); + break; + } // ESP_GAP_BLE_AUTH_CMPL_EVT + + // ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT + // + // clear_bond_dev_cmpl + // - esp_bt_status_t status + case ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %d]", param->clear_bond_dev_cmpl.status); + break; + } // ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT + + // ESP_GAP_BLE_LOCAL_IR_EVT + case ESP_GAP_BLE_LOCAL_IR_EVT: { + break; + } // ESP_GAP_BLE_LOCAL_IR_EVT + + // ESP_GAP_BLE_LOCAL_ER_EVT + case ESP_GAP_BLE_LOCAL_ER_EVT: { + break; + } // ESP_GAP_BLE_LOCAL_ER_EVT + + // ESP_GAP_BLE_NC_REQ_EVT + case ESP_GAP_BLE_NC_REQ_EVT: { + ESP_LOGV(LOG_TAG, "[bd_addr: %s, passkey: %d]", + BLEAddress(param->ble_security.key_notif.bd_addr).toString().c_str(), + param->ble_security.key_notif.passkey); + break; + } // ESP_GAP_BLE_NC_REQ_EVT + + // ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT + // + // read_rssi_cmpl + // - esp_bt_status_t status + // - int8_t rssi + // - esp_bd_addr_t remote_addr + case ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %d, rssi: %d, remote_addr: %s]", + param->read_rssi_cmpl.status, + param->read_rssi_cmpl.rssi, + BLEAddress(param->read_rssi_cmpl.remote_addr).toString().c_str() + ); + break; + } // ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT + + // ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT + // + // scan_param_cmpl. + // - esp_bt_status_t status + case ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %d]", param->scan_param_cmpl.status); + break; + } // ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT + + // ESP_GAP_BLE_SCAN_RESULT_EVT + // + // scan_rst: + // - search_evt + // - bda + // - dev_type + // - ble_addr_type + // - ble_evt_type + // - rssi + // - ble_adv + // - flag + // - num_resps + // - adv_data_len + // - scan_rsp_len + case ESP_GAP_BLE_SCAN_RESULT_EVT: { + switch (param->scan_rst.search_evt) { + case ESP_GAP_SEARCH_INQ_RES_EVT: { + ESP_LOGV(LOG_TAG, "search_evt: %s, bda: %s, dev_type: %s, ble_addr_type: %s, ble_evt_type: %s, rssi: %d, ble_adv: ??, flag: %d (%s), num_resps: %d, adv_data_len: %d, scan_rsp_len: %d", + searchEventTypeToString(param->scan_rst.search_evt), + BLEAddress(param->scan_rst.bda).toString().c_str(), + devTypeToString(param->scan_rst.dev_type), + addressTypeToString(param->scan_rst.ble_addr_type), + eventTypeToString(param->scan_rst.ble_evt_type), + param->scan_rst.rssi, + param->scan_rst.flag, + adFlagsToString(param->scan_rst.flag).c_str(), + param->scan_rst.num_resps, + param->scan_rst.adv_data_len, + param->scan_rst.scan_rsp_len + ); + break; + } // ESP_GAP_SEARCH_INQ_RES_EVT + + default: { + ESP_LOGV(LOG_TAG, "search_evt: %s",searchEventTypeToString(param->scan_rst.search_evt)); + break; + } + } + break; + } // ESP_GAP_BLE_SCAN_RESULT_EVT + + // ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT + // + // scan_rsp_data_cmpl + // - esp_bt_status_t status + case ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %d]", param->scan_rsp_data_cmpl.status); + break; + } // ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT + + // ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT + case ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %d]", param->scan_rsp_data_raw_cmpl.status); + break; + } // ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT + + // ESP_GAP_BLE_SCAN_START_COMPLETE_EVT + // + // scan_start_cmpl + // - esp_bt_status_t status + case ESP_GAP_BLE_SCAN_START_COMPLETE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %d]", param->scan_start_cmpl.status); + break; + } // ESP_GAP_BLE_SCAN_START_COMPLETE_EVT + + // ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT + // + // scan_stop_cmpl + // - esp_bt_status_t status + case ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %d]", param->scan_stop_cmpl.status); + break; + } // ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT + + // ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT + // + // update_conn_params + // - esp_bt_status_t status + // - esp_bd_addr_t bda + // - uint16_t min_int + // - uint16_t max_int + // - uint16_t latency + // - uint16_t conn_int + // - uint16_t timeout + case ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT: { + ESP_LOGV(LOG_TAG, "[status: %d, bd_addr: %s, min_int: %d, max_int: %d, latency: %d, conn_int: %d, timeout: %d]", + param->update_conn_params.status, + BLEAddress(param->update_conn_params.bda).toString().c_str(), + param->update_conn_params.min_int, + param->update_conn_params.max_int, + param->update_conn_params.latency, + param->update_conn_params.conn_int, + param->update_conn_params.timeout + ); + break; + } // ESP_GAP_BLE_SCAN_UPDATE_CONN_PARAMS_EVT + + // ESP_GAP_BLE_SEC_REQ_EVT + case ESP_GAP_BLE_SEC_REQ_EVT: { + ESP_LOGV(LOG_TAG, "[bd_addr: %s]", BLEAddress(param->ble_security.ble_req.bd_addr).toString().c_str()); + break; + } // ESP_GAP_BLE_SEC_REQ_EVT +#endif + default: { + ESP_LOGV(LOG_TAG, "*** dumpGapEvent: Logger not coded ***"); + break; + } // default + } // switch +} // dumpGapEvent + + +/** + * @brief Decode and dump a GATT client event + * + * @param [in] event The type of event received. + * @param [in] evtParam The data associated with the event. + */ +void BLEUtils::dumpGattClientEvent( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* evtParam) { + + //esp_ble_gattc_cb_param_t* evtParam = (esp_ble_gattc_cb_param_t*) param; + ESP_LOGV(LOG_TAG, "GATT Event: %s", BLEUtils::gattClientEventTypeToString(event).c_str()); + switch (event) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + // ESP_GATTC_CLOSE_EVT + // + // close: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + // - esp_gatt_conn_reason_t reason + case ESP_GATTC_CLOSE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, reason:%s, conn_id: %d]", + BLEUtils::gattStatusToString(evtParam->close.status).c_str(), + BLEUtils::gattCloseReasonToString(evtParam->close.reason).c_str(), + evtParam->close.conn_id); + break; + } + + // ESP_GATTC_CONNECT_EVT + // + // connect: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + case ESP_GATTC_CONNECT_EVT: { + ESP_LOGV(LOG_TAG, "[conn_id: %d, remote_bda: %s]", + evtParam->connect.conn_id, + BLEAddress(evtParam->connect.remote_bda).toString().c_str() + ); + break; + } + + // ESP_GATTC_DISCONNECT_EVT + // + // disconnect: + // - esp_gatt_conn_reason_t reason + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + case ESP_GATTC_DISCONNECT_EVT: { + ESP_LOGV(LOG_TAG, "[reason: %s, conn_id: %d, remote_bda: %s]", + BLEUtils::gattCloseReasonToString(evtParam->disconnect.reason).c_str(), + evtParam->disconnect.conn_id, + BLEAddress(evtParam->disconnect.remote_bda).toString().c_str() + ); + break; + } // ESP_GATTC_DISCONNECT_EVT + + // ESP_GATTC_GET_CHAR_EVT + // + // get_char: + // - esp_gatt_status_t status + // - uin1t6_t conn_id + // - esp_gatt_srvc_id_t srvc_id + // - esp_gatt_id_t char_id + // - esp_gatt_char_prop_t char_prop + /* + case ESP_GATTC_GET_CHAR_EVT: { + + // If the status of the event shows that we have a value other than ESP_GATT_OK then the + // characteristic fields are not set to a usable value .. so don't try and log them. + if (evtParam->get_char.status == ESP_GATT_OK) { + std::string description = "Unknown"; + if (evtParam->get_char.char_id.uuid.len == ESP_UUID_LEN_16) { + description = BLEUtils::gattCharacteristicUUIDToString(evtParam->get_char.char_id.uuid.uuid.uuid16); + } + ESP_LOGV(LOG_TAG, "[status: %s, conn_id: %d, srvc_id: %s, char_id: %s [description: %s]\nchar_prop: %s]", + BLEUtils::gattStatusToString(evtParam->get_char.status).c_str(), + evtParam->get_char.conn_id, + BLEUtils::gattServiceIdToString(evtParam->get_char.srvc_id).c_str(), + gattIdToString(evtParam->get_char.char_id).c_str(), + description.c_str(), + BLEUtils::characteristicPropertiesToString(evtParam->get_char.char_prop).c_str() + ); + } else { + ESP_LOGV(LOG_TAG, "[status: %s, conn_id: %d, srvc_id: %s]", + BLEUtils::gattStatusToString(evtParam->get_char.status).c_str(), + evtParam->get_char.conn_id, + BLEUtils::gattServiceIdToString(evtParam->get_char.srvc_id).c_str() + ); + } + break; + } // ESP_GATTC_GET_CHAR_EVT + */ + + // ESP_GATTC_NOTIFY_EVT + // + // notify + // uint16_t conn_id + // esp_bd_addr_t remote_bda + // handle handle + // uint16_t value_len + // uint8_t* value + // bool is_notify + // + case ESP_GATTC_NOTIFY_EVT: { + ESP_LOGV(LOG_TAG, "[conn_id: %d, remote_bda: %s, handle: %d 0x%.2x, value_len: %d, is_notify: %d]", + evtParam->notify.conn_id, + BLEAddress(evtParam->notify.remote_bda).toString().c_str(), + evtParam->notify.handle, + evtParam->notify.handle, + evtParam->notify.value_len, + evtParam->notify.is_notify + ); + break; + } + + // ESP_GATTC_OPEN_EVT + // + // open: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + // - uint16_t mtu + // + case ESP_GATTC_OPEN_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, conn_id: %d, remote_bda: %s, mtu: %d]", + BLEUtils::gattStatusToString(evtParam->open.status).c_str(), + evtParam->open.conn_id, + BLEAddress(evtParam->open.remote_bda).toString().c_str(), + evtParam->open.mtu); + break; + } // ESP_GATTC_OPEN_EVT + + // ESP_GATTC_READ_CHAR_EVT + // + // Callback to indicate that requested data that we wanted to read is now available. + // + // read: + // esp_gatt_status_t status + // uint16_t conn_id + // uint16_t handle + // uint8_t* value + // uint16_t value_type + // uint16_t value_len + case ESP_GATTC_READ_CHAR_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, conn_id: %d, handle: %d 0x%.2x, value_len: %d]", + BLEUtils::gattStatusToString(evtParam->read.status).c_str(), + evtParam->read.conn_id, + evtParam->read.handle, + evtParam->read.handle, + evtParam->read.value_len + ); + if (evtParam->read.status == ESP_GATT_OK) { + GeneralUtils::hexDump(evtParam->read.value, evtParam->read.value_len); + /* + char* pHexData = BLEUtils::buildHexData(nullptr, evtParam->read.value, evtParam->read.value_len); + ESP_LOGV(LOG_TAG, "value: %s \"%s\"", pHexData, BLEUtils::buildPrintData(evtParam->read.value, evtParam->read.value_len).c_str()); + free(pHexData); + */ + } + break; + } // ESP_GATTC_READ_CHAR_EVT + + // ESP_GATTC_REG_EVT + // + // reg: + // - esp_gatt_status_t status + // - uint16_t app_id + case ESP_GATTC_REG_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, app_id: 0x%x]", + BLEUtils::gattStatusToString(evtParam->reg.status).c_str(), + evtParam->reg.app_id); + break; + } // ESP_GATTC_REG_EVT + + // ESP_GATTC_REG_FOR_NOTIFY_EVT + // + // reg_for_notify: + // - esp_gatt_status_t status + // - uint16_t handle + case ESP_GATTC_REG_FOR_NOTIFY_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, handle: %d 0x%.2x]", + BLEUtils::gattStatusToString(evtParam->reg_for_notify.status).c_str(), + evtParam->reg_for_notify.handle, + evtParam->reg_for_notify.handle + ); + break; + } // ESP_GATTC_REG_FOR_NOTIFY_EVT + + // ESP_GATTC_SEARCH_CMPL_EVT + // + // search_cmpl: + // - esp_gatt_status_t status + // - uint16_t conn_id + case ESP_GATTC_SEARCH_CMPL_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, conn_id: %d]", + BLEUtils::gattStatusToString(evtParam->search_cmpl.status).c_str(), + evtParam->search_cmpl.conn_id); + break; + } // ESP_GATTC_SEARCH_CMPL_EVT + + // ESP_GATTC_SEARCH_RES_EVT + // + // search_res: + // - uint16_t conn_id + // - uint16_t start_handle + // - uint16_t end_handle + // - esp_gatt_id_t srvc_id + case ESP_GATTC_SEARCH_RES_EVT: { + ESP_LOGV(LOG_TAG, "[conn_id: %d, start_handle: %d 0x%.2x, end_handle: %d 0x%.2x, srvc_id: %s", + evtParam->search_res.conn_id, + evtParam->search_res.start_handle, + evtParam->search_res.start_handle, + evtParam->search_res.end_handle, + evtParam->search_res.end_handle, + gattIdToString(evtParam->search_res.srvc_id).c_str()); + break; + } // ESP_GATTC_SEARCH_RES_EVT + + // ESP_GATTC_WRITE_CHAR_EVT + // + // write: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - uint16_t handle + // - uint16_t offset + case ESP_GATTC_WRITE_CHAR_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, conn_id: %d, handle: %d 0x%.2x, offset: %d]", + BLEUtils::gattStatusToString(evtParam->write.status).c_str(), + evtParam->write.conn_id, + evtParam->write.handle, + evtParam->write.handle, + evtParam->write.offset + ); + break; + } // ESP_GATTC_WRITE_CHAR_EVT +#endif + default: + break; + } +} // dumpGattClientEvent + + +/** + * @brief Dump the details of a GATT server event. + * A GATT Server event is a callback received from the BLE subsystem when we are acting as a BLE + * server. The callback indicates the type of event in the `event` field. The `evtParam` is a + * union of structures where we can use the `event` to indicate which of the structures has been + * populated and hence is valid. + * + * @param [in] event The event type that was posted. + * @param [in] evtParam A union of structures only one of which is populated. + */ +void BLEUtils::dumpGattServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* evtParam) { + ESP_LOGV(LOG_TAG, "GATT ServerEvent: %s", BLEUtils::gattServerEventTypeToString(event).c_str()); + switch (event) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + + case ESP_GATTS_ADD_CHAR_DESCR_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, attr_handle: %d 0x%.2x, service_handle: %d 0x%.2x, char_uuid: %s]", + gattStatusToString(evtParam->add_char_descr.status).c_str(), + evtParam->add_char_descr.attr_handle, + evtParam->add_char_descr.attr_handle, + evtParam->add_char_descr.service_handle, + evtParam->add_char_descr.service_handle, + BLEUUID(evtParam->add_char_descr.descr_uuid).toString().c_str()); + break; + } // ESP_GATTS_ADD_CHAR_DESCR_EVT + + case ESP_GATTS_ADD_CHAR_EVT: { + if (evtParam->add_char.status == ESP_GATT_OK) { + ESP_LOGV(LOG_TAG, "[status: %s, attr_handle: %d 0x%.2x, service_handle: %d 0x%.2x, char_uuid: %s]", + gattStatusToString(evtParam->add_char.status).c_str(), + evtParam->add_char.attr_handle, + evtParam->add_char.attr_handle, + evtParam->add_char.service_handle, + evtParam->add_char.service_handle, + BLEUUID(evtParam->add_char.char_uuid).toString().c_str()); + } else { + ESP_LOGE(LOG_TAG, "[status: %s, attr_handle: %d 0x%.2x, service_handle: %d 0x%.2x, char_uuid: %s]", + gattStatusToString(evtParam->add_char.status).c_str(), + evtParam->add_char.attr_handle, + evtParam->add_char.attr_handle, + evtParam->add_char.service_handle, + evtParam->add_char.service_handle, + BLEUUID(evtParam->add_char.char_uuid).toString().c_str()); + } + break; + } // ESP_GATTS_ADD_CHAR_EVT + + + // ESP_GATTS_CONF_EVT + // + // conf: + // - esp_gatt_status_t status – The status code. + // - uint16_t conn_id – The connection used. + case ESP_GATTS_CONF_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, conn_id: 0x%.2x]", + gattStatusToString(evtParam->conf.status).c_str(), + evtParam->conf.conn_id); + break; + } // ESP_GATTS_CONF_EVT + + + case ESP_GATTS_CONGEST_EVT: { + ESP_LOGV(LOG_TAG, "[conn_id: %d, congested: %d]", + evtParam->congest.conn_id, + evtParam->congest.congested); + break; + } // ESP_GATTS_CONGEST_EVT + + case ESP_GATTS_CONNECT_EVT: { + ESP_LOGV(LOG_TAG, "[conn_id: %d, remote_bda: %s]", + evtParam->connect.conn_id, + BLEAddress(evtParam->connect.remote_bda).toString().c_str()); + break; + } // ESP_GATTS_CONNECT_EVT + + case ESP_GATTS_CREATE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, service_handle: %d 0x%.2x, service_id: [%s]]", + gattStatusToString(evtParam->create.status).c_str(), + evtParam->create.service_handle, + evtParam->create.service_handle, + gattServiceIdToString(evtParam->create.service_id).c_str()); + break; + } // ESP_GATTS_CREATE_EVT + + case ESP_GATTS_DISCONNECT_EVT: { + ESP_LOGV(LOG_TAG, "[conn_id: %d, remote_bda: %s]", + evtParam->connect.conn_id, + BLEAddress(evtParam->connect.remote_bda).toString().c_str()); + break; + } // ESP_GATTS_DISCONNECT_EVT + + + // ESP_GATTS_EXEC_WRITE_EVT + // exec_write: + // - uint16_t conn_id + // - uint32_t trans_id + // - esp_bd_addr_t bda + // - uint8_t exec_write_flag + case ESP_GATTS_EXEC_WRITE_EVT: { + char* pWriteFlagText; + switch (evtParam->exec_write.exec_write_flag) { + case ESP_GATT_PREP_WRITE_EXEC: { + pWriteFlagText = (char*) "WRITE"; + break; + } + + case ESP_GATT_PREP_WRITE_CANCEL: { + pWriteFlagText = (char*) "CANCEL"; + break; + } + + default: + pWriteFlagText = (char*) ""; + break; + } + + ESP_LOGV(LOG_TAG, "[conn_id: %d, trans_id: %d, bda: %s, exec_write_flag: 0x%.2x=%s]", + evtParam->exec_write.conn_id, + evtParam->exec_write.trans_id, + BLEAddress(evtParam->exec_write.bda).toString().c_str(), + evtParam->exec_write.exec_write_flag, + pWriteFlagText); + break; + } // ESP_GATTS_DISCONNECT_EVT + + + case ESP_GATTS_MTU_EVT: { + ESP_LOGV(LOG_TAG, "[conn_id: %d, mtu: %d]", + evtParam->mtu.conn_id, + evtParam->mtu.mtu); + break; + } // ESP_GATTS_MTU_EVT + + case ESP_GATTS_READ_EVT: { + ESP_LOGV(LOG_TAG, "[conn_id: %d, trans_id: %d, bda: %s, handle: 0x%.2x, is_long: %d, need_rsp:%d]", + evtParam->read.conn_id, + evtParam->read.trans_id, + BLEAddress(evtParam->read.bda).toString().c_str(), + evtParam->read.handle, + evtParam->read.is_long, + evtParam->read.need_rsp); + break; + } // ESP_GATTS_READ_EVT + + case ESP_GATTS_RESPONSE_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, handle: 0x%.2x]", + gattStatusToString(evtParam->rsp.status).c_str(), + evtParam->rsp.handle); + break; + } // ESP_GATTS_RESPONSE_EVT + + case ESP_GATTS_REG_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, app_id: %d]", + gattStatusToString(evtParam->reg.status).c_str(), + evtParam->reg.app_id); + break; + } // ESP_GATTS_REG_EVT + + + // ESP_GATTS_START_EVT + // + // start: + // - esp_gatt_status_t status + // - uint16_t service_handle + case ESP_GATTS_START_EVT: { + ESP_LOGV(LOG_TAG, "[status: %s, service_handle: 0x%.2x]", + gattStatusToString(evtParam->start.status).c_str(), + evtParam->start.service_handle); + break; + } // ESP_GATTS_START_EVT + + + // ESP_GATTS_WRITE_EVT + // + // write: + // - uint16_t conn_id – The connection id. + // - uint16_t trans_id – The transfer id. + // - esp_bd_addr_t bda – The address of the partner. + // - uint16_t handle – The attribute handle. + // - uint16_t offset – The offset of the currently received within the whole value. + // - bool need_rsp – Do we need a response? + // - bool is_prep – Is this a write prepare? If set, then this is to be considered part of the received value and not the whole value. A subsequent ESP_GATTS_EXEC_WRITE will mark the total. + // - uint16_t len – The length of the incoming value part. + // - uint8_t* value – The data for this value part. + case ESP_GATTS_WRITE_EVT: { + ESP_LOGV(LOG_TAG, "[conn_id: %d, trans_id: %d, bda: %s, handle: 0x%.2x, offset: %d, need_rsp: %d, is_prep: %d, len: %d]", + evtParam->write.conn_id, + evtParam->write.trans_id, + BLEAddress(evtParam->write.bda).toString().c_str(), + evtParam->write.handle, + evtParam->write.offset, + evtParam->write.need_rsp, + evtParam->write.is_prep, + evtParam->write.len); + char* pHex = buildHexData(nullptr, evtParam->write.value, evtParam->write.len); + ESP_LOGV(LOG_TAG, "[Data: %s]", pHex); + free(pHex); + break; + } // ESP_GATTS_WRITE_EVT +#endif + default: + ESP_LOGV(LOG_TAG, "dumpGattServerEvent: *** NOT CODED ***"); + break; + } +} // dumpGattServerEvent + + +/** + * @brief Convert a BLE event type to a string. + * @param [in] eventType The event type. + * @return The event type as a string. + */ +const char* BLEUtils::eventTypeToString(esp_ble_evt_type_t eventType) { + switch (eventType) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + case ESP_BLE_EVT_CONN_ADV: + return "ESP_BLE_EVT_CONN_ADV"; + case ESP_BLE_EVT_CONN_DIR_ADV: + return "ESP_BLE_EVT_CONN_DIR_ADV"; + case ESP_BLE_EVT_DISC_ADV: + return "ESP_BLE_EVT_DISC_ADV"; + case ESP_BLE_EVT_NON_CONN_ADV: + return "ESP_BLE_EVT_NON_CONN_ADV"; + case ESP_BLE_EVT_SCAN_RSP: + return "ESP_BLE_EVT_SCAN_RSP"; +#endif + default: + ESP_LOGV(LOG_TAG, "Unknown esp_ble_evt_type_t: %d (0x%.2x)", eventType, eventType); + return "*** Unknown ***"; + } +} // eventTypeToString + + + +/** + * @brief Convert a BT GAP event type to a string representation. + * @param [in] eventType The type of event. + * @return A string representation of the event type. + */ +const char* BLEUtils::gapEventToString(uint32_t eventType) { + switch (eventType) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + case ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT: + return "ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT"; + case ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT: + return "ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT"; + case ESP_GAP_BLE_ADV_START_COMPLETE_EVT: + return "ESP_GAP_BLE_ADV_START_COMPLETE_EVT"; + case ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT: /* !< When stop adv complete, the event comes */ + return "ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT"; + case ESP_GAP_BLE_AUTH_CMPL_EVT: /* Authentication complete indication. */ + return "ESP_GAP_BLE_AUTH_CMPL_EVT"; + case ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT: + return "ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT"; + case ESP_GAP_BLE_GET_BOND_DEV_COMPLETE_EVT: + return "ESP_GAP_BLE_GET_BOND_DEV_COMPLETE_EVT"; + case ESP_GAP_BLE_KEY_EVT: /* BLE key event for peer device keys */ + return "ESP_GAP_BLE_KEY_EVT"; + case ESP_GAP_BLE_LOCAL_IR_EVT: /* BLE local IR event */ + return "ESP_GAP_BLE_LOCAL_IR_EVT"; + case ESP_GAP_BLE_LOCAL_ER_EVT: /* BLE local ER event */ + return "ESP_GAP_BLE_LOCAL_ER_EVT"; + case ESP_GAP_BLE_NC_REQ_EVT: /* Numeric Comparison request event */ + return "ESP_GAP_BLE_NC_REQ_EVT"; + case ESP_GAP_BLE_OOB_REQ_EVT: /* OOB request event */ + return "ESP_GAP_BLE_OOB_REQ_EVT"; + case ESP_GAP_BLE_PASSKEY_NOTIF_EVT: /* passkey notification event */ + return "ESP_GAP_BLE_PASSKEY_NOTIF_EVT"; + case ESP_GAP_BLE_PASSKEY_REQ_EVT: /* passkey request event */ + return "ESP_GAP_BLE_PASSKEY_REQ_EVT"; + case ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT: + return "ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT"; + case ESP_GAP_BLE_REMOVE_BOND_DEV_COMPLETE_EVT: + return "ESP_GAP_BLE_REMOVE_BOND_DEV_COMPLETE_EVT"; + case ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT: + return "ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT"; + case ESP_GAP_BLE_SCAN_RESULT_EVT: + return "ESP_GAP_BLE_SCAN_RESULT_EVT"; + case ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT: + return "ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT"; + case ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT: + return "ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT"; + case ESP_GAP_BLE_SCAN_START_COMPLETE_EVT: + return "ESP_GAP_BLE_SCAN_START_COMPLETE_EVT"; + case ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT: + return "ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT"; + case ESP_GAP_BLE_SEC_REQ_EVT: /* BLE security request */ + return "ESP_GAP_BLE_SEC_REQ_EVT"; + case ESP_GAP_BLE_SET_LOCAL_PRIVACY_COMPLETE_EVT: + return "ESP_GAP_BLE_SET_LOCAL_PRIVACY_COMPLETE_EVT"; + case ESP_GAP_BLE_SET_PKT_LENGTH_COMPLETE_EVT: + return "ESP_GAP_BLE_SET_PKT_LENGTH_COMPLETE_EVT"; + case ESP_GAP_BLE_SET_STATIC_RAND_ADDR_EVT: + return "ESP_GAP_BLE_SET_STATIC_RAND_ADDR_EVT"; + case ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT: + return "ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT"; +#endif + default: + ESP_LOGV(LOG_TAG, "gapEventToString: Unknown event type %d 0x%.2x", eventType, eventType); + return "Unknown event type"; + } +} // gapEventToString + + +std::string BLEUtils::gattCharacteristicUUIDToString(uint32_t characteristicUUID) { + const characteristicMap_t* p = g_characteristicsMappings; + while (strlen(p->name) > 0) { + if (p->assignedNumber == characteristicUUID) { + return std::string(p->name); + } + p++; + } + return "Unknown"; +} // gattCharacteristicUUIDToString + + +/** + * @brief Given the UUID for a BLE defined descriptor, return its string representation. + * @param [in] descriptorUUID UUID of the descriptor to be returned as a string. + * @return The string representation of a descriptor UUID. + */ +std::string BLEUtils::gattDescriptorUUIDToString(uint32_t descriptorUUID) { + gattdescriptor_t* p = (gattdescriptor_t*) g_descriptor_ids; + while (strlen(p->name) > 0) { + if (p->assignedNumber == descriptorUUID) { + return std::string(p->name); + } + p++; + } + return ""; +} // gattDescriptorUUIDToString + + +/** + * @brief Return a string representation of an esp_gattc_service_elem_t. + * @return A string representation of an esp_gattc_service_elem_t. + */ +std::string BLEUtils::gattcServiceElementToString(esp_gattc_service_elem_t* pGATTCServiceElement) { + std::stringstream ss; + + ss << "[uuid: " << BLEUUID(pGATTCServiceElement->uuid).toString() << + ", start_handle: " << pGATTCServiceElement->start_handle << + " 0x" << std::hex << pGATTCServiceElement->start_handle << + ", end_handle: " << std::dec << pGATTCServiceElement->end_handle << + " 0x" << std::hex << pGATTCServiceElement->end_handle << "]"; + return ss.str(); +} // gattcServiceElementToString + + +/** + * @brief Convert an esp_gatt_srvc_id_t to a string. + */ +std::string BLEUtils::gattServiceIdToString(esp_gatt_srvc_id_t srvcId) { + return gattIdToString(srvcId.id); +} // gattServiceIdToString + + +std::string BLEUtils::gattServiceToString(uint32_t serviceId) { + gattService_t* p = (gattService_t*) g_gattServices; + while (strlen(p->name) > 0) { + if (p->assignedNumber == serviceId) { + return std::string(p->name); + } + p++; + } + return "Unknown"; +} // gattServiceToString + + +/** + * @brief Convert a GATT status to a string. + * + * @param [in] status The status to convert. + * @return A string representation of the status. + */ +std::string BLEUtils::gattStatusToString(esp_gatt_status_t status) { + switch (status) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + case ESP_GATT_OK: + return "ESP_GATT_OK"; + case ESP_GATT_INVALID_HANDLE: + return "ESP_GATT_INVALID_HANDLE"; + case ESP_GATT_READ_NOT_PERMIT: + return "ESP_GATT_READ_NOT_PERMIT"; + case ESP_GATT_WRITE_NOT_PERMIT: + return "ESP_GATT_WRITE_NOT_PERMIT"; + case ESP_GATT_INVALID_PDU: + return "ESP_GATT_INVALID_PDU"; + case ESP_GATT_INSUF_AUTHENTICATION: + return "ESP_GATT_INSUF_AUTHENTICATION"; + case ESP_GATT_REQ_NOT_SUPPORTED: + return "ESP_GATT_REQ_NOT_SUPPORTED"; + case ESP_GATT_INVALID_OFFSET: + return "ESP_GATT_INVALID_OFFSET"; + case ESP_GATT_INSUF_AUTHORIZATION: + return "ESP_GATT_INSUF_AUTHORIZATION"; + case ESP_GATT_PREPARE_Q_FULL: + return "ESP_GATT_PREPARE_Q_FULL"; + case ESP_GATT_NOT_FOUND: + return "ESP_GATT_NOT_FOUND"; + case ESP_GATT_NOT_LONG: + return "ESP_GATT_NOT_LONG"; + case ESP_GATT_INSUF_KEY_SIZE: + return "ESP_GATT_INSUF_KEY_SIZE"; + case ESP_GATT_INVALID_ATTR_LEN: + return "ESP_GATT_INVALID_ATTR_LEN"; + case ESP_GATT_ERR_UNLIKELY: + return "ESP_GATT_ERR_UNLIKELY"; + case ESP_GATT_INSUF_ENCRYPTION: + return "ESP_GATT_INSUF_ENCRYPTION"; + case ESP_GATT_UNSUPPORT_GRP_TYPE: + return "ESP_GATT_UNSUPPORT_GRP_TYPE"; + case ESP_GATT_INSUF_RESOURCE: + return "ESP_GATT_INSUF_RESOURCE"; + case ESP_GATT_NO_RESOURCES: + return "ESP_GATT_NO_RESOURCES"; + case ESP_GATT_INTERNAL_ERROR: + return "ESP_GATT_INTERNAL_ERROR"; + case ESP_GATT_WRONG_STATE: + return "ESP_GATT_WRONG_STATE"; + case ESP_GATT_DB_FULL: + return "ESP_GATT_DB_FULL"; + case ESP_GATT_BUSY: + return "ESP_GATT_BUSY"; + case ESP_GATT_ERROR: + return "ESP_GATT_ERROR"; + case ESP_GATT_CMD_STARTED: + return "ESP_GATT_CMD_STARTED"; + case ESP_GATT_ILLEGAL_PARAMETER: + return "ESP_GATT_ILLEGAL_PARAMETER"; + case ESP_GATT_PENDING: + return "ESP_GATT_PENDING"; + case ESP_GATT_AUTH_FAIL: + return "ESP_GATT_AUTH_FAIL"; + case ESP_GATT_MORE: + return "ESP_GATT_MORE"; + case ESP_GATT_INVALID_CFG: + return "ESP_GATT_INVALID_CFG"; + case ESP_GATT_SERVICE_STARTED: + return "ESP_GATT_SERVICE_STARTED"; + case ESP_GATT_ENCRYPED_NO_MITM: + return "ESP_GATT_ENCRYPED_NO_MITM"; + case ESP_GATT_NOT_ENCRYPTED: + return "ESP_GATT_NOT_ENCRYPTED"; + case ESP_GATT_CONGESTED: + return "ESP_GATT_CONGESTED"; + case ESP_GATT_DUP_REG: + return "ESP_GATT_DUP_REG"; + case ESP_GATT_ALREADY_OPEN: + return "ESP_GATT_ALREADY_OPEN"; + case ESP_GATT_CANCEL: + return "ESP_GATT_CANCEL"; + case ESP_GATT_STACK_RSP: + return "ESP_GATT_STACK_RSP"; + case ESP_GATT_APP_RSP: + return "ESP_GATT_APP_RSP"; + case ESP_GATT_UNKNOWN_ERROR: + return "ESP_GATT_UNKNOWN_ERROR"; + case ESP_GATT_CCC_CFG_ERR: + return "ESP_GATT_CCC_CFG_ERR"; + case ESP_GATT_PRC_IN_PROGRESS: + return "ESP_GATT_PRC_IN_PROGRESS"; + case ESP_GATT_OUT_OF_RANGE: + return "ESP_GATT_OUT_OF_RANGE"; +#endif + default: + return "Unknown"; + } +} // gattStatusToString + + + +std::string BLEUtils::getMember(uint32_t memberId) { + member_t* p = (member_t*) members_ids; + + while (strlen(p->name) > 0) { + if (p->assignedNumber == memberId) { + return std::string(p->name); + } + p++; + } + return "Unknown"; +} + +/** + * @brief convert a GAP search event to a string. + * @param [in] searchEvt + * @return The search event type as a string. + */ +const char* BLEUtils::searchEventTypeToString(esp_gap_search_evt_t searchEvt) { + switch (searchEvt) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + case ESP_GAP_SEARCH_INQ_RES_EVT: + return "ESP_GAP_SEARCH_INQ_RES_EVT"; + case ESP_GAP_SEARCH_INQ_CMPL_EVT: + return "ESP_GAP_SEARCH_INQ_CMPL_EVT"; + case ESP_GAP_SEARCH_DISC_RES_EVT: + return "ESP_GAP_SEARCH_DISC_RES_EVT"; + case ESP_GAP_SEARCH_DISC_BLE_RES_EVT: + return "ESP_GAP_SEARCH_DISC_BLE_RES_EVT"; + case ESP_GAP_SEARCH_DISC_CMPL_EVT: + return "ESP_GAP_SEARCH_DISC_CMPL_EVT"; + case ESP_GAP_SEARCH_DI_DISC_CMPL_EVT: + return "ESP_GAP_SEARCH_DI_DISC_CMPL_EVT"; + case ESP_GAP_SEARCH_SEARCH_CANCEL_CMPL_EVT: + return "ESP_GAP_SEARCH_SEARCH_CANCEL_CMPL_EVT"; +#endif + default: + ESP_LOGV(LOG_TAG, "Unknown event type: 0x%x", searchEvt); + return "Unknown event type"; + } +} // searchEventTypeToString + +#endif // CONFIG_BT_ENABLED diff --git a/libraries/BLE/src/BLEUtils.h b/libraries/BLE/src/BLEUtils.h new file mode 100644 index 00000000..7981691c --- /dev/null +++ b/libraries/BLE/src/BLEUtils.h @@ -0,0 +1,63 @@ +/* + * BLEUtils.h + * + * Created on: Mar 25, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEUTILS_H_ +#define COMPONENTS_CPP_UTILS_BLEUTILS_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include +#include "BLEClient.h" + +/** + * @brief A set of general %BLE utilities. + */ +class BLEUtils { +public: + static const char* addressTypeToString(esp_ble_addr_type_t type); + static std::string adFlagsToString(uint8_t adFlags); + static const char* advTypeToString(uint8_t advType); + static char* buildHexData(uint8_t* target, uint8_t* source, uint8_t length); + static std::string buildPrintData(uint8_t* source, size_t length); + static std::string characteristicPropertiesToString(esp_gatt_char_prop_t prop); + static const char* devTypeToString(esp_bt_dev_type_t type); + static esp_gatt_id_t buildGattId(esp_bt_uuid_t uuid, uint8_t inst_id = 0); + static esp_gatt_srvc_id_t buildGattSrvcId(esp_gatt_id_t gattId, bool is_primary = true); + static void dumpGapEvent( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param); + static void dumpGattClientEvent( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* evtParam); + static void dumpGattServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* evtParam); + static const char* eventTypeToString(esp_ble_evt_type_t eventType); + static BLEClient* findByAddress(BLEAddress address); + static BLEClient* findByConnId(uint16_t conn_id); + static const char* gapEventToString(uint32_t eventType); + static std::string gattCharacteristicUUIDToString(uint32_t characteristicUUID); + static std::string gattClientEventTypeToString(esp_gattc_cb_event_t eventType); + static std::string gattCloseReasonToString(esp_gatt_conn_reason_t reason); + static std::string gattcServiceElementToString(esp_gattc_service_elem_t* pGATTCServiceElement); + static std::string gattDescriptorUUIDToString(uint32_t descriptorUUID); + static std::string gattServerEventTypeToString(esp_gatts_cb_event_t eventType); + static std::string gattServiceIdToString(esp_gatt_srvc_id_t srvcId); + static std::string gattServiceToString(uint32_t serviceId); + static std::string gattStatusToString(esp_gatt_status_t status); + static std::string getMember(uint32_t memberId); + static void registerByAddress(BLEAddress address, BLEClient* pDevice); + static void registerByConnId(uint16_t conn_id, BLEClient* pDevice); + static const char* searchEventTypeToString(esp_gap_search_evt_t searchEvt); +}; + +#endif // CONFIG_BT_ENABLED +#endif /* COMPONENTS_CPP_UTILS_BLEUTILS_H_ */ diff --git a/libraries/BLE/src/BLEValue.cpp b/libraries/BLE/src/BLEValue.cpp new file mode 100644 index 00000000..ec1e61f5 --- /dev/null +++ b/libraries/BLE/src/BLEValue.cpp @@ -0,0 +1,139 @@ +/* + * BLEValue.cpp + * + * Created on: Jul 17, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include "BLEValue.h" + +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG="BLEValue"; +#endif + + + +BLEValue::BLEValue() { + m_accumulation = ""; + m_value = ""; + m_readOffset = 0; +} // BLEValue + + +/** + * @brief Add a message part to the accumulation. + * The accumulation is a growing set of data that is added to until a commit or cancel. + * @param [in] part A message part being added. + */ +void BLEValue::addPart(std::string part) { + ESP_LOGD(LOG_TAG, ">> addPart: length=%d", part.length()); + m_accumulation += part; +} // addPart + + +/** + * @brief Add a message part to the accumulation. + * The accumulation is a growing set of data that is added to until a commit or cancel. + * @param [in] pData A message part being added. + * @param [in] length The number of bytes being added. + */ +void BLEValue::addPart(uint8_t* pData, size_t length) { + ESP_LOGD(LOG_TAG, ">> addPart: length=%d", length); + m_accumulation += std::string((char*) pData, length); +} // addPart + + +/** + * @brief Cancel the current accumulation. + */ +void BLEValue::cancel() { + ESP_LOGD(LOG_TAG, ">> cancel"); + m_accumulation = ""; + m_readOffset = 0; +} // cancel + + +/** + * @brief Commit the current accumulation. + * When writing a value, we may find that we write it in "parts" meaning that the writes come in in pieces + * of the overall message. After the last part has been received, we may perform a commit which means that + * we now have the complete message and commit the change as a unit. + */ +void BLEValue::commit() { + ESP_LOGD(LOG_TAG, ">> commit"); + // If there is nothing to commit, do nothing. + if (m_accumulation.length() == 0) return; + setValue(m_accumulation); + m_accumulation = ""; + m_readOffset = 0; +} // commit + + +/** + * @brief Get a pointer to the data. + * @return A pointer to the data. + */ +uint8_t* BLEValue::getData() { + return (uint8_t*) m_value.data(); +} + + +/** + * @brief Get the length of the data in bytes. + * @return The length of the data in bytes. + */ +size_t BLEValue::getLength() { + return m_value.length(); +} // getLength + + +/** + * @brief Get the read offset. + * @return The read offset into the read. + */ +uint16_t BLEValue::getReadOffset() { + return m_readOffset; +} // getReadOffset + + +/** + * @brief Get the current value. + */ +std::string BLEValue::getValue() { + return m_value; +} // getValue + + +/** + * @brief Set the read offset + * @param [in] readOffset The offset into the read. + */ +void BLEValue::setReadOffset(uint16_t readOffset) { + m_readOffset = readOffset; +} // setReadOffset + + +/** + * @brief Set the current value. + */ +void BLEValue::setValue(std::string value) { + m_value = value; +} // setValue + + +/** + * @brief Set the current value. + * @param [in] pData The data for the current value. + * @param [in] The length of the new current value. + */ +void BLEValue::setValue(uint8_t* pData, size_t length) { + m_value = std::string((char*) pData, length); +} // setValue + + +#endif // CONFIG_BT_ENABLED diff --git a/libraries/BLE/src/BLEValue.h b/libraries/BLE/src/BLEValue.h new file mode 100644 index 00000000..5df904c1 --- /dev/null +++ b/libraries/BLE/src/BLEValue.h @@ -0,0 +1,39 @@ +/* + * BLEValue.h + * + * Created on: Jul 17, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEVALUE_H_ +#define COMPONENTS_CPP_UTILS_BLEVALUE_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include + +/** + * @brief The model of a %BLE value. + */ +class BLEValue { +public: + BLEValue(); + void addPart(std::string part); + void addPart(uint8_t* pData, size_t length); + void cancel(); + void commit(); + uint8_t* getData(); + size_t getLength(); + uint16_t getReadOffset(); + std::string getValue(); + void setReadOffset(uint16_t readOffset); + void setValue(std::string value); + void setValue(uint8_t* pData, size_t length); + +private: + std::string m_accumulation; + uint16_t m_readOffset; + std::string m_value; + +}; +#endif // CONFIG_BT_ENABLED +#endif /* COMPONENTS_CPP_UTILS_BLEVALUE_H_ */ diff --git a/libraries/BLE/src/FreeRTOS.cpp b/libraries/BLE/src/FreeRTOS.cpp new file mode 100644 index 00000000..1f12c88a --- /dev/null +++ b/libraries/BLE/src/FreeRTOS.cpp @@ -0,0 +1,274 @@ +/* + * FreeRTOS.cpp + * + * Created on: Feb 24, 2017 + * Author: kolban + */ +#include // Include the base FreeRTOS definitions +#include // Include the task definitions +#include // Include the semaphore definitions +#include +#include +#include +#include "FreeRTOS.h" +#include "sdkconfig.h" +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "FreeRTOS"; +#endif + + +/** + * Sleep for the specified number of milliseconds. + * @param[in] ms The period in milliseconds for which to sleep. + */ +void FreeRTOS::sleep(uint32_t ms) { + ::vTaskDelay(ms / portTICK_PERIOD_MS); +} // sleep + + +/** + * Start a new task. + * @param[in] task The function pointer to the function to be run in the task. + * @param[in] taskName A string identifier for the task. + * @param[in] param An optional parameter to be passed to the started task. + * @param[in] stackSize An optional paremeter supplying the size of the stack in which to run the task. + */ +void FreeRTOS::startTask(void task(void*), std::string taskName, void* param, uint32_t stackSize) { + ::xTaskCreate(task, taskName.data(), stackSize, param, 5, NULL); +} // startTask + + +/** + * Delete the task. + * @param[in] pTask An optional handle to the task to be deleted. If not supplied the calling task will be deleted. + */ +void FreeRTOS::deleteTask(TaskHandle_t pTask) { + ::vTaskDelete(pTask); +} // deleteTask + + +/** + * Get the time in milliseconds since the %FreeRTOS scheduler started. + * @return The time in milliseconds since the %FreeRTOS scheduler started. + */ +uint32_t FreeRTOS::getTimeSinceStart() { + return (uint32_t) (xTaskGetTickCount() * portTICK_PERIOD_MS); +} // getTimeSinceStart + + +/** + * @brief Wait for a semaphore to be released by trying to take it and + * then releasing it again. + * @param [in] owner A debug tag. + * @return The value associated with the semaphore. + */ +uint32_t FreeRTOS::Semaphore::wait(std::string owner) { + ESP_LOGV(LOG_TAG, ">> wait: Semaphore waiting: %s for %s", toString().c_str(), owner.c_str()); + + if (m_usePthreads) { + pthread_mutex_lock(&m_pthread_mutex); + } else { + xSemaphoreTake(m_semaphore, portMAX_DELAY); + } + + m_owner = owner; + + if (m_usePthreads) { + pthread_mutex_unlock(&m_pthread_mutex); + } else { + xSemaphoreGive(m_semaphore); + } + + ESP_LOGV(LOG_TAG, "<< wait: Semaphore released: %s", toString().c_str()); + m_owner = std::string(""); + return m_value; +} // wait + + +FreeRTOS::Semaphore::Semaphore(std::string name) { + m_usePthreads = false; // Are we using pThreads or FreeRTOS? + if (m_usePthreads) { + pthread_mutex_init(&m_pthread_mutex, nullptr); + } else { + m_semaphore = xSemaphoreCreateMutex(); + } + + m_name = name; + m_owner = std::string(""); + m_value = 0; +} + + +FreeRTOS::Semaphore::~Semaphore() { + if (m_usePthreads) { + pthread_mutex_destroy(&m_pthread_mutex); + } else { + vSemaphoreDelete(m_semaphore); + } +} + + +/** + * @brief Give a semaphore. + * The Semaphore is given. + */ +void FreeRTOS::Semaphore::give() { + ESP_LOGV(LOG_TAG, "Semaphore giving: %s", toString().c_str()); + if (m_usePthreads) { + pthread_mutex_unlock(&m_pthread_mutex); + } else { + xSemaphoreGive(m_semaphore); + } +// #ifdef ARDUINO_ARCH_ESP32 +// FreeRTOS::sleep(10); +// #endif + + m_owner = std::string(""); +} // Semaphore::give + + +/** + * @brief Give a semaphore. + * The Semaphore is given with an associated value. + * @param [in] value The value to associate with the semaphore. + */ +void FreeRTOS::Semaphore::give(uint32_t value) { + m_value = value; + give(); +} // give + + +/** + * @brief Give a semaphore from an ISR. + */ +void FreeRTOS::Semaphore::giveFromISR() { + BaseType_t higherPriorityTaskWoken; + if (m_usePthreads) { + assert(false); + } else { + xSemaphoreGiveFromISR(m_semaphore, &higherPriorityTaskWoken); + } +} // giveFromISR + + +/** + * @brief Take a semaphore. + * Take a semaphore and wait indefinitely. + * @param [in] owner The new owner (for debugging) + * @return True if we took the semaphore. + */ +bool FreeRTOS::Semaphore::take(std::string owner) { + ESP_LOGD(LOG_TAG, "Semaphore taking: %s for %s", toString().c_str(), owner.c_str()); + bool rc = false; + if (m_usePthreads) { + pthread_mutex_lock(&m_pthread_mutex); + } else { + rc = ::xSemaphoreTake(m_semaphore, portMAX_DELAY) == pdTRUE; + } + m_owner = owner; + if (rc) { + ESP_LOGD(LOG_TAG, "Semaphore taken: %s", toString().c_str()); + } else { + ESP_LOGE(LOG_TAG, "Semaphore NOT taken: %s", toString().c_str()); + } + return rc; +} // Semaphore::take + + +/** + * @brief Take a semaphore. + * Take a semaphore but return if we haven't obtained it in the given period of milliseconds. + * @param [in] timeoutMs Timeout in milliseconds. + * @param [in] owner The new owner (for debugging) + * @return True if we took the semaphore. + */ +bool FreeRTOS::Semaphore::take(uint32_t timeoutMs, std::string owner) { + ESP_LOGV(LOG_TAG, "Semaphore taking: %s for %s", toString().c_str(), owner.c_str()); + bool rc = false; + if (m_usePthreads) { + assert(false); // We apparently don't have a timed wait for pthreads. + } else { + rc = ::xSemaphoreTake(m_semaphore, timeoutMs / portTICK_PERIOD_MS) == pdTRUE; + } + m_owner = owner; + if (rc) { + ESP_LOGV(LOG_TAG, "Semaphore taken: %s", toString().c_str()); + } else { + ESP_LOGE(LOG_TAG, "Semaphore NOT taken: %s", toString().c_str()); + } + return rc; +} // Semaphore::take + + + +/** + * @brief Create a string representation of the semaphore. + * @return A string representation of the semaphore. + */ +std::string FreeRTOS::Semaphore::toString() { + std::stringstream stringStream; + stringStream << "name: "<< m_name << " (0x" << std::hex << std::setfill('0') << (uint32_t)m_semaphore << "), owner: " << m_owner; + return stringStream.str(); +} // toString + + +/** + * @brief Set the name of the semaphore. + * @param [in] name The name of the semaphore. + */ +void FreeRTOS::Semaphore::setName(std::string name) { + m_name = name; +} // setName + + +/** + * @brief Create a ring buffer. + * @param [in] length The amount of storage to allocate for the ring buffer. + * @param [in] type The type of buffer. One of RINGBUF_TYPE_NOSPLIT, RINGBUF_TYPE_ALLOWSPLIT, RINGBUF_TYPE_BYTEBUF. + */ +Ringbuffer::Ringbuffer(size_t length, ringbuf_type_t type) { + m_handle = ::xRingbufferCreate(length, type); +} // Ringbuffer + + +Ringbuffer::~Ringbuffer() { + ::vRingbufferDelete(m_handle); +} // ~Ringbuffer + + +/** + * @brief Receive data from the buffer. + * @param [out] size On return, the size of data returned. + * @param [in] wait How long to wait. + * @return A pointer to the storage retrieved. + */ +void* Ringbuffer::receive(size_t* size, TickType_t wait) { + return ::xRingbufferReceive(m_handle, size, wait); +} // receive + + +/** + * @brief Return an item. + * @param [in] item The item to be returned/released. + */ +void Ringbuffer::returnItem(void* item) { + ::vRingbufferReturnItem(m_handle, item); +} // returnItem + + +/** + * @brief Send data to the buffer. + * @param [in] data The data to place into the buffer. + * @param [in] length The length of data to place into the buffer. + * @param [in] wait How long to wait before giving up. The default is to wait indefinitely. + * @return + */ +bool Ringbuffer::send(void* data, size_t length, TickType_t wait) { + return ::xRingbufferSend(m_handle, data, length, wait) == pdTRUE; +} // send + + diff --git a/libraries/BLE/src/FreeRTOS.h b/libraries/BLE/src/FreeRTOS.h new file mode 100644 index 00000000..b861c875 --- /dev/null +++ b/libraries/BLE/src/FreeRTOS.h @@ -0,0 +1,71 @@ +/* + * FreeRTOS.h + * + * Created on: Feb 24, 2017 + * Author: kolban + */ + +#ifndef MAIN_FREERTOS_H_ +#define MAIN_FREERTOS_H_ +#include +#include +#include + +#include // Include the base FreeRTOS definitions. +#include // Include the task definitions. +#include // Include the semaphore definitions. +#include // Include the ringbuffer definitions. + + +/** + * @brief Interface to %FreeRTOS functions. + */ +class FreeRTOS { +public: + static void sleep(uint32_t ms); + static void startTask(void task(void*), std::string taskName, void* param = nullptr, uint32_t stackSize = 2048); + static void deleteTask(TaskHandle_t pTask = nullptr); + + static uint32_t getTimeSinceStart(); + + class Semaphore { + public: + Semaphore(std::string owner = ""); + ~Semaphore(); + void give(); + void give(uint32_t value); + void giveFromISR(); + void setName(std::string name); + bool take(std::string owner = ""); + bool take(uint32_t timeoutMs, std::string owner = ""); + std::string toString(); + uint32_t wait(std::string owner = ""); + + private: + SemaphoreHandle_t m_semaphore; + pthread_mutex_t m_pthread_mutex; + std::string m_name; + std::string m_owner; + uint32_t m_value; + bool m_usePthreads; + + }; +}; + + +/** + * @brief Ringbuffer. + */ +class Ringbuffer { +public: + Ringbuffer(size_t length, ringbuf_type_t type = RINGBUF_TYPE_NOSPLIT); + ~Ringbuffer(); + + void* receive(size_t* size, TickType_t wait = portMAX_DELAY); + void returnItem(void* item); + bool send(void* data, size_t length, TickType_t wait = portMAX_DELAY); +private: + RingbufHandle_t m_handle; +}; + +#endif /* MAIN_FREERTOS_H_ */ diff --git a/libraries/BLE/src/GeneralUtils.cpp b/libraries/BLE/src/GeneralUtils.cpp new file mode 100644 index 00000000..019c81bd --- /dev/null +++ b/libraries/BLE/src/GeneralUtils.cpp @@ -0,0 +1,544 @@ +/* + * GeneralUtils.cpp + * + * Created on: May 20, 2017 + * Author: kolban + */ + +#include "GeneralUtils.h" +#include +#include +#include +#include +#include +#include +#include "FreeRTOS.h" +#include +#include +#include +#include +#include + +#if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) +#include "esp32-hal-log.h" +#define LOG_TAG "" +#else +#include "esp_log.h" +static const char* LOG_TAG = "GeneralUtils"; +#endif + + +static const char kBase64Alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789+/"; + +static int base64EncodedLength(size_t length) { + return (length + 2 - ((length + 2) % 3)) / 3 * 4; +} // base64EncodedLength + + +static int base64EncodedLength(const std::string& in) { + return base64EncodedLength(in.length()); +} // base64EncodedLength + + +static void a3_to_a4(unsigned char* a4, unsigned char* a3) { + a4[0] = (a3[0] & 0xfc) >> 2; + a4[1] = ((a3[0] & 0x03) << 4) + ((a3[1] & 0xf0) >> 4); + a4[2] = ((a3[1] & 0x0f) << 2) + ((a3[2] & 0xc0) >> 6); + a4[3] = (a3[2] & 0x3f); +} // a3_to_a4 + + +static void a4_to_a3(unsigned char* a3, unsigned char* a4) { + a3[0] = (a4[0] << 2) + ((a4[1] & 0x30) >> 4); + a3[1] = ((a4[1] & 0xf) << 4) + ((a4[2] & 0x3c) >> 2); + a3[2] = ((a4[2] & 0x3) << 6) + a4[3]; +} // a4_to_a3 + + +/** + * @brief Encode a string into base 64. + * @param [in] in + * @param [out] out + */ +bool GeneralUtils::base64Encode(const std::string& in, std::string* out) { + int i = 0, j = 0; + size_t enc_len = 0; + unsigned char a3[3]; + unsigned char a4[4]; + + out->resize(base64EncodedLength(in)); + + int input_len = in.size(); + std::string::const_iterator input = in.begin(); + + while (input_len--) { + a3[i++] = *(input++); + if (i == 3) { + a3_to_a4(a4, a3); + + for (i = 0; i < 4; i++) { + (*out)[enc_len++] = kBase64Alphabet[a4[i]]; + } + + i = 0; + } + } + + if (i) { + for (j = i; j < 3; j++) { + a3[j] = '\0'; + } + + a3_to_a4(a4, a3); + + for (j = 0; j < i + 1; j++) { + (*out)[enc_len++] = kBase64Alphabet[a4[j]]; + } + + while ((i++ < 3)) { + (*out)[enc_len++] = '='; + } + } + + return (enc_len == out->size()); +} // base64Encode + + +/** + * @brief Dump general info to the log. + * Data includes: + * * Amount of free RAM + */ +void GeneralUtils::dumpInfo() { + size_t freeHeap = heap_caps_get_free_size(MALLOC_CAP_8BIT); + esp_chip_info_t chipInfo; + esp_chip_info(&chipInfo); + ESP_LOGV(LOG_TAG, "--- dumpInfo ---"); + ESP_LOGV(LOG_TAG, "Free heap: %d", freeHeap); + ESP_LOGV(LOG_TAG, "Chip Info: Model: %d, cores: %d, revision: %d", chipInfo.model, chipInfo.cores, chipInfo.revision); + ESP_LOGV(LOG_TAG, "ESP-IDF version: %s", esp_get_idf_version()); + ESP_LOGV(LOG_TAG, "---"); +} // dumpInfo + + +/** + * @brief Does the string end with a specific character? + * @param [in] str The string to examine. + * @param [in] c The character to look form. + * @return True if the string ends with the given character. + */ +bool GeneralUtils::endsWith(std::string str, char c) { + if (str.empty()) { + return false; + } + if (str.at(str.length() - 1) == c) { + return true; + } + return false; +} // endsWidth + + +static int DecodedLength(const std::string& in) { + int numEq = 0; + int n = (int) in.size(); + + for (std::string::const_reverse_iterator it = in.rbegin(); *it == '='; ++it) { + ++numEq; + } + return ((6 * n) / 8) - numEq; +} // DecodedLength + + +static unsigned char b64_lookup(unsigned char c) { + if(c >='A' && c <='Z') return c - 'A'; + if(c >='a' && c <='z') return c - 71; + if(c >='0' && c <='9') return c + 4; + if(c == '+') return 62; + if(c == '/') return 63; + return 255; +}; // b64_lookup + + +/** + * @brief Decode a chunk of data that is base64 encoded. + * @param [in] in The string to be decoded. + * @param [out] out The resulting data. + */ +bool GeneralUtils::base64Decode(const std::string& in, std::string* out) { + int i = 0, j = 0; + size_t dec_len = 0; + unsigned char a3[3]; + unsigned char a4[4]; + + int input_len = in.size(); + std::string::const_iterator input = in.begin(); + + out->resize(DecodedLength(in)); + + while (input_len--) { + if (*input == '=') { + break; + } + + a4[i++] = *(input++); + if (i == 4) { + for (i = 0; i <4; i++) { + a4[i] = b64_lookup(a4[i]); + } + + a4_to_a3(a3,a4); + + for (i = 0; i < 3; i++) { + (*out)[dec_len++] = a3[i]; + } + + i = 0; + } + } + + if (i) { + for (j = i; j < 4; j++) { + a4[j] = '\0'; + } + + for (j = 0; j < 4; j++) { + a4[j] = b64_lookup(a4[j]); + } + + a4_to_a3(a3,a4); + + for (j = 0; j < i - 1; j++) { + (*out)[dec_len++] = a3[j]; + } + } + + return (dec_len == out->size()); + } // base64Decode + +/* +void GeneralUtils::hexDump(uint8_t* pData, uint32_t length) { + uint32_t index=0; + std::stringstream ascii; + std::stringstream hex; + char asciiBuf[80]; + char hexBuf[80]; + hex.str(""); + ascii.str(""); + while(index < length) { + hex << std::setfill('0') << std::setw(2) << std::hex << (int)pData[index] << ' '; + if (std::isprint(pData[index])) { + ascii << pData[index]; + } else { + ascii << '.'; + } + index++; + if (index % 16 == 0) { + strcpy(hexBuf, hex.str().c_str()); + strcpy(asciiBuf, ascii.str().c_str()); + ESP_LOGV(tag, "%s %s", hexBuf, asciiBuf); + hex.str(""); + ascii.str(""); + } + } + if (index %16 != 0) { + while(index % 16 != 0) { + hex << " "; + index++; + } + strcpy(hexBuf, hex.str().c_str()); + strcpy(asciiBuf, ascii.str().c_str()); + ESP_LOGV(tag, "%s %s", hexBuf, asciiBuf); + //ESP_LOGV(tag, "%s %s", hex.str().c_str(), ascii.str().c_str()); + } + FreeRTOS::sleep(1000); +} +*/ + +/* +void GeneralUtils::hexDump(uint8_t* pData, uint32_t length) { + uint32_t index=0; + static std::stringstream ascii; + static std::stringstream hex; + hex.str(""); + ascii.str(""); + while(index < length) { + hex << std::setfill('0') << std::setw(2) << std::hex << (int)pData[index] << ' '; + if (std::isprint(pData[index])) { + ascii << pData[index]; + } else { + ascii << '.'; + } + index++; + if (index % 16 == 0) { + ESP_LOGV(tag, "%s %s", hex.str().c_str(), ascii.str().c_str()); + hex.str(""); + ascii.str(""); + } + } + if (index %16 != 0) { + while(index % 16 != 0) { + hex << " "; + index++; + } + ESP_LOGV(tag, "%s %s", hex.str().c_str(), ascii.str().c_str()); + } + FreeRTOS::sleep(1000); +} +*/ + + +/** + * @brief Dump a representation of binary data to the console. + * + * @param [in] pData Pointer to the start of data to be logged. + * @param [in] length Length of the data (in bytes) to be logged. + * @return N/A. + */ +void GeneralUtils::hexDump(const uint8_t* pData, uint32_t length) { + char ascii[80]; + char hex[80]; + char tempBuf[80]; + uint32_t lineNumber = 0; + + ESP_LOGV(LOG_TAG, " 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f"); + ESP_LOGV(LOG_TAG, " -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --"); + strcpy(ascii, ""); + strcpy(hex, ""); + uint32_t index = 0; + while (index < length) { + sprintf(tempBuf, "%.2x ", pData[index]); + strcat(hex, tempBuf); + if (isprint(pData[index])) { + sprintf(tempBuf, "%c", pData[index]); + } else { + sprintf(tempBuf, "."); + } + strcat(ascii, tempBuf); + index++; + if (index % 16 == 0) { + ESP_LOGV(LOG_TAG, "%.4x %s %s", lineNumber * 16, hex, ascii); + strcpy(ascii, ""); + strcpy(hex, ""); + lineNumber++; + } + } + if (index %16 != 0) { + while (index % 16 != 0) { + strcat(hex, " "); + index++; + } + ESP_LOGV(LOG_TAG, "%.4x %s %s", lineNumber * 16, hex, ascii); + } +} // hexDump + + +/** + * @brief Convert an IP address to string. + * @param ip The 4 byte IP address. + * @return A string representation of the IP address. + */ +std::string GeneralUtils::ipToString(uint8_t *ip) { + std::stringstream s; + s << (int) ip[0] << '.' << (int) ip[1] << '.' << (int) ip[2] << '.' << (int) ip[3]; + return s.str(); +} // ipToString + + +/** + * @brief Split a string into parts based on a delimiter. + * @param [in] source The source string to split. + * @param [in] delimiter The delimiter characters. + * @return A vector of strings that are the split of the input. + */ +std::vector GeneralUtils::split(std::string source, char delimiter) { + // See also: https://stackoverflow.com/questions/5167625/splitting-a-c-stdstring-using-tokens-e-g + std::vector strings; + std::istringstream iss(source); + std::string s; + while (std::getline(iss, s, delimiter)) { + strings.push_back(trim(s)); + } + return strings; +} // split + + +/** + * @brief Convert an ESP error code to a string. + * @param [in] errCode The errCode to be converted. + * @return A string representation of the error code. + */ +const char* GeneralUtils::errorToString(esp_err_t errCode) { + switch (errCode) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + case ESP_OK: + return "ESP_OK"; + case ESP_FAIL: + return "ESP_FAIL"; + case ESP_ERR_NO_MEM: + return "ESP_ERR_NO_MEM"; + case ESP_ERR_INVALID_ARG: + return "ESP_ERR_INVALID_ARG"; + case ESP_ERR_INVALID_SIZE: + return "ESP_ERR_INVALID_SIZE"; + case ESP_ERR_INVALID_STATE: + return "ESP_ERR_INVALID_STATE"; + case ESP_ERR_NOT_FOUND: + return "ESP_ERR_NOT_FOUND"; + case ESP_ERR_NOT_SUPPORTED: + return "ESP_ERR_NOT_SUPPORTED"; + case ESP_ERR_TIMEOUT: + return "ESP_ERR_TIMEOUT"; + case ESP_ERR_NVS_NOT_INITIALIZED: + return "ESP_ERR_NVS_NOT_INITIALIZED"; + case ESP_ERR_NVS_NOT_FOUND: + return "ESP_ERR_NVS_NOT_FOUND"; + case ESP_ERR_NVS_TYPE_MISMATCH: + return "ESP_ERR_NVS_TYPE_MISMATCH"; + case ESP_ERR_NVS_READ_ONLY: + return "ESP_ERR_NVS_READ_ONLY"; + case ESP_ERR_NVS_NOT_ENOUGH_SPACE: + return "ESP_ERR_NVS_NOT_ENOUGH_SPACE"; + case ESP_ERR_NVS_INVALID_NAME: + return "ESP_ERR_NVS_INVALID_NAME"; + case ESP_ERR_NVS_INVALID_HANDLE: + return "ESP_ERR_NVS_INVALID_HANDLE"; + case ESP_ERR_NVS_REMOVE_FAILED: + return "ESP_ERR_NVS_REMOVE_FAILED"; + case ESP_ERR_NVS_KEY_TOO_LONG: + return "ESP_ERR_NVS_KEY_TOO_LONG"; + case ESP_ERR_NVS_PAGE_FULL: + return "ESP_ERR_NVS_PAGE_FULL"; + case ESP_ERR_NVS_INVALID_STATE: + return "ESP_ERR_NVS_INVALID_STATE"; + case ESP_ERR_NVS_INVALID_LENGTH: + return "ESP_ERR_NVS_INVALID_LENGTH"; + case ESP_ERR_WIFI_NOT_INIT: + return "ESP_ERR_WIFI_NOT_INIT"; + //case ESP_ERR_WIFI_NOT_START: + // return "ESP_ERR_WIFI_NOT_START"; + case ESP_ERR_WIFI_IF: + return "ESP_ERR_WIFI_IF"; + case ESP_ERR_WIFI_MODE: + return "ESP_ERR_WIFI_MODE"; + case ESP_ERR_WIFI_STATE: + return "ESP_ERR_WIFI_STATE"; + case ESP_ERR_WIFI_CONN: + return "ESP_ERR_WIFI_CONN"; + case ESP_ERR_WIFI_NVS: + return "ESP_ERR_WIFI_NVS"; + case ESP_ERR_WIFI_MAC: + return "ESP_ERR_WIFI_MAC"; + case ESP_ERR_WIFI_SSID: + return "ESP_ERR_WIFI_SSID"; + case ESP_ERR_WIFI_PASSWORD: + return "ESP_ERR_WIFI_PASSWORD"; + case ESP_ERR_WIFI_TIMEOUT: + return "ESP_ERR_WIFI_TIMEOUT"; + case ESP_ERR_WIFI_WAKE_FAIL: + return "ESP_ERR_WIFI_WAKE_FAIL"; +#endif + default: + return "Unknown ESP_ERR error"; + } +} // errorToString + +/** + * @brief Convert a wifi_err_reason_t code to a string. + * @param [in] errCode The errCode to be converted. + * @return A string representation of the error code. + * + * @note: wifi_err_reason_t values as of April 2018 are: (1-24, 200-204) and are defined in ~/esp-idf/components/esp32/include/esp_wifi_types.h. + */ +const char* GeneralUtils::wifiErrorToString(uint8_t errCode) { + if (errCode == ESP_OK) return "ESP_OK (received SYSTEM_EVENT_STA_GOT_IP event)"; + if (errCode == UINT8_MAX) return "Not Connected (default value)"; + + switch ((wifi_err_reason_t) errCode) { +#if CONFIG_LOG_DEFAULT_LEVEL > 4 + case WIFI_REASON_UNSPECIFIED: + return "WIFI_REASON_UNSPECIFIED"; + case WIFI_REASON_AUTH_EXPIRE: + return "WIFI_REASON_AUTH_EXPIRE"; + case WIFI_REASON_AUTH_LEAVE: + return "WIFI_REASON_AUTH_LEAVE"; + case WIFI_REASON_ASSOC_EXPIRE: + return "WIFI_REASON_ASSOC_EXPIRE"; + case WIFI_REASON_ASSOC_TOOMANY: + return "WIFI_REASON_ASSOC_TOOMANY"; + case WIFI_REASON_NOT_AUTHED: + return "WIFI_REASON_NOT_AUTHED"; + case WIFI_REASON_NOT_ASSOCED: + return "WIFI_REASON_NOT_ASSOCED"; + case WIFI_REASON_ASSOC_LEAVE: + return "WIFI_REASON_ASSOC_LEAVE"; + case WIFI_REASON_ASSOC_NOT_AUTHED: + return "WIFI_REASON_ASSOC_NOT_AUTHED"; + case WIFI_REASON_DISASSOC_PWRCAP_BAD: + return "WIFI_REASON_DISASSOC_PWRCAP_BAD"; + case WIFI_REASON_DISASSOC_SUPCHAN_BAD: + return "WIFI_REASON_DISASSOC_SUPCHAN_BAD"; + case WIFI_REASON_IE_INVALID: + return "WIFI_REASON_IE_INVALID"; + case WIFI_REASON_MIC_FAILURE: + return "WIFI_REASON_MIC_FAILURE"; + case WIFI_REASON_4WAY_HANDSHAKE_TIMEOUT: + return "WIFI_REASON_4WAY_HANDSHAKE_TIMEOUT"; + case WIFI_REASON_GROUP_KEY_UPDATE_TIMEOUT: + return "WIFI_REASON_GROUP_KEY_UPDATE_TIMEOUT"; + case WIFI_REASON_IE_IN_4WAY_DIFFERS: + return "WIFI_REASON_IE_IN_4WAY_DIFFERS"; + case WIFI_REASON_GROUP_CIPHER_INVALID: + return "WIFI_REASON_GROUP_CIPHER_INVALID"; + case WIFI_REASON_PAIRWISE_CIPHER_INVALID: + return "WIFI_REASON_PAIRWISE_CIPHER_INVALID"; + case WIFI_REASON_AKMP_INVALID: + return "WIFI_REASON_AKMP_INVALID"; + case WIFI_REASON_UNSUPP_RSN_IE_VERSION: + return "WIFI_REASON_UNSUPP_RSN_IE_VERSION"; + case WIFI_REASON_INVALID_RSN_IE_CAP: + return "WIFI_REASON_INVALID_RSN_IE_CAP"; + case WIFI_REASON_802_1X_AUTH_FAILED: + return "WIFI_REASON_802_1X_AUTH_FAILED"; + case WIFI_REASON_CIPHER_SUITE_REJECTED: + return "WIFI_REASON_CIPHER_SUITE_REJECTED"; + case WIFI_REASON_BEACON_TIMEOUT: + return "WIFI_REASON_BEACON_TIMEOUT"; + case WIFI_REASON_NO_AP_FOUND: + return "WIFI_REASON_NO_AP_FOUND"; + case WIFI_REASON_AUTH_FAIL: + return "WIFI_REASON_AUTH_FAIL"; + case WIFI_REASON_ASSOC_FAIL: + return "WIFI_REASON_ASSOC_FAIL"; + case WIFI_REASON_HANDSHAKE_TIMEOUT: + return "WIFI_REASON_HANDSHAKE_TIMEOUT"; +#endif + default: + return "Unknown ESP_ERR error"; + } +} // wifiErrorToString + + +/** + * @brief Convert a string to lower case. + * @param [in] value The string to convert to lower case. + * @return A lower case representation of the string. + */ +std::string GeneralUtils::toLower(std::string& value) { + // Question: Could this be improved with a signature of: + // std::string& GeneralUtils::toLower(std::string& value) + std::transform(value.begin(), value.end(), value.begin(), ::tolower); + return value; +} // toLower + + +/** + * @brief Remove white space from a string. + */ +std::string GeneralUtils::trim(const std::string& str) { + size_t first = str.find_first_not_of(' '); + if (std::string::npos == first) return str; + size_t last = str.find_last_not_of(' '); + return str.substr(first, (last - first + 1)); +} // trim diff --git a/libraries/BLE/src/GeneralUtils.h b/libraries/BLE/src/GeneralUtils.h new file mode 100644 index 00000000..8eecbd4d --- /dev/null +++ b/libraries/BLE/src/GeneralUtils.h @@ -0,0 +1,35 @@ +/* + * GeneralUtils.h + * + * Created on: May 20, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_GENERALUTILS_H_ +#define COMPONENTS_CPP_UTILS_GENERALUTILS_H_ +#include +#include +#include +#include +#include + +/** + * @brief General utilities. + */ +class GeneralUtils { +public: + static bool base64Decode(const std::string& in, std::string* out); + static bool base64Encode(const std::string& in, std::string* out); + static void dumpInfo(); + static bool endsWith(std::string str, char c); + static const char* errorToString(esp_err_t errCode); + static const char* wifiErrorToString(uint8_t value); + static void hexDump(const uint8_t* pData, uint32_t length); + static std::string ipToString(uint8_t* ip); + static std::vector split(std::string source, char delimiter); + static std::string toLower(std::string& value); + static std::string trim(const std::string& str); + +}; + +#endif /* COMPONENTS_CPP_UTILS_GENERALUTILS_H_ */ diff --git a/libraries/BLE/src/HIDKeyboardTypes.h b/libraries/BLE/src/HIDKeyboardTypes.h new file mode 100644 index 00000000..4e221d57 --- /dev/null +++ b/libraries/BLE/src/HIDKeyboardTypes.h @@ -0,0 +1,402 @@ +/* Copyright (c) 2015 mbed.org, MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software + * and associated documentation files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Note: this file was pulled from different parts of the USBHID library, in mbed SDK + */ + +#ifndef KEYBOARD_DEFS_H +#define KEYBOARD_DEFS_H + +#define REPORT_ID_KEYBOARD 1 +#define REPORT_ID_VOLUME 3 + +/* Modifiers */ +enum MODIFIER_KEY { + KEY_CTRL = 1, + KEY_SHIFT = 2, + KEY_ALT = 4, +}; + + +enum MEDIA_KEY { + KEY_NEXT_TRACK, /*!< next Track Button */ + KEY_PREVIOUS_TRACK, /*!< Previous track Button */ + KEY_STOP, /*!< Stop Button */ + KEY_PLAY_PAUSE, /*!< Play/Pause Button */ + KEY_MUTE, /*!< Mute Button */ + KEY_VOLUME_UP, /*!< Volume Up Button */ + KEY_VOLUME_DOWN, /*!< Volume Down Button */ +}; + +enum FUNCTION_KEY { + KEY_F1 = 128, /* F1 key */ + KEY_F2, /* F2 key */ + KEY_F3, /* F3 key */ + KEY_F4, /* F4 key */ + KEY_F5, /* F5 key */ + KEY_F6, /* F6 key */ + KEY_F7, /* F7 key */ + KEY_F8, /* F8 key */ + KEY_F9, /* F9 key */ + KEY_F10, /* F10 key */ + KEY_F11, /* F11 key */ + KEY_F12, /* F12 key */ + + KEY_PRINT_SCREEN, /* Print Screen key */ + KEY_SCROLL_LOCK, /* Scroll lock */ + KEY_CAPS_LOCK, /* caps lock */ + KEY_NUM_LOCK, /* num lock */ + KEY_INSERT, /* Insert key */ + KEY_HOME, /* Home key */ + KEY_PAGE_UP, /* Page Up key */ + KEY_PAGE_DOWN, /* Page Down key */ + + RIGHT_ARROW, /* Right arrow */ + LEFT_ARROW, /* Left arrow */ + DOWN_ARROW, /* Down arrow */ + UP_ARROW, /* Up arrow */ +}; + +typedef struct { + unsigned char usage; + unsigned char modifier; +} KEYMAP; + +#ifdef US_KEYBOARD +/* US keyboard (as HID standard) */ +#define KEYMAP_SIZE (152) +const KEYMAP keymap[KEYMAP_SIZE] = { + {0, 0}, /* NUL */ + {0, 0}, /* SOH */ + {0, 0}, /* STX */ + {0, 0}, /* ETX */ + {0, 0}, /* EOT */ + {0, 0}, /* ENQ */ + {0, 0}, /* ACK */ + {0, 0}, /* BEL */ + {0x2a, 0}, /* BS */ /* Keyboard Delete (Backspace) */ + {0x2b, 0}, /* TAB */ /* Keyboard Tab */ + {0x28, 0}, /* LF */ /* Keyboard Return (Enter) */ + {0, 0}, /* VT */ + {0, 0}, /* FF */ + {0, 0}, /* CR */ + {0, 0}, /* SO */ + {0, 0}, /* SI */ + {0, 0}, /* DEL */ + {0, 0}, /* DC1 */ + {0, 0}, /* DC2 */ + {0, 0}, /* DC3 */ + {0, 0}, /* DC4 */ + {0, 0}, /* NAK */ + {0, 0}, /* SYN */ + {0, 0}, /* ETB */ + {0, 0}, /* CAN */ + {0, 0}, /* EM */ + {0, 0}, /* SUB */ + {0, 0}, /* ESC */ + {0, 0}, /* FS */ + {0, 0}, /* GS */ + {0, 0}, /* RS */ + {0, 0}, /* US */ + {0x2c, 0}, /* */ + {0x1e, KEY_SHIFT}, /* ! */ + {0x34, KEY_SHIFT}, /* " */ + {0x20, KEY_SHIFT}, /* # */ + {0x21, KEY_SHIFT}, /* $ */ + {0x22, KEY_SHIFT}, /* % */ + {0x24, KEY_SHIFT}, /* & */ + {0x34, 0}, /* ' */ + {0x26, KEY_SHIFT}, /* ( */ + {0x27, KEY_SHIFT}, /* ) */ + {0x25, KEY_SHIFT}, /* * */ + {0x2e, KEY_SHIFT}, /* + */ + {0x36, 0}, /* , */ + {0x2d, 0}, /* - */ + {0x37, 0}, /* . */ + {0x38, 0}, /* / */ + {0x27, 0}, /* 0 */ + {0x1e, 0}, /* 1 */ + {0x1f, 0}, /* 2 */ + {0x20, 0}, /* 3 */ + {0x21, 0}, /* 4 */ + {0x22, 0}, /* 5 */ + {0x23, 0}, /* 6 */ + {0x24, 0}, /* 7 */ + {0x25, 0}, /* 8 */ + {0x26, 0}, /* 9 */ + {0x33, KEY_SHIFT}, /* : */ + {0x33, 0}, /* ; */ + {0x36, KEY_SHIFT}, /* < */ + {0x2e, 0}, /* = */ + {0x37, KEY_SHIFT}, /* > */ + {0x38, KEY_SHIFT}, /* ? */ + {0x1f, KEY_SHIFT}, /* @ */ + {0x04, KEY_SHIFT}, /* A */ + {0x05, KEY_SHIFT}, /* B */ + {0x06, KEY_SHIFT}, /* C */ + {0x07, KEY_SHIFT}, /* D */ + {0x08, KEY_SHIFT}, /* E */ + {0x09, KEY_SHIFT}, /* F */ + {0x0a, KEY_SHIFT}, /* G */ + {0x0b, KEY_SHIFT}, /* H */ + {0x0c, KEY_SHIFT}, /* I */ + {0x0d, KEY_SHIFT}, /* J */ + {0x0e, KEY_SHIFT}, /* K */ + {0x0f, KEY_SHIFT}, /* L */ + {0x10, KEY_SHIFT}, /* M */ + {0x11, KEY_SHIFT}, /* N */ + {0x12, KEY_SHIFT}, /* O */ + {0x13, KEY_SHIFT}, /* P */ + {0x14, KEY_SHIFT}, /* Q */ + {0x15, KEY_SHIFT}, /* R */ + {0x16, KEY_SHIFT}, /* S */ + {0x17, KEY_SHIFT}, /* T */ + {0x18, KEY_SHIFT}, /* U */ + {0x19, KEY_SHIFT}, /* V */ + {0x1a, KEY_SHIFT}, /* W */ + {0x1b, KEY_SHIFT}, /* X */ + {0x1c, KEY_SHIFT}, /* Y */ + {0x1d, KEY_SHIFT}, /* Z */ + {0x2f, 0}, /* [ */ + {0x31, 0}, /* \ */ + {0x30, 0}, /* ] */ + {0x23, KEY_SHIFT}, /* ^ */ + {0x2d, KEY_SHIFT}, /* _ */ + {0x35, 0}, /* ` */ + {0x04, 0}, /* a */ + {0x05, 0}, /* b */ + {0x06, 0}, /* c */ + {0x07, 0}, /* d */ + {0x08, 0}, /* e */ + {0x09, 0}, /* f */ + {0x0a, 0}, /* g */ + {0x0b, 0}, /* h */ + {0x0c, 0}, /* i */ + {0x0d, 0}, /* j */ + {0x0e, 0}, /* k */ + {0x0f, 0}, /* l */ + {0x10, 0}, /* m */ + {0x11, 0}, /* n */ + {0x12, 0}, /* o */ + {0x13, 0}, /* p */ + {0x14, 0}, /* q */ + {0x15, 0}, /* r */ + {0x16, 0}, /* s */ + {0x17, 0}, /* t */ + {0x18, 0}, /* u */ + {0x19, 0}, /* v */ + {0x1a, 0}, /* w */ + {0x1b, 0}, /* x */ + {0x1c, 0}, /* y */ + {0x1d, 0}, /* z */ + {0x2f, KEY_SHIFT}, /* { */ + {0x31, KEY_SHIFT}, /* | */ + {0x30, KEY_SHIFT}, /* } */ + {0x35, KEY_SHIFT}, /* ~ */ + {0,0}, /* DEL */ + + {0x3a, 0}, /* F1 */ + {0x3b, 0}, /* F2 */ + {0x3c, 0}, /* F3 */ + {0x3d, 0}, /* F4 */ + {0x3e, 0}, /* F5 */ + {0x3f, 0}, /* F6 */ + {0x40, 0}, /* F7 */ + {0x41, 0}, /* F8 */ + {0x42, 0}, /* F9 */ + {0x43, 0}, /* F10 */ + {0x44, 0}, /* F11 */ + {0x45, 0}, /* F12 */ + + {0x46, 0}, /* PRINT_SCREEN */ + {0x47, 0}, /* SCROLL_LOCK */ + {0x39, 0}, /* CAPS_LOCK */ + {0x53, 0}, /* NUM_LOCK */ + {0x49, 0}, /* INSERT */ + {0x4a, 0}, /* HOME */ + {0x4b, 0}, /* PAGE_UP */ + {0x4e, 0}, /* PAGE_DOWN */ + + {0x4f, 0}, /* RIGHT_ARROW */ + {0x50, 0}, /* LEFT_ARROW */ + {0x51, 0}, /* DOWN_ARROW */ + {0x52, 0}, /* UP_ARROW */ +}; + +#else +/* UK keyboard */ +#define KEYMAP_SIZE (152) +const KEYMAP keymap[KEYMAP_SIZE] = { + {0, 0}, /* NUL */ + {0, 0}, /* SOH */ + {0, 0}, /* STX */ + {0, 0}, /* ETX */ + {0, 0}, /* EOT */ + {0, 0}, /* ENQ */ + {0, 0}, /* ACK */ + {0, 0}, /* BEL */ + {0x2a, 0}, /* BS */ /* Keyboard Delete (Backspace) */ + {0x2b, 0}, /* TAB */ /* Keyboard Tab */ + {0x28, 0}, /* LF */ /* Keyboard Return (Enter) */ + {0, 0}, /* VT */ + {0, 0}, /* FF */ + {0, 0}, /* CR */ + {0, 0}, /* SO */ + {0, 0}, /* SI */ + {0, 0}, /* DEL */ + {0, 0}, /* DC1 */ + {0, 0}, /* DC2 */ + {0, 0}, /* DC3 */ + {0, 0}, /* DC4 */ + {0, 0}, /* NAK */ + {0, 0}, /* SYN */ + {0, 0}, /* ETB */ + {0, 0}, /* CAN */ + {0, 0}, /* EM */ + {0, 0}, /* SUB */ + {0, 0}, /* ESC */ + {0, 0}, /* FS */ + {0, 0}, /* GS */ + {0, 0}, /* RS */ + {0, 0}, /* US */ + {0x2c, 0}, /* */ + {0x1e, KEY_SHIFT}, /* ! */ + {0x1f, KEY_SHIFT}, /* " */ + {0x32, 0}, /* # */ + {0x21, KEY_SHIFT}, /* $ */ + {0x22, KEY_SHIFT}, /* % */ + {0x24, KEY_SHIFT}, /* & */ + {0x34, 0}, /* ' */ + {0x26, KEY_SHIFT}, /* ( */ + {0x27, KEY_SHIFT}, /* ) */ + {0x25, KEY_SHIFT}, /* * */ + {0x2e, KEY_SHIFT}, /* + */ + {0x36, 0}, /* , */ + {0x2d, 0}, /* - */ + {0x37, 0}, /* . */ + {0x38, 0}, /* / */ + {0x27, 0}, /* 0 */ + {0x1e, 0}, /* 1 */ + {0x1f, 0}, /* 2 */ + {0x20, 0}, /* 3 */ + {0x21, 0}, /* 4 */ + {0x22, 0}, /* 5 */ + {0x23, 0}, /* 6 */ + {0x24, 0}, /* 7 */ + {0x25, 0}, /* 8 */ + {0x26, 0}, /* 9 */ + {0x33, KEY_SHIFT}, /* : */ + {0x33, 0}, /* ; */ + {0x36, KEY_SHIFT}, /* < */ + {0x2e, 0}, /* = */ + {0x37, KEY_SHIFT}, /* > */ + {0x38, KEY_SHIFT}, /* ? */ + {0x34, KEY_SHIFT}, /* @ */ + {0x04, KEY_SHIFT}, /* A */ + {0x05, KEY_SHIFT}, /* B */ + {0x06, KEY_SHIFT}, /* C */ + {0x07, KEY_SHIFT}, /* D */ + {0x08, KEY_SHIFT}, /* E */ + {0x09, KEY_SHIFT}, /* F */ + {0x0a, KEY_SHIFT}, /* G */ + {0x0b, KEY_SHIFT}, /* H */ + {0x0c, KEY_SHIFT}, /* I */ + {0x0d, KEY_SHIFT}, /* J */ + {0x0e, KEY_SHIFT}, /* K */ + {0x0f, KEY_SHIFT}, /* L */ + {0x10, KEY_SHIFT}, /* M */ + {0x11, KEY_SHIFT}, /* N */ + {0x12, KEY_SHIFT}, /* O */ + {0x13, KEY_SHIFT}, /* P */ + {0x14, KEY_SHIFT}, /* Q */ + {0x15, KEY_SHIFT}, /* R */ + {0x16, KEY_SHIFT}, /* S */ + {0x17, KEY_SHIFT}, /* T */ + {0x18, KEY_SHIFT}, /* U */ + {0x19, KEY_SHIFT}, /* V */ + {0x1a, KEY_SHIFT}, /* W */ + {0x1b, KEY_SHIFT}, /* X */ + {0x1c, KEY_SHIFT}, /* Y */ + {0x1d, KEY_SHIFT}, /* Z */ + {0x2f, 0}, /* [ */ + {0x64, 0}, /* \ */ + {0x30, 0}, /* ] */ + {0x23, KEY_SHIFT}, /* ^ */ + {0x2d, KEY_SHIFT}, /* _ */ + {0x35, 0}, /* ` */ + {0x04, 0}, /* a */ + {0x05, 0}, /* b */ + {0x06, 0}, /* c */ + {0x07, 0}, /* d */ + {0x08, 0}, /* e */ + {0x09, 0}, /* f */ + {0x0a, 0}, /* g */ + {0x0b, 0}, /* h */ + {0x0c, 0}, /* i */ + {0x0d, 0}, /* j */ + {0x0e, 0}, /* k */ + {0x0f, 0}, /* l */ + {0x10, 0}, /* m */ + {0x11, 0}, /* n */ + {0x12, 0}, /* o */ + {0x13, 0}, /* p */ + {0x14, 0}, /* q */ + {0x15, 0}, /* r */ + {0x16, 0}, /* s */ + {0x17, 0}, /* t */ + {0x18, 0}, /* u */ + {0x19, 0}, /* v */ + {0x1a, 0}, /* w */ + {0x1b, 0}, /* x */ + {0x1c, 0}, /* y */ + {0x1d, 0}, /* z */ + {0x2f, KEY_SHIFT}, /* { */ + {0x64, KEY_SHIFT}, /* | */ + {0x30, KEY_SHIFT}, /* } */ + {0x32, KEY_SHIFT}, /* ~ */ + {0,0}, /* DEL */ + + {0x3a, 0}, /* F1 */ + {0x3b, 0}, /* F2 */ + {0x3c, 0}, /* F3 */ + {0x3d, 0}, /* F4 */ + {0x3e, 0}, /* F5 */ + {0x3f, 0}, /* F6 */ + {0x40, 0}, /* F7 */ + {0x41, 0}, /* F8 */ + {0x42, 0}, /* F9 */ + {0x43, 0}, /* F10 */ + {0x44, 0}, /* F11 */ + {0x45, 0}, /* F12 */ + + {0x46, 0}, /* PRINT_SCREEN */ + {0x47, 0}, /* SCROLL_LOCK */ + {0x39, 0}, /* CAPS_LOCK */ + {0x53, 0}, /* NUM_LOCK */ + {0x49, 0}, /* INSERT */ + {0x4a, 0}, /* HOME */ + {0x4b, 0}, /* PAGE_UP */ + {0x4e, 0}, /* PAGE_DOWN */ + + {0x4f, 0}, /* RIGHT_ARROW */ + {0x50, 0}, /* LEFT_ARROW */ + {0x51, 0}, /* DOWN_ARROW */ + {0x52, 0}, /* UP_ARROW */ +}; +#endif + +#endif diff --git a/libraries/BLE/src/HIDTypes.h b/libraries/BLE/src/HIDTypes.h new file mode 100644 index 00000000..64850ef8 --- /dev/null +++ b/libraries/BLE/src/HIDTypes.h @@ -0,0 +1,96 @@ +/* Copyright (c) 2010-2011 mbed.org, MIT License +* +* Permission is hereby granted, free of charge, to any person obtaining a copy of this software +* and associated documentation files (the "Software"), to deal in the Software without +* restriction, including without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the +* Software is furnished to do so, subject to the following conditions: +* +* The above copyright notice and this permission notice shall be included in all copies or +* substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING +* BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +#ifndef USBCLASS_HID_TYPES +#define USBCLASS_HID_TYPES + +#include + +/* */ +#define HID_VERSION_1_11 (0x0111) + +/* HID Class */ +#define HID_CLASS (3) +#define HID_SUBCLASS_NONE (0) +#define HID_PROTOCOL_NONE (0) + +/* Descriptors */ +#define HID_DESCRIPTOR (33) +#define HID_DESCRIPTOR_LENGTH (0x09) +#define REPORT_DESCRIPTOR (34) + +/* Class requests */ +#define GET_REPORT (0x1) +#define GET_IDLE (0x2) +#define SET_REPORT (0x9) +#define SET_IDLE (0xa) + +/* HID Class Report Descriptor */ +/* Short items: size is 0, 1, 2 or 3 specifying 0, 1, 2 or 4 (four) bytes */ +/* of data as per HID Class standard */ + +/* Main items */ +#ifdef ARDUINO_ARCH_ESP32 +#define HIDINPUT(size) (0x80 | size) +#define HIDOUTPUT(size) (0x90 | size) +#else +#define INPUT(size) (0x80 | size) +#define OUTPUT(size) (0x90 | size) +#endif +#define FEATURE(size) (0xb0 | size) +#define COLLECTION(size) (0xa0 | size) +#define END_COLLECTION(size) (0xc0 | size) + +/* Global items */ +#define USAGE_PAGE(size) (0x04 | size) +#define LOGICAL_MINIMUM(size) (0x14 | size) +#define LOGICAL_MAXIMUM(size) (0x24 | size) +#define PHYSICAL_MINIMUM(size) (0x34 | size) +#define PHYSICAL_MAXIMUM(size) (0x44 | size) +#define UNIT_EXPONENT(size) (0x54 | size) +#define UNIT(size) (0x64 | size) +#define REPORT_SIZE(size) (0x74 | size) //bits +#define REPORT_ID(size) (0x84 | size) +#define REPORT_COUNT(size) (0x94 | size) //bytes +#define PUSH(size) (0xa4 | size) +#define POP(size) (0xb4 | size) + +/* Local items */ +#define USAGE(size) (0x08 | size) +#define USAGE_MINIMUM(size) (0x18 | size) +#define USAGE_MAXIMUM(size) (0x28 | size) +#define DESIGNATOR_INDEX(size) (0x38 | size) +#define DESIGNATOR_MINIMUM(size) (0x48 | size) +#define DESIGNATOR_MAXIMUM(size) (0x58 | size) +#define STRING_INDEX(size) (0x78 | size) +#define STRING_MINIMUM(size) (0x88 | size) +#define STRING_MAXIMUM(size) (0x98 | size) +#define DELIMITER(size) (0xa8 | size) + +/* HID Report */ +/* Where report IDs are used the first byte of 'data' will be the */ +/* report ID and 'length' will include this report ID byte. */ + +#define MAX_HID_REPORT_SIZE (64) + +typedef struct { + uint32_t length; + uint8_t data[MAX_HID_REPORT_SIZE]; +} HID_REPORT; + +#endif diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino b/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino index 6f7c7e07..445797d5 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino +++ b/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino @@ -10,92 +10,14 @@ #define CAMERA_MODEL_WROVER_KIT //#define CAMERA_MODEL_ESP_EYE //#define CAMERA_MODEL_M5STACK_PSRAM +//#define CAMERA_MODEL_M5STACK_WIDE //#define CAMERA_MODEL_AI_THINKER +#include "camera_pins.h" + const char* ssid = "*********"; const char* password = "*********"; - -#if defined(CAMERA_MODEL_WROVER_KIT) -#define PWDN_GPIO_NUM -1 -#define RESET_GPIO_NUM -1 -#define XCLK_GPIO_NUM 21 -#define SIOD_GPIO_NUM 26 -#define SIOC_GPIO_NUM 27 - -#define Y9_GPIO_NUM 35 -#define Y8_GPIO_NUM 34 -#define Y7_GPIO_NUM 39 -#define Y6_GPIO_NUM 36 -#define Y5_GPIO_NUM 19 -#define Y4_GPIO_NUM 18 -#define Y3_GPIO_NUM 5 -#define Y2_GPIO_NUM 4 -#define VSYNC_GPIO_NUM 25 -#define HREF_GPIO_NUM 23 -#define PCLK_GPIO_NUM 22 - -#elif defined(CAMERA_MODEL_ESP_EYE) -#define PWDN_GPIO_NUM -1 -#define RESET_GPIO_NUM -1 -#define XCLK_GPIO_NUM 4 -#define SIOD_GPIO_NUM 18 -#define SIOC_GPIO_NUM 23 - -#define Y9_GPIO_NUM 36 -#define Y8_GPIO_NUM 37 -#define Y7_GPIO_NUM 38 -#define Y6_GPIO_NUM 39 -#define Y5_GPIO_NUM 35 -#define Y4_GPIO_NUM 14 -#define Y3_GPIO_NUM 13 -#define Y2_GPIO_NUM 34 -#define VSYNC_GPIO_NUM 5 -#define HREF_GPIO_NUM 27 -#define PCLK_GPIO_NUM 25 - -#elif defined(CAMERA_MODEL_M5STACK_PSRAM) -#define PWDN_GPIO_NUM -1 -#define RESET_GPIO_NUM 15 -#define XCLK_GPIO_NUM 27 -#define SIOD_GPIO_NUM 25 -#define SIOC_GPIO_NUM 23 - -#define Y9_GPIO_NUM 19 -#define Y8_GPIO_NUM 36 -#define Y7_GPIO_NUM 18 -#define Y6_GPIO_NUM 39 -#define Y5_GPIO_NUM 5 -#define Y4_GPIO_NUM 34 -#define Y3_GPIO_NUM 35 -#define Y2_GPIO_NUM 32 -#define VSYNC_GPIO_NUM 22 -#define HREF_GPIO_NUM 26 -#define PCLK_GPIO_NUM 21 - -#elif defined(CAMERA_MODEL_AI_THINKER) -#define PWDN_GPIO_NUM 32 -#define RESET_GPIO_NUM -1 -#define XCLK_GPIO_NUM 0 -#define SIOD_GPIO_NUM 26 -#define SIOC_GPIO_NUM 27 - -#define Y9_GPIO_NUM 35 -#define Y8_GPIO_NUM 34 -#define Y7_GPIO_NUM 39 -#define Y6_GPIO_NUM 36 -#define Y5_GPIO_NUM 21 -#define Y4_GPIO_NUM 19 -#define Y3_GPIO_NUM 18 -#define Y2_GPIO_NUM 5 -#define VSYNC_GPIO_NUM 25 -#define HREF_GPIO_NUM 23 -#define PCLK_GPIO_NUM 22 - -#else -#error "Camera model not selected" -#endif - void startCameraServer(); void setup() { @@ -147,10 +69,21 @@ void setup() { return; } - //drop down frame size for higher initial frame rate sensor_t * s = esp_camera_sensor_get(); + //initial sensors are flipped vertically and colors are a bit saturated + if (s->id.PID == OV3660_PID) { + s->set_vflip(s, 1);//flip it back + s->set_brightness(s, 1);//up the blightness just a bit + s->set_saturation(s, -2);//lower the saturation + } + //drop down frame size for higher initial frame rate s->set_framesize(s, FRAMESIZE_QVGA); +#if defined(CAMERA_MODEL_M5STACK_WIDE) + s->set_vflip(s, 1); + s->set_hmirror(s, 1); +#endif + WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp b/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp index 2b454f4a..010291a7 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp +++ b/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp @@ -544,6 +544,7 @@ static esp_err_t status_handler(httpd_req_t *req){ p+=sprintf(p, "\"brightness\":%d,", s->status.brightness); p+=sprintf(p, "\"contrast\":%d,", s->status.contrast); p+=sprintf(p, "\"saturation\":%d,", s->status.saturation); + p+=sprintf(p, "\"sharpness\":%d,", s->status.sharpness); p+=sprintf(p, "\"special_effect\":%u,", s->status.special_effect); p+=sprintf(p, "\"wb_mode\":%u,", s->status.wb_mode); p+=sprintf(p, "\"awb\":%u,", s->status.awb); @@ -576,7 +577,11 @@ static esp_err_t status_handler(httpd_req_t *req){ static esp_err_t index_handler(httpd_req_t *req){ httpd_resp_set_type(req, "text/html"); httpd_resp_set_hdr(req, "Content-Encoding", "gzip"); - return httpd_resp_send(req, (const char *)index_html_gz, index_html_gz_len); + sensor_t * s = esp_camera_sensor_get(); + if (s->id.PID == OV3660_PID) { + return httpd_resp_send(req, (const char *)index_ov3660_html_gz, index_ov3660_html_gz_len); + } + return httpd_resp_send(req, (const char *)index_ov2640_html_gz, index_ov2640_html_gz_len); } void startCameraServer(){ diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/camera_index.h b/libraries/ESP32/examples/Camera/CameraWebServer/camera_index.h index 346ea41c..9e6e09bf 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/camera_index.h +++ b/libraries/ESP32/examples/Camera/CameraWebServer/camera_index.h @@ -1,233 +1,558 @@ -//File: index.html.gz, Size: 3663 -#define index_html_gz_len 3663 -const uint8_t index_html_gz[] = { - 0x1F, 0x8B, 0x08, 0x08, 0x60, 0x15, 0x36, 0x5C, 0x00, 0x03, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, - 0x68, 0x74, 0x6D, 0x6C, 0x00, 0xDD, 0x5C, 0xEB, 0x72, 0x9B, 0xC8, 0x12, 0xFE, 0x7F, 0x9E, 0x02, - 0x93, 0xDD, 0x08, 0x6A, 0x91, 0x2C, 0xC9, 0x8A, 0xE3, 0x20, 0x0B, 0x1F, 0x5B, 0x76, 0x92, 0xAD, - 0xCA, 0x6D, 0xE3, 0x3D, 0xBB, 0x5B, 0xB5, 0xB5, 0x95, 0x8C, 0x60, 0x90, 0x26, 0x46, 0x8C, 0x02, - 0x83, 0x2E, 0xD1, 0xF2, 0x1C, 0xE7, 0x81, 0xCE, 0x8B, 0x9D, 0x9E, 0x19, 0x40, 0xA0, 0x8B, 0x65, - 0x49, 0x89, 0x94, 0x5A, 0xBB, 0xCA, 0x1A, 0xA0, 0xBB, 0xA7, 0xBB, 0xBF, 0xBE, 0x0C, 0x88, 0xF1, - 0xF9, 0x91, 0x43, 0x6D, 0x36, 0x19, 0x60, 0xA5, 0xC7, 0xFA, 0x9E, 0xF5, 0xAF, 0x73, 0xF9, 0xA1, - 0xC0, 0xCF, 0x79, 0x0F, 0x23, 0x47, 0x0E, 0xC5, 0x61, 0x1F, 0x33, 0xA4, 0xD8, 0x3D, 0x14, 0x84, - 0x98, 0xB5, 0xD4, 0x88, 0xB9, 0xE5, 0x33, 0x75, 0xFE, 0xB2, 0x8F, 0xFA, 0xB8, 0xA5, 0x0E, 0x09, - 0x1E, 0x0D, 0x68, 0xC0, 0x54, 0xC5, 0xA6, 0x3E, 0xC3, 0x3E, 0x90, 0x8F, 0x88, 0xC3, 0x7A, 0x2D, - 0x07, 0x0F, 0x89, 0x8D, 0xCB, 0xE2, 0xC0, 0x20, 0x3E, 0x61, 0x04, 0x79, 0xE5, 0xD0, 0x46, 0x1E, - 0x6E, 0xD5, 0xF2, 0xB2, 0x18, 0x61, 0x1E, 0xB6, 0x6E, 0x6E, 0xDF, 0x9D, 0xD4, 0x95, 0xB7, 0xBF, - 0xD5, 0x1B, 0xA7, 0xD5, 0xF3, 0x63, 0x79, 0x6E, 0x46, 0x13, 0xB2, 0x09, 0x3F, 0xEE, 0x50, 0x67, - 0x32, 0x75, 0x61, 0x9A, 0xB2, 0x8B, 0xFA, 0xC4, 0x9B, 0x98, 0x97, 0x01, 0x08, 0x35, 0x5E, 0x62, - 0x6F, 0x88, 0x19, 0xB1, 0x91, 0x11, 0x22, 0x3F, 0x2C, 0x87, 0x38, 0x20, 0x6E, 0xB3, 0x83, 0xEC, - 0xBB, 0x6E, 0x40, 0x23, 0xDF, 0x31, 0x1F, 0xD5, 0xCE, 0xF8, 0x6F, 0xD3, 0xA6, 0x1E, 0x0D, 0xCC, - 0x47, 0x37, 0xCF, 0xF9, 0x6F, 0x53, 0xC8, 0x09, 0xC9, 0x17, 0x6C, 0xD6, 0x4E, 0x07, 0xE3, 0xB8, - 0x57, 0x9F, 0xE6, 0xCE, 0x9C, 0xC1, 0x99, 0x10, 0xDB, 0x8C, 0x50, 0xBF, 0xD2, 0x47, 0xC4, 0x9F, - 0x3A, 0x24, 0x1C, 0x78, 0x68, 0x62, 0xBA, 0x1E, 0x1E, 0xC7, 0x8F, 0xFA, 0xD8, 0x8F, 0x8C, 0xC2, - 0x75, 0x7E, 0xBE, 0xEC, 0x90, 0x40, 0x9E, 0x33, 0x61, 0xAA, 0xA8, 0xEF, 0x4B, 0xC2, 0x8C, 0xD7, - 0xA7, 0x3E, 0x6E, 0x0A, 0xC2, 0x51, 0x80, 0x06, 0x70, 0xC8, 0x3F, 0x9A, 0x7D, 0xE2, 0x4B, 0x27, - 0x99, 0x27, 0x8D, 0xEA, 0x60, 0x5C, 0x50, 0xFC, 0xE4, 0x94, 0xFF, 0x36, 0x07, 0xC8, 0x71, 0x88, - 0xDF, 0x35, 0xCF, 0xF8, 0x65, 0x1A, 0x38, 0x38, 0x28, 0x07, 0xC8, 0x21, 0x51, 0x68, 0x36, 0xE0, - 0x4C, 0x1F, 0x05, 0x5D, 0x90, 0xC1, 0xE8, 0xC0, 0x2C, 0xD7, 0xAA, 0xB3, 0x13, 0x01, 0xE9, 0xF6, - 0x98, 0xC9, 0xCF, 0xC4, 0x8F, 0x12, 0x6C, 0x0A, 0x66, 0xE4, 0x54, 0x11, 0x8A, 0x20, 0x8F, 0x74, - 0xFD, 0x32, 0x61, 0xB8, 0x1F, 0x9A, 0x21, 0x0B, 0x30, 0xB3, 0x7B, 0xB1, 0x4B, 0xBA, 0x51, 0x80, - 0xA7, 0xA9, 0x02, 0xD5, 0x44, 0x36, 0x0C, 0xCA, 0x23, 0xDC, 0xB9, 0x23, 0xAC, 0x9C, 0x4C, 0xD6, - 0xC1, 0x2E, 0x0D, 0x70, 0x46, 0x50, 0xEE, 0x78, 0xD4, 0xBE, 0x2B, 0x87, 0x0C, 0x05, 0x6C, 0x91, - 0x18, 0xB9, 0x0C, 0x07, 0xF3, 0xB4, 0x18, 0x0C, 0x5E, 0xA0, 0x4C, 0x05, 0x24, 0x87, 0xC4, 0xF7, - 0x88, 0x8F, 0x57, 0x89, 0x95, 0x12, 0x8A, 0xA4, 0xE2, 0x5C, 0x62, 0x86, 0x42, 0xFA, 0xDD, 0xCC, - 0x03, 0x62, 0xD2, 0xA6, 0x74, 0x7C, 0xAD, 0x5A, 0xFD, 0xB1, 0xD9, 0xC3, 0xC2, 0x5F, 0x28, 0x62, - 0xF4, 0x7E, 0x27, 0xF3, 0xD8, 0xF8, 0x77, 0x1F, 0x3B, 0x04, 0x29, 0xDA, 0x0C, 0x3C, 0xE5, 0xAC, - 0x0A, 0x9E, 0xD6, 0x15, 0xE4, 0x3B, 0x8A, 0x46, 0x03, 0x02, 0xDE, 0x46, 0x22, 0x14, 0x3C, 0x38, - 0x03, 0x61, 0x3F, 0xC0, 0xFA, 0x74, 0x1D, 0x0C, 0x49, 0x44, 0xAC, 0x06, 0x62, 0x89, 0x05, 0x7D, - 0x34, 0x2E, 0xE7, 0xAC, 0xE0, 0x87, 0x89, 0x25, 0x90, 0x6A, 0xB6, 0x06, 0x27, 0x87, 0x3D, 0xA5, - 0xAC, 0xF0, 0xD0, 0xD2, 0x13, 0x73, 0x85, 0x89, 0x39, 0x73, 0xFF, 0x29, 0x28, 0xA7, 0x19, 0xFB, - 0xA8, 0x13, 0x31, 0x46, 0xFD, 0x70, 0x8D, 0x9B, 0x3F, 0x45, 0x21, 0x23, 0xEE, 0xA4, 0x9C, 0x80, - 0x62, 0x86, 0x03, 0x04, 0xF5, 0xAA, 0x83, 0xD9, 0x08, 0x63, 0x48, 0x5D, 0x1F, 0x0D, 0x01, 0xEE, - 0x6E, 0xD7, 0xC3, 0x53, 0x3B, 0x0A, 0x42, 0xA8, 0x1C, 0x03, 0x4A, 0x80, 0x32, 0x68, 0x16, 0x00, - 0xC8, 0x13, 0x96, 0xED, 0xCE, 0x94, 0x46, 0x8C, 0xAB, 0x04, 0x2A, 0x52, 0x90, 0x47, 0xD8, 0x04, - 0x46, 0xD2, 0xED, 0xD5, 0xD4, 0xE7, 0xD5, 0x39, 0x1E, 0xD3, 0xEE, 0x61, 0xFB, 0x0E, 0x3B, 0x3F, - 0x15, 0xCB, 0x85, 0x28, 0x35, 0x15, 0xE2, 0x0F, 0x22, 0x56, 0xE6, 0x05, 0x61, 0xB0, 0xC6, 0x1E, - 0xE1, 0x89, 0x64, 0x8A, 0x7A, 0x3D, 0x8B, 0x59, 0xF3, 0xC9, 0x60, 0xAC, 0x54, 0x0B, 0x82, 0x2C, - 0x0F, 0x75, 0xB0, 0x97, 0x89, 0x4B, 0x9C, 0x28, 0xE3, 0x29, 0x09, 0x82, 0x5C, 0xF5, 0xC8, 0x55, - 0xA8, 0xC6, 0xD3, 0x1F, 0x0B, 0x82, 0x14, 0x31, 0x36, 0x0A, 0xA7, 0x42, 0xEC, 0x01, 0x0C, 0xB2, - 0x20, 0xC2, 0x99, 0x91, 0x59, 0x8B, 0x2B, 0x01, 0xF2, 0xBB, 0x18, 0x00, 0x1C, 0x1B, 0xE9, 0x30, - 0x57, 0x52, 0x97, 0x4D, 0x6F, 0x56, 0x15, 0x50, 0x3B, 0x96, 0x40, 0x2E, 0x44, 0x7C, 0x6A, 0x56, - 0x8E, 0xBA, 0x56, 0xCF, 0x6A, 0x23, 0x38, 0xBA, 0xE0, 0x0A, 0x5E, 0x35, 0xE7, 0x10, 0x4C, 0x3A, - 0x81, 0xEB, 0x16, 0xFB, 0x84, 0xEB, 0x9E, 0x54, 0x4F, 0x1A, 0x73, 0xD9, 0xCF, 0xE7, 0x29, 0xF6, - 0x8A, 0x66, 0x86, 0x71, 0xA2, 0xA0, 0xD9, 0xA3, 0x43, 0x1C, 0x4C, 0x8B, 0xA2, 0x1A, 0xCF, 0x1A, - 0x4E, 0x7A, 0x1D, 0x41, 0x5C, 0x0E, 0x71, 0x91, 0xA0, 0x5E, 0xB3, 0xEB, 0xB5, 0x84, 0xA0, 0x02, - 0x16, 0xA2, 0x8E, 0x87, 0x9D, 0x34, 0xD4, 0x1C, 0xEC, 0xA2, 0xC8, 0x63, 0x05, 0xED, 0x50, 0x95, - 0xFF, 0xC6, 0xC2, 0xD7, 0x7F, 0xF2, 0x36, 0xDE, 0x12, 0xBE, 0xFC, 0x6B, 0x9A, 0x26, 0x08, 0x1A, - 0x0C, 0x30, 0x82, 0x73, 0x36, 0x96, 0xAD, 0x66, 0xB1, 0xB8, 0x89, 0xB0, 0x58, 0xD2, 0x60, 0xE6, - 0xDC, 0x93, 0xA6, 0xFF, 0xE2, 0x5C, 0xA6, 0x4B, 0xED, 0x28, 0x9C, 0x05, 0xF9, 0x12, 0x0A, 0x33, - 0x55, 0x27, 0xF4, 0x88, 0x70, 0x63, 0xE4, 0xFB, 0xDC, 0xB6, 0x32, 0x0B, 0x60, 0xE2, 0xE9, 0x12, - 0xA5, 0x16, 0xF1, 0xC9, 0xAB, 0x98, 0xB4, 0xEB, 0x22, 0x28, 0xD5, 0x0C, 0x6B, 0x25, 0xA4, 0x30, - 0x8F, 0x92, 0x90, 0x3D, 0x40, 0x1F, 0xD6, 0x8B, 0xFA, 0x9D, 0x69, 0xC2, 0x5E, 0x83, 0xDC, 0x90, - 0x02, 0x82, 0x6E, 0x07, 0x69, 0x55, 0xA3, 0x6A, 0x9C, 0xC0, 0x1F, 0xBD, 0xE0, 0x30, 0xA9, 0x72, - 0xBD, 0xBE, 0xD0, 0x7D, 0x9F, 0xCC, 0xF7, 0xEB, 0x24, 0x80, 0xE6, 0xAC, 0x59, 0x85, 0x4F, 0xA1, - 0x71, 0xD7, 0x2A, 0x3C, 0xE0, 0x57, 0x38, 0x7C, 0x9D, 0x53, 0x17, 0xFD, 0xB5, 0xD4, 0x11, 0x7D, - 0xFA, 0xA5, 0x2C, 0xF3, 0xEF, 0x60, 0x58, 0xE4, 0x54, 0xD8, 0x37, 0x0E, 0xCB, 0xF5, 0x09, 0xB7, - 0xF4, 0x45, 0x55, 0x49, 0xED, 0x2E, 0xCB, 0x6A, 0x02, 0x62, 0x7C, 0x68, 0x21, 0x01, 0xB4, 0x92, - 0xE6, 0xC2, 0x99, 0x55, 0x73, 0xBB, 0xC4, 0xF3, 0xCA, 0x1E, 0x1D, 0xCD, 0x55, 0x8F, 0x82, 0x9F, - 0xE7, 0xFD, 0x3A, 0xEF, 0xFE, 0x7B, 0x65, 0x47, 0x10, 0x73, 0xDF, 0x40, 0xF6, 0xFE, 0x93, 0x68, - 0x06, 0xCA, 0x3D, 0x49, 0xB2, 0xCE, 0xA3, 0x0F, 0x60, 0x5D, 0x74, 0x98, 0xAC, 0x91, 0x71, 0x25, - 0x1C, 0x11, 0x58, 0x89, 0xCD, 0x35, 0xA3, 0x01, 0x0D, 0x89, 0x58, 0xE6, 0x05, 0xD8, 0x43, 0xBC, - 0xC8, 0x2F, 0xB6, 0xE1, 0xB9, 0xE6, 0x91, 0xBB, 0x94, 0xCA, 0x94, 0x6D, 0xF4, 0x61, 0x4B, 0x87, - 0x8A, 0xAC, 0x00, 0x49, 0xBC, 0x0A, 0xE7, 0x15, 0x8A, 0x7B, 0xC1, 0xB7, 0xF5, 0x7B, 0x63, 0x38, - 0x09, 0xDC, 0x6E, 0x80, 0x27, 0xA9, 0x58, 0x23, 0xF9, 0x34, 0xE5, 0x4A, 0x6F, 0x79, 0x8F, 0x16, - 0x71, 0x2D, 0xAD, 0xAE, 0x34, 0xC2, 0x78, 0x8E, 0x65, 0xD1, 0x23, 0xE9, 0x02, 0x4B, 0x55, 0x17, - 0xA0, 0xCF, 0x92, 0x4D, 0xB8, 0x26, 0xC9, 0x41, 0x3E, 0xF4, 0xB0, 0xCB, 0xC4, 0xC2, 0x9B, 0x57, - 0xC7, 0x93, 0x42, 0x84, 0x94, 0x67, 0xDD, 0x5B, 0xE2, 0x99, 0xAD, 0x9F, 0x52, 0xDF, 0x2C, 0xA3, - 0xE5, 0x31, 0xB5, 0x9C, 0x3C, 0x55, 0x3C, 0x2D, 0xB1, 0xC2, 0x3C, 0x38, 0xD3, 0x97, 0x09, 0x0C, - 0x46, 0xE0, 0x3F, 0xB4, 0xFA, 0x29, 0x5F, 0x3F, 0xAF, 0xBE, 0x14, 0x27, 0xCB, 0x9E, 0x85, 0x94, - 0x48, 0x5B, 0x6C, 0x2E, 0x0A, 0x1A, 0x73, 0x98, 0xCD, 0x70, 0x5F, 0x58, 0x79, 0xC0, 0x6A, 0xAB, - 0x8F, 0xA0, 0x58, 0x72, 0x17, 0xC2, 0x6D, 0x26, 0xD8, 0xB6, 0xE8, 0xDE, 0xD9, 0xF2, 0xAC, 0x76, - 0xCA, 0x6F, 0xF6, 0x2A, 0xB6, 0x47, 0xC3, 0x1C, 0x0E, 0xA8, 0x03, 0x9A, 0x44, 0x0C, 0x37, 0xE5, - 0x92, 0xEE, 0x49, 0xE2, 0xD4, 0x27, 0xCB, 0xD3, 0x2E, 0x87, 0x41, 0x1E, 0x9A, 0xA2, 0x66, 0x35, - 0x7E, 0xAF, 0x93, 0x5F, 0x45, 0x31, 0x3C, 0x86, 0xFE, 0xC6, 0xEF, 0x5B, 0x4C, 0x1B, 0x8B, 0x30, - 0xCB, 0xA7, 0x41, 0x6D, 0x71, 0x09, 0x16, 0x57, 0x7A, 0xC4, 0x71, 0xB0, 0x5F, 0xB8, 0x39, 0x8E, - 0x67, 0x77, 0xFC, 0xC7, 0xC9, 0x2D, 0xBF, 0x3C, 0x98, 0x3D, 0x9D, 0x38, 0xE7, 0xCF, 0x00, 0xF2, - 0x4F, 0x06, 0xE4, 0x92, 0x5F, 0xB1, 0x3D, 0x14, 0x86, 0x2D, 0x95, 0xDF, 0x8B, 0xE7, 0x1E, 0x2E, - 0x08, 0x12, 0x87, 0x0C, 0x15, 0xE2, 0xB4, 0x54, 0x8F, 0x76, 0xE9, 0xDC, 0x35, 0x71, 0x5D, 0x2C, - 0x86, 0x15, 0x40, 0xB5, 0xA5, 0x16, 0x96, 0xE5, 0xAA, 0xE0, 0x9A, 0x9D, 0x52, 0xAD, 0xC7, 0x8F, - 0x9E, 0x3D, 0x7D, 0x7A, 0xDA, 0x7C, 0xEC, 0x77, 0xC2, 0x41, 0xF2, 0xF7, 0x57, 0x71, 0x09, 0x16, - 0xBD, 0x8C, 0xC1, 0x42, 0x34, 0x3C, 0x3F, 0x16, 0xD2, 0xE6, 0x34, 0x38, 0x06, 0x15, 0x56, 0x28, - 0x95, 0xE4, 0xC6, 0x32, 0xBD, 0x52, 0x92, 0x10, 0x82, 0xB4, 0x83, 0x82, 0x25, 0x24, 0x82, 0x4C, - 0xC4, 0xB4, 0x22, 0x4A, 0x9A, 0x2A, 0x22, 0xBB, 0x43, 0xC7, 0xF3, 0xAA, 0x0B, 0x6B, 0x92, 0xB0, - 0x4F, 0xA8, 0xB0, 0xB3, 0x4A, 0x20, 0xB0, 0x09, 0x76, 0x7E, 0x33, 0xB2, 0x82, 0x26, 0xD3, 0x2F, - 0x71, 0x7B, 0x6E, 0xFD, 0x2F, 0xA7, 0x76, 0x03, 0xD4, 0xC7, 0x3C, 0xDA, 0x93, 0x93, 0xAB, 0xC5, - 0xCC, 0x43, 0x90, 0x71, 0xAA, 0xD6, 0x7B, 0x2C, 0x02, 0x17, 0xE0, 0x5D, 0xEA, 0xD6, 0x05, 0x29, - 0x32, 0x05, 0x8B, 0xF3, 0xAB, 0xA9, 0x8A, 0xC9, 0x8A, 0xBA, 0x8C, 0x44, 0xBC, 0xAC, 0x51, 0x48, - 0x88, 0xA3, 0x03, 0x11, 0x59, 0x43, 0xE4, 0x45, 0xE0, 0xDA, 0x5A, 0x55, 0xB5, 0xFE, 0xF3, 0xC7, - 0x8B, 0x4B, 0x0D, 0x92, 0xAC, 0x3A, 0xAE, 0xD5, 0xAB, 0x55, 0xFD, 0xFC, 0x58, 0x92, 0x6C, 0x2C, - 0xEB, 0x99, 0x6A, 0xDD, 0x0A, 0x51, 0xF5, 0x33, 0x10, 0x55, 0xAD, 0x37, 0xB6, 0x17, 0x75, 0xA6, - 0x5A, 0x42, 0x12, 0x08, 0x19, 0x3F, 0x3D, 0x3D, 0xDB, 0x5E, 0xD0, 0x53, 0xD0, 0xE9, 0x37, 0x90, - 0x74, 0x06, 0xD6, 0x9D, 0xEE, 0x62, 0xDC, 0xA9, 0x6A, 0x71, 0x39, 0xA7, 0x8D, 0xEA, 0xB8, 0x71, - 0xB6, 0x83, 0x9C, 0x27, 0x6A, 0x72, 0x2B, 0xC9, 0x43, 0x36, 0x1D, 0xA9, 0x56, 0xFB, 0xE7, 0xE7, - 0x5A, 0x03, 0x74, 0xAC, 0x3F, 0x3B, 0xDD, 0x5E, 0x76, 0x43, 0xB5, 0x7E, 0xE1, 0x4A, 0x9E, 0xD4, - 0x41, 0x50, 0x63, 0x07, 0x25, 0x4F, 0x54, 0xEB, 0xA5, 0x90, 0x04, 0x52, 0xC6, 0xB5, 0xA7, 0x3B, - 0xA8, 0x04, 0xE1, 0xF5, 0x8B, 0x90, 0x04, 0xF1, 0xC5, 0xC3, 0xEB, 0x81, 0x92, 0xA0, 0x50, 0x0A, - 0xD7, 0xDC, 0x93, 0xA7, 0x8B, 0xD5, 0xA7, 0x70, 0xF9, 0xBE, 0x34, 0xFE, 0x1C, 0x41, 0x4D, 0x67, - 0x93, 0x8D, 0x93, 0x38, 0xE1, 0x03, 0x93, 0xE4, 0xE0, 0x61, 0xF9, 0x9B, 0xD3, 0x24, 0x7B, 0x4A, - 0xA0, 0x5A, 0xB5, 0xEA, 0x1A, 0x0B, 0x04, 0x6F, 0xBE, 0x0A, 0x0A, 0xE6, 0x82, 0x01, 0xAA, 0x02, - 0xA2, 0x44, 0x0E, 0x2B, 0x7D, 0x34, 0x86, 0x18, 0x3D, 0x51, 0x73, 0x79, 0xBD, 0x55, 0x89, 0x58, - 0xA2, 0x2D, 0x1A, 0xAB, 0xD6, 0xE9, 0xC9, 0x3A, 0x7F, 0xEF, 0x00, 0x47, 0x47, 0x74, 0x70, 0x1F, - 0x87, 0xE1, 0xC6, 0x88, 0xCC, 0x58, 0x55, 0xEB, 0x2A, 0x1B, 0xEF, 0x82, 0x4B, 0xB9, 0xBE, 0x03, - 0x2E, 0x39, 0x75, 0x24, 0x34, 0xE5, 0x7A, 0x02, 0x4D, 0x5D, 0x9D, 0x65, 0xC4, 0xD7, 0x04, 0x66, - 0x9D, 0xB6, 0xBB, 0xE0, 0xC2, 0x9B, 0x78, 0x80, 0x42, 0xB6, 0x31, 0x2A, 0x29, 0x23, 0x94, 0xB5, - 0x64, 0x74, 0x30, 0x44, 0x32, 0x55, 0xFE, 0x01, 0x78, 0x84, 0x88, 0x45, 0x81, 0x78, 0xFA, 0xBE, - 0x31, 0x22, 0x33, 0x56, 0xE8, 0x87, 0xD9, 0xF8, 0x60, 0xA8, 0xE4, 0xD4, 0xF9, 0x27, 0xE0, 0x32, - 0xC0, 0x36, 0x41, 0xDE, 0x07, 0xEC, 0xBA, 0xD0, 0xB2, 0x36, 0xC7, 0xA6, 0xC0, 0x0E, 0xF8, 0xC8, - 0x63, 0xE5, 0x46, 0x1C, 0x6F, 0xBC, 0x46, 0x9C, 0x13, 0xF7, 0xB5, 0x16, 0x8A, 0xD5, 0xE5, 0xEB, - 0x96, 0x37, 0x34, 0xD3, 0x73, 0xCB, 0x15, 0x42, 0x0D, 0x84, 0xE0, 0xAE, 0xB8, 0xE7, 0xDB, 0x5A, - 0x46, 0x5D, 0xB5, 0x5E, 0x04, 0x68, 0x22, 0xBE, 0x86, 0xDD, 0x65, 0xD1, 0xF3, 0x1E, 0x3B, 0xCA, - 0xAF, 0x70, 0x23, 0xB7, 0xCB, 0x0A, 0xEC, 0x45, 0x80, 0xB1, 0xBF, 0x9B, 0x94, 0x27, 0xD0, 0xCC, - 0x60, 0xB0, 0x9B, 0x10, 0x58, 0xB0, 0xDE, 0xE2, 0x01, 0x41, 0xDF, 0xC3, 0x82, 0x0B, 0x8D, 0x3A, - 0x1B, 0xA7, 0x05, 0xF0, 0xA8, 0xD6, 0xE5, 0xEF, 0x57, 0x1B, 0x17, 0x29, 0xF9, 0xF0, 0xE9, 0x21, - 0x11, 0x2E, 0xAB, 0x53, 0xA2, 0xA0, 0xBA, 0x70, 0xB3, 0xB9, 0x3C, 0x73, 0x1E, 0x7A, 0xC3, 0xB9, - 0xC4, 0xAE, 0x54, 0x41, 0xF1, 0x7C, 0x46, 0xCD, 0x99, 0xF9, 0x30, 0x1B, 0xBF, 0x5D, 0x05, 0x03, - 0x25, 0x3E, 0x74, 0x11, 0xD9, 0xBC, 0xAF, 0xA4, 0x8C, 0x02, 0x29, 0xE5, 0x05, 0x8C, 0xF6, 0x05, - 0x97, 0x9C, 0xF6, 0x60, 0x98, 0x25, 0x56, 0x1F, 0x1A, 0x38, 0x50, 0xA4, 0x4F, 0x9D, 0xCD, 0x1F, - 0x47, 0x24, 0x7C, 0xAA, 0x05, 0xA8, 0xBD, 0x86, 0xC1, 0xC6, 0x5D, 0x26, 0x15, 0xF0, 0x8D, 0xDB, - 0xCB, 0x65, 0xC4, 0xE8, 0x2E, 0x9D, 0xE5, 0x36, 0xF2, 0xFD, 0xC9, 0x2E, 0x6D, 0xA5, 0xED, 0xD1, - 0xC8, 0xD9, 0x5E, 0x02, 0xF4, 0x94, 0xB7, 0xAE, 0x4B, 0xEC, 0xED, 0xBB, 0x12, 0x74, 0x94, 0x97, - 0xB4, 0xFF, 0x40, 0xFE, 0x6F, 0x5C, 0xC5, 0xB1, 0xBD, 0x79, 0x81, 0xC0, 0x36, 0xA0, 0x78, 0xD3, - 0x56, 0x6E, 0x6F, 0xDE, 0xDC, 0xBE, 0x7D, 0xBF, 0x9F, 0xEA, 0x00, 0x73, 0x1E, 0xA8, 0x30, 0x70, - 0x6B, 0x0F, 0x5D, 0x13, 0x40, 0x89, 0xFA, 0x36, 0x38, 0xD5, 0x25, 0x50, 0xD7, 0xB7, 0xEF, 0xF6, - 0x85, 0x52, 0xFD, 0x70, 0x30, 0xD5, 0xBF, 0x07, 0x9C, 0x3E, 0x78, 0x78, 0x88, 0xBD, 0x2D, 0xB0, - 0x92, 0x8C, 0x1C, 0x2F, 0xE5, 0x15, 0x1F, 0x1D, 0xEC, 0x46, 0x2E, 0x53, 0xE5, 0x1F, 0x70, 0x1B, - 0x07, 0x51, 0xF1, 0x41, 0x28, 0xBD, 0x4D, 0xF2, 0x48, 0x4E, 0xD5, 0xBA, 0x19, 0x0F, 0x68, 0x18, - 0x05, 0x0F, 0x6C, 0xA8, 0xCB, 0x11, 0xD9, 0xE5, 0xC9, 0xE0, 0x4C, 0x15, 0x89, 0x48, 0xFA, 0x68, - 0x90, 0x3F, 0xD9, 0xCF, 0x30, 0xA9, 0x57, 0x1B, 0x5F, 0x15, 0x15, 0x2E, 0xFC, 0x5B, 0x02, 0xD3, - 0xDD, 0xA2, 0xEF, 0x74, 0x79, 0xDF, 0x79, 0xD1, 0xDE, 0x4F, 0x29, 0xEB, 0x1E, 0xAC, 0xE1, 0x74, - 0x0F, 0xDA, 0x70, 0x14, 0xF9, 0x6D, 0x67, 0x06, 0xD3, 0x96, 0x37, 0x11, 0x09, 0x23, 0xDC, 0x3B, - 0x6F, 0x73, 0x03, 0x91, 0x7F, 0xA8, 0x3E, 0xDE, 0x25, 0x75, 0x52, 0x35, 0x8A, 0x99, 0x73, 0x32, - 0xCB, 0x9B, 0x27, 0x5F, 0x35, 0x6B, 0x4E, 0xD6, 0x6A, 0xBB, 0x4B, 0xD2, 0x70, 0x4B, 0x6C, 0x4C, - 0x3C, 0xFE, 0xD2, 0xE3, 0xA6, 0x80, 0xE4, 0x78, 0x25, 0x26, 0x4A, 0x5B, 0x1E, 0xED, 0x82, 0x4D, - 0x7D, 0x17, 0x6C, 0xF2, 0x1A, 0x15, 0xE1, 0x39, 0xFD, 0x46, 0x9D, 0xA6, 0x56, 0x3F, 0xFB, 0x96, - 0xF0, 0x74, 0x06, 0x9B, 0xD7, 0x34, 0xE0, 0x51, 0xAD, 0xAB, 0x77, 0xFB, 0xA9, 0x69, 0x7C, 0xB2, - 0x07, 0xD6, 0xB4, 0x9D, 0x2A, 0x98, 0x30, 0xEA, 0xD0, 0x4B, 0xB1, 0xD1, 0x16, 0x68, 0x8C, 0xB8, - 0xE2, 0xBF, 0xEF, 0x09, 0x8D, 0xD1, 0xC3, 0xD1, 0xF8, 0xCA, 0x1D, 0x66, 0xF4, 0x3D, 0xE0, 0x13, - 0xA0, 0xD1, 0x87, 0x6E, 0x1F, 0x6D, 0x8C, 0x51, 0xC2, 0xA7, 0x5A, 0xEF, 0xD1, 0x48, 0x79, 0xF1, - 0xFA, 0x72, 0x2F, 0x58, 0xA5, 0x93, 0x1E, 0x06, 0xAF, 0xCC, 0xE4, 0x43, 0x63, 0xE6, 0x61, 0x7F, - 0xF3, 0xA4, 0xE2, 0x4C, 0xAA, 0xF5, 0x0A, 0xFB, 0xA1, 0xD2, 0xA6, 0x41, 0xB2, 0xED, 0x68, 0x2F, - 0xA8, 0x89, 0x99, 0x0F, 0x03, 0x99, 0x34, 0xFA, 0xD0, 0x78, 0xF5, 0xFA, 0x24, 0x08, 0x68, 0xB0, - 0x31, 0x64, 0x09, 0x9F, 0x6A, 0xBD, 0x2C, 0xBF, 0x16, 0xA3, 0xBD, 0xC0, 0x95, 0xCE, 0x7A, 0x18, - 0xC4, 0x32, 0x9B, 0x0F, 0x0D, 0xDA, 0xD0, 0xF5, 0xC8, 0x60, 0x63, 0xC8, 0x04, 0x97, 0x6A, 0xFD, - 0x56, 0x7E, 0x0E, 0x9F, 0x7B, 0x81, 0x4B, 0xCE, 0x78, 0x18, 0xB0, 0x12, 0x6B, 0x0F, 0x0D, 0x95, - 0x63, 0x8F, 0x36, 0x06, 0x0A, 0x78, 0x54, 0xEB, 0xBA, 0xFD, 0xBB, 0xA2, 0x5D, 0xD3, 0x91, 0xCF, - 0x5F, 0xFC, 0x53, 0x6E, 0xDE, 0xE8, 0x7B, 0x41, 0x8C, 0x4F, 0x7D, 0x18, 0xBC, 0x84, 0xD1, 0x87, - 0x46, 0x4B, 0xBC, 0x04, 0xDC, 0x41, 0x9B, 0x97, 0xC3, 0x94, 0x91, 0xBF, 0xFB, 0x02, 0x23, 0xE5, - 0x0A, 0xED, 0xA7, 0x20, 0x66, 0xF3, 0xEE, 0x63, 0xD1, 0x3E, 0x33, 0xF2, 0xD0, 0x38, 0xB9, 0xC8, - 0xC6, 0x1F, 0x1C, 0xCC, 0xB6, 0x79, 0xF1, 0x22, 0xC7, 0xAB, 0x5A, 0xCF, 0xE1, 0x40, 0xB9, 0x16, - 0x07, 0xFB, 0x5A, 0x72, 0xE4, 0xE7, 0xDF, 0x07, 0x6A, 0x05, 0x7B, 0xBF, 0x0B, 0xE0, 0x60, 0x81, - 0x47, 0xBB, 0xFE, 0x56, 0xEF, 0x53, 0x17, 0xD8, 0x13, 0xF8, 0xDE, 0xCB, 0xE3, 0xFD, 0x02, 0x38, - 0x53, 0x62, 0x6F, 0x18, 0xE6, 0xEC, 0xDE, 0x07, 0x8C, 0xE9, 0x66, 0x04, 0xF1, 0x58, 0x40, 0xEE, - 0x41, 0x5E, 0x87, 0x94, 0x24, 0x93, 0x8F, 0x6E, 0x30, 0x2B, 0x87, 0x8C, 0x78, 0x9E, 0x6A, 0xBD, - 0xC0, 0x4C, 0xB9, 0xE5, 0xC3, 0xF3, 0x63, 0x49, 0xF0, 0x70, 0x29, 0xC9, 0x0B, 0xFF, 0x7C, 0xDF, - 0x38, 0xEA, 0xAB, 0xD6, 0x2D, 0xDF, 0x44, 0x0D, 0xB2, 0xF8, 0xD1, 0xE6, 0xC2, 0x84, 0x13, 0xB1, - 0x1F, 0x50, 0x50, 0x2A, 0x03, 0x29, 0xD9, 0xAA, 0xAA, 0x2A, 0xE9, 0x28, 0x77, 0xCE, 0xBA, 0x11, - 0xC4, 0x0A, 0x8F, 0xB2, 0xF5, 0xD3, 0xF1, 0x6F, 0x61, 0xED, 0xD5, 0x5F, 0xD6, 0x9E, 0x1F, 0xFB, - 0x68, 0x89, 0xBB, 0x57, 0xA0, 0x70, 0x2E, 0x77, 0xB1, 0xAF, 0x10, 0x95, 0x6D, 0xA6, 0x10, 0x9E, - 0x98, 0xED, 0xA7, 0xC9, 0xCC, 0x9A, 0xDB, 0x67, 0x93, 0x3E, 0xB0, 0x7D, 0x58, 0xD2, 0x8A, 0x1D, - 0x37, 0x49, 0x3F, 0xE4, 0xC3, 0xCC, 0xFD, 0xFF, 0xFB, 0xEF, 0xBA, 0x98, 0x21, 0xFD, 0x6E, 0x4E, - 0x31, 0x55, 0x09, 0x03, 0xBB, 0xA5, 0xAE, 0xDA, 0x9A, 0xB1, 0xC2, 0xF2, 0xE3, 0x65, 0xA6, 0xCF, - 0x11, 0x2F, 0xF1, 0xF5, 0x79, 0x68, 0x07, 0x64, 0xC0, 0xAC, 0x7F, 0x39, 0xD4, 0x8E, 0xFA, 0xD8, - 0x67, 0x15, 0xE4, 0x38, 0x37, 0x43, 0x18, 0xBC, 0x22, 0x21, 0xC3, 0xE0, 0x05, 0xAD, 0x74, 0xFD, - 0xF6, 0x75, 0x5B, 0x6E, 0x51, 0x79, 0x45, 0x91, 0x83, 0x9D, 0x92, 0xE1, 0x46, 0xBE, 0x90, 0xA3, - 0xE9, 0xD3, 0x74, 0xA8, 0x74, 0xB4, 0x2B, 0x7D, 0xEA, 0x41, 0xD0, 0xB6, 0x9B, 0xB2, 0x3C, 0x68, - 0x57, 0x15, 0x9E, 0xE3, 0xFA, 0xD4, 0x46, 0x21, 0x2E, 0xA5, 0x89, 0x5E, 0x32, 0xDB, 0xAD, 0xAB, - 0x4A, 0xB2, 0xF6, 0xB9, 0xA8, 0xF1, 0x0D, 0x4F, 0x60, 0xF4, 0x5D, 0x53, 0x10, 0x89, 0x47, 0x8A, - 0x25, 0x53, 0x8C, 0xE5, 0x97, 0xF3, 0x65, 0xEA, 0x63, 0xC9, 0x22, 0x1E, 0x5C, 0xE6, 0x89, 0x65, - 0x64, 0xA5, 0xD4, 0x51, 0xA7, 0x4F, 0x18, 0xA7, 0x2C, 0xD5, 0x4A, 0x09, 0x55, 0x52, 0x4A, 0xCC, - 0x00, 0xB3, 0x28, 0xF0, 0x9B, 0x31, 0x00, 0x1B, 0x32, 0xE5, 0xBA, 0xF5, 0xF1, 0x87, 0xA9, 0x1D, - 0x1F, 0x8B, 0x97, 0x5D, 0xA9, 0x77, 0x31, 0x44, 0x41, 0xEB, 0x87, 0xE9, 0x55, 0x85, 0x38, 0xF1, - 0x63, 0x98, 0x03, 0xC6, 0xED, 0xF8, 0x63, 0xD3, 0xE5, 0xFF, 0x71, 0x41, 0xBB, 0xD6, 0x2B, 0xAC, - 0x87, 0x7D, 0xED, 0xA6, 0x65, 0x4D, 0x39, 0x37, 0xF5, 0x70, 0xC5, 0xA3, 0x5D, 0xED, 0x63, 0x80, - 0x3F, 0x47, 0x18, 0x84, 0x31, 0xAA, 0xFC, 0x30, 0xBD, 0x8E, 0x15, 0x97, 0xF8, 0x24, 0xEC, 0x61, - 0xC7, 0x50, 0x42, 0x86, 0x58, 0x14, 0x9A, 0x70, 0xFA, 0xA6, 0x22, 0xC7, 0xF1, 0x47, 0x3D, 0xD6, - 0x63, 0x98, 0x46, 0xB1, 0x5B, 0x99, 0x97, 0x3D, 0x6A, 0x8B, 0x57, 0x3A, 0x2B, 0x34, 0x20, 0x5D, - 0xE2, 0x37, 0xA5, 0x6E, 0xB8, 0x75, 0x05, 0x33, 0x81, 0x7B, 0x78, 0x48, 0x71, 0x00, 0x38, 0x1A, - 0x5A, 0x49, 0xC6, 0x61, 0x49, 0x8F, 0x0D, 0x77, 0x81, 0x20, 0xC0, 0x7D, 0x3A, 0xC4, 0x79, 0x9A, - 0xEE, 0x72, 0x21, 0x69, 0x7E, 0x96, 0x74, 0xE3, 0x2A, 0xDB, 0x6B, 0xDE, 0x3A, 0xAA, 0xC6, 0x46, - 0x6F, 0xA5, 0xD0, 0x15, 0x3C, 0xB5, 0xD8, 0x20, 0x2D, 0xED, 0xCA, 0x68, 0x1B, 0xD7, 0x3A, 0x70, - 0x5E, 0xB7, 0x8E, 0x34, 0x3F, 0xF2, 0xBC, 0xA3, 0xD6, 0xB5, 0xFE, 0xF7, 0xDF, 0xD7, 0x4D, 0x1E, - 0x04, 0x37, 0xCD, 0x19, 0xE2, 0xAD, 0x56, 0x4B, 0x86, 0xC2, 0x05, 0x38, 0x32, 0xC3, 0xDE, 0x68, - 0xB7, 0x8E, 0x8E, 0xDA, 0x46, 0x76, 0xDC, 0x6A, 0xEB, 0xA6, 0xB8, 0x2E, 0x80, 0x36, 0x92, 0x4F, - 0x38, 0x6B, 0x5C, 0x3F, 0x7E, 0x7C, 0x73, 0xD4, 0x6A, 0xB5, 0x2F, 0x78, 0x88, 0x99, 0x47, 0x70, - 0xA8, 0x95, 0x10, 0xB6, 0xA5, 0x5C, 0xE2, 0x5C, 0xB4, 0x2F, 0xB0, 0x36, 0xD4, 0x4D, 0x97, 0xFF, - 0x29, 0xA1, 0x6E, 0xFE, 0x82, 0xE6, 0x6A, 0x4C, 0x37, 0xB0, 0x16, 0xEA, 0x20, 0x1C, 0xF3, 0xB1, - 0x2B, 0xC6, 0xA5, 0xF4, 0xAD, 0xA4, 0x1C, 0xAD, 0xAB, 0x8D, 0x75, 0x13, 0xF3, 0x3F, 0xA5, 0x62, - 0xE3, 0x48, 0x69, 0x60, 0xDE, 0xF6, 0x45, 0x4F, 0xF3, 0x75, 0xB3, 0x0B, 0x7F, 0x74, 0x3D, 0x6E, - 0x66, 0x70, 0x42, 0x34, 0x04, 0x93, 0x5B, 0x11, 0xB1, 0x34, 0xB8, 0xF4, 0x3C, 0xAD, 0x24, 0x77, - 0xE0, 0x95, 0xF4, 0x0A, 0x74, 0xA2, 0x1B, 0xC4, 0xB3, 0x41, 0xF8, 0x98, 0xFA, 0xB6, 0x47, 0xEC, - 0xBB, 0x96, 0xC6, 0x1D, 0x87, 0x21, 0x45, 0xE4, 0xDE, 0xE0, 0x37, 0xD4, 0xC1, 0x7A, 0x1C, 0x83, - 0x7A, 0x22, 0xEE, 0x64, 0x84, 0xCA, 0xF0, 0xF9, 0x98, 0xC4, 0x60, 0x96, 0x73, 0x90, 0x66, 0x32, - 0xA2, 0x95, 0xAB, 0xCA, 0xA7, 0x90, 0x27, 0x61, 0xBC, 0x84, 0xE4, 0x3E, 0xD5, 0x8A, 0x3D, 0x36, - 0xA7, 0x63, 0x1B, 0x94, 0x22, 0x1A, 0x80, 0xF2, 0x67, 0x1B, 0xEC, 0xFD, 0xCB, 0x38, 0xAA, 0xF1, - 0xD0, 0xD5, 0x93, 0xE8, 0xFC, 0x34, 0x0B, 0x5F, 0xE8, 0x53, 0x37, 0x1E, 0xE6, 0xC3, 0xAB, 0xC9, - 0xCF, 0x10, 0x5C, 0xB2, 0x72, 0x41, 0x98, 0xDC, 0xAD, 0xA3, 0x99, 0x95, 0x57, 0xA0, 0xF6, 0x56, - 0x53, 0x67, 0x9D, 0x10, 0xC8, 0xFA, 0xAB, 0xC9, 0x0A, 0xAD, 0x0E, 0x48, 0xFD, 0xD5, 0xA4, 0xB9, - 0x46, 0x06, 0x84, 0x74, 0x35, 0x61, 0xBE, 0x7C, 0x03, 0xE5, 0x40, 0x82, 0x35, 0x22, 0xBE, 0x43, - 0x47, 0x90, 0xD3, 0x74, 0xA0, 0x81, 0x4A, 0x15, 0xE2, 0x83, 0x0D, 0x2F, 0x7F, 0x7D, 0xFD, 0xAA, - 0x55, 0xCA, 0x37, 0xD8, 0x52, 0x6C, 0x7C, 0x96, 0x0C, 0x9F, 0x2A, 0xBC, 0x8E, 0x73, 0x28, 0x7F, - 0x2A, 0x99, 0x67, 0xB5, 0x12, 0x07, 0x94, 0x53, 0x7C, 0x84, 0x18, 0xBC, 0x5B, 0x90, 0x40, 0x07, - 0x99, 0x80, 0xA6, 0x57, 0x0C, 0x13, 0x3E, 0xDF, 0x4C, 0x18, 0x54, 0x2E, 0x34, 0x00, 0xF8, 0xF1, - 0xC5, 0x07, 0xBB, 0x03, 0xD5, 0xEA, 0x1A, 0x31, 0x5C, 0xF1, 0xE9, 0x08, 0xC2, 0x40, 0x4A, 0x8E, - 0x0D, 0xBA, 0xC8, 0x8F, 0xC5, 0x85, 0x7E, 0xF1, 0x82, 0x84, 0xF5, 0xAA, 0x38, 0x3D, 0x04, 0x7B, - 0x4E, 0xB5, 0xE6, 0xD5, 0x05, 0xB0, 0x9B, 0x9F, 0x41, 0xBA, 0xE1, 0x17, 0xB9, 0x3B, 0x90, 0x04, - 0xB1, 0xB1, 0x55, 0x9C, 0x65, 0xB9, 0xD0, 0xE3, 0x05, 0x5F, 0x88, 0xE3, 0xB9, 0x9D, 0x45, 0x5A, - 0xB0, 0x1A, 0x1C, 0x9E, 0xDF, 0xBA, 0x11, 0xDE, 0x4B, 0x90, 0xFB, 0x66, 0x15, 0x68, 0xD9, 0x3D, - 0x41, 0x36, 0xFF, 0xBD, 0x5F, 0x49, 0x6F, 0x06, 0x45, 0xBD, 0xC0, 0xCC, 0x40, 0x37, 0x82, 0xAC, - 0x63, 0xAD, 0xA8, 0x28, 0x71, 0xA2, 0x79, 0x74, 0x8F, 0x62, 0x98, 0x6B, 0x3E, 0xBC, 0x97, 0x20, - 0xFF, 0x4E, 0x05, 0xE8, 0x12, 0x2D, 0xE8, 0x12, 0xE9, 0x46, 0x94, 0xE9, 0x92, 0x95, 0xBD, 0x74, - 0xF6, 0xD1, 0x3D, 0xC2, 0xD3, 0x82, 0xA7, 0x1B, 0xE3, 0xD5, 0x54, 0x85, 0x57, 0x24, 0x41, 0x81, - 0xD1, 0x82, 0x02, 0x23, 0xDD, 0x18, 0x65, 0x0A, 0x64, 0x25, 0x33, 0x55, 0x60, 0xB2, 0x26, 0xFD, - 0xE4, 0x0D, 0x15, 0xE8, 0xF0, 0x65, 0x0D, 0xE1, 0xAC, 0xF8, 0xEA, 0xC6, 0xE5, 0x3D, 0xB4, 0xE9, - 0x1E, 0x4F, 0xD0, 0xF5, 0x72, 0x41, 0xD7, 0x4B, 0xDD, 0x78, 0x72, 0x7E, 0x29, 0x1B, 0x09, 0x14, - 0x6F, 0xA2, 0x4D, 0x78, 0x45, 0x33, 0x88, 0xF6, 0x85, 0x7F, 0x42, 0xF0, 0x4E, 0xE6, 0x58, 0x92, - 0xBA, 0x9A, 0x31, 0x5D, 0x68, 0xC8, 0xC3, 0x01, 0xD3, 0x4A, 0xEF, 0x3C, 0x0C, 0xAB, 0x8C, 0xE4, - 0xAD, 0x4B, 0xA5, 0xFD, 0xF3, 0x73, 0x85, 0x06, 0x8A, 0xF8, 0x0F, 0x03, 0x4A, 0x90, 0xED, 0x50, - 0x55, 0xE4, 0x26, 0x72, 0x05, 0xF3, 0x7F, 0xCB, 0x01, 0x21, 0xA5, 0xB0, 0x1E, 0x09, 0x15, 0x17, - 0xF3, 0xFD, 0x1B, 0xF8, 0x88, 0x63, 0x4F, 0x89, 0xA3, 0x24, 0x5A, 0xE8, 0x26, 0x3F, 0xD2, 0x3A, - 0xDA, 0x44, 0x37, 0x8E, 0x26, 0xA9, 0x47, 0x41, 0x4B, 0xDE, 0x5B, 0x32, 0x15, 0x41, 0xC7, 0x2F, - 0x07, 0xD1, 0xF1, 0x4B, 0x41, 0xC7, 0x2F, 0x00, 0xD8, 0x2C, 0x03, 0x7A, 0x52, 0x43, 0x30, 0xA3, - 0xAA, 0x27, 0xBD, 0x10, 0x5A, 0x57, 0x33, 0xBF, 0xCC, 0x4C, 0x16, 0x95, 0xF2, 0x48, 0x6E, 0xD7, - 0x3E, 0x3F, 0x16, 0xFF, 0x6A, 0xEE, 0xFF, 0x81, 0x09, 0x07, 0x8B, 0x81, 0x4E, 0x00, 0x00 + +//File: index_ov2640.html.gz, Size: 4316 +#define index_ov2640_html_gz_len 4316 +const uint8_t index_ov2640_html_gz[] = { + 0x1F, 0x8B, 0x08, 0x08, 0x50, 0x5C, 0xAE, 0x5C, 0x00, 0x03, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x5F, + 0x6F, 0x76, 0x32, 0x36, 0x34, 0x30, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x00, 0xE5, 0x5D, 0x7B, 0x73, + 0xD3, 0xC6, 0x16, 0xFF, 0x9F, 0x4F, 0x21, 0x04, 0x25, 0xF6, 0x34, 0x76, 0x6C, 0xC7, 0x84, 0xE0, + 0xDA, 0xE2, 0x42, 0x08, 0xD0, 0x19, 0x5E, 0x25, 0x2D, 0x74, 0xA6, 0xD3, 0x81, 0xB5, 0xB4, 0xB2, + 0x55, 0x64, 0xC9, 0x95, 0x56, 0x76, 0x52, 0x26, 0x9F, 0xE3, 0x7E, 0xA0, 0xFB, 0xC5, 0xEE, 0xD9, + 0x87, 0xA4, 0x95, 0xBC, 0x7A, 0xD8, 0x26, 0x36, 0x97, 0xEB, 0xCC, 0x14, 0xD9, 0xDA, 0x73, 0xF6, + 0x9C, 0xF3, 0x3B, 0xAF, 0x5D, 0x3D, 0x3A, 0xBC, 0x6D, 0xF9, 0x26, 0xB9, 0x9A, 0x63, 0x6D, 0x4A, + 0x66, 0xAE, 0x71, 0x6B, 0xC8, 0xFF, 0xD1, 0xE0, 0x33, 0x9C, 0x62, 0x64, 0xF1, 0x43, 0xF6, 0x75, + 0x86, 0x09, 0xD2, 0xCC, 0x29, 0x0A, 0x42, 0x4C, 0x46, 0x7A, 0x44, 0xEC, 0xD6, 0xA9, 0x9E, 0x3F, + 0xED, 0xA1, 0x19, 0x1E, 0xE9, 0x0B, 0x07, 0x2F, 0xE7, 0x7E, 0x40, 0x74, 0xCD, 0xF4, 0x3D, 0x82, + 0x3D, 0x18, 0xBE, 0x74, 0x2C, 0x32, 0x1D, 0x59, 0x78, 0xE1, 0x98, 0xB8, 0xC5, 0xBE, 0x1C, 0x3A, + 0x9E, 0x43, 0x1C, 0xE4, 0xB6, 0x42, 0x13, 0xB9, 0x78, 0xD4, 0x95, 0x79, 0x11, 0x87, 0xB8, 0xD8, + 0x38, 0xBF, 0x78, 0x7B, 0xDC, 0xD3, 0xDE, 0xBC, 0xEF, 0xF5, 0x4F, 0x3A, 0xC3, 0x23, 0xFE, 0x5B, + 0x3A, 0x26, 0x24, 0x57, 0xF2, 0x77, 0xFA, 0x19, 0xFB, 0xD6, 0x95, 0xF6, 0x25, 0xF3, 0x13, 0xFD, + 0xD8, 0x20, 0x44, 0xCB, 0x46, 0x33, 0xC7, 0xBD, 0x1A, 0x68, 0x8F, 0x03, 0x98, 0xF3, 0xF0, 0x05, + 0x76, 0x17, 0x98, 0x38, 0x26, 0x3A, 0x0C, 0x91, 0x17, 0xB6, 0x42, 0x1C, 0x38, 0xF6, 0x4F, 0x2B, + 0x84, 0x63, 0x64, 0x7E, 0x9E, 0x04, 0x7E, 0xE4, 0x59, 0x03, 0xED, 0x4E, 0xF7, 0x94, 0xFE, 0xAD, + 0x0E, 0x32, 0x7D, 0xD7, 0x0F, 0xE0, 0xFC, 0xF9, 0x33, 0xFA, 0xB7, 0x7A, 0x9E, 0xCD, 0x1E, 0x3A, + 0xFF, 0xE0, 0x81, 0xD6, 0x3D, 0x99, 0x5F, 0x66, 0xCE, 0x5F, 0xDF, 0xCA, 0x7C, 0x9D, 0xF6, 0x8A, + 0xA4, 0x17, 0xF4, 0xA7, 0xE5, 0xF4, 0x21, 0x36, 0x89, 0xE3, 0x7B, 0xED, 0x19, 0x72, 0x3C, 0x05, + 0x27, 0xCB, 0x09, 0xE7, 0x2E, 0x02, 0x1B, 0xD8, 0x2E, 0x2E, 0xE5, 0x73, 0x67, 0x86, 0xBD, 0xE8, + 0xB0, 0x82, 0x1B, 0x65, 0xD2, 0xB2, 0x9C, 0x80, 0x8F, 0x1A, 0x50, 0x3B, 0x44, 0x33, 0xAF, 0x92, + 0x6D, 0x99, 0x5C, 0x9E, 0xEF, 0x61, 0x85, 0x01, 0xE9, 0x44, 0xCB, 0x00, 0xCD, 0xE9, 0x00, 0xFA, + 0xEF, 0xEA, 0x90, 0x99, 0xE3, 0x71, 0xA7, 0x1A, 0x68, 0xC7, 0xFD, 0xCE, 0xFC, 0xB2, 0x02, 0xCA, + 0xE3, 0x13, 0xFA, 0xB7, 0x3A, 0x68, 0x8E, 0x2C, 0xCB, 0xF1, 0x26, 0x03, 0xED, 0x54, 0xC9, 0xC2, + 0x0F, 0x2C, 0x1C, 0xB4, 0x02, 0x64, 0x39, 0x51, 0x38, 0xD0, 0xFA, 0xAA, 0x31, 0x33, 0x14, 0x4C, + 0x40, 0x16, 0xE2, 0x83, 0xB0, 0xAD, 0xAE, 0x52, 0x12, 0x31, 0x24, 0x70, 0x26, 0x53, 0x02, 0x90, + 0xAE, 0x8C, 0xC9, 0x1B, 0x4D, 0x84, 0x50, 0x15, 0x9E, 0xA5, 0x76, 0x53, 0x5B, 0x0D, 0xB9, 0xCE, + 0xC4, 0x6B, 0x39, 0x04, 0xCF, 0x40, 0x9D, 0x90, 0x04, 0x98, 0x98, 0xD3, 0x32, 0x51, 0x6C, 0x67, + 0x12, 0x05, 0x58, 0x21, 0x48, 0x62, 0xB7, 0x12, 0x85, 0xE1, 0xE4, 0xEA, 0xA9, 0xD6, 0x12, 0x8F, + 0x3F, 0x3B, 0xA4, 0x25, 0x6C, 0x32, 0xC6, 0xB6, 0x1F, 0x60, 0xE5, 0xC8, 0x78, 0x84, 0xEB, 0x9B, + 0x9F, 0x5B, 0x21, 0x41, 0x01, 0xA9, 0xC3, 0x10, 0xD9, 0x04, 0x07, 0xD5, 0xFC, 0x30, 0xF5, 0x8A, + 0x6A, 0x6E, 0xC5, 0xD3, 0x8A, 0x01, 0x8E, 0xE7, 0x3A, 0x1E, 0xAE, 0x2F, 0x5E, 0xD1, 0xBC, 0x59, + 0x76, 0x7C, 0x54, 0x0D, 0x60, 0x9C, 0xD9, 0xA4, 0xCC, 0x4B, 0x98, 0xAE, 0xAB, 0x93, 0x89, 0xB8, + 0xE9, 0x76, 0x3A, 0x3F, 0xAC, 0x9E, 0x9C, 0x62, 0xEE, 0xA6, 0x28, 0x22, 0xFE, 0xF6, 0x11, 0xB1, + 0x12, 0x56, 0x39, 0x3D, 0xFE, 0x35, 0xC3, 0x96, 0x83, 0xB4, 0x86, 0x14, 0xCE, 0xA7, 0x1D, 0xF0, + 0xA9, 0xA6, 0x86, 0x3C, 0x4B, 0x6B, 0xF8, 0x81, 0x03, 0x81, 0x80, 0x58, 0xBA, 0x71, 0xE1, 0x17, + 0x28, 0x1C, 0x73, 0xDC, 0x54, 0xA8, 0x5C, 0x12, 0x33, 0xB2, 0x45, 0xD4, 0x61, 0x43, 0x3F, 0x35, + 0x52, 0x0E, 0xFD, 0x54, 0x06, 0x90, 0x42, 0x47, 0xC6, 0xBE, 0x0C, 0x2F, 0x59, 0xC2, 0x22, 0xCC, + 0xE8, 0x67, 0x86, 0x2E, 0x5B, 0xA5, 0xD8, 0xC5, 0x83, 0x62, 0x0C, 0xA1, 0xCC, 0x9A, 0x0D, 0x18, + 0xBA, 0x98, 0x6A, 0x2D, 0x8D, 0x66, 0xC9, 0xA6, 0x9A, 0x46, 0x30, 0x55, 0x43, 0x4E, 0x3F, 0xB2, + 0x53, 0xAC, 0xA1, 0xAE, 0x5A, 0xD5, 0x34, 0x77, 0xF0, 0x3F, 0x95, 0x0F, 0x71, 0x4D, 0x0A, 0xB3, + 0x08, 0xFD, 0xD4, 0xCF, 0x24, 0x29, 0xB3, 0xCA, 0x6C, 0xA2, 0x60, 0x5C, 0x9C, 0x51, 0x56, 0xF8, + 0x16, 0x45, 0xB7, 0x82, 0x6B, 0xB9, 0x08, 0x75, 0xB3, 0x8B, 0x82, 0x71, 0x99, 0x0C, 0x95, 0x59, + 0x86, 0x7E, 0xAE, 0x6B, 0xF4, 0x1B, 0x77, 0xC6, 0x11, 0x21, 0xBE, 0x17, 0x6E, 0x55, 0xA2, 0x8A, + 0xE2, 0xEC, 0xAF, 0x28, 0x24, 0x8E, 0x7D, 0xD5, 0x12, 0x21, 0x0D, 0x71, 0x36, 0x47, 0xD0, 0x42, + 0x8E, 0x31, 0x59, 0x62, 0x5C, 0xDE, 0x6E, 0x78, 0x68, 0x01, 0x79, 0x67, 0x32, 0x71, 0x55, 0xBE, + 0x67, 0x46, 0x41, 0x48, 0xFB, 0xB6, 0xB9, 0xEF, 0x00, 0xE3, 0x60, 0x75, 0xE2, 0x6C, 0x0C, 0xD6, + 0x9C, 0xA8, 0x65, 0x8E, 0x15, 0x73, 0xF9, 0x11, 0xA1, 0x36, 0x56, 0x22, 0xE1, 0x83, 0x3A, 0x0E, + 0xB9, 0x52, 0x9E, 0x13, 0x91, 0xA8, 0x38, 0x13, 0x87, 0x60, 0x69, 0x59, 0xC8, 0xCA, 0x35, 0x30, + 0xA7, 0xD8, 0xFC, 0x8C, 0xAD, 0x1F, 0x2B, 0xDB, 0xB0, 0xAA, 0xF6, 0xB0, 0xED, 0x78, 0xF3, 0x88, + 0xB4, 0x68, 0x3B, 0x35, 0xBF, 0x11, 0xCC, 0x99, 0x43, 0xC6, 0x2A, 0xF6, 0x7A, 0x65, 0x4D, 0xC5, + 0xFD, 0xF9, 0x65, 0xB9, 0x11, 0x64, 0x61, 0x0D, 0x17, 0x8D, 0xB1, 0x5B, 0x26, 0xB2, 0x08, 0x86, + 0x82, 0xB4, 0x2B, 0x72, 0x55, 0x71, 0xEF, 0xC6, 0x24, 0x4B, 0x8B, 0x57, 0xFF, 0xC1, 0x0F, 0xB5, + 0xED, 0xC8, 0x8E, 0x0F, 0x33, 0x3F, 0x85, 0xD8, 0x85, 0x00, 0x2B, 0x6A, 0xBD, 0x61, 0xCC, 0x12, + 0x64, 0x28, 0x9D, 0x20, 0x40, 0xDE, 0x04, 0x43, 0x2E, 0xB8, 0x3C, 0x8C, 0x0F, 0xCB, 0x17, 0x06, + 0xB5, 0xD4, 0xA7, 0xA9, 0xFA, 0x7E, 0xF9, 0x42, 0x84, 0x27, 0x84, 0x0D, 0x9A, 0x11, 0x09, 0xD6, + 0xD2, 0xF9, 0xBB, 0x4A, 0xA7, 0xE0, 0xFD, 0x88, 0x32, 0x60, 0xB2, 0x2E, 0xA5, 0xEC, 0xEF, 0x2B, + 0x33, 0x42, 0xBC, 0xD2, 0xB3, 0xED, 0xAA, 0xB5, 0xA2, 0x6D, 0x1F, 0x77, 0x8E, 0xFB, 0x95, 0x0D, + 0x93, 0x52, 0xCB, 0xDC, 0x7A, 0x51, 0x91, 0x31, 0x92, 0x6C, 0x52, 0x0D, 0xC1, 0x60, 0xEA, 0x2F, + 0x70, 0xA0, 0x00, 0x22, 0x27, 0x6E, 0xFF, 0x61, 0xDF, 0xAA, 0xC1, 0x0D, 0x41, 0xBE, 0x5F, 0xA8, + 0xB2, 0x69, 0x96, 0x5D, 0xAF, 0x6B, 0xF6, 0x4A, 0x1D, 0x93, 0xB3, 0x6B, 0x83, 0x37, 0xA0, 0xB1, + 0x8B, 0xAD, 0x92, 0xF4, 0x6C, 0x61, 0x1B, 0x45, 0x2E, 0xA9, 0xB0, 0x37, 0xEA, 0xD0, 0xBF, 0xB2, + 0x19, 0x59, 0x5C, 0xFD, 0x41, 0x37, 0x3A, 0x46, 0x2C, 0x12, 0xFE, 0x54, 0xCC, 0x19, 0xD7, 0x4E, + 0x34, 0x9F, 0x63, 0x04, 0xA3, 0x4C, 0x5C, 0xB4, 0x24, 0xAD, 0xD5, 0x33, 0xAB, 0x13, 0x57, 0xAD, + 0x85, 0x68, 0xA5, 0x2B, 0x26, 0xDD, 0xD0, 0x5A, 0x3A, 0x0F, 0x6C, 0xDF, 0x8C, 0x54, 0x65, 0xBA, + 0x9E, 0x4B, 0xAD, 0xF2, 0x1B, 0xC4, 0x26, 0x0B, 0x5D, 0x87, 0x39, 0x76, 0xE4, 0x79, 0x14, 0xD1, + 0x16, 0x09, 0x40, 0x4D, 0xC5, 0x44, 0xF5, 0x0C, 0xB7, 0x51, 0x74, 0x66, 0x0C, 0x5B, 0xB4, 0x19, + 0x93, 0x0B, 0x40, 0x45, 0xA2, 0x48, 0x72, 0x88, 0x16, 0xFA, 0xA0, 0x54, 0xCC, 0x6A, 0x3B, 0xBB, + 0x90, 0x69, 0x34, 0x53, 0x35, 0x06, 0xF1, 0x64, 0x5D, 0xA8, 0x62, 0x7C, 0xBA, 0x60, 0x32, 0x46, + 0x8D, 0xCE, 0x61, 0xE7, 0xF0, 0x18, 0xFE, 0xA3, 0x68, 0xD0, 0xCB, 0x9D, 0x4B, 0x98, 0xB7, 0xC0, + 0xF3, 0x72, 0xC9, 0xA7, 0x7A, 0x9F, 0xA4, 0x28, 0x8D, 0x55, 0x62, 0x51, 0x3F, 0x92, 0xB2, 0x1B, + 0x26, 0xDD, 0x76, 0x45, 0x61, 0x29, 0x70, 0xE9, 0xF5, 0x1D, 0x51, 0xE1, 0x2D, 0xEB, 0x42, 0x3C, + 0xF3, 0xFF, 0x69, 0xF1, 0xAA, 0xFA, 0x7F, 0xEF, 0xED, 0x92, 0x29, 0xBE, 0x6B, 0x4F, 0x5F, 0xDB, + 0x2E, 0xE1, 0xBE, 0x7D, 0xA3, 0x53, 0x8C, 0x7A, 0x4B, 0xF4, 0x33, 0x20, 0xA1, 0x07, 0x8B, 0xAA, + 0x00, 0x56, 0x57, 0x85, 0x3D, 0x8F, 0x34, 0x66, 0x03, 0x1B, 0xD8, 0x8E, 0xEB, 0xB6, 0x5C, 0x7F, + 0x59, 0xDD, 0x89, 0x94, 0x7B, 0xF2, 0x8A, 0x9F, 0x56, 0xBB, 0xFC, 0xA6, 0xD2, 0x46, 0x90, 0xB9, + 0xFE, 0x27, 0xA4, 0xFD, 0xBE, 0x03, 0xAE, 0x34, 0x34, 0x36, 0x2B, 0x14, 0x1B, 0xF8, 0xE3, 0x76, + 0x13, 0xD5, 0x72, 0x25, 0xDE, 0x09, 0x96, 0x2E, 0xE6, 0xC2, 0xA5, 0x43, 0xCC, 0xE9, 0x06, 0x8B, + 0xAA, 0xB9, 0x1F, 0x3A, 0xFC, 0x1A, 0x4D, 0x80, 0x5D, 0x44, 0x3B, 0xF8, 0x8D, 0x96, 0xDC, 0x95, + 0x0B, 0x13, 0x99, 0xBC, 0x8E, 0x26, 0xCC, 0x74, 0xDF, 0xCE, 0x76, 0x49, 0x9B, 0xF7, 0x0E, 0xC5, + 0xB9, 0x5A, 0xED, 0xD6, 0x15, 0xED, 0x7E, 0x36, 0x32, 0xD4, 0x83, 0xD6, 0xC8, 0xE8, 0x71, 0xD2, + 0x9E, 0x04, 0xF8, 0xAA, 0x86, 0x32, 0x87, 0xE2, 0xDF, 0x01, 0xDF, 0x10, 0xDD, 0x7C, 0xED, 0xCF, + 0x0A, 0x80, 0xF0, 0xA2, 0x76, 0x3F, 0xAC, 0x31, 0x75, 0xF1, 0x94, 0x75, 0xFC, 0x31, 0xD9, 0xEE, + 0xD3, 0xF5, 0x1A, 0xE9, 0xA6, 0xA4, 0x84, 0xAA, 0x5D, 0x35, 0xAE, 0xBE, 0xCA, 0x93, 0x2E, 0xB6, + 0x49, 0xC1, 0xD5, 0x0C, 0xD6, 0xA7, 0x1E, 0x97, 0x67, 0xB7, 0x96, 0xB4, 0x4F, 0x50, 0x99, 0x39, + 0x92, 0x5D, 0xB9, 0x62, 0xEF, 0x53, 0x72, 0xA6, 0xD9, 0x73, 0x6D, 0xE6, 0xC5, 0x90, 0xC4, 0xED, + 0x33, 0x83, 0x19, 0xC6, 0xCC, 0x44, 0xC9, 0x07, 0x78, 0xF0, 0xEF, 0x8D, 0xDE, 0x89, 0xF2, 0x62, + 0x41, 0xC9, 0xE0, 0x32, 0xD1, 0x0A, 0xB7, 0xB5, 0x56, 0x4B, 0x56, 0xE1, 0x02, 0x59, 0xCE, 0x45, + 0x4A, 0xA0, 0xCA, 0xA3, 0xB2, 0x2C, 0xC3, 0xAC, 0xEE, 0xD1, 0x94, 0x3A, 0xBB, 0x33, 0x43, 0xD0, + 0xF6, 0x52, 0x77, 0x45, 0xC0, 0x51, 0x85, 0x5F, 0x1D, 0x77, 0x97, 0x36, 0x0D, 0xBB, 0x27, 0x9D, + 0x8A, 0x29, 0x4D, 0xD7, 0x0F, 0xCB, 0xE3, 0x0A, 0x8D, 0xC1, 0x7E, 0x11, 0x51, 0x4C, 0x24, 0xB6, + 0x2E, 0x95, 0x3B, 0x4F, 0xCC, 0xB9, 0x95, 0x67, 0x6A, 0x95, 0xEE, 0xD2, 0x98, 0x2A, 0x0F, 0xC7, + 0x9C, 0xCD, 0xBB, 0x1D, 0x65, 0xA6, 0x2D, 0xDD, 0x7F, 0x23, 0xF8, 0x12, 0xD6, 0x9B, 0xF4, 0x82, + 0xDC, 0x40, 0x33, 0xB1, 0x3A, 0x8D, 0x66, 0x8A, 0x5C, 0xB7, 0xCE, 0x26, 0x60, 0x29, 0x0E, 0x53, + 0xC7, 0xB2, 0x70, 0xE9, 0x2E, 0x27, 0x5D, 0xF3, 0xE6, 0x58, 0xC4, 0x47, 0xC3, 0x23, 0xE9, 0x06, + 0x96, 0xE1, 0x51, 0x7A, 0xAF, 0xCD, 0x90, 0xDE, 0xC5, 0x22, 0xDF, 0xE7, 0xC2, 0x2F, 0xB2, 0x68, + 0xA6, 0x8B, 0xC2, 0x70, 0xA4, 0xD3, 0xBB, 0x31, 0xF4, 0xEC, 0x6D, 0x2F, 0x43, 0xCB, 0x59, 0x68, + 0x8E, 0x35, 0xD2, 0x5D, 0x7F, 0xE2, 0xE7, 0xCE, 0xB1, 0xF3, 0x7C, 0xDB, 0x1B, 0x22, 0x75, 0xA4, + 0x67, 0x2E, 0x09, 0xE8, 0x8C, 0x2A, 0xFD, 0x49, 0x37, 0xEE, 0xDD, 0x79, 0xF8, 0xE0, 0xC1, 0xC9, + 0x4F, 0xF7, 0xBC, 0x71, 0x38, 0x17, 0xFF, 0xFD, 0x95, 0x5F, 0x41, 0x79, 0xF3, 0xBE, 0x77, 0xD2, + 0x87, 0x86, 0x16, 0x13, 0xE2, 0x78, 0x93, 0x70, 0x78, 0xC4, 0x98, 0xE6, 0x04, 0x39, 0x02, 0x49, + 0x0A, 0x64, 0x13, 0x09, 0x5D, 0x25, 0x5E, 0x3C, 0x24, 0x84, 0x1C, 0x35, 0x46, 0x81, 0x62, 0x08, + 0x1B, 0xC6, 0xDB, 0x05, 0xD6, 0x69, 0xE9, 0x2C, 0xB1, 0x8D, 0xFD, 0xCB, 0xBC, 0x06, 0x4C, 0x29, + 0x91, 0xF5, 0xC4, 0x28, 0x6C, 0x15, 0x31, 0x04, 0x32, 0x46, 0x4E, 0xAF, 0x87, 0x14, 0x8C, 0x49, + 0xE4, 0x13, 0xD6, 0x97, 0xB6, 0xE7, 0xF9, 0xD4, 0x76, 0x80, 0x66, 0x98, 0x26, 0x22, 0xF1, 0x63, + 0x31, 0x9B, 0x3C, 0x12, 0x09, 0xA5, 0x6E, 0xBC, 0xC3, 0x2C, 0x5C, 0x01, 0x65, 0xA5, 0x59, 0x57, + 0xB8, 0x88, 0x0C, 0x9A, 0x99, 0x5F, 0x8F, 0x45, 0x14, 0x3B, 0xA6, 0x2D, 0xC4, 0xDC, 0xA6, 0x42, + 0x20, 0xC6, 0xCE, 0x9F, 0x33, 0x07, 0x5B, 0x20, 0x37, 0x02, 0xD3, 0x76, 0x3B, 0xBA, 0xF1, 0xDB, + 0xEF, 0xCF, 0x1F, 0x37, 0x20, 0x11, 0x75, 0x2E, 0xBB, 0xBD, 0x4E, 0xA7, 0x39, 0x3C, 0xE2, 0x43, + 0xD6, 0xE6, 0xF5, 0x50, 0x37, 0x2E, 0x18, 0xAB, 0xDE, 0x29, 0xB0, 0xEA, 0xF4, 0xFA, 0x9B, 0xB3, + 0x3A, 0xD5, 0x0D, 0xC6, 0x09, 0x98, 0x5C, 0x3E, 0x38, 0x39, 0xDD, 0x9C, 0xD1, 0x03, 0x90, 0xE9, + 0x3D, 0x70, 0x3A, 0x05, 0xED, 0x4E, 0xB6, 0x51, 0xEE, 0x44, 0x37, 0x28, 0x1F, 0x88, 0x8A, 0xCB, + 0xFE, 0xE9, 0x16, 0x7C, 0xEE, 0xEB, 0xA2, 0x24, 0x52, 0x97, 0x8D, 0x8F, 0x74, 0xE3, 0xEC, 0xE7, + 0x67, 0x8D, 0x3E, 0xC8, 0xD8, 0x7B, 0x78, 0xB2, 0x39, 0xEF, 0xBE, 0x6E, 0xFC, 0x42, 0x85, 0x3C, + 0xEE, 0x01, 0xA3, 0xFE, 0x16, 0x42, 0x1E, 0xEB, 0xC6, 0x0B, 0xC6, 0x09, 0xB8, 0x5C, 0x76, 0x1F, + 0x6C, 0x21, 0x12, 0xB8, 0xD7, 0x2F, 0x8C, 0x13, 0xF8, 0x17, 0x75, 0xAF, 0x9A, 0x9C, 0x20, 0x5F, + 0x32, 0xD3, 0x94, 0xC4, 0xE9, 0x6A, 0xF6, 0xC9, 0x9C, 0x2E, 0x0B, 0xE3, 0xBF, 0x23, 0x28, 0x1D, + 0xE4, 0x6A, 0xED, 0x20, 0x16, 0x74, 0xA0, 0x12, 0x3F, 0xA8, 0x17, 0xBF, 0x92, 0x24, 0xC9, 0x65, + 0x39, 0xDD, 0xE8, 0x76, 0x2A, 0x34, 0x60, 0xB4, 0x72, 0x16, 0x64, 0xC4, 0x19, 0x05, 0x74, 0xDA, + 0x49, 0xB0, 0x18, 0xA6, 0xB7, 0x7E, 0x80, 0x8F, 0x1E, 0xEB, 0x52, 0x5C, 0x6F, 0x94, 0x22, 0x14, + 0xD2, 0xA2, 0x4B, 0xDD, 0x38, 0x39, 0xAE, 0xB2, 0xF7, 0x16, 0x70, 0x8C, 0x59, 0x9B, 0xE2, 0xE1, + 0x30, 0x5C, 0x1B, 0x91, 0x94, 0x54, 0x37, 0x9E, 0x24, 0xC7, 0xDB, 0xE0, 0xD2, 0xEA, 0x6D, 0x81, + 0x8B, 0x24, 0x0E, 0x87, 0xA6, 0xD5, 0x13, 0xD0, 0xF4, 0xF4, 0x34, 0x22, 0xBE, 0x26, 0x30, 0x55, + 0xD2, 0x6E, 0x83, 0x0B, 0x2D, 0xE2, 0x01, 0x0A, 0xC9, 0xDA, 0xA8, 0xC4, 0x84, 0x90, 0xD6, 0xC4, + 0xD1, 0xDE, 0x10, 0x49, 0x44, 0xF9, 0x0E, 0xF0, 0x08, 0x11, 0x89, 0x02, 0x76, 0x43, 0xDC, 0xDA, + 0x88, 0xA4, 0xA4, 0x50, 0x0F, 0x93, 0xE3, 0xBD, 0xA1, 0x22, 0x89, 0xF3, 0x3D, 0xE0, 0x32, 0xC7, + 0xA6, 0x83, 0xDC, 0x8F, 0xD8, 0xB6, 0xA1, 0x64, 0xAD, 0x8F, 0x4D, 0x86, 0x1C, 0xF0, 0xE1, 0xDF, + 0xB5, 0x73, 0xF6, 0x7D, 0xED, 0x1E, 0x31, 0xC7, 0xEE, 0x6B, 0x35, 0x8A, 0x1D, 0x75, 0xDF, 0xF2, + 0xDA, 0x4F, 0xE4, 0xDC, 0xB0, 0x43, 0xE8, 0x02, 0x13, 0x3C, 0x61, 0x2B, 0xE5, 0x8D, 0x79, 0xF4, + 0x74, 0xE3, 0x79, 0x80, 0xAE, 0xD8, 0xB3, 0x05, 0xDB, 0x34, 0x3D, 0xEF, 0xB0, 0xA5, 0xFD, 0x0A, + 0x4B, 0xC1, 0x6D, 0x3A, 0xB0, 0xE7, 0x01, 0x86, 0x65, 0xE2, 0x56, 0x5C, 0xEE, 0x43, 0x31, 0x83, + 0x83, 0xED, 0x98, 0x40, 0xC3, 0x7A, 0x81, 0xE7, 0x0E, 0xFA, 0x16, 0x1A, 0x2E, 0xB4, 0x1C, 0xAF, + 0x1D, 0x16, 0x40, 0xA3, 0x1B, 0x8F, 0x3F, 0x3C, 0x59, 0x3B, 0x49, 0xF1, 0xFD, 0xE6, 0x3A, 0x1E, + 0xCE, 0xB3, 0x93, 0x10, 0x50, 0x5F, 0x59, 0x6C, 0xAA, 0x23, 0xA7, 0xEE, 0x82, 0x53, 0xA1, 0x57, + 0x2C, 0x20, 0xDB, 0x9E, 0xD3, 0x25, 0x35, 0xEB, 0xE9, 0x78, 0x73, 0x19, 0x0C, 0x84, 0xF8, 0x38, + 0x41, 0xCE, 0xFA, 0x75, 0x25, 0x26, 0x64, 0x48, 0x69, 0xCF, 0xE1, 0x68, 0x57, 0x70, 0xF1, 0x69, + 0xF7, 0x86, 0x99, 0xD0, 0x7A, 0xDF, 0xC0, 0x81, 0x20, 0x33, 0xDF, 0x5A, 0x7F, 0x3B, 0x42, 0xD0, + 0xE9, 0x06, 0xA0, 0xF6, 0x0A, 0x0E, 0xD6, 0xAE, 0x32, 0x31, 0x83, 0x1B, 0x2E, 0x2F, 0x8F, 0x23, + 0xE2, 0x6F, 0x53, 0x59, 0x2E, 0x22, 0xCF, 0xBB, 0xDA, 0xA6, 0xAC, 0x9C, 0xB9, 0x7E, 0x64, 0x6D, + 0xCE, 0x01, 0x6A, 0xCA, 0x1B, 0xDB, 0x76, 0xCC, 0xCD, 0xAB, 0x12, 0x54, 0x94, 0x17, 0xFE, 0xAC, + 0x26, 0xFD, 0x0D, 0x67, 0x71, 0x6C, 0xAE, 0x9F, 0x20, 0xB0, 0x09, 0x28, 0x9E, 0x9F, 0x69, 0x17, + 0xE7, 0xAF, 0x2F, 0xDE, 0xBC, 0xDB, 0x4D, 0x76, 0x80, 0x39, 0xF7, 0x94, 0x18, 0xA8, 0xB6, 0xFB, + 0xCE, 0x09, 0x20, 0x44, 0x6F, 0x13, 0x9C, 0x7A, 0x1C, 0xA8, 0xA7, 0x17, 0x6F, 0x77, 0x85, 0x52, + 0x6F, 0x7F, 0x30, 0xF5, 0xBE, 0x05, 0x9C, 0x3E, 0xBA, 0x78, 0x81, 0xDD, 0x0D, 0xB0, 0xE2, 0x84, + 0x14, 0x2F, 0xED, 0x25, 0x3D, 0xDA, 0xDB, 0x42, 0x2E, 0x11, 0xE5, 0x3B, 0x58, 0xC6, 0x81, 0x57, + 0x7C, 0x64, 0x42, 0x6F, 0x12, 0x3C, 0x9C, 0x52, 0x37, 0xCE, 0x2F, 0xE7, 0x7E, 0x18, 0x05, 0x35, + 0x0B, 0xAA, 0x1A, 0x91, 0x6D, 0x76, 0x06, 0x53, 0x51, 0x38, 0x22, 0xF1, 0xD6, 0x20, 0xDD, 0xD9, + 0x4F, 0x30, 0xE9, 0x75, 0xFA, 0x5F, 0x15, 0x15, 0xCA, 0xFC, 0x26, 0x81, 0x99, 0x6C, 0x50, 0x77, + 0x26, 0xB4, 0xEE, 0x3C, 0x3F, 0xDB, 0x4D, 0x2A, 0x9B, 0xEC, 0xAD, 0xE0, 0x4C, 0xF6, 0x5A, 0x70, + 0x34, 0x7E, 0x51, 0x34, 0x81, 0x69, 0xC3, 0x45, 0x84, 0x20, 0x84, 0xB5, 0xF3, 0x26, 0x0B, 0x08, + 0x79, 0x53, 0xFD, 0x72, 0x9B, 0xD0, 0x89, 0xC5, 0xC8, 0x46, 0xCE, 0x71, 0x1A, 0x37, 0xF7, 0xBF, + 0x6A, 0xD4, 0x1C, 0x57, 0x4A, 0xBB, 0x4D, 0xD0, 0x50, 0x4D, 0x4C, 0xEC, 0xB8, 0xF4, 0x09, 0xA6, + 0x75, 0x01, 0x91, 0x68, 0x39, 0x26, 0xDA, 0x19, 0xFF, 0xB6, 0x0D, 0x36, 0xBD, 0x6D, 0xB0, 0x91, + 0x25, 0xCA, 0xC2, 0x73, 0x72, 0x43, 0x95, 0xA6, 0xDB, 0x3B, 0xBD, 0x49, 0x78, 0xC6, 0xF3, 0xF5, + 0x73, 0x1A, 0xD0, 0xE8, 0xC6, 0x93, 0xB7, 0xBB, 0xC9, 0x69, 0x74, 0xB2, 0x9A, 0x39, 0x6D, 0xAB, + 0x0C, 0xC6, 0x94, 0xDA, 0x77, 0x2B, 0xB6, 0xDC, 0x00, 0x8D, 0x25, 0x15, 0xFC, 0xC3, 0x8E, 0xD0, + 0x58, 0xD6, 0x47, 0xE3, 0x2B, 0x57, 0x98, 0xE5, 0xB7, 0x80, 0x4F, 0x80, 0x96, 0x1F, 0x27, 0x33, + 0xB4, 0x36, 0x46, 0x82, 0x4E, 0x37, 0xDE, 0xA1, 0xA5, 0xF6, 0xFC, 0xD5, 0xE3, 0x9D, 0x60, 0x15, + 0x4F, 0xBA, 0x1F, 0xBC, 0x12, 0x95, 0xF7, 0x8D, 0x99, 0x8B, 0xBD, 0xF5, 0x83, 0x8A, 0x12, 0xE9, + 0xC6, 0x4B, 0xEC, 0x85, 0xDA, 0x99, 0x1F, 0x88, 0xB7, 0xCD, 0xEC, 0x04, 0x35, 0x36, 0xF3, 0x7E, + 0x20, 0xE3, 0x4A, 0xEF, 0x1B, 0xAF, 0xE9, 0xCC, 0x09, 0x02, 0x3F, 0x58, 0x1B, 0x32, 0x41, 0xA7, + 0x1B, 0x2F, 0x5A, 0xAF, 0xD8, 0xD1, 0x4E, 0xE0, 0x8A, 0x67, 0xDD, 0x0F, 0x62, 0x89, 0xCE, 0xFB, + 0x06, 0x6D, 0x61, 0xBB, 0xCE, 0x7C, 0x6D, 0xC8, 0x18, 0x95, 0x6E, 0xBC, 0x6F, 0x3D, 0x83, 0x7F, + 0x77, 0x02, 0x17, 0x9F, 0x71, 0x3F, 0x60, 0x09, 0x6D, 0xF7, 0x0D, 0x95, 0x65, 0x2E, 0xD7, 0x06, + 0x0A, 0x68, 0x74, 0xE3, 0xE9, 0xD9, 0x07, 0xAD, 0xF1, 0xD4, 0x5F, 0x7A, 0xF4, 0xC6, 0x3F, 0xED, + 0xFC, 0x75, 0x73, 0x27, 0x88, 0xD1, 0xA9, 0xF7, 0x83, 0x17, 0x53, 0x7A, 0xDF, 0x68, 0xB1, 0xBB, + 0x8F, 0xC7, 0x68, 0xFD, 0x74, 0x18, 0x13, 0xD2, 0x7B, 0x5F, 0xE0, 0x48, 0x7B, 0x82, 0x76, 0x93, + 0x10, 0x93, 0x79, 0x77, 0xD1, 0xB4, 0xA7, 0x4A, 0xEE, 0x1B, 0x27, 0x1B, 0x99, 0xF8, 0xA3, 0x85, + 0xC9, 0x26, 0x37, 0x5E, 0x48, 0xB4, 0xBA, 0xF1, 0x0C, 0xBE, 0x68, 0x4F, 0xD9, 0x97, 0x5D, 0xB5, + 0x1C, 0xF2, 0xFC, 0xBB, 0x40, 0x2D, 0xA3, 0xEF, 0x37, 0x01, 0x1C, 0x34, 0x78, 0xFE, 0xC4, 0xDB, + 0xE8, 0x7E, 0xEA, 0x0C, 0xB9, 0x80, 0xEF, 0x1D, 0xFF, 0xBE, 0x5B, 0x00, 0x53, 0x21, 0x76, 0x86, + 0xA1, 0xA4, 0xF7, 0x2E, 0x60, 0x8C, 0x9F, 0x49, 0x60, 0xDB, 0x02, 0xFC, 0xE5, 0x4F, 0x55, 0x48, + 0x89, 0x57, 0xC2, 0xB0, 0xAD, 0x1B, 0x4C, 0x5A, 0x21, 0x71, 0x5C, 0x57, 0x37, 0x9E, 0x63, 0xA2, + 0x5D, 0xD0, 0xC3, 0xE1, 0x11, 0x1F, 0x50, 0x9F, 0x8B, 0xB8, 0xE1, 0x9F, 0xBE, 0x76, 0x0D, 0xCD, + 0x74, 0xE3, 0x82, 0xBE, 0x16, 0x0B, 0x78, 0xD1, 0x6F, 0xEB, 0x33, 0x63, 0x46, 0xC4, 0x5E, 0xE0, + 0x83, 0x50, 0x09, 0x48, 0xE2, 0xED, 0x24, 0xBA, 0x16, 0x1F, 0x49, 0xBF, 0x19, 0xE7, 0x6C, 0xB0, + 0x46, 0xBD, 0xAC, 0x7A, 0x3A, 0x7A, 0x15, 0xD6, 0x2C, 0xBE, 0x58, 0x3B, 0x3C, 0xF2, 0x90, 0xC2, + 0xDC, 0x05, 0x28, 0x0C, 0xF9, 0xFB, 0xD4, 0x0A, 0x58, 0x25, 0x0F, 0x53, 0x30, 0x4B, 0xA4, 0x0F, + 0x26, 0x25, 0x6A, 0xE5, 0x1F, 0x58, 0x12, 0x1B, 0xB6, 0xF5, 0x82, 0x96, 0x3D, 0x7A, 0x24, 0xEA, + 0x21, 0x3D, 0x4C, 0xCC, 0xFF, 0x9F, 0x7F, 0x57, 0xF9, 0x0C, 0x7D, 0xDB, 0x5D, 0x2A, 0x98, 0xAE, + 0x85, 0x81, 0x39, 0xD2, 0x8B, 0x1E, 0xCD, 0x28, 0xD0, 0xFC, 0x48, 0xA5, 0x7A, 0x6E, 0xB0, 0xC2, + 0xD6, 0xC3, 0xD0, 0x0C, 0x9C, 0x39, 0x31, 0x6E, 0x59, 0xBE, 0x19, 0xCD, 0xB0, 0x47, 0xDA, 0xC8, + 0xB2, 0xCE, 0x17, 0x70, 0xF0, 0xD2, 0x09, 0x09, 0x06, 0x2B, 0x34, 0x0E, 0x9E, 0xBE, 0x79, 0x75, + 0xC6, 0x1F, 0x51, 0x79, 0xE9, 0x23, 0x0B, 0x5B, 0x07, 0x87, 0x9A, 0x1D, 0x79, 0xDC, 0xCD, 0x1B, + 0x98, 0x8E, 0xE5, 0x6F, 0x1A, 0x5C, 0xA0, 0x40, 0x1B, 0xA3, 0x10, 0xBF, 0xF0, 0x43, 0xA2, 0x8D, + 0xB4, 0x84, 0xA3, 0xEB, 0x9B, 0xEC, 0xF6, 0xC5, 0xB6, 0x1F, 0x38, 0x13, 0xC7, 0x13, 0x23, 0xB9, + 0xB2, 0xBF, 0x05, 0x2E, 0x0C, 0x4D, 0xA8, 0x7E, 0xD4, 0x0E, 0x06, 0xA7, 0xDD, 0x03, 0xFA, 0x34, + 0x11, 0xC0, 0x00, 0x3F, 0x00, 0x04, 0x18, 0x06, 0x40, 0x80, 0x8F, 0x0C, 0xF1, 0x38, 0x11, 0x76, + 0xDB, 0xCC, 0xE4, 0x54, 0x40, 0x2A, 0x6D, 0xE3, 0x80, 0xE3, 0x74, 0x40, 0x1F, 0xAD, 0xBB, 0x4E, + 0x28, 0xC3, 0xA9, 0xBF, 0x2C, 0xA3, 0x0C, 0xF0, 0xCC, 0x5F, 0xE0, 0x1C, 0x71, 0x42, 0x2D, 0xBC, + 0xB9, 0x72, 0xEA, 0xD8, 0xEB, 0x0F, 0x9A, 0xF1, 0x80, 0xE4, 0xCD, 0x3D, 0x23, 0x8D, 0x04, 0x11, + 0xCE, 0xB2, 0xC5, 0x5E, 0x15, 0xD7, 0x58, 0xAC, 0x52, 0xC6, 0x36, 0x72, 0xC3, 0x1C, 0xE7, 0x68, + 0x6E, 0x21, 0x82, 0xDF, 0xD3, 0xDD, 0x5D, 0x18, 0xD0, 0xC0, 0xEE, 0x21, 0xDF, 0xEA, 0x3D, 0x14, + 0x67, 0xDE, 0x01, 0x5F, 0x82, 0x9B, 0xE9, 0xAC, 0xF2, 0xCF, 0x40, 0x91, 0xFD, 0x3A, 0xD2, 0xBC, + 0x08, 0x42, 0xF8, 0x11, 0x53, 0x41, 0x1B, 0x64, 0xCE, 0x32, 0x6A, 0x17, 0xB2, 0x93, 0x78, 0x4B, + 0x31, 0x9B, 0x93, 0xFD, 0xE8, 0xD8, 0x74, 0xE2, 0x36, 0x7B, 0x67, 0xF2, 0x08, 0x78, 0x1C, 0xC4, + 0xD9, 0xFD, 0x20, 0x7D, 0x15, 0xA5, 0x4C, 0xC4, 0xEC, 0xD0, 0x16, 0x7D, 0xB0, 0x38, 0xBF, 0x10, + 0x27, 0x6E, 0xDF, 0x5E, 0x24, 0x7C, 0x35, 0x69, 0x18, 0x9C, 0x4A, 0x4F, 0x5C, 0xC3, 0x09, 0xE9, + 0x79, 0xBF, 0x55, 0xDE, 0x39, 0x1E, 0x31, 0x73, 0x89, 0xC3, 0xAD, 0x44, 0xF2, 0x8C, 0x05, 0xEE, + 0xDD, 0xCB, 0x72, 0xBB, 0x3D, 0x12, 0x54, 0xA9, 0x26, 0x7C, 0x3C, 0x44, 0x06, 0x44, 0x1E, 0xA8, + 0x2D, 0x9E, 0x02, 0x15, 0x22, 0x39, 0x76, 0xE3, 0x76, 0xC6, 0xF0, 0x89, 0x8C, 0x36, 0x35, 0x91, + 0x63, 0x31, 0x03, 0xB1, 0x7B, 0x20, 0x9A, 0xE9, 0x53, 0x72, 0x5C, 0xBE, 0x47, 0xCC, 0xEB, 0x1B, + 0x58, 0x5C, 0x1D, 0x6D, 0x82, 0xFD, 0xA9, 0x33, 0xA7, 0x3F, 0x88, 0xF1, 0xE9, 0x54, 0x32, 0xC7, + 0x49, 0x86, 0x23, 0x55, 0x2C, 0x27, 0x37, 0xFD, 0x30, 0x7E, 0xF4, 0x3A, 0x81, 0xB8, 0x56, 0x21, + 0x3F, 0x95, 0xCA, 0x26, 0x07, 0x36, 0xF4, 0x5A, 0x46, 0xFA, 0x7B, 0xCE, 0xD4, 0xC9, 0xC0, 0x02, + 0x26, 0x6C, 0x82, 0x55, 0x26, 0xA5, 0x92, 0xC7, 0x37, 0x8A, 0x29, 0x0C, 0xC2, 0xD8, 0x2D, 0xC7, + 0xD4, 0x14, 0x6C, 0x56, 0x38, 0x2C, 0x63, 0x95, 0x2B, 0xFC, 0x0A, 0x86, 0x3C, 0x10, 0x1B, 0xBC, + 0xAE, 0x3D, 0x61, 0x35, 0x8A, 0x32, 0x17, 0x31, 0x96, 0xFD, 0xFD, 0x96, 0x2C, 0xFC, 0x75, 0x1C, + 0x76, 0x49, 0x0A, 0x94, 0xFD, 0x80, 0xFA, 0x7F, 0x6C, 0x69, 0x1A, 0x22, 0xA9, 0xA3, 0x89, 0x07, + 0xFB, 0xE3, 0xF8, 0x48, 0xE1, 0x30, 0x21, 0xF7, 0x49, 0x91, 0x32, 0xC8, 0x89, 0x2A, 0x87, 0x08, + 0xC8, 0xDD, 0xD5, 0xE4, 0x47, 0xF5, 0xC7, 0x90, 0x42, 0x3F, 0x67, 0xF8, 0xB0, 0x8B, 0x32, 0x09, + 0x13, 0xFE, 0x1B, 0xBF, 0xCD, 0xA9, 0xE5, 0x7B, 0x58, 0xCD, 0x5D, 0x0E, 0x12, 0x15, 0x4F, 0x5E, + 0xC2, 0xF3, 0x4C, 0xA3, 0xF1, 0xCC, 0x21, 0x0A, 0x86, 0x07, 0x90, 0xBE, 0x55, 0xBC, 0x44, 0x63, + 0x97, 0x12, 0x04, 0x98, 0x44, 0x81, 0x27, 0x47, 0x21, 0xCF, 0x64, 0x7F, 0x47, 0x38, 0xB8, 0x02, + 0x46, 0x9F, 0xEE, 0x7E, 0x89, 0xEB, 0xC2, 0xF5, 0x11, 0x7B, 0x34, 0xC1, 0x77, 0x1F, 0x41, 0xE5, + 0x18, 0xDD, 0xFD, 0xC2, 0xA0, 0xBE, 0xBE, 0x07, 0x53, 0xC2, 0x17, 0x36, 0xF1, 0xF5, 0x27, 0xCE, + 0xC2, 0xA6, 0x2F, 0x9A, 0x6D, 0x30, 0x16, 0x31, 0x6E, 0x6D, 0x32, 0xC5, 0x5E, 0x23, 0xC0, 0xE1, + 0x1C, 0xD8, 0xE3, 0x34, 0x01, 0xC6, 0x33, 0xFA, 0x2E, 0x86, 0x12, 0x35, 0x69, 0x7C, 0x0A, 0x30, + 0xD0, 0x81, 0x00, 0xC4, 0xD7, 0xEE, 0x7E, 0x61, 0x2C, 0xAE, 0x35, 0x1B, 0xB2, 0x40, 0x38, 0xC5, + 0xD6, 0x21, 0xD4, 0x2B, 0x44, 0xE8, 0x13, 0xB8, 0x77, 0xBF, 0xC4, 0xAC, 0xDA, 0xFC, 0xA7, 0xEB, + 0x4F, 0x89, 0x87, 0x24, 0x45, 0x24, 0xAE, 0x7D, 0xEC, 0x44, 0x9B, 0xF1, 0xBA, 0x60, 0x28, 0xF8, + 0xC1, 0x63, 0xD7, 0x6D, 0x1C, 0xF0, 0x07, 0x95, 0x45, 0x6E, 0x6F, 0x43, 0xB3, 0x7A, 0x8E, 0x40, + 0x6C, 0xB9, 0x28, 0xB0, 0x7C, 0xE5, 0x7B, 0xA6, 0xEB, 0x98, 0x9F, 0x69, 0x42, 0x6F, 0x66, 0x05, + 0xE7, 0x19, 0xC2, 0x6D, 0xF3, 0x17, 0xCF, 0xBC, 0xF6, 0x2D, 0x9C, 0x73, 0xD3, 0x26, 0x15, 0xE3, + 0xE8, 0x08, 0xAC, 0x8C, 0xAC, 0x38, 0x95, 0x71, 0x8C, 0xE8, 0x1B, 0x0A, 0xB8, 0x99, 0x32, 0x16, + 0xE6, 0xCA, 0x08, 0x5D, 0xB8, 0xCD, 0xD2, 0x2A, 0x1F, 0xAB, 0x9C, 0xBA, 0x2D, 0x47, 0x4F, 0x4B, + 0x6C, 0xF1, 0x57, 0xE8, 0x7B, 0x8D, 0xE6, 0xAD, 0xC4, 0x0C, 0xAB, 0x3C, 0xE8, 0x04, 0x12, 0x83, + 0x8C, 0x89, 0x8A, 0xCC, 0x94, 0x5D, 0x0D, 0x1C, 0xA4, 0x99, 0xA4, 0xC0, 0x66, 0xF4, 0x23, 0x55, + 0x42, 0x56, 0x06, 0xD9, 0xBC, 0x7F, 0x30, 0x97, 0xF9, 0xF3, 0x90, 0x97, 0x4E, 0x29, 0x23, 0x35, + 0x25, 0x73, 0x71, 0xFF, 0xA3, 0xAF, 0xE8, 0x97, 0xDB, 0x17, 0xE8, 0xC9, 0xCF, 0x5D, 0x4C, 0x0F, + 0x9F, 0x5C, 0xFD, 0x0C, 0x25, 0x9F, 0x37, 0x2E, 0x4C, 0x96, 0x94, 0xE0, 0x2C, 0x69, 0x1A, 0x2B, + 0x29, 0xD3, 0x06, 0x53, 0xE2, 0xC1, 0x9A, 0x7E, 0x9E, 0x6F, 0xCA, 0x38, 0x24, 0xEB, 0x83, 0x0C, + 0x29, 0xE5, 0x5A, 0x4D, 0x9B, 0x59, 0x15, 0x48, 0xF4, 0x72, 0xAE, 0x2B, 0xA3, 0x97, 0x16, 0x02, + 0x12, 0x35, 0x73, 0xE4, 0x6A, 0x62, 0xB9, 0x25, 0x3E, 0x90, 0x8C, 0x1D, 0x12, 0x7F, 0xCE, 0x57, + 0x26, 0x39, 0x27, 0x5F, 0x3A, 0x9E, 0xE5, 0x2F, 0xDB, 0xF4, 0x7C, 0x43, 0x94, 0x56, 0x59, 0xD1, + 0xB6, 0xE3, 0x81, 0x01, 0x5F, 0xFC, 0xFA, 0xEA, 0x25, 0x4D, 0x39, 0xF2, 0x0A, 0xE7, 0x20, 0xDB, + 0x17, 0xB1, 0x77, 0x02, 0x2B, 0x67, 0xA0, 0xB0, 0xB5, 0xA1, 0xD5, 0xE6, 0xA9, 0x26, 0x69, 0x47, + 0x69, 0x24, 0xD0, 0xC3, 0x4F, 0x7C, 0x4E, 0x5A, 0x78, 0x32, 0x00, 0x37, 0x2B, 0x65, 0xF1, 0xE7, + 0x79, 0x51, 0x20, 0x0E, 0x1F, 0x13, 0x02, 0xEE, 0xAA, 0x71, 0x47, 0x0E, 0x69, 0x8E, 0x11, 0xAB, + 0xC3, 0x5B, 0x9A, 0x0C, 0x7E, 0x41, 0xC8, 0xA7, 0x66, 0x12, 0x31, 0x96, 0x15, 0x5E, 0xCA, 0x93, + 0x68, 0x0E, 0x71, 0x89, 0x1F, 0x7D, 0x34, 0xC7, 0x90, 0x1A, 0x9F, 0x82, 0xE7, 0xB7, 0x3D, 0xD0, + 0xA0, 0x79, 0x5D, 0xA6, 0x0E, 0x37, 0x57, 0x0A, 0x64, 0x5D, 0x21, 0x58, 0x12, 0x52, 0x73, 0xCB, + 0xD8, 0x47, 0xCD, 0x4E, 0xF6, 0xDE, 0x73, 0x2F, 0x6E, 0x6D, 0x8B, 0x0C, 0x3B, 0x5A, 0x35, 0x2D, + 0xEF, 0x6E, 0x32, 0x0C, 0xD2, 0xF4, 0xB2, 0x22, 0x6C, 0xAE, 0x81, 0x91, 0xFC, 0x22, 0x1E, 0x10, + 0xCB, 0x2E, 0x07, 0x44, 0x81, 0xEC, 0xD9, 0xDE, 0x2F, 0xD7, 0x2C, 0xE4, 0x20, 0x17, 0x39, 0x4C, + 0xA3, 0x2F, 0x2A, 0x98, 0xD2, 0xF2, 0x2C, 0x9C, 0xA0, 0x4E, 0x99, 0x50, 0xE6, 0xBF, 0xD2, 0x7A, + 0xC1, 0x67, 0x88, 0xA5, 0xCD, 0xF7, 0xA8, 0xD9, 0xDA, 0x70, 0x16, 0x81, 0x95, 0x66, 0xB1, 0x4F, + 0xF2, 0xDF, 0x68, 0xC3, 0x96, 0x04, 0x0F, 0x34, 0x70, 0x65, 0x41, 0x0D, 0xA7, 0xA5, 0x4C, 0x20, + 0xBA, 0xBD, 0x0A, 0x02, 0xE9, 0xAE, 0x27, 0x89, 0x56, 0xEA, 0x22, 0x4B, 0xD3, 0x5F, 0xFE, 0x3E, + 0x1D, 0xC6, 0x02, 0xB8, 0xAE, 0x6A, 0xAE, 0xC0, 0x09, 0xC6, 0x35, 0x13, 0xB7, 0xA1, 0x44, 0xA2, + 0xAD, 0x92, 0x9C, 0xA6, 0xA0, 0x2D, 0x5E, 0x6D, 0x89, 0x73, 0xDE, 0x54, 0xD4, 0x0A, 0xAF, 0xB6, + 0xC1, 0xD7, 0x92, 0x83, 0xC4, 0xF7, 0x3F, 0xA6, 0x26, 0xC4, 0xE5, 0xF6, 0xC6, 0xB2, 0xBD, 0xE3, + 0xE5, 0x40, 0x05, 0x85, 0x7C, 0x9B, 0x26, 0x37, 0x17, 0xAE, 0x69, 0x2E, 0x2C, 0xCC, 0x45, 0x09, + 0xD2, 0x0E, 0xB4, 0x7A, 0x6D, 0x92, 0xF8, 0xFF, 0x87, 0x27, 0xA9, 0x66, 0xCB, 0x71, 0xA9, 0x9C, + 0xA2, 0xF7, 0x97, 0xD4, 0x2B, 0x27, 0xC8, 0x3C, 0xCB, 0xC1, 0xD5, 0x5A, 0x8E, 0xEB, 0xA9, 0x15, + 0xAF, 0x1D, 0x28, 0x41, 0xAA, 0x96, 0x7A, 0x85, 0x11, 0xAB, 0x92, 0xEC, 0x75, 0xB3, 0xFF, 0xDD, + 0x42, 0xF2, 0x66, 0x89, 0x44, 0x58, 0xBE, 0x51, 0x5C, 0x59, 0x3D, 0xF9, 0x30, 0x49, 0xC9, 0x64, + 0x8D, 0x52, 0x49, 0x9A, 0x8C, 0x94, 0xA8, 0x13, 0x39, 0x4A, 0xA9, 0xE3, 0x41, 0xBC, 0xEC, 0x26, + 0x5F, 0x6B, 0x19, 0x2B, 0x19, 0x9D, 0x06, 0x4E, 0xCA, 0x80, 0x77, 0xFC, 0x86, 0x76, 0x3F, 0xBF, + 0x26, 0xE6, 0xBD, 0x17, 0x57, 0x36, 0xD7, 0x71, 0xC9, 0x03, 0x12, 0x95, 0x32, 0x63, 0x92, 0x00, + 0xE1, 0xF4, 0x45, 0x62, 0x56, 0x8A, 0x82, 0x5C, 0x1C, 0x90, 0x86, 0xFE, 0xD6, 0xC5, 0x74, 0xBD, + 0x22, 0x9E, 0xC6, 0x39, 0xFB, 0xF9, 0x99, 0xE6, 0x07, 0x1A, 0x7F, 0xC1, 0x5D, 0x90, 0xBC, 0x5B, + 0x44, 0x13, 0x6F, 0x7F, 0x62, 0xAB, 0x42, 0x9A, 0x83, 0xC8, 0xD4, 0x09, 0xA1, 0x49, 0xA6, 0x4F, + 0xDE, 0xE2, 0xDB, 0x7A, 0xF2, 0x82, 0xA7, 0x4A, 0xF5, 0x78, 0x57, 0xFC, 0x53, 0xA2, 0x48, 0xCE, + 0x9C, 0x9C, 0x26, 0xB5, 0xE5, 0x6D, 0xA1, 0xE3, 0x4A, 0x22, 0x2A, 0x5B, 0x87, 0xAE, 0x61, 0xC2, + 0xE4, 0xF4, 0x37, 0x6B, 0x45, 0xB5, 0x02, 0x95, 0x86, 0x4C, 0xC8, 0x52, 0x5B, 0xA6, 0xBA, 0xAE, + 0x58, 0x53, 0xB5, 0xD8, 0x2F, 0x41, 0x94, 0xEE, 0x79, 0x29, 0xB3, 0x7C, 0x31, 0x2A, 0xDC, 0xE2, + 0xBC, 0xB0, 0xF2, 0xCF, 0xF0, 0x28, 0xDE, 0x59, 0xE5, 0xDF, 0xF8, 0xAB, 0x8B, 0x86, 0x47, 0xFC, + 0x7F, 0x22, 0xF6, 0x5F, 0x04, 0x9C, 0x39, 0x76, 0x5C, 0x6C, 0x00, 0x00 }; + + +//File: index_ov3660.html.gz, Size: 4408 +#define index_ov3660_html_gz_len 4408 +const uint8_t index_ov3660_html_gz[] = { + 0x1F, 0x8B, 0x08, 0x08, 0x28, 0x5C, 0xAE, 0x5C, 0x00, 0x03, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x5F, + 0x6F, 0x76, 0x33, 0x36, 0x36, 0x30, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x00, 0xE5, 0x5D, 0xEB, 0x92, + 0xD3, 0xC6, 0x12, 0xFE, 0xCF, 0x53, 0x08, 0x41, 0x58, 0x6F, 0x65, 0xED, 0xF5, 0x6D, 0xCD, 0xE2, + 0xD8, 0xE6, 0xC0, 0xB2, 0x84, 0x54, 0x01, 0x49, 0x20, 0x21, 0xA9, 0x4A, 0xA5, 0x60, 0x2C, 0x8D, + 0xED, 0x09, 0xB2, 0xE4, 0x48, 0x23, 0x7B, 0x37, 0xD4, 0x3E, 0xC7, 0x79, 0xA0, 0xF3, 0x62, 0xA7, + 0xE7, 0x22, 0x69, 0x24, 0x8F, 0x2E, 0xB6, 0x59, 0x9B, 0xC3, 0x31, 0x55, 0x20, 0x5B, 0xD3, 0x3D, + 0xDD, 0xFD, 0xF5, 0x6D, 0x46, 0x17, 0x06, 0x77, 0x6D, 0xCF, 0xA2, 0xD7, 0x0B, 0x6C, 0xCC, 0xE8, + 0xDC, 0x19, 0xDD, 0x19, 0x88, 0x7F, 0x0C, 0xF8, 0x0C, 0x66, 0x18, 0xD9, 0xE2, 0x90, 0x7F, 0x9D, + 0x63, 0x8A, 0x0C, 0x6B, 0x86, 0xFC, 0x00, 0xD3, 0xA1, 0x19, 0xD2, 0x49, 0xFD, 0xDC, 0xCC, 0x9E, + 0x76, 0xD1, 0x1C, 0x0F, 0xCD, 0x25, 0xC1, 0xAB, 0x85, 0xE7, 0x53, 0xD3, 0xB0, 0x3C, 0x97, 0x62, + 0x17, 0x86, 0xAF, 0x88, 0x4D, 0x67, 0x43, 0x1B, 0x2F, 0x89, 0x85, 0xEB, 0xFC, 0xCB, 0x09, 0x71, + 0x09, 0x25, 0xC8, 0xA9, 0x07, 0x16, 0x72, 0xF0, 0xB0, 0xA5, 0xF2, 0xA2, 0x84, 0x3A, 0x78, 0x74, + 0xF9, 0xF6, 0xA7, 0x4E, 0xDB, 0xF8, 0xF1, 0x5D, 0xA7, 0xD7, 0x6B, 0x0E, 0x4E, 0xC5, 0x6F, 0xC9, + 0x98, 0x80, 0x5E, 0xAB, 0xDF, 0xD9, 0x67, 0xEC, 0xD9, 0xD7, 0xC6, 0xA7, 0xD4, 0x4F, 0xEC, 0x33, + 0x01, 0x21, 0xEA, 0x13, 0x34, 0x27, 0xCE, 0x75, 0xDF, 0x78, 0xE2, 0xC3, 0x9C, 0x27, 0x2F, 0xB0, + 0xB3, 0xC4, 0x94, 0x58, 0xE8, 0x24, 0x40, 0x6E, 0x50, 0x0F, 0xB0, 0x4F, 0x26, 0xDF, 0xAD, 0x11, + 0x8E, 0x91, 0xF5, 0x71, 0xEA, 0x7B, 0xA1, 0x6B, 0xF7, 0x8D, 0x7B, 0xAD, 0x73, 0xF6, 0x67, 0x7D, + 0x90, 0xE5, 0x39, 0x9E, 0x0F, 0xE7, 0x2F, 0x9F, 0xB3, 0x3F, 0xEB, 0xE7, 0xF9, 0xEC, 0x01, 0xF9, + 0x07, 0xF7, 0x8D, 0x56, 0x6F, 0x71, 0x95, 0x3A, 0x7F, 0x73, 0x27, 0xF5, 0x75, 0xD6, 0xCE, 0x93, + 0x5E, 0xD2, 0x9F, 0x17, 0xD3, 0x07, 0xD8, 0xA2, 0xC4, 0x73, 0x1B, 0x73, 0x44, 0x5C, 0x0D, 0x27, + 0x9B, 0x04, 0x0B, 0x07, 0x81, 0x0D, 0x26, 0x0E, 0x2E, 0xE4, 0x73, 0x6F, 0x8E, 0xDD, 0xF0, 0xA4, + 0x84, 0x1B, 0x63, 0x52, 0xB7, 0x89, 0x2F, 0x46, 0xF5, 0x99, 0x1D, 0xC2, 0xB9, 0x5B, 0xCA, 0xB6, + 0x48, 0x2E, 0xD7, 0x73, 0xB1, 0xC6, 0x80, 0x6C, 0xA2, 0x95, 0x8F, 0x16, 0x6C, 0x00, 0xFB, 0x77, + 0x7D, 0xC8, 0x9C, 0xB8, 0xC2, 0xA9, 0xFA, 0x46, 0xA7, 0xDB, 0x5C, 0x5C, 0x95, 0x40, 0xD9, 0xE9, + 0xB1, 0x3F, 0xEB, 0x83, 0x16, 0xC8, 0xB6, 0x89, 0x3B, 0xED, 0x1B, 0xE7, 0x5A, 0x16, 0x9E, 0x6F, + 0x63, 0xBF, 0xEE, 0x23, 0x9B, 0x84, 0x41, 0xDF, 0xE8, 0xEA, 0xC6, 0xCC, 0x91, 0x3F, 0x05, 0x59, + 0xA8, 0x07, 0xC2, 0xD6, 0x5B, 0x5A, 0x49, 0xE4, 0x10, 0x9F, 0x4C, 0x67, 0x14, 0x20, 0x5D, 0x1B, + 0x93, 0x35, 0x9A, 0x0C, 0xA1, 0x32, 0x3C, 0x0B, 0xED, 0xA6, 0xB7, 0x1A, 0x72, 0xC8, 0xD4, 0xAD, + 0x13, 0x8A, 0xE7, 0xA0, 0x4E, 0x40, 0x7D, 0x4C, 0xAD, 0x59, 0x91, 0x28, 0x13, 0x32, 0x0D, 0x7D, + 0xAC, 0x11, 0x24, 0xB6, 0x5B, 0x81, 0xC2, 0x70, 0x72, 0xFD, 0x54, 0x7D, 0x85, 0xC7, 0x1F, 0x09, + 0xAD, 0x4B, 0x9B, 0x8C, 0xF1, 0xC4, 0xF3, 0xB1, 0x76, 0x64, 0x34, 0xC2, 0xF1, 0xAC, 0x8F, 0xF5, + 0x80, 0x22, 0x9F, 0x56, 0x61, 0x88, 0x26, 0x14, 0xFB, 0xE5, 0xFC, 0x30, 0xF3, 0x8A, 0x72, 0x6E, + 0xF9, 0xD3, 0xCA, 0x01, 0xC4, 0x75, 0x88, 0x8B, 0xAB, 0x8B, 0x97, 0x37, 0x6F, 0x9A, 0x9D, 0x18, + 0x55, 0x01, 0x18, 0x32, 0x9F, 0x16, 0x79, 0x09, 0xD7, 0x75, 0x7D, 0x32, 0x19, 0x37, 0xAD, 0x66, + 0xF3, 0x9B, 0xF5, 0x93, 0x33, 0x2C, 0xDC, 0x14, 0x85, 0xD4, 0xDB, 0x3D, 0x22, 0xD6, 0xC2, 0x2A, + 0xA3, 0xC7, 0xBF, 0xE6, 0xD8, 0x26, 0xC8, 0xA8, 0x29, 0xE1, 0x7C, 0xDE, 0x04, 0x9F, 0x3A, 0x36, + 0x90, 0x6B, 0x1B, 0x35, 0xCF, 0x27, 0x10, 0x08, 0x88, 0xA7, 0x1B, 0x07, 0x7E, 0x81, 0xC2, 0xB1, + 0xC0, 0xC7, 0x1A, 0x95, 0x0B, 0x62, 0x46, 0xB5, 0x88, 0x3E, 0x6C, 0xD8, 0xA7, 0x42, 0xCA, 0x61, + 0x9F, 0xD2, 0x00, 0xD2, 0xE8, 0xC8, 0xD9, 0x17, 0xE1, 0xA5, 0x4A, 0x98, 0x87, 0x19, 0xFB, 0xCC, + 0xD1, 0x55, 0xBD, 0x10, 0xBB, 0x68, 0x50, 0x84, 0x21, 0x94, 0x59, 0xAB, 0x06, 0x43, 0x97, 0x33, + 0xA3, 0x6E, 0xB0, 0x2C, 0x79, 0xAC, 0xA7, 0x91, 0x4C, 0xF5, 0x90, 0xB3, 0x8F, 0xEA, 0x14, 0x1B, + 0xA8, 0xAB, 0x57, 0x35, 0xC9, 0x1D, 0xE2, 0x8F, 0xCE, 0x87, 0x84, 0x26, 0xB9, 0x59, 0x84, 0x7D, + 0xAA, 0x67, 0x92, 0x84, 0x59, 0x69, 0x36, 0xD1, 0x30, 0xCE, 0xCF, 0x28, 0x6B, 0x7C, 0xF3, 0xA2, + 0x5B, 0xC3, 0xB5, 0x58, 0x84, 0xAA, 0xD9, 0x45, 0xC3, 0xB8, 0x48, 0x86, 0xD2, 0x2C, 0xC3, 0x3E, + 0x37, 0x15, 0xFA, 0x8D, 0x7B, 0xE3, 0x90, 0x52, 0xCF, 0x0D, 0x76, 0x2A, 0x51, 0x79, 0x71, 0xF6, + 0x57, 0x18, 0x50, 0x32, 0xB9, 0xAE, 0xCB, 0x90, 0x86, 0x38, 0x5B, 0x20, 0x68, 0x21, 0xC7, 0x98, + 0xAE, 0x30, 0x2E, 0x6E, 0x37, 0x5C, 0xB4, 0x84, 0xBC, 0x33, 0x9D, 0x3A, 0x3A, 0xDF, 0xB3, 0x42, + 0x3F, 0x60, 0x7D, 0xDB, 0xC2, 0x23, 0xC0, 0xD8, 0x5F, 0x9F, 0x38, 0x1D, 0x83, 0x15, 0x27, 0xAA, + 0x5B, 0x63, 0xCD, 0x5C, 0x5E, 0x48, 0x99, 0x8D, 0xB5, 0x48, 0x78, 0xA0, 0x0E, 0xA1, 0xD7, 0xDA, + 0x73, 0x32, 0x12, 0x35, 0x67, 0xA2, 0x10, 0x2C, 0x2C, 0x0B, 0x69, 0xB9, 0xFA, 0xD6, 0x0C, 0x5B, + 0x1F, 0xB1, 0xFD, 0x6D, 0x69, 0x1B, 0x56, 0xD6, 0x1E, 0x36, 0x88, 0xBB, 0x08, 0x69, 0x9D, 0xB5, + 0x53, 0x8B, 0x5B, 0xC1, 0x9C, 0x3B, 0x64, 0xA4, 0x62, 0xBB, 0x5D, 0xD4, 0x54, 0x9C, 0x2D, 0xAE, + 0x8A, 0x8D, 0xA0, 0x0A, 0x3B, 0x72, 0xD0, 0x18, 0x3B, 0x45, 0x22, 0xCB, 0x60, 0xC8, 0x49, 0xBB, + 0x32, 0x57, 0xE5, 0xF7, 0x6E, 0x5C, 0xB2, 0xA4, 0x78, 0x75, 0x1F, 0x7E, 0x53, 0xD9, 0x8E, 0xFC, + 0xF8, 0x24, 0xF5, 0x53, 0x80, 0x1D, 0x08, 0xB0, 0xBC, 0xD6, 0x1B, 0xC6, 0xAC, 0x40, 0x86, 0xC2, + 0x09, 0x7C, 0xE4, 0x4E, 0x31, 0xE4, 0x82, 0xAB, 0x93, 0xE8, 0xB0, 0x78, 0x61, 0x50, 0x49, 0x7D, + 0x96, 0xAA, 0xCF, 0x8A, 0x17, 0x22, 0x22, 0x21, 0x6C, 0xD1, 0x8C, 0x28, 0xB0, 0x16, 0xCE, 0xDF, + 0xD2, 0x3A, 0x85, 0xE8, 0x47, 0xB4, 0x01, 0x93, 0x76, 0x29, 0x6D, 0x7F, 0x5F, 0x9A, 0x11, 0xA2, + 0x95, 0xDE, 0x64, 0x52, 0xB6, 0x56, 0x9C, 0x4C, 0x3A, 0xCD, 0x4E, 0xB7, 0xB4, 0x61, 0xD2, 0x6A, + 0x99, 0x59, 0x2F, 0x6A, 0x32, 0x46, 0x9C, 0x4D, 0xCA, 0x21, 0xE8, 0xCF, 0xBC, 0x25, 0xF6, 0x35, + 0x40, 0x64, 0xC4, 0xED, 0x3E, 0xEA, 0xDA, 0x15, 0xB8, 0x21, 0xC8, 0xF7, 0x4B, 0x5D, 0x36, 0x4D, + 0xB3, 0x6B, 0xB7, 0xAC, 0x76, 0xA1, 0x63, 0x0A, 0x76, 0x0D, 0xF0, 0x06, 0x34, 0x76, 0xB0, 0x5D, + 0x90, 0x9E, 0x6D, 0x3C, 0x41, 0xA1, 0x43, 0x4B, 0xEC, 0x8D, 0x9A, 0xEC, 0x4F, 0xD1, 0x8C, 0x3C, + 0xAE, 0xFE, 0x60, 0x1B, 0x1D, 0x43, 0x1E, 0x09, 0x7F, 0x6A, 0xE6, 0x8C, 0x6A, 0x27, 0x5A, 0x2C, + 0x30, 0x82, 0x51, 0x16, 0xCE, 0x5B, 0x92, 0x56, 0xEA, 0x99, 0xF5, 0x89, 0xAB, 0xD2, 0x42, 0xB4, + 0xD4, 0x15, 0xE3, 0x6E, 0x68, 0x23, 0x9D, 0xFB, 0x13, 0xCF, 0x0A, 0x75, 0x65, 0xBA, 0x9A, 0x4B, + 0xAD, 0xF3, 0xEB, 0x47, 0x26, 0x0B, 0x1C, 0xC2, 0x1D, 0x3B, 0x74, 0x5D, 0x86, 0x68, 0x9D, 0xFA, + 0xA0, 0xA6, 0x66, 0xA2, 0x6A, 0x86, 0xDB, 0x2A, 0x3A, 0x53, 0x86, 0xCD, 0xDB, 0x8C, 0xC9, 0x04, + 0xA0, 0x26, 0x51, 0xC4, 0x39, 0xC4, 0x08, 0x3C, 0x50, 0x2A, 0x62, 0xB5, 0x9B, 0x5D, 0xE8, 0x2C, + 0x9C, 0xEB, 0x1A, 0x83, 0x68, 0xB2, 0x16, 0x54, 0x31, 0x31, 0x9D, 0x3F, 0x1D, 0xA3, 0x5A, 0xF3, + 0xA4, 0x79, 0xD2, 0x81, 0xBF, 0x34, 0x0D, 0x7A, 0xB1, 0x73, 0x49, 0xF3, 0xE6, 0x78, 0x5E, 0x26, + 0xF9, 0x94, 0xEF, 0x93, 0xE4, 0xA5, 0xB1, 0x52, 0x2C, 0xAA, 0x47, 0x52, 0x7A, 0xC3, 0xA4, 0xD5, + 0x28, 0x29, 0x2C, 0x39, 0x2E, 0xBD, 0xB9, 0x23, 0x6A, 0xBC, 0x65, 0x53, 0x88, 0xE7, 0xDE, 0x3F, + 0x75, 0x51, 0x55, 0xFF, 0xEF, 0xBD, 0x5D, 0x31, 0xC5, 0x57, 0xED, 0xE9, 0x1B, 0xDB, 0x25, 0x38, + 0xB4, 0x6F, 0x34, 0xF3, 0x51, 0xAF, 0xCB, 0x7E, 0x06, 0x24, 0x74, 0x61, 0x51, 0xE5, 0xC3, 0xEA, + 0x2A, 0xB7, 0xE7, 0x51, 0xC6, 0x6C, 0x61, 0x83, 0x09, 0x71, 0x9C, 0xBA, 0xE3, 0xAD, 0xCA, 0x3B, + 0x91, 0x62, 0x4F, 0x5E, 0xF3, 0xD3, 0x72, 0x97, 0xDF, 0x56, 0xDA, 0x10, 0x32, 0xD7, 0xFF, 0x84, + 0xB4, 0x5F, 0x77, 0xC0, 0x15, 0x86, 0xC6, 0x76, 0x85, 0x62, 0x0B, 0x7F, 0xDC, 0x6D, 0xA2, 0x4A, + 0xAE, 0x24, 0x3A, 0xC1, 0xC2, 0xC5, 0x5C, 0xB0, 0x22, 0xD4, 0x9A, 0x6D, 0xB1, 0xA8, 0x5A, 0x78, + 0x01, 0x11, 0xD7, 0x68, 0x7C, 0xEC, 0x20, 0xD6, 0xC1, 0x6F, 0xB5, 0xE4, 0x2E, 0x5D, 0x98, 0xA8, + 0xE4, 0x55, 0x34, 0xE1, 0xA6, 0xFB, 0x72, 0xB6, 0x4B, 0x1A, 0xA2, 0x77, 0xC8, 0xCF, 0xD5, 0x7A, + 0xB7, 0x2E, 0x69, 0xF7, 0xD3, 0x91, 0xA1, 0x1F, 0xB4, 0x41, 0x46, 0x8F, 0x92, 0xF6, 0xD4, 0xC7, + 0xD7, 0x15, 0x94, 0x39, 0x91, 0xFF, 0xF6, 0xC5, 0x86, 0xE8, 0xF6, 0x6B, 0x7F, 0x5E, 0x00, 0xA4, + 0x17, 0x35, 0xBA, 0x41, 0x85, 0xA9, 0xF3, 0xA7, 0xAC, 0xE2, 0x8F, 0xF1, 0x76, 0x9F, 0x69, 0x56, + 0x48, 0x37, 0x05, 0x25, 0x54, 0xEF, 0xAA, 0x51, 0xF5, 0xD5, 0x9E, 0x74, 0xF0, 0x84, 0xE6, 0x5C, + 0xCD, 0xE0, 0x7D, 0x6A, 0xA7, 0x38, 0xBB, 0xD5, 0x95, 0x7D, 0x82, 0xD2, 0xCC, 0x11, 0xEF, 0xCA, + 0xE5, 0x7B, 0x9F, 0x96, 0x33, 0xCB, 0x9E, 0x1B, 0x33, 0xCF, 0x87, 0x24, 0x6A, 0x9F, 0x39, 0xCC, + 0x30, 0x66, 0x2E, 0x4B, 0x3E, 0xC0, 0x83, 0x7F, 0xAF, 0xB5, 0x7B, 0xDA, 0x8B, 0x05, 0x05, 0x83, + 0x8B, 0x44, 0xCB, 0xDD, 0xD6, 0x5A, 0x2F, 0x59, 0xB9, 0x0B, 0x64, 0x35, 0x17, 0x69, 0x81, 0x2A, + 0x8E, 0xCA, 0xA2, 0x0C, 0xB3, 0xBE, 0x47, 0x53, 0xE8, 0xEC, 0x64, 0x8E, 0xA0, 0xED, 0x65, 0xEE, + 0x8A, 0x80, 0xA3, 0x0E, 0xBF, 0x2A, 0xEE, 0xAE, 0x6C, 0x1A, 0xB6, 0x7A, 0xCD, 0x92, 0x29, 0x2D, + 0xC7, 0x0B, 0x8A, 0xE3, 0x0A, 0x8D, 0xC1, 0x7E, 0x21, 0xD5, 0x4C, 0x24, 0xB7, 0x2E, 0xB5, 0x3B, + 0x4F, 0xDC, 0xB9, 0xB5, 0x67, 0x2A, 0x95, 0xEE, 0xC2, 0x98, 0x2A, 0x0E, 0xC7, 0x8C, 0xCD, 0x5B, + 0x4D, 0x6D, 0xA6, 0x2D, 0xDC, 0x7F, 0xA3, 0xF8, 0x0A, 0xD6, 0x9B, 0xEC, 0x82, 0x5C, 0xDF, 0xB0, + 0xB0, 0x3E, 0x8D, 0xA6, 0x8A, 0x5C, 0xAB, 0xCA, 0x26, 0x60, 0x21, 0x0E, 0x33, 0x62, 0xDB, 0xB8, + 0x70, 0x97, 0x93, 0xAD, 0x79, 0x2B, 0x36, 0x0F, 0x4C, 0x7E, 0xDD, 0xA6, 0xD4, 0xAD, 0x04, 0x45, + 0xE1, 0x75, 0xFA, 0xD6, 0x6D, 0x47, 0x8C, 0x2C, 0x34, 0x79, 0x7B, 0xC4, 0xE9, 0x56, 0xA4, 0x50, + 0x54, 0x6D, 0x70, 0xC7, 0xDB, 0xC4, 0xCC, 0x64, 0x60, 0x07, 0x36, 0x6A, 0x3D, 0x9B, 0x2B, 0x52, + 0x0D, 0x4E, 0x95, 0x7B, 0x89, 0x06, 0xA7, 0xC9, 0x6D, 0x4F, 0x03, 0x76, 0x43, 0x91, 0x7A, 0xCB, + 0x91, 0xB8, 0xDE, 0x65, 0x58, 0x0E, 0x0A, 0x82, 0xA1, 0xC9, 0x6E, 0x8C, 0x31, 0xD3, 0x77, 0x20, + 0x0D, 0x6C, 0xB2, 0x34, 0x88, 0x3D, 0x34, 0x1D, 0x6F, 0xEA, 0x65, 0xCE, 0xF1, 0xF3, 0xE2, 0x0A, + 0x04, 0x24, 0xCD, 0xA1, 0x99, 0xBA, 0x3A, 0x63, 0x72, 0xAA, 0xE4, 0x27, 0x73, 0xF4, 0xE0, 0xDE, + 0xA3, 0x87, 0x0F, 0x7B, 0xDF, 0x3D, 0x70, 0xC7, 0xC1, 0x42, 0xFE, 0xFD, 0x8B, 0xB8, 0x98, 0x25, + 0xEE, 0x88, 0x82, 0x3C, 0x4A, 0x29, 0xE8, 0x19, 0x0C, 0x4E, 0x39, 0xD3, 0x8C, 0x20, 0xA7, 0x20, + 0x49, 0x8E, 0x6C, 0xB2, 0xB6, 0xEA, 0xC4, 0x8B, 0x86, 0x04, 0x50, 0x2E, 0xC6, 0xC8, 0xD7, 0x0C, + 0xE1, 0xC3, 0x44, 0xE7, 0xC6, 0xFD, 0xD6, 0xE4, 0x35, 0x66, 0xEC, 0x5D, 0x65, 0x35, 0xE0, 0x4A, + 0xC9, 0x02, 0x24, 0x47, 0x61, 0x3B, 0x8F, 0x21, 0x90, 0x71, 0x72, 0x76, 0x69, 0x2A, 0x67, 0x4C, + 0x2C, 0x9F, 0xB4, 0xBE, 0x72, 0xA5, 0x44, 0x4C, 0x3D, 0xF1, 0xD1, 0x1C, 0x33, 0xF7, 0x97, 0x3F, + 0xE6, 0xB3, 0xC9, 0x22, 0x11, 0x53, 0x9A, 0xA3, 0x37, 0x98, 0x67, 0x4E, 0x40, 0x59, 0x6B, 0xD6, + 0x35, 0x2E, 0xB2, 0x98, 0xA5, 0xE6, 0x37, 0x23, 0x11, 0xE5, 0xE6, 0x75, 0x1D, 0x71, 0xB7, 0x29, + 0x11, 0x88, 0xB3, 0xF3, 0x16, 0xDC, 0xC1, 0x96, 0xC8, 0x09, 0xC1, 0xB4, 0xAD, 0x96, 0x39, 0xFA, + 0xF9, 0xF7, 0xEF, 0x9F, 0xD4, 0xDA, 0xCD, 0xEE, 0xF9, 0x55, 0xEB, 0xAC, 0xD7, 0x3D, 0x1E, 0x9C, + 0x8A, 0x21, 0x9B, 0xF3, 0x6A, 0x9A, 0xA3, 0x5F, 0x19, 0x2F, 0xA8, 0x2F, 0xCD, 0xAB, 0x56, 0xBB, + 0xD9, 0xDC, 0x9E, 0xD7, 0x23, 0x73, 0xF4, 0x96, 0xB3, 0x6A, 0x9F, 0x03, 0xAB, 0x66, 0x7B, 0x07, + 0xB1, 0xCE, 0xCD, 0x11, 0xE7, 0x04, 0x4C, 0xAE, 0x1E, 0xF6, 0xCE, 0xB7, 0x67, 0xF4, 0x10, 0x64, + 0x7A, 0x07, 0x9C, 0xCE, 0x41, 0xBB, 0xDE, 0x2E, 0xCA, 0xF5, 0xCC, 0x11, 0xE3, 0xD3, 0xEB, 0x36, + 0xAF, 0xBA, 0xE7, 0x3B, 0xF0, 0x39, 0x33, 0x65, 0xA7, 0xC3, 0xDC, 0x3F, 0x3A, 0x32, 0x47, 0x17, + 0x3F, 0x3C, 0xAF, 0x75, 0x41, 0xC6, 0xF6, 0xA3, 0xDE, 0xF6, 0xBC, 0xBB, 0xE0, 0x17, 0x4C, 0xC8, + 0x4E, 0x1B, 0x18, 0x75, 0x77, 0x10, 0xB2, 0x63, 0x8E, 0x5E, 0x70, 0x4E, 0xC0, 0xE5, 0xAA, 0xF5, + 0x70, 0x07, 0x91, 0xC0, 0xBD, 0x7E, 0xE6, 0x9C, 0xC0, 0xBF, 0x98, 0x7B, 0x55, 0xE4, 0x04, 0xB9, + 0x97, 0x9B, 0xA6, 0x20, 0xE6, 0xD7, 0x33, 0x59, 0xEA, 0x74, 0x51, 0x4A, 0xF8, 0x3B, 0x84, 0x8E, + 0x80, 0x5E, 0x6F, 0x9C, 0x10, 0x24, 0x1D, 0xA8, 0x24, 0x0E, 0xAA, 0xE5, 0x02, 0x45, 0x92, 0xF8, + 0x6A, 0xAB, 0x39, 0xEA, 0x96, 0x28, 0xC0, 0x49, 0xD5, 0x84, 0xCA, 0x69, 0x53, 0xF2, 0x9B, 0xAC, + 0x3F, 0x64, 0xA8, 0xB3, 0xFB, 0x79, 0xC0, 0x43, 0x3B, 0xA6, 0x12, 0xD5, 0x5B, 0x25, 0x1B, 0x8D, + 0xAC, 0xE8, 0xCA, 0x1C, 0xF5, 0x3A, 0x65, 0xD6, 0xDE, 0x01, 0x8C, 0x31, 0xEF, 0x3D, 0x5D, 0x1C, + 0x04, 0x1B, 0xE3, 0x91, 0x90, 0x9A, 0xA3, 0xA7, 0xF1, 0xF1, 0x2E, 0xA8, 0xD4, 0xCB, 0x34, 0xE5, + 0xB4, 0x39, 0xB0, 0x28, 0xE2, 0x08, 0x64, 0xEA, 0x1D, 0x09, 0x4D, 0x82, 0xCC, 0xE7, 0x05, 0xE6, + 0x36, 0x71, 0x61, 0xED, 0x80, 0x8F, 0x02, 0xBA, 0x31, 0x2A, 0x11, 0x21, 0x24, 0x35, 0x79, 0x74, + 0x30, 0x44, 0x62, 0x51, 0xBE, 0x02, 0x3C, 0x02, 0x44, 0x43, 0x9F, 0xDF, 0xE5, 0xB8, 0x31, 0x22, + 0x09, 0x29, 0x54, 0xC3, 0xF8, 0x78, 0x27, 0x54, 0x76, 0x49, 0x5F, 0x8A, 0x38, 0x12, 0x97, 0x28, + 0x85, 0x75, 0x6F, 0x09, 0x97, 0x32, 0x69, 0x77, 0xC2, 0x65, 0x86, 0xFC, 0xC5, 0x56, 0xE9, 0x2B, + 0xA6, 0x04, 0x54, 0xA2, 0xC3, 0x83, 0x85, 0x4A, 0x22, 0xCC, 0x57, 0x10, 0x2B, 0xB0, 0xFE, 0xF6, + 0x48, 0xB0, 0x79, 0xC7, 0x2F, 0xE9, 0xCC, 0xD1, 0x33, 0x5C, 0x7F, 0xCD, 0x8E, 0x76, 0x81, 0xE3, + 0x49, 0x48, 0xBD, 0x1D, 0x00, 0x89, 0x64, 0x11, 0x70, 0x34, 0x25, 0x1A, 0xE7, 0xB7, 0x84, 0xC6, + 0xF9, 0x2D, 0xA2, 0x81, 0xF0, 0x7B, 0x07, 0x2F, 0xB1, 0xB3, 0x31, 0x1C, 0x11, 0xA1, 0x39, 0xBA, + 0xBC, 0x5A, 0x78, 0x01, 0xBB, 0x5B, 0xF8, 0x25, 0xFB, 0xBE, 0x53, 0x90, 0x9C, 0xED, 0x80, 0x49, + 0x2C, 0x90, 0x8C, 0x91, 0x33, 0x89, 0xCA, 0xD9, 0x2D, 0xA1, 0x52, 0x26, 0xEB, 0x2E, 0xA8, 0x4C, + 0x11, 0x71, 0x2D, 0x4C, 0x1C, 0x76, 0xE7, 0xE2, 0xA6, 0xC0, 0x28, 0xB4, 0xE6, 0xE8, 0xFB, 0xE4, + 0xCB, 0x2E, 0xC0, 0x34, 0x77, 0xC0, 0x45, 0x95, 0x27, 0x1D, 0x2F, 0x67, 0xB0, 0x58, 0xBE, 0x25, + 0x6C, 0x5A, 0xAD, 0xDB, 0xAC, 0x2A, 0x0B, 0x6C, 0x11, 0xE4, 0xBC, 0xC7, 0x93, 0x09, 0x2C, 0x83, + 0x36, 0x2F, 0x2D, 0x29, 0x72, 0xA8, 0x2F, 0xE2, 0xBB, 0x71, 0xC9, 0xBF, 0x6F, 0xBC, 0x87, 0x91, + 0x61, 0xF7, 0xB9, 0x36, 0x32, 0x9A, 0xFA, 0xB5, 0xF0, 0x6B, 0x2F, 0x96, 0x73, 0xDB, 0x5D, 0x0D, + 0x60, 0x82, 0xA7, 0x7C, 0x53, 0x7D, 0x6B, 0x1E, 0x6D, 0xF0, 0x6C, 0x1F, 0x5D, 0xF3, 0xC7, 0x10, + 0x77, 0x59, 0x48, 0xBF, 0xC1, 0xB6, 0xF1, 0x0B, 0x71, 0xB7, 0x57, 0xA6, 0xCB, 0x04, 0xC1, 0xD8, + 0xDD, 0x8D, 0xCB, 0x19, 0x2C, 0x91, 0xE0, 0x60, 0x37, 0x26, 0x3D, 0xF0, 0x24, 0xBC, 0x20, 0xE8, + 0x4B, 0x58, 0xC4, 0xA3, 0xD5, 0x78, 0xF3, 0x82, 0xB2, 0x1A, 0x43, 0x5D, 0xFE, 0xED, 0xA9, 0x71, + 0xC9, 0x6F, 0x03, 0xDB, 0x38, 0x5D, 0x89, 0x2B, 0xD4, 0x55, 0x1C, 0x5D, 0x24, 0x2A, 0x29, 0xA7, + 0xB9, 0xB6, 0x27, 0xAA, 0x0F, 0xA0, 0xAA, 0xFB, 0xA2, 0x1A, 0xF5, 0x22, 0x01, 0xF9, 0x05, 0x3D, + 0x53, 0xD1, 0xB6, 0x9A, 0x8E, 0xB7, 0xD8, 0x8A, 0x59, 0xAB, 0xCD, 0xDB, 0x30, 0x6B, 0x05, 0x30, + 0xD9, 0x4B, 0x76, 0x87, 0xA0, 0x6D, 0x00, 0x5E, 0x7B, 0x01, 0x8A, 0xCD, 0x7A, 0x18, 0xA0, 0xB8, + 0xBE, 0x87, 0x06, 0x0A, 0xBC, 0xE5, 0x3D, 0xAB, 0xA3, 0xDB, 0x04, 0x15, 0x27, 0x34, 0x47, 0xAF, + 0x90, 0x1B, 0x42, 0x91, 0xD9, 0x17, 0x60, 0xF1, 0xC4, 0x07, 0x0B, 0x2F, 0xA9, 0xF7, 0xA1, 0xA1, + 0x03, 0x41, 0xE6, 0x9E, 0xBD, 0xF9, 0x72, 0x47, 0xD2, 0x89, 0x94, 0xF8, 0x0A, 0x8E, 0x36, 0x6E, + 0x0C, 0x22, 0x0E, 0xB7, 0xDC, 0x11, 0x88, 0xA5, 0xD4, 0xF6, 0xCD, 0xC0, 0xDB, 0xD0, 0x75, 0xAF, + 0x77, 0xE9, 0x04, 0x2E, 0x1C, 0x2F, 0xB4, 0xB7, 0xE7, 0x00, 0x6D, 0xC0, 0x8F, 0x93, 0x09, 0xB1, + 0xB6, 0x6F, 0x24, 0xA0, 0x09, 0x78, 0xE1, 0xCD, 0x2B, 0xD2, 0xDF, 0x72, 0xE1, 0xC5, 0xD6, 0x16, + 0x2B, 0x39, 0x0B, 0x50, 0xBC, 0xBC, 0xD8, 0x6B, 0xE1, 0x85, 0x39, 0x0F, 0x94, 0x19, 0x98, 0xB6, + 0x87, 0x4E, 0x0A, 0x20, 0xC4, 0x7B, 0xEE, 0x3C, 0xDB, 0x80, 0x25, 0x28, 0xE3, 0x8C, 0x1E, 0x2D, + 0xBF, 0x0F, 0xB5, 0xBE, 0x4B, 0x24, 0x4A, 0xAF, 0xEE, 0x5A, 0x67, 0x9D, 0x5E, 0xBC, 0xBC, 0xEB, + 0xB4, 0x3F, 0xEF, 0x02, 0x8F, 0x31, 0xBF, 0x5D, 0x7C, 0xDA, 0xDB, 0x40, 0x03, 0xD9, 0xE8, 0x35, + 0xBB, 0xCE, 0xB0, 0x41, 0xC2, 0xDE, 0x3D, 0x90, 0xDA, 0x87, 0x8B, 0xA4, 0xF6, 0x17, 0x10, 0x4A, + 0xD3, 0x2D, 0x32, 0xDE, 0x94, 0x65, 0xBC, 0xEF, 0x2F, 0xF6, 0x83, 0xD0, 0xF4, 0x60, 0xA9, 0x6E, + 0x7A, 0xD0, 0x54, 0x67, 0x88, 0x9B, 0xAD, 0x62, 0x98, 0xB6, 0xEC, 0x60, 0x25, 0xA1, 0xD8, 0xCB, + 0xDA, 0x25, 0xC9, 0xB5, 0xAE, 0x76, 0xC9, 0x72, 0x91, 0x18, 0xE9, 0x24, 0xD7, 0x4B, 0xAE, 0x8A, + 0x9C, 0x7D, 0xDE, 0xCB, 0xBA, 0xDD, 0x32, 0x69, 0x77, 0x09, 0x1A, 0x1F, 0xAD, 0xDE, 0x4F, 0xE7, + 0x68, 0x63, 0x30, 0x24, 0x1D, 0x60, 0xF1, 0xEA, 0xC9, 0x3E, 0xDB, 0x85, 0x68, 0xDE, 0xC3, 0xC4, + 0x51, 0xAC, 0xF5, 0xA1, 0x73, 0x9D, 0x83, 0xDD, 0xCD, 0x93, 0x1D, 0x23, 0x32, 0x47, 0x2F, 0xB1, + 0x1B, 0x18, 0x17, 0x9E, 0x2F, 0xDF, 0xFD, 0xB4, 0x17, 0xD4, 0xF8, 0xCC, 0x87, 0x81, 0x4C, 0x28, + 0x7D, 0x68, 0xBC, 0x66, 0x73, 0xE2, 0xFB, 0x9E, 0xBF, 0x31, 0x64, 0x92, 0x0E, 0x96, 0x15, 0xF5, + 0x57, 0xFC, 0x68, 0x2F, 0x70, 0x45, 0xB3, 0x1E, 0x06, 0xB1, 0x58, 0xE7, 0x43, 0x83, 0xB6, 0x9C, + 0x38, 0x64, 0xB1, 0x31, 0x64, 0x9C, 0xCA, 0x1C, 0xBD, 0xAB, 0x3F, 0x87, 0x7F, 0xF7, 0x02, 0x97, + 0x98, 0xF1, 0x30, 0x60, 0x49, 0x6D, 0x0F, 0x0D, 0xD5, 0x78, 0xB1, 0x79, 0x3A, 0x04, 0x1A, 0x73, + 0xF4, 0xF4, 0xA7, 0xFD, 0xF4, 0x7E, 0x6C, 0xB2, 0x8A, 0x08, 0xED, 0x84, 0x07, 0x57, 0xEA, 0xD0, + 0x68, 0xAC, 0xB6, 0x40, 0x63, 0xC5, 0x04, 0xFF, 0x6D, 0x4F, 0x68, 0xAC, 0xAA, 0xA3, 0xF1, 0x99, + 0xE3, 0x65, 0xF5, 0x25, 0xE0, 0xC3, 0x9F, 0xC5, 0x18, 0xA3, 0xCD, 0xCB, 0x51, 0x44, 0xC8, 0x6E, + 0x1A, 0x83, 0x23, 0xE3, 0x29, 0xDA, 0x4F, 0x41, 0x8A, 0xE7, 0xDD, 0x47, 0x08, 0x25, 0x4A, 0x1E, + 0x1A, 0xA7, 0x09, 0xB2, 0xF0, 0x7B, 0x1B, 0xD3, 0x6D, 0xAE, 0x2D, 0x2B, 0xB4, 0xE6, 0xE8, 0x39, + 0x7C, 0x31, 0x9E, 0xF1, 0x2F, 0xFB, 0x6A, 0xF9, 0xD4, 0xF9, 0xF7, 0x81, 0x5A, 0x4A, 0xDF, 0x2F, + 0x02, 0x38, 0x68, 0xB0, 0xBD, 0xA9, 0xBB, 0xD5, 0x23, 0x0D, 0x29, 0x72, 0x09, 0xDF, 0x1B, 0xF1, + 0x7D, 0xBF, 0x00, 0x26, 0x42, 0xEC, 0x0D, 0x43, 0x45, 0xEF, 0x7D, 0xC0, 0x18, 0x3D, 0x16, 0xC4, + 0x8B, 0xB4, 0x78, 0x15, 0x5E, 0x19, 0x52, 0xF2, 0xE1, 0x27, 0x7E, 0x4B, 0x0B, 0xA6, 0xF5, 0x80, + 0x12, 0xC7, 0x81, 0x85, 0x30, 0xA6, 0xC6, 0x5B, 0x76, 0x38, 0x38, 0x15, 0x03, 0xAA, 0x73, 0x91, + 0xCF, 0xDC, 0xB0, 0x97, 0x50, 0xA2, 0xB9, 0x39, 0x7A, 0xCB, 0x5E, 0x12, 0x08, 0xBC, 0xD8, 0xB7, + 0xCD, 0x99, 0x71, 0x23, 0x62, 0xD7, 0xF7, 0x40, 0xA8, 0x18, 0x24, 0xF9, 0xAE, 0x26, 0xD3, 0x88, + 0x8E, 0x94, 0xDF, 0x46, 0x97, 0x7C, 0xB0, 0xC1, 0xBC, 0xAC, 0x7C, 0x3A, 0x76, 0xD5, 0xC2, 0xCA, + 0xBF, 0xB8, 0x31, 0x38, 0x75, 0x91, 0xC6, 0xDC, 0x39, 0x28, 0x0C, 0xC4, 0xDB, 0x25, 0x73, 0x58, + 0xC5, 0xCF, 0x33, 0x71, 0x4B, 0x24, 0x8F, 0x69, 0xC6, 0x6A, 0x65, 0x1F, 0xDF, 0x94, 0xDB, 0x4C, + 0xD5, 0x82, 0x96, 0x3F, 0x88, 0x29, 0xEB, 0x21, 0x3B, 0x8C, 0xCD, 0xFF, 0x9F, 0x7F, 0x97, 0xF9, + 0x0C, 0x7B, 0xF7, 0x67, 0x22, 0x98, 0x69, 0x04, 0xBE, 0x35, 0x34, 0xF3, 0x9E, 0x8E, 0xCA, 0xD1, + 0xFC, 0x54, 0xA7, 0x7A, 0x66, 0xB0, 0xC6, 0xD6, 0x83, 0xC0, 0xF2, 0xC9, 0x82, 0x8E, 0xEE, 0xD8, + 0x9E, 0x15, 0xCE, 0xB1, 0x4B, 0x1B, 0xC8, 0xB6, 0x2F, 0x97, 0x70, 0xF0, 0x92, 0x04, 0x14, 0x83, + 0x15, 0x6A, 0x47, 0xCF, 0x7E, 0x7C, 0x75, 0x21, 0x9E, 0x12, 0x7B, 0xE9, 0x21, 0x1B, 0xDB, 0x47, + 0x27, 0xC6, 0x24, 0x74, 0x85, 0x9B, 0xD7, 0x30, 0x1B, 0x2B, 0xDE, 0xBB, 0xBA, 0x44, 0xBE, 0x31, + 0x46, 0x01, 0x7E, 0xE1, 0x05, 0xD4, 0x18, 0x1A, 0x31, 0x47, 0xC7, 0xB3, 0xF8, 0x7D, 0xBF, 0x0D, + 0xCF, 0x27, 0x53, 0xE2, 0xCA, 0x91, 0x42, 0xD9, 0x5F, 0x7D, 0x07, 0x86, 0xC6, 0x54, 0xDF, 0x1A, + 0x47, 0xFD, 0xF3, 0xD6, 0x11, 0x7B, 0x1C, 0x0F, 0x60, 0x80, 0x1F, 0x00, 0x02, 0x0C, 0x03, 0x20, + 0xC0, 0x87, 0x23, 0xF9, 0x78, 0x20, 0x76, 0x1A, 0xDC, 0xE4, 0x4C, 0x40, 0x26, 0x6D, 0xED, 0x48, + 0xE0, 0x74, 0xC4, 0x1E, 0x34, 0xBE, 0x89, 0x29, 0x83, 0x99, 0xB7, 0x2A, 0xA2, 0xF4, 0xF1, 0xDC, + 0x5B, 0xE2, 0x0C, 0x71, 0x4C, 0x2D, 0xBD, 0xB9, 0x74, 0xEA, 0xC8, 0xEB, 0x8F, 0x8E, 0xA3, 0x01, + 0xF1, 0x7B, 0xCC, 0x86, 0x06, 0xF5, 0x43, 0x9C, 0x66, 0x8B, 0xDD, 0x32, 0xAE, 0x91, 0x58, 0x85, + 0x8C, 0x27, 0xC8, 0x09, 0x32, 0x9C, 0xC3, 0x85, 0x8D, 0x28, 0x7E, 0xC7, 0x76, 0x0C, 0x61, 0x40, + 0x0D, 0x3B, 0x27, 0x62, 0xFB, 0xF0, 0x44, 0x9E, 0x79, 0x03, 0x7C, 0x29, 0x3E, 0x4E, 0x66, 0x55, + 0x7F, 0x06, 0x8A, 0xF4, 0xD7, 0xA1, 0xE1, 0x86, 0x10, 0xC2, 0x8F, 0xB9, 0x0A, 0x46, 0x3F, 0x75, + 0x96, 0x53, 0x3B, 0x90, 0x9D, 0xE4, 0x3B, 0xDB, 0xF9, 0x9C, 0xFC, 0x47, 0x32, 0x61, 0x13, 0x37, + 0xF8, 0x1B, 0xE4, 0x87, 0xC0, 0xE3, 0x28, 0xCA, 0xEE, 0x47, 0xC9, 0x8B, 0x79, 0x55, 0x22, 0x6E, + 0x87, 0x86, 0xEC, 0x83, 0xE5, 0xF9, 0xA5, 0x3C, 0x71, 0xF7, 0xEE, 0x32, 0xE6, 0x6B, 0x28, 0xC3, + 0xE0, 0x54, 0x72, 0xE2, 0x06, 0x4E, 0x28, 0x4F, 0x3F, 0xAF, 0xF3, 0xCE, 0xF0, 0x88, 0x98, 0x2B, + 0x1C, 0xEE, 0xC4, 0x92, 0xA7, 0x2C, 0xF0, 0xE0, 0x41, 0x9A, 0xDB, 0xDD, 0xA1, 0xA4, 0x4A, 0x34, + 0x11, 0xE3, 0x21, 0x32, 0x20, 0xF2, 0x40, 0x6D, 0xF9, 0x4C, 0xBC, 0x14, 0x89, 0x4C, 0x6A, 0x77, + 0x53, 0x86, 0x8F, 0x65, 0x9C, 0x30, 0x13, 0x11, 0x9B, 0x1B, 0x88, 0x5F, 0x33, 0x3C, 0x4E, 0x9E, + 0x7A, 0x15, 0xF2, 0x3D, 0xE6, 0x5E, 0x5F, 0xC3, 0xF2, 0xF2, 0xDB, 0x31, 0xD8, 0x9F, 0x39, 0x73, + 0xF2, 0x83, 0x1C, 0x9F, 0x4C, 0xA5, 0x72, 0x9C, 0xA6, 0x38, 0x32, 0xC5, 0x32, 0x72, 0xB3, 0x0F, + 0x9F, 0x00, 0x86, 0xB2, 0x9D, 0xEF, 0xE4, 0xF9, 0xFC, 0x8C, 0x39, 0xD9, 0x87, 0x4F, 0xBC, 0x3E, + 0xB0, 0x50, 0x82, 0xE8, 0x0E, 0x09, 0x8D, 0x62, 0x9C, 0xDD, 0x6A, 0xCC, 0x54, 0xE2, 0x22, 0xC0, + 0x61, 0x11, 0xAB, 0x4C, 0x01, 0xD7, 0x30, 0x14, 0x01, 0x55, 0x13, 0xF5, 0xE9, 0x29, 0xAF, 0x35, + 0x8C, 0xB9, 0x8C, 0x95, 0xF4, 0xEF, 0x77, 0x54, 0xE1, 0x6F, 0xA2, 0xF0, 0x89, 0x53, 0x99, 0x8A, + 0x27, 0xF3, 0xE3, 0xC8, 0x62, 0xCC, 0xD5, 0x13, 0x87, 0x91, 0xAF, 0x2B, 0x89, 0xFC, 0x3C, 0x31, + 0xAB, 0x05, 0x39, 0x4C, 0xF1, 0xF8, 0x7E, 0x46, 0x54, 0xD5, 0xD5, 0x41, 0xEE, 0x96, 0xA1, 0xBE, + 0x80, 0x64, 0x0C, 0xA9, 0xF0, 0x63, 0x8A, 0x0F, 0xDF, 0xB0, 0x8F, 0x99, 0x88, 0xDF, 0xC4, 0xE5, + 0xFD, 0xBA, 0xE7, 0x62, 0x3D, 0x77, 0xD5, 0xD9, 0x75, 0x3C, 0x45, 0x29, 0xCE, 0x32, 0x0D, 0xC7, + 0x73, 0x42, 0x35, 0x0C, 0x8F, 0x20, 0x0D, 0xEB, 0x78, 0xC9, 0x06, 0x2D, 0x21, 0xF0, 0x31, 0x0D, + 0x7D, 0x57, 0x8D, 0x26, 0x91, 0x91, 0xFE, 0x0E, 0xB1, 0x7F, 0x0D, 0x8C, 0x3E, 0xDC, 0xFF, 0x14, + 0xE5, 0xF7, 0x9B, 0x53, 0xFE, 0x6C, 0x8E, 0xE7, 0x3C, 0x86, 0x0A, 0x30, 0xBC, 0xFF, 0x89, 0x43, + 0x7D, 0xF3, 0x00, 0xA6, 0x84, 0x2F, 0x7C, 0xE2, 0x9B, 0x0F, 0x82, 0xC5, 0x84, 0xBD, 0x3E, 0xBB, + 0xC6, 0x59, 0x44, 0xB8, 0x35, 0xE8, 0x0C, 0xBB, 0x35, 0x1F, 0x07, 0x0B, 0x60, 0x8F, 0x93, 0x44, + 0x16, 0xCD, 0xE8, 0x39, 0x18, 0x4A, 0xCD, 0xB4, 0xF6, 0xC1, 0xC7, 0x40, 0x07, 0x02, 0x50, 0xCF, + 0xB8, 0xFF, 0x89, 0xB3, 0xB8, 0x31, 0x26, 0x10, 0xCD, 0xC1, 0x0C, 0xDB, 0x27, 0x50, 0x77, 0x10, + 0x65, 0x4F, 0xA6, 0xDF, 0xFF, 0x14, 0xB1, 0x6A, 0x88, 0x9F, 0x6E, 0x3E, 0xC4, 0x1E, 0x12, 0x17, + 0x83, 0xA8, 0x86, 0xF1, 0x13, 0x0D, 0xCE, 0xEB, 0x2D, 0x47, 0xC1, 0xF3, 0x9F, 0x38, 0x4E, 0xED, + 0x48, 0xBC, 0x7E, 0x41, 0xE6, 0xE8, 0x06, 0x34, 0x9D, 0x97, 0x08, 0xC4, 0x56, 0x93, 0x3B, 0xCF, + 0x3B, 0x9E, 0x6B, 0x39, 0xC4, 0xFA, 0xC8, 0x12, 0xF3, 0x71, 0x5A, 0x70, 0x11, 0xE9, 0x4E, 0x43, + 0xBC, 0x4E, 0xEB, 0xB5, 0x67, 0xE3, 0x8C, 0x9B, 0x1E, 0x33, 0x31, 0x4E, 0x4F, 0xC1, 0xCA, 0xC8, + 0x8E, 0x52, 0x92, 0xC0, 0x88, 0xBD, 0x77, 0x45, 0x98, 0x29, 0x65, 0x61, 0xA1, 0x8C, 0xD4, 0x45, + 0xD8, 0x2C, 0xA9, 0xD6, 0x91, 0xCA, 0x89, 0xDB, 0x0A, 0xF4, 0x8C, 0xD8, 0x16, 0x7F, 0x05, 0x9E, + 0x5B, 0x3B, 0xBE, 0x13, 0x9B, 0x61, 0x9D, 0x07, 0x9B, 0x40, 0x61, 0x90, 0x32, 0x51, 0x9E, 0x99, + 0xD2, 0x5D, 0xFD, 0x51, 0x92, 0x49, 0x72, 0x6C, 0x26, 0x3E, 0x4A, 0x4D, 0xE3, 0x05, 0x8D, 0xCF, + 0xFC, 0x07, 0x77, 0x9A, 0x3F, 0x4F, 0x44, 0x11, 0x54, 0x72, 0xD2, 0xB1, 0x62, 0x30, 0xE1, 0x81, + 0xEC, 0xBF, 0x1E, 0x51, 0x1B, 0x11, 0xE8, 0xAE, 0x2F, 0x1D, 0xCC, 0x0E, 0x9F, 0x5E, 0xFF, 0x00, + 0xC5, 0x5B, 0xB4, 0x20, 0x5C, 0x9A, 0x84, 0xE0, 0x22, 0x6E, 0xFF, 0x4A, 0x29, 0x93, 0x56, 0x51, + 0xE1, 0xC1, 0xDB, 0x77, 0x91, 0x71, 0x8A, 0x38, 0xC4, 0x9D, 0x7E, 0x8A, 0x94, 0x71, 0x2D, 0xA7, + 0x4D, 0xF5, 0xF7, 0x0A, 0xBD, 0x9A, 0xED, 0x8A, 0xE8, 0x95, 0x96, 0x5E, 0xA1, 0xE6, 0xAE, 0x5C, + 0x4E, 0xAC, 0x36, 0xB7, 0x47, 0x8A, 0xB1, 0x03, 0xEA, 0x2D, 0xC4, 0x1A, 0x23, 0xE3, 0xE6, 0x2B, + 0xE2, 0xDA, 0xDE, 0xAA, 0xC1, 0xCE, 0xD7, 0x64, 0x91, 0x54, 0x15, 0x6D, 0x10, 0x17, 0x0C, 0xF8, + 0xE2, 0x97, 0x57, 0x2F, 0x59, 0xD2, 0x51, 0xD7, 0x2A, 0x47, 0xE9, 0x0E, 0x87, 0xBF, 0xEB, 0x5C, + 0x3B, 0x03, 0x83, 0xAD, 0x01, 0x4D, 0xB3, 0x48, 0x36, 0x71, 0x63, 0xC9, 0x62, 0x81, 0x1D, 0x7E, + 0x10, 0x73, 0xB2, 0xD2, 0x93, 0x02, 0xF8, 0xB8, 0x54, 0x16, 0x6F, 0x91, 0x15, 0x05, 0x22, 0xF1, + 0x09, 0xA5, 0xE0, 0xB0, 0x86, 0x70, 0xE5, 0x80, 0x65, 0x19, 0xB9, 0xCE, 0xBB, 0x63, 0xA8, 0xE0, + 0xE7, 0x04, 0x7D, 0x62, 0x26, 0x19, 0x65, 0x69, 0xE1, 0x95, 0x4C, 0x89, 0x16, 0x10, 0x99, 0xF8, + 0xF1, 0x7B, 0x6B, 0x0C, 0xC9, 0xF1, 0x19, 0x78, 0x7E, 0xC3, 0x05, 0x0D, 0x8E, 0x6F, 0x8A, 0xD4, + 0x11, 0xE6, 0x4A, 0x80, 0xAC, 0x2A, 0x04, 0x4F, 0x43, 0x7A, 0x6E, 0x29, 0xFB, 0xE8, 0xD9, 0xA9, + 0xDE, 0x2B, 0xAE, 0xDD, 0xB2, 0x36, 0x2D, 0xCF, 0xB0, 0xC3, 0x75, 0xD3, 0x8A, 0x3E, 0x25, 0xC5, + 0x20, 0x49, 0x30, 0x6B, 0xC2, 0x66, 0xDA, 0x14, 0xC5, 0x2F, 0xA2, 0x01, 0x91, 0xEC, 0x6A, 0x40, + 0xE4, 0xC8, 0x9E, 0xEE, 0xE2, 0x32, 0xED, 0x42, 0x06, 0x72, 0x99, 0xC5, 0x0C, 0xF6, 0xD6, 0x8F, + 0x19, 0x2B, 0xD0, 0xD2, 0x09, 0xAA, 0x14, 0x0A, 0x6D, 0x06, 0x2C, 0xAC, 0x18, 0x62, 0x86, 0x48, + 0xDA, 0x6C, 0xB7, 0x99, 0xAE, 0x0E, 0x17, 0x21, 0x58, 0x69, 0x1E, 0xF9, 0xA4, 0xF8, 0x8D, 0xB5, + 0x6C, 0x71, 0xF0, 0x40, 0x0B, 0x57, 0x14, 0xD4, 0x70, 0x5A, 0xC9, 0x04, 0xB2, 0xDF, 0x2B, 0x21, + 0x50, 0xEE, 0xBA, 0xE0, 0xB4, 0xF0, 0xD3, 0xBA, 0xD8, 0x1A, 0x23, 0xC3, 0xB8, 0xE3, 0x18, 0x73, + 0x46, 0x24, 0xBB, 0xA2, 0x04, 0xF1, 0xF5, 0xEE, 0x34, 0x0B, 0xF9, 0x5A, 0x57, 0x7A, 0xA3, 0xA0, + 0x15, 0xDD, 0xB7, 0x96, 0xE8, 0x83, 0x8B, 0x95, 0xC7, 0xAA, 0xF2, 0x51, 0x97, 0x5D, 0x42, 0xA1, + 0xDE, 0x65, 0x27, 0xD4, 0xC7, 0x15, 0xD5, 0xC7, 0x52, 0x7D, 0x46, 0x90, 0x34, 0x84, 0xE5, 0x2D, + 0x7F, 0xEC, 0x8C, 0xBF, 0x3D, 0x4D, 0x34, 0x5B, 0x8D, 0x0B, 0xE5, 0x94, 0xAD, 0xB8, 0xA2, 0x5E, + 0x31, 0x41, 0xEA, 0x9E, 0x62, 0xA1, 0xD6, 0x6A, 0x5C, 0x4D, 0xAD, 0xA8, 0x95, 0x67, 0x04, 0x89, + 0x5A, 0xFA, 0x86, 0x3F, 0x52, 0x25, 0xDE, 0x42, 0xE6, 0xFF, 0xA7, 0x4B, 0xFC, 0xCE, 0x94, 0x58, + 0x58, 0xB1, 0xFF, 0x5A, 0x5A, 0xCA, 0xC4, 0x30, 0x45, 0xC9, 0x78, 0xC9, 0x50, 0x4A, 0x1A, 0x8F, + 0x54, 0xA8, 0x63, 0x39, 0x0A, 0xA9, 0xA3, 0x41, 0xA2, 0x06, 0xC6, 0x5F, 0x2B, 0x19, 0x2B, 0x1E, + 0x9D, 0x04, 0x42, 0xC2, 0x40, 0x34, 0xE0, 0x23, 0xE3, 0x2C, 0xBB, 0xD4, 0x14, 0x8D, 0x90, 0x50, + 0x36, 0xD3, 0xFE, 0xA8, 0x03, 0x62, 0x95, 0x52, 0x63, 0xE2, 0x00, 0x11, 0xF4, 0x79, 0x62, 0x96, + 0x8A, 0x82, 0x1C, 0xEC, 0xD3, 0x9A, 0xF9, 0x93, 0x83, 0xD9, 0xF2, 0x41, 0xDE, 0x14, 0x7E, 0xF1, + 0xC3, 0x73, 0xC3, 0xF3, 0x0D, 0xF1, 0x16, 0x4D, 0x3F, 0x7E, 0x6B, 0x8E, 0x21, 0x5F, 0x31, 0xC7, + 0x17, 0x69, 0xC4, 0x9D, 0x1A, 0x74, 0x46, 0x02, 0xE8, 0x59, 0xD9, 0x93, 0xE0, 0xF8, 0xAE, 0x19, + 0xBF, 0x45, 0xAE, 0x54, 0x3D, 0xD1, 0xA4, 0x7E, 0x17, 0x2B, 0x92, 0x31, 0xA7, 0xA0, 0x49, 0x6C, + 0x79, 0x57, 0xEA, 0xB8, 0x96, 0x58, 0x8A, 0x96, 0x85, 0x1B, 0x98, 0x30, 0x3E, 0xFD, 0xC5, 0x5A, + 0x51, 0xAF, 0x40, 0xA9, 0x21, 0x63, 0xB2, 0xC4, 0x96, 0x89, 0xAE, 0x6B, 0xD6, 0xD4, 0xAD, 0xBD, + 0x0B, 0x10, 0x65, 0x5B, 0x49, 0xDA, 0x6C, 0x9E, 0x8F, 0x8A, 0xB0, 0xB8, 0xA8, 0x72, 0xE2, 0x33, + 0x38, 0x8D, 0x36, 0x2C, 0xC5, 0x37, 0xF1, 0x52, 0xAE, 0xC1, 0xA9, 0xF8, 0x9F, 0x0A, 0xFF, 0x0B, + 0x9B, 0xFC, 0x8E, 0x51, 0xC1, 0x70, 0x00, 0x00 +}; + diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/camera_pins.h b/libraries/ESP32/examples/Camera/CameraWebServer/camera_pins.h new file mode 100644 index 00000000..7855722a --- /dev/null +++ b/libraries/ESP32/examples/Camera/CameraWebServer/camera_pins.h @@ -0,0 +1,99 @@ + +#if defined(CAMERA_MODEL_WROVER_KIT) +#define PWDN_GPIO_NUM -1 +#define RESET_GPIO_NUM -1 +#define XCLK_GPIO_NUM 21 +#define SIOD_GPIO_NUM 26 +#define SIOC_GPIO_NUM 27 + +#define Y9_GPIO_NUM 35 +#define Y8_GPIO_NUM 34 +#define Y7_GPIO_NUM 39 +#define Y6_GPIO_NUM 36 +#define Y5_GPIO_NUM 19 +#define Y4_GPIO_NUM 18 +#define Y3_GPIO_NUM 5 +#define Y2_GPIO_NUM 4 +#define VSYNC_GPIO_NUM 25 +#define HREF_GPIO_NUM 23 +#define PCLK_GPIO_NUM 22 + +#elif defined(CAMERA_MODEL_ESP_EYE) +#define PWDN_GPIO_NUM -1 +#define RESET_GPIO_NUM -1 +#define XCLK_GPIO_NUM 4 +#define SIOD_GPIO_NUM 18 +#define SIOC_GPIO_NUM 23 + +#define Y9_GPIO_NUM 36 +#define Y8_GPIO_NUM 37 +#define Y7_GPIO_NUM 38 +#define Y6_GPIO_NUM 39 +#define Y5_GPIO_NUM 35 +#define Y4_GPIO_NUM 14 +#define Y3_GPIO_NUM 13 +#define Y2_GPIO_NUM 34 +#define VSYNC_GPIO_NUM 5 +#define HREF_GPIO_NUM 27 +#define PCLK_GPIO_NUM 25 + +#elif defined(CAMERA_MODEL_M5STACK_PSRAM) +#define PWDN_GPIO_NUM -1 +#define RESET_GPIO_NUM 15 +#define XCLK_GPIO_NUM 27 +#define SIOD_GPIO_NUM 25 +#define SIOC_GPIO_NUM 23 + +#define Y9_GPIO_NUM 19 +#define Y8_GPIO_NUM 36 +#define Y7_GPIO_NUM 18 +#define Y6_GPIO_NUM 39 +#define Y5_GPIO_NUM 5 +#define Y4_GPIO_NUM 34 +#define Y3_GPIO_NUM 35 +#define Y2_GPIO_NUM 32 +#define VSYNC_GPIO_NUM 22 +#define HREF_GPIO_NUM 26 +#define PCLK_GPIO_NUM 21 + +#elif defined(CAMERA_MODEL_M5STACK_WIDE) +#define PWDN_GPIO_NUM -1 +#define RESET_GPIO_NUM 15 +#define XCLK_GPIO_NUM 27 +#define SIOD_GPIO_NUM 22 +#define SIOC_GPIO_NUM 23 + +#define Y9_GPIO_NUM 19 +#define Y8_GPIO_NUM 36 +#define Y7_GPIO_NUM 18 +#define Y6_GPIO_NUM 39 +#define Y5_GPIO_NUM 5 +#define Y4_GPIO_NUM 34 +#define Y3_GPIO_NUM 35 +#define Y2_GPIO_NUM 32 +#define VSYNC_GPIO_NUM 25 +#define HREF_GPIO_NUM 26 +#define PCLK_GPIO_NUM 21 + +#elif defined(CAMERA_MODEL_AI_THINKER) +#define PWDN_GPIO_NUM 32 +#define RESET_GPIO_NUM -1 +#define XCLK_GPIO_NUM 0 +#define SIOD_GPIO_NUM 26 +#define SIOC_GPIO_NUM 27 + +#define Y9_GPIO_NUM 35 +#define Y8_GPIO_NUM 34 +#define Y7_GPIO_NUM 39 +#define Y6_GPIO_NUM 36 +#define Y5_GPIO_NUM 21 +#define Y4_GPIO_NUM 19 +#define Y3_GPIO_NUM 18 +#define Y2_GPIO_NUM 5 +#define VSYNC_GPIO_NUM 25 +#define HREF_GPIO_NUM 23 +#define PCLK_GPIO_NUM 22 + +#else +#error "Camera model not selected" +#endif diff --git a/platform.txt b/platform.txt index 4278a8f2..a5888dcb 100644 --- a/platform.txt +++ b/platform.txt @@ -22,7 +22,7 @@ compiler.warning_flags.all=-Wall -Werror=all -Wextra compiler.path={runtime.tools.xtensa-esp32-elf-gcc.path}/bin/ compiler.sdk.path={runtime.platform.path}/tools/sdk -compiler.cpreprocessor.flags=-DESP_PLATFORM -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DHAVE_CONFIG_H "-I{compiler.sdk.path}/include/config" "-I{compiler.sdk.path}/include/app_trace" "-I{compiler.sdk.path}/include/app_update" "-I{compiler.sdk.path}/include/asio" "-I{compiler.sdk.path}/include/bootloader_support" "-I{compiler.sdk.path}/include/bt" "-I{compiler.sdk.path}/include/coap" "-I{compiler.sdk.path}/include/console" "-I{compiler.sdk.path}/include/driver" "-I{compiler.sdk.path}/include/efuse" "-I{compiler.sdk.path}/include/esp-tls" "-I{compiler.sdk.path}/include/esp32" "-I{compiler.sdk.path}/include/esp_adc_cal" "-I{compiler.sdk.path}/include/esp_event" "-I{compiler.sdk.path}/include/esp_http_client" "-I{compiler.sdk.path}/include/esp_http_server" "-I{compiler.sdk.path}/include/esp_https_ota" "-I{compiler.sdk.path}/include/esp_https_server" "-I{compiler.sdk.path}/include/esp_ringbuf" "-I{compiler.sdk.path}/include/espcoredump" "-I{compiler.sdk.path}/include/ethernet" "-I{compiler.sdk.path}/include/expat" "-I{compiler.sdk.path}/include/fatfs" "-I{compiler.sdk.path}/include/freemodbus" "-I{compiler.sdk.path}/include/freertos" "-I{compiler.sdk.path}/include/heap" "-I{compiler.sdk.path}/include/idf_test" "-I{compiler.sdk.path}/include/jsmn" "-I{compiler.sdk.path}/include/json" "-I{compiler.sdk.path}/include/libsodium" "-I{compiler.sdk.path}/include/log" "-I{compiler.sdk.path}/include/lwip" "-I{compiler.sdk.path}/include/mbedtls" "-I{compiler.sdk.path}/include/mdns" "-I{compiler.sdk.path}/include/micro-ecc" "-I{compiler.sdk.path}/include/mqtt" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/nghttp" "-I{compiler.sdk.path}/include/nvs_flash" "-I{compiler.sdk.path}/include/openssl" "-I{compiler.sdk.path}/include/protobuf-c" "-I{compiler.sdk.path}/include/protocomm" "-I{compiler.sdk.path}/include/pthread" "-I{compiler.sdk.path}/include/sdmmc" "-I{compiler.sdk.path}/include/smartconfig_ack" "-I{compiler.sdk.path}/include/soc" "-I{compiler.sdk.path}/include/spi_flash" "-I{compiler.sdk.path}/include/spiffs" "-I{compiler.sdk.path}/include/tcp_transport" "-I{compiler.sdk.path}/include/tcpip_adapter" "-I{compiler.sdk.path}/include/ulp" "-I{compiler.sdk.path}/include/unity" "-I{compiler.sdk.path}/include/vfs" "-I{compiler.sdk.path}/include/wear_levelling" "-I{compiler.sdk.path}/include/wifi_provisioning" "-I{compiler.sdk.path}/include/wpa_supplicant" "-I{compiler.sdk.path}/include/xtensa-debug-module" "-I{compiler.sdk.path}/include/esp32-camera" "-I{compiler.sdk.path}/include/esp-face" "-I{compiler.sdk.path}/include/fb_gfx" +compiler.cpreprocessor.flags=-DESP_PLATFORM -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DHAVE_CONFIG_H "-I{compiler.sdk.path}/include/config" "-I{compiler.sdk.path}/include/app_trace" "-I{compiler.sdk.path}/include/app_update" "-I{compiler.sdk.path}/include/asio" "-I{compiler.sdk.path}/include/bootloader_support" "-I{compiler.sdk.path}/include/bt" "-I{compiler.sdk.path}/include/coap" "-I{compiler.sdk.path}/include/console" "-I{compiler.sdk.path}/include/driver" "-I{compiler.sdk.path}/include/esp-tls" "-I{compiler.sdk.path}/include/esp32" "-I{compiler.sdk.path}/include/esp_adc_cal" "-I{compiler.sdk.path}/include/esp_event" "-I{compiler.sdk.path}/include/esp_http_client" "-I{compiler.sdk.path}/include/esp_http_server" "-I{compiler.sdk.path}/include/esp_https_ota" "-I{compiler.sdk.path}/include/esp_ringbuf" "-I{compiler.sdk.path}/include/ethernet" "-I{compiler.sdk.path}/include/expat" "-I{compiler.sdk.path}/include/fatfs" "-I{compiler.sdk.path}/include/freemodbus" "-I{compiler.sdk.path}/include/freertos" "-I{compiler.sdk.path}/include/heap" "-I{compiler.sdk.path}/include/idf_test" "-I{compiler.sdk.path}/include/jsmn" "-I{compiler.sdk.path}/include/json" "-I{compiler.sdk.path}/include/libsodium" "-I{compiler.sdk.path}/include/log" "-I{compiler.sdk.path}/include/lwip" "-I{compiler.sdk.path}/include/mbedtls" "-I{compiler.sdk.path}/include/mdns" "-I{compiler.sdk.path}/include/micro-ecc" "-I{compiler.sdk.path}/include/mqtt" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/nghttp" "-I{compiler.sdk.path}/include/nvs_flash" "-I{compiler.sdk.path}/include/openssl" "-I{compiler.sdk.path}/include/protobuf-c" "-I{compiler.sdk.path}/include/protocomm" "-I{compiler.sdk.path}/include/pthread" "-I{compiler.sdk.path}/include/sdmmc" "-I{compiler.sdk.path}/include/smartconfig_ack" "-I{compiler.sdk.path}/include/soc" "-I{compiler.sdk.path}/include/spi_flash" "-I{compiler.sdk.path}/include/spiffs" "-I{compiler.sdk.path}/include/tcp_transport" "-I{compiler.sdk.path}/include/tcpip_adapter" "-I{compiler.sdk.path}/include/ulp" "-I{compiler.sdk.path}/include/vfs" "-I{compiler.sdk.path}/include/wear_levelling" "-I{compiler.sdk.path}/include/wifi_provisioning" "-I{compiler.sdk.path}/include/wpa_supplicant" "-I{compiler.sdk.path}/include/xtensa-debug-module" "-I{compiler.sdk.path}/include/esp32-camera" "-I{compiler.sdk.path}/include/esp-face" "-I{compiler.sdk.path}/include/fb_gfx" compiler.c.cmd=xtensa-esp32-elf-gcc compiler.c.flags=-std=gnu99 -Os -g3 -fstack-protector -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -mlongcalls -nostdlib -Wpointer-arith {compiler.warning_flags} -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -Wno-old-style-declaration -MMD -c @@ -35,7 +35,7 @@ compiler.S.flags=-c -g3 -x assembler-with-cpp -MMD -mlongcalls compiler.c.elf.cmd=xtensa-esp32-elf-gcc compiler.c.elf.flags=-nostdlib "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" -T esp32_out.ld -T esp32.common.ld -T esp32.rom.ld -T esp32.peripherals.ld -T esp32.rom.spiram_incompatible_fns.ld -u ld_include_panic_highint_hdl -u call_user_start_cpu0 -Wl,--gc-sections -Wl,-static -Wl,--undefined=uxTopUsedPriority -u __cxa_guard_dummy -u __cxx_fatal_exception -compiler.c.elf.libs=-lgcc -lopenssl -lbtdm_app -lfatfs -lwps -lcoexist -lwear_levelling -lesp_http_client -lprotobuf-c -lhal -lnewlib -ldriver -lbootloader_support -lpp -lfreemodbus -lmesh -lsmartconfig -ljsmn -lwpa -lethernet -lphy -lfrmn -lapp_trace -lfr_coefficients -lconsole -lulp -lwpa_supplicant -lfreertos -lbt -lmicro-ecc -lesp32-camera -lcxx -lxtensa-debug-module -ltcp_transport -lmdns -lvfs -lmtmn -lespcoredump -lesp_ringbuf -lsoc -lcore -lfb_gfx -lsdmmc -llibsodium -lcoap -ltcpip_adapter -lprotocomm -lesp_event -limage_util -lc_nano -lesp-tls -lasio -lrtc -lspi_flash -lwpa2 -lwifi_provisioning -lesp32 -lface_recognition -lapp_update -lnghttp -lspiffs -lface_detection -lefuse -lunity -lesp_https_server -lespnow -lnvs_flash -lesp_adc_cal -llog -ldl_lib -lsmartconfig_ack -lexpat -lfd_coefficients -lm -lmqtt -lc -lheap -lmbedtls -llwip -lnet80211 -lesp_http_server -lpthread -ljson -lesp_https_ota -lstdc++ +compiler.c.elf.libs=-lgcc -lopenssl -lbtdm_app -lfatfs -lwps -lcoexist -lwear_levelling -lesp_http_client -lprotobuf-c -lhal -lnewlib -ldriver -lbootloader_support -lpp -lfreemodbus -lmesh -lsmartconfig -ljsmn -lwpa -lethernet -lphy -lfrmn -lapp_trace -lfr_coefficients -lconsole -lulp -lwpa_supplicant -lfreertos -lbt -lmicro-ecc -lesp32-camera -lcxx -lxtensa-debug-module -ltcp_transport -lmdns -lvfs -lmtmn -lesp_ringbuf -lsoc -lcore -lfb_gfx -lsdmmc -llibsodium -lcoap -ltcpip_adapter -lprotocomm -lesp_event -limage_util -lc_nano -lesp-tls -lasio -lrtc -lspi_flash -lwpa2 -lwifi_provisioning -lesp32 -lface_recognition -lapp_update -lnghttp -lspiffs -lface_detection -lespnow -lnvs_flash -lesp_adc_cal -llog -ldl_lib -lsmartconfig_ack -lexpat -lfd_coefficients -lm -lmqtt -lc -lheap -lmbedtls -llwip -lnet80211 -lesp_http_server -lpthread -ljson -lesp_https_ota -lstdc++ compiler.as.cmd=xtensa-esp32-elf-as diff --git a/tools/gen_esp32part.py b/tools/gen_esp32part.py index 17075074..e3c8a6dc 100755 --- a/tools/gen_esp32part.py +++ b/tools/gen_esp32part.py @@ -29,41 +29,36 @@ import struct import sys import hashlib import binascii -import errno MAX_PARTITION_LENGTH = 0xC00 # 3K for partition data (96 entries) leaves 1K in a 4K sector for signature -MD5_PARTITION_BEGIN = b"\xEB\xEB" + b"\xFF" * 14 # The first 2 bytes are like magic numbers for MD5 sum +MD5_PARTITION_BEGIN = b"\xEB\xEB" + b"\xFF" * 14 # The first 2 bytes are like magic numbers for MD5 sum PARTITION_TABLE_SIZE = 0x1000 # Size of partition table -MIN_PARTITION_SUBTYPE_APP_OTA = 0x10 -NUM_PARTITION_SUBTYPE_APP_OTA = 16 - __version__ = '1.2' APP_TYPE = 0x00 DATA_TYPE = 0x01 TYPES = { - "app": APP_TYPE, - "data": DATA_TYPE, + "app" : APP_TYPE, + "data" : DATA_TYPE, } # Keep this map in sync with esp_partition_subtype_t enum in esp_partition.h SUBTYPES = { - APP_TYPE: { - "factory": 0x00, - "test": 0x20, + APP_TYPE : { + "factory" : 0x00, + "test" : 0x20, }, - DATA_TYPE: { - "ota": 0x00, - "phy": 0x01, - "nvs": 0x02, - "coredump": 0x03, - "nvs_keys": 0x04, - "efuse": 0x05, - "esphttpd": 0x80, - "fat": 0x81, - "spiffs": 0x82, + DATA_TYPE : { + "ota" : 0x00, + "phy" : 0x01, + "nvs" : 0x02, + "coredump" : 0x03, + "nvs_keys" : 0x04, + "esphttpd" : 0x80, + "fat" : 0x81, + "spiffs" : 0x82, }, } @@ -72,19 +67,16 @@ md5sum = True secure = False offset_part_table = 0 - def status(msg): """ Print status message to stderr """ if not quiet: critical(msg) - def critical(msg): """ Print critical message to stderr """ sys.stderr.write(msg) sys.stderr.write('\n') - class PartitionTable(list): def __init__(self): super(PartitionTable, self).__init__(self) @@ -106,15 +98,15 @@ class PartitionTable(list): if line.startswith("#") or len(line) == 0: continue try: - res.append(PartitionDefinition.from_csv(line, line_no + 1)) + res.append(PartitionDefinition.from_csv(line, line_no+1)) except InputError as e: - raise InputError("Error at line %d: %s" % (line_no + 1, e)) + raise InputError("Error at line %d: %s" % (line_no+1, e)) except Exception: - critical("Unexpected error parsing CSV line %d: %s" % (line_no + 1, line)) + critical("Unexpected error parsing CSV line %d: %s" % (line_no+1, line)) raise # fix up missing offsets & negative sizes - last_end = offset_part_table + PARTITION_TABLE_SIZE # first offset after partition table + last_end = offset_part_table + PARTITION_TABLE_SIZE # first offset after partition table for e in res: if e.offset is not None and e.offset < last_end: if e == res[0]: @@ -153,14 +145,14 @@ class PartitionTable(list): ptype = TYPES[ptype] except KeyError: try: - ptype = int(ptype, 0) + ptypes = int(ptype, 0) except TypeError: pass try: subtype = SUBTYPES[int(ptype)][subtype] except KeyError: try: - ptype = int(ptype, 0) + ptypes = int(ptype, 0) except TypeError: pass @@ -179,11 +171,11 @@ class PartitionTable(list): # verify each partition individually for p in self: p.verify() - + # check on duplicate name - names = [p.name for p in self] - duplicates = set(n for n in names if names.count(n) > 1) - + names = [ p.name for p in self ] + duplicates = set( n for n in names if names.count(n) > 1 ) + # print sorted duplicate partitions by name if len(duplicates) != 0: print("A list of partitions that have the same name:") @@ -191,14 +183,14 @@ class PartitionTable(list): if len(duplicates.intersection([p.name])) != 0: print("%s" % (p.to_csv())) raise InputError("Partition names must be unique") - + # check for overlaps last = None for p in sorted(self, key=lambda x:x.offset): if p.offset < offset_part_table + PARTITION_TABLE_SIZE: raise InputError("Partition offset 0x%x is below 0x%x" % (p.offset, offset_part_table + PARTITION_TABLE_SIZE)) if last is not None and p.offset < last.offset + last.size: - raise InputError("Partition at 0x%x overlaps 0x%x-0x%x" % (p.offset, last.offset, last.offset + last.size - 1)) + raise InputError("Partition at 0x%x overlaps 0x%x-0x%x" % (p.offset, last.offset, last.offset+last.size-1)) last = p def flash_size(self): @@ -213,17 +205,17 @@ class PartitionTable(list): @classmethod def from_binary(cls, b): - md5 = hashlib.md5() + md5 = hashlib.md5(); result = cls() for o in range(0,len(b),32): - data = b[o:o + 32] + data = b[o:o+32] if len(data) != 32: raise InputError("Partition table length must be a multiple of 32 bytes") - if data == b'\xFF' * 32: + if data == b'\xFF'*32: return result # got end marker - if md5sum and data[:2] == MD5_PARTITION_BEGIN[:2]: # check only the magic number part + if md5sum and data[:2] == MD5_PARTITION_BEGIN[:2]: #check only the magic number part if data[16:] == md5.digest(): - continue # the next iteration will check for the end marker + continue # the next iteration will check for the end marker else: raise InputError("MD5 checksums don't match! (computed: 0x%s, parsed: 0x%s)" % (md5.hexdigest(), binascii.hexlify(data[16:]))) else: @@ -235,35 +227,34 @@ class PartitionTable(list): result = b"".join(e.to_binary() for e in self) if md5sum: result += MD5_PARTITION_BEGIN + hashlib.md5(result).digest() - if len(result) >= MAX_PARTITION_LENGTH: + if len(result )>= MAX_PARTITION_LENGTH: raise InputError("Binary partition table length (%d) longer than max" % len(result)) result += b"\xFF" * (MAX_PARTITION_LENGTH - len(result)) # pad the sector, for signing return result def to_csv(self, simple_formatting=False): - rows = ["# Espressif ESP32 Partition Table", - "# Name, Type, SubType, Offset, Size, Flags"] - rows += [x.to_csv(simple_formatting) for x in self] + rows = [ "# Espressif ESP32 Partition Table", + "# Name, Type, SubType, Offset, Size, Flags" ] + rows += [ x.to_csv(simple_formatting) for x in self ] return "\n".join(rows) + "\n" - class PartitionDefinition(object): MAGIC_BYTES = b"\xAA\x50" ALIGNMENT = { - APP_TYPE: 0x10000, - DATA_TYPE: 0x04, + APP_TYPE : 0x10000, + DATA_TYPE : 0x04, } # dictionary maps flag name (as used in CSV flags list, property name) # to bit set in flags words in binary format FLAGS = { - "encrypted": 0 + "encrypted" : 0 } # add subtypes for the 16 OTA slot values ("ota_XX, etc.") - for ota_slot in range(NUM_PARTITION_SUBTYPE_APP_OTA): - SUBTYPES[TYPES["app"]]["ota_%d" % ota_slot] = MIN_PARTITION_SUBTYPE_APP_OTA + ota_slot + for ota_slot in range(16): + SUBTYPES[TYPES["app"]]["ota_%d" % ota_slot] = 0x10 + ota_slot def __init__(self): self.name = "" @@ -277,7 +268,7 @@ class PartitionDefinition(object): def from_csv(cls, line, line_no): """ Parse a line from the CSV """ line_w_defaults = line + ",,,," # lazy way to support default fields - fields = [f.strip() for f in line_w_defaults.split(",")] + fields = [ f.strip() for f in line_w_defaults.split(",") ] res = PartitionDefinition() res.line_no = line_no @@ -307,7 +298,7 @@ class PartitionDefinition(object): def maybe_hex(x): return "0x%x" % x if x is not None else "None" return "PartitionDefinition('%s', 0x%x, 0x%x, %s, %s)" % (self.name, self.type, self.subtype or 0, - maybe_hex(self.offset), maybe_hex(self.size)) + maybe_hex(self.offset), maybe_hex(self.size)) def __str__(self): return "Part '%s' %d/%d @ 0x%x size 0x%x" % (self.name, self.type, self.subtype, self.offset or -1, self.size or -1) @@ -334,7 +325,7 @@ class PartitionDefinition(object): def parse_subtype(self, strval): if strval == "": - return 0 # default + return 0 # default return parse_int(strval, SUBTYPES.get(self.type, {})) def parse_address(self, strval): @@ -358,14 +349,12 @@ class PartitionDefinition(object): raise ValidationError(self, "Size field is not set") if self.name in TYPES and TYPES.get(self.name, "") != self.type: - critical("WARNING: Partition has name '%s' which is a partition type, but does not match this partition's " - "type (0x%x). Mistake in partition table?" % (self.name, self.type)) + critical("WARNING: Partition has name '%s' which is a partition type, but does not match this partition's type (0x%x). Mistake in partition table?" % (self.name, self.type)) all_subtype_names = [] for names in (t.keys() for t in SUBTYPES.values()): all_subtype_names += names if self.name in all_subtype_names and SUBTYPES.get(self.type, {}).get(self.name, "") != self.subtype: - critical("WARNING: Partition has name '%s' which is a partition subtype, but this partition has " - "non-matching type 0x%x and subtype 0x%x. Mistake in partition table?" % (self.name, self.type, self.subtype)) + critical("WARNING: Partition has name '%s' which is a partition subtype, but this partition has non-matching type 0x%x and subtype 0x%x. Mistake in partition table?" % (self.name, self.type, self.subtype)) STRUCT_FORMAT = b"<2sBBLL16sL" @@ -376,21 +365,21 @@ class PartitionDefinition(object): res = cls() (magic, res.type, res.subtype, res.offset, res.size, res.name, flags) = struct.unpack(cls.STRUCT_FORMAT, b) - if b"\x00" in res.name: # strip null byte padding from name string + if b"\x00" in res.name: # strip null byte padding from name string res.name = res.name[:res.name.index(b"\x00")] res.name = res.name.decode() if magic != cls.MAGIC_BYTES: raise InputError("Invalid magic bytes (%r) for partition definition" % magic) for flag,bit in cls.FLAGS.items(): - if flags & (1 << bit): + if flags & (1<*m-EYVA5U|?WSi%&`1ctM4+-Z#S2 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 delta 11625 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 diff --git a/tools/sdk/bin/bootloader_dout_40m.bin b/tools/sdk/bin/bootloader_dout_40m.bin index 32cb776905cb5290c81638c52a5c7ed633c93149..426177f6ce65af8ead858d2a1ecf845624be40b3 100644 GIT binary patch delta 8519 zcmdnc!1$n?^(70l!kme$t0ymD6ynRw%Pi4LW?*1oP>WAVTzG+*>4n1NOUzCZYZ|`T z|Nqbbhk-$Wi2=<1&&c<;%;Vt!v3bC3kUDLiu10n+kB0}uW(BiBGTuC^8X5mT z;HYQd;o$*s{{MTx!2mYSnrBwyFEEdX2gLpXVsCu^4-^L6jj#SStP+^`=HG->pfFg; zz3~-9qG6Q)T%Zfxnw_>IWlxGsd4aI6e%oH zc>4GM^2r=LLb4wic$j2Afbir39#O7ae`P<^e3Jd3cx`e&k7&^4zXoOkjhFs*aI_2C z^Kdm@0vX1`)p!w1%lq)%Wj=W3FAw)x?#8nqp`KGbT#aWyERZ1#42?(rT5|AkH68~E z8JHbNJUICqk7E5!5O>i6hQ=KrhQkqsz07NwQq>rBxp=r5w}QmhGNpe04{|lwpN<>< zInXox-_-k&G=(y~!gOh+l!HaRmmC>=1I_18)X5*Q#Aph%efw~2#6 ztbz&T*dDNQuEuUCJpoK}Hg^4;{Hs&Fu=4LxCQh+v zh6@cMVH!-0Wq%JSFig^5IPi+Ou^7be;Aog>(C~`+K*xcF1(TofnfRxGgjaAjCjW&M zMU9DIA&!X&eA1M6?bq< zwD~(>x4@)D3?NZ9P!2t4FS1qaNdpu`T!b_>7$0hQ%kIX@?KfDG#7YGnO8 znMKg1{yRuw2gicdAmNo93!j4dT#cXpG<1W6I=L1;f(pGu2wegRb#TE9TX-A9-@(=R z458#AROm5WXyX--&?~CXO9{yg+%RK}i6dEtt--gL7;>$P|PKk5pq7 zNW`$@kAa#%g29&zMk_P0#>V_V4WSUdtY?|PdJ8}*!Fs_Wixx08W`l$rXM?i;mXSw#>CDOA zB31QE7ySnX87SX^u-QR|MM?}}uQ)d;F&g^+*>23#rpoYi21uI~rw;2`*1cQ;3l$nY zL2f?Fy6Lh&)WSwL5N9p3>b(CJjA_g)7L97mEJjLdXNonH#EjTL1)9J@h1AynVo{8X z4k|ot`QLNOg3+VVz@?bmrJhHajf(*!-~3-}7K4)_1Gfv0up2AGqJs*lP5;GKF*qr5 zI34-VBkab&z{5PJSxHGvLFEyouvJ<=SM~##0686G5xCR?l{rcvH}Oa{DuC!ki(fR# zgBTM({%*Yd8yw+m|3TrxRA2MNeX>RO#zlt&mY)AF=EcyxQ1$750YQbOzyCXIQCQ2Q z%FeKoai?I1V9$x}jcXZG&;IYR>R$Nt(SL3iHwFe@=4UL|rJdb47#JX`S-`3-1bYsH zRi6T@R(KmVeIEs&c^Kf)Bf%2`HBSY9FhKmn=AAImT#(Lp{->Q8a4hkY-ml!VI`+e~C?-=ie zw|_tF;czH&bdzRaU{JjBJA)}9!9<2NA@o2%c(UR(khe9M!kqrMu`(#MH8@`S?clM% zplQJ(4Teq?N*ro*qzOa6I~Za+A2Y&2f+pPbM}{qm+S1MDYlOAIAO@=DDhvGDli!_+jgud{ID9#3PJed?HfM}4Q z$QK@_HWr2llLTiuH}?GQ>RiF0sx`S?Vv=kAZ-@^Z877AOo;9gy0pr5p-_v(7H7#Ih zm{8K_`@2gCBsB^_O^Ib0k6{#whd`s@E%=B2Lx6~F$H z{jiq#smp(u-+8zie}PQ3`r!YYRgIs2sqfHD3)V3F_{++u@yajr9rA`Bepwlr z?_d@;d_UPvT8l~5X>yiygxdLE?y9`8j6qi$+*MtVv4eUyJfewbesw6OYcTS#1_YGw zh&3Lc{6bojcjGVF4~px5foxS=H(5@`NpSVA^zBS;NetkGzm}!3V{)O4FjK0*shwFOluh%l|k&ijEfFNG%A9aGCZ3OMx0vO$p35dIypCw&Yw*jjC&;91Q>WY8@Yag z8Za3Q6A%1s%|LgTuh4>%Z_lo=X2 z1Us1_%}-EEV=dFu*Z&)rg7h0@FicGQ*|-?Qo|M7RxB$dx(qIU)_^+@?A@${dr3DPK zAIuUN6c_zm%ar=!KREaQ{2#`}YQdHf}10z%YZWX*~l-^wEzd4o2&a zhK7;}kbW4~#L}OQ#UPzCIgZsZ)H5(#f5GGy%rG$vB=&-Hq2kX4>p(U7N>F$C1?R%7 zp9|K3%w5S@{)354i=pux$jCnxpoS`Eqs&iO_hw-X$bcDKjkmzgiG(|6V)W0(aFEG!wbD=LtYz9~3X|QH5xMpO(YyerzjqI0&j!$O92Dqaq{`=AR6(l#4W8teGPxt=s;i~760%Zs@M+U_oAejy(#qU3~I(V3PBpWm* zgNj8^PMP@mN8<;O^h^$LMZ?3{_y)!W%Y%6~_jzvk}u4|eQkK$breN0`V!!{_@Bd32865uq|Nj5~|DThqwNzOcEEpIjFVQ;5zjW3QXdHpM`2CY> zwAJkv|2VW@!KMWapmIM5G#<2;@#*jXP3z~j&th7-@W)=RwTw>}|A34qGN7#G}BRsB7Asg7clDkme)szwEnEs!W|R0Odh zB8}1@Ei*V8rT({fepJ1}aA1{Sqs0G)U5hqs0QKJ`KuSS2n>jLon!chS{sJupP~Spm zvV!jM`lq0gsgDo-JzB_c@&3Pq_x~N(#MpTM-wKY#2Ot?9uEzUN`W}du{b1I}kow~P zQcDKKtN&Iq@yN>b>}6bd@!wP7AG%y&uQ=8+rq1}@cm*`3(!p^(gBLQg)WLB)gNaR+ zVW|bf(&ztGU;hVH1j7@%n*Wo>d(i@h)YzXJ5C7xgQVsv9 z8uIgL(9gz$AVX(xOau=y&E%N4AH-k5*|-lr?DJIar>fZG9eQ$XTmG$OY&<;qj-G1$ z>VG^;3NHc-6c`jT0vHq+6cUAX87D6P*SPdw`%d1A%l;i)_Af?y;j({Exfv%eg9$JF zcW}YK8101%{-ts;HqQRnZp3?W;lG2k|HW7@oc&Lg6DBtI-@$4BV!Rhl`}dTcapA;& z2PghpaOMCHcVhy`dpul?LG@sURAVie=7Q2vjnz>8WDu>`1MoL|$W;76~ulUzk0aCPd?e`uj1_uVV|NlWlEF~b* zc4$m22GKJ$KxI_L#6sAh9JuzVn3#vg&xQ@sf#qjR%=iZy97%_X&H$M*V`2(Omx3lJ zmut?LJjFmjC+?rZ90BO~NJY<7?pDR9e+nG}piUWwqCdz5D>h9G`!`{RKx63S3kEX5 z{-6kh)`&$tQ@C9kJ^nSgfHklv+JZF9Sk&n9uc1Z2(fOZ)r$B=X$TrVK2NW2Lk`xpj z{wXmriaD{adFp5gQXElYC_UNUP@Pj1#PcXJRGpk}D5WS1<}oX3{8La-@MSunz@W+8 zC=L?r;86eZMNxF}Dno5e3D8*V0wo1d-b!R>ybT%_nZeO`>u-DK$Hr$MUI)kb7s8GF zlm8h?*K__`q{%QtawX$T!AT1kCOI-R%n)p3`L}|xp-W&wheA^#!&7aB1q(zjbTLk3 z__u;_!YYA=RSGK^pBgYMSith2i*e%bzX;JCf=gQ%pt-a08_2E|9239(MQw6?f)7R= zP+(6Hh^`_>> zAgysfNPvfzXAMMtHKft4p!^|Nm?-ZXmK<& zgCskd6gxpeGng7XKsGcjWq?@$N-~ZNiVc%$ExwH0c(iJ5}y zTaf5oHXa*@Q7^$<7M>Ug_bG_G^x^+ARxw;{3=E4FENGko5>mYL#}Yh50rHpP%gLPP zs*DdN>zkK~?*NTobuc${i>gT|^?0ahShVpl819?A+gwT#JltiZ%wS+3B9_dkCakEY zti81He`@38cjitC^T9efCNB6hp+jK$3>F@V1|m z*STw%8mEHXv#@t^qlHv`=br_Oni@O*G<0ohXfj-2Z)nhQfV;!66{M+?xv>aD&)_g@ z`eR@TN;gIs3`>9fe`X}pSPYV};7~03qhKtcsQO1i85DRBdm3|~lG$KMOJqqiM}`=V zb|Jy01q<4RgzB3Xd}tRE5fD^R&HK;8#pB_|%)leXQ=mnCP!POY`2h`7q`U6dqTni)qJbn9rEmLC%$iJ%b43HLM zS7QK(zt9<^t$qeqqZ3%409@ZhCy>kv&ZadCumLv@fcP;^;~iZwHATEMvU`TwQi3~9nlOZ)#DDKUgyX4s^}v`t%Mg^}trP~NXk z6BbvU^glI}LG|4KO-hWaTmLUoVt)Ge{{#kxG-W2$uOLOB)GiM)xr3>p;fq6uprYy@ zt&WK@e(QUxr5U zKMlJU9Tfj_QQ}X-s-{$~?*_XkFSpXQ`T!XUQqUGn6Jq0$*6DhB^S|LIkYES1BFi6z z4gn=bWd-;=CG*55U^!03f0OyFCG3CvR_GAWXjD*Db%3kkRQv)~!({mRw}AyHWmtl0 zoen0$55Em8Kq<+RNr_S6&nCrdlT)oVM0fmOprvq(kKyUt|GHdzq}+HI7z~e3USw_H zkqR6ZUzq*NXM zFFGi&^xl7^L;o8$f%Gb6F!=mXJTO_xMk;pKZv|z6#=hU}lUPAvQvP4Pn1AE8-y4(~ zc%*o^6?Qd0t^B{DalsZPDOQ1np zbVHNi1x>+;D<)60QL10?yJ3~Ug5|6aRteVZXiyRWSEr40Kze6zuvZq=yl7AoXq@@G zp;MrtkL5#$V9l)sN&*c^3XS<-v3`~Z9fCExpkkUJeH|RnUnEWF5V_DHm{SFn=mab7 z64}rpxM=-+s9@{whRH^@B8&}_-E9-JWPU4jC@98(On{G#I;Q+K-@uz7zh$v!7(x5_k>jf3KK*O zW(vZ({s$BoA~+^`{hlxt6sO>NYX!$dcaTDZ2~QXh3Ilm3$J^=Gv;SseXJ9zU`r8du z{TyWe?FJe)J;?OijS)1Cbnx%5g&e;ZY+l5}yI^tC(-Yrpxnj9gTmPTo(&=i{_`P7o zq2;DbZHf$miXbP=U~N9)|J>Q`Ho5ru8v8ELq6My|eZGwD9(zkVPFF-!tCG8hn7XUO;2+pwM_dvG?W% hS*0y3f}sZ#xFf#jD=6>(E3wpP-Dl_Edtu5|w*eu-U!wp3 delta 9792 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 diff --git a/tools/sdk/bin/bootloader_dout_80m.bin b/tools/sdk/bin/bootloader_dout_80m.bin index d4d1fc6cc7df8c72ae69f843e7a198bdfd2ae02c..47a780e0f0f094bac1e17b2ca79b5555a00cc250 100644 GIT binary patch delta 8539 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

SWMYuen(NwBCs+h!@}PN z7NC@23958Em<;oN8(4snk|mQ8qr#s}iXoGI9W_LE{9mA@aEy=P>D&LhTzjP4co-NA zT_<-r8q_}k4+e5H-v8C!`Ef1N(xd+uTK-l$^V7=zD;gIpVtv{Nq8E#*wt?aW zoawbe=B{8;)cUQUC7>`@v{CbSLzh5K*cXK=7r7S_CIP!ebq|J~3j(9p;7p+m6d)&eDg1|@~Yx4%GQ{VWeU1Z#Fd z#g>4Aq=V!6i=+u1A{ROYbE=>c>|g`BL^gB?E?PeyD#-l1L3F0TggGJ;W(qc~t8Y*e zm;h>OH2#~c@0_4D{g*+$ahfsAdDt({LN} zNHq%n5`MtJ&^QsK7u3dLdM5n5F?uqGt3G4BIUcFTn;>>$B*>x;j_(<7WG6py6<0hGVO%hm hamn09Y02F3r$>JC%%AYI`fznW*CKblM7inr#Q~(q3R(aF delta 10922 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 delta 11006 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

SWMYuen(NwBCs+h!@}PN z7NC@23958Em<;oN8(4snk|mQ8qr#s}iXoGI9W_LE{9mA@aEy=P>D&LhTzjP4co-NA zT_<-r8q_}k4+e5H-v8C!`Ef1N(xd+uTK-l$^V7=zD;gIpVtv{Nq8E#*wt?aW zoawbe=B{8;)cUQUC7>`@v{CbSLzh5K*cXK=7r7S_CIP!ebq|J~3j(9p;7p+m6d)&eDg1|@~Yx4%GQ{VWeU1Z#Fd z#g>4Aq=V!6i=+u1A{ROYbE=>c>|g`BL^gB?E?PeyD#-l1L3F0TggGJ;W(qc~t8Y*e zm;h>OH2#~c@0_4D{g*+$ahfsAdDt({LN} zNHq%n5`MtJ&^QsK7u3dLdM5n5F?uqGt3G4BIUcFTn;>>$B*>x;j_(<7WG6py6<54cP`+o| i5y>^WeE$x~%kgKQwK~O{{?A7;-*^3-%ioTvL;(O+z6%}z delta 10922 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 NXSGN!Wx07n832tr_G|zE diff --git a/tools/sdk/include/app_trace/esp_app_trace.h b/tools/sdk/include/app_trace/esp_app_trace.h index a623ada7..dbac4f47 100644 --- a/tools/sdk/include/app_trace/esp_app_trace.h +++ b/tools/sdk/include/app_trace/esp_app_trace.h @@ -51,7 +51,7 @@ void esp_apptrace_down_buffer_config(uint8_t *buf, uint32_t size); * * @param dest Indicates HW interface to send data. * @param size Size of data to write to trace buffer. - * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely. + * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly. * * @return non-NULL on success, otherwise NULL. */ @@ -63,7 +63,7 @@ uint8_t *esp_apptrace_buffer_get(esp_apptrace_dest_t dest, uint32_t size, uint32 * * @param dest Indicates HW interface to send data. Should be identical to the same parameter in call to esp_apptrace_buffer_get. * @param ptr Address of trace buffer to release. Should be the value returned by call to esp_apptrace_buffer_get. - * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely. + * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly. * * @return ESP_OK on success, otherwise see esp_err_t */ @@ -75,7 +75,7 @@ esp_err_t esp_apptrace_buffer_put(esp_apptrace_dest_t dest, uint8_t *ptr, uint32 * @param dest Indicates HW interface to send data. * @param data Address of data to write to trace buffer. * @param size Size of data to write to trace buffer. - * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely. + * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly. * * @return ESP_OK on success, otherwise see esp_err_t */ @@ -85,7 +85,7 @@ esp_err_t esp_apptrace_write(esp_apptrace_dest_t dest, const void *data, uint32_ * @brief vprintf-like function to sent log messages to host via specified HW interface. * * @param dest Indicates HW interface to send data. - * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely. + * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly. * @param fmt Address of format string. * @param ap List of arguments. * @@ -107,7 +107,7 @@ int esp_apptrace_vprintf(const char *fmt, va_list ap); * @brief Flushes remaining data in trace buffer to host. * * @param dest Indicates HW interface to flush data on. - * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely. + * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly. * * @return ESP_OK on success, otherwise see esp_err_t */ @@ -119,7 +119,7 @@ esp_err_t esp_apptrace_flush(esp_apptrace_dest_t dest, uint32_t tmo); * * @param dest Indicates HW interface to flush data on. * @param min_sz Threshold for flushing data. If current filling level is above this value, data will be flushed. TRAX destinations only. - * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely. + * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly. * * @return ESP_OK on success, otherwise see esp_err_t */ @@ -131,31 +131,31 @@ esp_err_t esp_apptrace_flush_nolock(esp_apptrace_dest_t dest, uint32_t min_sz, u * @param dest Indicates HW interface to read the data on. * @param data Address of buffer to put data from trace buffer. * @param size Pointer to store size of read data. Before call to this function pointed memory must hold requested size of data - * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely. + * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly. * * @return ESP_OK on success, otherwise see esp_err_t */ esp_err_t esp_apptrace_read(esp_apptrace_dest_t dest, void *data, uint32_t *size, uint32_t tmo); /** - * @brief Retrieves incoming data buffer if any. + * @brief Rertrieves incoming data buffer if any. * After data in buffer are processed esp_apptrace_down_buffer_put must be called to indicate it. * * @param dest Indicates HW interface to receive data. - * @param size Address to store size of available data in down buffer. Must be initialized with requested value. - * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely. + * @param size Address to store size of available data in down buffer. Must be initializaed with requested value. + * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly. * * @return non-NULL on success, otherwise NULL. */ uint8_t *esp_apptrace_down_buffer_get(esp_apptrace_dest_t dest, uint32_t *size, uint32_t tmo); /** - * @brief Indicates that the data in down buffer are processed. + * @brief Indicates that the data in down buffer are processesd. * This function is a counterpart of and must be preceeded by esp_apptrace_down_buffer_get. * * @param dest Indicates HW interface to receive data. Should be identical to the same parameter in call to esp_apptrace_down_buffer_get. * @param ptr Address of trace buffer to release. Should be the value returned by call to esp_apptrace_down_buffer_get. - * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely. + * @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly. * * @return ESP_OK on success, otherwise see esp_err_t */ @@ -247,7 +247,7 @@ int esp_apptrace_ftell(esp_apptrace_dest_t dest, void *stream); /** * @brief Indicates to the host that all file operations are completed. - * This function should be called after all file operations are finished and + * This function should be called after all file operations are finished and * indicate to the host that it can perform cleanup operations (close open files etc.). * * @param dest Indicates HW interface to use. diff --git a/tools/sdk/include/app_update/esp_ota_ops.h b/tools/sdk/include/app_update/esp_ota_ops.h index 63514463..ca77b542 100644 --- a/tools/sdk/include/app_update/esp_ota_ops.h +++ b/tools/sdk/include/app_update/esp_ota_ops.h @@ -20,8 +20,6 @@ #include #include "esp_err.h" #include "esp_partition.h" -#include "esp_image_format.h" -#include "esp_flash_data_types.h" #ifdef __cplusplus extern "C" @@ -34,10 +32,6 @@ extern "C" #define ESP_ERR_OTA_PARTITION_CONFLICT (ESP_ERR_OTA_BASE + 0x01) /*!< Error if request was to write or erase the current running partition */ #define ESP_ERR_OTA_SELECT_INFO_INVALID (ESP_ERR_OTA_BASE + 0x02) /*!< Error if OTA data partition contains invalid content */ #define ESP_ERR_OTA_VALIDATE_FAILED (ESP_ERR_OTA_BASE + 0x03) /*!< Error if OTA app image is invalid */ -#define ESP_ERR_OTA_SMALL_SEC_VER (ESP_ERR_OTA_BASE + 0x04) /*!< Error if the firmware has a secure version less than the running firmware. */ -#define ESP_ERR_OTA_ROLLBACK_FAILED (ESP_ERR_OTA_BASE + 0x05) /*!< Error if flash does not have valid firmware in passive partition and hence rollback is not possible */ -#define ESP_ERR_OTA_ROLLBACK_INVALID_STATE (ESP_ERR_OTA_BASE + 0x06) /*!< Error if current active firmware is still marked in pending validation state (ESP_OTA_IMG_PENDING_VERIFY), essentially first boot of firmware image post upgrade and hence firmware upgrade is not possible */ - /** * @brief Opaque handle for an application OTA update @@ -47,24 +41,6 @@ extern "C" */ typedef uint32_t esp_ota_handle_t; -/** - * @brief Return esp_app_desc structure. This structure includes app version. - * - * Return description for running app. - * @return Pointer to esp_app_desc structure. - */ -const esp_app_desc_t *esp_ota_get_app_description(void); - -/** - * @brief Fill the provided buffer with SHA256 of the ELF file, formatted as hexadecimal, null-terminated. - * If the buffer size is not sufficient to fit the entire SHA256 in hex plus a null terminator, - * the largest possible number of bytes will be written followed by a null. - * @param dst Destination buffer - * @param size Size of the buffer - * @return Number of bytes written to dst (including null terminator) - */ -int esp_ota_get_app_elf_sha256(char* dst, size_t size); - /** * @brief Commence an OTA update writing to the specified partition. @@ -76,10 +52,6 @@ int esp_ota_get_app_elf_sha256(char* dst, size_t size); * On success, this function allocates memory that remains in use * until esp_ota_end() is called with the returned handle. * - * Note: If the rollback option is enabled and the running application has the ESP_OTA_IMG_PENDING_VERIFY state then - * it will lead to the ESP_ERR_OTA_ROLLBACK_INVALID_STATE error. Confirm the running app before to run download a new app, - * use esp_ota_mark_app_valid_cancel_rollback() function for it (this should be done as early as possible when you first download a new application). - * * @param partition Pointer to info for partition which will receive the OTA update. Required. * @param image_size Size of new OTA app image. Partition will be erased in order to receive this size of image. If 0 or OTA_SIZE_UNKNOWN, the entire partition is erased. * @param out_handle On success, returns a handle which should be used for subsequent esp_ota_write() and esp_ota_end() calls. @@ -93,7 +65,6 @@ int esp_ota_get_app_elf_sha256(char* dst, size_t size); * - ESP_ERR_OTA_SELECT_INFO_INVALID: The OTA data partition contains invalid data. * - ESP_ERR_INVALID_SIZE: Partition doesn't fit in configured flash size. * - ESP_ERR_FLASH_OP_TIMEOUT or ESP_ERR_FLASH_OP_FAIL: Flash write failed. - * - ESP_ERR_OTA_ROLLBACK_INVALID_STATE: If the running app has not confirmed state. Before performing an update, the application must be valid. */ esp_err_t esp_ota_begin(const esp_partition_t* partition, size_t image_size, esp_ota_handle_t* out_handle); @@ -199,83 +170,6 @@ const esp_partition_t* esp_ota_get_running_partition(void); */ const esp_partition_t* esp_ota_get_next_update_partition(const esp_partition_t *start_from); -/** - * @brief Returns esp_app_desc structure for app partition. This structure includes app version. - * - * Returns a description for the requested app partition. - * @param[in] partition Pointer to app partition. (only app partition) - * @param[out] app_desc Structure of info about app. - * @return - * - ESP_OK Successful. - * - ESP_ERR_NOT_FOUND app_desc structure is not found. Magic word is incorrect. - * - ESP_ERR_NOT_SUPPORTED Partition is not application. - * - ESP_ERR_INVALID_ARG Arguments is NULL or if partition's offset exceeds partition size. - * - ESP_ERR_INVALID_SIZE Read would go out of bounds of the partition. - * - or one of error codes from lower-level flash driver. - */ -esp_err_t esp_ota_get_partition_description(const esp_partition_t *partition, esp_app_desc_t *app_desc); - -/** - * @brief This function is called to indicate that the running app is working well. - * - * @return - * - ESP_OK: if successful. - */ -esp_err_t esp_ota_mark_app_valid_cancel_rollback(); - -/** - * @brief This function is called to roll back to the previously workable app with reboot. - * - * If rollback is successful then device will reset else API will return with error code. - * Checks applications on a flash drive that can be booted in case of rollback. - * If the flash does not have at least one app (except the running app) then rollback is not possible. - * @return - * - ESP_FAIL: if not successful. - * - ESP_ERR_OTA_ROLLBACK_FAILED: The rollback is not possible due to flash does not have any apps. - */ -esp_err_t esp_ota_mark_app_invalid_rollback_and_reboot(); - -/** - * @brief Returns last partition with invalid state (ESP_OTA_IMG_INVALID or ESP_OTA_IMG_ABORTED). - * - * @return partition. - */ -const esp_partition_t* esp_ota_get_last_invalid_partition(); - -/** - * @brief Returns state for given partition. - * - * @param[in] partition Pointer to partition. - * @param[out] ota_state state of partition (if this partition has a record in otadata). - * @return - * - ESP_OK: Successful. - * - ESP_ERR_INVALID_ARG: partition or ota_state arguments were NULL. - * - ESP_ERR_NOT_SUPPORTED: partition is not ota. - * - ESP_ERR_NOT_FOUND: Partition table does not have otadata or state was not found for given partition. - */ -esp_err_t esp_ota_get_state_partition(const esp_partition_t *partition, esp_ota_img_states_t *ota_state); - -/** - * @brief Erase previous boot app partition and corresponding otadata select for this partition. - * - * When current app is marked to as valid then you can erase previous app partition. - * @return - * - ESP_OK: Successful, otherwise ESP_ERR. - */ -esp_err_t esp_ota_erase_last_boot_app_partition(void); - -/** - * @brief Checks applications on the slots which can be booted in case of rollback. - * - * These applications should be valid (marked in otadata as not UNDEFINED, INVALID or ABORTED and crc is good) and be able booted, - * and secure_version of app >= secure_version of efuse (if anti-rollback is enabled). - * - * @return - * - True: Returns true if the slots have at least one app (except the running app). - * - False: The rollback is not possible. - */ -bool esp_ota_check_rollback_is_possible(void); - #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/bootloader_support/bootloader_common.h b/tools/sdk/include/bootloader_support/bootloader_common.h index d18b97ce..d5a92cc7 100644 --- a/tools/sdk/include/bootloader_support/bootloader_common.h +++ b/tools/sdk/include/bootloader_support/bootloader_common.h @@ -14,7 +14,6 @@ #pragma once #include "esp_flash_data_types.h" -#include "esp_image_format.h" /// Type of hold a GPIO in low state typedef enum { @@ -24,29 +23,21 @@ typedef enum { } esp_comm_gpio_hold_t; /** - * @brief Calculate crc for the OTA data select. + * @brief Calculate crc for the OTA data partition. * - * @param[in] s The OTA data select. + * @param[in] ota_data The OTA data partition. * @return Returns crc value. */ uint32_t bootloader_common_ota_select_crc(const esp_ota_select_entry_t *s); /** - * @brief Verifies the validity of the OTA data select + * @brief Verifies the validity of the OTA data partition * - * @param[in] s The OTA data select. + * @param[in] ota_data The OTA data partition. * @return Returns true on valid, false otherwise. */ bool bootloader_common_ota_select_valid(const esp_ota_select_entry_t *s); -/** - * @brief Returns true if OTADATA is not marked as bootable partition. - * - * @param[in] s The OTA data select. - * @return Returns true if OTADATA invalid, false otherwise. - */ -bool bootloader_common_ota_select_invalid(const esp_ota_select_entry_t *s); - /** * @brief Check if the GPIO input is a long hold or a short hold. * @@ -100,39 +91,3 @@ bool bootloader_common_label_search(const char *list, char *label); * - ESP_FAIL: An allocation error occurred. */ esp_err_t bootloader_common_get_sha256_of_partition(uint32_t address, uint32_t size, int type, uint8_t *out_sha_256); - -/** - * @brief Returns the number of active otadata. - * - * @param[in] two_otadata Pointer on array from two otadata structures. - * - * @return The number of active otadata (0 or 1). - * - -1: If it does not have active otadata. - */ -int bootloader_common_get_active_otadata(esp_ota_select_entry_t *two_otadata); - -/** - * @brief Returns the number of active otadata. - * - * @param[in] two_otadata Pointer on array from two otadata structures. - * @param[in] valid_two_otadata Pointer on array from two bools. True means select. - * @param[in] max True - will select the maximum ota_seq number, otherwise the minimum. - * - * @return The number of active otadata (0 or 1). - * - -1: If it does not have active otadata. - */ -int bootloader_common_select_otadata(const esp_ota_select_entry_t *two_otadata, bool *valid_two_otadata, bool max); - -/** - * @brief Returns esp_app_desc structure for app partition. This structure includes app version. - * - * Returns a description for the requested app partition. - * @param[in] partition App partition description. - * @param[out] app_desc Structure of info about app. - * @return - * - ESP_OK: Successful. - * - ESP_ERR_INVALID_ARG: The arguments passed are not valid. - * - ESP_ERR_NOT_FOUND: app_desc structure is not found. Magic word is incorrect. - * - ESP_FAIL: mapping is fail. - */ -esp_err_t bootloader_common_get_partition_description(const esp_partition_pos_t *partition, esp_app_desc_t *app_desc); diff --git a/tools/sdk/include/bootloader_support/esp_efuse.h b/tools/sdk/include/bootloader_support/esp_efuse.h new file mode 100644 index 00000000..c094a6ab --- /dev/null +++ b/tools/sdk/include/bootloader_support/esp_efuse.h @@ -0,0 +1,99 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// 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 _ESP_EFUSE_H +#define _ESP_EFUSE_H + +#include "soc/efuse_reg.h" +#include "esp_err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* @brief Permanently update values written to the efuse write registers + * + * After updating EFUSE_BLKx_WDATAx_REG registers with new values to + * write, call this function to permanently write them to efuse. + * + * @note Setting bits in efuse is permanent, they cannot be unset. + * + * @note Due to this restriction you don't need to copy values to + * Efuse write registers from the matching read registers, bits which + * are set in the read register but unset in the matching write + * register will be unchanged when new values are burned. + * + * @note This function is not threadsafe, if calling code updates + * efuse values from multiple tasks then this is caller's + * responsibility to serialise. + * + * After burning new efuses, the read registers are updated to match + * the new efuse values. + */ +void esp_efuse_burn_new_values(void); + +/* @brief Reset efuse write registers + * + * Efuse write registers are written to zero, to negate + * any changes that have been staged here. + */ +void esp_efuse_reset(void); + +/* @brief Disable BASIC ROM Console via efuse + * + * By default, if booting from flash fails the ESP32 will boot a + * BASIC console in ROM. + * + * Call this function (from bootloader or app) to permanently + * disable the console on this chip. + */ +void esp_efuse_disable_basic_rom_console(void); + +/* @brief Encode one or more sets of 6 byte sequences into + * 8 bytes suitable for 3/4 Coding Scheme. + * + * This function is only useful if the CODING_SCHEME efuse + * is set to value 1 for 3/4 Coding Scheme. + * + * @param[in] in_bytes Pointer to a sequence of bytes to encode for 3/4 Coding Scheme. Must have length in_bytes_len. After being written to hardware, these bytes will read back as little-endian words. + * @param[out] out_words Pointer to array of words suitable for writing to efuse write registers. Array must contain 2 words (8 bytes) for every 6 bytes in in_bytes_len. Can be a pointer to efuse write registers. + * @param in_bytes_len. Length of array pointed to by in_bytes, in bytes. Must be a multiple of 6. + * + * @return ESP_ERR_INVALID_ARG if either pointer is null or in_bytes_len is not a multiple of 6. ESP_OK otherwise. + */ +esp_err_t esp_efuse_apply_34_encoding(const uint8_t *in_bytes, uint32_t *out_words, size_t in_bytes_len); + +/* @brief Write random data to efuse key block write registers + * + * @note Caller is responsible for ensuring efuse + * block is empty and not write protected, before calling. + * + * @note Behaviour depends on coding scheme: a 256-bit key is + * generated and written for Coding Scheme "None", a 192-bit key + * is generated, extended to 256-bits by the Coding Scheme, + * and then writtten for 3/4 Coding Scheme. + * + * @note This function does not burn the new values, caller should + * call esp_efuse_burn_new_values() when ready to do this. + * + * @param blk_wdata0_reg Address of the first data write register + * in the block + */ +void esp_efuse_write_random_key(uint32_t blk_wdata0_reg); + +#ifdef __cplusplus +} +#endif + +#endif /* __ESP_EFUSE_H */ + diff --git a/tools/sdk/include/bootloader_support/esp_image_format.h b/tools/sdk/include/bootloader_support/esp_image_format.h index 7006cae9..bce3b1d7 100644 --- a/tools/sdk/include/bootloader_support/esp_image_format.h +++ b/tools/sdk/include/bootloader_support/esp_image_format.h @@ -89,25 +89,6 @@ typedef struct { uint32_t data_len; } esp_image_segment_header_t; -#define ESP_APP_DESC_MAGIC_WORD 0xABCD5432 /*!< The magic word for the esp_app_desc structure that is in DROM. */ - -/** - * @brief Description about application. - */ -typedef struct { - uint32_t magic_word; /*!< Magic word ESP_APP_DESC_MAGIC_WORD */ - uint32_t secure_version; /*!< Secure version */ - uint32_t reserv1[2]; /*!< --- */ - char version[32]; /*!< Application version */ - char project_name[32]; /*!< Project name */ - char time[16]; /*!< Compile time */ - char date[16]; /*!< Compile date*/ - char idf_ver[32]; /*!< Version IDF */ - uint8_t app_elf_sha256[32]; /*!< sha256 of elf file */ - uint32_t reserv2[20]; /*!< --- */ -} esp_app_desc_t; -_Static_assert(sizeof(esp_app_desc_t) == 256, "esp_app_desc_t should be 256 bytes"); - #define ESP_IMAGE_MAX_SEGMENTS 16 /* Structure to hold on-flash image metadata */ diff --git a/tools/sdk/include/bt/esp_gap_ble_api.h b/tools/sdk/include/bt/esp_gap_ble_api.h index d067f421..a346f8e8 100644 --- a/tools/sdk/include/bt/esp_gap_ble_api.h +++ b/tools/sdk/include/bt/esp_gap_ble_api.h @@ -54,7 +54,6 @@ typedef uint8_t esp_ble_key_type_t; #define ESP_LE_AUTH_NO_BOND 0x00 /*!< 0*/ /* relate to BTM_LE_AUTH_NO_BOND in stack/btm_api.h */ #define ESP_LE_AUTH_BOND 0x01 /*!< 1 << 0 */ /* relate to BTM_LE_AUTH_BOND in stack/btm_api.h */ #define ESP_LE_AUTH_REQ_MITM (1 << 2) /*!< 1 << 2 */ /* relate to BTM_LE_AUTH_REQ_MITM in stack/btm_api.h */ -#define ESP_LE_AUTH_REQ_BOND_MITM (ESP_LE_AUTH_BOND | ESP_LE_AUTH_REQ_MITM)/*!< 0101*/ #define ESP_LE_AUTH_REQ_SC_ONLY (1 << 3) /*!< 1 << 3 */ /* relate to BTM_LE_AUTH_REQ_SC_ONLY in stack/btm_api.h */ #define ESP_LE_AUTH_REQ_SC_BOND (ESP_LE_AUTH_BOND | ESP_LE_AUTH_REQ_SC_ONLY) /*!< 1001 */ /* relate to BTM_LE_AUTH_REQ_SC_BOND in stack/btm_api.h */ #define ESP_LE_AUTH_REQ_SC_MITM (ESP_LE_AUTH_REQ_MITM | ESP_LE_AUTH_REQ_SC_ONLY) /*!< 1100 */ /* relate to BTM_LE_AUTH_REQ_SC_MITM in stack/btm_api.h */ @@ -64,9 +63,6 @@ typedef uint8_t esp_ble_auth_req_t; /*!< combination of the above bit #define ESP_BLE_ONLY_ACCEPT_SPECIFIED_AUTH_DISABLE 0 #define ESP_BLE_ONLY_ACCEPT_SPECIFIED_AUTH_ENABLE 1 -#define ESP_BLE_OOB_DISABLE 0 -#define ESP_BLE_OOB_ENABLE 1 - /* relate to BTM_IO_CAP_xxx in stack/btm_api.h */ #define ESP_IO_CAP_OUT 0 /*!< DisplayOnly */ /* relate to BTM_IO_CAP_OUT in stack/btm_api.h */ #define ESP_IO_CAP_IO 1 /*!< DisplayYesNo */ /* relate to BTM_IO_CAP_IO in stack/btm_api.h */ @@ -275,7 +271,6 @@ typedef enum { ESP_BLE_SM_SET_STATIC_PASSKEY, ESP_BLE_SM_CLEAR_STATIC_PASSKEY, ESP_BLE_SM_ONLY_ACCEPT_SPECIFIED_SEC_AUTH, - ESP_BLE_SM_OOB_SUPPORT, ESP_BLE_SM_MAX_PARAM, } esp_ble_sm_param_t; @@ -558,6 +553,7 @@ typedef enum { ESP_GAP_SEARCH_DISC_CMPL_EVT = 4, /*!< Discovery complete. */ ESP_GAP_SEARCH_DI_DISC_CMPL_EVT = 5, /*!< Discovery complete. */ ESP_GAP_SEARCH_SEARCH_CANCEL_CMPL_EVT = 6, /*!< Search cancelled */ + ESP_GAP_SEARCH_INQ_DISCARD_NUM_EVT = 7, /*!< The number of pkt discarded by flow control */ } esp_gap_search_evt_t; /** @@ -635,6 +631,7 @@ typedef union { int num_resps; /*!< Scan result number */ uint8_t adv_data_len; /*!< Adv data length */ uint8_t scan_rsp_len; /*!< Scan response length */ + uint32_t num_dis; /*!< The number of discard packets */ } scan_rst; /*!< Event parameter of ESP_GAP_BLE_SCAN_RESULT_EVT */ /** * @brief ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT @@ -1140,7 +1137,7 @@ esp_err_t esp_ble_passkey_reply(esp_bd_addr_t bd_addr, bool accept, uint32_t pas /** -* @brief Reply the confirm value to the peer device in the secure connection stage. +* @brief Reply the confirm value to the peer device in the legacy connection stage. * * @param[in] bd_addr : BD address of the peer device * @param[in] accept : numbers to compare are the same or different. @@ -1189,20 +1186,6 @@ int esp_ble_get_bond_device_num(void); */ esp_err_t esp_ble_get_bond_device_list(int *dev_num, esp_ble_bond_dev_t *dev_list); -/** -* @brief This function is called to provide the OOB data for -* SMP in response to ESP_GAP_BLE_OOB_REQ_EVT -* -* @param[in] bd_addr: BD address of the peer device. -* @param[in] TK: TK value, the TK value shall be a 128-bit random number -* @param[in] len: length of tk, should always be 128-bit -* -* @return - ESP_OK : success -* - other : failed -* -*/ -esp_err_t esp_ble_oob_req_reply(esp_bd_addr_t bd_addr, uint8_t *TK, uint8_t len); - #endif /* #if (SMP_INCLUDED == TRUE) */ /** diff --git a/tools/sdk/include/config/sdkconfig.h b/tools/sdk/include/config/sdkconfig.h index 1b7cc240..fa272433 100644 --- a/tools/sdk/include/config/sdkconfig.h +++ b/tools/sdk/include/config/sdkconfig.h @@ -63,7 +63,6 @@ #define CONFIG_MBEDTLS_PEM_WRITE_C 1 #define CONFIG_BT_SPP_ENABLED 1 #define CONFIG_BT_RESERVE_DRAM 0xdb5c -#define CONFIG_APP_COMPILE_TIME_DATE 1 #define CONFIG_CXX_EXCEPTIONS 1 #define CONFIG_FATFS_FS_LOCK 0 #define CONFIG_IP_LOST_TIMER_INTERVAL 120 @@ -72,20 +71,18 @@ #define CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE 20 #define CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED 1 #define CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED 1 +#define CONFIG_CAMERA_CORE1 1 #define CONFIG_MB_SERIAL_BUF_SIZE 256 #define CONFIG_CONSOLE_UART_BAUDRATE 115200 #define CONFIG_SPIRAM_SUPPORT 1 #define CONFIG_LWIP_MAX_SOCKETS 10 -#define CONFIG_APP_ROLLBACK_ENABLE 1 #define CONFIG_LWIP_NETIF_LOOPBACK 1 -#define CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT "pthread" #define CONFIG_EMAC_TASK_PRIORITY 20 #define CONFIG_TIMER_TASK_STACK_DEPTH 2048 #define CONFIG_TCP_MSS 1436 #define CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED 1 #define CONFIG_BTDM_CONTROLLER_MODE_BTDM 1 #define CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF 3 -#define CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4 1 #define CONFIG_TCPIP_TASK_AFFINITY_CPU0 1 #define CONFIG_FATFS_CODEPAGE 850 #define CONFIG_ULP_COPROC_RESERVE_MEM 512 @@ -121,12 +118,10 @@ #define CONFIG_SPIRAM_BANKSWITCH_ENABLE 1 #define CONFIG_MBEDTLS_X509_CRL_PARSE_C 1 #define CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR 1 -#define CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER 1 #define CONFIG_MB_SERIAL_TASK_STACK_SIZE 2048 #define CONFIG_MBEDTLS_PSK_MODES 1 #define CONFIG_GATTS_SEND_SERVICE_CHANGE_AUTO 1 #define CONFIG_LWIP_DHCPS_LEASE_UNIT 60 -#define CONFIG_EFUSE_MAX_BLK_LEN 192 #define CONFIG_SPIFFS_USE_MAGIC 1 #define CONFIG_TCPIP_TASK_STACK_SIZE 2560 #define CONFIG_BLUEDROID_PINNED_TO_CORE_0 1 @@ -138,6 +133,7 @@ #define CONFIG_LWIP_MAX_ACTIVE_TCP 16 #define CONFIG_TASK_WDT_TIMEOUT_S 5 #define CONFIG_INT_WDT_TIMEOUT_MS 300 +#define CONFIG_SCCB_HARDWARE_I2C 1 #define CONFIG_ESPTOOLPY_FLASHMODE "dio" #define CONFIG_BTC_TASK_STACK_SIZE 8192 #define CONFIG_BLUEDROID_ENABLED 1 @@ -146,6 +142,7 @@ #define CONFIG_ESPTOOLPY_BEFORE "default_reset" #define CONFIG_ADC2_DISABLE_DAC 1 #define CONFIG_HFP_ENABLE 1 +#define CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM 100 #define CONFIG_LOG_DEFAULT_LEVEL 1 #define CONFIG_TIMER_QUEUE_LENGTH 10 #define CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT 1 @@ -164,7 +161,6 @@ #define CONFIG_MDNS_MAX_SERVICES 10 #define CONFIG_ULP_COPROC_ENABLED 1 #define CONFIG_HFP_AUDIO_DATA_PATH_PCM 1 -#define CONFIG_IDF_TARGET_ESP32 1 #define CONFIG_EMAC_CHECK_LINK_PERIOD_MS 2000 #define CONFIG_BTDM_LPCLK_SEL_MAIN_XTAL 1 #define CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED 1 @@ -191,10 +187,8 @@ #define CONFIG_MBEDTLS_SSL_PROTO_TLS1_1 1 #define CONFIG_LWIP_SO_REUSE_RXTOALL 1 #define CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT 20 -#define CONFIG_ESP32_WIFI_MGMT_SBUF_NUM 32 #define CONFIG_PARTITION_TABLE_SINGLE_APP 1 #define CONFIG_XTENSA_IMPL 1 -#define CONFIG_UNITY_ENABLE_FLOAT 1 #define CONFIG_ESP32_WIFI_RX_BA_WIN 16 #define CONFIG_MBEDTLS_X509_CSR_PARSE_C 1 #define CONFIG_SPIFFS_USE_MTIME 1 @@ -238,7 +232,6 @@ #define CONFIG_LOG_BOOTLOADER_LEVEL 0 #define CONFIG_MBEDTLS_TLS_ENABLED 1 #define CONFIG_LWIP_MAX_RAW_PCBS 16 -#define CONFIG_BTU_TASK_STACK_SIZE 4096 #define CONFIG_SMP_ENABLE 1 #define CONFIG_SPIRAM_SIZE -1 #define CONFIG_MBEDTLS_SSL_SESSION_TICKETS 1 @@ -276,12 +269,9 @@ #define CONFIG_MBEDTLS_TLS_CLIENT 1 #define CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI 1 #define CONFIG_BT_ENABLED 1 -#define CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY 1 -#define CONFIG_BT_SSP_ENABLED 1 #define CONFIG_SW_COEXIST_PREFERENCE_BALANCE 1 #define CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED 1 #define CONFIG_MONITOR_BAUD 115200 -#define CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT -1 #define CONFIG_ESP32_DEBUG_STUBS_ENABLE 1 #define CONFIG_TCPIP_LWIP 1 #define CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST 1 @@ -292,24 +282,22 @@ #define CONFIG_MBEDTLS_HAVE_TIME 1 #define CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY 1 #define CONFIG_TCP_QUEUE_OOSEQ 1 -#define CONFIG_FATFS_ALLOC_PREFER_EXTRAM 1 #define CONFIG_GATTS_ENABLE 1 #define CONFIG_CXX_EXCEPTIONS_EMG_POOL_SIZE 0 #define CONFIG_ADC_CAL_EFUSE_VREF_ENABLE 1 #define CONFIG_MBEDTLS_TLS_SERVER 1 #define CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT 1 +#define CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED 1 #define CONFIG_FREERTOS_ISR_STACKSIZE 1536 #define CONFIG_SUPPORT_TERMIOS 1 #define CONFIG_CLASSIC_BT_ENABLED 1 #define CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK 1 #define CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK 1 #define CONFIG_OPENSSL_ASSERT_DO_NOTHING 1 -#define CONFIG_IDF_TARGET "esp32" #define CONFIG_WL_SECTOR_SIZE_4096 1 #define CONFIG_OPTIMIZATION_LEVEL_DEBUG 1 #define CONFIG_FREERTOS_NO_AFFINITY 0x7FFFFFFF #define CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED 1 -#define CONFIG_HTTPD_ERR_RESP_NO_DELAY 1 #define CONFIG_MB_TIMER_INDEX 0 #define CONFIG_SCAN_DUPLICATE_TYPE 0 #define CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED 1 @@ -340,8 +328,10 @@ #define CONFIG_MONITOR_BAUD_OTHER_VAL 115200 #define CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF 1 #define CONFIG_ESPTOOLPY_PORT "/dev/cu.usbserial-DO00EAB0" +#define CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS 1 #define CONFIG_TASK_WDT_PANIC 1 -#define CONFIG_UNITY_ENABLE_DOUBLE 1 +#define CONFIG_OV3660_SUPPORT 1 +#define CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD 20 #define CONFIG_BLUEDROID_PINNED_TO_CORE 0 #define CONFIG_BTDM_MODEM_SLEEP_MODE_ORIG 1 #define CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR 1 diff --git a/tools/sdk/include/driver/driver/can.h b/tools/sdk/include/driver/driver/can.h index da0613aa..af7b66e0 100644 --- a/tools/sdk/include/driver/driver/can.h +++ b/tools/sdk/include/driver/driver/can.h @@ -19,7 +19,6 @@ extern "C" { #endif -#include "freertos/FreeRTOS.h" #include "esp_types.h" #include "esp_intr.h" #include "esp_err.h" @@ -106,7 +105,7 @@ extern "C" { #define CAN_EXTD_ID_MASK 0x1FFFFFFF /**< Bit mask for 29 bit Extended Frame Format ID */ #define CAN_STD_ID_MASK 0x7FF /**< Bit mask for 11 bit Standard Frame Format ID */ #define CAN_MAX_DATA_LEN 8 /**< Maximum number of data bytes in a CAN2.0B frame */ -#define CAN_IO_UNUSED ((gpio_num_t) -1) /**< Marks GPIO as unused in CAN configuration */ +#define CAN_IO_UNUSED (-1) /**< Marks GPIO as unused in CAN configuration */ /** @endcond */ /* ----------------------- Enum and Struct Definitions ---------------------- */ @@ -393,34 +392,6 @@ esp_err_t can_initiate_recovery(); */ esp_err_t can_get_status_info(can_status_info_t *status_info); -/** - * @brief Clear the transmit queue - * - * This function will clear the transmit queue of all messages. - * - * @note The transmit queue is automatically cleared when can_stop() or - * can_initiate_recovery() is called. - * - * @return - * - ESP_OK: Transmit queue cleared - * - ESP_ERR_INVALID_STATE: CAN driver is not installed or TX queue is disabled - */ -esp_err_t can_clear_transmit_queue(); - -/** - * @brief Clear the receive queue - * - * This function will clear the receive queue of all messages. - * - * @note The receive queue is automatically cleared when can_start() is - * called. - * - * @return - * - ESP_OK: Transmit queue cleared - * - ESP_ERR_INVALID_STATE: CAN driver is not installed - */ -esp_err_t can_clear_receive_queue(); - #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/driver/driver/i2s.h b/tools/sdk/include/driver/driver/i2s.h index 0957e10c..1f73e1f5 100644 --- a/tools/sdk/include/driver/driver/i2s.h +++ b/tools/sdk/include/driver/driver/i2s.h @@ -189,14 +189,6 @@ typedef struct { int data_in_num; /*!< DATA in pin*/ } i2s_pin_config_t; -/** - * @brief I2S PDM RX downsample mode - */ -typedef enum { - I2S_PDM_DSR_8S = 0, /*!< downsampling number is 8 for PDM RX mode*/ - I2S_PDM_DSR_16S, /*!< downsampling number is 16 for PDM RX mode*/ - I2S_PDM_DSR_MAX, -} i2s_pdm_dsr_t; typedef intr_handle_t i2s_isr_handle_t; /** @@ -223,25 +215,6 @@ typedef intr_handle_t i2s_isr_handle_t; */ esp_err_t i2s_set_pin(i2s_port_t i2s_num, const i2s_pin_config_t *pin); -/** - * @brief Set PDM mode down-sample rate - * In PDM RX mode, there would be 2 rounds of downsample process in hardware. - * In the first downsample process, the sampling number can be 16 or 8. - * In the second downsample process, the sampling number is fixed as 8. - * So the clock frequency in PDM RX mode would be (fpcm * 64) or (fpcm * 128) accordingly. - * @param i2s_num I2S_NUM_0, I2S_NUM_1 - * @param dsr i2s RX down sample rate for PDM mode. - * - * @note After calling this function, it would call i2s_set_clk inside to update the clock frequency. - * Please call this function after I2S driver has been initialized. - * - * @return - * - ESP_OK Success - * - ESP_ERR_INVALID_ARG Parameter error - * - ESP_ERR_NO_MEM Out of memory - */ -esp_err_t i2s_set_pdm_rx_down_sample(i2s_port_t i2s_num, i2s_pdm_dsr_t dsr); - /** * @brief Set I2S dac mode, I2S built-in DAC is disabled by default * diff --git a/tools/sdk/include/driver/driver/rmt.h b/tools/sdk/include/driver/driver/rmt.h index 87916b37..bf6632f5 100644 --- a/tools/sdk/include/driver/driver/rmt.h +++ b/tools/sdk/include/driver/driver/rmt.h @@ -80,19 +80,6 @@ typedef enum { RMT_CARRIER_LEVEL_MAX } rmt_carrier_level_t; -typedef enum { - RMT_CHANNEL_UNINIT = 0, /*!< RMT channel uninitialized */ - RMT_CHANNEL_IDLE = 1, /*!< RMT channel status idle */ - RMT_CHANNEL_BUSY = 2, /*!< RMT channel status busy */ -} rmt_channel_status_t; - -/** - * @brief Data struct of RMT channel status - */ -typedef struct { - rmt_channel_status_t status[RMT_CHANNEL_MAX]; /*!< Store the current status of each channel */ -} rmt_channel_status_result_t; - /** * @brief Data struct of RMT TX configure parameters */ @@ -492,7 +479,6 @@ esp_err_t rmt_get_idle_level(rmt_channel_t channel, bool* idle_out_en, rmt_idle_ * * @param channel RMT channel (0-7) * @param status Pointer to accept channel status. - * Please refer to RMT_CHnSTATUS_REG(n=0~7) in `rmt_reg.h` for more details of each field. * * @return * - ESP_ERR_INVALID_ARG Parameter error @@ -664,19 +650,6 @@ esp_err_t rmt_driver_install(rmt_channel_t channel, size_t rx_buf_size, int intr */ esp_err_t rmt_driver_uninstall(rmt_channel_t channel); -/** - * @brief Get the current status of eight channels. - * - * @note Do not call this function if it is possible that `rmt_driver_uninstall` will be called at the same time. - * - * @param[out] channel_status store the current status of each channel - * - * @return - * - ESP_ERR_INVALID_ARG Parameter is NULL - * - ESP_OK Success - */ -esp_err_t rmt_get_channel_status(rmt_channel_status_result_t *channel_status); - /** * @brief RMT send waveform from rmt_item array. * diff --git a/tools/sdk/include/driver/driver/spi_common.h b/tools/sdk/include/driver/driver/spi_common.h index 02a757bd..b3a92613 100644 --- a/tools/sdk/include/driver/driver/spi_common.h +++ b/tools/sdk/include/driver/driver/spi_common.h @@ -101,32 +101,9 @@ typedef struct { * Call this if your driver wants to manage a SPI peripheral. * * @param host Peripheral to claim - * @param source The caller indentification string. - * * @return True if peripheral is claimed successfully; false if peripheral already is claimed. */ -bool spicommon_periph_claim(spi_host_device_t host, const char* source); - -// The macro is to keep the back-compatibility of IDF v3.2 and before -// In this way we can call spicommon_periph_claim with two arguments, or the host with the source set to the calling function name -// When two arguments (host, func) are given, __spicommon_periph_claim2 is called -// or if only one arguments (host) is given, __spicommon_periph_claim1 is called -#define spicommon_periph_claim(host...) __spicommon_periph_claim(host, 2, 1) -#define __spicommon_periph_claim(host, source, n, ...) __spicommon_periph_claim ## n(host, source) -#define __spicommon_periph_claim1(host, _) ({ \ - char* warning_str = "calling spicommon_periph_claim without source string is deprecated.";\ - spicommon_periph_claim(host, __FUNCTION__); }) - -#define __spicommon_periph_claim2(host, func) spicommon_periph_claim(host, func) - -/** - * @brief Check whether the spi periph is in use. - * - * @param host Peripheral to check. - * - * @return True if in use, otherwise false. - */ -bool spicommon_periph_in_use(spi_host_device_t host); +bool spicommon_periph_claim(spi_host_device_t host); /** * @brief Return the SPI peripheral so another driver can claim it. @@ -147,15 +124,6 @@ bool spicommon_periph_free(spi_host_device_t host); */ bool spicommon_dma_chan_claim(int dma_chan); -/** - * @brief Check whether the spi DMA channel is in use. - * - * @param dma_chan DMA channel to check. - * - * @return True if in use, otherwise false. - */ -bool spicommon_dma_chan_in_use(int dma_chan); - /** * @brief Return the SPI DMA channel so other driver can claim it, or just to power down DMA. * diff --git a/tools/sdk/include/driver/driver/spi_master.h b/tools/sdk/include/driver/driver/spi_master.h index b2acee0d..46085d62 100644 --- a/tools/sdk/include/driver/driver/spi_master.h +++ b/tools/sdk/include/driver/driver/spi_master.h @@ -168,10 +168,6 @@ typedef struct spi_device_t* spi_device_handle_t; ///< Handle for a device on a * @warning If a DMA channel is selected, any transmit and receive buffer used should be allocated in * DMA-capable memory. * - * @warning The ISR of SPI is always executed on the core which calls this - * function. Never starve the ISR on this core or the SPI transactions will not - * be handled. - * * @return * - ESP_ERR_INVALID_ARG if configuration is invalid * - ESP_ERR_INVALID_STATE if host already is in use diff --git a/tools/sdk/include/driver/driver/spi_slave.h b/tools/sdk/include/driver/driver/spi_slave.h index 522c9fb8..546f3b67 100644 --- a/tools/sdk/include/driver/driver/spi_slave.h +++ b/tools/sdk/include/driver/driver/spi_slave.h @@ -73,10 +73,7 @@ struct spi_slave_transaction_t { size_t length; ///< Total data length, in bits size_t trans_len; ///< Transaction data length, in bits const void *tx_buffer; ///< Pointer to transmit buffer, or NULL for no MOSI phase - void *rx_buffer; /**< Pointer to receive buffer, or NULL for no MISO phase. - * When the DMA is anabled, must start at WORD boundary (``rx_buffer%4==0``), - * and has length of a multiple of 4 bytes. - */ + void *rx_buffer; ///< Pointer to receive buffer, or NULL for no MISO phase void *user; ///< User-defined variable. Can be used to store eg transaction ID. }; @@ -92,14 +89,10 @@ struct spi_slave_transaction_t { * it. The SPI hardware has two DMA channels to share. This parameter indicates which * one to use. * - * @warning If a DMA channel is selected, any transmit and receive buffer used should be allocated in + * @warning If a DMA channel is selected, any transmit and receive buffer used should be allocated in * DMA-capable memory. * - * @warning The ISR of SPI is always executed on the core which calls this - * function. Never starve the ISR on this core or the SPI transactions will not - * be handled. - * - * @return + * @return * - ESP_ERR_INVALID_ARG if configuration is invalid * - ESP_ERR_INVALID_STATE if host already is in use * - ESP_ERR_NO_MEM if out of memory @@ -111,7 +104,7 @@ esp_err_t spi_slave_initialize(spi_host_device_t host, const spi_bus_config_t *b * @brief Free a SPI bus claimed as a SPI slave interface * * @param host SPI peripheral to free - * @return + * @return * - ESP_ERR_INVALID_ARG if parameter is invalid * - ESP_ERR_INVALID_STATE if not all devices on the bus are freed * - ESP_OK on success @@ -135,7 +128,7 @@ esp_err_t spi_slave_free(spi_host_device_t host); * into the transaction description. * @param ticks_to_wait Ticks to wait until there's room in the queue; use portMAX_DELAY to * never time out. - * @return + * @return * - ESP_ERR_INVALID_ARG if parameter is invalid * - ESP_OK on success */ @@ -145,19 +138,19 @@ esp_err_t spi_slave_queue_trans(spi_host_device_t host, const spi_slave_transact /** * @brief Get the result of a SPI transaction queued earlier * - * This routine will wait until a transaction to the given device (queued earlier with + * This routine will wait until a transaction to the given device (queued earlier with * spi_slave_queue_trans) has succesfully completed. It will then return the description of the - * completed transaction so software can inspect the result and e.g. free the memory or + * completed transaction so software can inspect the result and e.g. free the memory or * re-use the buffers. * * It is mandatory to eventually use this function for any transaction queued by ``spi_slave_queue_trans``. * * @param host SPI peripheral to that is acting as a slave - * @param[out] trans_desc Pointer to variable able to contain a pointer to the description of the + * @param[out] trans_desc Pointer to variable able to contain a pointer to the description of the * transaction that is executed * @param ticks_to_wait Ticks to wait until there's a returned item; use portMAX_DELAY to never time * out. - * @return + * @return * - ESP_ERR_INVALID_ARG if parameter is invalid * - ESP_OK on success */ @@ -168,16 +161,16 @@ esp_err_t spi_slave_get_trans_result(spi_host_device_t host, spi_slave_transacti * @brief Do a SPI transaction * * Essentially does the same as spi_slave_queue_trans followed by spi_slave_get_trans_result. Do - * not use this when there is still a transaction queued that hasn't been finalized + * not use this when there is still a transaction queued that hasn't been finalized * using spi_slave_get_trans_result. * * @param host SPI peripheral to that is acting as a slave - * @param trans_desc Pointer to variable able to contain a pointer to the description of the + * @param trans_desc Pointer to variable able to contain a pointer to the description of the * transaction that is executed. Not const because we may want to write status back * into the transaction description. * @param ticks_to_wait Ticks to wait until there's a returned item; use portMAX_DELAY to never time * out. - * @return + * @return * - ESP_ERR_INVALID_ARG if parameter is invalid * - ESP_OK on success */ diff --git a/tools/sdk/include/driver/driver/uart.h b/tools/sdk/include/driver/driver/uart.h index e716e542..93c65c66 100644 --- a/tools/sdk/include/driver/driver/uart.h +++ b/tools/sdk/include/driver/driver/uart.h @@ -801,7 +801,7 @@ esp_err_t uart_get_collision_flag(uart_port_t uart_num, bool* collision_flag); * light sleep. This function allows setting the threshold value. * * Stop bit and parity bits (if enabled) also contribute to the number of edges. - * For example, letter 'a' with ASCII code 97 is encoded as 0100001101 on the wire + * For example, letter 'a' with ASCII code 97 is encoded as 010001101 on the wire * (with 8n1 configuration), start and stop bits included. This sequence has 3 * positive edges (transitions from 0 to 1). Therefore, to wake up the system * when 'a' is sent, set wakeup_threshold=3. @@ -813,10 +813,7 @@ esp_err_t uart_get_collision_flag(uart_port_t uart_num, bool* collision_flag); * correct baud rate all the time, select REF_TICK as UART clock source, * by setting use_ref_tick field in uart_config_t to true. * - * @note in ESP32, the wakeup signal can only be input via IO_MUX (i.e. - * GPIO3 should be configured as function_1 to wake up UART0, - * GPIO9 should be configured as function_5 to wake up UART1), UART2 - * does not support light sleep wakeup feature. + * @note in ESP32, UART2 does not support light sleep wakeup feature. * * @param uart_num UART number * @param wakeup_threshold number of RX edges for light sleep wakeup, value is 3 .. 0x3ff. diff --git a/tools/sdk/include/efuse/esp_efuse.h b/tools/sdk/include/efuse/esp_efuse.h deleted file mode 100644 index 68f8491e..00000000 --- a/tools/sdk/include/efuse/esp_efuse.h +++ /dev/null @@ -1,362 +0,0 @@ -// Copyright 2017-2018 Espressif Systems (Shanghai) PTE LTD -// -// 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 _ESP_EFUSE_MANAGER_H_ -#define _ESP_EFUSE_MANAGER_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include "esp_err.h" -#include "esp_log.h" - -#define ESP_ERR_EFUSE 0x1600 /*!< Base error code for efuse api. */ -#define ESP_OK_EFUSE_CNT (ESP_ERR_EFUSE + 0x01) /*!< OK the required number of bits is set. */ -#define ESP_ERR_EFUSE_CNT_IS_FULL (ESP_ERR_EFUSE + 0x02) /*!< Error field is full. */ -#define ESP_ERR_EFUSE_REPEATED_PROG (ESP_ERR_EFUSE + 0x03) /*!< Error repeated programming of programmed bits is strictly forbidden. */ -#define ESP_ERR_CODING (ESP_ERR_EFUSE + 0x04) /*!< Error while a encoding operation. */ - -/** - * @brief Type of eFuse blocks - */ -typedef enum { - EFUSE_BLK0 = 0, /**< Number of eFuse block. Reserved. */ - EFUSE_BLK1 = 1, /**< Number of eFuse block. Used for Flash Encryption. If not using that Flash Encryption feature, they can be used for another purpose. */ - EFUSE_BLK2 = 2, /**< Number of eFuse block. Used for Secure Boot. If not using that Secure Boot feature, they can be used for another purpose. */ - EFUSE_BLK3 = 3 /**< Number of eFuse block. Uses for the purpose of the user. */ -} esp_efuse_block_t; - -/** - * @brief Type of coding scheme - */ -typedef enum { - EFUSE_CODING_SCHEME_NONE = 0, /**< None */ - EFUSE_CODING_SCHEME_3_4 = 1, /**< 3/4 coding */ - EFUSE_CODING_SCHEME_REPEAT = 2, /**< Repeat coding */ -} esp_efuse_coding_scheme_t; - -/** -* @brief Structure eFuse field - */ -typedef struct { - esp_efuse_block_t efuse_block: 8; /**< Block of eFuse */ - uint8_t bit_start; /**< Start bit [0..255] */ - uint16_t bit_count; /**< Length of bit field [1..-]*/ -} esp_efuse_desc_t; - -/** - * @brief Reads bits from EFUSE field and writes it into an array. - * - * The number of read bits will be limited to the minimum value - * from the description of the bits in "field" structure or "dst_size_bits" required size. - * Use "esp_efuse_get_field_size()" function to determine the length of the field. - * @param[in] field A pointer to the structure describing the fields of efuse. - * @param[out] dst A pointer to array that will contain the result of reading. - * @param[in] dst_size_bits The number of bits required to read. - * If the requested number of bits is greater than the field, - * the number will be limited to the field size. - * - * @return - * - ESP_OK: The operation was successfully completed. - * - ESP_ERR_INVALID_ARG: Error in the passed arguments. - */ -esp_err_t esp_efuse_read_field_blob(const esp_efuse_desc_t* field[], void* dst, size_t dst_size_bits); - -/** - * @brief Reads bits from EFUSE field and returns number of bits programmed as "1". - * - * If the bits are set not sequentially, they will still be counted. - * @param[in] field A pointer to the structure describing the fields of efuse. - * @param[out] out_cnt A pointer that will contain the number of programmed as "1" bits. - * - * @return - * - ESP_OK: The operation was successfully completed. - * - ESP_ERR_INVALID_ARG: Error in the passed arguments. - */ -esp_err_t esp_efuse_read_field_cnt(const esp_efuse_desc_t* field[], size_t* out_cnt); - -/** - * @brief Writes array to EFUSE field. - * - * The number of write bits will be limited to the minimum value - * from the description of the bits in "field" structure or "src_size_bits" required size. - * Use "esp_efuse_get_field_size()" function to determine the length of the field. - * After the function is completed, the writing registers are cleared. - * @param[in] field A pointer to the structure describing the fields of efuse. - * @param[in] src A pointer to array that contains the data for writing. - * @param[in] src_size_bits The number of bits required to write. - * - * @return - * - ESP_OK: The operation was successfully completed. - * - ESP_ERR_INVALID_ARG: Error in the passed arguments. - * - ESP_ERR_EFUSE_REPEATED_PROG: Error repeated programming of programmed bits is strictly forbidden. - * - ESP_ERR_CODING: Error range of data does not match the coding scheme. - */ -esp_err_t esp_efuse_write_field_blob(const esp_efuse_desc_t* field[], const void* src, size_t src_size_bits); - -/** - * @brief Writes a required count of bits as "1" to EFUSE field. - * - * If there are no free bits in the field to set the required number of bits to "1", - * ESP_ERR_EFUSE_CNT_IS_FULL error is returned, the field will not be partially recorded. - * After the function is completed, the writing registers are cleared. - * @param[in] field A pointer to the structure describing the fields of efuse. - * @param[in] cnt Required number of programmed as "1" bits. - * - * @return - * - ESP_OK: The operation was successfully completed. - * - ESP_ERR_INVALID_ARG: Error in the passed arguments. - * - ESP_ERR_EFUSE_CNT_IS_FULL: Not all requested cnt bits is set. - */ -esp_err_t esp_efuse_write_field_cnt(const esp_efuse_desc_t* field[], size_t cnt); - -/** - * @brief Sets a write protection for the whole block. - * - * After that, it is impossible to write to this block. - * The write protection does not apply to block 0. - * @param[in] blk Block number of eFuse. (EFUSE_BLK1, EFUSE_BLK2 and EFUSE_BLK3) - * - * @return - * - ESP_OK: The operation was successfully completed. - * - ESP_ERR_INVALID_ARG: Error in the passed arguments. - * - ESP_ERR_EFUSE_CNT_IS_FULL: Not all requested cnt bits is set. - * - ESP_ERR_NOT_SUPPORTED: The block does not support this command. - */ -esp_err_t esp_efuse_set_write_protect(esp_efuse_block_t blk); - -/** - * @brief Sets a read protection for the whole block. - * - * After that, it is impossible to read from this block. - * The read protection does not apply to block 0. - * @param[in] blk Block number of eFuse. (EFUSE_BLK1, EFUSE_BLK2 and EFUSE_BLK3) - * - * @return - * - ESP_OK: The operation was successfully completed. - * - ESP_ERR_INVALID_ARG: Error in the passed arguments. - * - ESP_ERR_EFUSE_CNT_IS_FULL: Not all requested cnt bits is set. - * - ESP_ERR_NOT_SUPPORTED: The block does not support this command. - */ -esp_err_t esp_efuse_set_read_protect(esp_efuse_block_t blk); - -/** - * @brief Returns the number of bits used by field. - * - * @param[in] field A pointer to the structure describing the fields of efuse. - * - * @return Returns the number of bits used by field. - */ -int esp_efuse_get_field_size(const esp_efuse_desc_t* field[]); - -/** - * @brief Returns value of efuse register. - * - * This is a thread-safe implementation. - * Example: EFUSE_BLK2_RDATA3_REG where (blk=2, num_reg=3) - * @param[in] blk Block number of eFuse. - * @param[in] num_reg The register number in the block. - * - * @return Value of register - */ -uint32_t esp_efuse_read_reg(esp_efuse_block_t blk, unsigned int num_reg); - -/** - * @brief Write value to efuse register. - * - * Apply a coding scheme if necessary. - * This is a thread-safe implementation. - * Example: EFUSE_BLK3_WDATA0_REG where (blk=3, num_reg=0) - * @param[in] blk Block number of eFuse. - * @param[in] num_reg The register number in the block. - * @param[in] val Value to write. - * - * @return - * - ESP_OK: The operation was successfully completed. - * - ESP_ERR_EFUSE_REPEATED_PROG: Error repeated programming of programmed bits is strictly forbidden. - */ -esp_err_t esp_efuse_write_reg(esp_efuse_block_t blk, unsigned int num_reg, uint32_t val); - -/** - * @brief Return efuse coding scheme for blocks. - * - * Note: The coding scheme is applicable only to 1, 2 and 3 blocks. For 0 block, the coding scheme is always ``NONE``. - * - * @param[in] blk Block number of eFuse. - * @return Return efuse coding scheme for blocks - */ -esp_efuse_coding_scheme_t esp_efuse_get_coding_scheme(esp_efuse_block_t blk); - -/** - * @brief Read key to efuse block starting at the offset and the required size. - * - * @param[in] blk Block number of eFuse. - * @param[in] dst_key A pointer to array that will contain the result of reading. - * @param[in] offset_in_bits Start bit in block. - * @param[in] size_bits The number of bits required to read. - * - * @return - * - ESP_OK: The operation was successfully completed. - * - ESP_ERR_INVALID_ARG: Error in the passed arguments. - * - ESP_ERR_CODING: Error range of data does not match the coding scheme. - */ -esp_err_t esp_efuse_read_block(esp_efuse_block_t blk, void* dst_key, size_t offset_in_bits, size_t size_bits); - -/** - * @brief Write key to efuse block starting at the offset and the required size. - * - * @param[in] blk Block number of eFuse. - * @param[in] src_key A pointer to array that contains the key for writing. - * @param[in] offset_in_bits Start bit in block. - * @param[in] size_bits The number of bits required to write. - * - * @return - * - ESP_OK: The operation was successfully completed. - * - ESP_ERR_INVALID_ARG: Error in the passed arguments. - * - ESP_ERR_CODING: Error range of data does not match the coding scheme. - * - ESP_ERR_EFUSE_REPEATED_PROG: Error repeated programming of programmed bits - */ -esp_err_t esp_efuse_write_block(esp_efuse_block_t blk, const void* src_key, size_t offset_in_bits, size_t size_bits); - -/** - * @brief Returns chip version from efuse - * - * @return chip version - */ -uint8_t esp_efuse_get_chip_ver(void); - -/** - * @brief Returns chip package from efuse - * - * @return chip package - */ -uint32_t esp_efuse_get_pkg_ver(void); - -/* @brief Permanently update values written to the efuse write registers - * - * After updating EFUSE_BLKx_WDATAx_REG registers with new values to - * write, call this function to permanently write them to efuse. - * - * @note Setting bits in efuse is permanent, they cannot be unset. - * - * @note Due to this restriction you don't need to copy values to - * Efuse write registers from the matching read registers, bits which - * are set in the read register but unset in the matching write - * register will be unchanged when new values are burned. - * - * @note This function is not threadsafe, if calling code updates - * efuse values from multiple tasks then this is caller's - * responsibility to serialise. - * - * After burning new efuses, the read registers are updated to match - * the new efuse values. - */ -void esp_efuse_burn_new_values(void); - -/* @brief Reset efuse write registers - * - * Efuse write registers are written to zero, to negate - * any changes that have been staged here. - * - * @note This function is not threadsafe, if calling code updates - * efuse values from multiple tasks then this is caller's - * responsibility to serialise. - */ -void esp_efuse_reset(void); - -/* @brief Disable BASIC ROM Console via efuse - * - * By default, if booting from flash fails the ESP32 will boot a - * BASIC console in ROM. - * - * Call this function (from bootloader or app) to permanently - * disable the console on this chip. - */ -void esp_efuse_disable_basic_rom_console(void); - -/* @brief Encode one or more sets of 6 byte sequences into - * 8 bytes suitable for 3/4 Coding Scheme. - * - * This function is only useful if the CODING_SCHEME efuse - * is set to value 1 for 3/4 Coding Scheme. - * - * @param[in] in_bytes Pointer to a sequence of bytes to encode for 3/4 Coding Scheme. Must have length in_bytes_len. After being written to hardware, these bytes will read back as little-endian words. - * @param[out] out_words Pointer to array of words suitable for writing to efuse write registers. Array must contain 2 words (8 bytes) for every 6 bytes in in_bytes_len. Can be a pointer to efuse write registers. - * @param in_bytes_len. Length of array pointed to by in_bytes, in bytes. Must be a multiple of 6. - * - * @return ESP_ERR_INVALID_ARG if either pointer is null or in_bytes_len is not a multiple of 6. ESP_OK otherwise. - */ -esp_err_t esp_efuse_apply_34_encoding(const uint8_t *in_bytes, uint32_t *out_words, size_t in_bytes_len); - -/* @brief Write random data to efuse key block write registers - * - * @note Caller is responsible for ensuring efuse - * block is empty and not write protected, before calling. - * - * @note Behaviour depends on coding scheme: a 256-bit key is - * generated and written for Coding Scheme "None", a 192-bit key - * is generated, extended to 256-bits by the Coding Scheme, - * and then writtten for 3/4 Coding Scheme. - * - * @note This function does not burn the new values, caller should - * call esp_efuse_burn_new_values() when ready to do this. - * - * @param blk_wdata0_reg Address of the first data write register - * in the block - */ -void esp_efuse_write_random_key(uint32_t blk_wdata0_reg); - -/* @brief Return secure_version from efuse field. - * @return Secure version from efuse field - */ -uint32_t esp_efuse_read_secure_version(); - -/* @brief Check secure_version from app and secure_version and from efuse field. - * - * @param secure_version Secure version from app. - * @return - * - True: If version of app is equal or more then secure_version from efuse. - */ -bool esp_efuse_check_secure_version(uint32_t secure_version); - -/* @brief Write efuse field by secure_version value. - * - * Update the secure_version value is available if the coding scheme is None. - * Note: Do not use this function in your applications. This function is called as part of the other API. - * - * @param[in] secure_version Secure version from app. - * @return - * - ESP_OK: Successful. - * - ESP_FAIL: secure version of app cannot be set to efuse field. - * - ESP_ERR_NOT_SUPPORTED: Anti rollback is not supported with the 3/4 and Repeat coding scheme. - */ -esp_err_t esp_efuse_update_secure_version(uint32_t secure_version); - -/* @brief Initializes variables: offset and size to simulate the work of an eFuse. - * - * Note: To simulate the work of an eFuse need to set CONFIG_EFUSE_SECURE_VERSION_EMULATE option - * and to add in the partition.csv file a line `efuse_em, data, efuse, , 0x2000,`. - * - * @param[in] offset The starting address of the partition where the eFuse data will be located. - * @param[in] size The size of the partition. - */ -void esp_efuse_init(uint32_t offset, uint32_t size); - -#ifdef __cplusplus -} -#endif - -#endif // _ESP_EFUSE_MANAGER_H_ diff --git a/tools/sdk/include/efuse/esp_efuse_table.h b/tools/sdk/include/efuse/esp_efuse_table.h deleted file mode 100644 index ad67ae22..00000000 --- a/tools/sdk/include/efuse/esp_efuse_table.h +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2017-2018 Espressif Systems (Shanghai) PTE LTD -// -// 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 - -#ifdef __cplusplus -extern "C" { -#endif - - -// md5_digest_table 840523b9e1313240e6102615e3a497a5 -// This file was generated from the file esp_efuse_table.csv. DO NOT CHANGE THIS FILE MANUALLY. -// If you want to change some fields, you need to change esp_efuse_table.csv file -// then run `efuse_common_table` or `efuse_custom_table` command it will generate this file. -// To show efuse_table run the command 'show_efuse_table'. - - -extern const esp_efuse_desc_t* ESP_EFUSE_MAC_FACTORY[]; -extern const esp_efuse_desc_t* ESP_EFUSE_MAC_FACTORY_CRC[]; -extern const esp_efuse_desc_t* ESP_EFUSE_MAC_CUSTOM_CRC[]; -extern const esp_efuse_desc_t* ESP_EFUSE_MAC_CUSTOM[]; -extern const esp_efuse_desc_t* ESP_EFUSE_MAC_CUSTOM_VER[]; -extern const esp_efuse_desc_t* ESP_EFUSE_SECURE_BOOT_KEY[]; -extern const esp_efuse_desc_t* ESP_EFUSE_ABS_DONE_0[]; -extern const esp_efuse_desc_t* ESP_EFUSE_ENCRYPT_FLASH_KEY[]; -extern const esp_efuse_desc_t* ESP_EFUSE_ENCRYPT_CONFIG[]; -extern const esp_efuse_desc_t* ESP_EFUSE_DISABLE_DL_ENCRYPT[]; -extern const esp_efuse_desc_t* ESP_EFUSE_DISABLE_DL_DECRYPT[]; -extern const esp_efuse_desc_t* ESP_EFUSE_DISABLE_DL_CACHE[]; -extern const esp_efuse_desc_t* ESP_EFUSE_DISABLE_JTAG[]; -extern const esp_efuse_desc_t* ESP_EFUSE_CONSOLE_DEBUG_DISABLE[]; -extern const esp_efuse_desc_t* ESP_EFUSE_FLASH_CRYPT_CNT[]; -extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_FLASH_CRYPT_CNT[]; -extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLK1[]; -extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLK2[]; -extern const esp_efuse_desc_t* ESP_EFUSE_WR_DIS_BLK3[]; -extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLK1[]; -extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLK2[]; -extern const esp_efuse_desc_t* ESP_EFUSE_RD_DIS_BLK3[]; -extern const esp_efuse_desc_t* ESP_EFUSE_CHIP_VER_DIS_APP_CPU[]; -extern const esp_efuse_desc_t* ESP_EFUSE_CHIP_VER_DIS_BT[]; -extern const esp_efuse_desc_t* ESP_EFUSE_CHIP_VER_PKG[]; -extern const esp_efuse_desc_t* ESP_EFUSE_CHIP_CPU_FREQ_LOW[]; -extern const esp_efuse_desc_t* ESP_EFUSE_CHIP_CPU_FREQ_RATED[]; -extern const esp_efuse_desc_t* ESP_EFUSE_CHIP_VER_REV1[]; -extern const esp_efuse_desc_t* ESP_EFUSE_XPD_SDIO_REG[]; -extern const esp_efuse_desc_t* ESP_EFUSE_SDIO_TIEH[]; -extern const esp_efuse_desc_t* ESP_EFUSE_SDIO_FORCE[]; -extern const esp_efuse_desc_t* ESP_EFUSE_ADC_VREF_AND_SDIO_DREF[]; -extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_TP_LOW[]; -extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_TP_LOW[]; -extern const esp_efuse_desc_t* ESP_EFUSE_ADC1_TP_HIGH[]; -extern const esp_efuse_desc_t* ESP_EFUSE_ADC2_TP_HIGH[]; -extern const esp_efuse_desc_t* ESP_EFUSE_SECURE_VERSION[]; - -#ifdef __cplusplus -} -#endif - diff --git a/tools/sdk/include/esp-face/fd_forward.h b/tools/sdk/include/esp-face/fd_forward.h index f990653d..81c6d9b5 100644 --- a/tools/sdk/include/esp-face/fd_forward.h +++ b/tools/sdk/include/esp-face/fd_forward.h @@ -39,6 +39,7 @@ extern "C" mtmn_config.pyramid = 0.7; mtmn_config.p_threshold.score = 0.6; mtmn_config.p_threshold.nms = 0.7; + mtmn_config.p_threshold.candidate_number = 100; mtmn_config.r_threshold.score = 0.6; mtmn_config.r_threshold.nms = 0.7; mtmn_config.r_threshold.candidate_number = 4; diff --git a/tools/sdk/include/esp-face/fr_flash.h b/tools/sdk/include/esp-face/fr_flash.h index 92269b2c..b21cea03 100644 --- a/tools/sdk/include/esp-face/fr_flash.h +++ b/tools/sdk/include/esp-face/fr_flash.h @@ -25,7 +25,7 @@ extern "C" dl_matrix3du_t *aligned_face); int8_t enroll_face_id_to_flash_with_name(face_id_name_list *l, - dl_matrix3du_t *aligned_face, + dl_matrix3d_t *new_id, char *name); /** * @brief Read the enrolled face IDs from the flash. diff --git a/tools/sdk/include/esp-face/fr_forward.h b/tools/sdk/include/esp-face/fr_forward.h index 4cadd106..8bd82457 100644 --- a/tools/sdk/include/esp-face/fr_forward.h +++ b/tools/sdk/include/esp-face/fr_forward.h @@ -86,6 +86,8 @@ extern "C" dl_matrix3du_t *src, dl_matrix3du_t *dest); + dl_matrix3d_t *get_face_id(dl_matrix3du_t *aligned_face); + /** * @brief Add src_id to dest_id * @@ -106,7 +108,7 @@ extern "C" dl_matrix3du_t *algined_face); face_id_node *recognize_face_with_name(face_id_name_list *l, - dl_matrix3du_t *algined_face); + dl_matrix3d_t *face_id); /** * @brief Produce face id according to the input aligned face, and save it to dest_id. * @@ -121,7 +123,7 @@ extern "C" dl_matrix3du_t *aligned_face); int8_t enroll_face_with_name(face_id_name_list *l, - dl_matrix3du_t *aligned_face, + dl_matrix3d_t *new_id, char *name); /** diff --git a/tools/sdk/include/esp-tls/esp_tls.h b/tools/sdk/include/esp-tls/esp_tls.h index 38538ed0..15830d5a 100644 --- a/tools/sdk/include/esp-tls/esp_tls.h +++ b/tools/sdk/include/esp-tls/esp_tls.h @@ -260,25 +260,10 @@ void esp_tls_conn_delete(esp_tls_t *tls); size_t esp_tls_get_bytes_avail(esp_tls_t *tls); /** - * @brief Create a global CA store, initially empty. + * @brief Create a global CA store with the buffer provided in cfg. * - * This function should be called if the application wants to use the same CA store for multiple connections. - * This function initialises the global CA store which can be then set by calling esp_tls_set_global_ca_store(). - * To be effective, this function must be called before any call to esp_tls_set_global_ca_store(). - * - * @return - * - ESP_OK if creating global CA store was successful. - * - ESP_ERR_NO_MEM if an error occured when allocating the mbedTLS resources. - */ -esp_err_t esp_tls_init_global_ca_store(); - -/** - * @brief Set the global CA store with the buffer provided in pem format. - * - * This function should be called if the application wants to set the global CA store for - * multiple connections i.e. to add the certificates in the provided buffer to the certificate chain. - * This function implicitly calls esp_tls_init_global_ca_store() if it has not already been called. - * The application must call this function before calling esp_tls_conn_new(). + * This function should be called if the application wants to use the same CA store for + * multiple connections. The application must call this function before calling esp_tls_conn_new(). * * @param[in] cacert_pem_buf Buffer which has certificates in pem format. This buffer * is used for creating a global CA store, which can be used @@ -286,7 +271,7 @@ esp_err_t esp_tls_init_global_ca_store(); * @param[in] cacert_pem_bytes Length of the buffer. * * @return - * - ESP_OK if adding certificates was successful. + * - ESP_OK if creating global CA store was successful. * - Other if an error occured or an action must be taken by the calling process. */ esp_err_t esp_tls_set_global_ca_store(const unsigned char *cacert_pem_buf, const unsigned int cacert_pem_bytes); diff --git a/tools/sdk/include/esp32-camera/esp_camera.h b/tools/sdk/include/esp32-camera/esp_camera.h index 3953ac84..071b986f 100755 --- a/tools/sdk/include/esp32-camera/esp_camera.h +++ b/tools/sdk/include/esp32-camera/esp_camera.h @@ -120,7 +120,8 @@ typedef struct { #define ESP_ERR_CAMERA_BASE 0x20000 #define ESP_ERR_CAMERA_NOT_DETECTED (ESP_ERR_CAMERA_BASE + 1) #define ESP_ERR_CAMERA_FAILED_TO_SET_FRAME_SIZE (ESP_ERR_CAMERA_BASE + 2) -#define ESP_ERR_CAMERA_NOT_SUPPORTED (ESP_ERR_CAMERA_BASE + 3) +#define ESP_ERR_CAMERA_FAILED_TO_SET_OUT_FORMAT (ESP_ERR_CAMERA_BASE + 3) +#define ESP_ERR_CAMERA_NOT_SUPPORTED (ESP_ERR_CAMERA_BASE + 4) /** * @brief Initialize the camera driver diff --git a/tools/sdk/include/esp32-camera/sensor.h b/tools/sdk/include/esp32-camera/sensor.h index 4ff23450..fc778649 100755 --- a/tools/sdk/include/esp32-camera/sensor.h +++ b/tools/sdk/include/esp32-camera/sensor.h @@ -13,6 +13,7 @@ #define OV9650_PID (0x96) #define OV2640_PID (0x26) #define OV7725_PID (0x77) +#define OV3660_PID (0x36) typedef enum { PIXFORMAT_RGB565, // 2BPP/RGB565 @@ -20,6 +21,9 @@ typedef enum { PIXFORMAT_GRAYSCALE, // 1BPP/GRAYSCALE PIXFORMAT_JPEG, // JPEG/COMPRESSED PIXFORMAT_RGB888, // 3BPP/RGB888 + PIXFORMAT_RAW, // RAW + PIXFORMAT_RGB444, // 3BP2P/RGB444 + PIXFORMAT_RGB555, // 3BP2P/RGB555 } pixformat_t; typedef enum { @@ -34,6 +38,8 @@ typedef enum { FRAMESIZE_XGA, // 1024x768 FRAMESIZE_SXGA, // 1280x1024 FRAMESIZE_UXGA, // 1600x1200 + FRAMESIZE_QXGA, // 2048*1536 + FRAMESIZE_INVALID } framesize_t; typedef enum { @@ -59,6 +65,8 @@ typedef struct { int8_t brightness;//-2 - 2 int8_t contrast;//-2 - 2 int8_t saturation;//-2 - 2 + int8_t sharpness;//-2 - 2 + uint8_t denoise; uint8_t special_effect;//0 - 6 uint8_t wb_mode;//0 - 4 uint8_t awb; @@ -96,6 +104,8 @@ typedef struct _sensor { int (*set_contrast) (sensor_t *sensor, int level); int (*set_brightness) (sensor_t *sensor, int level); int (*set_saturation) (sensor_t *sensor, int level); + int (*set_sharpness) (sensor_t *sensor, int level); + int (*set_denoise) (sensor_t *sensor, int level); int (*set_gainceiling) (sensor_t *sensor, gainceiling_t gainceiling); int (*set_quality) (sensor_t *sensor, int quality); int (*set_colorbar) (sensor_t *sensor, int enable); diff --git a/tools/sdk/include/esp32/esp_attr.h b/tools/sdk/include/esp32/esp_attr.h index c9e3879e..6d2d5ea8 100644 --- a/tools/sdk/include/esp32/esp_attr.h +++ b/tools/sdk/include/esp32/esp_attr.h @@ -14,19 +14,17 @@ #ifndef __ESP_ATTR_H__ #define __ESP_ATTR_H__ -#include "sdkconfig.h" - #define ROMFN_ATTR //Normally, the linker script will put all code and rodata in flash, //and all variables in shared RAM. These macros can be used to redirect //particular functions/variables to other memory regions. -// Forces code into IRAM instead of flash -#define IRAM_ATTR _SECTION_ATTR_IMPL(".iram1", __COUNTER__) +// Forces code into IRAM instead of flash. +#define IRAM_ATTR __attribute__((section(".iram1"))) // Forces data into DRAM instead of flash -#define DRAM_ATTR _SECTION_ATTR_IMPL(".dram1", __COUNTER__) +#define DRAM_ATTR __attribute__((section(".dram1"))) // Forces data to be 4 bytes aligned #define WORD_ALIGNED_ATTR __attribute__((aligned(4))) @@ -39,11 +37,11 @@ #define DRAM_STR(str) (__extension__({static const DRAM_ATTR char __c[] = (str); (const char *)&__c;})) // Forces code into RTC fast memory. See "docs/deep-sleep-stub.rst" -#define RTC_IRAM_ATTR _SECTION_ATTR_IMPL(".rtc.text", __COUNTER__) +#define RTC_IRAM_ATTR __attribute__((section(".rtc.text"))) #if CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY // Forces bss variable into external memory. " -#define EXT_RAM_ATTR _SECTION_ATTR_IMPL(".ext_ram.bss", __COUNTER__) +#define EXT_RAM_ATTR __attribute__((section(".ext_ram.bss"))) #else #define EXT_RAM_ATTR #endif @@ -51,37 +49,26 @@ // Forces data into RTC slow memory. See "docs/deep-sleep-stub.rst" // Any variable marked with this attribute will keep its value // during a deep sleep / wake cycle. -#define RTC_DATA_ATTR _SECTION_ATTR_IMPL(".rtc.data", __COUNTER__) +#define RTC_DATA_ATTR __attribute__((section(".rtc.data"))) // Forces read-only data into RTC memory. See "docs/deep-sleep-stub.rst" -#define RTC_RODATA_ATTR _SECTION_ATTR_IMPL(".rtc.rodata", __COUNTER__) +#define RTC_RODATA_ATTR __attribute__((section(".rtc.rodata"))) // Allows to place data into RTC_SLOW memory. -#define RTC_SLOW_ATTR _SECTION_ATTR_IMPL(".rtc.force_slow", __COUNTER__) +#define RTC_SLOW_ATTR __attribute__((section(".rtc.force_slow"))) // Allows to place data into RTC_FAST memory. -#define RTC_FAST_ATTR _SECTION_ATTR_IMPL(".rtc.force_fast", __COUNTER__) +#define RTC_FAST_ATTR __attribute__((section(".rtc.force_fast"))) // Forces data into noinit section to avoid initialization after restart. -#define __NOINIT_ATTR _SECTION_ATTR_IMPL(".noinit", __COUNTER__) +#define __NOINIT_ATTR __attribute__((section(".noinit"))) // Forces data into RTC slow memory of .noinit section. // Any variable marked with this attribute will keep its value // after restart or during a deep sleep / wake cycle. -#define RTC_NOINIT_ATTR _SECTION_ATTR_IMPL(".rtc_noinit", __COUNTER__) +#define RTC_NOINIT_ATTR __attribute__((section(".rtc_noinit"))) // Forces to not inline function #define NOINLINE_ATTR __attribute__((noinline)) -// Implementation for a unique custom section -// -// This prevents gcc producing "x causes a section type conflict with y" -// errors if two variables in the same source file have different linkage (maybe const & non-const) but are placed in the same custom section -// -// Using unique sections also means --gc-sections can remove unused -// data with a custom section type set -#define _SECTION_ATTR_IMPL(SECTION, COUNTER) __attribute__((section(SECTION "." _COUNTER_STRINGIFY(COUNTER)))) - -#define _COUNTER_STRINGIFY(COUNTER) #COUNTER - #endif /* __ESP_ATTR_H__ */ diff --git a/tools/sdk/include/esp32/esp_clk.h b/tools/sdk/include/esp32/esp_clk.h index 99e4f307..1a91d26f 100644 --- a/tools/sdk/include/esp32/esp_clk.h +++ b/tools/sdk/include/esp32/esp_clk.h @@ -13,7 +13,6 @@ // limitations under the License. #pragma once -#include /** * @file esp_clk.h diff --git a/tools/sdk/include/esp32/esp_core_dump.h b/tools/sdk/include/esp32/esp_core_dump.h index 4c798f59..c6634364 100644 --- a/tools/sdk/include/esp32/esp_core_dump.h +++ b/tools/sdk/include/esp32/esp_core_dump.h @@ -14,11 +14,6 @@ #ifndef ESP_CORE_DUMP_H_ #define ESP_CORE_DUMP_H_ - -/**************************************************************************************/ -/******************************** EXCEPTION MODE API **********************************/ -/**************************************************************************************/ - /** * @brief Initializes core dump module internal data. * @@ -30,29 +25,29 @@ void esp_core_dump_init(); * @brief Saves core dump to flash. * * The structure of data stored in flash is as follows: - * + * | MAGIC1 | * | TOTAL_LEN | TASKS_NUM | TCB_SIZE | * | TCB_ADDR_1 | STACK_TOP_1 | STACK_END_1 | TCB_1 | STACK_1 | * . . . . * . . . . * | TCB_ADDR_N | STACK_TOP_N | STACK_END_N | TCB_N | STACK_N | - * | CRC32 | - * + * | MAGIC2 | * Core dump in flash consists of header and data for every task in the system at the moment of crash. - * For flash data integrity control CRC is used at the end of core the dump data. + * For flash data integrity control two magic numbers are used at the beginning and the end of core dump. * The structure of core dump data is described below in details. - * 1) Core dump starts with header: - * 1.1) TOTAL_LEN is total length of core dump data in flash including CRC. Size is 4 bytes. - * 1.2) TASKS_NUM is the number of tasks for which data are stored. Size is 4 bytes. - * 1.3) TCB_SIZE is the size of task's TCB structure. Size is 4 bytes. - * 2) Core dump header is followed by the data for every task in the system. + * 1) MAGIC1 and MAGIC2 are special numbers stored at the beginning and the end of core dump. + * They are used to control core dump data integrity. Size of every number is 4 bytes. + * 2) Core dump starts with header: + * 2.1) TOTAL_LEN is total length of core dump data in flash including magic numbers. Size is 4 bytes. + * 2.2) TASKS_NUM is the number of tasks for which data are stored. Size is 4 bytes. + * 2.3) TCB_SIZE is the size of task's TCB structure. Size is 4 bytes. + * 3) Core dump header is followed by the data for every task in the system. * Task data are started with task header: - * 2.1) TCB_ADDR is the address of TCB in memory. Size is 4 bytes. - * 2.2) STACK_TOP is the top of task's stack (address of the topmost stack item). Size is 4 bytes. - * 2.2) STACK_END is the end of task's stack (address from which task's stack starts). Size is 4 bytes. - * 3) Task header is followed by TCB data. Size is TCB_SIZE bytes. - * 4) Task's stack is placed after TCB data. Size is (STACK_END - STACK_TOP) bytes. - * 5) CRC is placed at the end of the data. + * 3.1) TCB_ADDR is the address of TCB in memory. Size is 4 bytes. + * 3.2) STACK_TOP is the top of task's stack (address of the topmost stack item). Size is 4 bytes. + * 3.2) STACK_END is the end of task's stack (address from which task's stack starts). Size is 4 bytes. + * 4) Task header is followed by TCB data. Size is TCB_SIZE bytes. + * 5) Task's stack is placed after TCB data. Size is (STACK_END - STACK_TOP) bytes. */ void esp_core_dump_to_flash(); @@ -60,26 +55,10 @@ void esp_core_dump_to_flash(); * @brief Print base64-encoded core dump to UART. * * The structure of core dump data is the same as for data stored in flash (@see esp_core_dump_to_flash) with some notes: - * 1) CRC is not present in core dump printed to UART. - * 2) Since CRC is omitted TOTAL_LEN does not include its size. + * 1) Magic numbers are not present in core dump printed to UART. + * 2) Since magic numbers are omitted TOTAL_LEN does not include their size. * 3) Printed base64 data are surrounded with special messages to help user recognize the start and end of actual data. */ void esp_core_dump_to_uart(); - -/**************************************************************************************/ -/*********************************** USER MODE API ************************************/ -/**************************************************************************************/ - -/** - * @brief Retrieves address and size of coredump data in flash. - * This function is always available, even when core dump is disabled in menuconfig. - * - * @param out_addr pointer to store image address in flash. - * @param out_size pointer to store image size in flash (including CRC). In bytes. - * - * @return ESP_OK on success, otherwise \see esp_err_t - */ -esp_err_t esp_core_dump_image_get(size_t* out_addr, size_t *out_size); - #endif diff --git a/tools/sdk/include/esp32/esp_flash_data_types.h b/tools/sdk/include/esp32/esp_flash_data_types.h index 998e522f..9a26281b 100644 --- a/tools/sdk/include/esp32/esp_flash_data_types.h +++ b/tools/sdk/include/esp32/esp_flash_data_types.h @@ -24,22 +24,11 @@ extern "C" #define ESP_PARTITION_MAGIC 0x50AA #define ESP_PARTITION_MAGIC_MD5 0xEBEB -/// OTA_DATA states for checking operability of the app. -typedef enum { - ESP_OTA_IMG_NEW = 0x0U, /*!< Monitor the first boot. In bootloader this state is changed to ESP_OTA_IMG_PENDING_VERIFY. */ - ESP_OTA_IMG_PENDING_VERIFY = 0x1U, /*!< First boot for this app was. If while the second boot this state is then it will be changed to ABORTED. */ - ESP_OTA_IMG_VALID = 0x2U, /*!< App was confirmed as workable. App can boot and work without limits. */ - ESP_OTA_IMG_INVALID = 0x3U, /*!< App was confirmed as non-workable. This app will not selected to boot at all. */ - ESP_OTA_IMG_ABORTED = 0x4U, /*!< App could not confirm the workable or non-workable. In bootloader IMG_PENDING_VERIFY state will be changed to IMG_ABORTED. This app will not selected to boot at all. */ - ESP_OTA_IMG_UNDEFINED = 0xFFFFFFFFU, /*!< Undefined. App can boot and work without limits. */ -} esp_ota_img_states_t; - /* OTA selection structure (two copies in the OTA data partition.) Size of 32 bytes is friendly to flash encryption */ typedef struct { uint32_t ota_seq; - uint8_t seq_label[20]; - uint32_t ota_state; + uint8_t seq_label[24]; uint32_t crc; /* CRC32 of ota_seq field only */ } esp_ota_select_entry_t; @@ -72,7 +61,6 @@ typedef struct { #define PART_SUBTYPE_DATA_RF 0x01 #define PART_SUBTYPE_DATA_WIFI 0x02 #define PART_SUBTYPE_DATA_NVS_KEYS 0x04 -#define PART_SUBTYPE_DATA_EFUSE_EM 0x05 #define PART_TYPE_END 0xff #define PART_SUBTYPE_END 0xff diff --git a/tools/sdk/include/esp32/esp_phy_init.h b/tools/sdk/include/esp32/esp_phy_init.h index 6783ff54..2dfb7447 100644 --- a/tools/sdk/include/esp32/esp_phy_init.h +++ b/tools/sdk/include/esp32/esp_phy_init.h @@ -156,18 +156,6 @@ esp_err_t esp_phy_load_cal_data_from_nvs(esp_phy_calibration_data_t* out_cal_dat */ esp_err_t esp_phy_store_cal_data_to_nvs(const esp_phy_calibration_data_t* cal_data); -/** - * @brief Erase PHY calibration data which is stored in the NVS - * - * This is a function which can be used to trigger full calibration as a last-resort remedy - * if partial calibration is used. It can be called in the application based on some conditions - * (e.g. an option provided in some diagnostic mode). - * - * @return ESP_OK on success - * @return others on fail. Please refer to NVS API return value error number. - */ -esp_err_t esp_phy_erase_cal_data_in_nvs(void); - /** * @brief Initialize PHY and RF module * diff --git a/tools/sdk/include/esp32/esp_sleep.h b/tools/sdk/include/esp32/esp_sleep.h index 6ebe79ce..c21f26ad 100644 --- a/tools/sdk/include/esp32/esp_sleep.h +++ b/tools/sdk/include/esp32/esp_sleep.h @@ -95,6 +95,7 @@ esp_err_t esp_sleep_disable_wakeup_source(esp_sleep_source_t source); * source is used. * @return * - ESP_OK on success + * - ESP_ERR_NOT_SUPPORTED if additional current by touch (CONFIG_ESP32_RTC_EXTERNAL_CRYSTAL_ADDITIONAL_CURRENT) is enabled. * - ESP_ERR_INVALID_STATE if ULP co-processor is not enabled or if wakeup triggers conflict */ esp_err_t esp_sleep_enable_ulp_wakeup(); @@ -121,6 +122,7 @@ esp_err_t esp_sleep_enable_timer_wakeup(uint64_t time_in_us); * * @return * - ESP_OK on success + * - ESP_ERR_NOT_SUPPORTED if additional current by touch (CONFIG_ESP32_RTC_EXTERNAL_CRYSTAL_ADDITIONAL_CURRENT) is enabled. * - ESP_ERR_INVALID_STATE if wakeup triggers conflict */ esp_err_t esp_sleep_enable_touchpad_wakeup(); diff --git a/tools/sdk/include/esp32/esp_wifi.h b/tools/sdk/include/esp32/esp_wifi.h index 3348f8f4..c9899fa7 100644 --- a/tools/sdk/include/esp32/esp_wifi.h +++ b/tools/sdk/include/esp32/esp_wifi.h @@ -110,7 +110,6 @@ typedef struct { int rx_ba_win; /**< WiFi Block Ack RX window size */ int wifi_task_core_id; /**< WiFi Task Core ID */ int beacon_max_len; /**< WiFi softAP maximum length of the beacon */ - int mgmt_sbuf_num; /**< WiFi management short buffer number, the minimum value is 6, the maximum value is 32 */ int magic; /**< WiFi init magic number, it should be the last field */ } wifi_init_config_t; @@ -184,12 +183,6 @@ extern const wpa_crypto_funcs_t g_wifi_default_wpa_crypto_funcs; #define WIFI_SOFTAP_BEACON_MAX_LEN 752 #endif -#ifdef CONFIG_ESP32_WIFI_MGMT_SBUF_NUM -#define WIFI_MGMT_SBUF_NUM CONFIG_ESP32_WIFI_MGMT_SBUF_NUM -#else -#define WIFI_MGMT_SBUF_NUM 32 -#endif - #define WIFI_INIT_CONFIG_DEFAULT() { \ .event_handler = &esp_event_send, \ .osi_funcs = &g_wifi_osi_funcs, \ @@ -208,7 +201,6 @@ extern const wpa_crypto_funcs_t g_wifi_default_wpa_crypto_funcs; .rx_ba_win = WIFI_DEFAULT_RX_BA_WIN,\ .wifi_task_core_id = WIFI_TASK_CORE_ID,\ .beacon_max_len = WIFI_SOFTAP_BEACON_MAX_LEN, \ - .mgmt_sbuf_num = WIFI_MGMT_SBUF_NUM, \ .magic = WIFI_INIT_CONFIG_MAGIC\ }; diff --git a/tools/sdk/include/esp32/esp_wifi_internal.h b/tools/sdk/include/esp32/esp_wifi_internal.h index 67bfd926..acb78eaa 100644 --- a/tools/sdk/include/esp32/esp_wifi_internal.h +++ b/tools/sdk/include/esp32/esp_wifi_internal.h @@ -46,40 +46,6 @@ typedef struct { void *storage; /**< storage for FreeRTOS queue */ } wifi_static_queue_t; -/** - * @brief WiFi log level - * - */ -typedef enum { - WIFI_LOG_ERROR = 0, /*enabled by default*/ - WIFI_LOG_WARNING, /*enabled by default*/ - WIFI_LOG_INFO, /*enabled by default*/ - WIFI_LOG_DEBUG, /*can be set in menuconfig*/ - WIFI_LOG_VERBOSE, /*can be set in menuconfig*/ -} wifi_log_level_t; - -/** - * @brief WiFi log module definition - * - */ -typedef enum { - WIFI_LOG_MODULE_ALL = 0, /*all log modules */ - WIFI_LOG_MODULE_WIFI, /*logs related to WiFi*/ - WIFI_LOG_MODULE_COEX, /*logs related to WiFi and BT(or BLE) coexist*/ - WIFI_LOG_MODULE_MESH, /*logs related to Mesh*/ -} wifi_log_module_t; - -/** - * @brief WiFi log submodule definition - * - */ -#define WIFI_LOG_SUBMODULE_ALL (0) /*all log submodules*/ -#define WIFI_LOG_SUBMODULE_INIT (1) /*logs related to initialization*/ -#define WIFI_LOG_SUBMODULE_IOCTL (1<<1) /*logs related to API calling*/ -#define WIFI_LOG_SUBMODULE_CONN (1<<2) /*logs related to connecting*/ -#define WIFI_LOG_SUBMODULE_SCAN (1<<3) /*logs related to scaning*/ - - /** * @brief Initialize Wi-Fi Driver * Alloc resource for WiFi driver, such as WiFi control structure, RX/TX buffer, @@ -258,46 +224,6 @@ void *wifi_calloc( size_t n, size_t size ); */ esp_err_t esp_wifi_internal_update_mac_time( uint32_t time_delta ); -/** - * @brief Set current WiFi log level - * - * @param level Log level. - * - * @return - * - ESP_OK: succeed - * - ESP_FAIL: level is invalid - */ -esp_err_t esp_wifi_internal_set_log_level(wifi_log_level_t level); - -/** - * @brief Set current log module and submodule - * - * @param module Log module - * @param submodule Log submodule - * @param enable enable or disable - * If module == 0 && enable == 0, all log modules are disabled. - * If module == 0 && enable == 1, all log modules are enabled. - * If submodule == 0 && enable == 0, all log submodules are disabled. - * If submodule == 0 && enable == 1, all log submodules are enabled. - * - * @return - * - ESP_OK: succeed - * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init - * - ESP_ERR_WIFI_ARG: invalid argument - */ -esp_err_t esp_wifi_internal_set_log_mod(wifi_log_module_t module, uint32_t submodule, bool enable); - -/** - * @brief Get current WiFi log info - * - * @param log_level the return log level. - * @param log_mod the return log module and submodule - * - * @return - * - ESP_OK: succeed - */ -esp_err_t esp_wifi_internal_get_log(wifi_log_level_t *log_level, uint32_t *log_mod); - #ifdef __cplusplus } #endif diff --git a/tools/sdk/include/esp32/rom/crc.h b/tools/sdk/include/esp32/rom/crc.h index faa1e8c3..84e17882 100644 --- a/tools/sdk/include/esp32/rom/crc.h +++ b/tools/sdk/include/esp32/rom/crc.h @@ -30,48 +30,15 @@ extern "C" { */ -/* Notes about CRC APIs usage - * The ESP32 ROM include some CRC tables and CRC APIs to speed up CRC calculation. - * The CRC APIs include CRC8, CRC16, CRC32 algorithms for both little endian and big endian modes. - * Here are the polynomials for the algorithms: - * CRC-8 x8+x2+x1+1 0x07 - * CRC16-CCITT x16+x12+x5+1 0x1021 - * CRC32 x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+1 0x04c11db7 - * - * These group of CRC APIs are designed to calculate the data in buffers either continuous or not. - * To make it easy, we had added a `~` at the beginning and the end of the functions. - * To calculate non-continuous buffers, we can write the code like this: - * init = ~init; - * crc = crc32_le(init, buf0, length0); - * crc = crc32_le(crc, buf1, length1); - * crc = ~crc; - * - * However, it is not easy to select which API to use and give the correct parameters. - * A specific CRC algorithm will include this parameters: width, polynomials, init, refin, refout, xorout - * refin and refout show the endian of the algorithm: - * if both of them are true, please use the little endian API. - * if both of them are false, please use the big endian API. - * xorout is the value which you need to be xored to the raw result. - * However, these group of APIs need one '~' before and after the APIs. - * - * Here are some examples for CRC16: - * CRC-16/CCITT, poly = 0x1021, init = 0x0000, refin = true, refout = true, xorout = 0x0000 - * crc = ~crc16_le((uint16_t)~0x0000, buf, length); - * - * CRC-16/CCITT-FALSE, poly = 0x1021, init = 0xffff, refin = false, refout = false, xorout = 0x0000 - * crc = ~crc16_be((uint16_t)~0xffff, buf, length); - * - * CRC-16/X25, poly = 0x1021, init = 0xffff, refin = true, refout = true, xorout = 0xffff - * crc = (~crc16_le((uint16_t)~(0xffff), buf, length))^0xffff; - * - * CRC-16/XMODEM, poly= 0x1021, init = 0x0000, refin = false, refout = false, xorout = 0x0000 - * crc = ~crc16_be((uint16_t)~0x0000, buf, length); - * - * - */ +/* Standard CRC8/16/32 algorithms. */ +// CRC-8 x8+x2+x1+1 0x07 +// CRC16-CCITT x16+x12+x5+1 1021 ISO HDLC, ITU X.25, V.34/V.41/V.42, PPP-FCS +// CRC32: +//G(x) = x32 +x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x1 + 1 +//If your buf is not continuous, you can use the first result to be the second parameter. /** - * @brief CRC32 value that is in little endian. + * @brief Crc32 value that is in little endian. * * @param uint32_t crc : init crc value, use 0 at the first use. * @@ -84,7 +51,7 @@ extern "C" { uint32_t crc32_le(uint32_t crc, uint8_t const *buf, uint32_t len); /** - * @brief CRC32 value that is in big endian. + * @brief Crc32 value that is in big endian. * * @param uint32_t crc : init crc value, use 0 at the first use. * @@ -97,7 +64,7 @@ uint32_t crc32_le(uint32_t crc, uint8_t const *buf, uint32_t len); uint32_t crc32_be(uint32_t crc, uint8_t const *buf, uint32_t len); /** - * @brief CRC16 value that is in little endian. + * @brief Crc16 value that is in little endian. * * @param uint16_t crc : init crc value, use 0 at the first use. * @@ -110,7 +77,7 @@ uint32_t crc32_be(uint32_t crc, uint8_t const *buf, uint32_t len); uint16_t crc16_le(uint16_t crc, uint8_t const *buf, uint32_t len); /** - * @brief CRC16 value that is in big endian. + * @brief Crc16 value that is in big endian. * * @param uint16_t crc : init crc value, use 0 at the first use. * @@ -123,7 +90,7 @@ uint16_t crc16_le(uint16_t crc, uint8_t const *buf, uint32_t len); uint16_t crc16_be(uint16_t crc, uint8_t const *buf, uint32_t len); /** - * @brief CRC8 value that is in little endian. + * @brief Crc8 value that is in little endian. * * @param uint8_t crc : init crc value, use 0 at the first use. * @@ -136,7 +103,7 @@ uint16_t crc16_be(uint16_t crc, uint8_t const *buf, uint32_t len); uint8_t crc8_le(uint8_t crc, uint8_t const *buf, uint32_t len); /** - * @brief CRC8 value that is in big endian. + * @brief Crc8 value that is in big endian. * * @param uint32_t crc : init crc value, use 0 at the first use. * diff --git a/tools/sdk/include/esp32/rom/uart.h b/tools/sdk/include/esp32/rom/uart.h index a010bfbc..87224457 100644 --- a/tools/sdk/include/esp32/rom/uart.h +++ b/tools/sdk/include/esp32/rom/uart.h @@ -36,7 +36,7 @@ extern "C" { #define RX_BUFF_SIZE 0x100 #define TX_BUFF_SIZE 100 -//uart int enable register ctrl bits +//uart int enalbe register ctrl bits #define UART_RCV_INTEN BIT0 #define UART_TRX_INTEN BIT1 #define UART_LINE_STATUS_INTEN BIT2 @@ -301,14 +301,14 @@ char uart_rx_one_char_block(void); * * @param uint8_t *pString : the pointer to store the string. * - * @param uint8_t MaxStrlen : the max string length, include '\0'. + * @param uint8_t MaxStrlen : the max string length, incude '\0'. * * @return OK. */ STATUS UartRxString(uint8_t *pString, uint8_t MaxStrlen); /** - * @brief Process uart received information in the interrupt handler. + * @brief Process uart recevied information in the interrupt handler. * Please do not call this function in SDK. * * @param void *para : the message receive buffer. diff --git a/tools/sdk/include/esp_event/esp_event.h b/tools/sdk/include/esp_event/esp_event.h index f97deaf8..f095844a 100644 --- a/tools/sdk/include/esp_event/esp_event.h +++ b/tools/sdk/include/esp_event/esp_event.h @@ -33,11 +33,11 @@ extern "C" { /// Configuration for creating event loops typedef struct { int32_t queue_size; /**< size of the event loop queue */ - const char* task_name; /**< name of the event loop task; if NULL, + const char* task_name; /**< name of the event loop task; if NULL, a dedicated task is not created for event loop*/ UBaseType_t task_priority; /**< priority of the event loop task, ignored if task name is NULL */ uint32_t task_stack_size; /**< stack size of the event loop task, ignored if task name is NULL */ - BaseType_t task_core_id; /**< core to which the event loop task is pinned to, + BaseType_t task_core_id; /**< core to which the event loop task is pinned to, ignored if task name is NULL */ } esp_event_loop_args_t; @@ -47,7 +47,7 @@ typedef struct { * @param[in] event_loop_args configuration structure for the event loop to create * @param[out] event_loop handle to the created event loop * - * @return + * @return * - ESP_OK: Success * - ESP_ERR_NO_MEM: Cannot allocate memory for event loops list * - ESP_FAIL: Failed to create task loop @@ -60,7 +60,7 @@ esp_err_t esp_event_loop_create(const esp_event_loop_args_t* event_loop_args, es * * @param[in] event_loop event loop to delete * - * @return + * @return * - ESP_OK: Success * - Others: Fail */ @@ -68,8 +68,8 @@ esp_err_t esp_event_loop_delete(esp_event_loop_handle_t event_loop); /** * @brief Create default event loop - * - * @return + * + * @return * - ESP_OK: Success * - ESP_ERR_NO_MEM: Cannot allocate memory for event loops list * - ESP_FAIL: Failed to create task loop @@ -79,8 +79,8 @@ esp_err_t esp_event_loop_create_default(); /** * @brief Delete the default event loop - * - * @return + * + * @return * - ESP_OK: Success * - Others: Fail */ @@ -89,18 +89,18 @@ esp_err_t esp_event_loop_delete_default(); /** * @brief Dispatch events posted to an event loop. * - * This function is used to dispatch events posted to a loop with no dedicated task, i.e task name was set to NULL - * in event_loop_args argument during loop creation. This function includes an argument to limit the amount of time - * it runs, returning control to the caller when that time expires (or some time afterwards). There is no guarantee - * that a call to this function will exit at exactly the time of expiry. There is also no guarantee that events have + * This function is used to dispatch events posted to a loop with no dedicated task, i.e task name was set to NULL + * in event_loop_args argument during loop creation. This function includes an argument to limit the amount of time + * it runs, returning control to the caller when that time expires (or some time afterwards). There is no guarantee + * that a call to this function will exit at exactly the time of expiry. There is also no guarantee that events have * been dispatched during the call, as the function might have spent all of the alloted time waiting on the event queue. - * Once an event has been unqueued, however, it is guaranteed to be dispatched. This guarantee contributes to not being - * able to exit exactly at time of expiry as (1) blocking on internal mutexes is necessary for dispatching the unqueued - * event, and (2) during dispatch of the unqueued event there is no way to control the time occupied by handler code + * Once an event has been unqueued, however, it is guaranteed to be dispatched. This guarantee contributes to not being + * able to exit exactly at time of expiry as (1) blocking on internal mutexes is necessary for dispatching the unqueued + * event, and (2) during dispatch of the unqueued event there is no way to control the time occupied by handler code * execution. The guaranteed time of exit is therefore the alloted time + amount of time required to dispatch * the last unqueued event. * - * In cases where waiting on the queue times out, ESP_OK is returned and not ESP_ERR_TIMEOUT, since it is + * In cases where waiting on the queue times out, ESP_OK is returned and not ESP_ERR_TIMEOUT, since it is * normal behavior. * * @param[in] event_loop event loop to dispatch posted events from @@ -108,7 +108,7 @@ esp_err_t esp_event_loop_delete_default(); * * @note encountering an unknown event that has been posted to the loop will only generate a warning, not an error. * - * @return + * @return * - ESP_OK: Success * - Others: Fail */ @@ -124,8 +124,8 @@ esp_err_t esp_event_loop_run(esp_event_loop_handle_t event_loop, TickType_t tick * - all events of a certain base: specify exact event_base and use ESP_EVENT_ANY_ID as the event_id * - all events known by the loop: use ESP_EVENT_ANY_BASE for event_base and ESP_EVENT_ANY_ID as the event_id * - * Registering multiple handlers to events is possible. Registering a single handler to multiple events is - * also possible. However, registering the same handler to the same event multiple times would cause the + * Registering multiple handlers to events is possible. Registering a single handler to multiple events is + * also possible. However, registering the same handler to the same event multiple times would cause the * previous registrations to be overwritten. * * @param[in] event_base the base id of the event to register the handler for @@ -133,24 +133,24 @@ esp_err_t esp_event_loop_run(esp_event_loop_handle_t event_loop, TickType_t tick * @param[in] event_handler the handler function which gets called when the event is dispatched * @param[in] event_handler_arg data, aside from event data, that is passed to the handler when it is called * - * @note the event loop library does not maintain a copy of event_handler_arg, therefore the user should + * @note the event loop library does not maintain a copy of event_handler_arg, therefore the user should * ensure that event_handler_arg still points to a valid location by the time the handler gets called * - * @return + * @return * - ESP_OK: Success * - ESP_ERR_NO_MEM: Cannot allocate memory for the handler - * - ESP_ERR_INVALID_ARG: Invalid combination of event base and event id + * - ESP_ERR_INVALIG_ARG: Invalid combination of event base and event id * - Others: Fail */ -esp_err_t esp_event_handler_register(esp_event_base_t event_base, - int32_t event_id, - esp_event_handler_t event_handler, +esp_err_t esp_event_handler_register(esp_event_base_t event_base, + int32_t event_id, + esp_event_handler_t event_handler, void* event_handler_arg); /** * @brief Register an event handler to a specific loop. * - * This function behaves in the same manner as esp_event_handler_register, except the additional + * This function behaves in the same manner as esp_event_handler_register, except the additional * specification of the event loop to register the handler to. * * @param[in] event_loop the event loop to register this handler function to @@ -159,26 +159,23 @@ esp_err_t esp_event_handler_register(esp_event_base_t event_base, * @param[in] event_handler the handler function which gets called when the event is dispatched * @param[in] event_handler_arg data, aside from event data, that is passed to the handler when it is called * - * @note the event loop library does not maintain a copy of event_handler_arg, therefore the user should - * ensure that event_handler_arg still points to a valid location by the time the handler gets called - * - * @return + * @return * - ESP_OK: Success * - ESP_ERR_NO_MEM: Cannot allocate memory for the handler - * - ESP_ERR_INVALID_ARG: Invalid combination of event base and event id + * - ESP_ERR_INVALIG_ARG: Invalid combination of event base and event id * - Others: Fail */ -esp_err_t esp_event_handler_register_with(esp_event_loop_handle_t event_loop, - esp_event_base_t event_base, - int32_t event_id, - esp_event_handler_t event_handler, +esp_err_t esp_event_handler_register_with(esp_event_loop_handle_t event_loop, + esp_event_base_t event_base, + int32_t event_id, + esp_event_handler_t event_handler, void* event_handler_arg); /** * @brief Unregister a handler with the system event loop. * * This function can be used to unregister a handler so that it no longer gets called during dispatch. - * Handlers can be unregistered for either: (1) specific events, (2) all events of a certain event base, + * Handlers can be unregistered for either: (1) specific events, (2) all events of a certain event base, * or (3) all events known by the system event loop * * - specific events: specify exact event_base and event_id @@ -192,7 +189,7 @@ esp_err_t esp_event_handler_register_with(esp_event_loop_handle_t event_loop, * @param[in] event_handler the handler to unregister * * @return ESP_OK success - * @return ESP_ERR_INVALID_ARG invalid combination of event base and event id + * @return ESP_ERR_INVALIG_ARG invalid combination of event base and event id * @return others fail */ esp_err_t esp_event_handler_unregister(esp_event_base_t event_base, int32_t event_id, esp_event_handler_t event_handler); @@ -200,7 +197,7 @@ esp_err_t esp_event_handler_unregister(esp_event_base_t event_base, int32_t even /** * @brief Unregister a handler with the system event loop. * - * This function behaves in the same manner as esp_event_handler_unregister, except the additional specification of + * This function behaves in the same manner as esp_event_handler_unregister, except the additional specification of * the event loop to unregister the handler with. * * @param[in] event_loop the event loop with which to unregister this handler function @@ -208,21 +205,21 @@ esp_err_t esp_event_handler_unregister(esp_event_base_t event_base, int32_t even * @param[in] event_id the id of the event with which to unregister the handler * @param[in] event_handler the handler to unregister * - * @return + * @return * - ESP_OK: Success - * - ESP_ERR_INVALID_ARG: Invalid combination of event base and event id + * - ESP_ERR_INVALIG_ARG: Invalid combination of event base and event id * - Others: Fail */ -esp_err_t esp_event_handler_unregister_with(esp_event_loop_handle_t event_loop, - esp_event_base_t event_base, - int32_t event_id, +esp_err_t esp_event_handler_unregister_with(esp_event_loop_handle_t event_loop, + esp_event_base_t event_base, + int32_t event_id, esp_event_handler_t event_handler); /** - * @brief Posts an event to the system default event loop. The event loop library keeps a copy of event_data and manages - * the copy's lifetime automatically (allocation + deletion); this ensures that the data the + * @brief Posts an event to the system default event loop. The event loop library keeps a copy of event_data and manages + * the copy's lifetime automatically (allocation + deletion); this ensures that the data the * handler recieves is always valid. - * + * * @param[in] event_base the event base that identifies the event * @param[in] event_id the the event id that identifies the event * @param[in] event_data the data, specific to the event occurence, that gets passed to the handler @@ -231,21 +228,21 @@ esp_err_t esp_event_handler_unregister_with(esp_event_loop_handle_t event_loop, * * @note posting events from an ISR is not supported * - * @return + * @return * - ESP_OK: Success * - ESP_ERR_TIMEOUT: Time to wait for event queue to unblock expired - * - ESP_ERR_INVALID_ARG: Invalid combination of event base and event id + * - ESP_ERR_INVALIG_ARG: Invalid combination of event base and event id * - Others: Fail */ -esp_err_t esp_event_post(esp_event_base_t event_base, - int32_t event_id, - void* event_data, - size_t event_data_size, +esp_err_t esp_event_post(esp_event_base_t event_base, + int32_t event_id, + void* event_data, + size_t event_data_size, TickType_t ticks_to_wait); /** - * @brief Posts an event to the specified event loop. The event loop library keeps a copy of event_data and manages - * the copy's lifetime automatically (allocation + deletion); this ensures that the data the + * @brief Posts an event to the specified event loop. The event loop library keeps a copy of event_data and manages + * the copy's lifetime automatically (allocation + deletion); this ensures that the data the * handler recieves is always valid. * * This function behaves in the same manner as esp_event_post_to, except the additional specification of the event loop @@ -259,60 +256,73 @@ esp_err_t esp_event_post(esp_event_base_t event_base, * @param[in] ticks_to_wait number of ticks to block on a full event queue * * @note posting events from an ISR is not supported - * - * @return + * + * @return * - ESP_OK: Success * - ESP_ERR_TIMEOUT: Time to wait for event queue to unblock expired - * - ESP_ERR_INVALID_ARG: Invalid combination of event base and event id + * - ESP_ERR_INVALIG_ARG: Invalid combination of event base and event id * - Others: Fail */ -esp_err_t esp_event_post_to(esp_event_loop_handle_t event_loop, - esp_event_base_t event_base, - int32_t event_id, - void* event_data, - size_t event_data_size, +esp_err_t esp_event_post_to(esp_event_loop_handle_t event_loop, + esp_event_base_t event_base, + int32_t event_id, + void* event_data, + size_t event_data_size, TickType_t ticks_to_wait); /** * @brief Dumps statistics of all event loops. * * Dumps event loop info in the format: - * + * @verbatim event loop - handler - handler - ... + event + handler + handler + event + handler + handler event loop - handler - handler + event + handler + ... ... - + ... + where: - + event loop - format: address,name rx:total_recieved dr:total_dropped + format: address,name rx:total_recieved dr:total_dropped inv:total_number_of_invocations run:total_runtime where: address - memory address of the event loop - name - name of the event loop, 'none' if no dedicated task + name - name of the event loop total_recieved - number of successfully posted events - total_dropped - number of events unsucessfully posted due to queue being full - + total_number_of_invocations - total number of handler invocations performed so far + total_runtime - total runtime of all invocations so far + + event + format: base:id proc:total_processed run:total_runtime + where: + base - event base + id - event id + total_processed - number of instances of this event that has been processed + total_runtime - total amount of time in microseconds used for invoking handlers of this event + handler - format: address ev:base,id inv:total_invoked run:total_runtime + format: address inv:total_invoked run:total_runtime where: address - address of the handler function - base,id - the event specified by event base and id this handler executes total_invoked - number of times this handler has been invoked total_runtime - total amount of time used for invoking this handler - + @endverbatim * * @param[in] file the file stream to output to * * @note this function is a noop when CONFIG_EVENT_LOOP_PROFILING is disabled * - * @return + * @return * - ESP_OK: Success * - ESP_ERR_NO_MEM: Cannot allocate memory for event loops list * - Others: Fail diff --git a/tools/sdk/include/esp_http_client/esp_http_client.h b/tools/sdk/include/esp_http_client/esp_http_client.h index 77e9d852..4e940a6d 100644 --- a/tools/sdk/include/esp_http_client/esp_http_client.h +++ b/tools/sdk/include/esp_http_client/esp_http_client.h @@ -105,9 +105,7 @@ typedef struct { esp_http_client_auth_type_t auth_type; /*!< Http authentication type, see `esp_http_client_auth_type_t` */ const char *path; /*!< HTTP Path, if not set, default is `/` */ const char *query; /*!< HTTP query */ - const char *cert_pem; /*!< SSL server certification, PEM format as string, if the client requires to verify server */ - const char *client_cert_pem; /*!< SSL client certification, PEM format as string, if the server requires to verify client */ - const char *client_key_pem; /*!< SSL client key, PEM format as string, if the server requires to verify client */ + const char *cert_pem; /*!< SSL Certification, PEM format as string, if the client requires to verify server */ esp_http_client_method_t method; /*!< HTTP Method */ int timeout_ms; /*!< Network timeout in milliseconds */ bool disable_auto_redirect; /*!< Disable HTTP automatic redirects */ diff --git a/tools/sdk/include/esp_http_server/esp_http_server.h b/tools/sdk/include/esp_http_server/esp_http_server.h index 842848c5..29d9b302 100644 --- a/tools/sdk/include/esp_http_server/esp_http_server.h +++ b/tools/sdk/include/esp_http_server/esp_http_server.h @@ -49,7 +49,6 @@ initializer that should be kept in sync .global_transport_ctx_free_fn = NULL, \ .open_fn = NULL, \ .close_fn = NULL, \ - .uri_match_fn = NULL \ } #define ESP_ERR_HTTPD_BASE (0x8000) /*!< Starting number of HTTPD error codes */ @@ -62,10 +61,6 @@ initializer that should be kept in sync #define ESP_ERR_HTTPD_ALLOC_MEM (ESP_ERR_HTTPD_BASE + 7) /*!< Failed to dynamically allocate memory for resource */ #define ESP_ERR_HTTPD_TASK (ESP_ERR_HTTPD_BASE + 8) /*!< Failed to launch server task/thread */ -/* Symbol to be used as length parameter in httpd_resp_send APIs - * for setting buffer length to string length */ -#define HTTPD_RESP_USE_STRLEN -1 - /* ************** Group: Initialization ************** */ /** @name Initialization * APIs related to the Initialization of the web server @@ -87,7 +82,7 @@ typedef enum http_method httpd_method_t; /** * @brief Prototype for freeing context data (if any) - * @param[in] ctx object to free + * @param[in] ctx : object to free */ typedef void (*httpd_free_ctx_fn_t)(void *ctx); @@ -97,8 +92,8 @@ typedef void (*httpd_free_ctx_fn_t)(void *ctx); * Called immediately after the socket was opened to set up the send/recv functions and * other parameters of the socket. * - * @param[in] hd server instance - * @param[in] sockfd session socket file descriptor + * @param[in] hd : server instance + * @param[in] sockfd : session socket file descriptor * @return status */ typedef esp_err_t (*httpd_open_func_t)(httpd_handle_t hd, int sockfd); @@ -109,26 +104,11 @@ typedef esp_err_t (*httpd_open_func_t)(httpd_handle_t hd, int sockfd); * @note It's possible that the socket descriptor is invalid at this point, the function * is called for all terminated sessions. Ensure proper handling of return codes. * - * @param[in] hd server instance - * @param[in] sockfd session socket file descriptor + * @param[in] hd : server instance + * @param[in] sockfd : session socket file descriptor */ typedef void (*httpd_close_func_t)(httpd_handle_t hd, int sockfd); -/** - * @brief Function prototype for URI matching. - * - * @param[in] reference_uri URI/template with respect to which the other URI is matched - * @param[in] uri_to_match URI/template being matched to the reference URI/template - * @param[in] match_upto For specifying the actual length of `uri_to_match` up to - * which the matching algorithm is to be applied (The maximum - * value is `strlen(uri_to_match)`, independent of the length - * of `reference_uri`) - * @return true on match - */ -typedef bool (*httpd_uri_match_func_t)(const char *reference_uri, - const char *uri_to_match, - size_t match_upto); - /** * @brief HTTP Server Configuration Structure * @@ -215,24 +195,6 @@ typedef struct httpd_config { * was closed by the network stack - that is, the file descriptor may not be valid anymore. */ httpd_close_func_t close_fn; - - /** - * URI matcher function. - * - * Called when searching for a matching URI: - * 1) whose request handler is to be executed right - * after an HTTP request is successfully parsed - * 2) in order to prevent duplication while registering - * a new URI handler using `httpd_register_uri_handler()` - * - * Available options are: - * 1) NULL : Internally do basic matching using `strncmp()` - * 2) `httpd_uri_match_wildcard()` : URI wildcard matcher - * - * Users can implement their own matching functions (See description - * of the `httpd_uri_match_func_t` function prototype) - */ - httpd_uri_match_func_t uri_match_fn; } httpd_config_t; /** @@ -265,8 +227,8 @@ typedef struct httpd_config { * * @endcode * - * @param[in] config Configuration for new instance of the server - * @param[out] handle Handle to newly created instance of the server. NULL on error + * @param[in] config : Configuration for new instance of the server + * @param[out] handle : Handle to newly created instance of the server. NULL on error * @return * - ESP_OK : Instance created successfully * - ESP_ERR_INVALID_ARG : Null argument(s) @@ -362,6 +324,18 @@ typedef struct httpd_req { * function for freeing the session context, please specify that here. */ httpd_free_ctx_fn_t free_ctx; + + /** + * Flag indicating if Session Context changes should be ignored + * + * By default, if you change the sess_ctx in some URI handler, the http server + * will internally free the earlier context (if non NULL), after the URI handler + * returns. If you want to manage the allocation/reallocation/freeing of + * sess_ctx yourself, set this flag to true, so that the server will not + * perform any checks on it. The context will be cleared by the server + * (by calling free_ctx or free()) only if the socket gets closed. + */ + bool ignore_sess_ctx_changes; } httpd_req_t; /** @@ -471,122 +445,6 @@ esp_err_t httpd_unregister_uri(httpd_handle_t handle, const char* uri); * @} */ -/* ************** Group: HTTP Error ************** */ -/** @name HTTP Error - * Prototype for HTTP errors and error handling functions - * @{ - */ - -/** - * @brief Error codes sent as HTTP response in case of errors - * encountered during processing of an HTTP request - */ -typedef enum { - /* For any unexpected errors during parsing, like unexpected - * state transitions, or unhandled errors. - */ - HTTPD_500_INTERNAL_SERVER_ERROR = 0, - - /* For methods not supported by http_parser. Presently - * http_parser halts parsing when such methods are - * encountered and so the server responds with 400 Bad - * Request error instead. - */ - HTTPD_501_METHOD_NOT_IMPLEMENTED, - - /* When HTTP version is not 1.1 */ - HTTPD_505_VERSION_NOT_SUPPORTED, - - /* Returned when http_parser halts parsing due to incorrect - * syntax of request, unsupported method in request URI or - * due to chunked encoding / upgrade field present in headers - */ - HTTPD_400_BAD_REQUEST, - - /* When requested URI is not found */ - HTTPD_404_NOT_FOUND, - - /* When URI found, but method has no handler registered */ - HTTPD_405_METHOD_NOT_ALLOWED, - - /* Intended for recv timeout. Presently it's being sent - * for other recv errors as well. Client should expect the - * server to immediately close the connection after - * responding with this. - */ - HTTPD_408_REQ_TIMEOUT, - - /* Intended for responding to chunked encoding, which is - * not supported currently. Though unhandled http_parser - * callback for chunked request returns "400 Bad Request" - */ - HTTPD_411_LENGTH_REQUIRED, - - /* URI length greater than CONFIG_HTTPD_MAX_URI_LEN */ - HTTPD_414_URI_TOO_LONG, - - /* Headers section larger than CONFIG_HTTPD_MAX_REQ_HDR_LEN */ - HTTPD_431_REQ_HDR_FIELDS_TOO_LARGE, - - /* Used internally for retrieving the total count of errors */ - HTTPD_ERR_CODE_MAX -} httpd_err_code_t; - -/** - * @brief Function prototype for HTTP error handling. - * - * This function is executed upon HTTP errors generated during - * internal processing of an HTTP request. This is used to override - * the default behavior on error, which is to send HTTP error response - * and close the underlying socket. - * - * @note - * - If implemented, the server will not automatically send out HTTP - * error response codes, therefore, httpd_resp_send_err() must be - * invoked inside this function if user wishes to generate HTTP - * error responses. - * - When invoked, the validity of `uri`, `method`, `content_len` - * and `user_ctx` fields of the httpd_req_t parameter is not - * guaranteed as the HTTP request may be partially received/parsed. - * - The function must return ESP_OK if underlying socket needs to - * be kept open. Any other value will ensure that the socket is - * closed. The return value is ignored when error is of type - * `HTTPD_500_INTERNAL_SERVER_ERROR` and the socket closed anyway. - * - * @param[in] req HTTP request for which the error needs to be handled - * @param[in] error Error type - * - * @return - * - ESP_OK : error handled successful - * - ESP_FAIL : failure indicates that the underlying socket needs to be closed - */ -typedef esp_err_t (*httpd_err_handler_func_t)(httpd_req_t *req, - httpd_err_code_t error); - -/** - * @brief Function for registering HTTP error handlers - * - * This function maps a handler function to any supported error code - * given by `httpd_err_code_t`. See prototype `httpd_err_handler_func_t` - * above for details. - * - * @param[in] handle HTTP server handle - * @param[in] error Error type - * @param[in] handler_fn User implemented handler function - * (Pass NULL to unset any previously set handler) - * - * @return - * - ESP_OK : handler registered successfully - * - ESP_ERR_INVALID_ARG : invalid error code or server handle - */ -esp_err_t httpd_register_err_handler(httpd_handle_t handle, - httpd_err_code_t error, - httpd_err_handler_func_t handler_fn); - -/** End of HTTP Error - * @} - */ - /* ************** Group: TX/RX ************** */ /** @name TX / RX * Prototype for HTTPDs low-level send/recv functions @@ -605,11 +463,11 @@ esp_err_t httpd_register_err_handler(httpd_handle_t handle, * HTTPD_SOCK_ERR_ codes, which will eventually be conveyed as * return value of httpd_send() function * - * @param[in] hd server instance - * @param[in] sockfd session socket file descriptor - * @param[in] buf buffer with bytes to send - * @param[in] buf_len data size - * @param[in] flags flags for the send() function + * @param[in] hd : server instance + * @param[in] sockfd : session socket file descriptor + * @param[in] buf : buffer with bytes to send + * @param[in] buf_len : data size + * @param[in] flags : flags for the send() function * @return * - Bytes : The number of bytes sent successfully * - HTTPD_SOCK_ERR_INVALID : Invalid arguments @@ -626,11 +484,11 @@ typedef int (*httpd_send_func_t)(httpd_handle_t hd, int sockfd, const char *buf, * HTTPD_SOCK_ERR_ codes, which will eventually be conveyed as * return value of httpd_req_recv() function * - * @param[in] hd server instance - * @param[in] sockfd session socket file descriptor - * @param[in] buf buffer with bytes to send - * @param[in] buf_len data size - * @param[in] flags flags for the send() function + * @param[in] hd : server instance + * @param[in] sockfd : session socket file descriptor + * @param[in] buf : buffer with bytes to send + * @param[in] buf_len : data size + * @param[in] flags : flags for the send() function * @return * - Bytes : The number of bytes received successfully * - 0 : Buffer length parameter is zero / connection closed by peer @@ -648,8 +506,8 @@ typedef int (*httpd_recv_func_t)(httpd_handle_t hd, int sockfd, char *buf, size_ * HTTPD_SOCK_ERR_ codes, which will be handled accordingly in * the server task. * - * @param[in] hd server instance - * @param[in] sockfd session socket file descriptor + * @param[in] hd : server instance + * @param[in] sockfd : session socket file descriptor * @return * - Bytes : The number of bytes waiting to be received * - HTTPD_SOCK_ERR_INVALID : Invalid arguments @@ -898,30 +756,6 @@ esp_err_t httpd_req_get_url_query_str(httpd_req_t *r, char *buf, size_t buf_len) */ esp_err_t httpd_query_key_value(const char *qry, const char *key, char *val, size_t val_size); -/** - * @brief Test if a URI matches the given wildcard template. - * - * Template may end with "?" to make the previous character optional (typically a slash), - * "*" for a wildcard match, and "?*" to make the previous character optional, and if present, - * allow anything to follow. - * - * Example: - * - * matches everything - * - /foo/? matches /foo and /foo/ - * - /foo/\* (sans the backslash) matches /foo/ and /foo/bar, but not /foo or /fo - * - /foo/?* or /foo/\*? (sans the backslash) matches /foo/, /foo/bar, and also /foo, but not /foox or /fo - * - * The special characters "?" and "*" anywhere else in the template will be taken literally. - * - * @param[in] uri_template URI template (pattern) - * @param[in] uri_to_match URI to be matched - * @param[in] match_upto how many characters of the URI buffer to test - * (there may be trailing query string etc.) - * - * @return true if a match was found - */ -bool httpd_uri_match_wildcard(const char *uri_template, const char *uri_to_match, size_t match_upto); - /** * @brief API to send a complete HTTP response. * @@ -950,7 +784,7 @@ bool httpd_uri_match_wildcard(const char *uri_template, const char *uri_to_match * * @param[in] r The request being responded to * @param[in] buf Buffer from where the content is to be fetched - * @param[in] buf_len Length of the buffer, HTTPD_RESP_USE_STRLEN to use strlen() + * @param[in] buf_len Length of the buffer, -1 to use strlen() * * @return * - ESP_OK : On successfully sending the response packet @@ -989,7 +823,7 @@ esp_err_t httpd_resp_send(httpd_req_t *r, const char *buf, ssize_t buf_len); * * @param[in] r The request being responded to * @param[in] buf Pointer to a buffer that stores the data - * @param[in] buf_len Length of the buffer, HTTPD_RESP_USE_STRLEN to use strlen() + * @param[in] buf_len Length of the data from the buffer that should be sent out, -1 to use strlen() * * @return * - ESP_OK : On successfully sending the response packet chunk @@ -1000,48 +834,6 @@ esp_err_t httpd_resp_send(httpd_req_t *r, const char *buf, ssize_t buf_len); */ esp_err_t httpd_resp_send_chunk(httpd_req_t *r, const char *buf, ssize_t buf_len); -/** - * @brief API to send a complete string as HTTP response. - * - * This API simply calls http_resp_send with buffer length - * set to string length assuming the buffer contains a null - * terminated string - * - * @param[in] r The request being responded to - * @param[in] str String to be sent as response body - * - * @return - * - ESP_OK : On successfully sending the response packet - * - ESP_ERR_INVALID_ARG : Null request pointer - * - ESP_ERR_HTTPD_RESP_HDR : Essential headers are too large for internal buffer - * - ESP_ERR_HTTPD_RESP_SEND : Error in raw send - * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request - */ -static inline esp_err_t httpd_resp_sendstr(httpd_req_t *r, const char *str) { - return httpd_resp_send(r, str, (str == NULL) ? 0 : strlen(str)); -} - -/** - * @brief API to send a string as an HTTP response chunk. - * - * This API simply calls http_resp_send_chunk with buffer length - * set to string length assuming the buffer contains a null - * terminated string - * - * @param[in] r The request being responded to - * @param[in] str String to be sent as response body (NULL to finish response packet) - * - * @return - * - ESP_OK : On successfully sending the response packet - * - ESP_ERR_INVALID_ARG : Null request pointer - * - ESP_ERR_HTTPD_RESP_HDR : Essential headers are too large for internal buffer - * - ESP_ERR_HTTPD_RESP_SEND : Error in raw send - * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request - */ -static inline esp_err_t httpd_resp_sendstr_chunk(httpd_req_t *r, const char *str) { - return httpd_resp_send_chunk(r, str, (str == NULL) ? 0 : strlen(str)); -} - /* Some commonly used status codes */ #define HTTPD_200 "200 OK" /*!< HTTP Response 200 */ #define HTTPD_204 "204 No Content" /*!< HTTP Response 204 */ @@ -1130,30 +922,6 @@ esp_err_t httpd_resp_set_type(httpd_req_t *r, const char *type); */ esp_err_t httpd_resp_set_hdr(httpd_req_t *r, const char *field, const char *value); -/** - * @brief For sending out error code in response to HTTP request. - * - * @note - * - This API is supposed to be called only from the context of - * a URI handler where httpd_req_t* request pointer is valid. - * - Once this API is called, all request headers are purged, so - * request headers need be copied into separate buffers if - * they are required later. - * - If you wish to send additional data in the body of the - * response, please use the lower-level functions directly. - * - * @param[in] req Pointer to the HTTP request for which the response needs to be sent - * @param[in] error Error type to send - * @param[in] msg Error message string (pass NULL for default message) - * - * @return - * - ESP_OK : On successfully sending the response packet - * - ESP_ERR_INVALID_ARG : Null arguments - * - ESP_ERR_HTTPD_RESP_SEND : Error in raw send - * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request pointer - */ -esp_err_t httpd_resp_send_err(httpd_req_t *req, httpd_err_code_t error, const char *msg); - /** * @brief Helper function for HTTP 404 * @@ -1175,9 +943,7 @@ esp_err_t httpd_resp_send_err(httpd_req_t *req, httpd_err_code_t error, const ch * - ESP_ERR_HTTPD_RESP_SEND : Error in raw send * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request pointer */ -static inline esp_err_t httpd_resp_send_404(httpd_req_t *r) { - return httpd_resp_send_err(r, HTTPD_404_NOT_FOUND, NULL); -} +esp_err_t httpd_resp_send_404(httpd_req_t *r); /** * @brief Helper function for HTTP 408 @@ -1200,9 +966,7 @@ static inline esp_err_t httpd_resp_send_404(httpd_req_t *r) { * - ESP_ERR_HTTPD_RESP_SEND : Error in raw send * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request pointer */ -static inline esp_err_t httpd_resp_send_408(httpd_req_t *r) { - return httpd_resp_send_err(r, HTTPD_408_REQ_TIMEOUT, NULL); -} +esp_err_t httpd_resp_send_408(httpd_req_t *r); /** * @brief Helper function for HTTP 500 @@ -1225,9 +989,7 @@ static inline esp_err_t httpd_resp_send_408(httpd_req_t *r) { * - ESP_ERR_HTTPD_RESP_SEND : Error in raw send * - ESP_ERR_HTTPD_INVALID_REQ : Invalid request pointer */ -static inline esp_err_t httpd_resp_send_500(httpd_req_t *r) { - return httpd_resp_send_err(r, HTTPD_500_INTERNAL_SERVER_ERROR, NULL); -} +esp_err_t httpd_resp_send_500(httpd_req_t *r); /** * @brief Raw HTTP send diff --git a/tools/sdk/include/esp_https_ota/esp_https_ota.h b/tools/sdk/include/esp_https_ota/esp_https_ota.h index c87ec3bd..15719560 100644 --- a/tools/sdk/include/esp_https_ota/esp_https_ota.h +++ b/tools/sdk/include/esp_https_ota/esp_https_ota.h @@ -33,7 +33,6 @@ extern "C" { * @return * - ESP_OK: OTA data updated, next reboot will use specified partition. * - ESP_FAIL: For generic failure. - * - ESP_ERR_INVALID_ARG: Invalid argument * - ESP_ERR_OTA_VALIDATE_FAILED: Invalid app image * - ESP_ERR_NO_MEM: Cannot allocate memory for OTA operation. * - ESP_ERR_FLASH_OP_TIMEOUT or ESP_ERR_FLASH_OP_FAIL: Flash write failed. diff --git a/tools/sdk/include/esp_https_server/esp_https_server.h b/tools/sdk/include/esp_https_server/esp_https_server.h deleted file mode 100644 index e69a5a29..00000000 --- a/tools/sdk/include/esp_https_server/esp_https_server.h +++ /dev/null @@ -1,130 +0,0 @@ -// Copyright 2018 Espressif Systems (Shanghai) PTE LTD -// -// 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 _ESP_HTTPS_SERVER_H_ -#define _ESP_HTTPS_SERVER_H_ - -#include -#include "esp_err.h" -#include "esp_http_server.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - HTTPD_SSL_TRANSPORT_SECURE, // SSL Enabled - HTTPD_SSL_TRANSPORT_INSECURE // SSL disabled -} httpd_ssl_transport_mode_t; - -/** - * HTTPS server config struct - * - * Please use HTTPD_SSL_CONFIG_DEFAULT() to initialize it. - */ -struct httpd_ssl_config { - /** - * Underlying HTTPD server config - * - * Parameters like task stack size and priority can be adjusted here. - */ - httpd_config_t httpd; - - /** CA certificate */ - const uint8_t *cacert_pem; - - /** CA certificate byte length */ - size_t cacert_len; - - /** Private key */ - const uint8_t *prvtkey_pem; - - /** Private key byte length */ - size_t prvtkey_len; - - /** Transport Mode (default secure) */ - httpd_ssl_transport_mode_t transport_mode; - - /** Port used when transport mode is secure (default 443) */ - uint16_t port_secure; - - /** Port used when transport mode is insecure (default 80) */ - uint16_t port_insecure; -}; - -typedef struct httpd_ssl_config httpd_ssl_config_t; - -/** - * Default config struct init - * - * (http_server default config had to be copied for customization) - * - * Notes: - * - port is set when starting the server, according to 'transport_mode' - * - one socket uses ~ 40kB RAM with SSL, we reduce the default socket count to 4 - * - SSL sockets are usually long-lived, closing LRU prevents pool exhaustion DOS - * - Stack size may need adjustments depending on the user application - */ -#define HTTPD_SSL_CONFIG_DEFAULT() { \ - .httpd = { \ - .task_priority = tskIDLE_PRIORITY+5, \ - .stack_size = 10240, \ - .server_port = 0, \ - .ctrl_port = 32768, \ - .max_open_sockets = 4, \ - .max_uri_handlers = 8, \ - .max_resp_headers = 8, \ - .backlog_conn = 5, \ - .lru_purge_enable = true, \ - .recv_wait_timeout = 5, \ - .send_wait_timeout = 5, \ - .global_user_ctx = NULL, \ - .global_user_ctx_free_fn = NULL, \ - .global_transport_ctx = NULL, \ - .global_transport_ctx_free_fn = NULL, \ - .open_fn = NULL, \ - .close_fn = NULL, \ - .uri_match_fn = NULL \ - }, \ - .cacert_pem = NULL, \ - .cacert_len = 0, \ - .prvtkey_pem = NULL, \ - .prvtkey_len = 0, \ - .transport_mode = HTTPD_SSL_TRANSPORT_SECURE, \ - .port_secure = 443, \ - .port_insecure = 80, \ -} - -/** - * Create a SSL capable HTTP server (secure mode may be disabled in config) - * - * @param[in,out] config - server config, must not be const. Does not have to stay valid after - * calling this function. - * @param[out] handle - storage for the server handle, must be a valid pointer - * @return success - */ -esp_err_t httpd_ssl_start(httpd_handle_t *handle, httpd_ssl_config_t *config); - -/** - * Stop the server. Blocks until the server is shut down. - * - * @param[in] handle - */ -void httpd_ssl_stop(httpd_handle_t handle); - -#ifdef __cplusplus -} -#endif - -#endif // _ESP_HTTPS_SERVER_H_ diff --git a/tools/sdk/include/espcoredump/esp_core_dump.h b/tools/sdk/include/espcoredump/esp_core_dump.h deleted file mode 100644 index 5201f1e9..00000000 --- a/tools/sdk/include/espcoredump/esp_core_dump.h +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// 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 ESP_CORE_DUMP_H_ -#define ESP_CORE_DUMP_H_ - -/**************************************************************************************/ -/******************************** EXCEPTION MODE API **********************************/ -/**************************************************************************************/ - -/** - * @brief Initializes core dump module internal data. - * - * @note Should be called at system startup. - */ -void esp_core_dump_init(); - -/** - * @brief Saves core dump to flash. - * - * The structure of data stored in flash is as follows: - * - * | TOTAL_LEN | VERSION | TASKS_NUM | TCB_SIZE | - * | TCB_ADDR_1 | STACK_TOP_1 | STACK_END_1 | TCB_1 | STACK_1 | - * . . . . - * . . . . - * | TCB_ADDR_N | STACK_TOP_N | STACK_END_N | TCB_N | STACK_N | - * | CRC32 | - * - * Core dump in flash consists of header and data for every task in the system at the moment of crash. - * For flash data integrity control CRC is used at the end of core the dump data. - * The structure of core dump data is described below in details. - * 1) Core dump starts with header: - * 1.1) TOTAL_LEN is total length of core dump data in flash including CRC. Size is 4 bytes. - * 1.2) VERSION field keeps 4 byte version of core dump. - * 1.2) TASKS_NUM is the number of tasks for which data are stored. Size is 4 bytes. - * 1.3) TCB_SIZE is the size of task's TCB structure. Size is 4 bytes. - * 2) Core dump header is followed by the data for every task in the system. - * Task data are started with task header: - * 2.1) TCB_ADDR is the address of TCB in memory. Size is 4 bytes. - * 2.2) STACK_TOP is the top of task's stack (address of the topmost stack item). Size is 4 bytes. - * 2.2) STACK_END is the end of task's stack (address from which task's stack starts). Size is 4 bytes. - * 3) Task header is followed by TCB data. Size is TCB_SIZE bytes. - * 4) Task's stack is placed after TCB data. Size is (STACK_END - STACK_TOP) bytes. - * 5) CRC is placed at the end of the data. - */ -void esp_core_dump_to_flash(); - -/** - * @brief Print base64-encoded core dump to UART. - * - * The structure of core dump data is the same as for data stored in flash (@see esp_core_dump_to_flash) with some notes: - * 1) CRC is not present in core dump printed to UART. - * 2) Since CRC is omitted TOTAL_LEN does not include its size. - * 3) Printed base64 data are surrounded with special messages to help user recognize the start and end of actual data. - */ -void esp_core_dump_to_uart(); - - -/**************************************************************************************/ -/*********************************** USER MODE API ************************************/ -/**************************************************************************************/ - -/** - * @brief Retrieves address and size of coredump data in flash. - * This function is always available, even when core dump is disabled in menuconfig. - * - * @param out_addr pointer to store image address in flash. - * @param out_size pointer to store image size in flash (including CRC). In bytes. - * - * @return ESP_OK on success, otherwise \see esp_err_t - */ -esp_err_t esp_core_dump_image_get(size_t* out_addr, size_t *out_size); - -#endif diff --git a/tools/sdk/include/fatfs/ffconf.h b/tools/sdk/include/fatfs/ffconf.h index 9513b516..1b1cf8c8 100644 --- a/tools/sdk/include/fatfs/ffconf.h +++ b/tools/sdk/include/fatfs/ffconf.h @@ -52,7 +52,7 @@ /* This option switches f_expand function. (0:Disable or 1:Enable) */ -#define FF_USE_CHMOD 1 +#define FF_USE_CHMOD 0 /* This option switches attribute manipulation functions, f_chmod() and f_utime(). / (0:Disable or 1:Enable) Also FF_FS_READONLY needs to be 0 to enable this option. */ @@ -301,11 +301,4 @@ #include "freertos/FreeRTOS.h" #include "freertos/semphr.h" -/* Some memory allocation functions are declared here in addition to ff.h, so that - they can be used also by external code when LFN feature is disabled. - */ -void* ff_memalloc (UINT msize); -void* ff_memcalloc (UINT num, UINT size); - - /*--- End of configuration options ---*/ diff --git a/tools/sdk/include/freemodbus/mbcontroller.h b/tools/sdk/include/freemodbus/mbcontroller.h index 267fa34a..b6b206e2 100644 --- a/tools/sdk/include/freemodbus/mbcontroller.h +++ b/tools/sdk/include/freemodbus/mbcontroller.h @@ -26,7 +26,7 @@ /* ----------------------- Defines ------------------------------------------*/ #define MB_INST_MIN_SIZE (2) // The minimal size of Modbus registers area in bytes -#define MB_INST_MAX_SIZE (65535 * 2) // The maximum size of Modbus area in bytes +#define MB_INST_MAX_SIZE (2048) // The maximum size of Modbus area in bytes #define MB_CONTROLLER_STACK_SIZE (CONFIG_MB_CONTROLLER_STACK_SIZE) // Stack size for Modbus controller #define MB_CONTROLLER_PRIORITY (CONFIG_MB_SERIAL_TASK_PRIO - 1) // priority of MB controller task diff --git a/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h b/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h index 80185f9e..aa33917e 100644 --- a/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h +++ b/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h @@ -300,12 +300,7 @@ extern void vPortCleanUpTCB ( void *pxTCB ); #define configXT_BOARD 1 /* Board mode */ #define configXT_SIMULATOR 0 -#if CONFIG_ESP32_ENABLE_COREDUMP -#define configENABLE_TASK_SNAPSHOT 1 -#endif -#ifndef configENABLE_TASK_SNAPSHOT -#define configENABLE_TASK_SNAPSHOT 1 -#endif +#define configENABLE_TASK_SNAPSHOT 1 #if CONFIG_SYSVIEW_ENABLE #ifndef __ASSEMBLER__ diff --git a/tools/sdk/include/idf_test/idf_performance.h b/tools/sdk/include/idf_test/idf_performance.h index 0ba430e7..60040303 100644 --- a/tools/sdk/include/idf_test/idf_performance.h +++ b/tools/sdk/include/idf_test/idf_performance.h @@ -1,4 +1,12 @@ -#pragma once + +/* @brief macro to print IDF performance + * @param mode : performance item name. a string pointer. + * @param value_fmt: print format and unit of the value, for example: "%02fms", "%dKB" + * @param value : the performance value. +*/ +#define IDF_LOG_PERFORMANCE(item, value_fmt, value) \ + printf("[Performance][%s]: "value_fmt"\n", item, value) + /* declare the performance here */ #define IDF_PERFORMANCE_MAX_HTTPS_REQUEST_BIN_SIZE 800 @@ -12,8 +20,8 @@ #define IDF_PERFORMANCE_MAX_SPI_PER_TRANS_POLLING_NO_DMA 15 /* Due to code size & linker layout differences interacting with cache, VFS microbenchmark currently runs slower with PSRAM enabled. */ -#define IDF_PERFORMANCE_MAX_VFS_OPEN_WRITE_CLOSE_TIME 20000 -#define IDF_PERFORMANCE_MAX_VFS_OPEN_WRITE_CLOSE_TIME_PSRAM 25000 +#define IDF_PERFORMANCE_MAX_VFS_OPEN_WRITE_CLOSE_TIME 50000 +#define IDF_PERFORMANCE_MAX_VFS_OPEN_WRITE_CLOSE_TIME_PSRAM 40000 // throughput performance by iperf #define IDF_PERFORMANCE_MIN_TCP_RX_THROUGHPUT 50 #define IDF_PERFORMANCE_MIN_TCP_TX_THROUGHPUT 40 diff --git a/tools/sdk/include/lwip/lwipopts.h b/tools/sdk/include/lwip/lwipopts.h index 03d8d26f..53b59860 100644 --- a/tools/sdk/include/lwip/lwipopts.h +++ b/tools/sdk/include/lwip/lwipopts.h @@ -1,8 +1,8 @@ /* * Copyright (c) 2001-2003 Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, @@ -11,21 +11,21 @@ * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. + * derived from this software without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT - * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. * * This file is part of the lwIP TCP/IP stack. - * + * * Author: Simon Goldschmidt * */ @@ -316,7 +316,7 @@ * scenario happens: 192.168.0.2 -> 0.0.0.0 -> 192.168.0.2 or 192.168.0.2 -> 0.0.0.0 */ -#define ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES +#define ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES /* * LWIP_EVENT_API==1: The user defines lwip_tcp_event() to receive all * events (accept, sent, etc) that happen in the system. @@ -576,11 +576,6 @@ #if PPP_SUPPORT -/** - * PPP_NOTIFY_PHASE==1: Support PPP notify phase. - */ -#define PPP_NOTIFY_PHASE CONFIG_PPP_NOTIFY_PHASE_SUPPORT - /** * PAP_SUPPORT==1: Support PAP. */ @@ -761,10 +756,11 @@ #define ESP_AUTO_RECV 1 #define ESP_GRATUITOUS_ARP CONFIG_ESP_GRATUITOUS_ARP -#ifdef ESP_IRAM_ATTR -#undef ESP_IRAM_ATTR +#if CONFIG_LWIP_IRAM_OPTIMIZATION +#define ESP_IRAM_ATTR IRAM_ATTR +#else +#define ESP_IRAM_ATTR #endif -#define ESP_IRAM_ATTR #if ESP_PERF #define DBG_PERF_PATH_SET(dir, point) @@ -786,7 +782,7 @@ enum { }; #else -#define DBG_PERF_PATH_SET(dir, point) +#define DBG_PERF_PATH_SET(dir, point) #define DBG_PERF_FILTER_LEN 1000 #endif diff --git a/tools/sdk/include/newlib/sys/poll.h b/tools/sdk/include/newlib/sys/poll.h index 030da6bf..6e006734 100644 --- a/tools/sdk/include/newlib/sys/poll.h +++ b/tools/sdk/include/newlib/sys/poll.h @@ -1,4 +1,4 @@ -// Copyright 2018-2019 Espressif Systems (Shanghai) PTE LTD +// Copyright 2018 Espressif Systems (Shanghai) PTE LTD // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,38 +11,22 @@ // 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 _ESP_PLATFORM_SYS_POLL_H_ #define _ESP_PLATFORM_SYS_POLL_H_ -#define POLLIN (1u << 0) /* data other than high-priority may be read without blocking */ -#define POLLRDNORM (1u << 1) /* normal data may be read without blocking */ -#define POLLRDBAND (1u << 2) /* priority data may be read without blocking */ -#define POLLPRI (POLLRDBAND) /* high-priority data may be read without blocking */ -// Note: POLLPRI is made equivalent to POLLRDBAND in order to fit all these events into one byte -#define POLLOUT (1u << 3) /* normal data may be written without blocking */ -#define POLLWRNORM (POLLOUT) /* equivalent to POLLOUT */ -#define POLLWRBAND (1u << 4) /* priority data my be written */ -#define POLLERR (1u << 5) /* some poll error occurred */ -#define POLLHUP (1u << 6) /* file descriptor was "hung up" */ -#define POLLNVAL (1u << 7) /* the specified file descriptor is invalid */ - -#ifdef __cplusplus -extern "C" { -#endif +#define POLLIN 0x0001 /* any readable data available */ +#define POLLOUT 0x0004 /* file descriptor is writeable */ +#define POLLPRI 0x0002 /* OOB/Urgent readable data */ +#define POLLERR 0x0008 /* some poll error occurred */ +#define POLLHUP 0x0010 /* file descriptor was "hung up" */ struct pollfd { - int fd; /* The descriptor. */ - short events; /* The event(s) is/are specified here. */ - short revents; /* Events found are returned here. */ + int fd; /* The descriptor. */ + short events; /* The event(s) is/are specified here. */ + short revents; /* Events found are returned here. */ }; typedef unsigned int nfds_t; - int poll(struct pollfd *fds, nfds_t nfds, int timeout); -#ifdef __cplusplus -} // extern "C" -#endif - #endif // _ESP_PLATFORM_SYS_POLL_H_ diff --git a/tools/sdk/include/nvs_flash/nvs.h b/tools/sdk/include/nvs_flash/nvs.h index 1d88217e..0cc3ba09 100644 --- a/tools/sdk/include/nvs_flash/nvs.h +++ b/tools/sdk/include/nvs_flash/nvs.h @@ -65,20 +65,6 @@ typedef enum { NVS_READWRITE /*!< Read and write */ } nvs_open_mode; -typedef enum { - NVS_TYPE_U8 = 0x01, - NVS_TYPE_I8 = 0x11, - NVS_TYPE_U16 = 0x02, - NVS_TYPE_I16 = 0x12, - NVS_TYPE_U32 = 0x04, - NVS_TYPE_I32 = 0x14, - NVS_TYPE_U64 = 0x08, - NVS_TYPE_I64 = 0x18, - NVS_TYPE_STR = 0x21, - NVS_TYPE_BLOB = 0x42, - NVS_TYPE_ANY = 0xff // Must be last -} nvs_type_t; - /** * @brief Open non-volatile storage with a given namespace from the default NVS partition * diff --git a/tools/sdk/include/pthread/esp_pthread.h b/tools/sdk/include/pthread/esp_pthread.h index 76f45a32..3ce3703d 100644 --- a/tools/sdk/include/pthread/esp_pthread.h +++ b/tools/sdk/include/pthread/esp_pthread.h @@ -14,9 +14,6 @@ #pragma once -#include "esp_err.h" -#include - #ifdef __cplusplus extern "C" { #endif @@ -27,22 +24,11 @@ extern "C" { /** pthread configuration structure that influences pthread creation */ typedef struct { - size_t stack_size; ///< The stack size of the pthread - size_t prio; ///< The thread's priority - bool inherit_cfg; ///< Inherit this configuration further - const char* thread_name; ///< The thread name. - int pin_to_core; ///< The core id to pin the thread to. Has the same value range as xCoreId argument of xTaskCreatePinnedToCore. + size_t stack_size; ///< the stack size of the pthread + size_t prio; ///< the thread's priority + bool inherit_cfg; ///< inherit this configuration further } esp_pthread_cfg_t; -/** - * @brief Creates a default pthread configuration based - * on the values set via menuconfig. - * - * @return - * A default configuration structure. - */ -esp_pthread_cfg_t esp_pthread_get_default_config(); - /** * @brief Configure parameters for creating pthread * diff --git a/tools/sdk/include/soc/soc/apb_ctrl_struct.h b/tools/sdk/include/soc/soc/apb_ctrl_struct.h index a871af84..0d8e49a4 100644 --- a/tools/sdk/include/soc/soc/apb_ctrl_struct.h +++ b/tools/sdk/include/soc/soc/apb_ctrl_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_APB_CTRL_STRUCT_H_ #define _SOC_APB_CTRL_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/can_struct.h b/tools/sdk/include/soc/soc/can_struct.h index fd960934..3f566b13 100644 --- a/tools/sdk/include/soc/soc/can_struct.h +++ b/tools/sdk/include/soc/soc/can_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_CAN_STRUCT_H_ #define _SOC_CAN_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/efuse_reg.h b/tools/sdk/include/soc/soc/efuse_reg.h index e3f66049..6c3f45c5 100644 --- a/tools/sdk/include/soc/soc/efuse_reg.h +++ b/tools/sdk/include/soc/soc/efuse_reg.h @@ -205,28 +205,12 @@ #define EFUSE_RD_FLASH_CRYPT_CONFIG_M ((EFUSE_RD_FLASH_CRYPT_CONFIG_V)<<(EFUSE_RD_FLASH_CRYPT_CONFIG_S)) #define EFUSE_RD_FLASH_CRYPT_CONFIG_V 0xF #define EFUSE_RD_FLASH_CRYPT_CONFIG_S 28 -/* EFUSE_RD_DIG_VOL_L6: RO; bitpos:[27:24]; */ -/*descritpion: This field stores the difference between the digital regulator voltage at level6 and 1.2 V. (RO) - BIT[27] is the sign bit, 0: + , 1: - - BIT[26:24] is the difference value, unit: 0.017V - volt_lv6 = BIT[27] ? 1.2 - BIT[26:24] * 0.017 : 1.2 + BIT[26:24] * 0.017 */ -#define EFUSE_RD_DIG_VOL_L6 0x0F -#define EFUSE_RD_DIG_VOL_L6_M ((EFUSE_RD_DIG_VOL_L6_V)<<(EFUSE_RD_DIG_VOL_L6_S)) -#define EFUSE_RD_DIG_VOL_L6_V 0x0F -#define EFUSE_RD_DIG_VOL_L6_S 24 -/* EFUSE_RD_VOL_LEVEL_HP_INV: RO; bitpos:[23:22] */ -/*description: This field stores the voltage level for CPU to run at 240 MHz, or for flash/PSRAM to run at 80 MHz. -0x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: level 4. (RO)*/ -#define EFUSE_RD_VOL_LEVEL_HP_INV 0x03 -#define EFUSE_RD_VOL_LEVEL_HP_INV_M ((EFUSE_RD_VOL_LEVEL_HP_INV_V)<<(EFUSE_RD_VOL_LEVEL_HP_INV_S)) -#define EFUSE_RD_VOL_LEVEL_HP_INV_V 0x03 -#define EFUSE_RD_VOL_LEVEL_HP_INV_S 22 /* EFUSE_RD_INST_CONFIG : RO ;bitpos:[27:20] ;default: 8'b0 ; */ -/* Deprecated */ -#define EFUSE_RD_INST_CONFIG 0x000000FF /** Deprecated **/ -#define EFUSE_RD_INST_CONFIG_M ((EFUSE_RD_INST_CONFIG_V)<<(EFUSE_RD_INST_CONFIG_S)) /** Deprecated **/ -#define EFUSE_RD_INST_CONFIG_V 0xFF /** Deprecated **/ -#define EFUSE_RD_INST_CONFIG_S 20 /** Deprecated **/ +/*description: */ +#define EFUSE_RD_INST_CONFIG 0x000000FF +#define EFUSE_RD_INST_CONFIG_M ((EFUSE_RD_INST_CONFIG_V)<<(EFUSE_RD_INST_CONFIG_S)) +#define EFUSE_RD_INST_CONFIG_V 0xFF +#define EFUSE_RD_INST_CONFIG_S 20 /* EFUSE_RD_SPI_PAD_CONFIG_CS0 : RO ;bitpos:[19:15] ;default: 5'b0 ; */ /*description: read for SPI_pad_config_cs0*/ #define EFUSE_RD_SPI_PAD_CONFIG_CS0 0x0000001F @@ -316,7 +300,6 @@ #define EFUSE_CODING_SCHEME_VAL_NONE 0x0 #define EFUSE_CODING_SCHEME_VAL_34 0x1 -#define EFUSE_CODING_SCHEME_VAL_REPEAT 0x2 #define EFUSE_BLK0_WDATA0_REG (DR_REG_EFUSE_BASE + 0x01c) /* EFUSE_FLASH_CRYPT_CNT : R/W ;bitpos:[27:20] ;default: 8'b0 ; */ @@ -481,28 +464,12 @@ #define EFUSE_FLASH_CRYPT_CONFIG_M ((EFUSE_FLASH_CRYPT_CONFIG_V)<<(EFUSE_FLASH_CRYPT_CONFIG_S)) #define EFUSE_FLASH_CRYPT_CONFIG_V 0xF #define EFUSE_FLASH_CRYPT_CONFIG_S 28 -/* EFUSE_DIG_VOL_L6: R/W; bitpos:[27:24]; */ -/*descritpion: This field stores the difference between the digital regulator voltage at level6 and 1.2 V. (R/W) - BIT[27] is the sign bit, 0: + , 1: - - BIT[26:24] is the difference value, unit: 0.017V - volt_lv6 = BIT[27] ? 1.2 - BIT[26:24] * 0.017 : 1.2 + BIT[26:24] * 0.017 */ -#define EFUSE_DIG_VOL_L6 0x0F -#define EFUSE_DIG_VOL_L6_M ((EFUSE_RD_DIG_VOL_L6_V)<<(EFUSE_RD_DIG_VOL_L6_S)) -#define EFUSE_DIG_VOL_L6_V 0x0F -#define EFUSE_DIG_VOL_L6_S 24 -/* EFUSE_VOL_LEVEL_HP_INV: R/W; bitpos:[23:22] */ -/*description: This field stores the voltage level for CPU to run at 240 MHz, or for flash/PSRAM to run at 80 MHz. -0x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: level 4. (R/W)*/ -#define EFUSE_VOL_LEVEL_HP_INV 0x03 -#define EFUSE_VOL_LEVEL_HP_INV_M ((EFUSE_RD_VOL_LEVEL_HP_INV_V)<<(EFUSE_RD_VOL_LEVEL_HP_INV_S)) -#define EFUSE_VOL_LEVEL_HP_INV_V 0x03 -#define EFUSE_VOL_LEVEL_HP_INV_S 22 /* EFUSE_INST_CONFIG : R/W ;bitpos:[27:20] ;default: 8'b0 ; */ -/* Deprecated */ -#define EFUSE_INST_CONFIG 0x000000FF /** Deprecated **/ -#define EFUSE_INST_CONFIG_M ((EFUSE_INST_CONFIG_V)<<(EFUSE_INST_CONFIG_S)) /** Deprecated **/ -#define EFUSE_INST_CONFIG_V 0xFF /** Deprecated **/ -#define EFUSE_INST_CONFIG_S 20 /** Deprecated **/ +/*description: */ +#define EFUSE_INST_CONFIG 0x000000FF +#define EFUSE_INST_CONFIG_M ((EFUSE_INST_CONFIG_V)<<(EFUSE_INST_CONFIG_S)) +#define EFUSE_INST_CONFIG_V 0xFF +#define EFUSE_INST_CONFIG_S 20 /* EFUSE_SPI_PAD_CONFIG_CS0 : R/W ;bitpos:[19:15] ;default: 5'b0 ; */ /*description: program for SPI_pad_config_cs0*/ #define EFUSE_SPI_PAD_CONFIG_CS0 0x0000001F diff --git a/tools/sdk/include/soc/soc/gpio_sd_struct.h b/tools/sdk/include/soc/soc/gpio_sd_struct.h index 4b82be05..e5001c23 100644 --- a/tools/sdk/include/soc/soc/gpio_sd_struct.h +++ b/tools/sdk/include/soc/soc/gpio_sd_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_GPIO_SD_STRUCT_H_ #define _SOC_GPIO_SD_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/gpio_struct.h b/tools/sdk/include/soc/soc/gpio_struct.h index 15038fed..46ee8822 100644 --- a/tools/sdk/include/soc/soc/gpio_struct.h +++ b/tools/sdk/include/soc/soc/gpio_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_GPIO_STRUCT_H_ #define _SOC_GPIO_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/hinf_struct.h b/tools/sdk/include/soc/soc/hinf_struct.h index 8e46f539..1c2d9e3b 100644 --- a/tools/sdk/include/soc/soc/hinf_struct.h +++ b/tools/sdk/include/soc/soc/hinf_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_HINF_STRUCT_H_ #define _SOC_HINF_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/host_struct.h b/tools/sdk/include/soc/soc/host_struct.h index 6c350abf..a86c2982 100644 --- a/tools/sdk/include/soc/soc/host_struct.h +++ b/tools/sdk/include/soc/soc/host_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_HOST_STRUCT_H_ #define _SOC_HOST_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/i2c_struct.h b/tools/sdk/include/soc/soc/i2c_struct.h index c60bb1e7..7e781870 100644 --- a/tools/sdk/include/soc/soc/i2c_struct.h +++ b/tools/sdk/include/soc/soc/i2c_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_I2C_STRUCT_H_ #define _SOC_I2C_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/i2s_struct.h b/tools/sdk/include/soc/soc/i2s_struct.h index aa92bb75..8ec3145c 100644 --- a/tools/sdk/include/soc/soc/i2s_struct.h +++ b/tools/sdk/include/soc/soc/i2s_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_I2S_STRUCT_H_ #define _SOC_I2S_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/ledc_reg.h b/tools/sdk/include/soc/soc/ledc_reg.h index 559be873..6d6abf8b 100644 --- a/tools/sdk/include/soc/soc/ledc_reg.h +++ b/tools/sdk/include/soc/soc/ledc_reg.h @@ -1469,15 +1469,10 @@ /* LEDC_HSTIMER0_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ /*description: This register controls the range of the counter in high speed timer0. the counter range is [0 2**reg_hstimer0_lim] the max bit width for counter is 20.*/ -#define LEDC_HSTIMER0_DUTY_RES 0x0000001F -#define LEDC_HSTIMER0_DUTY_RES_M ((LEDC_HSTIMER0_DUTY_RES_V)<<(LEDC_HSTIMER0_DUTY_RES_S)) -#define LEDC_HSTIMER0_DUTY_RES_V 0x1F -#define LEDC_HSTIMER0_DUTY_RES_S 0 -// Keep the definitions below to be compatible with previous version -#define LEDC_HSTIMER0_LIM LEDC_HSTIMER0_DUTY_RES -#define LEDC_HSTIMER0_LIM_M LEDC_HSTIMER0_DUTY_RES_M -#define LEDC_HSTIMER0_LIM_V LEDC_HSTIMER0_DUTY_RES_V -#define LEDC_HSTIMER0_LIM_S LEDC_HSTIMER0_DUTY_RES_S +#define LEDC_HSTIMER0_LIM 0x0000001F +#define LEDC_HSTIMER0_LIM_M ((LEDC_HSTIMER0_LIM_V)<<(LEDC_HSTIMER0_LIM_S)) +#define LEDC_HSTIMER0_LIM_V 0x1F +#define LEDC_HSTIMER0_LIM_S 0 #define LEDC_HSTIMER0_VALUE_REG (DR_REG_LEDC_BASE + 0x0144) /* LEDC_HSTIMER0_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ @@ -1518,15 +1513,10 @@ /* LEDC_HSTIMER1_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ /*description: This register controls the range of the counter in high speed timer1. the counter range is [0 2**reg_hstimer1_lim] the max bit width for counter is 20.*/ -#define LEDC_HSTIMER1_DUTY_RES 0x0000001F -#define LEDC_HSTIMER1_DUTY_RES_M ((LEDC_HSTIMER1_DUTY_RES_V)<<(LEDC_HSTIMER1_DUTY_RES_S)) -#define LEDC_HSTIMER1_DUTY_RES_V 0x1F -#define LEDC_HSTIMER1_DUTY_RES_S 0 -// Keep the definitions below to be compatible with previous version -#define LEDC_HSTIMER1_LIM LEDC_HSTIMER1_DUTY_RES -#define LEDC_HSTIMER1_LIM_M LEDC_HSTIMER1_DUTY_RES_M -#define LEDC_HSTIMER1_LIM_V LEDC_HSTIMER1_DUTY_RES_V -#define LEDC_HSTIMER1_LIM_S LEDC_HSTIMER1_DUTY_RES_S +#define LEDC_HSTIMER1_LIM 0x0000001F +#define LEDC_HSTIMER1_LIM_M ((LEDC_HSTIMER1_LIM_V)<<(LEDC_HSTIMER1_LIM_S)) +#define LEDC_HSTIMER1_LIM_V 0x1F +#define LEDC_HSTIMER1_LIM_S 0 #define LEDC_HSTIMER1_VALUE_REG (DR_REG_LEDC_BASE + 0x014C) /* LEDC_HSTIMER1_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ @@ -1567,15 +1557,10 @@ /* LEDC_HSTIMER2_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ /*description: This register controls the range of the counter in high speed timer2. the counter range is [0 2**reg_hstimer2_lim] the max bit width for counter is 20.*/ -#define LEDC_HSTIMER2_DUTY_RES 0x0000001F -#define LEDC_HSTIMER2_DUTY_RES_M ((LEDC_HSTIMER2_DUTY_RES_V)<<(LEDC_HSTIMER2_DUTY_RES_S)) -#define LEDC_HSTIMER2_DUTY_RES_V 0x1F -#define LEDC_HSTIMER2_DUTY_RES_S 0 -// Keep the definitions below to be compatible with previous version -#define LEDC_HSTIMER2_LIM LEDC_HSTIMER2_DUTY_RES -#define LEDC_HSTIMER2_LIM_M LEDC_HSTIMER2_DUTY_RES_M -#define LEDC_HSTIMER2_LIM_V LEDC_HSTIMER2_DUTY_RES_V -#define LEDC_HSTIMER2_LIM_S LEDC_HSTIMER2_DUTY_RES_S +#define LEDC_HSTIMER2_LIM 0x0000001F +#define LEDC_HSTIMER2_LIM_M ((LEDC_HSTIMER2_LIM_V)<<(LEDC_HSTIMER2_LIM_S)) +#define LEDC_HSTIMER2_LIM_V 0x1F +#define LEDC_HSTIMER2_LIM_S 0 #define LEDC_HSTIMER2_VALUE_REG (DR_REG_LEDC_BASE + 0x0154) /* LEDC_HSTIMER2_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ @@ -1616,15 +1601,10 @@ /* LEDC_HSTIMER3_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ /*description: This register controls the range of the counter in high speed timer3. the counter range is [0 2**reg_hstimer3_lim] the max bit width for counter is 20.*/ -#define LEDC_HSTIMER3_DUTY_RES 0x0000001F -#define LEDC_HSTIMER3_DUTY_RES_M ((LEDC_HSTIMER3_DUTY_RES_V)<<(LEDC_HSTIMER3_DUTY_RES_S)) -#define LEDC_HSTIMER3_DUTY_RES_V 0x1F -#define LEDC_HSTIMER3_DUTY_RES_S 0 -// Keep the definitions below to be compatible with previous version -#define LEDC_HSTIMER3_LIM LEDC_HSTIMER3_DUTY_RES -#define LEDC_HSTIMER3_LIM_M LEDC_HSTIMER3_DUTY_RES_M -#define LEDC_HSTIMER3_LIM_V LEDC_HSTIMER3_DUTY_RES_V -#define LEDC_HSTIMER3_LIM_S LEDC_HSTIMER3_DUTY_RES_S +#define LEDC_HSTIMER3_LIM 0x0000001F +#define LEDC_HSTIMER3_LIM_M ((LEDC_HSTIMER3_LIM_V)<<(LEDC_HSTIMER3_LIM_S)) +#define LEDC_HSTIMER3_LIM_V 0x1F +#define LEDC_HSTIMER3_LIM_S 0 #define LEDC_HSTIMER3_VALUE_REG (DR_REG_LEDC_BASE + 0x015C) /* LEDC_HSTIMER3_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ @@ -1671,15 +1651,10 @@ /* LEDC_LSTIMER0_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ /*description: This register controls the range of the counter in low speed timer0. the counter range is [0 2**reg_lstimer0_lim] the max bit width for counter is 20.*/ -#define LEDC_LSTIMER0_DUTY_RES 0x0000001F -#define LEDC_LSTIMER0_DUTY_RES_M ((LEDC_LSTIMER0_DUTY_RES_V)<<(LEDC_LSTIMER0_DUTY_RES_S)) -#define LEDC_LSTIMER0_DUTY_RES_V 0x1F -#define LEDC_LSTIMER0_DUTY_RES_S 0 -// Keep the definitions below to be compatible with previous version -#define LEDC_LSTIMER0_LIM LEDC_LSTIMER0_DUTY_RES -#define LEDC_LSTIMER0_LIM_M LEDC_LSTIMER0_DUTY_RES_M -#define LEDC_LSTIMER0_LIM_V LEDC_LSTIMER0_DUTY_RES_V -#define LEDC_LSTIMER0_LIM_S LEDC_LSTIMER0_DUTY_RES_S +#define LEDC_LSTIMER0_LIM 0x0000001F +#define LEDC_LSTIMER0_LIM_M ((LEDC_LSTIMER0_LIM_V)<<(LEDC_LSTIMER0_LIM_S)) +#define LEDC_LSTIMER0_LIM_V 0x1F +#define LEDC_LSTIMER0_LIM_S 0 #define LEDC_LSTIMER0_VALUE_REG (DR_REG_LEDC_BASE + 0x0164) /* LEDC_LSTIMER0_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ @@ -1726,15 +1701,10 @@ /* LEDC_LSTIMER1_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ /*description: This register controls the range of the counter in low speed timer1. the counter range is [0 2**reg_lstimer1_lim] the max bit width for counter is 20.*/ -#define LEDC_LSTIMER1_DUTY_RES 0x0000001F -#define LEDC_LSTIMER1_DUTY_RES_M ((LEDC_LSTIMER1_DUTY_RES_V)<<(LEDC_LSTIMER1_DUTY_RES_S)) -#define LEDC_LSTIMER1_DUTY_RES_V 0x1F -#define LEDC_LSTIMER1_DUTY_RES_S 0 -// Keep the definitions below to be compatible with previous version -#define LEDC_LSTIMER1_LIM LEDC_LSTIMER1_DUTY_RES -#define LEDC_LSTIMER1_LIM_M LEDC_LSTIMER1_DUTY_RES_M -#define LEDC_LSTIMER1_LIM_V LEDC_LSTIMER1_DUTY_RES_V -#define LEDC_LSTIMER1_LIM_S LEDC_LSTIMER1_DUTY_RES_S +#define LEDC_LSTIMER1_LIM 0x0000001F +#define LEDC_LSTIMER1_LIM_M ((LEDC_LSTIMER1_LIM_V)<<(LEDC_LSTIMER1_LIM_S)) +#define LEDC_LSTIMER1_LIM_V 0x1F +#define LEDC_LSTIMER1_LIM_S 0 #define LEDC_LSTIMER1_VALUE_REG (DR_REG_LEDC_BASE + 0x016C) /* LEDC_LSTIMER1_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ @@ -1781,15 +1751,10 @@ /* LEDC_LSTIMER2_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ /*description: This register controls the range of the counter in low speed timer2. the counter range is [0 2**reg_lstimer2_lim] the max bit width for counter is 20.*/ -#define LEDC_LSTIMER2_DUTY_RES 0x0000001F -#define LEDC_LSTIMER2_DUTY_RES_M ((LEDC_LSTIMER2_DUTY_RES_V)<<(LEDC_LSTIMER2_DUTY_RES_S)) -#define LEDC_LSTIMER2_DUTY_RES_V 0x1F -#define LEDC_LSTIMER2_DUTY_RES_S 0 -// Keep the definitions below to be compatible with previous version -#define LEDC_LSTIMER2_LIM LEDC_LSTIMER2_DUTY_RES -#define LEDC_LSTIMER2_LIM_M LEDC_LSTIMER2_DUTY_RES_M -#define LEDC_LSTIMER2_LIM_V LEDC_LSTIMER2_DUTY_RES_V -#define LEDC_LSTIMER2_LIM_S LEDC_LSTIMER2_DUTY_RES_S +#define LEDC_LSTIMER2_LIM 0x0000001F +#define LEDC_LSTIMER2_LIM_M ((LEDC_LSTIMER2_LIM_V)<<(LEDC_LSTIMER2_LIM_S)) +#define LEDC_LSTIMER2_LIM_V 0x1F +#define LEDC_LSTIMER2_LIM_S 0 #define LEDC_LSTIMER2_VALUE_REG (DR_REG_LEDC_BASE + 0x0174) /* LEDC_LSTIMER2_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ @@ -1836,15 +1801,10 @@ /* LEDC_LSTIMER3_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ /*description: This register controls the range of the counter in low speed timer3. the counter range is [0 2**reg_lstimer3_lim] the max bit width for counter is 20.*/ -#define LEDC_LSTIMER3_DUTY_RES 0x0000001F -#define LEDC_LSTIMER3_DUTY_RES_M ((LEDC_LSTIMER3_DUTY_RES_V)<<(LEDC_LSTIMER3_DUTY_RES_S)) -#define LEDC_LSTIMER3_DUTY_RES_V 0x1F -#define LEDC_LSTIMER3_DUTY_RES_S 0 -// Keep the definitions below to be compatible with previous version -#define LEDC_LSTIMER3_LIM LEDC_LSTIMER3_DUTY_RES -#define LEDC_LSTIMER3_LIM_M LEDC_LSTIMER3_DUTY_RES_M -#define LEDC_LSTIMER3_LIM_V LEDC_LSTIMER3_DUTY_RES_V -#define LEDC_LSTIMER3_LIM_S LEDC_LSTIMER3_DUTY_RES_S +#define LEDC_LSTIMER3_LIM 0x0000001F +#define LEDC_LSTIMER3_LIM_M ((LEDC_LSTIMER3_LIM_V)<<(LEDC_LSTIMER3_LIM_S)) +#define LEDC_LSTIMER3_LIM_V 0x1F +#define LEDC_LSTIMER3_LIM_S 0 #define LEDC_LSTIMER3_VALUE_REG (DR_REG_LEDC_BASE + 0x017C) /* LEDC_LSTIMER3_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ diff --git a/tools/sdk/include/soc/soc/ledc_struct.h b/tools/sdk/include/soc/soc/ledc_struct.h index d07e059f..4c87dfc2 100644 --- a/tools/sdk/include/soc/soc/ledc_struct.h +++ b/tools/sdk/include/soc/soc/ledc_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_LEDC_STRUCT_H_ #define _SOC_LEDC_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/mcpwm_struct.h b/tools/sdk/include/soc/soc/mcpwm_struct.h index 1d5110bf..f41d40c6 100644 --- a/tools/sdk/include/soc/soc/mcpwm_struct.h +++ b/tools/sdk/include/soc/soc/mcpwm_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_MCPWM_STRUCT_H__ #define _SOC_MCPWM_STRUCT_H__ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/pcnt_struct.h b/tools/sdk/include/soc/soc/pcnt_struct.h index a551835b..8cfd4ca3 100644 --- a/tools/sdk/include/soc/soc/pcnt_struct.h +++ b/tools/sdk/include/soc/soc/pcnt_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_PCNT_STRUCT_H_ #define _SOC_PCNT_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/rmt_reg.h b/tools/sdk/include/soc/soc/rmt_reg.h index 15c2f9a2..59756fa2 100644 --- a/tools/sdk/include/soc/soc/rmt_reg.h +++ b/tools/sdk/include/soc/soc/rmt_reg.h @@ -995,60 +995,6 @@ #define RMT_STATUS_CH0_M ((RMT_STATUS_CH0_V)<<(RMT_STATUS_CH0_S)) #define RMT_STATUS_CH0_V 0xFFFFFFFF #define RMT_STATUS_CH0_S 0 -/* RMT_APB_MEM_RD_ERR_CH0 : RO ;bitpos:[31] ;default: 1'b0 ; */ -/*description: The apb read memory status bit for channel0 turns to - high level when the apb read address exceeds the configuration range.*/ -#define RMT_APB_MEM_RD_ERR_CH0 (BIT(31)) -#define RMT_APB_MEM_RD_ERR_CH0_M ((RMT_APB_MEM_RD_ERR_CH0_V)<<(RMT_APB_MEM_RD_ERR_CH0_S)) -#define RMT_APB_MEM_RD_ERR_CH0_V 0x1 -#define RMT_APB_MEM_RD_ERR_CH0_S 31 -/* RMT_APB_MEM_WR_ERR_CH0 : RO ;bitpos:[30] ;default: 1'b0 ; */ -/*description: The apb write memory status bit for channel0 turns to - high level when the apb write address exceeds the configuration range.*/ -#define RMT_APB_MEM_WR_ERR_CH0 (BIT(30)) -#define RMT_APB_MEM_WR_ERR_CH0_M ((RMT_APB_MEM_WR_ERR_CH0_V)<<(RMT_APB_MEM_WR_ERR_CH0_S)) -#define RMT_APB_MEM_WR_ERR_CH0_V 0x1 -#define RMT_APB_MEM_WR_ERR_CH0_S 30 -/* RMT_MEM_EMPTY_CH0 : RO ;bitpos:[29] ;default: 1'b0 ; */ -/*description: The memory empty status bit for channel0. in acyclic mode, - this bit turns to high level when mem_raddr_ex is greater than or equal to the configured range.*/ -#define RMT_MEM_EMPTY_CH0 (BIT(29)) -#define RMT_MEM_EMPTY_CH0_M ((RMT_MEM_EMPTY_CH0_V)<<(RMT_MEM_EMPTY_CH0_S)) -#define RMT_MEM_EMPTY_CH0_V 0x1 -#define RMT_MEM_EMPTY_CH0_S 29 -/* RMT_MEM_FULL_CH0 : RO ;bitpos:[28] ;default: 1'b0 ; */ -/*description: The memory full status bit for channel0 turns to high level - when mem_waddr_ex is greater than or equal to the configuration range.*/ -#define RMT_MEM_FULL_CH0 (BIT(28)) -#define RMT_MEM_FULL_CH0_M ((RMT_MEM_FULL_CH0_V)<<(RMT_MEM_FULL_CH0_S)) -#define RMT_MEM_FULL_CH0_V 0x1 -#define RMT_MEM_FULL_CH0_S 28 -/* RMT_MEM_OWNER_ERR_CH0 : RO ;bitpos:[27] ;default: 1'b0 ; */ -/*description: When channel0 is configured for receive mode, this bit will turn to high level - if rmt_mem_owner register is not set to 1.*/ -#define RMT_MEM_OWNER_ERR_CH0 (BIT(27)) -#define RMT_MEM_OWNER_ERR_CH0_M ((RMT_MEM_OWNER_ERR_CH0_V)<<(RMT_MEM_OWNER_ERR_CH0_S)) -#define RMT_MEM_OWNER_ERR_CH0_V 0x1 -#define RMT_MEM_OWNER_ERR_CH0_S 27 -/* RMT_STATE_CH0 : RO ;bitpos:[26:24] ;default: 3'h0 ; */ -/*description: The channel0 state machine status register. -3'h0 : idle, 3'h1 : send, 3'h2 : read memory, 3'h3 : receive, 3'h4 : wait.*/ -#define RMT_STATE_CH0 0x07000000 -#define RMT_STATE_CH0_M ((RMT_STATE_CH0_V)<<(RMT_STATE_CH0_S)) -#define RMT_STATE_CH0_V 0x7 -#define RMT_STATE_CH0_S 24 -/* RMT_MEM_RADDR_EX_CH0 : RO ;bitpos:[21:12] ;default: 10'h0 ; */ -/*description: The current memory write address of channel0.*/ -#define RMT_MEM_RADDR_EX_CH0 0x003ff000 -#define RMT_MEM_RADDR_EX_CH0_M ((RMT_MEM_RADDR_EX_CH0_V)<<(RMT_MEM_RADDR_EX_CH0_S)) -#define RMT_MEM_RADDR_EX_CH0_V 0x3ff -#define RMT_MEM_RADDR_EX_CH0_S 12 -/* RMT_MEM_WADDR_EX_CH0 : RO ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: The current memory read address of channel0.*/ -#define RMT_MEM_WADDR_EX_CH0 0x000003ff -#define RMT_MEM_WADDR_EX_CH0_M ((RMT_MEM_WADDR_EX_CH0_V)<<(RMT_MEM_WADDR_EX_CH0_S)) -#define RMT_MEM_WADDR_EX_CH0_V 0x3ff -#define RMT_MEM_WADDR_EX_CH0_S 0 #define RMT_CH1STATUS_REG (DR_REG_RMT_BASE + 0x0064) /* RMT_STATUS_CH1 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ @@ -1057,60 +1003,6 @@ #define RMT_STATUS_CH1_M ((RMT_STATUS_CH1_V)<<(RMT_STATUS_CH1_S)) #define RMT_STATUS_CH1_V 0xFFFFFFFF #define RMT_STATUS_CH1_S 0 -/* RMT_APB_MEM_RD_ERR_CH1 : RO ;bitpos:[31] ;default: 1'b0 ; */ -/*description: The apb read memory status bit for channel1 turns to - high level when the apb read address exceeds the configuration range.*/ -#define RMT_APB_MEM_RD_ERR_CH1 (BIT(31)) -#define RMT_APB_MEM_RD_ERR_CH1_M ((RMT_APB_MEM_RD_ERR_CH1_V)<<(RMT_APB_MEM_RD_ERR_CH1_S)) -#define RMT_APB_MEM_RD_ERR_CH1_V 0x1 -#define RMT_APB_MEM_RD_ERR_CH1_S 31 -/* RMT_APB_MEM_WR_ERR_CH1 : RO ;bitpos:[30] ;default: 1'b0 ; */ -/*description: The apb write memory status bit for channel1 turns to - high level when the apb write address exceeds the configuration range.*/ -#define RMT_APB_MEM_WR_ERR_CH1 (BIT(30)) -#define RMT_APB_MEM_WR_ERR_CH1_M ((RMT_APB_MEM_WR_ERR_CH1_V)<<(RMT_APB_MEM_WR_ERR_CH1_S)) -#define RMT_APB_MEM_WR_ERR_CH1_V 0x1 -#define RMT_APB_MEM_WR_ERR_CH1_S 30 -/* RMT_MEM_EMPTY_CH1 : RO ;bitpos:[29] ;default: 1'b0 ; */ -/*description: The memory empty status bit for channel1. in acyclic mode, - this bit turns to high level when mem_raddr_ex is greater than or equal to the configured range.*/ -#define RMT_MEM_EMPTY_CH1 (BIT(29)) -#define RMT_MEM_EMPTY_CH1_M ((RMT_MEM_EMPTY_CH1_V)<<(RMT_MEM_EMPTY_CH1_S)) -#define RMT_MEM_EMPTY_CH1_V 0x1 -#define RMT_MEM_EMPTY_CH1_S 29 -/* RMT_MEM_FULL_CH1 : RO ;bitpos:[28] ;default: 1'b0 ; */ -/*description: The memory full status bit for channel1 turns to high level - when mem_waddr_ex is greater than or equal to the configuration range.*/ -#define RMT_MEM_FULL_CH1 (BIT(28)) -#define RMT_MEM_FULL_CH1_M ((RMT_MEM_FULL_CH1_V)<<(RMT_MEM_FULL_CH1_S)) -#define RMT_MEM_FULL_CH1_V 0x1 -#define RMT_MEM_FULL_CH1_S 28 -/* RMT_MEM_OWNER_ERR_CH1 : RO ;bitpos:[27] ;default: 1'b0 ; */ -/*description: When channel1 is configured for receive mode, this bit will turn to high level - if rmt_mem_owner register is not set to 1.*/ -#define RMT_MEM_OWNER_ERR_CH1 (BIT(27)) -#define RMT_MEM_OWNER_ERR_CH1_M ((RMT_MEM_OWNER_ERR_CH1_V)<<(RMT_MEM_OWNER_ERR_CH1_S)) -#define RMT_MEM_OWNER_ERR_CH1_V 0x1 -#define RMT_MEM_OWNER_ERR_CH1_S 27 -/* RMT_STATE_CH1 : RO ;bitpos:[26:24] ;default: 3'h0 ; */ -/*description: The channel1 state machine status register. -3'h0 : idle, 3'h1 : send, 3'h2 : read memory, 3'h3 : receive, 3'h4 : wait.*/ -#define RMT_STATE_CH1 0x07000000 -#define RMT_STATE_CH1_M ((RMT_STATE_CH1_V)<<(RMT_STATE_CH1_S)) -#define RMT_STATE_CH1_V 0x7 -#define RMT_STATE_CH1_S 24 -/* RMT_MEM_RADDR_EX_CH1 : RO ;bitpos:[21:12] ;default: 10'h0 ; */ -/*description: The current memory write address of channel1.*/ -#define RMT_MEM_RADDR_EX_CH1 0x003ff000 -#define RMT_MEM_RADDR_EX_CH1_M ((RMT_MEM_RADDR_EX_CH1_V)<<(RMT_MEM_RADDR_EX_CH1_S)) -#define RMT_MEM_RADDR_EX_CH1_V 0x3ff -#define RMT_MEM_RADDR_EX_CH1_S 12 -/* RMT_MEM_WADDR_EX_CH1 : RO ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: The current memory read address of channel1.*/ -#define RMT_MEM_WADDR_EX_CH1 0x000003ff -#define RMT_MEM_WADDR_EX_CH1_M ((RMT_MEM_WADDR_EX_CH1_V)<<(RMT_MEM_WADDR_EX_CH1_S)) -#define RMT_MEM_WADDR_EX_CH1_V 0x3ff -#define RMT_MEM_WADDR_EX_CH1_S 0 #define RMT_CH2STATUS_REG (DR_REG_RMT_BASE + 0x0068) /* RMT_STATUS_CH2 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ @@ -1119,60 +1011,6 @@ #define RMT_STATUS_CH2_M ((RMT_STATUS_CH2_V)<<(RMT_STATUS_CH2_S)) #define RMT_STATUS_CH2_V 0xFFFFFFFF #define RMT_STATUS_CH2_S 0 -/* RMT_APB_MEM_RD_ERR_CH2 : RO ;bitpos:[31] ;default: 1'b0 ; */ -/*description: The apb read memory status bit for channel2 turns to - high level when the apb read address exceeds the configuration range.*/ -#define RMT_APB_MEM_RD_ERR_CH2 (BIT(31)) -#define RMT_APB_MEM_RD_ERR_CH2_M ((RMT_APB_MEM_RD_ERR_CH2_V)<<(RMT_APB_MEM_RD_ERR_CH2_S)) -#define RMT_APB_MEM_RD_ERR_CH2_V 0x1 -#define RMT_APB_MEM_RD_ERR_CH2_S 31 -/* RMT_APB_MEM_WR_ERR_CH2 : RO ;bitpos:[30] ;default: 1'b0 ; */ -/*description: The apb write memory status bit for channel2 turns to - high level when the apb write address exceeds the configuration range.*/ -#define RMT_APB_MEM_WR_ERR_CH2 (BIT(30)) -#define RMT_APB_MEM_WR_ERR_CH2_M ((RMT_APB_MEM_WR_ERR_CH2_V)<<(RMT_APB_MEM_WR_ERR_CH2_S)) -#define RMT_APB_MEM_WR_ERR_CH2_V 0x1 -#define RMT_APB_MEM_WR_ERR_CH2_S 30 -/* RMT_MEM_EMPTY_CH2 : RO ;bitpos:[29] ;default: 1'b0 ; */ -/*description: The memory empty status bit for channel2. in acyclic mode, - this bit turns to high level when mem_raddr_ex is greater than or equal to the configured range.*/ -#define RMT_MEM_EMPTY_CH2 (BIT(29)) -#define RMT_MEM_EMPTY_CH2_M ((RMT_MEM_EMPTY_CH2_V)<<(RMT_MEM_EMPTY_CH2_S)) -#define RMT_MEM_EMPTY_CH2_V 0x1 -#define RMT_MEM_EMPTY_CH2_S 29 -/* RMT_MEM_FULL_CH2 : RO ;bitpos:[28] ;default: 1'b0 ; */ -/*description: The memory full status bit for channel2 turns to high level - when mem_waddr_ex is greater than or equal to the configuration range.*/ -#define RMT_MEM_FULL_CH2 (BIT(28)) -#define RMT_MEM_FULL_CH2_M ((RMT_MEM_FULL_CH2_V)<<(RMT_MEM_FULL_CH2_S)) -#define RMT_MEM_FULL_CH2_V 0x1 -#define RMT_MEM_FULL_CH2_S 28 -/* RMT_MEM_OWNER_ERR_CH2 : RO ;bitpos:[27] ;default: 1'b0 ; */ -/*description: When channel2 is configured for receive mode, this bit will turn to high level - if rmt_mem_owner register is not set to 1.*/ -#define RMT_MEM_OWNER_ERR_CH2 (BIT(27)) -#define RMT_MEM_OWNER_ERR_CH2_M ((RMT_MEM_OWNER_ERR_CH2_V)<<(RMT_MEM_OWNER_ERR_CH2_S)) -#define RMT_MEM_OWNER_ERR_CH2_V 0x1 -#define RMT_MEM_OWNER_ERR_CH2_S 27 -/* RMT_STATE_CH2 : RO ;bitpos:[26:24] ;default: 3'h0 ; */ -/*description: The channel2 state machine status register. -3'h0 : idle, 3'h1 : send, 3'h2 : read memory, 3'h3 : receive, 3'h4 : wait.*/ -#define RMT_STATE_CH2 0x07000000 -#define RMT_STATE_CH2_M ((RMT_STATE_CH2_V)<<(RMT_STATE_CH2_S)) -#define RMT_STATE_CH2_V 0x7 -#define RMT_STATE_CH2_S 24 -/* RMT_MEM_RADDR_EX_CH2 : RO ;bitpos:[21:12] ;default: 10'h0 ; */ -/*description: The current memory write address of channel2.*/ -#define RMT_MEM_RADDR_EX_CH2 0x003ff000 -#define RMT_MEM_RADDR_EX_CH2_M ((RMT_MEM_RADDR_EX_CH2_V)<<(RMT_MEM_RADDR_EX_CH2_S)) -#define RMT_MEM_RADDR_EX_CH2_V 0x3ff -#define RMT_MEM_RADDR_EX_CH2_S 12 -/* RMT_MEM_WADDR_EX_CH2 : RO ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: The current memory read address of channel2.*/ -#define RMT_MEM_WADDR_EX_CH2 0x000003ff -#define RMT_MEM_WADDR_EX_CH2_M ((RMT_MEM_WADDR_EX_CH2_V)<<(RMT_MEM_WADDR_EX_CH2_S)) -#define RMT_MEM_WADDR_EX_CH2_V 0x3ff -#define RMT_MEM_WADDR_EX_CH2_S 0 #define RMT_CH3STATUS_REG (DR_REG_RMT_BASE + 0x006c) /* RMT_STATUS_CH3 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ @@ -1181,60 +1019,6 @@ #define RMT_STATUS_CH3_M ((RMT_STATUS_CH3_V)<<(RMT_STATUS_CH3_S)) #define RMT_STATUS_CH3_V 0xFFFFFFFF #define RMT_STATUS_CH3_S 0 -/* RMT_APB_MEM_RD_ERR_CH3 : RO ;bitpos:[31] ;default: 1'b0 ; */ -/*description: The apb read memory status bit for channel3 turns to - high level when the apb read address exceeds the configuration range.*/ -#define RMT_APB_MEM_RD_ERR_CH3 (BIT(31)) -#define RMT_APB_MEM_RD_ERR_CH3_M ((RMT_APB_MEM_RD_ERR_CH3_V)<<(RMT_APB_MEM_RD_ERR_CH3_S)) -#define RMT_APB_MEM_RD_ERR_CH3_V 0x1 -#define RMT_APB_MEM_RD_ERR_CH3_S 31 -/* RMT_APB_MEM_WR_ERR_CH3 : RO ;bitpos:[30] ;default: 1'b0 ; */ -/*description: The apb write memory status bit for channel3 turns to - high level when the apb write address exceeds the configuration range.*/ -#define RMT_APB_MEM_WR_ERR_CH3 (BIT(30)) -#define RMT_APB_MEM_WR_ERR_CH3_M ((RMT_APB_MEM_WR_ERR_CH3_V)<<(RMT_APB_MEM_WR_ERR_CH3_S)) -#define RMT_APB_MEM_WR_ERR_CH3_V 0x1 -#define RMT_APB_MEM_WR_ERR_CH3_S 30 -/* RMT_MEM_EMPTY_CH3 : RO ;bitpos:[29] ;default: 1'b0 ; */ -/*description: The memory empty status bit for channel3. in acyclic mode, - this bit turns to high level when mem_raddr_ex is greater than or equal to the configured range.*/ -#define RMT_MEM_EMPTY_CH3 (BIT(29)) -#define RMT_MEM_EMPTY_CH3_M ((RMT_MEM_EMPTY_CH3_V)<<(RMT_MEM_EMPTY_CH3_S)) -#define RMT_MEM_EMPTY_CH3_V 0x1 -#define RMT_MEM_EMPTY_CH3_S 29 -/* RMT_MEM_FULL_CH3 : RO ;bitpos:[28] ;default: 1'b0 ; */ -/*description: The memory full status bit for channel3 turns to high level - when mem_waddr_ex is greater than or equal to the configuration range.*/ -#define RMT_MEM_FULL_CH3 (BIT(28)) -#define RMT_MEM_FULL_CH3_M ((RMT_MEM_FULL_CH3_V)<<(RMT_MEM_FULL_CH3_S)) -#define RMT_MEM_FULL_CH3_V 0x1 -#define RMT_MEM_FULL_CH3_S 28 -/* RMT_MEM_OWNER_ERR_CH3 : RO ;bitpos:[27] ;default: 1'b0 ; */ -/*description: When channel3 is configured for receive mode, this bit will turn to high level - if rmt_mem_owner register is not set to 1.*/ -#define RMT_MEM_OWNER_ERR_CH3 (BIT(27)) -#define RMT_MEM_OWNER_ERR_CH3_M ((RMT_MEM_OWNER_ERR_CH3_V)<<(RMT_MEM_OWNER_ERR_CH3_S)) -#define RMT_MEM_OWNER_ERR_CH3_V 0x1 -#define RMT_MEM_OWNER_ERR_CH3_S 27 -/* RMT_STATE_CH3 : RO ;bitpos:[26:24] ;default: 3'h0 ; */ -/*description: The channel3 state machine status register. -3'h0 : idle, 3'h1 : send, 3'h2 : read memory, 3'h3 : receive, 3'h4 : wait.*/ -#define RMT_STATE_CH3 0x07000000 -#define RMT_STATE_CH3_M ((RMT_STATE_CH3_V)<<(RMT_STATE_CH3_S)) -#define RMT_STATE_CH3_V 0x7 -#define RMT_STATE_CH3_S 24 -/* RMT_MEM_RADDR_EX_CH3 : RO ;bitpos:[21:12] ;default: 10'h0 ; */ -/*description: The current memory write address of channel3.*/ -#define RMT_MEM_RADDR_EX_CH3 0x003ff000 -#define RMT_MEM_RADDR_EX_CH3_M ((RMT_MEM_RADDR_EX_CH3_V)<<(RMT_MEM_RADDR_EX_CH3_S)) -#define RMT_MEM_RADDR_EX_CH3_V 0x3ff -#define RMT_MEM_RADDR_EX_CH3_S 12 -/* RMT_MEM_WADDR_EX_CH3 : RO ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: The current memory read address of channel3.*/ -#define RMT_MEM_WADDR_EX_CH3 0x000003ff -#define RMT_MEM_WADDR_EX_CH3_M ((RMT_MEM_WADDR_EX_CH3_V)<<(RMT_MEM_WADDR_EX_CH3_S)) -#define RMT_MEM_WADDR_EX_CH3_V 0x3ff -#define RMT_MEM_WADDR_EX_CH3_S 0 #define RMT_CH4STATUS_REG (DR_REG_RMT_BASE + 0x0070) /* RMT_STATUS_CH4 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ @@ -1243,60 +1027,6 @@ #define RMT_STATUS_CH4_M ((RMT_STATUS_CH4_V)<<(RMT_STATUS_CH4_S)) #define RMT_STATUS_CH4_V 0xFFFFFFFF #define RMT_STATUS_CH4_S 0 -/* RMT_APB_MEM_RD_ERR_CH4 : RO ;bitpos:[31] ;default: 1'b0 ; */ -/*description: The apb read memory status bit for channel4 turns to - high level when the apb read address exceeds the configuration range.*/ -#define RMT_APB_MEM_RD_ERR_CH4 (BIT(31)) -#define RMT_APB_MEM_RD_ERR_CH4_M ((RMT_APB_MEM_RD_ERR_CH4_V)<<(RMT_APB_MEM_RD_ERR_CH4_S)) -#define RMT_APB_MEM_RD_ERR_CH4_V 0x1 -#define RMT_APB_MEM_RD_ERR_CH4_S 31 -/* RMT_APB_MEM_WR_ERR_CH4 : RO ;bitpos:[30] ;default: 1'b0 ; */ -/*description: The apb write memory status bit for channel4 turns to - high level when the apb write address exceeds the configuration range.*/ -#define RMT_APB_MEM_WR_ERR_CH4 (BIT(30)) -#define RMT_APB_MEM_WR_ERR_CH4_M ((RMT_APB_MEM_WR_ERR_CH4_V)<<(RMT_APB_MEM_WR_ERR_CH4_S)) -#define RMT_APB_MEM_WR_ERR_CH4_V 0x1 -#define RMT_APB_MEM_WR_ERR_CH4_S 30 -/* RMT_MEM_EMPTY_CH4 : RO ;bitpos:[29] ;default: 1'b0 ; */ -/*description: The memory empty status bit for channel4. in acyclic mode, - this bit turns to high level when mem_raddr_ex is greater than or equal to the configured range.*/ -#define RMT_MEM_EMPTY_CH4 (BIT(29)) -#define RMT_MEM_EMPTY_CH4_M ((RMT_MEM_EMPTY_CH4_V)<<(RMT_MEM_EMPTY_CH4_S)) -#define RMT_MEM_EMPTY_CH4_V 0x1 -#define RMT_MEM_EMPTY_CH4_S 29 -/* RMT_MEM_FULL_CH4 : RO ;bitpos:[28] ;default: 1'b0 ; */ -/*description: The memory full status bit for channel4 turns to high level - when mem_waddr_ex is greater than or equal to the configuration range.*/ -#define RMT_MEM_FULL_CH4 (BIT(28)) -#define RMT_MEM_FULL_CH4_M ((RMT_MEM_FULL_CH4_V)<<(RMT_MEM_FULL_CH4_S)) -#define RMT_MEM_FULL_CH4_V 0x1 -#define RMT_MEM_FULL_CH4_S 28 -/* RMT_MEM_OWNER_ERR_CH4 : RO ;bitpos:[27] ;default: 1'b0 ; */ -/*description: When channel4 is configured for receive mode, this bit will turn to high level - if rmt_mem_owner register is not set to 1.*/ -#define RMT_MEM_OWNER_ERR_CH4 (BIT(27)) -#define RMT_MEM_OWNER_ERR_CH4_M ((RMT_MEM_OWNER_ERR_CH4_V)<<(RMT_MEM_OWNER_ERR_CH4_S)) -#define RMT_MEM_OWNER_ERR_CH4_V 0x1 -#define RMT_MEM_OWNER_ERR_CH4_S 27 -/* RMT_STATE_CH4 : RO ;bitpos:[26:24] ;default: 3'h0 ; */ -/*description: The channel4 state machine status register. -3'h0 : idle, 3'h1 : send, 3'h2 : read memory, 3'h3 : receive, 3'h4 : wait.*/ -#define RMT_STATE_CH4 0x07000000 -#define RMT_STATE_CH4_M ((RMT_STATE_CH4_V)<<(RMT_STATE_CH4_S)) -#define RMT_STATE_CH4_V 0x7 -#define RMT_STATE_CH4_S 24 -/* RMT_MEM_RADDR_EX_CH4 : RO ;bitpos:[21:12] ;default: 10'h0 ; */ -/*description: The current memory write address of channel4.*/ -#define RMT_MEM_RADDR_EX_CH4 0x003ff000 -#define RMT_MEM_RADDR_EX_CH4_M ((RMT_MEM_RADDR_EX_CH4_V)<<(RMT_MEM_RADDR_EX_CH4_S)) -#define RMT_MEM_RADDR_EX_CH4_V 0x3ff -#define RMT_MEM_RADDR_EX_CH4_S 12 -/* RMT_MEM_WADDR_EX_CH4 : RO ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: The current memory read address of channel4.*/ -#define RMT_MEM_WADDR_EX_CH4 0x000003ff -#define RMT_MEM_WADDR_EX_CH4_M ((RMT_MEM_WADDR_EX_CH4_V)<<(RMT_MEM_WADDR_EX_CH4_S)) -#define RMT_MEM_WADDR_EX_CH4_V 0x3ff -#define RMT_MEM_WADDR_EX_CH4_S 0 #define RMT_CH5STATUS_REG (DR_REG_RMT_BASE + 0x0074) /* RMT_STATUS_CH5 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ @@ -1305,60 +1035,6 @@ #define RMT_STATUS_CH5_M ((RMT_STATUS_CH5_V)<<(RMT_STATUS_CH5_S)) #define RMT_STATUS_CH5_V 0xFFFFFFFF #define RMT_STATUS_CH5_S 0 -/* RMT_APB_MEM_RD_ERR_CH5 : RO ;bitpos:[31] ;default: 1'b0 ; */ -/*description: The apb read memory status bit for channel5 turns to - high level when the apb read address exceeds the configuration range.*/ -#define RMT_APB_MEM_RD_ERR_CH5 (BIT(31)) -#define RMT_APB_MEM_RD_ERR_CH5_M ((RMT_APB_MEM_RD_ERR_CH5_V)<<(RMT_APB_MEM_RD_ERR_CH5_S)) -#define RMT_APB_MEM_RD_ERR_CH5_V 0x1 -#define RMT_APB_MEM_RD_ERR_CH5_S 31 -/* RMT_APB_MEM_WR_ERR_CH5 : RO ;bitpos:[30] ;default: 1'b0 ; */ -/*description: The apb write memory status bit for channel5 turns to - high level when the apb write address exceeds the configuration range.*/ -#define RMT_APB_MEM_WR_ERR_CH5 (BIT(30)) -#define RMT_APB_MEM_WR_ERR_CH5_M ((RMT_APB_MEM_WR_ERR_CH5_V)<<(RMT_APB_MEM_WR_ERR_CH5_S)) -#define RMT_APB_MEM_WR_ERR_CH5_V 0x1 -#define RMT_APB_MEM_WR_ERR_CH5_S 30 -/* RMT_MEM_EMPTY_CH5 : RO ;bitpos:[29] ;default: 1'b0 ; */ -/*description: The memory empty status bit for channel5. in acyclic mode, - this bit turns to high level when mem_raddr_ex is greater than or equal to the configured range.*/ -#define RMT_MEM_EMPTY_CH5 (BIT(29)) -#define RMT_MEM_EMPTY_CH5_M ((RMT_MEM_EMPTY_CH5_V)<<(RMT_MEM_EMPTY_CH5_S)) -#define RMT_MEM_EMPTY_CH5_V 0x1 -#define RMT_MEM_EMPTY_CH5_S 29 -/* RMT_MEM_FULL_CH5 : RO ;bitpos:[28] ;default: 1'b0 ; */ -/*description: The memory full status bit for channel5 turns to high level - when mem_waddr_ex is greater than or equal to the configuration range.*/ -#define RMT_MEM_FULL_CH5 (BIT(28)) -#define RMT_MEM_FULL_CH5_M ((RMT_MEM_FULL_CH5_V)<<(RMT_MEM_FULL_CH5_S)) -#define RMT_MEM_FULL_CH5_V 0x1 -#define RMT_MEM_FULL_CH5_S 28 -/* RMT_MEM_OWNER_ERR_CH5 : RO ;bitpos:[27] ;default: 1'b0 ; */ -/*description: When channel5 is configured for receive mode, this bit will turn to high level - if rmt_mem_owner register is not set to 1.*/ -#define RMT_MEM_OWNER_ERR_CH5 (BIT(27)) -#define RMT_MEM_OWNER_ERR_CH5_M ((RMT_MEM_OWNER_ERR_CH5_V)<<(RMT_MEM_OWNER_ERR_CH5_S)) -#define RMT_MEM_OWNER_ERR_CH5_V 0x1 -#define RMT_MEM_OWNER_ERR_CH5_S 27 -/* RMT_STATE_CH5 : RO ;bitpos:[26:24] ;default: 3'h0 ; */ -/*description: The channel5 state machine status register. -3'h0 : idle, 3'h1 : send, 3'h2 : read memory, 3'h3 : receive, 3'h4 : wait.*/ -#define RMT_STATE_CH5 0x07000000 -#define RMT_STATE_CH5_M ((RMT_STATE_CH5_V)<<(RMT_STATE_CH5_S)) -#define RMT_STATE_CH5_V 0x7 -#define RMT_STATE_CH5_S 24 -/* RMT_MEM_RADDR_EX_CH5 : RO ;bitpos:[21:12] ;default: 10'h0 ; */ -/*description: The current memory write address of channel5.*/ -#define RMT_MEM_RADDR_EX_CH5 0x003ff000 -#define RMT_MEM_RADDR_EX_CH5_M ((RMT_MEM_RADDR_EX_CH5_V)<<(RMT_MEM_RADDR_EX_CH5_S)) -#define RMT_MEM_RADDR_EX_CH5_V 0x3ff -#define RMT_MEM_RADDR_EX_CH5_S 12 -/* RMT_MEM_WADDR_EX_CH5 : RO ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: The current memory read address of channel5.*/ -#define RMT_MEM_WADDR_EX_CH5 0x000003ff -#define RMT_MEM_WADDR_EX_CH5_M ((RMT_MEM_WADDR_EX_CH5_V)<<(RMT_MEM_WADDR_EX_CH5_S)) -#define RMT_MEM_WADDR_EX_CH5_V 0x3ff -#define RMT_MEM_WADDR_EX_CH5_S 0 #define RMT_CH6STATUS_REG (DR_REG_RMT_BASE + 0x0078) /* RMT_STATUS_CH6 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ @@ -1367,60 +1043,6 @@ #define RMT_STATUS_CH6_M ((RMT_STATUS_CH6_V)<<(RMT_STATUS_CH6_S)) #define RMT_STATUS_CH6_V 0xFFFFFFFF #define RMT_STATUS_CH6_S 0 -/* RMT_APB_MEM_RD_ERR_CH6 : RO ;bitpos:[31] ;default: 1'b0 ; */ -/*description: The apb read memory status bit for channel6 turns to - high level when the apb read address exceeds the configuration range.*/ -#define RMT_APB_MEM_RD_ERR_CH6 (BIT(31)) -#define RMT_APB_MEM_RD_ERR_CH6_M ((RMT_APB_MEM_RD_ERR_CH6_V)<<(RMT_APB_MEM_RD_ERR_CH6_S)) -#define RMT_APB_MEM_RD_ERR_CH6_V 0x1 -#define RMT_APB_MEM_RD_ERR_CH6_S 31 -/* RMT_APB_MEM_WR_ERR_CH6 : RO ;bitpos:[30] ;default: 1'b0 ; */ -/*description: The apb write memory status bit for channel6 turns to - high level when the apb write address exceeds the configuration range.*/ -#define RMT_APB_MEM_WR_ERR_CH6 (BIT(30)) -#define RMT_APB_MEM_WR_ERR_CH6_M ((RMT_APB_MEM_WR_ERR_CH6_V)<<(RMT_APB_MEM_WR_ERR_CH6_S)) -#define RMT_APB_MEM_WR_ERR_CH6_V 0x1 -#define RMT_APB_MEM_WR_ERR_CH6_S 30 -/* RMT_MEM_EMPTY_CH6 : RO ;bitpos:[29] ;default: 1'b0 ; */ -/*description: The memory empty status bit for channel6. in acyclic mode, - this bit turns to high level when mem_raddr_ex is greater than or equal to the configured range.*/ -#define RMT_MEM_EMPTY_CH6 (BIT(29)) -#define RMT_MEM_EMPTY_CH6_M ((RMT_MEM_EMPTY_CH6_V)<<(RMT_MEM_EMPTY_CH6_S)) -#define RMT_MEM_EMPTY_CH6_V 0x1 -#define RMT_MEM_EMPTY_CH6_S 29 -/* RMT_MEM_FULL_CH6 : RO ;bitpos:[28] ;default: 1'b0 ; */ -/*description: The memory full status bit for channel6 turns to high level - when mem_waddr_ex is greater than or equal to the configuration range.*/ -#define RMT_MEM_FULL_CH6 (BIT(28)) -#define RMT_MEM_FULL_CH6_M ((RMT_MEM_FULL_CH6_V)<<(RMT_MEM_FULL_CH6_S)) -#define RMT_MEM_FULL_CH6_V 0x1 -#define RMT_MEM_FULL_CH6_S 28 -/* RMT_MEM_OWNER_ERR_CH6 : RO ;bitpos:[27] ;default: 1'b0 ; */ -/*description: When channel6 is configured for receive mode, this bit will turn to high level - if rmt_mem_owner register is not set to 1.*/ -#define RMT_MEM_OWNER_ERR_CH6 (BIT(27)) -#define RMT_MEM_OWNER_ERR_CH6_M ((RMT_MEM_OWNER_ERR_CH6_V)<<(RMT_MEM_OWNER_ERR_CH6_S)) -#define RMT_MEM_OWNER_ERR_CH6_V 0x1 -#define RMT_MEM_OWNER_ERR_CH6_S 27 -/* RMT_STATE_CH6 : RO ;bitpos:[26:24] ;default: 3'h0 ; */ -/*description: The channel6 state machine status register. -3'h0 : idle, 3'h1 : send, 3'h2 : read memory, 3'h3 : receive, 3'h4 : wait.*/ -#define RMT_STATE_CH6 0x07000000 -#define RMT_STATE_CH6_M ((RMT_STATE_CH6_V)<<(RMT_STATE_CH6_S)) -#define RMT_STATE_CH6_V 0x7 -#define RMT_STATE_CH6_S 24 -/* RMT_MEM_RADDR_EX_CH6 : RO ;bitpos:[21:12] ;default: 10'h0 ; */ -/*description: The current memory write address of channel6.*/ -#define RMT_MEM_RADDR_EX_CH6 0x003ff000 -#define RMT_MEM_RADDR_EX_CH6_M ((RMT_MEM_RADDR_EX_CH6_V)<<(RMT_MEM_RADDR_EX_CH6_S)) -#define RMT_MEM_RADDR_EX_CH6_V 0x3ff -#define RMT_MEM_RADDR_EX_CH6_S 12 -/* RMT_MEM_WADDR_EX_CH6 : RO ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: The current memory read address of channel6.*/ -#define RMT_MEM_WADDR_EX_CH6 0x000003ff -#define RMT_MEM_WADDR_EX_CH6_M ((RMT_MEM_WADDR_EX_CH6_V)<<(RMT_MEM_WADDR_EX_CH6_S)) -#define RMT_MEM_WADDR_EX_CH6_V 0x3ff -#define RMT_MEM_WADDR_EX_CH6_S 0 #define RMT_CH7STATUS_REG (DR_REG_RMT_BASE + 0x007c) /* RMT_STATUS_CH7 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ @@ -1429,60 +1051,6 @@ #define RMT_STATUS_CH7_M ((RMT_STATUS_CH7_V)<<(RMT_STATUS_CH7_S)) #define RMT_STATUS_CH7_V 0xFFFFFFFF #define RMT_STATUS_CH7_S 0 -/* RMT_APB_MEM_RD_ERR_CH7 : RO ;bitpos:[31] ;default: 1'b0 ; */ -/*description: The apb read memory status bit for channel7 turns to - high level when the apb read address exceeds the configuration range.*/ -#define RMT_APB_MEM_RD_ERR_CH7 (BIT(31)) -#define RMT_APB_MEM_RD_ERR_CH7_M ((RMT_APB_MEM_RD_ERR_CH7_V)<<(RMT_APB_MEM_RD_ERR_CH7_S)) -#define RMT_APB_MEM_RD_ERR_CH7_V 0x1 -#define RMT_APB_MEM_RD_ERR_CH7_S 31 -/* RMT_APB_MEM_WR_ERR_CH7 : RO ;bitpos:[30] ;default: 1'b0 ; */ -/*description: The apb write memory status bit for channel7 turns to - high level when the apb write address exceeds the configuration range.*/ -#define RMT_APB_MEM_WR_ERR_CH7 (BIT(30)) -#define RMT_APB_MEM_WR_ERR_CH7_M ((RMT_APB_MEM_WR_ERR_CH7_V)<<(RMT_APB_MEM_WR_ERR_CH7_S)) -#define RMT_APB_MEM_WR_ERR_CH7_V 0x1 -#define RMT_APB_MEM_WR_ERR_CH7_S 30 -/* RMT_MEM_EMPTY_CH7 : RO ;bitpos:[29] ;default: 1'b0 ; */ -/*description: The memory empty status bit for channel7. in acyclic mode, - this bit turns to high level when mem_raddr_ex is greater than or equal to the configured range.*/ -#define RMT_MEM_EMPTY_CH7 (BIT(29)) -#define RMT_MEM_EMPTY_CH7_M ((RMT_MEM_EMPTY_CH7_V)<<(RMT_MEM_EMPTY_CH7_S)) -#define RMT_MEM_EMPTY_CH7_V 0x1 -#define RMT_MEM_EMPTY_CH7_S 29 -/* RMT_MEM_FULL_CH7 : RO ;bitpos:[28] ;default: 1'b0 ; */ -/*description: The memory full status bit for channel7 turns to high level - when mem_waddr_ex is greater than or equal to the configuration range.*/ -#define RMT_MEM_FULL_CH7 (BIT(28)) -#define RMT_MEM_FULL_CH7_M ((RMT_MEM_FULL_CH7_V)<<(RMT_MEM_FULL_CH7_S)) -#define RMT_MEM_FULL_CH7_V 0x1 -#define RMT_MEM_FULL_CH7_S 28 -/* RMT_MEM_OWNER_ERR_CH7 : RO ;bitpos:[27] ;default: 1'b0 ; */ -/*description: When channel7 is configured for receive mode, this bit will turn to high level - if rmt_mem_owner register is not set to 1.*/ -#define RMT_MEM_OWNER_ERR_CH7 (BIT(27)) -#define RMT_MEM_OWNER_ERR_CH7_M ((RMT_MEM_OWNER_ERR_CH7_V)<<(RMT_MEM_OWNER_ERR_CH7_S)) -#define RMT_MEM_OWNER_ERR_CH7_V 0x1 -#define RMT_MEM_OWNER_ERR_CH7_S 27 -/* RMT_STATE_CH7 : RO ;bitpos:[26:24] ;default: 3'h0 ; */ -/*description: The channel7 state machine status register. -3'h0 : idle, 3'h1 : send, 3'h2 : read memory, 3'h3 : receive, 3'h4 : wait.*/ -#define RMT_STATE_CH7 0x07000000 -#define RMT_STATE_CH7_M ((RMT_STATE_CH7_V)<<(RMT_STATE_CH7_S)) -#define RMT_STATE_CH7_V 0x7 -#define RMT_STATE_CH7_S 24 -/* RMT_MEM_RADDR_EX_CH7 : RO ;bitpos:[21:12] ;default: 10'h0 ; */ -/*description: The current memory write address of channel7.*/ -#define RMT_MEM_RADDR_EX_CH7 0x003ff000 -#define RMT_MEM_RADDR_EX_CH7_M ((RMT_MEM_RADDR_EX_CH7_V)<<(RMT_MEM_RADDR_EX_CH7_S)) -#define RMT_MEM_RADDR_EX_CH7_V 0x3ff -#define RMT_MEM_RADDR_EX_CH7_S 12 -/* RMT_MEM_WADDR_EX_CH7 : RO ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: The current memory read address of channel7.*/ -#define RMT_MEM_WADDR_EX_CH7 0x000003ff -#define RMT_MEM_WADDR_EX_CH7_M ((RMT_MEM_WADDR_EX_CH7_V)<<(RMT_MEM_WADDR_EX_CH7_S)) -#define RMT_MEM_WADDR_EX_CH7_V 0x3ff -#define RMT_MEM_WADDR_EX_CH7_S 0 #define RMT_CH0ADDR_REG (DR_REG_RMT_BASE + 0x0080) /* RMT_APB_MEM_ADDR_CH0 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ @@ -1550,8 +1118,8 @@ #define RMT_INT_RAW_REG (DR_REG_RMT_BASE + 0x00a0) /* RMT_CH7_TX_THR_EVENT_INT_RAW : RO ;bitpos:[31] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel7 turns to high level when - transmitter in channle 7 have send datas more than reg_rmt_tx_lim_ch7 after detecting this interrupt software can updata the old datas with new datas.*/ +/*description: The interrupt raw bit for channel 7 turns to high level when + transmitter in channle7 have send datas more than reg_rmt_tx_lim_ch7 after detecting this interrupt software can updata the old datas with new datas.*/ #define RMT_CH7_TX_THR_EVENT_INT_RAW (BIT(31)) #define RMT_CH7_TX_THR_EVENT_INT_RAW_M (BIT(31)) #define RMT_CH7_TX_THR_EVENT_INT_RAW_V 0x1 diff --git a/tools/sdk/include/soc/soc/rmt_struct.h b/tools/sdk/include/soc/soc/rmt_struct.h index bc4cd7a2..3fb254ad 100644 --- a/tools/sdk/include/soc/soc/rmt_struct.h +++ b/tools/sdk/include/soc/soc/rmt_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_RMT_STRUCT_H_ #define _SOC_RMT_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/rtc_cntl_struct.h b/tools/sdk/include/soc/soc/rtc_cntl_struct.h index 17a2d180..e2037226 100644 --- a/tools/sdk/include/soc/soc/rtc_cntl_struct.h +++ b/tools/sdk/include/soc/soc/rtc_cntl_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_RTC_CNTL_STRUCT_H_ #define _SOC_RTC_CNTL_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/rtc_io_struct.h b/tools/sdk/include/soc/soc/rtc_io_struct.h index d82f1bd8..f20ad4c2 100644 --- a/tools/sdk/include/soc/soc/rtc_io_struct.h +++ b/tools/sdk/include/soc/soc/rtc_io_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_RTC_IO_STRUCT_H_ #define _SOC_RTC_IO_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/sdmmc_struct.h b/tools/sdk/include/soc/soc/sdmmc_struct.h index 17b8b3f2..6aa64b43 100644 --- a/tools/sdk/include/soc/soc/sdmmc_struct.h +++ b/tools/sdk/include/soc/soc/sdmmc_struct.h @@ -16,8 +16,6 @@ #include -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/sens_struct.h b/tools/sdk/include/soc/soc/sens_struct.h index f572148c..37069a94 100644 --- a/tools/sdk/include/soc/soc/sens_struct.h +++ b/tools/sdk/include/soc/soc/sens_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_SENS_STRUCT_H_ #define _SOC_SENS_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/slc_struct.h b/tools/sdk/include/soc/soc/slc_struct.h index 55506a5b..3d93ceef 100644 --- a/tools/sdk/include/soc/soc/slc_struct.h +++ b/tools/sdk/include/soc/soc/slc_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_SLC_STRUCT_H_ #define _SOC_SLC_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/soc.h b/tools/sdk/include/soc/soc/soc.h index 64a0fab3..96dea802 100644 --- a/tools/sdk/include/soc/soc/soc.h +++ b/tools/sdk/include/soc/soc/soc.h @@ -72,6 +72,8 @@ #define SOC_EXTRAM_DATA_LOW 0x3F800000 #define SOC_EXTRAM_DATA_HIGH 0x3FC00000 +#define SOC_MAX_CONTIGUOUS_RAM_SIZE 0x400000 ///< Largest span of contiguous memory (DRAM or IRAM) in the address space + #define DR_REG_DPORT_BASE 0x3ff00000 #define DR_REG_AES_BASE 0x3ff01000 diff --git a/tools/sdk/include/soc/soc/soc_memory_layout.h b/tools/sdk/include/soc/soc/soc_memory_layout.h index ddc0fa1b..fd7132cf 100644 --- a/tools/sdk/include/soc/soc/soc_memory_layout.h +++ b/tools/sdk/include/soc/soc/soc_memory_layout.h @@ -144,11 +144,6 @@ inline static bool IRAM_ATTR esp_ptr_dma_capable(const void *p) return (intptr_t)p >= SOC_DMA_LOW && (intptr_t)p < SOC_DMA_HIGH; } -inline static bool IRAM_ATTR esp_ptr_word_aligned(const void *p) -{ - return ((intptr_t)p) % 4 == 0; -} - inline static bool IRAM_ATTR esp_ptr_executable(const void *p) { intptr_t ip = (intptr_t) p; @@ -194,3 +189,11 @@ inline static bool IRAM_ATTR esp_ptr_in_drom(const void *p) { inline static bool IRAM_ATTR esp_ptr_in_dram(const void *p) { return ((intptr_t)p >= SOC_DRAM_LOW && (intptr_t)p < SOC_DRAM_HIGH); } + +inline static bool IRAM_ATTR esp_ptr_in_diram_dram(const void *p) { + return ((intptr_t)p >= SOC_DIRAM_DRAM_LOW && (intptr_t)p < SOC_DIRAM_DRAM_HIGH); +} + +inline static bool IRAM_ATTR esp_ptr_in_diram_iram(const void *p) { + return ((intptr_t)p >= SOC_DIRAM_IRAM_LOW && (intptr_t)p < SOC_DIRAM_IRAM_HIGH); +} diff --git a/tools/sdk/include/soc/soc/spi_struct.h b/tools/sdk/include/soc/soc/spi_struct.h index 3e36c81c..a52ddf41 100644 --- a/tools/sdk/include/soc/soc/spi_struct.h +++ b/tools/sdk/include/soc/soc/spi_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_SPI_STRUCT_H_ #define _SOC_SPI_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/syscon_struct.h b/tools/sdk/include/soc/soc/syscon_struct.h index 4fb86f42..42bd643d 100644 --- a/tools/sdk/include/soc/soc/syscon_struct.h +++ b/tools/sdk/include/soc/soc/syscon_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_SYSCON_STRUCT_H_ #define _SOC_SYSCON_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/timer_group_struct.h b/tools/sdk/include/soc/soc/timer_group_struct.h index 6d312969..da9acd0c 100644 --- a/tools/sdk/include/soc/soc/timer_group_struct.h +++ b/tools/sdk/include/soc/soc/timer_group_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_TIMG_STRUCT_H_ #define _SOC_TIMG_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/uart_struct.h b/tools/sdk/include/soc/soc/uart_struct.h index 4efd6cf9..59b84d2a 100644 --- a/tools/sdk/include/soc/soc/uart_struct.h +++ b/tools/sdk/include/soc/soc/uart_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_UART_STRUCT_H_ #define _SOC_UART_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/soc/soc/uhci_struct.h b/tools/sdk/include/soc/soc/uhci_struct.h index 543af215..1c1ff0b8 100644 --- a/tools/sdk/include/soc/soc/uhci_struct.h +++ b/tools/sdk/include/soc/soc/uhci_struct.h @@ -14,8 +14,6 @@ #ifndef _SOC_UHCI_STRUCT_H_ #define _SOC_UHCI_STRUCT_H_ -#include - #ifdef __cplusplus extern "C" { #endif diff --git a/tools/sdk/include/spi_flash/esp_partition.h b/tools/sdk/include/spi_flash/esp_partition.h index 6537967e..b1203696 100644 --- a/tools/sdk/include/spi_flash/esp_partition.h +++ b/tools/sdk/include/spi_flash/esp_partition.h @@ -71,7 +71,6 @@ typedef enum { ESP_PARTITION_SUBTYPE_DATA_NVS = 0x02, //!< NVS partition ESP_PARTITION_SUBTYPE_DATA_COREDUMP = 0x03, //!< COREDUMP partition ESP_PARTITION_SUBTYPE_DATA_NVS_KEYS = 0x04, //!< Partition for NVS keys - ESP_PARTITION_SUBTYPE_DATA_EFUSE_EM = 0x05, //!< Partition for emulate eFuse bits ESP_PARTITION_SUBTYPE_DATA_ESPHTTPD = 0x80, //!< ESPHTTPD partition ESP_PARTITION_SUBTYPE_DATA_FAT = 0x81, //!< FAT partition diff --git a/tools/sdk/include/spi_flash/esp_spi_flash.h b/tools/sdk/include/spi_flash/esp_spi_flash.h index 254e4089..aa6eeea7 100644 --- a/tools/sdk/include/spi_flash/esp_spi_flash.h +++ b/tools/sdk/include/spi_flash/esp_spi_flash.h @@ -313,10 +313,6 @@ typedef void (*spi_flash_op_lock_func_t)(void); * @brief SPI flash operation unlock function. */ typedef void (*spi_flash_op_unlock_func_t)(void); -/** - * @brief Function to protect SPI flash critical regions corruption. - */ -typedef bool (*spi_flash_is_safe_write_address_t)(size_t addr, size_t size); /** * Structure holding SPI flash access critical sections management functions. @@ -336,9 +332,6 @@ typedef bool (*spi_flash_is_safe_write_address_t)(size_t addr, size_t size); * - 'op_unlock' unlocks access to flash API internal data. * These two functions are recursive and can be used around the outside of multiple calls to * 'start' & 'end', in order to create atomic multi-part flash operations. - * 3) When CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is disabled, flash writing/erasing - * API checks for addresses provided by user to avoid corruption of critical flash regions - * (bootloader, partition table, running application etc.). * * Different versions of the guarding functions should be used depending on the context of * execution (with or without functional OS). In normal conditions when flash API is called @@ -350,13 +343,10 @@ typedef bool (*spi_flash_is_safe_write_address_t)(size_t addr, size_t size); * For example structure can be placed in DRAM and functions in IRAM sections. */ typedef struct { - spi_flash_guard_start_func_t start; /**< critical section start function. */ - spi_flash_guard_end_func_t end; /**< critical section end function. */ - spi_flash_op_lock_func_t op_lock; /**< flash access API lock function.*/ - spi_flash_op_unlock_func_t op_unlock; /**< flash access API unlock function.*/ -#if !CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED - spi_flash_is_safe_write_address_t is_safe_write_address; /**< checks flash write addresses.*/ -#endif + spi_flash_guard_start_func_t start; /**< critical section start function. */ + spi_flash_guard_end_func_t end; /**< critical section end function. */ + spi_flash_op_lock_func_t op_lock; /**< flash access API lock function.*/ + spi_flash_op_unlock_func_t op_unlock; /**< flash access API unlock function.*/ } spi_flash_guard_funcs_t; /** @@ -369,6 +359,7 @@ typedef struct { */ void spi_flash_guard_set(const spi_flash_guard_funcs_t* funcs); + /** * @brief Get the guard functions used for flash access * diff --git a/tools/sdk/include/tcpip_adapter/tcpip_adapter.h b/tools/sdk/include/tcpip_adapter/tcpip_adapter.h index 6850f23a..7d9e4ad8 100644 --- a/tools/sdk/include/tcpip_adapter/tcpip_adapter.h +++ b/tools/sdk/include/tcpip_adapter/tcpip_adapter.h @@ -15,6 +15,27 @@ #ifndef _TCPIP_ADAPTER_H_ #define _TCPIP_ADAPTER_H_ +/** + * @brief TCPIP adapter library + * + * The aim of this adapter is to provide an abstract layer upon TCPIP stack. + * With this layer, switch to other TCPIP stack is possible and easy in esp-idf. + * + * If users want to use other TCPIP stack, all those functions should be implemented + * by using the specific APIs of that stack. The macros in CONFIG_TCPIP_LWIP should be + * re-defined. + * + * tcpip_adapter_init should be called in the start of app_main for only once. + * + * Currently most adapter APIs are called in event_default_handlers.c. + * + * We recommend users only use set/get IP APIs, DHCP server/client APIs, + * get free station list APIs in application side. Other APIs are used in esp-idf internal, + * otherwise the state maybe wrong. + * + * TODO: ipv6 support will be added + */ + #include #include "rom/queue.h" #include "esp_wifi_types.h" @@ -24,8 +45,6 @@ #include "lwip/ip_addr.h" #include "dhcpserver/dhcpserver.h" -typedef dhcps_lease_t tcpip_adapter_dhcps_lease_t; - #ifdef __cplusplus extern "C" { #endif @@ -48,36 +67,26 @@ extern "C" { #define IPV6STR "%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x" -/** @brief IPV4 IP address information - */ typedef struct { - ip4_addr_t ip; /**< Interface IPV4 address */ - ip4_addr_t netmask; /**< Interface IPV4 netmask */ - ip4_addr_t gw; /**< Interface IPV4 gateway address */ + ip4_addr_t ip; + ip4_addr_t netmask; + ip4_addr_t gw; } tcpip_adapter_ip_info_t; -/** @brief IPV6 IP address information - */ typedef struct { - ip6_addr_t ip; /**< Interface IPV6 address */ + ip6_addr_t ip; } tcpip_adapter_ip6_info_t; -/** @brief IP address info of station connected to WLAN AP - * - * @note See also wifi_sta_info_t (MAC layer information only) - */ +typedef dhcps_lease_t tcpip_adapter_dhcps_lease_t; + typedef struct { - uint8_t mac[6]; /**< Station MAC address */ - ip4_addr_t ip; /**< Station assigned IP address */ + uint8_t mac[6]; + ip4_addr_t ip; } tcpip_adapter_sta_info_t; -/** @brief WLAN AP: Connected stations list - * - * Used to retrieve IP address information about connected stations. - */ typedef struct { - tcpip_adapter_sta_info_t sta[ESP_WIFI_MAX_CONN_NUM]; /**< Connected stations */ - int num; /**< Number of connected stations */ + tcpip_adapter_sta_info_t sta[ESP_WIFI_MAX_CONN_NUM]; + int num; } tcpip_adapter_sta_list_t; #endif @@ -91,250 +100,247 @@ typedef struct { #define ESP_ERR_TCPIP_ADAPTER_NO_MEM ESP_ERR_TCPIP_ADAPTER_BASE + 0x06 #define ESP_ERR_TCPIP_ADAPTER_DHCP_NOT_STOPPED ESP_ERR_TCPIP_ADAPTER_BASE + 0x07 -/* @brief On-chip network interfaces */ typedef enum { - TCPIP_ADAPTER_IF_STA = 0, /**< Wi-Fi STA (station) interface */ - TCPIP_ADAPTER_IF_AP, /**< Wi-Fi soft-AP interface */ - TCPIP_ADAPTER_IF_ETH, /**< Ethernet interface */ + TCPIP_ADAPTER_IF_STA = 0, /**< ESP32 station interface */ + TCPIP_ADAPTER_IF_AP, /**< ESP32 soft-AP interface */ + TCPIP_ADAPTER_IF_ETH, /**< ESP32 ethernet interface */ TCPIP_ADAPTER_IF_MAX } tcpip_adapter_if_t; -/** @brief Type of DNS server */ +/*type of DNS server*/ typedef enum { - TCPIP_ADAPTER_DNS_MAIN= 0, /**< DNS main server address*/ - TCPIP_ADAPTER_DNS_BACKUP, /**< DNS backup server address (Wi-Fi STA and Ethernet only) */ - TCPIP_ADAPTER_DNS_FALLBACK, /**< DNS fallback server address (Wi-Fi STA and Ethernet only) */ - TCPIP_ADAPTER_DNS_MAX + TCPIP_ADAPTER_DNS_MAIN= 0, /**DNS main server address*/ + TCPIP_ADAPTER_DNS_BACKUP, /**DNS backup server address,for STA only,support soft-AP in future*/ + TCPIP_ADAPTER_DNS_FALLBACK, /**DNS fallback server address,for STA only*/ + TCPIP_ADAPTER_DNS_MAX /**Max DNS */ } tcpip_adapter_dns_type_t; -/** @brief DNS server info */ +/*info of DNS server*/ typedef struct { - ip_addr_t ip; /**< IPV4 address of DNS server */ + ip_addr_t ip; } tcpip_adapter_dns_info_t; -/** @brief Status of DHCP client or DHCP server */ +/* status of DHCP client or DHCP server */ typedef enum { - TCPIP_ADAPTER_DHCP_INIT = 0, /**< DHCP client/server is in initial state (not yet started) */ - TCPIP_ADAPTER_DHCP_STARTED, /**< DHCP client/server has been started */ - TCPIP_ADAPTER_DHCP_STOPPED, /**< DHCP client/server has been stopped */ + TCPIP_ADAPTER_DHCP_INIT = 0, /**< DHCP client/server in initial state */ + TCPIP_ADAPTER_DHCP_STARTED, /**< DHCP client/server already been started */ + TCPIP_ADAPTER_DHCP_STOPPED, /**< DHCP client/server already been stopped */ TCPIP_ADAPTER_DHCP_STATUS_MAX } tcpip_adapter_dhcp_status_t; -/** @brief Mode for DHCP client or DHCP server option functions */ +/* set the option mode for DHCP client or DHCP server */ typedef enum{ TCPIP_ADAPTER_OP_START = 0, - TCPIP_ADAPTER_OP_SET, /**< Set option */ - TCPIP_ADAPTER_OP_GET, /**< Get option */ + TCPIP_ADAPTER_OP_SET, /**< set option mode */ + TCPIP_ADAPTER_OP_GET, /**< get option mode */ TCPIP_ADAPTER_OP_MAX -} tcpip_adapter_dhcp_option_mode_t; +} tcpip_adapter_option_mode_t; -/* Deprecated name for tcpip_adapter_dhcp_option_mode_t, to remove after ESP-IDF V4.0 */ -typedef tcpip_adapter_dhcp_option_mode_t tcpip_adapter_option_mode_t; - -/** @brief Supported options for DHCP client or DHCP server */ typedef enum{ - TCPIP_ADAPTER_DOMAIN_NAME_SERVER = 6, /**< Domain name server */ - TCPIP_ADAPTER_ROUTER_SOLICITATION_ADDRESS = 32, /**< Solicitation router address */ - TCPIP_ADAPTER_REQUESTED_IP_ADDRESS = 50, /**< Request specific IP address */ - TCPIP_ADAPTER_IP_ADDRESS_LEASE_TIME = 51, /**< Request IP address lease time */ - TCPIP_ADAPTER_IP_REQUEST_RETRY_TIME = 52, /**< Request IP address retry counter */ -} tcpip_adapter_dhcp_option_id_t; + TCPIP_ADAPTER_DOMAIN_NAME_SERVER = 6, /**< domain name server */ + TCPIP_ADAPTER_ROUTER_SOLICITATION_ADDRESS = 32, /**< solicitation router address */ + TCPIP_ADAPTER_REQUESTED_IP_ADDRESS = 50, /**< request IP address pool */ + TCPIP_ADAPTER_IP_ADDRESS_LEASE_TIME = 51, /**< request IP address lease time */ + TCPIP_ADAPTER_IP_REQUEST_RETRY_TIME = 52, /**< request IP address retry counter */ +} tcpip_adapter_option_id_t; -/* Deprecated name for tcpip_adapter_dhcp_option_id_t, to remove after ESP-IDF V4.0 */ -typedef tcpip_adapter_dhcp_option_id_t tcpip_adapter_option_id_t; +struct tcpip_adapter_api_msg_s; +typedef int (*tcpip_adapter_api_fn)(struct tcpip_adapter_api_msg_s *msg); +typedef struct tcpip_adapter_api_msg_s { + int type; /**< The first field MUST be int */ + int ret; + tcpip_adapter_api_fn api_fn; + tcpip_adapter_if_t tcpip_if; + tcpip_adapter_ip_info_t *ip_info; + uint8_t *mac; + void *data; +} tcpip_adapter_api_msg_t; + +typedef struct tcpip_adapter_dns_param_s { + tcpip_adapter_dns_type_t dns_type; + tcpip_adapter_dns_info_t *dns_info; +} tcpip_adapter_dns_param_t; + +#define TCPIP_ADAPTER_TRHEAD_SAFE 1 +#define TCPIP_ADAPTER_IPC_LOCAL 0 +#define TCPIP_ADAPTER_IPC_REMOTE 1 + +#define TCPIP_ADAPTER_IPC_CALL(_if, _mac, _ip, _data, _fn) do {\ + tcpip_adapter_api_msg_t msg;\ + if (tcpip_inited == false) {\ + ESP_LOGE(TAG, "tcpip_adapter is not initialized!");\ + abort();\ + }\ + memset(&msg, 0, sizeof(msg));\ + msg.tcpip_if = (_if);\ + msg.mac = (uint8_t*)(_mac);\ + msg.ip_info = (tcpip_adapter_ip_info_t*)(_ip);\ + msg.data = (void*)(_data);\ + msg.api_fn = (_fn);\ + if (TCPIP_ADAPTER_IPC_REMOTE == tcpip_adapter_ipc_check(&msg)) {\ + ESP_LOGV(TAG, "check: remote, if=%d fn=%p\n", (_if), (_fn));\ + return msg.ret;\ + } else {\ + ESP_LOGV(TAG, "check: local, if=%d fn=%p\n", (_if), (_fn));\ + }\ +}while(0) + +typedef struct tcpip_adatper_ip_lost_timer_s { + bool timer_running; +} tcpip_adapter_ip_lost_timer_t; /** - * @brief Initialize the underlying TCP/IP stack + * @brief Initialize tcpip adapter * - * @note This function should be called exactly once from application code, when the application starts up. + * This will initialize TCPIP stack inside. */ void tcpip_adapter_init(void); /** - * @brief Cause the TCP/IP stack to start the Ethernet interface with specified MAC and IP + * @brief Start the ethernet interface with specific MAC and IP * - * @note This function should be called after the Ethernet MAC hardware is initialized. In the default configuration, application code does not need to call this function - it is called automatically by the default handler for the SYSTEM_EVENT_ETH_START event. + * @param[in] mac: set MAC address of this interface + * @param[in] ip_info: set IP address of this interface * - * @param[in] mac Set MAC address of this interface - * @param[in] ip_info Set IP address of this interface - * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - * - ESP_ERR_NO_MEM + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * ESP_ERR_NO_MEM */ esp_err_t tcpip_adapter_eth_start(uint8_t *mac, tcpip_adapter_ip_info_t *ip_info); /** - * @brief Cause the TCP/IP stack to start the Wi-Fi station interface with specified MAC and IP + * @brief Start the Wi-Fi station interface with specific MAC and IP * + * Station interface will be initialized, connect WiFi stack with TCPIP stack. * - * @note This function should be called after the Wi-Fi Station hardware is initialized. In the default configuration, application code does not need to call this function - it is called automatically by the default handler for the SYSTEM_EVENT_STA_START event. + * @param[in] mac: set MAC address of this interface + * @param[in] ip_info: set IP address of this interface * - * @param[in] mac Set MAC address of this interface - * @param[in] ip_info Set IP address of this interface - * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - * - ESP_ERR_NO_MEM + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * ESP_ERR_NO_MEM */ esp_err_t tcpip_adapter_sta_start(uint8_t *mac, tcpip_adapter_ip_info_t *ip_info); /** - * @brief Cause the TCP/IP stack to start the Wi-Fi AP interface with specified MAC and IP + * @brief Start the Wi-Fi AP interface with specific MAC and IP * - * @note This function should be called after the Wi-Fi AP hardware is initialized. In the default configuration, application code does not need to call this function - it is called automatically by the default handler for the SYSTEM_EVENT_AP_START event. + * softAP interface will be initialized, connect WiFi stack with TCPIP stack. * - * DHCP server will be started automatically when this function is called. + * DHCP server will be started automatically. * - * @param[in] mac Set MAC address of this interface - * @param[in] ip_info Set IP address of this interface + * @param[in] mac: set MAC address of this interface + * @param[in] ip_info: set IP address of this interface * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - * - ESP_ERR_NO_MEM + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * ESP_ERR_NO_MEM */ esp_err_t tcpip_adapter_ap_start(uint8_t *mac, tcpip_adapter_ip_info_t *ip_info); /** - * @brief Cause the TCP/IP stack to stop a network interface + * @brief Stop an interface * - * Causes TCP/IP stack to clean up this interface. This includes stopping the DHCP server or client, if they are started. + * The interface will be cleanup in this API, if DHCP server/client are started, will be stopped. * - * @note This API is called by the default Wi-Fi and Ethernet event handlers if the underlying network driver reports that the - * interface has stopped. + * @param[in] tcpip_if: the interface which will be started * - * @note To stop an interface from application code, call the network-specific API (esp_wifi_stop() or esp_eth_stop()). - * The driver layer will then send a stop event and the event handler should call this API. - * Otherwise, the driver and MAC layer will remain started. - * - * @param[in] tcpip_if Interface which will be stopped - * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - * - ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY */ esp_err_t tcpip_adapter_stop(tcpip_adapter_if_t tcpip_if); /** - * @brief Cause the TCP/IP stack to bring up an interface + * @brief Bring up an interface * - * @note This function is called automatically by the default event handlers for the Wi-Fi Station and Ethernet interfaces, - * in response to the SYSTEM_EVENT_STA_CONNECTED and SYSTEM_EVENT_ETH_CONNECTED events, respectively. + * Only station interface need to be brought up, since station interface will be shut down when disconnect. * - * @note This function is not normally used with Wi-Fi AP interface. If the AP interface is started, it is up. + * @param[in] tcpip_if: the interface which will be up * - * @param[in] tcpip_if Interface to bring up - * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY */ esp_err_t tcpip_adapter_up(tcpip_adapter_if_t tcpip_if); /** - * @brief Cause the TCP/IP stack to shutdown an interface + * @brief Shut down an interface * - * @note This function is called automatically by the default event handlers for the Wi-Fi Station and Ethernet interfaces, - * in response to the SYSTEM_EVENT_STA_DISCONNECTED and SYSTEM_EVENT_ETH_DISCONNECTED events, respectively. + * Only station interface need to be shut down, since station interface will be brought up when connect. * - * @note This function is not normally used with Wi-Fi AP interface. If the AP interface is stopped, it is down. + * @param[in] tcpip_if: the interface which will be down * - * @param[in] tcpip_if Interface to shutdown - * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY */ esp_err_t tcpip_adapter_down(tcpip_adapter_if_t tcpip_if); /** - * @brief Get interface's IP address information + * @brief Get interface's IP information * - * If the interface is up, IP information is read directly from the TCP/IP stack. + * There has an IP information copy in adapter library, if interface is up, get IP information from + * interface, otherwise get from copy. * - * If the interface is down, IP information is read from a copy kept in the TCP/IP adapter - * library itself. + * @param[in] tcpip_if: the interface which we want to get IP information + * @param[out] ip_info: If successful, IP information will be returned in this argument. * - * @param[in] tcpip_if Interface to get IP information - * @param[out] ip_info If successful, IP information will be returned in this argument. - * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS */ esp_err_t tcpip_adapter_get_ip_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_ip_info_t *ip_info); /** - * @brief Set interface's IP address information + * @brief Set interface's IP information * - * This function is mainly used to set a static IP on an interface. + * There has an IP information copy in adapter library, if interface is up, also set interface's IP. + * DHCP client/server should be stopped before set new IP information. * - * If the interface is up, the new IP information is set directly in the TCP/IP stack. + * This function is mainly used for setting static IP. * - * The copy of IP information kept in the TCP/IP adapter library is also updated (this - * copy is returned if the IP is queried while the interface is still down.) + * @param[in] tcpip_if: the interface which we want to set IP information + * @param[in] ip_info: store the IP information which needs to be set to specified interface * - * @note DHCP client/server must be stopped before setting new IP information. - * - * @note Calling this interface for the Wi-Fi STA or Ethernet interfaces may generate a - * SYSTEM_EVENT_STA_GOT_IP or SYSTEM_EVENT_ETH_GOT_IP event. - * - * @param[in] tcpip_if Interface to set IP information - * @param[in] ip_info IP information to set on the specified interface - * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - * - ESP_ERR_TCPIP_ADAPTER_DHCP_NOT_STOPPED If DHCP server or client is still running + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS */ -esp_err_t tcpip_adapter_set_ip_info(tcpip_adapter_if_t tcpip_if, const tcpip_adapter_ip_info_t *ip_info); +esp_err_t tcpip_adapter_set_ip_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_ip_info_t *ip_info); /** - * @brief Set DNS Server information + * @brief Set DNS Server's information * - * This function behaves differently for different interfaces: + * There has an DNS Server information copy in adapter library, set DNS Server for appointed interface and type. * - * - For Wi-Fi Station interface and Ethernet interface, up to three types of DNS server can be set (in order of priority): - * - Main DNS Server (TCPIP_ADAPTER_DNS_MAIN) - * - Backup DNS Server (TCPIP_ADAPTER_DNS_BACKUP) - * - Fallback DNS Server (TCPIP_ADAPTER_DNS_FALLBACK) + * 1.In station mode, if dhcp client is enabled, then only the fallback DNS server can be set(TCPIP_ADAPTER_DNS_FALLBACK). + * Fallback DNS server is only used if no DNS servers are set via DHCP. + * If dhcp client is disabled, then need to set main/backup dns server(TCPIP_ADAPTER_DNS_MAIN, TCPIP_ADAPTER_DNS_BACKUP). + * + * 2.In soft-AP mode, the DNS Server's main dns server offered to the station is the IP address of soft-AP, + * if the application don't want to use the IP address of soft-AP, they can set the main dns server. * - * If DHCP client is enabled, main and backup DNS servers will be updated automatically from the DHCP lease if the relevant DHCP options are set. Fallback DNS Server is never updated from the DHCP lease and is designed to be set via this API. + * This function is mainly used for setting static or Fallback DNS Server. * - * If DHCP client is disabled, all DNS server types can be set via this API only. - * - * - For Wi-Fi AP interface, the Main DNS Server setting is used by the DHCP server to provide a DNS Server option to DHCP clients (Wi-Fi stations). - * - The default Main DNS server is the IP of the Wi-Fi AP interface itself. - * - This function can override it by setting server type TCPIP_ADAPTER_DNS_MAIN. - * - Other DNS Server types are not supported for the Wi-Fi AP interface. - * - * @param[in] tcpip_if Interface to set DNS Server information - * @param[in] type Type of DNS Server to set: TCPIP_ADAPTER_DNS_MAIN, TCPIP_ADAPTER_DNS_BACKUP, TCPIP_ADAPTER_DNS_FALLBACK - * @param[in] dns DNS Server address to set - * - * @return + * @param[in] tcpip_if: the interface which we want to set DNS Server information + * @param[in] type: the type of DNS Server,including TCPIP_ADAPTER_DNS_MAIN, TCPIP_ADAPTER_DNS_BACKUP, TCPIP_ADAPTER_DNS_FALLBACK + * @param[in] dns: the DNS Server address to be set + * + * @return * - ESP_OK on success * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS invalid params */ esp_err_t tcpip_adapter_set_dns_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_dns_type_t type, tcpip_adapter_dns_info_t *dns); /** - * @brief Get DNS Server information + * @brief Get DNS Server's information * - * Return the currently configured DNS Server address for the specified interface and Server type. + * When set the DNS Server information successfully, can get the DNS Server's information via the appointed tcpip_if and type * - * This may be result of a previous call to tcpip_adapter_set_dns_info(). If the interface's DHCP client is enabled, - * the Main or Backup DNS Server may be set by the current DHCP lease. + * This function is mainly used for getting DNS Server information. * - * @param[in] tcpip_if Interface to get DNS Server information - * @param[in] type Type of DNS Server to get: TCPIP_ADAPTER_DNS_MAIN, TCPIP_ADAPTER_DNS_BACKUP, TCPIP_ADAPTER_DNS_FALLBACK - * @param[out] dns DNS Server result is written here on success - * - * @return + * @param[in] tcpip_if: the interface which we want to get DNS Server information + * @param[in] type: the type of DNS Server,including TCPIP_ADAPTER_DNS_MAIN, TCPIP_ADAPTER_DNS_BACKUP, TCPIP_ADAPTER_DNS_FALLBACK + * @param[in] dns: the DNS Server address to be get + * + * @return * - ESP_OK on success * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS invalid params */ @@ -343,66 +349,60 @@ esp_err_t tcpip_adapter_get_dns_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_ /** * @brief Get interface's old IP information * - * Returns an "old" IP address previously stored for the interface when the valid IP changed. + * When the interface successfully gets a valid IP from DHCP server or static configured, a copy of + * the IP information is set to the old IP information. When IP lost timer expires, the old IP + * information is reset to 0. * - * If the IP lost timer has expired (meaning the interface was down for longer than the configured interval) - * then the old IP information will be zero. + * @param[in] tcpip_if: the interface which we want to get old IP information + * @param[out] ip_info: If successful, IP information will be returned in this argument. * - * @param[in] tcpip_if Interface to get old IP information - * @param[out] ip_info If successful, IP information will be returned in this argument. - * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS */ esp_err_t tcpip_adapter_get_old_ip_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_ip_info_t *ip_info); /** - * @brief Set interface old IP information + * @brief Set interface's old IP information * - * This function is called from the DHCP client for the Wi-Fi STA and Ethernet interfaces, before a new IP is set. It is also called from the default handlers for the SYSTEM_EVENT_STA_CONNECTED and SYSTEM_EVENT_ETH_CONNECTED events. + * When the interface successfully gets a valid IP from DHCP server or static configured, a copy of + * the IP information is set to the old IP information. When IP lost timer expires, the old IP + * information is reset to 0. * - * Calling this function stores the previously configured IP, which can be used to determine if the IP changes in the future. + * @param[in] tcpip_if: the interface which we want to set old IP information + * @param[in] ip_info: store the IP information which needs to be set to specified interface * - * If the interface is disconnected or down for too long, the "IP lost timer" will expire (after the configured interval) and set the old IP information to zero. - * - * @param[in] tcpip_if Interface to set old IP information - * @param[in] ip_info Store the old IP information for the specified interface - * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS */ -esp_err_t tcpip_adapter_set_old_ip_info(tcpip_adapter_if_t tcpip_if, const tcpip_adapter_ip_info_t *ip_info); +esp_err_t tcpip_adapter_set_old_ip_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_ip_info_t *ip_info); /** - * @brief Create interface link-local IPv6 address + * @brief create interface's linklocal IPv6 information * - * Cause the TCP/IP stack to create a link-local IPv6 address for the specified interface. + * @note this function will create a linklocal IPv6 address about input interface, + * if this address status changed to preferred, will call event call back , + * notify user linklocal IPv6 address has been verified * - * This function also registers a callback for the specified interface, so that if the link-local address becomes verified as the preferred address then a SYSTEM_EVENT_GOT_IP6 event will be sent. + * @param[in] tcpip_if: the interface which we want to set IP information * - * @param[in] tcpip_if Interface to create a link-local IPv6 address * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS */ esp_err_t tcpip_adapter_create_ip6_linklocal(tcpip_adapter_if_t tcpip_if); /** - * @brief Get interface link-local IPv6 address + * @brief get interface's linkloacl IPv6 information * - * If the specified interface is up and a preferred link-local IPv6 address - * has been created for the interface, return a copy of it. + * There has an IPv6 information copy in adapter library, if interface is up,and IPv6 info + * is preferred,it will get IPv6 linklocal IP successfully * - * @param[in] tcpip_if Interface to get link-local IPv6 address - * @param[out] if_ip6 IPv6 information will be returned in this argument if successful. + * @param[in] tcpip_if: the interface which we want to set IP information + * @param[in] if_ip6: If successful, IPv6 information will be returned in this argument. * - * @return - * - ESP_OK - * - ESP_FAIL If interface is down, does not have a link-local IPv6 address, or the link-local IPv6 address is not a preferred address. + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS */ esp_err_t tcpip_adapter_get_ip6_linklocal(tcpip_adapter_if_t tcpip_if, ip6_addr_t *if_ip6); @@ -413,251 +413,218 @@ esp_err_t tcpip_adapter_set_mac(tcpip_adapter_if_t tcpip_if, uint8_t *mac); #endif /** - * @brief Get DHCP Server status + * @brief Get DHCP server's status * - * @param[in] tcpip_if Interface to get status of DHCP server. - * @param[out] status If successful, the status of the DHCP server will be returned in this argument. + * @param[in] tcpip_if: the interface which we will get status of DHCP server + * @param[out] status: If successful, the status of DHCP server will be return in this argument. * - * @return - * - ESP_OK + * @return ESP_OK */ esp_err_t tcpip_adapter_dhcps_get_status(tcpip_adapter_if_t tcpip_if, tcpip_adapter_dhcp_status_t *status); /** - * @brief Set or Get DHCP server option + * @brief Set or Get DHCP server's option * - * @param[in] opt_op TCPIP_ADAPTER_OP_SET to set an option, TCPIP_ADAPTER_OP_GET to get an option. - * @param[in] opt_id Option index to get or set, must be one of the supported enum values. - * @param[inout] opt_val Pointer to the option parameter. - * @param[in] opt_len Length of the option parameter. + * @param[in] opt_op: option operate type, 1 for SET, 2 for GET. + * @param[in] opt_id: option index, 32 for ROUTER, 50 for IP POLL, 51 for LEASE TIME, 52 for REQUEST TIME + * @param[in] opt_val: option parameter + * @param[in] opt_len: option length * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - * - ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STOPPED - * - ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STARTED + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STOPPED + * ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STARTED */ -esp_err_t tcpip_adapter_dhcps_option(tcpip_adapter_dhcp_option_mode_t opt_op, tcpip_adapter_dhcp_option_id_t opt_id, void *opt_val, uint32_t opt_len); +esp_err_t tcpip_adapter_dhcps_option(tcpip_adapter_option_mode_t opt_op, tcpip_adapter_option_id_t opt_id, void *opt_val, uint32_t opt_len); /** * @brief Start DHCP server * - * @note Currently DHCP server is only supported on the Wi-Fi AP interface. + * @note Currently DHCP server is bind to softAP interface. * - * @param[in] tcpip_if Interface to start DHCP server. Must be TCPIP_ADAPTER_IF_AP. + * @param[in] tcpip_if: the interface which we will start DHCP server * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - * - ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STARTED + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STARTED */ esp_err_t tcpip_adapter_dhcps_start(tcpip_adapter_if_t tcpip_if); /** * @brief Stop DHCP server * - * @note Currently DHCP server is only supported on the Wi-Fi AP interface. + * @note Currently DHCP server is bind to softAP interface. * - * @param[in] tcpip_if Interface to stop DHCP server. Must be TCPIP_ADAPTER_IF_AP. + * @param[in] tcpip_if: the interface which we will stop DHCP server * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - * - ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STOPPED - * - ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STOPED + * ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY */ esp_err_t tcpip_adapter_dhcps_stop(tcpip_adapter_if_t tcpip_if); /** * @brief Get DHCP client status * - * @param[in] tcpip_if Interface to get status of DHCP client - * @param[out] status If successful, the status of DHCP client will be returned in this argument. + * @param[in] tcpip_if: the interface which we will get status of DHCP client + * @param[out] status: If successful, the status of DHCP client will be return in this argument. * - * @return - * - ESP_OK + * @return ESP_OK */ esp_err_t tcpip_adapter_dhcpc_get_status(tcpip_adapter_if_t tcpip_if, tcpip_adapter_dhcp_status_t *status); /** * @brief Set or Get DHCP client's option * - * @note This function is not yet implemented + * @note This function is not implement now. * - * @param[in] opt_op TCPIP_ADAPTER_OP_SET to set an option, TCPIP_ADAPTER_OP_GET to get an option. - * @param[in] opt_id Option index to get or set, must be one of the supported enum values. - * @param[inout] opt_val Pointer to the option parameter. - * @param[in] opt_len Length of the option parameter. + * @param[in] opt_op: option operate type, 1 for SET, 2 for GET. + * @param[in] opt_id: option index, 32 for ROUTER, 50 for IP POLL, 51 for LEASE TIME, 52 for REQUEST TIME + * @param[in] opt_val: option parameter + * @param[in] opt_len: option length * - * @return - * - ESP_ERR_NOT_SUPPORTED (not implemented) + * @return ESP_OK */ -esp_err_t tcpip_adapter_dhcpc_option(tcpip_adapter_dhcp_option_mode_t opt_op, tcpip_adapter_dhcp_option_id_t opt_id, void *opt_val, uint32_t opt_len); +esp_err_t tcpip_adapter_dhcpc_option(tcpip_adapter_option_mode_t opt_op, tcpip_adapter_option_id_t opt_id, void *opt_val, uint32_t opt_len); /** - * @brief Start DHCP client + * @brief Start DHCP client * - * @note DHCP Client is only supported for the Wi-Fi station and Ethernet interfaces. + * @note Currently DHCP client is bind to station interface. * - * @note The default event handlers for the SYSTEM_EVENT_STA_CONNECTED and SYSTEM_EVENT_ETH_CONNECTED events call this function. + * @param[in] tcpip_if: the interface which we will start DHCP client * - * @param[in] tcpip_if Interface to start the DHCP client - * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - * - ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STARTED - * - ESP_ERR_TCPIP_ADAPTER_DHCPC_START_FAILED + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STARTED + * ESP_ERR_TCPIP_ADAPTER_DHCPC_START_FAILED */ esp_err_t tcpip_adapter_dhcpc_start(tcpip_adapter_if_t tcpip_if); /** * @brief Stop DHCP client * - * @note DHCP Client is only supported for the Wi-Fi station and Ethernet interfaces. + * @note Currently DHCP client is bind to station interface. * - * @note Calling tcpip_adapter_stop() or tcpip_adapter_down() will also stop the DHCP Client if it is running. + * @param[in] tcpip_if: the interface which we will stop DHCP client * - * @param[in] tcpip_if Interface to stop the DHCP client - * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - * - ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STOPPED - * - ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STOPED + * ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY */ esp_err_t tcpip_adapter_dhcpc_stop(tcpip_adapter_if_t tcpip_if); /** - * @brief Receive an Ethernet frame from the Ethernet interface + * @brief Get data from ethernet interface * - * This function will automatically be installed by esp_eth_init(). The Ethernet driver layer will then call this function to forward frames to the TCP/IP stack. + * This function should be installed by esp_eth_init, so Ethernet packets will be forward to TCPIP stack. * - * @note Application code does not usually need to use this function directly. + * @param[in] void *buffer: the received data point + * @param[in] uint16_t len: the received data length + * @param[in] void *eb: parameter * - * @param[in] buffer Received data - * @param[in] len Length of the data frame - * @param[in] eb Pointer to internal Wi-Fi buffer (ignored for Ethernet) - * - * @return - * - ESP_OK + * @return ESP_OK */ esp_err_t tcpip_adapter_eth_input(void *buffer, uint16_t len, void *eb); /** - * @brief Receive an 802.11 data frame from the Wi-Fi Station interface + * @brief Get data from station interface * - * This function should be installed by calling esp_wifi_reg_rxcb(). The Wi-Fi driver layer will then call this function to forward frames to the TCP/IP stack. + * This function should be installed by esp_wifi_reg_rxcb, so WiFi packets will be forward to TCPIP stack. * - * @note Installation happens automatically in the default handler for the SYSTEM_EVENT_STA_CONNECTED event. + * @param[in] void *buffer: the received data point + * @param[in] uint16_t len: the received data length + * @param[in] void *eb: parameter * - * @note Application code does not usually need to call this function directly. - * - * @param[in] buffer Received data - * @param[in] len Length of the data frame - * @param[in] eb Pointer to internal Wi-Fi buffer - * - * @return - * - ESP_OK + * @return ESP_OK */ esp_err_t tcpip_adapter_sta_input(void *buffer, uint16_t len, void *eb); /** - * @brief Receive an 802.11 data frame from the Wi-Fi AP interface + * @brief Get data from softAP interface * - * This function should be installed by calling esp_wifi_reg_rxcb(). The Wi-Fi driver layer will then call this function to forward frames to the TCP/IP stack. + * This function should be installed by esp_wifi_reg_rxcb, so WiFi packets will be forward to TCPIP stack. * - * @note Installation happens automatically in the default handler for the SYSTEM_EVENT_AP_START event. + * @param[in] void *buffer: the received data point + * @param[in] uint16_t len: the received data length + * @param[in] void *eb: parameter * - * @note Application code does not usually need to call this function directly. - * - * @param[in] buffer Received data - * @param[in] len Length of the data frame - * @param[in] eb Pointer to internal Wi-Fi buffer - * - * @return - * - ESP_OK + * @return ESP_OK */ esp_err_t tcpip_adapter_ap_input(void *buffer, uint16_t len, void *eb); /** - * @brief Get network interface index + * @brief Get WiFi interface index * - * Get network interface from TCP/IP implementation-specific interface pointer. + * Get WiFi interface from TCPIP interface struct pointer. * - * @param[in] dev Implementation-specific TCP/IP stack interface pointer. + * @param[in] void *dev: adapter interface * - * @return - * - ESP_IF_WIFI_STA - * - ESP_IF_WIFI_AP - * - ESP_IF_ETH - * - ESP_IF_MAX - invalid parameter + * @return ESP_IF_WIFI_STA + * ESP_IF_WIFI_AP + * ESP_IF_ETH + * ESP_IF_MAX */ esp_interface_t tcpip_adapter_get_esp_if(void *dev); /** - * @brief Get IP information for stations connected to the Wi-Fi AP interface + * @brief Get the station information list * - * @param[in] wifi_sta_list Wi-Fi station info list, returned from esp_wifi_ap_get_sta_list() - * @param[out] tcpip_sta_list IP layer station info list, corresponding to MAC addresses provided in wifi_sta_list + * @param[in] wifi_sta_list_t *wifi_sta_list: station list info + * @param[out] tcpip_adapter_sta_list_t *tcpip_sta_list: station list info * - * @return - * - ESP_OK - * - ESP_ERR_TCPIP_ADAPTER_NO_MEM - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS + * @return ESP_OK + * ESP_ERR_TCPIP_ADAPTER_NO_MEM + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS */ -esp_err_t tcpip_adapter_get_sta_list(const wifi_sta_list_t *wifi_sta_list, tcpip_adapter_sta_list_t *tcpip_sta_list); +esp_err_t tcpip_adapter_get_sta_list(wifi_sta_list_t *wifi_sta_list, tcpip_adapter_sta_list_t *tcpip_sta_list); #define TCPIP_HOSTNAME_MAX_SIZE 32 /** - * @brief Set the hostname of an interface + * @brief Set the hostname to the interface * - * @param[in] tcpip_if Interface to set the hostname - * @param[in] hostname New hostname for the interface. Maximum length 32 bytes. + * @param[in] tcpip_if: the interface which we will set the hostname + * @param[in] hostname: the host name for set the interface, the max length of hostname is 32 bytes * - * @return - * - ESP_OK - success - * - ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY - interface status error - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - parameter error + * @return ESP_OK:success + * ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY:interface status error + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS:parameter error */ esp_err_t tcpip_adapter_set_hostname(tcpip_adapter_if_t tcpip_if, const char *hostname); /** - * @brief Get interface hostname. + * @brief Get the hostname from the interface * - * @param[in] tcpip_if Interface to get the hostname - * @param[out] hostname Returns a pointer to the hostname. May be NULL if no hostname is set. If set non-NULL, pointer remains valid (and string may change if the hostname changes). + * @param[in] tcpip_if: the interface which we will get the hostname + * @param[in] hostname: the host name from the interface * - * @return - * - ESP_OK - success - * - ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY - interface status error - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - parameter error + * @return ESP_OK:success + * ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY:interface status error + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS:parameter error */ esp_err_t tcpip_adapter_get_hostname(tcpip_adapter_if_t tcpip_if, const char **hostname); /** - * @brief Get the TCP/IP stack-specific interface that is assigned to a given interface + * @brief Get the LwIP netif* that is assigned to the interface * - * @note For lwIP, this returns a pointer to a netif structure. + * @param[in] tcpip_if: the interface which we will get the hostname + * @param[out] void ** netif: pointer to fill the resulting interface * - * @param[in] tcpip_if Interface to get the implementation-specific interface - * @param[out] netif Pointer to the implementation-specific interface - * - * @return - * - ESP_OK - success - * - ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY - interface status error - * - ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS - parameter error + * @return ESP_OK:success + * ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY:interface status error + * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS:parameter error */ esp_err_t tcpip_adapter_get_netif(tcpip_adapter_if_t tcpip_if, void ** netif); /** * @brief Test if supplied interface is up or down * - * @param[in] tcpip_if Interface to test up/down status + * @param[in] tcpip_if: the interface which we will get the hostname * - * @return - * - true - Interface is up - * - false - Interface is down + * @return true: tcpip_if is UP + * false: tcpip_if id DOWN */ bool tcpip_adapter_is_netif_up(tcpip_adapter_if_t tcpip_if); @@ -666,3 +633,4 @@ bool tcpip_adapter_is_netif_up(tcpip_adapter_if_t tcpip_if); #endif #endif /* _TCPIP_ADAPTER_H_ */ + diff --git a/tools/sdk/include/tcpip_adapter/tcpip_adapter_internal.h b/tools/sdk/include/tcpip_adapter/tcpip_adapter_internal.h deleted file mode 100644 index 93dfdeed..00000000 --- a/tools/sdk/include/tcpip_adapter/tcpip_adapter_internal.h +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD -// -// 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. - -#pragma once - -#include "tcpip_adapter.h" -#include "rom/queue.h" - -struct tcpip_adapter_api_msg_s; - -typedef int (*tcpip_adapter_api_fn)(struct tcpip_adapter_api_msg_s *msg); - -typedef struct tcpip_adapter_api_msg_s { - int type; /**< The first field MUST be int */ - int ret; - tcpip_adapter_api_fn api_fn; - tcpip_adapter_if_t tcpip_if; - tcpip_adapter_ip_info_t *ip_info; - uint8_t *mac; - void *data; -} tcpip_adapter_api_msg_t; - -typedef struct tcpip_adapter_dns_param_s { - tcpip_adapter_dns_type_t dns_type; - tcpip_adapter_dns_info_t *dns_info; -} tcpip_adapter_dns_param_t; - -typedef struct tcpip_adapter_ip_lost_timer_s { - bool timer_running; -} tcpip_adapter_ip_lost_timer_t; - - -#define TCPIP_ADAPTER_TRHEAD_SAFE 1 -#define TCPIP_ADAPTER_IPC_LOCAL 0 -#define TCPIP_ADAPTER_IPC_REMOTE 1 - -#define TCPIP_ADAPTER_IPC_CALL(_if, _mac, _ip, _data, _fn) do {\ - tcpip_adapter_api_msg_t msg;\ - if (tcpip_inited == false) {\ - ESP_LOGE(TAG, "tcpip_adapter is not initialized!");\ - abort();\ - }\ - memset(&msg, 0, sizeof(msg));\ - msg.tcpip_if = (_if);\ - msg.mac = (uint8_t*)(_mac);\ - msg.ip_info = (tcpip_adapter_ip_info_t*)(_ip);\ - msg.data = (void*)(_data);\ - msg.api_fn = (_fn);\ - if (TCPIP_ADAPTER_IPC_REMOTE == tcpip_adapter_ipc_check(&msg)) {\ - ESP_LOGV(TAG, "check: remote, if=%d fn=%p\n", (_if), (_fn));\ - return msg.ret;\ - } else {\ - ESP_LOGV(TAG, "check: local, if=%d fn=%p\n", (_if), (_fn));\ - }\ -} while(0) diff --git a/tools/sdk/include/ulp/esp32/ulp.h b/tools/sdk/include/ulp/esp32/ulp.h index c9ca5110..6960ac97 100644 --- a/tools/sdk/include/ulp/esp32/ulp.h +++ b/tools/sdk/include/ulp/esp32/ulp.h @@ -898,9 +898,6 @@ esp_err_t ulp_run(uint32_t entry_point); * i.e. period number 0. ULP program code can use SLEEP instruction to select * which of the SENS_ULP_CP_SLEEP_CYCx_REG should be used for subsequent wakeups. * - * However, please note that SLEEP instruction issued (from ULP program) while the system - * is in deep sleep mode does not have effect, and sleep cycle count 0 is used. - * * @param period_index wakeup period setting number (0 - 4) * @param period_us wakeup period, us * @note The ULP FSM requires two clock cycles to wakeup before being able to run the program. diff --git a/tools/sdk/include/unity/unity.h b/tools/sdk/include/unity/unity.h deleted file mode 100644 index a0c301d2..00000000 --- a/tools/sdk/include/unity/unity.h +++ /dev/null @@ -1,503 +0,0 @@ -/* ========================================== - Unity Project - A Test Framework for C - Copyright (c) 2007-14 Mike Karlesky, Mark VanderVoord, Greg Williams - [Released under MIT License. Please refer to license.txt for details] -========================================== */ - -#ifndef UNITY_FRAMEWORK_H -#define UNITY_FRAMEWORK_H -#define UNITY - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include "unity_internals.h" - -/*------------------------------------------------------- - * Test Setup / Teardown - *-------------------------------------------------------*/ - -/* These functions are intended to be called before and after each test. */ -void setUp(void); -void tearDown(void); - -/* These functions are intended to be called at the beginning and end of an - * entire test suite. suiteTearDown() is passed the number of tests that - * failed, and its return value becomes the exit code of main(). */ -void suiteSetUp(void); -int suiteTearDown(int num_failures); - -/* If the compiler supports it, the following block provides stub - * implementations of the above functions as weak symbols. Note that on - * some platforms (MinGW for example), weak function implementations need - * to be in the same translation unit they are called from. This can be - * achieved by defining UNITY_INCLUDE_SETUP_STUBS before including unity.h. */ -#ifdef UNITY_INCLUDE_SETUP_STUBS - #ifdef UNITY_WEAK_ATTRIBUTE - UNITY_WEAK_ATTRIBUTE void setUp(void) { } - UNITY_WEAK_ATTRIBUTE void tearDown(void) { } - UNITY_WEAK_ATTRIBUTE void suiteSetUp(void) { } - UNITY_WEAK_ATTRIBUTE int suiteTearDown(int num_failures) { return num_failures; } - #elif defined(UNITY_WEAK_PRAGMA) - #pragma weak setUp - void setUp(void) { } - #pragma weak tearDown - void tearDown(void) { } - #pragma weak suiteSetUp - void suiteSetUp(void) { } - #pragma weak suiteTearDown - int suiteTearDown(int num_failures) { return num_failures; } - #endif -#endif - -/*------------------------------------------------------- - * Configuration Options - *------------------------------------------------------- - * All options described below should be passed as a compiler flag to all files using Unity. If you must add #defines, place them BEFORE the #include above. - - * Integers/longs/pointers - * - Unity attempts to automatically discover your integer sizes - * - define UNITY_EXCLUDE_STDINT_H to stop attempting to look in - * - define UNITY_EXCLUDE_LIMITS_H to stop attempting to look in - * - If you cannot use the automatic methods above, you can force Unity by using these options: - * - define UNITY_SUPPORT_64 - * - set UNITY_INT_WIDTH - * - set UNITY_LONG_WIDTH - * - set UNITY_POINTER_WIDTH - - * Floats - * - define UNITY_EXCLUDE_FLOAT to disallow floating point comparisons - * - define UNITY_FLOAT_PRECISION to specify the precision to use when doing TEST_ASSERT_EQUAL_FLOAT - * - define UNITY_FLOAT_TYPE to specify doubles instead of single precision floats - * - define UNITY_INCLUDE_DOUBLE to allow double floating point comparisons - * - define UNITY_EXCLUDE_DOUBLE to disallow double floating point comparisons (default) - * - define UNITY_DOUBLE_PRECISION to specify the precision to use when doing TEST_ASSERT_EQUAL_DOUBLE - * - define UNITY_DOUBLE_TYPE to specify something other than double - * - define UNITY_EXCLUDE_FLOAT_PRINT to trim binary size, won't print floating point values in errors - - * Output - * - by default, Unity prints to standard out with putchar. define UNITY_OUTPUT_CHAR(a) with a different function if desired - * - define UNITY_DIFFERENTIATE_FINAL_FAIL to print FAILED (vs. FAIL) at test end summary - for automated search for failure - - * Optimization - * - by default, line numbers are stored in unsigned shorts. Define UNITY_LINE_TYPE with a different type if your files are huge - * - by default, test and failure counters are unsigned shorts. Define UNITY_COUNTER_TYPE with a different type if you want to save space or have more than 65535 Tests. - - * Test Cases - * - define UNITY_SUPPORT_TEST_CASES to include the TEST_CASE macro, though really it's mostly about the runner generator script - - * Parameterized Tests - * - you'll want to create a define of TEST_CASE(...) which basically evaluates to nothing - - * Tests with Arguments - * - you'll want to define UNITY_USE_COMMAND_LINE_ARGS if you have the test runner passing arguments to Unity - - *------------------------------------------------------- - * Basic Fail and Ignore - *-------------------------------------------------------*/ - -#define TEST_FAIL_MESSAGE(message) UNITY_TEST_FAIL(__LINE__, (message)) -#define TEST_FAIL() UNITY_TEST_FAIL(__LINE__, NULL) -#define TEST_IGNORE_MESSAGE(message) UNITY_TEST_IGNORE(__LINE__, (message)) -#define TEST_IGNORE() UNITY_TEST_IGNORE(__LINE__, NULL) -#define TEST_ONLY() - -/* It is not necessary for you to call PASS. A PASS condition is assumed if nothing fails. - * This method allows you to abort a test immediately with a PASS state, ignoring the remainder of the test. */ -#define TEST_PASS() TEST_ABORT() - -/* This macro does nothing, but it is useful for build tools (like Ceedling) to make use of this to figure out - * which files should be linked to in order to perform a test. Use it like TEST_FILE("sandwiches.c") */ -#define TEST_FILE(a) - -/*------------------------------------------------------- - * Test Asserts (simple) - *-------------------------------------------------------*/ - -/* Boolean */ -#define TEST_ASSERT(condition) UNITY_TEST_ASSERT( (condition), __LINE__, " Expression Evaluated To FALSE") -#define TEST_ASSERT_TRUE(condition) UNITY_TEST_ASSERT( (condition), __LINE__, " Expected TRUE Was FALSE") -#define TEST_ASSERT_UNLESS(condition) UNITY_TEST_ASSERT( !(condition), __LINE__, " Expression Evaluated To TRUE") -#define TEST_ASSERT_FALSE(condition) UNITY_TEST_ASSERT( !(condition), __LINE__, " Expected FALSE Was TRUE") -#define TEST_ASSERT_NULL(pointer) UNITY_TEST_ASSERT_NULL( (pointer), __LINE__, " Expected NULL") -#define TEST_ASSERT_NOT_NULL(pointer) UNITY_TEST_ASSERT_NOT_NULL((pointer), __LINE__, " Expected Non-NULL") - -/* Integers (of all sizes) */ -#define TEST_ASSERT_EQUAL_INT(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT8(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT16(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT16((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT32(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT32((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT64(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT64((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL(expected, actual) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_NOT_EQUAL(expected, actual) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, " Expected Not-Equal") -#define TEST_ASSERT_EQUAL_UINT(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT8(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT8( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT16(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT16( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT32(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT32( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT64(expected, actual) UNITY_TEST_ASSERT_EQUAL_UINT64( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX8(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX8( (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX16(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX32(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX64(expected, actual) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_BITS(mask, expected, actual) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_BITS_HIGH(mask, actual) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(-1), (actual), __LINE__, NULL) -#define TEST_ASSERT_BITS_LOW(mask, actual) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(0), (actual), __LINE__, NULL) -#define TEST_ASSERT_BIT_HIGH(bit, actual) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(-1), (actual), __LINE__, NULL) -#define TEST_ASSERT_BIT_LOW(bit, actual) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(0), (actual), __LINE__, NULL) - -/* Integer Greater Than/ Less Than (of all sizes) */ -#define TEST_ASSERT_GREATER_THAN(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_INT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual) UNITY_TEST_ASSERT_GREATER_THAN_HEX64((threshold), (actual), __LINE__, NULL) - -#define TEST_ASSERT_LESS_THAN(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_INT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_UINT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_HEX8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_HEX16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_HEX32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_THAN_HEX64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_THAN_HEX64((threshold), (actual), __LINE__, NULL) - -#define TEST_ASSERT_GREATER_OR_EQUAL(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, NULL) - -#define TEST_ASSERT_LESS_OR_EQUAL(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_INT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX8(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX16(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX32(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, NULL) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX64(threshold, actual) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, NULL) - -/* Integer Ranges (of all sizes) */ -#define TEST_ASSERT_INT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_INT8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT8_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_INT16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT16_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_INT32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT32_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_INT64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_INT64_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT8_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT16_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT32_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_UINT64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_UINT64_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX8_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX8_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX16_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX16_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX32_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_HEX64_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_HEX64_WITHIN((delta), (expected), (actual), __LINE__, NULL) - -/* Structs and Strings */ -#define TEST_ASSERT_EQUAL_PTR(expected, actual) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_STRING(expected, actual) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_MEMORY(expected, actual, len) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, NULL) - -/* Arrays */ -#define TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, NULL) - -/* Arrays Compared To Single Value */ -#define TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT16((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT32((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_INT64((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT8((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_HEX64((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_PTR((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_STRING((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY((expected), (actual), (len), (num_elements), __LINE__, NULL) - -/* Floating Point (If Enabled) */ -#define TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_FLOAT(expected, actual) UNITY_TEST_ASSERT_EQUAL_FLOAT((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NEG_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NAN(actual) UNITY_TEST_ASSERT_FLOAT_IS_NAN((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_DETERMINATE(actual) UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NOT_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NOT_NAN(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN((actual), __LINE__, NULL) -#define TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual) UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE((actual), __LINE__, NULL) - -/* Double (If Enabled) */ -#define TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual) UNITY_TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_DOUBLE(expected, actual) UNITY_TEST_ASSERT_EQUAL_DOUBLE((expected), (actual), __LINE__, NULL) -#define TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements) UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE((expected), (actual), (num_elements), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NEG_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NAN(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NAN((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual) UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NOT_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN((actual), __LINE__, NULL) -#define TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE((actual), __LINE__, NULL) - -/*------------------------------------------------------- - * Test Asserts (with additional messages) - *-------------------------------------------------------*/ - -/* Boolean */ -#define TEST_ASSERT_MESSAGE(condition, message) UNITY_TEST_ASSERT( (condition), __LINE__, (message)) -#define TEST_ASSERT_TRUE_MESSAGE(condition, message) UNITY_TEST_ASSERT( (condition), __LINE__, (message)) -#define TEST_ASSERT_UNLESS_MESSAGE(condition, message) UNITY_TEST_ASSERT( !(condition), __LINE__, (message)) -#define TEST_ASSERT_FALSE_MESSAGE(condition, message) UNITY_TEST_ASSERT( !(condition), __LINE__, (message)) -#define TEST_ASSERT_NULL_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NULL( (pointer), __LINE__, (message)) -#define TEST_ASSERT_NOT_NULL_MESSAGE(pointer, message) UNITY_TEST_ASSERT_NOT_NULL((pointer), __LINE__, (message)) - -/* Integers (of all sizes) */ -#define TEST_ASSERT_EQUAL_INT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT8((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT16((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT32((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT64((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_INT((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT(((expected) != (actual)), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT8( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT16( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT32( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_UINT64( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX8_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX8( (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX16_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX16((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX32_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX32((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX64_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_HEX64((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_BITS_MESSAGE(mask, expected, actual, message) UNITY_TEST_ASSERT_BITS((mask), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_BITS_HIGH_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) -#define TEST_ASSERT_BITS_LOW_MESSAGE(mask, actual, message) UNITY_TEST_ASSERT_BITS((mask), (UNITY_UINT32)(0), (actual), __LINE__, (message)) -#define TEST_ASSERT_BIT_HIGH_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(-1), (actual), __LINE__, (message)) -#define TEST_ASSERT_BIT_LOW_MESSAGE(bit, actual, message) UNITY_TEST_ASSERT_BITS(((UNITY_UINT32)1 << (bit)), (UNITY_UINT32)(0), (actual), __LINE__, (message)) - -/* Integer Greater Than/ Less Than (of all sizes) */ -#define TEST_ASSERT_GREATER_THAN_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_THAN_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_THAN_HEX64((threshold), (actual), __LINE__, (message)) - -#define TEST_ASSERT_LESS_THAN_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_THAN_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_THAN_HEX64((threshold), (actual), __LINE__, (message)) - -#define TEST_ASSERT_GREATER_OR_EQUAL_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_GREATER_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, (message)) - -#define TEST_ASSERT_LESS_OR_EQUAL_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_INT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_UINT64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX8_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX16_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32((threshold), (actual), __LINE__, (message)) -#define TEST_ASSERT_LESS_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message) UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64((threshold), (actual), __LINE__, (message)) - -/* Integer Ranges (of all sizes) */ -#define TEST_ASSERT_INT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_INT8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT8_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_INT16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT16_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_INT32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT32_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_INT64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_INT64_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT8_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT16_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT32_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_UINT64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_UINT64_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX8_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX8_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX16_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX16_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX32_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX32_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_HEX64_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_HEX64_WITHIN((delta), (expected), (actual), __LINE__, (message)) - -/* Structs and Strings */ -#define TEST_ASSERT_EQUAL_PTR_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_PTR((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_STRING((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_STRING_LEN((expected), (actual), (len), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_MEMORY_MESSAGE(expected, actual, len, message) UNITY_TEST_ASSERT_EQUAL_MEMORY((expected), (actual), (len), __LINE__, (message)) - -/* Arrays */ -#define TEST_ASSERT_EQUAL_INT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_INT64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_UINT64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX8_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX16_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX32_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_HEX64_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_PTR_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_STRING_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_MEMORY_ARRAY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((expected), (actual), (len), (num_elements), __LINE__, (message)) - -/* Arrays Compared To Single Value*/ -#define TEST_ASSERT_EACH_EQUAL_INT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_INT8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT8((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_INT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT16((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_INT32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT32((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_INT64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_INT64((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT8((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT16((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT32((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_UINT64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_UINT64((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX8_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX8((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX16_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX16((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX32((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_HEX64_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_HEX64((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_PTR_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_PTR((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_STRING_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_STRING((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_MEMORY_MESSAGE(expected, actual, len, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY((expected), (actual), (len), (num_elements), __LINE__, (message)) - -/* Floating Point (If Enabled) */ -#define TEST_ASSERT_FLOAT_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_FLOAT_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_FLOAT((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_FLOAT_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_FLOAT_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NAN((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NOT_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NOT_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NOT_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN((actual), __LINE__, (message)) -#define TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE((actual), __LINE__, (message)) - -/* Double (If Enabled) */ -#define TEST_ASSERT_DOUBLE_WITHIN_MESSAGE(delta, expected, actual, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((delta), (expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_DOUBLE_MESSAGE(expected, actual, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE((expected), (actual), __LINE__, (message)) -#define TEST_ASSERT_EQUAL_DOUBLE_ARRAY_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_EACH_EQUAL_DOUBLE_MESSAGE(expected, actual, num_elements, message) UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE((expected), (actual), (num_elements), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NAN((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NOT_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NOT_NAN_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN((actual), __LINE__, (message)) -#define TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE_MESSAGE(actual, message) UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE((actual), __LINE__, (message)) - -/* end of UNITY_FRAMEWORK_H */ -#ifdef __cplusplus -} -#endif -#endif diff --git a/tools/sdk/include/unity/unity_config.h b/tools/sdk/include/unity/unity_config.h deleted file mode 100644 index b23a5fe1..00000000 --- a/tools/sdk/include/unity/unity_config.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef UNITY_CONFIG_H -#define UNITY_CONFIG_H - -// This file gets included from unity.h via unity_internals.h -// It is inside #ifdef __cplusplus / extern "C" block, so we can -// only use C features here - -#include -#include -#include "sdkconfig.h" - -#ifdef CONFIG_UNITY_ENABLE_FLOAT -#define UNITY_INCLUDE_FLOAT -#else -#define UNITY_EXCLUDE_FLOAT -#endif //CONFIG_UNITY_ENABLE_FLOAT - -#ifdef CONFIG_UNITY_ENABLE_DOUBLE -#define UNITY_INCLUDE_DOUBLE -#else -#define UNITY_EXCLUDE_DOUBLE -#endif //CONFIG_UNITY_ENABLE_DOUBLE - -#ifdef CONFIG_UNITY_ENABLE_COLOR -#define UNITY_OUTPUT_COLOR -#endif - -#define UNITY_EXCLUDE_TIME_H - -void unity_flush(void); -void unity_putc(int c); -void unity_gets(char* dst, size_t len); -void unity_exec_time_start(void); -void unity_exec_time_stop(void); -uint32_t unity_exec_time_get_ms(void); - -#define UNITY_OUTPUT_CHAR(a) unity_putc(a) -#define UNITY_OUTPUT_FLUSH() unity_flush() -#define UNITY_EXEC_TIME_START() unity_exec_time_start() -#define UNITY_EXEC_TIME_STOP() unity_exec_time_stop() -#define UNITY_EXEC_TIME_MS() unity_exec_time_get_ms() - -#ifdef CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER - -#include "unity_test_runner.h" - -#endif //CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER - -// shorthand to check esp_err_t return code -#define TEST_ESP_OK(rc) TEST_ASSERT_EQUAL_HEX32(ESP_OK, rc) -#define TEST_ESP_ERR(err, rc) TEST_ASSERT_EQUAL_HEX32(err, rc) - -#endif //UNITY_CONFIG_H diff --git a/tools/sdk/include/unity/unity_internals.h b/tools/sdk/include/unity/unity_internals.h deleted file mode 100644 index 7249fc79..00000000 --- a/tools/sdk/include/unity/unity_internals.h +++ /dev/null @@ -1,928 +0,0 @@ -/* ========================================== - Unity Project - A Test Framework for C - Copyright (c) 2007-14 Mike Karlesky, Mark VanderVoord, Greg Williams - [Released under MIT License. Please refer to license.txt for details] -========================================== */ - -#ifndef UNITY_INTERNALS_H -#define UNITY_INTERNALS_H - -#ifdef UNITY_INCLUDE_CONFIG_H -#include "unity_config.h" -#endif - -#ifndef UNITY_EXCLUDE_SETJMP_H -#include -#endif - -#ifndef UNITY_EXCLUDE_MATH_H -#include -#endif - -#ifndef UNITY_EXCLUDE_STDDEF_H -#include -#endif - -/* Unity Attempts to Auto-Detect Integer Types - * Attempt 1: UINT_MAX, ULONG_MAX in , or default to 32 bits - * Attempt 2: UINTPTR_MAX in , or default to same size as long - * The user may override any of these derived constants: - * UNITY_INT_WIDTH, UNITY_LONG_WIDTH, UNITY_POINTER_WIDTH */ -#ifndef UNITY_EXCLUDE_STDINT_H -#include -#endif - -#ifndef UNITY_EXCLUDE_LIMITS_H -#include -#endif - -#ifndef UNITY_EXCLUDE_TIME_H -#include -#endif - -/*------------------------------------------------------- - * Guess Widths If Not Specified - *-------------------------------------------------------*/ - -/* Determine the size of an int, if not already specified. - * We cannot use sizeof(int), because it is not yet defined - * at this stage in the translation of the C program. - * Therefore, infer it from UINT_MAX if possible. */ -#ifndef UNITY_INT_WIDTH - #ifdef UINT_MAX - #if (UINT_MAX == 0xFFFF) - #define UNITY_INT_WIDTH (16) - #elif (UINT_MAX == 0xFFFFFFFF) - #define UNITY_INT_WIDTH (32) - #elif (UINT_MAX == 0xFFFFFFFFFFFFFFFF) - #define UNITY_INT_WIDTH (64) - #endif - #else /* Set to default */ - #define UNITY_INT_WIDTH (32) - #endif /* UINT_MAX */ -#endif - -/* Determine the size of a long, if not already specified. */ -#ifndef UNITY_LONG_WIDTH - #ifdef ULONG_MAX - #if (ULONG_MAX == 0xFFFF) - #define UNITY_LONG_WIDTH (16) - #elif (ULONG_MAX == 0xFFFFFFFF) - #define UNITY_LONG_WIDTH (32) - #elif (ULONG_MAX == 0xFFFFFFFFFFFFFFFF) - #define UNITY_LONG_WIDTH (64) - #endif - #else /* Set to default */ - #define UNITY_LONG_WIDTH (32) - #endif /* ULONG_MAX */ -#endif - -/* Determine the size of a pointer, if not already specified. */ -#ifndef UNITY_POINTER_WIDTH - #ifdef UINTPTR_MAX - #if (UINTPTR_MAX <= 0xFFFF) - #define UNITY_POINTER_WIDTH (16) - #elif (UINTPTR_MAX <= 0xFFFFFFFF) - #define UNITY_POINTER_WIDTH (32) - #elif (UINTPTR_MAX <= 0xFFFFFFFFFFFFFFFF) - #define UNITY_POINTER_WIDTH (64) - #endif - #else /* Set to default */ - #define UNITY_POINTER_WIDTH UNITY_LONG_WIDTH - #endif /* UINTPTR_MAX */ -#endif - -/*------------------------------------------------------- - * Int Support (Define types based on detected sizes) - *-------------------------------------------------------*/ - -#if (UNITY_INT_WIDTH == 32) - typedef unsigned char UNITY_UINT8; - typedef unsigned short UNITY_UINT16; - typedef unsigned int UNITY_UINT32; - typedef signed char UNITY_INT8; - typedef signed short UNITY_INT16; - typedef signed int UNITY_INT32; -#elif (UNITY_INT_WIDTH == 16) - typedef unsigned char UNITY_UINT8; - typedef unsigned int UNITY_UINT16; - typedef unsigned long UNITY_UINT32; - typedef signed char UNITY_INT8; - typedef signed int UNITY_INT16; - typedef signed long UNITY_INT32; -#else - #error Invalid UNITY_INT_WIDTH specified! (16 or 32 are supported) -#endif - -/*------------------------------------------------------- - * 64-bit Support - *-------------------------------------------------------*/ - -#ifndef UNITY_SUPPORT_64 - #if UNITY_LONG_WIDTH == 64 || UNITY_POINTER_WIDTH == 64 - #define UNITY_SUPPORT_64 - #endif -#endif - -#ifndef UNITY_SUPPORT_64 - /* No 64-bit Support */ - typedef UNITY_UINT32 UNITY_UINT; - typedef UNITY_INT32 UNITY_INT; -#else - - /* 64-bit Support */ - #if (UNITY_LONG_WIDTH == 32) - typedef unsigned long long UNITY_UINT64; - typedef signed long long UNITY_INT64; - #elif (UNITY_LONG_WIDTH == 64) - typedef unsigned long UNITY_UINT64; - typedef signed long UNITY_INT64; - #else - #error Invalid UNITY_LONG_WIDTH specified! (32 or 64 are supported) - #endif - typedef UNITY_UINT64 UNITY_UINT; - typedef UNITY_INT64 UNITY_INT; - -#endif - -/*------------------------------------------------------- - * Pointer Support - *-------------------------------------------------------*/ - -#if (UNITY_POINTER_WIDTH == 32) -#define UNITY_PTR_TO_INT UNITY_INT32 -#define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX32 -#elif (UNITY_POINTER_WIDTH == 64) -#define UNITY_PTR_TO_INT UNITY_INT64 -#define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX64 -#elif (UNITY_POINTER_WIDTH == 16) -#define UNITY_PTR_TO_INT UNITY_INT16 -#define UNITY_DISPLAY_STYLE_POINTER UNITY_DISPLAY_STYLE_HEX16 -#else - #error Invalid UNITY_POINTER_WIDTH specified! (16, 32 or 64 are supported) -#endif - -#ifndef UNITY_PTR_ATTRIBUTE -#define UNITY_PTR_ATTRIBUTE -#endif - -#ifndef UNITY_INTERNAL_PTR -#define UNITY_INTERNAL_PTR UNITY_PTR_ATTRIBUTE const void* -#endif - -/*------------------------------------------------------- - * Float Support - *-------------------------------------------------------*/ - -#ifdef UNITY_EXCLUDE_FLOAT - -/* No Floating Point Support */ -#ifndef UNITY_EXCLUDE_DOUBLE -#define UNITY_EXCLUDE_DOUBLE /* Remove double when excluding float support */ -#endif -#ifndef UNITY_EXCLUDE_FLOAT_PRINT -#define UNITY_EXCLUDE_FLOAT_PRINT -#endif - -#else - -/* Floating Point Support */ -#ifndef UNITY_FLOAT_PRECISION -#define UNITY_FLOAT_PRECISION (0.00001f) -#endif -#ifndef UNITY_FLOAT_TYPE -#define UNITY_FLOAT_TYPE float -#endif -typedef UNITY_FLOAT_TYPE UNITY_FLOAT; - -/* isinf & isnan macros should be provided by math.h */ -#ifndef isinf -/* The value of Inf - Inf is NaN */ -#define isinf(n) (isnan((n) - (n)) && !isnan(n)) -#endif - -#ifndef isnan -/* NaN is the only floating point value that does NOT equal itself. - * Therefore if n != n, then it is NaN. */ -#define isnan(n) ((n != n) ? 1 : 0) -#endif - -#endif - -/*------------------------------------------------------- - * Double Float Support - *-------------------------------------------------------*/ - -/* unlike float, we DON'T include by default */ -#if defined(UNITY_EXCLUDE_DOUBLE) || !defined(UNITY_INCLUDE_DOUBLE) - - /* No Floating Point Support */ - #ifndef UNITY_EXCLUDE_DOUBLE - #define UNITY_EXCLUDE_DOUBLE - #else - #undef UNITY_INCLUDE_DOUBLE - #endif - - #ifndef UNITY_EXCLUDE_FLOAT - #ifndef UNITY_DOUBLE_TYPE - #define UNITY_DOUBLE_TYPE double - #endif - typedef UNITY_FLOAT UNITY_DOUBLE; - /* For parameter in UnityPrintFloat(UNITY_DOUBLE), which aliases to double or float */ - #endif - -#else - - /* Double Floating Point Support */ - #ifndef UNITY_DOUBLE_PRECISION - #define UNITY_DOUBLE_PRECISION (1e-12) - #endif - - #ifndef UNITY_DOUBLE_TYPE - #define UNITY_DOUBLE_TYPE double - #endif - typedef UNITY_DOUBLE_TYPE UNITY_DOUBLE; - -#endif - -/*------------------------------------------------------- - * Output Method: stdout (DEFAULT) - *-------------------------------------------------------*/ -#ifndef UNITY_OUTPUT_CHAR - /* Default to using putchar, which is defined in stdio.h */ - #include - #define UNITY_OUTPUT_CHAR(a) (void)putchar(a) -#else - /* If defined as something else, make sure we declare it here so it's ready for use */ - #ifdef UNITY_OUTPUT_CHAR_HEADER_DECLARATION - extern void UNITY_OUTPUT_CHAR_HEADER_DECLARATION; - #endif -#endif - -#ifndef UNITY_OUTPUT_FLUSH - #ifdef UNITY_USE_FLUSH_STDOUT - /* We want to use the stdout flush utility */ - #include - #define UNITY_OUTPUT_FLUSH() (void)fflush(stdout) - #else - /* We've specified nothing, therefore flush should just be ignored */ - #define UNITY_OUTPUT_FLUSH() - #endif -#else - /* If defined as something else, make sure we declare it here so it's ready for use */ - #ifdef UNITY_OUTPUT_FLUSH_HEADER_DECLARATION - extern void UNITY_OUTPUT_FLUSH_HEADER_DECLARATION; - #endif -#endif - -#ifndef UNITY_OUTPUT_FLUSH -#define UNITY_FLUSH_CALL() -#else -#define UNITY_FLUSH_CALL() UNITY_OUTPUT_FLUSH() -#endif - -#ifndef UNITY_PRINT_EOL -#define UNITY_PRINT_EOL() UNITY_OUTPUT_CHAR('\n') -#endif - -#ifndef UNITY_OUTPUT_START -#define UNITY_OUTPUT_START() -#endif - -#ifndef UNITY_OUTPUT_COMPLETE -#define UNITY_OUTPUT_COMPLETE() -#endif - -#ifndef UNITY_EXEC_TIME_RESET -#ifdef UNITY_INCLUDE_EXEC_TIME -#define UNITY_EXEC_TIME_RESET()\ - Unity.CurrentTestStartTime = 0;\ - Unity.CurrentTestStopTime = 0; -#else -#define UNITY_EXEC_TIME_RESET() -#endif -#endif - -#ifndef UNITY_EXEC_TIME_START -#ifdef UNITY_INCLUDE_EXEC_TIME -#define UNITY_EXEC_TIME_START() Unity.CurrentTestStartTime = UNITY_CLOCK_MS(); -#else -#define UNITY_EXEC_TIME_START() -#endif -#endif - -#ifndef UNITY_EXEC_TIME_STOP -#ifdef UNITY_INCLUDE_EXEC_TIME -#define UNITY_EXEC_TIME_STOP() Unity.CurrentTestStopTime = UNITY_CLOCK_MS(); -#else -#define UNITY_EXEC_TIME_STOP() -#endif -#endif - -#ifndef UNITY_PRINT_EXEC_TIME -#ifdef UNITY_INCLUDE_EXEC_TIME -#define UNITY_PRINT_EXEC_TIME() \ - UnityPrint(" (");\ - UNITY_COUNTER_TYPE execTimeMs = (Unity.CurrentTestStopTime - Unity.CurrentTestStartTime);\ - UnityPrintNumberUnsigned(execTimeMs);\ - UnityPrint(" ms)"); -#else -#define UNITY_PRINT_EXEC_TIME() -#endif -#endif - -/*------------------------------------------------------- - * Footprint - *-------------------------------------------------------*/ - -#ifndef UNITY_LINE_TYPE -#define UNITY_LINE_TYPE UNITY_UINT -#endif - -#ifndef UNITY_COUNTER_TYPE -#define UNITY_COUNTER_TYPE UNITY_UINT -#endif - -/*------------------------------------------------------- - * Language Features Available - *-------------------------------------------------------*/ -#if !defined(UNITY_WEAK_ATTRIBUTE) && !defined(UNITY_WEAK_PRAGMA) -# if defined(__GNUC__) || defined(__ghs__) /* __GNUC__ includes clang */ -# if !(defined(__WIN32__) && defined(__clang__)) && !defined(__TMS470__) -# define UNITY_WEAK_ATTRIBUTE __attribute__((weak)) -# endif -# endif -#endif - -#ifdef UNITY_NO_WEAK -# undef UNITY_WEAK_ATTRIBUTE -# undef UNITY_WEAK_PRAGMA -#endif - - -/*------------------------------------------------------- - * Internal Structs Needed - *-------------------------------------------------------*/ - -typedef void (*UnityTestFunction)(void); - -#define UNITY_DISPLAY_RANGE_INT (0x10) -#define UNITY_DISPLAY_RANGE_UINT (0x20) -#define UNITY_DISPLAY_RANGE_HEX (0x40) - -typedef enum -{ -UNITY_DISPLAY_STYLE_INT = sizeof(int)+ UNITY_DISPLAY_RANGE_INT, - UNITY_DISPLAY_STYLE_INT8 = 1 + UNITY_DISPLAY_RANGE_INT, - UNITY_DISPLAY_STYLE_INT16 = 2 + UNITY_DISPLAY_RANGE_INT, - UNITY_DISPLAY_STYLE_INT32 = 4 + UNITY_DISPLAY_RANGE_INT, -#ifdef UNITY_SUPPORT_64 - UNITY_DISPLAY_STYLE_INT64 = 8 + UNITY_DISPLAY_RANGE_INT, -#endif - -UNITY_DISPLAY_STYLE_UINT = sizeof(unsigned) + UNITY_DISPLAY_RANGE_UINT, - UNITY_DISPLAY_STYLE_UINT8 = 1 + UNITY_DISPLAY_RANGE_UINT, - UNITY_DISPLAY_STYLE_UINT16 = 2 + UNITY_DISPLAY_RANGE_UINT, - UNITY_DISPLAY_STYLE_UINT32 = 4 + UNITY_DISPLAY_RANGE_UINT, -#ifdef UNITY_SUPPORT_64 - UNITY_DISPLAY_STYLE_UINT64 = 8 + UNITY_DISPLAY_RANGE_UINT, -#endif - - UNITY_DISPLAY_STYLE_HEX8 = 1 + UNITY_DISPLAY_RANGE_HEX, - UNITY_DISPLAY_STYLE_HEX16 = 2 + UNITY_DISPLAY_RANGE_HEX, - UNITY_DISPLAY_STYLE_HEX32 = 4 + UNITY_DISPLAY_RANGE_HEX, -#ifdef UNITY_SUPPORT_64 - UNITY_DISPLAY_STYLE_HEX64 = 8 + UNITY_DISPLAY_RANGE_HEX, -#endif - - UNITY_DISPLAY_STYLE_UNKNOWN -} UNITY_DISPLAY_STYLE_T; - -typedef enum -{ - UNITY_EQUAL_TO = 1, - UNITY_GREATER_THAN = 2, - UNITY_GREATER_OR_EQUAL = 2 + UNITY_EQUAL_TO, - UNITY_SMALLER_THAN = 4, - UNITY_SMALLER_OR_EQUAL = 4 + UNITY_EQUAL_TO -} UNITY_COMPARISON_T; - -#ifndef UNITY_EXCLUDE_FLOAT -typedef enum UNITY_FLOAT_TRAIT -{ - UNITY_FLOAT_IS_NOT_INF = 0, - UNITY_FLOAT_IS_INF, - UNITY_FLOAT_IS_NOT_NEG_INF, - UNITY_FLOAT_IS_NEG_INF, - UNITY_FLOAT_IS_NOT_NAN, - UNITY_FLOAT_IS_NAN, - UNITY_FLOAT_IS_NOT_DET, - UNITY_FLOAT_IS_DET, - UNITY_FLOAT_INVALID_TRAIT -} UNITY_FLOAT_TRAIT_T; -#endif - -typedef enum -{ - UNITY_ARRAY_TO_VAL = 0, - UNITY_ARRAY_TO_ARRAY -} UNITY_FLAGS_T; - -struct UNITY_STORAGE_T -{ - const char* TestFile; - const char* CurrentTestName; -#ifndef UNITY_EXCLUDE_DETAILS - const char* CurrentDetail1; - const char* CurrentDetail2; -#endif - UNITY_LINE_TYPE CurrentTestLineNumber; - UNITY_COUNTER_TYPE NumberOfTests; - UNITY_COUNTER_TYPE TestFailures; - UNITY_COUNTER_TYPE TestIgnores; - UNITY_COUNTER_TYPE CurrentTestFailed; - UNITY_COUNTER_TYPE CurrentTestIgnored; -#ifdef UNITY_INCLUDE_EXEC_TIME - UNITY_COUNTER_TYPE CurrentTestStartTime; - UNITY_COUNTER_TYPE CurrentTestStopTime; -#endif -#ifndef UNITY_EXCLUDE_SETJMP_H - jmp_buf AbortFrame; -#endif -}; - -extern struct UNITY_STORAGE_T Unity; - -/*------------------------------------------------------- - * Test Suite Management - *-------------------------------------------------------*/ - -void UnityBegin(const char* filename); -int UnityEnd(void); -void UnityConcludeTest(void); -void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, const int FuncLineNum); - -/*------------------------------------------------------- - * Details Support - *-------------------------------------------------------*/ - -#ifdef UNITY_EXCLUDE_DETAILS -#define UNITY_CLR_DETAILS() -#define UNITY_SET_DETAIL(d1) -#define UNITY_SET_DETAILS(d1,d2) -#else -#define UNITY_CLR_DETAILS() { Unity.CurrentDetail1 = 0; Unity.CurrentDetail2 = 0; } -#define UNITY_SET_DETAIL(d1) { Unity.CurrentDetail1 = (d1); Unity.CurrentDetail2 = 0; } -#define UNITY_SET_DETAILS(d1,d2) { Unity.CurrentDetail1 = (d1); Unity.CurrentDetail2 = (d2); } - -#ifndef UNITY_DETAIL1_NAME -#define UNITY_DETAIL1_NAME "Function" -#endif - -#ifndef UNITY_DETAIL2_NAME -#define UNITY_DETAIL2_NAME "Argument" -#endif -#endif - -/*------------------------------------------------------- - * Test Output - *-------------------------------------------------------*/ - -void UnityPrint(const char* string); -void UnityPrintLen(const char* string, const UNITY_UINT32 length); -void UnityPrintMask(const UNITY_UINT mask, const UNITY_UINT number); -void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T style); -void UnityPrintNumber(const UNITY_INT number_to_print); -void UnityPrintNumberUnsigned(const UNITY_UINT number); -void UnityPrintNumberHex(const UNITY_UINT number, const char nibbles_to_print); - -#ifndef UNITY_EXCLUDE_FLOAT_PRINT -void UnityPrintFloat(const UNITY_DOUBLE input_number); -#endif - -/*------------------------------------------------------- - * Test Assertion Functions - *------------------------------------------------------- - * Use the macros below this section instead of calling - * these directly. The macros have a consistent naming - * convention and will pull in file and line information - * for you. */ - -void UnityAssertEqualNumber(const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); - -void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold, - const UNITY_INT actual, - const UNITY_COMPARISON_T compare, - const char *msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); - -void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style, - const UNITY_FLAGS_T flags); - -void UnityAssertBits(const UNITY_INT mask, - const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualString(const char* expected, - const char* actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualStringLen(const char* expected, - const char* actual, - const UNITY_UINT32 length, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualStringArray( UNITY_INTERNAL_PTR expected, - const char** actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); - -void UnityAssertEqualMemory( UNITY_INTERNAL_PTR expected, - UNITY_INTERNAL_PTR actual, - const UNITY_UINT32 length, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); - -void UnityAssertNumbersWithin(const UNITY_UINT delta, - const UNITY_INT expected, - const UNITY_INT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_DISPLAY_STYLE_T style); - -void UnityFail(const char* msg, const UNITY_LINE_TYPE line); - -void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line); - -#ifndef UNITY_EXCLUDE_FLOAT -void UnityAssertFloatsWithin(const UNITY_FLOAT delta, - const UNITY_FLOAT expected, - const UNITY_FLOAT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* expected, - UNITY_PTR_ATTRIBUTE const UNITY_FLOAT* actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); - -void UnityAssertFloatSpecial(const UNITY_FLOAT actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style); -#endif - -#ifndef UNITY_EXCLUDE_DOUBLE -void UnityAssertDoublesWithin(const UNITY_DOUBLE delta, - const UNITY_DOUBLE expected, - const UNITY_DOUBLE actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber); - -void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* expected, - UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE* actual, - const UNITY_UINT32 num_elements, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLAGS_T flags); - -void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual, - const char* msg, - const UNITY_LINE_TYPE lineNumber, - const UNITY_FLOAT_TRAIT_T style); -#endif - -/*------------------------------------------------------- - * Helpers - *-------------------------------------------------------*/ - -UNITY_INTERNAL_PTR UnityNumToPtr(const UNITY_INT num, const UNITY_UINT8 size); -#ifndef UNITY_EXCLUDE_FLOAT -UNITY_INTERNAL_PTR UnityFloatToPtr(const float num); -#endif -#ifndef UNITY_EXCLUDE_DOUBLE -UNITY_INTERNAL_PTR UnityDoubleToPtr(const double num); -#endif - -/*------------------------------------------------------- - * Error Strings We Might Need - *-------------------------------------------------------*/ - -extern const char UnityStrErrFloat[]; -extern const char UnityStrErrDouble[]; -extern const char UnityStrErr64[]; - -/*------------------------------------------------------- - * Test Running Macros - *-------------------------------------------------------*/ - -#ifndef UNITY_EXCLUDE_SETJMP_H -#define TEST_PROTECT() (setjmp(Unity.AbortFrame) == 0) -#define TEST_ABORT() longjmp(Unity.AbortFrame, 1) -#else -#define TEST_PROTECT() 1 -#define TEST_ABORT() return -#endif - -#ifndef UNITY_EXCLUDE_TIME_H -#define UNITY_CLOCK_MS() (UNITY_COUNTER_TYPE)((clock() * 1000) / CLOCKS_PER_SEC) -#else -#define UNITY_CLOCK_MS() -#endif - -/* This tricky series of macros gives us an optional line argument to treat it as RUN_TEST(func, num=__LINE__) */ -#ifndef RUN_TEST -#ifdef __STDC_VERSION__ -#if __STDC_VERSION__ >= 199901L -#define RUN_TEST(...) UnityDefaultTestRun(RUN_TEST_FIRST(__VA_ARGS__), RUN_TEST_SECOND(__VA_ARGS__)) -#define RUN_TEST_FIRST(...) RUN_TEST_FIRST_HELPER(__VA_ARGS__, throwaway) -#define RUN_TEST_FIRST_HELPER(first, ...) (first), #first -#define RUN_TEST_SECOND(...) RUN_TEST_SECOND_HELPER(__VA_ARGS__, __LINE__, throwaway) -#define RUN_TEST_SECOND_HELPER(first, second, ...) (second) -#endif -#endif -#endif - -/* If we can't do the tricky version, we'll just have to require them to always include the line number */ -#ifndef RUN_TEST -#ifdef CMOCK -#define RUN_TEST(func, num) UnityDefaultTestRun(func, #func, num) -#else -#define RUN_TEST(func) UnityDefaultTestRun(func, #func, __LINE__) -#endif -#endif - -#define TEST_LINE_NUM (Unity.CurrentTestLineNumber) -#define TEST_IS_IGNORED (Unity.CurrentTestIgnored) -#define UNITY_NEW_TEST(a) \ - Unity.CurrentTestName = (a); \ - Unity.CurrentTestLineNumber = (UNITY_LINE_TYPE)(__LINE__); \ - Unity.NumberOfTests++; - -#ifndef UNITY_BEGIN -#define UNITY_BEGIN() UnityBegin(__FILE__) -#endif - -#ifndef UNITY_END -#define UNITY_END() UnityEnd() -#endif - -/*----------------------------------------------- - * Command Line Argument Support - *-----------------------------------------------*/ - -#ifdef UNITY_USE_COMMAND_LINE_ARGS -int UnityParseOptions(int argc, char** argv); -int UnityTestMatches(void); -#endif - -/*------------------------------------------------------- - * Basic Fail and Ignore - *-------------------------------------------------------*/ - -#define UNITY_TEST_FAIL(line, message) UnityFail( (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_IGNORE(line, message) UnityIgnore( (message), (UNITY_LINE_TYPE)(line)) - -/*------------------------------------------------------- - * Test Asserts - *-------------------------------------------------------*/ - -#define UNITY_TEST_ASSERT(condition, line, message) if (condition) {} else {UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), (message));} -#define UNITY_TEST_ASSERT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) == NULL), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_NOT_NULL(pointer, line, message) UNITY_TEST_ASSERT(((pointer) != NULL), (UNITY_LINE_TYPE)(line), (message)) - -#define UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) -#define UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message) UnityAssertBits((UNITY_INT)(mask), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line)) - -#define UNITY_TEST_ASSERT_GREATER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) - -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) - -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) - -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT8 )(threshold), (UNITY_INT)(UNITY_INT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT16)(threshold), (UNITY_INT)(UNITY_INT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_INT32)(threshold), (UNITY_INT)(UNITY_INT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT8 )(threshold), (UNITY_INT)(UNITY_UINT8 )(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT16)(threshold), (UNITY_INT)(UNITY_UINT16)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(UNITY_UINT32)(threshold), (UNITY_INT)(UNITY_UINT32)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) - -#define UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT) -#define UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_INT8 )(expected), (UNITY_INT)(UNITY_INT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8) -#define UNITY_TEST_ASSERT_INT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_INT16)(expected), (UNITY_INT)(UNITY_INT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16) -#define UNITY_TEST_ASSERT_INT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_INT32)(expected), (UNITY_INT)(UNITY_INT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32) -#define UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT) -#define UNITY_TEST_ASSERT_UINT8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8) -#define UNITY_TEST_ASSERT_UINT16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16) -#define UNITY_TEST_ASSERT_UINT32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32) -#define UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT8 )(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT8 )(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8) -#define UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT16)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT16)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16) -#define UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((UNITY_UINT32)(delta), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(expected), (UNITY_INT)(UNITY_UINT)(UNITY_UINT32)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32) - -#define UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message) UnityAssertEqualNumber((UNITY_PTR_TO_INT)(expected), (UNITY_PTR_TO_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER) -#define UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message) UnityAssertEqualString((const char*)(expected), (const char*)(actual), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message) UnityAssertEqualStringLen((const char*)(expected), (const char*)(actual), (UNITY_UINT32)(len), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), 1, (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) - -#define UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) - -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), sizeof(int)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT8, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT16, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT32, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT) (expected), sizeof(unsigned int)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT8, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT16)(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT16, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT32)(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT32, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT8 )(expected), 1), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX8, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT16 )(expected), 2), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX16, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT32 )(expected), 4), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX32, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_PTR_TO_INT) (expected), sizeof(int*)), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_POINTER, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements, line, message) UnityAssertEqualStringArray((UNITY_INTERNAL_PTR)(expected), (const char**)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements, line, message) UnityAssertEqualMemory((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(len), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) - -#ifdef UNITY_SUPPORT_64 -#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UnityAssertEqualNumber((UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualIntArray((UNITY_INTERNAL_PTR)(expected), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)expected, 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_UINT64)expected, 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements, line, message) UnityAssertEqualIntArray(UnityNumToPtr((UNITY_INT)(UNITY_INT64)expected, 8), (UNITY_INTERNAL_PTR)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UnityAssertNumbersWithin((delta), (UNITY_INT)(expected), (UNITY_INT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_GREATER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_THAN, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_INT64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_UINT64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UnityAssertGreaterOrLessOrEqualNumber((UNITY_INT)(threshold), (UNITY_INT)(actual), UNITY_SMALLER_OR_EQUAL, (message), (UNITY_LINE_TYPE)(line), UNITY_DISPLAY_STYLE_HEX64) -#else -#define UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#define UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErr64) -#endif - -#ifdef UNITY_EXCLUDE_FLOAT -#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrFloat) -#else -#define UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message) UnityAssertFloatsWithin((UNITY_FLOAT)(delta), (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line)) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message) UNITY_TEST_ASSERT_FLOAT_WITHIN((UNITY_FLOAT)(expected) * (UNITY_FLOAT)UNITY_FLOAT_PRECISION, (UNITY_FLOAT)(expected), (UNITY_FLOAT)(actual), (UNITY_LINE_TYPE)(line), (message)) -#define UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray((UNITY_FLOAT*)(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements, line, message) UnityAssertEqualFloatArray(UnityFloatToPtr(expected), (UNITY_FLOAT*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)(line), UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) -#define UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN) -#define UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message) UnityAssertFloatSpecial((UNITY_FLOAT)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET) -#endif - -#ifdef UNITY_EXCLUDE_DOUBLE -#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UNITY_TEST_FAIL((UNITY_LINE_TYPE)(line), UnityStrErrDouble) -#else -#define UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message) UnityAssertDoublesWithin((UNITY_DOUBLE)(delta), (UNITY_DOUBLE)(expected), (UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)line) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message) UNITY_TEST_ASSERT_DOUBLE_WITHIN((UNITY_DOUBLE)(expected) * (UNITY_DOUBLE)UNITY_DOUBLE_PRECISION, (UNITY_DOUBLE)expected, (UNITY_DOUBLE)actual, (UNITY_LINE_TYPE)(line), message) -#define UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray((UNITY_DOUBLE*)(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_ARRAY_TO_ARRAY) -#define UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements, line, message) UnityAssertEqualDoubleArray(UnityDoubleToPtr(expected), (UNITY_DOUBLE*)(actual), (UNITY_UINT32)(num_elements), (message), (UNITY_LINE_TYPE)line, UNITY_ARRAY_TO_VAL) -#define UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NEG_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NAN) -#define UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_DET) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NEG_INF) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_NAN) -#define UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message) UnityAssertDoubleSpecial((UNITY_DOUBLE)(actual), (message), (UNITY_LINE_TYPE)(line), UNITY_FLOAT_IS_NOT_DET) -#endif - -/* End of UNITY_INTERNALS_H */ -#endif diff --git a/tools/sdk/include/unity/unity_test_runner.h b/tools/sdk/include/unity/unity_test_runner.h deleted file mode 100644 index 8f41eb83..00000000 --- a/tools/sdk/include/unity/unity_test_runner.h +++ /dev/null @@ -1,174 +0,0 @@ -// Copyright 2016-2018 Espressif Systems (Shanghai) PTE LTD -// -// 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. -#pragma once - -#include -#include - -// This file gets included from unity.h via unity_internals.h via unity_config.h -// It is inside #ifdef __cplusplus / extern "C" block, so we can -// only use C features here - -// Define helpers to register test cases from multiple files -#define UNITY_EXPAND2(a, b) a ## b -#define UNITY_EXPAND(a, b) UNITY_EXPAND2(a, b) -#define UNITY_TEST_UID(what) UNITY_EXPAND(what, __LINE__) - -#define UNITY_TEST_REG_HELPER reg_helper ## UNITY_TEST_UID -#define UNITY_TEST_DESC_UID desc ## UNITY_TEST_UID - - -// get count of __VA_ARGS__ -#define PP_NARG(...) \ - PP_NARG_(__VA_ARGS__,PP_RSEQ_N()) -#define PP_NARG_(...) \ - PP_ARG_N(__VA_ARGS__) -#define PP_ARG_N( \ - _1, _2, _3, _4, _5, _6, _7, _8, _9, N, ...) N -#define PP_RSEQ_N() 9,8,7,6,5,4,3,2,1,0 - -// support max 5 test func now -#define FN_NAME_SET_1(a) {#a} -#define FN_NAME_SET_2(a, b) {#a, #b} -#define FN_NAME_SET_3(a, b, c) {#a, #b, #c} -#define FN_NAME_SET_4(a, b, c, d) {#a, #b, #c, #d} -#define FN_NAME_SET_5(a, b, c, d, e) {#a, #b, #c, #d, #e} - -#define FN_NAME_SET2(n) FN_NAME_SET_##n -#define FN_NAME_SET(n, ...) FN_NAME_SET2(n)(__VA_ARGS__) - -#define UNITY_TEST_FN_SET(...) \ - static test_func UNITY_TEST_UID(test_functions)[] = {__VA_ARGS__}; \ - static const char* UNITY_TEST_UID(test_fn_name)[] = FN_NAME_SET(PP_NARG(__VA_ARGS__), __VA_ARGS__) - - -typedef void (* test_func)(void); - -typedef struct test_desc_t -{ - const char* name; - const char* desc; - test_func* fn; - const char* file; - int line; - uint8_t test_fn_count; - const char ** test_fn_name; - struct test_desc_t* next; -} test_desc_t; - -void unity_testcase_register(test_desc_t* desc); - - -/* Test case macro, a-la CATCH framework. - First argument is a free-form description, - second argument is (by convention) a list of identifiers, each one in square brackets. - Identifiers are used to group related tests, or tests with specific properties. - Use like: - - TEST_CASE("Frobnicator forbnicates", "[frobnicator][rom]") - { - // test goes here - } -*/ - -#define TEST_CASE(name_, desc_) \ - static void UNITY_TEST_UID(test_func_) (void); \ - static void __attribute__((constructor)) UNITY_TEST_UID(test_reg_helper_) () \ - { \ - static test_func test_fn_[] = {&UNITY_TEST_UID(test_func_)}; \ - static test_desc_t UNITY_TEST_UID(test_desc_) = { \ - .name = name_, \ - .desc = desc_, \ - .fn = test_fn_, \ - .file = __FILE__, \ - .line = __LINE__, \ - .test_fn_count = 1, \ - .test_fn_name = NULL, \ - .next = NULL \ - }; \ - unity_testcase_register( & UNITY_TEST_UID(test_desc_) ); \ - }\ - static void UNITY_TEST_UID(test_func_) (void) - - -/* - * Multiple stages test cases will handle the case that test steps are separated by DUT reset. - * e.g: we want to verify some function after SW reset, WDT reset or deep sleep reset. - * - * First argument is a free-form description, - * second argument is (by convention) a list of identifiers, each one in square brackets. - * subsequent arguments are names test functions separated by reset. - * e.g: - * TEST_CASE_MULTIPLE_STAGES("run light sleep after deep sleep","[sleep]", goto_deepsleep, light_sleep_after_deep_sleep_wakeup); - * */ - -#define TEST_CASE_MULTIPLE_STAGES(name_, desc_, ...) \ - UNITY_TEST_FN_SET(__VA_ARGS__); \ - static void __attribute__((constructor)) UNITY_TEST_UID(test_reg_helper_) () \ - { \ - static test_desc_t UNITY_TEST_UID(test_desc_) = { \ - .name = name_, \ - .desc = desc_"[multi_stage]", \ - .fn = UNITY_TEST_UID(test_functions), \ - .file = __FILE__, \ - .line = __LINE__, \ - .test_fn_count = PP_NARG(__VA_ARGS__), \ - .test_fn_name = UNITY_TEST_UID(test_fn_name), \ - .next = NULL \ - }; \ - unity_testcase_register( & UNITY_TEST_UID(test_desc_) ); \ - } - -/* - * First argument is a free-form description, - * second argument is (by convention) a list of identifiers, each one in square brackets. - * subsequent arguments are names of test functions for different DUTs - * e.g: - * TEST_CASE_MULTIPLE_DEVICES("master and slave spi","[spi][test_env=UT_T2_1]", master_test, slave_test); - * */ - -#define TEST_CASE_MULTIPLE_DEVICES(name_, desc_, ...) \ - UNITY_TEST_FN_SET(__VA_ARGS__); \ - static void __attribute__((constructor)) UNITY_TEST_UID(test_reg_helper_) () \ - { \ - static test_desc_t UNITY_TEST_UID(test_desc_) = { \ - .name = name_, \ - .desc = desc_"[multi_device]", \ - .fn = UNITY_TEST_UID(test_functions), \ - .file = __FILE__, \ - .line = __LINE__, \ - .test_fn_count = PP_NARG(__VA_ARGS__), \ - .test_fn_name = UNITY_TEST_UID(test_fn_name), \ - .next = NULL \ - }; \ - unity_testcase_register( & UNITY_TEST_UID(test_desc_) ); \ - } - -/** - * Note: initialization of test_desc_t fields above has to be done exactly - * in the same order as the fields are declared in the structure. - * Otherwise the initializer will not be valid in C++ (which doesn't - * support designated initializers). G++ can parse the syntax, but - * field names are treated as annotations and don't affect initialization - * order. Also make sure all the fields are initialized. - */ - -void unity_run_test_by_name(const char *name); - -void unity_run_tests_by_tag(const char *tag, bool invert); - -void unity_run_all_tests(); - -void unity_run_menu(); - diff --git a/tools/sdk/include/vfs/esp_vfs.h b/tools/sdk/include/vfs/esp_vfs.h index e383c436..d7467d22 100644 --- a/tools/sdk/include/vfs/esp_vfs.h +++ b/tools/sdk/include/vfs/esp_vfs.h @@ -1,4 +1,4 @@ -// Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -19,7 +19,6 @@ #include #include #include -#include #include "freertos/FreeRTOS.h" #include "freertos/semphr.h" #include "esp_err.h" @@ -28,7 +27,6 @@ #include #include #include -#include #include #include #include "sdkconfig.h" @@ -182,10 +180,6 @@ typedef struct int (*truncate_p)(void* ctx, const char *path, off_t length); int (*truncate)(const char *path, off_t length); }; - union { - int (*utime_p)(void* ctx, const char *path, const struct utimbuf *times); - int (*utime)(const char *path, const struct utimbuf *times); - }; #ifdef CONFIG_SUPPORT_TERMIOS union { int (*tcsetattr_p)(void *ctx, int fd, int optional_actions, const struct termios *p); @@ -336,7 +330,6 @@ int esp_vfs_stat(struct _reent *r, const char * path, struct stat * st); int esp_vfs_link(struct _reent *r, const char* n1, const char* n2); int esp_vfs_unlink(struct _reent *r, const char *path); int esp_vfs_rename(struct _reent *r, const char *src, const char *dst); -int esp_vfs_utime(const char *path, const struct utimbuf *times); /**@}*/ /** @@ -386,22 +379,6 @@ void esp_vfs_select_triggered(SemaphoreHandle_t *signal_sem); */ void esp_vfs_select_triggered_isr(SemaphoreHandle_t *signal_sem, BaseType_t *woken); -/** - * @brief Implements the VFS layer for synchronous I/O multiplexing by poll() - * - * The implementation is based on esp_vfs_select. The parameters and return values are compatible with POSIX poll(). - * - * @param fds Pointer to the array containing file descriptors and events poll() should consider. - * @param nfds Number of items in the array fds. - * @param timeout Poll() should wait at least timeout milliseconds. If the value is 0 then it should return - * immediately. If the value is -1 then it should wait (block) until the event occurs. - * - * @return A positive return value indicates the number of file descriptors that have been selected. The 0 - * return value indicates a timed-out poll. -1 is return on failure and errno is set accordingly. - * - */ -int esp_vfs_poll(struct pollfd *fds, nfds_t nfds, int timeout); - #ifdef __cplusplus } // extern "C" #endif diff --git a/tools/sdk/ld/esp32.common.ld b/tools/sdk/ld/esp32.common.ld index 51a19f63..179b1abd 100644 --- a/tools/sdk/ld/esp32.common.ld +++ b/tools/sdk/ld/esp32.common.ld @@ -1,7 +1,3 @@ -/* Automatically generated file; DO NOT EDIT */ -/* Espressif IoT Development Framework Linker Script */ -/* Generated from: /Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/esp32/ld/esp32.common.ld.in */ - /* Default entry point: */ ENTRY(call_start_cpu0); @@ -13,9 +9,7 @@ SECTIONS .rtc.text : { . = ALIGN(4); - - *( .rtc.literal .rtc.text .rtc.text.*) - + *(.rtc.literal .rtc.text) *rtc_wake_stub*.*(.literal .text .literal.* .text.*) _rtc_text_end = ABSOLUTE(.); } > rtc_iram_seg @@ -55,9 +49,8 @@ SECTIONS .rtc.data : { _rtc_data_start = ABSOLUTE(.); - - *( .rtc.data .rtc.data.* .rtc.rodata .rtc.rodata.*) - + *(.rtc.data) + *(.rtc.rodata) *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*) _rtc_data_end = ABSOLUTE(.); } > rtc_data_location @@ -68,9 +61,7 @@ SECTIONS _rtc_bss_start = ABSOLUTE(.); *rtc_wake_stub*.*(.bss .bss.*) *rtc_wake_stub*.*(COMMON) - - *( .rtc.bss) - + *(.rtc.bss) _rtc_bss_end = ABSOLUTE(.); } > rtc_data_location @@ -161,160 +152,24 @@ SECTIONS { /* Code marked as runnning out of IRAM */ _iram_text_start = ABSOLUTE(.); - - *( .iram1 .iram1.*) - *libspi_flash.a:spi_flash_rom_patch.*( .literal .literal.* .text .text.*) - *libesp_ringbuf.a:( .literal .literal.* .text .text.*) - *libhal.a:( .literal .literal.* .text .text.*) - *libapp_trace.a:( .literal .literal.* .text .text.*) - *libesp32.a:panic.*( .literal .literal.* .text .text.*) - *libespcoredump.a:core_dump_common.*( .literal .literal.* .text .text.*) - *libespcoredump.a:core_dump_flash.*( .literal .literal.* .text .text.*) - *libespcoredump.a:core_dump_uart.*( .literal .literal.* .text .text.*) - *librtc.a:( .literal .literal.* .text .text.*) - *libgcc.a:lib2funcs.*( .literal .literal.* .text .text.*) - *libsoc.a:cpu_util.*( .literal .literal.* .text .text.*) - *libsoc.a:rtc_clk.*( .literal .literal.* .text .text.*) - *libsoc.a:rtc_init.*( .literal .literal.* .text .text.*) - *libsoc.a:rtc_periph.*( .literal .literal.* .text .text.*) - *libsoc.a:rtc_clk_init.*( .literal .literal.* .text .text.*) - *libsoc.a:rtc_wdt.*( .literal .literal.* .text .text.*) - *libsoc.a:rtc_sleep.*( .literal .literal.* .text .text.*) - *libsoc.a:rtc_pm.*( .literal .literal.* .text .text.*) - *libsoc.a:rtc_time.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strcspn.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-tolower.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strptime.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-wctomb_r.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-memccpy.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-tzlock.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-isprint.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strspn.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-utoa.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-memrchr.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strcmp.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-sysopen.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-creat.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-makebuf.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strftime.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-fwalk.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strrchr.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strlwr.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strupr.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-gettzinfo.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-labs.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strndup.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-memcpy.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-sysread.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-isblank.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strncat.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-iscntrl.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-wbuf.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-systimes.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-ctime.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-ctime_r.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-gmtime.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strncpy.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strcasecmp.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-tzset_r.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strlcat.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-islower.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-asctime_r.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-close.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strnlen.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-syswrite.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strcasestr.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:isatty.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-lcltime.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-fclose.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strstr.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-environ.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-stdio.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-isupper.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-itoa.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-fvwrite.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-memmove.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-mktime.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-ctype_.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-sysclose.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strlcpy.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-longjmp.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-raise.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strndup_r.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strcpy.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-wcrtomb.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strncasecmp.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strchr.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strncmp.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strdup.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-tzvars.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-ungetc.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:creat.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-toupper.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-div.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-toascii.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-sbrk.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-rand_r.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-month_lengths.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strtoul.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-open.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strcat.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-envlock.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-isascii.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-time.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-read.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-memset.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-findfp.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-asctime.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-sf_nan.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strtok_r.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-ispunct.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-fputwc.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-tzset.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-srand.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-syssbrk.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-fflush.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-rand.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-wsetup.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-isalnum.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strsep.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-isspace.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-getenv_r.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-lcltime_r.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-rshift.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-atoi.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-memcmp.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strlen.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-gmtime_r.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-quorem.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-s_fpclassify.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strcoll.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-system.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-tzcalc_limits.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-isalpha.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lock.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strtol.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-timelocal.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-strdup_r.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-isdigit.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-refill.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-bzero.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-memchr.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-abs.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-ldiv.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-atol.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-impure.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-setjmp.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-sccl.*( .literal .literal.* .text .text.*) - *libc-psram-workaround.a:lib_a-isgraph.*( .literal .literal.* .text .text.*) - *libpp.a:( .wifi0iram .wifi0iram.*) - *libnet80211.a:( .wifi0iram .wifi0iram.*) - *libgcov.a:( .literal .literal.* .text .text.*) - *libfreertos.a:( .literal .literal.* .text .text.*) - *libxtensa-debug-module.a:eri.*( .literal .literal.* .text .text.*) - *libheap.a:multi_heap_poisoning.*( .literal .literal.* .text .text.*) - *libheap.a:multi_heap.*( .literal .literal.* .text .text.*) - + *(.iram1 .iram1.*) + *libesp_ringbuf.a:(.literal .text .literal.* .text.*) + *libfreertos.a:(.literal .text .literal.* .text.*) + *libheap.a:multi_heap.*(.literal .text .literal.* .text.*) + *libheap.a:multi_heap_poisoning.*(.literal .text .literal.* .text.*) + *libesp32.a:panic.*(.literal .text .literal.* .text.*) + *libesp32.a:core_dump.*(.literal .text .literal.* .text.*) + INCLUDE wifi_iram.ld + *libapp_trace.a:(.literal .text .literal.* .text.*) + *libxtensa-debug-module.a:eri.*(.literal .text .literal.* .text.*) + *librtc.a:(.literal .text .literal.* .text.*) + *libsoc.a:rtc_*.*(.literal .text .literal.* .text.*) + *libsoc.a:cpu_util.*(.literal .text .literal.* .text.*) + *libhal.a:(.literal .text .literal.* .text.*) + *libgcc.a:lib2funcs.*(.literal .text .literal.* .text.*) + *libspi_flash.a:spi_flash_rom_patch.*(.literal .text .literal.* .text.*) + *libgcov.a:(.literal .text .literal.* .text.*) + INCLUDE esp32.spiram.rom-functions-iram.ld _iram_text_end = ABSOLUTE(.); _iram_end = ABSOLUTE(.); } > iram0_0_seg @@ -333,6 +188,8 @@ SECTIONS *libbtdm_app.a:(.data .data.*) . = ALIGN (4); _btdm_data_end = ABSOLUTE(.); + *(.data) + *(.data.*) *(.gnu.linkonce.d.*) *(.data1) *(.sdata) @@ -342,141 +199,15 @@ SECTIONS *(.sdata2.*) *(.gnu.linkonce.s2.*) *(.jcr) - - *( .data .data.* .dram1 .dram1.*) - *libapp_trace.a:( .rodata .rodata.*) - *libesp32.a:panic.*( .rodata .rodata.*) - *libphy.a:( .rodata .rodata.*) - *libsoc.a:rtc_clk.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strcspn.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-tolower.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strptime.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-wctomb_r.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-memccpy.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-tzlock.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-isprint.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strspn.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-utoa.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-memrchr.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strcmp.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-sysopen.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-creat.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-makebuf.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strftime.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-fwalk.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strrchr.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strlwr.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strupr.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-gettzinfo.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-labs.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strndup.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-memcpy.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-sysread.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-isblank.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strncat.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-iscntrl.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-wbuf.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-systimes.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-ctime.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-ctime_r.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-gmtime.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strncpy.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strcasecmp.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-tzset_r.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strlcat.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-islower.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-asctime_r.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-close.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strnlen.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-syswrite.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strcasestr.*( .rodata .rodata.*) - *libc-psram-workaround.a:isatty.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-lcltime.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-fclose.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strstr.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-environ.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-stdio.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-isupper.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-itoa.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-fvwrite.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-memmove.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-mktime.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-ctype_.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-sysclose.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strlcpy.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-longjmp.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-raise.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strndup_r.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strcpy.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-wcrtomb.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strncasecmp.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strchr.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strncmp.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strdup.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-tzvars.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-ungetc.*( .rodata .rodata.*) - *libc-psram-workaround.a:creat.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-toupper.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-div.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-toascii.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-sbrk.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-rand_r.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-month_lengths.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strtoul.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-open.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strcat.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-envlock.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-isascii.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-time.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-read.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-memset.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-findfp.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-asctime.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-sf_nan.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strtok_r.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-ispunct.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-fputwc.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-tzset.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-srand.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-syssbrk.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-fflush.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-rand.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-wsetup.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-isalnum.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strsep.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-isspace.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-getenv_r.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-lcltime_r.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-rshift.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-atoi.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-memcmp.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strlen.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-gmtime_r.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-quorem.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-s_fpclassify.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strcoll.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-system.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-tzcalc_limits.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-isalpha.*( .rodata .rodata.*) - *libc-psram-workaround.a:lock.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strtol.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-timelocal.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-strdup_r.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-isdigit.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-refill.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-bzero.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-memchr.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-abs.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-ldiv.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-atol.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-impure.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-setjmp.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-sccl.*( .rodata .rodata.*) - *libc-psram-workaround.a:lib_a-isgraph.*( .rodata .rodata.*) - *libgcov.a:( .rodata .rodata.*) - *libheap.a:multi_heap_poisoning.*( .rodata .rodata.*) - *libheap.a:multi_heap.*( .rodata .rodata.*) - + *(.dram1 .dram1.*) + *libesp32.a:panic.*(.rodata .rodata.*) + *libphy.a:(.rodata .rodata.*) + *libsoc.a:rtc_clk.*(.rodata .rodata.*) + *libapp_trace.a:(.rodata .rodata.*) + *libgcov.a:(.rodata .rodata.*) + *libheap.a:multi_heap.*(.rodata .rodata.*) + *libheap.a:multi_heap_poisoning.*(.rodata .rodata.*) + INCLUDE esp32.spiram.rom-functions-dram.ld _data_end = ABSOLUTE(.); . = ALIGN(4); } > dram0_0_seg @@ -509,9 +240,6 @@ SECTIONS *libbtdm_app.a:(.bss .bss.* COMMON) . = ALIGN (4); _btdm_bss_end = ABSOLUTE(.); - - *( .bss .bss.* COMMON) - *(.dynsbss) *(.sbss) *(.sbss.*) @@ -521,9 +249,11 @@ SECTIONS *(.sbss2.*) *(.gnu.linkonce.sb2.*) *(.dynbss) + *(.bss) + *(.bss.*) *(.share.mem) *(.gnu.linkonce.b.*) - + *(COMMON) . = ALIGN (8); _bss_end = ABSOLUTE(.); /* The heap starts right after end of this section */ @@ -536,12 +266,8 @@ SECTIONS .flash.rodata : { _rodata_start = ABSOLUTE(.); - - *(.rodata_desc .rodata_desc.*) /* Should be the first. App version info. DO NOT PUT ANYTHING BEFORE IT! */ - *(.rodata_custom_desc .rodata_custom_desc.*) /* Should be the second. Custom app version info. DO NOT PUT ANYTHING BEFORE IT! */ - - *(EXCLUDE_FILE(*libapp_trace.a *libesp32.a:panic.* *libphy.a *libsoc.a:rtc_clk.* *libc-psram-workaround.a:lib_a-isgraph.* *libc-psram-workaround.a:lib_a-sccl.* *libc-psram-workaround.a:lib_a-setjmp.* *libc-psram-workaround.a:lib_a-impure.* *libc-psram-workaround.a:lib_a-atol.* *libc-psram-workaround.a:lib_a-ldiv.* *libc-psram-workaround.a:lib_a-abs.* *libc-psram-workaround.a:lib_a-memchr.* *libc-psram-workaround.a:lib_a-bzero.* *libc-psram-workaround.a:lib_a-refill.* *libc-psram-workaround.a:lib_a-isdigit.* *libc-psram-workaround.a:lib_a-strdup_r.* *libc-psram-workaround.a:lib_a-timelocal.* *libc-psram-workaround.a:lib_a-strtol.* *libc-psram-workaround.a:lock.* *libc-psram-workaround.a:lib_a-isalpha.* *libc-psram-workaround.a:lib_a-tzcalc_limits.* *libc-psram-workaround.a:lib_a-system.* *libc-psram-workaround.a:lib_a-strcoll.* *libc-psram-workaround.a:lib_a-s_fpclassify.* *libc-psram-workaround.a:lib_a-quorem.* *libc-psram-workaround.a:lib_a-gmtime_r.* *libc-psram-workaround.a:lib_a-strlen.* *libc-psram-workaround.a:lib_a-memcmp.* *libc-psram-workaround.a:lib_a-atoi.* *libc-psram-workaround.a:lib_a-rshift.* *libc-psram-workaround.a:lib_a-lcltime_r.* *libc-psram-workaround.a:lib_a-getenv_r.* *libc-psram-workaround.a:lib_a-isspace.* *libc-psram-workaround.a:lib_a-strsep.* *libc-psram-workaround.a:lib_a-isalnum.* *libc-psram-workaround.a:lib_a-wsetup.* *libc-psram-workaround.a:lib_a-rand.* *libc-psram-workaround.a:lib_a-fflush.* *libc-psram-workaround.a:lib_a-syssbrk.* *libc-psram-workaround.a:lib_a-srand.* *libc-psram-workaround.a:lib_a-tzset.* *libc-psram-workaround.a:lib_a-fputwc.* *libc-psram-workaround.a:lib_a-ispunct.* *libc-psram-workaround.a:lib_a-strtok_r.* *libc-psram-workaround.a:lib_a-sf_nan.* *libc-psram-workaround.a:lib_a-asctime.* *libc-psram-workaround.a:lib_a-findfp.* *libc-psram-workaround.a:lib_a-memset.* *libc-psram-workaround.a:lib_a-read.* *libc-psram-workaround.a:lib_a-time.* *libc-psram-workaround.a:lib_a-isascii.* *libc-psram-workaround.a:lib_a-envlock.* *libc-psram-workaround.a:lib_a-strcat.* *libc-psram-workaround.a:lib_a-open.* *libc-psram-workaround.a:lib_a-strtoul.* *libc-psram-workaround.a:lib_a-month_lengths.* *libc-psram-workaround.a:lib_a-rand_r.* *libc-psram-workaround.a:lib_a-sbrk.* *libc-psram-workaround.a:lib_a-toascii.* *libc-psram-workaround.a:lib_a-div.* *libc-psram-workaround.a:lib_a-toupper.* *libc-psram-workaround.a:creat.* *libc-psram-workaround.a:lib_a-ungetc.* *libc-psram-workaround.a:lib_a-tzvars.* *libc-psram-workaround.a:lib_a-strdup.* *libc-psram-workaround.a:lib_a-strncmp.* *libc-psram-workaround.a:lib_a-strchr.* *libc-psram-workaround.a:lib_a-strncasecmp.* *libc-psram-workaround.a:lib_a-wcrtomb.* *libc-psram-workaround.a:lib_a-strcpy.* *libc-psram-workaround.a:lib_a-strndup_r.* *libc-psram-workaround.a:lib_a-raise.* *libc-psram-workaround.a:lib_a-longjmp.* *libc-psram-workaround.a:lib_a-strlcpy.* *libc-psram-workaround.a:lib_a-sysclose.* *libc-psram-workaround.a:lib_a-ctype_.* *libc-psram-workaround.a:lib_a-mktime.* *libc-psram-workaround.a:lib_a-memmove.* *libc-psram-workaround.a:lib_a-fvwrite.* *libc-psram-workaround.a:lib_a-itoa.* *libc-psram-workaround.a:lib_a-isupper.* *libc-psram-workaround.a:lib_a-stdio.* *libc-psram-workaround.a:lib_a-environ.* *libc-psram-workaround.a:lib_a-strstr.* *libc-psram-workaround.a:lib_a-fclose.* *libc-psram-workaround.a:lib_a-lcltime.* *libc-psram-workaround.a:isatty.* *libc-psram-workaround.a:lib_a-strcasestr.* *libc-psram-workaround.a:lib_a-syswrite.* *libc-psram-workaround.a:lib_a-strnlen.* *libc-psram-workaround.a:lib_a-close.* *libc-psram-workaround.a:lib_a-asctime_r.* *libc-psram-workaround.a:lib_a-islower.* *libc-psram-workaround.a:lib_a-strlcat.* *libc-psram-workaround.a:lib_a-tzset_r.* *libc-psram-workaround.a:lib_a-strcasecmp.* *libc-psram-workaround.a:lib_a-strncpy.* *libc-psram-workaround.a:lib_a-gmtime.* *libc-psram-workaround.a:lib_a-ctime_r.* *libc-psram-workaround.a:lib_a-ctime.* *libc-psram-workaround.a:lib_a-systimes.* *libc-psram-workaround.a:lib_a-wbuf.* *libc-psram-workaround.a:lib_a-iscntrl.* *libc-psram-workaround.a:lib_a-strncat.* *libc-psram-workaround.a:lib_a-isblank.* *libc-psram-workaround.a:lib_a-sysread.* *libc-psram-workaround.a:lib_a-memcpy.* *libc-psram-workaround.a:lib_a-strndup.* *libc-psram-workaround.a:lib_a-labs.* *libc-psram-workaround.a:lib_a-gettzinfo.* *libc-psram-workaround.a:lib_a-strupr.* *libc-psram-workaround.a:lib_a-strlwr.* *libc-psram-workaround.a:lib_a-strrchr.* *libc-psram-workaround.a:lib_a-fwalk.* *libc-psram-workaround.a:lib_a-strftime.* *libc-psram-workaround.a:lib_a-makebuf.* *libc-psram-workaround.a:lib_a-creat.* *libc-psram-workaround.a:lib_a-sysopen.* *libc-psram-workaround.a:lib_a-strcmp.* *libc-psram-workaround.a:lib_a-memrchr.* *libc-psram-workaround.a:lib_a-utoa.* *libc-psram-workaround.a:lib_a-strspn.* *libc-psram-workaround.a:lib_a-isprint.* *libc-psram-workaround.a:lib_a-tzlock.* *libc-psram-workaround.a:lib_a-memccpy.* *libc-psram-workaround.a:lib_a-wctomb_r.* *libc-psram-workaround.a:lib_a-strptime.* *libc-psram-workaround.a:lib_a-tolower.* *libc-psram-workaround.a:lib_a-strcspn.* *libgcov.a *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.*) .rodata EXCLUDE_FILE(*libapp_trace.a *libesp32.a:panic.* *libphy.a *libsoc.a:rtc_clk.* *libc-psram-workaround.a:lib_a-isgraph.* *libc-psram-workaround.a:lib_a-sccl.* *libc-psram-workaround.a:lib_a-setjmp.* *libc-psram-workaround.a:lib_a-impure.* *libc-psram-workaround.a:lib_a-atol.* *libc-psram-workaround.a:lib_a-ldiv.* *libc-psram-workaround.a:lib_a-abs.* *libc-psram-workaround.a:lib_a-memchr.* *libc-psram-workaround.a:lib_a-bzero.* *libc-psram-workaround.a:lib_a-refill.* *libc-psram-workaround.a:lib_a-isdigit.* *libc-psram-workaround.a:lib_a-strdup_r.* *libc-psram-workaround.a:lib_a-timelocal.* *libc-psram-workaround.a:lib_a-strtol.* *libc-psram-workaround.a:lock.* *libc-psram-workaround.a:lib_a-isalpha.* *libc-psram-workaround.a:lib_a-tzcalc_limits.* *libc-psram-workaround.a:lib_a-system.* *libc-psram-workaround.a:lib_a-strcoll.* *libc-psram-workaround.a:lib_a-s_fpclassify.* *libc-psram-workaround.a:lib_a-quorem.* *libc-psram-workaround.a:lib_a-gmtime_r.* *libc-psram-workaround.a:lib_a-strlen.* *libc-psram-workaround.a:lib_a-memcmp.* *libc-psram-workaround.a:lib_a-atoi.* *libc-psram-workaround.a:lib_a-rshift.* *libc-psram-workaround.a:lib_a-lcltime_r.* *libc-psram-workaround.a:lib_a-getenv_r.* *libc-psram-workaround.a:lib_a-isspace.* *libc-psram-workaround.a:lib_a-strsep.* *libc-psram-workaround.a:lib_a-isalnum.* *libc-psram-workaround.a:lib_a-wsetup.* *libc-psram-workaround.a:lib_a-rand.* *libc-psram-workaround.a:lib_a-fflush.* *libc-psram-workaround.a:lib_a-syssbrk.* *libc-psram-workaround.a:lib_a-srand.* *libc-psram-workaround.a:lib_a-tzset.* *libc-psram-workaround.a:lib_a-fputwc.* *libc-psram-workaround.a:lib_a-ispunct.* *libc-psram-workaround.a:lib_a-strtok_r.* *libc-psram-workaround.a:lib_a-sf_nan.* *libc-psram-workaround.a:lib_a-asctime.* *libc-psram-workaround.a:lib_a-findfp.* *libc-psram-workaround.a:lib_a-memset.* *libc-psram-workaround.a:lib_a-read.* *libc-psram-workaround.a:lib_a-time.* *libc-psram-workaround.a:lib_a-isascii.* *libc-psram-workaround.a:lib_a-envlock.* *libc-psram-workaround.a:lib_a-strcat.* *libc-psram-workaround.a:lib_a-open.* *libc-psram-workaround.a:lib_a-strtoul.* *libc-psram-workaround.a:lib_a-month_lengths.* *libc-psram-workaround.a:lib_a-rand_r.* *libc-psram-workaround.a:lib_a-sbrk.* *libc-psram-workaround.a:lib_a-toascii.* *libc-psram-workaround.a:lib_a-div.* *libc-psram-workaround.a:lib_a-toupper.* *libc-psram-workaround.a:creat.* *libc-psram-workaround.a:lib_a-ungetc.* *libc-psram-workaround.a:lib_a-tzvars.* *libc-psram-workaround.a:lib_a-strdup.* *libc-psram-workaround.a:lib_a-strncmp.* *libc-psram-workaround.a:lib_a-strchr.* *libc-psram-workaround.a:lib_a-strncasecmp.* *libc-psram-workaround.a:lib_a-wcrtomb.* *libc-psram-workaround.a:lib_a-strcpy.* *libc-psram-workaround.a:lib_a-strndup_r.* *libc-psram-workaround.a:lib_a-raise.* *libc-psram-workaround.a:lib_a-longjmp.* *libc-psram-workaround.a:lib_a-strlcpy.* *libc-psram-workaround.a:lib_a-sysclose.* *libc-psram-workaround.a:lib_a-ctype_.* *libc-psram-workaround.a:lib_a-mktime.* *libc-psram-workaround.a:lib_a-memmove.* *libc-psram-workaround.a:lib_a-fvwrite.* *libc-psram-workaround.a:lib_a-itoa.* *libc-psram-workaround.a:lib_a-isupper.* *libc-psram-workaround.a:lib_a-stdio.* *libc-psram-workaround.a:lib_a-environ.* *libc-psram-workaround.a:lib_a-strstr.* *libc-psram-workaround.a:lib_a-fclose.* *libc-psram-workaround.a:lib_a-lcltime.* *libc-psram-workaround.a:isatty.* *libc-psram-workaround.a:lib_a-strcasestr.* *libc-psram-workaround.a:lib_a-syswrite.* *libc-psram-workaround.a:lib_a-strnlen.* *libc-psram-workaround.a:lib_a-close.* *libc-psram-workaround.a:lib_a-asctime_r.* *libc-psram-workaround.a:lib_a-islower.* *libc-psram-workaround.a:lib_a-strlcat.* *libc-psram-workaround.a:lib_a-tzset_r.* *libc-psram-workaround.a:lib_a-strcasecmp.* *libc-psram-workaround.a:lib_a-strncpy.* *libc-psram-workaround.a:lib_a-gmtime.* *libc-psram-workaround.a:lib_a-ctime_r.* *libc-psram-workaround.a:lib_a-ctime.* *libc-psram-workaround.a:lib_a-systimes.* *libc-psram-workaround.a:lib_a-wbuf.* *libc-psram-workaround.a:lib_a-iscntrl.* *libc-psram-workaround.a:lib_a-strncat.* *libc-psram-workaround.a:lib_a-isblank.* *libc-psram-workaround.a:lib_a-sysread.* *libc-psram-workaround.a:lib_a-memcpy.* *libc-psram-workaround.a:lib_a-strndup.* *libc-psram-workaround.a:lib_a-labs.* *libc-psram-workaround.a:lib_a-gettzinfo.* *libc-psram-workaround.a:lib_a-strupr.* *libc-psram-workaround.a:lib_a-strlwr.* *libc-psram-workaround.a:lib_a-strrchr.* *libc-psram-workaround.a:lib_a-fwalk.* *libc-psram-workaround.a:lib_a-strftime.* *libc-psram-workaround.a:lib_a-makebuf.* *libc-psram-workaround.a:lib_a-creat.* *libc-psram-workaround.a:lib_a-sysopen.* *libc-psram-workaround.a:lib_a-strcmp.* *libc-psram-workaround.a:lib_a-memrchr.* *libc-psram-workaround.a:lib_a-utoa.* *libc-psram-workaround.a:lib_a-strspn.* *libc-psram-workaround.a:lib_a-isprint.* *libc-psram-workaround.a:lib_a-tzlock.* *libc-psram-workaround.a:lib_a-memccpy.* *libc-psram-workaround.a:lib_a-wctomb_r.* *libc-psram-workaround.a:lib_a-strptime.* *libc-psram-workaround.a:lib_a-tolower.* *libc-psram-workaround.a:lib_a-strcspn.* *libgcov.a *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.*) .rodata.*) - + *(.rodata) + *(.rodata.*) *(.irom1.text) /* catch stray ICACHE_RODATA_ATTR */ *(.gnu.linkonce.r.*) *(.rodata1) @@ -599,11 +325,9 @@ SECTIONS { _stext = .; _text_start = ABSOLUTE(.); - - *(EXCLUDE_FILE(*libspi_flash.a:spi_flash_rom_patch.* *libesp_ringbuf.a *libhal.a *libapp_trace.a *libesp32.a:panic.* *libespcoredump.a:core_dump_uart.* *libespcoredump.a:core_dump_flash.* *libespcoredump.a:core_dump_common.* *librtc.a *libgcc.a:lib2funcs.* *libsoc.a:rtc_time.* *libsoc.a:rtc_pm.* *libsoc.a:rtc_sleep.* *libsoc.a:rtc_wdt.* *libsoc.a:rtc_clk_init.* *libsoc.a:rtc_periph.* *libsoc.a:rtc_init.* *libsoc.a:rtc_clk.* *libsoc.a:cpu_util.* *libc-psram-workaround.a:lib_a-isgraph.* *libc-psram-workaround.a:lib_a-sccl.* *libc-psram-workaround.a:lib_a-setjmp.* *libc-psram-workaround.a:lib_a-impure.* *libc-psram-workaround.a:lib_a-atol.* *libc-psram-workaround.a:lib_a-ldiv.* *libc-psram-workaround.a:lib_a-abs.* *libc-psram-workaround.a:lib_a-memchr.* *libc-psram-workaround.a:lib_a-bzero.* *libc-psram-workaround.a:lib_a-refill.* *libc-psram-workaround.a:lib_a-isdigit.* *libc-psram-workaround.a:lib_a-strdup_r.* *libc-psram-workaround.a:lib_a-timelocal.* *libc-psram-workaround.a:lib_a-strtol.* *libc-psram-workaround.a:lock.* *libc-psram-workaround.a:lib_a-isalpha.* *libc-psram-workaround.a:lib_a-tzcalc_limits.* *libc-psram-workaround.a:lib_a-system.* *libc-psram-workaround.a:lib_a-strcoll.* *libc-psram-workaround.a:lib_a-s_fpclassify.* *libc-psram-workaround.a:lib_a-quorem.* *libc-psram-workaround.a:lib_a-gmtime_r.* *libc-psram-workaround.a:lib_a-strlen.* *libc-psram-workaround.a:lib_a-memcmp.* *libc-psram-workaround.a:lib_a-atoi.* *libc-psram-workaround.a:lib_a-rshift.* *libc-psram-workaround.a:lib_a-lcltime_r.* *libc-psram-workaround.a:lib_a-getenv_r.* *libc-psram-workaround.a:lib_a-isspace.* *libc-psram-workaround.a:lib_a-strsep.* *libc-psram-workaround.a:lib_a-isalnum.* *libc-psram-workaround.a:lib_a-wsetup.* *libc-psram-workaround.a:lib_a-rand.* *libc-psram-workaround.a:lib_a-fflush.* *libc-psram-workaround.a:lib_a-syssbrk.* *libc-psram-workaround.a:lib_a-srand.* *libc-psram-workaround.a:lib_a-tzset.* *libc-psram-workaround.a:lib_a-fputwc.* *libc-psram-workaround.a:lib_a-ispunct.* *libc-psram-workaround.a:lib_a-strtok_r.* *libc-psram-workaround.a:lib_a-sf_nan.* *libc-psram-workaround.a:lib_a-asctime.* *libc-psram-workaround.a:lib_a-findfp.* *libc-psram-workaround.a:lib_a-memset.* *libc-psram-workaround.a:lib_a-read.* *libc-psram-workaround.a:lib_a-time.* *libc-psram-workaround.a:lib_a-isascii.* *libc-psram-workaround.a:lib_a-envlock.* *libc-psram-workaround.a:lib_a-strcat.* *libc-psram-workaround.a:lib_a-open.* *libc-psram-workaround.a:lib_a-strtoul.* *libc-psram-workaround.a:lib_a-month_lengths.* *libc-psram-workaround.a:lib_a-rand_r.* *libc-psram-workaround.a:lib_a-sbrk.* *libc-psram-workaround.a:lib_a-toascii.* *libc-psram-workaround.a:lib_a-div.* *libc-psram-workaround.a:lib_a-toupper.* *libc-psram-workaround.a:creat.* *libc-psram-workaround.a:lib_a-ungetc.* *libc-psram-workaround.a:lib_a-tzvars.* *libc-psram-workaround.a:lib_a-strdup.* *libc-psram-workaround.a:lib_a-strncmp.* *libc-psram-workaround.a:lib_a-strchr.* *libc-psram-workaround.a:lib_a-strncasecmp.* *libc-psram-workaround.a:lib_a-wcrtomb.* *libc-psram-workaround.a:lib_a-strcpy.* *libc-psram-workaround.a:lib_a-strndup_r.* *libc-psram-workaround.a:lib_a-raise.* *libc-psram-workaround.a:lib_a-longjmp.* *libc-psram-workaround.a:lib_a-strlcpy.* *libc-psram-workaround.a:lib_a-sysclose.* *libc-psram-workaround.a:lib_a-ctype_.* *libc-psram-workaround.a:lib_a-mktime.* *libc-psram-workaround.a:lib_a-memmove.* *libc-psram-workaround.a:lib_a-fvwrite.* *libc-psram-workaround.a:lib_a-itoa.* *libc-psram-workaround.a:lib_a-isupper.* *libc-psram-workaround.a:lib_a-stdio.* *libc-psram-workaround.a:lib_a-environ.* *libc-psram-workaround.a:lib_a-strstr.* *libc-psram-workaround.a:lib_a-fclose.* *libc-psram-workaround.a:lib_a-lcltime.* *libc-psram-workaround.a:isatty.* *libc-psram-workaround.a:lib_a-strcasestr.* *libc-psram-workaround.a:lib_a-syswrite.* *libc-psram-workaround.a:lib_a-strnlen.* *libc-psram-workaround.a:lib_a-close.* *libc-psram-workaround.a:lib_a-asctime_r.* *libc-psram-workaround.a:lib_a-islower.* *libc-psram-workaround.a:lib_a-strlcat.* *libc-psram-workaround.a:lib_a-tzset_r.* *libc-psram-workaround.a:lib_a-strcasecmp.* *libc-psram-workaround.a:lib_a-strncpy.* *libc-psram-workaround.a:lib_a-gmtime.* *libc-psram-workaround.a:lib_a-ctime_r.* *libc-psram-workaround.a:lib_a-ctime.* *libc-psram-workaround.a:lib_a-systimes.* *libc-psram-workaround.a:lib_a-wbuf.* *libc-psram-workaround.a:lib_a-iscntrl.* *libc-psram-workaround.a:lib_a-strncat.* *libc-psram-workaround.a:lib_a-isblank.* *libc-psram-workaround.a:lib_a-sysread.* *libc-psram-workaround.a:lib_a-memcpy.* *libc-psram-workaround.a:lib_a-strndup.* *libc-psram-workaround.a:lib_a-labs.* *libc-psram-workaround.a:lib_a-gettzinfo.* *libc-psram-workaround.a:lib_a-strupr.* *libc-psram-workaround.a:lib_a-strlwr.* *libc-psram-workaround.a:lib_a-strrchr.* *libc-psram-workaround.a:lib_a-fwalk.* *libc-psram-workaround.a:lib_a-strftime.* *libc-psram-workaround.a:lib_a-makebuf.* *libc-psram-workaround.a:lib_a-creat.* *libc-psram-workaround.a:lib_a-sysopen.* *libc-psram-workaround.a:lib_a-strcmp.* *libc-psram-workaround.a:lib_a-memrchr.* *libc-psram-workaround.a:lib_a-utoa.* *libc-psram-workaround.a:lib_a-strspn.* *libc-psram-workaround.a:lib_a-isprint.* *libc-psram-workaround.a:lib_a-tzlock.* *libc-psram-workaround.a:lib_a-memccpy.* *libc-psram-workaround.a:lib_a-wctomb_r.* *libc-psram-workaround.a:lib_a-strptime.* *libc-psram-workaround.a:lib_a-tolower.* *libc-psram-workaround.a:lib_a-strcspn.* *libgcov.a *libfreertos.a *libxtensa-debug-module.a:eri.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.*) .literal EXCLUDE_FILE(*libspi_flash.a:spi_flash_rom_patch.* *libesp_ringbuf.a *libhal.a *libapp_trace.a *libesp32.a:panic.* *libespcoredump.a:core_dump_uart.* *libespcoredump.a:core_dump_flash.* *libespcoredump.a:core_dump_common.* *librtc.a *libgcc.a:lib2funcs.* *libsoc.a:rtc_time.* *libsoc.a:rtc_pm.* *libsoc.a:rtc_sleep.* *libsoc.a:rtc_wdt.* *libsoc.a:rtc_clk_init.* *libsoc.a:rtc_periph.* *libsoc.a:rtc_init.* *libsoc.a:rtc_clk.* *libsoc.a:cpu_util.* *libc-psram-workaround.a:lib_a-isgraph.* *libc-psram-workaround.a:lib_a-sccl.* *libc-psram-workaround.a:lib_a-setjmp.* *libc-psram-workaround.a:lib_a-impure.* *libc-psram-workaround.a:lib_a-atol.* *libc-psram-workaround.a:lib_a-ldiv.* *libc-psram-workaround.a:lib_a-abs.* *libc-psram-workaround.a:lib_a-memchr.* *libc-psram-workaround.a:lib_a-bzero.* *libc-psram-workaround.a:lib_a-refill.* *libc-psram-workaround.a:lib_a-isdigit.* *libc-psram-workaround.a:lib_a-strdup_r.* *libc-psram-workaround.a:lib_a-timelocal.* *libc-psram-workaround.a:lib_a-strtol.* *libc-psram-workaround.a:lock.* *libc-psram-workaround.a:lib_a-isalpha.* *libc-psram-workaround.a:lib_a-tzcalc_limits.* *libc-psram-workaround.a:lib_a-system.* *libc-psram-workaround.a:lib_a-strcoll.* *libc-psram-workaround.a:lib_a-s_fpclassify.* *libc-psram-workaround.a:lib_a-quorem.* *libc-psram-workaround.a:lib_a-gmtime_r.* *libc-psram-workaround.a:lib_a-strlen.* *libc-psram-workaround.a:lib_a-memcmp.* *libc-psram-workaround.a:lib_a-atoi.* *libc-psram-workaround.a:lib_a-rshift.* *libc-psram-workaround.a:lib_a-lcltime_r.* *libc-psram-workaround.a:lib_a-getenv_r.* *libc-psram-workaround.a:lib_a-isspace.* *libc-psram-workaround.a:lib_a-strsep.* *libc-psram-workaround.a:lib_a-isalnum.* *libc-psram-workaround.a:lib_a-wsetup.* *libc-psram-workaround.a:lib_a-rand.* *libc-psram-workaround.a:lib_a-fflush.* *libc-psram-workaround.a:lib_a-syssbrk.* *libc-psram-workaround.a:lib_a-srand.* *libc-psram-workaround.a:lib_a-tzset.* *libc-psram-workaround.a:lib_a-fputwc.* *libc-psram-workaround.a:lib_a-ispunct.* *libc-psram-workaround.a:lib_a-strtok_r.* *libc-psram-workaround.a:lib_a-sf_nan.* *libc-psram-workaround.a:lib_a-asctime.* *libc-psram-workaround.a:lib_a-findfp.* *libc-psram-workaround.a:lib_a-memset.* *libc-psram-workaround.a:lib_a-read.* *libc-psram-workaround.a:lib_a-time.* *libc-psram-workaround.a:lib_a-isascii.* *libc-psram-workaround.a:lib_a-envlock.* *libc-psram-workaround.a:lib_a-strcat.* *libc-psram-workaround.a:lib_a-open.* *libc-psram-workaround.a:lib_a-strtoul.* *libc-psram-workaround.a:lib_a-month_lengths.* *libc-psram-workaround.a:lib_a-rand_r.* *libc-psram-workaround.a:lib_a-sbrk.* *libc-psram-workaround.a:lib_a-toascii.* *libc-psram-workaround.a:lib_a-div.* *libc-psram-workaround.a:lib_a-toupper.* *libc-psram-workaround.a:creat.* *libc-psram-workaround.a:lib_a-ungetc.* *libc-psram-workaround.a:lib_a-tzvars.* *libc-psram-workaround.a:lib_a-strdup.* *libc-psram-workaround.a:lib_a-strncmp.* *libc-psram-workaround.a:lib_a-strchr.* *libc-psram-workaround.a:lib_a-strncasecmp.* *libc-psram-workaround.a:lib_a-wcrtomb.* *libc-psram-workaround.a:lib_a-strcpy.* *libc-psram-workaround.a:lib_a-strndup_r.* *libc-psram-workaround.a:lib_a-raise.* *libc-psram-workaround.a:lib_a-longjmp.* *libc-psram-workaround.a:lib_a-strlcpy.* *libc-psram-workaround.a:lib_a-sysclose.* *libc-psram-workaround.a:lib_a-ctype_.* *libc-psram-workaround.a:lib_a-mktime.* *libc-psram-workaround.a:lib_a-memmove.* *libc-psram-workaround.a:lib_a-fvwrite.* *libc-psram-workaround.a:lib_a-itoa.* *libc-psram-workaround.a:lib_a-isupper.* *libc-psram-workaround.a:lib_a-stdio.* *libc-psram-workaround.a:lib_a-environ.* *libc-psram-workaround.a:lib_a-strstr.* *libc-psram-workaround.a:lib_a-fclose.* *libc-psram-workaround.a:lib_a-lcltime.* *libc-psram-workaround.a:isatty.* *libc-psram-workaround.a:lib_a-strcasestr.* *libc-psram-workaround.a:lib_a-syswrite.* *libc-psram-workaround.a:lib_a-strnlen.* *libc-psram-workaround.a:lib_a-close.* *libc-psram-workaround.a:lib_a-asctime_r.* *libc-psram-workaround.a:lib_a-islower.* *libc-psram-workaround.a:lib_a-strlcat.* *libc-psram-workaround.a:lib_a-tzset_r.* *libc-psram-workaround.a:lib_a-strcasecmp.* *libc-psram-workaround.a:lib_a-strncpy.* *libc-psram-workaround.a:lib_a-gmtime.* *libc-psram-workaround.a:lib_a-ctime_r.* *libc-psram-workaround.a:lib_a-ctime.* *libc-psram-workaround.a:lib_a-systimes.* *libc-psram-workaround.a:lib_a-wbuf.* *libc-psram-workaround.a:lib_a-iscntrl.* *libc-psram-workaround.a:lib_a-strncat.* *libc-psram-workaround.a:lib_a-isblank.* *libc-psram-workaround.a:lib_a-sysread.* *libc-psram-workaround.a:lib_a-memcpy.* *libc-psram-workaround.a:lib_a-strndup.* *libc-psram-workaround.a:lib_a-labs.* *libc-psram-workaround.a:lib_a-gettzinfo.* *libc-psram-workaround.a:lib_a-strupr.* *libc-psram-workaround.a:lib_a-strlwr.* *libc-psram-workaround.a:lib_a-strrchr.* *libc-psram-workaround.a:lib_a-fwalk.* *libc-psram-workaround.a:lib_a-strftime.* *libc-psram-workaround.a:lib_a-makebuf.* *libc-psram-workaround.a:lib_a-creat.* *libc-psram-workaround.a:lib_a-sysopen.* *libc-psram-workaround.a:lib_a-strcmp.* *libc-psram-workaround.a:lib_a-memrchr.* *libc-psram-workaround.a:lib_a-utoa.* *libc-psram-workaround.a:lib_a-strspn.* *libc-psram-workaround.a:lib_a-isprint.* *libc-psram-workaround.a:lib_a-tzlock.* *libc-psram-workaround.a:lib_a-memccpy.* *libc-psram-workaround.a:lib_a-wctomb_r.* *libc-psram-workaround.a:lib_a-strptime.* *libc-psram-workaround.a:lib_a-tolower.* *libc-psram-workaround.a:lib_a-strcspn.* *libgcov.a *libfreertos.a *libxtensa-debug-module.a:eri.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.*) .literal.* EXCLUDE_FILE(*libspi_flash.a:spi_flash_rom_patch.* *libesp_ringbuf.a *libhal.a *libapp_trace.a *libesp32.a:panic.* *libespcoredump.a:core_dump_uart.* *libespcoredump.a:core_dump_flash.* *libespcoredump.a:core_dump_common.* *librtc.a *libgcc.a:lib2funcs.* *libsoc.a:rtc_time.* *libsoc.a:rtc_pm.* *libsoc.a:rtc_sleep.* *libsoc.a:rtc_wdt.* *libsoc.a:rtc_clk_init.* *libsoc.a:rtc_periph.* *libsoc.a:rtc_init.* *libsoc.a:rtc_clk.* *libsoc.a:cpu_util.* *libc-psram-workaround.a:lib_a-isgraph.* *libc-psram-workaround.a:lib_a-sccl.* *libc-psram-workaround.a:lib_a-setjmp.* *libc-psram-workaround.a:lib_a-impure.* *libc-psram-workaround.a:lib_a-atol.* *libc-psram-workaround.a:lib_a-ldiv.* *libc-psram-workaround.a:lib_a-abs.* *libc-psram-workaround.a:lib_a-memchr.* *libc-psram-workaround.a:lib_a-bzero.* *libc-psram-workaround.a:lib_a-refill.* *libc-psram-workaround.a:lib_a-isdigit.* *libc-psram-workaround.a:lib_a-strdup_r.* *libc-psram-workaround.a:lib_a-timelocal.* *libc-psram-workaround.a:lib_a-strtol.* *libc-psram-workaround.a:lock.* *libc-psram-workaround.a:lib_a-isalpha.* *libc-psram-workaround.a:lib_a-tzcalc_limits.* *libc-psram-workaround.a:lib_a-system.* *libc-psram-workaround.a:lib_a-strcoll.* *libc-psram-workaround.a:lib_a-s_fpclassify.* *libc-psram-workaround.a:lib_a-quorem.* *libc-psram-workaround.a:lib_a-gmtime_r.* *libc-psram-workaround.a:lib_a-strlen.* *libc-psram-workaround.a:lib_a-memcmp.* *libc-psram-workaround.a:lib_a-atoi.* *libc-psram-workaround.a:lib_a-rshift.* *libc-psram-workaround.a:lib_a-lcltime_r.* *libc-psram-workaround.a:lib_a-getenv_r.* *libc-psram-workaround.a:lib_a-isspace.* *libc-psram-workaround.a:lib_a-strsep.* *libc-psram-workaround.a:lib_a-isalnum.* *libc-psram-workaround.a:lib_a-wsetup.* *libc-psram-workaround.a:lib_a-rand.* *libc-psram-workaround.a:lib_a-fflush.* *libc-psram-workaround.a:lib_a-syssbrk.* *libc-psram-workaround.a:lib_a-srand.* *libc-psram-workaround.a:lib_a-tzset.* *libc-psram-workaround.a:lib_a-fputwc.* *libc-psram-workaround.a:lib_a-ispunct.* *libc-psram-workaround.a:lib_a-strtok_r.* *libc-psram-workaround.a:lib_a-sf_nan.* *libc-psram-workaround.a:lib_a-asctime.* *libc-psram-workaround.a:lib_a-findfp.* *libc-psram-workaround.a:lib_a-memset.* *libc-psram-workaround.a:lib_a-read.* *libc-psram-workaround.a:lib_a-time.* *libc-psram-workaround.a:lib_a-isascii.* *libc-psram-workaround.a:lib_a-envlock.* *libc-psram-workaround.a:lib_a-strcat.* *libc-psram-workaround.a:lib_a-open.* *libc-psram-workaround.a:lib_a-strtoul.* *libc-psram-workaround.a:lib_a-month_lengths.* *libc-psram-workaround.a:lib_a-rand_r.* *libc-psram-workaround.a:lib_a-sbrk.* *libc-psram-workaround.a:lib_a-toascii.* *libc-psram-workaround.a:lib_a-div.* *libc-psram-workaround.a:lib_a-toupper.* *libc-psram-workaround.a:creat.* *libc-psram-workaround.a:lib_a-ungetc.* *libc-psram-workaround.a:lib_a-tzvars.* *libc-psram-workaround.a:lib_a-strdup.* *libc-psram-workaround.a:lib_a-strncmp.* *libc-psram-workaround.a:lib_a-strchr.* *libc-psram-workaround.a:lib_a-strncasecmp.* *libc-psram-workaround.a:lib_a-wcrtomb.* *libc-psram-workaround.a:lib_a-strcpy.* *libc-psram-workaround.a:lib_a-strndup_r.* *libc-psram-workaround.a:lib_a-raise.* *libc-psram-workaround.a:lib_a-longjmp.* *libc-psram-workaround.a:lib_a-strlcpy.* *libc-psram-workaround.a:lib_a-sysclose.* *libc-psram-workaround.a:lib_a-ctype_.* *libc-psram-workaround.a:lib_a-mktime.* *libc-psram-workaround.a:lib_a-memmove.* *libc-psram-workaround.a:lib_a-fvwrite.* *libc-psram-workaround.a:lib_a-itoa.* *libc-psram-workaround.a:lib_a-isupper.* *libc-psram-workaround.a:lib_a-stdio.* *libc-psram-workaround.a:lib_a-environ.* *libc-psram-workaround.a:lib_a-strstr.* *libc-psram-workaround.a:lib_a-fclose.* *libc-psram-workaround.a:lib_a-lcltime.* *libc-psram-workaround.a:isatty.* *libc-psram-workaround.a:lib_a-strcasestr.* *libc-psram-workaround.a:lib_a-syswrite.* *libc-psram-workaround.a:lib_a-strnlen.* *libc-psram-workaround.a:lib_a-close.* *libc-psram-workaround.a:lib_a-asctime_r.* *libc-psram-workaround.a:lib_a-islower.* *libc-psram-workaround.a:lib_a-strlcat.* *libc-psram-workaround.a:lib_a-tzset_r.* *libc-psram-workaround.a:lib_a-strcasecmp.* *libc-psram-workaround.a:lib_a-strncpy.* *libc-psram-workaround.a:lib_a-gmtime.* *libc-psram-workaround.a:lib_a-ctime_r.* *libc-psram-workaround.a:lib_a-ctime.* *libc-psram-workaround.a:lib_a-systimes.* *libc-psram-workaround.a:lib_a-wbuf.* *libc-psram-workaround.a:lib_a-iscntrl.* *libc-psram-workaround.a:lib_a-strncat.* *libc-psram-workaround.a:lib_a-isblank.* *libc-psram-workaround.a:lib_a-sysread.* *libc-psram-workaround.a:lib_a-memcpy.* *libc-psram-workaround.a:lib_a-strndup.* *libc-psram-workaround.a:lib_a-labs.* *libc-psram-workaround.a:lib_a-gettzinfo.* *libc-psram-workaround.a:lib_a-strupr.* *libc-psram-workaround.a:lib_a-strlwr.* *libc-psram-workaround.a:lib_a-strrchr.* *libc-psram-workaround.a:lib_a-fwalk.* *libc-psram-workaround.a:lib_a-strftime.* *libc-psram-workaround.a:lib_a-makebuf.* *libc-psram-workaround.a:lib_a-creat.* *libc-psram-workaround.a:lib_a-sysopen.* *libc-psram-workaround.a:lib_a-strcmp.* *libc-psram-workaround.a:lib_a-memrchr.* *libc-psram-workaround.a:lib_a-utoa.* *libc-psram-workaround.a:lib_a-strspn.* *libc-psram-workaround.a:lib_a-isprint.* *libc-psram-workaround.a:lib_a-tzlock.* *libc-psram-workaround.a:lib_a-memccpy.* *libc-psram-workaround.a:lib_a-wctomb_r.* *libc-psram-workaround.a:lib_a-strptime.* *libc-psram-workaround.a:lib_a-tolower.* *libc-psram-workaround.a:lib_a-strcspn.* *libgcov.a *libfreertos.a *libxtensa-debug-module.a:eri.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.*) .text EXCLUDE_FILE(*libspi_flash.a:spi_flash_rom_patch.* *libesp_ringbuf.a *libhal.a *libapp_trace.a *libesp32.a:panic.* *libespcoredump.a:core_dump_uart.* *libespcoredump.a:core_dump_flash.* *libespcoredump.a:core_dump_common.* *librtc.a *libgcc.a:lib2funcs.* *libsoc.a:rtc_time.* *libsoc.a:rtc_pm.* *libsoc.a:rtc_sleep.* *libsoc.a:rtc_wdt.* *libsoc.a:rtc_clk_init.* *libsoc.a:rtc_periph.* *libsoc.a:rtc_init.* *libsoc.a:rtc_clk.* *libsoc.a:cpu_util.* *libc-psram-workaround.a:lib_a-isgraph.* *libc-psram-workaround.a:lib_a-sccl.* *libc-psram-workaround.a:lib_a-setjmp.* *libc-psram-workaround.a:lib_a-impure.* *libc-psram-workaround.a:lib_a-atol.* *libc-psram-workaround.a:lib_a-ldiv.* *libc-psram-workaround.a:lib_a-abs.* *libc-psram-workaround.a:lib_a-memchr.* *libc-psram-workaround.a:lib_a-bzero.* *libc-psram-workaround.a:lib_a-refill.* *libc-psram-workaround.a:lib_a-isdigit.* *libc-psram-workaround.a:lib_a-strdup_r.* *libc-psram-workaround.a:lib_a-timelocal.* *libc-psram-workaround.a:lib_a-strtol.* *libc-psram-workaround.a:lock.* *libc-psram-workaround.a:lib_a-isalpha.* *libc-psram-workaround.a:lib_a-tzcalc_limits.* *libc-psram-workaround.a:lib_a-system.* *libc-psram-workaround.a:lib_a-strcoll.* *libc-psram-workaround.a:lib_a-s_fpclassify.* *libc-psram-workaround.a:lib_a-quorem.* *libc-psram-workaround.a:lib_a-gmtime_r.* *libc-psram-workaround.a:lib_a-strlen.* *libc-psram-workaround.a:lib_a-memcmp.* *libc-psram-workaround.a:lib_a-atoi.* *libc-psram-workaround.a:lib_a-rshift.* *libc-psram-workaround.a:lib_a-lcltime_r.* *libc-psram-workaround.a:lib_a-getenv_r.* *libc-psram-workaround.a:lib_a-isspace.* *libc-psram-workaround.a:lib_a-strsep.* *libc-psram-workaround.a:lib_a-isalnum.* *libc-psram-workaround.a:lib_a-wsetup.* *libc-psram-workaround.a:lib_a-rand.* *libc-psram-workaround.a:lib_a-fflush.* *libc-psram-workaround.a:lib_a-syssbrk.* *libc-psram-workaround.a:lib_a-srand.* *libc-psram-workaround.a:lib_a-tzset.* *libc-psram-workaround.a:lib_a-fputwc.* *libc-psram-workaround.a:lib_a-ispunct.* *libc-psram-workaround.a:lib_a-strtok_r.* *libc-psram-workaround.a:lib_a-sf_nan.* *libc-psram-workaround.a:lib_a-asctime.* *libc-psram-workaround.a:lib_a-findfp.* *libc-psram-workaround.a:lib_a-memset.* *libc-psram-workaround.a:lib_a-read.* *libc-psram-workaround.a:lib_a-time.* *libc-psram-workaround.a:lib_a-isascii.* *libc-psram-workaround.a:lib_a-envlock.* *libc-psram-workaround.a:lib_a-strcat.* *libc-psram-workaround.a:lib_a-open.* *libc-psram-workaround.a:lib_a-strtoul.* *libc-psram-workaround.a:lib_a-month_lengths.* *libc-psram-workaround.a:lib_a-rand_r.* *libc-psram-workaround.a:lib_a-sbrk.* *libc-psram-workaround.a:lib_a-toascii.* *libc-psram-workaround.a:lib_a-div.* *libc-psram-workaround.a:lib_a-toupper.* *libc-psram-workaround.a:creat.* *libc-psram-workaround.a:lib_a-ungetc.* *libc-psram-workaround.a:lib_a-tzvars.* *libc-psram-workaround.a:lib_a-strdup.* *libc-psram-workaround.a:lib_a-strncmp.* *libc-psram-workaround.a:lib_a-strchr.* *libc-psram-workaround.a:lib_a-strncasecmp.* *libc-psram-workaround.a:lib_a-wcrtomb.* *libc-psram-workaround.a:lib_a-strcpy.* *libc-psram-workaround.a:lib_a-strndup_r.* *libc-psram-workaround.a:lib_a-raise.* *libc-psram-workaround.a:lib_a-longjmp.* *libc-psram-workaround.a:lib_a-strlcpy.* *libc-psram-workaround.a:lib_a-sysclose.* *libc-psram-workaround.a:lib_a-ctype_.* *libc-psram-workaround.a:lib_a-mktime.* *libc-psram-workaround.a:lib_a-memmove.* *libc-psram-workaround.a:lib_a-fvwrite.* *libc-psram-workaround.a:lib_a-itoa.* *libc-psram-workaround.a:lib_a-isupper.* *libc-psram-workaround.a:lib_a-stdio.* *libc-psram-workaround.a:lib_a-environ.* *libc-psram-workaround.a:lib_a-strstr.* *libc-psram-workaround.a:lib_a-fclose.* *libc-psram-workaround.a:lib_a-lcltime.* *libc-psram-workaround.a:isatty.* *libc-psram-workaround.a:lib_a-strcasestr.* *libc-psram-workaround.a:lib_a-syswrite.* *libc-psram-workaround.a:lib_a-strnlen.* *libc-psram-workaround.a:lib_a-close.* *libc-psram-workaround.a:lib_a-asctime_r.* *libc-psram-workaround.a:lib_a-islower.* *libc-psram-workaround.a:lib_a-strlcat.* *libc-psram-workaround.a:lib_a-tzset_r.* *libc-psram-workaround.a:lib_a-strcasecmp.* *libc-psram-workaround.a:lib_a-strncpy.* *libc-psram-workaround.a:lib_a-gmtime.* *libc-psram-workaround.a:lib_a-ctime_r.* *libc-psram-workaround.a:lib_a-ctime.* *libc-psram-workaround.a:lib_a-systimes.* *libc-psram-workaround.a:lib_a-wbuf.* *libc-psram-workaround.a:lib_a-iscntrl.* *libc-psram-workaround.a:lib_a-strncat.* *libc-psram-workaround.a:lib_a-isblank.* *libc-psram-workaround.a:lib_a-sysread.* *libc-psram-workaround.a:lib_a-memcpy.* *libc-psram-workaround.a:lib_a-strndup.* *libc-psram-workaround.a:lib_a-labs.* *libc-psram-workaround.a:lib_a-gettzinfo.* *libc-psram-workaround.a:lib_a-strupr.* *libc-psram-workaround.a:lib_a-strlwr.* *libc-psram-workaround.a:lib_a-strrchr.* *libc-psram-workaround.a:lib_a-fwalk.* *libc-psram-workaround.a:lib_a-strftime.* *libc-psram-workaround.a:lib_a-makebuf.* *libc-psram-workaround.a:lib_a-creat.* *libc-psram-workaround.a:lib_a-sysopen.* *libc-psram-workaround.a:lib_a-strcmp.* *libc-psram-workaround.a:lib_a-memrchr.* *libc-psram-workaround.a:lib_a-utoa.* *libc-psram-workaround.a:lib_a-strspn.* *libc-psram-workaround.a:lib_a-isprint.* *libc-psram-workaround.a:lib_a-tzlock.* *libc-psram-workaround.a:lib_a-memccpy.* *libc-psram-workaround.a:lib_a-wctomb_r.* *libc-psram-workaround.a:lib_a-strptime.* *libc-psram-workaround.a:lib_a-tolower.* *libc-psram-workaround.a:lib_a-strcspn.* *libgcov.a *libfreertos.a *libxtensa-debug-module.a:eri.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.*) .text.* EXCLUDE_FILE(*libpp.a *libnet80211.a) .wifi0iram EXCLUDE_FILE(*libpp.a *libnet80211.a) .wifi0iram.*) - - *(.stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*) + *(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*) *(.irom0.text) /* catch stray ICACHE_RODATA_ATTR */ + *(.wifi0iram .wifi0iram.*) /* catch stray WIFI_IRAM_ATTR */ *(.fini.literal) *(.fini) *(.gnu.version) diff --git a/tools/sdk/ld/esp32.spiram.rom-functions-dram.ld b/tools/sdk/ld/esp32.spiram.rom-functions-dram.ld new file mode 100644 index 00000000..205d9471 --- /dev/null +++ b/tools/sdk/ld/esp32.spiram.rom-functions-dram.ld @@ -0,0 +1,143 @@ +/* + If the Newlib functions in ROM aren't used (eg because the external SPI RAM workaround is active), these functions will + be linked into the application directly instead. Normally, they would end up in flash, which is undesirable because esp-idf + and/or applications may assume that because these functions normally are in ROM, they are accessible even when flash is + inaccessible. To work around this, this ld fragment places these functions in RAM instead. If the ROM functions are used, + these defines do nothing, so they can still be included in that situation. + + This file is responsible for placing the rodata segment in DRAM. +*/ + + *libc-psram-workaround.a:*lib_a-utoa.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-longjmp.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-setjmp.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-abs.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-div.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-labs.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-ldiv.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-quorem.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-qsort.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-utoa.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-itoa.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-atoi.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-atol.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strtol.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strtoul.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-wcrtomb.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-fvwrite.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-wbuf.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-wsetup.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-fputwc.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-wctomb_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-ungetc.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-makebuf.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-fflush.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-refill.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-s_fpclassify.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-locale.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-asctime.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-ctime.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-ctime_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-lcltime.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-lcltime_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-gmtime.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-gmtime_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strftime.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-mktime.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-syswrite.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-tzset_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-tzset.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-toupper.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-tolower.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-toascii.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-systimes.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-time.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-bsd_qsort_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-qsort_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-gettzinfo.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strupr.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-asctime_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-bzero.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-close.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-creat.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-environ.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-fclose.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-isalnum.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-isalpha.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-isascii.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-isblank.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-iscntrl.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-isdigit.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-isgraph.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-islower.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-isprint.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-ispunct.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-isspace.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-isupper.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-memccpy.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-memchr.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-memcmp.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-memcpy.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-memmove.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-memrchr.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-memset.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-open.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-rand.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-rand_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-read.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-rshift.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-sbrk.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-srand.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strcasecmp.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strcasestr.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strcat.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strchr.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strcmp.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strcoll.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strcpy.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strcspn.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strdup.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strlcat.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strlcpy.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strlen.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strlwr.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strncasecmp.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strncat.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strncmp.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strncpy.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strndup.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strnlen.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strrchr.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strsep.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strspn.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strstr.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strtok_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strupr.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-stdio.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-syssbrk.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-sysclose.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-sysopen.o(.rodata .rodata.*) + *libc-psram-workaround.a:*creat.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-sysread.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-syswrite.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-impure.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-tzvars.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-sf_nan.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-tzcalc_limits.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-month_lengths.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-timelocal.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-findfp.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lock.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-getenv_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*isatty.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-fwalk.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-getenv_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-tzlock.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-ctype_.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-sccl.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strptime.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-envlock.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-raise.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strdup_r.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-system.o(.rodata .rodata.*) + *libc-psram-workaround.a:*lib_a-strndup_r.o(.rodata .rodata.*) diff --git a/tools/sdk/ld/esp32.spiram.rom-functions-iram.ld b/tools/sdk/ld/esp32.spiram.rom-functions-iram.ld new file mode 100644 index 00000000..d3a264da --- /dev/null +++ b/tools/sdk/ld/esp32.spiram.rom-functions-iram.ld @@ -0,0 +1,140 @@ +/* + If the Newlib functions in ROM aren't used (eg because the external SPI RAM workaround is active), these functions will + be linked into the application directly instead. Normally, they would end up in flash, which is undesirable because esp-idf + and/or applications may assume that because these functions normally are in ROM, they are accessible even when flash is + inaccessible. To work around this, this ld fragment places these functions in RAM instead. If the ROM functions are used, + these defines do nothing, so they can still be included in that situation. + + This file is responsible for placing the literal and text segments in IRAM. +*/ + + + *libc-psram-workaround.a:*lib_a-utoa.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-longjmp.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-setjmp.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-abs.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-div.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-labs.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-ldiv.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-quorem.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-utoa.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-itoa.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-atoi.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-atol.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strtol.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strtoul.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-wcrtomb.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-fvwrite.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-wbuf.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-wsetup.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-fputwc.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-wctomb_r.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-ungetc.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-makebuf.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-fflush.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-refill.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-s_fpclassify.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-asctime.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-ctime.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-ctime_r.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-lcltime.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-lcltime_r.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-gmtime.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-gmtime_r.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strftime.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-mktime.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-syswrite.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-tzset_r.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-tzset.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-toupper.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-tolower.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-toascii.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-systimes.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-time.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-gettzinfo.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strupr.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-asctime_r.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-bzero.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-close.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-creat.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-environ.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-fclose.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-isalnum.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-isalpha.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-isascii.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-isblank.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-iscntrl.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-isdigit.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-isgraph.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-islower.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-isprint.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-ispunct.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-isspace.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-isupper.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-memccpy.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-memchr.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-memcmp.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-memcpy.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-memmove.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-memrchr.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-memset.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-open.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-rand.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-rand_r.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-read.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-rshift.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-sbrk.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-srand.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strcasecmp.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strcasestr.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strcat.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strchr.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strcmp.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strcoll.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strcpy.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strcspn.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strdup.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strlcat.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strlcpy.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strlen.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strlwr.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strncasecmp.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strncat.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strncmp.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strncpy.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strndup.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strnlen.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strrchr.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strsep.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strspn.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strstr.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strtok_r.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strupr.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-stdio.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-syssbrk.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-sysclose.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-sysopen.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*creat.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-sysread.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-syswrite.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-impure.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-tzvars.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-sf_nan.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-tzcalc_limits.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-month_lengths.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-timelocal.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-findfp.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lock.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-getenv_r.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*isatty.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-fwalk.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-getenv_r.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-tzlock.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-ctype_.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-sccl.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strptime.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-envlock.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-raise.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strdup_r.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-system.o(.literal .text .literal.* .text.*) + *libc-psram-workaround.a:*lib_a-strndup_r.o(.literal .text .literal.* .text.*) diff --git a/tools/sdk/ld/wifi_iram.ld b/tools/sdk/ld/wifi_iram.ld new file mode 100644 index 00000000..f8cd6dbe --- /dev/null +++ b/tools/sdk/ld/wifi_iram.ld @@ -0,0 +1,4 @@ +/* Link WiFi library .wifi0iram sections to IRAM + if this snippet is included */ +*libnet80211.a:( .wifi0iram .wifi0iram.*) +*libpp.a:( .wifi0iram .wifi0iram.*) diff --git a/tools/sdk/lib/libapp_trace.a b/tools/sdk/lib/libapp_trace.a index 14a852917aafe5fbfc180429ffb018d8d6440625..e8137129c1334b6c9f0abb94a0b7c2554e1613a9 100644 GIT binary patch delta 91 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%0D!7Exp1r-AW11Qf5L)kMy*H%E;p!yZ0 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 literal 84496 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 f&d-E~2`Ha4Lc;{qbYp~u2`CA| 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 G<^cdY|56(O diff --git a/tools/sdk/lib/libasio.a b/tools/sdk/lib/libasio.a index f8a5f55016be1b23defd7b46d537efe90adcc773..44ec5a05c9989a05b5271fa7514563db8dff79fb 100644 GIT binary patch delta 139598 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¨6uU@z`zfdO5eoDpe8(h<1$tmCN<&d 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 E046*mh5!Hn diff --git a/tools/sdk/lib/libbootloader_support.a b/tools/sdk/lib/libbootloader_support.a index 1dec209d85990d77cb6c913acc5e1114f1861aee..57828afb6e44f14d407203cbc73948e74b7c4c74 100644 GIT binary patch delta 79281 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

xXG-M8Ag9e#FY|v03s4@Z> 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%0DqT7!XsAp>L(lnt6@fjP7mq#hb7 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 delta 82620 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 diff --git a/tools/sdk/lib/libbt.a b/tools/sdk/lib/libbt.a index 68777898bfd978aa94851562156892eb3e71268d..4946e950820e6cbe791c9264a21dffd53acaaf23 100644 GIT binary patch delta 1685873 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�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�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�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�IC8dIp9| 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%0AjzblJ3_1^GgO0la)#)HLAcH{V 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

;7~ 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 sJf4Qg#NfR5B*oC7*9KnJuN1QbCGM(;uA9X$n^ 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%0Aa4(jE)k#3=AO5 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�)y`4dRYusBW;&Q=sm6 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

o9Kt7hOn#L2+Gag^-{=uDg)piFj(?XMUE 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 l(0}3MX4eryockrVhrB-ilb!L{essipt` delta 1704876 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

ezYb2pO2ekArWB=#vJ_C+N2RV4NuB=!R&_Io7u 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%0AfSCUQ3YJD?n^$ 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

pFY2brZzqVKa+k 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

}r$_!gjEf*06jpZgRo;Ru>} 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 z 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


_6G3;GtkOnV-WHTBtLm8(^}%;_ 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 X(YA+ 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

$zgx(zztl^?W+jh7!h`E1EQ z8x&58U=ytPXMmib44!?r;ST{N4i%<*iqrdU70NOFSDU`>R-pu=_w?hp3e^~wPJef+ zP_iC0zrpLp1gfzX@Pp<-c)giGHP%9Y&>2d+KHy3IMf{sUiNP1lSI&kBCfNw~aGV9rW@Wl-@Q%X9#=mVcE1=!jR| z1SU{QStI)y6rzbtp#F*lqwG0Q$(RW?+<{Tn43w>N!8}JsSqV^)ng=$~2~?wk@)R!% z11Q^qLj5VIg9yrEObp!rK$TNI(-}<$2EI_sNV^&hoigIT<-OpQ7W45C^(pmBt=pkr)A zMp+)N!uw_~{{MsNNZ3R15n}HLg{2i!Q3H9$!kZs$TChLHPSb29c z$>}mM@P7a`3wANdO&7ddDB@WM8q9hN%6)s7eu0LJeuG-1*TF87@lfVvW9~IzU=RQu z^~%f63<@v?enU_pzyp?ukQD_*4IlHa>3MexmFm}l5}q(K=t}f8tg=NQo(S_?1JF^g zvh4f}47`%eiw!_Wy~^$cH5#OtK~t+KY_dl{sYe<-093;!djM2=$bfmZY_fMirYJJE zDl;%Nu*p_|>KS$BJWx-IUG^cU4A2D6zw2waVg|4Rk?Ay~@r5CAS2yzOTHp+d-|-L}pME z^c%12duvdOA_?rnKfJQfK<%Yua3IR?$(n;&L6D^!a(uG9+zbr7>CE>HKu5jGhJ#9h zOy>6>o`5VfNM#l?sEn0SmIZAE=gnsR50X=swbx}};LQbFsG=;(4RTB#GpNn3r7XJ% zRM6HJfZe96EPF+Ofq}OW%+phr1uaV9EdulOm1RL&xp<4gVPT*wYYwWFOTausWm(Y4 z#k{4=pdPY`vaF>A0|RdvSk6LO7IauSZ#kG}sVvI}YV=irRoW=aP60(lRXsDSA^50Q z&R>cQ44`xmZqhR|@Uk%TFfed}GAAg-Lq$1NbQu^xsRhhuV&J@Nz`y{)U_PiY16}*e z%K|FHI6>taD2%{z>30|VcQxkd~Og4>Oz zJKmfiQC|jHxOToxj)8&2(UO6I?<%Nm%yJQA+npOAg)fX?!#*Gu11}56dn};KY4{$4 z6tMJyeEN#T7_=zN7^W8F0R|RlEd~a@k6^<=w`K8t2aQs*T(e+c;QMC^(%?GX=5e7? zJxDWm5NN%OEF(w>x1BZv1D_frNGG2TpDrVx2?GOv1gIgY2WB(yCxBGzGm4miMwxh+ z7#R2r7^OgS6#NOw3=DjRj0&K^CVtSaOFkn;H4{){Vh6~B#*8{9pjjIikQYrDjZ7FA z>LvI=*B0=ZGJ?9XGW?)DqI_nIb|#>f#S74}vF3~}CZIKXv8)UXd=`veCJYQ347@Dh zE)C0eP~u@Z1SZddNzia2FUwCbTLhGGS>(Z_7MKhKlbOa04BX3D7#R4h%o$5T35|=- zo^cDvqkSOXJAm6#4E+6K3=DjZU=AaHs}chPpA)z(#>DSDee#n+_4);%NOfn70r?6% zSkE8GY|6kO3cAUeL9`RJrAYJ=XaT(FPeo8A3%c`+Mf9)~X#KJrs4pzK)R2LJT{H_c zG0ni@uEM~;AAJB}TD(2Tv{|4fsiLz$D~Lts8iT6rOc9W2M?kB5SVXUgf@*G-KcL%w z()dgn7}yf{S2>$8FtGQ7)*`J2Wful^V^anO{xu*rBfAF3p0yx06T8gx+NXu$j1kkP zJ}p#MohS}kp#@4o9PH0P^PSs3Y)y50fNC}V-vOW`$H3AKGV70@83Ti2 zur>oj4kN!1V;#sY&4Iizpx#lHp=ACR84H$SL^;nxQzG#`E`X3*kCMo?Z4 z;LqS-VBj}mY&T+Hn8B|u%fP^I43?S0-^Itkz;6m3Dt*GQK7IA`Ldp6b&?*2+Mnyvg zhBy3vAO%*8I))4kZ}}gB{9+B}yyMRU^>ysP3H}4W2`H@W89@o=kE|XGXmuwzk;gE~ z@@X+J@H>Keag4GvKnk6}j!a;bT?&$O28V7UqwEe)M7z|3xk-$&$3YJD1S?Hul(i9K zVBq%w%cU^N%BV6h@CSemO=Fa;kY`}v4+8TtK=sKaP&|68F)%bR@|S`G8$6QEUk29B zzz;eShQFKj@6pEWpS7u<~uVpNVicUdto@J|7EHfQjk1qIbq#&gyT40HIC zK{C_98$=fHua;(D;Gf3`$~Y_dmw?7E=7SAg!#^985Ep<$a2}4Yc z2L82-pnPb^_iRcY=8yjIwN?+`1dg z^J0|c0wsw(V4e@7>^Uh02L8R^uB#uTtT!lu?+42TFv>QAmnA2c4)qs*j3#g650xAo*wYeA=_=6ciiG+`XKLQ-B{7xVz zMS|H3{Gc<*_@lra(2@)rYX$~x(BL6|G@}Qou;$^N9pofuVW&#y5pxTn?ZW^R5gG zi)^M}d{ZdGrIr8{I0%xLVgo6C0G5+X1F_W^qnJt<)EPl%)vGhcFj_G%DE$PTn(>)Y z8Za3=E8OJndltp$G1p7Bew0sO$wDNun2^6|M%nS^g;4m~|0)-)HA+{!{Bh5Jd>AOOHR#5Vgp8oS)p^lBHD+7ZL zXw9r5h%tqcfk79QE!4M3Nxt8gP?+e8>QtcoC z#nAwYX9ETXJw?#6l}6Bl1kipp(3VriIXCU6FL+<59tY~6hp{p+7=VJP8RW0oprw0y z;Paf;!1P>V1ck^62L=XxaMA!bJC3k2FzACreGO=d0W%u|gCRI+tbqiG(FgPCsvipV zeL-HXWMg130td-PP>9?HaUXyd;A{ff$=I{$IouQ+GK!9{^dSyT9~SHk z43JbT&Zs!;W1&<%$X-wu0R;{(3&@2g-k?*gP2nc7gH5V|n`8<$33OVvN((4an1TyG z#$c5)(0PMq5MGGNJy2SL@3UG8s&hb7bF3>U%%T|$Kmh?d zpun^fv@3Z(IC*q{ZOV579hDDSZn7Voo*9E6N%9~#NxE||FlfeuN}xkbpfyF)IT#o$ z3K$p|Qk_61$1oZ&=zv@d$`uTzchwk_7#Kf+O>Y6GjsMOJ3@V_FDvY0?rYrMJpY^Fw zRvk2!#P|t3mUNwifkCx^f$<9yC|`a9SqaV+UzvW`PQUl5(4_u}5d#C`cko!#1y0b7 zQlR4W2NRnO1H%(e1_m`y@sZ}rz~JHxa#a*tF$35C|56NUAeR=oGBCtK#F;=TBAU^V zL2U^G14ErF14AiT0un%s1`KK}j0_B*L^K5~9>oO8EzwNcpn?bFS2a+<4U%7rBoC6X z%mnR=En~RsJblmSLdAeCR|baXP&LI23>r<03=Gr2krBl_F@g;g9iTL2A_YnnkP!e- zW;~X6q1_m8Y1_p*jpsWol;nz*q{Zc4Z9{`d7Ejil-%IYQyK?U_XX3(lHgyve1 z8jxmC(CdISgN$RaY6ET3J;OA?g#mW2i1l1X1_moD6$S>DvrH>M;viEP7{KB-`JmCJ z>C8J_K-1Wue!T4>V{--uMvDtBu$xA#rI{EQY|nwxj@2_XQE5;NIs9>%{_{(r604#Z z1B2ppg|CJ3^)9Lm3?M8h#puAs$-n@@g1U?j&PognAk1-t-41l~D+oJWGi6`^VcwI> z4(~J=7(kdmh{++}kbwb&`Oh;syy0VD0AXHj76)I@S|8A$>``WiL|Fy~5ax*Cc35b{ zzyQKL9XyQoz2*!IAk1YrozZvt*69u3qTQxPIu}ozzNaEia(n*w!o@nED?i+~7pN3@ zD#Nebu$|8BQDioK)33O_(-o}CBDZIG7QJJdZfrJ1e0#l5(KLZ+Z&q+l&ky7go!&6Z z!f3i(=^T#jd9g(S^0}O#qxzv2I;bGAK`RbH^J<`gcR~{PKw^W|eZka(Ac;pIu@jKk zY199ksEaceO?9<1{`CFX zhT^%MNJ7()*o%?a8<5zbox3n^ophZM5 zwm0b31E_Bzkl3k6>|!K#2NHWK5_>Tcdj}F5bQ2b%3TRUp0|Ub)B#HY-?6*klpGa&K zPBrzF@y#R^57KyzJi4B@-hnaH~N&FQO z`}_3!llO_&3xZ~Xpl+8(Vw)hb9g*06NbDFSb|DhG4vF23#GZk~UIt-1fr>bW-4G6# zeH@8>8Hs%#iTxUh{bPE3cZPVqBIptYs6TX(*x<_;pyIAb;!#NKbR;%t5iBg|8j-~N zkl3@4*efCIda&E~K{#OcX(aXyB=%Dz_9rCve^#|bQOvH3W@yd+$2^n4(f$K9i@WAHbi3EA+f!Y*x=g~ zpnCI=#H*3m9Z2kHNbJ=RHYA?jiZ5)vESU4mNn21%Sz5K+ePA+cqU*q}Yg zu(TD5B%URRR6vy@NwgrbCn2$yBeAz2u@54#&mplvmxseF{y4pU>n3qq9?<0lP=6>Q zv2~HymPl+@BzE9*{%xDY>obvrN|D%&NbFuD_ADg!G9>mHB=%b*Ht1eVn5(rw*A_sX zYX)IM$~e%j6PTiKhy*zPQjpk%NbEW!cK7u4BCX=Q%aDY2PoM9^E?$2XNeFa$2h4`| zNaBBy*x(xzpw80~L8JsrB(@t8I|PXhnstDgUj`9}B*$h52kf1RNNn&83sB3>B8lHd zVt+tlbAc`_fT|ZqVuS9)hFR>6BpxCPI^qthAqh#M9EshG#O_C8&qiW{u0n-bumwr{ zBog}?68ja54f6kg7zeah3v`_U)Is7%Y-J=iXgC~ZnFo^iVkGtsB=!X)_8lZPyEp@b zCCnfZP=^s}u_6*%4~cD!#P*oJzFb?pJ_$)^0TO#B5_>-q`zR9oG!pwF68kz5`z{ju z2@?A+gbfNl1_ox(g#u8wb0V?%k=UY0Y#Agr_;v)S-UuXd&<0mn*c2m)*CVl)N`TJf zhicx4B(VpHeGrL#28j*Y5DT;5#dP+bBISA^&@d>}IC&(t4ieiEiS35O249W<)ti7M zo{Pk;LSnZgu|XSC;ceH2ND}Lj*x*|bpca5HL4dNEK;wc?HXjmO3W@E5#12AYM%Dr3X((?61xD2U5>==LSj!tVlP5suR~&=Mq=NCv3(dA7+%3R3=9n4kl0M1p(>a! zk=WpC6rkd2Na9A*&p&DxuLs?o3yb7DB68j$#n+r6K3H1l~1_dZv2}xWJiEV|%23;Ht^CW0NDvVtP+C~E7fUiq{ z8oC2X^ARNW1tj(zB=!p=_7@~J1L*bvsF^%SYzY_}bpDvi^y&RY%Jr!*F$M;P3M6(5 z5_-q`xFxUDiZq@glz_{+rC3MU^WYA6c_4vK_s>+65DEe{)8g& z`Vb_cL?m`T61y6Sy%34L4vD=RiG2czeHDrQ2#Ngx!iHQ!`VYbZyB)NU9u~1u)6c(X z7tb{VT`>Uljtdey2#F0^&=1p=ha_Hu#O^|3&p=`?Lt<~4{{CgVc>M(=A<)`Zn9*;L z#D5{N!8ad3ohSwxT!gY!kl02@?0h74H4=M1gbk^CRzo=8VA+nuK8(aZkHo%>#0Fnj z0CfcT!U8B8d|?5U&8LWHV@V^iH58GGOH(8XCnUB%5<3Qoor%N-UupogtQkps0up;J z5_=Vl4f6kX7>9v@;Rq7@A`<&I5}O}1l?Sy<8i}or#5P7^+as~Pk=Wr%pwoGw1|=g& z?8!*%`AF>5NbK!MZ18OcP`l0}#OoQrvrkZo=LiXgFGy@g&{#TD4IdI) z8i}oe#5P4@J0Y?Ck=QX{_VgoDiiGNCg4y8Y$FLNMy$OkZ6p4KiiG3G|{St}&6^RYL z-T>-;(BVk1Or{80O{4-H@6v^Ez^<@FV!I--1CiLVNbF1`b}16O35ng0#GZr1Ua5kV z3AQ0gfYuhlTzUaX{4Nsv6%zY95*xG*3#M046_NYokl5NVHt1?;3mAuifx#7t9fZVA zKw{@j&!1K#UJt$s0UEM1kffI(v9}dDyg+!NbH$N>}5#o%}8v}qGwpZUQt7extB5riSiQS9Do`u9-j>O)I#6F0`zK+Cxg2eua#Qs;0#Nh^A9su(t5?d9CZG^Y;a0uFotlz?sY_B z`y;Vqk=WTt>~ zgZA9OEMPQ2cqVZA`?c-j^~Fd+4M^->B=#&MHt2XIm~mT?#LptJFC(#UBC+oyv7bWN zkVt+F;eh@35sCdBiTxLe&0>o1hcpsf5s9si#MVV(gZ50oJYWerwhhK{KvEQp#EwT| zXCtx8k=V^h?0zKnY$Wz_B=%+)8|44}Fb)F)!)YY;btLvgpt_t zNNjB+wz(NnhusB9A{>dGkHiKYa0Lsk$w=Z0k=W~y*t?O~Cy>}z5$t+~M+gqXdnEQB zBsM2#F&ea_5JO@sBe4yT*tSS)FC=z25<3OV28BNZ14AL015SSobx7=PB=!s>_EID^ zXm>I!RQ4l@pFv{ZL}EWfVt=kj;xJes;*SrBErZ0?LSkDWvE7i^AxP{bBz6H3yA{d? z`+qW&1M>d@B=%Y)Ht2p7m@khbiC;ltKSW}`Lt_6%Vsls`JSl1kT0#nqS3M*NYb3VE z^m;87@%khrp?oBE4HCN(i9HR8y%>qT0g1gAiG2!*eI1GY1j2?)_kM(MK;gvj4~fkU zTE-9chXfK^4T)_sU4D6yczpnpP#h9F2Z>#U#O^?1PeWpZ4!MEF$0j8414!(1NNmu4 zX83&4DNXKPe%xZIRePNbGndb}r>5CRudiTx0X{TIZBn#p0yz`zJvHxAmqV9UTzFAU{~ zgCwAelt65##p)n7RNNGa?To~Z2C<>)6F_XJ`fLyzDqa9$L&d8>Y>0S0Lj#Bdb;Num z_F*LUBP8~J5F2U`mmLEGBWS%b0|Nt}9Rq_flr0GohpJHlu_2Z**dwuBKx|G>_%kpt zq=7h44TT^!H#ko*l!6R}vKv6+P&M5kHq_7wAU0Hd9uj*E5_>li`xuA~)qA=g#DQwQ z24X`cZiCoR@n;}5RQxrF4Rw%=Jp%(Hl&y-y)s zRALX3#4!*XDt-lteG9~fYJLJ@3qUM>0kT+N`h(R)a=c6qhytBw`v28M;`MS!LK+}8 z)MzUZ8)}>jhz%9@1hJvw!5}tNJOadqiYI~CQ1NsS8!BE1VnfBtKx_d>7&CN1IA8}) zMq;l)VxI)Dp$1(6u|Z4d85kIDI502>L)ni(;!rj3Ky0XGpFwP>IHMy{7&wB;IH)2) zkOb5q4GwC+w1*hPa{`G&)%b$gP;-JnY^Znw5<3rxT?=D_@>mOq z1HB@<17rb|Jr^VnHFOOUdn1SqRdXD~hFW$G#D-oBcnM?GuE4mIa3hz(W$!x7Y` zgi8DcNkBCSJ0XHd3d9DTg3Q3cAm;?SJqYA?1_n)#IMg6>B(@WX4K>pp#D=N~0`>hcg2_bMk`NP`wf$HdL=Hhz%9j0I{Lsx*#^x zGp_YWoH!(Q84`Oc5_=sI`w9~K1rnRV1rdGRAhtLp6!~2k7=)p0DX2Ku|H@DfNSQ8( z4Ry5zhz;7p!@$5`1JVp-yCaDQg4j^?F(9@i$P@;K1dw_tI~z&71c_bef;5Uc4I}|I zXdM#!022EQhz)7pF$*z`&2h z7DHl7A+eQ^*lI{@JtVdf659%iZHL5m1F`F&F7*O&pzI(db{G;n4vC$F#7;+IXCtwT zk=W%(?0RH&GZLp8iQSLHo{q$xjl^Dz#9ofXUXR4yjKtoJ#NH2KZ-2-e_>^(_tWYO| z>91UECAM>IE!v~O=rH~G-6DU+j_Km}iu{?59GaeSugH(-&Y|f$?iKkl8cb)uU*yl| zF+Chag-l<5zsR3y#o_5c?icwn9XLGQ<3W)h)0xB5XMpG@ho`>)(SHt4w|H3O#~3rc z{b7+mW6AXEAgX7&`lF)bOiPYT|L~~Dk7>=(=?;&J{Fpu*n?B)jkso8g^!txNW}lpH z@B}1$a(crPuo>r{fE^(Jw5Xi1V*2!_MgB}5&P;#tw8)Q9WV-pYB7eq)>Fpp&V)}Iu zl`viXd67TUf%DTVo);ZsdfJ*7^Xi|u@IfU?p2Wh z(**tL2VNDaF`ZvE{l%*yHAa`|{I84D*_Ll%V6bEb-HplgVCVFN*F|bf3Hzr9?3WRn zKJRsrFzimuX*ZQ5rcY2>rX^KT$q2sI6f~g=Iv`{o18C1R1A_wZ^pEG5tkeQ{85lx% z85q2H85j(pZ6#2~L}u&oPA@peq$H$+Bo9)f0X9Ra9wr{a%fJBIoBIDh0|QJ9qz;*l z%tsan=>@Ia2g!pl$P5q-5(k+HV#gx6(E)TLDg)S_dIpdpkOB~m>~NSE$a5gWK?Ygz zGBB7R83a-T!pM#R@j=*vmw~|!$)AvGyOnn!bzN96$phUo?|5u(#`KNJb_tdRY{VCKl6 zu;5GBs_9)HiUN!doe|lzfT59r;Q<0#@Y$F5142}g|6BcwVcyL0nk%6J>%&C(+ zyob(+@Z8?c@v%sT(Zj4$(0lt%Lztyt9ZffRH)%*5(vaLK4in#`A$7y>q%4fPNJDz3 z?n+x2w~3>2dd{aJSzfgTI|Mdt2$^(~cM@mi_GzDr)-sBl87=-{U@8!__&~TYzlGwR z#YxwAjl|5RM|~;kWn41-#h0QW#%0^BzZTUoGFngH^{wcuq;<{DNfDr+lKo)j2=Y}2 zN7D^1B?-0ZC%zX2P0#yYB;?7#FsDPIX@Ww>f(II4uPJG1DIF4#{lLJ(B>Mq`K_R42 z(g?W_mUj|og_tFqm@{jdlIEftypv8PoM7G|d?-s|dg+fMjUmwR4l#@0)At#r$WCYdRU|%L?pKi`Z$;P+mQBKpMt8W3 zgw>|!{3`NhRGYrzSJ5m+>*>M2i>@$MOxO5Rbc4}rI^*9WDPt+LbaC!3%b_zO5SKxc z*Fpw{4ldCBxhE1fX-G6_NKW_rTcpicxxMOdkqpyxudAXG)3v7PN^C#&zes^`dR?xO z#PoBsYb2(NF&0ZOo}T_bpHX7EJ7cl?^nFQ{64UEA<0Pifvli!?euA;sOI*l-0e%;+ zH0bPfZEgkzan0$5a>^3*L52(r%uMXZK}W;CGl1Q^%go4j3nX$Lw8K~kbn`AVBgau5 zkW$ufh71fWySPC&?}GNrvm94rU|^C2U9igX8pM=H1si z)8!UNOHDt(Tr9-otTKJV#zHB^&C}n5luZNeONQRRn>SsYrP!bG==5}!Vr9l9)4N%U zgBbTuzsFK6#v3Qbz`&~H2fFE+J#IQ9Yq7ZMZ_tgx&?{_RWEdD&)gV{cf^I8fRRK1B0Nb z&vXg4Vp-Ma@}Mhh-?D+Oux;08V2~6A-CZliz!JmDz`zcGQDb0Whh1U&8+1u;Zw?Cs1JsApH-db)8#Lx6$_QGa$-we- z`cbxGh5BjQ3=Hf`?y@j22)+ef7Y+&*@XaF(EUBR5npc627+?XNmB7A}8FaC&F#KX$ z5Q~AA1>_V#&|#^N8%kKTL>U;^_v(Yx+QZd?>}OyRWn*Aq-!BQi*cKe}2kIG%*ccc@ z&wvIxM8AXf6^Y7-fWqEJ5OiQxH0Xq4QP2s!tfITMKw-aK9(4Q`=&)T5(HDB4i*2>F zKo{HI(FR>?djNFeyy$t*k*1=zK!?MLa)FM<5naaxy4bc*0u=OD#6cI^e&GOhP5Y+* zWG|Mjzpn`j`Y2`4#kNP)K^NPCRz=B(T7oaOmDdAZY?~tmy4Y3|e6ekVBE<@18 zwmQfk9jJwm#@$ zTOk$D#kN1{r63pEvIj9uV`E_8=T~50V2537TMmlp5b$BG%naPGMHm>^LzzHdqaxpNlM}f^@;I0OxqG+Z?Yzz#1-0X2o8te=V{B}GH4D7IrZMT4~ z+k;&=G&Ii)}yaFfg#gF17`G6n?R-w-5sZJM3cHzs#U>0l`k; z;r|UviI7uMdHJs^F)*;hF1G!l$iTqf2)0Lne?KTcz%I6Z403)8(`F{n#kSYv7#P@L z7u)iJ9NY#rTAF_g2LnSrdpnZ}JLqCtTS*26_71R=EdOqhI@rawr-d09*ikOF)dJm0 z0cx`{GH`c-LZpYufgN&w8vz&@YJj01GBE&F1oeIQE~fU^1$ zCQu2+z%K^U48PbGblD2~GNxG|^(^cgnK(cvRMmivuY+A|Tcgjwzz)CIwggnH!7jF~ z0|o3ha7ZvSa4!WVj2%p%E#lk`AWg@Z6gU|e1PwSD7=*wC=!6&sUKWsN`8e3$Go^zp z1Kozj4!hV^4HN>fi*3Ql0CBOcH7KEeW-XTo`Kzo zxg2t_tve_~xG;BvZUg3FcW1T&9bg5v(F55=*u}PBqhJ@?MuU>657;Cw2JWL`3=Hgk z%zr>8F|$W9m%~kpf|_(+f`NfO8g{Ym9#GnYoSDkR!2J!RJC4~6bS*9qdm{5exb7sV zZm`c`7u%+RigCzks2u#@U{3{~P0Go@eFPNaY0S-B3=HBD>>13$po?w6KFS1}BvDll zN{(6Jz?GN}is@{ywEv;e!MmpB+@`$%8pe{Gg5(JM30m&~cmWieQtt_~(KQg58Sy3sk;Cl z7GSsHf~|+$iVL_7(%gTd-?!!9_Rt zT3iMWey|@+S!_TT9W!uug965kb3;?LjtsAoZSj+0|WPU zW(HdZc54<(UIqs4of-@b><%o&ybKJ2&Abc@LJ6Q01!6Jqg3aMR3`(nJtW$ZR*IMr7 zoj!Ygw33iLC`CE2o`i`%=be6jeYAw&7ElS|!TK2{E(W>`S6MfZRS9$tt~s`Qa4SHL zh-P($-GiGry-=W7u0D$ulp44*K!peNzFR?%PoekSdVws0-FM5rg!K;SFhX!tz^=Om z-5|ogj5U{!fq{+xBPdBPXKe+g0si@*T73m8_#Siq&!98{zwXu(WW_4hiG1~-%Zk|7 zvZ{gZy9JvIyYCik?s{Z%Hz1q45n?U__au;An^<4)F);8&uy1AE2sddP^m0>hq{6Pd z)dtl7J6J*05-0x_a3ux1?^Yg^+F|$Is(}iC-C#=s`3pcL!yYgvh(DJT)Di?cESNt6 z6h8aFoDc@?)1X3rKdTY=x?A=`tnc7%fn9eCb_?vfTWv*9A$=6$7zXYpP3wD3~YlsIJxII9=f5W;Hq}!YQ1FH$> zzFV+v*nPL)u!CK93)cM^qM0A;x-VeYc`r&nIkNv|br57=5RYL0%lb(W)N=v3=N~x1OFRQ5-v8i4DxnXmco^6~$xOl> z)D~i714Wd?1yJf?Vgp6F#B5O0m6;6`)DoGXz-3_rg`z|XNDV6+C}1QOg3>Kp5F5y! z5?}|hvw>X7z|95f^l-2h2r@8m-vH_0W#bZp77TKr>uwW4`5VMy;AH{1l{*7md9WFP zuDf-GTz3n)RhC_XEf6G>J-u3_Sh60pu$o<-tsErO1TqI4o7|v7MA@O&-CBW~8qn)* zIY80r1-TuPjXjp_AL!O#aITDF1LbxGNN$H+cMHz#32dM<3z+zMK<#zdb+@2ia;QZT|nD%aW4WKpa*E?%kl~ObQ$5bOSzC_6)XA&~>*dpgan@?zR|I1j4SnwFha2 zU3Z%TYJtP9yR`x3*Ic$nX3zizw+*PU%VXmLUw6x1#I{BlcHJ#I?7CZjP`s3|fsViz z;O_=yW7u`KU>jlA-A>VEU|@$|cPpvIz`$O?mIyLeg1wsUCCIt%pbP`M?$!iUkixFJ z1)GGp?sgx@ta`Q`Al)MDO>D-n>u%YRue)W3U3Uw%8g|_+*r+yeYzQ-OPXhG`+S$H> zOp;*lVygumxC?d%@^!cDug!N48P%D})rm+ctHJsj-w*=#_kvV!(N zu`d888U}vQ0q^V!!4jaeRY7)gXMxwgV|ymXz#zg8+HA*ulkE-2rTn@eXWVA{BnG+ewi9$;1u#k%p#;C~7ChL%&knMbgMk}VFtQ7< zH;6MZaOaAH26EUzXHg1*4wnEAIthXN1GzU5)YxKR0Ue3SAt9j%B?70|O`IM%#8#1_n;ZjkfiEoD2+{&?{{@8yH`M4vW4l%fP@1yVAB< zm4Sg1cBQR4=pI?vmA2nl85lTQz(>lm@XK*9FmS@Iv~2=$AV*HK@!NxJfZb@DEX}~c z*#SORnuC8iJ3~DKC+tewzXl8poUkixx5+UuaKf&%J)+IPz}W+~h@XL5O`U;(vzO5o zd_*y*t^?mX$}0)IeSwjIJ6n-~fm0pax#La)`6ZlLRT6ryE$FNYNH~Hr8$&&}r4lFr zm_Z|M+@KpgInyBQBwYpu&J5;QNd^YNa?oYCpb8G@Hd|rP#64u}kSiN>qlxGzWza1& zuRtdli01HvQp_SD&rx7p@vGca(KgIvhM-lxLAz*PZK!ol9b&A`A_2@=;}0DBvB(gpZrW;q6yZJZ1Y zTval$oJ>GLMFmORHvjrUt#MK81FeY};p@Llf3XBXa3@q&C)01V2t?Sq7 zGB9vW1<6CMx8<6q55L})Yq}NqdRx%mYOWa|qb1l^vN14l&72?&y59Du2m=GxEKs4Y zz&=rjfq`o_D9tIdgRa@&f?jXi%fZ0FHFr4^=z3dk4F(3Td6MAkZFj0OFmS=Hw*|FV zxfVn*gRZx&6k=fDS_Cr4huuJ#fq`rBG-=TFwwbI93|vb<7oc>rgAN+vf?jXCMvsAk z3wpgRD8{%}fI?>qyQUZe1J_Cw2?mA(?7ngg3|y;0<{x2S3kt6_p!5Hqu=jz^h2UBX zipLl1oS+b22fN-Dlwx>UTtO)xVPN2bUT@nZ&cMJ0 zz20^yKLZ07^muv9WoPG%8Cn@$@AbX+L+k!4&<2nMeOMyLG zpMinv=mZ(a^|oBF>un_!7#O&YgMvnfy#o})C#K0juD9I?xOp1Yl>m`_}5ArYMdfNn$SNOpP3iI)B$ufq4&f+f?W?T?a1M^|rr2=>~qi?L5#y+M0|Rpv%5_K`w$^Z!2TM#AVJ1K44!? zhJk?#cAc#;F9QRYEh8uuvG9X-_j5UbReh=FUkb|fj*OsFD1Pw225E9)1VzUm*$PlL zb_J`GVU+y{3Vk=QIt51A22eJ12P;%zl;r@WZ!bnrY3RZz>jg?l@at?dBp4XD;MdtM z1qG=uV~ITYHd{x7dIknAe{d*;Fv=bTNd_=h$%9X?R|b_c3>G7JnEjIw;7L<+yoc8UN40~h={+iZ|2v5cE!!MEAI zk^rTD_;t4TKuY5oV`RbC+0Fy`H-Yh+3ly% z^5E-i;|&=YxH1@dAlKQNf>M1ZBj}oLJtkQOP+^E0} zzRs50mkreYaGEZtR4gtD8s+B>0Ob)Dc40jR2JS#mVq{~FpYEtsEUw3-$-uxJ3Xti~umT}HWBvL1BA5_hQ#=+bW7s=Em(EWFiPx|fh%hj4PX>uMu!C+F;hq8#U%;*k(mM?#zJxs; z6tL4l;z!u`gXUmnfy7U+FJNL|;GPWrca^b#mG4uMo2)>Q;uUdw&uCMYtBSQ!|&p_kW!N-^%6pftzAz|yVEz`%WL2k4^P z67D-%nxHoWc`Ol;wOE1OL>Y9=iS=}8wPMNoyC5I(fXhA`{u)p;@q&v*2Yyh0iJK2B3V-q zc8~)%c`q@^`hpw-zo)hi6bX>J=?arH=zvWD zUsDT;TuxA=$sk=*yB1`)0V8N&gWDEVAvrR-)`RY;y#kswa%KcgCh)0nr!dxm?uiLE zVqoA-1+y9WgFzD&X^fzW1r~lYQ0`1;1dZW~fTv2h5!ckFg9f2%K;F(|bO2oiX2PAz z2s-bBe-g;1JVww}b`1PUprld4_*JzYG-dY$H0)gpR;IxZ_9pC}S|?CP2X;>_Xk3>Y zdQUCCJ;+6sU>_SY@Unz}i~w~KxvLo`fb5Oou49}Gx?To!(>HfLn9acd6;w{NGJ?+j zVBrrD0F^9lU|(7A?*>IM?8@5t0t^h?uq$f=K{Bu_Ys)|-Zx;1E`4T26KY= ze}RIxhY>VM7|g#*je&u?m(hcpfgyr{m&F9sO#)5At^}=g0aXB?@=BP2L4kV`BfA>t z3OMfdjOw6Um1clS1lX0e|K+EPYZlwrgHHbB-UU`5$bT0UlDoki=$*BoV?@AtU6g?v zv|WOGFXL8_p&8r<8JRV}0|eO&+=syT&oc1Ol4oGxhTU0v5tNQ#ch-V#h~b9aS-Sz` z5Xhaif)4zkF)VJ_oweP<)9X)0OVon~d$?gY)Ply4xM4TcHiEJN?1tKZpj-vJp%yfB z#0|Tl))y4Nm%x_>r7&=pfMVw|BdGM}>*2o22s-YAe=R7fz%Hl-%{+5oX9Tr`+4zl2 zKp}nu%wy*VjTUjkZm2y9in6=l_6i^W3{V*jyP>va`bMo{Nhi=K5BEz((9obbe-S7^ zUV%eOg8vJsc7xqU3mWR&5e|AB3jabe_U zVFI~Gd8C0pantv37}dGb{nlT$UfL@w97!@!O8Sj3v_`TIPr5a zfyzf2esJpmb{j3YsODjs$mq+!pa5R&z|9L@;Go9;6I4pTZleWtzqnzy(K>-DSlDf} zXFyI+22YvW@Gkz-0$Pp~%3Z}|RS3G-3^X&qUBk2pv|^Rt43uAB*VG1rIFJPwPW+%2CpYYx+U3(1 z>J}^3OM>!5El5=lIPmy%xK}e>0U0U}Dm~YL*$n)apaij&2{e8r$3GvGPGOhMg3HM* zOrTquwfK!e&V%1M3sU_A$?*?Bh5a_BPS8bv9NasZM07y?8PKW&?p+`b0|WngP~&hn z*d?HW&g&p+7lOin57P&bOE-d=mGCQQx!IUO=R|<7pyg&~289I!zaK~)4_G2X)*2M- ze9WM6i4IoTouEQf0DST23Rc1Ua8N(kisSlI^KXAel=|-D8a(7ru_~wMUi=}68LJ`K2W`& z&OA+?f#C=IA|0)92ELOm$>;aAgw2IjfpSJQ$^Gx*iC7eH3%GK0pythi)9>M}5J z!>^|02Nf^yt7*eQJPT$}y&J$K`v4SUcFdqsA9^({w+r(RG4R#2lLbLrAv~CO>N7Ab z;gvlON{n92=k>u?(?)|Lz=s*su-w2a%MEfU{A${Zp!OF0YTBis#ti&wTF`x(+yUUh ztvkH34xr=?znbqrAqkKwBDei1b#Iw=oZL&?j*1e|M1ERg8~YE zHLV}0;R9KWA;%~CAJjZaXTGWrzMA$aDC1``gN_tY5Rg>`smx*q6}U3WvhzUx&1U`z zQmHJv0n}!PUrj3va!elVYTBKkQnwy{HSIe-1_o~U)wG~xCEP{eK-5>3^##Q!$=d`T7PT13VmZ1eF%3;m+vI z1ZvT{FflM_gPQJ8K4Yj3IEww4Kyf?;bd6jJ0|SFNII^Oq%bOOfN$46gFld9#&w-k+ zp#f4eJ=U~XUwo4Z1B2FN&^g&{OrSKh31q`(x#^2di;TYJ#adto zbb$FUK;y#TnC%8Tmz{-yLAQW`u?OrRBM=XChg&b$<^UE31|4v+=mYa_fcW4v*bnAw zure^{fK$W-CQynni(zG8FagcRFirzklS~ui)j((D9tXv;2`q)EGlDPGYG7bsxNOhB z;6ADH#9F6Rs+QuV~Cm>0|NudM^dH`AC-XI1hUkSfq~(s z!SpQiVi~b(W(*8w;H(}8UJ!Vkm4QKvfBGErVtH3^5=dkQDe+>1gntq<$nfhR9>{V? zDX+-Rz+e&uI^-&a8MIQ0X<~>uXth2oBLhRrG>c*hHc zt{zioj0GJ-#mfS!q>al#$7=GifQlhdjstBaV4R~g-Nv$5qaNf7#z+R^Nuc8^)mT6? zJ|H#sz(HMQ&cL7rPT6W;-A~vdp4VgnX=CMJV9?nCiU-IVGbT<3290eD3=IFlMME^B zGXsNB8z^6c(j{p208|*fG-qJ20*7+|%TCaOJH{Z>0tUulmdggy-&;b1=!W@pUaMkB zFC}w`UyB(S7>vM2mS=ztlV(T;JI~dEfk6w@p z2AN%8RV*)*Cd0tMI1_9{DADR4_ zEtp)kGC!s z&C&uL>SzTP2L&@|6Ds4JWJ_2uLu915A?~(i1zBYcI)A_zG~B`%!U`%uKpGvuuAc+f z7y>r(8dPIA>t%!K_pFO$>%W6kfbX^`W(9TcC-E>aXo2gnVpdS;x0#25L5GQlfq}7< z6_mW$co`UU`aySbm4W58K-e)mK^ru{!nleR zG}yuz%wQ}g37Skk3)guXtaJJF2{y$d9AIahWnDgfjZLvsJt(nHw1P!9=n_ji1`W`@ zAdm#8BmrIS7sF@=8nXtC(im%i%FcgqqXod#xsf%@QUAb>I?oI9?>|X|dp<}2Tx2q{f#MakDp3z~l_KcwRSl2`xZ(p<%#bP%l!T2= zfM(gZfD5U7usgzS7#Or(icX(pTP&vzPNG}DWff>;y_OrO(Xf?yxfKJ$Wqt+*Q1aiw zeA!_7ecNIc$plam-OUU#mT6*?S}L^AeQrHn#;#aK19aUiC^SkL7%cZOFfcF`F@R1< zfeNX)FfuT#1%=}D1iNBUaIxV&y~?gwUHl-ZT092N;1S@MIAt?^hh4F<64=s{;PtOe z6Qe-&%PDXc-!8zwpaH7N*G~UySFB_O+8oU|N6!{k;rW8Yh%rbT++^|vFOXpj)&|F{ zFF1f1Lo^)0m0_fPvAokMP}!Kw21<#bgak?ck+!fnN(O7W3OaJa=rpK6DhFSMHXrO( zbvp(Itp(F}*%!+*&YgbCzF5;4w7`|I66^+NK}bN>fMby{*aS47$5_h-S|ZCdF#w#k z>%b~=1sNFBKz;%xETQRc4#nDHQ$X2r5gTYy0pu>w?o-A&xzpPniZz%n8%*EmP%Q1U z*$!gEUWg5mU?cZ|jr=3Xz@QTjI+kxgI0%eE=R6qS0;T=ia6@gtz7VkoH3z0kI2J2A zgVGyghz4jwKd6`i#UZ$AVuDqd40fQi@L0|;soOI!u>A)Ed(gFxb}Qw;*E-ryuX8LG zs|TGZ!U|4(_Mmp6gE6ReKb<+v9+X)?En&wHeFg>)=BaQ}WMNNIzK-lT0ECT}wb3b5q)Kp+#(A@6lRBX#8 zaX~7K0W_+}z`)K>%TU3fq^tlc=4&xBFgSpB5f|6Y2Qj)CVNxI#=yF|VhBA%$AjT4? z)b_VN#omk@Yoz8EGB7ZdO)vB-78YM4HNS;{fdQ1uco>QpI85Y<8I+XQOwaNwmI6tF zti1v{h+zu?As)7c8iwqM=@$cwrI^-8O%F7Rl9;aY zw^?ZVhGR7>)1`xo`F+<&%?Djx3o;bL0p$5f7N4J_re9cpNMd^YxiqoqaeJ0=Pk$6t z?9abKYJLR+14A`9fmE!R?hsroD)0bB@PX8HLoo%3>9xVdij1eH&krtE7w=+VVCV;B zS%x4GH5tr|m^ytOUyRuFH7ne?r~eBs&f?f0H9rq@e)9B%A;rSt8>Hq>WME(bMLsl; zY8aH1H%y-uQY^*1L2CYV-;iQyP%=Z(vj(f4HDEoAYqraW7N2GW1+e2v7m4jG;l<8O zjA_#oqKfkw9j0H1Di&uvJ^eytu{@*m^be86`FP}vw_8US`>`@AZ0|}ap3cT7HvK_x zzu0z*^kObXF_;r^FJGPtkTo(UpC~~p0cL+4de6xcRhpc4eN@3a!q>!yW`d8 zv#HVcQ#*@)urj7?KfJ%#o{`aEI`hF|ea6$%jSm+4Gdgc?K3MF`B?#&d#xXE3h*&T% zfKI-N+kX9YaXbevDAj|Cb`e5SBkGQPM$7(wOE}Kl%7Ns7#OBb_r6+etqF1) zsHX}N0;M`oKTE_DwB(L~0mSCc2GvOn3{$tSzgoPXNfuO}g4SJuj!p)#LHSk0mw^G) zJ+|K7eWSRYuU?gvfq~HoqR#<|9f8D-Lt>{Ov9pla1xV~NBsORW9cF$Lk~nA;4WkkC zJf=P*i780zSxD>!NbF@u>@`U2O-Sq=NbG$`Y|ypjFbADtjYs$%v|fLSy+gz$*+A`NXdv?-v4y7V3z>?0${`7XZv}=b)j|?CKw_IA zvB5V7L)AM?j~6l(Hw0f43>5-j6bxm9FA9dT!50NX*=f`5Cr66&)*zYMIlW(Ci#X$& z>HCv?#SM=l$=pI>KSyGJL1Hsbe=o2_yj~h~NiEb4O(eD{5*vJ{E>ul8l6VRdyAX+8 zhs5qiV$VQgFNLtdEkcG()9VGdh}WNih=J4jO(ga+B=%<{HmF>HMKmwy)>^0=wUO8k zNNisub`%mj9m0lO$x{O1fF03@#O|MdS#XPT{eC2&D@g2zNbGk=?B7UiPSEYNP&bMq zu^o`uzDVpSBz6Xb4cei?z)%9=fZf=D#0KA~3$Ny9EDAIKH$)r~UhJToX`xOPL1HT)v2Bsqo=EIaBz7Vay9|lljKrRR#GcEI zRCKLElGu*KK8nP?g~Wc2#QuWB2KVowo)Moef51Y#-VoH~hYEqm|DbGdB=HC&b}AAZ zw9y+DXdOu6Q<2zy*n1#sNFbktaKMT38WQ^n68k3-8#Fipvlz4@0LE4T-CYay zfF2Ut8Hw$W#E#(wo!1A|0NVQlGpGwm(LN;h3naEUsH+dvYk|a0LSpA3v8#~SZ7?>- z|FdBn1_lPu;%Jy7wjzliLSmmsV&6q#e?nsaM`H7UF2993R1%4;4qAH#v&;rb!V`%d zhQv-rVizE>YmwMpNbKoI>?KI-O$c^9!*K+M;R+J_ArkvN5}O5d^)1vlf=FyRB(^pZ z+Y*WGio}irvq9q+3=9nEU=BF_F_a>)yO7xHkl2Tj*cYZpOKnlE2d%1v1tu@(qzb4T zrI6U_NNiIiwigmR9EqKZ#I8bOw;{2?xAVdpTJw-3Rw1#sA+Zl3vB6jMLLGVwN&FcS z`!f>zKN4FNG>!z->m~%cq5#UtL6T@jV)rAlXCtvUAhGu%u}>kfK}Wj4Lifq^`O;gI z>qS8G0Z=Oyk=S}jY-=R82NF9BiCuxjZbf2GLSoNHVy}g;K{=O!;ShuaPC4h1*mscF zuaMZ1pxbewj#firn;@}0k=V&dY|wH~SQylaAeCGTkQA*&V(&&`UqE8tL1Mo^Vt+wm zGl1shpbq6lVk^PeAph&bI1CI7pp`x_*F_+SgSKkI#0!wbYmnGek=P57*ng1Nf}opn zp$-D=YN&@9YKkP0fW*#4Vpk!t+mYB)kk|{6*z1tkyOG#G5$t*fA<$eN)I}0VY&j&h z3KClji48hI2<8DZByn3Lb{G;n28j*6;}>))0w~pGAW7sQu}hKIOOV(bk=Xl?*k_Q~ zH;~x>kl5h6e4!qe;sK4iLpiF`)4vrf*ZU(0#UQaWk=SKO>}DkP1SIxcB=#yK_I4!p z5hV6S2z$Dy;ugXBHxLdeY#8`JbKX!lN+GeWkl5f$d!cHAki=V%*j-5M2}tZ|NbETf zHssQdMGy|y5i5|`;0t`AmK{P8KZnEy9ZUpE8qbi#nWvwB-7Q|P1e!B|8li{8wnAcq z=M|u8z>{TAb{vu#@HM_r@iHXwSxD?^(^A6G-eUNbHA5>^Dg4??`OW*(xymc|r5EP=6>v*k)j#>q9tTwha>76Nw#*#4ehC z{#UVheGih*OeFSlB=%+`HfR$&%q`cD#2+KEKOnLHBC)wZ3tOOWmw>P#=}`^B0lVD< ziS2~M4nShZA+d9i*i}gE4kY$8B=!;{_9i)`YWM(>#5pAP9VGTEB=!#^HXG>FHK@-- zkl0E{Yy%{=9gGd~zYmPVz`ziN#Ga1CUW~*(j>Nu<#J-QjevQQbj>KkGK#Zt?c7edF zVHqR|(1Z>wj?Iw7osrl9NNmsvWia(wNaE#4>=q>UL00L5(m%QL)E`Q690+BRtDXd3sqx|#C8U=LE+E9zyQA47pf>4ECEi74CzShVkCAw z61y9TJspX?7>T_eiM<<%eH_`K%SaOUk=U=1*x!-Z%%ItPsH4F*0Ylj`NaC7EY%?Ub zGn8!#@@D{)17gP_v9plaGJ=J#p@3u37th^-$G))MPmO%VuKd*!(vnrbU!ZC z?XpO0EhIMh9$%;$Plz~ZsGWf!6v6>Hogop4or}b-L}Irhu_q$2=OVFJA+fhlk55+= zuLs}r3$_0qlJsjN_75aBD`=?>R6Xb%K$u_Uk;HY7*x+k^q3Yd`#DgJhND-d^;eh>` zi^Q%%Vs{|1r%gRyB3{1gpNbEC6?3+mJ&q!U z*e{XT|6y#9|9L=n*+P9LiNppiB!l_h7)jg#iS3KTjzVICHgdxBmLQ2YBC-24K{s$f zEuM`eu>y$=zNHtc<`9zjc_j87B=$=r_BSLpGw5Dhs5t@%c0Gd@g2P~r#CAbq2O_aS zrxn9|mW?D{fy8b_VoyS1&qreK1hYZm4_f94=77^5!&M~qV|T(F^NSa_S)(%Hl|D@Fl%a4d6R^p=|IS zy->D4l6vqRy-;!R9lcO?C6bzUBz8Uc!d|GN#Yht13wxpB;0t@9?6XK}ZX>b5_w_>6 zfbZ*tvROe_+(Oyl`+A{l@O{0ofoOdsMc@m2p^Cs4_Cnc_NNT_r_Cm!=k;HjGYw4ik z5=d;&zB)$GnhwxX4gOOS7%>@Og3 zsG9#EHpl|d@+HuMLa4Y95?j^~RQ^L1>3}4lY(o$ms=)@thKf6a*ig$tk=U6?>{=vt z8xng7hz&J!6^ISF5U!qKogw0OxSb#gsG{RY?6V*?XgxFo1H(m-dMF!wcQ91_eUKW^ zS{4QdhQ}Z^Q1&~JI8@Ca5F08E+Fr>B8yA%T9n=n5vkbZ=&&B}2uTKsNzH&8Y`piVWrGfFz(Az?UCGuX!^! zWnd77vVB2npaunj*iiMcAU0Gy3B-nq=YrT!@gfi#Dqag>>p@q1bwfDdvUe5|dp?K_ z)vyl4hB{&s)Ip$4GP^ zKU7f@NCJ8wxC0=ApzPBiaj2SWAU4#{CrIp9AU0IZ zR}fnY5@kO@=0Mr}pzDC4dPVC&9H<5b5F2{Ul8Pk*gD{k>4HAc{F$1w>Ack6j)Iiy; zAaSUg01z8$K^zi01;mD`0bh(P3oZYPK?cb}46Q>_1imF1YS46$IFvmX#D*HQ0>p+a zXk%CdG6%}u4ibl|IRs)u^&SVYq2iY;LFGSG0(_M+RN@gx5mfv+hz%A01Y$$Qe}LFf zac0oX#Gr!*KnJ*6F))C3P=mZ91QLg;kp;1#dX+$Iuy{QKgCU&5z+eMngI3>ymaKye zg0j6q;$RI73}GNP)Sze(8!DcO#4Z7`p=v5YY^XVtkl5=$Y*76Va_LSGM-jwgVAuCqZneBVHh}!Iwir#rbR)7(izNg2GzE22}n-B|MNM zB0y}Yp~)aNXyG(y0Aw+g4ZcAds^&dN4U`SOO&ZGPM!JhxAH;@=TY=c1YLkJ1 z!OoU}Axs#`@dQag6@`GsRoz#t4|gKv+84^ez;GC35R`omBo0+`6U2sUeu2dP31UOli-N9JhN{;^ zV!I--!FNV$F@UZ?WMGI!lE_737b3AMrq7os5wCAS66!!=gYS`s+6lTx8rEN)g`@_2 zr!-W}G9>X;NbF5W>}^Qwy%08J)cYWW1CFi}NbEC6Z1BC)P|I#0iQh+JKSpA|MqW^x2Xn%G13LT1ag7lPa+>0&l_i0JH6s2WBPMz zx2Pp8%rY+@AgbME|%w-5{sLkCA11eNKr#qrmj@AWCMsd~S(9qr>!k5S220KZu$# zojUCbnI2zUqRv<_y&Xi|n7$q)`Q_2{ z8z9M=>Hk68D^I3tl$5A3ZkX<0Qlic%Grb%{O_)Bvq(q(R#nb60K#~`xzXypXOcyUL zQD-!nZeLoW&a~p$^o&xlE&U)-h3VTt)S2n`K~&6i_OcRnrYGFfYOKVk-*#Bd&zLbi zysSi>@yqmj5LGgLIY@y8&vb$Nf@0ItSab!LPCTFfqpU=Yv0}P>d5JnB%XD`TB{4l8 zL`6)WUS6WkTEol0aC-XT@)BjHH7};WC@)cC^q9_HQKHURG2I+QMNE$eQ5nnlpsnRdLMexss9jY&apdcr>)vFTZH;R1{d)72|W)EQHz`-7;E>E$45#q{|gDq;F@ z5alubePxL{)0sEZC8|o)7;C26SCyzUicC)jQ5&ZBgQ$S%+dG!Kj)S3PWO+WD7 zUu?Qub%_AehPTrVs!P;ZZ9pf7PmiuHQD)upm4QKKdUJJ&GGoy6<<%wXjKb5;SA!x= zclwX&5;dlGInxztO4OKUcun`HDN$n-o1R}&qRw>1clrzvS8w|M8gSS=uPISy)o);6 zsGTlc3kr=*(+g&Ei%s{dEfHXPzG-?wZHXF_{O0Kfbyi~2=hc=7Fa}ItUt6NiC_nvr zEy%viX>}!PY{w5XFvN3$u8(EZnC@R!qRuwsDg%QM%k+XG8IkD|>PiHmH^>@JSFrVv zU@Pn2{6rkfaFuFj2fx%6HfdO(~>vo6w5+Oz|n4|*V^u!oO zIi_#mi(<9JVB(-c>>DowgNiZ(gO)PrB3dmr5Whnh#I}N}*PkvuDUW-4Qe(*;HqhDk z5L4XvKq^7S6v)aaV3X~n{)29kcVJ)u%YlrC;%~gu8=lJ;K}~dGdcq5Gkr*FDFGT(S zlhZfcNlF8$5nPojJiQ=>k((Q25J-`|6Fjez`(EpG;}909qg|Q^(EEY?K(=-7#Y>3 zr*@V!GFD7~-dWPXs60KRtK@{(C4p_t0)`9>9n2Ai3rqzA85p9Bts{(k*CNjc+b8#wI50BuPruSzqQ_V@ow=_>TSXdlwdn&6 z215o03udFs%6pkse1_aP$|EETzO|KsVR}$sNid`0^ksb|_Kb?tpY@g8_ptro$iU#i z;&erM#TSVBFe@Gp#hw%%7EePqMg|6+C7$q0Y|)k0azV8Cagcoa{Awr5Kev2)v+1MAkTrXgyrFM z<6wYX3cEO?t8+oef)0r@H<}h_bj@6_a)GAQ^w^0d>H-q#Gx(JjXJ~=Mc$hS$rcaqz za$51Ok;lCQ3JkK4>wTg3+OjKoegVZu<|L0h+Z!g8m@%?_NsC}#%QXFh^nOvE60irF zuJJZ;e3^cCa)~qJ*X@c^N@g-KR!rYLtwfWtc>2?6B`%EjrfW?vk>&id$0F$pZxY+r z=>gMA=}YiS9p1x z6f_i+T)s}vomFBe^d(JGebNoyNtz~eUN+s}U8JGCeZ#DhNM^=6)4ArASTKIs?mVwV zgo*La^oRu|ms7ulE#@@3#B0R-aE`LlC0-t8Bd3Q46c`r4Zb4RLV9;Pvx}@y!Y0-jz z5ZhONIws5@ZM2C=26hGSo~lhkENiR}F>!S`buvN{zU_w}MlX^sDX|(XR+v6vVTm52 z*7W@gOJrESD0zIDet%(!I?LB4r^nN|7L`OWdQ4AVR1(DbmB(|!B!x*HU#IU|RN~F} zWjfd55>Lgi;!oIlf(=Xr(t?$EW!{V9yv`Qm*;pZURq+o_;vc6r6tOYw$l$REs8zHwQJ zIHU9QlgmnE7{5$^wyZ>z@#}P+;s1Iw#Bm zg)qF>vHbv(ZPHMh{&q!4G~<`)o-0dA7#~mHw-S`nr!%c8$>;iNw7$W>M8U}E>-6eX zCEAQ%r!QYs;?DSB`ukNSWsG;Gr>!n|!T4pm|C$n4M&0RC*Od4wf^!sZ| zBvo*z<7jdM$(&`~%d(bv`h$!RvFS$ZO8gk_OmAFQqAl`8O+`tqh3(G~9?>=-2B%BB zPAp%iA6Qr7#d-J64W&!GN=$dA3$HH;6#2^jM9qVFjfj&7yL*ZZRHkBm$y`RY>0%p7 zlo`KHx7tu5&v<8g)P|BZj9;d+Z!Bq&_>$Hk*2Ks!o*^*l67M3;uRIzJT?$Q}U#BnJ zSYp7aHvQ7Zl0e2U+f_D|xPU5`%*`c%jJn%*Z!U=iaV58wOkz}8RSGqY4k$ zV1+VolA7}LbvsKU8NW>D*i|CW_-MMut`begN7I9Ll^8QVn%=gn#K`8$n`=BddznCm z&{9Ya2)fG4qn70Q6?9cM2OBd3L(ma{fQSV=Y?-Xm9osBE1VQpo5bNFPUv`yP@h(eb zU`X%aNV=??#HKUddUuJn)8jS24>B;EI=q$%Vk9)ud5xGJ8#z5PTEJlB^cY+iaYE$T z^cfhEF7qa_-MzDH(q-OBno84m>@Lw_d^G*>?vfyhuRI+MoeE80CmBI(xBXzGtTf$s zPe~|a<@CjSO6D=%neMc=B$fY**dx$!>l#ep!tc)ZZF@_0GcrD$UbMeNh4Iex>HAAw zG2YqUbfBb+QQahL2dJ`nz`9@#%{Wmsl|hPrrM(M1k?k^nZs-WF@}xOmT0rbh^e{q@uKkJ(q>2 z#X(6y$?fZO<0B=(j9;g>A1P5}RGGf=NQpn=*Xcixl&CYROjkTw62_=9z2azz4CB}7 zQ;(LEfXc~ZCAOkacZG`>!oo3#>Fe~EV_O2)7Kv>iDy)q&VL-#iQFD{ z9MstPI=%HoNrei$;$Nhp4e_Fy6zC>%(5>;jJUn~37HMctS3Fq~$!M~@`ecbA6XTcZ zYfqOr$e2k_pOj%%X$tds5$pW)=S;_R7(lfp=NWK`rhleH3lTPk3=Bp|hSM|7lr%AZ zng04riGsk_@QgI0YrIbD?>lq|G&z5rE`7Gd3`0l4*^&xImFYLnmh56wnLg!Q$uhyO z?8z)V!fp%WED>jN zW7~e}Vo41n(*nlnAExt*P1njbk(eGQIY(mpy+})m=~5=l64PI8=9QRUr|Qf#{m<@= zeADf6wIrr@9h)pMo$sEt#B{6B)jZSl1dVv6_gyRDn*QPq2jBF2J?pu)7hEZEW1oKR z6$g*E%>>XnFrXGG3*%lJ1_qv)3=9l94h#$*Kw?nL#KO$NnweL^z{0}5+LwWWg^7KK zCIbWOLm$wE?Vt-%Ss2-_Oy|8*B9VT{kAZTZcNFOwAm1B(meCy;`k>6h-7_=la8W?*0mXFLKD0&VYNiDJCQ$iToa z!IHyxn~8xzAPaOrelGYxN(O;PAPe%q97cg~PX-2-d`8gyGAshT_6!Ux1z-+`z?$jh z_e#_mxu?&+S0c{1Z2IIj9FFw#1)-fl=(RGANC4 zaWOD3i>(0#rPx+I1_oBK6QHXM#MXl@KodK`#K6EICgjS%z$y04fPsNa40H=Px0tmQ z0|Sp3Co2O3uh>d^1_nN{yG9HQ{9+<(3=9HdnO+PGf?^A_7#M`ap0F}72#W~_FffRS z`AIM{Fo=ph0bPeAW^cs6ATH*^#lRpTW;^}vgA#F%bPEOsj&vK)>9-(9`>--F@XZCy zwJ@+Y>o72Ibbv%TSU9>WKsRPJJ1{VCbb|tlfwSM1fq|n3#Aae(&6sZUutbI<7qrNQ zfmMHc!ov~;M#<@o4@;!#zgsadaI69)0#?u#e~z7?(>R3wfgA}kTo}Y+U}FJUAjHqc zz#t3~WncxZ?dRAl#m2xO1UhH~EGj$)v?_-+nUjHmV?PTU1A{mVC~I;YV2ovFU=Rb{ z62l-C3)(p&rY;W(Y7J?I2nJ>`(78b@V)}NVu&#GvU|l?md}8m4-XPdNnk$}li+)Pgm03#hX(FmTj?IXnW>Z9uLBb9e^DX2QV0(Fn0eK;DsofujlRVhMp{kn>xZ^qCnLBn1Qv7#KKO!3IbP zaDp7%2Ifc$T;XA0sOM;BlILJxkP$Fe2W1zql&ruzkh)GVM^50H90LPK7nmc@zzr%{ zKu3Upvl$};FS{@(A2ESWF5%DMn8Z{G@^_{y0|UooCXhM?fmebI3>;IzZc`BO2Ib0` z;1E#~XlANsVBna=WXQ_Epdz3P^4)B(J*fgKK*r7ibJ7@ivlti{IOa1cg05|6;#kbI z5@g9MEd~aTB}{6dJS6}+QH?{`qfSjN-}QqRJ%k?Au?y)P&-Hi4Be2pD-W zFmP;Pst09OMu9L;p|uq(#Ux+_3fOI64l@I%jbIF2!Kb1^Uo zNppcF)IkKOB4S`;0eP06gX29@5Elc30O(LUjt^i%7zFMLFfed@1alZ6$>0+t88FoI zwu2JtXC_511_s`FAoF#>2Q>1&lVxDw&|?NA9exQ8D`wCE;{u>+gTtCR4zyfN;G#PN z1BVUs4$#?g0)<=*3>>!1W+0CUn0YWTaM&@&F)=Xk2_hYNEV=q`624tHi%ZUzR3jULE0dO~dk8|4i)iUVX61BVaT zBrXQt>q-m^9DdBtK_)SCL^3DAO^Sk=)S?E;p3GlB)0K<@N*W9d9I;@3GcoYmDKju| z#4#I!E?Vc|NMv3E*PR5_4fc65)E!rx85lTHz?wNA!JZ1{a5C`j0mXP4a~|kUc?pgT z=6~D_43gk5%mkYx`5v@fnj;GwxRR`(n9c@!TM~2$Bu5U|;gXRc3v$8EVBlQ_N?Cc# zJGdDbc&k9pE@l?vVPFta z2Ka;0KNt9SA}<4jK#?Q^1BV9K4hD$znk@f8Q>si5>$SjA zED-Cp!Pc`uqEiQKE)T?dT`-3iV!a-i!^gnO3@W|#S#&_R!t-z#vfPH-XaqKv0b;B% z*jQ-cYr-PM1WNx9Kbo?rgKj}!-~}BD#$m=X7j!MW0EYz&C+MQ}H=yKd3HFGj3&`VE zU@I7Se}Tf$ngx78>K;%H;J~5?y4Bf`kAXqh8M*WZ*pyN+((11}QJ- z%yW(k2>SsjyUYNyp>3U6tSdpbiGWUj7SneJtr!!V#=^kB#K0>H^4>zQVty`;C9Dhr z4A6*M$_h%33<8{>Ds&lZAwL5Hn}CTq0|Uo$uyO1Hrl2Ief)#WY42M7nsLor-3aY<3 z8F(c?akPqcD?bARKPSgpRxh}*>p;fVGeFHyb?Qb7}D+*^s^A3Fz^b2 zT50E4R6uGj^W88{xZGBGhQFbWnia6ADs1sQl}fJ(KetV=)|y*OU5@(ICw z{}O5wxGDJx+5N8}?q}c)2KoLC>s^p$?|P08tPybCACYx`Le~8mq8sA6FJRYsG4S36 zl?-25r9hXevvd4l?SPx~6Kc{6P`3O9j%qdrUKMQy29DpXDMAbk5)mAKS;d6wLD%Dg z9P|&I;3eHbiT6J^l}hsXf{u`610^%bcu<>)kqs14lCg>m3>-{speUDg2PHCQHc(JY z%7a3eg$)#nl1v~qtZblwkp$lg&Bg}urX<)s>}(*1GVrdkVTfhm;9#2qy3~0xNCz() z=mZ;ZiR2{Az#t4N8-zhD1~wKkVFm`?+n@%E09%MK1A|Z|NCmir0hM6jJ`Mw~9H_pO zU@HYF=%4QYzC^PA7f48+Z8k_~8AuN}Zh2>e`eUZxqlWpm{Wo4V3p8AbCF?tb!4e_Y>Im2{SM-2{eLw0f}H4W&tlym7c^_ze$*ZfknXD z64a7s194axc!fZXtrWIXpsU|mIWpKPL6&?11!g8#H-kU|s1(iua~K8Afl8ZfHc*+u zBp?>Rz`&6M<}eF90_EOZwj9tkfDF9ypjsf0O;3b@fnSEBhz)e|O}$`FNj3vVF&iiy zGYGJPVyT4f6e9zJfIurKQU0T+jb&gPr36Gl?YnX?N1B0mIjDtS!PW{gSAwIO z4Rk7wKqjcGP{RgkDoB6|m|CzMED)0*2ThAG)bj>_%&KPt9lgUZ!qLPQF3P|Faa1!{ z1A|~nW*GxV3)me35UX3kRtrIlY6EkG8F(*(;;fxb5_Fxr1V`IkE9*HXft4@__;G{!5p2&v zqdEe--V6*JQ`kT?fgl6#VM9=_f^9A6f_NE@>1+mK3=EQ?poB969Oja9Ky}4Ta5&XV z-T~DCv%oe;27>xW;NV!owgco41yF`w3Qo9^@vfj&-ZF6LKyu=0 zaAK2`0X6a0uqCoEFi2;oRx)s`V@m_Afad)HYUizID-vU1;O$ifbyV0ch(VhPFU1%b zgu!_TobNzf1~wLurThjQyV&H#85jgJix@a|LxNBc6rS}Qd%!#a!IX?_29CX8jsgSk zEKpUmpY1*9{&xe8gKR$H3=EQLpj>hYY>;$n5d+6zuxbY0gS-q397ou+#TgiQ13(>` zlWZyC3=Be`+ta~0Ul_zOSVz#t;<2IRV%YyuJt z3=#rsKzaQ(o0tUX%6c{yXFkx_Svi;lr7boVP&0^)r5{v$v9Tx#gQSm$fyfAuFET)} zd6%t996k{9nhkUnrI;LOFOeAN1}jD}(CtS|Vr|nEzm!PS%YmH#1)P|9TS2Yde_%F0 z7Y7&nVF?BXLC`hy9Ng@n+{_@Do0-SJ!2{+n3HZ4%FmUjKIV=LIpsdOV=CDCVCHUEM zK;sb%ylX&-LV&#jbjP}_3IhX&DEn;*1_q(85)2IWkk%Z?jlv)+z`@SI%I3$wz{$=a z$-p23VzMqVVqoCp5&-c*Ox7b#pbMH6KztCBjYU+Ffq@mY&zai@RBp3YNii^RyMvjs zpd;Huz)TT7&?S{1Ccgl81LI%NmFWT@plg^K!NaKx0;1Lo4BSm%4x@l9=vK03@O6Vs z0xqCyrCPu;ECSC!7c#YiIjjPpQyaP4z#KLKR*)6#U=F*$cF^@m9gLt7mP0@cq^A>X z8kfKa9|i{QE=F)~g-756=u)n3uqHl%FwlTk517Nxz;<#lQdwVNlj$5DJ6w8F=TKg2F+RDlje;`qSRvs{LOfpen( z0|QSl#L)XP3=BMdAT|?cA{PS#Pd_LCSUBfTH~3y+U2pHsz`!#VBrU>~m{!2RGtE(w zfkBL`7{s0qx}#8>v(n~GF!0O)v6VRMco-OX<|;EYFer0c*fTKj%+r=+V9??$w_{-7nXg^X$iSe@3A*@; zX8~wzT8HyG$i0g|nteF;n=>%*EZ!``z~IXn&H-AT0;&?aIql^b76o3qz^Mn`}c=m$)!N?h;!oa|@59C)S&ZpuG3_SZmY!1%5polmCV)JoM1|^n* zAhrl+oD~BD&moYXq&U?<_8taBs0?Qm$jl=kyA(KCy%-pHj;@tuU{K*IVBk3hTD+~n zSzlX+t;7J5W{24~Mub?!a1eUwNC^rw3 zdr}$KDu6Dim)ik4r#^#GQx0_PklcAs1_qu?Mt&&<20bRZvr@SX3_MwkdlkSp)U&aG z?nq=~xxorb`Pxz-5;V`leOQix0i*^z5)MjEc~T4vyn>+8CYuoy<*Wtj3=F(Fw?Ow> zf@V`+DL{)02L^c`MqXcIB?bo0AIj6;|0xlZ1Wgt227uBB3+Hur1_s_hPzqz?6rC>j zw?sTs+<}3CHxwkz!Km;OG*}!4;&3r4d~ju8;0*_Hco-G#`Z6%^Mt}_FV^pXBjWI@o zGL0IeLYgE418)?Fqt2)RO5MCMprS#8Q6ZjR-oBg&?vDkqXOIXOMgq$>Op6x@fL#=STiad2lf3+vX~ecY#0^TH5eFpOFfks z7+e??xD*)}c*{U@V;+o@V0`O44k*T85nrmjwmxQuy7`Tj#=UD0ObY&&YvKSU7*Y$!g&DHYU&1wn{ZC@ z0kxh%;uf5N(hLl|eIW4&&KhF|2HpuE@fc25&=lE3ka!K}1$hPr-pL^G2F`E(3=F(e zK;jEHnLv7{fy9?^c7bAH`fLS;dWIvM|3Fg$vp^CjI6?EMyt6?XUT~fV1=l>#EWjI1 zchDsDe31ATPS7S{-bEnwKNNJC7#MgLgTy5m6+j~uyh}ktMly^Fuk;ugcvpgC6c`nj zIx{fvt^p+k6-I?uN(>CV>p@f9T8#Aypk_MnMo@F#h*1Hwn}K%|6B7eN5~BiW%!qd% zsGnTKr~n#T;@uA#7As~{m<#ga0Z_D;Ffy>QEC)@SUQuRX0AX-!Ffp*P>;=U}x&i|O z@8Kv=2bhQV3Y!W817`vU0|W0>a95MlRa%RIf%hiJVJr-+pxuJwEM7)%5#KzV}|TvnS3fJdmfz=e#pKoiJ=Jm7-TM&KU<0|PHFxD0g= z&;lh{KCq07zz;7523~%!jE8_OC}IV`GCl&AKxtDDTw(?YfSMA#BH)5HMBtq&1A{NG zC?m*oB?6#U39lH~Z50BbW(lu2m{TQC2=ccCqoo=HLyg=i(8RbTBWRlP0F&HN3kC*W zDMrvV*J&oX?&*6OOQq}Yf_y0lcK;jAoHj@Uq++|mB*&-2z`&~o zmb=O%S8U3_z^e`BU1O5FZ3iloz@}UWMK>sJxx-W#7(79jnuF%fSr~XFK|VEL%uxZw z7RWG1#>{%q;Ex_Cew-OWvlsj-yeW*U)j%UN0SpYhsbDsPz$K81G)B-&28#e_$pddX zqXI9e>js(<4@+Q2wj7sVZ3<4iy7#Mi-7(wMegMc_F z#gs5Ase^8_7kB_FX-dJ$Gz7rjECYw8jsWQNGTw49M-Myz%v%BWq=CRbkc%q8976^+ z7JD8B23`|o1_s`0#=RhWV|eQr4}k2=XJ%mFtp~Fi1g3$CiB`sA>Y%##q9g-DJ#QP> zR~7<(Y77j#?ch}9A@J0Nfq}OJY_Ffd4OIpP-cGPp0RopmrF0h~XkH;ufDKd@cY`@W z0#%^k?O_DXN(KwWfXc64Mq?h(y;E!~iJ<#{HPjgxuBk(73kC+>E;$AUdEQBkCZJ2~ z9eCF>hJY@fp8_fnHh_~LgFyK7&&;I`_47etw+k#UD9|m-z`(m3%u$Dwz9|||Lq!>Q zFM%R-FXJPSnHjtX84WbSLkHOmyoVS;MG1qz6+=)d0Okk?+%jWe;5`E7Ch;roEuNa)S}nq-GZY4I}a11jinSKm;f%?}Clz6UYYD2KT@meu2Z& z`&dgQoj}7sye}C+V}{}aVW9AM1r8_)fxVz|;x(fgBLhPNcnpyD4cKc<0w+L)<9o1m zEdrL)U$T}e*4u!Ru^uQV{sUVe>%z#(!X&4|z#!lZ8hd30vl#?BK=H@Mq@n{#b_+mt z9y=4LQO+Uo15{#hFo6nS9)V>b&vPB!wHO#y2`1&FGVmrafzrkrxs9Np zPGkagSu7akPJ_zDOt6U#jB*=5895isb7Yib0=0(nKxQ&HfhtZ=E@EQ|1?5ywbXe&? zGZhm9uP>-t%4bs4VqoA8<*j0}ng@y^&_ob#4byqhu5E$;poCKgHqBAMP6<@zfGu(o z*ab>o4NQDY3=GZ!bEnsFlq%M{f#PX{E&~H^4_Fny4)1CvMqLI5fp?%HWeu3kAONbu zdDk+52BG8xZi38N2M#J|DY=Ddl@0@gmVgSVLfi_rTbqF!q*_oH;rK*Q+hZFOXu6u8 zgLfyBBj_4)f%m)&47|HQ98gCKwAN)e*d?G5(DR@M7cZzd+ruQQ3mZq{-N)3e%fKL( z3))5_#sNB4Qf#gUXb|L;8E6m$blw+>*euW}lvtfJXb=Q4Immm8={88;1khn6Vvj)Q zzSfH!5dvwP#skvmBEi7GBGw9ONr)w@faW5_#TXda#U6tOrNt^dKntP1^D!`RG4M9| zF);962RoEsf%h>}njQm#0O*`l-X~!1LuM9vpMn=+FbWnF=Q8j<0|yyo{*d=MSXn(6 zBul;kXGtCbaF%=t&XNKG-~#v+I7^BM6o5kJHJBqI0B$nBVFI<8Wf*w(fZFqKnVy4U zQ5+PSf5B$UdMNX&k$6wQO>)K&B`%-%@5^Xke2Q234`@%!ff;O?J7RAX7BKOBZyw zy)l% zVBqy&W;J49Si&nO2+EdT%+f{-3~PAhv_VCp4>PFkxPe#h3MiBLGJ~?`1zx!)pw_4# zn0JL&E*jLR^9S>8@XB?Ax<3J6XW!wKI}XbDfy|&b@?BoJxdIFfyg^{zJzlwFcZPZf z-e55IKCj#lQ2ibP<~`t*I}XY_pHq%w;cRQ1Rx%Q=H8 zz-(qmkessIA!`N(-dwPSD#~)#L3M8)GpJ*tr7SlCl-27Cz;4r3mQw_cpcjI9ddhMw zAY+QaJbh)k+n^XN28V@#vfNitIa>ne87j*y1!aO#X3!9UiLzXPC#Zi2ma|Zn`vxkv z%E3HKWjRAod$$6t(neWM7nCfk>Y3e*7#JLs8MytG7#Kk59^7wXW?*CC0NTX4BVieJm`91urLb)?-Y$Ys2Nz%4DbSES zX!#*uH%N$q(}9VBfv*?DX5`#%%D}+a2VygE_Do;ESE^$1)0lyQZ&D>_b)yI0j5cEi z2F~ZI3=DiTL6tlMXTCfG1K%uAB4y&rEh%N-n++0Y;gp#Ehp$vwA=8$Dfp0!YNQsjX zwAOY3NT~`}T5=Hs-@;Qy)9v|7WlW@$7#R4LfMkp~cY}r|mV(w9n{X-xFfi~f1L<~Q zU$RTWeYxYg==P#8p$aG*};M)LF!NS1G4_b}5aiTE;1M5)(1_r)8AaPa| zKL!TA6Zef77=(TrPruDyDp!A7j)8%-(TjnB?<%PO!0HXM=Z=&KXoW23^eK=&VJ*;| zw`?pRAG2;&VPN2U3{t@Q4dnS(ZXmT`aJ3+(GqAolXJFv_2sT_pkAZ>jJ7^f6RSaa$ zzjBa+tC^2AF~t67VuG@acis z3<5tvs`VMeOhHXD(3mx!0b`6QXeHKlkbQ=XpyR1{1VB;DXT+ER(l1~EN(jb`d8VL_ zkB2`41D^?Fi75j^y@Ws}9|HrQDPxr>Xw@a?JUBix#s*Uc1_c2ZkSEO<+e|^LAuq8r zFz{J0_LzdsU0`FmVhkF00woJJ78cM-ZWewpX#ggz!6YbT*jN(5>>MyT8BDGQwQE6F z#PeC1Gj2CwVBqKCvuFGUa_Bse?;XG`QU-y|atsW7j$jU>z!y-vzzN)1A{1d$ufVSs~H1>SgHVMmcs>fW{B7(@CJk^T~Ix}0$fi|QU=X(wCREB>E#Zf zdio}4ofZS@1APVt{%9sMxM}f?Ak+4NS0EXK7GaCMcLLS=SEWIwffjkNh%w5AGBB_* zunIFXFz}~=nxY&D{Ht2c85lU%f>vLw24x@yP90YU2L3f5HY4XjkUeWbY$nd>x(p2b z>p*N~&d-tz4E*asY!=S7(@zVPD%bNVFfj0M1*IqsPS9u~|27btlhY2gvtT=j&BfVa z!@$751H|U$tO3o#?*g%TIAaVL82G`-o{uvGw907jLuOF7_>(mQ1OGlyNhiYT>CC{u zzaPYw;MDM9VBkLhV#{!9g7hA`R?p19pupMa%fP^Y7*vBfFtCE^2mbp#pczLK{!b@C z{sax%@qY$c%D@F`u<(BYsp|dy*+=;Rve&$n-xG%o!MzK$pAc zF!BpA9ipfq@?~Zs8@c6cmw=VGC~oP?^N94^Ems z0tGA#4E%azds1f5yV+Mv90{x)=yfIj2j=)aP$_`WTVDuA#{^<`zN+s)+ zWEdFuEg6%I7#Q9N)PfXPG3FUDFuWDG4DydPnDb5`3*>D(a2EL>;O)u4z;Dk8N@;)O zc-a^j_#MFhiD8u60$Nt@2-#{6u0j%CaK+BMUfxi*Vi4Z8C?jlyID%!5dz`zfgy=@TK2Fe5Nj9k;} z#7cGQeL)WG1v|7)pac|vePGT60XIkrXV3;DX(}#h9 ze+sxmKSN*(DD3fM9*%n=X;$xH|D@>wA8RfU0pe;y+!i>(lNYsA37KObbzbWQP6 z0dvrOG}{D>E?g?*$JQ_%X`4fWlxuST2B3E(j!d0L%+wlv@tU zBL~5}5Jov|P|7&PsACJBY^kl+WMJSw4GymwP+~Y{391!9WdpAV9|Hq_Fe4~=@N@7- zfFo33GN?d_1hW|g4uZ^z0&_rJw>ldJ23{4Af1(+?KqVUwe@j1UijB$Pot2gY`AVaLD#y55d~aZY`?Edzr} zALvNHc2Kh)yjf29s0RZB;|x@l3*ZW8fD|f%R4SK%Zg5zMs_-OS;YyG~C$Pdg(D{zw z(jCMF^+p-ze6nR=sE63S3#1ZsFFb?t93KV-#&a+uRY2E1&jB4B1yOhoq!4s@yDAUp zHq~>WMmJ+HgIWh@JJoDTuNJ;)Dwj8RNQ40?>wOvMZg3~J!JElfp0egK6E=uQX5 zIjQyx4C;455dx99#mK;*1NN*rSS4eGVI~8kg(zq@q6ibnn7g3i0DrI~$e0GO>z{y( z0sGZo6jU!yZ;>t)P6hR^83RN?ojAr2El>v=#tYQ}bz>NVz{W5}Lu?F&@W3{PfNh)) zvQd)@w4-XGD9ARDHyP)sJHWzfqNw!rKhmXE^+65{3?`sDm61&xRFUol=~RmYUC`hS z769o61t8;`nGOsL>JLCyV?ku@F)=V`f!*#c4vJC6V4WGD0PzLuV~k)>TkgWZ!1xVZ z=7Ee^z{tSBIEUMbfk8bT#Qers1Ujz!KNACk`swNWWJ={36QlPOhZl$)+3 zTdGk%6?BuqKd>=xSwK+;IxO}-n9npZMmLawfgz@cfuY}#fkBTkig{uL8z}Bd1@#zX z7+o236QJ_z(d5;k@+F}2=z16!&OzjvNh!8DP9fuX$z6!$uydqLa4YiB_L0lp=D z&Sp?RfKzT8D=6LTu`)2Ie=?pPC08m_Z|20nz}Nv^Q4G4~S_8B;n6VRVLLM6fgFzVs z1HbjCT1&I}BY4E8}BWYH!z1_r|d2F6d~AelEH z<3Pvs%!3+Nq@c%GAI)e8Dq=ysO*I!^1_s7%5l|e13=bGE|M7fx#4X zh~_G=j~}};Ffi^DgXsaq0ppx+AU&Xc7L5DEKnr->*%=tLKvfdsJ~2?0#2Bm&8V6?F zFJ=xJ2nOwp(*g}VG42Pglwe>CH7kfuWnerg1~P~-Oc!(@?A9IzhGWiraQ(O~B?O=K_xyEhi> zUI7jU23=VO1_qFew@ja)P%5Vy!oa`)a_1EnhzE*5?qr@A!v;#4W()?Pv)m3&zpPNI zs12$+A(2=J4sXyHiH08NM7ClPP{~ou!N6buikdS$)8!RQ<+U9_xqm%a4isxUz`nWY z3QG#>!KO^+U|`UAK0Q;h)R^(W^tpFhgd8 z4LQQez+eDMK{p^_3Q9U^f%>2d0-h2f37{6P^Bg!OKILR!&^ZgT#6hjB5H1D=Z7&7}hB*uj3}@XL7&M-O&KFh`2bq-) zk_-bKeha!J*d3H@KnYMu9Fzd7K$0B{3=Dn@3=AnCo!>x?&=vb%*$( z44O&x7-O01C&sWb7+hmuVE6$EF{V-m1_oV_$C!H=7%HGzN*EY)GZ;YQB@7Hb2r+|7 z1_lPnUWl=!pcKOdG8~k$8FT{}7#LJ~85lrAub@~gXJ9Y@?Mv5(sxN0?U@)x*B}1!T z1_o0P1_lP#UItKBf9B4>zz$k%X|Wb`BJ4w0)~y41YEFR%1A__!D5f5QmI5yc>WF#0EtP-aes+5XYEc9StfD{H?jG%?GpxeY5tj>X26Vl+4AC#sI!A`pc zS1QdYI(@H7sd)WmP&>mEt`4;4hH;LtC(KAwM$lMT5H|w@sFF5k1Xa>K+zbp1RswDe z42+N-3CIFaeqx-H1=0vEwtT>AY>sdLExZq^5} z1_p)_P!#Dv>n=SnP$YudLktF>v=uyESFKc;y$WRT55MW*YNdMY^Su}tw7#fK?@=pN zGD`MlV1Ts1&Vju<8D!;YS5RTV2x{3e25W(KiZMbaIvGQ>5~e>;E0t!PGX0NQsRHB7 z>9Xpj4wj&!dl@f*XE8wW0J<-lan3G~(O}IGnJqjF3_6S085kI^fM*dIBQ!*(Pg5^7 zW)z%$O1)H?1Jq;#3%*q^m9xAAa)cCUtOay^69eO%Fdxvt8!3qlj8fojqKrWr;CPe) z53SGPWneG>N91%DjZ($>6Fv+Kkl1?10;;_B@-i@Jfo2mKA$-PQi0%(8pj7akmw`bS zth<+iVUrIc5J4?+P|^ow&SC~g&S0=w4{{qPt2ro6L8q64V^7c*W+Nx-kvK*M1|>cQ z21p{{2Dca(qaY4MN@+Hcpg}1M@am zgAG81di``K%~G}04{)`CFtwnqXN-a1?I(=EM)~Lpkm5)C+LcW4d6`{poGx@ssZM-PdCvjbzs~-y;Q4I zS7;yT&X{drCHn*!7&QJVP2Zwbs?EqU{ef1g1V1QwGiX;aFff1;yV7)a?NV7=2Y*mm zkd@8Ac$p1U8Y}>v)Gn2*Ukq{|gHdo{?dHNKcQUf-ZKu{W*eoCiQI~trt%An4MbU@14!8t8d8&t1= z4wN+x1O+DpV+}hfFz0}}AO;{gl;TPrbSIP=XiGP=_70sMpj)c!2ev?i3zUl(L*aR7 zb|Bnarl6Dpibh?~3W0UK3=DhWl6s8MjP?w=pn44?aV>EALETc}dQhtT22sRZf|@FI zL4g8N%O3=@0cr^77+O$PHGoL4lq@+0uEb&KS@#$N1H;Z<1_l?10#J|}Tw-8gIEtJh z9hn&z5*a^({izF14by@c7_{DiZZ7-G1rF~Z1CU29LUb_~e*@R)9RERugBb&Zbp)uD zCkd*b7~H@HybOZHIw;aX0X~2F7QIr3dc9y+@-X2Br86-xSUNM~28SnRI?n&_tk8kA-%=gAUa zVqjpJ7@`dt9S5DczixW7eyMK#nP5oL2w2(ylo5hM zAl6RTHz;+n)eeQ|UkFyv1lPZq543BLdE)MRNU5`g4-_RA#2FYs6RQlM9@MRn=^G46 zbr?CO-!&-JsaFgIJDAZ7+zs4a&tN(W=4>m_RS=9_g0LbD(uKGa%D|uwIyQi@OAyq@ zZk1qQ&;sqaW9$+HSq5uA^az3im@!lrRJ^?CWngH9*aS*fx}c^AsKYnk3@!*NTZ18Ra0C>$AsAoa;4A+XiK;Oqv9 z6{Rq+C&5;OI<%k+WDORJ29J$^TAR9{L8C9d3=IBY32-ApHa;eRg!Lnd4d>`YB? zKU|!FtB--97B0nL0BYZU>78C{R4S9s63)P&1rDbJ!k}i_VlV~OOk$wa#l})O&A3!j z%r%^WL474?nB%hurxXLjFOX?0)Afx@RkJRDp^>HZ5OjKFfb-_!tzTIGiZe9K@2QBk~u-)0lG#UGDelm2}&0wGO#9QGAF2) zvI@ipkC~-#f_jmsL45G28HE1|#0Q69DkrF$t|H68pj8hZSV-jrmAp(7p+#H>LIMQ0-F| z#lWD!3OZ-_23QodQ^Pc!3DUgQZ)KVuXjZB$3Ce0+QLs2*02hj&p~X$pd(BGKn65=l z&$B2MpMJ)yl%pOrdiNTlmU*HN8-p&W9|#)1`wte3W&-sWLC2AS#xNzLA%=nnv%oT- zMCfPBz@Q74VbBGgyapOtc0>~6Wn^FgsS8CClL2jJ1Pv``A_;0SGBAJ!hnwMIpoCG* zz@Tfv$iM(nJsmE?pz8uvy%8=3Q|$+}@F-k{K{p0!!cBx&f^G)Xh|h3Am=Q&c3=AND zu*blB&7j)=6_Z91o5{$)02=t#M-l@a9rMSTfgyXkkwvK$$$-t0;BnE0^g370g zSO$iANFRbh7j$;MYaatc4^&|h1A{JTej%Wbfnfnutb~EV08}$uSG%Yb5_YQFlc}WB;SJhPvjUFOm#qa-lX+0FzA8? zu?qV@XV-vy7|m$FU>e21zyKQOH3bd(fU>hGXe6r^q#9JlfLb~>abVR zj6Xzz(U8Gl1p@;^C&azXMSnnj2}U$|KdR|jsgv|f`?^}^f53R9TIOrIMIbw;RVr{yOb*X;6ohJhWqcx=08LAFi)yini4627d%fo6pTW~K_M1g_9 z0ThZm;~5wEIPy>YxSzyvKD3;toXB3~F70O7UlK2?pIl1_lO@3xCGfgMGqi z$)MZGz`$^!kAZ*gX0NC z1_q`ghNBP>rgHG0V7VG7Ih5PzF~%~QGU#4{YP$hZ1o9sP6U5;^Awp1x*CSkRAj-tR za2t}yz`+M9M?t275~^l1Xc#*e+;#_z&N0qONrc5uKDdYCssJ7F2L-k+XdDsb<%mRZ zXfhfw7=uy|C`lMFFj$>dV_;yM$)d&zK7NRSK^@$CwNC=23s7fhCU{^WLIGyQY!*;; zG)Vz@C;?(JIG#XN7pPr!2_nW^jMlLM4a7a`V_{iGu0;4m7?k)xf22e&+gi3(AJD^;xdxn95;Zq+2gDG5s!4y=h`~@|vY|exB{7wZ2 z6{yk7IHw~C(&C=V1**h1fP4j>#hA_oKK|+gDC9tm4N$%S?c4%Q-Y{A*FlYvXW=nQ} z8o>;pxfRAa9VrY9>V}{KX@^h%3j@OkkXc#c3=E9Bgg|nFim-0ZZb&;e#0fk!u}=sz zG{K}}2MYJYLZE$aOcUdDRT#V&7(ns$2kMbx1_o15V1Zns8w<@5lF5*80hPp{*+Wpg z>OjOm=@HaxWGZ6tpRQ+LD$i7qJY6upRNRWufCA_ctwZ=NG+({3DRx?7jjgAWUcTNhUo_OrIKtWj0_AF zDPRvx&vPi{um!1yreQV~&>BFs0#*hF#uE5c3CJGCIYFtglDI?+lyDtDC+|+1zS*JF zNE=i({DN9($e;_FfdQGyn+kR@qcMXnsI~)@KP~5`!9d{!kfEsRo*`*6n9t$bgH1sv!dg-4mdBf*uBj4u}ME5vX*nkA@Ud zj1COCcc2PZz!X4odO3Lf(2PM>laYbJvY&zBFjO8qgA@%eNkuihSOv74 zd<79>v}7<{$p~qg>fT|5Oj@#8r-S_jD#;l^C!9JnFi1m$Koe99x;#vfvRn@$$Y{i% zE5-yVIozikI+u!=frn_Um>3xPQWzLgA<7_n)1Z1QAc7z}ikKJ}0{a;lrcJMQE|t^- zC61L)StADBE+$ANu@52yHpO5D$du`Ool6zmr)R)YLmIdYHBy1iET*wQyHGZu@**94 z2pMCD7C42ZgVi#ILefV%3+Hqdmr@PZ*nS3vyy<~1rP7Q+({o))E!m7RLB>yC<5DW? z3f9>M(HR2K*~S8@x*0eqti z$WE|=M&`DFTV78y85m58Qi~ZFPk^U-kAl1b9&9-Q?is?ym`{N_ea}>o#$5ZsR)Cf) zKzjYUpd*n%p|}Vv5e2FYLB$xT+}j2b0x4$Dodzwg&O-#D#g!q00cf-yRE|MfnUJK) zU}F!O^!WjHGbmLu&iRl9bMp_dn}4c+!-~zVRK0#?7OW~`WdoH63so5yK)VUSrEg3Y zBv3%v1vCr*D#1#jV&HBIs7eRb!k{|06Dm>6z+eEH`vdt5S|ou-0YUZPCa@Ziub@Go zvjkfH9RM}U!mp|_ubVHdJIxDlAh$N(PTIR}@iXV9&LHXXl0 z1ew7GMRQDKC}B|IFpvQ?wLo1f&`3VWR@q#zOOWKFS&F~|uaJi3E@;_h08z(i&fxeG zQh#|sMGQc_wTWR22DwZOObp%A-91ZXEgSM6;T*^dYK-Km!x{|1yr7U}42G-=3gHDE zlE*YL92|_GiIEf2=X#dvvOUWM75~#Oc$SLPgTm_<#4e_Z;S9Q*oLeMA?C=KXBkV#|RGtMziV3UZvvo zj-Wd!CxiAGG3bF4QfUDLgF5JpPsYi-ptH*~H6R|I4EC^>2CSZ&$_uJTr)j_w8n2iz z0|WEKmU<2FxZrfK`o|#kkfa9=pj(;@4BDV!ckrA^KEw2%UZv{wpt8g~AL8qYE%lIU z9TbUyV8LjRsn9?GWpGd+6@q1=ATrTRCD1WSa2FP|$Yv5uzPBC}jU_gq^Z{CivjLiw zmqHXUnlR|rmq63P4yc$Vq}LA$?9)&oQwB#+XM(Ai;VDD}Qb&XAXVBfl$iM(9+JAwi zz|LjRJF`ecKJz`?*^s>1|b&|qT$st~k6wFW~NxNmT+5E6^p;8E*B zEm*AS@(E zeup+J^eXs3rvoxioCFQLN+v$(=`wz$I*cXLJ^e~Gr9cV0vj`d{lj<3CBcTnjRnvR? zN@dtUDfM*G^mTrv(ng@5x(`tcssbF>GJrd(KOjPk=3pOz%mA$h0aca?(|`MwD%XRm z4%1?U9j2g0G}vRB9-ws=ppu9I)Kg(#oU@}C)&cSo0Cj-o=)lS^9|2IjGY08`=9NL+ z=yr&apr!_R>I!T_C`SOuP%*b6$s96U9#3OqG& z4{p&K$mB$bMy5Ff1LIn-?0+55>LJh|`a00@9}HT$3=A6Jf!6hcpn+CT5Fgwo+8_vO zg=Oe6Fn|YRKtuEaB@7JqV5cxJfESM}1r>;(u?J9!sw{zoOcAKs0kvcy3CeUSv=}gd z0UFny-WX6S&APFlfno3Tg#o2b)^266`3*tn{D%5*&=?Se*RIRJp#B6@ataE8D$Ikr zuwWDxlAbOXSSn_w0h)Ib6#``z5j_S5a0?Dp;K!AM-2)0%Q_!8DpwTT|&$AGz*1Sh6a5Sfj-c9=sf0fYp zNC5*HaS<&?=!pT1%s?8WpkUH~NP(JJpf(&xwfl7K;8H1Y4><}U3+g(7WJ@7J;P8Z+ z1zKMPin>m?6oW3P_X~=#l@KxJQb_Uw4RL^-3o3O$_V0nngY5TVgp3be2MbL<5?m_C z2J-Q@^69sOOC_T~whLBZ_~Ze!Zc>3rflLBTkAlY9EFeOlw4|#E>chk`FnB}6KpkOI z=#W*`bia^Nsrm+p4A^I}pyi6D+hFyDRSD>7bT07nUr;9kv_OY(&U;W2057oR5-rkW zV0f;_z+ePk;>#rpnm%C+hRoXYfb~HZD)WMu4Rh!-Flc~R^zw;P5Q9aRjeGKynh+Q2hXvvaexM@KIy~q8Yc(1 z$O?l@v2cM`=?EGyFhJ&1xH&*>EClg?3o|e<@__jhLHuk`V&~-mxooKcbV`PgLya|v zfng^|el=*}9zR$fw1)%Y69F(k&k#08BM9a*IILh`U@)tKHIDPaqWy*p45lE7lIh%G zrJCT`8Lui>)Ix@fK^ZJ%x^Gyi1XD-V^umZziRtxWrR-=@2`(SUrPoDRi182rkH=+X6K(4M}Vg)W9kvG0>UopsAiI za4~S>jDbOS161`2xD2FO1yX$oE~Zz{7!B?r9D_RI8eED&_X^aAS4d)@+ygR#r3U7E zn1!#PPL_bnFzEh(is>MUu`ogApd7$rHlUzo&=q8YOj$*N1wmpkV?k{&(9BRCT!z6B zG`_%8#4u@kK}4y71ZbndGN^0`1B2rdW(EePQif9?S!qtkuMqA#C|3n^w08-E(DV-x zr3&ELB%NAhuaq({=z`AF2hAoqOxKSrRjW4!Eo)yU3K~iPWi!wc2F5u{z}XDcf?FmE zD$my%!m`l{QE)cGT+v~b1zII}1uP9R2s9ADIOikCAkfJ%j90)r4W7ddx(-&!IQ>dw zsd#+~X!+6saGMI05g6z6*TGr{2lzla6SQ*^(&Rh@ZgP4UF))~d+MhxJo6;NBC7$U?}RL{U*ungMR1g+&S+5nnofVDRn zY;>I&7#Qt9!)~A}T^ShX$kxMF{Mv!X92tX*z~d)&VxZcLF<9$AXbRR2JW|OR0%@E$ zfER1m88I-JgYF^!2eF*FXbq#@^p{bk!g`>yslhE1&?Ez+A%m$M0|NtS8jHb(4YZK6 z8N3z;v?Z2t&ez82TG6G-_28lHX7KTd%Equdw-r1i6=e)sh{C|w#tmBi(rnDYpaVMk zim{y=w8flhVywn)&}?!CSo3*f1_oVF^Bgp;xEVZA1D=HfH99~-XTU;;IV@Aq@}H&s zpg982byc92>r1#223^ot38=NoIsHv^sT`xmbnci^IYzJPS}~<^^`L4js{tHA=nWS0 zPDTcXDzID(xJd%Knh8`h_JYNtKo!**(Cst53=C@_Lg+@A?qg(N01v63f!2j5Aqp7{ z7#u;TakDZNF}!O4wPvJUbtR$WgrLjsKw%HcAfTEM)TR|{1iKNmN?O+iT48EJ#6V^x zfR-Ht zd{Wy42?)>xFK8ASl&L2o#7sfM>Y$dXX*g(}80>V=qzx#Z4?~rKdfd^FF$!>thXERi zkFm>}azNwG+yk`VeY!w=sSKwhXdaKLh`|`dRdfS&(|npCE-L}8kOR#k-DG570BsaV zfJ-pwf^IVd?RqIe5(Aafpb72i)63&aqfZDnY*5K}BQVRov z7I@mJLKM{NVhn;z71WD@nnM3f7#K`Jy)IBfl0S13##!0?op!Pu2r%+JFdv_ToVnXKmsKCyOu*84U&o#x4Ay ziHZ53{qY9V4* z)pRT)1H<=z1_t-(`iZ4tS)h1~hAU#w1&yeH;xQjd3{*KWPhenZhKVUK=ze8{WV7io zF$M-*P$L+$9%402Oo2gH0~)s{Tc@v2ES0bTh3H+FJOhJ)BUBy~VPHpsBFqMK04ie^ zXsscG5@w;$Jx5YBlGi-t=09giV+kq^*01*OrVi0z*GC|gNyobm#mm$^m z1`MW3OpsM1x}X9c6dv3i;9vli`8AL--vA=Q1X}AD4e3Ttmrp4bVho+mn^GzhrCS3k znd=xBieU=D<&y=p*yw`FPC}6d6)K>PmhKv6Ncvp{mu7GTop{Mq#Bd5^zQptcDWx2e zAgA4hC;^2z3kzfx>|4k5hbg7PzMxv0zZ2|osQ(QaboD@c`6nHY(%T{nR=tig1l&#lWBrPUv^UKneW;NDe&ydk502 z3f55p?Jl_|23hkPrI7<_2;B!8q+!9p-~bxbi=OU~Rw`K!n)v{^WMUKpgH4DD0|R3$ zc#jrj3H!k=Sc@%I99*si>4HWi(|Z^gHgthQiMi+qXazJlNiuO{Fc^SZmBtgma-jUf zU}X&2d{YA7Tn1YD$T&x;n}NY3DJ60GjkHo;4zT0P#iggeO)HfG4|0N>1RATiVpd^b zV4MKg4Js}f=M+PAgJeKu*?S9Etvm_h%qR`e!Iq4Z!TK~Up_4nHj1M=s15|}911kVE zyg_4ajB}oLGceSvzXsX447@eW!;*nPD_Nd_fpM8Q$R@^Mt+}8{oMqx5rHmm?0-zDK z6%b<}P3_fSCzM!1+L3F-LG8$PP?f_5ULoRq+@FDgj#5M^KhVF6`V7f%KT5O!0yV_*Pb0Tp*ePX-1M7F1z!FJxm- zWhi80U=ZYGa%(hVU;tskVE37N3=AO5`+(VPpBDqezUeD7N@eR!0~i=Un0E=YTLd=) z0|*OlbH8ZKzyQL0k<6|=8Vn2|?6!u3fdPcM65Jk`GBAKJXO3GmD+2=vb7r{hWn*9f zVF59>^@a=#Aj}!##%apH0LDpfHXaNNAk1ax2HGt8)VZF4fveSBS%`rFgxNzF-9Z<_ zfiTZpM)#E>3=AO5tIgsz$&7&kgoPvBZ}2lPfUw|YMt3`11_lroY+-bNWx~J!!h+Ko z-L45RFo3XtqT4%91_lrotZ<)f&%gk}{3n^*MJyQ@MCw6jHfplCfkG671ti^%t1vKt zFs}}a`#((v1`y`eWpVS;WMBYc!EQHB69xtl7Ho8%&dbS zHUk3)^GsuOKcUXR0K)u-nB3e985lsAOVdq=mw{orb5^NPJ*Oc90|;~Jy4~?(U;ts! zH}3N^85lsAKZMD>$CH5pgn73zyLCx2Fo3Y=Yxh^C3=AO5AH?MTLz;mBg!%oM+>iM% zFn}=sekON0cLoL!<_~0YUt!I_0K&Y7ncZ?_85lrVaDKg8i4Ow<2n$Yj|Dw&n0K)90 zjBc`03=AMFnC`yHfPn#oIp%Y^GdnRbfUw{kM)zuY1_lroT+QhI)rElpga!97g02n* zX8;aies@0$1_lu3jbU*=t;xUu!tC*k?op-;3?OXD(aGtapw7Sm!rawt?n@LI7(kfY zm)(801_J{K3od4K-(<(Y0K$Ts7~K4lqxMW;{bwPc%qAgq|x6|^aziD4qB=Ku~K5U~f;{ACCMQ5QhN)eNNqAX)=- z<08Xn#*q0SmNRIAiXj9jM0tkNxdm{`)feZ$@Dh%v&kOoGEFc1auK12ef1B5~Qlt3Fg z7#TuAL(dDQ&nhW(WLz@+PD!ab5Z^wu)%Q(2fg`sloF>EbuN629P+&dOlsD%m-^_U|;~%b>KM!hKZo1gU|@gS+?s} zmo^A9x=!EFS6a&WWxHB`sVft6SIYe957uajPmi}1;@aLnv2-Ih@^rGTSxxlm;=1N;5DrFtM;OGja;RSyIy{>@AJt<^~HeGG}lK zZU3^jG)O>|6Re+$fsvV+lN-!tW?*DyK2rg>!vOuM*UVtRs(9>;c0=dvG+((>HYMNK7~Ax8Rvxz$3x~VZB|f!884g04vY*2j|szrYnfB8ccT( zVl|k4z<86y^a4>!?Zq>68p6Po$(j}(zfml}0 zLnNmEYIo+@zSh0$1*@tgIN35VfbuA4VKXSjfC?4R&>V;jDpfe9GiIj?Yl1RAXaW}` z3@SEYNv7ksW!nVz5|!n3_Fpe%rKdV-;zgdu3p5y)sz zZes*p@z7$MBf`^b51QdA7R-m0baw%`@FG zbB+X~*>=0+vgZoZg0dudVa^AY1RT=?-}s47=LzfNnI6#@r8s>;tg6=Z3vFd=+xNAU zImk|zuVhu+F0-iY6eH6D#_138^u(tBTU@q+F>m_%d_D2$`<9e-Fg}~kpRXsn{Xj2k z0^{~Q%gRoPFnVln-(A)%Xa;I|GlGtZX8;|?$G`w%gBH#+f`&1mB@!cO7>R*_0krI# zkzu;Qg);H&@n_4HOV)ERFfd#J?e1N`zyMnJ1e&)MS-=3gUqUw&Su&!{t<`9+y>Jt)dSJ03x*L8)jP$d#b24vY*8r$Oum zkkS^!29*P#l93tY0yzc-P)Y;M-GKCh*dPpIgHoLpNX-IBSb*3ty#*j~IR*w$5-eq8 z5Mlsn0C7MV#O~R?{YBYhM#hlovtN~IYl12V(9sei%OIfzVsrlmxq^WKRF;FpL7|nf z{r#)5>5TQfAUA_f>4e6WhzZ2~pv_w%P;t;U6OcHl9ss2|m^i3^24aIk6U62Q4Jtf($ibVA#sQz_1dD4O*@OQv+Jv2xD)DssV)vsG$S07}O^PvAKmI4g&RWLE@k^ z24ZuIK*T|ZYk;|D;(pwL#I z-ppFAtm*^Oc^;BQKx}T%Of|F~7l~zH0M*pt(@(RO7c;tUw`VJ_cX0*B#{>ojd(e>{ zAng+%)hH-VM4)WY{04{(Dl5Q_nZUpRN)MndqabnB?abcg-(~9sK>P4!LL91%#CAqv zdm^#@k=UU~>}Vu*A`&|tiJgnYE{3o{G0DJC3E_ZUQIEuKMPh?aEoOu|bRv@YbR_m% zBsO@1AyoZJB=Pk~?5%9|pnVx&dl_~kNgPCCA4g)JMPgq@V&6n!-$!CUMPk23Vt<6O zLH_>^<1jEV{6%6jgATZW`hXLO&5y(uMPf@Mu@#Zn>PT!|B(^a-1A{9pNG*{h?2*{6 zNNjH;b|4Zve7b&ixp;jEl28*8dpZ((F%o+N68k6;`w|lSJ`(#468k3-n+-JUITKV2 zfbs%_1CCM!B(^CM+X;#7kHn5aVrL?;%aGX3NbCtn?719BNof_5#C9b15hV6SB=$Wd z_G={e4;?q8o&j|95-dH>LP#(y zM`CY5Vjo0epF?8bL1KSIV*f*8b8{m~4hb+D6#k%NL%HY`%pa+=NuCI77`nDF(oX7J|T(!M`CmHAbh5Q#5O@sFCmHFM`FL>VW?+-Df)>d!3H|*1e)lC zk=TkzY%?UbGZH%hi5-i?&O&0B!`bzq6Z;WCHwiAmz_1*Ny#7s%59L^ZI8e3=61xJ4y$FeY5sCc?iLJ?x@QgkZ+Z2gyjl`}8U1bG} z0(T?{UnF)g5<3!!9goCLLt+;pvFni7pm9!^U2`Gg;Pl6^7{URiKZaFE?EOgWGf3>4 zNbF}w?9WJSMgc@fh#|3+k=O|ifjH23 z3Pxh5Be83c*d0jhDM;)ENbH?R?4w9*1<=+?s9p7@NE}}zb|ezJ1&KWoi9HXAy&8$V z1BrbUiG2x)eILRGr#}W+2}IC=PI`wW5E~?MCnUB9659`n9fHJ;LSiQ(v2&5wb0m<; z|CLA*+mP5tkk}WH*x!)YjG%Ltp+U-q#1=$iiy^TUVeILvE6R=Q6JcBi28KK&b~O^a z1BpEqiM?8!*%?MUpyNbK{{NR{wyB#Gxp?9WK-|43|Z(E2l| z&%}|~%1CT|B(^mY+a1BKX9z}c7~+xG*+}eiBz7|ryB~=?8;N}ciG3c44LaWmmce;J zTc>8GgVP*?B$xwXt0J)tk=V9KY)>S1C=xpni4B^dhFMlQ-Mgk-xqcUtH0W?BnDk8~ z@ux`ak4Wr)NNi5fiI3302aN~A%#lYD*Fs{0u2^M+jd=JVNkk&C(~#IzNbG(j_8cTO z=q3r6#oLg?k07xxAhEy6A!RmZ(5e=w4+N0dvPf(#B(^yc+ZBl&jKoevVuS8~f;p}h zCJxGM-7pRV1H()t_HraPXo?-C`7o0BMI`opB=%b*_HQIMCukuQ)RUlV-s@q8sv=1k zBe5Nk*#1cDSR{5f61x(K-HyaQg2V=$o&vSEp5Y6U1cM@?=Ho$POCYgTkk|%DY|xeP zP(v9!k;FlF$-~5xk;DtYY*6?!Ffi1DIgrfOg~XnY#0D*)fElzANqip?`!o{!1`_)z z68jSp`#8`68j+%`yCSdHxiozbUHHB1E39%ur#5G5U*#jLvR?pk=PMP>{KLn5fZx| ziQR+5o{7X>hQ!{C#J&z@gTkMIf#D6915SSoKatpMpdA5FA1ENPb&=RsNNjf`b}ACP z9f>^!iM_BMiL(xg4O##P3$7DL;*XHn?~&Mlkl37{-7Qc@iy^UT3HJ7JrihIIn*-(5H>jdF<3)5pb%mRKw`%tv9pla2zj15|^Q4HgN z)?ZB5?<^OuZ$%QCiNv0d#9oTTUX8@wh{WEG#NLaD;MPer-u|bCj zz$^gW8VzIjBB_~;#9oQS-j2iuUGEFidl@Va3V+a{*I*7f{V}{pV*f>AbAvWiLwzQR z#8yXQn?1M<`2+++MP;*j{*!f88 zCMeq%eQ&vVy%cEsJJfzPB(@O}+Y5=Egv8E6 zVpk!tL6@<^Vr~Wddj%4ED-!#VDN+%59!cU368j|*`#TbwA9PL!)S;qCY-uF6A`)92iLDD` zgZys{<1jEVSR%3Qk=SlX>{ujrG7>uziJgzcE=6KjBe9#zkcz;mND>Q?*lUs4JCWE& zk=PfJ*msfGFOk?^k=Tr&vzH(tSI@wU;4nxcu~m`ShDdB%B(^6KI~0kXh{VoCVpk%u z+rVs4_=5)9z#MS;W7vqqK83`-io|}5#QuQ9{)@!s0-b6D@g;*e5?cj{ZCH=Qu|r~e zBe5fp*r`bDA|y7lIXy_?Gm+TKkl34{Y_R_iKsg})pG9KdLSjEhVt+wmGlFhegZh#W zi7k!9)<9yLBC(w;kvb*;ND^^K>>MO^6%xAxi9HR8y#$H935k6iiG3B$u4iC)1m`d? zyhmdHL1J@)PTPX|QVfZ$jKnrTV%s9Iy^z@9NbCX-8`d$Y1#zGjbRn^)Be9ntu{R>I z_aU)QBe8EFv7aKbKOwQ}|08jDKsQH19U+OtRzqSNBe5Nj*uF^YC?s|U61xnE-2!2Q z(;vem2nUq@7#1M0*CDa@AhAy&v2P%;pCPfoAhDT1hi*eXCV<42vq4g%gCt>v#P&d9 zhas_3rthCxE?z$cNoXMwdn*$A6cYP768i}f`y&$jKN8y(bnqM0?fyvYND!M9x==LM zmVrSSv^yHKDGMY4)ldXtgO2HBU|^^Kv7zEkAU62=VFrdakX|TzB1jynW;Tco)w>YH zhKjESu|ZdvF)%Q!x2Z31G0_N*{4 zFj#;Lg0h`K;!yQ|AU4#TU=SNB9tUDW#gpxjD$qP6iDD2Ns-X_VhH7X5v7zGKAU0^< z4g&*2KgbbK_AHP%RLu$`_GS5F6?UPY`=1Bm*-ffH+WzG!PrAp%BCd z@7-r$D79x`5QefFK;lp}-5@qp?>rD2D!vAZy$gwb0*QUU9>jraehOkkHNOF|LEA1E z7#Kc)EQYdwgT$d~I6;RhLB%ydY^b;~hz&Zth=GB@+<}2X7|Qkqi9_uQ2C-*?ZVv(7 ztOw$NwpuVSFeHIAK-swAa*@e z;yj20Wxq#a^MG!kh8iRcVuNQ1^AU4zo@gO!-JPX8zisysaQ1MzMb_a+JRnrS%L)FXxv7zE~L2RhSTR?2s zwE2Dz2eiwLfq~&L$aPTmIgmKipqn5z)S%}`>^C4bR6PgiU^1wBVGtX1*aaxGoEaE| zp=>3PI8==;=%4{csG&w638*3)5F4t<9mEE0;Q=in0T~2khk?YQY7#+gs5xmMHdMR> ziCqt3L)El^*dR5a@@D~v12yzG68jkv`!9$M(g51R=)%Cj2CJV%dnv)M=!^;0E5C25C1224N^$ z4I~a#V+dkH%`pS9q2jJc><|#!2wMJ^KslfWY#oRV)zAuJgEo_b&H@Bk24znHi9^*a zLSk<~V($jAp^i9>#J&JxL-pQvLn{9tfFz(6Jb_vU+PnA`Bo5W^1H^_J`WM88st27b zA#4KK*emMJzyQnAQXn=|4d|>3kQ&epSLz^fu$lD?3`QUh)KGH}8>%4$iJgkXu0&$@ zBC%H@vG*de&mpm|BeCCr*su=NHxLJOmjMF{d6NqgNN(BrIZ5|8^!cg`^kT_J$91t7oh(#ba zRD3On4cgSmz`(E(q!-HG0}_X-ISyh&^YO7t|m=B(?~M4OJr#Vp~BxqwLARAPi;efyAL|EImO3Xi$T|SBgL-e2^4H zf!I*Z*&sGlO&N#{I-`z(fuRay0hHYe5{Igp0AfSUp9*3_#TUcaApdWKaTpjF_Ji0^ zgD!yBPz~2XY|zn?3=9mnL6$+;&p_f(H6KB2sAb`@;dlyI?s{Sa54Yl|bhz%9Lfy91>#AX5=4Fy#r0A_>2 zpMilv9>jrKkOE>u73G82pi}!87#NDZ85o42>^hJ*R81#{4Ru5xhz%8=gT!7AVnfwz zMPl!+2XUYpj)B;qJ;4kN45vVrLD>&L;!w>`L2Rh{&q(ZlAU0GD59nw-C|d}`hN_nY zu|fO9L0igw7#Kk9NwELTKoU?zjvzKvvm1yF)esJ1L)9dK*r40sLH7!P41%%?LE=y~ zH6S+BoJJ5ED&CL8p5=p7{?7+VKn>cA#6AgPLp5Iku|bEFfV$rxi=phtAaSUgcOW*@ z;?E#9RGblX4jWXx5Qq&HuV-M81aUwYkAZ^4mw`bT%GLmhgB39_m?5!UKy0X*I1n4E zCKbd6ow&=uz>o+qy#D=P$0%3#GAHxy|2kf1dAU0IP77!b%VJC)PVdS58^--B|{Z~ z?$;;>iGvh@)^&o|P&FMOHq@7sL2OTm@27+GLfMNz;!rhfL2Rfwn?P)+_yK=V`481_ z5lP|>hz)9cfeu^-846{;28ly8e*>|hhW-Yzp=wwH7#J9#Y*7#!s$K!a_J%lAC4hlJ z7{ab+&<9CC6dTQv0ahaVL_ns zA8K(dNCI@a3IhW}Vh{s^FqEAG5{Ig(0$vacY6plr~&VX)a-?qEa*Ljc5v>Xierq3ZQPY^b;y zhz&aOg@J*=Dwu&m7|QkoiPuBpBN)ViYKQ}|q2kFPHdMR_iQNcdLk(($8VXt^G!rBa z)jJQwhU#4jVnfB(gV<2L^_!uZK{exXkOWlGSr8kl=phpOHHZy0^b?2;JyGo&$Q&q} zD+Ccj{2(?|y&Mu-3&frd9{*-wumf?R7CVF3Pz`<{HdH(W#D-ds31UOl6oA+vptxjU zC<$R;5QeflK;lrny&yJJ{ahsWiV&poe=SG?s(B;SAketdQII&)psPsi+aNYn{e7r< zPzn7RBo0;29Eu1DP7oWaUJ1qq6$1l5r_@d+lItmfW$r!3M&7hitd6Wpawkwu|bDqF)%Q^067B6{tOa_s$mR6 z6juBoHdKu=659re9e~8nLa^%@>JS`;eh?dK!88yXdXnC(Fa`!;D0?YL9I9qB5_=zr z4GopUAU0IZIS?Bvei_7uir)jVr-H(tfq~&Mhy%6YHxipW9N|kb5F2!A5(5K+R5$~J zFqEwd5{DXU0AfQeGX=4s;tn7-RNM{3hKdK)gE*jL(HIyQLP3T?*$E(VsG@8T8>+bg z#D=PAL1NE9Vy{7BA3$PX1hJuJ-T|?rq2oUfKo&%iC5{L~|Z-~S;1F@lcT|jJTb1f_aRQ^LXM1v%tjwnT9_aLzsAh8c3u^%C^IU*St z7@_9qAh8{g*zq7X*g^FS3|Sx!^c2UuNCpOBD7z9Q4pzj#&;nvZ9XbVxJrl%+s#yYJ zL)EMVv7zEyKy0Y^P7oU^egwpZmH#I}9H_(<5F4uDCWs9ce}TmQ3}Qpo`~b0`YM7%C z1&$CBTO7oOs!;;5p?YoAK^&-r35X4i8(RRW@@&8hiXB-0qBUD@ni7g!ms%@YWDo7HxNbCS4b}onw zwYUPr2AxdDz`#%w$G{*AWw(RGp=u_9*igq!2eF~zOF?XidUl3=V9xX%+sftYIpY}^ z7$Fi2GDvJ45F4u57{pG26piNb3=G0hwi8Gks>T<@hFTnp#7+XSp=xqLY^a(d5F0l2 z)d1muZRiHEp^7Ge*ig;0L2Rh_0uURTM^}Q_P&HdXY^a)DAU4#Ymyy`dk=VcDkvMz_ z3=E7=4T?x?CnR<#5<3HlU5&)Q25AU4#3eh?cf zJ`2Q#iq8kJp?WtXu`eUBpChq9Ah9``dSzpl;b-=9H@o~Aa*7=wJ}TqSpa3v2Z=+~ ztOBv2hOP&(q2jwhY^eBt5F09f7KwceiTyGOl;fcm`~^us*=)%S42)2=6cSq(i5-B% zE<|E?A+hHnvG*Xc&m-9N437~UhHpr0{uG2Gl#tk_NbCqCb|n(KAH;_Gein$G4GGbC zDGUt4Q1(iYIBa}j3y1>^x}6|4RPzxK8!CPh#DWCe%=l~@a6LpAJ1Vjlysp=wTp*ibdsKy0Y^Z4etO{tU#1iho67Gp8Zy zRgN@J`x07M3W6k{nq@$2sAeS)8|r%-Bz6E2I}?fBiNs!s#6E(=z5!>~Gcde{a~K%D zAhFrg85kI$7Rw;9^^w>fNbEo)b{Z195{W$>iM|khle6=RwlJ zy>tc!VJQ10NF1u>3y2L3t)Cz^RGd8nQJjk+v6Ye7^@d0s2PC#Xhz+$YABjB!#D-e1 z7{tzpIBt0c1A{P>y$K`^RkIhwhC1#Lhz%9L0AYj5KL&<-5DwU+H%RR7AU0I<9}pXA zfj}k$10$4e3}QnKwF0pVz{W7xWil`bL)jr9ai}?wAU0HedM2p+hjNNQ5>Q3uAU0I< z1SIxiB=&YB_5~#NGY}hU=35XObnrF<1H(sL4~$TnEI48f1{gz#v@6z+ebk+z%3ms&@ggq3S(BY^eHJBz9RAsQiaYbRkL1LSk=5 zVjn|d-$G)41hJtO{{XQ;7sxO$F#G{I4$2nFhWZ$^+y}&lsIO+AF3G?LYqP2P`x`qY^dJDAU0I|B!~^wdlsq}G);63Bo0_eL8N{5PJO&2gdMIZ) zNCK*85r_?S&;}&-RuCJi<^YHdRdW=?hKgTBVm|<}p=zFj*ibbeKy0XZ{Z|kN>WH5p z7nLzEfL7-6<|9(C5Qq)cEDK^oH7kSIP`wsN>>wm|5fXbc5_=hh4NiXyJ0To!xST;^ zKSN^wMq-N=FfcGeE!Ib3yCAW{k=Qv%>@pA=>Y3UCQ2AdDwwIx?fPq06%AN{R1oh=C z5F4st6%uNF3_u-yk+rJzEjN(cB<5R9qUtu4hmKaiE&rL2Rg@-bD}#1Q{3@;z8n2 zH7OuA)S!G28!BE3Vng+IA+c8@vCkl}AAs4Q@MmCP_zC7fe5P2;z`zJK$P9_?0AfQe zb_cORr|g6JfyE3A!ccY?NF1sr5yXZ%E)B$nikE=cQ1u=4NSxV7?42MsRKo!fyBgxS zBOuG5?DHUTsG3_KHq^5FAU0I|6^IQLe-C0q#s5OtVE=QJAmWJ^#D*%80I{K(WkGDH zxCV#~71sr^q2d-GHdNde#D+RF5Q!ay#I7m-9c=qgZx13 zT1Z+6Dq~;}hO%Qp;!rgiAU4#|^|>GpRH6dJhDy|e*ii8f5F0Aq3t~gXXCbjyg4j^Y z)a~#C3g^vF`hj75o{*A;ID`#L}gc_=e#P&d9M{UqYy-4gE<)HE(YQc9T384yv#i~ebOC+`r5<44--H62Q2C<>Op9W&rf&IuZtAc?+ z7{mtUzoj4vsGihiX;@NkG|JAU4z>QxF>}ZUtgP#a%&csJIu14HXXsv7zEoAU0Gy6~u;$ zXMxxd@p^^|1c#v+#D*&B0I?y87$$?*Q1KZcHdK5uhz%8A0b)bNH-p$v@k2=L;~+Lv z%_R^UHotfs#DPjY01Yw7LBk#Di;o(FND5_dstXhM4pVnZ$d1Y$$g`~{$~FP1hgxh8VnfY$sRwbO68<1IR06#21S%enB%T6dL&ft!Y^eHLBz6;s4OKG{ zi9H9zhN@o(VuKt9^8XeXhk=3NEE4+~68jYro2!9=ff1ycfq_92iR}tvgI7&4FnEL5 zP&L^|>}n)-UjwN8hbmf!B(WWdeF};F9*ND|h;W2B5?c$2?T5t9MPfH1*!2uc5gdkf zNbEC6><38fZy+`_c>jXf?U49pY+_&#hO&8@5V=4c#D)gD42TWYs}5qr%6}aY2P$C> zVna39fY?xRcMuyY?gL^&#iNkesUS8~O%{j^bx<7=dlC|Rc0Cej2@?AV68i}f`z;ci zznOu75o&=665AJvoruIPMPko@vO(#OVIhTaef@kl1UG*r$-#_mJ3M zKy0X^e}mXvkWj4u-^#!s4CRQnAzCt0AU0HkDu@mBr51<{6*mR3q2g8`HdNdd#DyX&n zk=Un^*st3_#VS<87bFSMb_NDUsJICd+Z~CWhQw|_VlO~qZ$@HYL}Gt{u|aFpe!@7Q z3m!WV78@e5!;sh|NbJc-?Bz)8)6?HyFBh->jwB?|i7;9PiEWR>&PQT5Be7?K*w6r9 z0AhDTlFyP(1_og$dk07y8WDRzY}gWt(-00=$9p99HxRoAEX?o=WDu0i+Jz{+1wd@5 zp`su*)Dg-^Y$GJLEr<-?En&on(x{Ts@_TuDjw7)zf!I*Z50KbzKy0W% zEIo*HV1&fB1F_Q}VDH6K|iQRz2 z?m%MqAhD-Rm%m-EU%whjXgv~p8xngL68jJm`xp}YEE4-768k0+`z{ju34{$fwcrJW z0}g}_NbE1uU*9gbw&m|dgf%GH!xqy^A&JW&u~m`Sn$wf-lxK&=A_*lTu``j_xk&6% zBz7edy8(&aGF|^}xwzy6B%v8d>^alp@0N?#uRs!7kHp@L#NLI(-iO3KhQvOF#J+^Y zzJ|oUi^P5iVM9{cO9%%Xz;BV*Uy;~9k=P7OKM&V0XIIkyf;s0oSPg~aYd zVoyb4&qQJ`L}D*RVy{JFZ=62=ez|!4UL>KTNbHkH?2Ab3t4QoSNbCnl?B_`A*GTNo zNbK(rb`&_;|3NrlHd8+$dbyC;d`N6DB(@Y1TM3D+HogBrxp=)1l8_Y=+YX8ChQ#(l zVh16y!;si_cK7LSmmpVxOIU|6#ef*G(j$2T1HENbEOA><>unA4u#!{nH&Dm5Zfu zOhCl101_K?UofojltB_#Kw@hkv2~ExCP-`xFnjujEGFye^@{A#+xI;#|59HMx`Nw* zgMmRvj)7r00|SE_l)Z|9fx!pL23_DB1ZD38-6{=b?*knr1Z7`jU|>jrvL7%oFl0g5 zpv%S!plr}B+Mw%PL3V+z^seDxs0Ulj#>l|X1XTpOk-P)S2Ho%72W3kzGB8YmvO)KK z&w{c+*UT?~vUM357?wfV4vY*8YoKg@Mh1pWP&ViW^Bquj7Gp32!#*enbWu3yj#!ZE ziWwOgPC>;%*PLH~vO#x-UxTt+7#SGuK-r)x(;q|@Wvz#s&@Jlqw^2JNf#hO$BXZ33Ze&_(1iP&UZC zWGEXnnUe`+gT~?dP&D^K6|HArV3-VLgYNU5 z31x$#e=(E|y0?2dlznZxcXq{VNn6lu*G#eu3_`IC4CbJtYoKhL1j+^l zk`$C3xxKix;C>bFo(n zFdgxoF2i1_Ha+fXfyDGE_DTUpp6S`_mFm;8?r)Nq?)S}BfYD(3ZjeCTQ+J8!QX7~A z7;UC=b5yENzc%-P#PoTYB?62d)1yHGYJpQFrssWe6JQLPz8WN8c6EWo^j92}0*o!w ze}e?d8uBEj*Y!>in9jvf$um8Svr=ZdSD%=~^ivB>1(*)_O`pSAsWv_8w~)m2d%0Eu zOgH?dzX6Gq~4U8y$xm(^;C=~>*B0!$D5r`Lc)o*j011i0!#}6rrYpWs!d;ZeTT&KDv-#U zfayITkwsZe64OtCM2-YZzXK9sJ02@BT}q%*V7eDyCC_v-fl8U_ViQs&rk{!k7hw7l zFug{gQjPJ%^!`hN;?sA5)LHRY@=U)bP$|QBX1YB{luNKuV0srwR86o_hUp69bc0#k zV$-7pD?y1RTd-1{=>g;P5AM=p(^rASLZtndJ;H21|%}CaFWDyEp}l6Mv>{Og(}sVESMmM+jZp$Fe*&{EmWyKJ?-`m ziRp3`lLQ!Drh5xlsxx{_x4$kZF}*+Cn4d9V`fTA!_35vQI3%Xu60QWLjMu`I>P$II z(+{NEh)-XAOp>2zL(p^^kxI4cmjc5jrdNr8Cs}9{7gNe({scs)tF{5Pv0c z(_=t_8Z6TvWJHTkujUcvXH=QKS{#%+Sf<%&iB0#LKLHdezd=GJED!^&Bq{}%{)A8W zk*HK->S38)peQajy-T7}fYD<5Y>7&BrVlLB9WDuqO}Fb86<{=({u(6q11u&!ef_b+ z{ER-+ttBhfnHX3hIj~ByQh+gKdN)W+fpz+V+k#@#&?s)3v24)tM4lr%wP`k_8g;m|hJMOJRj1n{yLHL8Z!Rkk|~?=?0et#inyf zgHle^bQ$SNHKqfsVBbYaSAtSSwsfUB6AK%};#DAZ52B~<0jV=#n+`5Fet{H5Oy`!V zRA-7{gCr?08Bl>3Gd)J8QjIBv4dRtqAi)W$vy&%3Dc|PE7h5FIHng&HV~V>OTJQoF=qN{kXQr9bc3LJ z@#)+OmHdn*)1?(E)tP!YAOWcWPTtudp$i<-1wIRkP2V?7RDh9T`fiX|2I`3GuX-A~=^tgTzueAs)>0*AigrNtwPzu~Kb%lVYXB^jC_N0!%Yf zrvFi_RAb74YPC|T6kuACGTle1QjMvEbGpEEZn5cIAVDZc$eNFVfrA0EKorynhl)?X z1y!VwZ!9L{z{kMA!oa`)Jqd?lL&|g!3#QN1(@EXOkV;L zjNqEK&P_~^lONTg1=ByPRH`#w;hNsiCoeXgZ9=91)1B1mE~=m^k9)d7v9Z|nxHmgM zmGWd&P;7BSESz<;4^$0428nIpo*qzUEH?dDEH@}G7^_vPGwtD?UhqOtTma2Fo$1YL zmFjF)xEUB0Fix*H)~Cc6GyO71LkaKn4?Xf?f(!zv4y>52tX`?kbc1*L14RchAsIC3 z8=2Ef)Issd2X>dBGn#zE^ur+S6ZpWHO9*toHA*~XO&8IqRAbt}2QE;BI?%MA$eNx4 zk{95gF3=_~Cb$tz-eLM?jY@T<2L9<6)@q9hT}6}Lkv*M7vr>&|3;*;FPX)z}H$ItYjVEPdq zP>Ciy-C-uT*mSK_ZULq@1=B@zL6IyxU7)~NY(s6C;Zb96J!xa zb(_HS&AOm6RAjn>gq@g_BARqTArk}WT!W>I(`}}3$T5Y8ObZ zx&pC4M+Ae|u%awry0Jl}IunODxat}aZIlUi7kF_-D5 zL1GTl-~wVgmkFqyUpZaI1eD;Ur$6{0C^kI`B-l|kJqIKxBQxEgN=0n?Dw9f33uCtl z$QGID4n?366r^xP^>iN7N;SrU>Bgp&>P%;vSKpN;Re*O4AR#5EPrfoYwx|9W2iMB$sX6Q`d62?l6RpCH#N zHl53|Qh-rly0j&@-Ruma45nvWR;n}o&;d6ER)G}6Oy3O>veBLX0F-ZjSyl=#?U_EE z$Es3|DMNR9gMx+FbT2D#yE)pbQk_v|dNYV(n7-NyWRl*rr-EYBUs-|dpEdmtNLPUV zbc5Nv;?u3IEBP4(rh8jgsxu}`F9uN>(`SRI3)2sSD2?f_K@`VyVH>a#Ya39&m`*pC zEH5^_%BE6)X~m-HJvN|JWHw!3s=V0rQ#O?Xj5X75gB13dPdC`4EjC@swo-s;%hKsO zwv}p(H>L;MR;n|KOs@t}Inx*0fI*QfSvx%kB>2O2`V_lLHBjH!u2P-ph!Z$BPXA?BDZm&oo!h=ro#~F#bb~Y-vFTp+ zkk*hr*urLz)Sj)=*VtF8G3{}lE^r?dF7}{?-nQv~K!Sgqr>i(rsxhie_jUlMhhhg% zKV;AJIS!R-OcGw;0&w~*2atCTOn(DX8Zuqju~MCpW4bknnlU{YL@7+~b_CV@fzuQE zrNpM6as)MQ1E+6zA}A*KSQ@p|2$;_7RH@Ds5(FtUIAlCc@jm07<$W@5N9o!_NWnMvdA^bN*dV$;1`Dg_u- zr$@Vhx@F1JTU;vDwDxN;G6aCO%Rmi;m9lTq+;QQ^^eZ6s{CbQG2B0z*O+BM5YOu7N zo37$ositXf#K@2j8m&Q74;nB683QZ2d8QY;R;shED`aGdpFZEUQkj|e5aaZPt`1_; zZ@X6VGkY9jobEVZR8-I#bk#G|Fc8%+UD&NsoiS#*HHa#hp6munbFR~S+$z=BJXo0+ z5@n}VNGUO`QJQ`SB;;em#2_X(y`V@&WV(!dr69YZnUSfnnZfi4DHTOxFypJW=00 zsY!^*x}$66CQgPXPR51~!Cf5<3%)cmFm!b_Ecmjmis_gULoe4t28IP43pzL!a4<~b zWNKt!nB>85K!L&bgYAb83Jf0<7#1=xKx}1G$4~)Mg^-s=mahjJfvP|pSpgP#egg9B z_~jomFkEC{;L+K%KxEMZM#kx?!Idi0xq~aY>Om9uUl% zN^sz`Phx7bhiY?k1v7-0*oqjAfyP4{85lf3+DaMJE#x7_wV8v}Okz3)VF)p?r8BsJ zvH(P$%^xc724M&>vBfhSb7NqbJ~gb;nz3#9#jr|7MuzG4!YlQ*MO3b26yRChZX969 zz+lj^z=C4|GsEizG6n{Qbx{5`1_lPukpD3#AEXw9&q4XupfpGfgh5ASgO;R&*l1V`Y&lHu9s>iz zGmz%#_mSNOlU8G7V9;Y^V0Z_LAE>)wax|dpQQSrY3kaBB4+(wxTMV_gp7ueEHw55m zbAUo%pyNLn8V>}bp&Ke6%*ept&B(wI&B(xz%*eoy&B(w|&B(ye43!6kV)1t6xXRDW z)8#I6OF)Qs?>Ho;&&y+!n65QNS7Lh9W?qTu`;saRrvE#oE-_s$xzb?zy6YtpOb$%b z1FA#xm?kq$Kd?wuZ~D6AN*?j^Dv-LHfq{iFS&)H&=a(o0g9*d*!sa8Apwz?6#D1EW zfq|Kk?GUK@vQ2=2feCajF#|IrN16}=12Yq=3TW^ofQ^BHNenc7!;;L!z`!I0I_004 zgY`NG0|PS$`*BtV24)uUEkVpI?0kX@46H27EbJ0sqdD3*85mgdxEL6iMM1|Vvl#F( zFfc1dfhLw&7(qHg$6_$BxUe!Xuqe)9U|?Wb&B(yOq6C`cWckIyz`&xs2{iP@$n=Yy zfq{*K<(L*D0|R?LNd0k;A_k6})I0{36CgGd`yzG*29}c`HVgYIE(QjcQy?}Qy9dmeIRLla5%Cb<6&T6H2|5x0Wrf6WCjld z%m3+dX_aF2{-B1MFf$7S1EX*m4+8@e0}Br`0|VPCekKM6K0Y>C78_;;2L5hN1_m}c zmJ^^>8NZS+0|T2pn8U=sON4=eO@YM)6k+^(co-Pi6j?wa#KnIOB%=i8aPxC;Gcd3z zgE>6>2Lu=x*i=BAdInww?$@A5Rb{!(#K0iJ0!mkGajcV=85o2QfE}042y$F7C}j#y z1tlWkd!V2bwgUx;unZ#u1Do&}W(Ed!;XWP)1`c6S0R{$629_#b1_t&rP`Y6W^Lh4^9IN{8t$m7`Oz$97cXmE(QiJK}Jw`G4VGtF)(lm zfzuWX12>Zp0|S>Z<7;LH2JTh$91ILx5{!;43=9H3EDQ{SAcBFH1!O!+J3j*hxBpyb z1_qY%oD2*+vOyqsNiZ=m@LGXVv?z-R0|VoEaI+qCz9{3I?JNuoVg(?v1h6OrgE+{I zj2FSq0?k}Y@PQ6KQ($0_WQ=AsW~gTn4dP~CV0;W#4!Wy~an5@d1_r4DkQm4i#vo88 zX7~Zt62(*m)@Z=MAo`z!fr0T8l0J1-h`vvZIQ1DaFo-s>GB7YQf)Y3bKPdbe=fp!b zGBV-RXvDxEdY^}Zfl&ag5i}RhIH!mW;#&c*K2U2O;#(mmPyz%k5)}Uf3L#-8P(17b z-O7=alE}a)!URgKOcQ;?_tb;T6a}ll#lXNIehZ{t9L#57WMGhq5My9qlwtzq0j7yT zvY;ELKs&Yh*%%n)GPAN780DEj)83#akN6&b1`r?Q2VYRI$b*jmWl>~c&}Rb$cNEh^ zA4$e&a0tdQ6*Dl%M=&rbGYBX$F!)0i6oUd6s$ilIgTx{R1_l|$>F+ZuW$SNpGB7a8 zfqQeH#xLU>Np^_u<(NS>P5`+URKPJRGDBSp@w^f<$nzph3=Gm>&nq*-JP%G8D$Jm; zQfFddfP0RK9p*U=W{~HCm>3wu>%qR$0NYgviUSEydY4fI`79djvsk8yK@1F{Pe8fJ z0i=Qfw7!{f&UdIg9l)`)67CQuXe>lYrzA5lIx~SvT&9WP;-E5w(FGg@KS9m{d07dR zP-ej0>H=m42D$ixLu0I3=h~r9*JU_7zK)=iQxlve&CWeEOFFOMRV`suQz^N`7oa#U&t2h%I=m zFyy1l)JuTUcLdZya19Ki-FyrTj4fdIfKn#ooGVcGw1C}X$^t6`+Q9ZFf%stewS(PP z#=^j$0J?)LMUjDlLA09*w6Y0o8fX~^rZ7-Ybn z-VSy(W3bFgkhUFQS;ioF&?=G+MFs{QuIUqUE2WsGD1vCwdIr&CP;&mm2CDbeKw9Rs zLv8xQ2FiB#;Wqta17##0HU8(k-wa(7jZQbF{c2dTxRBFb0Xg z6kuRryaVP1f$Rr|#9gpo>p^_5d+vclVm=!KgFLA2Sfj|mpui0Y@*)NX1(0WV)Po(l z4U{H6gDr$OG8Ss#XRsAeHy%NDqd2H;U;^bZhBM$$JID=*A0}`CauVbUu&Y?W#ZNdp z0|TVAVg;90W$X+LGC6#p4MJ?p%uEanOcOmMPBAbrTmV}V!vwnYMsyh{n8iSeh5?kJ z80YZwKmtOH6%;j$LGqxmyQ9d!@D1WIMneV#P|@&0k%2)1lv%!jjf(rH zVCmk86;wLC0+|FZPMyFebAmDmINdWSF)*y-fkXl*-A}hEs1#u0QJU^oP$^#j0Mrf& z2D=av5C5S44F($njRy%Oht0Z6eIG~wv}J%X2dv-{2LpowsKurNS_me(22>W!1iKKl z=!p^n4`eH4g%}tZ4}z@(otwru$BZ9hPDhoM%w zNoS{4GB6%tO=AQlZy#|`(~a>cI2u67NEVbSLDoEhxu~A;IM_)kT(FQi4mP`)3v?6= zsMrJ@-6O;g^S}wP>fKzhYVQPC^*NAgdCuq(Piwt$nYG1!(> z+zbo~pp}A+U{8R?p%@)NiHresrxD|vb^%DdIDiYHdvM*(;DSe$hk-#H)V*PJ0rNvZ zd{Ezq(UrL#~3Q=oTbv z6a*pGv>U5~pLqKDB4lwQC^%r#IEvk*z+1gOS^ zFpbFiOyK$gL>U+u*CXjW0oAu2n?7Sn#(GfGnSnvnjG2Lf@f=tqBs_jYHJ*cM1Qq)y zAr55%yKxGrLcE8hMNbG49`}&7Tt(Kh8&resMbeU357o05SvWS0@b1fD!my+*iV33z>L8Xpkm=C+yqc) zf;tT`;417S$eW;U0RscXFdbotHziRFlLWU!@R$YarL70$J2|k!K(`$+&e>5f49Pii zV8dSWFfc&eCI>YR()Utk2UU)?ys)xB1uPo~;&*^j3WVPP;tPPvObCBHh+hgywGck2 zgRcO(^@3Fy)G7tF^cm~T!LEUX>}#mc%)yR<<{Lp}NNEO+a}_}b21Z-37Eq&_agM(T z#QnBlEgXCd4C0lbyyXCPA!y|kqzMAyXMu{{f&vCcN3imlpvH&3wg zR2*bL3fL0RbsUUy&O$9o0qfcgvIJZ>rGYKs=VxFLUk>tSI+$+<;y(d(8zKB$5Fa#1 z#0cTf0rCHXf+?N-1gQQy&CkF9x~zvm6BI7Wzd?OMP^x2Ka0WNCoJ1jh^aWf0l^+&I zzF_MZgCRcj2lMm=7#PG8Km}3&m>&n?8-a3VAei4Pz`&pYs_jgb85k5CLFvx{WUJ^} zkgfkfLo-lYpNcXtD1r;cf8YURPz)32 ze+C9#7SQ;YXaUIK`rw#=lwT%d3=B$ON9lu;Bx8^gI41PLo?{FKk7^`COaphhqd^@o z2GMDtRO$uxoe!wtJLj_m1A`)HJcrSX1sn+yf-vuTfrhXcZh`oqx}VXD1(eT!fcSnO zz20CCI}0-~K>9?!;9)YRi9wKf@Bu2GFhyP;K{23|5;rvw)h8 zzcPejm47qXE=f?GFALgB0a7j^4pZI_Rvstw(809yB-ugt(8zZNt+w$gcoxMNwp6utx}jj5lCV*aRAU2PN$@j0_B~MHv|6UotWJIsT zjF7s!SAt>sjhaeDHqemA8j0!uYbqt#CMz>AT$Gq@Ut1}~F5$(*z%W@E#F44D0M#CE zz=;UlcAAqV$-tllPWEpgSt3XVoao=NfD%1(5yyOSa1#5#lEK2jumTis`#}A?k1U{( z%1a^)3<{va2b8E4KuzoU$_xzPCKHGu$p{*kV_*;k9p}o(#{$Z#3CUZej@*Io|44^!2FEw4Ps#38Y zG=zpFbH{;-**T!5Xacwu2O3#ooO42kfk6ozULoi&1K_1i#_@K zf#D~H)DcDoh5!`?21yy1??IYC?e!R@QU(V33ycg5ASW9k%QG4>$lqdQV2Dv+U~q#= zFep5Q=0N!mj0_AJDhv$C2+4Z+Ka30v#VQO8wQxa@RiFUmU}9jXS7Bh7jv)gY=ImBs zU;r(p0p$u%+bEi;gn>aqfr)`(I>_OSQA}`A2GKH5%K8INS&&}8y(}c7)-y2vVFp!D zjL@9=j~SHW5jm9soMZlias)WXFoJW8x QIDdMzSPW`EF$UGEp9EF2i$P8Zl3-xaC}3b*3aVX-B^Veq zZ-Q!Y#3>0;sbH8s!J~ zOhCi-;I9p*IE4 zW;W2sm_iE!0|RIfO97PGKqFHMQy3T+KqE#9pt%#!IFJHp^d2-;qX62)b{f<}0+kb> z(F_I9AU$Y|LZSW$0|NtS_&@SKU38c)hIFeri}za2bJ!>-7{;G(ny z6pQVQpacLbrF$7c(>|c_YDg*F#|Ww&K$Wz(IH z$qKaOi2*uJW~acwAoBy%&e_fgVlz#2kXZ*xQ9GdA0P!iHPS#GaYrcZ&R#2;ZmkI-e zI&>Onq5~*1P7HvIqa6chtZ1f*0iY^>q5}g1C#bXRrvREm1+`n*8FV<=7#LX2FeNH5 zFtGgx1Kj{nK!Ud%oMoy6iG%V30|QuG?<%NS+!M>fz@Rq|ltp^MOeK)3`@qaiAZ9<9 z=?>~eO#m~SKz*Qzprob;YWy=!0-e0Yptlwj=99s~p#7JOQ^3sipr-g#5L4fahk*fv z`8G1^GmC;|su>vgHZbe2;%8t0VLn$D{l}sV3?R&Zib>y2lz{<+`F=9%&kVPN3<&#Z4Jz`y{)eC{mzmMjbmAk62? zq7T~p3c`FVnf2}X7#Kj9&x1vOD>DNF2=iTH);}xEzyQL0E-d<>);S3CU1ipP#>Bt? z!hF}5_3tw?Fn}=Mb!Podpp*=1>+s!R)(1_yfiT}EX8joq3=AO5r^upT%+A07!fYMv z`gPn43?R%_&92YK&%gk}{8yRuLG3IM=DWzO|AdQy0fhN4GU?lkFff2H-!o?YLQVz- z5az$Zq#wu6zyQMae1R5OF|3`AS`f&QQtv`fdPaCt}*JbWM^OiVS&qx`k;O)2=mFa7# zSp7Hr3=D4s`574auQ2H!=3-y~VG+ma7i+f9nr`rVqt5j8sjE4s&#@|$+kT;=vW{`O z)qXK97JEq>$>{>Cr9iW-hSM)zO%UDQ*i|VZIQ_MEG52)YIh92myFf(}L(s12)8|w! z<2VoMd^3ccpYA%hvYul*ST1Dy_A_%UwVA-R3?oAjsImd=e`jK-;sMd1J{uE5HIMG} z38$8cP8V3@$5Jl~HYWl^frbki8KOWGX!wGap`z^o!+a1E)TrQPsAQbN$njswLZzBP zX+B5@bo-_RLlMgqCa(YgrHUAolzEU;fYwfe&Z$7t2oeHan*h;Rk4-0N#U<$2d^DXP zp~(yk3=o~zG=i3H&SGF-K+^~k+KgReJ=8m(1)jSwb%KOID{OFE37QxOP2;0k2@?8@ z-Abs9kcy|C0ldu!)RSgphy+offMsT=WP*nkJ-$Pfiu{+0m|1+9Vu9q7Qw5CuBR0d$4~BSREuU0ef10cd#~Xp0adLlkHw z9jI5s$PfjhCT`!pq;dyiy)9@Gg`t=MM1!nlVyLQx*$ZOBEC#V*HiOtOt3hm--5@s1 zau6G4JBSUlo{0gJYd}6{0Bsc9&bGXADclu|NUo?uaz!1IE9#J3QHSJ;IwV)rA-SRs z$rW`-t^l_pLGG|*WXJ@2pNXNE3CRKVNDin+azH(j1L~0+P>Oiy^O%Q2m2O{Kwfmo=3VlAs|7klR3gb`TBfVS(t$ z+jG}c+LNefdhVJ^Y4#K$&=R%B(8`h-oD z^^E7I3v8|wV|vUyUGdx^QKnB&x{(FUXPhuSXLDs9>pV6_X7=d?n=93)?|+oQHl1fn zr8(;X7Di^)>9*HPC8xiBuuN=v`Ibs`#)s4AZ>cnqYhh(%X60mNU}R?E zu!5(?nP*P_xTVsCeG5d*^o=r8M5hOCtrTYbGd*={r3vGi=?gb7iZR}rzHw`%9^+>) zkEw}m`j4%Zu1wRorrU3;RAk&eJ#ky53)5w;=?nWZq?-@C0+iD@SH^oQFj&Dl3_ zGcq%CGEYx@vP@*U@%Bmy#)H#+wpWHQHSk~dkW|rxJJ1fPfPq?6%=f!0w}OS3z~Rrx z$uoW9?n*btH`9OYuGI7DT5!N`-CQWl?*SdtiDoSM7+)WJ$t7Qy1=#Ju=| z#G=I9_~MeplG5Vo=Z;o}PT#l9h(jzrvn-VXqz5XWn#+(>k~?|gcj4&@RrzH4#qX6e z(=|_5eicHo9Ab;?naWFiU~#ysryDXes%}?4TN%JOokO-ta{7VQF)Y(poU5F`7wqXC z?-UXm?-b$~?;AY*qv;`$>6;U>M5p_nuT-l!B{OxT`uqf(t|`UhcF zp6T!R*z!!DAi&Bq{e$8{p6NCqu^9VK9>xRH4TV|7w|~7=d4O%YfVZBJqJ?^N1$aH~Eege}2-1Q8m^CvX&Oy9p@tHktxJ{^_m6Sms(OpknA zIR`Ye3U0208lXJW?@v$=pDy{N^2zi&e-Cj?XPcxTFx^Vuk!QNE^E966x=$-7Ompm% zkOZ|UK}8m*?E)%}LCa4-Y=!9uc5W3n1+5YVNrT#NFli7QCJt(Xz{Ejpu=sSr368?N zpoS|*D`*tPX8Oaxbm8e|q(x+=e{f@!n11zXrONckZ*@G3a?=$i^ouhZPv01lF3!j^ z-SN1TFe_*XM{)Z9GCpxe>FJEw>B6j_)&|e?^Rx2B8M&svuir1u3L2zknw~hNTi6gZ z#|!dE2($(Sc>=@+DFKPcA&G<7T+=VU^%IwbX)8gJ2C=!O|NCACvWHQtUEC042*@9k zz|9KCxeHSm85p=h_n|T{Fw6(HOCaJ4K+_)6`KRO~4BvrdIEc+RJ-(JtJP~9!$kaT8LtFdM+G|OiGhIuGz1Q6--4V28uSLyATD1k|U*iZ@Z<_VZMsIdYQ2Q^k;;vhCm9Mp1xiG$dn`F*D8D$H)$Objg3 zH$D>+o4%paooD;px0PSnw(s~->B~5s_iH8lbe;c|`qO1zq;O3)cvs0jJ@bF17CM3W{L}4~<-{4Crk`f4l4new{+h8$ zp0fia!@$6>Wcqw%Iq|HeP%fySz{CK(?FcHy%uvN}9Lff*-(_L|by%PRpgkB2H4M+8 zT+sSgCI-;ZFH`_5U&p`>O~^6~(-n$ligAK6GDwBfbbb{%aV}8G0db8OrU$6ViD_m* zm4m#%1Ug`WWP(@}L!iOrT>pAyQzHnPCEh6;$47`hOKU@%msW7c~CK#4ri0 z3`Q_BOkpU2%7fN5F)>VmNr7o*hG`7FP6hxi>d90!&H z6U+>=ycteH6@XTiF)@I;g!)+GR>>>Q zfvN^gxic}WKqv*LgjEc?r+c$j$ur)ap3Pb%&-E9onvY@n0`5>TCMlNbYgnt~7;UDX z2C0ge{+hK)p0fZvZOXtPG+m!7RJ48vLoZAK9Hl$ZEZN1d7Ag-~r^3Vl>J%fCFf;67 zI1QEO1M3IPFd)nCV|W3T2Mw+;fp<+J$?Gs2VE7AF02-}lVgOB%BPn1w!~j`?%D~_} zy*^h@T+$T043L2V5+$b?BB6Ze>GN~-#5qCBTtNEyr|-|z6X#k9mGxno{vcORZ2G&K z8Uj*Bp@N_u6BENFhSyNO0poOqJUtcu3k;y)bdV{az7^B-^?Y0trw8=125ev8wfqCq zbcasXgy{|ZTmsV<^s)*}pTN&0#HcKIAJis*S_tx(IU3&| zjSrf4gDMBdW-prj5;Xo1H2yVIz7WH6Q~`!J(_e$U1FwyssYDvo=zv-ba;Fv=-+H?K zjxupikP47=G@5i48ow5e4?6i0q!)xi`e#kA-%%zGnrH(1@&cOjFKB#0UXVrz25C1y zit6R0Qx%R(&BLgTxj@zc=wEol68 zU_Qitumf&`1t2zn9KZ-FpdnnaJZRl7hzqJ(g&3|dIHSo&L;0W*Pl(|L1889yNIeLH z%xi_pgKAMBhFc6vL3~&!gB0x8ep;}qon?ELSQThL|NlyZ>G#E}RHt)&s}!03=YJ*V z^j`5QrRgdED+RX;NL2Z-aupAVP?=t? zT%|I-U%AR)`e|jD_D9ndGM0!>@0MiZ;RVgO!<_eYdcalzamMx2-|+8H<~;-v2CXq* zJU)HHj&$+q-TV4^csD}CZ9tyhH2uMjbn!%}A3^6)-C9P_iO8Vt639iLAmX59Sd5_A1O^5M zuxCM?T?PgQ&{P2xu z450kN2wHB)z`y`%&cPxdWWJrADg((N8R)2$!2@Gy!_Pp~x>pMHBPpTzXj;`}_*ce}{(OuxOzTw?m{s$D$O zPum*vNNPf?0mmF@eH{Y>132Pzr+=_D7Ow|g$lTY83P7R|lo3ThhnPSIA-F*YSA+Js zGcYiSfab`cY;I7zL)juApF`Ow;?O&EK}|{S4byWptMqN59aT^_fE!xsfa))iDoAPo zvAH)v+zRp{NF3xO5Sx4R^c$L0%DmMOY0z*Q_vYywT2=0_J6b{E#|`o#0|Nsn(nV?@ zrh?eqpi{TO^NS1&BG3y(K}(pqL8q`VKvvy|2s1E%Iv6S-&(=cpg4o=kAv6Za_AHQI zkc&W_Np4UgXJB9u0u@anprctp8W|WExOYx}pjD+D3a#zIYM~VcsKWue9S>CKgV@}= zA>IMi(juVj4Rs4QDAO=N+yfE^sRy}@d++oJ?J8we=zWDCZQP($WDE=ppk9Co=#+9O zn|t5%1=>~O_013)K&@5o{SY>&;1p?w_z=YAhIW|1Mu3)w!HhTvQ4d<^B?3BWfq{Vm z#O8+9Bw+QR^KM}34@1<0ni(Q(5c9$9N^X!YP*8zFNENcS6SPqqqzDw8AU5~W=?OYj z%AwF3)4-tyIva-p(oGX-hnNQrHR$jM*nUtxg4qvR(!{{P0P3oXKyT{;vAIu9zoAp5 ztl9-}9@xvEy^0JB44}F~qzhs+h|PU^x`J+%vLy7%M1)6J=0@!tCSgg zrZ?zTDf9L~G=eVm<32ZigKm|0eGg=`FAbCqK#3IUG!bJ+{R6T?1axLR)Nbwz5I2GL z$b!T{5e;H{U`GVB&5wbB0mSA8O}m5CfWrh-hCnUmzB1iG zuS(n#v=QU=rG$r1s9afeQTP2m3aMah#x>nQUp3)0%CK6Rt>*$6c- zanOK>2&gOoonj9P-@6bsAd5xjBG}xZ6Of?ez#^bym!NEJ&`BSlYo9>(0Ej?m$3bjv z&|-dA41>y3D4Y8s#86N*AQH*I04l~o#l6S^NW6pC+>an?z>Zi5VS_rOA`2mEK&1?b z4NB&q#)!y5hI;TC2GIT=kOZhL4q|gd8xbHwLE@lN1;pltHYh;ls0ehl2gK%n3b71y z0lUazh-IJwV-Oo;8EALBNCE?c5EBDKHYh})>;h2x0i+0&OF_vTrU;a1K;j?=fv#)< zu|bXi*$GnvvJ=DxHD*B7JBSV1I{;dW4Pt|~*?NMOIfEC@GBALaL4(9WBfOxc0w6O% z_A~S&DFThvgC#(&1mOe*@TCFbP&Q~}4z$e~WDtn04iaAsTG+zC0Ah24PP<}YU;x$P zU^Pq(44@hs#0J$SpoT4o4Qg(IhHL6U98g0KR275RpwUkdAH)V#m7rP{#0KSGP|XTr zgGOXQ?K==V33M$2$Poz)484pD45?5yD40R*29TOrptaFZaZtJj)v6%z37|zJpauen z11hdTwFHQr!^pq@Dq}%xP_%%`H4q!LUK^A#L2OX8fN~p%y@nCeb_20NQ3OiQAodnU z$kijD5CyHF2dzhi)#IRANMvz60|TfC1aY`Q1Oo$jJQ<_`RNsLLS6ICSDpf$@pkfQe zhL!vvAAv06Wn^Fgr3DZh)CT~yDM9K%DILV-1{nq_mY~rMiasIGaz~hiJXFGjfq?m`WDI)_z7*su|Ee~SDnh_~baZp@?*sx{U?P(1X;2ItU;(H?)}y3VM)bAV(jA z>IJnvKx}Skcj*EnLp=jb5$H@8kU^k!DTvJt3PT142GBMakQxRi28JI{gFqb(5F1v~ zbAis{Sq$lCf!N&8zLqpdJb{4$>!s)mb2MkY^=9QMr_%o&l6fL6dnPLqP_CHjaVVAVd71 zhJq3)h|LY{Xo98}Kn8&lDToad2Q>~r;-EwdV#CBi=L~|xL5UQ^hKZj8_1{1epp*$Z zY!D^^+K3Gj2L(Tf4HF0T8A0Np1PEfoDk^XmT?$EnAU5}t=?Y&qi%-}7t;RF`we3FP z>DRcl1?!U`)f6b;8KG>@B!dX(EJRSr0P^lKNP+;hwm{;b$OZ+GNIGO56ciL7aZtpA zdPX2ND6&EQ1rQq)*`VccAoX^PkmL>$2iaK<>b!wCpt7(OY8fbkK@E10I4FWaZBCG8 z&=NLKUkoG;ikGQS^`Hm_H6%ddpa=$)sUY>Bj1Af$0TKt5V4&It#0Et+sAVs*3>w*> zhBQb5odC1~o`P;-JU_J3in#0Rj&%gkZ099R}^{pT_C?A9N^}!4UH(k;pD=WcGmvqpX`w%`z z4XAYjZUUtTNM5X1%z27y}YAU0@{9mEH*L1`c#YA7hp zfHnky#6im!K;2ys8Lu|bOpK#fQc8Bt?;)BFNi5OgtLQ^=X(Et($C1@q6dQeD! z_6dO!dp)RH197;agK=gcMav)qJRmkVsI&%M$N?1xl^3Af&bUGO3pDNt6$iB*eLyQr zpaXWG)(6M}P)!74b3+I3K&xj#;-GYr0IKY{p(Ai&b+ z+@OoyKqE&`aZq9cHD9Gn z$OoXf01XX6#XSUc$zR0C*O5ya+(4lRCzih~Ln5Str1$_QF9018sjs1u0I z4N5Q!3=Djrmdi2*22dRiVsk@BAElt;pqx<;;&6ldDhvz^x*&;k1_n?9u>i4`L53$m zY*@1g)T9vsOs{gh|MhzaS&*z2_z1x7eH)oP%Q&Gz6t6eP@Mv9 z0)Y-eU|;|*=BNj009CcqKqCgAh86<@1E|OaiG!+L5Sts+jf9@h3=#)byP)<7H*^dc z)P4eqgQ{H+n;SZw3>rNIiG!+O5StrRqk(b|)IkxT&K{^t=GKS!0MxqyX#iEnAT~F2 z6dKeH1BrvGP7s?LR3$PnFo28X6_B<$h|LWhod%6?fYgI}n;LoKOv*QcMn1 z$Uuj}LB~^r)PqVf5StrR>4S0sR6VE=18qd-1~md07{CkaMY14={DPJ(f%Jk3G!UEH z8x;PaGozrIK_wb!^&2;+htB{xNjps3xk0Hy!Z_y4l2+323q~b4IPyS^*%x3pb`zl z<^~NrFfcH5Lmdh#(Lii&ZpP`3@}XjkSCqAGaB)z6W6YZNyjq+wYq~&WySOS;11LW*LfN1^0AqvFJ!97NJ1>H@ z>On~qCJsuLFgB<@g|R`&55@*1IT#z1%3y3z%7U>$sR_mgr63p^RQ18wpoGGh#Q@2| zpwt1A0Hp{R8{LRiPuB@1PX4LQcw`X*q~sAu|bssj13xX zhp|Cp;V?F+2?b+=#+G4h(1~HmDB(V_P6O6m)0< zOdM2O!q}j}9~c|d)`zh{O)(f7w4Vsf1{HRoHaeICx>^^>f*2$=sEr0w0~#%Yu|b^% z7#q|?gR#MTpP(TM>WIL^!5g8V;-H~UBbWrJy#`~qAXyCRV8X;fx7;#jO}}ukN*R`s z=YW+?Kd`4t3~m(YcodixP-`5<2DR8=Y|y|HW7hN~?)u8GEC4zN0w#R|Y%C~cFff3Q zQh|wsh8AILP{R$zzJa73)FXk3gO4|adiM#E8c=5drl$T4k_70~2$;kdByrF<7EBy; zhy;uc8t;O!SwP#}p_YM;lYoiyAc=#H8it9BK*T{wfPn#Y0y9iP1|k9WKIn`Im^i3U z1!HRp8<5zbGizb$JCMYCkk}KD*i)Do7`$K_ zW*|w-L1HgJVlP2ruRvn20kfw+xvU9K&wIc^;7DXRfW$t6#6E$<1|8W7bIJuI@heE| z8%XRsNbCnl?D{82oEJ!J(6U~b1s{;azaX)HAhG`-u^B*TH$c-i3lf_Hi48jA9bTjh zAW4WIu_ch$GDvI%B(@3?8??3<=4c%xaRVf_2@>0a87V!34y}f11|8T4W4j<}@IYew zAhAK09KqCwAc;pHv15?fpreGq>Otu_1xX?UiJgPQ1|1#^*1*8PP=X|0fyAysVmBbM zTaehGW8`7x^e{6p)WbLvkQ7ZpV$VQggBDxE)Gt61UxLJ5fy7>e#NL3!-hyD)GweWc z81^8s4Du$jZa02&(r_3%KNK^-fQ z0U-6Dt~`j%4H^oAuBj1O1+ffd7B}eRUeG`WsK1yC>6wdx*sCBz1!AD_Qf^TD45EiY zI1eHL8vO>bL4AJ^X3U%ZAdE|&HxIJn4b%f?%$qLY&IT3&HTOZ7F>iW;mNZxh)Vc>@ zkg8RDU?EUL9fTS4rZ1Q%0u}-_xj~pQZ~6y)8L$wj>jT1!dD9CzmV<>rt!EGhsd_5_ z76P?{L6|Xb`h-akvp`K+5N6DqZtz_htP0dP1!2a#={Zm#P&*TZL8`RYgH?fAj3CUI zH@#sp#4J$b4}?M9_JsHm)QkgR#=Pklg7<+nf?8xC%$PS_K^tNgXqXd(K~80~0;>YG zsX&-9Z@LZ>Lea-t<3?{$R5}4F(VfxyvsSECj0hK^WwEs76pF4#JFi(*n!Eia^yd2s7qQ_xZ9F zECi}pL6|Xb+Ql%i2U^dYN zn*}OTK$tOax`io32vj(LFk{|ymWV2S&pZYO6BY<&1Px4q7Kwt&2GFP$0|SE%3j>2N zlnuK71IG3MiRUpefNlZ-VaB}aH4#<%^?3{oDJ&2SGY)iCAR}nK0B9K@NE?)0h{Ub{ zvGW)hYFHo`rndp)6wp)!Xz3tG4V2x9#GU|R=P@u$VPRlk0}-G!8wv5+8Wsiy5Qdqz z0c0L%ii3fHVGBqfl)V#)4Z6<-RInUjVPF7Z#=Pk(pvK){VPF7Zm~jt4#({eMpy~l+ z1eE;}iTwe@&SPNs!UDmdBp+3!1v=xNfe|!HzyO(MVg${yFfcHHMkHZu&}bu!4H`*g zgdXSs8uViX6;uoi44^_6rUo8JUyt|Ra48rv}&Sa1T=ulSBQEMPJ)Z)b; zHdK5Chz(W01H^`^*$-kvCut6Y3OXqJ7Lquq0EGGeJ4hTnd85F<@EfE7%wb><0v&P( zWov-grPCd5sfg7JLuYirhs8tL31E3hngJg?4xQY|W@TUyhO+BHYM_p90kNSD?gz1< z;!{9usQ7#k8!EmT#D<91GwcI#pc02cY={KIIS?Bvei_7uia!Fep^kV4br7gM`wJuv zRsSEvhN|ZR9S{f=7XY!LdO?SnG4g^_2?GP@UOPspL@`JaRC5)G4W0L>V`E?thO#Gt z#G!^x2eF~*mm#q?g4j?sM?q|;nhPK{RQxKamV#}|x(T%a*XXJ8P9vMoX4P`%M0b}8f(0fsaXr*OJ}UanX@NHM7U z(F_)Yq=60)8*2Du5F2X9Ob{Dt_*|$(pxLjDAaSUggGlV-AU0I}LnQVO5F28C62pHG z2Rb{*%)!7Q3}u5alYts413DBFqJcpj#Dg4j?scR*}$ zXzKv9gH;$hv-t%i0W}n~lNFYuSwIKCLd7{jY^XsZAU0H762yjzYk=5LGj%u_7(nKO z`hgB0aj1G%P7?+Om<0hy5@8@VRC5CodoGAwI$eQxomjmvsG$Vfa|05C8h8-IhC1L3 zhz%9L2x3FU?<29_g4j@VctO|YK-pR#HdH<6{0&CvEUqaR1A{PxUC#hM@fm7?ACiVh z5F08U2Vz4F$^@~Y;-Kp%VIBwVzGZ}p*MZbPEMVvWv7vhVL2T%h@nn!AWT7Pn=tfCK zs08SC6_}xiKpLQP$;Ut%pzOOKaj2m$Ky0YRZ$WIR_zw^pD*hM5hKhr45`l{I)`QM* zg&L}e#MTC}p&E=pY)~5(G=sUS9FHjE(?q#nwy1&Ko~ZUV7O zp_84U9mKGpn*@~rl@)VAY^a7sAU4#3jUYDEQ1B%HQ1O!>aZr)Lz`$@8WHFTe1WEim z5}SdCVfx;+ik$TVptGW&hKPgMpfMKE)qXq-48l;hK1dwu7!wd1s@@*NhKdJ+*idoM z(JYKmy{S-hKsl!pqz0-Ubn^?mao>p~(GOxnHLpivp8>I<7F-6gq0{}>K^8#S?~ug* zgV<2@Y@h>eq00ccco`Ukp=>!&wFL`)WsoAM20aiP>QZA68!B!GVnfB9L2RhFABYVV z4+gQJ;&C80R6H5PhFY8pVuRFxGC>K516_4b}SyiT#-uG-3+X@CzgX>Y;(w6M!s$vV}m0vOx_}1F@mv zpgq>Y`k+HBAm{4BLeUwd25P1shz->n0%Ak;rh?cIHT4WRAP#h8MFAfJgD{j0+LR45 zbU8>3L<7Sn5F2Xfb`Tq?9&|YfNH1u#?L0^vs^$ua4b^)e#DPz}`}HdMR~#DKy0WQM$nupNS-%2Vz6jSAy73^>rXN z)S(?9HdqblG+_`2G!V?dz%Uu)8z_4flK5^A8?1qW;Sh)o8YpI9U^oU+4`ts)5`PC` zL)Cu;u|Z=T3=9lELF%Dw0nicS^-zu?hy&H20b)a!>gWhEFbG50&Pd{sAU0He0*DP= z!jl404`o*)iBANvq3UOV*wB?a^>aWPpq$M}5+^}ysD=w5HfW5Ufq~%)NIjJO8cF;Q zhz(WG47y?mx6-Wb=9f%~J1Y$!i$ON&yLG>g9 zLoP@?l-+_PJ{81oexq2HKzo`hN`azu?s=r4;rxrai9|Y zAU0IP6c8IKJ|Dz}iZ21Nq2lX7Y^eAa5F0AKAH;@=9|5tU4gz0q2UT+w>_}+&ZwcjqGL$oj z4Yj}v#0Cwvg4UgiGB5~3*^wY|sG1ZI8)|4Khz%7lM`E`ku_u7oQ1w$qLFGSG!vZ9U zr64xcvI|J;Hy}1t{bvvxI^O>sn_18dbsQQN>HdOpMhz-^I8mbp` zGs659cZ?Kxfk++y+Rt7^G;>idwy*CMemA+f)J*wC=~4Pry5cm7K-FbG50 zT#|?&kU(NY-rF}fY_xB(*+E*S?ira9H@i`hz&I~5Q!ay#Lfn>p$;knv7vKD zWs(dG!ccZ2NF1uB2gHV&KM}-+iqD6zA!XSr5C^JgJ%|levB?+oap^BKL7#Lt1$as+0qDX89Bz6pl4YfEK#D=cp zPnTj~5QeggK;lp}ogg;UaeW{*NF3zYG;V+m2s!JFcIAjsEKIk}GSW`s;Nn94hh8n7d#MVb*JAl|w%iKV0=;{+MSq27S zC_5B%-vi8oB#M!h6<-Zv zXF==IEl>`~|9g?x$B@|Pk=Qqo*bkA|uaMZEk=TEb*sOAh^^1IRpt=+q6yit{3P@~C zB(@O}+Zu`Og2eVkVuvBIGoC4psAB9#sBA zIscF(I290O03V1A)vSTU_6M<{def2E^+@b4B=%G!_5v6iRQ{}naTpjFwjr?(BC*dP zv9BYsA0e^dBC$Urv40}5|01zj6+z`c)CZi3h(?4U5?d6BEsMlfL}F_qv2~Hyrbui{ zB(@`hUC-c(;4t_iu>+CVkx1-VBz7tiI}?drh{P^MV%H+E8^LT)_%kptbb>jM#L|nz zo{GetiNs!r#9oTTUW>%uh{WEB#NLaq{L1aiAe_3W@wV!8i;I3 zMPiF0u_ck%ib!l#B(^RR+YrI7XRt(Y7;KT)u1IW8Bz7PYI~0i>i^NVuVrL?;bCK93 zU^XcH85kHUz#MS;V`xBPw;-{5kk}KD*fWsWbCB3ekk~7b*c*`8TTGESyOG%Yk=VzP z*r&nl=^L_`%%=b1bdcEotEuX#a6NPo^et%q5XuIfcnmwj@duJPXr&8GoE0>I23608 z#1=wgOCz!6k=PnY?0Ov}jx7?~5s4j$#12Jb#~`s2kk}1K>=q<;Hxj!a!iL1+dI$#` zi<^N2Y!xK7 zHWFJOiS2;I2A%&58#4Ar68A@9XTjJY|L4It3=9mVNbE`^_Dm%9TqO1~B=#yKHfVm5 z5jq6CA0!TCA46h;F1f6SDY}d#aUF^M0EztsiTxId{Sk@%3yJ*?iOtW?zyPxgJhusP zP(6bbl7t)*8$7uQQN#e6+=OZNL{j66#0H&m4O3HyBwm5Uu0dkY0kc8j&%nU20L%fW zKZfN|03euOK#bfc+;D8+3*@BUGHF9yDDC|Bz7ng8$1^ZH8UAWJROOh2VsLwPhwywntpyxm9k+w zL<|(J4BbfVsYvXZNbCjE`A;quuV05GvHjSqlLr<-N_A8Z;B*t ziNtnBV!I=;{ie@9xmesb21zIZiJgwb&PHN`F0qAKSuy>61($ezGm>-<5_LK z{bwYhUr6kKNNje{1SvEoK!>-$+yXk$7{-=BQlo^#RzqTgrVD?n`M)YKXz_GTpZb|m&CB=$8V_FW|QLnQVqB=$Q98xmW8 zK^*8%BO_?~7Ru&8V)G!eMUdDMNNn(=HdL<)lDHWX+X{*8C<_`F}l(16rbq#J-5ceuBh)fy8D5&C)_Wz=gz?MPe%= zvF(xA&SIdhDO59fA{)w%LQ+(L#I8YN_am_ zsD`Tu35J(Q?6*klZ%FK4NNhgPgfY|{Atbgm5?daLZ473E!k>YG!5qv1mlg~TNNg7* zb_5bT28o@D#Lh%w*CMeSk=R{G?7n&=&MGAKIwba1B=$}u_6a2R86@^qB=$`t_A3w@ zIui+=UQdTkP5lK)KquN5B^VfB*K2_1-J#+c1B_cNq~kX zp%XG;APFct7KxpR#4bi+mm{(3kl0N~>~17>KN5QyoL$erFbmFMU|5XAUXH|Ghs555 z#NLg>-jBpShQvOF#J-Hgz7Ar;rl#(JI8fg|LSny0V!uaXe?wybLSi$6Cf=duup_bg zkk~>#ceK0pmkhDd<( zVmcB#4~Y$469H9UjU--=#BM`kcOkJSBeAE0mnJ|BnujE@2#LKKi49&i0ad>ZNgTX} z0xEtON&Gkx`y3Mc5{wP<|7{otblM^k`xz4Z6%zY168k$6`yUdU3A9WB>L6|;Ha`+u zObS%~LlsFONhl++)sfhGNNgh{wlxyl9*OOS#P&jB2P4?^4B-e4LmU!235lJJ#Lh=z zmm#sMkl4*g>~CNbD>mb}u-iJgzcE=FQkBeCm|*zHK{ZY1_( z8BqHl8Z6V1B<3Tr7bCG(BeB;bv9}|!cO$V6Be9PovCqTUpx)YL7>9v@;WiQ*ypRg& zxaZUNmsN?^e@2r2j>P_t#AZfX2n0Hd6_m|EAE{?>OMq(=?vDJ~-;3ZeElL?KH zB&?Cx_DF1ZB(^saI~a)_j>L{fVkaZ9vys^Opq+s*-;^UsR3ovQk=X4>?0zKnWF+=% zB=&qH_HraPY#kSPA?VrwJV^$hw54ud%o8+oCaGm^MF65Ah%9gM_| zMq(o`Aj?M*F9x$Ar3FJZm;*}F3=H*1>~uldp;6-F%o+<5_>%odpoja zyOAUgBe9PovCkv1FC(#UBeCxzv7aNcUn8+UL)l>ee}{5F{{N4}W|l{+Py?N{49h9} zNaEs1Y-uF6G7?)IiLH;sHkL=Kt*wzHz^mAx<&-;;xHl3z7>ON@#EwT|CnK@5k=Xfg zc0B_Fc&QuIvTC>l14ASyHWGV25_>rkdo>b!Gl&hVt+#_XPz&}W zu@57$Pb0CA0x4!BeCBjvFkr0aegDQ|0A*4L95T8j^jpR3nQ_`k=XJ` zY-J?2HWFJO!Um^526G4pl>Qj3k=V{iYL+H;e;XB#y*Bj>JBX z#J-HgzKz7bkHmhC#D0y${*1)_u7Fhjvx8QdLDy`8&QE8AvW1Yu#gNzwlNah z9Et6O#CAil>ltbg9EJuYb~_Tg8;Lz1iM<$!y&s8v7>RuviG3c4eGSY8opQ~96Yqxwr4zSyju#3*7(&Iu}?t zZo0>wDrHsZNI2-^U)U}X@X5c>K}OKYzrxAWC+w+G=7kQDflmGv&IFzOtIP|H5zwJ@ z!a37F?5UF5uC}*Il?7%K_?Wx6=@ADJHi0aM9Ww?#lo)Cg`1rfz=?g$-3`1=KS_g8@e0@d|(B1{lyk;P%!~rA@CTa2s+s=2U?y4P35K_HfXYlfq?;h zm;f}X?*=WzfhM{P(25Y~Xz^swnh0phI{{)t3rX;#GBo*lfTl7bnXDdsE)wWGBv2mx z&jL9c33Ms}NK6Qt7{yo_7(i^0xF(1VO_;h+Hb~q7#D*qP7bqJf9u8td6KpJ$4H8cV zv+E)EsOEt=3=E*tek!1B(CrwYgOxywuRuwp6)Fxo`?DL$1|@}wP&Vi;km*o1DEj9@ z*`P}*7DL%S3=9k_p={7iXX{}WfUY_Nox}vP40QS5F_0o?);a@agIs+H$_AB9ccE;M zqn|_BAVb z;-G^h{z2KGa*TzYfdQljbQc^Khz*+50R;sgh$9XO3DA*Ipn-Q#j!*}QOF|r>3uS}i z-WbXT`37{96i7YDO}0>R&_T5UAT}t>K_|~a*&v6;K-nO3>XV=xkU<$xHYh>mLD`^N z)QX^N(B(C)AU3pk?u4>IhRy-8L0)8FU|0lYgTz-r*&xf-LD`@X+5%zMGk~tm*#Y4& zfXqD&VnfUM^H4U(phqA!w9J12WrM`uLD?V+zChWa`2GcDgKi^a;9y_?Et&>Z0c=n< z=xP@pQ27s%0Il>Ef=YmH4itm3LH8$Xg4m!q0v$gIWrHj>g|a~@+!D$Lg`y9L4XuQN zplp!(SSTCh`*bK<5LEu>K{=qjTLNW+JX!^1g9d);pls0LA`?MuXw5bi$_81m0>lP+ zk%56>9h40c-vVWW67LQu8x$&_Q?crWpjF{Dkc2KIp@B}q0*Qls_8ck>N=I*@Y*0G* z2xWsVE&`p3B?KyM7#JA%IT;v0Y>>sEldwQ+&|SX@P;t=NQYuik3}{l(9K?YhgJKJ1 zgEV_U*`O>G1Z9Kn_lt$HK_Q$0WrIQ`AIb*Rs-;jis1aBRWrHff9uON^txp28>mfd# z0p>vJf_YFjD4v!;*`RV}6_gE1n;W2PP&V5FWrMD2Iu2q(+X`o)Y>;O_M{fz4GBAKj z^d}&3P$|d2!0@Ub$^j|*0A+*X=^K;{3a(#JHpnv2`CLNKMu#950|ST+(yIbuLmMC( zP&P>18pH+{_zVp8P&PP}qV_I)Ji4 z>ZgO)(8kMbC>tcc4#b8wWHv$BAn~IhHndT5k_%M+dqOO@1CoHYa2`O}APt{EY-nre zJCqF)=i+8y5Q4UR_@Hc%IOrHIA?V6sb&z-<#C%;S8x*?6P&T;zX$j?kg4Y(x1|{YI z5F6Tr3W2gg7NmpNpwz^`z>o`NgT#xWY>)-zP&O#~xAQk6wUiVY-rQ%D3lE{^fZ(WDgiG-*`Ol)I+P8{ zHMgN`P@ACs9f$*M_kDq~K}G2=C>xaJK-X6bMKgelXEq)N1`r!mSn)vFpxR6b$_9m^ z7?cgl2$~=^v@NL%WrG~*0AeSA>R$#11~&+Y0o1JXfwDmc1wq-MGAaVf2HkNK2W5j! z08W9jK^M+uLD_3T_h3NTpes7dplr}pKQ&M`=u*Tco_Yobp#%m7(8bRkPzlgYh<#8t z=o+6XP&Vk=t@%(k=*WbXP&ViqpAAqp=xV`jP&Vj#z&%hl=s5U8P&Vk6ofA;DD(JSX zb5IWGCd?~Pwl*UJ!+j_lbjHFwMo@&_mzbW_eZDBGQpf#DC74Z8S-i5KEA(4{sU zP<9?80|RJR0m#Fk`)Wi$XLo@(pc8fguCRe$B|hkOyUhu8skndInMty7IgVDlW&wzyR8+01^k?<^tNP0Ahm< zV4n_B1MR@f1+$^$|6(u)ay0cyC>zwA0&QUsN`l;c2in2_VuKRkF_0Q)@8=AZ4NBFQ zplndhc>~G@Rkfh44MNEb44@qG1S$?HWM9=oIiL&WK0w)^vf>+*4YK18lnpupn~9Hs z0c21)=yCxlyBTz$0F({72~7mbp3cC)AO&TEu4e~re*ozPU5W)dh7H87-_F3mpaWHO zn1O-82+9T>L2UtLUuS@v&j!)}x*HU<7XrivT~6f%RRg+fDgep`rS>o=8+74843sSh zx~dn-23_4*%m*s}p&duiz6haoNLgJEQk2fX0Ll@qP&Vks`EDp1bUVOAC>wN-)O08t zbQdsa9|g!9H%11A#ZYn3JyI*7>>x%4hV@W(2Iuc2x{gF~SG z6+-pt3=9)McdA1rKz9{@4vzzAn9In(z|7CU0Aep-WMJTgvR5%OFn~5*fW$#rP82G> z4Rj?hlnuJ}RT0Vt-E5!^WrHp-1|2*H(hJIQ^~O*M&;_-YQ1&fG1_pa58+5|AE0q0| zk%7S*$_8Bl6$oX6ZhZ=evO!n9#zNVko1T)PY|vG&nNT+9cBgy@yPg4bfov&+!vMO{ z33O5&$aSDQU>l+0pj({Up={9U8=zC`Kx#nwdmcy}I^eJb$_8b{RZuplcHIDFgKF1p zP&TMm+`|tl|1%jFKzaHAR04Dfyuy(0|V%;&+||=sF=J8WrObeybWc8Za#SkWrGgz z2W@2mSpd2_@GVpvbk*l)C>wNlAn43KkQ&fcpZ}rapc0m~UJ#NHz;}H@*`P*;Ae0Si zbcjRQpt}QQp={7ypUO}+=#mvpC>wM`fIgHBDxN|6V?Y*zuKKiwii7SBbcC|&L3e$+ zLph+US$v^v(DeerP&Vl9K+pymkU^lkKI5U{pt}Q8p={7qpV?40=suT1C>wMgK{=ES zx;wBI$_8Ea*(?Yu|FakvKz9drLM1?VefC4ypmH9xlLlll=<4R#P;qNU28M-DHt62Z zwO`C+ILjklsi}1_sd98W0#C>zxM1`R|pf-*6v(J}r1 zVQ2ArP`7}w5+nh=jTCfO1_Pv_#0a`2odHs)GJ^6u=#~}GH5s)K^`HS!M$k3C3=H6l zmOzmJk^zm#FoJFd1zqF_QV+UwgMonoH2Tcg1X2OH#GA310aUg!Fo5n8VFZ;MpdG^? z4XqGG4b$g84;HTn-x&(Js{?e@KS;V0A`QMjvt4Pk>X4h0oA3=9n5%R+l0 z;-FpwBdF*Borw!F2Xw(Z0|Nv2B2bVe3=9n5yFWqWqznuUpw0o~Bxu(L)H`4Vjp#Bk zFn}-i1eIG13=H7QJV7_agX{p^t^q2;K;a8wgIaD33=E)qpcp}yihvRYNPH$pF#`km zK2Fdu6)3<#;-K5)K>-e8gUUZpfP+Gn5p)X)=tw${1gJ0sg*b>kA7T*r9!*eifI=K3 z4!VjS6yhK@Xrz~cfdSOyVFWcFL47KaIH({61vrQe>U2SGE@uQ4stgPapr#EY=sIoC zuob9j!w3pvP!xbPKrh|`HD?&1_hK>U;hbBXQ1m~7@_G5e4QsWoq=xc41*;!@b#R~ga*Eb6PnN*KsT{K6B_td zO;ADuC0>v?DBc(t7{Iq=Lep6RNPN}w3GH6`(|;G|sZ4*(+^RA?+b>XM`tOgnA=7vJ zZLyi&ZOk7sT|25oV)}PueuL@9L+VtfYxnr7Oy>`+lbC+IFi3(?a(c#rNcZXMe_0t! z*M3-KFn#k43l&D?=?xF7l&Al`VZk%~b;dT8>Dh~zB&NT9Sf#?KIbGmUl`^CDbQ2Jz zJ3Zo2l{KUO^eK<3tf#lH5A~QX{1RNc z?eq^I%6_`YlPYCK$LSUz%6WPWh;p6Y0HWNdF9A`W(@%gX@9A$ql<#zbr&Y>~{?koB zRN(Xo5EVSV21JEUUjU-Qryl`Pk<(v1tqN8JHT6KL3pAYwWd|U!V?gYL=?TxO^mRb_ z43wS0LXgC_1c|)?iM?m~|HF&L>#raQfrj>Ao8I0aiGz>ZhZ@ZSnu~<81(4V>NNf!x zwh0p30g3GcVS`dN149Ia19or<61xD2U4z8#Kw?ipVlO~qgGS_Fp4ovUeguhq0d$u* zOwk=Ai5Ez0(8wE14QR9t#s-bB!PpW=GqEbu*^e&PR}DcDN?cTU&=?eKzZPiR3C0GEHNn`R@g*1= zG^E6s3@ufW(%8u|eHB4H$=k zfx!fc4L)rGYOxQJc*OMmpE||sLFd}TPLQlYlI}oaPeEcYKw_^!V(&m=A35wv7aEZ!H3U7&HMuqhZF`JpkoH05+X=!1thi(659fa?SjM(Kw`%r zu``g^B}nWB0nmaIsKq@<65zuZV51lyaVUEO5_=Db4IPv?fyBOo#D0LpeuKpR0b_&w z&jLCH0BR8U1bHZ121y)zfIL*(1W6oxumV)v2T42vi48hH9=4>k07<+?5VYU~s<{J6 zVhR#_0TO!+5_<;{`v?*ne6T#!%sWWpFOb+@5NyzZ4`OK`4`?L{RI>yU8`RZ;`2f_t zg0VqeDi|BQiUq1S1W7OW`~s+W4w85Um<cJ-tK*i4>iQhnCKS5%DKw|%?N8)e@BSHdvbO6*)1tf7DBsS>ud6@5Aki-L!*x-`@ zpyp&CiI+gxVE;EjIUxV{AhBm4v6mpRHz2Y1AhAy%vBBH;p%y9#s2XPf1Fff1y6+TYi58_%pfGOtxQsvGW16Ldm z;%2}VuLp4(;N1Tp?hLqM|F2cU{Wq1Vhp#GmKcTOHSw;sfmfOF6PsdDF4fpHla7(Az+W@?n4zAj{*#PokmjRL#| zNRr;u{dY4-PxtyGBr$zobcleI4U!~irk@404h=NW!an`N-zv4~vyO!d@OmIA@}F+q zA}>At-abW%>3J>k0=ywel7Z9v_b^FMkDBQ#F?}CMG66|4c>4b7OQffFz3P&fzO7-U z0B_DCXp}NAFoaJ3-xVZ1J!tVp3E6q<44~`E89;+opkk`!5j4IS7#PB*$7i=mPoH+j zLSlN|?HvNVE0Ao6obEkmf;5v2<8*-u@?z8L=1dUK+VY42JoxjGfq?-u*ADX_XxR`W z17z6=$dV9 z`a|Lc!X8k=31*MY^w+bNs83&((j%Z{^8yixpoSAnO)6-)E>cjfVV+)~Xdx~L6$XuY zf`WYw^K^mf++sq7oD86qVhrfw)ll`IL0G8zhD00j>HmKe@N0!2*$tWif!VzPP17Fc z=?U)y#il>2og~1UgQTfodiAlx(oAQd^6QQr7T|3`k}sOh{i{Hl=?+xh?pJ|;)*K{x z&`b-=Qe{w&8p*?Nn5RzA6|<7#LJiX`FBlj=)c`2$LF2kG?cQkGC$LN_ix#tTL({JC z5;C|8(heG3gK4io)1JXP?UkU|^fI3u0j+?S2rEH@dN4iU1KEOJ?p-*1SY95-M zdtNdyfJXa3c7n!~VfxRZ+4+NY`i0rNVpb>7^b5Q~BoWXcAx!@-H2orM(AY4$j^;vmR>;eGiclrrhhA%{v&MD6>PM`LBlH` zC9o3U#VZB|(7-Fm%N^6_zndk^^ag4ZXtg-9QkB<;&;^Zng5*Gj0ca%Eiv>*NE5y4Wz>KgVy{Y>(}9!_S|25y0m;Hzt#sN=Ya-UVS2#BCP-0c!!cc8i?)~+ z=%PW88d&ggyg`HsXfPHe2MUuLJkvF1q^ik+E+7Pn!PG0fLAY_+^xKSu(oAzWAgO_m zsZc;G;|(GSfhGk&dO_xCfd(Lu+;fCuxEG|bO#|w4a|KqZxP91&UEWkA8Don&gltH1jVN3rTPf)M!ZG%ci!~dJ( zJ)F}IOjZ}0&exkMpjCh*4;l*wnGJIPH8lIraDr1a(?#Ct2G@3ov4Y&YX!`q34r!)4 z5GgIt>KKrAn9~*@84VgW2FZbpR^pq!A}T~}`nH!l1bBBKDOxsNzcoRc=?^EkOty06 zLk+46NJ>GY$}savK*JwMLCwPj)-RinrvC+!{#DcWD_2T0$v~CPK~u``4iRc=rsuaM zNHghhfdjw_wCDt6Gt8F~NJ>Ey)gU>LFTsN{NUpMh=$CzuW|aYw{teUl+Y_Xjd>~4# zWcX17zynDsXaOC}Di6>g3X)YZQ2owm`V)}!gQiem`oY%|BI(cJn!ce=RLm+3O@9TF ze$d=IOh0&c36lN>sQx}Q{S%P%gQoIe`uCx^e+t+14>P#MtahU5UxB257gF2nIhy`E zQ2#$d(|-U-KWM!G%zn`F4&?IY4cGJyQ{}~Exdc$d{|1u&ebe*z=u0z6a8G~mP*BWD z3r*<H$oLaT&f@|N=^*I|-~*RhR;+@kA<6RvQL2LWtHA8EMAP5HH$7mQ zyqFbetP7+D7Ca$e7#KiPSs?pClYSsMkeidB`k6otLeK@w{NQ%SbhfFP0`(5x5Y-iE z$p=hRFH{q(Aqg6{1Wjo{%>Z{eKy1+17)TGy5mUY~Fo5>BfE)pubq2|S9I*|}JkSu9 z69dEasUFgTRvXbmLggR>0@AEScYbWh${mF2WXi!R32uRU2Z|W*;igarfT%ke z3=E(dVh|gIVU7Y_f(gLk4;XFlh)Ln?9z$1bn{R}->3=A2d{Xk$I0|U%J z(7-0Lfqz;U8NP@^9QYi`z?TpM!K?W|MtrGZV7Lp~%mm^83)4~)Gewto<> zp2fy^V0*V*wK^l?>+PH6t9P+7Hcrn|t=3~~+CEpcTE!Et4_JO zgr^r=t!4oWv6vVbKvXfA7)%$`H4kUY-tWr&un5~ z05QVY(!_9jqrKAe>3bBUjJCU7uQujnGGv&(;Zn84^gR!%d6-NLr!Ra^ts!8^5Fejb znwK0OuVM(c_`u<6k?C(ARP)xGBS{%sS{kBq&5*bz28PIrO$>~X6`L3sp(-{;wbaBI z#VBJ#hNP0x_~hx#i>FI%pZu_TUoj%24{eaxUJzRIi77gbHGv6qJz5F_TRJOfIW_}- z0Sf~ITLzfJ$p4v*fq^ZP6;!7%@iVeAFtBB@g7z!0@F#+lWrH~!{Gf}}*>b=f9tNJd zJPZtMxzqPX)EF@y*#04+1{{@gQ8k_{jGWsu;%W{Wz}&LkpueV{KRS)|CKCgLU?$iZ z;58h4^2}gofH;hND!gE4fEMsD@m&!EJ7X&-Bl3Y(XtQOrf;b#}FF6<(*mA%e9tJMZ zerdMc=~DB-&hVWNaYprm8h?;8PA{pElwjO6{pp^XBF3rHBlgxPGl{TmuiaZyu?Ob5 z=^M=L#kUJr)%FNRr?J*DF))ZAJ29UL$%)q7NKQP!hvdXMP6h_J6G7YA5l$2Z1#j;5 zU){C;L2mjrp;kkf(Qdl(lG@3Pa@)5rsZBZqcgu%`yyDx<3+q-hV~e$$kl+GEAtV0| zP(;CEZ8j*PV6nCqqzo2o`XGnFV=WxS%iV5UTF1i5$hqCAsxI9OYPr$&4IAoe`4~C3 z>+P>|o(B`1z93_&)b>fS_3F}$ob9_R>bLKzXjnfHCcV9Yt1*s;@xb=;VvV2_F#WH1 zqYWeHb}Na-?<-)6rWbrRkk}q@u#t;f*oX-fjXW%Vj0_B1pxw_LoZEBHG=7p~oH;$= zSz{1m+w{%P8kJNp^4NgZ3xP1tWJVj%gfR&7EMl|)P2hnr`?Kx8o;3=0L9H>K-r#5{ zv0bOI>6Ikof$iemO<)JP_B5F>a<

G;OcxX@02!SN$QHQG9#z#^!a>jGXO8XPdVh zoo)FZ36tJ#px%03G&+rSDl186)TR=XR}Iv>D~5 z&&g_yVPtOqnbo@eXI9%D7MR1Pe^|&XvHePZ+g>$B&h|;u+O|)c);@U|T>8OGb&2gR zwjEDR7!PdMD(V269Z}o?GP}RHqsgLvF=!Ja19;umoF{e+3|2`gi42U3IZ8o`u7Zq8 zK*xD5<^XvqNr8dEh!u2<+hPvTa;q5%3=C$UK=U_CIc|tDFq{MN*9$N(FfQX@7h_-m zT~212$-uar0~}O}3=C#1psR;gfK5vS@fQfNFfcH#+&*PZM+#&8L$IZwY6`R)i*b&; zJp+SLDyZ-N5NyO5kQR_FjE}*5(5+Vt=BGiUp#Q+W04+ggoO8p0fx-9~=&+K19H4eJ z^TeKdle?g0S`3^ZIp&G0>P;&c7#TT1t5mp^7#Q?H?T8KA%hz?pF!`x)f|@lTSAdom zGR|RhVqh?O338_jCx{KY0LoZVm4Sg#g|iAI91QZL8Yjq;`#}vT9v0B?!iKpZhg(cn z+}I&0YrzQ$&TmQ#3?|P(0cHg@i7^DE(|UUN#tvUJ2!S{*QdeV4C)Fq&e`P5z+kihq&bcAo+tyuV`T;gV^L5WAq{L8 zW3W*fs7(&hw^@aO!3^x946u)`fcRh^XM(Nztir$ma%mRWk9MjI45me?B@B$&U|YLX z8Kx(1>PYt74VDJ^0JN2magMYL1A`IR(%oQ7&!{pmn1PMm3pSQb4Pxv*us&4~FFCJ- zfpPzI{>>cy#m&|QjLMZ*cx=C=oQZE<_rvs!4Q+Kflc}Y(woV^cpYq# zv^vazH>S63?og=z40b2TVW8Ot#yNeiu+aGo4xJ)(m_t8~5VW&{0o0;moa5le zzyL{0hFsvZ6a+~h#$2G328m)5E>Ozq(PUsS&0=7L@D77`*)ZNuO$G)NaBQ1S|G%Xp zlrdv^=++Kx#_H*fTRSAIv#0x#jMT0JQszfdRB)4YaI(J;R#qiL%|XOxw@NcXJ4A z*D~ntU=CR#3F!ebFt9L6voJ95d}e200PR--#V!mpF|s{pXJB9konyiz1lsw|#K`fJ zje&uQi8Yj!fq^-liGhJh47B{8iHSXAx|~V3Hjf!dLJ_pFoO$Q;P?PRj#)RpYO}Y() z<5?LPm{`~|*%%nOSwK5ecq^uhnRX|$wMjBCTw$c=e1XW*Qp!M90 zVImCEmzi~^fXz#02Ae0emw|x+*}QM8(;dva&A@8TL)5T=&V`vIIeme7w=$#s^dsio z1z_o3mg$U^-EwT8U0L%ar^i`z%Lv1b5@L*I0?q63&Y0e7(JjGfKYf`+cPLYv8O&Fb~ud(XZ1Dk8i4lx&0Vj!6-#yy?ix?7Uz3d?jY>ux5PuunvA=qYdd!9G6qbKbnMOo z2ayaPBprJ(Ffh!Moc`9aTNX7PgSIM*`AnB}>Xu{-m~QUWZ2;DHfDarFY@l6?lO(54 zbm~@NOrO5Zse1;<(E-kAj-Cao08*J?!2_CUXPlEH0Cx0T=k6G=nLz>&GeK*ACrM6M zb^)8|;R3btB1C%n2ZwGJP?Rom=?(?!3lIeB6GBV-V%J!w>$-NQg4MhRt3gdE?9-3C zc3Xj^qlCalz;e5`TemA%{3Jx&+6FDUuY>&a0q&oT;G$={FvvfkIQ_r`N@GjKL1}FI zdADwP#_iMJyFrqYf_t|fIE>sOiMhfZ?9I9E-F6`1yHH_Pk8Tx6w$fw<tuFS9i2dzJ2obyGLfk7OcRb9bmPL~E} zReMiJrtI}ZOEnqO4|qZYC|C?^4=jLGykM>?2AgzI25eHKSGNz?S^vbq850yu=iy4b z!AfV!f|as(LzS)+hbyh}?p9%(J$=46Bv1j^R zpY8xqz`ghBR*OOk0$DF61_qWhOqrm*;(suZ6K7;#ko90?U|>1R)Cdv>)f)^9U~%~u zEDQ`F%*w(j4>~sogxOdb70$9SFq~zXzL0ID)$|D;C9S6yOkOWEy>F8e`}P{YZYHJa zJ8XqSw%ZqWYcMi0OlRck72ob(*ewAX-(g_L*}kT@J6~XXMoafDmhAzZ-4SftH}rS! zV4QwnqbSezhKb!fxu)yh$kCd9VNSQ;_6>8oSFugMA#W)(-Qc(Z_jLPZ-Gb9M%;^@} zers{JF5C1Dd!+}{1?q*Iw#%(6%VV1U;TL1T_JTi*0Zh{c?i(5LgZBP`{1m|e+Rf}Y z{o;mheZv3-(2@<1FsO!RDgP3LJV09YTzaq0|Tgd6=KL?@PzU~ zC8rQW9zz-mzks0)$_GtY3o#Ti%!Tqnd#r^RN*Fdm`Jmh*#8Ad?3d#qSPxV3!6%5az z0uT$T7&w?g&S7AHgh&m8DwGe}gDu2R$KVR(Lwwl45DVpliY6h3CWZzmA5>rnF|;r& zg7P8y+Zawj`Ex*ftA!Xk7(PM;z(K;$#UKe9m1baIfLPGOU<>6#_ln+{WCB!g|fgvL~GbtxEIX7i{%;xT&EYk~B4@*vG`&=u5M3@~b z7Mz~_yqbqGcDli_VsR*Y+UHt1Bvojd@NAaT&32Z+rbGreF>w=#zjWG$uF^#7WN#kD|FfFj0_)-$L{EW*aX0BQbl=(2t?X$G(G7}bZqRB#(6Jp13=ATW_BjKnQx9T;90OV&CBn|Y07{c!qfH>o z+CXgXnCTvSyOnuOAjWNHU|`^moo*ngEf)p0*%YD_#O98Hq*TzEW+EI644{e{WSfX7 zL@$U9a|+0{BAk$;j6g>Zi9q`RV7+G3KY*+>gBT4ucY!-*y28G0ab7csNuZ`7chYp1 zeck#XA<&j%&~{4h*y#fEt>v6RM-PZ_F))A{5}?^35p#%1AU4dAphH$bYC!rx4h5+J zO}&8F+)2|PfQ&Y00A13_09yUU9Xq{YU$-1+w={!@1*UPJmB=F8koi)O5g;{i<6@`3 zNoki80_{N-v4rRavAJWWFWBELUT+EU6nOXw8dIQijYO;PwsSKuFn~^}0vAJWWXB_NS=Cy;^07`S*vD0-9b}LWc zeXyHndi23=9>$pIS3m;Y2fKMfp+O27%M$^O3^FhQ+v4gt!e9;;_&M zXJ1fsFff2mtrBs9WMz<-Kx~lpAU4c;aDozLU;r&|1{D$@H6ZIjZ0^|U8$PMYfwuZH zh&V&6$IvS_?QplaB-HcZ^aQFApbMo%T&A}i?p8K*foKLrAIxGX@_0(sKnI3SYTU^x@q8M}}3e4wVyFt|-%x<^o zJx98gdEJohp1$Wuw?0S+{NP4$DvH zI@-+x$&wz(Dj@j=9D>qFA?N{d8#DwBzNm>$uRhu>p$bYupbhh&(oqH}3wuJ;gAyZm z>~xvwLUL)KBc4ROAa;S+us{QyLn$K5zz_u5MgcO%3!)cXP(kAWTopjis{^M7Z%7IN zB^(iNh?yWZcg*w&$GXLNy&*<`(jj;3^n_#Ga?^L6FyW~O9SI1t7c?gQ1t_gR6mHJpp+!y2Qd`Hh8YSjZWWON$PeOBcmPe`uWBPb{oL_xOZ+uGH(FH5>Nzl$4*!Hp(Y19D2hQO5TX+(lp8`JN};)7!mOEcmY@_Z5(cpb#D+y4ICX0>Fr-3vBY@O^q61u6fKvDL z`cL9I(_e>isZ2lrNnB!jw3(F3bnegM64SY(c~qvmgIL~w)KsQ7gILzbR8*$#2eEb^ z%T}5G8^rnzQfK}}Tw;2)akI+wVh~IFxQfd3^&r;jjrHmghz2C=IB)l{bUgIL`svsI>_ z2C-(J?^c=4{#{&RdiS+XmFdnPR(61z%Jg~=tNK*7%JkhJR`-Q&mFeF>tm^BXD$|XB zfJ_clQ<~Le3+XU3Fn}er3=AO5s5QL@DpbPEzyQLGTGJP-?bVtd^;3L;Y9eSX z0n{P|o!)`O&PQUGOy~b4Ze0&56kunbgVs61*r4@cF!ntpZLg5n;A1SH)__iYgQ*7% z9K+a_pm|ED8V4jc=+GWULx$;%x8{i&2}6&c2Oo0}RSY_-kP$S|$iM(vj>G_CgAUGN z)Sdq1YPT|@?sSf8-O7xH(_;*6lvSY`*+5f?P>sS!Y(+48dI?B}?(`WT%5eIgYu(EA zP>u7z3Lv?AF^CNnUkhSG4cr7`L&f)i*ii9k!6^ISh&kY(s)SWJJ6Rh9j zCP?G7+bUwy>uz@Q!r}ouvJSO;Cs+f-pyOcn^bH`*hSRUy>{bqi8VjD{f$Go!jgCRZ z%|L9ZxHX6k6?X-(q2gX3HdH(u%$}am+afnT>sGfcqv7<9TiwcrP-)Qd-LTa35Udp9 zupb~c)Hrs~Sgh{!JGVf|Yuar@BFO|xKs10($cCl!N+j_*5F2V4=!9&TWqnBEGeK;q zWuTpAFmu*`#G!h(gV<0tQF}lfs08SQY?y{yNa8P%*gufi?4Xf6s9t#x8)~Q?m_6Mg zvssK!n2&*BGXn#IH$+U~4#?-zUG8)%i$GQH2FpOaeqj3hc@5%hKR`l;(`Vf2R)!@_ zEzmH&?(`E7{crAcD|0|??wP*cpiP`@J4AuWU2x)w08xh1YwjXaojDgGI|L)Klfdlh zM?gAsr@sJEhSLo$?H8*T2A$5#z`$@FqylQ&BM=+v^5-BnRQwZ&4HXBSCJYNlCeW4` zs5m=_4OK4$VnfBnL2RhF5{L~EH)jAHGYm7x2qD2>4q`(!_=DIG4GeK$_VgR~z=8bd z9wLwqOn;x$AkKCdqQK=oIFK?xl;QNA`-nh_1s%l!H7y&7T?J-OzXH+m<9@fY2-N;N zU>QjCy_&v0xj}ro+XHasNO{n$oCq~50kkXvsv{f3hKd(}*ii90Bz7l=4OPh&W!ApGlx`$vFo_W}s5{-_5!l8U2-N_h45u%7gs}K7Xl@#6@z3e= zr?iMq|MaL^mQi=Qz+-R>nLI{>dZ{6C|0r5E+rDU_BO35vAIHunfd@7SKFD)OPT?SE!AkzB4R* z+h=#DH!2dyfCYApe=p~iQE*ii9VVD|Js zAlrP(-q70{Bc!|gy_rVGvE_sW@{sU%D zmv{xX*5(yLN1Ozrw9i3eSA*HpTOc}Cyh6m`U9b$q4)FEYP~W~q68{8ZL&g7s*iesg zgVtd{*-~KkbcNU5$`(+i`5+-EyB&$$jl>4u2@O>jN6TLd%lQIpOk1IF@4p<{XE<6 z0$UBL};&=4R4^vFQaK3UKR z2uKZR%#8thWFVxk&%iK!y{w1$bgfUjc(&^mNEk9ELM;ZLAqTY>e1;saE9 z5up}?&ya&!JOgAI)MD@va!`vw8w41`rWY($jGxXvwK-(^>R;1Brtc1LF_^yoL;=rq zX_nTI>HEEURHpA<<&iM`w_~o&^k9h;o9VL?CQXnVx@R6VG&Rg$|YJ=Gxp6(_c^Ar!u`*o4aEA>%D?DjEd6(0(-2d zJD;yem>xfQAJ6pj`vfJXH&5QDGM#(BpvrXrox9nm&%3qBar*N$iXqca?-!JqZZGR) zGhP0Gpv3g};2xFf(FX)=7&WIK2<|bPeyU!=X1X0~r3xp*49M1}wbSb@bL6MrdfFv1 zeVVC`0Ivj0f`Ng7dAh&nI_c?J&$=Y0>xK3R@ERaVvQA$=RY`jKs^xtW(|7Fx9f*J= z$v)kGyQK8=s-Hp<)AMdy2yiCMfb5!IJNHG6Iq^G-u_h@i_fQe6E|D{TP`n2#K4PK6!P@gg| zFo;gKcjT9zeyVSY#PomRJp!BxFv;oS5k2ml7I1EQM2|af0F2APz#u(+egTK{^r#6- zB&Pf61q*Oyz$B-$NA|e$Ho&+H3=Hzq`yIHYr+ZCYA~D_0-$#IV29l)WbpQWC($kMc z_GoZ!fQe7n|6V0Oz3O$B#PokFwFP)j%!CFPXi#nX|JPm8(@({;Nlf=!r7ghu2Ci#* zRF69+%Pgn|r#}aAW#C-%=pJ`Y6F9d$y2qW@2gU_m9y7h(xI=pSx9A=X&J>vVboH1X zcg`9(w;aTs0_PqFao51P;;}vMyhmVM1_lPp>G90M($m{wdo(!jz{IC-kL_{i`~v5) z$Mv}L^2~-hn}LDBetLhMn)LLtxE>8o6`1(+<#9dkoHlUocMvxO&UKIPap%o}aTypG z+^7GS+ATeOTYQg(Rtu6i=yDIxNIYmr=_#mF1)VDcm0A;+ASW%nhKhp*QIW+zvO$Kc z(8Yg4)q{rYAnL&<3w--qC7?BDHsoXh&{zhjAcNVh3F-nN+5LiPdV!+2*z|ezD+M$; z<{&hIN;#OOU^GoW)AJL1#HYLU zba*334wME!*AjuIXC zMCi|$?qAO#&1Awky+Of3Y&sw4Opcs|2>Y|9&-TobW_rOny}>J2Z2CFR909EZNcusC zYkHN4ZF z3W`}hL9??2Njqo;8KxaHON{L2E4<(&YsHUt7RL!B{mAEsfX4`sB1(d9nw^%|^ktv? z1vF)rA)E|aDh;zU6*N46q$g&&eP)liRRWro1xVUK>q24LC!uK<;0O6wwiiwN5hU$x z)9dqANHb;dProoNQ*8RWj!Xe9iRFm$2sG^uGyXf8@hk$6OnSh zAP9D!Ea)r{WTg*~lunqwzF>tkQ;#4dK}~zMLtwhz>7yL1pe!(HI{)QRX{H;3;M6+3 z&sR%;cfm@8JEu%v-;^NDs56~Er$>Bx-ZW7Gy)Q`8pe0ivdqHId=rSBoY68`9AUs2e zfuVzW`kq^{N|qk07#Kj;w}GrgKK}!JA}UBR6f1}^FsuOGbOGfvPM6Q=5!V6@?-htc z<^e&gw_sL+4^f3G1yLvTrwh#C7OQUu4cmYOpt!}5f#D+P)+Z<*=FBFvV@3*2F)%2Y zL+qK0l(|87@4)ncj0g>4U;s@CfY=}mlbZxF&lo%j3X+%r+9%EoF%YyG5$5pKXbzkj zJbl9jMX~y25Ch=)MOYabDxms7=T5`)??cmnG=zbn0JQc5WGQH#14{2iGp~n(kzs=* z#66%%RG4|EAm$mvw;!9PGBD&r$K^q0fqV$US0M`F>Xzh9FPP0OCIq@92zmSQ{k-Ym z?Z+RW>Op3Juz3D-g_;s^4>Wh#C^0gC4(SG^j}=G({})ZWeE|b_-#y4E5N4bn|8j>o z-w$QTc6^ZbRnX1Ghie!Z*!V!3jXBSBF)$c#Ffgo}etur6Jky^^(;a3Th)p*u=n;nP zA7~FK=xGlq=-nPr&{vxd6NPModvm?7T_HM+wU>#3K`1kYfi<1=GRSiNuObW#tQlYq zBmZ&^1_stlR?v(S6Tg=P0|RRo>r0SV_*1wT7+ABx91ecajT@{vU=9xhw;ewN18eT~ zb3ghH8ZdTDpP<=)g;8&Ns#d>hIkSnS8Dz)spSsx!(-&+vF__jMHI0j}$4$#Ob zGZSlsEdv7!=zwJ=G0+``EL;W*3`~-s#V;)SAf}WKs1M1(DrmvLz|6t!XUxFB%)*+W z0;1Rj5>O0D2Q(mXJBAa1D^r|8th}y07V?j$>{+HCm2elf|jtIJOPR$c0(}+29{GGHXD1Q z!Ss6OVkw>@YM>>wpu3y6=S)9%aDpz=8=dJBHWo@Tv6)W)z+5cFYplz_z~aLAoRNWn z+iJS;p$YzBpy4%^aK@b=p_8DKRiYSAgYGVqV98;;z{J47|6huMfhCs_lr$Llw}Y(6 z19KSpxhxqNSn?VFgB--qWyrw5QUK;~@Nb@eDbt3GE1`G_W8X&d=JE$CC)dbzZBE#OQJl%e2w0OOzCIbVjwi{@B zi2z#~t1b%zg8*dzGQ=ZSjKKSsK^#W@b$a0a%ODe&_*ZLzcdLSoX5qhR1>UU+;&AXM zYJzvGf;c=3+@K*|wp`Y0pnb5QqdJ5@+8J2piZd{yCX6c+>e`JDKy)I}Gqo}wY z0|TSzX=w%qCec9979CM#Q22>{Qf6Ra6*ZA&U|0|Un@ zP=aFV0GYL2k&S^t5Hy1+1ahGeC`k)}xD323Alq5?vNJGn>~sgI0?k`ORDoCwyeuHU z2xfq84+iOFV0i{IaWCjTWWi>bsL*-P`b{apI5Ca280#iMR$H>23iGhJ55iG^T z-=oXGz>&lRy0e6te-0=%lEE@8{IYxu3>+z7yIC2yL3ccHWH7w}?dvi(WMJSZ1}o!J z;HYFW<6vOmF9a<%tYQMi0t5dN&}!0Zuv?iR9<5>GXR2pl;NXuIWnkc_1#9N!4+43+ z4$R@<*VkuY;HU?4c=`WpF)(m6FmZtj7XAoL1_q8suss6&TR_RD3G8AC{sxfqTbNXs z85kt_MO7IXI9kC5Nb%zt4cy)Pk@sCOmK)O@y9bVFw}F*VgfBgR^iVB`EEAYo>cz3pn#qO=Ab$kR_d<)V_p?6O@|x7lT4$DOf!t19t&40|Uo0rfnPy416pc8<{}; zW_~VEWNZQ}Vc=g2S_Qj>=_TlRe@1@L4J8~~!BR~8FEkh!IJSW~%naP&$_xw~JD8qv zFfecjf;1gtvf*T45cC1va0@0t8H9nC1>{*i4vzOs&72Gj{O2SY7&tzF4PoG)!^6P9 z@e#~ngd~GckYvEXZ3J3O$MKm7bX_pFD9C(WW>AXct`uWn;Lu|RB^^Eq4l8CJE(QkB zQCtih*3A8&78?IK(3)Z!=CzCr3@rT1L7CE)S(^!zoa8~vgYB4unHU&&_@{t4_RJtx z3h;x@r{Qn}n<~Qp3zSakotQz(Jj58dK_`@RxG*mVt%>I0aAyvK+vtI8qbJlxuuV7GcL&9EHrU(ZdqEi>2kdb1FpvegU}rFJ zn}JeR9y6#1&V3W)>|$njZUzQH(4m+@AcBFH1!N8PB`Hw40lS3T3{<$B1_u?l63BO- znJrlu7N(`V8W{L5fXZrlFo%i%fII^OhXM86{R=4Se0>zT`hd{*yq@ThK zx~Yky0^BpL}pN#zlybtkAZ=YlVdF_H$MY3 zV%8y>yB^ux4anwhgqX{~eFs#VZDIvoZps(Iv6Xci+@x(#lfcc1?W~{}X5+5_mFqiL zMOYc?894b{Kxuj>D=2^Y@ZScxcNf@+0sOB)*?KqFl0g1MP)O|obAtFMaWOD(>;*e4 znEyYhfZhk@gfMX1Surqh>}M6{XJFv-;yA<#x{VVOT8EL{as=#_dZ=TLf*ixZ$-vDG zvi}(CB9QI?j+3mi0MUIE8lRz54)$Aiy za5XEC%)s%O^*dlL zDqcf8z`(r+l)m4v&I9T8=J>!WDG2lZM`Ycfpt`}DKSMP0gI)Ip>^d(7?meI!`jr)Q z?Ij;O#}8IdxJf^uCV}p-)1D>vwLQ4Rq%Q6UBfL9OYATcSmH%|Z2*1e+O1C}4Wcr3sStr$9pT zY%w6AbdWjV*yIibwHi&qoh)w9GCmF`2zx20Vc-R3^RaQnvON}Jfadl%Hc)P7faLag zunI;nWV3-v5hng#P>q=b<}mY1fvT!p zHh&h-$OX3ysKm=-dk->JhNFmWqA&wPy+BS$HUmd78z|*6@K=H2rG#xiBLjl~zdb0j zOW8oRsRYEvGO&$O{O+LkRXLa=&A|Nu6jl{%Zo&)5r%s1dXQQ5Y;!@nML3$+Bt#e(AdYGVYhVya$t+{wXaT!J0Ah73 zShoTOgApIJ(%9L>L(O!S3jWxC3HR57;EAJL-GEy4fI3>;v1# z&cMA9RGjs*sfaKz@QHIwWSb9iRAx~&1IHw=5(fTQ4p1kO?G6(tq>h4$xG8L)vR{ya zdj_bopURde!oVOV!!e!hqX+|oco8V!%m9bE_)$>pFcTb3_2TTHfSLuiLA(o8V9f>x zf%s2QHkt$W1OqoOs7E-LZ8gX}931o66h#>r_)mk3TmViq4E&ElF}Dyb!NS1H0#YVSHt`LhUe_8n(5QoC zc4{R9$2vB3&~_GX(6vY$>)DJ&85p>q$S^Q)Y+;)y3ayk^iGpso2IV1eH4EZ0@Unm` z;-ca7`XF5mCJrMkUPW-I1aM$ ziZL*V=YVp_A+SM`sYMJNhry~Dxc`8QJ0yQx#)i5HuBIV1V?&K`aJd z7LX}?3LF>M)`~GO@Pkgntmn80<}mQz2lcTov26wod-1D-8gG}`c7iH0es)mNbA@fc z7^u&19aIrqWjiVcig!s+SNa;;X)y){5q=?1blhaSD8|4b!G98z*Kf037h_}RHX-I!oq4?4+(b3RB&iT$4e0|Vy*P{F3c zk(OM^)Kp44g|q;zsO;Bp4Vtmx6}n zOxS1IF)(m01DWZ_+wJ&l@N*OrUf#ex%IC2Y$893L2I85w( zMhpy`8$fIp1{TmJdd`h&Bp4W2KBzJu<*YUX1LsGOWh`0B3=Ev#r-M{2lC*HaV=;xm){TMT?59=pn8fQv~`Qqka4FJ zC3D;|Gzl{11F?Y zE5`o-H2f>i^0;0Kw3LXK1>{m*mMPMppaVIBTOXuAf#sky0|SePIs*e2my-+wgA|C# z^2C^dfm=QZ#0N2XS=?n97(`e=a~3>-3uG7=L}NfRprX6=7#J8uHF-f}(p{De49udS zyQ^754@iT?q|YidFtF8&#u|YJrKLeFA_kVHDhv!f(Xj~Q;_rZrn*G=41z5*~POR#O7jG0L>2V0I|8*)%h71cy@u$L?d+2mMGXsMHyB25% z_u>y9y|0Kh}z-GepNnehEfxT53ba)rYQU;EK;#>xvFQ6pF#BK<(=qrfL z!jV{z$-wjbB`AY3u&9De|MN{2G&jV}z`*kl)I{dv;bCN)AjiNU05*e}@eAk_3I_0q z77q&}Xl#s$|F=2=0}m@B$S!7nBT)th9yYKZ7XBLspy?Gx(1pMp47@B>atsXI*76Jt zJRFR!atsX8D|Hwcau|7p82c0$82G_X76zNcz+b1xz`!HI2uepR{AWP^6J-P!)cnbx zL6ZeyU>+a;5>5sN9tp4kBK&JK85npZ!5j(x37}w@S%<<+2 z)h0apV2%$z=p|aM|>M|G5PN1CKo;D2@M-u>hUh<^VP>hEZmQHUk5XBbXP*C}ROiPflQmCosy$ zfjsC8c10qij4~*|T)?~}Mj17^dIkm_Pq5NtMj0tk0Q!I>Qy67<)EF3e0>Fl*G0NNk zMQIS2m%+%u%d!X*x7O+m3=NDtrQisF#BCW^I|ILtH3I`rIU^`jvp~YX5*+><;1O7! zDzHf!{L`f$PT)252Ib6J#wKM31|5DSAqEDXdd3>i>74w=ps;BG>$Ko^0lBCV%!%M% zGClU;1XaC+!h(9t{ra&j-&qCWmPpm6O2b0+XxfilPh zuuCWLUooBj=HUd1`tu+cPXSLn&fs?gh1yicd&&$9bNDkrGSk7+nG5)*%P=tT%wq&) z=@tAFLD^zH*wi)r&q2v_0oW<)_>)0lxsdURG6TZ~{!Y+z!4k$-$_xx!WDbHNYbjWd z38M^X2%2XF;|nG>1_m=m8R6-jk0wZKgF|}_SdA5&}y@FU~3#0 zWtL4p|7e0{eI_UbcYrmxG0Lcbtk?%r88ni~lgW5SnSp_S3#h!y0xM*I7?BO;u<+M|j)vvQ0Xu+$-wsqT zLuQ&e8MqV885nr-82gk#P69QMcv;M4KNKf1J7l!bqxH%q73y6JXgR$!^F=FvhEs~!@{oy zDuu3tIc)q7tQZ)0Zh%uA2R{cWN!$W+IQcz6@pT7mG>^kb!~c z9;28V1H%~^nFvtccmVcvj+{(6C|y1T@kAI3;h%2zhIR*N-|!cn)M%8rJj<^b4K0i8=g*(s+R^8 zt&B|1Wf&MNlw{6>@(mMs63j|TrXCb9%wV34lFUp{n6ZF)c1ki&K$(~oJa^`xBy%5B zkh3w_s4+0OD9J1a1sf-mj~W9*fU1lu$oc$WeIcq0oS;Yqhao5;nd=!iLFozTq)D{PMA_x>$pg?3~;J&KCz`(1{3=-y^ti-^;8_t}i&cGl6Y8TY0GeA3$pm6~P z?l+nY47{n#v7ou(enkcb-n4oMN7S5wfj5JBkvao|;2w}B&{!P!R8Aq#A|jzUHPGoD z;6^52_Gfhl2GJ5wgH!Yn=m2WbYl5Iw;XF}Lt8gtF0|Sewgf*y9%fP@_ z3^JBYhp*IJgMon^bO$V7*%xrDhW(HU0|Q?<$b~HI+PVx3d=(%y9PFn-b0(D_aSh0F z1$R&~1bJJIfrSG!g;VuUoq>Vv17FX1O$G+`a*+C7P#cSZy;hWgfv*q5W@4Yt&cMLe z4+;+!_Ana;2EGZPu`v$zEdmS-(=Wf6pi`e`&cMJo6{K2(BQdRjfp1!s8UuqEM=^*! zy%n^ug55!rfq`!Z$RY`LeUOPWuWB+d$gnS!U|`^z1saV~U=K87VBnh#iV8*cCDsfK zd~-l-CH6GX^yOR$W(Edj_I04u9rIGu7#OtJ_ZToR@Xc4KXJlZ|W)}vH4lV#Sh;-OX zLC#+U((J=N--3aGZ}DwS1_obtdC<~?9+;jA*76XF{M*#!hF_2R=*z2{`85sDEgMvnfJs1?kCvIzj zPL1Ma`3A}{EFf?3vVazgu+$neFz}rOd4`RH@2sje0|Pr~20jO{sxS5YKS1&5$hcXTf#C-~=z<M}4~WR%GV6>}Mkf!YiVI!rQdpj4m9=%miTpvNTh z3uHqU<5gV-1_LGrUKRt+dQg?g4XWB$;?zNG&|)c0(0Sn?Mc`@{lzgVCGca&p28Coc zBeM>un3rQ<;Me&C8V*?vy0{9|ga;K54h(WWjQqad`V0*0cR_dCZoKnF#`jC97slsQ9hfEfq_2_B%{qJ@2beaz@G!+=rGEIx&r+9p#HWlqdfQY zu=f+x7!#-0zMmjj?*sCDX`(&@gA1d)wIl-re;H_@nFk}Jt^!GbLyiedf*Lb6psLXw zX+#*!P31=m2F30rotQzAjJ^ zCBmL5#K2I`-wl#5Vc!YT&TZi zVBnt&5^rG7wPRr5p8^tJz^)F`I}Iehgx$f2fq{QINc;%9D=4UEfy7U+gU)2(pA8a! zQO~{&l)>kL78bo>FJWL{;GYkY_`==*vTPAZ!w-3BMg|7{#UODBMtRV5EB{hZ%*rsz ztE(_D@UH~PC@{*eFkxWeUjvGN6-N0mP>NX(TBxeUC=Z%=;NJ+Ez%XKzp9)F>n?Unr zNsRUKpowq(eW0noB1U=8{5b!9(A<78qx?gV7Y~3Uw*=Jlxy8!B!1>02fdPcUu>nf< zA3%rC`b#h{@EM$_y-}-C7 zz`$0*e@811q!@J5G5=kNVz9=0AT|qo1}HEeg9ary*juOX`8YvNK@+ryHcp;_f&U{Y zamn3a;{WVz%)r3jWWm6||7G*^UmqvP+Jo9H{C_}cS&cmw)G+-EVr#G;11%f*2V!fn zXMxiDe-K-Te+ek27{CRr9{(+)>0zHH$g@`(GBB9%&z@fMX@X>Z708P`;3Ct8-yIZB zyx`K*fjOo0W|#y87sQRB%=WGgbvu0>!1h+#V#i())GM-E>Jne!ockXQe?mg+LXba z1#*icqZVjph})c-fq~zd5j0HCr^27Yco^iS22g%U1+y9W89}R+(ilMtqgePsYnJ)b z89^(UM8Io<_%pyRR$|~~@c}KtIR)}|CSxn8KsVvfWwZh%`99EOVjkm3&@yy>Lr~f% zVYD)-2aT@#gCe{XtW1L+?9DPza5CudgGu(j)lJh>`4Ruw;(rHf;ol^yetLW z3=G^Ipxji=2(CC|`0E&Nfb0bw$jo04W;5`Ig7RxC<2@752sY>@lY0I(u&*rmvt$_< z_}jsCzXyL7D0Dl(_WJQ_fMhzsRt50C02L8kjG$#of&8F@dilG-oFM+`py2Ic1TA$8 z=KrG4z`)AjG)qlfgg193jbj+M}YsG7HHl9%u(Qv0j0NNV2%O59>^WX z!JK*r@RU9ONk-6=eE@jMp8pg$bRxjB-TbG)oG9>AIsX}OYKQ?(qVt~xb7J{RK>6Yv zm=nkE3-aiBFee^7cg}wi?BN9dpCDT=fjKD*-1kAH!ez$#4pRmOz8?OojEbPjGYFJ; zu7P8U0lcD?|2iY6NzKN;8I*l)fH~~^py_h{n_y)e{3W0`ybHFGk6%rbfr0-Xn8VLs z2`W_{fRzdGgK9PYr(hW|@XR;=OU7a$O9lpU{zf$h2L4yz@RZ=c2`WxrgU78J_(AI* z_#p!qP5geKVdnQ>C$#X#Owav3L9sr>jDdlBJIK<1V54PS82MS4%q$rg_-jB(pB2nz z01s^QvoYC#*3*Lrw)xqaK&^HT{{NtYje`kP;PUW;=0o^7nVc*^b6emX!o>tCA!Yc% z4GnHEM-JSW<>z6V$mk22&H`6Ryx_ImYW!lL+|S2!n~{M*lfM$=Vt(-ASWEt2pm0(I zn_$Ji7F69TgI5RJ@ZSJcG%8Hq)1!V&ke3Dx$n%?k$3>>|gO;N6TY@<=_!mx}@?(M; zBg^#NKPE`}gBEG=doh7(t_9$=T>RclpqgtT|6fqu;{(>Th~Em7I()&L#r&KgYlFaU zSi*nTmVtpk80@-b{0-BUe@;-V-vlb3VwrT!85mXxB;}+s@Fy^VQpOq?e^5qAWCC?n zEEr`@fZ7q6V7(5EGGApF82EF+JV!>E2_RqRfo*gGRh*za#LJQk%BP@E4gw8ggR&G8 z19ugu4$5b;1a&Y%`Ky@fw}E1=0#uaLFg*ty4Z@!YQc?#t&5?fQ$`PrCH*fKB(B&Ve_@Ut_6!ij-@A*dAQ0ZT;4q=BM@kJ)@W z=kEzh^@l+*EzCTdlYwCkt4uqHC&GNgmVsddt4s~3Ad_UiXUo8_g;hqA4^($Dzq4gv zNMVyP0R^`-cpRvPP38-z43h!#YT0C-f=p3l{$#+w(7+~h5ma%hGv5Yvw%BE6g7Ug1 zcpb0~mkcXtPLf}X8C0n0amj!dBJpd3CC#{GK#Py~b-;#NaLKrVB3qXkG<;^oC9?@s z3K@b`dU46bfaHw8JRdHZjUb){GpODT;F9?SiWxg*P^quMs{on|<9A^OT`$_gD^n-} zibxOUf3^$^OL%4GgA$|{Gw7V-HM}zHpv3CK3~E_!;Fb9RDsFt4K?(B$ugp16D)IyK zuJFoS10_a(Fz*JhOb4jp9{_gt9bOr6P;L%n2DJ|F^2!_ol|VsY-aTHKN#>xwa4?vA zpI7DuC_#mQc@KDHSU@e-P%!TyuZ$hY!bq^8k9cLk$s4j*{4uW#IDN-4gVOgCUYY$2 z3=I77%-L293}1L2bg z;RDZ6@I#iA%kjx916B3u%u;p?3<`WQpaukgCbJfZCm_=csVym?AJw zUs|n>h;GoRFnXb>k0801Z7CSQoFAL}@N={H-1*LeXC}+GC z0|O|vfcZ=eoP2f+3?K~Vg9@?V;H5vHvWpW`o`J#$EXU5k2@(W_3z!cYNahp*EyD%% zWdrP>yGd9WxL<&rS;Gt(VCG}tuVXF-wF1LI)oKHn4eBwAfreB!gW|T4ImV8GK~dF; zfr0T8xPb)PpJ@nMo;s(WQN7`Gyf+j)N45~Fla=A577h-v$BEeKCttQL8I^U|@U=^5A(! z1_m8apPunGs87!rtPM8zEyP?+&_YkfcOVlunHU( z>T{qY1A{X7Tt;rj#f}UNrJz+7p!;CKKFgYZfN`RTFDTHO9U*}R^Qac+oRjI{3=C?Z zlkpdaLu88?K&cRvWq4UY18llmKnGtagWb9eoc4UCD>6+qs<*KL-RTHUZC9BX7>qo$ z;C#j~B|c?14|KLF#4lhKv|gKnGqO4`*PQJ^droL=m^k;S3DxzzU-oO&C-_XJde5 zkAsB}ajpV7F5!MS1H)~oL9$vjcjygQtM!Q2__ zT2Mv+9k2Bb5`K(^Aa@!vFc@=!&L{)z(gbZbW?*2P^V4PeQRaz;kbr|sT_-U!Ferfo z4#IC{W?(P^2OWgZ7_JOX1pVNETLK#P2M65*aL{dMW?%pZ9w?x`L!1N7O`v3~qQ$_# z017Bk7qB~_5(cW)j4`0B1Uf+;6cl<;X;`XI0iDx?r0I8ACd#vdLSof)M%IbKaZC{m3@V^v0+hOrL$#DJFsOjm zg@ej~7f>-!84%4uwTLc5cMVK@P zC}|skGMXQQ8t80jP&QCyjAAqd6&avbpb6;26Glk23@ST8dzu;NWO~5Dvm6|r5v&Xh z`j`L9a_QA20G!=b0$RXf=Hs z&qQSBvICDMg3 zpMwtiVVuLbe|ihwL?uX*YB9)Pj3EY~h8XB>gQGV1L z6D49meu(pj_@Rh_K@HS;fck-{1QG0@D=9!JzZasEt%!l^|9>e46;ROyYHTcoh=cAG z1!r7Pn%_NLKwzS%1;~Tvq0%55CNMBCfV6;$k0K5R2HmNkUO^qGsmB0n)G*FD9KgV! z)Hyv?V4^%Ep*27pA8Y_R`VF+jJSTvGK^Yt)lfh$Mhe1)2!N9-(@=j;~#5=_d3~C_X zx=lYIFj34M;PX zuxz*l;4W0*Siy;MjE2)|1SjeV{sJvLUI~t$eF6*&%I4E| z3r;lGI~xe|$78TRv;`R$RCE|2{@5A_@dqf-KzALuO;-?_C@rQI1kx|dz`*zxY#wMs znsVp#K%t4khM;ie4+3ig z)HCR+gAV_A3of@nmjp4+VGm|tFzN+WUT;}IYuOls)Ie?J6G$bet_w&L8>pIN0F}Co zbG+c1*jOQ&j6hp77};1s1B8tAr>E67H$fa)CD0rg<4RUgY)=woU@!!&NM>9K zb(Ill%##takCrjS$Ou#)tYif(ykZPB0xd&kT*(R=tz`^T250Iu;60B21Yypr3OljDf)jw7s7(1RM;EK}z60WC$y$6PYRms(TF>7#Ksq zUTqVCm0%&@U9OCwkWwiO>{Z4Ph)2Ug9%W}(F2ul~FE;&!=tLzykY9I(qWV<})ZUkl zWMI$&-7}>Y$-rO0|V#u2(gKBjOx?N#U{#zxrCt@ z3knh^220Q(UQERdNf?q~lU6b?FxW;iFqA>1%NZE7KzFo*9AO1IoM_hcS7H;T>OpB} z9aIgdrTPr2?+{e1n1Mm-J?J3XNCpN5>qI-yIYvzP!x$LYz&C;Zx0%bxz+intg#mOG z=y#AfsFG%20E^r5$TBeS*f4Q~gW9S=Y77jvw?M;7&CHc{3=FmswxIF4>C9?iY0#LB z-61gs1`rmw%VZaC!oUE+JX4wM1dSOOK$x$C(SAM)0|N*PirFnxXJ7zffy+#G`dSPO zAj}iQWOq%OfdPd1A28bmm@_bdFi#+p-4`wf1`y`!WV93DVqg%M&LlBWIHOpGfdPd1 zby(~ki7+sLFpoczU7|Jv0|@iGvDmFsWMBYcp2bY|Nwy3OAT0F8&P0uY0fhPYGu!R4 zVPF7ZzMG8pKjat~Kv+1^Zmt{y0|@gSm|iO}QQY#g1p@;J^SxrUyQ9az0Kx+2nC!m_ zF))Cz&}+NT91IK~%y)#*E>Vtw0fhOsPd_U$Q8MziC<6ls3otU<1uHTzfUp2Nv)uzJ z1_lu3RpGF^&CS37!u+S0?YiX|7(kdOg~{$W3j+fP^Gsv1o2Saa0Kz;one2|MGB6yU zZZA2}Oea%~fdPd1V_ED~Ef^R;nA^}k)sle$gt?vVCfhPFfH23!?F%I*PPLydl#?yH zJu7lzGW+%?2@`{4rYmjBk)9r8o9;DT)^HmC^d+?uT_+#hEk1pM;k4-O;dK-BSSAZz zR+!%Xj)imkzNU%xQq$h7;GCWx$RoO4X6{5YYhGJ61_nlLNJ`3_u76>Hc>N3{p`}Rd z%}DGMNbD;}Z14pqP~*NKi8F)FnT3iAAhBhU*jf-asHelgU=HDc9R^xi0dphh)F>D` z4M|P$^z(PD#Or&Jgk~YJK_{%hv~58WKZwLWhs3^(#0JgU!t{Pc5@!P4MgsK{KZHHq z)g?%68kR_ zn+r7d1@(bA5?d9CZHUB z_EIGFCM5QLB=#93_Dv-Ab0qd3BsM4LSX7WB1Q-|?#9$l-1_tHn>tpJ~>ur&QypY%t zNbFoBHu!!Ska-LY4DCqbQ;^sTk=W~y*t?O~Cn0QTtUx&6SOHC@zyj(Ak~k|bqFe+W z(g9PWfh2B%#CAkt`y#RPk=ToQ>k)>YMUwb~#0DKw2D8i^bl(ir_rXZ)cqDc<61xG3 z-HXJY1!IG*aa<1LFfcG|L1G_5VqZsMKS5%DL}LHrn{F_-PfS%2bej#-k$OmMYb3VE zbbEe&@%khrp?oAZXu1~W=T0Q?=}7D~NbH?R>|;pmD@g2@NbGMAHYE0$L6_)2-7A2^ zmP2A|A+ha|*giWddj%4Es{m5$A3~D2fW&@^#QucD{*T1w0o}_3^?(!- zTOWySgT(fNu|fWihjADf7_yPr_tfI^$2!7!yW{O;Up6K8WQ^n z68k3-n+8^B60bjq zBy<*ueG`fO6p8%_iOmk`3`30;L1Jqlu|bR2U}5HoBpwQ3LqawY!U2b76%xA*iTx0X z{SArD2fD8a>If+$wkr}FbP@&35%EakIbujT8+7y^Oi>$>qRB|?1xW0BNbFZg>~BbH zRnT=tP{$b|vF%}OkpF#Q90mr4NF;VW61xkD4LYP1=FpW$;-J%4VB!an#LptJpCPe9 z>!jg1n^gi)!^tACO_A7+NNisub}ACP7Kz=7#GZ=8UW8!RGn_?m7;Yi4pCYk8AhAV3 z)0fa7H9%s67O2B~AA=;Gj>K+4V)ugCpzvp4U|0<1fYTqtJ|y-jB=&10_ID&UvlJra zB#_vuNNgh{wmlNt2ecRo=ITf!i8Lg3F%r80iQS9Do`uAIg~SG(e+)C92Q;$>4LM0D z8|;5ICaxQbW||R;u}cfPm$Q4q#5erec1m<51=DYl2HKFmxcX`;gdEkl3@3*b9-^ zJCNA>kl06%*rz~jSa0hBhy(TUH6-?3B=!p=_HQIMJ81YAs#h3^Esw<3Mq-0UU7_mh zoslH`k=W5l>~th{F%r8TiQSFFo{q#`jKp4##NG{IgVP_waR>*L{un^pZ(s=rv@;dP zeuJduKN4FUwEP6>8v`V^H4-}piJghWE(0A!0JESONn$z@dodDwBNBTb68kg~`vwyG zDH8h=68k@l4e~z^Xub{V14$&d8WP(WiS2;I_C;bxA+ghu*d<8pMkIEhJW|VUHj=~& zB=%M$_8}zpc_j87B=$=r_BSLpGiZhq>PZ0vyPiP~!C}xrVp}1xJ&@R8NbD3Ob`cW0 z0f{{oiM<$!y#dSyg+BuW!(K24ocWsCIUxT(M`C|LVl#qfqM`A} zhs2gfVrw9=L5J_ca+V8{cn}ghK?$k+&qI=^L1K3yv1cH$mm#sYAh8c2u`eL8?;)|@ zz}fW-48PzU1_ln$>M*D;#gN!4NNgh{wl5Mp35lJL#BN4n&p=`?1+ih}|0WOzYVm#~ zHs};1STJ&fmj6N3C?c`-kl5BpY!4(h=x7U=IY~(3_4!Dg8YFfX5_<*`dl?dY3ljSf z68i!Y`yLYe4HEkogbhxA3>=`Nm!LiqLt=y00l-{sge2~O#P&mC#~`t@kk}PS>^3C! z6jh}5{~{!b4M^;LNbEC6>|03e7f5XIY8Z6x*!B=%P%Hj_G{SmH-w%RtzWNYI3EK!pHng!Kj^cn?!0;VO zTnMxt7aC=zU^XcH85kHG!5nb{=vtClY%q5_=&Mdpi>Q@burG zCvw+6LK6Cl#0L2Rgh3AD1+7Scx?K{9t%k%lL}J?@vE7l_;1zmMbJ8K=(_6nx6s&KA za6oo3^dYeqA+fh3v5z3JFCww;A+g^ev40@3`E(GeO&Y=mt@UDH(138jjxa@HJ0Y?C zk=U_F>}(`<<@Epj6U6JMA_*-LUChjKo%iupy~S zAHo6q$rg$2jl_;bVy7dqOOe>kNbHG7?D()i5^5{~a(60|UcUB=#aC_If1t9whcjB=$8V_G2XW2PF1i zBsP~m1A{Kib>jMncv3-P8zQmormz1#QM|qeNvH#fJq3xq0ExW@iM<1feFTYp0f~JF ziTwhJ4cfrV2s$nVoK8SXUZAnXgT$6VVyhsr4UpJ2NNf)zb_fz1w4)jpHlV`~VC-rG zq$JaUq+u!&dl3?QJrWyq;10~7lSty9k=Sg8h=>qEV#~wWpuHbPFb)F)gB=pv3yBT7 z=Ky9|5|Vg661xhC-G{`UHNF4mMDhAfNJ9IN*r$-#*O1tckl62$*ng1NoJI)$i6OC- zk=ONI5_=O8d%qDVn0A)zeQsILSnOnc3?mYZxJN65)xYvv>6r_L@r1Y zfk^B)Bz86uy8?;bio~9T#Ga4DUW3Hm31`oGD%?{eH z2UR12#8yON>mjkNk=Py}Hf;PM6vTlVl#j%&L1K3zv8N%i7bCGZAhAJ*e!@cc6q5LL zBzFB1B+fr1HjgDDl}aJ8HIUfBNbC$Gb}16O35ng0#GV6TgVP_wN(cv({us6+u@57$ zZy>RsBC$UqvHv5nc|Z%{p&_b;#I{Fb`&hXne3^hGk%PqUM`F)GVy{AC@0fajl6d_U zB#}o*><>une@JW|YlQ7mNNf!xwiyx|bS^(ELW7XR6Ci9zSmr@E;IOPgVs|02XCSec zA+Zl3u`eL8?;)|@AhCZTu{msz>QXTqgwIrv*hWZf2PC#15<3QoorT1%Kw`Hcv8TY; zApb9daTpjFHXyP0A+gUOv2P)fq$WumQw|ith%oq2dQXY;92ZGcYim263Pg7eH*NhT9-ERQv&m z4HbV4VnfA0fY?w+$lEh8Fhbd$NbDpeb}@(zHK(>7#DQMR+-T3h0NRTOa(53%9I9v< zhz+%DHi!)sUkYMF#aDsYP;)jTvCkl}uOhMELD^vcvpX;_FhVs;BeAtXY^Y_XAT|fc zX$%aO4h#&!P__$59ID0-#D+R37{rE($AZ{U@gxu%DxU8E8q0?o)QTk04`PFEPGn$U zm<+NE%AN-jhiYB{VnYpG3t~gXcOkKlBe5@n*iiM?Ky0v?^$ZLjKpd#%?;ti8#FxK8 z7DL&Bj-Wl>5OFaO8>(IfiLDP}LoF}?v7ve`92ppdxfmEgOPw7-;!wRlAU0?~6l81= zhy&G-jl^z2V)r7kSAp12gEoTL+#pjJ7`B2egR&2R#Gz_VgV<2V-2<_q;`J{<9H_)Q z5F0A-6U2s!{{yk1;yg}>Qc@hmhN_VPv7u_Tkk}R=Hq=2rNbFPydwL`LB-#4)5DwT2 zCy>~8kl4SG*s9J942)1iEs)s0AU4zyAs{yB&Ii!;O=kuMVJJHpBo0-R2V$#(E*52A zU}yw!pb|YGHq>VmL2Rh_91t5Sz7WKQimw5&q2e1sY^eBtB=#u~8>;3!hz(V93%n`; zDsdkq0d?sQFnjtAj!AO$PA&`#prh45K@^R|&PQTTMq;l2L}LE}v7ruP zbY);*1f3?qz`(%j%D^DZ3k@LwkOWkb91`0KiS2>J4ntz6AhC-go-#~ z#Dq_*_3<8%1eARNiTweIEdXjDLe(fEvCWa#^+@c=NbD_0>`MrCJ;MtS z2kN@dAT~cJDKap8cV}P_hO(JF5YfR4Vncl(1Y$$=YJu2LaeWXQs@DRE?SsTl0JA~i z4_ZtK;y?{51hGL2&lwmPN4ma4 zg2bWf4+Vqjndi%-A7JBhEp0K|vdQ4V4YgPg~}Q0>LQ09vFA;Q2W** zu{VL(P;-ue*igNvL2S@AX$A&{^C0s@poQQqkOWlGQxF?!=qnH#D*hG3hKm0Jv7zD| z-iQn$3}QpoNPyT-HOe41R9pkZhB`vWyPknTScHKAbS8l*NCK+C1;mCbibP`PBC+d0 zY^eHH5F2zn1p@;^r#AzGFqAz7Bo0+GAH;?_VhM;15(j0%^&k#ZVhe~3l3-w9*bibu z#gBm4Q1QDUHdOo(hz+&uHxir02XrSBDDoH>L_ut*UKtP@wAq`1fkDBCfuUX)%FzZ% zKowacvE4yzs2Xn{1_qFNP&pU?5{Igf2eF}QN+Uw82z|aiR3uX6##35?x z8D@ewP~Xf0u^|!+D?x0i_<9f%b@IQAaSrF28M?qHq^3bAU0I|3ljT3hz(W4;*SU+ zAtbf}5?c?%2CX{=1-p?y1B0*>0|V%21#6H5)B-mU8)~RGhz)gIJQBMMiQR|9UWCNn zgT%go#IAn`;y^8X0b)yooWsEI2IL?p`#VS+s)i{5QNyx>*idmH5F6@HaS$6St_os9 z&Cv{CU=WsOU;rIBVFVI~&G6ZRI8e<_AU0G(7!o@diQS6Co{7ZXjKn?yVnZEq8pH-2 zL;$LIK#qX2Zv}uF!B9mXL5iS`_y%G_#Tf$;K4t^4q2hudHdMVBhz%821hJvw21smE z5F4t-0mKHW0hRx*AP!U_0K^7KFfcHLg4j^;1P~i4o(f_^#S1`esCX%e4Ha(yv7zFv zAU4#;oq-Gt!ZHjDDvS&alLA4FV5o+KnIC!1!6HB&)s(3w{Z3=A_t20__N zK;lp}n?P)+_+bzmDt->cR)Tou5=gHSwEVvdl7K3D0b;}A3B-nqbA}*7MI4E(io`Ym zv7vfRL2RgA2M`-7?h0Z<#REc+%KuQ11k`nTNbHG7?CnVG>qzVeNbLV0_C$y;g+dXI zmISetA>y*33=G0xc0B`w21o+xA~PhmBZv)kwHt^HRTBteL&d{DY^Zn&61xbAT?=AE z)i;6IQ1uf*Y}mZd91sVpXd#FVb{zx5E+qD0B=#93_A4YdR~Q2WBUG;j65ADtos7h; zFGu1uAhBm7vDYK94aNNjr~wmTBr8;Ko+#12DZ$04zk zz-&Qt@Wg zn4X_C$)7P|`u?m*{!BYqrVC_G@?$!}GCcuAUtpQOA$yV^BhU2z*^~U4=CDo=$eHBF zXfb_$&Ln@vnCb6xCiye{V4LocJIRkxV|st?B!5Pe>GwfY#B}|k=g{FqiqO;4zrQVBy~oo>E}UI!u0PT%6Phb-6VCU7Zay@ z)J;-jG@hOh;;xx8eFliDJbi!NBz4A=>CfvXsk1(v#lWz6x^Vp@Wu_T7r+qRIpYC5j ziJ$56&FKmClhl~FZ%vz*DmHyy{UiaVEgPn90EvCRHT_2YBsE5X>Hq5|sk5zr!N4HT zHLXHQiRr?p=>ZLs)EEnDe~F?-TJ zWyWLMpYNM=?;#t+i__mPr zKagc$V9jC$9ni(Xf07sMLlB39KZYCZLlB3Dfrk$ymAiezsmX<`j0d(WU6`!S$oP7@ z*Tu;fXE9n%fB2bEnAOn0)ZB8qVeS+WCR6k27jvhGGMk#g1k9iUreFcl>6;WRMVJi@ zOs6MYG!mJ9A!iE9^ohOJAVW+{AWERdvKShe8i6ffF*GoNn9F2hIz2IGiWsBe^uW7n zqD-a+5Zc6e`o;a0!XSl4AO)gKCJ+_OCI+Suml<0^B#bRV4iX0&%xY+0Y+<@xFK z6J$|iOABPKiGe9H*VM>hdPMaUC3!<+Q4=FnJ?19UXI4*nU*whTgt)^zEvgW9==1^HqNT`@v8f=fNnPUA0n%PXI-BglfGBurk z{xp+1^Ore{(=To|72WJr7Y(S7#Ns9#xbyb0Wqb( z#|d(%Q7%9i&%k}pz|J>K_k2j)5~h7iu2r2V_;y`tp-UQo<6g7 zs)BfqIOxXrQy>u!VFm^kjn^Qi;PeZ%Qw=58f$m~D`2Zxs{aBQNf#np4&BiS`U8-)X zG>?=z=ny?G(A{c*(;e%k>M~kR&##**%@{YmyKbs9FK9(Riwom_kOKYbo9m|fhs_mX zU|gf^nQ`H$Gr#IA36=&?5KBInWkV=?70|Tpq2QveMND3ud5)2G%(sC>e3?iat3=9qI3b$Dq7`VegSFtIA zu6|(Pj#Xh`U{?aMS-2TM7xXEEuI}UDo&~z?Q#A;5(KPo}GX@5BHPA(g0^Fe8dh8k< zYzzz{+}wH$4D4Ey*%%lkxT`_t=*(jSIT&<>D7)?!HqgaG+$R(m7})hehN^I%2PrZD zu{F3sD`VLWL2MoF6deWzb|VnmfP11M0|UD;h;721XAinR7sR&U-Zy<&<5YdmB_KPk zKtev;pgolA)*yBOcf2SA1H0XRHU@?e?iJDu4D9wGb_91i$n7p5b`19pYX$~(R}eda zd&YFRrm5nR-j)mu?A{=u9BxKt1_pK?kar5WuT1xAnkvrpMRj_5(^OT)^y$4#Q^grs zrY~)py0bowRfe5`K{zvofis;I6fX=yh9(RQoEcyaqfm=J0|RF!D=7Augx+Z}FmPtE zf})j0$kT>_fioM-;Sd6Cm*UI;b9fl|R|zpNaOSceWn*CAFlJ|9-~?%BU;!Ni!qo+` zge5?Rfq`o?BV#=Sg9HmGCvzMAU}s>Ej0a^*$!nmsKax?>pd4Sy&cMJdxfzt0C0SG$ z7+58DNHH+5Np>3IB^gIp*2FXq~1_lPnN1)A>3@oojrn9$Bm9Ga~hRMBT76$_Z z2k81iPLK_pplr{;0^0w=y$X~wS?;kjFmUe#9kR!9frEhoq6)-fU}FKfh2tSil!4`< z1Oo&2-Zvl<|G-2!K@MPG`3k!AWdAh|1_nVk?jR;@PKJ60p(@Zdp}|b*pi_>8u7g4` z1k7P(;Ex9x70SfU$-p4R#vQ>F$;rSV?V!QHz#Yl7l97QydIRXnx+suA3=I4mK!Fy` zWX{RJAjr)f$F!G|fkEgv=rX-{CXlxngv5my7`PL_97drlpb)K31oN1L&gn8Ra3?WY zFfuSO3&j{RFmNY>Wmtry_!tgn@y(3G8ACp+g|&w=mf-GcZUB zwW=~OaJPaDkP=D)Ik*kXkrwLZWMJTKXFAErz#t=ZSC)aHp1T7qB`fq1q^=XpkrM*l za>d;R=EyVfg7V#dE(Qhx(4AL|4E&Cu5b0sM3JT~9?nz9bBl?6utGT%+GlA4G2!((` zeJa>(3PKkZ85p={fB_beu6&{6k78@1{g7`SJH?MW571TuCGn3Kl94;nV* zp3iiei-AFqiF+|qFgF8(P$DR0FJS^@Sq7n7pwL(fR?o=5AHvMQz`cw~pPPX}kcE3A z(_E1Hr*;es+?&8k7=#?G85p>?fH{mpQH%@>+*={x&m@!tGHM%GikX2wS($->dk0fI z=+2~vpc}f5F>U2$VBk2)&A`A3CcqhljRoXcK@RTsOrW#>gmy_XFmQhW8^R#e&%?mL z{SnMzgd~GckYvEXZv#rFpP5dBjIUn`GGCV&lnnTt#26U3^_W3PM^J*>in*1Cfk6mV zi*Z{sbAXmU2`vF#ZDzxK6kNBS0A)&BW@jb_1`Z+66;|AK%-Ku~3_L>mAVck$L9P@K z0$t9{?FcqiL?}g%fq~nJnSq&sL5zWapCBmwU6>Vk7#IY3xZRo0!)^3Hw$T%6BiJZ! zuu&WkqkOK1!cc9 zW(i&f1}O>d4CWQQ3=Gmz3=9n1nP8Ko8$qct3mmr6!O9^2XM?>hy1cp3O#t1vKdtFokmY!u*DX91mhDD($Snwvq7R$2W&16#ClyYhZkbK9+<<&z&{fd!1^rLKsNGl8?vGON0%9t?lPY2aBfvi;m3=ACosCIzNVBn7eRaVigvtc@SPWSDdDp#KcZg27X zfg-&E!nOqk#|#L&7G&Q-Fk6s|dkL$FAOkdDm$HJA3xkjZ$l_(JM+F!d*n}!UwbgRg zy8;Xh>_Qx%G`52EBFITXCqW5mB`e4moDBS>AS+g}z66~GDagsambDIU?mA?1*CU&| z0omM*5OW#$kApJECRPVQ1_r?h?yanxLNFI@gPH_xU~FdvMLnC)Cs6BQ2P>%l;S`z$ zN`Krt!Oce>p<^KT?gBe8KVzYFbD>4pJbf? z*L@0E_i2P~2JSNu%|ib`)y-LmM;Q2@ftnNNSc8N>w{?QpHy|;{&V8Hp4BXT^tSdqO zXAm+6HFxf^&Jki@U}NAf26b=lv916)Ly`L-E2}W9;(f#lu6Tu$8Mq&_f-V7M6fR=m zegb9+GVlw6+AU96Z-6vL%2cY^Xahy`kWgYK1_3u;jauyu$q zFmQl+?vSzrRNR1D>J0o7K=qjf+e(mv!yqF-WdbJyGwAw4(0vP>;E3f{0@bVXZ0AAB zZh@3Rgx47}FmRi)fz0DS3u<&YLD-;M4Y<9)Y(X~eShg@x255N@#|A177$D_AJXi%I zq&!Gq1D$!vB(xaRa!+Ifw||+1)`D7GNo>zRqYgsnbU>|dFo%_azaG?$F-fjNvqprabNv)Mr943m(M1E@*|bC`uRL6uxCn;ko7 zxQJf?R2=59)hCHEFbK+U7qPL3F)#?{lw>n-7qfxVHiHmo&o*}n+jT|;1_7aGpp0J1 z2C9c8AU2kPZIlxF1S$Z_!5nD@eqT_lyn+ohCLt)nUCrhw#=sy1x>1z7h7D4^gYLNJ zt_9n{B2*7{d>vS~2m`+bsC`$@CLqSZASlA!#MTXWR5MrugK$b_83T6<*c}28t6RaE zg&>Y<19OBK_@98{tewplWRe7T7u!|1JGvq6fS6R@12&2UqPrKYn@tGp#6GZ%>o3NqQL zl?>eL*k*y&K=KEIvhaGgWuRM~cgcV{7i=sN(2NQ?^^+5vhrn44#ARS(0a+?&z`ctt zSOOe|4E5Z*Az>(-2@23XV2*%rN=7yV_g*kZfq~x*6ao9$lqDD#qzt$ZvNcFBFi7tN z<&r~SgJe>R7`P9ERWtCbfD|8L19hGGtw6QHNwygh3=AAABw+n^5Q~A01!Rg~y#n_I zHU&ur2BEj0w&g`In?XnkRF7X`Q)`B&eUU2~;>;VKb5h^)r@$V&W>B zg(N86l|hBjH8wj*1_lwKcu)-AWOI>ZV2}_x2g>WW*}Nnf7-SgOSRV3&M&CdUAvTtJ zP*aDE1=M0;V*!;+Y%F0SAn70CAhHK^XLl|rHt({nlVD(wg^by}W}70(z#zE+JfP7C zIulwlLjg2slVJfGv;keK$s&0{5Hx7h#tyF37HKgsaDM?OZ~hgaw(37HTd5^d2B47Z*?4 zgy|oqO_kvb(_&!Y=>rKealg`=E;W6svI6L6BA!X0b5FTEcxL#3dQQBcTTf_*k?{E-Ati1mBL)VZ1)w5Pg(oe!h=FI}1StjvHE#Xsd#6toH&K#eVBlE- zk~ZS*0y$_YXlTxaTh4)jfoB=W2p0yH5`6{+p5?Qp7#O(Nc-FK`=a?~7ram5Y>+J@R z3Kj+y(DkA`8^fg;7+5UT7#Mi=fW?o4l$=;9&A`C1Um6w;AQ|Lvc+SDVz;pf-NYO2j zBDg#Q%VKK=2A->+t`mz2$US#HfK)NafCl$Kofl3JlYxx|6b>vlG7Jnnk3lL}L_k6E zN=Al(fdh2rDa1CA9~oGFYBMnKd<5CXQl`wn!1LV+q{puF|~CI9X6$Q&VAJ;4x%O z0eMA;SA&6p$A~dY7L?brY#11Lj2R1LL3wS7Jp%)e2_vX~T`wWDkc)wV$CR-~7Bs{I zI)#kKjIl|Ufk8p29~3&~j2*HJ3@SpPCOVG=Bj}oD4F)!rS<;~F28tmz7Elzhv4D=2 zWn*EJ0f`HONl-Ylv6zF|pwMDtnF?mFm0@7u-^Iefz++|3xKoCKL6D2bp796Bqk_7S z^bMXR5D{l!;Bkb`5;%cE-iZ+uv`j)rrq|7ys;;>Wlvdms7l1r3A_q$>;7H?l1tn5e z76my51`hk_=Vncn<7Jj+VBq0l@dgPcO#eA+s&qYz9H=(ukzhF@$G{+Dq6Zp`1+y81 z{(%*$g_X~NrHim z1>`0+7JE5RkR-@4F!1j;V_@J>V95cQ`BI&Mp`MrPtsDb`9Ei&A%SRX5sF%V30<2#|=rQQVcu6ovLg<_+ z0|UPlW3wtKbLxV^NrsV!Q4O3sLGuK%;0&Q8v`2w~fnS~xRKA7Vp^oogrf!~l3R4fJv-Q-|k;5TCImu6s? zA=C)EncWyHGe_t#D8fw{K|%aPXoeO81HT#AuP=lSgE;13_q-Ci2kK>5GHOaO)HA#h z0^O;>Z^dXL#lY}Zs0gIa8q9eo6b|yA9XRiQ5bCpHVBoiB1SPCL3dSr94EzpY<6;;U zKnJbyJA!#}j0z_}3Z1|XPheE=0^OAE40c5#qXOs-c77KyFNsk>MJ|njf!`CXG?`K1 zpcn%KzYkb4g;60CbXj}=*w8dag1*dt)zv$y%D|u_qz~#w*E8-{WneH7G5`fw12|?ZgnB_X zHi9`3LXp!s7EDzYoeGMrHn0mDgepL3y`52dy3>NGI`ykSPU;0asZZ!WDBSwMoC!kb zK?!pL*d>#MKBzM=@J|ABCJWVr;&C$AxG6%hwhRpXQ^2#SGlb@V!f7g_q8bCk93jvN z2mI5)bF>SDazO?1JVsEOTp?rtN>}qi_S7@15#r}!VBlW>Hg25|7bpQPWK>sUVAvq! z0LoKK7Hg1+HeFaI2aii92gZ2Pp?`yRkOZF1ynMCb+|Dq z#DeVI3Fdh)DyV{-v>VLxVpK>0rII~ho)4qKO#=o7{=JOOj0_BZj0$d`e6SxZ7r>}s zD$T&ae*nx2VpOmMW!i&aUI?SYJW!H3#b~R>z!1Tx;8hQblGEVur~##t>q?-)9aM<$ z&j1BgFe5142y*a8fa71N1mvVhFq=V02^4-&U=FC8(GMy^(n0=-W}K}G8d2xZWaL+4 zU=X^h%)r2(1y;xaF(MnxVG*it28}A`fE~ag^b%AK=7Kq#4E&%&Tln)BFRFr^1Zs$| zu{;9TJ)pDEc|pk$pj!|5AAmibBd5R$O2-dD zJYj|cIfZmkoID0QszgpfVfv=UQ#I=aLHXzfIC=Cd=fv4C{&UXx>B02vP! zm4~PTSpeqqF|e_efQkf8kc$PFBGnie1O@mdn0|s%1ZaScUlKew#Q+{i19SKo_-}wrlxJF~!N9;$C&$1bU<7Up%oAo{5O4=G zEkS+55HPa=G=-Q7VhRcfG%#M*WMB~5uFSw7&L7)}PVHFAhaoWHfHX+bWW&-VC4!e-F0t16U2RKGKgzPyO z7z8@Ok6 zBv*ruNSAyp2x{TY5(PCF53zw7j5BRO4aSwAHaP>!M0*AX!D5hUTsnfK_dwlW&|Noz zWguTLaEBN&FbI}|+{VJ4tINP3SOHSP!MzPM16K(W*I)qq6}0q1U^as-1A`m`iwtOT zwQ8vr0|VCw!JabE2t*c0LodY8O3+wZABfGwy@Q>BL9ibb3M||W(=RWdYF)2x$-p2u z6(lXflbBY(AUF+l60aCfF^D}~O_PB^oO_xk1B2iUkjWC{1yxhg0n#pp~!7y%fKKw2gFw5jt0#~&oy9XU{L1%X2ifCIFD76fkBJA2ISZI z7NFjuHn#$3bb0}(VWq?Uh>3wga1lte54V*S1B2k=CLIO_Uv73b1_r?;paHCI?oFUk zuVo-L6S+e{YLaHW7I1H%Dse-#D>!POx1k8lfvf@=*Z z44!az$=5S52(AT1;|uN^It&bg>p*k*Zy4BEK*@xS#ZZd@65^9|psCB2fyEHy?e#yk z7#LXI$}=zsZeF3oz`(IXhk=0;JZuXh7+CtP85jh&9tKHW21$WhreJvnt^mQ^WuT#$ zMjnQG2Ejd`0A%3)&&$9dxEJIPMs6`se{CPguT0!OK=T&+L2M50qo9a50AllTzcgiF z5IhKCi*WA+C6+@VKS^Ao}eH;(WJ}3;KRViGFJzbzd+t%V*#xhVL4{Pz#w=M-;rJ5FTn6&*2N08A59AeoaETzuBPh%0q{qM@bPg2va$q)t5ax z#30lJa;zGd!w8O6|K8y-=pdj^SOfXMukhD zL>dVW!X1nX&7cXN7%*=qqk=D}1c+svr^mpsi&3FV7L@+uz}D|(RJa9F8qWwi1$Ymm z!V6GpOJIDY%fN7gQGpc{`ibC(KEtSx3|fDZ1eUwNsGtrCnN-Fc0|thRj0!XD7#IXI z7=P$8Fz7HTTmzL3nT#(r85s1K6#js0$YQK9U|=v{0;LM>7*HAqt+8TbVbub$L2IUX zC+RUTfE0miYEbgA1+_{*_qhmWGp^EOU|<1lbrjN>X~4k1yNQ8;VWk1IcyM4)@?jM6 z{RA2v?U~-VcB;4}Xzh_u04V*laIdmtU=RufB`7v-r|BElP8HW@F=k*83I$1XFe*!N zFfa&(fjC@@%5TgW7=*$>93DpHC3Xx9LJ^+~r+;5NRbCpDW`$xv8D4`?xel~4Jr zG#QoirW>xCDk%-R4p=A$B&Nft4C*Qf<%4<(x{S)z(^JH~>KaPMPaU=W%B5|81|1+`5kg2ZdMFMy^OCWFKqxIfu5FbGWn zi7((*1nHdy5?{hS7ZkG7LE=ZaGuas!gl2)nPjIgUt*oC75`R(8%?DbcFb}j;=nZ!r z$g=q$i7(v0z|Am_h9Albj0_Ayi$UTNjLM*iYoVo}d21O)WlI$X2BDQ883jh=-=+)< zLTf;gtHP*!ONxO(Xgz3ot`?&*Xj(vMBWQZTh*9~j5d(wJCeUnF5@WqGXyRIEA82B( zh*23dzb&*MG&f(&s0_LTP3Qn9j!QtDph^w~2HwfW3=AL)jtx)>?gzz&ngj!b&|yg< z1_mx3p({s0lS~3^pdJo*Zi^e#m=wARau*8&i=hq!gV3!d#taNxB|>+!L_srSX`nTE zcOiH4(C!-o0_EWPKpWhdkiI&qgQ^6ivL~a?wG^4U}g2z%njE zU#uAzg!sWS9zqLr85o2Fz%o8U-k`V<1ebyVLZIe=kO;W&3=xt6tq&As1bL!F2-L6; z5(7J=LI~8d5E2J*bQ!9II6xkhVEkdqz)+*`fti6pNRkn>nDGFULK0|9N{TUp^#x3(0{CzDrCB&LGFggG;*0ObUXaNPtvMSC|yKK*0$aJi5xH0J=p{ z2r_zfjY;7OD8uN0O}P$=Z&2j&f+CFr)FuWk{bOO^?*SQZz^D!C*|&q-;>b9+9yB;) z1zK+B3?3L4R1r#H%rawO5Mp&;U=T_Lvl)cGfK;S0g4R2+2!YmV3#BuH7AA>+m;4B2 zfL*M_z{av4G-z@Zf>noDk^ZCZQ6>hi3Jl@oX

zePtm89^7vS*Ww;ReV}Cr z9bkL?g#O7eFbH*mtqKt01Qoqqj2C$s7y^Y3fz0j(bAp6!f`Ye)5wvzOSZEEXI_y$Ky;d~X4s ztjuN*I>ZPnOc;dzgGMzDgE<01peq`Lj(|A|LQ}OF7=(_2IR-+TKqb?0FsI%DJfALf zk`XkY9sr(C7dizFoe1z$w9siVCki|hEp!H)8e+gR+(Ku;oLC`#P`)?^=EMoT0VRm@ zU`{-Ef?en$*ux1z4?$6Q3Cu}h;7<3}{BLI$f!(!4Xg8?V4hEaH47^fW zC6z}aW2!*?Z&2+J%XGz(fnk+!Qcfy^Py!Puy{u8N1ch}X6R0a< z!KiQqR90q!O>|&XI1LKmTrkg(QK1qPK6xNB8Js}1DJW;Lv50_jFDO2Kf}#PG(U=(c zL1|JbpXmXp0}(1z#bgx=ayDp*notc>p8?2m?4T@E2R6-7$O6QHtPFP&dJ0Nl4NTHZ z3=Gaf_0t7+PF1XD1&zmi2gOzo*g1kaLaUh$fDH8pm8WaKYzCoZP!3tk1e*7j6Ji0? zn(M$p1uZ$ZFlE{>FlY%Gfy%zEV7s*$ctNT!*g%UOCIHTI>qnK&?Yf@LFIUE`^Wvpu#|l8B`AHaVdZn771yCCC#`L zK#PflbijsMa48%BWg1;(&`6mTmqG_9fg6HVdT}XS1IZbIc|KeU+Mv?Hf*Dj*2XHA^ zfuhuo8B|ed@T!1jx`bSq10)$3T6h(*Md}$CggltYj_pj zgA#@hGpH@Pfmh)U$f3T>pj3N-S78UJz3T_&UEx*81eHeqVBQU0g$ba3K>*mXRk1GRBO!MumO3Kk#> zBf*9~;#B~r{a7&XF|PtR@y9WP68{rkg_EG163+}uMqhXprh%d<0j%;Xufj`E8cbvc zwMoD6D*Uqp)z?X2AO7K05CP?(WN;wL@PTJNgdoex<@gk)fm#RY%s(9%7!>#vgh0tD zlbO?zfk8n)VJ9f=vzS3evW&8VDX3z|W|joWDJxim@22g4N^O+cU-#RcbfH0U3D&g`#Ykyfl z1sgA@umgn=SdN{67bFM@7cd_*5M2YBa{zZ_L8k(Pg;^N*T|v&QVGgrpU{Jlx&%nUg z!U9S?pskxCObiT+b5xxe7}P+sr;IHupy6+jjJgRoSS4tli!oT^4(PP$HWpCL7RJE9 zpiv6CZ?PTBUjyPxf{v31@m(1hPJ;xBIT;ujJ6J$Qzhq!w&;*q~6+sLPT6;k!-32i) zTz6z(&}NKcDrV4TjArIyRAkTs?SgI&Vqo~>IDP%TsiHCR5U=Z_TVPMeh1zk5{4)YhNr^h&Fr85JA9;nyEXbu{56=Gyy&zmEQyJM!6-SCfl-7JG-tvzF+c+xNuuB>s0Jo!1_q4`(B45Y(3}qOr;owxMdQki{x; z#)v^Dj)8&UMG#1F4AaB_1_t9YP$G%~cO*awV+A9~Z|mI{7}P+Ua~Pw*jc8V81_m|I z8d=6Du>0+q85kfgj$y0^rKB>D0NBNGU>8pT@xdNW02{pt#9s@#6)X|Ve+lA)11kv} zSR5=23?@Yk3=F~y3=Clr~=WC{xdgSiW6Ys2(?ho;KcgAVy( z&;p&CY7xx9pz8*;Hc#22IfMWiBAQa~T*I0)iPBK!+TIQmg@k)*J=~hL~Um zhB$~Guw%7y85tNdf*BYpAcBx`f(euzx)>Q4N`e^}df+k)T5~|@vLTp(VLn8V(U3uB z8Po)jErtvXx-GU042)Ai*%=fL>%ft#Ig zjAjg4poTRlp)W_429-2!3=9mQthgI25zSP_z@U}Iz`!sgn1SI6SS*UE6r3xJ7_>ks zY)LQ!_=sgt_T~j;{Z0l3h7G|C4D8eQADJq}3St^ezjtJ+O8uT-1_l=ouoFRhmr5BJbU;-AD9M4`3AU8ckb%KCgO`DU@!_;%Q~4QJP8T>f zRiqxA93F#X*; z9n~2a7)wFBbV2LP7#Qccc`-1kgDom$0w=s6NFi9xwBJsZfdMp&1}-!!!4u6)69d4B z2IO-tFNlwdEI^5d!yjaYF@shHG)-wue|T)FG}DWq>Hm&R6%+cV$H2h29BgqoI7i4$ zS35pcDG+>%_eyZb+1_s8}V0mW{zZ-O0BZQv_;)5^RUIUhI z0r6X>&pbZW*a%db=y*Wm2ow$_@M??Eh=IW{N1B0wQJNW)L4CkAOZoJF$EV8FgEO5f zGbo5Ra4;}vM1h>G%?w&4b(n*JLDPYOfq^*$q|J~Yv_{VfYy{}MQ^q-SycrnOb(t9$ z7@fe4QN|z!<3FIAi9*25L69cUEfkD%Kqm#O`G9Ub4PgeYEaTv0U{L>M$iTpu3=v=q zw#j5=U|_c}RM zw*Ivb1A{u)<_Tb%8G|4uPhtiopB0=83|gSG??L8YMKT7|egWNO4$d^7k`k1Wm^dmJ z7>v(@(&Q3wV;2-gpwMNUljjR-D=q;We1emK!S*;Wg9roTGG@?PZKjFwkd(TddH?iZ zC#TAUfZ|+JmVtpmJ%oWl$A*D{!6*dmLFS?#ARjVKjAvjlYyq_?E`ft`7PwW)><_c) z64<5)E(QiQa5}ieynlMusj2GqJ3%)EUIn`lw02m_0(1dj2m`}&Uy%8r5|cp-T$=bW zF#HCKLFzS75dwCV1gH%IDh|{@^;j?igQ6cqC#aqQl@->G3=Gy_F_2DBh62ghF)}cC zf=*`ihf6VNfsOzHDNjZcI|VArd>9zY5n`G*p_QuUQ<&x8O`*XI40FM%AkGG@s0Ep} z9V`a398^TxFo7*+IPF&taw|xRLCb@QfdQoaK3qA2W&;zX_STuf1Su0i`K<^wzp;WY z@MZyLe=~6QpAY~mcUZugoe^5@urq=3-VJUB1`W_EeMZnI*L1!!Q|0R0{h=)sDX@}e z9tH*-PF4$G#&;9lQsqh22cb0 zD$F!%uxTqnrcHsDn+VhFKn-P3%`tuTnW^0MprbK=`GdoQrFi`jXuSt&CGZ7+MM3Qu zt(6Q642dBO42oc}XhvrSEzrR+xgiV;reGmRV7_5sV5kgXVDJEoft7t@U|;|#ivbHk zl!4L=sK6}^VDJNXWuRfppku8X^b^ z7RG3pom!xSTtKdgfXITx;gaA+2}n|#F$zV3!BA+c3IhXUE7++q;Idd{deFJ4Mjqf= zsT1rj#$Zj*k+2|FX=y5%8k7cM z{y-*YMll8k5a!>*0fdFLS)6Ot7#KiUXg{;F zxi|xZxi~{T1NTlY=dI!l3?R%Oz~sD!gMk5r`MsE&Z0#8sKv?9BbBj6y0|@iyGC6NE zVqgGa{=H1j%M2M9K$yRn$=TS3fdPd1!g?enEwEi(;Z6&1`y^mbas$sU;tt6 z`+QEGRtyX_AcEJ)d8rx$0|@gUWO5GTXJ7zfo~bO(%d{C7Kv>9)#o0`dfdPd1b(x*k zs53CE+3s_3>I=*1LOI#)(+gCJl&7ELDHEE0Gjd|%b`PFulT@ZFZOf6KzKt(YZ@R4E zw1n*w45$5J**?c?TCeD|H!C=&=LhnLPK!NYw7tq_+6gn;M;r_cjL`Fj|01ykK?4*} zaXBQm4iejO`uoPi;`LETLitGS8YFfn5_=jFdodDw0}^{568jVq`#uu;4TKHKSPTq5 zAsle(X9E?UP`88bc!K#)VLE@%dT~!HBx!dfb_fzX5s96L#0HnkP@_AhPxm^aJe@0e zJrCp6>H5Lz#Xa96DgA@Q<^+uvLA8k?u~m@RmPl;3>Gs}7#OpJWgvyZE%}DGCNbGq? z>{UqYt4QoeNbL7W?7v8CP9AWg03YqiAPV7tLl)F_hlQp&lDG>JI}nK-hs4fCVpkxs z+mP6^k=QGE;=!%}Tf7xX;t&%10uuWv68jSp`#%z!7t~vUMugJzesgwlLmMO^Pb79Y z5<3TpT`^rgt3cdv0+P@iB=$-q_EseJrRnRl3dB8MAqjm$VsrB$JS&03Rz+ePA+hbJ z_giv^^F|>Fry{Y7kl6J|>|P}HA|&>D2pbZBdm$Wfpj|>@-$P=*LSlbIVl#;# zJiv#9v@K_7{2gT(ekVuvHKbCB4T)BS^wh}%v^5?X-7UWdfKfW*Fw#C|pXywW=H zdR9)!&TpoBsLp~y#a~62Z?`>nVI+1S5<3ft zU4XOf-mA+bT5;$VRdI?@EjzJR3WE)x3{68i@dn*}tI4NZ+& zQlMl1p&U~r2@fQ82ogI1iJgPQu0Uc>L}D*NVsAiVpMbGJ{(k`DFfcH@L1ONm$R3I9ip2IoVkaZ9Gm+T&NbFK1b~S=s&(MhAFmxcXCnK?!A+a|hvG*ad zPa(0dA+aAJvEL!Fe}UQ2;55g;2HIl<^}P@hTMmh>g~T>PVml$R{gBvE)8&tNiq{t* z3DqI7yO7w^k=Uz{*oTnVw~^S-kl0_4*o>ex5KwRMLD--K#=syA;eb7>fy6dNVml$R z{gK!)NbF1`b{P`88Hqgsi9J^lDTA#-lGu*KK7zys9Ucm+E$$(SzeZyJKw`5hA=11M z5?da|2KiqH#$jM!utZ|JA+dvz*ojE&d?a=)61y9T4LX|;=IG@};#)y?HNhkfBT3vq zVn0J-e@0?6fX2b0amkCsmO^5KPKbb+Z-ON5h+x+<_#rq9(MaqJBz7YbyAO#y8;QLF ziMMjd#9oZV-iXBBkHkKU#J-Kheu>2X4rPP=&kC9Vg!)n#iLHpl z)<2u5_GtK4;`J|(guWuNnLtyiQ1=QT zvHg(PDM;)>Bz7GVyBmo;1Bne9fn|hM{+o~__9L;+BC&5Hv0oywzaz0()e%L3FcKTI zLJpRE^pV7E)sf03ZzPFGBz8IyyA+AtjKrRZ#Ga4DUW>%ujl@0)W2b;Bd>Ds;f#E3< z`!f=o5i|h|jShY!wk#4`8;Ly)iM@LI{w3|=wwI8E?jy0^AhAIklVAbGrilnl!Rg(z zrzzK4BMEsRu|tvApo5iRM&u)jgO<<3#5(hekvJ|y-OB=&41_Btf?E+qCb zB=#jF_Io5Y6KE9!DDFZ2=Yw$=7#O6G*lI{@BP6yR659)j9frhCLSnZeu_qz1=YekC zhWUOKlEgM7_8}zpIVAQiB=$2T_9rCvKO{C6XdN2J$Dr9e1iPL=3Bh5|Lt_TFPH;Pe+*xc*r0tRFbzDqhy*Bs#8yFK zgUQBBeCBhv40}5`9P~! zU?sCOgah`h1`^v8iS3ERjzeN+Be5%x*sVzH$w=(^NbIe8(`^<^2i3!wad`N5=B(~P{^D2Vk^=?Q)%}DHi zB=%+`_I@PxX(aY_B=%z@_Io7uZzMJcXoZqI__AyU22ltH9DqtlY<(oQ4HDZEi5-T- zPM+@H(jZ=6izL*A#Ga1CUV_Blh{WE9#6FG0zJbJkip1tOLS$rR2pf_p^dTIupFr0_ zz!HKxl6Wu@J06Lhjl?cTVmBkP`;pkQk=VqhuOqP^BeCBjv4116 zIY4WkpovQqiLC@%uiNrpJ#J*|F zz#s}U^eK|W$LaM;ris^cnjoS}42i9X#5P4@J0h_`2l>K`jzkhqMPe5su|cQl!PIv` z#6dyBz%UKM0Vj>cNbC(r?7c|rQ%LOVNbDy_?2kz7e@JX@Q-p^lOp%g?Dw2c|65Ae$ z?SsUQL}I5Qu}hHHO-O9e0n;$w&x47B{J#dqVPIg`g~UFA#J+~aeuBj21T92@r9C9J zA`;sSiS3NU2Ay?L4|7p0l0+dAyA6pw8Hv3BiMu4nj*;4pBR zBjQFJiLHXfHbi3EA+f!Y*bzwVR3vs05*xGyiV<|;3@FvDMv~Zp#6F6|zK_HP9R>jl zxt~blY!(O)s35W3kl4XU?1XwGPA(F=3W?p0#9oNR2AxI*bHr{W@e@ewt4QoeNbC<# zHYoiuu!6SzKogM=5?daLt%Jn2L}I%kv4fG=2}tZ*Bz6@NyB)OA4d#O>ND>Q?*z1tk zyOG!@k=R#}*sqb;Kakk0R*0w(g0t%x806s`1_m7@wj~nV4T&9$#7;nB=OVGIkl5`= z>?ug>g&;QQa6M20TnFMnqhL1@8+7g?EQGEii9bSOzei&KL1K#`HHMUt*ak@KdRrup z7ZN)hiJgMPE<|G2A+fuW*h`Vvn~~TDk=W-UY;gKx_yysB0)l}bv|S4t5;90^O(eD% z65APx9e~7+Lt=x@0)~ZRJ(75j4O00JIvWh8Xc>~C%}DHvNbF}w?9WJScF+bDs0S2~ z*lI{@9T*$5SQd0Z7tCUd>Hk+x6R&rH$ulr8cq6g%kl3J`8DZKwk;JDXv6mvTHzTnR zBC*dSvF}3IkXU&Q;ecc1ClZ?-w2KhxK~W^OG7{SmiEWR>1|3Tab96M4cqS6N+zu&L zT9G6cBC*#avG*dePb0B!BC($%vA-g*nL&Hfpq>$gu|fWqhjADf7<7@?)<|qmBz8Cw zI~9ptjKpq4V)rAl=OVFJ+at{|?L?9|j>Nu-#D0v#{)oi>kHqG6Koow`NNmuK3s`i3 z79>O2^$e~^ih_~YiAd~xBz7$lyBmo;6Nzo$h;W1r65Acb1}{)%VDNTiU=U^ng+BuW zLl{T`8aIg`wlp{`GNggnQ1KEZc0Gssn#0Kq9VPIgecVb`=hO)gt;!rgqAht9E zWQI2q#DPjAgV<1)W`NjG@gfi#D&By^ZUwQSYWhKJsG2DtHq_#^NbJ){>?ckP)Aw$e z###RZNsz~xfq@aKQ2~ig7X}8<>78Kz9|cK36}{sF{>ihl*Mq2dg#pv_s3pk@WJq2dA{HdMW+D^ek(fFz*` zVna0;fY?wCrXV)d2bQi7AAq(d`hditY63xQsG4*nb~aQ!XzObUNE~8*JwrW+1J&FD zVna30L}D*OVsArYpF(0^0kJ__mlzlro`cv>Gv9#NP&0Yl7#J9#Y%wq!S_tWZIgsEo zM`C*+vEz~0l}PMfB=!O%_686e;!B2IAU5bkLIwtgeQpd4pq1bt+fLSlB%q2egV<14 z-vF_p;*UUVsQ7ab8!FD|j!5l%NNfoZ8>(Iw#D=O@2eF~zIv_R|v=B0Ihqwr|A=U{b z0afGD9L`~2&;_xf!DRtrbAw_Dv`d140d$Hfi02LxhpGtz zv7wFfc;d+DPnrcMu0^kRON*+Ih&pz!2ocz#t4| zr-Q_yhL$0*t3hn2-Zl^$s-_#nhKf%Ev7zF#L2Rh_G7wuDT>ddItOjwQ65Bv*sD|Aj zHdOo=hz%7#4PryZuYuT5@!KFaRQwr;4HbV4VnfBhf!I*--(H~dAL>gMZw3ZNC|e%H zhH6j)u|a3HGcYh{c{4BwL)rEqai~EqAU0Io1F8m8&iI1Fq2@$@*iiMcAT~%GRQ_au zI8cdP5F2Vx1&9q&#K6E%4`TC!QVIh@GsprcyALD|RWlcfy#mAr^*b0C7}kK)L)qIw z;!yR6yg}tZ)Z*hv5?7JfkCE7~Ky1(^cm@WBcOXNd?4KZUsG%%Ah>C|3#DDdP#1@4FCci%egD{jW1rmq)TLX!03}QpWzyidEs&NLfVdY&AgabA;9K?ni8V$7o zw23?qBn~yG7{rFE=|E!lK-Gh`>rMrULoHhXVng*V1+k%eSNhjOd;r?Qy9XozRdf)< zhAO&-#D0pz{*A=u4`5(mgsN9UVw)kcJ(1Y4Fg7T^mBBa+3=E)iHDDQL21r~C94HKP z0vH&Cq3jJHai~MLg4j@B9sseS;^&drS3qp2n)@I&RLzqBPNYPN&eQ1PQ6HpBvkb4ct*NbGN5HYofV7#Ku?7#J9#8dO1Ss6n`)|jIug4QiCv4tZb4#qAhG+A*pus#IJ1%1^O4xgk=Uz|*qe~p+mP7%kl2Ti*r$-# z=b&s&P_SQxazN~xNbCnl>?hNU_fKoiRSHHF1!_oaT_m<465A4qZHvTqMPhp*u>+CV zq0{pZOcSq9L=wtGV&@{UOOe=>NbE)=b}JIQ7l}O)i9HjEJr}};q>!Z$4k&~eRwA)C zBC)q3vG*de46$nqK_aB@lF7*LP{s$8KPw?~u2d9Zi za)cn_NC1f~GX4F*Y2uO!NJ1J&Y@O-yho*_wn01v?6O^liaKORcip1^&v!^fUQmxy5?(no5PD}^hPhY_{-H(xD`ggYJ z{!B|gO!r`)?#FcH!}J*-dcnu(FF^F1Ptz?pru#8%`82%)MBn%{{RW8s^J%&U=X5_t zk?G}})BPD0rXL4U0n^2~ru#EyOiu??sFdmK+|&J;UVNDz!9CrNQDypa?&-%F z6Q<|$O!sG+@_qUNp6Py!8PoZBr~5OSOpgaqEYsKXPWNX%@t3+-=yo}Qu&CEonuM?bZ!N@WFx!`nd#tGAfg{CXB`Uo*H?3ivX zG+mi7WqQ2Obah77>FpqjW%_!d>FP|DRnsT<*osYmCp2Av=}O@=;pu8j538mZY;+Tw zZYMllfN4VU^Z?=MYK#-7mkUog#bHarl%v6`ye!*bI9f#;N)@@KXv!{by#=!qrfq{WN1I%IMzaY!Nz@7_szP*B3K^9L%S{QOVT7 z%D}*Hqt3vg zmMu)66PG0UL07DCw1Q2L;@99}VBly2bENs#f^2PPTExP@Aj8ir#K6GO0hW>FZv-jp z1asv0nfVwPIJ%~vE}kJ<-@~+yg@J)DgJTlYACUj_LAUQsW|{#SQRd&y&cMJil?mhq z1^)Y>E2w9JeXhj+kb!}LV-{083j>1+|7y^csiLzU5K`}C3-@Az!b7K$=3uy5yQVBkFm z4s3RRJ_ZKf^B^`8JLs@G-U}c$3%ivv0|W0x5SxvGMMRK+f%o$EL(Maq^ceM~yKb7H z%*Z`GbJL7lsxjOS8k`IaAk3%D;!q{ZzyQJ=H`pDj_!$^LnB(vCjLkEY7^~a6H_vGA z-aK=A_vTrjeAyuRWcvGsypr4JFwU-IfhWZc=Jw*-joD@=2}Y-}J_el|o(axAphFWG z_??)**$2d7K**+m|-ph?}UW35=4B_ZB z);iE3&Y39;?CGqaXlCHIWC9mIAPyrx=;l{;Se)1MGBB{i;`|N=0|R?DIGQ>5H?uG> zu*2iLn-Ns}Y=+oB1YH>z7?>H^Ko`fdfDWi) z5()>4aIg!2l(K>@8(>N2V_;ws1D*ZIa>@vFhBT(*RNI8AbFsgcuJ`S8!b<%~WJD{o(&C$?0LPiv%St4Hy_$To^k*`Qf-C0|SdYguQEegX(jzTo)-bicSCGx+tiAt|0>ht3nME0|P(koIM3rMQ&yW1_993xvWYcCWAnc1Oo%B zGKkG0u#}O3fmKBiR5b{QXfiOcs)A|(9swOy1_o9&5L-atE=axle^4(;z`~e;fmH*< zmJk3PuF0wi%DOTF`_vg2ShZdzO_y_DByJ^d%)r3r465{5%xpmg1DFZAGMudx#1sPSVXFbx zwkNbe$BgP|GB7X-ADo`=zDTxylPO3j9<=LAxZ09|fk{{clv)^AdZZW_*t$SQuz+>~ zvTX)4zu7Y|u$ zl>l8&B&fl_z$%<8$H2fQycSfN2p?l)VBiqGWx>F}Dcr2dz`!Le2D&I-_@O8R1CMYo zGXn#!@DCFP20r1dpv#VgH?c4<2nZhq9V9Ody6;#>xRZr}L0DLymw`bs{1IurfY2J&Z>!m;mje%v0IH<|t z#m>OM@?MmIfn#nZI|BnR=$J@8kOd4Z#uf|=983B^qVw4q82CVz@I`@+%VPnpW9C=| z%9|`|oD2*cJGX*V9fhj`u^2d6K+fU41`}mqkpwln>i0ebDgFo(=1T_6OS4=BwT)Zz_g0tJ;Q8%G3F87BjS*i(@DNG2mj1_rTHJPZsR zQDAcz*xUpe7&xMtLO2;1xVSmum~Meg2b~AT5zhpQUIy+tpjK&p0+`3h4Z1jiBN5DD z;+|x{z`&8j1kTvpYm7lRIf7+axHs@KFmR-R?Pg_QV-aRx;K*QV0yULDtA06(!OFNm zZT>S{3=G^d4&XLFC{;3W->_t0;HU<>l?md}8m4-XPdT{bK|O$4ux4)Vqb%S?Kgg9l z-1iI_7&z*|GQ8ZNOU*bMm_XeSKJM9|D*_vtK=uf5tC@it{U8@haJPY+-@;VD#K0iQ z{a%BCfuj{{fD||Agc^=EFh`oZ3p91g(a!XY6Lcx#G*DBz11u%W4LS{mqZ7=Lb$>hN2 z)VJ9)FmP-FD`DVHuwh`}*uqo~vVf7h2vo>z1xqn;|J7z-;MfM{Ff*_%0Cn4TFx7zC z;MO2b$Cxg0GcfRij{V{T6X1e^lLh2iE)I_OOrZPsxIu>-aC`t8!obY~3W1Mc4kIKP ze1aqchI+OoAdh}#dI2&Yw4#thml@(F55=PpFMxqrAaJae$0s;P3&P z#Kpi?1L~>zF|Pxe#LN-NtjP;=dlb|pD^O~SW_}48sAJ@|Qet4>hz0wbiGdAt@f$}R z^AC`29*#ujVz}-ksBW;&lcDZl1{K~ZV9gwmU{3{eI2qU;fMPt2*_4-oK~#bxgZU^g ztcDUF*a|Q;ET(C13*la*4D~}n} zB4?Wfa&|E@=uRiz7rYD%d?12>lLcfA+fGn-cn8=eY@nUB9H+rS#byHvo6pRkCKTHg z2T=OwVgW@smjDMZOBo*n1NU?>1_lm37EnfG;64b-6#QTg3->Qjp(elrN)sI1r$Bi^ z5X|A?7PMnv;1B|Hc(|{FvZOHBR6Yha(C!-!5f(W<1_mxZ4q2AxAUj@wydlT(1r+`a z+{~cbN*=76iF+YvXhMMnRHU+SD}m}5MX*s^+}l7!i4vH@%{>ED_9=roJls{FU{nEf zcp2DQK7&yVku)PKqerBv(0t^h|pg1=Yn11j9 zxAe4-MeIV2p!DLvY6p{x5tx2wNrHq>7^w91V9kJucZ2oFPEQC~#L5}SI$eN)fp?9- zbi<_y!u5AdK$RZr4w%|&0t^h`b_@~$>O(QG?FGea7Ptq^mIf*lDj@6>P`a1_VSklm zVBlB?W^-|IEMW~4WPpa_QdUsvVBnqvD(085J^~HzajWTp67zD_Ujhsa?A)McHpdFq zcc9XZn+KFURCr$>oIUqY$v9bv=FmQ2ltYw`IH+LPfx$EKPGB9v#KsI(G#8?J4 zMNm|1VvPlv6v45zo>ff<=EQAKqreS{?W~|`mW_J?sAS*43aV~6x%Yv*y%RjZ=flkh z$^pB;E)3va0?OCB!IlJa_kluc5113g{hynGfnzV&VZq#DpqSYQ=7cb?y|)1+rv0qT zL5}g_IK-L^cgta9w;Vxs%Tb717}(-KjhkbvMnVh>Tmc*>S=YifpF-Ar8d>uhh-U60 zQ0;P-^*@6l_yS%(P^;-2YrYV?eR+ZPwGab?urH|fDGVC0WE8$@1MX=}Ul+DWy#59x zj@dbGvx1I|gXEPvP!CJ*qv{p14_`xk z$iQ|T6x4566F|DXIX{s}b-bR7xDFK}95V_=&OYGwRpeJ;$vAR58(mvyEH1A`c-tHtpToFl~kgG#&q z;8ZO30#pn$uz`}H7y~GCFtUMSQtTcmc`>npl7tv&n>PnD8z`j3YCwTo&%y=@MzJuE zB33p~$cPz$QZ^eK$e&_h_pq~ZgSrQ7|3Tr%!6q)kz`(`>Dl&N4Hi|%tlcORG41C}` z4`MNJvVh#mW(=-0*shB(Fz~(ssQ|SEAYB|#8N|TGdmdE5NwEC@sSuieE@F{ny$GmM zm1mO^Wnkdd6lGxG14k~~eNczXlntbhO%&7}a)Pi|gIb(kU^W*UM=aY?Q3hz~5XS~8 z9T>PlU2u+gunI;<;gG=QD9XUV#Jv~PY)=HsFmr=C;v7kA^`@ZF7w$q(Z!nn+#9?J% zI}U2dq_FvlGB9wla%8am0a*g-rgLP1bu(~-`so~5U=AbqMm+`wj%+qip~J)t>Zx<& zfH}c2tz#^Xqyd3JzG3Tw+KfQ+buB$28g4Y!5SENQZmaJ zI9kB&5P(?S3f3(IF{%yB5oTcf35v6JwmBe^BsjX*RK#KK=!UohVp0#-B&a*;d%?Qd zxWP{B1KY^Xz$OQZs(v=mEoWTf9240R#TgiQGK;bqI3|IWFmQv8=jWKrrU9C?;dZiR zVBna-2C6Fr8Q6}2DuJnN2I341qB0!Q**1$aFo;!v63z^8n2UV}h4M^rIMs_Kg92(6 z*ak6KPP!3rDPBaYMt)R$V z2$o=B;A8>W$>s`5xQp2KgB-%av4qW90+yqff)lP7gC(dYTLumtNKRZ0PHbXFLEW@9 zY|oe(7$mb(D;YS}vAqN>Kw#4V&6uob`zp@Bzy>-qn_~+b=+<6vC7&a~z`zI2L*R@D z;xcfufGp)Q;Mm2sNCF&&3>>>5K?n}ddX7C{o&ZluMm7V-UNA?2fo(RZGTP4u8VwXR z;5f*39^~{GP%b$HHb^qHh=JoUSTzHi8mO{5!nRI=fq^Zbmw|!fB-?Wd1_s{mAP0f6 zFdvA;z{vtKg-e0s0$aW$0|WOT&`Ldyi(n1|H|V$lj!SH%lAumT1*lZI%vKF*7;qm2 zh4U4*MoCa7qY5~2yF3_Q7s6$~8Q z?4aDtz>}Mq$H2h@<}h(rgNi_2Fo%UZ4HUtAU=ABMco>17{XHlc7}&T#lmPp0Nd^YC zP|54l6h4ZVRq9Fo%u15!6d=2XolDSydPqxH=d? zr6vdW1W>2G6Kon6_kKHudIqj8Fpq~Dba5_MH&_!Nce4cp16L22!_UB`0djUP;{hq? zAYK!wZ37)GxS-9zz@-l96@iWh;tFS;CC$Jf4zh2ZG;(W|flW!5fq^TP88lGFwoa9S zfh(;Z!U64ZaBn_(3K$<|66CWt_`0g<vwb3mRKi7FZ9u=X>51DbRIv zXFwN(&sP9VENTmY@+S8Jab^Yv9f3*-1_tg$Ak97ki}V;6xEG7bF);WFd}Cu^;9deM z{<{T~q!<{umx0tw6xdCqdq0THA+Q7# z5eGnQK7r@v3=G@{L2MC$Mo@Y=1oD%Vz)g_7hd~i4BcKK{^9aZ;1p$8>1_th&pcnO{Kp5t1dswH#u@UUz9P2@qnZLJ{6RBU z+^XP0ih-LEq)iRXVFWkixz!m#Va&w68kBA{zy@+Kuz_wc_1eJ|0 zj546Z-MPIPLCr!BMj6lnkla3Co)4o8=!OJtU&b$r3=9E`GD~ei>E9ph^bkgw>7eiq zVEm=Xz!1SGGXqrQ1u|yKGcd$3%1i|1-C)KJDF%iFMww}#xDH_i9mtu&DDwgo3*n41 z@(c_aj4~HMi8K-%ggY2z_(4Tn44Ai*QRY0zlvqY11qOy)j54l@pzx0aTfdu8CJdxB zo)L8U)*eO~Cs1ljU@VhoU^u}j;|dD>L~ul(VU+O$jld>>d zoIqt;24jyr1A`8ej4UYCXEGK^Gcf2e$y9)B$YK;wVqh>}V&G&s#vKDng0op z2L}dOA4VSEHf2!LWx8$JB5_I3usu%zDE+et2wO8S@C1Sq6q`WN^xU*X;+Y|)3=BM> zAZZRpxdKiG2A(hwhl^3}hYkY+PdJFf!zh<&&%nSF0Wz15Q4Vw;7*8Z9kEk)qm4W8Y zqCgyVMmbPo=7|B71R9KT?^zfacw#{^nv8Pmr@u{GBq<%N3Tpa;#B>uC&R$N zQwEx;@?eA%kst|hfH8qdb_PzCRiJ9{7^q!e2?`0u@U23=BLSpv)j3;A+gkz|#fF3nBu4L>L%&x3`dFz`$Ui8lz`aA08InF11DATSry3z`NJ zUm^gy7Kms1J5Yi=BGARbz`!#LBymFEBxu-sHb}z@0d`Pu%>#|dzY&91M2*I-yG+ZRZC}*s}z`(N-B%{D6C&|dbz_SLF5L6iD z`sElHc-H5Du4!egmx}?-xNQWrH-%r%7Mm}c=m&a z#EKc^lt5lQ0E+e!Mg~rnJkXSG2fr9)oXl8~( zVBhri%tdluDWJ$x1nK+;N;tANn0P+7sWUJL^jR}7@O%OJnL%I%4+8_wPf#eafEy`1 zzd=b`MF7-D;rRn%s|oCz{yuY&xYSHb1_qx0AR!%YF*61R9tLnZs>hu*T_J0cLj4w1 z1_l%EFBS|8Jgng2*_7KBlv26C<%~7=O^_#fz-6TkcLyk@c)`V}19u%LdicOHF5HTs zl*bR2@!(D|U|`@80L%DrZ!%|K;1L8DngQIP)&q|SxU3D~zNf&z;L9V*2=ZPDH>e@P zBL;R{1vjWA!XpmmRB=~=d@jM*qt3ukBNGV9h?0z;X~P3dGAf`5mSO}=JDp~d@tDq& zy-2$L0mz$jVE12Qk~s@fA`dPYFEhz}07V0&F1x}cvjUWZwZL*$nPkLu85nr9!Mtls zGF2v^VhL=@bx@Rp;+K7;Dg(nD&~yZ-fMQ`_3jq1lfDv>h8e69t0|SpE9 zhMXBevk6=(JSmL-K;`;tP>x9jvl+Mrc^MdZ(ilNA3oP8Ar64@%jG!q15%AzTPX^c> zN(`JVcR*v=y|+}!dE3_RsvjvhD9^uU}&(oSrA3=C|GL0PAoQ9y%%fh&fmj!{^X zfq~l>lxOR~YzFQiQ08o9l+*z84sx0U&w9q?Ag39C+`9psuo$@0wHO$9rn}`XvZ;3jg~~3l8bR*I zAkJm(diod?JJAAY(Jg6wtT{&ml%oLBYTcx)q-1Fqk92 zeFv04j(|A|+@YY9bPUWf;PwEy-WGM ze(u+%)9>Xil5heI((t@w1dZ&8bFbHAVBmQL4iyP*Gg$@(p4W_^)m9DQkvg6?;6&8K zEvUl4!1Eq#Ukmr5=@$8m6zlu77#P?%K;iWdY=g85BM%ExA*i{=&krhVz-$I?El~Wh zF_r6rlGJWcA;QiCYEE--8-a=!4)Ees9`21G&vP=>>Vnz=;1tXSo~o7s&*bxPgE?~G zRwfS*lM$mY1A_v1DxZg!2~=mOal3+YCm&M{BLjmbw=&4Z{NQC@v27OB-Q1sP-u z7MsUYoNL0s;|aE6K6plg$BPM6-7El4T<~}^fvTH@-2Xx5_<;2+;!Xmk1Ya;`F?S&- zFoM9&TEblgDmj9|rY!?6Bj5=EFC$paoegqhC`iwAmcm5>^`W5RHkK(vn}J~!Pf|`Q z15W}IC~>Tj0S$cdBr<_I8y1W*9-!ha6KtXbqf8(uU2)G#T5Zh7Rc041C{ zuxXCmlR+HFvI!?{&>6El4NO}Y85o?oqo8RTsl0fnL~$>6Hq!`2M#J|VYh|puPy_F7WW%ay|xu>w>ATKU?~MO z`V4ja9d!l=Mv8We{lXn+vG; z+QU=;T5z@-)Rw#smY4QW=3!%I1{G(?Y3U3+?98CBVBr1)iV+^LM1+hjs3FG33>uH< zV3k<}Dk25I^Uo_-W$IZO7^c4|TEtcF1xkg&%!WJ+3~N|r7(qM{W?>@+h7GJT{DKS& zJd(_kMhpyFSY`HrGLsaurV#@}3Y!e*d=wsO@F-3Vo6JX086gAa)w0R#1ev19tgFhv z(7+}Gx?zh)omotYf#CPFgvw>H}7vxZ1W>BKMz$?=VYEAipc~^L4w%af;@c4syH+W@0=c(`nfSrAZS7r{V zb_`?&HS+HA%4`JH#6e)*JzklMRt)tFJi%b@eO{S*P!xrLc@KDHltB&8P%!Tyugn!t zTt|WpeZ(sRPTG*g5|4Rhz-c><8I-o4@XCO0zvhW&UZ%&u@P${#0hDPH!1})O%G?08 z855a7?Zj`qGV4Ky_wXcvefWo0#s-wMlfi)~!zXh9ROdjJRLJqkYyh<}(wRez7#I}z zWI92~ER#7E#1oL24pN!L3@UJClx4U86fS{%Yt1m@{0%WMM0XfZe}43uT2g9`EzFwam~ zh7XjpN|`}jToYxPd!TZy3@m4%Eb|uRrE)OOQd!0Vl=LdVDs7Zyd_WOXRnJ^)#K7R7 z%)q`#nSlY6?!gUjW(H1{i=Y+Ppgasp@la9rS$Yf%pwt59GcmAx8Zj_{FqjW2z`DVs z*PwEX9aNTq!U!zK&cF^51ceKj&&R;YavC)82=0k?gH|qriV7A6whE9lYnV6bF)*<3 zfac@$K&^Ag048sjv@vMsD`*$IuqWtfZ($zL44UvsGtdC0ojhm(=Q(@O0H(VbXqn(+ zZO}5oY|u=K@Ov}RGC|Nb9WLQ2&@h2;Ht0w(9^s>EpcR~3R6xrF_ZToR@C(bEfR+g+ zaWXInGO$>wGBEJYLvqA^(5STVIyTTKDrol&qwq9-&?u_D9>@_>Y(Xo*S$qu{7AKwua{6k}YFgp%pv&-tCB+%!8JL78YJs%LJA&MPOq79vl|hh$_whPo1_l9{={@C( z6*zcb{4{1@Pz(nxy?O~6JW>Kp!0^5TsZ<0_0`k5Fbv_h9li|E?Ksi+rG+V>_ z7BpGIz%t8@fr0lO=;%@D3rxK1jNG6h98jZxmjldZ;09e=!pjNnGO%!i(jzYyxJ5Bt zvtki{Ca7u4%fkqY0Bvs2m3zFr;O3_e_id2Ld|-|)cQJ^=4{oC9af3$Xcm=>sB7N`# zB(ES?nJIT1XhVt+BPb-zxH&;ah0|T!i*w5ii zGI{C@47|pS)2CZkEmErI(qmxYHDeTFVPJ@6l8Mx2VBj?e^J17}j)UA{0rqe#lT0pX zGQ|?yAWdMBxn|A4z-tBeN(z(AGtgQaYp}`^CYg2z1_oXmFt3zJrW)jFTQIMTNoF(1 zb~`YyoJnRHpC$tXuRWMs!6f53{Z-W>7k*F;#OnrbZLVRGNt$k3y~tb^G>y#b4fe!7 zCYk@@3=F(JVBUTvnU&KgRxgrf+&q14^&;u|Xpj|wV7a4AGQJ?|gTT%{!6cIaa#}E0 z?hKO*=+X|}5O6S^1@-xa*+BCR3=9msp^Pjh3=C{xYzz#%5saFkRo5)~79h7;Ffj1h zg9um9t>c_5f?zpNrVvcvlP|JhNMsPHVBk|I0!fQhGVm#aSPCLl417u;mIDL(5(Wl_ zCeW-FsIXyYU{RH2VBk~swqRgT-Uzx|)f2RZV;A`9T1}#R=)z(^!(Tql*kvvc_tQ`e1KO1Cr9r#}M04tbNvO!L<1`Tbg zfXV^JY*0|xGBGgdgn*7^%mrIIQC0IeyH zPi0_W&}IhRa{<~H$6yBz&6#i?KLq*s0TTlQ#KR9k9_D9;-p!o>4#4^-MpG?D@Kx6g z+RH&VTYUnBodVb-E^7t`b#OF(0-3}Zqz(?aPaty`gLQlL7#JA8fSNo8%nS^ApjD+M zsSFISVZKpiFaRw&X-H*Y0N=X}u`!C#5N4raj2!6j841vGZ3fV3E{t=6tQi=Lz*b5y zLhLjG+bO{au~ZWj_b`Ku;RY>~W?*1cLNaF-+#DqobCl4`sRtz@MiaO}cU2h}7#|G($0HI)B3=CAA{BVh3c!j1H)3 z!y6VU)$f9<^+HkWg`yT5*-?zPaF0fVHaCQTJqkKafpHF#EzE%-DCUH~%#mbZV1R|Z z9o!sqe$b_YOTY$!PK;rk;{`Wp35r2WUwP9OGccHfddG~L7~e=UFfdJwGX+)OjGMuQG1J6&(9|Bo zj8q1ObGFmhH7=531Ld_hw$lYW7KyNePHJIQ(1SoqkFo2eKF)+@#2J(Le=q%emjMG64ITi*6lmDQF2>(GUryp%vBvD^z4|C-N zCP#!9#o<;INCEXm}O>VGce9$ z01UI-- z1WFPK3=9lwr}wokk_3nSK_q(-)=t0Nx=2tu&I#sgc@(SUnO&#bB@7IDpzH~9y$n>Wh=D;9v??Tc`o``>;yO=2`Mww&5s)f!hBGX5iorgCl_15; zuG6F17s-I@cSzy_)!uIK5@ZD^T^oV7y@KW|80UDqz)Uh?fkY{!1TkU(MJZ!2BnnNy zYt}*K9Hi;aG zNN_^hD+UaDppZJA%D}J_BEe|F0O}Tl8$oc_)iWAHoX2433d(n>;E?eKH$y61VIh-> z;*wOTOU#mUQy3W2SwIP0krS3yGQchag%l`7UQT6TuychvOcfLrhL8jTl8A9-m~P*> zNE{XxouIg>0=oco<{0Cg-EbFFp}3$5>HlG{NwwgISV{2J5{4P{_p z0B2^6j2;h|o7h+(ISx{| zRV?79L=@QLY@RS@v7j_1SfEV_Ju_%S?79comyAZx#u(T}o-_uA4-g3^SPs;TU|?VX zg(oDt)q|410Rw~KTSL$hSl}A&7AW=2>F|bGEsj#diGyo6K5j^W26R1nDn45vYT9J`~;R6E$gPRwuS>wrcfR81)ZgWeTJ1_qTh28Jh4u@Z0!HDb_vz{tR0 zkjB997hU2D)KnQSu&I)ap!E%D3=9TdaGN#xm>3v(rfc^tk~CKJhB>!@2~;6m0l8L^ ziGe{Pje(&Yp+_$O+C`fNF*hKJ3F6vSP&LJ%?jxxGmBzqu7%B#L?MfzyYww^-fOgk_ z%J1J0Q&Z1CUCZx{aP18ySf|GOM26dts)Cn^P)C~s31H|bd ze}gi#pDhCe<3g}Opo0S$=PZMpvk=9cg)nnKJ%G6B6DBT_t$ztuyADO|Iux~Oknjgr za@#;x+Ux>b2kArV_`&?Y3&n_CFe5;H$T(yp(m>sc;~*pI86XwqEI(Mee;jNEXnF|} zipQa*m^=p!(41ri6*GZ63=DdpE*L1;xA?&w2d*x&;5NYm$Od%F_&tzy44|_l80U!i z!(8ln4{RM{5X7>3P|Lu>8f9q=44{)TA)(Cx?qh-m27baVgjk@d0m@I)zf4-BUT+cr zGg*NRQoBG5R$v3wE{wt8%Bm@ifg#Et?rJ^I`68f^0?=uf5X&G2gWGhVG}#7G%xJ}+ z2WrEEhB@X#gy5yUUIqgL!}0o528K-#8Ia;q(BNGf1H&0c6}>xDtqQ znxL6K_f(KCM5dpex=1*rCkPgfi&4UHF-kZtg@>aI0|Nu7k6;o6@@q76Q9l#Nn+^t;crQV3QF8;Z0AsWxEHoB$30&=`ua6@%dp(5>PpKpj^GP@A7| z&MmmJPM|pJ1k_oYpuP&sBj=_q60X+>hI!;FijJ!=9im_xL9T|ng^5E2;ur?Q?@9~| zjL*RKgPL`Wb2{LrJwq|=8PqgzRs$si(D{*|qPO0h0d&m{xSfm0X1*{B{6N-a? zrh#j`z7Uvmub{Mxu7KM`MLdvp(KT?pXblgnT?CnM2X(hA7#J8n2QxrNU>-2Jfx7zPLETZ+5Li$!=z%-vsSFG*A>gQ!&tqU9?Nln+5IY%Rtp=A!!`BNz>!20(h9AUnQ6On@q2E?US8ie?8$?+>I~Gz{tp zgbAQtG_3h<0+W6Zw*Vx43e=3GAWH)n7#Ki>$s33?I8;DwG*Hgvn*Ms$BFQvR zH$yob>?26g#%RExS;xS@0E%@)S_icj9_lbKFj|B5J~4ob1I9TA;Lfv#MmVI(vIa*u zW3V15SAxQ{cY4WL_pjQoUND1_448^xnyxWtkqE1S zB?CkBbjLZ1MCwn%t9}LsLm^Os(E#@7WN?0tjbvc30Z%wJu!BZT&G{G@j7>oU*$v?2 zTFA%1U;-YNZUVda0EiDBa%yG=wL0E_Tr9`HzyNA>T!Xj>92uZ+1QocxU!j6!puPz> zB4QZLAeGqFGzJFFNQf^%ZE#RU28uu>uvj#sBPa<^jA76#fKEI)PFI|}NDAI-1cwY< z6@z(;4Fdz?3U*Ls0UDhJWpu_lW>GL7t^oUxm!E;b26oWm4yK7wkZ#;YuunlpA?Sgc?K1C=YFChWsB28M39naIPq)921xBv|hf4Qo_B0S`aC;)e|;JOPi3ND9Ep zt7q_$5JLtA2GC#vTQtJ0plLq_1JIDh+cX9Sy$}Wl22e*GPK^Ehx%AJlbWoZ}D!b5$I;r*9RYG^gx|G&>YPHh%BQSDEL8%%z%Nx9z1(<6Dng4lW~EjvY!wMrimV)d{x{9 zDvCj64yXqFna02%JN?J}Me9K;UYGa+C(xyx3ZUgd44^`maZW$nX$mM#Q-C@RJoXGS zrygz%Bn@eTTELJ{goIxwXqd4YoCiz5Nh+&80hXq!!I=xED3%#PLKL0_ITOG>X0(81G*Ed0%9~112}_6sH-laf0|NsneYsCpT(U@^ z9uyG?5Jljc1LSf8P=^~l-*5O4lmtL)Bp4V#r6%JXpG24s`oTU}D9FG7@j*Y-2ativ ziHxAl`%DvE;66BwVv7mH2h$HMS;Sfoa_JL@G@}*7r3`wY!BbGB&yooC8`DH@P+3tl zhZUsLfk6+{76Exg6DnT>8fjDJ2@$@r8e!y@QE*ce?QSULY6Y>=N2q}XC)0X0Tygcul1K?fKxGO>V; zNMM@iYOT(|zyK}trZpf5Q2U920W4uZ1GI2-I`iHX(9$B%B1`*ApyLmc!C4I4 zN_?F%{q%}OGUyv z<_TwUlvHP60AcPajE=b~3=AO5J(6G2 z90LOg^L8*gf-dd_VeT1>jtAHn7(kf!E~BF$XzMy?mwXSSla~Sm0|?hUe&=Oi0Ab!= zjE<#x3=AO5`9jX1IH%_a@`z49vs^)8`hmMfLfdaeEbd5WygvPXK9~4(tpct; z^&K1x42+;5I#5Rzi9H30JqwAw0ExW}iM}yDD(1Fk}hdx3Qe}Tk)hs6GZ#QufEX5d74n2i&(t_$jW9wZ4NB(?++TMmh>hs3r< zVtXR7XssjEYhp-j zWhAx%gbkX{V_>j_aKMq^g~Sd=VuNNAVUbXXBwmNa?nYwInBHH+C0@S?NoYS3`z{ju z6B7GB5}St`5nqx>Y|yzcFsB$Ji8~^(!ys%(B1?vF!2T;lVz(i&CnK>JAhFjXv3Db} zk0Y@`6G|`#fi}d#*gQO-dlaEDA;p96jT#c$2#M{E#127XCrM_!rVkQ35{aFL#4bT%cOtQ;BC!`D zvDYH8K_hsuz&yr_lw&U;DSD5@{*Aduo#KG1BrbEiG2}?eHV%SABk-&fJlI` zNbDXY_F6F88Jy-Au7f!c_G2XWdnER6B(?x(r3W;$WT&4m=Mt|sM-p;DVh16y(~;OE zNbE)=b{`UZ4ibAK5_=yK`!s|NN=OV0Hy|9aN1h_FKOwRIBe8ivi!P!5kVImuBe89e z*q%u2FeG-05K=~}M3QJjVoye5FF<0iLt-CCVxL7~Uq)izL}K5Eu|ZQgPhlJe28K6C zY(`;3a^OQ^%OJ50k=UU~>?|a9`Skf`rzqDiM-tkC#6F0`K8M7i8ms#LFewk)XYK>Uxvg!gT#I- z0@^kJO){W65n-COKm$NfaWf>g6B0XodVDpPa(x|=P&X2L1`>N25_>li`vemEDiZq< z5*u`2J*yTv!hanV+orJ_*fW+R3#NLm@K8nOXjl{l)#J-Niz6)l9!k>YG;R%=n zj&6nzNNjm2gwJ%4*p^6acO-T&61x(K-GaoPio{+py}O=^d-}ZdizVt$A&Fl{Vn0D* ze?(&cLt=A-##5lt4Z2wimJC#p#Ep>H_DF2dSv8Ca44{QU3=EM-66r|nW+Zk$5_|o0 z=>{(4`nO0zET9!GP`7X)u?3LWVn}QmB(@R~TLX!$kHmIDV*5eZkXVd@aKN#chQw}0 zVoyV2FG6CkLt^hjVjn|dUqWJo4#b58@+%pnQsf(wA}P>XZD>fSA+e2+*mg*4FC=yt z5<3ZrorlD(g0Vp}#cePS0|Ub(B=$Tc_9`UyHYD~TB=))K?;E+qL!TiDeL`aYLt?9g zW=Ej@GeTnfBC!jQ*frDZo4CY1ryvO}Kw_^!V(&m=A3i^Tqf#Qu-O<^he% zL7gs%#8yXQ8$;NTB<=~}fRlI_5<3}*U4X={MPhd$v1cH$mm#sYAh8c2u`ehfC2`Ps zM6k5~21(H`BsK?VycFs)F(kGM659xg?SRDgLt@9k*dYIB!8i;I3>8T1HYD~GB=#aC z_68*OJ|y-TB=#*Nwm4|U9_j&QC8Ubd9Z4b>i5-u`&PHOFBe9#2*!@WCIY{i4NbGG0 zc0I#k1c%`Q68kO^`xO!!yhsV^0~XNs9VlB6i7ki3)<$AmAhBJ+Y*6?!FfasxIpFli z5Rb&pL1I@Tu@@t;K_^$j(#>Hc@$*RR+eqx^NbJv`i*{g||079ogSI(9eI|~?1|3}k zQ?HLCZjHotM`8yfvEz~0*-$pv|K(5)$p6hq?0zKn93=KiB=$BW_F*LU1tj)eB=##L z_IDMAdiYo_=mJrg&-6e$RiM6iL}L3Qv7?aKxk&6vBz7wjdm<8hE}UJ@z_1F=VPM#b z#6F3{zKXP_g#AXC7kb*jn4~Z=e zW=}8a;S#EM0<*!%j{$TA9W3F;AcP_g#Aeh+^qxSsM!*~@jU=vt#5P4@J0Y?Ck=U`w)l?>uL_HF_XS#kbmw5d$ zB%#en>;p*bvq@P@cM$nQ)SOg)lrIFa6qXiigz)O=E7)+5QoTkt2b;Jn2f~k zLt-yRVuQ{RhFQE9N&FNN`#KW)2@?Ag68oPnQc)%hI>iARqzXuET_m;@65Ab#or=V+ zLSnZgv1cQ(m&4c~|DS?!7#J9?Be9<%u|FfR8TAoC&5y*EMPh3su`Q9ygBJk=V15*ej9P+mYBuk=U1!*bfoxdWOFU4g)vnun1@rNFuS-k=Uk4 zY-c2PAQC$siJgnYu0~>ag4v+(XJBBM4(5Qbc$ zIUxU^Mq=MYVn0V>e??;V7$Fkl3?%k?B=%M$_HHEhK_dn$czg0VlEhgg_GKjYO(gdH z>GvmciPyhI68eb5{*J`{i^OIIZQ_H5J|_~JABioB#Fjx~8zZqTA#8B?G1x;mpzvb= zo!tzJA#Wt{AS8As5<4G>U5do6Mq)Q2vD=Z@(~N@=p}z=8Vm%W35E2`_g%Rre$4KJu zkl4Sb&wsL5yj}*hAq}cj6Nznx#CAqv2OzOyk=R*C>~bV_3lbZ2#5yd@=0U_E0lON) z0SD|3B=%7x_9Z0teI)i9B=%1vHk&CT%!HBH3P@~S(`$a+s?@cU!~Q zc}Qxik=Pwb>}g2sCDY}fEf%jofFuMulpAK;9VGErNbDa-Y&OsaL}+A*AhDH@*ak>! zJ0!LbgbmsT$iNT<;eZ1?1BqRR#BP~hKZQ%YegTruIwbZUB=#vJ_6;QVGbHvGB(}CW zBG@gF*zQPd(2=Q(37{(v85kInkt7O{*!4*4UL^KxB=$-q_I4!pQ6%8${>3{9H_)W5E~@Hz`$@C#D?FJHu8WaFxLk$WAv7zGeAU0Gy1;mDm z7bCH2L2Rg+CJ-B9emw)|Fk8@p8z8F>AS4)WBC+2hvAIFV3qdq9XdU-=kl0_5*xX2yv_c>@XkQ%z1A~|~1A{P> ztq2l_TC9)6wgs`FYJx%R1O`a{ivn>#yN($c7~((%LD`ugai~G%NbFV+8>(hDhz(V< z2*d_$`DS2XSOzi&%H9YPhpO3+#6D{c8i|4`dWcn2~F%KixwhZ@9g zgD7M~L2RfRZ4eu(#t6g)ZG`}BY_VZr5QefHLE>OF^$ZN4i)CPWIu;}WRa6XOgB39_ zRDsx_-JuK&40RxbpzKbNI8@DaB=%Ae8>(hEhz(V92*d^*!otA7a13NlJ(P11Bmq@) zABp`I#D=P225q>3s^J2$L92p6S3KD=FbG50k|1%Y8g(SLDTobK;|*d%)zk-pIG~Mi z3=9lmAcLUnM36XCQ4WX=%>|$nvSFcBgCyPvVnfyUfY?y=6G3dK_yQ#MdJtO_lKvRZ zLpb0}`WA`J2|Bq3s#yTU1}&FnU|Ie@cwl9bc)thOD zRQ?x$BtRF~fi}W{EP%4>LE=ygdXd<3kl4#XY|wEP3=9mbL3*L=Z6I-|-h&`E)IrBU zY>+sp{J99?Kqan&*dPf828MeeHt2`}1_p*lAVZ<-w;*w-n%_ul(5+ao@?XTBfdR&r z1hJv&H9&08YIOz%1{=_+$1p{pYiAgt7KDKmLD@whHdJ#Zhz;7^%fP@;YtO(S3}ttK z#Gz`YA+Z;N*ieswj#!4-wFM*&QD4t+7{r0P=sJiE)o>TYhFb6uiOmbzy#mq9AOd28 zHWDx}Fi1EsFbG50${=y58bc(u4Tudj-wVtJg+BuWgFlD^)er|_LmgBEVna1lfY?wA zdXU&FKy0Yq^&mEAlMZNwF33Sp_CAm}R1Ik9J}d`auLns$EqIE=eg$GfHT(pzp$_78 zM8vBwhz+$s9f|D>Vng+Mf!MO(jK$#R$iN^BWk-U~yQ1$vCHq;zvBz8QA4ONo{V#|ZP$iR^0#K0g7X4f+?l!7FniW)#{sAa7n zHdK59hz%8=hs0hCVnfwzLSpX)v7zb@f!JWn7#OZ0vA=@Y^-u{;X9fmFC|eeZZ3$vS zEpPy_6(Bxvab{o;hO+%Z;!riQNbC#{8|sJ(Bz7%`4b@ve6U2dPUI1b%LM&JUvH;3n z4-$u}*^9(Jjl{kMVnfw`L1GKJFfcGe#SM_yJ|H%%{T~eCfDQs+U|TzY*mX$kP7oXF%RUers&_dOdlwS>Du@j=^NtIs{8xtf_yNdbDEl>%qMt}?Ay-89 z69=)O2C0GAP`&m@>{ujrC5R1G-vDBRc07X0pB7gJ24N6~fq|hPBmq@47m2+Z#D=Qb z17btf90svL$1i}6>HwJoWnTh`L)AP$V!uOT|8xbl|Di$m4@rX8je&s?YLGIB4K+v$ z#0G8TWME*>b7No-hO#X|;!rj2NbFD~b^?eEwJR0GhN!P+C;@Sx22Da@Z$x5WKw`fE zu_2lnK7-hx&14J=4BtTxg0h*AmeLC#vE`81njm%zDEt{17|g*ONII|qv7rX}gV<2Z z!a!`$7FY%bhA4Li24N^W6(kN-QvhN^eOU@(L&Y0FY^ZoEhz%8=QV-%l4O)l9-j2k+ z3}Qny+yb#RAr8F>xH&jTn>-_P-*C19hDp65AQXhFXw} z#I8YN_k!3^L#Ke)+7QRh@L*sNhO!rf#Gz_7BC+>-fZG31MK?eaQ1(Y8HalqVBvdmW zhz&YA0d(}JCj)~plr0MqhpN#=Vw-{3P>;DFu{}X-u=;uih6p%^fgu^hhHA(Fv7r{^ zKrI8E09OhU2Ww_vXaKRH>RUl>Wt#Gf3>GAa*@e!#@xQ%9iy49oh^DMnfdF zI}+R53*vi0CI*HOkT}#q@gO$TK`9_M)XWMb_H-n6{c0r65hV6qB=#R9wtzRnacW3x zDU2iZ=s;FqAzXBo0-x7KyzB#D@BK zFNh6Qa|XnQ>b(Fp2XykoO^`TL%@c1>`483n5+niD@E3_KQ2_k=QpuY=|O;S0FZ2 z%|{R$bTA161H)I4K~Oe>AEM33hs2fvv7u^oL2RfwCLp#kDEt{17%co47=(>M0nNbR z43dB<@&mD<=_44#hKeU5v2#FdsG33$8){A~5_>j?4b{5{#0DKo%fP^}tR7@Bl(P{e z0adggiG3EthN^jp#QufE7WGH?UIxSlofgc%z@XsIzyKN^2YF2!Bn~y-63Pbq-yOt( zYKTT+mmsm*k=P56*qf2q$C20%kk~(w*gOFY42)2_R0BZeKa^t%l7PC-2E;Z8xtW2% zA%KBF7|Qkri9^*yBC*qv*kvF#RDBl`dnFS45S(4l!0-^xVPN=z#1;-@U|@tAq>jXP zLt@7xv5Sz{ZAk2;NbG$`>{}o<=(q-uKOcfPmLL`b!_z_*ibdML2Rg+ zMOoAC0grRJEkT_J0 zFA_T%#D=QLLt=M=*iiKoKx|uxnNvV!LfP|!LFGSG(OQrqD0>Hp4b9WXkl3d|Y^a)B zAU3oY{0_v1s{aCFLoN6LwG4E+5KjoADJBGBgVccXpBjwAz`)>&#EwE@S0b_dL2Rfa zrh(X?W8*+aX@xK_2t(ORLE=y~n~~W2Ky0W(&xC-=e<7K%uWf*>~3Ofe7}szwpShKj3!*bsB-8MHzf7=#@d7(i#O8G|IC z8k|6Eh$4m*Bz7ATdlnLVCldP_68k$6TP%!$fe~t^DVPlke+C8yUl7M0l0bq%Y^b7a z5F0992x3FUJ3wrxL;FE&M~L3ZVGInQVHpr_9!MOjW(^X17l;j2e^Ua9^A?HCJw2ak ziFmzLI3i>nL2T%@M%Qo#24N^W03;5zCk~0717btf^dYe~Ah8dE*igMEKy1+QNem1O zXF%q=Ku2ecS1S4K@w062S9A71y_*RZ;{xXQ49=>P&Gz&^Nai9`!L2Rf&?9mJij8L`!5?d3A?FwQ;_4}ZfUR81O)4RugeG7^G3yCck!@$4@ z)oYH#b_B6uqq80$ju#}Jd}0_FgrV$kkT}#4sYvVs5F6^yIwW>8hz-@-4mAffO+6bV z4pqMp#D=Qb7z1jZK`qz;k^tRbz`($;2c#LwJ`NIxs<{MWLk+qPVnf9rf!I*-4@m5< zAU0GDODqEeBh*ZeSOx}RZw3Z^Q28SRl7MPf0iJcB&L)A1Ou_u7oQ1#P6Y|#0i zpo7psWoeUC(T3m?4u18|`f!I*>YmnGSk=PGGY^XUe zK?v(vScK7A&3oC z(*$Be)yzU-Z$e@pL1Mpwv+Efcet2I1`cB zGm+SHk=RR-*ej9P8RA%p`?1g1!ATO_t4m_0pzsyti0 zCzuUZ&fts04nbl^AhF|-*vUxjY$SF*61yCUU5&(UhOog$yfd^}N>qcS!6{NbFxo z?0-mXwsb`Fav`yWkl11n_V$f}OA^btDqltcEOz&c`6kybu9^ARapV4CaVi4sr z{WFLPnC{%Q#GflB7H*BenMk?mySkQWaAhC_Cp?-XH=V0{i3VfIbmQ(N{#*?RxeE#o za?@9Vzno9@!T#E^KmEwWC4Nj#;-`yDTH?p_ zCSiKYq$PfgDbqJkTH?=HkO=kh^n5EV`RQ7dmuN87Ob?#C#GkQa`r^qTrzB4QG8yEQ z#OW?mmiRI4NSrB`fV_%miqF9uN! z(+^Jr1xWIAk?EiSNuHiE9pZ%POZ=JEq)ca-vBZz*Ldx`z8B6>a8Ky6uvBaM-WcueB zOZ=JUq)vC4xx|lYOX~C~Ao@w_^d~cy_%XUnH=eb`pD|#1^Q|1x*UF{UjU)A!6<;>YwSV>-|LC4P(+)1&7v@n@8nzIy%=f2J+j z)Bnt0;>UC&d%DkpC4P)L(`PSO;?L+Z{WXY+nQpysi9ch>^llKTz+y?F^Z zJ})m>;?MLXZ@S7-u>XsfF7apDkU#whh|4lvc-azvrXvN@QLq?mXR4;N ztXbm6^r32c$Qp3aEnc(4pRs59=QT_GnZDFacUil{kI`WIHxV|wxWCH{;Y(+{s-QqHI_-FgE!KD$Ab!Svf8 zDrdU(MvyC-r`K#;;>Rd5{WOUCqh-3xrX_xiJkzr`E%9gcn7(_{5`U&YZPR%+gVIU+ z^q9@y+_-u(C}ng^{{!M0O!wZh#Gf%?`s^*BK<}LXX3G*kkgZ#n_%prfn%=W@i67IN z?&){7F7abjnXbJJoMNj%l*RPZ+dztXr^{>y8=Sp;Njam#^vBzmXlu%)gUf9&0cn~r zFjROOAU^%ijwNbLA*-hcNZE-^x7xWxfa#9h zbf29|)EGmi7w=r6&L}f|_Rb~htS?V6FxXB%zH^B(vlvHi90S~u3}UGMTH`l8W!Dll(~CTe3@*^sXCNIg zPw}FuX9!{ftMg!FU~rwTpT{lDCaTHEAT2hnLQ09(z@CvIL5P9DlaYa8&Ghxm$}+5h zj114YrYk&JAvWD@_Y!_~Lo*{&V>6TK3)l-KwwLT)GIs`CXhXQP_;&q}rB&RF2ez+@ zU#iZ?_1&RhUlSplTt(Vq{@xH2naVnmVK5 z_B~3=I%F8{On0?krp|b0d#?R5PqzB*G)OQoFt9MzYB4bIaI-Qngy}LcfG&gs`5%Ot z7Md_HFbRUDKbaZXzREH%FeNfFFfa*$?yzKL%8KtJnx-Zj~YyllO?7~>c$iTq*U50^y#T~-7oSx{u%%ACv@bpdY%aj-wOuy>B z%u^{ym4ShWg_(tQvmyfnGYfmT3g}2%CI$w+98l6@daXI#!DE@IC+O@ZRwZswo)I`D z!oa|)3}Ukg1cIzl5oBgy;1CE9-#{cpxERCMFa!WJTV3awl1(zIcWw4w#{JXJyQk- zwjE%mI12*<+hH*CsXPM%+a(ZFn2qhK7z+b~z;goz2DWR#U_b6tV_;yr9>>hUz$nlz z&cMKSVv zS;)e`Al$+B<`u|UkEcg^EmOAKX2ih2_R*J#fk9D#TZ@5#?bAv|1_lj*Y(@qKwr_nb zpu13*_JO?peI`h|2HP(^Rt5%v$J4iZEmP);1bOZsSUUsL)#=Z?mibF=1BDkSBgpe& zADI~#*ti(eSQr?@WT*RiFO%?&0R<5+VpD9 zLPi+OVdP36rh$)$!fq|=4 znSp^lm}x7hjO9{fVPIen0dtt^8CdU&Gcd4+GTE~;Fo?3TM=(ufXJ8QHQej|Vk7SZ& z1hKgp7}%r01~IS}@-r~7M>FMvjOS*LWBLj*K9HAzfjyoHz%6DWWgxNHm=7}%@9Ze@b_vdg#3CLdG1?I^!uz|{(?;Ow+#>l|R$OlS7OuQTn44fJ4lbE7885p>x z7%(ufPi6wCW8hlN!@$5k73?+zuC<^9ITIWrN?fjt3=HhEn5@|t7*x3UL7tlpwkDOU z7G&xiFei~k4@@|NQY!}w$g`Xr?C+UOxEL6?9)S}6 z2e2s&TpvIw^COtU2uTK?AjyD%^)|?(pP87s7#LVT7%?!g>oS9qC+i_l8%B>AlyW#F z*sbcB_kv6XE$?BsW_I9WU|`@f2PwB@Lg^Tnr4HJnZhw?A#0t zTwn`5m>ud7HhMyB1RLcIHi`pcln>Y_E(X?pk_-&&e#|F9MlrKTGP}Tyih{a5O9qrZ z!CqzL(v)RjV2=fJm>5|9f;7i5gSM}6@~|f|_klFmgB_9t)eZJ}GSnUW^%)r0Q^2}8 zAi34F)*-afx}kpA}FS_!QK}0 z0+kIpV0Vjkfy}SZ1-pZRbtV%71A89xEN%t{)>4qWi*fd~c;7LYZp zF(7a30K0@$9Axxqa8R+X0f~QRR$^vgV08o)4_qvu25>&c({Z>X-XJuEFS}F z2Pl?BSS)!M7&!UZWm!OHTXXq<3K==DdIqlFppsP{%wggJ9Z$!uzyc~!S-3#gm9Q(a zoCf7TF0NOK3=Hf_U~{>-7(qd#4Ce4~Z32a(3Yf#oz zAqEC^4X`B)5bHI;943hMT3`+f#CmP8^=y#X)Bzb=&%gt*UKhk;;DuPP2j=iGuzG_6 zSf7QD7o2ttS@yzhGy|@-Q%PGq9$C0>+G`o|l0^ zRDj)r1ytaR&5;RXU|_cddqfO$ax%LW*a`;LT_EMwEGKyx7+57h6{`aaGamy3FX(7( zK3!0n0I?W2z~->-1r>f~tg3tr4C0_j_nrPdc$u=GGbl+outvg!%cpCHER(d!5My9q z_h4;?34>0}<^yG8bOK})18WSZdI@CR1hW44^oEdSBK3bjby76zWta&c`4||`HG`Vr z46IzBWSzwdGKp0VR2o)5*at!4GazixLA2}(!E8=0_9d)2{0z`=UCIhdE(~0tmLB^u zR?xBBY+U=)>KPc=m$Qn35-k^~vB$oGl@oMh2A2mYxvXRbRj`~4tgk?JtYTHKtpA00RT-15k3k z0f|C(_S>v1g0S$p12y&|s6}{}71RP?V_bthONa;ClBFE4bd} zPG(?#%nG{gn~}SSf&B@XDagQj1XSqMKV=1F7EUkr7pzqvo#3+NCDbNxOuRz&z-x#H z7+Cj$Lh=o(ryv6Zr#Jft)+2DuACWbGLe~5lq8Z$fX8!_qUA-3rt2U^S^Ody?WE4C5 z57sYmqkck-0^I<{{tFz{Yz(Zo6rT z{SQv0V$VUPE(04Vm5FtMnmmkbpokLN14=ziZ1tch7Xw{;$Ii?K3TiPnP=;h-0|ld) z2}ltu8z^AJ)_@vZY-}KZiha-*oDZC( zK`cB1lSG;F)*m`UKN66cu>v;x6~O}t3ef-1lvO)1_s{WLen=yER(3e z01}gDV;5#%;1v>PVBiDCF6&=Vk!A|+Rj{^#S{P0c_A5{e*$d3(WMhwI>l0>x=KeS~ zQ0`~o0(JD*c}LsfjF!T ztd~FymlQTLVFm_HR`v|Gryxr}ok8|Yux*xy>j6+4jHPU#N>>76V;R^+DXyg;W#wRwGz04bP!qg@4Rk&_rv!U7TcrpC0~aGG^VNVG z%?wd%1A7bD z9Rd)mTfw@8AV#%;Il>IA;vjdlv$cXul3?#*;}wOuqZ{H5h)F$Qlc4UX?*;2-gE+Ad zY$H1Zs|6^k`q|Edj1p&`$OgJ1k2|v{n}K~2SP27H1gIx4nGLi%Lx5`;s7*bE4OABh zGO%)k`f^j*Bt;n*L}l2gvw;Qy#kPYI&J1vvi+O{*JQEyF^cXzJyIh43?#rf)lP-mjS4zS_TdsNLE}8PHbYbphox_wmxPC28ry{ zN(T0IY?naW##vQC`E@t|49v!5+mjDbPafc+rb4v^Ci zgL26sut5^3MGWkR!KxWpCxME(BW%;f7#LXdK|PL>Y!}2B7=4G}NaZsni1ymGWVapN+bt)c$ zJbjg|K%9X=fD3e02m3X)GI0h55iTcC4Bup{5ochK-~u(`*>AHoi8CKRlff$H=1mp{OP;B01dj?`NfE@M(oJ?6yfJ%*jU^XWgI~V(R zaRvtN+{6k7c5Zf1K4sv}&CFw9=K*t=xRgO@h!@OZ;c@}_i4V+S;{p!|@Ut(d2lOEEC8i?Z{BE)Ua`fEA-t#2Fa)KvqD?QVtgIsH2rE0|SQgoBT9rUZ1vhl3wH$iu+IlGY298FEZm#8;3=AAiU=AbK1{nqh zj%Mh1(GoTW296f63=3Ba2Ll5~E11K|br8g919RB8PJ!Il&Ilf6VCM>vV_@LuU<8$< z99*FL9636{#&L1&Ghtxh=mK+ixR{j~7&yAYCh&1-8!#|%^nf}146JiOq0q~?S^_#G zl?!U&iZFr(+gZPpW*l!a^F9c^FvttAYZK88k}7 zS|HEBz>x-F7aKA#aAYv=m1JPx1)Wb1uCMq&k--NV@#WK;K0kh$czv`K1A|Zi=mZa; zKF~46LbfWPam`J73=GUdJyHw|EJA&J3=FJ7pj$ZDgg8N6f1x>`QCA^F83qPUp*2hl z3|vA!0t^h?LZCCWc!b<#K~>}?ZBQovt--*+FXX1fz#t&>lAVD;kbwzw3moS>P)rN5 z)Ps6$ockw&9C01A0#OKb6&|C|MqZF3j;nzjan%?!+|D#plYxQr7*rbr0|V#DzaU*5 zpu?es=IMjfOM^y|g|gT{j(%qVa&*5kXv{DXRL%;m2gR8XD06ZOfzBA@5_+Y;P|v_E z^xlMlfk&ua3FPXTj0_BX41z3Rciq;LW?&Hd2^x+TdH}lnNC;GmGYPFy2Dxj78OWYU zP>X^=n1l1Nzcd4b0H~!tp|-|J_8vj$-((zmNWx{6i7at z^Cd`uG^p(4d<8N>3RHh{z6RwWDNs9=^9`uIEd?rQIp2cHSq7$6CJYRm@1mp`7-TLm zak4Y6k!N7w>H}3l9AGvB*S+aoiObaLv*ba&Jw{L*YjaHob^Un3X;z2p7RU%bFh`eb z3W&qc2&$s=xb&q!nTQcoMd^bZ37mppWu{yb4oCRMyhSOVx~tWEi-1+ zpWc_WOp>u_`ii7wY6)qk3=Et~jGz|BeXb;s|CGU;_gv|E3=EtqV9tNpBG3q?DwxC1 zD4PuOj2a_oSX!P@c8VGU1E)He7tbgQ4nz$`P$6??6DOoN8Il_z))DwDqVBjhtv5|mPuQhfP&BltfZ7lwiV<+TQIMTNtRQQfq~Nw%qwS-J*~vRz-bTW zRe-c7r7Uyd2er;P-M}%hhDlas`qq?X=CYusAg4Fjx%-%8%Rpi41Lo~#lGUHinYv8c zeIlqd^#|)a#3bto3giH=k|RvA`xF=$I0M1FqfD~KASVTZU44Q{mP?X>fioB^cZNxp zae8*@GU@uI(hLl&%RqS`g7Flnlw!Fc52|?O85sB;fQV@E7=%uPR_O`71|8imbVv|X0&t6ha^?hZ32@LDR05=e z<|P>FnKpw8sA47s&|X>YQqcMJ0#3pV4BTa)jK&~vLZ5+wyBw4iSp+~Q2y<6}lyC@q zU$w(z5+E+`#@|a zK7rjz3=G`;pc0%#;PUiIY0IqZ4;wNta8Cuvi-;tq6)M!&cMJuQ(B3EK}O&$s6L+s%CQOp_Y4>qxMzdP97O>?69xwEIUu%@ zz!?q(2JX3_i5F#o^EwO+-1GD$7#Oq!Kvx%Y&u6M>`4L)vJ4E| zD?p($ML<`Qfq{Fal>`IB0fD883=G_>LFOM30Nwe=y#^EpPXw~$y%-p{*Mj2lg}@__ zW$WI6u5@DHU;))|94t#g^H?CW4ME*WP>9g2`5nfq{E7=+u1P@ac*f z%S7t8CV`6ZA|(a}KG29SA9x;7IDmV%s4@eCz#dS{>;Z)sgTP!~1_tiEAj262c1STW zaPI?oj!B>x6d3zKYz~1sP{tKF$lzh!r?rK%_Q&{Wa@=$ zps@@V0Xa~bx(JeBV_?#eW?gWHx7 zlx|qKOwLVCsvp}U&AY+*_149g>Ea+-j?qJ40@(c_KjIt9z zaUH_gqs+jN!YB*6#DY7VQC*pVA%ju&H6sH9cO*Cnchob=P7z{Y;En-vcQVSp2j%%# zMo@!p7o%*c3@jP z76Dr$1_qu$P_|_g_@h0&FlU*Vo}(@U15YSOo`X^GJ39jdPZ)^9#i%$znt_2Q9K_*a zR4g`SVBm?EIDKo*G6iYSngN~|P?pzVRQ%4&z`zp=$}^gbinFJG$XO;S?Ih2@z>@0l2= zNZkUG00#pTm}F<*V0p{Nz`ztC!oa{&3G%l>1tU+3j3xtv0Ea#U15Yc6$snKvYQVNB zX)-Xd2tAlOO{_Jx@1C!bG3|q@foiVIj~U%)r3Y2NI7E z$W&oq;F$mtj}ZV}0l_m7Bwiz62751=Un1}Z6tL4l z;ztBbLE$Qi7x^tK^89pY51YI zNP>ZZXE8`zf>9AP1j@4%G!`wxs0g~7g=Zy5MuAcB7)bjXP~@sGDuOQK;#nWc2)bum z5!CzV*$5g%Fk)2H06A+Ds0o?GSg!~gjpo@08h##@ z%X1UtE*1tR&}|Alx12Q@7=%lB?l5kdo|wN(hIb<<*dBwXfjI<3rg!BplT*ysWME*r z0*bqjpk$dp3Z6fpG^!?$1xf*bL2M0yCSC>x zo_`>=mcU;F1_qx0Ahr&ds~!Ub4+FSd)Z^*`aTviI1FkI~Co_RLMqIfZ3=BNXjQcei z7)-e8K>At1C9x?N8xLqK16-n5a~%Z@0`TyF%S9V5(4ImbUT~4=z!d|EG(ND53sP2eM+981hHy!OGPx)t$j>EQphgCd7}#+Y zT%cA4k2sj4Q^i#R3J(d!>DmkoHL^{hyeP>CTDfq5Nmg5dfq_Sg5j69Cnn|`~I)C9Z z>H3o(Ps@QlaEVD)O@o1fM;=@VUS^WbR%c+~Q3Ug@Fv)^COFUX&-c=^qEuiH|+F;%_ zCfP!eJ{_uiuB1IAOD3=FKGb`6gs<5keG4eL=Z z1_mByM$m*NrwUIBBc~1n16L&|AEkoX3|vm!3=BMJjG);~7Ou6RY@5yqnuQbrPw??% zfZd_Qz`+8#pPV%uJ8_6gUka37iH3^?{19K^f!*n8OYpyXLtGR>r{<0Lrd+!8Y=7*@E)QJuru#i*x#el4X)kpn(vcmyDo^ z3URJ4N(>A*cttxB)PdxCv0sFRzD?yHdf#*Hgx)!eM)2&OFDb~-@ zV_;xi3bNoI*a8_BMjjTX8bbyKF3?;y4=b1r8UEm5V`?%4jmjQnVPN24X9BglIk>by z_Hi(QN@pG}K~N>n$<$#88kGg7elGAz8yWCIBpz-sM-JQ?<>6tHX7puXPykPc^YDUK zBB^n)fJzxYrc_1-22HLakc;`j%T_G8PJ_Zk5p04LS2(DORR%BIvEkANr3w|MiPJU8 zmdQ(R1C@v-;MG3UxuihluqBu?gX`Axq_Smd^;ba#*@DI9aTn*BFz|SSt(XsAbKhk=176KtXbqwI1}_~wFnj*POPTljeLKxQ&HfofGy#^PWBU6}%&Ntgke-T>ua zCI(hsLk0$(d?wKC6r7_eRVU}QEVC@GLa(kGnjTjhMx0*6A z@LUJW%XldBurc$QF)(l^r=>ISurq_gf`MxtC`Nd|5)raDL5A}&gGMPjSY?es6}SL1 zsM24-D(l3;z%c!N#WJq?Do`pEX7=G?U|7Q{YY5_rFw2=SFl=CzHRfkv;E`ljF=JrZ z!YT`@Sa_tEL1RrRY_cms$wV4F0$sxDLgf(u+%WDM-!;%=6)reFWlJFoP=I04~`mP>k6zgK7c|Ub)1AOa>ko z<_>WNh8AAgUBdMY3_KppE@li2OL%2ZfbyyrGw4A4HN3J_pm_IT1~oZ1@XDS9@qC#< zWyA$u*&m?xnID*Ug;zETl+ygcyc@i-oS>p50PO5Lyt1XBnl+Fa)NH)VE87AJiy$!X z9C6dc3=9fzX~ug z@Dzf1ddjk(wQW2_V4l9R>2d4|fei$JAqDKn@mY@#gt5|l2= zz;YJKvY_Y;R5FKF>tVK5n`xkU<377r-2r+fr<(i2G$v%98$x)*NB0E33OX7uN7!Rfbd6N zmvd$e3<6D{AuLxAlR=~?FNJ~EZIKyhV*wk8x(74oJp&UrXx`F&tr-J@Z~~vafH?z$ zNCg9*0*JvNQpv!l2x8eQh*UA~DS?;{3~Z%L3=9h9&~>To3{0S_mid%lf{b{=r&fK-6Q85kHCR6(;IjGfH>)0fvS z(_ng&GW}xhGMW0jplcXGT@nV+q7DYeId&E>b8QjGW|o{GI2{M&=nwy!ATkvK$9657#Qc6TQM+bgM)D~Gsyj* zBi9-^9nP>=>yz+}b1F#UG@GD%j(R0am!=|Ah2 zsU`BJGB7YGJpo0C1UOwlLU4r@ECeOM9)hF`39x6P7-8u`3Kk)npu_6LQW+R}tU%rX zg&jQ9F4is+)l~uw0Wk)FZO8!!S)Vm5$b!H&R53Cz=oc_B1~EUIeyCxYsvc;C7Gnf6 zXv+li#O?K(pfiw_QW+TJtU*>pF;Co4&!7nkK9Fy`ri(T%Q)dNjM$ek=*tkrZ6?7X( z%k;#?Wuhh!KgtL(FfbaifFi94?1E++mUpe46@sSFI_)895OlVJr(Sx)C`S|$r-Mo%|rS|*zaazLdG*n!YQ?*mEn zdJPN=3}A;CFoDtq_}CWEbSmSVeKrgXh6N0aUZ8PX#vr41(2d$&AW_C(!<^JS21YN? zfCFO)0|(2I>Fb)7NhY({LbN0xYe_)Xk^t3W!U4J_z6n(QfqZTSn!cWM&W?e>6r8i0 zKnCn#WMD7@-<8w^*2ToYU^Z*IR`W7hQ5MjR=q=zR9A=(eQo+F3cF$~jO!G2j0bS7D zg`FV%iOdWPR)W*}o0loc->_w1u*}TLW?-BLT9kPN6yw&_3=E)^4-8*zr(bAZCe0`` z{Y~>S899ABnA)`1r*@lvrI;85l~Z`?f5Ts`pD}VCc64g>5vW zg9c*^^TgM+44M}h7#Jc`85lNzWuQe3Qwb=0Kom$YGBAL)`yYWSC}v>LvtWcp2A==} z1LJN`(16Mr#yQ>g3=B5loV*v5CK!V)OG+3R_c=2%Xfv3wFff>dgKa;wb z?feF^vz~>4!L)#Z@!L`f28Puv3=Ci=`~ZdY8Mq66`cL2Ax=bA$K0?!9w=R=0GjIUe z5yfZ>D!htRL50`E5C+W!V4D~iJi*eCpaVN$9asWXpo{9;T>vFIWzZ%7hB@HeVdeENpd89H(OnZ(5Z!c`zOikY6dR}%{_HUQ zV%stiaK;px{;F-6R0^o9)Nuqm6_Q1mCVDXF&4OhQyAn{61GS|X7}kJY0y^3qQn=0q zyW|in1A{WyC36`;bCQg~s;NZ`j0?dXcTlmQ!! z+6l?|j0OyPpuKwF%xxzKx>*Udyq1BX80>n`A@UH{-vhheiw)-bdyF7C#$e^V=_@*x z8LQ|z!$SNMSmiCa%1;QD|2vlH^18XeN@pIX2h%M(ml@W-kpk^TgKWr{7^Ml?>Nz=; zfnl{X#HFCREShOz6gW`?GiZX2YMr0Tz;G5>p1EiTD=1$TZD(cBtYTnb0EPS;s0wfu z&IGD`Vi*k>G}{;$816VRFmStoEii#aWeBLaGh)y@1C`f;$fHObGN|7GnLb^%YncXb zm@CZNc1#bZ2X!q|WqKnuy|QbW0^`Byv$~eaGTnEXzO!qYOypk|1_m{7*%HD8Dln#j zR-#x>Wnf?cUGyOB3X=^3%dP~;YJx7t00o4#E7+Y(pnL%jh)75!yDS;!RJg%h)(vh(?BQTw0JTfHnSPp2FYI2XDh18~{Y;=70Is7z^ID+Dx$HW9 zL-#UKh1IDH44^~YH5kG56)0mCvoL6a+LNF(CpG+zpWfTE%o5_TTvUhYIx{dZ zyMrC32yz(ce05}pF(4e~77B0|Vnu zaBzVxb6}hUI^i7BmfQ(;4`UD{m+oYOmg0dV6}n*2F3;sP{Ei2k_9bzVQl08)nQB% z<8?v9sEkcu?qyB}22IeZN}yUh(gPf*%*CKaRy0!)3xg);FdjEw28N>P0e#CvazLs; zN2P;8r}#TK>_Mu^7#J8pfxZl40Jwn|&1k@&IgNpVA=it6VL!UWHqcc@jtmT-p@K~(6Q(!>R&N1fY04_^#r>eVl`6{ z1B2!-XzMNkB7^KJP^G`hhk>C4BE?k9z@RC_2x(6CL&TVoyeGxT!0_K(gn?l(L=L20 zU4xMU)byR+zf7%O$_rLc-3HYNE4dgLjKJmaZAb*`f$m}gwJkJ3d#bmmGB5~uft||= zY6XC*UC=!_pmPY7u7lb@gVPIf11e@6dE_yq?VHv~_Y$j;V8d8NBGC!N%IboR^q>3;{ZDfL~h-VN> zAXNmcktsC&?gVIdHJZ*jahbFvsLAW*4f10&(?lNz%`9kSq)oS-xJ()xV4$PZK~V`# z@SwV)3zUPwt?oY{SN;V%_yveL2NYS5K==!Gur4A8XD;ezgcW8-7$EUd3Xy_o1yulGt@of>XF}wei>AZ0sy_o|C`faj zsc8C?Ny|j*Kl;GpEE=54K|8*{?JAJ#o}`+=P~v@_%D|vHopH)Cv3gKGvqMv?2|6qb6uzMl30U}o zR&_wa_cW-#e+=ws(3~RUoF8yU9|MQPZMd6{p}6@J*v)@HDHT*WJg-k>VAuz-1yU6= z7tLa20PUS*05v$T!=ylo7*tMzj*14k>>We`<}y&H7~-;ZpnGx8foma92a$1(r$4N1 zbPlB!ItQ+WI2eOLv%d@#(`BbFldA6oElfKO&Vi70GtVCu8OOmnP>L6pZjK`gB1n3l z;tvjTn3E96=93x&10!gY5(D^n5ym$02>Oc7#|41%miJz1FCdB`A4J14BR^DF#S?#vu^q zp%8E<*P54sK?k(tk}-@0G(N;U@lUPJUr^&8#=ldiGd+14v`$(+y=K}nS#Ur2WWevmeVMETxP4%k%f-OJcn9p1P2ke4f4al; zWp0ed)7z&n^Nao)2y3o=V*xehyg>_`L3dd~8goG~+3#T4EU+x-us+a8gC$({A6T{) zEDLI}g6^{lpKdT?nItQB8UsV?biWzPG*uuDngyyKD!~qF20JJ=7#1&;EDxs7p0P}d z4HR6Tf~NnUu}pIMl^M$fq{P!eoB6@P%v^MzkpXn183Ra_;q-qqmZ>s2Ojnt?OkK5K zo`HdJ8Q5%)GZ^QXhQQ2T1`c<|AZ4ZL1v8f^fUP(aJbl{CWg1}99|l8Bf6vGO&WRw? zxu)NkxlD!8Vfx>h%hbfe#X#q+f_L?Sda9ttGvl0|>6WvWS&15hhHiYpyWs*Y$;ZH!0Ka&0Z$O1`08QFmTWd#4;D%XJF6-oz4Ri zj+(AM2h=S{neI1dnS_`#D3R-c_eFt%!wfv8v2A+IoMlRkN2br8v&@s}z25X!bC!8S zLdO{F3sXqwn6Yh}?lpIr3}fH)^tsDqqt}GP0x6sg6iD+y7eQKs`m&%g##3$J1j)XD%SM7_kAh`87#J8p-43?t_vbE?WmK8|7eqNtm!7vwmN8+v<-BFG@^uj~ zTl2s=LHnf{G{1tD(WQaT)+wF0Oj8FD1IHquF<`>rv`(FYfw2|tdr02mo_=cHvL?oo z>Av%q$udrwo;`n=tODpzYDj-+JJ=G?ZYl;%(7jZkvgUH+^cC}$$%69<@#)s3R7A(__2hE2uUS@5JW?*2N=%Ql|ijXT% zuB*-w2?hqn8?3sZLs2Gr=)4D2qjy+iB|(baG%G;2X+|(GfX;@7H;llorx^?k44~v> zI{nFlWzMW1X3cb+h0C0{!43n*;C)2Ml1Q#iCi8kEEm|hS$T$7@qGhtSI54GH@a=On_A;kHOx0B+dXG6M78x z7--5A;<2Y-kAX&AKt6j4_8IfUZS^3p!FYS?bwG2HjL*PZznCWas1>D77h1YZv>r0L z=Ar}cUcY36bgwtngOhG>8UsU4JUA#o#=|@ZD%C*VZi7f6b&zZs7#Kj_UI>w4p18Lj zrYVtufni!S1H*HuRM8U_(BS&?WlNVCgZsYh)9)>Xjs&Ss|F?9RG$ZeHsb$NgL}C&d z7*xs`7`ef{PbUcm2JJ)BJ(exAW;CAOvTT{1{Hp|5GLz*1B{R_Wcm`|G?J1x#f@Au_ zWy@q4)u#Vn22D>v(`A=0Q+EU>beFTB@;-wd)PDn|DFbi;$CwNY{0w$bnwl@kz@RG# zDh#sNqs$l>o=7q<=vYs0UB1j-6tn_@v6CINrjB{yo_YsR^F4g}&E?CKM7DvNk}JVd zOcQ+^4uE>7)A?5{lT-s8ps5ZzNh~W38obNEAvMv50Wx3&DmBWd`>j|e%?cV)nK?ag z#WGo`vNQ&UwMk$dOvS1Unwbm?44{N^DQWuB70cw=KUJu3RP$&Bp3IhY%e=sms2c4((O_70t6XeohU;tt6g^Zq) zbr~2YPk*+0nYmzxC<6lsbG~NubeCpeaG$QXW|_R6w;BTj2n$7ee&A`smCx7RGQ_nR)1lN~+%!-Y7J?F)V{vz42! zv@J(^`X|Zd71Isn7E4awYgHyPeSK@T%=BKl#gg0aOD(_3G<}WIVvX%@WS5tzPnWM` zRovd-y1Xg4UW%Q8ff0I6HfW(OjO~de9)`qDL1I@Tu|d1lVR|Pai7!WDZ$V-ogs?$7 z;}{suK{()qb{mQP0*U<%iOs};aI`oQTLp=2h{U!-VtXU8BRD_@!9#tYiX>5l#I8qT z_aL!nBC(etu{R^J4ggQtHiLH*rHbG)LBC-9D*fB`# z!s+juLdENQkc1W@vDYE7cO$V+AhE9@u^%C^c|my;=3FGUIuhFy!iL1OBZLEvXPUqVlP2rZ$M&$b{xSn*a;-@D@g2zNbI*rY%U(qk^fNN zi18pYj}j7F4~gxJ#0JkBLiNTXiDx0P%aPbENbE@n_Vk^1!+7hrAOsi=BC*dQu|Weg zFrU6a690s6-eymNbD0x>`zGSe@JXD&=58#v_SqB zgK-!b7_^bt7D#MYBz6!IJ06Lhi^Oh1V)rAl=OD3H@*^d}?MM=5kk~ho*w2vIpOM%M zpm}hRZ$RZG5?cz14O-FzOG73I@p=X)1cxCUiJgMPE<|G2BeAC-u@@q-*CDZYBe72+ zv9E&Jpzvp4V0Z=QfYTqtcO*8eAR_Likl1!e>|i8z0unnHiCvAvo`A%jTaUz9g~Z;D z#6F6|zJP_o#O4CE0HM(#hQwAvV(UTKVEO7?!{} z3=E*HJ1__BLlQrY#J+*Veul*601bUWgI#nw|C2CrUVS7X+v)jF!o=(2k%V%P*i}gE zl}PMuNbDm>?3+mJ&q!?0`bwA&_&}#lLtSJ5VT0qF!4|>+#W#aD5<3BjorA;%op=p1 zv;|3g0up;J5_=O8dp{EUvM5q{3)pv}H8XB|QkKaa!) zEhdGjd5I+c4Z;QmD+2>FX!Q-$jRHt)StPa=65AY!?SjM(LSpA3v8#~Svyj-!B$1NU zCM1a)NbL7W?5{}d-$-mm&{!nY1MEm_UL>|K5?d0+2Kiqe#sMu7MPh3su?>;f;DJx5 zWwuD-;1O!5xF?dhKN33>i5(+_RE-xSNmL@S>yg;4NbGJT_9P_sN+kArB=%M$_HG2b zp5Y*Z!*CpleHMv*8Hs%piG3f5{S=A)8j1Z8i4EGN3`>k$py{Vz=;fCJU=FxgV-Q1P z%OJ6pkk}eXZ1d^$u}tFi0Z2m0NbE`^b_)`_ABjC1iM;`dy%&jn3Wq*dzat*xWLR5=sJzt%}4pLSow^v3-!(kx1+`BzCb3QbuY(lITTZ&q87^M`CY5 zVjo0epF?8bMqkCT)=1AhMNbF!Fb|MlxABkOy z#O{_w%1ASjBtY9OVU}%05>uVAnIKA~+1jNNh(W zwm%X(7KxpW#I8hQwtULgt}S?iLHRd z){Jr9Y!8Hv3g%%1i>OuQcIM1IhMc_>>Hi7k!9 zRzzZ}Be8Xn*v3d~D_IV`+22q$nw~-{CPuE|+T)AEYG(7=wBm)D3H4@t$i5-l@jz?nW zAhFAl*iA_6UL^JmB=%Ye8#IH&z_1I#0cY^z)8#X|#HV{@Wb)MiMG^-q`z#XsHWK?K z68k$6n^hIz8DS*0qAF6l)kl&5ZGeV_gg26SBoaFvi4D4#0H(efNgQ-UKTLc+lK5H} z8|44pFb)F)!$~CebtE=uGcU{_CD4i?XnN8^Vh16yeGZ9z8;Sh_iTxFc%>TK2IiUP^4vBpm ziTwhJ{S}GL1X>0U^(8+N+Y*WGgT#(NVy9|?ZXtzgu0WD#L1IrpV$VThuRvmNMPeU7 zVuSXx!h-q%lK2}qyPkpJ2b{yez@mjHCV*B=H@I z%>r8c3ym5JwuV%H(DyOG#4bdk#crAQKok=Rd>*q@Nt|B=`{pe0*S zhe{%`)sWZ@NNisO+lwIz!C?TM0tyZm1_p)_B=JThc0Uq(2@-qbbpHQg;`OJIgh1D* z!Hj!~B>oAB{U3?VqmM{Fl1OYdB(^aU+X0E~3t>-94HvA>fUv>Ixde#~x>g0|p6N*9 zOOV(bk=Xl?*r$=$H;~v*k=UOgY*3nFVE7N=fE@ukCJ$z@qyfT{YDjEjB(?(*+ZTx) zg~U!rVwWJX8$lXeu>2XhQwwDt>=cOJOLORm zHjgnP4M`!fHNb38_=DDofjQvx$KZm*25%jP`Z57YJP(OogT(GaV$VQggO1*ZIcN)# z_@R0v&IKg)JtX!UBsK?VD;d;5Vn}QiB(@O}+X0CUI-V8gh#06i*#B8j4#@u%NNn)F zHK=8vW13-_7a^(HfW!tJKMqrK21)!D68i-b`n`6{RxT9 z09uv^_1JVI_F@nl)}{ilU4$yS50Zeg70nT;*8_gBM6MXy*?D14AfC0;(tn#D+Sq0mO!?nFC@&)hq_Fxgm~N z4l)PI-UJedsyPW_L(RDhVnfyZwE*?0p&ThogwIq#Y+i_=nwAU02eCn$A{ZDLoUIrbgrRIdkT_ILsuigG2f2cQfuRy40aetC#9j$vLp5vwu|b=i z7#J9~fDDDQ_k+ZtYEFUJP%~eH*ii9bNNg@^1_nlm-g*Xk1c$*JiJgtaZbf4EgV<0* zr-9hQkZ77^&A6)Y^Yvy5F09P17Zg=Fih7wyqq%w zD(DRr1O;Izhz%8w0;3mR1N5?jSnDksG4seHdM_osG5bKMLu>642)1U!XP$Ojkp~+ zjOrOKff`yM38*3i5F4r}9En|q#GZh}-iX9Lio`w-Vnh9X6~qQ@W?*1oxCyct%6?)8 zDsrHTet{H09l>jlh*@b68>+z)i5-r_EjAN$nx})m3=E7=ab+a7GZH%)iCu%lZUeEQ4(bK5 zL1z>&FfdH4cVb`=hH~bBB%q3xgV<1)t^u*3;=7R87eQ>On!6x2RLv6*8?=uIG&=_} zAIkm=5{Ih!2V(m(K&pIZXGCfjL}F`z*iZ}fKy0XHQxF?;7y|pdh9SahNs>uMc!H%nEU?_)k7#LcS*j*qtRKrXp_6iU?5Rz8*fY@Mz7#I$L z*ig%kK`jnrU|_ff5{IgJ0AfScJOQbxmuFxA-OK(1Bmq_Q55$HlVseG}0JKA1%oS0T z%7EBVH8x1>a1a~n=r|A?v|E{hfguTG4wRh>5{Ig(uK;nN7Pld>XMxyIMJtimJ3(xy zL06F2?~&NjZVU{JP&L*_>`)|jK7o5K^&-M4Inn?fD;A=h88yl24N_>A0!S{ zGYiCqI(j~c4HZ9y#J-8dehFej&0%q8U|@u@<=sK$Ka}H*B$188Zbf4EgV<2Zrh(YX zkaRH1oq<6Z%3cZ*hpO3(#6AdOL)F{|u|aA;{(lDIs6q^S1u_WA{s$6=`jXiLkwv9J zY^b;bhz&A`fq_9EiERa9L)F-W*ibX0kl4i@pzq(N+`W+f0CbdEOYWHB$$jWHl=85j&f z;!rgp>hnh@q7r3!v;4kT_IPKZp&rUHq^}LNNizm1_nkwX!&mp<$#>wj>Jw!VmBbMyFhHHWfMVc zeUMHDhN<2R48ld>7??0w##@*k?`B$C8A5F2XHOC6*wB!;2x8Ym6+HrRpccOXv7zFhKy0YypCC49cP(f! zD#!vTo5L4THVA{*PzxkLY^Yu}5F4uA9K?p&Rc{O8KqcHkY^Vl55F51H6;zG-GB5~3 z*|8vTsG1BA8){iDhz%952C<>)dq8ZcWs^W`sQ4TZI~dabU|0;|7()`#a*$kHq^31AU0I|0uuW+hz(Wq0K|rx^Ad^8k{1C{?!jvA7LJrX+r#D@AH z48(@2PXMu@jz|ZwL8oUhFfe5MF)#>2*<~PcsG3F)8|t_=5E~>8Du1THI1CI7^FeH= zq9q_U)S&%H>>EhzmmoIOaqmHFsQRBEHpl`{p!zc~FoL!OgYHH5XJ8P9viU*nKiJ@z zEJzVlgEoi_RpbR?L&XC@Y|ue3pphYvK~Q!ANF1sr8^nfspa8^%ir0bIQ1$&FHpJ2O z3{ycIsKk5_8>(R$h;0sXJ_ExlkY!NzR**PU&0!?=MGzaR<}(tTJ%E9M5h^Z)#5Mr2 zVeNl&5C?R|5oo1N00VtnEaUeF-&{Pl`bYKtz14Cvo1A{P>T>=t^s%b)E z&jPWb7S9Ke?wyb2C<=f*}@Ugp^U`V2nV(Qp^7{}5>R#lhz+%@6vT$ceJ6+w z74HYJp+1`&4)Ga?yBs7ARkIev1_^>Z162b$xa25E9HOS4;WUT?RdgPz2z2nxV~{vR z5yMLm8>;3lR1N6(8^#EP&)7k1s2c7Fh=V`_kn$jLs5z=2HdGDh99dz9dIpAFpjDqB z38*4x5F4t<9cs`;1_p*`kT_ILB8UxDlL}Sy4>WKO5{Ig(2eF}Q)*`WwgV@lJz64eT zI;WF?f#Dj+ASnA4ND!aX9W5ROYX3twWJpIbFbG50`XEJ63+#~CzDVpG5F2VxIfxBaKLf;uiZ4fE zZ$n}qg|q7!7_NXgP>bIovCX0x7#N}AwMgvgAU4#3MIbillsEK@w0!TS087qMcAhpwjRxNF1u>GKdXTa~-M%biCGUkT_J$M-UsT<||Z9 z3+STeScE6}L2MUj`7ay`anW1`1_pJI1k@m15F2WcAyf_M2qjmLI8=={hz(Wa4^;y? zNGTa44poy0VnfwTM`ACG1(pBMAYB2HaD}AaH6Vka?Cl_NsG6fl>l68i-bnu^W-t(?D#f z`n@1FRQ(|k8!CPg#D?aMry#aJDEt{17+!-oP)EFnItbJOVopS)SWXZds)jca;^-s> z1_nitIMgzA5F4r{7>OMVVnZE~0b+YX(pgSD$RH@E93%l%)C6Kf4Q&Upq2iN3Y^eBj z5F0AK9ErUhiG2yghN`~~VnfwG2eAVgKpSWo7(ReFP>J6lw*T}s_m|7n%O)`}FhYaN z5X6QWWDa6O9qoX`jzD5pAhBm5vDYE7kAc`8kdU|xVnfY*4Ptvh%Z48y4pf3E8IgK< zL2OWs1sc9fW?&G8vSmQxP|v7?*f2*Uv28$Xs2X<=8>+?!#DzQhC1{(68kn1`!k3Q3KdY={14(lHHf7!Fff877#J9o zL2RhFE{F}a*aXD(h6Jfa3IhXZoDalv28lz}_<`6^2L*%JQ1vMwHl$n5kd*=|8=w*; zAPK1E9whb_B=!*`_5~#NBP8})B=$!n_D>}CUj)0JfeCcvEYxB)BsL!sTL_6Qj>MKm zVk;xD)sfixNNi&ywiTES9W<~5b3lQ}z~F|&_CjL&Be8?0?|%f^W{o72iNr2IVwWJX zYmnFtNbC+Ib`KJJ3KDw;5_Xet^V&fy91;#QuWB{(;11NCRhbQ0ix3V1aPJuHZpp3m~y2kk~Rv zY!xK71`^u+ z8OC8?U}#U99uT@oZ2G>YDx2lMo-WU4T46r@Psj>CrY+{veL`3GF&!|UJ_kgfF`xbh zL_aZ~ZWFe`kI`a!ci0Ml#(?R!!&dk+&9IoR6TZTa>4(Min(!5Vj6Ty(hp+HwteGwy zvBIBejpg*5h!uWJUo5BZiCE#s7&4tZa)m$B9INRukszzArmu-y;m0U4{deRFf5wdI z-cc+38B3vUxTQE>DJLJ{28ZA?~Y#K&-BG+`km+%evB>CwPRNJGp(?lUK6vz zkLir<^fMs(gY9&g*cE<^0n@W%SNJpbOy3;~a--dJp12i$OndC6$AIWJcGK6yt?*-X znEpF%g+F7;bno~T{!9z(r_YIB;m35xe)^mE6@H8i)2$O$_%j+z?*>sJ({F>Q3DdO` zSNJpCaF||`xWbR=kHhpciQq7iP6AovI6Wr`WRc_aJxSoe;7$gGg46Vv^j4^q8IuqC}=|22n24nbTJIGyQOx9+I|V9@84v z>0i=T_%SL>cTNXc=ph@AN;3>WP|;&ID3UZqs;Wr zAki&B(_L~vz6_c^C1-^nqs#QiIp9z=&RyZpSTMag7i3b%^eee5{1|zrE9b57XAGHM zoVUWC=|Jf8BY7+Q7&E2|=YtJQ22oR{Z_Z!g&vYStI!nO{KSqz~!38V)8C#|=22nlJ zKZ7Wl>CS~K${7=;?=D>7&uB57yJ&?!(}S4lF-2fYRu_SF{031O)4hvVlrzdqKU@s< znQ#dx8k47|lz;*`dHR-;6x@?6y-V#UbaG+DfajDg4x_+LYn*x4AAwGU@K<) zp6)PTRBZaMvK0ba7k)D^RDcgF2g|{oWya6I0CFv~@6XU9Io+gug_@biUj~LP&~;}Z z9WbrVXzCA0GlA8CuKT&iFx?=JTZ-+E5F&T{M=Qjpi&d=PXE!u6GBq|cnZ9AJs>F7eiWQ7mP$ARl1)mMXw%HhDHX{8$^WFr|)iFd6_MVlYt?Rb9!P7qww_m z{azj0^;=h_u`woWpVqxngRg$2Kg7=r3@nVsx(p0Fpd-%%4Hy`p3#UN-Wnkj8WME(t z1Wj!*GqQoMC}RR09m*sG8XI6{v0~50z0|S#3sG?9}W?^r&WME+CV7+V#qS!%e>zSs>GB7ZUfSNQ+ zuG8aZtyJJ~P-S3X)&;G&VA?Xhd)7(?aW)AC1{O8YO)N~egculDG`2D@Ffe&eKQwEl zq11iQC9)?$*Y2>e#fUL5u$%(1+1PybrYFualM$K}Sv02y}85tN@RSK9H7&zDtsW33G zs(uGuAjwvz$iTp=24V}aaf&f8u&RTSod}yGXs->c28biU1{#WI)dbxsD#KPWU3TtD ziTVTT3=FK=ADI{!1bdhn7=%EQ3{0TYJ=vVWH>2z|XJBB<1~aQQKn?>jMOZ+w#a45M znSntx2y}UX=q=E8TTwq#1_mYurU|SJ3~Y@^DqH@5RDyPcFo<3Sorxg&*_eTWNwmHK z6x$3;pT!v%*t$R(m<(hX7}z$0nI={Y3~W2V%~H5nM#u7h00$Tn4ifr0G?I|~B?6C3F8KDL`6ZOm--$_xx_w`5ru zSQuE?=1w=Cw^H8DU!8%0?f!JI8C_Bg3~UdCKqtVnEdiPL5OlaM6C0;B0|VP55Sy6| zbS44YW02V_3{3l{Pnow;UE~PpBI}p;Sr`~tJJ{YtfI?yN^z-vpD)U;JF)*-wT*Jh` zpvbm+`u}+=B}6`hJo=rTm4Sg(gYDNGh+^&eE0y^{J095nffX|_eHNP@JAb905jV&$ zoQxpFM$dR!Rl= zDKRjxcYwUl%EI2YjE#YTZLt9Z1A8|(#@YUWZpiKdv6&c{d=(iO*n3;q7#JWC%|87U z8v}#rM$p;Lq9;HR&A{|ZWP104mGVqKji#?zuu`%fwB3$<6(}7uX>c$wudZ3IkI2xJ=r6E`~p1N(j>b_NDXaB^cm zz}U^fz#s}byNp4U4Rn5#sE`CG6@3?Gh+tqA1>McXB03jzzqF{T5d#C8Xs;>*1H0%u zCI$u$(P}dW22RmBLk0#e(F|h-25!+fEd~Z2(evsI47{SCV=MSX^EDY5_(el`7#IXZ zgJc;P1Vsa6ywMc06im=&F+#K52~dQgyo zK|{3Kgn>a*)IyqpK}$5wf`LI>w9TA>K}U3-76XH>Xmq^-1A`s|FB^Lh(|QgD2EOkg ze+4s%fJzX)gDeaT>>*$dGXvK{2?hrCP$p1FiLtRqFx}-~U=WX2V_;y9WCC59D1MTg zfq^{=Yz_lg5vXE}X4=icz`)DR9>)Ya%ardmF9QR6Jox5f20k7k1_t)}1Tc@0Pg4!@_6A$H2gz0=Ao#foq!p0|R>o(@PEp2Cg0Y z3=HhWU}d}t?3GN$Tnr3+nN|!8>{Z}fni=@KO&A#1tHEw%f_SussUGB04!$x`1_t(8 zux4&PE0DMAz#JYvVNmj|2XlD&1T`5L*c+JMFfcIi@%>O|U|??q+atgy0=l2N3G8AC zzH)5_2KE-F9ZU=il6-Sj7#P@F!3Ie28Gszz2Ifff{o`a{sAq3y^5tY;kl{0s17#zy zlq?^YAOiz?CzvD0_e`9DfxQdNk!Rol6}Zk^3=G^EpwqY+xO_k%(!&(V$-uyy!9Iy; zImq8fjTso&Co_T6G4O#-zGR;YcAEm904TT41c!(cUnyff0|Wakrg%061{J=I8Vn5V zv%&VH@_|mCWS;}(q%m-TX0+JnGx>8dFz_<5FJ`(9vgEY_0|WaKrVvo(S3=Hg>z)BeSzJV^N-NIB4DmNJUKv#LPZv{&+ z@il`2b{m+(%)k`|N*Fts9&<4;a9spxI>uzl&A=e&$<4qZ1SS@N+DSYtAkXr0u)k+& z09p1xl7WH!1K1D-zTG?w4D27l97aeo_ykD?4E0^@+VxEQ!V2W7GQF^lprFz_<7M>0={X;5v;$R{Vyz`zcz@<@1A82EJV-YWdm{5Kxb7sVZm`djq3$>d zy4@UdK{N*+IM`FcA;`(VB?roWY0RLDgv2D+GnjRF85qPtZ3XsBuu0-9^`P=53mmxO zA)uJf276n)6%-aZV26t@0a=g>b_N5N3@BygF+byBVBjhPIlGwIg_nUr(4UuqK?p=J z@UVca;i>`oVh7kITy3C4e;OQAT%eQ2*grEjGBYsnu;kZ++FIv9&g5bNB}HBVc3zgp zybKI{pko@@`B*^Nje+kjD0TCLIV^m_piC^l0;g+w8W{Ngf(lr9Fo%h+0F=2D zSU?3U3*Sjls!;?R#l@EbDo~Wb9Bw`vP&g@rIXrxvpukiCb9foJK>25ttf z%b;jBW4Xx3z#t~TZoy*9&%hx52$X0o!5$I!26@~HYy|_CI;h09W|8J+VBq=;ss|ic zLirgO1XKAL7=-FUDFeh}-~k)MrJ%&Xz;4D`&d`O^beu2dGZ2BjDW*3}?! zknl;6u&_9&QO3Zv7gPv)uwI2p{s2kJm@sgGF0x|}WMvUxU=WlPU|9yp zBG|XGPKKMb4Qdj&S+SiJ6w_>cVxaPU2WvbVLp=j0Unj`hJHdAf`S5XoO6^@>CkF6! zfU@^)uqAGKIv=Dvfc+$^ln^XTP9f_)4b~0SdNvA=I*GFW{pO7_whG^z{tpF;0zJQ(Q#lR)X z#lXP+m6c1Ffq|Eu{Re9W+^C;Wqke)a-(TRw!N$M^I)#k=H*1J61A|xu`(IWz5e5cv zP*;ZiA2^GMuLULd|KMaT?gwgmFtC9Vruc49+lY}36t(r@$3Y2>i4BxW#5+K3S!Om+ zP>W9mg)R#lC>X`fKx$aoKmjBE2$a;>*g*ai2fK%z4dhS;E+tSqk%O&8n1O-oJV*mC zo16$V#~X<-FbFw=$_5aNfrka;R<3w{25km*0X7%VeG`!&CE$_+R741Y2nMdHpo&j| zEfu7oe!BI#m6G+hKtl3t-5{Z9AU)v7<=PGEaG8QHCgK9!nZWJ@Vb1}zM7_XlUN-hv zHX%_4XmJt81}ZKXAjL&ISOp`bxJY1IC&IwM#0TouvL}LNnE62cTJ|Ki`b8q3#t!K0 z81`f~5Qmk4D-_hgNnzV1!oa}G%AUcN391EFZ>t^5s^?KQ}z#K+CP`8&o8+>mR z6CbGG%bo+~F!O;rzU;Ydke)BsY*4wG$0jGrz`!fRUc`1ll!2k1Kc^&{fxVawl#m(t zszI?-!nT5ufkA*TA5;#MvVp2)35bnlU>l|Qu7Vo=bzsdR4E0>{pr&0t+Zm8<5%wlFcQFPAh@+ap8W{Lf zGRqj)TfpuRfLPrM)-41vstwE$X5hLCinDg`m;^`W?-KLR>Hui&k5=fuoW62GL{S%5J6r0|TSzCk0Sl7d4%C^Gb>OMIh&Y0VifIRZv0w56tG}V&`JtEXlyY zpPN|0z|PGM%FPV?xtVzk>^xu&6Q2htrSXC}EPQsL2<8KG*dW6T{OmE33=A9$T-l%w zoB(@?0|Q43ScZi!nv;QnqZQ0yGV_@JDU8@ZmZPU>QjkZnaU|uM9NqBFD(V#K2I` zw_tkW_LXW0Ye4Q+0xP)BrwQ`1GMMw8PYpB(ssiTxmt_GB%c+7n{EV`DK>kx>{KLY) zAkQePt;xW^r4HuBGs=QSnz=NBB(TP5&~t| zQ=*^@a)S+&LB5$YFx0b(c7Y}z7?@syvSu;p?lo2&?$Qqm3=C}dgc%sP%Rt2<1KTAd z1_thOP!Yqzrl-xoz+C}S!ohZchk=2+5+tqxDYzIEp+lW=3`}X<3=G^=+Z7lXSU+(0 zbbw}Srh(M=Ld;w#${@zT-3Q_@u?eX%FmU&SiZm9su<5+JS6bKenKCeNPX$SfuqUP! zFmO);9V;NlUJPPS=aFJy5NF%2&cMJu17x%W8|bDp?wNf`3=A@C?vBinOn1_thZAipxPJr!hN;NA~nbFeXLFfec*0I~Vl)`Akt zK@eMntq7D@4uSk6#ijzX_b@0zW!UzE#*L1E>{4KR3JRyAeaZ|BD(nRe+{Zxkp&D%U zjA{%F+{Zydqr(;j3gQz}lo=R&7&13mfPxFYb#VHX8$zoeTp5_vNL^3=B-AtPBj? z^^ZV4X7U7u<4Z8J1mxcjASTybP}<=Kmj%2$+_H?ILy!5wL2)k!W;5^^C^Il{%QJ$q z1`FQ-Nd^XP1#sTy-~*kN#jObDa5C_K2iLd?Knj!?#Z*9pJKQRaOH>%@8TcwdW~hQo z00zDiP%>5na~Qz`bKL6S3WtdgbbBMW2G~Fj2CfO9%YZc*(^ME3xcbBx7`P353D34lz9nZigz|X+IZOaHsMJ#-0K(XimR`sQx&kz(;j*K~K3=BW`@p@=dVg$8kTo`4)gJRtq zT)=rS%5s3r_W|>K7-ipsg4CC>NR5FZfKiqUba)iEKiKIZjI!LIq!Ykcp~k=v!6*y5 zABsDW@ue~YLky#A4=C>jGX_gDFeEU_&I84D2;+Zc28I+y*+n4h!x?8OGcaT@%6c&| zFmOkLgK!6Nnp7PjIz?8G?mH-y72NMqwFM0a83ms zuC2o)yBU<~GZ{}xF)-*c$*uv}ki`f(eAxh0yz6q;gVHz~JBS2bjKRYKnk?m5qQbxc zQUq=sf|8FcsOiB6DqXS}_oy&1Fr~>cF!1QCR%2k`IKsrhup5+%KyyzH4DvpVJiaWT zx%&=j1_mBKP{L`2fuL;6#@4OJz`zp(8V}@Q zD`jM0;0d;2VqoA`urXj@;0Xn3;9yi(%E7?E69(dNF)FM9)k)zX4iBTkPD=&`o(Pud z1_xIvFjhHP63=BLILE<%RX`rs&WRQ3R+e<432A(M(@da!bg&7!lrh&wlu&n|G?DQNphUte7 ztrV>XDR{y5SDS%>XC7$2>mVKGQtf>8l96v(p_ z6m2q$3fGhw7^gD-F%G8&Dg7`6L-jst4R6_DR0ohvsu0DC5gV==(Obb9^`SOt_ z0|V0=P%`-lNm^S6R2+C+&;PS?r?=mPDc)(?*4PPE;1bMWC57Z#x zf%GLR_&_ZZ9&xZstN7SKVIaZCrNh8bBl{jSzb45Dn)W}yBpU!)5Fy0~nl?VoB>PQe zdiT+lQuRAQ{*(iI;1ZMUPmmgUa0z*tN%k=)svwox6((6wABsl{EO(VjHcW$ofkzw6 zyT&A|3`)d0U{kJxQUxdpaHwlBFi7cui$~D9GcI3{A_GQSP@m!;sJ3@xjI0-7VBl&2 zMV2!oXgZKrg(rovMu&lc?++*wrGnWEe2k!APGba33bOEl7CrH#GlFLCM8NZ6JQ-kj zC^7J`c!H*%j)44~$!Mp;z`$$5lgs!SWZo`N%;zySfe!fKTMJ4)C5)eSbU>5tF`xpd z6s$~x5A4k{aB%AIfy>l#Fh`GX*YxwpR!TeN@-i@ReF5dJYQ{d06)`+@j1zSk82B!O z@?Sle&A@j9R8X`sPS*tu)}98HENx)-Tkus**EzmYvR+XZv;q$tW&wOzpklU*5j67_ z$Tu4_XWb3v1o8EOLam1pG-6hk;?aE;N`K7`VDX zV?vV{S#=p0cpZ4wGpd5Rtusk=x`Iv*R859|J!RGSu%>|X~_rM%}zT?xQPp*`70*##V zykrCow~O;xgM#7}I0Pj4KphO8*NnW33=9q6;d7oh-~`jecT$0Yf#*Hgx)wgY>Dx}O zRIKL(b&1_I7#Mi|fh~}6VdP<90-Ybsw*r(5S;1_`CCQuui zgHH!kmT)kEidG&zWl)XG$@JS0G`0v%tz6)BB{F>AYM&d-kpnj^d3czrKx<7D!0T>! zc)@Fm)c9&aIgyX)2qOc7Cf{w4i}}HeG%Wc{L5&VYunAUt8$cDPGI*7W4c}pq`&F1g z&5l|=UQljR1?!p0w;seX26LwIfzDayF##`nna*bhst_zWz`PlJbEn@uwNkC#9%O|r zSZp4Dajppik0)5~eDI7Sj~5fDURnU2c;xYB0@X_k`9POw^Z0=EEaLkBYR~wBIg9z8 zg9_Flu!EQIZ3UGd!C=#tfmZ|Zgn(BAE$3?oxjq!6r=DR2ADaLJ15Xr)$FP!58dLzs zGCk90U|7YUl#|N9lfVQ@Kx<^PKp7>G3Dga-V3ZBjXJFvT1RL(aD0>GK3AtdNBcm)c zsPU7>1gf)~K=mdl5Am?5fkr1mamEd5XoA{qOblFJil7=Np9yrdH*Y9U6;r+u0|R(& zmZyek0chnVpAjf4)PYTNH#~4SBGac6R4lh7X*r!HDERaUp=U)xRwbt$ScPOy4{3l9XQmWrQa5&Y9j^)ExzTT z{Ja%xw>AR@NHysAXlT{XH4W7C*v8au#K6GI!LyS|$QabUS;ED@z_Sa)VPN2U3To-@ z2D=0_!>}JT4D1Lh&-O6A1G$tN6i3&=@-iOEJZ#L3W(*Ac$!X~fJnYP%uwdZZ0g4eG zutbFHNs!@u%%EY44p!OgpfXbcyrN_Ut1Kfc1H<&Jvn#pkFN2b*F!Ky<28K1PvRxpa z2=hcU28Io+veuxHbV+8=slr=WWu5pK7#-jr^)PhU)B*+R~X3$W!6_;!sC@C9)ReEvB{sPGvfq6b$vQD59 z$$}YFn+9;nZUe=<9W$uV*Wi^)EXZWwabf0>WMF9Fm8}&4HEunax0^9AEa8Kl!^B(fbz68}}kzhj~@yddeHe~tJV_sQs+KyuerR^uYvIjs-sd#1;V+MvVyt3Cp zsWJhq?<=qDM^Mq2$P8*+e&dz>Z^^(=&yxi9;U8YvS1Jq)Jjvidl;M-z461}uz#8TF zWY>cl9qG)M%@`OI_+b_G#D5_=^mV8nHhLkEO;3hI6!$Al;WYH91_M144~8k<})#H z95-WN0AVm6RDk^eORDl6>bMl-8<_ru;hgq)d%7)0o@+z3g)i^@dZIMBW_^+IS{`Vbg;KOm@fue z@~Aiow1}h_ZoLQt0|Vn6H@H>BV5{6185ru7RX|rIm$HCXpn$sD42t}q%WAvedO>?w z80Qqi^>%^v&H!7Z1G->o8k$njq23TrP6I3530C?Fv;zM6DW#6@!$it7Bowt6wC#ZnXYkprJx{4zXme{gK`}=0|VnDrpoDFmsiS3cUUqo zsAOhkGcdkk0&N~y0Gb9;0|n;B=?|~1l#eX~t=5-dhM5jJVuo>!x)lQh#B>R8w%X4O zi(v_7kVOyR7D<71^0P27s1z_TN`n`I>aj2|K&|+Hd8M2a_zdqqXdXBSx8e`DnhIcn zS@DMnWJMth%rF0#DyPR^St-XjcY58Gm6D7Qhl}}w?m1lmHx=S=o9Sn-td!OP8KB7u zGhh)|5omQk$c>AcK%Y5rJ$lM{t520a|heiF9tJ%ISR9R?0E@OxL}(Qj%*U$YjPS zCJu$^3$Lsc7X{sq`i>D6(-1FmO|QAOQW~6k%-LZ9_JOf-`ig5S<)ok4z+C;45tMq? zgK`qY)sWO<49aM&a2MNxgRRvT=3>ao@N?`i7q^04{2p#mJ6NXx2PD`!z`>@^ff6%f zD?qvKGThma(j*Z>*GJ+&G=*=1Ms+DNxzB4;&Vtc%KC}&VIVX&6U!DAe~#d zU=BP0R&+*~Qaw%3n=;f?+DQ#V)2u!7ip(_i0QDa#5?0)Ip)Uzoip)wfL1v6 z4B922QrQ*k3XoF|gPm$HJ^B_jEcbK6oa)Y0IlcYXN;$Wq4zREc11J4d9?-qd-3$y2 znhXpKZ{V_#VA&QP1_rGe3=9nCLH28cODaDG2BGP%Z>>}`yah?p%*Bs{)ET3hi{A;U zGsZBQF)%2CZy{BKJFE-ruwRbTZEvrX0w?byJTRAOFjY>^xV=(WVXGs|Wu{=eZ9q2} zXlj7YYw}}YxZ^l|;*FIu3Ywrp1)uscFnn-iU{Gg_Vw&i~panXA2^>PY0n`iqu+F&J1Z3!)2HX&St+dn zieScINDhtzD}BJrz@YpCbU#--co2h=kAXoWar%ZkD@EO(I)UB5_L(t=DAS z1A`{$u#R7j3=BUZvP{LQ44R;mi2nL9Fz`Bqbubk%Fld5;l*6BaL1#M8-IY?T!u|{l z-qW@3u9T{m_lKw|W>9C0W^`9)jA5D>&%j^+zO}6xRQ)l4PAO!ZbJLlDLGKLcx~*o$ zNKlCqqztaXTES`D0qj(e)7!v#fN5epI6Of%9R@ojn$ZnvxEd&2A@)X3KXP}a45Q=p zhj&+6@Pd{gFinh510AL&KV9wKN+q^37X}8UL(~24t&|h~2)cSI6;zKgsDoqqtjqNJ zdn-ewy<8a>^uUg(0M}BCK^mYX3yf9FvD4q*TPao#nlWaq0k^#w!<0d@$&9t&245#= zXA!8F)`kW{5jYqO)EQ%#xh^mSs$T(*%+_Fhf%fM;X#Giqo-4z^` zjOL)|DNVKt;!uI!KruWd<$zU<}a!bpsfWfm`Lw6VKHt$ARMfIJn<) zil2c&6V$W>h1#6y)elxmOZoUSFl>N2s+5626Lek?sC>ELHhsf`l~Q^U{tOJD^Qb}j zs1zK?h76jZ1B*c6`4_6Oh=IZQF9QRE)bt+@R?28V@|h#3L}P+C)IjGMG0tgphn2BR zEcw%I9=^`rw17inRmzWSN6gpV*r%!&o(uV21=k$w@S4uFZOn>!wrKaps zF9rsPj`?66>)|@)v*u4Xc(T%>zQYSvJg;E|wLYRjx1Xqiwp4?TRs}^vF(^|oO^gDU zD3J^dx?-S9DR+ZcQG=o+4O~7%d&3;F8|;ZnVFm^b1yJPe1uqn5n&<<%C7q$hpMl|r z7c559y%?iGMLoFu>hNb^5cP&gP4rP`jAjLAD+bW290ri25mXXfaIi9i?=;W^rBP6g z6*%4S=}M^(a5^^F3%Z{61~~9QXYVo20Ugr}iI^K;=dA!auh@)%f$ZC21SVWx==nxHZWl&uaLDBXT9%i7ECmHAH`NG2NC)iOZgc%rg5*ZkOvw~!p zCI;ywF);ptaw3(rK`qz6;D~%F%)p?$0(8UpKQNzN1hhw!fq?;(vNppU7NpJ?9RVt~ zzy$~>{hWnKMS|Q6s;xj74y5Thh771~1LDN zurcVmfm&FK;FZ{*bOGtQO@{kXkquM}tBNo%XnA)E^EO5X2D1Vc1_qY1^-TLf5+Lgs7{C%1rJ$aiU7EBiLdV2+3f<2U;Syv;v{S z+mC_4;yY+v)SEt3QOlR06Sn%`0mH10B;d9@#C4xZDTVfxY+D-~EDYcMc8o_^}Z zN+};MR;w~A1_lro@Mp2{wPIiZVZk>xtA!XCKv?j#)p-#H1`y`zX0!rzk3pELjnVq5 z3Fn}<}4puAB)#xD1 z#lU2Bi=Tl3gt?@ctP(^R7(keNIiuACQ3eJO=Hi?#xO$P;^aNYexakE;YpthGNL|gp zJ?_;?X8Y+vIoZ+E*Zo{nw%t=})oO+5O51Xzr*Gp+)SGS~wcLs&Cnq(2x})$)>1la< zV$)oB#I~RJUUi;%`i8_+^4rh)ui7Iw?ad0#>G^>?qSH4BA2!;4D{qyHdA%JdvZEl0 zBoc{Th{P^OV%H+EL2E}Cp?W)!#QTxhQ<2!Sk=P3%Y|y+o1H*C%2keTqNbJo>?43yL z{YdPiNbJ){?2Ab3>qzXoNbJY#pks!hK6r^F@g9l&6^Z>DiOtBtzyR|-I})20i7kx8 zmPBI9!`LAItHL-83=G;xY(pfrITG6ziS3NU_C#X)Be6q~*wIMrL=Mm)V^H6xBT3{U zv5S$|l}PM*Bz7wjdnyup5fXa?5*xJU8X9u-3>T3k?jf;1Be5Ak!-Y_X@*=UNkl5-- zY!f856B64GiJc5)L(gF=0CT|UkD(Tc-G#)Sj>KMq#NLR+-Zy=J6_a@V4J4tbNbFBY z?Egq?9#G{9^`9gXTMdcrg2awQVy7Xoiy>@KqGDiZfN;Q`>P2GDLSnB#V(&#_pF(2a zKw`f|V*f&7vxCO`pdJw6M#@x5ND_KT>_{XwXyGX|IWQC>i8ms#dy&{Pk=W~y*t=nD zkpEA>IG`Ktkl2rq*zb|pe~{Q*JcyhPS~~}GoDPz>B@){Wi5{vbFE9H9CX7B@(21thjE65A4q9frhCLSpA3 zu^W)sQ^9Od_%kptECO@D>5pMO5_=C4`y>+k8WQ^n68k3-n+??UfO?|a9ITE`Ci9HdCJr9Y!8i~CF$_D%Y7?cC@|7|4p3ncbeBsOUK5G;;C zt2|+BRnRO5)W?QMY&#^j7ZN*%A9SiSRKo%!2~cktX6R2OaVgOLA*gy6Bz6E2I|hlJ zfyAywVt2vW^$ZNt;T#5rB}nXzNbLPc>?=s@he+&qNbKK8Y)(*nAL?j1BsRDoP!E-` zK$37pVh16y5m}@i5-c=&O>5XBe6S?*z=IshmhFUk=Rd=*dK+E z%K!gJ5+cHgVpS1|t%t<6Mq+y+vEz`~*+}e4Bz7N+4f6ji7zcDTI1+mk5_=yK`xFxU z8WQ^v68jwz`xg=$)Wd}3EMXC(^4}6PxB-pVC?s|R5_>uldodDwJrer}68j<&`yLYe zHG*Bw@B_hNUa}!aZQ?(fw7(}2PkpC5t*k(v=Gn)BNDq0i9H*My#k5770#|_U^oQlFfg1) zV)KG#;i2)ThQtOfeS`Vl2ua)mi49sa4pZZTB<_X825l>4jDcDZizLy5#GZ-7UWUZp zg2V>x0fAZe21)$;bn~sNl4vDRT#5P7^+as}kkl2Yx>^vlPHG*Bw z(1GAEOhsZZLSnB+VuR<8pguT>Bz_Hv{TPY;0g3$=iOmI?4UYnaKLZ1UIG6)Ye+()} zY(pfr9TM9ci5-E&PDNrDA+hU`*gZ(>naC2$kR&!Eu@4}z&mysJA+cW|vA-d)S>zDq zrVtWa0m=rCp6gAo_v8?-_kxOnf*}Hl4cgfQOWY+$;!Q~G2}taDNbEI8>|IFg6G-f9 z5H=(#oEs)r5NbFi9b~h4xCTPbE%$LiNB(@^4 z4J}lu|fVfhH)4e7#xw<{z&W;Bz6-Ly90^chs2(O z#GZx3UVy}2roh0U2=o0~B#8q^>@(B-_i2jPKS2^=1Px|GV?_jst$@VVL1J4Vv0aeZ z0Z8l^Bz6W8y9B}p1rr0q37 zP(rFPWRN5@kk}?jYzHK^4-z{9iJgMPEE#NLI(1}&(CC9F$G z;`fo*uaMYZk=P8NiE5|^xRKZj5cc%YeX9iPtsoq5N^nPFMOm`b-Fkt$@VV zLt@(?vAvMk5lHN*NbH43?4wBRi)u&>n7c?4FOk?^k=Tsth%%TLi7kc1R!3r+Ah8{h z*nS9hJwr5t!;pc*E=6KDA+h_B*mIEBE0NgSkl2Tj*cXu4cfoAXvMvS&hF4$?IQ=nv zSD)T+aFtlSsRqKgj!0}@Bz7bcI~9pth{Uc%Vs|33ry{WzBC*#(*r1fbz_1g-0lVxd z68j<&8+2?YETz9h690RT|V`0!VCG zB(@e3+Z>7Qg2WC)V#h()kTjDG;egXj1roari9H30y$FfD0g1g2iG2o%eG7^G0*U=i z8!63z_JqR{r8;Qo57fuTNNf)zb|?}%35lJL#BN4n&p=`?g|R{Y-vr};x`Rk;@KQmj zBW@yzKSN@J4)uaLnqL=@{bi8Ynn-LjB(}3IQfV51BoT|m&O&0BBe7eM*ej6Ody&|u zkl5Fe*dGz>dWL@p4g)u6eInGy5=d+_Bz6Q6I~9ptgv72#V)r1iXCkpTgV~_)XJBAB z0Oo+xAH!KB_AMm#b0qc`BsP;iBG|=|*eXbDLnO8x65G2Ti4%du2Axs_i`OC~ab)$N z^C)0yW+JIshQ!{C#6Ez;J_}`o{eK(E0r~$q68kR_n+vqE4jMJ$NNg1(wjmPR4vFoJ z#Ew8>ry3v)_!S{ZfG)R(`K$*?d?pfm84`Ol68iuW`z#Xs77`n@I}T!gJp;oRBnd`C zL|pPAu{Ds`rbuijB(^^iI|hlJiNr2LVmE`>unC_DAPzKm=OVGUBe9Pnu`eUBA0n}N zj1V4BL}Ke9v8|EV^&Uu^P$YH|61xD2U4z7)h{T?U#9ocW2JMxE1T_Q0Q6%xl5H`fi zKOh`X`eR@PZ6|>UGe{z_Rgu`BqyAuqh9Ze4Be4souRpa)yuKGnXf_giB@%l(5*u_v zKFsLLNa7EX*zb|pf05YSpq)xEr$gA_{KcRS;eh>Tio|wCVh19zO>Ns zj>KMy#NLd=K4^kezkxSaL0xwjNzrR0_D>`>J7{q;RJ|w?TN#OMh{U!>V*A3_Apb|h zIG}sak=W%(>{cZ9WF+=NB=&kF_Fg3RX(aYdBsOSuc0DZUz9LC5n;|lZAQD?1iLHyo zwnk!mBC*4f*r`Zt@CsB&$kj7&ftC?MI1FM)Y%?UbBN96eiCqX{gGcNb7)s3<7=)qh z29P+^%x(}Hw1Ap{fnfrO4HcgaVuyjkpMim4A&3K&SOa2nfYTzw29Tjp_HK|kRLwCE z8*1oj5F09f4aA0u-v+Uv;?F>AsQ7CT8!G;-9>jr4{06b15^SI~#87b_5F08k4q}6k zn`2;*wqRfohO*T_;!rh)AU0I58Hf!PcLcGa;_e_eY(gst!~yLTU|?Vf0~rcsCxXPG znsY#GsOBON8!BE4VuKE(WME)u1nGscdqCn)HPbp;uwFR-E;vOJ2RNNQDhKfgk z*!56}G!O^M&IYle7UV-M1MS&p28lz}bb{DWHETg^sG&PRY|uJ(1_p*bAiYrbagaDv z%_R^UYEJ!i5C?HyD)73SvVo&;YTa>Wx8cDM)CUTQM*Q zL)lIsai|*5`dr2^=vA~qND{FiHq?S75F4r?7sQ5&S0k|-Ky0W5El|rqp)~^}4pl!7 z#D=Ol1Y$$YJZl9i|G_Kj85k~tG(*{UkQ6-!v7rXN0kNT)zk}FNanQjxu#%MBnt_24 zDh@h86vmbUi9^k|1+hWqfXW{a5C^nHh=GB@$C`mb7|IR@iGvg|Ffb&6*ib{$L2Rga z5r_>HF9)%q;!PknRD1#wdn$+xHGifx14BK?GEi`>1xY|PYzDERimrp$P(vSq*q~iG z3=9mltJ~9H@jA5?dd{hFV~3!@wY{ zz`y{y{@NWR4pr|9Vnfvwg4hs48EQamB}f8n0O^IYyFubmHPb+BSouF2#DPjI1F@kN ztOl{6;@d!MsQ3{i_DK*MYQb5kWuOp!2oi^?e-2_p)o|M)LPe||!~t#M0_{n%Wnd77 zvQT&fY^Xt|AU0Io0mO!iyMowI@cO3)Ky0WY1v^A=X@l6HO_U4_4ElBq48l;h6-XRvu`7rTHOC9YhKh%R*ii8( z5F0FB&%lrh;y@*ek=PX=Hq?R|sAZsdod6Pts-Fg8L)Gj8vB8EiFdPN3wIB)bBuFom zeFY>ARdXN2hL!(MKpd#Vdk`CH!50u4D*hkDhKlprBMKQI5F2WNDTobK?*L+hj?Q9W zU~sW#U=W6~{XybTHT6*-4%ET_C#D-e125K2d*#VF^h{3?X za16wTsyPK!1KOT^4Jj9 zMH)E#;7RIWsUYLKW#Ev3-!(86Y;)(0mXZ zw3Cg2fuY!$fk7C`t^G}N4mI>Yhz(WG<$@@nB#_uTAU0I5lMAT*57poak^t?eWnf_Nbzxu-hO#3- z;!rioAU4#p3=kVCUXH}B1FOBWygZ0)kFkA(3K$ojAFfiN% zX@IhyfW*Oy7#Kbwu^C(u6%sdy4K-8%#D=PuLt<-!*ibckAU4!|Zx9fs$P2`VI>;ZyhH8!iv7zGeAU0HQ5fZxz#D=Qx1hJu4SNDSK0l^14DH^$RH@E4I}|oG!evxYMusSL&X<@*ii9hAU0I|EQk#izXW1K z&AbLRAJj{K1rmp<`2b?Of$Cod1_oX)L~x0K*zS;!knmz)5QegqLE=!$^gwK=LB=39 zRNM~4hKf6b*ii8-5F09<4`N3^%y0GrmH$wQPLKrDvSlDPRP#m<+Y_Q;E671m_5qMM zRLyA+8*0u45F09fAH;^L|B1vF@Md6O1f7%s8h;Q2aiEHHL2R%D1A{S$4HXYUV#k2k zPz#blY%hr8(!CiNgrV#rkT_ILEr<S>Ih9v@VH*;A9}@cz68kt3`!o{!0uuWQ68kn1`#uu;nIF;`$5%)apODz!re{A{ zr5wuXj|d!IB(?|=TLOu#fW%foV(TEW4W>VSvP!w$5lP4uiS3KT4n$%{BC%tU*r`bD zOeA(861xB?rS{TXGZ z7lSB`>4!m-$#h}!)&7hQ)007z&-Be8Dq=db#cF@XlpzYGkZ-q^0``a2KHPtUSkt-<*ME>;f`+hw_0gHdAoW6Rb4j0V$~Y`X3Peg<-mn!|HjA4AWmbfSqUUxZ0oT3FGu0 z$JKs}7SnG#uJ&gvnXc`$+MnqJ)ASlAa7dnZTJ6smFRD-C3>8IUS`!h}9oG# zWlVQ?ruTTS_G4PXJN=ILYClGo>DoT4{h6-tO|S7;J&)06y0q_Ve@2Gs*}kj&nGOg{ z-{ZTwjIm+5vEOQK&9(mE)C(rSr)n`UFhuZzPH|^ofVLJH?npB-1Wa%DTdk~lF_nSA z3Ubs8ik2GCo?Ng9gy5cj*>ANvqt5i-AS!FRvj1vz#+>Qi{;SoQ9@R}(`0XS%y~}^K z0Mm@N>2v&7t1%``KMaz4(KY>z|7tZ>nTZSxmea)pRx2}wo|#@Sn_EoiGU)z8i0NQ* z!kOs~^F_s`R|TvV&^mF3fk6P~e$XL1U?mI;prgw`XD-3Ka$)}TEdi_5%x;`zU|0a1 zbOI@bX?=_4^^Ap#V0ECAakeu|H^}3bVyn2r!0?-QT7{GnZ^wcCNh0W;A%lOLo*{&W3%b&!=)v+9|>HY${L-1UE#a$~m>CajZ;x87&dB(B`}*kBJ2@ETwr8fSo)XLsaf|8n1sPMNw#)5U z{aXtrv|Zux>O}VFG}gyV3=D#qDGY2dr-7~)VuLwt13Lo)8_a3xoD2+XFsH3$V_;x| zIW2{mfq@O~G;u}-2DaSocV4aD83nU%`hz#_65F@9t_ci;3l)4e5Z|smea$(3#sk|w zEn5TjfYgdL6Sx@lwy)l_W?L&<>4YDG673BZYqvL8tdo_63k!VRA+dc==(?@3aG?X1 zI^x^=H?Ir33X6&T-O`fVSvuFRHG?bqu#i`L`}zIrUpc@Otq+%$*m`|~R6er6cK(75 ztAb#u`u1P7`1T^+|=m}FDxXs|5>x~g=BOZ>m^PG2GPtE2KIE; z%b;Y+p9s2IF$2tD50p^&kH~>9w|)sqDEx^$3=HhqtRM~t|9cSz2KF2< zhlhb1bZIer?sog*8>fR3%Jowl!QuS>^v2t=jB@R_UvAuf`{gDsF1W`OY&|5lvwYd) z#K(AGyF1fnu=0H7&2rgrB^%7`#ka4{+x*FhQE&RZg_|!j%55)Lv|02tTm?987w2v{ zAQ+v-TFJ%0AeNcJzyb5sEYMwpFkeaWF)(nze3b~g7BUO$b{75`eg*~(n6Gw%E_8(Z z3UmZGNAC80^;@=qd{x@K1?7QqnH$uywnz z!?q-ExUvU{7UJ6{cW-kRVmz?@`rK_GW!wMH+ZNUWSMp&Yuf+Be`lx-LIx`Qzq#)BkzgMgi#eo!H^?FZ)V+@ukm#_Gbsz#x&C!oZo% z3c7fdLEt140|RFUn8PSw$HTzDnaTPd6wdU-3vsizD;#uG{F9QQ-HkiX906GPS zGY8D!Vc=EdWMJUToqqQCPI1Nq+n*lasmsXtx?T9>&h5e{cg>1`Ibpg%e~rZUGm5(> z2}P%|zF=lx5J66F{(KA!?68;tofN_ji5O?Fq@ zf?Miv#ad!}0RNuj0?}!#po4bAA)bdM@_i7`gE)-*pp)P^VU~Up0(%~mu37l+a)Uh& z;&AYLurn}l!Y#ec0rLFzB85F~Ss4#(Pf*(filOZt>U;LK!5smP=j3&J-teM2Vk;=8 z@!bK1Uj{3P!^n4q85{$kqmbiR}qGd&5B)0mJ7KT;OPj`1}sUQb_g&9h%As3+`hOOCdhr4Y3r& z;bGtg-O|IEyIsg`@8V8a*|pzNM`HWs<9lC&qL_i1fk8MET)=~@Vc-|xVqjo{MKS0E z5jI$8C-H#`c#z2~{QE%4V3{u#RNBKs`#7jp$lWe^d+&;qP>-5UPpCaEvHii4ec~L^ zX{^5JmX?6(1em4Dpo#=$DJWLiU>-dMG8ty677Msm0Xc^UbU7QiRtZ|WZ+#}zQnTsc zf=FI`{}(ZAmfi!|1GDrNsE&eJD#wlF(eEk}IK^zV~35ca2 z4i5tt=r|>|T-L3i+oYA585jgX+8IPxK*uq&A7J!mVPFtF4_d<{x?NZLfFh{c_m?@a zs0SAP>*uOUZWma2Ks6WcWN_^pB6jd-08D7RLi)kI?J(Z7n@SSf|GYbxstyx@lwJ*D zhxFJO4{TpAa|oQFuFD>J<_1>+Dqk7Rr#s%!))c-H&d2~tYM?V!85lGemNP7w9#~a- zaQm&)Lo*nsooAAm-naM&_x9TKLxx<8E2pn7JXFKDV!BQdm|9tMD3o!=_WwnP@|Y7G z97-A)7!D{fbZ{I{VCejqw#B!Rf#CrMLzvrM%80D%`77aeL~rxI_BwqoN-*!PgER|63fwnG>aJ+SQwK*2lpQnU|^Uq-Jt4_WWAUk0|PS? zdmQM3=n`E91|~t!I3F`3TOmj!o{@opNhq9wfq|KkgPR+qlohl%n&m480|OK2sBZ=q zanS8=lB%F$-2ub|-2lPB%)!d3#lXPK!F~>OIW7xpjWh!TGYk6>aRvrf7G@UqMp>|# zf{W!C7}!{LFfcH%uLc=0efrI+L)tv+WEdEjb*n)lPo@i0A5zLymS$jJ;shNa#LW4C zoq>UcbDJmw11l%!sxLN9PId+cc23aQ7aW}SpjwCXxEKQi7w1>d{hpk=Ko`4kHtU0K zIh>%#z`(~@%gw;R&uIv{@0xS58UuqM=V#FE#GKsP3=G1Y1=HtOA96Qym1kgJbzH#6 zz`(%*nu=wO|H{a~z{w0ce2}wO6yzSz3NB^_77tL%H~AVP0|QIYbeWn%YP`Cj`Fu`Q z&{kZ|km>$4hs5h`lo%LTt51Lqg9aPNCJj2qkW(6TA~q*GXyYDdq&fow69daZP;eN7 zRI=y`F)*;(ftV0Cuy^}_O4lw)1_lOBP_Aa=ye2oXiXiVw{)d85qPlABizANO1P>Ffd4R zCh9RTNO9^iGB8MUPL^e0kl}pE&%j_W%fONix&VDuHxn#G*|*w&Y6K?GHaX7qIv{^| ztAPA*g$ESFUqHPJ&Q@s#1~yKn>5FR*Df2o?f?RZr8RVj<>6dE{DQjz}fUNr|4zli< z49L1%83qPf&JHyO206|j%nS_joNu%k7!)}FOjoQsBwi2NprFcmK#74tjnheufkB<~ z66nB6&P+B2hX2sGX1|*ba#^}AD4cUayI(kkc|h*_BnWaJ=-hr51{QlM1_t)WAU{B3 z=h<|SE>LHTkrQ;>6B8#ZAIK-5Ljl+sSU~qWvuC|70yP`KX@LFhagYX3Uxk6w9(0%y zC+MVmCeB+zpi+qC1gNF_9dx+~)Pmn1LFx@byCga9N`M@+mj$GfXNf2S13MSvB^Cw- zUWm~=jK0$q>ko<5Pu2iA8MM)!h4Y*=C~3rkDiqF{p!>2pqd*sjb9yL(QpQ=KNBSr{1j6xgL1PqQ*G@P{iiFtE!oLh4=*Sq27n1u%z+KLK=wx(XvGz*zV< zg7m5~I)LJse;KF+U$4f<0J<)W|AGPo1G_p{N`yZT%fP^HQ4i*E@TY*>>;UHQ@V9_8If6YPz@G)W9^Q#@A{zsP2!Ed-0|UD= zSVn?>F{nxC0+x~C-vr{gf@Ku=w=**^u)Bd}RQN$B2D7^}g0iUw12ZGj1W+r11;pjC zLw`_3au<*|Zg+UJ30UZ3BKn>{AX1e7}$HjN*MSR zRTvo9d%+wg1|CHj1_t&%#z!FaGVGHX>ti_>7zA=kvKiQ?GEM~znDFarGBB`DW8A>V zz#zb%2=eT7ux<%{Nl=QN0gg#2{y89JGr=5b2A+4^3=HhE7=<_(82BXE=QGX%xx*h6 zZwnbgZ94{j4MqkA_C;VjSRf`XW;_8J^cP{^F$bmhC5)LM-7@Se89`S=31k*!GqA4) zYhd6%3`$;Wz%d}e|5k^AfqgAF*hCn3szFX%$G8lnS%iHvBdCuA@zGX@W`UHE@dd=FgJ7ee zzBmNd%m(q_VX%$t3_MjJA01)T5!$N3z`*_h>@x_q&o59;V_=#Fvdw^)Go1#dUw*Kg zM3_LOmpK0# zlo04zcy<-A$AuC>K2inygMsHHs5Db!n#Bz-EH#-_K&?JjP`S@}0=7-G&812QBHbTm8XXV3|`obNylU`}gL zS%JOSD{!Fe5YgcSqNc2FVY#FPO#MH5;dyD+T- z8NUJCbc+J*JLOCST@(weuYH(KfaH&WR$X!$f(|}o;Nb!Vr9W6B)RaJ`FCbM8pxcHx zK@DUk&TXKUHUkeAs1glj0yUj@ri0=moQa!>fkC()bciMkdjgX>F9QQV6DT$knYuvb zAcL@&Is*d>dm57yTq+$V)d*_1u;(zv!liOyQb{}v3>oZ2Ous-eAYHU@5ISKslK~+QzI4P#^vx6GRwO~#v0~aXaa)IuSpUuF)V9Ov}->(4j zWD}DrAI$&FFrR=fkYr)+U;UuF1Adt6*F&U0 zbt?n=254Y|tJaN7pynADq-xy+=J4>>gX`AKU>+a;Pf)Vo0_F%nD%!1Jju3;ey#@mV z2m5ZO2)IpqAU5%*gUYqNOrV;Vg+cg=D##y)n2O=*4nx#22s42$u4F&KG#f5;lBph? z*7(7t&nbv&8H6{8fXq10v<fS-sxr55;_fUsL|HR2q z&%pkXi2-!49fM#7dkoVwK?VjP(1kYaNlZMv3=BeRh1nwS|`ZBz{avgkbyzuh#&)lD5#$+3Su#^v4Db%B~*rifkP3TyH5!+Fgz7x zVBiL2aaL%Tjng9zG|I{kx)6*r2z0C^=TkKX1||j0Km`T{W=;`lP#pj|w}F*&k~XMM z=?_XmoDZja^&FDbbyWrp4@~C;^?{cNgZjX)G(dgezkCb~f(&ddpqwT4Rg-~%gG+qv z^eH`u9P1a!Gca(;f+i*)y)!Nq&{?9KPN0&EGZl332&uetrZ~5z`!XEn%Cp} z3m!!%19kX0IY5IjoED&B3N#qNz{&|aNS=-JD5#0gsVu_4z`^+t)EVGZ6atNE{NZ9? z;O2Z#54snZ^Mew|-9JS^?%ppCa`!(Wkh_(5LGFgw%q{*OWb+EpE*H+bp!2RdjrBm) zBj`MBW=_zJzbu?*Wk9u~f+{FvKo^;?bDq)z*?dX|)HTd!2HD&!1hTmibbm8v4Cszl zUe0Pz!-_Lm3S{$o@PLY{AgGVNiVxIBmyrUE8hn=mjT(SX1Q+E5-J>GLd5r}$YEY*F z8Z}7L0F4@0FflMlF^ILOGcf3ITS$m7Fi0fGGca&lP6tIOgIJm<1A_>+4X9$2*s0FI zz-?O(>cucHh=s^9FtBhtc!9L^@iH)QJA#|z3}Whh3=9g~uE`(?(5c|uZlInl1A~|f zI|BnBw^t2FVl6)d1GhJ*v%prL&_O3cTh)25S zAU21Dl`I1TcOHn%B_X59z`&gkV)HPFf$kYqM4~VQ19vCL3JwM_PS6MfcTXiq1K8MJh_Rr{%DDSL!Oq4YW&*l4 znS0_YxS~l&iY9{OmZ(X5@%qj zhZwaSDg)Y>!^XYJ8>9tP!EvvKNJ#2%o5e^lFi44jBHRj85=d3tz`(%m z1j<%Y*`Q!_2jwHF$s!C4+&-Y3BNZgYz`z{{$}3WOpePFkyIP7#O6a z1sE8(V?n82>JeyEF$t8;rIbN|p8-nQQqCX+1)%gR)hfooz+DPTm{Qt03=G^=pfn`4 z0+iS4L1{-S1e9J{{)sX$Ncn;8cJBhE11V#Wf__kBOML^ma%!a*Lp_5O=t2eVS)kaG znhH|902B>Uo**NZfC5|U8Yp+K00pDeVvy(>P{1*;2!PzS78F#{KSAfGNPPj#oiQ*l zfQD@u=d6=pV328%VqjpDS_JA1Fo4Dr85kHqcge|#fri6%7#QT!7^4_XMXJAwX#Sinu z4fV1TP+Js1%QE?N7#QRvr@x(aNSak#hk?OiI`8B|vMEZS!Du!XP`N0r!vR{j4zsle zZ0iR}1_l{W5y@x`V(w>PV1U?ai)yPKrmdhw-5^`{Pw$%ywe;Eab(0S%DMBp;6}i$G zpp!uSV3vXoI%1qtHvQw|Lz3F4HUwhYU;{dCQ-^^eM{4@|$%kYek{B2mz-CLY0Ue7T z2QwAq62>{8LIvXX1dz#06C-3nH6%D5K%pS6GyTl;LsIpeppzD}V0sI{!H_P^z#s!E z_8GH4%sNI`Fyw%YVulBPE~XQtYDex`O^<6)mUgWbeAl|cRN7lqr?tU!ir!64Wk~0>CFHqtOhv- z1{qNG&UhG9yq|(Q^(e?FL}VRWFn(HI6tv%Vg%)<>2GHok__D|&%mGxYE>{QfrrOIbG&Mx zmIb2{c;K2bSRGOtF~S_K4k?ZpG3^0uiU37%&-Cb-hor%gx*2L^9XJb5pFi`Eq{k1C zm7pFFqd6m}Ij+mhz#s=2!Uh%g@{FLnzZe))_Jb0DBO}bqK433jQD9(D1=XO8j*Jth z%{rvw4{DV#LWbfQL)Ad-5*RNG;&4|qhr1yh4jKdpr_FB+plJjKhQ$ig*H1en#>L9W zzyJ!cQwrb!o4#SzAr?qRQ4s_+*;C-ok_E@MgdzijD)^N36vj;q3=E+Al@Wyy==?o1 zP-Ot~S^?-}#B8`3AZIYnDFB&K!^6P9m<+RcQkC-;Tg7fz-Ti(h zf|k^SLfA$HE{;Q1(2)weyA`osICDu3T`oih7*6XF)*lsx(1B5z+nx` z@^{djbr*}XU|Ak?>?ybwggQ%z0qQPT@Vo=NOEw)+5P;$xwET+k1Ke$paF|RK4$$4npisA01BJR6 zFM}*-MH9r@wbKn291;op4YCMaWN9#gB3*!!fk6$_O<~kv0`*g1p{>P)YOOZhT10~n zv`-RLz@AbAms8U>EI7mhE@nTfffF~AlFszI3l2$!tyPDWla^phK^K6jfjTjamf&%E zn5EWemf9dJh1W;0lvkq;vJ}#ISga1Nt3melFFYiflB)r;&l_ytHjpR5_IX3?Qv>yg z7`>T5{Wr!CNLKbmv)vDi?Vzd{<)BoJbuj)FKN9?cmESeyY1gm)Uy?6(1&{fegVopy)^90j79Ud^6L08a%eA}rB@hvPtZ_os#FInycc&WL1`ohJB zM7*ABB6T}tg+RN7Kur^sU{Dp)0uK<-P9MfONm>jHs-OW<#ug?J8#HgEW)3Gcd@4PG z2y<`LZaz-D+-lz{<+`JCDGZ8RAeK$t&De|z83L!nI5j|J_P zWRl^UUf42Ec>22^dwHiX-K;9OU17x`3-0Ns*9l8bU$FKN_w;5%JIU$N-wtX|KOn}! zGChClaWKI|Cy#+jN6Nhvb+xvQ9VHeMo8ggWZP|w^trL^iODd{f$EvJo))a z@kObH@kOZxIny`F9u}P*Cv%u%JJ-!a!HnA*ZXM#`5JFZ`8J}2`Uc9~g(IE>KQP<#r zcqbp%_+a07e}AX=;Lv~o|Df#$pB-XlpZ@ODAs#`HXpn1Qe2{B^Ph`AnSjhIHZx87+ zu@}UbCFYc-PM>}Akji%P4~Ondu(~8 zJBUj0OrNl@m}h&#w?i?E)9>ZRKn2ei?BtoAAjv8*eV+SFiR~&s4qf1zejuzygJAXj}pvHv|LjuD`s0NTiA%-Ld ze$eDT0|Nu7VI;(m!k`1?i!y*5m^R%|>ae_E216@U7}VMqV#u1FD0Nt#F=u)sh{~J3 zQ0lOJeF1|#bn6hrF+~iaP(G+_Da261PzB|Knt?(LWejVee2Co@3=g4vh+C@|gh6uv z3=9mQ_KFZg4TBMs4>7-v!4t{{2Zj?v149zB07DZ)1q#1~p%2Oj4W|e(v@xuN@}#ueOR8cYx+Xz!;<2l@>__Zhrtz`V;LAAmiBEwD1F$16)k;#P&h0zT}|<@$aFKa z2EpmKKh^R~Kb>j7GyQeBrvzjCbOW;n@#*zb=Ce;v`;#s>{eG1v&-C|~m3gLHn>Fx2 zB)0A7mY6>6w}#;K-S@?jCD3%t{;k17KncQ7G`%<_uo((+5U4hV-+Bw`D=|h)UtzOP z4&qI09*X|5nPC4K( zxD5uoog~HBoCh`qECKS~bg`?gg43mq8hECA3z+as@9q`iAuhIv4OoPI*mP9CRTG|G zx2u~696*ds(x1@q6;(z3mUkF z?yUz63WC&tGBGH6Kx#la0L12woW4N)usAQM{l&n*02){oF`Rxx{jjwpR0xz9L<|`i zIKY{Ofq^?>x`f7IeN{uqu2#_b4&0z72m=EHsIdi73NjeP=8l`5qj6XnWD;m708}1u z$Ad~G&>B4k1`(s_D>M%4OF~cQ0b67QS&a>1b4N`7pmA7P)d*rY=nNQ`MW7Q6M2sK~ z0I|8_rdwzpRtA{_vKv$|pjc!)y#yo;Jx~W^xQH=|MH@5^i}M;oECQWK!yPyMisoTu z&_TMOt-CRx&_s4QWC1*ADLg1V0-hca=QV*C2pS{jj+^eFby%Fybb5r=VdYThaXMgY zO(Cj4Y;I`ufLd0d?HZsCBgkA4Q;0i2Y?y~Z2VsE3L5=~jx#Ol^&^oM~Xv)9<@-V36 zMDZ}l57<%xH)K07Xy8S}4B`|Jn>!8?E1;oQ5pD(skc+{o$$WZ<_F-j7P}oDGU&I`u z4dR386SNPDtD56*usI}#pbkC*H3{9ppczaNi|HIXhm}L22lRj{R}l+{MIbgTs6bsa z5ncv{5C#SYkW!EuP`U)MVL=5tHv%LM3MvqrJ8pV|&S7Oq3rJAqphu5_i&%gkRdr(Rev4S`S z#O98hzCib|IHUFS9lD2=r*E$JlwgdQe!%aTIIlItF(3oEZ38JqVmBw|Ry*xsXm_%jo)4J6DO7#SG2tXyvkiQfwJ zlqC#WW5B?`4hmyX=Ml7&1EeMwlBD=S;-K@>7$E);v4^+*!oa`) z@}h|IbO*D;){;;mP(}qwgF*(x=8l*?#q6*?uQN(qT`)VW4AKFz3)B=v@s`VU9`nP> z(?i$|DI)YT&>EZ5INa z%m)f%*Xd`>4_iw@g+R^}afKKNVsl4KSFkv&&+Cff_bq$ebI+yH4qjzzEO z8a9WOLqYz8Io=D0LOlYm0u_*|KyOGGVZ^yNBoLr+9%6e~dAhdUVIE$n&%oyUOrHP} zPq#xeUlC$HsM;6tftU|s!@L1%a)HD_-T<+=kXx(dWb34Bn;0(34UNP{{911MVrBeB7T zLe+rE7Lg!`??G&sqd|3@h&m*zf=Y9c8c>LuF!(btz+4TgTR;*Z-+W$H2e<%Df=;AYX#mU`J11f6;2mbna*#mFeY|tR$v;|4~z!z8S=_KBl5FJ-e=5 zV*2i5*(%euFI!1W{|!=?4q{asH>*rv3}R^?S5cWBUEeM-ef9BdmFdz~tR$wtj^R<6 z9u8t4FTpA2Gk`>Cl+_ikvHm_GYNw#szwt5y=zZ^!beOm_#dqD`AsrvC@YR{N`| zOt)@qmzdstGFxSOIfym;e7DN<%^+6ywN91k??J5W05z5A+D+{e)2mNqt4vP^vAQpG zt4v=EVpU)7RN>WNU-dIvXt1!oL5{!Ntu_5t zQ@e+xJ_7>-BZvSU_l3l^o__zTm34g@l29QM8`PkHY3oE12QPJk8aEwDd>#^eITCvv z5_=yK`y_-teQGn4VEugv2V7~sLSlbKVuM=qFb4^NmJmQ4A%Vn}Lt?8Sv9*xc21sl( z2piNgV_>j>aKMgmLSlO$vHhmUPv0Rf8HFU2fW%Il{{L-;czqF)Pz4ejv?vMYg%%|7 zZX`Bnb0|#BMkMhwNbJW*?3YOF_YgMd+%*P?#IGQ+Zy~WCK-iFgdIsTu1L_SD`x6rT2NL@q5}O5-C!v1jLShRbvBi+sGDvJC zX3znBP|X@h5_(8%&`wd9&p;*<}XifYTp%DgdU)A4xnEi5-o^PDEm7Oz&@N7q4$c66!``PefwRKw_^) zVsAxa??z%DL}H&nV&6w%KZUSCiHd>YHG~89)F&i1H!Gqx5=3H)Be7+X*vd$3O(eEH z65AAsZOsZ=Cj*T+$LaFz?c()*Nb<=@>;fcqEfTv6i9H>Oy#$H95sAGIiG2o%{Sd;2 z1jsuG2OJ>3k=Pt;hyW2qVk;rB^^w>%NNi6eb{G;n8HruMhE&SbB1!Zjv1cH$HzKjO zBeC}(v9BYs?;^1uBe7q?*dYIZfN?;Z)j@kLp)tgd#1=(j%OJ50k=S-fY;PoX1QHvx z&Ck=WO#|L zIha2Rki=^tY{=w5H-rQB#{wkwS|s)^B=(8v^CQ~C>p}Z8VP>l#6&?;qY+odH6cRff ziCu!kZbV}DBe9ntu{S{2pxnX0um{2cyZrbAz#6kTiH9u>+>-_q2=G$07-pA+f^LNLHWIrPi9HF4Js*j^28q2B!Upxu85oX1IN)f#JYC*^Tig(QS`5@(+Bz7MXdkzwNB@%l(gbm3mM<5(yX$-k=Un^*cXx5 zPmtKJkk}uP*x!)Ye~{QrpyitS43IGl4hRSAFg_%<2ohUr`uQ!2;^t~dLOMunBP6y3 z659^Ko~9Db8tMXJgRSvGV#gw}labh&NbGzhb}16Odb<9kcJcalB%xj;_GBdXOeFSv zB=%Ay_G%>dMkMxjB=%k;_F)JcG&Ih@a1z1+`|msw`zjLqHWK?G68kw4`z;dt^K|=} z8RDU!`AS$i=K<}PfE7nbY*i$-5fa-DiS3QV4xiqCVwN&5c>4v^xX$VOOAEvq7fpW; zqIOT0FDnpdyfWQ?a=UWkPb96ZqKF(Ngv6FZVrwC>&5+p6NNj&3cJy@qIT_-N#nbKQ zWQgbXAj!-?VsAxaA4FoGMPh?@FF}3u3`zVG68k?An|pfv+zjzt70@;=s5S#6wg(bB z6p5XP#Lh)xS0S<6kl5h;K~VGOO|PGqAgGja zOChnU!2?s5{Ejd8^i|9n1L=%2C<>)XCkpd#~Z*rvlAo^X=yU- zm8fT65QcJ2fFz)XUIMY9hJFRHp=$mivE?Nh7#N}ApwkUu>_Ct>)SPG#8??xRfq@}j zl7T@O%FY6bgVcchUjpJlEt?KvLlrGRVjn+bx#0D*sU|?Wq1z7-P&qESlj>J9= zVng*_1hJvFKwkyvg|O=x9)KjEie7=(P}lK-PR@fUVh}@OnVn7(mBIf{eNj5{IgJ2x3DW z$|A$Szz9{(i^SGNVuv8HQ$TE}IeGOU4rrSt0|P^m3fmp$>Hiv7zb%kl3K3DjA{TjUaKb-g*XxZV(50 zSU^9>0w{YHNF1z)fnf=V4YlABhz(V98;Q*%&%nS473Tr5p?bwZY)B`PL0X=HK^V$b z1Bur|6&Zp!Pz%gJY^Zn&hz-?{i^T3lVsAlW?*p-+dQXDbpoww@28OdBi=pfrAaSUg z`o|y+)Z!N)HdN715F4t9MS+2V5j5cqIs#XLfk7C`2HkZGD^}$|YM|yQgV<2LhDdCC zB(^Vv4atAiAP&^f79{o(B=%_}_EiuYYQX~#8?-fmfq~%($Z=5idyqI(%`Xre>bU

F3=9n2APK0VX&^S#g4rN8RD2~8dpn2?)q5SphN^i4VuRKa zfbPHsnGa=u1c^h{{80pz|4<7ULEAf_68a!ERD%T)I|_-N0%Ake=Y!aw#Xq1MK9v|4 zgrV#@kT_ILCx{KTYaNIUQB%*b9l>F^j>P_l#O6SnhZF{}K}*X)Tg#LYx3(*R#G#hy zg4j^Yj6iItcmjwG)td=sL((5ZH<$w|Ru~wjg4j?E3qWjXi1-qaWl;8dkT_J$E)W}P z*?tfkD*hJ4hN}OD#1;b`nhX`Utw-XxgV<2bK_E700Sf~ILzoH!gD{kx2oi^?$pNvU z78iopQ1SU7HdOrzB=!j;_IoHB?Ejx24pcK};~*nwH9jb>t1>VML)pThy^Byaav(O; zVrLK=s>TP2U5v!81+k%eJ3wsEx=#iMh8|VW#oAELbdUs8(IOBVYQb_48!EmD#D_)59OQ&aiHu^NbEl# zHq=md(56t(YGu#@EOp3L^Pr>&ItvnJfg(r^)M7Od8>%-1#D?mPMPk?2B5{@=vDbmv zP|e^YX+Wo2GB7ag1z8MbpFmP`8N`NKd;`RW>V1a976F|e0o5xDVME%_w$u4%Wr^44 zfyAKtDnV?}&JhL%hFT2<24N_>10)Vr13Dj@5o+fQB=KV)HdOt2B=&nGwwNXZ1E|ac z1)u_mtq(dD3bYUp#8CzbGcf3DGBAM38xYS5Bo4LM6~u;GoCRV-)q@V*VuZ3cB8l$? zv7vg8f!Ls>FpGXqYpmPGC;;JAv)KCKu z8?^iobR{n6@P8=V9wZJ`;{{?vEzY0b|1MjcamMuXhegEePl9BisvaV-eLNraTz4GGK38ZX$A&$2nUq77<7=>21smkB(^mY+X;#7 zhQ#(mVh16yqmbBfI-p)G)CZ|Z5}7*F4YsvsO^^F;VX)n*=x~E@eI00a3L5-PNbF7| zb}tfpJ`#H|5_=UAdmR!Rw7;7X8g)lN;!yT!2pcjKdLF_72h>d@Ht6OSnC2(b{eyeN zrz`yxk>LA_q=u1ay21N){W>3=C=!_y`;I?K64~&tqh(22C)i zZ#U>W{7k4GR5YoBPQwJ1@eB+Mx==Q#X=e;&gGy{mC>xYrK{o*isWC8s4yAB~ii5V0 zfu>bJ;-DQ0flzVK!p(3f8?^F17Rm;#5>4i3sAm9a0IhG$gi3(cvF1bBpmnLBV_ZRM zN*EXz+Cbt^FZDp#pf$jgplnbVVg{5AYJ1FsvO!hC5-1y#?N>qBx(xaZ3>%;v(1Kae zd9Omyb*X!x;-F=w2cYbT>F>W-9iIM6ti!_)bTB9*Xz?`z0|V%W5Ju2KZwAN$cgTIV z3=Ahg0~Vn5stgPa7pCt|QW56`?Wtu19VNj4ngsN(OBL7p0a68BTf+ca1qWT0%mHFU zmjZ)s;bRQiZX@0y%vcY#RRkmtwN(MchOX|{0kNUBT7cNlh4Y}TB(UpW13=K(zoUqOkdBo zz+igytvLzPqfZxvOs~FKl(0Q}<>3Iv>Gp@(*{2^`b+~YP|LGmeDm;s<7_On+THfoHn@`olJi($fVl6*N!Z zUNa$Ndi}cwp6TfaXKk6z&fjV<{rcqsiRsmr90}7`Z#*0_-TFfV&vfohheM|SZ_8qz zp0??5B%{*w1Dg)JGb&HNP(NYz^!pzhRHk!>W*SW2-!Q>rdUI%I^mMD=RyNbm&EQet z^f&<7aj|rI{g%V-oCyaY8!whlKM&%rIKaRF+H|#ay8PC|?o3Y(OmDd5FE+hy>tPEf zk%QAOfH>#29=71rIS5n8zwNL)XU0L8sqr9g16+1Jh`R^Q{lD$7JJXMY(-ZFai%pN) ze%ON3i|8Un|Z2G$$ zhb=h2z~%IJ9(Lz6I1Dql9>n#4bI*gg35Owz{FhFb-*woXGv_eO+uNFucoU96Kz`)=&J^t+`X{Iww(-*9B6Ptc-N~!>_#c>7(&;~V-ywCL8r;kcA#V}6;N%NgK zD!{98f`Q=-0|Ns{+Hd;$3>Rsp8_d%S6vf44SFk~r`hzL}khNbFT>E~`m3TRF^i3kzUjse(yjUQ;vubD2tPFq~|Gn(-?PBJiTff^q&oxdwc zn&}P8^ngwWvFTNgs|B=rP9cm3mEthtJwc127#J8}p`*b%U16QJn5+vss`Ia$LYN;h z{r0p}X{H&h(=Tk&7MspDJyn3W<1|7(YC8XnCDKehY+$3N$5l=e(6Tv$kOysGhS`4r z&HfrTaF|%_MzjCJ8HD>m``lpqpQGvD!!})Dg1p#tvseBCycTB>VV*GkeRq&F8|XaY zEsWD`swOFET{+9ZP{IOj_o)1!5z&U+Ea*x>bU-97rycU-k81^tioRTp; zx_Xi{(;lwr4n@Xd)BCC?3GjZog2)e9)2+W3NHg8xn!e$JpxE@h?*)P!SD~RZ-Tdfb zc_s$#=>Zo(Qb!L9@K#(!Xw94c{s5CSlMVNDfzN_sR-g+(KmiF$qg$>rFx-G9BGBGR zkQ`{78*~W~BT|4I;0DL6RRkw$fb?8LL^7zo0@GgyT2_Xn-+*U&z&u_tt4cKe4%ZR( zgW5PS{p-;5@8AJvK`Hmu0=yD85Rp(e{eD$~G?NK0B)*=Z8UF-HX~pzvH!W$VExeHA zvd&FQKx@NIL~^M@N)H*Jg=a|4m*JZ(&@C@!mCS|eeV&O()vbfK{0NUsbG9R>63+6uXvOOg8=Lk+aqbO$8g=YMQ`-tQQI%x%_9lW{^ zNxOy+IKHe_qv`K>fC%0`B=22<1`j9*KzN4G^bMyK#io}{kQZRKdB`yR;CV$+#V2U0 zK8P|f6o9tXfwX{H!PEaQogiLc^OAv~Koe3jfcA&N9QgrFdx8@K!*u8YIUo~2`4vPn zgI3ys7*PD(1u?+|5`wAwhvvCApnW=`49eiTZ7P!QK(k{oO&|lf0;g}d0P@{SK>@8d z>WmB_%n;Xtb{N52tB&RhtDxx)x3tBk&pUHipx!~7k>LPT(@Z3rtk5(~3T9w93Y|Ox z*$i`qDd-A1q-4jS&&U8es~VInKu4a#9N`8v4|*yILwGU+!%Te!=Gw_Sm3hGOl>;QPUaa-iy=!VJlirx(8qm^j-tEVt9 z)IcYeKxQ&dfB$rcI9r4pBSVeg^gW;amDs*7WngIH0pAc_vx$MBfP;Zy83O}D`1JZb zZfVvxyBHW^rdOXmtOmb1vw*8nV*7!!hbPK28gCDJdsuxcOlo^W(~+xkP@efT4F`$# zl7&aMmn=NWYXTKDn=at)AhCVH)uX8wV0V6kuY6TrcFgQLOwsm)+T(&8j0d(CwH^oG L-8rl6ct|DyWz}70 diff --git a/tools/sdk/lib/libbtdm_app.a b/tools/sdk/lib/libbtdm_app.a old mode 100644 new mode 100755 index 0074a992565c7338858f94048ed31877235ee791..2206640dc4cb117efd8901ec29fc6a26ea1bd700 GIT binary patch delta 61114 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 z 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%0DI1G11M#UNiEk!4_zgsx=-HP+OjY)~W46v_rQ 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 diff --git a/tools/sdk/lib/libcoap.a b/tools/sdk/lib/libcoap.a index 606377214da9acfb8ce7c9d551b032e1d78bce0c..c1292473e50bb9e5fe686142f9ecd51008d39d8c 100644 GIT binary patch delta 1399 zcmccgOZw6;=?T(orUqu_2F4o|J-FB*Oq0z8T)TxCO(s8_acug&xr}m~1>|=!GMO+; z7GM(Dd|!c07^ZM?0hjn@W|J%z6oKvvI|WA5=?YOSqKwAV8x>ejPTxD1QGWA@nai2@ zEg9nD(@OJ_dY@egY$iuE~!jM~>9uE?aFD@y{%u8p0xXRR$0oj=8=S>-< znJf&ZUr=Hc6NM--GiN|{>vVB5MtMfl?dE2Te6cX^f&*ZC@?^#&36PMPk-5pFTjJXv zuVyS00122I7@KTQ*u!{H9LAemz$LLg;0j~-Itf!F23VlLgV@~I%wqcfCMHo`P~bp9 z3?XS`X^cgSp{4P5#%88!ZYEQs>2-ZfCfde`I5Ri2MCKVAnIXv;n^|nX+sAa}I?Q#G zZb@vvkjDJjhtXoXVib!AlZ7RS7G*RAQ6fyn#voc0oK%<$Oea5_aRQv+wsUM{e#hc& ziZI*E%*YU#XMvKAEG>}bjFDVuW@co%-F6pqLki4IlMA@Sw%?LtIb=0`^JZodW^)50 zkRwEx%+0_wqxtm4Eo>spW@aW}{&WuwHZdk+Fh`WpY`b|B%O_Sw)9G3XEOMbpzBe;7 zHbHiUDTf8JS>>Ut`nh z@(QfjBj3Orl#|etgrT9q^h5<#IYz_j3R{?8Y|l_+?P3=-XUI(~NzOnx+T6(8bb9Pg z7V+tFnyi|PX45@1Syglm4UCYK7#bq^(%i@xDK^cGOw6{=)MVY#gX+QTZLDe1Fd=Y6 zy}QV|pC4Ql*-f4oQ8D?0oWk@!a~Tz;R~%n2$P{9JcUlLna3zFd4s&d_9I)_idf_fkyED$O6oMRG@dSal2Lej`YyKDP5{x6 BtmOaz delta 1349 zcmccgOZw6;=?T(ohGs^l#zq?zJ-FB*OoPn@T)TxC4JSXGacug&xr}m~1>|=!G8r;V z7GM(Dd|!c07^={4asik4W@eKt7Zic+3OfZR6N~AJQ7j@%#%7xz&gf(2H)Dv8PbN*{##X%^2kwjkcScG4jR2ybBJ1?a7lFlO$k5lWvJ`f4rKpOaLaZJz)>y zMR6$4cya-k#P)zIjN$7fOe`5-fdUU=b7M2p>HC|QM5i}yVH1`zH?lOqqR7zFU^`#=?x03FSc`RWq!xvZiFz_%*@aNnP-8LXe>>U<&2RW zXJ%$(wB2?Wb3+QuIg<;x#J1m(V>x66bAhEL*aeK{pb!yZHZwB^^O?*H!8D^ORNNTM z7iBcwZXU(*iIvf4x>f>soXJ(G9(i}ylrRDSsQj8MYwQPS73$3uYoxzdq8pqA`uuGm`_hs zV3lJsu$=s0#z}Bq-kzbz+Qlwv!jPL-lAM8Xow<>@(e&7zEaKDUG+8wnji-BPva0AB zSXv?}F*HE(4#){eaz-Y`+h=OBZs|esN%l6@G*}5UIiE{>`@4&*`}x5|i{0dT5fzg^ z$SF+!GnY|edc|=@rR~Qav1&3h8gBpanAMOQ8keTvxU_rE%56EFD~d&w$-)d?Fil@G zkI`s*nI;=63!~Ze8eKL;MzihnblLPhP&B_PWt(ot2u^~+%qEbeDZ*r6G5O()6W~CZ qUNetTVDbieh3!YSvK6t&86YP^6O?3VVrej4@Fb(~_VitBublwa%$yGZ diff --git a/tools/sdk/lib/libcoexist.a b/tools/sdk/lib/libcoexist.a index a6b329f856523342603399faa80e667706d4fc95..88029df6a138ad690ad6543da9c77e0145e2269f 100644 GIT binary patch delta 258 zcmex$p83~#<_R)vh8Bh4Gj#;Og5ipJuZhwdbJ9_p(0M* zCJG8h21XVpljGN@Z)OTJ@W*44_tMX7c%;MEOqP_#XOW?)+2o6?nwyP|3E(p)`pkT3 E0A4*f=Kufz delta 258 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 X(gid^CpLYq0-H4J7k&l?Bd}`$>&>yn delta 36359 zcmca{NaDgli3!r|hGs^l#zuw{m3rz6e=sl(AoeE3a@PJE3^?)M6O-%9o#s($^lN;I8nSS_eUd48vd2=h5FhApo$ulL(7<(rRNL31*{?B01*t58M zVIu>>0}ckZ-xq&VC|Kxlbv3g%5eO^dx_y3RpfT=&`1UHn;;XgyoC)p1mtj)~8kipEr@P(0q zA%u~Ep@5Nrp@f-%fq{vE0VJ2g2%#Am85sPT85ruBA$$p_d_6am0a6UYOBop$ETM`f zKxvRT2y39J1&L9J>%p$1&=3mDsD}i{fH@!*Er>~V2q=CxF)=XgXJTMD!^FUFgNcD* z4g&+j2Qa<)m)s;)#wC+`RhsK>t1~dLFn|CHqbw@}15Y{^1H)xT28Ifd7!)(Hus4Ac z4v0}}`9OBMzOCJy$AObiSxG0Y4M zOgB^+7#LV|7#J9sxjjHkO-2R=W}XZX(=mgafq_M!6J$CI>j!oQ29{(-1_l;&kO*rM z$eL6}kbX867O!Ir3=Hh0EDQ`RKC?m0NDc-DmdO`XCF|KZ85p=YSls_HFfed~(j$u} z$R-Bvd&~?BEPl&DRxz-ourV;O_}>L_QbDE!7c($0@USqku%-YR z+((&U;sX5f6%4GCC#uQS|K?y|P+>I{XJTOB&H@=|4l;#-I|iiK0>ozFKFP?yz-kF% zb8z#qFfg!Mf!I9UY3vLPtkxj50Cz6PA{!7}gu4r*-WJ4`;4TK4X$NAI2a9CJ;Fg&KjC6vVD$ts8Mx~>85mf-K+i*GqCS zFmSLIzX9p|4iYT^F&Vg>L1veNbu#d>7&9<12n%sDFnnMwVzgjkU=TULz`(#-#t2ft zAaWU`v6?Xf6o(?wAbTJj4w020V;~$Jky?;zYQcI0M5IBS`g%rLMg|5EkrN;j8o^Q$ zB3D6S*9_*!h?s&nEsU#J85k5q<8uobSlbxavNJHKh^T{tuY++PI|GA;$SsfoU0^*r zBD+C)dchn6ksYAm>jT?kB2ox)_5{Ww>;QFt~_-LYH+WBPd8cM5;iMJc}`%iGjgKL=O~Aa~W0H7#MDd6oCww2M&cN zB7z``<}*HLXJB|CQU>BI02}>=ftTeI69WU^UM2>H4A%P18LSKp{P6`0tXseV&mUjJ zz`7L_tStQTTf_i0e_-vMIt@y92nF|h7D&cwhVz`YuzW*11k z1a~kf1onbrN`@O$!LS|_VPs%X;I;-u&fzvz1_l*wPX-2tde);`Ss55KxEF&W>cmY} z1_mAOgCNhJ{LIS0V89<=n#90*24sN=e|%{H1M69kGi~_eON$s-&w(s+;NA$*d+{eL z1A_~9K8SsZlZ}DFoj*P&iGlShNUsO?Cy;|~fYb+Ye*p#5%{m4Kh7dV!22k`o;ACWA zh~VA=3fo7Zf+B{y3S`jaLam+kZ$Zjs8SPjY7=#tL7#Mh16&a)07#KvrDP0-NW)O)6 znWF-Za~6?mkPlSBQNh8$%L0lYUKU9<1_t4BCQyN4%eVq$z$B0zc3?Jx2s|2(X4R{sL*A0t(DXMsSHE(hhQE6x9A_pu`;w zmf;Zj3vx^hSPKsWFAGSya1#duLjY?6<6L$I1`%73Wy#>=!65Pnq&0;R6bLLL0iY;N z1#@^ryto)*8CcW6JQ0!8pa4w=8z3X{807g3u;nTu?jUDnf|Y5AD1j``0&@&RHi68} z26HS#_JI7G1Lio0yavfkUaAvWU&_tEz-9spD?V{hk;JYi%fZ0FpOc!$z^)$)s&u&3 zm>C$@4M4&y47@C$49o&j%5L}rR7doK!pzu`gMmTPlY@al9F%j#K`c-y4yqOYFflN& zn?!LiFo=Ql7Q+>RSd(jYdFz|m85r12TR=wigJeNzmw_*cn}I=tv0a3dfq_4%G>w6= z1EigS+mVHVfw2?hG!|}WW(EevE|8TR+>V?K42<0%aUTAH{9*>i9uQlA+mMZcfw33F z76E&Uu@A(S;NA@?RQqEY80r~hxZ}AP7#JsjBow$Gu`@6*P6VZ06$YtHP6h@RP_4%} zWjZGVgR~+C0|SHf3swdOM(Ovg3=B-t-&h$Kn5F-+GBB`6vw+GdX>K+K1~zFSHUDAS zgDPVTQwakDgKQiq?m_vGfq@Tf-x-*FQ=s-K^Drm;23zWjngFFoK{w}aNuecc))WJ#e z0*J{xaZkMlI5k}asbikFrCy_zk%55`%H2_~naRL-36zNDGB7YGi!m@TtXE@T&;p6< zR%57V=;a3aG>R1*C8~_kjE1U=F^nb*%Ai06D|KODU^u15z_10P5*#K_Wrhq|y$lQt zSJfC89zbN7C+@3PWsGKJ2BlS1#u(;_JL**#V?hpMP~O47!0-U%KMqhE>lZfzLp|p; zP}DG}J?CIxV0;Gh1IVwSMk?bRCSC>x?T?@=^c*Cyhk=1X8|+sw_Z9;KgU&0E>>ph> z1_lNr1_p*bJPZu##i@l1j9*}(qZP)$!0=LyfuWHH>`_pNfnt_JL6tFvwVqjm0VEvD zTEtMyAj6;)$H2hwRgHmR8bURLavC($R6q%VK^>$a3Th5GxR^jKNM(>oplDWBfhyNB z1^Gptf#E&GFji(z8iR+i8H2K2Jp-sZWnfUA1q&M4-Js}W2PYj+Y%$I;KuX2v-Nd<+co;8d~%oQHleFfizY3$G>2pcKa# zYyd94meezY3NTRn)-VTT&~mUr=8Oysx-txq*8eYF1_p&>2F8_OsW3(c24zqV0VNG( zEd~Y#DRl-!2x*lvFfi-}B?n$`D6ujtfWsG>UW^!&yI>xf0+OhQ_ynB8z}W|6tQN@M z2I>q9;(TC3K(fm7Vft2r^g*;SS}`yf^@5VXVUXXsz&Rv{kAcBBH-~}oFeuS51~C{d z24%(*2o{$khfGBqga_i@e7Yda|Q;J zIiM&D2Wy77;Tj(UgIro317kQNhzTzK^f(w8Ox!?)RxCng{Tv2!bZNhq=55gO+yns*F*f=w&c50u^?%z#;Pt?1@f6 z1_pUh6*3E4yq;hL72ynwvlu}VFBusa48XPSEO3F&#l*m%1kU)g8T$np7?>x{sn^wI zU|?7PYIzDWFqkHQ3YfWI#mp0@)SE5@**CWyDlntoP!yB`=7B>%n~8xz*NcIHp_ze! zAxn^f!LS}Axd5!#j){T6Fdr0;3&DI)cTEe_dIAN|5dla5fdT{6cLfzZFCbzdCxHtd z2T;Mo4C)9oXw^@ImN$P9iWsy&MK!2eln{iNRs;%0kbVX&Q0fOsSs+U>mBOkiEl_6( zBp-z=&&q58$~53|-Rvx=lMOO4im8;Lo`J#K6)YDG3KejHJ)@q1LHP-+JmO^mwTr+7 z_IyDG25@<8&mj8;6i0W!(e(?Ibmp8FfyB=paQw`M$H!fGd>De`>mE4J_J9Jhm64&I zf$=_A;5VxIC==?Gcbcnq5K>M#z$bj7Bd5b;R}!>9)tNFAo(l? z#wTDNXwXXuly;snf?6FQuW30kFff2xF{wh}Kn000Xw`>8YllfN(K(>%i-`jgNe0S^$>%1T`uX zB2^EPW6%P10YHUD7eo{!2uiA;R1(8f#=xKjYKVbMT#KTBl{p3+KrxJl3|hL3kec%l zObN*4mY{sf#lUb6CWz$n3`PcqdQb*o5`p^_WGgi66F>#F7N|!F@}4+C4TDw<)Kp`b zAd;z|78=OVaF`rQgn~w!7_?SEoth(354V{?YYWuW4wz1asmiAqq3x!dj0_B*7QhCG zA|_A}L7R!7KzPW=zyNB89)(DQ0+K=b2P3rEBP$E4i9q%+FbIKjP5liqNVeGm&NkJ| zuwra0JlmLpv&}X}P~u|@Q3BWM+rh;YW0*otY90gQ4zS!DP!0fhK6Zln>p^CL^1v=e zcpdoVXQg zt{F@atP7HljzIHu0!$7g8K^SGGL_adFle2D`lb}2ltJqT)a;2cL4?`LkDyHvt&gB2 z3aSDjiootgN(?_4Ac^4|L>d$%49WuV#Bdx`H8C18feZmPwixF~h=V!_42*_MpgN8* zNJ|K0f*=C}sDBKqDT^2wltIlCP+`lUw;j}%k^vWZATvzCDQcYrC_xo7Fv@^a)FDtR z05t_<8I?Ie_2Pzl!+W6KnjBbP{U1;{It!F6Ap+Jc3=E)-mOLY4Tn0B4 zS3o-_mJmshgW*jxLk2C-U>2yK<_DABP|u)z2UG*{GB9Yp1J!>Zqq8B>Afr`y7$N-y za4iiP{7|0#<42(hGE(ORyScsc^ z2Q@w8zEmNb|aP{##D%Vlu-&qLC~ zDg|*`9!@=rK&`k+uog%kF$b!p5~@W$C9{Zuu@W5i8mtTq%AlwNb*Gg+Mg0S$f^ zr4}6_B4mBMqR0I58e6%`<3$ zhFpr&85o3Qz&aTXK(fXRTA*kEiJKsco2W9zu$3@yF*qnPC~LxU6{rmi>choBl(I6{ zfZ`uy4s^&vrGRLTy z1`QlC2C0C0N}%Kh@Zy6ig2N76S9ofxJ{jbp%fwk>YZtU z+G3!*(+L&>_t=y{GYudIs(`9@P?7_=6x0!kW-4V-WsG4dsy9+$V9;{~1;Ac#h6K5L z38mKvB=YxR(jkxctNh>d=7_|6XuXUdhhD02!m$%LE#t08N}I8G zT=$qj&SIXpwO$ugH-jqLNphfWhYmSwUA;1> zzW~Y}S{tBsowz(W9zi~Vr(Qz_Wkp8F=%W^>LIM@PrZ9Co>KT-y7#SEQsxvTXd_H!^6cfMzYE7#PkY%hX3R8Zap9F+p3`woH(r#_upSTS0v(@E9AT5rc9POkDv~ zoxB1xB(@{e88T>11-T5AV`0)DAA-7^AeZ?e1XUU9qd~3qlTfE+AWMNj4u31E@Bige(Y}s{&P%%aH|tFflNIVqy=npbRqu14!jX1z7(N#h|*`s zN{yKr7(flW-^hYK%#bQxKoRPBkoFX)penLp0n{cdWWgG!MgAZ`So|xuGBYrM#>KRH zp$6rGq@f8xWd<_?1E>~*CwVPUatBqNlOf7LrGzrL3gBj7(28JSU;q_!n<0{{%%Fmm zK^Zi*3LYTMf)&XXp!yHgoq7UM$%Hgu#AwK%4AKYE!2lkA_@@XRe_&$JTMTNVOb2Hh zP^khc&KT!RQG%2z42;vkr5|XP2QutA9b8#42J3@|J*R`qO2!b=oO)1EIRk7AV-R=% z5}ZdsB_^n7tyTgDF>=Em>{HN~J}677fCima5rdId4?xa31-2aIEKv8DaZa`}tSmbP zwsh90vbD9$jQK<2-0Hs z6I6A|fwk}FWMHrWRVcTWLFHc-1EVTf`~@cigEDBM24pXT7AP@+Dy{cWSAjZ`pmbHM z&cMK@0`WSi2MMjYK+>R*7*Hp}0$G|1Ja%KGQp%tNs+5Wuj8qs@Ky&jTYgFqQL8D*{ z3=CEWKrv?yb_povK(1z-b4!JR!N3qyE19!^Y9Tf*1_q_H0tQA47LXKUFsS;r1Z#5O zVt}+#ma8)`tbw`!JUYP23~JajXz4L9FlC1}+q?CE$ zop@bPdjjOCE>#8wg#rdffADN-{UngHLAB8dbq0nwRdBd67ykh_zHA{w10b0SR2eG< z6;RIzl*d6uLh+w?1_muqrT}?`OLd59#`3g&t)1_4;Q1@(GB zA#fL>1k@Q*22FY)W{iHQGBDVHCXD{`Gidw(HPNd;!|RZ_D-C{7P*sB}UZ}uiP{h@M z#>$}rRv>{oP$)nJ4%UMV0Z#%zMU+7awE;;91E~4Zh$PSj>UB4Pk~c()tpz&+1D|fU z8Uup_D2>>uaWOD}Fh`fYF*gGP2;0r&U|;}YjwlB?Mg|5DX60sfGy~bs%Lp3bH{)Vp zuybT&U;tsZlXi*R3=AO5w#^>rb7Xt$b^X#_=&EJEtT^)}J}U!*Ez}BbPhopW z8%YKRJ3R&vBaaX4B5no-dxQW3g9CyCicSUw$IT*vZS1P^Kot%{5Qtg;TD`~cnK5WS zh_whJ0iu>nvttsS%pbsc>JG2~?CrRL>l7N_bZGcYnR z6qlr=q^9X*FfdIoZe`M&d?-OeodqOZl$n>VmjPNhX_Hi%nNy;hnFpHKVkphaEG|jW z%V1!h%$O+bz|6pqT2z#m4-#NtNG_=?NQLNPU|$*&Wg7|%`CODbc0I(cbQkVG33$Sh_CM$kk8 z!mP!U`IF1)4>7_dL8Tqsl;hZi8{kHXGcX{Gx&{|UG2{+*;YUcqJV>Uznkgcy;ps3?;_9lka3G zF+K&e-%eJ_RAT%w*)_9-al+(XnO2OmCV$OzU|crYEGvca>*U#49TE@NVg5x4wP%y9 zvz-{fPp-@EW8Ax$H%F0)mjxUJ91M)iOq>Ff8*@b`2jrz`Fmi%KGB`o9|LVZhJVs6? z1`tN_%e2Yg@=O>{PS(zkV4N|zC4U~{w#mu`A&kc-R}}1+Y*VN>U49#@+~lT03!b9X zw4&7F44=%rREEhLCyQ>rRj9(bnYr4QneohK$GY8&jAy3voo5o?EYfg;r=AhCI*NgT z0koV+nSp@;H2*FS&ISyi>WM*tnE|}+1|$wDxI+<(?dMP8rmN0`<=!A`A?mZaIt%>W#zLDomjDe;{2944@7&Onezg zyqtjnixplpiXZ+j05WI!q}ibE{qN8*}~Xn%uq)#GcbVq zu`qE^_Z7wl^;%(UP-hj!2K7u~Y*2?3%AQ<(ektRE$%+^DGipzMc;SX50|Ubv&`Muh z1_sbj%X%n#4#VV27f&-XOrCd1jPcLpt(QU!L178D z2?GQ7B#7%kT|tJHBdGusGT1O5eKb9XN0olK;pp=aYGOrYK{en4O(-> zz`$SwYU^@BLp&BF0o9y~#BKnwp&B}o*b6{xsG-Y2Y*6vXz`(E?WGIw<7)ksrhz(VL z1;hqrc+gNjS3LuRFqHEXBms5AKM)%#&JL>Hplm@98)}d=hz%;&Kx^%|85o42Y)g92~)NxH9HdOs|1iPML0fNJ@7m0lgiG3c4{Q$&<8u|gmh8p@4iOtN* zzyR|A7l;k2D;O9U_;?u@grRInusA6EL1hG(0|^!*5F6@CTM!#msWUJzID#}o+2J5@ zXlTWN*iiLZNbFJ&8>*%X#D=PA1+k&xUG*Ri)X+Yt1)w@(0Z1IGXeo#dRkIF>y&Z{t z0EvAO#D<2@Ll7IP_Z1TRH z9SjnOs)+=#L4*Aa3=FX#HBfdLNF1uBmJhU43FKV{28KqEA}G5DqzKBMio{+7Vncnl z8N`Mfv@C2+Agsc`09yJN0uqO+PeEdrAhGK~Y^XUcAU4#T4yZYxMSv4Q;-S#;e-4NP)vyr6 zhFY)&#Db|s_Bl|+BgnuY44M>YU|`q}QUi7L6%ZS${yvBe6@LO^gTz7k?>&eE zmG}Z;gCs!l2Vz6TS%eUYlpn-~ipwLhRX}X0UVRW7s>T+H9SCAW9hwGODhKmH3rGSQ z5|cq}sG=1}>?26*n@H@hNNg@)1_qd!YDjD=Bz7o*UC)q(;4pL}u@{5bPzS98v7rt+ zjKsc=#QqCnL)9~jARHlq#5O@<2Z7l9pzvp4V2A*5pcdpJu{)92laSaOk=VzO*cU)- zXcSxrvDG03&TSC}24N`sJxClHH7xa_h%@4iCu}ro{Gd?iNrpF z#D0pzW)ovzU{nW9)q{4wKsg|{nj^78L2PJ{CW6>dN0cG4Cn2$CBe8cOvCkv1Z-Us+ z5PBd6D*vG^>L+3h48leF-EE4T%Rx?57|$RLwgiHjg9&10z&i z0g0^%VMFqt6^H}1*b&4A&FU~PFt|!GFbG50F-YRMAU0He35cx^Ne2}m^-y*{lK27; z8>)Uehz**z0TtVlp!PqMa|lV|GKdY;a0|o+^=cUy818{AfU>_LiL*%|vN11+4VuDa zU||2x7s3=9ljNbF!Fb_^0b7sQ4-t^~veEy4orD*;&s zW%nbA&p=|Y1hJudH%Nin|7MV&+XB)IWuFEqg0in5v7dt2P|a^ZY;%a-4LX|#Qu%M z7M}W%QM}$xhJk?*s>>h5hGxik5F0992Vz5=)e2&RiVy|{hE5p<24N_B5t8_35F4s~ z7l;ko^askPAoWo8NsxFjw0(6O#DRL_0f-G%^a_dn8^neh$|lRezzEvV&cMLHCCk7d z3}uUg#Gz^wKy0X)svtI0+yKOeikr%U+E-A`o*)S*I|+$hhQ#hdVoye5ZvwHQ7VHJF zZ6Wb?5ac*0`#MM*YVjQq8>AkTzn+6QP>DAnHb{bjf#Exd4Hf5-LnK>K5F08k1!6!E5u;!r~yL2Rg+ z$w=(!Q1ze{QL8}WQ1$CUY^eH!NbI9f^_xIjL2iO1pc?Lh*ia20kk~(w*b?##42)1U zib!lTB(^;gI|PZHiNr1fvq9m{z`)QB=0M_X4ibAC68i!Y`z8|m2NIi60pU0WB(^CM z+aHOYS&zi2Lt;-xVy{4A??qx?LSjEhV*f#63o0TUq=v+{hO)u_4}fw&{*Odr=OM8h zkl0g@*mIHC>p*O1`LPAWhDOs~B=#{R_ESYr`wFV)KS%v7wfQf!Lsx)eH;_Q7Q}!!YKaDmuRaWN3v2O=&FVnfB%L2Pe`xQ-gAeFc@U07-xb zJ{TAnY(Z?OxF?7WS}X=?=788x@hA`*G?T`_zz`2&L&dW}Y$*5fa4N2%15*yTug^l&Hsv~M~9wfE^5?c(3EseyMM`EiXv9%y< zP(os0FobZx9x+8?+aR$Wkl5}>Y;PoX5E45Ki5-i?PDEm7sDm0(kSJxyL6Rs&VwWSa z>yX$@NbGhbb~h4x5)ykF5_>L;4f6j&7>9v@VFeO<4HA1Z5_>xmdmj?}5EA<&68kI? z`w9~KhC1l%sL<)V6dC2F2Z*srZ2!Z<_?4#~TJwN6PC(gppoL{nHt38NSS{CsBt8L& zJspWX8;K2CP09$ZFE)b2q3j(rr9s*GOtUBeB0D zvHu~lnK&637@ZiVKbB$?tmlJpz)4aRi7ko5RzPB_AhAJ9OJS9YIY=CuUG0$APDpG| z5F1)3`GVNa&Gd@d4u;r5rZ zjO`rtBA^xH(3xk@-c3g63^Ql}0V8w*cq2#+baM9uhz*^SYP5Nrq>d^81g*c7z%m=QXXDFDjO(D68Ca3Y3|kxc`o4d{^9P7oV9oOK7p z1~r9169XVNbQDSn6q=xsB+w)=hz%V8x&&fF$8dx}lfjVj7KREC8#?a52%0hljW2)_ zu>^<%9T$iOv7ue{S0FaD53w6Gy96y=KY-ZKQqdDM*8)xSpo1A;>CF~2g8@xf@=Od2 zLeMByg|a~lhBQHIL_iXtD7OJgfEWx63{FrsNRbDW%?4^ELD`_SSRqh0XoFZ3lnsi( z6et_CMk^o62F?GJLD`_du7a`+K%?NG6)8f{gfo)2Y%($rEY z8)U&sC>vw}Xsr+EoIOxUcmO00I=+#Cf#EWU4Nb6jp=^-Ho`c!-44~y$44`x6gm@Vk zK&KY{1WPb5fDY#R4`qXV#>~vX08#^5&jecKA_PtOptV6DHpo!WDi;tNBn4V01Y(0G zH}pVy1;9J)8BCyT&|x!Hpj9X!MWA*iXkjIY4eFj+q$D+7a&G6MrB-*Z9Ppr96jvO#VYgR(&>Uk1uH z0j>3bvO$F-Xfv~rGDAHBXoayJR05Q6jG$~#0p|*0gEBV*1A{k|4RS;nlnq*w84G2D z{E!S~g9@2UC>s>5`A{|}mz6@=)9Xos6-@a)C|f7Ex?=vWrN~= z4wRkDz`(E=$_Aamu@1@xog@J|6%u47C{65!iq|kOFdT%kLFeckhqC8_%KuAH4k#Uf zj*$duUdO<|a33lTT6Osf$_A}g`v_%&1~I=v*`QN!IM^5%gg{{q8e4+0L7^oAWrIRX z3d#m$W6()@^&kzPl1L3I0XnY~bj%+}929h*!}UOHQ2w@qssYtiE>Jcon!KQFPzx{w z$_5o&pgqzcy`YUu8BlT1R;3~+yBAdcgAVBfDFST^1#Jcau|W$7yP%3dp)vu=-pRng zFb&EEZCjlKWrGfgSp;Q+PJ~$lWrNOv*#>1ZF)}dhfwEZ`85jQHYmq7LfN3>@!Fwm(2lBJC>xaKCbNUee{}{1P(qstl>oJt z=0n+_#?MkH8&r9$hO$A$^F}B;iGhJ(JCqGNv<0-^2IM%l(4fYTE>sa{u*?|B24!W?VW1!lpy0BH zii3($&@Ob4IH(Qj4HXB4P#}~I+FBS6Wv74^fwOP$xSF5lwI#b*`kaL3{RnK zDMkhcP&XeGS}KeT3?HH5>WmBw-#I|#zcvE{Xp1@M{A!RQW6mC`W+0_8@UkC8-7#2Xzy4plndZW&~w}#w%^1Y*4$w9m>uJmH&QF4yeKi zfwDo3h$tuvB4R6yCcK`UFK?3WA-3@uRh zUj_ySP9cEC6-YL2Qr(pzgU4wA&@X z#lQe!g9vyf6qF6he!3twv}&UZBAeC>zxOV0aJZfckY`p=^+$zoBeUna{}0z#wGCzyM0^pmo_G zHYi3w=k0>npuVOYNDU|m89;|*GcX95L!wm+Dh?_o4WMk0UDn*7^4}b^y_12#2`T|< z!-E!YgEWJD5DXOuRUT1LHmC$lfU-et#xy7!)Y-^^vOyh;0w^1F5KA+N4Qj=JruU(2 zQ2&FWAIbss*``9-pkSO0WrKXY5XuJWUk+u1T0v`}Y*0nD8OjDZXeX2nnqJrsWrG}X z6v~cgU|={6V%J+RFeEZCFkA$2EEpI-C$e6LvO%4PyHIu;0|UcjC>zv(dHK2+| z70L!BOl>F|6mpxXjqoHij(T|BxHfYaJ4wMZFiDD=lv?Z(#$_8!q0ux9;bO!!0C|i+{f#EEat-;8^a2d)5 zRq;2WY|wI!`(SoG1A`r?u>j^UFn~_Cc@1TIfEo)>Ht4pQ?@)FeBLl-wMm2{Rug zUO@-Za6;LjV;=dT>=H%>22m&*)U=m|vO!1GD%L|eos0|&>QFZ5m>MG}8+=0zl)Z|P zfx#Zi2JHlMg|c@tGB9{U*+&=|7{Z|JYmAT$0H7#%%E-Ww3>AOL$iR>ZW!Ho5(#eN% zK-=y>ho*oufbP_(hKhr>;DI&?fW$#p=(Iz{LEG_qp={6{JCmVo(AK<}P&Vk=lKD`! zGZO>DQYhPxiGg7?Xcq#=P|%sP8=(@Qfx_)jHfRufFO&@$Cp-*ggZBHKgtBKaF)*Bm zvO$-_T!pehH@8?-_2Ka>qR zii(vV65pWBg4|Fx=mr`=C>ykIP#nqz?QoTavOzoRl%Z_U4mwQ`yWW<80W^T958~J| zfVaMyLfN1JL~AG;wDr{y$_8zBb%(O;m>C#+p==js28LiL8#HDZ31x$}!Gg9(fI>O~ zw0RpU9t}E7DjUiH4Imam*`VWQ%b{%00Aeka4cZ>t3}u6MGIm1QphiSLlnpv~XDXBp z8dsbRWrMcLE`+i{yB$|R*!AGOvg;un2GIW4%}_RIL;Nui8&scyiexAoRFqzVvO!~i zH=t}#^?eV@26elhK-r*i;ulahs7VOgry&FywE!IwCjct{ogg(Hy8r_NNCIRKFO&_c z@j$!FK;ob-m?Tsj)H0KYvO#SERVW*DAdNPZ4XXPMp=?n5-yF&YwG(Zj>plncu0ooJ-avW$pXA@K$G@i2q$_7=h`=IP* z1_lPu>CqtdlR*c4LB&C*qFjKo=YY!pYfuiTmvaZo295tbfU=h{Ffe=uv7xhVKcQ?; zI$#!LU=VVF>~ZFWvO%>a=%8tkIH(UJ4;2SBOjMz4P?Twd+4T$zp!8)3=0HNi6v_s* z|2;r#P`wG7{eZGT7KcFDp!ovO(bPh&3=E+3kpLA3Sq9q40ul$MwIZlE$PcwpHmHHx z0cm(gC<#4WWe#YH2+9WK zG)9N%n}Qjw8J(uT3ucUGbe`@P!Z@4JW%{cS#$ZO*>2{%vhM21-E@ z2x5aq^%xi!E`ZpeG|j-ka0kQ&r4&$40>p-{y8-W^0i_zyF!pr8Fve`AEsLkug)#au z9aud59EiTLc)DCTqaV|g#nbaZ^q%j zL@!u6-7k{Sk7>=)>GMGJg{9Nqf#^F+r`ts_`Z2v&I=v4>e_1;H9*8zrHeD|oWbd-+ zbs*Yd#q@I^T4m*Qxfn)2CXbcV^FZ{6mDBfuXqQ#f`C=LUm;zQ!j|0&$tER65(HX0z z{{zt_tET(KG5Rr`ST%hfh<>nY`a2N)W7TxKct$@afz{LdKy=OO>Gwc%$Li^N35v@>!!;kGO96s zV4lv`%PKxSHj$B^X~(+hd5Mf_tOB4@Y9Wf(fE4qrpS}+yZotC8AOjKq0}{_!Kb6-2j9GNS;K&W7oJ$&6~OpbMvV2m2NM6o!oa`>QGW*{K4Zi5cOY>d z&@D+2ah()K0j3QbrrV`3s{j(`!N82b-ra196{BKMUd-Y@Plsl~HZ_ znN&uJ=_YB60!%hrr@N&wsxkdxpPmPzJ+@Atmd2>YC^3C+8lyT>%hu`7(iqjI?@42n zn68q}D8Mvf>vXepMz!fY>5LN7=cKXP>~Eq0Va!W)73H<)fj80`(`kzGacDJy$r;ym_8T8<=H*`7>L_5{Vj<5W6yN4 zOhz@v71M1q8P%B__D)X&aUV?Y1#w;WPu~XOewcn2#Em#Goh^$|jge!zZWg0DQ_X?t zVOfl7tP1=L3}Vw6a~VaZPt9WFXIgMz`ZAC*i|J=U%8neE{td(pm@b>msLu4_z;w54 zMm5$q{0s~(5NEe!GYT+mIXHbQe z$2@cT#avdA>7_Z0{7iceO>fI#RAX$Jz80kH%i-zQK-?+Q|AM$YN2aUgGO96NnC_d) zsLnLu$n>&YMm5$BAqIve(--D4Dzm;h%D@mX{bVkqGNaD)w;)9}XQzwhffBC-Jn@F) zF$yrvxja2Bk5P@WVR~;KqdF7EmFe5^7}c2WNKC&6qJLbO&X&)p#@Zsuz~BM#mP0$YdYK&*5*XA>-Gaa}#eHn<`G5u^lqdIGc6axbbL^V$VqX1*ablCz>(nko# z6fg>~_8|BzX#6!GZ9UWXqG|gB5#}vqRA)-LG2N_?QH?D|j)CF6`t+niMkUq@4;dIN zrgs)HDzjRdC;cVfxKNMrAe*7Dk320@Im_7?oICLl_t$rcW$p6rOHV z#3;bTAUfTzh*6F8ZYTr80f=}HNc@b%^m!ohx#0{9tEZnVVpL|Wk!565<96 zaB8|_F{3h*Q0a8LVn#Jq-%0|U?W zhsB_HvSMW5na)|lsLXV-W4c}mqZ;dn$qWn)(<4h5m01hsGcY($Z!BR{gWa*(zOIC^ zeO(Dt`??b5_H`vJ+t-z_-js#OZtt7K`Z5>Bn_9;v&SGg`p#Zv#wSEa`w27I40o3Pb zV9;PtWB^SwGccGrGOT5~%f!QdmiriJWVVTmL2L#$&&uOFncNf@CNeNgn6qF8=K@X! zwG$OOO6n37F^AM=)adfo{NS0xCdZ(o8a{(pdbh#51)6+39A`P)BpG6khR;Z-`N6Zs zO^o5ui6uOuJe;|l^$${;Kb^SuVQO>2OocO+Y9|M z|L0+G0t@%_Oy9=_HP^t}cmWTSCbKTL><0!=dkr)W464ULts`t0G$|Q3*;Y|r?LFuM zNKo5^Pk{k+UI^q+7Z%22j0_Aspqs@&lU@?jA2G2ltLK;uI$K>6G$IA6sXLfo zQ5VEk;06s;GU|bjwg(N+aDy(9W6aS9wUa>|dv4Gu52FFdzF(k=fIwsBjD{dC=)`5v z7$gHXXb6MR2qXqNN)FUAX8;YkaD!HtFdBnQiU-|cxfkRBa}XEQwPavmU}XX6;hX+} zg{{LCafp`;Hvo$i?8*GoY3)BSR3#=2c)v1c4@IKr;Z03?O^q3PB!&`46lRmMFl+V90{{ zC}6#y@Bs}QGBQNegJ_UV91K+qQy4k^OU(!IK;z_$3=tsPKtte+3=tp-c^n-YdKz%4ih6vCE@>1~0QZQG5 zc%TtHMurFw1quj+RuB&~%g)FU0ir;GijV~HKmo?c0BV?nJq+q$ftv5k44nVxgBT!> zfg&jgWIxFDU>Oht0k*E19Sx}l2xEw2Rb1Nc84v< zeo!2PXb=YFa?p4xXlmpF^foz=I2a=<@SWPIH z&Cbciz{p$)7U2MstYC4_@nww6DkvtfF)%VPu`n^agG9lWGc#}+Fo7($1slTzItvXZ z0Tzc?&dkZqz{m_HIa#&~aI(!{ntZUPetPXWCZ6fmJZwDEZ9g#aOz-{3#KR~#z3u^% zIA|#kXw-}Wl=wkW0h;0fu|Zh{6rG?10}}_aLB$(rbOMwKVB#P)Ec!u731kLH4Ja+a z)PUHazCXxJP}drIdRaXKC|$t}1?3Ew1`r#RUO)zc@&rsA#D z0!$plhN%Z7ThLM}kQ&hCO56jR*mUzc-b_kHymLVn{LO)_62gr znGHXi$MhI2=6RE)779#%bc|JK@|}fz`k-Y)AZs9)nL!48DItglO3y-|RbIsfIhiH# ziACvUddbrr&#+2>@*PM8BWM^1RC|CXYgri>K)DIjW)J~Qrh|?Ofr^8i3_6=%gcWj1 z6sW+2u|a0R*r0wkj14M%VQf$V17m~AlX@5jR4&8VpvVTXLCaG>qemb%$T6USdk`BG z7odtA#0G^wsGtV1L17MBdjn#F!WmSNf!Lsg0va&_u|XaHon8!LS1~ZeF@SETgK`)^ zsRG0XB?8c3J%|m`0KyS3}S+@l)Bn9>6`S55#U?WO!2=dYMo?k^U2h30siADp+7FmGxN?VzgA5S{U2+PV zfCAl#47$E``bHr(k;yk7$k&6S5VqVHY!@F$1LPQbMkrepWDS%J8sz~kq6Mh}HBCU1 zD`L5sXqH*c?cVn5f~V>AskSk zFo5sjfm&vTB<=!YL&ZHoY^XuOAU0Gy0>p-jCxO^d@pKRy6wja~3?MdCO&OyP0|U&Z z)gTF|??Goqf(}RnrPdaZI8;L)hz&Iq+^B_$&jpK5-zUx{H~q#_R*8CWB7qtPnk<8* zQBWBMV}nNRU~EtW7sduRd!c&4tr{pBH2V)z18UvE*lD0BfvN$`@-wo6))|2=<3N%C zCm5(AP(u}_88qnzV}lObhOt4V5{wPX<1jX;Q3PXyR`$Z!%aH6^1+pI|0a{K7V}s@^ zVeGv~8V(|{Pav^DcT2(4gWB&f_I)HZpoTF_{54D*l&nB4e3%4iWgd(TT7Cj!gJ$wz zY|x4x7#n;Y2{g1oT?3dnXcZ5Ptp|#8s2U?AHmKWB4^!ldB;kX^4nSgq`V%nqpc^Y; z>?|ZTc}Q%~tR74aXjTu#1})fwvg;W@SNlRa43m&FPeWpZI$AI_piA9gY|xpHF!p97 z^?Q)m2awpuk=UofY*6?!Ffd#KbHLe}0W>`bGxQ0P_zNWVdnEQ}BsL?c=LZdH(3!t5 zb9j)%1(4WsptC4pijJ@GpuQc99fYJN8i^f`#0Fh94^j{I ze>Rdt2@<;kiH+>gW+d?*B=!U(_6#KU93(bqn*zvUP*|@7U7rHufNMGqP)#Z~{fIc5 zEFcvOzn1p=^+{Z%{Tn=ullK8`OXU zmHQyQppF6uBLjFB2&e=FEpr8lgBvSQaWT+j3}~?&NCMPCQGiN-N=P**8#HaC17(A% zR8TepsRvD{SU|-=y+P2NI!GMU`~}q$AU3Ga?_kq};()BJ>4X9ZL%6%a5NKni56;uM$M*9k7gW6}H z$$5|>P}*PuZA)QgV7LqF?n2p5K&yP9Y*4WaN-wYj))*%1ZV;c|A;l(Z2ud!{HZd$k zf+l!iY*14Z#s2NO2~B{~=fl+a*oP~w8IK?w@RjsX=`Y?B$;^`;xhu!&5M2xC;?G!TI7 zTace#D8nYtXfb`F44XQH5}$rShD`v*-V($rzzRy!@4;ikmY|9rG@b^UDg=eAjQ|4! z$TrXdXi$Cz$$?rkpp*&fje&Y*Aaxqk8)ezVZ9#2zkP?{o9zg~MP&E(I4(i~6uNySL0Ul=G>)b*ePRlu2xuS)qzYz&fDi)%DB3_KfLcEwIgkmUREcZ?sAk##9wD{` zt)mAigBcMa#K2I)1X;ul(h8CT(V#0Tkd4q`W?8Y313^%#(4o`7Vg7fxgqmIbvD zKnB1JzaqlGumN->AOiyf|8&6+R?xa8ke3)3Kx_6DK<3$k5(=^=(9k`o`vCG3sDBHR z1Gxya02|p}&?TOVm0%i%gu>ray6J!qP?nVvCfpczyHOyggPcYy!MH_#g=vw0ciudLl>( L2k53|P-p@GVzl1C diff --git a/tools/sdk/lib/libcore.a b/tools/sdk/lib/libcore.a index 1fbdb6484e884c9b84c04fce649bac9191bfd8b9..88eb6c3b0ed9e3e5b683f773ef9c9280d3994e72 100644 GIT binary patch literal 11638 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 literal 6724 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 delta 49 vcmeD9$lURfd4e>%p_!4Xv60b4rI%2q;bcBTvCSHc_w}IyMw|HztBwNzdHD{A diff --git a/tools/sdk/lib/libdl_lib.a b/tools/sdk/lib/libdl_lib.a index 352d61934c57b899e3d0c3374cd14b69e68f3399..7f816cdb0b4c9332c5cc0e53d9c3e4bb8da4be70 100644 GIT binary patch literal 709546 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�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 z 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
?$O76B4@(iQS9Do`}R=fW%&c#9o8M-hjm3j>O)L z#6FC~K90n`hQz*w#D0Xteul(;i^Tqj#QurI{)@!su|UL^01{gQi7kV~Rz_m0BeBhq z*w#pFXC$^e659`n9fZVALSm;OvGb7FMM&&QBz7$lyA_GuiNv0P#GZr1UV_A4fyCa9 z#NLg>K8(aZj>Nu(#J+{Zeu%_=ip2hc#QuTA{*T0FwnW5{C=y!|iLHRdRzYGLBC$=8 z*#1cDU?g@l5<4D=osYyWMq*bXvFni76Oh!q4%?cmdL}-*#=F^340IU~?L zMzDL+CV0d$Wz>^`pjRQ{R5v}4~-X4G{eL}Q37LwoDMrn4P+&Z4NfN@ zg$xV~pmYKg2d4*U+=0>q>>MF*dVq?9(gRE!J>FsB;CP3s2gN%~92~z;aZvoi#KG|k z6$iyHOdK4KP;pQ^!o z%K|!^9m?iFV)G!e1(4VxNNfcpwh9tk1BtDJ#I`_U+aR$Wkk~Fr>;NQo2ogI2i5-K) zPC#O(AhE$`=|lYpK1(0Ut^lclmKC78rWm2@1|;zoB=!U(_7o)c3?%j(B=!m<_8KJi z1|;?tB=!L$_7NoZ2_*IzB=!vu8(OB_L1Kf?1^S3zQHAhE&c`9sx%&+~_}O_0=BAhB(b*d9o1A0&1F5<3Km z9f8D-L1HH$u|aow!PeYnAc^N7u`7_+HAw6RBz6lDdjb-B3KDw;5_=93dj%4E4HA0; z5_=00`v8aytvik&u}>he&mggHfY{JFDF9{v0I7kp z{~)nBK_8cVk0wnel zB=!a*_7)^I_-+EIz2LhEpzIS!YR(|BFCek6Ah92S*w8lN6D0Nv5F6Sie1pXP0Ahn0 z3!wCX#Qp(dL)(OZkk|}J=jXE^u{l6&XxoDai7fzPL)#T1NNfoZ8(J^RAhE%BA3)1+ z@ZAScwgyNIv`wgk#0KAq04>|WcOpR979cgy^2Y{=?Eqp!+lMYlY!46{+9vctVh4cO z&^BQR5<3FKhPDsE_a;Eu;CmB5jVw@m6{H5r&H%BY`8o%QT>xT3^KS_fy8^_9=DQjs zb_0kFO{*

<$ncnr3>C*nFV83{4Me$!6xYx;zZS?GXq@JP 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∋8#5Cp#9#p=<3UEAuH^&?!5qjA&Wj-1IXOYe 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 z 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 TTZ7KH0rh)9dO#Rt4u}Q-WOfX! literal 641850 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 Ww^2wM?J(GfxFP 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� z5+>|RKpJ{M5*F;-pc@JLK;jYXTIvi8yc0m;G3-}C?1>=p8uk>B&nJV#8`vj-!gmTt zd;$9rP?K^RNPG!`cxQveU(~bD0)@>y(0KhD zc2JD+&Id_+VXp#Nwg{x*hdk&&Fy6%=aS29w(1-=^Qc$ePFv=GzGcfS31j#5c%3GK) zFz~Jc#jOgX{8v!&S`V6j)?$%Mu_NAnpx$#4 zqdaJgiFZF}c&wOF-UsBx1E9z)VPxQCSpd3=uwI#g0ffP^0ZP%^K(TQOr1CJU5(5Jp z5APMwsgvyYSQ!|2uYwx+4D6r*7v7s7cd;JP`0=W zQ4H3255#6+R{}-EW6*342m6)j?=Kh1DeM77DUUn@1Mf#r;*z_;#QXUkXj1YXC}Dqb zo34AMP}WXSl!1Zw4=ClTvG;(I#a|FxgFT;@fr0lQh^@u`4wSn8gV;L!Z$L4{04_ZB z_}!*=Tq#sw=TTu`FyXhKzWz#~Wc^c+4|%|)p$&f?0|NsuFSwv|;O_;cSw66g3x9_t z0|PHVSjK~&7ZkGsU>P6&29PTR!Np<#Kd8OHD*`S}L-<=k^`Iyt$P*>}pq2-(7}y~d z{Gg@>uQ-TP&rrpG668S%M$kIy8rj#NnQTc$&{cj1m}KvP!c>Y8G$VDIN%oTp0|T!N zNE^dBCfOex3=F)oVBQ5L*-1tW47_sS;_(ub>;`QH23~n^d3c#gwjN{(q)NNOB>Pu^ zfq_>GEO(WuUKVsZBCj@>dyPr<9w-~>fQ`8hN(G=O=LALN7gbO*4Kzc}!2J_sx&fm& zsG+?^k%58Nk?{>^1nD^F!Z~L~(Ch=B3U3Nym>L5E|58vMN(HkS_=`ZLR~jQ|CW3`u zK%ar3o;RHlG-n_J9*yVC0J}qpftQ63bnq`|ffR2hBWT4qp9ya+<5`e_MxZ2+#~7mq znx;AiDgsKt5-R*ZK(~*Tf;k%eU~iUzgGYxST!NN^IeOsXVcrU`9}T7-xmGAp54swJ z8+3~tZ#83v8Uq7g3~wD{wmJg?zc(mH*Mr#%{4SuJ+sX(!o{@$BIjD2l2KI^t{|``9 zw}UHu4}KeA1_s^^uw{Py`5>82uw?=KcR*!D7b9pgAdvq8$mnhmC!8UOKOB^%dKf`- ziNXBcphB>hQHKX~+AA*$59r2=%W4b^jq1=y0G+%I>efzTybp4&1Mhmq{~+grE`{XX z08Wey{EE|8T`zQ~e+bHJyTI~-{OO>;+YRQZLkePkP%R58pF|nB7lZoHdl`Gx85sC7 zcn>myR#1b-6L=3Xf{GOe{&}hl47`WI90C5#nhXrQN5C8f{>LEBF)+t~|17ACIu7R4 zJAjA3cuz8dhQ9*9!(Y6oz@ZZX9y#JY4dz6Fhn;xOfKxyWctDExESM9^e*u(3&Ve~` z{NF%@;dwA89y}h#dlBs61b)x~^Sqb9oD>G`(`pP1yq6j4r8O8B_GNjlUL@s&9Zf?BJm%-kV@$9Q;h6I{GfyMm~PfdU@V^U=Bb3 zK~VAX0IW=aA9Uy_?^Cdh7(ZwfiT5R=sW9k#SN<|ku)P9@rv(2`P{Hz=QJay0p#eOW z$omEy0!{q)K*isCuoGJNGp8@OS*Te59Mr!At+VI-2R2&9g^`zq>7+IT13zd+ikB74 zX5haDie@&Z^Pt5`{2ZW4kDUqBROjH22HD5K1S)xX_-mvY7@N$DWa^My$FAvj1Mn47y1@L+TUS9B82{rx