From 7e24ee30f734ad79264638c3c193b9b9be07d2d9 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 13 Jan 2026 17:26:40 +0300 Subject: [PATCH 01/70] Documentation and book updates Improve the main list of features. Use lowercase imu variable for consistency with the firmware code. Minor fixes. --- README.md | 8 +++----- docs/book/gyro.md | 52 +++++++++++++++++++++++------------------------ docs/firmware.md | 2 +- docs/usage.md | 2 +- 4 files changed, 31 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 4ddc0a5..58e490a 100644 --- a/README.md +++ b/README.md @@ -21,15 +21,13 @@ * Dedicated for education and research. * Made from general-purpose components. * Simple and clean source code in Arduino (<2k lines firmware). +* Connectivity using Wi-Fi and MAVLink protocol. * Control using USB gamepad, remote control or smartphone. -* Wi-Fi and MAVLink support. * Wireless command line interface and analyzing. * Precise simulation with Gazebo. -* Python library. +* Python library for scripting and automatic flights. * Textbook on flight control theory and practice ([in development](https://quadcopter.dev)). -* *Position control (using external camera) and autonomous flights¹*. - -*¹ — planned.* +* *Position control (planned)*. ## It actually flies diff --git a/docs/book/gyro.md b/docs/book/gyro.md index 2127891..5034343 100644 --- a/docs/book/gyro.md +++ b/docs/book/gyro.md @@ -87,13 +87,13 @@ Flix поддерживает следующие модели IMU: #include #include -MPU9250 IMU(SPI); +MPU9250 imu(SPI); void setup() { Serial.begin(115200); - bool success = IMU.begin(); + bool success = imu.begin(); if (!success) { - Serial.println("Failed to initialize IMU"); + Serial.println("Failed to initialize the IMU"); } } ``` @@ -108,21 +108,21 @@ void setup() { #include #include -MPU9250 IMU(SPI); +MPU9250 imu(SPI); void setup() { Serial.begin(115200); - bool success = IMU.begin(); + bool success = imu.begin(); if (!success) { - Serial.println("Failed to initialize IMU"); + Serial.println("Failed to initialize the IMU"); } } void loop() { - IMU.waitForData(); + imu.waitForData(); float gx, gy, gz; - IMU.getGyro(gx, gy, gz); + imu.getGyro(gx, gy, gz); Serial.printf("gx:%f gy:%f gz:%f\n", gx, gy, gz); delay(50); // замедление вывода @@ -135,36 +135,36 @@ void loop() { ## Конфигурация гироскопа -В коде Flix настройка IMU происходит в функции `configureIMU`. В этой функции настраиваются три основных параметра гироскопа: диапазон измерений, частота сэмплов и частота LPF-фильтра. +В коде Flix настройка IMU происходит в функции `configureIMU`. В этой функции настраиваются три основных параметра гироскопа: диапазон измерений, частота сэмплирования и частота LPF-фильтра. -### Частота сэмплов +### Частота сэмплирования -Большинство IMU могут обновлять данные с разной частотой. В полетных контроллерах обычно используется частота обновления от 500 Гц до 8 кГц. Чем выше частота сэмплов, тем выше точность управления полетом, но и больше нагрузка на микроконтроллер. +Большинство IMU могут обновлять данные с разной частотой. В полетных контроллерах обычно используется частота обновления от 500 Гц до 8 кГц. Чем выше частота, тем выше точность управления полетом, но и тем больше нагрузка на микроконтроллер. -Частота сэмплов устанавливается методом `setSampleRate()`. В Flix используется частота 1 кГц: +Частота сэмплирования устанавливается методом `setSampleRate()`. В Flix используется частота 1 кГц: ```cpp IMU.setRate(IMU.RATE_1KHZ_APPROX); ``` -Поскольку не все поддерживаемые IMU могут работать строго на частоте 1 кГц, в библиотеке FlixPeriph существует возможность приближенной настройки частоты сэмплов. Например, у IMU ICM-20948 при такой настройке реальная частота сэмплирования будет равна 1125 Гц. +Поскольку не все поддерживаемые IMU могут работать строго на частоте 1 кГц, в библиотеке FlixPeriph существует возможность приближенной настройки частоты сэмплирования. Например, у IMU ICM-20948 при такой настройке реальная частота сэмплирования будет равна 1125 Гц. Другие доступные для установки в библиотеке FlixPeriph частоты сэмплирования: -* `RATE_MIN` — минимальная частота сэмплов для конкретного IMU. +* `RATE_MIN` — минимальная частота для конкретного IMU. * `RATE_50HZ_APPROX` — значение, близкое к 50 Гц. * `RATE_1KHZ_APPROX` — значение, близкое к 1 кГц. * `RATE_8KHZ_APPROX` — значение, близкое к 8 кГц. -* `RATE_MAX` — максимальная частота сэмплов для конкретного IMU. +* `RATE_MAX` — максимальная частота для конкретного IMU. #### Диапазон измерений -Большинство MEMS-гироскопов поддерживают несколько диапазонов измерений угловой скорости. Главное преимущество выбора меньшего диапазона — бо́льшая чувствительность. В полетных контроллерах обычно выбирается максимальный диапазон измерений от –2000 до 2000 градусов в секунду, чтобы обеспечить возможность динамичных маневров. +Большинство MEMS-гироскопов поддерживают несколько диапазонов измерений угловой скорости. Главное преимущество выбора меньшего диапазона — бо́льшая чувствительность. В полетных контроллерах обычно выбирается максимальный диапазон измерений от –2000 до 2000 градусов в секунду, чтобы обеспечить возможность быстрых маневров. В библиотеке FlixPeriph диапазон измерений гироскопа устанавливается методом `setGyroRange()`: ```cpp -IMU.setGyroRange(IMU.GYRO_RANGE_2000DPS); +imu.setGyroRange(imu.GYRO_RANGE_2000DPS); ``` ### LPF-фильтр @@ -172,7 +172,7 @@ IMU.setGyroRange(IMU.GYRO_RANGE_2000DPS); IMU InvenSense могут фильтровать измерения на аппаратном уровне при помощи фильтра нижних частот (LPF). Flix реализует собственный фильтр для гироскопа, чтобы иметь больше гибкости при поддержке разных IMU. Поэтому для встроенного LPF устанавливается максимальная частота среза: ```cpp -IMU.setDLPF(IMU.DLPF_MAX); +imu.setDLPF(imu.DLPF_MAX); ``` ## Калибровка гироскопа @@ -181,7 +181,7 @@ IMU.setDLPF(IMU.DLPF_MAX); \\[ gyro_{xyz}=rates_{xyz}+bias_{xyz}+noise \\] -Для качественной работы подсистемы оценки ориентации и управления дроном необходимо оценить *bias* гироскопа и учесть его в вычислениях. Для этого при запуске программы производится калибровка гироскопа, которая реализована в функции `calibrateGyro()`. Эта функция считывает данные с гироскопа в состоянии покоя 1000 раз и усредняет их. Полученные значения считаются *bias* гироскопа и в дальнейшем вычитаются из измерений. +Для точной работы подсистемы оценки ориентации и управления дроном необходимо оценить *bias* гироскопа и учесть его в вычислениях. Для этого при запуске программы производится калибровка гироскопа, которая реализована в функции `calibrateGyro()`. Эта функция считывает данные с гироскопа в состоянии покоя 1000 раз и усредняет их. Полученные значения считаются *bias* гироскопа и в дальнейшем вычитаются из измерений. Программа для вывода данных с гироскопа с калибровкой: @@ -189,23 +189,23 @@ IMU.setDLPF(IMU.DLPF_MAX); #include #include -MPU9250 IMU(SPI); +MPU9250 imu(SPI); float gyroBiasX, gyroBiasY, gyroBiasZ; // bias гироскопа void setup() { Serial.begin(115200); - bool success = IMU.begin(); + bool success = imu.begin(); if (!success) { - Serial.println("Failed to initialize IMU"); + Serial.println("Failed to initialize the IMU"); } calibrateGyro(); } void loop() { float gx, gy, gz; - IMU.waitForData(); - IMU.getGyro(gx, gy, gz); + imu.waitForData(); + imu.getGyro(gx, gy, gz); // Устранение bias гироскопа gx -= gyroBiasX; @@ -226,9 +226,9 @@ void calibrateGyro() { // Получение 1000 измерений гироскопа for (int i = 0; i < samples; i++) { - IMU.waitForData(); + imu.waitForData(); float gx, gy, gz; - IMU.getGyro(gx, gy, gz); + imu.getGyro(gx, gy, gz); gyroBiasX += gx; gyroBiasY += gy; gyroBiasZ += gz; diff --git a/docs/firmware.md b/docs/firmware.md index c0b817c..016f464 100644 --- a/docs/firmware.md +++ b/docs/firmware.md @@ -42,7 +42,7 @@ Pilot inputs are interpreted in `interpretControls()`, and then converted to the * `attitudeTarget` *(Quaternion)* — target attitude of the drone. * `ratesTarget` *(Vector)* — target angular rates, *rad/s*. -* `ratesExtra` *(Vector)* — additional (feed-forward) angular rates , used for yaw rate control in STAB mode, *rad/s*. +* `ratesExtra` *(Vector)* — additional (feed-forward) angular rates, used for yaw rate control in STAB mode, *rad/s*. * `torqueTarget` *(Vector)* — target torque, range [-1, 1]. * `thrustTarget` *(float)* — collective motor thrust target, range [0, 1]. diff --git a/docs/usage.md b/docs/usage.md index bfadfbf..cb9f5fe 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -143,7 +143,7 @@ Before flight you need to calibrate the accelerometer: * The `accel` and `gyro` fields should change as you move the drone. * The `landed` field should be `1` when the drone is still on the ground and `0` when you lift it up. -2. Check the attitude estimation: connect to the drone using QGroundControl, rotate the drone in different orientations and check if the attitude estimation shown in QGroundControl is correct. Attitude indicator in QGroundControl is shown below: +2. Check the attitude estimation: connect to the drone using QGroundControl, rotate the drone in different orientations and check if the attitude estimation shown in QGroundControl is correct. Attitude indicator (in *large vertical* mode) in QGroundControl is shown below: From 28f5855a57ef9f4993f936364d976964f6670621 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 13 Jan 2026 17:43:53 +0300 Subject: [PATCH 02/70] Re-arrange control.ino declarations to make a bit more sensible So the control command is above the PID controllers. --- flix/control.ino | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flix/control.ino b/flix/control.ino index 9018630..8f6d8e6 100644 --- a/flix/control.ino +++ b/flix/control.ino @@ -38,6 +38,12 @@ const int RAW = 0, ACRO = 1, STAB = 2, AUTO = 3; // flight modes int mode = STAB; bool armed = false; +Quaternion attitudeTarget; +Vector ratesTarget; +Vector ratesExtra; // feedforward rates +Vector torqueTarget; +float thrustTarget; + PID rollRatePID(ROLLRATE_P, ROLLRATE_I, ROLLRATE_D, ROLLRATE_I_LIM, RATES_D_LPF_ALPHA); PID pitchRatePID(PITCHRATE_P, PITCHRATE_I, PITCHRATE_D, PITCHRATE_I_LIM, RATES_D_LPF_ALPHA); PID yawRatePID(YAWRATE_P, YAWRATE_I, YAWRATE_D); @@ -47,12 +53,6 @@ PID yawPID(YAW_P, 0, 0); Vector maxRate(ROLLRATE_MAX, PITCHRATE_MAX, YAWRATE_MAX); float tiltMax = TILT_MAX; -Quaternion attitudeTarget; -Vector ratesTarget; -Vector ratesExtra; // feedforward rates -Vector torqueTarget; -float thrustTarget; - extern const int MOTOR_REAR_LEFT, MOTOR_REAR_RIGHT, MOTOR_FRONT_RIGHT, MOTOR_FRONT_LEFT; extern float controlRoll, controlPitch, controlThrottle, controlYaw, controlMode; From 9a9bd07251dbd5d315bdb91b54a0267665b16f5d Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 15 Jan 2026 23:46:23 +0300 Subject: [PATCH 03/70] Add correct attitude estimation video to the usage article --- docs/usage.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index cb9f5fe..db3c8fa 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -143,9 +143,9 @@ Before flight you need to calibrate the accelerometer: * The `accel` and `gyro` fields should change as you move the drone. * The `landed` field should be `1` when the drone is still on the ground and `0` when you lift it up. -2. Check the attitude estimation: connect to the drone using QGroundControl, rotate the drone in different orientations and check if the attitude estimation shown in QGroundControl is correct. Attitude indicator (in *large vertical* mode) in QGroundControl is shown below: +2. Check the attitude estimation: connect to the drone using QGroundControl, rotate the drone in different orientations and check if the attitude estimation shown in QGroundControl is correct. Compare your attitude indicator (in the *large vertical* mode) to the video: - + 3. Perform motor tests in the console. Use the following commands **— remove the propellers before running the tests!** From a6bad3a69b140bf1d503147c2fd4f57c416ea689 Mon Sep 17 00:00:00 2001 From: "a.golubtsov" Date: Thu, 22 Jan 2026 10:49:28 +0300 Subject: [PATCH 04/70] Add log dir creation before log writing --- tools/log.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/log.py b/tools/log.py index a1e3f1a..d638d9c 100755 --- a/tools/log.py +++ b/tools/log.py @@ -43,6 +43,7 @@ records = [record for record in records if record[0] != 0] print(f'Received records: {len(records)}') +os.makedirs(f'{DIR}/log', exist_ok=True) log = open(f'{DIR}/log/{datetime.datetime.now().isoformat()}.csv', 'wb') log.write(header.encode() + b'\n') for record in records: From c0f3301da42f98088cead001ab2e80b44b32aec7 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 22 Jan 2026 22:54:05 +0300 Subject: [PATCH 05/70] Support integer parameters in addition to floats The variable pointer is stored as a union field. If `.integer` field is true, then integer pointer should be used. Interfaces to parameters (cli and mavlink) keep working using floats. Setting a non-finite value to int parameter will cause an error. `.value` field is renamed to `.cache`. --- flix/mavlink.ino | 3 ++- flix/parameters.ino | 34 +++++++++++++++++++++------------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/flix/mavlink.ino b/flix/mavlink.ino index cb122fc..0366ca4 100644 --- a/flix/mavlink.ino +++ b/flix/mavlink.ino @@ -142,7 +142,8 @@ void handleMavlink(const void *_msg) { char name[MAVLINK_MSG_PARAM_SET_FIELD_PARAM_ID_LEN + 1]; strlcpy(name, m.param_id, sizeof(name)); // param_id might be not null-terminated - setParameter(name, m.param_value); + bool success = setParameter(name, m.param_value); + if (!success) return; // send ack mavlink_message_t msg; mavlink_msg_param_value_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, diff --git a/flix/parameters.ino b/flix/parameters.ino index 3d7bfdd..a6e7115 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -14,8 +14,13 @@ Preferences storage; struct Parameter { const char *name; // max length is 15 (Preferences key limit) - float *variable; - float value; // cache + bool integer; + union { float *f; int *i; }; // pointer to variable + float cache; // what's stored in flash + Parameter(const char *name, float *variable) : name(name), integer(false), f(variable) {}; + Parameter(const char *name, int *variable) : name(name), integer(true), i(variable) {}; + float getValue() const { return integer ? *i : *f; }; + void setValue(const float value) { if (integer) *i = value; else *f = value; }; }; Parameter parameters[] = { @@ -84,10 +89,10 @@ void setupParameters() { // Read parameters from storage for (auto ¶meter : parameters) { if (!storage.isKey(parameter.name)) { - storage.putFloat(parameter.name, *parameter.variable); + storage.putFloat(parameter.name, parameter.getValue()); // store default value } - *parameter.variable = storage.getFloat(parameter.name, *parameter.variable); - parameter.value = *parameter.variable; + parameter.setValue(storage.getFloat(parameter.name, 0)); + parameter.cache = parameter.getValue(); } } @@ -102,13 +107,13 @@ const char *getParameterName(int index) { float getParameter(int index) { if (index < 0 || index >= parametersCount()) return NAN; - return *parameters[index].variable; + return parameters[index].getValue(); } float getParameter(const char *name) { for (auto ¶meter : parameters) { if (strcmp(parameter.name, name) == 0) { - return *parameter.variable; + return parameter.getValue(); } } return NAN; @@ -117,7 +122,8 @@ float getParameter(const char *name) { bool setParameter(const char *name, const float value) { for (auto ¶meter : parameters) { if (strcmp(parameter.name, name) == 0) { - *parameter.variable = value; + if (parameter.integer && !isfinite(value)) return false; // can't set integer to NaN or Inf + parameter.setValue(value); return true; } } @@ -130,16 +136,18 @@ void syncParameters() { if (motorsActive()) return; // don't use flash while flying, it may cause a delay for (auto ¶meter : parameters) { - if (parameter.value == *parameter.variable) continue; - if (isnan(parameter.value) && isnan(*parameter.variable)) continue; // handle NAN != NAN - storage.putFloat(parameter.name, *parameter.variable); - parameter.value = *parameter.variable; + if (parameter.getValue() == parameter.cache) continue; // no change + if (isnan(parameter.getValue()) && isnan(parameter.cache)) continue; // both are NaN + if (isinf(parameter.getValue()) && isinf(parameter.cache)) continue; // both are Inf + + storage.putFloat(parameter.name, parameter.getValue()); + parameter.cache = parameter.getValue(); // update cache } } void printParameters() { for (auto ¶meter : parameters) { - print("%s = %g\n", parameter.name, *parameter.variable); + print("%s = %g\n", parameter.name, parameter.getValue()); } } From dd3575174b51bf7920bb9af4791ca8f0b294c2e0 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 22 Jan 2026 22:58:43 +0300 Subject: [PATCH 06/70] Add wifi configuration using parameters and cli Add console commands to setup wifi. Add a parameter for choosing between STA and AP mode. Add parameters for udp ports. Remove WIFI_ENABLED macro. --- .github/workflows/build.yml | 2 -- .markdownlint.json | 1 + docs/usage.md | 36 +++++++++++++++++++- flix/cli.ino | 12 +++---- flix/flix.ino | 5 --- flix/mavlink.ino | 4 --- flix/parameters.ino | 5 +++ flix/wifi.ino | 67 ++++++++++++++++++++++++++----------- gazebo/flix.h | 3 +- 9 files changed, 95 insertions(+), 40 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f4ef650..3bb9234 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,8 +25,6 @@ jobs: path: flix/build - name: Build firmware for ESP32-S3 run: make BOARD=esp32:esp32:esp32s3 - - name: Build firmware with WiFi disabled - run: sed -i 's/^#define WIFI_ENABLED 1$/#define WIFI_ENABLED 0/' flix/flix.ino && make - name: Check c_cpp_properties.json run: tools/check_c_cpp_properties.py diff --git a/.markdownlint.json b/.markdownlint.json index f98602c..ae571f8 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -7,6 +7,7 @@ "MD024": false, "MD033": false, "MD034": false, + "MD040": false, "MD059": false, "MD044": { "html_elements": false, diff --git a/docs/usage.md b/docs/usage.md index db3c8fa..8011866 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -243,9 +243,43 @@ In this mode, the pilot inputs are ignored (except the mode switch, if configure If the pilot moves the control sticks, the drone will switch back to *STAB* mode. +## Wi-Fi configuration + +You can configure the Wi-Fi using parameters and console commands. + +The Wi-Fi mode is chosen using `WIFI_MODE` parameter in QGroundControl or in the console: + +* `0` — Wi-Fi is disabled. +* `1` — Access Point mode (*AP*) — the drone creates a Wi-Fi network. +* `2` — Client mode (*STA*) — the drone connects to an existing Wi-Fi network. +* `3` — *ESP-NOW (not implemented yet)*. + +> [!WARNING] +> Tests showed that Client mode may cause **additional delays** in remote control (due to retranslations), so it's generally not recommended. + +The SSID and password are configured using the `ap` and `sta` console commands: + +``` +ap +sta +``` + +Example of configuring the Access Point mode: + +``` +ap my-flix-ssid mypassword123 +p WIFI_MODE 1 +``` + +Disabling Wi-Fi: + +``` +p WIFI_MODE 0 +``` + ## Flight log -After the flight, you can download the flight log for analysis wirelessly. Use the following for that: +After the flight, you can download the flight log for analysis wirelessly. Use the following command on your computer for that: ```bash make log diff --git a/flix/cli.ino b/flix/cli.ino index 145b80e..2e4f9f8 100644 --- a/flix/cli.ino +++ b/flix/cli.ino @@ -38,6 +38,8 @@ const char* motd = "raw/stab/acro/auto - set mode\n" "rc - show RC data\n" "wifi - show Wi-Fi info\n" +"ap - setup Wi-Fi access point\n" +"sta - setup Wi-Fi client mode\n" "mot - show motor output\n" "log [dump] - print log header [and data]\n" "cr - calibrate RC\n" @@ -54,9 +56,7 @@ void print(const char* format, ...) { vsnprintf(buf, sizeof(buf), format, args); va_end(args); Serial.print(buf); -#if WIFI_ENABLED mavlinkPrint(buf); -#endif } void pause(float duration) { @@ -64,9 +64,7 @@ void pause(float duration) { while (t - start < duration) { step(); handleInput(); -#if WIFI_ENABLED processMavlink(); -#endif delay(50); } } @@ -136,9 +134,11 @@ void doCommand(String str, bool echo = false) { print("mode: %s\n", getModeName()); print("armed: %d\n", armed); } else if (command == "wifi") { -#if WIFI_ENABLED printWiFiInfo(); -#endif + } else if (command == "ap") { + configWiFi(true, arg0.c_str(), arg1.c_str()); + } else if (command == "sta") { + configWiFi(false, arg0.c_str(), arg1.c_str()); } else if (command == "mot") { print("front-right %g front-left %g rear-right %g rear-left %g\n", motors[MOTOR_FRONT_RIGHT], motors[MOTOR_FRONT_LEFT], motors[MOTOR_REAR_RIGHT], motors[MOTOR_REAR_LEFT]); diff --git a/flix/flix.ino b/flix/flix.ino index 8036b60..370d66a 100644 --- a/flix/flix.ino +++ b/flix/flix.ino @@ -7,7 +7,6 @@ #include "quaternion.h" #include "util.h" -#define WIFI_ENABLED 1 extern float t, dt; extern float controlRoll, controlPitch, controlYaw, controlThrottle, controlMode; @@ -25,9 +24,7 @@ void setup() { setupLED(); setupMotors(); setLED(true); -#if WIFI_ENABLED setupWiFi(); -#endif setupIMU(); setupRC(); setLED(false); @@ -42,9 +39,7 @@ void loop() { control(); sendMotors(); handleInput(); -#if WIFI_ENABLED processMavlink(); -#endif logData(); syncParameters(); } diff --git a/flix/mavlink.ino b/flix/mavlink.ino index 0366ca4..f894497 100644 --- a/flix/mavlink.ino +++ b/flix/mavlink.ino @@ -3,8 +3,6 @@ // MAVLink communication -#if WIFI_ENABLED - #include #include "util.h" @@ -275,5 +273,3 @@ void sendMavlinkPrint() { } mavlinkPrintBuffer.clear(); } - -#endif diff --git a/flix/parameters.ino b/flix/parameters.ino index a6e7115..ae5e868 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -9,6 +9,7 @@ extern float channelZero[16]; extern float channelMax[16]; extern float rollChannel, pitchChannel, throttleChannel, yawChannel, armedChannel, modeChannel; +extern int wifiMode, udpLocalPort, udpRemotePort; Preferences storage; @@ -82,6 +83,10 @@ Parameter parameters[] = { {"RC_THROTTLE", &throttleChannel}, {"RC_YAW", &yawChannel}, {"RC_MODE", &modeChannel}, + // wifi + {"WIFI_MODE", &wifiMode}, + {"WIFI_LOC_PORT", &udpLocalPort}, + {"WIFI_REM_PORT", &udpRemotePort}, }; void setupParameters() { diff --git a/flix/wifi.ino b/flix/wifi.ino index 30f6d4a..6814dbe 100644 --- a/flix/wifi.ino +++ b/flix/wifi.ino @@ -1,49 +1,76 @@ // Copyright (c) 2023 Oleg Kalachev // Repository: https://github.com/okalachev/flix -// Wi-Fi support - -#if WIFI_ENABLED +// Wi-Fi communication #include #include #include +#include "Preferences.h" -#define WIFI_SSID "flix" -#define WIFI_PASSWORD "flixwifi" -#define WIFI_UDP_PORT 14550 -#define WIFI_UDP_REMOTE_PORT 14550 -#define WIFI_UDP_REMOTE_ADDR "255.255.255.255" +extern Preferences storage; // use the main preferences storage + +const int W_DISABLED = 0, W_AP = 1, W_STA = 2; +int wifiMode = W_AP; +int udpLocalPort = 14550; +int udpRemotePort = 14550; +IPAddress udpRemoteIP = "255.255.255.255"; WiFiUDP udp; void setupWiFi() { print("Setup Wi-Fi\n"); - WiFi.softAP(WIFI_SSID, WIFI_PASSWORD); - udp.begin(WIFI_UDP_PORT); + if (wifiMode == W_AP) { + WiFi.softAP(storage.getString("WIFI_AP_SSID", "flix").c_str(), storage.getString("WIFI_AP_PASS", "flixwifi").c_str()); + } else if (wifiMode == W_STA) { + WiFi.begin(storage.getString("WIFI_STA_SSID", "").c_str(), storage.getString("WIFI_STA_PASS", "").c_str()); + } + udp.begin(udpLocalPort); } void sendWiFi(const uint8_t *buf, int len) { - if (WiFi.softAPIP() == IPAddress(0, 0, 0, 0) && WiFi.status() != WL_CONNECTED) return; - udp.beginPacket(udp.remoteIP() ? udp.remoteIP() : WIFI_UDP_REMOTE_ADDR, WIFI_UDP_REMOTE_PORT); + if (WiFi.softAPgetStationNum() == 0 && !WiFi.isConnected()) return; + udp.beginPacket(udpRemoteIP, udpRemotePort); udp.write(buf, len); udp.endPacket(); } int receiveWiFi(uint8_t *buf, int len) { udp.parsePacket(); + if (udp.remoteIP()) udpRemoteIP = udp.remoteIP(); return udp.read(buf, len); } void printWiFiInfo() { - print("MAC: %s\n", WiFi.softAPmacAddress().c_str()); - print("SSID: %s\n", WiFi.softAPSSID().c_str()); - print("Password: %s\n", WIFI_PASSWORD); - print("Clients: %d\n", WiFi.softAPgetStationNum()); - print("Status: %d\n", WiFi.status()); - print("IP: %s\n", WiFi.softAPIP().toString().c_str()); - print("Remote IP: %s\n", udp.remoteIP().toString().c_str()); + if (WiFi.getMode() == WIFI_MODE_AP) { + print("Mode: Access Point (AP)\n"); + print("MAC: %s\n", WiFi.softAPmacAddress().c_str()); + print("SSID: %s\n", WiFi.softAPSSID().c_str()); + print("Password: ***\n"); + print("Clients: %d\n", WiFi.softAPgetStationNum()); + print("IP: %s\n", WiFi.softAPIP().toString().c_str()); + } else if (WiFi.getMode() == WIFI_MODE_STA) { + print("Mode: Client (STA)\n"); + print("Connected: %d\n", WiFi.isConnected()); + print("MAC: %s\n", WiFi.macAddress().c_str()); + print("SSID: %s\n", WiFi.SSID().c_str()); + print("Password: ***\n"); + print("IP: %s\n", WiFi.localIP().toString().c_str()); + } else { + print("Mode: Disabled\n"); + return; + } + print("Remote IP: %s\n", udpRemoteIP.toString().c_str()); print("MAVLink connected: %d\n", mavlinkConnected); } -#endif +void configWiFi(bool ap, const char *ssid, const char *password) { + if (ap) { + storage.putString("WIFI_AP_SSID", ssid); + storage.putString("WIFI_AP_PASS", password); + } else { + storage.putString("WIFI_STA_SSID", ssid); + storage.putString("WIFI_STA_PASS", password); + } + print("✓ Reboot to apply new settings\n"); +} diff --git a/gazebo/flix.h b/gazebo/flix.h index 91d72c4..8d13f5e 100644 --- a/gazebo/flix.h +++ b/gazebo/flix.h @@ -10,8 +10,6 @@ #include "Arduino.h" #include "wifi.h" -#define WIFI_ENABLED 1 - extern float t, dt; extern float controlRoll, controlPitch, controlYaw, controlThrottle, controlMode; extern Vector rates; @@ -73,3 +71,4 @@ void calibrateAccel() { print("Skip accel calibrating\n"); }; void printIMUCalibration() { print("cal: N/A\n"); }; void printIMUInfo() {}; void printWiFiInfo() {}; +void configWiFi(bool, const char*, const char*) { print("Skip WiFi config\n"); }; From 30326a56628b59e36001b9f8c9f40345757bb772 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 22 Jan 2026 23:04:45 +0300 Subject: [PATCH 07/70] Add parameters for configuring the mavlink subsystem MAV_SYS_ID - mavlink system id. MAV_RATE_SLOW - rate of slow telemetry (e. g. heartbeats). MAV_RATE_FAST - rate of fast telemetry (e. g. attitude, imu data). --- flix/mavlink.ino | 61 +++++++++++++++++++++------------------------ flix/parameters.ino | 4 +++ 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/flix/mavlink.ino b/flix/mavlink.ino index f894497..15bbba5 100644 --- a/flix/mavlink.ino +++ b/flix/mavlink.ino @@ -6,14 +6,13 @@ #include #include "util.h" -#define SYSTEM_ID 1 -#define MAVLINK_RATE_SLOW 1 -#define MAVLINK_RATE_FAST 10 - extern float controlTime; bool mavlinkConnected = false; String mavlinkPrintBuffer; +int mavlinkSysId = 1; +Rate telemetryFast(10); +Rate telemetrySlow(2); void processMavlink() { sendMavlink(); @@ -26,10 +25,8 @@ void sendMavlink() { mavlink_message_t msg; uint32_t time = t * 1000; - static Rate slow(MAVLINK_RATE_SLOW), fast(MAVLINK_RATE_FAST); - - if (slow) { - mavlink_msg_heartbeat_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, MAV_TYPE_QUADROTOR, MAV_AUTOPILOT_GENERIC, + if (telemetrySlow) { + mavlink_msg_heartbeat_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, MAV_TYPE_QUADROTOR, MAV_AUTOPILOT_GENERIC, (armed ? MAV_MODE_FLAG_SAFETY_ARMED : 0) | ((mode == STAB) ? MAV_MODE_FLAG_STABILIZE_ENABLED : 0) | ((mode == AUTO) ? MAV_MODE_FLAG_AUTO_ENABLED : MAV_MODE_FLAG_MANUAL_INPUT_ENABLED), @@ -38,27 +35,27 @@ void sendMavlink() { if (!mavlinkConnected) return; // send only heartbeat until connected - mavlink_msg_extended_sys_state_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, + mavlink_msg_extended_sys_state_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, MAV_VTOL_STATE_UNDEFINED, landed ? MAV_LANDED_STATE_ON_GROUND : MAV_LANDED_STATE_IN_AIR); sendMessage(&msg); } - if (fast && mavlinkConnected) { + if (telemetryFast && mavlinkConnected) { const float zeroQuat[] = {0, 0, 0, 0}; - mavlink_msg_attitude_quaternion_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, + mavlink_msg_attitude_quaternion_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, time, attitude.w, attitude.x, -attitude.y, -attitude.z, rates.x, -rates.y, -rates.z, zeroQuat); // convert to frd sendMessage(&msg); - mavlink_msg_rc_channels_raw_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, controlTime * 1000, 0, + mavlink_msg_rc_channels_raw_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, controlTime * 1000, 0, channels[0], channels[1], channels[2], channels[3], channels[4], channels[5], channels[6], channels[7], UINT8_MAX); if (channels[0] != 0) sendMessage(&msg); // 0 means no RC input float controls[8]; memcpy(controls, motors, sizeof(motors)); - mavlink_msg_actuator_control_target_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, time, 0, controls); + mavlink_msg_actuator_control_target_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, time, 0, controls); sendMessage(&msg); - mavlink_msg_scaled_imu_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, time, + mavlink_msg_scaled_imu_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, time, acc.x * 1000, -acc.y * 1000, -acc.z * 1000, // convert to frd gyro.x * 1000, -gyro.y * 1000, -gyro.z * 1000, 0, 0, 0, 0); @@ -93,7 +90,7 @@ void handleMavlink(const void *_msg) { if (msg.msgid == MAVLINK_MSG_ID_MANUAL_CONTROL) { mavlink_manual_control_t m; mavlink_msg_manual_control_decode(&msg, &m); - if (m.target && m.target != SYSTEM_ID) return; // 0 is broadcast + if (m.target && m.target != mavlinkSysId) return; // 0 is broadcast controlThrottle = m.z / 1000.0f; controlPitch = m.x / 1000.0f; @@ -106,11 +103,11 @@ void handleMavlink(const void *_msg) { if (msg.msgid == MAVLINK_MSG_ID_PARAM_REQUEST_LIST) { mavlink_param_request_list_t m; mavlink_msg_param_request_list_decode(&msg, &m); - if (m.target_system && m.target_system != SYSTEM_ID) return; + if (m.target_system && m.target_system != mavlinkSysId) return; mavlink_message_t msg; for (int i = 0; i < parametersCount(); i++) { - mavlink_msg_param_value_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, + mavlink_msg_param_value_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, getParameterName(i), getParameter(i), MAV_PARAM_TYPE_REAL32, parametersCount(), i); sendMessage(&msg); } @@ -119,7 +116,7 @@ void handleMavlink(const void *_msg) { if (msg.msgid == MAVLINK_MSG_ID_PARAM_REQUEST_READ) { mavlink_param_request_read_t m; mavlink_msg_param_request_read_decode(&msg, &m); - if (m.target_system && m.target_system != SYSTEM_ID) return; + if (m.target_system && m.target_system != mavlinkSysId) return; char name[MAVLINK_MSG_PARAM_REQUEST_READ_FIELD_PARAM_ID_LEN + 1]; strlcpy(name, m.param_id, sizeof(name)); // param_id might be not null-terminated @@ -128,7 +125,7 @@ void handleMavlink(const void *_msg) { memcpy(name, getParameterName(m.param_index), 16); } mavlink_message_t msg; - mavlink_msg_param_value_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, + mavlink_msg_param_value_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, name, value, MAV_PARAM_TYPE_REAL32, parametersCount(), m.param_index); sendMessage(&msg); } @@ -136,7 +133,7 @@ void handleMavlink(const void *_msg) { if (msg.msgid == MAVLINK_MSG_ID_PARAM_SET) { mavlink_param_set_t m; mavlink_msg_param_set_decode(&msg, &m); - if (m.target_system && m.target_system != SYSTEM_ID) return; + if (m.target_system && m.target_system != mavlinkSysId) return; char name[MAVLINK_MSG_PARAM_SET_FIELD_PARAM_ID_LEN + 1]; strlcpy(name, m.param_id, sizeof(name)); // param_id might be not null-terminated @@ -144,7 +141,7 @@ void handleMavlink(const void *_msg) { if (!success) return; // send ack mavlink_message_t msg; - mavlink_msg_param_value_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, + mavlink_msg_param_value_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, m.param_id, m.param_value, MAV_PARAM_TYPE_REAL32, parametersCount(), 0); // index is unknown sendMessage(&msg); } @@ -152,17 +149,17 @@ void handleMavlink(const void *_msg) { if (msg.msgid == MAVLINK_MSG_ID_MISSION_REQUEST_LIST) { // handle to make qgc happy mavlink_mission_request_list_t m; mavlink_msg_mission_request_list_decode(&msg, &m); - if (m.target_system && m.target_system != SYSTEM_ID) return; + if (m.target_system && m.target_system != mavlinkSysId) return; mavlink_message_t msg; - mavlink_msg_mission_count_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, 0, 0, 0, MAV_MISSION_TYPE_MISSION, 0); + mavlink_msg_mission_count_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, 0, 0, 0, MAV_MISSION_TYPE_MISSION, 0); sendMessage(&msg); } if (msg.msgid == MAVLINK_MSG_ID_SERIAL_CONTROL) { mavlink_serial_control_t m; mavlink_msg_serial_control_decode(&msg, &m); - if (m.target_system && m.target_system != SYSTEM_ID) return; + if (m.target_system && m.target_system != mavlinkSysId) return; char data[MAVLINK_MSG_SERIAL_CONTROL_FIELD_DATA_LEN + 1]; strlcpy(data, (const char *)m.data, m.count); // data might be not null-terminated @@ -174,7 +171,7 @@ void handleMavlink(const void *_msg) { mavlink_set_attitude_target_t m; mavlink_msg_set_attitude_target_decode(&msg, &m); - if (m.target_system && m.target_system != SYSTEM_ID) return; + if (m.target_system && m.target_system != mavlinkSysId) return; // copy attitude, rates and thrust targets ratesTarget.x = m.body_roll_rate; @@ -196,7 +193,7 @@ void handleMavlink(const void *_msg) { mavlink_set_actuator_control_target_t m; mavlink_msg_set_actuator_control_target_decode(&msg, &m); - if (m.target_system && m.target_system != SYSTEM_ID) return; + if (m.target_system && m.target_system != mavlinkSysId) return; attitudeTarget.invalidate(); ratesTarget.invalidate(); @@ -208,12 +205,12 @@ void handleMavlink(const void *_msg) { if (msg.msgid == MAVLINK_MSG_ID_LOG_REQUEST_DATA) { mavlink_log_request_data_t m; mavlink_msg_log_request_data_decode(&msg, &m); - if (m.target_system && m.target_system != SYSTEM_ID) return; + if (m.target_system && m.target_system != mavlinkSysId) return; // Send all log records for (int i = 0; i < sizeof(logBuffer) / sizeof(logBuffer[0]); i++) { mavlink_message_t msg; - mavlink_msg_log_data_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, 0, i, + mavlink_msg_log_data_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, 0, i, sizeof(logBuffer[0]), (uint8_t *)logBuffer[i]); sendMessage(&msg); } @@ -223,13 +220,13 @@ void handleMavlink(const void *_msg) { if (msg.msgid == MAVLINK_MSG_ID_COMMAND_LONG) { mavlink_command_long_t m; mavlink_msg_command_long_decode(&msg, &m); - if (m.target_system && m.target_system != SYSTEM_ID) return; + if (m.target_system && m.target_system != mavlinkSysId) return; mavlink_message_t response; bool accepted = false; if (m.command == MAV_CMD_REQUEST_MESSAGE && m.param1 == MAVLINK_MSG_ID_AUTOPILOT_VERSION) { accepted = true; - mavlink_msg_autopilot_version_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &response, + mavlink_msg_autopilot_version_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &response, MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT | MAV_PROTOCOL_CAPABILITY_MAVLINK2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0); sendMessage(&response); } @@ -248,7 +245,7 @@ void handleMavlink(const void *_msg) { // send command ack mavlink_message_t ack; - mavlink_msg_command_ack_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &ack, m.command, accepted ? MAV_RESULT_ACCEPTED : MAV_RESULT_UNSUPPORTED, UINT8_MAX, 0, msg.sysid, msg.compid); + mavlink_msg_command_ack_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &ack, m.command, accepted ? MAV_RESULT_ACCEPTED : MAV_RESULT_UNSUPPORTED, UINT8_MAX, 0, msg.sysid, msg.compid); sendMessage(&ack); } } @@ -265,7 +262,7 @@ void sendMavlinkPrint() { char data[MAVLINK_MSG_SERIAL_CONTROL_FIELD_DATA_LEN + 1]; strlcpy(data, str + i, sizeof(data)); mavlink_message_t msg; - mavlink_msg_serial_control_pack(SYSTEM_ID, MAV_COMP_ID_AUTOPILOT1, &msg, + mavlink_msg_serial_control_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, SERIAL_CONTROL_DEV_SHELL, i + MAVLINK_MSG_SERIAL_CONTROL_FIELD_DATA_LEN < strlen(str) ? SERIAL_CONTROL_FLAG_MULTI : 0, // more chunks to go 0, 0, strlen(data), (uint8_t *)data, 0, 0); diff --git a/flix/parameters.ino b/flix/parameters.ino index ae5e868..b251fb4 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -87,6 +87,10 @@ Parameter parameters[] = { {"WIFI_MODE", &wifiMode}, {"WIFI_LOC_PORT", &udpLocalPort}, {"WIFI_REM_PORT", &udpRemotePort}, + // mavlink + {"MAV_SYS_ID", &mavlinkSysId}, + {"MAV_RATE_SLOW", &telemetrySlow.rate}, + {"MAV_RATE_FAST", &telemetryFast.rate}, }; void setupParameters() { From 0abb18c6169f8b8853782a13fbf13c1c1bec5cfa Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 22 Jan 2026 23:11:47 +0300 Subject: [PATCH 08/70] Make parameter names case-insensitive + minor fix --- docs/usage.md | 2 +- flix/parameters.ino | 4 ++-- flix/rc.ino | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index 8011866..ae9894e 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -108,7 +108,7 @@ The drone is configured using parameters. To access and modify them, go to the Q -You can also work with parameters using `p` command in the console. +You can also work with parameters using `p` command in the console. Parameter names are case-insensitive. ### Define IMU orientation diff --git a/flix/parameters.ino b/flix/parameters.ino index b251fb4..469a1ba 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -121,7 +121,7 @@ float getParameter(int index) { float getParameter(const char *name) { for (auto ¶meter : parameters) { - if (strcmp(parameter.name, name) == 0) { + if (strcasecmp(parameter.name, name) == 0) { return parameter.getValue(); } } @@ -130,7 +130,7 @@ float getParameter(const char *name) { bool setParameter(const char *name, const float value) { for (auto ¶meter : parameters) { - if (strcmp(parameter.name, name) == 0) { + if (strcasecmp(parameter.name, name) == 0) { if (parameter.integer && !isfinite(value)) return false; // can't set integer to NaN or Inf parameter.setValue(value); return true; diff --git a/flix/rc.ino b/flix/rc.ino index 5702316..0095d55 100644 --- a/flix/rc.ino +++ b/flix/rc.ino @@ -13,10 +13,10 @@ float channelZero[16]; // calibration zero values float channelMax[16]; // calibration max values float controlRoll, controlPitch, controlYaw, controlThrottle; // pilot's inputs, range [-1, 1] -float controlMode = NAN; // +float controlMode = NAN; float controlTime; // time of the last controls update (0 when no RC) -// Channels mapping (using float to store in parameters): +// Channels mapping (nan means not assigned): float rollChannel = NAN, pitchChannel = NAN, throttleChannel = NAN, yawChannel = NAN, modeChannel = NAN; void setupRC() { From 6d01cd2e791886025d18aaf006f268f5b0661b4d Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 22 Jan 2026 23:57:52 +0300 Subject: [PATCH 09/70] Make failsafe configurable using parameters SF_RC_LOSS_TIME - time without rc to activate failsafe. SD_DESCEND_TIME - total time to decrease the throttle to zero. Make controlTime nan on the start to simplify the logic. --- flix/parameters.ino | 4 ++++ flix/rc.ino | 2 +- flix/safety.ino | 11 +++++------ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/flix/parameters.ino b/flix/parameters.ino index 469a1ba..e58abed 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -10,6 +10,7 @@ extern float channelZero[16]; extern float channelMax[16]; extern float rollChannel, pitchChannel, throttleChannel, yawChannel, armedChannel, modeChannel; extern int wifiMode, udpLocalPort, udpRemotePort; +extern float rcLossTimeout, descendTime; Preferences storage; @@ -91,6 +92,9 @@ Parameter parameters[] = { {"MAV_SYS_ID", &mavlinkSysId}, {"MAV_RATE_SLOW", &telemetrySlow.rate}, {"MAV_RATE_FAST", &telemetryFast.rate}, + // safety + {"SF_RC_LOSS_TIME", &rcLossTimeout}, + {"SF_DESCEND_TIME", &descendTime}, }; void setupParameters() { diff --git a/flix/rc.ino b/flix/rc.ino index 0095d55..f046e5b 100644 --- a/flix/rc.ino +++ b/flix/rc.ino @@ -14,7 +14,7 @@ float channelMax[16]; // calibration max values float controlRoll, controlPitch, controlYaw, controlThrottle; // pilot's inputs, range [-1, 1] float controlMode = NAN; -float controlTime; // time of the last controls update (0 when no RC) +float controlTime = NAN; // time of the last controls update // Channels mapping (nan means not assigned): float rollChannel = NAN, pitchChannel = NAN, throttleChannel = NAN, yawChannel = NAN, modeChannel = NAN; diff --git a/flix/safety.ino b/flix/safety.ino index 35ece02..1d67010 100644 --- a/flix/safety.ino +++ b/flix/safety.ino @@ -3,12 +3,12 @@ // Fail-safe functions -#define RC_LOSS_TIMEOUT 1 -#define DESCEND_TIME 10 - extern float controlTime; extern float controlRoll, controlPitch, controlThrottle, controlYaw; +float rcLossTimeout = 1; +float descendTime = 10; + void failsafe() { rcLossFailsafe(); autoFailsafe(); @@ -16,9 +16,8 @@ void failsafe() { // RC loss failsafe void rcLossFailsafe() { - if (controlTime == 0) return; // no RC at all if (!armed) return; - if (t - controlTime > RC_LOSS_TIMEOUT) { + if (t - controlTime > rcLossTimeout) { descend(); } } @@ -27,7 +26,7 @@ void rcLossFailsafe() { void descend() { mode = AUTO; attitudeTarget = Quaternion(); - thrustTarget -= dt / DESCEND_TIME; + thrustTarget -= dt / descendTime; if (thrustTarget < 0) { thrustTarget = 0; armed = false; From cf10ec6161d440513d2afcd264a8a745a3fcba42 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Fri, 23 Jan 2026 01:11:35 +0300 Subject: [PATCH 10/70] Update MAVLink-Arduino to 2.0.16 --- Makefile | 2 +- docs/usage.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 4102d3f..84253ca 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ dependencies .dependencies: arduino-cli core install esp32:esp32@3.2.0 --config-file arduino-cli.yaml arduino-cli lib update-index arduino-cli lib install "FlixPeriph" - arduino-cli lib install "MAVLink"@2.0.16 + arduino-cli lib install "MAVLink"@2.0.25 touch .dependencies gazebo/build cmake: gazebo/CMakeLists.txt diff --git a/docs/usage.md b/docs/usage.md index ae9894e..01bd8fb 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -23,7 +23,7 @@ You can build and upload the firmware using either **Arduino IDE** (easier for b 3. Install ESP32 core, version 3.2.0. See the [official Espressif's instructions](https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#installing-using-arduino-ide) on installing ESP32 Core in Arduino IDE. 4. Install the following libraries using [Library Manager](https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-installing-a-library): * `FlixPeriph`, the latest version. - * `MAVLink`, version 2.0.16. + * `MAVLink`, version 2.0.25. 5. Open the `flix/flix.ino` sketch from downloaded firmware sources in Arduino IDE. 6. Connect your ESP32 board to the computer and choose correct board type in Arduino IDE (*WEMOS D1 MINI ESP32* for ESP32 Mini) and the port. 7. [Build and upload](https://docs.arduino.cc/software/ide-v2/tutorials/getting-started/ide-v2-uploading-a-sketch) the firmware using Arduino IDE. From 5b654e4d8e72adf8b1d4bfa7fe22e735fb5aba63 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Fri, 23 Jan 2026 02:41:43 +0300 Subject: [PATCH 11/70] Update ESP32-Core to 3.3.6 --- .vscode/c_cpp_properties.json | 54 +++++++++++++++++------------------ Makefile | 2 +- docs/usage.md | 2 +- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 2c3027f..7b42a9b 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -6,19 +6,18 @@ "${workspaceFolder}/flix", "${workspaceFolder}/gazebo", "${workspaceFolder}/tools/**", - "~/.arduino15/packages/esp32/hardware/esp32/3.2.0/cores/esp32", - "~/.arduino15/packages/esp32/hardware/esp32/3.2.0/libraries/**", - "~/.arduino15/packages/esp32/hardware/esp32/3.2.0/variants/d1_mini32", - "~/.arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.4-2f7dcd86-v1/esp32/**", - "~/.arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.4-2f7dcd86-v1/esp32/dio_qspi/include", + "~/.arduino15/packages/esp32/hardware/esp32/3.3.6/cores/esp32", + "~/.arduino15/packages/esp32/hardware/esp32/3.3.6/libraries/**", + "~/.arduino15/packages/esp32/hardware/esp32/3.3.6/variants/d1_mini32", + "~/.arduino15/packages/esp32/tools/esp32-libs/3.3.6/include/**", "~/Arduino/libraries/**", "/usr/include/gazebo-11/", "/usr/include/ignition/math6/" ], "forcedInclude": [ "${workspaceFolder}/.vscode/intellisense.h", - "~/.arduino15/packages/esp32/hardware/esp32/3.2.0/cores/esp32/Arduino.h", - "~/.arduino15/packages/esp32/hardware/esp32/3.2.0/variants/d1_mini32/pins_arduino.h", + "~/.arduino15/packages/esp32/hardware/esp32/3.3.6/cores/esp32/Arduino.h", + "~/.arduino15/packages/esp32/hardware/esp32/3.3.6/variants/d1_mini32/pins_arduino.h", "${workspaceFolder}/flix/cli.ino", "${workspaceFolder}/flix/control.ino", "${workspaceFolder}/flix/estimate.ino", @@ -31,9 +30,10 @@ "${workspaceFolder}/flix/rc.ino", "${workspaceFolder}/flix/time.ino", "${workspaceFolder}/flix/wifi.ino", - "${workspaceFolder}/flix/parameters.ino" + "${workspaceFolder}/flix/parameters.ino", + "${workspaceFolder}/flix/safety.ino" ], - "compilerPath": "~/.arduino15/packages/esp32/tools/esp-x32/2411/bin/xtensa-esp32-elf-g++", + "compilerPath": "~/.arduino15/packages/esp32/tools/esp-x32/2511/bin/xtensa-esp32-elf-g++", "cStandard": "c11", "cppStandard": "c++17", "defines": [ @@ -53,19 +53,18 @@ "name": "Mac", "includePath": [ "${workspaceFolder}/flix", - "~/Library/Arduino15/packages/esp32/hardware/esp32/3.2.0/cores/esp32", - "~/Library/Arduino15/packages/esp32/hardware/esp32/3.2.0/libraries/**", - "~/Library/Arduino15/packages/esp32/hardware/esp32/3.2.0/variants/d1_mini32", - "~/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.4-2f7dcd86-v1/esp32/include/**", - "~/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.4-2f7dcd86-v1/esp32/dio_qspi/include", + "~/Library/Arduino15/packages/esp32/hardware/esp32/3.3.6/cores/esp32", + "~/Library/Arduino15/packages/esp32/hardware/esp32/3.3.6/libraries/**", + "~/Library/Arduino15/packages/esp32/hardware/esp32/3.3.6/variants/d1_mini32", + "~/Library/Arduino15/packages/esp32/tools/esp32-libs/3.3.6/include/**", "~/Documents/Arduino/libraries/**", "/opt/homebrew/include/gazebo-11/", "/opt/homebrew/include/ignition/math6/" ], "forcedInclude": [ "${workspaceFolder}/.vscode/intellisense.h", - "~/Library/Arduino15/packages/esp32/hardware/esp32/3.2.0/cores/esp32/Arduino.h", - "~/Library/Arduino15/packages/esp32/hardware/esp32/3.2.0/variants/d1_mini32/pins_arduino.h", + "~/Library/Arduino15/packages/esp32/hardware/esp32/3.3.6/cores/esp32/Arduino.h", + "~/Library/Arduino15/packages/esp32/hardware/esp32/3.3.6/variants/d1_mini32/pins_arduino.h", "${workspaceFolder}/flix/flix.ino", "${workspaceFolder}/flix/cli.ino", "${workspaceFolder}/flix/control.ino", @@ -78,9 +77,10 @@ "${workspaceFolder}/flix/rc.ino", "${workspaceFolder}/flix/time.ino", "${workspaceFolder}/flix/wifi.ino", - "${workspaceFolder}/flix/parameters.ino" + "${workspaceFolder}/flix/parameters.ino", + "${workspaceFolder}/flix/safety.ino" ], - "compilerPath": "~/Library/Arduino15/packages/esp32/tools/esp-x32/2411/bin/xtensa-esp32-elf-g++", + "compilerPath": "~/Library/Arduino15/packages/esp32/tools/esp-x32/2511/bin/xtensa-esp32-elf-g++", "cStandard": "c11", "cppStandard": "c++17", "defines": [ @@ -103,17 +103,16 @@ "${workspaceFolder}/flix", "${workspaceFolder}/gazebo", "${workspaceFolder}/tools/**", - "~/AppData/Local/Arduino15/packages/esp32/hardware/esp32/3.2.0/cores/esp32", - "~/AppData/Local/Arduino15/packages/esp32/hardware/esp32/3.2.0/libraries/**", - "~/AppData/Local/Arduino15/packages/esp32/hardware/esp32/3.2.0/variants/d1_mini32", - "~/AppData/Local/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.4-2f7dcd86-v1/esp32/**", - "~/AppData/Local/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.4-2f7dcd86-v1/esp32/dio_qspi/include", + "~/AppData/Local/Arduino15/packages/esp32/hardware/esp32/3.3.6/cores/esp32", + "~/AppData/Local/Arduino15/packages/esp32/hardware/esp32/3.3.6/libraries/**", + "~/AppData/Local/Arduino15/packages/esp32/hardware/esp32/3.3.6/variants/d1_mini32", + "~/AppData/Local/Arduino15/packages/esp32/tools/esp32-libs/3.3.6/include/**", "~/Documents/Arduino/libraries/**" ], "forcedInclude": [ "${workspaceFolder}/.vscode/intellisense.h", - "~/AppData/Local/Arduino15/packages/esp32/hardware/esp32/3.2.0/cores/esp32/Arduino.h", - "~/AppData/Local/Arduino15/packages/esp32/hardware/esp32/3.2.0/variants/d1_mini32/pins_arduino.h", + "~/AppData/Local/Arduino15/packages/esp32/hardware/esp32/3.3.6/cores/esp32/Arduino.h", + "~/AppData/Local/Arduino15/packages/esp32/hardware/esp32/3.3.6/variants/d1_mini32/pins_arduino.h", "${workspaceFolder}/flix/cli.ino", "${workspaceFolder}/flix/control.ino", "${workspaceFolder}/flix/estimate.ino", @@ -126,9 +125,10 @@ "${workspaceFolder}/flix/rc.ino", "${workspaceFolder}/flix/time.ino", "${workspaceFolder}/flix/wifi.ino", - "${workspaceFolder}/flix/parameters.ino" + "${workspaceFolder}/flix/parameters.ino", + "${workspaceFolder}/flix/safety.ino" ], - "compilerPath": "~/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2411/bin/xtensa-esp32-elf-g++.exe", + "compilerPath": "~/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2511/bin/xtensa-esp32-elf-g++.exe", "cStandard": "c11", "cppStandard": "c++17", "defines": [ diff --git a/Makefile b/Makefile index 84253ca..2584560 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ monitor: dependencies .dependencies: arduino-cli core update-index --config-file arduino-cli.yaml - arduino-cli core install esp32:esp32@3.2.0 --config-file arduino-cli.yaml + arduino-cli core install esp32:esp32@3.3.6 --config-file arduino-cli.yaml arduino-cli lib update-index arduino-cli lib install "FlixPeriph" arduino-cli lib install "MAVLink"@2.0.25 diff --git a/docs/usage.md b/docs/usage.md index 01bd8fb..5265fa9 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -20,7 +20,7 @@ You can build and upload the firmware using either **Arduino IDE** (easier for b 1. Install [Arduino IDE](https://www.arduino.cc/en/software) (version 2 is recommended). 2. *Windows users might need to install [USB to UART bridge driver from Silicon Labs](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers).* -3. Install ESP32 core, version 3.2.0. See the [official Espressif's instructions](https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#installing-using-arduino-ide) on installing ESP32 Core in Arduino IDE. +3. Install ESP32 core, version 3.3.6. See the [official Espressif's instructions](https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#installing-using-arduino-ide) on installing ESP32 Core in Arduino IDE. 4. Install the following libraries using [Library Manager](https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-installing-a-library): * `FlixPeriph`, the latest version. * `MAVLink`, version 2.0.25. From 7ad302279898e67277438e564ba1af94c06e9162 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sat, 24 Jan 2026 09:31:32 +0300 Subject: [PATCH 12/70] Add parameter for configuring gyro bias lpf + reset the filter on `reset` command --- flix/cli.ino | 3 +++ flix/imu.ino | 4 ++-- flix/parameters.ino | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/flix/cli.ino b/flix/cli.ino index 2e4f9f8..bd67c30 100644 --- a/flix/cli.ino +++ b/flix/cli.ino @@ -6,6 +6,7 @@ #include "pid.h" #include "vector.h" #include "util.h" +#include "lpf.h" extern const int MOTOR_REAR_LEFT, MOTOR_REAR_RIGHT, MOTOR_FRONT_RIGHT, MOTOR_FRONT_LEFT; extern const int RAW, ACRO, STAB, AUTO; @@ -14,6 +15,7 @@ extern uint16_t channels[16]; extern float controlTime; extern int mode; extern bool armed; +extern LowPassFilter gyroBiasFilter; const char* motd = "\nWelcome to\n" @@ -178,6 +180,7 @@ void doCommand(String str, bool echo = false) { #endif } else if (command == "reset") { attitude = Quaternion(); + gyroBiasFilter.reset(); } else if (command == "reboot") { ESP.restart(); } else { diff --git a/flix/imu.ino b/flix/imu.ino index 22cf3e3..ffdc1ff 100644 --- a/flix/imu.ino +++ b/flix/imu.ino @@ -19,6 +19,8 @@ Vector acc; // accelerometer output, m/s/s Vector accBias; Vector accScale(1, 1, 1); +LowPassFilter gyroBiasFilter(0.001); + void setupIMU() { print("Setup IMU\n"); imu.begin(); @@ -50,8 +52,6 @@ void readIMU() { void calibrateGyroOnce() { static Delay landedDelay(2); if (!landedDelay.update(landed)) return; // calibrate only if definitely stationary - - static LowPassFilter gyroBiasFilter(0.001); gyroBias = gyroBiasFilter.update(gyro); } diff --git a/flix/parameters.ino b/flix/parameters.ino index e58abed..498bfb7 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -59,6 +59,7 @@ Parameter parameters[] = { {"IMU_ACC_SCALE_X", &accScale.x}, {"IMU_ACC_SCALE_Y", &accScale.y}, {"IMU_ACC_SCALE_Z", &accScale.z}, + {"IMU_GYRO_BIAS_A", &gyroBiasFilter.alpha}, // estimate {"EST_ACC_WEIGHT", &accWeight}, {"EST_RATES_LPF_A", &ratesFilter.alpha}, From e47a31f9816cf21e1177ab714c55b559b2b4b455 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sat, 24 Jan 2026 09:32:49 +0300 Subject: [PATCH 13/70] Fix mavlink parameter set acknowledgement value If the parameter is integer the acknowledgement should contain the rounded value. --- flix/mavlink.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flix/mavlink.ino b/flix/mavlink.ino index 15bbba5..c7b3785 100644 --- a/flix/mavlink.ino +++ b/flix/mavlink.ino @@ -142,7 +142,7 @@ void handleMavlink(const void *_msg) { // send ack mavlink_message_t msg; mavlink_msg_param_value_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, - m.param_id, m.param_value, MAV_PARAM_TYPE_REAL32, parametersCount(), 0); // index is unknown + m.param_id, getParameter(name), MAV_PARAM_TYPE_REAL32, parametersCount(), 0); // index is unknown sendMessage(&msg); } From ca50f75576608c42e30064171e393e966c7781c7 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sat, 24 Jan 2026 09:34:16 +0300 Subject: [PATCH 14/70] Various minor fixes --- docs/troubleshooting.md | 2 +- flix/flix.ino | 1 - tools/grab_log.py | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 94ce53c..918116c 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -16,7 +16,7 @@ Do the following: * **Check if there are some startup errors**. Connect the ESP32 to the computer and check the Serial Monitor output. Use the Reset button to make sure you see the whole ESP32 output. * **Check the baudrate is correct**. If you see garbage characters in the Serial Monitor, make sure the baudrate is set to 115200. * **Make sure correct IMU model is chosen**. If using ICM-20948/MPU-6050 board, change `MPU9250` to `ICM20948`/`MPU6050` in the `imu.ino` file. -* **Check if the CLI is working**. Perform `help` command in Serial Monitor. You should see the list of available commands. You can also access the CLI using QGroundControl (*Vehicle Setup* ⇒ *Analyze Tools* ⇒ *MAVLink Console*). +* **Check if the console is working**. Perform `help` command in Serial Monitor. You should see the list of available commands. You can also access the console using QGroundControl (*Vehicle Setup* ⇒ *Analyze Tools* ⇒ *MAVLink Console*). * **Configure QGroundControl correctly before connecting to the drone** if you use it to control the drone. Go to the settings and enable *Virtual Joystick*. *Auto-Center Throttle* setting **should be disabled**. * **If QGroundControl doesn't connect**, you might need to disable the firewall and/or VPN on your computer. * **Check the IMU is working**. Perform `imu` command and check its output: diff --git a/flix/flix.ino b/flix/flix.ino index 370d66a..5d5ee43 100644 --- a/flix/flix.ino +++ b/flix/flix.ino @@ -7,7 +7,6 @@ #include "quaternion.h" #include "util.h" - extern float t, dt; extern float controlRoll, controlPitch, controlYaw, controlThrottle, controlMode; extern Vector gyro, acc; diff --git a/tools/grab_log.py b/tools/grab_log.py index c1e1a94..1f7d0ae 100755 --- a/tools/grab_log.py +++ b/tools/grab_log.py @@ -13,7 +13,7 @@ lines = [] print('Downloading log...') count = 0 -dev.write('log\n'.encode()) +dev.write('log dump\n'.encode()) while True: line = dev.readline() if not line: From 9fd35ba3611e840fa39d8d14fcc163bbb36b283d Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sat, 24 Jan 2026 09:43:46 +0300 Subject: [PATCH 15/70] Simplify lpf filter code Begin with zero instead of the initializing value, as the latter doesn't make much sense in practice, but complicates the code much. --- flix/lpf.h | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/flix/lpf.h b/flix/lpf.h index 88cf8ab..9eae80d 100644 --- a/flix/lpf.h +++ b/flix/lpf.h @@ -14,15 +14,6 @@ public: LowPassFilter(float alpha): alpha(alpha) {}; T update(const T input) { - if (alpha == 1) { // filter disabled - return input; - } - - if (!initialized) { - output = input; - initialized = true; - } - return output += alpha * (input - output); } @@ -31,9 +22,6 @@ public: } void reset() { - initialized = false; + output = T(); // set to zero } - -private: - bool initialized = false; }; From 7d74f3d5cdf18998a6e27591cb464f500ed19689 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 27 Jan 2026 07:21:21 +0300 Subject: [PATCH 16/70] Minor docs fixes --- README.md | 8 ++++---- docs/assembly.md | 8 ++++---- docs/book/geometry.md | 18 +++++++++--------- docs/book/gyro.md | 2 +- docs/troubleshooting.md | 4 ++-- docs/usage.md | 4 ++-- tools/pyflix/README.md | 24 ++++++++++-------------- 7 files changed, 32 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 58e490a..bf62098 100644 --- a/README.md +++ b/README.md @@ -138,10 +138,10 @@ You can see a user-contributed [variant of complete circuit diagram](https://mir |Motor|Position|Direction|Prop type|Motor wires|GPIO| |-|-|-|-|-|-| - |Motor 0|Rear left|Counter-clockwise|B|Black & White|GPIO12 (*TDI*)| - |Motor 1|Rear right|Clockwise|A|Blue & Red|GPIO13 (*TCK*)| - |Motor 2|Front right|Counter-clockwise|B|Black & White|GPIO14 (*TMS*)| - |Motor 3|Front left|Clockwise|A|Blue & Red|GPIO15 (*TD0*)| + |Motor 0|Rear left|Counter-clockwise|B|Black & White|GPIO12 *(TDI)*| + |Motor 1|Rear right|Clockwise|A|Blue & Red|GPIO13 *(TCK)*| + |Motor 2|Front right|Counter-clockwise|B|Black & White|GPIO14 *(TMS)*| + |Motor 3|Front left|Clockwise|A|Blue & Red|GPIO15 *(TD0)*| Clockwise motors have blue & red wires and correspond to propeller type A (marked on the propeller). Counter-clockwise motors have black & white wires correspond to propeller type B. diff --git a/docs/assembly.md b/docs/assembly.md index 5f5d6d5..b23c113 100644 --- a/docs/assembly.md +++ b/docs/assembly.md @@ -41,10 +41,10 @@ Motors connection table: |Motor|Position|Direction|Prop type|Motor wires|GPIO| |-|-|-|-|-|-| -|Motor 0|Rear left|Counter-clockwise|B|Black & White|GPIO12 (*TDI*)| -|Motor 1|Rear right|Clockwise|A|Blue & Red|GPIO13 (*TCK*)| -|Motor 2|Front right|Counter-clockwise|B|Black & White|GPIO14 (*TMS*)| -|Motor 3|Front left|Clockwise|A|Blue & Red|GPIO15 (*TD0*)| +|Motor 0|Rear left|Counter-clockwise|B|Black & White|GPIO12 *(TDI)*| +|Motor 1|Rear right|Clockwise|A|Blue & Red|GPIO13 *(TCK)*| +|Motor 2|Front right|Counter-clockwise|B|Black & White|GPIO14 *(TMS)*| +|Motor 3|Front left|Clockwise|A|Blue & Red|GPIO15 *(TD0)*| ## Motors tightening diff --git a/docs/book/geometry.md b/docs/book/geometry.md index 3523725..65df08d 100644 --- a/docs/book/geometry.md +++ b/docs/book/geometry.md @@ -110,7 +110,7 @@ float angle = Vector::angleBetween(a, b); // 1.57 (90 градусов) #### Скалярное произведение -Скалярное произведение векторов (*dot product*) — это произведение длин двух векторов на косинус угла между ними. В математике оно обозначается знаком `·` или слитным написанием векторов. Интуитивно, результат скалярного произведения показывает, насколько два вектора *сонаправлены*. +Скалярное произведение векторов *(dot product)* — это произведение длин двух векторов на косинус угла между ними. В математике оно обозначается знаком `·` или слитным написанием векторов. Интуитивно, результат скалярного произведения показывает, насколько два вектора *сонаправлены*. В Flix используется статический метод `Vector::dot()`: @@ -124,7 +124,7 @@ float dotProduct = Vector::dot(a, b); // 32 #### Векторное произведение -Векторное произведение (*cross product*) позволяет найти вектор, перпендикулярный двум другим векторам. В математике оно обозначается знаком `×`, а в прошивке используется статический метод `Vector::cross()`: +Векторное произведение *(cross product)* позволяет найти вектор, перпендикулярный двум другим векторам. В математике оно обозначается знаком `×`, а в прошивке используется статический метод `Vector::cross()`: ```cpp Vector a(1, 2, 3); @@ -144,9 +144,9 @@ Vector crossProduct = Vector::cross(a, b); // -3, 6, -3 В прошивке углы Эйлера сохраняются в обычный объект `Vector` (хоть и, строго говоря, не являются вектором): -* Угол по крену (*roll*) — `vector.x`. -* Угол по тангажу (*pitch*) — `vector.y`. -* Угол по рысканию (*yaw*) — `vector.z`. +* Угол по крену *(roll)* — `vector.x`. +* Угол по тангажу *(pitch)* — `vector.y`. +* Угол по рысканию *(yaw)* — `vector.z`. Особенности углов Эйлера: @@ -162,8 +162,8 @@ Vector crossProduct = Vector::cross(a, b); // -3, 6, -3 Помимо углов Эйлера, любую ориентацию в трехмерном пространстве можно представить в виде вращения вокруг некоторой оси на некоторый угол. В геометрии это доказывается, как **теорема вращения Эйлера**. В таком представлении ориентация задается двумя величинами: -* **Ось вращения** (*axis*) — единичный вектор, определяющий ось вращения. -* **Угол поворота** (*angle* или *θ*) — угол, на который нужно повернуть объект вокруг этой оси. +* **Ось вращения** *(axis)* — единичный вектор, определяющий ось вращения. +* **Угол поворота** *(angle* или *θ)* — угол, на который нужно повернуть объект вокруг этой оси. В Flix ось вращения задается объектом `Vector`, а угол поворота — числом типа `float` в радианах: @@ -177,7 +177,7 @@ float angle = radians(45); ### Вектор вращения -Если умножить вектор *axis* на угол поворота *θ*, то получится **вектор вращения** (*rotation vector*). Этот вектор играет важную роль в алгоритмах управления ориентацией летательного аппарата. +Если умножить вектор *axis* на угол поворота *θ*, то получится **вектор вращения** *(rotation vector)*. Этот вектор играет важную роль в алгоритмах управления ориентацией летательного аппарата. Вектор вращения обладает замечательным свойством: если угловые скорости объекта (в собственной системе координат) в каждый момент времени совпадают с компонентами этого вектора, то за единичное время объект придет к заданной этим вектором ориентации. Это свойство позволяет использовать вектор вращения для управления ориентацией объекта посредством управления угловыми скоростями. @@ -198,7 +198,7 @@ Vector rotation = radians(45) * Vector(1, 2, 3); quaternion.h.
-Вектор вращения удобен, но еще удобнее использовать **кватернион**. В Flix кватернионы задаются объектами `Quaternion` из библиотеки `quaternion.h`. Кватернион состоит из четырех значений: *w*, *x*, *y*, *z* и рассчитывается из вектора оси вращения (*axis*) и угла поворота (*θ*) по формуле: +Вектор вращения удобен, но еще удобнее использовать **кватернион**. В Flix кватернионы задаются объектами `Quaternion` из библиотеки `quaternion.h`. Кватернион состоит из четырех значений: *w*, *x*, *y*, *z* и рассчитывается из вектора оси вращения *(axis)* и угла поворота *(θ)* по формуле: \\[ q = \left( \begin{array}{c} w \\\\ x \\\\ y \\\\ z \end{array} \right) = \left( \begin{array}{c} \cos\left(\frac{\theta}{2}\right) \\\\ axis\_x \cdot \sin\left(\frac{\theta}{2}\right) \\\\ axis\_y \cdot \sin\left(\frac{\theta}{2}\right) \\\\ axis\_z \cdot \sin\left(\frac{\theta}{2}\right) \end{array} \right) \\] diff --git a/docs/book/gyro.md b/docs/book/gyro.md index 5034343..e5dc223 100644 --- a/docs/book/gyro.md +++ b/docs/book/gyro.md @@ -177,7 +177,7 @@ imu.setDLPF(imu.DLPF_MAX); ## Калибровка гироскопа -Как и любое измерительное устройство, гироскоп вносит искажения в измерения. Наиболее простая модель этих искажений делит их на статические смещения (*bias*) и случайный шум (*noise*): +Как и любое измерительное устройство, гироскоп вносит искажения в измерения. Наиболее простая модель этих искажений делит их на статические смещения *(bias)* и случайный шум *(noise)*: \\[ gyro_{xyz}=rates_{xyz}+bias_{xyz}+noise \\] diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 918116c..1d5293e 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -13,10 +13,10 @@ Do the following: Do the following: * **Check the battery voltage**. Use a multimeter to measure the battery voltage. It should be in range of 3.7-4.2 V. -* **Check if there are some startup errors**. Connect the ESP32 to the computer and check the Serial Monitor output. Use the Reset button to make sure you see the whole ESP32 output. +* **Check if there are some startup errors**. Connect the ESP32 to the computer and check the Serial Monitor output. Use the Reset button to make sure you see the whole ESP32 startup output. * **Check the baudrate is correct**. If you see garbage characters in the Serial Monitor, make sure the baudrate is set to 115200. * **Make sure correct IMU model is chosen**. If using ICM-20948/MPU-6050 board, change `MPU9250` to `ICM20948`/`MPU6050` in the `imu.ino` file. -* **Check if the console is working**. Perform `help` command in Serial Monitor. You should see the list of available commands. You can also access the console using QGroundControl (*Vehicle Setup* ⇒ *Analyze Tools* ⇒ *MAVLink Console*). +* **Check if the console is working**. Perform `help` command in Serial Monitor. You should see the list of available commands. You can also access the console using QGroundControl *(Vehicle Setup* ⇒ *Analyze Tools* ⇒ *MAVLink Console)*. * **Configure QGroundControl correctly before connecting to the drone** if you use it to control the drone. Go to the settings and enable *Virtual Joystick*. *Auto-Center Throttle* setting **should be disabled**. * **If QGroundControl doesn't connect**, you might need to disable the firewall and/or VPN on your computer. * **Check the IMU is working**. Perform `imu` command and check its output: diff --git a/docs/usage.md b/docs/usage.md index 5265fa9..3e993ed 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -250,8 +250,8 @@ You can configure the Wi-Fi using parameters and console commands. The Wi-Fi mode is chosen using `WIFI_MODE` parameter in QGroundControl or in the console: * `0` — Wi-Fi is disabled. -* `1` — Access Point mode (*AP*) — the drone creates a Wi-Fi network. -* `2` — Client mode (*STA*) — the drone connects to an existing Wi-Fi network. +* `1` — Access Point mode *(AP)* — the drone creates a Wi-Fi network. +* `2` — Client mode *(STA)* — the drone connects to an existing Wi-Fi network. * `3` — *ESP-NOW (not implemented yet)*. > [!WARNING] diff --git a/tools/pyflix/README.md b/tools/pyflix/README.md index c336275..4ffb794 100644 --- a/tools/pyflix/README.md +++ b/tools/pyflix/README.md @@ -92,17 +92,17 @@ Full list of events: |-----|-----------|----------------| |`connected`|Connected to the drone|| |`disconnected`|Connection is lost|| -|`armed`|Armed state update|Armed state (*bool*)| -|`mode`|Flight mode update|Flight mode (*str*)| -|`landed`|Landed state update|Landed state (*bool*)| +|`armed`|Armed state update|Armed state *(bool)*| +|`mode`|Flight mode update|Flight mode *(str)*| +|`landed`|Landed state update|Landed state *(bool)*| |`print`|The drone prints text to the console|Text| -|`attitude`|Attitude update|Attitude quaternion (*list*)| -|`attitude_euler`|Attitude update|Euler angles (*list*)| -|`rates`|Angular rates update|Angular rates (*list*)| -|`channels`|Raw RC channels update|Raw RC channels (*list*)| -|`motors`|Motor outputs update|Motor outputs (*list*)| -|`acc`|Accelerometer update|Accelerometer output (*list*)| -|`gyro`|Gyroscope update|Gyroscope output (*list*)| +|`attitude`|Attitude update|Attitude quaternion *(list)*| +|`attitude_euler`|Attitude update|Euler angles *(list)*| +|`rates`|Angular rates update|Angular rates *(list)*| +|`channels`|Raw RC channels update|Raw RC channels *(list)*| +|`motors`|Motor outputs update|Motor outputs *(list)*| +|`acc`|Accelerometer update|Accelerometer output *(list)*| +|`gyro`|Gyroscope update|Gyroscope output *(list)*| |`mavlink`|Received MAVLink message|Message object| |`mavlink.`|Received specific MAVLink message|Message object| |`mavlink.`|Received specific MAVLink message|Message object| @@ -277,7 +277,3 @@ logger = logging.getLogger('flix') logger.setLevel(logging.DEBUG) # be more verbose logger.setLevel(logging.WARNING) # be less verbose ``` - -## Stability - -The library is in development stage. The API is not stable. From 40bdaacedb95dc77032fab6f0424fb6b424d878a Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 27 Jan 2026 08:40:52 +0300 Subject: [PATCH 17/70] Make motor subsystem configurable using parameters Motor pins: MOT_PIN_FL, MOT_PIN_FR, MOT_PIN_RL, MOT_PIN_RR. PWM configuration: MOT_PWM_FREQ, MOT_PWM_RES, MOT_PWM_STOP, MOT_PWM_MIN, MOT_PWM_MAX. MOT_PWM_MAX = -1 chooses duty cycle mode for brushed motors (default). --- docs/usage.md | 14 ++++++++++++ flix/motors.ino | 55 +++++++++++++++++++++------------------------ flix/parameters.ino | 10 +++++++++ gazebo/flix.h | 1 + 4 files changed, 50 insertions(+), 30 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index 3e993ed..d6d2669 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -134,6 +134,20 @@ Before flight you need to calibrate the accelerometer: 1. Access the console using QGroundControl (recommended) or Serial Monitor. 2. Type `ca` command there and follow the instructions. +### Setup motors + +If using non-default motor pins, set the pin numbers using the parameters: `MOTOR_PIN_FL`, `MOTOR_PIN_FR`, `MOTOR_PIN_RL`, `MOTOR_PIN_RR` (front-left, front-right, rear-left, rear-right respectively). + +If using brushless motors and ESCs: + +1. Set the appropriate PWM using the parameters: `MOT_PWM_STOP`, `MOT_PWM_MIN`, and `MOT_PWM_MAX` (1000, 1000, and 2000 is typical). +2. Decrease the PWM frequency using the `MOT_PWM_FREQ` parameter (400 is typical). + +Reboot the drone to apply the changes. + +> [!CAUTION] +> **Remove the props when configuring the motors!** If improperly configured, you may not be able to stop them. + ### Check everything works 1. Check the IMU is working: perform `imu` command and check its output: diff --git a/flix/motors.ino b/flix/motors.ino index 3dde15c..1dee5fa 100644 --- a/flix/motors.ino +++ b/flix/motors.ino @@ -1,24 +1,19 @@ // Copyright (c) 2023 Oleg Kalachev // Repository: https://github.com/okalachev/flix -// Motors output control using MOSFETs -// In case of using ESCs, change PWM_STOP, PWM_MIN and PWM_MAX to appropriate values in μs, decrease PWM_FREQUENCY (to 400) +// PWM control for motors #include "util.h" -#define MOTOR_0_PIN 12 // rear left -#define MOTOR_1_PIN 13 // rear right -#define MOTOR_2_PIN 14 // front right -#define MOTOR_3_PIN 15 // front left - -#define PWM_FREQUENCY 78000 -#define PWM_RESOLUTION 10 -#define PWM_STOP 0 -#define PWM_MIN 0 -#define PWM_MAX 1000000 / PWM_FREQUENCY - float motors[4]; // normalized motor thrusts in range [0..1] +int motorPins[4] = {12, 13, 14, 15}; // default pin numbers +int pwmFrequency = 78000; +int pwmResolution = 10; +int pwmStop = 0; +int pwmMin = 0; +int pwmMax = -1; // -1 means duty cycle mode + const int MOTOR_REAR_LEFT = 0; const int MOTOR_REAR_RIGHT = 1; const int MOTOR_FRONT_RIGHT = 2; @@ -26,30 +21,30 @@ const int MOTOR_FRONT_LEFT = 3; void setupMotors() { print("Setup Motors\n"); - // configure pins - ledcAttach(MOTOR_0_PIN, PWM_FREQUENCY, PWM_RESOLUTION); - ledcAttach(MOTOR_1_PIN, PWM_FREQUENCY, PWM_RESOLUTION); - ledcAttach(MOTOR_2_PIN, PWM_FREQUENCY, PWM_RESOLUTION); - ledcAttach(MOTOR_3_PIN, PWM_FREQUENCY, PWM_RESOLUTION); - + for (int i = 0; i < 4; i++) { + ledcAttach(motorPins[i], pwmFrequency, pwmResolution); + } sendMotors(); print("Motors initialized\n"); } -int getDutyCycle(float value) { - value = constrain(value, 0, 1); - float pwm = mapf(value, 0, 1, PWM_MIN, PWM_MAX); - if (value == 0) pwm = PWM_STOP; - float duty = mapf(pwm, 0, 1000000 / PWM_FREQUENCY, 0, (1 << PWM_RESOLUTION) - 1); - return round(duty); +void sendMotors() { + for (int i = 0; i < 4; i++) { + ledcWrite(motorPins[i], getDutyCycle(motors[i])); + } } -void sendMotors() { - ledcWrite(MOTOR_0_PIN, getDutyCycle(motors[0])); - ledcWrite(MOTOR_1_PIN, getDutyCycle(motors[1])); - ledcWrite(MOTOR_2_PIN, getDutyCycle(motors[2])); - ledcWrite(MOTOR_3_PIN, getDutyCycle(motors[3])); +int getDutyCycle(float value) { + value = constrain(value, 0, 1); + if (pwmMax >= 0) { // pwm mode + float pwm = mapf(value, 0, 1, pwmMin, pwmMax); + if (value == 0) pwm = pwmStop; + float duty = mapf(pwm, 0, 1000000 / pwmFrequency, 0, (1 << pwmResolution) - 1); + return round(duty); + } else { // duty cycle mode + return round(value * ((1 << pwmResolution) - 1)); + } } bool motorsActive() { diff --git a/flix/parameters.ino b/flix/parameters.ino index 498bfb7..77aa21a 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -63,6 +63,16 @@ Parameter parameters[] = { // estimate {"EST_ACC_WEIGHT", &accWeight}, {"EST_RATES_LPF_A", &ratesFilter.alpha}, + // motors + {"MOT_PIN_FL", &motorPins[MOTOR_FRONT_LEFT]}, + {"MOT_PIN_FR", &motorPins[MOTOR_FRONT_RIGHT]}, + {"MOT_PIN_RL", &motorPins[MOTOR_REAR_LEFT]}, + {"MOT_PIN_RR", &motorPins[MOTOR_REAR_RIGHT]}, + {"MOT_PWM_FREQ", &pwmFrequency}, + {"MOT_PWM_RES", &pwmResolution}, + {"MOT_PWM_STOP", &pwmStop}, + {"MOT_PWM_MIN", &pwmMin}, + {"MOT_PWM_MAX", &pwmMax}, // rc {"RC_ZERO_0", &channelZero[0]}, {"RC_ZERO_1", &channelZero[1]}, diff --git a/gazebo/flix.h b/gazebo/flix.h index 8d13f5e..b3b3cb7 100644 --- a/gazebo/flix.h +++ b/gazebo/flix.h @@ -32,6 +32,7 @@ void controlRates(); void controlTorque(); const char* getModeName(); void sendMotors(); +int getDutyCycle(float value); bool motorsActive(); void testMotor(int n); void print(const char* format, ...); From 964c0f7bc1e96ab777a144e45a68918b61098118 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 27 Jan 2026 09:28:01 +0300 Subject: [PATCH 18/70] Make setting parameter in console printing actual parameter value. In some cases, it would not be equal to the requested value. --- flix/cli.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flix/cli.ino b/flix/cli.ino index bd67c30..3250d0e 100644 --- a/flix/cli.ino +++ b/flix/cli.ino @@ -94,7 +94,7 @@ void doCommand(String str, bool echo = false) { } else if (command == "p") { bool success = setParameter(arg0.c_str(), arg1.toFloat()); if (success) { - print("%s = %g\n", arg0.c_str(), arg1.toFloat()); + print("%s = %g\n", arg0.c_str(), getParameter(arg0.c_str())); } else { print("Parameter not found: %s\n", arg0.c_str()); } From 1ac443d6f8c5343efa21728fd3d3c5b1a0a59d46 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 27 Jan 2026 15:17:58 +0300 Subject: [PATCH 19/70] Add a build by Arky Matsekh --- docs/img/user/arkymatsekh/1.jpg | Bin 0 -> 63000 bytes docs/img/user/arkymatsekh/2.jpg | Bin 0 -> 49346 bytes docs/img/user/arkymatsekh/3.jpg | Bin 0 -> 51598 bytes docs/img/user/arkymatsekh/video.jpg | Bin 0 -> 17664 bytes docs/user.md | 11 +++++++++++ 5 files changed, 11 insertions(+) create mode 100644 docs/img/user/arkymatsekh/1.jpg create mode 100644 docs/img/user/arkymatsekh/2.jpg create mode 100644 docs/img/user/arkymatsekh/3.jpg create mode 100644 docs/img/user/arkymatsekh/video.jpg diff --git a/docs/img/user/arkymatsekh/1.jpg b/docs/img/user/arkymatsekh/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..37be7631651da27b54057d3aa2ecf68824ea3f9d GIT binary patch literal 63000 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�rDs(l1YCbgpd@kfG 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 literal 0 HcmV?d00001 diff --git a/docs/img/user/arkymatsekh/2.jpg b/docs/img/user/arkymatsekh/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..04865f08a1fa37a196159fb0ce2b79bf1b52abe4 GIT binary patch literal 49346 zcmc$_WmsIzvIaV6a3{Fy;1ULRcelY^1|1v%A-EIV9fG@S2<{qOf;%L5AcWlc_TK02 z^XJ^ZxBKbU?^M@nsqX5o>3Y`R)xSFc93?qLIRG3S000MzfWNzd30YqUTL3^+6~F=j z08jwPaCiU&82VQ^94P?lUl;(;gCqNYu_+w$e|X>l0C@cW@<%!V5dXsutMgw$;Xl9s zoxk}60K9=w5V?4GxRc=ijp5)C0EPcU=jP%ng!^xeh4BAVBLa0H!vA3SoKocf@cgTh ze;$AL;8qo-rOh<7)a4XaWdA+Lv42Vsxc~rX7f+~`ycD&8A(;Bj&c8?ZPnm_4huc5- z{}Es^dRYEPQUJgr`~Si7|3yZ%w(+onG5mxjdMK=Mm|zKDn85DenE4-U`EM-p5BBkN z^Mvte{DYx7TGB9V4a3ZK{|j6GFKp!o{f9pe#v|hFQm|Ac>fjA7%Vs}0LhV2K>y z0nh@-1El^LKkPRwxE2Ed0`~v_!l(bzEVBTB_HY1zc>TXL`a%EzI}8A5oBc2CzcO*N zfLi>kx_{;!-WE3NH{}2TrXc`;KL-Gy8U3pa_V_>gMhz<>hxN-97VQ8|02=@`KoQ^q zumW(v5D$P0zzqQX-GD>H0bu+mV#0Dv05&XQ0`LI@06bX22ao|s07S4z0z*ImCG6#Y zCm=u^zyzy|=|4|#fB--mzz^VsC21J82B-n#U{MW*JOCB|V_5P4!~p_fF%HlGD2JsZ zz!4lD?*HE%_&Wf=MS;&jphkeB1;FFNA>hLO9fFAn0FMCok3#=XfGHCkA`rfDr0|QP4!9r- zeTZQxo{SO7xRFce#WH+Muru}8=d5(c5{9!7IzsCr+)pUMi@eiBhMikg&11Wdeop7f zc4Gb{nep;zspp1a76_r%onHDtj&H1=n?HG4v+xYd1DG)2IrMzJLdW+{=Fg1|*Yd@h zP_Df)mC_G2%{^J}B;8}NI3nf@Sl;81R;ZXG5yES$NSrlOoEp5PQ;jmLbfk7Dwaz|k z#y7_cHjfHJh98y9vaRA#)zEQjbpK?`#lS9?B&)4YoRi5=&Pzi*Q8fZC6H8sF9J0%f zns%X~U&UZyh{H-lz@4;{P8m?Qqj_Vs=IL-9xP7H+M0B*(jj?4-ZX%CMc#TNB2`_{e zQCO%6fneN!hC`KggL_+Z0M z%koa58&K@T)uxqEMPggQI0Gjyi>ko~!Ag;4X26?~b6>*9D3r~lP^!?{vZULI`dZam z`3|k7HMee!(Xoq`LZ4V6>+{q~9m%=|2{WrfLeGJqo8nQRS={Md4d&NVw}30AH|6Cv zteq<>1=*MP^%-S!#Vsz9*}7Fn)vM7l~wyYGmRINR$Y>W{(wk_R@uEXZi`Q#bjo4S;!D z#k#ogV$`;!*hmSJcyG+28d6>n0eB&{5V8iEIi6Fck@@zKUFVex-)*($C-396<44GP z%JF{lS@x^h-3(SUT(4ocNSNWxo7=Ou5(t%~$X?$hby^9}A|Uhjp*CoV^b#ONz>ZCOe;SjeF%vsmOmx@JWZV*>juWd zE}^`{7{e04o%J0WMpvh0Nz~BFU>#N_QJEaxShy<4rq&#ohHO@FD@rP=pFOmF#mAk8 z+12pul72-woB8w?P<6VvcoS6Ld9!i<7$}}`_r6<=nQx2ur-i}ihDrY@Mc0$u*Aix8 zDMbk$TI|v_^GTg)oC!7fOHUpoL?TQ4KH}BGrDUKWdA;HE<-vhxr}Ej+gP+KXGWk=U zSOFDA_v5iBKap`b_yLJH76C~hI3B(M1uZ-xf_TyZjhVpxouC`4YDij*+7nx2B+KMm zN!$lJ2g8XQ(!qtDBmU-YmwLf3iw?)%r_XW^&M>yHvy3htE!V1Tu^CR@KbDW4_P&`F z>f*iMl+g$60?YBp76fKnq1kNg^7GsEXDC&@Oq)r<>a`qTkn|4ClQlzy88hLdy z6BR-^G`8joKAsG^d?7Nej$a#%)zkg4xF82o=~mnoSNpE=1OJD>Z(JX+w`MUmp`n#E zV=k>zzmNfjVpG~X!(>Q_r~vCc4l?c{*GQ6LhKkUPbBp2D+}1#mgoVZj>gVH`-+rw= zonWEP26y52n9Z*0lrJL?F%Lf5Q`pJ_?^qd0q9YqrY~aZ-tfxEFT$?F`>dDcztYteE z(N7?sTCt<^>1h+w+OW6LkSTg(g;DzHj>9X{fq=)7#aKo)DYVA$tR!D|>!^I8?PR<`c%;89qFaC(b7>NO-9xfYMRJ6Mkb z6U`30pIkr1J?)-wCY|5g%-p?N<>ZSi3P`qp<`p!7egj?1kCm03SiBPr38wIq?>;N|KH)kEi z`TSMS9G4L@R7c91);{&E+oZosgYRE}#eOdb!pZHUH`ILQY!+n`Y_pIe(#n*5MOAS6 ztQMi_Kf3-jy5P1}ujMb2GdlZ>Vb~)qv>E@rWxSYBcj=#!b=8sAYorGyVnLtrMcTaw zHV+-%XF*2?tJi+jKKoqUq==eHEZvGjrWfZ-pN~!k`8~WXUv0?)U%2H=HaBM?iS+X8 z`eubsI{eAAZ$&mS7yIoy+3@}qP%7~g?iqy7D0D< z8)oF-WNQ|Ak~XvHhb>RoVsxd#rSJ@*R>QL+Mdu=71^cYFZiNNkZx1)m?H&s<&tjOs zJ-phLAElhVyuLaaU!`8{-sTq&8D&%#baMm-bglpLd+G}G0UBOUR_$J>pnnig?<Amw&BS&NTVzjtIYr~UE*38qaO0Q+890J=kpRD4l!CJ0-2$=?{oL})d^96Z1 z%@+JDJi~HcoF?uecR-@>$xkRlV&xuwGO^Rv=!r+qUx3m4-kHOEZ+GiWtL;_f%%4D? zrSgmf6U-3kw@=AZil~Wt?tXV3?iN4uS4OPQZ`=1KIP>O?4-=)u^R~LNehVEu4I(NmN&L%lph&W`5ass^x6?sPInyHcpO(ca&?pX7$vkxVx>tBUk#4w2Yh7Q z9!+9+h}rR~mXO9H?VlM*T4DXn;6Mz$7?zi$_e828k|;_w*FkJ6=2RKW+#oop+2H;L zscG~q#ke&H{DQD}D==K}L7!8wR*Xvf^GqVY>eaRX+Tq}d0h9Kmmq;7QeOI4C^``hS zK_KYWs#PphL|jdj-R}?M6{|J$y}_0_yMP$0-xb z_geL<^+ctHhkP)kEa!FOh$W(vvh71A4t0mIqDkj^lue2;32I9-%?c}3i?Pa*G0<2N zuyT8@X4H#31Vr-!F*TgCpG0NLN&CuEt}cf2ZML)CXKmC8fJw7#;#4ZxQAWx^e{{#8 zEhNfR+Gu5bl70osM-Z${f2dj0)T`Qyn11cZ+2MVD!O?du$9;e2&g(9bNaeRAZtZv7 z;O65q`xu_8DryEhn#WJ7bZH~r4iVDx7_0ulesQn$xw#1if^RD9-t>8^wuEvPq>G~7 zj^1DYZruHGa52ZgJuCG1?&xHLO_LlsA$+SwFi&oN%3`t$kA-8|iW8XY%5*6px@q7= zm(z^(UH$8i!;?p&7pxkdd(m0!I@5v=6OdX_a%n5UKi{!a?~GMf(piq4U1VdX&qX@3 zwqwUrfIG988n&R$y!S%>BF6#Ymo4`*Vj}LVw;OJrH~M`)O-KSK-rFX)%&MRGt#jlT ze}WRcjZT0A-DOyREK7|nywLH=dJ{-u3=O$TwwuSY-7k@J?&N|Q4kr8lPkubdl?N-e zH@ek63)M->H-R3l^%!?B`{dm`XcylaZi=xhoH5Birg3`$?-YS=t^e>&(DY04E5fgC z&Z6D3gVXO7JbLllKZXOvkAs-(v|MiTvYyp4W*b?glI>8R?rJ!Qn{%A;FxG|jken_v6q3;u=2(cO}+r)U-l zv0E^0uaCm%{%%Xulr&Q;I12`^ZuV(T))-jWWCu) zn!8=kPZKPcdJjdjv~!0j0k{RPwE8M^7M5BIEyM*uDU-qyFi6`5z2feTAlU!BRF91Oi6XZ>$lj+poItIn z6KPWO`dnp$yYC?;g>Xl*E_m!W3-848L`5N>* zx_8TQ$0Lv}B&B1(5uIkc7BS5$m>QXx=G08Tgi&KT*t6%4Uf9t@8@J8${YmW#OQ-Y1 zuSpr<+f$_d$z$5ck0;6r)H@8Ils;N&(JezZ9KkzDxsSV0VS!#d^n8;Zwu6Tb;qn5} zmE-3;4E*ZJ#UZnfbExZ2DpjB9UreZ9w;wo3y~i^cdP!$g4e@(V5GFjk6xUYO-UoR^ zpZo$pQ7vz7=QFuIzgH>e1Y)P0D|JRlqwUbNYW>M>==k0FY+z&5ox#&xp{Xp3m6Ac@ z7~yRq!}fFDFx`oqzWWVZ;~8UCq^IC$Tlm`CqeFL0iG7sA+U>IcEW^1U3YqPzTjGq< z>Gg5S#qX@+UVgEc$InwKvZ($F7RPR~)3@z*%Geoq`H?v(1+77eY3g6weK?ukl>T@! zUHNz~+Q%Px>i@>K?6`jMn&UZ;x4wW%n%^MEx{_`Ld`v5 zYu_wvf}|Z*U4~UUcQ%IHH6e+ahPg(OR#_vJhf(%fIVWqY=Kkf#U!Cv#*Nt9nc5o~< zr_1Z(8}*#i002d7z8Ja)xoXGb%L*su%Mb2|8gBBD!4u=G>bYCLL&M)ae@>c5DcA;6 z%*?d2qWJENcvSek$;R2U0|*D$8ZXUgRw$EhH{6$q^f6gBQztR~_Id(2f+#39U$CwU ztY$sBvrRvw^sO*OmUeBrx=w!~d-mhAtq6@N;SSvF%N+`!4i%JO1n4L=*+yi=MTTSn zNT;TbOrjVi^(K%_2$*Dbm%Pq_R_{=F(!gvpF2O$o(Yzr~H;=cX;ygEYalPz&OGo}D zoVt5vU*rQ~6ZsX_ApCNK zM3B`=$(xLeXKY}7{P;$Ew7{tg9^}bz+ijU^xXtl; z>@e22Jg_vsS|pD(D?FR-9=p43s3tG_CL~DtZPnaHGgK68;_^u)3oY%`U0=hw5axXfqJDYT8=D{RJFWdf8%?q<+^=>68` zvFSu1Sel@W;($)JWL)Q3jz0tq$~II_B3emn#?EkfSOuM5n|`6vcS-PA?)wX1TJYfU z5d1B$m9q~y^Pwsw&m(zAP&En)KkaipJ(`s?9Mqgp;_kMjWb@3k(U&4tH_0+MHJ3`q zW@1V{KMHcB+!iJ#w9+!L*d7!&Us_2y#Z%4P4F61F-eXgQ;QA3OUcwX>!v0$mSh-)9bav4WW*sT@5-{XxfarE`*u&7r-s6Pi_as%e1lP(~qF)z2EtDLa2M(RY(hET8k}v`C#9 zvHNi=l>2zT(j5-Qx1xldZ1wC%D-Ad#mC=CDiSnD1dx2kyMGXtR^!T}j(5=(FXcZY0 zp)4rXtbEE<4WCW(tR0mYNs{K8GcV`%uLH~Jg6bqV<;#wCr=s!j29>c%G*(HEZq#wuAqD+t-WZ)xAkLI|9U?qZ3!s_E*Y zFB^1_u&-I}I_DeZpACrn&2?K+&slzKqb^Bd96d9h&g^HC<;YfhbZ_?kR&_FRt^VWM z^&dH{j;^+6D!do5NUZ#z8jANFhOwZ$KT4DdzB}_5qEuo(_)g29p7Dehxs{p>Qp&-r z?$xWyypdI!5C@X1vdGB6F9nx=EJnKRS_=pJ&0Kt>LZWz`y}h{!cdtx~XKRP&-=0){ z?mml%l}FB9Ii{5q%d)<$jAiSknVPTgV5MO_`X-trX(og z1AqD0VsBoe$=c43eQy~zLX30`otn~0FFo1GE(jeU!U@!T;7$+>`lc@=Wn~*9e*nJ>XMVZADMrMV%wG9 zCC~_=2`h}m%p%u~5u7nhsi)H?^mm67;1nl!4bsQI3y!BAH&j>6BAkn0>Z&QJZc;>@ zJj3)o@_GN`13r(V*bF(hZ_}u$8@q6D_Sk23gd6=gm`SK&lz#!*cj~#nUjs)nFL;Im z$}B{arknEJ=#3v%Wi{8pzq^IHoJZBBEvY`wtf z>UCu@D|n_0jjh5!*>UTQoa*w+n0Dal`@*Xy_(xnn{ISbJ(muIxO=1nsosQ$--HBW6e^rsA=4nYwe29T}Vv6TGyi9R!tt=POiQj@>Ed0RN#GmFuaD%?{yNI z_t`{b^fo5I?9@HGym6mI>z`_HZQSs{1 zPr5cUe>&O}d12Y8yR)TR`u!n2;E%9>sx(_As+LSwS8}n5F>(z9Gs{Sy4c8ET%Wx*` zjY?>rp4PmfWH?a9Gx==bhO#@hTa6>pXW+-2@i1p~dcR>h%SJW$X+~a^wCmUKygcY- zws@ertrzT#S_hd`k&Q2#`;+@sh$IOCuA(G*n>|lX$*NS?PKt2R!s?V z2B96JZipz!B*;U%6^O*JN2Ou4FjZ zu8j+1F;NQRVtz{z6$y{Xj}|U#+*H-iO!#K6*HJyKe(veALzQ?Ic+qP%-IrM6JU`_^ zc7hxJqZ`L5OR_s$IgLK72-V0S6n!o;VOpx8oVgB%jNL7N+}7cC zD}Q?ul6H5PhJBqkRwBQ=#*$j#GZlJlk>~y(+rigVB|MZS^a$DCBBrUDlPo59(H2^j z0X+3=F1pEeglv{kcwM&0yWUt}*p>k_o>JuhyiOCLQ+D3XD{waKM`g!TKu=Zd#*^6> zJ@8{+D(0|?g+(_*qGFzhm8{jz6CbotDF(A z!u?=-=ufs$KT=;dcK^~KSt6o4etPTaSuaP?BWiSr&2d{q+(AoFQOXm&K6$BdPCVB# zVbZgoC&V=ZKJ;XSq)5$;J7K0}x0yt>!{&Om#2WsJK10`wM%S%6)wl=^Q*vmbFTF9C z|LqWt!ji4fhDMw6xJG(79D0={iO(C+pLc?7*7{Nj%3X*(3nyBZ?9fkkY?Tbjb$Ckj z)l6@C3q;<7#EWnJJ$)&C=Dp6gZqlC%M9alOa(!*`TP2t)OmHNBU^~6dk|iEcWGS0x z+2PrpW9jB7<Zj($iXGn^G@yDhq|igdzmX z6d4R>PDYzZXJADt#Lm1pawR%$MW z{A;<7&fThq_7+pT$-JP?zUyQ)?3iPe=>_`nYB@+w;D~JsrAZko?&ubtF#9xlXh_r7 zc?T1lEZ^1$;S5D{-<{$L3?aiNgN_N7D?^5Uo8f9)QlPOT#vrLYuT2pP5oj&xB1^K< z8#9$9%5kSoA4@QP)nLv^%9QIyB;I6|MUZ8EznS7ZEx1jiiKVGdgF%V{15F7%eogm% zJCj{(Gw#{-qvd+@R<%gpr3o7kYdL~b&$U!rbi62#lev9(C_j!%T!q`_9LI%jgdx7C za4_|aTZX=Mb-2MAG~9)r&cq`5Tq`pqe!g_)~NcS8B2(pcI^+A*^`izeJ4 zj}SiDtoN9;hhx=*OqFPz9CR8SQC`1E2q)gLdD9oWp)6nqUZn_#%RZn@s z$uqp*y4T>ld8vs##sXTCtdtxqoXmhm zCkyj<){9OkZC1Lot;F|Yid@fZ*lHjpv6z6lDp?F7&1EVXsw;_@E9{5iuh=n~s-&a} zWr|?_Us@cPxA$Kj;Q#Rf!@Rt>cmPBkd}=Nv0trHxzZV5o1P2fIOXV6Dm-1-2wS34O z@Ln-DX1ULHc`Rzr$+%C4HYo*St--Hw4Y4NR)CF%_w$@rrt^dP1i;IHQJ4XdO!1 z8ud$c;-;mL3N>pis@78EW5Q*}iL}4N5}Pc91b65V@>REiX=?j6tqe%XE~3{-E?@b@ z`KF~F-<7vtLDo_XAELCpe=02$cLHQF`pwP{>Y0(XVz)1&ORh{wD|@e6FNkZ97_Ix+ zGEcJWu$CJaUr-}B`-Ra)nl`oix7$c4nD}Tvhi5~RFoAJ-Vp%XpMUM_934_Gc)jF%X z#uU&VE4gY7KJJ;T3oBSpz2R zNyNMyEfU6z@)_C7sMZRqb$uQ6*<6cK;=6ArE|ey%bNuDCci+US0}1<`1BT|g4^3aD zqC|Z#f=_D7*jhAF`Jyx$^-~vO1Hm0yUla_maWL3h&S=l|rzKs17#hUc8HkJ%53(Cp8t5rX%D`LJcsd((na zflKKOZK%3m?qgqDZ2_WfU%Bha@wa4He#G6WZu+H_eoB}i5%pwH^(1SFO!FQWaL`g` zU0b8qxunfk^B%3<>f^god3*@r6!HL_xH5u&(YIQsj<$_eJGp%}Q^$tuwl z*BH6Y{0ykCYyD+<3@Ei;e;6yHV|N(ydQVQQ9lSe{4~LY|q*p6~t~P5Xa|zn`NW)&X z^k!y4cm1sz;v8*bI%~@zyr3btb!2Lroos54(0%I3Yn(FEp3NnII&-Ee{y8kZVxW&3AUzdJNm!Y^_m3#%!)bk;#?h;3Y=& z78X*^t$ewGhJmeJ8SoZiWuzzlf?Cp8=hd42=ik=k@5=A+pH-c~gF?@tkX55l{HW;+ zz6Cc6kdKAZ*Kk&+GIYB;#uZi)wNG1g*|(sULkMM?8WS?Pnn39%1wWF~tNrONa=4yA zwVpk-q?Hk`zkp1CFHW~ocEr&3F(LIK%Ll!t%u#YQfeeCHA?bu`Q0w!zkn{qZUvyc$ zzd1p1bVzdM1=Iz=AY|;aFdae7xJ{@S`~h7 z0F`n*2>aD<$|~+up0e8X(h}HoA*wcItR&8v0Bd;ttcaf zAY2;w}RlM zFy91n2S4jdY$g_b@&!8jx+lUK>*-ov!U~038}_3P3l1R@Fi!12+1UvLy0ALk9c~v0 zA?46w+AiCbY+Na{w00;~-JU>TQczV%PlRr%W}5zdis$XD@8HI$QU|+x98@aW3~4@K}Bq@tj8{3~|M? zq}1$Bg*-IZJj|4EUhu~WwtY8aZ-$W9vKmB{DutT_B zHGLORY*}#+s)jB6z?>$kJ0lMPjLy_@^3|JZ<`NRBfm0j&@Mx66n4jt|)}#~8M0$Nb zY27MFPmAq+JMqFIq5=~n^j*Oh4ACFucPCt0OlxohO(!0>Q=eIS#uZ#T$yF2B!+9}r zfVew{b$YxNAbfK9=#~Rnw+zicR<=^$56{_aHqF_m;7q@Vd$0C;&-=%>+touYT5+!E zcEU`cg}7xai-Xz=0d%vG- zMDPu?bW9CZ6UyO=dd=&*LqC}AkiW&f7IjU|GSqBnll=uOs2TbHP=M`1(Y{Y zv0Ev7d0z;^1%H~v+=I5DP9~EN)YJkMp1gJVJN%Y567fN>)1FN?-~bLc@$j;v-N-`(WI|5sFMiY3dS6iU2QDvH z^=H24speQ80>A2}){UKG4*6!S&6El3Z3PX579O1$tEPTh?&f3{FXRvHl?Si9*1&Ti zUB7HmXe67Mj)~{1CFAhShK>Jn27dq(GEl=*nc3X2y)0+r)L`Sa{`9rr^fly9_O^5k#GWZ)u%k)6 zFtv~xStC_NPh?!*=0e{bJ*g;&^ZTm1;(}byuiP|{#`1nmWsSX%v6wkMJ&Lmbg@3!9^9aF0TB0_8YkB5A z#B>x+bFW4)>8mDmF+uF=cYV|ILTPCn*lX1zFd)WRC>#~~n2&NN9pyYsUuLjt77UL! zXV0%dJfgCJC2wXTUzub2&$gh~n9+O8+FTp_GYz~xd!UsT-gmTEPR{JVdWIuuiny0+ z^eaPn;6|YJGh~+osmnxDgr24$=GtL|C(l9<_v}xZ0S_x!zDiF-ZTSo4J9j~yeb&PO zwTq56-Hu!h!NQ|Cn{PL1wZB^SNZB;l#6ZG>SpaLdJ)9PSqb9swFM8X$FSl>YSup{k z_@GI1S-MjaK?VgmWVB4c4i9FctEUlWMV5P zwu?_ExF|8{wZSVy(Z?Tb*k)<)Ao79rpy}6&l&ezYXe%j8hDjR{2rsl?nRzVJd%ltDT~AS~hdVbvjS z-5sMumQChEaMhJlXJ6UR@S-j)k*Tx{_@yWp16TfP9DP1` z#r1~p*ThSj!-V(9&IWc|jYL1RVUQt`SK8#B)0yMUd33+PIrfO(i>J2^%Tbxu%bvKqJ7$%JR(1-HYdUY)x#bF3nJMHz_{MNgx~W5Zt>QkrhPqnG8wGju778 z$$qU9mmlA)uZbgXSR@zkx>dxLS<(%+6ex#H{&Ht}n_ERT7>PQVA}~_dmqA!4^ZrON zS47^ZD>Nh-%_+@d08b}R7kq;RZx_E+5bE4C5jEk((Dj_vZaZ(29CGSkEk~m)6``8i z)YMdL5wH4T5+$)T&Gb;81U%%sX2G&kPO!{iNX~Vj9^TP=XuW$|U$tCs9MF5za(0do zK=1SyptzMz3gvK+R=r^j1WZwM{#2ZinZcDOh|iN*{%d{!o&q3G>XwU7pxyhF{CbI z8BgC*wj=-Z29)4kQIA(?r&~Xz^j_tcR_^+qYrxp3yD1hcUZH!W*@}juyU_Q{MM_({ zCO1Y=HAUScR`BA~T*eyOV3>6!o&c(w% zTDMZLsPRjEV!Y@$Ow`bR9a>S9S%6GHjzQh6LrGWgF7DVce3NA%jk2-5)3pe`%fJuV z#|DoRtQrLYlnJaP?0uziOMwr@L&BA9_}|FtlLOe-(rWzTvRY$~ST$A* zJ#Fyl^aB%(nwkVIee!KjkhU&n*pMH?<7d0fxSZ_`tCY!6^;;uXI-BCF$zKGMQ@z1@ zedP@`tf)PUHScg=nKA`h4`eKKl56=KKJdKrTDzu1T@8A_THn-ftvf<4&jeU`nPHr@ zn*K(MpFLAfHyu+?!-pEY`5`l-O|JvKLs5jgri8bK>sb)D;hKJ&cSx_bKD=le$q`d0 z2*Rc&>p(We?1rXW-l9{^##LpHyF_)6o0}_W_ni?iQ0xnrXM;a7*j3+jx4sCv=o?wc z%W4_JggoW5bK~Of*~~pVi+~IWYUF<%EvJ0a_tS%Sdv`OAf+CM%9yP!oaqjWg6`a#RB$J8;) zjW>&A*y2s1 z#sz+ag$~Kd$mrq4JNy3y)Hx9`IO;8T;-M4ct93lB)*Vj4x0XSu_~KFqGyQ7xcaWJ zZ$^_6dj2!6sgLJY+`NDb9?cBUI6a5>=Xe9PC1OTD?k%@=bLgVV3i%J}phm6#6nIw=u})Cs`Mb1WNE9hENAeV(gyC)HX^>1Fyku)GTJ&@Iy-!EGFLt|CAWXJ3FDvIn9AUMXsxw`GN*8+g=L(6&DEf?6kH zBJ>)~?tqiEtaGo(_d?QMi9hwknsoFOCJ<$<)<7*Au*)3QA^BgI;elmq%uz8g3;a>s zFt@dy3wHtcrriRnaE{4P@BT_M&^I&8qOnC6mH0S5o{#?^!XSYEI!sPnBkfkBmGp}H zQyd$1Ln{Hhp+$g0MtB2{h=hQE2>Z4U_Vo=e0uCMxx1=UDtpy@J7mt*ClGaB$%c4eJ z32Eq80_}N?kX@wYpV#zO#s9g#MG%MkiBv{~K^I#rbXcJb`9|FA@Pr zRnWYOzlu%_zh58(g~mZXZe3HB3X#S_z8{6I$$NZk9mfP$jd>lXfyOGv>mxQ`U10T( zzyLWCC0Aq!8^nW}1!1}J+f4ytjy#DP2oXnWh0a{+tGOhxy4rSsBtX(rmf*ccc%=2g z!Fz5C`NU$71%tM0MrPIQvS<>NxuGTgf|4$24>(rY0LJ%`^i)%m`#ON5CLio;xkB(> z(n5aJip!N-m*pvjK_@6W?p7c$jcc5>r-pPhC%S>geg}jOk5W!oTRa!ST_;Tq)xST50%blueLB#S~ml zn+TA%*4(pSUeIiy86cAR@Ckk)x`jGeY9J9;Zhj}$Sb-NOH@=83x8>UBqCj)OI=SkL z!lTaVaSXwYs`+NQumS3l35Ln)pr{fkRtnakAvWe;c29sVCW3u)Nkn$$Yea&R5K6!n zpJ&5K-pGV%&!Lu^m4t3IL97dYE=yA2^jB|3b#DQSX{ury5zhB?7x|Z(EM>;(tlGdR z`v&SR+L-fQeDhrtgT1`Hu%#v_6cqa=45#524NSaFD8BFmj*Z>?k1AK6{pxMzO)5tJ za3BelX8__CwipPMs{T-W=~V9d#V0VY;*++atV)^?$#| z^9!p|n@xk~0wI3GT@%DNZ*jG1Q`Dhm}CwW^D9LO<^9~$yy;gb*n7<|vnn6esxGs65Md>bb8|P2;}?V{slksmk6M~)J4<8O z7{xKg@^Lhfxp{&sZd)=&eq;}- zdEF|%y#D7%K$d!?arycLhM$k;rY@~==49VQA@{b>Tlm#!3S1EmX8thhgz;gD%eP@{ zA_&1q^P+-8mfs{p*gd>dssw{mnbLGhCN97^noWyz!C=jw$S3S66HG?%D2#={dr;6~ zNra0ogwoEU9pQVi)%y_*VmK=!OeP{5CqB!M9U%~@9$(aXm+WsiCip4wAF=p-;Sdil z=OwX_zfCcL&6FD`TgV-=5JaW&G+cMMP$9sP6&0lT1^<>n=Pakn zWm8n!XZLNY6D6vbyxgHqDTnyQM`9ogdG`S5ZK{rlfq)QgBC#aWJb@Dkiz_^wV6O-f z$4&F2iYWdJ+YtpW4m{0pln z#E=HmZ!~J-E(_}*1-w72CsOm;PM|?~_d@poFp-BHww?*E zlC?@zx+OS;>8B=y-Rr_nx-0G1KSl{oe$|bK-UI(P} zduGn~^eE~(=8-!rkoV8O{PDXVvK3As6cx7F;G+9@xCx3s%7k}Xr?d$M0O%{eSQ~^>#43TSl1TzjSY4TNTO3TL50$M`zIsh5lJNW z-jaajs0&}Puo@5$!`&0S2edO+gb;h4X3KOr9DW1}(pugxZ+!q|vD62gnJf1+r!vh% z52Vp;k|xs+y=Sp%*(5e6m+Kp^DgE6q!u@FI%hdT8Y?Vth!y8svu0^VxOK!xdYZUxR z5^LM!QPTWQdJ%Z~)&&t{-+*C!geN zZhy5mjuzdvZj)d5vidJb~;s zRPn^yK3aE<1g5QHW_WgC5bVKqk%<|oZ@ug3obFMGHVJztuqfv2t|KhJJG|VwQgW91 z_z)qMC&$+3w4N$@;RxO-%Vo4$(*)+;ikt@(fzL1FM* zKgzIE)J(tLvS1d$Znl?X2$cDUxu%tm1YJ`FRBg*8SZc7z9d_``66ifF3Nbnb7wP|Y z9`{?u7TWo|QRbub1GVR;yB3{}u{q+STIL8#9xlyFo@a-1MAW9MagfvS+XZTws>_SJ zEG0#J-}w1%4IPfmuiU%s#>fCm{Q;ETI(iG=h@Hye>l70PH` z&073HR&%@5rvXseKE@d|elIdI$ojU$R-qe9d7S@*R=$-X~NJ%QKn;E9QzZxI4md zz=Nmn`%9YEJ&32oSSbLA=8Cf`GFXLqWtTPl(-@@R?fPIdWIPAov8{<@9^!p+aIo%$ zRU4NgZ(p$-1z49%3gHV4jbLB-STY%{UU>u>q5pWLU5|${bW)&#FLL}$JOFZl%_Je2qPBVAqhQzq z)s23DQqA|>hY`UKX9O=(*c3RQ&U*9u!&j>x%X?{NM=8+QqXqaHGGG560L(x$zsphP zZ~oGn$F;^T-#;S&yCaN{*#|zT3WcHAVe(M#DRh#rR;=#^plLWv{VV0A&fS!MK$7`HhVlp`evf-4ywWDwu%Qi{G;5^G-RTgg+U>by5*N zXC{ZVH$>-VY;tz!+A%{gv?5bal^u}=LY_*$Vwx;=$>&5+K{XE$A!Cu<1T7UYZVpeT zd77|Xp>o1~ca0mmZ7~fB_{BMf)|#w#P*v=(Y|JM|E5lQOmxdWJf~LloR=mLzf-Jjs zyQJyvyJa`LUTgO;Azv3?MWDID95hv`vF)e2Xf5pCrnEXn>Z9pPaT0lVP9o``^Nu26 zG&=#Q{{V%|?u}fv9lN|6pf*U8rfLhZ`y(rzq2F6qIsW7OsX<8sQ>eM*HuOq+@i>G} zmA@*X)i~;G385F@%(p>}Sdi2PCp6ZlIdabEA;RZpk_-@-GblV@)lg`kx}3r;$-w~D z$&(49)4({zu13MYEITJBB2#{p!|EU^BT4r_3j%9|BE!PY@|b>8KMI{z8@=W87=A^S z+T$-%RdG;BZ+05|8go@0P&v#n-f3)mC$+R&FPgg;fT(tR*E2q+9Mm*5q5$sWe=WtLe--C?p)wdw|_Vfi!A@FFdU% zHYGhez?yVKc|tZ2nCk)vBAij(0D>nVoSu&mvB;fPGvOW4uqKfNE4Ylf9BMY_pGDdn z47eM@K2zH=6(%xUTwc3~X+{O(joxGIgV-yau4EHUC)K)cz_~f68?^2WOiFp9%@Ke9 z04f+hSKzd6^$l;gfq_H}uO~IGya2@=ldlZ5{Q@{)7zG%tN-i)JO81z-h!gOOWvA}B zhcpJ}yT`SZ#w6xdP;&tdq_3&b&@RDG_>6PU=%}90-cc7@dg^S$zE^nET1Z3vL!(d% zf?Z)wM$4?l4mOo`$0urZ_^V4!anqcO~JN6L34JRC~JoqU%dq*xh$Ad$A3#H0HayblFVY9@r0cUcKJV z=hJ&#iEzRIP;Ymqml*d=9#&lkF0!suao8r*r%LW2UBT1$3Y)h1RJTk%pn>8M)1of~ zvDoaJPMLILao@6^RIF6bx^qmY(sSIy1c>=k>2Q@IAOWyOLdF1>Y!$%{c0Wi}s);;} z>Zyjg}GqUXu zbKi3p^C3-?DZY{AaeIN(rgv1^O@RGC315j!KK2ip$PaY-hmgwv#BRH*rOj!ET^pu% zQFiG%CRUQ&*$yP(AQhoiv;ev6bDrDmM+&YEZ29zIifO z-SE07ab<|mT*+*RCj#9#|*ioCcgDj<0AGN zAo^yri%5qXu(>aiTHBJ?c51t*)aN%q)MkNUbEvW4Ymr@@z>`X&8ZeMmGVWU9I)wi5 z!Ixbb!Cj(>7q7Naf12t0LhSg>6ZR+xH2Xt`_bdRu(>ai;J*;7OD{{2S!$P@7x(YH* zae;{`y`7ie<|)7p&5owl_IScf72ZpT`=cc8qnXNBQwhW(*AS{d7=VK^`LH3z5L1#r zNlzxm>Jv^#w@V>tQ%*;K_(3!&(H+t1QT9f`Venjwp2qzn_eG9ti)IR7KgFywz~U1g z$fHrA*^*!H@4C0_ZrZ?`1<(t`~}{ zOdjp8t1kO0-|4{-dO5I6Vc2!IE)Tv`ll{NSNaRPKct3TcN@%C(@@?P-s(?(uaWvBeH)) zl;wh}Nw*wJnyFsCX^Y#Csof#R zH%z9`s9Y-&4uxN%1DO8+l>Bee?#p!<6e$AdREDnmw3BhJ7jSxQMw`t404j@ov7Dh% z-e_^is*TOqMms09!|)hdPtvK@#I?*I10e3Hy1Pm34kxR0RchAn!&vqa5W^TEdr5Ul zE)2s1%?X{OwLCf8nTh4VC-$DyP8dELmb}EQ$L1{v#u2UQ4cniOM)&m1Fu1{M68X>yaCv2UyfN%uRrpFXd6CI*zfgA#x z2^gIdo@LG@Ri)*28x`MR4m&Jyupofr0R^y6DxucVYga@{mOI&CPUsxk6%(626Dc%3 zq~@v&o>ysZ#WUAMc1P~gn0&RP-B)fcAg<8Sh;nPi+O3h)F3V5&V?B!h08k;7+|}Jt z=co&Ysm-ST(QgF+&{G(~T}-qS2UXbWkl^vqoD)SS zhP+FR;GW9YgUAz>DgOZJ+kLHb^5*{lDrz~VgnwkUcP(W`x>)}JDb-hQRbBh1pFKKm z{{XdiW1R;#`(6J4E3=%tK_A@T_+D`!-DwiJ!fPl5Ug`L=2(ney-hU|4b2d570A^Qn zPUs%xIXhCirl2%HCT^NDDW@wPqJGK8J3#Rqas^aAsP;!y&Kt1c?>Q=Yv^((xEOvoP zC|Wl_YJ#29iglvMX!{}Vm~@5ZW{Qwz4TW~>VhRUD*f5+~BT%a|C!7~(XRM-p^w(v6 zauoyQ?Ge#cIXSK$Vye?J5OH~ji{090TxgzB48n`yPC1FvJM6<>H(!~M9?FjegI z+WWVUF&Zl2#f>#vv34NB?U%(njd3lUaKSPOH1A!^G4l(*YZ@7KjmU8FRQ}a;bwCTU zhx?3F{{Y`_!k|B@PqR}!Eh_JlkOy~SQ`~Pj$=s&X_fvZg27!t`l~C%Qb1BK^Rhk|c zLdi}?WbO~ge-C;tJI+5_N_yO&g@JTYvUf=KPce$?@PM#!+iB(t+a%Sf5S6@tSnWQ7upz#us9q8j#we(ILB z{{a41XZqe%4H$mqY}CdLkv?1&E6j>JrxambaR_i>z!2RuE{hD2DxuL-Dd#g_-83MA z7KQk;xZy1zjKXbtcfLmtME%t0x>yk515^+R$3*SX-9|FGg5(PYG|Q(F_zCfs1UjV? zuP|5NMg3r?rt3LVhE6EEyd>syZcZww^3^K1&I%r?OS3z0RVQRYK;#G6 z9;)b<6bF|y=7yIKw^ZjB6&953_%SFdO!GV{4a*f#`Cy61gaeui6OKv7!Mb7tPY|NN z3_D}R+|-{*&c|pzRZfWNP~&ds=o7jv$xhLwJmvz8P(WFMT_YiS|_;=_Bl`Qmo2@(sA}(56CswzEk6P${Y7Dus5Zwm}fPRZ;B&rA3;vD~Wl%)u(I$?K{crjH1t zx+JGAwgGACon$MOj?Tx3(x}&sKV%4zjfX&(Rr08aO4USW22_NN!gFfc-_T@V6$0Rh>m)i?+Q!gV)v*;B0C z6ynS}C$Pht3%qeI^0hIL2D~?`1GXy$jmnZ!nF6lo{suPB~zPGqMX6c;e_) zVjj@;esG&OK4 zC+gsu!#9kg$3xqO>YY)cL4q1EMbEqyFvz$L8KyO$fTh4EtBpI7qVe05S&;Diw@Ry6 z!qw@l5Cm{JJv)0Enuh>F#_oppIXI_EGny6wstab4pY+0hrFU=Wc%Y&%as*+*5I`=9 zS48cTirlI+#Js}NlVhn*CiU|x{{Xcr>s^YyWm7zlH_l?=V!g7a_MBB2rKS{7&&1%J6{NIVcNo+o^@N4 z6L#Zt|9h=H@ka zM*jd-eX&I0N|)WswRV?t-giwC&Uh+p(tZ3EyF|jv^9OLC+^d01s?_RLS`PN&RtLg1 z4>ufG6zZIJPAS{|mIOBbOjT@;I8GQDvOPGck*$XBvg)oLiKiX_fU(ojN~KI@(O^QrkJ6p8e#!pH$JABveV%Pb_C=sfgOUQl{clulS8b4_lFpHQivSW{_6z=GFK3%Kd3bqbI%X-%lv2*r{u1r9eS+z=H* zsynFgfYk)$*WqE6l7bs}A9WmI()J8>7QUf|j8o}3!y}PG@NR_-lq>Dvq}&HF=$=P0 z{{XZtU;hBLI-{Nj*>qjqc9DhgKYdl^;fMG}VCZwzVwnKF!fA-6KgxYdZ+Cdhv${1q zJ7?KNt!sIXArqDeoJtxZY%Weu8Y+$T6<2h1U`*JmXVihni!Res!8v`Chcj~?V3}2_ zU!Dq!2azQhOQhwR#9})1b@mFokx#!IycJR{~nx0&>N(x@*g{=CJCVMcc>O z24;T2Pnf{iW{bILj1wtf-g<=*_>c1y3g_ap%rhH>4Q*zN4DATHTfrjR!(lL$Gx za=&W{O{eBK?409?;gjJ6)1tYDrD~-WqQ-b90gC?sapAo+LZgi?&LN}CDv^OmI5_#E zB>JvvLz^bTo=yQg;`0iaS41(eo^vA4bll+&6xar3c6R>&R4&iC_)Mrd9181U-43b8 zCY0^GCw8i?c7fMg7Gre);E6zF6MOa@9AV>h`W>b8uS{j^m`9)N6q~FPdLq-1yqGbn z`9DZis^HOaiL~^dtF4fWnRTVP>JX3OVyRQ~$=x&pTw!Rz_e8SsIF!a>^Y%_SH2$=-j{{WaLI{+8dsW4y=+xaH$h8}#}el+@k0#ivLf>D#AVem;_}HN@osQ*kAL%X0-&t3=&!Bz&kSXJhO0UYG0CA&?&B zID*P74V=oKGu0+zcNI2bZ6y1k+(}nGgPVeG8&qefC`3toS zi(I>7KcMfj?G*n2+;6<9-%u#)O{$U2jtYVG$GU0B;G=7pWPQR95-ikZVXFAichxF) zO@=gns8nm|%sM$$Ax875%jX$Eg6z#Vh>erK439HfTRjz6rpbWUPu)_e0|*R%=zKw7 z2y|1I?4QsC{nP%XIk=`UUVES->>0{GUO)c;8kZ0WnNPyKx_QWar|RV0%3#qAmIYMr zqL?H*A^s6#iyXqz4n#ty=4-Bziq!`MF_Z>NH?(8w2%Fn2xSG+-VSNMcobsC7@jVee z2ZBl!IjRF6x@!g2Gy!K@XE3`v{M4F$%dxxB9>r7i)o@jZma9tbZ2p}4D)jv?3b6J3 zr|Q;}$o?5!-CNGc=Cwp1Nuw5w2u`m7 zt%i(Ld#lAl6&u~X+|z{WID!gtHf+z7`SPlWoXP`0f)=ul8NX!uj+YtmJGxZau&{2M z_eAJX)eUh?+l)21sZ#I70;_uF7i1K?gX|?Wqmi$HtAr>hIkvZ$0iC|q0VU8r$^W~Do|7%=BCs3U5($;k7YplUf`eUsuSr_i}#4q z*qkKHxbOK>s#JYfyPW=swJ?4T(5jSQoD|xpmzDnjPKVh>g$5_Qm};YTGk4Uz4<`+5 z2PEFB@+tI`4r9ZKWiPwD6H)i$2L9--r8H^c7gXrp3(O+T6xkTA^ISs70f`_X=pS_F zoJ^?AZDB`_tz*j7NtnNw{)hnpK;kE&2wFTF+|18q@}bQGX|NT9I7@$2K)l>qpMW^V zx~JB7V+4|^c7Dp*Vd6=bCqEpTGWS;!M1gf=hJgw@xH8JF$bO467 z1%YF#Cqll~j~FIZGn2PPwITQzf!533_Bp0lebox?9*1h()jAG}H`?K*>F;na+jRm0 zm2}+GMB&WGK~+@>UZ#6QNgVkl-|zEqdiIq zs~p;lV4R=0PddtNqlKZ*lja~A%^8qrJp;IjT4dE zgRm<`qVWcQb!bnsPQm2mB&~^Z8tm zP9Y8Kaq@*%TdH$%11=BgF#D-kalWIjv|^h6w#59ZheCcyOah*=KCe6-ws;%erMO0&W<1F4%mcov}~$PCBp7tVAA5g;@N)5)bpUMyd07t@a)5p~sm1=)-jxO<+PncN+Gqq5I=KlaF zw2(v*WU@!6_O;J21e9~CW1?jy!x{kax>)0rQ;xP3)ejG%J12c9$>{H81DgVMDJ{jQ z74g6hXtyjz$Q^K4XY7H}7KzQkoIhoTr|z3i7az8$GXUR`s#jnH0qmhZ?aRhCvSkrv zdfrB1xlC>~U3;KSV1~2-)5B|XUr!OysoNsI7N_?tc#9kyG)<`6?fco?zI4@h)SFSh zX!)}gSx~d#J@D$BtyHLpV`GS0j!38UPT#`_?3}vTcU@52@r&2BO+*{?$GAbtJ(i>Y z0G{^lhGPPV&kxxX%rgiPg3)(C&yzIY^vrO7<5kb{w`9@PMo75kKI!Z*N5(2uN5d&o zbG0xPcYhJVgXFHwL(_Qf?+94Ys$+0zPI;3y9g+G|irotU($B`L{oVz~J8eSLWn??M zalquD_l^76g*uyHP#`hp*v`$9&P+dYs%#Za!s|W&u%eF0*gO$n3Q*8l?xcUp#J!j~ zPraIt{Of1cv^#S!W2XGq(r8H`S8X|IqrR-5o z0!hIWgK+Ak&ORUG)%WAUd6mNs@|A>)LDs=upLFcN`CZe?bkTkVZ|$FiTatZVM?$L{ z&R>|Ogx$EKR4jIZJjI=S5y1)HSLmm8uuoq*p{XgOL^wOnX5i#z>x4L2Cl7@d0DwfJ zXGPUd{HRxtL`p5~SAM3M`ydo1kE`K1-d6mhu_(A=hGZf1ivkIw6kUMJ#r$fX{BXjc zd#aV4b&VxDl{hZEPMQSf9I#GfgMq{*)?;1jS146Gh#z|kNQ5f49Qa`ppSVX-fzQS` z;-B>Vr*ux4ivk`aYLCn^Db01tf*t$V4#WJQJgA=n@qv}DcWAycVExm+r3h|^9AZ&< z>EVPoL4GWcP~+td-9EHA{H*=eI!(I9z_L{q;ziz}P;PZX???^uHrFx0getN^Dchh> z+rVy0GgD-0zbQ{T1yr2c6Sa9wKxO=!Yc>zceG_)3I}}~u)qOd>8g?tRxB64;yGQ#j zRgN#^{nL9r7SnIv-@=7^0pNt=qK{G^Nh#W4V5rz9**=@DxNy174QP^dO$WTM%A&T6f&DewPxOkY?>obNl_~-lKKi1bQQdV-L1TGA z;DkJcqORsqPl-i1pDA4e>Y16vNAjbGSx0}Bj&gbh-H*(q$?yw|0g4p4os0hfZVv68 zN_z=CP^voZV^dIF6Hv$kQC--9n!Sp4=-O1Ln3nL45{cHq$I`~tVF)yv4Xy+f+N=c3 zpoN3^L2RSATa@3c;7WFkDyGBkP$w6O=!QTNoxCCM?u8a-j)=I)wm3sXl=eRG!7=`1 z$7JAwYgk=4BU$sJ<;@nE1g2Hxf0+oyzy(RVN@x2>eJ9;gf2lHN;tUxg@=PPDHU%iW z;1gSmkgyGGDapv3%4!=fi13R5%&Ez3iho4&>t3*+p}}$e4~}@YL#eY!HgpPe%}CWZ zWGn?VX~EuBBWx8%V;5VwU73S2{{Yzu<-l;4VsHpa8ZD6t!&LLCCXlDrO1w}4+1G}k z5qT4t;d}B3ded4VqBsSE!F1%DiA3n0f@t6l5K&`~74~DNj8L(&nLlMdl7{GRQQdW2 zP(#CK`kL3`MpCF!67FYc6RH_M1A)%THN8!o#=wFI1p<6#KNlvnKpbO--3+gMDMw^c z`jGI2R&`fT4abEe!UI&@>;u#SY4s9@5YQ98qyhue{Eg>#j6Uhw*z=Q0cDN=E4r9Z4 z-8@-Namh7}g&CogqH;LyP#UQ?llHT!3*8h^`jFO2125z!ovJuP>5eY8Y!(=}DHt|= z)lEqD7BvqPAQxL5veNMTCmfvMo9cJ!uK8F>4jj#DXvhRZ0MMLNo*rYu7~4gMYXTeD z)fIWzl}VsQ)P9vv#sqsO&zJ5>IAi)In2?5u1Y;6{Zr{sFx^Dr3jtG1q^(;K4Zea=a z6!ZNs6Y@lAr!y&|PYb6J-Av1m*)w9cX!lRq9nsx&gb?5kX$MstIPr~_L{Z=tUMMlR zrtM(bSW~ZvPmEkwRN2W75N~6;D9y-cnx9X~JrnhJ=&{Xy zWDrBcy7!L03<2TF^&3Tkz@cG2KU6fcs%TT`Da84IRqVepP1u$B0_cN;5rU3p=QD?mHz({{VEAP{K1ei0LX$Q|^Hv z#Cs+TV-(yl$pMh?3Xrv?f9+3anWS((JE!3gYVouXCiv28X>X>c%ch4 zl{p0(+0+CMZztIX`do?A{H;bMK02rFKEVdClZwQfFyk*dCev&}_q1_@0-qdN(G}Gc z?V&q+LLLCOrG;bWupozy6I>=x3DM;NR4yE{5%mZ`(psFIK2a6|aT1zNKL`w$UJgrf z;&buQTmS)PH7rZs>>AJaZMR`LcuV)ptfmIioJ>%#FSmr*)uXpL&G~F6Xz7+s*pi+`=H#zQ0l)S z`B`#+f|PN~G)`_mWYLiRM)OETj&6gZY4(4r>G|=FAkkmIaL)A){1( z;=$CepU4f6@j?rtIt2aG;XibDT~I)2-~<-PqKu~=0Gq+r`DQmV6AoCRrfQ)+Rh{=H z`akfxBf1N!AJ2pkDtAsZkVkT-GJp}_3s^Nx(P^rA>58gKdCnFQDUHZjKbiu^pF$%^ zPSJ%vPcZ${Q2J4@9MJy&pd3~RtQJahQQ~7}YY>~Vz@fMEn5+tyeXPwg2PzvVM;uh* zf9OB|!~iG|0RRF50s{a800RI60RaF20RRypF+oufVR0aVk)g4{Fwx=g@&DQY2mt{A z0Y4DOik099RIr4A@e7pUB17R=5~WI&Dle6$dY&b@miIB-#G+CqL643eDpbs`DjS0> z7u>ws0s!*(xQK|Z2wDyX5mWaO+*LRPS(dX>+8z+~0^(vLxRhTIE?q3!1C{|RDDhz~ zB0iHp3e1LExh9~bM4?PAl)zvx?t|roQGr65AV7gCSmt{?KBjy{Ph@+gzEqTo;$J3Z z<_p~PMx8K5rK!ZR%kEs#;raULAP+7;7`F5-xyt}WlxB5FeITGM9s?a3-K33 z7jrGj!gcW})WRdodJ$xzWtZiEK&1p`V{uO6V)!Dc49*avsa|p59GOrcK`4cHFSm}p zF!h(~!R&&{WlYTYQOV-?iRl=TJ>(Jm^!q; zlFG^@B@s^~N*+66_=P2@WDKeS*N4S%;+JTRpr*2rg?uVhs1lh{qfriG4kGYN3zoyX z0|0<|JQCualie%9Itldz^9j$0UIc;i&x(ms?6VT@{y7o5&a_T4I8(0S-@%l>XjU#% z$1y1gdZh%TJy8i~gK3`NJVfZ0Ho@xUjtJP6?OY0&CB>4+k+{Ka9whFUc!!`(vdT9q zltqitXMk#Pc+z|40>QWK#!6$13heV*%4;3m`m$Fhh&_Py3*K^r}ZDDCh z2NL#;OT=0~EXq}*xG32i)F?K^l>wXe2-Z)xf@8B=Hp7}Xfq-!+jY=h2BAOzuWtV;c z>OLAG5sRhs;s#a)dBi~~%VTyb7Rv%kN+ozt8I=>tJBUu0>Ow})C=^JdCOObSei`mk z0F@YoN?%AGh;>2(z<8;C;#-P2mvsWg;+7lC95!u-f`Sp-<3Y;C+o(B}WkMCL!CjGA z3!r~imxE3OXx0&3*|1}xJ+9x74N_P~zr$Y9>6b}&xCfh+IG8{@)3}(B;7i=AET;si zX;FJbqH6?DR-n@G@X(bj@Tij!9kD3%OXd8|$HfwkC5M6NOD?8aWDHMIhaL$pv|!4* zf_A`>5~>8Ml`K47k#?mnS$>E6;F7nR8@<^+Io zDDhIfu@N(IH&mOb58#Iw7DPFMcPYcek0El1hcnQZ>Sr$V0nGGH;sb-jz!LEERiat{ z01=m@%a<^%e^vsbq?YLAj_jreVg#f@UxfX#$w6xgadOP0)VXlbY6c_Q9+7Vn-k_Uc z-LM3yDc73(0kIjQf-A28kF?X>!sb(^2rzx=joZU@TZ!dM>K&XisE_coIo!v@dPkK$~sYL%vdd~I%OP65lL3qzMG1Qu$q{;U-*b~E7iI(zliX} ziBB-lNlFiLe#TbF>_GIGu7NEjxqKiZ6}2tuSC&2*a?avn_#*lsn`OLf%mOvzH3!=q zSTM+{s7Z+=^-J_reWj3Xa2z`2vVhvl?_$(kTU{_h2ttGarUl&B%+0D_KkO+5vh@_x znKEaEP}INy&=Ic}0js!XQDyoit*}fxLi#1u{2%}nL_F7uJRs&GD}q@OMK-`&sZwL9 zXI=?&5f*UFny4pi0#;EJSj!V$XHa9Cjg+Clg9&4kf=cn|;Lh^kTuPDhf>d&ujADl{ z5$Z+{CBg%{Ul2-sB0YzKtXC0^45m$D7Q8S{uFowXJ%xTr5*C&&=+sLGcW;Eb~Dmb^tZnEFLRn}9fsLw*`=wuhih>r+a&PMKW7 zF#&=B7NNOh^&-W*!#i7msJcV1gY39BL!uH&yiGHyR^8~-2mlQPv?qwf6KQ%*cmsiD z#@13ErQcG#1ktI;=BOfEld9tQi`ofX(C-12@#Rj*Ncv00+|)yC%2rZQ;^211+8K6; zrr@(IIS3YsQl(J~uiwcoS&o*iMADN(?h)x4ZD3)4*95^@?v_v>S_E4h}`si|H` z>Xk5ZN4_URVyxPkZYj$EJV|pCXpXTQWu&((tUBPBu2a=R&ZT$($t>X`WYsKnS^8x( z+2~DJz2yeg72#f`qRG{l`c(-uCC*aVE>dp*P{k{rIaF<0mn?`ll`;u%Ss19Hu$CDt z4^R?`i9?bz^2>D;<@=SDm6iA<%=wQI1?FGNEZGC#fDbq45kqYD%5?$c?A%7I^x`Lw z@Crl#TtQ?2zrr(RKn;NvYleM{3g%wXI1@mX+F!p22}w^r7ojc7d5ckIY{2pfLHHUr zB0O0`@I#qM&D_LXFzmpfSC#Qhr^1QdxA}s{8xhYYTQ?0e#I0_ngr!sm%+U)&nMee| zDG@HlZ0>G0l$H2V%tx5Pwv^5kMNZ{CPgFbjs6Q2m?SkqtV~+yO72CO5pj<RIuAo9iJM!PTaFuLe}N` zfe4g(lGmwca>#dJQi5Eof#)BE%8R&b-9Tsz2#OUO=*-r|?23Yl%nF|3=23}ouFr%b z=9hp;M~jGU@g>B!QESw)t;JU5JjdP%;-}$JqnMvEiGo_FY_SH~_yX`y(J8r6qEO~_ z+Y2hCE3C!{ptX9N2koniKIsiYyydm_!0yS1+X1jGF`M6OWP8fnix32?qGQg|9%YRf zqF(O=rI;Jb38bOK;&b64Aixek3h{ngHqH^bMNu>2EMU80T9vI|gS3`p(->Map484b zbo-UFh^SF4vIltVz?WZ5yzLjWj`vd{~I zHo~ls1gxu%3P-wnSzges1i5Z6wPl4`2?B8}CF=G+Si%hYSNoQT13qlXcAHYaVq5#6Q2yh;Idboc_IzIEOe#X0%x_0 zfQ3pRJW4X5EYjZP`Bo)Lh{mHBY-a3;FAyGffQGfxG1gpOlsB@7{c!m%Y zYYLHILS<16$3 z%&||h31Y+?&s2~~$#2&%E0-K2cqoD6J;s#|Ru)^AGuu!jQjiZ9;UgL&hjC?7aYi9< zmR-za&yt}Y!dB=Qql{&Gk*d(B=>xdJJ>mq+6g%w_jc zMbE&#L4i8SDW|xTV2ooI}%O<7JRjI+z2L zO7CXE>hv=jPeF?X3>NKS5Gx>K2NnvDzl$wQgvt`s#HdByZTh&h*+8lZb(~vZcFPSw z(UtpQSev5RJAx?x0NeaRENzN4GBqU@^}3hr8JeI54XE1Q%7n(`Z&@P~Z)&Wpn{lws zs4<#LV{m91RbJ{}njMaSX$T1--ZVZ&Jmj<^6P(*o&x&@CM zP-cjG&gd487(7;Jj}1o3%ko;SphAKn!bdGIJY^_WQJbC(RI^lJAMGfC-OD#jGg2@x zEz<_&P=c&15K&x+CK4GCr2}mN3a-_|W~GB=!k2};H!f0>D&V!Yn60N7)C{Sr7ev1` z==y*;U_NfbQ#rbZ43rzaM7r79Xl>%US#K}kEewAkN&}nC!5jjv!xy%1XpAukDDkwG z?CrO8aeQL+7jl69izPquYI4u2ScrTKR}j~NIaG~#Y|1XSgO)m$4s{M)of-*is2)yj z7!<6(;v1B^qs-~j`GDCH9C|d2)9DipLwc?!w zO{hYgB((tM{jz~h);0|V*F;bVQj(h*{<4?3Znb)pTE-Q2iCfTpHTiZypOTl+^$d&Z zD8L^jqSy9RSUb(j=EaWUz1%ngK`JB$iW?GW?O$P(>QIY9s1qK2+)d+M8t`5PP)DK? zzQAyd)r06tCi?<2pdl(`B#Oel%dZ4G4MlA+66Rh+K$vzEX>h;(40%xW_yb=1H4LY7 zfiVS1gT=*}gkdt{O(}ITW=OsXU{bkCZUQaGg(V&zH7a1{C(IZTxbvj#@ra3HQZ$ok zn%@$+_XHJKY<4}tffu4zUZOx&SAYAXu%q1GW4cp^juf5B%MP-SF-b36Ay-#3VmX2N zoa`dnqD9J}D~K+sBI1<>T%|CCcftgyU;@Qg0^{s#3vR;Vijsv|lo`5f`rqbh=R)QS8Izi2O}8oSj-pe6#u#ar6Wub{@#ja|}iO{06vi`<3UQg^bmT-S&-36{WEh>`aqc&+YCV(lFN0QHN*9jsfBW$F7Y2n@5BjaJmtI*C&<;>uJc zRahW464gtb+L2b(MZH88AG?SJP(?YYXavNzwdBetVj1FBiu?qTS3xZ~SS_&Z!tF{N zMp$i~E&PIT$30FBMNHx(%FC|9ij4k%n|8Z^fKY0s1gmUhi=D)L+#zK-m2V4!h+(^N z+bYY20g67$j$w(qiL!_?YPk_+?A2=Dqf>$(KAY`&-J)4`bA~dF;t9=z*5p|`mp>M zQ%~nns?8|%R47!qD(K~bnEl&>?({X#0xBWV%nEx-+)b?M!GR$`q<}tEC;%7=BT~mR zU6CXI^xuKhM2r)m6m#Psylcac z3O}lV+^ipKC~nzVPYN8K8gyJ=ND<{AX3Qzag-WS{R#H%f^hWxj=!=yO^>8Svz|7Kw z@I`HCmo#G5D(}>wApopqftN&duNiB-w86I^5>pmH4IIU31w;;;W&2gJYuZYVMZ&s_ zrOTJ@RL}`;`v^vX{{Vm}4Jele02N5=nE>9CliX6)SJ|mepi)cA$irr?#AXg46y;#l z+-||&s+Ukk@QAW0WvP~YM4_VQfg8Ad;H z%pt51u@i7bT(IV-4MVU}%pFDOh}5Prf;9|N3`(ktfNt0(vnFUr1oDbu3x{~LASVrqK(linH{xurJQL}`&=E9aB3vGs?@PU5_1dgU(wLoV$W!nq& zP{Rwd>M0W2g@|)-NJ3~Wh*YWC{9wX3UH<@+eviUs+q^J4S5vD|8+T8;d)Rl7tlPlt|@;kR~d;A&4fT5qU*9helG`GwQr;|o}+q!AbDV=O8j0`3Dh#jV`2s% zx^4%fpE*jG;z~p9viC$N6lj%wF;vVng|&uUv3m=5wdGYFRh4wLbj2uFK}p(VU!|=f z{g?$v2&pqch)WkiqYX1WC;1-OieybkqfzS@y6HVJz=K~3LjLu#0d1LC>eeD~P!y`i1Q1A5HA>qG zDkqhM5Ud6+%G?An=P-M?QsxCHbRl}s5kTmUWXTjK4o+bMoCd(;VH(Mbm2Bpsv$v3- zF>E~q*$ApB|9t! zi-1H*iW_6!D_|ELroFIklx40$RmDdE)KDa+HvM2s9u*vK9xfwhe*XZG;3w8*!tb=` z7&A9230YsThNr4juL}GSa~|nQZi*1TmIK6~nu-?3bxDxmN}7em$KD`)soK+#sNoSP zYRZBYPIgG~s>oB7fp(gFH#3rvT5$AzOQAIpvErp>qi$)H2_ljHQ>f^vRFzhn)B&wW zN^E~~1T3^-CGCNx&lPg~TshS>mSVY8)p|OCBj7Q-f~J0hvU)cZ*8m#&scO_jcI3D% zxY(@XVfSyq2Oglu_K0#K9!S6tp}Q|bxsUSO?Sa40m+j1AdGNS<1pPx79jSA4K9@h5 zSDAExT9_d3Rd`QqvMAV(6k^h-K@!AmxA_esSE*2Z5vJ3|d_+)z8<}WX+Q1r>;RlJZ z6D}BJJgF0*a3T~BY;z;aAr}C1O@AU~l|a{C0dsH)0Q_;`Y(h2N$}YqVveOmrpb{cr z%n1M{CLF@dHz}%xR8brjt>y*5f3nWTc_I`Z^oCDltDpTWLTN@*tG$w%?LgaH2?=mu z98>brV150U;2$-+tL1zXYTGlkZ#}q0KCCf zMzN9hL2w8fb8$}|62!99S%Zcv6aN5!OC5Y6?{Wflt@bka7!iV1+Jwf$JCq}MR^j#` z7pA@}B_+K;=I{15+XJhI0#woX*PE9v6vr=R1a?^JEh@jPsJj0EGv^{AiKN*IjbEwe zJfXIGqD~m9e#o#{{$<8loO!Lv5~4gNSp>fWaR~ueL=bSFVM)iTiY>3m2nQ0{Nb24M zSrV%S?1d3l>JwejwTG!x7YHS0TGMNC=(Jo5s?wqqHC10w)K9F`?8gX^Z~KN-dvLIN z@|8(tdLl z+QLbaej=2dqF}b=ruTgiJ(up{pYTjUm3%+k$_e|HI@Evl1Z>)GBN=D(<|6@u`6Eow=%p#D%eQs6>LpY4 z4bZkr7G9Za0PD0rNvcoa?XuP}dUh7V4D zdnNm_po1?yf+v9wxtl)Xmt>~491nlXoh4>tQ#fxxR^#|EyVPKVgCRs zQpc>q@Dr;(? zpy|pi5s^`Jl?K2<`wI3o1mgW}HE2pz2TTf&0np5!xqq24Y^hSb)KOy8S#A1;BfOb# zM3|N&0~bB8c$p{?HVfPykT46hz-tCz(Jf|WeibQoaqf&Rp6QWeEj(Rrya4`MgsDek zPvlGL{rF#(d5hpb1O?N&lv+ba$f33MgfQS$Wwv+FmA#pFqEr~fr^(IB6Uzt0 zK!l6fX*8qxQRz5@7kh<*2Re}@UR#+j(K6{O6;i!G5-j^6 zuvjJFG1Old3rO$qB6fmdC}2b-h(6W|68`}3z6iY&M1M+@iBLKd`5a+-cMtghPE{Cg zrJFDfN~O0@ph_SSsb`BXa)B3B8!F|f;U`iAyj9x6Sd(yzfo&?($u|lHq{)uP3u!780Rd4dSa^bcSgK-i8 zYlG%wtNjG8L3IF7q8+N=+Rq^i*$6oZ#@ z6oDw0E?prH%A$11bz=1{#Z76J3X~4} zU@fJoj;yPJQh@<~U*Ry)V5(cBcm}6pR_-;xeq3K$^qEv4DE6^^y!T1!e-qRGBLKJ; zI*8PUjX7=T1Tb*1neN>iho1ll?i_RlMH`i-Q5>}lVwjgoi25M^0HZd`U)kp6`KU@U z1ZpM?%ChT#n*RWtFfkXvM==_>9V#4kAZai6G+nW}=(u!v081sPmYHX9lcoj0_$+yr zjRj1D{P==LXc0MA9|(#VfuaPxP4<2)P^8Xx7?oo!DpbS>qilPSO3(U2g$gC!Ot*NN zs*fU}kNOFLceW*9I{yICEpq#AAKyHf0NoI)Kvy#2do;p*^BGER8DVNaS0dCv0b}n^ zH@J=EPL|Y3Cw5-5Hvx5@cVi<9G z{xU8rf>_kUu}gomHC(%Ul`2%P0U3edG!RV^xI^2Sb4C9ED3%&{(ojM3WMl&3O(2V` zW;KwHQP2}WB3c9;1@QfS7=Yn&ryeokehxJQ3m9z@yMfS5pajDG?b8dYN@anKI$@`N z4Mf8XqFDu4J;^BD#ju3g#Uo1JY9V#DFSrYv`c?!`30|c#r8^4SF($20wdjH7p@)vA zaE7NkI_$XR)+I(5Dcvwl{JUsHtsNq(>BM^9vlTXnx@|ObKR-PEe%N4RMz2otyH_kOdqrAaV zUcP{ep&u zF8PEiEbzg#WvU29S3F?4J7rrBT+p~TSzZXGO;NIMiD}F>n%oxw`-O3k^h%P|sO?~R zZEB!2J<$qtQ{EP=RJQI^7On#e8I$lRwhhu*0-3;jJC#(w*%NjV$iYK%EbdY<;W6bF zJHr=~#n6FqC`!b5q{X@jubM72l(9?;EvtsSuXO^!6w)%o62@F;l#f`_WuaxN(qZ8Q znEqqfW;`(fP(VfHQ&ApBBZV6(ux+`SSYO%B{TPmbqx3u?vuBHr*a{jhQU$xxX@R1u z38m_yy-QzE2ZZZ^H3wx@!Zsb=CQ1w2DzfQ@9+wiEpcPwfxga+%sC3p=1EVgav?jMQ z@Jn*wAab6GtCc~Ez!NKj^h-AXz`mXe+-ex_j(W%J9Y+=Q(22@b>9jJwSZmgzBWlU4 z^67#qH`O46rq7irE;fIdx3I{qk-7H0)Vruk5gACzRdUNS6v#|=#PO3Ij~O!r4@_IJ zFu}kYKS|0T8iQ=74Lvx8Szoz+r`%;9QF&#{2EtYj7XJY2FMs`>XBxW6GPv%>L1w90 zehW)7om6;2%*r63Fm}~FM>K)k#v6u-hzM!p68t}9_L^vnqRq=Ju(wO_q9Y20+fcD> z4v1kgm8DcAMEq_!l`F&oAj`OtQVha!JBoUpwJR_7&i?>pYmN<(@kr!qTvFF7FIOOC zbp_z1CU;18@+Zq9r3dX_#JqQk*qlvv*WA!$)G-?ACbTfKvU zG4fl3NeM+z=a|&B#NhRCxdqIWB}n%eP-ZKLL})g%4sYA2ov1eD;nF80Kt02}HHr2DC;5kTB;N^NIeLW#%xm0y2*viv^lp$df;5MicsaP;))k!RE zxAP@*q1|iu+_>Wx)J0qW02C6}p1n+>{xkSX>Jni|%0s~01Dd_l9Jg%EPHRQ*gc(a# zJ(FD#Fr|TAoDSu}@2&||0oejnP$f}PzZ;h>BG^r_i_G-om_Rl$01P7Bygi^6>?^^P zBDxjOT&j@j`Lq5(fi<;ao%Y2Eyq%~x19^3erc|YiEXu;L1L43yQ38O4L?0*I-*KA- z_YRU*@?uo43`mcPCOeld3SrzuU>@c0{7lDR?YwA!Z?YlQTSEnS)M*t*$d^$f`|_{L z+fWL(xIr5DYhOuop%Ef=s|jYnWuDOZ<;DFXO$IBqkzsoaTOc$;Suno#fwYZWvl;&Y zvX+HiH7t_O#j_UGx~xo5UnLfbv~D&$LgcTJXO>xNRn`txVn53T^EwZ<=4l|m*Z%-S zYce?5gfx0LE}6641jx-2ftvdf-|mLU`jl(Iww;6E*rY!41lA@~;w^#!~;^p|Wl$@4SuE-{sx~H*J zPan}5-qH4^Y3CuhNjVT?^u>T7O-2K_EIERk8JnR2J1AN@4o$Ey5!hF}>H|T@V{XbY ze(GK@)UGP5SID#*tElW<#=~l;H4x_J(vNQAl$C*3=rt4-xIal=bK;=#D;ZF#*qk3( z=ZF3#+KM;zj&tx2_XE}J8PA_ApX>l<`~gvaj+xe6S6&ZgKcv3DPDk8Ia}<x|D}fTcc|(OZKG^7&EHp+*Dpo8JOBE93YF5D?w9d2xP-2e^&G^G8@k5zNwgwSN z5Ni+I_A9F~KkRN^;YW>~)KV>dWjI0R-riALkDG?(Unj#pF)>#S%(p_lWfrJD>Y^+q zn^#d4mbxGfzt&LEgc`tV0o!yxv793=BQh!F>H|YebRC+GC;o%9H| zh|O;ED-0^4`-0NNBCrDY%-nKq7Q(AGZ$xA9&_WW(`Krr~;D*$l6;NC|q7LpETBTIF zjc7kl56yG^Xx#n4W<%|jKiX_&&-B@cv*GGeJ)&I7vQTwo*;9B3t;64;BFg=ko!v;{?H84 zA0@s1EtR|;*aZiTCJ~kY03-fvWMOre0|93W*VICnqjIan$k@Q38&sv%ZdM#hMysSB z8Kz{c!3L)|+a+f$o`~s85kU!9^^6tDd-zXa1tQWX@(p& z^#1^v^)Ar_#V`W6z74YN3I(G_*peJ=3p3SCsB2^W)T?xf>MW!|8%=Q?x?fff>Gkn} zA}XaN2jfH!b2evCMOC$nE?i&2_{;vsYf-&l>Sl%ga{zJU2a1*ArA!-TkquU()6A;E zTg5>cMp}j}m9ex2l2PHX{{W<=c~ZN8Qv?N>FKE$Zz-9bJ3KcJUiYh7aqsW~XG66f{ z5`0ZS5QBnTe$U)#%t5B!p>oem!Lv*{yek+{;?DfH;U$Ky{i93hu0*}h`l1F4mxobZ@2q&s=+jjS7F?tKr_i6SE1xTe(s4f*v!}%Lw^F zw3Kxz=BW1*7SuV5=HmVwoo(obr38F65gw3kFbJUFnA==ef-Dv?)@U;%6Zdg!@km-1 z1m-gA7|Ix7R?0QtC%lz5h88t!#^#wu3=yj=PAy^`MHVv2aS91qe#kj?_YVvj#S!d; zLd?IafN=UM4VMH$$I{>lPNBpSf?wfZlGlPf!Gr{8zwQgGpqx@Zreb{^%i6yns|#>+ z$78(7RP`vq^iz?xE8tSWD^Lb{&`YLzra4)%zXuWef$3qD32}0GBN56V#SB{fgV;Z- zj)9MKA(ID8u+Fsj2p4-xAw`QWTzuSdrur=Ruw0N&FhC{ywla!jEv;fL!|WMJdn`{> z3<01gqEXk4z-+|jk+eI3p)EPc7ZWcRyTlaB(#cq2M#!$7nYAyo7u;Bj#IcbR>RQF_ zzlekg_9X zQ-!iEO4u`X2-7yysgd!lMVie)=ue4c1(e^>Kh!g2iWtk67s<7%Fa+FYT2ILk0*Unk zR4Phc)dvZs%iPLiQiF+qg4ZEElD$NeF|Z;0WKQtY7|uh7v)z_B-QFsKVAqWFJripAjZWdJVO~&OUy#;JD8}tb#TH# zuug8zq(8$I-gx&=Zow%_V5(}UhoVpbn&I~Vcr`NBC3do+v4S6(+-ru$Nn2U zZYb~C9}Vwhz*UTC+3Dn1w#$A>QxbOq5yyf zf;Q7CSGiFjd9%UPm0BiY=IRLmVj1ocRo!AXE+j}I=$DVv?1@oH7{K649-`aMk}#>W zDE3R(ed(ZxubqVmy70dicN*}~E+$)r5Nj~uF|Bx1LzRbhKysKCiAU#hl@oPJ^hF%+ zsoLBx-d(wR0*OyH2T=6j4p!qT#pjv&rt(1xClr^`U@#_!U#Hx$uC5fJfz=Tu{e8Wk zAatjfWCf;J$_!7@DCtJGclJ;;9MHD!)EZqCg~Adkj)qslbkB_6!VJA{E3#IR#TPK+ z!t(S-eRTkX#K!+!>AfLtCm#XXO=&MQ5@JxrI{rS zvA_*GnezC0ABgxSB`3^D#lwHHQ*A0vY~ zGS295LE)bsELPXC?C=yp@}%{Oxwwc(V!R1_ZZj7Y)aDnBiR2&A`>nt&hcW?zOM{{UE(E+Lot zolM9$Wqb(QfJC*j++4s*=l;>Se_dqnI3l z5L*J<#cpkdjw{PIa0&rk7X)|omI8_cLHjT)Dc)GQepn|f0O*+O@VkInF@=m{7$Bs~ zza-?X-o22h{2>)EJvf=;8!5^KpH=JT5O7N(JuMq~>Pq0O}K3uiEe@F^jgitp{=rtF1e@G!n z{{RpQFqAl#FTrRInQP7maJ`K&tQ_;F)QM;ff2IPr6M)PmwQ}Jhtcik>j0&4bFsyX1 ziHzR3mZpvM0$Qs87yPWo11HohE%w}rv^MzAz)AziW?0a;^8Ww{M`Xg_fj5KXLZCge z#VRuJu|8|?rWfIu#xa#DzKD$5ac)mN5mNRwg}6*oX)I!rs+Utw-b=VaQNdL}V#YoY zZXk%{P7#jSwP+xPUG`8?!UL&8h+m3)S8SDKZMIdI zOCN?|eM<9joo)c7Lr)R3^%Jge=Li0b#aZoQi&;w#1O!3hqBAx><`80H%`eY6td4F;Zn81=xUX z{{Ws3oTF?&q#2p%)~}4*??9{*$)I+xFlABFs)ne(Vs0|srn(5S-lZ+Y5~WJ=i9<%; zQ1}nrEnABZCce3a)IWT%H5aH@KLxC^?3GYAhdrD0mp64hnH`8LN9SAgvP+psfbm2Tc~cQQg#F9ZHt-M}Zd03Su{m ze14-90Cx_CSiBExu-Nxa#@hB-b^!xQX^-kWju@ho$4p}wqa)T3`gB0h085BQ;D&uG z6jZ-}Cxg}WVi<6q0WmCmC>F-A4{H=L{Us@H*kAjZ6*t1%2CZtfQC*(kHr?=`hZHEa zYs)I*%L|v{yxT4*@luIiY?m_2w%`kSpdmcM)ng zi6>ZBtgx46II_X1VO?Ca%NiX<3E7V}MZ~`qE8Mtx5LxwQI3-7w|q9h2|18qR{71UH$ ziaClzB@IpxmCnAg=@yyn2aVmiU^jewl76%I7KaXsu|s{{SIS^X1&kv|n%mM6^XoWHkZf_2DeA zsS6n9o^5w)QFl&)E6h_CFcJR%b(p(o<+%|OXqg>`z_rzqC=kI?geXaUt>I4+tfw%E zxni+#g542{vKEzoh-d;-J1{+vHr)My3Y8Q@Cb;sC6-^C$j}=9t-;%Wz`og*pnFZMg z4J#-#2Zds=u^=^kjvpC{qX{a-p9WLmNq%Yav1Qvq5J7Ur>7e@@L)1Jn^Aa_ol;liB zX`X@_Tn8CIc!xperB{^lO7w#h;o#s^8VIadvqr~k%s)mg7ajc~z_vyB@%5%jxAAUY z;M}=n*n&cU!_K8vh(${g=`Y-01XX5;2Eh8NBa>$!joW17y6uO2v9)~g0MRolZF*LP~<1k~if5KAw$#o4&%^QWSu+Rs&UD193 zJYV2>sZcy&v?C##(g{bBHkS6Ny+a+#OpRObz{Gd%0j~40)b~P)ETyBc&g6;HSh6Cis zQoL8GX+*@ia{mAvN=SW--xW5LBrv>_9)Cb7cN;YU*xYJsL+Xst!c+`STL?G ztv#?dTI)e<9-8?oR4lO8*tT7~11}KiMYh9amBhcOt*(kXGONu#Xp1bDdQ)8zl9jof zpu$|ElKhIS0mLL#!;Qq@wS}2$SFcn;rk$}=x9o?wbU;c73!(t>N!TfsO6t!Qi9r?# zeB8wJ#IVa3{{W?cjuccoBY9Yt!Cr{q6Af-xqcJezIhM!8d;Ig^`{L*C@CB7#E?FrN z=5|QgqHT^@P+}pjBrm}`F&D+S!Ft2heLfEh>?jh)I)N7SQ0$2rXQ1G0n_n7!J*Kour^OgNX~pU)B1;rPPH{{WF;y!l)Z z58P79R_FtG%TMdA1 z>fozi#-IQyas-`cCu+Z#V{wTU>+8MRNi|Cx~>~DEk`9?&Y(o06>55*2Oe#edt!w$)DH(I0-g`XB`?Ndf~{tvKB^xYec*+@DW zOJNOy+__|l{Fw&ZJw}cIdJHgqWw!*rtRPebNQfd+5m2vBQNDPQowEfKm;V4kEW83yt5^pR4NqM3Ohd!?9xKKs33oFZ?hTPQ#C#y5S5VH= zk8o-$_8_?(zzIj3OC`)fHJGQU*vKVRyCHe~BI2os^x`C(t~i$EEGn6X3Ew0lQvH%3 z!lhvuXtyzT*2$da^lOE4S@u3jJoT4MQPt>gA@zidLzNNg{tvS z^)7J-BNGKpv5~I33V=CjCU?s*(uVHg|QHh zT!ti>HX6i3k}E6^sg+RsVV4A<$D90Cq5Fa2li4cfRcOpYv{}012{x2%A`3+12){7J zRnUXRzl+!Snxni!JO}AyDU4%xM5}d|c!u45K{ivXbpWxq#@a?9<&?6mnF}NI+$gF) zW(lh9Xnw{r}+BJTJ)nTxvIZUEN{ zGlbJufSeclMaTR^477@%%DNtEyb{TLnCC$XI8R0^mLrvw-O&vO&fpA}Vepl2DA}~H zP%{$}-U)Er4;1*MdJ!d{@dVW%zu>qP6*pHM&cl0P^pEX@M7ipYHB$Ov@q}-wQ}yAO z+FaFS#s=F^tie*(k@b|oMC@gcQkv0mM&WyA-QrNL*JfEoUDOrWJ>kP z9+i%pqI2T?taOFYAVNrYWLR)vXLWHCxmW>3%h|#vAR&Is7%p4w| zD{E$w)lwp>N&1O)S%m2!wi3GyMhpOGPwzzf1+wyTbAHnL6780F>| zgs*iwk7P2`UB*M|96&Too@xOon3hG2HiX2$2FG|V;JkoVE;ehEs1;=BRWe8YTnNEI z;F-21<1tZW92%A00sy4N%%uUgvpI9t1SWu#c&{1!oJ(~r@OTd3io|Kuzl4Jk+JH8@ zR-Hx_OUOVXtzT6Otod-KXb(q=m*ECxx=+#aa@Js=MgW|ZJ2f=avrUj$g;JZMrF)c0 zmo|hfw3hAnpaAA>w%#01gq2WU ztMFQd{uc$866H}X;Q-Thr)?Oh;d_-s#xwKdn-8E9gQ9)D_(f!Q#PzOhgj3q8*!z`GW zE^buRw^G?mV+LP=@qdT33&h894rAQ|w5>I$ARxZtUKAIJ$bwU9BrGintq0`l#Ghq5fG+i>r{za8kX>mEj-!O}sN}ZKg01DAQJimzHQ44;3;@y#5t%j8>rtwFYd&+dM|?!CNp3bv^p3queKZn$kNs**x<)>m!;t3; zYk}l)Cq0qn^8WzVB-^AenuNa(4d!)^w}?03vit!xDs7 zluxOId>J#&U)R_nI5e(252uW|go$I6Jg>Qi43hXE(nWJ7Hw=Cd<#94y^8U{R;?~&@ z8(hVTcf`??r%#v-HN#(PkEfjZd?Fn@Bk(sEE?pUVmiUPr*ZYLG-FPPL{hG95&+#In z(Xp;#$w5t2mnKY35A3MJ3^7UCYPTWqB3&7k8-`9g>x-rtr2&_@@MJRMQh18N)DcpP3atRli?pmS4PPc{nf)p zHkC4Y9Sb!&mnfD9OQm)k|g_6DuPBP)dcyYgjE)Be| z8bcK3>L|t0MN^o*oE0iWy?03JV$@NO45#ou8__n5T}xa@xMW67o6Cse;_3VSHdT$& z@NSH%nEV|^T9*vzx~<-s4Jj&T>E*p7_%hDH|mG$WV$BLySI5`J)Im722fNhC``qi4&eIi1~fj?5Q>3k2XfDc8bx{bw9>L zUj}5H8I46+v}NW`jt}T@YuG{;llHqtEc=%z-4wZIPNgeRi7fda$sE#~rp)rWSL5v0 zcLj;Frs{k~Mp^o5(Xu{llWat!<)svDDU|;J1q(>|M99x#W=^Xl<+cjUYbt)Xq*_Uh z+i&b^vh||1vmB!+dZo!sb|+(t+Hk7MiLh{GKGa#4Ba_(^4miRJmn8h@CRe*eVC3l! zqn6vgNk&n0)|ARCTkh%lc;t<;eJ0g$nBkDAN8nRTyFN&!-;>msoWBLHz?50^6qUw9 z!6Z&Hg*r22X;SiG$4cLkHipSfT`zu)k}K+ImlSd@?3^4V)9$@%UYCqW&5=Spl5ufO z5_~jt*=72S*yLe*+^_OS9sG|B>xMt8RMEbbIJ9q#E=NtOp(PlkwCbOrNjGvg#CcHO zT#l-cu_!Kl`<(W4(yXgqqZatu^WSBcqA)7Q6EadwKfxUG#U}~)G0PnP0FpZNuyv81 zH|K_Q*yRj%{{WD!3HlAp-oFQ-{2MWeNqCtUXK2ZVs5c?N*%3xRjT*El8&Y2Fk!>{0 za@_>=>T&FyuMD(qMfOoe5mzKZR9F2OrRzR~GcQs$?K~hFYrz7ZF-+A-wYOit2dp&6=@O!UW&2b1t_Vw8>F(Y)M?6ttSOLR^_~Jf=(& zfi4kx(Ovc5dRCa{C`mM9$-Q!9ewss0+M^#!Idb?!al#x$Ze%fh$dpr5X2jtlINLGc zmlh`&MHxDZ@O@PLveOroEhyTJq7%_$j_uk`P)eDeF_qM4+qcR%8Og~^qKeh%qbK1G z5?r{l%Psa=G1Zvlkk6-CHzE_=#R(qTMu#C30PI0=3_Q#fHYE@mH7B{(Lug(s_$MDrw1Gkyl!^VsB&-Ro!6lKB>Sk?JNcrT$D^LcUm?p<`}bqIle0 zqH=G}n|FTEx-8_TQAKHs1ANFyFAH3fQHx`C+w8PiXH$-_!L2$hl-vm~kuowTnJATQg?f>3A%?IPBT=Fs1zy=%4Xs9+GjIlVd~UOuLkw_Bl}|*+q8Qxf_dY zrct#RvOI5x!H+7MR3@IXUrE~ird(0W3tma%oFz=7fh%;3I33)VWTc|GW^B@%rQo89 z(w}B8_~ZWoS~o(UB;&d!Ilf~2nW4E}mN|A>EVAB|QYmR=qRV6_C^HsSHRq8^^l3Fr zYFJ&b+GNEH(KBM6H&i7iboh4qnicb7%Tl4vDO+Uvl)rBz=PCJp)`w>zOvC>G9DnOc z4209*%?6(IW0IUq$-+gOk-WBYZ4%PU)14@!a9S-EMska^Va%qv@e zIXNh;T#>l8Qz+Ptt5n=wqYiz^C*+KWG>JXh&T0shoSST)lah)kqm69bhbCN(mnw0l z`C3TJH4(cLqaRTvz~toZjabzbR-2Kyx1}>_OWJ~M`bb)ePtRstvBw*1mU+rf&F%YC zR;jhh7gLcE>T)r*`Fe0BkeYf)6(L2GZ9-l4S-BgH#^!R!!cu7?7A1`@&WUL`ZHs1C zIZD|~QBjBXJ1v}+#NTfvcGHnV7w?8ND}UJ(~OkMM;WT2V4k zOxTIa-FsGxT5@d??~JW!Eo|J4#j>Q$f{I<%i$>x(99^MxJTFOxZff?7eoP zy^AdtZX-L=S7k`pC?rzW#?ieBM<*uMD3pp?^pBRc$>ftKEz7LCZ>Tl^lQ)MA^*B*;xoTGJ_(PQ8vwWfWU3LQ*!AieAN{ z)|`sUHmz+Ni)^NCHXBj36uV)TSlO&PcDbw2j5f@Oq7=(`wfB^u@q6X+HE$QMG-|5ie0vD{*FzoQ2dD{t)p@*1r$P1BU6DD|Jncu0RsU6KLGy#V_v&Duag^6 zJ%k#DzYu?|BmpvNJ(dJ_Ji&}CR1QTB2l~Q57eBa8YB6{7z<^^|a*tsX8$Tz+00BUM ztkfU)%t6dM$>12c9Qlcb7y11YzRfflnN2W?>fS$PvZDDh^(6i<2g&9IrUIhZ>E=cU za>d9G3?W+OOicB|Ktbdm)VY&7ukvH(c7QXPi%thE4m$A<9%70gsh0=3%V1z|cp@v5 zJRTxs4nI#TWnx7dgAPXaiKXyZ#YA5MGXXuOMzVI(a z6YpE~YtYm&Rk*sR@M2{fi6%B7kqe_;c@qYtsoLHkAd3g}UlKQwGGYtJGNu+?wfefl z!02WSze(@d`I?MdPW9zaAj}$rjM4EGg8)ZDYolZeIfE#xn}vGE#BqE?$3`|Q7QSNT zbTrX&D}J7{+AKXVW&j*-_?XyRbtthgrd)pfK-V2fB2f^ab4C>430?#Npxhv4o8WO* z0}Ahaik?gvl&ymomYWAh#;+S2<2*#qTo|sc`Z~`dB=?_5s`_Bate|_$nOR%_IGEIi zB=j)-rsnY~&u-BQOre*MV9k(w%vtwveDrLHgOf7q*zkf3dGeduObBsS>4kwNHbq{f z36o9_D?a>YCVyiA2gk3e#Bu;c*vobzi!%y+yospN)v`rqLt-6XFqTEM!JImRPccY7 z_0hbJgS>!zh;X5ciB*Aza|28ie8yckHu+0WuYo@dSNxdztgXe+_z<%-S%Kexvlb?1 z1&?V^e8$s{V-<3t6WDgtuS9@-pu~XQ(brL?ACifYNG55?`imU7t_;Wcj)3|`9z_|G z1#%!px~Q6Be3-aU4-@IC_!AhR`&B4SPL}Mbm@#c|Xu#YX97UiZiU94oW3c#(3Kt+u zT1;r6oYc&45lA_P5KTeA{aTbe+%U<)@ff9ffRAW=K-|>l+FMQk03rtlSndL0#4)b+ znX@)V{vhZFuFMn?VAd|`t|GFquy3V_eR-ALsMH)x1Wj7G0IVB)fi6+M9V!{b`+jHs z%V7?34Hbh>rebBtcr#Cm+i~zFqc-ETco4uMY1?k*;xHG-ud6@tbiYs11n@!z_6pOJ1jn{FBC!U%Pa>pbt)D!6B zKG8I!{zd_(z%J~}x|Yen;Ch^PYEyP5>!!?6fIdA6?96W?O)C_pA2TMMbEtfNYCbHf z&UJUjv}8q-NQ${LPF#=iM0r_Jm@&gD4p(V&-KK>N0%8mCyNf25y#p zW&naFRoLu0>2mK%Cy~;<20R$X*^l!ukFY_gY(6Ld07EM;2nE8i0$YX7fL_MI5vWi2&0d$;8{E{{XN;x-a`g zQ=?BAV9$s*+QMsbWXt!VnD;Iteq&~K6k-ctB8mWZR06wiw~qD!fdowWew!bTx_94< zb?2zW#9x6mO6Y$pnSlfo4TCgU22dBl6Y65c<++djMF);!YuJt!KC3Hx!p=`5%Re&D z%(DZqHVhxsM#L4!fwAgwoxWpZWMT-KWwyScO7F2R)X0mGXo;H>Vqys50dq~4Vc0~z zmle0QFEHjzXKM1_KM=E@EpUsO*L!T+9X6IzQ21#La22 z#=tR+`}vQXcjUyv9+<@Z$EDpY)^gP7Ua_~KbUOazW%l2mqFv(kfcaO0U2 zqmX(#la9KoGk6mopXM$gAOLm&2U?p%IMy6V@jillO!|9UQ5h)sh~ZY^WlVyMMO7Sh z+CqjtAQGn%<;#~YWzV;P2_)I-i@AV+Py?+>mD5d@^Ef>0(?wZwu|@aUBQMduF*A$M1i5|NX4yhOV|{*0%F7vS@SMmeqLRK z+9KlyJ}O%i8*Of8MDWAJ!24Rgk4k`cRH;&jOO|^oS4LG~MrFcK_~J6xL}H{6VwBdU zHyKBR^A(>?t;Mt-!7E7XdYKQCGn9Zf5+?MSub(Tt#^vCIJB%N;MLGLJ%_iZeDHypIu+qB%wc8JA|O0LVCX9Lz=0ff4h& zbi$X+3Mv3PRH;&@9oc^~(PH~grWt6=xE~u>@fpM8=g68uLO|Cn`c!2~oJ*UGv($h^ zOxSCY;xa&nEvTSRR6^(YilIOP4-<)U<;(4guN>G7Dj5nup#>sJV_i!4hL<@z-! z%A021g@S@i%apnPIv$wQdk=_;ssJ4~TXdl)N)m^uQ;A|+ZlL-VE2k3X>3x}b0DQ&? zj6!Vm5jX+|o8pgJ{RSNuvZYEBfj3L;sZ(rhVTBlU-2PK41R!-!#6b~nzNK})Mx{!X z3e*r(u{TZ9`zmdfIGjtDE?MiU90S)Mh$4y}l^*JqC`uEFeJ`bU)Y~XamSvu`D9xsA zlqcIbnG`ya9SRyfF+?2t97_`A%A89Q{W|Tl){NUIOP4oI##xuz*wx1(e`r07Ocf{t z`n4!dCCiuJV0%K{^#aYZhf5N~-7Laj?x|9xN|h>9uAF)lWlklDeV|I4WeLRMaV~C~ zjK1O^l`E~y({#DIZkwg|)UKB|OFfijbmCZ>rOWiHRH;I7E?mFXsZ+$=Ec&$ooP2b@ G(Er(w6{9u) literal 0 HcmV?d00001 diff --git a/docs/img/user/arkymatsekh/3.jpg b/docs/img/user/arkymatsekh/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5f6e0e157d29d171ac7572783d239f7ae54840bb GIT binary patch literal 51598 zcmbrlWnkPulQuYJW{4RlW{8=Y?Uy9*eX@Upf50OaKXbN~PV9smo0 z34j8l|I|Ye0AT)u0RRmM!v7l^K+ya*4I}^niS@tqk=6j{|E34G`JW{H-{=2zgi8Vd z;J_u&UszdLk|F*JLqI|S3jU{@<;#}>i2rS|0P=rYgd!_|`X3CbRRa6pH2>-3-|p`o z#Hx&#n4yx2qNL1MiT`49^j{717XZNC!OcZQN|a1XTZatp*MD*Mug=)i)#=~y|B%2k zdRqP`DF9%B@&7>c|5c1&X6|YVCb$7_Ko@Z5V8LR8F}CG@VVZx~jC=fob^d?cD$M^)LM!F|xUXx+?ex58j9Xt^gH) z6hQPJ|KM|Qax4M>xE}!ksHFcbGsyw~+QR_=y!HPr0~P=PXkh?A+syx#{jW@%j9rZX z)7-!N4ru|t>v!b<0E#vMfHeyMAnN|74!rw6jExLjMFbv~BRE?E>;UEfGJp)g0bmMX z0wY$y7XS-@^X~>A3;_S1gn)>MfQ$mpnCNI|=$M39IN(f3i%)_N{?P&%faKs!gpHAr zO+-$JUr0_@Sy|V`&Lu5v4C4Q91Al)4FyJAzpva&gC;*Tc5KtHpe+L2VU|GXJ{8Om^ zNe}=?C}mn0G{aJn!oD+WGFBdIuttinj2v1wn2B=dDKMQQXMl?&JE8r zL0-}lqqbJsy`{(c%+9oFCu4R|EAUN&=d<6Sqi-4Bah9Y(aJfjLJ zFVb`Wc2Nt-1YQI=l60ML!kxMEqsd&X6LuDMhkwde4@HmzccoYc|+O2gyxWVg&5DnzXvYlLaVapQUTw_|-i#9Tb{ zKPqQh#UqpxlNXTP5+rT6KJVH6k*T&^t8Sd}i?>ZbR8+vP)hgscc{BPw13Eqph;!;+O^eki8oXdSw#p+iDNum*vbgi#(G zBEm-G${w7;s#bfb)5EzBtgP`0C!w5k#u`3XifCN5zS(l$+tQ6sw|io}B#5PZphCq- zXO+xzSJX+@3HRWyS6;w();vEymvrOqZbnI!vFTE#!&)eVaF(EdcvMYp*+QQ}OJNo`e41GQcDP+DH%L-xK~3J- zaBH@BC?4Ryu=}L4V?XGN%{;^Iml4m8tZ239_cXUdn#b{2-ku=TJR-fH6{haMX_1=| z9K1*IOaB^l@Q=x45HQvduc(w&o|4uC!8Gai3(%9bWzmN2vsV`?4;Ts0p=n%sn@yM|v(d)=7 z_@?FbpiZUbbLt1OX>D!ZU%tA<`B0+9C|bi&PrLU}`MCY8@v=47G;7SaUasw3=Of(5 z2H{r|J+MrBt!>#7!wk8AYQAw*WKLMwMTkUvtsc()abouUHm8;QbLC0A0I~wbL6z5E zfCAPsb#oSuQ{;xC+}QkbTcltY_W7Ml44eS6|8_LD0OKR(xM!sf6E)(5SkUn3T<~`* z7dfx1F`Yi18DD0`rJ19KN21@Y0^g3$SI@66XXXbq;95)#qSWG3Xin5y6lUMD4B9#M zeq@Qsj(i!^typ5pC_e7uF?xM2dG+u-KZkX_(z>NfC}5wdohvQuBkL$EohIaN&0QMa z8XsP5wZf{b*BCu6Y`r2>_^Ntljql^_)5^hP$)JE>^-mFSadJ@JP{#sw@>A8%Cs0G0tC#;F2m;`0t}1`kS_BCaOBFH&`FTd0wuPh{^sa#Be! zm3zoLh^39zFa<*`i72AnNVbhD%k0ru=R?ufYv8<>vb37wkW}Dk`-2yR;^Re>lh&`; z9v;CBqzFSKRJfFrXzSumS{B#B$z@?Rj&_n38I9{iW&(Ua;bF8Mb^b%j)~49ZsNa0z ztN7`RhwJp4lqw2+(*!L$sY7j?c{QwhUcP||tRAQLq2P7A1nz1A`kj9yi|z_YQe(X< zr*wV8gYbg4>9(KSC5@?R!)xoA(52~|Zs^Rc7UjI;XcSsac50#4Jbl2(hOQttpZ6!^Q`5zh<t$q~eP{WtDD6{sxY6{t(>2xI>N_OR;0T&JS(b` zzbaAm_DRWB{SCr_jTK;>Fz0-Y*UOI0&1jU z|1od55oNkCHnduhuk_iLSu?Hnu|3X-o0ezYpM0Ln+D{F+xoZ=sveSJn40db=cD@9} z8Y-o(J%+MWqZF<$iPGz*BLm;Ioc%W&Qj^Ss2Hz#iBi;>3)kfp$vTv!VA@a1(^6YVE z+L`a?=Oz5ahuB>AyB*{SF0AgU7b|M@TU@W;7?z30= zsPMalR3;3h=B4*8A%12fE~lL3eCAM==fQI@uQ{q^#`Rf`zTU`qmfPmHC+#Cz-X}-#$Hq{zwi!LyXgX zykF#!an3!OnY|2J3adc!{u}uY6W1C?r)`vzooIfc<)ly~jVWygzB^+J$7LWhz3%b1 zwu4!5!ef%;<2k#Do0B_7Z7Jw1?`Ow+2^Yd!teuF*YT!@ZMNmnM3VZ|~Vy=9{`YL^{A73^%QckfX6m*(BytgCH zR4lC07*`q*UjO{w(`}Gbffn|@E_AxJW5na=P^fBIkKSSocoO?lYCk^;`3pnO?<4-Bt<9|XhLewc@qN6Hx9eI8 z#~aSZ>^oYBy2p8OJ3s0ynIgYwcboo^2B&$8u6iBn{n#!8HO5X}uGW-jWV5BFEUH2ubkXA^mZLdY zZ!7I8qRsC>7LYg^|3hY%cZUL7^VpA3TKl)uvfmdq92fFP+vOlpw*jmyOjXn9tj4g; zIAzYxYW0q{qh*^=4}wW{ZfghX-zW)`U6!HE;e* zBY9WWQ?oz+WR)R3C8ya;KtTVB5Kn@@Bzl&ZE{{9qN%)rNc9N5PvdLAX!lY%k<#+gF z8JH9dkU#)JDj^Ds!(&5>h#TTc5r-o-jfWu;tb|aFu1OO8Q;T>zd)1_K_fFQr;;;#!V~6 z{Zc}tn%@-0+iB#JCxHU z<*@F$9#K63e!?HmefG7yOc`7fB=p7-8wL*X`)O;wa77QlH@q_L`4g+-hq>cpJP9!Z zdAS?*=VlKcI@{N=Nuq48PU&YHkaJnLA~XAKh;83MW3wQ5-FgM?EN35HW$xZfBI{^R z@Ax!cGWFepAeLWNuE6Z00#;$pwDHqBhyKXrgY6-%t7RWF`TcHsr5?Uw=wAn6Ngz>i zc%CL1a-c8>Km#8{0gVVr1|Mu8qB^}@w_WWPgm^VbO+h7({Vlhs){yn23zgc&b#;BM zZv`~%+I&Bg`}S@9#q&=+l1)>5QlAUJM@c8Aa)BWDX`H9Q5M7F#8akROp#_G8fiPudfMj5C!$4rOV?+M~kO;2{ z`ef&}GpyN~8X{xxJYO3@BP>{Yi-29LJ3svkp@N%>8~t?4$cLWVZ<)Hz?sgBFckbQ_ zVXq5o{UjE3jVpTh4mLS?-BTt<_ipa#owf3vyzvG$+ZtPyd4;@Y5yg9JIQ(+F1Q$&A ze%|lC&G)ubOld^3CqH?HW<&EGg;Bk8(Rmu@X;{XxCk}s?X1_pt!2#KVR-PyP{xbm)x$~G$=q^=DG1VbLY z3m*>I4yPXu64?wgh&ml&;j&xah`9MpX9oED`l}C5#cGFM43(WhGwtYO8Mw5yg(`mm zvQkT(1E)tQaS9|CnYC_QcvhmoAP^+xNbu z7)6z4gEHl%0WApZ@{Cxr&@QbAbyh?xB={??`chmnZg%6_ksGePxT`#48y2!;G6o}`IP(<`{t zs6#HWwsRI59=cj3n;%S_tqpFxF6XWmj=2v^g{5*Q0Ydq`zLY8b^`0E%Iu{KqKX2p$ z9__Vsd$r4ph9=sUpV2JR&j;D0$;u!Z!AmhM;2aE0f&h@qjrtha796jSqm;Zw95HR( zyRK2S&|px6C1FYn7f=I$CBcx=2tcrkQp$?LNJB=XhQUKht1-T;SOW2tC$7D;lh2P_ z-s+~h8}psalh<}Na0#)HU0E5$vQLQj-nrX+`~_=xh~qDWNKf2uZs>f4_?G8ddP!N+ z1LEU&k2a6^(Aatx(w*E!PvSl+C!Yp2+p>7M6iP#|{!!ks#+7wT1^2RuobM!DGsbkTJxgv1DF7 z_V`N9sPG>msboOX`I1ORx*x2+nHPp{zM9!>Cw^l6Hm1%N+E_@ZC$ObP`!1FCE=hoS zU}~zKAG_Fm?3-;Ua_^TZwS33(r>5G^AUu1WzdUQ_gup<4XLq444qrZ0Yw+vaL9VDm zhU-jw=^P{go`4j3V3>==#|JPoSNc;LfsA}AC&EqLX<193NO7JIZv#ulVB}OPJ*gxN z9!VBbRt6h7DM=I>9tiylEM*lD2q+Dzk^DClKFy)s?c=wbZUs9b)ybhNZkpeTDpP&c zIjtPr8wsZ+>d0O;nG)<+?W;xh7v?URJ96{7-*ZO@r)&7kPTr#JC3(0U40MB^{Fuc; zhr0R%G<6maGa`#Nn+>mKD)MK#=?0d%hy*alwAIZ;_slVQN%E(jl9#2@j`)rjT(Aqy z4&6jzeGI)bN(UB2?H!aRXzt@8D3Q1n(seZLld&Gshe@_<`Swz5_*=rlfKfz?G6X8p zq}Ed%SALZLHD>I6TT52Y zb7$fHTTkmdy{u|w(M8Lc!&q&j!j84JyKkeZoHQMg{&Wxk)?QGQb%}38rGy@s}ZqCLhpCl~0T63&b3oDFIPhxC|a83Kvb=f&1 z;Mi@6)*`|XKg`eK&W~=3>yyvD7tLE0nKD~k^V8QoX?SJ|$US4vWJmAZrr|?i*G*^o!$shJw3n1GEmpMb{~|Z@59sI0)1iOc3k!Mi84Q) zU8P*oRyWG02QQwg?TGsR0!VtP>|Q>aYeHw5V8k!p`jhRKx8rz7x)6AZrJWD~wrf<& zEn})NlUT^cCXl8Vu&uG8_l93BUc5RsMjn3;o7&&&8AP;neyU_UR~y^gF=e@NyX(TQ zmT8*mjJO{o^yVcRj>0B_+>7{jKSA&I;7W8%xar#ASj+B1wC?WPGa};mSYB!AR|cZq zCegV;519voAVi?SUPLgU)@YqSGVzTs`h5SkgR`0Uwc7o6Mzc^}6JR^}i^pRZ-^EJ-L9?l4rs_#tb z*(A1oeL6H;e1yx)SE}%y^jWKLxbpO7vHr3eBYn^r(4TU=Q^LlUVi4+@x4y&Jo#peX zw394DM_NY|gefWx#6}kt7LG23AfpmYt@iG(%XN8eO6>Rcw4~C5j2mW@OYQV^(ClsZ z`q6!Hf9yz;zc}o1cYoS6Fva1oa-kS`>60cmOr8HOL@DRJU}#`s>wQnza>*a7LcOre zG$~{IjS7x}lc$9J>TsL9-2_{m4eUzJ&ofCijBf}cWp&5)v2G7M__^)=@iqDCj!@1w zX_{IXklH3OG$tDXXD6m>Pbf@_P!Gp8_P9w!_;e8om;GnEk11b)k5|jb%|=dRxFvT^ zaP|f}2A&*H5Xl})0Ud%)hJB^db+2k8O*!_GU&Mc3of#KA|p#|axnRY`4*u>tDN|$ zir?y>6Nm@SSs$t~5e3kkZ$T?SmSkpwC#ipO`_wi8so#0PS5u8+B z{F8%b_k_MyJ_+v^?ik5F)am}wOpu5PR25;c$X9M45IqErXW%(UlJ_xba+|R&Z{YNH zqdUu%nA45L%_Ud+WNo>bC*sisQGyH`UBfNI09q+Z1Rk3aah<880#JZ1p2Xcx{+!wE z?T4USy7p5APWR$3fWwV{%iw0U^!`2FBf_l(0*6c|DfVju{Q{mh{Pn9Uu(zrCR8W6| z7>GG6p>W`mFdYyV#9=(+_1H80!2(rW`)##*@pj3~R;~1^@hsgm&uCtm6luqlDA2f= zL6n`H0YfI9u|Yx_8jw8wdR**{>-mV7wDs$Bn<21#@bz4fTH!-r+n@7l-|EwjfxNY% z9F>0&N}N8sd{%jecHdp0!4#j%=c;lR2umwV1NJ12)EGz_1bA~>mv4MSX!y_3%!yO6 zZF{~Q0NJ@EU(d*dJoEbdm>mtuTm&>}XH z%(1?f5#?PczyAWdz#O=#_z<~JVNO+HEy&xxWH_}gq@Fgq7fkE-ZW z*${04q02y6o*+?vV^%Rnx21)F4kCDfoS(hj@@ft6o_N!YzTCfk-=b<;e8lDH(=0+# z5)~7z%St!3Cx|QN;hj|F72}A=oVH=t&5MVft!6}(^Oc+%eVEG(CESn;J4SIPLq$iV z`OIj21b`n?*_m%qf6_3-I$hj&)k&w>T$h!JaE$U*OxIZKg`4sva@>;9G0352>BN*l zkl)a5b6GIBV%)5CG^IK`_n#GfOl?_*Cld|^LSte|SJ@rwm(l4~LX(M#O2dVrTy$4pWVXl{Egi~sb(c&%ATTk^E`vo z@0>$@^SI@rJHsU&mzDjlCEjmEOgrJjfBqE?378b3L`Duh+saPPE>l4chzKfxYlSXL z52C{B=~tX`wd+t+xkpIUcG35eV^vBjMLz%;vZ}YnTDzXQtSf(F_*`n?qoY0sb|pZ< z2*O}52qXg!#4Ta}48SA+5sENUvO;$ii<&iSG^Jsv%PK>+#$to2=4Hd_l-bK=?20&;gJT zP>|5z1Op8L4USL#i^@Y|V3Nb2W3iA?u!>+)eoPiYYmZ!{UB6-ArAOf8s0K%l(1o7N_CJ#tQbuiwQ4lzi5e$lUR0_0H_+kVw0@5rIteQC z41Hav3&P&E=68_1y)fVfPLEn!VG=Sf23 zE@+B4Yu5UHwwAv3~*Vtqy{++0^M7OS#@e;bdEWcm?!0F+(Qh zpH&@BinwSmFKh|yP5hLwakIJ-DC6Cg&I9GG&GdrKl=l9Kg5PqAn=cssOt z&2f;}uxhFCIzz7Ee40poMk3X!i}rAH7dgH_b2)AGSj&sUUAKfXK^?H%d&Dkm9KtrX zpaFl);|v|{uNO^`( zDW1~9c0@sN@x0{nww0>D&-q#i6}rrlrPClTNk)Sj4Z)bl34F-5r29bGa@NyDQ_>_0 zHGI>UyocNrBN+}?y0TPi9EWjtn#-8>u<>8MMi7Y=-b1WX$aLUmH)i{rht@fF7=}zjss;UuwcUA-`pl2hb`6J%;|i8*H}6{Bv7-x z*UT*3OId+22|g_zULttKE!1a~O@)CF*1Ts7eo;@*x}E8=A|%<2f+lF4k(2Yh**{Tq zN=odOV;gtzwkt?kw?=N_Q$s18U36}4P@W>d9zP*QIH6)L5t<7sNL?eOK{-6XI4rkR6a+JaT^6FZrremAs$Ki^k&wdHfN z(Mk$4Zi=W96Rv9Cpbw4f2kx0&F%2VZAC_9Tj7!PSwMb8;&>D}9Jw5+)gM=7AjUcFi zh7m$oiBw}}x=axk*7aHn5sBq{?|xO5oc<(ej6TDYVY7p=TqmF!jrK-g&n+VDktjv$ zXnX~YAvHt_$&Bb)63E+EIj0uHWK2b}OFik5*?`Rg3yj#1a_nl;N zlSwS*jf9UVLY|9My~hcQ@u-i0^2#bE|Lj*Yp2ku6HF*OY6-9URczj1J4(;JKyYY`n zyhVaHs>Z1kJ_hUzK`8N_aPZ^#fE`MseteeA+9w}R8p zd+CZ$s^v9%GOdvSPpk*c-m$~R4ywIy^gsgOtfhn32o=3@jiuo|>YtxXlP zO-I*b_8PS*YP=RkqOMp^YCvReMiakWzI$6?su7u{4pPf(EZ7N(E{2M^1M2oElPm4T z9BB8<_+mEIdx!aJ^CSVs{(j(H$s%B!cGZ>GcEnYf=BRO3-T z<78m@H;Rr;wYI>fDDXf-&LyYT!zlBVKXEfZ>uG~jx%A!DGl zin`Uae>ZF0ngkWJ;D*d%!{ks_8qzlUAy!htKl1?UjT&^e&(?n!kWf z(4FRG!}-{IybMdSlOLxf2l4MEKQ?n`jlt+}+**s)6(yx1E}K?T`eCr4Q2J;7U7%8< zW`aJO)rYq$XXvXn#>TOcftTt!!v*>>aQE_&kARQeYjj`MF*}PMRrDwFUwKPzX)oWbYcQSW*Ew6wD59#p z58IN>;&yB5P5Kh)n_u3QyAwVo!#*-jHu+xejtFQ~IIQ_zQKy+VcMOTbsoR$2+syXc zu*96MWcr_LzpK~Z-M)Y|5fMokJVhWThz?%oqXH$E@8>Vu=k|JJ>{QE1?m=1yAVuJR zW{K(dZh~!MXYP*E%m-uLL}PEl8-IMBT&&eMxfz1w5LQ$P83yOK?2=y76TGtI z84q^t(cxmnW=aiy&gCNI%6LUM`TkbZyds=R|0g1+)?{rQo4! z9VU2x2QD=TFj_9DdNb9Mp6K8D@^R6u=N|qAEOO=}U&A}pq{z@WcVmuw5Y@a0OfBR0 zsd=PxE{kDMXImGCyYp1Xu2J(5F^8$g`IOGgCf-`U6$d&Zrz2F1IUK=tH?TMYP3SFmX)EVQ z#OA!FUA4!SL;U3r->Z5*WmBtO)%o`(jr6#%2Z>X_&x|3)P1_> zDh%3CWBWqLiMT~=4I8@S40a9Z$nQXnGLFF9a4C~ePo9FR&~cXOJqWUot1j2u4SAi_6NZm!Yj`H7*(S3g;SP-ibpI z#Lp_dr%y_*y`g$PL3%$AZNqP+J3@>bn)PqdJEc9T8C(<|6LD(hMl+Q|AINvAya^n< zYt^eyZb`_nGbuRiDe#BuR%QuXRxrJF1_lXa`v~`Y=oqx25A24eJH#GQ?D2_)V=*}0T7plQ8 zy*heO*V6rEiri_{n%wI)N4-e)&RSyebKLMC0k&eBExVJ11b>5%f(BAl9hA|jTbu+z z!5iB~G#BwUr&vdgTIi90Nuz|VyyH_1v9(kZSa<)!396$N$EWZ~RzI`!cm1IfDWFT- z@Yz6a{V$j!Cs;+>ZSKm{)&YDVNR#P8yVFiB!4Sb^)}1n{;WTNLG9dJ0Qdu7gyYCSi zI%#k(4ZKPwp;ZY@(B6sps=Kt;{u}2=0z>O2RQQhYZtqjsmXC7)?HJ!I_Ja2};?#6@ z8YHbn8wrahWHBB9!mf7YGl)}?ED_CN$$VJ&)6)RUa#dDV#CJM6}_ zsb1QdJhO@nfV0Vi`0^J(OKG)QiFdQlVe2jM?GSZ&#c5lrimiWcPnhwdsP-Wf*2#J| z>L`1ww_CjF3bBg&bkCL;ML-TSa3sVA|rho3EiWB<&) zNU5=^3Yi&yx6+eT+XEzR79Z2_LprOi*ys!YDqRRmcriiKG0waswFu40l--MS3u|@4 zUjW!G*Eh2cERnzvR~;kp$yDo+fGc#B8=UqVQyy)qQ=8?kbnr2S@)%LtzeT=~89>Z> zfI32wt22}wCqvLd5plThgENaag;2Afw!$?3am|i~aF2$qG6o$Yy@6uxmC<-$_ZJ`* zi}pCBG1nQ(Q%v|L96Ko>`@U|~K^b|InjEa{G^N;Zi+d}lcDbLoH9b5SMyS8TI9=gB zTdKaAh)X9?&>&4jYgM(u-^IEIc}$_bbCmbmb<~n46m(jfXq%1`g~_ zB5sA?-{m+NAjx#X@0pUqPR2*2W7k@deNmUoL39fyKOOBl+YgkO za)ZE@4M21hrHC)4^3!Nsx?4Kj+w@ZZB;S9aOG+?Mu17`OHqu#bp0VyP0M&~C>)Egn zxr}oPs#1i62dFjtcn`cjM2zXJ#+JaTo)8AYc;F#c6k}gwQSAWbc{)-spo*lsj43y0 ziZ5(GrdWoLY9-fhg0z0A{O$(|vnLOtr&Fsg4VCuJzDDAjQ3SO~XvOTa#gATZg-&$1I}R;8#126#n;Z`T}_4mp$3i>$aSjWU`rw(9?G) zMz9{Jy|@ux{GfnB{sJv$>~JDVBgT&g)znb`7cfpqmM6}LyiZbaV>2O$KT31!_mW?+ebq5-5$j8Cl9Ku@)tqc{RF(KPifWVt;J3_(n#km~qRJ=i03zQQ zDzs}I(hIsFMZE*1(tmnKs=V05yZCgCm1f)*D#}^WVLnjT6t1!orYjQi7r@e&Hq_%u zTiU&;D+iTE(SO$521gn9%QO2l^pzxCnQGFl9c_=5ICmyIfEjUwsuE?9;;|cYrLJC^@x$NB4)m&`>YufG)qj1>2A~w~~<@k(o zi?jwMKSP&T6@06dWiRL9;bGw$q3GfyKv+HunD=7Su35Ix1^VxQ=hRctRh{ct9IdIV zIuT_Bek)1m27aA#zAx}h_@V* zmgw56NR(w+#mL}kqPFphHz6)bO|s;;q#@OfAYUY~Fra*M(jY^v69HH_2E^&KTIq{J zZ8yNRVvD+{S)MrOEkBya30U-h%yJ~hG?GZN|9dJ4(cBh46YiN`{1{RDsL0VYVBXUA z3iNm1`?IvHcvnQA=c#7zlYzG|HTPMbiLC{E*hbnsb7ZZ2iNfG>FZi9wU4ux z{+#Q4?COjE`B{P?`$f8D%AZ=%dHK~1=E9_buvo(V(eg?M8A?@@M`i~!% zl3E&E0w2xIU<*S<8i&~Rgt=DTt z#=vGO@}RY@R`3Dd2>y-kxa!1DoSs$#|5ID7J(ZB`NNxMYX^8WNac3poOf@k`v_^V$ zh&H3ePU|lq-fU&NeZ9SgU;Y0dsMvp(&Gu zsbL2Ca+|ZP0l(;A<(}Ats4>Bs_lSintmvs^E^m-NNMd}FGQptY3!G$sl!UtEmm12w zRgp{~m%_)=ZT+^Jp`y!}sf{vy?rWtnMZKbA&EiqX_|`E}AL&fnVLPf0QRu#s9Q%vI z(a^!*vDMdQdMWO?mR3Ub=`PQq7}+C?`zseE$cYY~R+9uKzUBNWdR9Ekh`t{EkD7zY z$HPjLkWASgqR<8hHBR6H9=5^L`Qt^8fY4^Ah_dc#;I%o1bmgL0m z^I!eb;h^`p5|c6Qd4fV~W0j&&s;`O1`&9wYU4l*6VYT@O7)La$lj&!WF$v zz^=a9`&_!fb6tyRW2Gf3V&YefbH7$ur*fR!G?8sQYsq|o23Zb~4F@!=lHY1s1oSnN zbzESnyqo?zd9g9=ANEZq(+fIX^TeLpgK(0Eq_5jiBx%eP7l?~o8T2pN(yhG-=L^Y? zUiEkK8oqK94ze>(9Cm`@ZZK%$!`X!ch$oF}M;!}GmDrWL=yy}TUBv!`@tlb}qag40c2l(4W(xDeKl0(CTaJ@}a zmQX{n26rwb36cJATaz;dvpS2()%Nv5dty7 zrG6v_VyY~r&knpeS1r>ZrmyMQajDD+ttW?8fFJLF0ThomgL2!^)R)@s&vnI!7|cFF zCNw931EW7AgtHU1t2z9Q2#>_+-BWzJVyp5NtM86t)2hu8R~&8Znv#`n$}rt#eD6(i z*hbIk3wcxTw9VwXJ+QA%<8>N=8C;*`s*Tnrw{GZnwbCboMPZbC78@y^mTl`|SF>%C zgyb}bnJ=(c%6ITy{s?B877jX~*|T$(6n7Pt>@|LL$m`rzE4Als*3{F` zlumsHX*-~0USf+AWhb5Lt&GI8)XT39@!GU`hL^sko;0zFpxo1#_i6nsv5<{JH$KLgojbeNq9?Y&-d-ml zi^90cxMKsO+lWKE6gA=mz#|3!7w(llrv0~hZKoy4V$)~p(!kw3b;bAl&9;&8s)|B2 zBjxY-9Ik`6hmk%p!$%kAX)z&xkfNo0y4zIAr*%pMwalNBtX*Z-=j2I-vn1&1TRGdQ zqM(hQbZtpuK5=uw&S^tRXZGPnW2h^q5=+5z9wdokV~czv4`yN47ji1*O*B<>n{+Gp zh^1!xB1^I6AstO`>CS9EPw{L0zD{rcrrX7dgu;raYAX_k z49DsKHgi{{YIjxG7+HaESmU!PIp+&n@`Omo7pabTU+>CtkXWfTqjr1h1^64kFFekC z5zKQ2%Nn$pkf0-9s=qhPoOdLP`L&8TMB_C^x|E-B5QTRKV`MOgS%Q}GX(?@F z0Lz3N#Fe>XM`bO6Y2_MJyU1CI(^QFJ(sgz76~(5;xOdX>Sg>q!RK>4V1l&pV@q(Sn z)_I%0{9!WeebO0_d}wE_QrONu=!nZOga^@jzO@H$_XO8Vdrbkm(vC`pYt{Q^hOL1Z zjvI>J(4m;R#VWe1dR*x%@&dW#$^-l%;b{@I$9a9Mn;%u_8XYM%AxkE_(PP)UPdh{X z^!bOD6>!tCJU9%;4JC=%mvZs_zoHRY6`(U>1lW0>`GTZ%IsO8iW0lmE!|_Ov9%x|a!QVYa*>-<k=f#)7yOC+&jLK94J~+uct&+0}x;9+B;I0-8dzjf#bH=pYMKrR_M|X z7j-Y<5OXqG7Cp*zmvoiwlB6k0$w`)>6z|aI&eJB~Ts%k-Sdi2a%BiB zv8%?Et;tRbu72lmhjEwSKVDVEH@ud?BR-L?Ue(n5Q?(PND}jehC^S^tKiwaz^9QWy zYx&P8@`J^EQdH2WK#ltpnL!ZQ#Db<{tZPS01$6W9%mTgA&!LgjWw?&IIG&lWmS_AY zX$#>3oge z`wX05#xjAGaeWk<6@ovPq~jA(P`%cMTNu?I;k>!(A}RuHoC}##nG$HddNL07`H1Mf zk2%_i<)oj0JE69eiyk>Ts=bxM+=>_igC>cHdt&Xf-y)qwKIRF011NGYNpi2yUoST` z2mb<$^*#TzE(TsI!zKq64%j=fMkJy(5vG36CLzh1LuwT>{ygDrIvW|T4SjJ4ng(R+ z;P^B>3AL2vz%Md+ge`R=! zQxi#X8f%p3v_g0Q-fzxfIO`VNjK2WYHHl?rmH5)Q-7kaUXE*o@N?$khxvq5Nxvu0dV7sgNFTm$q z@y~fJhx<`|RC*tk&P%jyJ%>BBkk10o`^vz$?`+F^HtuZ2b<2d7%kkBA- zRg!N2F9s;GH)PT%H82?YHfDP%z5ZFFjv6;B8^lxs?VB8fzAj@uNUC%u$-wB41Z|BK zJqqmUG8+!6FO-BemA9^Fsuf6$CQA5RVXq>?%QUl0Upb4|Nx`93s6!q{lZh^kE9Io@jAaSUq@Mg|>LCYPo$MhtKfF$L>^N$tQ&0q7>9$S!_Kur*z2_AS5bay(dYgMGo)V%&H%Z#dcF+Mw7{X0bngw}C_-FLMW zlAks8DbkX7)!%Z%a+iP3ZVYSx1$?>#m^wO`#9F7_i`xCEko!|znQs%joS$tb!|4tU zUu-BFtg0=+$vTO4V@q_{6%mQFJMb5PkHV2wgW3eISw0*3#pIdnWh%h^LonkdRGAt=p=S z=#ULL{>-=Sl3*>5T2@ilR*5eGe?~c$P6K*5NHN2M66DqSxp`C-X%}={PkCxgiahjo zf4;b|+JlT_r%2nixgZL(yfRM?tOwzwADl?9!vQG+? zTipQv7Xa@-5WnrU2%UQxvw1q|tjc-s`NvIY>sGQEZR2C=`b2=FvD$ep<(c|xrCCTg zH833()OHeJVLQhbg&UG6;)^KzQFyWI6!OEkJAr2A-b;v?UO$O+T_EC>US{t}Zi+V< zDBevpxDxM0m)um5uAHXC76%m@yltpbJW`C0D|YO0L8SZ9GX1H9)RD@6Lz?JFgD<8a z3TNdZnU)e;sWX>)hT~6_yKHv{@`A4RyPlBzwB?$&1E@dX5+#kKEA*zCD|FW*g%|u& z;s}mBta-1*TzlV0b*dW4A8Idhecph$Kfbzm2idFPrvB6|AKjL|4gUag8bLHq$1D);%@nuLQAR^NVB{=P&09^!cIqb}!bn~5%DF7#9|BN+#& z04F7*g5ka*BF$V%EVimkDWjPLh*q?m)<3;zHG@SC)N@B7Mr168MrmBJ?+kj*8?)Kt zIvXOzUODu()iRT~r;gZg=x%zyG=bb4@@W0R-{GWWd3H1gYTj((H?EG8xS+p4O6o8e z;wjxv-m{VUE+Mt`#%c*uqPecDe|j7!?S9u5J(_6gWL>Xxym2=qANa%g(b!i&A)Q-`}jE4;#2-M>==^AB$ zZ8o>D-XKXfobAgspA=3Nfg?4L!z1!sQGeG zJv6d8$#YphbKnCsuhVONs$?cW}*7ayKkeXsaTeB=)jGtVQqbDB=bq4c94UN(K}H-5T&Zl!bg@pQOTxAmgfCzqhqEh`Y^>7 zbI*xSs$C00{?^I_i4ReY-SzY7Ky=N+r4Wbi_3UaC>dmAusWr%Yaf5|qvOrXf++20s zkTivFV^(*ad_^;P-5CxTVCJ(~tn$rfvsU*w^0#jewAZ6h%=|*i5I~f({{R|reF#OZ z(p|-^20V8cIr6PsoJ?z2twORY-`%b>Ktt81-3SMBY} zNfIR1?WJzGt3FmgD#t8djq{sXD=x_TRw z(JaVR)x;(?Dn$sga^99~Z$cTbZUix=rn!ydk=2l?jz=Dnz}vJpF>8=2sdI033XB!& zp=0V-ar%4s6?Gcn94kN*OuOH4$Styv;#nJC_Y@@hcqn-`;J+x)@wZNu8JKk>AJp#*?)7~T}yDGnQ5%a4VCzA|Ovm#%*qg$^Zpy{;ah~!&`g@)d@&I|D(4E9+*0EG{u<33FAv~w+hR+MNiFs2*~hC+rp5mN7nA%T;r4tz zIgHR?Q58*ES}m#^oXO(6vx@b106fsWyO2QzMKmLDeM-hNgIf_!x`+3TiT?n* zTfmFbm(2{&nD+-M%RU)q(Xj4YG<+N$&#gCE$B_653Nus7)O_+abbRSrt5qzTjam@O z*!-Q;Yb+8g4W*5dijleG8m#!m#l97fQ7vz6?+43oH_^PiTU7hJj`BM*wn=R}_NN9( z7AnWLVY<|&3_i=M3sz4&xWtdu*+v(pYo%Q(=+{QLZwyoO=D>@I4k3SZutO7cEnv0b ztJ8}!Ty$CZ&CDO&)h6&}uX;a4IN-e%tX8v~N%yjStD(K({gI zI~$lh^`mJ%3>$%tQcf?Z*L*6fXgjiU(a=LW_I2wmQ~wgND56yrb#uo zqG`!GBHYCWk2`L_5^+<{ugIR5(v)MtWoFk8_E4)Dg;9atg-txl`XYe25nW8bK2DuS z6mYJTTyr&wKR{H_$8ee)Rn4@P&w?xdyKH-!XuZ(Zb@^C%qHoeoV9+Lk<(ifC9!HU+ zMv<_!6iX7|cQu|_rFK)0Y40VGbehjNqG=ldR}_Rp6~Erg*3@e4L)%Cy-LefW3Llca zvrDx5JkY#OQP&L1L~~QUaNGCDPURhBK{ruO{86-TSXAZh|Gx_|Q zyqmw45mCahkGb6K?Q?OTmX#V(4+WjGT+5_(jwFc!Ai%|A=#fNtd-x=cCqj-kyR&hakQrkQO2<@1s|nn zt6tT{fH7OtC!|Z_qs)p9k%E~7X{&qyX=r{@?#?T;!)(`9vfDXX7K+gnc|{=vRjuZM z*8Ls8Bec^;1ZCg16nl%gdX3qJIYlIJ`LIjtX&*08mC@wbcdM(8@utNiq+C$&K{LYH zLxL~vKdDgh2hJaQRtz#ek)ubJXmXNhq25UqXm5f!NUJL7aglKcN=I5M4{eX19-UP2 zl{-?Y8;TCQYdEW$>sOCOy^_aK%`a19PI7q@MAT5UyY^W8nL$~s_^@ehreU%g_(}f& zWhIoS`&2M2KljFe0t&Lhb_St#c+irT#N1(Ev{L7@iI{qYqfC6 z^vnZpA-Vn=FT>1F!`r5e2P zcgrG>!yx1XL8{L3HBgN}gShSVO%cjR2&A6PH0`ud8k4G{Gf5$$qu}m;(};@WO5>gU z1pL($>7B(X-xVj~y;|8l)yy!*v7Ip_nA}Geq6fB+pNBxZHUjU|9HWEX>$OR?ACN~q zl-Ej6*lVLF>@-n_bv*4L*4g&(ai743teqBJ&MT-1@|@Pc?N-f|CX~|9{I%}~Npkl1 zMw%Ci%1DJ+iql%kl_R_*c(sv)pETE(kmfyF55&$-;<>0TV84x(Wa-?p6(k*q?a5ad zH5yWkcy2dPwHZ2b@6Z|4q@f*fKy3tOgH$(iMcC~H>~m~(J|p06Qp?l815?KlQ?1Ua zFF%%^y@omFr?OVwKPi?5jl9c)Ce9kHWfq!lBc_z(>h79kjX*=Iq~}(ZEm8#1x^-%` zvYzp=8toqiX#W7+T>k(Jf9kD&3~%a+{uX`Y6>DJ-)EJUL3NQyLWf87TO*2Y&?NP>E zfE5&CGy=1V&pt2ws@0Y{wSmgrwJt>|r8GY*%oG+iC8Sp|;&jQp;PXM2kLIEK(W?uu zgq>XHP5g;@aP0(bq{ZBTMP$(?T(RycS8SR^&gPYT2^+{j3ts_0^xmbio2d$P+M(gI zd`1Y;B;m1$Fuu7EsUX&CHL8`W-uaUOw-Ly)jH&u2p9%{Tff60$e^pBumN$&{i&%{V z<5z*zTw#Vq*A65T7WD+pYQ-2G4zVk?oySs=SHaTFM=WqRJTlp>Ep)%HHJ)qbxpB&A zRw0^}Mv&z4#%j_H15xpDZ{-D8kR_w1?^=JoLFuJ5hJpOFo@a?U-SEq6yqsuz&J}ZO zxm{_{VG_uDI&X~Pi7L*z@)&2eLI8qiJ@{t~lZZ=!<&XaWZrJ|$XmA@b`lPSmmfyYW z_$9yf8oz?W{XBIjsXxOwk;JP+lav9h<^= z+-?y&(fT)6ky^9rQ#lMrQRC6f9;*J$^@&Quu2qM`@ki)VHQ%Gq|53Bay=q~ffd^}pyqa(7f zlIrE|U8IoZobGDb4s{x2R=}!2hBKwTAcov?JdH2&2bmrl{wIvZ0j4>kXw|$DT*{H4-Ut%b z6oorcAI(~kw$;6H)U zWKyg)yRv9bN2eI@gI1SaGo`x%2*~90XxD3n@$nubt1!fNCW)iVg;~3YGAKRyRMPxi>HEQ~6pq z@Zz|g{xb|_iK2P%&KcHTw4|!p5+N~`B>3)R)b-wK12u1Lr_A3=ivIv2^<=BoqN!M3 zLV=|;rj*e9mCy3?QlBdQ9xoJg7?u0W6T;;kN}mS~;*wbqjpl|qW1cmVHq^Y|&2td( z&uJXn_G#@Ti@4h!1Z^Z5f=;AB(L9^)PNG$1_J#Gvx%G46m%j}kO%Kdw$)afT;k-25 z9;AciYz74nlXw0eCiI$<)M^OXhH<e_7%k48aFE^WS~7UpYE~6&+O6R~MZ)}i2TuG#!aL~x(oY1CNXa7MycQfnOBpua zIHitw)=1kc$`3J;Z=gUu#Z6%w?wc8HB#*k*4;j;0Bb^wJT6O?qq1fmE|n1lP*0xq>!-CozWIG0Y(7`oy==Kv@G4Zf4w!2bZI zj}DL7%`Xl?-Kh~GTqy7wW$GrAQMq74dh3qd`XC049$Y_!>cqDL%dpsZMo1fYU4khl zqC&cvy+}yBm5*w^1ly21gQ-=hkO3#Nsnu^G@8K22{{Z}S)Q1cz$@eLm!0-b=(wbJK zG!HMuo*8(4R8inWHGpaN^t-vZ9-;#bbzCT6K`ZF7(xVF|2$5Q0>fGs3AZE`lZ zni#GlG0K{j{{Vx_ZI_GBAA^GN6%f1a(6ZHJc+A^J?gK_u*;yK8aEK*g?f`jy0ruDzdmAzHKkSr(*0BI!M^Hn(=H z=fXSJ75@P7^YVgSER96_j|eoTm8n{RplTiNZcRn8Ev# zOEJKNHj>TX#d3wC%KGDVl@-^wjH;Yu4-M}Jg6A(DBa-6MdsovU5zg9E1o28MzvZ4i zUSM>+#|?twZBES-$H1*r`Q6@Xe*Ge~* z-_=uJ84v#eVWV6{_$05rLb(>BCvO{gBsI;uD#aI(&7va`+xsUt+j; z{XS(`Rr?+OgE}Xvv09~nO6dxUoA*5b0P?wz4}MQP5u7}zwF3^l!Uo9Yw>~6)(Y-uc z<9DSvYO$9LSHukiK+rU;R>;UC)!ZMiG+k7{IA~?+uHz5&8I@GC5CGM6-zyJlW+x$g zpNc;5Eohwo0OVIrf9uyuZ~p*gtKoxsrkK~lL;iK}cE8b6MQv@uo|-Q*6!!qof)&YF zkR6A&Ihd?vxA8oRn8~d{(;(zqAN0_2bVv0lHPRy*Bw=4Tdm~p-z2bW7C;1BNC;3-b z?HiiR$Fi!|O`F#trHvEPzAYa)Wbnyv1mB4owMT1h5e*zlrn_=HxRL(=M)hmvNd__< zbg@%VxdmE*q2UIBplMozP&5zMnm5!Xi}50vWd|7z^rW~*+d#|6u)CdekWV4_@(S1A zBM4bk0$2f>M_C4?IRu3nCj*q~7)6?9Rlp||B#98z?SL3C3yg zkM%sy=9OE?bNCWbsHJ&TTcv=KyRpQ7EE|SVD!4T5D~__tLj8}tSdM8^+S~9{es_rf z04mjBHhSVQXq#8GXWE5l!YCRBfu(8=7o>OjNqZ-M3 z)HOVPOS?0jo8&dh4?`&G+f=|Tu)Rz-iT&fliQpaO0i$)On^aM?MAL|qrieg*?%K*c z9cdOwdfIEF77%IKWk~vxDxCu54bp}U8H;C~e>=o~m1?rimfo+^Tsfh!qP2dib>-xTRY7%Wvve##{R_HSrQRqTWMAE@bsc zBN5xf3CgFNJ{hyrw>+cS?kYHXk8-C{7-Hy4Bw>D3QwX4SkolnnA&4IJFXCI$oLo*S zX;wKAiQ3{tm`l@O!s*0njh{5`E)`Z2sk-Sq!jYWU`iSptdO=8v?Ie&!$nnW-_$n!F zrXEvpbUMD^$`Un_+TP*uG+`d*)*Ms5J(l)D36zbDg8Bu@uHX^^Frmup?`E<(P?~49u$`B4h0Y zrkELBU95&n-FrnHYP|lOH1f)T?an9nMfA4qy3a5DlcUMox&+&*(F&!ca#!_ zl!gI^Z_Z!;04num=xW-yf@zmkfB(b)LJ$A}0s#mG3<3cI0|NyC000310uc}rAR#e9 zQDFlxKykqnA~Hf!Vse3zp|R0W;gW))@FP>Q1ViyNRCB`8;{VzJ2mt{A4L;1&pU@ULiqmx8q;)+9<|5_nsX+c#_YAtIKo-Bo|JLdKbkz`(V2(K z@Uuz{=FS$Add0VSBd8ppKh)&g3F{10AkEmPiQZzPCXCgazf}1#Lk)AB2dW}1<0AuI z_bW_aaH{3v{Uc<4^^9!qGgO*J$IZJI6i&WikUp%UBMn2JR_R(|3YctAs-GvQj;oa5 zm}BL7no(>J5IehjvKXaGk)kWmU?U<5`|t)*hO#% zFh-tQ{&J4P&Y&!l5?5phH}|Y#eceIq4)YaJ?LX;vU=y4hUA5|+Sx$40@d?d=T^Da{ zT8Xi$^Ck}G1&>!)dA_S5%{#)!s(kg+&%%v3YMKc3*z|@zRtiG(+ctS4d6kv<>Zb-b z&-A%6NA;k3&YA=+t!Zlp7CE|x*59fZu-Ll?hN;g8MW+W%Fs)eNZdqCAp;McGma~-M zsD{`?51JHDMS{|KDj9vVU zS6eaq*9Wyj@gB|Ijik^f00iM*cPbZB#zCSVI?l5(+=Z;5dQ8P$FB|nnw(%O;kD*XB z=WKX3wKz4igl7}OS=M)F_e9(gzYW^nO`LV3t&a6`t~4(gggQ;UYDI0{j$h?ix31mdP=`sFezh^2 zFs{{r)$&gGQKoh#^R%2BCm_grol}SL7^8fqz%O6zjwK5Ks!Vmf&y9ds_Edb={_8{| z{MxS4vbOo*AVZ|pfpWxBj6HRbI*GdoT26bs~Ppb z5222uu-jK5piu0)@13 zSQ`rV*Tn2Srmy!IXPCJg2%=g-EC!9j^SCeWK6FL$9W?hGrp*Bb^RW`+>UIvX?EdA_ zHe zaM|RIq|0oPfrVs4C54MQZpUJ;=U(gkGRB3CXs9cx_WHpa2-U`vM!znJ@=&gAlFyt! zs7Y|VtC%>_5dh-k3?AExG%hOfu*Cf9vb*+<9A&~$X+lhCo|8?54wFrzRZ;d)G-I*7 zvpmINc5vQ}A!)}TfPe{tvyu{CvqrVqM^}!;hWdiB@M#ecg}czQ2Em=`H*i;(dc_JC z6>-LpL!{kI#;DPb$59>FUWtjMEjaE%!71oF43QSe?18Zksp~fl>pqir%~V@>Zab~lI&hS))Ys+Nc&}|xFR|aAYvxX_ld<|n!;a2vQ|A8w6CZol70n=59q3dt7$Rey6`{?xAj0t_)cVHe z??%@jfs~!0YQo1X4OAc<=VYY9iP0(4V0Ix>cM3hTV(lIj@GC1QVt4ndf^g9+o4UReb8o#wvLr69C}l-9hh+ zcdVpv1aU;f(S!IX(W__dfB9HmHGc^Eub3#)6fZz? zo5X5+HxxgUKS_8&k+v^nY@#Zqc|&I9cqmD_Se=#;hO7Wa<4B`n zSg6||u|~y%TOWmXrsWArupZ9u!E%8^YG@(N7lXtjP~V!cVpbNR4|yy3Q%zZ}u){Eq zF!|V@(RJI7XookAGL4Q?Za1eu!y<*M#*=?^@F<8muByc1O;re;cUSFQsf8``LdkE~ zIYy{$ZWjuZUIE?=7B>YMj`RJ<9^vk?xUR?%j^c}8rUtlL6C6w(SrtN~s3@321y`~r zD77$uHvNibnCTu1h70df7E3x9H=JbM_P@*!7KNU+dp=YR8M`~@N6f4$9}5MI@?bT# z0f|6!&_<*$POtUlArcFg^96Ng3j-G~2klJ`k0*?NmXaM&c#pDsoWTJC(%YozA3GFL zcf|~=S*(KbFA~d~yTWSTR$4MvP-^eIxnR*WQ5xCI`B1)$(fFRA%NZ|foS>P`8>~Na z2?{I^iKqZXQ}k_}8(LzcATe*9NIRF~+vXFt+HtxxCpj7GH+v1CZm|8)q#BY)ceX@Ei8(CO%p0RO{uvzm^!}hnV z#8&df{V!SQ+!t#^;0k?EErc^Gd=c*nE)o%Dx05O>CA;wXEE>BbiJ&b<+CcYwrWhYI z=5mbQ->`=^QEf&5Z@F$?{{ToG>M(>OG!7~5fSlQ|B*L^SGt6r8_CUtPz6uwaGF|F| z!IckH*=(dQRk?1LFomV2Y6q(Y%moFJO-ghc%w<1EUc zVb3C{piU)1q30A$Q$mFL-|j*$#xFKu zG1Ou|1MC-V)_Dbq)Ldncq6IhyEg6`6Cdp=wv@D7>$Z#-Ov>5NjL_5(C1DqoRB~^JQ z`K{WI3h=KA@Rg0|HX?9?YRuY;t23?KvYdg>j>7{WsIN&Q_#2t`t$>k+AITb%d8R@k z?zaR*Ms0Om6ik29v{wLwgiI@U(sOz+>s4XN8s?MH?)fZ-(#)?H>3IJDOUAN-+*bKX zULw3jV?2PnPT;YfdKLp>$ZT*`P>B2kONK<3L=Dm z00y}IC@6xWe$!1}a!d|pC8D~Pm;RaTaD`;P5b~)RfS&V3$`wRgxlfqi^y6Kru_KrS zV4lg$geJxj=S39_RuW=@CU%w=WQNN-jR@_9Zd<|zFfLv-<6br9S9e58$)UU#dr1$1 zzxfw)NW0<()n`~n`5G%J&gSly1%!~Op->a52wf1jg#bE6z>U23R)MRV5+i{?VGV95 z7-)xS-LEA2-Sx2DL_GZM*{DLL8&`|zXIcUUp|(c#;S0hSge}ywUds_%e8To9MgxhI z-$Uba#88h)?>adlsk;~M`$M4K$l3Wve9+5pA_@?8@ln;nwRD#GqiI>^M)AaEnCKXE zx6Q$OtmT3AlL>DWa%ot+!FHY?!Q`{MXr5Fhhu|LQk)Eskv1itlNxEI~vc7F_sYg=b z5n9HFiDzEb%5YGYABn>iaKL1Zp?i(!x)9!igzD5OHMO~>9;lf!MWqDiz_vNoA(a4N zM_bbgENi$Ox_<=;VfcoKmDLyt8)?CRmZ0dlxNcu)kC`fx3wqw2ROnS!Y1SBzwPa#0 zUM1pCkD~XW+X%T66LO7)*m)+3kNbn~ZL8z(`BCeh5(pwH1XNY}Ct3YJQo67yohf&q znvR4YR4kF)(dL`XZxwj@Ldq?4X9q&9$~8Tt);JY$?f&UPvqIysO>GE%3KV+I!5WZ% zF~#2iB6>>Vv~7tXbjIyWa6?S?w3~(NM!?wamq-5qB7m+IM)iYi^Fq;VwVLXT7g&Iy z7U>5^Nt3fi(VUhw=KP(oUzYXV5pSyWK*7Tg$C+-DKFQ6P-5YKn<)s4x;ZTkN5Mcor z6vI%ep(XTlKH+uBAwDA)ASc(NA``bHIwSD0{zRX+nbq3 zr0=Y?BEzUQw+zB}MAE{Q=Kz{DFqDYwu;%WfEM337LFl&>WV?UqI@vwYzwHltL*FD1 zHG;u{yn$bmHj`~)~SW$K&?7gCM%x~;v%U68;l z!i+rAERE_CT(3C(sS8R1Tw?$iXGD1G?l>!sA$&{ot-R{XiiChi(`FqPa6*{u9fG*r zX@A}rcgGn%S5>2`CF4vJgQOjUd9r0THWcrH~nU}%jCC7jDp11k4IIp zIo`s(Rn1onB{j?yRhsvu2aY<-Ul|pjdJHu) ziT2h{XUc}x$+p!ifIqH2(ne zXyP?5F``TbIn4Rl1)-?pWikj;2Bhe8mHHvkcLXk?dQAGwI>}ynz82ZB=|AK?CrWkosW6z_j8klJt z?HLC^i(`Vg+-SR{mU3w?!MBtI2Cpqg!fj6blcZ=|%y;VkQ?2?%!$s{lNjMSxHKHPd zI(VNpkSX(j<*sgyAISj&yi}nNWLhL^o;~H})6y~?ZPfD4nKq+aO;xV*zL&7viuW7n z=)_r=!9MH-&Dlq|z@ccoDdc)f?A>QoxMv`k@G~FyP7w+upG3&B_!uaUWXM1GnA59W z%?bSW@lJd_pqm!@Nu@KJzVRSVF@_Y_XE%6G5gLGEDEk%cWn;nF#fR@C>?>(GFGZHF z;4LcV+&^-i3lE_w#v%eU3A=K!v8t?Alb+r8i3oykFz;vtL1(IVT*p1WbZYi z=!rfTcvtL&f)HrbzAk4Gt~V8dtS;1TK-dgP)Mi(9zlGr|dfvQCddjtyjmyCgmEJ8J zR(em;@t>vQKSz}hz}!Kmu7b-s%eZ4O6_qD;&YhLC?%Tq#ArDY6|~ zw2pSbD{HVQROaAyqS96uzx5!3^D8C=;R_~(2D|-i~2nDMi01poZ8kxx)gR(rL76`vTw6xr3tL zvngv&1O=q5V@PRQQ7{?EZ%;5|Mdbqm4aGPTJeG~nErqz01Y~gSAm~nwu)rf^sO^baDHrR8uI**;pw0dW7xnGIjK(WKpwD3cTuC2+g zb7wrxH5EPQ`=C&EnjS?sDS}Q^d=;Y6Kz~{NCKtLMN%}LSV8Hd0XG75)BU*SSynl5| zmvro!Yel6Nf~&30h5L~)Gi>xLMWih=MP@aK6u|)-lZa~?(b71DFt?p~CZQERKgeyd z3Mf~%mDzVWtGMn3cq8!@xU8B=#n5Q?STeKfS7_GnQ%jVGs4`Fa0WzI%cTwFJ4QLPuL}vTUQPKSVB;TzbYL3eSj_FQ3Ni!u z&Q+N|ghmN|h>8G?fx1%9ScqNK2J56pKx-Y-Z((=K%yg58)~&M3so+ zYw^~Ds`;Y(n$w@q{6l%ZF<0=))p7#+5VT;j)Br>nMMNb)hGYd>v9MxbV1rr`{kjFk ze8fVDQlLTuNl+zpQM4ooD%G+yDws)#7&UyrD9EHdHs(DIL7Au2>4!jq1EQmYNqyiy z75FBhva7a|!kmwz@=A#+RH;(BvZZyYT|#g3!I)V+)+NZ7GgHxBDy2k;)aE2MkQ05$ zNeMQTnW&x!@P8aQwEFyD?BAVc)n63rUMAF9Rr|zbz$wQ zpaT^yD*`1a11(UrycGuI(di+8G+H)Wn~dt`1Ha5041jRGh9M=Y$QX121xkt1yH3lo z@V^(()!C1Y`5#?$sY~doQI!aCa8JOzD-8~8WkAOEq|Zu;U20TiN`o;V6jq{55B;41 zxUlS(LmR9X!*h6r8ceJ)kXHom*VvWjI6;Y6shvamf$Ypq41&`dgrpjrbg4|PoXW)B zd4JJ`1i-O|?4Z_c&eI`y*09!lho)ebs}qWmGJ+w?=Yg&mSz zYW?QgVt{CL&a0Jf#A9oFs)SILD3xBT5LBcFEF9uc4SfD0&_t$%P-s>hq?+jCXaunrWiHW<@3FM5?Dd-hYhI$y1oUE2v;vuIFhbqp{=p}y7-1# z2qE6R?Gu5>-UJ~oVJcLvlytBqAGOu-000;;5Q2$fBjJlRo^x7P$xOp3l`2y$DkQ1D zT8j^2KUc9UNU78cy@{|49fLw_P^^Eg>6fBdS6S8NjKwm&89^Eq;7FryL(w_j@YfN0 zu{?u5hE%{R&=#;7j*78^bEa0BR7rFxAVjXJkD!&%KEV2eL!?uyJCg;mzF1%#5%g00E#tfdW@r z=yXar{{Uxz=}?FfNrt1{e3cRhM;(}Td>XS*haaFsug3ulxiY0MLL{N-S(Pdnt^Fdj zwdkn&x8NE=O#132(NdRV7x3JnJNqqY=2tN~)TqVts;rXjU>uAwWBuLCqqK9mpb$+H zBN8M|wJIb?%ff|HZKmQwMv}^Q$DhoruJ+gB+2NQqe36tu5js2K2q#ra>coQAu?NYw z>QMw?USJnvDY-XD5*(L>HF_kFKs^EkS!qcf5%sW$K;{GqU20URM?i_?)8qP1wE)0j zSG{p6BEhXq07@chC-`Q%Xlr_yTTpO_GRo>GnI93UTY4%WWoRO+1tN3(WiMgPm=ES_ zQYgO$gEuqaMOfgAqj4kBx>rlHGXD5b0yK$98cdR>d*r|B4diaGe(^*|^{$Mnna>XR zGbwn9+)RGb%%VDyxMH;{XK%~Iv}7_>k|7!~#zhelQ+bknW8LHSW0(JUr$ z5qid*A}~ND#@Y^qDiKg6L#S@_`~))61PM~5T%ehiE2X8|p{9jlA?Tn7gV0*c^MeON zqi;v^%Po2l7K#Yfj-b=2my}~Kx^`FfGF)&GNnr1R4Rc-J|hChXpv-9o*^w5R7=$A2qImYD4LG`U_e0< z#F>CZseClXgoPuaEaid$B1Vk8GY&_gr;+)Mo);~JJ<-v(u*54o#W%~UnZ8A)F>4Wl<*P1;p6P=6A4M3y|U$k*Dw1YWi1DfzvxQofP8OMTe8uG1-6v0f^i#{lDqpzGiBALV+~PLE3H4j~)WL$Q?%=PItM^s0d@ z*J}8|%QE;?mFJFSlb?)^TCBI3mJ!efVNu~gR0Fr5)@yq|g&0KsG6Vi|xSBBocOS~h zoWA;kh_-Z6zranz+-4IWytz4sZy5At5kRU05p%)+01VA`z5y7KJp||{WTzyvd2mI= zajF{Sv8<;gYAzzGBWQ?;R+%RS`FawiK=dA6JQ{TXhf#Kb?tgZ#ONP-p=8YqMx|Mi} z6u@`4#_k1EYOp0ldh}~oV4C{0M*5+$x&;HV8LPY*nT(np>``kjpv!|ER)`ijtY+t! z^*O7D$3x}Z_d76R z&Vm_6B+&$7FdP@g^6aC|tX|PA3OKlIjW2sc(48tNKyXBAAtMh;n5B~vSeRw9ABq`L zvy8ytjRFjVLDrx_=-ac@2na!*h|&Vz1gsq1=9Ac?r7c}RX{28sjU7TXT5un7(G6M3 z++EbvBlSY{Ol7$u8FVFk?9}6^z^vF|Z;i`>JriuOxE*Vu0=PFGq3F$fUk9VnYF|QG z9VR1|KgIU?{a2+A0XbN{FI%V2z%ZbeQ=_;Rx)?LShOofIxxk zw(>#*sYIy2Y9M&A007V^_UX>Y6j6OTK7m{WEi9o-G|-qBt_uv=a?WJ3*Z6M=6wTBb zv2UU5Wsl*SXQ!PaD+4B+#~(4uRfJRtP#{|>*qZDiy?x$enWSctx-jSe0BTHQ8=xT+ zUYzvSSEMDN4W-CDa$t>I2NqB~N(oq0a{|kaDENo`G4#xF0HW#(J@PzpE(_$<_mlwy zbWDt62)7d(z&<8YqfeIv1hC-JRs?p0NSz2qFsQ>7DG}X?8tAQU4Tljz(m*_DbmB6K0^cFgBoI4Dq`gm96@?E?M3$b~S4 z0wcmo=l}tZpZfm*6aN50qpuRBGT%o%s0vm1eqp3td$zjvwggVw?8c1lU+iwnmDpanu8L*H|0o$2Tl`1DgED!$8Sx#bfsJNX|(4*8Y9&40) zU5H1_Mu2N9z~tLYRjsxqkEMo*)l#{QC4$h}G5D9NoapXYQ6msJh!nIL6i(N=9?l^U zgH3G!xLxEnEOf=b=Ln9p<{WcD)2PxY3=cZYN9DCe`jkF>#>WE8)yJ zT+v^K5R8c``^c~ej?GhRQOqUjD*Byh0FdD*A2B^9S%B?<;9iE`h{8nZ4y4P|7^!(Y z!Z|{O;6Jz#X4_S5SjF~%i0rYx^dE5Jkzt^UV0D#kr38pUJRvDlU&YNsbLinWsXxt7z$&{7s%ji(rx z%Qji~d&JObsi6j14d~_zE)eTc+Axp^)m%Kvu8%@s-YEA^R=V90B1aLFy#bXn)kRY6 zrnt7!%7YcdOzgTpECf_8s_!u@7f28hLG9XZ;jAvnOeln2dx718N`it^f)7s6Xe0a;IC|)|3W%cjvXmh04ib_*AZw^l zrmwh#t^;^#NxH#W2yV3|ut6Hru|}%KOeQLAmNePS7E-zu&Ul&3Dr>AmGT~9Dfd1tb zAdxCm(n!$Mm7ETSo|duvXrqr>b&VdZAWG?7E2+~6 zTX`=pVm^0~sEU`2bMKsu4w%N1tP2f4@MeYXw@F2Zvo}R#?)I5AlX!dO&mNh zuv36#BZkX#UlB&C(Xsy7#6s*<;=8f>nV6h0Pp*{L&S~!8^bmz{FQMo@9BxBzhtl-4 zWb8mYU4vPsv&?!^aFIkZdk7ryw|4a%!=pnH6J;pIjsq3OqT&=2IRh?O!7l97It9cP zWO5sePx430Tk}M!VG0N6nQK?08E`-<;3l#b6Z5}BQstp$xHcS1%%~fr#C_$sd}$^Z z)NSy@l`4NlwVs0DS5+s=5?5BWWIqhHPYFj%TnT4vV&70MMvxssn4JLV1sWcJ^m%BS z&~@?s(dkhk6O&=~a}4FO)3Dkq^scubH0l;jwWA{5CnPePLiZ!*M$Z#nsubg zM4X&$&j!#bSUai1le!ekW|v}68g|ymuG?oyjaoEFHkG_AQxRZfDABOGipKbgvVraI z+7}8K;zLRj#$cA)&@Au~SHfkoI7iZH^I%X)mD4k}dXc;As^j0dDi)TC2ec?AY5-h5p{Cki{>i;kl0{5xYSYs(5N3sAVbxm z=q5Cf`6GQ2qrnt~N)lCLKy%F#>0UkwfCB-c>aLmStN{Bz@;aVg{ow0j-9LK4ST@nj z4%(q(waPZy2vt)!uvQ^{1kzgC@M0d*uH|*F>g0q7BGw}USQd?$d=myMptbC zwBzZ4waZ1^FSB~ZR}%nmXjc;w4GwhLXn7}HD@o-mHGN^1WA6#0ed%jNNDfrq&J zu~`dr9Ik}9mQvQOfIR3Bix|J*SCYp$khx0u6L z&mjXEz^~P3&=8gUW!Hg6{<|pGIR(WL!mBqG7D`?2ovt30{39vXIBkpY8AoWvM%H*8 zam20jy|A3>@J!p8G!^|25xR#2v#IUOT&&+=MWDL9r7VTqkGfxT(I=i6!$+19Zdxa> zdO<`y&_DnV3`=?l#P`&f@3e^J!uh5cJ3zVMqtUNLniYX`g4deSa|Koc&A8#f(=Q1C z?4j+kq$%74UeOB9kT@wzHva%bK(zCXcP`NI3I71N_j-=pFS9Wy30Q9^573u!UbU0G z(S|K(SGuAK%o+hLP)CgUs+2dua`wQ1n2f8K5ZGKp9wva1sNUvbaY|g%Fb^0d^v19$ zTN9(lT#k;ZnfA8n1_aOsuANBh4eYPXXfsT;!e_7v1yNMMEwLlW*dChzmHd^~q67p= zMw9b2K?{V;p6HPP5dNm1!jewFA`VCQ&jBS4x6uw8Ph15ng=aNBBaxlwTIENd2@ zD&WpU(KLWJLu$1Pn;It|wpyD@Rqn?{q#sWs5Ma9O{V~HXT)u(`(wi`pcWd!+4UP)j z{{UnM5wx)wlyz+br|xzlXKkbavIoeGron(gC@H~4bSSUOBb0uw4r`^+OkLDe;=Pyk@W1XoNfKSQG{ty)YB58m5i{gS*q?nqoSLro8n_IHcHb87i_j@N`eR-EBR}s zbX0NlI6NdV_#_2CE&&L&YvcY=9iI&0ZxomKj+u9X{{T@TMn~{HiR89=_O6Xh;wy{f zc_nc^n;^|aD%u_wMzLd~MjM#?k zL0EJp%jmdu1B5|9{{V~HXF{+r1c9P5-|dH%!$2{`?jxy4+}A9{>LyxZEdol~=rTA( zi*Rf(udFbsky%?xp-p2eUQVC*;t4Q_0U-ww8${J5lp~MolnR42=@;pG&3B4Js~uy% zr*d%_iuUHYLx|*otw`Kf$yn;(LgOv;?@p1eRx4P49d$p2zK=@BMmEhD4TX|hIvaY2 zh_JWBcp#_@hK;<<_8BZVHh`^Lx0YKpSl}v^GJsWjtzJL0(pZ-+9mJ;z$R6r909 z31k#hwcaP|;eSj6_YW}&yqcpBtZl+s0P8LTwA>w#^n8TgwmT33hzMBHQyH|TJDdcg z7vzj26zd~${Vz(nPeh3TyIro;j;>(3`#5nnB|9w7CvO%a0Reb0#B7zG{U(SZEBNcv zlYBy^&qu1qN3LkSdLUd#oe`oZ=ELldO6o`jNa+`3=8%Ze*`?7c%}NSYkfllpzEMl< zedU~Mv}A|@BPhh=46ur^GAwFaPFa<;YH7cSXOL;)f8^gtgHI9A#b-haw%K)I8-{AI zm7y15%mTF=wv#3U#?WEAh&TWv$4s@9y5+ajOTjix5?W-#Mxe1!0!9MFv5o!Pf9JZ`Gzza!#d1L zB_yb)%KgNKAIDyb>#YGQaO1dQ02|$$H3rqZasmJuSh6MAD)*`-Bnw#F7-2UV2iX%6 z6PyUx`Xxsd&%y9=Kwf+ysr=$riy-lqoLo7cR38EQk5*Q)wbhS^amDU;B}6NW*@OBo zC|1g?;9(^%haLgRAcsZf zy*QcBuA2GziAd*ZT)H(iMcYp-Y7vfLfsA?gjB*%gQ$S;Yl|zOHJ@7V;yy=cdn4mPV z0DyGUqM9hRa1w)*b;sHtOM6W^ceV0Nk&ag4u8#2wm)jk`EUgPW&2!`~TPo1N+68(1 zW(AJ~)UD;|K)GcA*(!oc>cQ}X&bh&z)8=6klI-*ZKlsrs!39a8kLQ_D;*&zzJ4X6b z4v#bXC7+A2rD*sOK`o}@vawRHI2FN*LY7Ei2Q@Zm8pkN-hKi- zO}Lb*JFNXCOUM>}Qq>nlGFN73d>RfT(T`R>l0Au4J>;iiFDY?Uh z{5!yWYX@dvObu71@{whXDOlo&jRiZtO|!g&<`*~60Q6L2=%Q260Crj$q%tgb`t27= zg(xD0Xdon7BvU#%9BliT_<#+#hW6ZTIB#OAW+2t0+6)WS7(QUvaky^nWVEqt!+a=B zLc8w#MlyXnrAL_?-D7ZD#|>aLLTSvBWi#?(27_G1aSnQRNE)w za2`+525ZXSWwkyA0s5c!AH1DW^u>4`$BoZ&qa3KxH#FcM=B5fU{{Y05$;bN^!mE}; zFP1$jWD5MsHmDTWewxNHI%m_LXX?ZB42-c9MYovf1~yn}0qiotmG){ic6H+ZyV{v7e(QVm|dNjYRFDF zi!jlvsk1Z=(OmfM#P!yOI1}2`8Hloo>jES(8VJa^C0M0VVN5#X0z~92T9;LH$AXdG zSh7d4fRt}!QSC!+Nt`OSS5d0dTfb&0`veXw;Ys)*wO&O0%@n&Q?H%^|WkwHje(F2n zV*bf};Q=)BAK}=vOLcw(ey;`-7Tbg~fg{rhG)8o13q*Yku9|uU_LJe5U?iPwlUb}XegP;Zrh_ebQ0S4OZ+RXJ%b*gf(l3-JuZCHH_^j?88HDAj<< zfTA(!RT4g$pPXZ?wU%)hmAqc4eIH1}rKE^@Ytdi)Z=s3OrY7%)_X~pot+Vz@+$Z*L2mH8 z7TNkeNRbtH)y#DASB%lIV=#{5dpjw_{)`%Xp$J0ihH7=Wp-Q22S0C|PW zK~-J6!$9C5L-;iR0O@&fOfy%*<|-9#;#%pd(2kBs zFrXbM{SY>z+5-aSq$>&bBj{2sa_zc%9-e^Fu@cs03hV^3UieS%N36c;OwwM&Yvz-@1%0DPsv$c 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%0Am|+)xy8PaNn=zoq;KwTR=qShJ$Ayv+*ZVxR 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 a +The drone was built for the University of Queensland industry-led Master's capstone project. + +**Flight video:** + + + + + +--- + Author: [goldarte](https://t.me/goldarte).
From 377b21429bec58e37b9a1eead37055ae17af1094 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 27 Jan 2026 16:32:52 +0300 Subject: [PATCH 20/70] Fix error when launching the sim Also make the parameters WIFI_LOC_PORT and WIFI_REM_PORT work in the sim. --- gazebo/flix.h | 2 ++ gazebo/wifi.h | 17 +++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/gazebo/flix.h b/gazebo/flix.h index b3b3cb7..5c61ee5 100644 --- a/gazebo/flix.h +++ b/gazebo/flix.h @@ -9,6 +9,7 @@ #include "quaternion.h" #include "Arduino.h" #include "wifi.h" +#include "lpf.h" extern float t, dt; extern float controlRoll, controlPitch, controlYaw, controlThrottle, controlMode; @@ -19,6 +20,7 @@ extern float motors[4]; Vector gyro, acc, imuRotation; Vector accBias, gyroBias, accScale(1, 1, 1); +LowPassFilter gyroBiasFilter(0); // declarations void step(); diff --git a/gazebo/wifi.h b/gazebo/wifi.h index 426f2d8..1c7b708 100644 --- a/gazebo/wifi.h +++ b/gazebo/wifi.h @@ -11,9 +11,10 @@ #include #include -#define WIFI_UDP_PORT 14580 -#define WIFI_UDP_REMOTE_PORT 14550 -#define WIFI_UDP_REMOTE_ADDR "255.255.255.255" +int wifiMode = 1; // mock +int udpLocalPort = 14580; +int udpRemotePort = 14550; +const char *udpRemoteIP = "255.255.255.255"; int wifiSocket; @@ -22,22 +23,22 @@ void setupWiFi() { sockaddr_in addr; // local address addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY; - addr.sin_port = htons(WIFI_UDP_PORT); + addr.sin_port = htons(udpLocalPort); if (bind(wifiSocket, (sockaddr *)&addr, sizeof(addr))) { - gzerr << "Failed to bind WiFi UDP socket on port " << WIFI_UDP_PORT << std::endl; + gzerr << "Failed to bind WiFi UDP socket on port " << udpLocalPort << std::endl; return; } int broadcast = 1; setsockopt(wifiSocket, SOL_SOCKET, SO_BROADCAST, &broadcast, sizeof(broadcast)); // enable broadcast - gzmsg << "WiFi UDP socket initialized on port " << WIFI_UDP_PORT << " (remote port " << WIFI_UDP_REMOTE_PORT << ")" << std::endl; + gzmsg << "WiFi UDP socket initialized on port " << udpLocalPort << " (remote port " << udpRemotePort << ")" << std::endl; } void sendWiFi(const uint8_t *buf, int len) { if (wifiSocket == 0) setupWiFi(); sockaddr_in addr; // remote address addr.sin_family = AF_INET; - addr.sin_addr.s_addr = inet_addr(WIFI_UDP_REMOTE_ADDR); - addr.sin_port = htons(WIFI_UDP_REMOTE_PORT); + addr.sin_addr.s_addr = inet_addr(udpRemoteIP); + addr.sin_port = htons(udpRemotePort); sendto(wifiSocket, buf, len, 0, (sockaddr *)&addr, sizeof(addr)); } From 3dde380bb7eefc825d6302c4d27c5658c140ae23 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 27 Jan 2026 16:38:20 +0300 Subject: [PATCH 21/70] Add parameters for list of modes bound to rc switch Parameters: CTL_FLT_MODE_0, CTL_FLT_MODE_1, CTL_FLT_MODE_2. Also fix a bug with incorrect choosing the mode from controlMode. --- flix/control.ino | 7 ++++--- flix/parameters.ino | 3 +++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/flix/control.ino b/flix/control.ino index 8f6d8e6..50601cb 100644 --- a/flix/control.ino +++ b/flix/control.ino @@ -52,6 +52,7 @@ PID pitchPID(PITCH_P, PITCH_I, PITCH_D); PID yawPID(YAW_P, 0, 0); Vector maxRate(ROLLRATE_MAX, PITCHRATE_MAX, YAWRATE_MAX); float tiltMax = TILT_MAX; +int flightModes[] = {STAB, STAB, STAB}; // map for rc mode switch extern const int MOTOR_REAR_LEFT, MOTOR_REAR_RIGHT, MOTOR_FRONT_RIGHT, MOTOR_FRONT_LEFT; extern float controlRoll, controlPitch, controlThrottle, controlYaw, controlMode; @@ -65,9 +66,9 @@ void control() { } void interpretControls() { - if (controlMode < 0.25) mode = STAB; - if (controlMode < 0.75) mode = STAB; - if (controlMode > 0.75) mode = STAB; + if (controlMode < 0.25) mode = flightModes[0]; + else if (controlMode < 0.75) mode = flightModes[1]; + else if (controlMode > 0.75) mode = flightModes[2]; if (mode == AUTO) return; // pilot is not effective in AUTO mode diff --git a/flix/parameters.ino b/flix/parameters.ino index 77aa21a..a8a83f9 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -49,6 +49,9 @@ Parameter parameters[] = { {"CTL_R_RATE_MAX", &maxRate.x}, {"CTL_Y_RATE_MAX", &maxRate.z}, {"CTL_TILT_MAX", &tiltMax}, + {"CTL_FLT_MODE_0", &flightModes[0]}, + {"CTL_FLT_MODE_1", &flightModes[1]}, + {"CTL_FLT_MODE_2", &flightModes[2]}, // imu {"IMU_ROT_ROLL", &imuRotation.x}, {"IMU_ROT_PITCH", &imuRotation.y}, From 3631743a29a58a49373221a5c6bd3d09ac1fdbf5 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Mon, 2 Feb 2026 18:28:20 +0300 Subject: [PATCH 22/70] Drop messages from another systems in pyflix We shouldn't pass messages where system id != our system id. This change may be useful when there are many drones in one network. --- tools/pyflix/flix.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/pyflix/flix.py b/tools/pyflix/flix.py index a12d25f..757ebfa 100644 --- a/tools/pyflix/flix.py +++ b/tools/pyflix/flix.py @@ -138,7 +138,7 @@ class Flix: while True: try: msg: Optional[mavlink.MAVLink_message] = self.connection.recv_match(blocking=True) - if msg is None: + if msg is None or msg.get_srcSystem() != self.system_id: continue self._connected() msg_dict = msg.to_dict() From 67430c7aac8f1811c39a20e0c94ab4c90ea75174 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Mon, 2 Feb 2026 18:46:36 +0300 Subject: [PATCH 23/70] Several minor changes --- flix/estimate.ino | 2 +- flix/flix.ino | 2 +- flix/mavlink.ino | 9 +++++---- flix/parameters.ino | 5 +++-- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/flix/estimate.ino b/flix/estimate.ino index a873b9a..e07bd07 100644 --- a/flix/estimate.ino +++ b/flix/estimate.ino @@ -1,7 +1,7 @@ // Copyright (c) 2023 Oleg Kalachev // Repository: https://github.com/okalachev/flix -// Attitude estimation from gyro and accelerometer +// Attitude estimation using gyro and accelerometer #include "quaternion.h" #include "vector.h" diff --git a/flix/flix.ino b/flix/flix.ino index 5d5ee43..422b818 100644 --- a/flix/flix.ino +++ b/flix/flix.ino @@ -21,8 +21,8 @@ void setup() { disableBrownOut(); setupParameters(); setupLED(); - setupMotors(); setLED(true); + setupMotors(); setupWiFi(); setupIMU(); setupRC(); diff --git a/flix/mavlink.ino b/flix/mavlink.ino index c7b3785..2df74d6 100644 --- a/flix/mavlink.ino +++ b/flix/mavlink.ino @@ -8,12 +8,13 @@ extern float controlTime; -bool mavlinkConnected = false; -String mavlinkPrintBuffer; int mavlinkSysId = 1; Rate telemetryFast(10); Rate telemetrySlow(2); +bool mavlinkConnected = false; +String mavlinkPrintBuffer; + void processMavlink() { sendMavlink(); receiveMavlink(); @@ -41,9 +42,9 @@ void sendMavlink() { } if (telemetryFast && mavlinkConnected) { - const float zeroQuat[] = {0, 0, 0, 0}; + const float offset[] = {0, 0, 0, 0}; mavlink_msg_attitude_quaternion_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, - time, attitude.w, attitude.x, -attitude.y, -attitude.z, rates.x, -rates.y, -rates.z, zeroQuat); // convert to frd + time, attitude.w, attitude.x, -attitude.y, -attitude.z, rates.x, -rates.y, -rates.z, offset); // convert to frd sendMessage(&msg); mavlink_msg_rc_channels_raw_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, controlTime * 1000, 0, diff --git a/flix/parameters.ino b/flix/parameters.ino index a8a83f9..dc924a4 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -15,9 +15,9 @@ extern float rcLossTimeout, descendTime; Preferences storage; struct Parameter { - const char *name; // max length is 15 (Preferences key limit) + const char *name; // max length is 15 bool integer; - union { float *f; int *i; }; // pointer to variable + union { float *f; int *i; }; // pointer to the variable float cache; // what's stored in flash Parameter(const char *name, float *variable) : name(name), integer(false), f(variable) {}; Parameter(const char *name, int *variable) : name(name), integer(true), i(variable) {}; @@ -112,6 +112,7 @@ Parameter parameters[] = { }; void setupParameters() { + print("Setup parameters\n"); storage.begin("flix", false); // Read parameters from storage for (auto ¶meter : parameters) { From 3e49d4198647f3a3759350dc6a219c76b13a9a63 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Mon, 2 Feb 2026 20:36:22 +0300 Subject: [PATCH 24/70] Make rc channel numbers and calibration params use int instead of float As parameter subsystems supports int now, and int is much more natural here. --- flix/parameters.ino | 6 +++--- flix/rc.ino | 31 +++++++++++++++---------------- gazebo/flix.h | 2 +- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/flix/parameters.ino b/flix/parameters.ino index dc924a4..3a0e501 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -6,9 +6,9 @@ #include #include "util.h" -extern float channelZero[16]; -extern float channelMax[16]; -extern float rollChannel, pitchChannel, throttleChannel, yawChannel, armedChannel, modeChannel; +extern int channelZero[16]; +extern int channelMax[16]; +extern int rollChannel, pitchChannel, throttleChannel, yawChannel, armedChannel, modeChannel; extern int wifiMode, udpLocalPort, udpRemotePort; extern float rcLossTimeout, descendTime; diff --git a/flix/rc.ino b/flix/rc.ino index f046e5b..d80f30f 100644 --- a/flix/rc.ino +++ b/flix/rc.ino @@ -9,15 +9,14 @@ SBUS rc(Serial2); uint16_t channels[16]; // raw rc channels -float channelZero[16]; // calibration zero values -float channelMax[16]; // calibration max values +int channelZero[16]; // calibration zero values +int channelMax[16]; // calibration max values float controlRoll, controlPitch, controlYaw, controlThrottle; // pilot's inputs, range [-1, 1] float controlMode = NAN; float controlTime = NAN; // time of the last controls update -// Channels mapping (nan means not assigned): -float rollChannel = NAN, pitchChannel = NAN, throttleChannel = NAN, yawChannel = NAN, modeChannel = NAN; +int rollChannel = -1, pitchChannel = -1, throttleChannel = -1, yawChannel = -1, modeChannel = -1; // channel mapping void setupRC() { print("Setup RC\n"); @@ -41,11 +40,11 @@ void normalizeRC() { controls[i] = mapf(channels[i], channelZero[i], channelMax[i], 0, 1); } // Update control values - controlRoll = rollChannel >= 0 ? controls[(int)rollChannel] : 0; - controlPitch = pitchChannel >= 0 ? controls[(int)pitchChannel] : 0; - controlYaw = yawChannel >= 0 ? controls[(int)yawChannel] : 0; - controlThrottle = throttleChannel >= 0 ? controls[(int)throttleChannel] : 0; - controlMode = modeChannel >= 0 ? controls[(int)modeChannel] : NAN; // mode switch should not have affect if not set + controlRoll = rollChannel < 0 ? 0 : controls[rollChannel]; + controlPitch = pitchChannel < 0 ? 0 : controls[pitchChannel]; + controlYaw = yawChannel < 0 ? 0 : controls[yawChannel]; + controlThrottle = throttleChannel < 0 ? 0 : controls[throttleChannel]; + controlMode = modeChannel < 0 ? NAN : controls[modeChannel]; // mode control is ineffective if not mapped } void calibrateRC() { @@ -64,7 +63,7 @@ void calibrateRC() { printRCCalibration(); } -void calibrateRCChannel(float *channel, uint16_t in[16], uint16_t out[16], const char *str) { +void calibrateRCChannel(int *channel, uint16_t in[16], uint16_t out[16], const char *str) { print("%s", str); pause(3); for (int i = 0; i < 30; i++) readRC(); // try update 30 times max @@ -85,15 +84,15 @@ void calibrateRCChannel(float *channel, uint16_t in[16], uint16_t out[16], const channelZero[ch] = in[ch]; channelMax[ch] = out[ch]; } else { - *channel = NAN; + *channel = -1; } } void printRCCalibration() { print("Control Ch Zero Max\n"); - print("Roll %-7g%-7g%-7g\n", rollChannel, rollChannel >= 0 ? channelZero[(int)rollChannel] : NAN, rollChannel >= 0 ? channelMax[(int)rollChannel] : NAN); - print("Pitch %-7g%-7g%-7g\n", pitchChannel, pitchChannel >= 0 ? channelZero[(int)pitchChannel] : NAN, pitchChannel >= 0 ? channelMax[(int)pitchChannel] : NAN); - print("Yaw %-7g%-7g%-7g\n", yawChannel, yawChannel >= 0 ? channelZero[(int)yawChannel] : NAN, yawChannel >= 0 ? channelMax[(int)yawChannel] : NAN); - print("Throttle %-7g%-7g%-7g\n", throttleChannel, throttleChannel >= 0 ? channelZero[(int)throttleChannel] : NAN, throttleChannel >= 0 ? channelMax[(int)throttleChannel] : NAN); - print("Mode %-7g%-7g%-7g\n", modeChannel, modeChannel >= 0 ? channelZero[(int)modeChannel] : NAN, modeChannel >= 0 ? channelMax[(int)modeChannel] : NAN); + print("Roll %-7d%-7d%-7d\n", rollChannel, rollChannel < 0 ? 0 : channelZero[rollChannel], rollChannel < 0 ? 0 : channelMax[rollChannel]); + print("Pitch %-7d%-7d%-7d\n", pitchChannel, pitchChannel < 0 ? 0 : channelZero[pitchChannel], pitchChannel < 0 ? 0 : channelMax[pitchChannel]); + print("Yaw %-7d%-7d%-7d\n", yawChannel, yawChannel < 0 ? 0 : channelZero[yawChannel], yawChannel < 0 ? 0 : channelMax[yawChannel]); + print("Throttle %-7d%-7d%-7d\n", throttleChannel, throttleChannel < 0 ? 0 : channelZero[throttleChannel], throttleChannel < 0 ? 0 : channelMax[throttleChannel]); + print("Mode %-7d%-7d%-7d\n", modeChannel, modeChannel < 0 ? 0 : channelZero[modeChannel], modeChannel < 0 ? 0 : channelMax[modeChannel]); } diff --git a/gazebo/flix.h b/gazebo/flix.h index 5c61ee5..96a3aad 100644 --- a/gazebo/flix.h +++ b/gazebo/flix.h @@ -43,7 +43,7 @@ void doCommand(String str, bool echo); void handleInput(); void normalizeRC(); void calibrateRC(); -void calibrateRCChannel(float *channel, uint16_t zero[16], uint16_t max[16], const char *str); +void calibrateRCChannel(int *channel, uint16_t zero[16], uint16_t max[16], const char *str); void printRCCalibration(); void printLogHeader(); void printLogData(); From a8c25d8ac002815e9b41e9d794a2afa9be126901 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Wed, 4 Feb 2026 17:52:23 +0300 Subject: [PATCH 25/70] Minor updates to usage article --- docs/usage.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index d6d2669..bcdb1c3 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -148,27 +148,29 @@ Reboot the drone to apply the changes. > [!CAUTION] > **Remove the props when configuring the motors!** If improperly configured, you may not be able to stop them. -### Check everything works +### Important: check everything works -1. Check the IMU is working: perform `imu` command and check its output: +1. Check the IMU is working: perform `imu` command in the console and check the output: * The `status` field should be `OK`. * The `rate` field should be about 1000 (Hz). * The `accel` and `gyro` fields should change as you move the drone. + * The `accel bias` and `accel scale` fields should contain calibration parameters (not zeros and ones). + * The `gyro bias` field should contain estimated gyro bias (not zeros). * The `landed` field should be `1` when the drone is still on the ground and `0` when you lift it up. 2. Check the attitude estimation: connect to the drone using QGroundControl, rotate the drone in different orientations and check if the attitude estimation shown in QGroundControl is correct. Compare your attitude indicator (in the *large vertical* mode) to the video: -3. Perform motor tests in the console. Use the following commands **— remove the propellers before running the tests!** +3. Perform motor tests. Use the following commands **— remove the propellers before running the tests!** - * `mfr` — should rotate front right motor (counter-clockwise). - * `mfl` — should rotate front left motor (clockwise). - * `mrl` — should rotate rear left motor (counter-clockwise). - * `mrr` — should rotate rear right motor (clockwise). + * `mfr` — rotate front right motor (counter-clockwise). + * `mfl` — rotate front left motor (clockwise). + * `mrl` — rotate rear left motor (counter-clockwise). + * `mrr` — rotate rear right motor (clockwise). - Rotation diagram: + Make sure rotation directions and propeller types match the following diagram: @@ -234,11 +236,11 @@ When finished flying, **disarm** the drone, moving the left stick to the bottom ### Flight modes -Flight mode is changed using mode switch on the remote control or using the command line. +Flight mode is changed using mode switch on the remote control (if configured) or using the console commands. The main flight mode is *STAB*. #### STAB -The default mode is *STAB*. In this mode, the drone stabilizes its attitude (orientation). The left stick controls throttle and yaw rate, the right stick controls pitch and roll angles. +In this mode, the drone stabilizes its attitude (orientation). The left stick controls throttle and yaw rate, the right stick controls pitch and roll angles. > [!IMPORTANT] > The drone doesn't stabilize its position, so slight drift is possible. The pilot should compensate it manually. @@ -253,7 +255,7 @@ In this mode, the pilot controls the angular rates. This control method is diffi #### AUTO -In this mode, the pilot inputs are ignored (except the mode switch, if configured). The drone can be controlled using [pyflix](../tools/pyflix/) Python library, or by modifying the firmware to implement the needed autonomous behavior. +In this mode, the pilot inputs are ignored (except the mode switch). The drone can be controlled using [pyflix](../tools/pyflix/) Python library, or by modifying the firmware to implement the needed behavior. If the pilot moves the control sticks, the drone will switch back to *STAB* mode. From b2daf2587f35b28696cb29502bc42e69ea1ff843 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 19 Feb 2026 02:59:38 +0300 Subject: [PATCH 26/70] Minor parameters code simplifications readOnly is false by default INFINITY == INFINITY, so remove redundant check --- flix/parameters.ino | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/flix/parameters.ino b/flix/parameters.ino index 3a0e501..83ecbbb 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -113,7 +113,7 @@ Parameter parameters[] = { void setupParameters() { print("Setup parameters\n"); - storage.begin("flix", false); + storage.begin("flix"); // Read parameters from storage for (auto ¶meter : parameters) { if (!storage.isKey(parameter.name)) { @@ -165,8 +165,7 @@ void syncParameters() { for (auto ¶meter : parameters) { if (parameter.getValue() == parameter.cache) continue; // no change - if (isnan(parameter.getValue()) && isnan(parameter.cache)) continue; // both are NaN - if (isinf(parameter.getValue()) && isinf(parameter.cache)) continue; // both are Inf + if (isnan(parameter.getValue()) && isnan(parameter.cache)) continue; // both are NAN storage.putFloat(parameter.name, parameter.getValue()); parameter.cache = parameter.getValue(); // update cache From a687303062d79d773b5fe77f583e29eea9e03af1 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 19 Feb 2026 04:56:12 +0300 Subject: [PATCH 27/70] Make motor parameters apply without reboot Add callback to parameter definition to call after parameter is changed. --- flix/motors.ino | 1 + flix/parameters.ino | 18 ++++++++++-------- gazebo/Arduino.h | 1 + 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/flix/motors.ino b/flix/motors.ino index 1dee5fa..42cb0c5 100644 --- a/flix/motors.ino +++ b/flix/motors.ino @@ -24,6 +24,7 @@ void setupMotors() { // configure pins for (int i = 0; i < 4; i++) { ledcAttach(motorPins[i], pwmFrequency, pwmResolution); + pwmFrequency = ledcChangeFrequency(motorPins[i], pwmFrequency, pwmResolution); // when reconfiguring } sendMotors(); print("Motors initialized\n"); diff --git a/flix/parameters.ino b/flix/parameters.ino index 83ecbbb..cef683f 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -19,8 +19,9 @@ struct Parameter { bool integer; union { float *f; int *i; }; // pointer to the variable float cache; // what's stored in flash - Parameter(const char *name, float *variable) : name(name), integer(false), f(variable) {}; - Parameter(const char *name, int *variable) : name(name), integer(true), i(variable) {}; + void (*callback)(); // called after parameter change + Parameter(const char *name, float *variable, void (*callback)() = nullptr) : name(name), integer(false), f(variable), callback(callback) {}; + Parameter(const char *name, int *variable, void (*callback)() = nullptr) : name(name), integer(true), i(variable), callback(callback) {}; float getValue() const { return integer ? *i : *f; }; void setValue(const float value) { if (integer) *i = value; else *f = value; }; }; @@ -67,12 +68,12 @@ Parameter parameters[] = { {"EST_ACC_WEIGHT", &accWeight}, {"EST_RATES_LPF_A", &ratesFilter.alpha}, // motors - {"MOT_PIN_FL", &motorPins[MOTOR_FRONT_LEFT]}, - {"MOT_PIN_FR", &motorPins[MOTOR_FRONT_RIGHT]}, - {"MOT_PIN_RL", &motorPins[MOTOR_REAR_LEFT]}, - {"MOT_PIN_RR", &motorPins[MOTOR_REAR_RIGHT]}, - {"MOT_PWM_FREQ", &pwmFrequency}, - {"MOT_PWM_RES", &pwmResolution}, + {"MOT_PIN_FL", &motorPins[MOTOR_FRONT_LEFT], setupMotors}, + {"MOT_PIN_FR", &motorPins[MOTOR_FRONT_RIGHT], setupMotors}, + {"MOT_PIN_RL", &motorPins[MOTOR_REAR_LEFT], setupMotors}, + {"MOT_PIN_RR", &motorPins[MOTOR_REAR_RIGHT], setupMotors}, + {"MOT_PWM_FREQ", &pwmFrequency, setupMotors}, + {"MOT_PWM_RES", &pwmResolution, setupMotors}, {"MOT_PWM_STOP", &pwmStop}, {"MOT_PWM_MIN", &pwmMin}, {"MOT_PWM_MAX", &pwmMax}, @@ -152,6 +153,7 @@ bool setParameter(const char *name, const float value) { if (strcasecmp(parameter.name, name) == 0) { if (parameter.integer && !isfinite(value)) return false; // can't set integer to NaN or Inf parameter.setValue(value); + if (parameter.callback) parameter.callback(); return true; } } diff --git a/gazebo/Arduino.h b/gazebo/Arduino.h index 1ca8089..ad4bef4 100644 --- a/gazebo/Arduino.h +++ b/gazebo/Arduino.h @@ -165,6 +165,7 @@ void delay(uint32_t ms) { bool ledcAttach(uint8_t pin, uint32_t freq, uint8_t resolution) { return true; } bool ledcWrite(uint8_t pin, uint32_t duty) { return true; } +uint32_t ledcChangeFrequency(uint8_t pin, uint32_t freq, uint8_t resolution) { return freq; } unsigned long __micros; unsigned long __resetTime = 0; From 0730ceeffa58480fc9c863c524142bc44b896865 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sat, 21 Feb 2026 07:12:36 +0300 Subject: [PATCH 28/70] Add new user builds --- docs/img/user/fanby0ru/1.jpg | Bin 0 -> 44992 bytes docs/img/user/fanby0ru/2.jpg | Bin 0 -> 56465 bytes docs/img/user/phalko/1.jpg | Bin 0 -> 107684 bytes docs/img/user/phalko/2.jpg | Bin 0 -> 35125 bytes docs/img/user/phalko/3.jpg | Bin 0 -> 37324 bytes docs/user.md | 16 ++++++++++++++++ 6 files changed, 16 insertions(+) create mode 100644 docs/img/user/fanby0ru/1.jpg create mode 100644 docs/img/user/fanby0ru/2.jpg create mode 100644 docs/img/user/phalko/1.jpg create mode 100644 docs/img/user/phalko/2.jpg create mode 100644 docs/img/user/phalko/3.jpg diff --git a/docs/img/user/fanby0ru/1.jpg b/docs/img/user/fanby0ru/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c53579e351db9f58f3e822970f51c617814f01b GIT binary patch literal 44992 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 AEdT%j literal 0 HcmV?d00001 diff --git a/docs/img/user/phalko/1.jpg b/docs/img/user/phalko/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..34d71622e2b4102de4d0fd07ee341778f9c4b4b1 GIT binary patch literal 107684 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

U%{Iw}a$y%t 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 Ke|Uxbn)!d4?SYa2 literal 0 HcmV?d00001 diff --git a/docs/img/user/phalko/2.jpg b/docs/img/user/phalko/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4651fec3932f4e42616d981fceab553714569a67 GIT binary patch literal 35125 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 z zF&xWphpX9OyOC`c?1xdM*y=mMV5`{H;iYXL|MIw<%q$yGS zWMnewUHG3jSF*tovAxXWX4pko)o~_1+8Rjr;4TiYtW>D7%fakfdKFf?X4!B=s|d>1 zI>G6blu+Ay;F8OFo4zMmbfUJgZZ$%5McU(RTn}PW%<)y1!lJQFjpG?movusQ)SbFo z6;?5gnGum05s?`Ykr@${8Bm~^m3%Uykw~OcB&%FyTI{jwtU8nQwWVTJ$Fzp4OQxxk zjXiLcZ2Sq!D%O>WS1Nx;ADUXRs@Dnnd{!)FB^6_ByVn@k3e>F|F|7?))oYBeg7C7& z$xAcW7}tcENtDreHDgtcZK5vt=G)mBSy(#8G2y-|!#C3}%v!w(SdzlH>0shDSjIS3 zm#J~)KZ`Q_WT47;C0MRDUJYRw-z92%S($6vDhzRWR+WtuRx~UUx2X?X2zv|4?} xv0AKpt5Rd#ao>#be9`58BNh(?n;J`wCH{#FNNI{k literal 0 HcmV?d00001 diff --git a/docs/img/user/phalko/3.jpg b/docs/img/user/phalko/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b0717a2a44e575d00544b656b6a473d3eafe2cf5 GIT binary patch literal 37324 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 Q&y`@V_+E0x-QT1C*`J8C5dZ)H literal 0 HcmV?d00001 diff --git a/docs/user.md b/docs/user.md index 73717e0..b098c22 100644 --- a/docs/user.md +++ b/docs/user.md @@ -4,6 +4,22 @@ This page contains user-built drones based on the Flix project. Publish your pro --- +Author: [FanBy0ru](https://https://github.com/FanBy0ru).
+Description: custom 3D-printed frame.
+Frame STLs and flight validation: https://cults3d.com/en/3d-model/gadget/armature-pour-flix-drone. + + + +--- + +Author: Ivan44 Phalko.
+Description: custom PCB, cusom test bench.
+[Flight validation](https://drive.google.com/file/d/17DNDJ1gPmCmDRAwjedCbJ9RXAyqMqqcX/view?usp=sharing). + + + +--- + Author: **Arkadiy "Arky" Matsekh**, Foucault Dynamics, Gold Coast, Australia.
The drone was built for the University of Queensland industry-led Master's capstone project. From 814427dbfdcbb85aceff42b4f576e60af9972f51 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Fri, 27 Mar 2026 00:40:19 +0300 Subject: [PATCH 29/70] Minor docs change --- docs/troubleshooting.md | 2 +- docs/usage.md | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 1d5293e..9b5925a 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -13,7 +13,7 @@ Do the following: Do the following: * **Check the battery voltage**. Use a multimeter to measure the battery voltage. It should be in range of 3.7-4.2 V. -* **Check if there are some startup errors**. Connect the ESP32 to the computer and check the Serial Monitor output. Use the Reset button to make sure you see the whole ESP32 startup output. +* **Check if there are some startup errors**. Connect the ESP32 to the computer and check the Serial Monitor output. Use the Reset button or `reboot` command to see the whole startup output. * **Check the baudrate is correct**. If you see garbage characters in the Serial Monitor, make sure the baudrate is set to 115200. * **Make sure correct IMU model is chosen**. If using ICM-20948/MPU-6050 board, change `MPU9250` to `ICM20948`/`MPU6050` in the `imu.ino` file. * **Check if the console is working**. Perform `help` command in Serial Monitor. You should see the list of available commands. You can also access the console using QGroundControl *(Vehicle Setup* ⇒ *Analyze Tools* ⇒ *MAVLink Console)*. diff --git a/docs/usage.md b/docs/usage.md index bcdb1c3..e5adedb 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -143,8 +143,6 @@ If using brushless motors and ESCs: 1. Set the appropriate PWM using the parameters: `MOT_PWM_STOP`, `MOT_PWM_MIN`, and `MOT_PWM_MAX` (1000, 1000, and 2000 is typical). 2. Decrease the PWM frequency using the `MOT_PWM_FREQ` parameter (400 is typical). -Reboot the drone to apply the changes. - > [!CAUTION] > **Remove the props when configuring the motors!** If improperly configured, you may not be able to stop them. From c434107eaf552ffffaa75f079ab3154662a4e8e6 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Fri, 27 Mar 2026 00:56:34 +0300 Subject: [PATCH 30/70] Add parameter for configuring sbus pin number, disable sbus by default --- docs/troubleshooting.md | 4 +++- docs/usage.md | 10 ++++++---- flix/parameters.ino | 2 ++ flix/rc.ino | 9 ++++++++- gazebo/SBUS.h | 2 +- 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 9b5925a..c3a8e8a 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -35,5 +35,7 @@ Do the following: * **Check the propeller directions are correct**. Make sure your propeller types (A or B) are installed as on the picture: * **Check the remote control**. Using `rc` command, check the control values reflect your sticks movement. All the controls should change between -1 and 1, and throttle between 0 and 1. -* If using SBUS receiver, **calibrate the RC**. Type `cr` command in Serial Monitor and follow the instructions. +* **If using SBUS receiver**: + * **Define the used GPIO pin** in `RC_RX_PIN` parameter. + * **Calibrate the RC** using `cr` command in the console. * **Check the IMU output using QGroundControl**. Connect to the drone using QGroundControl on your computer. Go to the *Analyze* tab, *MAVLINK Inspector*. Plot the data from the `SCALED_IMU` message. The gyroscope and accelerometer data should change according to the drone movement. diff --git a/docs/usage.md b/docs/usage.md index e5adedb..5439b0f 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -193,11 +193,13 @@ There are several ways to control the drone's flight: using **smartphone** (Wi-F ### Control with a remote control -Before using remote SBUS-connected remote control, you need to calibrate it: +Before using SBUS-connected remote control you need to enable SBUS and calibrate it: -1. Access the console using QGroundControl (recommended) or Serial Monitor. -2. Type `cr` command and follow the instructions. -3. Use the remote control to fly the drone! +1. Connect to the drone using QGroundControl. +2. In parameters, set the `RC_RX_PIN` parameter to the GPIO pin number where the SBUS signal is connected, for example: 4. Negative value disables SBUS. +3. Reboot the drone to apply changes. +4. Open the console, type `cr` command and follow the instructions to calibrate the remote control. +5. Use the remote control to fly the drone! ### Control with a USB remote control diff --git a/flix/parameters.ino b/flix/parameters.ino index cef683f..cd4d779 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -9,6 +9,7 @@ extern int channelZero[16]; extern int channelMax[16]; extern int rollChannel, pitchChannel, throttleChannel, yawChannel, armedChannel, modeChannel; +extern int rcRxPin; extern int wifiMode, udpLocalPort, udpRemotePort; extern float rcLossTimeout, descendTime; @@ -78,6 +79,7 @@ Parameter parameters[] = { {"MOT_PWM_MIN", &pwmMin}, {"MOT_PWM_MAX", &pwmMax}, // rc + {"RC_RX_PIN", &rcRxPin}, {"RC_ZERO_0", &channelZero[0]}, {"RC_ZERO_1", &channelZero[1]}, {"RC_ZERO_2", &channelZero[2]}, diff --git a/flix/rc.ino b/flix/rc.ino index d80f30f..175e5ff 100644 --- a/flix/rc.ino +++ b/flix/rc.ino @@ -7,6 +7,7 @@ #include "util.h" SBUS rc(Serial2); +int rcRxPin = -1; // -1 means disabled uint16_t channels[16]; // raw rc channels int channelZero[16]; // calibration zero values @@ -19,11 +20,13 @@ float controlTime = NAN; // time of the last controls update int rollChannel = -1, pitchChannel = -1, throttleChannel = -1, yawChannel = -1, modeChannel = -1; // channel mapping void setupRC() { + if (rcRxPin < 0) return; print("Setup RC\n"); - rc.begin(); + rc.begin(rcRxPin); } bool readRC() { + if (rcRxPin < 0) return false; if (rc.read()) { SBUSData data = rc.data(); for (int i = 0; i < 16; i++) channels[i] = data.ch[i]; // copy channels data @@ -48,6 +51,10 @@ void normalizeRC() { } void calibrateRC() { + if (rcRxPin < 0) { + print("RC_RX_PIN = %d, set the RC pin!\n", rcRxPin); + return; + } uint16_t zero[16]; uint16_t center[16]; uint16_t max[16]; diff --git a/gazebo/SBUS.h b/gazebo/SBUS.h index eb6b2ec..11161d7 100644 --- a/gazebo/SBUS.h +++ b/gazebo/SBUS.h @@ -13,7 +13,7 @@ class SBUS { public: SBUS(HardwareSerial& bus, const bool inv = true) {}; SBUS(HardwareSerial& bus, const int8_t rxpin, const int8_t txpin, const bool inv = true) {}; - void begin() {}; + void begin(int rxpin = -1, int txpin = -1, bool inv = true, bool fast = false) {}; bool read() { return joystickInit(); }; SBUSData data() { SBUSData data; From d8591ea2a9e0bfa7e4520ef1850f39e5bfc2a86b Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sat, 18 Apr 2026 05:23:47 +0300 Subject: [PATCH 31/70] Fix working with parameters in pyflix examples PITCH_P parameter was renamed to CTL_P_P --- tools/example.py | 6 +++--- tools/pyflix/README.md | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/example.py b/tools/example.py index 909d408..e8bbdd1 100755 --- a/tools/example.py +++ b/tools/example.py @@ -23,11 +23,11 @@ print('> imu') print(flix.cli('imu')) print('=== Get parameter...') -pitch_p = flix.get_param('PITCH_P') -print('PITCH_P = ', pitch_p) +pitch_p = flix.get_param('CTL_P_P') +print('CTL_P_P = ', pitch_p) print('=== Set parameter...') -flix.set_param('PITCH_P', pitch_p) +flix.set_param('CTL_P_P', pitch_p) print('=== Wait for gyro update...') print('Gyro: ', flix.wait('gyro')) diff --git a/tools/pyflix/README.md b/tools/pyflix/README.md index 4ffb794..6f90eb1 100644 --- a/tools/pyflix/README.md +++ b/tools/pyflix/README.md @@ -117,8 +117,8 @@ Full list of events: Get and set firmware parameters using `get_param` and `set_param` methods: ```python -pitch_p = flix.get_param('PITCH_P') # get parameter value -flix.set_param('PITCH_P', 5) # set parameter value +pitch_p = flix.get_param('CTL_P_P') # get parameter value +flix.set_param('CTL_P_P', 5) # set parameter value ``` Execute console commands using `cli` method. This method returns the command response: From 51cd5fc691ba4d431bb037ab78d71a83b7779168 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Wed, 22 Apr 2026 11:35:37 +0300 Subject: [PATCH 32/70] Implement battery voltage monitoring Add power subsystem. Add PWR_VOLT_PIN, PWR_VOLT_SCALE, PWR_VOLT_LPF_A parameters. Support BATTERY_STATUS mavlink messages streaming. Add pw cli command. Add voltage field to pyflix library. pyflix@0.12. --- README.md | 2 ++ docs/usage.md | 9 +++++++++ flix/cli.ino | 4 ++++ flix/flix.ino | 1 + flix/mavlink.ino | 8 ++++++++ flix/parameters.ino | 7 +++++++ flix/power.ino | 21 +++++++++++++++++++++ gazebo/Arduino.h | 1 + gazebo/simulator.cpp | 1 + tools/example.py | 1 + tools/pyflix/README.md | 2 ++ tools/pyflix/flix.py | 7 ++++++- tools/pyproject.toml | 2 +- 13 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 flix/power.ino diff --git a/README.md b/README.md index bf62098..d9907a7 100644 --- a/README.md +++ b/README.md @@ -156,6 +156,8 @@ You can see a user-contributed [variant of complete circuit diagram](https://mir *¹ — UART2 RX pin was [changed](https://docs.espressif.com/projects/arduino-esp32/en/latest/migration_guides/2.x_to_3.0.html#id14) to GPIO4 in Arduino ESP32 core 3.0.* +* Optionally connect the battery voltage divider for voltage monitoring to any ADC1 pin (e. g. *GPIO32* on ESP32, *GPIO3* on ESP32S3). + ## Resources * Telegram channel on developing the drone and the flight controller (in Russian): https://t.me/opensourcequadcopter. diff --git a/docs/usage.md b/docs/usage.md index 5439b0f..01342a3 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -146,6 +146,15 @@ If using brushless motors and ESCs: > [!CAUTION] > **Remove the props when configuring the motors!** If improperly configured, you may not be able to stop them. +### Battery voltage monitoring + +ESP32 ADC can measure only up to 3.3 V, so you need to use a voltage divider to monitor the battery voltage. To enable voltage measurement, set the following parameters: + +1. `PWR_VOLT_PIN` — GPIO pin number where the voltage divider is connected (*-1* to disable). +2. `PWR_VOLT_SCALE` — voltage divider coefficient (*2* for two equal resistors). + +After this setup, you should see the battery voltage in QGroundControl top panel or using `pw` command in the console. + ### Important: check everything works 1. Check the IMU is working: perform `imu` command in the console and check the output: diff --git a/flix/cli.ino b/flix/cli.ino index 3250d0e..a6dec83 100644 --- a/flix/cli.ino +++ b/flix/cli.ino @@ -16,6 +16,7 @@ extern float controlTime; extern int mode; extern bool armed; extern LowPassFilter gyroBiasFilter; +extern float voltage; const char* motd = "\nWelcome to\n" @@ -39,6 +40,7 @@ const char* motd = "disarm - disarm the drone\n" "raw/stab/acro/auto - set mode\n" "rc - show RC data\n" +"pw - show power info\n" "wifi - show Wi-Fi info\n" "ap - setup Wi-Fi access point\n" "sta - setup Wi-Fi client mode\n" @@ -135,6 +137,8 @@ void doCommand(String str, bool echo = false) { print("time: %.1f\n", controlTime); print("mode: %s\n", getModeName()); print("armed: %d\n", armed); + } else if (command == "pw") { + print("Voltage: %.1f V\n", voltage); } else if (command == "wifi") { printWiFiInfo(); } else if (command == "ap") { diff --git a/flix/flix.ino b/flix/flix.ino index 422b818..e03b3e3 100644 --- a/flix/flix.ino +++ b/flix/flix.ino @@ -39,6 +39,7 @@ void loop() { sendMotors(); handleInput(); processMavlink(); + readVoltage(); logData(); syncParameters(); } diff --git a/flix/mavlink.ino b/flix/mavlink.ino index 2df74d6..1459872 100644 --- a/flix/mavlink.ino +++ b/flix/mavlink.ino @@ -7,6 +7,7 @@ #include "util.h" extern float controlTime; +extern float voltage; int mavlinkSysId = 1; Rate telemetryFast(10); @@ -39,6 +40,13 @@ void sendMavlink() { mavlink_msg_extended_sys_state_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, MAV_VTOL_STATE_UNDEFINED, landed ? MAV_LANDED_STATE_ON_GROUND : MAV_LANDED_STATE_IN_AIR); sendMessage(&msg); + + uint16_t voltages[] = {voltage * 1000, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX}; + uint16_t voltagesExt[] = {0, 0, 0, 0}; + float remaining = constrain(mapf(voltage, 3.4, 4.2, 0, 1), 0, 1); + mavlink_msg_battery_status_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, 0, MAV_BATTERY_FUNCTION_ALL, + MAV_BATTERY_TYPE_LIPO, INT16_MAX, voltages, -1, -1, -1, remaining * 100, 0, MAV_BATTERY_CHARGE_STATE_OK, voltagesExt, 0, 0); + sendMessage(&msg); } if (telemetryFast && mavlinkConnected) { diff --git a/flix/parameters.ino b/flix/parameters.ino index cd4d779..9f81a1d 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -12,6 +12,9 @@ extern int rollChannel, pitchChannel, throttleChannel, yawChannel, armedChannel, extern int rcRxPin; extern int wifiMode, udpLocalPort, udpRemotePort; extern float rcLossTimeout, descendTime; +extern int voltagePin; +extern float voltageScale; +extern LowPassFilter voltageFilter; Preferences storage; @@ -109,6 +112,10 @@ Parameter parameters[] = { {"MAV_SYS_ID", &mavlinkSysId}, {"MAV_RATE_SLOW", &telemetrySlow.rate}, {"MAV_RATE_FAST", &telemetryFast.rate}, + // power + {"PWR_VOLT_PIN", &voltagePin}, + {"PWR_VOLT_SCALE", &voltageScale}, + {"PWR_VOLT_LPF_A", &voltageFilter.alpha}, // safety {"SF_RC_LOSS_TIME", &rcLossTimeout}, {"SF_DESCEND_TIME", &descendTime}, diff --git a/flix/power.ino b/flix/power.ino new file mode 100644 index 0000000..d5d7304 --- /dev/null +++ b/flix/power.ino @@ -0,0 +1,21 @@ +// Copyright (c) 2026 Oleg Kalachev +// Repository: https://github.com/okalachev/flix + +// Power management + +#include "lpf.h" +#include "util.h" + +float voltage; +LowPassFilter voltageFilter(0.2); +int voltagePin = -1; +float voltageScale = 2; + +void readVoltage() { + if (voltagePin < 0) return; + static Rate rate(10); + if (!rate) return; + + float v = analogReadMilliVolts(voltagePin) * voltageScale / 1000.0f; + voltage = voltageFilter.update(v); +} diff --git a/gazebo/Arduino.h b/gazebo/Arduino.h index ad4bef4..2cbaaf0 100644 --- a/gazebo/Arduino.h +++ b/gazebo/Arduino.h @@ -166,6 +166,7 @@ void delay(uint32_t ms) { bool ledcAttach(uint8_t pin, uint32_t freq, uint8_t resolution) { return true; } bool ledcWrite(uint8_t pin, uint32_t duty) { return true; } uint32_t ledcChangeFrequency(uint8_t pin, uint32_t freq, uint8_t resolution) { return freq; } +uint32_t analogReadMilliVolts(uint8_t pin) { return 0; } unsigned long __micros; unsigned long __resetTime = 0; diff --git a/gazebo/simulator.cpp b/gazebo/simulator.cpp index b25e717..cf3e9e5 100644 --- a/gazebo/simulator.cpp +++ b/gazebo/simulator.cpp @@ -27,6 +27,7 @@ #include "mavlink.ino" #include "motors.ino" #include "parameters.ino" +#include "power.ino" #include "rc.ino" #include "time.ino" diff --git a/tools/example.py b/tools/example.py index e8bbdd1..0738bda 100755 --- a/tools/example.py +++ b/tools/example.py @@ -10,6 +10,7 @@ print('Connected:', flix.connected) print('Mode:', flix.mode) print('Armed:', flix.armed) print('Landed:', flix.landed) +print('Voltage:', flix.voltage, 'V') print('Rates:', *[f'{math.degrees(r):.0f}°/s' for r in flix.rates]) print('Attitude:', *[f'{math.degrees(a):.0f}°' for a in flix.attitude_euler]) print('Motors:', flix.motors) diff --git a/tools/pyflix/README.md b/tools/pyflix/README.md index 6f90eb1..ade6d4a 100644 --- a/tools/pyflix/README.md +++ b/tools/pyflix/README.md @@ -37,6 +37,7 @@ print(flix.connected) # True if connected to the drone print(flix.mode) # current flight mode (str) print(flix.armed) # True if the drone is armed print(flix.landed) # True if the drone is landed +print(flix.voltage) # battery voltage print(flix.attitude) # attitude quaternion [w, x, y, z] print(flix.attitude_euler) # attitude as Euler angles [roll, pitch, yaw] print(flix.rates) # angular rates [roll_rate, pitch_rate, yaw_rate] @@ -95,6 +96,7 @@ Full list of events: |`armed`|Armed state update|Armed state *(bool)*| |`mode`|Flight mode update|Flight mode *(str)*| |`landed`|Landed state update|Landed state *(bool)*| +|`voltage`|Battery voltage update|Voltage *(float)*| |`print`|The drone prints text to the console|Text| |`attitude`|Attitude update|Attitude quaternion *(list)*| |`attitude_euler`|Attitude update|Euler angles *(list)*| diff --git a/tools/pyflix/flix.py b/tools/pyflix/flix.py index 757ebfa..fb88e55 100644 --- a/tools/pyflix/flix.py +++ b/tools/pyflix/flix.py @@ -26,6 +26,7 @@ class Flix: mode: str = '' armed: bool = False landed: bool = False + voltage: float = 0 attitude: List[float] attitude_euler: List[float] # roll, pitch, yaw rates: List[float] @@ -68,7 +69,7 @@ class Flix: self._heartbeat_thread.start() if wait_connection: self.wait('mavlink.HEARTBEAT') - time.sleep(0.2) # give some time to receive initial state + time.sleep(0.6) # give some time to receive initial state def _init_state(self): self.attitude = [1, 0, 0, 0] @@ -190,6 +191,10 @@ class Flix: self._trigger('acc', self.acc) self._trigger('gyro', self.gyro) + if isinstance(msg, mavlink.MAVLink_battery_status_message): + self.voltage = msg.voltages[0] / 1000 + self._trigger('voltage', self.voltage) + if isinstance(msg, mavlink.MAVLink_serial_control_message): # new chunk of data text = bytes(msg.data)[:msg.count].decode('utf-8', errors='ignore') diff --git a/tools/pyproject.toml b/tools/pyproject.toml index 5ec9593..3b8f3c6 100644 --- a/tools/pyproject.toml +++ b/tools/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "pyflix" -version = "0.11" +version = "0.12" description = "Python API for Flix drone" authors = [{ name="Oleg Kalachev", email="okalachev@gmail.com" }] license = "MIT" From ed4e2d87d11e6d637eaf466e38748a2223d52b9e Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 23 Apr 2026 07:12:25 +0300 Subject: [PATCH 33/70] Fix imu command output Gyro field contained filtered gyro instead of scaled only gyro. --- flix/imu.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flix/imu.ino b/flix/imu.ino index ffdc1ff..e2bc5d0 100644 --- a/flix/imu.ino +++ b/flix/imu.ino @@ -121,7 +121,7 @@ void printIMUInfo() { print("model: %s\n", imu.getModel()); print("who am I: 0x%02X\n", imu.whoAmI()); print("rate: %.0f\n", loopRate); - print("gyro: %f %f %f\n", rates.x, rates.y, rates.z); + print("gyro: %f %f %f\n", gyro.x, gyro.y, gyro.z); print("acc: %f %f %f\n", acc.x, acc.y, acc.z); imu.waitForData(); Vector rawGyro, rawAcc; From 835b2243e8ec18b0d3ac1a465f3055bd2d8edbb8 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 23 Apr 2026 07:25:59 +0300 Subject: [PATCH 34/70] Minor fix in sys command String works with printf %s, but actually it's a UB. --- flix/cli.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flix/cli.ino b/flix/cli.ino index a6dec83..de6c60c 100644 --- a/flix/cli.ino +++ b/flix/cli.ino @@ -178,7 +178,7 @@ void doCommand(String str, bool echo = false) { String core = systemState[i].xCoreID == tskNO_AFFINITY ? "*" : String(systemState[i].xCoreID); int cpuPercentage = systemState[i].ulRunTimeCounter / (totalRunTime / 100); print("%-5d%-20s%-7d%-6d%-6s%d\n",systemState[i].xTaskNumber, systemState[i].pcTaskName, - systemState[i].usStackHighWaterMark, systemState[i].uxCurrentPriority, core, cpuPercentage); + systemState[i].usStackHighWaterMark, systemState[i].uxCurrentPriority, core.c_str(), cpuPercentage); } delete[] systemState; #endif From 6e439859bc787c6ba355e966eb49863b3c89c517 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 23 Apr 2026 15:06:07 +0300 Subject: [PATCH 35/70] Move disabling brown-out code to power subsystem --- flix/flix.ino | 2 +- flix/power.ino | 7 +++++++ flix/util.h | 7 ------- gazebo/soc/soc.h | 1 - 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/flix/flix.ino b/flix/flix.ino index e03b3e3..16b62aa 100644 --- a/flix/flix.ino +++ b/flix/flix.ino @@ -18,8 +18,8 @@ extern float motors[4]; void setup() { Serial.begin(115200); print("Initializing flix\n"); - disableBrownOut(); setupParameters(); + setupPower(); setupLED(); setLED(true); setupMotors(); diff --git a/flix/power.ino b/flix/power.ino index d5d7304..b9e07f0 100644 --- a/flix/power.ino +++ b/flix/power.ino @@ -3,6 +3,8 @@ // Power management +#include +#include #include "lpf.h" #include "util.h" @@ -11,6 +13,11 @@ LowPassFilter voltageFilter(0.2); int voltagePin = -1; float voltageScale = 2; +void setupPower() { + // Disable reset on low voltage + REG_CLR_BIT(RTC_CNTL_BROWN_OUT_REG, RTC_CNTL_BROWN_OUT_ENA); +} + void readVoltage() { if (voltagePin < 0) return; static Rate rate(10); diff --git a/flix/util.h b/flix/util.h index 025cd5e..ffb57b3 100644 --- a/flix/util.h +++ b/flix/util.h @@ -6,8 +6,6 @@ #pragma once #include -#include -#include const float ONE_G = 9.80665; extern float t; @@ -35,11 +33,6 @@ float wrapAngle(float angle) { return angle; } -// Disable reset on low voltage -void disableBrownOut() { - REG_CLR_BIT(RTC_CNTL_BROWN_OUT_REG, RTC_CNTL_BROWN_OUT_ENA); -} - // Trim and split string by spaces void splitString(String& str, String& token0, String& token1, String& token2) { str.trim(); diff --git a/gazebo/soc/soc.h b/gazebo/soc/soc.h index 2d3f1e2..f9817f6 100644 --- a/gazebo/soc/soc.h +++ b/gazebo/soc/soc.h @@ -1,4 +1,3 @@ // Dummy file to make it possible to compile simulator with Flix' util.h -#define WRITE_PERI_REG(addr, val) {} #define REG_CLR_BIT(_r, _b) {} From 350a82bfed0970aa76c7b2cb5018774df843c03b Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 23 Apr 2026 15:34:54 +0300 Subject: [PATCH 36/70] Minor fix --- flix/control.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flix/control.ino b/flix/control.ino index 50601cb..1c1a8b7 100644 --- a/flix/control.ino +++ b/flix/control.ino @@ -67,7 +67,7 @@ void control() { void interpretControls() { if (controlMode < 0.25) mode = flightModes[0]; - else if (controlMode < 0.75) mode = flightModes[1]; + else if (controlMode <= 0.75) mode = flightModes[1]; else if (controlMode > 0.75) mode = flightModes[2]; if (mode == AUTO) return; // pilot is not effective in AUTO mode From d6a79d6c6621c431c64f2b301dd4ca111963de29 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Fri, 24 Apr 2026 07:42:39 +0300 Subject: [PATCH 37/70] Pass acc data in mG in SCALED_IMU to comply with mavlink standard https://mavlink.io/en/messages/common.html#SCALED_IMU pyflix@0.13 --- flix/mavlink.ino | 2 +- tools/pyflix/flix.py | 3 ++- tools/pyproject.toml | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/flix/mavlink.ino b/flix/mavlink.ino index 1459872..feaef8d 100644 --- a/flix/mavlink.ino +++ b/flix/mavlink.ino @@ -65,7 +65,7 @@ void sendMavlink() { sendMessage(&msg); mavlink_msg_scaled_imu_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, time, - acc.x * 1000, -acc.y * 1000, -acc.z * 1000, // convert to frd + acc.x / ONE_G * 1000, -acc.y / ONE_G * 1000, -acc.z / ONE_G * 1000, // convert to frd gyro.x * 1000, -gyro.y * 1000, -gyro.z * 1000, 0, 0, 0, 0); sendMessage(&msg); diff --git a/tools/pyflix/flix.py b/tools/pyflix/flix.py index fb88e55..211b5df 100644 --- a/tools/pyflix/flix.py +++ b/tools/pyflix/flix.py @@ -186,7 +186,8 @@ class Flix: self._trigger('motors', self.motors) if isinstance(msg, mavlink.MAVLink_scaled_imu_message): - self.acc = self._mavlink_to_flu([msg.xacc / 1000, msg.yacc / 1000, msg.zacc / 1000]) + ONE_G = 9.80665 + self.acc = self._mavlink_to_flu([msg.xacc * ONE_G / 1000, msg.yacc * ONE_G / 1000, msg.zacc * ONE_G / 1000]) self.gyro = self._mavlink_to_flu([msg.xgyro / 1000, msg.ygyro / 1000, msg.zgyro / 1000]) self._trigger('acc', self.acc) self._trigger('gyro', self.gyro) diff --git a/tools/pyproject.toml b/tools/pyproject.toml index 3b8f3c6..1d9ba3a 100644 --- a/tools/pyproject.toml +++ b/tools/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "pyflix" -version = "0.12" +version = "0.13" description = "Python API for Flix drone" authors = [{ name="Oleg Kalachev", email="okalachev@gmail.com" }] license = "MIT" From 9bffe5b52f214e45ca197ab5e0dc5300f05c7fde Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sun, 26 Apr 2026 06:05:02 +0300 Subject: [PATCH 38/70] Some fixes in docs --- README.md | 6 ++++-- tools/pyflix/README.md | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d9907a7..42425a1 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ Additional articles: |Motor|8520 3.7V brushed motor.
Motor with exact 3.7V voltage is needed, not ranged working voltage (3.7V — 6V).
Make sure the motor shaft diameter and propeller hole diameter match!||4| |Propeller|55 mm (alternatively 65 mm)||4| |MOSFET (transistor)|100N03A or [analog](https://t.me/opensourcequadcopter/33)||4| -|Pull-down resistor|10 kΩ||4| +|Pull-down resistor
Voltage measurement resistor|10 kΩ||6| |3.7V Li-Po battery|LW 952540 (or any compatible by the size)||1| |Battery connector cable|MX2.0 2P female||1| |Li-Po Battery charger|Any||1| @@ -154,10 +154,12 @@ You can see a user-contributed [variant of complete circuit diagram](https://mir |VIN|VCC (or 3.3V depending on the receiver)| |Signal (TX)|GPIO4¹| -*¹ — UART2 RX pin was [changed](https://docs.espressif.com/projects/arduino-esp32/en/latest/migration_guides/2.x_to_3.0.html#id14) to GPIO4 in Arduino ESP32 core 3.0.* + *¹ — UART2 RX pin was [changed](https://docs.espressif.com/projects/arduino-esp32/en/latest/migration_guides/2.x_to_3.0.html#id14) to GPIO4 in Arduino ESP32 core 3.0.* * Optionally connect the battery voltage divider for voltage monitoring to any ADC1 pin (e. g. *GPIO32* on ESP32, *GPIO3* on ESP32S3). + ESP32 and ESP32S3 [can measure](https://docs.espressif.com/projects/arduino-esp32/en/latest/api/adc.html#analogsetattenuation) up to 3.1 V and ESP32S3/ESP32C3 can measure up to 2.5 V, so choose the voltage divider resistors accordingly. + ## Resources * Telegram channel on developing the drone and the flight controller (in Russian): https://t.me/opensourcequadcopter. diff --git a/tools/pyflix/README.md b/tools/pyflix/README.md index ade6d4a..583d510 100644 --- a/tools/pyflix/README.md +++ b/tools/pyflix/README.md @@ -30,7 +30,7 @@ flix = Flix() # create a Flix object and wait for connection ### Telemetry -Basic telemetry is available through object properties. The property names generally match the corresponding variables in the firmware itself: +Basic telemetry is available through object properties. The property names generally match the corresponding variables in the firmware code: ```python print(flix.connected) # True if connected to the drone From 485a39e7408370f164e48a068bd058cdf2e777a1 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Mon, 27 Apr 2026 16:46:36 +0300 Subject: [PATCH 39/70] Disable wi-fi power save to improve responsiveness --- flix/wifi.ino | 1 + 1 file changed, 1 insertion(+) diff --git a/flix/wifi.ino b/flix/wifi.ino index 6814dbe..8386d89 100644 --- a/flix/wifi.ino +++ b/flix/wifi.ino @@ -25,6 +25,7 @@ void setupWiFi() { } else if (wifiMode == W_STA) { WiFi.begin(storage.getString("WIFI_STA_SSID", "").c_str(), storage.getString("WIFI_STA_PASS", "").c_str()); } + WiFi.setSleep(false); // disable power save udp.begin(udpLocalPort); } From 2ccda03573e6afb6ed200017b2b1ca05cb82d5ed Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 28 Apr 2026 13:23:42 +0300 Subject: [PATCH 40/70] Implement motors output desaturation So the drone continues stabilization on max thrust. --- flix/control.ino | 13 +++++++++++++ gazebo/Arduino.h | 2 ++ gazebo/flix.h | 1 + 3 files changed, 16 insertions(+) diff --git a/flix/control.ino b/flix/control.ino index 1c1a8b7..aa7edb6 100644 --- a/flix/control.ino +++ b/flix/control.ino @@ -149,12 +149,25 @@ void controlTorque() { motors[MOTOR_REAR_LEFT] = thrustTarget + torqueTarget.x + torqueTarget.y - torqueTarget.z; motors[MOTOR_REAR_RIGHT] = thrustTarget - torqueTarget.x + torqueTarget.y + torqueTarget.z; + desaturate(motors[MOTOR_FRONT_LEFT], motors[MOTOR_FRONT_RIGHT], motors[MOTOR_REAR_LEFT], motors[MOTOR_REAR_RIGHT]); + motors[0] = constrain(motors[0], 0, 1); motors[1] = constrain(motors[1], 0, 1); motors[2] = constrain(motors[2], 0, 1); motors[3] = constrain(motors[3], 0, 1); } +void desaturate(float& a, float& b, float& c, float& d) { + float maxThrust = max(max(a, b), max(c, d)); + if (maxThrust > 1) { + float diff = maxThrust - 1; + a -= diff; + b -= diff; + c -= diff; + d -= diff; + } +} + const char* getModeName() { switch (mode) { case RAW: return "RAW"; diff --git a/gazebo/Arduino.h b/gazebo/Arduino.h index 2cbaaf0..d0512a1 100644 --- a/gazebo/Arduino.h +++ b/gazebo/Arduino.h @@ -21,6 +21,8 @@ #define degrees(rad) ((rad)*RAD_TO_DEG) #define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) +template T max(T a, T b) { return a > b ? a : b; } +template T min(T a, T b) { return a < b ? a : b; } long map(long x, long in_min, long in_max, long out_min, long out_max) { const long run = in_max - in_min; diff --git a/gazebo/flix.h b/gazebo/flix.h index 96a3aad..899245f 100644 --- a/gazebo/flix.h +++ b/gazebo/flix.h @@ -32,6 +32,7 @@ void interpretControls(); void controlAttitude(); void controlRates(); void controlTorque(); +void desaturate(float& a, float& b, float& c, float& d); const char* getModeName(); void sendMotors(); int getDutyCycle(float value); From 35ca754583df756c87a238aa8842209a2dd0cd87 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 28 Apr 2026 15:38:52 +0300 Subject: [PATCH 41/70] Fix Vector::rotationVectorBetween implementation for parallel vectors --- flix/vector.h | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/flix/vector.h b/flix/vector.h index efc3be0..74293fa 100644 --- a/flix/vector.h +++ b/flix/vector.h @@ -105,10 +105,23 @@ public: } static Vector rotationVectorBetween(const Vector& a, const Vector& b) { + float an = a.norm(); + float bn = b.norm(); + if (an < 1e-6 || bn < 1e-6) { + return Vector(0, 0, 0); + } Vector direction = cross(a, b); - if (direction.zero()) { - // vectors are opposite, return any perpendicular vector - return cross(a, Vector(1, 0, 0)); + if (direction.norm() < 1e-6) { // vectors are parallel + if (dot(a, b) > 0) { // same direction + return Vector(0, 0, 0); + } + // opposite direction + Vector perp = cross(a, Vector(1, 0, 0)); + if (perp.norm() < 1e-6) { + perp = cross(a, Vector(0, 1, 0)); + } + perp.normalize(); + return perp * PI; } direction.normalize(); float angle = angleBetween(a, b); From c6632ae6e4ba1776a3a479deef84d0397be0756c Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 28 Apr 2026 20:43:52 +0300 Subject: [PATCH 42/70] Add info on setting flight modes using rc mode switch --- docs/usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/usage.md b/docs/usage.md index 01342a3..974f851 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -245,7 +245,7 @@ When finished flying, **disarm** the drone, moving the left stick to the bottom ### Flight modes -Flight mode is changed using mode switch on the remote control (if configured) or using the console commands. The main flight mode is *STAB*. +Flight mode is changed using mode switch on the remote control (if configured) or using the console commands. The main flight mode is *STAB*. In order to change modes using SBUS remote control, set the parameters: `CTL_FLT_MODE_0`, `CTL_FLT_MODE_1`, and `CTL_FLT_MODE_2` to required mode numbers (0 for *RAW*, 1 for *ACRO*, 2 for *STAB*, 3 for *AUTO*). #### STAB From 28da2d3c8ed268c56f327f3fa03461ba14cb1abe Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 28 Apr 2026 20:46:49 +0300 Subject: [PATCH 43/70] Fix in pyflix documentation pyflix@0.14 --- tools/pyflix/README.md | 2 +- tools/pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/pyflix/README.md b/tools/pyflix/README.md index 583d510..702e39d 100644 --- a/tools/pyflix/README.md +++ b/tools/pyflix/README.md @@ -24,7 +24,7 @@ pip install pyflix The API is accessed through the `Flix` class: ```python -from flix import Flix +from pyflix import Flix flix = Flix() # create a Flix object and wait for connection ``` diff --git a/tools/pyproject.toml b/tools/pyproject.toml index 1d9ba3a..0ac51a0 100644 --- a/tools/pyproject.toml +++ b/tools/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "pyflix" -version = "0.13" +version = "0.14" description = "Python API for Flix drone" authors = [{ name="Oleg Kalachev", email="okalachev@gmail.com" }] license = "MIT" From 9ca68415589a0a0a9c97c72f609fd5d40c834ed4 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Wed, 29 Apr 2026 15:07:44 +0300 Subject: [PATCH 44/70] Exit auto mode when sticks moved only when mode switch is not configured --- docs/usage.md | 2 +- flix/safety.ino | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index 974f851..18493e8 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -266,7 +266,7 @@ In this mode, the pilot controls the angular rates. This control method is diffi In this mode, the pilot inputs are ignored (except the mode switch). The drone can be controlled using [pyflix](../tools/pyflix/) Python library, or by modifying the firmware to implement the needed behavior. -If the pilot moves the control sticks, the drone will switch back to *STAB* mode. +If the pilot moves the control sticks and mode switch is not configured, the drone will switch back to *STAB* mode. ## Wi-Fi configuration diff --git a/flix/safety.ino b/flix/safety.ino index 1d67010..05fd758 100644 --- a/flix/safety.ino +++ b/flix/safety.ino @@ -37,8 +37,8 @@ void descend() { void autoFailsafe() { static float roll, pitch, yaw, throttle; if (roll != controlRoll || pitch != controlPitch || yaw != controlYaw || abs(throttle - controlThrottle) > 0.05) { - // controls changed - if (mode == AUTO) mode = STAB; // regain control by the pilot + // controls changed and mode switch is not configured + if (mode == AUTO && invalid(controlMode)) mode = STAB; // regain control by the pilot } roll = controlRoll; pitch = controlPitch; From 08683d696d664e563052152688c7f621d8ce5661 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Fri, 1 May 2026 15:26:59 +0300 Subject: [PATCH 45/70] Some updates in the usage doc --- docs/usage.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/usage.md b/docs/usage.md index 18493e8..723f8dc 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -112,7 +112,7 @@ You can also work with parameters using `p` command in the console. Parameter na ### Define IMU orientation -Use parameters, to define the IMU board axes orientation relative to the drone's axes: `IMU_ROT_ROLL`, `IMU_ROT_PITCH`, and `IMU_ROT_YAW`. +The IMU orientation (relative to the drone's axes) is defined using the parameters: `IMU_ROT_ROLL`, `IMU_ROT_PITCH`, and `IMU_ROT_YAW`. The drone has *X* axis pointing forward, *Y* axis pointing left, and *Z* axis pointing up, and the supported IMU boards have *X* axis pointing to the pins side and *Z* axis pointing up from the component side: @@ -138,6 +138,8 @@ Before flight you need to calibrate the accelerometer: If using non-default motor pins, set the pin numbers using the parameters: `MOTOR_PIN_FL`, `MOTOR_PIN_FR`, `MOTOR_PIN_RL`, `MOTOR_PIN_RR` (front-left, front-right, rear-left, rear-right respectively). +Certain ESP32 models (such as ESP32-S3) support a lower maximum PWM frequency; on these boards the parameter `MOT_PWM_FREQ` should be set to 40000 Hz. + If using brushless motors and ESCs: 1. Set the appropriate PWM using the parameters: `MOT_PWM_STOP`, `MOT_PWM_MIN`, and `MOT_PWM_MAX` (1000, 1000, and 2000 is typical). From dbf24ea61173cdbb67ee0c686d2b74dc6bc9af78 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sun, 3 May 2026 15:04:16 +0300 Subject: [PATCH 46/70] Expose lpf alpha of rate pids to parameters Add parameters: CTL_R_RATE_D_A, CTL_P_RATE_D_A, CTL_Y_RATE_D_A. --- flix/parameters.ino | 3 +++ 1 file changed, 3 insertions(+) diff --git a/flix/parameters.ino b/flix/parameters.ino index 9f81a1d..3117a53 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -36,13 +36,16 @@ Parameter parameters[] = { {"CTL_R_RATE_I", &rollRatePID.i}, {"CTL_R_RATE_D", &rollRatePID.d}, {"CTL_R_RATE_WU", &rollRatePID.windup}, + {"CTL_R_RATE_D_A", &rollRatePID.lpf.alpha}, {"CTL_P_RATE_P", &pitchRatePID.p}, {"CTL_P_RATE_I", &pitchRatePID.i}, {"CTL_P_RATE_D", &pitchRatePID.d}, {"CTL_P_RATE_WU", &pitchRatePID.windup}, + {"CTL_P_RATE_D_A", &pitchRatePID.lpf.alpha}, {"CTL_Y_RATE_P", &yawRatePID.p}, {"CTL_Y_RATE_I", &yawRatePID.i}, {"CTL_Y_RATE_D", &yawRatePID.d}, + {"CTL_Y_RATE_D_A", &yawRatePID.lpf.alpha}, {"CTL_R_P", &rollPID.p}, {"CTL_R_I", &rollPID.i}, {"CTL_R_D", &rollPID.d}, From bd270db4930edab68ea618fd7bf7610c8af2755e Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 5 May 2026 21:27:47 +0300 Subject: [PATCH 47/70] Reduce angle drift by adding level correction to the estimator Leverage a priori knowledge that the drone's average attitude is level. Explanation: https://t.me/opensourcequadcopter/158. --- flix/estimate.ino | 11 +++++++++++ flix/parameters.ino | 1 + gazebo/flix.h | 1 + 3 files changed, 13 insertions(+) diff --git a/flix/estimate.ino b/flix/estimate.ino index e07bd07..e66cf38 100644 --- a/flix/estimate.ino +++ b/flix/estimate.ino @@ -13,11 +13,13 @@ Quaternion attitude; // estimated attitude bool landed; float accWeight = 0.003; +float levelWeight = 0.0002; LowPassFilter ratesFilter(0.2); // cutoff frequency ~ 40 Hz void estimate() { applyGyro(); applyAcc(); + applyLevel(); } void applyGyro() { @@ -42,3 +44,12 @@ void applyAcc() { // apply correction attitude = Quaternion::rotate(attitude, Quaternion::fromRotationVector(correction)); } + +void applyLevel() { + if (landed) return; + + // assume the pilot keeps the drone more or less level in flight + Vector up = Quaternion::rotateVector(Vector(0, 0, 1), attitude); + Vector correction = Vector::rotationVectorBetween(Vector(0, 0, 1), up) * levelWeight; + attitude = Quaternion::rotate(attitude, Quaternion::fromRotationVector(correction)); +} diff --git a/flix/parameters.ino b/flix/parameters.ino index 3117a53..4fc0063 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -73,6 +73,7 @@ Parameter parameters[] = { {"IMU_GYRO_BIAS_A", &gyroBiasFilter.alpha}, // estimate {"EST_ACC_WEIGHT", &accWeight}, + {"EST_LVL_WEIGHT", &levelWeight}, {"EST_RATES_LPF_A", &ratesFilter.alpha}, // motors {"MOT_PIN_FL", &motorPins[MOTOR_FRONT_LEFT], setupMotors}, diff --git a/gazebo/flix.h b/gazebo/flix.h index 899245f..ddac951 100644 --- a/gazebo/flix.h +++ b/gazebo/flix.h @@ -27,6 +27,7 @@ void step(); void computeLoopRate(); void applyGyro(); void applyAcc(); +void applyLevel(); void control(); void interpretControls(); void controlAttitude(); From 5f1a938d4f1cbc35ba5b3ebdbcb9d47405b19164 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 7 May 2026 19:54:16 +0300 Subject: [PATCH 48/70] Fix imu rotation definition The X axis should be pointing to the mounting holes, not pins side. --- docs/img/imu-axes.png | Bin 23381 -> 33429 bytes docs/usage.md | 10 +++++----- flix/imu.ino | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/img/imu-axes.png b/docs/img/imu-axes.png index 003f03a62a1d8e906e8fd5f00e0dcec509356413..276c75c1380b0ab1a6758aad35aa66522cd8c661 100644 GIT binary patch literal 33429 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 L^>bP0l+XkK(^LAY literal 23381 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 diff --git a/docs/usage.md b/docs/usage.md index 723f8dc..48f73c5 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -114,7 +114,7 @@ You can also work with parameters using `p` command in the console. Parameter na The IMU orientation (relative to the drone's axes) is defined using the parameters: `IMU_ROT_ROLL`, `IMU_ROT_PITCH`, and `IMU_ROT_YAW`. -The drone has *X* axis pointing forward, *Y* axis pointing left, and *Z* axis pointing up, and the supported IMU boards have *X* axis pointing to the pins side and *Z* axis pointing up from the component side: +The drone has *X* axis pointing forward, *Y* axis pointing left, and *Z* axis pointing up, and the supported IMU boards have *X* axis pointing to the mounting holes side and *Z* axis pointing up from the component side: @@ -122,10 +122,10 @@ Use the following table to set the parameters for common IMU orientations: |Orientation|Parameters|Orientation|Parameters| |:-:|-|-|-| -||`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 0 ||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 0| -||`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 1.571||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = -1.571| -||`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 3.142||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 3.142| -|
☑️ **Default**|
`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = -1.571||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 1.571| +||`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 0 ||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 0| +||`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = -1.571||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = -1.571| +||`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 3.142||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 3.142| +|
☑️ **Default**|
`IMU_ROT_ROLL` = 0
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 1.571||`IMU_ROT_ROLL` = 3.142
`IMU_ROT_PITCH` = 0
`IMU_ROT_YAW` = 1.571| ### Calibrate accelerometer diff --git a/flix/imu.ino b/flix/imu.ino index e2bc5d0..136412e 100644 --- a/flix/imu.ino +++ b/flix/imu.ino @@ -10,7 +10,7 @@ #include "util.h" MPU9250 imu(SPI); -Vector imuRotation(0, 0, -PI / 2); // imu orientation as Euler angles +Vector imuRotation(0, 0, PI / 2); // imu orientation as Euler angles Vector gyro; // gyroscope output, rad/s Vector gyroBias; From e81e84e7fc00763a73707ac6358c54c00bf13aa1 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 7 May 2026 20:15:55 +0300 Subject: [PATCH 49/70] Some updates to docs --- README.md | 6 +++--- docs/assembly.md | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 42425a1..281eee3 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ The simulator is implemented using Gazebo and runs the original Arduino code: Flix simulator -## Documentation +## Documentation articles 1. [Assembly instructions](docs/assembly.md). 2. [Usage: build, setup and flight](docs/usage.md). @@ -75,10 +75,10 @@ Additional articles: |IMU (and barometer¹) board|GY‑91, MPU-9265 (or other MPU‑9250/MPU‑6500 board)
ICM20948V2 (ICM‑20948)³
GY-521 (MPU-6050)³⁻¹|

|1| |Boost converter (optional, for more stable power supply)|5V output||1| |Motor|8520 3.7V brushed motor.
Motor with exact 3.7V voltage is needed, not ranged working voltage (3.7V — 6V).
Make sure the motor shaft diameter and propeller hole diameter match!||4| -|Propeller|55 mm (alternatively 65 mm)||4| +|Propeller|55 mm or 65 mm||4| |MOSFET (transistor)|100N03A or [analog](https://t.me/opensourcequadcopter/33)||4| |Pull-down resistor
Voltage measurement resistor|10 kΩ||6| -|3.7V Li-Po battery|LW 952540 (or any compatible by the size)||1| +|3.7V Li-Po battery|LW 952540 (or any compatible by the size).
Make sure the battery has enough discharge rate — 25C or more!||1| |Battery connector cable|MX2.0 2P female||1| |Li-Po Battery charger|Any||1| |Screws for IMU board mounting|M3x5||2| diff --git a/docs/assembly.md b/docs/assembly.md index b23c113..a332272 100644 --- a/docs/assembly.md +++ b/docs/assembly.md @@ -28,6 +28,8 @@ Soldered components ([schematics variant](https://miro.com/app/board/uXjVN-dTjoo +See an alternative assembly process photos here: https://drive.google.com/drive/folders/1FG5BH9RCzdf1XmJcC70PymiRMXcz6Fx7?usp=sharing. + ## Motor directions > [!WARNING] From 68271c508c6709463231fa98566f548561cdb91f Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Fri, 8 May 2026 00:31:51 +0300 Subject: [PATCH 50/70] Print firmware build date and time in sys command --- flix/cli.ino | 1 + 1 file changed, 1 insertion(+) diff --git a/flix/cli.ino b/flix/cli.ino index de6c60c..05fe016 100644 --- a/flix/cli.ino +++ b/flix/cli.ino @@ -168,6 +168,7 @@ void doCommand(String str, bool echo = false) { print("Chip: %s\n", ESP.getChipModel()); print("Temperature: %.1f °C\n", temperatureRead()); print("Free heap: %d\n", ESP.getFreeHeap()); + print("Firmware: " __DATE__ " " __TIME__ "\n"); // Print tasks table print("Num Task Stack Prio Core CPU%%\n"); int taskCount = uxTaskGetNumberOfTasks(); From 87480476c2c0ce2d05a003c4d30e7ea7596dc07a Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Fri, 8 May 2026 00:47:29 +0300 Subject: [PATCH 51/70] Fix motors pwm frequency for esp32s3 etc in the docs --- docs/usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/usage.md b/docs/usage.md index 48f73c5..fe5fd95 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -138,7 +138,7 @@ Before flight you need to calibrate the accelerometer: If using non-default motor pins, set the pin numbers using the parameters: `MOTOR_PIN_FL`, `MOTOR_PIN_FR`, `MOTOR_PIN_RL`, `MOTOR_PIN_RR` (front-left, front-right, rear-left, rear-right respectively). -Certain ESP32 models (such as ESP32-S3) support a lower maximum PWM frequency; on these boards the parameter `MOT_PWM_FREQ` should be set to 40000 Hz. +Certain ESP32 models (such as ESP32-S3) support a lower maximum PWM frequency; on these boards the parameter `MOT_PWM_FREQ` should be set to 38000 Hz. If using brushless motors and ESCs: From 06e20470978c2ba1ac92a8729809f16cdf967ff6 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Fri, 8 May 2026 00:53:19 +0300 Subject: [PATCH 52/70] Make motor testing signal 0.2 instead of full power Testing with full power is too dangerous and inconvenient. --- flix/motors.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flix/motors.ino b/flix/motors.ino index 42cb0c5..3289755 100644 --- a/flix/motors.ino +++ b/flix/motors.ino @@ -54,7 +54,7 @@ bool motorsActive() { void testMotor(int n) { print("Testing motor %d\n", n); - motors[n] = 1; + motors[n] = 0.2; delay(50); // ESP32 may need to wait until the end of the current cycle to change duty https://github.com/espressif/arduino-esp32/issues/5306 sendMotors(); pause(3); From 702ec9792e042b97ca487858c5b52d5259ae31eb Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sat, 9 May 2026 15:57:25 +0300 Subject: [PATCH 53/70] Some updates in troubleshooting article --- docs/troubleshooting.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index c3a8e8a..8f06718 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -12,20 +12,25 @@ Do the following: Do the following: -* **Check the battery voltage**. Use a multimeter to measure the battery voltage. It should be in range of 3.7-4.2 V. +* **Check the battery voltage**. Use a multimeter to measure the battery voltage. The fully charged battery should have about 4.2V. +* **Check the battery you use has enough discharge current**. The battery should be able to provide 15A of current. So the C-rating for a 1000 mAh battery should be at least 15C (higher is better). * **Check if there are some startup errors**. Connect the ESP32 to the computer and check the Serial Monitor output. Use the Reset button or `reboot` command to see the whole startup output. * **Check the baudrate is correct**. If you see garbage characters in the Serial Monitor, make sure the baudrate is set to 115200. -* **Make sure correct IMU model is chosen**. If using ICM-20948/MPU-6050 board, change `MPU9250` to `ICM20948`/`MPU6050` in the `imu.ino` file. * **Check if the console is working**. Perform `help` command in Serial Monitor. You should see the list of available commands. You can also access the console using QGroundControl *(Vehicle Setup* ⇒ *Analyze Tools* ⇒ *MAVLink Console)*. * **Configure QGroundControl correctly before connecting to the drone** if you use it to control the drone. Go to the settings and enable *Virtual Joystick*. *Auto-Center Throttle* setting **should be disabled**. * **If QGroundControl doesn't connect**, you might need to disable the firewall and/or VPN on your computer. +* **Make sure correct IMU model is chosen**. If using ICM-20948/MPU-6050 board, change `MPU9250` to `ICM20948`/`MPU6050` in the `imu.ino` file. * **Check the IMU is working**. Perform `imu` command and check its output: * The `status` field should be `OK`. * The `rate` field should be about 1000 (Hz). * The `accel` and `gyro` fields should change as you move the drone. -* **Calibrate the accelerometer.** if is wasn't done before. Type `ca` command in Serial Monitor and follow the instructions. -* **Check the attitude estimation**. Connect to the drone using QGroundControl. Rotate the drone in different orientations and check if the attitude estimation shown in QGroundControl is correct. * **Check the IMU orientation is set correctly**. If the attitude estimation is rotated, set the correct IMU orientation as described in the [tutorial](usage.md#define-imu-orientation). +* **Calibrate the accelerometer.** if is wasn't done before. Type `ca` command in Serial Monitor and follow the instructions. +* **Check the attitude estimation**. Connect to the drone using QGroundControl. Rotate the drone in different orientations and check if the attitude estimation is shown exactly as on the video below: + +
+ +* **Check the IMU output**. Connect to the drone using QGroundControl on your computer. Go to the *Analyze* tab, *MAVLINK Inspector*. Plot the data from the `SCALED_IMU` message. The gyroscope and accelerometer data should change according to the drone movement. * **Check the motors type**. Motors with exact 3.7V voltage are needed, not ranged working voltage (3.7V — 6V). * **Check the motors**. Perform the following commands using Serial Monitor: * `mfr` — should rotate front right motor (counter-clockwise). @@ -33,9 +38,10 @@ Do the following: * `mrl` — should rotate rear left motor (counter-clockwise). * `mrr` — should rotate rear right motor (clockwise). * **Check the propeller directions are correct**. Make sure your propeller types (A or B) are installed as on the picture: + -* **Check the remote control**. Using `rc` command, check the control values reflect your sticks movement. All the controls should change between -1 and 1, and throttle between 0 and 1. -* **If using SBUS receiver**: + +* **If using an SBUS receiver**: * **Define the used GPIO pin** in `RC_RX_PIN` parameter. * **Calibrate the RC** using `cr` command in the console. -* **Check the IMU output using QGroundControl**. Connect to the drone using QGroundControl on your computer. Go to the *Analyze* tab, *MAVLINK Inspector*. Plot the data from the `SCALED_IMU` message. The gyroscope and accelerometer data should change according to the drone movement. + * **Check the controls** using `rc` command. All the controls should change between -1 and 1, and the throttle between 0 and 1. From 8c8046676b16b96f732fff15f336b990cdbc34e9 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sat, 9 May 2026 17:14:29 +0300 Subject: [PATCH 54/70] Simplify port definition in Makefile --- Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 2584560..5dfc9e6 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,5 @@ BOARD = esp32:esp32:d1_mini32 -PORT := $(wildcard /dev/serial/by-id/usb-Silicon_Labs_CP21* /dev/serial/by-id/usb-1a86_USB_Single_Serial_* /dev/cu.usbserial-*) -PORT := $(strip $(PORT)) +PORT := $(strip $(wildcard /dev/serial/by-id/usb-Silicon_Labs_CP21* /dev/serial/by-id/usb-1a86_USB_Single_Serial_* /dev/cu.usbserial-* /dev/cu.usbmodem*)) build: .dependencies arduino-cli compile --fqbn $(BOARD) flix From 7dfef171653ab2cb6bd5a9229cc23a442740c0c3 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sat, 9 May 2026 17:49:59 +0300 Subject: [PATCH 55/70] Add Ina Tix' build Co-authored-by: Marina Tikhomirova --- docs/img/user/ina_tix/1.jpg | Bin 0 -> 61991 bytes docs/img/user/ina_tix/2.jpg | Bin 0 -> 38884 bytes docs/img/user/ina_tix/3.jpg | Bin 0 -> 50673 bytes docs/user.md | 8 ++++++++ 4 files changed, 8 insertions(+) create mode 100644 docs/img/user/ina_tix/1.jpg create mode 100644 docs/img/user/ina_tix/2.jpg create mode 100644 docs/img/user/ina_tix/3.jpg diff --git a/docs/img/user/ina_tix/1.jpg b/docs/img/user/ina_tix/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..940e476801e96d261d13e7283775ab27cda7a162 GIT binary patch literal 61991 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�_2_8mG2x)rWR#FM3Ze! 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 literal 0 HcmV?d00001 diff --git a/docs/img/user/ina_tix/3.jpg b/docs/img/user/ina_tix/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..421a2113f00e492930a2adc2856e005a3ea19d2e GIT binary patch literal 50673 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

WDb^Z4XJcp+3IZ-&glL#Pc29&`#BWr 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 literal 0 HcmV?d00001 diff --git a/docs/user.md b/docs/user.md index b098c22..a18609a 100644 --- a/docs/user.md +++ b/docs/user.md @@ -4,6 +4,14 @@ This page contains user-built drones based on the Flix project. Publish your pro --- +Author: [Ina Tix](https://t.me/ina_tix).
+Description: XR2981 based DC-DC converter, ELRS MINI 2.4GHz RX SX1280 receiver (SBUS interface), Radiomaster TX12 remote control.
+[Flight validation](https://drive.google.com/file/d/1yqkKNuz4R_yxGqUNQxVpixJbXqEEcUSj/view?usp=share_link). + + + +--- + Author: [FanBy0ru](https://https://github.com/FanBy0ru).
Description: custom 3D-printed frame.
Frame STLs and flight validation: https://cults3d.com/en/3d-model/gadget/armature-pour-flix-drone. From b62f2f9427bf7b03773fae29144c1ee36c555677 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sat, 9 May 2026 17:55:55 +0300 Subject: [PATCH 56/70] Rename some wifi parameters for better alphabetical sort --- flix/parameters.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flix/parameters.ino b/flix/parameters.ino index 4fc0063..54e466a 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -110,8 +110,8 @@ Parameter parameters[] = { {"RC_MODE", &modeChannel}, // wifi {"WIFI_MODE", &wifiMode}, - {"WIFI_LOC_PORT", &udpLocalPort}, - {"WIFI_REM_PORT", &udpRemotePort}, + {"WIFI_PORT_LOC", &udpLocalPort}, + {"WIFI_PORT_REM", &udpRemotePort}, // mavlink {"MAV_SYS_ID", &mavlinkSysId}, {"MAV_RATE_SLOW", &telemetrySlow.rate}, From 34c69938428c1360d5299ec8b77ca1b575b3b611 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sun, 10 May 2026 02:33:03 +0300 Subject: [PATCH 57/70] Some fixes in the docs --- README.md | 12 +++++------- docs/usage.md | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 281eee3..6501da5 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ Additional articles: |Type|Part|Image|Quantity| |-|-|:-:|:-:| |Microcontroller board|ESP32 Mini||1| -|IMU (and barometer¹) board|GY‑91, MPU-9265 (or other MPU‑9250/MPU‑6500 board)
ICM20948V2 (ICM‑20948)³
GY-521 (MPU-6050)³⁻¹|

|1| +|IMU (and barometer¹) board|GY‑91, MPU-9265 (or other MPU‑9250/MPU‑6500 board)
ICM20948V2 (ICM‑20948)
GY-521 (MPU-6050)|

|1| |Boost converter (optional, for more stable power supply)|5V output||1| |Motor|8520 3.7V brushed motor.
Motor with exact 3.7V voltage is needed, not ranged working voltage (3.7V — 6V).
Make sure the motor shaft diameter and propeller hole diameter match!||4| |Propeller|55 mm or 65 mm||4| @@ -152,18 +152,16 @@ You can see a user-contributed [variant of complete circuit diagram](https://mir |-|-| |GND|GND| |VIN|VCC (or 3.3V depending on the receiver)| - |Signal (TX)|GPIO4¹| + |Signal (TX)|GPIO4| - *¹ — UART2 RX pin was [changed](https://docs.espressif.com/projects/arduino-esp32/en/latest/migration_guides/2.x_to_3.0.html#id14) to GPIO4 in Arduino ESP32 core 3.0.* +* Optionally connect the battery voltage divider for voltage monitoring to any ADC1 pin (e. g. *GPIO32* on ESP32, *GPIO3* on ESP32-S3). -* Optionally connect the battery voltage divider for voltage monitoring to any ADC1 pin (e. g. *GPIO32* on ESP32, *GPIO3* on ESP32S3). - - ESP32 and ESP32S3 [can measure](https://docs.espressif.com/projects/arduino-esp32/en/latest/api/adc.html#analogsetattenuation) up to 3.1 V and ESP32S3/ESP32C3 can measure up to 2.5 V, so choose the voltage divider resistors accordingly. + ESP32 and ESP32-S3 [can measure](https://docs.espressif.com/projects/arduino-esp32/en/latest/api/adc.html#analogsetattenuation) up to 3.1 V and ESP32-S3/ESP32-C3 can measure up to 2.5 V, so choose the voltage divider resistors accordingly. ## Resources * Telegram channel on developing the drone and the flight controller (in Russian): https://t.me/opensourcequadcopter. -* Official Telegram chat: https://t.me/opensourcequadcopterchat. +* Official Telegram chat: https://t.me/opensourcequadcopterchat (English / Russian). * Detailed article on Habr.com about the development of the drone (in Russian): https://habr.com/ru/articles/814127/. ## Disclaimer diff --git a/docs/usage.md b/docs/usage.md index fe5fd95..91034c7 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -170,7 +170,7 @@ After this setup, you should see the battery voltage in QGroundControl top panel 2. Check the attitude estimation: connect to the drone using QGroundControl, rotate the drone in different orientations and check if the attitude estimation shown in QGroundControl is correct. Compare your attitude indicator (in the *large vertical* mode) to the video: - + 3. Perform motor tests. Use the following commands **— remove the propellers before running the tests!** From ee3c6999ab6479f819a83895de0f5472cf4870b6 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sun, 10 May 2026 14:50:27 +0300 Subject: [PATCH 58/70] Add mavlink joystick app usage to the docs --- docs/usage.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/usage.md b/docs/usage.md index 91034c7..e610bde 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -192,6 +192,18 @@ There are several ways to control the drone's flight: using **smartphone** (Wi-F ### Control with a smartphone +#### Using Mavlink Joystick app (Android) + + + +1. Download and install [Mavlink Joystick app](https://github.com/goldarte/mavlink-joystick/releases/latest). +2. Power the drone using the battery. +3. Connect your smartphone to the appeared `flix` Wi-Fi network (password: `flixwifi`). +4. Open Mavlink Joystick app. It should connect and begin showing the drone's telemetry automatically. +5. Use the virtual joystick to fly the drone! + +#### Using QGroundControl app + 1. Install [QGroundControl mobile app](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/getting_started/download_and_install.html#android) on your smartphone. 2. Power the drone using the battery. 3. Connect your smartphone to the appeared `flix` Wi-Fi network (password: `flixwifi`). From 1f48e379e39dafef26b0495c2c650538fd70161b Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sun, 10 May 2026 19:05:27 +0300 Subject: [PATCH 59/70] Improve the rc calibration code More convenient steps order. Improve the readability a bit. --- flix/rc.ino | 20 ++++++++++---------- gazebo/flix.h | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/flix/rc.ino b/flix/rc.ino index 175e5ff..8dfdadd 100644 --- a/flix/rc.ino +++ b/flix/rc.ino @@ -55,18 +55,18 @@ void calibrateRC() { print("RC_RX_PIN = %d, set the RC pin!\n", rcRxPin); return; } - uint16_t zero[16]; - uint16_t center[16]; - uint16_t max[16]; + uint16_t zero[16]; // for zero positions + uint16_t center[16]; // for center positions + uint16_t _[16]; // for unused data print("1/8 Calibrating RC: put all switches to default positions [3 sec]\n"); pause(3); - calibrateRCChannel(NULL, zero, zero, "2/8 Move sticks [3 sec]\n... ...\n... .o.\n.o. ...\n"); - calibrateRCChannel(NULL, center, center, "3/8 Move sticks [3 sec]\n... ...\n.o. .o.\n... ...\n"); - calibrateRCChannel(&throttleChannel, zero, max, "4/8 Move sticks [3 sec]\n.o. ...\n... .o.\n... ...\n"); - calibrateRCChannel(&yawChannel, center, max, "5/8 Move sticks [3 sec]\n... ...\n..o .o.\n... ...\n"); - calibrateRCChannel(&pitchChannel, zero, max, "6/8 Move sticks [3 sec]\n... .o.\n... ...\n.o. ...\n"); - calibrateRCChannel(&rollChannel, zero, max, "7/8 Move sticks [3 sec]\n... ...\n... ..o\n.o. ...\n"); - calibrateRCChannel(&modeChannel, zero, max, "8/8 Put mode switch to max [3 sec]\n"); + calibrateRCChannel(NULL, _, zero, "2/8 Move sticks [3 sec]\n... ...\n... .o.\n.o. ...\n"); + calibrateRCChannel(&throttleChannel, zero, _, "3/8 Move sticks [3 sec]\n.o. ...\n... .o.\n... ...\n"); + calibrateRCChannel(NULL, _, center, "4/8 Move sticks [3 sec]\n... ...\n.o. .o.\n... ...\n"); + calibrateRCChannel(&yawChannel, center, _, "5/8 Move sticks [3 sec]\n... ...\n..o .o.\n... ...\n"); + calibrateRCChannel(&pitchChannel, zero, _, "6/8 Move sticks [3 sec]\n... .o.\n... ...\n.o. ...\n"); + calibrateRCChannel(&rollChannel, zero, _, "7/8 Move sticks [3 sec]\n... ...\n... ..o\n.o. ...\n"); + calibrateRCChannel(&modeChannel, zero, _, "8/8 Put mode switch to max [3 sec]\n"); printRCCalibration(); } diff --git a/gazebo/flix.h b/gazebo/flix.h index ddac951..53163e5 100644 --- a/gazebo/flix.h +++ b/gazebo/flix.h @@ -45,7 +45,7 @@ void doCommand(String str, bool echo); void handleInput(); void normalizeRC(); void calibrateRC(); -void calibrateRCChannel(int *channel, uint16_t zero[16], uint16_t max[16], const char *str); +void calibrateRCChannel(int*, uint16_t[16], uint16_t[16], const char*); void printRCCalibration(); void printLogHeader(); void printLogData(); From 35e94f6ea6c8c5116194f4256ef9c2ef23e77f74 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sun, 10 May 2026 21:07:20 +0300 Subject: [PATCH 60/70] Support ESP32-C3 User Serial1 for rc instead of Serial2, as ESP32-C3 has only 2 Serials. Add CI build for ESP32-C3. --- .github/workflows/build.yml | 2 ++ README.md | 2 +- flix/rc.ino | 2 +- gazebo/Arduino.h | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3bb9234..cd50ee2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,6 +23,8 @@ jobs: with: name: firmware-binary path: flix/build + - name: Build firmware for ESP32-C3 + run: make BOARD=esp32:esp32:esp32c3 - name: Build firmware for ESP32-S3 run: make BOARD=esp32:esp32:esp32s3 - name: Check c_cpp_properties.json diff --git a/README.md b/README.md index 6501da5..649c559 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ Additional articles: |Type|Part|Image|Quantity| |-|-|:-:|:-:| -|Microcontroller board|ESP32 Mini||1| +|Microcontroller board|ESP32 Mini.
ESP32-S3/ESP32-C3 boards are also supported.||1| |IMU (and barometer¹) board|GY‑91, MPU-9265 (or other MPU‑9250/MPU‑6500 board)
ICM20948V2 (ICM‑20948)
GY-521 (MPU-6050)|

|1| |Boost converter (optional, for more stable power supply)|5V output||1| |Motor|8520 3.7V brushed motor.
Motor with exact 3.7V voltage is needed, not ranged working voltage (3.7V — 6V).
Make sure the motor shaft diameter and propeller hole diameter match!||4| diff --git a/flix/rc.ino b/flix/rc.ino index 8dfdadd..7433c72 100644 --- a/flix/rc.ino +++ b/flix/rc.ino @@ -6,7 +6,7 @@ #include #include "util.h" -SBUS rc(Serial2); +SBUS rc(Serial1); int rcRxPin = -1; // -1 means disabled uint16_t channels[16]; // raw rc channels diff --git a/gazebo/Arduino.h b/gazebo/Arduino.h index d0512a1..52c849b 100644 --- a/gazebo/Arduino.h +++ b/gazebo/Arduino.h @@ -151,7 +151,7 @@ public: void setRxInvert(bool invert) {}; }; -HardwareSerial Serial, Serial2; +HardwareSerial Serial, Serial1, Serial2; class EspClass { public: From 48c33c705022861a8935f438cd45c3c9ac0e87f5 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sun, 10 May 2026 22:39:34 +0300 Subject: [PATCH 61/70] Fix and improve wifi subsystem Fix a fault when wifi is disabled (udp can't be used without wifi). Print RSSI and channel in wifi command. --- flix/wifi.ino | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/flix/wifi.ino b/flix/wifi.ino index 8386d89..c0aa119 100644 --- a/flix/wifi.ino +++ b/flix/wifi.ino @@ -24,6 +24,8 @@ void setupWiFi() { WiFi.softAP(storage.getString("WIFI_AP_SSID", "flix").c_str(), storage.getString("WIFI_AP_PASS", "flixwifi").c_str()); } else if (wifiMode == W_STA) { WiFi.begin(storage.getString("WIFI_STA_SSID", "").c_str(), storage.getString("WIFI_STA_PASS", "").c_str()); + } else { + return; } WiFi.setSleep(false); // disable power save udp.begin(udpLocalPort); @@ -37,6 +39,7 @@ void sendWiFi(const uint8_t *buf, int len) { } int receiveWiFi(uint8_t *buf, int len) { + if (WiFi.softAPgetStationNum() == 0 && !WiFi.isConnected()) return 0; udp.parsePacket(); if (udp.remoteIP()) udpRemoteIP = udp.remoteIP(); return udp.read(buf, len); @@ -57,10 +60,12 @@ void printWiFiInfo() { print("SSID: %s\n", WiFi.SSID().c_str()); print("Password: ***\n"); print("IP: %s\n", WiFi.localIP().toString().c_str()); + print("RSSI: %d dBm\n", WiFi.RSSI()); } else { print("Mode: Disabled\n"); return; } + print("Channel: %d\n", WiFi.channel()); print("Remote IP: %s\n", udpRemoteIP.toString().c_str()); print("MAVLink connected: %d\n", mavlinkConnected); } From dd176180a7a194e810c61362753a8b29bb2f7473 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 12 May 2026 17:50:28 +0300 Subject: [PATCH 62/70] Update help message Remove 'welcome to', add copyright and repo link. --- flix/cli.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flix/cli.ino b/flix/cli.ino index 05fe016..6be66c0 100644 --- a/flix/cli.ino +++ b/flix/cli.ino @@ -19,13 +19,14 @@ extern LowPassFilter gyroBiasFilter; extern float voltage; const char* motd = -"\nWelcome to\n" " _______ __ __ ___ ___\n" "| ____|| | | | \\ \\ / /\n" "| |__ | | | | \\ V /\n" "| __| | | | | > <\n" "| | | `----.| | / . \\\n" "|__| |_______||__| /__/ \\__\\\n\n" +"(C) Oleg Kalachev\n" +"https://github.com/okalachev/flix\n\n" "Commands:\n\n" "help - show help\n" "p - show all parameters\n" From 76af83fc88be94dededb4145c0aa6e142d47850e Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Wed, 13 May 2026 00:35:43 +0300 Subject: [PATCH 63/70] Improve firmware overview article --- docs/firmware.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/docs/firmware.md b/docs/firmware.md index 016f464..9c3b8d2 100644 --- a/docs/firmware.md +++ b/docs/firmware.md @@ -67,6 +67,35 @@ In order to add a console command, modify the `doCommand()` function in `cli.ino > > For on-the-ground commands, use `pause()` function, instead of `delay()`. This function allows to pause in a way that MAVLink connection will continue working. +### Parameter subsystem + +Parameters subsystem (`parameters.ino`) uses standard [Preferences.h](https://docs.espressif.com/projects/arduino-esp32/en/latest/tutorials/preferences.html) ESP32 library to store parameters in non-volatile memory. Each parameter is a regular global variable, which is registered in the `parameters` array. + +To add a new parameter: + +1. Define a global variable for the parameter, two types are supported: `float` and `int`. +2. Add an entry to the `parameters` array, with the parameter name, a pointer to the variable, and optionally a callback function to call when the parameter is changed. +3. Everything else will be handled automatically. + +See examples of adding new parameters in commits: [c434107](https://github.com/okalachev/flix/commit/c434107), [a687303](https://github.com/okalachev/flix/commit/a687303). + +## Adding a subsystem + +To add a new subsystem: + +1. Create a new `*.ino` file for your subsystem. +2. Define setup and loop functions for the subsystem, for example `setupMySubsystem()` and `loopMySubsystem()`. +3. Use `Rate` class if you need to limit the loop frequency, for example: + + ```cpp + Rate mySubsystemRate(100); // 100 Hz + + void loopMySubsystem() { + if (!mySubsystemRate) return; + // Do something... + } +4. Add setup and loop calls in to `setup()` and `loop()` functions in `flix.ino`. + ## Building the firmware See build instructions in [usage.md](usage.md). From f8a9f1f8383589a3217e7a53f998be9a1097e697 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Wed, 13 May 2026 01:27:01 +0300 Subject: [PATCH 64/70] Remove reboot requirement when changing RC_RX_PIN --- docs/usage.md | 2 +- flix/parameters.ino | 2 +- gazebo/flix.h | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index e610bde..631ac82 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -220,7 +220,7 @@ Before using SBUS-connected remote control you need to enable SBUS and calibrate 1. Connect to the drone using QGroundControl. 2. In parameters, set the `RC_RX_PIN` parameter to the GPIO pin number where the SBUS signal is connected, for example: 4. Negative value disables SBUS. -3. Reboot the drone to apply changes. +3. Check if the receiver is working using `rc` command in the console. 4. Open the console, type `cr` command and follow the instructions to calibrate the remote control. 5. Use the remote control to fly the drone! diff --git a/flix/parameters.ino b/flix/parameters.ino index 54e466a..75d0288 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -86,7 +86,7 @@ Parameter parameters[] = { {"MOT_PWM_MIN", &pwmMin}, {"MOT_PWM_MAX", &pwmMax}, // rc - {"RC_RX_PIN", &rcRxPin}, + {"RC_RX_PIN", &rcRxPin, setupRC}, {"RC_ZERO_0", &channelZero[0]}, {"RC_ZERO_1", &channelZero[1]}, {"RC_ZERO_2", &channelZero[2]}, diff --git a/gazebo/flix.h b/gazebo/flix.h index 53163e5..83a956f 100644 --- a/gazebo/flix.h +++ b/gazebo/flix.h @@ -43,6 +43,7 @@ void print(const char* format, ...); void pause(float duration); void doCommand(String str, bool echo); void handleInput(); +void setupRC(); void normalizeRC(); void calibrateRC(); void calibrateRCChannel(int*, uint16_t[16], uint16_t[16], const char*); From e53051a3490c0c2adba232b4fa5c9e96143b2a16 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Wed, 13 May 2026 06:00:51 +0300 Subject: [PATCH 65/70] Fix console command parsing --- flix/util.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flix/util.h b/flix/util.h index ffb57b3..cda50f3 100644 --- a/flix/util.h +++ b/flix/util.h @@ -36,11 +36,14 @@ float wrapAngle(float angle) { // Trim and split string by spaces void splitString(String& str, String& token0, String& token1, String& token2) { str.trim(); + if (str.isEmpty()) return; char chars[str.length() + 1]; str.toCharArray(chars, str.length() + 1); token0 = strtok(chars, " "); - token1 = strtok(NULL, " "); // String(NULL) creates empty string + token1 = strtok(NULL, " "); token2 = strtok(NULL, ""); + if (token1.c_str() == NULL) token1 = ""; + if (token2.c_str() == NULL) token2 = ""; } // Rate limiter From 72a72fde80920c5929448b962f5a3236723565fe Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 14 May 2026 21:59:15 +0300 Subject: [PATCH 66/70] Some docs improvements --- docs/usage.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index 631ac82..39f9da4 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -138,7 +138,7 @@ Before flight you need to calibrate the accelerometer: If using non-default motor pins, set the pin numbers using the parameters: `MOTOR_PIN_FL`, `MOTOR_PIN_FR`, `MOTOR_PIN_RL`, `MOTOR_PIN_RR` (front-left, front-right, rear-left, rear-right respectively). -Certain ESP32 models (such as ESP32-S3) support a lower maximum PWM frequency; on these boards the parameter `MOT_PWM_FREQ` should be set to 38000 Hz. +Certain ESP32 models (such as ESP32-S3 and ESP32-C3) support a lower maximum PWM frequency; on these boards the parameter `MOT_PWM_FREQ` should be set to 38000 Hz. If using brushless motors and ESCs: @@ -216,7 +216,7 @@ There are several ways to control the drone's flight: using **smartphone** (Wi-F ### Control with a remote control -Before using SBUS-connected remote control you need to enable SBUS and calibrate it: +If using SBUS-connected remote control you need to enable SBUS and calibrate it: 1. Connect to the drone using QGroundControl. 2. In parameters, set the `RC_RX_PIN` parameter to the GPIO pin number where the SBUS signal is connected, for example: 4. Negative value disables SBUS. From 3816ae376fe57c9a970a2fc931aca51d205787d1 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sun, 17 May 2026 06:21:13 +0300 Subject: [PATCH 67/70] Bring back initializing the lpf with the first input value It's much better for voltage measuring and slightly better for gyro bias estimation. --- flix/lpf.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/flix/lpf.h b/flix/lpf.h index 9eae80d..9ee4e0a 100644 --- a/flix/lpf.h +++ b/flix/lpf.h @@ -14,6 +14,10 @@ public: LowPassFilter(float alpha): alpha(alpha) {}; T update(const T input) { + if (!init) { + init = true; + return output = input; + } return output += alpha * (input - output); } @@ -22,6 +26,9 @@ public: } void reset() { - output = T(); // set to zero + init = false; } + +private: + bool init = false; }; From 4530c05b5c2a297b6a054c694bedbcbcb117a9cc Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sun, 17 May 2026 06:46:11 +0300 Subject: [PATCH 68/70] Add Flix 1.5 to builds --- docs/img/flix1.5.jpg | Bin 0 -> 103195 bytes docs/user.md | 8 ++++++++ 2 files changed, 8 insertions(+) create mode 100644 docs/img/flix1.5.jpg diff --git a/docs/img/flix1.5.jpg b/docs/img/flix1.5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b80c7ab8b60d4f540a688c9e224d80d5b4ae21c8 GIT binary patch literal 103195 zcmeFZcUY4>7dV_2P@JH+P?q>8sO-Iq1AH6|MFo^0A|f)%-n4ar$P!Ty8AVYL8AVZ% zSrr9k6-1USu|V0YEznZRmsaud9lz`QUDx;L_ono|Pm+_9lau7+oJ1$;0KLf|W6+i$oNA^i&nQbQh_q|iTf!khr_ zPdbRz@C^+2Nw}gfI7ld}DoR}Rv~zXvl5ld9Q1y~fQ{5?X-pYI}P@OV?|7c2q5Z2*?TT6h(dl$CDtEVT*wncc;NO=nL#`x z^Y%J!I)r(Ux7YuMSH>cK(m^13z#RnO$QN?Yv;Gcpi3gsocX)oMOWxuA4ezMKE98qX5Es^QV*UpTPO(|@*$Gw#4+3qN7tq}e-24OOI zti6&&Fb~eAy%1vs z7Y{%zBuCbqsf64DTM1zR>GE!Y(pthnz*a87-@vlpa2v#4N=Lw!amECkpS(D*nhQgs zy!XMH-#7rQ{R0;K4I{vYKj6(A&N=epeF}t^(vdhIz68Tu2``eeZOG<4*UTh`~x=l12+5vKJptz0;46K`PKttZogcCLuV^6;lg_%oCHq%#s}ck zAF#y|yn+{;TY}kSV7CMVIFbQqfuCmZ6?_4;;4R1pd7vCrfsf!ljFp2@&B6ikCjh(!kdkope84!MgJF;cQUMF_Blr=GAQ9GN2M&R7nD-FO zK&sziZ3I~J8pJxpdPEV}ir_`$!IrE*aCk-{>R^qZ!3VGru?4XiK?kDnIRsWA1Q7y= zRR|>F1LU(7wrT@nD?%6{f)InbufQ0@7euT<%t86RgHkGk{B1>u!hBKq*^1ZzbJrqP zBf22v_wZW2Cv~u28lWUvKo_L?5OQAza|2-;UqQGCev0AyHT=AUvciEl@D!YPcX9Ia zR#5l~l{zoqvgQ1zF1pw`dY$sMbMbLF<=~FCzhvp{1eY{>I~NB*gb+XosGOQi@Dv2= zwI5Ui{&ky0cgV_XXmQ38oU(Avasx*v{25Sycb_O&rt$aUVy6<|aWGn3`~Y?1iPI1X zz9BPQy}{Mb5Yz{%>Z*n+1_xDSRS#$!lvO!spen0zP+3FvprP8q{reR))m0SLAR^cT zXS*;5fJLtYggI1-E6Do|)%Wi+P~Ru3Y_MNhRz>x|e%XDB`wz$-)KpVZQBm5jtg5I2 zmEFV*sQlEHB+$f_z}n-A$CZvN3nCsZTlHl*|B97nN^*+utF%M^Fp$N;dUojdKbC-R z0JB%G*@4P?&xycf6Yd)bBKZZ@32ofGReXn(f~MXf)1S$|MI-Pt{`+}ii2*_G$^g@U zqb^Bv33ug^R{#C}wVFT#?yB-{HU>04?42d-p+(|pC!s2*spje`aZw%`7aW3%y{pYH zd3(ES$;-QW$=O{%pLdY6N4v`V+qpv&1$m%@@^^>j9lRyZJ2*PI=}JzN5G5s?F6c^{ zs~Ra7xgT)2Hk|;e19e*uuN_Mi4#M&3>E!P1gm#nQP_#Rb_VL!0gf(+n zvh#sV{kOI|Kx>oRc!bqVeMyY#>G&F^e3lS>T3 z`u;omQdde!!1ibzb8z$0mHcgh{vQX&KiG%eE~0fM)s$2;RTY)x6%|x8RMpia{ynZC zuPOn*k`jNkP3xeOqm#Ftiy7L-)864^fV;zQ4()yAeoMs7!OzPcn$BMG7k=V)htCPKv!v!ZhNr~SQ(K_G>Q=rs;S~}3o zhJuth;NoECCUMIBPsD?E-VP8MKH*U2*j%y-sjW2oH)Z$%f-&kQCHGm z_JYGjJ0BNsNj<~=i%p1*JZCbvI6+ce=qFYA|EQ6h`Nteu!iN)+1OA@jdJ_K&|C7M~ zB=A28{7(Y^lfeHZ@c%yv{If@JaD&#AAKU?e#bHGBz7r-Vxx1Eg;m|d<3T_8)!JV1V zdH{Sj0q_*M9yp;LGSGe09IQ9U~B_`mOTLPp)2aP8vriQ zwRJHNfM)0d`EV0}`!N7W#RE{441jGq00UV7gy%z7*c(`H1pq1y0G#;_U1C!J1oI+5 z^fm+_s3Jh>2?S8_LIB-31lUo40QFxH;06-`gd~vQ+5se>I3R)iRU}{~Ap!CgeAgqv z(IJ=z{aTS5cmQh`56IKt0k;nGfMg3EFmaIwjC%2a>?=G#Fop-LO6CFUvLMbY9zcG_ z11jryfLc4m@8bc9(>&1k#0xg8*S%+Bs06l96 z1VHj2;BzS~IU-iT#Ghd)2mH!f{03I@z+!?taPtoqHeWo^fRx$5!4kCijk^T!?&juj zqtZ)>KpKupU~n=`Fn%LUJYtGiacU!nm?<2P2Q6gM*5g*3L-6f0g>eA#P5DozaR3+) z8w}PN<~%tgxc@2+M)^5u{}K>CD_Q?eAGtCftbDqOO9GZjGNIO=1b+ym_Vb(-6`)PF1i7uQY%Wg!He{h<(7~C+7ehU2Twd_0A1W zC3g*QoTC2`9&=LoRvhGT2>1k%S2*u~3!JeB!_KSKJJ;#2JNPrkeZJZQjvx>xa4>RC zT4I$$8ie-0g|Yt@_8|Vw2PZhZSpWo_od1WA2Bicxt-O1Sf6ob-KXLXz86O2umI_bc zdB?l+IEg=Vp%A#yl?H;3jw4K08Z2cZt9h5ee|wwib6XAW9zkwccka(j^}oB5{IG_pHAE1x~4zH`Cx?x=TRKWlz}NFQ&X|Z*o94VXYT| z?t;g>b2`hfD&}js*LQ7!Y#K^!Ky(ots>w7+ZxT?{m0O;Y8X-jLW_fRJ5J2fJTYexW zC}+sgYsXXHH|Fv~;!-V``WgHc?72fFB3wa0se=7LPTA_T&}X=y0J zmXb1yCE(xY`rS|(wc4BYZFKM=`e{dBRbB^KN%!tl^^E3Rb&z$cxZRlhw6NIo{z9=N zl=f?zaT?D+ zl=Sm$Y4^7&Jj*!=m$9WVH{0fb)$#9n%|2el7^B&$JL1dkYO#vq-xPULH4?qNqSso7 z`m~fp)<*}*9ShJNFX3b4*;-nc1&mK3THsMiVA!3)Wxku?bqFhyJ=$ zGKC;Ht-&gu(3T6kUy4a+9*&V2e`(pI9U^7bmGjY11-J3?iI2w%&**b4k7JJGW_-^xY#se<||S#5mAl}OgUG7f@8aLw|~ka*w7NgF0>v8U)&i2 zWwG+eI{kmxTz8JUkm$o)gy1Sp%?Q3D+(KZ}l6r?xXehy=O95H!!O9GxGTguWuzFC( zCIcP%=_2@h^m@G4G&W5vA*FGOig`F#y18hKbm93@segH=LE$6czeVEqU)gYrBb+~i z1QN#&cEc{+|AZg>TFE$*B}@Mol3*HS6!*KtCbJ9%u}Nn=E4{cqGk$^KTu5oIo7Br5 z5bjSGx%9m6T@?C2H%D$n75@h4IQfG5Kv&XdcBPImSyTqF2 zg+n!%@Uf`WTQkA0V)Q(P$J~U6^?yTwS?|N0xZv&EQ+7J_Q`6P|8eo>&l@n0>Lsp*=JZ2fz(|NCkjj?OLIaFx`ZJX2MSyAb#pygLMaw zbFnxN#7?-Z>qB7YdWRJ!Z^0hqnk_H`_F)hQesK#wwgVjd z9f};cj{gjD6F|luG=(-${>cri`1Vx}Yl~ggHLN?Eix-&3_UDq)7toI;iiR(eBn+=H6^0&|QWau%w zR+=^Gc+y}|in(L@GH1xI2$1 zb1v2UGqvNN}S1 zrm!^zH~_YrTHLs8$@ek*?QoDAK|QgHK{#y5_FdTc-A~)Ze3Dpv^bov!bKK+WXTE*< zTtVc0lwM=*{{gO4nIoFMPBn-WiXW%mDwy{Pbpe8Z!-+i{z$ z9=~EFxf0Z_#* zWV~r5H*348Ag|y_Uj7e;J62sc3UJbxb7_({8fN)D)ZJsPw_}{;nAbVW6ZHs*vrGQ^ zo_zVrISz|YIAvEp`e_g^Re^j$h+&^!csNJS3uJkd(%=oM?`9$*dGUNf=t zD|_*xPj3DyAczcy*H8{Vh5L{H!YBucn|#;c>N`^l-c5*g=Qr}{>+h31So!^!+pevz zomHlaw05?C9Mkfd(X@-ttO`NL(UVfY)l`S>(_fV-F0orY#*WId75&>@Bvxh>^32#io{Q-S7_Y8gY9D7s5d@G9cUmo_ zBKH4dA*_cA0oni(VE=o7(+4YLc4?lskG81PpoA0FyxHpG>7EeYcIm@-p;K4pXI+8R zi9%hvrYY1`O{cYeb{VXHCVdNz9yqHI4ol>Jy*I7uTe#3P>1R$S-I=Mp8zzyCej!By}PhhIL)n{Z4cZvx4;j{rY^ zKL3%Y+of^0ByXl~I-!twV72dgJLS-#7lv7{k7k-n3E6ryc)ey29#ZuPUY*gW#N^7% z&ob~Id`RO__=H7p;QZ`?jhUDv*)x#BBk5Z^A4$Un_}|0I_)>H7BIqV2GAX@pMw_w< zu-oj~sao|;byoeo>}=MnnYsC={ZFBYcS^v*>#xHpB?01>78nk_WF!0?S0>hMDq8#) zn>e!wuIRSUulTOJ2($#DdV>LZe5Jup^|4bBj&h*CbKP;EYFHWR&}Xct`1w)>>rLma zf?XLxnp^A(gjOUgIP9!++_BpCfcfUcr~tO3^{AGn{R52qJf#oQPI^?8)TEo)PSj?W zplo#nN_xxgJ19GxFhxk;lDwYAsgL8q_#+_B6OMKXRFs?03H_;aBZbbH>i8BfV_W&~ zuA>#Rn7#KgHE;T>j-NxELssv^!GfHnP#^O7dt1EoBgTNyGbpwyz?megm0}%(r1-U! z?@Yl=QZQNzhe?>w8cw-?0z!J{x^uiI^`ZLw?knQbEhcnGb|P8CBcPpLWR50gB$52I zO0wFVeoXCnNnw%utqYiL&}NtkaT*BO<#YFQypV=7*-N8^Wj2^9)b4}dKcZ#AqcDg6 zrWZ0qneGxdn<~>}Oqe$XnV2WF1Vty5O$ILDb6Jbv<^0$byQHQ&=U+we2WJk7tP19} ztd2?F7>_Qby7|Pcdj7sX!Cd}?GmUMgjdczre(1@4PWW3Bw*d!BbAl<<)Le5Ix1KW& zrOZ0$&izHA;!@E?$$9CqZqdZ%L1UD%X~)O*$AfGhrgjy&Y06ltJ5Y9(5%ZiXYRu|+ z!j7G5>eL}-NLhaKd^1&K<-@=m3>V9r=*0+s7^@1;Zey+?50sZAeetQf$J{WsMsK;U zc7IG`F$SGP+!pn5*kRr;Yp%*}V1gd@fL1!YG3h63|MA=?>o5NqU#chc1>^6jElbHQ zb6ZYmY@Ez)V83CVnys~MJP@DuvlP@i{Q0n5X%S1F4(a>-0(E$~1z|>wOGW@%)v0o% zq`Y)wt}JZp^I2Qne({nL`5J8IRPK`j&QN{Jp(Fj1nB>i;w$frzo~YHAyem3MZ) zSL{HNRUW>9{yhCfQ*ll9#l2N?=(5JRu6p~E^Yl1;6p15GaA%GwG3e_CyHYnV<;(A>U9g^ z%ZsQwqMp4&DS29#h6)3Qe3 zwEBZM z1f7_N-OY}n5FS2xk2sfxgT!E)1%Y7J;a@9|3?H1_Qjs(FJLc@hN>Ns>U733|74H^# zXnNX2*gC!~xbb>W?+LSTGG^!~=BthTx$YGgr2_Ew|V&aIJMwmRilHI z+hMy3h8(3ekQBPmx^>_bxzxY&1%n;dGo|H7wj!aw&reO;5NZSQPkvCkx^=xq;)o9( z>!PGccKtIU;)KCKxid4ubT+oJB5%O0XOQaLK4v427I@5@NG6%w^9w9X$gGP=Obv8i z(@F9Wb`K<|_K!2wZ_~F?Xx-=!^Ajj+rm_0oFpK=(3~#tA^lZ)qV|#v%U^y$sDqlCD z*A*~9NlAEKT0B=y7~=VXIYj$9Rz;otI>U;~K<)3TBf9mremO#&!C4+krRiw~FM@Yi zGnNxE!oDPJq$Z(_rk7w=PxZTOOc@s6Ow%N0m-)Rf?~kJF`I}oS*Pht_7W^7*tKh1S zkY>#Gi+2(4y`D^>d1{?^ZL;^yFT>jB<|V|mO__y{l%|fEbS`AREuSYjcp2b+bC385 z32ym%;=nG2y0B#>;;X2HaPO*T;{o``ie+aDQr$8Ro9X1dOI0&oUR$;{IXa>RV@-Ew ziZ2&o6F)omfA=Ud@1TzSaC|sC+S^-OOgcsC=%My3zxQDhzkFn2@4YFL=k$vmQ+u7!3gH|&<)5;=vlC)_+gaVtt=?S%CFm*i z-T8@+TGK-z*f`pJO$6zChDfShQyV6aWl4`5p_R23Y~osRQ2IEq{w>Fw!^`#5JmhG} zRIe`vEMsNw5*C$nKpgE$=2b=(zb*^prFO z>U3dIj%f^(Nq?v9BOmLzIpeApd)4M*M`G1b$f4L-t73m+sp3KNPfk5y>2>%=)Sy-y z;aQnk;n67!h9#yq-b6$lkXkh`A0Ynsq_r+SfYhg#L~89ckc0ygt`9s>jVw&BmYDcCyG0_ETbd8?w4>;WIPtrf<`Ih5)(@P2u^D^igREcy4)og8}Y@;QlxvnLzRT$ zV%jE*#6)=v6w4i?Q~kTpMq{kPy;0v5yfSO1#a+BKeQ6l8{Kha`?|kYjyxAyLZ@hrE zVY>T~3dU_=#}B$ja<2FTzbGbQZ(~i|gum`g;G}9`bW#U(PAIl!q$Z>5^Q+Ljjnu#p zKg)N06zn=?=8pS8gpCv4*8ZZUBy0}jm~QK}g77gdv{Y$OeNz^#8`FKLGK4^wWU>$I z9*SpTwd_N?*}<<|lso*&ct}HyL&Z7c#d`8DhThO?YM8c~5rdeAQ{&ztY}U3UQf7yE zTu8lqx2?*cw)?!<_fDH+=)N1C<0HKBMyZjz0&Q2c`A%R-;>Ty$=&UJ$AbL)b$FO!F zUh8q(E*_Z+>)(^_SY7mweD$&Oi&5Rls(#|B1VUerHnWCGz&@NM8ZnY+YcYNYsKz$Y zXJ;)s;jZRRMqc{sYEmdI6;BHC_er!8vOe!CZaznG7BBW>*nXWVR)U>|<0vP6Xq_40 zu67ziKgLzuejI?uky_}_;xDysv5w+1r*)s#yZg4(6XlK*UbL2|8%K8#w6SgYTg1N! zUk`DAAOKJ9j{wOJNF2gY%r0aTF*UHZo9cMB{e*pQCfaP8DBd58&!RBq2fb*lP)t}Y zlf7L2*$*b#grd_^KHCM)RcOKNp4b|K+2_#$$M8=b6nY9uc(e?QMa2%##FWj3#VY!{ zDpi?>>REeh47L3{=e;VrT&Uxz75HglT98g~IZ^aMFTRQ8yJduqzB7{|pVZh8U}F20 zlrCl-Ke$UTcTkg^YP}rCpr^1&V@wj3 zG1179&z)H-b?9yPn+5T*UUuO$TYW8BoPa;DIzg@~r$hb`Wv;wNRM$3U>?Jv~R#(by z#DuTExPGK&h=F~=j5(STXj_PJS#V6?Nqkj({f$-ZZr)9B{oW~4rE$Jm#v; zT*z};^O9BITGHb#7L{hZ_q(l0F|(?od?-fTv&LNRczm|%cylQOAH&4g>jnoCw4@nPL-=@VG~)XnM6WkcmQ14x&4TPeYs(ugFe@D%JBri-MjJfenLy&7;Ejk{KsN4 zTIyO#N?v!#9mlFR8}rQJ;u`GfpqL8V{O2KC`e13uAXuLUfXD%~No%m7^TZ+$rK9#Y z4J-mfvUlSU-6G#$}eUn$JsY87-u2tq6Q+1Fa7RUY3Q*n`5p2$|?3o|*Pt4bM~I z=3D|GzdkzlaMuB=w!+ifrc~@cfA~&c7S=PU*dOihoYTdrXpzfPO9v5C_?!+JrVF5sZtaU6Zhy8#%$vr3MK zZs#g#*=pywIh7;zW+ru6*H=D#!i4TK%4nzgWQJSU;pcN%wl+{dW zzofzNu{r-7+6IkUu3ke-jNj8)_g=>#W|u=h`^H;ak~O|TCzDV`L+$LJ6Ydch)D?I! zR8>64h*3|E>h@(Sw%!{kCcr~eVqb9jP^$QaNfEJ$_CBgjdeH>)n2x|US#qO?RRSCy8j*GpQxk$taUg9cQIn&@5=SD{;ir^m4rMCd1{|GUHl@SltYI=_0WHKq)Vj zyTTyk4hFJO_Dx#@7n0FsRP7#ZLWk3U4ke>GCAi~b2>uBZuRI`rlGMh+KO7EO1ovrd zTm1`A>YR-(C!D@t+Z*}GPWfKCiTv?qT6Y4Ds4`TZ^0nqWA*A`@h|{-AgCP{JqDfob z;Xso^auK#WVs@Pf9n)T0LvJM$^JGOWJe{V&!JOVJc|it7d|=LRPf+x};aC6MF+u`+9Pz=xkp) zb$`GQe_2X*0QL$sBw1Tv1$}%G==I!MkZNJzrCP`5ZAsrs065jkB#+|rnI3ld>kb(MS~vbS?)#pK1N-$2&^VZ2|OF!;$^U3&UC5VB6!@QLJ9SV{-o|J>ee(f;WcIQ z%CigpVseuO$9n{B>^pIl>$2xuBLaM|^G|NvZF-jP$c{6UM4hp@T)z~7tl>cWC;d~Z zjXS~5nQ58QQ47` z%xfxZ)2XDPZdE!fX#@-UY|-t(#8>?zWR`h7JJP3@VIRRHnptT@x>-#Pz2F=NG}PA?h~b-$TAWT^`*tHqKwEexeiN1=?bc+wLSORqcc-7m3@o z%k_-&{Sj}`S}N-jeG5ZOr@YBL{A-Z4jXWQ{6Dxl`&=_@K$7?cua=@85vr3Vkbw3pmVzwgC%rR!1AH8v()jPfFCz{z{}b_EW>#nT2OxbP%uwu0|!TD}a& z)Y|_R-orscx9L-9=;dFb&vEr<8C<z%YS>^;EE#)^wQ|`x;TN$NuzGq0JC< zr+*HxJ;FGBlpa%naausdqz{Ga1+8YQHi==s_=x+`1E!Dm(&M(&WpC^zH(|E)*-w#P zq!5)tCNk!3F!9giKVj1K&}tv3Uk%{7k-^_Zsy^n{HI?4xO*F<7T3Z(tJcUx4NR6K8 zN4YanF{lqrLS6s~9YIitbAwMWsddcV zM7Y4$+P^5-dafs+W-3HIu7{2dpJ!)bP}irMEP@D9-^d{*LKPt?SKm0xrjruSc zB1}sidBWVBEuu%Iq>}4;%;RV*EIJ`=O#ZQB1X)+zGKE%7y4S1W`y-^HX1252FMBA6 zU@m7XHrk@gdfj zvkw9s3;N7&5cl=;g7H7Q;69c$x5Y2FeAoDATsh#5=R8nDK}&%mC;1k9~(@b1mvT zh~NBOU(L%CSzb&tQ8kuS?92o@qRI0wM)$XmEABq|H-}ftSL%f@)1%-8Aa+c@ zUPur-s%Cn^t!l84GJX{0A1rlEeozcgWe-6cM0HfkB;FI#)AoGIjXE5ZYMVM+{xG;} zS9g;&nNmu6M%^rSsCI!TGw$82jc^0Xsnpc zo&AqI=qWMQ@VLA#kZn86S_BS*RZ`!AI~o^kr3xsln#Lf-Z%jAax5^z8_b(3xxerZ3 zSD%{(B`mzMq&zdC$2_rLapE1cO#=Kr^%TCEoL87;P25!{6m(RL)KAl=WomST_MQ&7 zr2fjxwe`wGP&dAmN_$t^fAnkp{Oy3mk=gbiQVr^OogUiG)NQe&hZ6c`hle$F`kgw% z-FEEa*&V5L|5II#%QPlE$2Qd?fFq#h&(0jh{3_GOatss-8C% z<5ii*2vy~_qdgiEI&Lg8om9O`O2awLjfLzq&)-=4gStg z0WUf}wWtg0rW3!-Xe(oD-RY>51oPOL zo-)kNh3)FJcufW^`>#)MU;g~W+f9F2TRS>k?>SUKYi|04rYA**<&T=j=O)T)JidE- zk5kXHV#4k*=KV=gsfOai7?0Kvo~IwF$(V_}f?9@rhI^S#Y33J}z+(z+-lg23GeEC3 zXSitLWzUuAMc_0Lgpq&eHBWJDt(okm4lVeh4q3jZFtD3Df+ymdgV=h>g?cgXnAqsS zAREy#ldkervx}g1K_JOj?AjAnPiDnj%*$YNnjRYNTm{DTT4P3f_A@R9R+Wxog6Q(c zdi_ueOo48zWsW zDf9?0u6AbH9-e7GyJKt4;W%O8eBs(N%36a&$55ZbgvtRC(!Qp^f(FG`7Lh1LOxpLcxu(ZVsaqqd zqBSD5a+dh#WhSS-c?`Kc%|DrT1Hp%bu5IYUm$XQWShXLa&%Iv2FSB8zv?R^OAGEU?_=1oNjm$l1W=GlsTI@-)T5bHdx1mZIRUJBTPb20OHyXQRv#x_;s28&Dt)oKd=Ny;Ip)HBq9yqu;g$`wG%ed*O z*ce`X=|fM9xDZAsc&*8{wJJWzYY%Nx&-;NUA5Aset2)wkJ;M-_Pw#c;4-m~O?<~PTVyWM2rYwki(A@g*uc2*6480&bR=V#Y?tow_5(YgW=MYTGO%As_j*yx++WPeW)f6rYv z(H_0!9{uPCit1!eMwHK|3c~`7Nbs6Y7mep1z6|$2(6~P^lQ^Z8^!)uUztg7*eWRMI z2i%K%{lxHffx5=NXI|vAHSJP)y>jKXzl5!vPH^0bP%ZN9Z-ZTgtd>dJAh7|wlspda z!Xx;22%{?UF;tt(w2zMc^D^kdVZ5_%Z%lk()85ecm;1@q^5(;HBR}TEYVtUf(Waav z{>}bU!bup>`Q-xpRV6$ zJ*>^OfdH>XfSsIs!fYg;C4u`b1h9{x6Hm>&_ho62L-6U}vje$c8fUc&0eg`GdEgqvalv)0V^OHwkB{)&xD`G z)EQ9h860{v^T1ykHpN%NRUw&el%m~;)+uTCl$mS~;c@jBGbs#8|%p(%y^O!-!9 zoB4gnm+2-D)6p}Z>^HZ7O4by0bZFhC9hb`ztSc3Pv<^xow!k+5)j}t!9O< zIz+_W#*H+K8HY>aG6PC3mX2uec6oB-WZFi)7x8eaardb4tKgBe0S?}7is0kp{3u|> z`JFJf{1kbCax>w2YuW($U8Sb~l!9jTMor=_rrX9zQL%`ui74&4`O&&NDwq3)ZS+zN z)5T2&JZ-;Py0dQ#4E?ax?~|%$h_U?3O|oAH{37C%4e7H%_iwFAiR+iVd%3B)bGC`q%GMv2Ne`+A%*V3Yc!azM-oFDwVIHuK z&ZD&Ym$w^F#)&}_?vw-??PDG1kYPu=pv+GRzitl?I*p&FYU`h92E52c*f zan=4S1e-dKtLHple81?)2;Sq@`e=0R>C|I+=~?tMdq4WHNjV9XbavAfWpY`ul%xeu> zvw^X~290Kl4&h;4bV=O1rmSxtt;#lAUoR_Ej{Bzic|1_uVXJmjib!dFnAjfs=$v|W z`^xeD$aX{fW$&)H?_GB3-Gls#s;>{6RfSikl+U%)Iwu)M25f0bR{!BK)pOOU%6C^r zn{$m!q*qZ?fnDlYP*jpan?u3s5t-+oUUOEVJtx{^?^^0}ex9WdHgF6Cj@0kwb8fKi z0sDX;|DNTR?NhDqCrjjtjpcHS9V$d#B`RiE+8IT9YGGqTNV%PJneu3!ydW8`z7*qf za-N38#M=t`Y@bO>QBR(oM(u!LUEa1`>wJye+rFw9d8!%tCuKZ!ePCDY6gsN<-KAo+ zv#iSw(X*7szp)V{KqI8fFh^HH)yxG~$ z$d)vDRLwimmF&cBM$ix~F{iQ5&%H^wFzjNGhDgfM`kwZW{XU{KmcG__-?9w0ysNx< zW!FHRm+pF(#soRd4*!y!ef^nE@n#axc0FHvuI^07_G=pU%3F-CojqUYdb6d?+JEd` z=32uQ>1&wK_I++-=Auw^!ckeNBeY4jcqVbQ!Y)ba4%0}9zNEcj#8-r!>0c*}H;?q(UI^Rl(xh2vq@-@7(53PN{opV3gYD&) zDvP!Z#uin5=p$E!?GP30iH>xRjZSvPY<(Ve-|o6YF0NH!7n}+sBpwmBzba&oxs&)S zY&zGRnRSk`7=7pG#k}cP^PF@+BQDH5zAp9{5{fPTn8vY88q06ACVkdhmK%;iYfr_DrW2$T@< z?bL*p!Ksk@;z7s8tip}Wp)51Qa>M1~qHPZ@wmCZ-PTC=Re^jYG^b18<&cEM$_fdz9 zhoOiq4X*w5sG586i+3f`G@f%fAq}q`L%Hkg>)*7LwA_9n)S}j&Kou*jA(($0m=cO2 z_&)u3V7IvreKf+e+FJOtykn<#O4NOSZ1!jexxA_Ez&-y07^clpp9+G)>8ar~<+b1!Ln@0&h%b<0l57cbX-xNE7!x(+i)b~Kc7HA8QC?)UTb z1*wv8znEJTTBkArzi`cOZ$>c1@zZGZE;h#T{^)ypVx$+b zCO6RJaC$?{hkhS+@UWT(L&>E|>}9zMw)|m5D)M%Ud=ugG0c#?0I@+rxqwnpugSK{W~$8w%M zyT!Nuss)hd<7=k?=MF}2YpV$vtH_4 zY(>-Oua_JmUwLigabC5R-v1%t6@^w7of$-Y)+dFMTYE^g;#1$7iaX>e>fhhKsvTSA zVtDKl@9~K3k#!czTa;t3X=Z3pcC1K_@*fS&Q9lp$p=#!uxynet@0VIXw|GqUT~_HW z;m98j?$E3khB@lzpfg^_c;5VYv+HzBGYYY=rg<=!fd2epx)gOZeRHj6iP-DUc(Ih2 z9bw(423&jOwAIIq<*zZ-!49(Qd5v0Qx z*M(Vz&UFxNr90}HYm_^D?^EJ03U^jk+V4#y$c#CcK&d_(g~Bbl|9(K>BKHH&PJpcGl>49eYuw_4>lu-7at#!<%EKe8_6}(>nOm(5QR*oP#!rO{Ls~0&huO#WchK_Y8igZ?-J21eU*aW z7ME4sQ`wm`-JDn`8<5!PDSYJAV~1mwX4`H@X5IL7zJAM#EiX>XJdCVAtt@S?oCsGP zp$obGW3ic{Z7s=uKQ2{ac13D#Ike4oujR+q>J|_8zH^t7Jfh4l?kZKc-|F5Ko?aDX zo9gY!o}VNZob8xlzA)AkO|Ho%&&JzI>AGqe*CeDQyLNaf)aFMxMApf7WO+EZTM?Y#S5}iXg6bboejM{du z%D5nlChA>gvv#ddbwyaDmm|-XQO8xc9co+4>yn;#nR$OpbgOW6NNyLpP@8BKdPMe9 zWykT`_hO@-MmTRe06#}69anqQZ>fcn-J+BsbU~rYMb+rqX>Ge~(T2vb9sK0pPjAW2 zeIt2lc{Xo;^nQM?F*otHDSC8=v39-+D|5tFc#tX8P>O$8$Gni_qyC~^_4VKH?pQj3 zEJIB-#@>{#BBTEE_A&z-Tc=<8Z1RN{63*7E`&f}s!k+H^mGu`zs%zpjmsv%s3y)Q} zI3%|nYj4`M|LL*W1Vc)f&I6Ea=tNSLjxe z5S_B!AIQ{K@|G3j-l75mjlgSwXfdg-K@68OOYV@=D~9~-qy?| zyJ&6^u?o7mvDR zaVM}K{7uZe6A`Q2cI;L%fdAM5{tO229^VN!C@T)~A}#dKuZX%{B@J)$-*@hayj@IYkeGRtL{2{t_p~6e_8Z; zb$ev4+==EFx8N`K9wRLf;3?p>IOZ7&ula;(et%=1x;t9)|DozF;F|2h{_za~X#r^k zso_Qm2uKKyly;07DcvD0ARz+MIXWCMLPEM#l$4Z`Mv;`1)#%So#PIjFwIr19cVBK&6AYWHbr_s<8ohKrN9V zeY65Rf{cq)k~iDBb+}Hn|E>*{pQUrZJ74^r9dRq5Qs1bO_jiYo#`{~lxU!gSuci;! z58IEjHt-qUrm8Q!BV*-V+L15P7Jm)#%yPz$`tgBbWfNQJH)l7ty5;JtA$%2WY^HY3 zZaveIN*1!736J-BrW1FyF>XCTDs|*#2@3ma(({|ZaY%dGOE5ORhmR74ujld9o-mJu z#CVvF?FF97QWu2gJo*>H7xMAX@qyj$Jx~rgvMjxBhbtSEPulSN!=d$0$Io5ayHdGT zomJAM{|Ram=a8RlT*vjH2KHimR%S%{e|7-HN$7_IO^H0j{9g@kYGcY9{W1#GFOi7vf>(^7Y7ML8o`TWJ~(qUupnT%d5KOWLS%Q5~> z^Ad|&HM^yi`M`|jl3ulzXco|P6(8x=U!cag6PAh^tk_KAtaHEpf1{RjV%RE(CrXm4Bl{*MD+3;^)v-!*t!Phhz3f>`Ag^lV3Rczr7IK3Hh?>6<}u# zXS>t@pg+^zY&Rf1Q-DJu<4%?8FOh<-_!CNabyd`{Q0LIrz?76&25 zDIh^#kS>&o&I(44fkhBwR3fse_|RIO!|mVa2-BO4+SQiw=o(Kv(@RP`)29CTX)bjo z!#K+!LwQK>L;i5K9gs>}>(Q*mia1f=R@Ij>bFoqxQ@NG$i`t6XON=DHca37%jq3CR zma105rkSm7A*PbOc3SeQQ@^`t<%Mbk3)M9pHQ+ci@LuZVkJR-i!0z7Y+?L+iJ9b(s zZ;FHG$!AXb$i99q+jn}2D;p_XaHaqJ-saEu3m+EvYV6Gh^Qzj2m*>s)ZCr;PyjaB; z(=}CaI22$Y3~0pzk_7==V92ssz{j!~6EVm#2&2r9W;OFN&5#h&Xnv3~VM==?`?rh^Q)&D5CvK5_T{tBc-&%R`F8;Vf&fMs7U* zL(1-ZLejJTV?+~b7MdS?r^o4&`??n|;GSy&hD+I5n_h8wgY_S>z4}G50|qa36_8*$ z#I;aRIMJop6-Q-{>b_oQ<~hnoRmdPXV8_3J(9j3D&I?_QA{vA$D1i3WK^UkMGtEx`;Q^OnSn}jmF@c|+dl-cNd|&RecMmk zsXOE*?%?iB$)vPB61x7D@9+Fs%*?|gxw4+Wy?KXG40@x1@^2s98|Y7Cwwuq{A5Ji` zt{Yv`%BI5FAzTL|K?DZGU$B6>D9I*(D&Fz##>7I850uggDHLkrPwxYIt=#1g% z3~4@N8?D2B7#^YEj3yd{ppXVw+Cutwb{KBKip0k~SR1jZtH59M`%18MRgzz<5{I=P zyY-38bbuogkcO74X0t=!bS=$M_TeO0nwyB|2HmND{?hMTpWnhmQkH(zuIG?eH+bB6 zo#zV9E=}n+UZsK+LPbM{k@c}4F#-~ZKu;pMEJ44Ix|Qe%mg^?>=kEjn%Q7%yd(qXLJXDczhl6Z{^$VWXb)1WPO zNYG1ch^q2#on|_=!jTpYr!8SZFaD&04})5u^FYRo?NF- z!9}SS2`6HDXPHikf``NDbs1SIM6#L9#;zL5K9aENxT-uC@6u1$Kx^BS$04Ruo6ty2llJA$RTF#DpxQmfa&VAQ69h)2o{Mfg zX?pwM$+eNK6TRxQk*-(c!I!%mCb#A8#XS%0+5RDY)m+l!Yj@M$T?dhqTUEdB7>2yr zyT=erdQVfveKU`Y2zZ`I8?3P)Z!sgEICq!{2?%sSa2IoDLS0mJ6Wmh>C;dAjLGE{g zK$Bs?^8idHhF>&W>AH6mIO2dsuwz6pq35&?yLki<>HV+@1y=}D7ZG0F4jg6qQM61D z;tF1T)|yE6*Z-L{cn~Ex$^R@o1-$=E+;UX4s!HxMPvpo1)l=k)+=gF6p(F1tL>A|@=FWF2?dA4>+$;qGRIjyWqZ znYcENNs#-!AQY-Xz>c^;V<8s8{?{oDdTs!mb|SET7+4rBEkwWQod%I$B?C+y6!UW1 zi1nnwZQwu)XccKxx>mSLv)Uz?Rh6nc<8Z_zwMZrd+6p9-;w%Fpv7b7SwFZ1GEzz;7 z*CoHW^t;o&qE4O>V;P|CFIQP5S6r`DXm1=kCGpCE-fh{9yT;9?uP8X1Bg7r9>s%mp#sW{}#0xK;uO? zr3gZ82YE4dmRNOV+<#aEI4B%)74bhS0}BJv4~3^jQ|Tj-WRN1kmneP>0A-?XtFFq~ zYb82HuN5V&0KCv_y9BY;b+=kHE>02f6;T*MbQnSs2H~>Cr|_Zr>|#U*|FfS!Ant1M zJx;Mz$Ht4yJ#BgY<9xqn&fbz7-JbaQ)xzP8Z#U8d+-Ht%#s0qM=CCNA`G@XC^GVX! z8@1D$!=UQZs$z2Gv+|F#s@qy^ul>ye=RP_mX}%iXmXmyY`{irNw|8Q`{S5f#pA+cn zx-b5dt+H>{zxpmD(#WX6`DT9g(70%E|+fx@B4A_{P*BPLF#$EaKJVE~W-eCT=h5ZR5r^UKAcc;x=Ws@8`o zGK1&O-krra{PehXIKvgH_WhpR>W$zR^PlaJ&#JX@KKvcj1C<6!%_+tP|0T?=BMiOu?0A~XzBsN(P)Lf&)da}73 zAsLk9K%XX*H0pla0oFLO@U*>ayI*8Plu9ld<79HV-B( z1XlF)zJ)jx-Q-cr#TW|~+2l)XI!W4K9U^<2ma9$eSK|t{oySs!WOilun!cRPOuq?q zoasn+xYRH=+pjwjc;jv@Sbh?K^9Afa}1de}b{wsJO#htG==H&Yh)ZucJTyKoz&NuNo$tg&^kl4wv#iE#LX{ zH!eR!Ve9q3kkLDFEeY+bpz*FFai?(?FoO5qpUW@LpC4ZTjCDH?+Wnc-BgcGj?(oIo zpzt@%-;<`_HysZ6Uqt+Q(dw1do1eKW6JmIDuZaFEXeLOsYr}!d5~RYod$^nduYpwn z6D1NP`~&Ki4EWxl!N^z{ECeCQM|cqcMQCupOH>eq#B#qwmBUH6yNFA|$TZW0PPAhg7F&Ok%~0Mp}~eR=Yg&I6-cu`PUt>UqPNg2j|A{F51b{mk+5w7VFUe_a{Q+4OE5KKSY1vMn3Gt_-F?-vd#B5K)4h z2dGjF@8YaeBTR#^sf4|RgQFIN34p;6h~)&q%!?66t^f~vQ>`Ehw1OfbjwC}YgQjzvU+hXKV^Dv?MG(KW}t^d?qR~);@83+n-7A2<~~=N z_p)aT;<$nc;2v#R`xl~rI2juM`yo!AeMZjWt}8X0x)Yw< z`h2|9EU_1G*W!VWF&R-&7*Yck2Bl>r2ANJUZ`u+9Bmx*@wM6hR^_YBY&pfzl4{$V=STYFv3wix`=QEeKZ6~p8>}*D5#_x>Jo$%f&r?Rs2B3*VEx77TiHpV zi+JV(v`6LtzPj`_AAV#OQYN$Ut<_kVCHL5AGpEJx^|41%_YOzRJ$b)-WkKqp5`mvv z7dvm3?XEe`88fJ;-bS$4CARPWGgGY7QMA<8cQTeA6nZnkClvihqVI3@^l$go&f~vt zS5Nhp11!2TufE>ypxXT8-MQ&KbA20A2;62eiZDo6qy`ca#$|Z{MFb%S_-17KK<$!B zlYr*OFhDk_7e^8UQ$xfE=R$)gBC#4^+Ta%$xh27vB0)>OE?i5JelE2alpcXm3;u)t zYMb7TqC=2@(MT zAVOdg0H*;7LC|8rG$6DF6dC|~2Rug@lpz0sV$g`xAYd>N(e}MdBzO%72nFyHeD_kO z9<{x;$P+U8(bwrP7P9m4$LB%m&cwHw4~(|X%Bq(A_NLz&4>8jWpY12AE{}csbI)ax zecP0YLa|GemHs&D+msH{cv?p2$?Z5CJ~c= z$6(%<@zc-q7b^LF#(xSX@6>;jbsZz$`RhNo88UW-t8eP)Z)mykz^^6$!sUSF$qzxY z1wH66GIC2UOHK$8Ni+tiI)K+j3)VL50;-Xd@Qsngh5U^0u#4ju9ROpCw9x?15(XfY z05JfdL}Kg+^I$@O<`aNiBS=VS6D}nNg#{OIX;5%FBIeeNfkklXvWhasiuEa#ZpntE zwx0XnN?^aDyWL*3lQjQlnf`lcf8&gWY4*;kz}?RkYd>6HKfjjZJ^D-j=2Fc&0}=&G zT1;dZvX+(%MTVh&2Vh|UJSu^Y0XHBoT`znk1GXG|IX|F`AeEvJh)uFSq2>e@3FsjV zLVyKC4J?Uq5TaC&1qPRL)`x+x6cd8*GKrck7DAzj!*Sv`HRHLdFd1rgqA7VjhO}eX zA0_6N?aAaznYo=|X8IROK%hx=$=G;cu6HCrR%&5)-K({;y8-l`%xUTxbGFc-^vNRC z48_X@fg3?p!pMaM*jh-yp0!M%4-&$pcfF9GsSASDBnbl|sl*8(EHNqIWpboq6~V?3 zc!e+kGhIA{5n%h6h@x@-{jCUkDgQf2L1F~?B(GkJiHV_CMJs+FWxiUx9i&s*n&)=H zqndD{{dhAnwIbv3UezC&fXh6Yz3ct{I{@dRc~MnMOw2|j8Bo|mEM`NM%E~Jira^|G zyd;PKC{=}E-GHPMc9Q5qV_Z=2&N>VlN!V9l0|1^NfVm^X5g37xpCP;f!w=xXD6m9B zlu%2kWrYF-=tsaqfZ8nr8^Z)Riz2*;j`R+_DxcJ%s-RX~s#u@miVypJy}6(Fuc|J~ zSyc)tF=%A7?oHRXcuAc-OCS7tSUll>e#^a0l+~^#d&#c>6t6+Pi(2&Z7+^1_P9RtO2{Xb&)8+K zd3U;T=>woPeRRd|a_Mg1zV)ulHIw@47DLrOh7ZwIR%vXYI*^A?yj;u%DOd}@bxASt zK-ApDiEt%w5{M>=B0yim0%rn402KrSr%8nbd|C*^6quJm7|>P!4J?d+SOGSOkpwI~ z7zF+XS_Al-VI&He_^jBz^!VG!h9V!L>us1>pZYG@uvQI`Kh2P`bnUl*ecfBl_rILd zn|SL+D2I7q!;CeOq;(~>tb5=*cWe`@x#{Z)pthxB<(6p8^&wryIfsL)dc9$ z=+b*of>bz=XTn3^P&+}AXS|do8URo80*eC*2i626^Kn3wAZ(M|gdHd$tUC}n(EbZr z5C|qz5DlKFC1^Dw91beTPw~{Uz6Ih zLKWBoAOv8M!OIszkia3}DS*z01d>W{@1bgfKm{sdAYlq9T3Y=mw2~mIN+BL_=yxy; z@E0Z?lSWFH*b!+HIYaGF@}v}yoJVNkvb{=1gEM42LxI3S@!Pe~A#Sj2@8h4?dIZ<3F0E-5Cb_jwF1*(;0lLYw` z#YqNx3gxn8W~KBjLV`J1+YyAVE_u+JWs%Bvvnr>4hGplXXilVC&Nu3HmTKayTME-Y zf0M!=|GinYgWvJDD%p_AE81T>CNJ)so;4E4@7*xEnbN=LI!57uEe!w(xW~2*89ZXF z@WIt&xUN@UIvkggiUSs!Bvu1p;~~M~0w^<*rM*u_wMQY=7lV%Pg~7@^=&(5y)J*B$Jb>;NBxDs zL(Vb3>eAu5fguD)QrO!SNHZfeu>*FAiWLIfc5rxoED;4jngcOa!ub}?g#?epwZ@9N zaQZM%>{60VY1f@bX)mxst+?%`oBQB&n=wf_+iqwAN89o75OWt;*w^?;z?o)4?_kKkO@Wb9$|L{MTP&Zn@540>JBTH4h2oMAKRbe0&{Gd9tFDUf;Mt0E*+{P?Os ztU1@J)IBQCzgzipOp!;=)I!QDw^>Q^XSTCu*-VQuXh~y91{IQJ69~2aT+2bUJ zlL=780y=>$4e!E1u(SkRa;P0)J#k2V2(GIMu0pO{--X7YAiOBZf24vJ$zTNk3WK6g zhcLo9alk_?C&NTxA}~lYGgtbrDiK(9)!TxqARWc>j4|AfT!@!YZdOdlfn;UbG+eT{ zW>reaJAQQ`WQt}asc*ZAHzyd`iH>eaYCn@r@v_ybQI!^B5Z2=|rbIXj;-M-;gA|$& zVg@>^M5HbQh~-!cvT~LS5~9Wsh?&y`$prh!5^Jnn#LuP3A4cWH38jdwQ@7^lkES4l zk(6_0M8q+~fw!YkfMn3_S07O;2m%vN1j%AK3kATB*#juwp`T%>19B$lBtvnC>*M1n*%8j)8vtqbXz;@K=zY|A{3_?au6pn-vbrAs)iMqnV!T`~DlO+D1`#C6l94H_3*1?N47>qK1pOECo=5EKaZ^m?T*^{jCKY~hrrh9VdX-VN zPK(UydH-oBfWh1Q7qUq0p6{Gsy@FHrM?27Ft;PMB^!}Hz|!xJqnCIjUCV&rZ;#Q1cp9%uW|Xx{|;vG3-iUG^RUsu zxQ9p$7I^KxR;@<+8c#pmzBd_K3;+lIK0m*Fas{-a;s6%l-)QGsM?AXJ$XlNm{~q3Y zIHmRR_}uH44ZnVp?zS8TVi(iKS0+Z?3nydu!OIFCfpyKtelBN2IjtxAfcXMj`#zofD9>-qmuRYmk z=6%R3m&2f`^*&0lOrx#LyrE{<`kxbT=83G*TX@lPso2~gKf}fb8KDH0zFg-U8TNc@ z=uSpV+@&&v{?4t1`PePr{iZ{kN>VP36H52&}(xSsHu^lqDqQ44KzjGlg%m4$1z4xbsE&Q_)@uBB`tjeaeK zUhI;*TQWnWSkxw$)yzg~ihWBRJDG;A(n!*{2C7}?HJkYxGe=shUL_}_8rct<>Bx@? z3U02;HyY-<)sZ@jH%F3CB{#46eJY%I+H4!Wm%+sVMVl3CrD1bKyHzc9h%SW&X~8;EXCn#%j~V zRr=T&PHlbwJN9|jYg@?`40tMcr9Tnq^Q&u!v`c#E@3 zi54|@0m#Cu<0XY(xh)Q*-YNf>VdqaYGQE?RhL;Lj=Wo7$3)2t1QXzCpVqBaun5L7gUKEe+ zJVOpcj)H=CF>7dOMZtF6NB)_|EsJl~wJY${bBkAQN_qS3%}B$i+_wFEm6&}h8xu6* zxYFb#gd)xFW%7NB653U8Q)|_ijWF%H7nw`HdC87Kn*={*VA&CTzF1HqBnN%^sA)-l z+gR%bdhzW;PLd|$QFnDFgN66w+(Ms7ixf{@Hc=WbJgchXcD9-4HLhNtt>uw5Yg`DL zZ&U6F0iBaB0ae5@CTb~Mr8Bmz=Rbe4$5If}QojjqUi~FDVdEL-H)p`njYd??y?!gK zhv4#C7*-EvHVU9M3EB8jw^Ad3$P_J~uxtND)vx#Fb?GFO{;T;t@(R~p(f3mie{QFZ z6)m6cnRV@%IL4BWd&ddvbCBE(A~wQWSOrtdP=%_NlIfYry4BAHmJQoK#G6G#q7B5% zB_uY{QJ9?PYq1IJUw@3WFqyeL|ANg|vUh8FuAjit|JnIlcbiiY;^u>8^xKwTRo(QF z;pSo9rjJKapL*~6P4eidH!@{0WjE}9H+(5NF68&SHqQ>pM_puI9VsE9niG+^F2ID_ z&5el+N|62M_V&hVzKW`YR{!ait5Cy~4+5=*Vwi879^0E@B)(6*i)Weuh#4Zbd@&l| zVm__mqhCE0GvRqKkBcjr3o~U2(Nr`e7adWxidxrV=pj0(5iq6GbhF^mKAkCO-!3s< zFUJo|I>kuO-uf=n(v|kL$J%C?^rHjKAoMLmP^G9->7g$X?Dj9j z&H1(b36JDqZW;Y`HxZI%|IeQ-Da6xBd_5U(ij1~xT%q}-oKRut^X#(4T=;PJ?Z4AyGsAs_)y*X*a_wESA6v6=WJ~6VU2|<*(_9skPjp*$ zFSnk#alfThC1UpaML#9bY%4^vwXg+P@ZX|v8Jd}EMF{*> z?u)scuV1LXyDrS`{G!$+p<6w!F8eYVo}q<{p%+MwXyhPMih6Jq2&0yx{$x4W0L#4g zf^(9JEeHQ{d9dJ7_gnE_W9gDxFD++rn2v!=hupHlhn7pS`*snFg=0=0BK2zGsYA^l zo*n#TZ)Et@x+u64U^X&!E6%T?$~cM-k5r%_ffZ~QRLrwM)^ zIR2JOY==f2N_}#<OX+ilHhyng?lqTZDJ4Cx zVWHP^ql!X&*u~F}RnBwu*tDx*6N703=|`p9 zDhFC}H*8IK3QK3K+AsZ@(F{s>rc~;!EJUn-r~2^CR0Z0sZFs7orq{%M6ua82mF2lL z@atOqhdig~t2uUUUd8<*SBGnND2lZz^fF5Bu%^qt$-ZAD zT=exyH-BzOZlLv*V{~*5TB2nR&1=lNm8ce27-O`<82+2a|884iuT}=PGpppE#XH?R@0u5(d^;5`ev>rR2q#Ox|-{&y{KLVjaM#?W>lVwCfol%CQ;VL2sq;^!7pYl;I_izQWTAqV~u%V^SQQS1I;0Wu*2tQBGSeLp|9D+(=VP z_I7&Ymo|FhErjGL*4{`pEQVu+yvRCpHsBFFcF{5C89P;Gj=jdXL}hEaKUqttZM7cz z>$ep*I+JO8$lC4ia9$+L>hdyDM{;&PH|3n*GZ23?|&^r*AXSEh1%@6st}P^8j*f zWXoGWcjb&^ruV5C>7x3RD_&WVu(o=xqPrLxM5{NI6J5TDqTynkb>*c}ldPj$ud)`_ zHc<*=#zR) z$CFIgl8FR*N9sfpKcb1FrOAU$g?7{1`Ew={wGlwWnU>rS+M;NInLkXEIXX)3q`wC1 zPac+4(jtzC2;*NDeYP_$LBxJ6e!BF%pFUk*4PFpV%~##RY&oJlv&Vh+Wy5IluM$SL z!0!Q#MVb@y4D%fAsvYC_A~WsRjF=&`|9yOGbD6?Zht!TiQD-xiqWP>scFEPXO<8PP zbXK>&aVig2&mW(fhH1=J zOkMl3%GO3Zs@@k@wQu4mG!{Bc`EGmAx$q@xQ!uPPek9PSCv5C~Bh2L1iA^cGsx&NMj+>#wb}Xk1 z#@evk^qd#*!3c5n)8Qh$#$qzIx8;6(RBBjQLayIft0~)5gHQw0;;E=p_VJKja_X+* z6{%)3?BswSuTxTVT#}ncMj6CUG;RyG)t0D|YGJK3!C}tE$Ssg!+Aded*^?>S^jZYY zCKN`ycGt(NL?S}g-5h&PDjLs#)ojS6&so-IZ1q`^xCJvWO7&Uq{>Nxfq)rjf@#tIY zN&S9u+V1*?SWq|PdB;|BtaZ<$+t5Jh1N*J8Om=j5uc$|Yn>#;?CRdGIuH<5k6ZI9v zMJExr%1%>r>xDoA6#sNo7xt09clf~QTc_dhGTd57#)Ow%zbltR6c^q?_qw&geVIJ{juvg49cPZ0kM$YVO~=v= z{VhIw>7W;wzBNZ#7IE7|HM`9>T`M^)O#GunE!mpV?V*#(eGl3i>n^SwQS2l2GGpkw z-ss4@UiFeqZBB3xUP%1wx=xd&`zM}m?W4;n!*{qxF4wR7 zrbyCcC0%MZTL>R=)rqT6Ep|U!{8%$Bz9SsFxZ3b4vAWgOgvZ1;!oYuiCm}#)GrHFW#-1VtjXzC-L7^W63Mm`R7=+$3cGbx zSSH}=*P*V8G@QvDmG-3?rY!;NInqgl*g#cF^VvUhfs6yD?k`ig5Snmg%+Vk5mj<+s zN27l=hlKG?a?gr|yV8D3@cnX2W~xcZ$Zx7Bvl-la+}>yX*>$h=^SVVbCT9XMv8tmz zF^U(-v|V>W->%G=*0xBwC7}6EWs;l1bs%g?(x&;N4l~!z$s%lt#d(oY@495EY1WAo!#qaq&)lfLhwzVVJ`+5@`jd9E z&mGc?!eUNqbn`UH*}tX5?96Ss`r6_ns?#{k)VJwg1aF!(ckOx(HT_+(j&$D3CJnBi zd_ppN#VOOr`6y@iZz1!)kRz(kZ{JjwRcmD|D`l@p*4e0}Fs=1}U73o%H@-lxYLXql81()n8^>J=~gJ`Dv|!s!(ca zA~9iq%D98enJ%G$ybB&;c8h#mD59-CQ@1+bpum;>1g0O4J4`wBTMVaI>lNe0v*}f& zY$P~p?l7hEqe>T(grJsUb-!+Br44-TsZ=c zs`63F_;BxOtMEDVAG%o*#ky&MX7g7Qt_i-nol8|24{f9+{3mOLYXP>6uts`ltFRK< zk^AoBM^vS+NHHl)rh0tC^NSMwm+ZveZ_1ync1;Gs)HL*@TWrkbZr>&uZ&IwTUNlzz zpi#m_x8Q#GVnr${_ls%PU#rv|egwIey|BMvi~6-npMW}d#pm|k9ica+Q|+>&tTJqW z93FZsbx7~TllIv4SEU~^R*d`^bHrWM)iX)G6ytjdw=HmA*&e++$J7&L?xf4pyx4a5>tIuB zO2g@xBe6o~Yb2KupPp?lx50^WErZaG$u(sPdL2A*ZY>yQ zw$4Sj)BQgFlhMqlLx|x!Oq=LdUBb$Epeyhi7^KwGHZKHTJJl|VN%h6L$ z^jp2q2XYpZ+{6YpiTMqEM03B2Y~H5h-CEmCxmoJy_p~i>k6NO+MO-)*Hxk$wUdj)Y zOj?TtI?Gx!oLbl2FJVT9LWP=dN=>z1-4>gIvUk1Dck8q$G5+#|nJu%FqmDb!mu$)g z&92t*Ju8c9mbJcxN`!48-g5G&-9TCg4@a2LQOVq(e(jzOb-N>_dG)nXWuVdwRbO*q zg-(BncO9bVol=$1EwPbzLhCUZE9aCsESdF!mrJD@GgjTo%&qdPR6EQLBk;8(^jNHK z-)zczVoxdsT4E^Ged;q~gGS7Mfb=r_U%m1b*^DPzUv)!!Fl$B=`JE|?SDH{3MY#wvRJbDLhp^3yH447hKfOygeSkE2p-I!wDdUA!4PF-N`< za=Xs;U6#j)a>)quP2tdwUb+E0UOc-C@oWpFMskuFo6URoowl_kVRuBe?s#e|S+Qk& z$u=T2bt+Ahw;635H`4vc9}Cwf6O!29l*l2FAq{@)o8*6c(>)JID_KkJr*Ldq!WSBJ zFmH*!qjod8%lG>+heFKv@Zt&-3T_}MC0;r;EtD=&(m}f99I7S1BQ{4Xz9 zcCf)>_dFiVS(!27jid!CVlDBwCWRzl4}9}KR*Rb;>V>CYR|}qzs$_sFu+tjah*H0D zAdqlD$A82a8;if$^??viAR2bf#D`4eVM+h!q^J8^SPRmu&bhy!csP-&Z)k{TgX^hK zk_h1YHOFWDyg%AF{Z3KF4r=ZzB+ze6MUzyT=a9r0ly7YD-JCQ+tdlfjPYRzia4%^J z%}{FTC7NY&ZE%MPFkEe=pVgLJ#NfET)GYpgRQyK@IzuDFOSYFn`;OX~Pxy+)n9In3 z_0v7M49a?g!yg@?qRF<|d0NT_M~}Ym?G6~&P$=f;*)`P{_Ue#{S1vledrX(f{O4QCL7?0Gp;Pk|&(;Up!g;=-Pnz!2p{+7ht%~V{1i@WhM_a{2+c{Cui~B!YI4|xPPN6|*SLMFUM1fi$ zQ$!a2-c)=x{z>WVY%thEid_{RB;&R9HZ5~1FimhsEI#}f+&^S*ZZt@Qm5!JWqCndd zj8*4L;P?mkvX5atxuktET6~8nKPvjWsUK%5EU;-bB``C9+@60n!M(#wP%^GHnXB~b zoyK1MDMX~AN%3<$abf>;T$QVaM)h|^O|leapX9G94$`A8(!V1JxvjbW-YynRbwzYC zJVf5aA1>6w#sB%6GV#KK^(Is?lBTTjnnZtE$oWD;!6IpoF0pBErvjZ4=HLTws^fU^ zTtS5oN2Gw0qn?Xvaf0h^^OAde!)fIDh|hdA&7x_2pueRAj7SJHN0569)h$1JtV}s9 zHNGZAF9TD=KAS}FzKeN}$QBk$j8I46O#euMG@A`e9|$@`gh2`wpRcaN4D$c<4IBEK z7glgTw_?v|vs`5X)`_fz@=+K!spJ`vW7_?>F(mqz7J|~w4N=BA&k`t8ykKQKU0$7$ zd;QxZp$G4;w2`Q1lWIx%V~l!Y;IDfUNQqCI`X_2nTv%|O3^3mMNnZ{P#K5j#Btm%b z5vug{uHPz1_+hF5DFk{TsKP&&mBNky<5wyVU}YazR^L-(vAnsK!+V;&G%lc-Rm3nq zXR7I>&7aZZ+X8UODx$X&2aN+Yln(lH8QUhgFz$Rc4GRfe$J`Yb$$f6yeF$MVUUVww ztKCMP&;hI$9joSYkz=&3OLAc(EP-e|s_-M~EI#68(qoo1HYEnx2lkoSha+s_L1Q6b zYNCDlzoAPrCUW#t@O;GoKIMQM1_5@_34to<@7@L7|AfE8 zp$N??$dBE#dA0UZB4Sur#+)H#>*K1% zs*>RKw;I8`BpIfE9{0DyLv%Fssc$&j-k&QuddC>cXz%?6@Sk_yM#KFTTj_Cr&DJVJ zleno+>tME?o8~ilgAMVWEX&t)vwo7x{w{-_+Kofx8dEz@VODnJt_T4ojX3sCsAkQ? z2`64O^3Uw~rKeqvr(QNg(dm566?op*-V}~y@BcL{iy;uS(YP=ySfm8Ouc7N7TPn?# z!s@Tm;Q7<4Z2zOu0h-ONq)=6^ z;&w~9B3Ts4rTvwMsu-x9|0CpJGR9-wnorH?f1%SQ7yRvEGP~FbhSLQ(+GiYB)ioWR zsJTc>-agadDblN>kxajzIEb*Kkw2l&5ue?Lqt4fo!54rE4%6mR7z5Lii;l^U|20N8 zrAK!!zUfnlB>I~;LuQ~=iN&+g?uLq{{)O)R0cRdcJ8I7e9a#+nOjilRGxnT#^mA6N znET{gDN41dKacl%ZGO-bg_obk6zUEy@E^^K@5(Y>EdT$Rz&#NJ&5>q|1$*ibPa%HA zWGLDM;u;zccBih;HK5WA;ZC^jR?Mu0n*vq?=G|2azm-3_2Vfs z!g9QLFIHPzvBmxW+R~#fUx9DWeHr%T#Gd#{md5Go>6oTCxiLh*pw}#%YfXf(Zb;21 zbhMOvtWgPUo=!xO6gRFgCb_VH8?@{k7JV^blOL}t!9}`*GuVF?>Ex)BvPOuSJ7dmG z3ol1P!GPV<@Y^$CW^Y8`#Zg3B%0jh=pS=sq%oyNkBvD=BnQ#9txvn{zc;ISl{s3C- z;#2OaCua4@eXJ~r<7eQhK4M^+nn=ql%~eFxlZwibn^FqZaIZdMvJ%vv=2B1>KB6r&+!>{)%H`{vrI$$qg5waukk3UtjxqVd)>@Gc=Ww{@7d zxPDg#K4KhSj>19Ii0UR;&fAJr6Zm7q9giKPN36g-(hGmK?)3?9j7%H)D59thCHEE@ z+!t-w?Kn9SWQH@hW$T%~eoRbkC)7R=JwHfb6L;zoBHJ8R+zZ>Lt#2|mb(kIJ~rc6tD;$g&N zC>pF(u)f4XF~C=ETt?2FN)M3vFNcj-0y75+CE{%$(4^LWGaJUZ;&rWsNo$Y$ZAG6a zN6dsy>hHdC{u1%BmQjsN2L?s*0@_eF68abZQ?l1QlPdb(0kRk+$|e6M>#K=bnl(NN zXwE&TZ%od-j}%#wTH(C7<{#Ay8zK5bbSeIcnZFImn_B&I@dM5L0$WY$gSoalNcD+URGLRonclYHI&;tZ_l!PPW;KkL@X63G z4M$Qy@fwOwvTVga5wxz0_vsV)U^%g>=dr14ygS2`chDg*PpE}~kX)f%ZD6SiYTb!{ za@X*JAb#oXHE->=FWpSg>&ss$0%M_E7vIm`-HeNu7ZjnU2B9g&anSV7u6`lBgDy5` zAMsS2V<%j4kDMIru;>b)G^s~I+dujF*SCw?etTr#=_^#L2Uxj`D-w%f)rd-rf^v)G-*xv83k3l!09D|r= zn=`+1OvgV_x!Vz!`AY)*)9WYtC-X1r)swf=%-C%P=hCJiw)BcOitf*A3xz6`UiW_y z`sF_6?BFY#nLdD)l4?CZc0gQXdSA>nz?O0SGn>tVHqYF2-BIz<;4h{hGtYktv@{JY z#P2Vgt*@^wUO|esKpccg;v_zl-3>t$@47HG#uuz7{zMGLokX6l)(^J5R!A8&UnCs` z!BbcAUWd>-qEFt~GEaRm%uZV)eNY$bJp5bk<(}!QWnSm|`#Tx7nK5(kSy!k@e;<49 zb}`^HrH2!(H*enJGB(u6Wx|B8kBy55$HkhJ)BLLNShCx`S+lRcnDJW)3Zk=$lArd` zn_NDf7GjjWOY1?u2)gi7S|fC2F_@n07#6n>=w&v7tTw%2pxmZ6S?Vm!-1~;@i>8KC zLH6gNVT+B8ja$qCl)V$1eCG@Qqe$!KzV;nbILUYaEH7eh({y%==|@Rz;+4Im9|lz1 zdb7~`H^klD!oosF8>INb_jSlNboc?IQNQ&K^~Cr^w4=@j&$IIh$t6(Ki znlGY;gY1)@IelMw^x^ij@15>)ni843?c$eFul|MD`<9*FJASwuI-75q|G?+P;uU9| z+uw^!s^^7amHiaKL%H*jOZxj|UVl4YmhtNx57n(sl1H$<73 zQl6G9B(0*&a?a1s_5T)neZ{YqiYChCdSbpg>hAVUJYW4ZDl+N%;RX+tVoZsZV;`qY zU!q1zaLUWiZ`*Fm%^iPN*XapMo^^;^<$|Mdbb6P2of(2fnU$3%s+Ic_*mG~82d8Ql zDPAuEwX@XPw=D88k)_6nk8{XL{ab2y3A;##SRwa>;7;u|$L4DeKSHz5UaiJ)`)vEv ziw6aARa1>7SocJCJ)U}LzTsXL7!uq`P+tj!TyHpNXzpfT-}aGXTez%4+QhS%z4cam z9NV(*C0Lx~a0S$cF*9?Fw0>U%cZX5k`3sbR4P!#bB{Qz%F{Z`LbRqPw97RGx@Uo>w zUhj&3Q1Q|o_hIrYi*COVuVz!$T=M6Ahh}?i+`DFNZ}(iAOIUn^8x)(q>CXx`Ws+() zlxU?$H;KKCX4oEcVX)%km9%VGGmRgL*k2@$Abkc68{=3!^v>qMeYnLeM$h7Y8{azY zl+|ut4rNHJcm7VYG1&fvOOT7IkO|JT(VyaL+JRhX62jwV9eJ+B;eYVH9cpj>9wjBo zY^r1^HE$dz#`ARcv$1}A=R74T+nkcRrD_t5WOkfeh?#BKKT&mGDED4FvZJe4?3U5R zrc%F^J#RcG={n(-D8o#6?yALJ-Q^q?V|Z!Y)@`kCv^05Ny{?pgDj$iLjH;keKjdPT zB~B1oBYLYlGBlid{-EM#NbTJyT}KzK{|5m<{=PM&Sko=rLm2mRvf{~kQr2ikODS*D zBHG+~Nd>nWSBSy-A{4^yu2>bN6{G(E#{U3~8a+Bq8gUk6z!8IZ_$sWpqT-gNKA}h~ z8ptD}O5AO6{Ls4GvbM7MTInV)LE5()sHg9N@j>XKlC(^W;M{`~pzL+Pw(1v}S4OvP zH6j#<2&kP0Rl57|kkv!;OSGy`CpPQZg<`PXgSK009630|XHgAu$soK~V(|GGTEPAR{nB zQgDHhGeAR7V4-4iu@xjlf|9{gRM7@BbAaLTC1a5AWT2w5z{2AH+5iXv0RRI(0sjE_ zA~dut$2@_mm9Dfe)~So3+xYkS zE{h)d{{SkY9hja~Km4=PKjjbAfB0YBKmJ$uPyYaw{nNkYe{?_Pe{~NUXMI%{7+x1e zyIf=ZtD+?T01^j^qMNZh56v~&5%Fo16tYb20aSF1?v_V*1TA+a;k#7S6SaBWY(yU0ITNh)X08n zQ>)y5eMKKyQEr(ok*2oJspIE$SrvsuVdI$9QFM^>PqV$#uf>AcB9EG~JbJWM@-qV} z9vV0TswC}75OH4dk-vt^gVihhcNX(p$#-fN_43BW{6?p0HE=X<_r^G@cS%{!WRH128K z)48W}PUfA>JDPVi?rGf9`KR+w=AX?;%|DuY#-9VO3Xx0|NYPevQ&vlkS6unIp!DYY z!iqf8xu+*1>SnBXYg$uiY1+ZBABPfFQnBn8EGg_ZaJSsbD58oe@=oNQcoiW0H!6qe z3zV!o%(tEhK&LfZ?q{m%X~+#>QohccbSio_+BSUt9D*!W1!c|*F78r`m|hC$7=Hw+ zmTMVOk6@`i(x1scl6NHTN!*jUC-P7CRG#XW-BO=rPVZomME zGLb>a^Pp7{oS0R8MZFmVy+aj@&%c7Cr5=tTJN_TS?PF>ADktks&!XtpegIt< ze+&0r9qzeweNtt^j#Yd z;o?-#_91Bbd|Jg%DE<`Y)jV=4+yX8npEazoei!b#HNWA)p=OlqRPE9x50Yrmd|%vm zf+gl=1pZ0>>Uhf2sb#6Ds7RcW8dc7d{;gMOMyw%gHS)M^sM{AtIYkMaytS<#(9~-c> zSQT}jRmuQkljwykXAcEYCI{lR(Q`%mu&owf8*CMUSL4JFmNGz-Z%j0e1Jy?z=>ZO`s%O+Dp zfN%?FZh%;WM|u&6`;(?P2v3mMAsFxKvH06|^<6TWKjJEBotBD7hG7+r;S!7Y&WWth zb=a)FHg5HCTSs*X0m(|)4i@C4j!ov-KBhp>GFuqKZRX|ivv;d21!30PT!bp?wo&NQ zZ<-Xe%_MI*TjP%5Su9S!m?&tTeWQ>@uBU4K24xS9TZLJQ&GQX!NQfEPkNTlSM8R$6 zW`9UQ(eY!D=fEnmz7J((={(F7(Nlxla@kTkQafLyFf>y% z_^bJ@r*mm)ow$20xh8~i_{Hudu#;`8r@ilyK9ZvOyp zgT19Gj_ON;NI_74znFxH3N$Bnh2f9 zSpJW^5|7|2(w|d;Lqj3S*|Xr@>FTq({Hvqhc(XOzfc}rWNahv_nFl8yQurlgtTuBU zaG7664DI%Yem@4Ya9NdS4zVO}Vd5;0M|8<=3~K)XqxN<4kK^@QDc?xrllPnB@M_Oi zD>ZhGy@yG%QSB|Q91i{u(fDfd`^+Ax^s~h?HDiHHsi%r&==Ou~YaDm#yE^{>?ygw6 zIxo@qso|56Bh~FGWTkP=BbR~rHLFT2c?#|8+@|qg{5hUKqxStBFt%V~`YbO#tH}CN z2YWBvchBI}oC*(SC56`O-KOzh{5_sNt1r-@?JYb-k*BJWoSc188f(D{$_jb8uwUTS z#uAKGE#$K5%A3W1aA%L{3rg9olgI8Ay;dk^rar^551+xJ({v?hJVMK>(Nq5bGXCN` zeO`Z|e6EH@fxO+|iylX+@_v?xUnvG3gL^l39=}5e^DpjSKhi!;RN~RP?8mAw%M^py zcqmH@ZywV@_%(Hh$ke{%Wxu);4Sjcb7BSwkrtx3gM~|8PpB0&$uF-5m9WSMpO!GP^akT8% z8+{ON2`MCSKGOfW#D0p{O|@X$eqmdvdHa=6a&{s53MzQalDsveiB#+*w6yM* z_>Mt7{+f_m_)6%?+ge->~zRh^3`brPtZi&!R;Bd?zGi}n6u%6(JLz;0} zz*{tI{BN-XF7)VPAd9)*vToW~nsT@F{S?aDXTF{0#)L90YJYG}IgyuE z%cXGp>?8CGVq>1;U=+eo9>lIUIR(l$;keEe(=g_mbUi9 zgT=>OG;tTmP^qe#O)l(}R3iz(_WuA9Cf@AaSl)aGG~SfnGjIF66-6}8GBDx3 zyb!su$!N1jY4S!*0(LEOH=75{cU$1#dPfYn4s0y%q zYN%>1qCaTMDk_a6vTKFG2hPoXiSI%54Qg!+XBKYY6YHI~n|PDD)v}51*^7^NRV-3$ zrNcaAU*xEIL}H|q1O39PX! zw~tK9O8tLMsqn+${(D{dgJk*0k)0D9_!}nB`RMEiK+3anse?VWQ z>%Z}T+tkfPGhWA9${v!05tGKP{OmQC?@PhY*LEnzUr8qiztu zq;|11s%iexkSK9pCXhK4=B!>SdN+o+-HIx>!J=?s zj>7Io^e(kfw=ZZb6_k(nTDR`Bw*=(pI^|rWww^u(xBUMAXI~V*@gx48eX{DpdZeJ8 zuW8GOQB}g(V>utrZo|}11)aE~%@zb!E9d52j__3uk@#A5RbJ^;4faZR7N$FbvMn|$ zS~(g)-A$e*y}eG2k7O;x{yoZ_<7ZPAe)4o|CY*^QKFVV%E#!{4_mk&->vM8F9L9#q zOq^T6KBb#Uw;~#jXwGmqb}^vpsD-$4aN%_=L$N&>9fi4+$eaw0EO_QJQCYLb_Tu6c zlh{1o+5m|;0IF%_Y{oo?1qAH$QZ=Ue-z5|fJ|@2$kJj2JIE**Ha_K5w+Y8y=sp@of zo$jB|VZgP*;P75YF4i&V+_rQionCH@{L7R?lE3(WKic$rW*Wr%{JllTRf@7Sb6|P& zZq+sI4r#bQoM4I0w*?@71t}R7D1IPwRgxUuRyNr(_a!zxJk|#tz?tra1GS7QIem*J zpR;nQgV|V`TH&7scyr*k4Z`gZYj8o@Jb5ap$#Y&Ee9g+Etlf}orB!q;#KKEEl_gNY zQp_&*l+YcmGw}rHlQl*B4y7`x7h--8G#r(jMelB-D>2KE;G~Z>g7&A;y~URQxwjSn0ID#?$(y|81B|wIVrZ6djTAiXD!)+IrVL7M(x@b3r5b;b{+mI z33V1HiZD6a7K3a``Y2^-X_E{1T~<>yVqm7ZiMwb`p6+PR7am3_DH9aJT8OA$tRP{pfym)c^`Z!oz^I(K{ zn+m9{t6+Q0iP3Kq!q896I5Qhab9%E1?h6GBBlHK8*EV*I$%cQ-75wY0C2{L?Piuj( z3AOaib@#?j{NN$xW`kHQ$Ibz52J&=g6iy*qDMh=`aJV-`y&pBWqW81`a+wB2mjRZ^ z3b^CDvjW(7fTm%%kgdFB@0WjoDmFo|bRLr0rc*P@Dl+8M`l&ALnluZSP~w9biy+%+ z#Hu>S8(R}it;IN9TW}kaZR6md3tnEp?l$D9m_dozoj~f9&A?u8^6HLApDdWH-T`5b zDdUmGHXRBTHf(LPbw>FoRIt9`sq~QsRI?$IUNclMou)TP?LbbRS4eenRYKAOgO+Nh zlv<&!4!#oXW&b2|)M$m)97{X&)# zc-*QgVcFOYedyE4h0WDXhzM!T(?dwsM>v<1`QzGR0Yb(#n-=YRlPOu{6-Ms%TBNFe zCuzWP>&2t9O)6*K2~p+_M8*hHAErqdq$Sm!ACm|(BPYe z_;@KGVU4b1q%F23v1@jRKH=2)U1l_rq=nnfAgJBj8#i-qifKWP;|2I}>Y4aov%6Fb zdz#Ng?{(S~WNCyjTNY(xLct_%aNWcaAkQ0%vfZ+KVU|jan}9!6_X_S@I;@LI z5)G67NXXrj&hvjjc@IfG!_m#W-yczu;8m51vf8uBo^u_a%`Q5-(Bhh#$qrs@P&X6Y z0*#ks8m^J)xo-EC#l)zoV-dzJZ#l2vgSaZ7ZrPqky0AYyxvicCQ(wIEDYUKfnxlCR zjZ##}iRZv_>W>g_5`(-G8+Mk<0G}#iNIdUj*1rzvvG{idY7azm#|9J*O~JYU$&ZyhrD>^i3cexm4D; z-PUgQx`)5_?|+r=a^4nU{SKM#`S?Kl34 zlBu?Zz!B^mh(erfPfYL8j_}f-Wl!v z76)wVn}qwxk~b3^2>ax5G`a2oDB-&)^E}r|^yJxMBbm`r(An~OS$p(U&<*(-)k7AC z689oij?jL}zyAQRs|LT(N$oHycXpUUqnk-b%{AH)*GXK{c80&0RoxRVHeTEu6DPwB zNy7gCd0)=G&mxRqDAI{>ZZQkG!b|yfindG?Kr`EVlIJ95YGA0Hv0MY7d zYAQtp4RazU(#fVS=BdjWOG?oj8pEKMDB8`wZaO!)QsQ>PTbuS%+mUGnJCZz4Qzb5ZorVj!O;xzkSr@X=m(?-1$Ss_h z<0X#f+>^RWFDI+b{=}#@QXV(hZE=xLi~|u4b@zk#g(pXt+vK=dLS;oO=8`Nv;s>~? zX^8^Gr%+ZVje&a)5y24bR=FweCkVMwM-)zNK0arNQd1UM#1WP)LXf<^`IDO3I?ZXt z+?j$(X?F>A)lq&HeV>YED5Gn!7B}azVflZV#DYR#x|lbS`++m&_<<7(oXA0J?OqeAM4I za!;q+Al~_`uCCHMy7NR>;arOHNyA)s9jXKZKR=J8sN{j#`zMi7Q_A?H7JChkSSsFW zY3nh_*EfO{l(EUi+5T(-g_^u7c5zY02xh8!qHg@TCpf0o&9#_%HgM*e)`qlL4?I9D zGkMS|wz=+}a{O8Nbweoy%okL>4^N2p&tZd7RYyop>8EwvbQ~Hv1aO5sG?2*lZkB|` zmlm)Bbt+6@yEAKR)fF5Ko=n_yq|p3Au@YlC*LCOG|~bWu{q1Dkm8ZreMlD~pRG7)GjC4V=_2Ep@7v83UN>6^(~< zwoYwMdApr*oc9KfDq2^$&SPD1pw&d?NMyl>gMFm@#y4BXsKZMWqi8OEWygXNxHD&Q zdlgedR%3zZ!8Mp$Q)W1z;0QM#bZbS)vZSU2FynHptvEq8EZeVYR@i(yY20P#2~Nd z+$--aYD8Kp}~aeiNBS+3FU4Azt6n1Ef?Q5&prc}MmFR|dNdOjOE(noz08tcPJzIl`=n(B$p zDW0UNJ4s2;MPEYO#QTqR%9?vNPe%Uz5OBCR`-LPOxkrLya)qB&TUc{(x9oJ zO!_MNtmO18uuOKpwt1TW7R5DtYeccO1G;qNK#!L%bk;6&=p`S@@k=)bdP+eAGChy5q0bzjUJ7SiEx>M+XJ4h1%@mN`ce zpO5AcKsTJYMy8WjqIjnq$_>#HQ{Ggw;U`5)OwpCfjhZwjyt%Gz#n8SwcVRr0WebC6 z8FNt12J&mVyn?bsT^0B7P1m;vSw6-nW zKHoJoWQR4oo4Y_RqJ9YRImg2z;-Q;tVUXRwPX%n8G*|EM8mzC{AG-ODr&wH@bu`WC zS&Pu7CT{{U=c;njjE9o)8)xA+_TpF3?wGk=9+fF82#I_y`GR0g>EC*)8d5&8U8a6TDZ ziH;U3UWur{Zel%${{Xk10mF1QcR|A=nz-*)H(9!!$6Y@zf}CdT)8BB+f_wW;T$7%I zdYt7X=OCe{v3_L+iw?Wy)FW%0ZZM0gO1N6{V#kb%BYu`&lBuL{WZ;Di?Hj=d1r+VW zBLjybsj6yYk>R)-!paVZghdbrayMD-j%78VpW^)?sKqB%Q1@5Jbw-c7pw#9D*8qhHl zZY4tLod|dYa9>3Y#VhdblW9a0`!@UeQSQ^FynOI`R^PA6|ab>fXc)iyZ zW9M0UOg>K`-)5d4pdhcObTc;K{>r1Gstj@qu=XF%&A`+eFKo(@KB| zvEb$kZ1A#1`$GQ!lj8Ftfwyr_ecK*EIp*$iDoHeHRym-+iOD`wkVhv-n-H^GWKl=0 zkU-|(#_MRRBY-qzh37967#v@Ak;SWR7{<{n4<0Bs@1>XgypfL0mf)zT0?rAY9Ucg5 z`iJSsz2!?Zj*>^0J;v@Qiux@Y8eGtGk(?8DQM#{wlZ4=JH^o!cPAMjlju1Q1Nv1y) z(s7w1*)jV~GRZ!L&W<;Rqdx z+qL$ygRQ}IwM{&d#TMEqyIJpilocZJyFYZGz~?>5ua*{#joxTv}^4Xo$V9S8dbTFRpKI^&BKHAw&#K%klRivQ``{~{)x_k z&_3X|F@MOwQNRv)p;0apjjpxo160U&W6Y^$B)Q7!S)FDJsG%6D9r8`K7@LKt1nCsB zkVvpl(}7{1m^#}5Y;4|<#=t3QEB2DeBx|?@MO6o)lFqq0qfW=Pi#zsPJ2w@%6vq*a zSnzmGdvB=bs;L;@*C)v%-r`9-QF*g-D81$=90ZolujAl=$0T-!SjH#7^OMw71Vcsg)Z6)^1d8W#;ph}Bw5 zngkrXgfw^T~G_qL`dM~g>WB-aecaQA|#rnbrZMth|}SnS<^@oH?7LjXBE*ahT~xUqyi*<#n| zqJk3ok(;|MT(m=hOfD?ME(VJs+*ZCTPN`wa_?zyPOI6r*&HRpvs*iQ!6Fc-?S5PoA z+5H!iL4px;?KwS_FMqXrsAU)`8*csz9hhTwE^m6FrpM_R+nmEutgnW{a5!7?Qmrn0 zT8u&bmN~&bD&TeH=3=I7pYYxLEKR>wer=Y*Zzp-&ex5&|VXBGoOu*(iSc0eMw;3Y4 z>Hh$B`L|rxB=)~|D=M8tk5zP!1e>UOL7-^=0LU7_a+)T&!apj>6RxZNpB{m$a@)d#+J(l4k${jypO`$^cjoJ+QR3 znYmLKT`ci|gEI1)S$U}0jhs}FI_)K-Cr-wP#M5uxbaimEKfBAz*($T6-DkIV>e8iV zJ)4Lg>J4h08P>zfju)*}jUViKYHkyM54|JDm4+Z}m^U<8vI7MJuLj z9VD;K{l!m1Br-XTxfcODrd<`x+<wG?f_#s0WuJw) zGmCrGbz_V($k7;W$-`_uDmph4+d5rF?#4%nL~64Iq=Vh6zSf?;lusS(2-P%9^GpjF zebN5_Re``x*GA)^wU)$(oN;h(AO7cCJF1wDY zuhlt+6IqJp#@eHD746;?+vZCc!tM5QDwGRFxLvK+lR)QQ`6tUPuXd$qwvMpXH189T zLA5Q!-pg)3Ch~~!G;cRV_^}5ID;urB=ZT?wXNy+pVb!L}#QEi}1RD@gucBkGzTBPq z1+Qsqg~8M((_^WkZYce@`FMG^9mr~$=>^x5mbH;wE7*XfrkSOuiWRi1e;z-6JOXvG za#Bk!1{|)c@ZLeXf@^e6a`HH`8I>&VyPefxa#i2DE}Zd-NBoxt}7BJBI;NhUh?L= z?zO+wMdcW%A1i=v_b`Msq9_>azqaG5#LR5I8{0(L9`=GR)1M^>-j(H!!~kegM-gO^ z;c<3FzSWc!bk{5yg)0rVZnf=j6k(6T?@8?rEl|=jQrfG?dm+E>w$?H@;v7_9-!o-V zQ61!C+{D9?Hi?k7vZK zq^uP$bKz#bDf2ako$YBE;CR#~%=rca$-vJ40PJ}x*>@@)4)Mu>M%##=h&j92Y1NAT zO`7fMMyFvD^lZYS9dKXzDXS_nf=YU3cD9<`MJU+ClugUU zOH50l!*VU&s%CBp2sZA|smkX>T0U!e!50u3Gb*Ac;&U?UJw?s2aYQ}Cy*L!+I~Nrs zo{6#FJCd-~0C=+BlhM_jQb(GkXxwfT>U_8%)ojprSO`a2`)K_APm$ID?>e$YQuf?Rz~{l{8(cnm%fQzl-}S z4}AR<1HTw5X*)AF>Vfs74xu0*syL=H;khZ1gy(ho2;KZhrpM#SI#a!nL8B!33X(&Z zO=koL1>NVhmx>dg61IfzZ#yLDSn7A%xx-Z5xOU3p-*dm&GDEXrYdmQ8 z!0U+3f}WSsL;-KK(xa?yDts)Tlg4UzUPP?1C**@g&A`31zG_(>BrGN{b686zbmk!5 zBSJh8eN&~TyEu5F{6?xQ1RGjBnL7MO30PKCgv}iaK4vEl7_Y^8XDY8-MZ-t z8j-M&v!A+EWogVvct=Y!faO4d8-M`C(7#pn*&1|^C&i3_kL0iL?^c8sm;`NSsrMfE4@BQ zgrUD?e`SbWThFmVx`H=fdAqLt2Tjtg#yuST9zWexbbQ7dnDD!w1K_hq(Lb99np{9$ zO;W*qeME4#6W$s-)NHtcx9=*psM{Nla9uA`n_zJ9$#k=|bYuL>r9b0Dx?!4Nclno0 z)9X(E0G4XHl<#dB`zf2-v%FO#y}i{OqU?A+9;)GQ6@}{AH52AS+FKWAb#QQ^p5-i@ z5N(MF4hqNwJjmh~dxJ-M=;8h$t7+(|^g6jgLe?-uC78DEF5sn}Hw~K`ovsCwqH~&a z0OWb6Ln927?krm;iK*P(GHaDpSbo{|i`qZ*RI>vNZnImU(&_Ml5O(p-{FCZ~tr>ST z=*h5CO6x}%b-5zfxHu4RqS_mrnwm0b$uwr0dnQX0p3)4L$Z}AJVwRHfH!PQx86AY= zC)nnjQy#)^Li>!4 zhq+hDUfP&QX|QdYcWj$aHTIiXExmpS($UQ>%oC9C%~Dks=Y`{ePrr9Hh~=WdEVA!d zjwK}W3R+=`S7nkt8%$z!PZ9%)M-i`rboM7sX_S#~H*|3d8n?(8*D_}}CwD5rE)v|& zwZTVB%VaLoclWEZrlP~q3@kuzINiroPK|fba|9y{q29sC!?|oKWR1FNK586T3_`^k znaB;aLEFVsNPg3DF<=!-bAi`r_74?E>T)U}dnP8pTly`F?R(r^MsqDdIM`-YtgKIm z9y^(VZK7nK`$T&BH_VHr4C7^IRXYQt|+58QYv z&WR>Q-dcZqi19+BqhWt6mJ*L%@LMS(cOs#DY`d&%uja!*+iNEVs?L#{i;2(#_u2Jt zx9|l?N-Y#E9sGRTE{tHb&W+vHy68#1%AB>_#z-{!Ile_zQyoa~Ps3-lJN8fx+)e|z zbaVdz65b(E%h;WV=7G@p!N%&vXV%sWlVGsjkY;(RikDtT5>&4CQ=O_~cpx|?w}J!A zXw-nI+pMhms(M&Un&9_v3E4|MAf~YpxwTvDYOqhm{Ss~@2P~u~1oa|&-jvP}2 zZV<8WBzsu}P(vE`InTPNpe&9@hk`S2B2R>q z?Bg5`t|`@!UUe>viV8cER!1>2hP3XE8Bvx^FbxV6zn)-VkMd$w`6j!GdI z+PLCIjoV1x?&oqS&drr%7{K<%p<3^zc$fNxEkurEM)w}%{{SP|z~+av?;d^yNkkFteJHjkJvq#aB@8uy3#x zT?~(cZTtqr9aJ?e^kf6>q7GqV;F`m-Vcs?u;F(Li(h)g@=M+^@J0|xkip&wY!TUS! z>2b`V6p~ZP5Rt9o#OkS>$gwgeaN~94&1)GJIUL;FcnXMHM4Wrp%-D;RIUtFYG@{Vc(>XwEM1AG*WD;V<8%sjf{b$@H#G=hwzKPl-+c-8O}MG^<5zrvLBk0+l{C8 zRByI6I4+Kt@vY*ir0mSY^Fd;7QQ)Q-G9pT@sXOk%-byBRjnrdCrj7`5Ky|?%YF33s z7ZTAm+tN9?={3U7$MM9J9nZ zCb(psBdpevc`A2P<9xd}H??$RIrexWM&ZI!T=2?)fQ~#0k`sE0WB+~r|rg;XshOu}`|2D@ic&76lUR>-MfrhZP76K%VoKzc`y0Gv(AsgncC zS{r-jbyU#83+aQ~ei>OboPh%QT|S;_nx+kxX9x7T_%Opb(mq5nxP|*mdsCj&Z+_7|QqG>4S4S4Ob-O6gZ zoKEbGPY(c%e0O}d49GMm#UW^Xmi{GGTyLaF+H8;{)CQ}BKMX3t2B-FS~pO~nvJ6t z3#dQkoAtV+w&gX75+1^94vEYm%yN#P08O5r-$>m;6UU2>6v!cbk2y45Ptvu;+Lt>a z+@qj?Fb(f$`K*nF&vk&*r_G8gbA~>AT&lWA<9_5^)g1#siZOq9>*rI~L}Qtk{{UrG z(Gubt(O)Nj)dB=_9|tD9Tv&prr~68H-SS-%E|B2ko=Wj3N!O7q=?EW z$BA7i{byr50;!YjD_`6)H zJ*LES>dxq4mN{g1q;0WsO^O|qk#1Wj$DRI*dv9Bt8hsR8`^tuWj#Hj zv~QK{v2frNOf4HWxy|;9#BY4pKd4bKT2?z;q-LQ-(og_obaCVzFA|y2wQqn+C+eIxijttw#=%a89cH#Y#WSZFhl5#}W z`6G$M$KgHUFw#BFw&?^ZsdHh=-8wFhnmw$?VEcTE=&GrNY<#5Kj#p913%2AD9$>WZ zHF-;$hY({$h4`$~=8>_pQmP{u+ClzYij~x(qo8ia8D%DUc;PyQK{a#~ZS+*s%)yKe zN#diVk~w0Z8<^}uM(7uoP9};ylZf<=Zdm+O5JhJI8WlBD++(|C4c)$9HD5yfPLSq) zr5fnAk^>yJ!c=g|_qpY))!F1xWy>OSBH?u_BYbUkPCOM%{)&2X_It!y%lo#*nfQxN zdFG2;Lxqoe4Hw{@EBPjmMF72y_jyudFMF~BM95fNQ|caUc%tZ7-JZ$f*D9_?V04*r zLN-`xc%Xu}-bYYP=9)OBb4}_g>D<$~qwBLqlBu$Rxi|G$D;1xe8D9v^l4Ont{f8Yq~BYk}%nl zX3yxOoq^17Bh3d;sb%dz!}47m{{X;fT^@bm^IaVtt#iCe=;r?bhH9f`l=1x&28|xE zukv^C2Q^~zheDdoZg2{btRw>M z2NIzY?QooSw!K!&8!7()v*(sq7KSvvk@#~*`&7tAAje}j9FzJ>rJCqjvXgQ!TB|x8 z&5Eh9O82tudr$R5yKn;IuON(WU}N)dC0Q&Fec3Bn+hOflQdVz7@Xz5YvW3F~&vL9~ zOU$sw^C!2aiS;f9O$Lk_DQRQc23@4#b=%oeRy+>b10Zw@$!g=o%vQciI{2_t&4BTY z@lrzUGBC8GE5iW)0NF(mh||E=vx~vr1$tJn6N$V*RyNI3)$dBdVWHwyFj*4@7LSsG zl$v?rEpG?gRpk=kr!EkSeN!Nd?A-Y*E`Qlu6peUz)Wq>;4+Q$kM#)MnPd!yrkEFN* zgN~`OLL&eN{5D*&)~PO{g4rxcu;ikCPTfCq2qumxoYZ5AVhE=v^G@c9JxA0Y zvCRb3)Hr#!vTbz};r6X|_=H9#xNieuv-8~BTYa6cHqQh{uZ;u(!rdC$Q<{Pv!$VWjRetuwRBb{{|x_U8V#fqYaOeZdFDhk%_n>&}?0)j5n!iqejA2PP|u}E{ed26sA zs+?FkmH{~GocDpEbE0UDH#?b4==t0l-S*@`Q^Ai6Y$3-xqb13(;=DAvqVq7;81717jZVD8qJ zJk?9+NH1msX5#1EscCvLti~}&<{Velm00&0hdrB&#eV)uO8JD+lWS$*n-DR^og&_CUZR?B&5!(10cMvEJXr6f`xAb}O;NFm-Ly47*q1bVGT()lAa0(2NXjO}Ma7 zvY0w&iaO9K|X1O;mYudz5Rg+&}^&9A-!r*K(^EIP|-}s09my|!sCT`<&9M!#TKS%=M zxi7pGe?&?)fR0WYAmAH6)kQmTM(}-WMx|26tgTec_mh2=1vdf$teDtiE2L@5X zc`w`(4L-`*TERXOXSXkSD~!d$Xg6w(Alq2qRYyri*SW#14beWPwyJC4#~~nhBk!jV z#UE8azjX1FnxS`ckak`O_JTO~YElE)Uf8(W%&X#-_oVLF}(jU)mbq#L3~ zv~s$LN+*N{*bNQyOsLw+IlEh#P_kb~(fN?4p+waOUMv3xILP-u+jX313Yh#OUyr zJZa#hicAcWMz!B-acdssPfau0A96G*Dponu95_?!XY!Ig6HS`m_f%Ci3^%|%tMN{0 z4Tp7&$OP{tdmPb>{S)O4g{N>7&@pfc(>o<$cW5;L4?*z0D`<8Q_Ch7$fu}Ws?QU-3 zQ(1jG)|TS1>OQI`c%XB*M0fR6Q`lb{c@&8n7>c6y|?|$7!yQqaV6oJilTtbGvAm$zJ zBdBzBA#nRgWWc5AD!lZ)-cuosv9MX7dibYdWQ-1J;8tbyZ@2Ij(mfd^rEA!EqmYzh zRCO9i0pw6RA2EWvpl4yXRS)c&cq;0XmNL3VZAF5a*4j_}q=SWST__GK3d?O|jyS+3QmFo5kc-Qz^Z_FM{*6NT-uwfe)G zXB#(~6tQgMne&_T$zslTf0QFB!rYplF7}P)wh<0)SXdlDwj?TBiQ4fhSf7eJkP4ul zCqFo92L_Cal6%J{b{nN}RWLk8;2y)45~->!mIrbwYG+=&d z0Q&;rskIm)iI`$$iSsxyg6=D%DR<#>avhuMqnma@>Ulxehs{)+Ho1tmJ7~9ZPL_D^ zJn5T#4jP2oX2~4Y8&jo#-bSVZ+F8kui!^dGL|s=a+Y^4qB6Ins#?a6# z0>UvJcm;h^q;|?QBeQjXw0R(R8`%o^+T7Rpcn(}jvw*@)*2^p1?iu$c$9rmZ>aua; z)_I^-6{WIImODJ$gX*4iX;UA=Ds$|qd9`zTkBf?ca4G@#VMa7yLzk@HzdyL)jCb{# zx_!Ju(#89PCT4x0u%4|GIA5<}S5GIqAXu6YG5QA_C%ZL(;C@Myw-ZWvW5yDu@~K-T z?$=t#vH9s`iI?>=QOX|25TLG)TR(_X*7TE@;6@$RH3}M5i*LI(eab1DhDHYt^+h&t zlM(LGbge1$ev!Yzx+BM{OQ3uxJ)1Ip0Jn>X|cub&c() z`KmeTB&qVDvya&cjgNFr;r9lLqmAdv_$zlMG zN%Y&3Z!`KRYMY8DW~ymj%qXSHM{+2(mZ|YH8MDLm$S#`|H}Z;)D8=@F{{V$}=_GqV zl#4igl=Q~UH*dOhRCV2hv6tQ8R?hB}dO&i|f}_WeXNp!HRw>dw?>e~MIfNFtf~BsF z@;*{X?1WjH+hgvPa<916u^D}%zhoHQlXc=zc?qz$$)Gv$D^scw3%l(trzF;0*4{l< zR$Nul9d=lp5o2zCiN}FcA7H7^u%zY}ITU-5CRZSVsh+p=0 zMuUOSU)^%0rjeowjiXQOu%A;TFAig@LXV`nL6b~ICbv(!G5w~4;;3D%G+*gm9Dl;c z^j#Kz!!dMl(v_;5c4^o?O56ZV2o4^r6~b`qbCGU{X(Mhqru!!CO*gPliQ9$ERWF&b zyyeWP@Vvw^v>jTvttHemZoCBMdAC_A=p+@2LYkIldG#_6p@h3M1W3#O+%CKds{vTOA{T$yE z9$k4aZr2q*M!q(eZDMwp)kRiaB|Mwww8tk#>@NkUy<&55otqD|MoO8DX3_Sxk~bvz zw_M=tIyqZ)x}zR=E_f}F&o{X^pZ83oX2KJ9omQ@K%?frI90t+aH@XPct(169=+B{{VQ(&#Nz6cMmm^G0b=ct`;Fl(DgXkojcGYXwJ#=kM><9 z{{Z2S&{la@)pT`9xr+n2w z8gX(6#%$}RKPLb}7rSL6yHKh|pgX}3;f|g5<7+5ii~FnD$<4`Bun`+A{6|#hcHReq zr-QSZMf#kPkl|*W`p7*~&`Q}NcgaiBI|hi_*J-7-QbS1$a(06P#K}i;y%QVDC6Vt6 zSR1A&(2>9~wpA3a$eVI1inW+$I3(bUZ0ODW6WhBe`Ko%VIjMG*#t69YRohLTIJSQO z0RD-e-QjDo81+B0EjI*$5RtelquMv#;t_Oqjm@49aQ1?X9h^>n8)nyVL75F!76}e+ zIs{l8_jZbN+%n9jbbMPj8_H9jT=zS8@lA$3wA=U`*G;e0Z-?Qm0cJjIU~so$fP1D1zRFulQ`X5(eCq=B56KS5}G z?Uce%qw;r(vGq@h;q5jdGQKe!htiMV^5At&k3n(CQ%=KxmPzic?B>{_I9)myJ?w4d zZv{nDLJasrt(&we2&!a_kHprx!OJU$W>d$si1q@P2(_%G9@=}gB^SQ~b8+CSe4X=8 z=$bTX)x{fKcXe5OkyhfQm!o5I+)2{qcE6Qi4q$L2P`3h>IpvNr?$OCdB$y9o1GGal+@bm{LXCjm_~LWj3aco}!k0=eK#U;EfdwP@Kr(gIOWu z)ahMPPcXLvsPgKqh&{Z>3NqX!n55>qN`f(#(h@hBt(7%X@zG7No7_2Fe|T`|0Q^?S z@J|t$TJ{$63V7NW^NpiUY6{k3i(Vm3O6-nG7B$e$-N!D2bC~lX!rd9cHe$xHyRGc3 zThHc=!=0cRBT(%(f2xb4ATB>>RMii3jyFB&^={cmlYOGL%^OF#zz!u12Az0~kg_AJ z^*U#UwL=6gjz6E|S$)HFdYT&NV`H5I{{VweqJG!X)!shgn&|pF5gs=VF3RSteKJzL}lK$6$M3m{DwD%I@Sc-sc0RFL7lX|sye63B(pX= z@(QAvjb&7AsDpw30HTg&RN9sr3%qg4b{bIzzFKUL`O@7)K4{(9qV6 z(be9GHbJ2j7FS03g=Fa*0M#-W?d@?X%}0)CJ5R`SS$f?607v9Hv$vetV{;rbAvy^k z6S!&N>kSO}9(@~-b3q3q_t1b%=9rt*Q@NsjMb~#$S*JHPkeL0~Zo8V26PML6LM^b4_lpP}ELgW3wDn+BCXn9FZD1JZqX^)GAl@n$z-K9DfEsqNR%_ zHLdVW19T=v$391Z0-nF5B9PO$?LTJ1GVxmo8Xd0`*rJiw$*o1ilc_gS(#Rx?*~oN_ z10sA3+6!3QMOjfy>DitiXNtyK1IcR`a|$UPj*ae(?Dw=PDu)=lLOYR`(VB%l8y@;{ z+2D6-+Nv2N^lfmHOe(5{&Ar>)spkz2HgHUQy6$MUjB6RkQlaShHj-;?(5fY>6Nem* z>YA=h7rdGi$xTtY1bCd$a*Z>e8`*{T-tk7)>LpnoJ!CAAdGAe%JWkE$_D^SLs1!or ze<8Q6INa3GCSSlg45aSqtP_uGzvbe~Ji0FB@O08pJrO$#P=C$J{4 zSZcAm$=Z9~yOFmrxqTIHN4V^s>v0SFSEO;&OM$L^-ECCe7Z`I%*|_dH>O4C((`{Vx zk4L$(Q_AKSYZ|7nHkH0lQO`hCT^?0&ZKL4uysv32SX$A;iY+#HDfAKC#3X1oRaIDJ zm|JT9}RNiT~x8Lv7LL=0dD}Il}(mT4bgU^D_$5eQrdcZ=~TNzKf z?G=xxw_E9^WQ;kqrdQIkR_n*rx0+z$n3#toQ&-( z^8>XB+F^5>;iB3$?9Dlc{fdhlUxz#9x;knWb^*hxhMrePE`auerl}r^W}c{@s8L?+ zb&A^(T>ITK-pNwO!9fVKY!@Wh0c2+KAK5wNxSNu%Y%bpSN*C;5Je2d(V{^kFYvArx zG{0y!PL9+m=8J0cgWceKRcw*6C(VtGcP!UL$wz2r460$h$xmf#-25ftPm+qV84XSw z4GpYSa|7Q7Cqxd8&gz<>_@Qy9pWXIJRam2fp^c2+?KmxqBW5gEo-K-c*z32!}3lU zI4qHC@);%-9xa&HnmC2^zvPby^6Na4-PLc>HhEblzdaqzNg3W5b6x23N1E^I+l(L* zh&UW9N38NXjhoKn(B_9U&S{*}5D4&2Pv)J?6i+`^N|5Nnr}q@y$=qHOc)X}bH3;?; zW7!CL!V_KQ4!esR*-ae&jBcJtJX%qoG+Uzr8tS~jRG>%J{g~9mijpc zSME{tbx@hZ84f+AM;tN9PWu@jyv`pbQX`8KESjk57k)XvDD0nf#3dRMc zc&(-AqnbsN2# zcrSJ3KmH-wvFyoaZBXxb{6{wg_NBo z(WFyY$j1k>zT6Yy^mR}cNZxy;Rdk(HW;mU*W3d4?5ugKTrB?pUR{^v)n&~vgw)>r;hN7q6K1Uqb8Y}Gw>u_Oz59a9$YiPAO*_K?a~q23 z{Uu^|V`<(gf{Bcx!p0rKc-c|0;gYnv`dKoT8^?0sb8z5gjhwiJ zdxteJ)G}wb@mymK)j=$#T1jsYAae_(dMVdo#~%<^MRcwaGZ-Y~@S|&YLqP6cQ0F-1 z!K$tbZRRoYhqww+`?-&ck99%q7v?zrGKsXYiABGb~jUSd4=$h{1<^$%N2Dn@WtC^culgil!L~&R^ zd{DOJ@0RgZT{?CxX37ii^C(lrauu#4y`l3H>Wu6%J#^!39 zStB0GcCt=3(5xWmrfzb+>oN(F_a0$Y(u`PfGn-Q$7b3a!^HxWSWvn&oZml*c?8uI1CMN<)D)9Ga~NvE=Ts~)@g`wGpOJFon- zgb!Pr-Vr`TW&KKhJK;Pac?kwVHSXym=OvK}bm2-4%j zhY=R=Mj~EtygRjZOCt;5eUBCuBnP#-#2pn2{>D3>XmC)<36FKx`6~X4-WDu8HEQU} zm|cd5$2sCVDz|1JfsT_c0)eno7E&@vae914&uLYV)yqv3ptlIl+u8T5I%~wB;jxTv z4No<7#aTc>dv_n*#XcOL{{W&6^FRvuvm%_$$w$oxTFJ6xQ{%P8$215*!!+T0E#;q8 zn{)d6JNlE?9b9-_uL7S>A&OC-1I=61?5ZMo;N`W3H}h!xy2u{Cd0$SjdiZr6TDglA zEIMeaaE7*W4<{$g>~lQ0sb_x98{#~9AlP=1%_cB2xw?Ccg~4F%QO4Vj0_8fQ(z}mj zatZBo2jYGq zV`~sOEbr|UbB%|@_2CFc(&CJ+xj>5*Y~#zh7Mv#|$gD#pcXuL1@hKv8oS5z@uNH7m zgx$TA*LbTeJMAlI&=tvEkSi=l5!3bk+3RAfj|+x;3X+yhoTI_Wk5QV((a;|6%j~)J zmgt)8az0=^VKv%>=Hvz;$p?0FBT!VaZk*fusF-B4yKJ|3TP}%fqnUeM9G}yk#q%ZFatYh^G5eu zX)N6W!Z0)Ddc#5u7bwc^?h4Av>9P&roe{V<9F`Xi+>=}~LQO&--an#va1KC#P}P}t zD~u;p*0&S2Sgy5Mt)u&uzhB~E9=a-)7CpC9P`fdTJ`O{IzfrZyx0qScu!GC<64Vb{ zo8X%LJpTYn&lFiEHszX`hk*-tSlPixn3^`b_^hdEX~jTuT=xus;GHy2k;deeB?Ikj zQMq(wU8|Izzl&bX<09`JqnSEzU##0O{+(6_J$K zc6#sBLJmzMFrBLvyFmgjn&xP%qJa6YaONStSXTbz9E55AG^RPI@6R z%T(63$j5gx=&tNM)>u`-$OUVajNgaAJCC^Lx<0!%$7g%NR!8;~mv8X}(nRmoFb?3U zsmOGWGP}K7A*bf$x*+bd)YtVzNErDIfp7sfrk(8I_NaP45VhZXT=|jC$Ko7yQq%Cn z-eEIKrVc7fmxe^rd-wz?GW$z$#LMWc|?6&FkbHf)IWY6Y>Ga_R&U;zoDvchbI*K)#q+x2i+ zb%7(=d9E!_c35xMWts-af?dMeA_nGN%Vm|kLS_qsgtFobd1h7sj;G+Jf1t~BU)-GD zFCZZPmSe4yZNF9%Wu7j(r#Gyf77^!Qp8oJwO%7314KwDP+w$ksIU?M~VO|4%2#^3b zQQ_Brf_3fHnhj|sV|CBV;H&SK=uF^eiA9g8le`2T)}CXlX&+tH(@^4?-X49}$8tSH zBEp#Zmh?b9m zS44W7m1S_9Z2tg4VyUP+vREjg?-yII9F5h&w4=kl zp>0!h?pUI~g5E+fd8?bBfx$PD9FXPuD+F(MCY7{&ZRY!xOBP!|d=wE#92nze3o_Uh zM)$WAPYa``HWOI)rbsTw0z18K>`(8vS3a_s-9^d|w&=|Uhj<{!+suWC-{RvVr*kj7 zS?0d0T9k@8g|?COE>T{BC6M~r_8uAp{iNXX`|X4JO*;Xzc)aXdJB zymXTH3;hswoqW;Yh~O{H7h3CrH);L8F3BZJ@hIYMH@ADP?T_fJ=JirmG`473?~*LM zv=9FPAywTMQH9u}csdmiNHj6~vi|^IRf(i?2(iu_i3^&)m;+FZUylS{ZhkJXo0g0D zo3`ZTxEweY&#sfDA}x`&e+MewgsQLW$X0yRLO z)|0^*9dq#CKg#U#IfNX+;GGHP)!u>Xr|CLpLo<92BC5I;w`AjD({{U>Z%ESv_>Juk zQ)k65J=5kE=&h>9;qi|Qty`-k!<%Ob!FZT?pyBQ|e4>{#39;g#dR z<4&F)qsw|ac(~!X`6p9O$vGQ2V{1>JX)nxtY17nQc_&HKM{U;}O;?65qPu+Svi!eN zTi`8^sojF84#}}tTEO*I28yr_aJj_|ceI zdY>feN!h{s!DE5F%IzK=cK-m!D|tOg;Bb^N7V}q#dDx2v|T2BrP62HT_yhj5prvq3IPj7KvPhSD#>lJZ-J1;gk`%eK zkvh1Q+@4d)c}J)r=LFQyf(qWP@;$6>t~LwE=%Z(M!RvlUnDscLvhsS_2PfTasUUwg zk5I;ToC2nYjn;dI=%teT)=qaaq;h+@f*xQ&G$4W=sQQyUzEvQ|c2$MGAlUkwfVN#C z?)1lWTQR$`sj0HKS>zm;#0Y0WwMWD$!} zn&5&6A=hua$L{X$DA^U4-e#zF7^8FD+^3v}RXWY&6(s`$VvG-mv5j68IQ&4VTkWbb z?J73$A5}&;kE)~`TB!#Rskwy$iG@Y~0N70TO71JTqwbXNbf^2JNjM`lB~;n)^X=!c zG=1K>wE8GbxtxO0)la{0RCH|(jwXd~hY+*1AXJh2YLT42sy}D?DV?Blt#*r~9r%j0 z>noJ!Ss(RIceLbt(~ku7^yK7F2zMY*O-(@<_^tEi-C=LvXQ?)dH#@*8>Wdj|82!}+ zEu7}#cY1~)X0Q*2z-nx%qt-yFBH|GCKV?-epVd}LthVq{KeYEBnjUj`Ch|ki2ziIE zEA?C=k5&*q^;J{$P`%y(bd2`eS}>?#v6s>w^-WFyWMCjZ8o?iGK&c_(wG920T)Jec zW$j8;{_1+K)KMv;QkWZL(Cd#kPrFsk_Han=lIdCh00=O5l<&u%>5}NmYaNy&-o^KAbBU(>_dcu+;zvYuYW)l}NZQ97Ib;_3b9lp3RIXwW7%+EtZD&_d(i!BoR0 z8L~ces!L*wUBz^s99UR>Youe=oyw`5sGJu_NG{rEmC{7p$z=L2l4N*|JHAS|e}2$M{))(yPDarT+jyRsR6;vi|_3bb3op@hk^cY-FVS?N{{RUm?7CUs z;fV1orH|n^{Y#}Ct^xb1quZQ(f{WXo<#c3vvloe79S3FxeH1LwfdRweuxPn9RMf*z zN|H;6)lB`TpSu)M>u6E8ieS+^=&jmvl0#@?bNm9UtUK~x7tC=~QQ7X_Kg6lxWjccw{7(`3(eGmugHp+)Yf{m`TLRDS48_d;j76FtzI z$q$E+(lp%Wq?DG%RFfOM#Qnsgk61x8CIuKx8YdkT&rKbtqani#PI>MNrE2qV5jXc# zk=fJUL*A*NgK{t}$r^gu19A%#dZ1c!TY0bNI-e7ps;ZgC(iJ--40Fi^ZDk7$6n-BO zuv>}|Q?b3@5t~a3jq^{e zn49kTY~A9zLZ|Ghh#byJvTwGU-OW@{Sh<*w z@n)ciWYC)32UcBsh*nd$aZ*7cV}@Z9=9eI>og>2-2|dcG)-!IkK?}wPSy_YPG=a9@ za!1U+P(cLL(3*!+lZq&!oKw1^ZlyxqGgWhal{1gZ%cQ66xHI=m8OY~7Qp2QeQ8PxM zJlwkXR!CF=_I8ul{10u4lG!w=7f{IP+W}8c3_FOK6t&a=Y75o=O&%GP4cqobg z0KMhlsF-~urTxpJs9Wqd%AK3AG|2AdS6u8<8xM5`3l6*dMZ_$r>vOjEFsq?HiTHEySu38a6?~97sLpy7Q-4QN_WajMf6h5qJGEIS$pUXA zkAI0#GqTXF)r2dn{3JKi@-TQPovT8oeyj?G{{V!~qUh&-3snL3KXpaP-|8xhlfTrc zKjHrCqle(NP&4pZ^i*v8HvJVleUPFa%3$_FA9KlMx7@c@C!4FguY0QgZLAO>XYr#Y zlDan}E(-`M=dXLtuv^wy1-OI9Xe@nzxx~+xhE) zzrwuFnSQdI;bNKYrj8w8b>_E6#+>}%f(Ry{Jl){3_>FJO_lM}~{4C!e8gl!N`1sS8 z+;_e-<@X(aH0Adl-;G!MhUdqv-;Fta$1jamKEE;XuHkU?+tI}K? zy3Jwj)>_{7JQ6)mb798`AzS|djyvh&4(cB95;3ek=RY&iK1K360tY}3V);?*N4VI51d3eKQnrp-tCj>$IBgrMEK_BVUc7`Az@q7bK#_k(@z$CI}6>fcg=jA zF$3QLdtt-w3+5lYQ2GGPeXKPcHU9v|3La+dMagSxbJLjE7}yva7#kZK8&;Fo(R9} zscEY2xoI1RS>E_EVnsstjoRpZNI)xqsTgyOo{L?=n8oe&6lULGeQW0QG~QLz*3^ zZqq%QeV~1f*+5C6(lNZTnnZBR{*QLIHZg$uEb8F@N z?Op!>E`xYEKGscWR{RNkPloWDdK5Pl$)D$TRQpWM3n5p8{sCcX`=Z0`Z~)@*{{SnK z3FS>~@)j8*R4#0K<9x47(qcsLGT}-XXlZ)D#*}lT(4c!np^OVsZX5G;jAJFpv4Txqb9s z$qD%ji|4R0(!sd_D2Mmf8-|_&6*@!yZ~p+kpZZ=f+j!ahLNC0zBrQ0PMgIVszw1Q& zuSbi(M*(neLgTK&NF|S6{{YRv5$a!=hdl*SE;*j|IkgPf&Dt$ZdSGGvX8!=lA+fV^ zhR39snAvjU!j{hBDVTktCAvY+Ye9R^h-dz6L6TjYFwXd}PaVTEsgn%6tRF8Hu6d1` zCU3g)Kl5jjd~wGvVS{8Y7|9c?t-??a&BIME?NI ze4V62zZR3x52)$zwwa0+9@)J*=D@*)jfaa4im&|F-Hnq$=8O#J2dJzz0^Zr?7JRjd zcIamv9tZr}9?cin>0)F1$Bmu!_JM$KS?Z+AgZ(d0_=G`3T?qgt`&&NouYe#dh#%7) z4~NRYR0ua7U0{FV@vcFU+6yMzH?k&*kN`UtK?n53b2d+Zp9P%}AaW-O5%`JfxL(&enRGtnRuN?^xwSQU2jC_%Jt%U&cTfFJ)5@6oSsW};;UT!lA7_YN z{{Z2Y;@H#O#viE0$%0vJ${{Rgy4at4syLb8syx;^|-2VVikCVUg zzbT7tj+rD+-nz&B8C+e*=JL23lv%O7dHMeUB!5o%>_6Fa`#9(@^-hW?NBc_8XCAzc zfph-=3GYpoRO1Kt_cNfeqp9n_WPm4R{-4F%X+DJzStLu`@8J>u017=8S!avxJg=L! z+7F27+K2{rT~YcZ_x_03xZ#jVdJjQlmSmxE-^A$YU(f1sdj9}|Hd$qM@2FxtSlcQ( z3GCKQ9u)m9FZ40#gdOJMr&TD6B#V}v{{Zlodb2F9Wy#w&&i*Y!(;Wu={r>=G{XLcI z5@Y^u(-M`LmQ2i*mml%Pq5l91vd>3tvtHp6``w)ekIp&wf28uiqLG3k{K=!Xndqm` zSuoIE1XrZwyzKnJAMm3y)eA;R+{;Ho@AH=Z&*}DhAJD*GBO0E9Q=CMWOtX;tKk$v2 z=*-C_z&<1Y0I;5(gIm>Fe!ogXKcSAC%m?_&jm1r4C5BU+bQ2|y_-yHD1NT2q8$aMj=+2oXmPCa6+Ys%QIQ>3AzVf+U zQGj17euKZ!2SyEn`OhS+I+W#RB(w*z+%B{J51D5~>y}w1l30@#4`*`bUpQya^aybW zA5!o3Gk{xwjzHxs)qJyv;Lgue*TtXFP)QTHArqvs<-I33@nkMS_Ne_HKbYsy>S1`? zTHZ*1X~Y_QaiJl?I)6ga#fT5poifj-B)c**wCwk1`*TAX5`729Aa8hg_hL`h*vZ0z zLN$B>L+t+m->8$H-skY=LJ-tf>MCS{bO^FWtL!f%4~9>a3&%5pz;6~GsQ&;cQr1sF za+r8MpPj+lT{sW4i%l80d3i{|`z{+#=RV1WzHRo(Sn2LQv-M??Np2U!GDUoyNO%Va zmA$pbI{Gliw*cJvLmv`3aFNTG{{Zt~fLA&(-&TvsY! z6ZYW_ogbrLss2%OjNbtOoMBGZ&UzeBPRTx(+voYSXd4Bw>0^HQSP5jGLSy8YVR&xG zC)1rW$u4HkLQ-EeEricGN%N>p$AjQ}M?m-(Q|;j{3N)-U;y;^bF&6pZ7(autfdL;R ze@1pfCM4_2);j3Z&Ri~Qf&ytbdmH$6=Z*gWx;j6lzsa-gXs^4=JZvUg#3>`%NtDN* zH?l)aCpU5aYrWvxGa>k7^igy6p7jelJcoM8Bk!7_!!~YLGLd=g)HUOLFCA!q@`I=WqNeOfT6jChxeM2>4q#Ky#;) z=;Mu)O~PT1YnyD2DN#5)cvZ(*l+F9Xp5BWU>g?#mQbSQV0WiUM4rsvfq-L$o!_;`^ z{{Um&C(B{zl5y4v!hFtwl^DTbk0)>FXF*lkd!tb?lQ|<+78g6^?U;Rw7hgu$-Un0I zaEU7%oj3W$bNY|8Fn5C^yaHO!l4Xm_JfTru0DLd=LjM2`mk9B8+k_UK#^kU;ybOl` z5sA@<3qf}djw18%#3C=`nyrU?kpp;-E{8kECsDLcLgrbm_zYxpZ8B;3w+uyQV;HaQ z4Cfnb3*(*OULX$;wWM2&NhuX%M0w#~{-8#li{{U@f ztMt8_o+FS11M)Xi{)MT`xi1XNJO>>Rl-m5e<+Ec7-|J38*L zQ!CUM(>!~Se4UxnX*8cM6O*FCBazyrCZ2q!pZImnhx-M=_ADAL*qUIwrh)~{h%t@(-GQSuR1 zUOrJEGr;5^v)S-A+5Gv?Jc||C8Ch#7@$qCVN8oToZ;9%|m!ZGU)DH{u@Xx#>!)Iv- z7EUsL<>GtZHa3+B7E1VHQVkQy{KtNo9GpuyA@N};Eyx7)a9OFx2|80ThNu9%&J~i)rK;~`t=Z1Cfr(@4z5C@Gr+$Fc< zBC`h{6NcJmo^nOG1f7<+#CIX%{{TxNO&&zlJf#msoS^;D@vp)N{+pi*#8(93F$=E% z7&pNaB99ez(Z{Le8}eZCNdkGNp1J(_XA{Eti7AL>vmhrUpt~{*-hZD(aXM(O0l{3t zL%wuouwgcYV@nszm68%Mta}&vg9AjK`>xv9J05{B=FVOcy9mrx+%>!s>_Bt}P!L)N z!@UkfJvMu%RJd))f7=OzaT35iJ%_k9mKf2_9gCfUgLzx-!>;w;#C#t9>&6%VP!q49$}>I^1-KWJ&YJVlF|EEe=rTM&96?n`-0&_$GnZO z6z*Bdzje7ysrV+AvKQK7AoJSNlkGVEBR^(z1fkL1)8Apa-#P>U^XcS~7_Z*4Ip+I% zu|Gll%O-1s;Rg^7c4MZN7CnQ4acRQT(#wh2phTC0Fh7;tCcJKKW*(L720a7Gexr4` z&d*lwGNXIfv{*s%UPz3)GsEC68gn7lnMHRVe5q^s+Zj#_;yG?Hh7d*H2R`Qi0L9~< zX~}?j8E;Q^^XA5%r(#@^@#AG(krTT0IV4&x=j6Ae&)6Lat~{8*nJlR@&ny}GScI6S z>)OvTazo$_ec4|dcqh!n0PyhJ%Ph!3)6TH441XSSG4T&QbNEo#;uo8Eaw3QMXT#HJ zvvch-jeUqw`)k)fMMA*VVutV}EFL1{j3GE_#b*Bih&#kv@dV}-l$@izs&(%bw~{|7z2aNP%+{VTF=3^j zI%(&*c$@}V_iX3qf8fq;M}@?x_p{s>a4{U`%sXc^?7`XmKxMB_O#Sjhp~2;lGw(aI zgr03si^Z$}Upoi00bZU z1f@me(f1JeN1t<4M+=$7L1#V*&b)2A9#P_)ByYY<_k?Yo`~=`vEgV-%n1{a0+YLTT zgb+Qiv%3q_M`k>Q>dmQM@Q&75cO8Tuyf^n-%Yb zeKxbzgYhPBLLA+tmOMGPF6;->(?6X-;hl0aJ$XxJPbJ=5I{-9p5c|1II!T|KY0Ccq z@=fV1{#R|bT5uzm$GI}I-IjUs6qK$3Fy3st#gg*#Y-u-;^FVsQ9j_lI?0#eXazuf? zttZV4kR2Vvyt|%>+#)Vs1n(LU{p`gKm9(o)tvfRQtS(cP-8iH zA8SSDwQZp;P>w*ouJn7&1C-)_D}*Q3c;qoRLJw{Dffi#oftFzW$zjjHIUC@h&LRpO zv!0pzJnHa3?z0RJ_*}eBI|NI(oUpY3Z~+J~9>Xj)ypy({v5Yl+!P)uHUJvrz2jOD> z0Oc*uFKeW3KOT4~KMjn0R3-uPJ9mLF+?RWwDC=G8?@O=*PoZk`NN3?EHjmnTlhLEI z;KN>d^Fbdi5>~w&$twCbN>2(&njUUwvGog#H-q@-XqrFIkS2}vJ(E>#1LoOz=?d?i1{7n`;Hf&tuT2ymGV$bRw`ufnBe(b)<3U;7tko=jfm7ZDtL za12rx?w5h|T3Vk!{AIfb$j48E3Ml1X4X|ytV>P)1Rt4XviNe5s5e^T`@SJ50!VxB{ zO~}{aosFWFU7}2+#+v)3H1&7e99Tr{+4%R|40| zu^)42V8^kr1N3u%^qUo@+GwFmPBhtbL zxD-8-GTqnxpgj1&fK+@jQxWXAFX%(0&wNMVMmvaeTsJX^-T?eUH%S@r-_N5zp79OB zUQHbsVZLWb$}h~2^UyvPW!r|&?J&D&aPPzUCc@|u&S@j1VdWL5zOBP~>P|!*l}w7{ zJ)YqS(gR`iIe`-FV`R8pDEalmQ_9qEZ-L@=zP9*0p!{ty7hrIQ-O1iurnr0%P{f7k618pAlY*TFPHr`fE6HkbVpJH7kb z9&Rh)aJBbbBLF-j1LDv(XQY)e-@oCDRMVK}4(AVJYIV=IdCzh?n{7SUg;mi)A16X} z`W%<`d-IVC_;#hj&uP;e6nO#a71-?_36n>hv~MEpVBmw*MN9YcHXXxkclqDGNq61;oLU*}rnjr{^ zL=Y?$WJZ&6FcuOcd$>uB@@6s$fo{@`lWbRwfD?=fA)ocCM4&Ua)Qm@#;==Oa2cULT zy$4WJ-Sa<8lYo>^lp-aR04g1n8WNB$&GLw#^se+G5PA&ua$9yE@ zT^2_KWOg=;XJh-OoA;zA?**lrD7jNlYi&%ywY}&|A!X1_ zGNb}a`{HRbq^d$~UFA*PqrP=@M?axS_sUnBBa+O4ajJ0(igB5siB#>X`Cs^1P&%H! zv428GW2hLS%{Hd|_B(15yJXo~qY0OG)D$;WdoAaQIiFI`Gwz zsBKAzYYSLP6g}O@7xBPF|DP zm1|M=o{c|_r@#!z>(Hb`}(!jnVr_oHxT7iy8Ign#F=M^>yJ)7Ms8E_$6kEA)d`Uv~CBo zU)1w{$syVWoj(9Av|g!+cvhq?rnbUurqm%>iu1t*qesjep_kL6&trkc z&6LC9M<-m>+c#d(99w0;W}QTK+QKMX_wA#x!L*KAKGW~%du&D0>D_1mGia?+pWBpj zW+FPhV)o|^(;Q`4wjB-5_Eku@F^XSJd$+U&BvlbBOjB@(=;%$&pgVjz46*0h576u&%D6g`dTTD-NBq{a8*}s>(w@-}#xl@2+p~1#Fc-BGbN4>ThWhJh% zbDEk+?K7|sJdt*)N!fvL39OhXGOkDC%?6Y^`ssgcs%#>n4sY95ukf#{=gqqupJK9c z<_F#p*R199u!0KDQdTD_q`PP4HDkvYd%#6=W8_|NH}l7j)9fBTOm3}By0oEr58f|+ zGjLiqvuCQsE2>LX;UL6M^qqXTSRmPlQgX2HVBnnByY4DF_i1S^FuDF{#!(;LG-`Y% ztH(QuLeidsH>8bfeNovxK4T&Sbk+W~;*L~+_Z6(jjzi1h^ zuoBtvdi8)sPn53njgiNSgqOF^HhV(3B1uxFxmRDX@kF%m@2>VjF}g%EhsY(#?x8>Y z#6gG;8L2n5suO4})-%lFKh5g+ihB7Qr`6P>V~K~8MSI@7C~b+D)4Za5)#BnK+rv9l zh}4D3fd0Q^UH_ncr#xDZ!0ukX?F;4$B#cheIhT6#&(}s@==}u`49*b72;CZHCJO>g zJ9cb7|3jJhfl%b`y!|gJ;kR3q646t9$XZIQKkc?oa?@ZyjbQBMmY@D$ zQ}$2+x^=+oYzpXh_jzjvNG^+Q&A}2rqM!C1jbELNAV)dvKK3teHI3DRHi@76q1Mk> zw_C_(OfwZa@4g3gh%R?=^E!hI68+leoq9RyojMOXy$%hz zWh8>UR}jv%MouCnVxc%mCYI z*<~}KHjX*Ju4_hKuOX~MPr7pwz|1pECeDHppKPYln$;|YF87J*QJ?|U2!Z_2c?ziL z9R-m|XVH3~RL}99-x|2;$&$}^_s|o1QPr1qG%^H9J8V2oUK^E#Hd9 z>$@|bM1HJpeCgwO>781!gY;(_ecln!v7BOX^c0*Mg9mk{5^fRo>it!VsKFA| zF1`s;Z4ii}CsWJahEyrx5HN5U_mZi7Ix;!e+vzF&r^2k8AGjX4KOTNuo%Mv~?V|Tx zY5J}35Q(vv6ct+CdQ~G@VJ*{B93f_p(WYZT_Y0|TdfCs_Mq%t{e?N`LpGJ7zbKrn1&p!L~C8!jZ`v^&Y~|ax6978oQoop;j{!9V7py zo|5d4`=EllD$sTV{56XlEO&GCZRtpK=<@sH;^ZVlSO;w?Q zo5*lxfi-RM*oZkzOi+`%1I#iSDV`Y-fs7QUn%eg@jolO)-Ot3AKtz}_p81(E@LENgxSLW?N%0@B<(_W zVGDDID8BErSHGc2v9Ov;X3JMrsr5G?dFV{crOl~sWx>Szh$cKV#kOFPj>F3}j-IfI zfsFE%Lg|jnZ2|1EG%a#5F3tiSR}q@zlAM#>M&s z#W30JS^D~2>gDdHvYoiuv~$-txfK0F+lxJ<)TDmu{2NfBKhD(>+$EcOr0tT}{Uc7X>&%hUESecd726!!S2D!RxAzGx z%_LaOx0)K4vNAu5^Gk#lPr$|>yJ_B_>RRj(Tv$CWHUp2%uwDw&XtohmyEzJ*IUYh! zB%M1oEkr2~{@%8Ud)rhwpuQdm3trEV>GK5H>D^WaktJ3yAbV*ur}?wqGkR{)E z;(&0zGP1lhn)X^PR_)!%%fs7TGlsX2JwwWla1HTyOi-iwstUpQy2zd}T#A2ukhn!H zqYChJ?fPi8(KvIvI8XO$vqsjs*5n+~y9&9Z(L2;r1o>r_FJA+3c!BTa^=@@bxKv?D z?F>;#cfZ1M-lZ0gc;5Ks?nCJ=P_eMTh)39Q_t_gJ13wW5{#=zv5RJkNx+<}P=aYGHz#Ug*jg6+|!kmCJ?fKGjM)NvGS_-Bd(A(!e8l^?C}^vnoQ-7#&0ZyeVfbNcaQ81C=<+$pPq z6ufSi>w*VOywfU9dy4#dq&L1rb$xmEF6yVyHcQH&2OhNB&CM%e(niq@^b+k+xsxFB zZP(5-%8V^julAJ9oNeofb*~8D;VX&1rgS%4OJ%{5H~L4I?IHcktot4xac!I0*>g%f zoU*R7%i||Pf5});6@d?)i&V|mMwb_>A#_2RTtWw_r6JU5&Tex1*kJ4XH^)zn?Juqy7N3_#OY$}i&>9$J z97sP8{bu$r>*p*#UX@QB=u%Wpt}vb9&!h z0af{Hxf9WlOjE6p_szF@e|k)vy;Co_W#zB>=b%j1w`IHBpe2}`U6JE{VBp7dDsvI~ zxq#^+lL7B(Q3uA~als#Vx4=Qb&sv#%AdYY_Gy~Q-m$Tr zZ##p=tlEc9!;X=Tq3z}qa4k?TEB#%Zyj=ZSNW;A{}c&G|?(gs4ih|`^>cnqb$?pj6c5SSZw>Fo?L zY?Eco&&uOVa%2@uodwdLgY?uF0JR{j54duHOQDZ@r5}J=m3xNq647te*x#%eV z%HGNsSaB_tVVJ=j4|Zdo>XizW)*?_+v8lyv_*JBSH3+I~2rC}5RbZG{?;cL#;mk+Y z{(Omq(98=VD68CMi7wZ=x#K83p7lHYj3y>YKL~zhH{SJR0&G81i+W|olNc5jrhSNW zI+Exz+b%A2l?3;_j4!?M*;C5X_VoO?f{x8j7s=P5JEo|KF2nPHzlipg`eu77s_#aw zsG@klx`SKH_!PxC{tCB40ue#L>GqR(913&`xI5sLbCUh-f###@u+KtyGF&{Vfl9sSv;Rz??*82(+({644`4Y$JzK7)MkB3s!fJNuX#7qbT z9oMj1b+rXPr?osy&-&ruO=HNF%$gH}rPM$gk;+p#7>RTG_F+^JbOGY<7!zgefGg*_ z#sS*?5lX(BOETVVXdkH6Zk$>?cJ{rESRqn4aHeY6tycs82WdEKFWGqQ90b}WyS+rzFO>CVJlS(C9uUWT8~CJ#3^O9Vc7p=3q7 zk|}X{qNeWF!jZ4rN<+sN)*HDchCKbBb<10d+@od?9!rcyvfPp}dsqsA8aK5H_VxzB zxf7*pb4Ka}Z?~Q{4fH$NSGQbs#6tWet9Zt1a*AbQomCg}GTN~VR)MeGn9GUP~4VVNFKY+|F*lNm~cX3j3bY$x4@ExQ6_#ZuFOkg*`LeIWO8?Dawq4sBm0 zf9!YH>9^NxDj4$!UsUJbqP;*sf_ zX79Zg?|x6{R;^`oMu*V#IDQ`D`}6h@p=D-kPXtG4Oy2u&TzO`O%XhAhb%>HPH#GKJ z3U5$5MoA9FLVqgk+7EiBtk*l%W6`(#W2%CAMue+|u#?AgsN+o5f>5PnygpcdTPf&^ zJiJtz4vyawlb}14BpJ#Fk@U)NZn71VS%Dg-)~cYf_JNR$5nqHYHF4g1$m=P2Yh0To zYty!;?ubicnbE+)@6(F)x3Ld~xpu{6q{uv*jGbK8r3D;4TG`iYbLM8zNv6B8K7Kgy zkKYE@b^A9B9D?5%|0Q$h<$`9DXURJpdd(9&i{IHTB zIk-Tn1+1A7toBR(+kD>VBx$P*ERs6_JlNmxM8}dJE}++Cbw|>M7>&+#{8*24j_ z65|?qIr-L`q&K`QIN6N~-|b%+(klWW>;rDOlh3#R3BhzKw)1t1s1ImgoguN1H91b4 zM^_@3NX*%B)KZklj^|Rhc%-&nbjJOyf7nvlC}p&WN4oH=kUm8qOIDtQT{UIqAd5U5 zYJogv>yoxAiVTc4^!mX4F3Mx^oM2a9{vqhN>bBH(&$LAHhgD+l$@+g3U%zMDYnQe} zEn(@4Fj-itf!wYR!R7E9UW5ew)6iY&Eg&E zcm3!d%)(%{mg22`<1JA)pbSM+JlDijiUoc%3+LuZDVT6v`?%s(ys)r3x_976$1_2w z?(NpUJXmHtnb#(m*4S_WP`seQ zVVU&8FvH^QM^GFV-i4}fk`PU?FdrI6CbpZ8!`;5M)# ztMc7eTSl*LAKArO5+nvWUcsfO8P6ijN=#9*RYCT7>mNmH>s;z2WMqomxB#|eq2 zSKd2T#VXF@{G5#y`}Y|?ObDE|X}6RMRkS+Z_M+>!;IPBK;Pim%w64

C$s}{)%X>y?{Oq>sQpc%!?^G&F>w@1r95NsF+PB0l18b;=-s{@egV6}5-prY! z+~h9F%C-Po72GI++>uARD7DJg5QzBjlCbwLE%=rDW_s{5RXhig?NZzYCdk|G9*4ue zw==@1R!ORV$$rn7fNT9j=)?QNX5o=e%JECt-1U4?a~;y~p;YA3^SU3_ zC><|u*c_CRf<85v01;a$>2qQ?d-#>WXx%z;LYjD%gYb3JS1#4Cn&alqRwL%Eze?&M z*826o4nPZlc$s&id}E{uBe_Ytn-9mB4z^ z>eN5%5`N-96Q>+;gKM}Cv+}jKYW|YRmb@Wfd_tDT6YhQ7xs2WgYDyN)N{^{1=BEER zMr-a=1S7uS+jk0Q@**Hf36z~^W3dUwaaVbnok})xk*O_v?9bKO{Ir%AF6-iFI{8Bj z(khQfM&>% zeSTBWFZ&j~ zV?)uAvE4<}^2@WU4pK-{4nwsDqlw^ry%xf&7aUPhuJO8LJUM;lG9|p*F<;D*sFRD)X>1nQ z24_hLtMn{$jc};HUr-b(>H#`#vgC20{Pohv)<^c>i*Mr|hg}2q(hBD8;B_G_bGrGL zly^)5i>>~WZKz1Olc95FkATb@vnA$iR25Y>!>rIMXQf>2xOjs{Q9Iy}`Ea?v4J^Uk z0`KV4b)||2a?rJ6!Mx@}EfWke9zi#!`CxE8t@v^C_7)YYGF}0$BMG5xmEsQj@ciGg zTJ?2pesiL0DcJ$WcNJ+4ep}QCkF}B*=UrT${zYp z9j+(TdfRpj$dxA4fR7TDSkTj-Yy~_iSc-EvoTFHbTe^Kv%mCQ@bkUQP^3YOhn?j}Q z{+rz)$ejDR5vill!DIWC*-_ZBkX5%VD|B_dN@m?S;jY0THU!Vfo|J5@1~Waeoi76O z@KGl3enHs~I$ZtKQ3OgGroh;KdSbKSvrk7e;Y>JIW{+Tl9QJb-hGPMzy<90*>fFPo zwhBJ5HTwhNa!DCs?%bppBL1Zf_OxVhB}6Nz#Z<_D7A1_9tb`$lBaNb8xvd-IPEZE6 z`;#iRaSz7~*%#{Rln*ky^g9k5)VnhXVnjpTt9AG!?l~IgjSvVsqvDo3nxx8xjce0p zn1$LNDsvvpt2ZJEsuPQK%X8npA_LDxWT$jL{bmXfDPmNd3jt5xRWOG+Z!TnT9o+fk zy6-iTg&&>9XpiZ&n5n8v7De3Jt_uu^OqK$J2LHwS|3q9p?$Vv#y~6m6Z;s8#rLu51 zw*77I3i^%ilI+Q&rkuJIhg_LwJ!C->BAL4+rshve!9Z4qYf60DnmZweWt~jbY z8h_$=8A%d0wa1#C^eIGUgvxzeY}pQa+#a~( zWHqK@L|!W#%u6S($ejHeIUc?z9b#wt&m;Bd4YaSt!^-VeuX$Pm>KV*a5)kJikIfxP zo>^JIw@%*Pe#X?bshhdk-YY{*1{&8YM?`$@?w| zM$Za{D1RM3W2Jc;R)FnhUn0&n-o~+kT5PIf9WK+84ubndFN6a*}zmsu+uTUuaImPuWaYoL|VNE3)!Kq66dzFjh(zT&CVJ0etWoUquhTU zWU6S-{RdcWMSAs1sb)YW-OK)8tpi4?5zK!eo-f7&a@9NBmVHES6M(vWNf*lg16sIu zbAeEs`PQ8EFewDsd$J%;hlmlMoHuW>tI?!oO=uGoXHM_l?dK5yyNXUQez=0 z_mu8Bzqju~4f*fd!}OiNriJ41JGReuns`B5*tTa~2GOdCJZq0fJfV&+x#RnlPf(WQ zk>wkeN|OMnb+n!ODjEOd(!*ws(A$RF`m%s#ueKlzJ0g!UDdGhuDjzt zCc=a#-@4R8GVqGY(OyZ1nfBh^T0qq=7%`t)`dPb|K_o@y6cZ%D4#CTd3^=`1Eo+?# zl7$>qlbcG(N^I3qN}p&-thS42JzoC-}Z zDYRRT;*#$$@;0XA4LVU737rD9E4_k&?L%Twrao8=HtTWrh6gwM_<^sJsl_VZdhqkPJ7Z= zn&Y3}3vNlQrH?yedwfVWKWhIvkA^dWoo^W**@^R#=On}|d*#`{wk$6nXdj%=bxbSH zcG)Kufpgp)63Q#1h}Ps$LA^nt8DdOnm%h&Daada^*5p|!`pctx(p8CZ0=(zfgWif8 z8q-R~C%3+89OmNlKg07y48G(#WfvbxJ*bLCfi;u#aQJQCZ`)o|`s_|jpEaxxrteW{ zvqH(kZKWkqH1uNNi2I!8y;f3ea`NH?MC{F z*eIQ$Ru{+Ix;Xx0Al%f9MEscShR|0I*g{6ts6ILKrv55% zyVqGR`7^Bj#;DHM97OkL_2MnVt)WYtvL+xS8PwF0e|9$5v7~Qk3B|8vUv0#=t3u7f zvdzDA-W{jMW}yeB-IiLZSD$I%OA{7f6kQ7b(KuG~e5!7+w!XqfIX#fpyqgLPcaJ%C z$Sv6gs-7JVO7r~ZXWVgV%U6C7b9?=0yFiOPz4Vp34C5r>&D%$2;qcb$WG%Uw^Wn>! z@%VC@1a}ZLg+90chZ4E_LK0)&Aw?oAYUMB4k2^EoL0)n_L5$${*FDgvKA_FP(6Yzx!-WYh5$G)O zpw6^4ce{hprFBz2&Apx5Gow|8=#01~zRxb@z1;3`BcW7e%UQ$Y&W%E86jcO7aYgz} zit!8)pl{1Ikx@LX=+3*vR2&ldCYa3p%3R+I@G4HWy-S{A#`{W;W=CS@0`=x^v10Fa zO|S7zX6ab#zGl$RgEf1xYP(dsO>w+f>mAuxkM`A*>K~nPBEG?TUpWyn?1^ytBa85- z->hTgpHDxv$QYT73r)8voFgEyKtW7oXOSZM?O<->R$Pa)WIYa3UEm6Aw^g zz#w$9$yhMf9VU1Xhcg1U2*PIw*Yf&^Ya^2(eWvYx39Ml+fs^UB#ARQ5d@8*B_^YA# zt72-Jhdm8y2aa&#(3uEqine6-4RY%pmVp`PkuV!%(|qA?kdJuI?yVcQW}e1heo-t) z*e#Z|%tXQG$qO@k(NKfSzPG>;VG+bp^ga1w8F%b3s?f9;bs6F%Pi$8K z?W>aQv5nhfEfNT-Ck#hcK{~!TR+qr`{7^>+&lHY^)+CAFCg&LkVTw!B_dlyp1W3V@ zpQcGjUed1W?pv>^OI_XImX6v>Qi5Vg7zGp*LK#g(lO-c9v7{xmvHG2ehuc3w5-J8} zf*19^xJ{P0xdia!H`{EwZ$lMv$lTrI2B8D~zhpBKtIgj>x|fuVc5{3w-@_~A#$*h} z-DB-Cu#ZLPi)n4=`bm6CJ$%i6z#uGH88<8Ww0J*qLon9K@jxtmb zB;O1y+a3h+iz`p>Kyo>%XT4wEL|T}dI;o~K3Zp3(DsSe_#NCc1xVMY9aISxDbyj;b z3r5?8H-@XsT6R$r563kd@+*T|lq_!*dKbk#obEOK({Y1@sZ$l+@>bhcTR-X5-SqENngwt`1 zeRQJ`Z0L|>ak^`IF{sAkS{{Vs&Q2uAwfRy5Vb??<=l^ zCb=UWKchbQVmS1d^2EsLH_7YyMCpt=TaO(RBrih?d|`M#DrWYLZ{sLEif9-!?!F4d zm;a4nTaI5}*2)Kh$q7#F`RLU;-rkqvW=|c-M{|x0a+IM#*hsOy2J__i&svBi^xVq* zKGOlCI2pqLSe_SU3hkTX!n6^~_0L1c`sowF-=j2?~qS5 zugAqI_So~^iuLvNO)H~nG;Vo`p!Yp)EnqZ4FDl#;%lO`>S%=HQJmR3(*`dvtu#9Je(9zZ&1%jlnT$(i_ZYAYl!|m9}V0Yt^ zka%}6A?9em^Di0O_oG-K8B%g>_8ttBvDqCu%X0i{n~lqe=VgHP0TwG~`ta08F|r&y zc0*dZQjF-g5dHxYGdqZtND5-3_p`RLJe)GCOzYuJTy+r`PmLQI z@`P!>f8KaL)n8|yE7L1h(W?Z!SFTYC+wF0j@$u96P=3_#LA;GIUiE^?Jbn1XVVsVm z)kb%$1ehE!@jAQ#I=5C@lQBz9*!NQ&=DS-QA@CE|QS``(Y;jY)`%eJ*6&F{{e~UHE z%v`B-3OoFhSK8TC*6}4_;|GHqC`tTOPv&u`RC6>^$fQ(lBDemn39hD|wNkW}DP(6- z^OODZzz%!-XTa9#+c0pkXSXfsF)E0PRz44ieRIUo!;fgppvl&`Tt6IkJn(hJOCq5{ zfvmK-+JZ`Q$9Wu@-^+PqKV1(rsZ0?e?@^yPw)C9H%Ui4s?8G1PUqgMz@g2BwGrI9I zCn_q0F?DDs2I>sEu!JuT0J)Y_M^sn))cW)Z?bZ!G<@Xo_g7tIRqlhcr8T$a_99O~| z9|EjhjLcm60Pp}6-yNnq%*y+>mcQ03VeBnH6`?NTiYkd6)7>W(G&f4Sq}E>q#a(9(G3p*_pq9 zBem*TF~A;ox?F3&N-LG{oc8Q`-7T4xx}c+!KNM899h%GXlVp}K-VmXI-d7KpXbWbt zLu3bC$k3jNYlney_d|gkgV-r;pqaQes@3MRpvK~#O|qnlHCzN`D|2q`w(T5|1y<9( z-l%cypoX5ft`*Gbs1LxUvIvk@WzmJ>QlZE6LV=$mX!xQ81O!j~WLGOJDiQYw?^Pb+ zMOe4x#Xdgp)q&wvu2JsF5?ubb00Lm+T770Ey&~56s#5m9msC2vd4626<`?^}`*HjY z`rYw!qadfKAMUe;&lb>5)+qe?ftmI5q5Ac3rdN_wOK*$KM~jU z?GGUF_vp!Ytq1sVd+t}eGgZGFfyLjM0U7bniwZT`V&vEL>0Zo_`ce5n7?P{%23}YQqYM0C$D~H3MiqLG1mtB3GV4wl6QGd_qaZy@bNaZYhsOV7 z-+e%SjeMniMW$C4<^xmaM@{rN(?FAE5FPrbI9dNcowZsGxOU)D*=wOz5m`ay?~Qb3bY4ty79aNj6HxNlg8IIT<`Gs{2#oS! z(G_q-iTK0BDUf1k@|zXQA%Ex?d0no7=agwEmK|D>bas^$5?dOq&hie6<^)^*+_;V4)El)Q86cZDZB7Z-T=0jZ@*+ZY2vFht)7OWG z3TjJ2Na449IX~%o2K~?-P(I48X){q@G*l0I2x?p|o|>li7n}TG^=Fs4%c6^m@<=gU z*z9p?FNa@%fXaZ^{6v&>tA~S`9QiL5yrZy9QVNqxq?a~O1K54k#Yk7jA;LuG4OCmk z*VfI_u8Vsi^8(W8+~@-9m04BF&jHdX*Ur+%ce z+9+jdtVd(?!v_e7ySAg+GbS!=6W>;`7dri8=Lyu5F_BS*!LtHP|1^IZ08L6~i#O=G zR`m6yBGgqlGc%#7g{PlsXV;eZ_F6pK|5#l;=B`A)!mYA!{Me$Jdb=Ow=_gO-C*=3k zw+@VI$9tw!Y*(ULm**aT8GDdFA1_1J z_%zLuSI=b*`m{4(lzc0-1zvdm>Gm-^MgUOH=l?}Zj#{Rdus(KJ9{`skT7dm&FxzQw z^sg+h{qlq(UQWNaj#xtLVET*i&}MqWfwl%#fUp9@?-w2SMKI)3cx2{eGTP|!3qM0MIrW-QsTSnsT74~7uQAvV9Whhb(x z`DWQik&)E$ew^e$p64sHFf`8Nn9;IFE~=BwP637wC#Dpri^KzF5H(ge$H9J$GPQZJNX6Ow;BTkgUc! zI5|Xk&DZ?&h|9J5Jn6y_ujXD@B_0p}FqC9W?J=g8s~mt>|6W#%TA7a8!t~ll6)W`( zu5`?!V7#6kga4DiWODm6IJ=c6ypZ^B40WK|x0a4p@4XizcR?`oVUf%vzF04PbtCWU zv7Epoc^~unC_EFP^h$sy`WlFETaqf`2DX9IzL*u z71%6v=wEHRf8Y|n+wQh=sg*h`Z3Efm%C9`z%Reu4J8*>g$BY>nzE$oD-Y1W;;XItk z;)ma;bXVK)ue`3=89|N=*664A!q#-{k_YHSHD8^j36=&rE>SV5*(d)GI~NXo5IDdC zxU<-a&Us$1*xLcKsbC6yXou29Sz;wsil^r$KIb*7H3~RI>|ZsBt>Q|sy7sxWLKuBp zj(=VL1;0UCGQYSWWS!N%n_l{-GP{|)bOVtuEy$g7i=O3B`CDJ>>Sj{%l#C5Q5KlyAwRdg>`61HQhPM(WJ`ekNkTBRH_mD6m%EhSi~9n z5K5I~p%^3m$^vE{qj6o9SiA2)URZxx{*IxU#ITp> z^ntvTq5WYp1BrijT1xE-md`8DE=WZ?XwBJ z1XA&&*G5fv+|)*Fn9MIb4t@X-R7{#Fzu^h1xn8~Sg#W@B02==efFOMvUFie|Qz*vA zItX>L;ONV)Z~vJC2P_b~2PV#6>M*Kl@%hMNChnqlZH=c_dRyx4;-;McRd8P zlCV+bo#Tvh3Y0tqCSGbP1WR*9GwaE~iE*DAw+6s4q%i=ByFa{&tN$@_F8-$vqf2{o zha*>hR7HM;7!F9~QnKl#T-hSiA;pUSCXs*r6F?mxn)K`o)L-B!H9D1}BO|_NDM+_V zPAPKT)PNys!rf)Gk(i(+c~efscfc%&EpRqzc@;&O1GLOkcweie$lr2`DHwi2-|+d~ zhDh|dYsxI&$zi?{ITaHX4-Fz@KLmq7evhX-`dwlxqYF*t==$<0VCPEag{qkUHDEcw z>HjZ2H_Wuh>Rc#mFdA#RXNT1l0z678i!Put{w>rP%~fBna?~Yk>6{l@*R}lNw08hO zKEs<}T@m?nelH8z2H6;KKDYHXI^=U|g^V4SPaI-CKeqewGo)^XMuSO%r#WN~$ay#p zXg@qr-j~tkzaR&34tvB z1g+9hQK_-LfPXye{VB2ruRNjKYXoSh07ziDhgw1nuJeg^jqlA_`vuh!!D=qC__C@5mM z7or3R77WxUln?NbGjnU-L4*eYrgNrt!8aaY<6j*1{EzScgbR`Xe-n@+kEu{9y{UZ; zkfSnn1PHkE$%vh32wc%%n;(Jpy+6N)$a&z$crJJ(lMpl)&;}qM{fpgzv~qx9V*T^9e@4#)^5CyK5#cNjNWT5%f)2ygM$m7YLF(3ItEm_@ z&~V5uW2siC>bZ&+BEqFY7q}D@K=B2j09Y{!^oRe)mZN^`89{(-3>%J&RG8tMway}3kQLz z@8U`-_dB*6_I077LKtnqA*Y^`W4dK0)XU%=^)-Bxb>Y42O zGf}YiF5_yHu1?If(VB88N?tAcv@@#jkwg!g= zq(tP`2_OG2DmHCZCFWDnvwvjwWQ%U zEBo1WaDIi55BxhV?tv~X6qxk@_XLPfS}3t*zeD$^=lp zkNeTiej?$c{9?XfAJQC>bMgSVr=#|YVdkI&E&Tp|ek>t7QQ_)xq|@1%{_SR~c!YTDpHNzqc9A~Tr$3G`G!2}lWS1@xq`kriNl7do3%x(Q=fh+=1aCM? z%Ih_?3qnaPLA{b7f!aI%+uJGnG;SXNElCqrTnjpE)&Fj>DA*dBmQ0oIPsK zlhEFs6!Ty6#iz`EWehl63b+^Sqd2~tH{N&nJUZi9{FQU-p-_9=58UwleqQDt&>%ru z?VM+2&n~raP-L}N0pkb`RSmok+Vy=@Gj5*1UK?!7%nT_Rg)DJSJ_$1@x?dbi`ZUr# z9)CW1CBP-G6CDpR)<0?q);MzPeqQ%2h&F^%lCSzL+<(P{o7d22v*EnstN=iJuduGj zEP!LcIoe^&+!2H2td*{6%WDL5h5-E2m%6%$AQzy5(L0?_a@KwRSgw1{qiRbM3%f%Y z93dv`zr2$9PNE;c&1&jEB|bt8E^yNq>N8(9(bXFBBKeZfE?#32g zbRonRMFzr|jKr){^@()g({XLDHa}~@LH`bsSPPn>kIZ^oj#*$QjGzoohLlz6-7MG0 zut)nvig!fzm~aR>xYQRMz)aF$IEx?rljCDI4o~R+IC}qt3_*QkLNTBDBz3%?{*dM| zLWJrAf2; zXw^2HeU!~N>i04RMpUy9=T7F+>Tt>IuQxpXlDf}+1?KlIuzFTxY8GcNH60&6QQ5*; z)`4YyeurZLa7t$n@&DLwIRJ9)Ds(ImP@=V~s)RuJajt6D6QULAiCo$R++ zv^Q{s$cUZMnctWD3J=D`Wvs{h5RCnEp7sT1dX~nVAYQ8R*l+o-CFjZU5%A+}&Mx?-I_A z^!0M#KQB+H$6cEZ&ohm|pa4P1oAR&0^RJXX1LrYa#Z@m)Z-PIb^PF%i7x+dV*Khc3 zru`*5ez>w>93pvNeaER z5q(7}38dThb$Ws|lIb!)x-&HYzoyPIs*UgM+QHo#v=oB0K=BaVo#IevDTPAuLUDK3 z;>F#qr8otO76L(nL($^yf#8JSlm5TFZ!&9EK4i_BIqS^KIoH0=-rRS^T`@S`B$Z!y zPczCrlp^4Dk7ry#old4I9piNuV}eYmK9s2=NM@2TY%gGfZ-bmSP+2(p;YDu6itQfV ze*pV0g2x!?475qttRs+PXWw z@*2mxcPzL!deJD2*bDxMcfo!kDtGCPDzbE!aSSXD!F$A{=({yP2_k4QP2qUN-|AB9 z_I8L|GTU47{Y)mi|06yRW39oB;|~R2RX!h1GM%$%{*S)6NRHfBu~(VDs}ll}xAVI; z(!K=5DUjdpL=xVs0I+WD#Xu7h=&>W76_yF>EWuh6j9QNRHDipB)%o$y%iUTA%n|N{ z5H-C*f9nFG&!NY{Uav&YUlcqJoYLQLPbOv+?ANU>xHk)Z#6M`CyrGC@?|&IYPdhn# zT$V!9Bae%g*1xe&QJ>HRT?5)H?!;-mW#$-~wfY`1EYX&)Xzd}kch%=V!1B>&1;j_s zgmu&fq4hn!v#|e%Owg#!9v))+EcX!xJ93R?G(4dISLNw4#yHfWtdhW_|InQDlMZzR z0U^e6s9Q!ZTb=#Y5evOIo8LUzK#_@5B2}kr#nXxQh{oP(5Y3!eJ065We-mHwzd4s3 zTC@r>Cpk(7?+dFql=;hClrjJX&^EALBvGMQ=%?GgJu3N*>}V`sI;un^*5>uwZuBG~ zPoWs?hM;?psF?WyQ}%}SPvbS~eTMaigz=u|5-Ndu^bDU@!Pw}@@ROs)9!yxB58I0< zO1%JF3P&TF#_-^*J>NijY}44F&9KYNLJT&`PT%cxccy6SB1!q1jLmPo-mzF#()u|a zw+uA)CcRSkCT@J9r8|F*_JTS~BWk3tE}(9y-b~JTa%Cq^D*y|#aCo<>v&BL)b8Y;K zdz-(o8{;K(lj3W5f^>p{^e!R$K?-7x$i{sc=i`CrdVRkstnzS&_i{Fz41O~bL4ok! z7cpc~n3kReJLj4$?Y(~|N4zmk7`nqq42kb`-z5ZTR95T+V&8&@{GeAtGx{d;I*16KNgG{Zf490P;nd&0dE12YlyP?0y~h3$twCqz!EE#= zWCP@i=|8w)c4di>Xu2k;P2W8ML3NW8j$?c2R$vZx|aW`Mw0 z*7JMu8k`|wsr9VNhgZ{G{pt5b;xEI?C5_otC(vOGZs%Hl)9i%T*Q5jp))u7HcA~$B z_D}DQx}XiSCP)Cj)wkp_@gd2Rz?5&RmF* zi1~P2^(VyAf3#1=kr#^2ecz=ShQ3M1Hc_y}L`)$UAhf3CPkb#8W3%RiDhSKM%lC5$_Js2G7CyNN?IcuD^mt0Sd!FBYiRO)3Q%v|-fc3zE}rLmN=}2s5z#YT z>W7CQ*;ix-hA4w}{AxyD1yc?Li)x`M4R+I_rTn%S6!M(I6Bss z#IQ!uIWvbK?vMAEknTabYKiCC3I~DRpb^L=x;ApbJA*gsrF-#o2`Ob*SeXZsEc0l; zyO%+G-i!2cQsGYPaZ|<_>z&t?lfn0Ynqb3-v}p78TftWm0^lJbi2ET*vpLswgIW@7=Gj+L5PwZkJvMkMKM6pUAq0 zch3?}=(6(jkMC$oI(ZF8Du>WhatvhKYVctvS#6L)VCR0P>YXU+7KU!ZsPm;eIDC8t zLftiWDmH9*Cze>bD?^$ijMk$bYnGf$$fj1;fY)It#NN0Hx^TQx*gjzQk73|fagerP zlow31rEtkfv!xul^a{mr=Z{hvpYDc%77CU@@5hywtkThk8PZO7%TPcP2e64Hh%DLv zTi;3U0^7;6kc_M zEw?aKcxl?#-qj6B(y3C3qPLgwM)9C5ZtEYv26oFRU#?d8o+@Sea(4_58%+!d3U4+Z zLS*ES1s)+$Iqw`ISIk-pQ3^=vm0wO$G|bZn>`2n62XJ>`2g=AvbH7uhW`rlkJ0r#_ z-5hRIAiLX1JpLNr!+Y45T>0B;!HZgj)r_FITX61y{CQeyvjBaC+R&A=IQ65f@Y zjRa9lcb3)HA$%J8iuyZ6^DFkdVKVbg=u7SN`tGFpb0sHz$!W6lt*4bQH++OIFqT)` zohMJ!=1Jjt#K~@91l-+}<+C3vOgr3&rpfw9jHGpG4mRO&IeC+?s_a4&RNDARNwLaj z!n<13{T8Mv9r2SfXVRe^xn#A6);t-gt*z2+3K5?H?n#dM>K(RN8?cY+TWwce6VV=V z#CJUQJoBfH?%4AQQRTY{;Wkqqh)Wr5r-|_cv3nBK(mkn+Ld#oUdvr$=DRJYYam+>+ zBd1?3`AQ-o?GSGGxMHF{JJbZ2KRrRP0fFKr)cInPjvXrZJgjCj<793eD7Z_ocw7)9Jqz6HZE53)X({6iayS!t*?` z(9eveQ94)5*yJh-)85fLqS0vbOd6>$(J=lUk9vGp``}^ePW$ajJ5P&KS^8{SK2JMx z$0#NsfP4N3p2ryX4+d+KMmF!KR!qy{%VALv`|~KOpjQ#tDD0okS%T)>?jio&gWZEN z-GNbiyM-t+8Zl1TbR%%iv)6t@HF-f`h!Kr3RFTx(iVU*Mc(UBbGmr}Jdk?HyVPW^9 zi}C&S>4d~nP!Y=i5!S7eI4@PpAX>LK+Tm`)p3~MiJ+6C`BfhJV(ha;q2TrR#Kd`Kc z+QTH@!zxNrG){2e7-=H+Pz~D~IPs8iDp+uTl=~T&KL^Y+>HHxMoXbPQiwh}m*1`Wo z*CFnds$@)jW^4*ex@mFxnFi?$rzO$H#G(fl(1r*SH03Jn>wCD_oQqyi>{Nnj*_cpe zSwQV>X7$g*-Vh=#fRE1$XbXdv4?p+DAvQ1)%C!US)jgzkQI0r5 z#xy^~`Zv->rQAMIV=u#xyTSf{2#p2J8Yw2k4wGyY-mxMR4?9jTHBw4!v@U4TxLEAgxR3coh4dnH^~Q z7)7yr8;|0ZPLR8-q{IXD zohgmsvpCMa1@6R0>TNN2KH^}0;$ zfS$mdoOp_DB`j?ugV(srU~FASr3KJds+Pu8oXDBRX`B5~m$*^_xxDBgy#2b&?HA)R zZe0EJ>$dqEf=W$!yNK(sK!t84wX{F4vdiv$x3jE`+bTx{wvqU_%Qa6Fxd)7Ag)~iL zzS(7?%|?uQ&D{9@_PubxO4*i_+b3%F!GD&0J#;EWft6(mjansH{Tiylp{VtE^U3^2 zmYFB8m0#}Ejj->GkOC)D|CCBq;QG2PLof_nHQVt?yNe9ma7u7Jw1tZpH@k{3TG5FJ zDD-)bt|a($B$gaFE}1gM7;*((R+#8p7{HJ6?h9&6I78~QBsOZ8XfGWz^z54*t*<7d z!j6f4AqzeQz1jy^Xls>UecB58g#L+}sOKlDaIeC|OZ;&_?Vc0Fn|_Z^j-3U=R~UP334bj$!!?X;-^9kp)QTmNhE$HRbJ-Q*Xm4LykP1J@m-!{uSCveu%+u8E z;fmiT{$PQYW@pqfVDWw_fb;YZ{-BdP#t&=Fmi?g2%4=2_@&?1$=sC_gq09xtLXWJu zIly1vhT=ODVG8M!Z~j`dgqv<>w8O)n66;w_{t^q{V_xm!itE-d9lFZ~yHm~T^)fd0 znJu!(lL$f>!S|Wby3g#b1vP@Em4#y;`Z1Iztov#rj6E%unv{w<2Gt1}%B89F51#)A zu!UNSBloCeGPtwT$(3P8Ove)E7A^BM-8#$qOkt)5=1+WrUyv$>U<4bRm3MyZS)in+ zpyb?>n9+4m@W`eC^)TgTRglsK+l z=$<^=PUpsJ1&tU_ioZ()rgf1;m?N}5S`|xKoWab)$*nPUUxuJl5LBmEEC%Kr=#bH1 z@AkSZvhdV2H#+-qEjA4t35p9n`Ypj?V$r(TLHj$6Ty^0-GZD$|aX!QdwI{58Sp}Mf z+Yz)SFDCM-UM)XVy0;vr`!wZTx-v;3nbeY@CFaL}fbwtvM?%jLGf*|n7-2EH{9BDf z!;tQGm!S)UDAR?%!9rB`ku8vE`>irCDv*vGGepxTCeImxr7ZMQIvKn_P_@SUskt(962g!dA5W?t6`UDTnaa`3}ppeL1$m{-8*_sE3 zh3L7hKq4YeXbIBxIcS4PH(2asV(KD?04CG)p@4MkdI4*uiP#j~n{VaD?*^N7$@wm; z{afpG(4N(Jt8XTPpM80iCBVky$ai4&KF>3=(PEhA9ix?TTkG3VParR45bt!*L%slpqcW#A|f&BH%8$vcEQck1w*O~>;x7>xvZI@}C z`g91^glpXQuQh31xY|6yq&9Hef=E3aNbJCAcrfYrgt+cjy58IDaruZQ4^~=zxPS?Ynz?beo4TD80MAe!ZK@CT$jH zkjs5b+~3D|OeGt|#8CA7LeWN$CFy4~xD_9Zrw!vujO?1EsN~){9hpf~SVZh4 z6%I?K?>fsOo!9q^oA!;ALV=S&2(&SQVJX>ixNl>3qep*7XZ+1m)he?dg zz{vXzO8CZ~m^AqwICSW08=Q2uiC>y;615@YKQRKyJo^_ zqQy_c*wE%%Jq-s@$42ALXql%j>EEue>$2##Z)RcGlu}~-VUC+QU*?h<5pam&{HZP; zVKg6`ENebF55SDbPs0T3=&JG7*x_Cv+FP@bE3BbF3*V*8l2sU-QYv)L*J0u z!KkntQ7~*_`ZrUP@M(Av`0S=umps1ZTXe9K05#S+c{@{E%z28ZIhZASHATF7<1Dw$ zqbie@8E4Kn3#5DFr(xFKL>Es{pE+mP_{L@U&n3_g9MahzQ;t)p`X$GX)f@aG3LGfh z*^}iG*Sf&mGk^7?oBXUc$AR7#UaeLmBv`0vVLs zbJ0vlxq9)mFqJt%LG!r-HruUP?}8BmByRQ;jByLjtZ(q;B~Iwf?BBQ`I|z%nyGf#Z zfRV1Y<44@EqHt-}JL)q{X})S&3@IXB9bqHRgIdR_5_A82G;=11kOrFb>#s0*iqNGg zBM?#aa&a}2)Zz7zG|Y!JUEP`b_YqoBzoR%TOX{l->%DrabCVF^j=CZPHj@jGVOnM4`JFFB{jprxB9VRtvRxOa@0zBJe%l zBnxa8l`2qudcH!|NNk7Z6`3UL|6LnWvIxy{jz>SdDVTLO&}jh4mmm#yxKlWHl5nB?A#{{UJahmz0ruvSb8B!W{QR`?uV;d6m!M8O{5yCyq+RMPcs{Lh*S zQ!uib>nr4Co!OWGTYAA@xtwLf5`$iWfK=LKnhTILZ zNWa3Xmq?3ut$x9exno;2V|HhhG3d^fEJXIs=t$8`PZ`UiR3khU?W@3EZf;jo}GurZd4s&_@$Yr*{rNJi*Qioq}Stj!2I zBqIxjAS6xR-*_6P5C~!(6QoTHev6rTAU9Y5E_&nt%3qM^rl8t6 zSLMm?;6Gg{BDmlBT`ia%6=6Nj#D(HQcU3WWDtp&fjT+i_ru*OhrK#T5uI#`iRVeQA zgNPz=VxQXQ%LiuN`8q!nFk_S-x&$u(+kh;aQ(8UAgoMRr#DxU&*?CuB94yy9(qf;v ziJ6*U=@}*T4a3iSO*wxsw7Am^{bOC8?lV(WIttO4dO@JD6UoA+bb;w&EX=)yJ3y;H z^dJ`YlAGwcOfNbY!MhI}M6iY}>|b*cy5=270ML+AG*Hc;ZfSIhm2h&ii+L>i9v{;D zl}*ai9=`{~QwVUF^3|R^z6Q*E6c+b8CM37cDph+DHEr;GaM*0DrpdD&Nc0_3c`|$O z`4RDqk@J$Q=5dp8&M>&AP58E6N}C|t#_AoQDVh??^mA)F$}PIrie57M~X`nx{v9q1~+YP1dW zBit^>g`BP5VqRdQAX;Mqo#O3_r<7=o%ha>pX6&|oX)x(bQpQQL<}1t|@8Jf0oNP!J zd?7~=wxF_g!17t(vEepEmi9`U6Gv$r-?#sb$ugXAScWMe!V8?3D)lRhDPSjTBkCGt zXRrt!S>3`9$X2XvC|tCaTY0U|L1saiJjHyS<*3lq%6LCu3Z7s-KGhx7PEOz|^qU_E z9w8RTW?d;aU^3fbzOKyxOQ1sv{7C=e+v`i;kYDI^n8E#KyrMGm{xB-6z=}ku=yzMECK$%DBdO_BOj5Jx!Og1{YEFgsGF{`vU@RjD1KImgl%f1RmY;RquVG zrA|hiLs_nNuo{zx@Z8UbwEm-v19UKKvhGCF=j73M?EvEc6HG z|3?*I940iX0J884pkW22ONjjIWGYsOf^*UfJ@dk%|Dg(WPVzrgv8QU${dwm_Or`o0 z=*){4i}6{Q+n@vY=(Z;0RoZadOqFp6@)*q)u8+{Wk(;+xBN==%fP91C|qq1ye9E%Ra-2(snLbP{uE>hW6Olp9yAg>amlnJ*{6iS3l$cW0+9wFcwI z*fXnRSo>`IS1EIu(u|4Ea(Y2Ou`H(WO6e1SVwohHQe1`2T&tAg!2>7$s<=OuP6CPD zE4YVEh3&}L?)iP+LtHRg_Bb6?OMJg#{JM<_EmI5ke@ZhHO~qs80cv{tmYQtgRn6Mr z6%hV381*UV-x#D4iX}w47HmYT`7`2BfJxgYju+64e;bzco!|VahhhGzdfF#^DQTF& zmG2G->Qg?l{N&@>xyxIf58B8;u6t`otmyS?OBU0REoO^j!6F(4Es#IZi~g;g{R=io z&rNvsM zd}T#wT3l}mW0syt>l!|(p!t2apugSI`%qlPQ!YWisA6az74RQG8a&c{Y4`5ecZ3ms ze^yIAOr-I_N8?jT?YnWyKa)UJ?90UdCxj88j^9zsB$cuG^ITM)@L7+9jA8R+T4zF+ z-O#Q*8ctqi^S2g;vxdKKDXBifDS!p0AkZ8a_iL$gh z#@hpn0o-GH2$tG3{?lg3;RB8$nm`JMZ-4Euf?kcq&IT7$^`RzQM71xK+?~=wPV?H9 zL1t3xm+0}Ee+(uEdtVO6N5yhzIN&`dU5xh;&~2_qUY%Z`{MkrC1VKvlj|lvQfJHoS zoJ>)(LIxA0znHtd65RXOYPf&JHkIB};Hk<6=6y3io7&9N@T(9bbqA!FK)H0Mf5rVm z_YJoRJ?#PaqfMjsG5O|zZ()4zh7^zXh5^=h=0bVn!ce+3UJ7JQi(Ex`# zl|jyQPP>(7C5$6L)b4djZM~5mkl*R|P4z+O{0vEsShbq$MXroxH+*%wqHe7Y?Xs0x ze-6BqB=m3PyDq3+Co`edwp~~d-+XzmJ?VVw)t4JMV7b;B=eJjXljY2HNx9-8AT2zZ za^v_JpFdP07#02n-GV~kwUMOYXpR1bXX->BDK&1q9qBDnjC}A%s~=g+r-VefGDgpB z=RH#2okEIB97cfUy;j43A_^jk05(ak_@b#LBx%iE(9C@{HV=F%_WKrSQ z&m~#EE75bJ3ne7Cb2Gpyu6)hO*_kJ^IZXb#nec`unWieU)luXNdXWwR5o#3JAZm|g zN>!leqrAy)_SD%N)G-3x8MzQU303Ux-|e3qm4lw$_FE5NTmWTkY7{%{8O%TTu8gyv zSt*jA4rL%(oasRy52Ty4=o?!Tp2u^@=JJ`D%aZC@+l>GA^mQr)G5>MttS^Xuq4)Py z>)&gBmWo$C$UKWydVCCi5|$lHru4HA)ocw7rda;+)N98b$t)Uk&p6dv4PzgHg@n+i znPvrD@^(Ob-@;w+lvkE>7pq3y`CHlILP4QR2z>)lS7Y?pLTE**tZtyQ=RQSWY%scF zZBtO|;xal=-|azr7Q7#^=E%o363(}k71lU%zpPD3>BFtCU`+lW;4=tqH4E{~_YeJ= z>>thzxBu!hQ{%y@4@*Ok>yKZFA}0>09*F(!z^`Kcs037RgAg5 zocgG}ckb7Psb!v%5#(-Msl3CpO<_nea(yzmPs3Di4h(A9c=1(rpYltp)wv(U7T6epWcWEcRBgFI4lE{;Y~#73 zP|M*zs$iFuV;<#R;8329Vg7|5^!Njt(#+O(J#BPQ!fNKc)va$2{vnS(X$rsc-(Tmj zI1dP~0Ov2Ir;2oB+V~%0v5YXJzVjCmf6Hmhrj)O4ukOp6II)u44e0&;`?1KGHw`LIlB6s~sHS&*eQ_!2smq1y=FO&}44@pt{Wr zC_8vQ!);Xk=G$|)-NJixhCL@gNt1@VJg8g1W?7bWa<%nFGmO0%69` zX>)y8d_(ISYK;zt+$MlOG$Gb5|V%UmXetY5ckLKvrwt>Q$=MCxsbk7x5YRU8K@FYY;s$$ zH_Wv+PD7T#RP)31m0OeK?6;?8=FWxA%aC0e@Pb9XC%13Dp=%AZO|^z*>fy)(J^(X# zw-@0fYJFi!m33om{MyeERQqLMfICu-KC(BcJTO^h_^5H-2E=PYCHnhkbBJicv)D%_ zgU4Hy`#26Vqx=!jRWv1Ouv$0;kw$`(1%}O1ub2`Qm0`l90OfqoA;YB{f9MREsvZCe z-o8o;BoBtp0KPj-Nfhl^`@`^;wo zv??TvL~B{rjx@qpr@SixmjkEgRbWxlmvh4SS^^fUJC)mPa79P@Zf zSkG`_X74qH0kmgbQ^^VwfCHrcaioZ2|7U{P?dFR(20@WRo~(@_`pi=$uDR7S_}243 z&mFO*khJ%N;fr0Ip0oE*lf*=4 zqRB{a+Ob>WM$mqTjN%^)&*GYSL}lWlSk7IEi=okXT32vXdX^*UMMK@$E&0Ke(FMfQ zi?|nQiz*Ks8;+b_p+Ky_nR_@U!+=UKJ!;nE(8@z#7_4{0+K#Q{*VdmuGPXt<=2LO@ z7&Xrv;*LQQd2#*0qTNszD~p+*xqG4Zqh?q;u-=m3^gJrl0^e&M&kwBO;1HlBqBEOY04^q zJ!a$U-I-bKT;l%W`~^j5sBu*;J+cAXDa&QI*<8;sh<6SI3#~GGN;C99e*5Nk*-h7k* zx58g)=`bH<-84=EiExDkKV_wFxtxCX>1SQf)H^XKoja8F>#Vf^m#=?7JU`3mJ8k;J zHWD%>1jR%}ao`q}Db5}@QiC|Z0KW{ngxAyyR5fVQ%^2oXPZ3X%4&YRBc*M6maQ%|P zmPnB3xjxX%wo-c%UbNB{uu=HCilnN9RHLTPFq47YM`_TXSWLiMAt(CmO@!O_?UEBS zY1~WeU|{t4v2in$_%F7K9{@>CFQFL&seQ+-(6;DU4zxLNI$j%j0)4K`u)U&_%J%mV zEwHu)0WAol6%r!NhGh?xN%^#s!{XlmC3ciP;*2SPY(IXFix04-nc`5Z#Q=y*QBR4> z9?E`zO%y|Ce52prUHkez|8f!^$7bB-`k1{A7?4$bW9hO@R7K%(B%AGiY}AVZR7ur9 zenN)=Ku1ft|KhWp7zt5-uj+OuQv%he;Zjx7;;caYlmW`hIwH|TwDXg{qWAXC849_T z(i_2>k0tN~i^*`c6Vd_`MFQoXxGTYso}eMFO)q2gK+EJ- z1PbeXh6Y?096|1N;=aX?;jWHd?IhSvA4p}B$piwN$+$8IE@#nkJ?Q!Kg~ERe{|DC7 B>yiKf literal 0 HcmV?d00001 diff --git a/docs/user.md b/docs/user.md index a18609a..280c9ea 100644 --- a/docs/user.md +++ b/docs/user.md @@ -12,6 +12,14 @@ Description: XR2981 based DC-DC converter, ELRS MINI 2.4GHz RX SX1280 receiver ( --- +Author: Oleg Kalachev.
+Description: the first attempt on making an official PCB based Flix drone (Flix2 board). The IMU is not working on this version, so an external MPU-6050 board was used, therefore considered as **Flix version 1.5**.
+[Flight video](https://drive.google.com/file/d/1R7tuUsFmPY0CGcOCFfMFaCp9kR49K3bl/view?usp=sharing). + + + +--- + Author: [FanBy0ru](https://https://github.com/FanBy0ru).
Description: custom 3D-printed frame.
Frame STLs and flight validation: https://cults3d.com/en/3d-model/gadget/armature-pour-flix-drone. From bd2b1bd5def11bcb676e6bc6c5b4b790a40f1415 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Mon, 18 May 2026 00:30:42 +0300 Subject: [PATCH 69/70] Improve voltage measurement Apply PWM_VOLT_PIN without reboot. Check if the voltage pin can be used with ADC when setting up. Set voltage to NAN, when it's unknown (including pyflix). pyflix@0.15. Don't send BATTERY_STATUS when voltage is unknown. Add dummy voltage to the simulator. --- flix/mavlink.ino | 2 +- flix/parameters.ino | 2 +- flix/power.ino | 6 +++--- gazebo/Arduino.h | 1 + gazebo/flix.h | 1 + gazebo/simulator.cpp | 2 ++ tools/pyflix/README.md | 2 +- tools/pyflix/flix.py | 3 ++- tools/pyproject.toml | 2 +- 9 files changed, 13 insertions(+), 8 deletions(-) diff --git a/flix/mavlink.ino b/flix/mavlink.ino index feaef8d..0fae287 100644 --- a/flix/mavlink.ino +++ b/flix/mavlink.ino @@ -46,7 +46,7 @@ void sendMavlink() { float remaining = constrain(mapf(voltage, 3.4, 4.2, 0, 1), 0, 1); mavlink_msg_battery_status_pack(mavlinkSysId, MAV_COMP_ID_AUTOPILOT1, &msg, 0, MAV_BATTERY_FUNCTION_ALL, MAV_BATTERY_TYPE_LIPO, INT16_MAX, voltages, -1, -1, -1, remaining * 100, 0, MAV_BATTERY_CHARGE_STATE_OK, voltagesExt, 0, 0); - sendMessage(&msg); + if (valid(voltage)) sendMessage(&msg); } if (telemetryFast && mavlinkConnected) { diff --git a/flix/parameters.ino b/flix/parameters.ino index 75d0288..d0d88bd 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -117,7 +117,7 @@ Parameter parameters[] = { {"MAV_RATE_SLOW", &telemetrySlow.rate}, {"MAV_RATE_FAST", &telemetryFast.rate}, // power - {"PWR_VOLT_PIN", &voltagePin}, + {"PWR_VOLT_PIN", &voltagePin, setupPower}, {"PWR_VOLT_SCALE", &voltageScale}, {"PWR_VOLT_LPF_A", &voltageFilter.alpha}, // safety diff --git a/flix/power.ino b/flix/power.ino index b9e07f0..a6df104 100644 --- a/flix/power.ino +++ b/flix/power.ino @@ -8,14 +8,14 @@ #include "lpf.h" #include "util.h" -float voltage; +float voltage = NAN; LowPassFilter voltageFilter(0.2); int voltagePin = -1; float voltageScale = 2; void setupPower() { - // Disable reset on low voltage - REG_CLR_BIT(RTC_CNTL_BROWN_OUT_REG, RTC_CNTL_BROWN_OUT_ENA); + REG_CLR_BIT(RTC_CNTL_BROWN_OUT_REG, RTC_CNTL_BROWN_OUT_ENA); // disable reset on low voltage + if (digitalPinToAnalogChannel(voltagePin) == -1) voltagePin = -1; // test ADC pin } void readVoltage() { diff --git a/gazebo/Arduino.h b/gazebo/Arduino.h index 52c849b..6122225 100644 --- a/gazebo/Arduino.h +++ b/gazebo/Arduino.h @@ -168,6 +168,7 @@ void delay(uint32_t ms) { bool ledcAttach(uint8_t pin, uint32_t freq, uint8_t resolution) { return true; } bool ledcWrite(uint8_t pin, uint32_t duty) { return true; } uint32_t ledcChangeFrequency(uint8_t pin, uint32_t freq, uint8_t resolution) { return freq; } +int8_t digitalPinToAnalogChannel(uint8_t pin) { return -1; } uint32_t analogReadMilliVolts(uint8_t pin) { return 0; } unsigned long __micros; diff --git a/gazebo/flix.h b/gazebo/flix.h index 83a956f..122bdb5 100644 --- a/gazebo/flix.h +++ b/gazebo/flix.h @@ -58,6 +58,7 @@ void handleMavlink(const void *_msg); void mavlinkPrint(const char* str); void sendMavlinkPrint(); inline Quaternion fluToFrd(const Quaternion &q); +void setupPower(); void failsafe(); void rcLossFailsafe(); void descend(); diff --git a/gazebo/simulator.cpp b/gazebo/simulator.cpp index cf3e9e5..ca2776c 100644 --- a/gazebo/simulator.cpp +++ b/gazebo/simulator.cpp @@ -73,6 +73,8 @@ public: gyro = Vector(imu->AngularVelocity().X(), imu->AngularVelocity().Y(), imu->AngularVelocity().Z()); acc = this->accFilter.update(Vector(imu->LinearAcceleration().X(), imu->LinearAcceleration().Y(), imu->LinearAcceleration().Z())); + voltage = 4.2f; // dummy voltage value + readRC(); estimate(); diff --git a/tools/pyflix/README.md b/tools/pyflix/README.md index 702e39d..eff2ab1 100644 --- a/tools/pyflix/README.md +++ b/tools/pyflix/README.md @@ -37,7 +37,7 @@ print(flix.connected) # True if connected to the drone print(flix.mode) # current flight mode (str) print(flix.armed) # True if the drone is armed print(flix.landed) # True if the drone is landed -print(flix.voltage) # battery voltage +print(flix.voltage) # battery voltage (NaN - unknown, ~0 - USB powered) print(flix.attitude) # attitude quaternion [w, x, y, z] print(flix.attitude_euler) # attitude as Euler angles [roll, pitch, yaw] print(flix.rates) # angular rates [roll_rate, pitch_rate, yaw_rate] diff --git a/tools/pyflix/flix.py b/tools/pyflix/flix.py index 211b5df..a6b44a3 100644 --- a/tools/pyflix/flix.py +++ b/tools/pyflix/flix.py @@ -5,6 +5,7 @@ import os import time +import math from queue import Queue, Empty from typing import Optional, Callable, List, Dict, Any, Union, Sequence import logging @@ -26,7 +27,7 @@ class Flix: mode: str = '' armed: bool = False landed: bool = False - voltage: float = 0 + voltage: float = math.nan attitude: List[float] attitude_euler: List[float] # roll, pitch, yaw rates: List[float] diff --git a/tools/pyproject.toml b/tools/pyproject.toml index 0ac51a0..7b6031c 100644 --- a/tools/pyproject.toml +++ b/tools/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "pyflix" -version = "0.14" +version = "0.15" description = "Python API for Flix drone" authors = [{ name="Oleg Kalachev", email="okalachev@gmail.com" }] license = "MIT" From fdcc9533b3a1f797680690c429a770daa24968d0 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Thu, 21 May 2026 10:48:31 +0300 Subject: [PATCH 70/70] Implement ESP-NOW support (#40) --- Makefile | 4 ++ README.md | 4 +- docs/img/espnow-connection.jpg | Bin 0 -> 47299 bytes docs/usage.md | 38 ++++++++++-- flix/cli.ino | 8 ++- flix/parameters.ino | 5 +- flix/util.h | 11 ++++ flix/wifi.ino | 81 +++++++++++++++++++------ gazebo/ESP32_NOW_Serial.h | 12 ++++ tools/espnow-proxy/README.md | 3 + tools/espnow-proxy/espnow-proxy.ino | 88 ++++++++++++++++++++++++++++ 11 files changed, 227 insertions(+), 27 deletions(-) create mode 100644 docs/img/espnow-connection.jpg create mode 100644 gazebo/ESP32_NOW_Serial.h create mode 100644 tools/espnow-proxy/README.md create mode 100644 tools/espnow-proxy/espnow-proxy.ino diff --git a/Makefile b/Makefile index 5dfc9e6..de670c4 100644 --- a/Makefile +++ b/Makefile @@ -18,6 +18,10 @@ dependencies .dependencies: arduino-cli lib install "MAVLink"@2.0.25 touch .dependencies +upload_proxy: .dependencies + arduino-cli compile --fqbn $(BOARD) tools/espnow-proxy + arduino-cli upload --fqbn $(BOARD) -p "$(PORT)" tools/espnow-proxy + gazebo/build cmake: gazebo/CMakeLists.txt mkdir -p gazebo/build cd gazebo/build && cmake .. diff --git a/README.md b/README.md index 649c559..c7da620 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,8 @@ * Dedicated for education and research. * Made from general-purpose components. * Simple and clean source code in Arduino (<2k lines firmware). -* Connectivity using Wi-Fi and MAVLink protocol. -* Control using USB gamepad, remote control or smartphone. +* Communication using MAVLink protocol over Wi-Fi or ESP-NOW. +* Control with USB gamepad, remote control or smartphone. * Wireless command line interface and analyzing. * Precise simulation with Gazebo. * Python library for scripting and automatic flights. diff --git a/docs/img/espnow-connection.jpg b/docs/img/espnow-connection.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fdd6a0e60c8469bdbb581f1bc0dcffb75afa7e35 GIT binary patch literal 47299 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 Jzkt6>{|%o=b}9e> literal 0 HcmV?d00001 diff --git a/docs/usage.md b/docs/usage.md index 39f9da4..5984a32 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -290,11 +290,8 @@ The Wi-Fi mode is chosen using `WIFI_MODE` parameter in QGroundControl or in the * `0` — Wi-Fi is disabled. * `1` — Access Point mode *(AP)* — the drone creates a Wi-Fi network. -* `2` — Client mode *(STA)* — the drone connects to an existing Wi-Fi network. -* `3` — *ESP-NOW (not implemented yet)*. - -> [!WARNING] -> Tests showed that Client mode may cause **additional delays** in remote control (due to retranslations), so it's generally not recommended. +* `2` — Client mode *(STA)* — the drone connects to an existing Wi-Fi network (may cause additional delays, so generally not recommended). +* `3` — ESP-NOW mode — the drone uses ESP-NOW protocol for communication. The SSID and password are configured using the `ap` and `sta` console commands: @@ -316,6 +313,37 @@ Disabling Wi-Fi: p WIFI_MODE 0 ``` +### Using ESP-NOW + +[ESP-NOW](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/network/esp_now.html) is a low level wireless communication protocol. It can provide lower latency, better reliability, and longer range than Wi-Fi. However, it requires a second ESP32 board to be used as a proxy for the computer. + + + +To setup ESP-NOW communication: + +1. Flash the second ESP32 board with ESP-NOW proxy sketch: [`tools/espnow-proxy/espnow-proxy.ino`](../tools/espnow-proxy/espnow-proxy.ino). Use Arduino IDE or command line: `make upload_proxy`. + +2. Open Serial Monitor or use `make monitor` command. The ESP32 will print its MAC address and generated encryption key, for example: + + ``` + espnow 7a:c8:e3:eb:bf:e9 &PiuSysxP9+$L&5E + ``` + + Run this line as a console command on each drone you want to bind to this proxy board. + +3. Set the `WIFI_MODE` parameter to `3` on the drone: + + ``` + p WIFI_MODE 3 + ``` + +4. Go to the QGroundControl menu ⇒ *Application Settings* ⇒ *Comm Links*, add new link with the following settings: + * Name: ESP32. + * Type: Serial. + * Serial Port: choose the port of the proxy ESP32 board, e. g. `/dev/cu.usbserial-0001`. + * Baud Rate: 115200. +5. Click *Save*. QGroundControl should connect to the drone using ESP-NOW and begin showing the telemetry. + ## Flight log After the flight, you can download the flight log for analysis wirelessly. Use the following command on your computer for that: diff --git a/flix/cli.ino b/flix/cli.ino index 6be66c0..7922f1a 100644 --- a/flix/cli.ino +++ b/flix/cli.ino @@ -10,6 +10,7 @@ extern const int MOTOR_REAR_LEFT, MOTOR_REAR_RIGHT, MOTOR_FRONT_RIGHT, MOTOR_FRONT_LEFT; extern const int RAW, ACRO, STAB, AUTO; +extern const int W_AP, W_STA, W_ESPNOW; extern float t, dt, loopRate; extern uint16_t channels[16]; extern float controlTime; @@ -45,6 +46,7 @@ const char* motd = "wifi - show Wi-Fi info\n" "ap - setup Wi-Fi access point\n" "sta - setup Wi-Fi client mode\n" +"espnow [] - setup ESP-NOW peer\n" "mot - show motor output\n" "log [dump] - print log header [and data]\n" "cr - calibrate RC\n" @@ -143,9 +145,11 @@ void doCommand(String str, bool echo = false) { } else if (command == "wifi") { printWiFiInfo(); } else if (command == "ap") { - configWiFi(true, arg0.c_str(), arg1.c_str()); + configWiFi(W_AP, arg0.c_str(), arg1.c_str()); } else if (command == "sta") { - configWiFi(false, arg0.c_str(), arg1.c_str()); + configWiFi(W_STA, arg0.c_str(), arg1.c_str()); + } else if (command == "espnow") { + configWiFi(W_ESPNOW, arg0.c_str(), arg1.c_str()); } else if (command == "mot") { print("front-right %g front-left %g rear-right %g rear-left %g\n", motors[MOTOR_FRONT_RIGHT], motors[MOTOR_FRONT_LEFT], motors[MOTOR_REAR_RIGHT], motors[MOTOR_REAR_LEFT]); diff --git a/flix/parameters.ino b/flix/parameters.ino index d0d88bd..6533110 100644 --- a/flix/parameters.ino +++ b/flix/parameters.ino @@ -10,7 +10,7 @@ extern int channelZero[16]; extern int channelMax[16]; extern int rollChannel, pitchChannel, throttleChannel, yawChannel, armedChannel, modeChannel; extern int rcRxPin; -extern int wifiMode, udpLocalPort, udpRemotePort; +extern int wifiMode, wifiLongRange, udpLocalPort, udpRemotePort, espnowChannel; extern float rcLossTimeout, descendTime; extern int voltagePin; extern float voltageScale; @@ -112,6 +112,9 @@ Parameter parameters[] = { {"WIFI_MODE", &wifiMode}, {"WIFI_PORT_LOC", &udpLocalPort}, {"WIFI_PORT_REM", &udpRemotePort}, + {"WIFI_LONG_RANGE", &wifiLongRange}, + // espnow + {"ESPNOW_CHANNEL", &espnowChannel}, // mavlink {"MAV_SYS_ID", &mavlinkSysId}, {"MAV_RATE_SLOW", &telemetrySlow.rate}, diff --git a/flix/util.h b/flix/util.h index cda50f3..f721f4a 100644 --- a/flix/util.h +++ b/flix/util.h @@ -6,6 +6,7 @@ #pragma once #include +#include const float ONE_G = 9.80665; extern float t; @@ -46,6 +47,16 @@ void splitString(String& str, String& token0, String& token1, String& token2) { if (token2.c_str() == NULL) token2 = ""; } +// Simplified ESP-NOW Serial without tx buffering and resends +class ESPNOWSerial : public ESP_NOW_Serial_Class { +public: + using ESP_NOW_Serial_Class::ESP_NOW_Serial_Class; + void onSent(bool success) override {} // disable resends + size_t write(const uint8_t *data, size_t len) override { + return ESP_NOW_Peer::send(data, len); // pure send without buffering + } +}; + // Rate limiter class Rate { public: diff --git a/flix/wifi.ino b/flix/wifi.ino index c0aa119..5c87828 100644 --- a/flix/wifi.ino +++ b/flix/wifi.ino @@ -1,82 +1,129 @@ // Copyright (c) 2023 Oleg Kalachev // Repository: https://github.com/okalachev/flix -// Wi-Fi communication +// Wi-Fi and ESP-NOW communication #include #include #include +#include +#include #include "Preferences.h" +#include "util.h" extern Preferences storage; // use the main preferences storage -const int W_DISABLED = 0, W_AP = 1, W_STA = 2; +const int W_DISABLED = 0, W_AP = 1, W_STA = 2, W_ESPNOW = 3; int wifiMode = W_AP; + +int wifiLongRange = 0; int udpLocalPort = 14550; int udpRemotePort = 14550; IPAddress udpRemoteIP = "255.255.255.255"; - WiFiUDP udp; +ESPNOWSerial espnow(NULL, 0, WIFI_IF_AP); +ESPNOWSerial espnowBroadcast(ESP_NOW.BROADCAST_ADDR, 0, WIFI_IF_AP); +int espnowChannel = 6; + void setupWiFi() { print("Setup Wi-Fi\n"); + WiFi.enableLongRange(wifiLongRange); + if (wifiMode == W_AP) { WiFi.softAP(storage.getString("WIFI_AP_SSID", "flix").c_str(), storage.getString("WIFI_AP_PASS", "flixwifi").c_str()); + udp.begin(udpLocalPort); } else if (wifiMode == W_STA) { WiFi.begin(storage.getString("WIFI_STA_SSID", "").c_str(), storage.getString("WIFI_STA_PASS", "").c_str()); - } else { - return; + udp.begin(udpLocalPort); + } else if (wifiMode == W_ESPNOW) { + WiFi.mode(WIFI_AP); + WiFi.setChannel(espnowChannel); + espnow.addr(MacAddress(storage.getString("ESPNOW_PEER_MAC", "FF:FF:FF:FF:FF:FF").c_str())); + String key = storage.getString("ESPNOW_PEER_KEY", ""); + espnow.setKey(key.isEmpty() ? nullptr : (const uint8_t *)key.c_str()); + espnow.begin(); + espnowBroadcast.begin(); } + WiFi.setSleep(false); // disable power save - udp.begin(udpLocalPort); } void sendWiFi(const uint8_t *buf, int len) { + if (espnow) { + espnow.write(buf, len); + static Rate discovery(2); + if (discovery) espnowBroadcast.write((const uint8_t *)"flix", 4); // broadcast message to help finding this device + return; + } + if (WiFi.softAPgetStationNum() == 0 && !WiFi.isConnected()) return; + udp.beginPacket(udpRemoteIP, udpRemotePort); udp.write(buf, len); udp.endPacket(); } int receiveWiFi(uint8_t *buf, int len) { + if (espnow) { + return espnow.read(buf, len); + } + if (WiFi.softAPgetStationNum() == 0 && !WiFi.isConnected()) return 0; + udp.parsePacket(); if (udp.remoteIP()) udpRemoteIP = udp.remoteIP(); return udp.read(buf, len); } void printWiFiInfo() { - if (WiFi.getMode() == WIFI_MODE_AP) { + if (espnow) { + print("Mode: ESP-NOW\n"); + print("ESP-NOW version: %d\n", ESP_NOW.getVersion()); + print("Max packet size: %d\n", ESP_NOW.getMaxDataLen()); + print("MAC: %s\n", WiFi.softAPmacAddress().c_str()); + print("Peer MAC: %s\n", MacAddress(espnow.addr()).toString().c_str()); + print("Encrypted: %d\n", espnow.isEncrypted()); + print("Channel: %d\n", espnow.getChannel()); + } else if (WiFi.getMode() == WIFI_MODE_AP) { print("Mode: Access Point (AP)\n"); print("MAC: %s\n", WiFi.softAPmacAddress().c_str()); print("SSID: %s\n", WiFi.softAPSSID().c_str()); print("Password: ***\n"); + print("Channel: %d\n", WiFi.channel()); print("Clients: %d\n", WiFi.softAPgetStationNum()); print("IP: %s\n", WiFi.softAPIP().toString().c_str()); + print("Remote IP: %s\n", udpRemoteIP.toString().c_str()); } else if (WiFi.getMode() == WIFI_MODE_STA) { print("Mode: Client (STA)\n"); print("Connected: %d\n", WiFi.isConnected()); print("MAC: %s\n", WiFi.macAddress().c_str()); print("SSID: %s\n", WiFi.SSID().c_str()); print("Password: ***\n"); - print("IP: %s\n", WiFi.localIP().toString().c_str()); + print("Channel: %d\n", WiFi.channel()); print("RSSI: %d dBm\n", WiFi.RSSI()); + print("IP: %s\n", WiFi.localIP().toString().c_str()); + print("Remote IP: %s\n", udpRemoteIP.toString().c_str()); } else { print("Mode: Disabled\n"); - return; } - print("Channel: %d\n", WiFi.channel()); - print("Remote IP: %s\n", udpRemoteIP.toString().c_str()); print("MAVLink connected: %d\n", mavlinkConnected); } -void configWiFi(bool ap, const char *ssid, const char *password) { - if (ap) { - storage.putString("WIFI_AP_SSID", ssid); - storage.putString("WIFI_AP_PASS", password); +void configWiFi(int mode, const char *first, const char *second) { + MacAddress mac; + if (mode == W_AP && strlen(first) > 0 && strlen(second) >= 8) { + storage.putString("WIFI_AP_SSID", first); + storage.putString("WIFI_AP_PASS", second); + } else if (mode == W_STA && strlen(first) > 0 && strlen(second) >= 8) { + storage.putString("WIFI_STA_SSID", first); + storage.putString("WIFI_STA_PASS", second); + } else if (mode == W_ESPNOW && mac.fromString(first)) { + storage.putString("ESPNOW_PEER_MAC", first); + storage.putString("ESPNOW_PEER_KEY", strlen(second) == ESP_NOW_KEY_LEN ? second : ""); } else { - storage.putString("WIFI_STA_SSID", ssid); - storage.putString("WIFI_STA_PASS", password); + print("Invalid configuration\n"); + return; } print("✓ Reboot to apply new settings\n"); } diff --git a/gazebo/ESP32_NOW_Serial.h b/gazebo/ESP32_NOW_Serial.h new file mode 100644 index 0000000..1d56c35 --- /dev/null +++ b/gazebo/ESP32_NOW_Serial.h @@ -0,0 +1,12 @@ +// Dummy file for the simulator + +class ESP_NOW_Peer { +protected: + size_t send(const uint8_t *data, int len) { return 0; } +}; + +class ESP_NOW_Serial_Class : public ESP_NOW_Peer { +public: + virtual void onSent(bool success) {}; + virtual size_t write(const uint8_t *data, size_t len) { return 0; }; +}; diff --git a/tools/espnow-proxy/README.md b/tools/espnow-proxy/README.md new file mode 100644 index 0000000..0a83be2 --- /dev/null +++ b/tools/espnow-proxy/README.md @@ -0,0 +1,3 @@ +# ESPNOW-proxy + +Proxy sketch for using ESP-NOW connection with Flix drone. diff --git a/tools/espnow-proxy/espnow-proxy.ino b/tools/espnow-proxy/espnow-proxy.ino new file mode 100644 index 0000000..c42c914 --- /dev/null +++ b/tools/espnow-proxy/espnow-proxy.ino @@ -0,0 +1,88 @@ +// Copyright (c) 2026 Oleg Kalachev +// Repository: https://github.com/okalachev/flix + +// Proxy for ESP-NOW connection + +#include +#include +#include +#include +#include +#include +#include "../../flix/util.h" + +const int CHANNEL = 6; +char key[ESP_NOW_KEY_LEN + 1] = {0}; // with trailing null + +Preferences storage; + +std::vector peers; + +void onNewPeer(const esp_now_recv_info_t *info, const uint8_t *data, int len, void *arg) { + if (len != 4 || memcmp(data, "flix", 4) != 0) return; // check if discovery message + + Serial.printf("New peer: " MACSTR "\n", MAC2STR(info->src_addr)); + ESPNOWSerial *link = new ESPNOWSerial(info->src_addr, CHANNEL, WIFI_IF_AP); + link->begin(); + link->setKey((const uint8_t *)key); + peers.push_back(link); +} + +void setup() { + Serial.begin(115200); + WiFi.mode(WIFI_AP); + WiFi.setSleep(false); + WiFi.setChannel(CHANNEL); + + ESP_NOW.onNewPeer(onNewPeer, NULL); + ESP_NOW.begin(); + + storage.begin("espnow-proxy"); + if (!storage.isKey("key")) { + generateRandomKey(); + storage.putString("key", key); + } + strcpy(key, storage.getString("key").c_str()); + + // Discover the first peer + while (peers.empty()) { + Serial.printf("espnow %s %s\n", WiFi.softAPmacAddress().c_str(), key); + delay(500); + } +} + +void generateRandomKey() { + const char chars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*-_+="; + for (int i = 0; i < ESP_NOW_KEY_LEN; i++) { + key[i] = chars[random(0, strlen(chars))]; + } +} + +void loop() { + uint8_t buf[5000]; + + // Send from Serial to ESP-NOW + while (Serial.available() > 0) { + int b = Serial.read(); + if (b < 0) { + break; + } + + mavlink_message_t msg; + mavlink_status_t status; + if (mavlink_parse_char(MAVLINK_COMM_0, (uint8_t)b, &msg, &status)) { + int len = mavlink_msg_to_send_buffer(buf, &msg); + for (ESPNOWSerial *link : peers) { + link->write(buf, len); + } + } + } + + // Send from ESP-NOW to Serial + for (ESPNOWSerial *link : peers) { + int len = link->read(buf, sizeof(buf)); + if (len > 0) { + Serial.write(buf, len); + } + } +}