From 0eefd45e11622c1d52acf42a4ef496dd49c717b7 Mon Sep 17 00:00:00 2001 From: Miroslav Pivovarsky Date: Thu, 18 Apr 2024 21:55:30 +0200 Subject: [PATCH] initial commit --- ESP32_PrusaConnectCam/Camera_cfg.h | 37 + ESP32_PrusaConnectCam/Certificate.cpp | 174 +++ ESP32_PrusaConnectCam/Certificate.h | 20 + .../ESP32_PrusaConnectCam.ino | 146 ++ ESP32_PrusaConnectCam/WebPage.h | 1346 +++++++++++++++++ ESP32_PrusaConnectCam/WebPage_Icons.h | 95 ++ ESP32_PrusaConnectCam/camera.cpp | 988 ++++++++++++ ESP32_PrusaConnectCam/camera.h | 150 ++ ESP32_PrusaConnectCam/cfg.cpp | 1072 +++++++++++++ ESP32_PrusaConnectCam/cfg.h | 125 ++ ESP32_PrusaConnectCam/connect.cpp | 462 ++++++ ESP32_PrusaConnectCam/connect.h | 88 ++ ESP32_PrusaConnectCam/jquery.h | 23 + ESP32_PrusaConnectCam/log.cpp | 271 ++++ ESP32_PrusaConnectCam/log.h | 65 + ESP32_PrusaConnectCam/mcu_cfg.h | 252 +++ ESP32_PrusaConnectCam/micro_sd.cpp | 419 +++++ ESP32_PrusaConnectCam/micro_sd.h | 65 + ESP32_PrusaConnectCam/serial_cfg.cpp | 134 ++ ESP32_PrusaConnectCam/serial_cfg.h | 51 + ESP32_PrusaConnectCam/server.cpp | 1074 +++++++++++++ ESP32_PrusaConnectCam/server.h | 65 + ESP32_PrusaConnectCam/stream.cpp | 290 ++++ ESP32_PrusaConnectCam/stream.h | 75 + ESP32_PrusaConnectCam/sys_led.cpp | 103 ++ ESP32_PrusaConnectCam/sys_led.h | 43 + ESP32_PrusaConnectCam/system.cpp | 644 ++++++++ ESP32_PrusaConnectCam/system.h | 68 + ESP32_PrusaConnectCam/var.cpp | 26 + ESP32_PrusaConnectCam/var.h | 54 + ESP32_PrusaConnectCam/wifi_mngt.cpp | 919 +++++++++++ ESP32_PrusaConnectCam/wifi_mngt.h | 123 ++ README.md | 255 ++++ ...ESP32-CAM-AI-Thinker-schematic-diagram.png | Bin 0 -> 204116 bytes doc/cam_versions.jpg | Bin 0 -> 472023 bytes doc/esp32-cam.jpg | Bin 0 -> 266182 bytes doc/esp32-cam_ext_ant.png | Bin 0 -> 566324 bytes doc/esp32-cam_flash_led_resistor.jpg | Bin 0 -> 79619 bytes doc/esp32-cam_parts.jpg | Bin 0 -> 316802 bytes doc/esp32-cam_with_led_lamp.jpg | Bin 0 -> 585501 bytes doc/esp32_and_prog.jpg | Bin 0 -> 270070 bytes doc/esp32cam flash.jpg | Bin 0 -> 450291 bytes doc/factory_cfg.jpg | Bin 0 -> 519498 bytes doc/how to flash chip select.jpg | Bin 0 -> 8680 bytes doc/how to flash.jpg | Bin 0 -> 80446 bytes doc/pinout.png | Bin 0 -> 653923 bytes doc/relay_flash_bb.png | Bin 0 -> 120453 bytes doc/status_led.jpg | Bin 0 -> 373514 bytes doc/usb_lamp.jpg | Bin 0 -> 1497175 bytes webpage/assets/icons/eye-slash.svg | 1 + webpage/assets/icons/eye.svg | 1 + webpage/assets/icons/favicon.svg | 7 + webpage/assets/icons/github-icon.svg | 1 + webpage/assets/icons/light-off-icon.svg | 1 + webpage/assets/icons/light-on-icon.svg | 1 + webpage/assets/icons/reboot-icon.svg | 1 + webpage/assets/icons/refresh-icon.svg | 1 + webpage/assets/icons/wifi-icon-0.svg | 7 + webpage/assets/icons/wifi-icon-1.svg | 7 + webpage/assets/icons/wifi-icon-2.svg | 7 + webpage/assets/icons/wifi-icon-3.svg | 2 + webpage/assets/icons/wifi-icon-4.svg | 2 + webpage/assets/icons/wifi-icon.svg | 1 + .../assets/logo/prusa_connect_esp32_cam.svg | 1 + webpage/cookies.html | 7 + webpage/gtac.html | 7 + webpage/index.html | 90 ++ webpage/license.html | 8 + webpage/page_auth.html | 23 + webpage/page_config.html | 79 + webpage/page_system.html | 48 + webpage/page_wifi.html | 58 + webpage/privacypolicy.html | 7 + webpage/scripts.js | 448 ++++++ webpage/styles.css | 500 ++++++ webpage/webpage_h_generator.sh | 72 + 76 files changed, 11110 insertions(+) create mode 100644 ESP32_PrusaConnectCam/Camera_cfg.h create mode 100644 ESP32_PrusaConnectCam/Certificate.cpp create mode 100644 ESP32_PrusaConnectCam/Certificate.h create mode 100644 ESP32_PrusaConnectCam/ESP32_PrusaConnectCam.ino create mode 100644 ESP32_PrusaConnectCam/WebPage.h create mode 100644 ESP32_PrusaConnectCam/WebPage_Icons.h create mode 100644 ESP32_PrusaConnectCam/camera.cpp create mode 100644 ESP32_PrusaConnectCam/camera.h create mode 100644 ESP32_PrusaConnectCam/cfg.cpp create mode 100644 ESP32_PrusaConnectCam/cfg.h create mode 100644 ESP32_PrusaConnectCam/connect.cpp create mode 100644 ESP32_PrusaConnectCam/connect.h create mode 100644 ESP32_PrusaConnectCam/jquery.h create mode 100644 ESP32_PrusaConnectCam/log.cpp create mode 100644 ESP32_PrusaConnectCam/log.h create mode 100644 ESP32_PrusaConnectCam/mcu_cfg.h create mode 100644 ESP32_PrusaConnectCam/micro_sd.cpp create mode 100644 ESP32_PrusaConnectCam/micro_sd.h create mode 100644 ESP32_PrusaConnectCam/serial_cfg.cpp create mode 100644 ESP32_PrusaConnectCam/serial_cfg.h create mode 100644 ESP32_PrusaConnectCam/server.cpp create mode 100644 ESP32_PrusaConnectCam/server.h create mode 100644 ESP32_PrusaConnectCam/stream.cpp create mode 100644 ESP32_PrusaConnectCam/stream.h create mode 100644 ESP32_PrusaConnectCam/sys_led.cpp create mode 100644 ESP32_PrusaConnectCam/sys_led.h create mode 100644 ESP32_PrusaConnectCam/system.cpp create mode 100644 ESP32_PrusaConnectCam/system.h create mode 100644 ESP32_PrusaConnectCam/var.cpp create mode 100644 ESP32_PrusaConnectCam/var.h create mode 100644 ESP32_PrusaConnectCam/wifi_mngt.cpp create mode 100644 ESP32_PrusaConnectCam/wifi_mngt.h create mode 100644 README.md create mode 100644 doc/ESP32-CAM-AI-Thinker-schematic-diagram.png create mode 100644 doc/cam_versions.jpg create mode 100644 doc/esp32-cam.jpg create mode 100644 doc/esp32-cam_ext_ant.png create mode 100644 doc/esp32-cam_flash_led_resistor.jpg create mode 100644 doc/esp32-cam_parts.jpg create mode 100644 doc/esp32-cam_with_led_lamp.jpg create mode 100644 doc/esp32_and_prog.jpg create mode 100644 doc/esp32cam flash.jpg create mode 100644 doc/factory_cfg.jpg create mode 100644 doc/how to flash chip select.jpg create mode 100644 doc/how to flash.jpg create mode 100644 doc/pinout.png create mode 100644 doc/relay_flash_bb.png create mode 100644 doc/status_led.jpg create mode 100644 doc/usb_lamp.jpg create mode 100644 webpage/assets/icons/eye-slash.svg create mode 100644 webpage/assets/icons/eye.svg create mode 100644 webpage/assets/icons/favicon.svg create mode 100644 webpage/assets/icons/github-icon.svg create mode 100644 webpage/assets/icons/light-off-icon.svg create mode 100644 webpage/assets/icons/light-on-icon.svg create mode 100644 webpage/assets/icons/reboot-icon.svg create mode 100644 webpage/assets/icons/refresh-icon.svg create mode 100644 webpage/assets/icons/wifi-icon-0.svg create mode 100644 webpage/assets/icons/wifi-icon-1.svg create mode 100644 webpage/assets/icons/wifi-icon-2.svg create mode 100644 webpage/assets/icons/wifi-icon-3.svg create mode 100644 webpage/assets/icons/wifi-icon-4.svg create mode 100644 webpage/assets/icons/wifi-icon.svg create mode 100644 webpage/assets/logo/prusa_connect_esp32_cam.svg create mode 100644 webpage/cookies.html create mode 100644 webpage/gtac.html create mode 100644 webpage/index.html create mode 100644 webpage/license.html create mode 100644 webpage/page_auth.html create mode 100644 webpage/page_config.html create mode 100644 webpage/page_system.html create mode 100644 webpage/page_wifi.html create mode 100644 webpage/privacypolicy.html create mode 100644 webpage/scripts.js create mode 100644 webpage/styles.css create mode 100644 webpage/webpage_h_generator.sh diff --git a/ESP32_PrusaConnectCam/Camera_cfg.h b/ESP32_PrusaConnectCam/Camera_cfg.h new file mode 100644 index 0000000..3b2e8bc --- /dev/null +++ b/ESP32_PrusaConnectCam/Camera_cfg.h @@ -0,0 +1,37 @@ +/** + @file Camera_cfg.h + + @brief Here is saved camera GPIO cfg for camera module OV2640 + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _CAMERA_CFG_H_ +#define _CAMERA_CFG_H_ + +// OV2640 camera module pins (CAMERA_MODEL_AI_THINKER) +#define PWDN_GPIO_NUM 32 ///< Power down control pin +#define RESET_GPIO_NUM -1 ///< Reset control pin +#define XCLK_GPIO_NUM 0 ///< External clock pin +#define SIOD_GPIO_NUM 26 ///< SCCB: SI/O data pin +#define SIOC_GPIO_NUM 27 ///< SCCB: SI/O control pin +#define Y9_GPIO_NUM 35 ///< SCCB: Y9 pin +#define Y8_GPIO_NUM 34 ///< SCCB: Y8 pin +#define Y7_GPIO_NUM 39 ///< SCCB: Y7 pin +#define Y6_GPIO_NUM 36 ///< SCCB: Y6 pin +#define Y5_GPIO_NUM 21 ///< SCCB: Y5 pin +#define Y4_GPIO_NUM 19 ///< SCCB: Y4 pin +#define Y3_GPIO_NUM 18 ///< SCCB: Y3 pin +#define Y2_GPIO_NUM 5 ///< SCCB: Y2 pin +#define VSYNC_GPIO_NUM 25 ///< Vertical sync pin +#define HREF_GPIO_NUM 23 ///< Line sync pin +#define PCLK_GPIO_NUM 22 ///< Pixel clock pin + +#define FLASH_GPIO_NUM 4 ///< Flash control pin + +#endif + +/* EOF */ diff --git a/ESP32_PrusaConnectCam/Certificate.cpp b/ESP32_PrusaConnectCam/Certificate.cpp new file mode 100644 index 0000000..f68baff --- /dev/null +++ b/ESP32_PrusaConnectCam/Certificate.cpp @@ -0,0 +1,174 @@ +/** + @file Certificate.cpp + + @brief Here is saved certificate for communication with servers + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#include "Certificate.h" + +/* + echo -n | openssl s_client -servername github.com -connect github.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > github_com.crt + echo -n | openssl s_client -servername objects.githubusercontent.com -connect objects.githubusercontent.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > objects_githubusercontent_com.crt + echo -n | openssl s_client -servername raw.githubusercontent.com -connect raw.githubusercontent.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > raw_githubusercontent_com.crt + echo -n | openssl s_client -servername api.github.com -connect api.github.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > api_github_com.crt + echo -n | openssl s_client -servername connect.prusa.com -connect connect.prusa.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > connect_prusa_com.crt +*/ + +/* + Certificates list: + - connect.prusa.com certificate +*/ +const char* root_CAs = + "-----BEGIN CERTIFICATE-----\n" + "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\n" + "-----END CERTIFICATE-----"; + +/* + Certificates list: + - github.com certificate + - objects.githubusercontent.com certificate + - raw.githubusercontent.com certificate + - api.github.com certificate +*/ +const char* root_CAs_ota = + " -----BEGIN CERTIFICATE-----\n" + "MIIEozCCBEmgAwIBAgIQTij3hrZsGjuULNLEDrdCpTAKBggqhkjOPQQDAjCBjzEL\n" + "MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE\n" + "BxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5T\n" + "ZWN0aWdvIEVDQyBEb21haW4gVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMB4X\n" + "DTI0MDMwNzAwMDAwMFoXDTI1MDMwNzIzNTk1OVowFTETMBEGA1UEAxMKZ2l0aHVi\n" + "LmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABARO/Ho9XdkY1qh9mAgjOUkW\n" + "mXTb05jgRulKciMVBuKB3ZHexvCdyoiCRHEMBfFXoZhWkQVMogNLo/lW215X3pGj\n" + "ggL+MIIC+jAfBgNVHSMEGDAWgBT2hQo7EYbhBH0Oqgss0u7MZHt7rjAdBgNVHQ4E\n" + "FgQUO2g/NDr1RzTK76ZOPZq9Xm56zJ8wDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB\n" + "/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMEkGA1UdIARCMEAw\n" + "NAYLKwYBBAGyMQECAgcwJTAjBggrBgEFBQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNv\n" + "bS9DUFMwCAYGZ4EMAQIBMIGEBggrBgEFBQcBAQR4MHYwTwYIKwYBBQUHMAKGQ2h0\n" + "dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb0VDQ0RvbWFpblZhbGlkYXRpb25T\n" + "ZWN1cmVTZXJ2ZXJDQS5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3Rp\n" + "Z28uY29tMIIBgAYKKwYBBAHWeQIEAgSCAXAEggFsAWoAdwDPEVbu1S58r/OHW9lp\n" + "LpvpGnFnSrAX7KwB0lt3zsw7CAAAAY4WOvAZAAAEAwBIMEYCIQD7oNz/2oO8VGaW\n" + "WrqrsBQBzQH0hRhMLm11oeMpg1fNawIhAKWc0q7Z+mxDVYV/6ov7f/i0H/aAcHSC\n" + "Ii/QJcECraOpAHYAouMK5EXvva2bfjjtR2d3U9eCW4SU1yteGyzEuVCkR+cAAAGO\n" + "Fjrv+AAABAMARzBFAiEAyupEIVAMk0c8BVVpF0QbisfoEwy5xJQKQOe8EvMU4W8C\n" + "IGAIIuzjxBFlHpkqcsa7UZy24y/B6xZnktUw/Ne5q5hCAHcATnWjJ1yaEMM4W2zU\n" + "3z9S6x3w4I4bjWnAsfpksWKaOd8AAAGOFjrv9wAABAMASDBGAiEA+8OvQzpgRf31\n" + "uLBsCE8ktCUfvsiRT7zWSqeXliA09TUCIQDcB7Xn97aEDMBKXIbdm5KZ9GjvRyoF\n" + "9skD5/4GneoMWzAlBgNVHREEHjAcggpnaXRodWIuY29tgg53d3cuZ2l0aHViLmNv\n" + "bTAKBggqhkjOPQQDAgNIADBFAiEAru2McPr0eNwcWNuDEY0a/rGzXRfRrm+6XfZe\n" + "SzhYZewCIBq4TUEBCgapv7xvAtRKdVdi/b4m36Uyej1ggyJsiesA\n" + "-----END CERTIFICATE-----\n" + " -----BEGIN CERTIFICATE-----\n" + "MIIHOTCCBiGgAwIBAgIQBj1JF0BNOeUTyz/uzRsuGzANBgkqhkiG9w0BAQsFADBZ\n" + "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMTMwMQYDVQQDEypE\n" + "aWdpQ2VydCBHbG9iYWwgRzIgVExTIFJTQSBTSEEyNTYgMjAyMCBDQTEwHhcNMjQw\n" + "MzE1MDAwMDAwWhcNMjUwMzE0MjM1OTU5WjBnMQswCQYDVQQGEwJVUzETMBEGA1UE\n" + "CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEVMBMGA1UEChMM\n" + "R2l0SHViLCBJbmMuMRQwEgYDVQQDDAsqLmdpdGh1Yi5pbzCCASIwDQYJKoZIhvcN\n" + "AQEBBQADggEPADCCAQoCggEBAK0rFKU6TEGvuLCY3ZOuXlG+3jerD6EP1gc1qe35\n" + "g68FqyGuVPOUddYNZiymjYMZxywoNp3qxlbFFBTf9etsayavT+uW+2UMjqCotAdK\n" + "KicBEspuExoACFuNgTi7sSUT7A55+k4/+5O+VtpaxQ5dmQk7HxcqvMYx5owBU+fB\n" + "wYDD+hXeg3YvxLZNeIlN8OlqWL8w9HbG+3ccegVEjOJQbkrcrW7IQMq2Uk92XjxI\n" + "PmMVIvaefqcC1poGYvS4VvEh3x64vJK1hEM4YLMKBaE/hqFtcMozi+H/8JqTCfzP\n" + "Qhnu21HIop9rSucxxnZbe9AeHz2LERpUTf3rjgOMg9PB1RUCAwEAAaOCA+0wggPp\n" + "MB8GA1UdIwQYMBaAFHSFgMBmx9833s+9KTeqAx2+7c0XMB0GA1UdDgQWBBTob1fr\n" + "hlGY65+lvlPa25SsKC777TB7BgNVHREEdDByggsqLmdpdGh1Yi5pb4IJZ2l0aHVi\n" + "LmlvghVnaXRodWJ1c2VyY29udGVudC5jb22CDnd3dy5naXRodWIuY29tggwqLmdp\n" + "dGh1Yi5jb22CFyouZ2l0aHVidXNlcmNvbnRlbnQuY29tggpnaXRodWIuY29tMD4G\n" + "A1UdIAQ3MDUwMwYGZ4EMAQICMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuZGln\n" + "aWNlcnQuY29tL0NQUzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUH\n" + "AwEGCCsGAQUFBwMCMIGfBgNVHR8EgZcwgZQwSKBGoESGQmh0dHA6Ly9jcmwzLmRp\n" + "Z2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbEcyVExTUlNBU0hBMjU2MjAyMENBMS0x\n" + "LmNybDBIoEagRIZCaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xv\n" + "YmFsRzJUTFNSU0FTSEEyNTYyMDIwQ0ExLTEuY3JsMIGHBggrBgEFBQcBAQR7MHkw\n" + "JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBRBggrBgEFBQcw\n" + "AoZFaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFsRzJU\n" + "TFNSU0FTSEEyNTYyMDIwQ0ExLTEuY3J0MAwGA1UdEwEB/wQCMAAwggF/BgorBgEE\n" + "AdZ5AgQCBIIBbwSCAWsBaQB2AE51oydcmhDDOFts1N8/Uusd8OCOG41pwLH6ZLFi\n" + "mjnfAAABjkN89oAAAAQDAEcwRQIgU/M527Wcx0KQ3II7kCuG5WMuOHRSxKkf1xAj\n" + "JuSkyPACIQCVX0uurcIA2Ug7ipNN2S1ZygukWqJCh7hjIH0XsrXh8QB2AH1ZHhLh\n" + "eCp7HGFnfF79+NCHXBSgTpWeuQMv2Q6MLnm4AAABjkN89oEAAAQDAEcwRQIgCxpL\n" + "BDak+TWKarrCHlZn4DlqwEfAN3lvlgSo21HQuU8CIQDicrb72c0lA2suMWPWT92P\n" + "FLaRvFrFn9HVzI6Vh50YZgB3AObSMWNAd4zBEEEG13G5zsHSQPaWhIb7uocyHf0e\n" + "N45QAAABjkN89pQAAAQDAEgwRgIhAPJQX4QArFCjM0sKKzsWLmqmmU8lMhKEYR2T\n" + "ges1AQyQAiEA2Y3VhP5RG+dapcbwYgVbrTlgWzO7KE/lg1x11CVcz3QwDQYJKoZI\n" + "hvcNAQELBQADggEBAHKlvzObJBxxgyLaUNCEFf37mNFsUtXmaWvkmcfIt9V+TZ7Q\n" + "mtvjx5bsd5lqAflp/eqk4+JYpnYcKWrZfM/vMdxPQTeh/VQWewY/hYn6X/V1s2JI\n" + "MtjqEkW4aotVdWjHVvsx4rAjz5vtub/wVYgtrU8jusH3TVpT9/0AoFhKE5m2IS7M\n" + "Ig7wKR+DDxoNj4fFFluxteVNgbtwuJcb23NkBQqfHXCvQWqxXZZA4Nwl/WoGPoGG\n" + "dW5qVOc3BlhtITW53ASyhvKC7HArhj7LwQH8C/dRgn1agIHP9vVJ1NaZnPXhK98T\n" + "ohv++OO0E/F/bVGNWVnLBQ4v5PjQzRQUTGvM2mU=\n" + "-----END CERTIFICATE-----\n" + "-----BEGIN CERTIFICATE-----\n" + "MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\n" + "MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n" + "d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\n" + "MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\n" + "MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\n" + "b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\n" + "9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\n" + "2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\n" + "1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\n" + "q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\n" + "tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\n" + "vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\n" + "BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\n" + "5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\n" + "1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\n" + "NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\n" + "Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\n" + "8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\n" + "pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\n" + "MrY=\n" + "-----END CERTIFICATE-----\n" + "-----BEGIN CERTIFICATE-----\n" + "MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL\n" + "MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl\n" + "eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT\n" + "JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx\n" + "MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT\n" + "Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg\n" + "VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm\n" + "aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo\n" + "I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng\n" + "o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G\n" + "A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD\n" + "VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB\n" + "zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW\n" + "RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=\n" + "-----END CERTIFICATE-----"; + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/Certificate.h b/ESP32_PrusaConnectCam/Certificate.h new file mode 100644 index 0000000..80af7b1 --- /dev/null +++ b/ESP32_PrusaConnectCam/Certificate.h @@ -0,0 +1,20 @@ +/** + @file Certificate.h + + @brief Here is saved certificate for communication with servers + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _CERTIFICATE_H_ +#define _CERTIFICATE_H_ + +extern const char* root_CAs; ///< root certificate for communication with prusa servers +extern const char* root_CAs_ota; ///< root certificate for communication with servers + +#endif + +/* EOF */ diff --git a/ESP32_PrusaConnectCam/ESP32_PrusaConnectCam.ino b/ESP32_PrusaConnectCam/ESP32_PrusaConnectCam.ino new file mode 100644 index 0000000..afba124 --- /dev/null +++ b/ESP32_PrusaConnectCam/ESP32_PrusaConnectCam.ino @@ -0,0 +1,146 @@ +/* + This code is adapted for the ESP32-CAM board Ai Thinker version + + It's neccesary install support for ESP32 board to the arduino IDE. In the board manager we need add next link + https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json + Then we can install "ESP32 by Espressif Systems" board in the board manager. + ESP32 lib version: 2.0.15 (ESP-IDF v4.4.7) by Espressif Systems + + This project uses other libraries. It is necessary to install them in the arduino IDE. + - Library - License - Version - Link + - ESPAsyncWebSrv - LGPL 2.1 - 1.2.7 - https://github.com/dvarrel/ESPAsyncWebSrv + - AsyncTCP - LGPL 3.0 - 1.1.4 - https://github.com/dvarrel/ESPAsyncTCP + - ArduinoJson - MIT - 7.0.4 - https://github.com/bblanchon/ArduinoJson + - ArduinoUniqueID - MIT - 1.3.0 - https://github.com/ricaun/ArduinoUniqueID + - ESP32 - LGPL 2.1 - 2.0.15 - https://github.com/espressif/arduino-esp32 + + Board configuration in the arduino IDE 2.3.2 + Tools -> Board -> ESP32 Arduino -> AI Thinker ESP32 + Tools -> Flash frequency -> 80MHz + Tools -> Flash Mode -> DIO + Tools -> Partition scheme -> Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) + + When flashing the firmware to a new, empty ESP32-CAM device for the first time, it is necessary to use the 'Erase' function. + This can be found under 'Tools' -> 'Erase all Flash Before Sketch Upload' -> 'Enable'. + After the initial firmware upload to the MCU, it is possible to disable this option. + If you do not disable this option, your camera configuration will continue to be erased from the flash memory + after uploading new firmware from the Arduino IDE. + + Here is partitions table + # Name, Type, SubType, Offset, Size, Flags + nvs, data, nvs, 0x9000, 0x5000, + otadata, data, ota, 0xe000, 0x2000, + app0, app, ota_0, 0x10000, 0x1E0000, + app1, app, ota_1, 0x1F0000,0x1E0000, + spiffs, data, spiffs, 0x3D0000,0x20000, + coredump, data, coredump,0x3F0000,0x10000, + + Project: ESP32 PrusaConnect Camera + Developed for: Prusa Research, prusa3d.com + Author: Miroslav Pivovarsky + e-mail: miroslav.pivovarsky@gmail.com +*/ + +/* includes */ +#include +#include "Arduino.h" +#include +#include +#include +#include "esp32-hal-cpu.h" + +#include "server.h" +#include "cfg.h" +#include "var.h" +#include "mcu_cfg.h" +#include "system.h" +#include "micro_sd.h" +#include "log.h" +#include "connect.h" +#include "wifi_mngt.h" +#include "stream.h" +#include "serial_cfg.h" + +void setup() { + /* Serial port for debugging purposes */ + Serial.begin(SERIAL_PORT_SPEED); + Serial.println("----------------------------------------------------------------"); + Serial.println("Start MCU!"); + Serial.println("Prusa ESP32-cam https://prusa3d.cz"); + Serial.print("SW Version: "); + Serial.println(SW_VERSION); + Serial.print("Build: "); + Serial.println(SW_BUILD); +#if (CONSOLE_VERBOSE_DEBUG == true) + Serial.setDebugOutput(true); +#endif + + /* Init EEPROM */ + EEPROM.begin(EEPROM_SIZE); + + /* init system led */ + system_led.init(); + + /* init micro SD card and logs */ + SystemLog.SetLogLevel((LogLevel_enum)EEPROM.read(EEPROM_ADDR_LOG_LEVEL)); + SystemLog.Init(); + + /* init System lib */ + System_Init(); + + /* read cfg from EEPROM */ + SystemConfig.Init(); + SystemConfig.CheckResetCfg(); + System_LoadCfg(); + Server_LoadCfg(); + SystemCamera.LoadCameraCfgFromEeprom(); + Connect.LoadCfgFromEeprom(); + SystemWifiMngt.LoadCfgFromEeprom(); + + /* init WiFi mngt */ + SystemWifiMngt.Init(); + + /* init camera interface */ + SystemCamera.Init(); + SystemCamera.CapturePhoto(); + + /* init WEB server */ + Server_InitWebServer(); + + /* init class for communication with PrusaConnect */ + Connect.Init(); + + /* init tasks */ + SystemLog.AddEvent(LogLevel_Info, "Start tasks"); + xTaskCreatePinnedToCore(System_TaskMain, "SystemNtpOtaUpdate", 8000, NULL, 1, &Task_SystemMain, 0); /*function, description, stack size, parameters, priority, task handle, core*/ + xTaskCreatePinnedToCore(System_TaskCaptureAndSendPhoto, "CaptureAndSendPhoto", 10000, NULL, 2, &Task_CapturePhotoAndSend, 0); /*function, description, stack size, parameters, priority, task handle, core*/ + xTaskCreatePinnedToCore(System_TaskWifiManagement, "WiFiManagement", 6000, NULL, 3, &Task_WiFiManagement, 0); /*function, description, stack size, parameters, priority, task handle, core*/ + xTaskCreatePinnedToCore(System_TaskSdCardCheck, "CheckMicroSdCard", 5000, NULL, 4, &Task_SdCardCheck, 0); /*function, description, stack size, parameters, priority, task handle, core*/ + xTaskCreatePinnedToCore(System_TaskSerialCfg, "CheckSerialConfiguration", 3000, NULL, 5, &Task_SerialCfg, 0); /*function, description, stack size, parameters, priority, task handle, core*/ + xTaskCreatePinnedToCore(System_TaskStreamTelemetry, "PrintStreamTelemetry", 3000, NULL, 6, &Task_StreamTelemetry, 0); /*function, description, stack size, parameters, priority, task handle, core*/ + xTaskCreatePinnedToCore(System_TaskSysLed, "SystemLed", 3000, NULL, 7, &Task_SysLed, 0); /*function, description, stack size, parameters, priority, task handle, core*/ + xTaskCreatePinnedToCore(System_TaskWiFiWatchdog, "WiFiWatchdog", 3000, NULL, 8, &Task_WiFiWatchdog, 0); /*function, description, stack size, parameters, priority, task handle, core*/ + + /* init wdg */ + SystemLog.AddEvent(LogLevel_Info, "Init WDG"); + esp_task_wdt_init(WDG_TIMEOUT, true); /* enable panic so ESP32 restarts */ + esp_task_wdt_add(NULL); /* add current thread to WDT watch */ + esp_task_wdt_add(Task_CapturePhotoAndSend); + esp_task_wdt_add(Task_WiFiManagement); + esp_task_wdt_add(Task_SystemMain); + esp_task_wdt_add(Task_SdCardCheck); + esp_task_wdt_add(Task_SerialCfg); + esp_task_wdt_add(Task_StreamTelemetry); + esp_task_wdt_add(Task_SysLed); + esp_task_wdt_add(Task_WiFiWatchdog); + esp_task_wdt_reset(); /* reset wdg */ + + SystemLog.AddEvent(LogLevel_Info, "MCU configuration done"); +} + +void loop() { + /* reset wdg */ + esp_task_wdt_reset(); +} + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/WebPage.h b/ESP32_PrusaConnectCam/WebPage.h new file mode 100644 index 0000000..d0a7e2f --- /dev/null +++ b/ESP32_PrusaConnectCam/WebPage.h @@ -0,0 +1,1346 @@ +/** + @file WebPage.h + + @brief Here is saved root WEB page + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + https://codebeautify.org/remove-extra-spaces + + @bug: no know bug +*/ + +#ifndef _WEB_PAGE_H_ +#define _WEB_PAGE_H_ + +#define MSG_REBOOT_MCU "Reboot process started, wait several seconds for mcu to boot up. You can close this window now." +#define MSG_SAVE_OK_REBOOT "Save OK. Please reboot MCU" ///< WEB app msg save OK +#define MSG_SAVE_OK_WIFI "Save OK. Connecting to Wi-Fi. Please wait several second." +#define MSG_SAVE_OK "Save cfg OK" ///< WEB app msg save OK +#define MSG_SAVE_NOTOK "Save cfg NOT OK!" ///< WEB app msg save NOT OK +#define MSG_SCANNING "Scanning Wi-Fi networks. Wait 8s..." ///< WEB app msg Scanning wifi +#define MSG_UPDATE_START "Start updating." + +/* ------------------------------------------------------------------------------------------------------------ */ +const char index_html[] PROGMEM = R"rawliteral( + + + + + Prusa ESP32-cam + + + + + + + + +
+ +
+
+
+ +
+
+
+
+

Trigger interval: s



+

+


+

+
+
+
+ +
+ + + + + +
+ +
+
+ +



+ + + + + +

Prusa Connect ESP32 cam

Author

Miroslav Pivovarsky

Licence | General Terms and Conditions | Privacy Policy | Cookie Preferences
+ + + + + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char page_auth_html[] PROGMEM = R"rawliteral( + + + + +
+ + + + + + + +
Set web authentication
WEB authentication
Username
Password Show Password
Confirm Password Show Password
+
+ + + + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char page_wifi_html[] PROGMEM = R"rawliteral( + + + + + + + + + + + + + + +
+

Connection status

+

Status:

+

SSID:

+

Signal: % / dBm

+

IP Address:

+

mDNS: https://.local

+
+
+

Available networks

+
+ + + + + + + + + + + + + +
Network name (SSID)Signal strength (RSSI)ChannelEncryption
+
+ +
+
+
+ + + + + +
Connect to Wi-Fi network
Wi-Fi network name (SSID)
Password
+
+ + + + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char page_config_html[] PROGMEM = R"rawliteral( + + + +
+ + + + + + + + + + + + + + + + + + + + + + +
Basic image settings
Connect Token 
Fingerprint
Trigger Interval [s] 
Image qualityLow High
Resolution + +
BrightnessLow High
ContrastLow High
SaturationLow High
Horizontal mirror
Vertical flip
LED light
LED flash
Flash durationLow High
Flash duration ms
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
Advanced image settings
Automatic white balancing
Automatic white balancing gain
Automatic white balancing mode + +
Automatic Exposure Control
Second Level Automatic Exposure Control
Automatic exposure levelLow High
Automatic exposure timeLow High
Automatic exposure time ms
Automatic gain control
Automatic gain control levelLow High
Bad pixel correction
White pixel correction
Raw gamma correction
Lens correction
+
+ + + + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char page_system_html[] PROGMEM = R"rawliteral( + + + +
+ + + + + + + + + + + + + + + + +
System status
PrusaConnect Status
Wi-Fi mode
Wi-Fi service AP SSID
Uptime
Software version
Software build
Available software update Check update from cloud
System configuration
mDNS record.local 
Log level + +
Get logs
+
+
+
+ + + + + + + +
Firmware update
Status:Ready
Processing:
0%
+
+ + + + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char styles_css[] PROGMEM = R"rawliteral( +body { + font-family: sans-serif; +} + +/* index styles */ + .p1 { + color: #797979; + font: normal normal normal 18px/5px sans-serif; + letter-spacing: 0px; +} + .p2 { + text-align: left; + font: normal normal bold 14px/20px sans-serif; + letter-spacing: 0px; + color: #808080; + opacity: 1; + display: inline-block; +} + .p3 { + text-align: left; + font: normal normal normal 14px/20px sans-serif; + letter-spacing: 0px; + color: #808080; + opacity: 1; + display: inline-block; +} + .p4 { + text-align: left; + font: normal normal normal 14px/20px sans-serif; + letter-spacing: 0px; + color: #808080; + opacity: 1; +} + .p5 { + text-align: center; + font: normal normal bold 14px/20px sans-serif; + letter-spacing: 0px; + color: #000000; + opacity: 1; +} +/* NAVIGATION BAR */ + nav { + display: flex; + background-color: transparent; +} + .top_bar { + display: flex; + width: 100%; +} + .top_bar li { + display: inline-block; + padding: 5px; +} + .top_bar li a { + text-decoration: none; + cursor: pointer; + display: flex; + align-items: center; +} + .top_bar li a:hover { + text-decoration: underline #fa6831; + text-underline-position: under; + text-underline-offset: 8px; + text-decoration-thickness: 2px; +} + #links li a.active { + text-decoration: underline #fa6831; + text-underline-position: under; + text-underline-offset: 8px; + text-decoration-thickness: 2px; +} +/* CFG BAR */ +cfg { + display: flex; + flex-direction: column; + text-align: center; + font: normal normal bold 14px/20px sans-serif; + letter-spacing: 0px; + color: #2A2A2A; + opacity: 1; +} +cfg_bar li { + display: inline-block; + padding: 14px; + font-size: 16px; + left: 50%; +} +cfg_bar li a { + text-decoration: none; + cursor: pointer; + color: #212529; +} +cfg_bar li a:hover { + color: #fa6831; +} +/* CONTAINER */ + .container { + display: table; + height: 100%; + width: 100%; +} + .container_left-half { + grid-column: 1; + display: table-cell; + vertical-align: middle; + width: 50%; + text-align: center; +} + .container_right-half { + grid-column: 2; + display: table-cell; + vertical-align: middle; + width: 50%; +} +/* CHECKBOX SLIDER */ + .switch { + position: relative; + display: inline-block; + width: 30px; + height: 17px; + vertical-align: middle; +} + .switch input { + opacity: 0; + width: 0; + height: 0; +} + .checkbox_slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: .4s; + transition: .4s; +} + .checkbox_slider:before { + position: absolute; + content: ""; + height: 13px; + width: 13px; + left: 2px; + bottom: 2px; + background-color: white; + -webkit-transition: .4s; + transition: .4s; +} + input:checked+.checkbox_slider { + background-color: #797979; +} + input:focus+.checkbox_slider { + box-shadow: 0 0 1px #797979; +} + input:checked+.checkbox_slider:before { + -webkit-transform: translateX(13px); + -ms-transform: translateX(13px); + transform: translateX(13px); +} + .checkbox_slider.round { + border-radius: 13px; +} + .checkbox_slider.round:before { + border-radius: 50%; +} +/* BUTTON */ + .btn { + width: 306px; + height: 30px; + text-align: center; + font: normal normal bold 14px/5px sans-serif; + color: #000000; + background-color: white; + border-radius: 5px; + border: 1px solid #343a40; +} + .btn:hover { + background-color: #FA6831; + color: white; +} +/* BOTTON table */ + #botton { + width: 100%; + text-align: center; + background: #F5F5F5 0% 0% no-repeat padding-box; + opacity: 1; + bottom: 0; +} +/* ----- styles config ----- */ + .pc1 { + text-align: right; + font: normal normal normal 11px/5px sans-serif; + letter-spacing: 0px; + color: #797979; + opacity: 1; +} + .pc2 { + text-align: left; + font: normal normal normal 12px/5px sans-serif; + letter-spacing: 0px; + color: #000000; + opacity: 1; +} + .pc3 { + text-align: right; + font: normal normal normal bold 12px/17px sans-serif; + letter-spacing: 0px; + color: #2A2A2A; + opacity: 1; +} +/* data table */ + #data { + font-family: Arial, Helvetica, sans-serif; + border-collapse: collapse; + width: 100%; + table-layout: fixed; +} + #data td, #data th { + padding: 8px; +} + #data th { + padding-top: 12px; + padding-bottom: 12px; + text-align: left; +} +/* BUTTON */ + .btn_save { + width: 69px; + height: 24px; + text-align: center; + font: normal normal bold 14px/5px sans-serif; + color: #000000; + background-color: white; + border-radius: 5px; + border: 1px solid #343a40; +} + .btn_save:hover { + background-color: #FA6831; + color: white; +} +/* RANGE */ + .slider { + -webkit-appearance: none; + width: 133px; + height: 10px; + border-radius: 5px; + background: linear-gradient(to right, #d3d3d3 50%, #FA6831 50%); + outline: none; +} + .slider::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: 16px; + height: 16px; + border-radius: 50%; + background: #FA6831; + cursor: pointer; +} + .slider::-moz-range-thumb { + width: 16px; + height: 16px; + border-radius: 50%; + background: #FA6831; + cursor: pointer; +} +/* ----- styles wifi ----- */ + .w1 { + text-align: left; + font: normal normal bold 12px/17px sans-serif; + letter-spacing: 0px; + color: #2A2A2A; + opacity: 1; +} + .w2 { + font: normal normal normal 11px/5px sans-serif; + letter-spacing: 0px; + color: #797979; + opacity: 1; +} + .w2 span { + vertical-align: middle; +} + #center_tb { + border-collapse: collapse; + width: 100%; + table-layout: fixed; + text-align: left; +} +/* wifi_ntw table */ + #wifi_ntw { + font: normal normal normal 12px/5px sans-serif; + border-collapse: collapse; + width: 100%; + table-layout: fixed; + text-align: left; +} + #wifi_ntw td { + border-bottom: 1px solid #ddd; + padding: 8px; +} + #wifi_ntw tr:nth-child(even) { + background: #F8F8F8 0% 0% no-repeat padding-box; +} + #wifi_ntw tr:hover { + background-color: #ddd; +} + #wifi_ntw th { + background-color: transparent; + text-align: left; + font: normal normal bold 13px/11px sans-serif; + letter-spacing: 0px; + color: #2A2A2A; + opacity: 1; +} + #wifi_ntw tr { + border-bottom: 1px solid #ccc; +} + #wifi_ntw img { + width: 19px; + height: 12px; +} +/* BUTTON */ + .btn_save_w { + width: 178px; + height: 24px; + text-align: center; + font: normal normal bold 14px/5px sans-serif; + color: #000000; + background-color: white; + border-radius: 5px; + border: 1px solid #343a40; +} + .btn_save_w:hover { + background-color: #FA6831; + color: white; +} +/* ----- styles auth ----- */ + .pa1 { + text-align: right; + font: normal normal normal 11px/5px sans-serif; + letter-spacing: 0px; + color: #797979; + opacity: 1; +} + .pa2 { + text-align: left; + font: normal normal bold 12px/17px sans-serif; + letter-spacing: 0px; + color: #2A2A2A; + opacity: 1; +} +.pa3 { + text-align: right; + font: normal normal normal bold 12px/17px sans-serif; + letter-spacing: 0px; + color: #2A2A2A; + opacity: 1; +} + +/* BUTTON */ + .btn_save_a { + width: 178px; + height: 24px; + text-align: center; + font: normal normal bold 14px/5px sans-serif; + color: #000000; + background-color: white; + border-radius: 5px; + border: 1px solid #343a40; +} + .btn_save_a:hover { + background-color: #FA6831; + color: white; +} + .toggle-password { + position: relative; + cursor: pointer; +} + .toggle-password img { + position: absolute; + top: 50%; + right: 0; + transform: translateY(-50%); +} + .password-container { + display: flex; + align-items: center; +} + #auth_password.reveal { + -webkit-text-security: none; +} + #auth_password { + -webkit-text-security: disc; +} +/* ----- styles system ----- */ + .ps1 { + text-align: right; + font: normal normal normal 11px/5px sans-serif; + letter-spacing: 0px; + color: #797979; + opacity: 1; +} + .ps2 { + text-align: left; + font: normal normal normal 12px/5px sans-serif; + letter-spacing: 0px; + color: #000000; + opacity: 1; +} +.ps3 { + text-align: right; + font: normal normal normal bold 12px/17px sans-serif; + letter-spacing: 0px; + color: #2A2A2A; + opacity: 1; +} +/* data table */ + #data { + font-family: Arial, Helvetica, sans-serif; + border-collapse: collapse; + width: 100%; + table-layout: fixed; +} + #data td, #data th { + padding: 8px; +} + #data th { + padding-top: 12px; + padding-bottom: 12px; + text-align: left; +} +/* update table */ + update { + font-family: Arial, Helvetica, sans-serif; + border-collapse: collapse; + width: 100%; + table-layout: fixed; +} + #update td, #update th { + padding: 8px; +} + #update th { + padding-top: 12px; + padding-bottom: 12px; + text-align: left; +} +/* BUTTON */ + .btn_update { + width: 178px; + height: 24px; + text-align: center; + font: normal normal bold 14px/5px sans-serif; + color: #000000; + background-color: white; + border-radius: 5px; + border: 1px solid #343a40; +} + .btn_update:hover { + background-color: #FA6831; + color: white; +} + .underlined-text { + text-decoration: underline; + color: blue; + cursor: pointer; +} +/* progress bar*/ + .progress-container { + width: 100%; + background-color: #ccc; +} + .progress-bar { + width: 0px; + height: 15px; + background-color: #FA6831; + text-align: center; + line-height: 15px; + color: white; +} + +/* advanced cam cfg */ +.content { + display: none; +} + +.btn_collapsible { + width: 300px; + height: 24px; + text-align: center; + font: normal normal bold 14px/5px sans-serif; + color: #000000; + background-color: white; + border-radius: 5px; + border: 1px solid #343a40; +} +.btn_collapsible:hover { + background-color: #FA6831; + color: white; +} +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char scripts_js[] PROGMEM = R"rawliteral( +function get_data(val) { + jQuery.ajax({ + url: 'json_input', + type: 'GET', + timeout: 5000, + success: function(data) { + console.log("Incommming data: "); + console.log(data); + var obj = JSON.parse(data); + console.log(obj); + + if (!document.querySelector('#light-icon img')) { + var img = document.createElement('img'); + img.src = (obj.led == "true") ? 'light-on-icon.svg' : 'light-off-icon.svg'; + document.getElementById('light-icon').appendChild(img); + } + + if (val == "config") { + $("#fingerprint").text(obj.fingerprint); + $("#refreshInterval").text(obj.refreshInterval); + document.getElementById('tokenid').value = obj.token; + document.getElementById('refreshid').value = obj.refreshInterval; + document.getElementById('photo_qualityid').value = obj.photoquality; + document.getElementById('framesizeid').value = obj.framesize; + document.getElementById('brightnessid').value = obj.brightness; + document.getElementById('contrastid').value = obj.contrast; + document.getElementById('saturationid').value = obj.saturation; + document.getElementById('hmirrorid').checked = obj.hmirror; + document.getElementById('vflipid').checked = obj.vflip; + document.getElementById('lencid').checked = obj.lensc; + document.getElementById('exposure_ctrlid').checked = obj.exposure_ctrl; + document.getElementById('awbid').checked = obj.awb; + document.getElementById('awb_gainid').checked = obj.awb_gain; + document.getElementById('wb_modeid').value = obj.wb_mode; + document.getElementById('ledid').checked = obj.led; + document.getElementById('flashid').checked = obj.flash; + document.getElementById('flash_timeid').value = obj.flash_time; + document.getElementById('bpcid').checked = obj.bpc; + document.getElementById('wpcid').checked = obj.wpc; + document.getElementById('raw_gamaid').checked = obj.raw_gama; + document.getElementById('aec2id').checked = obj.aec2; + document.getElementById('ae_levelid').value = obj.ae_level; + document.getElementById('aec_valueid').value = obj.aec_value; + document.getElementById('gain_ctrlid').checked = obj.gain_ctrl; + document.getElementById('agc_gainid').value = obj.agc_gain; + document.getElementById("flash_time_value").innerText = obj.flash_time; + document.getElementById("aec_value_value").innerText = obj.aec_value; + $("#status_hmirror").text((obj.hmirror == "true") ? "On" : "Off"); + $("#status_vflip").text((obj.vflip == "true") ? "On" : "Off"); + $("#status_lensc").text((obj.lensc == "true") ? "On" : "Off"); + $("#status_exposure_ctrl").text((obj.exposure_ctrl == "true") ? "On" : "Off"); + $("#status_awb").text((obj.awb == "true") ? "On" : "Off"); + $("#status_awb_gain").text((obj.awb_gain == "true") ? "On" : "Off"); + $("#status_led").text((obj.led == "true") ? "On" : "Off"); + $("#status_flash").text((obj.flash == "true") ? "On" : "Off"); + $("#status_bpc").text((obj.bpc == "true") ? "On" : "Off"); + $("#status_wpc").text((obj.wpc == "true") ? "On" : "Off"); + $("#status_raw_gama").text((obj.raw_gama == "true") ? "On" : "Off"); + $("#status_aec2").text((obj.aec2 == "true") ? "On" : "Off"); + $("#status_gain_ctrl").text((obj.gain_ctrl == "true") ? "On" : "Off"); + sliderCheck(); + } + + if (val == "auth") { + document.getElementById('authid').checked = obj.auth; + $("#status_auth").text((obj.auth == "true") ? "On" : "Off"); + document.getElementById('auth_username').value = obj.auth_username; + } + + if (val == "wifi") { + $("#ssid").text(obj.ssid); + $("#rssi").text(obj.rssi); + $("#rssi_percentage").text(obj.rssi_percentage); + $("#ip").text(obj.ip); + $("#mdns").text(obj.mdns); + $("#wifi_network_status").text(obj.wifi_network_status); + + if (!document.querySelector('#main-wifi-signal wifi_img')) { + var wifi_img = document.createElement('wifi_img'); + wifi_img.width = 19; + wifi_img.height = 12; + wifi_img.src = getIconPath(obj.rssi); + document.getElementById('main-wifi-signal').appendChild(wifi_img); + } + } + + if (val == "system") { + $("#uptime").text(obj.uptime); + $("#sw_ver").text(obj.sw_ver); + $("#sw_build").text(obj.sw_build); + $("#last_upload_status").text(obj.last_upload_status); + $("#wifi_mode").text(obj.wifi_mode); + $("#sw_new_ver").text(obj.sw_new_ver); + $("#service_ap_ssid").text(obj.service_ap_ssid); + document.getElementById('mdnsid').value = obj.mdns; + document.getElementById('loglevelid').value = obj.log_level; + } + }, + error: function(html) { + console.log("json Timeout or error"); + //alert("jquery timeout or comunication error"); + } + }); +} + +function sliderCheck() { + var ranges = document.querySelectorAll(".slider"); + ranges.forEach(function(range) { + var percent = (range.value - range.min) / (range.max - range.min) * 100; + var gradient = "linear-gradient(to right, #FA6831 " + percent + "%, #d3d3d3 " + percent + "%)"; + range.style.background = gradient; + range.oninput = function() { + var percent = (this.value - this.min) / (this.max - this.min) * 100; + var gradient = "linear-gradient(to right, #FA6831 " + percent + "%, #d3d3d3 " + percent + "%)"; + this.style.background = gradient; + } + }); +} + +function getIconPath(rssi) { + let path; + if (rssi == 0) { + path = 'wifi-icon-0.svg'; + } else if (rssi <= -70) { + path = 'wifi-icon-1.svg'; + } else if (rssi > -70 && rssi <= -60) { + path = 'wifi-icon-2.svg'; + } else if (rssi > -60 && rssi <= -50) { + path = 'wifi-icon-3.svg'; + } else { + path = 'wifi-icon-4.svg'; + } + return path; +} + +var OpenImageclickCount = 0; + +function openImage() { + var img = document.getElementById("photo"); + if (OpenImageclickCount % 2 == 0) { + img.style.position = "fixed"; + img.style.top = "5%"; + img.style.left = "5%"; + img.style.width = "auto"; + img.style.height = "auto"; + img.style.maxWidth = "100%"; + img.style.maxHeight = "90%"; + img.style.zIndex = "9999"; + } else { + img.style.position = ""; + img.style.top = ""; + img.style.left = ""; + img.style.width = ""; + img.style.height = ""; + img.style.zIndex = ""; + } + OpenImageclickCount++; +} + +function actionButton(url, reload, msg) { + var xhr = new XMLHttpRequest(); + + if (msg != '') { + alert(msg); + } + + xhr.onreadystatechange = function() { + if (xhr.readyState == 4 && xhr.status == 200) { + if (reload == true) { + setTimeout(function() { + location.reload(); + }, 200); + } + } + }; + + xhr.open('GET', url, true); + xhr.send(); +} + +function setActive(link) { + var links = document.querySelectorAll('#links li a'); + links.forEach(function(item) { + item.classList.remove('active'); + }); + link.classList.add('active'); +} + +var links = document.querySelectorAll('#links li a'); +links.forEach(function(link) { + link.addEventListener('click', function() { + setActive(link); + }); +}); + +function addClickListener(id) { + var link = document.getElementById(id); + if (!link.hasOwnProperty('clickListener')) { + link.addEventListener('click', function(event) { + event.preventDefault(); + window.open(link.href, '_blank'); + }); + link.clickListener = true; + } +} + +/* wifi page */ +function setWifi(val_ssid, val_pass) { + var xmlHttp = new XMLHttpRequest(); + xmlHttp.open("GET", "wifi_cfg?wifi_ssid=" + encodeURIComponent(val_ssid) + "&wifi_pass=" + encodeURIComponent(val_pass), false); + xmlHttp.send(null); + alert(xmlHttp.responseText); + get_data("wifi"); +} + +function scanWifi() { + var xmlHttp = new XMLHttpRequest(); + xmlHttp.open("GET", "wifi_scan?", false); + xmlHttp.send(null); + alert(xmlHttp.responseText); + get_data("wifi"); + setTimeout(function() { + GetDataAndPrintTableWiFi(); + }, 8000); +} + +function GetDataAndPrintTableWiFi() { + $("#wifi_ntw").find("tr:gt(0)").remove(); + $.ajax({ + url: 'json_wifi', + type: 'GET', + timeout: 15000, + dataType: 'json', + data: {}, + + success: function(data) { + for (var i = 0; i < data.length; i++) { + const IconName = "wifi-icon-" + i; + var row = $('' + data[i].ssid + '
' + data[i].channel + '' + data[i].encryption + ''); + $('#wifi_ntw').append(row); + + if (!document.querySelector('#' + IconName + ' img')) { + var img = document.createElement('img'); + img.src = getIconPath(data[i].rssi); + document.getElementById(IconName).prepend(img); + document.getElementById(IconName).append(data[i].rssi_percentage); + document.getElementById(IconName).append("% / "); + document.getElementById(IconName).append(data[i].rssi); + document.getElementById(IconName).append("dBm"); + } + } + }, + error: function(jqXHR, textStatus, errorThrown) { + console.log('Error:' + textStatus + '-' + errorThrown); + } + }); +} + +/* auth page */ +function setAuth(val_name, val_pass) { + var xmlHttp = new XMLHttpRequest(); + xmlHttp.open("GET", "basicauth_cfg?" + "auth_username=" + encodeURIComponent(val_name) + "&auth_password=" + encodeURIComponent(val_pass), false); + xmlHttp.send(null); + alert(xmlHttp.responseText); + get_data("auth"); +} + +function changeValue(val, url, reload) { + var xmlHttp = new XMLHttpRequest(); + xmlHttp.open("GET", url + val, false); + xmlHttp.send(null); + if ((url == "set_int?refresh=") || (url == "set_token?token=") || (url == "set_mdns?mdns=")) { + alert(xmlHttp.responseText); + } + if (url == "set_flash_time?flash_time=") { + document.getElementById("flash_time_value").innerText = val; + } + get_data(reload); +} + +function togglePasswordVisibility() { + const passwordInput = document.getElementById("auth_password"); + const eyeIcon = document.getElementById("eye-icon"); + if (passwordInput.getAttribute("type") === "password") { + passwordInput.setAttribute("type", "text"); + passwordInput.classList.add("reveal"); + eyeIcon.src = "eye-slash.svg"; + eyeIcon.alt = "Hide Password"; + } else { + passwordInput.setAttribute("type", "password"); + passwordInput.classList.remove("reveal"); + eyeIcon.src = "eye.svg"; + eyeIcon.alt = "Show Password"; + } +} + +/* system page */ +if (typeof uploadingFirmware === 'undefined') { + var uploadingFirmware = false; +} + +if (typeof FileSize === 'undefined') { + var FileSize = 0; +} + +function uploadFile() { + alert("Started updating..."); + const firmwareInput = document.getElementById('firmwareInput'); + const statusDiv = document.getElementById('status'); + const file = firmwareInput.files[0]; + FileSize = file.size; + SetFirmwareSize(file.size); + + if (file) { + statusDiv.innerText = 'Updating...'; + uploadingFirmware = true; + const formData = new FormData(); + formData.append('firmware', file); + + fetch('/upload', { + method: 'POST', + body: formData, + }) + .then((response) => { + if (response.ok) { + response.text().then((data) => { + const jsonData = JSON.parse(data); + updateProgress(); + uploadingFirmware = false; + if (jsonData.errorMessage) { + alert(`Error message: ${jsonData.errorMessage}`); + } + }); + } else { + uploadingFirmware = false; + response.text().then((errorMessage) => { + alert(`Error message: ${errorMessage}`); + }); + } + }) + .catch((error) => { + console.error('Error:', error); + uploadingFirmware = false; + }); + } else { + statusDiv.innerText = 'No file selected'; + } +} + +function SetFirmwareSize(val) { + var xmlHttp = new XMLHttpRequest(); + xmlHttp.open("GET", "set_firmware_size?size=" + val, false); + xmlHttp.send(null); +} + +function updateProgress() { + if (!uploadingFirmware) { + return; + } + + fetch('/UpdateProcessing', { + method: 'GET', + }) + .then((response) => { + if (response.ok) { + return response.json(); + } else { + throw new Error('Failed to fetch progress'); + } + }) + .then((data) => { + const statusDiv = document.getElementById('status'); + var progressBar = document.getElementById("myProgressBar"); + progressBar.style.width = data.processed_percent + "%"; + progressBar.innerHTML = data.processed_percent + "%"; + + statusDiv.innerText = data.message; + uploadingFirmware = data.updating; + if (data.updating == false && !updateCompleted) { + alert('Operation done. Please reboot MCU.'); + uploadingFirmware = false; + updateCompleted = true; + clearInterval(updateInterval); + } + }) + .catch((error) => { + console.error('Error:', error); + var progressBar = document.getElementById("myProgressBar"); + progressBar.innerHTML = "Error"; + clearInterval(updateInterval); + }); +} + +function checkUpdate() { + var xmlHttp = new XMLHttpRequest(); + alert("Connecting to server... Please wait several second"); + xmlHttp.open("GET", "/check_web_ota_update", false); + xmlHttp.send(null); + alert(xmlHttp.responseText); + get_data("system"); +} + +function updateWeb() { + alert("Started updating from cloud."); + var xmlHttp = new XMLHttpRequest(); + xmlHttp.open("GET", "web_ota_update?update=true", false); + xmlHttp.send(null); + uploadingFirmware = true; +} + +function validatePasswords() { + var password = document.getElementById("auth_password").value; + var confirmPassword = document.getElementById("auth_password_confirm").value; + var saveButton = document.querySelector(".btn_save_a"); + var passwordStatus = document.getElementById("pass_match"); + + if (password === confirmPassword) { + passwordStatus.innerHTML = "✔️"; + saveButton.disabled = false; + } else { + passwordStatus.innerHTML = "❌"; + saveButton.disabled = true; + } +} + +if (document.getElementById("auth_password")) { + document.getElementById("auth_password").addEventListener("input", validatePasswords); +} + +if (document.getElementById("auth_password_confirm")) { + document.getElementById("auth_password_confirm").addEventListener("input", validatePasswords); +} + +if ((document.getElementById("auth_password")) && (document.getElementById("auth_password_confirm"))) { + validatePasswords(); +} + +function setupCollapsibleButtons() { + $(".btn_collapsible").click(function(){ + $(this).toggleClass("active"); + var content = $(this).parent().next(); + if (content.css("display") === "block") { + content.css("display", "none"); + } else { + content.css("display", "block"); + } + }); +} +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char license_html[] PROGMEM = R"rawliteral( + + +

The software for device falls under the GPL-3.0 license terms. To read the license terms please visit this page.

+ + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char gtac_html[] PROGMEM = R"rawliteral( + + +

To read the General Terms and Conditions, please visit this page.

+ + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char privacypolicy_html[] PROGMEM = R"rawliteral( + + +

To read the Privacy Policy, please visit this page.

+ + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char cookies_html[] PROGMEM = R"rawliteral( + + +

To read the Cookie policy, please visit this page.

+ + +)rawliteral"; + +#endif + +/* EOF */ diff --git a/ESP32_PrusaConnectCam/WebPage_Icons.h b/ESP32_PrusaConnectCam/WebPage_Icons.h new file mode 100644 index 0000000..11960e3 --- /dev/null +++ b/ESP32_PrusaConnectCam/WebPage_Icons.h @@ -0,0 +1,95 @@ +/** + @file WebPage_Icons.h + + @brief Here are all icons for web page + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + + @bug: no know bug +*/ + +#ifndef _WEB_PAGE_ICONS_H_ +#define _WEB_PAGE_ICONS_H_ + +/* ------------------------------------------------------------------------------------------------------------ */ +const char esp32_cam_logo_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char github_icon_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char light_icon_on_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char light_icon_off_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char refresh_icon_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char reboot_icon_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char wifi_icon_0_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char wifi_icon_1_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char wifi_icon_2_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char wifi_icon_3_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char wifi_icon_4_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char eye_slash_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char eye_svg[] PROGMEM = R"rawliteral( + +)rawliteral"; + +/* ------------------------------------------------------------------------------------------------------------ */ +const char favicon_svg[] PROGMEM = R"rawliteral( + + + + + + + +)rawliteral"; + + +#endif + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/camera.cpp b/ESP32_PrusaConnectCam/camera.cpp new file mode 100644 index 0000000..e11549c --- /dev/null +++ b/ESP32_PrusaConnectCam/camera.cpp @@ -0,0 +1,988 @@ +/** + @file camera.cpp + + @brief Library for working with a camera + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ +#include "camera.h" + +Camera SystemCamera(&SystemConfig, &SystemLog, FLASH_GPIO_NUM); + +/** + @brief Init camera constructor + @param Configuration* - pointer to Configuration class + @param Logs* - pointer to Logs class + @param uint8_t - flash pin + @return none +*/ +Camera::Camera(Configuration* i_conf, Logs* i_log, uint8_t i_FlashPin) { + config = i_conf; + log = i_log; + CameraFlashPin = i_FlashPin; + StreamOnOff = false; + frameBufferSemaphore = xSemaphoreCreateMutex(); +} + +/** + @brief Init the camera module and set the camera configuration + @param none + @return none +*/ +void Camera::Init() { + log->AddEvent(LogLevel_Info, "Init camera lib"); + + log->AddEvent(LogLevel_Info, "Init GPIO"); + ledcSetup(FLASH_PWM_CHANNEL, FLASH_PWM_FREQ, FLASH_PWM_RESOLUTION); + ledcAttachPin(FLASH_GPIO_NUM, FLASH_PWM_CHANNEL); + ledcWrite(FLASH_PWM_CHANNEL, FLASH_OFF_STATUS); + + InitCameraModule(); + ApplyCameraCfg(); +} + +/** + @brief Init the camera module + @param none + @return none +*/ +void Camera::InitCameraModule() { + log->AddEvent(LogLevel_Info, "Init camera module"); + /* Turn-off the 'brownout detector' */ + WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); + esp_err_t err; + + CameraConfig.ledc_channel = LEDC_CHANNEL_0; + CameraConfig.ledc_timer = LEDC_TIMER_0; + CameraConfig.pin_d0 = Y2_GPIO_NUM; + CameraConfig.pin_d1 = Y3_GPIO_NUM; + CameraConfig.pin_d2 = Y4_GPIO_NUM; + CameraConfig.pin_d3 = Y5_GPIO_NUM; + CameraConfig.pin_d4 = Y6_GPIO_NUM; + CameraConfig.pin_d5 = Y7_GPIO_NUM; + CameraConfig.pin_d6 = Y8_GPIO_NUM; + CameraConfig.pin_d7 = Y9_GPIO_NUM; + CameraConfig.pin_xclk = XCLK_GPIO_NUM; + CameraConfig.pin_pclk = PCLK_GPIO_NUM; + CameraConfig.pin_vsync = VSYNC_GPIO_NUM; + CameraConfig.pin_href = HREF_GPIO_NUM; + CameraConfig.pin_sccb_sda = SIOD_GPIO_NUM; + CameraConfig.pin_sccb_scl = SIOC_GPIO_NUM; + CameraConfig.pin_pwdn = PWDN_GPIO_NUM; + CameraConfig.pin_reset = RESET_GPIO_NUM; + CameraConfig.xclk_freq_hz = 16500000; // or 3000000; 16500000; 20000000 + CameraConfig.pixel_format = PIXFORMAT_JPEG; /* YUV422,GRAYSCALE,RGB565,JPEG */ + + /* OV2640 + FRAMESIZE_QVGA (320 x 240) + FRAMESIZE_CIF (352 x 288) + FRAMESIZE_VGA (640 x 480) + FRAMESIZE_SVGA (800 x 600) + FRAMESIZE_XGA (1024 x 768) + FRAMESIZE_SXGA (1280 x 1024) + FRAMESIZE_UXGA (1600 x 1200) + */ + + CameraConfig.frame_size = TFrameSize; /* FRAMESIZE_ + QVGA|CIF|VGA|SVGA|XGA|SXGA|UXGA */ + CameraConfig.jpeg_quality = PhotoQuality; /* 10-63 lower number means higher quality */ + CameraConfig.fb_count = 1; /* picture frame buffer alocation */ + CameraConfig.grab_mode = CAMERA_GRAB_LATEST; /* CAMERA_GRAB_WHEN_EMPTY or CAMERA_GRAB_LATEST */ + + if (CameraConfig.fb_location == CAMERA_FB_IN_DRAM) { + log->AddEvent(LogLevel_Verbose, "Camera frame buffer location: DRAM"); + } else if (CameraConfig.fb_location == CAMERA_FB_IN_PSRAM) { + log->AddEvent(LogLevel_Verbose, "Camera frame buffer location: PSRAM"); + } else { + log->AddEvent(LogLevel_Verbose, "Camera frame buffer location: Unknown"); + } + + /* Camera init */ + err = esp_camera_init(&CameraConfig); + if (err != ESP_OK) { + log->AddEvent(LogLevel_Warning, "Camera init failed. Error: " + String(err, HEX)); + log->AddEvent(LogLevel_Warning, "Reset ESP32-cam!"); + ESP.restart(); + } +} + +/** + @brief Load camera CFG from EEPROM + @param none + @return none +*/ +void Camera::LoadCameraCfgFromEeprom() { + log->AddEvent(LogLevel_Info, "Load camera CFG from EEPROM"); + PhotoQuality = config->LoadPhotoQuality(); + FrameSize = config->LoadFrameSize(); + TFrameSize = TransformFrameSizeDataType(config->LoadFrameSize()); + brightness = config->LoadBrightness(); + contrast = config->LoadContrast(); + saturation = config->LoadSaturation(); + awb = config->LoadAwb(); + awb_gain = config->LoadAwbGain(); + wb_mode = config->LoadAwbMode(); + aec2 = config->LoadAec2(); + ae_level = config->LoadAeLevel(); + aec_value = config->LoadAecValue(); + gain_ctrl = config->LoadGainCtrl(); + agc_gain = config->LoadAgcGain(); + bpc = config->LoadBpc(); + wpc = config->LoadWpc(); + raw_gama = config->LoadRawGama(); + hmirror = config->LoadHmirror(); + vflip = config->LoadVflip(); + lensc = config->LoadLensCorrect(); + exposure_ctrl = config->LoadExposureCtrl(); + CameraFlashEnable = config->LoadCameraFlashEnable(); + CameraFlashTime = config->LoadCameraFlashTime(); +} + +/** + @brief transform uint8_t from web interface to framesize_t + @param uint8_t - int value from web + @return framesize_t +*/ +framesize_t Camera::TransformFrameSizeDataType(uint8_t i_data) { + framesize_t ret = FRAMESIZE_QVGA; + switch (i_data) { + case 0: + ret = FRAMESIZE_QVGA; + break; + case 1: + ret = FRAMESIZE_CIF; + break; + case 2: + ret = FRAMESIZE_VGA; + break; + case 3: + ret = FRAMESIZE_SVGA; + break; + case 4: + ret = FRAMESIZE_XGA; + break; + case 5: + ret = FRAMESIZE_SXGA; + break; + case 6: + ret = FRAMESIZE_UXGA; + break; + default: + ret = FRAMESIZE_QVGA; + log->AddEvent(LogLevel_Warning, "Bad frame size. Set default value. " + String(i_data)); + break; + } + + return ret; +} + +/** + @brief Function set flash status + @param bool i_data - true = on, false = off + @return none +*/ +void Camera::SetFlashStatus(bool i_data) { + if (true == i_data) { + ledcWrite(FLASH_PWM_CHANNEL, FLASH_ON_STATUS); + } else if (false == i_data) { + ledcWrite(FLASH_PWM_CHANNEL, FLASH_OFF_STATUS); + } +} + +/** + @brief Function get flash status + @param none + @return bool - true = on, false = off +*/ +bool Camera::GetFlashStatus() { + if (ledcRead(FLASH_PWM_CHANNEL) == FLASH_OFF_STATUS) { + return false; + } else if (ledcRead(FLASH_PWM_CHANNEL) == FLASH_ON_STATUS) { + return true; + } + + return false; +} + +/** + @brief Function set camer acfg + @param none + @return none +*/ +void Camera::ApplyCameraCfg() { + log->AddEvent(LogLevel_Info, "Set camera CFG"); + + /* sensor configuration */ + sensor_t* sensor = esp_camera_sensor_get(); + sensor->set_brightness(sensor, brightness); // -2 to 2 + sensor->set_contrast(sensor, contrast); // -2 to 2 + sensor->set_saturation(sensor, saturation); // -2 to 2 + sensor->set_special_effect(sensor, 0); // 0 to 6 (0 - No Effect, 1 - Negative, 2 - Grayscale, 3 - Red Tint, 4 - Green Tint, 5 - Blue Tint, 6 - Sepia) + sensor->set_whitebal(sensor, awb); // automatic white balancing 0 = disable , 1 = enable + sensor->set_awb_gain(sensor, awb_gain); // automatic white balancing gain 0 = disable , 1 = enable + sensor->set_wb_mode(sensor, wb_mode); // white balancing mode 0 to 4 - if awb_gain enabled (0 - Auto, 1 - Sunny, 2 - Cloudy, 3 - Office, 4 - Home) + sensor->set_exposure_ctrl(sensor, exposure_ctrl); // exposition controll 0 = disable , 1 = enable + sensor->set_aec2(sensor, aec2); // enable exposition controll 0 = disable , 1 = enable + sensor->set_ae_level(sensor, ae_level); // automatic exposition level -2 to 2 + sensor->set_aec_value(sensor, aec_value); // expozition time - 0 to 1200 + sensor->set_gain_ctrl(sensor, gain_ctrl); // automatic gain controll 0 = disable , 1 = enable + sensor->set_agc_gain(sensor, agc_gain); // automatic gain controll level 0 to 30 + sensor->set_gainceiling(sensor, (gainceiling_t)0); // maximum gain 0 to 6 + sensor->set_bpc(sensor, bpc); // bad pixel correction 0 = disable , 1 = enable + sensor->set_wpc(sensor, wpc); // white pixel correction 0 = disable , 1 = enable + sensor->set_raw_gma(sensor, raw_gama); // raw gama correction 0 = disable , 1 = enable + sensor->set_lenc(sensor, lensc); // lens correction 0 = disable , 1 = enable + sensor->set_hmirror(sensor, hmirror); // horizontal mirror 0 = disable , 1 = enable + sensor->set_vflip(sensor, vflip); // vertical flip 0 = disable , 1 = enable + sensor->set_dcw(sensor, 1); // 0 = disable , 1 = enable + sensor->set_colorbar(sensor, 0); // external collor lines, 0 = disable , 1 = enable +} + +/** + @brief Function for reinit camera module + @param none + @return none +*/ +void Camera::ReinitCameraModule() { + esp_err_t err = esp_camera_deinit(); + if (err != ESP_OK) { + log->AddEvent(LogLevel_Warning, "Camera error deinit camera module. Error: " + String(err, HEX)); + } + InitCameraModule(); + ApplyCameraCfg(); +} + +/** + @brief Capture Photo and Save it to string array + @param none + @return none +*/ +void Camera::CapturePhoto() { + if (false == StreamOnOff) { + if (xSemaphoreTake(frameBufferSemaphore, portMAX_DELAY)) { + + /* check flash, and enable FLASH LED */ + if (true == CameraFlashEnable) { + ledcWrite(FLASH_PWM_CHANNEL, FLASH_ON_STATUS); + delay(CameraFlashTime); + } + + /* get train photo */ + FrameBuffer = esp_camera_fb_get(); + esp_camera_fb_return(FrameBuffer); + + do { + log->AddEvent(LogLevel_Info, "Taking photo..."); + + /* capture final photo */ + FrameBuffer = esp_camera_fb_get(); + if (!FrameBuffer) { + log->AddEvent(LogLevel_Error, "Camera capture failed! photo"); + return; + + } else { + /* copy photo from buffer to string array */ + char buf[150] = { '\0' }; + uint8_t ControlFlag = (uint8_t)FrameBuffer->buf[15]; + sprintf(buf, "The picture has been saved. Size: %d bytes, Photo resolution: %zu x %zu", FrameBuffer->len, FrameBuffer->width, FrameBuffer->height); + log->AddEvent(LogLevel_Info, buf); + + /* check corrupted photo */ + if (ControlFlag != 0x00) { + log->AddEvent(LogLevel_Error, "Camera capture failed! photo " + String(ControlFlag, HEX)); + FrameBuffer->len = 0; + + } else { + log->AddEvent(LogLevel_Info, "Photo OK! " + String(ControlFlag, HEX)); + } + + esp_camera_fb_return(FrameBuffer); + } + + /* check if photo is correctly saved */ + } while (!(FrameBuffer->len > 100)); + + /* Disable flash */ + if (true == CameraFlashEnable) { + delay(CameraFlashTime); + ledcWrite(FLASH_PWM_CHANNEL, FLASH_OFF_STATUS); + } + xSemaphoreGive(frameBufferSemaphore); + } + } +} + +/** + @brief Capture Stream + @param camera_fb_t * - pointer to camera_fb_t + @return none +*/ +void Camera::CaptureStream(camera_fb_t* i_buf) { + if (xSemaphoreTake(frameBufferSemaphore, portMAX_DELAY)) { + do { + /* capture final photo */ + FrameBuffer = esp_camera_fb_get(); + if (!FrameBuffer) { + log->AddEvent(LogLevel_Error, "Camera capture failed! stream"); + i_buf = NULL; + return; + } + + /* check if photo is correctly saved */ + } while (!(FrameBuffer->len > 100)); + *i_buf = *FrameBuffer; + xSemaphoreGive(frameBufferSemaphore); + } +} + +/** + @brief Capture Return Frame Buffer + @param none + @return none +*/ +void Camera::CaptureReturnFrameBuffer() { + esp_camera_fb_return(FrameBuffer); +} + +/** + @brief Set Stream Status + @param bool - true = on, false = off + @return none +*/ +void Camera::SetStreamStatus(bool i_status) { + StreamOnOff = i_status; + log->AddEvent(LogLevel_Info, "Camera video stream: " + String(StreamOnOff)); +} + +/** + @brief Get Stream Status + @param none + @return bool - true = on, false = off +*/ +bool Camera::GetStreamStatus() { + return StreamOnOff; +} + +/** + @brief Set Frame Size + @param uint16_t - frame size + @return none +*/ +void Camera::StreamSetFrameSize(uint16_t i_data) { + StreamAverageSize = (StreamAverageSize + i_data) / 2; +} + +/** + @brief Set average Frame Fps + @param float - frame fps + @return none +*/ +void Camera::StreamSetFrameFps(float i_data) { + StreamAverageFps = (StreamAverageFps + i_data) / 2.0; +} + +/** + @brief Get average stream Frame Size + @param none + @return uint16_t - frame size +*/ +uint16_t Camera::StreamGetFrameAverageSize() { + return StreamAverageSize; +} + +/** + @brief Get average stream Frame Fps + @param none + @return float - frame fps +*/ +float Camera::StreamGetFrameAverageFps() { + return StreamAverageFps; +} + +/** + @brief Clear Frame Data + @param none + @return none +*/ +void Camera::StreamClearFrameData() { + StreamAverageFps = 0.0; + StreamAverageSize = 0; +} + +/** + @brief Get Photo + @param none + @return String - photo +*/ +String Camera::GetPhoto() { + Photo = ""; + for (size_t i = 0; i < FrameBuffer->len; i++) { + Photo += (char)FrameBuffer->buf[i]; + } + return Photo; +} + +/** + @brief Get Photo Frame Buffer + @param none + @return camera_fb_t* - photo frame buffer +*/ +camera_fb_t* Camera::GetPhotoFb() { + return FrameBuffer; +} + +/** + @brief Copy Photo + @param camera_fb_t* - pointer to camera_fb_t + @return none +*/ +void Camera::CopyPhoto(camera_fb_t* i_data) { + *i_data = *FrameBuffer; +} + +/** + @brief Copy Photo + @param String* - pointer to string + @return none +*/ +void Camera::CopyPhoto(String* i_data) { + Photo = ""; + for (size_t i = 0; i < FrameBuffer->len; i++) { + Photo += (char)FrameBuffer->buf[i]; + } + *i_data = Photo; +} + +/** + @brief Set Photo Quality + @param uint8_t - photo quality + @return none +*/ +void Camera::SetPhotoQuality(uint8_t i_data) { + config->SavePhotoQuality(i_data); + PhotoQuality = i_data; + ReinitCameraModule(); +} + +/** + @brief Set Frame Size + @param uint8_t - frame size + @return none +*/ +void Camera::SetFrameSize(uint8_t i_data) { + config->SaveFrameSize(i_data); + FrameSize = i_data; + TFrameSize = TransformFrameSizeDataType(i_data); + ReinitCameraModule(); +} + +/** + @brief Set Brightness + @param int8_t - brightness + @return none +*/ +void Camera::SetBrightness(int8_t i_data) { + config->SaveBrightness(i_data); + brightness = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set Contrast + @param int8_t - contrast + @return none +*/ +void Camera::SetContrast(int8_t i_data) { + config->SaveContrast(i_data); + contrast = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set Saturation + @param int8_t - saturation + @return none +*/ +void Camera::SetSaturation(int8_t i_data) { + config->SaveSaturation(i_data); + saturation = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set automatic white balance + @param bool - automatic white balance + @return none +*/ +void Camera::SetAwb(bool i_data) { + config->SaveAwb(i_data); + awb = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set automatic white balance gain + @param bool - automatic white balance gain + @return none +*/ +void Camera::SetAwbGain(bool i_data) { + config->SaveAwbGain(i_data); + awb_gain = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set automatic white balance mode + @param uint8_t - automatic white balance mode + @return none +*/ +void Camera::SetAwbMode(uint8_t i_data) { + config->SaveAwbMode(i_data); + wb_mode = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set automatic exposure control 2 + @param bool - automatic exposure control 2 + @return none +*/ +void Camera::SetAec2(bool i_data) { + config->SaveAec2(i_data); + aec2 = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set automatic exposure level + @param int8_t - automatic exposure level + @return none +*/ +void Camera::SetAeLevel(int8_t i_data) { + config->SaveAeLevel(i_data); + ae_level = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set automatic exposition control value + @param uint16_t - automatic exposure control value + @return none +*/ +void Camera::SetAecValue(uint16_t i_data) { + config->SaveAecValue(i_data); + aec_value = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set Gain Ctrl + @param bool - gain ctrl + @return none +*/ +void Camera::SetGainCtrl(bool i_data) { + config->SaveGainCtrl(i_data); + gain_ctrl = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set automatic gain control gain + @param uint8_t - automatic gain control gain + @return none +*/ +void Camera::SetAgcGain(uint8_t i_data) { + config->SaveAgcGain(i_data); + agc_gain = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set bad pixel correction + @param bool - bad pixel correction + @return none +*/ +void Camera::SetBpc(bool i_data) { + config->SaveBpc(i_data); + bpc = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set white pixel correction + @param bool - white pixel correction + @return none +*/ +void Camera::SetWpc(bool i_data) { + config->SaveWpc(i_data); + wpc = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set Raw Gama + @param bool - raw gama + @return none +*/ +void Camera::SetRawGama(bool i_data) { + config->SaveRawGama(i_data); + raw_gama = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set horizontal Mirror + @param bool - horizontal mirror + @return none +*/ +void Camera::SetHMirror(bool i_data) { + config->SaveHmirror(i_data); + hmirror = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set V Flip + @param bool - vflip + @return none +*/ +void Camera::SetVFlip(bool i_data) { + config->SaveVflip(i_data); + vflip = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set Lens correction + @param bool - lens correction + @return none +*/ +void Camera::SetLensC(bool i_data) { + config->SaveLensCorrect(i_data); + lensc = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set Exposure Ctrl + @param bool - exposure ctrl + @return none +*/ +void Camera::SetExposureCtrl(bool i_data) { + config->SaveExposureCtrl(i_data); + exposure_ctrl = i_data; + ApplyCameraCfg(); +} + +/** + @brief Set Camera Flash Enable + @param bool - flash enable/disable + @return none +*/ +void Camera::SetCameraFlashEnable(bool i_data) { + config->SaveCameraFlashEnable(i_data); + CameraFlashEnable = i_data; +} + +/** + @brief Set Camera Flash Time + @param uint16_t - flash time + @return none +*/ +void Camera::SetCameraFlashTime(uint16_t i_data) { + config->SaveCameraFlashTime(i_data); + CameraFlashTime = i_data; +} + +/** + @brief Get Photo Quality + @param none + @return uint8_t - photo quality +*/ +uint8_t Camera::GetPhotoQuality() { + return PhotoQuality; +} + +/** + @brief Get Frame Size + @param none + @return uint8_t - frame size +*/ +uint8_t Camera::GetFrameSize() { + return FrameSize; +} + +/** + * @brief transform framesize_t to uint16_t width + * + FRAMESIZE_QVGA (320 x 240) + FRAMESIZE_CIF (352 x 288) + FRAMESIZE_VGA (640 x 480) + FRAMESIZE_SVGA (800 x 600) + FRAMESIZE_XGA (1024 x 768) + FRAMESIZE_SXGA (1280 x 1024) + FRAMESIZE_UXGA (1600 x 1200) + * + * @return uint16_t + */ +uint16_t Camera::GetFrameSizeWidth() { + uint16_t ret = 0; + + switch (FrameSize) { + case 0: + ret = 320; + break; + case 1: + ret = 352; + break; + case 2: + ret = 640; + break; + case 3: + ret = 800; + break; + case 4: + ret = 1024; + break; + case 5: + ret = 1280; + break; + case 6: + ret = 1600; + break; + default: + ret = 320; + break; + } + + return ret; +} + +/** + * @brief transform framesize_t to uint16_t height + * + FRAMESIZE_QVGA (320 x 240) + FRAMESIZE_CIF (352 x 288) + FRAMESIZE_VGA (640 x 480) + FRAMESIZE_SVGA (800 x 600) + FRAMESIZE_XGA (1024 x 768) + FRAMESIZE_SXGA (1280 x 1024) + FRAMESIZE_UXGA (1600 x 1200) + * + * @return uint16_t + */ +uint16_t Camera::GetFrameSizeHeight() { + uint16_t ret = 0; + switch (FrameSize) { + case 0: + ret = 240; + break; + case 1: + ret = 288; + break; + case 2: + ret = 480; + break; + case 3: + ret = 600; + break; + case 4: + ret = 768; + break; + case 5: + ret = 1024; + break; + case 6: + ret = 1200; + break; + default: + ret = 240; + break; + } + + return ret; +} + +/** + @brief Get Brightness + @param none + @return int8_t - brightness +*/ +int8_t Camera::GetBrightness() { + return brightness; +} + +/** + @brief Get Contrast + @param none + @return int8_t - contrast +*/ +int8_t Camera::GetContrast() { + return contrast; +} + +/** + @brief Get Saturation + @param none + @return int8_t - saturation +*/ +int8_t Camera::GetSaturation() { + return saturation; +} + +/** + @brief Get Auto white balance status + @param none + @return bool - Auto white balance status +*/ +bool Camera::GetAwb() { + return awb; +} + +/** + @brief Get Auto white balance gain status + @param none + @return bool - Auto white balance gain status +*/ +bool Camera::GetAwbGain() { + return awb_gain; +} + +/** + @brief Get Auto white balance mode + @param none + @return uint8_t - Auto white balance mode +*/ +uint8_t Camera::GetAwbMode() { + return wb_mode; +} + +/** + @brief Get automatic exposure control 2 status + @param none + @return bool - Automatic exposure control 2 status +*/ +bool Camera::GetAec2() { + return aec2; +} + +/** + @brief Get automatic exposure level + @param none + @return int8_t - Automatic exposure level +*/ +int8_t Camera::GetAeLevel() { + return ae_level; +} + +/** + @brief Get automatic exposure control value + @param none + @return uint16_t - Automatic exposure control value +*/ +uint16_t Camera::GetAecValue() { + return aec_value; +} + +/** + @brief Get Gain Ctrl status + @param none + @return bool - Gain control status +*/ +bool Camera::GetGainCtrl() { + return gain_ctrl; +} + +/** + @brief Get Agc Gaint + @param none + @return uint8_t - agc gain +*/ +uint8_t Camera::GetAgcGaint() { + return agc_gain; +} + +/** + @brief Get Bpc + @param none + @return bool - bpc status +*/ +bool Camera::GetBpc() { + return bpc; +} + +/** + @brief Get Wpc + @param none + @return bool - wpc status +*/ +bool Camera::GetWpc() { + return wpc; +} + +/** + @brief Get Raw Gama value + @param none + @return bool - raw gamma value +*/ +bool Camera::GetRawGama() { + return raw_gama; +} + +/** + @brief Get horizontal Mirror status + @param none + @return bool - horizontal mirror status +*/ +bool Camera::GetHMirror() { + return hmirror; +} + +/** + @brief Get vertical Flip status + @param none + @return bool - vertical flip status +*/ +bool Camera::GetVFlip() { + return vflip; +} + +/** + @brief Get Lens correction status + @param none + @return bool - lens correction status +*/ +bool Camera::GetLensC() { + return lensc; +} + +/** + @brief Get exposure control status + @param none + @return bool - exposure control status +*/ +bool Camera::GetExposureCtrl() { + return exposure_ctrl; +} + +/** + @brief Get Camera Flash Enable status + @param none + @return bool - camera flash enable status +*/ +bool Camera::GetCameraFlashEnable() { + return CameraFlashEnable; +} + +/** + * @brief Get camera flash time + * @param none + * @return uint16_t - camera flash time + */ +uint16_t Camera::GetCameraFlashTime() { + return CameraFlashTime; +} + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/camera.h b/ESP32_PrusaConnectCam/camera.h new file mode 100644 index 0000000..e8efb97 --- /dev/null +++ b/ESP32_PrusaConnectCam/camera.h @@ -0,0 +1,150 @@ +/** + @file camera.h + + @brief Library for working with a camera + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _CAMERA_H_ +#define _CAMERA_H_ + +#include "esp_camera.h" +#include "esp_timer.h" +#include "img_converters.h" +#include "soc/soc.h" +#include "soc/rtc_cntl_reg.h" +#include "cfg.h" + +#include "Camera_cfg.h" +#include "Arduino.h" +#include "mcu_cfg.h" +#include "var.h" +#include "log.h" + +class Camera { +private: + uint8_t PhotoQuality; ///< photo quality + uint8_t FrameSize; ///< framesize + int8_t brightness; ///< brightness + int8_t contrast; ///< contrast + int8_t saturation; ///< saturation + bool awb; ///< automatic white balancing + bool awb_gain; ///< automatic white balancing gain + uint8_t wb_mode; ///< white balancing mode + bool aec2; ///< automatic exposition controll + int8_t ae_level; ///< automatic exposition level + uint16_t aec_value; ///< automatic exposition time + bool gain_ctrl; ///< automatic gain + uint8_t agc_gain; ///< automatic gain level + bool bpc; ///< bad pixel correction + bool wpc; ///< white pixel correction + bool raw_gama; ///< raw gama correction + bool hmirror; ///< horizontal mirror + bool vflip; ///< vertical flip + bool lensc; ///< lens corection + bool exposure_ctrl; ///< exposure control + bool CameraFlashEnable; ///< enable/disable camera flash function + uint16_t CameraFlashTime; ///< camera fash duration time + uint8_t CameraFlashPin; ///< GPIO pin for LED + framesize_t TFrameSize; ///< framesize_t type for camera module + + /* OV2640 camera module pinout and cfg*/ + camera_config_t CameraConfig; ///< camera configuration + camera_fb_t *FrameBuffer; ///< frame buffer + String Photo; ///< photo in string format + bool StreamOnOff; ///< stream on/off + SemaphoreHandle_t frameBufferSemaphore; ///< semaphore for frame buffer + float StreamAverageFps; ///< stream average fps + uint16_t StreamAverageSize; ///< stream average size + + Configuration *config; ///< pointer to Configuration object + Logs *log; ///< pointer to Logs object + + void InitCameraModule(); + +public: + Camera(Configuration*, Logs*, uint8_t); + ~Camera(){}; + void Init(); + void ApplyCameraCfg(); + void LoadCameraCfgFromEeprom(); + void ReinitCameraModule(); + void CapturePhoto(); + void CaptureStream(camera_fb_t *); + void CaptureReturnFrameBuffer(); + void SetStreamStatus(bool); + bool GetStreamStatus(); + + void StreamSetFrameSize(uint16_t); + void StreamSetFrameFps(float); + uint16_t StreamGetFrameAverageSize(); + float StreamGetFrameAverageFps(); + void StreamClearFrameData(); + + void CopyPhoto(camera_fb_t *); + void CopyPhoto(String*); + String GetPhoto(); + camera_fb_t *GetPhotoFb(); + framesize_t TransformFrameSizeDataType(uint8_t); + + void SetFlashStatus(bool); + bool GetFlashStatus(); + + void SetPhotoQuality(uint8_t); + void SetFrameSize(uint8_t); + void SetBrightness(int8_t); + void SetContrast(int8_t); + void SetSaturation(int8_t); + void SetAwb(bool); + void SetAwbGain(bool); + void SetAwbMode(uint8_t); + void SetAec2(bool); + void SetAeLevel(int8_t); + void SetAecValue(uint16_t); + void SetGainCtrl(bool); + void SetAgcGain(uint8_t); + void SetBpc(bool); + void SetWpc(bool); + void SetRawGama(bool); + void SetHMirror(bool); + void SetVFlip(bool); + void SetLensC(bool); + void SetExposureCtrl(bool); + void SetCameraFlashEnable(bool); + void SetCameraFlashTime(uint16_t); + + uint8_t GetPhotoQuality(); + uint8_t GetFrameSize(); + uint16_t GetFrameSizeWidth(); + uint16_t GetFrameSizeHeight(); + int8_t GetBrightness(); + int8_t GetContrast(); + int8_t GetSaturation(); + bool GetAwb(); + bool GetAwbGain(); + uint8_t GetAwbMode(); + bool GetAec2(); + int8_t GetAeLevel(); + uint16_t GetAecValue(); + bool GetGainCtrl(); + uint8_t GetAgcGaint(); + bool GetBpc(); + bool GetWpc(); + bool GetRawGama(); + bool GetHMirror(); + bool GetVFlip(); + bool GetLensC(); + bool GetExposureCtrl(); + bool GetCameraFlashEnable(); + uint16_t GetCameraFlashTime(); +}; + +extern Camera SystemCamera; ///< Camera object + +#endif + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/cfg.cpp b/ESP32_PrusaConnectCam/cfg.cpp new file mode 100644 index 0000000..a774765 --- /dev/null +++ b/ESP32_PrusaConnectCam/cfg.cpp @@ -0,0 +1,1072 @@ +/** + @file cfg.cpp + + @brief Library for save and load MCU configuration + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#include "cfg.h" + +Configuration SystemConfig(&SystemLog); + +/** + @info Constructor + @param Logs* - pointer to log module + @return none +*/ +Configuration::Configuration(Logs* i_log) { + Log = i_log; + WiFiMacAddress = WiFi.macAddress(); +} + +/** + @info Init configuration module + @param none + @return none +*/ +void Configuration::Init() { + Log->AddEvent(LogLevel_Info, "Init cfg module: " + String(EEPROM_SIZE)); + //EEPROM.begin(EEPROM_SIZE); + + /* check, when it is first MCU start. If yes, then set default CFG */ + if (CheckFirstMcuStart() == true) { + Log->AddEvent(LogLevel_Warning, "First MCU start! Set factory cfg"); + DefaultCfg(); + SaveFirstMcuStartFlag(CFG_FIRST_MCU_START_NAK); + } + + /* set reset pin */ + pinMode(CFG_RESET_PIN, INPUT_PULLUP); +} + +/** + @info Read MCU cfg from EEPROM + @param none + @return none +*/ +void Configuration::ReadCfg() { + Log->AddEvent(LogLevel_Info, "Load CFG from EEPROM"); + LoadRefreshInterval(); + LoadToken(); + LoadFingerprint(); + LoadPhotoQuality(); + LoadFrameSize(); + LoadBrightness(); + LoadContrast(); + LoadSaturation(); + LoadHmirror(); + LoadVflip(); + LoadLensCorrect(); + LoadExposureCtrl(); + LoadAwb(); + LoadAwbGain(); + LoadAwbMode(); + LoadBpc(); + LoadWpc(); + LoadRawGama(); + LoadWifiSsid(); + LoadWifiPassowrd(); + LoadBasicAuthUsername(); + LoadBasicAuthPassword(); + LoadBasicAuthFlag(); + LoadCameraFlashEnable(); + LoadCameraFlashTime(); + LoadMdnsRecord(); + LoadAec2(); + LoadAeLevel(); + LoadAecValue(); + LoadGainCtrl(); + LoadAgcGain(); + LoadPrusaConnectHostname(); + Log->AddEvent(LogLevel_Info, "Active WiFi client cfg: " + String(CheckActifeWifiCfgFlag() ? "true" : "false")); + Log->AddEvent(LogLevel_Info, "Load CFG from EEPROM done"); +} + +/** + @info Function for check if it's first MCU start + @param none + @return bool - status +*/ +bool Configuration::CheckFirstMcuStart() { + Log->AddEvent(LogLevel_Info, "Read FirstMcuStart: "); + uint8_t flag = EEPROM.read(EEPROM_ADDR_FIRST_MCU_START_FLAG_START); + + if (CFG_FIRST_MCU_START_NAK == flag) { + Log->AddEvent(LogLevel_Info, "It's not first start MCU: " + String(flag)); + return false; + } else { + Log->AddEvent(LogLevel_Warning, "First start MCU!: " + String(flag)); + return true; + } + + return false; +} + +/** + @info save flag about first MCU start. for settings basic auth and more + @param uint8_t - flag + @return none +*/ +void Configuration::SaveFirstMcuStartFlag(uint8_t i_data) { + Log->AddEvent(LogLevel_Info, "Save first MCU start flag: " + String(i_data)); + SaveUint8(EEPROM_ADDR_FIRST_MCU_START_FLAG_START, i_data); +} + +/** + @info Function for set default MCU cfg + @param none + @return none +*/ +void Configuration::DefaultCfg() { + Log->AddEvent(LogLevel_Warning, "+++++++++++++++++++++++++++"); + Log->AddEvent(LogLevel_Warning, "Start set factory cfg!"); + + SaveRefreshInterval(FACTORY_CFG_PHOTO_REFRESH_INTERVAL); + SaveToken(""); + GetFingerprint(); + SavePhotoQuality(FACTORY_CFG_PHOTO_QUALITY); + SaveFrameSize(FACTORY_CFG_FRAME_SIZE); + SaveBrightness(FACTORY_CFG_BRIGHTNESS); + SaveContrast(FACTORY_CFG_CONTRAST); + SaveSaturation(FACTORY_CFG_SATURATION); + SaveHmirror(FACTORY_CFG_H_MIRROR); + SaveVflip(FACTORY_CFG_V_FLIP); + SaveLensCorrect(FACTORY_CFG_LENS_CORRECT); + SaveExposureCtrl(FACTORY_CFG_EXPOSURE_CTRL); + SaveAwb(FACTORY_CFG_AWB); + SaveAwbGain(FACTORY_CFG_AWB_GAIN); + SaveAwbMode(FACTORY_CFG_AWB_MODE); + SaveBpc(FACTORY_CFG_BPC); + SaveWpc(FACTORY_CFG_WPC); + SaveRawGama(FACTORY_CFG_RAW_GAMA); + SaveWifiCfgFlag(CFG_WIFI_SETTINGS_NOT_SAVED); + SaveWifiPassword(""); + SaveWifiSsid(""); + SaveBasicAuthUsername(FACTORY_CFG_WEB_AUTH_USERNAME); + SaveBasicAuthPassword(FACTORY_CFG_WEB_AUTH_PASSWORD); + SaveBasicAuthFlag(FACTORY_CFG_WEB_AUTH_ENABLE); + SaveCameraFlashEnable(FACTORY_CFG_CAMERA_FLASH_ENABLE); + SaveCameraFlashTime(FACTORY_CFG_CAMERA_FLASH_TIME); + SaveMdnsRecord(FACTORY_CFG_MDNS_RECORD_HOST); + SaveAec2(FACTORY_CFG_AEC2); + SaveAeLevel(FACTORY_CFG_AE_LEVEL); + SaveAecValue(FACTORY_CFG_AEC_VALUE); + SaveGainCtrl(FACTORY_CFG_GAIN_CTRL); + SaveAgcGain(FACTORY_CFG_AGC_GAIN); + SaveLogLevel(LogLevel_Info); + SavePrusaConnectHostname(FACTORY_CFG_HOSTNAME); + Log->AddEvent(LogLevel_Warning, "+++++++++++++++++++++++++++"); +} + +/** + @info the function checks whether the configuration for connecting to WI-FI network is saved + @param none + @return bool - status +*/ +bool Configuration::CheckActifeWifiCfgFlag() { + uint8_t flag = EEPROM.read(EEPROM_ADDR_WIFI_ACTIVE_FLAG_START); + Log->AddEvent(LogLevel_Verbose, "Read ActifeWifiCfgFlag: " + String(flag)); + + if (CFG_WIFI_SETTINGS_SAVED == flag) { + return true; + } else { + return false; + } + + return false; +} + +/** + @info Function checks the GPIO pin, which is used to reset the CFG to default + @param none + @return none +*/ +void Configuration::CheckResetCfg() { + Log->AddEvent(LogLevel_Verbose, "Check reset MCU cfg"); + bool ResetPinStatus = digitalRead(CFG_RESET_PIN); + + /* wait 10s to pressed reset pin */ + uint8_t i = 0; + for (i = 0; i < (CFG_RESET_TIME_WAIT / CFG_RESET_LOOP_DELAY); i++) { + Log->AddEvent(LogLevel_Verbose, "Reset pin status: " + String(ResetPinStatus)); + if (ResetPinStatus == HIGH) { + break; + } + + delay(CFG_RESET_LOOP_DELAY); + ResetPinStatus = digitalRead(CFG_RESET_PIN); + } + + /* check if is reset pin grounded more at 10s */ + if (i == (CFG_RESET_TIME_WAIT / CFG_RESET_LOOP_DELAY)) { + Log->AddEvent(LogLevel_Warning, "Reset MCU to factory CFG!"); + + /* wait for ungrounded reset pin, and binking led */ + while (digitalRead(CFG_RESET_PIN) == LOW) { + analogWrite(FLASH_GPIO_NUM, 20); + delay(100); + analogWrite(FLASH_GPIO_NUM, 0); + delay(100); + } + + /* turn off LED, reset cfg, reset MCU */ + analogWrite(FLASH_GPIO_NUM, 0); + DefaultCfg(); + ESP.restart(); + + } else { + Log->AddEvent(LogLevel_Verbose, "Reset MCU cfg false"); + } +} + +/** + @info get Fingerprint value from system + @param none + @return none +*/ +void Configuration::GetFingerprint() { + String Id = ""; + for (size_t i = 0; i < UniqueIDsize; i++) { + Id += String(UniqueID[i]); + //Id += "."; + } + //String Random = String(esp_random()); + String encoded = base64::encode(Id + " " + WiFiMacAddress); + SaveFingerprint(encoded); + Log->AddEvent(LogLevel_Verbose, "UniqueID: " + Id); + Log->AddEvent(LogLevel_Verbose, "WiFi MAC: " + WiFiMacAddress); + //Log->AddEvent(LogLevel_Verbose, "Random number: " + Random); + Log->AddEvent(LogLevel_Warning, "Calculated device fingerprint: " + encoded); +} + +/** + @info Function for save uint8_t to EEPROM + @param uint16_t data address + @param uint8_t data + @return none +*/ +void Configuration::SaveUint8(uint16_t address, uint8_t data) { + EEPROM.write(address, data); + EEPROM.commit(); +} +/** + @info Function for save int8_t to EEPROM + @param uint16_t data address + @param int8_t data + @return none +*/ +void Configuration::SaveInt8(uint16_t address, int8_t data) { + EEPROM.write(address, data); + EEPROM.commit(); +} +/** + @info Function for save bool to EEPROM + @param uint16_t data address + @param bool data + @return none +*/ +void Configuration::SaveBool(uint16_t address, bool data) { + EEPROM.write(address, data); + EEPROM.commit(); +} +/** + @info Function for save uint16_t to EEPROM + @param uint16_t data address + @param uint16_t data + @return none +*/ +void Configuration::SaveUint16(uint16_t address, uint16_t data) { + uint8_t highByte = highByte(data); + uint8_t lowByte = lowByte(data); + + EEPROM.write(address, highByte); + EEPROM.write(address + 1, lowByte); + EEPROM.commit(); +} + +/** + @info Function for save string to EEPROM + @param uint16_t data address + @param uint16_t maximum data length + @param String data + @return none +*/ +void Configuration::SaveString(uint16_t address, uint16_t max_length, String data) { + if (data.length() < max_length) { + /* save data length to first byte */ + EEPROM.write(address, data.length()); + + /* save data */ + for (uint16_t i = address + 1, j = 0; j < data.length(); i++, j++) { + EEPROM.write(i, data.charAt(j)); + } + EEPROM.commit(); + Log->AddEvent(LogLevel_Verbose, "Write string done"); + } else { + Log->AddEvent(LogLevel_Verbose, "Skip write string"); + } +} +/** + @info Function for read uint16_t data from EEPROM + @param uint16_t fist byte address + @return uint16_t data +*/ +uint16_t Configuration::LoadUint16(uint16_t address) { + uint16_t tmp = uint16_t(EEPROM.read(address) << 8) | (EEPROM.read(address + 1)); + return tmp; +} +/** + @info Function for load string from EEPROM + @param uint16_t data address + @param uint16_t maximum data length + @param bool show/hide sensitive data + @return String data +*/ +String Configuration::LoadString(uint16_t address, uint16_t max_length, bool show_sensitive_data) { + String tmp = ""; + uint8_t len = EEPROM.read(address); + + if ((len <= max_length) && (len > 0)) { + for (uint16_t i = address + 1, j = 0; j < len; i++, j++) { + tmp += (char)EEPROM.read(i); + } + } + + String LogMsg = ""; + if (false == show_sensitive_data) { + for (uint16_t i = 0; i <= tmp.length(); i++) { + LogMsg += "*"; + } + } else { + LogMsg = tmp; + } + Log->AddEvent(LogLevel_Info, LogMsg, true, false); + + return tmp; +} + +/** + @info save refresh interval to eeprom + @param uint8_t - refresh interval + @return none +*/ +void Configuration::SaveRefreshInterval(uint8_t i_interval) { + Log->AddEvent(LogLevel_Verbose, "Save RefreshInterval: " + String(i_interval)); + SaveUint8(EEPROM_ADDR_REFRESH_INTERVAL_START, i_interval); +} + +/** + @info save token to eeprom + @param string - token + @return none +*/ +void Configuration::SaveToken(String i_token) { + Log->AddEvent(LogLevel_Verbose, "Save Token[" + String(i_token.length()) + "]: " + i_token); + SaveString(EEPROM_ADDR_TOKEN_START, EEPROM_ADDR_TOKEN_LENGTH, i_token); +} + +/** + @info save fingerprint to EEPROM + @param String - fingerprint + @return none +*/ +void Configuration::SaveFingerprint(String i_fingerprint) { + Log->AddEvent(LogLevel_Verbose, "Save Fingerprint[" + String(i_fingerprint.length()) + "]: " + i_fingerprint); + SaveString(EEPROM_ADDR_FINGERPRINT_START, EEPROM_ADDR_FINGERPRINT_LENGTH, i_fingerprint); +} + +/** + @info save photo quality to EEPROM + @param uint8_t - photo quality + @return none +*/ +void Configuration::SavePhotoQuality(uint8_t i_data) { + Log->AddEvent(LogLevel_Verbose, "Save PhotoQuality: " + String(i_data)); + SaveUint8(EEPROM_ADDR_PHOTO_QUALITY_START, i_data); +} + +/** + @info save framesize to EEPROM + @param uint8_t - framesize + @return none +*/ +void Configuration::SaveFrameSize(uint8_t i_data) { + Log->AddEvent(LogLevel_Verbose, "Save FrameSize: " + String(i_data)); + SaveUint8(EEPROM_ADDR_FRAMESIZE_START, i_data); +} + +/** + @info save brightness to EEPROM + @param uint8_t - brightness + @return none +*/ +void Configuration::SaveBrightness(int8_t i_data) { + Log->AddEvent(LogLevel_Verbose, "Save Brightness: " + String(i_data)); + SaveInt8(EEPROM_ADDR_BRIGHTNESS_START, i_data); +} + +/** + @info save contrast to EEPROM + @param uint8_t - contrast + @return none +*/ +void Configuration::SaveContrast(int8_t i_data) { + Log->AddEvent(LogLevel_Verbose, "Save Contrast: " + String(i_data)); + SaveInt8(EEPROM_ADDR_CONTRAST_START, i_data); +} + +/** + @info save saturation to EEPROM + @param int8_t - saturation + @return none +*/ +void Configuration::SaveSaturation(int8_t i_data) { + Log->AddEvent(LogLevel_Verbose, "Save Saturation: " + String(i_data)); + SaveInt8(EEPROM_ADDR_SATURATION_START, i_data); +} + +/** + @info save horizontal mirror to EEPROM + @param uint8_t - hmirror value + @return none +*/ +void Configuration::SaveHmirror(bool i_data) { + Log->AddEvent(LogLevel_Verbose, "Save Hmirror: " + String(i_data)); + SaveBool(EEPROM_ADDR_HMIRROR_START, i_data); +} + +/** + @info save vertical flip to EEPROM + @param uint8_t - vertical flip + @return none +*/ +void Configuration::SaveVflip(bool i_data) { + Log->AddEvent(LogLevel_Verbose, "Save vflip: " + String(i_data)); + SaveBool(EEPROM_ADDR_VFLIP_START, i_data); +} + +/** + @info save lens correction to EEPROM + @param uint8_t - lens correction + @return none +*/ +void Configuration::SaveLensCorrect(bool i_data) { + Log->AddEvent(LogLevel_Verbose, "Save lensc: " + String(i_data)); + SaveBool(EEPROM_ADDR_LENSC_START, i_data); +} + +/** + @info save exposure ctrl to EEPROM + @param uint8_t - exposure ctrl + @return none +*/ +void Configuration::SaveExposureCtrl(bool i_data) { + Log->AddEvent(LogLevel_Verbose, "Save exposure_ctrl: " + String(i_data)); + SaveBool(EEPROM_ADDR_EXPOSURE_CTRL_START, i_data); +} + +/** + @info Save awb + @param bool value + @return none +*/ +void Configuration::SaveAwb(bool i_data) { + Log->AddEvent(LogLevel_Verbose, "Save awb: " + String(i_data)); + SaveBool(EEPROM_ADDR_AWB_ENABLE_START, i_data); +} + +/** + @info Save awb gain value + @param bool value + @return none +*/ +void Configuration::SaveAwbGain(bool i_data) { + Log->AddEvent(LogLevel_Verbose, "Save awb_gain: " + String(i_data)); + Configuration::SaveBool(EEPROM_ADDR_AWB_GAIN_ENABLE_START, i_data); +} + +/** + @info Save awb mode value + @param uint8_t value + @return none +*/ +void Configuration::SaveAwbMode(uint8_t i_data) { + Log->AddEvent(LogLevel_Verbose, "Save awb_mode: " + String(i_data)); + SaveUint8(EEPROM_ADDR_AWB_MODE_ENABLE_START, i_data); +} + +/** + @info Save bpc value + @param bool value + @return none +*/ +void Configuration::SaveBpc(bool i_data) { + Log->AddEvent(LogLevel_Verbose, "Save bpc: " + String(i_data)); + SaveBool(EEPROM_ADDR_BPC_ENABLE_START, i_data); +} + +/** + @info Save wpc value + @param bool value + @return none +*/ +void Configuration::SaveWpc(bool i_data) { + Log->AddEvent(LogLevel_Verbose, "Save wpc: " + String(i_data)); + SaveBool(EEPROM_ADDR_WPC_ENABLE_START, i_data); +} + +/** + @info Save raw gama value + @param bool value + @return none +*/ +void Configuration::SaveRawGama(bool i_data) { + Log->AddEvent(LogLevel_Verbose, "Save raw_gama: " + String(i_data)); + SaveBool(EEPROM_ADDR_RAW_GAMA_ENABLE_START, i_data); +} + +/** + @info save WI-FI ssid to EEPROM + @param string - WI-FI SSID + @return none +*/ +void Configuration::SaveWifiSsid(String i_data) { + Log->AddEvent(LogLevel_Verbose, "Save WI-FI SSID[" + String(i_data.length()) + "]: " + i_data); + SaveString(EEPROM_ADDR_WIFI_SSID_START, EEPROM_ADDR_WIFI_SSID_LENGTH, i_data); +} + +/** + @info save WI-FI password to EEPROM + @param string - WI-FI password + @return none +*/ +void Configuration::SaveWifiPassword(String i_data) { + //Log->AddEvent(LogLevel_Verbose, "Save WI-FI password[" + String(i_data.length()) + "]: " + i_data); /* SENSITIVE DATA! */ + Log->AddEvent(LogLevel_Verbose, "Save WI-FI password[" + String(i_data.length()) + "]"); + SaveString(EEPROM_ADDR_WIFI_PASSWORD_START, EEPROM_ADDR_WIFI_PASSWORD_LENGTH, i_data); +} + +/** + @info save flag for configuration to EEPROM + @param uint8_t - cfg flag + @return none +*/ +void Configuration::SaveWifiCfgFlag(uint8_t i_data) { + Log->AddEvent(LogLevel_Verbose, "Save active wifi cfg flag: " + String(i_data)); + SaveUint8(EEPROM_ADDR_WIFI_ACTIVE_FLAG_START, i_data); +} +/* + @info save username fof BasicAuth to EEPROM + @param string - username + @return none +*/ +void Configuration::SaveBasicAuthUsername(String i_data) { + Log->AddEvent(LogLevel_Verbose, "Save username BasicAuth[" + String(i_data.length()) + "]: " + i_data); + SaveString(EEPROM_ADDR_BASIC_AUTH_USERNAME_START, EEPROM_ADDR_BASIC_AUTH_USERNAME_LENGTH, i_data); +} + + +/** + @info save password fof BasicAuth to EEPROM + @param string - password + @return none +*/ +void Configuration::SaveBasicAuthPassword(String i_data) { + uint8_t len = i_data.length(); + Log->AddEvent(LogLevel_Verbose, "Save password BasicAuth[" + String(len) + "]: "); + SaveString(EEPROM_ADDR_BASIC_AUTH_PASSWORD_START, EEPROM_ADDR_BASIC_AUTH_PASSWORD_LENGTH, i_data); +} + +/** + @info save status enable/disable BasicAuth to EEPROM + @param bool - status + @return none +*/ +void Configuration::SaveBasicAuthFlag(bool i_data) { + Log->AddEvent(LogLevel_Verbose, "Save Enable/disable BasicAuth: " + String(i_data)); + SaveBool(EEPROM_ADDR_BASIC_AUTH_ENABLE_FLAG_START, i_data); +} + +/** + @info save status enable/disable photo flash to EEPROM + @param bool - status + @return none +*/ +void Configuration::SaveCameraFlashEnable(uint8_t i_data) { + Log->AddEvent(LogLevel_Verbose, "Save Enable/disable camera flash: " + String(i_data)); + SaveUint8(EEPROM_ADDR_CAMERA_FLASH_ENABLE_START, i_data); +} + +/** + @info save time for photo flash to EEPROM + @param bool - status + @return none +*/ +void Configuration::SaveCameraFlashTime(uint16_t i_data) { + Log->AddEvent(LogLevel_Verbose, "Save camera flash time: " + String(i_data)); + SaveUint16(EEPROM_ADDR_CAMERA_FLASH_TIME_START, i_data); +} + +/** + @info Save mdns record + @param String - value + @return none +*/ +void Configuration::SaveMdnsRecord(String i_data) { + Log->AddEvent(LogLevel_Verbose, "Save mDNS record[" + String(i_data.length()) + "]: " + String(i_data)); + SaveString(EEPROM_ADDR_MDNS_RECORD_START, EEPROM_ADDR_MDNS_RECORD_LENGTH, i_data); +} + +/** + @info Save aec2 value + @param bool - value + @return none +*/ +void Configuration::SaveAec2(bool i_data) { + Log->AddEvent(LogLevel_Verbose, "Save Enable/disable AEC2: " + String(i_data)); + SaveBool(EEPROM_ADDR_AEC2_START, i_data); +} + +/** + @info Save ae level value + @param int8_t - value + @return none +*/ +void Configuration::SaveAeLevel(int8_t i_data) { + Log->AddEvent(LogLevel_Verbose, "Save ae_level: " + String(i_data)); + SaveBool(EEPROM_ADDR_AE_LEVEL_START, i_data); +} + +/** + @info Save aec value + @param uint16_t - value + @return none +*/ +void Configuration::SaveAecValue(uint16_t i_data) { + Log->AddEvent(LogLevel_Verbose, "Save aec value time: " + String(i_data)); + SaveUint16(EEPROM_ADDR_AEC_VALUE_START, i_data); +} + +/** + @info Save gain ctrl + @param bool - value + @return none +*/ +void Configuration::SaveGainCtrl(bool i_data) { + Log->AddEvent(LogLevel_Verbose, "Save gain_ctrl: " + String(i_data)); + SaveBool(EEPROM_ADDR_GAIN_CTRL_START, i_data); +} + +/** + @info Save agc gain + @param uint8_t - value + @return none +*/ +void Configuration::SaveAgcGain(uint8_t i_data) { + Log->AddEvent(LogLevel_Verbose, "Save agc_gain: " + String(i_data)); + SaveUint8(EEPROM_ADDR_AGC_GAIN_START, i_data); +} + +/** + @info Save log level + @param LogLevel_enum - value + @return none +*/ +void Configuration::SaveLogLevel(LogLevel_enum i_data) { + Log->AddEvent(LogLevel_Verbose, "Save log level: " + String(i_data)); + SaveUint8(EEPROM_ADDR_LOG_LEVEL, i_data); +} + +/** + * @info Save PrusaConnect hostname + * @param String - hostname + * @return none +*/ +void Configuration::SavePrusaConnectHostname(String i_data) { + Log->AddEvent(LogLevel_Verbose, "Save PrusaConnectHostanme[" + String(i_data.length()) + "]: " + i_data); + SaveString(EEPROM_ADDR_HOSTNAME_START, EEPROM_ADDR_HOSTNAME_LENGTH, i_data); +} + +/** + @info load refresh interval from eeprom + @param none + @return uint8_t - refresh interval +*/ +uint8_t Configuration::LoadRefreshInterval() { + uint8_t ret = EEPROM.read(EEPROM_ADDR_REFRESH_INTERVAL_START); + Log->AddEvent(LogLevel_Info, "Refresh interval: " + String(ret)); + + return ret; +} + +/** + @info load token from eeprom + @param none + @return String - token +*/ +String Configuration::LoadToken() { + Log->AddEvent(LogLevel_Info, "Token: ", false); + String ret = LoadString(EEPROM_ADDR_TOKEN_START, EEPROM_ADDR_TOKEN_LENGTH, CONSOLE_VERBOSE_DEBUG); + + return ret; +} + +/** + @info load fingerprint from eeprom + @param none + @return String - fingerprint +*/ +String Configuration::LoadFingerprint() { + Log->AddEvent(LogLevel_Info, "Fingerprint: ", false); + String ret = LoadString(EEPROM_ADDR_FINGERPRINT_START, EEPROM_ADDR_FINGERPRINT_LENGTH, true); + + return ret; +} + +/** + @info load photo quality cfg from eeprom + @param none + @return uint8_t - photo quality +*/ +uint8_t Configuration::LoadPhotoQuality() { + uint8_t ret = EEPROM.read(EEPROM_ADDR_PHOTO_QUALITY_START); + Log->AddEvent(LogLevel_Info, "Photo quality: " + String(ret)); + + return ret; +} + +/** + @info load framesize cfg from eeprom + @param none + @return uint8_t - framesize +*/ +uint8_t Configuration::LoadFrameSize() { + uint8_t ret = EEPROM.read(EEPROM_ADDR_FRAMESIZE_START); + Log->AddEvent(LogLevel_Info, "Framesize: " + String(ret)); + return ret; +} + +/** + @info load Brightness cfg from eeprom + @param none + @return int8_t - brightness +*/ +int8_t Configuration::LoadBrightness() { + int8_t ret = EEPROM.read(EEPROM_ADDR_BRIGHTNESS_START); + Log->AddEvent(LogLevel_Info, "brightness: " + String(ret)); + + return ret; +} + +/** + @info load contrast cfg from eeprom + @param none + @return int8_t - contrast +*/ +int8_t Configuration::LoadContrast() { + int8_t ret = EEPROM.read(EEPROM_ADDR_CONTRAST_START); + Log->AddEvent(LogLevel_Info, "contrast: " + String(ret)); + + return ret; +} + +/** + @info load saturation cfg from eeprom + @param none + @return int8_t - saturation +*/ +int8_t Configuration::LoadSaturation() { + int8_t ret = EEPROM.read(EEPROM_ADDR_SATURATION_START); + Log->AddEvent(LogLevel_Info, "saturation: " + String(ret)); + + return ret; +} + +/** + @info load hmirror cfg from eeprom + @param none + @return bool - hmirror +*/ +bool Configuration::LoadHmirror() { + bool ret = EEPROM.read(EEPROM_ADDR_HMIRROR_START); + Log->AddEvent(LogLevel_Info, "hmirror: " + String(ret)); + + return ret; +} + +/** + @info load vflip cfg from eeprom + @param none + @return bool - vflip +*/ +bool Configuration::LoadVflip() { + bool ret = EEPROM.read(EEPROM_ADDR_VFLIP_START); + Log->AddEvent(LogLevel_Info, "vflip: " + String(ret)); + + return ret; +} + +/** + @info load lens corection cfg from eeprom + @param none + @return bool - lens correction +*/ +bool Configuration::LoadLensCorrect() { + bool ret = EEPROM.read(EEPROM_ADDR_LENSC_START); + Log->AddEvent(LogLevel_Info, "lensc: " + String(ret)); + + return ret; +} + +/** + @info load exposure ctrl cfg from eeprom + @param none + @return bool - exposure ctrl +*/ +bool Configuration::LoadExposureCtrl() { + bool ret = EEPROM.read(EEPROM_ADDR_EXPOSURE_CTRL_START); + Log->AddEvent(LogLevel_Info, "exposure_ctrl: " + String(ret)); + + return ret; +} + +/** + @info Load awb value + @param none + @return bool - awb +*/ +bool Configuration::LoadAwb() { + bool ret = EEPROM.read(EEPROM_ADDR_AWB_ENABLE_START); + Log->AddEvent(LogLevel_Info, "awb: " + String(ret)); + + return ret; +} + +/** + @info Load awb gain value + @param none + @return bool - awb gain +*/ +bool Configuration::LoadAwbGain() { + bool ret = EEPROM.read(EEPROM_ADDR_AWB_GAIN_ENABLE_START); + Log->AddEvent(LogLevel_Info, "awb_gain: " + String(ret)); + + return ret; +} + +/** + @info Load awb mode + @param none + @return uint8_t - awb mode +*/ +uint8_t Configuration::LoadAwbMode() { + uint8_t ret = EEPROM.read(EEPROM_ADDR_AWB_MODE_ENABLE_START); + Log->AddEvent(LogLevel_Info, "awb_mode: " + String(ret)); + + return ret; +} + +/** + @info Load bpc value + @param none + @return bool - bpc +*/ +bool Configuration::LoadBpc() { + bool ret = EEPROM.read(EEPROM_ADDR_BPC_ENABLE_START); + Log->AddEvent(LogLevel_Info, "bpc: " + String(ret)); + + return ret; +} + +/** + @info Load wpc value + @param none + @return bool - wpc +*/ +bool Configuration::LoadWpc() { + bool ret = EEPROM.read(EEPROM_ADDR_WPC_ENABLE_START); + Log->AddEvent(LogLevel_Info, "wpc: " + String(ret)); + + return ret; +} + +/** + @info Load raw gama value + @param none + @return bool - raw gama +*/ +bool Configuration::LoadRawGama() { + bool ret = EEPROM.read(EEPROM_ADDR_RAW_GAMA_ENABLE_START); + Log->AddEvent(LogLevel_Info, "raw_gama: " + String(ret)); + + return ret; +} + +/** + @info load WI-FI ssid cfg from eeprom + @param none + @return String - WI-FI SSID +*/ +String Configuration::LoadWifiSsid() { + Log->AddEvent(LogLevel_Info, "SSID: ", false); + String ret = LoadString(EEPROM_ADDR_WIFI_SSID_START, EEPROM_ADDR_WIFI_SSID_LENGTH, true); + + return ret; +} + +/** + @info load Wi-FI password cfg from eeprom + @param none + @return String - WI-FI password +*/ +String Configuration::LoadWifiPassowrd() { + Log->AddEvent(LogLevel_Info, "WiFi password: ", false); + String ret = LoadString(EEPROM_ADDR_WIFI_PASSWORD_START, EEPROM_ADDR_WIFI_PASSWORD_LENGTH, CONSOLE_VERBOSE_DEBUG); + + return ret; +} + +/** + @info Read username for basic authentification from eeprom + @param none + @return String - username +*/ +String Configuration::LoadBasicAuthUsername() { + Log->AddEvent(LogLevel_Info, "web auth user: ", false); + String ret = LoadString(EEPROM_ADDR_BASIC_AUTH_USERNAME_START, EEPROM_ADDR_BASIC_AUTH_USERNAME_LENGTH, true); + + return ret; +} + +/** + @info Read password for basic authentification from eeprom + @param none + @return String - password +*/ +String Configuration::LoadBasicAuthPassword() { + Log->AddEvent(LogLevel_Info, "web auth pass: ", false); + String ret = LoadString(EEPROM_ADDR_BASIC_AUTH_PASSWORD_START, EEPROM_ADDR_BASIC_AUTH_PASSWORD_LENGTH, CONSOLE_VERBOSE_DEBUG); + + return ret; +} + +/** + @info Load flag for enable/disable basic auth from eeprom + @param none + @return bool - status +*/ +bool Configuration::LoadBasicAuthFlag() { + bool ret = EEPROM.read(EEPROM_ADDR_BASIC_AUTH_ENABLE_FLAG_START); + Log->AddEvent(LogLevel_Info, "web auth enable: " + String(ret)); + + return ret; +} + +/** + @info Load flag for enable/disable flash from eeprom + @param none + @return bool - status +*/ +bool Configuration::LoadCameraFlashEnable() { + bool ret = EEPROM.read(EEPROM_ADDR_CAMERA_FLASH_ENABLE_START); + Log->AddEvent(LogLevel_Info, "Camera flash: " + String(ret)); + + return ret; +} + +/** + @info Load time for photo flash + @param none + @return uint16_t - time +*/ +uint16_t Configuration::LoadCameraFlashTime() { + uint16_t ret = LoadUint16(EEPROM_ADDR_CAMERA_FLASH_TIME_START); + Log->AddEvent(LogLevel_Info, "Camera flash time: " + String(ret)); + + return ret; +} + +/** + @info Load mdns record + @param none + @return String - mDNS record +*/ +String Configuration::LoadMdnsRecord() { + Log->AddEvent(LogLevel_Info, "mDNS: ", false); + String ret = LoadString(EEPROM_ADDR_MDNS_RECORD_START, EEPROM_ADDR_MDNS_RECORD_LENGTH, true); + + return ret; +} + +/** + @info Load aec2 value + @param none + @return bool - value +*/ +bool Configuration::LoadAec2() { + bool ret = EEPROM.read(EEPROM_ADDR_AEC2_START); + Log->AddEvent(LogLevel_Info, "aec2: " + String(ret)); + + return ret; +} + +/** + @info Load ae level value + @param none + @return int8_t - value +*/ +int8_t Configuration::LoadAeLevel() { + int8_t ret = EEPROM.read(EEPROM_ADDR_AE_LEVEL_START); + Log->AddEvent(LogLevel_Info, "ae_level: " + String(ret)); + + return ret; +} + +/** + @info Load aec value + @param none + @return uint16_t - value +*/ +uint16_t Configuration::LoadAecValue() { + uint16_t ret = LoadUint16(EEPROM_ADDR_AEC_VALUE_START); + Log->AddEvent(LogLevel_Info, "aec_value: " + String(ret)); + + return ret; +} + +/** + @info Load fain ctrl value + @param none + @return bool - value +*/ +bool Configuration::LoadGainCtrl() { + bool ret = EEPROM.read(EEPROM_ADDR_GAIN_CTRL_START); + Log->AddEvent(LogLevel_Info, "gain_ctrl: " + String(ret)); + + return ret; +} + +/** + @info Load agc gain value + @param none + @return uint8_t - value +*/ +uint8_t Configuration::LoadAgcGain() { + uint8_t ret = EEPROM.read(EEPROM_ADDR_AGC_GAIN_START); + Log->AddEvent(LogLevel_Info, "agc_gain: " + String(ret)); + + return ret; +} + +String Configuration::LoadPrusaConnectHostname() { + Log->AddEvent(LogLevel_Info, "PrusaConnect hostname: ", false); + String ret = LoadString(EEPROM_ADDR_HOSTNAME_START, EEPROM_ADDR_HOSTNAME_LENGTH, true); + + return ret; +} + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/cfg.h b/ESP32_PrusaConnectCam/cfg.h new file mode 100644 index 0000000..6d36b38 --- /dev/null +++ b/ESP32_PrusaConnectCam/cfg.h @@ -0,0 +1,125 @@ +/** + @file cfg.h + + @brief Library for save and load MCU configuration + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _CFG_H_ +#define _CFG_H_ +#include +#include + +#include "Arduino.h" +#include +#include + +#include "mcu_cfg.h" +#include "Camera_cfg.h" +#include "var.h" +#include "log.h" + +class Configuration { +public: + Configuration(Logs*); + ~Configuration(){}; + void Init(); + bool CheckActifeWifiCfgFlag(); + void CheckResetCfg(); + + void SaveRefreshInterval(uint8_t); + void SaveToken(String); + void SaveFingerprint(String); + void SavePhotoQuality(uint8_t); + void SaveFrameSize(uint8_t); + void SaveBrightness(int8_t); + void SaveContrast(int8_t); + void SaveSaturation(int8_t); + void SaveHmirror(bool); + void SaveVflip(bool); + void SaveLensCorrect(bool); + void SaveExposureCtrl(bool); + void SaveAwb(bool); + void SaveAwbGain(bool); + void SaveAwbMode(uint8_t); + void SaveBpc(bool); + void SaveWpc(bool); + void SaveRawGama(bool); + void SaveWifiSsid(String); + void SaveWifiPassword(String); + void SaveWifiCfgFlag(uint8_t); + void SaveBasicAuthUsername(String); + void SaveBasicAuthPassword(String); + void SaveBasicAuthFlag(bool); + void SaveCameraFlashEnable(uint8_t); + void SaveCameraFlashTime(uint16_t); + void SaveMdnsRecord(String); + void SaveAec2(bool); + void SaveAeLevel(int8_t); + void SaveAecValue(uint16_t); + void SaveGainCtrl(bool); + void SaveAgcGain(uint8_t); + void SaveLogLevel(LogLevel_enum); + void SavePrusaConnectHostname(String); + + uint8_t LoadRefreshInterval(); + String LoadToken(); + String LoadFingerprint(); + uint8_t LoadPhotoQuality(); + uint8_t LoadFrameSize(); + int8_t LoadBrightness(); + int8_t LoadContrast(); + int8_t LoadSaturation(); + bool LoadHmirror(); + bool LoadVflip(); + bool LoadLensCorrect(); + bool LoadExposureCtrl(); + bool LoadAwb(); + bool LoadAwbGain(); + uint8_t LoadAwbMode(); + bool LoadBpc(); + bool LoadWpc(); + bool LoadRawGama(); + String LoadWifiSsid(); + String LoadWifiPassowrd(); + String LoadBasicAuthUsername(); + String LoadBasicAuthPassword(); + bool LoadBasicAuthFlag(); + bool LoadCameraFlashEnable(); + uint16_t LoadCameraFlashTime(); + String LoadMdnsRecord(); + bool LoadAec2(); + int8_t LoadAeLevel(); + uint16_t LoadAecValue(); + bool LoadGainCtrl(); + uint8_t LoadAgcGain(); + String LoadPrusaConnectHostname(); + +private: + Logs *Log; ///< Pointer to Logs object + String WiFiMacAddress; ///< WiFi MAC address + + void ReadCfg(); + void DefaultCfg(); + bool CheckFirstMcuStart(); + void SaveFirstMcuStartFlag(uint8_t); + void GetFingerprint(); + + void SaveUint8(uint16_t, uint8_t); + void SaveInt8(uint16_t, int8_t); + void SaveBool(uint16_t, bool); + void SaveUint16(uint16_t, uint16_t); + void SaveString(uint16_t, uint16_t, String); + uint16_t LoadUint16(uint16_t); + String LoadString(uint16_t, uint16_t, bool); +}; + +extern Configuration SystemConfig; ///< Configuration object + +#endif + +/* EOF */ diff --git a/ESP32_PrusaConnectCam/connect.cpp b/ESP32_PrusaConnectCam/connect.cpp new file mode 100644 index 0000000..8349c3d --- /dev/null +++ b/ESP32_PrusaConnectCam/connect.cpp @@ -0,0 +1,462 @@ +/** + @file connnect.cpp + + @brief library for communication with prusa connect backend + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#include "connect.h" + +PrusaConnect Connect(&SystemConfig, &SystemLog, &SystemCamera); + +/** + * @brief Constructor for PrusaConnect class + * + * @param Configuration* - pointer to Configuration class + * @param Logs* - pointer to Logs class + * @param Camera* - pointer to Camera class + */ +PrusaConnect::PrusaConnect(Configuration *i_conf, Logs *i_log, Camera *i_camera) { + config = i_conf; + log = i_log; + camera = i_camera; + BackendAvailability = WaitForFirstConnection; + SendDeviceInformationToBackend = true; +} + +/** + * @brief init library PrusaConnect + * + * @param none + * @return none + */ +void PrusaConnect::Init() { + log->AddEvent(LogLevel_Info, "Init PrusaConnect lib"); + TakePicture(); +} + +/** + * @brief Load configuration from EEPROM + * + * @param none + * @return none + */ +void PrusaConnect::LoadCfgFromEeprom() { + log->AddEvent(LogLevel_Info, "Load PrusaConnect CFG from EEPROM"); + Token = config->LoadToken(); + Fingerprint = config->LoadFingerprint(); + RefreshInterval = config->LoadRefreshInterval(); + PrusaConnectHostname = config->LoadPrusaConnectHostname(); +} + +/** + * @brief take picture + * + * @param none + * @return none + */ +void PrusaConnect::TakePicture() { + camera->CapturePhoto(); +} + +/** + * @brief Sending data to prusa connect backend + * + * @param i_data - data to send + * @param i_content_type - data content type + * @param i_type - type of data for log message + * @param i_url_path - url path for backend + * @param i_fragmentation - flag for enable/disable data fragmentation + * @return true - if data was sent successfully + * @return false - if data was not sent successfully + */ +bool PrusaConnect::SendDataToBackend(String *i_data, String i_content_type, String i_type, String i_url_path, bool i_fragmentation) { + WiFiClientSecure client; + BackendReceivedStatus = ""; + bool ret = false; + log->AddEvent(LogLevel_Info, "Sending " + i_type + " to PrusaConnect"); + + /* check fingerprint and token length */ + if ((Fingerprint.length() > 0) && (Token.length() > 0)) { + client.setCACert(root_CAs); + log->AddEvent(LogLevel_Verbose, "Connecting to server..."); + + /* connecting to server */ + if (!client.connect(PrusaConnectHostname.c_str(), 443)) { + char err_buf[200]; + int last_error = client.lastError(err_buf, sizeof(err_buf)); + int error = client.getWriteError(); + if (BackendAvailability != WaitForFirstConnection) { + BackendAvailability = BackendUnavailable; + } + + BackendReceivedStatus = "Connetion failed to domain! Error: " + String(last_error) + " - " + String(err_buf) + " : " + String(error); + log->AddEvent(LogLevel_Info, BackendReceivedStatus + " ,BA:" + CovertBackendAvailabilitStatusToString(BackendAvailability)); + return false; + + } else { + /* send data to server */ + log->AddEvent(LogLevel_Verbose, "Connected to server!"); + client.println("PUT https://" + PrusaConnectHostname + i_url_path + " HTTP/1.0"); + client.println("Host: " + PrusaConnectHostname); + client.println("User-Agent: ESP32-CAM"); + client.println("Connection: close"); + + client.println("Content-Type: " + i_content_type); + client.println("fingerprint: " + Fingerprint); + client.println("token: " + Token); + client.print("Content-Length: "); + client.println(i_data->length()); + client.println(); + + esp_task_wdt_reset(); + if (true == i_fragmentation) { + log->AddEvent(LogLevel_Verbose, "Send data fragmented"); + for (int index = 0; index < i_data->length(); index = index + PHOTO_FRAGMENT_SIZE) { + client.print(i_data->substring(index, index + PHOTO_FRAGMENT_SIZE)); + log->AddEvent(LogLevel_Verbose, String(index)); + } + } else { + log->AddEvent(LogLevel_Verbose, "Send data"); + client.print(*i_data); + } + + log->AddEvent(LogLevel_Info, "Send done"); + esp_task_wdt_reset(); + + String response = ""; + String fullResponse = ""; + log->AddEvent(LogLevel_Verbose, "Response:"); + while (client.connected()) { + if (client.available()) { + response = client.readStringUntil('\n'); + fullResponse += response; + log->AddEvent(LogLevel_Verbose, response.c_str()); + + if (response.startsWith("HTTP/1.1")) { + int httpCode = response.substring(9, 12).toInt(); + BackendReceivedStatus = i_type; + BackendReceivedStatus += ": "; + BackendReceivedStatus += ProcessHttpResponseCode(httpCode); + if (true == ProcessHttpResponseCodeBool(httpCode)) { + ret = true; + } + } + } + } + log->AddEvent(LogLevel_Verbose, "Full response: " + fullResponse); + + BackendAvailability = BackendAvailable; + client.stop(); + } + } else { + /* err message */ + log->AddEvent(LogLevel_Verbose, "ERROR SEND DATA TO SERVER! INVALID DATA!"); + log->AddEvent(LogLevel_Verbose, "Fingerprint: " + Fingerprint); + log->AddEvent(LogLevel_Verbose, "Token: " + Token); + + if (Fingerprint.length() == 0) { + BackendReceivedStatus = "Missing fingerprint"; + } else if (Token.length() == 0) { + BackendReceivedStatus = "Missing token"; + } + } + + log->AddEvent(LogLevel_Info, "Upload done. Response code: " + BackendReceivedStatus + " ,BA:" + CovertBackendAvailabilitStatusToString(BackendAvailability)); + return ret; +} + +/** + * @brief Send photo to prusa connect backend + * + * @param none + * @return none + */ +void PrusaConnect::SendPhotoToBackend() { + log->AddEvent(LogLevel_Info, "Start sending photo to prusaconnect"); + camera->CopyPhoto(&Photo); + SendDataToBackend(&Photo, "image/jpg", "Photo", HOST_URL_CAM_PATH, true); +} + +/** + * @brief seding device info to prusaconnect backend + * + */ +void PrusaConnect::SendInfoToBackend() { + if (false == SendDeviceInformationToBackend) { + return; + + } else { + log->AddEvent(LogLevel_Info, "Start sending device information to prusaconnect"); + + JsonDocument json_data; + String json_string = ""; + + JsonObject config = json_data["config"].to(); + config["name"] = "ESP32-CAM"; + + JsonObject resolution = config["resolution"].to(); + resolution["width"] = SystemCamera.GetFrameSizeWidth(); + resolution["height"] = SystemCamera.GetFrameSizeHeight(); + + JsonObject network_info = config["network_info"].to(); + network_info["wifi_mac"] = SystemWifiMngt.GetWifiMac(); + network_info["wifi_ipv4"] = SystemWifiMngt.GetStaIp(); + network_info["wifi_ssid"] = SystemWifiMngt.GetStaSsid(); + + serializeJson(json_data, json_string); + log->AddEvent(LogLevel_Info, "Data: " + json_string); + bool response = SendDataToBackend(&json_string, "application/json", "Info", HOST_URL_INFO_PATH, false); + + if (true == response) { + SendDeviceInformationToBackend = false; + } + } +} + +/** + * @brief Take picture and send to backend + * + * @param none + * @return none + */ +void PrusaConnect::TakePictureAndSendToBackend() { + TakePicture(); + SendPhotoToBackend(); +} + +/** + @brief Function for processing http response code from prusa backend + @param int - http response code + @return none +*/ +String PrusaConnect::ProcessHttpResponseCode(int code) { + String ret = ""; + switch (code) { + case 200: + ret = "200 - OK"; + break; + case 201: + ret = "201 - OK entry created"; + break; + case 204: + ret = "204 - Upload OK"; + break; + case 304: + ret = "304 - Response has not been modified"; + break; + case 400: + ret = "400 - Some data received is not valid"; + break; + case 401: + ret = "401 - Missing security toker or it is not valid"; + break; + case 403: + ret = "403 - Security toke is not valid or is outdated"; + break; + case 404: + ret = "404 - Entity not found or invalid auth token"; + break; + case 409: + ret = "409 - Conflict with the state of target resource (user error)"; + break; + case 503: + ret += "503 - Service is unavailable at this moment. Try again later"; + break; + default: + ret = String(code); + ret += " - unknown error code"; + break; + } + + return ret; +} +/** + * @brief Translate http response code to boolean + * + * @param code - http response code + * @return true - if response code is OK + * @return false - if response code is not OK + */ +bool PrusaConnect::ProcessHttpResponseCodeBool(int code) { + bool ret = false; + switch (code) { + case 200: + ret = true; + break; + case 201: + ret = true; + break; + case 204: + ret = true; + break; + case 304: + ret = false; + break; + case 400: + ret = false; + break; + case 401: + ret = false; + break; + case 403: + ret = false; + break; + case 404: + ret = false; + break; + case 409: + ret = false; + break; + case 503: + ret = false; + break; + default: + ret = false; + break; + } + + return ret; +} + +/** + * @brief Update device information + * + * @param none + * @return none + */ +void PrusaConnect::UpdateDeviceInformation() { + SendDeviceInformationToBackend = true; +} + +/** + * @brief Set refresh interval + * + * @param uint8_t i_data - refresh interval + * @return none + */ +void PrusaConnect::SetRefreshInterval(uint8_t i_data) { + RefreshInterval = i_data; + config->SaveRefreshInterval(RefreshInterval); +} + +/** + * @brief Set token + * + * @param String i_data - token + * @return none + */ +void PrusaConnect::SetToken(String i_data) { + Token = i_data; + config->SaveToken(Token); +} + +/** + * @brief Set backend availability status + * + * @param BackendAvailabilitStatus - backend status + * @return none + */ +void PrusaConnect::SetBackendAvailabilitStatus(BackendAvailabilitStatus i_data) { + BackendAvailability = i_data; +} + +/** + * @brief set prusa connect hostname + * + * @param String i_data - hostname + */ +void PrusaConnect::SetPrusaConnectHostname(String i_data) { + PrusaConnectHostname = i_data; + config->SavePrusaConnectHostname(PrusaConnectHostname); +} + +/** + * @brief Get refresh interval + * + * @param none + * @return uint8_t - refresh interval + */ +uint8_t PrusaConnect::GetRefreshInterval() { + return RefreshInterval; +} + +/** + * @brief get backend received status + * + * @param none + * @return String - backend received status + */ +String PrusaConnect::GetBackendReceivedStatus() { + return BackendReceivedStatus; +} + +/** + * @brief get token + * + * @param none + * @return String - token + */ +String PrusaConnect::GetToken() { + return Token; +} + +/** + * @brief get fingerprint + * + * @param none + * @return String - fingerprint + */ +String PrusaConnect::GetFingerprint() { + return Fingerprint; +} + +/** + * @brief get prusa connect hostname + * + * @return String - hostanme + */ +String PrusaConnect::GetPrusaConnectHostname() { + return PrusaConnectHostname; +} + +/** + * @brief Get backend availability status + * + * @param none + * @return BackendAvailabilitStatus - backend status + */ +BackendAvailabilitStatus PrusaConnect::GetBackendAvailabilitStatus() { + return BackendAvailability; +} + +/** + * @brief Convert backend availability status to string + * @param BackendAvailabilitStatus - backend status + * @return String - backend status as string +*/ +String PrusaConnect::CovertBackendAvailabilitStatusToString(BackendAvailabilitStatus i_data) { + String ret = ""; + switch (i_data) { + case WaitForFirstConnection: + ret = "Wait for first connection"; + break; + case BackendAvailable: + ret = "Backend available"; + break; + case BackendUnavailable: + ret = "Backend unavailable"; + break; + default: + ret = "Unknown"; + break; + } + + return ret; +} + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/connect.h b/ESP32_PrusaConnectCam/connect.h new file mode 100644 index 0000000..bc75c40 --- /dev/null +++ b/ESP32_PrusaConnectCam/connect.h @@ -0,0 +1,88 @@ +/** + @file connnect.h + + @brief library for communication with prusa connect backend + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _PRUSA_CONNECT_H_ +#define _PRUSA_CONNECT_H_ + +#include +#include +#include +#include "Arduino.h" +#include + +#include "wifi_mngt.h" +#include "mcu_cfg.h" +#include "var.h" +#include "log.h" +#include "camera.h" +#include "cfg.h" +#include "Certificate.h" + +/** + * @brief BackendAvailabilitStatus enum + * status of backend availability + */ +enum BackendAvailabilitStatus { + WaitForFirstConnection = 0, ///< waiting for first connection to backend + BackendAvailable = 1, ///< backend is available + BackendUnavailable = 2, ///< backend is unavailable +}; + +class PrusaConnect { +private: + uint8_t RefreshInterval; ///< interval for sending photo to backend + String BackendReceivedStatus; ///< status of backend response + BackendAvailabilitStatus BackendAvailability; ///< status of backend availability + bool SendDeviceInformationToBackend; ///< flag for sending device information to backend + + String Token; ///< token for backend communication + String Fingerprint; ///< fingerprint for backend communication + String Photo; ///< photo for sending to backend + String PrusaConnectHostname; ///< hostname of prusa connect backend + + Configuration *config; ///< pointer to configuration object + Logs *log; ///< pointer to logs object + Camera *camera; ///< pointer to camera object + + bool SendDataToBackend(String *, String, String, String, bool); + +public: + PrusaConnect(Configuration*, Logs*, Camera*); + ~PrusaConnect(){}; + + void Init(); + void LoadCfgFromEeprom(); + + void TakePicture(); + void SendPhotoToBackend(); + void SendInfoToBackend(); + void TakePictureAndSendToBackend(); + String ProcessHttpResponseCode(int); + bool ProcessHttpResponseCodeBool(int); + void UpdateDeviceInformation(); + + void SetRefreshInterval(uint8_t); + void SetToken(String); + void SetBackendAvailabilitStatus(BackendAvailabilitStatus); + void SetPrusaConnectHostname(String); + + uint8_t GetRefreshInterval(); + String GetBackendReceivedStatus(); + String GetToken(); + String GetFingerprint(); + String GetPrusaConnectHostname(); + BackendAvailabilitStatus GetBackendAvailabilitStatus(); + String CovertBackendAvailabilitStatusToString(BackendAvailabilitStatus); +}; + +extern PrusaConnect Connect; ///< PrusaConnect object + +#endif \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/jquery.h b/ESP32_PrusaConnectCam/jquery.h new file mode 100644 index 0000000..555dd51 --- /dev/null +++ b/ESP32_PrusaConnectCam/jquery.h @@ -0,0 +1,23 @@ +/** + @file jquery.h + + @brief Here is saved jquery library 3.7.0 + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _JQUERY_H_ +#define _JQUERY_H_ + +/* https://releases.jquery.com/jquery/ */ +const char jquery_3_7_0_js[] PROGMEM = R"rawliteral( +/*! jQuery v3.7.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.0",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},R=function(){V()},M=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&z(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function X(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&M(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function U(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function z(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",R),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Me(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return R(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return R(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0= LOGS_FILE_MAX_SIZE) { + uint16_t file_count = FileCount(SD_MMC, FilePath, FileName); + Serial.printf("Maximum log file size.\nFile count: %d\n", file_count); + RenameFile(SD_MMC, FilePath + FileName, FilePath + FileName + String(file_count)); + } + + /* added first message to log file after start MCU */ + String msg = "----------------------------------------------------------------\n"; + msg += "Start MCU!\nSW Version: "; + msg += String(SW_VERSION); + msg += " ,Build: "; + msg += String(SW_BUILD); + msg += "\n"; + msg += "Verbose mode: "; + msg += (true == CONSOLE_VERBOSE_DEBUG) ? "true" : "false"; + msg += "\n"; + msg += "Log level: "; + msg += String(LogLevel); + msg += "\n"; + AppendFile(SD_MMC, FilePath + FileName, msg); + + } else { + Serial.println("Micro-SD card not found! Disable logs"); + } +} + +/** + @info set log level + @param LogLevel_enum - log level + @return none +*/ +void Logs::SetLogLevel(LogLevel_enum level) { + LogLevel = level; +} + +/** + @info Add new log event + @param LogLevel_enum - log level + @param String - log message + @param bool - new line + @param bool - date + @return none +*/ +void Logs::AddEvent(LogLevel_enum level, String msg, bool newLine, bool date) { + if (LogLevel >= level) { + String LogMsg = ""; + + if (true == date) { + LogMsg += GetSystemTime(); + LogMsg += " - "; + } + LogMsg += msg; + if (true == newLine) { + LogMsg += "\n"; + } + + AppendFile(SD_MMC, FilePath + FileName, LogMsg); + Serial.print(LogMsg); + } +#if (true == CONSOLE_VERBOSE_DEBUG) + else { + Serial.println(msg); + } +#endif +} + +/** + @info Set file name + @param String - file name + @return none +*/ +void Logs::SetFileName(String i_data) { + FileName = i_data; +} + +/** + @info Set file path + @param String - file path + @return none +*/ +void Logs::SetFilePath(String i_data) { + FilePath = i_data; +} + +/** + @info Set file max size + @param uint16_t - file max size + @return none +*/ +void Logs::SetFileMaxSize(uint16_t i_data) { + FileMaxSize = i_data; +} + +/** + @info Set NTP time synced + @param bool - NTP time synced + @return none +*/ +void Logs::SetNtpTimeSynced(bool i_data) { + NtpTimeSynced = i_data; + AddEvent(LogLevel_Info, "System time: " + GetSystemTime()); +} + +/** + @info Get file name + @param none + @return String - file name +*/ +String Logs::GetFileName() { + return FileName; +} + +/** + @info Get file path + @param none + @return String - file path +*/ +String Logs::GetFilePath() { + return FilePath; +} + +/** + @info Get log level + @param none + @return LogLevel_enum - log level +*/ +LogLevel_enum Logs::GetLogLevel() { + return LogLevel; +} + +/** + @info Get NTP time synced + @param none + @return bool - NTP time synced +*/ +bool Logs::GetNtpTimeSynced() { + return NtpTimeSynced; +} + +/** + @info Get system time + @param none + @return String - time +*/ +String Logs::GetSystemTime() { + String ret = "0000-00-00_00-00-00"; + if (true == NtpTimeSynced) { + struct tm timeinfo; + if (!getLocalTime(&timeinfo)) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.println("Failed to obtain time"); +#endif + return ret; + } + + char timeString[20]; + strftime(timeString, sizeof(timeString), "%Y-%m-%d_%H-%M-%S", &timeinfo); +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.println(timeString); +#endif + ret = String(timeString); + } + return ret; +} + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/log.h b/ESP32_PrusaConnectCam/log.h new file mode 100644 index 0000000..c37ca63 --- /dev/null +++ b/ESP32_PrusaConnectCam/log.h @@ -0,0 +1,65 @@ +/** + @file log.h + + @brief log library + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _LOG_H_ +#define _LOG_H_ + +#include "Arduino.h" + +#include "mcu_cfg.h" +#include "var.h" +#include "micro_sd.h" + +enum LogLevel_enum { + LogLevel_Error = 0, ///< Error + LogLevel_Warning = 1, ///< Warning + LogLevel_Info = 2, ///< Info + LogLevel_Verbose = 3 ///< Verbose +}; + +class Logs : public MicroSd { +private: + LogLevel_enum LogLevel; ///< LogLevel + String FileName; ///< log File name + String FilePath; ///< log file patch + uint16_t FileMaxSize; ///< log file max size + bool NtpTimeSynced; ///< status NTP time sync + +public: + Logs(); + Logs(String, String); + Logs(LogLevel_enum, String, String); + Logs(String, String, uint16_t); + Logs(LogLevel_enum, String, String, uint16_t); + ~Logs(){}; + + void Init(); + void AddEvent(LogLevel_enum, String, bool = true, bool = true); + void SetLogLevel(LogLevel_enum); + void SetFileName(String); + void SetFilePath(String); + void SetFileMaxSize(uint16_t); + void SetNtpTimeSynced(bool); + + String GetFileName(); + String GetFilePath(); + LogLevel_enum GetLogLevel(); + bool GetNtpTimeSynced(); + +protected: + String GetSystemTime(); +}; + +extern Logs SystemLog; ///< log object + +#endif + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/mcu_cfg.h b/ESP32_PrusaConnectCam/mcu_cfg.h new file mode 100644 index 0000000..00d657a --- /dev/null +++ b/ESP32_PrusaConnectCam/mcu_cfg.h @@ -0,0 +1,252 @@ +/** + @file mcu_cfg.h + + @brief Library configuration MCU + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug + +*/ + +#ifndef _MCU_CFG_H_ +#define _MCU_CFG_H_ + +/* ---------------- BASIC MCU CFG --------------*/ +#define SW_VERSION "1.0.0" ///< SW version +#define SW_BUILD __DATE__ " " __TIME__ ///< build number +#define CONSOLE_VERBOSE_DEBUG false ///< enable/disable verbose debug log level for console +#define DEVICE_HOSTNAME "Prusa-ESP32cam" ///< device hostname + +/* ------------ PRUSA BACKEND CFG --------------*/ +#define HOST_URL_CAM_PATH "/c/snapshot" ///< path for sending photo to prusa connect +#define HOST_URL_INFO_PATH "/c/info" ///< path for sending info to prusa connect +#define REFRESH_INTERVAL_MIN 5 ///< minimum refresh interval for sending photo to prusa connect [s] +#define REFRESH_INTERVAL_MAX 240 ///< maximum refresh interval for sending photo to prusa connect [s] + +/* --------------- FLASH LED CFG ---------------*/ +#define FLASH_GPIO_NUM 4 ///< GPIO pin for light +#define FLASH_OFF_STATUS 0 ///< PWM intensity LED for OFF. 0-2^FLASH_PWM_RESOLUTION = 0-255 +#define FLASH_ON_STATUS 205 ///< PWM intensity LED for ON. limitation to 80%. 2^FLASH_PWM_RESOLUTION * 0.8% = 204 +#define FLASH_PWM_FREQ 2000 ///< frequency of pwm [240MHz / (100 prescale * pwm cycles)] = frequency +#define FLASH_PWM_CHANNEL 0 ///< channel 0 +#define FLASH_PWM_RESOLUTION 8 ///< range 1-20bit. 8bit = 0-255 range + +/* -------------- STATUS LED CFG ----------------*/ +#define STATUS_LED_GPIO_NUM 33 ///< GPIO pin for status LED +#define STATUS_LED_ENABLE true ///< enable/disable status LED +#define STATUS_LED_ON_DURATION 100 ///< time for blink status LED when is module in the ON state [ms] +#define STATUS_LED_WIFI_AP 400 ///< time for blink status LED when is module in the AP mode [ms] +#define STATUS_LED_STA_CONNECTING 800 ///< time for blink status LED when is module connecting to the WiFi network [ms] +#define STATUS_LED_STA_CONNECTED 4000 ///< time for blink status LED when is module connected to the WiFi network [ms] +#define STATUS_LED_ERROR 100 ///< time for blink status LED when is module in the error state [ms] + +/* ------------------- TASKS --------------------*/ +#define TASK_SYSTEM 1000 ///< system task interval [ms] +#define TASK_SDCARD 30000 ///< sd card task interval [ms] +#define TASK_WIFI 30000 ///< wifi reconnect interval. Checking when is signal lost [ms] +#define TASK_SERIAL_CFG 1000 ///< serial cfg task interval [ms] +#define TASK_STREAM_TELEMETRY 30000 ///< stream telemetry task interval [ms] +#define TASK_WIFI_WATCHDOG 20000 ///< wifi watchdog task interval [ms] +#define TASK_PHOTO_SEND 1000 ///< photo send task interval [ms] + +/* --------------- WEB SERVER CFG --------------*/ +#define WEB_SERVER_PORT 80 ///< WEB server port +#define SERIAL_PORT_SPEED 115200 ///< baud rate +#define WDG_TIMEOUT 40 ///< wdg timeout [second] +#define PHOTO_FRAGMENT_SIZE 5000 ///< photo fragmentation size [bytes] +#define LOOP_DELAY 100 ///< loop delay [ms] +#define WIFI_CLIENT_WAIT_CON false ///< wait for connecting to WiFi network +#define DYNMIC_JSON_SIZE 1024 ///< maximum size for dynamic json [bytes] +#define WEB_CACHE_INTERVAL 86400 ///< cache interval for browser [s] 86400s = 24h + +/* --------------- OTA UPDATE CFG --------------*/ +#define OTA_UPDATE_API_SERVER "api.github.com" ///< OTA update server URL +#define OTA_UPDATE_API_URL "/repos/prusa3d/Prusa-Firmware-ESP32-Cam/releases/latest" ///< path to file with OTA update +#define OTA_UPDATE_FW_FILE "ESP32_PrusaConnectCam.ino.bin" ///< OTA update firmware file name + +/* ---------- RESET CFG CONFIGURATION ----------*/ +#define CFG_RESET_PIN 12 ///< GPIO 16 is for reset CFG to default +#define CFG_RESET_TIME_WAIT 10000 ///< wait to 10 000 ms = 10s for reset cfg during grounded CFG_RESET_PIN +#define CFG_RESET_LOOP_DELAY 100 ///< delay in the loop for reset cfg + +/* ---------------- MicroSD Logs ----------------*/ +#define LOGS_FILE_NAME "SysLog.log" ///< syslog file name +#define LOGS_FILE_PATH "/" ///< directory for log files +#define LOGS_FILE_MAX_SIZE 1024 ///< maximum file size in the [kb] + +/* ---------------- AP MODE CFG ----------------*/ +#define STA_AP_MODE_TIMEOUT 300000 ///< how long is AP enable after start, when is module in the STA mode [ms] +#define SERVICE_WIFI_SSID_UID true ///< enable/disable added UID to service SSID name +#define SERVICE_WIFI_SSID "ESP32_camera" ///< service WI-FI SSID name. Maximum length SERVICE_WIFI_SSID + UID = 32 +#define SERVICE_WIFI_PASS "12345678" ///< service WI-FI password +#define SERVICE_WIFI_CHANNEL 10 ///< service WI-FI channel +#define SERVICE_LOCAL_IP "192.168.0.1" ///< service WI-FI module IP address +#define SERVICE_LOCAL_GATEWAY "192.168.0.1" ///< service WI-FI module gateway +#define SERVICE_LOCAL_MASK "255.255.255.0" ///< service WI-FI module mask +#define SERVICE_LOCAL_DNS "192.168.0.1" ///< service WI-FI module DNS + +/* ----------------- WiFi CFG -------------------*/ +#define WIFI_STA_WDG_TIMEOUT 60000 ///< STA watchdog timeout [ms] + +/* ---------------- FACTORY CFG ----------------*/ +#define FACTORY_CFG_PHOTO_REFRESH_INTERVAL 30 ///< in the second +#define FACTORY_CFG_PHOTO_QUALITY 10 ///< 10-63, lower is better +#define FACTORY_CFG_FRAME_SIZE 0 ///< 0 - FRAMESIZE_QVGA, ..., 6 - FRAMESIZE_UXGA. Look function Cfg_TransformFrameSizeDataType +#define FACTORY_CFG_BRIGHTNESS 0 ///< from -2 to 2 +#define FACTORY_CFG_CONTRAST 0 ///< from -2 to 2 +#define FACTORY_CFG_SATURATION 0 ///< from -2 to 2 +#define FACTORY_CFG_H_MIRROR 0 ///< Horizontal mirror. 0 - false, 1 - true +#define FACTORY_CFG_V_FLIP 0 ///< Vertical flip. 0 - false, 1 - true +#define FACTORY_CFG_LENS_CORRECT 1 ///< 0 - false, 1 - true +#define FACTORY_CFG_EXPOSURE_CTRL 1 ///< 0 - false, 1 - true +#define FACTORY_CFG_AWB 1 ///< automatic white balancing 0 - false, 1 - true +#define FACTORY_CFG_AWB_GAIN 1 ///< automatic white balancing gain 0 - false, 1 - true +#define FACTORY_CFG_AWB_MODE 0 ///< automatic white balancing mode (0 - Auto, 1 - Sunny, 2 - Cloudy, 3 - Office, 4 - Home) +#define FACTORY_CFG_BPC 1 ///< bad pixel detection +#define FACTORY_CFG_WPC 1 ///< white pixel correction +#define FACTORY_CFG_RAW_GAMA 1 ///< raw gama +#define FACTORY_CFG_WEB_AUTH_USERNAME "admin" ///< user name for login to WEB interface. definition WEB_ENABLE_BASIC_AUTH must be true +#define FACTORY_CFG_WEB_AUTH_PASSWORD "admin" ///< password for login to WEB interface. definition WEB_ENABLE_BASIC_AUTH must be true +#define FACTORY_CFG_WEB_AUTH_ENABLE false ///< enable web auth for login to WEB interface. definition WEB_ENABLE_BASIC_AUTH must be +#define FACTORY_CFG_CAMERA_FLASH_ENABLE false ///< enable camera flash functionality +#define FACTORY_CFG_CAMERA_FLASH_TIME 200 ///< time for camera flash duration time [ms] +#define FACTORY_CFG_MDNS_RECORD_HOST "prusa-esp32cam" ///< mdns record http://MDNS_RECORD_HOST.local +#define FACTORY_CFG_AEC2 0 ///< enable automatic exposition +#define FACTORY_CFG_AE_LEVEL 0 ///< automatic exposition level +#define FACTORY_CFG_AEC_VALUE 300 ///< automatic exposition time +#define FACTORY_CFG_GAIN_CTRL 1 ///< enable automatic gain +#define FACTORY_CFG_AGC_GAIN 0 ///< automatic gain controll gain +#define FACTORY_CFG_HOSTNAME "connect.prusa3d.com" ///< hostname for Prusa Connect + +/* ---------------- CFG FLAGS ------------------*/ +#define CFG_WIFI_SETTINGS_SAVED 0x0A ///< flag saved config +#define CFG_WIFI_SETTINGS_NOT_SAVED 0xFF ///< flag notsaved config +#define CFG_FIRST_MCU_START_ACK 0xFF ///< flag first MCU start ACK -> yes, it's first mcu start +#define CFG_FIRST_MCU_START_NAK 0x0F ///< flag first MCU start NAK -> no, it's not first MCU start +#define SECOND_TO_MILISECOND 1000 ///< constant for convert ms to second + +/* ---------------- EEPROM CFG ------------------*/ +#define EEPROM_ADDR_REFRESH_INTERVAL_START 0 ///< whre is stored first byte from refresh data +#define EEPROM_ADDR_REFRESH_INTERVAL_LENGTH 1 ///< how long is the refresh data variable stored in the eeprom [bytes] + +#define EEPROM_ADDR_FINGERPRINT_START (EEPROM_ADDR_REFRESH_INTERVAL_START + EEPROM_ADDR_REFRESH_INTERVAL_LENGTH) ///< where is stored first byte from refresh interval +#define EEPROM_ADDR_FINGERPRINT_LENGTH 80 ///< how long is refresh interval [bytes] + +#define EEPROM_ADDR_TOKEN_START (EEPROM_ADDR_FINGERPRINT_START + EEPROM_ADDR_FINGERPRINT_LENGTH) ///< where is stored first byte from fingerprint +#define EEPROM_ADDR_TOKEN_LENGTH 40 ///< how long is fingerprint [bytes] + +#define EEPROM_ADDR_FRAMESIZE_START (EEPROM_ADDR_TOKEN_START + EEPROM_ADDR_TOKEN_LENGTH) ///< where is stored token +#define EEPROM_ADDR_FRAMESIZE_LENGTH 1 ///< how long is token + +#define EEPROM_ADDR_BRIGHTNESS_START (EEPROM_ADDR_FRAMESIZE_START + EEPROM_ADDR_FRAMESIZE_LENGTH) ///< where is stored framesize +#define EEPROM_ADDR_BRIGHTNESS_LENGTH 1 ///< how long is framesize + +#define EEPROM_ADDR_CONTRAST_START (EEPROM_ADDR_BRIGHTNESS_START + EEPROM_ADDR_BRIGHTNESS_LENGTH) ///< where is stored brightness +#define EEPROM_ADDR_CONTRAST_LENGTH 1 ///< how long is brightness + +#define EEPROM_ADDR_SATURATION_START (EEPROM_ADDR_CONTRAST_START + EEPROM_ADDR_CONTRAST_LENGTH) ///< where is stored contrast +#define EEPROM_ADDR_SATURATION_LENGTH 1 ///< how long is contrast + +#define EEPROM_ADDR_HMIRROR_START (EEPROM_ADDR_SATURATION_START + EEPROM_ADDR_SATURATION_LENGTH) ///< where is stored saturation +#define EEPROM_ADDR_HMIRROR_LENGTH 1 ///< how long is saturation + +#define EEPROM_ADDR_VFLIP_START (EEPROM_ADDR_HMIRROR_START + EEPROM_ADDR_HMIRROR_LENGTH) ///< where is stored hmirror +#define EEPROM_ADDR_VFLIP_LENGTH 1 ///< how long is hmirror + +#define EEPROM_ADDR_LENSC_START (EEPROM_ADDR_VFLIP_START + EEPROM_ADDR_VFLIP_LENGTH) ///< where is stored vflip +#define EEPROM_ADDR_LENSC_LENGTH 1 ///< how long is vflip + +#define EEPROM_ADDR_EXPOSURE_CTRL_START (EEPROM_ADDR_LENSC_START + EEPROM_ADDR_LENSC_LENGTH) ///< where is stored lens correction +#define EEPROM_ADDR_EXPOSURE_CTRL_LENGTH 1 ///< how long is lens correction + +#define EEPROM_ADDR_PHOTO_QUALITY_START (EEPROM_ADDR_EXPOSURE_CTRL_START + EEPROM_ADDR_EXPOSURE_CTRL_LENGTH) ///< where is stored exposure ctrl +#define EEPROM_ADDR_PHOTO_QUALITY_LENGTH 1 ///< how long is exposure ctrl + +#define EEPROM_ADDR_WIFI_SSID_START (EEPROM_ADDR_PHOTO_QUALITY_START + EEPROM_ADDR_PHOTO_QUALITY_LENGTH) ///< where is stored wi-fi ssid +#define EEPROM_ADDR_WIFI_SSID_LENGTH 33 ///< maximum length for IEEE 802.11 is 32 + 1 for save ssid length + +#define EEPROM_ADDR_WIFI_PASSWORD_START (EEPROM_ADDR_WIFI_SSID_START + EEPROM_ADDR_WIFI_SSID_LENGTH) ///< where is stored wifi password +#define EEPROM_ADDR_WIFI_PASSWORD_LENGTH 64 ///< maximum length for IEEE 802.11 is 63 + 1 for save password length + +#define EEPROM_ADDR_WIFI_ACTIVE_FLAG_START (EEPROM_ADDR_WIFI_PASSWORD_START + EEPROM_ADDR_WIFI_PASSWORD_LENGTH) ///< where is stored information about stored cfg +#define EEPROM_ADDR_WIFI_ACTIVE_FLAG_LENGTH 1 ///< maximum lenght for cfg flag + +#define EEPROM_ADDR_BASIC_AUTH_USERNAME_START (EEPROM_ADDR_WIFI_ACTIVE_FLAG_START + EEPROM_ADDR_WIFI_ACTIVE_FLAG_LENGTH) ///< where is stored username for login with basic auth. +#define EEPROM_ADDR_BASIC_AUTH_USERNAME_LENGTH 11 ///< maximum length for username is 10 byte + 1 byte for save length + +#define EEPROM_ADDR_BASIC_AUTH_PASSWORD_START (EEPROM_ADDR_BASIC_AUTH_USERNAME_START + EEPROM_ADDR_BASIC_AUTH_USERNAME_LENGTH) ///< where is stored password for login with basic auth +#define EEPROM_ADDR_BASIC_AUTH_PASSWORD_LENGTH 21 ///< maximum length for password is 20 byte + 1 byte for save length + +#define EEPROM_ADDR_BASIC_AUTH_ENABLE_FLAG_START (EEPROM_ADDR_BASIC_AUTH_PASSWORD_START + EEPROM_ADDR_BASIC_AUTH_PASSWORD_LENGTH) ///< where is stored flag for enable/disable basic auth from user +#define EEPROM_ADDR_BASIC_AUTH_ENABLE_FLAG_LENGTH 1 ///< how long is flag + +#define EEPROM_ADDR_FIRST_MCU_START_FLAG_START (EEPROM_ADDR_BASIC_AUTH_ENABLE_FLAG_START + EEPROM_ADDR_BASIC_AUTH_ENABLE_FLAG_LENGTH) ///< where is stored flag for first MCU start check +#define EEPROM_ADDR_FIRST_MCU_START_FLAG_LENGTH 1 ///< how long is flag + +#define EEPROM_ADDR_CAMERA_FLASH_ENABLE_START (EEPROM_ADDR_FIRST_MCU_START_FLAG_START + EEPROM_ADDR_FIRST_MCU_START_FLAG_LENGTH) ///< where is stored flag for enable/disable camera flash +#define EEPROM_ADDR_CAMERA_FLASH_ENABLE_LENGTH 1 ///< how long is flag + +#define EEPROM_ADDR_CAMERA_FLASH_TIME_START (EEPROM_ADDR_CAMERA_FLASH_ENABLE_START + EEPROM_ADDR_CAMERA_FLASH_ENABLE_LENGTH) ///< where is stored value camera flash during time +#define EEPROM_ADDR_CAMERA_FLASH_TIME_LENGTH 2 ///< how long is the value + +#define EEPROM_ADDR_MDNS_RECORD_START (EEPROM_ADDR_CAMERA_FLASH_TIME_START + EEPROM_ADDR_CAMERA_FLASH_TIME_LENGTH) +#define EEPROM_ADDR_MDNS_RECORD_LENGTH 41 + +#define EEPROM_ADDR_AWB_ENABLE_START (EEPROM_ADDR_MDNS_RECORD_START + EEPROM_ADDR_MDNS_RECORD_LENGTH) +#define EEPROM_ADDR_AWB_ENABLE_LENGTH 1 + +#define EEPROM_ADDR_AWB_GAIN_ENABLE_START (EEPROM_ADDR_AWB_ENABLE_START + EEPROM_ADDR_AWB_ENABLE_LENGTH) +#define EEPROM_ADDR_AWB_GAIN_ENABLE_LENGTH 1 + +#define EEPROM_ADDR_AWB_MODE_ENABLE_START (EEPROM_ADDR_AWB_GAIN_ENABLE_START + EEPROM_ADDR_AWB_GAIN_ENABLE_LENGTH) +#define EEPROM_ADDR_AWB_MODE_ENABLE_LENGTH 1 + +#define EEPROM_ADDR_BPC_ENABLE_START (EEPROM_ADDR_AWB_MODE_ENABLE_START + EEPROM_ADDR_AWB_MODE_ENABLE_LENGTH) +#define EEPROM_ADDR_BPC_ENABLE_LENGTH 1 + +#define EEPROM_ADDR_WPC_ENABLE_START (EEPROM_ADDR_BPC_ENABLE_START + EEPROM_ADDR_BPC_ENABLE_LENGTH) +#define EEPROM_ADDR_WPC_ENABLE_LENGTH 1 + +#define EEPROM_ADDR_RAW_GAMA_ENABLE_START (EEPROM_ADDR_WPC_ENABLE_START + EEPROM_ADDR_WPC_ENABLE_LENGTH) +#define EEPROM_ADDR_RAW_GAMA_ENABLE_LENGTH 1 + +#define EEPROM_ADDR_AEC2_START (EEPROM_ADDR_RAW_GAMA_ENABLE_START + EEPROM_ADDR_RAW_GAMA_ENABLE_LENGTH) +#define EEPROM_ADDR_AEC2_LENGTH 1 + +#define EEPROM_ADDR_AE_LEVEL_START (EEPROM_ADDR_AEC2_START + EEPROM_ADDR_AEC2_LENGTH) +#define EEPROM_ADDR_AE_LEVEL_LENGTH 1 + +#define EEPROM_ADDR_AEC_VALUE_START (EEPROM_ADDR_AE_LEVEL_START + EEPROM_ADDR_AE_LEVEL_LENGTH) +#define EEPROM_ADDR_AEC_VALUE_LENGTH 2 + +#define EEPROM_ADDR_GAIN_CTRL_START (EEPROM_ADDR_AEC_VALUE_START + EEPROM_ADDR_AEC_VALUE_LENGTH) +#define EEPROM_ADDR_GAIN_CTRL_LENGTH 1 + +#define EEPROM_ADDR_AGC_GAIN_START (EEPROM_ADDR_GAIN_CTRL_START + EEPROM_ADDR_GAIN_CTRL_LENGTH) +#define EEPROM_ADDR_AGC_GAIN_LENGTH 1 + +#define EEPROM_ADDR_LOG_LEVEL (EEPROM_ADDR_AGC_GAIN_START + EEPROM_ADDR_AGC_GAIN_LENGTH) +#define EEPROM_ADDR_LOG_LEVEL_LENGTH 1 + +#define EEPROM_ADDR_HOSTNAME_START (EEPROM_ADDR_LOG_LEVEL + EEPROM_ADDR_LOG_LEVEL_LENGTH) +#define EEPROM_ADDR_HOSTNAME_LENGTH 51 + +#define EEPROM_SIZE (EEPROM_ADDR_REFRESH_INTERVAL_LENGTH + EEPROM_ADDR_FINGERPRINT_LENGTH + EEPROM_ADDR_TOKEN_LENGTH + \ + EEPROM_ADDR_FRAMESIZE_LENGTH + EEPROM_ADDR_BRIGHTNESS_LENGTH + EEPROM_ADDR_CONTRAST_LENGTH + \ + EEPROM_ADDR_SATURATION_LENGTH + EEPROM_ADDR_HMIRROR_LENGTH + EEPROM_ADDR_VFLIP_LENGTH + \ + EEPROM_ADDR_LENSC_LENGTH + EEPROM_ADDR_EXPOSURE_CTRL_LENGTH + EEPROM_ADDR_PHOTO_QUALITY_LENGTH + \ + EEPROM_ADDR_PHOTO_QUALITY_LENGTH + EEPROM_ADDR_WIFI_SSID_LENGTH + EEPROM_ADDR_WIFI_PASSWORD_LENGTH + \ + EEPROM_ADDR_WIFI_ACTIVE_FLAG_LENGTH + EEPROM_ADDR_BASIC_AUTH_USERNAME_LENGTH + EEPROM_ADDR_BASIC_AUTH_PASSWORD_LENGTH + \ + EEPROM_ADDR_BASIC_AUTH_ENABLE_FLAG_LENGTH + EEPROM_ADDR_FIRST_MCU_START_FLAG_LENGTH + \ + EEPROM_ADDR_CAMERA_FLASH_ENABLE_LENGTH + EEPROM_ADDR_CAMERA_FLASH_TIME_LENGTH + \ + EEPROM_ADDR_MDNS_RECORD_LENGTH + EEPROM_ADDR_AWB_ENABLE_LENGTH + EEPROM_ADDR_AWB_GAIN_ENABLE_LENGTH + \ + EEPROM_ADDR_AWB_MODE_ENABLE_LENGTH + EEPROM_ADDR_BPC_ENABLE_LENGTH + EEPROM_ADDR_WPC_ENABLE_LENGTH + \ + EEPROM_ADDR_RAW_GAMA_ENABLE_LENGTH + EEPROM_ADDR_AEC2_LENGTH + EEPROM_ADDR_AE_LEVEL_LENGTH + \ + EEPROM_ADDR_AEC_VALUE_LENGTH + EEPROM_ADDR_GAIN_CTRL_LENGTH + EEPROM_ADDR_AGC_GAIN_LENGTH + EEPROM_ADDR_LOG_LEVEL_LENGTH + \ + EEPROM_ADDR_HOSTNAME_LENGTH ) ///< how many bits do we need for eeprom memory + +#endif + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/micro_sd.cpp b/ESP32_PrusaConnectCam/micro_sd.cpp new file mode 100644 index 0000000..0fc867d --- /dev/null +++ b/ESP32_PrusaConnectCam/micro_sd.cpp @@ -0,0 +1,419 @@ +/** + @file micro_sd.cpp + + @brief library for communication with micro-SD card + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#include "micro_sd.h" + +/** + @brief Constructor + @param none + @return none +*/ +MicroSd::MicroSd() { + CardDetected = false; + CardSize = 0; + DetectAfterBoot = false; +} + +/** + @brief Reinit micro SD card + @param none + @return none +*/ +void MicroSd::ReinitCard() { + Serial.println("Reinit micro SD card!"); + Serial.println("Deinit micro SD card"); + SD_MMC.end(); + delay(50); + Serial.println("Init micro SD card"); + InitSdCard(); +} + +/** + @brief Init SD card. And check, if is SD card inserted + @param none + @return none +*/ +void MicroSd::InitSdCard() { + /* Start INIT Micro SD card */ + Serial.println("Start init micro-SD Card"); + + /* set SD card to 1-line/1-bit mode. GPIO 4 is used for LED and for microSD card. But communication is slower. */ + /* https://github.com/espressif/arduino-esp32/blob/master/libraries/SD_MMC/src/SD_MMC.h */ + if (!SD_MMC.begin("/sdcard", true)) { + Serial.println("SD Card Mount Failed"); + CardDetected = false; + CardSize = 0; + //DetectAfterBoot = false; + return; + } + + /* check microSD card and card type */ + uint8_t cardType = SD_MMC.cardType(); + if (cardType == CARD_NONE) { + Serial.println("No SD_MMC card attached"); + CardDetected = false; + CardSize = 0; + //DetectAfterBoot = false; + return; + } + + /* print card type */ + Serial.print("Found card. Card Type: "); + if (cardType == CARD_MMC) { + Serial.print("MMC"); + } else if (cardType == CARD_SD) { + Serial.print("SDSC"); + } else if (cardType == CARD_SDHC) { + Serial.print("SDHC"); + } else { + Serial.print("UNKNOWN"); + } + + /* calculation card size */ + CardSize = SD_MMC.cardSize() / (1024 * 1024); + Serial.printf(", Card Size: %d MB\n", CardSize); + CardDetected = true; + DetectAfterBoot = true; +} + +/** + @brief List directory on the micro SD card + @param fs::FS - card + @param String - Directory name + @param uint8_t - levels + @return none +*/ +void MicroSd::ListDir(fs::FS &fs, String DirName, uint8_t levels) { + if (true == CardDetected) { + Serial.printf("Listing directory: %s\n", DirName.c_str()); + + File root = fs.open(DirName.c_str()); + if (!root) { + Serial.println("Failed to open directory"); + return; + } + if (!root.isDirectory()) { + Serial.println("Not a directory"); + return; + } + + File file = root.openNextFile(); + while (file) { + if (file.isDirectory()) { + Serial.print(" DIR : "); + Serial.println(file.name()); + if (levels) { + ListDir(fs, file.path(), levels - 1); + } + } else { + Serial.print(" FILE: "); + Serial.print(file.name()); + Serial.print(" SIZE: "); + Serial.println(file.size()); + } + file = root.openNextFile(); + } + } +} + +/** + @brief List directory on the micro SD card + @param fs::FS - card + @param String - dir name + @return bool - status +*/ +bool MicroSd::CreateDir(fs::FS &fs, String path) { + bool status = false; + if (true == CardDetected) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.printf("Creating Dir: %s... ", path.c_str()); +#endif + + if (fs.mkdir(path.c_str())) { + status = true; + } + +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.println((status == true) ? "Created" : "Failed"); +#endif + } + return status; +} + +/** + @brief remove directory on the micro SD card + @param fs::FS - card + @param String - dir name + @return bool - status +*/ +bool MicroSd::RemoveDir(fs::FS &fs, String path) { + bool status = false; + if (true == CardDetected) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.printf("Removing Dir: %s... ", path.c_str()); +#endif + + if (fs.rmdir(path.c_str())) { + status = true; + } + +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.println((status == true) ? "Removed" : "Failed"); +#endif + } + return status; +} + +/** + @brief Read file and print data to console + @param fs::FS - card + @param String - file name + @return none +*/ +void MicroSd::ReadFileConsole(fs::FS &fs, String path) { + if (true == CardDetected) { + Serial.printf("Reading file: %s\n", path.c_str()); + + File file = fs.open(path.c_str()); + if (!file) { + Serial.println("Failed to open file for reading"); + return; + } + + Serial.print("Read from file: "); + while (file.available()) { + Serial.write(file.read()); + } + } +} + +/** + @brief Write message to file + @param fs::FS - card + @param String - file name + @param String - message + @return bool - status +*/ +bool MicroSd::WriteFile(fs::FS &fs, String path, String message) { + bool status = false; + if (true == CardDetected) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.printf("Writing file: %s... ", path.c_str()); +#endif + + File file = fs.open(path.c_str(), FILE_WRITE); + if (!file) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.printf("Failed to open file for writing"); +#endif + } else { + if (file.print(message.c_str())) { + status = true; + } + +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.println((status == true) ? "File written" : "Write Failed"); +#endif + } + } + return status; +} + +/** + @brief Added text to end of file + @param fs::FS - card + @param String - file name + @param String - message + @return bool - status +*/ +bool MicroSd::AppendFile(fs::FS &fs, String path, String message) { + bool status = false; + + if (true == CardDetected) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.printf("Appending to file: %s... ", path.c_str()); +#endif + + File file = fs.open(path.c_str(), FILE_APPEND); + if (!file) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.println("Failed to open file for appending"); +#endif + CardDetected = false; + } else { + if (file.print(message.c_str())) { + status = true; + } + +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.println((status == true) ? "Message appended" : "Append Failed"); +#endif + } + } + return status; +} + +/** + @brief Rename file on the SD card + @param fs::FS - card + @param String - origin file name + @param String - new file name + @return bool - status +*/ +bool MicroSd::RenameFile(fs::FS &fs, String path1, String path2) { + bool status = false; + if (true == CardDetected) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.printf("Renaming file %s to %s... ", path1.c_str(), path2.c_str()); +#endif + if (fs.rename(path1.c_str(), path2.c_str())) { + status = true; + } + +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.println((status == true) ? "File renamed" : "Rename Failed"); +#endif + } + + return status; +} + +/** + @brief Delete file on the SD card + @param fs::FS - card + @param String - file name + @return bool - status +*/ +bool MicroSd::DeleteFile(fs::FS &fs, String path) { + bool status = false; + if (true == CardDetected) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.printf("Deleting file: %s... ", path.c_str()); +#endif + if (fs.remove(path.c_str())) { + status = true; + } + +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.println((status == true) ? "File deleted" : "Delete Failed"); +#endif + } + + return status; +} + +/** + @brief Get file size in the kb + @param fs::FS - card + @param String - file name + @return uint32_t - size +*/ +uint32_t MicroSd::GetFileSize(fs::FS &fs, String path) { + uint32_t ret = 0; + if (true == CardDetected) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.printf("Getting file size: %s... ", path.c_str()); +#endif + File file = fs.open(path.c_str(), FILE_APPEND); + if (!file) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.println("Failed to open file for appending"); +#endif + return 0; + } + + ret = file.size() / 1024; /* convert from bytes to kb */ +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.printf(" File size: %d\n ", ret); +#endif + } + + return ret; /* kb*/ +} + +/** + @brief Check file count with partial match + @param fs::FS - card + @param String - dir name + @param String - file name + @return int16_t - count +*/ +uint16_t MicroSd::FileCount(fs::FS &fs, String DirName, String FileName) { + uint16_t FileCount = 0; + if (true == CardDetected) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.printf("File name count: %s\n", DirName.c_str()); +#endif + + File root = fs.open(DirName.c_str()); + if (!root) { + Serial.println("Failed to open directory"); + return 0; + } + if (!root.isDirectory()) { + Serial.println("Not a directory"); + return 0; + } + + File file = root.openNextFile(); + while (file) { + if (!file.isDirectory()) { +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.print(" FILE: "); + Serial.print(file.name()); + Serial.print(" SIZE: "); + Serial.print(file.size()); +#endif + if (String(file.name()).indexOf(FileName) != -1) { + FileCount++; +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.print(" - MATCH"); +#endif + } +#if (true == CONSOLE_VERBOSE_DEBUG) + Serial.println(""); +#endif + } + file = root.openNextFile(); + } + } + + return FileCount; +} + +/** + @brief Get card detected status + @param none + @return bool - status +*/ +bool MicroSd::GetCardDetectedStatus() { + return CardDetected; +} + +/** + @brief Get card size + @param none + @return uint16_t - size +*/ +uint16_t MicroSd::GetCardSize() { + return CardSize; +} + +/** + @brief Get card detect after boot + @param none + @return bool - status +*/ +bool MicroSd::GetCardDetectAfterBoot() { + return DetectAfterBoot; +} + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/micro_sd.h b/ESP32_PrusaConnectCam/micro_sd.h new file mode 100644 index 0000000..96bf8ce --- /dev/null +++ b/ESP32_PrusaConnectCam/micro_sd.h @@ -0,0 +1,65 @@ +/** + @file micro_sd.h + + @brief library for communication with micro-SD card + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug + + WARNING: ALL data pins must be pulled up to 3.3V with an external 10k Ohm resistor! Note to ESP32 pin 2 (D0): Add a 1K Ohm pull-up resistor to 3.3V after flashing + SD Card | ESP32 + D2 12 + D3 13 + CMD 15 + VSS GND + VDD 3.3V + CLK 14 + VSS GND + D0 2 (add 1K pull up after flashing) + D1 4 +*/ + +#ifndef _MICRO_SD_H_ +#define _MICRO_SD_H_ + +#include "Arduino.h" +#include "FS.h" +#include "SD_MMC.h" + +#include "mcu_cfg.h" +#include "var.h" + +class MicroSd { +private: + bool CardDetected; ///< Card detected status + uint16_t CardSize; ///< Card size + bool DetectAfterBoot; ///< Card detect after boot + +public: + MicroSd(); + ~MicroSd(){}; + + void InitSdCard(); + void ReinitCard(); + + void ListDir(fs::FS &, String, uint8_t); + bool CreateDir(fs::FS &, String); + bool RemoveDir(fs::FS &, String); + void ReadFileConsole(fs::FS &, String); + bool WriteFile(fs::FS &, String, String); + bool AppendFile(fs::FS &, String, String); + bool RenameFile(fs::FS &, String, String); + bool DeleteFile(fs::FS &, String); + uint32_t GetFileSize(fs::FS &, String); + uint16_t FileCount(fs::FS &, String, String); + + bool GetCardDetectedStatus(); + uint16_t GetCardSize(); + bool GetCardDetectAfterBoot(); +}; + +#endif + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/serial_cfg.cpp b/ESP32_PrusaConnectCam/serial_cfg.cpp new file mode 100644 index 0000000..129ccce --- /dev/null +++ b/ESP32_PrusaConnectCam/serial_cfg.cpp @@ -0,0 +1,134 @@ +/** + @file serial_cfg.cpp + + @brief + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#include "serial_cfg.h" + +SerialCfg SystemSerialCfg(&SystemConfig, &SystemLog, &SystemWifiMngt, &Connect); + +/** + @brief Constructor + @param Configuration * - pointer to Configuration object + @param Logs * - pointer to Logs object + @param WiFiMngt * - pointer to WiFiMngt object + @param PrusaConnect * - pointer to PrusaConnect object + @return none +*/ +SerialCfg::SerialCfg(Configuration *i_conf, Logs *i_log, WiFiMngt *i_wifi, PrusaConnect *i_connect) { + config = i_conf; + log = i_log; + wifim = i_wifi; + connect = i_connect; +} + +/** + @brief Initialize serial port + @param none + @return none +*/ +void SerialCfg::ProcessIncommingData() { + + static String inputBuffer = ""; + + while (Serial.available() > 0) { + char incomingChar = Serial.read(); + + if (incomingChar == '\n') { + // Ak nájdeme nový riadok, spracujeme prikaz + ParseIncommingData(inputBuffer); + inputBuffer = ""; // Vynulujeme buffer pre ďalší príkaz + } else { + // Inak pridáme znak do bufferu + inputBuffer += incomingChar; + } + } +} + +/** + @brief Parse incomming data from serial port + @param String command - incomming command + @return none +*/ +void SerialCfg::ParseIncommingData(String command) { + /* check command */ + + if (command.startsWith("setwifissid:") && command.endsWith(";")) { + /* remove prefix "setwifissid:" and end of command symbol ";" */ + wifi_ssid = command.substring(12, command.length() - 1); + log->AddEvent(LogLevel_Info, "--> Console set WiFi SSID: " + wifi_ssid); + wifim->SetStaSsid(wifi_ssid); + + } else if (command.startsWith("setwifipass:") && command.endsWith(";")) { + /* remove prefix "setwifipass:" and end of command symbol ";" */ + wifi_pass = command.substring(12, command.length() - 1); + log->AddEvent(LogLevel_Info, "--> Console set WiFi password: " + wifi_pass); + wifim->SetStaPassword(wifi_pass); + + } else if (command.startsWith("setauthtoken:") && command.endsWith(";")) { + /* remove prefix "setauthtoken:" and end of command symbol ";" */ + auth_token = command.substring(13, command.length() - 1); + log->AddEvent(LogLevel_Info, "--> Console set auth TOKEN for backend: " + auth_token); + connect->SetToken(auth_token); + + } else if (command.startsWith("wificonnect") && command.endsWith(";")) { + log->AddEvent(LogLevel_Info, "--> Console connecting to wifi..."); + wifim->ConnectToSta(); + + } else if (command.startsWith("getwifimode") && command.endsWith(";")) { + log->AddEvent(LogLevel_Info, "--> Console print WiFi mode..."); + Serial.print("wifimode:" + wifim->GetWiFiMode() + ";"); + + } else if (command.startsWith("getwifistastatus") && command.endsWith(";")) { + log->AddEvent(LogLevel_Info, "--> Console print STA status..."); + Serial.print("wifistastatus:" + wifim->GetStaStatus() + ";"); + + } else if (command.startsWith("getwifistaip") && command.endsWith(";")) { + log->AddEvent(LogLevel_Info, "--> Console print STA IP..."); + Serial.print("wifistaip:" + wifim->GetStaIp() + ";"); + + } else if (command.startsWith("getserviceapssid") && command.endsWith(";")) { + log->AddEvent(LogLevel_Info, "--> Console print service WiFi AP SSID..."); + Serial.print("getserviceapssid:" + wifim->GetServiceApSsid() + ";"); + + } else if (command.startsWith("mcureboot") && command.endsWith(";")) { + log->AddEvent(LogLevel_Warning, "--> Reboot MCU!"); + ESP.restart(); + + } else if (command.startsWith("commandslist") && command.endsWith(";")) { + log->AddEvent(LogLevel_Warning, "--> Available commands"); + PrintAvailableCommands(); + + } else { + log->AddEvent(LogLevel_Warning, "--> Unknown command: " + command + "!"); + PrintAvailableCommands(); + return; + } +} + +/** + @brief Print available commands + @param none + @return none +*/ +void SerialCfg::PrintAvailableCommands() { + Serial.println("Available commands: "); + Serial.println("setwifissid:SSID; - set WiFi SSID"); + Serial.println("setwifipass:PASS; - set WiFi password"); + Serial.println("setauthtoken:TOKEN; - set auth TOKEN for backend"); + Serial.println("wificonnect; - connect to WiFi network"); + Serial.println("getwifimode; - get WiFi mode (AP/STA)"); + Serial.println("getwifistastatus; - get STA status (connected/disconnected)"); + Serial.println("getwifistaip; - get STA IP address"); + Serial.println("getserviceapssid;- get service WiFi AP SSID"); + Serial.println("mcureboot; - reboot MCU"); + Serial.println("commandslist; - print available commands"); +} + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/serial_cfg.h b/ESP32_PrusaConnectCam/serial_cfg.h new file mode 100644 index 0000000..475013a --- /dev/null +++ b/ESP32_PrusaConnectCam/serial_cfg.h @@ -0,0 +1,51 @@ +/** + @file wifi_mngt.h + + @brief Library for configuration module via serial port + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _SERIAL_CFG_H +#define _SERIAL_CFG_H + +#include "Arduino.h" + +#include "mcu_cfg.h" +#include "var.h" +#include "log.h" +#include "wifi_mngt.h" +#include "cfg.h" +#include "connect.h" + +class WiFiMngt; +class PrusaConnect; + +class SerialCfg { +private: + Configuration *config; ///< pointer to Configuration object + Logs *log; ///< pointer to Logs object + WiFiMngt *wifim; ///< pointer to WiFiMngt object + PrusaConnect *connect; ///< pointer to PrusaConnect object + + String wifi_ssid; ///< wifi ssid + String wifi_pass; ///< wifi password + String auth_token; ///< auth token + +public: + SerialCfg(Configuration*, Logs*, WiFiMngt*, PrusaConnect*); + ~SerialCfg(){}; + + void ProcessIncommingData(); + void ParseIncommingData(String); + void PrintAvailableCommands(); +}; + +extern SerialCfg SystemSerialCfg; ///< SerialCfg object + +#endif + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/server.cpp b/ESP32_PrusaConnectCam/server.cpp new file mode 100644 index 0000000..a6b3b95 --- /dev/null +++ b/ESP32_PrusaConnectCam/server.cpp @@ -0,0 +1,1074 @@ +/** + @file server.cpp + + @brief Library for WEB server + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug + +*/ + +#include "server.h" +#include "Certificate.h" + +AsyncWebServer server(WEB_SERVER_PORT); + +/** + @brief Load configuration from EEPROM + @param none + @return none +*/ +void Server_LoadCfg() { + WebBasicAuth.EnableAuth = SystemConfig.LoadBasicAuthFlag(); + WebBasicAuth.UserName = SystemConfig.LoadBasicAuthUsername(); + WebBasicAuth.Password = SystemConfig.LoadBasicAuthPassword(); +} + +/** + @brief Init WEB server + @param none + @return none +*/ +void Server_InitWebServer() { + SystemLog.AddEvent(LogLevel_Info, "Starting init WEB server"); + + /* route for get last capture photo */ + server.on("/saved-photo.jpg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: get photo"); + if (Server_CheckBasicAuth(request) == false) + return; + + request->send_P(200, "image/jpg", SystemCamera.GetPhotoFb()->buf, SystemCamera.GetPhotoFb()->len); + }); + + /* route to jquery */ + server.on("/jquery-3.7.0.min.js", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get jquery-3.7.0.min.js"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "application/javascript", jquery_3_7_0_js); + }); + + Server_InitWebServer_JsonData(); + Server_InitWebServer_WebPages(); + Server_InitWebServer_Icons(); + Server_InitWebServer_Actions(); + Server_InitWebServer_Sets(); + Server_InitWebServer_Update(); + Server_InitWebServer_Stream(); + + /* route for not found page */ + server.onNotFound(Server_handleNotFound); + + /* start WEB server */ + server.begin(); +} + +/** + @brief Init WEB server json data + @param none + @return none +*/ +void Server_InitWebServer_JsonData() { + /* route for json with cfg parameters */ + server.on("/json_input", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: get json_input"); + if (Server_CheckBasicAuth(request) == false) + return; + request->send_P(200, F("text/plain"), Server_GetJsonData().c_str()); + }); + + /* route for json with wifi networks */ + server.on("/json_wifi", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: get json_wifi"); + if (Server_CheckBasicAuth(request) == false) + return; + request->send_P(200, F("text/plain"), SystemWifiMngt.GetAvailableWifiNetworks().c_str()); + }); + + /* route for san wi-fi networks */ + server.on("/wifi_scan", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: scan WI-FI networks"); + if (Server_CheckBasicAuth(request) == false) + return; + request->send_P(200, F("text/html"), MSG_SCANNING); + SystemWifiMngt.ScanWiFiNetwork(); + }); + + /* route for firmware update processing status */ + server.on("/UpdateProcessing", HTTP_GET, [](AsyncWebServerRequest* request) { + if (Server_CheckBasicAuth(request) == false) + return; + + JsonDocument doc_json; + doc_json["processed_bytes"] = String(FirmwareUpdate.TransferedBytes); + doc_json["processed_percent"] = String(FirmwareUpdate.PercentProcess); + doc_json["updating"] = FirmwareUpdate.Processing; + doc_json["message"] = FirmwareUpdate.UpdatingStatus; + String string_json = ""; + serializeJson(doc_json, string_json); + + request->send(200, "application/json", string_json); + }); +} + +/** + @brief Init WEB server web pages + @param none + @return none +*/ +void Server_InitWebServer_WebPages() { + /* Route for root / web page */ + server.on("/", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get index.html"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "text/html", index_html); + }); + + /* Route for styles */ + server.on("/styles.css", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get styles.css"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "text/css", styles_css); + }); + + /* Route for java scripts */ + server.on("/scripts.js", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get scripts.js"); + if (Server_CheckBasicAuth(request) == false) + return; + request->send_P(200, "application/javascript", scripts_js); + }); + + + /* Route for config web page */ + server.on("/page_config.html", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get page_config.html"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "text/html", page_config_html); + }); + + /* Route for wifi web page */ + server.on("/page_wifi.html", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get page_wifi.html"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "text/html", page_wifi_html); + }); + + /* Route for auth web page */ + server.on("/page_auth.html", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get page_auth.html"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "text/html", page_auth_html); + }); + + /* Route for system web page */ + server.on("/page_system.html", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get page_system.html"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "text/html", page_system_html); + }); + + /* route to license page */ + server.on("/license.html", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get license.html"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "text/html", license_html); + }); + + /* route to gtac page */ + server.on("/gtac.html", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get gtac.html"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "text/html", gtac_html); + }); + + /* route to privacy policy page */ + server.on("/privacypolicy.html", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get privacypolicy.html"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "text/html", privacypolicy_html); + }); + + /* route to cookie page */ + server.on("/cookie.html", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get cookie.html"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "text/html", cookies_html); + }); + + /* route to logs page */ + server.on("/get_logs", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get get_logs.html"); + if (Server_CheckBasicAuth(request) == false) + return; + + if (true == SystemLog.GetCardDetectedStatus()) { + request->send(SD_MMC, SystemLog.GetFilePath() + SystemLog.GetFileName(), "text/plain"); + } else { + request->send_P(404, "text/plain", "Micro SD card not found with FAT32 partition!"); + } + }); +} + +/** + @brief Init WEB server icons + @param none + @return none +*/ +void Server_InitWebServer_Icons() { + /* route to logo */ + server.on("/esp32_cam.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get esp32_cam.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", esp32_cam_logo_svg); + }); + + /* route to github icon */ + server.on("/github-icon.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get github-icon.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", github_icon_svg); + }); + + /* route to light on icon */ + server.on("/light-on-icon.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get light-icon.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", light_icon_on_svg); + }); + + /* route to light off icon */ + server.on("/light-off-icon.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get light-icon.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", light_icon_off_svg); + }); + + /* route to refresh icon */ + server.on("/refresh-icon.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get refresh-icon.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", refresh_icon_svg); + }); + + /* route to reboot icon */ + server.on("/reboot-icon.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get reboot-icon.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", reboot_icon_svg); + }); + + /* route to wifi icon */ + server.on("/wifi-icon-1.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get wifi-icon-1.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", wifi_icon_1_svg); + }); + + /* route to wifi icon */ + server.on("/wifi-icon-2.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get wifi-icon-2.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", wifi_icon_2_svg); + }); + + /* route to wifi icon */ + server.on("/wifi-icon-3.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get wifi-icon-3.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", wifi_icon_3_svg); + }); + + /* route to wifi icon */ + server.on("/wifi-icon-4.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get wifi-icon-4.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", wifi_icon_4_svg); + }); + + /* route to wifi icon */ + server.on("/wifi-icon-0.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get wifi-icon-0.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", wifi_icon_0_svg); + }); + + /* route to eye icon */ + server.on("/eye.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get eye.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", eye_svg); + }); + + /* route to eye-slash icon */ + server.on("/eye-slash.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get eye-slash.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", eye_slash_svg); + }); + + /* route to favicon */ + server.on("/favicon.svg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: Get favicon.svg"); + if (Server_CheckBasicAuth(request) == false) + return; + + Server_handleCacheRequest(request, "image/svg+xml", favicon_svg); + }); +} + +/** + @brief Init WEB server actions + @param none + @return none +*/ +void Server_InitWebServer_Actions() { + /*route for capture photo */ + server.on("/action_capture", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: /action_capture Take photo"); + if (Server_CheckBasicAuth(request) == false) + return; + SystemCamera.CapturePhoto(); + request->send_P(200, "text/plain", "Take Photo"); + }); + + /* route for send photo to prusa backend */ + server.on("/action_send", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: /action_send send photo to cloud"); + if (Server_CheckBasicAuth(request) == false) + return; + Connect.SendPhotoToBackend(); + request->send_P(200, "text/plain", "Send Photo"); + }); + + /* route for change LED status */ + server.on("/action_led", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: /action_led Change LED status"); + if (Server_CheckBasicAuth(request) == false) + return; + + SystemCamera.SetFlashStatus(!SystemCamera.GetFlashStatus()); + SystemCamera.SetCameraFlashEnable(false); + + request->send_P(200, "text/plain", "Change LED status"); + }); + + /* reboot MCU */ + server.on("/action_reboot", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: /action_reboo reboot MCU!"); + if (Server_CheckBasicAuth(request) == false) + return; + request->send_P(200, F("text/html"), MSG_REBOOT_MCU); + delay(100); /* wait for sending data */ + ESP.restart(); + }); +} + +/** + @brief Init WEB server sets + @param none + @return none +*/ +void Server_InitWebServer_Sets() { + /* route to set integer value */ + server.on("/set_int", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: /set_int"); + if (Server_CheckBasicAuth(request) == false) + return; + + bool response = false; + String response_msg = ""; + + /* set refresh interval */ + if (request->hasParam("refresh")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set refresh interval"); + uint8_t value = request->getParam("refresh")->value().toInt(); + if ((value >= REFRESH_INTERVAL_MIN) && (value <= REFRESH_INTERVAL_MAX)) { + Connect.SetRefreshInterval(value); + response_msg = MSG_SAVE_OK; + } else { + response_msg = "ERROR! Bad value. Minimum is "; + response_msg += String(REFRESH_INTERVAL_MIN); + response_msg += ", maximum "; + response_msg += String(REFRESH_INTERVAL_MAX); + response_msg += " second"; + } + response = true; + } + + /* set saturation */ + if (request->hasParam("saturation")) { + SystemLog.AddEvent(LogLevel_Verbose, "set saturation"); + SystemCamera.SetSaturation(request->getParam("saturation")->value().toInt()); + response_msg = MSG_SAVE_OK; + response = true; + } + + /* set contrast */ + if (request->hasParam("contrast")) { + SystemLog.AddEvent(LogLevel_Verbose, "set contrast"); + SystemCamera.SetContrast(request->getParam("contrast")->value().toInt()); + response_msg = MSG_SAVE_OK; + response = true; + } + + /* set brightness */ + if (request->hasParam("brightness")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set brightness"); + SystemCamera.SetBrightness(request->getParam("brightness")->value().toInt()); + response_msg = MSG_SAVE_OK; + response = true; + } + + /* set frame size */ + if (request->hasParam("framesize")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set framesize"); + SystemCamera.SetFrameSize(request->getParam("framesize")->value().toInt()); + response_msg = MSG_SAVE_OK; + response = true; + } + + /* set photo quality */ + if (request->hasParam("photo_quality")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set photo_quality"); + SystemCamera.SetPhotoQuality(73 - request->getParam("photo_quality")->value().toInt()); + response_msg = MSG_SAVE_OK; + response = true; + } + + /* set flash time */ + if (request->hasParam("flash_time")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set flash_time"); + SystemCamera.SetCameraFlashTime(request->getParam("flash_time")->value().toInt()); + response_msg = MSG_SAVE_OK; + response = true; + } + + /* set white balancing mode */ + if (request->hasParam("wb_mode")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set wb_mode"); + SystemCamera.SetAwbMode(request->getParam("wb_mode")->value().toInt()); + response_msg = MSG_SAVE_OK; + response = true; + } + + /* set auto exposition level */ + if (request->hasParam("ae_level")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set ae_level"); + SystemCamera.SetAeLevel(request->getParam("ae_level")->value().toInt()); + response_msg = MSG_SAVE_OK; + response = true; + } + + /* set auto exposition controll value */ + if (request->hasParam("aec_value")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set aec_value"); + SystemCamera.SetAecValue(request->getParam("aec_value")->value().toInt()); + response_msg = MSG_SAVE_OK; + response = true; + } + + /* set auto gain correction value */ + if (request->hasParam("agc_gain")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set agc_gain"); + SystemCamera.SetAgcGain(request->getParam("agc_gain")->value().toInt()); + response_msg = MSG_SAVE_OK; + response = true; + } + + /* set log level /set_int?log_level=2 */ + if (request->hasParam("log_level")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set log_level"); + LogLevel_enum level = (LogLevel_enum)request->getParam("log_level")->value().toInt(); + if ((level >= LogLevel_Error) && (level <= LogLevel_Verbose)) { + SystemConfig.SaveLogLevel(level); + SystemLog.SetLogLevel(level); + response_msg = MSG_SAVE_OK; + } else { + response_msg = MSG_SAVE_NOTOK; + } + + response = true; + } + + if (true == response) { + request->send_P(200, F("text/html"), response_msg.c_str()); + } + }); + + /* route to set bool value */ + server.on("/set_bool", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: /set_bool"); + if (Server_CheckBasicAuth(request) == false) + return; + + bool response = false; + + /* check cfg for hmirror */ + if (request->hasParam("hmirror")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set hmirror"); + SystemCamera.SetHMirror(Server_TransfeStringToBool(request->getParam("hmirror")->value())); + response = true; + } + + /* set vertical flip */ + if (request->hasParam("vflip")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set hmirror"); + SystemCamera.SetVFlip(Server_TransfeStringToBool(request->getParam("vflip")->value())); + response = true; + } + + /* set lens correction */ + if (request->hasParam("lenc")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set lensc"); + SystemCamera.SetLensC(Server_TransfeStringToBool(request->getParam("lenc")->value())); + response = true; + } + + /* set exposure controll */ + if (request->hasParam("exposure_ctrl")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set exposure ctrl"); + SystemCamera.SetExposureCtrl(Server_TransfeStringToBool(request->getParam("exposure_ctrl")->value())); + response = true; + } + + /* set auto white balancing */ + if (request->hasParam("awb")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set awb"); + SystemCamera.SetAwb(Server_TransfeStringToBool(request->getParam("awb")->value())); + response = true; + } + + /* set auto white balancing gain */ + if (request->hasParam("awb_gain")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set awb_gain"); + SystemCamera.SetAwbGain(Server_TransfeStringToBool(request->getParam("awb_gain")->value())); + response = true; + } + + /* set bad pixel correction */ + if (request->hasParam("bpc")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set bpc"); + SystemCamera.SetBpc(Server_TransfeStringToBool(request->getParam("bpc")->value())); + response = true; + } + + /* set white pixel correction */ + if (request->hasParam("wpc")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set wpc"); + SystemCamera.SetWpc(Server_TransfeStringToBool(request->getParam("wpc")->value())); + response = true; + } + + /* set raw gama correction */ + if (request->hasParam("raw_gama")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set raw_gama"); + SystemCamera.SetRawGama(Server_TransfeStringToBool(request->getParam("raw_gama")->value())); + response = true; + } + + /* set automatic exposure correction */ + if (request->hasParam("aec2")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set aec2"); + SystemCamera.SetAec2(Server_TransfeStringToBool(request->getParam("aec2")->value())); + response = true; + } + + /* set gain controll */ + if (request->hasParam("gain_ctrl")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set gain_ctrl"); + SystemCamera.SetGainCtrl(Server_TransfeStringToBool(request->getParam("gain_ctrl")->value())); + response = true; + } + + /* set flash */ + if (request->hasParam("flash")) { + SystemLog.AddEvent(LogLevel_Verbose, "Set flash"); + SystemCamera.SetCameraFlashEnable(Server_TransfeStringToBool(request->getParam("flash")->value())); + SystemCamera.SetFlashStatus(false); + response = true; + } + + if (true == response) { + request->send_P(200, F("text/html"), MSG_SAVE_OK); + } + }); + + /* route for set token for authentification to prusa backend*/ + server.on("/set_token", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: /set_token"); + if (Server_CheckBasicAuth(request) == false) + return; + request->send_P(200, F("text/html"), MSG_SAVE_OK); + + if (request->hasParam("token")) { + Connect.SetToken(request->getParam("token")->value()); + } + }); + + /* route for set prusa connect hostname */ + server.on("/set_hostname", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: /set_hostname"); + if (Server_CheckBasicAuth(request) == false) + return; + request->send_P(200, F("text/html"), MSG_SAVE_OK); + + if (request->hasParam("hostname")) { + Connect.SetPrusaConnectHostname(request->getParam("hostname")->value()); + } + }); + + /* route for set WI-FI credentials */ + server.on("/wifi_cfg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: set WI-FI credentials"); + if (Server_CheckBasicAuth(request) == false) + return; + + String TmpPassword = ""; + String TmpSsid = ""; + /* get SSID */ + if (request->hasParam("wifi_ssid")) { + TmpSsid = request->getParam("wifi_ssid")->value(); + } + + /* get password */ + if (request->hasParam("wifi_pass")) { + TmpPassword = request->getParam("wifi_pass")->value(); + } + + /* check min and max length WI-FI ssid and password */ + if (((TmpPassword.length() > 0) && (TmpSsid.length() > 0)) && ((TmpPassword.length() < EEPROM_ADDR_WIFI_PASSWORD_LENGTH) && (TmpSsid.length() < EEPROM_ADDR_WIFI_SSID_LENGTH))) { + /* send OK response */ + request->send_P(200, F("text/html"), MSG_SAVE_OK_WIFI); + + /* save ssid and password */ + SystemWifiMngt.SetStaCredentials(TmpSsid,TmpPassword); + SystemWifiMngt.WiFiStaConnect(); + + } else { + request->send_P(200, F("text/html"), MSG_SAVE_NOTOK); + } + }); + + /* route for set basic auth */ + server.on("/basicauth_cfg", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: set basic auth user name and password"); + bool ret = false; + String ret_msg = ""; + + if (Server_CheckBasicAuth(request) == false) + return; + + /* get username */ + if (request->hasParam("auth_username")) { + WebBasicAuth.UserName = request->getParam("auth_username")->value(); + + /* check min and max length */ + if ((WebBasicAuth.UserName.length() > 0) && (WebBasicAuth.UserName.length() < EEPROM_ADDR_BASIC_AUTH_USERNAME_LENGTH)) { + SystemConfig.SaveBasicAuthUsername(WebBasicAuth.UserName); + ret = true; + } else { + ret = false; + ret_msg = "Maximum username length: "; + ret_msg += String(EEPROM_ADDR_BASIC_AUTH_USERNAME_LENGTH); + } + } + + /* get password */ + if (request->hasParam("auth_password")) { + WebBasicAuth.Password = request->getParam("auth_password")->value(); + + /* check min and max length */ + if ((WebBasicAuth.Password.length() > 0) && (WebBasicAuth.Password.length() < EEPROM_ADDR_BASIC_AUTH_PASSWORD_LENGTH)) { + SystemConfig.SaveBasicAuthPassword(WebBasicAuth.Password); + ret = true; + } else { + ret = false; + ret_msg = "Maximum password length: "; + ret_msg += String(EEPROM_ADDR_BASIC_AUTH_PASSWORD_LENGTH); + } + } + + /* get enable / disable we bauth */ + if (request->hasParam("basicauth_enable")) { + WebBasicAuth.EnableAuth = Server_TransfeStringToBool(request->getParam("basicauth_enable")->value()); + SystemConfig.SaveBasicAuthFlag(WebBasicAuth.EnableAuth); + ret = true; + } + + /* send OK response */ + if (true == ret) { + request->send_P(200, F("text/html"), MSG_SAVE_OK); + + } else { + String msg = MSG_SAVE_NOTOK; + msg += " "; + msg += ret_msg; + request->send_P(200, F("text/html"), msg.c_str()); + } + }); + + /* route for set firmware size */ + server.on("/set_firmware_size", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Info, "WEB server: /set_firmware_size"); + if (Server_CheckBasicAuth(request) == false) + return; + request->send_P(200, F("text/html"), MSG_SAVE_OK); + + /* check cfg for flash */ + if (request->hasParam("size")) { + SystemLog.AddEvent(LogLevel_Info, String(request->getParam("size")->value().toInt())); + FirmwareUpdate.FirmwareSize = request->getParam("size")->value().toInt(); + } + }); + + /* route for set firmware size */ + server.on("/set_mdns", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: /set_mdns"); + if (Server_CheckBasicAuth(request) == false) + return; + + /* check cfg for mdns */ + if (request->hasParam("mdns")) { + String tmp = request->getParam("mdns")->value(); + if (tmp.length() < EEPROM_ADDR_MDNS_RECORD_LENGTH) { + request->send_P(200, F("text/html"), MSG_SAVE_OK_REBOOT); + SystemWifiMngt.SetMdns(tmp); + + } else { + String msg = "Error save mDNS. Maximum length: " + String(EEPROM_ADDR_MDNS_RECORD_LENGTH); + request->send_P(200, F("text/html"), msg.c_str()); + } + } + }); +} + +/** + @brief Init WEB FW update + @param none + @return none +*/ +void Server_InitWebServer_Update() { + System_UpdateInit(); + + /* route for firmware update with file */ + server.on( + "/upload", HTTP_POST, [](AsyncWebServerRequest* request) { + String string_json = ""; + JsonDocument doc_json; + + String responseMessage = (Update.hasError()) ? SYSTEM_MSG_UPDATE_FAIL : SYSTEM_MSG_UPDATE_DONE; + doc_json["message"] = responseMessage; + FirmwareUpdate.UpdatingStatus = responseMessage; + + /* get error string */ + if (Update.hasError()) { + String errorMessage = Update.errorString(); + doc_json["errorMessage"] = errorMessage; + FirmwareUpdate.UpdatingStatus += errorMessage; + FirmwareUpdate.Processing = false; + } + + /* make and send json msg */ + serializeJson(doc_json, string_json); + AsyncWebServerResponse* response = request->beginResponse(200, "application/json", string_json); + response->addHeader("Connection", "close"); + request->send(response); + }, + [](AsyncWebServerRequest* request, String filename, size_t index, uint8_t* data, size_t len, bool final) { + if (!index) { + FirmwareUpdate.Processing = true; + SystemLog.AddEvent(LogLevel_Info, "Start FW update from file: " + filename); + FirmwareUpdate.UpdatingStatus = String(SYSTEM_MSG_UPDATE_PROCESS); + if (!Update.begin(UPDATE_SIZE_UNKNOWN, U_FLASH)) { + Update.printError(Serial); + } + } + + if (Update.write(data, len) != len) { + Update.printError(Serial); + } + + if (final) { + FirmwareUpdate.Processing = false; + if (Update.end(true)) { + FirmwareUpdate.UpdatingStatus = String(SYSTEM_MSG_UPDATE_DONE); + SystemLog.AddEvent(LogLevel_Info, "Update FW from file done. Reboot MCU"); + } else { + Update.printError(Serial); + SystemLog.AddEvent(LogLevel_Error, String(SYSTEM_MSG_UPDATE_FAIL)); + } + } + } + ); + + /* route for start web OTA update from server */ + server.on("/web_ota_update", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Info, "WEB server: /web_ota_update"); + if (Server_CheckBasicAuth(request) == false) + return; + request->send_P(200, F("text/html"), MSG_UPDATE_START); + FirmwareUpdate.Processing = true; + + /* check flag */ + if (request->hasParam("update")) { + bool ret = Server_TransfeStringToBool(request->getParam("update")->value()); + if (ret == true) { + FirmwareUpdate.StartOtaUpdate = true; + } else { + FirmwareUpdate.StartOtaUpdate = false; + } + } + }); + + /* get OTA FW version on the server */ + server.on("/check_web_ota_update", HTTP_GET, [](AsyncWebServerRequest* request) { + SystemLog.AddEvent(LogLevel_Verbose, "WEB server: /check_web_ota_update"); + if (Server_CheckBasicAuth(request) == false) + return; + + System_CheckNewVersion(); + request->send_P(200, F("text/html"), FirmwareUpdate.CheckNewVersionFwStatus.c_str()); + }); +} + +void Server_InitWebServer_Stream() { + server.on("/stream.mjpg", HTTP_GET, Server_streamJpg); +} + +/** + * @brief Handle cache request + * + * @param AsyncWebServerRequest* - http request + * @param const char* - content type + * @param const char* - data + */ +void Server_handleCacheRequest(AsyncWebServerRequest* request, const char* contentType, const char* data) { + AsyncWebServerResponse *response = request->beginResponse_P(200, contentType, data); + response->addHeader("Cache-Control", "public, max-age=" + String(WEB_CACHE_INTERVAL)); + request->send(response); +} + +/** + @brief if the page was not found on ESP, then print which page is not there + @param AsyncWebServerRequest* - request + @return none +*/ +void Server_handleNotFound(AsyncWebServerRequest* request) { + String message = "URL not Found\n\n"; + + message += "URI: "; + message += request->url(); + message += "\nMethod: "; + message += (request->method() == HTTP_GET) ? "GET" : "POST"; + message += "\nArguments: "; + message += request->args(); + message += "\n"; + + for (uint8_t i = 0; i < request->args(); i++) { + message += " " + request->argName(i) + ": " + request->arg(i) + "\n"; + } + + request->send(404, "text/plain", message); +} + +/** + @brief make json data for WEB page on the ESP32 + @param none + @return String - json data +*/ +String Server_GetJsonData() { + String uptime = ""; + String string_json = ""; + JsonDocument doc_json; + Server_GetModuleUptime(uptime); + + doc_json["token"] = Connect.GetToken(); + doc_json["fingerprint"] = Connect.GetFingerprint(); + doc_json["refreshInterval"] = String(Connect.GetRefreshInterval()); + doc_json["photoquality"] = String(73 - SystemCamera.GetPhotoQuality()); + doc_json["framesize"] = String(SystemCamera.GetFrameSize()); + doc_json["brightness"] = String(SystemCamera.GetBrightness()); + doc_json["contrast"] = String(SystemCamera.GetContrast()); + doc_json["saturation"] = String(SystemCamera.GetSaturation()); + doc_json["hmirror"] = (SystemCamera.GetHMirror() == true) ? "true" : ""; + doc_json["vflip"] = (SystemCamera.GetVFlip() == true) ? "true" : ""; + doc_json["lensc"] = (SystemCamera.GetLensC() == true) ? "true" : ""; + doc_json["exposure_ctrl"] = (SystemCamera.GetExposureCtrl() == true) ? "true" : ""; + doc_json["awb"] = (SystemCamera.GetAwb() == true) ? "true" : ""; + doc_json["awb_gain"] = (SystemCamera.GetAwbGain() == true) ? "true" : ""; + doc_json["wb_mode"] = String(SystemCamera.GetAwbMode()); + doc_json["bpc"] = (SystemCamera.GetBpc() == true) ? "true" : ""; + doc_json["wpc"] = (SystemCamera.GetWpc() == true) ? "true" : ""; + doc_json["raw_gama"] = (SystemCamera.GetRawGama() == true) ? "true" : ""; + doc_json["aec2"] = (SystemCamera.GetAec2() == true) ? "true" : ""; + doc_json["ae_level"] = SystemCamera.GetAeLevel(); + doc_json["aec_value"] = SystemCamera.GetAecValue(); + doc_json["gain_ctrl"] = (SystemCamera.GetGainCtrl() == true) ? "true" : ""; + doc_json["agc_gain"] = SystemCamera.GetAgcGaint(); + doc_json["led"] = (SystemCamera.GetFlashStatus() == true) ? "true" : ""; + doc_json["flash"] = (SystemCamera.GetCameraFlashEnable() == true) ? "true" : ""; + doc_json["flash_time"] = SystemCamera.GetCameraFlashTime(); + doc_json["ssid"] = SystemWifiMngt.GetStaSsid(); + doc_json["bssid"] = SystemWifiMngt.GetStaBssid(); + doc_json["rssi"] = String(WiFi.RSSI()); + doc_json["rssi_percentage"] = String(SystemWifiMngt.Rssi2Percent(WiFi.RSSI())); + doc_json["tx_power"] = SystemWifiMngt.TranslateTxPower(WiFi.getTxPower()); + doc_json["ip"] = WiFi.localIP().toString(); + doc_json["wifi_mode"] = SystemWifiMngt.GetWiFiMode(); + doc_json["mdns"] = SystemWifiMngt.GetMdns(); + doc_json["service_ap_ssid"] = SystemWifiMngt.GetServiceApSsid(); + doc_json["auth"] = (WebBasicAuth.EnableAuth == true) ? "true" : ""; + doc_json["auth_username"] = WebBasicAuth.UserName; + doc_json["last_upload_status"] = Connect.GetBackendReceivedStatus(); + doc_json["wifi_network_status"] = SystemWifiMngt.GetStaStatus(); + doc_json["log_level"] = String(SystemLog.GetLogLevel()); + doc_json["uptime"] = uptime; + doc_json["user_name"] = WebBasicAuth.UserName; + doc_json["hostname"] = Connect.GetPrusaConnectHostname(); + doc_json["sw_build"] = SW_BUILD; + doc_json["sw_ver"] = SW_VERSION; + doc_json["sw_new_ver"] = FirmwareUpdate.NewVersionFw; + + serializeJson(doc_json, string_json); + SystemLog.AddEvent(LogLevel_Verbose, string_json); + return string_json; +} + +/** + @brief If basic auth is enabled, then check if the user is logged in + @param AsyncWebServerRequest - request + @return bool - status +*/ +bool Server_CheckBasicAuth(AsyncWebServerRequest* request) { + if ((!request->authenticate(WebBasicAuth.UserName.c_str(), WebBasicAuth.Password.c_str())) && (true == WebBasicAuth.EnableAuth)) { + SystemLog.AddEvent(LogLevel_Verbose, "Unauthorized! Sending longin request"); + request->requestAuthentication(); + return false; + } + + return true; +} + +/** + @brief Stream JPG image from camera + @param AsyncWebServerRequest - request + @return void +*/ +void Server_streamJpg(AsyncWebServerRequest *request) { + AsyncJpegStreamResponse *response = new AsyncJpegStreamResponse(&SystemCamera, &SystemLog); + if (!response) { + request->send(501); + return; + } + response->addHeader("Access-Control-Allow-Origin", "*"); + request->send(response); +} + +/** + @brief Get module uptime + @param String - uptime value + @return void +*/ +void Server_GetModuleUptime(String& readableTime) { + unsigned long currentMillis; + unsigned long seconds; + unsigned long minutes; + unsigned long hours; + unsigned long days; + + currentMillis = millis(); + seconds = currentMillis / 1000; + minutes = seconds / 60; + hours = minutes / 60; + days = hours / 24; + currentMillis %= 1000; + seconds %= 60; + minutes %= 60; + hours %= 24; + + readableTime = String(days) + " days, "; + + if (hours < 10) { + readableTime += "0"; + } + readableTime += String(hours) + ":"; + + if (minutes < 10) { + readableTime += "0"; + } + readableTime += String(minutes) + ":"; + + if (seconds < 10) { + readableTime += "0"; + } + readableTime += String(seconds); +} + +/** + @brief Convert string bool variable to bool + @param String - data + @return bool - status +*/ +bool Server_TransfeStringToBool(String data) { + bool ret = false; + if (data.indexOf("true") >= 0) { + ret = true; + } else if (data.indexOf("false") >= 0) { + ret = false; + } + + return ret; +} + +/* EOF */ diff --git a/ESP32_PrusaConnectCam/server.h b/ESP32_PrusaConnectCam/server.h new file mode 100644 index 0000000..fb6ff9d --- /dev/null +++ b/ESP32_PrusaConnectCam/server.h @@ -0,0 +1,65 @@ +/** + @file server.h + + @brief Library for WEB server + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug + +*/ + +#ifndef _SERVER_H_ +#define _SERVER_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "WebPage.h" +#include "WebPage_Icons.h" +#include "mcu_cfg.h" +#include "var.h" +#include "camera.h" +#include "cfg.h" +#include "jquery.h" +#include "system.h" +#include "log.h" +#include "connect.h" +#include "wifi_mngt.h" +#include "stream.h" + +extern AsyncWebServer server; ///< global variable for web server + +void Server_LoadCfg(); +void Server_InitWebServer(); +void Server_InitWebServer_JsonData(); +void Server_InitWebServer_WebPages(); +void Server_InitWebServer_Icons(); +void Server_InitWebServer_Actions(); +void Server_InitWebServer_Sets(); +void Server_InitWebServer_Update(); +void Server_InitWebServer_Stream(); + +void Server_handleCacheRequest(AsyncWebServerRequest*, const char*, const char*); +void Server_handleNotFound(AsyncWebServerRequest *); +String Server_GetJsonData(); +bool Server_CheckBasicAuth(AsyncWebServerRequest *); + +void Server_streamJpg(AsyncWebServerRequest *); + +void Server_GetModuleUptime(String &); +bool Server_TransfeStringToBool(String); + +#endif + +/* EOF */ diff --git a/ESP32_PrusaConnectCam/stream.cpp b/ESP32_PrusaConnectCam/stream.cpp new file mode 100644 index 0000000..6e9a122 --- /dev/null +++ b/ESP32_PrusaConnectCam/stream.cpp @@ -0,0 +1,290 @@ +/** + @file stream.cpp + + @brief stream library. + + Inspiration is from git repository https://gist.github.com/me-no-dev/d34fba51a8f059ac559bf62002e61aa3 + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ +#include "stream.h" + +#define PART_BOUNDARY "123456789000000000000987654321" ///< Must be unique for each stream +static const char *STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY; ///< content type for stream +static const char *STREAM_BOUNDARY = "\r\n--" PART_BOUNDARY "\r\n"; ///< boundary for stream +static const char *STREAM_PART = "Content-Type: %s\r\nContent-Length: %u\r\n\r\n"; ///< part for stream +static const char *JPG_CONTENT_TYPE = "image/jpeg"; ///< content type for jpg + +/** + * @brief Construct a new Async Buffer Response:: Async Buffer Response object + * + * @param buf + * @param len + * @param contentType + */ +AsyncBufferResponse::AsyncBufferResponse(uint8_t *buf, size_t len, const char *contentType) { + _buf = buf; + _len = len; + _callback = nullptr; + _code = 200; + _contentLength = _len; + _contentType = contentType; + _index = 0; +} + +/** + * @brief Destroy the Async Buffer Response:: Async Buffer Response object + * + */ +AsyncBufferResponse::~AsyncBufferResponse() { + if (_buf != nullptr) { + free(_buf); + } +} + +/** + * @brief Check if source is valid + * + * @return bool + */ +bool AsyncBufferResponse::_sourceValid() const { + return _buf != nullptr; +} + +/** + * @brief Fill buffer + * + * @param buf + * @param maxLen + * @return size_t + */ +size_t AsyncBufferResponse::_fillBuffer(uint8_t *buf, size_t maxLen) { + size_t ret = _content(buf, maxLen, _index); + if (ret != RESPONSE_TRY_AGAIN) { + _index += ret; + } + return ret; +} + +/** + * @brief Content + * + * @param buffer + * @param maxLen + * @param index + * @return size_t + */ +size_t AsyncBufferResponse::_content(uint8_t *buffer, size_t maxLen, size_t index) { + memcpy(buffer, _buf + index, maxLen); + if ((index + maxLen) == _len) { + free(_buf); + _buf = nullptr; + } + return maxLen; +} + +/** + * @brief Construct a new Async Frame Response:: Async Frame Response object + * + * @param frame + * @param contentType + */ +AsyncFrameResponse::AsyncFrameResponse(camera_fb_t *frame, const char *contentType) { + _callback = nullptr; + _code = 200; + _contentLength = frame->len; + _contentType = contentType; + _index = 0; + fb = frame; +} + +/** + * @brief Destroy the Async Frame Response:: Async Frame Response object + * + */ +AsyncFrameResponse::~AsyncFrameResponse() { + if (fb != nullptr) { + esp_camera_fb_return(fb); + } +} + +/** + * @brief Check if source is valid + * + * @return bool + */ +bool AsyncFrameResponse::_sourceValid() const { + return fb != nullptr; +} + +/** + * @brief Fill buffer + * + * @param buf + * @param maxLen + * @return size_t + */ +size_t AsyncFrameResponse::_fillBuffer(uint8_t *buf, size_t maxLen) { + size_t ret = _content(buf, maxLen, _index); + if (ret != RESPONSE_TRY_AGAIN) { + _index += ret; + } + return ret; +} + +/** + * @brief Content + * + * @param buffer + * @param maxLen + * @param index + * @return size_t + */ +size_t AsyncFrameResponse::_content(uint8_t *buffer, size_t maxLen, size_t index) { + memcpy(buffer, fb->buf + index, maxLen); + if ((index + maxLen) == fb->len) { + esp_camera_fb_return(fb); + fb = nullptr; + } + return maxLen; +} + +/** + * @brief Construct a new Async Jpeg Stream Response:: Async Jpeg Stream Response object + * + * @param i_cam + * @param i_log + */ +AsyncJpegStreamResponse::AsyncJpegStreamResponse(Camera *i_cam, Logs *i_log) { + _callback = nullptr; + _code = 200; + _contentLength = 0; + _contentType = STREAM_CONTENT_TYPE; + _sendContentLength = false; + _chunked = true; + _index = 0; + lastAsyncRequest = 0; + memset(&_frame, 0, sizeof(camera_frame_t)); + camera = i_cam; + log = i_log; + camera->SetStreamStatus(true); +} + +/** + * @brief Destroy the Async Jpeg Stream Response:: Async Jpeg Stream Response object + * + */ +AsyncJpegStreamResponse::~AsyncJpegStreamResponse() { + camera->SetStreamStatus(false); + camera->CaptureReturnFrameBuffer(); +} + +/** + * @brief Check if source is valid + * + * @return bool + */ +bool AsyncJpegStreamResponse::_sourceValid() const { + return true; +} + +/** + * @brief Fill buffer + * + * @param buf + * @param maxLen + * @return size_t + */ +size_t AsyncJpegStreamResponse::_fillBuffer(uint8_t *buf, size_t maxLen) { + size_t ret = _content(buf, maxLen, _index); + if (ret != RESPONSE_TRY_AGAIN) { + _index += ret; + } + return ret; +} + +/** + * @brief Content - get picture from camera and send it to client + * + * @param buffer + * @param maxLen + * @param index + * @return size_t + */ +size_t AsyncJpegStreamResponse::_content(uint8_t *buffer, size_t maxLen, size_t index) { + + if (!_frame.fb || _frame.index == _frame.fb->len) { + delay(1); + + if (index && _frame.fb) { + uint64_t end = (uint64_t)micros(); + int fp = (end - lastAsyncRequest) / 1000; + float fps = 1000.0 / fp; + char buf[50] = { '\0' }; + camera->StreamSetFrameSize(_frame.fb->len / 1024); + camera->StreamSetFrameFps(fps); + //sprintf(buf, "Size: %uKB, Time: %ums (%.1f fps)", _frame.fb->len / 1024, fp, fps); + sprintf(buf, "Size: %uKB, FPS: %.1f", _frame.fb->len / 1024, fps); + Serial.println(buf); + lastAsyncRequest = end; + camera->CaptureReturnFrameBuffer(); + _frame.fb = NULL; + } + + /* check space for headers */ + if (maxLen < (strlen(STREAM_BOUNDARY) + strlen(STREAM_PART) + strlen(JPG_CONTENT_TYPE) + 8)) { + log->AddEvent(LogLevel_Error, "Stream Not space for headers"); + return RESPONSE_TRY_AGAIN; + } + + /* get frame */ + _frame.index = 0; + camera->CaptureStream(&_dframe); + _frame.fb = &_dframe; + + if (_frame.fb == NULL) { + log->AddEvent(LogLevel_Error, "Stream capture frame failed"); + return 0; + } + + /* send boundary */ + size_t blen = 0; + if (index) { + blen = strlen(STREAM_BOUNDARY); + memcpy(buffer, STREAM_BOUNDARY, blen); + buffer += blen; + } + + /* send header */ + size_t hlen = sprintf((char *)buffer, STREAM_PART, JPG_CONTENT_TYPE, _frame.fb->len); + buffer += hlen; + + /* send frame */ + hlen = maxLen - hlen - blen; + if (hlen > _frame.fb->len) { + maxLen -= hlen - _frame.fb->len; + hlen = _frame.fb->len; + } + + memcpy(buffer, _frame.fb->buf, hlen); + _frame.index += hlen; + delay(1); + return maxLen; + } + + /* check next send data */ + size_t available = _frame.fb->len - _frame.index; + if (maxLen > available) { + maxLen = available; + } + + delay(1); + memcpy(buffer, _frame.fb->buf + _frame.index, maxLen); + _frame.index += maxLen; + return maxLen; +} + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/stream.h b/ESP32_PrusaConnectCam/stream.h new file mode 100644 index 0000000..2885248 --- /dev/null +++ b/ESP32_PrusaConnectCam/stream.h @@ -0,0 +1,75 @@ +/** + @file stream.h + + @brief stream library + + Inspiration is from git repository https://gist.github.com/me-no-dev/d34fba51a8f059ac559bf62002e61aa3 + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _STREAM_H_ +#define _STREAM_H_ + +#include "ESPAsyncWebSrv.h" + +#include "Arduino.h" +#include "mcu_cfg.h" +#include "var.h" +#include "log.h" +#include "camera.h" + +typedef struct { + camera_fb_t *fb; ///< pointer to frame buffer + size_t index; ///< index of frame +} camera_frame_t; ///< camera frame structure + +class AsyncBufferResponse : public AsyncAbstractResponse { +private: + uint8_t *_buf; ///< pointer to frame buffer + size_t _len; ///< length of frame buffer + size_t _index; ///< index of frame + +public: + AsyncBufferResponse(uint8_t *, size_t, const char *); + ~AsyncBufferResponse(); + bool _sourceValid() const; + virtual size_t _fillBuffer(uint8_t *, size_t) override; + size_t _content(uint8_t *, size_t, size_t); +}; + +class AsyncFrameResponse : public AsyncAbstractResponse { +private: + camera_fb_t *fb; ///< pointer to frame buffer + size_t _index; ///< index of frame + +public: + AsyncFrameResponse(camera_fb_t *, const char *); + ~AsyncFrameResponse(); + bool _sourceValid() const; + virtual size_t _fillBuffer(uint8_t *, size_t) override; + size_t _content(uint8_t *, size_t, size_t); +}; + +class AsyncJpegStreamResponse : public AsyncAbstractResponse { +private: + camera_frame_t _frame; ///< camera frame + size_t _index; ///< index of frame + uint64_t lastAsyncRequest; ///< last async request + Camera *camera; ///< pointer to camera + Logs *log; ///< pointer to logs + camera_fb_t _dframe; ///< camera frame + +public: + AsyncJpegStreamResponse(Camera *, Logs *); + ~AsyncJpegStreamResponse(); + bool _sourceValid() const; + virtual size_t _fillBuffer(uint8_t *, size_t ) override; + size_t _content(uint8_t *, size_t , size_t ); +}; + +#endif +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/sys_led.cpp b/ESP32_PrusaConnectCam/sys_led.cpp new file mode 100644 index 0000000..998f987 --- /dev/null +++ b/ESP32_PrusaConnectCam/sys_led.cpp @@ -0,0 +1,103 @@ +/** + @file sys_led.cpp + + @brief Library for system LED control + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#include "sys_led.h" + +sys_led system_led(STATUS_LED_GPIO_NUM, STATUS_LED_ON_DURATION); + +/** + * @brief Construct a new sys led::sys led object + * + * @param uint8_t - pin number for system LED + * @param uint32_t - duration of LED on + */ +sys_led::sys_led(uint8_t i_pin, uint32_t i_on_duration) { + pin = i_pin; + time = 100; + ledOnDuration = i_on_duration; +} + +/** + * @brief Construct a new sys led::sys led object + * + * @param uint8_t - pin number for system LED + * @param uint32_t - duration of LED on + * @param Logs * - pointer to log class + */ +sys_led::sys_led(uint8_t i_pin, uint32_t i_on_duration, Logs *i_log) { + pin = i_pin; + time = 100; + log = i_log; + ledOnDuration = i_on_duration; +} + +/** + * @brief Init system LED + * + */ +void sys_led::init() { + pinMode(pin, OUTPUT); + digitalWrite(pin, LOW); +} + +/** + * @brief Toggle system LED + * + */ +void sys_led::toggle() { + digitalWrite(pin, !digitalRead(pin)); +} + +/** + * @brief Set system LED + * + * @param bool - state of LED + */ +void sys_led::set(bool state) { + digitalWrite(pin, state); +} + +/** + * @brief Get system LED + * + * @return bool - state of LED + */ +bool sys_led::get() { + return digitalRead(pin); +} + +/** + * @brief Set timer for system LED + * + * @param uint32_t - time in ms + */ +void sys_led::setTimer(uint32_t i_time) { + time = i_time; +} + +/** + * @brief Get timer for next start task for system LED + * + * @return uint32_t - time in ms + */ +uint32_t sys_led::getTimer() { + uint32_t tmp = 0; + + if (digitalRead(pin) == LOW) { + tmp = ledOnDuration; + } else { + tmp = time; + } + + return tmp; +} + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/sys_led.h b/ESP32_PrusaConnectCam/sys_led.h new file mode 100644 index 0000000..02735e9 --- /dev/null +++ b/ESP32_PrusaConnectCam/sys_led.h @@ -0,0 +1,43 @@ +/** + @file sys_led.h + + @brief Library for system LED control + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _SYS_LED_H_ +#define _SYS_LED_H_ + +#include "log.h" +#include "mcu_cfg.h" +#include "arduino.h" + +class sys_led { +private: + uint8_t pin; ///< pin number for system LED + uint32_t time; ///< speed blinking time system LED + uint32_t ledOnDuration; ///< duration of LED on + Logs *log; ///< pointer to log class + +public: + sys_led(uint8_t, uint32_t); + sys_led(uint8_t, uint32_t, Logs *); + ~sys_led(){}; + + void init(); + void toggle(); + void set(bool); + bool get(); + void setTimer(uint32_t); + uint32_t getTimer(); +}; + +extern sys_led system_led; + +#endif + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/system.cpp b/ESP32_PrusaConnectCam/system.cpp new file mode 100644 index 0000000..ccaae5b --- /dev/null +++ b/ESP32_PrusaConnectCam/system.cpp @@ -0,0 +1,644 @@ +/** + @file system.cpp + + @brief system library + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#include "system.h" + +/** + @brief Function for init system library + @param none + @return none +*/ +void System_Init() { + SystemLog.AddEvent(LogLevel_Info, "Init system lib"); + /* show last reset status */ + String reason_simple = System_printMcuResetReasonSimple(); + SystemLog.AddEvent(LogLevel_Warning, "CPU reset reason: " + reason_simple); + + String reason_core0 = System_PrintMcuResetReason(rtc_get_reset_reason(0)); + String reason_core1 = System_PrintMcuResetReason(rtc_get_reset_reason(1)); + SystemLog.AddEvent(LogLevel_Warning, "CPU0 reset reason: " + reason_core0); + SystemLog.AddEvent(LogLevel_Warning, "CPU1 reset reason: " + reason_core1); + + SystemLog.AddEvent(LogLevel_Info, "MCU Temperature: " + String(temperatureRead()) + " *C"); + SystemLog.AddEvent(LogLevel_Info, "Internal Total heap: " + String(ESP.getHeapSize()) + " ,internal Free Heap: " + String(ESP.getFreeHeap())); + SystemLog.AddEvent(LogLevel_Info, "SPIRam Total heap: " + String(ESP.getPsramSize()) + " ,SPIRam Free Heap: " + String(ESP.getFreePsram())); + SystemLog.AddEvent(LogLevel_Info, "ChipRevision: " + String(ESP.getChipRevision()) + " ,Cpu Freq: " + String(ESP.getCpuFreqMHz()) + " ,SDK Version: " + String(ESP.getSdkVersion())); + SystemLog.AddEvent(LogLevel_Info, "Flash Size: " + String(ESP.getFlashChipSize()) + " ,Flash Speed " + String(ESP.getFlashChipSpeed())); + System_CheckIfPsramIsUsed(); +} + +/** + @brief Function for load configuration from EEPROM + @param none + @return none +*/ +void System_LoadCfg() { + +} + +/** + @brief Function for check if PSRAM is used + @param none + @return none +*/ +void System_CheckIfPsramIsUsed() { + if (psramFound()) { + SystemLog.AddEvent(LogLevel_Info, "PSRAM is used."); + void *ptr = malloc(100); + + if (ptr != NULL) { + if (esp_ptr_external_ram(ptr)) { + SystemLog.AddEvent(LogLevel_Info, "malloc/new is using SPIRAM"); + } else { + SystemLog.AddEvent(LogLevel_Info, "malloc/new is not using SPIRAM"); + } + free(ptr); + } else { + SystemLog.AddEvent(LogLevel_Info, "Failed to allocate memory"); + } + } else { + SystemLog.AddEvent(LogLevel_Info, "PSRAM is not used."); + } +} + +/** + @brief Function for init update functions from file + @param none + @return none +*/ +void System_UpdateInit() { + Update.onProgress([](int progress, size_t total) { + /* update from file */ + SystemCamera.SetFlashStatus(true); + uint8_t updateProgress = (progress * 100) / FirmwareUpdate.FirmwareSize; + SystemLog.AddEvent(LogLevel_Info, "Updating: " + String(FirmwareUpdate.FirmwareSize) + "/" + String(progress) + " -> " + String(updateProgress) + "%"); + FirmwareUpdate.PercentProcess = updateProgress; + FirmwareUpdate.TransferedBytes = progress; + delay(10); + SystemCamera.SetFlashStatus(false); + }); +} + +/** + @brief Main function for system lib + @param none + @return none +*/ +void System_Main() { + /* check new FW version */ + if (false == FirmwareUpdate.CheckNewVersionAfterBoot) { + System_CheckNewVersion(); + } + + /* task for download and flash FW from server */ + System_OtaCloudUpdate(); +} + +/** + @brief Function for check FW version on the WEB server + + https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28 + + @param none + @return none +*/ +void System_CheckNewVersion() { + if (WL_CONNECTED == WiFi.status()) { + SystemLog.AddEvent(LogLevel_Info, "Check new FW version from OTA"); + FirmwareUpdate.CheckNewVersionAfterBoot = true; + WiFiClientSecure client; + client.setCACert(root_CAs_ota); + FirmwareUpdate.CheckNewVersionFwStatus = "N/A"; + FirmwareUpdate.NewVersionFw = "Unknown"; + FirmwareUpdate.OtaUpdateFwUrl = ""; + FirmwareUpdate.OtaUpdateFwAvailable = false; + + /* connect to server and get json */ + if (!client.connect("api.github.com", 443)) { + FirmwareUpdate.CheckNewVersionFwStatus = "Failed connect to OTA server!"; + SystemLog.AddEvent(LogLevel_Info, FirmwareUpdate.CheckNewVersionFwStatus); + + } else { + SystemLog.AddEvent(LogLevel_Verbose, "Connected to server!"); + client.println("GET https://" + String(OTA_UPDATE_API_SERVER) + String(OTA_UPDATE_API_URL) + " HTTP/1.0"); + client.println("Host: " + String(OTA_UPDATE_API_SERVER)); + client.println("User-Agent: " + String(DEVICE_HOSTNAME)); + client.println("Connection: close"); + client.println(); + + while (client.connected()) { + String line = client.readStringUntil('\n'); + if (line == "\r") { + SystemLog.AddEvent(LogLevel_Verbose, "headers received: " + line); + break; + } + } + + /* wait for data, and read it */ + delay(350); + String Data = ""; + while (client.connected()) { + while (client.available()) { + Data += (char)client.read(); + } + } + + SystemLog.AddEvent(LogLevel_Verbose, Data); + client.stop(); + + /* json analyzed */ + JsonDocument jsonDoc; + DeserializationError error = deserializeJson(jsonDoc, Data); + + if (error) { + FirmwareUpdate.CheckNewVersionFwStatus = "Failed to parse JSON from OTA server!"; + SystemLog.AddEvent(LogLevel_Warning, FirmwareUpdate.CheckNewVersionFwStatus); + SystemLog.AddEvent(LogLevel_Warning, Data); + + } else { + const char *firmwareVersion = jsonDoc["tag_name"]; + if (firmwareVersion) { + FirmwareUpdate.CheckNewVersionFwStatus = "Download successful"; + FirmwareUpdate.NewVersionFw = firmwareVersion; + SystemLog.AddEvent(LogLevel_Info, "Available OTA firmware: " + FirmwareUpdate.NewVersionFw); + + /* get assets */ + JsonArray assets = jsonDoc["assets"]; + int assetsCount = assets.size(); + SystemLog.AddEvent(LogLevel_Info, "Assets count: " + String(assetsCount)); + for(int i = 0; i < assetsCount; i++) { + JsonObject asset = assets[i]; + const char* name = asset["name"]; + SystemLog.AddEvent(LogLevel_Info, "Assets[" + String(i) + "]: " + String(name)); + + /* get FW file and URL */ + if (strcmp(name, OTA_UPDATE_FW_FILE) == 0) { + /* get download URL */ + const char* download_url = asset["browser_download_url"]; + FirmwareUpdate.OtaUpdateFwUrl = download_url; + SystemLog.AddEvent(LogLevel_Info, "Found FW file: " + String(name) + " URL: " + FirmwareUpdate.OtaUpdateFwUrl); + FirmwareUpdate.OtaUpdateFwAvailable = true; + } + } + } else { + FirmwareUpdate.CheckNewVersionFwStatus = "JSON key 'tag_name' from OTA server not found!"; + SystemLog.AddEvent(LogLevel_Warning, FirmwareUpdate.CheckNewVersionFwStatus); + } + } + } + } +} + +/** + @brief Function for check start OTA update from WEB server + @param none + @return none +*/ +void System_OtaCloudUpdate() { + if (true == FirmwareUpdate.StartOtaUpdate) { + FirmwareUpdate.Processing = true; + FirmwareUpdate.StartOtaUpdate = false; + FirmwareUpdate.UpdatingStatus = "Sync NTP time..."; + SystemWifiMngt.SyncNtpTime(); + FirmwareUpdate.UpdatingStatus = "Start updating"; + System_OtaUpdateStart(); + } +} + +/** + @brief Function for downloading FW and flash new FW to the memmory + + https://github.com/espressif/arduino-esp32/blob/master/libraries/HTTPUpdate/src/HTTPUpdate.h + + @param none + @return bool - true if update is done +*/ +bool System_OtaUpdateStart() { + bool b_ret = false; + WiFiClientSecure client; + + /* check if new FW version is available */ + if (FirmwareUpdate.OtaUpdateFwAvailable == false) { + FirmwareUpdate.UpdatingStatus = SYSTEM_MSG_UPDATE_NO_FW; + SystemLog.AddEvent(LogLevel_Info, FirmwareUpdate.UpdatingStatus); + FirmwareUpdate.Processing = false; + + return b_ret; + } + /* reset wdg */ + esp_task_wdt_reset(); + + /* set certificat for secure connection, set timeout and follow redirect */ + client.setCACert(root_CAs_ota); + // client.setInsecure(); + client.setTimeout(12000 / SECOND_TO_MILISECOND); /* timeout argument is defined in seconds for setTimeout */ + httpUpdate.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS); /* HTTPC_FORCE_FOLLOW_REDIRECTS */ + + /* set callback function */ + httpUpdate.onStart(System_OtaUpdateStartCB); + httpUpdate.onEnd(System_OtaUpdateEndCB); + httpUpdate.onError(System_OtaUpdateErrorCB); + httpUpdate.onProgress(System_OtaUpdateProgressCB); + + /* mcu configuration */ + httpUpdate.rebootOnUpdate(false); + FirmwareUpdate.UpdatingStatus = SYSTEM_MSG_UPDATE_PROCESS; + httpUpdate.setLedPin(4, HIGH); + + SystemLog.AddEvent(LogLevel_Info, "Start OTA update URL: " + FirmwareUpdate.OtaUpdateFwUrl + ";"); + + /* start update */ + t_httpUpdate_return ret = httpUpdate.update(client, FirmwareUpdate.OtaUpdateFwUrl.c_str()); + + /* check result */ + switch (ret) { + case HTTP_UPDATE_FAILED: + b_ret = true; + FirmwareUpdate.UpdatingStatus = String(SYSTEM_MSG_UPDATE_FAIL) + "[" + String(httpUpdate.getLastError()) + "]: " + httpUpdate.getLastErrorString(); + break; + + case HTTP_UPDATE_NO_UPDATES: + FirmwareUpdate.UpdatingStatus = "No updates"; + break; + + case HTTP_UPDATE_OK: + FirmwareUpdate.UpdatingStatus = SYSTEM_MSG_UPDATE_DONE; + break; + } + FirmwareUpdate.Processing = false; + SystemLog.AddEvent(LogLevel_Info, "OTA update DONE. " + FirmwareUpdate.UpdatingStatus); + + return b_ret; +} + +/** + @brief CB function OTA update process + @param int - current bytes + @param int - total bytes + @return none +*/ +void System_OtaUpdateProgressCB(int cur, int total) { + /* OTA update from server */ + FirmwareUpdate.FirmwareSize = total; + uint8_t updateProgress = (cur * 100) / FirmwareUpdate.FirmwareSize; + FirmwareUpdate.PercentProcess = updateProgress; + FirmwareUpdate.TransferedBytes = cur; + SystemLog.AddEvent(LogLevel_Info, "Downloaded: " + String(cur) + "/" + String(FirmwareUpdate.FirmwareSize) + " -> " + String(FirmwareUpdate.PercentProcess) + "%"); +} + +/** + @brief CB function start OTA update + @param none + @return none +*/ +void System_OtaUpdateStartCB() { + SystemLog.AddEvent(LogLevel_Info, "Start OTA update"); +} + +/** + @brief CB function start OTA update + @param none + @return none +*/ +void System_OtaUpdateEndCB() { + SystemLog.AddEvent(LogLevel_Info, "OTA update done"); +} + +/** + @brief CB function error OTA update + @param int - error code + @return none +*/ +void System_OtaUpdateErrorCB(int error) { + SystemLog.AddEvent(LogLevel_Info, "OTA update error: " + String(error)); +} + +/** + @brief Function for print reset reason + @param int - reset reason + @return String - reset reason +*/ +String System_PrintMcuResetReason(int reason) { + String ret = ""; + switch (reason) { + case 1: /**<1, Vbat power on reset*/ + ret = "POWERON_RESET"; + break; + case 3: /**<3, Software reset digital core*/ + ret = "SW_RESET"; + break; + case 4: /**<4, Legacy watch dog reset digital core*/ + ret = "OWDT_RESET"; + break; + case 5: /**<5, Deep Sleep reset digital core*/ + ret = "DEEPSLEEP_RESET"; + break; + case 6: /**<6, Reset by SLC module, reset digital core*/ + ret = "SDIO_RESET"; + break; + case 7: /**<7, Timer Group0 Watch dog reset digital core*/ + ret = "TG0WDT_SYS_RESET"; + break; + case 8: /**<8, Timer Group1 Watch dog reset digital core*/ + ret = "TG1WDT_SYS_RESET"; + break; + case 9: /**<9, RTC Watch dog Reset digital core*/ + ret = "RTCWDT_SYS_RESET"; + break; + case 10: /**<10, Instrusion tested to reset CPU*/ + ret = "INTRUSION_RESET"; + break; + case 11: /**<11, Time Group reset CPU*/ + ret = "TGWDT_CPU_RESET"; + break; + case 12: /**<12, Software reset CPU*/ + ret = "SW_CPU_RESET"; + break; + case 13: /**<13, RTC Watch dog Reset CPU*/ + ret = "RTCWDT_CPU_RESET"; + break; + case 14: /**<14, for APP CPU, reseted by PRO CPU*/ + ret = "EXT_CPU_RESET"; + break; + case 15: /**<15, Reset when the vdd voltage is not stable*/ + ret = "RTCWDT_BROWN_OUT_RESET"; + break; + case 16: /**<16, RTC Watch dog reset digital core and rtc module*/ + ret = "RTCWDT_RTC_RESET"; + break; + default: + ret = "NO_MEAN"; + } + + return ret; +} + +/** + @brief Function for print reset reason + @param none + @return String - reset reason +*/ +String System_printMcuResetReasonSimple() { + String ret = ""; + esp_reset_reason_t reason = esp_reset_reason(); + + switch (reason) { + case ESP_RST_UNKNOWN: + ret = "Reset reason can not be determined"; + break; + case ESP_RST_POWERON: + ret = "Reset due to power-on event"; + break; + case ESP_RST_EXT: + ret = "Reset by external pin (not applicable for ESP32)"; + break; + case ESP_RST_SW: + ret = "Software reset via esp_restart"; + break; + case ESP_RST_PANIC: + ret = "Software reset due to exception/panic"; + break; + case ESP_RST_INT_WDT: + ret = "Reset (software or hardware) due to interrupt watchdog"; + break; + case ESP_RST_TASK_WDT: + ret = "Reset due to task watchdog"; + break; + case ESP_RST_WDT: + ret = "Reset due to other watchdogs"; + break; + case ESP_RST_DEEPSLEEP: + ret = "Reset after exiting deep sleep mode"; + break; + case ESP_RST_BROWNOUT: + ret = "Brownout reset (software or hardware)"; + break; + case ESP_RST_SDIO: + ret = "Reset over SDIO"; + break; + default: + ret = "N/A"; + break; + } + + return ret; +} + +/** + @brief Function for WiFi management system task + @param void *pvParameters + @return none +*/ +void System_TaskWifiManagement(void *pvParameters) { + SystemLog.AddEvent(LogLevel_Info, "Task Wifi Management. core: " + String(xPortGetCoreID())); + TickType_t xLastWakeTime = xTaskGetTickCount(); + + while (1) { + /* wifi management. Enable/disable AP_STA mode and STA mode*/ + SystemWifiMngt.WifiManagement(); + + /* wifi reconnect after signal lost */ + SystemWifiMngt.WiFiReconnect(); + + SystemLog.AddEvent(LogLevel_Info, "Free RAM: " + String(ESP.getFreeHeap()) + " bytes"); + SystemLog.AddEvent(LogLevel_Info, "Free SPIRAM: " + String(ESP.getFreePsram()) + " bytes"); + SystemLog.AddEvent(LogLevel_Info, "Temperature: " + String(temperatureRead()) + " *C"); + SystemLog.AddEvent(LogLevel_Verbose, "WiFiManagement task. Stack free size: " + String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); + + /* reset wdg */ + esp_task_wdt_reset(); + + /* next start task */ + vTaskDelayUntil(&xLastWakeTime, TASK_WIFI / portTICK_PERIOD_MS); + } +} + +/** + * @brief Function for main system task + * + * @param void *pvParameters + * @return none + */ +void System_TaskMain(void *pvParameters) { + SystemLog.AddEvent(LogLevel_Info, "System task. core: " + String(xPortGetCoreID())); + TickType_t xLastWakeTime = xTaskGetTickCount(); + + while (1) { + /* for ota update */ + esp_task_wdt_reset(); + System_Main(); + SystemLog.AddEvent(LogLevel_Verbose, "System task. Stack free size: " + String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); + + /* reset wdg */ + esp_task_wdt_reset(); + + /* next start task */ + vTaskDelayUntil(&xLastWakeTime, TASK_SYSTEM / portTICK_PERIOD_MS); + } +} + +/** + * @brief Function for capture and send photo task + * + * @param void *pvParameters + * @return none + */ +void System_TaskCaptureAndSendPhoto(void *pvParameters) { + SystemLog.AddEvent(LogLevel_Info, "Task photo processing. core: " + String(xPortGetCoreID())); + TickType_t xLastWakeTime = xTaskGetTickCount(); + uint16_t SendingIntervalCounter = 0; ///< counter for sending interval + + while (1) { + if (Connect.GetRefreshInterval() <= SendingIntervalCounter) { + SendingIntervalCounter = 0; + /* send network information to backend */ + if ((WL_CONNECTED == WiFi.status()) && (false == FirmwareUpdate.Processing)) { + esp_task_wdt_reset(); + Connect.SendInfoToBackend(); + } + + /* send photo to backend*/ + if ((WL_CONNECTED == WiFi.status()) && (false == FirmwareUpdate.Processing)) { + esp_task_wdt_reset(); + Connect.TakePictureAndSendToBackend(); + } + + } else { + /* update counter */ + SendingIntervalCounter++; + } + + SystemLog.AddEvent(LogLevel_Verbose, "Photo processing task. Stack free size: " + String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); + + /* reset wdg */ + esp_task_wdt_reset(); + + /* next start task */ + vTaskDelayUntil(&xLastWakeTime, TASK_PHOTO_SEND / portTICK_PERIOD_MS); + } +} + +/** + * @brief Function for micro SD card check task + * + * @param void *pvParameters + * @return none + */ +void System_TaskSdCardCheck(void *pvParameters) { + SystemLog.AddEvent(LogLevel_Info, "MicroSdCard check task. core: " + String(xPortGetCoreID())); + TickType_t xLastWakeTime = xTaskGetTickCount(); + + while (1) { + esp_task_wdt_reset(); + /* check micro SD card */ + if ((true == SystemLog.GetCardDetectAfterBoot()) && (false == SystemLog.GetCardDetectedStatus())) { + SystemLog.ReinitCard(); + SystemLog.AddEvent(LogLevel_Warning, "Reinit micro SD card done!"); + } + SystemLog.AddEvent(LogLevel_Verbose, "MicroSdCard task. Stack free size: " + String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); + + /* reset wdg */ + esp_task_wdt_reset(); + + /* next start task */ + vTaskDelayUntil(&xLastWakeTime, TASK_SDCARD / portTICK_PERIOD_MS); + } +} + +/** + * @brief Function for serial configuration task + * + * @param void *pvParameters + * @return none + */ +void System_TaskSerialCfg(void *pvParameters) { + SystemLog.AddEvent(LogLevel_Info, "SerialCg task. core: " + String(xPortGetCoreID())); + TickType_t xLastWakeTime = xTaskGetTickCount(); + + while (1) { + esp_task_wdt_reset(); + SystemSerialCfg.ProcessIncommingData(); + SystemLog.AddEvent(LogLevel_Verbose, "SerialCfg task. Stack free size: " + String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); + + /* reset wdg */ + esp_task_wdt_reset(); + + /* next start task */ + vTaskDelayUntil(&xLastWakeTime, TASK_SERIAL_CFG / portTICK_PERIOD_MS); + } +} + +/** + * @brief Function for stream telemetry task + * + * @param void *pvParameters + * @return none + */ +void System_TaskStreamTelemetry(void *pvParameters) { + SystemLog.AddEvent(LogLevel_Info, "StreamTelemetry task. core: " + String(xPortGetCoreID())); + TickType_t xLastWakeTime = xTaskGetTickCount(); + + while (1) { + esp_task_wdt_reset(); + SystemLog.AddEvent(LogLevel_Verbose, "StreamTelemetry task. Stack free size: " + String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); + if (SystemCamera.GetStreamStatus()) { + char buf[80] = { '\0' }; + sprintf(buf, "Stream, average data in %dsec. FPS: %.1f, Size: %uKB", (TASK_STREAM_TELEMETRY / SECOND_TO_MILISECOND), SystemCamera.StreamGetFrameAverageFps(), SystemCamera.StreamGetFrameAverageSize()); + SystemLog.AddEvent(LogLevel_Info, buf); + SystemCamera.StreamClearFrameData(); + } + + /* reset wdg */ + esp_task_wdt_reset(); + + /* next start task */ + vTaskDelayUntil(&xLastWakeTime, TASK_STREAM_TELEMETRY / portTICK_PERIOD_MS); + } +} + +/** + * @brief Function for system led task + * + * @param void *pvParameters + * @return none + */ +void System_TaskSysLed(void *pvParameters) { + SystemLog.AddEvent(LogLevel_Info, "SystemLed task. core: " + String(xPortGetCoreID())); + TickType_t xLastWakeTime = xTaskGetTickCount(); + + while (1) { + system_led.toggle(); + /* reset wdg */ + esp_task_wdt_reset(); + + /* next start task */ + vTaskDelayUntil(&xLastWakeTime, system_led.getTimer() / portTICK_PERIOD_MS); + } +} + +void System_TaskWiFiWatchdog(void *pvParameters) { + SystemLog.AddEvent(LogLevel_Info, "WiFiWatchdog task. core: " + String(xPortGetCoreID())); + TickType_t xLastWakeTime = xTaskGetTickCount(); + + while (1) { + esp_task_wdt_reset(); + SystemWifiMngt.WiFiWatchdog(); + SystemLog.AddEvent(LogLevel_Verbose, "WiFiWatchdog task. Stack free size: " + String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); + + /* reset wdg */ + esp_task_wdt_reset(); + + /* next start task */ + vTaskDelayUntil(&xLastWakeTime, TASK_WIFI_WATCHDOG / portTICK_PERIOD_MS); + } +} + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/system.h b/ESP32_PrusaConnectCam/system.h new file mode 100644 index 0000000..dc359c5 --- /dev/null +++ b/ESP32_PrusaConnectCam/system.h @@ -0,0 +1,68 @@ +/** + @file system.h + + @brief system library + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _SYSTEM_H_ +#define _SYSTEM_H_ + +#include +#include +#include "Arduino.h" +#include +#include +#include +#include +#include +#include "esp32/rom/rtc.h" +#include + +#include "mcu_cfg.h" +#include "var.h" +#include "cfg.h" +#include "log.h" +#include "Certificate.h" +#include "wifi_mngt.h" +#include "connect.h" +#include "serial_cfg.h" +#include "sys_led.h" + +#define SYSTEM_MSG_UPDATE_DONE "FW update successfully done! Please reboot the MCU." +#define SYSTEM_MSG_UPDATE_FAIL "FW update failed! Please reboot MCU, and try again." +#define SYSTEM_MSG_UPDATE_PROCESS "FW update in progress" +#define SYSTEM_MSG_UPDATE_NO_FW "No new FW version available!" + +void System_Init(); +void System_LoadCfg(); +void System_CheckIfPsramIsUsed(); +void System_Main(); +void System_UpdateInit(); + +void System_CheckNewVersion(); +void System_OtaCloudUpdate(); +bool System_OtaUpdateStart(); +void System_OtaUpdateProgressCB(int, int); +void System_OtaUpdateErrorCB(int); +void System_OtaUpdateEndCB(); +void System_OtaUpdateStartCB(); + +String System_PrintMcuResetReason(int); +String System_printMcuResetReasonSimple(); + +void System_TaskWifiManagement(void *); +void System_TaskMain(void *); +void System_TaskCaptureAndSendPhoto(void *); +void System_TaskSdCardCheck(void *); +void System_TaskSerialCfg(void *); +void System_TaskStreamTelemetry(void *); +void System_TaskSysLed(void *); +void System_TaskWiFiWatchdog(void *); + +#endif +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/var.cpp b/ESP32_PrusaConnectCam/var.cpp new file mode 100644 index 0000000..55f2648 --- /dev/null +++ b/ESP32_PrusaConnectCam/var.cpp @@ -0,0 +1,26 @@ +/** + @file variable.cpp + + @brief Library with global variables + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#include "var.h" + +WebBasicAuth_struct WebBasicAuth = { false, "", "" }; +struct FirmwareUpdate_struct FirmwareUpdate = { "Ready", false, 0, 0, 0, false, false, "", "", "", false }; + +TaskHandle_t Task_CapturePhotoAndSend; +TaskHandle_t Task_WiFiManagement; +TaskHandle_t Task_SystemMain; +TaskHandle_t Task_SdCardCheck; +TaskHandle_t Task_SerialCfg; +TaskHandle_t Task_StreamTelemetry; +TaskHandle_t Task_SysLed; +TaskHandle_t Task_WiFiWatchdog; + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/var.h b/ESP32_PrusaConnectCam/var.h new file mode 100644 index 0000000..37ff40b --- /dev/null +++ b/ESP32_PrusaConnectCam/var.h @@ -0,0 +1,54 @@ +/** + @file variable.h + + @brief Library with global variables + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _VARIABLE_H_ +#define _VARIABLE_H_ + +#include "Arduino.h" +#include "mcu_cfg.h" + +struct WebBasicAuth_struct { + bool EnableAuth; ///< user definition for enable/disable basic auth + String UserName; ///< login name for basic auth + String Password; ///< password for basic auth +}; + +struct FirmwareUpdate_struct { + String UpdatingStatus; ///< Updateing status + bool Processing; ///< status abour processing firmware update + uint8_t PercentProcess; ///< processed firmware update + int TransferedBytes; ///< transfered bytes + + int FirmwareSize; ///< uploaded firmware size + + bool StartOtaUpdate; ///< Start OTA update process + bool CheckNewVersionAfterBoot; ///< Check new version OTA update after MCU boot + String NewVersionFw; ///< New FW version + String CheckNewVersionFwStatus; ///< connection status from checking new OTA update version + String OtaUpdateFwUrl; ///< URL for OTA update + bool OtaUpdateFwAvailable; ///< flag for available new FW version +}; + +extern struct WebBasicAuth_struct WebBasicAuth; ///< structure with configuration for basic auth +extern struct FirmwareUpdate_struct FirmwareUpdate; ///< firmware update status and process + +extern TaskHandle_t Task_CapturePhotoAndSend; ///< task handle for capture photo and send +extern TaskHandle_t Task_WiFiManagement; ///< task handle for wifi management +extern TaskHandle_t Task_SystemMain; ///< task handle for system main +extern TaskHandle_t Task_SdCardCheck; ///< task handle for sd card check +extern TaskHandle_t Task_SerialCfg; ///< task handle for serial configuration +extern TaskHandle_t Task_StreamTelemetry; ///< task handle for stream telemetry +extern TaskHandle_t Task_SysLed; ///< task handle for system led +extern TaskHandle_t Task_WiFiWatchdog; ///< task handle for wifi watchdog + +#endif + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/wifi_mngt.cpp b/ESP32_PrusaConnectCam/wifi_mngt.cpp new file mode 100644 index 0000000..98398bf --- /dev/null +++ b/ESP32_PrusaConnectCam/wifi_mngt.cpp @@ -0,0 +1,919 @@ +/** + @file wifi_mngt.cpp + + @brief + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#include "wifi_mngt.h" + +WiFiMngt SystemWifiMngt(&SystemConfig, &SystemLog, &SystemCamera); + +/** + @brief Constructor for WiFiMngt class + @param Configuration* - pointer to Configuration class + @param Logs* - pointer to Logs class + @param Camera* - pointer to Camera class + @return none +*/ +WiFiMngt::WiFiMngt(Configuration *i_conf, Logs *i_log, Camera *i_cam) { + config = i_conf; + log = i_log; + cam = i_cam; + + Service_LocalIp.fromString(String(SERVICE_LOCAL_IP)); + Service_Gateway.fromString(String(SERVICE_LOCAL_GATEWAY)); + Service_Subnet.fromString(String(SERVICE_LOCAL_MASK)); + Service_Dns.fromString(String(SERVICE_LOCAL_DNS)); + + NtpFirstSync = false; + StartStaWdg = false; +} + +/** + @brief Loaf cfg from EEPROM + @param none + @return none +*/ +void WiFiMngt::LoadCfgFromEeprom() { + WifiSsid = config->LoadWifiSsid(); + WifiPassword = config->LoadWifiPassowrd(); + mDNS_record = config->LoadMdnsRecord(); +} + +/** + @brief function for init wifi module + @param none + @return none +*/ +void WiFiMngt::Init() { + /* check WI-FI mode */ + system_led.setTimer(STATUS_LED_WIFI_AP); + ServiceMode = true; + log->AddEvent(LogLevel_Info, "WiFi MAC: " + WiFi.macAddress()); + + /* Set Wi-Fi networks */ + SetWifiEvents(); + CreateApSsid(); + log->AddEvent(LogLevel_Warning, "Set WiFi AP mode"); + WiFi.mode(WIFI_AP_STA); + esp_wifi_set_ps(WIFI_PS_NONE); + WiFi.softAPConfig(Service_LocalIp, Service_Gateway, Service_Subnet); + WiFi.softAP(SericeApSsid.c_str(), SERVICE_WIFI_PASS, SERVICE_WIFI_CHANNEL); + WiFi.setHostname(DEVICE_HOSTNAME); + WiFiMode = "AP + Client"; + log->AddEvent(LogLevel_Info, "Service IP Address: http://" + WiFi.softAPIP().toString()); + FirstConnected = false; + //WiFi.setTxPower(WIFI_POWER_18_5dBm); + + if (config->CheckActifeWifiCfgFlag() == true) { + if (true == CheckAvailableWifiNetwork(WifiSsid)) { + WiFiStaConnect(); + log->AddEvent(LogLevel_Warning, "Connecting to WiFi: " + WifiSsid); + +#if (WIFI_CLIENT_WAIT_CON == true) + while (WiFi.status() != WL_CONNECTED) { + delay(1000); + log->AddEvent(LogLevel_Verbose, "."); + } + WifiCfg.FirstConnected = true; + + /* Print ESP32 Local IP Address */ + log->AddEvent(LogLevel_Info, "WiFi network IP Address: http://" + WiFi.localIP().toString()); +#endif + } else { + log->AddEvent(LogLevel_Warning, "Wifi unavailable. Skip connecting to WiFi: " + WifiSsid); + } + } + TaskAp_previousMillis = millis(); + + /* Init MDNS record */ + log->AddEvent(LogLevel_Info, "Starting mDNS record: http://" + mDNS_record + ".local"); + if (!MDNS.begin(mDNS_record)) { + log->AddEvent(LogLevel_Error, "Error starting mDNS"); + } else { + log->AddEvent(LogLevel_Info, "Starting mDNS OK"); + } + MDNS.addService("http", "tcp", 80); +} + +/** + @brief function for management wifi network + @param none + @return none +*/ +void WiFiMngt::WifiManagement() { + /* check disable service AP */ + unsigned long currentMillis = millis(); + if (currentMillis - TaskAp_previousMillis >= STA_AP_MODE_TIMEOUT) { + TaskAp_previousMillis = currentMillis; + if ((true == config->CheckActifeWifiCfgFlag()) && (true == ServiceMode) && (WL_CONNECTED == WiFi.status()) + && (false == FirmwareUpdate.Processing) && (false == cam->GetStreamStatus())) { + if (WiFi.softAPgetStationNum() == 0) { + log->AddEvent(LogLevel_Info, "Disable service AP mode"); + WiFi.mode(WIFI_STA); + esp_wifi_set_ps(WIFI_PS_NONE); + WiFiStaConnect(); + //WiFi.begin(WifiSsid, WifiPassword); + WiFiMode = "Client"; + +#if (WIFI_CLIENT_WAIT_CON == true) + while (WiFi.status() != WL_CONNECTED) { + delay(1000); + log->AddEvent(LogLevel_Verbose, "."); + } + log->AddEvent(LogLevel_Verbose, "Connected to WiFi"); +#endif + ServiceMode = false; + WiFi.softAPdisconnect(true); + } else { + log->AddEvent(LogLevel_Info, "Client [" + String(WiFi.softAPgetStationNum()) + "] still is connected to Wi-Fi AP!"); + } + } + } + + /* check first NTP time sync after boot */ + if ((true == config->CheckActifeWifiCfgFlag()) && (false == NtpFirstSync) && (WL_CONNECTED == WiFi.status())) { + SyncNtpTime(); + } +} + +/** + @brief CB function for reconnect to wifi network + @param none + @return none +*/ +void WiFiMngt::WiFiReconnect() { + if ((WiFi.status() != WL_CONNECTED) && (FirstConnected == true)) { + log->AddEvent(LogLevel_Warning, "Reconnecting to WiFi. STA"); + WiFi.disconnect(); + log->AddEvent(LogLevel_Warning, "Disconnect from WiFi"); + WiFi.reconnect(); + log->AddEvent(LogLevel_Warning, "Reconnecting to WiFi. STA"); + } else if (WiFi.status() == WL_CONNECTED) { + char cstr[150]; + sprintf(cstr, "Wifi connected. SSID: %s, BSSID: %s, RSSI: %d dBm, IP: %s, TX power: %s", WiFi.SSID().c_str(), WiFi.BSSIDstr().c_str(), WiFi.RSSI(), WiFi.localIP().toString().c_str(), TranslateTxPower(WiFi.getTxPower()).c_str()); //print 3 digits + log->AddEvent(LogLevel_Info, "WiFi status: " + String(cstr)); + } + + if (Connect.GetBackendAvailabilitStatus() == BackendUnavailable) { + log->AddEvent(LogLevel_Warning, "Reconnecting to WiFi. STA. Problem with connecting to backend!"); + WiFi.disconnect(); + WiFi.reconnect(); + Connect.SetBackendAvailabilitStatus(WaitForFirstConnection); + } +} + +/** + @brief Function for sets WiFi CB calls + @param none + @return none +*/ +void WiFiMngt::SetWifiEvents() { + WiFi.onEvent(WiFiMngt_WiFiEventScanDone, WiFiEvent_t::ARDUINO_EVENT_WIFI_SCAN_DONE); + WiFi.onEvent(WiFiMngt_WiFiEventStationStart, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_START); + WiFi.onEvent(WiFiMngt_WiFiEventStationStop, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_STOP); + WiFi.onEvent(WiFiMngt_WiFiEventStationConnected, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_CONNECTED); + WiFi.onEvent(WiFiMngt_WiFiEventStationDisconnected, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_DISCONNECTED); + WiFi.onEvent(WiFiMngt_WiFiEventGotIP, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_GOT_IP); + WiFi.onEvent(WiFiMngt_WiFiEventLostIP, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_LOST_IP); + WiFi.onEvent(WiFiMngt_WiFiEventApStart, WiFiEvent_t::ARDUINO_EVENT_WIFI_AP_START); + WiFi.onEvent(WiFiMngt_WiFiEventApStop, WiFiEvent_t::ARDUINO_EVENT_WIFI_AP_STOP); + WiFi.onEvent(WiFiMngt_WiFiEventApStaConnected, WiFiEvent_t::ARDUINO_EVENT_WIFI_AP_STACONNECTED); + WiFi.onEvent(WiFiMngt_WiFiEventApStaDisconnected, WiFiEvent_t::ARDUINO_EVENT_WIFI_AP_STADISCONNECTED); + WiFi.onEvent(WiFiMngt_WiFiEventApStaIpAssigned, WiFiEvent_t::ARDUINO_EVENT_WIFI_AP_STAIPASSIGNED); + WiFi.onEvent(WiFiMngt_WiFiEventApStaProbeReqRecved, WiFiEvent_t::ARDUINO_EVENT_WIFI_AP_PROBEREQRECVED); +} + +/** + @brief Function for connect to STA + @param none + @return none + @note https://espressif-docs.readthedocs-hosted.com/projects/arduino-esp32/en/latest/api/wifi.html#sta-connection +*/ +void WiFiMngt::WiFiStaConnect() { + if (config->CheckActifeWifiCfgFlag() == true) { + system_led.setTimer(STATUS_LED_STA_CONNECTING); + if (false == WiFiStaMultipleNetwork) { + WiFi.begin(WifiSsid, WifiPassword); + log->AddEvent(LogLevel_Info, "Connecting to STA SSID"); + } else if (true == WiFiStaMultipleNetwork) { + WiFi.begin(WifiSsid, WifiPassword, 0, WiFiStaNetworkBssid); + log->AddEvent(LogLevel_Info, "Connecting to STA BSSID"); + } + WiFi.setAutoReconnect(true); + } +} + +/** + @brief Function for set time from NTP server + @param none + @return none +*/ +void WiFiMngt::SyncNtpTime() { + if (WL_CONNECTED == WiFi.status()) { + /* configure NTP server and timezone to UTC */ + configTime(0, 0, "pool.ntp.org", "time.nist.gov"); // UTC + log->AddEvent(LogLevel_Info, "Waiting for NTP time sync: "); + log->SetNtpTimeSynced(false); + + /* wait maximum 10s for time sync */ + unsigned long startMillis = millis(); + struct tm timeinfo; + while ((millis() - startMillis) < 10000) { + if (getLocalTime(&timeinfo)) { + log->SetNtpTimeSynced(true); + break; + } + yield(); + delay(500); + } + + /* report sync status */ + if (true == log->GetNtpTimeSynced()) { + log->AddEvent(LogLevel_Info, "Sync NTP time done. Set UTC timezone"); + NtpFirstSync = true; + } else { + log->AddEvent(LogLevel_Info, "Sync NTP time fail"); + } + } +} + +/** + @brief Function for scan wifi network + @param none + @return none +*/ +void WiFiMngt::ScanWiFiNetwork() { + ScanWifiNetwork(""); +} + +/** + @brief Function for scan wifi network and check available wifi network + @param String - searched wifi network + @return uint8_t - count of found wifi networks with same SSID +*/ +uint8_t WiFiMngt::ScanWifiNetwork(String ssid) { + log->AddEvent(LogLevel_Info, "Scan WI-FI networks"); + log->AddEvent(LogLevel_Info, "Check available WI-FI network: " + ssid); + uint8_t ret = 0; ///< total wifi network count + int bestSignal = -100; ///< wifi network with best signal (when is available multiple networks with same SSID) + uint8_t bssid[6] = { 0 }; + + /* scan WI-FI networks */ + int n = WiFi.scanNetworks(); + log->AddEvent(LogLevel_Verbose, "Scan done"); + JsonDocument doc_json; + JsonArray wifiArray = doc_json.to(); + WifiScanJson = ""; + + /* make json with each found WI-FI networks */ + if (n == 0) { + log->AddEvent(LogLevel_Info, "No networks found!"); + } else { + log->AddEvent(LogLevel_Info, String(n) + " networks found"); + log->AddEvent(LogLevel_Info, "Nr | SSID | RSSI | CH | BSSID | Encryption"); + + for (int i = 0; i < n; ++i) { + /* check available wifi network */ + if (WiFi.SSID(i) == ssid) { + ret++; + + if (WiFi.RSSI(i) > bestSignal) { + bestSignal = WiFi.RSSI(i); + uint8_t *tmp = WiFi.BSSID(i); + memcpy(bssid, tmp, 6); + } + } + + /* make json with available wifi networks */ + JsonObject wifi_arr = wifiArray.add(); + wifi_arr["ssid"] = WiFi.SSID(i); + wifi_arr["bssid"] = WiFi.BSSIDstr(i); + wifi_arr["rssi"] = String(WiFi.RSSI(i)); + wifi_arr["rssi_percentage"] = String(Rssi2Percent(WiFi.RSSI(i))); + wifi_arr["channel"] = String(WiFi.channel(i)); + wifi_arr["encryption"] = TranslateWiFiEncrypion(WiFi.encryptionType(i)); + + // Print SSID and RSSI for each network found + char formattedString[100] = { '\0' }; + sprintf(formattedString, "%2d | %-32.32s | %4d | %2d | %-17s | %s", i + 1, + WiFi.SSID(i).c_str(), WiFi.RSSI(i), WiFi.channel(i), WiFi.BSSIDstr(i).c_str(), TranslateWiFiEncrypion(WiFi.encryptionType(i)).c_str()); + log->AddEvent(LogLevel_Info, formattedString); + } + } + serializeJson(doc_json, WifiScanJson); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); + log->AddEvent(LogLevel_Verbose, WifiScanJson); + + /* print status */ + if (1 <= ret) { + log->AddEvent(LogLevel_Info, "SSID: " + ssid + " found, " + String(ret) + "x"); + if (1 < ret) { + memcpy(WiFiStaNetworkBssid, bssid, 6); + WiFiStaMultipleNetwork = true; + char mac[18] = { 0 }; + sprintf(mac, "%02X:%02X:%02X:%02X:%02X:%02X", WiFiStaNetworkBssid[0], WiFiStaNetworkBssid[1], WiFiStaNetworkBssid[2], WiFiStaNetworkBssid[3], WiFiStaNetworkBssid[4], WiFiStaNetworkBssid[5]); + log->AddEvent(LogLevel_Info, "WiFi roaming found! Connecting to " + String(mac) + " -> " + String(bestSignal) + "dBm, " + String(WiFiStaMultipleNetwork)); + } + } else { + log->AddEvent(LogLevel_Info, "SSID: " + ssid + " not found"); + } + + return ret; +} + +/** + @brief Function for check available wifi network + @param String - ssid + @return bool - true if wifi network is available +*/ +bool WiFiMngt::CheckAvailableWifiNetwork(String i_data) { + uint8_t tmp = ScanWifiNetwork(i_data); + bool ret = false; + if (tmp >= 1) { + ret = true; + } + + return ret; +} + +/** + @brief Function for create AP SSID name + @param none + @return none +*/ +void WiFiMngt::CreateApSsid() { + String name = SERVICE_WIFI_SSID; +#if (true == SERVICE_WIFI_SSID_UID) + name += "_"; + /* copy just last 3 numbers from ID */ + for (size_t i = UniqueIDsize - 3; i < UniqueIDsize; i++) { + name += String(UniqueID[i]); + if (i < (UniqueIDsize - 1)) + name += "."; + } +#endif + + SericeApSsid = name; + log->AddEvent(LogLevel_Info, "Service AP SSID: " + SericeApSsid); +} + +/** + * @brief WiFi watchdog for check connection to STA + * + */ +void WiFiMngt::WiFiWatchdog() { + + /* when is enabled wifi configuration, and is not connected to wifi network, and is available at least one wifi network */ + if ((true == config->CheckActifeWifiCfgFlag()) && (WL_CONNECTED != WiFi.status()) && (true == GetFirstConnection())) { + log->AddEvent(LogLevel_Warning, "WiFi WDG. STA connection lost."); + unsigned long currentMillis = millis(); + + if (false == StartStaWdg) { + if (ScanWifiNetwork(WifiSsid) >= 1) { + StartStaWdg = true; + TaskWdg_previousMillis = currentMillis; + log->AddEvent(LogLevel_Warning, "WiFi STA connection lost. Start watchdog timer!"); + } + } + + if ((true == StartStaWdg) && (currentMillis - TaskWdg_previousMillis >= WIFI_STA_WDG_TIMEOUT)) { + log->AddEvent(LogLevel_Warning, "WiFi STA connection lost. WDG timer expired. Restart MCU!"); + /* restart MCU, or disconnect and connect to WiFi again ? From my point of view, and testing, restart MCU is better */ + ESP.restart(); + } + } else if (true == StartStaWdg) { + log->AddEvent(LogLevel_Info, "WiFi STA connection OK. Stop watchdog timer!"); + StartStaWdg = false; + TaskWdg_previousMillis = millis(); + } +} + +/** + @brief Convert WiFi signal RSSI to percent + @param int - rssi + @return int - percent +*/ +int WiFiMngt::Rssi2Percent(int rssi) { + int signalStrength = 0; + if (0 == rssi) { + signalStrength = 0; + } else { + if (rssi <= -100) + signalStrength = 0; + else if (rssi >= -50) + signalStrength = 100; + else + signalStrength = 2 * (rssi + 100); + } + return signalStrength; +} + +/** + @brief function for translate from wifi_power_t to string TX power + @param wifi_power_t - value + @return String - value +*/ +String WiFiMngt::TranslateTxPower(wifi_power_t data) { + String ret = ""; + switch (data) { + case WIFI_POWER_MINUS_1dBm: + ret = "-1dBm"; + break; + case WIFI_POWER_2dBm: + ret = "2dBm"; + break; + case WIFI_POWER_5dBm: + ret = "5dBm"; + break; + case WIFI_POWER_7dBm: + ret = "7dBm"; + break; + case WIFI_POWER_8_5dBm: + ret = "8.5dBm"; + break; + case WIFI_POWER_11dBm: + ret = "11dBm"; + break; + case WIFI_POWER_13dBm: + ret = "13dBm"; + break; + case WIFI_POWER_15dBm: + ret = "15dBm"; + break; + case WIFI_POWER_17dBm: + ret = "17dBm"; + break; + case WIFI_POWER_18_5dBm: + ret = "18.5dBm"; + break; + case WIFI_POWER_19dBm: + ret = "19dBm"; + break; + case WIFI_POWER_19_5dBm: + ret = "19.5dBm"; + break; + } + + return ret; +} + +/** + @brief function for translate from wl_status_t to string + @param wl_status_t - value + @return String - value + @note https://github.com/esp8266/Arduino/blob/0c897c37a6eab3eab34147219617945a32a9b155/libraries/ESP8266WiFi/src/include/wl_definitions.h#L50 +*/ +String WiFiMngt::TranslateWiFiStatus(wl_status_t i_wifi_status) { + String ret = ""; + switch (i_wifi_status) { + case WL_IDLE_STATUS: + ret = "Idle"; + break; + case WL_NO_SSID_AVAIL: + ret = "No SSID available"; + break; + case WL_SCAN_COMPLETED: + ret = "Scan completed"; + break; + case WL_CONNECTED: + ret = "Connected"; + break; + case WL_CONNECT_FAILED: + ret = "Connect failed"; + break; + case WL_CONNECTION_LOST: + ret = "Connection lost"; + break; + case WL_DISCONNECTED: + ret = "Disconnected"; + break; + case WL_NO_SHIELD: + ret = "No WiFi shield"; + break; + default: + ret = "Unkcnown status"; + ret += String(i_wifi_status); + } + return ret; +} + +/** + @brief function for translate from wifi_auth_mode_t to string + @param wifi_auth_mode_t - value + @return String - value +*/ +String WiFiMngt::TranslateWiFiEncrypion(wifi_auth_mode_t i_data) { + String ret = ""; + switch (i_data) { + case WIFI_AUTH_OPEN: + ret = "open"; + break; + case WIFI_AUTH_WEP: + ret = "WEP"; + break; + case WIFI_AUTH_WPA_PSK: + ret = "WPA"; + break; + case WIFI_AUTH_WPA2_PSK: + ret = "WPA2"; + break; + case WIFI_AUTH_WPA_WPA2_PSK: + ret = "WPA+WPA2"; + break; + case WIFI_AUTH_WPA2_ENTERPRISE: + ret = "WPA2-EAP"; + break; + case WIFI_AUTH_WPA3_PSK: + ret = "WPA3"; + break; + case WIFI_AUTH_WPA2_WPA3_PSK: + ret = "WPA2+WPA3"; + break; + case WIFI_AUTH_WAPI_PSK: + ret = "WAPI"; + break; + default: + ret = "unknown"; + } + + return ret; +} + +/** + @brief function for get service AP SSID name + @param none + @return String - value +*/ +String WiFiMngt::GetServiceApSsid() { + return SericeApSsid; +} + +/** + @brief function for get STA SSID name + @param none + @return String - value +*/ +String WiFiMngt::GetStaSsid() { + return WifiSsid; +} + +/** + @brief function for get STA BSSID + @param none + @return String - value +*/ +String WiFiMngt::GetStaBssid() { + return WiFi.BSSIDstr(); +} + +/** + @brief function for get STA password + @param none + @return String - value +*/ +String WiFiMngt::GetStaPassword() { + return WifiPassword; +} + +/** + @brief function for get STA status + @param none + @return String - value +*/ +String WiFiMngt::GetStaStatus() { + return TranslateWiFiStatus(WiFi.status()); +} + +/** + @brief function for get STA IP + @param none + @return String - value +*/ +String WiFiMngt::GetStaIp() { + return WiFi.localIP().toString(); +} + +/** + @brief function for get available wifi networks + @param none + @return String - value +*/ +String WiFiMngt::GetAvailableWifiNetworks() { + return WifiScanJson; +} + +/** + @brief function for get Wi-Fi mode + @param none + @return String - value +*/ +String WiFiMngt::GetWiFiMode() { + return WiFiMode; +} + +/** + * @brief function for get Wi-Fi MAC address + * + * @return String - value + */ +String WiFiMngt::GetWifiMac() { + return String(WiFi.macAddress()); +} + +/** + @brief function for get mDNS record + @param none + @return String - value +*/ +String WiFiMngt::GetMdns() { + return mDNS_record; +} + +/** + @brief function for get first time NTP sync status + @param none + @return bool - value +*/ +bool WiFiMngt::GetNtpFirstTimeSync() { + return NtpFirstSync; +} + +/** + * @brief get first connection status + * + * @return bool - status + */ +bool WiFiMngt::GetFirstConnection() { + return FirstConnected; +} + +/** + @brief function for set STA credentials + @param String - ssid + @param String - password + @return none +*/ +void WiFiMngt::SetStaCredentials(String i_ssid, String i_pass) { + WifiSsid = i_ssid; + config->SaveWifiSsid(WifiSsid); + + WifiPassword = i_pass; + config->SaveWifiPassword(WifiPassword); + + config->SaveWifiCfgFlag(CFG_WIFI_SETTINGS_SAVED); +} + +/** + @brief function for set STA SSID + @param String - STA SSID name + @return none +*/ +void WiFiMngt::SetStaSsid(String i_ssid) { + WifiSsid = i_ssid; + config->SaveWifiSsid(WifiSsid); +} + +/** + @brief function for set STA password + @param String - STA password + @return none +*/ +void WiFiMngt::SetStaPassword(String i_pass) { + WifiPassword = i_pass; + config->SaveWifiPassword(WifiPassword); +} + +/** + @brief function for connect to STA + @param none + @return none +*/ +void WiFiMngt::ConnectToSta() { + config->SaveWifiCfgFlag(CFG_WIFI_SETTINGS_SAVED); +} + +/** + @brief function for get active wifi configuration flag + @param none + @return bool - value +*/ +bool WiFiMngt::GetkActifeWifiCfgFlag() { + return config->CheckActifeWifiCfgFlag(); +} + +/** + @brief function for set mDNS record + @param String - mDNS record + @return none +*/ +void WiFiMngt::SetMdns(String i_data) { + mDNS_record = i_data; + config->SaveMdnsRecord(mDNS_record); +} + +/** + @brief function for set first connection flag + @param bool - data + @return none +*/ +void WiFiMngt::SetFirstConnection(bool i_data) { + FirstConnected = i_data; +} + +/* ----------------------- Static function ----------------------- */ + +/** + @brief CB function event about scan wifi networks done + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none +*/ +void WiFiMngt_WiFiEventScanDone(WiFiEvent_t event, WiFiEventInfo_t info) { + SystemLog.AddEvent(LogLevel_Info, "WiFi networks scan done"); +} + +/** + @brief CB function for event start station + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none +*/ +void WiFiMngt_WiFiEventStationStart(WiFiEvent_t event, WiFiEventInfo_t info) { + SystemLog.AddEvent(LogLevel_Info, "WiFi STA start"); +} + +/** + @brief CB function for event stop station + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none +*/ +void WiFiMngt_WiFiEventStationStop(WiFiEvent_t event, WiFiEventInfo_t info) { + SystemLog.AddEvent(LogLevel_Info, "WiFi STA stop"); +} + +/** + @brief CB function for event got information about check station connected + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none +*/ +void WiFiMngt_WiFiEventStationConnected(WiFiEvent_t event, WiFiEventInfo_t info) { + SystemLog.AddEvent(LogLevel_Info, "WiFi connected to STA"); +} + +/** + @brief CB function for got IP after connecting to wifi network + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none +*/ +void WiFiMngt_WiFiEventGotIP(WiFiEvent_t event, WiFiEventInfo_t info) { + system_led.setTimer(STATUS_LED_STA_CONNECTED); + SystemLog.AddEvent(LogLevel_Info, "WiFi Got IP address: " + WiFi.localIP().toString()); + SystemLog.AddEvent(LogLevel_Info, "WiFi Got mask: " + WiFi.subnetMask().toString()); + SystemLog.AddEvent(LogLevel_Info, "WiFi Got gateway: " + WiFi.gatewayIP().toString()); + SystemLog.AddEvent(LogLevel_Info, "WiFi Got DNS 1: " + WiFi.dnsIP(0).toString()); + SystemLog.AddEvent(LogLevel_Info, "WiFi Got DNS 2: " + WiFi.dnsIP(1).toString()); + SystemWifiMngt.SetFirstConnection(true); + + /* update device information */ + Connect.UpdateDeviceInformation(); + + /* check first NTP time sync after boot */ + if (false == SystemWifiMngt.GetNtpFirstTimeSync()) { + SystemWifiMngt.SyncNtpTime(); + } +} + +/** + @brief CB function for lost IP after connecting to wifi network + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none +*/ +void WiFiMngt_WiFiEventLostIP(WiFiEvent_t event, WiFiEventInfo_t info) { + SystemLog.AddEvent(LogLevel_Info, "WiFi lost IP address"); +} + +/** + @brief CB function for got information about disconnecting from wifi network + + REASON_UNSPECIFIED = 1, + REASON_AUTH_EXPIRE = 2, + REASON_AUTH_LEAVE = 3, + REASON_ASSOC_EXPIRE = 4, + REASON_ASSOC_TOOMANY = 5, + REASON_NOT_AUTHED = 6, + REASON_NOT_ASSOCED = 7, + REASON_ASSOC_LEAVE = 8, + REASON_ASSOC_NOT_AUTHED = 9, + REASON_DISASSOC_PWRCAP_BAD = 10, + REASON_DISASSOC_SUPCHAN_BAD = 11, + REASON_IE_INVALID = 13, + REASON_MIC_FAILURE = 14, + REASON_4WAY_HANDSHAKE_TIMEOUT = 15, + REASON_GROUP_KEY_UPDATE_TIMEOUT = 16, + REASON_IE_IN_4WAY_DIFFERS = 17, + REASON_GROUP_CIPHER_INVALID = 18, + REASON_PAIRWISE_CIPHER_INVALID = 19, + REASON_AKMP_INVALID = 20, + REASON_UNSUPP_RSN_IE_VERSION = 21, + REASON_INVALID_RSN_IE_CAP = 22, + REASON_802_1X_AUTH_FAILED = 23, + REASON_CIPHER_SUITE_REJECTED = 24, + REASON_BEACON_TIMEOUT = 200, + REASON_NO_AP_FOUND = 201, + REASON_AUTH_FAIL = 202, + REASON_ASSOC_FAIL = 203, + REASON_HANDSHAKE_TIMEOUT = 204, + + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none + @note https://github.com/espressif/arduino-esp32/blob/04963009eedfbc1e0ea2e1378ae69e7cebda6fd6/tools/sdk/include/esp32/esp_event_legacy.h +*/ +void WiFiMngt_WiFiEventStationDisconnected(WiFiEvent_t event, WiFiEventInfo_t info) { + SystemLog.AddEvent(LogLevel_Warning, String("WiFi disconnected from access point. Reason: ") + String(info.wifi_sta_disconnected.reason)); + system_led.setTimer(STATUS_LED_ERROR); +} + +/** + @brief CB function for start AP + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none +*/ +void WiFiMngt_WiFiEventApStart(WiFiEvent_t event, WiFiEventInfo_t info) { + SystemLog.AddEvent(LogLevel_Info, "WiFi AP start"); +} + +/** + @brief CB function for stop AP + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none +*/ +void WiFiMngt_WiFiEventApStop(WiFiEvent_t event, WiFiEventInfo_t info) { + SystemLog.AddEvent(LogLevel_Info, "WiFi AP stop"); +} + +/** + @brief CB function for AP STA connected + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none +*/ +void WiFiMngt_WiFiEventApStaConnected(WiFiEvent_t event, WiFiEventInfo_t info) { + uint8_t mac[6] = { 0 }; + char msg[100] = { '\0' }; + memcpy(mac, info.wifi_ap_staconnected.mac, 6); + sprintf(msg, "WiFi AP STA. station connected to AP, MAC: %02x:%02x:%02x:%02x:%02x:%02x", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); + SystemLog.AddEvent(LogLevel_Info, msg); +} + +/** + @brief CB function for AP STA disconnected + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none +*/ +void WiFiMngt_WiFiEventApStaDisconnected(WiFiEvent_t event, WiFiEventInfo_t info) { + uint8_t mac[6] = { 0 }; + char msg[100] = { '\0' }; + memcpy(mac, info.wifi_ap_stadisconnected.mac, 6); + // String(info.wifi_ap_stadisconnected.reason) + sprintf(msg, "WiFi AP STA. station dicconnected from AP, MAC: %02x:%02x:%02x:%02x:%02x:%02x", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); + SystemLog.AddEvent(LogLevel_Info, msg); +} + +/** + @brief CB function for AP STA IP assigned + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none +*/ +void WiFiMngt_WiFiEventApStaIpAssigned(WiFiEvent_t event, WiFiEventInfo_t info) { + IPAddress stationIP = info.wifi_ap_staipassigned.ip.addr; + SystemLog.AddEvent(LogLevel_Info, "WiFi AP STA. IP assigned to connected station. IP: " + stationIP.toString()); +} + +/** + @brief CB function for AP STA probe request received + @param WiFiEvent_t + @param WiFiEventInfo_t + @return none +*/ +void WiFiMngt_WiFiEventApStaProbeReqRecved(WiFiEvent_t event, WiFiEventInfo_t info) { + SystemLog.AddEvent(LogLevel_Info, "WiFi AP STA receive probe request packet in soft-AP interface"); +} + +/* EOF */ \ No newline at end of file diff --git a/ESP32_PrusaConnectCam/wifi_mngt.h b/ESP32_PrusaConnectCam/wifi_mngt.h new file mode 100644 index 0000000..c5136e7 --- /dev/null +++ b/ESP32_PrusaConnectCam/wifi_mngt.h @@ -0,0 +1,123 @@ +/** + @file wifi_mngt.h + + @brief + + @author Miroslav Pivovarsky + Contact: miroslav.pivovarsky@gmail.com + + @bug: no know bug +*/ + +#ifndef _WIFI_MNGT_H_ +#define _WIFI_MNGT_H_ + +#include +#include "Arduino.h" +#include +#include +#include +#include "esp32-hal-cpu.h" + +#include "mcu_cfg.h" +#include "var.h" +#include "log.h" +#include "system.h" +#include "camera.h" +#include "sys_led.h" + +/* https://github.com/espressif/arduino-esp32/blob/51cb927712e512664a0a0f7b1219fdc18e11b857/libraries/WiFi/src/WiFiGeneric.h#L52 */ +/* https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/network/esp_wifi.html#_CPPv429wifi_event_sta_disconnected_t */ +void WiFiMngt_WiFiEventScanDone(WiFiEvent_t, WiFiEventInfo_t); +void WiFiMngt_WiFiEventStationStart(WiFiEvent_t, WiFiEventInfo_t); +void WiFiMngt_WiFiEventStationStop(WiFiEvent_t, WiFiEventInfo_t); +void WiFiMngt_WiFiEventStationConnected(WiFiEvent_t, WiFiEventInfo_t); +void WiFiMngt_WiFiEventStationDisconnected(WiFiEvent_t, WiFiEventInfo_t); +void WiFiMngt_WiFiEventGotIP(WiFiEvent_t, WiFiEventInfo_t); +void WiFiMngt_WiFiEventLostIP(WiFiEvent_t, WiFiEventInfo_t); +void WiFiMngt_WiFiEventApStart(WiFiEvent_t , WiFiEventInfo_t); +void WiFiMngt_WiFiEventApStop(WiFiEvent_t , WiFiEventInfo_t); +void WiFiMngt_WiFiEventApStaConnected(WiFiEvent_t , WiFiEventInfo_t); +void WiFiMngt_WiFiEventApStaDisconnected(WiFiEvent_t , WiFiEventInfo_t); +void WiFiMngt_WiFiEventApStaIpAssigned(WiFiEvent_t , WiFiEventInfo_t); +void WiFiMngt_WiFiEventApStaProbeReqRecved(WiFiEvent_t , WiFiEventInfo_t); + +class WiFiMngt { +private: + String WifiSsid; ///< WI-FI SSID + String WifiPassword; ///< WI-FI password + bool ServiceMode; ///< flag for enable service AP mode after MCU start during STA_AP_MODE_TIMEOUT ms + String WiFiMode; ///< Wi-Fi mode (AP, STA, STA_AP) + String SericeApSsid; ///< Service AP SSID + bool FirstConnected; ///< flag about first connecting to WiFi network status + bool NtpFirstSync; ///< flag about first NTP sync status + + uint8_t WiFiStaNetworkBssid[6]; ///< BSSID of the network + + bool WiFiStaMultipleNetwork; ///< flag about multiple STA networks + bool StartStaWdg; ///< flag about start STA watchdog + + IPAddress Service_LocalIp; ///< Service IP when si module in the AP mode + IPAddress Service_Gateway; ///< Service gateway when si module in the AP mode + IPAddress Service_Subnet; ///< Service mask when si module in the AP mode + IPAddress Service_Dns; ///< Service DNS when is module in the AP mode + + unsigned long TaskAp_previousMillis; ///< previous time for task AP + unsigned long TaskWdg_previousMillis; ///< previous time for task STA watchdog + + String mDNS_record; ///< mDNS record + String WifiScanJson; ///< global variable with wifi networks + + Configuration *config; ///< pointer to configuration class + Logs *log; ///< pointer to log class + Camera *cam; ///< pointer to camera class + +public: + WiFiMngt(Configuration*, Logs*, Camera*); + ~WiFiMngt() {}; + + void LoadCfgFromEeprom(); + void Init(); + void WifiManagement(); + void WiFiReconnect(); + void SetWifiEvents(); + void WiFiStaConnect(); + void SyncNtpTime(); + + void ScanWiFiNetwork(); + uint8_t ScanWifiNetwork(String); + bool CheckAvailableWifiNetwork(String); + int Rssi2Percent(int); + String TranslateTxPower(wifi_power_t); + String TranslateWiFiStatus(wl_status_t); + String TranslateWiFiEncrypion(wifi_auth_mode_t ); + void CreateApSsid(); + void WiFiWatchdog(); + + String GetServiceApSsid(); + String GetStaSsid(); + String GetStaBssid(); + String GetStaPassword(); + String GetStaStatus(); + String GetStaIp(); + String GetAvailableWifiNetworks(); + String GetWiFiMode(); + String GetWifiMac(); + String GetMdns(); + bool GetkActifeWifiCfgFlag(); + bool GetNtpFirstTimeSync(); + bool GetFirstConnection(); + + void SetStaCredentials(String, String); + void SetStaSsid(String); + void SetStaPassword(String); + void ConnectToSta(); + void SetMdns(String); + void SetFirstConnection(bool); +}; + +extern WiFiMngt SystemWifiMngt; ///< global variable for wifi management + +#endif + +/* EOF */ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0027ee6 --- /dev/null +++ b/README.md @@ -0,0 +1,255 @@ +# PrusaConnect ESP32-CAM + +This repository includes source code and firmware releases for the ESP32-cam module programmed in the Arduino IDE + +This project uses other libraries. It is necessary to install them in the arduino IDE. +- App [Arduino IDE 2.3.2](https://www.arduino.cc/en/software) +- MCU support [ESP32 2.0.15](https://github.com/espressif/arduino-esp32) +- Library [ESPAsyncWebSrv 1.2.7](https://github.com/dvarrel/ESPAsyncWebSrv) +- Library [AsyncTCP 1.1.4](https://github.com/dvarrel/AsyncTCP) +- Library [ArduinoJson 7.0.4](https://github.com/bblanchon/ArduinoJson) +- Library [UniqueID 1.3.0](https://github.com/ricaun/ArduinoUniqueID) + +What we need for functionality +- ESP32-CAM AI-thinker board with OV2640 camera module [ here ](#esp32) +- Module board version [here](#different_mcu) +- Install the necessary libraries in the Arduino IDE [ here ](#arduino_lib) +- Arduino IDE configuration [ here ](#arduino_cfg) +- How to flash firmware to ESP32-cam and connect to PrusaConnect [ here ](https://help.prusa3d.com/preview/guide/esp32-cam-for-prusa-connect_673528) +- How to flash binnary files to ESP32-cam board from Linux/MAC/Windows [ here ](#flash_fw) +- How to reset configuration to factory settings [here](#factory_cfg) +- Status LED [ here ](#status_led) +- Schematic main board is [here](#schematic) +- Issue with FLASH LED on the main board [here](#led_issue) +- External WiFi antena [here](#ext_wifi) +- Power supply [here](#power_supply) +- Debug logs [here](#logs) +- Serial console configuration [here](#serial_cfg) + + +## ESP32-CAM AI-thinker board +It's a few dolars board with **ESP32** MCU and Camera. It's neccesary to buy a board with **camera module OV2640**. The board is sold without a programmer by default. It is possible to program it using the FTDI USB to UART converter, or purchase an official programmer for the board. We recommend purchasing a official programmer. It can save a lot of trouble with connecting and programming the board. There are currently [2 different board version](#different_mcu) but only one is compatible with the official programmer. + + + +In the next picture we can see **ESP32-CAM** board and programator for board. + + + +It's neccesary use a camera version **OV2640**. If using a different camera, then it may be necessary to modify the camera's pinout, or some camera settings may not work correctly. We recommend using a camera module with a viewing angle of 120° or 160°. + +These are currently known or tested camera modules: + +| Camera chip | FOV | Resolution | Tested | Works | Description | +|-------------|------|------------|--------|-------|------------------------------------------| +| OV2640 | 30° | 2MP | No | N/A | | +| OV2640 | 44° | 2MP | No | N/A | | +| OV2640 | 66° | 2MP | Yes | Yes | Recomended. Standard camera module | +| OV2640 | 120° | 2MP | Yes | Yes | Recomended | +| OV2640 | 160° | 2MP | Yes | Yes | Recomended | +| OV2640 | 200° | 2MP | No | N/A | | +| OV2640 | 222° | 2MP | No | N/A | | +| OV2640IR | 160° | 2MP | Yes | Yes | | +| OV8225N | 66° | 2MP | Yes | Yes | | +| OV3360 | 66° | 3MP | Yes | Yes | | +| OV5640-AF | 72° | 5MP | Yes | Yes | Overheating, slow photo loading | + + +## Different MCU version +There are currently 2 versions of the board, but only one version is possible programming via CH340. The blue rectangle shows the differences between the HW versions. + + + +The red arrow points to a pin that differs between these boards. In version 1, this pin is used for MCU RESET (GND/R). In version 2, this pin serves as ground (GND). Version 1 can be programmed via CH340, whereas version 2 cannot be programmed via CH340. For version 2, we tested programming via FT232RL or CP2102, and the programming process worked successfully. + + +## Necessary libraries in the Arduino IDE + +Software compilation was done in Arduino IDE 2.3.2. To ensure proper functionality, it is necessary to install support for ESP32 boards into Arduino IDE, as well as several other libraries + +At the first step we need to install support for **ESP32 board**. + +**File** -> **Preferences** -> **Additional boards managers URLs** + + ``` + https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json + ``` + +then go to **Tools** -> **Board** -> **Boards Manager...** and install module **ESP32** by **Espressif Systems**, version **2.0.15** + +Next step is to install the necessary libraries. Go to **Sketch** -> **Include Library** -> **Manage Libraries...** or you can use **Ctrl+Shift+I**. Then you can search for the necessary libraries and install them. + +- Library [ESPAsyncWebSrv by dvarrel 1.2.7](https://github.com/dvarrel/ESPAsyncWebSrv) +- Library [AsyncTCP by dvarrel 1.1.4](https://github.com/dvarrel/AsyncTCP) +- Library [ArduinoJson by bblanchon 7.0.4](https://github.com/bblanchon/ArduinoJson) +- Library [UniqueID by Luiz Henrique Cassettari1.3.0](https://github.com/ricaun/ArduinoUniqueID) + + +## Arduino IDE configuration + +Board configuration in the arduino IDE 2.3.2 +- Tools -> Board -> ESP32 Arduino -> AI Thinker ESP32 +- Tools -> Flash frequency -> 80MHz +- Tools -> Core Debug Level -> None +- Tools -> Erase all Flash Before Sketch Upload -> Disable **(first flash, new board = enable. otherwise = disable)** +- Tools -> Flash Mode -> DIO +- Tools -> Partition scheme -> Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) + +When flashing the firmware to a new, empty ESP32-CAM device for the first time, it is necessary to use the 'Erase' function. + +This can be found under **Tools** -> **Erase all Flash Before Sketch Upload** -> **Enable**. + +After the initial firmware upload to the MCU, it's necessary to disable this option. If you do not disable this option, your camera configuration will continue to be erased from the flash memory after uploading new firmware from the Arduino IDE. + + +## How to flash binnary files to ESP32-cam board from Linux/MAC/Windows + +To upload the firmware on the MAC or Linux platform, you must use the console. First, ensure you have installed esptool for Python. You can find it on the manufacturer's website, ESPRESSIF, [here](https://docs.espressif.com/projects/esp-at/en/latest/esp32/Get_Started/Downloading_guide.html). + +And command for FLASH FW is here, where **/dev/ttya0** is your serial interface for communication with the ESP32-cam board. +``` +python3 -m esptool -p /dev/ttya0 -b 460800 --before default_reset --after hard_reset --chip +esp32 write_flash --erase-all --flash_mode dio --flash_size 4MB --flash_freq 80m 0x1000 +ESP32_PrusaConnectCam_web.ino.bootloader.bin 0x8000 +ESP32_PrusaConnectCam_web.ino.partitions.bin 0x10000 ESP32_PrusaConnectCam_web.ino.bin +``` + +Here is the partitions table: + +| Name | Type | SubType | Offset | Size | Flags | +|---------|---------|---------|----------|----------|-------| +| nvs | data | nvs | 0x9000 | 0x5000 | | +| otadata | data | ota | 0xe000 | 0x2000 | | +| app0 | app | ota_0 | 0x10000 | 0x1E0000 | | +| app1 | app | ota_1 | 0x1F0000 | 0x1E0000 | | +| spiffs | data | spiffs | 0x3D0000 | 0x20000 | | +| coredump| data | coredump| 0x3F0000 | 0x10000 | | + +However, for uploading the firmware, it's important to use this configuration of addresses and files: + +- address **0x1000** - **ESP32_PrusaConnectCam.ino.bootloader.bin** +- address **0x8000** - **ESP32_PrusaConnectCam.ino.partitions.bin** +- address **0x10000** - **ESP32_PrusaConnectCam.ino.bin** + +Here is tool and configuration for [windows platform](https://www.espressif.com/en/support/download/other-tools) + + + +It's necessary to erase the FLASH using the **ERASE** button before the first firmware flash. + + + + +## How to reset configuration to factory settings +To reset the settings to factory defaults, follow these instructions: + + + +- Connect PIN **IO12** to **ground**. +- **Plug in** the power supply. +- Wait for **10 seconds**. +- After 10 seconds, the **FLASH LED will start flashing**. +- **Disconnect** PIN **IO12** from **ground** (but do't disconnect the power supply). +- After disconnecting **IO12** from **ground**, the **FLASH LED** will **stop flashing**, and the MCU will **automatically rebooted**. +- Now the MCU is in the factory settings. + + +## Status LED + +On the board, there is a status LED that provides a visual indicator of the module's current status +through blinking at defined intervals. + + + +Upon module activation, the LED illuminates. After processor initialization, the LED exhibits different blinking intervals based on the current mode of the module + +- **Just service AP Mode:** The LED blinks every **400 ms**, indicating the module's availability in service AP mode. +- **Connecting to WiFi AP:** While connecting to a WiFi Access Point, the LED blinks at intervals of **800 ms**. +- **Connected to WiFi Network:** Upon successful connection to a WiFi network, the LED blinks at intervals of **4000 ms**, signaling a stable connection. +- **Problematic State:** If an issue or error occurs, the LED accelerates its blinking to every **100 ms**. + + +## Schematic for ESP32-cam board + + + +Parts description + + + +Pinout + + + + +## FLASH LED issue +The board has a problem with the FLASH LED, as it lacks any current limitation for the LED. Consequently, frequent use of the FLASH LED can lead to corruption, due to excessive current flow. + +One simple solution is to connect an external LED via a relay, transistor, or MOSFET to the board, as shown in the next picture. Using a relay is not ideal, but it provides a simple solution. + + + +Another solution is to use a LED COB or a USB LED lamp. I utilized a board from a simple USB LED lamp. The transistor has a current limitation of 500mA, and my USB lamp has a current consumption of 180mA. The original LED has a current consumption of 60-80mA, and the USB lamp has a current consumption of approximately 180mA. After calculation, the total current consumption is approximately 260mA, which falls within the current limitation of the transistor. Therefore, it is possible to solder the negative wire from the COB LED or the USB LED lamp to the transistor. The positive wire needs to be soldered to +5V. + +This is my USB LED lamp + + + +The next step is to solder the negative wire from the LED lamp to the transistor collector, and the positive wire from the LED lamp to the +5V on the board. + + + +The third option is to solder a resistor between the collector of the transistor and the PCB. I used a 10-ohm resistor in a 0603 package. This option is more complicated for users with limited soldering experience. + + + + +## External/internal WiFi antenna + +The standard ESP32-CAM board utilizes an internal antenna on the PCB. However, this antenna can sometimes cause issues with the quality of the WiFi signal, leading to slow photo uploads to PrusaConnect or connectivity problems. Fortunately, there is an option to connect an external antenna. This requires changing the resistor position, as shown in the picture below. Then, you can use a 2.4GHz Wi-Fi cable with a U.FL to RP-SMA connector and a standard 2.4GHz WiFi antenna + + + + +## Power Supply + +The device requires a 5V power supply, with a maximum current consumption of 2A. When using the original programmer, power is supplied via a micro USB connector. + + +## Debug logs + +It is possible to save debug logs to a microSD card, but the card must be formatted to FAT32. Currently, the maximum tested capacity for a microSD card is 16GB. If a microSD card is inserted into the camera, it is necessary to reboot the camera. When a microSD card is inserted into the camera before boot, logging to the microSD card is automatically enabled. If no microSD card is inserted, the saving of debug logs to the microSD card is automatically disabled. Enabling the saving of debug logs to a microSD card is only possible during camera boot, so it is necessary to restart the camera after inserting the microSD card. Debug logs are saved as plain text in the file Syslog.log + + +## Serial console configuration + +Currently is possible set the basicaly camera configuration during serial console. Baud speed for communication with MCU is **115200 8N1** + +Commands for configuration have simple syntax + +| command | separator | variable | termination | line terminator | +|--------------|-----------|-----------|-------------|-----------------| +| setwifissid | : | SSID | ; | \n | + +Currently available commands are listed in the table below: + +| Command | Description | +|-------------------|---------------------------------------------------------------------| +| setwifissid | Setting WiFi SSID, where variable SSID is network name | +| setwifipass | Setting WiFi password, where variable PASSWORD is WiFi password | +| wificonnect | Connecting to WiFi network | +| mcureboot | Rebooting the MCU | +| commandslist | Listing currently supported commands via serial console | +| getwifimode | Print currently WiFi mode. STA/AP/AP+STA | +| getwifistastatus | Print WiFi STA status. Connected/Disconnected/Connecting.... | +| getwifistaip | Print IP address for WiFi STA | +| getserviceapssid | Print service AP SSID name | +| setauthtoken: | Set authentication token for Prusa Connect | + +Standard commands sequence for camera basic settings is + +- setwifissid:SSID; +- setwifipass:PASSWORD; +- wificonnect; +- setauthtoken:TOKEN; +- mcureboot; diff --git a/doc/ESP32-CAM-AI-Thinker-schematic-diagram.png b/doc/ESP32-CAM-AI-Thinker-schematic-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..1bac44c765cdfc1a133e6d2c9021b5e8c963e97b GIT binary patch literal 204116 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∓(YNCrr8-fF#t4Tkv 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
=*>sH3>6& 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%0A0_Ch`bVD74aW4mu%$>{gVYIN*y)psXw1_ z!b5B=fNt8^UR+>xI5++Z(4z!cv>21>8i2l~ObFY%NK>CJP|tdy5)cXI)CMmd_}VeW zUNXTYY;|s+Vp@jJt;qFl0dA3qqA#KC|? z$eDd|d4ZLiU}5{9?e5|3kDG@JR0PKWIay&E04K}44p?9+D(`7?=D`$Awu{Zt2?+gF{xB<`q4+*G{kZ~%rczpp@@+WAmrBknc;-JI{&E&6!SBerwjuO7301EPeLiD4d9?^k}O#|4JF|8%QddVdey@}7Iza4vO&id#?3bj_1Cct;eTeCcc62UM#A zZ`j`=TC?6h!$13M0${}xD8ESO*#sS_{+So>&l7nVzYbz3ZJqOU3x^$6jl`*8F%1~iOTwm{QnQ!_TF!<4DXg= z!nQI>QpJ3kf1sS9KR%OwJ}IcXj|GQpG^^5HNj&mGAk5%ExnZTaGUA76WZp@7amneq ziuFJ5tE=_#Odz)6e?_YL^g0&b9V<>XdnvF`Yq-D9ik7d%ifhzz z**DlTYkY67e)qS5qB=NmS&*sH(_-WCEU^S!`yTKk7^CuPhF4Xnni-nI_vMO_z2R~` zvh<0O4r@YQB(21>Yk}W$kP=(lPS;V}gEs}kN>og7$b1+m}_s$*C;`<0hV;iemp(veUY*W`UO53t5+0NCHCHvY?%zMkee zDk%ZSJQKsDOX3CmWBu~{M%VC00=bRMJ)8>f_*lJ2Ujby@R7be7rG&rID!!9^Hj>O4 z2o-GG8%q=C_O52HjTq!il1}9CMTq7a&C<*J=P~2=(IUwbuIm2d8y8@Slw8zAgJ(O< zAl40*s$Ra{asQ2}wRd1(3JYq+F{0sk_BgAyMinqsWUtj)z<&%Ha6KY*QqV8(f~#tx8& zNKVHCuq>)zL{Z|CVL3!M<;y`{SWmz^V|LA?*t}z&tn)sX9+9ATY@h!I=J?R^Bg_QY z$=2)md)f#Ej=&JR4qMRqyjed0<}SgYEsc6@XTf1?mC)_+6;SZ_;S|_`su}@r-e*f} z7Rr!LnaLUdt1_C2Gbb z{i#rOZ#$C0{%w4~B^xn<8jo<@5EU*~+ypR9^A_y1IPIxiw=D#CkKkq;KzVX{_2C|k zPOIW$sYNU>G_XWAprVN3!9JWdDa0DY6MH<|MpHK~<+ipo`ROFN355NKY@afU(NEbk zWOt;v@e&p{98q*WtnyzDo}0Rvk00^&>>&iLAI;60T{Cnzzy6zp1aEQ4bS0@p0KTd~ zoZB~pzfmD~@6B_mnD-FW`v3Ww9;MCCqX)|PFaZcwAJNKtY6T40 zvWzKr%oZ+^#lDlt2(xGU4A>~vQ~6}sF7!|)B#cZe(O^()l;9OVRQx}XVw#(e&FB!l zzgt41vZ3w=02Sm##Xkn~75LWVke)eQSjlrUej`_rduk}ztoFPA2xQsFgmmsCCktVv z7lHRYv+BN8_PWSqUVoi-Ib0cM=jK+Om=rrhf41A6BlWr{tVh$qIzIhBW(&A56BogW zfE@41m{ET5Bs-L&?TkvUU3ctj?SLZ8ZJ9~4%RCKFV+Nha_f1D7=5WE8#)CZaI4UknT?RA`iM&{DQ(IDKRjoEUX7%vTu!gcb#21t33;l zJ{Bk!X9Alg_AP;|#vZ%Yk&n#d3sxY8E3#h(k>4R<6DQ5`7fx*6ZL-pi9XPP^1AZ1F zmFj03?9g&D`P&L_y_pJuB9($%`Lv+iuqKrT_5&LwZNI8L6nsD(9Ed-hkXb4jFvJP_ zUxdANSXEsYJ*ooI-7O$Ur*w%RC?H+Z4bn)rfN&5FAktD&(k0!^Arz#MZlt^Gu7mIU z{l4$s``o+#I*%Uq*?aA^*P3(8F~{(MC%G=n@}Qt);44O%t?lE58+?AgVIPKbM>XVA zUSNiT!Yf5S>0R#`mmb=4BFxsn=lmTxN89|+%O3%E!! zi*pWTT5Nchf%i>Z-nSN;Kg`QLr#v{--l9X{9Dg<{iCeYaJEyDX#rhWVXX>gr;urRZdmn1Ag zX`zVUAl@s4w722~^SPI@x6ICjdGP5RP%RrTiQT0>RHpg!p(&-H9O2vRlz{wqfZrA^ zk9d~XGk#(QC@T4R_yo<>lQ}Olws9_$^4YUpQ(9rd#jR!bw{plQ4R^7N1Xv~G>%I^N z>~RFQSp~C<1nZO5sqXnK(omo>wvC!PA?}3a>7C2wHFka_HXO=P4D)vCV;e$xmWJiB zmgYNW$;sd;2C#-+V$a14g`=2>rcnY-6|$;r`NgZ%8ONl>^XhRor{<^#<-2w7IX1|(owLI)s(iexUqgJbyE@xvRyFE%VSbcC{v1`m$%q8PoaLTu25IyI3zcx zAc7Y*n{yM6c@1f|us7Z=wF@lX7Uz+ z<7FaR`nPq+FuMRD!+qg=ZTY+x1jS?lgF1iQ)>$**8bt<^*YzYti;!SE6E&L^i$7x`{k}9PKP`k2Vi*S9SnyMjF z^=T&gRQw=sTRfu3)7CucV5rr0%6{`lWk$l&Lw2KT^>?;9)LW1uCIIMf!?btnYwu`<%o$|xmv`)B^YYw6_>k28Wy5Fi5FNXpGjnl-_Zop3*+`4 zZA{8@)-V2z;dte)@m<1olienDcxr2i1ieH*u|Z_5Oc7I}rjD|xOzy&=U_*Jx-g*6A zQ*DB&URYq-c84>J;A~qoGM9pl`}txi|06lyt^Xr^w0Y&90VazBvyymE)0w0Ms2(yX zCO;|>OH9pgD%g*S;RW>nBhZsT|tIL-eV}EJ-qJd)pxBi^(jZo-8g66+)=2NI~hk5ne>0pj2E++6{25b!9Za z4B(PLG)UA`d)YK{M2#-B%ZdAmX_OZ(AO#|FaNQtXY;5r-HK4VeA^V$|^aYgRAwRjY zo%kq3JdvHcQ?r(65)$Qg3l{L5N7RX}M!8l>#UL|Eoi&jUYs8o5YE`F(o)7#ERVMP- zORkZjhSDR>69UDie?^aW0Ob*0R0EJ6SZhMS(#i1^1emo#ihql3-wg{#`tWakZv^_u zF%#KbTsoVjlcn;#2SIA=8Gzv}esxJj28~_(p2s#j{V9Bdnb!uUZS*4MVSW$M*?ATa z&Gt}x3DmM@Zyp0=7LFl<1CGLkw`!rUk@Q8jLtzw#spbi~&4@XE(}9Ea9WUx?2EfVR zhpJueT|uevps|lwx{2E#dbXS!|LoWaLe=6LCbpyUKeKy9alq^xVqhP*CMFW#!ZN+r zF^s&B784$Q=(-d^9Jy#J>)7Z6xN)yRLI4gpdcY5$3h?@1eEDQ}b^NZgYK4X+t(5C5iwpu3Uqm~CI zMxy_FT43V0QY&y2Mt^fUB0BEv% z4zH`VJp0&ydK)XRguZUY;y(NddUF3wdJAnq72-4|=&VwF33|@{VVldi2~}o1Y#3`Tbt*$4W^*zHkS`**F~-cvL2^yZ#k=O(r%^fh_SLCgXv4V0Uvk( zBb3DW+hzg57 zX`N`?gjW>F?PW&p_i|8m)T)Q!*7V#bO{7;z#G)r%e>W3O34QChqV~AZ4XM4C4VAP` zg`lgeeNY5LX2~k}Yuw5LREKdZg>HetQ83}1tweYRYqAJVpCyVs%)UTc!H?>WFAhhammwLq6Xr$+2j<=<8W*np|vqw|gH z<19adUVD-NwsNK?~gKeHn@iJ5lzol^!#G@5r)HZ;CIqnAbU7 zFVhyd)w&Q(TD$r#_6i;onp4*s9>4W@sgX$Wku>^2loGpWe2?7z2wd^nQFOB4Z@}2WrahLw=;MF#dD*<e~fa#9W5^upp`!Y_}Zw4i5_Qg zk01{;69+tan>6I(wSQEh6(dVry}DGm_j{7DW8{cg)y6`ANLhw4v_1Q0x#8)r+ft{I zQxxGu+IT0%?5sa{zP{#9d_~;vuO=Bsv7a_Dzv$)D5!rjgDr+?rcbCK0v2MAKqlNW{ z&bnRHZ8U(w>s0I`hhlnjieJpW#g(Wz`?DdLD8r;Dd0BVcL6!vPH)-G0CgL}>a}pT0 zvlmx9Rt59wFNX?P>WwNN+5y1_V!BT)=+#`}o(DWZ5#@Y8TUm`3)zwcu@LA z4GJ}Kq?f{E_!k$rp5V~yoy7^%XWV943NAB?JEBB3x}uSqSv^MVYFV_<5xFYlk67Uy zQfTUCuu9uFiVjH@C#t{1{IDHw?a0Nh$vmF^ltZW3g7aI>zUX_ITcgMsrr?FJe?e6; z4BO&RAftEFul3fIAPu9s9Zx(nR-EO)kavyK8!c9B{0VO94+?~?Go#H1no##XVt?KR zcfD{#lSL9R`y|q)=1SHT#jNI&djC3g1n4 zpyhHm-QR-dG_%A63s$TGvFQLmvCS}^Iu+Ax;Rt%ZL9NR%B8)d*pek-|N4Jkv{EWP9 z#HoC5F-9scfBi$t<{ys8E#h|EDH1ncxeac&Ze>O+GAO7v7i%D@?FG;yDt$<`ctmYx z^+KLKN3SGv=bF=8*0H5pao({uLwQOB3&r;3X(p{B zDDRKYPGx^ZbH87ac%R2%=i@7aR7hd|yYu~mD%Y-VGZ&8Uy!|qz6U|w_U8QWJBb{$m zFM?<`7@uAA;GFXXmT?n2L^Mi~sXB7*TuOpfnG{Ffl^DZ6kX4$JJq9)>AxIo7BROJ*4fcP`<%gm~+snsPFf-2CxIENNN{Z=qP{ zc`}22;fQ>5W?*3>8Vl(SeL$hJ{9dz*DmZUNaN-Tb==Qg_n%v5)c>R)QPS`~KB8n@- zI$h9_f)3fPGfa||)A^TzcY``ctIb($aX+-Z1RuM7MTYp!A?>>PzJ^e{*Z7`1Px@;wFVmfaZT%s0(|JB#_GIvJ-6Hoe3+84WdHZHL?0_OUYn**A;G2TaKXSVH zsOR}kpN*Oq8RK*w)8_Qdmk}jk?L4TEo{+XGeon^vHE& zLmkFgYg*17{U-wX$J@+-SW6#UVUDww>a}s*FYzT=3ikITM^Uhgro0NDfJ*W?UxQdI z6K=vmw*sq>SweFCe~JyC+vRx!^x7P0w`k)crz3ugy_R3pOF&KA{mEsiZ1s9K)40Z0 z_fYK934ZC~y|FY)4-%$fftKyr!H|59?fgLBmWWolPb`hD|EObBG~-$7=Cn=;5o<;# zI~acy?4RQJ;B!kOKsxghMf3ly6RV4{CO_h7Ybvt&qdeE9TpQhrcb_H+Xx@(96L_;M zdnp+B5`tgZYTIu6L3i294?T>S=urWAKcS}Y!lUP!tWqr-ynDQdpZkP_NmyiGeOUPv zZ+LU%WQ(`EUVImCf-WOK-&aOv6fPx35EId~$FpE-$VoJof6b{8s}u5EQ0v!o-a&%2 zI+Euxc*)l;!Z)WLx^&UctQW*)D;P+IABoE}ryOuuTjG}*2jd5yy7%>K5enTCwC`Mp-2{3D1O;hX2&kg8f=1KuyvoFgseX$!oWs`NejLT?9@L|6LdUnnQtbH-+6{?IP zsDXUN2{mNm%Xsm{w8$1!6B*Kwbxye__P3JaXW9|Y3UJK~{SO5|buZQcACrB6GV~gm zjMQAyzWLX`LU~BMwj(d!oY3nA9|zT|c2#bhO1EmI957T3PPChxwb_wEM^zwnKNdfE z*OvoymYa>;gZf$9{SrQ=p930qkt&Ga08XEa@RSN_+a>2T&^pS67-o)4tA!N|+8QsY zEZoGMFt|dEfLI)#(K3gT!>sE)@vYuCFG3)&L0EHXTxlSt7A?QurQzeHtWSmuRixGp z^n&a_Mt^^qeML)hSwiny7WoO{DpcauiqJku1w~ym>D?cR9wiaV(!K~-|JXXg(D41y zgE5xVrE>dz+TI$7>a}6v^Kb`r!eH#`=jhwk zTsrkw{x-G8CFoYxz*3ZDy3%p;R<9s@ss?Lfc?CJ*8_H>uA73*nFb;h|>&0#j8c=Q* zErw0N#$HVvO=>_Zd-5=e%w$EodeI%;`6H#CZ7f!DBY|J$@vfO?ls@8tHDm_4L=NM< zJ|dA!)R;^oLqd*gHJjI)X#8XP`s`caNw;+J{?8h|Q%xTrd8aGozjjJZU=H6J8i4ZA!Vf9v*SOCyCk}~y@ zR}B~t_gZfdcs%#b-u`$uG=QiFsE*g4@`XeRqnN%3NiwZCu!<0_uN;FeR0^#~?sl*G z@8s*erXn#1+O-EJLG0(uvQ z!o!%Qrd!?ZC`qOQyne$YlZes=(-C}mM@BQ!{KW^H$7^y2Xvr?U;X7f5HfI@XYHFdE zivl`XE(Z24r&4RwiOqO~AKn_J?#|(0I_2ob*?4v@wfZiYOzlp-h9|ddlxU$L^o#{rhQ3=z7(=*8OdJ0M6%Ev3@5Y7|v5b9970|y&C4Q!M>z-bu4a}y~Js8vPO-BwtD zLr z*VhV)C(>;rZ2#0G9YLB96C4E)wtajBBZYPN=Ob3#8nqCW^^+*cm4l_}^7`k+eX`@?J6zNn zJ*Ooa8@uR>Rr|g|$yN7a%{+eTibNW_&=n|t&gga8T;SefbHA=3$r&q=ZaGbBIao;F zLmz2&1FWeqCzr0g%7PVrW8;Ku6><=jf?ZJ%pkgz@52L6+ahdnem+b|Vew$aj={rAh zptf^$2=#7uo1D#84SE;+HOfHI*=oIJJb)|Re(qD4&b-Jp5jEBEnEq# zyS^y8e_gPDqN84O+pM{wZ!-6@sDp(=b7{b@j`@_#$*CAf4vunbuDeQWze(A4+sOd3#zEq+Eq9e!TgE^@rA3qAj(T(@2LXG|xa9{|!frfT((w(R3u7z_16j5Ec?s&#XvsLgp8ce6iwg9EC-y`v7#HoM{?Sa<$Z9%yEIp+ zVdq6De>H;X@jECKJcEwYmm&cQkD2dCGJiR6AwqhZnAswvp9~2?*}8u6bNCB29|p!> zGhZ_&r$L9Y)8!RM#c$?rcbM~8dQJV#8hs@mC~Nw8!N&q*Az~o$QO?=SHn z&{*8{OY_ou&K0%YZup)ld#ZK!`2JEOR;cq2ah`eJz7YrtPUfu$ED9ZGG=Mk ztJwGo#;*@oMT8$S)NuVyoV3?PZD0!v4ISc+iH$MZ8IP?wwAWl2C9Z$RmV&mPl-F<_HYvCsCMvb4~ z@_P69l-jdYJJnvk0{?dQCcYq-*}f(cu%iC?T_*US+Mdj}5C|gTABKsZSn@I`7Pb)$ zqpcrmMHC*@*>--o>N+jSA?)+s>!uqEy`y4nkCqr1h#c%mf*vUd(71rquEgn-noJRO z?w$fhv9xm_kafpATZcqkKUl{Yi(7Hu{CV)@Qri>}*5ay(Qn=kVzZLgh&MNcdUvReK zTOomvokT`8lrWF&Q63#F(-mnUeU>?#QjUK)_Nnn;^IM;_CJiD7N0;~4siF?9P63&*JpJaI zUj?hMSWX!-Cv$z&r5~}bmbCa|+>AYBZbi<*|F%&CpL9Bq z+JB@EHe@Zq2_npBK=gNF<63%O^^Fod^{7;1&bX3*a3{QcIV_WYgx$9MQjAF_4F|NL zdxT^$<3Ad;W1UHwq83kIkhwPUJlMpS-PnPIga{GBCqg;soWlHL5ZkNpiR zTa1eCFhcZ7)|t& zsHqb!>_Lsr`W5L$&Bh;^j3(}AHQoq3oy0#o4vLx}fa#k`Nu|JrA1mJ|qIPvKC$It^R&k{vi zeYu7ZA{INR+)Vua*kwT<(m@X&Mk;%yquDRk8AIK`FB!(00U*$UCQkzxSju0j{e+n0QJ+poM^d%NFpz#G` zL%^Yuesk0FaP%hJ(#nXAk8+FWMVfQ8*-8fT9W-l7TEC^*PIakdvk&r@ogWi0RgTlF zWSp5;wI8%)vACp0FH;1)Ad*GTqDJ-B!i8HD^Q((k ze(Qbd3-NM#;IS7s?@&P1<-}Ng*9{SbAy zudS>RoSLi`4I&R!<2D{DwY<0CPD>L&Abz0;Ef^eb+Aq-vN-1Z^^ypZvv~DC!rs(2w4ukB zJ#rnvT=jduuC4cw*Aw`!%`v456(kZDl1E-?U2b?@Ddca`ZQNQ0zwNIr+Bh~KBlb_5 zKGL4Mfy+i@M!JS1y zXm$qSEv15X-Ila$V6k_;hN~B-uUxz@G?*)>IZZ9tb2fPf-+d?xdZaCU z@E)kBeBH(s4Gvupa*d^c&Kx9D_m3+mr%N8V%E(uZi8pN=m6N!@xG~0Hz!&C8Yn-|c3O^zjY|5@g z?rW~h@jAn;hT+mF7Xs=dgJSHh3#w=Di&qnV<^s3W%OSz5RX+5>@Z5S@4;SgD-$V^R zhGPORLU!BIjx;-Mf83-P8Il+QFT)mb%?19U^J(V-!XNCU$7C!69jj$T?mOa(WgM-I zX=%+wM_{A3s)A{ebLXERn`raP?}%gVfQGq03Pv|er%S+@9&>68kaocs#Rzu2%$bs(RR?&MaW?QuT>ef-`vg51$S zt0V-s5T`A+W(x-OU_OdZMc6+})lN{E+RQqb=90f!dD;|vLK9Ht=Z6c5V}110`)2BYx)Z2-*ux!BwRyqk{IANiks3-vpnEal@+>lELi_qm{Q4aECF z>3r=Y(vyw;a1Bs?thOJ9DukwjxEt}e&ZuxE>c**ioAo* zzjS(9*TVF|$TBmFdzx5r&L%({;{+BonQ9YWAmT=#D7$@m^d^|!mG9l4PFAq?PKvow zs7Q`a0^cyw>9zFa3I8V7Z#`SJk|zOWB{QmJCod#9s;>9qsUwN*i|+=#`9Xix4KBaV z+J$p00Gf{vvT^}$hbPiDvX;)e0-(CGSyDg1b<*y3p>IqVtVzdPtMBvIuPlH2MmzNC zlcm6f4DHLEF9uK+iNVs}K1BInbz=z3=za+zj_vexTN?3u!(&7)PLg^e=!|z7Wz%Ip zY2@us3~|IUgQw5J7*%zq*-jIN>Q|^&&w6R}Qb+XdObDQ&*LqLAZLv){=HllEZp+(y zmx9KNkw@dp4(WKV^327nMV$z82t7ZnXbH`q%oW2BqM(|zSc3QHXUb?11^z)vdn3E*wqW|NKxzYb!gFYTJ3y*TouELMKY_oD4E=66o?v7X_)kDN@*SqqN*4PD3O;>)+#B|< zu0ZaW<`ebKl(uC-$-q*w$}Xnt$7TUI5cl_NSWT& z&m)Z2E}DASl~u(0DI`IP8v1H2_jOD4b*IVG)@^$vx}nuatJH({guo`OmtNVbCC8ob z`p^Vq*!?g$Kd*=7Zj&v8#-hI0-VA(~IlPH`JRtwP@$98A(PZf>^~h{GO-T44E~?Hv z4yR}XPLlKB9UD8|jSb7U3O_B3S_8ykRDU8GNqb5;QM=Z!>Mr3#a-c}S3nbCDH^N4r z9219+23h51f6ou=LFp?zr!(=m-@o-6LVTN^7QY!;g1G+VyGDXZ;ZE7c@ciCd(%zI9 z3s+aGK=%;M?8rj|eXM6%a;roI%Dy(@H&22kWnt7!H1+38n#=7*)9ekGKb2XvAD#E# z#}4_b@Ign_Wb=oz200jpxYGUy)uH#c-OSy0@WrJ<=CZ&JTPHQ#sx<}HyHgTt1TZG! z25_mMNAQvajJlxf{mp1;W$`D?yqL{R#5+E>_OMWx2oSyrki$y}$ z_;naHJg5YYSHLaFMS+1mD-1^-5`uYO>1{8N@hJZ}9jmiu{QdD6W9m&x#f;qjmw3&? zUjW}J%Hb)QM9;XVl_l%eJ|xM__*F;coHad-ulr?XCQ5E%dm*#n1ESRP%H!}MdZXFQ zi-k{az6AO_>3*Usb(0=J`56eDwi2|x)|)N@hld&-3KetHcF2b#)|r^aNG3zqTMp1m z2+A*wdBXB9_u#In@s{v49u6!>IG+l3eN!m@?5lN;BeF2gw|T@`^$E$a@h+mOyu&E6 z$&FK$aZHf*oXOVxC#>3rA8!I9=H2-q%Af;GSrP+qwM5Lb0WWET#MtUvKF&x^gvqiJ z^@mqxW@7q(#>Xk`n56w2)MVzPg*6wmM>UU(R9{hin=8WZ($`KJH8kGbfC7a%nRNj- z9h3bV))*@uqvHkXtIJHztZ|I^!v2W%WaRiIML#`=-?ge%n6TXpR8YqHd7gQ0By}rK z^~YG&Q^VI%jkdrsNsRwq&hlIw8AXb1SlWXPtepH%v4}PM!BZhGPi3p^-e~&%%RTk& z1~cvCi++sis~MzXLEfni_Jzy)7lvE2>yGef3;!-M6*Xea?#+B~dV9*u;H{!wU99jA zGhKCuy(D;Bi={B+vu`O7idB0%BG5REhVYQGi%as<56tomGJa=HjkqwSfoPI(O++Dv zn)NX@647zwuvHI}E)u7!%SeWr;}o8E0|ne^2qZ#nNK4|*u*l8lW#fkw8WGhk-GaC; zKl?_jTVyT%!cr7rg~&3T!B}J#$P$o>_V;B!ml^L_U1{VK+uEJCYm4yiKYfmFz0p^0 zcz$y+=^2=0R~h)CYS8zKT4=yvR2w-;`- zF?rwgz3^D@-`ILeQMuPPT)k0!dEK5m(a14sna)VN!TL8>0m}t2-tyWdLpGuBMmy*% z^`~-Z${ma+WH9WMH>mMIT&$;e>@N64d)MG-A7Tgm1wqEfp!mJ>b0>sgvkt#cRKxu^_SHZ6I~?T5T?3iAlr7&9 zI-y3%ktR5^O%dDPY(3D~0Jn`>Nept#jMOmr&y#|W-~e+|N)-OtiUFAC17KEht}Cw^6=ZhVD5O)%v`{QvyUj3X?6Qt8M1FMln>G}(tuPd^E zp2E{>3py$i!!fp*)3i$WwQc&)$RPN2HQF_uo8LhmS7kC@K|pG>h5B|6xl@SNsuo7& zgV=n%ZBMwFdszdJ5JRIT)&0xHB5)JO?+P?7MiGsHWiB!Xr>YGc)^Mi#V=Kut0Fzqu zzkf}*8Irrw>q0jD?(k=*%ZQHyBRy{A#}pUF)Vfn*@4W|J#^5#v!;1zD<-Mq2DTND` zCaA>7_8ot+zCWk7(cbZghI-o80(zmDkq8WcNjzgzWpiToG z;)&nBphBT;vDV#nXDVTJp*b8CM3yp0qsKgHHMy{vAPRk#;#{VyQet~L*5 zjPR}QQTb{>Lx<1(IAp7hO6x@9O=Xh0#}w*lE>evWs-j&L3MPAVk(6KAe5K`+ zkQzMR;^cS!nhxK9C>G&tHPK?feNaB88!+d8O)L#dh|@}G2B5P* zjE+)mVzRUshGk~ELK`9Te3x%UPS4pX1R5~Y#6(f`wQ-^0t@ukn=Y1T=8N>xi`uZQY zTd!y*v#QZ8udVI(2IFMyoa10Om0?^)P{5FCVU)@PgSwoqw|$56R<#rcisxu!3rH%p zSc0j?O~?n>Mkh%EOpV^wmd?n2s-B%^dlDrb*s-Qm-=EyP@epznAhOAmo^hVNj zf;6cp5zr4uFAU{319~{t1Iw~1=~fIe>N3ww`p zl4yuZ+#}ykoQB##inK;P1dR;hluXQNg~#bz^YJ8HaWyE82k|!DCSicRH9I}9&d1bX+dSUpTuw7YF20VXDy&<}5^Z}*o zX~fx4o*)X26Zyu~{?d}Y;rNPA0`HYI;)ZiKrx&KZ{p$r?Q@p!a<8Da}Aw%yvaA+B% zv^uXMT0l?jDoDZy&O#eY3H)1Tg(3ygF8bWl&F)yLy2C5z>aXPm*xi84+>y;I7m7&8 zt}iM>D=mpr`v}e4QUwJxyv6d+vo&D}Rta!B&DqXWASp6^P|f-CHzrS78Va^Yw<&wS zj2_71MYY3%RpQbhE4eaUo{9}eZy4JaILLjm)t=aQdJQx~cB?Ko*Jui^sRq*@(P7fB z`)b|psGfPJU4U-<;|_~!@%Mo!L%ji|dn-LkDq_7P0~`#Yd^h+IQYNO!x8?S9j`F5p0qDOOI^ zhG3%E+Vh)8*zXMl;fco5=ncaDK|;@2Kdn@%SMH8jNn}?**#T5l>vB*aAt*ajg}qOD z{_3L^JNQ>d8}DsW=(!7_hR+2_YT{<#a!nD*%q^u&*z0E>Oyiw`Z=UU6~Xe& zfcgYLYm^*U0r+`9Y-7@-Et6y3dNcYZmdXWHciZg1Y-jJw^>U4Do(n3bmi25^&bdzF zOCq0-l{u=87daODzt+5>-e`Qt{h7Jnud8#mtrrv|EEz@JjJk_O5-wV{zjt}^O5{2m z``sj23$fYa-s-h`<}LH|yZ9$qmV}cdswvSQ^bE8Y)1Oe5b?qd;oY}fh|^9aU2jMR4bXmm!&HONj7PEv9>xzo8L-sYNTQfM-}WPB~{Po z;Ae~{Jx^kXTa1u}R8+Rr&Io^TF&;$&eAY}Y%{io!#!whMRN7bvn}5`2eQGGB+QKXm zNZj;O-_`4+3Wd&BP-JCUZye!mTm60YLP93t%TztD8#072D!}f;}mzZFpHLX1b~YO_P8r=@g#HZ=3LOC+b7Peo>LB7yZs8lb{-&hHt>bqNvZaRM6Obk^O-r z`Mo6JnbK-LU|*Q{LfCQYb>A;HPiT|gdw#0APQ+&N<;V~3DDlPx=fh=HfPr*vzdwWS(kRy zdf{{wq|D3WT_m0#-r`toK>huAJ9CnrbDnnoB)L*2Q0d*=t`36_C;YI2@PW>GCIKhr zhahknC6zH;!z}_v0pR~PNE#bqTA97*xPC%}r1UO*1@Fpn$Pz;SR4fXu=-q|vuY$fk zqta#ynF6-b;IKoq1^UmluQ~ttlL~yx)6|R#K$sH=l4%wR;a)n}gwwoWHAaDDRB*@F z%2#`g(hUR1%PFx+Pdm7Wfbpz>t|G)(( zYUR~8w^UTRI#i}b@&l%f99_i$PH*F3bGyPW-5xJ_SdO?>BoEUIv?({Z2qtCVoxA$q zYG*DbuoR0;X|IaK>W=gJ7(3rKY2<#jnaNmG164iIDfKB}s`9=?dl->`9=X>LJY|3k zu2tyaowxYkdZe;&g#bxG_w%gZmJO$ej;66;+-%$;IfgB_nC&XJeYu5iHGPwTtiC4z zN<4qw3!MHX>i?YnpI626;ok)2-#HDO(@DX! zygMr4=T&L@|2fgs0(LWOE74%FzSiIrO_kwwhr#WIW~Wd_|55*x{lcbTIl-o9hJDkQ z@VTp1et2X*eX=HQGNJD?O&8qb==Wf*R9r-W%44r5R)p^a%X?7e+-6WK(UfE72W7&@o8CN8}JDcTatpFG#!*4%Y|$kbBwqOVya&Jweml9Z7fk6y_sb$i>zBemFe6U1XwZD#%&}UUz@aQ^(_1*X=YaOYz71% z7qX_ZexwR7uIr#T0_?MN$CLco%o_3ORtv1%qqG6-&1I0#`ZwRZQOmn}5)Q}z|8L0;jTq`<_5Z{vGmURkBC08t?g%{6y#C~|c zC2HueYxj=iXYbn;$1MJkJ8!xI{biF^RAK8Oi-RS!@ z)lZ#y``GP#KRzuX45mNz0lGDFd>pUKqfnn?tR^ea3IABT%H2;^&y9v(`BC5j+PZq_BPS!%9x7pK`b!Z-F$g>`{KIQ z7cSS$U$XWE+)f*vwTS35W3^^1q_yeo@V*j-`!d51und9B;F2%!PQ_9|G?|IWo zWN{2?jA)1LN|2*Oye;|pJ{Ba(l(zG(w0W(*CDfGPBW*fd=P=YX^UBFtqfTQv_aa{e>_*doa(b6Qj&z`sQO%#I6zf3|7AzKQAMsXcnG8PY@kW+Xg&>>|~F9`{;%LMb^0Y1)r?8_Kt78@@G# z{w4xx%x|oS{+pN1X#wLFJ8?V0Ex%`RCGr49E1L{kSTBjp(5=(+UDOfTAJbR{E4BK6 zR%*#UP-RqMn`>`zt6q9nM(yi!D~xD~K7Y}}negGQ@~R#_^kdld+LJa(s)uo5hsu;* zWn*L;N-|nhP4~Fo_(~`UeU>+XC6Tj#tz#yyGJ%-9Q2U8^ zPlOe4J5#0lm?0DskRzFxmn>};5j+0rTjT8H)!XUG{fG(+x;B^(dewjM$&^5vmapud zSP?KVRFCE|gz}b?)rR#G*zbIZ$@7ql~)?lKWx;vK^C?w%i-`acgmS^A!PT50^m z>1ME0iAqig#uF6jlQh!DFSwUqZk39Ve(w!&W>m7C-^wdCG}UP6q_X|U8HEWFBU_&& z;Hh=1jUTDmK=~*&hr-1`;B^?i?u9}gAmGPPRPt$QzWg0l&Pf$pvjw=xi= z3+?bbFm#CtnOxY1QMcFfw--^&i5h2#;v7m@P&{can0{-e>eHTNIiMQN#{mYNM-RlI~T6@vgKhdEG8~OTl zo8Uyp9+F)|sjG`c%OE4pq2bccG*OZOSs}XL9cAD~`7VI9%xaK(0(8!-o{!KTR-kX$ zP|h!GpQUomB;MG1YLm@dy433Ie|a!;*sFZ%J7mV6Cc zyVX0M9!uK%Pa3}qM#S&k06D|YBGtMs`Xp-oP2n65l?fox$XGPX#;!9S`xR@B)2}?k zZCDo;=fg=-l=Z@8sB5qdUh8~Fn5hRoM|K&<(}FmHW|5tI5Q^45O0DKMk%l<&R8?4``=PvL5h z=%l30*EU+X8ZQ5ER?!8<96v`=d0n zsKr`8-!DlL=5r@=dZlA1KEPVERJjI@%)^>zMj8cWd#s~Jp@E{fpV9*kGU&hAG}1Q& z<0Xn68oE3+_(Qxn(&3sw&(anxAe`Wq`Y;XlCPdJMLemeeYc+kwkW@DyU*<{K=nYDL zs#fIx)!TJ{HMO*BrB{OzdXu1tfDk%_rgQ=65Tq9sL|Pz+PNYaL0Y!>ZM2Zl4N01t- zASk^kReB2$iiGlQ&RyqxcilhW=9jEwy)%3EJF{o@%=5m_qrXLNuWlE(VGv?Y;I-RJ z=IiO4Ug}M_ml`Zz^C0y`oz%Mz!wWb0YB=vGJ`46%JSOTE&9V-zIL2F4|LLP(A3!yy z*J8kTVgc#BYx1SO+ExD4QY0^FZAD3HB-GO>8ApT0`fJ)c@l169L0XDV z$Kf>9ys1KnbMx(Zh8IT?e#|vpra4g*#^mv%nmRT^5ogf3oG9FYc57i6@9I#Kz{%qi zh*kv9Wx1qgx(atUb#HrM$Lt(uZ`WJ!H3_Z(><54EB2;Mgtf3}ePNFa)a{K5nf(Hc| zmDL*Q3W2n$3!szs9jL46U(kHN$Yam$xq13HqHMS^9c>z}&QGRf<#aLWreo$+K}=|c z!=J}|jN^Ht^(-DFz6f>@X&JX5F|n4{^Yswzml`3l_pnHHi=}jZsQ2?{h_B>) z&`++}#@l0x23n0}_-^=Cw=ucBCU|M7AhccSXwVkgepT@|<%TheL-7}#`dBZ*OHIB1 zb#EBK&SvI zJliYpzHd{pGscBJZj6$CdlZmXIXqqNV*sKlZz-K5XE>U3m10_)LI*dhK=TsO`<_#_ zJ%{UC1N&Xc@;?UE9p7fQidP*716n}DR?ts7=w&)rd_4)baR6dopp@mj7@&Jw!OVo@D_Vr z_^8th=jrWmF3*?*R@99FuRhzRU!+W-gG#*A4?Mc=y*kP0__G?pC!l?QVp8wcr!JoF zE27&oFk<-l`uLF9is&Q~nd)IcUx|V2mL!TuTIhC{1ieWh?cy#|iu&pElB6T|<6g~6 zt3vL7)*p#hVSwZ8TT56<3Qw^KjHkwc^v^xn)c3AxmCWIzB=%2PaI=-f`kfvfr6O&( zUr|8|3Ja+EvOoIgW|3{C<}_v~u!2>D?TgPGBI|{29=TmA+{QF~PD(t!HxAM3L@~cU zAts;lHXK!`1=x!I6of4plCvm5Zs;QisHm^;&R?Fry$ifLPA*g5_>`}|_9q#?_0Mzj zp0_1ktUE?Y-KCwa6%h%H<#fw^%6j^ZDE=p(QE`AM@BKoieAfP;7MM6?x0D*sTv9gW z;5wQ8Qi0|XmM8~g>sUcexxV$MCeh6-5a4oo}*|hY()*R}~O`da{*en|N1g%c&TB%N1@7tN6WD%ZcSh>c03EaO~S0 z$g(+Jyjm&AAPgzx9{_iV&PPHIHxJcl94~IyN}JhZChwGkiU?_ZjcdT(_#*fs6-9eg z?`+FqEX?76Ep@T^@tjVwmuL=_BlV2H*aQgW5WG%WY`&k#<5OWQZ$7;Y(ZMb+#B8@O z4!Cu$UbnAUC?{5XPorF>yKHB1kr!#i2x-RvyP#!?4X#(p5%&72dmOy1@!_GH>=yY) z9pXD74I2XQ<4uT@Tfbo`-#?@6YW20!U{b)6HjCNF4U_A392`xMIEb*LwzA+(6#vdj zxDB2zO@yqVg{P2+2#uIO5EHwL{gN0nx4lKlB@8;Y3d9e2p6ynv#}+1VTo1`j$sZVf zrKXBYgOPYCM)7nmRJ1)|W*?45Ab!vl)6lDf7}~rwbp=5T7ecCdjO+2H9$AulcN+kt zgN0o$IF7a1qBxGSB1D#gf!JqEF}3s@@}c|*1r=Ancq&mEjG4NtQpkSJN`9%t6`HR! zAmcybe{9=bpu_xS_nluFJX5Do-mX}bLElzNV$i&l?)>edek-pj(vK_9CFj)vIJDw0 z)t!$_v2#`}^Khg!nnq=kMh%_UHhNT;;Qt(yu8bL6yPdt+PgA}5B0|=n&Gf0L1>-=M zkg%>#30G8dpmU;WU~z}drj3&1z~EZ!kAd9;nN79yQ%LeDpa>Ix?!i8DZCE!P`@D+0 zvPNBLls@(?`GE2YW%sC|Ojb{R&Y6#QlG8yJ72%=WplJeD8i{I=+C=sEu1UX8i;Xh8 zYuq!Xcq0dtuSH`22X|UY+JGdm(fG5pdk_NVn-JHpuOE%NNQ0!>bGJ;OTzoo5f(9)h zxJ9p0$C&M^%nT_y#9}T(kaN)Uc*>atV%+{hCceW#$86;zy(600--AHG>n+~#b&hD> zr`vY19O3@xGn$?dzlMa}ITQKsgi)lOSKMUH&nzGx(a9@zvu`vVyXLC2cz&M{xUQ3D z6k#v5P^05qmQ5MAH!n5{W-EBc{Q$ z{Lvz}j){zK&>_{vo))Vuv0%AH^~$u8y!;kCTQVonhg`dArM zF=dezkWFt8Zv(6VtCNTHf)$Pt!tg=H8MYK$D6aY4QaQ<4Lv2V{OjUXO1|9d8lp$=2 z{i=@^J3g*;TQ|a{ol*Enw5>^oP4P*M(|DaLl()2H{Mg&JS^d-+wX`!uFGn(3WFNChMr6M!YLEU+L4YjPi;nv(x9?-6Ac($^G zr*>)+&GxQ`(bHo<12pKQ?DUiU5}Ie;=Fpp2Sb>PkP1grzW;?U2mjuth>9}%@WIVm! zl7sb(V&@^*@kkq2;*6weg%p*hFC<;94qNbRciq$R?d$|?%wY2TlSmrbaSo#_YfX+= zm!^Ai=+nF{xSCstufKADoGoLq?u?pmu>{#+8s(>b)P&>A^>AXcHl({EKCRq3aI|L# z>Tl|bYoE;ME58dhq<1eEqI)6BoZ-OHt$e^h%24m=F2uM+t%7W|nt-XAxVatlNG<)v zK8@pWEdXoCHE_D_O00anK^TZ^a02bO9KFhW|EXLzzWsTpvvU;RgTij@RN;xxD%)(_ zY%Rsb0V-$+uQze+Sb%Ke6~s{f>q9*R+b7B5PAfPQyT?S-K01l7$tfZ`17<&GW9xsy zX8+nS5Po9BEj&SHAMtpu#UDNQDnj7PK-W!K;cGgJirA@0@o$S?4d)cQuk55vE;xCJ zLdN5;&MD@6r9LEeVI~xOf)8AaiPfs1?R!Diltf9{$6o!KD$mhg{wC4sj%+k*;`B2h zaYInn3^J@qOOT&mjIR0_Y%G(eizPzh*h+5P%=eqZx9;7?fNV#LFofr{+XnRN>|M6|Pfj^Vn1w+N}52I&dOY6?f!_F>L0z z3R|`>v)Rj;1*vC?nj2 zyO7M}DeuNBsno0<;RH}9my;aTEK=#;2ym(S%3=&+1EI<>Lv{9=+SCrl#nh2tTz}S} zST+Lv2kc<|(0tv##rW~I@^1>onbA4{>ckXFQwI{Q;SV7YS>ouaEBAvJPLV#k97NMS zIPN;I}K(`ls zSL}`Z#mWj{PO6CSzL&=hQRhWf>OVhj;dcWeBpO2)hjsImi|YvOi3 zP;|~KUtgzoDsYpU9297Ze#Q{nbTDSV>M)cNso?=^1=Gdm1btxMiSYU`X^G-7XbOeD4#S@=?HIewcnjMz z*SN)vm6$(&PL8#LO^`P=epF`L8h;)pNoHyD6K*%D*dx31g*c}){B=`)8*?~UQ^d>j z4Q1qJ+bqequ+-ZUF*e1ye4rn2Y*Zu?^RzE{eT~FG9`Z5&>%bTpk2+1t=5>9nOXX}( zL8M;q3>)`vxq+<2`P0wTkxA=Xkrd5AIEuAQNyM#)x)nsP)jl}-`+b%HNa*}>VVGwl_KQCEfMb&%T-lb> zwHnQLGO3jtbX7*c8Pdz~g>UXWJdBKdS9xuV)_q4OmpztzW?HeG=0vS@j1d}d7 zGf3bi`upx4@S2m01{S`==1ZfK%OfQT^GhSHzl|20W#UZkL4p7fNeEoE7``% z)=o{d$@3E%zwV=xpa~Tj%EJ_ENegLph(&SgD+4+>Ok@W9?}a z3Sh{_vjUCy1vtAQF@|ksc79KJ{-X4&Gk95yJ*NxkM5I;}VcNmY<<{lR0!k@AjPnda3n58{cOOat<3_*g zpK&x42l*|hp`ux80r*M!-y!w?GdRn@|1+fwPp3v|lzllnoQAGD@lEnToG??h&*K>H znQ2@;I-eW{%dh*@5ckg ks{Zd{f{Yuqf^!#F;d+hkGKR?{SAfq$RUMU5C7Y1{0GI literal 0 HcmV?d00001 diff --git a/doc/cam_versions.jpg b/doc/cam_versions.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b2d6d013155088a6bf8c9b00296fb54809baa2eb GIT binary patch literal 472023 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

9{ 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

e6JJH;0kR1Cb~WMu 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

iKN~OojkErxd7F*nY&%Q>dV!vn>r8nSp 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 z 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

  • 8`teRmHF?Qs&Ff4(wp52%T*sj96xS7Sfy+Z zrKRyd;-c8sd?UlVKl0o|P+x6A^Nm))FWM_q?FFQ}4oWb0K%V| zyU?3ZOEi^MZdO9I)^I4fr#7v?-~>!6E2~w3Ipwh5rC&MUlE(CSOHX$j8jKaFUs?0veuhmJ>NGDAq;(g0K^NGF=4>&@(MX@ zx+qxioUe#5MCO`La5O*#zV%edifdrxeB%Jpl;cswjO>$FQto9^w-@+&HT_v1R~uB= z+a1`x;c~|4D%O1u)1YxH3IwlQ9Z z^@x*znL&2tf*!5T&$imS3Zd#sk9-aycTSW{&-NO;MpyC~&m}$1H~JhsEZMs&q{Oo^ zU$+{j0(wpU0NC!vRC9-3HJwwQdijc~!Nr^onpb2Qn3!nUv54-P2dTVyL&-mT7C1g zL&|R8#*pQ;I~lVl(CO=D?oQP5t zWhHu}kDvmA;2l;Is~cMA8){SqaiK5#FO}x}gr*(ceK*Y~#+c& zQm!5B@@@}0x(!J^pC*WZ>9kUjU$RQyrE*!Za<(V2^pVMo6iDN{z@Q$2y=TVA>=Ra! zQdKfNI(J-L3s(s&n^5g_yA~B)DLV8z+Lk)2=CfpH7=qw%Ix`G82=KlP#p8r&zCj9C zz0N0a>>U2yFM#{(WUG5#21_21?_@jd;0M)7XLYMW{?CgEu9;Vv^+b_!bXjdHfDt;+ zbRwc2Q4yZolFhjH`#@o;5;pSL7=fw*iqANf=9EXG?g`ZT<-im!OmvJrkg*mm%{oNc z+jXp0`s@%@Y`jX^Ev|EPm(_4tV>d*{i+2dDby+m5avc-?OJn1I06tb*#{yQ(d2vHK znW#Ghdlrv3ev-W-rSDf21wP_%ZYME-%l+Bh7ep;4LF#ugxzy{riyOIT_|gRWZkX_5 zAt2Cuf=U`~ehav&w#~;lF_x<~dF4BmImqxRkNZwx&ZTSx!B1oX!QF+z&D?Dns$3%@ zY2T-5&rR~|{9lFYEZIp&?CEe5Vxlj1Bn|^)G_Crftw_R&sVDG5u=^Xm^$N`JlUW>{ zX)82*TZ>FXcKL#NJe+iew>h;`6Z0>@S$wFsPEd&uS-v&wrk)R?~)t5z!J_q0YCXhQ;-`a%!J%#g69K9vZ z>ndWxO91|uAZxIwh||1CI|_|#XCIET!4~HttMTVA;9zgl#Zicav88lejSAUAEAHMB z;yVhPg!=qI0ytK=8I`ssLY=l+d7D60vl_!6ot5+1`Ds%~DI7n&LzqJQrGD*oGr`9c z3@B0&MIf68vN)V+dk`D}1W?idt!^W?2KD*KUu0ps})U zRXwlmC3?{pDKHZivW*(yMH3}c(S-sO^C!vgrDdc~dp~_}p$Vaz`U7~V+1;{h0J_P8 z$l|w~x7FabOQPEaTgpgVt3V8`hyijX#7u(hPOmK60P<3q83WGo%B@(j`5#$!zDe@@ z89oek1h9SZFjK9HQaK#siFBBclO>U(HouAm$cRA>!UhbpU+f0e;s-M8`sE~e`Isr9vZ_8S@bV#Ov7JN{`R3}KpbJnJh{^DK7_>nO+ z4A$8&?@Tsf!11?VQK#<+HqGC84vRRs&bibP@Ml>tAr)8*4au?Tkb zR8&5}yk%Cdd;MbYJA<|*TZp?ab@v;fb1ZZPXF^L-#SXpi-tvlkI(YL6MNjAJ3A?WL z!}zoT%l6cz>)Fj;d%BU$5J?Tu4)7ZytRp8G(O2H6WI|J0+BRSACVF`0_==_pJ6-c= zsq#acqj?z=(_%9|aCbaY$i*d)Ndo$7FiUk_zrM21<31BIeK2uGAOL_ss9d}f%$Et z62VRE7^&(%012g8KRGNl^XD};ei{M}lmKx%BX7 zl~BD;2^bni&53c_T)z!<)y9()$m0CIg7XRD^i<0ox;3iAGIM9T9LXah%2$;H%eOnQ zB!;QGqy=Cr_6yz@yY(-)y+MzeVi6N8zZF{twz-31#mssn@eV?U=ByXYy{UgGUcQSi z`SLTL%rR;l6O&9guQ(({lQv<~mo2BSv2ZTE z7y_5oI1XJ44Cn-hYctUfT12fOj|bY7z^<)fTH&bXR2(ZVxM-*eYTSLe@y^ZG9=>eX z%-~`gyrFh*;8>T#I{u*7*9HH39bU@32v0IC){>%fXZ-NZCi(UUp+HOgM8{!* zOTEtf$DjX)AK^djZHs^sZoCC{!$-7hxEu;jRG3E$&^hkdSRariTHn_d)Q~n7$mJxa zENjzsbW#`7Sb}WQk2};zdcyoJ)fo_%xqy1=9X^0HE#-5SRQ*!_~2gi2}0dKcL@xrg!8#~WR z3Z=Jgcs7q@@rn8hdN_2X9;$Tc`~hYQYcQR6s46lYJJ`lUyx8~-NBt9a@yOpFLn!#N zN!Gy5+tpG_)sVvR(5K|K%MM4*nT`7fF#(r>sKa*#Uu^Wo(biUht{cGWnj(!F542+2 zS)#dZMk|GkZIJe}@%VzdrjK;D=2K*1N}juxH3`(+XEi0UDi^4$M2*0bQcQ2LJ1HfP zT}dB1ccOfYJ}_y$Uc(ui^{9~SS+Q^n80oiRc!|B(i9b{6t(sCh;WXK0S=fU5zL;Gm z!OqoIFT$PNnE%UMYAaHOiAW9F493syJ?IZ~1$UNQytn1AL$~BQQSg#;x)!%xUZo;2 zH@O89*_kYU0M3kJC1*ZeuMF4bSXkqw*^fuPW%zAb4mEaj4VG+m?Y0np&|{BVPvH}0 z9Y*_U+#Y!wJhpGeUvX#g*FVVt;6GZ6(tQ!{67w!RXTa^`nWYb<96UYk>$JI)w{{Ks z%PSii+g8d(mUc`~%c%7kD1M2FwsE>~dh{oZcYAOoHiD$}AW-6of+c zJ#8Fjcy{TVGx1@Nz|b!OvdLd+DssyiP@fAEtXCTc87(u0(xc!7@6I#0L(g=d@(*sY!|c5ZV!u4M<`A79 znCM9rwC$SG0e^^nfQ^M3lUf-9HFOF*32>n3OtQ#yUb2Tx0 zR{Fxu#jaeD34#>rcsFCMR%q!J^MLpnB9(6URXX|M<38E6fGy51bVP(r;cB8`pP3!s z_wTR|4aUjFJJT3-#n++y;qd&`i_^;g(VqW@O%jYbs^Z2Snu(@km<+~GChH4m*o3`l zd`8C2W^DvzFaucq$R*KAm2vF0$`D~@?&MRN@@CMU(4`pKRiHOdE+cgh+8iZ0Y{Iko zxRk>UiyH4kVtgWMyzacR?lCj3Fg^oLGj5JS1lw>m&~q>wIk+ruUE$}+;P;D3&Odh^ zQ&)C8(>q;07n`5PyxCPX4o~9L+-vHx!LQD;uNNUu8$;mC_Sm4zo|^V9p45?WsH8Ui z>7xPfu>rqEF?Kn0DHMSas(8HIfvYB^q=fSux(sg!t|(}&a9UW?>B0;+3=~JC#J#^Q z0?!qo*Hx6;j3`=@p}`LTBl!b9`)2{-N&3}m9|}Qw18hH4ch{Q|X$3*0Z*$eUH`Kl> zU85bI&c3G}`YIM_WmgK`6v+)5nCP4CejW3DkZ+m>z$e-=nL>a1%uC+b4nZkse-Jnr z8DPn~STTAf>Yb+}VS-3NB>{X(*tQ_{iK1EV%#>Jr(flyBPjSo<@8&D4RJhr{JU<=y z0HeT?Tl#3jIzGhkHBMx+IXb?ohF7_pwiB`N#?r>mw0qXMRU;9wmI%Um4)*TUVYTz9fd

    jcT(Bf!W4WsFAMg>vL0@HSyb$^ARyxvO`Jog1RA_F4-%_T(baF? zUX?x_aE1QYD>46v3z&OLc9mhjA}FDkEc>P2g(yN4Es1Q?3788|P~)B$p+7@=a~_L} zt8)GU2+knpzd=$@?}$jH0Mp?+ZP(qvohMQ3ZnKY>RZF1o=A=@7a+|j$aBA(Db0pep zI5{o;)`}FT6f+5mwYbk(QnSsutpeYdL_mG0~KU!@E3{QD$9W^%jbUY z#i8(?nab9^YiW@>D&4BtaqBGcQi?~-NHo=V!&Ea&$Ze^RXcg&~JItooLFchqdsi%Q z!%u_F1xa7@iEEtVY^iM*mqPP(#{?--vLcK2Xn7Oh2yY^q8$$;aHJwS(JVxhIT1PMV zQ(2BGd=Ff9&hOWpA!6+7Gls?f#qF0|K~?l>8q|&DY*T;x%J?hiKc?9KX%j=OQaa5X zcF?{J(dr<*E+*Ys`o-n!i?lgE9ULf|@7u?F=CxDhNuTvs#3fYG$E>r>~S0}Rq) z=q3UO!QxC)nVH^aV>Dc+@8*9(wL*AOIw$L9T^GfK<05jB+lk(v#&$_{dGAY2N;mcM z6+z*m1N3h1ovx82tlegQG}0MLe|l1ne4%Z7N1*1Jx!2WrVpZp?wLT3T{;hK8&D`X_ z4(sj;PcA$S6FuA`M8ViE4v*3``=klXgZF~f~8)f0>67*#1HfV zw&`{7(w#H)8(Dg%z}S}_>9K(~M?=_>%a4%Za{O0Q1863qqU0()^$F+h_ADnsch!XT zA4_uN6_5+jkw1gHeZyyyzN*0qP;wGE}sIWKej|aL2r-v%b!J5%30p+cck!8(OnRB znB%MVDxtt;z++x1D@I6j!oAMH&wf?4oZ8OHrG6zydQLBF&ZnH&Px*chr_h*Wv&Jvh zf(f8$5mco~Ot9)p*>G#c(_1EH!2B@tKFl^6n!O#@+ndz2OQ`FfjAIFe4%qRB31`x^ zVN$OrSoW-E;tRnI+FGF@7R@h(e`J^}fgNUMG4fWW4z6XW$MBeyrUl4=$k0w;sX|S5 z>1K{~1n*{VVB!DaarB?^vGuGgZm$w%mYFQor1bbhwLX>;6mBf1h0;w>%58~90iA0z zWl(o!z_}s9^?l_XY)`jfmFq1k(V~_lJlcN1b`Y|_e_G}lP9+@GkC8q$U*m;;K@Y@% zQvU$fN_;{CS$>f#fNLQsL8I-6O+7W~44YOB8`T#f zArO0Wy^p-YA3!*N$g$otR5rgExct!3$u-$R4@f1EP)#x2+yDrd4=%)?!c?D`_%Wib z@Bb2;Uj2t%xBp$vUj+Ul@E3u<2>eChF9LrN_=~__1pXrM7lFSB{Cfl#Ih_8!{vz=I O41p_*Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf|D{PpK~#8Ny!{1~ z9m%;R3iq11*LH*LCb3k^%v>risj5`W%*@POC6!ps%x-3Kce|NMQmff)KVN$D-Vba2 zZ_TBdJNw@|@}%lWZeN>#JOZ{b_tUcvlt(n#`M%YrY0|z zIZRE>QfAJ}q?3$Kf459rkZ+bU=X6Y&o~BGWgz*dVvOcDqDMwk>^%Ik`Mif_Ft@^Uu zN$c8)DdnF&FB3CXIb%F$*ULIL#k5I`Qzj=ZnV6WMOtE}kXN2YPUgHzIhGN}Y&md79 z?E31Qea+@|&NA+F|FNlQj7~b=XHzDfh3`Z%G0yTFVy79oIRAOMDBm9m>+g_pKF=th z#g;M3xLxN9p4*bK@o9(fIsT-ueR-Y2(XmN}|B~2cS~5B|_0P)1`8P%9Cm34gDn2qg zZba9Oj80x4x@LrZerR+G!wiR+XNdJ3W;r7hJa&Z6qO^Z5-B~U^w|UHa@;=tF&MEFJ z?87{#?{UH*lf2%RDYoq-^Gu9SV3N-`MVTBMXMXl)$2chZ z>Pyx)AsM5LGoAO-c}E{}?i-tBt1q)W$2T=j8DqM{oY(X5nI-0X#zu{(et-M7e~W+m zr+>o#_#giRfWrT7LO{p=wx6yr;<)r5{^1{4563f5HoptLUq^h5b+X!9ZE59G+P_D} zNB>yH6#ldNhxc^6qs=z5+Wx!lAyFTZILD2!KV2ZwR~KFTFI_V-%=hDvi_aOkNFQD- z!z0q47sW@$Fg!f^M>6y;$S|*S4hM%u&db2y@CC<~jD4pJ42~MP_;_HD*Qgwa3=9mN zm;V023y#mHJ4E-lzhzhTaT)$8q_i@DlSEN zMHNa)%S}8lzYsb31=yc^0J(YjC@3s8eYL5%6$cI!pp^MqTH4Ui(1fC*5)_w|@%n0% zl~=QjN}jJoWkoG&svA&O(}e2EdNeh)p{}lx_3K1qQwy4TeMe`H>0j!%L&L%+vH=#h znwl2IrCyUww(TQlfngaEMI!bvcb$Fz0BvDo>?%q-L`$k&NDPN_I#X}g7KMY)=_2K!fOmpP&vf= zrd--s#clhpe1-?`oSnxOol|Id4CN9jzA2H1X=Y@C0Uo;8Ayce`2#*EsRauGRmTVFU zJ`B&E|_?6UYEdZ{M9S*B?mhGRT8Zpz|=v2mPb(iZbzyv7g>)`NM+ z8IJM3(gHA>Vn3VShbWoEM$@4$-xImQe}gMi^J!6d&PrBg|(Bk13<3 zEPkj2W(ozGbr0*_*1awkt8A<8BPv(rG5tc>yuZXIDMKvR799^e(w$|9GN|*sZkTl+ zp$zk0L%ffUN7<&M?2Dsn`wL{2_hrbB*$OGjZ=PSF)jsM&>g(oRIYe!LL0{ytzB~Ka zyjzNSS1QN!LAwvBk6DVrC^D6$bUud#uGKGDp3-@})witjHt%VDOZu)vRs@z+hV|`J zOg~j0SKngDI-9t;zsgcv=Pl)~(BxrWA&V$kr5dok{0D*TZ!O|u*?zWHDpKP zRA&(#kt&HZ*>M(A7l(1xu`?mkeMd$Kd`CuEf8KkF{hS8&AO7JV&J!My9b5iAgh#(W zO?cQ=YG)@gF>Pu0x{{jkNVDqqVLYuGZ)KumH($? zlgRK|Bh*obKwn&UiR1YkV)8k}Tt`wfVubJOyTtTEt3OIaY9s<-wp@Hpgy*~DV$yRV zu~C``%4TTAFBCh?ncz5!>Z9R)A3se>@|_o*8!@2tkBE=R z3_-gUZpy#~ab81W(AUf3zKhQHiKvjUI7IR95)qs}0e(Yt7&^qhZd3S74g%8GJB;3* zq4T2q+vjZAtd~_sXX)+Xy&cy$6C84Ku>p{3Hy3kcc%CB=-47N zA~M}w5)qaj5|&O9mJYPGQb-0`TH4Xv+-8Z$MPoBbLkk)kn|Ms((qtVsG&Ga6G@!ah z1g0LvWz{GwsYF?29ja=Z(Ad(6qS7i9l7y61)uEF4ib~3HAioH?x%sH9tTy*8FRw)M z-c;;ONkcLvE-?vl2}wvwPBEmYf`lkBF&S}j2_{TS&m_UAL|R4`_NJyGB`t%JiS*2U z$jK`}RdqcY8(Mj76G~X0oSb~@+nWOHxUZJPLhef^*bg{L(* zDV;1LWb0weMhgpA`dT>K=ssir92kN6)f&j+^Yb2)tnVbxX|PFRu!%5=>@$g%oHDk} zHTh+`rK4pVO!|fKOJ?Vmc%wNeRD3l;;f4qNp}`gM~mP{oC(j6c@BAXE);o{ zRB!897_$BC=aLs_kcwrHAGIYUNjyJD8Rq*MqKxo;k5E~S@ZF8@J)9@16s!M8iAV_4 z9HA7X-M=irZ}kBqj9dMl{Y%QkfPKezz&1ALdH*S1Cohw{JjT;QQF-SFLmWWacxWca zc>S0mKW3y!x`UzRMPk{ymgT8_o8O^Bl*V(;-=q1?`TZKjt7m4ttnX3jJa5XTs6LMC zocpo$Z0zf7U-d;xSzAEfv=7syKxb!`F+H`!Yotu&MP4u?M>0ItJsj=IawJmdQs4%R zJ3@=>Sm}n)v25d^;{B}mz~^IooNqIxPq7|Trrl`R#zt9|C8MLmlo5hUi48PIO#1k^ zyiUwF#eUB+ERQCy=d;=0oWwGOd=IL(>OsPyGHf!VaCB7n8a*Gk+Ql-mlHp;Ex3e3$(3ckUR7 z`4jR-ULNyK|K+kTILGTQ@WlKp#JQ}0t2o!?yL6kg*hI!zoYS5284^TNVtaMYlN|@S z`7Uwx*4RYFCMnMGe~l==AvPDKUqDDGHc|PPg`~iERGfvN-l?2k5f6IOt7DN6){kNn9_P?HzbU#-_jEqCrKfv=;`6qcC! zC#R$$IwlS&sp(A5KvwpC<58+1VQV4L>me~z{~8|Qx6g0aU@Yn}VM^I45f)3=S$5LW zP@GEc>*)yku;FH85t`k}1ukqP(3OkLnSfkT4I!@=TkywQSiFl$j^o-3NR-5>9NkCv zwm`gPWNq+h*Xv@jJOj>R0eIVEAP}v5Rymf8D&2@i^sP~S`x>>cDTmiwKsL_j-OO+0 zk?@}E6h_#&6rO(u0R|&HwnqwO@CDdpU_ppGm zK1OF@IebPl&4{5sc!|!VQ|$t2^phrp_@>TXSUo1yZXnV}w; znZ&}p6xS3M=O-!CJf6Wk!}+-x=3#sAT1z?d+DTondX5;GVSHL?1p6XP)6_XL(^KZU zg#{{X*4Y{@mN$keIyn=Bp8~)(Qc-9 z^!4=_qA@x;#BYslHbnzMayc+Gh;9;*uAUw<6-HpxJUidDNZP{u0^h{~@1g!Ez&b?m zYRTZBNQ|bBbW%D@ILPO+$d-tefG&YikEW4mw6zh9jSXmTZ$)Qk2mbEw{uclJzyCK9 zo`1hr=i=YRgvWR?^bI?J_z1s2ThtGnb*|*Q(wxOv-x^_>zEyiP@sH)Z%aK@m035ov89T{qJpHN zva$x%)ph24d6`9Kii^rokY9oWc}2(}G1-@$hb$77Op=u}5|dOCloXMaz3C(f8Ajx7 zvAr-N4SQ44k&sA&5l?~eLP$ge+`PQt9TFMbxC@3(~>zbQe(B9EW9WQ+@o5XLII?iBJ>Hvd79d_9o1e7h8o#(eU zOx-UVF5Sg%Ss2730kgE9bC@NunIz#6KCv*6Fz&piLp4w_qyaD4USVMBH{N4rMqZpL z+NlNFixtW$ZRslQ?lR_Sdl#3M%oMxnY3Z_2a)wE)t}f%y#+s3}HOrnITwlS`q6QBq zF|9#Q%H;S6)=7$1cwVwjdwS1Zx8t^3Zo;V($8g(CH{i}&Z^m7>-Gav-eh^PR_6Qz- z#yOb&pn5mufHC18YpDFr`c9&7kQO57%A*yyg^Je_JVC;VL<70OD+*h zoYq4!v^^}-1P~$_n;sWi_ySDG^YX$t<^b9DBg-^(5g~Gr zGH2N&bR=jzmM6s)GtG|mGsik_m*w{9ya>Wvevs^vD0PM6v9#1iSnt7&a$R~#hWQQb-v%D#m zH^H*U2FEbL<4Hc7NReE!GgMBqR7|rBrv-dTMkWb1CyWeYYK$O%Via?li%XdiFlK&< zh>A6(N#I_i?|KhbJuQy`@5f_}oM^PfT%!^Hv0>JIgi3E5i*o|Y%lO0D+KWe*OzeQ z@G2G9A>43k1J|ECgzJtU#Hr(laO~(oY#ds}@-lS+$-K>x(QBNNOGFd+SZ7g8jXGyp{%S7_4V~68tnu?odji_ z1VbHYX>CS52}n&HK}QV%M|BnRH5!B3+}v#P4-O2lJ|t))Lp?nNG%byWu=Md>BW$06 zegd7gW;8U^lFZccxmpN*+Dx8qlAzvR0;Kj9G}PCcJau(7C@(KXDeLujfA?RFXU7tI zEzkel?@xJnHV2nB#ejT%Yw~p3Q(q0}r*5#w(M6*C7YoxZybK3fML_wtxL5?{ zVlgD6izI{6E$P1kPpL}X<#o}P(Rc{M~*_NGx%NiIlU91?Tv`2XyywsaSu-~>>*Kc_aHg(@#V26d`L_*P_s^e-q=uwjI>lVQD`g*gWEi&Z+5vZOcO<8!ATTTtJKc6+x7%*) zao+=1Pgl5lxWJ9#AK*h$7LB6f1GGQAyl)-fOB2ad58rVI+q#@>Tw(O>7;W{!!mJSu zh|SE*U~zttc9vL-xMO)?fwoA4a0@tf>zYjh z#X2}bLl6kMjb}#STjaoqjJ7orXvZxNi6y3BHz?FNx9sKi*-MJ#IwGV4j3xp7)<+IK^^C`J98jJ?QV2 z0+ICan9ob_I?1|=NX@Y9SrUP10{N-20fqyZn;gXQEbA~k!g85D-pBUoXWKAsev(R- zghxb($J4CCkbpLoQ%Ac%d>cV-2f;!Y!AURMYRI(dJllVo?K46EJ;Zh&A0A@bBvz=f z4^hz_BZ$AA1m^}StW(EUaq`G2PLM1}0WL4Hf3ZE}g_5^Gpu2;FVRWe5)Nx~F5+^ri zapUnt+;nmo*Bx7ASyYUt)~Enk#vx6=)l`{IboaEPe~@*fvL55Jj*YQRM=b&+8D^bD z8XD@WY1nFM{2S0JAm7|zl<@RKA66Dgu-2xqzRdnI$-dOxLgn0qo=%qC-DwEvBHL$m ziR5c}nnZ=qKQGeAKEwN}of;de2`cK*-`B=aepTq`W=dZKkfO zV?RlYh|>U#!wCCMKigdOZf+8>Ao!@!{PSF-rl%o!Zwk^0F0ylSkb58(IS2M3dw)7X zMmj-8Dgj3(_U+qe!jzO00*$>!Qh8mr&ShsJD>Iz{C5-?jnaAk_G=&6FEd+C&d>#^~ zx++vxm7%J#6m_+gMs#eaDSt(IF{Kpwtb@w@`@jF&^Mq$}^Me1m-**un+k0{W+2OJ6 z`MuZ^{HH`-Z@Vm;5I7T^iwTbr5(V1}^Ic+<<4i#Q^(5$z%W*!pDVyap9GS7iiS#(j z#UyEHSj6UE7K`Nk>(ZRXA~hEt+xaXKV-uK7B4eMkNsQ8UY^90RSYoG%@JJL_Ud848 za3&|taxrnaP)JsI-pX@fT<7iM^Foqhc~%CD$b%wMBQeCqq{)jSQqn^ZtpS2gN{11x zS&=BN#rMwX)>@V}D{Lc4(Yh9f%`NQ&%Z_y|3>zC;Ezz{Fx+c`uH}U%eJ9D=Rf&Wuy1=b%NtY8>qT;^DK*qP4Lnzel9Cc+XJ;85 zl9Eh)Lb9STS?gV5Vh|f0jTlNoe7uqPxL89D_Vb#o%na%v>Ymh8UY|^Y6OFL2P=th# z$OHw!-(Q{;KLi8>z|YSYzP=PcAH>E+Au%BqF)l0PON zmKVYz8k_5V%p!lLYo5JLc1*e>uLb1!5{+kP&X6lhn5La1$Vx?8w3&ceP)xvW?Nni< z8Db$Kppa#mbpR3pd=U)ClsoNSq4h?JE7Y-by7TcguQ%j|WorK56z`=ug(3nL=+`Jc z^HQd09L)|{N~2LVbK=<^mP<`jb*#`@ur0Ajf$0>QnA!Xlq#TF)yF4oS|)5P>K=;*fS|(atjj?!DbTChRAm zA0}Iu*I-KJsO#S^+nW9j!%#vgclE8G-pr@mj%A=X@w8to}LEf*I&)nJC zh=v*($&vz;6y~9}W-gz<+%Wn(7GRX-F$+bc+f#wILft1oNG2v!$64+(3nX$Mpws-))C+ z@2!V$*UjsUAHjXMAH^LvZ_o%3^ic6tR^}0GXP~HfKg!Cri_QTQ6zpf2xhN~iM@bRS z=VcS*ryy-_0@70wk(Is|S!sK5U|$yNUB>s?jiZNVaQz7xj|KMCVYD=qqaZgEIhiC6 zX-UY*PD6Rg0V>rh4D?cA4^r_C$lKA%ch|%=sX=8$3Chcg2|{Ywzt}z$#mh>IP(Z_3 zTyTKxna^@~oR`BgGnu}hb<9U0&mYLyXVS}xi`Xt@jy5ksG4Gp`n}v+5R3s$Dn<*86 zAz|AJW zAv`RYw_#0vPA|qiHehm#PIwujhpf6h$x6KFrU2{i5(wSIXu3A>?lr>;7oEZCOnqcT6K_4 zx9Vf1F`uqwJ#>wx&KhqJMMT4yfGD)TXN zXiw?s)s(Ov+6Ja~FijqpcG(`5L4woOL2^Tq($?B;!sez{G}JekX`hnTR(V-Br-C*& zQ`a_VCoe0kt*s$>u?R;UudAu8MLEfeh>50IRZ-81l$4cHKa@yEl#|p{QTJ$vurd@C z6{EPg7{-aqN14Zxt(~60Gl#C)<+#H;#PpF zib9l@#3jXt7tbX(cDl)`(8)z zE1=$uG1|W6g((95BP1Hf9dZmOjvd5}*B`^i`T{Y~Jl2pVx|F*4A`zEDZK(ZuKBJqg+;X>-O#I!Oq6X?xpg z>uJBc8_c<>aT12nF4m9n(QcN}NBq%gY<6!)6~+deFgMYG#hGrBg&r(Uci_-+KW0W- zFg`%CFwFDg?IaO>m>Fxs^k^IN^kSs1fi}5@_Fgu+0$uIp#4{aOTN)(hBN>_OCr*YHu>>D#If3}a9r=J+40X-xdy=>>v!EO?eUQCkg43ngc@wk^*r<>2-*VRm1 zATrWG?9$G2UBo04xcm0&jR>2pEluIb`aDjNh?#-V!^>=A>dm1pwio-&WH0gL07+gi z2~9WKiO)Je#QJCeSN9e!YN74!Cs866WnFsNUp0WKLFE3f4&tG9)`9Pzm`T#v(n69o zhzVlPOGG3LnJ|D{BmV;J(`KID?EJh5wXNN>2}Ljj*hvILb`0qdz$O6_nYm!PnB{5E zbTW%DStQ16r^oxu&dm|bFYp7L$J~M?vjoWUK4?^5U|mya%%UcWz5ZYm#49esA@Hwy zFjV~{&a4On#Ueu_EX*hGh5)%13Tv%^MxW;>^K;W!l$((XLeqGR$3S(G zSAdE`b0=;0R( zkD7WdP#LX|Y^<#=;ozF4)hy%ip%pWo=ExzEleIm$_yV6nGRL}1lR#)n)5?*DvLR6tS;ct$^zE4K0(jP zb{NrmfuR8m^!L$F$yjt6rP|ukL_^VJrqJ|I`3?^Bm{EdRcIc&f)_HN-h!oV~9NUqK zMlvzVvidss0XLzUz_X>P&WuoZlR${nIFDEhl$H|63ryA!yo(@>j#%D+!GUhH5pXxu zR-m5eS{kePfwzzZQ0ceST1vC7f$v!xErt#xQ*dOh=1RF|NHfV-$HAGrnlus<); zg!#p}$S=x89szhhfo(AXaWNHoJ`Kly8jxIq{5&fA{RgtmDE$HEEu<1JDlI?(uPI=f zK(PRG5y5i)fjndrD5sgxvb{)7PBvj$TABf=RRqYRgY7uFK7*4R^CS*SxaGt$Za%(< z8;;CkeSQE#-6R`Txu_}M&*v=Q^Ol)7nB3BGxO+A5o$Hhz<`#XpqYBL~K+b(o&+3m7Ro)j0CoO zEJ;EFQd8rQn5a?CFcN?$5`;LU?2Shf+cB1H7|G|2ro=>qBAm|}8t7{zg7N4Gl9LdB zmajBFM1}^NHi?P~<#X_PSclNC0FoIJ7k?jk`ufAg!yCI?J>craWB&j%m)wtKd6B%h zySq}{;p*xNH#avEN?crA;Oes5h|8W`*t2`53Ef=xm{93np6-SOd3v~+xJFVXiYv`Z zm$)+S0uOfy@8{-X%DIs6Xs5RSHH1gSi11ibIW4kad9>x-v51e^agw34hr}WkA{17d zrrGM6O@d>En$Bfk^IcQgY|*+lO}n+HzFN~?C(d7Ue(j(`Y?5S67uysO180)3Np>vq zqjZ&RZweq0@i9BAsa$!;Re#5QZBZR90%YCWxh}&ZJi4C4+wE>2C z=2$1A9l_)^(E@vW_b}B*gy@3Z#7LF~31&oCw0=#yn~BVHb`y+gyJL#dyGUe|uC1TD zd8{pu`+BtnvNc0M$MQN$bgXr3nmwQmI*f=E$ve~0$vXDa&U6`~qvHYQ*R)VG#aDQR z_FU6i2L~PtHH81O$F-h zAb!%U2d$?YA{NocCOl@mg+!yOvWz6EmY764Ck{~ti8W}CH&(DpyrBEudfN@S9KD>_WP94LklSgsv=po#D&+WMH-aC1Ggjj>ut;~}ESyPB-W{7tP@E7NZ zBTP6>o6dWYGz^nmOcH#qk!T!RTVVQ#$)ou4;uMxNCHdfj@r*AJ{Em$9IY|meMHD*f zNyf@Z1nZgJ&H4}Wxdx24VSbiGiL$gXVnPvyagu>K0^bo5h2cTs5z6FP53zuzCwDuJ zdx;Brh#STX4q2Ml;Oi)s=2$P1jsA{0jP|t>9CwifmD8@5(bhMZnGbW*!vy%lri|l9 zmT~Ox5{_*w5+4zp67vXLkC2Q_IWUkwdRKcLS{f=y26IqJGS=NvjS1S}84{M6F_Pfs zQsRjsVu@;k`EG)Fc|SUh%^4fkz$%FX?eb7RNn2k%0edycPBX>_8x3ihooJ)YD?u-1 zsHXx;GqUjmSX=18@@xxE9T~>*G|A0K1Ez-?utX9x&ubPYNg9V6O?+;mousAGNM}nS z$xk^6OCt$HGv+2q9!Bf2Fx^Tb)ry(%Mhx{_nbVcEpp+`F-h0#287aB97aik%F|OI1`o-OBLi~ zv7RL7d6ra_78wH6)7FOW);4rDH{%j9dx3g+5d`p;m)KE_%(IhfuDT_Q1odO`e&@5G=fMVe-0?bZbzdM?lf&gGLR^!d{K?Q>Lawpse)^T8p7Q`8ArOEhhV@M5PENIwwLj zJGWqDW_H04B`K$AmSN`ZQ%PuqV0DFneSMK+V1*<@UJpLM78R4gXvBYv3QKj7mt%2Z zh6H0C>m(-!wFsFCW|820YLaBfOs^SXo@sM_ozJ_rBEm9n+E=3<_L_+yKC6_O7H_K! z)>(%`YjY$Z^F}rtp;+?DqNWv5;SKk(^LFs1wy~3TnW<5l(xhouGgPv2If{*sQYj7h zcbE@U(|EK_LNd*dTpzLAf^zdpG{s8p%W>6-48F6ift|kw{oPF@KLglUncxREMF2XD zjf@a54L9+KNTv~_h7-Vsg#{u+5*k1NPGJ}p z9)!RkANcxv!au+hfx$jZmmA&}{shw|Er{Sem=YxSyTqO1fk2)QVZKm;@IV4zmErA6 zAnHx=afhG37xVcLJO>~zI{{rS<(L|2!_-hSCa6s3$67Hx)QExhGSro4A}=c%*{R`F z9BhY_Xg*sA!bA*wToLF?V&J<6{@%Oc=eZmHUVGr@y$9YNJK@7)KW`V3hduCe-vM{m zt?+c+249|wWZn11h9GNi6!xb@lkfx~F~%23F@A^%b4OUf9t8XDL`0w)LA@72z868h zyOBWu-3apAh43I3b4_k$6iN>ypt>jtb!DljF5ZjMyf~EP#WFpf&lpLGq9Tk%er_TP z4hn*4ew} zY1cAcZfJ zx-H^qyjudWB0?lbgPKCh`smpmWlQudA_1ernrpB1ZG#ko@{wVdBOpyXp@Bo%VY9)9 z)+O@UhFM-eiOP`3kw}r54M2OwcGgtsrNt#|9Nd6*Zd#b9JzZWjgNfR)(Av>Zz+bxx z5+F0KK}R!%+29WiXwH~H%_ZU<&34dKrjsX*;`p({X0TDVdR1!`%;Ia|qIrVVY1+UE z+Kg$e5D%^Mo`-~Cc>O7oi0h7%SloCD_uX|H?!EI?+;a0N+B$m?DBbI5_QLuasD9+D}84@!|qNIVw zsquaSa)I(rVuB9hfHo4mW`g!clDvA_=qf`NYO4xqCku_eY$wofZK^;EMc(k1#tJl% z%rrNYQp!+Wc>q=Ad8nz%=X-1*h9P#EAHkvZ85};yIxiBBO!l!or*Zv>Ros02K^#9! zj5I}}*;&JSwG-R)vdzcY-XvG6lQ_6CX}loA{mlgC8E^W_@Rb2Qe8m{g#fBy5m`Xo3Vxm}83MXNs6ZSZ11J zZJP0()>?EnRhh89q5#b`CFmpZnHXrpSTD&GuU{l_TOv6d?rk7hsWe`e`N$vNdbv*i$Q@H!KgShQRVyWZPII=#>JfkExlDE<;S@4 zhd(fK+4uhwuDJBi@T1HB99OWM%YX2nnf`rTd({=#cI}U`bK5oWblU|V+BzRkS7Hre z1Y#r~4uofa0}e_>|kD3mbcpsIOgrk zLQQ1_E?J(R!kXN6tMeul&|Y7eHSraGI4cC}D~km6`sg*qN{gEb^c8BMvUXrvCQ({q zXh?zFm?S4d0|e0o&!Yt8wu}jY^P`)ZAd_a^RRaGFDVsx@x429;FXcBxiKXQkERa}Cl2~YTq(@Vhy1LNXra7;U{o9)w(cIEx7W8&> zc9015n$ewp5+Uo)yLe2ZAWy&m6~{0;^Ef|}X#)GDg;CaRmP~(%#D@T$L}Ougl*&NQ z*2Q{}oio%zXDO;#DwKIm?IM7lrh-v@`}^8x1bWzBV_08ZAYmaX(t_s&kxYK9R5Wt^ zN}-Jm^_n{L_mK=xh6(C5VlNlx^f*5>i9QgyMu%ES9vaZyUQ4n-Mbl7efPYtO9YK66 zMyRB8{XkC>NddtwKl0)J7M9h?54f8jbGuOpQVfN8X#|dGD9FoTn1MX9^PKDyN-9Z2 z60*|c4C}71&c`Sf%fZEAoZ6Vesl&ER;`qTah7%+|lQ_!w>ihtSPCXhb3kXy*QJ9;K z8Y+ecDu#NB>e@`Ht170lDMEF5Au37_us%{&`6jKE3aqEIjtWuQ3X>p;p)A zGd~$U>z=+h8Zi<6{0ImH{k;(y;EP~CZ+;LY0=@$BBoy9m{8(HmF7WemHF*`Km#6TVcUoRKR9wYut3l1QF zC6S2=BbW~LMF@`reU(@Fc)iySUb~9`e-8rv_7LRmLI8oj0Dm~acXWi8k*IKnk=~4Z zGVX~mg6dG74+-W+@8<$fmL>7>+6^C)4}X6*3hzVE92($)q*#As5$tE}B>_ne!v53{ z9LS77aZVfwLm~=t2>dgmNCYF1mJ)%zNudPy!F=8@lEr9}f*53{MIxQYnLKauF`hvX zFW{e+8ioV{{)BjcUK7GLj73dZ7P?zYNkZ!|KG=YM|WF3`|JTz z=FCJ3^->S@)DR7|T;M%4+FjH~T?9`Z{H{8wue3g=pSr1+-`p_2;R%NF40e%h*Rd}Z zp{gPi^|kxa)>1%2osZ_m1C#=i{Bn}+I+i(LrqC_WNG;6u^E+)LSR*0tt42phDeCHS zP*#?XqM}rkl%}JW&(_gVL4DLnz0|>cwFD^j=~}?bk;C_r&iAsH?=Fe&BrY}x5fQ#5v?MJgn4aG5aP{6r0B#iIbX~}M-Z_2J+B0C~AB08HQ zQe%-H>zX|(=lpe6ns#Zkrm|T=y5f+3`_Cp!b|}K59f_>zyCMaS(5x{eSQk+d37`nn znvg)-o(W*qA)0|VE8Xm%r(<5L&>|-Smlmlp8?;D7f((JM357iNTBGQ=pChh&T6NNO z7U{9b3IRXsDS&RTjhxXS8%cwvNNcyi3CBHjFQrXSOtFvBHjo5pI`RChW*k`YnJLzp z^jy8R9 z0gDS7fYXS)c4pEPWO;xH)+idNoSoK=i}Pk0)ZvXoM%LF?&5QBT(*S{fBuk;t|&OAj!r$$;q-AtYsS$#LJs9PT(#XC9oeNHqi8CO>-7j(IV|d zVIGnhZR8@%u}pkpg{;dV4O*%#lr}|-qBbJ7p}k(B*xn6!F+@1VM~D{~pQrtwFw>=E zrw7;u(?*t;CRx`h)>CCKns9AJWJ~>n`30z%e|A~~kobrq4@hrM8!=5Yy1Sdql&!}4 za+DFAHxp8tRIezre&>o6F7h-JP|3hC#OPDC^cpJzT-Q+KQz) zl4sidQN~9Ghy&Xyh<9pv&cZM=tcys_{51PD&$p6L)m7#bPZSVm9H5=3F&-IBpE|rY zhZ~NO%o4+`&yQn`7;a*)1O04MP0^AJ^t6yn@g2&;LxQMjSR1Qz#4-y;t~;`dW9ti8 zA-22W=o$_aAD=wDf}2kr0BAs$zs982tx%M9Y<(WbnQw!*d7Wike{2P(j`CYrrtP6D z&J1E@ewcM)e^?sB5}$pR&!TmzEAvA*zA=LvPAuRik`_%ZJG?fAwZ%cEPvID4V`YT* z7$Z3v<^2Y5WThWRSJ{5k-3FJ$O+m${$^hD@m|a?p0U*5Z7LFC9eAM6(;m24&1ea<LNha2TX-Qpg+Nndz2rH=0HwQ_VXhjGM<9vd23Ph!t@aH zX(4upnP)dFz)k`&V_c3RKujkI=Nv?QadHSf#`q@sB?v6T^S5BoM z??Ry&sSwF%tdjyNVo0SyK-E~6$MZP^{Fwxc8D?}_ERe2W4LNZbXtfKq~tbL6{YHCmjNkfpQL);1C-4Gw+N756E`pSLi zC!m`osGS*YqBLS+h#yZ^DSFxp(cZ-R)$Bt>aVoM2l#`+Z5EJTy7?!;^fdD!++DJx< zyeyGONsM3}7$!s@F(w2F(ZPt13PMs`C{mKc3CJUnnI40Tv}mO6WnM};f%o||LrOwO z4*U)2Nr(wTD$7icV_KLGB11?Xc<<;4#=|`MZ0;sZhz-Er#1LK|N z{irTVLrE?P1_?oS3dt40Y{C9`6f>|}c&{ctf&I4VQKu&@oC8|dZ>l4qqBqv(!q)>HBjOX)+Wj#VeKSJZvO9kJFxye>cvEPi4 zxD54HVz{r0*VkiGF8Q%W8q+%7i~WnF#^fDiKO1kx!b}?hT{DHoX}XODo5W_ilXYw2 zwMZoY#q z_V1pq8n#a*!&>I6XPaq?V-4Gi=R3;@9*WUWe}La=4yyT0l$E5TxR9iW-&uvevzlCj z41UK98yoUaU$>w6bBxrI%+=TJLrcp6mQ%p^<=C6ZrO5zs2wW>TmFezxf+H_u>nPiHn7+gYekX+6>XL zMMTAgB*h`l-k+U2MRqLN^afe!J9g~2Al=TV^zGZXV;har-~HX+8G>SoHMQ-3)&KBV zYj{Wq2;57KW;WzVR>d2g36wB z%v_k6H8L|LPmASk7#D#NA)@GBvs$mo^9ohw^3o#70D(6{v+X+TVQrd1qA;()#AO^m zvOyqo3b&D%-hBOaICbnOjvQR)cd^Jm&HA$b%PebyB;weHrWCK6or{ictQy%6VIU}< z(zK?bUfL4cWIOMU{0%VQoOI8Tx z5}piUu?l>e*Cx0rG*Kc7j{YQ0PLx z20w`zrkF=!)*w2Grd?|gQZpO0)=~qHO4IZAbkZhkok344&-a?Lb&W`i7H4ZJ)(W5F z=*BYb{h}Gz6nPQe85`!kX|D(S2*MrfE(F*+s22p@wN69d>IebmAc1-tNrI+V%@N?P zYCYva0^uXexIv4}kCG%3GYKmQJ9KCPwjmdq*}!)sFy7ya_Vzl|)@n`50qPXX3sGH> zZ@ebLQb#uCar2EExbf6MTz5hP#u_Z|Z&s_Kd& zrj?oWs`3J2iV`Clh!nPw$42Bm|lPGDYGrNU+{SuwFs?(vM?@R%nk%PS%!i{n0}>wzh~vB(w)f zdY7igu%LCm?1NfNKR(oldG_0J_J;xXG0l3>x}AgCg-qYmD9I4NgMsc=5(g3peizoP znNF0NDP7dt<%K9A2CXhFL=kai=>f)xW2=c{E41z?H{DF%Qdp3ahTN=V+UO)B1-WTv zDzz}2rf(JGX{Jh?8EnqU*0iq_T{Rk4Nsl8074WCf3-Ctc-ACCJ#h~ zxf`5VTakxruKWQB%%9`OBrungA9R zam8i0{PN3inetptf^^xXCcO00@0+;J|L}^-an)5nrd)|_Tegxo{Rr1wbq%h*@+w@- zbcNfuZX@||2*8`!LEHI(YqtdLnjoe<|XgTNH%lwvQiWHBH{>uqp>$W z63Oudw#l(3kKCo5Z3G_d>~e+nc1vkBpobq)Q&R;B3$=qtG$JDd5gJP19vMIY7>RvZ zN!X`OkQI+Kg6!mEg6af~oQ5DG+z+9_UI-Dm52Y{+5BElVtUzQi_9g}Kx@dmTnN$$v zR89@-_1c5ZguijsY7y8^V-5df9v zp{y{I`K@`0IjozRr)Z87k)0W5M$z|Y$0MH|O`WZ%U@w(H3QCLjqM|$v)m52BDl0Nf zdhY%>5`!>;-2h4;NkJGpY?LLLkt{2QWhJ1rB$e0gBjDOkLPs)GY+aj`5o3si0DfGI z1@P4liSfbw7{XY`Sk#p7qcS0|9cskvcq^6&G!HKJVRgO>a}y+U1M)8AF&{x+L4x^s zG6=deQ}}VEi%jqX%+Lp&%=Y2O&W|lkgof`#*L0`bv-Bqu&bVj_GEu#aUu>?uN- zY?}iI2q5Oz#$uA;(kxU}=AyH?6eGQL80US) z1{yFnSWn{DjK!%AEKas#Zmb#O{Z#M-(ES9`JuQW3;XPVwNf3DL07=JSSCx?w5{gNZ zi1~?jUf*fv-AP)s^ih*~>#ybsm}t_SLTS zRr`%MrJZHAunx6qW3{Eo0o%7yWV|GU-$g1aS=X{+mdo}oFQL&Oi7Ys<7x}q-UMhKg z3za16A{T}EDdxM$;dis2#$aDs93_?#gZ=Dtxg@3eY$t`;?0eZHr!p$3iBZ%s5hU3p zrlEugJ8XA_!C@;kE+l?n-jgIl>_Z)8e@y5D# z$(cbvK}>j9AY5Es;Nu&>zF37vpLiC(`rRM!hrj+mDSwUE-+aUD;^yJyNphs=Y$84G z*rO3K7i%4lAw4b@>DjeMo|-)rrMr;8>?VN`nc3wCcRSK{lGKRYFl`spc9D3QP{MS| z_MJNn;nDAZ72$Dk9aG*v{KG$BeRa*q#=%24a(DxWHxA<9I*%zL4jYHo&9rE1dXlzJ z)wZi74#$od(K#I-TwgT=Nb54SiHp{WikxW5w$?tbk(`LU$fF?wHL3NQ@|X+{LEFh| zhr$(kL`Y7wDa*kXi_DymCu4Pq=Vod5v|)>;B`*@}>ijyv?or%!^L4oE_M33WtvBG7 z8&8@vZON(`6dG|~&~AVPWgDxDI7+~#b&#th3u`>Ts`ZPS5kTNIG2COO_KpvAn?=K; zL!Bf7wA++n0%;AdX<$u@fR$zjC?{y2=f({9);deAaadi}cJ=aB^b_Fslc)`n5NS}L zAKIX!r>l{mwZ+7BkBPBf+Ft4>5`fuh?Lyf@5@?kz(5XRFt?RT#%ZCiuH`9fCTM2qe zx;mRkh=vTQSY4VnWTJ~Cq@}Tv0Jz)$?i$+4HiBN^1TE~=`iz;0J`y-hy|!j8Xm-O8 zzX|0L0M-I=)mu101B@Dg?CESYBH*v-$pY~;A`O)V#)F}I+UqyunbBGgdl0gZ_t143 z*z9N}*d_oMv1z0J?w9T#5wX(XOe_0FC;NqVd?e8#85$xPk_aDZ7DabQgQ-tz6U*t) zI*oSPmqO(2r)|m4M&SYCf!qx091UniBQY)vVZtNCCDKLGQ5n=}TGw*)&^)o!G(!>N zX%go{B+%^J8*?~zgoJfPp1VFHT8E-{rgj75Tg3h)^wlOi4nO@#becwQR zPl8ih&NShiW|GS$=GUODW{;4ZRLedT@;#~jq|eIhWqeLOXN%f*xz z9}`CVAsiNNrg8AWiY~njm-5`@S6pGmnf5*Azx1-pd3-6p_kCW=b3fv>*Is)quKY0x3(GKMNgg5+ zqaTyFTunmsW1hS6$5)a}{m{sde)J>!kZG5aH2v_(ALGZ&^L^(3fk+n9E>ry&UaDh~ zo=e6C_yG^q61-JnpsNtQZFvM{xs(HxeDt&yqQA3*0IeLuJ=M%thv_jbaO%d&TrZYq zd$G3AkBt@0Gt^wfDO`7S7B`+)z%AD;8@b`cB93inhlWuz9jmVD0AE}bB0~ulf(RBu z{mdwRd~^`@@&ivxjwDEqiJ5}Xh+;V3gw+t`qAMsPa_ zHV6Cbs5sg%KhsOYLj_Kmo6^?6_585&jTfbqK(mB(k|-|1V;yH0vLi6r*;0Y-wkotY zkwn%BIOY?)Y6_Kz(O!PwsU%4PajC3B7L{@?6>>3}8wr-13aD%g(9y>C&|5)cQ*TDV zM+fVupsT2mOQDhG5`tR+^eO_<1_IYcDyGKzd|qF~Ys+c8DoNbxs5qObsGBf6Nb<<{ zsS*C}PK{PoFn^)(Zq@Mqb@Ej3xU0PalOrvB-#sL>J!W^1m4#j$S{|Sg7U6AXU1|u< zi_zA2fbUk*l>}NdP+NI`K)uY6rfZKroxWV}**w*>EnB#Ij4*iRCfL4}r` zO(K}bHe$X)D%8?ajgV_Mta2mGG)m1Ry>)dZs5hfVMO3f_rv4QK)fJ^8FuWJrv>dgHNbg4`-6x?9{Zg7&_0r~eXK_|0rUQSOk=vphVhn>43+6!>ph#0 zgp?q>lz`kCeThRJiDGUhl~NkXHw{-7Nw*Oayi5|zeQD9iAqdYUkrP1IaUScCN3yGF zWGTs7_Yq13CQlOqG$k%Nn97Num;hYLG0A{-DmH~QBFV{7B!>j`yhma@l_WuV1Ql1L zyj}9(Mff2s%oo9q^+OVCfj>hn_NU0pr|&S4_mj6TIKUkd0`$BlDk1<;JQqx39Kvr` z0|$|muwXCa5i|??S&vwP{$PI(1o^uoD1d;T-?pxeW&QOGQ7kJW*oW6hsd}0FDxcyZ z)CZwKeh3WkrT8F-=K=%Vkk0lQ9B4*eZ9WpHl!K|LHMKC9`TTuotjsh<){DmqWxRrX zX~2A#&({NfG+xRR=to0B0~YL0-4hl}#U2PhKTr7jx-;}3&d(4Tn&X%GW>eSk01bzj~yfXDtanwnA>R<&N^sx(598;* z`YnF*fBXTz|I5F`8*jgb^vn#nxVga9&6>(4vLiwx!ecfskno&{)2`jSNMz)>Aps)c z*}Z!Yc9G0TECQtS^5n>?qjZY^?P5Ng^z7JaksTQ}oA6jau@#Y>e;?ry*|9{|Y7Nid z;l%MHIC1Q-`Ok-wCpOG~IvqQ_j*}!B*PS5fJG4qNv|`prY8|EiCrRrhG<``^m*%EN zF-O9n?O^4B(Ch%S6}$QWCF*s?H62-bv?HTD74n?Oi=wSzjmJS-(hg{?q_y^Oe6RvrR)B0y zYo!6;tBYf1>)Kmx(EnjA5X z0rd5D5QAviy8h6!j?c^IDlekF&qqQ2e%hNf+M85lX6z*(C7355%_OkTCh*_CFNJn8 z3$-L}nx>|(x`KADs)+Bc(Rgf%v|zkY?UaeEjARm$dVxM zVM3nw(DZIs+8b^3;tzM%UGSyu^m5l4Q0k;T+l~HITxp8?@x0b*gizONjfT$YIyaW* z!SY;Pcf#FGQ*(D>Hwncamf^BzhZWbl4U&o7yR6WKM8lOjO|oa#PVCXt+?~u%9VOYb zW5=d!=QX=_ndwtH)-}7gZ^bT(%dQ>RvGrP}>)cl6-HP4Ywy=zC=KOA!>1H;6p+01u zUA)h3$Gvo{4Pe};UxR380)2hhHhWB&+9*bwyo867P>|es@HxFmi2O;6{C!BMv_^&E zFB_$8wu1xU<>kS4a5dX+Yt617&-v5#sLjmgJ0SrSKiVL+qYnw07u%Naz?(KtqV>JL zdXK!H;@+ByPg@uo>W`2Rf0jl26{s?0n`k?=rdU()1GR>jHjC%fAGH?k^UpuUuYUD4 zUi|5^vdI>sD;pat$t($4H)_%f3hAV|j%{cD8QaV!|s(V&pjz=@FsP zJ+I_Fue|yyL#{+{B;R9wbp8rnb2&-WCG*po3t2}6U4^CTQmoBY;qYQJ4llLi@Jc78 zgJh;12NzqhI@gM&8EZF(h3PgdOlf4ggK1qPJ$=|%9;OWOnqeGW8!>A;j;s#zd^e3l zvst{=NTpnqpJt{cX*x~@0b1^U0!4zynudNJr$TlPGg}gqGz&)Qpsetztc~JSKyuYToDUU|X z1=!0pqD~T7RA7yi+hJagM#~AnDf==tDo#*N0B+}z$EhGMk&-~77Ehue@<1@3uJs^V zARdO4q);S~fF{NUlek8iQFX0}(YsC{c$XI`o}mDF0wpm%%#3WMn^A{o=CL*ih@$e1 zj0i?F0d|b0t;GbB)CN&O6X?fBASo`wjAoepyq7$80@E5{w?^Cj%?L(9tbjj3tQP(g zbZW<~kU$SA41VN+1f2TN2}%`L7^a=Es6+yJ926iRuhIKJ67nD_b3ZfnE}I4^IX;Gf zHh@6an@WR9BFLTB5P++ErfEHqu2;D-9DxGL4hb@3K=lx~_i?0aA-kp*2AFzCQ5j)g z0dh+zk!0|hw1Zaw%MPT{3t|}x1-OH0tn_~b`p}PGMOeGye zqR`e>g=e3A04Gl_oAoW;Uc1e6`*=|tdCk_#yw=}`&+lUq5+83jJ|~R{>+fT>Y4+i@ zR$GLIhOjMzcu%JBTK%_!;P@E(l&u^oc~wV{MR@1gg` zyh`Wung4^(yWl&LVbP`&GCslVUqKWR&(Lu8H!x_fJgd!s|3ANNSODm)3 z?5<;(9yDm)$jL3ht+(BUFTeT*zx%^q;CFxV7x>xhuOT%(1$$fx5NJq^2gg;!#F~mG z0wgbwHZ#z6)t;W7#=~R0K8|T^b{>g+&Ys3*i=AdqYtxiA$%TaHf9_|K9kUjQ@{j-c zUrA834Zg_800F87u&mvZ^#2rQO3TzJ)8y^Ye?e%6$03tfUIj;u(34&$QS{pQFNP{u7In39rDLvKlcov|6K!1S1b%x-3ZEg%J zlu_QlquJWwN%l%>B6`~Ejdx>Ww2jZEh2&Lcm%%X-4Gr*V-I>-qG|L-HyVl%LY`hKg zBu8`8B3v5jZ$)ocEn1t)%=DzmaT2((P6OVLA6>x7BJC;Tu)yMs%nZ*U0sBdl3W}(kVSA`Yqk$AFDo)TWi~g} znXQS73iD81Rbs$@cbEQPw*f6JHPG%|0|V`7B(QI4tRPWnK{xNEY3o&$B}PORs#sQS z4c|#)jVV+AS*0!FwIgQ<&+9*<8XELpGsGNBFDoaxswakM*MHaOPkF1%HTpj(?c7;d zkZZPHE-tb}=>_>Y$jy=WJkQj?09LqpnM(9!#K3l5I-aOCph) zKwFkzh(&xHZCXMs^)~HYLJYs_2t-7L5L^aQPy3rem*8M+DNkKT{b%dm0P0Bnd8N{Q zeXZ@|CCVdEYm2An9_l~>V-05Lo7Hzo;GLY5WOne3ii|>he1h@Ry1RRr0gzq%hP4h) zyDMtLk(~tdt}eSsF0^aoPNr+R&^ALR1n_rm-$G#?4T`XwT|0M^n7A{q3(xPy_H6?6 zd*JDzItK7M)kA|M+5u8!N@pk!b%@9Z@9*yBPH{73c({4+T2FX+dhvPO&Gg+ptcQ#0 z!TM?Kp!ArFsjrphLSnH;o@$k=W2Wo*RklQ=!_Bmbp2cdD-6BHLT_P%cjy=0rFA^RX z<`-cRd9g{%F6uOqAQz^K{J4^^xUqb9>PCgTMVwf!$;Y@6m9I68tdoZu^(aZ%p4}u( z3Ry>2k~en}NH=$FO0$#C>}qV5udzuUaQ9?eP()TdX}8??ZarxKJowICbsb5dyF^|k zl0(xMc;1sl$Afuwy~N~GS?V7wN1GfeG{+QgU)ote587RlBI1((VGxRJlk8M5L*a^G zN>+L@Zn*9!KK$@aoICdse){4wY@;psz6j4{Bo#l<^fXOflShWcMIIe_Z!Z15AtXu@ zDY4I8N>U?H9xLC4$6K~+!8O-hbHO=XcR5Lnyg522FOrT`rb2m`9@Ar$7#%FZV0RIfZXw#5 z^U$t^x2;8#ViFWd3FBqxk~cw%emg46dXFxqH`P)>m06&>n4};-H-&&Y0a=*@%sDAk zBpGJ?jOKr81WBV+EmYPr5=MDfTi$`PVk#fz%_BkDm!&CSiO9;bw~38I2EmsU(Sck6 z{&W=PGQK|n`TOH331$~7jpS#hD=*WTr;!S}t5xe7%FxtMM8c$Piw{s~W>X1f5a?%_ z5v9s9{l7;R%S|=YI9}^n1opLNBgzNSkzOPM-UQr!NQx%#mPd@>IF^7Z zni9!)7(u>9?Sr%n7(uasyG8&aLj#aN0F^+6YyoP5d;xupvTKCjjPx@j{3P3>DPow*~o}to>2mmXOr}FWb=VVYM8a=T9If1K)f|t9==c~~b9{VvANr@+b zj|>fG9zTL~Drw%=)0;}jdl!|EmER&7R4Qx>9|3Qc@69xcjs^ZVk2lk-yfSRo`SYZM z{Bc0!Kd}6o>GcuErnVo{Ynre_7 zhv?V{goXtfBksetG2R=#Z#}mc%l78IB|6r#T7MR&XA$wxPG%nb7E?)f7I5_NEWfEh zczb9Q2sbl2=C41jGi}6o$m0N|>7DWY`uVucriW-@ z{L-SeP+nwhZh9Q+OLI7NWCI(kOUB!vDM@C!8Lyk37&TMsMuxQcPbUr?oWjWynl87D zTW&grJ8wII+ip3^v=ywajGJjq<0LZrV_lJ#=}B#?TyMNDT6@yjSBU43Eb~yD&6JVnc$X1@W~t+SWf8#q!kf`3v*3PPBmJL;tCggMB${8=lV) z5!j!Gva&)PV4h-zy7Z(Crf=YQJbPpF7*?XV+{m}7n(+@vG)y%V?#)Qdn#6gME> zOpB#XaB<^3^$a8{u8I@ zt~Er&mG$wUespErjqSK+=N6I{og=Z^vkflV>5K6_JFX$=xdyHb{fPxaX&=2=z8lYb z@tz*Lw!w>Kd9fT%Ugzy%gX z5~Kblab>@9Q{N@_@t_TKC805C4l%?>d1>QBaCA;$lOCJ+IGyF_4cVEMoUw(?$Uwg^4_4mK`pYVh4e-D>A2+!r0JIIG2 zJm05$kLecKP`XV{Y;xmFa%@ub{qKJtS6_WKuDa@~^Ld>KkI2lGS6*q#Qo4OVXR-53 zRJKAppUz#<*IS9U);!eLCZnbz8dar~;y9G%Ye7^Tit=J`ASVJj*Zy$ki3y}K? zgd4CfKxzSce?NjZhT1wffO!J>VFwZ<1_-DcU@U+|rA%PwMG&SDYCi!q0Y}Co!f05c zBG@j0Oc&Ty9sxZ|`Fj!E%Y`aYnn0WZp90fHERZK)Y>^NN(;a|V2FL(E0|G4(SPTpd zWcyenSUTtLr%`s@S7qrQmgrc(T%+g)tUCa^p37Ijmt;f)Ky}qQGvXzXtoG4J1?wVE zZjXqm&c+y;Jc`Q*s*cuq^B*G;=CMGoqYVXY^_;3B)ATLdnz|Jf;6_62fiQkA5tZ{4`mq6@}qc76z?I4)U}k*KzDxs{GR>%*-j)d zo_u#6B0uVPB0}mP>UWl?KiF|+vZKCf_emKj(--aUg73||TYW2xOVn>gcxjTeEL2f<=Cjvc=qpL}{6zxeg9@$IjE zg;!sHm1Hx`tk02$M`DN%fr9{p2#-L6p3NpadN!N%T)c&~LObrfX@O02{-X(xJUsvO zPyd~f|AznekAG|Ck1sFlKX>$Jk&R~8DR~$AwJYUdmqWTSqNzzF7e|k-;n1OFXje}y zinq4(6^PgFnVlFN(LblRLyOo)hPyG)*N!f&u^8wughk{;JBw=D->!~k)Yp`wx~d#a zO$`hy%mz7mdD$qhC`LnL4LUko(AwI7cIKU!AX%ExpFxkBZIDODM=&#||G1lGID@5? zWvr~NVrhAaBxA+=rGozFrM0Dn#H=3WrR6Bd&nH>X|AtwACYihc0J1Xo^ZUvok=T!t zl02sC-|W+n%TOEd6cl7*|Nd0=k9Z{Sjiwz7M`B_G5-72>t(x{48>j8`gJ{!aKLZg% zVi86g8cBkkm=J}eME$XBxbbw$h6c0GhRVJM$(~T>OLwy0`%5oV4-24*M5wR1(I&Z5 z&zk>(B50MJiHXsM8!qfa+e|+am@O|aHUEgeb=x)Up9JYU2{Z)+DciPRZNR+9!w!Pb zT?Cy1i`Mnq49K;`?vnz+>dRLD+`)Y6lUt3*Q?ON2lng-L?7vo@=6!grybc22@;KPu z2g^G^u*h_g2{Uy`z?gO0CBW<;NauGe2=60uVx4m$DHIVCU8lIxtum}UdLFfn zoyQ_O*8gg`dst$ZVMOH0ke(ez|Hu<9Pl%p*ho)i?gzs_yeN6$|&NkS-O>sT906*)* zHqdmhom;nH2W9tmg7R(FG%gRen-A~r$$Po&+D_muZ;kG$x^5$BA_*Yj6VX$9Y!jIf zX<%G++Q~dF1phmCTn!&D+Ls{eOjq4^n;{q;tiLxwxR)E-L3v5s+_*3MfcrHF_S(Yu7KD3mMWoL*EA-ul z2%oKp^4*SDza5BXdW6pw9_#$I2=}@cf$mq62wh16w8c#6+pR5=_0HH1yG5$lwpxg9 z-Z8%so6HyyQ4z`UqAsVnuuXKW-nnxgo7}kYUF>0-Dzu4?DTDcxCb3D6@_Tq&;;E@{ z#02sJX-0`X9ZonxgVqOfGI86@C-K4iuj8w)PUD5=pJYF}8khdy&q#JiD1IPfAu_S) zy}3-&$SxC^5%JN~v`xaHP=rNd6CM#6i3pE8e~K2*X#rDsh$jIE0Z}l43V~4&kBtPA2@3QF zGBl&`0>V^?BpUKGh&TkYv-_K=IRb$e5EMw(h>3uxAs|$&a-#(?Z)m8WL*e=vx0*F& zM<2B{iff60E5Qg2w?xxb1opj|W{qAmufVwhyb3K4EnusBzWyXdAwkfe1*WEGerp_! zK?FfZ2>f_YcYVC%_Hi@PndLeNLx zD>2iZC@Npx0L888RRV_Au{;GLKi*zSSG}x09}wt55bwh8goGr>gZ);X33s-E2cO@E z?O?6bFq>rXIE?Wyh7pl|B>yDv4pCg5zL-c~vx8nzTp$u+{1D4;GCtA=sfi)TN{wI` zj07GhDi0+g%9q!8BR0wh39-7~+S)ofArL7^K}bsuK@!vBqr8#Aw1gNRB*%CmJ;~Qd zYJ#^3Gxqu;osyd5kId9yWTl57BaLB3D6&a5@^T{4(v*jxfg03SXAzufBY{+gDJUsQ zL}7kBN@kN)AwR zEh*X`iLwJRs4k8}O>qn*3T1ggD5Vtc^XIuxR2+z4S~yB`!cmeFYNRMT6s5dJCCe)3 z`O@47^B+DH#hFM+j71>dr=KU^vxD#mDA~kD#K#u(EjzUPn!X>AWa$=>9g!Z(bH;wp zexSZ!lb!D(JT}>pi13K)*kXu|rn5Onk3|3Z6dM>R&!zCSktBaM^`2zwgYzGF9qz?Qxe14ap~Ts3k`TjHYi4~$#FIFH>38ut)D%HC*1S%X3z49(~=`;Ez?{KjL!KHvc0 z5&>#~dG!l3ooN>Vo2E%=O&DdX`h|li@8P+f+cZ7M@;c}mtpihE3JVKkTlhJEzNY(Z zx5&*d5ft@3i%4&|Rv?{Vonn<^^)*9il&*5wHkx9!bNfzgyOyMAE3e5)Kx-@{?jjTny$STaNI2Z&DG>Q^q`R_iS}UR{Q1Z0O z%OMYk@p`a5cCu}Di|Dwx@}1}#WZih32!>61Y{H{-J5B8%k#2G0y{$4VQ6F$4*^yXj zx(Bc4JKxE=NEDaIi?W+-xQisi!(}UV+%`Vnm5g6Q!a&(|4avhcKBq{)HjsI)>ZG-ooYmE4iDEN{v_`7dIkp5PI$3AnO1 zT%^ynh!5P3I7+nNR>TMGLUNcZ({>^*Uh62wg(w89!QDUjl|IHNQ-ho zR=kG^Gh*G4pB8{(+MIofUdW7dM^>DNk>V`cpF|H7rum~PHyj6&ywFk{kDA;tlw|~< zB0C7>SwSdH^+jiS61pmqQI{KnmcnrKR>z^EEYe6%Wej>MqA^&Th~fGqBZIXGCT+Mb z8H@d;=x@qLxDWdg364BX`fhiM#FM~Ty4f0N5;5OH5+~AclNlF=J9#YG?fBkBbah^2 z)0yDd#71d$y0h5&!j!>dn<&ZSV-p^Uj?Dlz@toGJ>QBjUzvX(o|L*H%O53B4Jb7+L=ON*Q|}u zbpqi*0uBNY7O>cy@*^S;V8ok1#sFNtBztO%S(L@=HHAh~mGm4M;rA!#58$)OAVty0 z#m0mqHa5ac)rn&09}+-TO#?$?|=py8Z?F;JmW57B9QINd;0kW^4OpE;xiJ+8;=RwOAEC_ zSqCl94&!^$Lc#D*dApcS(PDCW!pyWal2QGaOi%#9w?@|;3)mHk$ZC38V1NtTf@kFB4a&bnW7y_S5K=CzVZ4s^i zn-MtoGn+=F?hS`_veN(1#76r<+hE5D`0F{swI+o?f$ifd;-U2#Y!kJQ+R2Q%iwLq^ z{0ZVDK73a;i81Rom``o&NwA^Ng8;;Xq{c(X0v&qCw&)-1Np?Iaii^}Jk2z*sq{n(k zTI0fYj0iRx45aT3L{3Hs!FmjVcO3FE!m*#gJ})cu0x8%RX~2EKeggfhFoJx7d6I?- zkp+^8q8xcx6VN~Y`Yb=SMP(Mtx}0eR(VzE922tmxAu*OmsA+qOUy*i<8ypZOukyVI(EWk|LJFd$iOh zVW>L?WBvK)ZA(W_b29o`_F}X%17n?;=&XrFTU8V~>*CSZy4RfVrF7NvK9y1E;5kWu zQxZnoQ!v;RkAcQm^fyMMyEe>(qiuf79z)IX=&g;x0LvNC{W?-G z+LeL!hP`O0&M-S6h7-63Xi$WGz?sbGU5elc{5umL9V<@|34BsgBK3);iD>$xzEKe+ z>Lc^rTjET1BxWs-h`fXJI7^_WpN5kBP(*snbhhXaBW8*l36IuB6_#Y7t)m9=HhYk$ zrKRo1p^f8s_x<9} z#7=Ye{QU1AJo?$w+5X4>_(%NR-~T@(B@ssA;v>z#l>Y2DJR-!b4~vPG=UO(*kNQt~ zFvtwtNGy-Dbi}4E@b#4rkIud+YvA0B)c8X&OUyo=5@8ZZ7I5CfdwTFW zT=ZUfU(0jAV*+#Yu9>FmOdnt!JhZNY`p%6cOhiqg27|1f|3r>S#9Rf$U9p{{Vwa{o z8P5m_0q^UsdTrI{Jwd%ZDw;~g&@3u9>q9IMxSM20(}>&%`1TO6@78~2kPx`=*+ob+ z{m6}g&>|+=NL*A7f&I3vJjb%OGe5OKL2iP z<8y8y$=X3;wTtbcwzmn6M)O5-Y;q$HjzZg`qjScie+nJoy&VCb*CO11J3@W0K~%st#02d?G)YD@i9=F^JHs6$8Cys?wjv>P zH{wHfQg)C`>_Af3PUIx{AScu+Wo-+0K1f9W21%@iMFo9>CgA zK8{V7Ys#ZMf@DEABhmfrqc_!`&OL zc45xV%C9T&l|iI37$o_%aze@SR~ z2tvaID!maLq6N6tRGPpblAXXHl7m1J3XRHJq$MDLWI`UCKq`BQrdm-n?aEB!qR5*g zvZ8evGSY!8Gl(S0cxzZjFv}06fzobBkzrb(9*o$CP((8x&irOEx2B}AKGtqhtdstD zG0=@bf#6;1N#s3Zo=}z%#_MG0l&<;yk|5U8>;T0wBFuKNK?K;rh>Ou$8!a%Tq2#eZ zwOLmaABv>pD8wg5BRnPyJ|so%G>{(hlmv#rFDL}wYzI#nP7)u9HGNC~M`Mzo=3b^zvZ<7^QhXWr zF=2M9AJ6+^e?|boyGG=Lk&`JPABg;Yp*WBog1l@3u-tHz7sjGAKbqh@!i1G22?Xu& zJdR@C@be;&Uy>Vv@`5N-6hxa5_oDq_M#>4&8!Pu>pyL4A>(dQLuPSC)1oCD1ame2v z%MUJ&?uUwUNjLgZM;xY5Kqz)i{{EW^wg&ikf)=oCJAj7Bp2mT=qAALtc*qn!F*p` z0>OI{x~gN)ULJ{_nmCM+6ijwy5wP#YU}G|-7+)C3!Ax%^#@drv9*qJ){bXkf=9soP zu+M~(1oTs#shH_XGv~(IlQ7kthK0d>yf(v;Kf}mW=U(0?fnf@khqAFekcoxfbj)@$ zPj{+`&-K#q@cKEW_oQQfARCLr`>`^bhl7)a*qAP+6yf^S8r*)g6*sKb<2Vh=bk9Bv zH1R!(xYWmDb|4Ff=Sy+@!8)8;t-uW{CAev|lm@2;cOR+6Eo)`Cna4LXyyZ{@u3IU_ z^~)@GsR-9C6wpW&(4 zi7GsJs*VP$p7DCzf4mNl-`0trJvEQpukS=-O#+Gv5)mC4KpiB4qX8Gbdy*ZI06XqX zf}BGU9xVdaD87KNHRV$SC<4^-B5H(elkjYk9_FDgyjVnnM0jiw>CqH7k)E)~V1$uK zhZEFClJFFe@O1Y!nRQT}9zMv-%)^nRr$~6-BiXS$JU@Hw73|O5M?)wC2d)& zxI6_ung&Ur>%n&-4}#LY_>R0ZMTdaIjey!La+a4vL_kx01aw3W2$1CA&{_vQk4E%& z5F~4tyd5MM=eGVE7WC zd%13bkNZ|LEh*58*Lg7AcpJ7Nz+)SNeRm>AQYZlkDu;PNKJ6B$I7UawpQa&C&J(vDU!BrZ?yO zbTo>*!*;q&f+WVHMuH=vBXVPt9Bu!uaF^b-A-MALI0!ELi96d>yWW-;q@kub6%D0H z81KrbUe2K2&!(-&!B{Kx`A{j=$E&e6R)N*AGAs=h@wf~JC(5ukT8yL9l{hwAiCYdf z;|>yn+csKoBlY|Z%e8pyh9NwBq7Sz%H4xOdC{N6p@ZCqI@aaUfX zyn6Ql-hF5SpFBCov^l)@@Hjqxl4U(Ig7=@8F!JtWWBB07NtQj1*YD?Z-rj~+?&!oD z_x0nY+uHH`O|AIVTesk^K6@4g$pP@$c_qpA7Jk>7*2ee8Z)XR;*Bv{x-iiH10~4@qV8nD{N_qv_m{|*r!=>&fBwzpMcHg#ZGA~H7Fk@v`%zwACPjSg5L1F#~q_GVQrcvhy z6GVcbxJDqg?!c@)@Fm#@@IZ)0`Xjv%72$=LXfH%Zc_2Q<3kk85Xb&XBcp@=I3+uJ8 zn?h!r9IyX#2|?Q4Py+G@=>JzTB#fss%ubCW$c`bHCLqb(i?V`rR2F5L?R|4HBd|X+ zlHfhWOs&byjzCEvfpu{*O7as>kQ0l-oCJzS#~J3vqF`SX4rE1|YxkvxG7QH7rsZWv zF@Fq74kQp%r=q?hn_&v_nV!Ed8V7i;;6M^Gv*M7N9*3m8@d%5GL{L~b0ZFLw99Yw; z0 z1O%uoo+I&;M@qz0yPFl}C7`-A8C69ws4a;_eOVku9)NIy?kKd^#+k6bGz<-8;b~*qVf)w&e3^k^!a-6Mzr468N?xqo*+e-Su(kZHUKc+g?lycoRU+_GJ^4XJC-m z3^gb6nBaJ(#DHpz)Q_~rV}byFq%+HS3ra~Qa`y3EkhEH!J9$>L7K5RL@4(M^e3Wj1 z88dQC(XrZ9ZLH}e7O1sAteK+5_o1n6dLJS%egsDrNwwaU-nGt|^CYqX>H`dQPE+MX zs#6jJFf&q)n>Jc;>!EtwvRaKh)@pFeQaNs2DaUQAWw?((|6a;HhpKSzMm6r)sKTA= z70gGl&f|wpG~(e?&5p1MkKfpa$8K!J!`CaH#FlpUjM@F?Repi4!n40 zmyzdgZO79r^I3+^-O**rc=q-#JbOnEUc6@jFWo+$?OeR$=eVZ8d#AYT7TFQtcusRyq=&~3suAL_$f4^tlL z$7>Jv;AanX;Whg_<<0xM@Fv5znD!3yzW>M|K6-MLGJ^LW>!&UBqDy+G)SA!2>9B>#ul3Z*?A-( zA;IiZ>=y)_G78Sq+caHL9$jbBW5o%GMX)H&WXE`Yf~jw%dmW_5p4t`?5rkj@{P4(7 zvuj&^Q5IS|>Iv+F;O_2=eftV=>bjfp-UsiK?0kb?{pOc=5R|+U{IyYS#Cc*?8eLjA;h5Kt&x|JPxk*ME7q6YOiJL9O@n z^4!Tjq=oQXjcB2>hX6m*y|nIO=e2O(qb+l{P;`DbLB|%pTfQri4UH0$gc!o(5P@#z zbTh?@1V$bi5f~Sd9W6Q+5n}o-#%;0Fcc^R;AN{Wr36IE*8-ci4-@-ZwtQ+7ZAWlH8 zUA}_ZF2O!~5EbN#_z)NDjiipGWW@R+E6yM3F}{fO-AY2S%Xk(NLUth~%8lZR#IT*r z=ZfTr?I_CdM^?Nml0vWHH9L@iWJJWZfB-P*)Iy_No|+wP&KQE*Z^5v~i`eSRJjz!axazn=&!q zS8QZ$tO^H73RXudG22^+mEm$M4whqns1Y>){fCu^ zCfnRq?M70f@5cJJtib{u>l?Gz_}Jg1#6#JikiazJzl>JB-gMA3n2)kDgh^8Rk)F%lotg zU%aw`k4P3ietHp~y|_kVu|gs+iw{U9PBYKh=T`B}t4DG6`4xQ4yx+Wf7-ybc!pBd{ zl2pv%qsK^S9vY>NAIFD`fAr`K^|%#&`s4yWdv+CH|8xWA7)m~VY!+vqUc%?B<0mZR zQ<9O-pI^WiFD&BpQ`0#8^t3rv{L`nV@byb8EMpGmo|`wJ(#}0Uk8>}~;j`yvS(j;i z^3()AdVCCT-rK|bj^YgSeEQ@B!%2Me(lUPW+B!aAxo27KXS~m6FD&2;%afQi%14il z<0C!8!(({ko__r5jT`VcXP-oQS^#`^{?HJ9t)VhRmEYHP_K_XC{|>)c(&}^imeQ7!edA=zdIxR2JI=0B0loy+tVHG<3A;v(_JllA<`pJ+)V$MKJ<1+ za$+0~uP@`hcV9Dv=l=Wdz?DBHk@)_9cC6tM!4T1~$c82Ix_r-&4V!S-q{E()rnq)n z)4Cda`kKg$^4sJ@Vwa(~oyShM%l)^=B|+hS1oawW^r6Ak^a_GR5+45$0>EH`M@=Oo z+0p++BqsW!C_jdTBNo+Vv8X7FKxJ__sws7)5vVJPAjpnHy{5>N#t>}B6L=@1tu__y z4H*p6&{CCxwwiQwH)Nx$F&nK_sYZI6_G7xg0t;jHm>a6Xcy}QtdJbT$D+dG3=>*d0 z7$XRt8_vhdcnN0u^DxwshM^{&qYN}sm~Ws(lF9PY(AkiR{?;svb|1iC2g_l6q%#*& zy#<)Z-G>ZJ3MpBO@~nvGK8d_E0mDs4ZtTUCm5~qR5*N z5MX)1v}nEKd2G%1_J07+fc4(vbtcsDLpQYGF#_l(2!J2I zwbP88KXOwW9wc~vh@e{MA7uE*&24z}mJa6W!lO5LFujdJK+fam@9M=1clHxV_u)Cp zlRW>_EuDDr?g6}V-!Or6Kc2j$&B!x%G0y{&xZ`9GIvdl>W*Olm+uESO8d)d#@nV}& zd`Tz`;UV#H2CE`F_AXnR!Xr`KB1KkPYXnzog7hxT`X9byd#a*D(?3LRv=%BbD3Cxa z$N(%udZ-LSgFQ*0WAVZx>-hYQ>#6)_@%nxJRD2US{UjCU6XOKsgZS|AQGD>&hymj7 zJ~)7P9P;)9eR%spf_J9B_wW$je{|R=-H)Ca!#fZ6e5Ge1mT**84lPuh?V-f?0yiWr0zQ_Pch{6wfpAT8a zJ0u)$+|!1)9_X~ne~fi{WPtbXrwp8r>v_I>na1U(3#{)5jnpWO#}c1!g5+bAd4`#1 zh{kT1$NhMp#N;E%Bfa?OVHy)#bj)Y?_;I$^<9e1J)`RJMzE2pQeykU#dHz%8`-Jl8 z;{*8YsbQR@oPJ_}($6&Jdy@H{=*H>CdvS*MIrG>MKBav8_#jTdFpmHGSNGuC)3@{6 z&LnXTH+sz4nsbxPi165AAKN6y`B?ciGAm=CP+(7?L`K3>BlZr`vnlMie)5W6NO}zM z3GzNqc5K2U2{aN2dEe#j$<5C~V@oy3PdFkX;?dgLXa0xh{SQCDSKoYzU;O&#c;~&h zQBqcHksKN{87_Nt}fTmIt+kL}_4C;a{2|E(c9 zLE3UXgl!Wnvg1T}_&rKTYF9iF9_dPv9kc0-Ki`MPPWb!mMu5*Q1o`epAj4o^f^%ON z1bXjAsK1*L9f$b2B1{`>_`4#Az&(i9>0G!rz6fwZ7=e7SAFuakdf*;J1bdiud*MO6 zhUdeBT^U;EB(ag+h>7q-R4B{$-^ueXh-6%85hMh0QJzSO*HmAo5%|YNyCZvVAX4Le z5Fh4(%i~=)?Z&PNHJo3Eu&MuYmXF|0K!Fp!a6Q70PoXq9ZSj z<Ir1gBp-fv;Y_nV|n9-hOQFxt-q?zmsj- zw_w|jt%iuWyIUKJXr0fF?b>ib9vJKUu?deteMbsKe)R3x-<$s1%B)kRZPNc+sZ3k! zV|jqwi9d|Tjzm`8!*D+jG?whghp#@2-=BLPA3c8pA3n8$kDi{#=RaK~@tDKw4-De1 z2S@SVSqUW_Jw5mZad5XQuGQ zt84hxdu%tRy~FdLJWulQ!n~2se!7IuURuK0pOSR&_-)z-c|=Y>L*n!3m?0l$pPjJ? z#xpY}e){Pt+L=*9EIxdE1fM=VY4U#f*d%R&JTAQN6UU{jo}I+!X_B00 zCt2@FKKHcA_Z8)rZyds>thdO{=X_R?937wGeNI0+YtlY_ie-p=v3?&tI*H%Dbp!tI zb5Ec)D;T~zE{E&(tBto-q;&`1w+PSn-TaO!iiKE4l!CUS9jssM+lizy}8pd6kp#qoto93x2A z@xh5Atc?{ge<6;|RhsEBH?Ox)2{z#9Y$a|x)Qrb&9>7D_cjET-YTUM7g*y&a;;zFQ zNv^>i>lL_psRXw!m*ckO3WmI9y%x7`G~o8bO;n_fxcN{M?l{(N;A1LmwW$YZCY0I*GaQ8dQ{|puBV+va?go0#~i|36z2L7l^iiw7doa z(BB2B?PF_)GHbrP#F~1wDM}Og))u+mRABl~5o=d9<(GHDD$6QQ|Gw;r1N$Oz@=zB( zc;z~re*HM!;z$4HlT;M^@IHKY-hl3RpQN&;PvJM?K@ymqX!2#vQqG>$eC>5;d`CNic?9dU_sJKFC-=gnpY1gQe1)_MyIFzMK= zzv2gPj}`}!3~8FDkJfOoAIL)x9^#IMioH1V`mOlOvv*M$vb`Q3#uv|wF{D@=!m?!XVB(I)G0eR$32bj)5AFP6p6!=EQbW+6XoUcFJ7I;&tGBxU_C#fp*sD< zC_bY>{EP-m$DcmIXC#sNkaafKkgS}3Om*tRS(2bLl+%nXoAhHl23qMPIT3u%Dany$7D2||P^2aJBQ@3w z8S!37kMl5+lj4s9=|R|+>|>4<=4S+=kN_n=GZ1;{0VvE4L3Lp)8u^{KRHmS#HWSSi zDX1?=M15%zn#xnqP@0V1rd-U8)S{;;2en0UXsb>~cVjl@N2@VAT#2EMJoL5f!^}_x zCi;r8G*QE_i08_1bhQo3)3sQds=@j~18zRti<2vDSevZD(fKBvV*G}KU09!K!1PcR za?&E9btYQNA}@kQhxIP>-t-RbcV>fZrRiO(AM1Ue{{vdbv?*KcG)z8_~u>8J2&B1AKigp ze|#5yfBHWB>O;mqx(mPk5>Y z+=1VHdJEIJcZx#+F!kM9lm{?A3lGUMD98Qa)EN%Sb4^2S3Y@aoZy_qgLXo*E1|vapn71&%^i^B5Cr%@Y!^%@T;G#nLH}{W7gpe?|GW{ zQ{6w7he!2&X@R>1;a&;5z=vHbTRBVl9PeE8(JX-_@Zhips9C%pE3+P@EYPVM={ zi}F0N-HEw=`}Xztzdm~uHCX}h-F_L|wF4mui+QIG(xU+d4N7Q>aBZh8&&~E7Bs(I| zyDua>A~weR!}AJVMOY{%-Qnp`C~+n@-zB?9cy{v}-otO%g?7!AqKz@s?=;YB&tgbQ zjK}KA0^WY>RebZ!XSnyC+wr3xUW&^v`yPcP#;o1BnDE#hp3P}yHc_z&iam8rBu9it zULJ{c?WR}9j@#whWhwmk$R*)X;WVU?h>VIsbWEHvs=*NRemu@=?j~uuWw{i0u2Z%y!G4>+;F%XwPpGj z{sbf^Mj=#xnCPPo5G-P&>1PoU5hOw}hR_HI*@Wg|g5wOZZIJCOcA5>Wtet##t-L#q zIq3d|LsQzC<>&1C~{0mg<3;6s+3ezO#q;#I=hfjs}F+X6rcfWXPo(gc83QD6Hmh1QI z3o|C~7rg$9m*v8h@|mUbnKvUQpS?Isr8aFwMm~O8AHPEgK0l^HI88-!h6?H&701_9 zLSIoad_nT`rIZrW6n;hp^Wmc-Mj?JdC4BnTnE?JXc{ks29tt-&yxVHl$0VHtPFN3Us1hU|*$ zuneuo5{L~AbVYkz2F|{I3;yQwyUj?@Sw8RQ1lwOfH{l>WD8`I(?X zoHTOgX^n1)^oa1t%RzENqVoxl&k(%Jn{oCjkq43)k&-7w9!MGp^d%xI3Jp=}irB${EH_Gfm;A zBqHDPxg=*;_s>W`6n;wLrqFn9M8xEAAsIPKf^?SYXL$ZB<#Upxa}>ozyiT*OXIam4 z&yX0B1Sp*V&e195gz^Nn@EpMe9ljA)3hz4e?t)x8G_`r1mx!LM{sBu;uA73F|mxN zo_-M@fAT55`1*5v`OO!2^X=DBT3%v2J2GhY$e!~W9-Gi8Za<$y={69P*x<|tWHwMc z56T?rHcXie*Z4~>huHn`6u_`tB>x+m+#+>Uy~I4 z;v*7)PwuBEem8zeV({sky#C{d(Oi`d*Bw8E%Z_Uape*nsFPp%%-p$2?RqxlH#;DNr z2M6hKCOpmyTGDc18kjI5v&H|NorB?>>JN zzx?!elAD|G%lEG%xw#p?`{Wk~ZLJ=^%r5Nuw%^-5ezFuRrC zf~%`1cJ3fi+|Ku~i@=lZXn!*j`yJWelI{fCyW7YWjzZR-DT%myO_ zrRG0(cIf-#x$RpK6YPtL?mB$(>QC^OUp#})UOr(F1=?lVn$y&cr=Md;LULC2pXB3< zmsboC_~zAh6F+B&5bZia{x8{fKYwkV*O5fXEA#9OuOWGmcjRX)`1uPG3w~Ey#C9d$+JXTNStAjkU74G z8ABpOC`2UAm^6_Lk`UsP)5IR1kT88rtf9Or=Tj26v$`j-#W$}X;yc^0>OwjFJP8%g zNtEv+K9d>L<@0{%7~uVY*h9z0Yo+`mR&0~g&o8omTK~gz-tWwFQ>Gn1dS;wNiS=Rp zy~jt4=sCV30sMkE;8S9qZ+>~6XIhrH#>#bUVRB)e(@6h2>=3^6h`*D$nA-wf)Ki+$!A0H6JeE8Tf-q+NYha{StNd`>D zE=K<06H_ECy?F7~HoSIsAKrgdKzp9oGM(h;*_%7@(w+VMSl02EAKi*yzjd6TdD=|* z`S9^!mOp^^AMV8m1VS1Ww?>%92)0;0!;kerX<^ypT39xYcOD_J5vh4>l64%xyR3_* z;;4>i*?B*G#`=gpd*vWLdF2@HyJ-jw#LL%D(^%1#hVAI?4|VAc}@zOicKHkD^zkXX*6XPUr-5t`O`UkNwV@4 z<#Qf?#7GkFGiQ!ZbsTYB2p}5}B7thn=2BO%2R$_Ko5+Ne6H69^?D>njVf!(kmcXT!E!$&V&hrjylE<^mzJUNChX;i)< z8T|4^8VM2|6FNxF*DtZ1C||Oj&JyHHM0`Yg%rq>5|1%;HPqTkY2=vc5NQXoOue8rtzt7A)Nzh2Z&hmNBJ;(Y{&OSTLJ~qaF$o$W<-jvUtWBzBA zNA)0~q+$9@eU60Z|NQDM{Pwf^Fy51cqMTSngz(+*o%%S)j!kF;+MLDqe%R*}ng#6a zCzh8{ULU22An_UzXNpaBtm$mFScJ!!^cV^7{3F5>p#N723q(L@5Q$F+g2ICklNg1J z>@)-h>A%l%aPZ)Dc=?q#ar*38eEscL`0AU_@%o#u{So1jL3Gt3@{2q;I<}w7_Wao7 z<)0IKv|8c};Qn_I9uXOl9^1pCDQ%i!D$$fSA5AF^4mE2X<6jwV6e{&As zo_-dezjHqc#@+Zi3C3?eCXoK@0sQ`q2*o}4?WgzQcO)6VKT9zF#ZT~GzJ1Kd-+cXu zIsX0G`|w*5j^EPm{l(dP2-xq%U!S|*5x)G$@U)z@PGI5 z?fCttcktZ3_%C1n1b_4SeLVjF{)X|t5U~H^9{k~R$~k#Cbe}u%dy)cqIetel|ML&7 z!@b z#60gFr<@?5C&+$7o|}_~ApP~(yNx~k;Hf!+_zlV-lABY8*ofeKOG5K2lAE8uzG33O zdG9!W@z!Dd@@~i6ELD@p`v32`yeiLk0ZIiuKTW#+$??dfwe?RtjV~Yrn{e3y-Q5)+$%7Z5m zY`;T^HjOYqc{_pf_HBrd48%}-B|iGu1NiH&p2Ih9-$=4Y96&q%Ira5v+F^n74{3ux z5eXpp|C~1W+qaIe9XHsX%Z6B-BUsn-fAjjfHDGE6N*R&}e9m*9F^{}6Uy%HKO?xe` z&9@{vUy>YrOQIp-Bx0fX&tE@CTsLem*=Z7sPc-x6G1@v3gHMUM41sxO%8;6`c)xR| z4kRMa>bwR{NsLH(uTp*|GInLty3Q(Vw-N zZ;Yfz#MP|h(S`*iGxFMq@M!&xwT8zcGsgQP(!@~P(Tn8RgvVL_nB+JM@2kNLk{gK# zk1g`@n7{0xeGnFshi7?d0dKweGo1VEBiwiI9md0BPifoSw7?=F)*2g;6{T+y6p2kb z6qh$gdFAQR)HZo}M1Jh^cKBT+$2tDbiSk@5m&lL=5exXRyhZRHEW4 z6?2uU#B58l$Re}lZZnFRnVFfHnVE_i#c0dW?(UiCo<8TUd(Z#=?;G(&Rk}t!=d8P? zkF@s6%*gz*A|oOr_LF^_Y6evOpt>*U-7!wkc%^WLt&eofPN?2HO z3a#oTIZ^Y4k_ozmrqD3sHm9{Rw6As$8XoBbo+zXwMBq2Cb-<-V91Js8@j0!Ps+^KXL1s=9(!cOi1!i7=(N3gtfJpn>WJ{A5Vwo@xZ z_*<*|7b)E*f};GxgamF2k5G7R;W2j1yk4UHJf>^E_=GxR)|+7EI3a|ccBug}LaE^7 z=x~&>zGamvW!;uAFG`bGK+!d$%sXGqchW(dU`-Y*iPG{3F9ie}1HeAZRw=J9;lBAh zx{lid{hneiU=qF8%Wsjc%jFMEIa}o2R+uh6Kx{ZH+?gQ?Rsk;*>JMjP}i! zW?!23I(N-~CGc3(`Tz0%|K$Jw7ysSN;fXimEIs-Vmp~vC@Tk9xj!)v)mBx2H0c~2R z<2Ud0!pTGH@&Ek!E*_Vkpt8EtxKjyIo)vAxcLa{#SMJA;<@@kW!FDRwTbaHS-Oy#wS`|EHobEPSVyEj+he%2}@dgk(r^SQsA{pnKH$6D?$VOg!@Zv{xp zdHq5ox311N5F(4tgX~qTqm2ZfRVX}7<@>@sD)I|heyp#&mAEV5p;CYA@?5*+@9yyT z@1k0U@Ya_q^3|oIgGMPO9_cA7na%WD>FF`k3%Nm;u>|Kn@1<1m^zhQ z|L$hWS~eF2aswl92!e_!1suOrKIT}K4#I}!xfGqE9!6!qh~rx2Md}!os!Ou&aR2fw z>KFu`Gn1)*a7?^DAK81^XYc3OaZI`wgC_7=SJa=ZbaV80j5!mg&S8*wWOpgunE9aBBpKGn|8F>piR zX+Tkww#JIoCU-dfj<93g+MZ+C@xqVNB^nRB`wn=#&{GXQ+?vRhe9!d(xJ{c@m_2KT zacL_p&BKoEoABZbzrf%B-T#Gu{QJK%3y=P1z$5Tbn#2nt0v>^m((Bc$2R}bQ13eB* zyb;>mJ=|}V?(U`Q+`d=beQL|k^rg)CLdV9(6MPgkEY8eVh>ert9ZqF23>i%$Fnh|! zD80E6KUD6)of}KpDNHdhK^~QrJbj5iM8$;-*fdm1k$f827)#lJi>dS(VPh-ivCb9C zOv*-gi!ark3v<}GC*s1UK{&s0ATDhi#`{iT=d=KK+1bd)G@rlA5m=co!%`MUvN7vx zITcI7ObL~0t4xjJz4RjZ{7>1?HCe8NFKr25{8B0K$C+0uRt5Sx&6oJ@RVl4hB=$`< z>x*=4pNd4eP_fdRP|0o5B$^$U$d|_^`kK{u zH|OE*_1Wyq2|NUrs>@T@5y@=qlkZ2I>`Q<;HF0`N_D?``^3Dj*j3{O6Vy*Nk#U|SRNB(F6#IETRbl1-zYyj z4i#s{5dfs<^KY<2t2jNGX{=jzj<;pu(N`G*2@-ZzY*Xrti!Lq3%rX7ZsZ}I0QswF= z7b3!;EI6ze^J3}?yD3wZui(>`xjUA{O`>C0S0<{SsUvHFbIPqOc1_dL(6U8KGmlCx zbDCcz5$qV?(U(qB?~w$aNW9ax9WEYJ+gZUfn#hhggf^C|Kz>@LfF&t35kRpmWvku)WV)jlUtkm z%$T?&!cGd3l9JG}Wjen2>|Gq$zXt#JzgFT&#WCC?&^#^LW?_Yp@w}3qMp4ddg*m*-qJEtvLLxtTo>dl)f$9hHnKogr08*C65U+U-Q1-mv7^5 zw;L#ud`ksi*FELAhdFDEk}u`_>jFZPz>B~ARu{UDeO$T+qrT{au*Sbe5EbCY`ZCNqk!V5E1`QjaK9wrDL^YHGCF=mw%{8*-a4UB< zFYr`D50!HpVw!ME@t37X3K_4}+C2(qt^Uu2^A8P+V4CKWgqeP`U!N{mvuq;%^g|YI z56UCH%DC^I2l)yuf(>xi8 zbT(N-F3o1SvrckW^LghQ*R5im;}}+OO7JrcrE*i_bt;FFvr`E^9Gg#bT%*3Exi3Yh zC$a42vMd)E>rBbH=>`tVV67XkZS@BNKcr{agq=t%Mk&} z21%I4^Ky+RSW(|AWqJhxs+7=EdVD(1&tYDt(+jx#^Q;ZZHn{0GR z{T&5B&~eF$spcA`N%9WKrJwmdJDcN;0BH)hQ#hV!{?bgISH!o;93R8%8&kDBVx19+*4S#_^wwcE2 zH(BrX8`k4iq3886N#LrwB;1;JRlvf2SP&y{5v2HB*BWWQ4$o_=V?m5QZfWa)$17g& zabln+m@w^=K#mtda%~gza9^&gny;#Hu1)Kf)xc9yl#R_B*WedFw=Qk}q~HW*E{*`i zD;9PXmRfM)1r&*MXY)dkgByt;#?A3@TX!Gr>w5QF2RurbYn(Ug+w?D*@3C}+@ z3b`jn8eh=DlM`@{FYaS@kc#}GzzhnL9j`CBRFbs-sMf=gQY;rIDM3z2uC~}1rMpI4 zn!Bd9xOA`O$BB-$;H7cfil$-NaFziPT!ZXZ{uX#%iW0kS<8I>v(s_w%1i@0 z_pZ+&ys^W-Bv@o;aZXknb}kpDp@OiY<69TT@aPBO(Olg+&Cq@Tvco@a%a26j!m7I zq>{%98(DrzGKKe2=P??UH|C@K<_gT4{3hDB2s4Y7M(Zm%;n0>B6;aiNEMv0Ru)LJ6 z@|4KE&;^e0x*paRmA9);R~K@FbNi;weIg}M1CAE#6L_U0M&aGpI^yyn0%zuOwt0P# zV!M-H@d-k;EF*k3G}*pFP$6s0;Xxb(2JxL>`)At~B*@Yz_pjW2gHX7C7>e1x4fF_5 zC~^_gaS6ddTk9SsAuKUXTUl4+r!DJdA>Wh2gZvEvs)T>P#8^%A(Sh}-P@0GIPL5)o z33_yoVJO#m{=zynYYk^1Y zPy1m642d`WuZbYZNVIinQ)p__zxrTD>+qPs1%#d$MI)nfuQ@y|+BU;GzkM66+Oa0`t{7AOml8* z`hx6~D~a|s=xXp4=;&C_{nAS>;qABIMw>Qm3@o{81w6W5^0#qmv;Y3b|M(vUWE3sa zS#_M4NNuq!tN3KZ#w8*-H5IK}x4>tgy@x~l*5JSYu^f-ej^aKQkEg}5%1{Utawq$t zY%hMS*l(;l7H9}CCEOA;9urs|6>Ok_y_M-(%sBzmlOh5QfBUR#2c8j%zA0lm0ZP#G zjVu_HCxx2`DVqp0+X+EC`8Q?Z*=S(rA;ITi)_OeSy}lDr5qQ3@B>a?a;=KtyOcRuS z&piGpxZ>Y`%-=p@ek$1?J}BId5uf%%nE$V+JW*+CSl=kbHA=DtQ3s={OIJ_MrBVB4 zeh3wCxv_(+@pwm?b0o13#1>Y7l!GoiA2>SGhzQn;)>a*GT_3SqQ+*LGOBcszk8 z4|npm;7$$!t$<25q350g1rS^w6I>qW%1upHnYG4>^N?`!gx7pmvXP3qKt_f(+zNp1XD-D3n+s6Ru}})W6!E(pLv9mxDlg5V$i;hx z*)LYaE-K}>dH>tjmf#WV+gieYqJmY>fJTDtCQx_lF7J9bt#9eb^CI+mN0>P7V< ztEqd>w6A(p{b^j1#YpM8&TM&)mKkaIYQXEba*PmJe2CAu0QW8}#)BJj>03y+m~P;q zM00ovFVY)sUtUN(U};W$PYo|(>b z(+Ez}4RGpXU;Zgs#^$hG7Z8-F#~q!De1b#C>AARnbp=Y!@II$!^4>GK<-L#1l=7%`DRF@yP9f}E4{k#&5Q4XJ%>7InrM z)H!Dpn&zY6_#E6kFcnvJ%SCNE&TkuyE4#+y>Yj->vw4IOoy$BpgXd=wnr7khjtMxl z{44C5|1l0OABa;MMq%HwFL7w)Aai_V#Som|I2u`dCQ)CUh)j;NS$h-_^#cOcAnL#t z02R$n^OUpq4=3;pVwumu_a!^SjJ~i()K|Iukr`A^Un)MM+A^BUiY>tHs=Hce` zODHSO#@aQ@s)5HwV-tV~KCCEsfzlkLcr7zd1St-JbgXN<@Z+xWin9ng@NvJ_@8k-n zV{P@WxHWyACqI)K} z(;)MX`hbT@m=qJyuKX=ECq!R%<)WjnxJCK`Oa(@hzvKs6?0W&#Nj=P7!j5nSO3%&2 zwY{SVJwuUA#Z3N|G9Ttrfznst;^R^fWvU!XB~LCsQh2w<8!QgB>(p#mty zl1f$?8>CUf&ucyl71A@K4fM!oRC8P&uycHHeF0AH9E0}jUL4LXlQefTQN(4cK8gn1kS-Iv1v6E6AYFnm(gk`C8oj2F;SRhnsw$lhW>?GNF z-eTLieUXFEIf9P9%AK9bj%_*={2*Tu&NzVG%3Xs+(+3cELXnyjju@?VVWQWm%v6pJ ze)J{YmYI(2Tq-Mq9&KH@YODHlby%awN+GqY?YnDrECty8PWy_^rLQ0Qdr1iqc&kra zoZm+PyuR49Z3FUBwokI{6R1lFIpu7JWrPYd_ePc%z6UbJXYLzmBETs6i`D@!^UwB= zBq)qR9@7iCUv^|1g`MeszB^1W+((g{sN6xhE#Pq;-G*3{+*l5%QdYbO}Jy% zP6Rh*Fd*D`fycSFIq-QN{L}^>6RGX50#7tz2|NkRuPi(tfAJBz^yr4J-TPqP!sR%7 z@d~o?vkmZ+-6}<9ehvnF_`Y#V(8N@7-_yPXJG{+^q>c4tC-b6O4r?n(ugQoaXN&A~h|| zxM6(t@@Rwo(W`pz~i9jiQKh#?}r6~rHxG6%6o06Y{d^1Ta4l_*RDso0v@Il zgk-%D6ns;%fk39eM+oBf2U(%G{f6N5NC3q=+{#*shlSfP_NzXK2zmjH>c7aklj2lU zf2tD)tg1Vw6ziO;S5vn>s1fK`3yuw7psj-*>*~h)7^R2`5#h$n+40TiF|b6~5%8p@ zB%yPs7FaZUIR5s?o$Gur}=W%+hFAPl`QLmbsYa!56zK=C+D#*osaU<1U44$8i11m>h@A5%7 zxn(R)ZX1tdo5o|$vSB#4o%+MMCCt+dqlZbaC_beKY}1i@d@`YmfN`8-jy`e|pf=9@ z4aR=d2@}8Sj(OwX#Hf!uVe|)`uyV?W81`NV4F63h40^jQzIeR_h7Ra}A@8=s$9x)+?DCqI)vbPOfRxVA}I zj4}hGBt{k<4$98LGk5xzD7m=>&noxgevbTY70!|5EdV*9$!OeCK~m#YxIum8mP?QP z^Q~1!3gK7-JDU5WIS!gsFQr}K4)vAi?v15(R_oGnguU<&KKKV5gGG z_v5TZcyx0Sj%^!>H~VFvZSw>qvrH1qqMw@MltSfMinCRcr2wn*kvIj}DaL>8-1E-6 zYn~@^gNcZyVr9THhDv`N-s-KO1>AFPLoAcASRc!r9#vHCMLyCH% z$&iww)6-CJatd;^n3sH9PbiAZG`0yviJM{IRh^ll-ISiu#75;|Hapc>1TB4GvRmb; z?DR~Oo+d!c|CWF2b~XneLiOSq1JHq;PkO56l4;RDTlQ9owB>26VLsr|vA0a!zUoY( zYijR1W!GKjw)(AZ{w^UMN!_mKI3!K_Xh`hScSQ(8)QEioNQNUAnia>Ef zP(j6<+uTFLa77DpZXdzHU^ou1`w9nFe}ThmzrevYpPBt*YX;)v+JQK=ZXix;&53n` zaBS6=II`k%99;4-_AUAlyXXHFyXO5CyXU>n{SUBX!3WsF{jGC9#Ey9%W9#hqv2n&* z*fi@MY+vv`b}sq^n`XX`P1D~q*PkU^4 z9^dQ3t3Jf)DT=K4HnuPP0Ndt&gmu#fV9nHbv3$ZCSURph7LVbn#zkw4QzcK^1=8qK|RZx^qO~`DOu?3(}EN7O# zK8&25i0^Mv!L8b7EIggsBpBd{);sL8@VL5nqBMO$b?4mHwG%JkNEDXZd+g+S7N6$< zkNQ^4-Ek4xOyB~!wxz@&Atjmnv1r~V1ASiajW!+I`+{2d27Qm7 zn#1!WLFac0Qb6#~930Kb`M!b>RJDuX!8BeYK$84GxKR*-ZwN`xO12YxWbxT-07sS` zi2)u0%u~UWtU!bvr9Y)&|G03C38{RS%KV=m9KpAxy9hhHzwi9lC7TFN0xkWm?aUMN zSg83z1TR9@*MzD&*{kumcn2m7?vJRDI#iTiVEs|?rU+cURsq$c6lc|qQ;@B4>~FwT zbDcDQRP96}YmLB1kRzpBz++*^S$POQa)%7oJJ7^hcKAC5GtioJX=%ym-=`}U%^HsX z{=0nRdUr2(tqHiGu+sOkm*YXsa(vBlcv@gx+BB!>S=l?|18!%o#jTsG2w!VBer{xWZbtdl)h0~#?Hj9b>zY0w&O_y8xrQ$!@DP5^ z33!%J(OtoNY{8~QLkK)n3>(%%eZM*ec>EPj%TJ0cp(IdqYXVTuuO5}mMn-{kmLB(B zs(h6$@X=O4WEI@T#_i34s(Uw`sP0sk+IQ#8`$|yCNKL}Wul2&kLxjhY11LXFz%%2n zK1xnCA0;a;Oy&4IkuWqKmv)c9^e@|C!bj~f{=*I!@lFej{!Lqq{oo~h^;#Qz-nT8j zdZQyg@824O-|dJm-)xJI`n14+ZmD>ya}r+flz_hNW6k#ME~)6(p1Mir6!d8ui@xn* z(W6BqUTqzVo~@$sa??z3@)7Ufy+s5*>fH=E#}*M#=P`c-Rf+-(T;DsA z=@X3yQ86J+7CBjIdNn85MZbvFiH*=Y#UE*rFQRQ?Al`em1DZt#AU%@j4!mmo8e*RW|W+tgY11nIo3!g9nHLsq0TB7I~zDlo=7)#592sG!+g~Es%IKf z8vh!>jp{*bGc^!^1n51Lb*Da|hiR%~wgCspRs=wNw*^K%Xc5Q=T)bN^)Hv9wo$fvF zz{dfP7k2c%n?*=Du4xPt@GM$551BVEAwTCTva_zCZ=W8<%A-hZ)>`um13cEkQ{#Rn z_|Vo~^Uu|m7iYE6wK~>0&EFC5=o%gCoI9^;buXQF)*SEswC}Fd{(lBNCTKxiVmx9L zjZJIr=nFar#8}O9@BvR;g0=9>p87e82|V9c9W)(E1v`dPD#ivf^mX+ll@Nl5T*UNZ zS?C#OEHv`RRP-(5n@I(^;F#uW*f4@JmzFAuO6D@-@0)*m7B21?g)55ec489G+evdd z1f|RaT4{X&hfl zUYyL1L6h@m;8Es6Jjq&O7BqY3jTUIvA`wY((TItRrh;N!+KlpSl--{y);gBx*oiyu z_PxhmF;*kbJ$~{#Dn=1nIFI$9FPW*yad`99w%E0H3~ptvWO?apl!cv=vjj**Nn?G; zYEp4tmKH^3BZwTAd3m<^>XUhJGC^<(!E`3mD5qv3@8k@Y^K|5Ddwd#h942t?A7{3b zYX>Ia>H)3qGYQuZO~w^&uN;_&3wy@m?5@!`zIh0aZyCz%P@LR4%!C2IuzM`dQ%-Fg zffHMXaXSjZ9alB=B}yOa{f6j?`ML5l@s*^7;ZXUWXpphL?rWTa_9 zRwE3OP0?a(<>ps&GTfn0^CWS{enSP}C0C05ehnP9I13{n@Mtsl#U%lHJU%uS} z0|&G;GH5^>412!=#%Ph(5nLnIZ4MTN;F<++XNlb1JN-f3>`S=z0@om-P**WbBidnOASS<#2~au4&k{7 zBkj|gFg+Ztl9-+rjJEtu+q6*hXrG9;x;MoKeN(ZOu$6aGQIy89FByufJ3i##^Mwz1 zMj0!Q=8F}bAn=@-i0`U43oM2rA@$N=4E;6-PUhdwRqF5s0|2) z?113J0gncV+Q3uW+T#TtiGat!jx0Ue#%Nz_@yLCP`EA{y6<+P%3+XMJqjft%;N+P& zeEbxyW?n^3VYUID8@btd^SyTw!e^6WrARw!>v04X1>ul|CnY(#+FetwX;PrP3YAl; zq;N@Tc1p68DhD?%-Rgs=1fEAFyYV1@Js!(?L*RLkyV7_hJkDQj=J4Djm{iHt z>B3SJo?U|cGfPl-emP1mu0pxOc%NI&v1tkNPAum8z61rQm+^gG&T(oHZXTYGn}_DH z|C)^pJE!5q)(JSaeG-mrnLrtjgB!>C_9x=V=84$5W)!wBABvqTMqmfGTbB&M=EZ}t zd(CKUS^O1F@0?5^+e8prjUtUfisWXZm&wAj0QasErY( z<=x;#DyH=ed^GTDh+vk5BB*ITlq_Hl9P1K*ti{Zhu>i<@%@^qCoKtk&JLujmiSDoZ zRNd;>y_32wh<~qbi)Q%Zo&LCZm>^kkkbSs9ZOa3PIu>;RMG`A!e`wavIW`5yHV#G0 zsJ};>*cT~&XdPV-t+{O)RtM=#8X+mT0g^)+AT_K3fuSyvo76`NVL@WRAk+^@gn~qF z6T|8wiPt5EH{!m|TZ!d8;)0bHfY^}wNRDcZblE`kWJ!Mslp#lPN* zOlR5F<=?1R4^b@lHqoK@q7E4OUT|1LU19ZU0?sEca7qdWqS7Emoa zHw)kMeg1-Da=hO^8w-zu4G4I&u1;fa8!G@o1NObFcQ5d$ZPaJ}{g@w#V8ywyIhd&p zH4bK+=(zSZPQ1`l+oesSF-;bp=FQSEZ|-c|xOM?~*_X{+o&!A_z4{8TF26O6)Lc3zeNeSMY4e5!LZsD#gA!;2Dh^WJc=|!u(?1eq>?J&l*?HK zAx`G&@^e#gozS>*@dsEnbpTdO9)MNTe#7lMSUTZtESvl;mg)=rwD-6jfTdFgU;Kg_?NI`;u|=(Q(>p)`TVM*8G8l}|C# zHA(Vr&Jx@$SdSHRKR|mA@W{Gi%T?v;;6?RN12(3feC023_2bgK*XgUZQ)s>AuX9p* zb>8jUEtOj;vjUzZDyVPwYljQ_WuaVbTsYlary?rkB}M_a7S1vbI*N9)YDyox+PWcL zX%UQ0>EURT8iLj-9I%=OQ^^nFzP6!g*PO7>nqbf}60Haf%~ONWG^sJtlLC6=DK+|}Cq{ajwEjAd*(E&(^Y=HQv21tqZM|xriQllFqEvi1+C;Ma2 zyX|pi`*>r8Q$PSSmq+uA*l`!1)`V2Hr&FVF=h{pvB{ML2U?+5L=8q1|nP=rYJp#>= zLizUs5!a+4V#56p7s34SZzabE@!bhPbdv^%uDHT+hkkHSZym?}z5`=!?B+=jy-stm@Nc-I1k6>CSCN1BjFLF#`Rc%ciOdUgMkA-#FmZo@#h~)@VMfb z4|oJ3TTL`I0nd-J+7Nc077#W{2s@Pr2*`&C9tZIa*?e0S>zp7Gir?jFSVY^To%T(S^-CuhaB3_(UUBuQx>jAO{sceT52E5NYlEQ2T5@XU@JJzd?rle)QrzCW16T`kE z60fw5Mb}o*=+ZI@om)nrYwHMfVLv>eS0ZxGE+^z}N9DD}CSXq0RZYH^2ZGk{SwTH# zF{*B?!-j=}sq{BSxYk86U*PMY0hMP(*Q)y>!H3Y(upt#`zJGcLRhBAaDX;0jKSZ$|rALP$(!U-;8`MPzAvv%fg>Vq)_iOn3 z{R;l|e}#YszeY#^;iA!t2qbKT2KXVkaXkdRdo0!enFq zhQ~qN1}Sg+y+4l|^LlL?@!13FHzEX4>T-ur+_|v^<)^1{Y**yp zF@*8)D3rVZ=?N6-z9%PgT;kX-;3?UTFMFgJ;0faM8`np@vyBz~(hEG+jm@=(+Q1{& z(eJc%B5={xL5+i$+Q8$59(PpKe%2j6BH@t8y4smR@dZ*LvIJ%y0GGz;Yybxt zZy1TgTgI8i;1*7K4^u|<$MQL!VDH9pIJ|W-HZC5BMN{6z{PAy58GjcGshBUKLcVnB zZ+JX_`vb6GqSC3fPqNDV#`z!M#FpX6JIMxmZW^==V}Q z-rykdItPqbJ0x%bh+(H6jc)DY(1qKVT1238t0=SIm4ih0_VIY7Z7g2qV9~KzINCK0 zp@JTS=1Klk(8JJ)%6QkdacGwwhL$OTXrAbAh38vSk#EE6TO?CiO=yVb$&GlAKz#O2 zE9_r43>8=9Q!Upx8_!>%LhoH!fV=FdE6&fvgZ$;VSGd6dPsi3x&^%obE+tODqjI%% zAqdeTlCtpFeXF3lI;fqdvh~)FQ)ac*v8xZA7wkA7s`;%3d^_kTCr09}zU^>k_Y_oW z-JqkRjfKaoYb0xl0iIFjSc|fi@!1xR?~4v;4bU<%7>QKmqeJ}(0gVXk%4HP7J<(PbjGnQTCi3VJx8G8%xDy8t`R$Jxv7?(n}nh><8Uu)E-G&k?rA8qkHjEOExM;1z5rD9eAcV7%jEIopF96`*lv$h-%shmKGcS~&5OuElaxAks z)7YUZs+d{fnTnWEsKUa1Y5I*-+9UZqvElycLw%w zHo51?6|a!+Q+Q^)0iJJe?Z@cBucCANL^Ml_XE~^hernmNEou|0dj~o-`#*JQbH~pE z9+&1#x4>gz$3$wATN}Yyb9c=A9Ut&S#5UnJ0m>E|r6QBF6BU`1>^&&U+>O$kyHJ(A z7sXe%BKO={+&sPvna7qQ_tZ*cpIT-l=k#)9o?Oavi*e=9JX}Az5SI@wz~Rl4uy5TM z>|H+&`!`RYM$z(E5l8ZGaf|my&2oWN-tPPeVim=^FN_!R%A1kVgbE zJ*W|n8zGw4LA7^jJrFNA+GA zS2@P+vW-b1CkcT*ylwhpaZVDN9>z=cDr@RZ5oFjd{Da}Iu-f$-6W*B5dM}_6p+=Uh`VD2xBH%Tq;?C!8 zsJTmxZ5j9n@Hq*7CS7TA)lyqj#5zCb(=3vzW5NWtiEKL^sbd{jHyKZvpCamu#$s|z zQGZ9{+TNkaW}fp;O)$YM_AVWSX5n=Z!+H$TeM~zKsr|!|yA0W6-M^NT~mF13YqRbHJnWGeHXo zJc`uk1s-j^E^S`msSP@{A;t?k4s_gg4u+gNTW!(1t|)B|c-psXgC&a>;>NX$$j!Qh ztjw!ewQ>pkng4oq>#%(N2ol!1V}Yl}t<3?C0~;@RxMSzq=G@V|u;Pv-0vZ>_TB7sb zeRn?{J3xA#7z%tV=*gpyzX1|5c-jusd8h%TNc&A4S-tL)7NkhLbiRj-o8Lz#P zgg1MonZ-Uodbblkc&8)YeXT9}^vFQZuIYHAPg}hIR%iV7jhE2BdvkQ_5Ko0X1~0dY zM3*+vlo<5rn227Ts2FriGTUCAlF+wHD&FXxih;jrk9G4tLe8n#xO-!XnXghzMXu=d zXk(SqB3qirqeVNly6~ZmLk;k>=JO`TL{ZsN=S~GAQlX8heDOtfP$OkYTcecul;zq0 z{YmZV=hY0O*GaW0%olg3Dh@<&``0AeXI5&l-Fa7Rnwrji{M z&H;f6rX-5WcqA3>2z8E>C@R=ZIEX}2k&OxuqM{zeYl5h>>nlCaQ6j?hJErq|B$e^# zDDFozL~23+2J~-@1DnUA>gEbU!W`39Dp>vsWN??zbNBpgR9%=w1!S4A@GPJ6el_sK zD@-_H$Cj7i(w6=6fX9iqj#TyzJiT@0twTxe`{-ELO6iiqYFwL`mJkJZ2%= zLkg2DsFr)1EDpn2A7go*gJ!z%4Db1QZZ#tJyL`8S#b0htp%huBq6sC< z)1vV4yIpW>E8o@2i=cIs%Fm2M`Dq()p_l_>8SAC^`~=*~o{!4xWf(WO2RgS)Kt@^| z;-sWU>s_#+j>Gx4R0on!{!OjQE=4GW63k}^4i97=s4#IG#CBpuX~9hMiLRprQ3Ba^ zf|wR!6f4#b?-?H%f=(@>uwmhssJyz&0FSIW#YYCC?C4OG%cV_ori@D);fpYbvuvDi+nw-kzjpZGtxg#H@v9j0VGn%5wAZ?(pj(?L zywR;G27S;S;|9Hsf$zV(UN$rVheiepi4erTg%tXcNBHe4U)-cv7$ePYPGzLEdUJf9BM#Y3SZI zjKK111U2|4D#5=(fIlIw@e6#ex>UaFA&}1(z-?nHij5o8g+Jj=+s4&fD&F;|fcsHY z27(F#f|SZeY{&jAgFrnu+pnZC6-)nyd~O96kRr?HZ3PFH>9}hytR%yR?$g9$G!kg(Pr>(W*ODuNGf1sY!9 z(SB{sN>RPcI2zAi_HATB~~ zGr@?D3L%(;Qi<1o5Rzg-kP;t;^rR+cQ0dQsXyN4dkb8C!Uvz~AU2GQOEI2&|`HG}P zXtYyv{jg zTy7f@U8^}fQB-^sP(m(k$q6xd7_aYovKN$Tw$DnP~NR|y1-pEk?O(|w_4^xMnT`!TM zsI9kd^*ez@5C=*{DUwUu8@=1$%x()jn!_V2k9BEd+mb?lVi?=lXxzFs3-|I?V(Ij^ z@N%0lv~7{VwiRZq8j8%L1tQH_E)=^yj1+0XkiO3A%c}h6IWSS_Q2A=&c?6%?e8D%a zCITaMRLnoytJcW~*E2>5LU`UN5JJ8{Pj za-4WAJZ@j<4sL40jx3W}%vqKlBYeNT3y%tZqT>nmNwH>LWooljf=qvWHtbcv@`N z&oR;1G|OluPAhsdx7h>2*-Z9{9VrNl%Au-yh#e>h5v4n|x6iw@$)Z!X|bkqx5ot)xVAi3n=9cbhptPxu_uM!Z2~{ntJVk1RXZy5p@6 zSDzB4sV%79)gDxjIu`Ia5!^Vdj@wtdEUi|o1vW(Qx88LFJhH^{9pHXaQXIN>X^(l+ zhu|;2FT#_u{RVgxW$o+ymH4`lQnbcIZo8Aa8OL@`N0&D2JAz&$oc!8?1C_aYgc)Nw zFqW&j24Wfr4g?HTz-G<;9zBqqyCBC_Rm|&xj&=a5lL^;RCB8wnV!f`eG=tMlq*@O*q2P4k^MT9Zm z!S#6$mW!XPA$~q+BM>&MFQBf&JP|AjpY>TM4XA|IXSr)#Ap=B4R1X9T<;jR3M_XUI ztQdj~&0C?e9n9xW;W*r_O&X4Goo&Lx%cV_A8RVKpJ;#{^Nwqdl_TiCuoV5ZcHjGB| zh!+vjh)~RY)FbQ)Od2xZ`deC;COAa>8v8B&jRt}W0R!vEEY`{M5~a&UtRBzRV|n|r zoa@V?!>xlIKZ<}y>mKP>+xt85wR|K{ejHIXr3`HElv|rbeCz zKiU_tILL8;SN9 zx`6Lu9sHsiXk=AUFo7DEHn;Txhu}t{V+Sk_Qgr;E0gI&ec^yAbyw}ve_Gf10Y5`9? zm2s`Z6JrAw7~s({VJ9vj+PJjMn(`USa<<~@ik-MeaHu5YC;&j^r70-CJk0=);;G-d zG!uEprefi^{^-;^gabnaV&kX;u(Q{f%?K*jT8u9=f=XNjmAFVM2~=ppeb$Uf{#~u4 zotTt>rX0{xQ&V6TL)BMyN(>cGfk?Dmo2ZB?OtJP2tZ_eqfRM;Mr?O+}(J2`VCVz;6 zORG7+ZO7BXRj9l=llfJ!goy@ticd{47M}ap=Htkg;pq2j3R-8xa?qnII z1sm{yP@quMwx zA)x{$Uu;c6HA1CKq6IzOIyd@_T^!Y3BkP9NVUTEF?hSU~RMv~0jpZaCZzHUeCJH0X zI!#WFM!#OIjB7{f6@?w0%W|KI`&VX}^?9^XvZUl9w4ImK7M_x?_nmZ0E3^W164F?hRQ zdz{`yV7oNWSa|F@JT@$K$q9u=9>$JuB&x2@q$0Bx%VrUH+JzJ1lh_WJ4=N9`YJ@hS z(ku|=I}s+U4m)qJSnH1VZS)i=&w73xn^4)I1PZyfv3w#~9)couSP{HuXc&J-kcePM z7ER!28XtlW2|TCw%tqDCWyn+b>{B)jb;arNC_gii9k<-tI5-w8!`;Glm@uL*x_8Ym zuAXv>ljW`n%OQs45KUzwQsqTuI-E*%6T+E7KS!!Qq!fiHZ>&4+hcO?aJT`Dfz_G{n zxr`egw*sM%2nqWHU){t}S?t&{hQRYBm6B!V%U_A+9v!z~zsm(bEbofb;|S1N_?80> zx8GJ!>8jjkT-v&_FK9{N`CnOhTzyMiTXNSp;L(8KAk7Or?zq~TL-Fqa2jDT#BTJ7* z2t3i6!=pYhEfHONb~a(D+jZ)Q_MLndo(q?dU66yqvH}!W78wiAD}4w&{QLeaPk$<_ zjip%m6kaJx4tk`>%7wxyPEMSHtbO+z2RKT1;G<*jzOMgU0#D64Jl3Kk;E{z#u#?&} z&88(c^+nT6K&w_Q@X<$aW5b$R__rTR4e-dqBfv2(ZJHm$t=8qaoxK59jxIu<&ap^{ zd=bG~5k0_<;7-7!lGlg|pDYfcLG{^w?F4?oqQBsP&>&H{IwiFRELhfR%WBs=j$nTi z8O}DqHl@X^gQ#%G9W<&*5c>A&h__$wfWn;p_`|oC@wh}0;kMxqRlD$GqeW8% zJ<7KhPHn_A10wpJUttks&Ies#G49yh=A&eeH%l(n4WDf_{k z4cNJA4AKe0VN$9IWcBL5!2DX^(fpkT%#VP_8S9yq&ynVG|*NOM&er?U^&x;hFDW#=*9*gpn$uC2!Ad0!!} z(LbY!-wO!#tBb}gbJasbK2t;1MI%|0_*{*RRf1`PI|D?_hlEh%M<{ZTr{^}JeJ3Wr znt!6O+h*t8dQgEo#16ahJV9j;R)n3s9x0;9Pnu0Sj2oFQyX&Ju{Yg&&WV2S zy@y~&$8P?P7jz_M{*FFy@O{@9sVHsJrcTC{OJ|XneFfQ>SFv)%V*Ad%_=1V9CeRV^ z*znXfmKQJ3)P@_mow+$U-rsm3MdCoE_HVuS^Iqe`dk^n526$rPV-cnB)B+qW;ub>) z@>zHUJn;s2;xKd4Cn(9Cy_9~G@NaFUUd+LXe9 zjr;NOiOeIF-zWls2_`^gn%6}}#TbdAXcc`uM?!oPbm@?c#WOxf$@L8;?5BK*Z(p0u zmtNtOr=aAFRs^1CLOBa~j%^)*{;#H@B>^E(pkb70>(XW{7Dm~&Vih2(6gkCO;@qEP zsS)JpoELy3-s|0Y{U(`%dRkhV8Q|^0ue_cBr^WRWSwFA$Y(wCoB3if^kMmaWS+vNS zR+gTLJC|n|fT(0gclYK3cF-$uc*`jC>ykv^i6ih3;Cw(5#_|t0`-CdiNhHNhMAdl% zF}{7BGv@^|29WstRN|TtTEip42tHCw?QtZ}3)D=&1&S6$IP6oh^h~FsI@Lsy(K&DF2>;5`AHJ zP-4SUyLxeDs(MhFyJJ^pPO-K3`KiKN``GjK~xEN z%-0nv7gStpzOGtPXA~IX&ut(=WE~M0PzkdVz>X@wK!pJvl}$L|gVzX#G{+{A_lRLy zdVCl@ezz+w9$AP7`D>7WY9zr-3wg>yqPa)o3^0_RpUif~HkQ8@!v}Ul>y}YSPl-Tm z1Qj*@%?REziusS0RZnH5atTuK0l7EoJo6$;nHDMxVR=$QgToLKOkmKyEK|V*A}Zmb zOw+!$A)5Eo#P_91?lYlbh++A3XdaCXiw2_V#!9x42~ZTgic^G~lVi9Y%K>u?WgMYr zA_tvGC_Xm@&nj%tf^kFp;+21uV!nz*AIF zi1Sx3yGC1XyMVASh>6}a`26$VVDpB#`12pitc9mgQPXzX zb#(|lzpGS4Gy+f7dfYs{4Ba}ikCS_qe;q!X6jCV(e17w+R6dR3Kn01<>>m`004n~0 zp-s>zAQ%lahk(*R7KFeM1gMS6tu&PFCN$iPr)u{>fwHd0u#MQZ6vX<_Le>5iehy9N+`>Fx#*5RmSnLl9|^?k?%>jzPLXa%kxRr0aa=g4^MO&Fputcdch} zdpm@;JoJQxo**ITR3PVMhapYyuE@b=c3)NRn%%_Dtf~f|*HqJlw}ijHt5B9z#LV80 zAHn=|T4|ifF#5dn{OEs%&Z4!ni?IQ2Y z3fW)k-;JF&Vo!l?eC$Q#s`}=h7S^~9_^bMt7%49DKC*LB8rkkgeS6eSPXW+f^&lb* zglOW6`BWe6GdJx5K4S^yufK;iIs0 za47M-^Tz|Y4*NsB3lGi)40$D0)Pl{&B_sCG5UVeb>uFXv%HphD&00 z1BzYP-#0JWa@WXG+?VM`3#dnetG^6z7bOcjdLU$vUf8 zdQkA?8hS|O4y0QgF=v3nW-DU!>xg*1Kbyd{4xu(1_oU#Ak21Q$Z8i5$TUFw;&>{|R zh$k+7@8zfTF~kBd%Me)}Mi<;SShgpNm}AT1OBO!bD$nya-Ny}%=~YCQ**i_Y28R8+ zX%O9bR;?1hA=s*#o+NIZYPdR5L~(OTmn{Ak2V?r6MeICu_q8@2V_8v?D#2#znG;<- zr!;nR(;R|rT+ZJXJ@kAGW>(PLz1y&*0!c~rG33YYS*$di2h2YLt2i|N;n*MBC|L)Q zy~B=F@OeouJy6%?MlgznYGZRsXr=)yK{=BcBoTDenm&-27y!JJWa`D=yK1g5AmXEu zVJk5xr9$FSz)sz<%HBPm(54|ja~n>#!;Q_hos~nuV_-YX95-4{OeHuy5Mbzy3?@5t zO_RK^B-~_xyTGPDnYB!+|F>Wm@Gd9VgpFJjDqr}t_F=6qw>xfS zx#i>Uj;D4?X}`E-C##UCY}{zLGh_rA&%(>q&2N_3MIr5re(A0hToD_&2#sr2WA%2@ zTRHM2h-Km0crTZP05bfBuE7x)b!=-l)oE zK~QJcfJuq}QH6hc;A)?|gn}LC*v#FGQ11~|!bGns@dOZq2n-S-*M;yR5CW?oPC%C|3lVN#W2@BHIdVn}(!`;6` zWL)d9|3*OB?t3GlG^0fX4{jxQ3981Ozof9x#8-@JVlSDe%+G<*c@g+UK3s_TOoaXK zSz7Ax(_I=Q6@KV4#sm{oa|W%3O%Y7EDXYfxM0*@X8dHENzVN^xAC9WYP*5$aYpZs$%@XDnR0H+OLpt6u`!iji2Qb( zeW_@#rua2tJYIJYp2OINC>YgaJK&K?$(UjLXW2OOP=Q^v4icEEqccY6RNQj(Uz9r2~H z{_uvCgghjy!0xc3a}Di33=%yVbkV5G@>@CsT*Cf1q>JC?_f(ZCE{M|62#fmIqqC~g%lxTYK|C#KV(`8|L@SHQ-3iOengEMUA z4DNaK*i+Iug#FQ;Fy7Q(&R0~_7hP7i^SGz(`j#Eo_zCFIJb&{%u#f+R(?<8eUn4#4 zj!R1yc`h9 zZ0M(jufFSSA`?aB$t`yKmOSZxTl6h#T=`VZSSASTsLI2{G?-Rc60V>9fy-#0x4(#d zCDO?o648E9>MvhWeJ(e1U))Q+-NiCF!+KMW!h68PP2+hIUYu z&mHpZpWSC-(7VsZ7VNnBY}`4P$7^kTOeT@ zQOaSTiIIIzV^2n;`}5B5{!v}#QOP!TQZ}-z@PAr|!;z5dN zWD5mc=~^YFI68RIr$1TT3GPm0PNv46nCLJ)esL|sFhi+?BMx{i{_allLb{yAGD_vr z^H4B1aPja|_jFPaU#M71LJ{I2$zMth?2l2X&;*+17^XUezV)&SH`{tyX}U&f5XLj4 zNcWrpdJy-y@dZt$r;8o21=Psr7gxhvtJQNH^*#p^VO8IZW8p8;6?{t!gZh3A=|z8R zBv50XyVZywZsdTgI?9taoj|H!FX=;MA z6kW~Wm5E6#syuMdn5124!+%7LnzET#M)WAj@?n!r5Zno)>-($6UNeHD?!WU);g0)% z!?e;- zC40K!x~v2DJ#>$cMPCS;4=P7N4bKV~&~$+a%rTR~?wddH2l{)gy-`2Fj*1MLWD{H?D?DO*A3l=JDMX7|cj8Rc zNF#T}jsgCCs0b;R*Y`MI82ezC$rliZ1G&`ns+b?&YRd>fLXy14?R%mC?tYu!31i9K zXB5KhO1Q~PtS$SL$vBbP1zDf2d+60%o0XO}L6DdVXRQKPYl2>M%Hv< zNC_F4?Rp6j>bob>WBsXq>K;xw!ju<5@dO8*Q5}_3lCz*=A)7mj8+UatMVA&HaZwYf zOhNJDAA5<*cxdbvOsq^ad`sqm0VDGyrq#dA1O#bHdf4==^ zMQhP^9H2>RQ)OQ0W&Oa>P15Dp9oq8X-Q0WiE~M0hq?>cq0+HR{_*d<`F*+`$au?;T zo6x5-i2W7@#!tFmKEyhvuqw{qHqlpVz(LPikbC4(O%aw|uGegaICP&K8{UIM)!1sa%wj!5rkvr7E-0m4-V%13vbl7+QN0(4JVgKwB^(6gAX>6ttl<_@kKb{ zjrOB~tD9(=Zb*fsaM)%_crT*5>W1k{*Y@n|S9sQu>Um{_vcB^Q+eDZ5%{r0Fyu6kP zp`>3SNr(*!@OGjkA|c6p8h@LVyFe;FVE|DQZQiF!e{X8RcvF+}{jS#+eJ_A$Bp)J=SvoR;S>#Gp7Wxn~EPzBM^rz|+JSq+gK~Zzl`Qpa65}%^9I~bG zh>s@Q6e3@{(|k5yT9GorYjg9~a_je4cT85L{c@Wn|L!*@3;Fl7BMHUB{c*FD(~v6O z74IKA>%b2HMV-z1YtV!DcfMR3+Bz$`By`@ivDqGQexExu#7qf-d#D&Q?v4YFyFjSCPEvtJxaOa{P)?p7GOWcRQ4yMwI=vhYnV->+S<$s#>?>)AnSO-_(<}cV zpprjqx6Q>eaARoi`l(jz^F7~fXkki{4-w^o&flvboJy%}yku#Ad+Rz}q%J_El7uKbpx?1`OQeV~f{QZ&bs=C8#h9heqQxhYCq;}yqGTrntOn1n2< zr`Q0q-IANK9$mZjC-(g^X(&65Cf+U325WL$#jfdIS#8}q%vz&Drd|2+sVj$Ft~x>I zL<^rD?)0iA(r(F=ycl}|vubW8*k$LMgt;%v%17U;WDL0XxX=r6+#}X_smfh>Buk5o z$tm$)(X=omzOuZSCRcfyYD-q}S@ev&+C)_j7I#=ip6yK9nR}L21=>{NKD?X4f;`+h zM7pDWPH$pVO81slUl5g?vuoxJ{Xn*fQDx_T{LN%V$nv^VU8S+4MA3nw+Xmgn5Rxg}8i+X%i9D_xJf^uhqCVp?8|1%2<|GfKHh0h?EXl5?9;ObM-C;;+A^O{zGuL|`}UWIqaGpD`2 z{GAp8ab_^qzG`k%9jCv;)|``cX#3@#Eemaa=Vx|E?6qbBj3j2$TY)Vu) z!1kZ?*Hh8a@xz30W=viT|8pP#r<^G%ga^@@{W;TYYW&Z)iM!n^fQa8_5?ai@lwkZL zVm9hik{&UA1q~W?;0uNf-N4NEuLgxQ;;e!{Fe`|e-rhvsT%*hwLOQpTEJ|%f+2fRN z5#t6=kJo?#j`^2o^Os8!%j*`6lF`mf8zP2z7Kgyao+YwlDqE0j@^ zqYUX~)PtqQA|GSRN$t$k-Xzlog@g{?o*=NHu@-3U8<@F`y~X-0j`?YQ%&oi)?7%+! zg&l?`@|PTROm+191*h}sv-j@Was*K0O>SW!EG|G+2EKO28i<|J z6Eus8{7{OiGt#KLT}U{Z#FDIkNCWekhno4|mTipta<3g_rNnemZC_N6tCCONHud_*$d%IdmC5 z%2qpgmpg2B0dD%@R!?_{8^^Sm6vdN5bWw!PnoEvUzP=jQayMe+y}75V3~*-EsxWjB zu|QxU!f(lAvP*yEcCq+K5nkCoFPMSM-O|HwLr;C}gHr0nG2EgnFWSsi;KcKl4{NBj zgd8hAT}2(%<`*D{T?vYZaBi@ow1Q;cC>oTH`Igy_#+~-ILhyp`ypJ=)G}dtij@<3z zbcMw}OR%UOAg9zD)jFtdU@*jDfQf~yh`t2BmsEHAAn?#Nj~XF7*++er1-t9{(N21$ zJd$KfhQ}$F>uCj8j7;Ma=Y5PmEXpgaoAcI$vaz0XBz{S|FHd{07S|vve=;Exn)Opn z2yafXyXw9IEKUyN9rv*OfZ_%xohdTPil9d={-m5gBbUYzl}MHe9YM&KI2y>pNm*Y9 ze#p**-jTHUhddP~UL17D^Hc`8GYHK07b1gFA|s7#E(^fr0Y;iHDsV){0H0>)O3Ue@ zk%VUzr==-S{SX@KZhR#(sU95hxW5yN<13(sjOT{6N4`yF<ynbz2%WYDq3BkeoGPq>{j@bkv5~3CRL~by*!wO6??*%;nUVhUu$Ly zn$%At>H{ttdR>+;Y(A+aT4lT0)bYQf3C2x+`gebHhu#Q|nkp3}@w~h73XCT7W1Y~8 zgtMV)VR}@pjjW|Uk@vbpMF_8}wBAN?5Y2>sV`25JQ&5PMX#tTfce;uEs;(TQl2M(U zu|UqzWRc|W1APDXZNck3k~lauc3U&NkOp&pf)p`Td%|=d;X0jp0g?zGn~hGI9ilyX z%Szrk=m0tKn z@o%^Lx?99-*E%AGw+brt+Ov(N*K+hju-2ZDcx8*c%dmfT(} zk%PAXH-3Ux-O{IV+av%a@PZN6K7*WNsM9J$4zo+fkJ-0FZnf*~AEyn&3s_&+r2ngcQD4o~Jl=WlwfFZ%HE^wN z)ZF}g+j+I{qeVT9UEI%Zwua~M`sXltz_4lSVDQBFt6q=pd>(lh#0)2WPZ3^Vxs%Y~ z4CZnI0U%RU0?4rYbnfrIAo0N0T>+*TeJ|A5fF@Wqp?grL)EbZK|}tyBkx-`+zH0OP>nGHS}UZ2tm)U=bGun zW7T_zVzKUx)I}`<8=z>~ZM0E8#A-KE{)GhHwjhJnSCKj4k?*03Uw(zI6cyNMPh6=; z&&3FM9L}Nu)vvrlHRfSb&-sMvPSmt;hXG+D+eUw23>FToTv5II6LZOqrRidUv2i>{ zxfQ~#vDIR(NHnAvl}OB*#2zQLC68H^V>spfrtkIykvcgM>)Elt;mY(!rcF{Ol1grW z^JJjx;$$r@#-{Ae0A}me&1%h7gZiel^rYs~@vSht(W(>y#2LrtqgPTpPvQE=6vAwS zq&M+Gsi^a^JG)=Se@Y>nu|3;V17>&rGQcKv+9BrQS#{iWKD*A}?j!I;-Y7!;yzPO= z(45GMAq_^1i)%F;>b>bh#b5HaFSln3x-F=(Bs?6~4_COfm{>ep^-+9L?A7v343 zDgHZ0i;aiCapl{?mqKEx%Y#{oL+C%XoijzXq!zT%wBjpk=PP&aK02E?;(cDMSH9fl zB=mCk7t_h6=3u#jyrqU)C|Yr|t)Ol6O2gF-;mpc$IL9+_TA-b`pL|Kamhg+EtP5s2 zjq1nYo`J_>_O97ZpDPeW?UiHlSrr;p2bg{RS?)Z)Lb*w_E3vOnS|N64dF7dra#Mt4 zbAt{(q9h}c_w=N46Q41_PbSOEOdHYbe!fqRI4Cf9|B5etZ5|x7-ab5`vM3WW5gnF= z>Upo?c`uBSg{W>>b-CBK_h)|<)L~Phx0deRr&aiH!W`34I{IO1xfhia)&XA`b9DVU zq4RWc<0><#6}l(0)-90gB1$4#T0$T1!v&VeKG56Ro)opEp!i<<;EDb&jNMS649*S@ z<_uzIV`qNItnM^@Q2||xMe*Vo?zSS;XQ1!L9jIF;?dk~)LEsmUN1kszi-;GoFL*ES0v%t}1|Gif ze~E5hC;ez)HjY@-eZaG~$1Y!^b1>mI&gXdvUIqlcl_kGZ4)8+n0Plajg|7PU4SSK( z&5rh!rVW_-+}W~c6VWW=9g&=wi*#w03<5k*BXwqe_2)=zlKULEM4rFrRItocd@Tt)`pFJyvkecjHv1`k6_dEu7N$zmbcF z77EHUse$hvh*68?#bsAm-|FH0Nd9jL6LjJesZZwm2^9~U)Qhf*$S|&et|)7mZ?o>Z zdQ>m_`fQ!u9}O=9N)9J3o?3cVuwV-J!Urs{PA#C2Rde-XAohzpH_EK;yDF&uaFgGY zV2b0L{nT0(jBpl#Cc~hE{Tc4+$WG^Ded7L_l*PXZWNNk!$X~6u>$+0>U~2h4%K^|!co41>R zD5W@DLizga)#LIPKAa}X@J=2;sTcxkrG*h~&-mDyE9!h-m?6&##DAB$viDeu`xMje z+spcd#n?c<7439_wN!FCr?xK7fWUm#YEaHROY2SB1b=4lJAcV56JVgRaYmd0w-f+_L|6a-Yi<|o#4zcaS~SX;p58Z32OfNCp%=|ZXk7e zno2j(Qv+`8o7j_m+_1c*JTu~lem5o{48GOLI2?@m3HlO>#W47d6eim3$9MLbOBN*V zl)fW~Q}XX0Pk#o7_D;;+RerYzu|t2@R=`Z1Bju_l-6lp#$H&22Zw|`ks>|)moeBF> zkJHztgF5qpJ?(M#&eAm&OLVN$47;uv>DI)Kj9z{`pK*6u3(i+Ki`5xfr2VS=cK@(6 zppUcAIw6MGpoZA6zuf&JWQzAm>?Mf(eCSJ^PJ-gjV_on9-JeJ*G%YL&=?!HAO7&+LuYIpAXfx1SMi2y@_dQ!A|SGuqt7+JoWP> zUiV>emXtSHvGpD*gza1hHhZm13g2?ZB?ZL{_aP@~7`hVXM}JKZj`;s7gVj$9c%7g* zy;p+TsOPDgH2xR%w%Haj5_mJ^l#l1a^pBUn_NS0i_%?p$;}=w-Omi)=0vXxx z_jq~#7)8GSD6H-A+WKIu#zx^xW^2AzC{%FiYH?{D5Vw_P@$g~iq1eYh>EmKhA`1i4 z^7Z0F&mx7nzvLUAKl1Ph8+~}0O9zJhGtw11`_$49#UJzfo}N17+xo>%*IC>@@C$AA zGmxolFJVdhEEdV68QS4 zyVsxpbvX7{w`Tn{rCQq!+aEI&y~nfVCPT+-6SHECf`DRW6*4&0_pQf2ZH{7ImD%Az ze!khycS<@eZ?7j9Kd*NiyV-RNyY;lKy_u>OBuKy``OcK_l{UPaeA;2-L?-nq^T~LD z7-SAIm9(esIHRJw8hFsyX9K#`!OJA~j&2z{kb{h!uEYDu|E-6)+-Y^p-SkO?G>_Rb$O*>IMsuWvi=T?;&t3r(Pu z@R5Z{RD;^3)&n=L1X|>r=8L+!MnB`E?AeHY&(>xeWH;=$@;5nsBWr@V;qr3s9OPdq zkn<{^2VAo)HTq^)hx_@ruT#D|-{GJ;+|kiy-aC9m;#_{%qrtsei4Lx4cUtfeM60^=F5!d&Hk4jmL z@&`#=uD6MR)Hk#FY-j=|BBh2K0M4ZdOra2HtI42S?pLR=#oxpbOb$4B!Z`BR*xXxq zl37x+4dy7fO7H1dqRYXhiWOCQu-$-PUO=>h0PspR#UgqjwC0|M^n@N|!Ft)A^~&cz zZV@`xh%nA$fxRT7X!;L`Q>Kwk%@qfRi~mb&8FDDQs-zhIJ;S0$$j0{P^9$BqLP01V zB+iK{a_OO{&{OX1&!Vujp8wv{djMqpy(xCC+?944AJB=&ef$z6Bw`dlpIOE{q_C=3 zp?9vr7`3^IIvUN#*d?=9!`F>2B&60oe98?VOCN}a<@_1$caNWTak)ZAR7W&wfk|wq zONArr8L2|HaQ70h3k zp;*--Sd7PDv&h#DGQW56sZ(-@WtoT+o;bC4agD0JH3}(!F?@L3aPxs)6%T zSjJ&w-FA5b(aENc!0e9;E`|L=Pr7_=&FsJ*0|3u@tx@0Vs zrbi=HvrZrFz<-t1fgY2H@quHGKa#i~Df+&;uWQW<7(!4x7w}4N3I1h=A23|`YNeFp zm4SuH_iTvD9r@0F7jrrzF~yz4Pf{gLmstNwSGG1$M?oELK%q(&9D^pRXHsJsnYkXU z-}oGykW(XLu<2z8GmjiCvqfP-c>ogs_kRAl1aAjEwB+Am*}TZveR5ompwRIyU^D&m zFf&Kj30SEz#RVdrt_~KUgm5x_^QrQ(dyMZb>{g@>GP!SW<{C>UaRbsy0Ct_;^#?s~ ze)+xGQfs3jK&XQbG7JOB)Zr>l%nNYJqux^WIuC69cBW_3I8D+Kdos5tbavKFMm@3) zZnbB#^>s>827S{xpqzht2LaTl#zM3R@N$xjg?p9Og4ta$!;-ibiksEa;V=8n2;j5a zg8yek4dbC`U^9TqoBJ=u0}0IC^MpSfL;g*WeII5XXdYVX9S5_(pe=AC>1GGEer>#n zIlqpTHM|^&HqMvu^Iv)jE{lFo>y#9cYT#kg?2g2nU&-v!?Tn5kr)%e#4?S|vzR0R6ErbSpJ=L0xoNJ_5UlA}mYN{@4I*-Y3!Mh%oKH6xCwv7-&Awc?-3^?xd4nrvH=~(iNmscDeq_)m2y=QEjwd~ zrZR#0sXT8*RD84)MS%TXNi6NlYebNxYn1ogg|ixF`#Vqu&(xdo!O@4#S(`x-bPHeQiS0x<|g2B9#N z9k{dmZ@9NUeL0@>v4-X^ZnN z3U3OI+R$6N)@|p^AjBh*G)6}ErFMzA`LBhIDzm$K-tw%ii6?!$Vyt$4oo#I-Vs}~E zN*G~)oBZKJH+&r4GOxe}2Z!Gz<>&$2|H#)UF;0Qw%Za%rn*0IfQ^M~_^UH z$kdnAWq0!_KVNI5@XO4RL(}k4UlM8WxJ`5#NEvX{*i&liCWao~26F+6{rB7|PLyyYv+eeC)uR-ogZ_c>|8Y)VBeu)(dh&Oo*&CS7S+X}B&_*bgaicfVRwM3bg@Go z;C|e?3-54=e;%sl78S;8sh;Y6&TLo~ouWsd;O%u6wqeC~BntUzgJuXLbmh*k*{;0OxbRWI|->w(|uOp`bnhKNl9vkM}- z)9$tIYImh7{W{Mc?6Fbvz*$gl`~}xB^IJYyh`hU^l^xIGTWY|@K)_Y;6$fIHQ*i|&*sHj? z`g2^B2A|SW8&9=HL_TK?XNrPmXy3jBPqw;1uz~Hcko`(h&L=bVc>2FFABIFZKZq^9 ziRS>vN40#qEL)l`Hw9;uUYRnLiDId@PI*om`gHnu`7CUDZcqA6Eo=y1A>O@3o!8ma zsoX9A;OjHXv@q6XneSQQ$9~MPOFge)3i<7mc3P2^Kprk9HlK;H zVy=h{^_tS(8zaRZz4zRz1cy>CL^eFxW+r8QZ~Ujz`EOR4RNR+Tk2^P3>Pf>E7{+Jx zfG=~3&?)}@Fq9nCVO16T3;#! zI-q|E&>Qia001Gn@gK_k%q#}4<^^FW2Xs9t$*S|l$ocKlQOn40a2Rz@cZ^?KCR{Zk z&xSpR$a$CmacZEyX@NLrNP9zGCM*{L)Hc{E_Css;O`cbP?^Ts$q#vqu=!S$uggus0 z3*C=e7{{&PHLLH`zu=^z&QHW6>?(NkQMXG@z1hmJsm)1CF z00A91NKcmQ4i|Is!Daa)ij_Z)a_aE= zUi~m`EYYa>&qUftVC1kBr;qrl%&Ah5;s>+I>W+-QY74PPN=xleez~gEnun1WcQG)3 zt91^4??=+8sVV+3al)J|hs7pV5i#t0=}< z<3a^0=y-M?Ni;qjy0@B%=D6<&j`}oN=v0Wa zNu$^33tikdc}!NGh^EwgbI&P<%Y=>TyJw_mmV2tx50<{;mNi#{(`%1`PULWTAAQi; zRcin@uK0}TRp(2m+};*a&PuTM^K#rv39jQ4@PwW z8};g-ZmwXvuu(|@zIM^L@tazWk3EC-G9I?NUFk%$zuQu zBMX4qNMGI|S!iB9Gv}o}Ntl1hnL-Q}56t=N%MCZE(_^^uCaf1q!Neyjv_*_Z)kc`A zSkJWB`L%W8zl1+eoR^htbn)i`crrX5>7?|i^!uk|UbzVSm8TC}$<+vWIHbxH2iI!7 z1CJi4_w{DlP%Y{GYVsVdtagoR)+WC8)5pe!>=tr`b8*p*8UPf*B@E_U&cVW;*^~xA zA%)Ty5pR5+cAyymppr_(aJaX3VRq(E8NVY9Fths>*ws;BC^z>-SgyiAj0ca#`1{Si zw9jSKSg9XVO{+TqyFbw#M0uBCKwWUpuH#}!_jS6^9W(zYZa{#jg>MQ5o$CSJDyej- zmPUZ)doh6b>SNLfvM2HXrp8$~(=3a>$@>CaQaAQWBCpu5LjV8wdh%-`a!pldZpxKj zO7m9qRKn$r!WdJytpTL+G;+I;1N1Rb=j1v#OM8~#*MomNUPtu6TXc3V@uJa%Do6Kh zxY5-)|G!KFB;^^mCV}38r{8R{%k!H*`F2M~lXuid^QJF9xx+_10xB>div9wkX#)f(SZtLWKOdR9AMC<27!hL zXKD(yAHxpb#OLjm?o~>%ggh4{oh()v7wT5%$@S^2ULpcuax^isi<194pex0rz+_V) zI`;V(kOD#gAON|`VRs1$&#@(F%o}5`$@9(){5#XYT{4vxeMM58*IM?Lh-i<6le=$^ zLZ8QW5O?SQ(54q!WHKB$x>qQYNZI{rO%*nzQ_1D}jgfLzKg~?H^4#L{zB2~6y=Bx~ zgMP^9IjZ5L)uT_tO$lEs6CYdLtGAZc{L|3S!@G-BFu2Qa{>>Bt!iPg_e`jKv^*HCT zW|)~!^2%B)z)}$UJTrr;)m=`A4p9kXW&Ka5l3W=7?;jhlJtphtgvtp%B9qpb|yBoT~tQ$s zXP~mz{5NFRmA?`}>m48AspmQ!jq8&}jvOQ24a7SZllb6m2!rzPxlYFsi7xUk@j<%& zR}^FxU)=z6^2pit;+)-xWg^-Q$wLQM z4_EGJ#ARMU@t=d1JeyF3d7EsuJA|>){799>H~A-tTIJN8i)~cR+@P;PZ2^G$k(UcP8t%SdSM*<&pHtxE+)*8GW>QHIkffy17+>2zeySAoF1!N&?Ny=8+ zO)PFT${&BTIHZAK%}rM@LxShBgLwkeT0p9AFjB|c7G44;;o#SXO5wQk+6n) zq+uA+U-**EfK14-7lZ2}?jy>4Xgs0bJ4!)fP>sxi#9}v@m6bHl{d_7v8`iK^!M(x* zA9?iII)AP2S*iaY>mkEn<5cv|B*O#{fe0JQOLdL7c)_Tn(`a`W|3{Y2TQB=Y=k#F0 z0LNr;;`7p`fVX*f?~75jDp@92R~CG(P5}f&4d;H&!tGVt1nVoNvU0KfR{uMAZ6F6+ z0J<+&=#u(%`&TqAa9hxL4_J2`y>)CPbPBNy>Bb=yW}(8 za>6v{g-uIqgxnD31Ch6AStZ~0_#7~rfccifB0YPx`);KXumHu>=sGNFu|?O9$MR_v zII|5U4uz61Ui+9klNE=Tfr_!wy_uv;b}4hi_D|_6*L)7mhV|4T`mkDjh(>q0woM{A>5aTV-OEVH`l8u}4s^;{dN>fHBc) zk*3~0IrL?Z?;*#$Lj}&Xd~cyA_mO747G&$2&IX~OQog74maFyds4AVUi{nx=ZCAXT zaSS8ja-dv-#xicxuC#wZP9ZP6Cvp|(; z_RrT)!LrU0mo8=1q~=}Q@PU-o49+0^2)UVmRN{=QtgoY)mq$la3#Ap7k+c6eMjN`! zh~J0&Aasx@4G`X)Eou9PNMjhdOT5`-Z1eW%i4#$s3oy4r%bKJRa%!&hx5;u3Rtro= zq&kS7#TaS$V6u0Qc6==y3~neDuCZ?S-q5BVw+^sh{5AL&g+wVkfp=w!{)`RKm|kve-xBgTvM8({kr4(&!# z`=cLd?Nf#TLVI&2dUCDj<7s^BaF(TfYqoQw3SDV`m}{`Zp0Ww>+k&x87=yok+N8`u zWZUrx%R2d5sL>l})~oGmhoR=2^KB4Df;SICK>`C2Dj{2hT;<*YcV8ib;VkRJiBxvw zROZ_lwYPAA+Fr|?0hX1;ejpCu?BN*i7%jJhqbm>eW3nl!sr{EO|$dbtKH{7C$?ssuVboB zR6XQ!wBJWGE4tnl=%Xd!LY&Nvp?p~puYulZ(DC0Rt5QFACKasCC_b62xW&iF?dNQb zh>9S*`X18^ch3QXAcieV?ZGB3@~^66=aJA~p7G;i+A91`9^GD*Rr;OQ&ZCLYk~Qmu zn@FULl@P4X$Isb}k=*`GAvrYN?3iAK?}Z7)y$oPv{JsoaSrQ?gm184g-Eoe_i}Wnh zo4wx<$aBRr0V_Yzf^=LnwiqS+@3NsAG7XnV$fT%i&x}v%{!No7uzo=Q*|`Kc-+L*U zU2_ghNz3~5(HtB#z)dc@sYojP^ z=4c2JL~*o&81MSuh4kpvAZy;rVoHx!_E)4Gz5}EjQnmr3B#mB6J>1(j@db^)rygAw z-E=hih~b2qbtxTYhh%L2VG(}9``c!de3a|F#5LCn(j7vV0j2$wf{?NzK!4jCGH%8% z{g7FIlhvY>uZ!K)<2_Yy;67C(2qA2IPh7#k=2~;>6fuXE0?Ul*0vNZ0AMDr@bpeSw zIn@Rbgk>QnwFtU~nLIZAet(w=1vmUpbsO#0$rCzDgC_zRTk^{Cu=gtpaej8)>q%y_ zOzh2=>OXcWyFYH&3zQD_M$!#wrpHEN%A7l?o>JyyvSZxO#SYbOSH3g(xZkItG|9@* zRM6k0xOeBWr019jO?<`Mr^Zz3Obm-COduupk_rzL`+XW%-LQR*eI^vwj~S|# z{jbjcMSofH*pkvr3|GH7PUb975_-W}_ES7_>gY*z5B2HpE-igvF7DnrAz`q&(9PZD za<0d@Wi&VV!*S38GN{hl5vfuHuh+K1&xcdWZ27|M7-+1LL?`tYGE59`hgfal!EF&{ zTX#trN|_7Qd%7W4Ro*jIe$FcCVps>0=F+?&rHze*)_cXRF4vztrxDwjMye(%69H5K z4kYv){EpDmJW1&M;{*5tyHySY{{7ZF2n#Fz3+%dR82sTvhRZUifLPC`scOrmAe#}q!v z(Vsfg&FR!rYO-4;F=V&UlBqv*Zv>?bvrlYA#?6a)-_YyH$bdr*bl*}v;qld+_4W9B zQ+d}51CL_%jZdM(V9pI&4zPFHQWX2xgprP8hEPaQVf(mxY-rI7(CerDEs1MS9W(c` zOz4DA$B_#CP>fm3>-^UQ{1obgHobcY@$cjV=*cNdkmWBMvrureyvI8bbCpbJH!8Rvwp9HB$IFF{gSu!tSzQMCW7q9W};}A2?u6E}Hqtd!#B=y54$Tti-DwNv! zjqfSaBxG4fntukQQR}pQ6CKJ!dDTh&d0sdOayn%6h>hp)8t-#60mDbNMxXr&8Z3EW z%WPS5{A%1?H{kqU?D&YqZ=$u-@$M+?$e0s+t3alTAl&I6q(`cm+uRRhNPoIdt@+SB zJdlye?kNuF0U-$84uuR|09NQ#I&fCUqs&hR{Auq`%BT_Ys#9t7Mb8x3YK+>8*X}jU z+S%r%H1(#U71K-(Cq_i2<9>k9h{>P=6wLYWa~3!(bp&oC3>NtD;`w6ja;Z#QZ&EHRCR8BNA?d%wPuZqL;n^ifT{J8M+citanS%N+B)kWzNx@scP zVW;s5KEQrHP?+@-RMM4Gz`uS%Zw@H4?fU*imt}?HyfxWETBym^I%VvqogH3nDQ@n> zvE&m>bL-pdjkr{Pz@S2?i5wz7CMbS*Emmz2;ZBTcydFR}%e&8SllF*m$#qY&Eo{Yw zju*v}mzn1B(cOn?A^P2>svx)Rij)ZO&8w|x6%q1Z?>1JpT4! zU1$rdSkFf+HVi$74i1vkXOe7}8MNC=-DHY!)^LJDsu{22O;~36v_MDHW)jH!1X|(W zR{PJjgzG)v`@-s2uf<&3ZuA>~YC}!n!*(n4=De;)^+?_V7`1l_zUDSHY)62Twb1(z(eNkwM9b+OL9-jMYNh}Z&6E=>2DNR z%Qsq(EW#_U4#0PKYd4av#M!;sM*@N(V}toi`=p;LB_@RhQ&}+pw-UeB`xkXCJXih? z4M(I$-6#9Ow)d7tX?2oJr4eSUgy*xOU^3{rPk~`W`M>8-9UgCwtM;g}<%_`FS~AcD z4-gofl!+1Pl(1^KEVc-*R+~o$tNFVCl$9m1HlYw}!z%SwO}+5!!v(SEp7)2!?vvBN zoa(UYa@V%1l(y+M=K2n^(&&W@_QJ=EQd(ed`St#;P8b)Es3hAn{2uIN1k4mJeE#My z6u8TJlf6Sv)X#L@qYJ$wAT{9*L!_ftl=JM;&FuU`)J47?+@mA zOioK$qrI-A8>fMx73DeFNQ5oM^8e=u)^JVn1~421>F>SG(*R$J&t0(#scTM(3Zd&+3d^6sCadeNX_bT*?=h=j~|F;fVXWt5)$a8w+)E#L z!TAU8nFy;o%*obGg{>iL`V}Yt@X{%##5NO%uI0=UGE_paz@}8Ai*G zogY!9Ob87*<*zVaQdpn3JoCLo`Hk=T-@~9zt+iM||6bp4{Yzg%BXbg zF1GjK(MfY#K0e+a|DuE!@Np0(Bl$Y+*iKBI9|$4FMG7cK_WV1c%Y0)^?bB@L58=2= zOv?x{d10J=zWAD*TEp>b(10X8Ik>^pNMT z3J4`2fQ(f^|4;VlNwPXowvx^sE=SP1-K89OQ16=`P+?$WiB}@y($j5b8q08d&*kB zYwcYs2QU>#>&p4K=C>X9CFPypN8lyX(}Q5N$g0yXXjfMN4`4V`J~JbmXrL_%O0>sw zU8ooKzq9x5F;JkTzof)^LDG;iaGNclo10SJT2tooUqL5)?A%${GU>2?YhqvyN%yos z4~YzaKOWpM++-L8EYT{FUWTp28o*o!IAfi}q|$y2aRmqA`vysavwH5$H=l0YhbGtp zKcB#6w9xXI6;sN`B@r)hnF!wZX7vrxR(wCwInWaYiId}Z!eosQ_gm4!cdz4|qKZxE zKG}5!sJ@$G3V_E`(%cKL1!4B_njMJm%nA_#j=_qh%3&`c!xpH^WGri!>cK@`H7*3} zHCrMDfJl$9b)^!R`b8Qnd|eHWa?w6>i!lw0XW`>|VJlt>@d(wjSSls%RZaU< zg{^3)?jI7uj;czjk|AaKe+C=y{CUhI-n?bsQy&eB@7tcwLRn!8T1NS_M(Y5q+H$b2 zyK(Dd+L(~_qF_9S>f^<^YEmTDZ*(x1e%;%q%R^+3Ih}Dw+6naXnz_~2d9b((cm@FX zZ3ms*@mXN*@>hfTzjmcPnJcc+v6f`Ncywi>Xl&1k?i>8mH3AZX+45q8m+Wj+L zu)AdHkIu$u%Xhw9>{o)>7$u$Nfbb3fIPYA34N8tS{uG&z^CDrY~+nkK+> zk?cd}>Q?U#^eeWnX^Idbr|3V0zVmdvP#&)i0N7ych#fT4eb!(A~bX z@sz!Bym7D{zF-q$*=$ksu1%M_Wb`MoMg#w}Kv7+ZC@FV;#JX=i#k$}vAr-(d%g=KV z2i>4ofl(GttR{givMFql90&o)MD=$-dUb(NvFETCrtDaO~?)(hBPP+x&n zX#RC?!x?B5Auvip+r<#Bf14nH4zJ zSlj^LZRJ72|NYqdkC?XS^Z|ImPW(hmLHxa8V!%8nmJZM+8ihKMvh zcf#9_U7^6@)5l%Fgbq>|9qGspw$HMy!V<9l>n=U|_f=8_c8#VO?ZF4@S7~1Cj4Ee z%Ibh)L8A!nRq}DHxLl6!@uxp5ftCDW+3J7GzJG^AQB#qUggj6S+F24^)d|+`+DqX- zZ_eJge!HFDo^!81ThVUXX>+!Wt+D4^|I`dAS5!H|^CU3%16^W1i zaK1NB<0-7%w;p5I+oq4g!;S^6L>4$rYp4I^I79w%U_2r}YVRzh%eD^s>TI!))}|`p zV%yntY8KZy_g>)_Cne2q3@|tTd`cU<`5!BTAbg`+B5~9+-afy5CrwR<^}9TwO(380 z_%q`5luXF>Cz@FSGP9Y4EX2mw4LWMu#X0s3A$Kd1juiSVUbuE%vI|s*i`D`Fnk9oE zNz>$yyg562T|YV_#c?7#KXa%K{t%Yp_MI>D9tE9&%PPn~boa7IpJJyaRbWg6Ms|1_ z0xi06eidE>qKR)1or_hRKMlzn^J86yq{>!e*l?h6{?Y&u{Po6Cg0KaC`+JqXBb7(~ z@J)&Lk-G^wT}?uv1FG%!cSN^pe7ZGX1n}%q!hTr)TJP=!>LMd<>W~m&N;iR^!vpkv z1*i|I0*^|^bjY%-z+;(Q}zjw$?%46i+5j=${^&e$4Qnvuijb7IaS*|5izT# zoB8Dzl)p4Hi!UfB79fMUNkQSjxE7H)^}$F(H0cF&Q4FjH{RC%})h;?{@;6lXB#5u? zm`XnbH3_izav;W~mh>GMqxVz%`utVH#r3iMS#V3{tKVN8E%DmyXai*6152`2Mr42P z;eI9Ub*o9FF7#9Tnc%eT{idg2s-{97Dtud9?u`%@@5P7BD2SpOzTa?J_$mqvdfnK8Xe$+uB=J?Z9tUAy-i1%#1T*eIC+ zuY4Id$9hQf_<#y}ZM}-2fqGoNV9RAN83;)us6tX$=L=dxU~@cHM?4#$7vsl1q~6EG^3-8ti%ZgVopS>0Rl92R`A~Ru&l`q zv5!Gqt=vVDxyGXxGvK4}-f@q^2jqp>;AC&Mi|^*K@es>T)q?+Rf-*5eCTe{y3GP+M z3QhkpMXJi31P22{f1(*If99<8S8hRU(&RAE}{ zHrLO}lvXM+JQ@FCocbPm7h|{o$)%Kg3$uLmS?hNv=DwdUf!DCW%`s5nBI%d%b)n$k{iFK zC*5hgMiAcp_*duvn$?%vWNSM8<0fjg7$8*=bn^H7%*Ts%!|3DQ!Cu*3?Dm2X>oK@N!9o9;xw0KX!KzNL(XMd4+hi!nM_L6OLh2zqHxvyP+38&4nsir;44evx4=$9O!; zTZN}O&@)h<(e|90+}EsAy>1xc*(;X7#JE`PT|-{W&rTfegC?NRYL5Ta(KIT z#K)|s!nd*#a<=Ypm%XTUfkz+&|2V4J9XkGkUwedTK-V zZdGcaYP879+6Pcn5gmG>QHcP$)IRG~K53j;h+KCiZeOLr3vo4ohZqV;O`J!Bqu4W+ zxZ_mYER5?wxec0stubJ56}&UkBrP>F?A!j)_MUaco*2+dxS{@et2WMbkmLgWv!ON~ zU&)augqxsF@`pgoY+O9*v8)@n^}kl3A3zg30kClEVzJh!Rcx!Mm=v4o)!pe5>R*+d zTf-DT?6JTrQj&lI16(v~<_A%mSF+fvoVQHvqs25O=^-OC)C{qIg1I#w4!Wo^rSI{!6|KtwojqW@dZ z6uMdt8Nn+oB@}pUd;LC-D8&f@qsq^;Iq1`PdS8q?8+X{+N?RH{#`rm&08OfRnJd>g zf4z5bQ=}h+yJ6Qx@%VDz|3Z;@ZKbs#qSAW0Q^O~C%*hf2+bZVs2e^(E(l}dLg8sm7 zPCbaLbY%V9`M^UE5BR~3+_p#V1`_gdTip^lMf@zKpz1R7$!Uqyh;(#J%q+`yoX^{) z$eR+C+TH3R7>?tn-_iUimNEVKwx95T1eEc+xGP1Yk%0V$rqK9e?57{y#BVc*gGIM1 zuwZb}u|kRDiS!_|hsERDe>R-+xT3Z$p=7^u#lw$O_Wd`DJ}Ms>Dib-q``>*#AjP)? zYz3wGF&fZeL*mcZ?rV7*{=@CkCI4#985$Q&ez5oz4sc*io5&HC? zBv~IV;wBW_z%x`Rgwz3Y?=CB%_l43g(6o0L6}JUm^&sfH^5iaakTvWrO^AJ77x03OnYykf2Vil zsq5jB_u>6_(kOAQu+ERvhzcjU;Xe)-{2#((^(J+cC@w%DWp;?S6|`6O-0$byiEbL$ zSerzC(4xm{zWeb`U1~rtpc3b-;_KcsXA8>Emw5BodSBwd;6BqTtivwUL@nOYVb}!t zGb+v4Mei-QJWxLfB6mWmvXm7n#1KEbKRDaa1-&qG>57iepnu|xhv)pbHo>iOf~tf8 zF)A_q#Ew^coZx0jx_sC0j(u;9ad63tEEazS+v4OdVoK8zq0!Fu)?4aa*v-cj;>4}f z()I1!CUXaMYUtuU-im7HYX zP`#_Ww%#?~;v@!OIl?EbiwbQxnJM%?k|940HaZQU0&Ry2RK1njnjE)V(ROXDF)&+T zfQr%@7$$LtzZ+=dsQZh>PL2mHHnGa+Nwu#lYqpAV9<(|1W;tqTwoG}?gB-t`5MUzn z_N?aJM}At;k!JFwia&l)AR>&XNnT9EjidTF5Y5^Ijwh(=(1Gd^L-j0d*%Ra~lE`i* zW=Jvs%>MW-StUKdr15E48;K;&UD%$MjJGv97l<7dBS*e3qUAe&QIQ2;QmAPbL_ zmI^7~gXJ7E8knD@CGzuo9d_K**GN1hG@WG)@w&dr-Rcdx-X7@8y zU3by%IA^?8ofPkTA=*vV82yI+KidAQ3SJ_Sx&oHkgPEF1HZ9QjgeODCAIB@GP-nVe zKL{BurbGaBU=|qwSX4#V=WN3mz1X%Tcb2T%IH?Q@gw0>iM96Zu503# zY;c9zb;~SVz04Y0KtPAMAiI*cHz?>T>G~ooadefGGO?&|}SsX6%^Lzs+oArKL2P4UJbYw`^01NC_6R z33IlWYvMFt?-nd3h3Br`TmSBr-{DA-{76-8+>WlTH`|h$62E4a!J%Sek)>0 z5EYbb_UH9_y3bOD)iTBX!j&#-V>P-gxp~goAUF<|afqW={?e_C2Qn8gDAMHiYX0L1 zUhx%bmS3huU!z)bk0@?E>&kcjN z(^ju#;{UV#sSwetD0eCcbWIulaCCZd_zD_>>`@NiSvjj18y#K&b119W5Ssk4iCg{K z)S7)=v#rtH*^PlZ&4+&MeCzuQ{nix^GHuMQI~d zF&fxf&U$o%HASi29rlbHzT8&FDqxZ39kstF0jzFos&)9Li%qmqv)38QW2hz8fTsdg z@B!C))%bzKB4|FsQc5e1uI?$;%N@`*tOrtI3J~Q!2qp?)f=36535IWD1B1%fw~+50 ziWO8t&vq@gUZ!=8RurdN<>S2)jvhADL@=^1*gmGYm}0zQ z{I}|FX*myYZ#Wb`P2FEFwMU?_s(@`3Lu(7GpH`ZVeXO_#$cNDVpUGmMJtL|NiK_ zW^If>C_Q7ndh_m`t)Js*vw&O4RhmY7hMV$;O91-ah4A3ZB=q|F59bFd{v$^@m>up?sC99+0=3)c)q#mUj0P9F?cM` zskx3JMopCP1B4jclmYd`gKo>S?>%@}SGGL)cTB7o`Lzm`Ylteox#wEzqDEE1x=#o5 za1s))u{rM7*6xc>vq{@gZ_&VmMGs9{Bo|5{ts~kZXBU&-UCs7k9iOi>kmD)ug^mNT zrMXDiTUSO>#r6R`uuXWg-4&|xb}%Ry3$l77bubs9p{IPW#LtX@9U^E06O1pCQdT-&IV z6|<(KKg8G=s-8EOh8egw)MkDE*Sc?Hu#(fd=%L7ZU;j{$%cnp%zac-K@1}|dCWqVg z7(FIIL>2SimaS0X&%vgW8SG_qMQT3YxR>^@Frg7fogK*w6W&1H(a0itErwsL#w(`y2FD=6GqBzv3Sb<$rQlm-5tVa1!`(^P*B&Fw2g z&Q-AaBrxYnTh^NTKGamtyNhp^u8U{6y^?o=!aPV6x5K(Kd}B9%Rma0p6}`Wa`3F6W z&$$SM7Qm>^_)afSAc9K;aK|eQQoe>|6T2VgD0fvhF2CMu;IZ_cjn+V zr1VE_T27}6LeRa&<5Cj8|5sMjY;L&W z`6=UA%bWc&9E&buXEB`nfK!0_F+Q3}(nF7kUwJ(mUSE&Cw4Q*NOtg zR|HnXVVi@CLmEBtovyN7XXxORtBuI2;L;jz#h|^gKVrkzJ-(&4g7KjFS#6P>EDEH^ z1AB9_e!u&0{rGH~Jqx#?NZ?ukr;Se2g!?=(^8UbFssjyQ;y1t$#gZbdzgL=$%RrDz zC2IJykMWiB3I8KPqYUl{M+ptoPg?3b$}KU>@qFBYNPRc1v`a0rYKqM4OQXA|S2=Up z2p-8~VSdhs4w6W%;(26WsQ$Xlq!&b^g>f&sc0#5+_0|K;cXDyY_Vj#0woLm}ycY?cpu` z3CTM;q=nS;;%IYg(jj?3v@!zAfFO^21i2 zlI2je;xdD_lk)15ScPBPbe%@mCsa+8*hj&im+T-YFu_dUX{2}5k{9dS&j|p4NV4Dd z-RmsP#_98q%N`2J8l6e7y^{)&RGs?xuB%|S2w2RvVbPO5AUmlflDztad9WygTX#0S zKG@*SIvv%|xK7J!Bq@wD^8!}+(Hr)}cSKgww})|@0}1+2Jwd>Wg1>It&iFRUanV%oE?;0B6Yj1mgeFm`Ou@x*rRB&1t<$s@5qcqgpd9j>T22i?b^ z-zQidMuDs0-o)`oo{SDn9CqR+iEnaYf~jCsDi#Sz!lJ$)Q3Uo|Ka|M2yh{=^T~b|Mx#v%A9$L4VZ^S7%zgO?kd^p>E!ohK z4O-)Rb08gwDd}aOjpgpR`dc|nuFo!=*W%itd8SMX=6fQjlq7=N7m*?N+3uBsqGG!K zUT7kB=5f1^1=aYlu3K8D8mel!{fAU1Rb^SWBnF(wiPt^y*p+dl#2U|vWiIH%nL@D> zX%{Yish|hu?WX07Wzrt`67q82zvBqlAK}`@*03-M;uxr5WGivSJ%+W^b!Xb^R$FiCD9-XZAXTdI3}so?%O6=a&Pm)tQvqpv;2kMb zAji?@ciHhV+8-J80TB@xl9${CFoAEW6Cz12qCYQY+L@uM1X;O) z_1U)$cam@3&AArm2h>vtjA8+@3(NjegtI?$T8@iWWI;pjL7TT#4CybjUlq;38c{#kkRPHg3e!rRe5|wG)4Ho6( zDm3_YS5zXO2&$mM*?A)oIwmMcA}t7V05THTr~CmcgE5#1I3hva32 zDv8o#s2Rhej{P8T7S4YrEro~FcIIyZ%dTUM$45#xT`240b(6zX+gqqif;7R(kEll6 zsNu)67ITlxjeq&q496OmC(F$R*b1Ygg!R?7tZ&@#Ak#;L{mT-IxRyh+LS(+2OEQSv zke|=nzRc5|`$4pL{BuJ&0?X|I9dm)M$KPW`&Q_wS*kd%R4keeJXp9e;rs|ffSxHr> zPKsO-9EI)-a$z*T44Z1#IvdtmxduA|8u-<=qk~SI0!H8%LiqPYZC*%}`}1v(!M%Dy zlF|K3e4;lmonLCbROdAKnC;*s0N{giyqkiS`snNk{@hs@T^0CzR>uJ2c^qMYXszG5 zc$pNV!Gd#E-pO9(j}C={OD&dYOI)(tDfHe}p8wqHT*LvFXjE5<#|w1?(D&g=#6Z&n zevq=G*cIP-`}L9Nu=xN1EvP6xahUi}Eap*fXY@&uz@L9CfC>8ViXR#6%TvcyCO-Y- zyAm76v^&2Jpg`hEVMk*7zy5x%I2{_|?QNs(qgm!;v& zloxr+Z>qi5MS=NH4+abw_yuemC9?OH8mW_}OnJgl=4umClq-ElbWEk{PFi4%rDvl= z0dp_LjW|w|?XeW3-g4ikARXA3b3VRB42TNQkZ$L#7Oe^DG+oPd>SO8UGBNzx zEOJD4jLf$G`~`JC0B5+HeZ4Vv`Fx^Q-@Rt%c*)7O+?qxv!eiT<=%g{yJ5;sh-X2Rp z9AYG~6w%Hfd~?qy-ZO6ZL4VbMl~qjOHvt#VudXHXcUSQZ_xzlxQqSO$Q-oYK5#eAg zB52CV&8okMW={_w_Arv5zqpjBxVBm$Vbl2gcl6A6QB21Pw2cl{9%m4x!7*=D#c;tj zwn4?d!iBJ{vjGXDAJD-)m}Xg2140%=t(*%8Kl8!*M6`C|zS~ul+@78_Q+Qdc{mEHI z)mdX?yyAt}#-aAenHsgWZN;<QFV&QlSt(%4#u(t zPQ`ca8P6v&*oLIl#`uyVpJ}$Q*CC-=u&)9v$k#0SBEYVGF6PicvHExxh3?!NXEG13 zW83Wwa)AeqaNYgpr6$*3c>S`iWY&Kr!M@{|+js4kvzCG0udHKNh)#}Cw%QT|b?_5H zQ8-@6)*1(TE|_4cC3)@Nxfd`+ScF4#D83)@CFmh&>zRNim)V5Va&$S7JIkWwSnj`d?_f( ziVrN9hXYRp(GXjOT31Of3YexA2Tgo3^nW%Jho0POaE%rFb20&@aKhg7o003gNt2UH z4(|j!Vp z>T;Gl9@GP{>cr0DH`Q2EiEP$jLjhDBQbaLQ+lUk7dH{phTNoJ=rPtN(H6P`A+me=+ zlnPfo;VAqljDu9AdtGUJmwSvlc)8s?!;VnOIh9z{r3r~pdOJ`dUpg{8Cl0E6qa})v z$19UYMC)7WlB2VDfk;pEzN;GQkL5J~a}pR><|O*;QC(AixBdrsTRn5mk@Jn=I(f^G zAJ1{CpGOumyNrjqz)|p5#-$7;e|P5at9jXo`P(p@UWNG=gUKbSe=9CP2>*S{M$TF} z%UcGFc?`NulWr!%q%oFHRU9ks)eT;2LC~Y0$8aCr+q)nfpU8JaMKl(ZnYW~gQS~|Y zKHE#pVcbAw*3TAIqgw0(0ETN9F)i}zn^r(??iRNVbRN>vqc5&y=0IV-HR2}w4{=u> ze(hbCfiAsLe}GjsPNb+xx!1+0HtpTIMOu}tJdxTU6<1Qqk7U0*)wxuD2M@h|NHF;G5#AY38|Z8^I$?G_}cGTm%bAu+kyB8 zJ{omZ>rNV-!(;NS3(?XLz7mm?zzx$gFlYzMq1xoTjWdmjKqTZ2750FP4y9kNvNVij}!-Pdibx;A#(+CMjiue-1; z-O-9-*RR+SUBPN1lNtOt16N{14tG|RFrF+^AD+zSltfR1JJ4WQLVI?jgjv!Ao!feg zN^`H9^0q#hf4Ctj)52fH1hL{3w@LF`Ue2}Qix!`cyasPgv~! z6Ai7ZohqxbcK&P`5gh(q_#_v{FjzRsGy#eI0aq7`;#*%qm#*sTB0@+tHBU9)>`|katA{e zgkx8+z}HY-LdrRk$cqnMt0j{TjGm;`c&bMzF1%DGAIuE8n6Dz=PWxxod-;g9a_fcy zsyVU&=?}J}Zeg26H)7Jt)S`7!;hTG!GLxuXljjD$KKdZ*B8Mh9$1~3;BBVuHOR?;z za?S80cNw_upWd^}9`pI821q6H>k(+c&4eTb3;bQt&_U<(%S~h8kw+~JgpiMV(7~l9 zlM%_Cch5Dbh)0uD{jYQ!Pu?TeIzj=a-u>TEZRsC(R`(L^#M%3(?K!VJqKoUOCWPGf z^zB5>#mjwI-7P7qN^O;w+EsY%|PK%x17mjujc~{bkPW+w{^SBQyz9T4b zqo)Ev8!+N#-h8zozK%#6>zf(5w#iH$n??M5+@K0>NIv3*lp!>-7F#>1t@!n$HItZD z{o{7Cwd2ZCP&uP@=4+jDn$BCA&hvhvk@G<0gMIN;{Bdur>UpPMD~~7+d`26u{7@%U zyn(|(h76_{!&IL-f0zP~?7*lFIZIMq6-s!rLFs@3#zX?ZL%RV=El zJuY@oQhm8%jshP{mZ3$)r6sLqsd1nKs%qWLCC!>&z_E~V};|;&iq<1d$;f7pN@6ZehC7CUT*s883#n|x7^EMf5mDr z&o>MNOsfq|MeYBXJjs~BGZ|cHc>$JU+>t=%I?|ij3o9b8xd!8Ie!Y8#^_@;X>3I=P z{K>`P(~s*fechScKD^FS2)>F}wp;a?vO}NDSLZ6tV$om#+QUY#4Z!ihec9{&q2qOg z{3=reL6Ionc2iu-J4%!f^x2{k0YuW_(<5qn0%dYv7_bO;l5!ynd()J`m$={VO`azC zt2L9JJZzPn?|qad#%UnuDESYtif)xHL|q zB7x;~NrDm73zc+gyg)=0Bn*d}VWj)t#6F55Kgc^I(1wU%I7!kY#>sip6O&AAjT)7M zr^w$(A^V#_N2SKw+4853Sv&6$lv3Ax2l^L6M%h**0IZoTk z#nm64XJ9?k52kIzvvX1xI{G%cKna08o4mm#+mlRL@96r=snOx#p0n=q!)~(tXs6Q; z+Tjk>-nHbuwdi?JF=6~<0Zm)1Ggdp_^>9p&V5EQaWj z7eW%Zbef4bN5Ai7D9$r`JD|b%=a&st1U(7KBb~V zG_K2Nsqs(Hh%I&ZX!IC8kNLstGBeK3@OzgekyCf)!?dt-t$}8HtQAvf(u^K+_6RbT z%}6>Zr^=M<%s!PyW6M4+>owhys(Z<=#MS5EGxKKUS)=_mX2igXgr7S&$zAz+{G-s8 zC#A6l8Hg+7eq>YiDs+KEPLa*9t8wikgz81m8kwCC<@bv6f z%8*h zcPCF|$nM_1T=AZJUxj^H1ZzlBglE7o0pZAe&3z$@g;v^S_bWlA3?bk^`^X>~bnn?( z|6afJt*==?fgf|*caNj`H+IxivAe{~XNV1XpedWCpP0DjS)koBS#3U3TEh zHO#)}HPh4I%vsj77B5-)*syP!tnZg>+W@X9%+Pou?YcY}KQhF^E?d8jzPLU+u5@g& zC<3Z62i#UpgUxA<*dPe5B}YR!O{#VT@InE-Ig9GadFY_bns$tHaR~`q4S$Hy#hdC= zEf42#4*R?!z7=!#3u}_syjyp)kK2>cI{J3CFpyQ0e+KZ!Y!VKt4Ctr+svD7B9lxos zcY6V{rVbtR5Cm@ZUl(8Htq{6`2KRqNv{91t|7oE_23qSI77D5vZ~+gHiz}zvjn2{} za+~>Q-G^4Vz2qcy(Kp<#<5C)i%n>I)4dwx{*X+I6njtNeV)4&`vbxoYZ@GFfW`rvd&5+IA(;TdGmjCa3&QKHqX$QsX}7m z0kdbho1ki4FlQtu412P*XC+=cv-IX{VT*p3Y6Otd3J8>H(3Q*`S$tTyF;sM5@yu~j zH1vWpgy6q{p$l}(1(y7XRz?ggiHAI}-N9w}k%{|3eEUE035=e$mF~I<7*%~n#{-4U zm5+uoz$tw>*L%q!IfDj{Ro71%Cmmsjce1OlD*FCW!6=dRkObNvwE6t#TgWhqOjvppTTk)^@nz{%A6;lc9Edh_g7{Ods&bEQX8k09vjAnDcQhCmm`nN>W!d|6+S^s%X+*Mw-yCM?O7tm!3sTNqeOK0s2wI?$UGp z8RhoF&Wrlwmf!6{l-e7~%1+UvN^WGJ5pu`&*os+EF6erokVTi=JQ~QQ6NQ4{y#7r= z0Eumj%I#;0)6j=Lo=du5!~8ooE>y{pRYJeZJy?h`NAH^6wAFM*GOI|p+#weAhF|>l zbgp}SGO*g;Q1?=+Buq`ff7e779<6}T^0DAnh!2F6MoIKcFlVK9?rJM=Ns$VtpY^G2 zAL?m5Hs383HEY>j&^&0D!c9AAkOu}*c|_3D%ORPhc4JoRckFBEuuxCTM$IQ*!&;E| zbfjy0Yz)nM-1WCld(?ti-xV-4;WJ1s;RDu81N~(yBV#hVlZxBdp#>3UYGb_o?*6BP zvBzZ65@Fa0r|dCT#7OW=KCY`hP3XehP*wIlu)DLFwa*uHJWt9b@V`Jn{J+%tSGI)%#!145 z$_8-5o(M;Q%39yw0DsY_s0|q8m>*I`gskVJ1%XlEGo-1=rSvWe;Wbg`BZ5$&-Q~`l zt08UARw7lFot*`B$518<18*c`P1mR3WgmoIOmadO z3UmT~uIY`?cK&Y+5i}CJeh?X86SU2p*5gUndQ3xx1>GxRWJFp_GyvF%YA&62hI|YX zHl+lR#>UjHm61ZuCD$+ss(8M4J_4O2*!Lnz2-hq&^pkviT`dsW*Ds^bQEeF;@gJDb zwh0eft*zR8x4fSu>B%Lg&~!R>`rbu$({8QBms7*LKIAK{anq*c z=L)IlT*!YOA=4I658}~&9r-wQy>8F%$mm;z27{kzH@cJ`ZIn5*JBgaU2!Z<^Y$0Fw zSe6E1f*-#-grpqn=yPyrz|f!Ralf_vSJ8P$l{>W8I*}{+t_vx!3;yj=;8>0cSH4jD zHG_U;h>Lx){6CJ)I-Jh`594zB=;oN2W@6e=!_;)g*qC9uk8Xyk>EY;_?(S)hnl{~e zbn|<@zyDpXbDirvpXdE~->>_=fr;DSmut;^WqWPWI&4m&tgEcl90awisc7!0-+r_5 zuY{6r!{F*g>!XqNPOYT$!nffAN>a7!5HTdo7ieS>z0=(s%SlY(&41!jN?&a;(0Rhh^BaqwHOlbH{Bm0wI+*nj`FW~RZy!Ht|y1ch7RxAOOq0_j9FJArOcs;Y5t@T4hYxvUH~Zw z3etT3rS$I;c0?WbE#dyxzr;?UAFfH^Ic9Wg4^JVMV0F~bcv$JJ9W$X5YV7ut?a9}^ zt8ub9o=asMAB-Mu;k#{)I$$XUTYXA>I_ht0v!SJeT18kAcZjRIw=rhZc>(bMQlOeJ zupsySx$A%UHje;7-DE+Oo;xq9Gk&C5cSmX_IZWN;B)^19`#kExdzhU(SrWntcZ(WY ziOfuXf#d#+gA`N3MO2V&74+URjUvW9^H^my+xX|RRVU}A49PL|MyY7(V%V#opH0?6 z4MA~L<}4fHl+Ox?%zxKbe`cmdAow|MqjGA)oaMt1=QqFkF~U1d#!#>JPp`tX$wQQE z8Vy_rcyMC6qUbz1mhd4jL>HPrBhX-*39oU%yaZ{2_C;v0`6=d&I1ImlFuDY5OO(*< zW5^8>`1fgL+8D!dv@j?4Dq#Wzl%m#hr5n%q!QZt1da=Q5abJAJy^U7sDLjOEIc-XM zH5?0RtSFl+ceh(a@afiV`<>9L@EV>~d_pEwjI{-`SEsWR8QBNlDk5mk{O+()+KN>` z!?DUVxf*}@3I^nw_@uQ^GPvd($k@Y!Q8al(6__SdZ2Md6deK(7PACm5-GQ*(I>LTR z2c>IhIsU42{z^q}DMeRR8|WG( zruQWC$S)JK01b2D+gzmc9u37L6Hu!(p>y+PngVDxe?No5Hb3IdDd6dyQYQdgOowpXQ# zt$xB#iX$??vPWL!Q4h0KEatGT=4E|Drpk`ftNwX^vn+Skqa`dv8#w;O1+^}JL|DbV z8Jw$egp?Z_9JkhP9WwIK&;;g48;r!SR{9C?;;T_g@XzCA&Ntc+9OzWmAO@@gM%Nt4 zz|@mu-y=!XZ66)0%!o@=UqD2-R)Gcbj27NU62u%J+pj77z;SnmUitFEqORHc+##YV zgmBZJ4JXpweS+(Ok86XT%#!|A!vXl?FYvoCWRt)8i$uU9}`L9JQJk6wSv|s3euY9#=b&;d% zoS$)_e0ig3v$^z5HuztT6n@AK3)lj4V?wO}1&!0HI@v%s1DCD7a4LncUBdY! z(?PUML<DNS81%QTQ!`DmEOgJ(Q4Tp~E9h+Gtouy;a&gE+W4f>MO|a)tlE2(AE~XIQ ztX8x)_+T2f2csj50b^!WwPUoq&S;eLr}h3cTJTnIrZxy#Zowrz(UfloQZ=Y9b=68K zLZqU6QT)mJjwvE{{V;){CDcmeF5R@hI$^F|-`(Z#4zu1JH!5Li)AK0gQ%`nQ! zIVfkF1HUb&#S)Wf;YV$4r_ah%+IzNJkaK_^#h*x!V1W#pb0Ill@9j~+1#kG zm!s!7d<-;&{r&41h0W_DSF$(1SKk^fh>_{Hynkuk&y4{QhCg1jgyLDGhpkW6fBqp6 zutOD4xH9#<_#DW3M=knT6AGMY7%&kuFfeWrxDT5t#V58%EWs6QqNBry#_)v~hNQYA zP{FpNLuO=P1*3Nyp}5pPY!?MLCVQvsSA7L4() zQb7Of@9l$|uJ=f$Y7F?+RMAX0QJn)!$$@NHx z#%vqyp$=B$pZCI?l?T7eEB4hOrzDv6PciS98?}S)+wB zGVE(_$$U%9av04)>&Qo8QQBGfXlHUN-P%=tlTe$r5fb!W9EH+2!AtICF-$}m;==ZQP6zKNZYLBZUKHWHmr%ul>%IFBG!Bj9a0QbaIfrXtuvFzlZ1L7X~9mjh$809 zcy2$~R$VxZSv4~D2;BYNi(ojY+JXT43Qul%A`Z@3$0T22!i#j22Q4I!)X(Ho&39xW zohSfK2FZcQBoZyxuTMhyt)zDSWUBTnnw73m$T8(sKk1McLUoo1GK!3X|n;ac(nUSQ21p&FCs92N$}s!HVN@(xeN~ToZ=!> z9&&sa&iuYU=SY3HUN2}Df3l1T60uQgIUrJ6laIy=!0JB(C$9%zlt>d>nWq+UB3c30JF7qgu8c}5 zDlU~%tsWXk(AVKhs^vfw$|ckwukPJW`Nwg;POlVUGqmI7X8#pm#{~~7VuZKs>TNUh zZ9D6Hut{>cvkG$gm$J?xd@qIqeLRb`IFwiU{RsksGR#OAOu%Saop-HaI8Dgz6}}(N z?mTN(32wx&B@7LD;H%n{8?9>f5#k z%rGcu@hd%}I`(c4teQk^;X}6O!w1T0GtHlD!y4wp&1;ZcbP`?BLcV!l2h7Fn0_7zE zy`DKLuTJ8jYhyY~DqaquPir1`gT}~(=*deou!B_gd0!6Ka~}S%oygY2|If3@TxC5i zXn>?bHRGEyR4>S<;8EVlq7sOPimsHI-y^f9DRwcd&7Qk|IothDxSiP3UQ@3Ecn>3w z?d+&~yJ0E9M;J&(vc%s;X4O*&@{+CI<;%jA46m|DcmFZHP~QLRpn|iRKMKHgI>QOR zQoI}HV_F8kdsJN24P45ea-j#$(_@B>9}o8FNY9u`BMGB|5bGOam6k)2-tI@3imGGo z3?RiA)qLnV^b8c`zT6w3IwH5dmM26ESU%@e zNrDe?Kbf3Yep8IIXdh5YODEg)`8HSdhDv=6FwR(Yor|@sZ#X_8!Xh4n2d!8jB8fhL zEdxvwlb+E7NQ3JFLm-dLk72N~xxN`6OuTR6Kbiy4d*iay#4;b&B?=qa@H|!7B`neQ z+v`Huclx1z!hGkR#!w@zp`mi(;cflp#7 zZ@AoEd~<#&og#?vcrEb2_>M{}@Wl`NpiV@W$Zz}+<}pVpZC?X$nihVIi^1HZf4@xs z3xPly(F&iAWPzha8ZgiiB!U9V?!hqIfpZSHI76!|T_zxZRd47+AAmN2D`ZK@S6LISFe?6US|E4gN*1H%%btkUftUSaQy7Bvbq;`wIls$SLM)jR3^#!MSPF|Da6K)I1gQt9=D#CA0tZCS>`m}9`N|rYJ|`0$`pZ4LUgrmv-M-U`&B;m2QZC`f z^)8{Uf8&isnb{Wg@bM&jbM;e#COw<5__BwO!~Z-jWVQ=gxRZbB3Q0 zrf>UN!Xtx3xa{WwCG32Q!K#rZCV9~N{5xUfKx%=V?Gu1RT*tyQXmoz8UTchNpc1Sh z7isu=d;k8G^Q_wDz|>3?R-@BrrelIoaf=D(wT+?Rd<`N!MM0k8$VjurH60F(CPx#S z)eGCqx9#bFoT#%E8djH%>mCmtsxX!T-sYp|Q|E2aUn$++P62|=#(JoPwayI=U*vx} zUrwhm?y>0am&;K-nGtHv@K35~p0tuWJyi#$zTzcDI$F88&v$SY*Pfouq-N`WJwPpW zJYS%)E=wrT`h^KmF4AiZp}*u8M}kBsT~=2%=Xh(UkPD(_GK~~EwA=F>e|*bjTm1t| zJm;q4Z=PlA-8*ucd2w13@-k;KSo*)7e~6Zxo}koddKMu*8Yd;6AjhYxA%T(1r)cWQ z8D4&vBGtJuQ1a(lUQyCHa+0(_#!x1rn@DzK2)ny(GkcPoty%kTo7I921dxoRo`nWI zRudmK;^Vp>d;^X))(yiqJLn)^%oOhq9KDKTlCoZVJ6ad%g<4EUPwQ!h-mb`)=ceTv zu@G&?+PiFSVw@U>#Gw7A1m;$pE9w z)mo9d_QQ#P92&SOpA3ZicVBm0Ic{f1*G~QWo#i-7qB$k^oAOl@KR8M+qDgTY z*5%~^OCLA8HFZGvT@jL76%H!7J#Z|9GPJinq+&ppo)^0QU|XzF&R39k2l<7EYJK4^ zUzUo#$Nu1GrTYZE{W4Ur6@(mfHYzS(bXW#1eqi9^OFd}`4IAvqyldISlP&+kSI%N~H9il`mO;)LkLIV}y!D&ONGT)LU3^(VHW}eSUDm6Q@k98D+M3=d ziW#&@rH8mwrLBilN9<3(#}p&GAGh{7M1P%-B7r%@sn~Ycyy!*{FCHqk5xZj0?c#pK z^5WQP$s+mbVp_iu6`vepD5MFll*R!u*{q<)>?8LUTsGm z2nn609;c5Exvj}*5=;ACjKmWgalWdlIg|P?E%ETvDrmVXK1Vvwl0Fn$<&EUp;5>^M zKTbZg#oGSuE!=Q15r?ix7;@V`yBdCVidmdL_@pIb%}xiPV*XV6GE{sB5^FIN$BRNK z(=CQ7Go_k!tLG}-YCcw@#i6s@cgwM^wO9w+=WWfV$Bpebqgy?V-gd0Wwj!S`s2Viq z$c7YoLG$N?)rnDhaS!Aqz-rs z^|1O$G^Bmn*{)chtUC6E73QapeB15m#w-A|Q`Q4y$ey0=9Xc}+LYai11B-$$$m^pe z`{0A6a+zzz(WjX4$@OwzH)m@!+&T*PUj0+`^hdQl2^|_vzmKWhAiEpm)z+;hi?y>! zM*EO&f((Ia0Iz2+K2b~r<#ms7mehHPUwGe_qoz~*c!vOtXg>y4M9I+a3)fUI=NcJ|N+Wt@=zeUm zc8YJMBp=bAMUPr#)^9NYhwN}b-WI5QqWY$707YY^f&=9zf!M;Fu^~GQQZ6^=Z(gj9aOoTfcFRYuM z&`!=kgo$!PTYt3Hlq}`g{sO+On9y2u&>$8T+f9S&syJebJB8b4=`~(8W`$1Jt-;E zuppu*^yj@?j(Y>yT&-z>vq2Ux>F10XCOymNX`Ds1KfVTch`QfyhyXDC@=OFK4e%9Xp zJFHbTM1;$hYSOLYQ#^p~7NVoTe#S4a*Zm61>y@)7E;=D8?jf3E|8#-;;(cC1V= zLMxp~o{lc6gt>2nZ6%VOya4zqQHkev{8QG103erO2~=S|+D93}X&`wofGrn>E>gznZ$uWS2~17RJJ53oJIn zUQ|s{2Ies2F166F-u5AnwIp_K7-Yg;ae}PBzxN^Lau3of+ z(#fFe1`N#}?=(NqJ@c}?;dFP5*A>?HPy~Tw=RYHl$zwpa&|p8!KH#q$aHX`L9D}>^ zCb(YshjngmBbKZ^e(D*OKCy^D2^l~h@5w9@!}nYEo7<+Az4EWSP-&W&XLOD-7C38; z2PQW{tE<`^bJlFC*1ju!Nux(n{NdUeKUrOe3ihy?>dr;K?FB*E-Xw3l>$?SLIpCUd zKH2Blt8x!sb#(1kN+uy?MfNrCB;lt`+iexm(|paj6#YD{f-}Nd*ML+!vjISCz+=yq zQp~9Va4<<_hM!ln@VU+I06k>I$CYdrM^FT3Opr9~RC}WECh2}9snq<@IQZ;G43Ec6 zjg}2S#Ba>ht9xdI39xxyCIV?%HcBn^LlyVPF>RS3H&nU`;4VV9diN%Yzd_8)r6j%Q zTo7e!t2C-HzM-pb#h~TDSuoF*vb^eXK%$MnOFVU*jLYt?yon;IiR#`3yE{>2Nw1;l z4yn873FMk*xqjW709pT_WtXaK{`H)r^h0iY58E8We&UHn_84{a;Hr)`A~qY}}Wj_Qxp;$bkpBT6tCN{AC~o5PD669Q8-CA727nFfv-kpCJymiUHo! z2P1F+69&C)zHC#9ulL5x9a;H}lkFz%3)VS*|2JFDlDTtCwbhCuSg z{pb2bX2GtXaQ()Q77k`FbA3AI{Av@mP-2!e`uqCSDWlG}5tUP9h^38uK-Ng0SZl4t zf&xu&w7ta&aH{|gh(XxS{w-^xtK%E`TB;O|0y75o$2!Lb05!HCnjTdTNsp48 zpWrD{qZQ>WS;XCO94zaJrwSws1_2s(B_}6jA!RRaoud$4;6rJ%9)u(FXiljDGJx(M zX8tQ7cH|+V;GMDg+C(#@Q_q697`lDiWREcCc;0%TG%+T=ncDAO=+@7>?_}Gwd!bTB z9kp`+FxxRf1Fk{vF=p{+^KPyWL$!LRP~X{`-0t+wmQT#&?MuKYAVT=I!Rbuiq5g7o zlnJ`U3ZGNN_FUO~ON=sDg@uO7dN%ak-{%D0mebn;l_yXwyW%>~SS?n?@<#1yrarWt z%a>`zJ!+W{Ii{<<6ciqgwUo^6sUKLhdPX~=vyK6_n4d_O3co__G*iLRFsOg$^o{CQ zgM1;c1Wg!-w!#QVwqt1ciyDUa4*Ef6O9X-f>+1slr*+iOd@HHABx2jYGM^!lLInfY z2Thho>^xQ??0a3*7|DJaj}m%Yst^M5LJtV5ypnampV!C4zLN%ZE;uppbRL?9BJbzp z1LsEV^|GFG*+C|6?bg&Ru2p@xEiZ9JE{?w7E>-%1V!^!88id+uVa`;gI_AFM`0UDW zuB9Z51vY#%VIowzX>`B)+!&9u$%0##>fd2<)e;VuuZI9Ua=GqpD4r*I7=CHr%Ck}M znG!V(hd2C6wbNPDozia8_s4KDS@!OdDKOByW>4p!Urx4GaP1xF9&I+;D&uCCZeU!p z%vLY!F^h~bxD|n_eZ+hP5wv?pVd^!lcBue+d`FPiD_Yb0eb1q~WLLXfT8COb)<2&Yb9g97EzTM(Dq; zh7MWw)rP!&y3q|Krl5IH|3b^Z8rNIsi@KfcA2!Qx3MA1e<8a_1jpd7NWF!k*X79&T zUt?0dr#BNd$8ZhSJeUv_o1~t+!VLK|-?uqKufwz)+rqY5<)9BG zaSsvPetwtIFiM3+A9ZxaF1EOKQ6F+s?oG~1y3%&YbxrIBga}KnI^wiZA&i#8LVAqf z**s?EDiBP)VRuyS1K2~?#1(^U7H&RmN5@-=@5#OTraK(1X9n-0RsuJ|e(jH&&9W_h zl8Xh7@t3g$!CvaDB_&kX9xE{Z>N2Lph47u;>?U?2ls8#;_i{Z=8gIcbw>jb~=M4K;xQvP3LRqxK6+*<~9w9H*S zwgrHwa8k-hCkcp?HU{`fzBPcqYs#OA73fkCPCT?GFIac$b6IMuMPg*OFzebRr$OW~ zowis1QDcptLO}(qK6Fa=M$!8FfnxHSCw=TwFqBbX+}$c)zTm#1Jl6RW1Cm|TiKBQj z7CbaO1w~xr{@Icaay+`RG%{NnR#7?I{sFK~y~4qbF%G^fuQ4DBj!yc;Aymaip>k@h zmoRM~5TIArGx-+roMv7}O4tHkRWG0%`Y&7BO$y7!USjm9bx{#nDL_KT+^k1Akii~M zbJd{oZ@TA&(o-X-55L%%zv&M@(xgS?)&0mq*}~(hp||}dWIcA?{g~lG3S_6PX`IzQ zwjU^S;3ZlyBL=LOHDelFouT4fcYj=&enn<~wgJ$0fC{ZSF8WYz{4h|~Q)4$62JfEA zwsqd2S6#kIpXKQ)Y-w-@^pD773Alzh8>v;_M}W60=h>?BY1 z0X~R}U|7`KIR|B7C)R;h?|UgG?T;~8Lt08&Y$&PM!J&;)Nj&m<-&PAkx* zgK3Q(*e~F1oT0|7bD|H?`7Qp^gNPNP8!zR{2;<Zf@^R&QST=w{Nw`c^nbu|Lz~|Za*=)+}NMh_rN?eca3e?)G3=>dLYIdpO`I^qD zV7Z~p(CUBMAZpDntUmiw^Y6!&uakkZ%kCulAg94A)_hWN8g3E{5Lnh123%k|owpw- zf%RfK86Pfv7J(-kM1XmO0|E~mxEbo+&_ybVWQ{6dxl5GSY<~FsyiafY^&cUmuh)Zn z4=B@m$l%+_R=&-cspem(wT--9_CqCR#_hZ;DLlQmhl@7+b;lAl(Rgw(<7#hdMPDJY zhEBgD$u#tL47z(Ma6yOxsrx4O&ODoNC6$})R+$#TXS0jvaaw3{KSbxH`k3SS$u?Hd zBC=aR$<{*)D3{0R-6v<5s8f;?46`^Xk2!6SAkDg17g-uH*a-FWQLn^qIK#xI@^rW2 zi5TPRTg#}KU@D^=&ac<)^KM_?&<(b+j`-PYXqcFmShM=x+7Hu>?}F$1-rsgI@N|2* z>)vJ^z4ALkn!mL~fN%|2#j+xUdt-N*wKZ=<>C*KdSr?uj9LPBaSv8KdPQQZb@|SXc zT4NQyB#eM_$aN%(zGTZw0+x4K?M$|Bm)jfDcIUE26QnxyJoN5@b!w?o2d=e#Tc*AT;&CRs=d`1Tf z_^e`n$Xx}T!n@=BoEQ!IXJv5%-lq6(q;m~KXeOUtp{mlNsM=0*a)GfME}*ke$BG|x z8w^4-58MFI@Qw{2_$xtFgld6Jblugv|JwQgi;Q?~b)%TSXBOtNy{(oc1kivoy-3ev z+L)1#Xo7)XD`x&OQ_aX=Zdi5_ljPm$CkjrVtFPlXG zhm02AxBbn85$Qb3e$~|A*Pp00ej;>K&crzl<&Y$oO zxFz)E_M0II1J!$5O%ebLjiZ|~WNZj*xlv*F;m;zrwnAx0a)wgT`X1?Uf_-7m-Nh51 z!{s(SVf`Hda6(oU8k;T6uCs?Uj0=RxAwG9*wAP)bk8bcFxFrc&S&aI>4o-MvIA7yR zMgspTy_~p}W$D=b-giRmw_%X)YAL>rH={;5!^IYlhIA|m*_J=^8~Q$BP72{eQW7J* z$Q7VTj_});HP-BI12<2$p|KA=iO%uGmSZo4IAp@N5g+_|0sTuk+Pp_aHX*{FNlTZt zcfqq#6AQBcI(_k*s>fUO8LsP459t>qOgO4CXd7k1xF5p&nZ-C!7?w|>d#vv^hJa0a zwre2#L+5CXrsFMc;?cQQrK)PzC{E2B1y^U&qb6d8-L{A#v^iW~z15x~pb%Ktu$`(v z)DR?hoof7{3Vc6`GzRg5n;ttIwOb!=2^y3CT+{6|^F^#1r4m8cbN+LGRr=myc6S;W zbu@NHk#mYj3JWc;7KPaSEw|*EEJbfjtU-}$Q0c3QVazti@e!W+wi2*&woEj{G& zm3xqa^vodYc{;P6_3H^%z@IUdlS=OGCi6B}^h8I4jNe;cN32ivG^e}5gB`5pW#x=r zj1;ICux^mr(0;?(n#w_l{K;VtOD~#4r+Ds6oL*~JTbCa!AyB{yK1!Eyh@EY!V-ez| z^gvTB`>g4duv)WHlR$#FIrC^I_b92dq6}ab#^lsAqaOcBab@uDse7Z_eZ>T>Rh84;>34K-ZCY^Pj&Csijp1?+!Lw~aKP5g&yF z!0r($($RG+akYA;(568>vJk(Wv8TqhSoa1;i6)%EGPlp3t~St z46|1{KMOhRQk>ynV?h{!-cDEPg%`M#^3a*s`aVE1k!C}cy5k*F5&fg@-r7WE_n6=x z(w`uyiFu?qlqv$KrDf5;x~*vHQ5Sjad5i;s2Gc{vmj#kXM*)8g3aqx4Z@UbzHrg%< zt)}uhzO*wE4q5T@0SPLJyOP1|u|)hVd~TG50}5rzACrMU5j$r56Fif}yWRACx)RK4 zZ%`rI)3}*GM1sqjn&i6`wIAe@63g3J5KZ3iefmrk zYlaQC+Wh-#&h+$e)}~tE?8M|Iy{-w`2(0!nftFK846$Sr&%R=aJeKF$od6FyX=+R=>6!< zFStWI41mQkmP8;eo&~!IUpY3^j;2p8$VBqpI4Y*;(t#CTwt+WOKtH6`-Fhl~!u zkRPssYOP}^xX6#oH~2?%6O+Tce$f@E|{R4qt16H8UM$3 zSRd+U*OiY`sAiBNy_)K82`gb&wMC=0m?u1Zm~>V|AbRkH3(@VwVBf~+c~XF8!%w*1 zYx#LTP0W1idp05dr+b||=Xc@PD{VTvn~nQ?}p0#sG!Y2RLQP7LQs?aHDph&BJ5BkZ@6_d+A1#K`^X{r7Ag_Kn&Nu`ValgY)Y@c(;Yl!}ng73BV zr(mt|J^DRW;sNyz(^_8$YthS_1Xx_Y1&ZCr^xhYq$k9hI{{~~*NVhW6*ntbV5Rcd# z{=kb6BW$S}uhI&OA**a7F79giSU4w2{)z8)25tUn1yx-f~vsrqddw3&c!~{vsG!1fhB0~OU{(AQB?eOW~ zy8DE98M1~3Cgp@O0omY97*G%x2pX0Bd2imQ+;f4(D!w~00|_7eSCfEx0y#+T419$n zo5;P4jAh;Tj3Kk*QkI|xeAyPMe-J(jD&Hkf?26~k2esHa(L@MV2K;@(Aa7O-WnH)LroU8LiMqOLjC!txVdRH!+Ft%NNgnZ<~+7) z&gO`>+V=HGOmodL80mjtSDu4`(|LZEx|4?K~F|sWo4iibv_xyoC5cIErcX?(F;+mk+Ye%-+w$8{M){t z`!m5!-`k+UDx_A26H}bkPWAxkdlvNOjQf<3{_DpT?P9J{Lo{^jlAPNT>gTe%fQ7|s z1?_lNI}~*xxed8xVP%!HvLfVt^YPEXL@q&>KndY_DSbdewz5!ipmooDQHmGwc$))j zPyxZ+wQ_iE#bg18K_ft5KKvJX#C&*L(eX@Mb-EmT&=?H;!%Rek1yLAewZk+#-*z&J z{bTE#N8r0zrrh~fzti~=_vz*`gl!cFwD4>9LF#z(jBC>TxeG`A-D;}nDWgm0A%1mi9Q1tWOj*9|8`yGtu=Fa!{ai=nB)S1xC+ngcvYGiS ztVi@~mh=HPpPjsa_8G}!QMlovwBvcg9-AYqr--kKUiU*}`zNn+Rz15b#nO#UFPDr!u>xbt5Ho4VFRd5W--tXVt+XGM zt)|<%KM?Yr&MLI%m|kjbXLwGu7$mtstGzRgV8 zpoNvA!c2+hGQXXpAzPDyhl$~11M;xkx$u&3MEO*#tS#yB%Jr(8`Rq9BGohAF=H4{e zdON01kTgu)H+oM<0I&Bi`Vf|=d4C;?K!9BQ5&nqG-n{E>>=Gtn)TVKZz_2!WsMT|w z-ZdoE-`qDO6|2<&UX$wVG3#vs8mfS`^1EVH7n^YO zjpg3VayrxJw?RJ9+ovBSXP(pt7I;ViN5a}VT)nZ<`BnMHx!@hqUWS~fAWOY_dcMt? zecpB_56;~xH~CAMvB|1^|K71b)0|JU+X%gk>bs4XftQ9r33gczakoXDtSkX^VRiRz z{ziHaOmdhS+>J_%$xo~fb;)rC=i>+8-q*JFV179Qhts^906t0I13lNP@(Hf-N-*FQ ziC$6@5HqCH)?;R=`ENdfuV=j}%WmFRNISw_8Rh)opT565X_>M1l1- zcK6x-t46lWSU^+I!Ug;W*zLrslvnHn*GTxH_#Kmn9W!}~6X&nlUcI2oAt$Gk-4ajA zP#_VhjqI(B8(Uj1S7>ze6(`LfZ1nyLY0!#@jw#UKBg^maCx(9Acp;_SdEPf%Ht~j& zN`cB#Qr6%Ul<%}Jtnmq>uTj)mIr#Z@86n_ms&M#YV?JA<>#y*RvWjBIng17>_aW?j zKdD#!D5v+8yFPXAKvb8>e-+&>g$Ld z`IX3E#qc2=PiW~mw7?Y_0RmabDabw?+ISnblZwtpOSSy%Lj!kJbG)aw9JvwR&Bh#A zdTkn^sZtD~ypaEWQbNAA!?TqgvbZq-wDm z8R$A7&Q0WTkCCf&9@l7}1{z~;rrnewX}0*aSwVp~1^1dxE&$ zPrk(>{nnRsT_E6ch-JZ$PP0N1FZYa{{8qQ}C>0>K4foeZ?8o@)n9(fXsZJ20r1=+q zVf4N3r5{PX0#eh%O{s`(;HS&Ts}s(Tj+&2Upd=fW-E=N_MAFJ`@MR?s<`h;Dw2xBd?@N7o>#{KzNpK+1Eq^Rz+>(jN zZ15CMT)flx)dta6o^L5W(*^(jH`PyX{akx_H7!^~8}t54fbK?hOCuk9-R&s@EJ($u`8Vx|?sMo#*^Xn`CX27n0eAUuyd~UpHgurwyvzo9 zjBSVX#IuVG1M-=kKLw=kdNKV-D1N_uX??-5RWq4)k(z>XfM4VA(R#MTTT8Caek;#Q zam{)J%3RY5J6u4H4{Z-x@kt>WU>&P1gL`6yk>CNu-yTfTQVEAe;3`tGFp2BP3YE(WhFDdW7;>yuHaAt+$X|8s@|f zA8|NOP>NA;BTM+OFF1dXMb507{qY@Y1HzI!lk#sR&xYcs@wXJJqg=(x-^ptKzPgat zVj2?VGWL`}aUEgSxrVH@JG*nTr%bLQt4hNnKZzYqRgrE-c@X5yN%1e)5m@higM|jez_cvA{!z28v)F`w%@Iq~t9)8nKe%qb7Lk0m zGVRzmxE~R|ec9+)@mvYn#49HZ;7au=39Zd|*kpL9`hs8W{zH1r*Z$_?%+tg`4j2&L z<|K&bMZ<)`a6B*y)>L)zg>h7kdQ7;F@Oe$@K=|iTV;cIyL$8W^u1llEi*AtmpTT!A z%7+F)RH$Hyr8!~0Mt?aaU?Z*v;Q94#X*I|44Ng4{Y1uya^%VS0LT*PlxccO(xxtU4 zd8fHFhzFx{Xf2`$&jLq?b6icp`Rk|7&yr3Ok~}Y~tsen1-*nF*cws@<7F~quuE3`y z6TT;cJdS@M%Twm6RBM$Sy65%~}VudpH&07|ISAd##C*$bP zm$7c=P^Zr?%1wSnjd>h@+a|Kn6OYAnW+CP1!lZt>M~dk%Ys7#ao2^wHaE!EPrOL?l z36BGL>r97#G%+!0H+cMpsI}hjG}3>{|J5M9$||ZbF3bZmw_sZ1rQfydg9r?u!7?^Z z&zu3h)+SVjwO;F6H_dAT#grF6 z&{LD+0sH(Jg+Ai=Wc9lhAwmY-zmV5wVhyzVRn-G8`9gN{=Jl5&Dq!+B6A{E_3=Cx; zb_jV%FPJr3owPo16^;gTx!6qzl|hLo`J}p*+YNl05appXsUPe($#z^7jJ_#V=TFuT zJCEkMW?jawr_xF2qWhckO^?>I4_lLSA4(x>nB#plJYYGbL{|%{9*bu5m2wM?{(a$- zEVGgV%ebMtfroK#HgZ+LhYw_6l$cW6VA`$JmvYjtw)Rw=yJ}a0BO0lh2F;>|8_XK) z;?s?GJK!3Bo{8OlVR>ST1ZF#k_tb3f{lW}XcpHqFP7yXxN#LRw(`8Z8w>FeN4FXqVpB@8f4eMAOn?Ovp;Hczv5P45Z0KrNE!c>BsI#e@uR5gu zb0-ZII>zf~rw=A0Ub;{Lwn*LjC$HLEZ=Nv`EO^sX&L>r8Am^MUo$LEqcW?FZacL&W zd-_4|Ti{1=v6Dn67qs8U>QB0xa4cdoGox~HjMBw@hHym?l#5<{8TTsm^S@@7chBwi zgiwLi3N#qI2Q{Wp36>~3!lR4ITfY`$qGtD%OKxKCR;blS#2}x$91onO7B?~bjn$FF zCqR&KERk@7rB`0s6|D({npNSlNNsjqM?=n})}viKQ7t^0)L2uI?Ab7Rc4p%?E31Ix znaM6CQ!^p(rsLBLVZAOMb&aye9V_ncHJe>RW@m#S{)Q7Adk6i*vrn!uv1!1gxHYk* z+oQMT=RIqv4}zkbO5y_}0=aNN^ktT16o@smURxvq9Au|y%;;-A4PO*KD#0y<|E4J| zw?5V+4(+WPfgR0YO@(!w_%lEMB?7`-dj*2;Mh5kPCK>WsmP`}9KUWR{)zNQcPs&d* zv3^UT*OO6Uihpr+#3>YC4;jqaSW44`s=NtPPA9LC)W_N-k*jkzATJ^#{j3y5hN1IV z&4=Zdz!VTY^Cu2N%3^*M$j#)-Cc3}KJ>s@r@&M+L4T9M%zxioz2ki{>!JYj_0$~g1TY-z64IQr*i>lF$d?3 zgi{3FH`buB|Hy>R0*{-IYbr)d5F!sJG3C{!TKCtyZuru06pW!kBrZ2jzgnzp>83VlvHw^K5~@E5qYD?;qZqi!et+hp0}io1 zj;Dri12)5;w94g>B75Dm844;-u`dIXhs#aq^W~P`ptgvZe*J)pF*RLzfzC_^x1l68q zZvoV;%0b}>V160m;^^F$rOVbnKxRq===9zj`Twucl|^w)Ef-;sj!+8%}8rOj|*3;^;9b)+7GBqhG&h}daL ze05SPZ1;pu3biP!Y?8V&7=v0iQj^vle~hoR=?Y^J?ikRY<#hu|!rKG9PeX~k`F?!+ zk;Yf(+|*zA`8?tYdOAq9n*v+)mz&8`W7~g`Sg@)cMmlUAa$mvIWRmjOf1F!ZPPjBg ztqp`YdAiv}yDEhe_vwiCqmfz^tg>xkOUXr@y9Vw|M>>DB@MHF)72tRv_$c}(OSa@S zUsS|9%=2t3%ak+YKL}$tM(`WfQQ?fo#5T zettl2s@~o+rvG5^9j3Y)&Q$4Qo#~%J&D1QcAlqM%m2zw1_=RH#zlsL*tH3oO`>}zW%O)piCRr=ISC-mkHbfCUiE!ZVy{a?dH_UwTB()XcDs7 zjFVDbC@S-sepadaVXW6Ahw7(T7KbmYocfP4>yU zJ)d6XR8M$Yh!mG9T$;Vu_2^LHJ)Spv8Hi5@zrX(x3U-2LL;?_y(m20fHr0!1y?4cs zR-lVx2vxv;hT#>$fH3cPxa~yWCH^u3a17OOo%qRm(__}biL=xq{N$@Gj(vY7u17_4 z+q#M9Pa^+&+iliVoe*ZboB7-*)paA zc#b}=dtivkTahDx?w(u2E&ucA^V#1>CLE{& zHk3eX937>pk<3z!JusJ8?vRHy2_0aCaLf`=J;)ylqUzmQTVTN!kpwTli-gYxp|$Elik}oQSz2QI%ozwydwFAH1Vy>B(?jPieU-0 zw5*IW@?d;yWml$Hq*?#&(XZ|70Uf@pD^ptFh5QG1#kUceT?Qbl8king_x6RwRu>XU zq&W_oapS;-dG`Fc0C4Mt+Q81>boD#&hxj1ebu*E@Q1E3^o6H=APR_jV8r% zG=^~Ou%u>DS3Il!C8BEUZZZT6lgAgGR>YJS|JCDY$;X0rg~^MT_3A0{;C%U0dTW8e z*d9DC{G9VKB9y`55ki`%n>D}eo(Agf_BM*{&W>E=72O>%j!B{x^FT)epfNHC zX}brB;g0TgMhJ3cifjPQ7<7>K$V%~9sEjjJxEKy=s(QIi=EVtV%_Ta5x(0|^>J^a{)U}o!Gub6kegJM~LZi5cb8zos`=@Wdi@joHdq z_&@^~Grf=4wr?DkKi;^ET^d=Mr17|Bl%Z9qU8#y^y?jn^41bGq#O0*0<^NZCzo*~t zgP5ZIM)OAmEd}`w#Y+I!-$y!_RU33=@1=w*yPW1;$$&(~u8IhBwHYVv)XKeXQx6|{ z!(;k7AN9MAjaF@#>A3!2Enbjog3$ z4v?>${K4>h%BqO^AGBvXn}iG=7>wRf))k}Y{CV1l8J@$iaT^M2CgCQH4x#tSdAUDB zrWOLxS}Xz}6(!bX$)+&DF*R93)Ku z;(4eYYz=vW*jr)9aA(i9FrNpPe}By9#R*RaeX{`ov(kx$upvxXA`*L)Az*3)ogOAr zV?wdHkRKfXmTr&}*;1CCPhCSiLoXz+E{%azgv&1!Y#nuVddg<0(YdOei13}g?=EW8 z((1~wLS-yX@>m`JruoVEV^4$Ef*<#5_}$vQ8jPc1|2?8yl?AmC&0{&zC5FP;YUl({ z@JnGj)ktYMgG#+_`zwO2L7S){QUh#_q5(q%94fQQs=c2 z&4Itf5|!+$pwOIU{jF|vkUpklZ`I>F7vU^QQhV{-_O=T5(=CFO9Mib30sDorqP+|U zmh4K2t#s@zRJcR$-@;0MXUIz{H*LsGvo1vBjd)_0v!1s~Cv{!>7Y41uOp9KW{mO)G z+a-?W`|$)^{$#{*&TvP5PfjtM`@!z7BbbsEB8GU>eL!_(oBekV8DHF*FrY>EQK~PZ@lW=8z>Qv#YySqIS z4||77tb4r^dG&2=mDlHB`F2&vkhQB7X%OJE?|8YC1i$-1jbTF^DZr zIZR}+N?to9Lk=lDE^B=Cyfr-QL3Ri~b1_9y&+}iQkfs^m_>A*-uXst$D8UMHV;`%*7Yif!^M{hurXcE4ioMQImCpHRz_W-UiViwb z6-Y0WjYi?bM3~&yE##OOmwFRcmJKXsK73g=6Ia>5c($S5$?tb4@fDF|vl;g~X!%Sg-k`^5#e%(TGcG$yaT1IT-3!0BI#sra%I(`oTetf` z1Zv`K$*t(W-K6kDaZr&jl^zok6rPXioYn;oq651V{(VB1p~9V8`;=TV*%DVu;@NYT zF_*<}hr{9$#1;G9VPyf#`2jH9Vn&$gaY9G-8{N!4hpox8BR{iF(Bn&;=hFSnm82{7 z7dN5(68&@{q&~S7wuOO?ya<`0m-;z3t3cb$wqAi%=709Aa)*a^1`@|=|4s;^8ylf} zU`8>-GpCM*RuqK6@p$c3tIjX)RIfPWMmm*Rw^Sk*$I+4%d3VK8B0e|McFw4&vkXf;yfr!A2qNW*hK_T zO2BQlcP1i|6fL%OMgn+{Of=LzxTYU1TzCQa(0Cse+a+pWGIL@0P-?QQXGx&3IoE_F zA_FEIS_KX!{2)|N+)ct~m)QOLMnE{#0Dr&f4-|%$g%*H(cVkZ|7|w~SvJUJzP1{); z?eQ;PNZ|%1kacd%hGTEe$N|#|>q!3Ux02)y6ZK;PuifT~=Rv?ry`YRO8*nJ}yt`$c z3#sbok4h5BJR}=$j)7=xdi=*QFK&4)TcHfvPcTQox0`0r%h_O0FFmbQOy+q6!SE~L!iL6+ZGvIHg9?D!Kh8})MIVI zki2D$*=@?b@!f;z>E+Q^a>Kp)j*yTN-smzjL@_Z}$h15tCse7HUu1pS{dm!kAz+E1 zjD@o`2|U_oklIR~wPlx-+ss=h5EDD1xbiM@k*UWwlc%3P8Q*o25Ua3b>uQn-=C!({Q|OR8Q(nSTlFMZI(L=eEooMW}TK|7?dB-2o_=|rm?szQ-Qa1n+?rw zO=cfowYPDs8aWyz?k7Y=n;OOTZF{-_9=pv-Q=gj&88j#6Y7cxXF2TWpCs=vhxuAEzuK=d z6_)Q$jY_sk>_oSX&VvI3Jh^*^kaL|#-!&dF06i|e7LPQ-k7=9A6D%mXEcnDDc7L=) zix=3in^rWrbxPm2sQ#*ctF2wqVPtqq?0RaPF#_Jr7yUbu*rSydYX%uI@2|@9uV+!f zxeP5kIDxq+#ZT*?`AhS10zdZ|wVsC@xmk<$OYPRn?CdM~k?**ukVcIT} z^`E-_7|Og;dR--LU}+2Hrg7$nwlv|RXv>k z5mRQzWs84orXpNysg{N9&;rz*nee41n{zl(Fq*@NHFZFOXokMBF>MXk858gfeh&*5 zomHA`Tf#|cYF3kTL(e^2L!623j0K>ClSnao@e$pCvOreA+q^bkO>Gyf^}BZ zrrw?%vWpJg-NG^*$sJTKnp0)}-k_=2ZCNUf-4gB4!I`j?+-FQ?r zx1t((yMaYV$2pXRk_1k4LYoxtsg8vLBK5`f9gVPYuMh!6ex%_-;x0q&u31P--CkF) zf=9San63hyc5KoVG_|0(6nP+vn*HE1IGZY+dTR;mdxV9PqrF8T>)u8pJjao@Jc3KGHk{Gm%7 z5PQFwns_Qgj+V0HmS0QR8sQQ{1*-azD7>Z4S$&ZChyL*qh7I>QyuKI&X_t&;LMX{t zU?R6<7&zBOT|;*9Pzi;f3teRDS89WiqxML}^ z9zA-7UMjLQsUGPlE;}(w}o_eq>y!x^<)_2W-Yv%?LVb{eo;1g(*{Dfrb1_c z7h7Haz_{&z>zG)w7|1DB{O({6QWN9y{nM~o+f4CsuVSBcyMgKHJn)RfzNSENY@KI( zKfkbaqNlBZ#Q8!5ABAY2FI(zx7K=T;exl8v=x}R`Z9klLP$>I+R?k6uB^4)?Ew8tV zl3ZZcGljY9c2ifk37Q|pA-LU%DuWaa7Gts4u9s#N69XH>2K;H&NX}gC&d0 z0BbN&K^rEND4Lxc@`4U}7S3D{A&gWq6i8m)QO43hfZA+2q>@K2el>@^=K}d#@hRi- z=EgN}iXl0l#URX=8YgC)uT4XY`yy0nk7Wh4rG1>P_lVzL(^zzWMBFyMhG! zxo38MvCbX5!F%AIL}-spwSy80-pUTB9gnrh`W<&xCL}FMVj9p0Ykyi(NC&qwe3y6H zFM-^I^$&B8$-BE#D=%W0j&vM^f+5Y9(+a>7xsUXZ=HKt)p;Pl#F(tAN@0V6Y%(km> zO`IHB++v7=yIIGg8ZmUA!M)Kydo?1Ls4qUM@fVXf*54NUwcyKMIj_2~W<6e@%I8 z+{~Syo!Oq*H`tcKDg02V!zcD9MjA3}8&LGQIW0oO2w8k5rD1d9cm%40f7lA^$u!wY zTj_Y?Tp?^ex+~-rmNGl-7Mb73dH*{=O2V%Un; zu~cIgje<3CL8ACMa+F{fA;PkL0Ns&-P;fWxzDmN>&F#u-(g887%tCUzErb&hg7OxB z8UU<(?r~By#=iswoH0H=AJK8rJm{4~mIdczx|C<Q8bSPBD?P@(U!aUL7r}Te+x`F_zsc}wrc0~t&oPmA^o7xm8?B=(dh&1BhG5qX(+NvHVRH|ds zDmMcaCTDqVPLWYU#KLWFH%pFFe@%Uy-=UHs=h<$!M_4Jo@L*1ttP0 zwwV+!w$4fnbH7=AD^pU60pfw#c;BQBVpvXiUN8h=1LQK&g$h78I^PByTCprynX`Kc zBFku8;|KZI74~`^SS3XWOPq&o=-TMdJYg)t8&i)_7Y#F79xgb5(IZwUc$TE|XEQ+X zZKO`v!)N^)%nf1`y|cO-;Ca#B0$A+P z!kpjknE7zjy}xqt-@I0MmJY`ucE`r$V7w(7et2W~S8vV8*@zDvq7yzvZ+JNdQi+I~ z5McsfEa}>(L0oC|hx#25^W_kt$m5reGP(X8Xm=8G*!!=Gp@-xpOmBZ+NLPvIO`J~h z84Rf_aL6?zf9O~>;Th`8;L!qzudX%D{nLIyQ$L&LHZ407Ev(6Y_(|8}ly|(~Lmvxo z4apzRZ=zQ@bbGwxyZCrrcN%HK&w-MWA)$GHQ}%2nzm8U)a2n5qU^I+k4!9}-6d5#7 zbgi4Zc`@TVz(y-@%y7&%IZ< zU*%KY^@rACl;+N5UXO173IhM+_g}Pq%l$ zC^YZZY=Z{6_%m1ko}#nbJv&jlFm$goRCqp!Ge8PZvDWP$qS3;E=|uQLJm&_5E$R>3K`M znelf)og$0<8axjf$iTpovWSuuP_U* z{CXm5sVAw+%ZVZsD=m`!jE6E`6Q($1` zk@%j-UG|IyKCk(@Y||hNf)yn{;uSwQo*W*gDNlF0NXwsePl?{!f=N1H2h#0=eM8CSnE2;{$bPp@ z$=h~zz(T=FxfyZ_aKKBn_L-JQPY$gY2@}2hhYMV{+9&zTNjaqsW8Sm|yCHQw*a&ys z=aWvz&-J7>Yu!#N(QNF+D&6K=3m8Ss$r(gM|29%FXN1+i*!SG`Jv!-9j2lGDL^#p0 zH%e@l;Pizb)APw)I`1TWGp6#Spw=awQlsGMcuT+_i$_ZS@wS$BK;V0{@EW&hF|}3J z9GGYlCa@{kN=*+vyZs>TBAI#f$!Q5)DNy~gHuK=iG~P_KWCVps)tz*{_3b|eR>r1U;fY4;SvC)?H64l84biDec#ylKd&Lb{x^IKiOv^qAd> z)Kp1ey{5gj`>!WT+p#>GL^XPcB$U?H7xR! z!QFYrZDshD$n~Ex@G*Kc|Hu>up42x%5eV~5nQXXtPsvCk6tY76x02zD<315{^sD>4 z9=W8YjI*!VBpo-ZxY>&x2q8@Q#3$e4vQ3LHY>JZFTmi0knhNj6uSFs9bRV@I8gvi` ztPbMvPo>Kj7r4Sq(57_b*xagOtiPKi7!nx17-)Y~KE^j$oSN1aXUbs68g{^4o z<3wKmw>*(@!WMJ^jMWPJ9S;-63k^;b9()r&y`jt+lo4n&cvAKguY3D|WynWp(k5cU zHMZVs125-G4-{6>w1WkUA%wyFK}j@4-mMC1hz=fFo-a+h8YsK5#78!R_!0q-C@%wO<4f zokGj3_Zd0AE#vO)?{0ZAc>thmtap@cXkgJYtig}D9Drta;y*1(13DN3Kls^XPDUf1KACjvvhPM)%MC+zflx%M{My%Z>0I6Mi$&;X<8jZ8E|Bx_ zYTj^)TQR@%AAgCN?O-zu+A0rZ`N)fHWKhkvWu2vEi6xttt8{BW{dsr+{98mkB2@M_ z9cK#f%VHEo`XZ@nfa#j8$=Pg1-fO*An45*Mak42W*9e)H>9wy~eR7!QgF8oDG)>4qS229*=IK-S2* zQGGUGS1otm2oz7XQ(ISH&tW@IBrhK3HUV}^h`PPt|b&)h4w*3LW8sRtE2EW4T-RUKVBVAy|ic`RC!dOpR3?tNXN(b*6M!j&0mK1vT2?{ zb98_?XF(V>Z3IYZIJjdWzX}EKGo~pZQxH<=<6aV3xjJF)zc9jYUurtLpXb*p4-^HW zVV4V~g1R*EU#9A9If~0#6qbD;IRKgf_|}WST`+b3XyjZmTjLHo$SY7u*16gtGyBF` zQu8dIua^tf|2%vAb6%Kt?I2S@EvF5j&{Omal;*CXA7R@Gnl~2x3 zzfLt!Ew65X@l48^?GW=l=0e>ea<+=gv|*S`pD?vv=TQwpBkRZd4Xz7PXxR?A3r9Six6RoUFSl``V6S*fTv+=do)txgeLFtlSXf>%1qPWRg#Xz- z9PX-p)53iwe_le|IwENH-;aRMTP{GN%_qV|3s7wm7N=X0jJn?o1fll6UrrMGRILP{Dlg zYugOce{Phg2i^WI2)#QO0QK%)I}=9P{p8KN>xSLF*!^VQIGo^x7Mc=vyqK{2aMHv% zrR#0hllY4BlLFZz(S>9ps@&L>C*41|V}QSG{9r^l>K!yAbm*ov7?0Rx(rN=3)ZJLa zF}sZ&Ll*7VFAV&C@J-dNVKpU6OZVo^hQq5K95YIc7t(5}lzRLd)ySD~p!n;iV&UQa z4VoTa%vWKD!(t$u$N(@yo`*Y(HG2hwIgepaK24%`mTs?kjJOXh;9<-DS2DJhw`4u6 z5+vpoLIie$?sLX9)Qf(Ia< z>$les>R2H&WqE%`bnWtd7CDD%1#1~aYxemIFZq&8Ka$gnSogy4!aJ&a$4Us%xls1alaun_az~Q7&@TkrzxlXOtBkdcz7rJJN)Dy;jCaEc`MeOz5x78d`*|p!zH2up$ z+`OQyhZSL(ERRu%e7^OATyaaR0_J6#?Ps?}WekS$QT~jLVzxwa;7x=)$9OOwa;e#< z_FAFlA2X0>bkVyk1l`fc#8K_PLpusd{QLIRy256h`tBiX7- zdHgrudqP*TIjEy~Au)AyWa6!fz+mnT#k}S=I;nf2p;+`g8Pi%i+#xD>192pBwZ4k2}DV)0-M%kkvraKt*&y1}|TIw-NKn)>tWj z4z0ZPqy4}@LvRZutWmHEKPx4wWu4|Dr2VF-wiTVJB$AbbyYFzO?03ipg3t}P7U0^E zxB1Jv1GHmO?>!L9pxj89+{0hdJcA{sXSWE(n5P$W$Y!!Um|g?&O7a}T$T6hm-Q7jGVIqJvxGfztR%G;$-Ze_u(dE({Otwj$bTCB;Y%H4%p z8@#YG!AnJR=yyed-@g-=T*_0KKaZ+)b_j~<_o&t!Ma3DK=S4V{r`)dd<4sm zvb08q6%{3=Eg`M8d-s0AN3OFy<^#si4|g~#Z`Te&_kI3i1{$`$$|J4ZX>SdUJpl`M z0j$5{1tK=x=CAY-_$mvZT;>pX3$XEL8>zP#!js8}!x@z;1^|B&{^YSt_7yEtDVw&n z>=Yjx62?@oqS~M6PG&`$7ZNHx+&V36Jc?dOF$;$7#@9s!!9*+>ZB>S1?L&=(nIx0H zEPR~J1x_qFUuEDnXKB!f)Cty+N1_(xmV%uvZ4*lxuhjb_{aPkcht*~hESTuyAYez@07HQDS9@#EhK zkt3v0cPCupSs+Z@VT<174`;cZq_!P?D$v|X|y{`Dd8FSbVzcZ`R`d$N}Zf>7S@+dBp zl=#p0n=>U(b-w*%&ZZLR6eJyqT%ff^I5OpmFiEsve1G+9f35W(9!vXew|E8E;%rGv zxYd#qr;;YVp8~e=XAWank}ujnzQ+=0dDxKE=d)!Z05H+A%fY3O54TKV)f8D>^K#?5@^E86j z0qiw($LEA55Ov(=JFSY8t{e7T@q#aX7hIxH-}%Tc znVsY&K(G|HYfuCL3gzanHGa%}pV!~LRJe{4&_MmkO?Cv&Zg&WJ8c@>n_~64mxBzVu zIx_`t_sYG>$H$+}PLBMp0ycV=qeMc8i6b&n)@hWd%YoFB_1lr(ykVh3Att7jaLq?g z=xZPLuxQb6iG&}xGv&oyG#$~aVl99cAkyy}4m9}ul7^7+2N3ak#wh^j)71hgLR7{z zBeBdDhH_rksk)<2VM$@JH`E^$7Il89fs-m%&;K2T z8p#+5vB-0N&p`A{wrc~ZgRCikxh2b9m%t-s%d9k&(QNneNdw%X?k*(FHOHURb7SO> z_pqn3Zx-fE+N?0xVyb;taIMxn}-x&9r5udV}#8KOHQ3XskF@dQzj*Uut+ z&HsKB$~z0aG5;Gy2ci}#7or%|cXL>GGZC+N_YobF1y)-?7Dm7xFc>|gZAmrh@h#?9 zM8)0l%&X(P!UyG}F8ghr^QUq}U|;=4^?1tuHp$$tA;HKhr)9ug{n?|=iG7p@E-9AA zA}rLHXhBL!dL(5VzoNZgDb2Q>(GWsLdEYAOTo(@4%XCNO0o)k0mJOtyJ<-06Dw$ui(JDyvCp&9>ip>IFX;I> z6f`4Fpy7=T8`WUkiZ3(Tct3QwT1Hswyrm=D9cdx^X<}`P#xDSUhCoK{dJPdJmX1|K z1l63xwI>-e1HcU5&1ZA7|G`l#*Hs40#ZVLpZN4g#Kf=2DpemiZ#}*)Pq_mn*JChOL z*gzDi`3<6)gqiKDj#ZesaR^(ofGuIP<}}2feXP{>XqGZy5GJDf(qvP~k?8bs+O@_7 zVBU*kB?4GeMBL+K{W)@+Qs@d6NRPYY_WdkB(3G6kVFJzh4ZT;#5=frs1Tnkl^+wzl$Clh}&+k>u3Wm|*1l_BP4A60VF|gSH-E3k86SJ6imD=zk}Z z^(@pqXyi}a9p?;GU%l*`BZB^#tvFHv_QO4O6cB--e znKcp?3I;rBI_Js0@5WCX1OjZ=8u>ITs|{MaUHpPlB>LpVHvFy+%?l>CgBGY+^0_S4 zNOJ3}qpV=nvnaWkD?b*Z#1J>`!aX>^$LEzp>GJm;FZejF)G=l4kp*fVL0*aw)xkP8 z>NCpdeHsDl$)hxW7qpE?o1?=$A3 z4KW4fp3P?OTThj7EUPwGP2Q;Y0sqo44vmtnE4vx^(F_;--m{9ggZuJ&+y(lQ>T{B{ zw2?!)Yz2Q1=iP}|BfFQ@2>kg467bA?EneY%HBH}4bNOapMAu+9=>vWjyIEqzB8OX% z1y*T%un6E6TBu@TT$tJ_0*)b!*jn3jdRv zS0{UV9=(04y1d={!}qvf%G-LSOYZXL?#(m2KLqx2Me~yI@-#!U#Vz?L6!^4}s73S- z9rLFE>?}R57r66nUHpA>(p`R;{Y=&tEg>UO@^1l&h(Ll5R~`KP%a0W#PSXZMXCM;E z9hMMAZUcXyKRa+HqRfl0Z@^0O%#f1NWCMwQzR3t9Fl}+gd>H=z=Y6U6`j^2Ef)@hw zk^2qTzl``(pLPU@C@n+$6zA0x7Gn$pC0;^OHlvxf@o50N%nnuNiJVKW>z=cGUP2wZ z>p%2N?el6`xAKw#J@wvFE0Zi`{*vjw?H(91`fh{Vga6I@vnzE2LjwshJMxbNXyP3; zq2SyN@;OM4himK{##9CmoGH-v3J@KQfqM~q7ohu%w4NLf6FCfS7hk0T6SAp^SU1Mm zwL`@3pOS#I%5UInBzU8!_4YXG^x^p9b?U3Z_x>?UQnR>J6pR?GCfQhdK}nqg5;vmgxKEbZojE@$D5kfj+UG zDSM6kfBZBn5ITr?;-{?EI#ZBz&&*4I7qCsOpqMU=1ly_S?O;1Roa18POAczVO5S78 z4UVs#N7Xw>YXiA~T7KzIVW0QT&_Mz>D#v@QW1&MEFuBe9yld~Zgz<0&p6RF44sqH3 zqej=sX3y{v<&AUZp^BNSP!{&m5eEP`4(OZPYBQ;Z>{`Dzkqwd)`1EB3xIaB|3YG0& zv^lg^aciZMSkD%A*{>UE;*lvAC#;1fbh-KO1$W=hgQw~u$Pix-R$^d!_Rpe=VPIh3 z1bV4&dhBxw<<@vXZX@xv9j(A`1hSSwTw@X}?KgCUgq}yfyL*bHZ6@)Z|>*XA*tlT(0UfAzR|Mc9e#)f@!^MDyOE4HONsKb~t_dtE~+TDjU(K|u6G9x!$a!;|uZ!J#NVZo<02XWA57PVm$(hv5}|^t*@hR%%LV zO^Wf>#D3!N%Xfy=8EGdu40Rs&H9Wp6o*5#0eq-cMuO-ND1W44O33mk`KjKT+6DHP> zxP~8zCs;hjuPCn%T$DGIogB1sUU)ufy?ML8GG}u>V7|Hii`(k%PkL(*q6)Oz_O-F# zA!;D#+^;hGk)tx}oKNE6fXmtRR2v9^lj z0I3SO(a38>B5LYAPS9@k+ju}Oa_qER=P@PK=tO}5I41s!C5jvGzWogthbs6 zY8oyX=#5g5jw5>pHr8ZwQA$GJe)4low|nni8}u3WG!POWlRo5_Z%q(NB?({XQ30JH zAiVrjl9Se@%mumxz3OtRWQB`=hXxwBte3M^=#ziXQ1ixc!7q+!ERH9FP;x=Kx+y;` zA(8TtE>zTpyE*+x5@H#&q26g)v~bNJEfSIgS9F^vv>Hpi9(_;cXbmcVCXTzc{Qw^ko_#4fJoPaKA?KsB@iw{$=lQJrd6D3wo1iuZjNMWbReK(*0F zrlis*jm*lpsH*zAnPTALtxmn)7+RLbc(B;SFw}8F@T}?eI%G|hRA~JmtWZ=E<{JD+ zb4#%s^0Xrf*YBHH5B`Vzco;3&<16`qQ7!pTMVB#pdy;T{=u9#vG)s4`CfhJHuy3>k z`6E#uc(d*s3T@vnts@eYZ-FvO_>-h?;g?~rYpk!UUDcyYHBBa^`Jumcq*~nxZ~aUH zGb|ci=@Wql1Io+j3sK!;O?K{n^8|ixE-y;fxw^+q;%*b+_Zi?y!Au*yUw;!WA*euVA!29 z{*22Uo2P@%3Bk|z>#!02K(N}T^i>2N$qEYOixuGXYne~v4cX(b;>U>5$L~V^e<{Z2PvdFy)97Y75i~*j$z(n}$Zw*^A>Znw2ZAIl2xt2K2meZqY zcpN@D$RdNHDa*`3fS2F@?3z*&A+7KI?lsv>Dg_Y z^_q(!8V7@1!6@R1uQ%!D4`5&p^2EVHr!zVm$yQ)>L88biv;JLFC1If?skg$VdYX!D z%fI1%^Dm}1K`xDIe01iK3dq>415a9+g_?%R=>wE2^Lx$9UbHi-v%jaqZC)h1Om`U) z-r=4qryY%`oFH6D?SAYw!U6REKEmjFqY&fdG#T)C7w{YH%{Q6D31h0$BNZNg>RI*A zytWu4u-Uv%G%X8~{Ad4ymPrdp6V^-!kzR#?&A>LB7`~psq)0c7?LYzFY#5%Q%)Q`h z&1nM~?D)iq^*S?dcPFasi~MgSaLxA|d+V4Cn&8NdkiiL2w(0Tsq;$SE_qmTA8isl> zjmSleL^c;lMo(ReZLfY@$B@IPoQ5^@9wL&6)?49$A>Qg(vD71|bW$Jmt)O78dxEFz z63OJ>&ljGf=km{(J2ceMs@kpWr7P$kPD|>2EhvF@qttVOyYM9DGIf;71Ky7{NnIZJ|jVjd= z7U8{b|BiGg4`kRn<6R-{2bH@tdWq{doMaE2d!AxWw}crYC%o*t8kYDk?f!Ge3ypAb zXCpX{Lr6w=}y_fDuj;r?EUuI~FBj3XSNRCagm7VZkRtS^ zZMUNtI^kwZgoNtTL|Km;XryHEo6$i2O@k|+u3l$9%MMfljMt+luW4ZoKn25NQmYjWX)UQG1cmxZ z-(k9Imd$j(&(?dV4xyTDW`l%!_X!15geDmygQPJv6$4ytfdBiv>yaKnh0?mnefO5k zq%#MsaYU&=jluNQTNrFAottUr7nDNyeCr-RhL z1Qc*Q3@C1LQkTaWoQ4GTdSopr-l+e^NG$lG8WUq}%n7Ia*XTG;PW96Z*bJFLcOlMe zKPmj~P+8fy6wJ(U5^{wTo@HOreWd-*bLj8G+MD3+dDfy4zDnkOHd?vma@Jn0vtI-8 zt`jw&f}Z#zQ$IbIg~Ebypag^~Rz*s`)@qw?KcWbQu(18|G)h_lp?>F@PFgFaT537_ z6#TR{_(w_Bt!+p6xki$7(`QjI(D3|C*gpSb+Qy}^OE=f*r^!qGO>$y5wh9`(NZN=D zGQ0NGaY1QR!tlE$qVpw>Wz|~i`*;6zNs!{3eDCr*Y%=8ZjIL}a9+;LTW*q>!L{$q( zM0xptLyydHwY&n|TR|KEchXy1Kx1`vw0L`&r|cdfKmYSC+4r-=Al1m~*7(Z0s{K;WOI1PT zptsD38q%m5(nxxwQKCIo*H%;BzN<}lU3gOc>v?_*E~Kv~#I33ABfoMw-nEtpP4-40T70wZ3XShikz1XodqE3eB7fZb&l_Xt8N2Qz|ZtrHMmY@xaDL&d>GP^&igcpS?VmwiLcnp0VN0k{_ zEzOQ|zR=geX}eSkocTqI2M7i7tY17R2Vwg~pANaTS1>?r0XyfaPq$>0FE+w|_ne0| zNX2N=LRUWZ=v0(ONnpBl6gWNq%old7fd0J4E9Z!<*{b3h?C)r7dlyZ);^*!qJ4nX- z-`pz%A&T3>FMu|CVx2rf{|6O8>b?U0dhI9*_Yp{$|2ca`GmgV?amNtqAN{!<#5^D6 zhPvhMpNcVbeFQhCiH3v?Jx_5K+zU`Nx5>*Jra|#+W;um#|A^%*R^&} ziL6Aj=IC1g|0Dt_ZS^eu-=6&geG#NnB*3?EI%`ojoB<*bBjmL$2SG?&axD%7QB!2mZ9vF!V%35-23`34>j_lC8a|{ z+q~gzT8J%F?ts-?8zV&P_JsDVM-L zxA@hW&1kv_j|1WtZRC3?dL+)_EF99`d+$Ng~flL1t+2jK`6>H{l3pkh6c3i42# z{Zzsif^wesxv*sfx5M4>nNJixl-t2Lw|NLIZXM43fjG44O&nVNCXTIrhw>JVt$7n? zKY1US+xxRo8;WaZ#^ctdsq6r!Fm2;J;9(j{kE={3+jtFH9`HtC^$TVacABi8RH|&d;S}@p^!m4v@o7I?qMYCGKIJ`J z*!Vs!@|uiK`XY1lhsfJD2!%U`B6sURWa`>a`XQ5zS`J}3kM*a3;9Rs13bDieDNI~s~dNGm@wl5r;R5PIBtJSSK` zSdXq{FTtO_Jc5;r2BB@sW@wWx#~rG>{|G$ylj?bG??Cl)_q$H%(p*J1mnR?wI}$m~ za1tr#A>{D=5b#83kz;P72&U0-k%&!-MeBC$(4|LDBqXQd<=5WEmK}SLUr>bdigFYd z6=28iUFh@NGYH}{v}kTar+_!5LhgOgaPPP*JZ>&el@-zInZb;%^Nao0uG6uutA4E? zc>bUMssq#C1v~_tcmj_W8P!&zFde6)q!NG#LWwCzYuN_vJ9Narf&DOT@(2{=9mfCu zYdP*z?84{r%yxM*zPm!`srVG%mTYj=h>DBL2s|GmC0<`YA3<#@%r&Ky)YX@636(-A zPgI<2ScycgjV1cpY9a?DTEoi|_HFFPWZ?-@zZVh9{w$vFkG63v<9PN{@#x)C>%jEK z%H=chr$3bAdg*pt&LdD1E+_D;aKlb-6I50?~wHSS)7 zn9CUiEcW#pEpVH0x|1i^S?(-ja`Irf*w2#kqUh5oys6Am^G(?Tz z*0x%lO>798+8MPwo^?kO_*f7C8auvUnD#x$BB&B#t6O+9hex9y1U~vmr)5;$e(MeF z-2RzccvQeMYWN@rJU=7s{N%?!a!{do3qTA?1U%-J+B^2FErJgZh&&h7I!MBUn8zW1pIlNiJ+pEP*$6puSU~V8W1g4rxJYx5sI2|3>}U>oPv*Q)1v;*V!_v1`0Mt-9XI!O~;bTK&Ht@VMb@8rEA4cp?J86D6yT0Z)9S z^VpV_o{mo4dN|;D<@I;4dD~9pyd0OWR^VL5MZCg}DVX=KPoSyKPE%f}1U%|I zDd1{Ofk(=bAji#p3J!7#hZG};!H&*J+@h{5cYP_<@I`O< zHv6k^_O+35h>1;PKSh9xOGaEwf&-qhqXuEk$~pM+A1ZLYWCzLxDEZ59gK%+E)|Lya zaQ(u^xN(W_kxgO$dna!hz98&qL2dPI5(gwXA3Fy<$qi}xeY+{z+I z1>_E&qlHavfm1DZDo<*1E^s|_3H$Lygdai-@2Rl6c?79E-j9HEi_mm4Yo(K`7e6M@ zEako|L`$4p%^(0}E~S1Trv(d~+#&E>%UF$)vl}pT^qYuoQX5Sg)^T6HwfLr7V{0gs z%kO|fY6_qBrO4VGA06u&|9Ktzfkz?>kCmT*N5hA-$Y*q9478S8F9Oe-FZRHf**ox? zEmLrJz~d;0sfk-PeuzK(gpl*^|BnCfzY~1^?T7gLzx@aPKZGA@U-;iY{CE86Cxo6~ z{5!7H{t2#jj=_H|8ie0{HV$7Mnu%*v;7bT2R|qK@GGBOXG73%-R*uPmz)ULjRO}B; zMfOpKotRENV-nlkDGqk>`Jb$P;~nVa1c1lp;K)Lx?IkMP8lsjdprJmKy?+eDse~Vy zfa2p*-1>+)2gdTh`iMK;jf%+FH4YbcY8|}Y=*>PToCgje%Sd}X3-b&(~)hFUq`X`pwd5o%LWuO)?>;qnj`(x?GCwMf9oH=f3? zOOK%N#6sllBdiJh2y3|qs1s4=%Gxm&7k5p-w?&^}=t~5i20tb6)Ns}r%?FaTr1IH; zdSHMfQTwJiD@^CKuWAj)uG4YuVAUwzA|%EZh%3cFymm%|Q>3HLOh|5#*IP zCMF86z4kJ8?bw36%=2zY+wh?S@Ke4Q8q)R)2R2m;iyEB#lrUtL6$2Cl9s?4y!YIs! zt{K4ip+)-=mk)gJwO{?-W1m-z^aIa7Sa{Sad_V9Q(D=m< zJa&!t6@PVxQPFXfSSk#WXwyCc3upEx@T_Ksu!>5xEIH#z;A~9x%4#s2urq?7LnZYH zl_V;sB~q9u+Ak#pl~H*u+$XOgRBENz?j4L=D$yEJlecH6lkA;C2si_gLB%+0o0RUs zPD#G-DHZL{`r*>n50OR1S?4mh4dnh{r##CVkwZw5$~K0;GagsZPR7-96LI~LfahaeJUAWizSt6- zT1O%wn)xk7G@$56IWxt~ufR#M(RppFD{uxh+S-3C+<%Sj>sn0=)p+%o=umX;l8P-G zrsAuzZH(hW&#H5hXQPxg|6I^rm@R((r z%d*TNSmy2Je>Asczf9|dR9&}o5X(j7J%m8zN&a3QQ}llg3(FNa=y|MDMFgK>##a`s zD;H+qi;{KNy>T=;whDHRFv7z01)YjzFqO!_mw3&)adU5&_tnA1%I1FOWV!R^0I|HB zm50Le5%36fg7sfYbW{Xdq{QLbCp4sOBEBj9w9>+pyMIW)!Xs!PWF8ppfakY2cDf;L z?OTUc0*@>_dcHuXS<`Sn$LhoXIq>LM|FQa_eXp+ZUT!g1whdGq-5N=}Mvgwl4}X@x zvx0SFx+{BIhey_(3IPxETEJ6!jPXA{0oSRl{pIW9SVLfIpC0BcJP{G9o8Ghh;*aO| zi9eqHaQ}Twymz1qcno$lOh6JA-oybn(P+`SHM&09tIEQ&T|?T6P+C@s z((+PV$jrc?5yKqt)MbY)3y;++b>8~YDRD|5J5AL)gB@*c-w!eVa1;M^c2CLwo4})O zQc@Ci?pJSq=TPy)(^^KKV_8$a;KvSZ-m zEUGN`Ccbj_J`8Bl-e~qw3G8EI*d8VzF+K@Bd-TB6Nu%)TrX~3EA1~u}`EFciylxh* zbk-EX$jyuuxPFlUks(I_AGx+uP$Q7}l29Y?5v<(GT8eAD?s~>jo?qeIT7Olz&cTe} zMk3FQ4tz3~x&MFVfXIWL+XRxE1fiRRqw9pL8<`&yptLWmjn)HN%i}dXFW6b_wl^{* zf}UlBpw)c#3hD++P=011_ZPdNZ8t8?#ZAgx0#N>;*|@l89%c-G1yMnd5P0e$m~|+q zk@q1^3!~nn>`}?l*24V9QV=cN9aDLg0_ztWt|Ud#&6RNF)`;(3q-$Ru?cN@5zSI-f zwP5PS)&Dnde*tF4jjj8`i801zH@BO)+suq{m?kt~W-~J-apEwOlQ?E(rkJVQ?6w`A za59sD%$X!JlezErzN)>t<(?*S{EPBW!p~1N&c)x)tBF6?uZa(%YT{(e6nr=A8vJAK z1pHwo^`k|jaboFcyicI1P@A=BGLCG1ltA+^WtuZouye(D>|aAjpPv6ccVK8RuW`ZjK{i@L}?*g8` ze7F)zUKoJ(1fJyh#=H;9FP1<_D2$Z}b_XZAZxSJ0U>@W{qWnpe=U9s3368?o_4pv; z!;jlklmKI}W1@2hIuw87QCVqA(|X@btrOB8a@h`e?sjIW7rH5J#}4nuZ~{;LdbLsS zyxI0dUkMkZAo)Fp{Hi0g8Yp+-jPxvC$cW7>PlPTszjg)w|TW(v%p`$Th&R zy!h8k6c$Wrt8RoRG^MSuxB#Wiirkd82k*ZM`**yCuVu90fXq@)#&PYLvW*|}jz{s{ zPRjPF_-M})IKAr`yz$Jv=-h$8(}Ep0fk$(jb91OLY4bI=j)%&zfG3-Zfi{BF?)L

    vEFCR`BfxQa{ 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�#Ug=l70-Ld5@;NF5yGOIL_6S#q@P44 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

    Z7& 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

  • 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