From 252d10e99c6f891d6ed6925f00286297bd79da89 Mon Sep 17 00:00:00 2001 From: Peter Feerick Date: Sun, 30 Jun 2024 11:54:26 +1000 Subject: [PATCH] feat: Fatfish F16 support (2.10) (#5222) Co-authored-by: Richard Li --- .github/ISSUE_TEMPLATE/bug-report.yml | 1 + .github/workflows/actions.yml | 1 + .github/workflows/nightly.yml | 1 + companion/src/CMakeLists.txt | 2 + companion/src/companion.qrc | 4 + companion/src/firmwares/boards.cpp | 5 + companion/src/firmwares/boards.h | 9 +- .../src/firmwares/customfunctiondata.cpp | 7 +- companion/src/firmwares/customfunctiondata.h | 1 + .../edgetx/yaml_customfunctiondata.cpp | 1 + .../src/firmwares/opentx/opentxeeprom.cpp | 1 + .../src/firmwares/opentx/opentxinterface.cpp | 25 ++- .../images/simulator/Fatfish/F16/bottom.png | Bin 0 -> 18875 bytes .../src/images/simulator/Fatfish/F16/left.png | Bin 0 -> 74290 bytes .../images/simulator/Fatfish/F16/right.png | Bin 0 -> 68242 bytes .../src/images/simulator/Fatfish/F16/top.png | Bin 0 -> 49978 bytes companion/src/simulation/CMakeLists.txt | 1 + companion/src/simulation/simulateduiwidget.h | 21 +- .../simulateduiwidgetFatfishF16.cpp | 70 ++++++ .../simulation/simulateduiwidgetFatfishF16.ui | 208 ++++++++++++++++++ companion/src/simulation/simulatorwidget.cpp | 9 +- fw.json | 1 + radio/src/audio.cpp | 2 +- radio/src/dataconstants.h | 1 + radio/src/functions.cpp | 21 ++ radio/src/gui/colorlcd/lcd.cpp | 24 +- radio/src/gui/gui_common.cpp | 4 + .../storage/yaml/yaml_datastructs_128x64.cpp | 1 + .../storage/yaml/yaml_datastructs_nv14.cpp | 1 + .../storage/yaml/yaml_datastructs_pl18.cpp | 1 + .../src/storage/yaml/yaml_datastructs_t20.cpp | 1 + .../storage/yaml/yaml_datastructs_tpro.cpp | 1 + .../src/storage/yaml/yaml_datastructs_x10.cpp | 1 + .../storage/yaml/yaml_datastructs_x12s.cpp | 1 + .../src/storage/yaml/yaml_datastructs_x9d.cpp | 1 + .../src/storage/yaml/yaml_datastructs_x9e.cpp | 1 + .../storage/yaml/yaml_datastructs_xlites.cpp | 1 + .../arm/stm32/bootloader/CMakeLists.txt | 6 + radio/src/targets/horus/CMakeLists.txt | 20 ++ radio/src/targets/horus/board.cpp | 16 ++ radio/src/targets/horus/board.h | 14 +- radio/src/targets/horus/hal.h | 38 ++-- radio/src/targets/horus/lcd_driver.cpp | 24 +- radio/src/targets/horus/usb_descriptor.h | 4 + .../src/targets/horus/videoswitch_driver.cpp | 50 +++++ radio/src/targets/horus/videoswitch_driver.h | 25 +++ radio/src/telemetry/frsky.h | 2 +- radio/src/translations.cpp | 1 + radio/src/translations.h | 1 + radio/src/translations/cn.h | 1 + radio/src/translations/cz.h | 1 + radio/src/translations/de.h | 1 + radio/src/translations/en.h | 1 + radio/src/translations/es.h | 1 + radio/src/translations/fi.h | 1 + radio/src/translations/fr.h | 1 + radio/src/translations/he.h | 1 + radio/src/translations/it.h | 1 + radio/src/translations/jp.h | 1 + radio/src/translations/nl.h | 1 + radio/src/translations/pl.h | 1 + radio/src/translations/pt.h | 1 + radio/src/translations/ru.h | 1 + radio/src/translations/se.h | 1 + radio/src/translations/tw.h | 1 + radio/util/build-firmware.py | 5 + radio/util/fwoptions.py | 13 ++ radio/util/hw_defs/legacy_names.py | 2 +- radio/util/hw_defs/pot_config.py | 7 + radio/util/hw_defs/switch_config.py | 10 + tools/boards.py | 5 + tools/build-companion.sh | 5 +- tools/build-gh.sh | 3 + 73 files changed, 650 insertions(+), 47 deletions(-) create mode 100644 companion/src/images/simulator/Fatfish/F16/bottom.png create mode 100644 companion/src/images/simulator/Fatfish/F16/left.png create mode 100644 companion/src/images/simulator/Fatfish/F16/right.png create mode 100644 companion/src/images/simulator/Fatfish/F16/top.png create mode 100644 companion/src/simulation/simulateduiwidgetFatfishF16.cpp create mode 100644 companion/src/simulation/simulateduiwidgetFatfishF16.ui create mode 100644 radio/src/targets/horus/videoswitch_driver.cpp create mode 100644 radio/src/targets/horus/videoswitch_driver.h diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index c28ccf01678..8de4b3a4b47 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -88,6 +88,7 @@ body: options: - BetaFPV LiteRadio3 Pro - iFlight Commando8 + - Fatfish F16 - Flysky EL18 - Flysky NV14 - Flysky PL18/PL18EV diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index c2b1622d360..5d2cd3ae78c 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -104,6 +104,7 @@ jobs: - t20;t20v2;t14 - tx12;tx12mk2;boxer - tx16s + - f16 - x10;x10-access - x12s - x7;x7-access diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 7bb1694d27d..85b85e09d16 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -25,6 +25,7 @@ jobs: - t20;t20v2;t14 - tx12;tx12mk2;boxer - tx16s + - f16 - x10;x10-access - x12s - x7;x7-access diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index f41b0873baf..f194e151abe 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -334,6 +334,8 @@ elseif(PCB STREQUAL X10 AND PCBREV STREQUAL EXPRESS) set(FLAVOUR x10express) elseif(PCB STREQUAL X10 AND PCBREV STREQUAL TX16S) set(FLAVOUR tx16s) +elseif(PCB STREQUAL X10 AND PCBREV STREQUAL F16) + set(FLAVOUR f16) elseif(PCB STREQUAL X7 AND PCBREV STREQUAL T14) set(FLAVOUR t14) elseif(PCB STREQUAL X10 AND PCBREV STREQUAL T15) diff --git a/companion/src/companion.qrc b/companion/src/companion.qrc index 6c4d972a288..4f292828b2e 100644 --- a/companion/src/companion.qrc +++ b/companion/src/companion.qrc @@ -257,6 +257,10 @@ images/simulator/T8/right-dn.png images/simulator/T8/bottom.png images/simulator/T8/top.png + images/simulator/Fatfish/F16/left.png + images/simulator/Fatfish/F16/right.png + images/simulator/Fatfish/F16/top.png + images/simulator/Fatfish/F16/bottom.png images/simulator/JumperT14/bottom.png images/simulator/JumperT14/left.png images/simulator/JumperT14/right.png diff --git a/companion/src/firmwares/boards.cpp b/companion/src/firmwares/boards.cpp index ca22f24a5f3..95e52937689 100644 --- a/companion/src/firmwares/boards.cpp +++ b/companion/src/firmwares/boards.cpp @@ -210,6 +210,7 @@ int Boards::getEEpromSize(Board::Type board) case BOARD_FLYSKY_NV14: case BOARD_FLYSKY_EL18: case BOARD_FLYSKY_PL18: + case BOARD_FATFISH_F16: return 0; default: return 0; @@ -261,6 +262,7 @@ int Boards::getFlashSize(Type board) case BOARD_FLYSKY_NV14: case BOARD_FLYSKY_EL18: case BOARD_FLYSKY_PL18: + case BOARD_FATFISH_F16: return FSIZE_HORUS; case BOARD_UNKNOWN: return FSIZE_MAX; @@ -569,6 +571,8 @@ QString Boards::getBoardName(Board::Type board) return "BETAFPV LR3PRO"; case BOARD_IFLIGHT_COMMANDO8: return "iFlight Commando 8"; + case BOARD_FATFISH_F16: + return "Fatfish F16"; default: return CPN_STR_UNKNOWN_ITEM; } @@ -676,6 +680,7 @@ int Boards::getDefaultInternalModules(Board::Type board) case BOARD_JUMPER_T20: case BOARD_JUMPER_T20V2: case BOARD_JUMPER_T15: + case BOARD_FATFISH_F16: return (int)MODULE_TYPE_CROSSFIRE; case BOARD_FLYSKY_NV14: diff --git a/companion/src/firmwares/boards.h b/companion/src/firmwares/boards.h index 0f0ff41eadc..38ca99b768e 100644 --- a/companion/src/firmwares/boards.h +++ b/companion/src/firmwares/boards.h @@ -83,6 +83,7 @@ namespace Board { BOARD_JUMPER_TPROV2, BOARD_RADIOMASTER_POCKET, BOARD_JUMPER_T20V2, + BOARD_FATFISH_F16, BOARD_TYPE_COUNT, BOARD_TYPE_MAX = BOARD_TYPE_COUNT - 1 }; @@ -492,15 +493,19 @@ inline bool IS_RADIOMASTER_POCKET(Board::Type board) return board == Board::BOARD_RADIOMASTER_POCKET; } - inline bool IS_RADIOMASTER_T8(Board::Type board) { return board == Board::BOARD_RADIOMASTER_T8; } +inline bool IS_FATFISH_F16(Board::Type board) +{ + return board == Board::BOARD_FATFISH_F16; +} + inline bool IS_FAMILY_T16(Board::Type board) { - return board == Board::BOARD_JUMPER_T15 || board == Board::BOARD_JUMPER_T16 || board == Board::BOARD_RADIOMASTER_TX16S || board == Board::BOARD_JUMPER_T18; + return board == Board::BOARD_JUMPER_T15 || board == Board::BOARD_JUMPER_T16 || board == Board::BOARD_RADIOMASTER_TX16S || board == Board::BOARD_JUMPER_T18 || board == Board::BOARD_FATFISH_F16; } inline bool IS_FAMILY_T12(Board::Type board) diff --git a/companion/src/firmwares/customfunctiondata.cpp b/companion/src/firmwares/customfunctiondata.cpp index e1fdf250e1f..261692e0727 100644 --- a/companion/src/firmwares/customfunctiondata.cpp +++ b/companion/src/firmwares/customfunctiondata.cpp @@ -129,6 +129,8 @@ QString CustomFunctionData::funcToString(const AssignFunc func, const ModelData return tr("Audio Amp Off"); else if (func == FuncRGBLed) return tr("RGB leds"); + else if (func == FuncLCDtoVideo) + return tr("LCD to Video"); else { return QString(CPN_STR_UNKNOWN_ITEM); } @@ -253,9 +255,10 @@ bool CustomFunctionData::isFuncAvailable(const int index, const ModelData * mode ((index >= FuncRangeCheckInternalModule && index <= FuncBindExternalModule) && !fw->getCapability(DangerousFunctions)) || ((index >= FuncAdjustGV1 && index <= FuncAdjustGVLast) && !fw->getCapability(Gvars)) || ((index == FuncDisableTouch) && !IS_HORUS_OR_TARANIS(fw->getBoard())) || - ((index == FuncSetScreen && !Boards::getCapability(fw->getBoard(), Board::HasColorLcd)) || + ((index == FuncSetScreen && !Boards::getCapability(fw->getBoard(), Board::HasColorLcd))) || ((index == FuncDisableAudioAmp && !Boards::getCapability(fw->getBoard(), Board::HasAudioMuteGPIO))) || - ((index == FuncRGBLed && !Boards::getCapability(fw->getBoard(), Board::HasLedStripGPIO)))) + ((index == FuncRGBLed && !Boards::getCapability(fw->getBoard(), Board::HasLedStripGPIO))) || + ((index == FuncLCDtoVideo && !IS_FATFISH_F16(fw->getBoard()))) ); return !ret; } diff --git a/companion/src/firmwares/customfunctiondata.h b/companion/src/firmwares/customfunctiondata.h index 6f5a503ca5b..fbae1284a0a 100644 --- a/companion/src/firmwares/customfunctiondata.h +++ b/companion/src/firmwares/customfunctiondata.h @@ -74,6 +74,7 @@ enum AssignFunc { FuncSetScreen, FuncDisableAudioAmp, FuncRGBLed, + FuncLCDtoVideo, FuncCount, FuncReserve = -1 }; diff --git a/companion/src/firmwares/edgetx/yaml_customfunctiondata.cpp b/companion/src/firmwares/edgetx/yaml_customfunctiondata.cpp index cc903f40e52..4a64ad22cbd 100644 --- a/companion/src/firmwares/edgetx/yaml_customfunctiondata.cpp +++ b/companion/src/firmwares/edgetx/yaml_customfunctiondata.cpp @@ -61,6 +61,7 @@ static const YamlLookupTable customFnLut = { { FuncSetScreen, "SET_SCREEN"}, { FuncDisableAudioAmp, "DISABLE_AUDIO_AMP" }, { FuncRGBLed, "RGB_LED" }, + { FuncLCDtoVideo, "LCD_TO_VIDEO" }, }; static const YamlLookupTable trainerLut = { diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index b4d1320af84..9ef01261494 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -1642,6 +1642,7 @@ class CustomFunctionsConversionTable: public ConversionTable { addConversion(FuncRacingMode, val++); addConversion(FuncDisableTouch, val++); addConversion(FuncSetScreen, val++); + addConversion(FuncLCDtoVideo, val++); } } }; diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index d9d3171ccb8..735523c9223 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -136,6 +136,8 @@ const char * OpenTxEepromInterface::getName() return "EdgeTx for BETAFPV LR3PRO"; case BOARD_IFLIGHT_COMMANDO8: return "EdgeTX for iFlight Commando 8"; + case BOARD_FATFISH_F16: + return "EdgeTX for Fatfish F16"; default: return "Board is unknown to EdgeTX"; } @@ -1254,6 +1256,9 @@ void registerOpenTxFirmwares() { OpenTxFirmware * firmware; + static const Firmware::Option opt_bt("bluetooth", Firmware::tr("Support for bluetooth module")); + static const Firmware::Option opt_internal_gps("internalgps", Firmware::tr("Support internal GPS")); + /* BETAFPV LR3PRO board */ firmware = new OpenTxFirmware(FIRMWAREID("lr3pro"), QCoreApplication::translate("Firmware", "BETAFPV LiteRadio3 Pro"), BOARD_BETAFPV_LR3PRO); addOpenTxCommonOptions(firmware); @@ -1264,24 +1269,32 @@ void registerOpenTxFirmwares() registerOpenTxFirmware(firmware); addOpenTxRfOptions(firmware, FLEX); + /* Fatfish F16 board */ + firmware = new OpenTxFirmware(FIRMWAREID("f16"), Firmware::tr("Fatfish F16"), BOARD_FATFISH_F16); + addOpenTxFrskyOptions(firmware); + addOpenTxRfOptions(firmware, FLEX); + firmware->addOptionsGroup({opt_bt, opt_internal_gps}); + firmware->addOption("flyskygimbals", Firmware::tr("Support hardware mod: FlySky Paladin EV Gimbals")); + registerOpenTxFirmware(firmware); + /* FlySky NV14 board */ firmware = new OpenTxFirmware(FIRMWAREID("nv14"), QCoreApplication::translate("Firmware", "FlySky NV14"), BOARD_FLYSKY_NV14); addOpenTxFrskyOptions(firmware); - firmware->addOption("bluetooth", Firmware::tr("Support for bluetooth module")); + firmware->addOption(opt_bt); addOpenTxRfOptions(firmware, FLEX + AFHDS2A + AFHDS3); registerOpenTxFirmware(firmware); /* FlySky EL18 board */ firmware = new OpenTxFirmware(FIRMWAREID("el18"), QCoreApplication::translate("Firmware", "FlySky EL18"), BOARD_FLYSKY_EL18); addOpenTxFrskyOptions(firmware); - firmware->addOption("bluetooth", Firmware::tr("Support for bluetooth module")); + firmware->addOption(opt_bt); addOpenTxRfOptions(firmware, FLEX + AFHDS2A + AFHDS3); registerOpenTxFirmware(firmware); /* FlySky PL18 board */ firmware = new OpenTxFirmware(FIRMWAREID("pl18"), Firmware::tr("FlySky PL18"), BOARD_FLYSKY_PL18); addOpenTxFrskyOptions(firmware); - firmware->addOption("bluetooth", Firmware::tr("Support for bluetooth module")); + firmware->addOption(opt_bt); addOpenTxRfOptions(firmware, FLEX + AFHDS3); registerOpenTxFirmware(firmware); @@ -1453,14 +1466,14 @@ void registerOpenTxFirmwares() firmware = new OpenTxFirmware(FIRMWAREID("t16"), Firmware::tr("Jumper T16 / T16+ / T16 Pro"), BOARD_JUMPER_T16); addOpenTxFrskyOptions(firmware); firmware->addOption("internalmulti", Firmware::tr("Support for MULTI internal module")); - firmware->addOption("bluetooth", Firmware::tr("Support for bluetooth module")); + firmware->addOption(opt_bt); addOpenTxRfOptions(firmware, FLEX); registerOpenTxFirmware(firmware); /* Jumper T18 board */ firmware = new OpenTxFirmware(FIRMWAREID("t18"), Firmware::tr("Jumper T18"), BOARD_JUMPER_T18); addOpenTxFrskyOptions(firmware); - firmware->addOption("bluetooth", Firmware::tr("Support for bluetooth module")); + firmware->addOption(opt_bt); registerOpenTxFirmware(firmware); addOpenTxRfOptions(firmware, FLEX); @@ -1533,8 +1546,6 @@ void registerOpenTxFirmwares() firmware = new OpenTxFirmware(FIRMWAREID("tx16s"), Firmware::tr("Radiomaster TX16S / SE / Hall / Masterfire"), BOARD_RADIOMASTER_TX16S); addOpenTxFrskyOptions(firmware); addOpenTxRfOptions(firmware, FLEX); - static const Firmware::Option opt_bt("bluetooth", Firmware::tr("Support for bluetooth module")); - static const Firmware::Option opt_internal_gps("internalgps", Firmware::tr("Support internal GPS")); firmware->addOptionsGroup({opt_bt, opt_internal_gps}); firmware->addOption("flyskygimbals", Firmware::tr("Support hardware mod: FlySky Paladin EV Gimbals")); registerOpenTxFirmware(firmware); diff --git a/companion/src/images/simulator/Fatfish/F16/bottom.png b/companion/src/images/simulator/Fatfish/F16/bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..bbf07f45f9da14571c4ecb7627908c4ffc65b912 GIT binary patch literal 18875 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

ns2J{nItxey5IW1UNBl_(*>n*O_=2VTy9cX zC1lRiv4&v$lIjU99ceP?;C2G{(fYK9aI@%u_X#&?3BMw;*ceXHBi^+3Bqv8<3|~)a z$J_%e<25oKqfvSyV{BgzHOU%(wue|s6~?&2oEzQx@U|XRQgD)4^(?;?Qqn4Eo6sj)lJ~{?j%7>^!z@e0f7&(~%ijzQDWHy6aFvzFp9 zRi&eCK0tQ6EGMo13WI9oTm;!7Wu-CAo`V^XT(|Lagc&hB`B3?-r~1wUm*YJhTE-&R zq9ekSO3zuBSKtjY{;lld5V0eQo;BAt;;(zDC&Y-Cn>6SQXS80Ik| zYaaqB)nb#SL;c)W&mcvtlUx=pRzL`k|2mH7#0R9-~# zl73A_Z9s4K#FO|239%MSJg~@Y>v6w|h*I*ef`bYAN=j9#rk`afyKrkI=|E5Eyj_Fj zG>x$I%;Ayowj;@QBjapk48iC1eO#l@Kr~ zK@~Sfy3cf=XP73IWg|)xL8ax4Q^&oa^KS2K&WVpQ+pEm_Rck3b+7tTc zCEl%k_kiuD_7@Vasc&9;1&NkVC(Ui1AAh%PAad%%+(s>CM~0|o^`7M5)nnUd%4jyN zj>W1kPtt37dCcczj@JFuL5j$Y;yy~Q3#BSk!*}-b5M*R^()kO1aU27d&kRx~8c^B8 z-H6qJtA0eeP5vkX4@qh=#B)N(oN2zQYh^173zfWTX_$33IYjsUZZpir1v(E8DC5Ws zON2)++Krt)34g(C&a8tRRRvVe%4q(QWW^Wq{C9O7fk4d}EeT3*g_PR`?yRb(4Ee2e zQQz@E3HW&!Qk+DytDH&J_B7a}9<|Qh`mzZuszM5F?X1lw`k>;YHePdP=}!6( zSa1($Pz!wY+&&&X-G&|WJxCM0iq}eEj@n%+GvMBO7GJ0`>pbK8^QmSjTIJZ93rvp0 zu45G8$e<>fE$zSxt@%PiMr)bBsPX2U@4FM4f!G1p9&?B9_nm_VeTh1>#G~Dy{<6z{ zNaI3^f1@?dkOxgPxs{)T#aqrynlsw-eDIk{VyW443=m0MdDr>Jx1o1Y)kFSP(leLf0)AxuFFOwaXL7LUbvsN z4d#os6Kg{Z!O+~~3)zvfl-_gKr)I`=*4(njaE^K74A9JpB;_}FhV`=3rjGANs!gSb zN|JdUxjRWC2FXI~dr3tvA)}f+bNr0sW#(C*O$thuB#9S-0I!Te32z1@1!Xz72^Zgt zNY37@5sDO5AKy7AYO&hU`M#&qJAdwG{PNs+Or?oZhxxOAr}WG%TD)HO@G|1kN8ant zR~h>=fU?RW&7L_jqUWu`3I4B<5@Q%VRO8Qa={aMOCO9(tH3@J^N=$h_3lS>SZ7FrF zX}sj6v3o^;8;D1d*JQMeI0cy8qImA<<{ixb*qox~&c9~_OHX8^o3FwMev;m|cDE&{Mc1<|8N6i@}#!Lwzd)ugh7AS4vqn_pBvZ5>;NYfu8*IpjM2?8)d8QdW}sKGhVjUFT6>x5HWW45uk9 z2{jOFRw~l55+Nv^YMX?TuIu2a@ld_W2_ik<)N|Ih>lv?s->;(lAJMB**(g6etCZlDJpzDLgy(1&r(H zz%9;{-E^JhC9>r_%h{SC6r#EjwXdGsA;U~kebO^*s*r??&7p@m~be%4v?;?ihpFtj{K* z+EI@N9u0rSv8;-2St&lfd5eF1qk;Un3#px)l9^?~~n_lBoR zPgC8cj8gjw8<|NewiGo!4#^epdl}(tMxk6wRBEvTi4$ao!s7dbG(?1?92zkgl#VH1 zc|cN5RDPaA%5s*YhnkEn&lq)^Bqo^)_5z%F4FmV3wOb9PoY7@NL4m(hkM27%cZzbo z#PH>o`P+@`agr~TWH|js$an=e<@*_B zWeTN}HL+5K?Y zaTW$CR9-NV^LcnM3+`~ZQ+oP@khPFGo@M4OK%qd~h zN!lP*z9LGc*hfv%J-8l>L<097S@-7k6xR%M{G<%w9fE=Bt}>bM{0>H0>6ifa;=J5p zWU2N;3>@P{Etl3Q(FNr)(?JSlCkV8{qrvWDVM(y%3i9C@$YvW=p@G(XBNjWk*{+75 zjWPok3GkzS6ZMR^*jAXn;`wZrb80&)8{wjwqiR;CBWLX+GgdpAGsZFk)i5|$LOd=d zhV5=tXPw5Rn%muKm_yUoExyl_NH0duDU<=sk$c%3kEjz>#^Be0mB!|oZIkP#Q>1;;)E#o;fvs2B1E?6^8oo9HDxybzC7hty|&FV4~j#$Sk91`AhxYf7Z#>Qe58H;cxaCc?E~4u%uImynEa2AKbDb_G$GA!Mq1=W}z1h4^i7MJY{U zPLIo={jrPgAidc;+j!viHX%wU)*w%1sg$3E7ktCaaxiR}=#`&SidWvFziMbZvn($f z#f2U>lnh_amTL0S7C$_oGNX(lqbbbZT%05%r%c-i)_-P0CrLo7kJFnKSfkp`fa5hO zfUVSJuWAy9G0ioINmpZ{5~d(Twr4QZ%QfUVtbMXZzYo6VsM!ar^)bX2Nj9iTbOkZy~pduoA<|nvqR@g+BQ67FD$aoT7zdbEX|}IP zYO@Sc8ackZ48-jaGO2NmUdnSRt&n^GXZEs>Mwi&9=GBZgBfIMgoP&cvwj6E=~#JIWQh(AP7xpyyPwLAqkcpXDS* zK#3s6K`7U-&l->j@DOXtIuHf!s>RF)ajH}5i~gz(U%KD4oL)-Q4ei*5V*JjAqIsN6 z#wk&PG>SX|j3daDTvO?YG^2mv;ya2#otU9Y&(Cfoz;6&`!W~9^#y;k(Qp8P3Y-{rd zjCAFiYLK^l^y!sGH>3nJ1kw z*+46iO1uPP&a#e;@n{n%wOHNJd+?V zk+3}g!fSuK=9sE$xQRa8N*pgnR^Fl56HT(v@#a~!as+)8n1EZ5ya`FAg5_LJ9J6pS z)Vur`uWTa|1os(J|8z9p4I8>XHJ4}o-`ok22 z5LgkP5IW36Jt4i@97E+q>$ifUo%+F0QR~52E<1f~t$E+mGnnCc1_(09AOta#QB_j5 zl95@x8v4++>txI3dP>3GlTjdpbTzUmmNsN`jC#_j5PWNAKuK@PAhS^Xap*4l3wWuA zY``7gm(R}Gr3`T&Bod!c{>+1|>R^iMHXUyYAGER&`)5jaX-l5_{l=7Y<}a&_n&5 zc3d{6tlZBwL(G;#kz*zYb!r^7>%PaNi7-kjJ!MScxJE6zB{JQ(h94xkARIFKWTULX zElfSb`n-*-VKDES43grMN_`=KEWXNu+#E2|{BN~x@uOBN%w4&CFLw;V0JsF>9xp$?GIZNQ{Ee%(xQ2=j zWgBNm>;*$qRBoiO0XKs94FF9*I{HVCX9TgmYi=kxh7k;LU7hiIP__*QagJ@Jy;ZVW>)h7~c(Iy#?=JTsefHORI??K%JMPbyB8RqjE!_mj2qst=o z(1fS#MVo3h*jWP;Hi*S@iiJC?Hs$+^*FljNS*eVLItpqsTYI+C*BhhnW$&69sY787 zz;GV)Hft|qd>!Q0<2-qb^k*H^=Xv?qIS|3b4>YC-BFWr^0x>P6TP#4Tu^3F-VdV4j z1q3ca^)pZ)bWs3jwuK^AJKa46=_2Y=@gM0fO!m5R^lUz0^3t5AHV_X)NnOb*S)DUC z?~#?&CD4RAt&#_*{LqM!CPYjE4g7C8k`R71oaQ-nuLl^o_(3x2S~hDB3%95VF|Da4 zT`FeY?Q~vx*C<1s0h2(WWLza$ymB;Y4mOd}G-xUPA(@(#%)_{jmPPZ?n#Fg&?zoJK zAJ<}rV;PV;re-)#jpNot=1?||1Ed(1!WmklK?~I*=KhqBOa(ftbJ!&jInW#@c6^|e z62V{y*I2fFDRB}oTT^A|UK1+jIZaVRI0cjha)7^e`*YrER}may#^$Ea7k4cP1&Wmk zJ9XR0ELUN+qNOMtx3q~KWeQ;M2~y<840wG0{CPAo-=YYjh8GlDJy=qXkTGwDc+Cv* zv>tUvZ9jexIii`Up(mQ+l2cIf@IUdahVQBszguOTlK>MVycnWoXGC?{OS&;Up}E|@ zr9I2oXvnS*N??3Sl`c5sMx7r@Iw$#vF0%^_WtS$^Y{%WO&UNKH=ZGTl8X|tliHP7}{b9$6aA4wiLmozbjgx{sRO z4%{d^LZBuf`W1~EaF1C=tj<=BjBJWNE3;+ zBeoXQ$l1ASRQ~gE&NO)tl>JK%k~k&_RqNl8fwRGF8fSDPln4SFFm4@Mg_`9&ZlMEG zWERmDNC-6JGCQF9;B{d3wA5!_Y2#x=f)*-2Ys`=-};L>M>X*lw4%*Lp$qvn>DXs zX^dk9*xULZryeN#MkcPD=a%rBJ$)8}6Rp@SEL^8?oN@(}i_0qPHti849`BoCNDt#u zjRK>>chh59@F1J7lJJ;vYv#%a5W0g+wtX(nZH+-z=wNbHJ6b{L7%n%P!-)v!l$zFr zMD^_eSrZiF0hMxpB;_Bv`OQJFRbc%dp5BJ5ZoP8%U*X0rB-EFKK%LphtL9(9t)+S<6s4<9CM}Oiuy| z?jfBGBkUd~)-efsHA!USn|V{YT`MgtU3&KI3zgFf#S$z}0*gFb3Z6)CvW(&vrRenR z8@zj|4ppQlR%Tq(cF`e2eQ&KwQl^Gml7RDj9f439&Mreo%X&17!d~J!|HkE)``A~y zkcCjPJy+A1z}&0YS3O^$h`5H@i7tHOWH6TFT-5J#yFvS7KC^W(>1^=byCjVhS@9#-?;9RDOgS#r@@*i3s2g6Zwd0Su3uFoHXT+?1TG9V}nfKC9* zAfHO~HIUDNYt_K`V_@kqa(Bb_1yQqiG-aR(nZm-o0Q^nR)uR<94ePZ|NTvc%Csy@& zm9dzIhu-lQeHoT!)1j&bK^GtDLLdOqQKO)kmhooe1!lUn)G z(suD%^P;-16Bj}it(+{5gpykxZ}2k`qAbpcNKR^YVMg!6P&k&qO`al|PBeP5V&C#n zp@rp7FGPq@hU*Uo@ER-LbEckcO@Qf`clB1al~YKoUh$j1d%nN-=dqy@C$u5^kGf^= z-cH67`|6|GnCzZ+2Tf^Q>A<gGvo zgX25-9;)&Fd8+f4O1I+i+NQbTFg5y<)TC809Z;%^rDi!{Y0MfB&j+IDJl23foLs#E z$p-kUPwH0TMXVp5aky%o36QecQfbd*Na#f4szq5E$!rKkZ=`&3xE}7Fv2L7uE7IjK zbx5jdAYS#x&}g(r;ed&4o|DxoOA_0lJHNWUThihmEWUK~UDSu>$CzdL5^fqrGf?Ro&R%8>Gfe)&3@vl6x=LkaPf%1Jyw zf;MPTJiYOjzs#Pe93e6mArT0Rm;kgg0C=LOB`Q@CqE44hReqUVrBj*a-gdc-AF}@1 z7FB;LW)-0rX-OQP>}4Ec>Elo@I`ZI{@Jz|&7n7wPix%aF9BfQqugG#fW+sSq4+ylq z|0?IykzBW3Fusx_MEP?yv`|cp1pGs1VLN$MIX(9jdGkfvO!jGLh`v5D8?pnFmfGKq zb*Afq_P?mDNILbX0KB3ARRMU|)JzH?y)$?P5m~yKl8WkS*r0g8a^W7(zwEZ-OTc-r zlW9-9LNTHcBN05nYIh4kJ$TQ_sOmz6rwIlResJ97{(4wf=S$V7tsqBQTE#jbOU4!a zNEt3DZoi3i&k9BtpjV0|F}Ph%u2fwE8H&A$0KlyBnwQBeuy{t42DJRGUcH;NCTg>C4?@i)s(omdW0a8KtM^A4%61;&_bZGAxcSpD+gaj-vuPc3G`EgAOcDk`jg~ zj7h5Esf-7}HO>SjqO8XkQsKoy=u;Dz#aZ*ECZ_?gR8R&C`^L$g zj~yyDmA5@SqjmaH@VAud+^*5u^sJXg=VRUPYEX>4Tx04R}tkv&MmKpe$iQ?(*34t5YJlA$_T5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|?BJy6A|?JWDYS_7;J6>}?mh0_0YbgZG^=YI&~)2O zCE{WxyDA1=(SrzpVT5F68FP}9M91-U4 z;Ji;9W<^;gJ|`YC>4L(v&^mat9cEGGtSBB|l9ep9kL0=$o>@z%9_X=JnRx$LRx*rmm7Vz`-Ff zTA=Lp4)5-5@9p0+&HjD>H0W}U!G9p$00006VoOIv00000008+zyMF)x010qNS#tmY zHPiqAHPiuKW#tF}000McNliru=ms1C2^NQ#O6LFo02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{03ZNKL_t(|+LXO%xTRNBF8Yr7t!D3CRjEoyNaz%Z1PI}R zfP#V|cm%E>jnax�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 Du5iW% literal 0 HcmV?d00001 diff --git a/companion/src/images/simulator/Fatfish/F16/right.png b/companion/src/images/simulator/Fatfish/F16/right.png new file mode 100644 index 0000000000000000000000000000000000000000..e65f319e0b287ae019ba6659cda82d2bedce4aa2 GIT binary patch literal 68242 zcmV*GKxw~;P)EX>4Tx04R}tkv&MmKpe$iQ?(*34t5YJlA$_T5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|?BJy6A|?JWDYS_7;J6>}?mh0_0YbgZG^=YI&~)2O zCE{WxyDA1=(SrzpVT5F68FP}9M91-U4 z;Ji;9W<^;gJ|`YC>4L(v&^mat9cEGGtSBB|l9ep9kL0=$o>@z%9_X=JnRx$LRx*rmm7Vz`-Ff zTA=Lp4)5-5@9p0+&HjD>H0W}U!G9p$00006VoOIv00000008+zyMF)x010qNS#tmY zHPiqAHPiuKW#tF}000McNliru=ms1C2_ODM@eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{03ZNKL_t(|+N8aGu&qy47WS;}ckgrWJ@+^Bn*n6TA;8Qa zGoV%SIY=_ulidclXL4-K%@`>ecT)Q{JgN_x|oVXYY5vZ+EY?p7lJ>qA&QO z|BwM7rG%U_IA<_`KmnOE?(gq$cXx-B&fv@d2q6%d82~^bAf*H%D*s*oWM(iEhybDh zW(EP^@=f6SJpe%J=RybwF@lH?LIgmFF(SqY`K8}$d_RW$W&b^;Gg3+b7|Z|>kTbV` z%P9@-BiEMeeTgAVubp!)*ImDMKA!;qv3?F_ZhtZ}LJ0ETtnMAlXQ{8vAq2U0miOWM z4Q$Zvf5nBVr6kL5SN`ORF`1hINeCL+!`GXRb;G8oL6xI86UF70}l z0R{!G_ep;(%j<;@IE29GQ$9Vpe)8Sd*Vo_mbzk?JUWfB*d-m)ZQpz}=&&WBo1yJv+ zT1bQt0vL=8MhMgwI1vbCQ8HL=*RW8jE`G>H$Qf$I0p+0~#@H5B2oXeKx@dV_y>Pt6 zuQx!>xo&pZ2tXhLw}o1+IS`?I1O}MfhLsIncC)-b)X&OVApkVJzuYIN1E72q8vc^i zebGN-4*`2Ga#`fl&)R#Da|YD?)7Mxx&h#GoHROBjp~K~7AlEe$+WTjK88Jl2nhqhh zcJ;h7SFLVXtMy@?1+^>C`!;2nVa-$Mxbcs&02&>O#U*A`~IrOuZgJL-Bh6g)1!nXcspCfZ?~ER0B-ih0P}xZ9G-q5C zI#OY|5M`0e!eHiF^JFJa&d6y@>1+-+0YW=CIcIPlPj0U1V*y_ZFw<&C z?on8xzCHNbiX%)LR@Xuy1Z1={Yhz|4lbQ`1A;x(@*au1FU2ERY$N-`go9JPPDYT6s z#czy)EJ@C9>tsJ7NFiEk6oQ~ztWJB4c$E!Nu2#M;giscJU1bz#`QUAI91n+3Q821? zQ(v$x+A!MJ8FN|$BIFueS(4a#y0isNrDD;*f-c%2^^6lahefVYy87#!QcDX%y%u{9 zbVShiX^uX!;pJf9Ruhr{CInC@_kwE*#7yNr%6040Tov73{y!D)DfJpf4rzU$v4Ap! zlrtx0UTy^Lsc^q3s**=Vge1S~;Yw;tsqD*#jv)@IPfr`h(_hw_J@Gs=!z(m(-mm|j zGp2A3a6O<1;M_i!jv%ziH~rJLpWXuV_Pm-}$hU|Y)f%dS#_AA34dpDUm08%sVp+h* z!-=UrV_Q%;m%2s4)*x~tmrcv$gzaCKHIfzZ5$ZurCF%-<%#55E=L*DtLRm+opmT1Y z9ugW>DPy}%sb8J@(yluJ92hx+3p%>k2xu@A0~Hb_0I8m?oPiM4DHme9*s#S4p_cE} zc)u(h`zLB1D7^>`pZSGjZZ}=SptAUN{lHFf+S0oMpAR*V-C+9k>8GLw2uMMs+~8$N z0oAcIq!T)QDVw4^c#2dC&rmlH*Y}6YhZQo@eml{7b#g`lAD9bVET_JFKhR)E3rega zr$4@{nxwLp*4XD1?L$_O#mg^KAjusXT* zpWa3&&n{1CQckJ#X>Ii$(-AXF7c6vm^n6F+n=FF z3#hdv2l*7$iE3jQ$SHA3iBoNMx~P%H>VZ%oz?#p8Fz2B|9_ci9?0?TEzAT0SAiJGf zT}av!T%$p5*sL2FMEwNHEX{)DDW~h2ZHvRrwb6$J7$6Cz^)uDg!Q4Rws?EsEJgg3) zfVdU(gsBvbE%mIp`fzDPW$8l(ub0)lU~!n zjYJxXXJ*K4Cygq$UI2q)sabM)aHVh#0m!*Wt=iRZ{ez&;OnsjR^sM(804}eQ66e)M zI2;bs!X0mN&(~IvUyQNAqaOY|=KKmrrn&oSPaum7&5frX5;f#Y(iBX3Q(;Nd5LBx) z49f+UB0RN4k#YiOZm9&A!2uwI8Zqm}&0JH<+|m;;+R`@%ozc(r+Asclv;|NxpX&jPOaYbp<}L_rWf90n%F~9IS4c7lvq<}hK(TU z%(@A~Zn|UhN1YFQ3t0#2^3NHSs^WHBd7v?5q?8+_V|?A*8d+n!L91OLc_j7p$3_6j zL+|fzar5E@o;`bxo0}InpA%vXh+AwMGN*!2ol`0sEhtKf1bgabGpm#iC<~TqYN@c; zzEC+2pQY1Q#{9k@GM%2HQ{17(u=h-!t18&#UQykghr<=Ft`0a}9kFd2Vmz46HG1Ap zJTyX6O~v|IC3Q|{d3#GY1qmx5u%lkJb|rnVwt&bxD5GLMl*F$eTIQgg;8T5S+itC0 z+!{U6Fq?%OSCzivZnYbw`v5D%qM#N!C*`374HX8#rS4QXjJhA==aSEGdwYu)FJ9nh ze&$1X{q@%oL%_>#d;>oEqu-3{>uWFr=X6FopK(4Hs>V5;!MQ+qrDiIJK}xBnBwL9F zwZ2H_G}Irmpd|9N;|pUh9HfDn6QnQ23b||4m0GY1JgQTNLa0>Duo~I8B5J8_Va^$+ zlyQ4^!t)ov)zuMC9zVg8>!;Xpjp{RUm84KDjJz6=&^7_Xi6+$fYB7e6MiMm+ zlOS>>^0CKSAtK1n$LMVtGIVc^t zEc#q=cQBU?UH`lDk(<$NZ?hdEZ9q#V$LE#3EA3s*Ft2co;^i(8k~QeqmY zE?)Dm{WrLUci|uPb;h-p^`Q3h{(&T|4`5_uK6A>a^+xb0!ZuQ@^7s|kM{aIMDat}f zIU^%2`vYF+>Ze9>qtw(D2i(r8-MGw*`};e*_S)-s?X_2NI2`cNZ~Q1cdh{4qS62uz z;@PujcQD{HS&5Q#vDrqiU$BP-|)9GkYvnor=zSi!|lT zQlALCx`IUe0z^ZhVx>^Lcp>#tMy!zZ*j!Zim@D@n1P~YWF$WQL)W z&Vtj+=GLd(5V^S0EoLUAmm1oIAt!mz^kt{hoO6Z-Mf8a~@`OqqQeIDI1qBH@olc81 zx-)yrHN{rH6iNrxR3_9krS#Xm&CE`7&mM?9EiTPgfuoD|p>R-2f21=Qa?YI2XFe?& zx0_aKF{eg}l|0yEElxBD0yt$52#NC|8mPRSJ9?Bw4?qD~azgZ*J3+Qu%y@k4=MMsrvHRQ8$&b7#)Se`tV?yYzXA+|0m z3?p|%C|mvA9t_?=BB_*pM)T{9koUGloKB|!z0%(&e7E2~B`iVaM!(hn9z$Uo zCgGP1jTJd5bMMM7Xahl!{DzRK3P*kbYcqs^7cXAm#fuk+G2-dkE}uY61|N+*LL_dM6k?3MOGkO83|l$Sc&&i^`S%G5#``X6>cV#R@#QEr|Mfp3k+2k1{w_2R&;qz86nWs z_4W0a9goNFa5sX6F8c+dacIUx@9TqGYQkgf)K0aOs}Q8J3KjQ~>WP^-4?nz=DAuCW zMvEa=S80Pi;U!!e7>^!bfjQ%JI<*BMMPsg;H>+H~h=X|~D%Q#^@q8aT zT&Vd;G*BHx9K_CIutJ%MhT$Ak5=HDi%Bo|lxkn{+0)SKqb4oJF0I1eUWrOq3pODWV zLjYoL;^`Ji%G^5sA%-T^^&-+L9rWnnUCPU<^WDW#6pIEv<@Dl1ANtU@zVy-?p1Y}$ zrYp=W#;k5Q28EWl5o}LEPLq^t$O=jlsYqWmpbR})6h3*!#Px;^)TN?EpSs)nXJ*{o z+~CE{4YqB=qeoY@dwK%1ocxly72LiodT!}XE5<9mxS&XA7=PjnsI-zQiL89a0Ip$N zWRr3)lIf#(aJIeg7Pej?eKzeWU_~cc3f&`wfE;tHZ@Sc$>itoiC+htis@a6_mj(q{ z%?c>g?mY!0WTyZg`&FyW;PrvZCV|q7qpIu6(VKHV{k{L^eg7b5cJb3q-#|eebgpT4 zeLMV_6+K(@3SERml`0@~0e}%$2{t^&DOb9*WfN-Juslqv;awGb9$F%&h|oY%N~L3b zI^p{1HIByv&gY~~YBT|VlQL#*1#LGepn=>qXqN=X8esxj2gP#L3%cuK8$*}E(6NQU z&WwSDi^|uD!akMPq+Ud}Q?P;sR%5WzEsv_UPGczdrRVJBQu2WLH&q=2oD0t=3mv3s zz*#BoN4>S2KzQ94ANk`hlbc6G^KjW;)X$!J96xyR~A zq6Pol59mu9!E;^kkcc5PAvk>o%O3YB*MlZDRAh_O>AF_35Tj4_Z7F(OuikQ>}mtdIHPZ)hB(c%|kG< z9jKx=@7x#Z`f}@7r<}3HFo>Ll&=#hH21EBaXl?fZW^koqca%;?CwA7Gj^bWZH>EV_ z-bYlen@+T6IdaQ*&jM((swTDt=z@&b@?E9f?FBZfn3K)M7&qK>Q6w}vZu$Y;qu}-- z$!*50KBP3yZf&8?{xi;Ar`)MkmU zZK!!*z_@;RSbyTbRcaaTqACi9cf9kHe(sYe*FOf}emXGKog6j+DcCQ|17il&n@7#9 zAxRclis4X-Fdq5|SU&Jpht&5U7PallYVGl2@r>lZk~f!4@B+`CeHhyoaee&++hJ?n zv?4P+%f9q@83F`VuT51@dzG0OYo+VxHop6?lZ4GS)G39Ue>a-Z9R zuV`OBCm@yDAW*1=RTkaS&KO;>C-<;DQ&6k7EahVb*m%?(OUEChh+I$Ck%NI4!}UvV zc=^{pdi>;(&oxrC04owFh49b>Y1IorZ<&{3s1%4Z`ay&J$Mm47-=xmV=fQH(+f2iW z$Nfy|fJMgnoT`c02~VHCgyZp8`z9G;($yM^pq9hKbYEeveSe|yL`5kJBUZeCkv-aq zk}cZCrSI{?HC0lcQH^QMei~ZEEfW2#;3%h5yXS;VKsr}SNo4_q!`7RXp#lMv2YF@; z6+Nl|L!ctSIj2+(R41ByE+2ccQBAq-rVw29&_R0lNEwJsk%&HSIQ;EKXg8@sdE$X8 zQpc4QmF2%{qSw4&dD#$ZCxYRv6!u|Qp8gYA%WjOi`R;CS@#6V&9FIpldGfe-NvD&% z=J1NgKY$5Nhts3452`l9sn0oe*tDiIgHZyHlyNu;Ko2>xY)t)nvnxeqfrg&?kfM9D zD(E}etyg{8!4RmLc2QXMzuMen|Tz{X679B zYXnVGpt z)p0rjzxpeF8NU9v{ub>0N~zG2UwP#f{L_E>&+wPO_j~c(fBt*ioBkL7+;`%g?|diz zb$|WXkNp_l`^&$&-NUc^^7rEFf6LdkuYd4^AH=`&@Bc>%iBr#@UCX!Q?QefO0O0rk zfj@*l^Jo9U;6p1K-XYRRcA)HUGUq1rmyOa-@4m4c%v`A{t#VM^Rg zN=mU46$a;q*q!HYZfZEt%UKKFBf0lw*X zeIx$Y@BGtv_b0u5w|4l~{iRiO_FCWambc(*zxpc><2JbM?Ou=a4DwR0t`Y74ig;5Y zG_sIsW@ghsGom{}^NbY;vk@<$`yZHeDV{vnJ3OV{^VX=MzH?ehHGMNLOhORvG}n>9 zTku|P$JR8MyAKf9rx0in_8$3c^iu-v?#_7r{29O*j~_qA;cyrlFDongzyJ6D0j!eg z>UhM8Q>fwQi^6`~Hi8Lb%vQ#PL6nn3w#Ep^`#t1a6MnDmx@zD3M8`U0q(l?>O&0L^mU6X~H z&ShyB^R7Z|b&{;`ZLiUxZTh_8Zmb;$){DmG-JZ;Ix(1cP>DSJg@#4h`+}_^e@#DvM zdi@k31l-@BOhFr_Q2KSh?Z3dk{Lm}z=lr?v`Xv0;ulvpT%+L4?0Ki+{`d0jo-~LFd9txM0)=mDD2pMW6RM_+x+co7;Q+f&c2i#t;16_l*or%%{6FEp2M> z_D}poy!VU05P$xAzPEFuY6H+$jMr|l*p}CuIJ}=CcB?eG8bm%ev!5UEoN zCh-eZk-X4I#Aq!jR}I-rTzzn|rc6kU04dCsWhYF2-u_zEaP?kCoT6Fhqp9P4q7#5bpx%4Aa?w?QS zmVFaQG-l*{F1>cQC-l6{*m>sC7KnGBfL5m?3y4d zsiMvx&gaDEMami;Qs8;K7pr?+70|e}M)bKMO|8Z}d4hK&s?A`8%m=YwBhSphnk3AgcXE^q)T9n(12wn$t6_Pzv!fTPc;l7># zO`FJJV9IDN()hk2m86!-dgxTBJox+jJ3N2>45!lx$Kw$(#x?_vCVUv9;n7ZW%z7<- z)JMH}`2K(SuYP*)dG%6E%MBX-i$I<@{s!-U%~$=3YUxrLTb!M9axHw(C$Js)C25JsJlkhA zjW0c(ORs^P>hm*#BP|Ek8`s+abBYWHYVG(f*Wz31Jn=u>tr1o`Z`BanQ%iX+3%aXm zU8|S)aC1k=t+=w>5^Y~{cXx-|+ZW&pmp-oS($;pzDCl1ej?gq;Z*a+bzxWIA3qSAk z+P}W<2Y=AmMh4dv(4UdUjcbK0vjy}?YAkU~O7*S({hz>#7cWZD{@I^}Px!c>jl*^r zC?PifOd4;C&?tJw5P5CAxDW{$Z_UBap>-V^Xc2$YruoJ&Iu z%Z=a_zn&aZvnMZ2a#;=H5H%Ob3vYX`he-veQ;^d6y~X|gJr0LM+XQxQ!BA{zx#aTf zEZ6gI{Opg#d%yS#@h$(&@5k@@oxcOe;}HPx>Z`BfoB!KyZTY#^Q1tHE_->&z42=$X zIE(^KnGSQt2mjSi?)t29vuu3+{5f*Uc=YrUuCA_{2DvRlImBpm#jq>v zum6?rc~IB)l~-QDH-6La#XtFHA8=jwMpwSz6e!(4v>l$IFnqJ>XxkpbSXN~G58w8u z@Na+q=i_iV;1_=0zlk@#;U#?NmDfNad-0&Ujqq@9hQo&$xq7#9gFX93mh?#fESX3S z?mVKPtb8bzX`boK3i=Ff?woiPac1}6^;{LTWq(_DIoC3jsuyce6DSrn!k$aTY5`6I z^j1nXZNI_PiWuuwLDaj8QdkSd?GeuUCMigR)CR|^Bc49JZf@2+jQf*jR-a+-*Ry9# zAR~4F03ZNKL_t)~@YlcZ`|!)Z>R01${H_11GF;EInE>E~`gPx;rG6L(qBP%9bC$_4 zmmm6n|1sY8z8?etJbn5UzwXz3C4ju>BhZ+;E7-CvOff~)6Mbq8W<8R03e+M7snJTkO&ESm% z8qZ39(4P!3(Gi9@->Ba7ulK$02ZwpRpZY1Eg6r#R z0KngU-}~^@U;7))Lm1P_l=8Cw;;H#Yi$L{?Ffz_q^w`5kkN(`Nh8& zf9Q|=@fjhhjWoK1ZmCgMP^veXAq_)~9|D2&Mxf^l(U8uGTQ+HG4yl?W^Els);lk@h zhrZvO)N3^5#Ju2Ahqb_g#?ZC*UsH{xr4-EYEI|JvV(U-j#LGrs*hzO#MpGd}&( z@yovSi%mCHJA8~JxjhDD-^^@~wa{K?=tbBQp89+L@Bhc&!4LhTe*^${^PAs|TBHqyvZ`|2qZPXftp=}0R=Z)*CikEVSRP8jT z(Q|4|Th~}+PR0LpmwoD`G<#NjQ%9LPfm;7J=h{eP?82;aVtcAB+d9{qMw_P$2H^a?Y=8PRKv<$NvQW!TaCe9_(-UPkue#_ST;@I5QVvx=011 znL>mmgVcks^=~io>Wv^1M^n!DuK(rFwy%BR7yP?TWHWJ%8lyB$5O<8RG$;Fv;+86P zD@UFzd>YL{QDFoKC>s#98?BuQyVojbsT(V`qE5v`)=1+jhoGr;(5kqy6XehU9!#;= zv)QoyhMsz$6+Hd>;&2LEeW}j#i=D_^6X^dIdbJdB=kp0SH!qNL#`X0z9zA-jZbEr* z<#*`$xf-UT#UZOcf_%Q;{d;~No;`owPTb$~jo+Z|6}QMRnxTcpnX%3bE54CX8i=rj zux&p%f1As(-}@K1|q`oc*Nmwm}{EQMfiDw)iF%znUO;p znE;~u4t+Xn(K$$r%Uw`|Y8WiJz7huoQ0vE5dlPlv*E6ykNs3#Iu-{NyK~U4A6$4*t zQH0IqhA2tnU2__6%Xxp`O7}2iNrjQx2ZB@^oa_TLY{&0Tki6e` zoK5CRQ&8`PU5bU*sT~B`Ul`8UaTQnX_1R-^YiD=ky66d z@rdnks2$C<&_1*B)^Pb2K4DF+;}3t!x8eQo|A+10zvfqd6+ZQo-!VNP9fGyb=dzD5 zJxppjwHOOn4YIB;B&7)<;M@N6pTP$|_(1@`JKphjJgr6k2%wgG(NL+*s~)*thG}ej zA(n%cWHZ+(Ld+c<465cV<^ZJu*0^TGjWz4p&Cd+xyxRb7ZXFG6<8Xa_{qeu#m;TaU z`J+Gn&*LuFXsq z*MKd?`JgFwdTnIZsv)cEBk2Q;*7n>d?NqZGHEHu2z&n}ec0yQ1gE`m2U{5G~l;)2~ zU92u7Euv!eSDdb^<5{yhWH2r>U-dO?+lIq&!})x|vuDqcbHD}Ee?(Xhzb#;ZOPhV;R{yvpHy8}x~Sk_I!(SLM2A;OYS_|4z? zZTN>j^h536zwArji_ibu&uWt`wMxoraJ^AW`b4+0LSwrIUSo$xpR#`n9M zMpGg*glY|iFD+IWyPF2PwodpMDI^^ge_fepU?ZBn-s}|SDJ7iGsZKXdlSoH4e-i-7 z;F&y4>g_)_z@WJ}-)b%n>WyP`H;K0B^%NNA!8Uu9R`f6ejSJqUBpPNV(yw0Vxwp4B zc>eqahzO4#KdK%@!eVSf$5~q-BtFRW%h02Svk3x)ow2#V@BMv$5YH>w?RY%m8~*dJ z$CJlbEgHyg3+Js;BMcqfH0Z&bXOFqiZ3|1r@E`l{z701wH**KIa-#Gm8aFChy1}ZB zkOdq~4}uppW^gvRDAiJ`4(SUfvDZDeuzl;{gDxs-xZDv;eC}Trg)HHS_{`{q@)J`fIP@a6IDWmtSrhp*Bnq zLj;03&D4en2=(jDml}t|5y!)^j8;9JTLH=NPR33J5E=lGrv)Q_uDprltmWK%^G{HdQE!6YBUa_e#2bnmTQS%4v2><{G4~c>y^)b&*ywg zh~antyifkPp~132(;}o1<}pSWf_hKP@1K6uX8Y=KsZeg(sGh0XDNjxx@fEtgy+vlm z)z#I+ji=D(D_eGBaaqeqlt9^X@XxrfWTcYvjhf#+vWk^MLXj=r->2p0_C{^#Fz?+b zPpfR%!NO}QDPeK!%bA7)$9o^rE_&u3wFAyjEV8j%ByITC95K|yqRJK{&frXKo}9=z zo4w~wkK`eKu;Wdm=D##k$E!O=!}i&=HE2^c1^fwyg$TtRSqWA;r^FY1ObRQ#sidd| z)!A(owhNf#dFS(~IU?Iekd`1$qJQnnuNFqA8&Jd~Jy*eaW5Gzs)z-(?7rA!q*7ux& zfx;aq44cPOnps7p-pp3u&(O2&9JH|-J2Nsr`|#^O!8v{VcG$8@vGBsOVy`Qxea{vnu8vo@y1G(DQ>QdYr5}6u zJKx4`MDRTMwf%R{Ihq>V#Oy1c>`fP8w;uL4Jltj@h{0>K8@o~?^%2G9n9!R_B|OF$ zaXcJxI3AJenAB1`BqhR8y@Wa(u!l45Gu`sMKm?r<7;&Z2v$+0B%%oYT`s<$VW6unD z{xhrD3X79hMdp@1E_{SC&j^^@i}w9NGzm0ul(IDK8ed9G8+->5v@{B}b}=wE$#kYN z48)6~mcmnUV|@JE-yQ&@CD&-+qf2q62KULKa8AD-BnC8b|cR8FaC1MctdTLDPsR0>4cVnn0>4rLTlGYBvU80n6Eg5r7_+kNM4$T>XRDH$!v&h=kr<3qMnOWfoH>@30D)3qGsm$eGp0O zWWwoq!gqr(IL_HSboX%m^!god`-FFV#rxj>qhV1a_&QNtFR)(FinlV&0UoFnm5C_E zvebv@$wtY#kW}yM;oC7r#4S#S!&*2}+$tP0*dzo|uFllMZEh!yYTui*&k_z{)nvP! z@wM}Uw^<(IG`MV9?~R{Q{h?qAbFZW9>9E&=DQdNbKE(wM&uUDSkv=Q-z&HU%(^Zm? z?uaKIYPa^MNh%ORcuK%0dg*;jjY7M4M&h(&^RZXlJ>ayGxxL;^o)!tvq>8x|GCjxN zVrixrYe`*vmvk%+cIH+(p=X)t#jzUmI{rNMna@otfTiwWm~rg5w5?dbE7WNYFL<-HC(vw(Q zltEBjw=&Q$^l~XL6>39Rr7_fv6?jDj%q|s<$vkh1F1pmYC!y*n)*Vm=RK$pFJK$7P zpR22@@x;k>oM<)ZOtsa`t$IX(_0;4}GQEx*w|r zZjmR?T4zqVeC-C=h-==TY@Y3Hz=et1WyrG(9XaQM(3RA790I6w56{@GdmhzImjT4u zr4}TvIu{Rf9hiaG2$Aev=BA4t_GFp%fnkRyzp{SO;c@}nO+5<-Q;#v?a6ICa&bYn1 zMW}U5zlANwLCV}*oY8AxFvj`LdN`nliGvz@G^9ethGOieNFqH4wWG9tn4PIUT@2ILQu92ml$n$nr_%`(2#0MO6nYx@ z3PIaAc8{h~{D(HPfpQrc(1uV_H%#UsJ#QPAJ-y~OELLZ6Pvd8og8*r0#K^*Jj7HVW zc}M{WkNsGYh{NHC+uK{*pH8^Cx~ij+WRVs+2-9k4q2f7l9;egj)J$2C=x#bxC}uT3 zV#V3oYXq%^Dz5BuEFz+*753*e(9k1%R2GQl^;MINlny{=2PvHg1Lq|wrX`g+yT~Qt z9*q{ zi6@&z6{`b$YECQaTyK|-u?Gq2hu(5SE)R6uwsNvmrB!*YS+HSG=HUdVPTgje-q^16 zL_(}{!de88w9zq2+v@|Y5FW2?&_%4BJn7XBbGp>c6gpED{_KhnT4PLq?R-u+)Tm&u zUDG9`BaNE#BlMYjU|@^IF)!6LNei+@(UB4}(I}uv&rUMxK+RRqw*D>)C`8-c1HxOOY(>#abqhrM-ex-=AYQcj-fS8f3<{Z8%;X zhkNMFzo^593sJNFe5ozBa)LK+)=NT2bi}BGAOUN6th*6N zO;@x{iBS0=18k}myv3U(t^VvO{eLLWNFHKrS7th?l-pgpp(+AcyAcxq^PSyM@Va~jkr*3Z30DwDRBWe zs9zNkv6rT98kNu-n5he?NlB`v@Irq!__19e(`IudfU{6z)G!F&Nazmt_a~&pi1F+$ z8hM~Vo)_QH7s>S`!63$Os98mmv{7zPSClkWEh76lJ?B2p8NzmNb%f2v=A=t%)i^Ji zqon5JW$qU4(8JqnKVgfp*fUlNw#;{EOk4KJmfmJy&h6wT>hyOm-U_8BkVZQetDzQ& zE?2q-bn};jIY3P68S0$W=5kn$@Xz`5PgzqeR>f=kw;BpUbunYRF;p5w+cxEl(8Z`j zu9|7vy+~bkS!0a2x(dz3P8NrDofGzI&Kc?4t>IMNdvjA4Pi%;VHmsGxSmd4- z(bC>KaPsx6itb^ujni4SlO-+3MivBDVN_O%GFA|_r8#%iU>`1?#qM1MR{-v7-KEnG zag(-+x-~nweukkQL$#dG)z&eZS<$>-KT#cKzvx4CJccbXRdd~zvdC@KUS~tN8|IhE zt~7N)R&?92c$nTs@XUWbeS_D;i7}`mIy9J1(<@rdq0Fi>x~l4UJPwo(Z(zw@b8$dc zD$COf-aYHeITgw-H%K?LxN@i1jB*{Gn{o=*7K+w}r!i-BjY2-1c`yT05mEXPA%?a= zh3(9GPFgBbP|k(LyKSLb&9DnI`)W1r;D$@52;+PSF28eIzhQrv;2sA?BP}c_JYzT+ z*)kg?JgXVWD_(go#@6(JF%PB&4a&@J>vR^J4z@lCg$u)qjx8PKRq^UIu_QVM3IjNx zUGA*xaAHPU4Bp`?=^hTL#b+h`V&+9^^LZQ5)=V+RVvp}o#62jOEp3GvDJvGJ7&NKBrtlV&WT zOB1H5S=N$kO*>w7s)vE-EzQV-*%j@G;#YcZRDKd`UoF5(kzy$9RPH>b4nzpb6c#4U@rIS}H=;UG%i6|kUW$$qotGXvo={0! z@&I9AQ%iyF^$v|3rG@Zj1s<$AvtBgx3epKVQjN->nxd;d#e_~7D-^w{yr}F&w7DPF z)rhS&3ZWudYHqZHdfCHfNL8z!l}(v7e5%`MBIN`P=4R{p2$!Unt7tF~>S~5I!C-o- zred6GYOnW@S7b5m$n58m=&T3uQOFqNj`nm6G7Q@Yl9IE~y+yqu z8}9M0Jjd!`Gni&&;{us3x1EU7U`1!+uEaq)RU@TWk>Sfiaj-*Q0ud;dYS$amIM)U= z7&+K^dLAn^)IlW8Q&o;ER({;PcDmbi+TfiW_5s-t-cE8gGuM}OGWwh_Km1>c20e0& zKBKNybt3YiQNlF=aUh$i5Nw-RJ;IHHwwXs=uh#(EqgU*mio3)_kE0}a*?HgbTBxe< zXdq46iAj40VXs@bZLHzC)J7;)kFx1Pqf4v^h2uD=tVYGcU1IPrE1>PNm?8tbLvSQG4dD%W{8S6oTDI!+6gg0Odv>F z6}iHt%^97Ion=@?uHs&(qD#9DfG7`E@y#3!VayoR=qToaSLws2vH-W*1IT&bs?bhc zu?4dBx0$Aw>^Neqh-f2T+;J?~`MvuLLqTR^z{_(wp&j^Gxp}BAI`ko-biaF>*4vzV zA$jPMJyATz*T~3km>Or91YNwn{rM4YeYt6@|j95p=^)!-nJ#9VhflrGy!4 z{*itEaj1yAhS4<$1GpBs^7Rlxaa57cGkcnE8jE<+qrc|C^Bu_&u}*!?Ro02zxncx7 ztdDT10p<^LGp~Ve3&Ox;JC2-}aOp}0$xC+(dm^&qd^R_}TxSG)y3$L$8%vLp#Yt>nl;!(7Y`%aazCzHW#IzmzHS?y2o8|m3r1uqozYL1EET!T35LH zt`>1r&S3{q=k_eTzQJ12*PrBI>4~-(IE1i9jcoH})k|1GsjH3T*(HWb^UY2xeGk8O zl~xP2l-C=%WFpnwJGi@iL!0Po{i~i~;Ohr$H`b;>m+A=}9Z)CV=+k(weAY+97Z*(OM`LP&OVhP;v~})g_uqARMxHGQ`;Y) zoyNtAYqBRonHHh5NLQFSF9ba+lx9WpTcSC`XMvdp-}@C=eEd7#SGDw^*qj*bDlcuy zQB*&giwV}RYl^+onM}?;)MonG)zenIX|a>Gd9qV?;3TNIgh2Tsp$Y0c#0#zWUPP+t zvxP9s=b%6iTUE(aX@Fz-wbx$#`&Y-~pWm$!R#S3TT>4Ae*}XXndp(LtC%xE!dtGRc z>b#;qYud6loU&1XC?E*+x@wloL#>-5Yn&YlUft_T+taWrx;)<@r{U-w02YZq2a;V5sqf-;%upJO14SEp&fY43USBINmM%yhZ0kfW7o<8YI1l3ahTJ+k`SvBMytqpU0*1_by4~ znc_j?$SkiHr&arS7Z+hP5It%klxtL_0SKq1|oM9vHXnCXb8lV zu|kbBDQi_!?y*AmPGfJ;v2sSB2k=ZhGMYybUKRH%Onqn;8;g+Q)#{OHtIB6kQOyy?wv{yBg9@4Wx>0et_mp?0Y_-b*=F;d)QV zzM>VZXbG!AcaImf>f+jZLerZcTF;P(;K8OtI#0s{X_JF6%>=M2!4b~&NBu5g&An*I z9T5{B+J}q)*aI_m56USeMVn}JiO04AX7ov6A!)1H3;HkviCKxT4mU_rv_sOZlG&B-I0U4fYK%OWNs}yoII%yAl zn9@>GK5r(qB1L%-mp)deZF}kEYW9Q270WrdYtRgXNQ4+Lunkr^j8#;Zdo44Z^)ny3 z&6!Ji5Xut^#o;`FIWFPThmgGXa?`!kWRbADHj$SaH>-4K6`?dwXD>Ao#g|Qsdp)PFsDZSgRY9#E?T2=*qa7=hfp7R+K^=N!2xU>K>E@yjnbUyY*=V3g)40z`fF3I1oFMQkg9&t5vuq0>&l!2O zVD}J_y++$G)O=_2t!S)7du)No=FG{ZI{#cjgX0)TmHVrwuHc#tbo*p{p z^*uD&=5f1LgubA95p6Nb)O&%z4Vt%l&b08fTG_cs+9>Zy05}lNE%F9v&c5|IB?Uvs{$Aa)XZ7ek@YPt>VM>u)qfijC(*HuuEp-Z3&1tfZ z*J9^Mh9lG`A5~1BI`yKvScfK-nsR@1a%9miu*`{(lO3Q?*f1~=iv^JkRlHxHx(trp zQ>d+K1n(r!|Gmn+FLjw$=DB<6%qkVT#E)8SGP2o*@iAT1Jt1H?sX9#?gZHb2P&=YD zkCgIG^-E}-J-FmPB<4o0TlqV+j72|-ohIniWX(Kw4GpiT!?I`-Z5l|Bi;JDixtJrq zkQoK;EdZWCVZT3}Ijdk$h85aIqZld3yg;tZB33Z?YLRVv=er$A=H0^0A{!nt%fpBt zB52>^ojjyx;Gr+`Mrq{gi5#fYHRe9@won5YjIk?A7n)pp(Oz=5_BOh9o2CU7g)ZD1 z){|3t#O6cwWx|4&H8NElQnLt^NY75|r*s)42%OIe6wZUOKtGErTR6~QL1c{zKv*>8 zs*h97eME82;8-}t85cIfrO`!uD2`Wbc@E9mF>aMkt@uSNJpCc)(uy`B9mt$#*A3|_ zh%r`-q@sa>ABZM`oz>Y64-Rt_vnZF1NOqD9ocl=dm4qH0!h=7D9>m2InOoYT9XnX( z{01m!DI=9ZG%-iy%+;^fSzn@Tqfvh_KTizBHCSmQ>UPa7og%I3nv3O21UKFZwH}n} zk@1EPYS^civb@*!Uk#~P73X}xpLAkA%BfoOY3-CTgyGPeMtj|OF(oH8%+O1PEF`)7 zOt$2+oq8n%+C$-7(wsJLcDPV;0o}*DQbnV3AaMm~)km94UG3WmT~(;vBhUY0001BW zNklix945XJwLwxfQms&S^d0`9UMTzWel1u4? z7kT!)H&>L5Rqw&mUt2+Wo3y!rGkw`1{LsGx8+)m#h9=wG0ew(tKFdtsj?~Jm-!B_zRUKXwCSTv8RwHbY5JN=ju7qo;=E#BB!T1-GHR%Fr zYw)V!5nLAnj=3zpLW8!ryAIYVOw#6H zOJ3CSSnf1z&@i_`B%6^!>*VtYWv`26Jy>pq2IVTjBdbK(sU<9pfmIjwAzXMry||pp zU7}&E2z?WTsWq^*fYYCwm2!$3eS#4KjU8x}Eht6$ZZ5whGdh6A0IOO~hu5#c{tOw< zB*3fBWGMXLUNQ?iqr&5iySsPb6NoX|&5%JR3XqW2~I`5uU z-VB9O>=Cv+eSumR7e}rRUEK@m&O@4U-utcQNe>K0z<5H|XffCtR&%MQ&*fnxt+>Gv zg<^eZAkbC8?`kNVLkK2a3NUjg)NE*no3JdVS81BdgHkFxGM!{< zyWXTR#*+WH2-CaIUEtP@y;K8mr?U(|s%hpt*}Rjqvso<+ryGkMKO$X(di<43#hu^f z^~bTU=Nr=iKwhFZurd2m2hT*`=$mQ4HW3_R%y4>oHI4&gPAR8zzo-0vkb#ELLSBuP z%{xN~SCMys$N}|P#u`W;cty5JlM$C4LNXt0JTP_#mM!UZ+V7|IILzzvawCi%3Qe}y z^5hstoi50gTk-`s(5lneInnn#`B!=G-UhOq8J(YMFU?h?5JAn5Hf3(OG+{glI%?hL z16Wd7H|+7FRp?B#VKPtC0johE?63j`!!qqqt`?=O{b+H(tO$VKBp(v)QLai*0Y|Ev z9#@UR79(O5Jpn5jXB{pwcoVG!U`n3cqA#oHAZF1eHDa5M`VoN}X{`HUN;oAGzICM7 z!**9G&81XkrB1Vp)T44dWbz91P(am^?=Wi`@?TB$EwHIjD`t*X7}7;W5L-~PZB*-N zsIq!jUPRr7h1_0-+p|%J8ZD4GFE#Wgp6+#<+o{}|U$$?g8?K>yt_E^h2csb{JIy_) zhG(eciE(nOAXh4%7FDludsMU5F&Ym$R$=e%&6_EjJ@=KIR3RT)L3N3u zJ)6jeeHts`xnT!c4{dm0a5!suB}P2@664i%cYXk4cFJwhJvcAX zNcQ}FJX(6UmRGaH>d&9g=Z2tRk*o=}J`HPsh^6K#HMNEHq89K9c}>l*%C@XGv3BcI zwSX*c?YQnCVp`zS`cG;!*4O|naYm+*YOmUyt1To2geno;;&LPO0U3Sft&ZMi1Ma1`t-v;Edsd*rkWDm?Q#D^9 z5JC(MN(~|Kil4U4ADkrEVw^1?sl*;4Q$_j4+;vyOVCsgT9WFE?(-5AzX$O?zvW~(P zm;jv;jCo-7UL>;L(;-HwnWUiQA!F9_6M}(}wI!x3hCn09ZcpyI7x`BC|4O%T8N!}> zQ+-^MHCgV@PR~>rhrIMPmXcMvjfX~V)P#|uFdj-h3=(KyYb)r(%G1zFGJ#oB?wm*9@&tvA@+3WR3qCZ--te-wQIb~$X%+hd3o5-#VZ z=nO*WCpzejfdp95dS$Z^}Y#d*rf<`dys{f{jgN08KC-hT$17Iq#7F z);SUqDcj+2fr+~}CfKvb_Zn#{?MeSx+KD1{ZmAN^6O}YYFs;OV7NapH8 z4b+rbD~tA_FEF{SS$hx~cq6OUz4w4Gkl&N&18eFE5+g_FOB5J zO*>P>ZR*Zbf2J<}c0cMQ&&ovPz?UOJU(2Op-?pAArE?xo9eeWI<_Q)NBZT;1S?0q} zCK;m54uw`EnCUqnbtNakPH*BLxRX{_7EV&AD@`H`qT0yQh602ElR10DV z`&W&(4G67f5z}TuSgyQn{-DxN2rVj<51vZCYP>t$@M=EPZpyR6MBVEgPr0wYi4JX< z7G3Y&M2l`MQGTpOh=|Dq40BxU3*mvjt~7Lo=lVy}Eo?WJ92msf#jIQlFF9cQW--OUp^Q5Qi?1}eRlz~#o z2ZX?gQFZ+wLTnx$!(UlxM~J zGz>G)q-P-ZEvQn>Cg9hjs6vlCrB{G9-;S#~4Rs`KN1C|OFapOIRy9KCkk@olQp>pl z1;h|b@ggUTUWLx|7rJnotS0sBNh((xf{eeX+hb4^jx|y=yMPZ-r%iy7sVv-lPuUy_ zjnZxpxgCkvM?xuS4_(nQyso}R16PO8rC}@M^DsZ-*!$V^kYaJL)`J@NvWhaNPT*0i zbnD!ub4~*#9@X3{<%Fn4T7^K^Vn7Vr<%qE2=TlMtW7{GU11X&mYvW8?fmkcYJtDx0 zAot*6Z<>>=ymX97mu1a*C$2oW(7Q058&6}Cs4plP4rY9cpoB3^*wfW&1lqNI@nBkS z;e`5-^{|rxQe058J@o6L$kin_ajAC#+9U~Oj;x=BDAr`4xWM$?nsHPB(qP+2eIOzL z&T2Z5s;ww=-2+hog~)Wt;LD~KgUGvHe2lUBN*0VZTNa)|B6#Nn-@ECTQmK#h`^cej zke45$EAWDN@RK{CmnptXoz25gJ1xSxwV4@=o>ANN>WaH$Uwmj9>rjdW4iZolS3DkCC$d zn1T*PFcWgJf+{SjB6|9(;*O>dedwpZ?+tH!`3KyMaD9D^ySqE2bRJH-K;x*><}Pds zE^>O;!zA>NR4ApW-PA9G!_bOWu-Ke)JagJK4jd> z1iV91=t89@CN?;MUp#yM!H;<<3oD@xlw~h9d?namWL4nfnxQ{VSp$i#8|)r zMf@wC;|at`&GpS~tI4&LhZ5Qhvu^#!4@&bcP1f-`!(K`Uv(aqywgQ;d7_C)N?LGhU z8o?k1T-jJbOrE-4yG`TDgVfT$FM7?)f7jO-W86Oe6F=eK`>7AS`nNyftuO!I(?)po z_%ROK0a}(Q{xT$drKbETH)aa~93xISBlB4$4xN)uz+koLk-PQ^u}eIqRZn5k6{z$? zcT>fqh(ZL#4Ivi)n;177k4MC9E2j|%6gGrytGIQ~v6&MnpMZ3({+)z$KI3${Z}2kL z&T^rvWP}F$Wbc2JY!>xE@*g8o7U7P>+4d5a++5h0-u z&4BR>_0pL=4$vh9*xtMZ{qSW0=+UFCb_j%kfGr#lwgbX;tbZO5LPUrgwis1fM@8J# zW-8}icyn=JF8||hP$kX@$__DxPzP*`xXGTLVQ+ZIFeb|BAbSzSrL`DlD|R;5N)tYe zk#Yn+L?X-yL+`=B8PnqD1$$X53^f}g6 zdFj!mxoTc2hT-+?7*}6rIr=?y+Bpy%1)gOluaHLjj8n>^vD&~g zkd&xI^cp3WnEfUvd=maf2#C#FK6fPmVHhi9eNwHH^@_|zJ7~y58*F>F>QlWC!Z6}V z4tqxT2BbD+C4o3J{yK5@@XXRtZ40?_?sEpGGbrcARBana8b!Io%%nDfq;V;w2KUK{ zxXR1D$dQdAa1RYy3Z%4YSS~5<7D77^lVOamHelg;DGn5OO+f25^Xy)|H&}h&w5``6 znm8#nLhG)F4KZ%(jc_`jaXO!?vp^rvK)TRr5=|ZyOqas9KK=KmwJZ&9cV@bIqpGal zfeZz^@Zjshl))C2UCJRt&8#no1(#Y#PPbeHoPd>720|^obG1(~G!hjda?VA> zuhd|n(gG~M=aSao5~X?X0MV~sy3|}gw=(FOW;8e=C!un*uKdunllc-nG+{5n!Cu`Y zk;&S`>jvogoDgHE*VH&pdASkpPp2v;^ajrL22*zE#Cz>_@9UR-e(#~}4MLAGBF2c6 zGMG>1XR9$RRI`av8CJ&xq*PC^SUirz_*V*F3D-e};c;`rvo`nIzMQoWsLqRdL}Xes z4o&LqvPf-T;-Rqfp40ehpkvV8StYOY;h~fc&$?&WR4la= zup-<6!1m<&2|ngyJ{sxv1|NR*tY~dBBL`_7)Kmff4CTG1*oyvpDcoOjWbm$|q;y3O zdw+k2)A?NGfw4Er+K`W=8pajr;>vH&859duI5XNHx)@?ro~4rZw%h8i&J%tE;QQztx(Jt!7+b%D4Aw5U#t^TDd@_JgD?(iDH_* z(VLe%z@*+{zO;eYI*aV;CE6iU50DrGwryu491e%7Ayq0P;^B>&JNyo$xuQ{DLW}lb z)m1^>LnE0GAMxmLz~je{a5~-N_U^tJ5^%-sL(V|V-C869rA?T+4x|1VB9s+jFETn7 z&&riSn{(0R?A*P2LZKfhBVzFjwJA=F5y#^ZS69bkoQv7a%S(?g;r`QdAlogXeWARof!C1VgEi=Q33z05MuQb~3OGB(OX&W&op zN{D~S&~1$t(!@O)2S1h?fkHrFLWmn;+}1Th&KalsQw=dnG{R7`lE-0hdpVoOG+oUs zScz9I33MjzyowSjCEVTJx4iSwqem)wbO4|fg=HaS1TX>;3eCJ}aAO!oY>fSiz1 z#5tYI0#Ag*X{a5Vmbaz}p;;A1&{j0zF%Y(G!=p!!a5x;R6cb1};e0;hd_E&_UQXw{ z(CT#uHtwaSeO|JphTUOK8<4riUw|um(n2jk9# zal>Id?!c$jpteZm#5}e)(nbfdb-uZGB3*Qnc)%ujs7Fyj49-JiCbTA6EK^%5*Qju- z6bYk3$St?eX9UDS1{f+2K2R|bW@el@A#-X!8)HBS8$bnpd31He<42Eh*dk&>h61)N z;&9k-I2^$MZtw2!?8DFS;b+fO;mC#xJvYRfY73*ida(Cg{yXy+;M9<$#@kUpb**>1?MrLJIS`eh28le|=Rot<47;F!Y^O_%i6AjDn z+naTENhGrRSsUU@@tJTso!YRu2K|zzU)0k@S=yXVr;<)_uLY1*4qah!swq^c9qhP8 z91k0|!-lJ?1D-s3geOlPOatzI)iVXVa12D|X7-)3TbXD|j{arEC0U-zj4c>!L_h{!G*{Zy+Tt=A^ z$tDg>2-{!3GzR0gyAgy^5voP{=o8dFl&5&C!q1cZU&1(!1h}1^R4wG`EsZ-^wL|h8&oN;%5hx6$k$Kw%) z!&Z1l+(Udy=hC-m=XBNB)=IQ6fuRi7MiGoo-}|6$E(gEm=}W;IXerLmx^PxvA6t{H z#t1Z{VI7qSh?UtJ)H7Kz5G>?wq2$JdV*sr5*mn9R^?GVGTDEYFdWlz{#;_i?0TaT! zmi}IpSZNGaC;jUCER)sUNP`|C4|u(omPrA|$c?ns<^+eHN;JMd^+9W)I{NAm z)jm&z(N@!geRVo5sNcL9YTw1UuoGdZ1!WV4KpXXYG+$~&qC7{XN zcIxb0Ow-)2q42RV;85{&%^zVTbIp=LQr$-3pJ=btFy-8X4M^3)7QT^5qZF;XoyVGF zN~~t6jh|hjQO*Uu5}VC#V_rI;deJo6KyzZq)iab^#B#tKsO{-8H+3olM;zq#YD_&K z{RQm8v^3BjGUw`ByEbrm2*J;~E{X?N9Rg9UC<|=bQb2j8f%b}JQn#+R$44KXo}+Rh z-WQ*sp}aCA64dv)R+t@tk5G2waOL)4%;?FD@!w%s54BNtS4V@ z)aAAjw9il5)N%r=5xToVCgW;k1g0ME zix7u$-vlW1n;3Q)YMRhR4xy@i0IuFK)J~dY+?e%5OzRe*UAFg%td+RG6|bNHGVEUe zMFZP;I6PUgTrv$~9@E3_RzZX42+Ga6-Jj~;FQ)$A*518+51vbynqw<{@~Vg94Fw$JqD#-SoC+o~clL*VTF2Gu5X;*zr|`;CVD7}(Uf*m*YJ8t=^u*Skv;;9+`8WpgGd z7vu*F7vJxA@4LJ;f|xp`lJ?xUS_1-@7@11(EatRC9gbyWWY$CWxYYtBItH8){Bct4 zq033$=auQCu3NVAnxZ`3qGcG0-G^lOjKVe`F_!Nu;_*X8g+ z(12>JzSjywCKnCms@>nW)G2y$d{DCiQm)=cwW~~ZlZnlXZis0pckbx=+#{}BaqeQU zouMB*^#*iWwCq2asCj8}sZDi+4ca9OG-mpxK~WC77{)-3Ma?O-K^H28GC8md54>H$;_)aaL4|DZc44%{q40xBcR8V zT9=GGTUU;ol-zt(H}j~SPGLwV(>Y;_3KbH%hmx2!LR^-w5pt%ApBL$>oe&mPj_MtMtTX`3ONLq^T8U`%WV4W|}pHnus;9+gJ~QUT2Z zGVf9>N*{Hpat|5Rzky!KlG0r#Z!{_FC z(G8hk@=e85d!I-lO0^FYs&Xm_#hJajCDrmZk8DbvfXh$AuR*@RG~zCr zTSQJnbDDo~!D?qnd9+xDJK|@kONvBbnyD%>jROx^!n(&8001BWNklxG#5>nSqot!WJjpsK9knB<6wV z0|kjuD+0$@hh?#4+w7jbW4WPZoFk0eUQ2JNapuPvX`!%4)7lV=YojW!OtH}I3WJ^j z);MT|`W#e~G6ZTpn5O;UQ4}*mkfD5UwSpN2mVhS4sOC!zgfy0(P#$R1f%?=My@4C; zo~w}oA{evI+;ffS3pNZ*&JythVq*a3WnpdII)or;XHn>gM^sInB{il{hK`^PsIOAe z*5uqvjk1Qb>dnXs(vy&>IUe@IgR+_z(4jFIZRDL`m%MCTc_PoF^K@+hMQ0A4xftqf zEp<}qenQS^D2O$kL|C$cVjYM*GdBy5t#k`IWET{&p#(DMyed2Vj};wTPljZ`H3e|* zEsEl9)Dde3>9G$)69usk_w#^(9xQ42v&=&tvkRF@DieP6_4>AyGZ-w- zDvu5vD#9s}Xx`ljsD!aWg=V5a>xSyG&@qJ?P9&^7i}qks$s^}Jg?3uo_vs(pnd<`_ zkRv-MPOiOfn5-ID8hR}DCaInDY;x=3a);((S4@F75N*b_u792alg?3-lv9I8fa~bX zq!v&I+h}wJMg3^^N6<+qN7ur>*~Q{ff95vh z8M)beN@5j>aLxsMsD=7|AEB5uVQA0m+&ieb32eqhby8U02w`B_uT^RfodYm6)UfZA z?Brjex;y+OD8SI9#v9(A(? zG;rzn>V@G1r8?~bunPwg}%@n zqXjpfm7QSA?UgKsz$&%4Yzi=;N9_L`SItFJ;i1~MXcZpOP)rV5j52Aq8^}{=Xln?u zO>*g}Ul~gU%GI_$R9yem@3-oTv!r;cLFj2WY^u_Rf(y6-g035v1I?M|dS}rSn%_H* z$y!5|!W6aa&=Zd`Kc`Q^1nBivBZIbjr%bo$_K(<4jciJ|H;-T#2%+4QNrvi?(j?G0 zj*5&uNSk2qP<_FDu(?OawMsGXLE28Xrbc*VL8^^2CKyQ83D=@v;!3vT4C0`G2eb{6 zGOLBqqputoV-(}5_+~AO&FoT_*N!1w$L)Dkd1|wjV8#*+FBvVgC>>>3y|!%+yF8`k zx|73f$Q*h~-hHXW=eCZLiXmU1SkUmWb?)qn@-7(y zcWi$2MSV!)$0KoRJCli~&C=cFVZzJ^DNvh{kaI42ix7}1xiKI#@sQR;7xEn=r9OQq z=R8HdI7BpjL~9$sD7feZEiK}W(qEk`24&wS{ofB5OsmtNWJEQbp@pU1WwiX0JH@D6ueanNZ5K?d8$l%eQKt@`)alp;~>CX3u=C5RFA zhN(Yuc5$*ZF8z$s;h{#ZM7RE0a?L)Na-z)llbnG>hB%j+5wX`S^m)uILri07vpR+} zO=zVp!~~+iyd>h`^B4}6YAzPjIA!5h(c$v-G@IEcSpvm{TA8=@wxe*U_(Lf#k*mS! zZYJu=>J-RGl|@~F2#G+D-w1f00jj@d<66%;iERmzkl~u1p1c=Ive}zR5?mnSY9FE*mGqC6O=wqo?G@<`DMZ+04H>qK3~(7BtYNuM*= z;ohvFv^R+5F@oXm&gi~c zFdIvTI4}wa(onM2o-?D&dD6D!%Nv1IvoC#0H>1MFE7Mzn!14K4^=Dh;AFwQ!Sv)CO zNDxDVYO`DIuxxDXxOoZ;C6|$WDd`PFE)CLzHVzz|zG%u1wRqpshD2QCp7mrpL;uyv zM@}W)D%AY;`86&S$^l?&vN8+F6C{a@`4%m6E1>xgX7P)(Y$0v>9G&AlpHPea7RX3O zgaq5L=P-1WK_ui28Dub?CQ;r>k0fcbVltaU)D4}*8aj+Uf|Mz$G9^XwR1C6$BCkTg zXXpYguHh>`o1qOOF~&{ghI)bmV_LLoMhCF-1Z(Xmp%HGyk8~kS7abL~6$P%24vuop zI5UAouo0Wwf%%L>sUU6`)R?OV86!eMi2z1D-JQDw!vrJRXF89U@`pitvkf8Co2oTSnBh*05dK~hTCWkZruo6i(-Gxv(w z=C(0VkZ!xeRgM|UwgT}XnBS^Sx}ZZD{mM>E?bOuBr88%o$AP0xn$PpZ<9NEo+@M4N z$8mU@Oq29u8LW=YX@V7F>DYaP;BM?3L`K9kIB39lji>{Mm8+&2=+Wml6iPO@39`sF zAyX{MXN)2&OTYjeZv=X#%Nv0_kKHz-D~-Smn|5dREZ1u;2J1vSXF4+xoEujSf#5uz zcpgtY9}k@80m)Kw32ry+x4k&a)u`5F=)W+36CUmtipo_HPy9*+m!USAvi0z}xity;_93SuOYCE5|A z@uv0V$Lt2~Hz#=)5_6zvE`c`Y*@$}>gxqAV+35Xk2f68qxg;L9N~7u?Y3jvcchv_riqj*`QI!U#Xbj>tQLrrs~(}x zSlUM5%4VUm0Ur4Y=2Gjw(Ob(<7WAO;=kr-^f#Yn!B+ui(+uK|Dz4L6}d*5$3&W!sh zxZn3Oq@q!C(ahR{sdJ%5<>n1#S*R-kew=kck*s0bu3{LjS<)uNqdCy|h+J>k**Qe3 z8IoIr>c*^ov8S|BSZ~3qnZ&o>{^8%}^Zdirnrv>^T0@qyM}}dLMu5c`!OYTS)+sRaOpzUg z)vq%ddV?!5zW=@8JVuyY&$iYL;c$|1JRUfnPvrB&@jUSP^%duFv`vr!oX3GjEmQVw z$NhfCe!F4c3tRDcJaOn^$-%VPHNKtFtxnFRtSI&%N%IdvDQ8HUo$OYBKN&bNXTg!r z=F9W>^%c*@v)l;JXW<-GH0aD3Z_g)gw;OJ9ulj*{Q!&+>!F+zEOR&_BczAhh{XnoY z;Kn@6BOF=^(^PqAmd?Oc8jM0(s@9uHM*T*isc=Wo(_if^p&DtbbDGQrlweMm(5WNc ztxn^QFbpqe2Gq@T$pG+#S(FsJp|v%D%4f!LJbUcwQBK7;rDP&d>bF7pCn0Sc_HFkx z44|P-{pa%Us;N-14BHt(T`+q!I@pSf8aCdr?K}3{hW)nVw%>5S-*Laclt06o`g!8{ zeBg)ISG>Ny;rHJ%USHqvq@(e3toM>SSro-vvEw{aL6rDW0D?ZTHuUY8EY_fJvCngp zh+twMQw~xng-LpTTOJQg$pYGF!6t@tIPWOc*?gqz4T3=RpxV2TA$FE&KO=2Bw*7W} zBM^7Tfl+7?ngo^NmX_WSSf{r5lMhtEIYyYGL%>+2hivr~o%0QRkGjK!2)`7F84N5aXB zgP)KyyJ>oUmk=jzIy>}ul?NrW{x4|Rtu}n=I1bg7kc$c!nFnNiTdg*R26am}2FUIZ z)c0s_^OyTwzWL@Gywfb#YvmLO3naubfKDWwLV|K>M;^7sGV-}{e#e!USI&t9)$O^FX8{K>dKid$w7oV&V=#=u5M z5ymt{mHOq})nHZ&q0``$82i50*}-06#tr-JR?3up$Nl96FDU53@qFU(d?|HxDwzJa zzyAY1fBxLiiL*A}+m>*<-@!z9dz1!URZxoh6r08RJnCSt#r2YUAa(bOEp6EM(!ev9 z*}%4MIJ4mSc;dd_!HIFZ-vI!>``h2)56pObJUR!51MS;6VGwFx>M02eewR~%>*r2= zS{(br84JLQu*N(EZii%42SzvRKCb~z7t7Tvl!)-nhHiarly$Rj`#1Z(Zz4h~0sq$Q zMiN&IXu)Xv1X-L@hl)l9#n8fed6+QQ2cB(OCRzLL(Mr+Igsdn<-|$)C(?lC`K9EvE z&KZxlH@v;R;=A;1n*m5JCT1@$FXlB#S)802)p)D7%?(q-8wr|zBqT5yGoN?anxTPJ>=d&P6k0;(9Z#}NoosR4lP_E7zYOQE* zjv{9F#$+%mLTCA3L;A|mbq-PCzx?5cAHKbGvFOfghVf?wH|Xgt4f}Bmc|Mex4%VzKBcj=C4%Q_m za)}8ix`ld6^r7x54G2)nIvb{~C&YPl4<<&&-~9F80FXLN%WiG}P&w`MiPyK!Zlj;) z*7^=&ZcQ{qAZY`!^my3{ZQA}Lx1hrEJtEEHc|LK<36@mVU1a!G=zzmS7m)K=6&8?QH2nlu}|tbyJiM3|JcHCV&ziDhcdoZqKrM-dKD z@zYPqmszp&vSK0*Ht+GraXj61uKc6JvLVk5F(zlI`tU4)q}I@o?vlN2Tf5Et;8A+A zjpPH zsyS}dXEHm_XSDqSEBDGKZ3(<>cxNM&2bxUH*(P&|af+1T5R9)*&SfLm+J7RDw{{^j z#hHcX*zk!wxk}nlN>7*Q-y<1r0zA9EqeXn11xfbwfywpmHn%k!h%R*+wWTb|7RLqG zTRor8sX9zKSG~?vi}*khhc_tZM6J9+HBhkiczbW87Bqnu77d*%BQ)xhJq3cMu7R-! zP>1zmh&Iw(9P>BCeGRscwVL2c6zz@`nq_U!O@*L~j#>D^_tZDbRnA*6>Al>NU9Pkde<5=aHR%eilKp@NVuR8he^?q)9trolJ*KGiQiK zJwYzwa0bqnWzcc&b|MiR6qwRlg{S4yaU2B{sExgTUlsQ2iQ$q(D-q6Zy$P2OcrYZrGz6vX8CAuqv}-!#d$p2sBZ4WGb21n`9S@}kUfyidLL|A#iPOR>GuOP;Cu5SdIFpu3_%9d^Lb~%0?K`yPStS?LX zK{F7*B$uP}$4bUTN*lJc$#!7?T)0MUQc8v|G7eDMm|WI#0+3IddC%a>S;IS#6*=$J zqB`mxN>1i&uyie@n9{pC=#Oxs1|nXCMTJW94m16=SA0{ERZYYUOt1kVO1dKeN3)u& z0+=(`>@lFbQ0H!Sj_$MCXaq!FKTtQ!ab|BHdC`Me5z8z#OPZ=NIDROVWO6&SL6@c0 zM`0SeBL&QR&@x9&0odG@(TG6V00P3cCG59dcAdU2ez4?R%L*>{uDJ=+B~2~1+bI-$ zkF=*?!y9cU5A#$I9%F>a)V%$wj2hiJjYAE2o%R@gs_AkH;*9medvmIH&KU(@@V56u zXm}_mW_pg9w!0x?Z6;A&7?j&oYkV@9ZQA@^k|D#eZME6S9E!a`=E;QDQ!LPD*#1z^Y1u z$R*IRsS0yI7J1533VTfVQ3Q{xG1!@NJLT)O6v9%tXSe~*8L!!+S5~M}R=m4jHbbis zC5oR@hdE{5N3_XspBwR(3K`F$Y)!{d$b+n(SM8BdCK;E!Hd|FV__QACEjH?%(ulRW zl#mXuGzFJe6?Xn0cLWB6Xm;w38-aU+l*KzlnR+q@(SOIfBYDe^$4t;4XtY^h<#df3 zxTn?YoFM0#a>jjt*8h%|iS~d&8V63!m#3VjO<5=1tiZnK2zk1!;jr0q)mmHA;JBcy zW5i08==0uW9_nbhOw^qzT3OpD)M80qe!XZRcxob;{66gIS_1M%$vcKb&8&~WwE`y4!`gi_3n! zZQG{a{9`G{ZrB9)_@`!CRk18)hSZ5@ap9v2jj*qyNd&18+4}bxY)xQ!{p1#<(-)MB zX+m@NWVi8VoJaOHw{99aMoQSDaQj+WsaS2d72r3*pfpaBrHb446yfd&M=OYs3Iq9l zJwi9|?16Xfbq`J@6to4@;+)8#Kw}0P$7Zq4BUEg^PHE4Ep zWZbqL`*xFUyKa^@{o-oUYF+tBVKVNLyoT*6b)nUKN(STR`>ChgIk8jGW|PS_U+j~4 z!YM`U)k?O(vk|QwiPD;LgbD56X?1kQ(sI4fwoeb+n$kpSUqb>Q!K7vq(zYQn<2-Y< zaqQ7s-ejwClBmo9PFQP~`r+s9uHh!%eKg`<46U*#*%GN2&7Du*Ft} zay7H4hilA^Q^9^+z&Qwh+Kfm2OCvZkc@NS0Un`h>-;nl%wDAWv0;jepb4{Q(Mvg@r zswfgw_aMoJ1~8gyPVF8q>>TY0#Ww%SoKO^Qfp`)e$I*B|Z6gPNuw~S-uBSliub^5|{{f7+Y*OWr!ruLxYH&wM=sote?s4c9WD?=pq}TDb%RZ zZu=;|?L><3TW}`kk*A&~xx2G#%gr22R@RKt%}i7H?@Bh>%OJRv&6%XMIdu$W0Hzi< zaR|lgs9;3&)a(#TMnIf9%m$4*jUH($=uR0mk1R4nwQS5YSdqLJQ78Y28`ETU+(~1mqqZglJ^Iu) zyZ#g$ZDe$FFeA{#eR<_mh5CCRL)pmz0P&`@D2q2N=3$VDVY)4C=!V&$AUy}$HoVQW z06tvA-X8XVijDTrE2*80NgC21!JdB%r&hF?cw*w8vbn7rjonx|p80HICL3#D`#Nq0 z!0$|!g$i!OFw?-)1HOCcb+_^xU^+boO%GuL=Oheh?@TuzCB1*<1@WB;}+=6>okcbga(+fU{*&o_*p^W`^c~vwC=MEKsaCh_bC8!WfxzCCh9*L7knK4 z*z2{UU~mD1n1$3CcV?nq?wrFklrD*cD?lI{lOYN{MpFgWh+DHS>$5A+tBU(a=vIIX zWRl5q88_XwZT`@jutsM+0476I$6N*6*X$-SesV+?%)6b!k+hMOH#1t$~|=m|9C1jXN9F-k4>B^nruDbrR2z4yWv?Ts`JA1!)frG+8G`s@~9c zqfAZo)5TM(#Cp{gSCWxJksR4QCuQId+_Z|;(+~4XfAec7G z+TcqVs=;_rl}aKB5&r#o9{=m@cK_kBH0r89>v-3l+?W}Oy8D1-9N5wRYTRu{-f0pH z$d&@phG-ei-4EI`pz97|pm<@bbZ)-blE=b_i!c*`2|66PQnT_W_6)Nc+d`bI1Ea}= zT+jvUdZU%{$dnRUTs_>foh=0ew!gwaov^b9rFZMkJb_SSLtY4hCCrbMpEi5K^&r{z ztw?9vw!n9gGby zvxRZ1Yq?BHS8EiYib6MCG35zU6y5ip04n@y+LCpN>~AXl#Mn)xbL7M}Kh|LH1U59b(uAtNy{(@oB(?Sdn>f}L(N3os7Aes;F%P6;V;@cim$xD7GKjmQ%(I7D zRQGC(kfJ|@yoybmT^Cje7`To-j=vZx7Qds-5y)l~?>37dG`kpULdFK#j`NMavBn!| zR;G1_37#@=$B8lpHfvYrXqn|oUDEW>(iLlIZ zDrX3LZ+y#n7ov$SA;ia;u#y>6JWCN;S>`WQagm*?MhGBhQ=*M#3n^)~>~M&Y3-X>h z%}o-GR_|||@r=##Y^Z1}1))AM&RLp8e{aU~K=+P(s`(8e?FO6yEDC2QPRLo1(xwO5 z$512GX32qJ!#owo#8ji&{c;(C&L3EE^%?@I7oom(s)m|Z|+){5E6EpjU+Xj<2l4_z2Y*uYms<5cmstf;FXeX+$^=1N!?au+crlY>{k`bo$ea6^a&*vTDQsI~CHtDB18ULMR7D{YVhec|cwLpvA zvNz;P#W$n0&q^RSTQ;vXW=YHtCmmesjG*-@F5HpZ?_0;dRqnHA2={+@vX*+;OW?E> zC+v5i)6ye2xg#3{XH3c=u0r`*yILqsOfTSSwF2HXdalOOj`)8a2?lB7OzqYYCw3*& zfZmh=gzHc2B99YYazS=^NDCTK44ImA&1ub45tH1!{oM%&8c2m!ThX~+)PM`^r!@b8 zs(EqjU#@ujaS^uLOb;|8lDYaUeE%U0Y>8r;NGq|SG!b05n%ZmA4ntdUpA&$6OW5{= zZAsiMhzrL#HBV;$t zjK&ya+ZT3!2WsrAUt29IyCN$$F$xn8x00Rex5iY4=v5pI?&(XbYh7PVJM;pDfqC*sr~WRKZD5v81L;-Si~=fcYC& zJvXUd*t|qSncV=)KK;kPY&&^1&1=pBZ^==nZJ%XC>BTHKkJR=s!6r-ntqjmko50Wv z=jbM3Y0}cc1~H4PxCjX0S7zv-zG% z;t$*i%GDosAo*Ay$>KVGC6i_2Wt7D)@+mZD76DI2G76Y;%2J<{arUqvO2wCy!2 zVsDt3`{4bF1kBdFK$A`|99#;gSf>WrcBgpLMYA(Q}Q69 zSwo+7ks4|Qqg(CF7O5?xT6P3kOL#H}QFcxDdz>>{a_Ws}8N{ylL-(92fI`N$Z%FBV zy)po7<$<533^2K1Hru!n@@9jU&hE4?dc6Q?$Ucq>telAOr@zR+BXYFd#ZYU8JKJgV zO5bpWV%SV#eSQAtkz#G%oBfbgt!5ddmeFZz`$VDd$`Y1GuPJqgAny!it|;0CW~&RvSkrSIJhetOWpFCF16I~}bt_EEnu&CA zc76Bv?}h&P%*{{9p48qIqQ|Ai9z##j<2Z-X0SF=^%L)#r2wGCPA=jiXkNuhcoKh;X z-7MW)%Wf!i&AD3#=2dDQLknkYNlBxucV;9!WNkE8i*f_E!6#;ZR8AM7LCZ(Z!)|FtWu}#D5>9rUf%VyACBzhGaMD)`L9=+K24cne7 z9Ou1`Y)q~r)CGcFyy@a_CvKMhR;cl_$PJ9d;rn(rQKqTqq>LjF_4n2!k${aw=&C}! zxtdWdIX@^{f<;rbl?cbuAcz=HBLp*}u?jQmV8`LPX&#;AE?u=Mw+N5U=qhaK8`{4y zm(iE*tLB1IsoE(4M9+WoZ~o$+{rcCxewS;sS-ytd@ok|nHNlYvbj+?ZvD}DG6lyju z5;#lNyK*LLw7XlIcb&ef`<|s4Fr{`9&vXjoWYvbFjBsO&I*K2bRjAp}JnKl;rJn4b zopSSwtV4{>qQliWpRG^nJ<=%7x2TDjL>Fu1Ya?^7sOif07by-JY(oO=HA%&+OkoBf%aSeLP!?tD2bh#70NbFGnZ{J0;C8#owr%;p`LF-Wk5DXnJqznQ zQ&+#nDG5$v!9BsJ?G<8}h*r#zt!r|`v8B66OB3DKw45`N>SPd}a z-Ea8Fk4?QQE&ah|6r8zThDswn-v4cF3e-*w@-E2sU1#Zjm#ro> zyl}S+ssKfOOlhJ@%EkbM51wtmd!Lc{D<$J`JYbNZ}TUj?`2QYm7LQi<-o*N>0%LyBStt=UbhIT^SD&)*2O*=3TZ=2 ze9S8^96)Stn%%_b)C0E1ff43zcsT>$?t!Fk8#znuX>;{S>N0UJ1?|>55+=>rK8sY? z54q6%0Le&5m3f-5Z+k-$KQLLYh(_bCR1t*xAdK~3ZS0y~eLWReYTd`|Q*x{@e#Y;y zgQ0+Cl)5=y$$rsV!FlJPh&Ly5G;7sH%<=S@zF?ITHWRJP#QS-YU|*nDhK^I7&u18X zdD|Pi*gBR^-UD@+YDvw3PGzjI{IhcreMS-ne%8k};?JIyD*hIR)!kMqh@6d>X_>Yu zB{yNm0HdM>%QO&zdye&Sp4d4dr49SG$-eC$yAe*cgE#KeMDv>)PhvwgET}l5Oze004qAKlFLgLW4X@IqDRYIqk${5g24K&1OR+ zNSp%l)}MdLQ=8wqGmyd}nE+L3u{THVeNC=8*&EWf$@bCGNF+CAW_ECCuFoj90Zpuz zi5aX2g8mtMQkoAfFAxG<#Qnq1@S?Y_SuJG0b2=fO)xB*vWNQ1!o*Yj^OeezDk}_@p zg$85OIqMr%RF+Otwhk0|v{x~NZF?|4s0D$5Wa*?a3`BJ?8NUAtMYE?grtT9h;%~5j zNn0{u=hvS@F$OSE!_}CKqT>l+hzL`AByWb{dQUQVMkfwT3BDY#U zn<0-4hG6Xn0)eh2yocKWB7^^bl=k!>a*t=vf;Ma^Fq>4)1~%6-3~@o>GY5<~oEmsI zli`&v#FCw6m3eTDbh}~V>CEJ`yp1fU7`j+o5TInINDFm$Py7z{@8dA6TM6d2_-&)bL4P}AS4N6;v~C<|9dZU9jW6|P1FCJ? zh5(Qm6ShRg=JtVZ+g3l+(P!0)cQJ#vbXQK>mfDgR%+r}(Aud3cB05SY z1Vm$RXA}MNIB)_;8@Km3a72MJjuoQ z``huH74>+_6=|?1IjO6)6;q0U7tUyDRk%f_!A{BB)`z-X%Yg2cLGG;GEF z8N8i9)AcgbcNd!Zx%_^SlD}%AT~ATVRVH?k0$f#l`|U0-FQ4$~)5}LG7Rpaa0UC~* zVII3G{T)@?q4dBq#TWWSoa8 zmnb`Xl^JW1O&U9>Pp8S!DFX8o^@bqn115#U(!l!6Q!A0xh8bxN>kR0&*mXYGe0F+0 z-(sMQg<<)%+$>4@;E9}Nq-B71#|C3cR*^YHrHb0E2V?kpz47c@$y7EpwPYHAE*&*y zt`9RLY<9z1gRwY?w*fQdHK*o`(uG?zOs`kBg#B~#&=s9WuyM;MD>o72cDu>#cB_ZT z2TP;Iv##T6zJLg4SC{qaYzxa~mklTcI(NT~{fpF-L~oIaipDxTTv#Wr9`4nt*Ea#T zvPBo@yi8OGPllV$YYTkSU&?)MhmAJLDkjo@w-oSFe&$L)NyCOzv*3o9)Y^HrfNVV0 z>Uj-ADwjFHm7-FWW`-8gQ7f(oo0h<}Cpo)!R{K4s;JneB{+URsU(O{^JWHpP)D>E8 zq}xq+--Nf1Q7l*oW@j{)YHBA8A{F-`1rc~ehGuFn0$S>%4bDhB$Kq{DjPp{OSR2NF zuH4=Hrs&2ftC%Qq-lMi$)YA@w)X<)!=b25t%gx2E)3V9+C#~63ixdEo&suNG;9u12 zQwRfs)@C_anUkTRRx|G-$H^i)_>7-XKeyCPy&I=Z8sPAmoXSZGufq@d>MSKuOTw|* zX(q40H}J;OPjNg%OnkUzBaT%TMrnhtWjW(%|&+tfWUcYBqlY_r^>%33&04#aA{GyA;T>q9G*T4~r}9QL_Q!QbVJd7n9#Q_cLM?{o2Syqi{(Pq@P?O==8uw}vJcHdbj+H*DK3DSfa<@KAuX z$Q{2xJpONS?U?}lYB74AKBo1kC$@QwD_zV9)MBQ)LdYP&yb{$cUEd7+J9GTIdJnT! zhimwF+zkC|B#0bFYoYXn(uAturO#Ewxf0q5uT>9TMPAK5rx|smVEC+O??9fL`6n^W zdl0*RW_{ia@R&yPn)wWK!j?Ad+g-M_Bc%`a2&KK~UY|CU0s#eyb$Voz&KAV1VH5Fw zHDl;Dhpgo6+zPVf<%z#4iDt8gm9f;U$564y)!&_!Tw|J!*Gc<7M?(beV54GfcZ>l+ zZ&pWkX*3s}v0`U7F6w9)f1O$NDyNf;My9GgIHN7(>hF+IA#E2O&x40?~jlol6_`^w)l)}O96d&d)WMm3%Vjm+4a@wHkuDc&&&2(iXy zk=fT^@|$^4R~ylb-F!}oW)p4R>9?#%irm2hH(XQ=0UOh+)q!*MEZw1)m2E2x)}~53 z*GePjT=dG@maAs@W2I4cJa`#O7c47tnqF^9Tfhs3<7oUlQH@Q;{80gBIsB1qrsOrt zo}69Fa~d`~dU*M7e%E!{e(k1RAZi1{p)Ucd`$L){Hw_)q?23lmyK!WrN-7@NE9Kep9gyii!R*pxw89ZcZ-V|Uppf|EeFYIR#Ffcn(457^JXkbpjSI-KZe4A#6=6)#3rq2J^3RL> zv)LxLA%|9NHlqm)lW^%;ZF@qi!7UkbqGT({ROM+{s8(*8eb&G#&uw<%#($4N=~vGj z!8%{du{K>McC1;QghSRhkAs7&hf(1-+pv(%Gb%_?D&n7w!6}`O=i|5k`d|O6Kl~?u z`m2x55vnOG@nouK9T&0_*u2LRxnd4VNZ092dH+@GA8Nm^0FB@`gxp<>?PIU963eV8 z9HY=@CdH5z<~@T~g@EUA;P&z|_EVK&uF00DH-~$+TyH0u(W<4uYDtKzHoTO9a2;(Cx+cgFAA7^1Vj#PfuQ z1rQOGnI+4-$;?g&V|##Auh29a=jj(Ae8Q+ZBy2*tj;v(tCwc`UBmDxHF8USad8#Y0 zIR)YN)s0YxKK&NnQg3{#d2c>5gd-So_Uc2y2`aY$NT%qcWjCt=PUFtDZO5lipYRbE zY{xZ{Ea2q(fxbSZ4QXJ)+^(RvE1P!PICZODKiyr?aNA;5moxMA&*LnYXQ1>lb92~` zMbjS9u!uy>@$Bq^@a6-wxq+~q!>pcRk5dSO8#Z4n8AuoCyeF~sG?ur4eb4PckP^mG zf+bzCVyM>KOriv^n6B14HDc36OFPjbQ+Ls@ zlkoS5X1X|La#6j)nbUNbIF+?dAjGUCk$Vo^eo^^1&TpE0Z==B_#9Xrs>c$BD$a@pp z{u<6wlEe%NUGQ0Z9dj5q31x4D)q+zMeygB%`z*%WiMuX)Ab_H!JwZKBnXzw0tNcY9 zp`9GLvp)Ux>BriVGoI*CMxqa3fkt>YH!Zu$C|p#(HsS8r!BI5ojU+%7v9v5Pql50} z7A~WTu4vlvzsqLwC8fPNW>K`UfsZ!k7-lZOVPu&~E^FSdWX%l=%F9>^<m#&Wa4|~W z4sxYziwIhr?v@YvTzZDa#(JiYo|R5sgkDcnYq%_GyH3t#Q%CZq30v5 zWdayf=vSL|>!Q~W%mSsVcH5Sndei8-vS(v=H)KONW%Q>9)a}@HmgKa)!8IU<;9;hZgg-Jns}L7vHdtq6Qg&XtC8GksO;a#h(3$pJaP;1 zBTZ<@0;`usv!{`%b47%NXK9}{L%^oU(>n=4t7&dqSUPbBqaes8ki(QfiMbgi^x<+y zGBuG~q6Ti}WFa%`Vw-PZew{j2Jbtc1Xlpr!GfJEza43PYk)iTr7%9W#-fq&uGN2w8 zXS}xx0=nV;a<9UmFSrp%6lOa?s1nA??de9mUK22!rj`#rvu~L(Kb18o*IxPRof>~H zZia3^roxeIZUw?wEz{G+jp{KI9K~T&yUwd7Am_@R5z7v>X`6B>fwVV_)n|y72%?#k z)%H_fE4pETo21f&}*|h*; zT`G&|<<-gQPJ;8S+Pr>ps;I@Ds;6cR=hF?b^zSr(okjDu;=p&|2O87UhU8i5@YPV! zo{|HdfE19(g$k)A;E8{%*{@QC=X&Ot0TGMRoVA_H9#E#AnVsk zVXD5GS@e=_E*i4W$N4BQxm%4@U6&HJeJ^Jw)5m)R$r&VtV-E7XbzkF*K0s3vmDZV) zMeZlNy!`!mn%Jf^TMfE>P^Oo$lE*9=*5}!A)dFN^1s^Mo!t6bFL*r_uys#t@$sp2olxGA0eCD$!qlkaASu${rZUt8k2vJE!gC^BG$jR*Q z&NdOe6GJvceEnN$A)*cnJ&61$=D}tZk3~5)LyXp`oD;59SSWUeP~QL1tw*ZOem?V* z&(r^|ISK_G4Rg1ZKFgkMymGzsDV}t}tGeDq&VJMCi4!;EP-i#R1uzmL{icI^?FbtL zN=&RsqOCB_Gh<7;Y#m0NF8}}_07*naRLtN0+rRwFzxdDo!Qc6U$#PbtU5ujy93oN5 z9-cZui^yVbur7PrLm(eZI-3>Dux~QLA)7b}8fOgp&`aEvZRlxe;#W03UC2Wtd(3KZ4&?aGtD_-TInpU+l#loNqZu)A z-PiGS2x(9J_rVfxp`$jIy_{{kzE8Is(|E(SZSrMIXkfFDT9y+`$q&kS6ju0u{AAcd zf_d>~ovt>}HLz9A=K4&=gdb~fc{Sr$O}}TU zKr_ynu7&eFk%$+_6c22H87HkNBc((1{q{8m0X0A|Z97sb6bqt{H_By>Kn3z@&{fV5 zuINw*$#DI{a5Ds4exW|{wk5fh4Yn4KWmhW&szaP)DXA&w4i7TvOJ?R?Ev~pB97;(r zQB)N<^D~RAwbwA^7PUYTxYyH;kSvgTRi7fDeV;h;^}|MUCffUh<@qO*E;NQDir~`a zBhnSFY#y(y7gy*{?}g6dJH$NKF|^@Xo`k3LgH$KcQepm$xFeHNe0U4_xabo0eaE){ zh#SFXZ>`>Bq%B9&X23_vp5u`;n^mEld$&ox3r5GjNN7m=7h0q zROgi42yQjYt_Q7}TLq3rFz6p9Xv$EJ!|F0T1GEs!XyPNvMjs(V%ds+7c&{;@vVbQy zV>CHXeanietXUjOK~wmw8;8nq*36%&0LcA*$Nhf)aT{S6(TA%n`z)s=lG0A_m8iun zcIOc@Uoj|FE6O^Uz|@$`Bk* zE{6Cep+;Ydy5a37XH!LzIrJAH+$^J~5E?xL4$*fXe!5@SoY)OW#6909s`hb*N zK=}A!8QVkYo3)n-{S;!*RAUgCk`X?&qH&raS@!xZ6KfuPdSbI@7Y7W&BXZUSP1DHQ z6+G+RL%OMesti|#VhEf2Js0fgFEs)JJf+90BexDqbIwI5<(f?E>jX!{v%@tT1z>6Z z)cS?;=C&>MSmZ>w-FGn87VC>|gxavAl=`BT+=Li23iM2Da>?S16a`}mZ-pjvZ83SV zI@y^)7=A589PaAvra_f$$z2$aYw781p{~OUBPxUTY;7rL(=_d%(LGOX?n4>+Je-^|I=apYdw#ya7%d?zh_` zG5uBIFD;EQIt^QH|7wzWRm!ZAY7lOMRY1t>6ff4|r=3Nc#n$6*twsHe)aJM?_5axk zK4_UJxhlKV?O|p1e$$k$}5fN8@f;vOzl7p{T<`dswJuw{qN8D?@( zThm`1PH_X+pvZVj_<`5ln0IvG799C>Rx=9o>QvYwk@0iW{D>kC=uC%h@KEULS#t4% z0)79x-~HkL!5980mX9g5Yo-M`JKL3UpcbJFfNTmwJKw=3a`-Q)2LGn&#I=X`+q1_EQ_ zEvU6llLI|TCxQ<%S(%Yp=D>Rs8U`;EVJBQTo9H~aK*`@j}TvQ=3#bAO|WzbY;YCHsB!n(c!B?yA74 z>I`aTv!$t$z~t0ZoAQ!j$&%?Pb1?pL56U$3b4vD@6G7Z*vW;S0Y1YLuJ++!CF=OAi zwiu7&fVF$qO(>Ef)KBXsp9Kv)lZQ>`^cBmv%`Jo`wL!PUgUPa;YXB4J)hQM^0_)K=jOhg z2Yh{n7P-U|bneN_P*)`4_Wg~kd{1(2ROMkNU}{OAkgn{*^<@sVA=oHh@2NDZWV6G( z)5V+4T768OO}UveNi)C_Ay+O&pVkO_#=v%qx;1x9A-@2Lz`PBb;H#4EJu7|pxk>NY zM%FO5TAow2u`~f8T|(#8kd~`tzpt*Fl>BBG({mWN+wDgY?f_up8Z=Q5nW~-DaBWS$ z%-JJK=HXqHODl*mmJ+tdE+0r2x}0?r*sI&}`E9d3i?8bC-E0&3*OQ2VjRyEq$%pJ5 z`7o6oMn9##6VK;$280Nd3WKt6DOuQ$V@tN2 z29>m7SQ^qJo63(mlN7Dd)$D+pHp4xE({EOo)4uc~s;{srHwi`xTF#9`NofL>8HZ>_ zs=T78bS9{h-+K0SN{nq|FqIj}T$fzzB*i$1$2{f1D0*qeY`HmAow)C~-EXqr_AlQE z1O%jEJweqM9KAqiX@~DQI`r^qk8t<_oL<3Yw9ew47#xCwE^eROFmheyCOlomER10x z4Xn!wzed8FF1UQ2rHf*tRg=?ErqNI=zoGph<8ky^Q{D`+8eEMJ`O#j{v&ZyLdbeR7 zZVFPfE#p~b=o%&lsGjr&7H@NNb@lUcxTBduXXomzd)s&1@3)-NmzPG|8ZVJSUoacZ zuUy+^8q`%;WQQu_(5Jk~HkqvXTgWgRqdAGq4g*K8RCe=-&WoYxAkPKyac2!O(Eu8# zlLlQh&z&2TT;n@p@>&v}!>pz^qsHOSK)SPB;+Z0B=Fs7%4cw;f)3T+aK~a;!oVs(c zv9Yv{gdQ&Mbe`tCPUiQjj>G1#Sx%GTbm|T9djS8Oh(7;_jgZ~AdWH|jE6WP-$KY-( zr?InBXa>Eu1)`{sY1U_pyp>85H)`*_>ODKlO~Q?{GvnjrX6DuD-zjZlIUzI6g!ho; z)VWZK^2{_Hy0LZAYbVwOy3B1`$tSIan61>^m%iVRY!DhaA`(B<;XZ|uaQk`tGaEs;m!no zX*2<3Rh>3}A)6~bGJFq@zZ**U4E9`6KUM$++U$fHWmC9PJwo%`$}%lmjU`V?35gSE zm=zf)TAztQ;>Z4^>N-SkU>=B&aQxw7w8Fe&OSdNzfA^J`reV%)0%^UHT4`)*$w<+NCtddl?b>X&;6*NY{Qmahl#25l5l)2$)sixx zIpb>~ryCgQ4rQL$gsvT}6@MavyQD2sKlSUqm-=WP+FS?LQA z^f=c^=wg^fkowbRGvyb7oMH^D;A~(9-E@Tv)3#yXKAx*QL5no9a;miQe#*|&&3R$GN@t&yogxof;l=BpNoj3a z<@-dv9Wm-QQ21@S_)lH@rg2qnaMOXCcDiX(Agw>x(uTApVgB+)xeU}2cQ1XScTe*v z>}IDa7tRMOSWKEHkssVJ0lB{6Q!tI?_x$j*MHyky;;)xxsps_RB;D{IPcTpx#?pGio#Z9De;Cf@q&OKyZL zLw`W;*sBbjA2RL^gGieOYHh4*XDX_pai+>-)v#+K1NDhxq^@Y(aXPDl9DytcKm7)f zDTz=-Dnagj57+TVB-bA?a~Z^C83=whNr!@R%st3v&%-8L4la-}Tfd>G8#gL3EnHW@ zD)t#9X5982+qM~fa%UM^>Wn>%vh)MMWok1co8HdmVfUVaTiWRDe#fUzpYUVo6#%fE zIhSD?YS@I0^_&Fn`N`#JaC}S$Y_rsvt0}Y-2-QJXm;X^|Rxy?%Y| zL@qOfs%@dyY-8HwuEihRKEUHR%`C$7T};NfD=(T{Oi>?u!&=f>mt%PMX?Jtm($>^B zVs7~r6~bERGqW)`mf>a?gj%)CYY?>dK@CYAP00!=lHED7?>lbyyErrIFP$vA6h>kQ znd_+b(@M>@!u^%dV@B}0k_#>^KTw)4m5|PaBAra<`8_M!lHNc|vxIri*lPVg$PI*I zP`h=Vj)Nzn+zz@{OXu87%N&I3(7Dli-QE~+j*uO|phU`^h1@3W>Q8BG{4F~55#Ym; zD?9iwlYdsYx-*enP`SFE&q}+Va!B0;qx_ji&hqEmw*4PJx>=^dD>H=G1-79zin`*f zUkm8*uJ8j+$DG%ti^*l?3nx0u>!CJ<8Ox&hnxptAdWw2ckxUUR|GdOZN0sVW8t*vI z(CMoRw3064C$rkN?qc{@st-2-Lh*q7bE9a;&Jk5n8*VX0Q5<)tsR% zDqTpDaT*&FcSDf&3cRESkZ}aFi^`v3i9ql-f-%>U#oS@mFFGrJqo44(26aP#OcExU2&fVm z-rXzK16VR1|I7)u{U*0>%j_N#z4F#G_%&hvH7HgkW2$bZFA=sIDnW%EZsZ!;g zCb9w<+m>)E8zFziMzF!)8dmK+g#`1#OwSdg0hQ=zL_eKox53JkO7UYQTj><_)O7GT(*xVB47AS{zLkkO~McSe{p4ke*-%Os{?*g|cUa17SX(D*HfksUQ zwdjkbJPfFm?V3zFk1n)pBLQ#YFJ|LJ>y~lQNps8gDSLHZR?Y^eYR#zzUrY)4tV%=^ z7pr{*SL(Tz*%S`7ZQF3W-GrHb{EcwRiBuULIam0x!j-~mRD&f|d%*R>iOkCrbHzT? zO(8B@tY4#8Y)a`=i6u{l8rfCTHfOBa)oZlh*QeUR@n3o=Qv9OMQ^wcPvJkXq2*^qd z8I)f1XG4chPN%K3}P)q^Tmk1XFOHE7#pa8M0Bfy=Ha zpC7}@Q>%)N*r6}IH)ZVmO|5XgqBL@D8#0s|y~f1F;tfr2rSMuy7AF9iB)3=$yqRJ( zi*RWROo9!cH5*fF$ji*L+Sq|HeNUHE5?q8Hnh&Xkn~1vB36A5ejomzVP2-WQAubHc zV=owslrhDjmxU{->a0&+QccYaFi=X~12yy|MTa_ns9A6$IYEssZjp0nJ9JU4ZB%|aZhKu6 zDQ(SbD254+rS;9O7 z(WVH^XA#zI+P+>Z!+p=0WR`zsbJAj{x|TRS=M9DjHBRKCBYB)x)dr}+r?>rve4c+s zME}!Q%@O)ACO1UJlDuXjig;4GCUsJ4&d`;Jh$uuW7S08Hn1^T-u4-HBuhp>elmwJz zaK(n{cUsPkgy51+M8IgBNM9&&?+z4H6XE-><>BvXJeBrJx*$vaFHm!@ET<2PHVE6y z=5a=Lvu<;-Y;CiE1(kl7Y|nbcVG1pVeh$Z?)n}nUHyI{;R>BIPNL);ZA^3NH^ow8o zpFesd6pzvbk}~RcJJs$$$Ta#jF6!tb6bX4(I)zH^uLAvCyzpDC%)TTtTp!0Qo%Ex^ZE@Dt=ujAIKLI7LBF<4m>H!JsWZkojjggLH#;LN3STkmz%ex6 zbit6di|;Bur!PcaN<*C}pU_#TH7HuhmQVHhXDLn}#K^`9?KqB-*PJ#pv95xgeMjPS z{ONCgc6`M~;1<+D`l4E$$PETv@oi>?u|p8ZAWp$0qq1Yf=+RX=WMSoFt4~osbeQL; zi$9kTCc2hORhf;j#>cqSXbiTIGE4UKLUk)kwcL6=bMngkpsDiM)#!9FtC;pmWRf~# z7zoz6*DG#W3@{(dsL)@Ccg*wTMLoF2_d~2RE{_P_?|0l^?mxOwt{VXm$`G(iXe_53 z_wnQev!0zy;O8 zo>CWciTM6zv}B8;clgve(V^PZX9jQ@*jPdtD$Y>YHq`T3f!&B^Lz&Eh6-zhjNoHbx z1x8Fdh!X^PlAV$Z#d%7p9ZTEX)M=k>U}&sxiV1SRv6%?B`wjP(d;Y485RvLE0x~CV zWdAAl+~LEyWyq}bnSEI9BpsSkix+iMVn9p|n#u1%@(+D*n$WAGdvc<)srt>(Gzu6R z>e+;K7MLCvk~X~Cmg+`$Hr)WX*w_=t@pPI8S9VrSMA47HFlccRPKfE}!{oEyTI!C> zd!x&MaDp4GS|y-O|8y&jdq#HCLQ`i#i>(rDdF`795EE{<9k<) z(1aZu(RiS-5~l zg}&d>AIyGF9YF{*rG^74rlICWZns575nm`qQ7p!O1?opO@u#Qi+YphyXKQ7;1$+CxpqNV1NvdYJkW23RRf#0EW~Y!+lPiCo>ztsJ1qqMm z10n|?uf>2XXGnf2nuX(Rn?_@h{DLND5n?xGS7*T>88m6R=Qf11nTqAwRi$k)1> zv|A>w?}Ok*pH^(oq|V*ekQvQB2JoOrYt@*V(@5Jq+)vAG+i|~Of@K5#~X)6@%EhVHaRk&?)#!)F58$qo3GI{`THJyzdrfi(q?EBOOqtEC#o_IW- z?a!U(iO1U;9?vI^=M%55pYexpzs2XzuShB3n{U3sFMjcJ{LwG}2ru^+?E4K=wZY@< zn}^(h=x{PKXRwfM{Po$UX+%5rL5k{IdS*BotpEO10ag9hX~H|z-Q_~A&NQopUa7~Z5vWu#LNV$n`GOnv$IgmLLg($NG7n5+q1F8 z1=(0so=R>Dv;lSN{`TAN@csAS*CF7E$K!#ww>LZ<&t{;j5wtHapYW?+{R+SS^`GDu zzxX+B`wjQ|9cRw?!?)iy2aWeA(pL5M9>MVH^R&`f$>MYit+Wor#+KtSkQ089!$&xHpqD6M zAW`}7YhAu=8$Nw{!EqjVKA-sf!)F}TIpI7HhzebFvMT^20h9~phaMw|FpINWZx)c~ zCc??|8Hr0~SC>Un%kk1p*69=azR%X&Z`)QDzM-yfDOD&NxV?PBFMs(<{PLH-!Y_XD zNBHKOPq^Q1_;i24zVGXg5ggLJ%4&R6? z5m9>IX^$+ik~rp4e)S@b-M*^XJdTHpPdO%$zrT_=vo# z6uc513DkbFHsg}9DG<>D&`a;A#${+GZu9TaIb^DM8+GB_X#Sf1S{miVyEL1^uS1P= z0MsLnba2%JxqJQAN`e-iG3TX3>cLFN63wf;u*GVnOWCvU0P_JN;C8zq=UliZ8e9OX zKvln2hdOQ6aTYzpnM>a9ah^EOj8oKc*$f7=G@XD7g6yD8hdZ1SIA=W16a0Ag+L|O# zy9<>(OKv~wis0%Fce~%KwMnV3IWe|<$NkewIc(0-5GpKuoF_iNe#YzD>+n>N zeSIyZ;AF0`x|ywqk|n>zn|n1l9DoBIf{Ag(AwS7>vkjAfZG%MgmbM^_p!aD5Z>(DO zBr5T|`@Z9L+l7BbT-0Q;902^FNsz`C6ywxTi|-lB?V?PYMFT1Rtv4&&>7odi-=# zffM;W@jRY*JRUfnC(eB0@qFO<_P}wL8OPh(8=j9x3p)`PuxCp#8d$JfwYnz=p3gU& z=ZPPF_yNy~mWdg*MCR!1`Ib~l288P~&eP9k)lggXkJKAT(S=lhB zVP50cp*WVXO*ze3u%*H?y4`L<317Dnymh*v^=ftiSN8|?%t5ZrayG`gd=Zd=OL4po zb95f!Tp+6LV-pMsxqM*_`bZn&cE4l4?YQ4=xb3&*Hj%iyp`A7JSlFC6mAbI+JNAvS zr-VHbHX^lHttXxsaeWB{e|vkw+uJK%U*GWg^%Vlav)293quRM!<(?HN4S8^>-gfMm|e(tdJ;k`Or3E93seafO4lYbIy?GiSsO*t=c@x60?&O1djh^?AxXPIuu{KK2_kG*5IXS#Y7u%fQrw9a}@)%9{+XJ=?(cA`Ckrx)yFli||Nk`*tJx zI*Ns4&rr11?oE(WXWG$}RS>eTCiUj*>YZg5co%4u%r!J5s2IvFZVn4eXDRZLGp>W*H;{m zLbQ9HXDgr1^Tc_a_2;7s{j&*L44WW(cM!h`s7qWi&ot1v#(M*`m<`e4OO@VkJullS zqUvg4Z(r|&2pN=UI>p!bQ2J!+^Hh4&axj(FcDwDkz1*?wU)dm(W?2SEjSO5W=A^Wx zN;{FvAZ$!@^saL=T)JV%0X?vyH9KL8qW7~dCaEcu2+k^w1xnppvz{j9120D~a8RQt zkfE3yM{XM-TAoxZkv4Tc&lBH$_gyQG2-GIc`tY(yg>eg%+bmWoH~BGfvQyM3x-F}71Xq9h^1@GpMZ-;-qwwRsk^RgD21Dy)7^+%3F?!fV4LFe+ zK9}=(8E@4#x7x)#pWwGQOM0(gvsQT&+Mi?j-&l^o<}qC_3>5aH5o$R45>*? zcaY4DN{yU2aI%_Nvneqf+9HFQ?ur<>V$(W}up!xvDW|=fu{T=dXo1|Z+9vue!5b-7 z2i)ObrdHnFZ?^)He1)-BAE+@+%1>zn5JEQBDRl?D3){q*W#LtFOj&eB9A@YMtn&qu zR-@Z$jHxuDIakN*5PciP^g8P~>p)CwVo<$)6LTNrID7bU5taJ>H3W#zCEHd{z-T~R zh=H3SziB^2o&y$GiXOES*eR>}vGxN=tmERMha*_)$w)&NXRAZbg(QBikxi_#DK;sd zex1Oeb6wbDv&wV*UiX(fUha4KS}j7m5j+h$3_?f@a@5hKxh?rRsr}l;qHYB0B7H%w zr&}(aLeZk7zV;kS zGw1S-k;PEf$nbYMF5_;Ss1lz|@GWI#EQJjhDI1wAd39bn#T(gYHK%qz=j@*^Q9t5* z4jj8dZWHr__sg|1`1H*u>@Rmc8ozEM2=l}R0{>lIK)f*uSE3#|sI>kaVTmrgs+(FmQ&{y>ARn$}uwYKnK zu8l5N*S$5`vBJU=m-HCkQYn8ddCWF%L7Hl5B+;qDe$QFHTP%N=*cpfoi#aS78|JsN z-j6ZA(Ji|V+j=K!5t(w)=L(PZGSxChS81cgPLkR!V0lgPNAtp}w|NflLz6h8Yxodw z55|_ZN=D?*^p!J&awF(N&e`yy3_m;=XbsMBA;fNW!dwMT%>KOIL_YY#jt6W?V|H#6 zv+t)~Iv@fkLQ=G;-g<1c5Oq4crBt*IwGn2ef}CB8yXpn>rWstgJr?ZXXe~nS)-u7;jLkm+h1Sf6`yM zh0I8FeGyeV`C5h%bF0P2_}M-au$x;Cfu5Rl{aK7_#RNJ+qX<;;o7>x;)4(eaiBNm2 z+fTC*nmsvlK#jy@2v~9X3jO&AM!jm9#|K#G9P_5`;{tQX!KqYMrB}50)OylC^AqyO zu+D26ZNO%P<`ZYXm7V3N(}1HXcb29l>JN+3~~kz^S-4VQlDO4aJ%iGuhb!QibZ?C+BkNR#pv!p z12#Mh;ae?;ReFvH2J_uAs7q!8`oM{30I=LFEuB-wOl6=^qkFw;2Zb=X17cv-k8Set zcAQ7wwqS2lqW0O1KTY$J^nMk2MLndi@xl~}wF@}v0=y5ZZh~#wjH$6q)rVqc2A=*g z*@$Ahz&UBt87P2pzrWyqfBCB1G(S)yl`WKd06gQ6JI9#bVI|N!VNH7F$T5$5HBQFev?Eze9 zEYbuy+fOh|s~bVD#uCoZUC>aS>_*hbF5=l>?Y&cav<%1e^s%R?#h_;kZPv3`NIt|} zw&pqZEq)3t@6JZz_g>`-j3heUu-$Y_LJ1IgT?o$N(;IMb826h(32k=WThbo0d7WZR z6aoai@~SHTE+M{mGHaR!iTe=q*^p9YuX}+{L5!bfBcwziu7aEFDX-l)cU~)AAwsjh zVNSS{DO^U51C-rqV#}kBS4YC>>{Ns^6{7_|YS#R(hENgFc<+{&ZE{>@EDSg?J|a_Z z&pDBa$rcwKEJ0pNepKV(*!r7V5%f?Q3b0D&WZB?x?F-yzqZ`Y(W3OoY?zs|hyWhdg z|ACo*`_pU$t~QFf8!h$xVnXcgA_sn$6i*to2&G+RmaWSyx)`L}8o1LitVuCh{>*z6 zOkiqs1&pWIY-TZg{WIjNl}9#H_yPr6{h8UHSCN$+T3YZ!hj&7DST&Gc4LzSmJ#&sG z%DM^Aq?jI!@?}@E{#Pk5ld*Hm&Tq^02`S;zH{am#JpKt0{VzYsMmW#x43i`qmY?DN zBUm7=20Jst-4)7l<)h;l77dFK#sjn0$9X6xx($edz717jMIVpT?yj59pJt9A8D}nrRb2}l8c0I-r>Upql~6o- z`$zwp6>D`}LP%gZjzqXf{_5cxu0Zz0JIn$N=P8m6R+f2B@_sLbDLGfrL|wDn=gH)ru}D$wDUD=2)ZnNe?e({^H=&2J zlM&|>2a9dn>nw-qC)o%tb;fk?U6|8dfPF3kmQC@B{Pty#pZVIxv`bl$y_uvTqGf*Fm3o6FwahEc}ZB@ zSSH?9|DI-VH!Z??Rs$jjN3RcqaJyDrd7M^{4k=YL!i;^}v8O$g{3QFJ%n@`jLSz|! zm_mymon(F_o$+cIHJ(m{NlwHtoEkT$D>h8ofu8b`vx|!27HJDmN=3mYaIoc-^~q|} z+g!F-;tgV$7OiVe&6+L1i|ALWj?!M@3dbp;Dv~kd?l7b?h!J&~_okdIjuZ>{NLr>! zmFSdxBq}MOSnR z7a=-a`3$v%w0(enVm8Rzi%L*&a~1#O?&6)TRbrHZQpfED(?QSdJ*-^+?2YT2W=wkz zXgX;m+f4!;z23m64HUj~-(3R4Dh*O?Lqj`)*3Uy-H#pVc!#whdNP{48ZRl15D@g~3 z)?P+w*d^sYtfz7#eEQ}aoLT;N5&EyIyqa$GvR;T@t8Y*59~?)n^A`OOCU(-Fm^HEz znv@U#OP{~qJ1L<&5}ip9Ima9obxzvd@6|Oxq~{vdN))3(GWTWygEo!uG04EWkt8QF zVhoho;3)Dv?RjDNZno>+5E7lO&@^0KS;5j^aHDC|O*}(a>xN%?81J0po^yPj1vo$@ zZcz?tN+DPRXN0NJmVN^L3HO$C95H;MI%?>J24B5%S`#vpY7miRdawA;^M`V&W$qbe zCj|wZ>FOFs|JGWlN+(9;!Dl*jsDm+#Gx{*9-s#2=&8Ab#V&#ac4?nCUz2&0$5#R7M za~XyqVD5?(u(Gm@wY62OtSsXh3xpJ(&oy$qD3kc`il_?Xm2^)RA<*?9Rm3y7h21xP zT~*KJ1!l=|LXHI=I9+Yu9pmUIoOld8@Wz@YDXK=PfnPj@!Wx|e@fqJ>M3VVd1-Y8KWl)1@p$9zV7T-rr}tKGK7)Z^m7STPnDRRrg}k#)8JMqgD)~t{h&7S`NdmG&p^z>8 zl$=Mxqe~{-6eaF184Y=|;!J8r=rzt#l3!o$zTAB5FL<}G0`t_Q4)Hi=Ra>?vy35h* zb6V8*H!l+Sy}K*zo2+Ch5ssS{*E$sk&m2O?B-~BI*I+u+?3KGo#M=63jLppnkJh(l zcm}W5$P&dI{CI(Ne)`BY)tE6C7OldenS!%Kv`U2nQW93K=+3f73n_||EM)XY9#i&b zZnvK2Q6Pgw{v(H5Wu8 zAT6ruO-Bf>l2E*kI8baY3ycMUQVN@s3D(D>Csx;2Zat%czzJJ0m$$kFCAD#+x78xM zz`O+|`wx!l+kc>CbMw4GHuu|Vy@ed6z&xB6Eh zh2DmdD^%xpwY?c%iT|XdaY;fm$s{|V{eoC7_*l{gZuZLsmJJroF|USF zv10FBq`_M+(a?zxu$1V=K^;);&SbHD7L$3olOZ=sDLef+ z(S%fMDV=m95|;NIK?a^qqU=8n2#PI_NOY0seV6VT=JccD`&IGWG)!kxv2j(^nz6LB zjL~THxwdV8d1Es9^fMj^wXw>S4lQ@cl5s_?+gkehzTzC^)s&If)GXB~eZ3{jCBn(~ ziBpsOym4Fz+t=)*QU!amTnE`{N|5fn zIZQm)4XqV#X__H->3-2la~o+z_Gr;*GM{>IN?W#~Qs7wAzu(93nRH(s#d5khVU|Xz zW26P1+ni9Wffnu7hZzTsBpy*5y9_qGl+=r9f5fSY*L<6^PFkZYa->=V>Mb9P4fciTrXF-K|jNmv$&Am6HWtm;d+uFTe2VXD1L6=4Z*{EIppnftyk~ zGGA9Sl^Q`t+a^`NL$)U|PhhO)024_GI+k-k(3Oy&4ELb2+$OKh#oQZk$^~~S4Ij}y zdi7Gexcaly>8Y-)m2MvKDia=a@|C%bL~aDRS};$oaa8j_MoQ)92?T8qijyZ#p>5kA zYntZ0!)HL=u^0#rKFuxW(ypJMzvb+gF^>+Qlu4>tz&=5-`UyS`P7v&Tl!fG1Yh1I+L$Rak`CpRctoXCsU8S@k*|DOAZK^W zLc_Ju&{EL2DXLQLotw8U4e7Hb2ROZFMJhvG(edIU63ot+0#R1hW50uzisG1uL?ARq zx`%@cjqBYqJ0UZ`)TyznXl`&zo=VIiIMbBR-7C0G7(p7{EZA+F)gEgi~kF zKDM#B`AfUI+n>U-cqyf68Y ztgvZlKe5IcHzoJkwa}C@e%Ng50J9O8UQ1^nR3e-_b@Hff2mf?+ZS9xuzvo={Yz9KB zzyNmuHGmeB0g(?Y6+eJQ3e_5VlOh#i2)~}PNX|{JQB)$I<>86fOEVkSy6Pfw7w=M|#wj8`K}vanDuG zuY?pB!7bHwy%}Kcu)TKzqtWQ62TOx@ecfxm>`^?+S3B!88f`*?;D-3!8nwHJE!5pk zlrkpkiz1&7yXmB`u=|?&DJmgrhh8CzdcUHCaHZ%*=@dyjzB#k+eoAJar}uLf&7xkL zo1@Xn{H%wH5VQWsB<7sZZthplA^YWgkInZZWqeAr5$UOBrsNvgwexcL-u&DW?~LVa zi^*j22OFCk?>Tk)^k?uKT&;0PR}qA)b!YoX&RLQc>ROiOk7Y_So6U+!&2q8FUnB&9 zEf2xgisafUQ!@F><^MG`j~uT*M;9gZ%V+0oJ%RL%geX`g`A@ zHsn&JWCuSyXE#>aN8*f(zbnusgV>BObXFw7=oLAKO|k^PMm12X0R!0E*_$pe4gbkx zGWj2`|El|so|8au+vn_^sjb8-N@*IgVg+YOb-jgDY~GP2 zif?Ck8mcW1KmtM7Qr*WSQ$bhUm! z0zn3z!M$OSd6bJBB2z+2`jiKWIOJee2(xp}LW!mE##{=M?|L@^V$_0Gtdrl1We6A1 zHwwjSMh-wxk6)Ar48p0I4!?x7sV-ePZ>UIO{%zY@=@#-QfkfAOI;dPWo>#Wej5%K_ zfs_eE4Ys#;KC!yC{!`oA+n>O5c(pE)wS?S|(5Mr*GF<>QJE#&Lsg|G0?JZ_va@1jt zcXRXEvPWtE1$Vc*-8|b^x2lw zFsiyk6cg@($wykJ0I7UV$sm!nj)OteD<-fB2mAYXwzjta>v&`HgWvp(uecpr_%*xlRxxvk0ePmk8uKZob|Y6F6$jE<{-wS1!|v-EP!vpAut z5X(?TH|i-yT!fZXA!-=EJaOEYA`z8ZI+e0?-QT&oNj4>O!IG7$0f~8pa{7{*qQ}h7 z_}(OGa-Ir#?eyt2NfTjNNr~~cxuUtDwFV2f&gkT_-Rqg|pj5+WPM`V0cs%;q?VX+9 zf7_d0t)KHi2-^7}kI?eiB<00meMy<6*0S%2a-xbnk2akj`>W^QC5xdNouX9y%3w%k zW@_|}TK!R?cI01|7Or(TE2$U{RZ0F*)pVq=Svc%Jw<+XKVs9g0jT$=_*ir8wc_ywr zg2L|3iAPpeR(@!-zW%xuK(whsP6Y5=NFrF2S7=5n59k<;>M* zxf)K6Q>GqhX@iaZ;88@Fu}-0?DC=n`)*ZGsx4R1$E`Dq>nY{mdzT>Tr;Y)P2ZlBlE zz>h*&ln&{Xs0pQXCCxMQUxIAqb3EHCcY6@PI-BDz+Bc|OxfH5|G}T@+_c_4ahIs%0 zAOJ~3K~!_kA)d~Y@Nuk(8d4ZRdx+4s#km6M?};KLL*X<%JZ!m!4TVl_%QDvlTg-#UeEB94(_%_vBK;+WW+>-3X@`^ahyv z>VM^CVE?4Z>r%P2h%(x?o&=+{0o@ZM%uVmbu0kw$O2JcYdor1hMx&oxUt53AcYfQO zZs1FNwXTt*br&&0-2-*GV%K#c$JAkNp>)jFa_?Hfn{s1vH9$P2hUzX?E6Tsv)1$_7{)~Cj98!{Uc`39&KJ_~*biM3Y@ zl=t8$7jA=FTV2PM!z+($Zfw4LSuKAG&x5O#3Ti|UzPK@J(=<&W+*N!HN>|F=DWNRp zbz@2OQa&CBMq+GHfo^L9IE(n7)jmhfNU?^9%{!&S>&nKK?6l`qI_eNMc_T*i{VR|W zZ-H}K^~T_~K9H7TW>h%_PW&B_AyS4Zw+3CO(KIbzxNz~Q)z#I%HyV#V_^ogIdi^{J z1f4w8SpL25+Q@wumrUAFa=*#_Y_6a(DcO8cu(*bBqli@Qa#nKtdBHFbp3N1hi<~~S zUPwTDG`cRxq)WJ$D3-y`Z9-`+=e+62dJs5$Q-Xq(6*5*-NG+(er(MSc$-E7g`7`BD zot>S%$Crk~zrQqG{<&{`+t=U3^W}w3ExN!-kV`AlFQ_(wl`iNKU&+-E zPEsTur=((yl3Sd8QQrK?H_ueDb^|VL1Q7H&&%`aI4G2YJeSNr`Sw zu{!SIbMI8h1(YtSV-TTpzR7M|q>^J0`3bombZ+gre5yqR-2ubl3eKLr@W61m`gcd8 z^^f3rb}2+UJ$;uGB0?ihgWULJiaey|gQXG3vi6Rn^(vp6@*F>}^mvxmvo)+e7Z_;@ zv1qR%car9MEHxHv?zuQPGu0)E$6W)&Sv{eM5?fx07?Bi}h!8wkkLBh3-EtD#G}}~D zO5x&#^V99^%^#m^O+NG;@A!t<^DPkCp5H*Ck%?qhIJe8s8|u&Pe!02aQu}^hgG%ZL zrFeTfY+q|OeK9+JZYR&BZMoN91ieaCL&Aw9#n7l%D3gRUbNB0!oOJjGP*zz^DsPld zq_h@LO7tGgnc$J9$<|gknQZ;+c(nfCuN+=|3eUr9gnH#d(Cm{vdzmbOA*(I_clL&W!m^16$ag zIO$kwPV*_Z9^~_Fn#Kk~1J=O$XoSPV!-u!FHh<#e!R{wt{pA<gQ3(!AcWX&vOLw|74Jq%A6v3pq_pAqrPV(vUVojB#r8G%N#JJR8OMfRFam>M` zHLvFQS?Op3&e^>g!GM?nKuU?)AofX1wW@+TMyMH;A}`)xW(Rc998z9QJKzf!FWw$+ zZ2jQo=GJe%=?$;x@I1X*ZHH8wwha%%o9^|Inb~YsZROWyV@r8+Ng+Emx03?0eY!*6 zw?GP4mEhDx(vzBoYfbJ_22k!aD$Q!-&?I+KyIo(i@&olA*dQ@cDC)iVo=FJyQdY@M zHr#SbdWf7b5h-RXOR-=m?C$Q~S{e?2upJEEeQui(Q4(MpPpp#v@lw+4{ zq)It&t+Sjb=20|EBk2HX(I`#rLWew$2F*)tY7l2h->K%hS?fpC+=F5sKO*l1B8uh& zw7BQ4(8Nr!e>sHHb?hh9LV78J6jtg-1OY&3RBPuT7}MztyC-(^g-e%ye`90(OD{V- z`_OA%buT}!13_!X!0iZ@0;$l~*QxDhITMk2FybPAo-e#9>uVM~dI2fa8=64<*9@lD zsUxQ<=JsC^r_iEI>-|~vrCPd9y}Um4;lpeOYFrA zCajM(aL?7NpV=6X|IXUl`bS^$sxNz92Z8S_GsKQ*cNpDuAZFvXzQDluJT27RzmY(6 zxdoVDNIf*9wwRnSSvqo=TbMa^%$BYpJYJK5>J5yJ?~| z;+Zv(j#S!jaP>IZ-Ji(Os?D=*2SZ%Cc zxW?;{DKvH#DNyC2t|1~ND6)@|*j@rS8orlxL-;e7PH;xjFn+%h+?n31TUZiC%@dCM&k`o{(`vPmNdw~$80jRS)YiZFuSNf8QUBJ~{E-Q78U?DC;dB;rM7?1eO$%Ef$o8|}B*4IDrrq{ocUnqgl%9Fs?3HInC74$h}Qzz#*3E|e5 z7L{^Wtf^O*=8(f{2WG14Wac`psfR+k;A+(B(lAR+ak_6IRo8;b)mtUSi6~GlN62|7 z_!CE%fw-(#9)gaGQjX#EgMquVh#d}xxOnl>t&PdnKi}Ni_`SEk`PCg> zKvzp?N|f0x+?Ut3ZI$nn^VO|2;&LvKX^w77-%Q6j&oJ%R32JTwEtl)(Xd|UAcrL(l z{gaYuMlMa1&!q>=W;i~|``B^@7$C3JWaQvOZ4iP%WuHm9Q5ea_kn*~~+1uZLYBV1I zLt~*)%=ni0+VXR)(6cRExH4lGDmS%*vT2 zW>QyzLW2fQv|O_WsRrw#vA%re%ERN0jd$(s?tJ#`Z+R`hAOk^JD@)lxE9L9y?wZTB z=dm(N^y?a$)X&q)3T>s+rnE5AfG+*qyiv?t9Z*XJYg2ObVByj!A$uwA>vSoa5qmb1 zVv@}o=9iU)%0nL}RU2gD$RK@rxXhjg4@laH;t8Y6eyi)l&?v&wY6$gV>5>a2M7DpGiOe}Z!{Wx@UMLPTb{-X_-dgU z)R9G+$k|nT&va*E-mhoFj?&$bB>&~fT`{9a}C3h zF(`?&j&yc@K`CqGS18QWo&i~7KiRv{8ra+0)o0J1{jJs2wIANv+WahD;8z>%V&c>G z^J#+I*mK8xX@Td4@Fg{)lmgZA>{5|lLt^HoZY8qYBCu&~zB#v9q|Zhcyz|tqOASpg zuuF&}R2(&05ztZtWsN!*2+}S7{lzd7v!fN6tbr9~vl-S$V;o*Rys@^n_Wf(?YajdO zH+{8!!3P4v%^wF`-eK{f&*sHjkUGET5Rnp{AeSc8yw_?cMa~a;5v|gBs8lHkWgkQ~ z9m{o045gMhOEo(4B62hlY9*u}rRPHHo|R3f-l-}P$9N$uD#r7AM;(&IZ$)zYDT zR2N_=uxg8~)@PW^%!em$;JZPF$e23I?)^Qv>Kck*H`B=-RZZ^Y- zz5Ut#{{DX)3lA0s)(w zTYTm4@UgYEwST>}vGK>>@|M@}izX0^i=nj!^*X5GOLVA$eE39NG{jv~hp6S*xt%e` z#H>k4=Ah70EwM-uy@+H>ZW7IBkT8s0|N98a;F2!As8Dc3+ptcQR!=?iY~3`Oj#8o^ z8yQZ3Mp@Yw9h-x*2B|_I9>0J(^-Vn_=2@m~|bFX45d6Y*~37chHudSQ|c{S5%f3e+lES z{hogh*94MIt38(uiaZ}mC(J^IfZ1kS$fZ+NYOli~W8!)uqa#eGQ)t%cI*r-1GX->C?5^72DmmKB8_BFuBzo|q*d=u)IQ@NS z4F(%`_eyHENN`u#x5AM#GTe4_a(gcTz{=c>-{n(1MIvz5#iU4UTJ9$a%>yt79n_$0 z2WZ>I&K(EVskfxn02*apCq0GO1t8hs{|2W|oxVNUn*5|@{*l4b;1Rq?uXcU3j=@rk z<-1cH9nEm}=m?Ecn6|As8KyJn&g7FSG6$!s*?27-S_IiCso)iJcSXMW(_7%Oz;rmf zEpVkg$-JN|p-mxkw}e1pLmLTi5sdAYU1VsWZ#gugt5BIEPAM-W{He zvcUkK_p`P3b0fGs>#YB?MTy{yB^CB}Pw0#1FaGxO((;dLtv~Y(ul@7v?@LDJA6 zgcb_aC=7-TmKs9a5(a|?gF%DYw8PPKfNs`dI-T{5zH^%VxnY-*D`ctol+KW~6GLka zVgge?wb6-xu@@~PK(Xntsze*LRxGFgKRCjK0#lmo#vaHnkB@7HP=*QiFC}yo*@IxV zzQxum-sbpJILV^_R?430B7hx-j0g>kLdEiM$mhFp{A%40 zcGDONg;EUF08OhfXcg|?lX zBvCox*e56s%2rrad3CbQDE7mX{ZqqwSG!`G#XW1A*0_!^v6I!wpM0SXv8Rng*L-u$ zco8h38sbj~8yuv}Gij*B{)zqR$%B*sZFza+J=5vYlV9^y_w$QB5TGo>kk|}gcw14U zU)gm>IGWDD%$Uw*K?M(s^ZrXCkn=_r=hYJt>(goZC*(DsCfR(vM_-;}lXnyurS_mX&&I~onZc_swZlS@a2MSdosb*tB1E&S6Baf)3zUe>ziLY!%O69 zXESR>)R+fL4FSreMoOFc*V$}_r*GZDbUO816tdJTLVviv#44>BY7{5m6oHt0F3zaW z`$h}V;^i!gWL=;#INhYu!Y@g?m#Eg+&&k0|L!||=OS32$qz6J_Z__9(3f{J9Y%?tc z5JxOjcp09cU&Xx>b$PgqvuDrY+O_L?JQ_c`K3adt1c3>JPD8jz=GV9Mdk?&uX@A zb4axL5r}zi!MP6gB7C82@vQ9*n51G64@&quuGrsL6PRo=nUL7$$_W%)`{M<_T|sz`Urp+JpljO(SS3!0{h>KCbFv^|;N z@bD@wUbxteN2AX!4ceCQ(z@D?jmI*a(y?N6GmSfUr+E00NAdXwzksK2-$CRr1qc)D zkng6No24<$MR0k!(AibO95XxNcKd|Oqg}(uu|kyscb!xG1W^MccB^B*;EM7^I2qz} zN(Mu$#pIbCk*rFVxyo_^pkK$h8bJxU9Y0xS`Csnmo3;h12Gd#B@8T_n^ z_3$b#TsWt9cP9_3hJK8}9|CClk_rUP3fuvV4gf==!R!RF9^}ezn8ssVId%~eOmJ?;}6!1E*5&C7>rBdm-F~muyf7G@u8fCPJhQlGwpFfYo!z+CH zWE5lzP!p}47r}lR?_$3txj^jeA!HhL--Mop1AAT4QKlBK0-FiA=OXlHD7@=S` zWn69kxXuopZ}J_XJod|{1!xiOKbxkl&H}5-tV8aEOB-=s3Wb6@C748q0iLfFD81xi zRYeWhCu)d@bml`VsHTlhAbEeC)*!atXw-OURwHP)8lIDRy;EmS;>zI_oIHI>Z*FaV zoQU4Z%nzN}pS+}k003Im7%1-c?b~?j#uIq#vB&Vl<4tkb%$1q5xEwaL9X zlfy5<`fJsb;%+>oNFXn zT!=X|%UsQ)%!%fP@O!??t~sZI9xSo3j0MBbB{<}4eSL(B7cSu3xii?=ncM{N&v#ls zaPjo+3@^c}z46rJc=E}|@#K?F;>L}qaQEmgSd%b*KqUMMJJiv2ov{f*(C5$P_=^Zy z&0EMa?QsiZ9t0~fCzDrmL`e?mnoT#v@J_CN$w9(FDupA{L)Rc9gvCrg#o_4mA(86I zjyNSeD}%%Z&u9tN`pv`zjYqW12|?nsf(eRRTsU_LS1ujmVE^RN(qQ-jhW?pOcQ^17 zz1mMa@Nqo-^euxmJI#BFQ%}#Fv{<*+Y#6D^QhkMdxvH>9b2GZBvUaXEFatGMsN0*{ z(OscyHb?D+Yl#9Ojw>fYsYw_D4gO^Df65sF13~ud`A3M2Ln>zEsNvx>H8dBk&55CW z>S(FnPF}}A1O7zWKXHJ2Uv?d5&z{qxwe^QJcmEFH&t5sZuV1o(@Z{rh&+gy0;`N>DEHy-Z@u$vt>HeA}yh~`x|tMI9A}J zkY+LYd9R@D39|G89k|lW5$%DK)4&v&9hkeQYuq>Njz4n_0#0il>F?bCd5Tghi6TWV zp%KT4z5Wm<8_4$VF0Ng_j+fp0GHmbcbfoB$%>2&){=Ms0PS1`*zy?AP_sV(eDnak% zL_mtcJd1WrAmze4#G;FeQtd|&O@7_D5keP%9Le;H*OaMTp zghA`x^e+GZLILL*KXc#G7~LjY1~MN>PN8Y5NXh=LgXQOy)UsCCst ziqj`C_WK+`@07^sy(?<4v%8CH_q`m~u3y8!!AY$YeRejR{Sd%ELqw0g;@YL-Am{~x zz{TZAAltMCo!!M$8!ZgkG}4_G$_paZ5`6|oTGAYN_bwJZ%Ov@<6UyD>)w9IhUa&h+u()k2x5e`(fPaj~9_F58-iHCStOg&A%W zP-LFHAK7fNx3`CD*RJ8-`>x}}{(h&F`gGUne+2MByO=rd`1*Z7P_tdb zPRcDG`a)eqgr=ApcK6qP`AJ0zQf}ns29uS znE>ao!kmsJl5gW%S)bte&SF>e>52Km*mi#6nF9DP)@=41`3OiU6B!I#fGBeXD|re6 zV&x4v8RN}%Sfq9#W%R+v{hitUs^8UBXimDyB<)n^WZ7l03^=&g=@wbpcohcnH55jp z5iVT3fP3z}7nd$y;pO4-txoF?65$7k=-0pU755&aLyMjWIaX!ZX=CWp70jueBUt9k z(&172L3D5sqjg?gVxRW8zMFV6fz|~M4iX=L?0{NcVXuTGP96XN2ntC=K~$HoB)Pf~ z$d%pU1h(Z^{UH_KN{N8-{k1Ua0|EaB0QgXxp$NSR15_Bu)^z?A$S?qu1uYce;KV)- z53l0V)hpQE-R8DYk4=y6ybnY_LP~x3t6z2h(eV;r^hAJ;3pt9}q;?w=1!O=h!e*)= zS*T{G4GYlIlcULXS-^6%OZ&RO&udwTHqio-d5!NTXGT6{phBJ!(QCwlyB;!N$qQoP zTB&=ql<0Gj5krs?!A`EF7La`zeGbo50fVIhR#ujA?(BJ7zI+v@PMyNqXpN_O`r!0v z`fjDvk1N6_zWOWgKW>(NF@fOsA(dd*ZZUA8!RaAFEt*pzCyLDJI4X*XW1SwI69cxR zg<*HJeP`mn>x}$0ZX!o5r}>JylT9Et4uVwl27 zDfNQwa74{)7D@k@PPbRtv&o>f0w=PPfFVkJY@D1@34-ooV!e8 zL|{>)JdB!6Bpjy+xk)by4MB-S34kELt0C0oaFMdPx<{-ml;+T|AYLHqBckX%bMqF# z(bDx=*v~J!7cxqf4aVa&oIH67=g(il=~Jh$u`%X$Y4Ft1^yq17)E_kseIF5h0N`6+ z`xjn$TonJQY6L3;D&8v@3fj=8+`k^$&0Se1f-E{K3J zI6|V_;-<*&fTJ{squm@4|0z|7i_|nCzCZhVCvCJjxYI+Jg1EBm6y-UiM4 zmEtD=bZ`9H*BqY$f9B4z61`+gOAZtR9SylSz)x$pdrBEX1=%W&Of0B@2B3B4hjPr~ zgii~c@wuUTt3LhMWAZv0oM$ikgD4$RDirr-2d6O6W)V(D`s?X6*}_z`*}+QKR9PCi z^goDYAVpJA%X-QDsZtG=+5wh^OCTl;msha0xrNEr4t92Su(7d;)zKP;%R_WscWXB5 z{;1P;-q*J6y9w%}N;OZs{jFbjd;&a^fzZut>Fe`qZP7{+&N5bp(9x4SEehm73t)=2 zYB6uD!%nNnH{;xoYVB-TDe&!O=NF;Z5Gm||qTJs=m0eOC+W=PtC&}t+nJBwb$`WgU~r zHkMb`tez>RUDrK+_wJpCnE5xUY5$Ev^SjKr`R#w{&H8xRJ_~^`9*=DL?iN*NcU{qA zat$1(VWhM#DubVbhl6Yj3|7CQn&x9*-1_csd+Txf z^K1sf;g!q(g4wWWj4WVBnl%wISwuwbY)`f?UAp{Mwo(q78ME1}yLIE{A3pHF1HYk} znOT#mYnd9QniG2`PMtn=>NVc@PBiFTF|66;{2^`7ti9N-E0(p>_Y@K=42lNlwbphV zR3b7GsnOvi@W2;GEYfZ^%PVtp!Uale0tn_TsSvgb`o_(hpVgZ0EDe@094uon9MJM` zc{tt}pB)TZ4B8e1x^Z+gdjQ;hj9C2=F@Bv$eHOsc_k8zXJ`RBAA`ng+5T;7z_sY9vw|T^~4iT{2#47Zlr84m$cSo-iQpJ}uz(k~m%s3)N4JoxcolYORedo@f07PsG z2x9Qf2OoU!7ax86@h>!_xM><{+m?2AcD7HSKJ{HhSORdw%>VDnC!T!g)3@(F&~^IO z-RY73-tYa+;{bRLuZ87rAARIW&r9mMZUw-#$@b(!g8>zbwuc^kbkGn%Q)f9z0)8Zd z?o28~cED1D!MY0>md(AJ!C;$+zLA-KZ8n|$p*A{`e#dVbwL(h0iio}pz{l_2x%*zN zwPtommnJxJoa>$|BF#W&P#aobUq2W$&0ho1f=z(g%&-ID5ev=UC8EzUSTSRrnQt;M z1hA`FfB5moo_POk=2FOxNRb}2gQs8q=dMN1=yyK+yNyz6%+SPx# literal 0 HcmV?d00001 diff --git a/companion/src/images/simulator/Fatfish/F16/top.png b/companion/src/images/simulator/Fatfish/F16/top.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb37e85d455e2a0933c0d08c6ce28d4ae71be5b GIT binary patch literal 49978 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 literal 0 HcmV?d00001 diff --git a/companion/src/simulation/CMakeLists.txt b/companion/src/simulation/CMakeLists.txt index 3d3fee2a863..5a829e6525c 100644 --- a/companion/src/simulation/CMakeLists.txt +++ b/companion/src/simulation/CMakeLists.txt @@ -33,6 +33,7 @@ set(${PROJECT_NAME}_SRCS simulateduiwidgetBoxer.cpp simulateduiwidgetCommando8.cpp simulateduiwidgetEL18.cpp + simulateduiwidgetFatfishF16.cpp simulateduiwidgetJumperT12.cpp simulateduiwidgetJumperT14.cpp simulateduiwidgetJumperT15.cpp diff --git a/companion/src/simulation/simulateduiwidget.h b/companion/src/simulation/simulateduiwidget.h index 603fcc39524..138818851d9 100644 --- a/companion/src/simulation/simulateduiwidget.h +++ b/companion/src/simulation/simulateduiwidget.h @@ -127,6 +127,7 @@ namespace Ui { class SimulatedUIWidgetBoxer; class SimulatedUIWidgetPocket; class SimulatedUIWidgetT8; + class SimulatedUIWidgetFatfishF16; class SimulatedUIWidgetNV14; class SimulatedUIWidgetEL18; class SimulatedUIWidgetPL18; @@ -376,6 +377,18 @@ class SimulatedUIWidgetTX12: public SimulatedUIWidget Ui::SimulatedUIWidgetTX12 * ui; }; +class SimulatedUIWidgetTX16S: public SimulatedUIWidget +{ + Q_OBJECT + + public: + explicit SimulatedUIWidgetTX16S(SimulatorInterface * simulator, QWidget * parent = nullptr); + virtual ~SimulatedUIWidgetTX16S(); + + private: + Ui::SimulatedUIWidgetTX16S * ui; +}; + class SimulatedUIWidgetZorro: public SimulatedUIWidget { Q_OBJECT @@ -424,16 +437,16 @@ Q_OBJECT Ui::SimulatedUIWidgetT8 * ui; }; -class SimulatedUIWidgetTX16S: public SimulatedUIWidget +class SimulatedUIWidgetFatfishF16: public SimulatedUIWidget { Q_OBJECT public: - explicit SimulatedUIWidgetTX16S(SimulatorInterface * simulator, QWidget * parent = nullptr); - virtual ~SimulatedUIWidgetTX16S(); + explicit SimulatedUIWidgetFatfishF16(SimulatorInterface * simulator, QWidget * parent = nullptr); + virtual ~SimulatedUIWidgetFatfishF16(); private: - Ui::SimulatedUIWidgetTX16S * ui; + Ui::SimulatedUIWidgetFatfishF16 * ui; }; class SimulatedUIWidgetNV14: public SimulatedUIWidget diff --git a/companion/src/simulation/simulateduiwidgetFatfishF16.cpp b/companion/src/simulation/simulateduiwidgetFatfishF16.cpp new file mode 100644 index 00000000000..3021ed73467 --- /dev/null +++ b/companion/src/simulation/simulateduiwidgetFatfishF16.cpp @@ -0,0 +1,70 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * th9x - http://code.google.com/p/th9x + * er9x - http://code.google.com/p/er9x + * gruvin9x - http://code.google.com/p/gruvin9x + * + * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + + +#include "simulateduiwidget.h" +#include "ui_simulateduiwidgetFatfishF16.h" + +SimulatedUIWidgetFatfishF16::SimulatedUIWidgetFatfishF16(SimulatorInterface *simulator, QWidget * parent): + SimulatedUIWidget(simulator, parent), + ui(new Ui::SimulatedUIWidgetFatfishF16) +{ + RadioUiAction * act; + + ui->setupUi(this); + + // add actions in order of appearance on the help menu + + act = new RadioUiAction(14, QList() << Qt::Key_Left, SIMU_STR_HLP_KEY_LFT, SIMU_STR_HLP_ACT_SYS); + addRadioWidget(ui->leftbuttons->addArea(QRect(60, 10, 90, 50), "Fatfish/F16/left.png", act)); + + act = new RadioUiAction(12, QList() << Qt::Key_Up, SIMU_STR_HLP_KEY_UP, SIMU_STR_HLP_ACT_MDL); + addRadioWidget(ui->leftbuttons->addArea(QRect(75, 107, 80, 30), "Fatfish/F16/left.png", act)); + + act = new RadioUiAction(5, QList() << Qt::Key_PageDown, SIMU_STR_HLP_KEY_PGDN, SIMU_STR_HLP_ACT_PGDN); + addRadioWidget(ui->leftbuttons->addArea(QRect(75, 172, 80, 30), "Fatfish/F16/left.png", act)); + + act = new RadioUiAction(4, QList() << Qt::Key_PageUp, SIMU_STR_HLP_KEY_PGUP, SIMU_STR_HLP_ACT_PGUP); + addRadioWidget(ui->leftbuttons->addArea(QRect(75, 237, 80, 30), "Fatfish/F16/left.png", act)); + + act = new RadioUiAction(13, QList() << Qt::Key_Right, SIMU_STR_HLP_KEY_RGT, SIMU_STR_HLP_ACT_TELE); + addRadioWidget(ui->leftbuttons->addArea(QRect(75, 302, 80, 30), "Fatfish/F16/left.png", act)); + + m_mouseMidClickAction = new RadioUiAction(2, QList() << Qt::Key_Enter << Qt::Key_Return, SIMU_STR_HLP_KEYS_ACTIVATE, SIMU_STR_HLP_ACT_ROT_DN); + addRadioWidget(ui->rightbuttons->addArea(QRect(45, 170, 65, 125), "Fatfish/F16/right.png", m_mouseMidClickAction)); + + act = new RadioUiAction(1, QList() << Qt::Key_Down << Qt::Key_Delete << Qt::Key_Escape << Qt::Key_Backspace, + SIMU_STR_HLP_KEY_DN % "
" % SIMU_STR_HLP_KEYS_EXIT, SIMU_STR_HLP_ACT_RTN); + addRadioWidget(ui->rightbuttons->addArea(QRect(50, 10, 90, 50), "Fatfish/F16/right.png", act)); + + m_scrollUpAction = new RadioUiAction(-1, QList() << Qt::Key_Minus, SIMU_STR_HLP_KEY_MIN % "|" % SIMU_STR_HLP_MOUSE_UP, SIMU_STR_HLP_ACT_ROT_LFT); + m_scrollDnAction = new RadioUiAction(-1, QList() << Qt::Key_Plus << Qt::Key_Equal, SIMU_STR_HLP_KEY_PLS % "|" % SIMU_STR_HLP_MOUSE_DN, SIMU_STR_HLP_ACT_ROT_RGT); + connectScrollActions(); + + m_backlightColors << QColor(47, 123, 227); + + setLcd(ui->lcd); +} + +SimulatedUIWidgetFatfishF16::~SimulatedUIWidgetFatfishF16() +{ + delete ui; +} diff --git a/companion/src/simulation/simulateduiwidgetFatfishF16.ui b/companion/src/simulation/simulateduiwidgetFatfishF16.ui new file mode 100644 index 00000000000..00b71129c2f --- /dev/null +++ b/companion/src/simulation/simulateduiwidgetFatfishF16.ui @@ -0,0 +1,208 @@ + + + SimulatedUIWidgetFatfishF16 + + + + 0 + 0 + 868 + 428 + + + + + 0 + 0 + + + + + 868 + 428 + + + + + 868 + 428 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 480 + 116 + + + + + 480 + 116 + + + + + 5 + + + + background:url(:/images/simulator/Fatfish/F16/top.png) + + + + + + + + 0 + 0 + + + + + 480 + 40 + + + + + 480 + 40 + + + + + 5 + false + + + + background:url(:/images/simulator/Fatfish/F16/bottom.png) + + + + + + + + 0 + 0 + + + + + 480 + 272 + + + + + 480 + 272 + + + + + 5 + + + + + + + + + 0 + 0 + + + + + 194 + 428 + + + + + 194 + 428 + + + + background:url(:/images/simulator/Fatfish/F16/right.png) + + + + + + + + 0 + 0 + + + + + 194 + 428 + + + + + 194 + 428 + + + + true + + + background:url(:/images/simulator/Fatfish/F16/left.png); + + + + + + + + LcdWidget + QWidget +

lcdwidget.h
+ 1 + + + ButtonsWidget + QWidget +
buttonswidget.h
+ 1 +
+ + + + + + diff --git a/companion/src/simulation/simulatorwidget.cpp b/companion/src/simulation/simulatorwidget.cpp index aea1cb22e18..6162bf949b3 100644 --- a/companion/src/simulation/simulatorwidget.cpp +++ b/companion/src/simulation/simulatorwidget.cpp @@ -137,6 +137,12 @@ SimulatorWidget::SimulatorWidget(QWidget * parent, SimulatorInterface * simulato case Board::BOARD_RADIOMASTER_TX16S: radioUiWidget = new SimulatedUIWidgetTX16S(simulator, this); break; + case Board::BOARD_RADIOMASTER_POCKET: + radioUiWidget = new SimulatedUIWidgetPocket(simulator, this); + break; + case Board::BOARD_FATFISH_F16: + radioUiWidget = new SimulatedUIWidgetFatfishF16(simulator, this); + break; case Board::BOARD_FLYSKY_NV14: radioUiWidget = new SimulatedUIWidgetNV14(simulator, this); break; @@ -146,9 +152,6 @@ SimulatorWidget::SimulatorWidget(QWidget * parent, SimulatorInterface * simulato case Board::BOARD_FLYSKY_PL18: radioUiWidget = new SimulatedUIWidgetPL18(simulator, this); break; - case Board::BOARD_RADIOMASTER_POCKET: - radioUiWidget = new SimulatedUIWidgetPocket(simulator, this); - break; default: radioUiWidget = new SimulatedUIWidget9X(simulator, this); break; diff --git a/fw.json b/fw.json index 7dc3a75cd4d..4c05d3119a0 100644 --- a/fw.json +++ b/fw.json @@ -1,6 +1,7 @@ { "targets": [ ["BETAFPV LiteRadio 3 Pro", "lr3pro-"], + ["Fatfish F16","f16-"], ["Flysky EL18", "el18-"], ["Flysky NV14", "nv14-"], ["Flysky PL18", "pl18-"], diff --git a/radio/src/audio.cpp b/radio/src/audio.cpp index 48dbc085990..7d0ed1ebee0 100644 --- a/radio/src/audio.cpp +++ b/radio/src/audio.cpp @@ -448,7 +448,7 @@ void audioTask(void * pdata) setSampleRate(AUDIO_SAMPLE_RATE); -#if defined(PCBX12S) || defined(RADIO_TX16S) +#if defined(PCBX12S) || defined(RADIO_TX16S) || defined(RADIO_F16) // The audio amp needs ~2s to start RTOS_WAIT_MS(1000); // 1s #endif diff --git a/radio/src/dataconstants.h b/radio/src/dataconstants.h index 7806f9c0e5c..a31aacc6e8b 100644 --- a/radio/src/dataconstants.h +++ b/radio/src/dataconstants.h @@ -587,6 +587,7 @@ enum Functions { #endif FUNC_DISABLE_AUDIO_AMP, FUNC_RGB_LED, + FUNC_LCD_TO_VIDEO, FUNC_TEST, // MUST remain last #if defined(DEBUG) FUNC_MAX SKIP diff --git a/radio/src/functions.cpp b/radio/src/functions.cpp index 9268701b263..858de930130 100644 --- a/radio/src/functions.cpp +++ b/radio/src/functions.cpp @@ -27,6 +27,13 @@ void setRequestedMainView(uint8_t view); #endif +#if defined(VIDEO_SWITCH) +#include "videoswitch_driver.h" +#if defined(SIMU) +void switchToRadio() {}; +void switchToVideo() {}; +#endif +#endif CustomFunctionsContext modelFunctionsContext = { 0 }; CustomFunctionsContext globalFunctionsContext = { 0 }; @@ -150,6 +157,7 @@ void evalFunctions(const CustomFunctionData * functions, CustomFunctionsContext } #endif + bool videoEnabled = false; for (uint8_t i=0; i 0) +#endif + { + // we're only interested in the last flush in direct mode + if (!lv_disp_flush_is_last(disp_drv)) { + lv_disp_flush_ready(disp_drv); + return; + } } #endif @@ -111,7 +116,11 @@ static void flushLcd(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_ lcd_flush_cb(disp_drv, (uint16_t*)color_p, copy_area); -#if !defined(LCD_VERTICAL_INVERT) +#if !defined(LCD_VERTICAL_INVERT) || defined(RADIO_F16) +#if defined(RADIO_F16) + if (hardwareOptions.pcbrev > 0) +#endif +{ uint16_t* src = (uint16_t*)color_p; uint16_t* dst = nullptr; if ((uint16_t*)color_p == LCD_FIRST_FRAME_BUFFER) @@ -134,6 +143,7 @@ static void flushLcd(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_ } DMAWait(); // wait for the last DMACopyBitmap to be completed before sending completion message lv_disp_flush_ready(disp_drv); +} #endif } else { lv_disp_flush_ready(disp_drv); @@ -168,6 +178,8 @@ void lcdInitDisplayDriver() #if !defined(LCD_VERTICAL_INVERT) disp_drv.direct_mode = 1; +#elif defined(RADIO_F16) + disp_drv.direct_mode = (hardwareOptions.pcbrev > 0) ? 1 : 0; #else disp_drv.direct_mode = 0; #endif diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index 8cc69ae3790..a7e382d31a9 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -567,6 +567,10 @@ bool isAssignableFunctionAvailable(int function, CustomFunctionData * functions) #if !defined(LED_STRIP_GPIO) case FUNC_RGB_LED: return false; +#endif +#if !defined(VIDEO_SWITCH) + case FUNC_LCD_TO_VIDEO: + return false; #endif default: return true; diff --git a/radio/src/storage/yaml/yaml_datastructs_128x64.cpp b/radio/src/storage/yaml/yaml_datastructs_128x64.cpp index 3bb32e8f948..509e772e624 100644 --- a/radio/src/storage/yaml/yaml_datastructs_128x64.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_128x64.cpp @@ -84,6 +84,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, + { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp index 6346aae4810..a43629b6bad 100644 --- a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp @@ -93,6 +93,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_SET_SCREEN, "SET_SCREEN" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, + { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_pl18.cpp b/radio/src/storage/yaml/yaml_datastructs_pl18.cpp index 1bd5989a589..e1c4afede0f 100644 --- a/radio/src/storage/yaml/yaml_datastructs_pl18.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_pl18.cpp @@ -93,6 +93,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_SET_SCREEN, "SET_SCREEN" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, + { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_t20.cpp b/radio/src/storage/yaml/yaml_datastructs_t20.cpp index 86ec2bb9d04..558e32cf8da 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t20.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t20.cpp @@ -84,6 +84,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, + { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp index 1291faed219..50044e1caa4 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp @@ -84,6 +84,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, + { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index 132c7a20ffb..e3391534a32 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -86,6 +86,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_SET_SCREEN, "SET_SCREEN" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, + { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp index 132c7a20ffb..e3391534a32 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp @@ -86,6 +86,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_SET_SCREEN, "SET_SCREEN" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, + { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp index 52c3f18abe6..164fd541021 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp @@ -84,6 +84,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, + { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp index 23a578e969a..21976cbfb6d 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp @@ -84,6 +84,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, + { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp index 09bb49e92c7..490ff498ebb 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp @@ -84,6 +84,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, + { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt b/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt index a266bb5d5f9..ccae45e0396 100644 --- a/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt +++ b/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt @@ -70,6 +70,12 @@ if(PCB STREQUAL X10 OR PCB STREQUAL X12S OR PCB STREQUAL NV14 OR PCB STREQUAL PL ../../../../../targets/pl18/key_driver.cpp ) endif() + + if(PCBREV STREQUAL F16) + set(BOOTLOADER_SRC ${BOOTLOADER_SRC} + ../../../../../targets/horus/videoswitch_driver.cpp + ) + endif() # Add LVGL sources foreach(LVGL_FILE ${LVGL_SRC_FILES_MINIMAL}) diff --git a/radio/src/targets/horus/CMakeLists.txt b/radio/src/targets/horus/CMakeLists.txt index e89aba5891b..e421c9ff666 100644 --- a/radio/src/targets/horus/CMakeLists.txt +++ b/radio/src/targets/horus/CMakeLists.txt @@ -113,6 +113,18 @@ if (PCB STREQUAL X10) set(INTERNAL_GPS_BAUDRATE "9600" CACHE STRING "Baud rate for internal GPS") set(FLYSKY_GIMBAL ON) set(FLEXSW "2" CACHE STRING "Max flex inputs usable as switches") + elseif (PCBREV STREQUAL F16) + set(FLAVOUR f16) + add_definitions(-DRADIO_F16) + add_definitions(-DRADIO_FAMILY_T16) + set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module") + option(BLUETOOTH "Support for bluetooth module" OFF) + option(INTERNAL_GPS "Support for internal NMEA GPS" OFF) + set(DEFAULT_THEME "DARKBLUE") + add_definitions(-DMANUFACTURER_FATFISH) + set(INTERNAL_GPS_BAUDRATE "9600" CACHE STRING "Baud rate for internal GPS") + set(FLEXSW "2" CACHE STRING "Max flex inputs usable as switches") + set(VIDEO_SWITCH ON) elseif (PCBREV STREQUAL T18) set(FLAVOUR t18) add_definitions(-DRADIO_T18) @@ -275,6 +287,14 @@ set(FIRMWARE_SRC drivers/frftl.cpp ) +if (VIDEO_SWITCH) + add_definitions(-DVIDEO_SWITCH) + set(FIRMWARE_SRC + ${FIRMWARE_SRC} + targets/horus/videoswitch_driver.cpp + ) +endif() + if(BOOTLOADER) set(FIRMWARE_SRC ${FIRMWARE_SRC} diff --git a/radio/src/targets/horus/board.cpp b/radio/src/targets/horus/board.cpp index 3d4bf130ccb..fc1874d53cb 100644 --- a/radio/src/targets/horus/board.cpp +++ b/radio/src/targets/horus/board.cpp @@ -46,6 +46,15 @@ HardwareOptions hardwareOptions; bool boardBacklightOn = false; +#if defined(VIDEO_SWITCH) +#include "videoswitch_driver.h" + +void boardBootloaderInit() +{ + videoSwitchInit(); +} +#endif + #if !defined(BOOT) #include "opentx.h" @@ -185,6 +194,9 @@ void boardInit() bluetoothInit(BLUETOOTH_DEFAULT_BAUDRATE, true); #endif +#if defined(VIDEO_SWITCH) + videoSwitchInit(); +#endif #if defined(DEBUG) DBGMCU_APB1PeriphConfig(DBGMCU_IWDG_STOP|DBGMCU_TIM1_STOP|DBGMCU_TIM2_STOP|DBGMCU_TIM3_STOP|DBGMCU_TIM4_STOP|DBGMCU_TIM5_STOP|DBGMCU_TIM6_STOP|DBGMCU_TIM7_STOP|DBGMCU_TIM8_STOP|DBGMCU_TIM9_STOP|DBGMCU_TIM10_STOP|DBGMCU_TIM11_STOP|DBGMCU_TIM12_STOP|DBGMCU_TIM13_STOP|DBGMCU_TIM14_STOP, ENABLE); @@ -204,6 +216,10 @@ void boardInit() ledBlue(); #if !defined(LCD_VERTICAL_INVERT) lcdSetInitalFrameBuffer(lcdFront->getData()); +#elif defined(RADIO_F16) + if(hardwareOptions.pcbrev > 0) { + lcdSetInitalFrameBuffer(lcdFront->getData()); + } #endif } #endif diff --git a/radio/src/targets/horus/board.h b/radio/src/targets/horus/board.h index 103879b124f..c3eac0b82d3 100644 --- a/radio/src/targets/horus/board.h +++ b/radio/src/targets/horus/board.h @@ -59,6 +59,12 @@ extern uint16_t sessionTimer; #define SLAVE_MODE() (g_model.trainerData.mode == TRAINER_MODE_SLAVE) +#if defined(RADIO_F16) +// initilizes the board for the bootloader +#define HAVE_BOARD_BOOTLOADER_INIT 1 +void boardBootloaderInit(); +#endif + // Board driver void boardInit(); void boardOff(); @@ -83,7 +89,7 @@ enum { #elif defined(PCBX10) #if defined(PCBREV_EXPRESS) #define IS_FIRMWARE_COMPATIBLE_WITH_BOARD() (hardwareOptions.pcbrev == PCBREV_X10_EXPRESS) - #elif defined(RADIO_FAMILY_T16) + #elif defined(RADIO_FAMILY_T16) || defined(RADIO_F16) #define IS_FIRMWARE_COMPATIBLE_WITH_BOARD() (true) #else #define IS_FIRMWARE_COMPATIBLE_WITH_BOARD() (hardwareOptions.pcbrev == PCBREV_X10_STD) @@ -152,7 +158,7 @@ void SDRAM_Init(); #endif // POTS and SLIDERS default configuration -#if defined(RADIO_TX16S) +#if defined(RADIO_TX16S) || defined(RADIO_F16) #define XPOS_CALIB_DEFAULT {0x3, 0xc, 0x15, 0x1e, 0x26} #endif @@ -295,7 +301,7 @@ void telemetryPortInvertedInit(uint32_t baudrate); // Aux serial port driver -#if defined(RADIO_TX16S) +#if defined(RADIO_TX16S) || defined(RADIO_F16) #define DEBUG_BAUDRATE 400000 #define LUA_DEFAULT_BAUDRATE 115200 #else @@ -322,7 +328,7 @@ void bluetoothWriteWakeup(); uint8_t bluetoothIsWriting(); void bluetoothDisable(); -#if defined (RADIO_TX16S) +#if defined(RADIO_TX16S) || defined(RADIO_F16) #define BATTERY_DIVIDER 1495 #else #define BATTERY_DIVIDER 1629 diff --git a/radio/src/targets/horus/hal.h b/radio/src/targets/horus/hal.h index 090bc92800e..7572cf84f11 100644 --- a/radio/src/targets/horus/hal.h +++ b/radio/src/targets/horus/hal.h @@ -46,7 +46,7 @@ #define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_6 // PI.06 #define KEYS_GPIO_REG_TELE GPIOC #define KEYS_GPIO_PIN_TELE LL_GPIO_PIN_4 // PC.04 -#elif defined(RADIO_TX16S) +#elif defined(RADIO_TX16S) || defined(RADIO_F16) #define KEYS_GPIO_REG_ENTER GPIOI #define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_8 // PI.08 #define KEYS_GPIO_REG_PAGEUP GPIOC @@ -244,6 +244,7 @@ #if defined(PCBX10) // Gimbal switch left + #if !defined(RADIO_F16) #define STORAGE_SWITCH_I #define HARDWARE_SWITCH_I #define SWITCHES_GPIO_REG_I GPIOH @@ -253,6 +254,7 @@ #define HARDWARE_SWITCH_J #define SWITCHES_GPIO_REG_J GPIOH #define SWITCHES_GPIO_PIN_J LL_GPIO_PIN_15 // PH.15 + #endif #elif defined(PCBX12S) // Gimbal switch left #define STORAGE_SWITCH_I @@ -311,7 +313,7 @@ #define TRIMS_GPIO_REG_LSU GPIOB #define TRIMS_GPIO_PIN_LSU LL_GPIO_PIN_13 // PB.13 #elif defined(PCBX10) - #if defined(RADIO_TX16S) + #if defined(RADIO_TX16S) || defined(RADIO_F16) #define TRIMS_GPIO_REG_LHL GPIOA #define TRIMS_GPIO_PIN_LHL LL_GPIO_PIN_6 // PA.06 #define TRIMS_GPIO_REG_LHR GPIOC @@ -467,7 +469,7 @@ #define ADC_GPIOF_PINS (ADC_GPIO_PIN_SLIDER1 | ADC_GPIO_PIN_BATT | ADC_GPIO_PIN_EXT1 | ADC_GPIO_PIN_EXT2) #endif - #if !defined(RADIO_TX16S) && !defined(RADIO_T15) + #if !defined(RADIO_TX16S) && !defined(RADIO_T15) && !defined(RADIO_F16) #define PWM_STICKS #define PWM_TIMER TIM5 #define PWM_GPIO GPIOA @@ -482,7 +484,7 @@ #endif // VBat divider is /4 on F42x and F43x devices - #if defined(RADIO_TX16S) || defined(RADIO_T15) + #if defined(RADIO_TX16S) || defined(RADIO_T15) || defined(RADIO_F16) #define ADC_VREF_PREC2 660 #elif defined(RADIO_T16) || defined(RADIO_T18) #define ADC_VREF_PREC2 600 @@ -497,7 +499,7 @@ #define ADC_DIRECTION {1,-1,1,-1, 1,1,1, -1,1,1,1, -1,1 } #elif defined(RADIO_T18) #define ADC_DIRECTION {1,-1,1,-1, -1,1,-1, -1,1,1,1, -1,1 } -#elif defined(RADIO_TX16S) +#elif defined(RADIO_TX16S) || defined(RADIO_F16) #define ADC_DIRECTION {1,-1,1,-1, 1,1,1, -1,1,1,1, -1,1 } #elif defined(PCBX10) #define ADC_DIRECTION {1,-1,1,-1, -1,1,-1, 1,-1,1,1, 1,-1 } @@ -561,10 +563,14 @@ #define PCBREV_RCC_AHB1Periph RCC_AHB1Periph_GPIOH | RCC_AHB1Periph_GPIOA #define PCBREV_GPIO GPIOH #define PCBREV_GPIO_PIN (GPIO_Pin_7 | GPIO_Pin_8) // PH.07 | PH.08 - #define PCBREV_TOUCH_GPIO GPIOA - #define PCBREV_TOUCH_GPIO_PIN GPIO_Pin_6 // PA.06 - #define PCBREV_TOUCH_GPIO_PULL_UP - #define PCBREV_VALUE() ((GPIO_ReadInputDataBit(PCBREV_GPIO, GPIO_Pin_7) + (GPIO_ReadInputDataBit(PCBREV_GPIO, GPIO_Pin_8) << 1)) * GPIO_ReadInputDataBit(PCBREV_TOUCH_GPIO, GPIO_Pin_6)) + #if defined(RADIO_F16) + #define PCBREV_VALUE() ((GPIO_ReadInputDataBit(PCBREV_GPIO, GPIO_Pin_7) + (GPIO_ReadInputDataBit(PCBREV_GPIO, GPIO_Pin_8) << 1))) + #else + #define PCBREV_TOUCH_GPIO GPIOA + #define PCBREV_TOUCH_GPIO_PIN GPIO_Pin_6 // PA.06 + #define PCBREV_TOUCH_GPIO_PULL_UP + #define PCBREV_VALUE() ((GPIO_ReadInputDataBit(PCBREV_GPIO, GPIO_Pin_7) + (GPIO_ReadInputDataBit(PCBREV_GPIO, GPIO_Pin_8) << 1)) * GPIO_ReadInputDataBit(PCBREV_TOUCH_GPIO, GPIO_Pin_6)) + #endif #elif defined(MANUFACTURER_FRSKY) #define PCBREV_RCC_AHB1Periph RCC_AHB1Periph_GPIOI #define PCBREV_GPIO GPIOI @@ -637,7 +643,7 @@ #define AUX_SERIAL_DMA_Stream_RX DMA1_Stream1 #define AUX_SERIAL_DMA_Stream_RX_LL LL_DMA_STREAM_1 #define AUX_SERIAL_DMA_Channel_RX LL_DMA_CHANNEL_4 - #if defined(RADIO_TX16S) + #if defined(RADIO_TX16S) || defined(RADIO_F16) #define AUX_SERIAL_PWR_GPIO GPIOA #define AUX_SERIAL_PWR_GPIO_PIN GPIO_Pin_15 // PA.15 #endif @@ -929,7 +935,7 @@ #endif #if defined(RADIO_FAMILY_T16) -#if defined(RADIO_TX16S) +#if defined(RADIO_TX16S) || defined(RADIO_F16) #define AUDIO_UNMUTE_DELAY 150 // ms #else #define AUDIO_UNMUTE_DELAY 120 // ms @@ -967,7 +973,7 @@ #endif // HARDWARE_TOUCH // First I2C Bus -#if defined(RADIO_TX16S) || defined(PCBX12S) || defined(RADIO_T15) +#if defined(RADIO_TX16S) || defined(PCBX12S) || defined(RADIO_T15) || defined(RADIO_F16) #define I2C_B1 I2C1 #define I2C_B1_GPIO GPIOB #define I2C_B1_SCL_GPIO_PIN LL_GPIO_PIN_8 // PB.08 @@ -988,7 +994,7 @@ #define I2C_B2_SCL_GPIO_PIN LL_GPIO_PIN_10 // PB.10 #define I2C_B2_SDA_GPIO_PIN LL_GPIO_PIN_11 // PB.11 #define I2C_B2_GPIO_AF LL_GPIO_AF_4 // I2C2 - #if defined(RADIO_TX16S) + #if defined(RADIO_TX16S) || defined(RADIO_F16) #define I2C_B2_PWR_GPIO GPIOA #define I2C_B2_PWR_GPIO_PIN LL_GPIO_PIN_15 // PA.15 #endif @@ -1265,6 +1271,12 @@ #define BT_EN_GPIO_PIN LL_GPIO_PIN_10 // PG.10 #endif +// Video switch +#if defined(RADIO_F16) +#define VIDEO_SWITCH_GPIO GPIOH +#define VIDEO_SWITCH_GPIO_PIN LL_GPIO_PIN_15 // PH.15 +#endif + #if defined(RADIO_T15) #define LCD_W 480 #define LCD_H 320 diff --git a/radio/src/targets/horus/lcd_driver.cpp b/radio/src/targets/horus/lcd_driver.cpp index 6ffa7b16142..e112babe2e3 100644 --- a/radio/src/targets/horus/lcd_driver.cpp +++ b/radio/src/targets/horus/lcd_driver.cpp @@ -52,6 +52,12 @@ static LTDC_HandleTypeDef hltdc; static void* initialFrameBuffer = nullptr; +typedef struct { + uint8_t pcbrev; +} HardwareOptions; + +extern HardwareOptions hardwareOptions; + #if defined(LCD_VERTICAL_INVERT) typedef uint16_t pixel_t; static pixel_t _LCD_BUF_1[DISPLAY_BUFFER_SIZE] __SDRAM; @@ -132,6 +138,13 @@ static void startLcdRefresh(lv_disp_drv_t *disp_drv, uint16_t *buffer, const rect_t ©_area) { #if defined(LCD_VERTICAL_INVERT) +#if defined(RADIO_F16) + if(hardwareOptions.pcbrev > 0) { + // Direct mode + _update_frame_buffer_addr(buffer); + } else +#endif + { _copy_rotate_180(_back_buffer, buffer, copy_area); if (lv_disp_flush_is_last(disp_drv)) { @@ -173,6 +186,7 @@ static void startLcdRefresh(lv_disp_drv_t *disp_drv, uint16_t *buffer, } } lv_disp_flush_ready(disp_drv); + } #else // Direct mode _update_frame_buffer_addr(buffer); @@ -282,7 +296,7 @@ void LCD_Init_LTDC() clkConfig.PLLSAI.PLLSAIN = 192; clkConfig.PLLSAI.PLLSAIR = 3; clkConfig.PLLSAIDivQ = 6; - #if defined(RADIO_TX16S) + #if defined(RADIO_TX16S) || defined(RADIO_F16) clkConfig.PLLSAIDivR = RCC_PLLSAIDIVR_8; #else clkConfig.PLLSAIDivR = RCC_PLLSAIDIVR_4; @@ -376,7 +390,13 @@ void LCD_LayerInit() /* Start Address configuration : the LCD Frame buffer is defined on SDRAM w/ Offset */ #if defined(LCD_VERTICAL_INVERT) - intptr_t layer_address = (intptr_t)_LCD_BUF_1; + intptr_t layer_address; +#if defined(RADIO_F16) + if (hardwareOptions.pcbrev > 0) + layer_address = (intptr_t)initialFrameBuffer; + else +#endif + layer_address = (intptr_t)_LCD_BUF_1; #else intptr_t layer_address = (intptr_t)initialFrameBuffer; #endif diff --git a/radio/src/targets/horus/usb_descriptor.h b/radio/src/targets/horus/usb_descriptor.h index 397adf9d3b9..2f344a4b5f7 100644 --- a/radio/src/targets/horus/usb_descriptor.h +++ b/radio/src/targets/horus/usb_descriptor.h @@ -42,6 +42,10 @@ #define USB_NAME "Radiomaster TX16S" #define USB_MANUFACTURER 'R', 'M', '_', 'T', 'X', ' ', ' ', ' ' /* 8 bytes */ #define USB_PRODUCT 'R', 'M', ' ', 'T', 'X', '1', '6', 'S' /* 8 Bytes */ +#elif defined(RADIO_F16) + #define USB_NAME "Fatfish F16" + #define USB_MANUFACTURER 'F', 'A', 'T', 'F', 'I', 'S', 'H', ' ' /* 8 bytes */ + #define USB_PRODUCT 'F', 'F', ' ', 'F', '1', '6', ' ', ' ' /* 8 Bytes */ #elif defined(PCBX10) #define USB_NAME "FrSky X10" #define USB_MANUFACTURER 'F', 'r', 'S', 'k', 'y', ' ', ' ', ' ' /* 8 bytes */ diff --git a/radio/src/targets/horus/videoswitch_driver.cpp b/radio/src/targets/horus/videoswitch_driver.cpp new file mode 100644 index 00000000000..1ee9682d795 --- /dev/null +++ b/radio/src/targets/horus/videoswitch_driver.cpp @@ -0,0 +1,50 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * th9x - http://code.google.com/p/th9x + * er9x - http://code.google.com/p/er9x + * gruvin9x - http://code.google.com/p/gruvin9x + * + * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "hal.h" +#include "stm32_gpio_driver.h" + +void videoSwitchInit() +{ + LL_GPIO_InitTypeDef gpioInit; + LL_GPIO_StructInit(&gpioInit); + + stm32_gpio_enable_clock(VIDEO_SWITCH_GPIO); + + gpioInit.Mode = LL_GPIO_MODE_OUTPUT; + gpioInit.Speed = LL_GPIO_SPEED_FREQ_LOW; + gpioInit.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + gpioInit.Pull = LL_GPIO_PULL_NO; + + gpioInit.Pin = VIDEO_SWITCH_GPIO_PIN; + LL_GPIO_Init(VIDEO_SWITCH_GPIO, &gpioInit); + LL_GPIO_SetOutputPin(VIDEO_SWITCH_GPIO, VIDEO_SWITCH_GPIO_PIN); +} + +void switchToVideo() +{ + LL_GPIO_ResetOutputPin(VIDEO_SWITCH_GPIO, VIDEO_SWITCH_GPIO_PIN); +} + +void switchToRadio() +{ + LL_GPIO_SetOutputPin(VIDEO_SWITCH_GPIO, VIDEO_SWITCH_GPIO_PIN); +} diff --git a/radio/src/targets/horus/videoswitch_driver.h b/radio/src/targets/horus/videoswitch_driver.h new file mode 100644 index 00000000000..5608e261780 --- /dev/null +++ b/radio/src/targets/horus/videoswitch_driver.h @@ -0,0 +1,25 @@ +/* + * Copyright (C) EdgeTX + * + * Based on code named + * opentx - https://github.com/opentx/opentx + * th9x - http://code.google.com/p/th9x + * er9x - http://code.google.com/p/er9x + * gruvin9x - http://code.google.com/p/gruvin9x + * + * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#pragma once +void videoSwitchInit(); +void switchToVideo(); +void switchToRadio(); diff --git a/radio/src/telemetry/frsky.h b/radio/src/telemetry/frsky.h index 7f41de378b0..54a90dab52b 100644 --- a/radio/src/telemetry/frsky.h +++ b/radio/src/telemetry/frsky.h @@ -36,7 +36,7 @@ enum FrSkyDataState { }; #define FRSKY_SPORT_BAUDRATE 57600 -#if defined(RADIO_TX16S) +#if defined(RADIO_TX16S) || defined(RADIO_F16) #define FRSKY_TELEM_MIRROR_BAUDRATE 115200 #else #define FRSKY_TELEM_MIRROR_BAUDRATE FRSKY_SPORT_BAUDRATE diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 247650b2cb2..6b263268bb5 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -204,6 +204,7 @@ const char STR_SF_RACING_MODE[] = TR_SF_RACING_MODE; const char STR_SF_SAFETY[] = TR_SF_SAFETY; const char STR_SF_SET_SCREEN[] = TR_SF_SET_SCREEN; const char STR_SF_SCREENSHOT[] = TR_SF_SCREENSHOT; +const char STR_SF_LCD_TO_VIDEO[] = TR_SF_LCD_TO_VIDEO; const char STR_SF_TEST[] = TR_SF_TEST; const char STR_TRIMS[] = TR_TRIMS; const char STR_MIRROR[] = TR_MIRROR; diff --git a/radio/src/translations.h b/radio/src/translations.h index 3af451c411b..144e7f88933 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -343,6 +343,7 @@ extern const char STR_SF_RGBLEDS[]; extern const char STR_SF_VOLUME[]; extern const char STR_SF_RACING_MODE[]; extern const char STR_SF_SCREENSHOT[]; +extern const char STR_SF_LCD_TO_VIDEO[]; extern const char STR_SF_TEST[]; extern const char STR_TRIMS[]; extern const char STR_MIRROR[]; diff --git a/radio/src/translations/cn.h b/radio/src/translations/cn.h index c67e25f1783..23deede81e8 100644 --- a/radio/src/translations/cn.h +++ b/radio/src/translations/cn.h @@ -110,6 +110,7 @@ #define TR_SF_DISABLE_TOUCH "禁用触摸" #define TR_SF_DISABLE_AUDIO_AMP "关闭音频功放" #define TR_SF_SET_SCREEN "选择主屏" +#define TR_SF_LCD_TO_VIDEO "屏幕显示图传" #define TR_FSW_RESET_TELEM "回传参数" diff --git a/radio/src/translations/cz.h b/radio/src/translations/cz.h index a4e038987a1..90b8db47aff 100644 --- a/radio/src/translations/cz.h +++ b/radio/src/translations/cz.h @@ -123,6 +123,7 @@ #define TR_SF_DISABLE_TOUCH "Deaktivace dotyku" #define TR_SF_DISABLE_AUDIO_AMP "Vypnutí zesilovače zvuku" #define TR_SF_SET_SCREEN "Vybrat hlavní obrazovku" +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm","Telemetrie") diff --git a/radio/src/translations/de.h b/radio/src/translations/de.h index b8ea932c6d2..56a0bcb3118 100644 --- a/radio/src/translations/de.h +++ b/radio/src/translations/de.h @@ -118,6 +118,7 @@ #define TR_SF_DISABLE_TOUCH "Kein Touch" #define TR_SF_DISABLE_AUDIO_AMP "Audio Verst. Aus" #define TR_SF_SET_SCREEN "Set Main Screen" +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm","Telemetrie") #define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index 82ef390d61d..2dba657423c 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -119,6 +119,7 @@ #define TR_SF_DISABLE_TOUCH "No Touch" #define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" #define TR_SF_SET_SCREEN "Set Main Screen" +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "Telemetry") #define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" diff --git a/radio/src/translations/es.h b/radio/src/translations/es.h index c1255c8ce8b..c7f6092198f 100644 --- a/radio/src/translations/es.h +++ b/radio/src/translations/es.h @@ -116,6 +116,7 @@ #define TR_SF_DISABLE_TOUCH "No Touch" #define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" #define TR_SF_SET_SCREEN "Set Main Screen" +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "Telemetría") #define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" diff --git a/radio/src/translations/fi.h b/radio/src/translations/fi.h index 14cd5abc7b6..cf061666404 100644 --- a/radio/src/translations/fi.h +++ b/radio/src/translations/fi.h @@ -121,6 +121,7 @@ #define TR_SF_DISABLE_TOUCH "No Touch" #define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" #define TR_SF_SET_SCREEN "Set Main Screen" +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm","Telemetry") #define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" diff --git a/radio/src/translations/fr.h b/radio/src/translations/fr.h index 343856c5c62..3e173961232 100644 --- a/radio/src/translations/fr.h +++ b/radio/src/translations/fr.h @@ -120,6 +120,7 @@ #define TR_SF_DISABLE_TOUCH "Non Tactile" #define TR_SF_DISABLE_AUDIO_AMP "Désact. Ampli Audio" #define TR_SF_SET_SCREEN "Définir Écran Princ." +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Télem.", "Télémétrie") #define TR_FSW_RESET_TIMERS "Chr1","Chr2","Chr3" diff --git a/radio/src/translations/he.h b/radio/src/translations/he.h index f1d0a6d8436..1406869f4ca 100644 --- a/radio/src/translations/he.h +++ b/radio/src/translations/he.h @@ -122,6 +122,7 @@ #define TR_SF_DISABLE_TOUCH "ללא מסך מגע" #define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" #define TR_SF_SET_SCREEN "הגדרת מסך ראשי" +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "טלמטריה") #define TR_FSW_RESET_TIMERS "שעון 1","שעון 2","שעון 3" diff --git a/radio/src/translations/it.h b/radio/src/translations/it.h index 91a20a6807b..f39d29b9ab6 100644 --- a/radio/src/translations/it.h +++ b/radio/src/translations/it.h @@ -119,6 +119,7 @@ #define TR_SF_DISABLE_TOUCH "No Touch" #define TR_SF_DISABLE_AUDIO_AMP "Amp Audio Off" #define TR_SF_SET_SCREEN "Setta Schermo Princ." +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "Telemetria") #define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" diff --git a/radio/src/translations/jp.h b/radio/src/translations/jp.h index ebd42395630..12abca8b367 100644 --- a/radio/src/translations/jp.h +++ b/radio/src/translations/jp.h @@ -119,6 +119,7 @@ #define TR_SF_DISABLE_TOUCH "非タッチ" #define TR_SF_DISABLE_AUDIO_AMP "オーディオアンプ OFF" #define TR_SF_SET_SCREEN "メイン画面設定" +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "テレメトリー") #define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" diff --git a/radio/src/translations/nl.h b/radio/src/translations/nl.h index b52ced24635..6dbbe1b6880 100644 --- a/radio/src/translations/nl.h +++ b/radio/src/translations/nl.h @@ -116,6 +116,7 @@ #define TR_SF_DISABLE_TOUCH "No Touch" #define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" #define TR_SF_SET_SCREEN "Set Main Screen" +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "Telemetrie") #define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" diff --git a/radio/src/translations/pl.h b/radio/src/translations/pl.h index 7fd3e09fa25..dd96caa2dd0 100644 --- a/radio/src/translations/pl.h +++ b/radio/src/translations/pl.h @@ -115,6 +115,7 @@ #define TR_SF_DISABLE_TOUCH "No Touch" #define TR_SF_DISABLE_AUDIO_AMP TR("Wycisz wzm.", "Wycisz wzmacniacz audio") #define TR_SF_SET_SCREEN "Set Main Screen" +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "Telemetra") #define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" diff --git a/radio/src/translations/pt.h b/radio/src/translations/pt.h index aa0f916faca..42e833bf163 100644 --- a/radio/src/translations/pt.h +++ b/radio/src/translations/pt.h @@ -122,6 +122,7 @@ #define TR_SF_DISABLE_TOUCH "No Touch" #define TR_SF_DISABLE_AUDIO_AMP "Amp Audio Desl" #define TR_SF_SET_SCREEN "Def Tela Princ" +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm", "Telemetria") #define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" diff --git a/radio/src/translations/ru.h b/radio/src/translations/ru.h index 45db995b983..825eabf3f3e 100644 --- a/radio/src/translations/ru.h +++ b/radio/src/translations/ru.h @@ -121,6 +121,7 @@ #define TR_SF_DISABLE_TOUCH "Сенсор вык" #define TR_SF_DISABLE_AUDIO_AMP "Вык аудио усил." #define TR_SF_SET_SCREEN "Выбр глав экран" +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Телем", "Телеметрия") #define TR_FSW_RESET_TIMERS "Тмр1","Трм2","Трм3" diff --git a/radio/src/translations/se.h b/radio/src/translations/se.h index 00635c05bb7..be18ee1fe3d 100644 --- a/radio/src/translations/se.h +++ b/radio/src/translations/se.h @@ -125,6 +125,7 @@ #define TR_SF_DISABLE_TOUCH "Ej pekskärm" #define TR_SF_DISABLE_AUDIO_AMP TR("Audioförst. av","Audioförstärkare av") #define TR_SF_SET_SCREEN "Sätt huvudskärm" +#define TR_SF_LCD_TO_VIDEO "LCD to Video" #define TR_FSW_RESET_TELEM TR("Telm","Telemetri") #define TR_FSW_RESET_TIMERS "Tmr1","Tmr2","Tmr3" diff --git a/radio/src/translations/tw.h b/radio/src/translations/tw.h index e6c5d3c25d3..e8ac10d3489 100644 --- a/radio/src/translations/tw.h +++ b/radio/src/translations/tw.h @@ -115,6 +115,7 @@ #define TR_SF_DISABLE_TOUCH "禁用觸摸" #define TR_SF_DISABLE_AUDIO_AMP "關閉音頻功放" #define TR_SF_SET_SCREEN "選擇主屏" +#define TR_SF_LCD_TO_VIDEO "屏幕顯示圖傳" #define TR_FSW_RESET_TELEM "回傳參數" diff --git a/radio/util/build-firmware.py b/radio/util/build-firmware.py index f6113764d56..51b86ffe2e3 100755 --- a/radio/util/build-firmware.py +++ b/radio/util/build-firmware.py @@ -189,6 +189,11 @@ def main(): cmake_options["PCBREV"] = "TX16S" firmware_options = options_radiomaster_tx16s maxsize = 2 * 1024 * 1024 + elif board_name == "f16": + cmake_options["PCB"] = "X10" + cmake_options["PCBREV"] = "F16" + firmware_options = options_fatfish_f16 + maxsize = 2 * 1024 * 1024 else: return INVALID_BOARD diff --git a/radio/util/fwoptions.py b/radio/util/fwoptions.py index 1eacbf20a4a..adb38bfbc4c 100755 --- a/radio/util/fwoptions.py +++ b/radio/util/fwoptions.py @@ -347,6 +347,19 @@ "externalaccessmod": ("HARDWARE_EXTERNAL_ACCESS_MOD", "YES", "NO"), } +options_fatfish_f16 = { + "noheli": ("HELI", "NO", "YES"), + "lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"), + "nogvars": ("GVARS", "NO", "YES"), + "faimode": ("FAI", "YES", None), + "faichoice": ("FAI", "CHOICE", None), + "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None), + "bluetooth": ("BLUETOOTH", "YES", "NO"), + "internalgps": ("INTERNAL_GPS", "YES", "NO"), + "externalaccessmod": ("HARDWARE_EXTERNAL_ACCESS_MOD", "YES", "NO"), +} + options_commando8_t8 = { "noheli": ("HELI", "NO", "YES"), "lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"), diff --git a/radio/util/hw_defs/legacy_names.py b/radio/util/hw_defs/legacy_names.py index 4504d78816a..1d52e7ff9cd 100644 --- a/radio/util/hw_defs/legacy_names.py +++ b/radio/util/hw_defs/legacy_names.py @@ -2,7 +2,7 @@ LEGACY_NAMES = [ { - "targets": {"x10", "x10express", "t16", "tx16s", "t18"}, + "targets": {"x10", "x10express", "t16", "tx16s", "t18", "f16"}, "inputs": { "LH": { "yaml": "Rud", diff --git a/radio/util/hw_defs/pot_config.py b/radio/util/hw_defs/pot_config.py index bd7abbf4702..901183e0b91 100644 --- a/radio/util/hw_defs/pot_config.py +++ b/radio/util/hw_defs/pot_config.py @@ -103,6 +103,13 @@ "SL1": {"default": "SLIDER"}, "SL2": {"default": "SLIDER"} }, + "f16": { + "P1": {"default": "POT_CENTER"}, + "P2": {"default": "MULTIPOS"}, + "P3": {"default": "POT_CENTER"}, + "SL1": {"default": "SLIDER"}, + "SL2": {"default": "SLIDER"} + }, "x7": { "P1": {"default": "POT"}, "P2": {"default": "POT_CENTER"} diff --git a/radio/util/hw_defs/switch_config.py b/radio/util/hw_defs/switch_config.py index 589495026a9..8a3ab965f63 100644 --- a/radio/util/hw_defs/switch_config.py +++ b/radio/util/hw_defs/switch_config.py @@ -221,6 +221,16 @@ "SG": {"default": "3POS"}, "SH": {"default": "TOGGLE"} }, + "f16": { + "SA": {"default": "3POS"}, + "SB": {"default": "3POS"}, + "SC": {"default": "3POS"}, + "SD": {"default": "3POS"}, + "SE": {"default": "3POS"}, + "SF": {"default": "2POS"}, + "SG": {"default": "3POS"}, + "SH": {"default": "TOGGLE"} + }, "tx12mk2": { # left side "SA": {"default": "TOGGLE", "display": [0, 0]}, diff --git a/tools/boards.py b/tools/boards.py index 34368651afb..e216cb9551c 100755 --- a/tools/boards.py +++ b/tools/boards.py @@ -58,6 +58,11 @@ "PCBREV": "TX16S", "INTERNAL_MODULE_MULTI": "YES" }, + "F16": { + "PCB": "X10", + "PCBREV": "F16", + "INTERNAL_MODULE_MULTI": "YES" + }, "T12": { "PCB": "X7", "PCBREV": "T12", diff --git a/tools/build-companion.sh b/tools/build-companion.sh index c8348151d95..f349894a606 100755 --- a/tools/build-companion.sh +++ b/tools/build-companion.sh @@ -72,7 +72,7 @@ declare -a simulator_plugins=(x9lite x9lites xlite xlites nv14 el18 pl18 pl18ev x10 x10-access x12s - t15 t16 t18 t20 t20v2 tx16s) + t15 t16 t18 t20 t20v2 tx16s f16) for plugin in "${simulator_plugins[@]}" do @@ -176,6 +176,9 @@ do tx16s) BUILD_OPTIONS+="-DPCB=X10 -DPCBREV=TX16S" ;; + f16) + BUILD_OPTIONS+="-DPCB=X10 -DPCBREV=F16" + ;; nv14) BUILD_OPTIONS+="-DPCB=NV14" ;; diff --git a/tools/build-gh.sh b/tools/build-gh.sh index fde00e6280a..05f6d7b724d 100755 --- a/tools/build-gh.sh +++ b/tools/build-gh.sh @@ -194,6 +194,9 @@ do tx16s) BUILD_OPTIONS+="-DPCB=X10 -DPCBREV=TX16S" ;; + f16) + BUILD_OPTIONS+="-DPCB=X10 -DPCBREV=F16" + ;; nv14) BUILD_OPTIONS+="-DPCB=NV14" ;;